aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-19 14:33:58 +0000
committer(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-19 14:33:58 +0000
commitd6284879819612dd5cb7cc3aaa825622514b957b (patch)
treeea0c47499a7187f73d7d489a24d19ad5fc42988d
parent27bc6aeec64466281eb2cb1437b80a8182027d8b (diff)
This commit was manufactured by cvs2svn to create taggcc-2_95_3-test4
'gcc-2_95_3-test4'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/tags/gcc-2_95_3-test4@39882 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog81
-rw-r--r--INSTALL/README2
-rw-r--r--MAINTAINERS2
-rw-r--r--Makefile.in41
-rw-r--r--boehm-gc/BCC_MAKEFILE82
-rw-r--r--boehm-gc/ChangeLog321
-rw-r--r--boehm-gc/EMX_MAKEFILE141
-rw-r--r--boehm-gc/MacOS.c137
-rw-r--r--boehm-gc/MacProjects.sit.hqx886
-rw-r--r--boehm-gc/Mac_files/MacOS_Test_config.h91
-rw-r--r--boehm-gc/Mac_files/MacOS_config.h89
-rw-r--r--boehm-gc/Mac_files/dataend.c9
-rw-r--r--boehm-gc/Mac_files/datastart.c9
-rw-r--r--boehm-gc/Makefile.DLLs107
-rw-r--r--boehm-gc/Makefile.am130
-rw-r--r--boehm-gc/Makefile.dj296
-rw-r--r--boehm-gc/Makefile.in514
-rw-r--r--boehm-gc/Makefile.orig400
-rw-r--r--boehm-gc/NT_MAKEFILE59
-rw-r--r--boehm-gc/OS2_MAKEFILE45
-rw-r--r--boehm-gc/PCR-Makefile68
-rw-r--r--boehm-gc/README1389
-rw-r--r--boehm-gc/README.Mac385
-rw-r--r--boehm-gc/README.OS26
-rw-r--r--boehm-gc/README.QUICK41
-rw-r--r--boehm-gc/README.alpha15
-rw-r--r--boehm-gc/README.amiga133
-rw-r--r--boehm-gc/README.debugging58
-rw-r--r--boehm-gc/README.dj12
-rw-r--r--boehm-gc/README.hp9
-rw-r--r--boehm-gc/README.linux39
-rw-r--r--boehm-gc/README.rs60006
-rw-r--r--boehm-gc/README.sgi37
-rw-r--r--boehm-gc/README.solaris265
-rw-r--r--boehm-gc/README.uts2
-rw-r--r--boehm-gc/README.win32163
-rw-r--r--boehm-gc/SCoptions.amiga16
-rw-r--r--boehm-gc/SMakefile.amiga48
-rw-r--r--boehm-gc/WCC_MAKEFILE123
-rw-r--r--boehm-gc/acinclude.m4153
-rw-r--r--boehm-gc/aclocal.m4542
-rw-r--r--boehm-gc/add_gc_prefix.c14
-rw-r--r--boehm-gc/allchblk.c408
-rw-r--r--boehm-gc/alloc.c853
-rw-r--r--boehm-gc/alpha_mach_dep.s59
-rw-r--r--boehm-gc/barrett_diagram106
-rw-r--r--boehm-gc/blacklst.c286
-rwxr-xr-xboehm-gc/callprocs4
-rw-r--r--boehm-gc/checksums.c201
-rw-r--r--boehm-gc/config.h985
-rwxr-xr-xboehm-gc/configure2848
-rw-r--r--boehm-gc/configure.host43
-rw-r--r--boehm-gc/configure.in230
-rw-r--r--boehm-gc/cord/README31
-rw-r--r--boehm-gc/cord/SCOPTIONS.amiga14
-rw-r--r--boehm-gc/cord/SMakefile.amiga20
-rw-r--r--boehm-gc/cord/cord.h327
-rw-r--r--boehm-gc/cord/cordbscs.c916
-rw-r--r--boehm-gc/cord/cordprnt.c389
-rw-r--r--boehm-gc/cord/cordtest.c228
-rw-r--r--boehm-gc/cord/cordxtra.c621
-rw-r--r--boehm-gc/cord/de.c604
-rw-r--r--boehm-gc/cord/de_cmds.h33
-rw-r--r--boehm-gc/cord/de_win.ICObin766 -> 0 bytes
-rw-r--r--boehm-gc/cord/de_win.RC78
-rw-r--r--boehm-gc/cord/de_win.c365
-rw-r--r--boehm-gc/cord/de_win.h103
-rw-r--r--boehm-gc/cord/ec.h70
-rw-r--r--boehm-gc/cord/gc.h698
-rw-r--r--boehm-gc/cord/private/cord_pos.h118
-rw-r--r--boehm-gc/dbg_mlc.c693
-rw-r--r--boehm-gc/dyn_load.c797
-rw-r--r--boehm-gc/finalize.c734
-rw-r--r--boehm-gc/gc.h711
-rw-r--r--boehm-gc/gc.mak2087
-rw-r--r--boehm-gc/gc.man80
-rw-r--r--boehm-gc/gc_alloc.h380
-rw-r--r--boehm-gc/gc_cpp.cc46
-rw-r--r--boehm-gc/gc_cpp.h287
-rw-r--r--boehm-gc/gc_hdrs.h133
-rw-r--r--boehm-gc/gc_mark.h267
-rw-r--r--boehm-gc/gc_priv.h1569
-rw-r--r--boehm-gc/gc_private.h1
-rw-r--r--boehm-gc/gc_typed.h91
-rw-r--r--boehm-gc/gc_watcom.asm51
-rw-r--r--boehm-gc/gcc_support.c516
-rw-r--r--boehm-gc/headers.c296
-rw-r--r--boehm-gc/if_mach.c25
-rw-r--r--boehm-gc/if_not_there.c26
-rw-r--r--boehm-gc/include/cord.h327
-rw-r--r--boehm-gc/include/ec.h70
-rw-r--r--boehm-gc/include/gc.h698
-rw-r--r--boehm-gc/include/gc_alloc.h380
-rw-r--r--boehm-gc/include/gc_cpp.h287
-rw-r--r--boehm-gc/include/gc_inl.h103
-rw-r--r--boehm-gc/include/gc_inline.h1
-rw-r--r--boehm-gc/include/gc_typed.h91
-rw-r--r--boehm-gc/include/private/config.h965
-rw-r--r--boehm-gc/include/private/cord_pos.h118
-rw-r--r--boehm-gc/include/private/gc_hdrs.h133
-rw-r--r--boehm-gc/include/private/gc_priv.h1561
-rw-r--r--boehm-gc/include/weakpointer.h221
-rw-r--r--boehm-gc/irix_threads.c640
-rw-r--r--boehm-gc/linux_threads.c647
-rw-r--r--boehm-gc/mach_dep.c411
-rw-r--r--boehm-gc/makefile.depend0
-rw-r--r--boehm-gc/malloc.c426
-rw-r--r--boehm-gc/mallocx.c367
-rw-r--r--boehm-gc/mark.c1095
-rw-r--r--boehm-gc/mark_rts.c461
-rw-r--r--boehm-gc/mips_sgi_mach_dep.s40
-rw-r--r--boehm-gc/mips_ultrix_mach_dep.s26
-rw-r--r--boehm-gc/misc.c831
-rw-r--r--boehm-gc/new_hblk.c244
-rw-r--r--boehm-gc/obj_map.c142
-rw-r--r--boehm-gc/os_dep.c2231
-rw-r--r--boehm-gc/pc_excludes15
-rw-r--r--boehm-gc/pcr_interface.c173
-rw-r--r--boehm-gc/ptr_chck.c326
-rw-r--r--boehm-gc/quick_threads.c55
-rw-r--r--boehm-gc/real_malloc.c36
-rw-r--r--boehm-gc/reclaim.c723
-rw-r--r--boehm-gc/rs6000_mach_dep.s105
-rw-r--r--boehm-gc/setjmp_t.c115
-rw-r--r--boehm-gc/solaris_pthreads.c171
-rw-r--r--boehm-gc/solaris_threads.c925
-rw-r--r--boehm-gc/solaris_threads.h34
-rw-r--r--boehm-gc/sparc_mach_dep.s38
-rw-r--r--boehm-gc/sparc_sunos4_mach_dep.s38
-rw-r--r--boehm-gc/stubborn.c317
-rw-r--r--boehm-gc/test.c1152
-rw-r--r--boehm-gc/test_cpp.cc265
-rw-r--r--boehm-gc/threadlibs.c14
-rw-r--r--boehm-gc/typd_mlc.c814
-rw-r--r--boehm-gc/version.h11
-rw-r--r--boehm-gc/weakpointer.h221
-rw-r--r--boehm-gc/win32_threads.c168
-rwxr-xr-xconfig.guess5
-rwxr-xr-xconfig.sub2
-rw-r--r--config/ChangeLog16
-rw-r--r--config/mpw/ChangeLog53
-rw-r--r--configure.in6
-rw-r--r--contrib/ChangeLog32
-rwxr-xr-xcontrib/egcs_update214
-rwxr-xr-xcontrib/test_summary18
-rw-r--r--etc/ChangeLog24
-rw-r--r--etc/make-stds.texi41
-rw-r--r--etc/standards.texi1003
-rw-r--r--gcc/ABOUT-GCC-NLS24
-rw-r--r--gcc/BUGS6
-rw-r--r--gcc/ChangeLog1986
-rw-r--r--gcc/Makefile.in50
-rw-r--r--gcc/PROJECTS435
-rw-r--r--gcc/README8
-rw-r--r--gcc/README.g77263
-rw-r--r--gcc/acconfig.h3
-rw-r--r--gcc/alias.c64
-rw-r--r--gcc/c-common.c52
-rw-r--r--gcc/c-decl.c4
-rw-r--r--gcc/c-lang.c8
-rw-r--r--gcc/c-pragma.c24
-rw-r--r--gcc/c-typeck.c13
-rw-r--r--gcc/calls.c13
-rw-r--r--gcc/cccp.c33
-rw-r--r--gcc/ch/ChangeLog28
-rw-r--r--gcc/ch/Make-lang.in8
-rw-r--r--gcc/ch/lang-specs.h4
-rw-r--r--gcc/ch/parse.h6
-rw-r--r--gcc/collect2.c29
-rw-r--r--gcc/combine.c142
-rw-r--r--gcc/config.in3
-rw-r--r--gcc/config/alpha/alpha.c93
-rw-r--r--gcc/config/alpha/alpha.h60
-rw-r--r--gcc/config/alpha/alpha.md214
-rw-r--r--gcc/config/alpha/elf.h8
-rw-r--r--gcc/config/alpha/osf.h12
-rw-r--r--gcc/config/alpha/t-ieee6
-rw-r--r--gcc/config/alpha/vms.h4
-rw-r--r--gcc/config/arm/aout.h5
-rw-r--r--gcc/config/arm/arm.c72
-rw-r--r--gcc/config/arm/arm.h52
-rw-r--r--gcc/config/arm/arm.md54
-rw-r--r--gcc/config/arm/elf.h13
-rw-r--r--gcc/config/arm/linux-elf.h34
-rw-r--r--gcc/config/arm/linux-elf26.h18
-rw-r--r--gcc/config/arm/linux-oldld.h (renamed from gcc/config/i386/xm-uwin.h)32
-rw-r--r--gcc/config/c4x/c4x.c52
-rw-r--r--gcc/config/c4x/c4x.h33
-rw-r--r--gcc/config/c4x/c4x.md3
-rw-r--r--gcc/config/dbxcoff.h4
-rw-r--r--gcc/config/dbxelf.h18
-rw-r--r--gcc/config/elfos.h5
-rw-r--r--gcc/config/h8300/h8300.c10
-rw-r--r--gcc/config/h8300/h8300.md53
-rw-r--r--gcc/config/i386/cygwin.h27
-rw-r--r--gcc/config/i386/djgpp.h10
-rw-r--r--gcc/config/i386/freebsd-elf.h115
-rw-r--r--gcc/config/i386/freebsd.h27
-rw-r--r--gcc/config/i386/gnu.h27
-rw-r--r--gcc/config/i386/i386.c175
-rw-r--r--gcc/config/i386/i386.md24
-rw-r--r--gcc/config/i386/sol2.h27
-rw-r--r--gcc/config/i386/sol2dbg.h27
-rw-r--r--gcc/config/i386/sol2gas.h9
-rw-r--r--gcc/config/i386/t-dgux6
-rw-r--r--gcc/config/i386/udk.h2
-rw-r--r--gcc/config/i386/uwin.h2
-rw-r--r--gcc/config/i386/winnt.c32
-rw-r--r--gcc/config/i386/xm-djgpp.h2
-rw-r--r--gcc/config/m68k/m68k.c36
-rw-r--r--gcc/config/m68k/m68k.h51
-rw-r--r--gcc/config/m68k/m68k.md4
-rw-r--r--gcc/config/m68k/x-hp3bsd441
-rw-r--r--gcc/config/m68k/x-mot33008
-rw-r--r--gcc/config/m88k/dguxbcs.h2
-rw-r--r--gcc/config/mips/mips.h6
-rw-r--r--gcc/config/mips/mips.md24
-rw-r--r--gcc/config/mips/vxworks.h2
-rw-r--r--gcc/config/openbsd.h5
-rw-r--r--gcc/config/pa/pa.c16
-rw-r--r--gcc/config/pa/pa.h4
-rw-r--r--gcc/config/pa/pa.md98
-rw-r--r--gcc/config/rs6000/eabi-ctors.c12
-rw-r--r--gcc/config/rs6000/linux.h2
-rw-r--r--gcc/config/rs6000/rs6000.c914
-rw-r--r--gcc/config/rs6000/rs6000.h55
-rw-r--r--gcc/config/rs6000/rs6000.md1158
-rw-r--r--gcc/config/rs6000/sysv4.h32
-rw-r--r--gcc/config/sh/lib1funcs.asm6
-rw-r--r--gcc/config/sh/sh.c34
-rw-r--r--gcc/config/sh/sh.h1
-rw-r--r--gcc/config/sh/sh.md25
-rw-r--r--gcc/config/sparc/pbd.h30
-rw-r--r--gcc/config/sparc/sparc.c316
-rw-r--r--gcc/config/sparc/sparc.h251
-rw-r--r--gcc/config/sparc/sparc.md40
-rw-r--r--gcc/config/sparc/sun4o3.h8
-rw-r--r--gcc/config/sparc/sysv4.h27
-rw-r--r--gcc/config/svr4.h3
-rw-r--r--gcc/config/t-freebsd (renamed from gcc/config/i386/t-freebsd)1
-rw-r--r--gcc/config/v850/v850.c8
-rwxr-xr-xgcc/configure512
-rw-r--r--gcc/configure.in164
-rw-r--r--gcc/cp/ChangeLog414
-rw-r--r--gcc/cp/Makefile.in31
-rw-r--r--gcc/cp/NEWS32
-rw-r--r--gcc/cp/call.c98
-rw-r--r--gcc/cp/class.c417
-rw-r--r--gcc/cp/cp-tree.h86
-rw-r--r--gcc/cp/decl.c722
-rw-r--r--gcc/cp/decl2.c242
-rw-r--r--gcc/cp/error.c5
-rw-r--r--gcc/cp/exception.cc4
-rw-r--r--gcc/cp/expr.c96
-rw-r--r--gcc/cp/g++FAQ.texi2423
-rw-r--r--gcc/cp/gxxint.texi235
-rw-r--r--gcc/cp/init.c356
-rw-r--r--gcc/cp/lang-specs.h6
-rw-r--r--gcc/cp/lex.c16
-rw-r--r--gcc/cp/method.c276
-rw-r--r--gcc/cp/parse.c227
-rw-r--r--gcc/cp/parse.y1
-rw-r--r--gcc/cp/pt.c91
-rw-r--r--gcc/cp/rtti.c25
-rw-r--r--gcc/cp/search.c150
-rw-r--r--gcc/cp/semantics.c15
-rw-r--r--gcc/cp/tree.c22
-rw-r--r--gcc/cp/typeck.c135
-rw-r--r--gcc/cp/typeck2.c9
-rw-r--r--gcc/cppinit.c6
-rw-r--r--gcc/cse.c76
-rw-r--r--gcc/dwarf2.h6
-rw-r--r--gcc/dwarf2out.c84
-rw-r--r--gcc/dwarfout.c82
-rw-r--r--gcc/emit-rtl.c209
-rw-r--r--gcc/except.c5
-rw-r--r--gcc/expmed.c11
-rw-r--r--gcc/expr.c281
-rw-r--r--gcc/expr.h8
-rw-r--r--gcc/f/BUGS10
-rw-r--r--gcc/f/ChangeLog138
-rw-r--r--gcc/f/INSTALL29
-rw-r--r--gcc/f/Make-lang.in52
-rw-r--r--gcc/f/NEWS188
-rw-r--r--gcc/f/bugs.texi4
-rw-r--r--gcc/f/com.c16
-rw-r--r--gcc/f/ffe.texi1141
-rw-r--r--gcc/f/g77.texi210
-rw-r--r--gcc/f/g77install.texi58
-rw-r--r--gcc/f/g77spec.c6
-rw-r--r--gcc/f/lang-options.h8
-rw-r--r--gcc/f/lang-specs.h6
-rw-r--r--gcc/f/news.texi196
-rw-r--r--gcc/f/root.texi36
-rw-r--r--gcc/f/stw.h2
-rw-r--r--gcc/f/top.c8
-rw-r--r--gcc/f/version.c2
-rw-r--r--gcc/final.c4
-rw-r--r--gcc/fix-header.c4
-rw-r--r--gcc/fixinc/Makefile.in2
-rw-r--r--gcc/fixinc/README2
-rwxr-xr-xgcc/fixinc/fixinc.svr433
-rw-r--r--gcc/fixinc/fixinc.winnt2
-rw-r--r--gcc/fixinc/fixincl.c171
-rwxr-xr-xgcc/fixinc/fixincl.sh23
-rw-r--r--gcc/fixinc/fixincl.tpl24
-rw-r--r--gcc/fixinc/fixincl.x1268
-rw-r--r--gcc/fixinc/gnu-regex.c10
-rw-r--r--gcc/fixinc/inclhack.def93
-rwxr-xr-xgcc/fixinc/inclhack.sh263
-rw-r--r--gcc/fixinc/inclhack.tpl21
-rw-r--r--gcc/fixinc/procopen.c17
-rw-r--r--gcc/fixinc/server.c16
-rwxr-xr-xgcc/fixincludes4
-rw-r--r--gcc/flow.c112
-rw-r--r--gcc/fold-const.c68
-rw-r--r--gcc/frame.c10
-rw-r--r--gcc/function.c117
-rw-r--r--gcc/function.h30
-rw-r--r--gcc/gcc.12
-rw-r--r--gcc/gcc.c40
-rw-r--r--gcc/gcc.texi535
-rw-r--r--gcc/gcse.c32
-rw-r--r--gcc/ginclude/va-ppc.h160
-rw-r--r--gcc/ginclude/varargs.h4
-rw-r--r--gcc/glimits.h2
-rw-r--r--gcc/haifa-sched.c22
-rw-r--r--gcc/intl/ChangeLog16
-rw-r--r--gcc/invoke.texi494
-rw-r--r--gcc/java/ChangeLog230
-rw-r--r--gcc/java/Make-lang.in14
-rw-r--r--gcc/java/class.c4
-rw-r--r--gcc/java/decl.c2
-rw-r--r--gcc/java/except.c165
-rw-r--r--gcc/java/expr.c43
-rw-r--r--gcc/java/java-except.h9
-rw-r--r--gcc/java/jvgenmain.c1
-rw-r--r--gcc/java/jvspec.c20
-rw-r--r--gcc/java/lex.c4
-rw-r--r--gcc/java/parse-scan.c6
-rw-r--r--gcc/java/parse.c1464
-rw-r--r--gcc/java/parse.y223
-rw-r--r--gcc/java/verify.c187
-rw-r--r--gcc/java/xref.c2
-rw-r--r--gcc/jump.c175
-rw-r--r--gcc/libgcc2.c21
-rw-r--r--gcc/local-alloc.c3
-rw-r--r--gcc/loop.c264
-rw-r--r--gcc/objc/lang-specs.h6
-rw-r--r--gcc/optabs.c52
-rw-r--r--gcc/output.h8
-rw-r--r--gcc/po/ChangeLog20
-rw-r--r--gcc/po/POTFILES.in3
-rw-r--r--gcc/real.c60
-rw-r--r--gcc/reg-stack.c65
-rw-r--r--gcc/regclass.c31
-rw-r--r--gcc/regmove.c34
-rw-r--r--gcc/reload.c180
-rw-r--r--gcc/reload.h7
-rw-r--r--gcc/reload1.c233
-rw-r--r--gcc/rtl.h6
-rw-r--r--gcc/rtlanal.c82
-rw-r--r--gcc/sched.c15
-rw-r--r--gcc/stmt.c75
-rw-r--r--gcc/system.h20
-rw-r--r--gcc/testsuite/ChangeLog3168
-rw-r--r--gcc/testsuite/README50
-rw-r--r--gcc/testsuite/README.g++33
-rw-r--r--gcc/testsuite/README.gcc87
-rw-r--r--gcc/testsuite/config/default.exp20
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-1.C18
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-2.C20
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-2a.C12
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-3.C20
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-3a.C11
-rw-r--r--gcc/testsuite/g++.dg/special/conpr-3b.C11
-rw-r--r--gcc/testsuite/g++.dg/special/ecos.exp75
-rw-r--r--gcc/testsuite/g++.old-deja/Makefile.in12
-rw-r--r--gcc/testsuite/g++.old-deja/configure.in15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/.cvsignore2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/13478.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/13523.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/13908.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/14139.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/14664-1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/14664-2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/14687.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15054.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15071.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15309-1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15309-2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15351-1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15351-2.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15756-1.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15756-2.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15799.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15800-2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15822.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/16077.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/16567.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/17922.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/17930.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/18208.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C74
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C63
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/friend01.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/friend02.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/p13721.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C71
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/scope02.C208
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem01.C136
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem02.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C209
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem04.C182
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem05.C58
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/tem07.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/typedef01.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/typedef03.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/typeid01.C71
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C98
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/warn03.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/warn04.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/array1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/array2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/case1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/cond1.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/delete1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/extern_C.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/friend1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/incomplete-cast1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/inherit1.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/inherit2.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/nested1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/packed1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/protected1.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/static1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/template1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/template2.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/template3.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bob/template4.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/README40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/abstract1.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/access1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/alignof.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/anon-union1.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/arm1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/arm2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/arm3.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/array-refs.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/array1.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/asm-extn1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/bit-fields1.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/bit-fields2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/bool1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/code-gen1.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/code-gen2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/code-gen3.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/code-gen4.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/code-gen5.C57
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/code-gen6.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/complex1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy2.C79
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy3.C58
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy4.C58
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy5.C85
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy6.C55
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy7.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy8.C67
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy9.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash1.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash10.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash11.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash12.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash13.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash14.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash15.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash16.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash17.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash18.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash19.C1704
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash20.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash22.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash23.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash24.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash25.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash26.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash27.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash28.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash29.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash30.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash31.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash32.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash33.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash34.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash35.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash36.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash37.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash38.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash39.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash4.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash40.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash41.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash42.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash43.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash44.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash45.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash46.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash47.C94
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash48.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash49.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash5.C107
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash50.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash51.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash52.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash53.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash54.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash55.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash56.C385
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash57.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash58.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash59.C1374
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash6.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash60.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash61.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash62.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash63.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash64.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash65.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash66.C137
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash67.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash68.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash7.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash8.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash9.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ctors3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/cvt2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/cvt5.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/def-fns1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/delete1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/delete2.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/dtors1.C56
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/dtors2.C74
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/dtors3.C66
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/eh1.C62
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum-clash.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum10.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum11.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum12.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum13.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum14.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum3.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum5.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum6.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum7.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum8.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum9.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg10.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg11.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg12.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg5.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg6.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg7.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg8.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg9.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/explicit1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/friend1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/friend2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/friend3.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/friend4.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/groff1.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init10.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init11.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init12.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init13.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init2.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init3.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init4.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init5.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init7.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init8.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init9.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/label1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/label2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/line1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc10.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc11.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc12.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc13.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc14.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc15.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc16.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc17.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc5.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc7.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc8.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc9.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/mutable1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest10.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest11.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest12.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest13.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest15.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest16.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest17.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest18.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest19.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest20.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest21.C95
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest22.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest23.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest24.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest4.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/new-array.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/new1.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/new2.C67
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/new3.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ns1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators3.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators4.C121
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators5.C52
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators6.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators7.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/operators8.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload10.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload11.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload2.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload3.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload4.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload5.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload6.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload7.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload8.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/overload9.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/parse1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/parse2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/parse3.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/parse4.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/parse5.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/parse6.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/prepost1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/prepost2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/prepost3.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/prepost4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ptolemy1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C69
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ptrmem1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ptrmem2.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ptrmem4.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/recurse.C80
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C51
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/reference1.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/rtti1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/scope1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/scope2.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/scope3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/scope4.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/scope5.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/sizeof1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/sizeof2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/sizeof3.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/sizeof4.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/sizeof5.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/sorry1.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/static1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/static2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/static3.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/synth1.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template11.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template12.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template13.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template15.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template16.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template17.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template18.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template19.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template20.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template21.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template22.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template23.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template24.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template25.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template26.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template27.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template28.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template29.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template3.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template30.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template31.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template4.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template5.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template6.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template7.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template8.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/template9.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/temporary1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/typedef1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/union1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/union2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/union3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility10.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility5.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility6.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility7.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility8.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/visibility9.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/vtables1.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings10.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings2.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings5.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings8.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings9.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/891230_01.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900107_01.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900121_01.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900121_05.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900127_02.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900205_02.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900207_03.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900208_02.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900208_03.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900208_04.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900209_01.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C112
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C112
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_03.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_05.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_06.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_07.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_08.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900210_10.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900211_01.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900211_02.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900211_03.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900212_01.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900212_02.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900212_03.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900213_01.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900213_02.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900213_03.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900214_01.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900220_01.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900220_02.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900220_03.C51
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900221_01.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900321_02.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900321_04.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900321_05.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900322_01.C61
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900324_02.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900324_03.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900324_04.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900324_05.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900324_06.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900325_01.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C52
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900331_02.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900331_03.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900331_04.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900401_01.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900402_01.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900402_02.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900403_01.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900403_04.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900404_01.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900404_02.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900404_04.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900404_07.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900405_01.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900406_01.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900406_02.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900407_01.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900407_02.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900428_01.C51
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900428_02.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900428_03.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900511_01.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900511_03.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C112
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_01.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_02.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_03.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_04.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_05.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_06.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_07.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_09.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_12.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900519_13.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900520_05.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900520_06.C78
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/cleanup1.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/ctor1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/flow1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/new1.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/new2.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/pdel1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/pdel2.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/ptr1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/rethrow1.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/rethrow2.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/rethrow4.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/rethrow5.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec1.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec2.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec3.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec4.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec5.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/spec6.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/throw1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/throw2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/unwind1.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/addrfunc1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/addrfunc2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/addrfunc3.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/array1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/array2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/arrnew.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/attrib1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/attrib2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/attrib3.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/attrib4.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/attrib5.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/bound1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/constructor.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/default.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/implicit1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/jump1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/memconst.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/null1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/pretty.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ext/typeof1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/README20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope01.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope02.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope03.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope04.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope05.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope06.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope07.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope08.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope09.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope10.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope11.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope12.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/scope13.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig01.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig02.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig03.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig04.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig05.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig06.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig07.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig08.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig09.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig10.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig11.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig12.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig13.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig14.C55
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig15.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig16.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig17.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig18.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig19.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig20.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig21.C56
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig22.C59
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig23.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig24.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig25.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig26.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig27.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig28.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig29.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig30.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.gb/sig31.C52
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/2371.C571
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/3523.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access10.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access11.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access12.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access13.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access14.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access15.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access16.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access17.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access18.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access20.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access21.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access22.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access23.C79
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access24.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access5.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access6.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access7.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access8.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/access9.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/aggregate.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ambig1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ambig2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ambig3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/anon.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/anon2.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/anon3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/anon4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/binding.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/binding2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/binding3.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool3.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool5.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/bool7.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/builtin.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/builtin2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/byval.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/byval2.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/byval3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/c-inline.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/c2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cast1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cast2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cast3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cleanup.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cleanup2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/complete1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cond.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cond2.C65
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/condexp.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/const.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/const2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/const3.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/const4.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/context.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion10.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion11.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion2.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion3.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion5.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion6.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion7.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion8.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/conversion9.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash10.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash11.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash12.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash3.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash4.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash5.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash7.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash8.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/crash9.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ctor1.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ctor2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dcast1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dcast2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dcast3.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/default1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/default2.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/default3.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/defctor.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/delete1.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/delete2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/delete3.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/destruct.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/destruct2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/destruct3.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/destruct4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dot.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dtor.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dtor2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dtor3.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dtor4.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/dtor5.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum5.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum7.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum8.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/explicit.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/expr1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/friend.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/friend2.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/groff1.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/hmc1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/incomplete1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/incomplete2.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/init.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/init2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/init3.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/init4.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/inline.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/inline2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/inline3.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/jump.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lex1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lineno.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lineno2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lineno3.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lineno4.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lineno5.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/local.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lookup.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lookup2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lookup3.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/loverload.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/loverload3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/loverload4.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lvalue.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lvalue2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lvalue3.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/lvalue4.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/mangle1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/mangle2.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/mangle3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/member.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/method.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/mi.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/mutable1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/nested1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/nested2.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/nested4.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/nested5.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/nested6.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/nested7.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/nested8.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/net.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/net2.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/new.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/new2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/new3.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/new4.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/new5.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/offset1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/offset2.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/offset3.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/offset4.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opeq.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opeq2.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opeq3.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opeq4.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opeq5.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opeq6.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/operator.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/operator2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/opover.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/optimize.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/optimize2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload10.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload11.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload12.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload13.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload14.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload15.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload16.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload17.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload18.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload19.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload20.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload21.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload22.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload23.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload24.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload26.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload27.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload28.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload29.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload30.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload31.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload32.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload33.C78
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload34.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload35.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload36.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload4.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload5.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload7.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload8.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/overload9.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse10.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse11.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse12.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse13.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse14.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse2.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse3.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse4.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse5.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse7.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/parse9.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmem.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmem2.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmem3.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmem4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf4.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf5.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf6.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf7.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf8.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmf9.C57
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/pmftemp.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/precedence.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/redecl1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref10.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref11.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref12.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref2.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref3.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref4.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref5.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref6.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref7.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref8.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/ref9.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/report.C68
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/return.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/return2.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/return3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg10.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg11.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg12.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg13.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg14.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg16.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg17.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg18.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg2.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg20.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg21.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg22.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg23.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg24.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg25.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg26.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg27.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg28.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg3.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg4.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg5.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg6.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg7.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg8.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rfg9.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C51
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/rvalue3.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping10.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping11.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping12.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping13.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping14.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping15.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping16.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping17.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping3.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping4.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping5.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping6.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping7.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping8.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/scoping9.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/shadow1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/soverload.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/special.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/static1.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth10.C52
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth3.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth4.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth5.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth8.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/synth9.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tempargs.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tempcons.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tempdest.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tempinst1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template10.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template11.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template12.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template13.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template14.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template15.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template16.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template17.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template18.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template19.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template20.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template21.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template22.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template23.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template24.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template25.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template26.C114
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template27.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template28.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template29.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template30.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template31.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template32.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template33.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template34.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template35.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template36.C51
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template37.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template38.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template39.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template4.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template40.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template41.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template42.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template43.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template44.C61
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template5.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template6.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template7.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template8.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template9.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary3.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary4.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary5.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary6.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary7.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/temporary8.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tempover.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tempparse.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tempsub.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/this.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/thunk1.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/thunk2.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/thunk3.C59
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tredecl.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tredecl3.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/trivial.C71
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/typeck.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/typedef.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/typedef2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/typedef3.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/typeid1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/typeid2.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/union.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/vecdel.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/virtual.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/virtual2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning1.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning10.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning4.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning5.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning6.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning7.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning8.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/warning9.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/access1.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/access2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/access3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/access4.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/access5.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg10.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg11.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg2.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg3.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg4.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg5.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg7.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg8.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg9.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm10.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm11.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm12.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm13.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm14.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm15.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm16.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm3.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm4.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm5.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm6.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm7.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm8.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm9.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/array1.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/array2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bad-error1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bad-error3.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bad-error4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bad-error6.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bad-error7.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bit-fields1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bit-fields2.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bit-fields3.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/builtin1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/casts1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/casts2.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/casts3.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/code-gen1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/code-gen2.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/code-gen4.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/code-gen5.C283
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/copy1.C66
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/copy2.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors10.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors11.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors12.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors13.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors14.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors15.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors16.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors17.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors18.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors19.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors2.C69
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors20.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors21.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors3.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors4.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors5.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors7.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors8.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors9.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt10.C60
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt11.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt12.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt13.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt14.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt15.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt16.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt17.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt18.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt19.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt2.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt20.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt21.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt22.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt23.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt4.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt5.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt6.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt7.C74
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt8.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt9.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/dossier1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/dtors1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/dtors2.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/dtors3.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/dtors4.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/dtors5.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum2.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum3.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum4.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum5.C236
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum6.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum7.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum8.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum9.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/except1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/except2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/except3.C50
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/except4.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/except5.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/except6.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/friend1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/friend4.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/friend5.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/global-init1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/incdec1.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init1.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init10.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init11.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init13.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init14.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init4.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init5.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init6.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init8.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init9.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/inline1.C3598
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/inline2.C3601
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/inline4.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/inline6.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/inline7.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/memoized1.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/mentor1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/missed-error1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/missed-error2.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/missed-error3.C124
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/missing1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/nest1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/nest2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/nest3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/nest4.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/nest5.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators10.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators11.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators12.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators13.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators14.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators15.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators16.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators17.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators18.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators19.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators21.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators22.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators23.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators24.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators25.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators27.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators28.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators29.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators3.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators30.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators31.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators32.C55
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators33.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators34.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators4.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators6.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators8.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators9.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing10.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing3.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing5.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing7.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing8.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/parsing9.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/patches1.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/pic1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/profile1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/refs1.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/refs2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/refs3.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/refs4.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/scope1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/scope2.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/scope3.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/scope4.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/scope5.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/shadow1.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/shadow2.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/static-mem2.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/static-mem3.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/static-mem4.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/static-mem5.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/template1.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/template2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/template3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/temps1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/temps2.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/temps3.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/temps4.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/temps5.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/temps6.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/temps7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/typeck1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/typeck2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/typeck3.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/typeck4.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/union1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/union2.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/union3.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/union4.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/unsorted1.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/unsorted2.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/vbase1.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/virtual1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/virtual2.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/virtual3.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/virtual4.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility1.C68
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility10.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility11.C52
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility12.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility13.C108
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility14.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility15.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility16.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility17.C63
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility18.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility19.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility2.C68
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility20.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility21.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility22.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility24.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility25.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility26.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility27.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility28.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility3.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility4.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility5.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility6.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility7.C71
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility8.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility9.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/vtable1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/vtable2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/vtable3.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/weak.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/access1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/ambig1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/conv1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/lookup1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/new1.C121
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/overload1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/sts_conv.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/sts_iarr.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/sts_partial.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/sts_vectini.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/typedef1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/typedef2.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/.cvsignore2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/align1.C56
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/align2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ambig1.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/asm1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/asm2.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/bool1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/bool2.C57
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/bool4.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/conv1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/debug1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast2.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast4.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast5.C71
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast6.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast8.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast9.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh1.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh10.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh11.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh12.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh13.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh14.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh15.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh16.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh17.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh18.C63
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh19.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh2.C71
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh20.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh21.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh23.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh24.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh25.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh26.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh27.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh28.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh29.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh3.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh30.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh31.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh32.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh33.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh34.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh35.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh36.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh37.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh38.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh39.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh4.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh40.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh41.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh42.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh43.C741
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh44.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh45.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh46.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh47.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh48.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh49.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh5.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh50.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh51.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh52.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh53.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh54.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh55.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh56.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh57.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh58.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh6.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh7.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh8.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh9.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/enum1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/err1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/err2.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/err3.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/explicit1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/explicit2.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/for1.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/for2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/fresco1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/hog1.C187
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/init1.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/init2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/leak1.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/mangle1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/mangle2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/mangle3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/memoize1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/mi1.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/mi2.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc1.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc11.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc12.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc13.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc14.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc3.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc5.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc6.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc7.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc8.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/misc9.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net10.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net11.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net12.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net13.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net14.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net15.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net16.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net17.C58
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net18.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net19.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net20.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net21.C59
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net22.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net23.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net24.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net25.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net26.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net27.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net28.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net29.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net30.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net31.C68
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net32.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net34.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net35.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net36.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net37.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net38.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net39.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net4.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net40.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net41.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net42.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net43.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net44.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net45.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net46.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net47.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net48.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net5.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net6.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net7.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net8.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net9.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns10.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns11.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns12.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns13.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns14.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns15.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns3.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns4.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns5.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns7.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns8.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns9.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/offset1.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/opr-as1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/opr-dot1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10148.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10247.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10416.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10511.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10769a.C45
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10769b.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10849a.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10951.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11012.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11110.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11116.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11142.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11144.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11482.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p11667.C62
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p12306.C75
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p12306a.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p1248.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p1567.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p16146.C89
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p1862.C62
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p1989.C494
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2394.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2431.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2573.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2736.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2746.C156
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2793.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2806.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2846.C55
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2846a.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2846b.C52
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2855.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2960.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3041.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3060c.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3060d.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3068.C60
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3070.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3139.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3524a.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3524b.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3524c.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3538a.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3538b.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3570.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3579.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3708.C86
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3708a.C86
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3708b.C85
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3764.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p3836.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4068.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4104.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4173.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p418.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4238.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4246.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4263.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p438.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4484.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4511.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4619.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4623.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4667.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4671.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4677.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4693.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4736a.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4736b.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4736c.C62
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p4750.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5469.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5469a.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5571.C70
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5611.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5673.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5718.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5793.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5840.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p5958.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6004.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6058.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6149.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6311.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p646.C175
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6578.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p658.C101
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6610a.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6610b.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6611.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6746.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6901.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p6927.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p700.C2387
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p701.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p710.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7180.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7325.C55
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7476.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p755.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p755a.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7626.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7635.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7651.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p783.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p783a.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p783b.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p784.C3658
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p785.C8074
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p786.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7865.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7868.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p789.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p789a.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p7912.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8009.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8018.C85
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8039.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p807.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p807a.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p811.C549
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8154.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8155.C147
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8175.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8269.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8460.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8483.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8620.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8785.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8786.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8804.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p8825.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9068.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9129.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9206.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9506.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9706.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9732a.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9732b.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9732c.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p991.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/parse1.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmd1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf1.C90
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf2.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf4.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf5.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf6.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf7.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf8.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pmf9.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pt1.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pt2.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pt3.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/pt4.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ref1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/rtti1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/rtti2.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/rtti3.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/s9959.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/scast1.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/temp.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/thunk1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/thunk2.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/thunk3.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/unroll1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/virt1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/virt2.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/virt3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/virt4.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/virt5.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/virt6.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/vtable1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn2.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn4.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn5.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn6.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn7.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/warn8.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/.cvsignore2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/Makefile.in12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/README18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/configure.in15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t113.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t114.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t115.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t118.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t119.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t120.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t121.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t122.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t123.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t124.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t125.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t126.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t127.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t128.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t129.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t130.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t131.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t132.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t133.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t134.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t135.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t136.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t137.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t138.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t139.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t140.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.niklas/t141.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias3.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias4.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias5.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias6.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/anon1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/bogus1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/crash1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/crash2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/crash3.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/extern1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/friend1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/friend2.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/invalid1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/koenig1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/koenig2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/koenig3.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/koenig4.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/koenig5.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/koenig6.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/koenig7.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/lookup1.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/lookup2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/lookup3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/lookup4.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/lookup5.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/main1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns10.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns11.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns12.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns13.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns14.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns15.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns16.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns17.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns2.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns4.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns5.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns6.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns7.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns8.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/ns9.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/overload1.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/overload2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/overload3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/overload4.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/overload5.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template3.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template4.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template5.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template6.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template7.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template8.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/template9.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/undef1.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using1.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using10.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using11.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using12.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using13.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using2.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using4.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using5.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using8.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using9.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/.cvsignore2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/900403_04.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/900519_12.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/Makefile.in12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access3.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access4.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access5.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/access6.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/addrof1.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/ambig1.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/anon1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/anon2.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/array1.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/array2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/badarrow.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/badopt1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/bitfld1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/cast1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/cast2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/cleanup1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/configure.in15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/const1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/const2.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/conv1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/conv2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/conv3.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/conv4.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/conv5.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/conv6.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/copy1.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash4.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash5.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash6.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash8.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash9.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/cvt1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dcast1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dcast2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/debug1.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/debug2.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/decl1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/decl2.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/decl3.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/defarg1.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/defarg2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/delete1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/delete2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/delete3.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/delete4.C53
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/delete5.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dll-1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dll-2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dll-3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dll-4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dll-5.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dll-6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dtor1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dtor2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dtor3.C51
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/dtor4.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/elab1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/empty1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/enum1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/expr1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/field1.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/field2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/for1.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/friend1.C85
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/friend2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/friend3.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/friend4.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/friend5.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/incomplete.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init10.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init11.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init12.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init13.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init3.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init4.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init5.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init6.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init7.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init8.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init9.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lineno1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lineno2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/linkage1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/linkage2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/local1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/local2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup10.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup11.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup12.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup13.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup14.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup15.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup4.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup5.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup6.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup7.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup8.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/lookup9.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/loop1.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/main1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/mangle1.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/mangle2.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/mutable1.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/nested1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/nested2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/nested3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/new.C57
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/new2.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/new3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/null1.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/null2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/null3.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overcnv1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload2.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload4.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload5.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload6.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload7.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload8.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/overload9.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/parse1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/pmf1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/pmf2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/pmf3.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/printf1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/ptrmem1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/ptrmem2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/ptrmem3.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/ptrmem4.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/realloc.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/redecl1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/redecl2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/ref1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rtti1.C121
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rtti2.C88
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rtti3.C96
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rtti4.C86
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rtti5.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rttid2.C100
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rttid3.C115
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/rttid4.C111
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/signed.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/singleton.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/sizeof1.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/static1.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/static2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/static3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/static4.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/string1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/temporary1.C40
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typeck1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typedef1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typedef2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typedef3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typedef4.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typedef5.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typedef6.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typeinfo1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/typename1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/union1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/using1.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/using2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/using3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/using4.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/using5.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/virtual1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/virtual2.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/virtual3.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/virtual4.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/vtbl1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/warn01.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/warn3.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/alignof.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/array1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/array2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/array3.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/array4.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/assign1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C54
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/bad-type.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/call1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/call2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/cast1.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/const1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/conv1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/conv2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/copy1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash1.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash10.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash11.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash12.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash13.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash14.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash15.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash16.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash17.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash18.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash19.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash20.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash21.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash22.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash23.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash24.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash25.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash26.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash27.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash28.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash29.C69
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash30.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash31.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash32.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash33.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash34.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash35.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash36.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash37.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash38.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash39.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash4.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash40.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash5.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash6.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash7.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash8.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash9.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ctor1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ctor2.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/decl1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/decl2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/deduct1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg4.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg5.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg6.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg7.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/defarg8.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/derived1.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/derived2.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/eichin01.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum10.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum11.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum12.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum4.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum5.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum6.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum7.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum8.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum9.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit1.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit10.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit11.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit12.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit13.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit14.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit15.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit16.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit17.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit18.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit19.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit20.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit21.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit22.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit23.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit24.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit25.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit26.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit27.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit28.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit29.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit3.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit30.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit31.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit32.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit33.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit34.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit35.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit36.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit37.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit38.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit39.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit4.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit40.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit41.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit42.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit43.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit5.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit50.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit51.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit52.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit53.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit54.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit55.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit56.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit57.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit58.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit59.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit6.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit60.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit61.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit62.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit63.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit64.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit65.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit66.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit67.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit68.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit69.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit70.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit71.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit72.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit73.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit74.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit75.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit76.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit77.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit78.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit79.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit8.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit9.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/expr1.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/expr2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/expr3.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/expr4.C373
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/expr5.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/expr6.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/expr7.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend1.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend10.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend11.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend12.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend13.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend14.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend15.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend16.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend17.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend18.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend19.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend20.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend21.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend22.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend23.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend24.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend25.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend26.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend27.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend28.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend29.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend30.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend31.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend32.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend33.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend34.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend35.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend36.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend37.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend38.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend39.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend4.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend40.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend41.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend42.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend5.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend6.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend7.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend8.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/friend9.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/goto.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/inherit1.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate2.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate3.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/label1.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/link1.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/local1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/local2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/local3.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/local4.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/local5.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/local6.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup3.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup4.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup5.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup6.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup7.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup8.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lookup9.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m2.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m3.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m4.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m5.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m6.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m7.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m8.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m9.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/m9a.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass10.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass11.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass12.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass13.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass14.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass15.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass16.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass17.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass18.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass19.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass20.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass3.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass4.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass5.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass6.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass7.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass8.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memclass9.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp10.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp11.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp12.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp13.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp14.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp15.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp17.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp18.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp19.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp20.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp27.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp28.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp29.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp3.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp30.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp31.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp32.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp33.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp34.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp35.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp36.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp37.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp39.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp4.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp40.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp41.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp42.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp43.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp44.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp45.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp46.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp47.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp48.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp49.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp5.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp52.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp53.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp55.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp56.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp59.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp6.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp60.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp61.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp62.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp63.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp64.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp65.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp66.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp67.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp68.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp7.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp70.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp71.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp73.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp74.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp76.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp78.C56
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp8.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp80.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp82.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp83.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp9.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/mi1.C75
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nested1.C47
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nested2.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/niklas01.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/niklas01b.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/niklas02.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/niklas03.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nontype1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nontype2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nontype3.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nontype4.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nttp1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/nttp2.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload1.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload10.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload11.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload12.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload2.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload3.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload4.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload5.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload6.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload7.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload8.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload9.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/parse2.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/partial1.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/partial2.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/partial3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/pointer1.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem2.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem3.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem4.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem7.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/recursion.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/recursion2.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/redecl1.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/redecl2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ref1.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/scope1.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/shadow1.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/shadow2.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/sizeof.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/sizeof2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/sizeof3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec10.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec11.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec12.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec13.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec14.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec15.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec16.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec17.C44
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec18.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec19.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec2.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec20.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec21.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec22.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec23.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec24.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec25.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec26.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec27.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec28.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec29.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec3.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec30.C41
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec31.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec4.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec5.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec6.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec7.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec8.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/spec9.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static1.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static2.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static3.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static4.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static5.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static6.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static7.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static8.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/static_cast.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/stmtexpr.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/stmtexpr2.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t00.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t01.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t03.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t04.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t05.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t06.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t07.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t08.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t09.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t10.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t11.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t11a.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t12.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t12a.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t13.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t14.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t14a.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t16.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t18.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t20.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t21.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t22.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t23.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t24.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t25.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t26.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t27.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t28.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t29.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t30.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t31.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t32.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t32a.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t34.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t34a.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t35.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t35a.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t36.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t37.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t37a.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t38.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t39.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t40.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t41.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t42.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/test4.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/test5.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/tiemann1r.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/tiemann2.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/to2.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/tt.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/tt2.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp10.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp11.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp12.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp13.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp14.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp15.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp16.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp17.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp18.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp19.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp2.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp20.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp21.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp22.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp23.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp24.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp25.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp26.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp27.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp28.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp29.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp3.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp30.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp31.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp32.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp33.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp34.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp35.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp36.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp37.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp38.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp39.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp4.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp40.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp41.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp42.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp43.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp44.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp45.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp46.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp47.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp48.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp49.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp5.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp50.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp51.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp52.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp53.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp54.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp55.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp6.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp7.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp8.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ttp9.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typedef1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typedef2.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typedef3.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typedef4.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename10.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename11.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename12.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename13.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename14.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename15.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename16.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename17.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename18.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename19.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename2.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename20.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename21.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename22.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename3.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename4.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename5.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename6.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename7.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename8.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/typename9.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/unify1.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/unify2.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/unify3.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/unify4.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/union1.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/union2.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/vaarg.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/vbase1.C31
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/virtual1.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/warn1.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.rfg/00321_01-.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.rfg/00324_02-.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C43
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/README18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb10.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb101.C3886
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb102.C34
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb103.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb104.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb105.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb106.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb107.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb108.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb109.C71
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb11.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb110.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb111.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb112.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb113.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb114.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb115.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb116.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb118.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb119.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb12.C32
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb120.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb121.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb122.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb123.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb124.C3
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb125.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb126.C29
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb127.C59
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb128.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb129.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb13.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb130.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb131.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb132.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb133.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb14.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb15.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb16.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb17.C56
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb18.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb19.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb2.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb20.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb21.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb22.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb23.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb24.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb26.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb27.C39
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb28.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb29.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb3.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb30.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb31.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb32.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb33.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb34.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb35.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb36.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb37.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb38.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb39.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb4.C48
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb41.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb42.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb43.C38
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb44.C35
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb45.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb46.C27
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb48.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb49.C49
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb5.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb50.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb51.C36
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb52.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb54.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb55.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb56.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb57.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb58.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb59.C28
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb6.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb60.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb61.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb62.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb63.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb64.C25
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb65.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb66.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb67.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb69.C9
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb7.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb70.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb71.C37
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb73.C14
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb74.C33
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb75.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb76.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb77.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb78.C136
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb79.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb8.C13
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb80.C7
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb81.C42
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb82.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb83.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb84.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb86.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb87.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb88.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb9.C21
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb90.C22
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb91.C85
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb92.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb93.C30
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb94.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb95.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb97.C24
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb98.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb99.C134
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/ebnull-cast.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/ebnull-oldcast.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/ebnull.C17
-rw-r--r--gcc/testsuite/g++.old-deja/old-deja.exp65
-rw-r--r--gcc/testsuite/g77.f-torture/compile/19990218-0.f13
-rw-r--r--gcc/testsuite/g77.f-torture/compile/19990305-0.f55
-rw-r--r--gcc/testsuite/g77.f-torture/compile/19990419-0.f7
-rw-r--r--gcc/testsuite/g77.f-torture/compile/19990502-0.f351
-rw-r--r--gcc/testsuite/g77.f-torture/compile/19990502-1.f6
-rw-r--r--gcc/testsuite/g77.f-torture/compile/960317-1.f103
-rw-r--r--gcc/testsuite/g77.f-torture/compile/970125-0.f40
-rw-r--r--gcc/testsuite/g77.f-torture/compile/970915-0.f20
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980310-1.f28
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980310-2.f43
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980310-3.f259
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980310-4.f348
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980310-6.f21
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980310-7.f50
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980310-8.f39
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980419-2.f48
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980424-0.f6
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980427-0.f8
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980729-0.f5
-rw-r--r--gcc/testsuite/g77.f-torture/compile/981117-1.f23
-rw-r--r--gcc/testsuite/g77.f-torture/compile/990115-1.f8
-rw-r--r--gcc/testsuite/g77.f-torture/compile/alpha1.f10
-rw-r--r--gcc/testsuite/g77.f-torture/compile/compile.exp44
-rw-r--r--gcc/testsuite/g77.f-torture/compile/toon_1.f3
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19981119-0.f40
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19990313-0.f33
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19990313-1.f7
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19990313-2.f7
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19990313-3.f7
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19990325-0.f313
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19990325-1.f313
-rw-r--r--gcc/testsuite/g77.f-torture/execute/19990419-1.f21
-rw-r--r--gcc/testsuite/g77.f-torture/execute/970625-2.f84
-rw-r--r--gcc/testsuite/g77.f-torture/execute/970816-3.f20
-rw-r--r--gcc/testsuite/g77.f-torture/execute/971102-1.f11
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980520-1.f6
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-0.f61
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-1.f62
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-10.f57
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-2.f55
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-3.f56
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-4.f27
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-5.f27
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-6.f26
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-7.f62
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-8.f63
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980628-9.f56
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980701-0.f72
-rw-r--r--gcc/testsuite/g77.f-torture/execute/980701-1.f72
-rw-r--r--gcc/testsuite/g77.f-torture/execute/alpha2.f19
-rw-r--r--gcc/testsuite/g77.f-torture/execute/auto0.f80
-rw-r--r--gcc/testsuite/g77.f-torture/execute/auto1.f88
-rw-r--r--gcc/testsuite/g77.f-torture/execute/cabs.f14
-rw-r--r--gcc/testsuite/g77.f-torture/execute/claus.f13
-rw-r--r--gcc/testsuite/g77.f-torture/execute/complex_1.f18
-rw-r--r--gcc/testsuite/g77.f-torture/execute/cpp.F5
-rw-r--r--gcc/testsuite/g77.f-torture/execute/dcomplex.f18
-rw-r--r--gcc/testsuite/g77.f-torture/execute/dnrm2.f74
-rw-r--r--gcc/testsuite/g77.f-torture/execute/erfc.f38
-rw-r--r--gcc/testsuite/g77.f-torture/execute/execute.exp55
-rw-r--r--gcc/testsuite/g77.f-torture/execute/exp.f3
-rw-r--r--gcc/testsuite/g77.f-torture/execute/io0.f46
-rw-r--r--gcc/testsuite/g77.f-torture/execute/io1.f10
-rw-r--r--gcc/testsuite/g77.f-torture/execute/labug1.f57
-rw-r--r--gcc/testsuite/g77.f-torture/execute/large_vec.f3
-rw-r--r--gcc/testsuite/g77.f-torture/execute/le.f29
-rw-r--r--gcc/testsuite/g77.f-torture/execute/short.f57
-rw-r--r--gcc/testsuite/g77.f-torture/execute/u77-test.f421
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/19981216-0.f89
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/19990218-1.f13
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/980615-0.f10
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/980616-0.f8
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/check0.f11
-rw-r--r--gcc/testsuite/g77.f-torture/noncompile/noncompile.exp39
-rw-r--r--gcc/testsuite/gcc.c-torture/ChangeLog821
-rw-r--r--gcc/testsuite/gcc.c-torture/code_quality/920608-1.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/code_quality/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/code_quality/code_quality.exp55
-rw-r--r--gcc/testsuite/gcc.c-torture/code_quality/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/strct-layout.c69
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/struct-align.c52
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/struct-big.c54
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/struct-i.c46
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/struct-ic.c48
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/struct-ii.c48
-rw-r--r--gcc/testsuite/gcc.c-torture/compat/struct-ret-1.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/900116-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/900216-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/900313-1.c172
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/900407-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/900516-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920301-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920409-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920409-2.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920410-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920410-2.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920411-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920413-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920415-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920428-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920428-2.c531
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920428-3.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920428-4.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920428-5.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920428-6.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920428-7.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-10.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-11.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-12.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-13.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-15.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-16.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-17.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-18.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-19.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-2.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-20.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-21.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-22.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-23.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-24.c221
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-3.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-4.c49
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-6.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-7.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-8.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920501-9.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920502-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920502-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920529-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920611-2.c53
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920615-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920617-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920617-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920623-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920624-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920625-1.c279
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920625-2.c103
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920626-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920701-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920702-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920706-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920710-2.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920711-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920721-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920723-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920729-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920806-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920808-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920809-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920817-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920820-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920821-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920821-2.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920825-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920825-2.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920826-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920828-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920829-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920831-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920902-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920909-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920917-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920928-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920928-2.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920928-3.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920928-4.c113
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920928-5.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/920928-6.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921004-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921011-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921011-2.c65
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921012-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921012-2.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921013-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921019-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921021-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921024-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921026-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921103-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921109-1.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921109-3.c46
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921111-1.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921116-2.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921118-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921126-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921202-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921202-2.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921203-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921203-2.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921206-1.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/921227-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930109-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930109-2.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930111-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930117-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930118-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930120-1.c138
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930126-1.c74
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930210-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930217-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930222-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930325-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930326-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930326-1.x7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930411-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930421-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930427-2.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930503-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930503-2.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930506-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930506-2.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930510-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930513-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930513-2.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930513-3.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930523-1.c54
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930525-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930527-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930529-1.c83
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930530-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930602-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930603-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930607-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930609-1.c104
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930611-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930618-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930621-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930623-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930623-2.c91
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930702-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930926-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/930927-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931003-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931004-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931013-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931013-2.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931013-3.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931018-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931031-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931102-1.c111
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931102-2.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/931203-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/940611-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/940712-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/940718-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/941014-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/941014-2.c37
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/941014-3.c72
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/941014-4.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/941019-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/941111-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/941113-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950122-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950124-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950221-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950329-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950512-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950530-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950607-1.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950610-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950612-1.c134
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950613-1.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950618-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950719-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950729-1.c39
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950816-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950816-2.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950816-3.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950910-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950919-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950921-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/950922-1.c68
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/951004-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/951106-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/951116-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/951128-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/951220-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/951222-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960106-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960130-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960201-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960218-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960220-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960221-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960319-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960514-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960704-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/960829-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961004-1.c37
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961010-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961019-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961031-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961126-1.c107
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961203-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/961203-1.x7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/970206-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/970214-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980329-1.c72
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980408-1.c129
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980504-1.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980506-1.c63
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980506-2.c89
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980511-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980701-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980706-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980726-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980729-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980816-1.c51
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980821-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/980825-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981001-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981001-2.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981001-3.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981001-4.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981007-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981022-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981022-1.x2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981107-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981211-1.c43
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/981223-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/990107-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/990117-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/990203-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/990517-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/calls.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/cmpdi-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/combine-hang.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/compile.exp35
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/funcptr-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/goto-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/init-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/init-2.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/labels-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/packed-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/widechar-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/900409-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920202-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920302-1.c42
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920409-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920410-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920411-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920415-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920428-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920428-2.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920428-2.x6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920429-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-2.c114
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-3.c35
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-4.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-5.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-6.c91
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-7.c32
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-7.x6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-8.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920501-9.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920506-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920520-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920603-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920604-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920612-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920612-2.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920618-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920625-1.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920710-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920711-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920715-1.c67
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920715-1.x7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920721-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920721-2.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920721-3.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920721-4.c60
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920726-1.c63
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920728-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920731-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920810-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920812-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920829-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920908-1.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920908-2.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920909-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920922-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/920929-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921006-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921007-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921013-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921016-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921017-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921019-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921019-2.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921029-1.c42
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921104-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921110-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921112-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921113-1.c63
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921117-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921123-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921123-2.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921124-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921202-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921202-2.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921204-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921207-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921208-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921208-2.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921215-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921218-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/921218-2.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930106-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930111-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930123-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930126-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930208-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930406-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930408-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930429-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930429-2.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930513-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930513-2.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930518-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930526-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930527-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930529-1.c45
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930603-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930603-2.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930603-3.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930608-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930614-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930614-2.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930621-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930622-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930622-2.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930628-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930630-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930702-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930713-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930718-1.c34
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930719-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930725-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930818-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930916-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930921-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930929-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930930-1.c35
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/930930-2.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931002-1.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-10.c44
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-11.c50
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-12.c50
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-13.c60
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-14.c56
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-2.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-3.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-4.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-5.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-6.c44
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-7.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-8.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931004-9.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931005-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931009-1.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931012-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931017-1.c54
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931018-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931031-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931102-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931102-2.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931110-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931110-2.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931208-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/931228-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/940115-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/940122-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941014-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941014-1.x6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941014-2.c33
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941015-1.c35
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941021-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941025-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941031-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941101-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941110-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/941202-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950221-1.c55
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950322-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950426-1.c32
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950426-2.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950503-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950511-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950512-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950605-1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950607-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950607-2.c41
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950612-1.c48
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950621-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950628-1.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950704-1.c59
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950706-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950710-1.c54
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950714-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950809-1.c33
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950906-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950915-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/950929-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/951003-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/951115-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/951204-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960116-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960117-1.c46
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960209-1.c43
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960215-1.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960218-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960219-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960301-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960302-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960311-1.c69
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960311-2.c69
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960311-3.c69
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960312-1.c34
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960317-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960321-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960326-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960327-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960402-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960405-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960416-1.c63
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960419-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960419-2.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960512-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960513-1.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960521-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960608-1.c34
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960801-1.c32
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960802-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960830-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/960909-1.c29
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961004-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961017-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961017-2.c32
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961026-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961112-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961122-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961122-2.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961125-1.c33
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961206-1.c52
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961213-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/961223-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/970214-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/970214-2.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/970217-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/970312-1.c73
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/970923-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980205.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980223.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980424-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980505-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980505-2.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980506-1.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980506-2.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980506-3.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980526-1.c37
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980526-2.c57
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980526-3.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980602-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980602-2.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980604-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980605-1.c78
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980608-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980612-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980617-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980618-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980618-2.c66
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980701-1.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980707-1.c46
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980709-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980716-1.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980929-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/981001-1.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/981019-1.c44
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/981130-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/981130-1.x22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/981206-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990106-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990106-2.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990117-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990127-1.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990127-2.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990128-1.c50
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990130-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990208-1.c46
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990211-1.c61
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990222-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990324-1.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990326-1.c407
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990404-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990413-2.c50
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990413-2.x3
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/990513-1.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/arith-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/arith-rand.c114
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/bcp-1.c90
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c66
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/bf64-1.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/cbrt.c92
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/cmpdi-1.c218
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c32
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/comp-goto-1.c164
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/complex-1.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/complex-2.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/complex-3.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/complex-4.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/complex-5.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/compndlit-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/conversion.c380
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/cvt-1.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/cvt-1.x7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/dbra-1.c95
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/divconst-1.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/divconst-2.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/divconst-3.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/divmod-1.c72
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/enum-1.c43
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/execute.exp46
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/gofast.c99
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.x11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c41
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp61
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c58
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c41
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/index-1.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/inst-check.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/int-compare.c108
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-1.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2b.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2c.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2d.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2e.c60
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2e.x9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2f.c63
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2f.x9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2g.c63
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-2g.x9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-3.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-3b.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-3c.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-4.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-4b.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.c75
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.x9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/driver.c272
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/driver.h28
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/memcheck.exp54
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t2.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t3.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t4.c34
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t5.c33
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t6.c39
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t7.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t8.c41
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/t9.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcheck/template16
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcpy-1.c63
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c52
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/mod-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/packed-1.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pending-4.c33
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/regstack-1.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/scope-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/scope-2.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/strct-pack-3.c28
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c29
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c61
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c56
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x10
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c57
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c29
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/tstdi-1.c139
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-2.c292
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-3.c339
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-3.x12
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-4.c33
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-5.c44
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-6.c35
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/widechar-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/920507-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/920616-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/920721-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/920824-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/920923-1.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/921102-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/921116-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/930301-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/930622-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/930622-2.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/930714-1.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/931203-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/940112-1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/940227-1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/940510-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/940712-1.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/940712-1.h10
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/940712-1a.h4
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/940712-1b.h2
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/950825-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/950921-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/951025-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/951123-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/951227-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/971104-1.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/990416-1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/init-1.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/init-2.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/invalid_asm.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/noncompile.exp314
-rw-r--r--gcc/testsuite/gcc.c-torture/noncompile/va-arg-1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/special/920413-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/special/920520-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/special/920521-1.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/special/920717-x.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/special/920717-y.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/special/920730-1.c32
-rw-r--r--gcc/testsuite/gcc.c-torture/special/921210-1.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/special/930510-1.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/special/951130-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/special/960224-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/special/960224-2.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/special/981006-1.c50
-rw-r--r--gcc/testsuite/gcc.c-torture/special/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/special/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/special/eeprof-1.c67
-rw-r--r--gcc/testsuite/gcc.c-torture/special/special.exp116
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/386.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/86.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG1.c37
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG11.c29
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG12.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG13.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG16.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG17.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG18.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG2.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG21.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG22.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG23.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG24.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG25.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG3.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG4.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG5.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/BUG6.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/DFcmp.c280
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/HIcmp.c280
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/HIset.c216
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/PYRBUG.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/QIcmp.c280
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/QIset.c216
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/SFset.c216
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/SIcmp.c280
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/SIset.c216
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/UHIcmp.c280
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/UQIcmp.c280
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/USIcmp.c280
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/a.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/a1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/a3.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/aa.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/aaa.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/abs.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ac.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/acc.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/add.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/add386.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/addcc.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/andm.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/andmem.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/andn.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/andok.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/andsi.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/andsparc.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/aos.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/arr.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/as.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ase.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/b.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/b1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/b2.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/b3.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/b88.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bad.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/band.c16
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bb0.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bb1.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bbb.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bc.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bcopy.c64
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bf.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bfins.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bfx.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bge.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bit.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bitf.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bitw.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/blk.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bt.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bt386.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bug.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bugc.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/buns.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/bx.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/c.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/c1.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/c2.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/call.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/call386.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/callind.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cc.c96
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/charmtst.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cmb.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cmp.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cmphi.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cmpsi386.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cmul.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cn1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/comb.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/configure.in15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/consec.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/const.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/conv.c32
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/conv_tst.c66
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cp.c42
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/csebug.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/cvt.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/d.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dbl_parm.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dblbug.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ddd.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dead.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/delay.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/di.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dic.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dilayout.c33
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dimove.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dimul.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/div.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/divdf.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dm.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/dshift.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/e.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ex.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ext.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/f1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/f2.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/fdmul.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/flo.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/float.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/flt_const.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/fnul.c23
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/foo.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/forgetcc.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/fq.c25
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/g.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c67
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/glob.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/gronk.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/hi.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/hibug.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/i++.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/i.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/i386bug.c51
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ic.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/icmp.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ifreg.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/imm.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/isinf.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/jmp.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/jumptab.c20
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/l.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/layout.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/lbug.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ll1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/llbug.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/lll.c45
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/load8.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/loadhicc.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/log2.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/logic.c37
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/loop-1.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/loop386.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/lop.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/m1.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/m2.c44
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/m5.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/m68.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mbyte.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mchar.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mcmp.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mdouble.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/memtst.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/miscomp.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mm.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mod.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/modcc.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/move.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/move_qhi.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mregtst.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/msp.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mtst.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mu.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mul.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mword.c29
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/mword1.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/n.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/n1.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/nand.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/neg.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/o.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/omit.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/opout.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/opt.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/or.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/or386.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/p.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/parms.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/pass.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/pmt.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/poor.c34
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/pp.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/pret-arg.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/pyr.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/pyr2.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/q.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/r.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/r1.c29
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/rel.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/rmsc.c46
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/round.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/run.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/s.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sar.c10
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sc.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/scal.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/scc.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/scond.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/selfrec.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/seq.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/set386.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/set88.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sh.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/shand.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/shft.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/shift.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/shloop.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/shm.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/signext.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/signext2.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sim.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/simple.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sne.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sound.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sparcbug.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/speed.c8
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/stor.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/store0.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/storecc.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/str.c13
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/stru.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/structret.c69
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/stuct.c22
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sub32.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/subcc.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/subcse.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/sym.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/symconst.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/t.c18
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/test-flow.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/test-loop.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/test.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/time.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/tmp.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/trivial.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/trunc.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/u.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/udconvert.c30
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/udivmod4.c56
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/uns.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c19
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp54
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/uuarg.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/v.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/w.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/ww.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/x.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xb.c17
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xbg.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xc.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xcsebug.c14
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xdi.c15
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xfoo.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xi.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xlop.c11
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xmtst.c26
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xneg.c5
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xopt.c35
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xor.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xorn.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xp.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xpp.c12
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xs.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xsh.c7
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xxs.c202
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xz.c4
-rw-r--r--gcc/testsuite/gcc.c-torture/unsorted/xzz.c4
-rw-r--r--gcc/testsuite/gcc.dg/980211-1.c27
-rw-r--r--gcc/testsuite/gcc.dg/980217-1.c36
-rw-r--r--gcc/testsuite/gcc.dg/980226-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/980312-1.c24
-rw-r--r--gcc/testsuite/gcc.dg/980313-1.c25
-rw-r--r--gcc/testsuite/gcc.dg/980414-1.c76
-rw-r--r--gcc/testsuite/gcc.dg/980502-1.c9
-rw-r--r--gcc/testsuite/gcc.dg/980520-1.c17
-rw-r--r--gcc/testsuite/gcc.dg/980523-1.c51
-rw-r--r--gcc/testsuite/gcc.dg/980526-1.c17
-rw-r--r--gcc/testsuite/gcc.dg/980709-1.c20
-rw-r--r--gcc/testsuite/gcc.dg/980816-1.c20
-rw-r--r--gcc/testsuite/gcc.dg/980827-1.c26
-rw-r--r--gcc/testsuite/gcc.dg/990117-1.c21
-rw-r--r--gcc/testsuite/gcc.dg/990119-1.c15
-rw-r--r--gcc/testsuite/gcc.dg/990130-1.c24
-rw-r--r--gcc/testsuite/gcc.dg/990213-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/990213-2.c15
-rw-r--r--gcc/testsuite/gcc.dg/990214-1.c15
-rw-r--r--gcc/testsuite/gcc.dg/990228-1.c29
-rw-r--r--gcc/testsuite/gcc.dg/990407-1.c18
-rw-r--r--gcc/testsuite/gcc.dg/990409-1.c18
-rw-r--r--gcc/testsuite/gcc.dg/990413-1.c13
-rw-r--r--gcc/testsuite/gcc.dg/990424-1.c26
-rw-r--r--gcc/testsuite/gcc.dg/990506-0.c9
-rw-r--r--gcc/testsuite/gcc.dg/README16
-rw-r--r--gcc/testsuite/gcc.dg/bf-spl1.c58
-rw-r--r--gcc/testsuite/gcc.dg/cast-qual-1.c30
-rw-r--r--gcc/testsuite/gcc.dg/clobbers.c27
-rw-r--r--gcc/testsuite/gcc.dg/compare1.c26
-rw-r--r--gcc/testsuite/gcc.dg/cpp-if1.c34
-rw-r--r--gcc/testsuite/gcc.dg/cpp-if2.c19
-rw-r--r--gcc/testsuite/gcc.dg/cpp-if3.c25
-rw-r--r--gcc/testsuite/gcc.dg/cpp-mi.c34
-rw-r--r--gcc/testsuite/gcc.dg/cpp-mic.h10
-rw-r--r--gcc/testsuite/gcc.dg/cpp-micc.h10
-rw-r--r--gcc/testsuite/gcc.dg/dg.exp69
-rw-r--r--gcc/testsuite/gcc.dg/dll-1.c10
-rw-r--r--gcc/testsuite/gcc.dg/dll-2.c24
-rw-r--r--gcc/testsuite/gcc.dg/dll-3.c16
-rw-r--r--gcc/testsuite/gcc.dg/dll-4.c14
-rw-r--r--gcc/testsuite/gcc.dg/ifelse-1.c21
-rw-r--r--gcc/testsuite/gcc.dg/noreturn-1.c43
-rw-r--r--gcc/testsuite/gcc.dg/return-type-1.c9
-rw-r--r--gcc/testsuite/gcc.dg/setjmp-1.c36
-rw-r--r--gcc/testsuite/gcc.dg/special/alias-1.c15
-rw-r--r--gcc/testsuite/gcc.dg/special/ecos.exp214
-rw-r--r--gcc/testsuite/gcc.dg/special/gcsec-1.c21
-rw-r--r--gcc/testsuite/gcc.dg/special/weak-1.c15
-rw-r--r--gcc/testsuite/gcc.dg/special/weak-1a.c3
-rw-r--r--gcc/testsuite/gcc.dg/special/weak-2.c11
-rw-r--r--gcc/testsuite/gcc.dg/special/weak-2a.c5
-rw-r--r--gcc/testsuite/gcc.dg/special/weak-2b.c3
-rw-r--r--gcc/testsuite/gcc.dg/special/wkali-1.c15
-rw-r--r--gcc/testsuite/gcc.dg/special/wkali-2.c11
-rw-r--r--gcc/testsuite/gcc.dg/special/wkali-2a.c7
-rw-r--r--gcc/testsuite/gcc.dg/special/wkali-2b.c7
-rw-r--r--gcc/testsuite/gcc.dg/splet-1.c21
-rw-r--r--gcc/testsuite/gcc.dg/struct-ret-1.c45
-rw-r--r--gcc/testsuite/gcc.dg/switch-1.c17
-rw-r--r--gcc/testsuite/gcc.dg/ultrasp1.c9
-rw-r--r--gcc/testsuite/gcc.dg/uninit-1.c30
-rw-r--r--gcc/testsuite/gcc.dg/uninit-2.c52
-rw-r--r--gcc/testsuite/gcc.dg/uninit-3.c33
-rw-r--r--gcc/testsuite/gcc.dg/uninit-4.c50
-rw-r--r--gcc/testsuite/gcc.dg/uninit-5.c40
-rw-r--r--gcc/testsuite/gcc.dg/uninit-6.c47
-rw-r--r--gcc/testsuite/gcc.dg/uninit-8.c32
-rw-r--r--gcc/testsuite/gcc.dg/uninit-9.c41
-rw-r--r--gcc/testsuite/gcc.dg/uninit-A.c115
-rw-r--r--gcc/testsuite/gcc.dg/unused-1.c11
-rw-r--r--gcc/testsuite/gcc.failure/940409-1.c3
-rw-r--r--gcc/testsuite/gcc.failure/940409-1.x6
-rw-r--r--gcc/testsuite/gcc.failure/failure.exp58
-rw-r--r--gcc/testsuite/gcc.misc-tests/Makefile.in12
-rw-r--r--gcc/testsuite/gcc.misc-tests/acker1.c20
-rw-r--r--gcc/testsuite/gcc.misc-tests/acker1.exp31
-rw-r--r--gcc/testsuite/gcc.misc-tests/configure.in15
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-1.c14
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-10.c12
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-11.c9
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-12.c9
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-2.c11
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-3.c11
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-4.c5
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-5.c9
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-6.c9
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-7.c5
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-8.c9
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-9.c15
-rw-r--r--gcc/testsuite/gcc.misc-tests/dg-test.exp41
-rw-r--r--gcc/testsuite/gcc.misc-tests/dhry.c602
-rw-r--r--gcc/testsuite/gcc.misc-tests/dhry.exp31
-rw-r--r--gcc/testsuite/gcc.misc-tests/dhry.h431
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov-1.c20
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov-2.c21
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov.exp95
-rw-r--r--gcc/testsuite/gcc.misc-tests/m-un-1.c37
-rw-r--r--gcc/testsuite/gcc.misc-tests/m-un-2.c31
-rw-r--r--gcc/testsuite/gcc.misc-tests/matrix1.c46
-rw-r--r--gcc/testsuite/gcc.misc-tests/matrix1.exp31
-rw-r--r--gcc/testsuite/gcc.misc-tests/mg.c8
-rw-r--r--gcc/testsuite/gcc.misc-tests/mg.exp27
-rw-r--r--gcc/testsuite/gcc.misc-tests/msgs.exp33
-rw-r--r--gcc/testsuite/gcc.misc-tests/optbench.c288
-rw-r--r--gcc/testsuite/gcc.misc-tests/optbench.exp31
-rw-r--r--gcc/testsuite/gcc.misc-tests/sieve.c26
-rw-r--r--gcc/testsuite/gcc.misc-tests/sieve.exp31
-rw-r--r--gcc/testsuite/gcc.misc-tests/sort2.c54
-rw-r--r--gcc/testsuite/gcc.misc-tests/sort2.exp31
-rw-r--r--gcc/testsuite/lib/c-torture.exp288
-rw-r--r--gcc/testsuite/lib/chill.exp365
-rw-r--r--gcc/testsuite/lib/f-torture.exp317
-rw-r--r--gcc/testsuite/lib/g++-dg.exp83
-rw-r--r--gcc/testsuite/lib/g++.exp234
-rw-r--r--gcc/testsuite/lib/g77.exp274
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp84
-rw-r--r--gcc/testsuite/lib/gcc.exp325
-rw-r--r--gcc/testsuite/lib/mike-g++.exp264
-rw-r--r--gcc/testsuite/lib/mike-g77.exp262
-rw-r--r--gcc/testsuite/lib/mike-gcc.exp262
-rw-r--r--gcc/testsuite/lib/objc-torture.exp316
-rw-r--r--gcc/testsuite/lib/objc.exp269
-rw-r--r--gcc/testsuite/lib/old-dejagnu.exp585
-rw-r--r--gcc/testsuite/objc/execute/bf-1.m24
-rw-r--r--gcc/testsuite/objc/execute/bf-10.m22
-rw-r--r--gcc/testsuite/objc/execute/bf-11.m23
-rw-r--r--gcc/testsuite/objc/execute/bf-12.m23
-rw-r--r--gcc/testsuite/objc/execute/bf-13.m25
-rw-r--r--gcc/testsuite/objc/execute/bf-14.m25
-rw-r--r--gcc/testsuite/objc/execute/bf-15.m25
-rw-r--r--gcc/testsuite/objc/execute/bf-16.m26
-rw-r--r--gcc/testsuite/objc/execute/bf-17.m25
-rw-r--r--gcc/testsuite/objc/execute/bf-18.m17
-rw-r--r--gcc/testsuite/objc/execute/bf-19.m17
-rw-r--r--gcc/testsuite/objc/execute/bf-2.m24
-rw-r--r--gcc/testsuite/objc/execute/bf-3.m24
-rw-r--r--gcc/testsuite/objc/execute/bf-4.m24
-rw-r--r--gcc/testsuite/objc/execute/bf-5.m22
-rw-r--r--gcc/testsuite/objc/execute/bf-6.m22
-rw-r--r--gcc/testsuite/objc/execute/bf-7.m22
-rw-r--r--gcc/testsuite/objc/execute/bf-8.m22
-rw-r--r--gcc/testsuite/objc/execute/bf-9.m23
-rw-r--r--gcc/testsuite/objc/execute/bf-common.h76
-rw-r--r--gcc/testsuite/objc/execute/execute.exp42
-rw-r--r--gcc/tlink.c6
-rw-r--r--gcc/tm.texi3
-rw-r--r--gcc/toplev.c31
-rw-r--r--gcc/tree.c48
-rw-r--r--gcc/tree.h4
-rw-r--r--gcc/unroll.c26
-rw-r--r--gcc/varasm.c74
-rw-r--r--gcc/version.c2
-rw-r--r--include/ChangeLog16
-rw-r--r--libchill/ChangeLog28
-rw-r--r--libchill/Makefile.in7
-rwxr-xr-xlibchill/configure192
-rw-r--r--libchill/configure.in7
-rw-r--r--libf2c/ChangeLog58
-rw-r--r--libf2c/Makefile.in7
-rwxr-xr-xlibf2c/configure180
-rw-r--r--libf2c/configure.in7
-rw-r--r--libf2c/libF77/Version.c2
-rw-r--r--libf2c/libI77/Version.c2
-rw-r--r--libf2c/libI77/backspace.c1
-rw-r--r--libf2c/libI77/endfile.c1
-rw-r--r--libf2c/libI77/rsne.c2
-rw-r--r--libf2c/libU77/Version.c2
-rw-r--r--libf2c/libU77/date_.c5
-rw-r--r--libiberty/ChangeLog67
-rw-r--r--libiberty/Makefile.in34
-rw-r--r--libiberty/config.in12
-rwxr-xr-xlibiberty/configure153
-rw-r--r--libiberty/configure.in15
-rw-r--r--libiberty/getcwd.c10
-rw-r--r--libiberty/putenv.c68
-rw-r--r--libiberty/setenv.c164
-rw-r--r--libiberty/xstrdup.c1
-rw-r--r--libio/ChangeLog84
-rw-r--r--libio/configure.in16
-rw-r--r--libio/filebuf.cc16
-rw-r--r--libio/fstream.h97
-rw-r--r--libio/iolibio.h8
-rw-r--r--libio/iostream.cc75
-rw-r--r--libio/iostream.h1
-rw-r--r--libio/isgetline.cc12
-rw-r--r--libio/isgetsb.cc63
-rw-r--r--libio/isscan.cc55
-rw-r--r--libio/libio.h11
-rw-r--r--libio/libioP.h52
-rw-r--r--libio/parsestream.h157
-rw-r--r--libio/stdio/ChangeLog16
-rw-r--r--libio/stdstreams.cc154
-rw-r--r--libio/stream.h61
-rw-r--r--libio/streambuf.h6
-rw-r--r--libio/strstream.h116
-rw-r--r--libio/tests/ChangeLog16
-rw-r--r--libio/testsuite/ChangeLog16
-rw-r--r--libjava/COPYING.LIB482
-rw-r--r--libjava/ChangeLog5513
-rw-r--r--libjava/LIBGCJ_LICENSE11
-rw-r--r--libjava/Makefile.am807
-rw-r--r--libjava/Makefile.in1511
-rw-r--r--libjava/acconfig.h92
-rw-r--r--libjava/acinclude.m4156
-rw-r--r--libjava/aclocal.m4921
-rw-r--r--libjava/boehm.cc367
-rw-r--r--libjava/chartables.pl965
-rw-r--r--libjava/classes.pl104
-rwxr-xr-xlibjava/configure5323
-rw-r--r--libjava/configure.host61
-rw-r--r--libjava/configure.in536
-rw-r--r--libjava/doc/cni.sgml1064
-rw-r--r--libjava/exception.cc155
-rw-r--r--libjava/gnu/gcj/RawData.java16
-rw-r--r--libjava/gnu/gcj/convert/BytesToUnicode.java105
-rw-r--r--libjava/gnu/gcj/convert/Convert.java151
-rw-r--r--libjava/gnu/gcj/convert/Input_8859_1.java38
-rw-r--r--libjava/gnu/gcj/convert/Input_EUCJIS.java25
-rw-r--r--libjava/gnu/gcj/convert/Input_JavaSrc.java89
-rw-r--r--libjava/gnu/gcj/convert/Input_SJIS.java24
-rw-r--r--libjava/gnu/gcj/convert/Input_UTF8.java113
-rw-r--r--libjava/gnu/gcj/convert/JIS0201.h159
-rw-r--r--libjava/gnu/gcj/convert/JIS0208.h6880
-rw-r--r--libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc7325
-rw-r--r--libjava/gnu/gcj/convert/JIS0212.h6068
-rw-r--r--libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc6471
-rw-r--r--libjava/gnu/gcj/convert/Output_8859_1.java53
-rw-r--r--libjava/gnu/gcj/convert/Output_EUCJIS.java27
-rw-r--r--libjava/gnu/gcj/convert/Output_JavaSrc.java86
-rw-r--r--libjava/gnu/gcj/convert/Output_SJIS.java26
-rw-r--r--libjava/gnu/gcj/convert/Output_UTF8.java114
-rw-r--r--libjava/gnu/gcj/convert/UnicodeToBytes.java109
-rw-r--r--libjava/gnu/gcj/convert/Unicode_to_JIS.cc23139
-rw-r--r--libjava/gnu/gcj/convert/gen-from-JIS.c171
-rw-r--r--libjava/gnu/gcj/convert/make-trie.c176
-rw-r--r--libjava/gnu/gcj/convert/natInput_EUCJIS.cc101
-rw-r--r--libjava/gnu/gcj/convert/natInput_SJIS.cc76
-rw-r--r--libjava/gnu/gcj/convert/natOutput_EUCJIS.cc102
-rw-r--r--libjava/gnu/gcj/convert/natOutput_SJIS.cc72
-rw-r--r--libjava/gnu/gcj/protocol/file/Connection.java169
-rw-r--r--libjava/gnu/gcj/protocol/file/Handler.java49
-rw-r--r--libjava/gnu/gcj/protocol/http/Connection.java290
-rw-r--r--libjava/gnu/gcj/protocol/http/Handler.java35
-rw-r--r--libjava/gnu/gcj/text/BaseBreakIterator.java82
-rw-r--r--libjava/gnu/gcj/text/CharacterBreakIterator.java188
-rw-r--r--libjava/gnu/gcj/text/LineBreakIterator.java168
-rw-r--r--libjava/gnu/gcj/text/LocaleData_en.java81
-rw-r--r--libjava/gnu/gcj/text/LocaleData_en_US.java71
-rw-r--r--libjava/gnu/gcj/text/SentenceBreakIterator.java226
-rw-r--r--libjava/gnu/gcj/text/WordBreakIterator.java224
-rw-r--r--libjava/gnu/gcj/util/EnumerationChain.java52
-rw-r--r--libjava/include/boehm-gc.h24
-rw-r--r--libjava/include/cni.h133
-rw-r--r--libjava/include/config.h.in255
-rw-r--r--libjava/include/default-signal.h21
-rw-r--r--libjava/include/i386-signal.h64
-rw-r--r--libjava/include/java-array.h78
-rw-r--r--libjava/include/java-assert.h38
-rw-r--r--libjava/include/java-chardecomp.h3416
-rw-r--r--libjava/include/java-chartables.h82984
-rw-r--r--libjava/include/java-field.h158
-rw-r--r--libjava/include/java-method.h16
-rw-r--r--libjava/include/javaprims.h264
-rw-r--r--libjava/include/jni.h296
-rw-r--r--libjava/include/jvm.h101
-rw-r--r--libjava/include/no-gc.h17
-rw-r--r--libjava/include/no-threads.h154
-rw-r--r--libjava/include/posix-threads.h210
-rw-r--r--libjava/include/quick-threads.h139
-rw-r--r--libjava/include/sparc-signal.h63
-rw-r--r--libjava/java/awt/AWTEvent.java25
-rw-r--r--libjava/java/awt/BorderLayout.java46
-rw-r--r--libjava/java/awt/Component.java98
-rw-r--r--libjava/java/awt/Container.java59
-rw-r--r--libjava/java/awt/Dimension.java78
-rw-r--r--libjava/java/awt/Event.java26
-rw-r--r--libjava/java/awt/Font.java15
-rw-r--r--libjava/java/awt/Frame.java55
-rw-r--r--libjava/java/awt/LayoutManager.java20
-rw-r--r--libjava/java/awt/LayoutManager2.java20
-rw-r--r--libjava/java/awt/Menu.java33
-rw-r--r--libjava/java/awt/MenuBar.java44
-rw-r--r--libjava/java/awt/MenuComponent.java15
-rw-r--r--libjava/java/awt/MenuContainer.java27
-rw-r--r--libjava/java/awt/MenuItem.java25
-rw-r--r--libjava/java/awt/Point.java65
-rw-r--r--libjava/java/awt/Rectangle.java35
-rw-r--r--libjava/java/awt/Shape.java23
-rw-r--r--libjava/java/awt/TextArea.java49
-rw-r--r--libjava/java/awt/TextComponent.java38
-rw-r--r--libjava/java/awt/Toolkit.java29
-rw-r--r--libjava/java/awt/Window.java29
-rw-r--r--libjava/java/awt/event/ActionEvent.java35
-rw-r--r--libjava/java/awt/event/ActionListener.java21
-rw-r--r--libjava/java/awt/event/ComponentEvent.java20
-rw-r--r--libjava/java/awt/event/InputEvent.java22
-rw-r--r--libjava/java/awt/event/KeyEvent.java38
-rw-r--r--libjava/java/awt/event/KeyListener.java23
-rw-r--r--libjava/java/awt/event/TextEvent.java20
-rw-r--r--libjava/java/awt/event/TextListener.java22
-rw-r--r--libjava/java/awt/event/WindowAdapter.java27
-rw-r--r--libjava/java/awt/event/WindowEvent.java19
-rw-r--r--libjava/java/awt/event/WindowListener.java27
-rw-r--r--libjava/java/awt/geom/Dimension2D.java36
-rw-r--r--libjava/java/awt/geom/Point2D.java69
-rw-r--r--libjava/java/awt/natToolkit.cc27
-rw-r--r--libjava/java/awt/peer/ComponentPeer.java23
-rw-r--r--libjava/java/awt/peer/ContainerPeer.java15
-rw-r--r--libjava/java/awt/peer/FramePeer.java16
-rw-r--r--libjava/java/awt/peer/WindowPeer.java15
-rw-r--r--libjava/java/io/BufferedInputStream.java168
-rw-r--r--libjava/java/io/BufferedOutputStream.java76
-rw-r--r--libjava/java/io/BufferedReader.java373
-rw-r--r--libjava/java/io/BufferedWriter.java129
-rw-r--r--libjava/java/io/ByteArrayInputStream.java113
-rw-r--r--libjava/java/io/ByteArrayOutputStream.java108
-rw-r--r--libjava/java/io/CharArrayReader.java152
-rw-r--r--libjava/java/io/CharArrayWriter.java122
-rw-r--r--libjava/java/io/CharConversionException.java34
-rw-r--r--libjava/java/io/DataInput.java41
-rw-r--r--libjava/java/io/DataInputStream.java252
-rw-r--r--libjava/java/io/DataOutput.java44
-rw-r--r--libjava/java/io/DataOutputStream.java165
-rw-r--r--libjava/java/io/EOFException.java34
-rw-r--r--libjava/java/io/File.java292
-rw-r--r--libjava/java/io/FileDescriptor.java87
-rw-r--r--libjava/java/io/FileInputStream.java96
-rw-r--r--libjava/java/io/FileNotFoundException.java34
-rw-r--r--libjava/java/io/FileOutputStream.java93
-rw-r--r--libjava/java/io/FileReader.java35
-rw-r--r--libjava/java/io/FileWriter.java44
-rw-r--r--libjava/java/io/FilenameFilter.java26
-rw-r--r--libjava/java/io/FilterInputStream.java75
-rw-r--r--libjava/java/io/FilterOutputStream.java61
-rw-r--r--libjava/java/io/FilterReader.java72
-rw-r--r--libjava/java/io/FilterWriter.java58
-rw-r--r--libjava/java/io/IOException.java34
-rw-r--r--libjava/java/io/InputStream.java104
-rw-r--r--libjava/java/io/InputStreamReader.java158
-rw-r--r--libjava/java/io/InterruptedIOException.java36
-rw-r--r--libjava/java/io/LineNumberInputStream.java143
-rw-r--r--libjava/java/io/LineNumberReader.java245
-rw-r--r--libjava/java/io/OutputStream.java48
-rw-r--r--libjava/java/io/OutputStreamWriter.java160
-rw-r--r--libjava/java/io/PipedInputStream.java242
-rw-r--r--libjava/java/io/PipedOutputStream.java94
-rw-r--r--libjava/java/io/PipedReader.java210
-rw-r--r--libjava/java/io/PipedWriter.java88
-rw-r--r--libjava/java/io/PrintStream.java295
-rw-r--r--libjava/java/io/PrintWriter.java286
-rw-r--r--libjava/java/io/PushbackInputStream.java124
-rw-r--r--libjava/java/io/PushbackReader.java136
-rw-r--r--libjava/java/io/RandomAccessFile.java247
-rw-r--r--libjava/java/io/Reader.java87
-rw-r--r--libjava/java/io/SequenceInputStream.java110
-rw-r--r--libjava/java/io/Serializable.java21
-rw-r--r--libjava/java/io/StreamTokenizer.java433
-rw-r--r--libjava/java/io/StringBufferInputStream.java83
-rw-r--r--libjava/java/io/StringReader.java139
-rw-r--r--libjava/java/io/StringWriter.java80
-rw-r--r--libjava/java/io/SyncFailedException.java34
-rw-r--r--libjava/java/io/UTFDataFormatException.java34
-rw-r--r--libjava/java/io/UnsupportedEncodingException.java32
-rw-r--r--libjava/java/io/Writer.java67
-rw-r--r--libjava/java/io/natFile.cc273
-rw-r--r--libjava/java/io/natFileDescriptorEcos.cc132
-rw-r--r--libjava/java/io/natFileDescriptorPosix.cc264
-rw-r--r--libjava/java/lang/AbstractMethodError.java34
-rw-r--r--libjava/java/lang/ArithmeticException.java32
-rw-r--r--libjava/java/lang/ArrayIndexOutOfBoundsException.java37
-rw-r--r--libjava/java/lang/ArrayStoreException.java32
-rw-r--r--libjava/java/lang/Boolean.java95
-rw-r--r--libjava/java/lang/Byte.java144
-rw-r--r--libjava/java/lang/Character.java286
-rw-r--r--libjava/java/lang/Class.h214
-rw-r--r--libjava/java/lang/Class.java155
-rw-r--r--libjava/java/lang/ClassCastException.java32
-rw-r--r--libjava/java/lang/ClassCircularityError.java34
-rw-r--r--libjava/java/lang/ClassFormatError.java34
-rw-r--r--libjava/java/lang/ClassLoader.java94
-rw-r--r--libjava/java/lang/ClassNotFoundException.java57
-rw-r--r--libjava/java/lang/CloneNotSupportedException.java32
-rw-r--r--libjava/java/lang/Cloneable.java23
-rw-r--r--libjava/java/lang/Comparable.java22
-rw-r--r--libjava/java/lang/Compiler.java53
-rw-r--r--libjava/java/lang/Double.java149
-rw-r--r--libjava/java/lang/EcosProcess.java59
-rw-r--r--libjava/java/lang/Error.java34
-rw-r--r--libjava/java/lang/Exception.java32
-rw-r--r--libjava/java/lang/ExceptionInInitializerError.java50
-rw-r--r--libjava/java/lang/FirstThread.java40
-rw-r--r--libjava/java/lang/Float.java149
-rw-r--r--libjava/java/lang/IllegalAccessError.java34
-rw-r--r--libjava/java/lang/IllegalAccessException.java32
-rw-r--r--libjava/java/lang/IllegalArgumentException.java32
-rw-r--r--libjava/java/lang/IllegalMonitorStateException.java32
-rw-r--r--libjava/java/lang/IllegalStateException.java32
-rw-r--r--libjava/java/lang/IllegalThreadStateException.java32
-rw-r--r--libjava/java/lang/IncompatibleClassChangeError.java34
-rw-r--r--libjava/java/lang/IndexOutOfBoundsException.java32
-rw-r--r--libjava/java/lang/InstantiationError.java34
-rw-r--r--libjava/java/lang/InstantiationException.java32
-rw-r--r--libjava/java/lang/Integer.java350
-rw-r--r--libjava/java/lang/InternalError.java34
-rw-r--r--libjava/java/lang/InterruptedException.java32
-rw-r--r--libjava/java/lang/LinkageError.java34
-rw-r--r--libjava/java/lang/Long.java361
-rw-r--r--libjava/java/lang/Math.java118
-rw-r--r--libjava/java/lang/NegativeArraySizeException.java32
-rw-r--r--libjava/java/lang/NoClassDefFoundError.java34
-rw-r--r--libjava/java/lang/NoSuchFieldError.java34
-rw-r--r--libjava/java/lang/NoSuchFieldException.java32
-rw-r--r--libjava/java/lang/NoSuchMethodError.java34
-rw-r--r--libjava/java/lang/NoSuchMethodException.java32
-rw-r--r--libjava/java/lang/NullPointerException.java32
-rw-r--r--libjava/java/lang/Number.java39
-rw-r--r--libjava/java/lang/NumberFormatException.java32
-rw-r--r--libjava/java/lang/Object.h79
-rw-r--r--libjava/java/lang/Object.java86
-rw-r--r--libjava/java/lang/OutOfMemoryError.java34
-rw-r--r--libjava/java/lang/PosixProcess.java74
-rw-r--r--libjava/java/lang/Process.java30
-rw-r--r--libjava/java/lang/Runnable.java27
-rw-r--r--libjava/java/lang/Runtime.java128
-rw-r--r--libjava/java/lang/RuntimeException.java32
-rw-r--r--libjava/java/lang/SecurityException.java31
-rw-r--r--libjava/java/lang/SecurityManager.java263
-rw-r--r--libjava/java/lang/Short.java145
-rw-r--r--libjava/java/lang/StackOverflowError.java34
-rw-r--r--libjava/java/lang/String.java304
-rw-r--r--libjava/java/lang/StringBuffer.java276
-rw-r--r--libjava/java/lang/StringIndexOutOfBoundsException.java37
-rw-r--r--libjava/java/lang/System.java166
-rw-r--r--libjava/java/lang/Thread.java297
-rw-r--r--libjava/java/lang/ThreadDeath.java35
-rw-r--r--libjava/java/lang/ThreadGroup.java406
-rw-r--r--libjava/java/lang/Throwable.java80
-rw-r--r--libjava/java/lang/UnknownError.java34
-rw-r--r--libjava/java/lang/UnsatisfiedLinkError.java34
-rw-r--r--libjava/java/lang/UnsupportedOperationException.java32
-rw-r--r--libjava/java/lang/VerifyError.java34
-rw-r--r--libjava/java/lang/VirtualMachineError.java34
-rw-r--r--libjava/java/lang/Void.java30
-rw-r--r--libjava/java/lang/dtoa.c906
-rw-r--r--libjava/java/lang/e_acos.c111
-rw-r--r--libjava/java/lang/e_asin.c120
-rw-r--r--libjava/java/lang/e_atan2.c131
-rw-r--r--libjava/java/lang/e_exp.c167
-rw-r--r--libjava/java/lang/e_fmod.c140
-rw-r--r--libjava/java/lang/e_log.c152
-rw-r--r--libjava/java/lang/e_pow.c312
-rw-r--r--libjava/java/lang/e_rem_pio2.c185
-rw-r--r--libjava/java/lang/e_remainder.c80
-rw-r--r--libjava/java/lang/e_scalb.c55
-rw-r--r--libjava/java/lang/e_sqrt.c452
-rw-r--r--libjava/java/lang/fdlibm.h343
-rw-r--r--libjava/java/lang/ieeefp.h103
-rw-r--r--libjava/java/lang/k_cos.c96
-rw-r--r--libjava/java/lang/k_rem_pio2.c320
-rw-r--r--libjava/java/lang/k_sin.c79
-rw-r--r--libjava/java/lang/k_tan.c132
-rw-r--r--libjava/java/lang/mprec.c958
-rw-r--r--libjava/java/lang/mprec.h374
-rw-r--r--libjava/java/lang/natCharacter.cc284
-rw-r--r--libjava/java/lang/natClass.cc785
-rw-r--r--libjava/java/lang/natDouble.cc187
-rw-r--r--libjava/java/lang/natEcosProcess.cc25
-rw-r--r--libjava/java/lang/natFirstThread.cc56
-rw-r--r--libjava/java/lang/natFloat.cc43
-rw-r--r--libjava/java/lang/natMath.cc263
-rw-r--r--libjava/java/lang/natObject.cc240
-rw-r--r--libjava/java/lang/natPosixProcess.cc203
-rw-r--r--libjava/java/lang/natRuntime.cc123
-rw-r--r--libjava/java/lang/natString.cc839
-rw-r--r--libjava/java/lang/natSystem.cc332
-rw-r--r--libjava/java/lang/natThread.cc295
-rw-r--r--libjava/java/lang/reflect/AccessibleObject.java53
-rw-r--r--libjava/java/lang/reflect/Array.java78
-rw-r--r--libjava/java/lang/reflect/Constructor.java106
-rw-r--r--libjava/java/lang/reflect/Field.java264
-rw-r--r--libjava/java/lang/reflect/InvocationTargetException.java73
-rw-r--r--libjava/java/lang/reflect/Member.java26
-rw-r--r--libjava/java/lang/reflect/Method.java123
-rw-r--r--libjava/java/lang/reflect/Modifier.java130
-rw-r--r--libjava/java/lang/reflect/natArray.cc339
-rw-r--r--libjava/java/lang/reflect/natField.cc435
-rw-r--r--libjava/java/lang/reflect/natMethod.cc386
-rw-r--r--libjava/java/lang/s_atan.c181
-rw-r--r--libjava/java/lang/s_ceil.c80
-rw-r--r--libjava/java/lang/s_copysign.c82
-rw-r--r--libjava/java/lang/s_cos.c82
-rw-r--r--libjava/java/lang/s_fabs.c73
-rw-r--r--libjava/java/lang/s_floor.c134
-rw-r--r--libjava/java/lang/s_rint.c87
-rw-r--r--libjava/java/lang/s_scalbn.c104
-rw-r--r--libjava/java/lang/s_sin.c132
-rw-r--r--libjava/java/lang/s_tan.c114
-rw-r--r--libjava/java/lang/sf_rint.c80
-rw-r--r--libjava/java/lang/strtod.c720
-rw-r--r--libjava/java/lang/w_acos.c118
-rw-r--r--libjava/java/lang/w_asin.c121
-rw-r--r--libjava/java/lang/w_atan2.c117
-rw-r--r--libjava/java/lang/w_exp.c136
-rw-r--r--libjava/java/lang/w_fmod.c107
-rw-r--r--libjava/java/lang/w_log.c115
-rw-r--r--libjava/java/lang/w_pow.c231
-rw-r--r--libjava/java/lang/w_remainder.c119
-rw-r--r--libjava/java/lang/w_sqrt.c93
-rw-r--r--libjava/java/net/BindException.java35
-rw-r--r--libjava/java/net/ConnectException.java35
-rw-r--r--libjava/java/net/ContentHandler.java29
-rw-r--r--libjava/java/net/ContentHandlerFactory.java27
-rw-r--r--libjava/java/net/FileNameMap.java27
-rw-r--r--libjava/java/net/HttpURLConnection.java174
-rw-r--r--libjava/java/net/InetAddress.java255
-rw-r--r--libjava/java/net/MalformedURLException.java35
-rw-r--r--libjava/java/net/NoRouteToHostException.java35
-rw-r--r--libjava/java/net/PlainSocketImpl.java75
-rw-r--r--libjava/java/net/ProtocolException.java35
-rw-r--r--libjava/java/net/ServerSocket.java105
-rw-r--r--libjava/java/net/Socket.java209
-rw-r--r--libjava/java/net/SocketException.java33
-rw-r--r--libjava/java/net/SocketImpl.java72
-rw-r--r--libjava/java/net/SocketImplFactory.java25
-rw-r--r--libjava/java/net/URL.java341
-rw-r--r--libjava/java/net/URLConnection.java423
-rw-r--r--libjava/java/net/URLDecoder.java48
-rw-r--r--libjava/java/net/URLEncoder.java71
-rw-r--r--libjava/java/net/URLStreamHandler.java107
-rw-r--r--libjava/java/net/URLStreamHandlerFactory.java27
-rw-r--r--libjava/java/net/UnknownHostException.java34
-rw-r--r--libjava/java/net/UnknownServiceException.java35
-rw-r--r--libjava/java/net/natInetAddress.cc277
-rw-r--r--libjava/java/net/natPlainSocketImpl.cc180
-rw-r--r--libjava/java/security/MessageDigest.java64
-rw-r--r--libjava/java/security/NoSuchAlgorithmException.java22
-rw-r--r--libjava/java/text/BreakIterator.java160
-rw-r--r--libjava/java/text/CharacterIterator.java36
-rw-r--r--libjava/java/text/ChoiceFormat.java310
-rw-r--r--libjava/java/text/CollationElementIterator.java79
-rw-r--r--libjava/java/text/CollationKey.java104
-rw-r--r--libjava/java/text/Collator.java130
-rw-r--r--libjava/java/text/DateFormat.java318
-rw-r--r--libjava/java/text/DateFormatSymbols.java265
-rw-r--r--libjava/java/text/DecimalFormat.java983
-rw-r--r--libjava/java/text/DecimalFormatSymbols.java293
-rw-r--r--libjava/java/text/FieldPosition.java65
-rw-r--r--libjava/java/text/Format.java51
-rw-r--r--libjava/java/text/MessageFormat.java543
-rw-r--r--libjava/java/text/NumberFormat.java236
-rw-r--r--libjava/java/text/ParseException.java34
-rw-r--r--libjava/java/text/ParsePosition.java59
-rw-r--r--libjava/java/text/RuleBasedCollator.java366
-rw-r--r--libjava/java/text/SimpleDateFormat.java522
-rw-r--r--libjava/java/text/StringCharacterIterator.java142
-rw-r--r--libjava/java/text/natCollator.cc74
-rw-r--r--libjava/java/util/BitSet.java183
-rw-r--r--libjava/java/util/Calendar.java259
-rw-r--r--libjava/java/util/ConcurrentModificationException.java33
-rw-r--r--libjava/java/util/Date.java460
-rw-r--r--libjava/java/util/Dictionary.java34
-rw-r--r--libjava/java/util/EmptyStackException.java27
-rw-r--r--libjava/java/util/Enumeration.java24
-rw-r--r--libjava/java/util/EventListener.java24
-rw-r--r--libjava/java/util/EventObject.java42
-rw-r--r--libjava/java/util/GregorianCalendar.java266
-rw-r--r--libjava/java/util/Hashtable.java398
-rw-r--r--libjava/java/util/ListResourceBundle.java52
-rw-r--r--libjava/java/util/Locale.java126
-rw-r--r--libjava/java/util/MissingResourceException.java43
-rw-r--r--libjava/java/util/NoSuchElementException.java32
-rw-r--r--libjava/java/util/Observable.java98
-rw-r--r--libjava/java/util/Observer.java24
-rw-r--r--libjava/java/util/Properties.java380
-rw-r--r--libjava/java/util/PropertyResourceBundle.java47
-rw-r--r--libjava/java/util/Random.java148
-rw-r--r--libjava/java/util/ResourceBundle.java185
-rw-r--r--libjava/java/util/SimpleTimeZone.java182
-rw-r--r--libjava/java/util/Stack.java74
-rw-r--r--libjava/java/util/StringTokenizer.java185
-rw-r--r--libjava/java/util/TimeZone.java120
-rw-r--r--libjava/java/util/TooManyListenersException.java32
-rw-r--r--libjava/java/util/Vector.java450
-rw-r--r--libjava/java/util/natDate.cc45
-rw-r--r--libjava/java/util/natGregorianCalendar.cc124
-rw-r--r--libjava/java/util/zip/Adler32.java101
-rw-r--r--libjava/java/util/zip/CRC32.java70
-rw-r--r--libjava/java/util/zip/Checksum.java31
-rw-r--r--libjava/java/util/zip/Deflater.java13
-rw-r--r--libjava/java/util/zip/DeflaterOutputStream.java46
-rw-r--r--libjava/java/util/zip/InflaterInputStream.java20
-rw-r--r--libjava/java/util/zip/ZipConstants.java18
-rw-r--r--libjava/java/util/zip/ZipEntry.java116
-rw-r--r--libjava/java/util/zip/ZipException.java33
-rw-r--r--libjava/java/util/zip/ZipFile.java180
-rw-r--r--libjava/java/util/zip/ZipInputStream.java190
-rw-r--r--libjava/java/util/zip/ZipOutputStream.java73
-rw-r--r--libjava/jni.cc308
-rw-r--r--libjava/libgcj.spec.in7
-rw-r--r--libjava/libtool-version6
-rw-r--r--libjava/mauve-libgcj25
-rw-r--r--libjava/no-threads.cc26
-rw-r--r--libjava/nogc.cc81
-rw-r--r--libjava/posix-threads.cc360
-rw-r--r--libjava/prims.cc608
-rw-r--r--libjava/quick-threads.cc51
-rw-r--r--libjava/testsuite/ChangeLog365
-rw-r--r--libjava/testsuite/Makefile.am15
-rw-r--r--libjava/testsuite/Makefile.in264
-rw-r--r--libjava/testsuite/config/default.exp1
-rw-r--r--libjava/testsuite/lib/libjava.exp472
-rw-r--r--libjava/testsuite/libjava.compile/Case.java15
-rw-r--r--libjava/testsuite/libjava.compile/OperatorBenchmark.java886
-rw-r--r--libjava/testsuite/libjava.compile/Semi.java8
-rw-r--r--libjava/testsuite/libjava.compile/Statics.java7
-rw-r--r--libjava/testsuite/libjava.compile/Twice.java14
-rw-r--r--libjava/testsuite/libjava.compile/Where.java12
-rw-r--r--libjava/testsuite/libjava.compile/euc_comment1.java5
-rw-r--r--libjava/testsuite/libjava.compile/euc_comment2.java5
-rw-r--r--libjava/testsuite/libjava.compile/euc_comment3.java5
-rw-r--r--libjava/testsuite/libjava.compile/perc.java9
-rw-r--r--libjava/testsuite/libjava.compile/plusplus.java10
-rw-r--r--libjava/testsuite/libjava.compile/sjis_comment1.java5
-rw-r--r--libjava/testsuite/libjava.compile/sjis_comment2.java5
-rw-r--r--libjava/testsuite/libjava.compile/sjis_comment3.java5
-rw-r--r--libjava/testsuite/libjava.compile/support/Case.java6
-rw-r--r--libjava/testsuite/libjava.compile/support/Waldo.java7
-rw-r--r--libjava/testsuite/libjava.compile/test.exp10
-rw-r--r--libjava/testsuite/libjava.lang/Array_1.java18
-rw-r--r--libjava/testsuite/libjava.lang/Array_1.out4
-rw-r--r--libjava/testsuite/libjava.lang/Finalize_1.java28
-rw-r--r--libjava/testsuite/libjava.lang/Finalize_1.out1
-rw-r--r--libjava/testsuite/libjava.lang/Float_1.java52
-rw-r--r--libjava/testsuite/libjava.lang/Float_1.out1
-rw-r--r--libjava/testsuite/libjava.lang/Invoke_1.java27
-rw-r--r--libjava/testsuite/libjava.lang/Invoke_1.out1
-rw-r--r--libjava/testsuite/libjava.lang/Invoke_2.java20
-rw-r--r--libjava/testsuite/libjava.lang/Invoke_2.out1
-rw-r--r--libjava/testsuite/libjava.lang/Synch.java17
-rw-r--r--libjava/testsuite/libjava.lang/Synch.out1
-rw-r--r--libjava/testsuite/libjava.lang/Thread_1.java182
-rw-r--r--libjava/testsuite/libjava.lang/Thread_1.out10
-rw-r--r--libjava/testsuite/libjava.lang/Throw_1.java25
-rw-r--r--libjava/testsuite/libjava.lang/Throw_1.out0
-rw-r--r--libjava/testsuite/libjava.lang/test.exp34
-rw-r--r--libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java31
-rw-r--r--libjava/testsuite/libjava.mauve/mauve.exp355
-rw-r--r--libobjc/ChangeLog42
-rw-r--r--libobjc/Makefile.in7
-rwxr-xr-xlibobjc/configure164
-rw-r--r--libobjc/configure.in7
-rw-r--r--libobjc/init.c10
-rw-r--r--libobjc/objc/Protocol.h2
-rw-r--r--libobjc/objc/objc-list.h2
-rw-r--r--libobjc/sendmsg.c6
-rw-r--r--libstdc++/ChangeLog126
-rw-r--r--libstdc++/Makefile.in16
-rw-r--r--libstdc++/configure.in16
-rw-r--r--libstdc++/sstream343
-rw-r--r--libstdc++/std/bastring.cc10
-rw-r--r--libstdc++/std/bastring.h22
-rw-r--r--libstdc++/std/complext.cc2
-rw-r--r--libstdc++/std/gslice.h111
-rw-r--r--libstdc++/std/gslice_array.h170
-rw-r--r--libstdc++/std/indirect_array.h157
-rw-r--r--libstdc++/std/mask_array.h154
-rw-r--r--libstdc++/std/slice.h76
-rw-r--r--libstdc++/std/slice_array.h156
-rw-r--r--libstdc++/std/std_valarray.h728
-rw-r--r--libstdc++/std/valarray_array.h346
-rw-r--r--libstdc++/std/valarray_array.tcc130
-rw-r--r--libstdc++/std/valarray_meta.h1046
-rw-r--r--libstdc++/stdexcepti.cc4
-rw-r--r--libstdc++/stl/ChangeLog42
-rw-r--r--libstdc++/stl/bitset3
-rw-r--r--libstdc++/stl/pthread_alloc18
-rw-r--r--libstdc++/stl/stl_algo.h4
-rw-r--r--libstdc++/stl/stl_deque.h14
-rw-r--r--libstdc++/stl/stl_function.h8
-rw-r--r--libstdc++/stl/stl_numeric.h14
-rw-r--r--libstdc++/stl/stl_queue.h82
-rw-r--r--libstdc++/stl/stl_rope.h28
-rw-r--r--libstdc++/tests/ChangeLog16
-rw-r--r--libstdc++/testsuite/ChangeLog16
-rw-r--r--libstdc++/valarray8
-rw-r--r--libstdc++/valarray.cc50
-rwxr-xr-xltconfig1825
-rw-r--r--ltmain.sh2949
-rw-r--r--texinfo/ChangeLog51
-rw-r--r--texinfo/Makefile.am6
-rw-r--r--texinfo/Makefile.in6
-rw-r--r--texinfo/acconfig.h5
-rwxr-xr-xtexinfo/config.guess894
-rw-r--r--texinfo/config.h.in11
-rwxr-xr-xtexinfo/config.sub956
-rwxr-xr-xtexinfo/configure621
-rw-r--r--texinfo/configure.in2
-rw-r--r--texinfo/intl/ChangeLog16
-rw-r--r--texinfo/intl/explodename.c4
-rw-r--r--texinfo/lib/system.h4
-rw-r--r--texinfo/makeinfo/makeinfo.c2
-rw-r--r--texinfo/po/ChangeLog16
-rw-r--r--texinfo/testsuite/ChangeLog16
-rw-r--r--zlib/ChangeLog471
-rw-r--r--zlib/ChangeLog.gcj17
-rw-r--r--zlib/FAQ72
-rw-r--r--zlib/INDEX86
-rw-r--r--zlib/Make_vms.com115
-rw-r--r--zlib/Makefile.am26
-rw-r--r--zlib/Makefile.in383
-rw-r--r--zlib/Makefile.riscos151
-rw-r--r--zlib/README148
-rw-r--r--zlib/acinclude.m437
-rw-r--r--zlib/aclocal.m4779
-rw-r--r--zlib/adler32.c48
-rw-r--r--zlib/algorithm.txt213
-rw-r--r--zlib/amiga/Makefile.pup66
-rw-r--r--zlib/amiga/Makefile.sas64
-rw-r--r--zlib/compress.c68
-rwxr-xr-xzlib/configure3020
-rw-r--r--zlib/configure.in101
-rw-r--r--zlib/contrib/README.contrib34
-rw-r--r--zlib/contrib/asm386/gvmat32.asm559
-rw-r--r--zlib/contrib/asm386/gvmat32c.c200
-rw-r--r--zlib/contrib/asm386/mkgvmt32.bat1
-rw-r--r--zlib/contrib/asm386/zlibvc.def74
-rw-r--r--zlib/contrib/asm386/zlibvc.dsp651
-rw-r--r--zlib/contrib/asm386/zlibvc.dsw41
-rw-r--r--zlib/contrib/asm586/README.58643
-rw-r--r--zlib/contrib/asm586/match.S354
-rw-r--r--zlib/contrib/asm686/README.68634
-rw-r--r--zlib/contrib/asm686/match.S327
-rw-r--r--zlib/contrib/delphi/zlib.mak36
-rw-r--r--zlib/contrib/delphi/zlibdef.pas169
-rw-r--r--zlib/contrib/delphi2/d_zlib.bpr224
-rw-r--r--zlib/contrib/delphi2/d_zlib.cpp17
-rw-r--r--zlib/contrib/delphi2/readme.txt17
-rw-r--r--zlib/contrib/delphi2/zlib.bpg26
-rw-r--r--zlib/contrib/delphi2/zlib.bpr225
-rw-r--r--zlib/contrib/delphi2/zlib.cpp22
-rw-r--r--zlib/contrib/delphi2/zlib.pas534
-rw-r--r--zlib/contrib/delphi2/zlib32.bpr174
-rw-r--r--zlib/contrib/delphi2/zlib32.cpp42
-rw-r--r--zlib/contrib/iostream/test.cpp24
-rw-r--r--zlib/contrib/iostream/zfstream.cpp329
-rw-r--r--zlib/contrib/iostream/zfstream.h142
-rw-r--r--zlib/contrib/iostream2/zstream.h307
-rw-r--r--zlib/contrib/iostream2/zstream_test.cpp25
-rw-r--r--zlib/contrib/minizip/ChangeLogUnzip38
-rw-r--r--zlib/contrib/minizip/Makefile25
-rw-r--r--zlib/contrib/minizip/miniunz.c508
-rw-r--r--zlib/contrib/minizip/minizip.c302
-rw-r--r--zlib/contrib/minizip/readme.txt37
-rw-r--r--zlib/contrib/minizip/unzip.c1294
-rw-r--r--zlib/contrib/minizip/unzip.def15
-rw-r--r--zlib/contrib/minizip/unzip.h275
-rw-r--r--zlib/contrib/minizip/zip.c718
-rw-r--r--zlib/contrib/minizip/zip.def5
-rw-r--r--zlib/contrib/minizip/zip.h150
-rw-r--r--zlib/contrib/minizip/zlibvc.def74
-rw-r--r--zlib/contrib/minizip/zlibvc.dsp651
-rw-r--r--zlib/contrib/minizip/zlibvc.dsw41
-rw-r--r--zlib/contrib/untgz/Makefile14
-rw-r--r--zlib/contrib/untgz/makefile.w3263
-rw-r--r--zlib/contrib/untgz/untgz.c522
-rw-r--r--zlib/contrib/visual-basic.txt69
-rw-r--r--zlib/crc32.c162
-rw-r--r--zlib/deflate.c1350
-rw-r--r--zlib/deflate.h318
-rw-r--r--zlib/descrip.mms48
-rw-r--r--zlib/example.c556
-rw-r--r--zlib/gzio.c875
-rw-r--r--zlib/infblock.c398
-rw-r--r--zlib/infblock.h39
-rw-r--r--zlib/infcodes.c257
-rw-r--r--zlib/infcodes.h27
-rw-r--r--zlib/inffast.c170
-rw-r--r--zlib/inffast.h17
-rw-r--r--zlib/inffixed.h151
-rw-r--r--zlib/inflate.c366
-rw-r--r--zlib/inftrees.c455
-rw-r--r--zlib/inftrees.h58
-rw-r--r--zlib/infutil.c87
-rw-r--r--zlib/infutil.h98
-rw-r--r--zlib/maketree.c85
-rw-r--r--zlib/minigzip.c320
-rw-r--r--zlib/msdos/Makefile.b32104
-rw-r--r--zlib/msdos/Makefile.bor125
-rw-r--r--zlib/msdos/Makefile.dj2100
-rw-r--r--zlib/msdos/Makefile.emx69
-rw-r--r--zlib/msdos/Makefile.msc121
-rw-r--r--zlib/msdos/Makefile.tc108
-rw-r--r--zlib/msdos/Makefile.w3297
-rw-r--r--zlib/msdos/Makefile.wat103
-rw-r--r--zlib/msdos/zlib.def60
-rw-r--r--zlib/msdos/zlib.rc32
-rw-r--r--zlib/nt/Makefile.emx138
-rw-r--r--zlib/nt/Makefile.gcc87
-rw-r--r--zlib/nt/Makefile.nt88
-rw-r--r--zlib/nt/zlib.dnt47
-rw-r--r--zlib/os2/Makefile.os2136
-rw-r--r--zlib/os2/zlib.def51
-rw-r--r--zlib/trees.c1214
-rw-r--r--zlib/trees.h128
-rw-r--r--zlib/uncompr.c58
-rw-r--r--zlib/zconf.h279
-rw-r--r--zlib/zlib.3107
-rw-r--r--zlib/zlib.h893
-rw-r--r--zlib/zutil.c225
-rw-r--r--zlib/zutil.h220
4852 files changed, 25730 insertions, 422371 deletions
diff --git a/ChangeLog b/ChangeLog
index 062c421567f..d7319f7cfaa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,84 @@
+Tue Mar 7 21:48:55 2000 Jeffrey A Law (law@cygnus.com)
+
+ * config.guess: Fix detection of ReliantUNIX.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Aug 4 02:07:14 1999 Jeffrey A Law (law@cygnus.com)
+
+ * config.sub (vxworks case): Use os=-vxworks, not os=vxworks.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Tue Jun 22 23:39:29 1999 Tom Tromey <tromey@cygnus.com>
+
+ * configure.in (target_libs): Added target-zlib.
+ * Makefile.in (ALL_TARGET_MODULES): Added zlib.
+ (CONFIGURE_TARGET_MODULES): Likewise.
+ (CHECK_TARGET_MODULES): Likewise.
+ (INSTALL_TARGET_MODULES): Likewise.
+ (CLEAN_TARGET_MODULES): Likewise.
+ (configure-target-zlib): New target.
+ (all-target-zlib): Likewise.
+ (all-target-libjava): Depend on all-target-zlib.
+ (configure-target-libjava): Depend on configure-target-zlib.
+
+ * Makefile.in (configure-target-libjava): Depend on
+ configure-target-newlib.
+ (configure-target-boehm-gc): New target.
+ (configure-target-qthreads): New target.
+
+ * configure.in (host_tools): Added zip.
+ * Makefile.in (all-target-libjava): Depend on all-zip.
+ (all-zip): New target.
+ (ALL_MODULES): Added all-zip.
+ (NATIVE_CHECK_MODULES): Added check-zip.
+ (INSTALL_MODULES): Added install-zip.
+ (CLEAN_MODULES): Added clean-zip.
+
+ * configure.in (target_libs): Added target-qthreads.
+ * Makefile.in (ALL_TARGET_MODULES): Added qthreads.
+ (CONFIGURE_TARGET_MODULES): Likewise.
+ (CHECK_TARGET_MODULES): Likewise.
+ (INSTALL_TARGET_MODULES): Likewise.
+ (CLEAN_TARGET_MODULES): Likewise.
+ (all-target-qthreads): New target.
+ (configure-target-libjava): Depend on configure-target-qthreads.
+ (all-target-libjava): Depend on all-target-qthreads.
+
+ * Makefile.in (ALL_TARGET_MODULES): Added libjava, boehm-gc.
+ (CONFIGURE_TARGET_MODULES): Likewise.
+ (CHECK_TARGET_MODULES): Likewise.
+ (INSTALL_TARGET_MODULES): Likewise.
+ (CLEAN_TARGET_MODULES): Likewise.
+ (all-target-libjava): New target.
+ (all-target-boehm-gc): Likewise.
+ * configure.in (target_libs): Added libjava, boehm-gc.
+
+Sun May 30 16:03:16 1999 Cort Dougan <cort@cs.nmt.edu>
+
+ * config.guess (ppc-*-linux-gnu): Also use ld emul elf32ppclinux.
+
+Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com>
+
+ * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
+
+1999-04-23 Tom Tromey <tromey@cygnus.com>
+
+ * ltconfig, ltmain.sh: Update to libtool 1.2f.
+
Tue Apr 13 22:50:54 1999 Donn Terry (donn@interix.com)
Martin Heller (Ing.-Buero_Heller@t-online.de)
diff --git a/INSTALL/README b/INSTALL/README
index 5fd9648bfef..8afbd068f4f 100644
--- a/INSTALL/README
+++ b/INSTALL/README
@@ -2,7 +2,7 @@ This directory has been obsoleted for egcs snapshots and CVS access.
Instead check out the toplevel "wwwdocs" as a sibling of your egcs
tree or read these files via the egcs web site
-http://egcs.cygnus.com
+http://www.gnu.org/software/gcc/
Copies of the relevant files will be copied into this directory for
diff --git a/MAINTAINERS b/MAINTAINERS
index bc164d65f45..4ab0dd9dece 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -55,6 +55,7 @@ caller-save.c Jeff Law law@cygnus.com
debugging code Jim Wilson wilson@cygnus.com
dwarf debugging code Jason Merrill jason@cygnus.com
c++ runtime libs Ulrich Drepper drepper@cygnus.com
+C++ runtime libs Gabriel Dos Reis dosreis@cmla.ens-cachan.fr
*synthetic multiply Torbjorn Granlund tege@swox.com
*c-torture Torbjorn Granlund tege@swox.com
*f-torture Kate Hedstrom kate@ahab.rutgers.edu
@@ -99,6 +100,7 @@ Andrew Haley aph@cygnus.com
Alexandre Petit-Bianco apbianco@cygnus.com
Anthony Green green@cygnus.com
Stu Grossman grossman@cygnus.com
+Gabriel Dos Reis dosreis@cmla.ens-cachan.fr
* Indicates folks we need to get Kerberos/ssh accounts ready so they
diff --git a/Makefile.in b/Makefile.in
index 795a7da3fd3..7af178465b9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -233,7 +233,7 @@ CC_FOR_TARGET = ` \
# variable is passed down to the gcc Makefile, where it is used to
# build libgcc2.a. We define it here so that it can itself be
# overridden on the command line.
-GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/
+GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/ -I$(build_tooldir)/include
CHILL_FOR_TARGET = ` \
if [ -f $$r/gcc/xgcc ] ; then \
@@ -567,6 +567,7 @@ ALL_MODULES = \
all-time \
all-uudecode \
all-wdiff \
+ all-zip \
$(EXTRA_TARGET_HOST_ALL_MODULES)
# This is a list of the check targets for all of the modules which are
@@ -578,7 +579,8 @@ ALL_MODULES = \
NATIVE_CHECK_MODULES = \
check-bison \
check-byacc \
- check-flex
+ check-flex \
+ check-zip
CROSS_CHECK_MODULES = \
check-apache \
@@ -710,6 +712,7 @@ INSTALL_MODULES = \
install-time \
install-uudecode \
install-wdiff \
+ install-zip \
$(EXTRA_TARGET_HOST_INSTALL_MODULES)
# This is a list of the targets for all of the modules which are compiled
@@ -767,6 +770,10 @@ ALL_TARGET_MODULES = \
all-target-gperf \
all-target-examples \
all-target-libstub \
+ all-target-libjava \
+ all-target-zlib \
+ all-target-boehm-gc \
+ all-target-qthreads \
all-target-cygmon
# This is a list of the configure targets for all of the modules which
@@ -786,6 +793,10 @@ CONFIGURE_TARGET_MODULES = \
configure-target-gperf \
configure-target-examples \
configure-target-libstub \
+ configure-target-libjava \
+ configure-target-zlib \
+ configure-target-boehm-gc \
+ configure-target-qthreads \
configure-target-cygmon
# This is a list of the check targets for all of the modules which are
@@ -800,6 +811,10 @@ CHECK_TARGET_MODULES = \
check-target-libobjc \
check-target-winsup \
check-target-libiberty \
+ check-target-libjava \
+ check-target-zlib \
+ check-target-boehm-gc \
+ check-target-qthreads \
check-target-gperf
# This is a list of the install targets for all of the modules which are
@@ -815,6 +830,11 @@ INSTALL_TARGET_MODULES = \
install-target-winsup \
install-target-libgloss \
install-target-libiberty \
+ install-target-bsp \
+ install-target-libjava \
+ install-target-zlib \
+ install-target-boehm-gc \
+ install-target-qthreads \
install-target-gperf
# This is a list of the targets for which we can do a clean-{target}.
@@ -880,7 +900,9 @@ CLEAN_MODULES = \
clean-tgas \
clean-time \
clean-uudecode \
- clean-wdiff
+ clean-wdiff \
+ clean-zip
+
# All of the target modules that can be cleaned
CLEAN_TARGET_MODULES = \
@@ -898,6 +920,10 @@ CLEAN_TARGET_MODULES = \
clean-target-gperf \
clean-target-examples \
clean-target-libstub \
+ clean-target-libjava \
+ clean-target-zlib \
+ clean-target-boehm-gc \
+ clean-target-qthreads \
clean-target-cygmon
# All of the x11 modules that can be cleaned
@@ -1535,6 +1561,8 @@ all-bash:
all-bfd: all-libiberty all-intl
all-binutils: all-libiberty all-opcodes all-bfd all-flex all-bison all-byacc all-intl
all-bison: all-texinfo
+configure-target-boehm-gc: configure-target-newlib configure-target-qthreads
+all-target-boehm-gc: configure-target-boehm-gc
all-byacc:
all-bzip2:
all-cvssrc:
@@ -1587,6 +1615,8 @@ all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libib
check-target-libio: all-target-libstdc++
all-libgui: all-tcl all-tk all-itcl
all-libiberty:
+configure-target-libjava: $(ALL_GCC) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-newlib
+all-target-libjava: configure-target-libjava all-gcc all-zip all-target-newlib all-target-zlib all-target-boehm-gc all-target-qthreads
configure-target-librx: $(ALL_GCC) configure-target-newlib
all-target-librx: configure-target-librx
configure-target-libstdc++: $(ALL_GCC)
@@ -1606,6 +1636,8 @@ all-opcodes: all-bfd all-libiberty
all-patch: all-libiberty
all-perl:
all-prms: all-libiberty
+configure-target-qthreads: configure-target-newlib
+all-target-qthreads: configure-target-qthreads
all-rcs:
all-readline:
all-recode: all-libiberty
@@ -1627,6 +1659,9 @@ all-wdiff:
all-target-winsup: all-target-newlib all-target-libiberty all-target-libio configure-target-winsup
configure-target-winsup: configure-target-newlib
all-uudecode: all-libiberty
+all-zip:
+configure-target-zlib: $(ALL_GCC)
+all-target-zlib: configure-target-zlib
configure-target-libiberty: $(ALL_GCC)
all-target-libiberty: configure-target-libiberty all-gcc all-ld all-target-newlib
all-target: $(ALL_TARGET_MODULES)
diff --git a/boehm-gc/BCC_MAKEFILE b/boehm-gc/BCC_MAKEFILE
deleted file mode 100644
index c65a73e2eb8..00000000000
--- a/boehm-gc/BCC_MAKEFILE
+++ /dev/null
@@ -1,82 +0,0 @@
-# Makefile for Borland C++ 4.5 on NT
-# For Borland 5.0, replace bc45 by bc5.
-# If you have the Borland assembler, remove "-DUSE_GENERIC"
-#
-bc= c:\bc45
-bcbin= $(bc)\bin
-bclib= $(bc)\lib
-bcinclude= $(bc)\include
-
-cc= $(bcbin)\bcc32
-rc= $(bcbin)\brc32
-lib= $(bcbin)\tlib
-link= $(bcbin)\tlink32
-cflags= -R -v -vi -H -H=gc.csm -I$(bcinclude);cord -L$(bclib) \
- -w-pro -w-aus -w-par -w-ccc -w-rch -a4 -D__STDC__=0
-#defines= -DSILENT
-defines= -DSMALL_CONFIG -DSILENT -DALL_INTERIOR_POINTERS -DUSE_GENERIC
-
-.c.obj:
- $(cc) @&&|
- $(cdebug) $(cflags) $(cvars) $(defines) -o$* -c $*.c
-|
-
-.cpp.obj:
- $(cc) @&&|
- $(cdebug) $(cflags) $(cvars) $(defines) -o$* -c $*.cpp
-|
-
-.rc.res:
- $(rc) -i$(bcinclude) -r -fo$* $*.rc
-
-XXXOBJS= XXXalloc.obj XXXreclaim.obj XXXallchblk.obj XXXmisc.obj \
- XXXmach_dep.obj XXXos_dep.obj XXXmark_rts.obj XXXheaders.obj XXXmark.obj \
- XXXobj_map.obj XXXblacklst.obj XXXfinalize.obj XXXnew_hblk.obj \
- XXXdbg_mlc.obj XXXmalloc.obj XXXstubborn.obj XXXdyn_load.obj \
- XXXtypd_mlc.obj XXXptr_chck.obj XXXgc_cpp.obj XXXmallocx.obj
-
-OBJS= $(XXXOBJS:XXX=)
-
-all: gctest.exe cord\de.exe test_cpp.exe
-
-$(OBJS) test.obj: gc_priv.h gc_hdrs.h gc.h config.h MAKEFILE
-
-gc.lib: $(OBJS)
- -del gc.lib
- tlib $* @&&|
- $(XXXOBJS:XXX=+)
-|
-
-gctest.exe: test.obj gc.lib
- $(cc) @&&|
- $(cflags) -W -e$* test.obj gc.lib
-|
-
-cord\de.obj cord\de_win.obj: cord\cord.h cord\private\cord_pos.h cord\de_win.h \
- cord\de_cmds.h
-
-cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj \
- cord\de_win.res gc.lib
- $(cc) @&&|
- $(cflags) -W -e$* cord\cordbscs.obj cord\cordxtra.obj \
- cord\de.obj cord\de_win.obj gc.lib
-|
- $(rc) cord\de_win.res cord\de.exe
-
-gc_cpp.obj: gc_cpp.h gc.h
-
-gc_cpp.cpp: gc_cpp.cc
- copy gc_cpp.cc gc_cpp.cpp
-
-test_cpp.cpp: test_cpp.cc
- copy test_cpp.cc test_cpp.cpp
-
-test_cpp.exe: test_cpp.obj gc_cpp.h gc.h gc.lib
- $(cc) @&&|
- $(cflags) -W -e$* test_cpp.obj gc.lib
-|
-
-scratch:
- -del *.obj *.res *.exe *.csm cord\*.obj cord\*.res cord\*.exe cord\*.csm
-
-
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
deleted file mode 100644
index 423fe711fbe..00000000000
--- a/boehm-gc/ChangeLog
+++ /dev/null
@@ -1,321 +0,0 @@
-1999-05-05 Gilles Zunino <Gilles.Zunino@hei.fr>
-
- * configure.in: Switch from irix threads to posix threads
- Defined IRIX_THREADS. Put mips_sgi_mach_dep.lo into machdep
- for mips architecture.
- * configure: Regenerate.
-
-1999-04-30 Tom Tromey <tromey@cygnus.com>
-
- * linux_threads.c: Don't reference __pthread_initial_thread_bos.
-
-1999-04-26 Tom Tromey <tromey@cygnus.com>
-
- * dyn_load.c (GC_FirstDLOpenedLinkMap): Declare _DYNAMIC as
- `weak'.
-
-1999-04-23 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in, configure: Rebuilt.
- * Makefile.am (EXTRA_LIBRARIES): Mention libgcjgc.la.
- (libgcjgc_la_SOURCES): Renamed.
- (libgcjgc_la_LIBADD): Likewise.
- (libgcjgc_la_DEPENDENCIES): Likewise.
- (EXTRA_libgcjgc_la_SOURCES): Likewise.
- (gctest_LDADD): Use libgcjgc.la.
- (all_objs): Mention libgcj_la_OBJECTS.
- (EXTRA_LTLIBRARIES): Renamed.
- (toollib_LTLIBRARIES): Likewise.
- (libgcjgc_la_LDFLAGS): New macro
- (toolexecdir): Renamed.
- (toolexeclibdir): Likewise.
- (toolexeclib_LTLIBRARIES): Likewise.
- (LTCOMPILE): Renamed; added libtool invocation.
- (LINK): Added libtool invocation.
- (.s.o): use LTCOMPILE.
- * configure.in: Call AM_PROG_LIBTOOL.
- (target_all): Set to libgcjgc.la.
- Mention `.lo' forms of object files.
-
-1999-04-21 Tom Tromey <tromey@cygnus.com>
-
- * misc.c (GC_init_inner): If QUICK_THREADS defined, compute
- GC_stackbottom.
-
- * os_dep.c: glibc 2.1 requires asm/sigcontext.h, not
- sigcontext.h. From Matthias Klose <doko@itso.de>.
-
-1999-04-16 Tom Tromey <tromey@cygnus.com>
-
- * config.h (__start): Declare as `int' in alpha/OSF1 case. From
- David Pettersson <dapet@mai.liu.se>
-
-1999-04-14 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Don't use sparc_mach_dep.o for Solaris. Reverts
- incorrect patch of 199-04-09.
-
- * configure: Rebuilt.
- * configure.in: Added support for alpha.
- From David Pettersson <dapet@mai.liu.se>.
-
-1999-04-13 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libgcjgc_a_SOURCES): Added solaris-threads.c and
- solaris-threads.h.
-
-1999-04-09 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Use sparc_mach_dep.s when building on Solaris.
-
-1999-02-23 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: For Linux, define _REENTRANT. For Solaris, define
- SOLARIS_THREADS and _SOLARIS_PTHREADS.
-
-1999-02-18 Tom Tromey <tromey@cygnus.com>
-
- * quick_threads.c (GC_push_all_stacks): Change order of arguments
- to GC_push_all_stacks depending on STACK_GROWS_DOWN define. Check
- for case where LO is NULL.
-
-1999-02-10 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.m4, configure, Makefile.in: Rebuilt.
- * acinclude.m4: Updated to be used with automake 1.4.
- * configure.in: Renamed libgc to libgcjgc. Updated to be used
- with automake 1.4.
- * Makefile.am (EXTRA_LIBRARIES): Renamed libgc to libgcjgc.
- (libgcjgc_a_SOURCES): Likewise.
- (libgcjgc_a_LIBADD): Likewise.
- (libgcjgc_a_DEPENDENCIES): Likewise.
- (EXTRA_libgcjgc_a_SOURCES): Likewise.
- (gctest_LDADD): Likewise.
- (all_objs): Likewise.
-
-1999-01-08 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Define LINUX_THREADS if using POSIX threads on
- Linux.
-
- * gc_priv.h (GC_test_and_set): Put return type into definition.
-
-1998-11-24 Andrew Haley <aph@viagra.cygnus.co.uk>
-
- * Makefile.am: add support for eCos. In particular, add C++
- support for compiling the file ecos.cc.
- * ecos.cc: new file.
- * acinclude.m4: add C++ support.
- * aclocal.m4: likewise
- * config.h: add eCos support.
- * configure: likewise
- * configure.in: likewise
- * misc.c (GC_write): add eCos support.
- * os_dep.c (tiny_sbrk): add eCos support.
-
-Thu Dec 10 18:24:34 1998 Warren Levy <warrenl@cygnus.com>
-
- * misc.c (GC_init_inner): Moved STACKBASE code to os_dep.c.
- * os_dep.c (GC_get_stack_base): Moved STACKBASE code from misc.c.
-
-1998-11-23 Tom Tromey <tromey@cygnus.com>
-
- * configure.host (boehm_gc_cflags): Don't add `-O2'.
-
-1998-11-20 Andrew Haley <aph@viagra.cygnus.co.uk>
-
- * Makefile.am, Makefile.in, configure.host: tx39 build option
- "-G 0" added.
-
-1998-11-17 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Switch on host, not target.
-
-1998-11-16 Tom Tromey <tromey@cygnus.com>
-
- * gc_priv.h (GC_debug_object_start): Declare.
- * mark.c (GC_mark_from_mark_stack): Call GC_debug_object_start.
- * gc.h (GC_debug_register_finalizer_no_order,
- GC_register_finalizer_no_order): Declare.
- (GC_REGISTER_FINALIZER_NO_ORDER): New macro.
- * dbg_mlc.c (GC_debug_register_finalizer_no_order): New function.
- (GC_debug_generic_malloc): Likewise.
- (GC_debug_object_start): new function.
-
-1998-11-11 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Recognize --enable-java-gc, not --enable-gc.
-
-Tue Nov 3 18:01:12 1998 Tom Tromey <tromey@sanguine.cygnus.com>
-
- * dyn_load.c: Handle QUICK_THREADS case.
-
-1998-10-21 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Put cpp defines here, not in config.h. Recognize
- --enable-threads. Set INCLUDES. Create boehm-cflags file. Don't
- define PACKAGE or VERSION.
- * config.h (SILENT, NO_SIGNALS, NO_DEBUGGING, JAVA_FINALIZATION):
- Don't define.
-
- * os_dep.c (GC_default_push_other_roots): Define when
- QUICK_THREADS defined.
- * misc.c: Added QUICK_THREADS case.
- * gc_priv.h: Added QUICK_THREADS case to define LOCK and UNLOCK.
- * config.h (THREADS): Define if QUICK_THREADS defined.
- * Makefile.in: Rebuilt.
- * Makefile.am (libgc_a_SOURCES): Added linux_threads.c,
- quick_threads.c.
- * quick_threads.c: New file.
-
-1998-10-20 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.m4, configure: Rebuilt.
- * acinclude.m4: Don't subst machine_dir or sys_dir.
- * configure.host: Removed unused code.
-
-Sun Oct 11 08:18:02 1998 Anthony Green <green@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Fix typo in previous patch.
-
-Sun Oct 11 08:06:11 1998 Anthony Green <green@cygnus.com>
-
- * Makefile.in, aclocal.m4, configure: Rebuilt.
- * Makefile.am, acinclude.m4, configure.in: Add multilib support.
- * configure.host: Created.
-
-Tue Sep 1 10:58:15 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (lib_LIBRARIES): Use target_all.
- (EXTRA_LIBRARIES): New macro.
- * configure: Rebuilt.
- * configure.in: Recognize --enable-gc.
-
-Thu Aug 13 10:52:45 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (COMPILE): Define.
- (LINK): Likewise.
- (.s.o): Use MY_CFLAGS.
- * configure: Rebuilt.
- * configure.in (MY_CFLAGS): Define and subst.
-
-Wed Aug 12 11:41:43 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Added --with-cross-host argument. Use
- $with_cross_host to determine when cross-compiling.
-
- * config.h (SMALL_CONFIG): Don't define.
- * configure: Rebuilt.
- * configure.in: Define SMALL_CONFIG when cross-compiling.
-
-Tue Aug 11 11:41:25 1998 Tom Tromey <tromey@cygnus.com>
-
- * solaris_pthreads.c, misc.c, gc_priv.h, config.h, alloc.c,
- allchblk.c: Merged with 4.13a2 while preserving local changes.
-
- * Makefile.orig: Updated from Makefile in 4.13a2.
-
- * configure: Rebuilt.
- * configure.in: Updated version number to 4.13a2. On Solaris,
- don't build with -O when using gcc.
-
- Merged in version 4.13alpha2:
- * config.h (USE_MMAP): Re-enable on Solaris.
- * solaris_pthreads.c: Removed RCS Id line.
- * alpha_mach_dep.s: Removed RCS Id line.
-
-Wed Jul 22 15:38:12 1998 Tom Tromey <tromey@cygnus.com>
-
- * config.h (USE_MMAP): Don't define for Solaris.
-
-Wed Jun 10 12:51:41 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libgc_a_SOURCES): Removed setjmp_t.c.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libgc_a_SOURCES): Removed add_gc_prefix.c.
-
-Thu May 14 15:32:58 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am ($(all_objs)): Depend on config.h.
-
- * config.h: [MIPS] If DATASTART_IS_ETEXT defined then define
- DATASTART as &_etext.
- * misc.c (GC_init_inner): If STACKBASE defined, then use it.
- * configure: Rebuilt.
- * configure.in: Define STACKBASE and DATASTART_IS_ETEXT for the
- tx39.
-
-Tue May 12 13:15:45 1998 Tom Tromey <tromey@cygnus.com>
-
- * alloc.c: Don't call GET_TIME if NO_CLOCK defined.
- (GC_maybe_gc): Likewise.
- * os_dep.c: If NO_SIGSET defined, then have empty
- GC_disable_signals and GC_enable_signals.
- * configure: Rebuilt.
- * configure.in: Added --with-target-subdir option. If
- cross-compiling, define NO_SIGSET and NO_CLOCK.
-
-Wed May 6 16:40:28 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (.s.o): Directly use CC -x assembler-with-cpp.
- (AS): Removed.
- * aclocal.m4, configure: Rebuilt.
- * acinclude.m4: New file.
- * configure.in: Don't run AM_EXEEXT. Use LIB_AC_PROG_CC.
-
-Thu Apr 30 14:51:12 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Link boehm-config.h to config.h.
- * Makefile.in: Rebuilt.
- * Makefile.am (INCLUDES): Removed.
- * config.h (SILENT, SMALL_CONFIG, NO_SIGNALS, NO_DEBUGGING,
- JAVA_FINALIZATION): Define
-
-Wed Apr 29 11:03:14 1998 Tom Tromey <tromey@cygnus.com>
-
- * Many files: Use GC_bool, not bool.
- * gc_priv.h: Define GC_bool, not bool.
-
- * misc.c (GC_dont_gc): Define as int.
- (GC_quiet): Likewise.
- * gc_priv.h (GC_never_stop_func): Declare as returning bool.
- * alloc.c (GC_dont_expand): Define as int.
- * gc_priv.h: For gcc, define bool as char.
-
-Tue Apr 28 22:44:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (check_PROGRAMS): New macro.
- (gctest_SOURCES): Likewise.
- (gctest_LDADD): Likewise.
-
-Mon Apr 27 23:53:24 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libgc_a_SOURCES): Added dyn_load.c.
- * configure: Rebuilt.
- * configure.in: Define SUNOS53_SHARED_LIB on Solaris 2.3.
-
-Wed Apr 15 11:40:56 1998 Tom Tromey <tromey@sanguine.cygnus.com>
-
- * Makefile.am, Makefile.in, configure.in, configure, aclocal.m4:
- New files.
- * Makefile.orig: Renamed from Makefile.
-
diff --git a/boehm-gc/EMX_MAKEFILE b/boehm-gc/EMX_MAKEFILE
deleted file mode 100644
index 1ade12adc5c..00000000000
--- a/boehm-gc/EMX_MAKEFILE
+++ /dev/null
@@ -1,141 +0,0 @@
-#
-# OS/2 specific Makefile for the EMX environment
-#
-# You need GNU Make 3.71, gcc 2.5.7, emx 0.8h and GNU fileutils 3.9
-# or similar tools. C++ interface and de.exe weren't tested.
-#
-# Rename this file "Makefile".
-#
-
-# Primary targets:
-# gc.a - builds basic library
-# c++ - adds C++ interface to library and include directory
-# cords - adds cords (heavyweight strings) to library and include directory
-# test - prints porting information, then builds basic version of gc.a, and runs
-# some tests of collector and cords. Does not add cords or c++ interface to gc.a
-# cord/de.exe - builds dumb editor based on cords.
-CC= gcc
-CXX=g++
-# Needed only for "make c++", which adds the c++ interface
-
-CFLAGS= -O -DALL_INTERIOR_POINTERS -DSILENT
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-# -DSILENT disables statistics printing, and improves performance.
-# -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-# altered stubborn objects, at substantial performance cost.
-# -DFIND_LEAK causes the collector to assume that all inaccessible
-# objects should have been explicitly deallocated, and reports exceptions
-# -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-# (Clients should also define SOLARIS_THREADS and then include
-# gc.h before performing thr_ or GC_ operations.)
-# -DALL_INTERIOR_POINTERS allows all pointers to the interior
-# of objects to be recognized. (See gc_private.h for consequences.)
-# -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-# usually causing it to use less space in such situations.
-# Incremental collection no longer works in this case.
-# -DDONT_ADD_BYTE_AT_END is meaningful only with
-# -DALL_INTERIOR_POINTERS. Normally -DALL_INTERIOR_POINTERS
-# causes all objects to be padded so that pointers just past the end of
-# an object can be recognized. This can be expensive. (The padding
-# is normally more than one byte due to alignment constraints.)
-# -DDONT_ADD_BYTE_AT_END disables the padding.
-
-AR= ar
-RANLIB= ar s
-
-# Redefining srcdir allows object code for the nonPCR version of the collector
-# to be generated in different directories
-srcdir = .
-VPATH = $(srcdir)
-
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o typd_mlc.o ptr_chck.o mallocx.o
-
-CORD_OBJS= cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
-
-CORD_INCLUDE_FILES= $(srcdir)/gc.h $(srcdir)/cord/cord.h $(srcdir)/cord/ec.h \
- $(srcdir)/cord/cord_pos.h
-
-# Libraries needed for curses applications. Only needed for de.
-CURSES= -lcurses -ltermlib
-
-# The following is irrelevant on most systems. But a few
-# versions of make otherwise fork the shell specified in
-# the SHELL environment variable.
-SHELL= bash
-
-SPECIALCFLAGS =
-# Alternative flags to the C compiler for mach_dep.c.
-# Mach_dep.c often doesn't like optimization, and it's
-# not time-critical anyway.
-
-all: gc.a gctest.exe
-
-$(OBJS) test.o: $(srcdir)/gc_priv.h $(srcdir)/gc_hdrs.h $(srcdir)/gc.h \
- $(srcdir)/config.h $(srcdir)/gc_typed.h
-# The dependency on Makefile is needed. Changing
-# options such as -DSILENT affects the size of GC_arrays,
-# invalidating all .o files that rely on gc_priv.h
-
-mark.o typd_mlc.o finalize.o: $(srcdir)/gc_mark.h
-
-gc.a: $(OBJS)
- $(AR) ru gc.a $(OBJS)
- $(RANLIB) gc.a
-
-cords: $(CORD_OBJS) cord/cordtest.exe
- $(AR) ru gc.a $(CORD_OBJS)
- $(RANLIB) gc.a
- cp $(srcdir)/cord/cord.h include/cord.h
- cp $(srcdir)/cord/ec.h include/ec.h
- cp $(srcdir)/cord/cord_pos.h include/cord_pos.h
-
-gc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/gc_cpp.h
- $(CXX) -c -O $(srcdir)/gc_cpp.cc
-
-c++: gc_cpp.o $(srcdir)/gc_cpp.h
- $(AR) ru gc.a gc_cpp.o
- $(RANLIB) gc.a
- cp $(srcdir)/gc_cpp.h include/gc_cpp.h
-
-mach_dep.o: $(srcdir)/mach_dep.c
- $(CC) -o mach_dep.o -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-
-mark_rts.o: $(srcdir)/mark_rts.c
- $(CC) -o mark_rts.o -c $(CFLAGS) $(srcdir)/mark_rts.c
-
-cord/cordbscs.o: $(srcdir)/cord/cordbscs.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordbscs.c -o cord/cordbscs.o
-
-cord/cordxtra.o: $(srcdir)/cord/cordxtra.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordxtra.c -o cord/cordxtra.o
-
-cord/cordprnt.o: $(srcdir)/cord/cordprnt.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordprnt.c -o cord/cordprnt.o
-
-cord/cordtest.exe: $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a
- $(CC) $(CFLAGS) -o cord/cordtest.exe $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a
-
-cord/de.exe: $(srcdir)/cord/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a
- $(CC) $(CFLAGS) -o cord/de.exe $(srcdir)/cord/de.c $(srcdir)/cord/cordbscs.o $(srcdir)/cord/cordxtra.o gc.a $(CURSES)
-
-clean:
- rm -f gc.a test.o gctest.exe output-local output-diff $(OBJS) \
- setjmp_test mon.out gmon.out a.out core \
- $(CORD_OBJS) cord/cordtest.exe cord/de.exe
- -rm -f *~
-
-gctest.exe: test.o gc.a
- $(CC) $(CFLAGS) -o gctest.exe test.o gc.a
-
-# If an optimized setjmp_test generates a segmentation fault,
-# odds are your compiler is broken. Gctest may still work.
-# Try compiling setjmp_t.c unoptimized.
-setjmp_test.exe: $(srcdir)/setjmp_t.c $(srcdir)/gc.h
- $(CC) $(CFLAGS) -o setjmp_test.exe $(srcdir)/setjmp_t.c
-
-test: setjmp_test.exe gctest.exe
- ./setjmp_test
- ./gctest
- make cord/cordtest.exe
- cord/cordtest
diff --git a/boehm-gc/MacOS.c b/boehm-gc/MacOS.c
deleted file mode 100644
index 420ea500e3e..00000000000
--- a/boehm-gc/MacOS.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- MacOS.c
-
- Some routines for the Macintosh OS port of the Hans-J. Boehm, Alan J. Demers
- garbage collector.
-
- <Revision History>
-
- 11/22/94 pcb StripAddress the temporary memory handle for 24-bit mode.
- 11/30/94 pcb Tracking all memory usage so we can deallocate it all at once.
- 02/10/96 pcb Added routine to perform a final collection when
-unloading shared library.
-
- by Patrick C. Beard.
- */
-/* Boehm, February 15, 1996 2:55 pm PST */
-
-#include <Resources.h>
-#include <Memory.h>
-#include <LowMem.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "gc.h"
-#include "gc_priv.h"
-
-// use 'CODE' resource 0 to get exact location of the beginning of global space.
-
-typedef struct {
- unsigned long aboveA5;
- unsigned long belowA5;
- unsigned long JTSize;
- unsigned long JTOffset;
-} *CodeZeroPtr, **CodeZeroHandle;
-
-void* GC_MacGetDataStart()
-{
- CodeZeroHandle code0 = (CodeZeroHandle)GetResource('CODE', 0);
- if (code0) {
- long belowA5Size = (**code0).belowA5;
- ReleaseResource((Handle)code0);
- return (LMGetCurrentA5() - belowA5Size);
- }
- fprintf(stderr, "Couldn't load the jump table.");
- exit(-1);
- return 0;
-}
-
-/* track the use of temporary memory so it can be freed all at once. */
-
-typedef struct TemporaryMemoryBlock TemporaryMemoryBlock, **TemporaryMemoryHandle;
-
-struct TemporaryMemoryBlock {
- TemporaryMemoryHandle nextBlock;
- char data[];
-};
-
-static TemporaryMemoryHandle theTemporaryMemory = NULL;
-static Boolean firstTime = true;
-
-void GC_MacFreeTemporaryMemory(void);
-
-Ptr GC_MacTemporaryNewPtr(size_t size, Boolean clearMemory)
-{
- static Boolean firstTime = true;
- OSErr result;
- TemporaryMemoryHandle tempMemBlock;
- Ptr tempPtr = nil;
-
- tempMemBlock = (TemporaryMemoryHandle)TempNewHandle(size + sizeof(TemporaryMemoryBlock), &result);
- if (tempMemBlock && result == noErr) {
- HLockHi((Handle)tempMemBlock);
- tempPtr = (**tempMemBlock).data;
- if (clearMemory) memset(tempPtr, 0, size);
- tempPtr = StripAddress(tempPtr);
-
- // keep track of the allocated blocks.
- (**tempMemBlock).nextBlock = theTemporaryMemory;
- theTemporaryMemory = tempMemBlock;
- }
-
-# if !defined(SHARED_LIBRARY_BUILD)
- // install an exit routine to clean up the memory used at the end.
- if (firstTime) {
- atexit(&GC_MacFreeTemporaryMemory);
- firstTime = false;
- }
-# endif
-
- return tempPtr;
-}
-
-extern word GC_fo_entries;
-
-static void perform_final_collection()
-{
- unsigned i;
- word last_fo_entries = 0;
-
- /* adjust the stack bottom, because CFM calls us from another stack
- location. */
- GC_stackbottom = (ptr_t)&i;
-
- /* try to collect and finalize everything in sight */
- for (i = 0; i < 2 || GC_fo_entries < last_fo_entries; i++) {
- last_fo_entries = GC_fo_entries;
- GC_gcollect();
- }
-}
-
-
-void GC_MacFreeTemporaryMemory()
-{
-# if defined(SHARED_LIBRARY_BUILD)
- /* if possible, collect all memory, and invoke all finalizers. */
- perform_final_collection();
-# endif
-
- if (theTemporaryMemory != NULL) {
- long totalMemoryUsed = 0;
- TemporaryMemoryHandle tempMemBlock = theTemporaryMemory;
- while (tempMemBlock != NULL) {
- TemporaryMemoryHandle nextBlock = (**tempMemBlock).nextBlock;
- totalMemoryUsed += GetHandleSize((Handle)tempMemBlock);
- DisposeHandle((Handle)tempMemBlock);
- tempMemBlock = nextBlock;
- }
- theTemporaryMemory = NULL;
-
-# if !defined(SILENT) && !defined(SHARED_LIBRARY_BUILD)
- fprintf(stdout, "[total memory used: %ld bytes.]\n",
- totalMemoryUsed);
- fprintf(stdout, "[total collections: %ld.]\n", GC_gc_no);
-# endif
- }
-}
diff --git a/boehm-gc/MacProjects.sit.hqx b/boehm-gc/MacProjects.sit.hqx
deleted file mode 100644
index 99dff88b4cf..00000000000
--- a/boehm-gc/MacProjects.sit.hqx
+++ /dev/null
@@ -1,886 +0,0 @@
-(This file must be converted with BinHex 4.0)
-
-:$deKBe"bEfTPBh4c,R0TG!"6594%8dP8)3#3"&)e!!!"4UiT8dP8)3!(!!"50A*
-
--BA8#ZJ#3!aB"#3d0#'GM,MBi5bkjBf038%-ZZ3#3%)Zi!*!8"@`!N!6rN!4069"
-
-568e$3`%!UbqAD+X`19S!!!Ba!!!,*J!!!F%!!!-PfTmj1`#3"PET)d31)LTH6H4
-
-#*AqG5b5HI*)QjY$IIb00%ReTJSi6rG$jG(bZ,"Rc,9Umf[IRj)6FZ-j`GfGR)#!
-
-m-#qLqB#cj'G%46qffB3q8AppLXKc+P&*il4FMJMq3N32r[U,(PlSNdrQm-J(4!p
-
-jK)NHmKJSHY!,&chS$4)pk%8mL3I)B0'$AU6S3'q)k%%[5[5J&ffa#68)0ZM&#T!
-
-!*fHC-2dFZ3i83[Vr[4Xh'+DNQrm'J)rrpqe%ST`,FeVi6b,*qHH")4eQc28NFMN
-
-ZT*m,L"Y%-`pdAk6RLHDaeVV0a,,@P(4UUK66rUM'8bf91llS("lTh81)MBQ+4*q
-
-rfHENEhD)Ke#3!09'M%bL[P1+G88fa$3e)5Gpf0kARpBf*6eIH*0`ZBHR%ii"PbN
-
-+D&*)688M)Sm$Bm[cCdDjh2YIjmAc`(TVpi*Vka((A*&Yl@'LTSH1M*AMP#,2[A$
-
-(FHA@S"dL4dER#3b!EfBYem(C9P5iGH"a-bb-AL(F"bb-AL,F6)%a9pJUL,(hf%B
-
-TeQb["X5ib4DQXV!-fa6&mZf&3,(C&UDd-((SpeMBEIB`8Zc,BcZR3A5'X+jYj$'
-
-6)6HVV+R[!`#3!`X!(E@*MFQ%R4d"))`m[3JM[c)bBS54Tj'M(AP+MK&f%VD5SdG
-
-SANFB@3Rqc$Am83(+)`"G(D%A'9!bBQ6!b)b4Sq3SH8D1NDGNX$)bBi54!51--$*
-
-Kj0L!M"KKK"dC--,)-h+-6#KKC-$)-F)NamL!!Z06#X!!b&%bBUHp8RcN'%%6!b,
-
-i!!kV"`"DLHFaK*!!"Ym4K,,2i2X4c[,`c5!GIPf!ZcNi'8'VfJFpSfdpq+CY$8j
-
--V'f-DZr2[36#1(ael5hmfT@1cSU66D5pqDSA89pdTP-`Z[jj6T&!PmZBFZjal"&
-
-5iG6#blE$+&kLh#QZ118&(0T1J(hZ,9)5MJ9ic*qPI!ac'RJ96QMZjSbkMq()Ui6
-
-B+f,,#'N1icbM4N"aaBr1`3Z9U'8RY'XAiVXFKp#&k2D5Be%VCdh4%,+2QS'b"Q2
-
-%0PNT4rE#%kTUFqYDM56bVjfe!p8MqmL)1VmjVkJY`U[*$&*L3AMSpB@LCQ*U&l%
-
-T+3890rL,V9klFN*4@f0UTf8Z&&afN!"4GC6G8p3fN9$4+4[-@DAeK%lej"@eAAL
-
-eU@&4[Tm28%mqqUkS(F+VDa#lB&'rlRAllRP&l460Qc,)MHR$jMh@$8Y4Xc'e`cd
-
-ZE2AUUiH+fK96feb$epq&'RAQeLG&lCDjmP+"Kr8k9#qp'eI8RPf[6R$dS+$UcqI
-
-ELYSV[*ETFL&j[@lr803qd9I2A#bi4Vei3*d[+@Urk*!!&abe0HTVm%44"i4A6JN
-
-c(2I!kjRl6a9e813DK"A6p(LjRZZGaGH+1L5SiBT[(6ekd2*ILMSXU(l)#m3QMDB
-
-V+QTG!r*NG#RQai#DNh4,l0&!Ie`dYi98Y1%1A$5hKP4,`d9cHdKP'LkD@q4hYC*
-
-%dfdLeCCNN@i9UIBNLh5l5(8N68qhM&4R`d9cfdKP'bkD@dHU+qe&XRfNZSqc10j
-
-#8Me*&ZNfNZT0hSYd+dP&ri-FGM6G6P,p5D,rPNT0`dQLk5+6'NLb5"HDe'$L)Pe
-
-X8N2bj-Z'$r$6-$NZjLGC)1lB-"jQSff@[ak%LJ[rI#%p2ddAGREN(@"V+,S6CI!
-
-I!!!0$3KRBbj38%-ZZ@0M8&"$,VN!N"#$BJ#3%4B!!!d'!*!%rj!%68e38Ne33d-
-
-"!+X[PfqV-$P*!!!'-3!!&UB!!!(&!!!&C80(jji!N!BMM#0%$L)UANhN3L9rV@9
-
-B`f#c2p$XpAVVCc-[`k20Y5bJ+CTHPScj`Z'!lmr*#EPaRH(ZcR!J!!rqMKG"q)#
-
-cj'G%46qffB3q8Aqp4R6FA83PM6`KUjaYD&IlZ@jDrY"pk[b&AZrdH*kFbb9PM*S
-
-`4Kh$c8Lf0bVe+Y`Q$amM6mc%*C1(jF&1bFSdGIlLpc*04b#X&D8[&6R%+-#6HhJ
-
-kX"#A+Bp6%6RGkB&kM%'jh$ZLmam[1Irq,r82rGM"5H4bh1ZB+b"Z%&-pD)5CL9(
-
-AP(4UUK6$!(lkH+UPFXFARF-MIHHMXf!5Nd%SZYRQj'pfL)G3N!$94X#(q25G8U`
-
-VXL'QU3Njk8[phV2@0Q92J#d6rA2N1["[!%c(M4X-8p,0IcYJf2lRBmD2c)*RQEF
-
-68m'9jqq*MjHTji&GqDp$kh501r9fqVPJe4iQDRS)L!)ELqiX08i#@40jpP1+F@p
-
-iC&))L)Qq4Bk-cK-i*h`cDlN1cMBUbZA3+beKhX*-&UD`X%ME%F91fHB3BaCC''Y
-
-KNba-C@(,"-40Yl"l,#c8`YCDf%#"XGD%F4m3'*i'k"iah[Ddam+k"Xd3eV@02'B
-
-bj'D90I9p!!!-q)[jAU2HhQ[NiCQC&f(Ne`JR!hlN1''4Sjc`)hcL5IK+f(@8(q&
-
-(1&Nj2XreTBI[M!0dGB4'MK01#CFF2c,JK"*1MNZ1(q&(11@5ii5EKimF*ja``Np
-
-#bA(#bBL6BpQ6jq5imT-m2mQ!dq2N'H&2RT2M%Nii'6$J,PF!#N#jGS3IS9Uba%G
-
-'A-)*8[#%!j-9'#r3@EpUPQ9+NL6$ldj*kVS6INIK@`*q'q$hGRJCPb,`pUJm(fQ
-
-3!#mGrdQqe$Nm22hkJ2cerNp"i3$m4Z62S5YA40V([V`MbHF@)QPT2IN@3@$ceHm
-
-I&dT3GqF9K,'&&8[6LKMTbQ6@-*%bJE#4RM,b'FA*'VC5`0BBdTa"@aNXM#)mU'"
-
-N@d@XSIKMMiMh#RbbLSjLT49GG9"F84)Q8QfN&![N1hK"A'V5F,,dJIF@+`iNJEb
-
-H-(5Nar84j!"*Q54MH+j&08dYQc,(ipT9I+aFqIQc-XP313&803UUPPD4*+UAIlj
-
-$U+jMAP1QUSfEYV2Qp4HKfZ#TYQTCT)hEaCbp+ZXH0"m5USfHDV1HbL4cCT@41rr
-
-5+d+eL4&+'hR90)iLRp$LYcm)e5McQN@UMR#&$kKqr%eHU-DBejbUCC-k+P4N5r%
-
-Iha+Uc5aj)kVfm*'ej*8Dali5ULfHDLah-l$Zfer1#G9@6l8TTf*r,RKTZ2#Q8'h
-
-MA2&i%MYq(0aCicHKfPlfDYLeJ3*FFEG3l@"HmfJbqFrdHU&IU+jRHE95BmQFkJF
-
-29)qp)93hX!aCGLfYP0!jSEU4HF9)-e8M9rADGfC4U(BbVVC66+8XR2Hj2RAmGk'
-
-kLDNk8`@p0[6F"hrG,e3h`kmm(BhDMQjBm@`ejDH1pG)YbUXYM'Y'5aD`-H(VPZ)
-
-,*i6A,Nqe)D1Y'5@UV@HM3VAE)a3$3MT+9jAGa)HI#%*E@9ie+jmf-PA9dY#66`Z
-
-[fkMA!l&$eZ3)bP996crcal6`ZRdT$9NG0S#+V([`rRZ&eae,A%dMGB2V4H%9YPL
-
-LfZ3B194,NC[ik!QKZSYlaE"deVc1$3[9(XVeFJIG0T,9**@'AVXJZ2Db$%'!,$a
-
-e+d2+8SES`Z&RD1(C`m,VlM*Aj)cP#M@ZlJI#Djp(U28`fl)VL9dKY+IXeFM!HRJ
-
-MVc0#YCpj6@!,M0VrHYh,CMQN!FBjl1ZVEPhjaCK)``"6,6JiU@@ekMjdmEEPI@M
-
-3DpXKj3pi+f`LFFpIUPrF058)N4X)f4ZQ*P5c1[&!pGhC4i@Ue2BCE"bRL&haLRk
-
-Thb#ZUK&ZK-Kc9k4Z-[QKhdaf&1KhN!#*#IdZ-XfJhdPQ)I6l#![SYjD'HXp$hdA
-
-f$1LhNlN-r4DbV8$I8iS[RSEqj#URqY@$9b3dJG1XG))%khUHJMX,Vh896Z%"I%B
-
-PFK1MejpP2[@,$LpbTe[Q%h#[hhai0BBHF+r-MrTeL9G6k!!IKHa1rmf2qMf,9c6
-
-d)%I[5Hq$1hVVq60(`H@-9fb&cfkb$BBDc1-Ck@@#jrVH%0cXH$@cIK[C#F&2Q9X
-
-[qpl(HTpEQ9F`KqVA3&iYS3Pl6#ARpIXMVpCP6[+ma`PkbJPkbJPkbJPkbJPkbJP
-
-kbJPkbJPkbJPk1MHKTlbJTlbJpqGlF2RNe4CD`1XDTfUZEYjDHE@[F0T$,KbK"Vc
-
-mA!9AAPiGS3Qjm[HQi+l-LraVj'p1i3&mcNKce1@eZ4pFX(PY@1(66rD18)Im"eF
-
-YAJ1K#AYcK92peXpVBfM#AZAIKi*r&r$U$"h)dkhp2[JI!kp0S3GjhdZZV))A!43
-
-jH4kk(TLQKF4pTXhHI!ITRb%hcX3KfeN#**1EI54a"'@Z8(9Dm%D@b"Y#qhm!N!-
-
-0!!PRBfaTBLda,VPM8&"$,VN!N"#ah3#3%!9X!!!I``#3"2q3"&"56dT,38K-!3#
-
-TY1))Uc!eD!!!@F-!N!B563#3"2$I!*!)22J1`2KbNQaPEr+hGEX``Jk!Vpa0&eT
-
-RDl*eSGZ&%EEAc@iGG+hAYBDRapHZd6ETQH'lV2AbpMVJ4lN,ck0G4lMb)fcKAQi
-
-*AeLhm1)VRfPGM,"Zi8pBG1%a3VYZi@m,@rM#2'iAfhjHacE,K"[bJGYB,ZcNP&#
-
-"$cqJ[fRG`SmXR'aMC-H6r-)AXTaNHE+Fj"HkN!"0"R[G!H4jITB&`!(!dKX"PZ#
-
-Z+PX+S(dCS&YGZI3,cN3L+P4H)V5R@D3p,54$JD"3'!j')mhRcl%mUJ)9e2PVUaF
-
-j[6lNX)ll!4,jajb6UrZK!hSTX[caD`$ZIHl,pdeVm&EaLeKG-YjQB6AKT)84pF,
-
-kB$+55%ID`b-4QF0T19ckfSl,d['15$X-4cTr0"2!dIR5%1j[S4JQa0,J4lT!pkc
-
-"EjcQ2ZmmNDF36,1DH)X!8($N3ihbR+mcX1GC!E!0fi)+ra)rCUL`#HU&V9)ke`6
-
-IhTB!b&RK%B!&4fA8Ecr8+8IBcr)4Z8L+$bmVaA0$-Lr)$3+SMf0Xkh!%1L(hiM$
-
-H56i!P'Q(V3ZXrmCRE,f[6f'0N!"Z$E6%fl(AqCL20Ka-#kRdjh`qA&CRACe[!5i
-
-+PSiKjh)6PJM4H$#5%&U%HF#GqF0F$MM6fH)T68dFSQ!hQ*["e3hGME'TS#e`Fmq
-
-Sl`'0qRTZMfEcM@b8M`(hV,a,kqB4N8iZ[4Sh5b!9ddQpT9YP#5UK!NX`BDbr,"E
-
-!TME)X#08Bm,*$)fP2Ci@G1bTGUbETe@@q%4QL60h[2d5)BQGX-U5,*6)q)99'NX
-
-bP3a1pJZTH#BC&"!P%4'5XP`!Fm82LidDE@#h&eejC#m'cSQd"k1C&S(CD`*"Va"
-
-S%C+TmmkE6aJ*6S3kTd8)4GS&PNjQ"#DY1419T&!JQT+cV-0*5@'9$$5+K-58Y"%
-
-N8Ea'&)q3!*!!UeBZ'qd'!&14D",LQVJ'$qTI1DUU3$%0cAD!e9HMkl`KaGAASBj
-
-TJ#pMhSb5Rq0c+LJ3l3LJkD2dcrJM2Q%3Kh&mZL-JR(&m+L$L-)j29b,%B4br8)j
-
-X!Y$j4ZUh`)[eI!A!R(d!4AHG`LH[d[f@re6*b2mAI`)H5F0aI+2XYq2iC)+N`6M
-
-qC$b5"Z2ij,N%KHI*24K!$k@Plm*Hm'Rd8-bci0h@*rK6m%JDM[-[aZ1Nhq+IKNH
-
-UJA&mE-V&'KM(2a129!2Mq2,5(2qIrSHmNfTSR2rTH+3D'XHRfL81irM8FE,Ep4r
-
-eTUeM[5Ra8bilkJJ6f!)lF0e(0'p*Cke+2Nq9ccEjh#UIZq6c&[RmM(3ZV*!!cL0
-
-k&5l"Jp4$Ilc)-m$9BDMqeV0m$l6LhM(EAX9A,10lG,aR)2GNb6Sm29&b0@CfmMd
-
-&Mr!pHLh'hX&p"qiPVV#h)jIcaN(YAHVY!-im,lH&lp&Fc$pX!KD$+,qKqbMQh",
-
-@BjDAX[M-KFF0&bH!le%r'GC@E`LVXP9mKXdeG)3QcED[U18Vq4jY2c-fD8XFl$a
-
-Jb0pEdXPRCYXVR!e1c(f%qF`GKAUQcPT3T6E-YjCF2GYHhq#[aqa0'*p@XJl4r*8
-
-qM(Fa(e1(MAb2DUZDVTq-SD2mJ+kFAj*ldAQmX-KFQf"C5i,E1fA&P2jHj`!8*c4
-
-Cbq,eU+LUqmriLrQ-H$8"RJ(GXC,YKXYCKk(M!EcN!3MV-HG3b@DB@MEAd"P5,9[
-
-2CjDYplkH1ckr$1D5aNf'jH[,p0ehXaPCKe@(eI0#11SC',UQT)X9K3qD(G8hK#c
-
-C@GQUfADhU*AQPE#2X"A&i-9KaAUdDe$"bpQU)@mfJNfL,U61YQ4RBFiKFac+[hC
-
-Y@49Fi(Ye4UjKII9Fl[b`UM[(Ca+6ZhF[@mq`0Seer)R3*#Y$$IcK`pPc%EI6FKZ
-
-I`IV"'%bLZK'Mdl!5jqQ+3J!feU'k*f(FZf(EGY@@N!!CGAmMqd9@CrDD68d'jf(
-
-3TlQV6AYhAEJlGh4$epjV3bSqBiDXKA!BPjeTVUYp1pI,DPfESAK1"2eSD[B-elh
-
-H#"KCEIFl0K-Um0E-CFr[,$HC6Hhc`fDr-eb-HmN5*`iSE-8)!#TL+mfKpUV"jrc
-
-$X6fMXIlRYZ5'5$I94YXX-&C(`""L$Dkf)VmVe*%)GZr'mh(#3i3EqlYKNKblRf*
-
-'9fi`h"aV43`ejERI0DPfA"MDB``XX)HHa#bYS3h1c!hCcPlQ0+mDh0Yr`mEU8Hk
-
-YrAmUXCIMj8SFBkA%6iNVCjRI%C(IMj&E3@l3G[C&a#hGId-rBQbXrT)c0e6q'2p
-
-eC)89`[fJmPd62,qrh"5fBCA-$%rb1d1R5hbj`ddQ1G,60%Q1l'T#EqB1)110@)h
-
-%i!95M+ekEiM0HfqSHM1k9UQY&%V$jTQPB&VZFVm*4FmG"[Acbff$#qbZ,a3IKUr
-
-B"VZ2A1J-[B%elK$paa&k8Z63JaakNVNdL$c1fP%+A`QGIJ'bm6iH0ZklkX(0S"E
-
-8jP*3Mb,[3pbE@&fLD'2RS@ZY1`pG"kj1X1j#2R9*X*QX*TAMbYcVef*YX2)T6FA
-
-Q@D$Hf'AE5@VBGSP+2*elSqN#9T4Gc"`I)"SMr!P3K8hPL)Se--@E+!*#j8qBAdA
-
-F)f`H'*JMT!TSH@V*`'V2IZI1K@DpeEljYRXA2YJ9eU,IcfjLaVQJjXS%LTUELM'
-
-UNU1Q*M@HTVX(FV[-AA`QqadqFr3i9[JU81PlSB$r%d$A3iqhZfXV+KG!GjBeeU(
-
-[-cfI+9deX0(XqqDqeeCrEqGcqm6iUPf$i$#AQd`B@p0rSjJ6NR2d'hX'fX5-"MQ
-
-MU,pRS%(-F-NCDZeUk[$*BA*h$2XG9RaZHj-D6bq3!1YJC6AD61@QEFZ@lXi09,[
-
-#3r`40LMRE"V0'C!!FecYKJh1Q(D[`hN%90BLbX@@Y!c8C8j3QmY!ApD)[GhVGTJ
-
-**CcApF6MTA!ZjkemqUrh9AKG,PI[cVeVI+q#h6`$QIm$kKcXmZ"@c&ph+[pbaRf
-
-+-2[6I1-)JqV1YQR9UpZ-&Cd9Uc'6i5P6JCdV6"8c-TKV%$1eQ*@af2(L22GJCe"
-
-VaTDFcfaEffcXh1Pef-$Pm$Vic)0VQmqbL$(+mRVQJpGcr8kVcZZakIJ-9F5"VJ2
-
-A)XVacTfpDfd&ZhSY"9l2XleH6rpD3Epa6E1D10FlQJjH!G34SPGS&qM3*fC3Pe2
-
-L`2L%lVY,CV!*T39qcpXH[fHHVQRU'%UAhk2&Qk`VKaD[,i2ZHk`cX2[6K&iQRrQ
-
-lbPXmS@QX)1Y!&RH`da"Y"8BfPYDc4GPC#3lV4AhlG+E(2&HTGaMM!VD)&65CaPL
-
-Dr4lQB&J09`k9kE(,mhf[0f[T[[2#[mfpH2-6*6k4bk,U5Z`kcd%Ia$UcfEZ2Z!G
-
-1&'%PEF2B1aKl$'0hBH`R',X1BjX`pP1-h6AD-aHa8TJD0Z"T@[KdIJ$5L*0!R+1
-
-)NmCi#mDEj(J5i`fS4KaV[49[Y[ASjjGJCfSIkdaR)f+)e-#cLpMMH4iTJQFE+B$
-
-RFiN4RXfXNFpBZGXAc[3QM,G2Yh*CMh@3!(q8lFE6#ID-P'YZ"AefKT9M99N2Re%
-
-Z5UJ[cKd0UjR$Y@%N5eQr[bVdDANH1X3[2[#XjcJ0%Se1!jKa'U#f[M%BE`p&`TC
-
-@-mfEF*1J""c`J'Sc4b0!`0Q1cH9X!e(3aCl!)H`k4qIhpfYS1)*',+EMMLJR'JM
-
-*XAVRp4,L3*6EFHJLENI+bThcfZ@BBX$BV8U1Sr-@+@iljX&F'M+D6*J-'5#(%1k
-
-[1&EhlT'("@L3!%(&RA-a6V0,2#9X9%3D8*&8fT'k`V(k5V),NCZX$kh*MY@GDYV
-
-4Y-8%c[bAlh!l-U6&69c*e@N4Mj-C)C2d+XbiMLZjUSJ3--Aq8HQ-$[R0RcMaPa8
-
-e&lLqlpUj[TGS[iMVqri'VZr9AUl[KhZi[J-YA0r"GUl[d&eFhq'YA0rr0h*pEml
-
-RqYlHa2Ap"212)[Ba!pGh2-6e$Gc+p3dqbr80[FMe`hbZAjA&I4IA2aN0'##DQ-I
-
-F0B%8$M1bX*!!6V&dUi!$KD&N2-DNDAZFBic&F2BrKF2r6-!j%"D+4)8c'q,aD,f
-
-3!-3j51B9SJP@RdlLA(j+(8X++A@L25E3BD9ki@,HV9l@i1F0$6KDbP$RC(bL'2*
-
-%ikP8)(QCZL15MXe30%"dDAVbI)DMURqBCV&i5b4dfDrbrk!LN!!@@#SGL#9B+*j
-
-N3JH#Y3HLV#@5r"fhhq@IS5Jp9LM&BLQF6+PSMTk2cbS%9c)KQ@5a90K#Sf4N5PN
-
-S5M[3da4hiQK)k+XiA(ND$YpSYSe-m)LIZ,6N5rL%!p$M"e)Z2G@JJJ8FXU,((EM
-
-pQ)@$C4*&(*ZN6`SqKSGP)q02Q+F@[iqA@RaFJFBHbCM4qfMF%h!%89`D('LN6e`
-
-k'KDkIh4i5)XM8r4*4)JcM9hKZ+)%Kcj2Rl4%aj+pAcSALTmN,qQmF&6[3Z`$k*0
-
-%H%M18RJEF-b22R&0qM&+6,@P[&-a!BIik*1U!BGKe64B611lY)`iBNHI9"S+Ab9
-
-l)JjKd5HT3V25,H+!P%`9Z`rkT%9kNCS1THY!pHQ6Q&%@$8)T99L%Sfhd5H*hI$J
-
-64C28Y,C`Djl#m$6b!XGfTmrR*X8$d@L`Y6QkdK+%4i(E8[b59GP&,"cqQPC3ih4
-
-MlA''N6k&X1iVfl4IfC%6%hNG3kaD8[4Nmd+LGcpXR+[Xb-XNFZZYEkLS`Q4G+Yd
-
-5L413!'S-T`$1NR'U9P55`+R)+U%aM8!K9-"b-+[Xk$GR5FTkh)hN*rJB5@-L'EP
-
-%j(6IK+GdbSlH-e9"XT!!TkM$335*3-%BFqd`miD+#P4)M`VKJ,5STAS-5DFJ,A9
-
-lRF6mdQ"V)#Q+K-c,[YUNl&M9XNEZ@PkXmY(k8'eCj+P3G[5T%69*)e+cY5@CqV"
-
-#$%SP0969B)9`fR3N*L#-jAfF#50kqURL8%pU-)M3+FmipZBILqkTH!E9YJip)aj
-
-%`mKhi"GMeDhkeqSZq1IU*VIi[,SeRcM3"dM$M['C$j!!BhcZ!m11mCN2&2k,$aK
-
-qi32[Hr5%Rh[d,hX-I&T(k6&F2UIBBc4(!m'9d93k(d+2NBr*-djj`D*SpBJAZ,f
-
-9j!86F'3iZ$+9LDAqShqJf[jh,cLPbr2V[SPKZ8BUA*j'UT'@jR"M,2UIAFerUC*
-
-hbU&Hqqk24KaUB492qKV`$C4!&+Z"V#$rQ"GJ24rmKPrCa6X4KAZ0c$d@5+lmTal
-
-hVejS(qNI[*91V#iSP&p#b,2@2paR1A6E52mJe6FBBMJ1dGJL*2+9p3qIhj!![Bp
-
-M('C8fB"h)XK)5,I&%TpfThIZ`BHa&(9Vm2+9kL#QA,kQIZdYiIaLYrARRVV2f2q
-
-YNG[k'UGr%8DeBN-EK0EmEAlarTd(p5,rIHIa&j&hIpETLXk#R@jbC@-b,9jkj$[
-
-SG20dc3jaep#MG,*Rm*9,kClGd#jFfLM2Qq@TmibVrRcNcU2@95h1CX5Efl"&%5r
-
-8mURGV@U5ZdHGS,k4EYRemG4[EPCrFjZ4PqYQYFV$Li`LB4cI%5Ak4CIabTc4cV5
-
-Z`5pfTSPdXM(B'Xb,d*RQlCVl-6rbfNK(iUpddhemB9))4J14@"k%hM42efh'efl
-
-%*i192U1qBE',qSa81Y2F(%qfjbIV-mbRlM2Dk!QiiGN-X@CeBXhQjHJG2R%#l)P
-
-%*m$r!"'46R)DGS+2k[XNTp(qiGGq@r81$FI)IYZ`[)lZM!cTba)YbQKh2VHq(T'
-
-iYATPahXMf583L9i#-b!5'SA3JP$LMk5FV"eL5P&e,)!2AM(fqq[&rAqqJEX3ZJ0
-
-4GUAcq1#I[$MlrpXrj3jb$ZiY+2BkkdRM@qKR3r"mcb,mia%m2lM89dZ[Vqh!-,f
-
-QqNbpVjjZ29qJCq04M`2d!b+N'UT5MqGLqX832%q[Aej$mA2Gr%)2D,J,T!VQVUK
-
-`%6jhAB9V+HAI4,rjJHFl+Pb,m4eQEZZ5@KrPp5aF@N9GqC2+ql1S&YkPdTmG6Gr
-
-!qEV`09U+&4c&223NLQNk-DpALZNdR1mDqVXNM'QAB`crlBKL%mp(M*G"*FCZ`&J
-
-DZ&cZG*Ki-f,J@mmLMhX`*R29E-FB[Qe,XDNr4DlPFZc[1GrDKlkqQYkKeBBaYUl
-
-YEqK(@E3aM+N[HKM14ThU%2X*Hb(-`McNHXhpB"3j2BDaPJB6I!Ne%&qEaD`r`V`
-
-YU-G"k"3ar)MaKKaEKl'$NQC6hd1-Lq4B$Q0G-XB+e-BRajCJ,+'*V3bd4NrqAp,
-
-B[bJT[kddmXG*R(e#AIa5)9RRT[cr!`!!$3!*Cf0XD@)Y-LkjBe"33bkj!*!3qL)
-
-!N"!0"J!!,h3!N!6rN!438Np+5d&)6!%!UE6L#+X`0A!!!#*k!*!'$d%!N!43[J#
-
-3#1j"$F$iCXbcEQ9ffFS2dS@*jbZl63NYVcACZY$0##1XPDZ$V[@ke[$dmVQ6K5h
-
-FYGEmE+(Rmc@246PGf0D9hF)@VNAi`VhS`KGM(GQA+lmmdfiI)f`c`Tq`63P23V[
-
-Y`VEH`KHqX)9f(@(E*!Zrf-)@IZi)AhKXi3[E,M3j*432"&!HrHaD@&$M#f(,qq3
-
-@XL1hN!$"3Rk6AcKCb%+1%di@J&@""TeG+a&(42abSQ*m9@@VL(4[%29TUPEGj%S
-
-NfN09'd1a&"q0T8,*F(-`0#85E)pZZ-eZrEB+Z[80G6A,A6ir2'5jYd$i*mlPdrI
-
--@8-1XA6I6r6dUG[h&cAjUSAPI(dbhQEPDb0*+mqX6fN-*U1*9$3@'8GN$c0%(%0
-
-GelfTH&Fd4Q0)jLrR%MNc2aM&pcf8d``Y,Ak!B(cHb*GQH1E2Phb'JLQq0Yi5)P*
-
-IZ&DMccNrDX`mDiN1BLbSE&MC!)B+3p!!(FM4Z3"pmf##5,64Fd39&fA9Eck6N4(
-
-q-Kr+TK`qGQ`-&dGPAb51%'Q'J"dB3bK$iZYMHPIm%$'QJ`j8f2l6cq5j@TmTYD&
-
-8Dh0,2)CCjkGqG*&J+Y5CqU@IDmIQUUrh9q!`X*4GG$59b(1#DBYLrXT3Hc`B6B4
-
-D3NZ)Zr'(SNLFq4ETPX+0#01J@-c9Mci&E"ETe"lZK'B2D682F5pVpcl#6cM0`cF
-
-VIh2RdI%LA6N'$6l@jXi1I@kfp+LX3395@i-*Bq1p(FdBDS-m*N)0#&FB@QXXRJV
-
-TqHr&d$F[UDca!YiDjchaf-C3%T1`bTUFNM26%1V@@T1GbH#dKP"R2*d-KU#5L)D
-
-5FVQ)&NXr0"XEY)Prh,6j`NN!Fk+aB(Zk*F3lDTZ$[P"c5bMC1Arq8UD4i#5T15f
-
-KF$3@iP2*G)M2RB8&#LRFh0iTXfaMT'5S@aDD8))aK6DZ*"9[2BV(P+51c4hG,L+
-
-c53S*k44Xa8Acmd49U9R$Xk-p6,4P'e,Rh4bZH3"e6"(G$Pjab5Ikh&MNk*3JKBH
-
-am`[rd,p4KJ)IdrpGAkQ!SYrdArSB+K6p(4q-kaYR%DeiK@MHTTrT+airpFpf(!c
-
-C6D6hMrH[fSGq[SpSi@NLdj2ApC8!q05rrM0pH5A%p,FGr*AqP!RpYPrTjl,kIr)
-
-Mrc0p)kiXJcl9Cb(1%'6hP`BRQ0MP'EU4U`lF@CCrSLp0(%#3!"HAp98B52*lSGq
-
-&ZrfkrM3CD5@kEp'%2R+m!*ldPFM#f(9p0R-`C#rdT5&)cLr`#Kk#rMULrlIXZ[j
-
-d'6P$Y0N+!(Y!54rDdc&h'$"brDYqB3l4$[hhr$0$4PE$2eXNb2ieb2fErJLM)1T
-
-RZCa*(rQIH68r2Xk[*I+#iKreEj!!r52r-kc1XRmYjSpI3ai@B(RaKIqI,BSqG$#
-
-E'MkH69X[ckB'iJEe$Qi`RhhAFB-&cq&lKKZFKRc"-D9m50)#'Z6Fp%2+jFLffS0
-
-N5Tj%4@C5"GI&cC(ZFcD,h$e838lFZmM*m-eX'F$dP%A,,mqff[SF8$&N-KPiM91
-
-9NF2XSa0J@f1fH(J8"hGPCVYkTSRLJ,V55r6R486P'%J,"U5PdFrVi(p*UM20Z#1
-
-AjGIGE[0r"EdLeqdcjp[mNSplX,Y)hCYJ5aj0I@@G*jb-Gm65lHf-'iiR1d+aG!I
-
-M4Q-YACfKpTEfZ,40CpQLY-XkZ5B+lNFp6BS(cVppFXHLm)JE3biI%jRZ4TD29iR
-
-SY!R1P$QEBbjeBD*lqi'1GccMbIje'bEC1H@a56dI1a@*I@9pEqBF-qYcdaaAM`b
-
-5FjP9B(QLVT*e4Aa$'kXN*T*FX[j[jrbLXcJ8Me@X&Eh%AL-JTT!!Gd4B3#S&rjI
-
-6(0UBDSje*M'BT4+G-9BhC9*@-5jcH$[1@!XpJKl'$ZGDCHXmRb03ICB4reapCC!
-
-!(Mqj("6&rGSNfp+B@FQGKfZV'cfXb6ZLR8&V%2h"l5[mJ8hjJPR%eT0&kPUA"r-
-
-MPcHq*D-)FI[,GTp4[[$$5jiqJ&BGP+G#UkjaI6!H#dFM9NbNa28pDebXI1(,,(N
-
-ED'bUV!CChjPULFDCN!"U8NG00mXke@ZV@1Ge4VY$ke-3#PpeT"PAmJT`"+9)V,N
-
-pTl6IHLkVI,'RZ6PAIkpR2HXM[+GCRdK'0dVZpqGr6kpmXC'CT5KCd3'NL33K%LA
-
-eT(2pQ21Q5[3dR+GDX116UUkC9$)S5UXm2KGcINq`Y6NTP421bhiMS(ba5j&Vj+N
-
-6f#aTQ1JNeElPhNVPLj`GVbDV%DYQDdZbmeS[j5Xpee4GLelLG+PS4`JbeUXka[&
-
-k0V$H4$f6H2FMHFHjNP0bI"Sd(Fh4'2DERk5`R-%10TmaEFjrI`$I68b$mrG)kq6
-
-aHBBP*&LlQC0%8Xl9HQQfr9b!L@&XcMHPT*eJ*QI3,1Ibj`$iNqZ&q@YbPJ1Ha&!
-
-Tc3P+,rc(E-IjIaGE%9QEH@4l"'92bccba&FiN!#)&l6[jHikPAbI*GrYmVe9[[I
-
-)phhbr86Z2U8bGeIk!)'b%TGV)mAiNDCMGeGHc9GI%IUT&GqZ"BjUSA+ed+mA[-2
-
-LXC)(FAZaC"ZB'D&IrCc3Ep!"HarI&r!YF8GmAD,SLj2'YmVA4CaPLEK2k0IH*6a
-
-V*Vk$fS9GI4I"H5aL!-[(@%*ka9$HA3N5qMA()VUDA4&9YPT)mi[cZX*6&cM@eJP
-
-93VpZN!!h"R3P6RiqmI$[+mN)k3@15PH6#pcRH,qPD`T@&9NVUY3'[UeNf`)(%Um
-
-4l0h!LdSHK&T$P4pi$qrR04'Md+mkS'(0E3aI&)EejF*+mAAAd"56T5l"Ckd*lZ6
-
-dYG-("ec$9*M3CUehlN4&9Aer+0`PT+AR#H3GeRp3FMK[%pq9er8Y223JLKM!HEY
-
-N,mdU@jbA#DY@la65UhIkhK'(PTE4BPEM30kDR@@'[UIiiUc6TNIh["CTp`k2hPr
-
-5`jXLjbc1QSI$eZbmE28#KdHUPIB[)RkQV95-AKqV@,pZ+bUiLHmHp@@M''(eB8f
-
-f*6X2R,FYF5Vrc4ePeE6)rfDaf,5cCM&h@d69*`VTa,5qikYhmZK0Ble`+6c9aU-
-
-'$C(cf9ZKQl&q68LMIi$490Bh%PU%6PbL0f'aB1Hl9(X5aT1l$Kj@l3YE82GhXer
-
-JkbdqLcQ3!1Fk6iB8YmemmZL+iq,&A6dRGi493YT#@5[6iERXA%YphBr&!El1[CF
-
-+&dD44l1b0lLIpNA*b0Ie[@mhS`,[c9hpkT&bXm8F@aUa0,JLKIL@V(3KLJm!)8*
-
-&l+8LDUmD1G8`KVdmJ3fHfLH1XVUTHZhcb&J6TE``hq4Z-c@i`ef*B0pah)HB(K3
-
-H'HbMU6,f$BBChH*)C%0(+c3dM1IjL9Re`SV`bmEQ#NIi'&Lk[$Dk84behl,DCHN
-
-H16RiF'r0K2I@`Gr,ZCIaFJ8(9XVm+EKbPreGN!$mr6@mUF84qbhVQ,I8i-1$d1L
-
-YqD*,(#erAVJEVY!Kh&Y92c(6UfI+c4%lZQ4ZC'U$+c`cjjFl(c$,5(pJUS`F$5#
-
-EZE0`h)YZC!jHBaAMZcmFjCGm1&U$M9+Ne&j+T4(,h&)bVh&lrSC-Tmk6jY8epT%
-
-+KrZQ`[0dKhfNlm)+9rKGp,K6bKpRq*MNS4mHqT0LLL3I0lp35RH%Cbk#'pph)mE
-
-6[h0S,fP#'NXTD5D86d2hbhap`Y5EHAZ(lFME$j!!1d1fSr"6Rb5lf@C@BB2jcJl
-
-d"Pmq29"SQ8HDhKll%9B0qe'T%Lq*l`B@mDEXREcc)d9M9,K%USLj(+VSJHQqK)Q
-
-BUR$*mLCd,r",+)phKPA01S'YCFRQb(lRkmXX"TYMlpHHARDS*k*$hLm)m'`$`C@
-
-&''S*&!*9bDJjS-&YYQGB2'VT%G,Cl`MTLd2Sm'j5'3C),I`f)I@3!2%1,)HU+UJ
-
-[bkq[4qlc"L&GfMhFDr(rrZQrf[,p)kG15hMhd4&b@XV0CQ"E"aq41''CBqMY(fk
-
-6'%db`c6B2p`N-G`b3k2E`LC4PM$L%f0jKiiA$`FdZ,h'8JHGYGjZ,MFIA,hUZ$K
-
-Fiik-#KIi%CQcHi)c,(2FXEaGVJlG5DIV!UPX*XE&5&T'QM)AD5aPC#KEMpRZ(3F
-
-@d#@FcrhLGd[T9XjApG)IRkldZGhZJ5-RYrVI*)HP'-lr3A8KTMck#[J2AZG[`VV
-
-Jha3@r)a[((G3NfNVUYR5CUc-9'i"NmFYABR*P@C*M$5iH4*6"eEDLVfl+"l+"(8
-
-@M14#qZ$f$FE-%Cr66QkRcbQN$fhIF,09`KM,jee+2Zp$4fakRpHZ&p+X)mlfR0d
-
-"PD(-NB(YG[A4!D[DjheP`1FGh"ibp'lGS''H'jf"FrF4Q`L4&ES+2A+LQ%dj*8l
-
-JqAe2P46cqDAU"Zq2[3hH*IV!V%Q9RJD[$Y[IcD0hlLbM[MffBNarf[!E,'IqV1S
-
-aElL)9fHGF2%%2`0UDi(dPMEbbl2c%Kck4I2iE0i!RV[80kDaL&r1U`2Q5CH@"Lr
-
-[j0%0QdI,$*Mbr0mIb&Vl[VlL6mAA(hfaa#pj@9j6KDPc$R)3I@Chp&h`$&mbSC-
-
-1!RXIf22!RJ6fYm!H!,BEf0m"Hh*LCMEaT63VNSGE8@5Q-%`Tk#5JFa%k+H!Y`!-
-
-bRJ6HK'V%dHZYf,SBN!$R'c'C1LBRd`93$,0Ui1jQlR&I`LU#Zje9!2GEQ52F,Ia
-
-k)@hM(PmfejF`2MlEaQ@pYK(Kfraah#la*h*F5bXCXX8fMUr1HS@dXLKKFl&i-D,
-
-KRHjGikbVar'Y9la$l2RB6pmR,LdS'+0CVLaC,H`"dT@r%Z!F2cScr3P3LVMhU0$
-
-RDQ6lXmIBIJ6h2FZaT-(pd#Tr(GX$[`!BEfIS4+1rNEepHBe0*1LCXfaR!QFkYKh
-
-"[C!!E89`RpfiTTEKYhU%C9l5FSYb1eVZ[NShdqFHU(5[B[`[Xmd%lNp8ZZr%``V
-
-Z`-Sk2q2e,eY9c6DeamCH2MPq""hf),AJ0Z`'mAk4BHU,`2"fN@(D$$6B3eKJHLe
-
-ijh+BEJhfCmrNX"X@BR0iMP35pJI3b"!RLM2TKUm#`jj4mR%B@%X1Qrhh`&k8X3q
-
-"I82'4(M5h,f&[F[64H#l[1e2f"XKA3FdhPMh,0f#,XX(PR*-SARJ23cXC6*+rTj
-
-($GBeQHQ,U+Ad,JkXA`G[(hJpP*%d'S#PC1a"B'rNDPDX"RC'a[6!hT)eeX&I3XE
-
-f-%rDMYpUEQfrmLafmJQYmYTfr+%XjmL[Mpm65YCl'2rr!!d!#'GMG'9cG#kjZ@0
-
-38%-ZZ3#3%%0D!*!3(m-!!%+&!*!%rj!%8&*25NY"5%`"!+QdiJLV-$9B!!"5l3#
-
-3"K+K!*!%$I3!N!Me"!i!pCQCc1abX2*Ef-,&mj8EA@KjV4fRQfkf--,fZP@[Eld
-
-Z$dq2VmN'A5Bp-hbAY9lHAJFXfQdl+AG,Z2)ME*&GEJRrA-libQIDl@-,fic`*fc
-
-6K5HKhAEKE`YIq-)mEQiRK(pXXmb@iapGq-+kKCfFELT3q1c,IZ&ZXPf1@pl#b%)
-
-ffjdZC,)F@FK#&m,)B+r,!D4[CPq-FBbaqZ@-eH&@A,@%-I9,M(@V+THFE3i'I@,
-
-PFV%p`R[E)f,)lA5*'SmV)SBMaKm`"H(DkkSAQQdeb1%*lP8%I"Kcj(3rX&H6m0M
-
-IZTkaqjrj`UCT$PZ9X*!!V`m&fSamV5GNj#ReR!CAb"Z-H0XpDBqF`ePa(%eGaiT
-
-)S-2EcP+HcTr1B+bXmm9Kh'q$6Mf`X[$"KF4R$RhYV2*CXk3m49H%V`fdL)`T"cl
-
-J+-2j13Fpcq@-E8&E8'&IE%H%!Ne3,pZF#1HDf2Hf""Q,&l1('*Yr8%EphJ1GXSF
-
-r%JrNr)3rGBV*(aq@mf,a)FC8Kq$ER2+`6KCr)B9h0"r'+0,%0Xm[rQdqSqFB2cQ
-
-eBU69f4*S4krcbhc8LClZG$iIR'*cIAh0I"abUXM3iXkAEq$(ilQ,49r!j3f+,H)
-
-maNhp56c112ejNK@"P6JkPXIB&fjK8aKcR!drZX6iG+jqq&li[TdQiqM4U(!CR@&
-
-rGU+(,&FBA8QAdZJ+kKT@q*eSAPdm1Mm9!Sj'C"RE!a%aQhqm(IAaK-)B'-FE!ha
-
-jS(fj'%,(Uc#'FK,*f-@9@FC3113DEaI$J@M)*3)Pk"9$i'!+Qm`pccf[0,(*#J2
-
-h%ZcNS8*JE#k(6ij38,[0q$[cVaRB"FIjhRDA,pSLmUCDTmXQ1P[%8(M@V%X))mK
-
-*81HhL'j[ZmK(3P'46jb,ab@$h%jI@)iU6J@&a*8bd!J5%NZ'TC%NDKY",5%K9lA
-
-%%1kQ%f8Z9IE(4kQ5X*9Mq!UPK%dirih2+53-k[E(m!QELQ!-Rl#ccq$6B)6Z-I`
-
-FQ(52iC0Hd6f'2a&QlKPm`YDG`5GX%V)aI-*'%r+rq)3prJ`qB9260)C2f"21i"-
-
-feI!B2QRI@@I`#A[5'Ic*-1NH`dIV+GeMrFY8Q(52j8mG(mdXar#TGUKe(X1R`pq
-
-T1G'EYSlfTT4IFZ446jL-RfpLA2G!eYX*@kf3!1dTXPdLfkfbh5AE'fAlbB5G8j'
-
-`4rJkCZFXKT(SUhpj-0jKc0+KVIl1dd)2DmAG-GY8*93X&AUb"HYJr,'#0E!H,EJ
-
-1NCe#Mr)KS8HMKZmGh)rJ,V"iE"haZ#h!9,BPYJl''HE&0`Sp@9F+$qSClfFqB9h
-
-h3F6FlY%JbNC43[653pSVJdcS86hQ89H[mbKL98+8Rk[YF1I00PeH*e3+2HTqAYH
-
-N,LMMCc%HqGX+1SASE&1&f@&'l%0mMD%M4m1VBND`e)EiiS,VCTXD(2B'40m'rl5
-
-#08#c9pE!hmAAm#U26ZK4E&E48%VR2LJ-CTF+Lq-[Q!rPj"[UJRc-'14f6EKm3Rq
-
-[HC!!63aQaBb,eS*44IHY`T9#9"TN-1YJpRX&fl4AmahDMZpMp-1B4i1Br38Ef*5
-
-LZGT1Yf,T@L'kG+hYpILK5iVBA1+i5A[CfL*0plhmp&KCF6DUCir(CadF[VkJLmr
-
-hl$189GrN0XCQaUTQQmSPVV*HpY33GT)apN++X4le+M"i0Epbf"EcSZR0GUYL,E'
-
-CL0P[#,$5,pp39-AQe,`b2HjB@cfAZmLMk)i,dH$ilTe,er+S69fpF0LG9mb$!l[
-
-R31a#i(BDla#LU"ri@"l9MH5GKNUFPjh[CUb%le$F&p6Y@VGPQf+Mf`$HhiaG`0F
-
-EE!CpNpCmJ'NLh(AkA6XZh4NrZ+jVe`eZK4!eX*L4F(JZ0X03ArHcH#pICpR!*Pl
-
-XK4j0L8ffh'rc-KeIere1L4i-[$eMkE2E5r8'IIXP(S2Gl*Q)Zf#a'@X,Qq&K$)b
-
-8&-E"[@,S'A[+pp5)VrqCMI&KiNfa[Q3Qde9lQGE01baYqAD,Zb2SkYi*qa$K!H(
-
-QrQk@*rZq5ckG*6lNDIDh!N0&FHA[kK@2A1Tq5ZHFEh)rKLLeYSe0M3qAR,I8E&J
-
-jY+[rT[A9)lQhp[p4)R[CAjVd`eG)q5Ap59[1Ed$+lfq3!*Xb2P4bhK@8@k6rTRj
-
-JV+rq[$NqA2U`m"9NK3VKAUem9mqHIDj8lbP"PFc`j0R0lNQ*I,N$6AVCdp18*hY
-
-f0%'EZEh)H$fUN6,B3ica+pmIjZHp2ebp!DT9@&,)#Mf''B9-IjQPr#f@rm`"TRV
-
-fXT+Kq5E,f4-2X#q@$(82A'Tf[iND,j2dTmcpQ*4$$h,S#F8M6-VMR%F+f4IGNqB
-
-J'pZ22,VGhpLkJDP%PD'3!+P'N!"h!rF@[MkB[ljcr`h&frIIb#bGV(J(mUN2X4*
-
-pX9j4GNhmp4Y3'hcTK+D*KTP-YEkVC$Za8E*$BZ+*q*Y0FrMmf#+ql$LLcLXFCJU
-
-2[K5SU)%*YQ!q)e6KX1%9i!l`mjL@,h-VR'U"@M4@E)Vpm1i&"NfaDF-GpbrBfZ9
-
-43qpR0r'kZ8c&&BRN0640K&FKHr90+PMRPJr'GaLkK'MXKd,di#&8q%UQd23bTI"
-
-9"Y@$aT[+kbSUjl2Z'0pB$phR08+dF1AJHN20YhDrGZhcfjrC,IPAlKKLCBC5[4k
-
-q9Idh5c&Z18Dc[QH`6BT`b"(jr6f$$LR#)NHSe0H#a(a5Q2KG+Ee$aFHh0DPJl5(
-
-93@8ePZK,p9Z@,YNC(kbfH)D&!Aj)MVPY*'C3MV'dDpHCrHTGCHB"TLM1TeLdU%9
-
--9@4Q+N-4da3eSVGlhF4QX!,1CRRd4iAX3Xj@qF4Il+k`@5b@hZfl9Y@m`Nb'kFM
-
-m(e%[4TI(rJ6aDdl'AmecRb,-rM4HPmkJZV0Y@[@eEEU+cSTV%FR$LPDJFf96T)J
-
-SBV95T"T4851Qcr(ieNkAfS!@ABKZ@GfXkpaZ+bYKPM*EQ4$GZVVj(+2NSbLEp4*
-
-QXhjcHh'fc9U5,85T)[CflEd"+)FkYrHZ,P(Zk$8UEGDRHfh@rY@LC[fUCKAPh&$
-
-@Y1rVM$T#D)9kIMCdBMTe139Pm1GfheX`RFmY90UY2l2DVI1bQkD-SR6CVHVV',Y
-
-QH0(D)YCpAr&dG(pClTG)CrkkmRDVHaU[M*8KLl[iXi"f16cV#a[iKE'C33leSVV
-
-cA&k$1%ZK,B8aKer)+j[dSeNDl&DqM%FeA$0FT%'A9r0mEmcBIIHPIa9riGZ2&Y4
-
-)Z5bXVN6AH6jd%(9@BZSH+"mmR)p+fJ,I1r!p$0mpm2dGI$I#GaYmI`rI25-pFcj
-
-Ib+CiY,#QH5B*Jb`#R#"`$J)R!Rm,r%fb2`5r!f`%81ZYQ*CVS1I,dCQD4M[6f8"
-
-d%aZ`,C3pl(R%#1`5BJ$fKC34E!2I+%5,Z6XAc,!&GAHH@mc&V-9$`JriRE!1mdm
-
-QBJfY6"1EAXca96'V%%d15UJ[MKrdU2JbblTde+I(r2fRV)GU*0F[GKFZ'6FZ&@C
-
-!@&e$S`1V*BfZ3,[Ekc'f'QM#1TGaI6mfFAd[dRd&lTYa2mhe[DcQqPkGarAYVFD
-
-pRq[EGj!!kh[Gb2@pdFVerHebVZqYjlLqJ6bZladIehI`(Ul[(a4Fhf(J[@rMqRk
-
-qJHZ,jh2ph!,FAqIkPGrNqY@YA,rQDG`$A2piD5R$)dE#I+49a0+%1a6`miQp3Qa
-
-bq2hBFJaMcC%A-H[Lh9kI1084#2JDa"!f3ALEk![b$C%30K$$+Rp)$+Z#lAk4M'@
-
-U"BZ%FY95Keh3%Y-m5!m&aNNZUbm3$MY$+e3GhSKrHRQY-ib9%UaRb2XM&r&Bb[Q
-
-$#1m2Y(MG+riPr[FUR"'4$dHFrL$[$S4iX30Jl8iIhq)0r5khhm926M)p@LJ6T9)
-
-i'P,4l,[)jI1kP[&L+-6l`aiMMHaaP!k@(kR(!$5jIF64)2HV9c"fkm2Bb8M[NA,
-
-5*ahe$KKB9T9'TSPBKI4**`H4UR2Kk*+M&9J[`FHC*Q&NUD#pVUA83F[45Jadk'0
-
-F3Yf1$dpTM65,Hfl&AGM3!#1U'a&eQabGKF82I&eA%c-D$%HjjT%"U4TMFAb*[&A
-
-h)@)HETXFRBf&$h`V0NVHj1U3!,`K#cY(qL511H*j`3MI14L%iN0H')LU%pY@kEb
-
-e@+I!ap@!&jDr$K6[395bNR+a,%&ISM6!LST@Uj*V5MUX3Y#A)"$4+kM@NKY`il$
-
-S30pF$R`T#q@S*(BHeKMSieHp#Flf)`,0AQTaDcb@&2)PHQQ)5fb5Xdb1cXF+!Vj
-
-N8DB2,Ic5f4Kjid'T!M!XRlE0,$48%8&NcjVeLhiPLG[pfVbedR#BF'qX0CFl+(-
-
-SP#2N$)DCki1*FLTMEYAMF%qMfLlECUkT+5IZR$kIUlACYmcS)YhC12(&iZ3YB9'
-
-@5Q5*+ZHdkID)X$BCAmp+hXKTKT6AHm#U3r4C*hSQB(BrU*ZE[*&EJ[hH"NF&f1H
-
-b`j%@Ei"`&+-i5TRYhSDUbbZ*lE"hTGJB!9#%@0JA5pj3Yh-5l&V,'fQFRq0a03C
-
-$hZ956TYb(mp1hP#k+8NN)bQBbZ-#L*FT4c0ATc*h9&5!)3dB`XSCTF08SdMC5D3
-
-Pj6BcCAk9Up8CNNK#jN9IDNVH8!QCSr)k39+0G(N`aFD&eSVN$99-XdNF%CZY,D(
-
-`"a@L69D5SkS@&F+T)ekr#"MM-CcF0*pfUMM`5Hd-*A450pjlk`mPT8VU"Y9h0R3
-
-Mi#,4b)#J'D-9V[Mh#PIqZX**-8jAH0BrUp"aT*4UR0)#8Sh6@T!!8Se6@T!!maX
-
-Yd(kN"FGd1[HIG2TA[3DH,8Mf'TBDXp4V02ZFVQ8q2,U3!#'KemM%T"XRp@#KVcU
-
-Y"q@f5Y+$A#aMZCD&Srj`4S3qiL3hckljPY445pa8@+b09#FYcCj'[bpc@BGcr'Q
-
-!%69iq@)m[C*8URU(RG4!'ib%'PfYVS`*8j,-6"h[aReIXbG[D8k5c,e@cYh[$#h
-
-lT)pilFFr65[(JLU"+N',p`QF2Y40KM[Pq2-plHN1e&CT4R@a((P61@0C"rU4'Q`
-
-blVmMh8FNDTaTr9MRD@`4JjR-qSM6-pGM1,T84T8160L3!*%BDI-(2jh'hIh8YR5
-
-r8BZ42Y@"2cR5GhfQ,m$+0,B(FZ(*qFCchdR[JG5Dl3[K98[0EFBhc6Jf!k'Hj$p
-
-R)(rUIIG)ebZT#lVHd,,'8%3DJQ5UfdlEP"@LKiU5A8P9!ff@U2hH-(@biF`FQ[(
-
-KV+6++NJeiI9JS(a#A@K@FPTGe,p@Pj4QR&)AdSc6kT,5M&2U3T15dqU5QT4mULl
-
-T5FPrl#eaeipXJ`L95k4YN!"fmDV'M(FlXp`hrMJpBDZc9%XlCB(Q0M6#dJJhdpT
-
-%2bZdFd30'KTT[d-6#2rA22prCQFCZHEjar[pNj2C69PYp)K@DM)V+8'fT!3C%RU
-
-0$!Sc%%F&0K8NII&jQb@NScQPp1@%DKc0DD4,rDbV-ccd@PV(lCAPY$H4%a*G2UI
-
-ARl'MdM)(c3+5MpDF8)f1Rr4*kNc)faB*9I4DMcVDlZfJPej1UXfAEck8RMde1"C
-
-Ci0@')p(QjN#S(A*Mr%a[J*8"E)T3G!%pL5YhHBl+"RVj4bhpa)5,Y@G#d)*M[FH
-
-rp@3IGap(N9*kF+TlbrUSQrlA5IIaD[aidXeYj&CVNMH83&CM+!&9RaC+%&Q"[`%
-
-!PM5C'9(,)ph(*fUTr9!YMqT9DV2iP&iGfErj4+r'r8D[mMkHFibb02iMPNjf1PA
-
-[d("$VLh(CI8d(p1LX&VN*cJbP(8k[pfF2kE#ZPqTX(51-%LC%ZXU[a22)[*i8[E
-
-rZJ[cIcUGL4G#pHMBk,e2kCF0VX,2PP#E5Iik[#T1$qmHrqXJc[6'Fa2`XLUETTM
-
-$*YV-$D3cYp12%m#qEb(qhJ$feL8eGE5PqJMF0!YqXU&'QZAY39+9b(8[r8`"-MX
-
-Ah$6![T!!ITF!pTb'bfV*EbNA&PMaKL[H#UA+i@kTX"!qGeH&C3R&EkCI&X"$k6d
-
-9PN9@f#m[VUY"R%+aB%N90%@4PhahPUZj([c3IkY-$A%eUr''+[Q8"m(LQS3[kcE
-
-1G+!PiF[1j8b6mBiYqG4I![EZK'rFji"Ab"55leDmdYV+9*,[$[MHa&2kj,XIH(K
-
-90KkIa-Ep'I$!Tj5(&h&2b4cN`,G2pSf$$kqZ5Vi*m(hh+pHLCV(B#pqMEAp*2`L
-
-K$S-ce482X[1!F4&mDd`jE#EL`-(e-DD6q,X(FCd12IXm1+#IdU#-2SFi1q)HB*d
-
-54KI`ANVie'C`8jVJFZTNa%85A%ip'ebqP1"bkZr$jj-acJ0'8-Di!,i@'@-Q-2E
-
-*q68KTiMXZ`ja[9RqCFj@hp%rG"RpQjINMlqNrpQ&-qA@"ki53rAP&2rr!!!0$3p
-
-YGbpRBh4PFh3Z0MK,,VN!N""453#3%#pd!!"+8`#3"2q3"%e08&*0680$!3#V,jH
-
-ZUc!jB!!!"M%!!"R%!!!"V3!!"E(*MaZS!*!'[VXM4!iL+Pj0j%)PIdhl9fbRBC!
-
-!DR1(JAFp3hUJ2KNcZ@(k&LeHlIYc*cMM1X2GRCf"!*`N(81C&iAQNTm4&Ifii1"
-
-EpGII4h6#PiP+'R-jb[e$&IeM12rA3hh-XBk+D2XK9#@U!P9e!@eRU22XRT!!%ar
-
-%6jaP3[FjFKhiIjQ@hidE$&25cAm$`-IrIXai*1U*jZd88q%pXX1%F$M`RNJbAQS
-
-ih%%N0J*@A""6p[pE#%1,cL9X%K8j[Z%i38$F)*'R%8!QpTQQT&06TCMf4amme9+
-
-jii[1iC(HE43E%aa#QlrCjZ4[GSL(8*!!e8D-E"#r6LR@&GN3aF6F'028K*cdTGk
-
-aT$fkUhhK6F,P(Tj11!CFTLJ+QQSXDINp,M$RL-+Cm9q6j"VK+Hr'rhrjXB16b1@
-
-iec&AC&Z,)bAP)A[QZNkT`brFF9bj0@L(b*(4H3)$i*YCbh9`YK90aj%$0a!Gm&!
-
-,de[B3!XlC'%$"-Eme,D0'(Z229-8DlB`9Q$FC!Y6@9L'KA%@PQm[")V0YM#PKBP
-
-$[mI#m!L#i#MfjAH50i4eE512Q3bj@@90I4m!N!--!'XcXfpJlh2Ij$4lRaZHF-P
-
-a`Tr-D)4&@%FjIAiV9hi5rZ3i@3NqRhV5`hI'm8m[3MNjENHi%AjN`!NMR"`rbB$
-
-bTrc)FA,m$%r*F51Fm*03FTa`FTa`-Q#%%hlN'4R`Pa`RA(+FF+mMamRa)mq2m$2
-
-#bB!#GjN8B'@Y6-+0iUpN*rl)-F)*2m)*8[#%!j-9H"9SN!!()1QkKK#+`Hm@K$S
-
-HJ&m,rN[#E`hmIJLEJ,q0bk)PQTCS@&q4J@q@4d"9U,FU)md-(0Yrf-'kLSC3Ech
-
-QTZ6PDfM!,6kXTJh48"8c3%-B$Af2ZR8CG9Ip2$-35k-p#&9[4Zd)$4`EE%%G46!
-
-,R0"9-23T99CN34j4,-#2%@HJ4P(6T'aDQa#N[iMDX5G2a3J5j8hqU`G8AI)J-HU
-
-[2pc+8DXTel3Q5K1DDDe`rC'MeMLS#5QV5"2QC-jFKV@(Y,XiDUf$'TI6Q941+fY
-
-NIrEXmabeMLSdTZC&6Ae8m48krm8h(,@HFXdUSU`BRMk!q[lRHBlD3,RQ4#QENT@
-
-#"cXRI2X+4ie6jif)dMfM+mkEUadrc9%E(G5'h+TKlGFqRHHS#3He,LFDrPe`h($
-
-QCBlDa(3e*P+'jG["RP9riDM0,PI9V"`8d09SikJYP'YH1C5kHVfHlZ'SDkKIpI4
-
-i+LIkaJ28)bpbe,88e9!N694cCG6ZNqFjkMUUN!"T6DE6ZT(h&AViKGmikRVU"NX
-
-TAdR(H9q1FY4@bY@D,XL9SfF2rY6286HiPp,*+'9G,aJIFG50p#Uce14Gj3Y'd81
-
-Ek"h5cFV&)blrQ+1f8B8b8UTJU&0#eN-9cVh+8GXGe*U-j!-kU)P6p4b9*UB'dj*
-
-PCDb-E#IIrF$K4qBkCkfIRK)eFi@ZrFEXr4ae-h@$T1I(e%`C&K,!AUi3T&L#1U`
-
-I'P&bCG3h(rRp#Fje+d8&50fBrKHeFp&j@4Q5M3GV$pea1eGSfk+(0$9pa80R1GF
-
-ZCkfce*a5FDbGI1mKMRSpifUSq482fFRj!BlD6Id+#UPkaDr(MfcMU0YGVSSeRLY
-
-8Z0V[F05H43q4)19lk0aM"lL(GMKViS"LkT1'T(MH+rPeTkZ3!*U"!([&H8FjkLl
-
-+0@RS306mKfX[64ZJ+`31D"5@fGUaCaUiVRd8Y@!C+5NVP42Ef6h&a0E[S,D5e*Z
-
-k$e*4k[,4R"1qUq@S0cKV-k$Hk86c@fiEqT2V*rYSlLHcfePEppip1YM9Hl2Del9
-
-2!&`"@TQ,U#F1&[Z''jdelZ4b1(ZHmdimH"0(45eR)(&!*q9f)f6q6PCX0VTUBad
-
-IAd$pf!@`[ik1Br'KUlR)+fakrN"cHF(H36)2h%jb&H(+NrX0&jMF9VMIj$*$&L)
-
-T"p)0cLf`Yq1%"AXR6JQ`Yq'FKMf0GB,GdbRXPYLiZ+lq4#IBL8k`%jeJ*cV"6R5
-
-#RHJ%1p%*GU)6l%3Rf)P1h%qc#+[@Y15RS-eL8qhT&"fJcd&k4dVkK,dC'pb'AVi
-
-MRZjKXmB'HccD3(IrcJ8G(KYmfk)&p1R"5Hkrqa'fKQc`$Bdfm0&Ek'dF5*Cm&25
-
-6E"T+qQc(16M5i"iI4FpKHCCb3p#-XSR6I3[1YF$(e@dVrAm(hAhGA,f#1a4fVQ`
-
-D)a0bM1IcX19PNiJXd-QrQrjp$rTP0Nh4$ljDEE6C0*GdfSPEQNJ$[AaI"9dkQjE
-
-)"&rjZ5PSlpQXL6c)65I42'&jkHi((6HE659pGY(F%GhJrk#CBp-AQC!!QcfG`RF
-
-BE0C'2GbTm18(Qh@4"hI+cbI"'a-fkb-2I05,Qq*VI86`ZS90Dq6"IEUNPpZrZ6d
-
-IkmP@hp@`f9$5UmK,"LjZ2dGjKIdd'pTRSrf,Re6[[[HdcbYXX0R3aK[KcVI)#mr
-
-A-dm"R8jJFcLjAc2T0r!1Xr%Ph(NRKdhm"Y1PM9qd9#9(PFc#![X)[SNKr!e@jAm
-
-!N!-0$3pYGbpRBh4PFh3Z8&"$,VN!N"!4c!#3%%+&!*!)rj!%68e38Ne33d-"!+X
-
-[PkkV-$P&!!!'-3!!'Z!!!!'T!!!&bE5F%03!N!B"fL0%$L)UANhN3L9r6IYAE+G
-
-KN!"UFiH"Gce$HU!q'61jBIV#iB$[cjhJM1X-GhH'!`%ib6Q'-Lm+c58r)bVkFF(
-
-"YqU[[irS4$#9MENFjIkKL[iaR2rVS6lQ@%G&Y2d3UK*9JDUkJ,Bce(Pf6fJm&6R
-
-b2Z8HRJiXa'A+ir""h#2TreqK*11PKX-G4'@dI[MrP@fl(cXiL9b1Haec4BbeKmP
-
-aeJj"iNA$iL1d#Y1J+HR89#QQrG%86l98l[LLFhLNlhad)NaL2JK&0pZFr-d1m4!
-
-+XYS)fcSm[diTeKAC%-A8h"M6e)5Fp+AHXD3p1ZNm1FY%rabj$[`E!$0bi`E$P26
-
-rG@!p"$aQr-JXH*CjLX,-Um9UPGj1-5VH)fY@`*(4VHaDSf,&r6CPrlq&--R1K6X
-
-*#r!9a`Q#"HZ@0$hdcLR&Z$Fm-LN%a%6I)NG'j`NF&EkCY9`(CaX9iFL4(fpK!IC
-
-B8#c-*P,XP1dG-@D4KE%@0XR#9"C'PcdhhF,ZXE"3#eYVB3-&a[CDHNU"FB-@YXI
-
-#PPJD!bcX5f0T(aH0)DaV'hR-C-M0+Q[Uq``!Da0l'f3fmMSr"jhCCQZ%N3NRNdf
-
-14LJRP"rPR[a@3Sqr%8D1NjAJmk5Hp2#G-Ic6Le"1MJm)Pachb(2###I(6c*J%8k
-
-j%8k1RiHRj,J46[K*+$P11$P11"P3`JNrmS`-q)!-Z'6!D6eKj2L4C`f-F$+J`(8
-
-Q"D$m9QE4e,T1r"&qK,q%%k6J#3FQ+c!qS%%HJ+LU#N)S",rE%'S`i2Fjq"D$ha,
-
-iI4qf+2P[K53BJQi)Q['&0I#IjBQL)Y4CP"42pjcUHm,'ZSf'8'HBF--Ck@qdLS0
-
-b3K-d'HXH'L*+S#ZS9C93Dp(hThY##E32SH*'Y!@KRP2p0@MV!TJ"6QM*DZUi,'%
-
-T+JeJ!r"$PM03TD!SBLUKM%E&Qd60d0-c)3Z*mVDqK3&9&I13!!6eTfr[iUM&P'Y
-
-#%F4446G@Z(l(88YXe)LB`Z+S2TE@Pf(0!mTp(,A84Uf3!",*H&STD'4qmZcc(,@
-
--+M3XC`4&IJbl#Phql%Z1'UCF8eL3!,#@e`G3hrdd`e(,+GHd)+EL%XlQBDHLAlh
-
--85ZSm`B%mB'K&HG0PBjFj+L90QTjHXf`jUXI6h28L)eDPKBdpblBE[Mm*BjDaA6
-
-94Z1DiGV"R*4rj+M9$PGCAcdSS+ZfQD2@8+iCI$4qqhSpdmj4DkPIeF4)2#fiaJ2
-
-8Bbpbe(889F1L)XMT!QVVKFXFYBiUT"YMLB5UC9b&(RhKCikkRVV"`)8VDEQKZf-
-
-V4kfRA)f*V,4kp-cqUedFGB0c+Hf-8Y$eQ[B"4pe)Vc*,6IQVI%eEm0!QHSG8IIA
-
-L@5lrN!#MEUCQhhrr8(p,Ec3@kie#4,V"pIbK)a`9-T!!GBlk-`E@KJ84,f%LG'i
-
-f[T!!!'KLUKNie$XiPM(N0&lQH[KU'dGYS"j+L['X*Sp(8hPGSl0R1'UMM9U5&&e
-
-!'c8b%qDSN!"L,3rTKL6Ki3+b'A[l2CZI0G[Y06`a,LMk#PhcpFQ(1'S6pDZSCSE
-
-PC!&fUR[r&Uj3-eASS(Td!+F,U1H1r2)8jpT#83&5e5EZS1kBGej+JZb9Kc82h(-
-
-h9kKehN1+R,MPS8ZFDjZpPPPABF@aCZbG`abeRA(9j-b+KmcBG!p(lD"q"B9NGG@
-
-[CimeFp5G$PGXM+5cUec0YcMUVRN2@9(2pG$Xii2F3jhf'KR%ZMUQL6M[[CaIGcX
-
-+b8Q)f,HFGj+MGP'Z-8d&S[SrA2I32!5k3L5#cQ1CV4NkAXjer4pehS"JT*BMJmh
-
-eq+jHMVUAFXdD@Pa-LB8NHQRI3K)PI3p-0D6jHqhb!-,0lkJIrAq#kpTYIkZh1S$
-
-iJj!!%H0,"hSUqR8TjiTU6d$LH!3qd"l'QVp5(*Z0MQj%N5IR8$IK#2YVk#b4%AU
-
-KAhRjVG*[D*cA0T*HB1mJp`hf9R+*B@mR9a,f0R*MBGp1mJVX655"`0j)XK,X1mL
-
-pKlf"*+irG2*l,$B1E[#"6T2S$,#X@[56ejba+FlV&"bJcm2dMZ6dm6Xk0U4jAES
-
-MHGhp&Sp0DH#"lZkGmrT#0Q@"!rVX)TRXhr[K0j4X`S%(2RS$[3RXDKCpj(@KE-T
-
-cqZ`NL6E3i"kI4160319LE["D@$B9G'mQ#4Ai1,Ued1qGG(GeFr6blT!!hqqbU3a
-
--b$&jRrZ0-TY)B)&1lYedll[ACE1T#Rl`e9TlcUBkTp0ZdVF%-H4Z[lGR8a1Bi#X
-
-h0hN["GM8"KlNTJYSfQ*jrHjlI6UE66PpZQMZ#'l`[pH@XGNEQ*!!Qr-kq@mqf+`
-
-,HVK6rLX60R@""hI+c5IHHaBfk`-2I,5(G,jrpK(H5aSfpB%(pqQkANlrj[4mV#G
-
-EHm2$CN01V`9H%R"aqMR+bhpj`iDqe%&p8bAIR!qTj%[4$kpFY(MK'lcmYcPXk&Z
-
-H1lcmlTi0lIT[mPVbJIFUL!elGjRM4BM8c8"+#$@"@kr%qK5GrJGH8d5JeDSp%6Z
-
-S`aY94TZmpLQ+$H(Nh"cl%r`RK-KrL#Vr!3#3!aq$!!!"!*!$!43!N!-8!*!$-Tr
-
-lRLe!rr#`!,K[$#eZd!6rm2rdd"lm`FAKdkSV8FY+$deKBe"bEfTPBh4c,R0TG!)
-
-!N!06594%8dP8)3#3"P0*9%46593K!*!BUc!jI3!!8M8!!!&'"1"2l'mDG@6JrHc
-
-K@5U#NI*HN@GK!Z"2kQ`FG&2UN!"S!!,L@5[48(adA`CdC!EJ6qj[8hJS!!EJEHl
-
-LEe5!)D$!FJC1ANl!*IrX51FI-#D`jL63G!*&0K!+1Li!&Ri!)VX-S"lbUKQJ(Z`
-
-3!+SDI!$!#3ZT8,aIE!!!Q$!'8!6"aG!!N!-3!#X!"3%B!J#3"`-!N!-"!*!$!43
-
-!N!-8!*!$-J$j(l!@#J#3!a`!-J!!8f9dC`#3!`S!!2rr!*!&q@G%'@B:
-
diff --git a/boehm-gc/Mac_files/MacOS_Test_config.h b/boehm-gc/Mac_files/MacOS_Test_config.h
deleted file mode 100644
index c95f4bb2f3e..00000000000
--- a/boehm-gc/Mac_files/MacOS_Test_config.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- MacOS_Test_config.h
-
- Configuration flags for Macintosh development systems.
-
- Test version.
-
- <Revision History>
-
- 11/16/95 pcb Updated compilation flags to reflect latest 4.6 Makefile.
-
- by Patrick C. Beard.
- */
-/* Boehm, November 17, 1995 12:05 pm PST */
-
-#ifdef __MWERKS__
-
-// for CodeWarrior Pro with Metrowerks Standard Library (MSL).
-// #define MSL_USE_PRECOMPILED_HEADERS 0
-#include <ansi_prefix.mac.h>
-#ifndef __STDC__
-#define __STDC__ 0
-#endif
-
-#endif
-
-// these are defined again in gc_priv.h.
-#undef TRUE
-#undef FALSE
-
-#define ALL_INTERIOR_POINTERS // follows interior pointers.
-//#define SILENT // want collection messages.
-//#define DONT_ADD_BYTE_AT_END // no padding.
-//#define SMALL_CONFIG // whether to a smaller heap.
-#define NO_SIGNALS // signals aren't real on the Macintosh.
-#define USE_TEMPORARY_MEMORY // use Macintosh temporary memory.
-
-// CFLAGS= -O -DNO_SIGNALS -DALL_INTERIOR_POINTERS -DSILENT
-//
-//LIBGC_CFLAGS= -O -DNO_SIGNALS -DSILENT \
-// -DREDIRECT_MALLOC=GC_malloc_uncollectable \
-// -DDONT_ADD_BYTE_AT_END -DALL_INTERIOR_POINTERS
-// Flags for building libgc.a -- the last two are required.
-//
-// Setjmp_test may yield overly optimistic results when compiled
-// without optimization.
-// -DSILENT disables statistics printing, and improves performance.
-// -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-// altered stubborn objects, at substantial performance cost.
-// Use only for incremental collector debugging.
-// -DFIND_LEAK causes the collector to assume that all inaccessible
-// objects should have been explicitly deallocated, and reports exceptions.
-// Finalization and the test program are not usable in this mode.
-// -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-// (Clients should also define SOLARIS_THREADS and then include
-// gc.h before performing thr_ or GC_ operations.)
-// This is broken on nonSPARC machines.
-// -DALL_INTERIOR_POINTERS allows all pointers to the interior
-// of objects to be recognized. (See gc_priv.h for consequences.)
-// -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-// usually causing it to use less space in such situations.
-// Incremental collection no longer works in this case.
-// -DLARGE_CONFIG tunes the collector for unusually large heaps.
-// Necessary for heaps larger than about 500 MB on most machines.
-// Recommended for heaps larger than about 64 MB.
-// -DDONT_ADD_BYTE_AT_END is meaningful only with
-// -DALL_INTERIOR_POINTERS. Normally -DALL_INTERIOR_POINTERS
-// causes all objects to be padded so that pointers just past the end of
-// an object can be recognized. This can be expensive. (The padding
-// is normally more than one byte due to alignment constraints.)
-// -DDONT_ADD_BYTE_AT_END disables the padding.
-// -DNO_SIGNALS does not disable signals during critical parts of
-// the GC process. This is no less correct than many malloc
-// implementations, and it sometimes has a significant performance
-// impact. However, it is dangerous for many not-quite-ANSI C
-// programs that call things like printf in asynchronous signal handlers.
-// -DOPERATOR_NEW_ARRAY declares that the C++ compiler supports the
-// new syntax "operator new[]" for allocating and deleting arrays.
-// See gc_cpp.h for details. No effect on the C part of the collector.
-// This is defined implicitly in a few environments.
-// -DREDIRECT_MALLOC=X causes malloc, realloc, and free to be defined
-// as aliases for X, GC_realloc, and GC_free, respectively.
-// Calloc is redefined in terms of the new malloc. X should
-// be either GC_malloc or GC_malloc_uncollectable.
-// The former is occasionally useful for working around leaks in code
-// you don't want to (or can't) look at. It may not work for
-// existing code, but it often does. Neither works on all platforms,
-// since some ports use malloc or calloc to obtain system memory.
-// (Probably works for UNIX, and win32.)
-// -DNO_DEBUG removes GC_dump and the debugging routines it calls.
-// Reduces code size slightly at the expense of debuggability.
diff --git a/boehm-gc/Mac_files/MacOS_config.h b/boehm-gc/Mac_files/MacOS_config.h
deleted file mode 100644
index 93c3c97a955..00000000000
--- a/boehm-gc/Mac_files/MacOS_config.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- MacOS_config.h
-
- Configuration flags for Macintosh development systems.
-
- <Revision History>
-
- 11/16/95 pcb Updated compilation flags to reflect latest 4.6 Makefile.
-
- by Patrick C. Beard.
- */
-/* Boehm, November 17, 1995 12:10 pm PST */
-
-#ifdef __MWERKS__
-
-// for CodeWarrior Pro with Metrowerks Standard Library (MSL).
-// #define MSL_USE_PRECOMPILED_HEADERS 0
-#include <ansi_prefix.mac.h>
-#ifndef __STDC__
-#define __STDC__ 0
-#endif
-
-#endif /* __MWERKS__ */
-
-// these are defined again in gc_priv.h.
-#undef TRUE
-#undef FALSE
-
-#define ALL_INTERIOR_POINTERS // follows interior pointers.
-#define SILENT // no collection messages.
-//#define DONT_ADD_BYTE_AT_END // no padding.
-//#define SMALL_CONFIG // whether to use a smaller heap.
-#define NO_SIGNALS // signals aren't real on the Macintosh.
-#define USE_TEMPORARY_MEMORY // use Macintosh temporary memory.
-
-// CFLAGS= -O -DNO_SIGNALS -DSILENT -DALL_INTERIOR_POINTERS
-//
-//LIBGC_CFLAGS= -O -DNO_SIGNALS -DSILENT \
-// -DREDIRECT_MALLOC=GC_malloc_uncollectable \
-// -DDONT_ADD_BYTE_AT_END -DALL_INTERIOR_POINTERS
-// Flags for building libgc.a -- the last two are required.
-//
-// Setjmp_test may yield overly optimistic results when compiled
-// without optimization.
-// -DSILENT disables statistics printing, and improves performance.
-// -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-// altered stubborn objects, at substantial performance cost.
-// Use only for incremental collector debugging.
-// -DFIND_LEAK causes the collector to assume that all inaccessible
-// objects should have been explicitly deallocated, and reports exceptions.
-// Finalization and the test program are not usable in this mode.
-// -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-// (Clients should also define SOLARIS_THREADS and then include
-// gc.h before performing thr_ or GC_ operations.)
-// This is broken on nonSPARC machines.
-// -DALL_INTERIOR_POINTERS allows all pointers to the interior
-// of objects to be recognized. (See gc_priv.h for consequences.)
-// -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-// usually causing it to use less space in such situations.
-// Incremental collection no longer works in this case.
-// -DLARGE_CONFIG tunes the collector for unusually large heaps.
-// Necessary for heaps larger than about 500 MB on most machines.
-// Recommended for heaps larger than about 64 MB.
-// -DDONT_ADD_BYTE_AT_END is meaningful only with
-// -DALL_INTERIOR_POINTERS. Normally -DALL_INTERIOR_POINTERS
-// causes all objects to be padded so that pointers just past the end of
-// an object can be recognized. This can be expensive. (The padding
-// is normally more than one byte due to alignment constraints.)
-// -DDONT_ADD_BYTE_AT_END disables the padding.
-// -DNO_SIGNALS does not disable signals during critical parts of
-// the GC process. This is no less correct than many malloc
-// implementations, and it sometimes has a significant performance
-// impact. However, it is dangerous for many not-quite-ANSI C
-// programs that call things like printf in asynchronous signal handlers.
-// -DOPERATOR_NEW_ARRAY declares that the C++ compiler supports the
-// new syntax "operator new[]" for allocating and deleting arrays.
-// See gc_cpp.h for details. No effect on the C part of the collector.
-// This is defined implicitly in a few environments.
-// -DREDIRECT_MALLOC=X causes malloc, realloc, and free to be defined
-// as aliases for X, GC_realloc, and GC_free, respectively.
-// Calloc is redefined in terms of the new malloc. X should
-// be either GC_malloc or GC_malloc_uncollectable.
-// The former is occasionally useful for working around leaks in code
-// you don't want to (or can't) look at. It may not work for
-// existing code, but it often does. Neither works on all platforms,
-// since some ports use malloc or calloc to obtain system memory.
-// (Probably works for UNIX, and win32.)
-// -DNO_DEBUG removes GC_dump and the debugging routines it calls.
-// Reduces code size slightly at the expense of debuggability. \ No newline at end of file
diff --git a/boehm-gc/Mac_files/dataend.c b/boehm-gc/Mac_files/dataend.c
deleted file mode 100644
index a3e3fe8446f..00000000000
--- a/boehm-gc/Mac_files/dataend.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- dataend.c
-
- A hack to get the extent of global data for the Macintosh.
-
- by Patrick C. Beard.
- */
-
-long __dataend;
diff --git a/boehm-gc/Mac_files/datastart.c b/boehm-gc/Mac_files/datastart.c
deleted file mode 100644
index a9e0dd59410..00000000000
--- a/boehm-gc/Mac_files/datastart.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- datastart.c
-
- A hack to get the extent of global data for the Macintosh.
-
- by Patrick C. Beard.
- */
-
-long __datastart;
diff --git a/boehm-gc/Makefile.DLLs b/boehm-gc/Makefile.DLLs
deleted file mode 100644
index 011f49d3bcf..00000000000
--- a/boehm-gc/Makefile.DLLs
+++ /dev/null
@@ -1,107 +0,0 @@
-#-----------------------------------------------------------------------------#
-
-# Makefile.DLLs, version 0.4.
-
-# Contributed by Fergus Henderson.
-
-# This Makefile contains rules for creating DLLs on Windows using gnu-win32.
-
-#-----------------------------------------------------------------------------#
-
-# This rule creates a `.def' file, which lists the symbols that are exported
-# from the DLL. We use `nm' to get a list of all the exported text (`T')
-# symbols and data symbols -- including uninitialized data (`B'),
-# initialized data (`D'), read-only data (`R'), and common blocks (`C').
-%.def: %.a
- echo EXPORTS > $@
- nm $< | grep '^........ [BCDRT] _' | sed 's/[^_]*_//' >> $@
-
-# We need to use macros to access global data:
-# the user of the DLL must refer to `foo' as `(*__imp_foo)'.
-# This rule creates a `_globals.h' file, which contains macros
-# for doing this.
-
-SYM_PREFIX = $(firstword $(SYM_PREFIX-$*) $*)
-DLL_MACRO = $(SYM_PREFIX)_USE_DLL
-IMP_MACRO = $(SYM_PREFIX)_IMP
-GLOBAL_MACRO = $(SYM_PREFIX)_GLOBAL
-
-%_globals.h: %.a
- echo "/* automatically generated by Makefile.DLLs */" > $@
- echo "#if defined(__GNUC__) && defined(_WIN32) \\" >> $@
- echo " && defined($(DLL_MACRO))" >> $@
- echo "# define $(IMP_MACRO)(name) __imp_##name" >> $@
- echo "# define $(GLOBAL_MACRO)(name) (*$(IMP_MACRO)(name))" >> $@
- echo "#else" >> $@
- echo "# define $(GLOBAL_MACRO)(name) name" >> $@
- echo "#endif" >> $@
- echo "" >> $@
- for sym in `nm $< | grep '^........ [BCDR] _' | sed 's/[^_]*_//'`; do \
- echo "#define $$sym $(GLOBAL_MACRO)($$sym)" >> $@; \
- done
-
-# This rule creates the export object file (`foo.exp') which contains the
-# jump table array; this export object file becomes part of the DLL.
-# This rule also creates the import library (`foo_dll.a') which contains small
-# stubs for all the functions exported by the DLL which jump to them via the
-# jump table. Executables that will use the DLL must be linked against this
-# stub library.
-%.exp %_dll.a : %.def
- dlltool $(DLLTOOLFLAGS) $(DLLTOOLFLAGS-$*) \
- --def $< \
- --dllname $*.dll \
- --output-exp $*.exp \
- --output-lib $*_dll.a
-
-# The `sed' commands below are to convert DOS-style `C:\foo\bar'
-# pathnames into Unix-style `//c/foo/bar' pathnames.
-CYGWIN32_LIBS = $(shell echo \
- -L`dirname \`gcc -print-file-name=libgcc.a | \
- sed -e 's@^\\\\([A-Za-z]\\\\):@//\\\\1@g' -e 's@\\\\\\\\@/@g' \` ` \
- -L`dirname \`gcc -print-file-name=libcygwin.a | \
- sed -e 's@^\\\\([A-Za-z]\\\\):@//\\\\1@g' -e 's@\\\\\\\\@/@g' \` ` \
- -L`dirname \`gcc -print-file-name=libkernel32.a | \
- sed -e 's@^\\\\([A-Za-z]\\\\):@//\\\\1@g' -e 's@\\\\\\\\@/@g' \` ` \
- -lgcc -lcygwin -lkernel32 -lgcc)
-
-RELOCATABLE=yes
-
-ifeq "$(strip $(RELOCATABLE))" "yes"
-
-# to create relocatable DLLs, we need to do two passes
-%.dll: %.exp %.a dll_fixup.o dll_init.o
- $(LD) $(LDFLAGS) $(LDFLAGS-$*) --dll -o $*.base \
- -e _dll_entry@12 dll_init.o \
- dll_fixup.o $*.exp $*.a \
- $(LDLIBS) $(LDLIBS-$*) \
- $(CYGWIN32_LIBS)
- $(LD) $(LDFLAGS) $(LDFLAGS-$*) --dll --base-file $*.base -o $@ \
- -e _dll_entry@12 dll_init.o \
- dll_fixup.o $*.exp $*.a \
- $(LDLIBS) $(LDLIBS-$*) \
- $(CYGWIN32_LIBS)
- rm -f $*.base
-else
-
-%.dll: %.exp %.a dll_fixup.o dll_init.o
- $(LD) $(LDFLAGS) $(LDFLAGS-$*) --dll -o $@ \
- -e _dll_entry@12 dll_init.o \
- dll_fixup.o $*.exp $*.a \
- $(LDLIBS) $(LDLIBS-$*) \
- $(CYGWIN32_LIBS)
-
-endif
-
-# This black magic piece of assembler needs to be linked in in order to
-# properly terminate the list of imported DLLs.
-dll_fixup.s:
- echo '.section .idata$$3' > dll_fixup.s
- echo '.long 0,0,0,0, 0,0,0,0' >> dll_fixup.s
-
-# This bit is necessary to provide an initialization function for the DLL.
-dll_init.c:
- echo '__attribute__((stdcall))' > dll_init.c
- echo 'int dll_entry(int handle, int reason, void *ptr)' >> dll_init.c
- echo '{return 1; }' >> dll_init.c
-
-dont_throw_away: dll_fixup.o dll_init.o
diff --git a/boehm-gc/Makefile.am b/boehm-gc/Makefile.am
deleted file mode 100644
index cd18abbeed2..00000000000
--- a/boehm-gc/Makefile.am
+++ /dev/null
@@ -1,130 +0,0 @@
-## Process this file with automake to produce Makefile.in.
-
-## FIXME: `make dist' in this directory will not currently work. Many
-## files that should be in the distribution are not mentioned in this
-## Makefile.am.
-
-AUTOMAKE_OPTIONS = cygnus
-
-# Multilib support variables.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-
-toolexeclib_LTLIBRARIES = $(target_all)
-EXTRA_LTLIBRARIES = libgcjgc.la
-libgcjgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c \
-config.h dbg_mlc.c dyn_load.c finalize.c gc.h gc_alloc.h gc_cpp.h \
-gc_hdrs.h gc_mark.h gc_priv.h gc_private.h gc_typed.h headers.c \
-irix_threads.c linux_threads.c malloc.c mallocx.c mark.c mark_rts.c \
-misc.c new_hblk.c obj_map.c os_dep.c pcr_interface.c ptr_chck.c \
-quick_threads.c real_malloc.c reclaim.c solaris_pthreads.c \
-solaris_threads.c solaris_threads.h stubborn.c typd_mlc.c version.h \
-weakpointer.h
-libgcjgc_la_LIBADD = @addobjs@
-libgcjgc_la_DEPENDENCIES = @addobjs@
-libgcjgc_la_LDFLAGS = -release $(VERSION) -rpath $(toolexeclibdir)
-
-EXTRA_libgcjgc_la_SOURCES = alpha_mach_dep.s mips_sgi_mach_dep.s \
-mips_ultrix_mach_dep.s rs6000_mach_dep.s sparc_mach_dep.s \
-sparc_sunos4_mach_dep.s mach_dep.c ecos.cc
-
-AM_CXXFLAGS = @BOEHM_GC_CFLAGS@
-AM_CFLAGS = @BOEHM_GC_CFLAGS@
-
-check_PROGRAMS = gctest
-gctest_SOURCES = test.c
-gctest_LDADD = ./libgcjgc.la
-
-
-## FIXME: relies on internal code generated by automake.
-all_objs = @addobjs@ $(libgcjgc_la_OBJECTS)
-$(all_objs) : config.h gc_priv.h gc_hdrs.h gc.h gc_mark.h
-
-## FIXME: we shouldn't have to do this, but automake forces us to.
-.s.o:
- $(LTCOMPILE) -x assembler-with-cpp -c $<
-
-## We have our own definition of LTCOMPILE because we want to use our
-## CFLAGS, not those passed in from the top level make.
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(MY_CFLAGS) $(BOEHM_GC_CFLAGS)
-LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
-
-AM_CFLAGS = @BOEHM_GC_CFLAGS@
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "SHELL=$(SHELL)" \
- "EXPECT=$(EXPECT)" \
- "RUNTEST=$(RUNTEST)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "prefix=$(prefix)" \
- "tooldir=$(tooldir)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "NM=$(NM)" \
- "PICFLAG=$(PICFLAG)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-CONFIG_STATUS_DEPENDENCIES = $(boehm_gc_basedir)/configure.host
-
-# Multilib support.
-.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
- maintainer-clean-multi
-
-all-recursive: all-multi
-install-recursive: install-multi
-mostlyclean-recursive: mostlyclean-multi
-clean-recursive: clean-multi
-distclean-recursive: distclean-multi
-maintainer-clean-recursive: maintainer-clean-multi
-
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
-install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
-mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
-distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
-maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
-
-MAKEOVERRIDES=
diff --git a/boehm-gc/Makefile.dj b/boehm-gc/Makefile.dj
deleted file mode 100644
index 979ac6f33e7..00000000000
--- a/boehm-gc/Makefile.dj
+++ /dev/null
@@ -1,296 +0,0 @@
-# Primary targets:
-# gc.a - builds basic library
-# libgc.a - builds library for use with g++ "-fgc-keyword" extension
-# c++ - adds C++ interface to library
-# cords - adds cords (heavyweight strings) to library
-# test - prints porting information, then builds basic version of gc.a,
-# and runs some tests of collector and cords. Does not add cords or
-# c++ interface to gc.a
-# cord/de$(EXE_SUFFIX) - builds dumb editor based on cords.
-CC=gcc
-CXX=gcc -x c++
-CXXLD=gxx
-RM=rm -f
-MV=mv
-EXE_SUFFIX=.exe
-RANLIB=ranlib
-
-CFLAGS= -O -DNO_SIGNALS -DALL_INTERIOR_POINTERS -DSILENT -DATOMIC_UNCOLLECTABLE
-
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-# -DSILENT disables statistics printing, and improves performance.
-# -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-# altered stubborn objects, at substantial performance cost.
-# Use only for incremental collector debugging.
-# -DFIND_LEAK causes the collector to assume that all inaccessible
-# objects should have been explicitly deallocated, and reports exceptions.
-# Finalization and the test program are not usable in this mode.
-# -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-# (Clients should also define SOLARIS_THREADS and then include
-# gc.h before performing thr_ or dl* or GC_ operations.)
-# This is broken on nonSPARC machines.
-# -DIRIX_THREADS enables support for Irix pthreads. See README.irix.
-# -DALL_INTERIOR_POINTERS allows all pointers to the interior
-# of objects to be recognized. (See gc_priv.h for consequences.)
-# -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-# usually causing it to use less space in such situations.
-# Incremental collection no longer works in this case.
-# -DLARGE_CONFIG tunes the collector for unusually large heaps.
-# Necessary for heaps larger than about 500 MB on most machines.
-# Recommended for heaps larger than about 64 MB.
-# -DDONT_ADD_BYTE_AT_END is meaningful only with
-# -DALL_INTERIOR_POINTERS. Normally -DALL_INTERIOR_POINTERS
-# causes all objects to be padded so that pointers just past the end of
-# an object can be recognized. This can be expensive. (The padding
-# is normally more than one byte due to alignment constraints.)
-# -DDONT_ADD_BYTE_AT_END disables the padding.
-# -DNO_SIGNALS does not disable signals during critical parts of
-# the GC process. This is no less correct than many malloc
-# implementations, and it sometimes has a significant performance
-# impact. However, it is dangerous for many not-quite-ANSI C
-# programs that call things like printf in asynchronous signal handlers.
-# -DNO_EXECUTE_PERMISSION may cause some or all of the heap to not
-# have execute permission, i.e. it may be impossible to execute
-# code from the heap. Currently this only affects the incremental
-# collector on UNIX machines. It may greatly improve its performance,
-# since this may avoid some expensive cache synchronization.
-# -DOPERATOR_NEW_ARRAY declares that the C++ compiler supports the
-# new syntax "operator new[]" for allocating and deleting arrays.
-# See gc_cpp.h for details. No effect on the C part of the collector.
-# This is defined implicitly in a few environments.
-# -DREDIRECT_MALLOC=X causes malloc, realloc, and free to be defined
-# as aliases for X, GC_realloc, and GC_free, respectively.
-# Calloc is redefined in terms of the new malloc. X should
-# be either GC_malloc or GC_malloc_uncollectable.
-# The former is occasionally useful for working around leaks in code
-# you don't want to (or can't) look at. It may not work for
-# existing code, but it often does. Neither works on all platforms,
-# since some ports use malloc or calloc to obtain system memory.
-# (Probably works for UNIX, and win32.)
-# -DIGNORE_FREE turns calls to free into a noop. Only useful with
-# -DREDIRECT_MALLOC.
-# -DNO_DEBUGGING removes GC_dump and the debugging routines it calls.
-# Reduces code size slightly at the expense of debuggability.
-# -DJAVA_FINALIZATION makes it somewhat safer to finalize objects out of
-# order by specifying a nonstandard finalization mark procedure (see
-# finalize.c). Objects reachable from finalizable objects will be marked
-# in a sepearte postpass, and hence their memory won't be reclaimed.
-# Not recommended unless you are implementing a language that specifies
-# these semantics.
-# -DATOMIC_UNCOLLECTABLE includes code for GC_malloc_atomic_uncollectable.
-# This is useful if either the vendor malloc implementation is poor,
-# or if REDIRECT_MALLOC is used.
-
-LIBGC_CFLAGS= -O -DNO_SIGNALS -DSILENT \
- -DREDIRECT_MALLOC=GC_malloc_uncollectable \
- -DDONT_ADD_BYTE_AT_END -DALL_INTERIOR_POINTERS
-# Flags for building libgc.a -- the last two are required.
-
-CXXFLAGS= $(CFLAGS) -DOPERATOR_NEW_ARRAY
-AR= ar
-RANLIB= ranlib
-
-
-# Redefining srcdir allows object code for the nonPCR version of the collector
-# to be generated in different directories. In this case, the destination directory
-# should contain a copy of the original include directory.
-srcdir = .
-VPATH = $(srcdir)
-
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dbg_mlc.o malloc.o stubborn.o checksums.o solaris_threads.o irix_threads.o typd_mlc.o ptr_chck.o mallocx.o
-
-CSRCS= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c checksums.c solaris_threads.c irix_threads.c typd_mlc.c ptr_chck.c mallocx.c
-
-CORD_SRCS= cord/cordbscs.c cord/cordxtra.c cord/cordprnt.c cord/de.c cord/cordtest.c cord/cord.h cord/ec.h cord/private/cord_pos.h cord/de_win.c cord/de_win.h cord/de_cmds.h cord/de_win.ICO cord/de_win.RC cord/SCOPTIONS.amiga cord/SMakefile.amiga
-
-CORD_OBJS= cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
-
-SRCS= $(CSRCS) mips_sgi_mach_dep.s rs6000_mach_dep.s alpha_mach_dep.s \
- sparc_mach_dep.s gc.h gc_typed.h gc_hdrs.h gc_priv.h gc_private.h \
- config.h gc_mark.h include/gc_inl.h include/gc_inline.h gc.man \
- threadlibs.c if_mach.c if_not_there.c gc_cpp.cc gc_cpp.h weakpointer.h \
- gcc_support.c mips_ultrix_mach_dep.s include/gc_alloc.h gc_alloc.h \
- $(CORD_SRCS)
-
-OTHER_FILES= Makefile PCR-Makefile OS2_MAKEFILE NT_MAKEFILE BCC_MAKEFILE \
- README test.c test_cpp.cc setjmp_t.c SMakefile.amiga \
- SCoptions.amiga README.amiga README.win32 cord/README \
- cord/gc.h include/gc.h include/gc_typed.h include/cord.h \
- include/ec.h include/private/cord_pos.h include/private/config.h \
- include/private/gc_hdrs.h include/private/gc_priv.h \
- include/gc_cpp.h README.rs6000 \
- include/weakpointer.h README.QUICK callprocs pc_excludes \
- barrett_diagram README.OS2 README.Mac MacProjects.sit.hqx \
- MacOS.c EMX_MAKEFILE makefile.depend README.debugging \
- include/gc_cpp.h Mac_files/datastart.c Mac_files/dataend.c \
- Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
- add_gc_prefix.c README.solaris2 README.sgi README.hp README.uts \
- win32_threads.c NT_THREADS_MAKEFILE gc.mak README.dj Makefile.dj
-
-CORD_INCLUDE_FILES= $(srcdir)/gc.h $(srcdir)/cord/cord.h $(srcdir)/cord/ec.h \
- $(srcdir)/cord/private/cord_pos.h
-
-UTILS= if_mach$(EXE_SUFFIX) if_not_there$(EXE_SUFFIX) threadlibs$(EXE_SUFFIX)
-
-# Libraries needed for curses applications. Only needed for de.
-CURSES= -lcurses -ltermlib
-
-# The following is irrelevant on most systems. But a few
-# versions of make otherwise fork the shell specified in
-# the SHELL environment variable.
-SHELL= /bin/sh
-
-SPECIALCFLAGS =
-# Alternative flags to the C compiler for mach_dep.c.
-# Mach_dep.c often doesn't like optimization, and it's
-# not time-critical anyway.
-# Set SPECIALCFLAGS to -q nodirect_code on Encore.
-
-all: gc.a gctest$(EXE_SUFFIX)
-
-pcr: PCR-Makefile gc_private.h gc_hdrs.h gc.h config.h mach_dep.o $(SRCS)
- make -f PCR-Makefile depend
- make -f PCR-Makefile
-
-$(OBJS) test.o dyn_load.o dyn_load_sunos53.o: $(srcdir)/gc_priv.h $(srcdir)/gc_hdrs.h $(srcdir)/gc.h \
- $(srcdir)/config.h $(srcdir)/gc_typed.h Makefile
-# The dependency on Makefile is needed. Changing
-# options such as -DSILENT affects the size of GC_arrays,
-# invalidating all .o files that rely on gc_priv.h
-
-mark.o typd_mlc.o finalize.o: $(srcdir)/gc_mark.h
-
-base_lib gc.a: $(OBJS) dyn_load.o $(UTILS)
- echo > base_lib
- $(RM) on_sparc_sunos5
- ./if_mach SPARC SUNOS5 touch on_sparc_sunos5
- ./if_mach SPARC SUNOS5 $(AR) rus gc.a $(OBJS) dyn_load.o
- ./if_not_there on_sparc_sunos5 $(AR) ru gc.a $(OBJS) dyn_load.o
- -./if_not_there on_sparc_sunos5 $(RANLIB) gc.a
-# ignore ranlib failure; that usually means it doesn't exist, and isn't needed
-
-libgc.a:
- make CFLAGS="$(LIBGC_CFLAGS)" clean gc.a gcc_support.o
- $(MV) gc.a libgc.a
- -$(RM) on_sparc_sunos5
- ./if_mach SPARC SUNOS5 touch on_sparc_sunos5
- ./if_mach SPARC SUNOS5 $(AR) rus libgc.a gcc_support.o
- ./if_not_there on_sparc_sunos5 $(AR) ru libgc.a gcc_support.o
- -./if_not_there on_sparc_sunos5 $(RANLIB) libgc.a
-
-cords: $(CORD_OBJS) cord/cordtest$(EXE_SUFFIX) $(UTILS)
- -$(RM) on_sparc_sunos5
- ./if_mach SPARC SUNOS5 touch on_sparc_sunos5
- ./if_mach SPARC SUNOS5 $(AR) rus gc.a $(CORD_OBJS)
- ./if_not_there on_sparc_sunos5 $(AR) ru gc.a $(CORD_OBJS)
- -./if_not_there on_sparc_sunos5 $(RANLIB) gc.a
-
-gc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/gc_cpp.h $(srcdir)/gc.h Makefile
- $(CXX) -c $(CXXFLAGS) $(srcdir)/gc_cpp.cc
-
-test_cpp: $(srcdir)/test_cpp.cc $(srcdir)/gc_cpp.h gc_cpp.o $(srcdir)/gc.h \
-base_lib $(UTILS)
- -$(RM) test_cpp test_cpp$(EXE_SUFFIX)
- ./if_mach HP_PA "" $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/test_cpp.cc gc_cpp.o gc.a -ldld
- ./if_not_there test_cpp$(EXE_SUFFIX) $(CXXLD) $(CXXFLAGS) -o test_cpp $(srcdir)/test_cpp.cc gc_cpp.o gc.a
- $(RM) test_cpp
-
-c++: gc_cpp.o $(srcdir)/gc_cpp.h test_cpp
- -$(RM) on_sparc_sunos5
- $(AR) ru gc.a gc_cpp.o
- $(RANLIB) gc.a
- ./test_cpp$(EXE_SUFFIX) 1
- echo > c++
-
-dyn_load_sunos53.o: dyn_load.c
- $(CC) $(CFLAGS) -DSUNOS53_SHARED_LIB -c $(srcdir)/dyn_load.c -o $@
-
-mach_dep.o: $(srcdir)/mach_dep.c
- -$(RM) mach_dep.o
- $(CC) -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-
-mark_rts.o: $(srcdir)/mark_rts.c
- -$(RM) mark_rts.o
- $(CC) -c $(CFLAGS) $(srcdir)/mark_rts.c
-
-cord/cordbscs.o: $(srcdir)/cord/cordbscs.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordbscs.c
- $(MV) cordbscs.o cord/cordbscs.o
-# not all compilers understand -o filename
-
-cord/cordxtra.o: $(srcdir)/cord/cordxtra.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordxtra.c
- $(MV) cordxtra.o cord/cordxtra.o
-
-cord/cordprnt.o: $(srcdir)/cord/cordprnt.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordprnt.c
- $(MV) cordprnt.o cord/cordprnt.o
-
-cord/cordtest$(EXE_SUFFIX): $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a $(UTILS)
- -$(RM) cord/cordtest$(EXE_SUFFIX)
- $(CC) $(CFLAGS) -o cordtest $(srcdir)/cord/cordtest.c\
- $(CORD_OBJS) gc.a
- ./if_not_there cord/cordtest$(EXE_SUFFIX) \
- $(MV) cordtest$(EXE_SUFFIX) cord/cordtest$(EXE_SUFFIX)
-
-cord/de$(EXE_SUFFIX): $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a
- -$(RM) cord/de$(EXE_SUFFIX)
- ./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c\
-cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -lucb
- ./if_mach HP_PA "" $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c\
-cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -ldld
- ./if_mach RS6000 "" $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c\
-cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
- ./if_mach I386 LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c\
-cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
- ./if_not_there cord/de $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c\
-cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES)
- ./if_not_there cord/de$(EXE_SUFFIX) \
- $(MV) de$(EXE_SUFFIX) cord/de$(EXE_SUFFIX)
-
-if_mach$(EXE_SUFFIX): $(srcdir)/if_mach.c $(srcdir)/config.h
- $(CC) $(CFLAGS) -o if_mach $(srcdir)/if_mach.c
- -$(RM) if_mach
-
-threadlibs$(EXE_SUFFIX): $(srcdir)/threadlibs.c $(srcdir)/config.h Makefile
- $(CC) $(CFLAGS) -o threadlibs $(srcdir)/threadlibs.c
- -$(RM) threadlibs
-
-if_not_there$(EXE_SUFFIX): $(srcdir)/if_not_there.c
- $(CC) $(CFLAGS) -o if_not_there $(srcdir)/if_not_there.c
- -$(RM) if_not_there
-
-clean:
- -$(RM) gc.a *.o
- -$(RM) *.o
- -$(RM) gctest gctest_dyn_link test_cpp \
- setjmp_test mon.out gmon.out a.out core if_not_there if_mach \
- $(CORD_OBJS) cordtest cord/cordtest de cord/de
- -$(RM) gctest$(EXE_SUFFIX) gctest_dyn_link$(EXE_SUFFIX) test_cpp$(EXE_SUFFIX) \
- setjmp_test$(EXE_SUFFIX) if_not_there$(EXE_SUFFIX) if_mach$(EXE_SUFFIX) \
- cord/cordtest$(EXE_SUFFIX)
- -$(RM) *~
-
-gctest$(EXE_SUFFIX): test.o gc.a
- -$(RM) gctest$(EXE_SUFFIX)
- $(CC) $(CFLAGS) -o gctest test.o gc.a
- $(RM) gctest
-
-# If an optimized setjmp_test generates a segmentation fault,
-# odds are your compiler is broken. Gctest may still work.
-# Try compiling setjmp_t.c unoptimized.
-setjmp_test$(EXE_SUFFIX): $(srcdir)/setjmp_t.c $(srcdir)/gc.h \
- if_mach$(EXE_SUFFIX) if_not_there$(EXE_SUFFIX)
- -$(RM) setjmp_test$(EXE_SUFFIX)
- $(CC) $(CFLAGS) -o setjmp_test $(srcdir)/setjmp_t.c
- $(RM) setjmp_test
-
-test: KandRtest cord/cordtest$(EXE_SUFFIX)
- ./cord/cordtest$(EXE_SUFFIX)
-
-# Those tests that work even with a K&R C compiler:
-KandRtest: setjmp_test$(EXE_SUFFIX) gctest$(EXE_SUFFIX)
- ./setjmp_test$(EXE_SUFFIX)
- ./gctest$(EXE_SUFFIX)
-
diff --git a/boehm-gc/Makefile.in b/boehm-gc/Makefile.in
deleted file mode 100644
index 250f79a995d..00000000000
--- a/boehm-gc/Makefile.in
+++ /dev/null
@@ -1,514 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = .
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AR = @AR@
-AS = @AS@
-BOEHM_GC_CFLAGS = @BOEHM_GC_CFLAGS@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXINCLUDES = @CXXINCLUDES@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-INCLUDES = @INCLUDES@
-LD = @LD@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MY_CFLAGS = @MY_CFLAGS@
-NM = @NM@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-VERSION = @VERSION@
-addobjs = @addobjs@
-boehm_gc_basedir = @boehm_gc_basedir@
-target_all = @target_all@
-
-AUTOMAKE_OPTIONS = cygnus
-
-# Multilib support variables.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-
-toolexeclib_LTLIBRARIES = $(target_all)
-EXTRA_LTLIBRARIES = libgcjgc.la
-libgcjgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c \
-config.h dbg_mlc.c dyn_load.c finalize.c gc.h gc_alloc.h gc_cpp.h \
-gc_hdrs.h gc_mark.h gc_priv.h gc_private.h gc_typed.h headers.c \
-irix_threads.c linux_threads.c malloc.c mallocx.c mark.c mark_rts.c \
-misc.c new_hblk.c obj_map.c os_dep.c pcr_interface.c ptr_chck.c \
-quick_threads.c real_malloc.c reclaim.c solaris_pthreads.c \
-solaris_threads.c solaris_threads.h stubborn.c typd_mlc.c version.h \
-weakpointer.h
-
-libgcjgc_la_LIBADD = @addobjs@
-libgcjgc_la_DEPENDENCIES = @addobjs@
-libgcjgc_la_LDFLAGS = -release $(VERSION) -rpath $(toolexeclibdir)
-
-EXTRA_libgcjgc_la_SOURCES = alpha_mach_dep.s mips_sgi_mach_dep.s \
-mips_ultrix_mach_dep.s rs6000_mach_dep.s sparc_mach_dep.s \
-sparc_sunos4_mach_dep.s mach_dep.c ecos.cc
-
-
-AM_CXXFLAGS = @BOEHM_GC_CFLAGS@
-
-AM_CFLAGS = @BOEHM_GC_CFLAGS@
-
-check_PROGRAMS = gctest
-gctest_SOURCES = test.c
-gctest_LDADD = ./libgcjgc.la
-
-all_objs = @addobjs@ $(libgcjgc_la_OBJECTS)
-
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(MY_CFLAGS) $(BOEHM_GC_CFLAGS)
-
-LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "SHELL=$(SHELL)" \
- "EXPECT=$(EXPECT)" \
- "RUNTEST=$(RUNTEST)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "prefix=$(prefix)" \
- "tooldir=$(tooldir)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "NM=$(NM)" \
- "PICFLAG=$(PICFLAG)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-
-CONFIG_STATUS_DEPENDENCIES = $(boehm_gc_basedir)/configure.host
-
-MAKEOVERRIDES =
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir)
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-libgcjgc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo checksums.lo \
-dbg_mlc.lo dyn_load.lo finalize.lo headers.lo irix_threads.lo \
-linux_threads.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo \
-new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo \
-quick_threads.lo real_malloc.lo reclaim.lo solaris_pthreads.lo \
-solaris_threads.lo stubborn.lo typd_mlc.lo
-check_PROGRAMS = gctest$(EXEEXT)
-gctest_OBJECTS = test.o
-gctest_DEPENDENCIES = ./libgcjgc.la
-gctest_LDFLAGS =
-CXXFLAGS = @CXXFLAGS@
-CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-DIST_COMMON = README ChangeLog Makefile.am Makefile.in acinclude.m4 \
-aclocal.m4 configure configure.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-SOURCES = $(libgcjgc_la_SOURCES) $(EXTRA_libgcjgc_la_SOURCES) $(gctest_SOURCES)
-OBJECTS = $(libgcjgc_la_OBJECTS) $(gctest_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .cc .lo .o .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
- cd $(srcdir) && $(ACLOCAL)
-
-config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-
-mostlyclean-toolexeclibLTLIBRARIES:
-
-clean-toolexeclibLTLIBRARIES:
- -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
-
-distclean-toolexeclibLTLIBRARIES:
-
-maintainer-clean-toolexeclibLTLIBRARIES:
-
-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
- $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
- else :; fi; \
- done
-
-uninstall-toolexeclibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
- done
-
-.c.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libgcjgc.la: $(libgcjgc_la_OBJECTS) $(libgcjgc_la_DEPENDENCIES)
- $(LINK) $(libgcjgc_la_LDFLAGS) $(libgcjgc_la_OBJECTS) $(libgcjgc_la_LIBADD) $(LIBS)
-
-mostlyclean-checkPROGRAMS:
-
-clean-checkPROGRAMS:
- -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
-
-distclean-checkPROGRAMS:
-
-maintainer-clean-checkPROGRAMS:
-
-gctest$(EXEEXT): $(gctest_OBJECTS) $(gctest_DEPENDENCIES)
- @rm -f gctest$(EXEEXT)
- $(LINK) $(gctest_LDFLAGS) $(gctest_OBJECTS) $(gctest_LDADD) $(LIBS)
-.cc.o:
- $(CXXCOMPILE) -c $<
-.cc.lo:
- $(LTCXXCOMPILE) -c $<
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- -rm -rf $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
- mkdir $(distdir)/=build
- mkdir $(distdir)/=inst
- dc_install_base=`cd $(distdir)/=inst && pwd`; \
- cd $(distdir)/=build \
- && ../configure --srcdir=.. --prefix=$$dc_install_base \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) dist
- -rm -rf $(distdir)
- @banner="$(distdir).tar.gz is ready for distribution"; \
- dashes=`echo "$$banner" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- echo "$$dashes"
-dist: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-dist-all: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-distdir: $(DISTFILES)
- -rm -rf $(distdir)
- mkdir $(distdir)
- -chmod 777 $(distdir)
- @for file in $(DISTFILES); do \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: $(check_PROGRAMS)
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-info-am:
-install-info: install-info-am
-install-exec-am: install-toolexeclibLTLIBRARIES
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-toolexeclibLTLIBRARIES
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-toolexeclibLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-checkPROGRAMS \
- mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-toolexeclibLTLIBRARIES clean-compile clean-libtool \
- clean-checkPROGRAMS clean-tags clean-generic \
- mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-toolexeclibLTLIBRARIES distclean-compile \
- distclean-libtool distclean-checkPROGRAMS \
- distclean-tags distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-am
- -rm -f config.status
-
-maintainer-clean-am: maintainer-clean-toolexeclibLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-checkPROGRAMS maintainer-clean-tags \
- maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
- -rm -f config.status
-
-.PHONY: mostlyclean-toolexeclibLTLIBRARIES \
-distclean-toolexeclibLTLIBRARIES clean-toolexeclibLTLIBRARIES \
-maintainer-clean-toolexeclibLTLIBRARIES \
-uninstall-toolexeclibLTLIBRARIES install-toolexeclibLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool mostlyclean-checkPROGRAMS \
-distclean-checkPROGRAMS clean-checkPROGRAMS \
-maintainer-clean-checkPROGRAMS tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
-check-am installcheck-am installcheck install-info-am install-info \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-$(all_objs) : config.h gc_priv.h gc_hdrs.h gc.h gc_mark.h
-
-.s.o:
- $(LTCOMPILE) -x assembler-with-cpp -c $<
-
-# Multilib support.
-.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
- maintainer-clean-multi
-
-all-recursive: all-multi
-install-recursive: install-multi
-mostlyclean-recursive: mostlyclean-multi
-clean-recursive: clean-multi
-distclean-recursive: distclean-multi
-maintainer-clean-recursive: maintainer-clean-multi
-
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
-install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
-mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
-distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
-maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/boehm-gc/Makefile.orig b/boehm-gc/Makefile.orig
deleted file mode 100644
index 056df2f66f7..00000000000
--- a/boehm-gc/Makefile.orig
+++ /dev/null
@@ -1,400 +0,0 @@
-# Primary targets:
-# gc.a - builds basic library
-# libgc.a - builds library for use with g++ "-fgc-keyword" extension
-# c++ - adds C++ interface to library
-# cords - adds cords (heavyweight strings) to library
-# test - prints porting information, then builds basic version of gc.a,
-# and runs some tests of collector and cords. Does not add cords or
-# c++ interface to gc.a
-# cord/de - builds dumb editor based on cords.
-ABI_FLAG=
-CC=cc $(ABI_FLAG)
-CXX=CC $(ABI_FLAG)
-AS=as $(ABI_FLAG)
-# The above doesn't work with gas, which doesn't run cpp.
-# Define AS as `gcc -c -x assembler-with-cpp' instead.
-# Under Irix 6, you will have to specify the ABI for as if you specify
-# it for the C compiler.
-
-CFLAGS= -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DALL_INTERIOR_POINTERS -DNO_EXECUTE_PERMISSION -DSILENT
-
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-# -DSILENT disables statistics printing, and improves performance.
-# -DCHECKSUMS reports on erroneously clear dirty bits, and unexpectedly
-# altered stubborn objects, at substantial performance cost.
-# Use only for incremental collector debugging.
-# -DFIND_LEAK causes the collector to assume that all inaccessible
-# objects should have been explicitly deallocated, and reports exceptions.
-# Finalization and the test program are not usable in this mode.
-# -DSOLARIS_THREADS enables support for Solaris (thr_) threads.
-# (Clients should also define SOLARIS_THREADS and then include
-# gc.h before performing thr_ or dl* or GC_ operations.)
-# Must also define -D_REENTRANT
-# -D_SOLARIS_PTHREADS enables support for Solaris pthreads.
-# Define SOLARIS_THREADS as well.
-# -DIRIX_THREADS enables support for Irix pthreads. See README.irix.
-# -DALL_INTERIOR_POINTERS allows all pointers to the interior
-# of objects to be recognized. (See gc_priv.h for consequences.)
-# -DSMALL_CONFIG tries to tune the collector for small heap sizes,
-# usually causing it to use less space in such situations.
-# Incremental collection no longer works in this case.
-# -DLARGE_CONFIG tunes the collector for unusually large heaps.
-# Necessary for heaps larger than about 500 MB on most machines.
-# Recommended for heaps larger than about 64 MB.
-# -DDONT_ADD_BYTE_AT_END is meaningful only with
-# -DALL_INTERIOR_POINTERS. Normally -DALL_INTERIOR_POINTERS
-# causes all objects to be padded so that pointers just past the end of
-# an object can be recognized. This can be expensive. (The padding
-# is normally more than one byte due to alignment constraints.)
-# -DDONT_ADD_BYTE_AT_END disables the padding.
-# -DNO_SIGNALS does not disable signals during critical parts of
-# the GC process. This is no less correct than many malloc
-# implementations, and it sometimes has a significant performance
-# impact. However, it is dangerous for many not-quite-ANSI C
-# programs that call things like printf in asynchronous signal handlers.
-# -DNO_EXECUTE_PERMISSION may cause some or all of the heap to not
-# have execute permission, i.e. it may be impossible to execute
-# code from the heap. Currently this only affects the incremental
-# collector on UNIX machines. It may greatly improve its performance,
-# since this may avoid some expensive cache synchronization.
-# -DOPERATOR_NEW_ARRAY declares that the C++ compiler supports the
-# new syntax "operator new[]" for allocating and deleting arrays.
-# See gc_cpp.h for details. No effect on the C part of the collector.
-# This is defined implicitly in a few environments.
-# -DREDIRECT_MALLOC=X causes malloc, realloc, and free to be defined
-# as aliases for X, GC_realloc, and GC_free, respectively.
-# Calloc is redefined in terms of the new malloc. X should
-# be either GC_malloc or GC_malloc_uncollectable.
-# The former is occasionally useful for working around leaks in code
-# you don't want to (or can't) look at. It may not work for
-# existing code, but it often does. Neither works on all platforms,
-# since some ports use malloc or calloc to obtain system memory.
-# (Probably works for UNIX, and win32.)
-# -DIGNORE_FREE turns calls to free into a noop. Only useful with
-# -DREDIRECT_MALLOC.
-# -DNO_DEBUGGING removes GC_dump and the debugging routines it calls.
-# Reduces code size slightly at the expense of debuggability.
-# -DJAVA_FINALIZATION makes it somewhat safer to finalize objects out of
-# order by specifying a nonstandard finalization mark procedure (see
-# finalize.c). Objects reachable from finalizable objects will be marked
-# in a sepearte postpass, and hence their memory won't be reclaimed.
-# Not recommended unless you are implementing a language that specifies
-# these semantics.
-# -DFINALIZE_ON_DEMAND causes finalizers to be run only in response
-# to explicit GC_invoke_finalizers() calls.
-# -DATOMIC_UNCOLLECTABLE includes code for GC_malloc_atomic_uncollectable.
-# This is useful if either the vendor malloc implementation is poor,
-# or if REDIRECT_MALLOC is used.
-# -DHBLKSIZE=ddd, where ddd is a power of 2 between 512 and 16384, explicitly
-# sets the heap block size. Each heap block is devoted to a single size and
-# kind of object. For the incremental collector it makes sense to match
-# the most likely page size. Otherwise large values result in more
-# fragmentation, but generally better performance for large heaps.
-# -DUSE_MMAP use MMAP instead of sbrk to get new memory.
-# Works for Solaris and Irix.
-# -DMMAP_STACKS (for Solaris threads) Use mmap from /dev/zero rather than
-# GC_scratch_alloc() to get stack memory.
-# -DPRINT_BLACK_LIST Whenever a black list entry is added, i.e. whenever
-# the garbage collector detects a value that looks almost, but not quite,
-# like a pointer, print both the address containing the value, and the
-# value of the near-bogus-pointer. Can be used to identifiy regions of
-# memory that are likely to contribute misidentified pointers.
-# -DOLD_BLOCK_ALLOC Use the old, possibly faster, large block
-# allocation strategy. The new strategy tries harder to minimize
-# fragmentation, sometimes at the expense of spending more time in the
-# large block allocator and/or collecting more frequently.
-#
-
-
-
-LIBGC_CFLAGS= -O -DNO_SIGNALS -DSILENT \
- -DREDIRECT_MALLOC=GC_malloc_uncollectable \
- -DDONT_ADD_BYTE_AT_END -DALL_INTERIOR_POINTERS
-# Flags for building libgc.a -- the last two are required.
-
-CXXFLAGS= $(CFLAGS)
-AR= ar
-RANLIB= ranlib
-
-
-# Redefining srcdir allows object code for the nonPCR version of the collector
-# to be generated in different directories. In this case, the destination directory
-# should contain a copy of the original include directory.
-srcdir = .
-VPATH = $(srcdir)
-
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o dbg_mlc.o malloc.o stubborn.o checksums.o solaris_threads.o irix_threads.o linux_threads.o typd_mlc.o ptr_chck.o mallocx.o solaris_pthreads.o
-
-CSRCS= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c checksums.c solaris_threads.c irix_threads.c linux_threads.c typd_mlc.c ptr_chck.c mallocx.c solaris_pthreads.c
-
-CORD_SRCS= cord/cordbscs.c cord/cordxtra.c cord/cordprnt.c cord/de.c cord/cordtest.c cord/cord.h cord/ec.h cord/private/cord_pos.h cord/de_win.c cord/de_win.h cord/de_cmds.h cord/de_win.ICO cord/de_win.RC cord/SCOPTIONS.amiga cord/SMakefile.amiga
-
-CORD_OBJS= cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o
-
-SRCS= $(CSRCS) mips_sgi_mach_dep.s rs6000_mach_dep.s alpha_mach_dep.s \
- sparc_mach_dep.s gc.h gc_typed.h gc_hdrs.h gc_priv.h gc_private.h \
- config.h gc_mark.h include/gc_inl.h include/gc_inline.h gc.man \
- threadlibs.c if_mach.c if_not_there.c gc_cpp.cc gc_cpp.h weakpointer.h \
- gcc_support.c mips_ultrix_mach_dep.s include/gc_alloc.h gc_alloc.h \
- sparc_sunos4_mach_dep.s solaris_threads.h $(CORD_SRCS)
-
-OTHER_FILES= Makefile PCR-Makefile OS2_MAKEFILE NT_MAKEFILE BCC_MAKEFILE \
- README test.c test_cpp.cc setjmp_t.c SMakefile.amiga \
- SCoptions.amiga README.amiga README.win32 cord/README \
- cord/gc.h include/gc.h include/gc_typed.h include/cord.h \
- include/ec.h include/private/cord_pos.h include/private/config.h \
- include/private/gc_hdrs.h include/private/gc_priv.h \
- include/gc_cpp.h README.rs6000 \
- include/weakpointer.h README.QUICK callprocs pc_excludes \
- barrett_diagram README.OS2 README.Mac MacProjects.sit.hqx \
- MacOS.c EMX_MAKEFILE makefile.depend README.debugging \
- include/gc_cpp.h Mac_files/datastart.c Mac_files/dataend.c \
- Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
- add_gc_prefix.c README.solaris2 README.sgi README.hp README.uts \
- win32_threads.c NT_THREADS_MAKEFILE gc.mak README.dj Makefile.dj \
- README.alpha README.linux version.h Makefile.DLLs gc_watcom.asm \
- WCC_MAKEFILE
-
-CORD_INCLUDE_FILES= $(srcdir)/gc.h $(srcdir)/cord/cord.h $(srcdir)/cord/ec.h \
- $(srcdir)/cord/private/cord_pos.h
-
-UTILS= if_mach if_not_there threadlibs
-
-# Libraries needed for curses applications. Only needed for de.
-CURSES= -lcurses -ltermlib
-
-# The following is irrelevant on most systems. But a few
-# versions of make otherwise fork the shell specified in
-# the SHELL environment variable.
-SHELL= /bin/sh
-
-SPECIALCFLAGS =
-# Alternative flags to the C compiler for mach_dep.c.
-# Mach_dep.c often doesn't like optimization, and it's
-# not time-critical anyway.
-# Set SPECIALCFLAGS to -q nodirect_code on Encore.
-
-all: gc.a gctest
-
-pcr: PCR-Makefile gc_private.h gc_hdrs.h gc.h config.h mach_dep.o $(SRCS)
- make -f PCR-Makefile depend
- make -f PCR-Makefile
-
-$(OBJS) test.o dyn_load.o dyn_load_sunos53.o: $(srcdir)/gc_priv.h $(srcdir)/gc_hdrs.h $(srcdir)/gc.h \
- $(srcdir)/config.h $(srcdir)/gc_typed.h Makefile
-# The dependency on Makefile is needed. Changing
-# options such as -DSILENT affects the size of GC_arrays,
-# invalidating all .o files that rely on gc_priv.h
-
-mark.o typd_mlc.o finalize.o: $(srcdir)/gc_mark.h
-
-base_lib gc.a: $(OBJS) dyn_load.o $(UTILS)
- echo > base_lib
- rm -f on_sparc_sunos5
- ./if_mach SPARC SUNOS5 touch on_sparc_sunos5
- ./if_mach SPARC SUNOS5 $(AR) rus gc.a $(OBJS) dyn_load.o
- ./if_not_there on_sparc_sunos5 $(AR) ru gc.a $(OBJS) dyn_load.o
- ./if_not_there on_sparc_sunos5 $(RANLIB) gc.a || cat /dev/null
-# ignore ranlib failure; that usually means it doesn't exist, and isn't needed
-
-libgc.a:
- make CFLAGS="$(LIBGC_CFLAGS)" clean gc.a gcc_support.o
- mv gc.a libgc.a
- rm -f on_sparc_sunos5
- ./if_mach SPARC SUNOS5 touch on_sparc_sunos5
- ./if_mach SPARC SUNOS5 $(AR) rus libgc.a gcc_support.o
- ./if_not_there on_sparc_sunos5 $(AR) ru libgc.a gcc_support.o
- ./if_not_there on_sparc_sunos5 $(RANLIB) libgc.a || cat /dev/null
-
-cords: $(CORD_OBJS) cord/cordtest $(UTILS)
- rm -f on_sparc_sunos5
- ./if_mach SPARC SUNOS5 touch on_sparc_sunos5
- ./if_mach SPARC SUNOS5 $(AR) rus gc.a $(CORD_OBJS)
- ./if_not_there on_sparc_sunos5 $(AR) ru gc.a $(CORD_OBJS)
- ./if_not_there on_sparc_sunos5 $(RANLIB) gc.a || cat /dev/null
-
-gc_cpp.o: $(srcdir)/gc_cpp.cc $(srcdir)/gc_cpp.h $(srcdir)/gc.h Makefile
- $(CXX) -c $(CXXFLAGS) $(srcdir)/gc_cpp.cc
-
-test_cpp: $(srcdir)/test_cpp.cc $(srcdir)/gc_cpp.h gc_cpp.o $(srcdir)/gc.h \
-base_lib $(UTILS)
- rm -f test_cpp
- ./if_mach HP_PA "" $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/test_cpp.cc gc_cpp.o gc.a -ldld
- ./if_not_there test_cpp $(CXX) $(CXXFLAGS) -o test_cpp $(srcdir)/test_cpp.cc gc_cpp.o gc.a `./threadlibs`
-
-c++: gc_cpp.o $(srcdir)/gc_cpp.h test_cpp
- rm -f on_sparc_sunos5
- ./if_mach SPARC SUNOS5 touch on_sparc_sunos5
- ./if_mach SPARC SUNOS5 $(AR) rus gc.a gc_cpp.o
- ./if_not_there on_sparc_sunos5 $(AR) ru gc.a gc_cpp.o
- ./if_not_there on_sparc_sunos5 $(RANLIB) gc.a || cat /dev/null
- ./test_cpp 1
- echo > c++
-
-dyn_load_sunos53.o: dyn_load.c
- $(CC) $(CFLAGS) -DSUNOS53_SHARED_LIB -c $(srcdir)/dyn_load.c -o $@
-
-# SunOS5 shared library version of the collector
-libgc.so: $(OBJS) dyn_load_sunos53.o
- $(CC) -G -o libgc.so $(OBJS) dyn_load_sunos53.o -ldl
-
-# Alpha/OSF shared library version of the collector
-libalphagc.so: $(OBJS)
- ld -shared -o libalphagc.so $(OBJS) dyn_load.o -lc
- ln libalphagc.so libgc.so
-
-# IRIX shared library version of the collector
-libirixgc.so: $(OBJS) dyn_load.o
- ld -shared $(ABI_FLAG) -o libirixgc.so $(OBJS) dyn_load.o -lc
- ln libirixgc.so libgc.so
-
-mach_dep.o: $(srcdir)/mach_dep.c $(srcdir)/mips_sgi_mach_dep.s $(srcdir)/mips_ultrix_mach_dep.s $(srcdir)/rs6000_mach_dep.s $(UTILS)
- rm -f mach_dep.o
- ./if_mach MIPS IRIX5 $(AS) -o mach_dep.o $(srcdir)/mips_sgi_mach_dep.s
- ./if_mach MIPS RISCOS $(AS) -o mach_dep.o $(srcdir)/mips_ultrix_mach_dep.s
- ./if_mach MIPS ULTRIX $(AS) -o mach_dep.o $(srcdir)/mips_ultrix_mach_dep.s
- ./if_mach RS6000 "" $(AS) -o mach_dep.o $(srcdir)/rs6000_mach_dep.s
- ./if_mach ALPHA "" $(AS) -o mach_dep.o $(srcdir)/alpha_mach_dep.s
- ./if_mach SPARC SUNOS5 $(AS) -o mach_dep.o $(srcdir)/sparc_mach_dep.s
- ./if_mach SPARC SUNOS4 $(AS) -o mach_dep.o $(srcdir)/sparc_sunos4_mach_dep.s
- ./if_not_there mach_dep.o $(CC) -c $(SPECIALCFLAGS) $(srcdir)/mach_dep.c
-
-mark_rts.o: $(srcdir)/mark_rts.c if_mach if_not_there $(UTILS)
- rm -f mark_rts.o
- -./if_mach ALPHA OSF1 $(CC) -c $(CFLAGS) -Wo,-notail $(srcdir)/mark_rts.c
- ./if_not_there mark_rts.o $(CC) -c $(CFLAGS) $(srcdir)/mark_rts.c
-# Work-around for DEC optimizer tail recursion elimination bug.
-# The ALPHA-specific line should be removed if gcc is used.
-
-alloc.o: version.h
-
-cord/cordbscs.o: $(srcdir)/cord/cordbscs.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordbscs.c
- mv cordbscs.o cord/cordbscs.o
-# not all compilers understand -o filename
-
-cord/cordxtra.o: $(srcdir)/cord/cordxtra.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordxtra.c
- mv cordxtra.o cord/cordxtra.o
-
-cord/cordprnt.o: $(srcdir)/cord/cordprnt.c $(CORD_INCLUDE_FILES)
- $(CC) $(CFLAGS) -c $(srcdir)/cord/cordprnt.c
- mv cordprnt.o cord/cordprnt.o
-
-cord/cordtest: $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a $(UTILS)
- rm -f cord/cordtest
- ./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a -lucb
- ./if_mach HP_PA "" $(CC) $(CFLAGS) -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a -ldld
- ./if_not_there cord/cordtest $(CC) $(CFLAGS) -o cord/cordtest $(srcdir)/cord/cordtest.c $(CORD_OBJS) gc.a `./threadlibs`
-
-cord/de: $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(UTILS)
- rm -f cord/de
- ./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -lucb
- ./if_mach HP_PA "" $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) -ldld
- ./if_mach RS6000 "" $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
- ./if_mach I386 LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
- ./if_mach ALPHA LINUX $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a -lcurses
- ./if_not_there cord/de $(CC) $(CFLAGS) -o cord/de $(srcdir)/cord/de.c cord/cordbscs.o cord/cordxtra.o gc.a $(CURSES) `./threadlibs`
-
-if_mach: $(srcdir)/if_mach.c $(srcdir)/config.h
- $(CC) $(CFLAGS) -o if_mach $(srcdir)/if_mach.c
-
-threadlibs: $(srcdir)/threadlibs.c $(srcdir)/config.h Makefile
- $(CC) $(CFLAGS) -o threadlibs $(srcdir)/threadlibs.c
-
-if_not_there: $(srcdir)/if_not_there.c
- $(CC) $(CFLAGS) -o if_not_there $(srcdir)/if_not_there.c
-
-clean:
- rm -f gc.a *.o gctest gctest_dyn_link test_cpp \
- setjmp_test mon.out gmon.out a.out core if_not_there if_mach \
- threadlibs $(CORD_OBJS) cord/cordtest cord/de
- -rm -f *~
-
-gctest: test.o gc.a if_mach if_not_there
- rm -f gctest
- ./if_mach SPARC DRSNX $(CC) $(CFLAGS) -o gctest test.o gc.a -lucb
- ./if_mach HP_PA "" $(CC) $(CFLAGS) -o gctest test.o gc.a -ldld
- ./if_not_there gctest $(CC) $(CFLAGS) -o gctest test.o gc.a `./threadlibs`
-
-# If an optimized setjmp_test generates a segmentation fault,
-# odds are your compiler is broken. Gctest may still work.
-# Try compiling setjmp_t.c unoptimized.
-setjmp_test: $(srcdir)/setjmp_t.c $(srcdir)/gc.h if_mach if_not_there
- $(CC) $(CFLAGS) -o setjmp_test $(srcdir)/setjmp_t.c
-
-test: KandRtest cord/cordtest
- cord/cordtest
-
-# Those tests that work even with a K&R C compiler:
-KandRtest: setjmp_test gctest
- ./setjmp_test
- ./gctest
-
-add_gc_prefix: add_gc_prefix.c
- $(CC) -o add_gc_prefix $(srcdir)/add_gc_prefix.c
-
-gc.tar: $(SRCS) $(OTHER_FILES) add_gc_prefix
- ./add_gc_prefix $(SRCS) $(OTHER_FILES) > /tmp/gc.tar-files
- (cd $(srcdir)/.. ; tar cvfh - `cat /tmp/gc.tar-files`) > gc.tar
-
-pc_gc.tar: $(SRCS) $(OTHER_FILES)
- tar cvfX pc_gc.tar pc_excludes $(SRCS) $(OTHER_FILES)
-
-floppy: pc_gc.tar
- -mmd a:/cord
- -mmd a:/cord/private
- -mmd a:/include
- -mmd a:/include/private
- mkdir /tmp/pc_gc
- cat pc_gc.tar | (cd /tmp/pc_gc; tar xvf -)
- -mcopy -tmn /tmp/pc_gc/* a:
- -mcopy -tmn /tmp/pc_gc/cord/* a:/cord
- -mcopy -mn /tmp/pc_gc/cord/de_win.ICO a:/cord
- -mcopy -tmn /tmp/pc_gc/cord/private/* a:/cord/private
- -mcopy -tmn /tmp/pc_gc/include/* a:/include
- -mcopy -tmn /tmp/pc_gc/include/private/* a:/include/private
- rm -r /tmp/pc_gc
-
-gc.tar.Z: gc.tar
- compress gc.tar
-
-gc.tar.gz: gc.tar
- gzip gc.tar
-
-lint: $(CSRCS) test.c
- lint -DLINT $(CSRCS) test.c | egrep -v "possible pointer alignment problem|abort|exit|sbrk|mprotect|syscall"
-
-# BTL: added to test shared library version of collector.
-# Currently works only under SunOS5. Requires GC_INIT call from statically
-# loaded client code.
-ABSDIR = `pwd`
-gctest_dyn_link: test.o libgc.so
- $(CC) -L$(ABSDIR) -R$(ABSDIR) -o gctest_dyn_link test.o -lgc -ldl -lthread
-
-gctest_irix_dyn_link: test.o libirixgc.so
- $(CC) -L$(ABSDIR) -o gctest_irix_dyn_link test.o -lirixgc
-
-test_dll.o: test.c libgc_globals.h
- $(CC) $(CFLAGS) -DGC_USE_DLL -c test.c -o test_dll.o
-
-test_dll: test_dll.o libgc_dll.a libgc.dll
- $(CC) test_dll.o -L$(ABSDIR) -lgc_dll -o test_dll
-
-SYM_PREFIX-libgc=GC
-
-# Uncomment the following line to build a GNU win32 DLL
-# include Makefile.DLLs
-
-reserved_namespace: $(SRCS)
- for file in $(SRCS) test.c test_cpp.cc; do \
- sed s/GC_/_GC_/g < $$file > tmp; \
- cp tmp $$file; \
- done
-
-user_namespace: $(SRCS)
- for file in $(SRCS) test.c test_cpp.cc; do \
- sed s/_GC_/GC_/g < $$file > tmp; \
- cp tmp $$file; \
- done
diff --git a/boehm-gc/NT_MAKEFILE b/boehm-gc/NT_MAKEFILE
deleted file mode 100644
index 52f6f4ae3a0..00000000000
--- a/boehm-gc/NT_MAKEFILE
+++ /dev/null
@@ -1,59 +0,0 @@
-# Makefile for Windows NT. Assumes Microsoft compiler, and a single thread.
-# DLLs are included in the root set under NT, but not under win32S.
-# Use "nmake nodebug=1 all" for optimized versions of library, gctest and editor.
-
-CPU= i386
-!include <ntwin32.mak>
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj
-
-all: gctest.exe cord\de.exe test_cpp.exe
-
-.c.obj:
- $(cc) $(cdebug) $(cflags) $(cvars) -DSMALL_CONFIG -DSILENT -DALL_INTERIOR_POINTERS -D__STDC__ $*.c /Fo$*.obj
-
-.cpp.obj:
- $(cc) $(cdebug) $(cflags) $(cvars) -DSMALL_CONFIG -DSILENT -DALL_INTERIOR_POINTERS $*.CPP /Fo$*.obj
-
-$(OBJS) test.obj: gc_priv.h gc_hdrs.h gc.h
-
-gc.lib: $(OBJS)
- lib /MACHINE:i386 /out:gc.lib $(OBJS)
-# The original NT SDK used lib32 instead of lib
-
-gctest.exe: test.obj gc.lib
-# The following works for win32 debugging. For win32s debugging use debugtype:coff
-# and add mapsympe line.
-# This produces a "GUI" applications that opens no windows and writes to the log file
-# "gc.log". This is done to make the result runnable under win32s.
- $(link) -debug:full -debugtype:cv $(guiflags) -stack:131072 -out:$*.exe test.obj $(guilibs) gc.lib
-# mapsympe -n -o gctest.sym gctest.exe
-
-cord\de_win.rbj: cord\de_win.res
- cvtres -$(CPU) cord\de_win.res -o cord\de_win.rbj
-
-cord\de.obj cord\de_win.obj: cord\cord.h cord\private\cord_pos.h cord\de_win.h cord\de_cmds.h
-
-cord\de_win.res: cord\de_win.rc cord\de_win.h cord\de_cmds.h
- $(rc) $(rcvars) -r -fo cord\de_win.res $(cvars) cord\de_win.rc
-
-# Cord/de is a real win32 gui application.
-cord\de.exe: cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib
- $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:cord\de.exe cord\cordbscs.obj cord\cordxtra.obj cord\de.obj cord\de_win.obj cord\de_win.rbj gc.lib $(guilibs)
-
-gc_cpp.obj: gc_cpp.h gc.h
-
-gc_cpp.cpp: gc_cpp.cc
- copy gc_cpp.cc gc_cpp.cpp
-
-test_cpp.cpp: test_cpp.cc
- copy test_cpp.cc test_cpp.cpp
-
-# This generates the C++ test executable. The executable expects
-# a single numeric argument, which is the number of iterations.
-# The output appears in the file "gc.log".
-test_cpp.exe: test_cpp.obj gc_cpp.h gc.h gc.lib
- $(link) -debug:full -debugtype:cv $(guiflags) -stack:16384 -out:test_cpp.exe test_cpp.obj gc.lib $(guilibs)
-
-
-
diff --git a/boehm-gc/OS2_MAKEFILE b/boehm-gc/OS2_MAKEFILE
deleted file mode 100644
index 7b816218206..00000000000
--- a/boehm-gc/OS2_MAKEFILE
+++ /dev/null
@@ -1,45 +0,0 @@
-# Makefile for OS/2. Assumes IBM's compiler, static linking, and a single thread.
-# Adding dynamic linking support seems easy, but takes a little bit of work.
-# Adding thread support may be nontrivial, since we haven't yet figured out how to
-# look at another thread's registers.
-
-# Significantly revised for GC version 4.4 by Mark Boulter (Jan 1994).
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj obj_map.obj blacklst.obj finalize.obj new_hblk.obj dbg_mlc.obj malloc.obj stubborn.obj typd_mlc.obj ptr_chck.obj mallocx.obj
-
-CORDOBJS= cord\cordbscs.obj cord\cordxtra.obj cord\cordprnt.obj
-
-CC= icc
-CFLAGS= /O /Q /DSILENT /DSMALL_CONFIG /DALL_INTERIOR_POINTERS
-# Use /Ti instead of /O for debugging
-# Setjmp_test may yield overly optimistic results when compiled
-# without optimization.
-
-all: $(OBJS) gctest.exe cord\cordtest.exe
-
-$(OBJS) test.obj: gc_priv.h gc_hdrs.h gc.h
-
-## ERASE THE LIB FIRST - if it is already there then this command will fail
-## (make sure its there or erase will fail!)
-gc.lib: $(OBJS)
- echo . > gc.lib
- erase gc.lib
- LIB gc.lib $(OBJS), gc.lst
-
-mach_dep.obj: mach_dep.c
- $(CC) $(CFLAGS) /C mach_dep.c
-
-gctest.exe: test.obj gc.lib
- $(CC) $(CFLAGS) /B"/STACK:524288" /Fegctest test.obj gc.lib
-
-cord\cordbscs.obj: cord\cordbscs.c cord\cord.h cord\private\cord_pos.h
- $(CC) $(CFLAGS) /C /Focord\cordbscs cord\cordbscs.c
-
-cord\cordxtra.obj: cord\cordxtra.c cord\cord.h cord\private\cord_pos.h cord\ec.h
- $(CC) $(CFLAGS) /C /Focord\cordxtra cord\cordxtra.c
-
-cord\cordprnt.obj: cord\cordprnt.c cord\cord.h cord\private\cord_pos.h cord\ec.h
- $(CC) $(CFLAGS) /C /Focord\cordprnt cord\cordprnt.c
-
-cord\cordtest.exe: cord\cordtest.c cord\cord.h cord\private\cord_pos.h cord\ec.h $(CORDOBJS) gc.lib
- $(CC) $(CFLAGS) /B"/STACK:65536" /Fecord\cordtest cord\cordtest.c gc.lib $(CORDOBJS)
diff --git a/boehm-gc/PCR-Makefile b/boehm-gc/PCR-Makefile
deleted file mode 100644
index 7b80637fb29..00000000000
--- a/boehm-gc/PCR-Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Default target
-#
-
-default: gc.o
-
-include ../config/common.mk
-
-#
-# compilation flags, etc.
-#
-
-
-CPPFLAGS = $(INCLUDE) $(CONFIG_CPPFLAGS) \
- -DPCR_NO_RENAME -DPCR_NO_HOSTDEP_ERR
-#CFLAGS = -DPCR -DSILENT $(CONFIG_CFLAGS)
-CFLAGS = -DPCR $(CONFIG_CFLAGS)
-SPECIALCFLAGS = # For code involving asm's
-
-ASPPFLAGS = $(INCLUDE) $(CONFIG_ASPPFLAGS) \
- -DPCR_NO_RENAME -DPCR_NO_HOSTDEP_ERR -DASM
-
-ASFLAGS = $(CONFIG_ASFLAGS)
-
-LDRFLAGS = $(CONFIG_LDRFLAGS)
-
-LDFLAGS = $(CONFIG_LDFLAGS)
-
-#
-#
-#
-#
-# BEGIN PACKAGE-SPECIFIC PART
-#
-#
-#
-#
-
-# Fix to point to local pcr installation directory.
-PCRDIR= ..
-
-COBJ= alloc.o reclaim.o allchblk.o misc.o os_dep.o mark_rts.o headers.o mark.o obj_map.o pcr_interface.o blacklst.o finalize.o new_hblk.o real_malloc.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o solaris_threads.o typd_mlc.o ptr_chck.o mallocx.o
-
-CSRC= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c checksums.c solaris_threads.c typd_mlc.c ptr_chck.c mallocx.c
-
-SHELL= /bin/sh
-
-default: gc.o
-
-gc.o: $(COBJ) mach_dep.o
- $(LDR) $(CONFIG_LDRFLAGS) -o gc.o $(COBJ) mach_dep.o
-
-
-mach_dep.o: mach_dep.c mips_mach_dep.s rs6000_mach_dep.s if_mach if_not_there
- rm -f mach_dep.o
- ./if_mach MIPS "" as -o mach_dep.o mips_mach_dep.s
- ./if_mach RS6000 "" as -o mach_dep.o rs6000_mach_dep.s
- ./if_mach ALPHA "" as -o mach_dep.o alpha_mach_dep.s
- ./if_mach SPARC SUNOS5 as -o mach_dep.o sparc_mach_dep.s
- ./if_not_there mach_dep.o $(CC) -c $(SPECIALCFLAGS) mach_dep.c
-
-if_mach: if_mach.c config.h
- $(CC) $(CFLAGS) -o if_mach if_mach.c
-
-if_not_there: if_not_there.c
- $(CC) $(CFLAGS) -o if_not_there if_not_there.c
-
-
diff --git a/boehm-gc/README b/boehm-gc/README
deleted file mode 100644
index 98d8389dae9..00000000000
--- a/boehm-gc/README
+++ /dev/null
@@ -1,1389 +0,0 @@
-Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
-Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved.
-Copyright (c) 1996-1998 by Silicon Graphics. All rights reserved.
-
- [ This version of the collector modified by Cygnus Solutions.
- See the file ChangeLog for details ]
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program
-for any purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is granted,
-provided the above notices are retained, and a notice that the code was
-modified is included with the above copyright notice.
-
-This is version 4.13alpha2 of a conservative garbage collector for C and C++.
-
-You might find a more recent version of this at
-
-http://reality.sgi.com/boehm/gc.html
-
-HISTORY -
-
- Early versions of this collector were developed as a part of research
-projects supported in part by the National Science Foundation
-and the Defense Advance Research Projects Agency.
-Much of the code was rewritten by Hans-J. Boehm at Xerox PARC.
-The SPARC specific code was contributed by Mark Weiser
-(weiser@parc.xerox.com). The Encore Multimax modifications were supplied by
-Kevin Kenny (kenny@m.cs.uiuc.edu). The adaptation to the RT is largely due
-to Vernon Lee (scorpion@rice.edu), on machines made available by IBM.
-Much of the HP specific code and a number of good suggestions for improving the
-generic code are due to Walter Underwood (wunder@hp-ses.sde.hp.com).
-Robert Brazile (brazile@diamond.bbn.com) originally supplied the ULTRIX code.
-Al Dosser (dosser@src.dec.com) and Regis Cridlig (Regis.Cridlig@cl.cam.ac.uk)
-subsequently provided updates and information on variation between ULTRIX
-systems. Parag Patel (parag@netcom.com) supplied the A/UX code.
-Jesper Peterson(jep@mtiame.mtia.oz.au) and
-Michel Schinz supplied the Amiga port.
-Thomas Funke (thf@zelator.in-berlin.de(?)) and
-Brian D.Carlstrom (bdc@clark.lcs.mit.edu) supplied the NeXT ports.
-Douglas Steel (doug@wg.icl.co.uk) provided ICL DRS6000 code.
-Bill Janssen (janssen@parc.xerox.com) supplied the SunOS dynamic loader
-specific code. Manuel Serrano (serrano@cornas.inria.fr) supplied linux and
-Sony News specific code. Al Dosser provided Alpha/OSF/1 code. He and
-Dave Detlefs(detlefs@src.dec.com) also provided several generic bug fixes.
-Alistair G. Crooks(agc@uts.amdahl.com) supplied the NetBSD and 386BSD ports.
-Jeffrey Hsu (hsu@soda.berkeley.edu) provided the FreeBSD port.
-Brent Benson (brent@jade.ssd.csd.harris.com) ported the collector to
-a Motorola 88K processor running CX/UX (Harris NightHawk).
-Ari Huttunen (Ari.Huttunen@hut.fi) generalized the OS/2 port to
-nonIBM development environments (a nontrivial task).
-Patrick Beard (beard@cs.ucdavis.edu) provided the initial MacOS port.
-David Chase, then at Olivetti Research, suggested several improvements.
-Scott Schwartz (schwartz@groucho.cse.psu.edu) supplied some of the
-code to save and print call stacks for leak detection on a SPARC.
-Jesse Hull and John Ellis supplied the C++ interface code.
-Zhong Shao performed much of the experimentation that led to the
-current typed allocation facility. (His dynamic type inference code hasn't
-made it into the released version of the collector, yet.)
-(Blame for misinstallation of these modifications goes to the first author,
-however.)
-
-Credits for some more recent modifications are given in the modification
-history at the end of this file.
-
- This is intended to be a general purpose, garbage collecting storage
-allocator. The algorithms used are described in:
-
-Boehm, H., and M. Weiser, "Garbage Collection in an Uncooperative Environment",
-Software Practice & Experience, September 1988, pp. 807-820.
-
-Boehm, H., A. Demers, and S. Shenker, "Mostly Parallel Garbage Collection",
-Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design
-and Implementation, SIGPLAN Notices 26, 6 (June 1991), pp. 157-164.
-
-Boehm, H., "Space Efficient Conservative Garbage Collection", Proceedings
-of the ACM SIGPLAN '91 Conference on Programming Language Design and
-Implementation, SIGPLAN Notices 28, 6 (June 1993), pp. 197-206.
-
- Possible interactions between the collector and optimizing compilers are
-discussed in
-
-Boehm, H., and D. Chase, "A Proposal for GC-safe C Compilation",
-The Journal of C Language Translation 4, 2 (December 1992).
-
-and
-
-Boehm H., "Simple GC-safe Compilation", Proceedings
-of the ACM SIGPLAN '96 Conference on Programming Language Design and
-Implementation.
-
-(Both are also available from
-http://reality.sgi.com/employees/boehm_mti/papers/, among other places.)
-
- Unlike the collector described in the second reference, this collector
-operates either with the mutator stopped during the entire collection
-(default) or incrementally during allocations. (The latter is supported
-on only a few machines.) It does not rely on threads, but is intended
-to be thread-safe.
-
- Some of the ideas underlying the collector have previously been explored
-by others. (Doug McIlroy wrote a vaguely similar collector that is part of
-version 8 UNIX (tm).) However none of this work appears to have been widely
-disseminated.
-
- Rudimentary tools for use of the collector as a leak detector are included, as
-is a fairly sophisticated string package "cord" that makes use of the collector.
-(See cord/README.)
-
-
-GENERAL DESCRIPTION
-
- This is a garbage collecting storage allocator that is intended to be
-used as a plug-in replacement for C's malloc.
-
- Since the collector does not require pointers to be tagged, it does not
-attempt to ensure that all inaccessible storage is reclaimed. However,
-in our experience, it is typically more successful at reclaiming unused
-memory than most C programs using explicit deallocation. Unlike manually
-introduced leaks, the amount of unreclaimed memory typically stays
-bounded.
-
- In the following, an "object" is defined to be a region of memory allocated
-by the routines described below.
-
- Any objects not intended to be collected must be pointed to either
-from other such accessible objects, or from the registers,
-stack, data, or statically allocated bss segments. Pointers from
-the stack or registers may point to anywhere inside an object.
-The same is true for heap pointers if the collector is compiled with
- ALL_INTERIOR_POINTERS defined, as is now the default.
-
-Compiling without ALL_INTERIOR_POINTERS may reduce accidental retention
-of garbage objects, by requiring pointers from the heap to to the beginning
-of an object. But this no longer appears to be a significant
-issue for most programs.
-
-There are a number of routines which modify the pointer recognition
-algorithm. GC_register_displacement allows certain interior pointers
-to be recognized even if ALL_INTERIOR_POINTERS is nor defined.
-GC_malloc_ignore_off_page allows some pointers into the middle of large objects
-to be disregarded, greatly reducing the probablility of accidental
-retention of large objects. For most purposes it seems best to compile
-with ALL_INTERIOR_POINTERS and to use GC_malloc_ignore_off_page if
-you get collector warnings from allocations of very large objects.
-See README.debugging for details.
-
- Note that pointers inside memory allocated by the standard "malloc" are not
-seen by the garbage collector. Thus objects pointed to only from such a
-region may be prematurely deallocated. It is thus suggested that the
-standard "malloc" be used only for memory regions, such as I/O buffers, that
-are guaranteed not to contain pointers to garbage collectable memory.
-Pointers in C language automatic, static, or register variables,
-are correctly recognized. (Note that GC_malloc_uncollectable has semantics
-similar to standard malloc, but allocates objects that are traced by the
-collector.)
-
- The collector does not always know how to find pointers in data
-areas that are associated with dynamic libraries. This is easy to
-remedy IF you know how to find those data areas on your operating
-system (see GC_add_roots). Code for doing this under SunOS, IRIX 5.X and 6.X,
-HP/UX, Alpha OSF/1, Linux, and win32 is included and used by default. (See
-README.win32 for win32 details.) On other systems pointers from dynamic
-library data areas may not be considered by the collector.
-
- Note that the garbage collector does not need to be informed of shared
-read-only data. However if the shared library mechanism can introduce
-discontiguous data areas that may contain pointers, then the collector does
-need to be informed.
-
- Signal processing for most signals may be deferred during collection,
-and during uninterruptible parts of the allocation process. Unlike
-standard ANSI C mallocs, it can be safe to invoke malloc
-from a signal handler while another malloc is in progress, provided
-the original malloc is not restarted. (Empirically, many UNIX
-applications already assume this.) To obtain this level of signal
-safety, remove the definition of -DNO_SIGNALS in Makefile. This incurs
-a minor performance penalty, and hence is no longer the default.
-
- The allocator/collector can also be configured for thread-safe operation.
-(Full signal safety can also be achieved, but only at the cost of two system
-calls per malloc, which is usually unacceptable.)
-
-INSTALLATION AND PORTABILITY
-
- As distributed, the macro SILENT is defined in Makefile.
-In the event of problems, this can be removed to obtain a moderate
-amount of descriptive output for each collection.
-(The given statistics exhibit a few peculiarities.
-Things don't appear to add up for a variety of reasons, most notably
-fragmentation losses. These are probably much more significant for the
-contrived program "test.c" than for your application.)
-
- Note that typing "make test" will automatically build the collector
-and then run setjmp_test and gctest. Setjmp_test will give you information
-about configuring the collector, which is useful primarily if you have
-a machine that's not already supported. Gctest is a somewhat superficial
-test of collector functionality. Failure is indicated by a core dump or
-a message to the effect that the collector is broken. Gctest takes about
-35 seconds to run on a SPARCstation 2. On a slower machine,
-expect it to take a while. It may use up to 8 MB of memory. (The
-multi-threaded version will use more.) "Make test" will also, as
-its last step, attempt to build and test the "cord" string library.
-This will fail without an ANSI C compiler.
-
- The Makefile will generate a library gc.a which you should link against.
-Typing "make cords" will add the cord library to gc.a.
-Note that this requires an ANSI C compiler.
-
- It is suggested that if you need to replace a piece of the collector
-(e.g. GC_mark_rts.c) you simply list your version ahead of gc.a on the
- work.)
-ld command line, rather than replacing the one in gc.a. (This will
-generate numerous warnings under some versions of AIX, but it still
-works.)
-
- All include files that need to be used by clients will be put in the
-include subdirectory. (Normally this is just gc.h. "Make cords" adds
-"cord.h" and "ec.h".)
-
- The collector currently is designed to run essentially unmodified on
-machines that use a flat 32-bit or 64-bit address space.
-That includes the vast majority of Workstations and X86 (X >= 3) PCs.
-(The list here was deleted because it was getting too long and constantly
-out of date.)
- It does NOT run under plain 16-bit DOS or Windows 3.X. There are however
-various packages (e.g. win32s, djgpp) that allow flat 32-bit address
-applications to run under those systemsif the have at least an 80386 processor,
-and several of those are compatible with the collector.
-
- In a few cases (Amiga, OS/2, Win32, MacOS) a separate makefile
-or equivalent is supplied. Many of these have separate README.system
-files.
-
- Dynamic libraries are completely supported only under SunOS
-(and even that support is not functional on the last Sun 3 release),
-IRIX 5&6, HP-PA, Win32 (not Win32S) and OSF/1 on DEC AXP machines.
-On other machines we recommend that you do one of the following:
-
- 1) Add dynamic library support (and send us the code).
- 2) Use static versions of the libraries.
- 3) Arrange for dynamic libraries to use the standard malloc.
- This is still dangerous if the library stores a pointer to a
- garbage collected object. But nearly all standard interfaces
- prohibit this, because they deal correctly with pointers
- to stack allocated objects. (Strtok is an exception. Don't
- use it.)
-
- In all cases we assume that pointer alignment is consistent with that
-enforced by the standard C compilers. If you use a nonstandard compiler
-you may have to adjust the alignment parameters defined in gc_priv.h.
-
- A port to a machine that is not byte addressed, or does not use 32 bit
-or 64 bit addresses will require a major effort. A port to plain MSDOS
-or win16 is hard.
-
- For machines not already mentioned, or for nonstandard compilers, the
-following are likely to require change:
-
-1. The parameters in config.h.
- The parameters that will usually require adjustment are
- STACKBOTTOM, ALIGNMENT and DATASTART. Setjmp_test
- prints its guesses of the first two.
- DATASTART should be an expression for computing the
- address of the beginning of the data segment. This can often be
- &etext. But some memory management units require that there be
- some unmapped space between the text and the data segment. Thus
- it may be more complicated. On UNIX systems, this is rarely
- documented. But the adb "$m" command may be helpful. (Note
- that DATASTART will usually be a function of &etext. Thus a
- single experiment is usually insufficient.)
- STACKBOTTOM is used to initialize GC_stackbottom, which
- should be a sufficient approximation to the coldest stack address.
- On some machines, it is difficult to obtain such a value that is
- valid across a variety of MMUs, OS releases, etc. A number of
- alternatives exist for using the collector in spite of this. See the
- discussion in config.h immediately preceding the various
- definitions of STACKBOTTOM.
-
-2. mach_dep.c.
- The most important routine here is one to mark from registers.
- The distributed file includes a generic hack (based on setjmp) that
- happens to work on many machines, and may work on yours. Try
- compiling and running setjmp_t.c to see whether it has a chance of
- working. (This is not correct C, so don't blame your compiler if it
- doesn't work. Based on limited experience, register window machines
- are likely to cause trouble. If your version of setjmp claims that
- all accessible variables, including registers, have the value they
- had at the time of the longjmp, it also will not work. Vanilla 4.2 BSD
- on Vaxen makes such a claim. SunOS does not.)
- If your compiler does not allow in-line assembly code, or if you prefer
- not to use such a facility, mach_dep.c may be replaced by a .s file
- (as we did for the MIPS machine and the PC/RT).
- At this point enough architectures are supported by mach_dep.c
- that you will rarely need to do more than adjust for assembler
- syntax.
-
-3. os_dep.c (and gc_priv.h).
- Several kinds of operating system dependent routines reside here.
- Many are optional. Several are invoked only through corresponding
- macros in gc_priv.h, which may also be redefined as appropriate.
- The routine GC_register_data_segments is crucial. It registers static
- data areas that must be traversed by the collector. (User calls to
- GC_add_roots may sometimes be used for similar effect.)
- Routines to obtain memory from the OS also reside here.
- Alternatively this can be done entirely by the macro GET_MEM
- defined in gc_priv.h. Routines to disable and reenable signals
- also reside here if they are need by the macros DISABLE_SIGNALS
- and ENABLE_SIGNALS defined in gc_priv.h.
- In a multithreaded environment, the macros LOCK and UNLOCK
- in gc_priv.h will need to be suitably redefined.
- The incremental collector requires page dirty information, which
- is acquired through routines defined in os_dep.c. Unless directed
- otherwise by config.h, these are implemented as stubs that simply
- treat all pages as dirty. (This of course makes the incremental
- collector much less useful.)
-
-4. dyn_load.c
- This provides a routine that allows the collector to scan data
- segments associated with dynamic libraries. Often it is not
- necessary to provide this routine unless user-written dynamic
- libraries are used.
-
- For a different version of UN*X or different machines using the
-Motorola 68000, Vax, SPARC, 80386, NS 32000, PC/RT, or MIPS architecture,
-it should frequently suffice to change definitions in config.h.
-
-
-THE C INTERFACE TO THE ALLOCATOR
-
- The following routines are intended to be directly called by the user.
-Note that usually only GC_malloc is necessary. GC_clear_roots and GC_add_roots
-calls may be required if the collector has to trace from nonstandard places
-(e.g. from dynamic library data areas on a machine on which the
-collector doesn't already understand them.) On some machines, it may
-be desirable to set GC_stacktop to a good approximation of the stack base.
-(This enhances code portability on HP PA machines, since there is no
-good way for the collector to compute this value.) Client code may include
-"gc.h", which defines all of the following, plus many others.
-
-1) GC_malloc(nbytes)
- - allocate an object of size nbytes. Unlike malloc, the object is
- cleared before being returned to the user. Gc_malloc will
- invoke the garbage collector when it determines this to be appropriate.
- GC_malloc may return 0 if it is unable to acquire sufficient
- space from the operating system. This is the most probable
- consequence of running out of space. Other possible consequences
- are that a function call will fail due to lack of stack space,
- or that the collector will fail in other ways because it cannot
- maintain its internal data structures, or that a crucial system
- process will fail and take down the machine. Most of these
- possibilities are independent of the malloc implementation.
-
-2) GC_malloc_atomic(nbytes)
- - allocate an object of size nbytes that is guaranteed not to contain any
- pointers. The returned object is not guaranteed to be cleared.
- (Can always be replaced by GC_malloc, but results in faster collection
- times. The collector will probably run faster if large character
- arrays, etc. are allocated with GC_malloc_atomic than if they are
- statically allocated.)
-
-3) GC_realloc(object, new_size)
- - change the size of object to be new_size. Returns a pointer to the
- new object, which may, or may not, be the same as the pointer to
- the old object. The new object is taken to be atomic iff the old one
- was. If the new object is composite and larger than the original object,
- then the newly added bytes are cleared (we hope). This is very likely
- to allocate a new object, unless MERGE_SIZES is defined in gc_priv.h.
- Even then, it is likely to recycle the old object only if the object
- is grown in small additive increments (which, we claim, is generally bad
- coding practice.)
-
-4) GC_free(object)
- - explicitly deallocate an object returned by GC_malloc or
- GC_malloc_atomic. Not necessary, but can be used to minimize
- collections if performance is critical. Probably a performance
- loss for very small objects (<= 8 bytes).
-
-5) GC_expand_hp(bytes)
- - Explicitly increase the heap size. (This is normally done automatically
- if a garbage collection failed to GC_reclaim enough memory. Explicit
- calls to GC_expand_hp may prevent unnecessarily frequent collections at
- program startup.)
-
-6) GC_malloc_ignore_off_page(bytes)
- - identical to GC_malloc, but the client promises to keep a pointer to
- the somewhere within the first 256 bytes of the object while it is
- live. (This pointer should nortmally be declared volatile to prevent
- interference from compiler optimizations.) This is the recommended
- way to allocate anything that is likely to be larger than 100Kbytes
- or so. (GC_malloc may result in failure to reclaim such objects.)
-
-7) GC_set_warn_proc(proc)
- - Can be used to redirect warnings from the collector. Such warnings
- should be rare, and should not be ignored during code development.
-
-8) GC_enable_incremental()
- - Enables generational and incremental collection. Useful for large
- heaps on machines that provide access to page dirty information.
- Some dirty bit implementations may interfere with debugging
- (by catching address faults) and place restrictions on heap arguments
- to system calls (since write faults inside a system call may not be
- handled well).
-
-9) Several routines to allow for registration of finalization code.
- User supplied finalization code may be invoked when an object becomes
- unreachable. To call (*f)(obj, x) when obj becomes inaccessible, use
- GC_register_finalizer(obj, f, x, 0, 0);
- For more sophisticated uses, and for finalization ordering issues,
- see gc.h.
-
- The global variable GC_free_space_divisor may be adjusted up from its
-default value of 4 to use less space and more collection time, or down for
-the opposite effect. Setting it to 1 or 0 will effectively disable collections
-and cause all allocations to simply grow the heap.
-
- The variable GC_non_gc_bytes, which is normally 0, may be changed to reflect
-the amount of memory allocated by the above routines that should not be
-considered as a candidate for collection. Careless use may, of course, result
-in excessive memory consumption.
-
- Some additional tuning is possible through the parameters defined
-near the top of gc_priv.h.
-
- If only GC_malloc is intended to be used, it might be appropriate to define:
-
-#define malloc(n) GC_malloc(n)
-#define calloc(m,n) GC_malloc((m)*(n))
-
- For small pieces of VERY allocation intensive code, gc_inl.h
-includes some allocation macros that may be used in place of GC_malloc
-and friends.
-
- All externally visible names in the garbage collector start with "GC_".
-To avoid name conflicts, client code should avoid this prefix, except when
-accessing garbage collector routines or variables.
-
- There are provisions for allocation with explicit type information.
-This is rarely necessary. Details can be found in gc_typed.h.
-
-THE C++ INTERFACE TO THE ALLOCATOR:
-
- The Ellis-Hull C++ interface to the collector is included in
-the collector distribution. If you intend to use this, type
-"make c++" after the initial build of the collector is complete.
-See gc_cpp.h for the definition of the interface. This interface
-tries to approximate the Ellis-Detlefs C++ garbage collection
-proposal without compiler changes.
-
-Cautions:
-1. Arrays allocated without new placement syntax are
-allocated as uncollectable objects. They are traced by the
-collector, but will not be reclaimed.
-
-2. Failure to use "make c++" in combination with (1) will
-result in arrays allocated using the default new operator.
-This is likely to result in disaster without linker warnings.
-
-3. If your compiler supports an overloaded new[] operator,
-then gc_cpp.cc and gc_cpp.h should be suitably modified.
-
-4. Many current C++ compilers have deficiencies that
-break some of the functionality. See the comments in gc_cpp.h
-for suggested workarounds.
-
-USE AS LEAK DETECTOR:
-
- The collector may be used to track down leaks in C programs that are
-intended to run with malloc/free (e.g. code with extreme real-time or
-portability constraints). To do so define FIND_LEAK in Makefile
-This will cause the collector to invoke the report_leak
-routine defined near the top of reclaim.c whenever an inaccessible
-object is found that has not been explicitly freed. The collector will
-no longer reclaim inaccessible memory; in this form it is purely a
-debugging tool.
- Productive use of this facility normally involves redefining report_leak
-to do something more intelligent. This typically requires annotating
-objects with additional information (e.g. creation time stack trace) that
-identifies their origin. Such code is typically not very portable, and is
-not included here, except on SPARC machines.
- If all objects are allocated with GC_DEBUG_MALLOC (see next section),
-then the default version of report_leak will report the source file
-and line number at which the leaked object was allocated. This may
-sometimes be sufficient. (On SPARC/SUNOS4 machines, it will also report
-a cryptic stack trace. This can often be turned into a sympolic stack
-trace by invoking program "foo" with "callprocs foo". Callprocs is
-a short shell script that invokes adb to expand program counter values
-to symbolic addresses. It was largely supplied by Scott Schwartz.)
- Note that the debugging facilities described in the next section can
-sometimes be slightly LESS effective in leak finding mode, since in
-leak finding mode, GC_debug_free actually results in reuse of the object.
-(Otherwise the object is simply marked invalid.) Also note that the test
-program is not designed to run meaningfully in FIND_LEAK mode.
-Use "make gc.a" to build the collector.
-
-DEBUGGING FACILITIES:
-
- The routines GC_debug_malloc, GC_debug_malloc_atomic, GC_debug_realloc,
-and GC_debug_free provide an alternate interface to the collector, which
-provides some help with memory overwrite errors, and the like.
-Objects allocated in this way are annotated with additional
-information. Some of this information is checked during garbage
-collections, and detected inconsistencies are reported to stderr.
-
- Simple cases of writing past the end of an allocated object should
-be caught if the object is explicitly deallocated, or if the
-collector is invoked while the object is live. The first deallocation
-of an object will clear the debugging info associated with an
-object, so accidentally repeated calls to GC_debug_free will report the
-deallocation of an object without debugging information. Out of
-memory errors will be reported to stderr, in addition to returning
-NIL.
-
- GC_debug_malloc checking during garbage collection is enabled
-with the first call to GC_debug_malloc. This will result in some
-slowdown during collections. If frequent heap checks are desired,
-this can be achieved by explicitly invoking GC_gcollect, e.g. from
-the debugger.
-
- GC_debug_malloc allocated objects should not be passed to GC_realloc
-or GC_free, and conversely. It is however acceptable to allocate only
-some objects with GC_debug_malloc, and to use GC_malloc for other objects,
-provided the two pools are kept distinct. In this case, there is a very
-low probablility that GC_malloc allocated objects may be misidentified as
-having been overwritten. This should happen with probability at most
-one in 2**32. This probability is zero if GC_debug_malloc is never called.
-
- GC_debug_malloc, GC_malloc_atomic, and GC_debug_realloc take two
-additional trailing arguments, a string and an integer. These are not
-interpreted by the allocator. They are stored in the object (the string is
-not copied). If an error involving the object is detected, they are printed.
-
- The macros GC_MALLOC, GC_MALLOC_ATOMIC, GC_REALLOC, GC_FREE, and
-GC_REGISTER_FINALIZER are also provided. These require the same arguments
-as the corresponding (nondebugging) routines. If gc.h is included
-with GC_DEBUG defined, they call the debugging versions of these
-functions, passing the current file name and line number as the two
-extra arguments, where appropriate. If gc.h is included without GC_DEBUG
-defined, then all these macros will instead be defined to their nondebugging
-equivalents. (GC_REGISTER_FINALIZER is necessary, since pointers to
-objects with debugging information are really pointers to a displacement
-of 16 bytes form the object beginning, and some translation is necessary
-when finalization routines are invoked. For details, about what's stored
-in the header, see the definition of the type oh in debug_malloc.c)
-
-INCREMENTAL/GENERATIONAL COLLECTION:
-
-The collector normally interrupts client code for the duration of
-a garbage collection mark phase. This may be unacceptable if interactive
-response is needed for programs with large heaps. The collector
-can also run in a "generational" mode, in which it usually attempts to
-collect only objects allocated since the last garbage collection.
-Furthermore, in this mode, garbage collections run mostly incrementally,
-with a small amount of work performed in response to each of a large number of
-GC_malloc requests.
-
-This mode is enabled by a call to GC_enable_incremental().
-
-Incremental and generational collection is effective in reducing
-pause times only if the collector has some way to tell which objects
-or pages have been recently modified. The collector uses two sources
-of information:
-
-1. Information provided by the VM system. This may be provided in
-one of several forms. Under Solaris 2.X (and potentially under other
-similar systems) information on dirty pages can be read from the
-/proc file system. Under other systems (currently SunOS4.X) it is
-possible to write-protect the heap, and catch the resulting faults.
-On these systems we require that system calls writing to the heap
-(other than read) be handled specially by client code.
-See os_dep.c for details.
-
-2. Information supplied by the programmer. We define "stubborn"
-objects to be objects that are rarely changed. Such an object
-can be allocated (and enabled for writing) with GC_malloc_stubborn.
-Once it has been initialized, the collector should be informed with
-a call to GC_end_stubborn_change. Subsequent writes that store
-pointers into the object must be preceded by a call to
-GC_change_stubborn.
-
-This mechanism performs best for objects that are written only for
-initialization, and such that only one stubborn object is writable
-at once. It is typically not worth using for short-lived
-objects. Stubborn objects are treated less efficiently than pointerfree
-(atomic) objects.
-
-A rough rule of thumb is that, in the absence of VM information, garbage
-collection pauses are proportional to the amount of pointerful storage
-plus the amount of modified "stubborn" storage that is reachable during
-the collection.
-
-Initial allocation of stubborn objects takes longer than allocation
-of other objects, since other data structures need to be maintained.
-
-We recommend against random use of stubborn objects in client
-code, since bugs caused by inappropriate writes to stubborn objects
-are likely to be very infrequently observed and hard to trace.
-However, their use may be appropriate in a few carefully written
-library routines that do not make the objects themselves available
-for writing by client code.
-
-
-BUGS:
-
- Any memory that does not have a recognizable pointer to it will be
-reclaimed. Exclusive-or'ing forward and backward links in a list
-doesn't cut it.
- Some C optimizers may lose the last undisguised pointer to a memory
-object as a consequence of clever optimizations. This has almost
-never been observed in practice. Send mail to boehm@mti.sgi.com
-for suggestions on how to fix your compiler.
- This is not a real-time collector. In the standard configuration,
-percentage of time required for collection should be constant across
-heap sizes. But collection pauses will increase for larger heaps.
-(On SPARCstation 2s collection times will be on the order of 300 msecs
-per MB of accessible memory that needs to be scanned. Your mileage
-may vary.) The incremental/generational collection facility helps,
-but is portable only if "stubborn" allocation is used.
- Please address bug reports to boehm@mti.sgi.com. If you are
-contemplating a major addition, you might also send mail to ask whether
-it's already been done (or whether we tried and discarded it).
-
-RECENT VERSIONS:
-
- Version 1.3 and immediately preceding versions contained spurious
-assembly language assignments to TMP_SP. Only the assignment in the PC/RT
-code is necessary. On other machines, with certain compiler options,
-the assignments can lead to an unsaved register being overwritten.
-Known to cause problems under SunOS 3.5 WITHOUT the -O option. (With
--O the compiler recognizes it as dead code. It probably shouldn't,
-but that's another story.)
-
- Version 1.4 and earlier versions used compile time determined values
-for the stack base. This no longer works on Sun 3s, since Sun 3/80s use
-a different stack base. We now use a straightforward heuristic on all
-machines on which it is known to work (incl. Sun 3s) and compile-time
-determined values for the rest. There should really be library calls
-to determine such values.
-
- Version 1.5 and earlier did not ensure 8 byte alignment for objects
-allocated on a sparc based machine.
-
- Version 1.8 added ULTRIX support in gc_private.h.
-
- Version 1.9 fixed a major bug in gc_realloc.
-
- Version 2.0 introduced a consistent naming convention for collector
-routines and added support for registering dynamic library data segments
-in the standard mark_roots.c. Most of the data structures were revamped.
-The treatment of interior pointers was completely changed. Finalization
-was added. Support for locking was added. Object kinds were added.
-We added a black listing facility to avoid allocating at addresses known
-to occur as integers somewhere in the address space. Much of this
-was accomplished by adapting ideas and code from the PCR collector.
-The test program was changed and expanded.
-
- Version 2.1 was the first stable version since 1.9, and added support
-for PPCR.
-
- Version 2.2 added debugging allocation, and fixed various bugs. Among them:
-- GC_realloc could fail to extend the size of the object for certain large object sizes.
-- A blatant subscript range error in GC_printf, which unfortunately
- wasn't exercised on machines with sufficient stack alignment constraints.
-- GC_register_displacement did the wrong thing if it was called after
- any allocation had taken place.
-- The leak finding code would eventually break after 2048 byte
- byte objects leaked.
-- interface.c didn't compile.
-- The heap size remained much too small for large stacks.
-- The stack clearing code behaved badly for large stacks, and perhaps
- on HP/PA machines.
-
- Version 2.3 added ALL_INTERIOR_POINTERS and fixed the following bugs:
-- Missing declaration of etext in the A/UX version.
-- Some PCR root-finding problems.
-- Blacklisting was not 100% effective, because the plausible future
- heap bounds were being miscalculated.
-- GC_realloc didn't handle out-of-memory correctly.
-- GC_base could return a nonzero value for addresses inside free blocks.
-- test.c wasn't really thread safe, and could erroneously report failure
- in a multithreaded environment. (The locking primitives need to be
- replaced for other threads packages.)
-- GC_CONS was thoroughly broken.
-- On a SPARC with dynamic linking, signals stayed diabled while the
- client code was running.
- (Thanks to Manuel Serrano at INRIA for reporting the last two.)
-
- Version 2.4 added GC_free_space_divisor as a tuning knob, added
- support for OS/2 and linux, and fixed the following bugs:
-- On machines with unaligned pointers (e.g. Sun 3), every 128th word could
- fail to be considered for marking.
-- Dynamic_load.c erroneously added 4 bytes to the length of the data and
- bss sections of the dynamic library. This could result in a bad memory
- reference if the actual length was a multiple of a page. (Observed on
- Sun 3. Can probably also happen on a Sun 4.)
- (Thanks to Robert Brazile for pointing out that the Sun 3 version
- was broken. Dynamic library handling is still broken on Sun 3s
- under 4.1.1U1, but apparently not 4.1.1. If you have such a machine,
- use -Bstatic.)
-
- Version 2.5 fixed the following bugs:
-- Removed an explicit call to exit(1)
-- Fixed calls to GC_printf and GC_err_printf, so the correct number of
- arguments are always supplied. The OS/2 C compiler gets confused if
- the number of actuals and the number of formals differ. (ANSI C
- doesn't require this to work. The ANSI sanctioned way of doing things
- causes too many compatibility problems.)
-
- Version 3.0 added generational/incremental collection and stubborn
- objects.
-
- Version 3.1 added the following features:
-- A workaround for a SunOS 4.X SPARC C compiler
- misfeature that caused problems when the collector was turned into
- a dynamic library.
-- A fix for a bug in GC_base that could result in a memory fault.
-- A fix for a performance bug (and several other misfeatures) pointed
- out by Dave Detlefs and Al Dosser.
-- Use of dirty bit information for static data under Solaris 2.X.
-- DEC Alpha/OSF1 support (thanks to Al Dosser).
-- Incremental collection on more platforms.
-- A more refined heap expansion policy. Less space usage by default.
-- Various minor enhancements to reduce space usage, and to reduce
- the amount of memory scanned by the collector.
-- Uncollectable allocation without per object overhead.
-- More conscientious handling of out-of-memory conditions.
-- Fixed a bug in debugging stubborn allocation.
-- Fixed a bug that resulted in occasional erroneous reporting of smashed
- objects with debugging allocation.
-- Fixed bogus leak reports of size 4096 blocks with FIND_LEAK.
-
- Version 3.2 fixed a serious and not entirely repeatable bug in
- the incremental collector. It appeared only when dirty bit info
- on the roots was available, which is normally only under Solaris.
- It also added GC_general_register_disappearing_link, and some
- testing code. Interface.c disappeared.
-
- Version 3.3 fixes several bugs and adds new ports:
-- PCR-specific bugs.
-- Missing locking in GC_free, redundant FASTUNLOCK
- in GC_malloc_stubborn, and 2 bugs in
- GC_unregister_disappearing_link.
- All of the above were pointed out by Neil Sharman
- (neil@cs.mu.oz.au).
-- Common symbols allocated by the SunOS4.X dynamic loader
- were not included in the root set.
-- Bug in GC_finalize (reported by Brian Beuning and Al Dosser)
-- Merged Amiga port from Jesper Peterson (untested)
-- Merged NeXT port from Thomas Funke (significantly
- modified and untested)
-
- Version 3.4:
-- Fixed a performance bug in GC_realloc.
-- Updated the amiga port.
-- Added NetBSD and 386BSD ports.
-- Added cord library.
-- Added trivial performance enhancement for
- ALL_INTERIOR_POINTERS. (Don't scan last word.)
-
- Version 3.5
-- Minor collections now mark from roots only once, if that
- doesn't cause an excessive pause.
-- The stack clearing heuristic was refined to prevent anomalies
- with very heavily recursive programs and sparse stacks.
-- Fixed a bug that prevented mark stack growth in some cases.
- GC_objects_are_marked should be set to TRUE after a call
- to GC_push_roots and as part of GC_push_marked, since
- both can now set mark bits. I think this is only a performance
- bug, but I wouldn't bet on it. It's certainly very hard to argue
- that the old version was correct.
-- Fixed an incremental collection bug that prevented it from
- working at all when HBLKSIZE != getpagesize()
-- Changed dynamic_loading.c to include gc_priv.h before testing
- DYNAMIC_LOADING. SunOS dynamic library scanning
- must have been broken in 3.4.
-- Object size rounding now adapts to program behavior.
-- Added a workaround (provided by Manuel Serrano and
- colleagues) to a long-standing SunOS 4.X (and 3.X?) ld bug
- that I had incorrectly assumed to have been squished.
- The collector was broken if the text segment size was within
- 32 bytes of a multiple of 8K bytes, and if the beginning of
- the data segment contained interesting roots. The workaround
- assumes a demand-loadable executable. The original may have
- have "worked" in some other cases.
-- Added dynamic library support under IRIX5.
-- Added support for EMX under OS/2 (thanks to Ari Huttunen).
-
-Version 3.6:
-- fixed a bug in the mark stack growth code that was introduced
- in 3.4.
-- fixed Makefile to work around DEC AXP compiler tail recursion
- bug.
-
-Version 3.7:
-- Added a workaround for an HP/UX compiler bug.
-- Fixed another stack clearing performance bug. Reworked
- that code once more.
-
-Version 4.0:
-- Added support for Solaris threads (which was possible
- only by reimplementing some fraction of Solaris threads,
- since Sun doesn't currently make the thread debugging
- interface available).
-- Added non-threads win32 and win32S support.
-- (Grudgingly, with suitable muttering of obscenities) renamed
- files so that the collector distribution could live on a FAT
- file system. Files that are guaranteed to be useless on
- a PC still have long names. Gc_inline.h and gc_private.h
- still exist, but now just include gc_inl.h and gc_priv.h.
-- Fixed a really obscure bug in finalization that could cause
- undetected mark stack overflows. (I would be surprised if
- any real code ever tickled this one.)
-- Changed finalization code to dynamically resize the hash
- tables it maintains. (This probably does not matter for well-
- -written code. It no doubt does for C++ code that overuses
- destructors.)
-- Added typed allocation primitives. Rewrote the marker to
- accommodate them with more reasonable efficiency. This
- change should also speed up marking for GC_malloc allocated
- objects a little. See gc_typed.h for new primitives.
-- Improved debugging facilities slightly. Allocation time
- stack traces are now kept by default on SPARC/SUNOS4.
- (Thanks to Scott Schwartz.)
-- Added better support for small heap applications.
-- Significantly extended cord package. Fixed a bug in the
- implementation of lazily read files. Printf and friends now
- have cord variants. Cord traversals are a bit faster.
-- Made ALL_INTERIOR_POINTERS recognition the default.
-- Fixed de so that it can run in constant space, independent
- of file size. Added simple string searching to cords and de.
-- Added the Hull-Ellis C++ interface.
-- Added dynamic library support for OSF/1.
- (Thanks to Al Dosser and Tim Bingham at DEC.)
-- Changed argument to GC_expand_hp to be expressed
- in units of bytes instead of heap blocks. (Necessary
- since the heap block size now varies depending on
- configuration. The old version was never very clean.)
-- Added GC_get_heap_size(). The previous "equivalent"
- was broken.
-- Restructured the Makefile a bit.
-
-Since version 4.0:
-- Changed finalization implementation to guarantee that
- finalization procedures are called outside of the allocation
- lock, making direct use of the interface a little less dangerous.
- MAY BREAK EXISTING CLIENTS that assume finalizers
- are protected by a lock. Since there seem to be few multithreaded
- clients that use finalization, this is hopefully not much of
- a problem.
-- Fixed a gross bug in CORD_prev.
-- Fixed a bug in blacklst.c that could result in unbounded
- heap growth during startup on machines that do not clear
- memory obtained from the OS (e.g. win32S).
-- Ported de editor to win32/win32S. (This is now the only
- version with a mouse-sensitive UI.)
-- Added GC_malloc_ignore_off_page to allocate large arrays
- in the presence of ALL_INTERIOR_POINTERS.
-- Changed GC_call_with_alloc_lock to not disable signals in
- the single-threaded case.
-- Reduced retry count in GC_collect_or_expand for garbage
- collecting when out of memory.
-- Made uncollectable allocations bypass black-listing, as they
- should.
-- Fixed a bug in typed_test in test.c that could cause (legitimate)
- GC crashes.
-- Fixed some potential synchronization problems in finalize.c
-- Fixed a real locking problem in typd_mlc.c.
-- Worked around an AIX 3.2 compiler feature that results in
- out of bounds memory references.
-- Partially worked around an IRIX5.2 beta problem (which may
- or may not persist to the final release).
-- Fixed a bug in the heap integrity checking code that could
- result in explicitly deallocated objects being identified as
- smashed. Fixed a bug in the dbg_mlc stack saving code
- that caused old argument pointers to be considered live.
-- Fixed a bug in CORD_ncmp (and hence CORD_str).
-- Repaired the OS2 port, which had suffered from bit rot
- in 4.0. Worked around what appears to be CSet/2 V1.0
- optimizer bug.
-- Fixed a Makefile bug for target "c++".
-
-Since version 4.1:
-- Multiple bug fixes/workarounds in the Solaris threads version.
- (It occasionally failed to locate some register contents for
- marking. It also turns out that thr_suspend and friends are
- unreliable in Solaris 2.3. Dirty bit reads appear
- to be unreliable under some weird
- circumstances. My stack marking code
- contained a serious performance bug. The new code is
- extremely defensive, and has not failed in several cpu
- hours of testing. But no guarantees ...)
-- Added MacOS support (thanks to Patrick Beard.)
-- Fixed several syntactic bugs in gc_c++.h and friends. (These
- didn't bother g++, but did bother most other compilers.)
- Fixed gc_c++.h finalization interface. (It didn't.)
-- 64 bit alignment for allocated objects was not guaranteed in a
- few cases in which it should have been.
-- Added GC_malloc_atomic_ignore_off_page.
-- Added GC_collect_a_little.
-- Added some prototypes to gc.h.
-- Some other minor bug fixes (notably in Makefile).
-- Fixed OS/2 / EMX port (thanks to Ari Huttunen).
-- Fixed AmigaDOS port. (thanks to Michel Schinz).
-- Fixed the DATASTART definition under Solaris. There
- was a 1 in 16K chance of the collector missing the first
- 64K of static data (and thus crashing).
-- Fixed some blatant anachronisms in the README file.
-- Fixed PCR-Makefile for upcoming PPCR release.
-
-Since version 4.2:
-- Fixed SPARC alignment problem with GC_DEBUG.
-- Fixed Solaris threads /proc workaround. The real
- problem was an interaction with mprotect.
-- Incorporated fix from Patrick Beard for gc_c++.h (now gc_cpp.h).
-- Slightly improved allocator space utilization by
- fixing the GC_size_map mechanism.
-- Integrated some Sony News and MIPS RISCos 4.51
- patches. (Thanks to Nobuyuki Hikichi of
- Software Research Associates, Inc. Japan)
-- Fixed HP_PA alignment problem. (Thanks to
- xjam@cork.cs.berkeley.edu.)
-- Added GC_same_obj and friends. Changed GC_base
- to return 0 for pointers past the end of large objects.
- Improved GC_base performance with ALL_INTERIOR_POINTERS
- on machines with a slow integer mod operation.
- Added GC_PTR_ADD, GC_PTR_STORE, etc. to prepare
- for preprocessor.
-- changed the default on most UNIX machines to be that
- signals are not disabled during critical GC operations.
- This is still ANSI-conforming, though somewhat dangerous
- in the presence of signal handlers. But the performance
- cost of the alternative is sometimes problematic.
- Can be changed back with a minor Makefile edit.
-- renamed IS_STRING in gc.h, to CORD_IS_STRING, thus
- following my own naming convention. Added the function
- CORD_to_const_char_star.
-- Fixed a gross bug in GC_finalize. Symptom: occasional
- address faults in that function. (Thanks to Anselm
- Baird-Smith (Anselm.BairdSmith@inria.fr)
-- Added port to ICL DRS6000 running DRS/NX. Restructured
- things a bit to factor out common code, and remove obsolete
- code. Collector should now run under SUNOS5 with either
- mprotect or /proc dirty bits. (Thanks to Douglas Steel
- (doug@wg.icl.co.uk)).
-- More bug fixes and workarounds for Solaris 2.X. (These were
- mostly related to putting the collector in a dynamic library,
- which didn't really work before. Also SOLARIS_THREADS
- didn't interact well with dl_open.) Thanks to btlewis@eng.sun.com.
-- Fixed a serious performance bug on the DEC Alpha. The text
- segment was getting registered as part of the root set.
- (Amazingly, the result was still fast enough that the bug
- was not conspicuous.) The fix works on OSF/1, version 1.3.
- Hopefully it also works on other versions of OSF/1 ...
-- Fixed a bug in GC_clear_roots.
-- Fixed a bug in GC_generic_malloc_words_small that broke
- gc_inl.h. (Reported by Antoine de Maricourt. I broke it
- in trying to tweak the Mac port.)
-- Fixed some problems with cord/de under Linux.
-- Fixed some cord problems, notably with CORD_riter4.
-- Added DG/UX port.
- Thanks to Ben A. Mesander (ben@piglet.cr.usgs.gov)
-- Added finalization registration routines with weaker ordering
- constraints. (This is necessary for C++ finalization with
- multiple inheritance, since the compiler often adds self-cycles.)
-- Filled the holes in the SCO port. (Thanks to Michael Arnoldus
- <chime@proinf.dk>.)
-- John Ellis' additions to the C++ support: From John:
-
-* I completely rewrote the documentation in the interface gc_c++.h
-(later renamed gc_cpp.h). I've tried to make it both clearer and more
-precise.
-
-* The definition of accessibility now ignores pointers from an
-finalizable object (an object with a clean-up function) to itself.
-This allows objects with virtual base classes to be finalizable by the
-collector. Compilers typically implement virtual base classes using
-pointers from an object to itself, which under the old definition of
-accessibility prevented objects with virtual base classes from ever
-being collected or finalized.
-
-* gc_cleanup now includes gc as a virtual base. This was enabled by
-the change in the definition of accessibility.
-
-* I added support for operator new[]. Since most (all?) compilers
-don't yet support operator new[], it is conditionalized on
--DOPERATOR_NEW_ARRAY. The code is untested, but its trivial and looks
-correct.
-
-* The test program test_gc_c++ (later renamed test_cpp.cc)
-tries to test for the C++-specific functionality not tested by the
-other programs.
-- Added <unistd.h> include to misc.c. (Needed for ppcr.)
-- Added PowerMac port. (Thanks to Patrick Beard again.)
-- Fixed "srcdir"-related Makefile problems. Changed things so
- that all externally visible include files always appear in the
- include subdirectory of the source. Made gc.h directly
- includable from C++ code. (These were at Per
- Bothner's suggestion.)
-- Changed Intel code to also mark from ebp (Kevin Warne's
- suggestion).
-- Renamed C++ related files so they could live in a FAT
- file system. (Charles Fiterman's suggestion.)
-- Changed Windows NT Makefile to include C++ support in
- gc.lib. Added C++ test as Makefile target.
-
-Since version 4.3:
- - ASM_CLEAR_CODE was erroneously defined for HP
- PA machines, resulting in a compile error.
- - Fixed OS/2 Makefile to create a library. (Thanks to
- Mark Boulter (mboulter@vnet.ibm.com)).
- - Gc_cleanup objects didn't work if they were created on
- the stack. Fixed.
- - One copy of Gc_cpp.h in the distribution was out of
- synch, and failed to document some known compiler
- problems with explicit destructor invocation. Partially
- fixed. There are probably other compilers on which
- gc_cleanup is miscompiled.
- - Fixed Makefile to pass C compiler flags to C++ compiler.
- - Added Mac fixes.
- - Fixed os_dep.c to work around what appears to be
- a new and different VirtualQuery bug under newer
- versions of win32S.
- - GC_non_gc_bytes was not correctly maintained by
- GC_free. Fixed. Thanks to James Clark (jjc@jclark.com).
- - Added GC_set_max_heap_size.
- - Changed allocation code to ignore blacklisting if it is preventing
- use of a very large block of memory. This has the advantage
- that naive code allocating very large objects is much more
- likely to work. The downside is you might no
- longer find out that such code should really use
- GC_malloc_ignore_off_page.
- - Changed GC_printf under win32 to close and reopen the file
- between calls. FAT file systems otherwise make the log file
- useless for debugging.
- - Added GC_try_to_collect and GC_get_bytes_since_gc. These
- allow starting an abortable collection during idle times.
- This facility does not require special OS support. (Thanks to
- Michael Spertus of Geodesic Systems for suggesting this. It was
- actually an easy addition. Kumar Srikantan previously added a similar
- facility to a now ancient version of the collector. At the time
- this was much harder, and the result was less convincing.)
- - Added some support for the Borland development environment. (Thanks
- to John Ellis and Michael Spertus.)
- - Removed a misfeature from checksums.c that caused unexpected
- heap growth. (Thanks to Scott Schwartz.)
- - Changed finalize.c to call WARN if it encounters a finalization cycle.
- WARN is defined in gc_priv.h to write a message, usually to stdout.
- In many environments, this may be inappropriate.
- - Renamed NO_PARAMS in gc.h to GC_NO_PARAMS, thus adhering to my own
- naming convention.
- - Added GC_set_warn_proc to intercept warnings.
- - Fixed Amiga port. (Thanks to Michel Schinz (schinz@alphanet.ch).)
- - Fixed a bug in mark.c that could result in an access to unmapped
- memory from GC_mark_from_mark_stack on machines with unaligned
- pointers.
- - Fixed a win32 specific performance bug that could result in scanning of
- objects allocated with the system malloc.
- - Added REDIRECT_MALLOC.
-
-Since version 4.4:
- - Fixed many minor and one major README bugs. (Thanks to Franklin Chen
- (chen@adi.com) for pointing out many of them.)
- - Fixed ALPHA/OSF/1 dynamic library support. (Thanks to Jonathan Bachrach
- (jonathan@harlequin.com)).
- - Added incremental GC support (MPROTECT_VDB) for Linux (with some
- help from Bruno Haible).
- - Altered SPARC recognition tests in gc.h and config.h (mostly as
- suggested by Fergus Henderson).
- - Added basic incremental GC support for win32, as implemented by
- Windows NT and Windows 95. GC_enable_incremental is a noop
- under win32s, which doesn't implement enough of the VM interface.
- - Added -DLARGE_CONFIG.
- - Fixed GC_..._ignore_off_page to also function without
- -DALL_INTERIOR_POINTERS.
- - (Hopefully) fixed RS/6000 port. (Only the test was broken.)
- - Fixed a performance bug in the nonincremental collector running
- on machines supporting incremental collection with MPROTECT_VDB
- (e.g. SunOS 4, DEC AXP). This turned into a correctness bug under
- win32s with win32 incremental collection. (Not all memory protection
- was disabled.)
- - Fixed some ppcr related bit rot.
- - Caused dynamic libraries to be unregistered before reregistering.
- The old way turned out to be a performance bug on some machines.
- - GC_root_size was not properly maintained under MSWIN32.
- - Added -DNO_DEBUGGING and GC_dump.
- - Fixed a couple of bugs arising with SOLARIS_THREADS +
- REDIRECT_MALLOC.
- - Added NetBSD/M68K port. (Thanks to Peter Seebach
- <seebs@taniemarie.solon.com>.)
- - Fixed a serious realloc bug. For certain object sizes, the collector
- wouldn't scan the expanded part of the object. (Thanks to Clay Spence
- (cds@peanut.sarnoff.com) for noticing the problem, and helping me to
- track it down.)
-
-Since version 4.5:
- - Added Linux ELF support. (Thanks to Arrigo Triulzi <arrigo@ic.ac.uk>.)
- - GC_base crashed if it was called before any other GC_ routines.
- This could happen if a gc_cleanup object was allocated outside the heap
- before any heap allocation.
- - The heap expansion heuristic was not stable if all objects had finalization
- enabled. Fixed finalize.c to count memory in finalization queue and
- avoid explicit deallocation. Changed alloc.c to also consider this count.
- (This is still not recommended. It's expensive if nothing else.) Thanks
- to John Ellis for pointing this out.
- - GC_malloc_uncollectable(0) was broken. Thanks to Phong Vo for pointing
- this out.
- - The collector didn't compile under Linux 1.3.X. (Thanks to Fred Gilham for
- pointing this out.) The current workaround is ugly, but expected to be
- temporary.
- - Fixed a formatting problem for SPARC stack traces.
- - Fixed some '=='s in os_dep.c that should have been assignments.
- Fortunately these were in code that should never be executed anyway.
- (Thanks to Fergus Henderson.)
- - Fixed the heap block allocator to only drop blacklisted blocks in small
- chunks. Made BL_LIMIT self adjusting. (Both of these were in response
- to heap growth observed by Paul Graham.)
- - Fixed the Metrowerks/68K Mac code to also mark from a6. (Thanks
- to Patrick Beard.)
- - Significantly updated README.debugging.
- - Fixed some problems with longjmps out of signal handlers, especially under
- Solaris. Added a workaround for the fact that siglongjmp doesn't appear to
- do the right thing with -lthread under Solaris.
- - Added MSDOS/djgpp port. (Thanks to Mitch Harris (maharri@uiuc.edu).)
- - Added "make reserved_namespace" and "make user_namespace". The
- first renames ALL "GC_xxx" identifiers as "_GC_xxx". The second is the
- inverse transformation. Note that doing this is guaranteed to break all
- clients written for the other names.
- - descriptor field for kind NORMAL in GC_obj_kinds with ADD_BYTE_AT_END
- defined should be -ALIGNMENT not WORDS_TO_BYTES(-1). This is
- a serious bug on machines with pointer alignment of less than a word.
- - GC_ignore_self_finalize_mark_proc didn't handle pointers to very near the
- end of the object correctly. Caused failures of the C++ test on a DEC Alpha
- with g++.
- - gc_inl.h still had problems. Partially fixed. Added warnings at the
- beginning to hopefully specify the remaining dangers.
- - Added DATAEND definition to config.h.
- - Fixed some of the .h file organization. Fixed "make floppy".
-
-Since version 4.6:
- - Fixed some compilation problems with -DCHECKSUMS (thanks to Ian Searle)
- - Updated some Mac specific files to synchronize with Patrick Beard.
- - Fixed a serious bug for machines with non-word-aligned pointers.
- (Thanks to Patrick Beard for pointing out the problem. The collector
- should fail almost any conceivable test immediately on such machines.)
-
-Since version 4.7:
- - Changed a "comment" in a MacOS specific part of mach-dep.c that caused
- gcc to fail on other platforms.
-
-Since version 4.8
- - More README.debugging fixes.
- - Objects ready for finalization, but not finalized in the same GC
- cycle, could be prematurely collected. This occasionally happened
- in test_cpp.
- - Too little memory was obtained from the system for very large
- objects. That could cause a heap explosion if these objects were
- not contiguous (e.g. under PCR), and too much of them was blacklisted.
- - Due to an improper initialization, the collector was too hesitant to
- allocate blacklisted objects immediately after system startup.
- - Moved GC_arrays from the data into the bss segment by not explicitly
- initializing it to zero. This significantly
- reduces the size of executables, and probably avoids some disk accesses
- on program startup. It's conceivable that it might break a port that I
- didn't test.
- - Fixed EMX_MAKEFILE to reflect the gc_c++.h to gc_cpp.h renaming which
- occurred a while ago.
-
-Since 4.9:
- - Fixed a typo around a call to GC_collect_or_expand in alloc.c. It broke
- handling of out of memory. (Thanks to Patrick Beard for noticing.)
-
-Since 4.10:
- - Rationalized (hopefully) GC_try_to_collect in an incremental collection
- environment. It appeared to not handle a call while a collection was in
- progress, and was otherwise too conservative.
- - Merged GC_reclaim_or_delete_all into GC_reclaim_all to get rid of some
- code.
- - Added Patrick Beard's Mac fixes, with substantial completely untested
- modifications.
- - Fixed the MPROTECT_VDB code to deal with large pages and imprecise
- fault addresses (as on an UltraSPARC running Solaris 2.5). Note that this
- was not a problem in the default configuration, which uses PROC_VDB.
- - The DEC Alpha assembly code needed to restore $gp between calls.
- Thanks to Fergus Henderson for tracking this down and supplying a
- patch.
- - The write command for "de" was completely broken for large files.
- I used the easiest portable fix, which involved changing the semantics
- so that f.new is written instead of overwriting f. That's safer anyway.
- - Added README.solaris2 with a discussion of the possible problems of
- mixing the collector's sbrk allocation with malloc/realloc.
- - Changed the data segment starting address for SGI machines. The
- old code failed under IRIX6.
- - Required double word alignment for MIPS.
- - Various minor fixes to remove warnings.
- - Attempted to fix some Solaris threads problems reported by Zhiying Chen.
- In particular, the collector could try to fork a thread with the
- world stopped as part of GC_thr_init. It also failed to deal with
- the case in which the original thread terminated before the whole
- process did.
- - Added -DNO_EXECUTE_PERMISSION. This has a major performance impact
- on the incremental collector under Irix, and perhaps under other
- operating systems.
- - Added some code to support allocating the heap with mmap. This may
- be preferable under some circumstances.
- - Integrated dynamic library support for HP.
- (Thanks to Knut Tvedten <knuttv@ifi.uio.no>.)
- - Integrated James Clark's win32 threads support, and made a number
- of changes to it, many of which were suggested by Pontus Rydin.
- This is still not 100% solid.
- - Integrated Alistair Crooks' support for UTS4 running on an Amdahl
- 370-class machine.
- - Fixed a serious bug in explicitly typed allocation. Objects requiring
- large descriptors where handled in a way that usually resulted in
- a segmentation fault in the marker. (Thanks to Jeremy Fitzhardinge
- for helping to track this down.)
- - Added partial support for GNU win32 development. (Thanks to Fergus
- Henderson.)
- - Added optional support for Java-style finalization semantics. (Thanks
- to Patrick Bridges.) This is recommended only for Java implementations.
- - GC_malloc_uncollectable faulted instead of returning 0 when out of
- memory. (Thanks to dan@math.uiuc.edu for noticing.)
- - Calls to GC_base before the collector was initialized failed on a
- DEC Alpha. (Thanks to Matthew Flatt.)
- - Added base pointer checking to GC_REGISTER_FINALIZER in debugging
- mode, at the suggestion of Jeremy Fitzhardinge.
- - GC_debug_realloc failed for uncollectable objects. (Thanks to
- Jeremy Fitzhardinge.)
- - Explicitly typed allocation could crash if it ran out of memory.
- (Thanks to Jeremy Fitzhardinge.)
- - Added minimal support for a DEC Alpha running Linux.
- - Fixed a problem with allocation of objects whose size overflowed
- ptrdiff_t. (This now fails unconditionally, as it should.)
- - Added the beginning of Irix pthread support.
- - Integrated Xiaokun Zhu's fixes for djgpp 2.01.
- - Added SGI-style STL allocator support (gc_alloc.h).
- - Fixed a serious bug in README.solaris2. Multithreaded programs must include
- gc.h with SOLARIS_THREADS defined.
- - Changed GC_free so it actually deallocates uncollectable objects.
- (Thanks to Peter Chubb for pointing out the problem.)
- - Added Linux ELF support for dynamic libararies. (Thanks again to
- Patrick Bridges.)
- - Changed the Borland cc configuration so that the assembler is not
- required.
- - Fixed a bug in the C++ test that caused it to fail in 64-bit
- environments.
-
-Since 4.11:
- - Fixed ElfW definition in dyn_load.c. (Thanks to Fergus Henderson.)
- This prevented the dynamic library support from compiling on some
- older ELF Linux systems.
- - Fixed UTS4 port (which I apparently mangled during the integration)
- (Thanks to again to Alistair Crooks.)
- - "Make C++" failed on Suns with SC4.0, due to a problem with "bool".
- Fixed in gc_priv.h.
- - Added more pieces for GNU win32. (Thanks to Timothy N. Newsham.)
- The current state of things should suffice for at least some
- applications.
- - Changed the out of memory retry count handling as suggested by
- Kenjiro Taura. (This matters only if GC_max_retries > 0, which
- is no longer the default.)
- - If a /proc read failed repeatedly, GC_written_pages was not updated
- correctly. (Thanks to Peter Chubb for diagnosing this.)
- - Under unlikely circumstances, the allocator could infinite loop in
- an out of memory situation. (Thanks again to Kenjiro Taura for
- identifying the problem and supplying a fix.)
- - Fixed a syntactic error in the DJGPP code. (Thanks to Fergus
- Henderson for finding this by inspection.) Also fixed a test program
- problem with DJGPP (Thanks to Peter Monks.)
- - Atomic uncollectable objects were not treated correctly by the
- incremental collector. This resulted in weird log statistics and
- occasional performance problems. (Thanks to Peter Chubb for pointing
- this out.)
- - Fixed some problems resulting from compilers that dont define
- __STDC__. In this case void * and char * were used inconsistently
- in some cases. (Void * should not have been used at all. If
- you have an ANSI superset compiler that does not define __STDC__,
- please compile with -D__STDC__=0. Thanks to Manuel Serrano and others
- for pointing out the problem.)
- - Fixed a compilation problem on Irix with -n32 and -DIRIX_THREADS.
- Also fixed some other IRIX_THREADS problems which may or may not have
- had observable symptoms.
- - Fixed an HP PA compilation problem in dyn_load.c. (Thanks to
- Philippe Queinnec.)
- - SEGV fault handlers sometimes did not get reset correctly. (Thanks
- to David Pickens.)
- - Added a fix for SOLARIS_THREADS on Intel. (Thanks again to David
- Pickens.) This probably needs more work to become functional.
- - Fixed struct sigcontext_struct in os_dep.c for compilation under
- Linux 2.1.X. (Thanks to Fergus Henderson.)
- - Changed the DJGPP STACKBOTTOM and DATASTART values to those suggested
- by Kristian Kristensen. These may still not be right, but it is
- it is likely to work more often than what was there before. They may
- even be exactly right.
- - Added a #include <string.h> to test_cpp.cc. This appears to help
- with HP/UX and gcc. (Thanks to assar@sics.se.)
- - Version 4.11 failed to run in incremental mode on recent 64-bit Irix
- kernels. This was a problem related to page unaligned heap segments.
- Changed the code to page align heap sections on all platforms.
- (I had mistakenly identified this as a kernel problem earlier.
- It was not.)
- - Version 4.11 did not make allocated storage executable, except on
- one or two platforms, due to a bug in a #if test. (Thanks to Dave
- Grove for pointing this out.)
- - Added sparc_sunos4_mach_dep.s to support Sun's compilers under SunOS4.
- - Added GC_exclude_static_roots.
- - Fixed the object size mapping algorithm. This shouldn't matter,
- but the old code was ugly.
- - Heap checking code could die if one of the allocated objects was
- larger than its base address. (Unsigned underflow problem. Thanks
- to Clay Spence for isolating the problem.)
- - Added RS6000 (AIX) dynamic library support and fixed STACK_BOTTOM.
- (Thanks to Fred Stearns.)
- - Added Fergus Henderson's patches for improved robustness with large
- heaps and lots of blacklisting.
- - Added Peter Chubb's changes to support Solaris Pthreads, to support
- MMAP allocation in Solaris, to allow Solaris to find dynamic libraries
- through /proc, to add malloc_typed_ignore_off_page, and a few other
- minor features and bug fixes.
- - The Solaris 2 port should not use sbrk. I received confirmation from
- Sun that the use of sbrk and malloc in the same program is not
- supported. The collector now defines USE_MMAP by default on Solaris.
- - Replaced the djgpp makefile with Gary Leavens' version.
- - Fixed MSWIN32 detection test.
- - Added Fergus Henderson's patches to allow putting the collector into
- a DLL under GNU win32.
- - Added Ivan V. Demakov's port to Watcom C on X86.
- - Added Ian Piumarta's Linux/PowerPC port.
- - On Brian Burton's suggestion added PointerFreeGC to the placement
- options in gc_cpp.h. This is of course unsafe, and may be controversial.
- On the other hand, it seems to be needed often enough that it's worth
- adding as a standard facility.
-
-Since 4.12:
- - Fixed a crucial bug in the Watcom port. There was a redundant decl
- of GC_push_one in gc_priv.h.
- - Added FINALIZE_ON_DEMAND.
- - Fixed some pre-ANSI cc problems in test.c.
- - Removed getpagesize() use for Solaris. It seems to be missing in one
- or two versions.
- - Fixed bool handling for SPARCCompiler version 4.2.
- - Fixed some files in include that had gotten unlinked from the main
- copy.
- - Some RS/6000 fixes (missing casts). Thanks to Toralf Foerster.
- - Fixed several problems in GC_debug_realloc, affecting mostly the
- FIND_LEAK case.
- - GC_exclude_static_roots contained a buggy unsigned comparison to
- terminate a loop. (Thanks to Wilson Ho.)
- - CORD_str failed if the substring occurred at the last possible position.
- (Only affects cord users.)
- - Fixed Linux code to deal with RedHat 5.0 and integrated Peter Bigot's
- os_dep.c code for dealing with various Linux versions.
- - Added workaround for Irix pthreads sigaction bug and possible signal
- misdirection problems.
-Since alpha1:
- - Changed RS6000 STACKBOTTOM.
- - Integrated Patrick Beard's Mac changes.
- - Alpha1 didn't compile on Irix m.n, m < 6.
- - Replaced Makefile.dj with a new one from Gary Leavens.
- - Added Andrew Stitcher's changes to support SCO OpenServer.
- - Added PRINT_BLACK_LIST, to allow debugging of high densities of false
- pointers.
- - Added code to debug allocator to keep track of return address
- in GC_malloc caller, thus giving a bit more context.
- - Changed default behavior of large block allocator to more
- aggressively avoid fragmentation. This is likely to slow down the
- collector when it succeeds at reducing space cost.
- - Integrated Fergus Henderson's CYGWIN32 changes. They are untested,
- but needed for newer versions.
- - USE_MMAP had some serious bugs. This caused the collector to fail
- consistently on Solaris with -DSMALL_CONFIG.
- - Added Linux threads support, thanks largely to Fergus Henderson.
-
-To do:
- - I have a backlog of unintegrated contributed platform-specific changes.
- - Very large root set sizes (> 16 MB or so) could cause the collector
- to abort with an unexpected mark stack overflow. (Thanks again to
- Peter Chubb.) NOT YET FIXED. Workaround is to increase the initial
- size.
- - The SGI version of the collector marks from mmapped pages, even
- if they are not part of dynamic library static data areas. This
- causes performance problems with some SGI libraries that use mmap
- as a bitmap allocator. NOT YET FIXED. It may be possible to turn
- off DYNAMIC_LOADING in the collector as a workaround. It may also
- be possible to conditionally intercept mmap and use GC_exclude_static_roots.
- The real fix is to walk rld data structures, which looks possible.
- - Integrate MIT and DEC pthreads ports.
-
diff --git a/boehm-gc/README.Mac b/boehm-gc/README.Mac
deleted file mode 100644
index 6d2fa74358d..00000000000
--- a/boehm-gc/README.Mac
+++ /dev/null
@@ -1,385 +0,0 @@
-Patrick Beard's Notes for building GC v4.12 with CodeWarrior Pro 2:
-----------------------------------------------------------------------------
-The current build environment for the collector is CodeWarrior Pro 2.
-Projects for CodeWarrior Pro 2 (and for quite a few older versions)
-are distributed in the file Mac_projects.sit.hqx. The project file
-:Mac_projects:gc.prj builds static library versions of the collector.
-:Mac_projects:gctest.prj builds the GC test suite.
-
-Configuring the collector is still done by editing the files
-:Mac_files:MacOS_config.h and :Mac_files:MacOS_Test_config.h.
-
-Lars Farm's suggestions on building the collector:
-----------------------------------------------------------------------------
-Garbage Collection on MacOS - a manual 'MakeFile'
--------------------------------------------------
-
-Project files and IDE's are great on the Macintosh, but they do have
-problems when used as distribution media. This note tries to provide
-porting instructions in pure TEXT form to avoid those problems. A manual
-'makefile' if you like.
-
- GC version: 4.12a2
- Codewarrior: CWPro1
- date: 18 July 1997
-
-The notes may or may not apply to earlier or later versions of the
-GC/CWPro. Actually, they do apply to earlier versions of both except that
-until recently a project could only build one target so each target was a
-separate project. The notes will most likely apply to future versions too.
-Possibly with minor tweaks.
-
-This is just to record my experiences. These notes do not mean I now
-provide a supported port of the GC to MacOS. It works for me. If it works
-for you, great. If it doesn't, sorry, try again...;-) Still, if you find
-errors, please let me know.
-
- mailto: lars.farm@ite.mh.se
-
- address: Lars Farm
- Krönvägen 33b
- 856 44 Sundsvall
- Sweden
-
-Porting to MacOS is a bit more complex than it first seems. Which MacOS?
-68K/PowerPC? Which compiler? Each supports both 68K and PowerPC and offer a
-large number of (unique to each environment) compiler settings. Each
-combination of compiler/68K/PPC/settings require a unique combination of
-standard libraries. And the IDE's does not select them for you. They don't
-even check that the library is built with compatible setting and this is
-the major source of problems when porting the GC (and otherwise too).
-
-You will have to make choices when you configure the GC. I've made some
-choices here, but there are other combinations of settings and #defines
-that work too.
-
-As for target settings the major obstacles may be:
-- 68K Processor: check "4-byte Ints".
-- PPC Processor: uncheck "Store Static Data in TOC".
-
-What you need to do:
-===================
-
-1) Build the GC as a library
-2) Test that the library works with 'test.c'.
-3) Test that the C++ interface 'gc_cpp.cc/h' works with 'test_cpp.cc'.
-
-1) The Libraries:
-=================
-I made one project with four targets (68K/PPC tempmem or appheap). One target
-will suffice if you're able to decide which one you want. I wasn't...
-
-Codewarrior allows a large number of compiler/linker settings. I used these:
-
-Settings shared by all targets:
-------------------------------
-o Access Paths:
- - User Paths: the GC folder
- - System Paths: {Compiler}:Metrowerks Standard Library:
- {Compiler}:MacOS Support:Headers:
- {Compiler}:MacOS Support:MacHeaders:
-o C/C++ language:
- - inlining: normal
- - direct to SOM: off
- - enable/check: exceptions, RTTI, bool (and if you like pool strings)
-
-PowerPC target settings
------------------------
-o Target Settings:
- - name of target
- - MacOS PPC Linker
-o PPC Target
- - name of library
-o C/C++ language
- - prefix file as described below
-o PPC Processor
- - Struct Alignment: PowerPC
- - uncheck "Store Static Data in TOC" -- important!
- I don't think the others matter, I use full optimization and its ok
-o PPC Linker
- - Factory Settings (SYM file with full paths, faster linking, dead-strip
- static init, Main: __start)
-
-
-68K target settings
--------------------
-o Target Settings:
- - name of target
- - MacOS 68K Linker
-o 68K Target
- - name of library
- - A5 relative data
-o C/C++ language
- - prefix file as described below
-o 68K Processor
- - Code model: smart
- - Struct alignment: 68K
- - FP: SANE
- - enable 4-Byte Ints -- important!
- I don't think the others matter. I selected...
- - enable: 68020
- - enable: global register allocation
-o IR Optimizer
- - enable: Optimize Space, Optimize Speed
- I suppose the others would work too, but haven't tried...
-o 68K Linker
- - Factory Settings (New Style MacsBug,SYM file with full paths,
- A6 Frames, fast link, Merge compiler glue into segment 1,
- dead-strip static init)
-
-Prefix Files to configure the GC sources
-----------------------------------------
-The Codewarrior equivalent of commandline compilers -DNAME=X is to use
-prefix-files. A TEXT file that is automatically #included before the first byte
-of every source file. I used these:
-
----- ( cut here ) ---- gc_prefix_tempmem.h -- 68K and PPC -----
- #include "gc_prefix_common.h"
- #undef USE_TEMPORARY_MEMORY
- #define USE_TEMPORARY_MEMORY
----- ( cut here ) ---- gc_prefix_appmem.h -- 68K and PPC -----
- #include "gc_prefix_common.h"
- #undef USE_TEMPORARY_MEMORY
-// #define USE_TEMPORARY_MEMORY
-
----- ( cut here ) ---- gc_prefix_common.h --------------------
-// gc_prefix_common.h
-// ------------------
-// Codewarrior prefix file to configure the GC libraries
-//
-// prefix files are the Codewarrior equivalent of the
-// command line option -Dname=x frequently seen in makefiles
-
-#if !__MWERKS__
- #error only tried this with Codewarrior
-#endif
-
-#if macintosh
- #define MSL_USE_PRECOMPILED_HEADERS 0
- #include <ansi_prefix.mac.h>
- #ifndef __STDC__
- #define __STDC__ 0
- #endif
-
- // See list of #defines to configure the library in: 'MakeFile'
- // see also README
-
- #define SILENT // no collection messages. In case
- // of trouble you might want this off
- #define ALL_INTERIOR_POINTERS // follows interior pointers.
-//#define DONT_ADD_BYTE_AT_END // disables the padding if defined.
-//#define SMALL_CONFIG // whether to use a smaller heap.
- #define NO_SIGNALS // signals aren't real on the Macintosh.
- #define ATOMIC_UNCOLLECTABLE // GC_malloc_atomic_uncollectable()
-
- // define either or none as per personal preference
- // used in malloc.c
- #define REDIRECT_MALLOC GC_malloc
-//#define REDIRECT_MALLOC GC_malloc_uncollectable
- // if REDIRECT_MALLOC is #defined make sure that the GC library
- // is listed before the ANSI/ISO libs in the Codewarrior
- // 'Link order' panel
-//#define IGNORE_FREE
-
- // mac specific configs
-//#define USE_TEMPORARY_MEMORY // use Macintosh temporary memory.
-//#define SHARED_LIBRARY_BUILD // build for use in a shared library.
-
-#else
- // could build Win32 here too, or in the future
- // Rhapsody PPC-mach, Rhapsody PPC-MacOS,
- // Rhapsody Intel-mach, Rhapsody Intel-Win32,...
- // ... ugh this will get messy ...
-#endif
-
-// make sure ints are at least 32-bit
-// ( could be set to 16-bit by compiler settings (68K) )
-
-struct gc_private_assert_intsize_{ char x[ sizeof(int)>=4 ? 1 : 0 ]; };
-
-#if __powerc
- #if __option(toc_data)
- #error turn off "store static data in TOC" when using GC
- // ... or find a way to add TOC to the root set...(?)
- #endif
-#endif
----- ( cut here ) ---- end of gc_prefix_common.h -----------------
-
-Files to build the GC libraries:
---------------------------------
- allchblk.c
- alloc.c
- blacklst.c
- checksums.c
- dbg_mlc.c
- finalize.c
- headers.c
- mach_dep.c
- MacOS.c -- contains MacOS code
- malloc.c
- mallocx.c
- mark.c
- mark_rts.c
- misc.c
- new_hblk.c
- obj_map.c
- os_dep.c -- contains MacOS code
- ptr_chck.c
- reclaim.c
- stubborn.c
- typd_mlc.c
- gc++.cc -- this is 'gc_cpp.cc' with less 'inline' and
- -- throw std::bad_alloc when out of memory
- -- gc_cpp.cc works just fine too
-
-2) Test that the library works with 'test.c'.
-=============================================
-
-The test app is just an ordinary ANSI-C console app. Make sure settings
-match the library you're testing.
-
-Files
------
- test.c
- the GC library to test -- link order before ANSI libs
- suitable Mac+ANSI libraries
-
-prefix:
-------
----- ( cut here ) ---- gc_prefix_testlib.h -- all libs -----
-#define MSL_USE_PRECOMPILED_HEADERS 0
-#include <ansi_prefix.mac.h>
-#undef NDEBUG
-
-#define ALL_INTERIOR_POINTERS /* for GC_priv.h */
----- ( cut here ) ----
-
-3) Test that the C++ interface 'gc_cpp.cc/h' works with 'test_cpp.cc'.
-
-The test app is just an ordinary ANSI-C console app. Make sure settings match
-the library you're testing.
-
-Files
------
- test_cpp.cc
- the GC library to test -- link order before ANSI libs
- suitable Mac+ANSI libraries
-
-prefix:
-------
-same as for test.c
-
-For convenience I used one test-project with several targets so that all
-test apps are build at once. Two for each library to test: test.c and
-gc_app.cc. When I was satisfied that the libraries were ok. I put the
-libraries + gc.h + the c++ interface-file in a folder that I then put into
-the MSL hierarchy so that I don't have to alter access-paths in projects
-that use the GC.
-
-After that, just add the proper GC library to your project and the GC is in
-action! malloc will call GC_malloc and free GC_free, new/delete too. You
-don't have to call free or delete. You may have to be a bit cautious about
-delete if you're freeing other resources than RAM. See gc_cpp.h. You can
-also keep coding as always with delete/free. That works too. If you want,
-"include <gc.h> and tweak it's use a bit.
-
-Symantec SPM
-============
-It has been a while since I tried the GC in SPM, but I think that the above
-instructions should be sufficient to guide you through in SPM too. SPM
-needs to know where the global data is. Use the files 'datastart.c' and
-'dataend.c'. Put 'datastart.c' at the top of your project and 'dataend.c'
-at the bottom of your project so that all data is surrounded. This is not
-needed in Codewarrior because it provides intrinsic variables
-__datastart__, __data_end__ that wraps all globals.
-
-Source Changes (GC 4.12a2)
-==========================
-Very few. Just one tiny in the GC, not strictly needed.
-- MacOS.c line 131 in routine GC_MacFreeTemporaryMemory()
- change # if !defined(SHARED_LIBRARY_BUILD)
- to # if !defined(SILENT) && !defined(SHARED_LIBRARY_BUILD)
- To turn off a message when the application quits (actually, I faked
- this change by #defining SHARED_LIBRARY_BUILD in a statically linked
- library for more than a year without ill effects but perhaps this is
- better).
-
-- test_cpp.cc
- made the first lines of main() look like this:
- ------------
- int main( int argc, char* argv[] ) {
- #endif
- #if macintosh // MacOS
- char* argv_[] = {"test_cpp","10"}; // doesn't
- argv=argv_; // have a
- argc = sizeof(argv_)/sizeof(argv_[0]); // commandline
- #endif //
-
- int i, iters, n;
- # ifndef __GNUC__
- alloc dummy_to_fool_the_compiler_into_doing_things_it_currently_cant_handle;
- ------------
-
-- config.h
- __MWERKS__ does not have to mean MACOS. You can use Codewarrior to
- build a Win32 or BeOS library and soon a Rhapsody library. You may
- have to change that #if...
-
-
-
- It worked for me, hope it works for you.
-
- Lars Farm
- 18 July 1997
-----------------------------------------------------------------------------
-
-
-Patrick Beard's instructions (may be dated):
-
-v4.3 of the collector now runs under Symantec C++/THINK C v7.0.4, and
-Metrowerks C/C++ v4.5 both 68K and PowerPC. Project files are provided
-to build and test the collector under both development systems.
-
-Configuration
--------------
-
-To configure the collector, under both development systems, a prefix file
-is used to set preprocessor directives. This file is called "MacOS_config.h".
-Also to test the collector, "MacOS_Test_config.h" is provided.
-
-Testing
--------
-
-To test the collector (always a good idea), build one of the gctest projects,
-gctest.¹ (Symantec C++/THINK C), mw/gctest.68K.¹, or mw/gctest.PPC.¹. The
-test will ask you how many times to run; 1 should be sufficient.
-
-Building
---------
-
-For your convenience project files for the major Macintosh development
-systems are provided.
-
-For Symantec C++/THINK C, you must build the two projects gclib-1.¹ and
-gclib-2.¹. It has to be split up because the collector has more than 32k
-of static data and no library can have more than this in the Symantec
-environment. (Future versions will probably fix this.)
-
-For Metrowerks C/C++ 4.5 you build gc.68K.¹/gc.PPC.¹ and the result will
-be a library called gc.68K.lib/gc.PPC.lib.
-
-Using
------
-
-Under Symantec C++/THINK C, you can just add the gclib-1.¹ and gclib-2.¹
-projects to your own project. Under Metrowerks, you add gc.68K.lib or
-gc.PPC.lib and two additional files. You add the files called datastart.c
-and dataend.c to your project, bracketing all files that use the collector.
-See mw/gctest.¹ for an example.
-
-Include the projects/libraries you built above into your own project,
-#include "gc.h", and call GC_malloc. You don't have to call GC_free.
-
-
-Patrick C. Beard
-January 4, 1995
diff --git a/boehm-gc/README.OS2 b/boehm-gc/README.OS2
deleted file mode 100644
index 5345bbd0f65..00000000000
--- a/boehm-gc/README.OS2
+++ /dev/null
@@ -1,6 +0,0 @@
-The code assumes static linking, and a single thread. The editor de has
-not been ported. The cord test program has. The supplied OS2_MAKEFILE
-assumes the IBM C Set/2 environment, but the code shouldn't.
-
-Since we haven't figured out hoe to do perform partial links or to build static
-libraries, clients currently need to link against a long list of executables.
diff --git a/boehm-gc/README.QUICK b/boehm-gc/README.QUICK
deleted file mode 100644
index 3273c8ba4eb..00000000000
--- a/boehm-gc/README.QUICK
+++ /dev/null
@@ -1,41 +0,0 @@
-Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
-Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program
-for any purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is granted,
-provided the above notices are retained, and a notice that the code was
-modified is included with the above copyright notice.
-
-
-For more details and the names of other contributors, see the
-README file and gc.h. This file describes typical use of
-the collector on a machine that is already supported.
-
-INSTALLATION:
-Under UN*X, type "make test". Under OS/2 or Windows NT, copy the
-appropriate makefile to MAKEFILE, read it, and type "nmake test".
-Read the machine specific README if one exists. The only way to
-develop code with the collector for Windows 3.1 is to develop under
-Windows NT, and then to use win32S.
-
-If you wish to use the cord (structured string) library type
-"make cords". (This requires an ANSI C compiler. You may need
-to redefine CC in the Makefile.)
-
-If you wish to use the collector from C++, type
-"make c++". These add further files to gc.a and to the include
-subdirectory. See cord/cord.h and gc_c++.h.
-
-TYPICAL USE:
-Include "gc.h" from this directory. Link against the appropriate library
-("gc.a" under UN*X). Replace calls to malloc by calls to GC_MALLOC,
-and calls to realloc by calls to GC_REALLOC. If the object is known
-to never contain pointers, use GC_MALLOC_ATOMIC instead of
-GC_MALLOC.
-
-Define GC_DEBUG before including gc.h for additional checking.
-
diff --git a/boehm-gc/README.alpha b/boehm-gc/README.alpha
deleted file mode 100644
index b187fd5bc45..00000000000
--- a/boehm-gc/README.alpha
+++ /dev/null
@@ -1,15 +0,0 @@
-Should work under OSF/1 and Linux. Currently no VMS or NT support, though
-the latter shouldn't be hard.
-
-Incremental gc not yet supported under Linux because signal handler
-for SIGSEGV can't get a hold of fault address. Dynamic library support
-is also missing from Linux/alpha, probably for no good reason.
-
-From Philippe Queinnec:
-
-System: DEC/Alpha OSF1 v3.2, vendor cc
-Problem: can't link if libgc has been compiled with "cc -std1".
- It works if the library has been compiled with either gcc or "cc"
- alone. The problem is because the variable "end" is not defined if
- compiling in std1 mode (see man ld).
-Proposed fix: none. Don't use cc -std1 !
diff --git a/boehm-gc/README.amiga b/boehm-gc/README.amiga
deleted file mode 100644
index 865642be4b4..00000000000
--- a/boehm-gc/README.amiga
+++ /dev/null
@@ -1,133 +0,0 @@
-
-===========================================================================
- Michel Schinz's notes
-===========================================================================
-WHO DID WHAT
-
-The original Amiga port was made by Jesper Peterson. I (Michel Schinz)
-modified it slightly to reflect the changes made in the new official
-distributions, and to take advantage of the new SAS/C 6.x features. I also
-created a makefile to compile the "cord" package (see the cord
-subdirectory).
-
-TECHNICAL NOTES
-
-In addition to Jesper's notes, I have the following to say:
-
-- Starting with version 4.3, gctest checks to see if the code segment is
- added to the root set or not, and complains if it is. Previous versions
- of this Amiga port added the code segment to the root set, so I tried to
- fix that. The only problem is that, as far as I know, it is impossible to
- know which segments are code segments and which are data segments (there
- are indeed solutions to this problem, like scanning the program on disk
- or patch the LoadSeg functions, but they are rather complicated). The
- solution I have chosen (see os_dep.c) is to test whether the program
- counter is in the segment we are about to add to the root set, and if it
- is, to skip the segment. The problems are that this solution is rather
- awkward and that it works only for one code segment. This means that if
- your program has more than one code segment, all of them but one will be
- added to the root set. This isn't a big problem in fact, since the
- collector will continue to work correctly, but it may be slower.
-
- Anyway, the code which decides whether to skip a segment or not can be
- removed simply by not defining AMIGA_SKIP_SEG. But notice that if you do
- so, gctest will complain (it will say that "GC_is_visible produced wrong
- failure indication"). However, it may be useful if you happen to have
- pointers stored in a code segment (you really shouldn't).
-
- If anyone has a good solution to the problem of finding, when a program
- is loaded in memory, whether a segment is a code or a data segment,
- please let me know.
-
-PROBLEMS
-
-If you have any problem with this version, please contact me at
-schinz@alphanet.ch (but do *not* send long files, since we pay for
-every mail!).
-
-===========================================================================
- Jesper Peterson's notes
-===========================================================================
-
-ADDITIONAL NOTES FOR AMIGA PORT
-
-These notes assume some familiarity with Amiga internals.
-
-WHY I PORTED TO THE AMIGA
-
-The sole reason why I made this port was as a first step in getting
-the Sather(*) language on the Amiga. A port of this language will
-be done as soon as the Sather 1.0 sources are made available to me.
-Given this motivation, the garbage collection (GC) port is rather
-minimal.
-
-(*) For information on Sather read the comp.lang.sather newsgroup.
-
-LIMITATIONS
-
-This port assumes that the startup code linked with target programs
-is that supplied with SAS/C versions 6.0 or later. This allows
-assumptions to be made about where to find the stack base pointer
-and data segments when programs are run from WorkBench, as opposed
-to running from the CLI. The compiler dependent code is all in the
-GC_get_stack_base() and GC_register_data_segments() functions, but
-may spread as I add Amiga specific features.
-
-Given that SAS/C was assumed, the port is set up to be built with
-"smake" using the "SMakefile". Compiler options in "SCoptions" can
-be set with "scopts" program. Both "smake" and "scopts" are part of
-the SAS/C commercial development system.
-
-In keeping with the porting philosophy outlined above, this port
-will not behave well with Amiga specific code. Especially not inter-
-process comms via messages, and setting up public structures like
-Intuition objects or anything else in the system lists. For the
-time being the use of this library is limited to single threaded
-ANSI/POSIX compliant or near-complient code. (ie. Stick to stdio
-for now). Given this limitation there is currently no mechanism for
-allocating "CHIP" or "PUBLIC" memory under the garbage collector.
-I'll add this after giving it considerable thought. The major
-problem is the entire physical address space may have to me scanned,
-since there is no telling who we may have passed memory to.
-
-If you allocate your own stack in client code, you will have to
-assign the pointer plus stack size to GC_stackbottom.
-
-The initial stack size of the target program can be compiled in by
-setting the __stack symbol (see SAS documentaion). It can be over-
-ridden from the CLI by running the AmigaDOS "stack" program, or from
-the WorkBench by setting the stack size in the tool types window.
-
-SAS/C COMPILER OPTIONS (SCoptions)
-
-You may wish to check the "CPU" code option is appropriate for your
-intended target system.
-
-Under no circumstances set the "StackExtend" code option in either
-compiling the library or *ANY* client code.
-
-All benign compiler warnings have been suppressed. These mainly
-involve lack of prototypes in the code, and dead assignments
-detected by the optimizer.
-
-THE GOOD NEWS
-
-The library as it stands is compatible with the GigaMem commercial
-virtual memory software, and probably similar PD software.
-
-The performance of "gctest" on an Amiga 2630 (68030 @ 25Mhz)
-compares favourably with an HP9000 with similar architecture (a 325
-with a 68030 I think).
-
------------------------------------------------------------------------
-
-The Amiga port has been brought to you by:
-
-Jesper Peterson.
-
-jep@mtiame.mtia.oz.au (preferred, but 1 week turnaround)
-jep@orca1.vic.design.telecom.au (that's orca<one>, 1 day turnaround)
-
-At least one of these addresses should be around for a while, even
-though I don't work for either of the companies involved.
-
diff --git a/boehm-gc/README.debugging b/boehm-gc/README.debugging
deleted file mode 100644
index 80635c22301..00000000000
--- a/boehm-gc/README.debugging
+++ /dev/null
@@ -1,58 +0,0 @@
-Debugging suggestions:
-
-****If you get a segmentation fault or bus error while debugging with a debugger:
-If the fault occurred in GC_find_limit, or with incremental collection enabled, this is probably normal. The collector installs handlers to take care of these. You will not see these unless you are using a debugger. Your debugger should allow you to continue. It's preferable to tell the debugger to ignore SIGBUS and SIGSEGV ("handle" in gdb, "ignore" in most versions of dbx) and set a breakpoint in abort. The collector will call abort if the signal had another cause, and there was not other handler previously installed. I recommend debugging without incremental collection if possible. (This applies directly to UNIX systems. Debugging with incremental collection under win32 is worse. See README.win32.)
-
-****If you get warning messages informing you that the collector needed to allocate blacklisted blocks:
-
-0) Ignore these warnings while you are using GC_DEBUG. Some of the routines mentioned below don't have debugging equivalents. (Alternatively, write the missing routines and send them to me.)
-
-1) Replace allocator calls that request large blocks with calls to GC_malloc_ignore_off_page or GC_malloc_atomic_ignore_off_page. You may want to set a breakpoint in GC_default_warn_proc to help you identify such calls. Make sure that a pointer to somewhere near the beginning of the resulting block is maintained in a (preferably volatile) variable as long as the block is needed.
-
-2) If the large blocks are allocated with realloc, I suggest instead allocating them with something like the following. Note that the realloc size increment should be fairly large (e.g. a factor of 3/2) for this to exhibit reasonable performance. But we all know we should do that anyway.
-
-void * big_realloc(void *p, size_t new_size)
-{
- size_t old_size = GC_size(p);
- void * result;
-
- if (new_size <= 10000) return(GC_realloc(p, new_size));
- if (new_size <= old_size) return(p);
- result = GC_malloc_ignore_off_page(new_size);
- if (result == 0) return(0);
- memcpy(result,p,old_size);
- GC_free(p);
- return(result);
-}
-
-3) In the unlikely case that even relatively small object (<20KB) allocations are triggering these warnings, then your address space contains lots of "bogus pointers", i.e. values that appear to be pointers but aren't. Usually this can be solved by using GC_malloc_atomic or the routines in gc_typed.h to allocate large pointerfree regions of bitmaps, etc. Sometimes the problem can be solved with trivial changes of encoding in certain values. It is possible, though not pleasant, to identify the source of the bogus pointers by setting a breakpoint in GC_add_to_black_list_stack, and looking at the value of current_p in the GC_mark_from_mark_stack frame. Current_p contains the address of the bogus pointer.
-
-4) If you get only a fixed number of these warnings, you are probably only introducing a bounded leak by ignoring them. If the data structures being allocated are intended to be permanent, then it is also safe to ignore them. The warnings can be turned off by calling GC_set_warn_proc with a procedure that ignores these warnings (e.g. by doing absolutely nothing).
-
-
-****If the collector dies in GC_malloc while trying to remove a free list element:
-
-1) With > 99% probability, you wrote past the end of an allocated object. Try setting GC_DEBUG and using the debugging facilities in gc.h.
-
-
-****If the heap grows too much:
-
-1) Consider using GC_malloc_atomic for objects containing nonpointers. This is especially important for large arrays containg compressed data, pseudo-random numbers, and the like. (This isn't all that likely to solve your problem, but it's a useful and easy optimization anyway, and this is a good time to try it.) If you allocate large objects containg only one or two pointers at the beginning, either try the typed allocation primitives is gc.h, or separate out the pointerfree component.
-2) If you are using the collector in its default mode, with interior pointer recognition enabled, consider using GC_malloc_ignore_off_page to allocate large objects. (See gc.h and above for details. Large means > 100K in most environments.)
-3) GC_print_block_list() will print a list of all currently allocated heap blocks and what size objects they contain. GC_print_hblkfreelist() will print a list of free heap blocks, and whether they are blacklisted. GC_dump calls both of these, and also prints information about heap sections, and root segments.
-4) Write a tool that traces back references to the appropriate root. Send me the code. (I have code that does this for old PCR.)
-
-
-****If the collector appears to be losing objects:
-
-1) Replace all calls to GC_malloc_atomic and typed allocation by GC_malloc calls. If this fixes the problem, gradually reinsert your optimizations.
-2) You may also want to try the safe(r) pointer manipulation primitives in gc.h. But those are hard to use until the preprocessor becomes available.
-3) Try using the GC_DEBUG facilities. This is less likely to be successful here than if the collector crashes.
-[The rest of these are primarily for wizards. You shouldn't need them unless you're doing something really strange, or debugging a collector port.]
-4) Don't turn on incremental collection. If that fixes the problem, suspect a bug in the dirty bit implementation. Try compiling with -DCHECKSUMS to check for modified, but supposedly clean, pages.
-5) On a SPARC, in a single-threaded environment, GC_print_callers(GC_arrays._last_stack) prints a cryptic stack trace as of the time of the last collection. (You will need a debugger to decipher the result.) The question to ask then is "why should this object have been accessible at the time of the last collection? Where was a pointer to it stored?". This facility should be easy to add for some other collector ports (namely if it's easy to traverse stack frames), but will be hard for others.
-6) "print *GC_find_header(p)" in dbx or gdb will print the garbage collector block header information associated with the object p (e.g. object size, etc.)
-7) GC_is_marked(p) determines whether p is the base address of a marked object. Note that objects allocated since the last collection should not be marked, and that unmarked objects are reclaimed incrementally. It's usually most interesting to set a breakpoint in GC_finish_collection and then to determine how much of the damaged data structure is marked at that point.
-8) Look at the tracing facility in mark.c. (Ignore this suggestion unless you are very familiar with collector internals.)
-
-
diff --git a/boehm-gc/README.dj b/boehm-gc/README.dj
deleted file mode 100644
index 613bc423cb1..00000000000
--- a/boehm-gc/README.dj
+++ /dev/null
@@ -1,12 +0,0 @@
-[Original version supplied by Xiaokun Zhu <xiaokun@aero.gla.ac.uk>]
-[This version came mostly from Gary Leavens. ]
-
-Look first at Makefile.dj, and possibly change the definitions of
-RM and MV if you don't have rm and mv installed.
-Then use Makefile.dj to compile the garbage collector.
-For example, you can do:
-
- make -f Makefile.dj test
-
-All the tests should work fine.
-
diff --git a/boehm-gc/README.hp b/boehm-gc/README.hp
deleted file mode 100644
index 869aaea67c1..00000000000
--- a/boehm-gc/README.hp
+++ /dev/null
@@ -1,9 +0,0 @@
-Dynamic loading support requires that executables be linked with -ldld.
-The alternative is to build the collector without defining DYNAMIC_LOADING
-in config.h and ensuring that all garbage collectable objects are
-accessible without considering statically allocated variables in dynamic
-libraries.
-
-The collector should compile with either plain cc or cc -Ae. CC -Aa
-fails to define _HPUX_SOURCE and thus will not configure the collector
-correctly.
diff --git a/boehm-gc/README.linux b/boehm-gc/README.linux
deleted file mode 100644
index ffe735bc182..00000000000
--- a/boehm-gc/README.linux
+++ /dev/null
@@ -1,39 +0,0 @@
-See README.alpha for Linux on DEC AXP info. This file applies to
-Linux/Intel.
-
-Incremental GC is supported.
-
-Dynamic libraries are supported on an ELF system. A static executable
-should be linked with the gcc option "-Wl,-defsym,_DYNAMIC=0".
-
-The collector appears to work with Linux threads. We have seen
-intermittent hangs in sem_wait. So far we have been unable to reproduce
-these unless the process was being debugged or traced. Thus it's
-possible that the only real issue is that the debugger loses
-signals on rare occasions.
-
-The garbage collector uses SIGPWR and SIGXCPU if it is used with
-Linux threads. These should not be touched by the client program.
-
-To use threads, you need to abide by the following requirements:
-
-1) You need to use LinuxThreads (which are included in libc6).
-
- The collector relies on some implementation details of the LinuxThreads
- package. It is unlikely that this code will work on other
- pthread implementations (in particular it will *not* work with
- MIT pthreads).
-
-2) You must compile the collector with -DLINUX_THREADS and -D_REENTRANT
- specified in the Makefile.
-
-3) Every file that makes thread calls should define LINUX_THREADS and
- _REENTRANT and then include gc.h. Gc.h redefines some of the
- pthread primitives as macros which also provide the collector with
- information it requires.
-
-4) Currently dlopen() is probably not safe. The collector must traverse
- the list of libraries maintained by the runtime loader. That can
- probably be an inconsistent state when a thread calling the loader is
- is stopped for GC. (It's possible that this is fixable in the
- same way it is handled for SOLARIS_THREADS, with GC_dlopen.)
diff --git a/boehm-gc/README.rs6000 b/boehm-gc/README.rs6000
deleted file mode 100644
index 0444ac4cce0..00000000000
--- a/boehm-gc/README.rs6000
+++ /dev/null
@@ -1,6 +0,0 @@
-We have so far failed to find a good way to determine the stack base.
-It is highly recommended that GC_stackbottom be set explicitly on program
-startup. The supplied value sometimes causes failure under AIX 4.1, though
-it appears to work under 3.X. HEURISTIC2 seems to work under 4.1, but
-involves a substantial performance penalty, and will fail if there is
-no limit on stack size.
diff --git a/boehm-gc/README.sgi b/boehm-gc/README.sgi
deleted file mode 100644
index 186e4977106..00000000000
--- a/boehm-gc/README.sgi
+++ /dev/null
@@ -1,37 +0,0 @@
-Performance of the incremental collector can be greatly enhanced with
--DNO_EXECUTE_PERMISSION.
-
-The collector should run with all of the -32, -n32 and -64 ABIs. Remember to
-define the AS macro in the Makefile to be "as -64", or "as -n32".
-
-If you use -DREDIRECT_MALLOC=GC_malloc with C++ code, your code should make
-at least one explicit call to malloc instead of new to ensure that the proper
-version of malloc is linked in.
-
-Sproc threads are not supported in this version, though there may exist other
-ports.
-
-Pthreads support is provided. This requires that:
-
-1) You compile the collector with -DIRIX_THREADS specified in the Makefile.
-
-2) You have the latest pthreads patches installed.
-
-(Though the collector makes only documented pthread calls,
-it relies on signal/threads interactions working just right in ways
-that are not required by the standard. It is unlikely that this code
-will run on other pthreads platforms. But please tell me if it does.)
-
-3) Every file that makes thread calls should define IRIX_THREADS and then
-include gc.h. Gc.h redefines some of the pthread primitives as macros which
-also provide the collector with information it requires.
-
-4) pthread_cond_wait and pthread_cond_timed_wait should be prepared for
-premature wakeups. (I believe the pthreads and realted standards require this
-anyway. Irix pthreads often terminate a wait if a signal arrives.
-The garbage collector uses signals to stop threads.)
-
-5) It is expensive to stop a thread waiting in IO at the time the request is
-initiated. Applications with many such threads may not exhibit acceptable
-performance with the collector. (Increasing the heap size may help.)
-
diff --git a/boehm-gc/README.solaris2 b/boehm-gc/README.solaris2
deleted file mode 100644
index 9ef4648d04a..00000000000
--- a/boehm-gc/README.solaris2
+++ /dev/null
@@ -1,65 +0,0 @@
-The collector supports both incremental collection and threads under
-Solaris 2. The incremental collector normally retrieves page dirty information
-through the appropriate /proc calls. But it can also be configured
-(by defining MPROTECT_VDB instead of PROC_VDB in config.h) to use mprotect
-and signals. This may result in shorter pause times, but it is no longer
-safe to issue arbitrary system calls that write to the heap.
-
-Under other UNIX versions,
-the collector normally obtains memory through sbrk. There is some reason
-to expect that this is not safe if the client program also calls the system
-malloc, or especially realloc. The sbrk man page strongly suggests this is
-not safe: "Many library routines use malloc() internally, so use brk()
-and sbrk() only when you know that malloc() definitely will not be used by
-any library routine." This doesn't make a lot of sense to me, since there
-seems to be no documentation as to which routines can transitively call malloc.
-Nonetheless, under Solaris2, the collector now (since 4.12) allocates
-memory using mmap by default. (It defines USE_MMAP in config.h.)
-You may want to reverse this decisions if you use -DREDIRECT_MALLOC=...
-
-
-SOLARIS THREADS:
-
-The collector must be compiled with -DSOLARIS_THREADS to be thread safe.
-It is also essential that gc.h be included in files that call thr_create,
-thr_join, thr_suspend, thr_continue, or dlopen. Gc.h macro defines
-these to also do GC bookkeeping, etc. Gc.h must be included with
-SOLARIS_THREADS defined, otherwise these replacements are not visible.
-A collector built in this way way only be used by programs that are
-linked with the threads library.
-
-If you are using the Pthreads interface, also define _SOLARIS_PTHREADS.
-
-In this mode, the collector contains various workarounds for older Solaris
-bugs. Mostly, these should not be noticeable unless you look at system
-call traces. However, it cannot protect a guard page at the end of
-a thread stack. If you know that you will only be running Solaris2.5
-or later, it should be possible to fix this by compiling the collector
-with -DSOLARIS23_MPROTECT_BUG_FIXED.
-
-Jeremy Fitzhardinge points out that there is a problem with the dlopen
-replacement, in that startup code in the library is run while the allocation
-lock is held. This appears to be difficult to fix, since the collector does
-look at data structures maintained by dlopen, and hence some locking is needed
-around the dlopen call. Defining USE_PROC_FOR_LIBRARIES will get address
-space layout information from /proc avoiding the dlopen lock. But this has
-other disadvanatages, e.g. mmapped files may be scanned.
-
-If solaris_threads are used on an X86 processor with malloc redirected to
-GC_malloc, it is necessary to call GC_thr_init explicitly before forking the
-first thread. (This avoids a deadlock arising from calling GC_thr_init
-with the allocation lock held.)
-
-It appears that there is a problem in using gc_cpp.h in conjunction with
-Solaris threads and Sun's C++ runtime. Apparently the overloaded new operator
-is invoked by some iostream initialization code before threads are correctly
-initialized. As a result, call to thr_self() in garbage collector
-initialization segfaults. Currently the only known workaround is to not
-invoke the garbage collector from a user defined global operator new, or to
-have it invoke the garbage-collector's allocators only after main has started.
-(Note that the latter requires a moderately expensive test in operator
-delete.)
-
-Hans-J. Boehm
-(The above contains my personal opinions, which are probably not shared
-by anyone else.)
diff --git a/boehm-gc/README.uts b/boehm-gc/README.uts
deleted file mode 100644
index 6be49667d7b..00000000000
--- a/boehm-gc/README.uts
+++ /dev/null
@@ -1,2 +0,0 @@
-Alistair Crooks supplied the port. He used Lexa C version 2.1.3 with
--Xa to compile.
diff --git a/boehm-gc/README.win32 b/boehm-gc/README.win32
deleted file mode 100644
index 76c4c6e3816..00000000000
--- a/boehm-gc/README.win32
+++ /dev/null
@@ -1,163 +0,0 @@
-The collector has only been compiled under Windows NT, with the
-original Microsoft SDK, with Visual C++ 2.0 and later, with
-the GNU win32 environment, with Borland 4.5, and recently with
-Watcom C.
-
-It runs under both win32s and win32, but with different semantics.
-Under win32, all writable pages outside of the heaps and stack are
-scanned for roots. Thus the collector sees pointers in DLL data
-segments. Under win32s, only the main data segment is scanned.
-(The main data segment should always be scanned. Under some
-versions of win32s, other regions may also be scanned.)
-Thus all accessible objects should be accessible from local variables
-or variables in the main data segment. Alternatively, other data
-segments (e.g. in DLLs) may be registered with the collector by
-calling GC_init() and then GC_register_root_section(a), where
-a is the address of some variable inside the data segment. (Duplicate
-registrations are ignored, but not terribly quickly.)
-
-(There are two reasons for this. We didn't want to see many 16:16
-pointers. And the VirtualQuery call has different semantics under
-the two systems, and under different versions of win32s.)
-
-The collector test program "gctest" is linked as a GUI application,
-but does not open any windows. Its output appears in the file
-"gc.log". It may be started from the file manager. The hour glass
-cursor will appear as long as it's running.
-
-The cord test program has not been ported (but should port
-easily). A toy editor (cord/de.exe) based on cords (heavyweight
-strings represented as trees) has been ported and is included.
-It runs fine under either win32 or win32S. It serves as an example
-of a true Windows application, except that it was written by a
-nonexpert Windows programmer. (There are some peculiarities
-in the way files are displayed. The <cr> is displayed explicitly
-for standard DOS text files. As in the UNIX version, control
-characters are displayed explicitly, but in this case as red text.
-This may be suboptimal for some tastes and/or sets of default
-window colors.)
-
-For Microsoft development tools, rename NT_MAKEFILE as
-MAKEFILE. (Make sure that the CPU environment variable is defined
-to be i386.)
-
-For GNU-win32, use the regular makefile, possibly after uncommenting
-the line "include Makefile.DLLs". The latter should be necessary only
-if you want to package the collector as a DLL. The GNU-win32 port is
-believed to work only for b18, not b19, probably dues to linker changes
-in b19. This is probably fixable with a different definition of
-DATASTART and DATAEND in config.h.
-
-For Borland tools, use BCC_MAKEFILE. Note that
-Borland's compiler defaults to 1 byte alignment in structures (-a1),
-whereas Visual C++ appears to default to 8 byte alignment (/Zp8).
-The garbage collector in its default configuration EXPECTS AT
-LEAST 4 BYTE ALIGNMENT. Thus the BORLAND DEFAULT MUST
-BE OVERRIDDEN. (In my opinion, it should usually be anyway.
-I expect that -a1 introduces major performance penalties on a
-486 or Pentium.) Note that this changes structure layouts. (As a last
-resort, config.h can be changed to allow 1 byte alignment. But
-this has significant negative performance implications.)
-The Makefile is set up to assume Borland 4.5. If you have another
-version, change the line near the top. By default, it does not
-require the assembler. If you do have the assembler, I recommend
-removing the -DUSE_GENERIC.
-
-Incremental collection support was recently added. This is
-currently pretty simpleminded. Pages are protected. Protection
-faults are caught by a handler installed at the bottom of the handler
-stack. This is both slow and interacts poorly with a debugger.
-Whenever possible, I recommend adding a call to
-GC_enable_incremental at the last possible moment, after most
-debugging is complete. Unlike the UNIX versions, no system
-calls are wrapped by the collector itself. It may be necessary
-to wrap ReadFile calls that use a buffer in the heap, so that the
-call does not encounter a protection fault while it's running.
-(As usual, none of this is an issue unless GC_enable_incremental
-is called.)
-
-Note that incremental collection is disabled with -DSMALL_CONFIG,
-which is the default for win32. If you need incremental collection,
-undefine SMALL_CONFIG.
-
-Incremental collection is not supported under win32s, and it may not
-be possible to do so. However, win32 applications that attempt to use
-incremental collection should continue to run, since the
-collector detects if it's running under win32s and turns calls to
-GC_enable_incremental() into noops.
-
-James Clark has contributed the necessary code to support win32 threads.
-This code is known to exhibit some problems with incremental collection
-enabled. Use NT_THREADS_MAKEFILE (a.k.a gc.mak) instead of NT_MAKEFILE
-to build this version. Note that this requires some files whose names
-are more than 8 + 3 characters long. Thus you should unpack the tar file
-so that long file names are preserved. To build the garbage collector
-test with VC++ from the command line, use
-
-nmake /F ".\gc.mak" CFG="gctest - Win32 Release"
-
-This requires that the subdirectory gctest\Release exist.
-
-This version relies on the collector residing in a dll.
-
-This version currently supports incremental collection only if it is
-enabled before any additional threads are created.
-It is known to not be completely solid. At a minimum it can deadlock
-if a thread starts in the middle of an allocation. There may be
-other problems. If you need solid support for win32 threads, you
-check with Geodesic Systems. I haven't tried it, but they claim
-to support it.
-
-Hans
-
-Ivan V. Demakov's README for the Watcom port:
-
-[ He points out in a later message that there may be a problem compiling
- under Windows-3.11 for Windows NT. ]
-
-Watcom C/C++ 10.5, 10.6, 11.0 tested.
-
-The collector runs on WIN32 and DOS4GW dos-extender with both
-stack and register based calling conventions (options -5r and -5s).
-Incremental collection not supported.
-
-OS/2 not tested, but should work (only some #ifdef's added for OS/2 port).
-
-cord not ported. Watcom C fails to compile it, from first attempt.
-Since I don't use it, I don't try to fix it.
-
-cpp_test succeeds, but not compiled automaticaly with WCC_MAKEFILE.
-
-
-My changes:
-
- * config.h Added definitions for Watcom C/C++.
- Undefined MPROTECT_VDB for Watcom C/C++ MSWIN32,
- I don't have idea why it not work.
-
- * gc.h Explicitly declared GC_noop. This prevents
- program crash, compiled with -5r option.
-
- * gc_priv.h Changed declaration for GC_push_one to make
- compiler happy.
- Added GC_dos4gw_get_mem declaration and
- GET_MEM uses it in DOS4GW environment.
-
- * os_dep.c Added __WATCOMC__ and DOS4GW #ifdef's.
- Added GC_dos4gw_get_mem.
-
- * mach_dep.c For Watcom used setjmp method of marking registers.
-
- * WCC_MAKEFILE New file. Makefile for Watcom C/C++.
-
- * gc_watcom.asm New file. Some functions for DOS4GW.
- This functions may (probably) be done in C,
- but I can't figure out how do this for all
- possible options of compiler.
-
- * README.watcom This file.
-
-
- Ivan Demakov (email: dem@tgrad.nsk.su)
-
-
diff --git a/boehm-gc/SCoptions.amiga b/boehm-gc/SCoptions.amiga
deleted file mode 100644
index a61e0cb1f04..00000000000
--- a/boehm-gc/SCoptions.amiga
+++ /dev/null
@@ -1,16 +0,0 @@
-CPU=68030
-NOSTACKCHECK
-OPTIMIZE
-VERBOSE
-MAPHUNK
-NOVERSION
-NOICONS
-OPTIMIZERTIME
-DEFINE SILENT
-DEFINE AMIGA_SKIP_SEG
-IGNORE=85
-IGNORE=154
-IGNORE=161
-IGNORE=100
-OPTIMIZERCOMPLEXITY=4
-OPTIMIZERDEPTH=3
diff --git a/boehm-gc/SMakefile.amiga b/boehm-gc/SMakefile.amiga
deleted file mode 100644
index b1aa340e538..00000000000
--- a/boehm-gc/SMakefile.amiga
+++ /dev/null
@@ -1,48 +0,0 @@
-OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o real_malloc.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o typd_mlc.o ptr_chck.o
-
-INC= gc_private.h gc_hdrs.h gc.h config.h
-
-all: gctest setjmp_t
-
-alloc.o : alloc.c $(INC)
-reclaim.o : reclaim.c $(INC)
-allchblk.o : allchblk.c $(INC)
-misc.o : misc.c $(INC)
-os_dep.o : os_dep.c $(INC)
-mark_rts.o : mark_rts.c $(INC)
-headers.o : headers.c $(INC)
-mark.o : mark.c $(INC)
-obj_map.o : obj_map.c $(INC)
-blacklst.o : blacklst.c $(INC)
-finalize.o : finalize.c $(INC)
- sc noopt finalize.c # There seems to be a bug in the optimizer (V6.51).
- # gctest won't work if you remove this...
-new_hblk.o : new_hblk.c $(INC)
-real_malloc.o : real_malloc.c $(INC)
-dyn_load.o : dyn_load.c $(INC)
-dbg_mlc.o : dbg_mlc.c $(INC)
-malloc.o : malloc.c $(INC)
-mallocx.o : malloc.c $(INC)
-stubborn.o : stubborn.c $(INC)
-checksums.o : checksums.c $(INC)
-typd_mlc.o: typd_mlc.c $(INC)
-mach_dep.o : mach_dep.c $(INC)
-ptr_chck.o: ptr_chck.c $(INC)
-test.o : test.c $(INC)
-
-gc.lib: $(OBJS)
- oml gc.lib r $(OBJS)
-
-clean:
- delete gc.lib gctest setjmp_t \#?.o
-
-gctest: gc.lib test.o
- slink LIB:c.o test.o to $@ lib gc.lib LIB:sc.lib LIB:scm.lib
-
-setjmp_t: setjmp_t.c gc.h
- sc setjmp_t.c
- slink LIB:c.o $@.o to $@ lib LIB:sc.lib
-
-test: setjmp_t gctest
- setjmp_t
- gctest
diff --git a/boehm-gc/WCC_MAKEFILE b/boehm-gc/WCC_MAKEFILE
deleted file mode 100644
index cc0ef136742..00000000000
--- a/boehm-gc/WCC_MAKEFILE
+++ /dev/null
@@ -1,123 +0,0 @@
-# Makefile for Watcom C/C++ 10.5, 10.6, 11.0 on NT, OS2 and DOS4GW .
-# May work with Watcom 10.0 .
-#
-
-#
-# Uncoment one of line for cross compiling
-#SYSTEM=DOS4GW
-#SYSTEM=MSWIN32
-#SYSTEM=OS2
-
-!ifndef SYSTEM
-
-!ifdef __MSDOS__
-SYSTEM=DOS4GW
-!endif
-
-!ifdef __NT__
-SYSTEM=MSWIN32
-!endif
-
-!ifdef __OS2__
-SYSTEM=OS2
-!endif
-
-D_SYSTEM=
-
-!else
-
-D_SYSTEM=-D$(SYSTEM)
-
-!endif
-
-!define $(SYSTEM)
-
-
-CC=wcc386
-CXX=wpp386
-AS=wasm
-
-
-# Watcom before 11.0 not support option -oh
-# Remove it if you get error
-OPTIM=-oneatxh -s
-
-CALLING=-5s
-
-DEFS=-DALL_INTERIOR_POINTERS -DSILENT #-DSMALL_CONFIG #-DGC_DEBUG
-
-# ! -DUSE_GENERIC required !
-CFLAGS=$(OPTIM) -zp4 $(CALLING) -zc -DUSE_GENERIC $(D_SYSTEM) $(DEFS)
-CXXFLAGS= $(CFLAGS)
-ASFLAGS=$(CALLING)
-
-OBJS= alloc.obj reclaim.obj allchblk.obj misc.obj &
- mach_dep.obj os_dep.obj mark_rts.obj headers.obj mark.obj &
- obj_map.obj blacklst.obj finalize.obj new_hblk.obj &
- dbg_mlc.obj malloc.obj stubborn.obj dyn_load.obj &
- typd_mlc.obj ptr_chck.obj gc_cpp.obj mallocx.obj
-
-
-all: gc.lib gctest.exe
-
-# this file required for DOS4GW only
-gc_watcom.obj: gc_watcom.asm WCC_MAKEFILE
- $(AS) $(ASFLAGS) gc_watcom.asm
-
-!ifdef DOS4GW
-gc.lib: $(OBJS) gc_watcom.obj
- @%create $*.lb1
- @for %i in ($(OBJS)) do @%append $*.lb1 +'%i'
- @@%append $*.lb1 +'gc_watcom.obj'
- *wlib -b -c -n -p=512 $@ @$*.lb1
-!else
-gc.lib: $(OBJS)
- @%create $*.lb1
- @for %i in ($(OBJS)) do @%append $*.lb1 +'%i'
- *wlib -b -c -n -p=512 $@ @$*.lb1
-!endif
-
-
-test.obj: test.c
- $(CC) $(CFLAGS) $*.c
-
-gctest.exe: test.obj gc.lib
- %create $*.lnk
-!ifdef DOS4GW
- @%append $*.lnk sys dos4g
-!endif
-!ifdef MSWIN32
- @%append $*.lnk sys nt
-!endif
-!ifdef OS2
- @%append $*.lnk sys os2v2
-!endif
- @%append $*.lnk op case
- @%append $*.lnk op stack=256K
- @%append $*.lnk name $*
- @%append $*.lnk file test.obj
- @%append $*.lnk library gc.lib
- *wlink @$*.lnk
-
-
-
-.c.obj: .AUTODEPEND
- $(CC) $(CFLAGS) $*.c
-
-.cc.obj: .AUTODEPEND
- $(CXX) $(CXXFLAGS) $*.cc
-
-.cpp.obj: .AUTODEPEND
- $(CXX) $(CXXFLAGS) $*.cpp
-
-clean : .SYMBOLIC
- @if exist *.obj del *.obj
- @if exist *.map del *.map
- @if exist *.lnk del *.lnk
- @if exist *.lb1 del *.lb1
- @if exist *.sym del *.sym
- @if exist *.err del *.err
- @if exist *.tmp del *.tmp
- @if exist *.lst del *.lst
- @if exist *.exe del *.exe
- @if exist *.log del *.log
diff --git a/boehm-gc/acinclude.m4 b/boehm-gc/acinclude.m4
deleted file mode 100644
index 55e649b3a24..00000000000
--- a/boehm-gc/acinclude.m4
+++ /dev/null
@@ -1,153 +0,0 @@
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(BOEHM_CONFIGURE,
-[
-dnl Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-[ --enable-multilib build many library versions (default)],
-[case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
- esac], [multilib=yes])dnl
-
-dnl We may get other options which we don't document:
-dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
-
-if test "[$]{srcdir}" = "."; then
- if test "[$]{with_target_subdir}" != "."; then
- boehm_gc_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
- else
- boehm_gc_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
- fi
-else
- boehm_gc_basedir="[$]{srcdir}/$1"
-fi
-AC_SUBST(boehm_gc_basedir)
-
-AC_CANONICAL_HOST
-
-AM_INIT_AUTOMAKE(boehm-gc, 4.13a2, no-define)
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CC
-
-# Likewise for AC_PROG_CXX.
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
-AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
-test -z "$CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
-
-AC_PROG_CXX_GNU
-
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
-dnl Check whether -g works, even if CXXFLAGS is set, in case the package
-dnl plays around with CXXFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=
- AC_PROG_CXX_G
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- elif test $ac_cv_prog_cxx_g = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-O2"
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CXX
-
-# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
-# run it explicitly here, it will be run implicitly before
-# NEWLIB_CONFIGURE, which doesn't work because that means that it will
-# be run before AC_CANONICAL_HOST.
-AC_CANONICAL_BUILD
-
-AC_CHECK_TOOL(AS, as)
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-
-AC_PROG_INSTALL
-
-AM_MAINTAINER_MODE
-
-# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
-# at least currently, we never actually build a program, so we never
-# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
-# fails, because we are probably configuring with a cross compiler
-# which can't create executables. So we include AC_EXEEXT to keep
-# automake happy, but we don't execute it, since we don't care about
-# the result.
-if false; then
- AC_EXEEXT
-fi
-
-. [$]{boehm_gc_basedir}/configure.host
-
-case [$]{boehm_gc_basedir} in
-/* | [A-Za-z]:[/\\]*) boehm_gc_flagbasedir=[$]{boehm_gc_basedir} ;;
-*) boehm_gc_flagbasedir='[$](top_builddir)/'[$]{boehm_gc_basedir} ;;
-esac
-
-boehm_gc_cflags="[$]{boehm_gc_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{boehm_gc_flagbasedir}/libc/include"
-case "${host}" in
- *-*-cygwin32*)
- boehm_gc_cflags="[$]{boehm_gc_cflags} -I[$]{boehm_gc_flagbasedir}/../winsup/include"
- ;;
-esac
-
-boehm_gc_cflags="[$]{boehm_gc_cflags} -fno-builtin"
-
-BOEHM_GC_CFLAGS=${boehm_gc_cflags}
-AC_SUBST(BOEHM_GC_CFLAGS)
-]))
-
-))))
diff --git a/boehm-gc/aclocal.m4 b/boehm-gc/aclocal.m4
deleted file mode 100644
index 82da4b65b1e..00000000000
--- a/boehm-gc/aclocal.m4
+++ /dev/null
@@ -1,542 +0,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4
-
-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(BOEHM_CONFIGURE,
-[
-dnl Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-[ --enable-multilib build many library versions (default)],
-[case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
- esac], [multilib=yes])dnl
-
-dnl We may get other options which we don't document:
-dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
-
-if test "[$]{srcdir}" = "."; then
- if test "[$]{with_target_subdir}" != "."; then
- boehm_gc_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
- else
- boehm_gc_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
- fi
-else
- boehm_gc_basedir="[$]{srcdir}/$1"
-fi
-AC_SUBST(boehm_gc_basedir)
-
-AC_CANONICAL_HOST
-
-AM_INIT_AUTOMAKE(boehm-gc, 4.13a2, no-define)
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CC
-
-# Likewise for AC_PROG_CXX.
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
-AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
-test -z "$CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
-
-AC_PROG_CXX_GNU
-
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
-dnl Check whether -g works, even if CXXFLAGS is set, in case the package
-dnl plays around with CXXFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=
- AC_PROG_CXX_G
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- elif test $ac_cv_prog_cxx_g = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-O2"
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CXX
-
-# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
-# run it explicitly here, it will be run implicitly before
-# NEWLIB_CONFIGURE, which doesn't work because that means that it will
-# be run before AC_CANONICAL_HOST.
-AC_CANONICAL_BUILD
-
-AC_CHECK_TOOL(AS, as)
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-
-AC_PROG_INSTALL
-
-AM_MAINTAINER_MODE
-
-# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
-# at least currently, we never actually build a program, so we never
-# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
-# fails, because we are probably configuring with a cross compiler
-# which can't create executables. So we include AC_EXEEXT to keep
-# automake happy, but we don't execute it, since we don't care about
-# the result.
-if false; then
- AC_EXEEXT
-fi
-
-. [$]{boehm_gc_basedir}/configure.host
-
-case [$]{boehm_gc_basedir} in
-/* | [A-Za-z]:[/\\]*) boehm_gc_flagbasedir=[$]{boehm_gc_basedir} ;;
-*) boehm_gc_flagbasedir='[$](top_builddir)/'[$]{boehm_gc_basedir} ;;
-esac
-
-boehm_gc_cflags="[$]{boehm_gc_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{boehm_gc_flagbasedir}/libc/include"
-case "${host}" in
- *-*-cygwin32*)
- boehm_gc_cflags="[$]{boehm_gc_cflags} -I[$]{boehm_gc_flagbasedir}/../winsup/include"
- ;;
-esac
-
-boehm_gc_cflags="[$]{boehm_gc_cflags} -fno-builtin"
-
-BOEHM_GC_CFLAGS=${boehm_gc_cflags}
-AC_SUBST(BOEHM_GC_CFLAGS)
-]))
-
-))))
-
-# Do all the work for Automake. This macro actually does too much --
-# some checks are only needed if your package does certain things.
-# But this isn't really a big deal.
-
-# serial 1
-
-dnl Usage:
-dnl AM_INIT_AUTOMAKE(package,version, [no-define])
-
-AC_DEFUN(AM_INIT_AUTOMAKE,
-[AC_REQUIRE([AC_PROG_INSTALL])
-PACKAGE=[$1]
-AC_SUBST(PACKAGE)
-VERSION=[$2]
-AC_SUBST(VERSION)
-dnl test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-ifelse([$3],,
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
-AC_REQUIRE([AM_SANITY_CHECK])
-AC_REQUIRE([AC_ARG_PROGRAM])
-dnl FIXME This is truly gross.
-missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
-AC_REQUIRE([AC_PROG_MAKE_SET])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-AC_DEFUN(AM_SANITY_CHECK,
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "[$]*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "[$]*" != "X $srcdir/configure conftestfile" \
- && test "[$]*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "[$]2" = conftestfile
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-rm -f conftest*
-AC_MSG_RESULT(yes)])
-
-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
-dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
-[AC_MSG_CHECKING(for working $2)
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if ($2 --version) < /dev/null > /dev/null 2>&1; then
- $1=$2
- AC_MSG_RESULT(found)
-else
- $1="$3/missing $2"
- AC_MSG_RESULT(missing)
-fi
-AC_SUBST($1)])
-
-# Add --enable-maintainer-mode option to configure.
-# From Jim Meyering
-
-# serial 1
-
-AC_DEFUN(AM_MAINTAINER_MODE,
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT($USE_MAINTAINER_MODE)
- AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-# Define a conditional.
-
-AC_DEFUN(AM_CONDITIONAL,
-[AC_SUBST($1_TRUE)
-AC_SUBST($1_FALSE)
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi])
-
-
-# serial 25 AM_PROG_LIBTOOL
-AC_DEFUN(AM_PROG_LIBTOOL,
-[AC_REQUIRE([AM_ENABLE_SHARED])dnl
-AC_REQUIRE([AM_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_RANLIB])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AM_PROG_LD])dnl
-AC_REQUIRE([AM_PROG_NM])dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-dnl
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags=
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$silent" = yes && libtool_flags="$libtool_flags --silent"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$host" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- CFLAGS="$CFLAGS -belf"
- ;;
-
-*-*-cygwin32*)
- AM_SYS_LIBTOOL_CYGWIN32
- ;;
-
-esac
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-DLLTOOL="$DLLTOOL" AS="$AS" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
-|| AC_MSG_ERROR([libtool configure failed])
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-])
-
-# AM_ENABLE_SHARED - implement the --enable-shared flag
-# Usage: AM_ENABLE_SHARED[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AM_ENABLE_SHARED,
-[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(shared,
-changequote(<<, >>)dnl
-<< --enable-shared[=PKGS] build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
-])
-
-# AM_DISABLE_SHARED - set the default shared flag to --disable-shared
-AC_DEFUN(AM_DISABLE_SHARED,
-[AM_ENABLE_SHARED(no)])
-
-# AM_DISABLE_STATIC - set the default static flag to --disable-static
-AC_DEFUN(AM_DISABLE_STATIC,
-[AM_ENABLE_STATIC(no)])
-
-# AM_ENABLE_STATIC - implement the --enable-static flag
-# Usage: AM_ENABLE_STATIC[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AM_ENABLE_STATIC,
-[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(static,
-changequote(<<, >>)dnl
-<< --enable-static[=PKGS] build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
-])
-
-
-# AM_PROG_LD - find the path to the GNU or non-GNU linker
-AC_DEFUN(AM_PROG_LD,
-[AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
- ac_prog=`($CC -print-prog-name=ld) 2>&5`
- case "$ac_prog" in
- # Accept absolute paths.
-changequote(,)dnl
- /* | [A-Za-z]:\\*)
-changequote([,])dnl
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(ac_cv_path_LD,
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_SUBST(LD)
-AM_PROG_LD_GNU
-])
-
-AC_DEFUN(AM_PROG_LD_GNU,
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi])
-])
-
-# AM_PROG_NM - find the path to a BSD-compatible name lister
-AC_DEFUN(AM_PROG_NM,
-[AC_MSG_CHECKING([for BSD-compatible nm])
-AC_CACHE_VAL(ac_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- else
- ac_cv_path_NM="$ac_dir/nm"
- fi
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi])
-NM="$ac_cv_path_NM"
-AC_MSG_RESULT([$NM])
-AC_SUBST(NM)
-])
-
-# AM_SYS_LIBTOOL_CYGWIN32 - find tools needed on cygwin32
-AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN32,
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-AC_CHECK_TOOL(AS, as, false)
-])
-
diff --git a/boehm-gc/add_gc_prefix.c b/boehm-gc/add_gc_prefix.c
deleted file mode 100644
index 0d1ab6d4d36..00000000000
--- a/boehm-gc/add_gc_prefix.c
+++ /dev/null
@@ -1,14 +0,0 @@
-# include <stdio.h>
-
-int main(argc, argv, envp)
-int argc;
-char ** argv;
-char ** envp;
-{
- int i;
-
- for (i = 1; i < argc; i++) {
- printf("gc/%s ", argv[i]);
- }
- return(0);
-}
diff --git a/boehm-gc/allchblk.c b/boehm-gc/allchblk.c
deleted file mode 100644
index 7a5a3a1c3ab..00000000000
--- a/boehm-gc/allchblk.c
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1998 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, August 9, 1995 5:08 pm PDT */
-
-#define DEBUG
-#undef DEBUG
-#include <stdio.h>
-#include "gc_priv.h"
-
-
-/*
- * allocate/free routines for heap blocks
- * Note that everything called from outside the garbage collector
- * should be prepared to abort at any point as the result of a signal.
- */
-
-/*
- * Free heap blocks are kept on a list sorted by address.
- * The hb_hdr.hbh_sz field of a free heap block contains the length
- * (in bytes) of the entire block.
- * Neighbors are coalesced.
- */
-
-# define MAX_BLACK_LIST_ALLOC (2*HBLKSIZE)
- /* largest block we will allocate starting on a black */
- /* listed block. Must be >= HBLKSIZE. */
-
-struct hblk * GC_hblkfreelist = 0;
-
-struct hblk *GC_savhbp = (struct hblk *)0; /* heap block preceding next */
- /* block to be examined by */
- /* GC_allochblk. */
-
-# if !defined(NO_DEBUGGING)
-void GC_print_hblkfreelist()
-{
- struct hblk * h = GC_hblkfreelist;
- word total_free = 0;
- hdr * hhdr = HDR(h);
- word sz;
-
- while (h != 0) {
- sz = hhdr -> hb_sz;
- GC_printf2("0x%lx size %lu ", (unsigned long)h, (unsigned long)sz);
- total_free += sz;
- if (GC_is_black_listed(h, HBLKSIZE) != 0) {
- GC_printf0("start black listed\n");
- } else if (GC_is_black_listed(h, hhdr -> hb_sz) != 0) {
- GC_printf0("partially black listed\n");
- } else {
- GC_printf0("not black listed\n");
- }
- h = hhdr -> hb_next;
- hhdr = HDR(h);
- }
- GC_printf1("Total of %lu bytes on free list\n", (unsigned long)total_free);
-}
-
-# endif /* NO_DEBUGGING */
-
-/* Initialize hdr for a block containing the indicated size and */
-/* kind of objects. */
-/* Return FALSE on failure. */
-static GC_bool setup_header(hhdr, sz, kind, flags)
-register hdr * hhdr;
-word sz; /* object size in words */
-int kind;
-unsigned char flags;
-{
- register word descr;
-
- /* Add description of valid object pointers */
- if (!GC_add_map_entry(sz)) return(FALSE);
- hhdr -> hb_map = GC_obj_map[sz > MAXOBJSZ? 0 : sz];
-
- /* Set size, kind and mark proc fields */
- hhdr -> hb_sz = sz;
- hhdr -> hb_obj_kind = kind;
- hhdr -> hb_flags = flags;
- descr = GC_obj_kinds[kind].ok_descriptor;
- if (GC_obj_kinds[kind].ok_relocate_descr) descr += WORDS_TO_BYTES(sz);
- hhdr -> hb_descr = descr;
-
- /* Clear mark bits */
- GC_clear_hdr_marks(hhdr);
-
- hhdr -> hb_last_reclaimed = (unsigned short)GC_gc_no;
- return(TRUE);
-}
-
-#ifdef EXACT_FIRST
-# define LAST_TRIP 2
-#else
-# define LAST_TRIP 1
-#endif
-
-/*
- * Allocate (and return pointer to) a heap block
- * for objects of size sz words.
- *
- * NOTE: We set obj_map field in header correctly.
- * Caller is resposnsible for building an object freelist in block.
- *
- * We clear the block if it is destined for large objects, and if
- * kind requires that newly allocated objects be cleared.
- */
-struct hblk *
-GC_allochblk(sz, kind, flags)
-word sz;
-int kind;
-unsigned char flags; /* IGNORE_OFF_PAGE or 0 */
-{
- register struct hblk *thishbp;
- register hdr * thishdr; /* Header corr. to thishbp */
- register struct hblk *hbp;
- register hdr * hhdr; /* Header corr. to hbp */
- struct hblk *prevhbp;
- register hdr * phdr; /* Header corr. to prevhbp */
- signed_word size_needed; /* number of bytes in requested objects */
- signed_word size_avail; /* bytes available in this block */
- int trip_count = 0;
-
- size_needed = HBLKSIZE * OBJ_SZ_TO_BLOCKS(sz);
-
- /* search for a big enough block in free list */
- hbp = GC_savhbp;
- hhdr = HDR(hbp);
- for(;;) {
-
- prevhbp = hbp;
- phdr = hhdr;
- hbp = (prevhbp == 0? GC_hblkfreelist : phdr->hb_next);
- hhdr = HDR(hbp);
-
- if( prevhbp == GC_savhbp) {
- if (trip_count == LAST_TRIP) return(0);
- ++trip_count;
- }
-
- if( hbp == 0 ) continue;
-
- size_avail = hhdr->hb_sz;
-# ifdef EXACT_FIRST
- if (trip_count <= 1 && size_avail != size_needed) continue;
-# endif
- if (size_avail < size_needed) continue;
-# ifdef PRESERVE_LAST
- if (size_avail != size_needed
- && !GC_incremental
- && GC_in_last_heap_sect(hbp) && GC_should_collect()) {
- continue;
- }
-# endif
- /* If the next heap block is obviously better, go on. */
- /* This prevents us from disassembling a single large block */
- /* to get tiny blocks. */
- {
- signed_word next_size;
-
- thishbp = hhdr -> hb_next;
- if (thishbp == 0) thishbp = GC_hblkfreelist;
- thishdr = HDR(thishbp);
- next_size = (signed_word)(thishdr -> hb_sz);
- if (next_size < size_avail
- && next_size >= size_needed
- && !GC_is_black_listed(thishbp, (word)size_needed)) {
- continue;
- }
- }
- if ( !IS_UNCOLLECTABLE(kind) &&
- (kind != PTRFREE || size_needed > MAX_BLACK_LIST_ALLOC)) {
- struct hblk * lasthbp = hbp;
- ptr_t search_end = (ptr_t)hbp + size_avail - size_needed;
- signed_word orig_avail = size_avail;
- signed_word eff_size_needed = ((flags & IGNORE_OFF_PAGE)?
- HBLKSIZE
- : size_needed);
-
-
- while ((ptr_t)lasthbp <= search_end
- && (thishbp = GC_is_black_listed(lasthbp,
- (word)eff_size_needed))) {
- lasthbp = thishbp;
- }
- size_avail -= (ptr_t)lasthbp - (ptr_t)hbp;
- thishbp = lasthbp;
- if (size_avail >= size_needed) {
- if (thishbp != hbp && GC_install_header(thishbp)) {
- /* Split the block at thishbp */
- thishdr = HDR(thishbp);
- /* GC_invalidate_map not needed, since we will */
- /* allocate this block. */
- thishdr -> hb_next = hhdr -> hb_next;
- thishdr -> hb_sz = size_avail;
- hhdr -> hb_sz = (ptr_t)thishbp - (ptr_t)hbp;
- hhdr -> hb_next = thishbp;
- /* Advance to thishbp */
- prevhbp = hbp;
- phdr = hhdr;
- hbp = thishbp;
- hhdr = thishdr;
- }
- } else if (size_needed > (signed_word)BL_LIMIT
- && orig_avail - size_needed
- > (signed_word)BL_LIMIT) {
- /* Punt, since anything else risks unreasonable heap growth. */
- WARN("Needed to allocate blacklisted block at 0x%lx\n",
- (word)hbp);
- thishbp = hbp;
- size_avail = orig_avail;
- } else if (size_avail == 0
- && size_needed == HBLKSIZE
- && prevhbp != 0) {
-# ifndef FIND_LEAK
- static unsigned count = 0;
-
- /* The block is completely blacklisted. We need */
- /* to drop some such blocks, since otherwise we spend */
- /* all our time traversing them if pointerfree */
- /* blocks are unpopular. */
- /* A dropped block will be reconsidered at next GC. */
- if ((++count & 3) == 0) {
- /* Allocate and drop the block in small chunks, to */
- /* maximize the chance that we will recover some */
- /* later. */
- struct hblk * limit = hbp + (hhdr->hb_sz/HBLKSIZE);
- struct hblk * h;
-
- GC_words_wasted += hhdr->hb_sz;
- phdr -> hb_next = hhdr -> hb_next;
- for (h = hbp; h < limit; h++) {
- if (h == hbp || GC_install_header(h)) {
- hhdr = HDR(h);
- (void) setup_header(
- hhdr,
- BYTES_TO_WORDS(HBLKSIZE - HDR_BYTES),
- PTRFREE, 0); /* Cant fail */
- if (GC_debugging_started) {
- BZERO(hbp + HDR_BYTES, HBLKSIZE - HDR_BYTES);
- }
- }
- }
- /* Restore hbp to point at free block */
- if (GC_savhbp == hbp) GC_savhbp = prevhbp;
- hbp = prevhbp;
- hhdr = phdr;
- if (hbp == GC_savhbp) --trip_count;
- }
-# endif
- }
- }
- if( size_avail >= size_needed ) {
- /* found a big enough block */
- /* let thishbp --> the block */
- /* set prevhbp, hbp to bracket it */
- thishbp = hbp;
- thishdr = hhdr;
- if( size_avail == size_needed ) {
- hbp = hhdr->hb_next;
- hhdr = HDR(hbp);
- } else {
- hbp = (struct hblk *)
- (((word)thishbp) + size_needed);
- if (!GC_install_header(hbp)) {
- hbp = thishbp;
- continue;
- }
- hhdr = HDR(hbp);
- GC_invalidate_map(hhdr);
- hhdr->hb_next = thishdr->hb_next;
- hhdr->hb_sz = size_avail - size_needed;
- }
- /* remove *thishbp from hblk freelist */
- if( prevhbp == 0 ) {
- GC_hblkfreelist = hbp;
- } else {
- phdr->hb_next = hbp;
- }
- /* save current list search position */
- GC_savhbp = hbp;
- break;
- }
- }
-
- /* Notify virtual dirty bit implementation that we are about to write. */
- GC_write_hint(thishbp);
-
- /* Add it to map of valid blocks */
- if (!GC_install_counts(thishbp, (word)size_needed)) return(0);
- /* This leaks memory under very rare conditions. */
-
- /* Set up header */
- if (!setup_header(thishdr, sz, kind, flags)) {
- GC_remove_counts(thishbp, (word)size_needed);
- return(0); /* ditto */
- }
-
- /* Clear block if necessary */
- if (GC_debugging_started
- || sz > MAXOBJSZ && GC_obj_kinds[kind].ok_init) {
- BZERO(thishbp + HDR_BYTES, size_needed - HDR_BYTES);
- }
-
- /* We just successfully allocated a block. Restart count of */
- /* consecutive failures. */
- {
- extern unsigned GC_fail_count;
-
- GC_fail_count = 0;
- }
-
- return( thishbp );
-}
-
-struct hblk * GC_freehblk_ptr = 0; /* Search position hint for GC_freehblk */
-
-/*
- * Free a heap block.
- *
- * Coalesce the block with its neighbors if possible.
- *
- * All mark words are assumed to be cleared.
- */
-void
-GC_freehblk(p)
-register struct hblk *p;
-{
-register hdr *phdr; /* Header corresponding to p */
-register struct hblk *hbp, *prevhbp;
-register hdr *hhdr, *prevhdr;
-register signed_word size;
-
- /* GC_savhbp may become invalid due to coalescing. Clear it. */
- GC_savhbp = (struct hblk *)0;
-
- phdr = HDR(p);
- size = phdr->hb_sz;
- size = HBLKSIZE * OBJ_SZ_TO_BLOCKS(size);
- GC_remove_counts(p, (word)size);
- phdr->hb_sz = size;
- GC_invalidate_map(phdr);
- prevhbp = 0;
-
- /* The following optimization was suggested by David Detlefs. */
- /* Note that the header cannot be NIL, since there cannot be an */
- /* intervening call to GC_freehblk without resetting */
- /* GC_freehblk_ptr. */
- if (GC_freehblk_ptr != 0 &&
- HDR(GC_freehblk_ptr)->hb_map == GC_invalid_map &&
- (ptr_t)GC_freehblk_ptr < (ptr_t)p) {
- hbp = GC_freehblk_ptr;
- } else {
- hbp = GC_hblkfreelist;
- };
- hhdr = HDR(hbp);
-
- while( (hbp != 0) && (hbp < p) ) {
- prevhbp = hbp;
- prevhdr = hhdr;
- hbp = hhdr->hb_next;
- hhdr = HDR(hbp);
- }
- GC_freehblk_ptr = prevhbp;
-
- /* Check for duplicate deallocation in the easy case */
- if (hbp != 0 && (ptr_t)p + size > (ptr_t)hbp
- || prevhbp != 0 && (ptr_t)prevhbp + prevhdr->hb_sz > (ptr_t)p) {
- GC_printf1("Duplicate large block deallocation of 0x%lx\n",
- (unsigned long) p);
- GC_printf2("Surrounding free blocks are 0x%lx and 0x%lx\n",
- (unsigned long) prevhbp, (unsigned long) hbp);
- }
-
- /* Coalesce with successor, if possible */
- if( (((word)p)+size) == ((word)hbp) ) {
- phdr->hb_next = hhdr->hb_next;
- phdr->hb_sz += hhdr->hb_sz;
- GC_remove_header(hbp);
- } else {
- phdr->hb_next = hbp;
- }
-
-
- if( prevhbp == 0 ) {
- GC_hblkfreelist = p;
- } else if( (((word)prevhbp) + prevhdr->hb_sz)
- == ((word)p) ) {
- /* Coalesce with predecessor */
- prevhdr->hb_next = phdr->hb_next;
- prevhdr->hb_sz += phdr->hb_sz;
- GC_remove_header(p);
- } else {
- prevhdr->hb_next = p;
- }
-}
-
diff --git a/boehm-gc/alloc.c b/boehm-gc/alloc.c
deleted file mode 100644
index c9d145e0369..00000000000
--- a/boehm-gc/alloc.c
+++ /dev/null
@@ -1,853 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-/* Boehm, February 16, 1996 2:26 pm PST */
-
-
-# include "gc_priv.h"
-
-# include <stdio.h>
-# ifndef MACOS
-# include <signal.h>
-# include <sys/types.h>
-# endif
-
-/*
- * Separate free lists are maintained for different sized objects
- * up to MAXOBJSZ.
- * The call GC_allocobj(i,k) ensures that the freelist for
- * kind k objects of size i points to a non-empty
- * free list. It returns a pointer to the first entry on the free list.
- * In a single-threaded world, GC_allocobj may be called to allocate
- * an object of (small) size i as follows:
- *
- * opp = &(GC_objfreelist[i]);
- * if (*opp == 0) GC_allocobj(i, NORMAL);
- * ptr = *opp;
- * *opp = obj_link(ptr);
- *
- * Note that this is very fast if the free list is non-empty; it should
- * only involve the execution of 4 or 5 simple instructions.
- * All composite objects on freelists are cleared, except for
- * their first word.
- */
-
-/*
- * The allocator uses GC_allochblk to allocate large chunks of objects.
- * These chunks all start on addresses which are multiples of
- * HBLKSZ. Each allocated chunk has an associated header,
- * which can be located quickly based on the address of the chunk.
- * (See headers.c for details.)
- * This makes it possible to check quickly whether an
- * arbitrary address corresponds to an object administered by the
- * allocator.
- */
-
-word GC_non_gc_bytes = 0; /* Number of bytes not intended to be collected */
-
-word GC_gc_no = 0;
-
-int GC_incremental = 0; /* By default, stop the world. */
-
-int GC_full_freq = 4; /* Every 5th collection is a full */
- /* collection. */
-
-char * GC_copyright[] =
-{"Copyright 1988,1989 Hans-J. Boehm and Alan J. Demers ",
-"Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved. ",
-"Copyright (c) 1996-1997 by Silicon Graphics. All rights reserved. ",
-"THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY",
-" EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.",
-"See source code for details." };
-
-# include "version.h"
-
-/* some more variables */
-
-extern signed_word GC_mem_found; /* Number of reclaimed longwords */
- /* after garbage collection */
-
-GC_bool GC_dont_expand = 0;
-
-word GC_free_space_divisor = 4;
-
-extern GC_bool GC_collection_in_progress();
-
-int GC_never_stop_func GC_PROTO((void)) { return(0); }
-
-CLOCK_TYPE GC_start_time;
-
-int GC_timeout_stop_func GC_PROTO((void))
-{
- CLOCK_TYPE current_time;
- static unsigned count = 0;
- unsigned long time_diff;
-
- if ((count++ & 3) != 0) return(0);
-#ifndef NO_CLOCK
- GET_TIME(current_time);
- time_diff = MS_TIME_DIFF(current_time,GC_start_time);
- if (time_diff >= TIME_LIMIT) {
-# ifdef PRINTSTATS
- GC_printf0("Abandoning stopped marking after ");
- GC_printf1("%lu msecs\n", (unsigned long)time_diff);
-# endif
- return(1);
- }
-#endif
- return(0);
-}
-
-/* Return the minimum number of words that must be allocated between */
-/* collections to amortize the collection cost. */
-static word min_words_allocd()
-{
-# ifdef THREADS
- /* We punt, for now. */
- register signed_word stack_size = 10000;
-# else
- int dummy;
- register signed_word stack_size = (ptr_t)(&dummy) - GC_stackbottom;
-# endif
- register word total_root_size; /* includes double stack size, */
- /* since the stack is expensive */
- /* to scan. */
-
- if (stack_size < 0) stack_size = -stack_size;
- total_root_size = 2 * stack_size + GC_root_size;
- if (GC_incremental) {
- return(BYTES_TO_WORDS(GC_heapsize + total_root_size)
- / (2 * GC_free_space_divisor));
- } else {
- return(BYTES_TO_WORDS(GC_heapsize + total_root_size)
- / GC_free_space_divisor);
- }
-}
-
-/* Return the number of words allocated, adjusted for explicit storage */
-/* management, etc.. This number is used in deciding when to trigger */
-/* collections. */
-word GC_adj_words_allocd()
-{
- register signed_word result;
- register signed_word expl_managed =
- BYTES_TO_WORDS((long)GC_non_gc_bytes
- - (long)GC_non_gc_bytes_at_gc);
-
- /* Don't count what was explicitly freed, or newly allocated for */
- /* explicit management. Note that deallocating an explicitly */
- /* managed object should not alter result, assuming the client */
- /* is playing by the rules. */
- result = (signed_word)GC_words_allocd
- - (signed_word)GC_mem_freed - expl_managed;
- if (result > (signed_word)GC_words_allocd) {
- result = GC_words_allocd;
- /* probably client bug or unfortunate scheduling */
- }
- result += GC_words_finalized;
- /* We count objects enqueued for finalization as though they */
- /* had been reallocated this round. Finalization is user */
- /* visible progress. And if we don't count this, we have */
- /* stability problems for programs that finalize all objects. */
- result += GC_words_wasted;
- /* This doesn't reflect useful work. But if there is lots of */
- /* new fragmentation, the same is probably true of the heap, */
- /* and the collection will be correspondingly cheaper. */
- if (result < (signed_word)(GC_words_allocd >> 3)) {
- /* Always count at least 1/8 of the allocations. We don't want */
- /* to collect too infrequently, since that would inhibit */
- /* coalescing of free storage blocks. */
- /* This also makes us partially robust against client bugs. */
- return(GC_words_allocd >> 3);
- } else {
- return(result);
- }
-}
-
-
-/* Clear up a few frames worth of garbage left at the top of the stack. */
-/* This is used to prevent us from accidentally treating garbade left */
-/* on the stack by other parts of the collector as roots. This */
-/* differs from the code in misc.c, which actually tries to keep the */
-/* stack clear of long-lived, client-generated garbage. */
-void GC_clear_a_few_frames()
-{
-# define NWORDS 64
- word frames[NWORDS];
- register int i;
-
- for (i = 0; i < NWORDS; i++) frames[i] = 0;
-}
-
-/* Have we allocated enough to amortize a collection? */
-GC_bool GC_should_collect()
-{
- return(GC_adj_words_allocd() >= min_words_allocd());
-}
-
-void GC_notify_full_gc()
-{
- if (GC_start_call_back != (void (*)())0) {
- (*GC_start_call_back)();
- }
-}
-
-/*
- * Initiate a garbage collection if appropriate.
- * Choose judiciously
- * between partial, full, and stop-world collections.
- * Assumes lock held, signals disabled.
- */
-void GC_maybe_gc()
-{
- static int n_partial_gcs = 0;
- if (GC_should_collect()) {
- if (!GC_incremental) {
- GC_notify_full_gc();
- GC_gcollect_inner();
- n_partial_gcs = 0;
- return;
- } else if (n_partial_gcs >= GC_full_freq) {
-# ifdef PRINTSTATS
- GC_printf2(
- "***>Full mark for collection %lu after %ld allocd bytes\n",
- (unsigned long) GC_gc_no+1,
- (long)WORDS_TO_BYTES(GC_words_allocd));
-# endif
- GC_promote_black_lists();
- (void)GC_reclaim_all((GC_stop_func)0, TRUE);
- GC_clear_marks();
- n_partial_gcs = 0;
- GC_notify_full_gc();
- } else {
- n_partial_gcs++;
- }
- /* We try to mark with the world stopped. */
- /* If we run out of time, this turns into */
- /* incremental marking. */
-#ifndef NO_CLOCK
- GET_TIME(GC_start_time);
-#endif
- if (GC_stopped_mark(GC_timeout_stop_func)) {
-# ifdef SAVE_CALL_CHAIN
- GC_save_callers(GC_last_stack);
-# endif
- GC_finish_collection();
- }
- }
-}
-
-
-/*
- * Stop the world garbage collection. Assumes lock held, signals disabled.
- * If stop_func is not GC_never_stop_func, then abort if stop_func returns TRUE.
- */
-GC_bool GC_try_to_collect_inner(stop_func)
-GC_stop_func stop_func;
-{
- if (GC_collection_in_progress()) {
-# ifdef PRINTSTATS
- GC_printf0(
- "GC_try_to_collect_inner: finishing collection in progress\n");
-# endif /* PRINTSTATS */
- /* Just finish collection already in progress. */
- while(GC_collection_in_progress()) {
- if (stop_func()) return(FALSE);
- GC_collect_a_little_inner(1);
- }
- }
-# ifdef PRINTSTATS
- GC_printf2(
- "Initiating full world-stop collection %lu after %ld allocd bytes\n",
- (unsigned long) GC_gc_no+1,
- (long)WORDS_TO_BYTES(GC_words_allocd));
-# endif
- GC_promote_black_lists();
- /* Make sure all blocks have been reclaimed, so sweep routines */
- /* don't see cleared mark bits. */
- /* If we're guaranteed to finish, then this is unnecessary. */
- if (stop_func != GC_never_stop_func
- && !GC_reclaim_all(stop_func, FALSE)) {
- /* Aborted. So far everything is still consistent. */
- return(FALSE);
- }
- GC_invalidate_mark_state(); /* Flush mark stack. */
- GC_clear_marks();
-# ifdef SAVE_CALL_CHAIN
- GC_save_callers(GC_last_stack);
-# endif
- if (!GC_stopped_mark(stop_func)) {
- if (!GC_incremental) {
- /* We're partially done and have no way to complete or use */
- /* current work. Reestablish invariants as cheaply as */
- /* possible. */
- GC_invalidate_mark_state();
- GC_unpromote_black_lists();
- } /* else we claim the world is already still consistent. We'll */
- /* finish incrementally. */
- return(FALSE);
- }
- GC_finish_collection();
- return(TRUE);
-}
-
-
-
-/*
- * Perform n units of garbage collection work. A unit is intended to touch
- * roughly a GC_RATE pages. Every once in a while, we do more than that.
- */
-# define GC_RATE 8
-
-int GC_deficit = 0; /* The number of extra calls to GC_mark_some */
- /* that we have made. */
- /* Negative values are equivalent to 0. */
-
-void GC_collect_a_little_inner(n)
-int n;
-{
- register int i;
-
- if (GC_collection_in_progress()) {
- for (i = GC_deficit; i < GC_RATE*n; i++) {
- if (GC_mark_some()) {
- /* Need to finish a collection */
-# ifdef SAVE_CALL_CHAIN
- GC_save_callers(GC_last_stack);
-# endif
- (void) GC_stopped_mark(GC_never_stop_func);
- GC_finish_collection();
- break;
- }
- }
- if (GC_deficit > 0) GC_deficit -= GC_RATE*n;
- } else {
- GC_maybe_gc();
- }
-}
-
-int GC_collect_a_little GC_PROTO(())
-{
- int result;
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- GC_collect_a_little_inner(1);
- result = (int)GC_collection_in_progress();
- UNLOCK();
- ENABLE_SIGNALS();
- return(result);
-}
-
-/*
- * Assumes lock is held, signals are disabled.
- * We stop the world.
- * If final is TRUE, then we finish the collection, no matter how long
- * it takes.
- * Otherwise we may fail and return FALSE if this takes too long.
- * Increment GC_gc_no if we succeed.
- */
-GC_bool GC_stopped_mark(stop_func)
-GC_stop_func stop_func;
-{
- register int i;
-# ifdef PRINTSTATS
- CLOCK_TYPE start_time, current_time;
-# endif
-
- STOP_WORLD();
-# ifdef PRINTSTATS
- GET_TIME(start_time);
- GC_printf1("--> Marking for collection %lu ",
- (unsigned long) GC_gc_no + 1);
- GC_printf2("after %lu allocd bytes + %lu wasted bytes\n",
- (unsigned long) WORDS_TO_BYTES(GC_words_allocd),
- (unsigned long) WORDS_TO_BYTES(GC_words_wasted));
-# endif
-
- /* Mark from all roots. */
- /* Minimize junk left in my registers and on the stack */
- GC_clear_a_few_frames();
- GC_noop(0,0,0,0,0,0);
- GC_initiate_gc();
- for(i = 0;;i++) {
- if ((*stop_func)()) {
-# ifdef PRINTSTATS
- GC_printf0("Abandoned stopped marking after ");
- GC_printf1("%lu iterations\n",
- (unsigned long)i);
-# endif
- GC_deficit = i; /* Give the mutator a chance. */
- START_WORLD();
- return(FALSE);
- }
- if (GC_mark_some()) break;
- }
-
- GC_gc_no++;
-# ifdef PRINTSTATS
- GC_printf2("Collection %lu reclaimed %ld bytes",
- (unsigned long) GC_gc_no - 1,
- (long)WORDS_TO_BYTES(GC_mem_found));
- GC_printf1(" ---> heapsize = %lu bytes\n",
- (unsigned long) GC_heapsize);
- /* Printf arguments may be pushed in funny places. Clear the */
- /* space. */
- GC_printf0("");
-# endif
-
- /* Check all debugged objects for consistency */
- if (GC_debugging_started) {
- (*GC_check_heap)();
- }
-
-# ifdef PRINTTIMES
- GET_TIME(current_time);
- GC_printf1("World-stopped marking took %lu msecs\n",
- MS_TIME_DIFF(current_time,start_time));
-# endif
- START_WORLD();
- return(TRUE);
-}
-
-
-/* Finish up a collection. Assumes lock is held, signals are disabled, */
-/* but the world is otherwise running. */
-void GC_finish_collection()
-{
-# ifdef PRINTTIMES
- CLOCK_TYPE start_time;
- CLOCK_TYPE finalize_time;
- CLOCK_TYPE done_time;
-
- GET_TIME(start_time);
- finalize_time = start_time;
-# endif
-
-# ifdef GATHERSTATS
- GC_mem_found = 0;
-# endif
-# ifdef FIND_LEAK
- /* Mark all objects on the free list. All objects should be */
- /* marked when we're done. */
- {
- register word size; /* current object size */
- register ptr_t p; /* pointer to current object */
- register struct hblk * h; /* pointer to block containing *p */
- register hdr * hhdr;
- register int word_no; /* "index" of *p in *q */
- int kind;
-
- for (kind = 0; kind < GC_n_kinds; kind++) {
- for (size = 1; size <= MAXOBJSZ; size++) {
- for (p= GC_obj_kinds[kind].ok_freelist[size];
- p != 0; p=obj_link(p)){
- h = HBLKPTR(p);
- hhdr = HDR(h);
- word_no = (((word *)p) - ((word *)h));
- set_mark_bit_from_hdr(hhdr, word_no);
- }
- }
- }
- }
- /* Check that everything is marked */
- GC_start_reclaim(TRUE);
-# else
-
- GC_finalize();
-# ifdef STUBBORN_ALLOC
- GC_clean_changing_list();
-# endif
-
-# ifdef PRINTTIMES
- GET_TIME(finalize_time);
-# endif
-
- /* Clear free list mark bits, in case they got accidentally marked */
- /* Note: HBLKPTR(p) == pointer to head of block containing *p */
- /* Also subtract memory remaining from GC_mem_found count. */
- /* Note that composite objects on free list are cleared. */
- /* Thus accidentally marking a free list is not a problem; only */
- /* objects on the list itself will be marked, and that's fixed here. */
- {
- register word size; /* current object size */
- register ptr_t p; /* pointer to current object */
- register struct hblk * h; /* pointer to block containing *p */
- register hdr * hhdr;
- register int word_no; /* "index" of *p in *q */
- int kind;
-
- for (kind = 0; kind < GC_n_kinds; kind++) {
- for (size = 1; size <= MAXOBJSZ; size++) {
- for (p= GC_obj_kinds[kind].ok_freelist[size];
- p != 0; p=obj_link(p)){
- h = HBLKPTR(p);
- hhdr = HDR(h);
- word_no = (((word *)p) - ((word *)h));
- clear_mark_bit_from_hdr(hhdr, word_no);
-# ifdef GATHERSTATS
- GC_mem_found -= size;
-# endif
- }
- }
- }
- }
-
-
-# ifdef PRINTSTATS
- GC_printf1("Bytes recovered before sweep - f.l. count = %ld\n",
- (long)WORDS_TO_BYTES(GC_mem_found));
-# endif
-
- /* Reconstruct free lists to contain everything not marked */
- GC_start_reclaim(FALSE);
-
-# endif /* !FIND_LEAK */
-
-# ifdef PRINTSTATS
- GC_printf2(
- "Immediately reclaimed %ld bytes in heap of size %lu bytes\n",
- (long)WORDS_TO_BYTES(GC_mem_found),
- (unsigned long)GC_heapsize);
- GC_printf2("%lu (atomic) + %lu (composite) collectable bytes in use\n",
- (unsigned long)WORDS_TO_BYTES(GC_atomic_in_use),
- (unsigned long)WORDS_TO_BYTES(GC_composite_in_use));
-# endif
-
- /* Reset or increment counters for next cycle */
- GC_words_allocd_before_gc += GC_words_allocd;
- GC_non_gc_bytes_at_gc = GC_non_gc_bytes;
- GC_words_allocd = 0;
- GC_words_wasted = 0;
- GC_mem_freed = 0;
-
-# ifdef PRINTTIMES
- GET_TIME(done_time);
- GC_printf2("Finalize + initiate sweep took %lu + %lu msecs\n",
- MS_TIME_DIFF(finalize_time,start_time),
- MS_TIME_DIFF(done_time,finalize_time));
-# endif
-}
-
-/* Externally callable routine to invoke full, stop-world collection */
-# if defined(__STDC__) || defined(__cplusplus)
- int GC_try_to_collect(GC_stop_func stop_func)
-# else
- int GC_try_to_collect(stop_func)
- GC_stop_func stop_func;
-# endif
-{
- int result;
- DCL_LOCK_STATE;
-
- GC_INVOKE_FINALIZERS();
- DISABLE_SIGNALS();
- LOCK();
- ENTER_GC();
- if (!GC_is_initialized) GC_init_inner();
- /* Minimize junk left in my registers */
- GC_noop(0,0,0,0,0,0);
- result = (int)GC_try_to_collect_inner(stop_func);
- EXIT_GC();
- UNLOCK();
- ENABLE_SIGNALS();
- if(result) GC_INVOKE_FINALIZERS();
- return(result);
-}
-
-void GC_gcollect GC_PROTO(())
-{
- GC_notify_full_gc();
- (void)GC_try_to_collect(GC_never_stop_func);
-}
-
-word GC_n_heap_sects = 0; /* Number of sections currently in heap. */
-
-/*
- * Use the chunk of memory starting at p of syze bytes as part of the heap.
- * Assumes p is HBLKSIZE aligned, and bytes is a multiple of HBLKSIZE.
- */
-void GC_add_to_heap(p, bytes)
-struct hblk *p;
-word bytes;
-{
- word words;
-
- if (GC_n_heap_sects >= MAX_HEAP_SECTS) {
- ABORT("Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS");
- }
- if (!GC_install_header(p)) {
- /* This is extremely unlikely. Can't add it. This will */
- /* almost certainly result in a 0 return from the allocator, */
- /* which is entirely appropriate. */
- return;
- }
- GC_heap_sects[GC_n_heap_sects].hs_start = (ptr_t)p;
- GC_heap_sects[GC_n_heap_sects].hs_bytes = bytes;
- GC_n_heap_sects++;
- words = BYTES_TO_WORDS(bytes - HDR_BYTES);
- HDR(p) -> hb_sz = words;
- GC_freehblk(p);
- GC_heapsize += bytes;
- if ((ptr_t)p <= GC_least_plausible_heap_addr
- || GC_least_plausible_heap_addr == 0) {
- GC_least_plausible_heap_addr = (ptr_t)p - sizeof(word);
- /* Making it a little smaller than necessary prevents */
- /* us from getting a false hit from the variable */
- /* itself. There's some unintentional reflection */
- /* here. */
- }
- if ((ptr_t)p + bytes >= GC_greatest_plausible_heap_addr) {
- GC_greatest_plausible_heap_addr = (ptr_t)p + bytes;
- }
-}
-
-#ifdef PRESERVE_LAST
-GC_bool GC_in_last_heap_sect(p)
-ptr_t p;
-{
- struct HeapSect * last_heap_sect = &(GC_heap_sects[GC_n_heap_sects-1]);
- ptr_t start = last_heap_sect -> hs_start;
- ptr_t end;
-
- if (p < start) return FALSE;
- end = start + last_heap_sect -> hs_bytes;
- if (p >= end) return FALSE;
- return TRUE;
-}
-#endif
-
-# if !defined(NO_DEBUGGING)
-void GC_print_heap_sects()
-{
- register unsigned i;
-
- GC_printf1("Total heap size: %lu\n", (unsigned long) GC_heapsize);
- for (i = 0; i < GC_n_heap_sects; i++) {
- unsigned long start = (unsigned long) GC_heap_sects[i].hs_start;
- unsigned long len = (unsigned long) GC_heap_sects[i].hs_bytes;
- struct hblk *h;
- unsigned nbl = 0;
-
- GC_printf3("Section %ld from 0x%lx to 0x%lx ", (unsigned long)i,
- start, (unsigned long)(start + len));
- for (h = (struct hblk *)start; h < (struct hblk *)(start + len); h++) {
- if (GC_is_black_listed(h, HBLKSIZE)) nbl++;
- }
- GC_printf2("%lu/%lu blacklisted\n", (unsigned long)nbl,
- (unsigned long)(len/HBLKSIZE));
- }
-}
-# endif
-
-ptr_t GC_least_plausible_heap_addr = (ptr_t)ONES;
-ptr_t GC_greatest_plausible_heap_addr = 0;
-
-ptr_t GC_max(x,y)
-ptr_t x, y;
-{
- return(x > y? x : y);
-}
-
-ptr_t GC_min(x,y)
-ptr_t x, y;
-{
- return(x < y? x : y);
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- void GC_set_max_heap_size(GC_word n)
-# else
- void GC_set_max_heap_size(n)
- GC_word n;
-# endif
-{
- GC_max_heapsize = n;
-}
-
-GC_word GC_max_retries = 0;
-
-/*
- * this explicitly increases the size of the heap. It is used
- * internally, but may also be invoked from GC_expand_hp by the user.
- * The argument is in units of HBLKSIZE.
- * Tiny values of n are rounded up.
- * Returns FALSE on failure.
- */
-GC_bool GC_expand_hp_inner(n)
-word n;
-{
- word bytes;
- struct hblk * space;
- word expansion_slop; /* Number of bytes by which we expect the */
- /* heap to expand soon. */
-
- if (n < MINHINCR) n = MINHINCR;
- bytes = n * HBLKSIZE;
- /* Make sure bytes is a multiple of GC_page_size */
- {
- word mask = GC_page_size - 1;
- bytes += mask;
- bytes &= ~mask;
- }
-
- if (GC_max_heapsize != 0 && GC_heapsize + bytes > GC_max_heapsize) {
- /* Exceeded self-imposed limit */
- return(FALSE);
- }
- space = GET_MEM(bytes);
- if( space == 0 ) {
- return(FALSE);
- }
-# ifdef PRINTSTATS
- GC_printf2("Increasing heap size by %lu after %lu allocated bytes\n",
- (unsigned long)bytes,
- (unsigned long)WORDS_TO_BYTES(GC_words_allocd));
-# ifdef UNDEFINED
- GC_printf1("Root size = %lu\n", GC_root_size);
- GC_print_block_list(); GC_print_hblkfreelist();
- GC_printf0("\n");
-# endif
-# endif
- expansion_slop = 8 * WORDS_TO_BYTES(min_words_allocd());
- if (5 * HBLKSIZE * MAXHINCR > expansion_slop) {
- expansion_slop = 5 * HBLKSIZE * MAXHINCR;
- }
- if (GC_last_heap_addr == 0 && !((word)space & SIGNB)
- || GC_last_heap_addr != 0 && GC_last_heap_addr < (ptr_t)space) {
- /* Assume the heap is growing up */
- GC_greatest_plausible_heap_addr =
- GC_max(GC_greatest_plausible_heap_addr,
- (ptr_t)space + bytes + expansion_slop);
- } else {
- /* Heap is growing down */
- GC_least_plausible_heap_addr =
- GC_min(GC_least_plausible_heap_addr,
- (ptr_t)space - expansion_slop);
- }
- GC_prev_heap_addr = GC_last_heap_addr;
- GC_last_heap_addr = (ptr_t)space;
- GC_add_to_heap(space, bytes);
- return(TRUE);
-}
-
-/* Really returns a bool, but it's externally visible, so that's clumsy. */
-/* Arguments is in bytes. */
-# if defined(__STDC__) || defined(__cplusplus)
- int GC_expand_hp(size_t bytes)
-# else
- int GC_expand_hp(bytes)
- size_t bytes;
-# endif
-{
- int result;
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- if (!GC_is_initialized) GC_init_inner();
- result = (int)GC_expand_hp_inner(divHBLKSZ((word)bytes));
- UNLOCK();
- ENABLE_SIGNALS();
- return(result);
-}
-
-unsigned GC_fail_count = 0;
- /* How many consecutive GC/expansion failures? */
- /* Reset by GC_allochblk. */
-
-GC_bool GC_collect_or_expand(needed_blocks, ignore_off_page)
-word needed_blocks;
-GC_bool ignore_off_page;
-{
-
- if (!GC_incremental && !GC_dont_gc && GC_should_collect()) {
- GC_notify_full_gc();
- GC_gcollect_inner();
- } else {
- word blocks_to_get = GC_heapsize/(HBLKSIZE*GC_free_space_divisor)
- + needed_blocks;
-
- if (blocks_to_get > MAXHINCR) {
- word slop;
-
- if (ignore_off_page) {
- slop = 4;
- } else {
- slop = 2*divHBLKSZ(BL_LIMIT);
- if (slop > needed_blocks) slop = needed_blocks;
- }
- if (needed_blocks + slop > MAXHINCR) {
- blocks_to_get = needed_blocks + slop;
- } else {
- blocks_to_get = MAXHINCR;
- }
- }
- if (!GC_expand_hp_inner(blocks_to_get)
- && !GC_expand_hp_inner(needed_blocks)) {
- if (GC_fail_count++ < GC_max_retries) {
- WARN("Out of Memory! Trying to continue ...\n", 0);
- GC_notify_full_gc();
- GC_gcollect_inner();
- } else {
- WARN("Out of Memory! Returning NIL!\n", 0);
- return(FALSE);
- }
- } else if (GC_fail_count) {
-# ifdef PRINTSTATS
- GC_printf0("Memory available again ...\n");
-# endif
- }
- }
- return(TRUE);
-}
-
-/*
- * Make sure the object free list for sz is not empty.
- * Return a pointer to the first object on the free list.
- * The object MUST BE REMOVED FROM THE FREE LIST BY THE CALLER.
- * Assumes we hold the allocator lock and signals are disabled.
- *
- */
-ptr_t GC_allocobj(sz, kind)
-word sz;
-int kind;
-{
- register ptr_t * flh = &(GC_obj_kinds[kind].ok_freelist[sz]);
-
- if (sz == 0) return(0);
-
- while (*flh == 0) {
- ENTER_GC();
- /* Do our share of marking work */
- if(GC_incremental && !GC_dont_gc) GC_collect_a_little_inner(1);
- /* Sweep blocks for objects of this size */
- GC_continue_reclaim(sz, kind);
- EXIT_GC();
- if (*flh == 0) {
- GC_new_hblk(sz, kind);
- }
- if (*flh == 0) {
- ENTER_GC();
- if (!GC_collect_or_expand((word)1,FALSE)) {
- EXIT_GC();
- return(0);
- }
- EXIT_GC();
- }
- }
-
- return(*flh);
-}
diff --git a/boehm-gc/alpha_mach_dep.s b/boehm-gc/alpha_mach_dep.s
deleted file mode 100644
index eed3998914a..00000000000
--- a/boehm-gc/alpha_mach_dep.s
+++ /dev/null
@@ -1,59 +0,0 @@
-
-# define call_push(x) \
- lda $16, 0(x); /* copy x to first argument register */ \
- jsr $26, GC_push_one; /* call GC_push_one, ret addr in $26 */ \
- ldgp $gp, 0($26) /* restore $gp register from $ra */
-
- .text
- .align 4
- .globl GC_push_regs
- .ent GC_push_regs 2
-GC_push_regs:
- ldgp $gp, 0($27) # set gp from the procedure value reg
- lda $sp, -32($sp) # make stack frame
- stq $26, 8($sp) # save return address
- .mask 0x04000000, -8
- .frame $sp, 16, $26, 0
-
- # call_push($0) # expression eval and int func result
-
- # call_push($1) # temp regs - not preserved cross calls
- # call_push($2)
- # call_push($3)
- # call_push($4)
- # call_push($5)
- # call_push($6)
- # call_push($7)
- # call_push($8)
-
- call_push($9) # Saved regs
- call_push($10)
- call_push($11)
- call_push($12)
- call_push($13)
- call_push($14)
-
- call_push($15) # frame ptr or saved reg
-
- # call_push($16) # argument regs - not preserved cross calls
- # call_push($17)
- # call_push($18)
- # call_push($19)
- # call_push($20)
- # call_push($21)
-
- # call_push($22) # temp regs - not preserved cross calls
- # call_push($23)
- # call_push($24)
- # call_push($25)
-
- # call_push($26) # return address - expression eval
- # call_push($27) # procedure value or temporary reg
- # call_push($28) # assembler temp - not presrved
- call_push($29) # Global Pointer
- # call_push($30) # Stack Pointer
-
- ldq $26, 8($sp) # restore return address
- lda $sp, 32($sp) # pop stack frame
- ret $31, ($26), 1 # return ($31 == hardwired zero)
- .end GC_push_regs
diff --git a/boehm-gc/barrett_diagram b/boehm-gc/barrett_diagram
deleted file mode 100644
index 27e80dc15cd..00000000000
--- a/boehm-gc/barrett_diagram
+++ /dev/null
@@ -1,106 +0,0 @@
-This is an ASCII diagram of the data structure used to check pointer
-validity. It was provided by Dave Barrett <barrett@asgard.cs.colorado.edu>,
-and should be of use to others attempting to understand the code.
-The data structure in GC4.X is essentially the same. -HB
-
-
-
-
- Data Structure used by GC_base in gc3.7:
- 21-Apr-94
-
-
-
-
- 63 LOG_TOP_SZ[11] LOG_BOTTOM_SZ[10] LOG_HBLKSIZE[13]
- +------------------+----------------+------------------+------------------+
- p:| | TL_HASH(hi) | | HBLKDISPL(p) |
- +------------------+----------------+------------------+------------------+
- \-----------------------HBLKPTR(p)-------------------/
- \------------hi-------------------/
- \______ ________/ \________ _______/ \________ _______/
- V V V
- | | |
- GC_top_index[] | | |
- --- +--------------+ | | |
- ^ | | | | |
- | | | | | |
- TOP +--------------+<--+ | |
- _SZ +-<| [] | * | |
-(items)| +--------------+ if 0 < bi< HBLKSIZE | |
- | | | | then large object | |
- | | | | starts at the bi'th | |
- v | | | HBLK before p. | i |
- --- | +--------------+ | (word- |
- v | aligned) |
- bi= |GET_BI(p){->hash_link}->key==hi | |
- v | |
- | (bottom_index) \ scratch_alloc'd | |
- | ( struct bi ) / by get_index() | |
- --- +->+--------------+ | |
- ^ | | | |
- ^ | | | |
- BOTTOM | | ha=GET_HDR_ADDR(p) | |
-_SZ(items)+--------------+<----------------------+ +-------+
- | +--<| index[] | |
- | | +--------------+ GC_obj_map: v
- | | | | from / +-+-+-----+-+-+-+-+ ---
- v | | | GC_add < 0| | | | | | | | ^
- --- | +--------------+ _map_entry \ +-+-+-----+-+-+-+-+ |
- | | asc_link | +-+-+-----+-+-+-+-+ MAXOBJSZ
- | +--------------+ +-->| | | j | | | | | +1
- | | key | | +-+-+-----+-+-+-+-+ |
- | +--------------+ | +-+-+-----+-+-+-+-+ |
- | | hash_link | | | | | | | | | | v
- | +--------------+ | +-+-+-----+-+-+-+-+ ---
- | | |<--MAX_OFFSET--->|
- | | (bytes)
-HDR(p)| GC_find_header(p) | |<--MAP_ENTRIES-->|
- | \ from | =HBLKSIZE/WORDSZ
- | (hdr) (struct hblkhdr) / alloc_hdr() | (1024 on Alpha)
- +-->+----------------------+ | (8/16 bits each)
-GET_HDR(p)| word hb_sz (words) | |
- +----------------------+ |
- | struct hblk *hb_next | |
- +----------------------+ |
- |mark_proc hb_mark_proc| |
- +----------------------+ |
- | char * hb_map |>-------------+
- +----------------------+
- | ushort hb_obj_kind |
- +----------------------+
- | hb_last_reclaimed |
- --- +----------------------+
- ^ | |
- MARK_BITS| hb_marks[] | *if hdr is free, hb_sz + DISCARD_WORDS
-_SZ(words)| | is the size of a heap chunk (struct hblk)
- v | | of at least MININCR*HBLKSIZE bytes (below),
- --- +----------------------+ otherwise, size of each object in chunk.
-
-Dynamic data structures above are interleaved throughout the heap in blocks of
-size MININCR * HBLKSIZE bytes as done by gc_scratch_alloc which cannot be
-freed; free lists are used (e.g. alloc_hdr). HBLKs's below are collected.
-
- (struct hblk)
- --- +----------------------+ < HBLKSIZE --- --- DISCARD_
- ^ |garbage[DISCARD_WORDS]| aligned ^ ^ HDR_BYTES WORDS
- | | | | v (bytes) (words)
- | +-----hb_body----------+ < WORDSZ | --- ---
- | | | aligned | ^ ^
- | | Object 0 | | hb_sz |
- | | | i |(word- (words)|
- | | | (bytes)|aligned) v |
- | + - - - - - - - - - - -+ --- | --- |
- | | | ^ | ^ |
- n * | | j (words) | hb_sz BODY_SZ
- HBLKSIZE | Object 1 | v v | (words)
- (bytes) | |--------------- v MAX_OFFSET
- | + - - - - - - - - - - -+ --- (bytes)
- | | | !All_INTERIOR_PTRS ^ |
- | | | sets j only for hb_sz |
- | | Object N | valid object offsets. | |
- v | | All objects WORDSZ v v
- --- +----------------------+ aligned. --- ---
-
-DISCARD_WORDS is normally zero. Indeed the collector has not been tested
-with another value in ages.
diff --git a/boehm-gc/blacklst.c b/boehm-gc/blacklst.c
deleted file mode 100644
index 44455e5ba47..00000000000
--- a/boehm-gc/blacklst.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, August 9, 1995 6:09 pm PDT */
-# include "gc_priv.h"
-
-/*
- * We maintain several hash tables of hblks that have had false hits.
- * Each contains one bit per hash bucket; If any page in the bucket
- * has had a false hit, we assume that all of them have.
- * See the definition of page_hash_table in gc_private.h.
- * False hits from the stack(s) are much more dangerous than false hits
- * from elsewhere, since the former can pin a large object that spans the
- * block, eventhough it does not start on the dangerous block.
- */
-
-/*
- * Externally callable routines are:
-
- * GC_add_to_black_list_normal
- * GC_add_to_black_list_stack
- * GC_promote_black_lists
- * GC_is_black_listed
- *
- * All require that the allocator lock is held.
- */
-
-/* Pointers to individual tables. We replace one table by another by */
-/* switching these pointers. */
-word * GC_old_normal_bl;
- /* Nonstack false references seen at last full */
- /* collection. */
-word * GC_incomplete_normal_bl;
- /* Nonstack false references seen since last */
- /* full collection. */
-word * GC_old_stack_bl;
-word * GC_incomplete_stack_bl;
-
-word GC_total_stack_black_listed;
-
-word GC_black_list_spacing = MINHINCR*HBLKSIZE; /* Initial rough guess */
-
-void GC_clear_bl();
-
-void GC_default_print_heap_obj_proc(p)
-ptr_t p;
-{
- ptr_t base = GC_base(p);
-
- GC_err_printf2("start: 0x%lx, appr. length: %ld", base, GC_size(base));
-}
-
-void (*GC_print_heap_obj)(/* char * s, ptr_t p */) =
- GC_default_print_heap_obj_proc;
-
-void GC_print_source_ptr(ptr_t p)
-{
- ptr_t base = GC_base(p);
- if (0 == base) {
- GC_err_printf0("in root set");
- } else {
- GC_err_printf0("in object at ");
- (*GC_print_heap_obj)(base);
- }
-}
-
-void GC_bl_init()
-{
-# ifndef ALL_INTERIOR_POINTERS
- GC_old_normal_bl = (word *)
- GC_scratch_alloc((word)(sizeof (page_hash_table)));
- GC_incomplete_normal_bl = (word *)GC_scratch_alloc
- ((word)(sizeof(page_hash_table)));
- if (GC_old_normal_bl == 0 || GC_incomplete_normal_bl == 0) {
- GC_err_printf0("Insufficient memory for black list\n");
- EXIT();
- }
- GC_clear_bl(GC_old_normal_bl);
- GC_clear_bl(GC_incomplete_normal_bl);
-# endif
- GC_old_stack_bl = (word *)GC_scratch_alloc((word)(sizeof(page_hash_table)));
- GC_incomplete_stack_bl = (word *)GC_scratch_alloc
- ((word)(sizeof(page_hash_table)));
- if (GC_old_stack_bl == 0 || GC_incomplete_stack_bl == 0) {
- GC_err_printf0("Insufficient memory for black list\n");
- EXIT();
- }
- GC_clear_bl(GC_old_stack_bl);
- GC_clear_bl(GC_incomplete_stack_bl);
-}
-
-void GC_clear_bl(doomed)
-word *doomed;
-{
- BZERO(doomed, sizeof(page_hash_table));
-}
-
-void GC_copy_bl(old, new)
-word *new, *old;
-{
- BCOPY(old, new, sizeof(page_hash_table));
-}
-
-static word total_stack_black_listed();
-
-/* Signal the completion of a collection. Turn the incomplete black */
-/* lists into new black lists, etc. */
-void GC_promote_black_lists()
-{
- word * very_old_normal_bl = GC_old_normal_bl;
- word * very_old_stack_bl = GC_old_stack_bl;
-
- GC_old_normal_bl = GC_incomplete_normal_bl;
- GC_old_stack_bl = GC_incomplete_stack_bl;
-# ifndef ALL_INTERIOR_POINTERS
- GC_clear_bl(very_old_normal_bl);
-# endif
- GC_clear_bl(very_old_stack_bl);
- GC_incomplete_normal_bl = very_old_normal_bl;
- GC_incomplete_stack_bl = very_old_stack_bl;
- GC_total_stack_black_listed = total_stack_black_listed();
-# ifdef PRINTSTATS
- GC_printf1("%ld bytes in heap blacklisted for interior pointers\n",
- (unsigned long)GC_total_stack_black_listed);
-# endif
- if (GC_total_stack_black_listed != 0) {
- GC_black_list_spacing =
- HBLKSIZE*(GC_heapsize/GC_total_stack_black_listed);
- }
- if (GC_black_list_spacing < 3 * HBLKSIZE) {
- GC_black_list_spacing = 3 * HBLKSIZE;
- }
-}
-
-void GC_unpromote_black_lists()
-{
-# ifndef ALL_INTERIOR_POINTERS
- GC_copy_bl(GC_old_normal_bl, GC_incomplete_normal_bl);
-# endif
- GC_copy_bl(GC_old_stack_bl, GC_incomplete_stack_bl);
-}
-
-# ifndef ALL_INTERIOR_POINTERS
-/* P is not a valid pointer reference, but it falls inside */
-/* the plausible heap bounds. */
-/* Add it to the normal incomplete black list if appropriate. */
-#ifdef PRINT_BLACK_LIST
- void GC_add_to_black_list_normal(p, source)
- ptr_t source;
-#else
- void GC_add_to_black_list_normal(p)
-#endif
-word p;
-{
- if (!(GC_modws_valid_offsets[p & (sizeof(word)-1)])) return;
- {
- register int index = PHT_HASH(p);
-
- if (HDR(p) == 0 || get_pht_entry_from_index(GC_old_normal_bl, index)) {
-# ifdef PRINT_BLACK_LIST
- if (!get_pht_entry_from_index(GC_incomplete_normal_bl, index)) {
- GC_err_printf2(
- "Black listing (normal) 0x%lx referenced from 0x%lx ",
- (unsigned long) p, (unsigned long) source);
- GC_print_source_ptr(source);
- GC_err_puts("\n");
- }
-# endif
- set_pht_entry_from_index(GC_incomplete_normal_bl, index);
- } /* else this is probably just an interior pointer to an allocated */
- /* object, and isn't worth black listing. */
- }
-}
-# endif
-
-/* And the same for false pointers from the stack. */
-#ifdef PRINT_BLACK_LIST
- void GC_add_to_black_list_stack(p, source)
- ptr_t source;
-#else
- void GC_add_to_black_list_stack(p)
-#endif
-word p;
-{
- register int index = PHT_HASH(p);
-
- if (HDR(p) == 0 || get_pht_entry_from_index(GC_old_stack_bl, index)) {
-# ifdef PRINT_BLACK_LIST
- if (!get_pht_entry_from_index(GC_incomplete_stack_bl, index)) {
- GC_err_printf2(
- "Black listing (stack) 0x%lx referenced from 0x%lx ",
- (unsigned long)p, (unsigned long)source);
- GC_print_source_ptr(source);
- GC_err_puts("\n");
- }
-# endif
- set_pht_entry_from_index(GC_incomplete_stack_bl, index);
- }
-}
-
-/*
- * Is the block starting at h of size len bytes black listed? If so,
- * return the address of the next plausible r such that (r, len) might not
- * be black listed. (R may not actually be in the heap. We guarantee only
- * that every smaller value of r after h is also black listed.)
- * If (h,len) is not black listed, return 0.
- * Knows about the structure of the black list hash tables.
- */
-struct hblk * GC_is_black_listed(h, len)
-struct hblk * h;
-word len;
-{
- register int index = PHT_HASH((word)h);
- register word i;
- word nblocks = divHBLKSZ(len);
-
-# ifndef ALL_INTERIOR_POINTERS
- if (get_pht_entry_from_index(GC_old_normal_bl, index)
- || get_pht_entry_from_index(GC_incomplete_normal_bl, index)) {
- return(h+1);
- }
-# endif
-
- for (i = 0; ; ) {
- if (GC_old_stack_bl[divWORDSZ(index)] == 0
- && GC_incomplete_stack_bl[divWORDSZ(index)] == 0) {
- /* An easy case */
- i += WORDSZ - modWORDSZ(index);
- } else {
- if (get_pht_entry_from_index(GC_old_stack_bl, index)
- || get_pht_entry_from_index(GC_incomplete_stack_bl, index)) {
- return(h+i+1);
- }
- i++;
- }
- if (i >= nblocks) break;
- index = PHT_HASH((word)(h+i));
- }
- return(0);
-}
-
-
-/* Return the number of blacklisted blocks in a given range. */
-/* Used only for statistical purposes. */
-/* Looks only at the GC_incomplete_stack_bl. */
-word GC_number_stack_black_listed(start, endp1)
-struct hblk *start, *endp1;
-{
- register struct hblk * h;
- word result = 0;
-
- for (h = start; h < endp1; h++) {
- register int index = PHT_HASH((word)h);
-
- if (get_pht_entry_from_index(GC_old_stack_bl, index)) result++;
- }
- return(result);
-}
-
-
-/* Return the total number of (stack) black-listed bytes. */
-static word total_stack_black_listed()
-{
- register unsigned i;
- word total = 0;
-
- for (i = 0; i < GC_n_heap_sects; i++) {
- struct hblk * start = (struct hblk *) GC_heap_sects[i].hs_start;
- word len = (word) GC_heap_sects[i].hs_bytes;
- struct hblk * endp1 = start + len/HBLKSIZE;
-
- total += GC_number_stack_black_listed(start, endp1);
- }
- return(total * HBLKSIZE);
-}
-
diff --git a/boehm-gc/callprocs b/boehm-gc/callprocs
deleted file mode 100755
index a8793f0b728..00000000000
--- a/boehm-gc/callprocs
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-GC_DEBUG=1
-export GC_DEBUG
-$* 2>&1 | awk '{print "0x3e=c\""$0"\""};/^\t##PC##=/ {if ($2 != 0) {print $2"?i"}}' | adb $1 | sed "s/^ >/>/"
diff --git a/boehm-gc/checksums.c b/boehm-gc/checksums.c
deleted file mode 100644
index 212655f4cd4..00000000000
--- a/boehm-gc/checksums.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 1992-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, March 29, 1995 12:51 pm PST */
-# ifdef CHECKSUMS
-
-# include "gc_priv.h"
-
-/* This is debugging code intended to verify the results of dirty bit */
-/* computations. Works only in a single threaded environment. */
-/* We assume that stubborn objects are changed only when they are */
-/* enabled for writing. (Certain kinds of writing are actually */
-/* safe under other conditions.) */
-# define NSUMS 2000
-
-# define OFFSET 0x10000
-
-typedef struct {
- GC_bool new_valid;
- word old_sum;
- word new_sum;
- struct hblk * block; /* Block to which this refers + OFFSET */
- /* to hide it from colector. */
-} page_entry;
-
-page_entry GC_sums [NSUMS];
-
-word GC_checksum(h)
-struct hblk *h;
-{
- register word *p = (word *)h;
- register word *lim = (word *)(h+1);
- register word result = 0;
-
- while (p < lim) {
- result += *p++;
- }
- return(result | 0x80000000 /* doesn't look like pointer */);
-}
-
-# ifdef STUBBORN_ALLOC
-/* Check whether a stubborn object from the given block appears on */
-/* the appropriate free list. */
-GC_bool GC_on_free_list(h)
-struct hblk *h;
-{
- register hdr * hhdr = HDR(h);
- register int sz = hhdr -> hb_sz;
- ptr_t p;
-
- if (sz > MAXOBJSZ) return(FALSE);
- for (p = GC_sobjfreelist[sz]; p != 0; p = obj_link(p)) {
- if (HBLKPTR(p) == h) return(TRUE);
- }
- return(FALSE);
-}
-# endif
-
-int GC_n_dirty_errors;
-int GC_n_changed_errors;
-int GC_n_clean;
-int GC_n_dirty;
-
-void GC_update_check_page(h, index)
-struct hblk *h;
-int index;
-{
- page_entry *pe = GC_sums + index;
- register hdr * hhdr = HDR(h);
-
- if (pe -> block != 0 && pe -> block != h + OFFSET) ABORT("goofed");
- pe -> old_sum = pe -> new_sum;
- pe -> new_sum = GC_checksum(h);
-# ifndef MSWIN32
- if (pe -> new_sum != 0 && !GC_page_was_ever_dirty(h)) {
- GC_printf1("GC_page_was_ever_dirty(0x%lx) is wrong\n",
- (unsigned long)h);
- }
-# endif
- if (GC_page_was_dirty(h)) {
- GC_n_dirty++;
- } else {
- GC_n_clean++;
- }
- if (pe -> new_valid && pe -> old_sum != pe -> new_sum) {
- if (!GC_page_was_dirty(h) || !GC_page_was_ever_dirty(h)) {
- /* Set breakpoint here */GC_n_dirty_errors++;
- }
-# ifdef STUBBORN_ALLOC
- if (!IS_FORWARDING_ADDR_OR_NIL(hhdr)
- && hhdr -> hb_map != GC_invalid_map
- && hhdr -> hb_obj_kind == STUBBORN
- && !GC_page_was_changed(h)
- && !GC_on_free_list(h)) {
- /* if GC_on_free_list(h) then reclaim may have touched it */
- /* without any allocations taking place. */
- /* Set breakpoint here */GC_n_changed_errors++;
- }
-# endif
- }
- pe -> new_valid = TRUE;
- pe -> block = h + OFFSET;
-}
-
-word GC_bytes_in_used_blocks;
-
-void GC_add_block(h, dummy)
-struct hblk *h;
-word dummy;
-{
- register hdr * hhdr = HDR(h);
- register bytes = WORDS_TO_BYTES(hhdr -> hb_sz);
-
- bytes += HDR_BYTES + HBLKSIZE-1;
- bytes &= ~(HBLKSIZE-1);
- GC_bytes_in_used_blocks += bytes;
-}
-
-void GC_check_blocks()
-{
- word bytes_in_free_blocks = 0;
- struct hblk * h = GC_hblkfreelist;
- hdr * hhdr = HDR(h);
- word sz;
-
- GC_bytes_in_used_blocks = 0;
- GC_apply_to_all_blocks(GC_add_block, (word)0);
- while (h != 0) {
- sz = hhdr -> hb_sz;
- bytes_in_free_blocks += sz;
- h = hhdr -> hb_next;
- hhdr = HDR(h);
- }
- GC_printf2("GC_bytes_in_used_blocks = %ld, bytes_in_free_blocks = %ld ",
- GC_bytes_in_used_blocks, bytes_in_free_blocks);
- GC_printf1("GC_heapsize = %ld\n", GC_heapsize);
- if (GC_bytes_in_used_blocks + bytes_in_free_blocks != GC_heapsize) {
- GC_printf0("LOST SOME BLOCKS!!\n");
- }
-}
-
-/* Should be called immediately after GC_read_dirty and GC_read_changed. */
-void GC_check_dirty()
-{
- register int index;
- register unsigned i;
- register struct hblk *h;
- register ptr_t start;
-
- GC_check_blocks();
-
- GC_n_dirty_errors = 0;
- GC_n_changed_errors = 0;
- GC_n_clean = 0;
- GC_n_dirty = 0;
-
- index = 0;
- for (i = 0; i < GC_n_heap_sects; i++) {
- start = GC_heap_sects[i].hs_start;
- for (h = (struct hblk *)start;
- h < (struct hblk *)(start + GC_heap_sects[i].hs_bytes);
- h++) {
- GC_update_check_page(h, index);
- index++;
- if (index >= NSUMS) goto out;
- }
- }
-out:
- GC_printf2("Checked %lu clean and %lu dirty pages\n",
- (unsigned long) GC_n_clean, (unsigned long) GC_n_dirty);
- if (GC_n_dirty_errors > 0) {
- GC_printf1("Found %lu dirty bit errors\n",
- (unsigned long)GC_n_dirty_errors);
- }
- if (GC_n_changed_errors > 0) {
- GC_printf1("Found %lu changed bit errors\n",
- (unsigned long)GC_n_changed_errors);
- GC_printf0("These may be benign (provoked by nonpointer changes)\n");
-# ifdef THREADS
- GC_printf0(
- "Also expect 1 per thread currently allocating a stubborn obj.\n");
-# endif
- }
-}
-
-# else
-
-extern int GC_quiet;
- /* ANSI C doesn't allow translation units to be empty. */
- /* So we guarantee this one is nonempty. */
-
-# endif /* CHECKSUMS */
diff --git a/boehm-gc/config.h b/boehm-gc/config.h
deleted file mode 100644
index 6aaf5032c78..00000000000
--- a/boehm-gc/config.h
+++ /dev/null
@@ -1,985 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-#ifndef CONFIG_H
-
-# define CONFIG_H
-
-/* Machine dependent parameters. Some tuning parameters can be found */
-/* near the top of gc_private.h. */
-
-/* Machine specific parts contributed by various people. See README file. */
-
-/* Determine the machine type: */
-# if defined(sun) && defined(mc68000)
-# define M68K
-# define SUNOS4
-# define mach_type_known
-# endif
-# if defined(hp9000s300)
-# define M68K
-# define HP
-# define mach_type_known
-# endif
-# if defined(__NetBSD__) && defined(m68k)
-# define M68K
-# define NETBSD
-# define mach_type_known
-# endif
-# if defined(vax)
-# define VAX
-# ifdef ultrix
-# define ULTRIX
-# else
-# define BSD
-# endif
-# define mach_type_known
-# endif
-# if defined(mips) || defined(__mips)
-# define MIPS
-# if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
-# define ULTRIX
-# else
-# if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) || defined(__SYSTYPE_SVR4__)
-# define IRIX5 /* or IRIX 6.X */
-# else
-# define RISCOS /* or IRIX 4.X */
-# endif
-# endif
-# define mach_type_known
-# endif
-# if defined(sequent) && defined(i386)
-# define I386
-# define SEQUENT
-# define mach_type_known
-# endif
-# if defined(sun) && defined(i386)
-# define I386
-# define SUNOS5
-# define mach_type_known
-# endif
-# if (defined(__OS2__) || defined(__EMX__)) && defined(__32BIT__)
-# define I386
-# define OS2
-# define mach_type_known
-# endif
-# if defined(ibm032)
-# define RT
-# define mach_type_known
-# endif
-# if defined(sun) && (defined(sparc) || defined(__sparc))
-# define SPARC
- /* Test for SunOS 5.x */
-# include <errno.h>
-# ifdef ECHRNG
-# define SUNOS5
-# else
-# define SUNOS4
-# endif
-# define mach_type_known
-# endif
-# if defined(sparc) && defined(unix) && !defined(sun)
-# define SPARC
-# define DRSNX
-# define mach_type_known
-# endif
-# if defined(_IBMR2)
-# define RS6000
-# define mach_type_known
-# endif
-# if defined(_M_XENIX) && defined(_M_SYSV) && defined(_M_I386)
- /* The above test may need refinement */
-# define I386
-# if defined(_SCO_ELF)
-# define SCO_ELF
-# else
-# define SCO
-# endif
-# define mach_type_known
-# endif
-# if defined(_AUX_SOURCE)
-# define M68K
-# define SYSV
-# define mach_type_known
-# endif
-# if defined(_PA_RISC1_0) || defined(_PA_RISC1_1)
-# define HP_PA
-# define mach_type_known
-# endif
-# if defined(linux) && defined(i386)
-# define I386
-# define LINUX
-# define mach_type_known
-# endif
-# if defined(linux) && defined(powerpc)
-# define POWERPC
-# define LINUX
-# define mach_type_known
-# endif
-# if defined(__alpha) || defined(__alpha__)
-# define ALPHA
-# if defined(linux) || defined(__linux__)
-# define LINUX
-# else
-# define OSF1 /* a.k.a Digital Unix */
-# endif
-# define mach_type_known
-# endif
-# if defined(_AMIGA)
-# define M68K
-# define AMIGA
-# define mach_type_known
-# endif
-# if defined(THINK_C) || defined(__MWERKS__) && !defined(__powerc)
-# define M68K
-# define MACOS
-# define mach_type_known
-# endif
-# if defined(__MWERKS__) && defined(__powerc)
-# define POWERPC
-# define MACOS
-# define mach_type_known
-# endif
-# if defined(NeXT) && defined(mc68000)
-# define M68K
-# define NEXT
-# define mach_type_known
-# endif
-# if defined(NeXT) && defined(i386)
-# define I386
-# define NEXT
-# define mach_type_known
-# endif
-# if defined(__FreeBSD__) && defined(i386)
-# define I386
-# define FREEBSD
-# define mach_type_known
-# endif
-# if defined(__NetBSD__) && defined(i386)
-# define I386
-# define NETBSD
-# define mach_type_known
-# endif
-# if defined(bsdi) && defined(i386)
-# define I386
-# define BSDI
-# define mach_type_known
-# endif
-# if !defined(mach_type_known) && defined(__386BSD__)
-# define I386
-# define THREE86BSD
-# define mach_type_known
-# endif
-# if defined(_CX_UX) && defined(_M88K)
-# define M88K
-# define CX_UX
-# define mach_type_known
-# endif
-# if defined(DGUX)
-# define M88K
- /* DGUX defined */
-# define mach_type_known
-# endif
-# if (defined(_MSDOS) || defined(_MSC_VER)) && (_M_IX86 >= 300)
-# define I386
-# define MSWIN32 /* or Win32s */
-# define mach_type_known
-# endif
-# if defined(__DJGPP__)
-# define I386
-# ifndef DJGPP
-# define DJGPP /* MSDOS running the DJGPP port of GCC */
-# endif
-# define mach_type_known
-# endif
-# if defined(__CYGWIN32__)
-# define I386
-# define CYGWIN32
-# define mach_type_known
-# endif
-# if defined(__BORLANDC__)
-# define I386
-# define MSWIN32
-# define mach_type_known
-# endif
-# if defined(_UTS) && !defined(mach_type_known)
-# define S370
-# define UTS4
-# define mach_type_known
-# endif
-/* Ivan Demakov */
-# if defined(__WATCOMC__) && defined(__386__)
-# define I386
-# if !defined(OS2) && !defined(MSWIN32) && !defined(DOS4GW)
-# if defined(__OS2__)
-# define OS2
-# else
-# if defined(__WINDOWS_386__) || defined(__NT__)
-# define MSWIN32
-# else
-# define DOS4GW
-# endif
-# endif
-# endif
-# define mach_type_known
-# endif
-
-/* Feel free to add more clauses here */
-
-/* Or manually define the machine type here. A machine type is */
-/* characterized by the architecture. Some */
-/* machine types are further subdivided by OS. */
-/* the macros ULTRIX, RISCOS, and BSD to distinguish. */
-/* Note that SGI IRIX is treated identically to RISCOS. */
-/* SYSV on an M68K actually means A/UX. */
-/* The distinction in these cases is usually the stack starting address */
-# ifndef mach_type_known
- --> unknown machine type
-# endif
- /* Mapping is: M68K ==> Motorola 680X0 */
- /* (SUNOS4,HP,NEXT, and SYSV (A/UX), */
- /* MACOS and AMIGA variants) */
- /* I386 ==> Intel 386 */
- /* (SEQUENT, OS2, SCO, LINUX, NETBSD, */
- /* FREEBSD, THREE86BSD, MSWIN32, */
- /* BSDI, SUNOS5, NEXT variants) */
- /* NS32K ==> Encore Multimax */
- /* MIPS ==> R2000 or R3000 */
- /* (RISCOS, ULTRIX variants) */
- /* VAX ==> DEC VAX */
- /* (BSD, ULTRIX variants) */
- /* RS6000 ==> IBM RS/6000 AIX3.X */
- /* RT ==> IBM PC/RT */
- /* HP_PA ==> HP9000/700 & /800 */
- /* HP/UX */
- /* SPARC ==> SPARC under SunOS */
- /* (SUNOS4, SUNOS5, */
- /* DRSNX variants) */
- /* ALPHA ==> DEC Alpha */
- /* (OSF1 and LINUX variants) */
- /* M88K ==> Motorola 88XX0 */
- /* (CX_UX and DGUX) */
- /* S370 ==> 370-like machine */
- /* running Amdahl UTS4 */
-
-
-/*
- * For each architecture and OS, the following need to be defined:
- *
- * CPP_WORD_SZ is a simple integer constant representing the word size.
- * in bits. We assume byte addressibility, where a byte has 8 bits.
- * We also assume CPP_WORD_SZ is either 32 or 64.
- * (We care about the length of pointers, not hardware
- * bus widths. Thus a 64 bit processor with a C compiler that uses
- * 32 bit pointers should use CPP_WORD_SZ of 32, not 64. Default is 32.)
- *
- * MACH_TYPE is a string representation of the machine type.
- * OS_TYPE is analogous for the OS.
- *
- * ALIGNMENT is the largest N, such that
- * all pointer are guaranteed to be aligned on N byte boundaries.
- * defining it to be 1 will always work, but perform poorly.
- *
- * DATASTART is the beginning of the data segment.
- * On UNIX systems, the collector will scan the area between DATASTART
- * and DATAEND for root pointers.
- *
- * DATAEND, if not &end.
- *
- * ALIGN_DOUBLE of GC_malloc should return blocks aligned to twice
- * the pointer size.
- *
- * STACKBOTTOM is the cool end of the stack, which is usually the
- * highest address in the stack.
- * Under PCR or OS/2, we have other ways of finding thread stacks.
- * For each machine, the following should:
- * 1) define STACK_GROWS_UP if the stack grows toward higher addresses, and
- * 2) define exactly one of
- * STACKBOTTOM (should be defined to be an expression)
- * HEURISTIC1
- * HEURISTIC2
- * If either of the last two macros are defined, then STACKBOTTOM is computed
- * during collector startup using one of the following two heuristics:
- * HEURISTIC1: Take an address inside GC_init's frame, and round it up to
- * the next multiple of STACK_GRAN.
- * HEURISTIC2: Take an address inside GC_init's frame, increment it repeatedly
- * in small steps (decrement if STACK_GROWS_UP), and read the value
- * at each location. Remember the value when the first
- * Segmentation violation or Bus error is signalled. Round that
- * to the nearest plausible page boundary, and use that instead
- * of STACKBOTTOM.
- *
- * If no expression for STACKBOTTOM can be found, and neither of the above
- * heuristics are usable, the collector can still be used with all of the above
- * undefined, provided one of the following is done:
- * 1) GC_mark_roots can be changed to somehow mark from the correct stack(s)
- * without reference to STACKBOTTOM. This is appropriate for use in
- * conjunction with thread packages, since there will be multiple stacks.
- * (Allocating thread stacks in the heap, and treating them as ordinary
- * heap data objects is also possible as a last resort. However, this is
- * likely to introduce significant amounts of excess storage retention
- * unless the dead parts of the thread stacks are periodically cleared.)
- * 2) Client code may set GC_stackbottom before calling any GC_ routines.
- * If the author of the client code controls the main program, this is
- * easily accomplished by introducing a new main program, setting
- * GC_stackbottom to the address of a local variable, and then calling
- * the original main program. The new main program would read something
- * like:
- *
- * # include "gc_private.h"
- *
- * main(argc, argv, envp)
- * int argc;
- * char **argv, **envp;
- * {
- * int dummy;
- *
- * GC_stackbottom = (ptr_t)(&dummy);
- * return(real_main(argc, argv, envp));
- * }
- *
- *
- * Each architecture may also define the style of virtual dirty bit
- * implementation to be used:
- * MPROTECT_VDB: Write protect the heap and catch faults.
- * PROC_VDB: Use the SVR4 /proc primitives to read dirty bits.
- *
- * An architecture may define DYNAMIC_LOADING if dynamic_load.c
- * defined GC_register_dynamic_libraries() for the architecture.
- */
-
-
-# define STACK_GRAN 0x1000000
-# ifdef M68K
-# define MACH_TYPE "M68K"
-# define ALIGNMENT 2
-# ifdef NETBSD
-# define OS_TYPE "NETBSD"
-# define HEURISTIC2
- extern char etext;
-# define DATASTART ((ptr_t)(&etext))
-# endif
-# ifdef SUNOS4
-# define OS_TYPE "SUNOS4"
- extern char etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x1ffff) & ~0x1ffff))
-# define HEURISTIC1 /* differs */
-# define DYNAMIC_LOADING
-# endif
-# ifdef HP
-# define OS_TYPE "HP"
- extern char etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0xfff) & ~0xfff))
-# define STACKBOTTOM ((ptr_t) 0xffeffffc)
- /* empirically determined. seems to work. */
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGE_SIZE)
-# endif
-# ifdef SYSV
-# define OS_TYPE "SYSV"
- extern etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x3fffff) \
- & ~0x3fffff) \
- +((word)&etext & 0x1fff))
- /* This only works for shared-text binaries with magic number 0413.
- The other sorts of SysV binaries put the data at the end of the text,
- in which case the default of &etext would work. Unfortunately,
- handling both would require having the magic-number available.
- -- Parag
- */
-# define STACKBOTTOM ((ptr_t)0xFFFFFFFE)
- /* The stack starts at the top of memory, but */
- /* 0x0 cannot be used as setjump_test complains */
- /* that the stack direction is incorrect. Two */
- /* bytes down from 0x0 should be safe enough. */
- /* --Parag */
-# include <sys/mmu.h>
-# define GETPAGESIZE() PAGESIZE /* Is this still right? */
-# endif
-# ifdef AMIGA
-# define OS_TYPE "AMIGA"
- /* STACKBOTTOM and DATASTART handled specially */
- /* in os_dep.c */
-# define DATAEND /* not needed */
-# define GETPAGESIZE() 4096
-# endif
-# ifdef MACOS
-# ifndef __LOWMEM__
-# include <LowMem.h>
-# endif
-# define OS_TYPE "MACOS"
- /* see os_dep.c for details of global data segments. */
-# define STACKBOTTOM ((ptr_t) LMGetCurStackBase())
-# define DATAEND /* not needed */
-# define GETPAGESIZE() 4096
-# endif
-# ifdef NEXT
-# define OS_TYPE "NEXT"
-# define DATASTART ((ptr_t) get_etext())
-# define STACKBOTTOM ((ptr_t) 0x4000000)
-# define DATAEND /* not needed */
-# endif
-# endif
-
-# ifdef POWERPC
-# define MACH_TYPE "POWERPC"
-# define ALIGNMENT 2
-# ifdef MACOS
-# ifndef __LOWMEM__
-# include <LowMem.h>
-# endif
-# define OS_TYPE "MACOS"
- /* see os_dep.c for details of global data segments. */
-# define STACKBOTTOM ((ptr_t) LMGetCurStackBase())
-# define DATAEND /* not needed */
-# endif
-# ifdef LINUX
-# define OS_TYPE "LINUX"
-# define STACKBOTTOM ((ptr_t)0x80000000)
-# define DATASTART GC_data_start
- extern int _end;
-# define DATAEND (&_end)
-# endif
-# endif
-
-# ifdef VAX
-# define MACH_TYPE "VAX"
-# define ALIGNMENT 4 /* Pointers are longword aligned by 4.2 C compiler */
- extern char etext;
-# define DATASTART ((ptr_t)(&etext))
-# ifdef BSD
-# define OS_TYPE "BSD"
-# define HEURISTIC1
- /* HEURISTIC2 may be OK, but it's hard to test. */
-# endif
-# ifdef ULTRIX
-# define OS_TYPE "ULTRIX"
-# define STACKBOTTOM ((ptr_t) 0x7fffc800)
-# endif
-# endif
-
-# ifdef RT
-# define MACH_TYPE "RT"
-# define ALIGNMENT 4
-# define DATASTART ((ptr_t) 0x10000000)
-# define STACKBOTTOM ((ptr_t) 0x1fffd800)
-# endif
-
-# ifdef SPARC
-# define MACH_TYPE "SPARC"
-# define ALIGNMENT 4 /* Required by hardware */
-# define ALIGN_DOUBLE
- extern int etext;
-# ifdef SUNOS5
-# define OS_TYPE "SUNOS5"
- extern int _etext;
- extern int _end;
- extern char * GC_SysVGetDataStart();
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &_etext)
-# define DATAEND (&_end)
-# ifndef USE_MMAP
-# define USE_MMAP
-# endif
-# ifdef USE_MMAP
-# define HEAP_START (ptr_t)0x40000000
-# else
-# define HEAP_START DATAEND
-# endif
-# define PROC_VDB
-# define HEURISTIC1
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGESIZE)
- /* getpagesize() appeared to be missing from at least one */
- /* Solaris 5.4 installation. Weird. */
-# endif
-# ifdef SUNOS4
-# define OS_TYPE "SUNOS4"
- /* [If you have a weak stomach, don't read this.] */
- /* We would like to use: */
-/* # define DATASTART ((ptr_t)((((word) (&etext)) + 0x1fff) & ~0x1fff)) */
- /* This fails occasionally, due to an ancient, but very */
- /* persistent ld bug. &etext is set 32 bytes too high. */
- /* We instead read the text segment size from the a.out */
- /* header, which happens to be mapped into our address space */
- /* at the start of the text segment. The detective work here */
- /* was done by Robert Ehrlich, Manuel Serrano, and Bernard */
- /* Serpette of INRIA. */
- /* This assumes ZMAGIC, i.e. demand-loadable executables. */
-# define TEXTSTART 0x2000
-# define DATASTART ((ptr_t)(*(int *)(TEXTSTART+0x4)+TEXTSTART))
-# define MPROTECT_VDB
-# define HEURISTIC1
-# endif
-# ifdef DRSNX
-# define CPP_WORDSZ 32
-# define OS_TYPE "DRSNX"
- extern char * GC_SysVGetDataStart();
- extern int etext;
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &etext)
-# define MPROTECT_VDB
-# define STACKBOTTOM ((ptr_t) 0xdfff0000)
-# endif
-# define DYNAMIC_LOADING
-# endif
-
-# ifdef I386
-# define MACH_TYPE "I386"
-# define ALIGNMENT 4 /* Appears to hold for all "32 bit" compilers */
- /* except Borland. The -a4 option fixes */
- /* Borland. */
- /* Ivan Demakov: For Watcom the option is -zp4. */
-# ifndef SMALL_CONFIG
-# define ALIGN_DOUBLE /* Not strictly necessary, but may give speed */
- /* improvement on Pentiums. */
-# endif
-# ifdef SEQUENT
-# define OS_TYPE "SEQUENT"
- extern int etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0xfff) & ~0xfff))
-# define STACKBOTTOM ((ptr_t) 0x3ffff000)
-# endif
-# ifdef SUNOS5
-# define OS_TYPE "SUNOS5"
- extern int etext, _start;
- extern char * GC_SysVGetDataStart();
-# define DATASTART GC_SysVGetDataStart(0x1000, &etext)
-# define STACKBOTTOM ((ptr_t)(&_start))
-/** At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */
-/*# define PROC_VDB*/
-# define DYNAMIC_LOADING
-# ifndef USE_MMAP
-# define USE_MMAP
-# endif
-# ifdef USE_MMAP
-# define HEAP_START (ptr_t)0x40000000
-# else
-# define HEAP_START DATAEND
-# endif
-# endif
-# ifdef SCO
-# define OS_TYPE "SCO"
- extern int etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x3fffff) \
- & ~0x3fffff) \
- +((word)&etext & 0xfff))
-# define STACKBOTTOM ((ptr_t) 0x7ffffffc)
-# endif
-# ifdef SCO_ELF
-# define OS_TYPE "SCO_ELF"
- extern int etext;
-# define DATASTART ((ptr_t)(&etext))
-# define STACKBOTTOM ((ptr_t) 0x08048000)
-# define DYNAMIC_LOADING
-# define ELF_CLASS ELFCLASS32
-# endif
-# ifdef LINUX
-# define OS_TYPE "LINUX"
-# define STACKBOTTOM ((ptr_t)0xc0000000)
- /* Appears to be 0xe0000000 for at least one 2.1.91 kernel. */
- /* Probably needs to be more flexible, but I don't yet */
- /* fully understand how flexible. */
-# define MPROTECT_VDB
-# ifdef __ELF__
-# define DYNAMIC_LOADING
-# ifdef UNDEFINED /* includes ro data */
- extern int _etext;
-# define DATASTART ((ptr_t)((((word) (&_etext)) + 0xfff) & ~0xfff))
-# endif
-# include <linux/version.h>
-# include <features.h>
-# if LINUX_VERSION_CODE >= 0x20000 && defined(__GLIBC__) && __GLIBC__ >= 2
- extern int __data_start;
-# define DATASTART ((ptr_t)(&__data_start))
-# else
- extern char **__environ;
-# define DATASTART ((ptr_t)(&__environ))
- /* hideous kludge: __environ is the first */
- /* word in crt0.o, and delimits the start */
- /* of the data segment, no matter which */
- /* ld options were passed through. */
- /* We could use _etext instead, but that */
- /* would include .rodata, which may */
- /* contain large read-only data tables */
- /* that we'd rather not scan. */
-# endif
- extern int _end;
-# define DATAEND (&_end)
-# else
- extern int etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0xfff) & ~0xfff))
-# endif
-# endif
-# ifdef CYGWIN32
- extern int _data_start__;
- extern int _data_end__;
- extern int _bss_start__;
- extern int _bss_end__;
- /* For binutils 2.9.1, we have */
- /* DATASTART = _data_start__ */
- /* DATAEND = _bss_end__ */
- /* whereas for some earlier versions it was */
- /* DATASTART = _bss_start__ */
- /* DATAEND = _data_end__ */
- /* To get it right for both, we take the */
- /* minumum/maximum of the two. */
-# define MAX(x,y) ((x) > (y) ? (x) : (y))
-# define MIN(x,y) ((x) < (y) ? (x) : (y))
-# define DATASTART ((ptr_t) MIN(_data_start__, _bss_start__))
-# define DATAEND ((ptr_t) MAX(_data_end__, _bss_end__))
-# undef STACK_GRAN
-# define STACK_GRAN 0x10000
-# define HEURISTIC1
-# endif
-# ifdef OS2
-# define OS_TYPE "OS2"
- /* STACKBOTTOM and DATASTART are handled specially in */
- /* os_dep.c. OS2 actually has the right */
- /* system call! */
-# define DATAEND /* not needed */
-# endif
-# ifdef MSWIN32
-# define OS_TYPE "MSWIN32"
- /* STACKBOTTOM and DATASTART are handled specially in */
- /* os_dep.c. */
-# ifndef __WATCOMC__
-# define MPROTECT_VDB
-# endif
-# define DATAEND /* not needed */
-# endif
-# ifdef DJGPP
-# define OS_TYPE "DJGPP"
-# include "stubinfo.h"
- extern int etext;
- extern int _stklen;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x1ff) & ~0x1ff))
-# define STACKBOTTOM ((ptr_t)((word) _stubinfo + _stubinfo->size \
- + _stklen))
- /* This may not be right. */
-# endif
-# ifdef FREEBSD
-# define OS_TYPE "FREEBSD"
-# define MPROTECT_VDB
-# endif
-# ifdef NETBSD
-# define OS_TYPE "NETBSD"
-# endif
-# ifdef THREE86BSD
-# define OS_TYPE "THREE86BSD"
-# endif
-# ifdef BSDI
-# define OS_TYPE "BSDI"
-# endif
-# if defined(FREEBSD) || defined(NETBSD) \
- || defined(THREE86BSD) || defined(BSDI)
-# define HEURISTIC2
- extern char etext;
-# define DATASTART ((ptr_t)(&etext))
-# endif
-# ifdef NEXT
-# define OS_TYPE "NEXT"
-# define DATASTART ((ptr_t) get_etext())
-# define STACKBOTTOM ((ptr_t)0xc0000000)
-# define DATAEND /* not needed */
-# endif
-# ifdef DOS4GW
-# define OS_TYPE "DOS4GW"
- /* Get_DATASTART, Get_DATAEND, Get_STACKBOTTOM
- * Defined in gc-watcom.asm
- */
- extern char* Get_DATASTART (void);
- extern char* Get_DATAEND (void);
- extern char* Get_STACKBOTTOM (void);
-# pragma aux Get_DATASTART "*" value [eax];
-# pragma aux Get_DATAEND "*" value [eax];
-# pragma aux Get_STACKBOTTOM "*" value [eax];
-# define DATASTART ((ptr_t) Get_DATASTART())
-# define STACKBOTTOM ((ptr_t) Get_STACKBOTTOM())
-# define DATAEND ((ptr_t) Get_DATAEND())
-# endif
-# endif
-
-# ifdef NS32K
-# define MACH_TYPE "NS32K"
-# define ALIGNMENT 4
- extern char **environ;
-# define DATASTART ((ptr_t)(&environ))
- /* hideous kludge: environ is the first */
- /* word in crt0.o, and delimits the start */
- /* of the data segment, no matter which */
- /* ld options were passed through. */
-# define STACKBOTTOM ((ptr_t) 0xfffff000) /* for Encore */
-# endif
-
-# ifdef MIPS
-# ifndef ECOS
-# define MACH_TYPE "MIPS"
- /* CYGNUS LOCAL: respect predefined DATASTART_IS_ETEXT. */
-# ifdef DATASTART_IS_ETEXT
- extern int _etext;
-# define DATASTART ((ptr_t)(&_etext))
-# else
-# ifndef IRIX5
-# define DATASTART (ptr_t)0x10000000
- /* Could probably be slightly higher since */
- /* startup code allocates lots of stuff. */
-# else
- extern int _fdata;
-# define DATASTART ((ptr_t)(&_fdata))
-# ifdef USE_MMAP
-# define HEAP_START (ptr_t)0x30000000
-# else
-# define HEAP_START DATASTART
-# endif
- /* Lowest plausible heap address. */
- /* In the MMAP case, we map there. */
- /* In either case it is used to identify */
- /* heap sections so they're not */
- /* considered as roots. */
-# endif /* IRIX5 */
-# endif /* DATASTART_IS_ETEXT */
-# define HEURISTIC2
-/* # define STACKBOTTOM ((ptr_t)0x7fff8000) sometimes also works. */
-# ifdef ULTRIX
-# define OS_TYPE "ULTRIX"
-# define ALIGNMENT 4
-# endif
-# ifdef RISCOS
-# define OS_TYPE "RISCOS"
-# define ALIGNMENT 4 /* Required by hardware */
-# endif
-# ifdef IRIX5
-# define OS_TYPE "IRIX5"
-# define MPROTECT_VDB
-# ifdef _MIPS_SZPTR
-# define CPP_WORDSZ _MIPS_SZPTR
-# define ALIGNMENT (_MIPS_SZPTR/8)
-# if CPP_WORDSZ != 64
-# define ALIGN_DOUBLE
-# endif
-# else
-# define ALIGNMENT 4
-# define ALIGN_DOUBLE
-# endif
-# define DYNAMIC_LOADING
-# endif
-# endif /* ECOS */
-# ifdef ECOS
- extern char __ram_data_start;
- extern char __ram_data_end;
-# define MACH_TYPE "MIPS"
-# define DATASTART (ptr_t)(&__ram_data_start)
-# define DATAEND (ptr_t)(&__ram_data_end)
-
-# define HEURISTIC2
-# define ALIGNMENT 4
-# define ALIGN_DOUBLE
-# endif /* ECOS */
-# endif
-
-# ifdef RS6000
-# define MACH_TYPE "RS6000"
-# define ALIGNMENT 4
-# define DATASTART ((ptr_t)0x20000000)
- extern int errno;
-# define STACKBOTTOM ((ptr_t)((ulong)&errno))
-# define DYNAMIC_LOADING
- /* For really old versions of AIX, this may have to be removed. */
-# endif
-
-# ifdef HP_PA
-# define MACH_TYPE "HP_PA"
-# define ALIGNMENT 4
-# define ALIGN_DOUBLE
- extern int __data_start;
-# define DATASTART ((ptr_t)(&__data_start))
-# if 0
- /* The following appears to work for 7xx systems running HP/UX */
- /* 9.xx Furthermore, it might result in much faster */
- /* collections than HEURISTIC2, which may involve scanning */
- /* segments that directly precede the stack. It is not the */
- /* default, since it may not work on older machine/OS */
- /* combinations. (Thanks to Raymond X.T. Nijssen for uncovering */
- /* this.) */
-# define STACKBOTTOM ((ptr_t) 0x7b033000) /* from /etc/conf/h/param.h */
-# else
-# define HEURISTIC2
-# endif
-# define STACK_GROWS_UP
-# define DYNAMIC_LOADING
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGE_SIZE)
- /* They misspelled the Posix macro? */
-# endif
-
-# ifdef ALPHA
-# define MACH_TYPE "ALPHA"
-# define ALIGNMENT 8
-# ifdef OSF1
-# define OS_TYPE "OSF1"
-# define DATASTART ((ptr_t) 0x140000000)
-# define HEURISTIC2
- /* Normally HEURISTIC2 is too conervative, since */
- /* the text segment immediately follows the stack. */
- /* Hence we give an upper pound. */
- extern int __start;
-# define HEURISTIC2_LIMIT ((ptr_t)((word)(&__start) & ~(getpagesize()-1)))
-# define CPP_WORDSZ 64
-# define MPROTECT_VDB
-# define DYNAMIC_LOADING
-# endif
-# ifdef LINUX
-# define OS_TYPE "LINUX"
-# define CPP_WORDSZ 64
-# define STACKBOTTOM ((ptr_t) 0x120000000)
-# ifdef __ELF__
- extern int __data_start;
-# define DATASTART &__data_start
-# define DYNAMIC_LOADING
-# else
-# define DATASTART ((ptr_t) 0x140000000)
-# endif
- extern int _end;
-# define DATAEND (&_end)
- /* As of 1.3.90, I couldn't find a way to retrieve the correct */
- /* fault address from a signal handler. */
- /* Hence MPROTECT_VDB is broken. */
-# endif
-# endif
-
-# ifdef M88K
-# define MACH_TYPE "M88K"
-# define ALIGNMENT 4
-# define ALIGN_DOUBLE
- extern int etext;
-# ifdef CX_UX
-# define OS_TYPE "CX_UX"
-# define DATASTART ((((word)&etext + 0x3fffff) & ~0x3fffff) + 0x10000)
-# endif
-# ifdef DGUX
-# define OS_TYPE "DGUX"
- extern char * GC_SysVGetDataStart();
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &etext)
-# endif
-# define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */
-# endif
-
-# ifdef S370
-# define MACH_TYPE "S370"
-# define OS_TYPE "UTS4"
-# define ALIGNMENT 4 /* Required by hardware */
- extern int etext;
- extern int _etext;
- extern int _end;
- extern char * GC_SysVGetDataStart();
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &_etext)
-# define DATAEND (&_end)
-# define HEURISTIC2
-# endif
-
-# ifndef STACK_GROWS_UP
-# define STACK_GROWS_DOWN
-# endif
-
-# ifndef CPP_WORDSZ
-# define CPP_WORDSZ 32
-# endif
-
-# ifndef OS_TYPE
-# define OS_TYPE ""
-# endif
-
-# ifndef DATAEND
- extern int end;
-# define DATAEND (&end)
-# endif
-
-# if defined(SVR4) && !defined(GETPAGESIZE)
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGESIZE)
-# endif
-
-# ifndef GETPAGESIZE
-# if defined(SUNOS5) || defined(IRIX5)
-# include <unistd.h>
-# endif
-# define GETPAGESIZE() getpagesize()
-# endif
-
-# if defined(SUNOS5) || defined(DRSNX) || defined(UTS4)
- /* OS has SVR4 generic features. Probably others also qualify. */
-# define SVR4
-# endif
-
-# if defined(SUNOS5) || defined(DRSNX)
- /* OS has SUNOS5 style semi-undocumented interface to dynamic */
- /* loader. */
-# define SUNOS5DL
- /* OS has SUNOS5 style signal handlers. */
-# define SUNOS5SIGS
-# endif
-
-# if CPP_WORDSZ != 32 && CPP_WORDSZ != 64
- -> bad word size
-# endif
-
-# ifdef PCR
-# undef DYNAMIC_LOADING
-# undef STACKBOTTOM
-# undef HEURISTIC1
-# undef HEURISTIC2
-# undef PROC_VDB
-# undef MPROTECT_VDB
-# define PCR_VDB
-# endif
-
-# ifdef SRC_M3
-/* Postponed for now. */
-# undef PROC_VDB
-# undef MPROTECT_VDB
-# endif
-
-# ifdef SMALL_CONFIG
-/* Presumably not worth the space it takes. */
-# undef PROC_VDB
-# undef MPROTECT_VDB
-# endif
-
-# if !defined(PCR_VDB) && !defined(PROC_VDB) && !defined(MPROTECT_VDB)
-# define DEFAULT_VDB
-# endif
-
-# if defined(IRIX_THREADS) && !defined(IRIX5)
---> inconsistent configuration
-# endif
-# if defined(LINUX_THREADS) && !defined(LINUX)
---> inconsistent configuration
-# endif
-# if defined(SOLARIS_THREADS) && !defined(SUNOS5)
---> inconsistent configuration
-# endif
-# if defined(PCR) || defined(SRC_M3) || \
- defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || \
- defined(IRIX_THREADS) || defined(LINUX_THREADS) || \
- defined(QUICK_THREADS)
-# define THREADS
-# endif
-
-# if defined(SPARC)
-# define SAVE_CALL_CHAIN
-# define ASM_CLEAR_CODE /* Stack clearing is crucial, and we */
- /* include assembly code to do it well. */
-# endif
-
-# endif
diff --git a/boehm-gc/configure b/boehm-gc/configure
deleted file mode 100755
index 3e4079128cf..00000000000
--- a/boehm-gc/configure
+++ /dev/null
@@ -1,2848 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --enable-multilib build many library versions (default)"
-ac_help="$ac_help
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer"
-ac_help="$ac_help
- --enable-shared[=PKGS] build shared libraries [default=yes]"
-ac_help="$ac_help
- --enable-static[=PKGS] build static libraries [default=yes]"
-ac_help="$ac_help
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]"
-ac_help="$ac_help
- --with-target-subdir=SUBDIR Configuring with a cross compiler"
-ac_help="$ac_help
- --with-cross-host=HOST Configuring with a cross compiler"
-ac_help="$ac_help
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer"
-ac_help="$ac_help
- --enable-threads=TYPE choose threading package"
-ac_help="$ac_help
- --enable-java-gc=TYPE choose garbage collector [boehm]"
-ac_help="$ac_help
- --with-ecos Enable runtime eCos target support."
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=gc_mark.h
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-ac_aux_dir=
-for ac_dir in .. $srcdir/..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in .. $srcdir/.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:598: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:619: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:637: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:672: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:725: checking whether build environment is sane" >&5
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "$*" != "X $srcdir/configure conftestfile" \
- && test "$*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" 1>&2; exit 1; }
- fi
-
- test "$2" = conftestfile
- )
-then
- # Ok.
- :
-else
- { echo "configure: error: newly created file is older than distributed files!
-Check your system clock" 1>&2; exit 1; }
-fi
-rm -f conftest*
-echo "$ac_t""yes" 1>&6
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:782: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:815: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 820 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:831: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:848: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 853 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-# Check whether --enable-multilib or --disable-multilib was given.
-if test "${enable_multilib+set}" = set; then
- enableval="$enable_multilib"
- case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
- esac
-else
- multilib=yes
-fi
-
-
-if test "${srcdir}" = "."; then
- if test "${with_target_subdir}" != "."; then
- boehm_gc_basedir="${srcdir}/${with_multisrctop}../."
- else
- boehm_gc_basedir="${srcdir}/${with_multisrctop}."
- fi
-else
- boehm_gc_basedir="${srcdir}/."
-fi
-
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:908: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-
-
-PACKAGE=boehm-gc
-
-VERSION=4.13a2
-
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
-fi
-
-
-
-missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:942: checking for working aclocal" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
- echo "$ac_t""found" 1>&6
-else
- ACLOCAL="$missing_dir/missing aclocal"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:955: checking for working autoconf" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoconf --version) < /dev/null > /dev/null 2>&1; then
- AUTOCONF=autoconf
- echo "$ac_t""found" 1>&6
-else
- AUTOCONF="$missing_dir/missing autoconf"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:968: checking for working automake" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
- echo "$ac_t""found" 1>&6
-else
- AUTOMAKE="$missing_dir/missing automake"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:981: checking for working autoheader" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoheader --version) < /dev/null > /dev/null 2>&1; then
- AUTOHEADER=autoheader
- echo "$ac_t""found" 1>&6
-else
- AUTOHEADER="$missing_dir/missing autoheader"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:994: checking for working makeinfo" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
- MAKEINFO=makeinfo
- echo "$ac_t""found" 1>&6
-else
- MAKEINFO="$missing_dir/missing makeinfo"
- echo "$ac_t""missing" 1>&6
-fi
-
-
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1019: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1049: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1098: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1107: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1122: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-
-# Likewise for AC_PROG_CXX.
-
-
-for ac_prog in $CCC c++ g++ gcc CC cxx cc++
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1158: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$CXX" && break
-done
-test -n "$CXX" || CXX="gcc"
-
-test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
-
-echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1191: checking whether we are using GNU C++" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.C <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gxx=yes
-else
- ac_cv_prog_gxx=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gxx" 1>&6
-
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=
- echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1215: checking whether ${CXX-g++} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.cc
-if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
- ac_cv_prog_cxx_g=yes
-else
- ac_cv_prog_cxx_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- elif test $ac_cv_prog_cxx_g = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-O2"
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-
-
-# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
-# run it explicitly here, it will be run implicitly before
-# NEWLIB_CONFIGURE, which doesn't work because that means that it will
-# be run before AC_CANONICAL_HOST.
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1248: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-
-# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1269: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1301: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1333: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_RANLIB"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1365: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- RANLIB=":"
-fi
-fi
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1410: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:1464: checking whether to enable maintainer-specific portions of Makefiles" >&5
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
-
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
-# at least currently, we never actually build a program, so we never
-# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
-# fails, because we are probably configuring with a cross compiler
-# which can't create executables. So we include AC_EXEEXT to keep
-# automake happy, but we don't execute it, since we don't care about
-# the result.
-if false; then
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1498: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:1508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-fi
-
-. ${boehm_gc_basedir}/configure.host
-
-case ${boehm_gc_basedir} in
-/* | A-Za-z:/\\*) boehm_gc_flagbasedir=${boehm_gc_basedir} ;;
-*) boehm_gc_flagbasedir='$(top_builddir)/'${boehm_gc_basedir} ;;
-esac
-
-boehm_gc_cflags="${boehm_gc_cflags} -I"'$(top_builddir)'"/./targ-include -I${boehm_gc_flagbasedir}/libc/include"
-case "${host}" in
- *-*-cygwin32*)
- boehm_gc_cflags="${boehm_gc_cflags} -I${boehm_gc_flagbasedir}/../winsup/include"
- ;;
-esac
-
-boehm_gc_cflags="${boehm_gc_cflags} -fno-builtin"
-
-BOEHM_GC_CFLAGS=${boehm_gc_cflags}
-
-
-
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_shared=yes
-fi
-
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_static=yes
-fi
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1599: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1629: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1659: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test -z "$CC"; then
- case "`uname -s`" in
- *win32* | *WIN32*)
- # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1710: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="cl"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- ;;
- esac
- fi
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1742: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 1753 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:1758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1784: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1789: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1798: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-else
- GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1817: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1861: checking for ld used by GCC" >&5
- ac_prog=`($CC -print-prog-name=ld) 2>&5`
- case "$ac_prog" in
- # Accept absolute paths.
- /* | [A-Za-z]:\\*)
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1879: checking for GNU ld" >&5
-else
- echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1882: checking for non-GNU ld" >&5
-fi
-if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-
-echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1918: checking if the linker ($LD) is GNU ld" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
-
-
-echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1934: checking for BSD-compatible nm" >&5
-if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- else
- ac_cv_path_NM="$ac_dir/nm"
- fi
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi
-fi
-
-NM="$ac_cv_path_NM"
-echo "$ac_t""$NM" 1>&6
-
-
-echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1969: checking whether ln -s works" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- rm -f conftestdata
-if ln -s X conftestdata 2>/dev/null
-then
- rm -f conftestdata
- ac_cv_prog_LN_S="ln -s"
-else
- ac_cv_prog_LN_S=ln
-fi
-fi
-LN_S="$ac_cv_prog_LN_S"
-if test "$ac_cv_prog_LN_S" = "ln -s"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags=
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$silent" = yes && libtool_flags="$libtool_flags --silent"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$host" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 2005 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- CFLAGS="$CFLAGS -belf"
- ;;
-
-*-*-cygwin32*)
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2031: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_DLLTOOL"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2063: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_DLLTOOL" && ac_cv_prog_DLLTOOL="false"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- DLLTOOL="false"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2098: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_AS"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2130: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="as"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="false"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- AS="false"
-fi
-fi
-
-
- ;;
-
-esac
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-DLLTOOL="$DLLTOOL" AS="$AS" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
-|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-
-
-# Check whether --with-target-subdir or --without-target-subdir was given.
-if test "${with_target_subdir+set}" = set; then
- withval="$with_target_subdir"
- :
-fi
-
-# Check whether --with-cross-host or --without-cross-host was given.
-if test "${with_cross_host+set}" = set; then
- withval="$with_cross_host"
- :
-fi
-
-
-echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:2194: checking whether to enable maintainer-specific portions of Makefiles" >&5
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
-
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-# automake wants to see AC_EXEEXT. But we don't need it. And having
-# it is actually a problem, because the compiler we're passed can't
-# necessarily do a full link. So we fool automake here.
-if test "x" = "y"; then
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2223: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:2233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-fi
-
-echo $ac_n "checking for threads package to use""... $ac_c" 1>&6
-echo "configure:2256: checking for threads package to use" >&5
-# Check whether --enable-threads or --disable-threads was given.
-if test "${enable_threads+set}" = set; then
- enableval="$enable_threads"
- THREADS=$enableval
-else
- THREADS=no
-fi
-
-
-if test "$THREADS" = yes; then
- case "$host" in
- *-*-vxworks*)
- THREADS=vxworks
- ;;
- *-*-linux*)
- # FIXME: this isn't correct in all cases.
- THREADS=posix
- ;;
- *-*-win*)
- THREADS=win32
- ;;
- *-*-irix*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose irix threads.
- THREADS=posix
- ;;
- *-*-solaris*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose solaris threads.
- THREADS=posix
- ;;
- *)
- # For now.
- THREADS=none
- ;;
- esac
-fi
-
-INCLUDES=
-case "$THREADS" in
- no | none | single)
- THREADS=none
- ;;
- posix | pthreads)
- THREADS=posix
- case "$host" in
- *-*-linux*)
- cat >> confdefs.h <<\EOF
-#define LINUX_THREADS 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define _REENTRANT 1
-EOF
-
- ;;
- *-*-solaris*)
- cat >> confdefs.h <<\EOF
-#define SOLARIS_THREADS 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define _SOLARIS_PTHREADS 1
-EOF
-
- ;;
- *-*-irix*)
- cat >> confdefs.h <<\EOF
-#define IRIX_THREADS 1
-EOF
-
- ;;
- esac
- ;;
- qt)
- cat >> confdefs.h <<\EOF
-#define QUICK_THREADS 1
-EOF
-
- INCLUDES="-I${boehm_gc_basedir}/../qthreads"
- ;;
- decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
- { echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
- ;;
- *)
- { echo "configure: error: $THREADS is an unknown thread package" 1>&2; exit 1; }
- ;;
-esac
-echo "$ac_t""$THREADS" 1>&6
-
-# Check whether --enable-java-gc or --disable-java-gc was given.
-if test "${enable_java_gc+set}" = set; then
- enableval="$enable_java_gc"
-
- GC=$enableval
-else
- GC=boehm
-fi
-
-target_all=
-if test "$GC" = "boehm"; then
- target_all=libgcjgc.la
-fi
-
-
-TARGET_ECOS="no"
-# Check whether --with-ecos or --without-ecos was given.
-if test "${with_ecos+set}" = set; then
- withval="$with_ecos"
- TARGET_ECOS="$with_ecos"
-
-fi
-
-
-addobjs=
-CXXINCLUDES=
-case "$TARGET_ECOS" in
- no)
- ;;
- *)
- cat >> confdefs.h <<\EOF
-#define ECOS 1
-EOF
-
- CXXINCLUDES="-I${TARGET_ECOS}/include"
- addobjs="$addobjs ecos.lo"
- ;;
-esac
-
-
-
-
-
-machdep=
-case "$host" in
- alpha-*-*)
- machdep="alpha_mach_dep.lo"
- ;;
- mips-*-*)
- machdep="mips_sgi_mach_dep.lo"
- cat >> confdefs.h <<\EOF
-#define NO_EXECUTE_PERMISSION 1
-EOF
-
- ;;
- mipstx39-*-elf*)
- machdep="mips_ultrix_mach_dep.lo"
- cat >> confdefs.h <<\EOF
-#define STACKBASE __stackbase
-EOF
-
- cat >> confdefs.h <<\EOF
-#define DATASTART_IS_ETEXT 1
-EOF
-
- ;;
- sparc-sun-solaris2.3*)
- cat >> confdefs.h <<\EOF
-#define SUNOS53_SHARED_LIB 1
-EOF
-
- ;;
-esac
-if test x"$machdep" = x; then
- machdep="mach_dep.lo"
-fi
-addobjs="$addobjs $machdep"
-
-
-case "$host" in
- sparc-sun-solaris2*)
- if test "$GCC" = yes; then
- new_CFLAGS=
- for i in $CFLAGS; do
- case "$i" in
- -O*)
- ;;
- *)
- new_CFLAGS="$new_CFLAGS $i"
- ;;
- esac
- done
- CFLAGS="$new_CFLAGS"
- fi
- ;;
-esac
-
-MY_CFLAGS="$CFLAGS"
-
-
-cat >> confdefs.h <<\EOF
-#define SILENT 1
-EOF
-
-cat >> confdefs.h <<\EOF
-#define NO_SIGNALS 1
-EOF
-
-cat >> confdefs.h <<\EOF
-#define NO_DEBUGGING 1
-EOF
-
-cat >> confdefs.h <<\EOF
-#define JAVA_FINALIZATION 1
-EOF
-
-
-
-
-if test -n "${with_cross_host}"; then
- cat >> confdefs.h <<\EOF
-#define NO_SIGSET 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define NO_CLOCK 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define SMALL_CONFIG 1
-EOF
-
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@boehm_gc_basedir@%$boehm_gc_basedir%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PACKAGE@%$PACKAGE%g
-s%@VERSION@%$VERSION%g
-s%@ACLOCAL@%$ACLOCAL%g
-s%@AUTOCONF@%$AUTOCONF%g
-s%@AUTOMAKE@%$AUTOMAKE%g
-s%@AUTOHEADER@%$AUTOHEADER%g
-s%@MAKEINFO@%$MAKEINFO%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
-s%@AS@%$AS%g
-s%@AR@%$AR%g
-s%@RANLIB@%$RANLIB%g
-s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
-s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
-s%@MAINT@%$MAINT%g
-s%@EXEEXT@%$EXEEXT%g
-s%@BOEHM_GC_CFLAGS@%$BOEHM_GC_CFLAGS%g
-s%@LD@%$LD%g
-s%@NM@%$NM%g
-s%@LN_S@%$LN_S%g
-s%@LIBTOOL@%$LIBTOOL%g
-s%@DLLTOOL@%$DLLTOOL%g
-s%@target_all@%$target_all%g
-s%@INCLUDES@%$INCLUDES%g
-s%@CXXINCLUDES@%$CXXINCLUDES%g
-s%@addobjs@%$addobjs%g
-s%@MY_CFLAGS@%$MY_CFLAGS%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-ac_sources="config.h"
-ac_dests="boehm-config.h"
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-srcdir=$ac_given_srcdir
-while test -n "$ac_sources"; do
- set $ac_dests; ac_dest=$1; shift; ac_dests=$*
- set $ac_sources; ac_source=$1; shift; ac_sources=$*
-
- echo "linking $srcdir/$ac_source to $ac_dest"
-
- if test ! -r $srcdir/$ac_source; then
- { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
- fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
- # The dest file is in a subdirectory.
- test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
- ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dest_dir_suffix.
- ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dest_dir_suffix= ac_dots=
- fi
-
- case "$srcdir" in
- [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
- *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
- esac
-
- # Make a symlink if possible; otherwise try a hard link.
- if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest; then :
- else
- { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
- fi
-done
-EOF
-cat >> $CONFIG_STATUS <<EOF
-srcdir=${srcdir}
-host=${host}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-boehm_gc_basedir=${boehm_gc_basedir}
-CC="${CC}"
-DEFS="$DEFS"
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-echo "$DEFS" > boehm-cflags
-
-if test -n "$CONFIG_FILES"; then
- ac_file=Makefile . ${boehm_gc_basedir}/../config-ml.in
-fi
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/boehm-gc/configure.host b/boehm-gc/configure.host
deleted file mode 100644
index 1903242fec4..00000000000
--- a/boehm-gc/configure.host
+++ /dev/null
@@ -1,43 +0,0 @@
-# configure.host
-
-# This shell script handles all host based configuration for boehm_gc.
-# It sets various shell variables based on the the host and the
-# configuration options. You can modify this shell script without
-# needing to rerun autoconf.
-
-# This shell script should be invoked as
-# . configure.host
-# If it encounters an error, it will exit with a message.
-
-# It uses the following shell variables:
-# host The configuration host
-# host_cpu The configuration host CPU
-# target_optspace --enable-target-optspace ("yes", "no", "")
-
-# It sets the following shell variables:
-# boehm_gc_cflags Special CFLAGS to use when building
-
-boehm_gc_cflags=
-
-case "${target_optspace}:${host}" in
- yes:*)
- boehm_gc_cflags="${boehm_gc_cflags} -Os"
- ;;
- :m32r-* | :d10v-* | :d30v-*)
- boehm_gc_cflags="${boehm_gc_cflags} -Os"
- ;;
- no:* | :*)
- # Nothing.
- ;;
-esac
-
-# Set any host dependent compiler flags.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-
-case "${host}" in
- mips-tx39-*|mipstx39-unknown-*)
- boehm_gc_cflags="${boehm_gc_cflags} -G 0"
- ;;
- *)
- ;;
-esac
diff --git a/boehm-gc/configure.in b/boehm-gc/configure.in
deleted file mode 100644
index 0332b3db443..00000000000
--- a/boehm-gc/configure.in
+++ /dev/null
@@ -1,230 +0,0 @@
-dnl Process this file with autoconf to produce configure.
-
-AC_INIT(gc_mark.h)
-
-dnl Can't be done in BOEHM_CONFIGURE because that confuses automake.
-AC_CONFIG_AUX_DIR(..)
-
-AC_CANONICAL_SYSTEM
-
-BOEHM_CONFIGURE(.)
-
-AM_PROG_LIBTOOL
-
-dnl We use these options to decide which functions to include.
-AC_ARG_WITH(target-subdir,
-[ --with-target-subdir=SUBDIR Configuring with a cross compiler])
-AC_ARG_WITH(cross-host,
-[ --with-cross-host=HOST Configuring with a cross compiler])
-
-AM_MAINTAINER_MODE
-# automake wants to see AC_EXEEXT. But we don't need it. And having
-# it is actually a problem, because the compiler we're passed can't
-# necessarily do a full link. So we fool automake here.
-if test "x" = "y"; then
- AC_EXEEXT
-fi
-
-AC_MSG_CHECKING([for threads package to use])
-AC_ARG_ENABLE(threads, [ --enable-threads=TYPE choose threading package],
- THREADS=$enableval,
- dnl FIXME: figure out native threads to use here.
- THREADS=no)
-
-if test "$THREADS" = yes; then
- case "$host" in
- *-*-vxworks*)
- THREADS=vxworks
- ;;
- *-*-linux*)
- # FIXME: this isn't correct in all cases.
- THREADS=posix
- ;;
- *-*-win*)
- THREADS=win32
- ;;
- *-*-irix*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose irix threads.
- THREADS=posix
- ;;
- *-*-solaris*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose solaris threads.
- THREADS=posix
- ;;
- *)
- # For now.
- THREADS=none
- ;;
- esac
-fi
-
-INCLUDES=
-case "$THREADS" in
- no | none | single)
- THREADS=none
- ;;
- posix | pthreads)
- THREADS=posix
- case "$host" in
- *-*-linux*)
- AC_DEFINE(LINUX_THREADS)
- AC_DEFINE(_REENTRANT)
- ;;
- *-*-solaris*)
- AC_DEFINE(SOLARIS_THREADS)
- AC_DEFINE(_SOLARIS_PTHREADS)
- ;;
- *-*-irix*)
- AC_DEFINE(IRIX_THREADS)
- ;;
- esac
- ;;
- qt)
- AC_DEFINE(QUICK_THREADS)
- INCLUDES="-I${boehm_gc_basedir}/../qthreads"
- ;;
- decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
- AC_MSG_ERROR(thread package $THREADS not yet supported)
- ;;
- *)
- AC_MSG_ERROR($THREADS is an unknown thread package)
- ;;
-esac
-AC_MSG_RESULT($THREADS)
-
-AC_ARG_ENABLE(java-gc,
-changequote(<<,>>)dnl
-<< --enable-java-gc=TYPE choose garbage collector [boehm]>>,
-changequote([,])
- GC=$enableval,
- GC=boehm)
-target_all=
-if test "$GC" = "boehm"; then
- target_all=libgcjgc.la
-fi
-AC_SUBST(target_all)
-
-dnl If the target is an eCos system, use the appropriate eCos
-dnl I/O routines.
-dnl FIXME: this should not be a local option but a global target
-dnl system; at present there is no eCos target.
-TARGET_ECOS="no"
-AC_ARG_WITH(ecos,
-[ --with-ecos Enable runtime eCos target support.],
-TARGET_ECOS="$with_ecos"
-)
-
-addobjs=
-CXXINCLUDES=
-case "$TARGET_ECOS" in
- no)
- ;;
- *)
- AC_DEFINE(ECOS)
- CXXINCLUDES="-I${TARGET_ECOS}/include"
- addobjs="$addobjs ecos.lo"
- ;;
-esac
-AC_SUBST(CXX)
-
-AC_SUBST(INCLUDES)
-AC_SUBST(CXXINCLUDES)
-
-machdep=
-case "$host" in
- alpha-*-*)
- machdep="alpha_mach_dep.lo"
- ;;
- mips-*-*)
- machdep="mips_sgi_mach_dep.lo"
- AC_DEFINE(NO_EXECUTE_PERMISSION)
- ;;
- mipstx39-*-elf*)
- machdep="mips_ultrix_mach_dep.lo"
- AC_DEFINE(STACKBASE, __stackbase)
- AC_DEFINE(DATASTART_IS_ETEXT)
- ;;
- sparc-sun-solaris2.3*)
- AC_DEFINE(SUNOS53_SHARED_LIB)
- ;;
-esac
-if test x"$machdep" = x; then
- machdep="mach_dep.lo"
-fi
-addobjs="$addobjs $machdep"
-AC_SUBST(addobjs)
-
-dnl As of 4.13a2, the collector will not properly work on Solaris when
-dnl built with gcc and -O. So we remove -O in the appropriate case.
-case "$host" in
- sparc-sun-solaris2*)
- if test "$GCC" = yes; then
- new_CFLAGS=
- for i in $CFLAGS; do
- case "$i" in
- -O*)
- ;;
- *)
- new_CFLAGS="$new_CFLAGS $i"
- ;;
- esac
- done
- CFLAGS="$new_CFLAGS"
- fi
- ;;
-esac
-
-dnl We need to override the top-level CFLAGS. This is how we do it.
-MY_CFLAGS="$CFLAGS"
-AC_SUBST(MY_CFLAGS)
-
-dnl Define a few things to retarget the library towards
-dnl embedded Java.
-AC_DEFINE(SILENT)
-AC_DEFINE(NO_SIGNALS)
-AC_DEFINE(NO_DEBUGGING)
-AC_DEFINE(JAVA_FINALIZATION)
-
-dnl Create boehm-config.h so that libjava can find it.
-dnl It is required to use gc_priv.h, which is required to write
-dnl a new marking function. So config.h in this package is
-dnl poorly named.
-AC_LINK_FILES(config.h, boehm-config.h)
-
-dnl This is something of a hack. When cross-compiling we turn off
-dnl some functionality. We also enable the "small" configuration.
-dnl These is only correct when targetting an embedded system. FIXME.
-if test -n "${with_cross_host}"; then
- AC_DEFINE(NO_SIGSET)
- AC_DEFINE(NO_CLOCK)
- AC_DEFINE(SMALL_CONFIG)
-fi
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_OUTPUT(Makefile,
-[
-dnl Put all the -D options in a file. These are required before
-dnl boehm-config.h can be included. This is a huge hack brought
-dnl about by overall poor structuring of this entire library.
-echo "$DEFS" > boehm-cflags
-
-if test -n "$CONFIG_FILES"; then
- ac_file=Makefile . ${boehm_gc_basedir}/../config-ml.in
-fi],
-srcdir=${srcdir}
-host=${host}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-boehm_gc_basedir=${boehm_gc_basedir}
-CC="${CC}"
-DEFS="$DEFS"
-)
diff --git a/boehm-gc/cord/README b/boehm-gc/cord/README
deleted file mode 100644
index 62101452313..00000000000
--- a/boehm-gc/cord/README
+++ /dev/null
@@ -1,31 +0,0 @@
-Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program
-for any purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is granted,
-provided the above notices are retained, and a notice that the code was
-modified is included with the above copyright notice.
-
-Please send bug reports to Hans-J. Boehm (boehm@sgi.com).
-
-This is a string packages that uses a tree-based representation.
-See cord.h for a description of the functions provided. Ec.h describes
-"extensible cords", which are essentially output streams that write
-to a cord. These allow for efficient construction of cords without
-requiring a bound on the size of a cord.
-
-de.c is a very dumb text editor that illustrates the use of cords.
-It maintains a list of file versions. Each version is simply a
-cord representing the file contents. Nonetheless, standard
-editing operations are efficient, even on very large files.
-(Its 3 line "user manual" can be obtained by invoking it without
-arguments. Note that ^R^N and ^R^P move the cursor by
-almost a screen. It does not understand tabs, which will show
-up as highlighred "I"s. Use the UNIX "expand" program first.)
-To build the editor, type "make cord/de" in the gc directory.
-
-This package assumes an ANSI C compiler such as gcc. It will
-not compile with an old-style K&R compiler.
diff --git a/boehm-gc/cord/SCOPTIONS.amiga b/boehm-gc/cord/SCOPTIONS.amiga
deleted file mode 100644
index 2a091970b8b..00000000000
--- a/boehm-gc/cord/SCOPTIONS.amiga
+++ /dev/null
@@ -1,14 +0,0 @@
-MATH=STANDARD
-CPU=68030
-NOSTACKCHECK
-OPTIMIZE
-VERBOSE
-NOVERSION
-NOICONS
-OPTIMIZERTIME
-INCLUDEDIR=/
-DEFINE AMIGA
-LIBRARY=cord.lib
-LIBRARY=/gc.lib
-IGNORE=100
-IGNORE=161
diff --git a/boehm-gc/cord/SMakefile.amiga b/boehm-gc/cord/SMakefile.amiga
deleted file mode 100644
index 5aef131e606..00000000000
--- a/boehm-gc/cord/SMakefile.amiga
+++ /dev/null
@@ -1,20 +0,0 @@
-# Makefile for cord.lib
-# Michel Schinz 1994/07/20
-
-OBJS = cordbscs.o cordprnt.o cordxtra.o
-
-all: cord.lib cordtest
-
-cordbscs.o: cordbscs.c
-cordprnt.o: cordprnt.c
-cordxtra.o: cordxtra.c
-cordtest.o: cordtest.c
-
-cord.lib: $(OBJS)
- oml cord.lib r $(OBJS)
-
-cordtest: cordtest.o cord.lib
- sc cordtest.o link
-
-clean:
- delete cord.lib cordtest \#?.o \#?.lnk
diff --git a/boehm-gc/cord/cord.h b/boehm-gc/cord/cord.h
deleted file mode 100644
index 584112fd181..00000000000
--- a/boehm-gc/cord/cord.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm@parc.xerox.com)
- */
-/* Boehm, October 5, 1995 4:20 pm PDT */
-
-/*
- * Cords are immutable character strings. A number of operations
- * on long cords are much more efficient than their strings.h counterpart.
- * In particular, concatenation takes constant time independent of the length
- * of the arguments. (Cords are represented as trees, with internal
- * nodes representing concatenation and leaves consisting of either C
- * strings or a functional description of the string.)
- *
- * The following are reasonable applications of cords. They would perform
- * unacceptably if C strings were used:
- * - A compiler that produces assembly language output by repeatedly
- * concatenating instructions onto a cord representing the output file.
- * - A text editor that converts the input file to a cord, and then
- * performs editing operations by producing a new cord representing
- * the file after echa character change (and keeping the old ones in an
- * edit history)
- *
- * For optimal performance, cords should be built by
- * concatenating short sections.
- * This interface is designed for maximum compatibility with C strings.
- * ASCII NUL characters may be embedded in cords using CORD_from_fn.
- * This is handled correctly, but CORD_to_char_star will produce a string
- * with embedded NULs when given such a cord.
- *
- * This interface is fairly big, largely for performance reasons.
- * The most basic constants and functions:
- *
- * CORD - the type fo a cord;
- * CORD_EMPTY - empty cord;
- * CORD_len(cord) - length of a cord;
- * CORD_cat(cord1,cord2) - concatenation of two cords;
- * CORD_substr(cord, start, len) - substring (or subcord);
- * CORD_pos i; CORD_FOR(i, cord) { ... CORD_pos_fetch(i) ... } -
- * examine each character in a cord. CORD_pos_fetch(i) is the char.
- * CORD_fetch(int i) - Retrieve i'th character (slowly).
- * CORD_cmp(cord1, cord2) - compare two cords.
- * CORD_from_file(FILE * f) - turn a read-only file into a cord.
- * CORD_to_char_star(cord) - convert to C string.
- * (Non-NULL C constant strings are cords.)
- * CORD_printf (etc.) - cord version of printf. Use %r for cords.
- */
-# ifndef CORD_H
-
-# define CORD_H
-# include <stddef.h>
-# include <stdio.h>
-/* Cords have type const char *. This is cheating quite a bit, and not */
-/* 100% portable. But it means that nonempty character string */
-/* constants may be used as cords directly, provided the string is */
-/* never modified in place. The empty cord is represented by, and */
-/* can be written as, 0. */
-
-typedef const char * CORD;
-
-/* An empty cord is always represented as nil */
-# define CORD_EMPTY 0
-
-/* Is a nonempty cord represented as a C string? */
-#define CORD_IS_STRING(s) (*(s) != '\0')
-
-/* Concatenate two cords. If the arguments are C strings, they may */
-/* not be subsequently altered. */
-CORD CORD_cat(CORD x, CORD y);
-
-/* Concatenate a cord and a C string with known length. Except for the */
-/* empty string case, this is a special case of CORD_cat. Since the */
-/* length is known, it can be faster. */
-/* The string y is shared with the resulting CORD. Hence it should */
-/* not be altered by the caller. */
-CORD CORD_cat_char_star(CORD x, const char * y, size_t leny);
-
-/* Compute the length of a cord */
-size_t CORD_len(CORD x);
-
-/* Cords may be represented by functions defining the ith character */
-typedef char (* CORD_fn)(size_t i, void * client_data);
-
-/* Turn a functional description into a cord. */
-CORD CORD_from_fn(CORD_fn fn, void * client_data, size_t len);
-
-/* Return the substring (subcord really) of x with length at most n, */
-/* starting at position i. (The initial character has position 0.) */
-CORD CORD_substr(CORD x, size_t i, size_t n);
-
-/* Return the argument, but rebalanced to allow more efficient */
-/* character retrieval, substring operations, and comparisons. */
-/* This is useful only for cords that were built using repeated */
-/* concatenation. Guarantees log time access to the result, unless */
-/* x was obtained through a large number of repeated substring ops */
-/* or the embedded functional descriptions take longer to evaluate. */
-/* May reallocate significant parts of the cord. The argument is not */
-/* modified; only the result is balanced. */
-CORD CORD_balance(CORD x);
-
-/* The following traverse a cord by applying a function to each */
-/* character. This is occasionally appropriate, especially where */
-/* speed is crucial. But, since C doesn't have nested functions, */
-/* clients of this sort of traversal are clumsy to write. Consider */
-/* the functions that operate on cord positions instead. */
-
-/* Function to iteratively apply to individual characters in cord. */
-typedef int (* CORD_iter_fn)(char c, void * client_data);
-
-/* Function to apply to substrings of a cord. Each substring is a */
-/* a C character string, not a general cord. */
-typedef int (* CORD_batched_iter_fn)(const char * s, void * client_data);
-# define CORD_NO_FN ((CORD_batched_iter_fn)0)
-
-/* Apply f1 to each character in the cord, in ascending order, */
-/* starting at position i. If */
-/* f2 is not CORD_NO_FN, then multiple calls to f1 may be replaced by */
-/* a single call to f2. The parameter f2 is provided only to allow */
-/* some optimization by the client. This terminates when the right */
-/* end of this string is reached, or when f1 or f2 return != 0. In the */
-/* latter case CORD_iter returns != 0. Otherwise it returns 0. */
-/* The specified value of i must be < CORD_len(x). */
-int CORD_iter5(CORD x, size_t i, CORD_iter_fn f1,
- CORD_batched_iter_fn f2, void * client_data);
-
-/* A simpler version that starts at 0, and without f2: */
-int CORD_iter(CORD x, CORD_iter_fn f1, void * client_data);
-# define CORD_iter(x, f1, cd) CORD_iter5(x, 0, f1, CORD_NO_FN, cd)
-
-/* Similar to CORD_iter5, but end-to-beginning. No provisions for */
-/* CORD_batched_iter_fn. */
-int CORD_riter4(CORD x, size_t i, CORD_iter_fn f1, void * client_data);
-
-/* A simpler version that starts at the end: */
-int CORD_riter(CORD x, CORD_iter_fn f1, void * client_data);
-
-/* Functions that operate on cord positions. The easy way to traverse */
-/* cords. A cord position is logically a pair consisting of a cord */
-/* and an index into that cord. But it is much faster to retrieve a */
-/* charcter based on a position than on an index. Unfortunately, */
-/* positions are big (order of a few 100 bytes), so allocate them with */
-/* caution. */
-/* Things in cord_pos.h should be treated as opaque, except as */
-/* described below. Also note that */
-/* CORD_pos_fetch, CORD_next and CORD_prev have both macro and function */
-/* definitions. The former may evaluate their argument more than once. */
-# include "private/cord_pos.h"
-
-/*
- Visible definitions from above:
-
- typedef <OPAQUE but fairly big> CORD_pos[1];
-
- * Extract the cord from a position:
- CORD CORD_pos_to_cord(CORD_pos p);
-
- * Extract the current index from a position:
- size_t CORD_pos_to_index(CORD_pos p);
-
- * Fetch the character located at the given position:
- char CORD_pos_fetch(CORD_pos p);
-
- * Initialize the position to refer to the given cord and index.
- * Note that this is the most expensive function on positions:
- void CORD_set_pos(CORD_pos p, CORD x, size_t i);
-
- * Advance the position to the next character.
- * P must be initialized and valid.
- * Invalidates p if past end:
- void CORD_next(CORD_pos p);
-
- * Move the position to the preceding character.
- * P must be initialized and valid.
- * Invalidates p if past beginning:
- void CORD_prev(CORD_pos p);
-
- * Is the position valid, i.e. inside the cord?
- int CORD_pos_valid(CORD_pos p);
-*/
-# define CORD_FOR(pos, cord) \
- for (CORD_set_pos(pos, cord, 0); CORD_pos_valid(pos); CORD_next(pos))
-
-
-/* An out of memory handler to call. May be supplied by client. */
-/* Must not return. */
-extern void (* CORD_oom_fn)(void);
-
-/* Dump the representation of x to stdout in an implementation defined */
-/* manner. Intended for debugging only. */
-void CORD_dump(CORD x);
-
-/* The following could easily be implemented by the client. They are */
-/* provided in cordxtra.c for convenience. */
-
-/* Concatenate a character to the end of a cord. */
-CORD CORD_cat_char(CORD x, char c);
-
-/* Concatenate n cords. */
-CORD CORD_catn(int n, /* CORD */ ...);
-
-/* Return the character in CORD_substr(x, i, 1) */
-char CORD_fetch(CORD x, size_t i);
-
-/* Return < 0, 0, or > 0, depending on whether x < y, x = y, x > y */
-int CORD_cmp(CORD x, CORD y);
-
-/* A generalization that takes both starting positions for the */
-/* comparison, and a limit on the number of characters to be compared. */
-int CORD_ncmp(CORD x, size_t x_start, CORD y, size_t y_start, size_t len);
-
-/* Find the first occurrence of s in x at position start or later. */
-/* Return the position of the first character of s in x, or */
-/* CORD_NOT_FOUND if there is none. */
-size_t CORD_str(CORD x, size_t start, CORD s);
-
-/* Return a cord consisting of i copies of (possibly NUL) c. Dangerous */
-/* in conjunction with CORD_to_char_star. */
-/* The resulting representation takes constant space, independent of i. */
-CORD CORD_chars(char c, size_t i);
-# define CORD_nul(i) CORD_chars('\0', (i))
-
-/* Turn a file into cord. The file must be seekable. Its contents */
-/* must remain constant. The file may be accessed as an immediate */
-/* result of this call and/or as a result of subsequent accesses to */
-/* the cord. Short files are likely to be immediately read, but */
-/* long files are likely to be read on demand, possibly relying on */
-/* stdio for buffering. */
-/* We must have exclusive access to the descriptor f, i.e. we may */
-/* read it at any time, and expect the file pointer to be */
-/* where we left it. Normally this should be invoked as */
-/* CORD_from_file(fopen(...)) */
-/* CORD_from_file arranges to close the file descriptor when it is no */
-/* longer needed (e.g. when the result becomes inaccessible). */
-/* The file f must be such that ftell reflects the actual character */
-/* position in the file, i.e. the number of characters that can be */
-/* or were read with fread. On UNIX systems this is always true. On */
-/* MS Windows systems, f must be opened in binary mode. */
-CORD CORD_from_file(FILE * f);
-
-/* Equivalent to the above, except that the entire file will be read */
-/* and the file pointer will be closed immediately. */
-/* The binary mode restriction from above does not apply. */
-CORD CORD_from_file_eager(FILE * f);
-
-/* Equivalent to the above, except that the file will be read on demand.*/
-/* The binary mode restriction applies. */
-CORD CORD_from_file_lazy(FILE * f);
-
-/* Turn a cord into a C string. The result shares no structure with */
-/* x, and is thus modifiable. */
-char * CORD_to_char_star(CORD x);
-
-/* Turn a C string into a CORD. The C string is copied, and so may */
-/* subsequently be modified. */
-CORD CORD_from_char_star(const char *s);
-
-/* Identical to the above, but the result may share structure with */
-/* the argument and is thus not modifiable. */
-const char * CORD_to_const_char_star(CORD x);
-
-/* Write a cord to a file, starting at the current position. No */
-/* trailing NULs are newlines are added. */
-/* Returns EOF if a write error occurs, 1 otherwise. */
-int CORD_put(CORD x, FILE * f);
-
-/* "Not found" result for the following two functions. */
-# define CORD_NOT_FOUND ((size_t)(-1))
-
-/* A vague analog of strchr. Returns the position (an integer, not */
-/* a pointer) of the first occurrence of (char) c inside x at position */
-/* i or later. The value i must be < CORD_len(x). */
-size_t CORD_chr(CORD x, size_t i, int c);
-
-/* A vague analog of strrchr. Returns index of the last occurrence */
-/* of (char) c inside x at position i or earlier. The value i */
-/* must be < CORD_len(x). */
-size_t CORD_rchr(CORD x, size_t i, int c);
-
-
-/* The following are also not primitive, but are implemented in */
-/* cordprnt.c. They provide functionality similar to the ANSI C */
-/* functions with corresponding names, but with the following */
-/* additions and changes: */
-/* 1. A %r conversion specification specifies a CORD argument. Field */
-/* width, precision, etc. have the same semantics as for %s. */
-/* (Note that %c,%C, and %S were already taken.) */
-/* 2. The format string is represented as a CORD. */
-/* 3. CORD_sprintf and CORD_vsprintf assign the result through the 1st */ /* argument. Unlike their ANSI C versions, there is no need to guess */
-/* the correct buffer size. */
-/* 4. Most of the conversions are implement through the native */
-/* vsprintf. Hence they are usually no faster, and */
-/* idiosyncracies of the native printf are preserved. However, */
-/* CORD arguments to CORD_sprintf and CORD_vsprintf are NOT copied; */
-/* the result shares the original structure. This may make them */
-/* very efficient in some unusual applications. */
-/* The format string is copied. */
-/* All functions return the number of characters generated or -1 on */
-/* error. This complies with the ANSI standard, but is inconsistent */
-/* with some older implementations of sprintf. */
-
-/* The implementation of these is probably less portable than the rest */
-/* of this package. */
-
-#ifndef CORD_NO_IO
-
-#include <stdarg.h>
-
-int CORD_sprintf(CORD * out, CORD format, ...);
-int CORD_vsprintf(CORD * out, CORD format, va_list args);
-int CORD_fprintf(FILE * f, CORD format, ...);
-int CORD_vfprintf(FILE * f, CORD format, va_list args);
-int CORD_printf(CORD format, ...);
-int CORD_vprintf(CORD format, va_list args);
-
-#endif /* CORD_NO_IO */
-
-# endif /* CORD_H */
diff --git a/boehm-gc/cord/cordbscs.c b/boehm-gc/cord/cordbscs.c
deleted file mode 100644
index b75f5812f17..00000000000
--- a/boehm-gc/cord/cordbscs.c
+++ /dev/null
@@ -1,916 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm@parc.xerox.com)
- */
-/* Boehm, October 3, 1994 5:19 pm PDT */
-# include "gc.h"
-# include "cord.h"
-# include <stdlib.h>
-# include <stdio.h>
-# include <string.h>
-
-/* An implementation of the cord primitives. These are the only */
-/* Functions that understand the representation. We perform only */
-/* minimal checks on arguments to these functions. Out of bounds */
-/* arguments to the iteration functions may result in client functions */
-/* invoked on garbage data. In most cases, client functions should be */
-/* programmed defensively enough that this does not result in memory */
-/* smashes. */
-
-typedef void (* oom_fn)(void);
-
-oom_fn CORD_oom_fn = (oom_fn) 0;
-
-# define OUT_OF_MEMORY { if (CORD_oom_fn != (oom_fn) 0) (*CORD_oom_fn)(); \
- ABORT("Out of memory\n"); }
-# define ABORT(msg) { fprintf(stderr, "%s\n", msg); abort(); }
-
-typedef unsigned long word;
-
-typedef union {
- struct Concatenation {
- char null;
- char header;
- char depth; /* concatenation nesting depth. */
- unsigned char left_len;
- /* Length of left child if it is sufficiently */
- /* short; 0 otherwise. */
-# define MAX_LEFT_LEN 255
- word len;
- CORD left; /* length(left) > 0 */
- CORD right; /* length(right) > 0 */
- } concatenation;
- struct Function {
- char null;
- char header;
- char depth; /* always 0 */
- char left_len; /* always 0 */
- word len;
- CORD_fn fn;
- void * client_data;
- } function;
- struct Generic {
- char null;
- char header;
- char depth;
- char left_len;
- word len;
- } generic;
- char string[1];
-} CordRep;
-
-# define CONCAT_HDR 1
-
-# define FN_HDR 4
-# define SUBSTR_HDR 6
- /* Substring nodes are a special case of function nodes. */
- /* The client_data field is known to point to a substr_args */
- /* structure, and the function is either CORD_apply_access_fn */
- /* or CORD_index_access_fn. */
-
-/* The following may be applied only to function and concatenation nodes: */
-#define IS_CONCATENATION(s) (((CordRep *)s)->generic.header == CONCAT_HDR)
-
-#define IS_FUNCTION(s) ((((CordRep *)s)->generic.header & FN_HDR) != 0)
-
-#define IS_SUBSTR(s) (((CordRep *)s)->generic.header == SUBSTR_HDR)
-
-#define LEN(s) (((CordRep *)s) -> generic.len)
-#define DEPTH(s) (((CordRep *)s) -> generic.depth)
-#define GEN_LEN(s) (CORD_IS_STRING(s) ? strlen(s) : LEN(s))
-
-#define LEFT_LEN(c) ((c) -> left_len != 0? \
- (c) -> left_len \
- : (CORD_IS_STRING((c) -> left) ? \
- (c) -> len - GEN_LEN((c) -> right) \
- : LEN((c) -> left)))
-
-#define SHORT_LIMIT (sizeof(CordRep) - 1)
- /* Cords shorter than this are C strings */
-
-
-/* Dump the internal representation of x to stdout, with initial */
-/* indentation level n. */
-void CORD_dump_inner(CORD x, unsigned n)
-{
- register size_t i;
-
- for (i = 0; i < (size_t)n; i++) {
- fputs(" ", stdout);
- }
- if (x == 0) {
- fputs("NIL\n", stdout);
- } else if (CORD_IS_STRING(x)) {
- for (i = 0; i <= SHORT_LIMIT; i++) {
- if (x[i] == '\0') break;
- putchar(x[i]);
- }
- if (x[i] != '\0') fputs("...", stdout);
- putchar('\n');
- } else if (IS_CONCATENATION(x)) {
- register struct Concatenation * conc =
- &(((CordRep *)x) -> concatenation);
- printf("Concatenation: %p (len: %d, depth: %d)\n",
- x, (int)(conc -> len), (int)(conc -> depth));
- CORD_dump_inner(conc -> left, n+1);
- CORD_dump_inner(conc -> right, n+1);
- } else /* function */{
- register struct Function * func =
- &(((CordRep *)x) -> function);
- if (IS_SUBSTR(x)) printf("(Substring) ");
- printf("Function: %p (len: %d): ", x, (int)(func -> len));
- for (i = 0; i < 20 && i < func -> len; i++) {
- putchar((*(func -> fn))(i, func -> client_data));
- }
- if (i < func -> len) fputs("...", stdout);
- putchar('\n');
- }
-}
-
-/* Dump the internal representation of x to stdout */
-void CORD_dump(CORD x)
-{
- CORD_dump_inner(x, 0);
- fflush(stdout);
-}
-
-CORD CORD_cat_char_star(CORD x, const char * y, size_t leny)
-{
- register size_t result_len;
- register size_t lenx;
- register int depth;
-
- if (x == CORD_EMPTY) return(y);
- if (leny == 0) return(x);
- if (CORD_IS_STRING(x)) {
- lenx = strlen(x);
- result_len = lenx + leny;
- if (result_len <= SHORT_LIMIT) {
- register char * result = GC_MALLOC_ATOMIC(result_len+1);
-
- if (result == 0) OUT_OF_MEMORY;
- memcpy(result, x, lenx);
- memcpy(result + lenx, y, leny);
- result[result_len] = '\0';
- return((CORD) result);
- } else {
- depth = 1;
- }
- } else {
- register CORD right;
- register CORD left;
- register char * new_right;
- register size_t right_len;
-
- lenx = LEN(x);
-
- if (leny <= SHORT_LIMIT/2
- && IS_CONCATENATION(x)
- && CORD_IS_STRING(right = ((CordRep *)x) -> concatenation.right)) {
- /* Merge y into right part of x. */
- if (!CORD_IS_STRING(left = ((CordRep *)x) -> concatenation.left)) {
- right_len = lenx - LEN(left);
- } else if (((CordRep *)x) -> concatenation.left_len != 0) {
- right_len = lenx - ((CordRep *)x) -> concatenation.left_len;
- } else {
- right_len = strlen(right);
- }
- result_len = right_len + leny; /* length of new_right */
- if (result_len <= SHORT_LIMIT) {
- new_right = GC_MALLOC_ATOMIC(result_len + 1);
- memcpy(new_right, right, right_len);
- memcpy(new_right + right_len, y, leny);
- new_right[result_len] = '\0';
- y = new_right;
- leny = result_len;
- x = left;
- lenx -= right_len;
- /* Now fall through to concatenate the two pieces: */
- }
- if (CORD_IS_STRING(x)) {
- depth = 1;
- } else {
- depth = DEPTH(x) + 1;
- }
- } else {
- depth = DEPTH(x) + 1;
- }
- result_len = lenx + leny;
- }
- {
- /* The general case; lenx, result_len is known: */
- register struct Concatenation * result;
-
- result = GC_NEW(struct Concatenation);
- if (result == 0) OUT_OF_MEMORY;
- result->header = CONCAT_HDR;
- result->depth = depth;
- if (lenx <= MAX_LEFT_LEN) result->left_len = lenx;
- result->len = result_len;
- result->left = x;
- result->right = y;
- if (depth > MAX_DEPTH) {
- return(CORD_balance((CORD)result));
- } else {
- return((CORD) result);
- }
- }
-}
-
-
-CORD CORD_cat(CORD x, CORD y)
-{
- register size_t result_len;
- register int depth;
- register size_t lenx;
-
- if (x == CORD_EMPTY) return(y);
- if (y == CORD_EMPTY) return(x);
- if (CORD_IS_STRING(y)) {
- return(CORD_cat_char_star(x, y, strlen(y)));
- } else if (CORD_IS_STRING(x)) {
- lenx = strlen(x);
- depth = DEPTH(y) + 1;
- } else {
- register int depthy = DEPTH(y);
-
- lenx = LEN(x);
- depth = DEPTH(x) + 1;
- if (depthy >= depth) depth = depthy + 1;
- }
- result_len = lenx + LEN(y);
- {
- register struct Concatenation * result;
-
- result = GC_NEW(struct Concatenation);
- if (result == 0) OUT_OF_MEMORY;
- result->header = CONCAT_HDR;
- result->depth = depth;
- if (lenx <= MAX_LEFT_LEN) result->left_len = lenx;
- result->len = result_len;
- result->left = x;
- result->right = y;
- return((CORD) result);
- }
-}
-
-
-
-CORD CORD_from_fn(CORD_fn fn, void * client_data, size_t len)
-{
- if (len <= 0) return(0);
- if (len <= SHORT_LIMIT) {
- register char * result;
- register size_t i;
- char buf[SHORT_LIMIT+1];
- register char c;
-
- for (i = 0; i < len; i++) {
- c = (*fn)(i, client_data);
- if (c == '\0') goto gen_case;
- buf[i] = c;
- }
- buf[i] = '\0';
- result = GC_MALLOC_ATOMIC(len+1);
- if (result == 0) OUT_OF_MEMORY;
- strcpy(result, buf);
- result[len] = '\0';
- return((CORD) result);
- }
- gen_case:
- {
- register struct Function * result;
-
- result = GC_NEW(struct Function);
- if (result == 0) OUT_OF_MEMORY;
- result->header = FN_HDR;
- /* depth is already 0 */
- result->len = len;
- result->fn = fn;
- result->client_data = client_data;
- return((CORD) result);
- }
-}
-
-size_t CORD_len(CORD x)
-{
- if (x == 0) {
- return(0);
- } else {
- return(GEN_LEN(x));
- }
-}
-
-struct substr_args {
- CordRep * sa_cord;
- size_t sa_index;
-};
-
-char CORD_index_access_fn(size_t i, void * client_data)
-{
- register struct substr_args *descr = (struct substr_args *)client_data;
-
- return(((char *)(descr->sa_cord))[i + descr->sa_index]);
-}
-
-char CORD_apply_access_fn(size_t i, void * client_data)
-{
- register struct substr_args *descr = (struct substr_args *)client_data;
- register struct Function * fn_cord = &(descr->sa_cord->function);
-
- return((*(fn_cord->fn))(i + descr->sa_index, fn_cord->client_data));
-}
-
-/* A version of CORD_substr that simply returns a function node, thus */
-/* postponing its work. The fourth argument is a function that may */
-/* be used for efficient access to the ith character. */
-/* Assumes i >= 0 and i + n < length(x). */
-CORD CORD_substr_closure(CORD x, size_t i, size_t n, CORD_fn f)
-{
- register struct substr_args * sa = GC_NEW(struct substr_args);
- CORD result;
-
- if (sa == 0) OUT_OF_MEMORY;
- sa->sa_cord = (CordRep *)x;
- sa->sa_index = i;
- result = CORD_from_fn(f, (void *)sa, n);
- ((CordRep *)result) -> function.header = SUBSTR_HDR;
- return (result);
-}
-
-# define SUBSTR_LIMIT (10 * SHORT_LIMIT)
- /* Substrings of function nodes and flat strings shorter than */
- /* this are flat strings. Othewise we use a functional */
- /* representation, which is significantly slower to access. */
-
-/* A version of CORD_substr that assumes i >= 0, n > 0, and i + n < length(x).*/
-CORD CORD_substr_checked(CORD x, size_t i, size_t n)
-{
- if (CORD_IS_STRING(x)) {
- if (n > SUBSTR_LIMIT) {
- return(CORD_substr_closure(x, i, n, CORD_index_access_fn));
- } else {
- register char * result = GC_MALLOC_ATOMIC(n+1);
- register char * p = result;
-
- if (result == 0) OUT_OF_MEMORY;
- strncpy(result, x+i, n);
- result[n] = '\0';
- return(result);
- }
- } else if (IS_CONCATENATION(x)) {
- register struct Concatenation * conc
- = &(((CordRep *)x) -> concatenation);
- register size_t left_len;
- register size_t right_len;
-
- left_len = LEFT_LEN(conc);
- right_len = conc -> len - left_len;
- if (i >= left_len) {
- if (n == right_len) return(conc -> right);
- return(CORD_substr_checked(conc -> right, i - left_len, n));
- } else if (i+n <= left_len) {
- if (n == left_len) return(conc -> left);
- return(CORD_substr_checked(conc -> left, i, n));
- } else {
- /* Need at least one character from each side. */
- register CORD left_part;
- register CORD right_part;
- register size_t left_part_len = left_len - i;
-
- if (i == 0) {
- left_part = conc -> left;
- } else {
- left_part = CORD_substr_checked(conc -> left, i, left_part_len);
- }
- if (i + n == right_len + left_len) {
- right_part = conc -> right;
- } else {
- right_part = CORD_substr_checked(conc -> right, 0,
- n - left_part_len);
- }
- return(CORD_cat(left_part, right_part));
- }
- } else /* function */ {
- if (n > SUBSTR_LIMIT) {
- if (IS_SUBSTR(x)) {
- /* Avoid nesting substring nodes. */
- register struct Function * f = &(((CordRep *)x) -> function);
- register struct substr_args *descr =
- (struct substr_args *)(f -> client_data);
-
- return(CORD_substr_closure((CORD)descr->sa_cord,
- i + descr->sa_index,
- n, f -> fn));
- } else {
- return(CORD_substr_closure(x, i, n, CORD_apply_access_fn));
- }
- } else {
- char * result;
- register struct Function * f = &(((CordRep *)x) -> function);
- char buf[SUBSTR_LIMIT+1];
- register char * p = buf;
- register char c;
- register int j;
- register int lim = i + n;
-
- for (j = i; j < lim; j++) {
- c = (*(f -> fn))(j, f -> client_data);
- if (c == '\0') {
- return(CORD_substr_closure(x, i, n, CORD_apply_access_fn));
- }
- *p++ = c;
- }
- *p = '\0';
- result = GC_MALLOC_ATOMIC(n+1);
- if (result == 0) OUT_OF_MEMORY;
- strcpy(result, buf);
- return(result);
- }
- }
-}
-
-CORD CORD_substr(CORD x, size_t i, size_t n)
-{
- register size_t len = CORD_len(x);
-
- if (i >= len || n <= 0) return(0);
- /* n < 0 is impossible in a correct C implementation, but */
- /* quite possible under SunOS 4.X. */
- if (i + n > len) n = len - i;
-# ifndef __STDC__
- if (i < 0) ABORT("CORD_substr: second arg. negative");
- /* Possible only if both client and C implementation are buggy. */
- /* But empirically this happens frequently. */
-# endif
- return(CORD_substr_checked(x, i, n));
-}
-
-/* See cord.h for definition. We assume i is in range. */
-int CORD_iter5(CORD x, size_t i, CORD_iter_fn f1,
- CORD_batched_iter_fn f2, void * client_data)
-{
- if (x == 0) return(0);
- if (CORD_IS_STRING(x)) {
- register const char *p = x+i;
-
- if (*p == '\0') ABORT("2nd arg to CORD_iter5 too big");
- if (f2 != CORD_NO_FN) {
- return((*f2)(p, client_data));
- } else {
- while (*p) {
- if ((*f1)(*p, client_data)) return(1);
- p++;
- }
- return(0);
- }
- } else if (IS_CONCATENATION(x)) {
- register struct Concatenation * conc
- = &(((CordRep *)x) -> concatenation);
-
-
- if (i > 0) {
- register size_t left_len = LEFT_LEN(conc);
-
- if (i >= left_len) {
- return(CORD_iter5(conc -> right, i - left_len, f1, f2,
- client_data));
- }
- }
- if (CORD_iter5(conc -> left, i, f1, f2, client_data)) {
- return(1);
- }
- return(CORD_iter5(conc -> right, 0, f1, f2, client_data));
- } else /* function */ {
- register struct Function * f = &(((CordRep *)x) -> function);
- register size_t j;
- register size_t lim = f -> len;
-
- for (j = i; j < lim; j++) {
- if ((*f1)((*(f -> fn))(j, f -> client_data), client_data)) {
- return(1);
- }
- }
- return(0);
- }
-}
-
-#undef CORD_iter
-int CORD_iter(CORD x, CORD_iter_fn f1, void * client_data)
-{
- return(CORD_iter5(x, 0, f1, CORD_NO_FN, client_data));
-}
-
-int CORD_riter4(CORD x, size_t i, CORD_iter_fn f1, void * client_data)
-{
- if (x == 0) return(0);
- if (CORD_IS_STRING(x)) {
- register const char *p = x + i;
- register char c;
-
- for(;;) {
- c = *p;
- if (c == '\0') ABORT("2nd arg to CORD_riter4 too big");
- if ((*f1)(c, client_data)) return(1);
- if (p == x) break;
- p--;
- }
- return(0);
- } else if (IS_CONCATENATION(x)) {
- register struct Concatenation * conc
- = &(((CordRep *)x) -> concatenation);
- register CORD left_part = conc -> left;
- register size_t left_len;
-
- left_len = LEFT_LEN(conc);
- if (i >= left_len) {
- if (CORD_riter4(conc -> right, i - left_len, f1, client_data)) {
- return(1);
- }
- return(CORD_riter4(left_part, left_len - 1, f1, client_data));
- } else {
- return(CORD_riter4(left_part, i, f1, client_data));
- }
- } else /* function */ {
- register struct Function * f = &(((CordRep *)x) -> function);
- register size_t j;
-
- for (j = i; ; j--) {
- if ((*f1)((*(f -> fn))(j, f -> client_data), client_data)) {
- return(1);
- }
- if (j == 0) return(0);
- }
- }
-}
-
-int CORD_riter(CORD x, CORD_iter_fn f1, void * client_data)
-{
- return(CORD_riter4(x, CORD_len(x) - 1, f1, client_data));
-}
-
-/*
- * The following functions are concerned with balancing cords.
- * Strategy:
- * Scan the cord from left to right, keeping the cord scanned so far
- * as a forest of balanced trees of exponentialy decreasing length.
- * When a new subtree needs to be added to the forest, we concatenate all
- * shorter ones to the new tree in the appropriate order, and then insert
- * the result into the forest.
- * Crucial invariants:
- * 1. The concatenation of the forest (in decreasing order) with the
- * unscanned part of the rope is equal to the rope being balanced.
- * 2. All trees in the forest are balanced.
- * 3. forest[i] has depth at most i.
- */
-
-typedef struct {
- CORD c;
- size_t len; /* Actual length of c */
-} ForestElement;
-
-static size_t min_len [ MAX_DEPTH ];
-
-static int min_len_init = 0;
-
-int CORD_max_len;
-
-typedef ForestElement Forest [ MAX_DEPTH ];
- /* forest[i].len >= fib(i+1) */
- /* The string is the concatenation */
- /* of the forest in order of DECREASING */
- /* indices. */
-
-void CORD_init_min_len()
-{
- register int i;
- register size_t last, previous, current;
-
- min_len[0] = previous = 1;
- min_len[1] = last = 2;
- for (i = 2; i < MAX_DEPTH; i++) {
- current = last + previous;
- if (current < last) /* overflow */ current = last;
- min_len[i] = current;
- previous = last;
- last = current;
- }
- CORD_max_len = last - 1;
- min_len_init = 1;
-}
-
-
-void CORD_init_forest(ForestElement * forest, size_t max_len)
-{
- register int i;
-
- for (i = 0; i < MAX_DEPTH; i++) {
- forest[i].c = 0;
- if (min_len[i] > max_len) return;
- }
- ABORT("Cord too long");
-}
-
-/* Add a leaf to the appropriate level in the forest, cleaning */
-/* out lower levels as necessary. */
-/* Also works if x is a balanced tree of concatenations; however */
-/* in this case an extra concatenation node may be inserted above x; */
-/* This node should not be counted in the statement of the invariants. */
-void CORD_add_forest(ForestElement * forest, CORD x, size_t len)
-{
- register int i = 0;
- register CORD sum = CORD_EMPTY;
- register size_t sum_len = 0;
-
- while (len > min_len[i + 1]) {
- if (forest[i].c != 0) {
- sum = CORD_cat(forest[i].c, sum);
- sum_len += forest[i].len;
- forest[i].c = 0;
- }
- i++;
- }
- /* Sum has depth at most 1 greter than what would be required */
- /* for balance. */
- sum = CORD_cat(sum, x);
- sum_len += len;
- /* If x was a leaf, then sum is now balanced. To see this */
- /* consider the two cases in which forest[i-1] either is or is */
- /* not empty. */
- while (sum_len >= min_len[i]) {
- if (forest[i].c != 0) {
- sum = CORD_cat(forest[i].c, sum);
- sum_len += forest[i].len;
- /* This is again balanced, since sum was balanced, and has */
- /* allowable depth that differs from i by at most 1. */
- forest[i].c = 0;
- }
- i++;
- }
- i--;
- forest[i].c = sum;
- forest[i].len = sum_len;
-}
-
-CORD CORD_concat_forest(ForestElement * forest, size_t expected_len)
-{
- register int i = 0;
- CORD sum = 0;
- size_t sum_len = 0;
-
- while (sum_len != expected_len) {
- if (forest[i].c != 0) {
- sum = CORD_cat(forest[i].c, sum);
- sum_len += forest[i].len;
- }
- i++;
- }
- return(sum);
-}
-
-/* Insert the frontier of x into forest. Balanced subtrees are */
-/* treated as leaves. This potentially adds one to the depth */
-/* of the final tree. */
-void CORD_balance_insert(CORD x, size_t len, ForestElement * forest)
-{
- register int depth;
-
- if (CORD_IS_STRING(x)) {
- CORD_add_forest(forest, x, len);
- } else if (IS_CONCATENATION(x)
- && ((depth = DEPTH(x)) >= MAX_DEPTH
- || len < min_len[depth])) {
- register struct Concatenation * conc
- = &(((CordRep *)x) -> concatenation);
- size_t left_len = LEFT_LEN(conc);
-
- CORD_balance_insert(conc -> left, left_len, forest);
- CORD_balance_insert(conc -> right, len - left_len, forest);
- } else /* function or balanced */ {
- CORD_add_forest(forest, x, len);
- }
-}
-
-
-CORD CORD_balance(CORD x)
-{
- Forest forest;
- register size_t len;
-
- if (x == 0) return(0);
- if (CORD_IS_STRING(x)) return(x);
- if (!min_len_init) CORD_init_min_len();
- len = LEN(x);
- CORD_init_forest(forest, len);
- CORD_balance_insert(x, len, forest);
- return(CORD_concat_forest(forest, len));
-}
-
-
-/* Position primitives */
-
-/* Private routines to deal with the hard cases only: */
-
-/* P contains a prefix of the path to cur_pos. Extend it to a full */
-/* path and set up leaf info. */
-/* Return 0 if past the end of cord, 1 o.w. */
-void CORD__extend_path(register CORD_pos p)
-{
- register struct CORD_pe * current_pe = &(p[0].path[p[0].path_len]);
- register CORD top = current_pe -> pe_cord;
- register size_t pos = p[0].cur_pos;
- register size_t top_pos = current_pe -> pe_start_pos;
- register size_t top_len = GEN_LEN(top);
-
- /* Fill in the rest of the path. */
- while(!CORD_IS_STRING(top) && IS_CONCATENATION(top)) {
- register struct Concatenation * conc =
- &(((CordRep *)top) -> concatenation);
- register size_t left_len;
-
- left_len = LEFT_LEN(conc);
- current_pe++;
- if (pos >= top_pos + left_len) {
- current_pe -> pe_cord = top = conc -> right;
- current_pe -> pe_start_pos = top_pos = top_pos + left_len;
- top_len -= left_len;
- } else {
- current_pe -> pe_cord = top = conc -> left;
- current_pe -> pe_start_pos = top_pos;
- top_len = left_len;
- }
- p[0].path_len++;
- }
- /* Fill in leaf description for fast access. */
- if (CORD_IS_STRING(top)) {
- p[0].cur_leaf = top;
- p[0].cur_start = top_pos;
- p[0].cur_end = top_pos + top_len;
- } else {
- p[0].cur_end = 0;
- }
- if (pos >= top_pos + top_len) p[0].path_len = CORD_POS_INVALID;
-}
-
-char CORD__pos_fetch(register CORD_pos p)
-{
- /* Leaf is a function node */
- struct CORD_pe * pe = &((p)[0].path[(p)[0].path_len]);
- CORD leaf = pe -> pe_cord;
- register struct Function * f = &(((CordRep *)leaf) -> function);
-
- if (!IS_FUNCTION(leaf)) ABORT("CORD_pos_fetch: bad leaf");
- return ((*(f -> fn))(p[0].cur_pos - pe -> pe_start_pos, f -> client_data));
-}
-
-void CORD__next(register CORD_pos p)
-{
- register size_t cur_pos = p[0].cur_pos + 1;
- register struct CORD_pe * current_pe = &((p)[0].path[(p)[0].path_len]);
- register CORD leaf = current_pe -> pe_cord;
-
- /* Leaf is not a string or we're at end of leaf */
- p[0].cur_pos = cur_pos;
- if (!CORD_IS_STRING(leaf)) {
- /* Function leaf */
- register struct Function * f = &(((CordRep *)leaf) -> function);
- register size_t start_pos = current_pe -> pe_start_pos;
- register size_t end_pos = start_pos + f -> len;
-
- if (cur_pos < end_pos) {
- /* Fill cache and return. */
- register size_t i;
- register size_t limit = cur_pos + FUNCTION_BUF_SZ;
- register CORD_fn fn = f -> fn;
- register void * client_data = f -> client_data;
-
- if (limit > end_pos) {
- limit = end_pos;
- }
- for (i = cur_pos; i < limit; i++) {
- p[0].function_buf[i - cur_pos] =
- (*fn)(i - start_pos, client_data);
- }
- p[0].cur_start = cur_pos;
- p[0].cur_leaf = p[0].function_buf;
- p[0].cur_end = limit;
- return;
- }
- }
- /* End of leaf */
- /* Pop the stack until we find two concatenation nodes with the */
- /* same start position: this implies we were in left part. */
- {
- while (p[0].path_len > 0
- && current_pe[0].pe_start_pos != current_pe[-1].pe_start_pos) {
- p[0].path_len--;
- current_pe--;
- }
- if (p[0].path_len == 0) {
- p[0].path_len = CORD_POS_INVALID;
- return;
- }
- }
- p[0].path_len--;
- CORD__extend_path(p);
-}
-
-void CORD__prev(register CORD_pos p)
-{
- register struct CORD_pe * pe = &(p[0].path[p[0].path_len]);
-
- if (p[0].cur_pos == 0) {
- p[0].path_len = CORD_POS_INVALID;
- return;
- }
- p[0].cur_pos--;
- if (p[0].cur_pos >= pe -> pe_start_pos) return;
-
- /* Beginning of leaf */
-
- /* Pop the stack until we find two concatenation nodes with the */
- /* different start position: this implies we were in right part. */
- {
- register struct CORD_pe * current_pe = &((p)[0].path[(p)[0].path_len]);
-
- while (p[0].path_len > 0
- && current_pe[0].pe_start_pos == current_pe[-1].pe_start_pos) {
- p[0].path_len--;
- current_pe--;
- }
- }
- p[0].path_len--;
- CORD__extend_path(p);
-}
-
-#undef CORD_pos_fetch
-#undef CORD_next
-#undef CORD_prev
-#undef CORD_pos_to_index
-#undef CORD_pos_to_cord
-#undef CORD_pos_valid
-
-char CORD_pos_fetch(register CORD_pos p)
-{
- if (p[0].cur_start <= p[0].cur_pos && p[0].cur_pos < p[0].cur_end) {
- return(p[0].cur_leaf[p[0].cur_pos - p[0].cur_start]);
- } else {
- return(CORD__pos_fetch(p));
- }
-}
-
-void CORD_next(CORD_pos p)
-{
- if (p[0].cur_pos < p[0].cur_end - 1) {
- p[0].cur_pos++;
- } else {
- CORD__next(p);
- }
-}
-
-void CORD_prev(CORD_pos p)
-{
- if (p[0].cur_end != 0 && p[0].cur_pos > p[0].cur_start) {
- p[0].cur_pos--;
- } else {
- CORD__prev(p);
- }
-}
-
-size_t CORD_pos_to_index(CORD_pos p)
-{
- return(p[0].cur_pos);
-}
-
-CORD CORD_pos_to_cord(CORD_pos p)
-{
- return(p[0].path[0].pe_cord);
-}
-
-int CORD_pos_valid(CORD_pos p)
-{
- return(p[0].path_len != CORD_POS_INVALID);
-}
-
-void CORD_set_pos(CORD_pos p, CORD x, size_t i)
-{
- if (x == CORD_EMPTY) {
- p[0].path_len = CORD_POS_INVALID;
- return;
- }
- p[0].path[0].pe_cord = x;
- p[0].path[0].pe_start_pos = 0;
- p[0].path_len = 0;
- p[0].cur_pos = i;
- CORD__extend_path(p);
-}
diff --git a/boehm-gc/cord/cordprnt.c b/boehm-gc/cord/cordprnt.c
deleted file mode 100644
index 667560f2592..00000000000
--- a/boehm-gc/cord/cordprnt.c
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* An sprintf implementation that understands cords. This is probably */
-/* not terribly portable. It assumes an ANSI stdarg.h. It further */
-/* assumes that I can make copies of va_list variables, and read */
-/* arguments repeatedly by applyting va_arg to the copies. This */
-/* could be avoided at some performance cost. */
-/* We also assume that unsigned and signed integers of various kinds */
-/* have the same sizes, and can be cast back and forth. */
-/* We assume that void * and char * have the same size. */
-/* All this cruft is needed because we want to rely on the underlying */
-/* sprintf implementation whenever possible. */
-/* Boehm, September 21, 1995 6:00 pm PDT */
-
-#include "cord.h"
-#include "ec.h"
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include "gc.h"
-
-#define CONV_SPEC_LEN 50 /* Maximum length of a single */
- /* conversion specification. */
-#define CONV_RESULT_LEN 50 /* Maximum length of any */
- /* conversion with default */
- /* width and prec. */
-
-
-static int ec_len(CORD_ec x)
-{
- return(CORD_len(x[0].ec_cord) + (x[0].ec_bufptr - x[0].ec_buf));
-}
-
-/* Possible nonumeric precision values. */
-# define NONE -1
-# define VARIABLE -2
-/* Copy the conversion specification from CORD_pos into the buffer buf */
-/* Return negative on error. */
-/* Source initially points one past the leading %. */
-/* It is left pointing at the conversion type. */
-/* Assign field width and precision to *width and *prec. */
-/* If width or prec is *, VARIABLE is assigned. */
-/* Set *left to 1 if left adjustment flag is present. */
-/* Set *long_arg to 1 if long flag ('l' or 'L') is present, or to */
-/* -1 if 'h' is present. */
-static int extract_conv_spec(CORD_pos source, char *buf,
- int * width, int *prec, int *left, int * long_arg)
-{
- register int result = 0;
- register int current_number = 0;
- register int saw_period = 0;
- register int saw_number;
- register int chars_so_far = 0;
- register char current;
-
- *width = NONE;
- buf[chars_so_far++] = '%';
- while(CORD_pos_valid(source)) {
- if (chars_so_far >= CONV_SPEC_LEN) return(-1);
- current = CORD_pos_fetch(source);
- buf[chars_so_far++] = current;
- switch(current) {
- case '*':
- saw_number = 1;
- current_number = VARIABLE;
- break;
- case '0':
- if (!saw_number) {
- /* Zero fill flag; ignore */
- break;
- } /* otherwise fall through: */
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- saw_number = 1;
- current_number *= 10;
- current_number += current - '0';
- break;
- case '.':
- saw_period = 1;
- if(saw_number) {
- *width = current_number;
- saw_number = 0;
- }
- current_number = 0;
- break;
- case 'l':
- case 'L':
- *long_arg = 1;
- current_number = 0;
- break;
- case 'h':
- *long_arg = -1;
- current_number = 0;
- break;
- case ' ':
- case '+':
- case '#':
- current_number = 0;
- break;
- case '-':
- *left = 1;
- current_number = 0;
- break;
- case 'd':
- case 'i':
- case 'o':
- case 'u':
- case 'x':
- case 'X':
- case 'f':
- case 'e':
- case 'E':
- case 'g':
- case 'G':
- case 'c':
- case 'C':
- case 's':
- case 'S':
- case 'p':
- case 'n':
- case 'r':
- goto done;
- default:
- return(-1);
- }
- CORD_next(source);
- }
- return(-1);
- done:
- if (saw_number) {
- if (saw_period) {
- *prec = current_number;
- } else {
- *prec = NONE;
- *width = current_number;
- }
- } else {
- *prec = NONE;
- }
- buf[chars_so_far] = '\0';
- return(result);
-}
-
-int CORD_vsprintf(CORD * out, CORD format, va_list args)
-{
- CORD_ec result;
- register int count;
- register char current;
- CORD_pos pos;
- char conv_spec[CONV_SPEC_LEN + 1];
-
- CORD_ec_init(result);
- for (CORD_set_pos(pos, format, 0); CORD_pos_valid(pos); CORD_next(pos)) {
- current = CORD_pos_fetch(pos);
- if (current == '%') {
- CORD_next(pos);
- if (!CORD_pos_valid(pos)) return(-1);
- current = CORD_pos_fetch(pos);
- if (current == '%') {
- CORD_ec_append(result, current);
- } else {
- int width, prec;
- int left_adj = 0;
- int long_arg = 0;
- CORD arg;
- size_t len;
-
- if (extract_conv_spec(pos, conv_spec,
- &width, &prec,
- &left_adj, &long_arg) < 0) {
- return(-1);
- }
- current = CORD_pos_fetch(pos);
- switch(current) {
- case 'n':
- /* Assign length to next arg */
- if (long_arg == 0) {
- int * pos_ptr;
- pos_ptr = va_arg(args, int *);
- *pos_ptr = ec_len(result);
- } else if (long_arg > 0) {
- long * pos_ptr;
- pos_ptr = va_arg(args, long *);
- *pos_ptr = ec_len(result);
- } else {
- short * pos_ptr;
- pos_ptr = va_arg(args, short *);
- *pos_ptr = ec_len(result);
- }
- goto done;
- case 'r':
- /* Append cord and any padding */
- if (width == VARIABLE) width = va_arg(args, int);
- if (prec == VARIABLE) prec = va_arg(args, int);
- arg = va_arg(args, CORD);
- len = CORD_len(arg);
- if (prec != NONE && len > prec) {
- if (prec < 0) return(-1);
- arg = CORD_substr(arg, 0, prec);
- len = prec;
- }
- if (width != NONE && len < width) {
- char * blanks = GC_MALLOC_ATOMIC(width-len+1);
-
- memset(blanks, ' ', width-len);
- blanks[width-len] = '\0';
- if (left_adj) {
- arg = CORD_cat(arg, blanks);
- } else {
- arg = CORD_cat(blanks, arg);
- }
- }
- CORD_ec_append_cord(result, arg);
- goto done;
- case 'c':
- if (width == NONE && prec == NONE) {
- register char c = va_arg(args, char);
-
- CORD_ec_append(result, c);
- goto done;
- }
- break;
- case 's':
- if (width == NONE && prec == NONE) {
- char * str = va_arg(args, char *);
- register char c;
-
- while (c = *str++) {
- CORD_ec_append(result, c);
- }
- goto done;
- }
- break;
- default:
- break;
- }
- /* Use standard sprintf to perform conversion */
- {
- register char * buf;
- va_list vsprintf_args = args;
- /* The above does not appear to be sanctioned */
- /* by the ANSI C standard. */
- int max_size = 0;
- int res;
-
- if (width == VARIABLE) width = va_arg(args, int);
- if (prec == VARIABLE) prec = va_arg(args, int);
- if (width != NONE) max_size = width;
- if (prec != NONE && prec > max_size) max_size = prec;
- max_size += CONV_RESULT_LEN;
- if (max_size >= CORD_BUFSZ) {
- buf = GC_MALLOC_ATOMIC(max_size + 1);
- } else {
- if (CORD_BUFSZ - (result[0].ec_bufptr-result[0].ec_buf)
- < max_size) {
- CORD_ec_flush_buf(result);
- }
- buf = result[0].ec_bufptr;
- }
- switch(current) {
- case 'd':
- case 'i':
- case 'o':
- case 'u':
- case 'x':
- case 'X':
- case 'c':
- if (long_arg <= 0) {
- (void) va_arg(args, int);
- } else if (long_arg > 0) {
- (void) va_arg(args, long);
- }
- break;
- case 's':
- case 'p':
- (void) va_arg(args, char *);
- break;
- case 'f':
- case 'e':
- case 'E':
- case 'g':
- case 'G':
- (void) va_arg(args, double);
- break;
- default:
- return(-1);
- }
- res = vsprintf(buf, conv_spec, vsprintf_args);
- len = (size_t)res;
- if ((char *)(GC_word)res == buf) {
- /* old style vsprintf */
- len = strlen(buf);
- } else if (res < 0) {
- return(-1);
- }
- if (buf != result[0].ec_bufptr) {
- register char c;
-
- while (c = *buf++) {
- CORD_ec_append(result, c);
- }
- } else {
- result[0].ec_bufptr = buf + len;
- }
- }
- done:;
- }
- } else {
- CORD_ec_append(result, current);
- }
- }
- count = ec_len(result);
- *out = CORD_balance(CORD_ec_to_cord(result));
- return(count);
-}
-
-int CORD_sprintf(CORD * out, CORD format, ...)
-{
- va_list args;
- int result;
-
- va_start(args, format);
- result = CORD_vsprintf(out, format, args);
- va_end(args);
- return(result);
-}
-
-int CORD_fprintf(FILE * f, CORD format, ...)
-{
- va_list args;
- int result;
- CORD out;
-
- va_start(args, format);
- result = CORD_vsprintf(&out, format, args);
- va_end(args);
- if (result > 0) CORD_put(out, f);
- return(result);
-}
-
-int CORD_vfprintf(FILE * f, CORD format, va_list args)
-{
- int result;
- CORD out;
-
- result = CORD_vsprintf(&out, format, args);
- if (result > 0) CORD_put(out, f);
- return(result);
-}
-
-int CORD_printf(CORD format, ...)
-{
- va_list args;
- int result;
- CORD out;
-
- va_start(args, format);
- result = CORD_vsprintf(&out, format, args);
- va_end(args);
- if (result > 0) CORD_put(out, stdout);
- return(result);
-}
-
-int CORD_vprintf(CORD format, va_list args)
-{
- int result;
- CORD out;
-
- result = CORD_vsprintf(&out, format, args);
- if (result > 0) CORD_put(out, stdout);
- return(result);
-}
diff --git a/boehm-gc/cord/cordtest.c b/boehm-gc/cord/cordtest.c
deleted file mode 100644
index d11d7dd44df..00000000000
--- a/boehm-gc/cord/cordtest.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, August 24, 1994 11:58 am PDT */
-# include "cord.h"
-# include <string.h>
-# include <stdio.h>
-/* This is a very incomplete test of the cord package. It knows about */
-/* a few internals of the package (e.g. when C strings are returned) */
-/* that real clients shouldn't rely on. */
-
-# define ABORT(string) \
-{ int x = 0; fprintf(stderr, "FAILED: %s\n", string); x = 1 / x; abort(); }
-
-int count;
-
-int test_fn(char c, void * client_data)
-{
- if (client_data != (void *)13) ABORT("bad client data");
- if (count < 64*1024+1) {
- if ((count & 1) == 0) {
- if (c != 'b') ABORT("bad char");
- } else {
- if (c != 'a') ABORT("bad char");
- }
- count++;
- return(0);
- } else {
- if (c != 'c') ABORT("bad char");
- count++;
- return(1);
- }
-}
-
-char id_cord_fn(size_t i, void * client_data)
-{
- return((char)i);
-}
-
-void test_basics()
-{
- CORD x = CORD_from_char_star("ab");
- register int i;
- char c;
- CORD y;
- CORD_pos p;
-
- x = CORD_cat(x,x);
- if (!CORD_IS_STRING(x)) ABORT("short cord should usually be a string");
- if (strcmp(x, "abab") != 0) ABORT("bad CORD_cat result");
-
- for (i = 1; i < 16; i++) {
- x = CORD_cat(x,x);
- }
- x = CORD_cat(x,"c");
- if (CORD_len(x) != 128*1024+1) ABORT("bad length");
-
- count = 0;
- if (CORD_iter5(x, 64*1024-1, test_fn, CORD_NO_FN, (void *)13) == 0) {
- ABORT("CORD_iter5 failed");
- }
- if (count != 64*1024 + 2) ABORT("CORD_iter5 failed");
-
- count = 0;
- CORD_set_pos(p, x, 64*1024-1);
- while(CORD_pos_valid(p)) {
- (void) test_fn(CORD_pos_fetch(p), (void *)13);
- CORD_next(p);
- }
- if (count != 64*1024 + 2) ABORT("Position based iteration failed");
-
- y = CORD_substr(x, 1023, 5);
- if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
- if (strcmp(y, "babab") != 0) ABORT("bad CORD_substr result");
-
- y = CORD_substr(x, 1024, 8);
- if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
- if (strcmp(y, "abababab") != 0) ABORT("bad CORD_substr result");
-
- y = CORD_substr(x, 128*1024-1, 8);
- if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
- if (strcmp(y, "bc") != 0) ABORT("bad CORD_substr result");
-
- x = CORD_balance(x);
- if (CORD_len(x) != 128*1024+1) ABORT("bad length");
-
- count = 0;
- if (CORD_iter5(x, 64*1024-1, test_fn, CORD_NO_FN, (void *)13) == 0) {
- ABORT("CORD_iter5 failed");
- }
- if (count != 64*1024 + 2) ABORT("CORD_iter5 failed");
-
- y = CORD_substr(x, 1023, 5);
- if (!CORD_IS_STRING(y)) ABORT("short cord should usually be a string");
- if (strcmp(y, "babab") != 0) ABORT("bad CORD_substr result");
- y = CORD_from_fn(id_cord_fn, 0, 13);
- i = 0;
- CORD_set_pos(p, y, i);
- while(CORD_pos_valid(p)) {
- c = CORD_pos_fetch(p);
- if(c != i) ABORT("Traversal of function node failed");
- CORD_next(p); i++;
- }
- if (i != 13) ABORT("Bad apparent length for function node");
-}
-
-void test_extras()
-{
-# if defined(__OS2__)
-# define FNAME1 "tmp1"
-# define FNAME2 "tmp2"
-# elif defined(AMIGA)
-# define FNAME1 "T:tmp1"
-# define FNAME2 "T:tmp2"
-# else
-# define FNAME1 "/tmp/cord_test"
-# define FNAME2 "/tmp/cord_test2"
-# endif
- register int i;
- CORD y = "abcdefghijklmnopqrstuvwxyz0123456789";
- CORD x = "{}";
- CORD w, z;
- FILE *f;
- FILE *f1a, *f1b, *f2;
-
- w = CORD_cat(CORD_cat(y,y),y);
- z = CORD_catn(3,y,y,y);
- if (CORD_cmp(w,z) != 0) ABORT("CORD_catn comparison wrong");
- for (i = 1; i < 100; i++) {
- x = CORD_cat(x, y);
- }
- z = CORD_balance(x);
- if (CORD_cmp(x,z) != 0) ABORT("balanced string comparison wrong");
- if (CORD_cmp(x,CORD_cat(z, CORD_nul(13))) >= 0) ABORT("comparison 2");
- if (CORD_cmp(CORD_cat(x, CORD_nul(13)), z) <= 0) ABORT("comparison 3");
- if (CORD_cmp(x,CORD_cat(z, "13")) >= 0) ABORT("comparison 4");
- if ((f = fopen(FNAME1, "w")) == 0) ABORT("open failed");
- if (CORD_put(z,f) == EOF) ABORT("CORD_put failed");
- if (fclose(f) == EOF) ABORT("fclose failed");
- w = CORD_from_file(f1a = fopen(FNAME1, "rb"));
- if (CORD_len(w) != CORD_len(z)) ABORT("file length wrong");
- if (CORD_cmp(w,z) != 0) ABORT("file comparison wrong");
- if (CORD_cmp(CORD_substr(w, 50*36+2, 36), y) != 0)
- ABORT("file substr wrong");
- z = CORD_from_file_lazy(f1b = fopen(FNAME1, "rb"));
- if (CORD_cmp(w,z) != 0) ABORT("File conversions differ");
- if (CORD_chr(w, 0, '9') != 37) ABORT("CORD_chr failed 1");
- if (CORD_chr(w, 3, 'a') != 38) ABORT("CORD_chr failed 2");
- if (CORD_rchr(w, CORD_len(w) - 1, '}') != 1) ABORT("CORD_rchr failed");
- x = y;
- for (i = 1; i < 14; i++) {
- x = CORD_cat(x,x);
- }
- if ((f = fopen(FNAME2, "w")) == 0) ABORT("2nd open failed");
- if (CORD_put(x,f) == EOF) ABORT("CORD_put failed");
- if (fclose(f) == EOF) ABORT("fclose failed");
- w = CORD_from_file(f2 = fopen(FNAME2, "rb"));
- if (CORD_len(w) != CORD_len(x)) ABORT("file length wrong");
- if (CORD_cmp(w,x) != 0) ABORT("file comparison wrong");
- if (CORD_cmp(CORD_substr(w, 1000*36, 36), y) != 0)
- ABORT("file substr wrong");
- if (strcmp(CORD_to_char_star(CORD_substr(w, 1000*36, 36)), y) != 0)
- ABORT("char * file substr wrong");
- if (strcmp(CORD_substr(w, 1000*36, 2), "ab") != 0)
- ABORT("short file substr wrong");
- if (CORD_str(x,1,"9a") != 35) ABORT("CORD_str failed 1");
- if (CORD_str(x,0,"9abcdefghijk") != 35) ABORT("CORD_str failed 2");
- if (CORD_str(x,0,"9abcdefghijx") != CORD_NOT_FOUND)
- ABORT("CORD_str failed 3");
- if (CORD_str(x,0,"9>") != CORD_NOT_FOUND) ABORT("CORD_str failed 4");
- if (remove(FNAME1) != 0) {
- /* On some systems, e.g. OS2, this may fail if f1 is still open. */
- if ((fclose(f1a) == EOF) & (fclose(f1b) == EOF))
- ABORT("fclose(f1) failed");
- if (remove(FNAME1) != 0) ABORT("remove 1 failed");
- }
- if (remove(FNAME2) != 0) {
- if (fclose(f2) == EOF) ABORT("fclose(f2) failed");
- if (remove(FNAME2) != 0) ABORT("remove 2 failed");
- }
-}
-
-void test_printf()
-{
- CORD result;
- char result2[200];
- long l;
- short s;
- CORD x;
-
- if (CORD_sprintf(&result, "%7.2f%ln", 3.14159F, &l) != 7)
- ABORT("CORD_sprintf failed 1");
- if (CORD_cmp(result, " 3.14") != 0)ABORT("CORD_sprintf goofed 1");
- if (l != 7) ABORT("CORD_sprintf goofed 2");
- if (CORD_sprintf(&result, "%-7.2s%hn%c%s", "abcd", &s, 'x', "yz") != 10)
- ABORT("CORD_sprintf failed 2");
- if (CORD_cmp(result, "ab xyz") != 0)ABORT("CORD_sprintf goofed 3");
- if (s != 7) ABORT("CORD_sprintf goofed 4");
- x = "abcdefghij";
- x = CORD_cat(x,x);
- x = CORD_cat(x,x);
- x = CORD_cat(x,x);
- if (CORD_sprintf(&result, "->%-120.78r!\n", x) != 124)
- ABORT("CORD_sprintf failed 3");
- (void) sprintf(result2, "->%-120.78s!\n", CORD_to_char_star(x));
- if (CORD_cmp(result, result2) != 0)ABORT("CORD_sprintf goofed 5");
-}
-
-main()
-{
-# ifdef THINK_C
- printf("cordtest:\n");
-# endif
- test_basics();
- test_extras();
- test_printf();
- CORD_fprintf(stderr, "SUCCEEDED\n");
- return(0);
-}
diff --git a/boehm-gc/cord/cordxtra.c b/boehm-gc/cord/cordxtra.c
deleted file mode 100644
index b306fbaccea..00000000000
--- a/boehm-gc/cord/cordxtra.c
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm@parc.xerox.com)
- */
-/*
- * These are functions on cords that do not need to understand their
- * implementation. They serve also serve as example client code for
- * cord_basics.
- */
-/* Boehm, December 8, 1995 1:53 pm PST */
-# include <stdio.h>
-# include <string.h>
-# include <stdlib.h>
-# include <stdarg.h>
-# include "cord.h"
-# include "ec.h"
-# define I_HIDE_POINTERS /* So we get access to allocation lock. */
- /* We use this for lazy file reading, */
- /* so that we remain independent */
- /* of the threads primitives. */
-# include "gc.h"
-
-/* For now we assume that pointer reads and writes are atomic, */
-/* i.e. another thread always sees the state before or after */
-/* a write. This might be false on a Motorola M68K with */
-/* pointers that are not 32-bit aligned. But there probably */
-/* aren't too many threads packages running on those. */
-# define ATOMIC_WRITE(x,y) (x) = (y)
-# define ATOMIC_READ(x) (*(x))
-
-/* The standard says these are in stdio.h, but they aren't always: */
-# ifndef SEEK_SET
-# define SEEK_SET 0
-# endif
-# ifndef SEEK_END
-# define SEEK_END 2
-# endif
-
-# define BUFSZ 2048 /* Size of stack allocated buffers when */
- /* we want large buffers. */
-
-typedef void (* oom_fn)(void);
-
-# define OUT_OF_MEMORY { if (CORD_oom_fn != (oom_fn) 0) (*CORD_oom_fn)(); \
- ABORT("Out of memory\n"); }
-# define ABORT(msg) { fprintf(stderr, "%s\n", msg); abort(); }
-
-CORD CORD_cat_char(CORD x, char c)
-{
- register char * string;
-
- if (c == '\0') return(CORD_cat(x, CORD_nul(1)));
- string = GC_MALLOC_ATOMIC(2);
- if (string == 0) OUT_OF_MEMORY;
- string[0] = c;
- string[1] = '\0';
- return(CORD_cat_char_star(x, string, 1));
-}
-
-CORD CORD_catn(int nargs, ...)
-{
- register CORD result = CORD_EMPTY;
- va_list args;
- register int i;
-
- va_start(args, nargs);
- for (i = 0; i < nargs; i++) {
- register CORD next = va_arg(args, CORD);
- result = CORD_cat(result, next);
- }
- va_end(args);
- return(result);
-}
-
-typedef struct {
- size_t len;
- size_t count;
- char * buf;
-} CORD_fill_data;
-
-int CORD_fill_proc(char c, void * client_data)
-{
- register CORD_fill_data * d = (CORD_fill_data *)client_data;
- register size_t count = d -> count;
-
- (d -> buf)[count] = c;
- d -> count = ++count;
- if (count >= d -> len) {
- return(1);
- } else {
- return(0);
- }
-}
-
-int CORD_batched_fill_proc(const char * s, void * client_data)
-{
- register CORD_fill_data * d = (CORD_fill_data *)client_data;
- register size_t count = d -> count;
- register size_t max = d -> len;
- register char * buf = d -> buf;
- register const char * t = s;
-
- while((buf[count] = *t++) != '\0') {
- count++;
- if (count >= max) {
- d -> count = count;
- return(1);
- }
- }
- d -> count = count;
- return(0);
-}
-
-/* Fill buf with len characters starting at i. */
-/* Assumes len characters are available. */
-void CORD_fill_buf(CORD x, size_t i, size_t len, char * buf)
-{
- CORD_fill_data fd;
-
- fd.len = len;
- fd.buf = buf;
- fd.count = 0;
- (void)CORD_iter5(x, i, CORD_fill_proc, CORD_batched_fill_proc, &fd);
-}
-
-int CORD_cmp(CORD x, CORD y)
-{
- CORD_pos xpos;
- CORD_pos ypos;
- register size_t avail, yavail;
-
- if (y == CORD_EMPTY) return(x != CORD_EMPTY);
- if (x == CORD_EMPTY) return(-1);
- if (CORD_IS_STRING(y) && CORD_IS_STRING(x)) return(strcmp(x,y));
- CORD_set_pos(xpos, x, 0);
- CORD_set_pos(ypos, y, 0);
- for(;;) {
- if (!CORD_pos_valid(xpos)) {
- if (CORD_pos_valid(ypos)) {
- return(-1);
- } else {
- return(0);
- }
- }
- if (!CORD_pos_valid(ypos)) {
- return(1);
- }
- if ((avail = CORD_pos_chars_left(xpos)) <= 0
- || (yavail = CORD_pos_chars_left(ypos)) <= 0) {
- register char xcurrent = CORD_pos_fetch(xpos);
- register char ycurrent = CORD_pos_fetch(ypos);
- if (xcurrent != ycurrent) return(xcurrent - ycurrent);
- CORD_next(xpos);
- CORD_next(ypos);
- } else {
- /* process as many characters as we can */
- register int result;
-
- if (avail > yavail) avail = yavail;
- result = strncmp(CORD_pos_cur_char_addr(xpos),
- CORD_pos_cur_char_addr(ypos), avail);
- if (result != 0) return(result);
- CORD_pos_advance(xpos, avail);
- CORD_pos_advance(ypos, avail);
- }
- }
-}
-
-int CORD_ncmp(CORD x, size_t x_start, CORD y, size_t y_start, size_t len)
-{
- CORD_pos xpos;
- CORD_pos ypos;
- register size_t count;
- register long avail, yavail;
-
- CORD_set_pos(xpos, x, x_start);
- CORD_set_pos(ypos, y, y_start);
- for(count = 0; count < len;) {
- if (!CORD_pos_valid(xpos)) {
- if (CORD_pos_valid(ypos)) {
- return(-1);
- } else {
- return(0);
- }
- }
- if (!CORD_pos_valid(ypos)) {
- return(1);
- }
- if ((avail = CORD_pos_chars_left(xpos)) <= 0
- || (yavail = CORD_pos_chars_left(ypos)) <= 0) {
- register char xcurrent = CORD_pos_fetch(xpos);
- register char ycurrent = CORD_pos_fetch(ypos);
- if (xcurrent != ycurrent) return(xcurrent - ycurrent);
- CORD_next(xpos);
- CORD_next(ypos);
- count++;
- } else {
- /* process as many characters as we can */
- register int result;
-
- if (avail > yavail) avail = yavail;
- count += avail;
- if (count > len) avail -= (count - len);
- result = strncmp(CORD_pos_cur_char_addr(xpos),
- CORD_pos_cur_char_addr(ypos), (size_t)avail);
- if (result != 0) return(result);
- CORD_pos_advance(xpos, (size_t)avail);
- CORD_pos_advance(ypos, (size_t)avail);
- }
- }
- return(0);
-}
-
-char * CORD_to_char_star(CORD x)
-{
- register size_t len = CORD_len(x);
- char * result = GC_MALLOC_ATOMIC(len + 1);
-
- if (result == 0) OUT_OF_MEMORY;
- CORD_fill_buf(x, 0, len, result);
- result[len] = '\0';
- return(result);
-}
-
-CORD CORD_from_char_star(const char *s)
-{
- char * result;
- size_t len = strlen(s);
-
- if (0 == len) return(CORD_EMPTY);
- result = GC_MALLOC_ATOMIC(len + 1);
- if (result == 0) OUT_OF_MEMORY;
- memcpy(result, s, len+1);
- return(result);
-}
-
-const char * CORD_to_const_char_star(CORD x)
-{
- if (x == 0) return("");
- if (CORD_IS_STRING(x)) return((const char *)x);
- return(CORD_to_char_star(x));
-}
-
-char CORD_fetch(CORD x, size_t i)
-{
- CORD_pos xpos;
-
- CORD_set_pos(xpos, x, i);
- if (!CORD_pos_valid(xpos)) ABORT("bad index?");
- return(CORD_pos_fetch(xpos));
-}
-
-
-int CORD_put_proc(char c, void * client_data)
-{
- register FILE * f = (FILE *)client_data;
-
- return(putc(c, f) == EOF);
-}
-
-int CORD_batched_put_proc(const char * s, void * client_data)
-{
- register FILE * f = (FILE *)client_data;
-
- return(fputs(s, f) == EOF);
-}
-
-
-int CORD_put(CORD x, FILE * f)
-{
- if (CORD_iter5(x, 0, CORD_put_proc, CORD_batched_put_proc, f)) {
- return(EOF);
- } else {
- return(1);
- }
-}
-
-typedef struct {
- size_t pos; /* Current position in the cord */
- char target; /* Character we're looking for */
-} chr_data;
-
-int CORD_chr_proc(char c, void * client_data)
-{
- register chr_data * d = (chr_data *)client_data;
-
- if (c == d -> target) return(1);
- (d -> pos) ++;
- return(0);
-}
-
-int CORD_rchr_proc(char c, void * client_data)
-{
- register chr_data * d = (chr_data *)client_data;
-
- if (c == d -> target) return(1);
- (d -> pos) --;
- return(0);
-}
-
-int CORD_batched_chr_proc(const char *s, void * client_data)
-{
- register chr_data * d = (chr_data *)client_data;
- register char * occ = strchr(s, d -> target);
-
- if (occ == 0) {
- d -> pos += strlen(s);
- return(0);
- } else {
- d -> pos += occ - s;
- return(1);
- }
-}
-
-size_t CORD_chr(CORD x, size_t i, int c)
-{
- chr_data d;
-
- d.pos = i;
- d.target = c;
- if (CORD_iter5(x, i, CORD_chr_proc, CORD_batched_chr_proc, &d)) {
- return(d.pos);
- } else {
- return(CORD_NOT_FOUND);
- }
-}
-
-size_t CORD_rchr(CORD x, size_t i, int c)
-{
- chr_data d;
-
- d.pos = i;
- d.target = c;
- if (CORD_riter4(x, i, CORD_rchr_proc, &d)) {
- return(d.pos);
- } else {
- return(CORD_NOT_FOUND);
- }
-}
-
-/* Find the first occurrence of s in x at position start or later. */
-/* This uses an asymptotically poor algorithm, which should typically */
-/* perform acceptably. We compare the first few characters directly, */
-/* and call CORD_ncmp whenever there is a partial match. */
-/* This has the advantage that we allocate very little, or not at all. */
-/* It's very fast if there are few close misses. */
-size_t CORD_str(CORD x, size_t start, CORD s)
-{
- CORD_pos xpos;
- size_t xlen = CORD_len(x);
- size_t slen;
- register size_t start_len;
- const char * s_start;
- unsigned long s_buf = 0; /* The first few characters of s */
- unsigned long x_buf = 0; /* Start of candidate substring. */
- /* Initialized only to make compilers */
- /* happy. */
- unsigned long mask = 0;
- register size_t i;
- register size_t match_pos;
-
- if (s == CORD_EMPTY) return(start);
- if (CORD_IS_STRING(s)) {
- s_start = s;
- slen = strlen(s);
- } else {
- s_start = CORD_to_char_star(CORD_substr(s, 0, sizeof(unsigned long)));
- slen = CORD_len(s);
- }
- if (xlen < start || xlen - start < slen) return(CORD_NOT_FOUND);
- start_len = slen;
- if (start_len > sizeof(unsigned long)) start_len = sizeof(unsigned long);
- CORD_set_pos(xpos, x, start);
- for (i = 0; i < start_len; i++) {
- mask <<= 8;
- mask |= 0xff;
- s_buf <<= 8;
- s_buf |= s_start[i];
- x_buf <<= 8;
- x_buf |= CORD_pos_fetch(xpos);
- CORD_next(xpos);
- }
- for (match_pos = start; ; match_pos++) {
- if ((x_buf & mask) == s_buf) {
- if (slen == start_len ||
- CORD_ncmp(x, match_pos + start_len,
- s, start_len, slen - start_len) == 0) {
- return(match_pos);
- }
- }
- if ( match_pos == xlen - slen ) {
- return(CORD_NOT_FOUND);
- }
- x_buf <<= 8;
- x_buf |= CORD_pos_fetch(xpos);
- CORD_next(xpos);
- }
-}
-
-void CORD_ec_flush_buf(CORD_ec x)
-{
- register size_t len = x[0].ec_bufptr - x[0].ec_buf;
- char * s;
-
- if (len == 0) return;
- s = GC_MALLOC_ATOMIC(len+1);
- memcpy(s, x[0].ec_buf, len);
- s[len] = '\0';
- x[0].ec_cord = CORD_cat_char_star(x[0].ec_cord, s, len);
- x[0].ec_bufptr = x[0].ec_buf;
-}
-
-void CORD_ec_append_cord(CORD_ec x, CORD s)
-{
- CORD_ec_flush_buf(x);
- x[0].ec_cord = CORD_cat(x[0].ec_cord, s);
-}
-
-/*ARGSUSED*/
-char CORD_nul_func(size_t i, void * client_data)
-{
- return((char)(unsigned long)client_data);
-}
-
-
-CORD CORD_chars(char c, size_t i)
-{
- return(CORD_from_fn(CORD_nul_func, (void *)(unsigned long)c, i));
-}
-
-CORD CORD_from_file_eager(FILE * f)
-{
- register int c;
- CORD_ec ecord;
-
- CORD_ec_init(ecord);
- for(;;) {
- c = getc(f);
- if (c == 0) {
- /* Append the right number of NULs */
- /* Note that any string of NULs is rpresented in 4 words, */
- /* independent of its length. */
- register size_t count = 1;
-
- CORD_ec_flush_buf(ecord);
- while ((c = getc(f)) == 0) count++;
- ecord[0].ec_cord = CORD_cat(ecord[0].ec_cord, CORD_nul(count));
- }
- if (c == EOF) break;
- CORD_ec_append(ecord, c);
- }
- (void) fclose(f);
- return(CORD_balance(CORD_ec_to_cord(ecord)));
-}
-
-/* The state maintained for a lazily read file consists primarily */
-/* of a large direct-mapped cache of previously read values. */
-/* We could rely more on stdio buffering. That would have 2 */
-/* disadvantages: */
-/* 1) Empirically, not all fseek implementations preserve the */
-/* buffer whenever they could. */
-/* 2) It would fail if 2 different sections of a long cord */
-/* were being read alternately. */
-/* We do use the stdio buffer for read ahead. */
-/* To guarantee thread safety in the presence of atomic pointer */
-/* writes, cache lines are always replaced, and never modified in */
-/* place. */
-
-# define LOG_CACHE_SZ 14
-# define CACHE_SZ (1 << LOG_CACHE_SZ)
-# define LOG_LINE_SZ 9
-# define LINE_SZ (1 << LOG_LINE_SZ)
-
-typedef struct {
- size_t tag;
- char data[LINE_SZ];
- /* data[i%LINE_SZ] = ith char in file if tag = i/LINE_SZ */
-} cache_line;
-
-typedef struct {
- FILE * lf_file;
- size_t lf_current; /* Current file pointer value */
- cache_line * volatile lf_cache[CACHE_SZ/LINE_SZ];
-} lf_state;
-
-# define MOD_CACHE_SZ(n) ((n) & (CACHE_SZ - 1))
-# define DIV_CACHE_SZ(n) ((n) >> LOG_CACHE_SZ)
-# define MOD_LINE_SZ(n) ((n) & (LINE_SZ - 1))
-# define DIV_LINE_SZ(n) ((n) >> LOG_LINE_SZ)
-# define LINE_START(n) ((n) & ~(LINE_SZ - 1))
-
-typedef struct {
- lf_state * state;
- size_t file_pos; /* Position of needed character. */
- cache_line * new_cache;
-} refill_data;
-
-/* Executed with allocation lock. */
-static char refill_cache(client_data)
-refill_data * client_data;
-{
- register lf_state * state = client_data -> state;
- register size_t file_pos = client_data -> file_pos;
- FILE *f = state -> lf_file;
- size_t line_start = LINE_START(file_pos);
- size_t line_no = DIV_LINE_SZ(MOD_CACHE_SZ(file_pos));
- cache_line * new_cache = client_data -> new_cache;
-
- if (line_start != state -> lf_current
- && fseek(f, line_start, SEEK_SET) != 0) {
- ABORT("fseek failed");
- }
- if (fread(new_cache -> data, sizeof(char), LINE_SZ, f)
- <= file_pos - line_start) {
- ABORT("fread failed");
- }
- new_cache -> tag = DIV_LINE_SZ(file_pos);
- /* Store barrier goes here. */
- ATOMIC_WRITE(state -> lf_cache[line_no], new_cache);
- state -> lf_current = line_start + LINE_SZ;
- return(new_cache->data[MOD_LINE_SZ(file_pos)]);
-}
-
-char CORD_lf_func(size_t i, void * client_data)
-{
- register lf_state * state = (lf_state *)client_data;
- register cache_line * volatile * cl_addr =
- &(state -> lf_cache[DIV_LINE_SZ(MOD_CACHE_SZ(i))]);
- register cache_line * cl = (cache_line *)ATOMIC_READ(cl_addr);
-
- if (cl == 0 || cl -> tag != DIV_LINE_SZ(i)) {
- /* Cache miss */
- refill_data rd;
-
- rd.state = state;
- rd.file_pos = i;
- rd.new_cache = GC_NEW_ATOMIC(cache_line);
- if (rd.new_cache == 0) OUT_OF_MEMORY;
- return((char)(GC_word)
- GC_call_with_alloc_lock((GC_fn_type) refill_cache, &rd));
- }
- return(cl -> data[MOD_LINE_SZ(i)]);
-}
-
-/*ARGSUSED*/
-void CORD_lf_close_proc(void * obj, void * client_data)
-{
- if (fclose(((lf_state *)obj) -> lf_file) != 0) {
- ABORT("CORD_lf_close_proc: fclose failed");
- }
-}
-
-CORD CORD_from_file_lazy_inner(FILE * f, size_t len)
-{
- register lf_state * state = GC_NEW(lf_state);
- register int i;
-
- if (state == 0) OUT_OF_MEMORY;
- if (len != 0) {
- /* Dummy read to force buffer allocation. */
- /* This greatly increases the probability */
- /* of avoiding deadlock if buffer allocation */
- /* is redirected to GC_malloc and the */
- /* world is multithreaded. */
- char buf[1];
-
- (void) fread(buf, 1, 1, f);
- rewind(f);
- }
- state -> lf_file = f;
- for (i = 0; i < CACHE_SZ/LINE_SZ; i++) {
- state -> lf_cache[i] = 0;
- }
- state -> lf_current = 0;
- GC_register_finalizer(state, CORD_lf_close_proc, 0, 0, 0);
- return(CORD_from_fn(CORD_lf_func, state, len));
-}
-
-CORD CORD_from_file_lazy(FILE * f)
-{
- register long len;
-
- if (fseek(f, 0l, SEEK_END) != 0) {
- ABORT("Bad fd argument - fseek failed");
- }
- if ((len = ftell(f)) < 0) {
- ABORT("Bad fd argument - ftell failed");
- }
- rewind(f);
- return(CORD_from_file_lazy_inner(f, (size_t)len));
-}
-
-# define LAZY_THRESHOLD (128*1024 + 1)
-
-CORD CORD_from_file(FILE * f)
-{
- register long len;
-
- if (fseek(f, 0l, SEEK_END) != 0) {
- ABORT("Bad fd argument - fseek failed");
- }
- if ((len = ftell(f)) < 0) {
- ABORT("Bad fd argument - ftell failed");
- }
- rewind(f);
- if (len < LAZY_THRESHOLD) {
- return(CORD_from_file_eager(f));
- } else {
- return(CORD_from_file_lazy_inner(f, (size_t)len));
- }
-}
diff --git a/boehm-gc/cord/de.c b/boehm-gc/cord/de.c
deleted file mode 100644
index 18625d2bb37..00000000000
--- a/boehm-gc/cord/de.c
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm@parc.xerox.com)
- */
-/*
- * A really simple-minded text editor based on cords.
- * Things it does right:
- * No size bounds.
- * Inbounded undo.
- * Shouldn't crash no matter what file you invoke it on (e.g. /vmunix)
- * (Make sure /vmunix is not writable before you try this.)
- * Scrolls horizontally.
- * Things it does wrong:
- * It doesn't handle tabs reasonably (use "expand" first).
- * The command set is MUCH too small.
- * The redisplay algorithm doesn't let curses do the scrolling.
- * The rule for moving the window over the file is suboptimal.
- */
-/* Boehm, February 6, 1995 12:27 pm PST */
-
-/* Boehm, May 19, 1994 2:20 pm PDT */
-#include <stdio.h>
-#include "gc.h"
-#include "cord.h"
-
-#ifdef THINK_C
-#define MACINTOSH
-#include <ctype.h>
-#endif
-
-#if defined(__BORLANDC__) && !defined(WIN32)
- /* If this is DOS or win16, we'll fail anyway. */
- /* Might as well assume win32. */
-# define WIN32
-#endif
-
-#if defined(WIN32)
-# include <windows.h>
-# include "de_win.h"
-#elif defined(MACINTOSH)
-# include <console.h>
-/* curses emulation. */
-# define initscr()
-# define endwin()
-# define nonl()
-# define noecho() csetmode(C_NOECHO, stdout)
-# define cbreak() csetmode(C_CBREAK, stdout)
-# define refresh()
-# define addch(c) putchar(c)
-# define standout() cinverse(1, stdout)
-# define standend() cinverse(0, stdout)
-# define move(line,col) cgotoxy(col + 1, line + 1, stdout)
-# define clrtoeol() ccleol(stdout)
-# define de_error(s) { fprintf(stderr, s); getchar(); }
-# define LINES 25
-# define COLS 80
-#else
-# include <curses.h>
-# define de_error(s) { fprintf(stderr, s); sleep(2); }
-#endif
-#include "de_cmds.h"
-
-/* List of line number to position mappings, in descending order. */
-/* There may be holes. */
-typedef struct LineMapRep {
- int line;
- size_t pos;
- struct LineMapRep * previous;
-} * line_map;
-
-/* List of file versions, one per edit operation */
-typedef struct HistoryRep {
- CORD file_contents;
- struct HistoryRep * previous;
- line_map map; /* Invalid for first record "now" */
-} * history;
-
-history now = 0;
-CORD current; /* == now -> file_contents. */
-size_t current_len; /* Current file length. */
-line_map current_map = 0; /* Current line no. to pos. map */
-size_t current_map_size = 0; /* Number of current_map entries. */
- /* Not always accurate, but reset */
- /* by prune_map. */
-# define MAX_MAP_SIZE 3000
-
-/* Current display position */
-int dis_line = 0;
-int dis_col = 0;
-
-# define ALL -1
-# define NONE - 2
-int need_redisplay = 0; /* Line that needs to be redisplayed. */
-
-
-/* Current cursor position. Always within file. */
-int line = 0;
-int col = 0;
-size_t file_pos = 0; /* Character position corresponding to cursor. */
-
-/* Invalidate line map for lines > i */
-void invalidate_map(int i)
-{
- while(current_map -> line > i) {
- current_map = current_map -> previous;
- current_map_size--;
- }
-}
-
-/* Reduce the number of map entries to save space for huge files. */
-/* This also affects maps in histories. */
-void prune_map()
-{
- line_map map = current_map;
- int start_line = map -> line;
-
- current_map_size = 0;
- for(; map != 0; map = map -> previous) {
- current_map_size++;
- if (map -> line < start_line - LINES && map -> previous != 0) {
- map -> previous = map -> previous -> previous;
- }
- }
-}
-/* Add mapping entry */
-void add_map(int line, size_t pos)
-{
- line_map new_map = GC_NEW(struct LineMapRep);
-
- if (current_map_size >= MAX_MAP_SIZE) prune_map();
- new_map -> line = line;
- new_map -> pos = pos;
- new_map -> previous = current_map;
- current_map = new_map;
- current_map_size++;
-}
-
-
-
-/* Return position of column *c of ith line in */
-/* current file. Adjust *c to be within the line.*/
-/* A 0 pointer is taken as 0 column. */
-/* Returns CORD_NOT_FOUND if i is too big. */
-/* Assumes i > dis_line. */
-size_t line_pos(int i, int *c)
-{
- int j;
- size_t cur;
- size_t next;
- line_map map = current_map;
-
- while (map -> line > i) map = map -> previous;
- if (map -> line < i - 2) /* rebuild */ invalidate_map(i);
- for (j = map -> line, cur = map -> pos; j < i;) {
- cur = CORD_chr(current, cur, '\n');
- if (cur == current_len-1) return(CORD_NOT_FOUND);
- cur++;
- if (++j > current_map -> line) add_map(j, cur);
- }
- if (c != 0) {
- next = CORD_chr(current, cur, '\n');
- if (next == CORD_NOT_FOUND) next = current_len - 1;
- if (next < cur + *c) {
- *c = next - cur;
- }
- cur += *c;
- }
- return(cur);
-}
-
-void add_hist(CORD s)
-{
- history new_file = GC_NEW(struct HistoryRep);
-
- new_file -> file_contents = current = s;
- current_len = CORD_len(s);
- new_file -> previous = now;
- if (now != 0) now -> map = current_map;
- now = new_file;
-}
-
-void del_hist(void)
-{
- now = now -> previous;
- current = now -> file_contents;
- current_map = now -> map;
- current_len = CORD_len(current);
-}
-
-/* Current screen_contents; a dynamically allocated array of CORDs */
-CORD * screen = 0;
-int screen_size = 0;
-
-# ifndef WIN32
-/* Replace a line in the curses stdscr. All control characters are */
-/* displayed as upper case characters in standout mode. This isn't */
-/* terribly appropriate for tabs. */
-void replace_line(int i, CORD s)
-{
- register int c;
- CORD_pos p;
- size_t len = CORD_len(s);
-
- if (screen == 0 || LINES > screen_size) {
- screen_size = LINES;
- screen = (CORD *)GC_MALLOC(screen_size * sizeof(CORD));
- }
-# if !defined(MACINTOSH)
- /* A gross workaround for an apparent curses bug: */
- if (i == LINES-1 && len == COLS) {
- s = CORD_substr(s, 0, CORD_len(s) - 1);
- }
-# endif
- if (CORD_cmp(screen[i], s) != 0) {
- move(i, 0); clrtoeol(); move(i,0);
-
- CORD_FOR (p, s) {
- c = CORD_pos_fetch(p) & 0x7f;
- if (iscntrl(c)) {
- standout(); addch(c + 0x40); standend();
- } else {
- addch(c);
- }
- }
- screen[i] = s;
- }
-}
-#else
-# define replace_line(i,s) invalidate_line(i)
-#endif
-
-/* Return up to COLS characters of the line of s starting at pos, */
-/* returning only characters after the given column. */
-CORD retrieve_line(CORD s, size_t pos, unsigned column)
-{
- CORD candidate = CORD_substr(s, pos, column + COLS);
- /* avoids scanning very long lines */
- int eol = CORD_chr(candidate, 0, '\n');
- int len;
-
- if (eol == CORD_NOT_FOUND) eol = CORD_len(candidate);
- len = (int)eol - (int)column;
- if (len < 0) len = 0;
- return(CORD_substr(s, pos + column, len));
-}
-
-# ifdef WIN32
-# define refresh();
-
- CORD retrieve_screen_line(int i)
- {
- register size_t pos;
-
- invalidate_map(dis_line + LINES); /* Prune search */
- pos = line_pos(dis_line + i, 0);
- if (pos == CORD_NOT_FOUND) return(CORD_EMPTY);
- return(retrieve_line(current, pos, dis_col));
- }
-# endif
-
-/* Display the visible section of the current file */
-void redisplay(void)
-{
- register int i;
-
- invalidate_map(dis_line + LINES); /* Prune search */
- for (i = 0; i < LINES; i++) {
- if (need_redisplay == ALL || need_redisplay == i) {
- register size_t pos = line_pos(dis_line + i, 0);
-
- if (pos == CORD_NOT_FOUND) break;
- replace_line(i, retrieve_line(current, pos, dis_col));
- if (need_redisplay == i) goto done;
- }
- }
- for (; i < LINES; i++) replace_line(i, CORD_EMPTY);
-done:
- refresh();
- need_redisplay = NONE;
-}
-
-int dis_granularity;
-
-/* Update dis_line, dis_col, and dis_pos to make cursor visible. */
-/* Assumes line, col, dis_line, dis_pos are in bounds. */
-void normalize_display()
-{
- int old_line = dis_line;
- int old_col = dis_col;
-
- dis_granularity = 1;
- if (LINES > 15 && COLS > 15) dis_granularity = 2;
- while (dis_line > line) dis_line -= dis_granularity;
- while (dis_col > col) dis_col -= dis_granularity;
- while (line >= dis_line + LINES) dis_line += dis_granularity;
- while (col >= dis_col + COLS) dis_col += dis_granularity;
- if (old_line != dis_line || old_col != dis_col) {
- need_redisplay = ALL;
- }
-}
-
-# if defined(WIN32)
-# elif defined(MACINTOSH)
-# define move_cursor(x,y) cgotoxy(x + 1, y + 1, stdout)
-# else
-# define move_cursor(x,y) move(y,x)
-# endif
-
-/* Adjust display so that cursor is visible; move cursor into position */
-/* Update screen if necessary. */
-void fix_cursor(void)
-{
- normalize_display();
- if (need_redisplay != NONE) redisplay();
- move_cursor(col - dis_col, line - dis_line);
- refresh();
-# ifndef WIN32
- fflush(stdout);
-# endif
-}
-
-/* Make sure line, col, and dis_pos are somewhere inside file. */
-/* Recompute file_pos. Assumes dis_pos is accurate or past eof */
-void fix_pos()
-{
- int my_col = col;
-
- if ((size_t)line > current_len) line = current_len;
- file_pos = line_pos(line, &my_col);
- if (file_pos == CORD_NOT_FOUND) {
- for (line = current_map -> line, file_pos = current_map -> pos;
- file_pos < current_len;
- line++, file_pos = CORD_chr(current, file_pos, '\n') + 1);
- line--;
- file_pos = line_pos(line, &col);
- } else {
- col = my_col;
- }
-}
-
-#if defined(WIN32)
-# define beep() Beep(1000 /* Hz */, 300 /* msecs */)
-#elif defined(MACINTOSH)
-# define beep() SysBeep(1)
-#else
-/*
- * beep() is part of some curses packages and not others.
- * We try to match the type of the builtin one, if any.
- */
-#ifdef __STDC__
- int beep(void)
-#else
- int beep()
-#endif
-{
- putc('\007', stderr);
- return(0);
-}
-#endif
-
-# define NO_PREFIX -1
-# define BARE_PREFIX -2
-int repeat_count = NO_PREFIX; /* Current command prefix. */
-
-int locate_mode = 0; /* Currently between 2 ^Ls */
-CORD locate_string = CORD_EMPTY; /* Current search string. */
-
-char * arg_file_name;
-
-#ifdef WIN32
-/* Change the current position to whatever is currently displayed at */
-/* the given SCREEN coordinates. */
-void set_position(int c, int l)
-{
- line = l + dis_line;
- col = c + dis_col;
- fix_pos();
- move_cursor(col - dis_col, line - dis_line);
-}
-#endif /* WIN32 */
-
-/* Perform the command associated with character c. C may be an */
-/* integer > 256 denoting a windows command, one of the above control */
-/* characters, or another ASCII character to be used as either a */
-/* character to be inserted, a repeat count, or a search string, */
-/* depending on the current state. */
-void do_command(int c)
-{
- int i;
- int need_fix_pos;
- FILE * out;
-
- if ( c == '\r') c = '\n';
- if (locate_mode) {
- size_t new_pos;
-
- if (c == LOCATE) {
- locate_mode = 0;
- locate_string = CORD_EMPTY;
- return;
- }
- locate_string = CORD_cat_char(locate_string, (char)c);
- new_pos = CORD_str(current, file_pos - CORD_len(locate_string) + 1,
- locate_string);
- if (new_pos != CORD_NOT_FOUND) {
- need_redisplay = ALL;
- new_pos += CORD_len(locate_string);
- for (;;) {
- file_pos = line_pos(line + 1, 0);
- if (file_pos > new_pos) break;
- line++;
- }
- col = new_pos - line_pos(line, 0);
- file_pos = new_pos;
- fix_cursor();
- } else {
- locate_string = CORD_substr(locate_string, 0,
- CORD_len(locate_string) - 1);
- beep();
- }
- return;
- }
- if (c == REPEAT) {
- repeat_count = BARE_PREFIX; return;
- } else if (c < 0x100 && isdigit(c)){
- if (repeat_count == BARE_PREFIX) {
- repeat_count = c - '0'; return;
- } else if (repeat_count != NO_PREFIX) {
- repeat_count = 10 * repeat_count + c - '0'; return;
- }
- }
- if (repeat_count == NO_PREFIX) repeat_count = 1;
- if (repeat_count == BARE_PREFIX && (c == UP || c == DOWN)) {
- repeat_count = LINES - dis_granularity;
- }
- if (repeat_count == BARE_PREFIX) repeat_count = 8;
- need_fix_pos = 0;
- for (i = 0; i < repeat_count; i++) {
- switch(c) {
- case LOCATE:
- locate_mode = 1;
- break;
- case TOP:
- line = col = file_pos = 0;
- break;
- case UP:
- if (line != 0) {
- line--;
- need_fix_pos = 1;
- }
- break;
- case DOWN:
- line++;
- need_fix_pos = 1;
- break;
- case LEFT:
- if (col != 0) {
- col--; file_pos--;
- }
- break;
- case RIGHT:
- if (CORD_fetch(current, file_pos) == '\n') break;
- col++; file_pos++;
- break;
- case UNDO:
- del_hist();
- need_redisplay = ALL; need_fix_pos = 1;
- break;
- case BS:
- if (col == 0) {
- beep();
- break;
- }
- col--; file_pos--;
- /* fall through: */
- case DEL:
- if (file_pos == current_len-1) break;
- /* Can't delete trailing newline */
- if (CORD_fetch(current, file_pos) == '\n') {
- need_redisplay = ALL; need_fix_pos = 1;
- } else {
- need_redisplay = line - dis_line;
- }
- add_hist(CORD_cat(
- CORD_substr(current, 0, file_pos),
- CORD_substr(current, file_pos+1, current_len)));
- invalidate_map(line);
- break;
- case WRITE:
- {
- CORD name = CORD_cat(CORD_from_char_star(arg_file_name),
- ".new");
-
- if ((out = fopen(CORD_to_const_char_star(name), "wb")) == NULL
- || CORD_put(current, out) == EOF) {
- de_error("Write failed\n");
- need_redisplay = ALL;
- } else {
- fclose(out);
- }
- }
- break;
- default:
- {
- CORD left_part = CORD_substr(current, 0, file_pos);
- CORD right_part = CORD_substr(current, file_pos, current_len);
-
- add_hist(CORD_cat(CORD_cat_char(left_part, (char)c),
- right_part));
- invalidate_map(line);
- if (c == '\n') {
- col = 0; line++; file_pos++;
- need_redisplay = ALL;
- } else {
- col++; file_pos++;
- need_redisplay = line - dis_line;
- }
- break;
- }
- }
- }
- if (need_fix_pos) fix_pos();
- fix_cursor();
- repeat_count = NO_PREFIX;
-}
-
-/* OS independent initialization */
-
-void generic_init(void)
-{
- FILE * f;
- CORD initial;
-
- if ((f = fopen(arg_file_name, "rb")) == NULL) {
- initial = "\n";
- } else {
- initial = CORD_from_file(f);
- if (initial == CORD_EMPTY
- || CORD_fetch(initial, CORD_len(initial)-1) != '\n') {
- initial = CORD_cat(initial, "\n");
- }
- }
- add_map(0,0);
- add_hist(initial);
- now -> map = current_map;
- now -> previous = now; /* Can't back up further: beginning of the world */
- need_redisplay = ALL;
- fix_cursor();
-}
-
-#ifndef WIN32
-
-main(argc, argv)
-int argc;
-char ** argv;
-{
- int c;
- CORD initial;
-
-#if defined(MACINTOSH)
- console_options.title = "\pDumb Editor";
- cshow(stdout);
- GC_init();
- argc = ccommand(&argv);
-#endif
-
- if (argc != 2) goto usage;
- arg_file_name = argv[1];
- setvbuf(stdout, GC_MALLOC_ATOMIC(8192), _IOFBF, 8192);
- initscr();
- noecho(); nonl(); cbreak();
- generic_init();
- while ((c = getchar()) != QUIT) {
- if (c == EOF) break;
- do_command(c);
- }
-done:
- move(LINES-1, 0);
- clrtoeol();
- refresh();
- nl();
- echo();
- endwin();
- exit(0);
-usage:
- fprintf(stderr, "Usage: %s file\n", argv[0]);
- fprintf(stderr, "Cursor keys: ^B(left) ^F(right) ^P(up) ^N(down)\n");
- fprintf(stderr, "Undo: ^U Write to <file>.new: ^W");
- fprintf(stderr, "Quit:^D Repeat count: ^R[n]\n");
- fprintf(stderr, "Top: ^T Locate (search, find): ^L text ^L\n");
- exit(1);
-}
-
-#endif /* !WIN32 */
diff --git a/boehm-gc/cord/de_cmds.h b/boehm-gc/cord/de_cmds.h
deleted file mode 100644
index f42ddcf2da7..00000000000
--- a/boehm-gc/cord/de_cmds.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:24 pm PDT */
-
-#ifndef DE_CMDS_H
-
-# define DE_CMDS_H
-
-# define UP 16 /* ^P */
-# define DOWN 14 /* ^N */
-# define LEFT 2 /* ^B */
-# define RIGHT 6 /* ^F */
-# define DEL 127 /* ^? */
-# define BS 8 /* ^H */
-# define UNDO 21 /* ^U */
-# define WRITE 23 /* ^W */
-# define QUIT 4 /* ^D */
-# define REPEAT 18 /* ^R */
-# define LOCATE 12 /* ^L */
-# define TOP 20 /* ^T */
-
-#endif
-
diff --git a/boehm-gc/cord/de_win.ICO b/boehm-gc/cord/de_win.ICO
deleted file mode 100644
index b20ac3ee16a..00000000000
--- a/boehm-gc/cord/de_win.ICO
+++ /dev/null
Binary files differ
diff --git a/boehm-gc/cord/de_win.RC b/boehm-gc/cord/de_win.RC
deleted file mode 100644
index 554a3004389..00000000000
--- a/boehm-gc/cord/de_win.RC
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to copy this garbage collector for any purpose,
- * provided the above notices are retained on all copies.
- */
-/* Boehm, May 13, 1994 9:50 am PDT */
-
-#include "windows.h"
-#include "de_cmds.h"
-#include "de_win.h"
-
-
-
-ABOUTBOX DIALOG 19, 21, 163, 47
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About Demonstration Text Editor"
-BEGIN
- ICON "DE", -1, 8, 8, 13, 13, WS_CHILD | WS_VISIBLE
- LTEXT "Demonstration Text Editor", -1, 44, 8, 118, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
- LTEXT "Version 4.1", -1, 44, 16, 60, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
- PUSHBUTTON "OK", IDOK, 118, 27, 24, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
-END
-
-
-DE MENU
-BEGIN
- POPUP "&File"
- BEGIN
- MENUITEM "&Save\t^W", IDM_FILESAVE
- MENUITEM "E&xit\t^D", IDM_FILEEXIT
- END
-
- POPUP "&Edit"
- BEGIN
- MENUITEM "Page &Down\t^R^N", IDM_EDITPDOWN
- MENUITEM "Page &Up\t^R^P", IDM_EDITPUP
- MENUITEM "U&ndo\t^U", IDM_EDITUNDO
- MENUITEM "&Locate\t^L ... ^L", IDM_EDITLOCATE
- MENUITEM "D&own\t^N", IDM_EDITDOWN
- MENUITEM "U&p\t^P", IDM_EDITUP
- MENUITEM "Le&ft\t^B", IDM_EDITLEFT
- MENUITEM "&Right\t^F", IDM_EDITRIGHT
- MENUITEM "Delete &Backward\tBS", IDM_EDITBS
- MENUITEM "Delete F&orward\tDEL", IDM_EDITDEL
- MENUITEM "&Top\t^T", IDM_EDITTOP
- END
-
- POPUP "&Help"
- BEGIN
- MENUITEM "&Contents", IDM_HELPCONTENTS
- MENUITEM "&About...", IDM_HELPABOUT
- END
-
- MENUITEM "Page_&Down", IDM_EDITPDOWN
- MENUITEM "Page_&Up", IDM_EDITPUP
-END
-
-
-DE ACCELERATORS
-BEGIN
- "^R", IDM_EDITREPEAT
- "^N", IDM_EDITDOWN
- "^P", IDM_EDITUP
- "^L", IDM_EDITLOCATE
- "^B", IDM_EDITLEFT
- "^F", IDM_EDITRIGHT
- "^T", IDM_EDITTOP
- VK_DELETE, IDM_EDITDEL, VIRTKEY
- VK_BACK, IDM_EDITBS, VIRTKEY
-END
-
-
-DE ICON cord\de_win.ICO
-
diff --git a/boehm-gc/cord/de_win.c b/boehm-gc/cord/de_win.c
deleted file mode 100644
index 119d0fa044c..00000000000
--- a/boehm-gc/cord/de_win.c
+++ /dev/null
@@ -1,365 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 6, 1995 12:29 pm PST */
-
-/*
- * The MS Windows specific part of de.
- * This started as the generic Windows application template
- * made available by Rob Haack (rhaack@polaris.unm.edu), but
- * significant parts didn't survive to the final version.
- *
- * This was written by a nonexpert windows programmer.
- */
-
-
-#include "windows.h"
-#include "gc.h"
-#include "cord.h"
-#include "de_cmds.h"
-#include "de_win.h"
-
-int LINES = 0;
-int COLS = 0;
-
-char szAppName[] = "DE";
-char FullAppName[] = "Demonstration Editor";
-
-HWND hwnd;
-
-void de_error(char *s)
-{
- MessageBox( hwnd, (LPSTR) s,
- (LPSTR) FullAppName,
- MB_ICONINFORMATION | MB_OK );
- InvalidateRect(hwnd, NULL, TRUE);
-}
-
-int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
- LPSTR command_line, int nCmdShow)
-{
- MSG msg;
- WNDCLASS wndclass;
- HANDLE hAccel;
-
- if (!hPrevInstance)
- {
- wndclass.style = CS_HREDRAW | CS_VREDRAW;
- wndclass.lpfnWndProc = WndProc;
- wndclass.cbClsExtra = 0;
- wndclass.cbWndExtra = DLGWINDOWEXTRA;
- wndclass.hInstance = hInstance;
- wndclass.hIcon = LoadIcon (hInstance, szAppName);
- wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
- wndclass.hbrBackground = GetStockObject(WHITE_BRUSH);
- wndclass.lpszMenuName = "DE";
- wndclass.lpszClassName = szAppName;
-
- if (RegisterClass (&wndclass) == 0) {
- char buf[50];
-
- sprintf(buf, "RegisterClass: error code: 0x%X", GetLastError());
- de_error(buf);
- return(0);
- }
- }
-
- /* Empirically, the command line does not include the command name ...
- if (command_line != 0) {
- while (isspace(*command_line)) command_line++;
- while (*command_line != 0 && !isspace(*command_line)) command_line++;
- while (isspace(*command_line)) command_line++;
- } */
-
- if (command_line == 0 || *command_line == 0) {
- de_error("File name argument required");
- return( 0 );
- } else {
- char *p = command_line;
-
- while (*p != 0 && !isspace(*p)) p++;
- arg_file_name = CORD_to_char_star(
- CORD_substr(command_line, 0, p - command_line));
- }
-
- hwnd = CreateWindow (szAppName,
- FullAppName,
- WS_OVERLAPPEDWINDOW | WS_CAPTION, /* Window style */
- CW_USEDEFAULT, 0, /* default pos. */
- CW_USEDEFAULT, 0, /* default width, height */
- NULL, /* No parent */
- NULL, /* Window class menu */
- hInstance, NULL);
- if (hwnd == NULL) {
- char buf[50];
-
- sprintf(buf, "CreateWindow: error code: 0x%X", GetLastError());
- de_error(buf);
- return(0);
- }
-
- ShowWindow (hwnd, nCmdShow);
-
- hAccel = LoadAccelerators( hInstance, szAppName );
-
- while (GetMessage (&msg, NULL, 0, 0))
- {
- if( !TranslateAccelerator( hwnd, hAccel, &msg ) )
- {
- TranslateMessage (&msg);
- DispatchMessage (&msg);
- }
- }
- return msg.wParam;
-}
-
-/* Return the argument with all control characters replaced by blanks. */
-char * plain_chars(char * text, size_t len)
-{
- char * result = GC_MALLOC_ATOMIC(len + 1);
- register size_t i;
-
- for (i = 0; i < len; i++) {
- if (iscntrl(text[i])) {
- result[i] = ' ';
- } else {
- result[i] = text[i];
- }
- }
- result[len] = '\0';
- return(result);
-}
-
-/* Return the argument with all non-control-characters replaced by */
-/* blank, and all control characters c replaced by c + 32. */
-char * control_chars(char * text, size_t len)
-{
- char * result = GC_MALLOC_ATOMIC(len + 1);
- register size_t i;
-
- for (i = 0; i < len; i++) {
- if (iscntrl(text[i])) {
- result[i] = text[i] + 0x40;
- } else {
- result[i] = ' ';
- }
- }
- result[len] = '\0';
- return(result);
-}
-
-int char_width;
-int char_height;
-
-void get_line_rect(int line, int win_width, RECT * rectp)
-{
- rectp -> top = line * char_height;
- rectp -> bottom = rectp->top + char_height;
- rectp -> left = 0;
- rectp -> right = win_width;
-}
-
-int caret_visible = 0; /* Caret is currently visible. */
-
-int screen_was_painted = 0;/* Screen has been painted at least once. */
-
-void update_cursor(void);
-
-LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
- WPARAM wParam, LPARAM lParam)
-{
- static FARPROC lpfnAboutBox;
- static HANDLE hInstance;
- HDC dc;
- PAINTSTRUCT ps;
- RECT client_area;
- RECT this_line;
- RECT dummy;
- TEXTMETRIC tm;
- register int i;
- int id;
-
- switch (message)
- {
- case WM_CREATE:
- hInstance = ( (LPCREATESTRUCT) lParam)->hInstance;
- lpfnAboutBox = MakeProcInstance( (FARPROC) AboutBox, hInstance );
- dc = GetDC(hwnd);
- SelectObject(dc, GetStockObject(SYSTEM_FIXED_FONT));
- GetTextMetrics(dc, &tm);
- ReleaseDC(hwnd, dc);
- char_width = tm.tmAveCharWidth;
- char_height = tm.tmHeight + tm.tmExternalLeading;
- GetClientRect(hwnd, &client_area);
- COLS = (client_area.right - client_area.left)/char_width;
- LINES = (client_area.bottom - client_area.top)/char_height;
- generic_init();
- return(0);
-
- case WM_CHAR:
- if (wParam == QUIT) {
- SendMessage( hwnd, WM_CLOSE, 0, 0L );
- } else {
- do_command(wParam);
- }
- return(0);
-
- case WM_SETFOCUS:
- CreateCaret(hwnd, NULL, char_width, char_height);
- ShowCaret(hwnd);
- caret_visible = 1;
- update_cursor();
- return(0);
-
- case WM_KILLFOCUS:
- HideCaret(hwnd);
- DestroyCaret();
- caret_visible = 0;
- return(0);
-
- case WM_LBUTTONUP:
- {
- unsigned xpos = LOWORD(lParam); /* From left */
- unsigned ypos = HIWORD(lParam); /* from top */
-
- set_position( xpos/char_width, ypos/char_height );
- return(0);
- }
-
- case WM_COMMAND:
- id = LOWORD(wParam);
- if (id & EDIT_CMD_FLAG) {
- if (id & REPEAT_FLAG) do_command(REPEAT);
- do_command(CHAR_CMD(id));
- return( 0 );
- } else {
- switch(id) {
- case IDM_FILEEXIT:
- SendMessage( hwnd, WM_CLOSE, 0, 0L );
- return( 0 );
-
- case IDM_HELPABOUT:
- if( DialogBox( hInstance, "ABOUTBOX",
- hwnd, lpfnAboutBox ) );
- InvalidateRect( hwnd, NULL, TRUE );
- return( 0 );
- case IDM_HELPCONTENTS:
- de_error(
- "Cursor keys: ^B(left) ^F(right) ^P(up) ^N(down)\n"
- "Undo: ^U Write: ^W Quit:^D Repeat count: ^R[n]\n"
- "Top: ^T Locate (search, find): ^L text ^L\n");
- return( 0 );
- }
- }
- break;
-
- case WM_CLOSE:
- DestroyWindow( hwnd );
- return 0;
-
- case WM_DESTROY:
- PostQuitMessage (0);
- return 0;
-
- case WM_PAINT:
- dc = BeginPaint(hwnd, &ps);
- GetClientRect(hwnd, &client_area);
- COLS = (client_area.right - client_area.left)/char_width;
- LINES = (client_area.bottom - client_area.top)/char_height;
- SelectObject(dc, GetStockObject(SYSTEM_FIXED_FONT));
- for (i = 0; i < LINES; i++) {
- get_line_rect(i, client_area.right, &this_line);
- if (IntersectRect(&dummy, &this_line, &ps.rcPaint)) {
- CORD raw_line = retrieve_screen_line(i);
- size_t len = CORD_len(raw_line);
- char * text = CORD_to_char_star(raw_line);
- /* May contain embedded NULLs */
- char * plain = plain_chars(text, len);
- char * blanks = CORD_to_char_star(CORD_chars(' ',
- COLS - len));
- char * control = control_chars(text, len);
-# define RED RGB(255,0,0)
-
- SetBkMode(dc, OPAQUE);
- SetTextColor(dc, GetSysColor(COLOR_WINDOWTEXT));
-
- TextOut(dc, this_line.left, this_line.top,
- plain, len);
- TextOut(dc, this_line.left + len * char_width, this_line.top,
- blanks, COLS - len);
- SetBkMode(dc, TRANSPARENT);
- SetTextColor(dc, RED);
- TextOut(dc, this_line.left, this_line.top,
- control, strlen(control));
- }
- }
- EndPaint(hwnd, &ps);
- screen_was_painted = 1;
- return 0;
- }
- return DefWindowProc (hwnd, message, wParam, lParam);
-}
-
-int last_col;
-int last_line;
-
-void move_cursor(int c, int l)
-{
- last_col = c;
- last_line = l;
-
- if (caret_visible) update_cursor();
-}
-
-void update_cursor(void)
-{
- SetCaretPos(last_col * char_width, last_line * char_height);
- ShowCaret(hwnd);
-}
-
-void invalidate_line(int i)
-{
- RECT line;
-
- if (!screen_was_painted) return;
- /* Invalidating a rectangle before painting seems result in a */
- /* major performance problem. */
- get_line_rect(i, COLS*char_width, &line);
- InvalidateRect(hwnd, &line, FALSE);
-}
-
-LRESULT CALLBACK AboutBox( HWND hDlg, UINT message,
- WPARAM wParam, LPARAM lParam )
-{
- switch( message )
- {
- case WM_INITDIALOG:
- SetFocus( GetDlgItem( hDlg, IDOK ) );
- break;
-
- case WM_COMMAND:
- switch( wParam )
- {
- case IDOK:
- EndDialog( hDlg, TRUE );
- break;
- }
- break;
-
- case WM_CLOSE:
- EndDialog( hDlg, TRUE );
- return TRUE;
-
- }
- return FALSE;
-}
-
diff --git a/boehm-gc/cord/de_win.h b/boehm-gc/cord/de_win.h
deleted file mode 100644
index 57a47b45c41..00000000000
--- a/boehm-gc/cord/de_win.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:25 pm PDT */
-
-/* cord.h, de_cmds.h, and windows.h should be included before this. */
-
-
-# define OTHER_FLAG 0x100
-# define EDIT_CMD_FLAG 0x200
-# define REPEAT_FLAG 0x400
-
-# define CHAR_CMD(i) ((i) & 0xff)
-
-/* MENU: DE */
-#define IDM_FILESAVE (EDIT_CMD_FLAG + WRITE)
-#define IDM_FILEEXIT (OTHER_FLAG + 1)
-#define IDM_HELPABOUT (OTHER_FLAG + 2)
-#define IDM_HELPCONTENTS (OTHER_FLAG + 3)
-
-#define IDM_EDITPDOWN (REPEAT_FLAG + EDIT_CMD_FLAG + DOWN)
-#define IDM_EDITPUP (REPEAT_FLAG + EDIT_CMD_FLAG + UP)
-#define IDM_EDITUNDO (EDIT_CMD_FLAG + UNDO)
-#define IDM_EDITLOCATE (EDIT_CMD_FLAG + LOCATE)
-#define IDM_EDITDOWN (EDIT_CMD_FLAG + DOWN)
-#define IDM_EDITUP (EDIT_CMD_FLAG + UP)
-#define IDM_EDITLEFT (EDIT_CMD_FLAG + LEFT)
-#define IDM_EDITRIGHT (EDIT_CMD_FLAG + RIGHT)
-#define IDM_EDITBS (EDIT_CMD_FLAG + BS)
-#define IDM_EDITDEL (EDIT_CMD_FLAG + DEL)
-#define IDM_EDITREPEAT (EDIT_CMD_FLAG + REPEAT)
-#define IDM_EDITTOP (EDIT_CMD_FLAG + TOP)
-
-
-
-
-/* Windows UI stuff */
-
-LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
- UINT wParam, LONG lParam);
-
-LRESULT CALLBACK AboutBox( HWND hDlg, UINT message,
- UINT wParam, LONG lParam );
-
-
-/* Screen dimensions. Maintained by de_win.c. */
-extern int LINES;
-extern int COLS;
-
-/* File being edited. */
-extern char * arg_file_name;
-
-/* Current display position in file. Maintained by de.c */
-extern int dis_line;
-extern int dis_col;
-
-/* Current cursor position in file. */
-extern int line;
-extern int col;
-
-/*
- * Calls from de_win.c to de.c
- */
-
-CORD retrieve_screen_line(int i);
- /* Get the contents of i'th screen line. */
- /* Relies on COLS. */
-
-void set_position(int x, int y);
- /* Set column, row. Upper left of window = (0,0). */
-
-void do_command(int);
- /* Execute an editor command. */
- /* Agument is a command character or one */
- /* of the IDM_ commands. */
-
-void generic_init(void);
- /* OS independent initialization */
-
-
-/*
- * Calls from de.c to de_win.c
- */
-
-void move_cursor(int column, int line);
- /* Physically move the cursor on the display, */
- /* so that it appears at */
- /* (column, line). */
-
-void invalidate_line(int line);
- /* Invalidate line i on the screen. */
-
-void de_error(char *s);
- /* Display error message. */ \ No newline at end of file
diff --git a/boehm-gc/cord/ec.h b/boehm-gc/cord/ec.h
deleted file mode 100644
index c829b83ad11..00000000000
--- a/boehm-gc/cord/ec.h
+++ /dev/null
@@ -1,70 +0,0 @@
-# ifndef EC_H
-# define EC_H
-
-# ifndef CORD_H
-# include "cord.h"
-# endif
-
-/* Extensible cords are strings that may be destructively appended to. */
-/* They allow fast construction of cords from characters that are */
-/* being read from a stream. */
-/*
- * A client might look like:
- *
- * {
- * CORD_ec x;
- * CORD result;
- * char c;
- * FILE *f;
- *
- * ...
- * CORD_ec_init(x);
- * while(...) {
- * c = getc(f);
- * ...
- * CORD_ec_append(x, c);
- * }
- * result = CORD_balance(CORD_ec_to_cord(x));
- *
- * If a C string is desired as the final result, the call to CORD_balance
- * may be replaced by a call to CORD_to_char_star.
- */
-
-# ifndef CORD_BUFSZ
-# define CORD_BUFSZ 128
-# endif
-
-typedef struct CORD_ec_struct {
- CORD ec_cord;
- char * ec_bufptr;
- char ec_buf[CORD_BUFSZ+1];
-} CORD_ec[1];
-
-/* This structure represents the concatenation of ec_cord with */
-/* ec_buf[0 ... (ec_bufptr-ec_buf-1)] */
-
-/* Flush the buffer part of the extended chord into ec_cord. */
-/* Note that this is almost the only real function, and it is */
-/* implemented in 6 lines in cordxtra.c */
-void CORD_ec_flush_buf(CORD_ec x);
-
-/* Convert an extensible cord to a cord. */
-# define CORD_ec_to_cord(x) (CORD_ec_flush_buf(x), (x)[0].ec_cord)
-
-/* Initialize an extensible cord. */
-# define CORD_ec_init(x) ((x)[0].ec_cord = 0, (x)[0].ec_bufptr = (x)[0].ec_buf)
-
-/* Append a character to an extensible cord. */
-# define CORD_ec_append(x, c) \
- { \
- if ((x)[0].ec_bufptr == (x)[0].ec_buf + CORD_BUFSZ) { \
- CORD_ec_flush_buf(x); \
- } \
- *((x)[0].ec_bufptr)++ = (c); \
- }
-
-/* Append a cord to an extensible cord. Structure remains shared with */
-/* original. */
-void CORD_ec_append_cord(CORD_ec x, CORD s);
-
-# endif /* EC_H */
diff --git a/boehm-gc/cord/gc.h b/boehm-gc/cord/gc.h
deleted file mode 100644
index 09c8ca8196c..00000000000
--- a/boehm-gc/cord/gc.h
+++ /dev/null
@@ -1,698 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
- * Copyright 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * Note that this defines a large number of tuning hooks, which can
- * safely be ignored in nearly all cases. For normal use it suffices
- * to call only GC_MALLOC and perhaps GC_REALLOC.
- * For better performance, also look at GC_MALLOC_ATOMIC, and
- * GC_enable_incremental. If you need an action to be performed
- * immediately before an object is collected, look at GC_register_finalizer.
- * If you are using Solaris threads, look at the end of this file.
- * Everything else is best ignored unless you encounter performance
- * problems.
- */
-
-#ifndef _GC_H
-
-# define _GC_H
-# define __GC
-# include <stddef.h>
-
-#if defined(__CYGWIN32__) && defined(GC_USE_DLL)
-#include "libgc_globals.h"
-#endif
-
-#if defined(_MSC_VER) && defined(_DLL)
-#ifdef GC_BUILD
-#define GC_API __declspec(dllexport)
-#else
-#define GC_API __declspec(dllimport)
-#endif
-#endif
-
-#ifndef GC_API
-#define GC_API extern
-#endif
-
-# if defined(__STDC__) || defined(__cplusplus)
-# define GC_PROTO(args) args
- typedef void * GC_PTR;
-# else
-# define GC_PROTO(args) ()
- typedef char * GC_PTR;
-# endif
-
-# ifdef __cplusplus
- extern "C" {
-# endif
-
-
-/* Define word and signed_word to be unsigned and signed types of the */
-/* size as char * or void *. There seems to be no way to do this */
-/* even semi-portably. The following is probably no better/worse */
-/* than almost anything else. */
-/* The ANSI standard suggests that size_t and ptr_diff_t might be */
-/* better choices. But those appear to have incorrect definitions */
-/* on may systems. Notably "typedef int size_t" seems to be both */
-/* frequent and WRONG. */
-typedef unsigned long GC_word;
-typedef long GC_signed_word;
-
-/* Public read-only variables */
-
-GC_API GC_word GC_gc_no;/* Counter incremented per collection. */
- /* Includes empty GCs at startup. */
-
-
-/* Public R/W variables */
-
-GC_API GC_PTR (*GC_oom_fn) GC_PROTO((size_t bytes_requested));
- /* When there is insufficient memory to satisfy */
- /* an allocation request, we return */
- /* (*GC_oom_fn)(). By default this just */
- /* returns 0. */
- /* If it returns, it must return 0 or a valid */
- /* pointer to a previously allocated heap */
- /* object. */
-
-GC_API int GC_quiet; /* Disable statistics output. Only matters if */
- /* collector has been compiled with statistics */
- /* enabled. This involves a performance cost, */
- /* and is thus not the default. */
-
-GC_API int GC_dont_gc; /* Dont collect unless explicitly requested, e.g. */
- /* because it's not safe. */
-
-GC_API int GC_dont_expand;
- /* Dont expand heap unless explicitly requested */
- /* or forced to. */
-
-GC_API int GC_full_freq; /* Number of partial collections between */
- /* full collections. Matters only if */
- /* GC_incremental is set. */
-
-GC_API GC_word GC_non_gc_bytes;
- /* Bytes not considered candidates for collection. */
- /* Used only to control scheduling of collections. */
-
-GC_API GC_word GC_free_space_divisor;
- /* We try to make sure that we allocate at */
- /* least N/GC_free_space_divisor bytes between */
- /* collections, where N is the heap size plus */
- /* a rough estimate of the root set size. */
- /* Initially, GC_free_space_divisor = 4. */
- /* Increasing its value will use less space */
- /* but more collection time. Decreasing it */
- /* will appreciably decrease collection time */
- /* at the expense of space. */
- /* GC_free_space_divisor = 1 will effectively */
- /* disable collections. */
-
-GC_API GC_word GC_max_retries;
- /* The maximum number of GCs attempted before */
- /* reporting out of memory after heap */
- /* expansion fails. Initially 0. */
-
-
-/* Public procedures */
-/*
- * general purpose allocation routines, with roughly malloc calling conv.
- * The atomic versions promise that no relevant pointers are contained
- * in the object. The nonatomic versions guarantee that the new object
- * is cleared. GC_malloc_stubborn promises that no changes to the object
- * will occur after GC_end_stubborn_change has been called on the
- * result of GC_malloc_stubborn. GC_malloc_uncollectable allocates an object
- * that is scanned for pointers to collectable objects, but is not itself
- * collectable. GC_malloc_uncollectable and GC_free called on the resulting
- * object implicitly update GC_non_gc_bytes appropriately.
- */
-GC_API GC_PTR GC_malloc GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_atomic GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_uncollectable GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_stubborn GC_PROTO((size_t size_in_bytes));
-
-/* The following is only defined if the library has been suitably */
-/* compiled: */
-GC_API GC_PTR GC_malloc_atomic_uncollectable GC_PROTO((size_t size_in_bytes));
-
-/* Explicitly deallocate an object. Dangerous if used incorrectly. */
-/* Requires a pointer to the base of an object. */
-/* If the argument is stubborn, it should not be changeable when freed. */
-/* An object should not be enable for finalization when it is */
-/* explicitly deallocated. */
-/* GC_free(0) is a no-op, as required by ANSI C for free. */
-GC_API void GC_free GC_PROTO((GC_PTR object_addr));
-
-/*
- * Stubborn objects may be changed only if the collector is explicitly informed.
- * The collector is implicitly informed of coming change when such
- * an object is first allocated. The following routines inform the
- * collector that an object will no longer be changed, or that it will
- * once again be changed. Only nonNIL pointer stores into the object
- * are considered to be changes. The argument to GC_end_stubborn_change
- * must be exacly the value returned by GC_malloc_stubborn or passed to
- * GC_change_stubborn. (In the second case it may be an interior pointer
- * within 512 bytes of the beginning of the objects.)
- * There is a performance penalty for allowing more than
- * one stubborn object to be changed at once, but it is acceptable to
- * do so. The same applies to dropping stubborn objects that are still
- * changeable.
- */
-GC_API void GC_change_stubborn GC_PROTO((GC_PTR));
-GC_API void GC_end_stubborn_change GC_PROTO((GC_PTR));
-
-/* Return a pointer to the base (lowest address) of an object given */
-/* a pointer to a location within the object. */
-/* Return 0 if displaced_pointer doesn't point to within a valid */
-/* object. */
-GC_API GC_PTR GC_base GC_PROTO((GC_PTR displaced_pointer));
-
-/* Given a pointer to the base of an object, return its size in bytes. */
-/* The returned size may be slightly larger than what was originally */
-/* requested. */
-GC_API size_t GC_size GC_PROTO((GC_PTR object_addr));
-
-/* For compatibility with C library. This is occasionally faster than */
-/* a malloc followed by a bcopy. But if you rely on that, either here */
-/* or with the standard C library, your code is broken. In my */
-/* opinion, it shouldn't have been invented, but now we're stuck. -HB */
-/* The resulting object has the same kind as the original. */
-/* If the argument is stubborn, the result will have changes enabled. */
-/* It is an error to have changes enabled for the original object. */
-/* Follows ANSI comventions for NULL old_object. */
-GC_API GC_PTR GC_realloc GC_PROTO((GC_PTR old_object,
- size_t new_size_in_bytes));
-
-/* Explicitly increase the heap size. */
-/* Returns 0 on failure, 1 on success. */
-GC_API int GC_expand_hp GC_PROTO((size_t number_of_bytes));
-
-/* Limit the heap size to n bytes. Useful when you're debugging, */
-/* especially on systems that don't handle running out of memory well. */
-/* n == 0 ==> unbounded. This is the default. */
-GC_API void GC_set_max_heap_size GC_PROTO((GC_word n));
-
-/* Inform the collector that a certain section of statically allocated */
-/* memory contains no pointers to garbage collected memory. Thus it */
-/* need not be scanned. This is sometimes important if the application */
-/* maps large read/write files into the address space, which could be */
-/* mistaken for dynamic library data segments on some systems. */
-GC_API void GC_exclude_static_roots GC_PROTO((GC_PTR start, GC_PTR finish));
-
-/* Clear the set of root segments. Wizards only. */
-GC_API void GC_clear_roots GC_PROTO((void));
-
-/* Add a root segment. Wizards only. */
-GC_API void GC_add_roots GC_PROTO((char * low_address,
- char * high_address_plus_1));
-
-/* Add a displacement to the set of those considered valid by the */
-/* collector. GC_register_displacement(n) means that if p was returned */
-/* by GC_malloc, then (char *)p + n will be considered to be a valid */
-/* pointer to n. N must be small and less than the size of p. */
-/* (All pointers to the interior of objects from the stack are */
-/* considered valid in any case. This applies to heap objects and */
-/* static data.) */
-/* Preferably, this should be called before any other GC procedures. */
-/* Calling it later adds to the probability of excess memory */
-/* retention. */
-/* This is a no-op if the collector was compiled with recognition of */
-/* arbitrary interior pointers enabled, which is now the default. */
-GC_API void GC_register_displacement GC_PROTO((GC_word n));
-
-/* The following version should be used if any debugging allocation is */
-/* being done. */
-GC_API void GC_debug_register_displacement GC_PROTO((GC_word n));
-
-/* Explicitly trigger a full, world-stop collection. */
-GC_API void GC_gcollect GC_PROTO((void));
-
-/* Trigger a full world-stopped collection. Abort the collection if */
-/* and when stop_func returns a nonzero value. Stop_func will be */
-/* called frequently, and should be reasonably fast. This works even */
-/* if virtual dirty bits, and hence incremental collection is not */
-/* available for this architecture. Collections can be aborted faster */
-/* than normal pause times for incremental collection. However, */
-/* aborted collections do no useful work; the next collection needs */
-/* to start from the beginning. */
-typedef int (* GC_stop_func) GC_PROTO((void));
-GC_API int GC_try_to_collect GC_PROTO((GC_stop_func stop_func));
-
-/* Return the number of bytes in the heap. Excludes collector private */
-/* data structures. Includes empty blocks and fragmentation loss. */
-/* Includes some pages that were allocated but never written. */
-GC_API size_t GC_get_heap_size GC_PROTO((void));
-
-/* Return the number of bytes allocated since the last collection. */
-GC_API size_t GC_get_bytes_since_gc GC_PROTO((void));
-
-/* Enable incremental/generational collection. */
-/* Not advisable unless dirty bits are */
-/* available or most heap objects are */
-/* pointerfree(atomic) or immutable. */
-/* Don't use in leak finding mode. */
-/* Ignored if GC_dont_gc is true. */
-GC_API void GC_enable_incremental GC_PROTO((void));
-
-/* Perform some garbage collection work, if appropriate. */
-/* Return 0 if there is no more work to be done. */
-/* Typically performs an amount of work corresponding roughly */
-/* to marking from one page. May do more work if further */
-/* progress requires it, e.g. if incremental collection is */
-/* disabled. It is reasonable to call this in a wait loop */
-/* until it returns 0. */
-GC_API int GC_collect_a_little GC_PROTO((void));
-
-/* Allocate an object of size lb bytes. The client guarantees that */
-/* as long as the object is live, it will be referenced by a pointer */
-/* that points to somewhere within the first 256 bytes of the object. */
-/* (This should normally be declared volatile to prevent the compiler */
-/* from invalidating this assertion.) This routine is only useful */
-/* if a large array is being allocated. It reduces the chance of */
-/* accidentally retaining such an array as a result of scanning an */
-/* integer that happens to be an address inside the array. (Actually, */
-/* it reduces the chance of the allocator not finding space for such */
-/* an array, since it will try hard to avoid introducing such a false */
-/* reference.) On a SunOS 4.X or MS Windows system this is recommended */
-/* for arrays likely to be larger than 100K or so. For other systems, */
-/* or if the collector is not configured to recognize all interior */
-/* pointers, the threshold is normally much higher. */
-GC_API GC_PTR GC_malloc_ignore_off_page GC_PROTO((size_t lb));
-GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb));
-
-#if defined(__sgi) && !defined(__GNUC__) && _COMPILER_VERSION >= 720
-# define GC_ADD_CALLER
-# define GC_RETURN_ADDR (GC_word)__return_address
-#endif
-
-#ifdef GC_ADD_CALLER
-# define GC_EXTRAS GC_RETURN_ADDR, __FILE__, __LINE__
-# define GC_EXTRA_PARAMS GC_word ra, char * descr_string, int descr_int
-#else
-# define GC_EXTRAS __FILE__, __LINE__
-# define GC_EXTRA_PARAMS char * descr_string, int descr_int
-#endif
-
-/* Debugging (annotated) allocation. GC_gcollect will check */
-/* objects allocated in this way for overwrites, etc. */
-GC_API GC_PTR GC_debug_malloc
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_atomic
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_uncollectable
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_stubborn
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API void GC_debug_free GC_PROTO((GC_PTR object_addr));
-GC_API GC_PTR GC_debug_realloc
- GC_PROTO((GC_PTR old_object, size_t new_size_in_bytes,
- GC_EXTRA_PARAMS));
-
-GC_API void GC_debug_change_stubborn GC_PROTO((GC_PTR));
-GC_API void GC_debug_end_stubborn_change GC_PROTO((GC_PTR));
-# ifdef GC_DEBUG
-# define GC_MALLOC(sz) GC_debug_malloc(sz, GC_EXTRAS)
-# define GC_MALLOC_ATOMIC(sz) GC_debug_malloc_atomic(sz, GC_EXTRAS)
-# define GC_MALLOC_UNCOLLECTABLE(sz) GC_debug_malloc_uncollectable(sz, \
- GC_EXTRAS)
-# define GC_REALLOC(old, sz) GC_debug_realloc(old, sz, GC_EXTRAS)
-# define GC_FREE(p) GC_debug_free(p)
-# define GC_REGISTER_FINALIZER(p, f, d, of, od) \
- GC_debug_register_finalizer(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
- GC_debug_register_finalizer_ignore_self(p, f, d, of, od)
-# define GC_MALLOC_STUBBORN(sz) GC_debug_malloc_stubborn(sz, GC_EXTRAS);
-# define GC_CHANGE_STUBBORN(p) GC_debug_change_stubborn(p)
-# define GC_END_STUBBORN_CHANGE(p) GC_debug_end_stubborn_change(p)
-# define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
- GC_general_register_disappearing_link(link, GC_base(obj))
-# define GC_REGISTER_DISPLACEMENT(n) GC_debug_register_displacement(n)
-# else
-# define GC_MALLOC(sz) GC_malloc(sz)
-# define GC_MALLOC_ATOMIC(sz) GC_malloc_atomic(sz)
-# define GC_MALLOC_UNCOLLECTABLE(sz) GC_malloc_uncollectable(sz)
-# define GC_REALLOC(old, sz) GC_realloc(old, sz)
-# define GC_FREE(p) GC_free(p)
-# define GC_REGISTER_FINALIZER(p, f, d, of, od) \
- GC_register_finalizer(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
- GC_register_finalizer_ignore_self(p, f, d, of, od)
-# define GC_MALLOC_STUBBORN(sz) GC_malloc_stubborn(sz)
-# define GC_CHANGE_STUBBORN(p) GC_change_stubborn(p)
-# define GC_END_STUBBORN_CHANGE(p) GC_end_stubborn_change(p)
-# define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
- GC_general_register_disappearing_link(link, obj)
-# define GC_REGISTER_DISPLACEMENT(n) GC_register_displacement(n)
-# endif
-/* The following are included because they are often convenient, and */
-/* reduce the chance for a misspecifed size argument. But calls may */
-/* expand to something syntactically incorrect if t is a complicated */
-/* type expression. */
-# define GC_NEW(t) (t *)GC_MALLOC(sizeof (t))
-# define GC_NEW_ATOMIC(t) (t *)GC_MALLOC_ATOMIC(sizeof (t))
-# define GC_NEW_STUBBORN(t) (t *)GC_MALLOC_STUBBORN(sizeof (t))
-# define GC_NEW_UNCOLLECTABLE(t) (t *)GC_MALLOC_UNCOLLECTABLE(sizeof (t))
-
-/* Finalization. Some of these primitives are grossly unsafe. */
-/* The idea is to make them both cheap, and sufficient to build */
-/* a safer layer, closer to PCedar finalization. */
-/* The interface represents my conclusions from a long discussion */
-/* with Alan Demers, Dan Greene, Carl Hauser, Barry Hayes, */
-/* Christian Jacobi, and Russ Atkinson. It's not perfect, and */
-/* probably nobody else agrees with it. Hans-J. Boehm 3/13/92 */
-typedef void (*GC_finalization_proc)
- GC_PROTO((GC_PTR obj, GC_PTR client_data));
-
-GC_API void GC_register_finalizer
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-GC_API void GC_debug_register_finalizer
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
- /* When obj is no longer accessible, invoke */
- /* (*fn)(obj, cd). If a and b are inaccessible, and */
- /* a points to b (after disappearing links have been */
- /* made to disappear), then only a will be */
- /* finalized. (If this does not create any new */
- /* pointers to b, then b will be finalized after the */
- /* next collection.) Any finalizable object that */
- /* is reachable from itself by following one or more */
- /* pointers will not be finalized (or collected). */
- /* Thus cycles involving finalizable objects should */
- /* be avoided, or broken by disappearing links. */
- /* All but the last finalizer registered for an object */
- /* is ignored. */
- /* Finalization may be removed by passing 0 as fn. */
- /* Finalizers are implicitly unregistered just before */
- /* they are invoked. */
- /* The old finalizer and client data are stored in */
- /* *ofn and *ocd. */
- /* Fn is never invoked on an accessible object, */
- /* provided hidden pointers are converted to real */
- /* pointers only if the allocation lock is held, and */
- /* such conversions are not performed by finalization */
- /* routines. */
- /* If GC_register_finalizer is aborted as a result of */
- /* a signal, the object may be left with no */
- /* finalization, even if neither the old nor new */
- /* finalizer were NULL. */
- /* Obj should be the nonNULL starting address of an */
- /* object allocated by GC_malloc or friends. */
- /* Note that any garbage collectable object referenced */
- /* by cd will be considered accessible until the */
- /* finalizer is invoked. */
-
-/* Another versions of the above follow. It ignores */
-/* self-cycles, i.e. pointers from a finalizable object to */
-/* itself. There is a stylistic argument that this is wrong, */
-/* but it's unavoidable for C++, since the compiler may */
-/* silently introduce these. It's also benign in that specific */
-/* case. */
-GC_API void GC_register_finalizer_ignore_self
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-GC_API void GC_debug_register_finalizer_ignore_self
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-
-/* The following routine may be used to break cycles between */
-/* finalizable objects, thus causing cyclic finalizable */
-/* objects to be finalized in the correct order. Standard */
-/* use involves calling GC_register_disappearing_link(&p), */
-/* where p is a pointer that is not followed by finalization */
-/* code, and should not be considered in determining */
-/* finalization order. */
-GC_API int GC_register_disappearing_link GC_PROTO((GC_PTR * /* link */));
- /* Link should point to a field of a heap allocated */
- /* object obj. *link will be cleared when obj is */
- /* found to be inaccessible. This happens BEFORE any */
- /* finalization code is invoked, and BEFORE any */
- /* decisions about finalization order are made. */
- /* This is useful in telling the finalizer that */
- /* some pointers are not essential for proper */
- /* finalization. This may avoid finalization cycles. */
- /* Note that obj may be resurrected by another */
- /* finalizer, and thus the clearing of *link may */
- /* be visible to non-finalization code. */
- /* There's an argument that an arbitrary action should */
- /* be allowed here, instead of just clearing a pointer. */
- /* But this causes problems if that action alters, or */
- /* examines connectivity. */
- /* Returns 1 if link was already registered, 0 */
- /* otherwise. */
- /* Only exists for backward compatibility. See below: */
-
-GC_API int GC_general_register_disappearing_link
- GC_PROTO((GC_PTR * /* link */, GC_PTR obj));
- /* A slight generalization of the above. *link is */
- /* cleared when obj first becomes inaccessible. This */
- /* can be used to implement weak pointers easily and */
- /* safely. Typically link will point to a location */
- /* holding a disguised pointer to obj. (A pointer */
- /* inside an "atomic" object is effectively */
- /* disguised.) In this way soft */
- /* pointers are broken before any object */
- /* reachable from them are finalized. Each link */
- /* May be registered only once, i.e. with one obj */
- /* value. This was added after a long email discussion */
- /* with John Ellis. */
- /* Obj must be a pointer to the first word of an object */
- /* we allocated. It is unsafe to explicitly deallocate */
- /* the object containing link. Explicitly deallocating */
- /* obj may or may not cause link to eventually be */
- /* cleared. */
-GC_API int GC_unregister_disappearing_link GC_PROTO((GC_PTR * /* link */));
- /* Returns 0 if link was not actually registered. */
- /* Undoes a registration by either of the above two */
- /* routines. */
-
-/* Auxiliary fns to make finalization work correctly with displaced */
-/* pointers introduced by the debugging allocators. */
-GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
-GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
-
-GC_API int GC_invoke_finalizers GC_PROTO((void));
- /* Run finalizers for all objects that are ready to */
- /* be finalized. Return the number of finalizers */
- /* that were run. Normally this is also called */
- /* implicitly during some allocations. If */
- /* FINALIZE_ON_DEMAND is defined, it must be called */
- /* explicitly. */
-
-/* GC_set_warn_proc can be used to redirect or filter warning messages. */
-/* p may not be a NULL pointer. */
-typedef void (*GC_warn_proc) GC_PROTO((char *msg, GC_word arg));
-GC_API GC_warn_proc GC_set_warn_proc GC_PROTO((GC_warn_proc p));
- /* Returns old warning procedure. */
-
-/* The following is intended to be used by a higher level */
-/* (e.g. cedar-like) finalization facility. It is expected */
-/* that finalization code will arrange for hidden pointers to */
-/* disappear. Otherwise objects can be accessed after they */
-/* have been collected. */
-/* Note that putting pointers in atomic objects or in */
-/* nonpointer slots of "typed" objects is equivalent to */
-/* disguising them in this way, and may have other advantages. */
-# if defined(I_HIDE_POINTERS) || defined(GC_I_HIDE_POINTERS)
- typedef GC_word GC_hidden_pointer;
-# define HIDE_POINTER(p) (~(GC_hidden_pointer)(p))
-# define REVEAL_POINTER(p) ((GC_PTR)(HIDE_POINTER(p)))
- /* Converting a hidden pointer to a real pointer requires verifying */
- /* that the object still exists. This involves acquiring the */
- /* allocator lock to avoid a race with the collector. */
-# endif /* I_HIDE_POINTERS */
-
-typedef GC_PTR (*GC_fn_type) GC_PROTO((GC_PTR client_data));
-GC_API GC_PTR GC_call_with_alloc_lock
- GC_PROTO((GC_fn_type fn, GC_PTR client_data));
-
-/* Check that p and q point to the same object. */
-/* Fail conspicuously if they don't. */
-/* Returns the first argument. */
-/* Succeeds if neither p nor q points to the heap. */
-/* May succeed if both p and q point to between heap objects. */
-GC_API GC_PTR GC_same_obj GC_PROTO((GC_PTR p, GC_PTR q));
-
-/* Checked pointer pre- and post- increment operations. Note that */
-/* the second argument is in units of bytes, not multiples of the */
-/* object size. This should either be invoked from a macro, or the */
-/* call should be automatically generated. */
-GC_API GC_PTR GC_pre_incr GC_PROTO((GC_PTR *p, size_t how_much));
-GC_API GC_PTR GC_post_incr GC_PROTO((GC_PTR *p, size_t how_much));
-
-/* Check that p is visible */
-/* to the collector as a possibly pointer containing location. */
-/* If it isn't fail conspicuously. */
-/* Returns the argument in all cases. May erroneously succeed */
-/* in hard cases. (This is intended for debugging use with */
-/* untyped allocations. The idea is that it should be possible, though */
-/* slow, to add such a call to all indirect pointer stores.) */
-/* Currently useless for multithreaded worlds. */
-GC_API GC_PTR GC_is_visible GC_PROTO((GC_PTR p));
-
-/* Check that if p is a pointer to a heap page, then it points to */
-/* a valid displacement within a heap object. */
-/* Fail conspicuously if this property does not hold. */
-/* Uninteresting with ALL_INTERIOR_POINTERS. */
-/* Always returns its argument. */
-GC_API GC_PTR GC_is_valid_displacement GC_PROTO((GC_PTR p));
-
-/* Safer, but slow, pointer addition. Probably useful mainly with */
-/* a preprocessor. Useful only for heap pointers. */
-#ifdef GC_DEBUG
-# define GC_PTR_ADD3(x, n, type_of_result) \
- ((type_of_result)GC_same_obj((x)+(n), (x)))
-# define GC_PRE_INCR3(x, n, type_of_result) \
- ((type_of_result)GC_pre_incr(&(x), (n)*sizeof(*x))
-# define GC_POST_INCR2(x, type_of_result) \
- ((type_of_result)GC_post_incr(&(x), sizeof(*x))
-# ifdef __GNUC__
-# define GC_PTR_ADD(x, n) \
- GC_PTR_ADD3(x, n, typeof(x))
-# define GC_PRE_INCR(x, n) \
- GC_PRE_INCR3(x, n, typeof(x))
-# define GC_POST_INCR(x, n) \
- GC_POST_INCR3(x, typeof(x))
-# else
- /* We can't do this right without typeof, which ANSI */
- /* decided was not sufficiently useful. Repeatedly */
- /* mentioning the arguments seems too dangerous to be */
- /* useful. So does not casting the result. */
-# define GC_PTR_ADD(x, n) ((x)+(n))
-# endif
-#else /* !GC_DEBUG */
-# define GC_PTR_ADD3(x, n, type_of_result) ((x)+(n))
-# define GC_PTR_ADD(x, n) ((x)+(n))
-# define GC_PRE_INCR3(x, n, type_of_result) ((x) += (n))
-# define GC_PRE_INCR(x, n) ((x) += (n))
-# define GC_POST_INCR2(x, n, type_of_result) ((x)++)
-# define GC_POST_INCR(x, n) ((x)++)
-#endif
-
-/* Safer assignment of a pointer to a nonstack location. */
-#ifdef GC_DEBUG
-# ifdef __STDC__
-# define GC_PTR_STORE(p, q) \
- (*(void **)GC_is_visible(p) = GC_is_valid_displacement(q))
-# else
-# define GC_PTR_STORE(p, q) \
- (*(char **)GC_is_visible(p) = GC_is_valid_displacement(q))
-# endif
-#else /* !GC_DEBUG */
-# define GC_PTR_STORE(p, q) *((p) = (q))
-#endif
-
-/* Fynctions called to report pointer checking errors */
-GC_API void (*GC_same_obj_print_proc) GC_PROTO((GC_PTR p, GC_PTR q));
-
-GC_API void (*GC_is_valid_displacement_print_proc)
- GC_PROTO((GC_PTR p));
-
-GC_API void (*GC_is_visible_print_proc)
- GC_PROTO((GC_PTR p));
-
-#ifdef SOLARIS_THREADS
-/* We need to intercept calls to many of the threads primitives, so */
-/* that we can locate thread stacks and stop the world. */
-/* Note also that the collector cannot see thread specific data. */
-/* Thread specific data should generally consist of pointers to */
-/* uncollectable objects, which are deallocated using the destructor */
-/* facility in thr_keycreate. */
-# include <thread.h>
-# include <signal.h>
- int GC_thr_create(void *stack_base, size_t stack_size,
- void *(*start_routine)(void *), void *arg, long flags,
- thread_t *new_thread);
- int GC_thr_join(thread_t wait_for, thread_t *departed, void **status);
- int GC_thr_suspend(thread_t target_thread);
- int GC_thr_continue(thread_t target_thread);
- void * GC_dlopen(const char *path, int mode);
-
-# ifdef _SOLARIS_PTHREADS
-# include <pthread.h>
- extern int GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void * (*thread_execp)(void *), void *arg);
- extern int GC_pthread_join(pthread_t wait_for, void **status);
-
-# undef thread_t
-
-# define pthread_join GC_pthread_join
-# define pthread_create GC_pthread_create
-#endif
-
-# define thr_create GC_thr_create
-# define thr_join GC_thr_join
-# define thr_suspend GC_thr_suspend
-# define thr_continue GC_thr_continue
-# define dlopen GC_dlopen
-
-# endif /* SOLARIS_THREADS */
-
-
-#if defined(IRIX_THREADS) || defined(LINUX_THREADS)
-/* We treat these similarly. */
-# include <pthread.h>
-# include <signal.h>
-
- int GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void *(*start_routine)(void *), void *arg);
- int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
- int GC_pthread_join(pthread_t thread, void **retval);
-
-# define pthread_create GC_pthread_create
-# define pthread_sigmask GC_pthread_sigmask
-# define pthread_join GC_pthread_join
-
-#endif /* IRIX_THREADS || LINUX_THREADS */
-
-#if defined(THREADS) && !defined(SRC_M3)
-/* This returns a list of objects, linked through their first */
-/* word. Its use can greatly reduce lock contention problems, since */
-/* the allocation lock can be acquired and released many fewer times. */
-GC_PTR GC_malloc_many(size_t lb);
-#define GC_NEXT(p) (*(GC_PTR *)(p)) /* Retrieve the next element */
- /* in returned list. */
-extern void GC_thr_init(); /* Needed for Solaris/X86 */
-
-#endif /* THREADS && !SRC_M3 */
-
-/*
- * If you are planning on putting
- * the collector in a SunOS 5 dynamic library, you need to call GC_INIT()
- * from the statically loaded program section.
- * This circumvents a Solaris 2.X (X<=4) linker bug.
- */
-#if defined(sparc) || defined(__sparc)
-# define GC_INIT() { extern end, etext; \
- GC_noop(&end, &etext); }
-#else
-# if defined(__CYGWIN32__) && defined(GC_USE_DLL)
- /*
- * Similarly gnu-win32 DLLs need explicit initialization
- */
-# define GC_INIT() { GC_add_roots(DATASTART, DATAEND); }
-# else
-# define GC_INIT()
-# endif
-#endif
-
-#ifdef __cplusplus
- } /* end of extern "C" */
-#endif
-
-#endif /* _GC_H */
diff --git a/boehm-gc/cord/private/cord_pos.h b/boehm-gc/cord/private/cord_pos.h
deleted file mode 100644
index d2b24bb8ab6..00000000000
--- a/boehm-gc/cord/private/cord_pos.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:23 pm PDT */
-# ifndef CORD_POSITION_H
-
-/* The representation of CORD_position. This is private to the */
-/* implementation, but the size is known to clients. Also */
-/* the implementation of some exported macros relies on it. */
-/* Don't use anything defined here and not in cord.h. */
-
-# define MAX_DEPTH 48
- /* The maximum depth of a balanced cord + 1. */
- /* We don't let cords get deeper than MAX_DEPTH. */
-
-struct CORD_pe {
- CORD pe_cord;
- size_t pe_start_pos;
-};
-
-/* A structure describing an entry on the path from the root */
-/* to current position. */
-typedef struct CORD_Pos {
- size_t cur_pos;
- int path_len;
-# define CORD_POS_INVALID (0x55555555)
- /* path_len == INVALID <==> position invalid */
- const char *cur_leaf; /* Current leaf, if it is a string. */
- /* If the current leaf is a function, */
- /* then this may point to function_buf */
- /* containing the next few characters. */
- /* Always points to a valid string */
- /* containing the current character */
- /* unless cur_end is 0. */
- size_t cur_start; /* Start position of cur_leaf */
- size_t cur_end; /* Ending position of cur_leaf */
- /* 0 if cur_leaf is invalid. */
- struct CORD_pe path[MAX_DEPTH + 1];
- /* path[path_len] is the leaf corresponding to cur_pos */
- /* path[0].pe_cord is the cord we point to. */
-# define FUNCTION_BUF_SZ 8
- char function_buf[FUNCTION_BUF_SZ]; /* Space for next few chars */
- /* from function node. */
-} CORD_pos[1];
-
-/* Extract the cord from a position: */
-CORD CORD_pos_to_cord(CORD_pos p);
-
-/* Extract the current index from a position: */
-size_t CORD_pos_to_index(CORD_pos p);
-
-/* Fetch the character located at the given position: */
-char CORD_pos_fetch(CORD_pos p);
-
-/* Initialize the position to refer to the give cord and index. */
-/* Note that this is the most expensive function on positions: */
-void CORD_set_pos(CORD_pos p, CORD x, size_t i);
-
-/* Advance the position to the next character. */
-/* P must be initialized and valid. */
-/* Invalidates p if past end: */
-void CORD_next(CORD_pos p);
-
-/* Move the position to the preceding character. */
-/* P must be initialized and valid. */
-/* Invalidates p if past beginning: */
-void CORD_prev(CORD_pos p);
-
-/* Is the position valid, i.e. inside the cord? */
-int CORD_pos_valid(CORD_pos p);
-
-char CORD__pos_fetch(CORD_pos);
-void CORD__next(CORD_pos);
-void CORD__prev(CORD_pos);
-
-#define CORD_pos_fetch(p) \
- (((p)[0].cur_end != 0)? \
- (p)[0].cur_leaf[(p)[0].cur_pos - (p)[0].cur_start] \
- : CORD__pos_fetch(p))
-
-#define CORD_next(p) \
- (((p)[0].cur_pos + 1 < (p)[0].cur_end)? \
- (p)[0].cur_pos++ \
- : (CORD__next(p), 0))
-
-#define CORD_prev(p) \
- (((p)[0].cur_end != 0 && (p)[0].cur_pos > (p)[0].cur_start)? \
- (p)[0].cur_pos-- \
- : (CORD__prev(p), 0))
-
-#define CORD_pos_to_index(p) ((p)[0].cur_pos)
-
-#define CORD_pos_to_cord(p) ((p)[0].path[0].pe_cord)
-
-#define CORD_pos_valid(p) ((p)[0].path_len != CORD_POS_INVALID)
-
-/* Some grubby stuff for performance-critical friends: */
-#define CORD_pos_chars_left(p) ((long)((p)[0].cur_end) - (long)((p)[0].cur_pos))
- /* Number of characters in cache. <= 0 ==> none */
-
-#define CORD_pos_advance(p,n) ((p)[0].cur_pos += (n) - 1, CORD_next(p))
- /* Advance position by n characters */
- /* 0 < n < CORD_pos_chars_left(p) */
-
-#define CORD_pos_cur_char_addr(p) \
- (p)[0].cur_leaf + ((p)[0].cur_pos - (p)[0].cur_start)
- /* address of current character in cache. */
-
-#endif
diff --git a/boehm-gc/dbg_mlc.c b/boehm-gc/dbg_mlc.c
deleted file mode 100644
index 079e43be7cb..00000000000
--- a/boehm-gc/dbg_mlc.c
+++ /dev/null
@@ -1,693 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1997 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, October 9, 1995 1:16 pm PDT */
-# include "gc_priv.h"
-
-/* Do we want to and know how to save the call stack at the time of */
-/* an allocation? How much space do we want to use in each object? */
-
-# define START_FLAG ((word)0xfedcedcb)
-# define END_FLAG ((word)0xbcdecdef)
- /* Stored both one past the end of user object, and one before */
- /* the end of the object as seen by the allocator. */
-
-
-/* Object header */
-typedef struct {
- char * oh_string; /* object descriptor string */
- word oh_int; /* object descriptor integers */
-# ifdef NEED_CALLINFO
- struct callinfo oh_ci[NFRAMES];
-# endif
- word oh_sz; /* Original malloc arg. */
- word oh_sf; /* start flag */
-} oh;
-/* The size of the above structure is assumed not to dealign things, */
-/* and to be a multiple of the word length. */
-
-#define DEBUG_BYTES (sizeof (oh) + sizeof (word))
-#undef ROUNDED_UP_WORDS
-#define ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + WORDS_TO_BYTES(1) - 1)
-
-
-#ifdef SAVE_CALL_CHAIN
-# define ADD_CALL_CHAIN(base, ra) GC_save_callers(((oh *)(base)) -> oh_ci)
-# define PRINT_CALL_CHAIN(base) GC_print_callers(((oh *)(base)) -> oh_ci)
-#else
-# ifdef GC_ADD_CALLER
-# define ADD_CALL_CHAIN(base, ra) ((oh *)(base)) -> oh_ci[0].ci_pc = (ra)
-# define PRINT_CALL_CHAIN(base) GC_print_callers(((oh *)(base)) -> oh_ci)
-# else
-# define ADD_CALL_CHAIN(base, ra)
-# define PRINT_CALL_CHAIN(base)
-# endif
-#endif
-
-/* Check whether object with base pointer p has debugging info */
-/* p is assumed to point to a legitimate object in our part */
-/* of the heap. */
-GC_bool GC_has_debug_info(p)
-ptr_t p;
-{
- register oh * ohdr = (oh *)p;
- register ptr_t body = (ptr_t)(ohdr + 1);
- register word sz = GC_size((ptr_t) ohdr);
-
- if (HBLKPTR((ptr_t)ohdr) != HBLKPTR((ptr_t)body)
- || sz < sizeof (oh)) {
- return(FALSE);
- }
- if (ohdr -> oh_sz == sz) {
- /* Object may have had debug info, but has been deallocated */
- return(FALSE);
- }
- if (ohdr -> oh_sf == (START_FLAG ^ (word)body)) return(TRUE);
- if (((word *)ohdr)[BYTES_TO_WORDS(sz)-1] == (END_FLAG ^ (word)body)) {
- return(TRUE);
- }
- return(FALSE);
-}
-
-/* Return start of object that might have debugging info. */
-ptr_t GC_debug_object_start(p)
-ptr_t p;
-{
- register word * result = (word *)((oh *)p + 1);
- if (! GC_has_debug_info(p))
- return(p);
- return((ptr_t)result);
-}
-
-/* Store debugging info into p. Return displaced pointer. */
-/* Assumes we don't hold allocation lock. */
-ptr_t GC_store_debug_info(p, sz, string, integer)
-register ptr_t p; /* base pointer */
-word sz; /* bytes */
-char * string;
-word integer;
-{
- register word * result = (word *)((oh *)p + 1);
- DCL_LOCK_STATE;
-
- /* There is some argument that we should dissble signals here. */
- /* But that's expensive. And this way things should only appear */
- /* inconsistent while we're in the handler. */
- LOCK();
- ((oh *)p) -> oh_string = string;
- ((oh *)p) -> oh_int = integer;
- ((oh *)p) -> oh_sz = sz;
- ((oh *)p) -> oh_sf = START_FLAG ^ (word)result;
- ((word *)p)[BYTES_TO_WORDS(GC_size(p))-1] =
- result[ROUNDED_UP_WORDS(sz)] = END_FLAG ^ (word)result;
- UNLOCK();
- return((ptr_t)result);
-}
-
-/* Check the object with debugging info at p */
-/* return NIL if it's OK. Else return clobbered */
-/* address. */
-ptr_t GC_check_annotated_obj(ohdr)
-register oh * ohdr;
-{
- register ptr_t body = (ptr_t)(ohdr + 1);
- register word gc_sz = GC_size((ptr_t)ohdr);
- if (ohdr -> oh_sz + DEBUG_BYTES > gc_sz) {
- return((ptr_t)(&(ohdr -> oh_sz)));
- }
- if (ohdr -> oh_sf != (START_FLAG ^ (word)body)) {
- return((ptr_t)(&(ohdr -> oh_sf)));
- }
- if (((word *)ohdr)[BYTES_TO_WORDS(gc_sz)-1] != (END_FLAG ^ (word)body)) {
- return((ptr_t)((word *)ohdr + BYTES_TO_WORDS(gc_sz)-1));
- }
- if (((word *)body)[ROUNDED_UP_WORDS(ohdr -> oh_sz)]
- != (END_FLAG ^ (word)body)) {
- return((ptr_t)((word *)body + ROUNDED_UP_WORDS(ohdr -> oh_sz)));
- }
- return(0);
-}
-
-void GC_print_obj(p)
-ptr_t p;
-{
- register oh * ohdr = (oh *)GC_base(p);
-
- GC_err_printf1("0x%lx (", (unsigned long)ohdr + sizeof(oh));
- GC_err_puts(ohdr -> oh_string);
- GC_err_printf2(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int),
- (unsigned long)(ohdr -> oh_sz));
- PRINT_CALL_CHAIN(ohdr);
-}
-
-void GC_debug_print_heap_obj_proc(p)
-ptr_t p;
-{
- if (GC_has_debug_info(p)) {
- GC_print_obj(p);
- } else {
- GC_default_print_heap_obj_proc(p);
- }
-}
-
-void GC_print_smashed_obj(p, clobbered_addr)
-ptr_t p, clobbered_addr;
-{
- register oh * ohdr = (oh *)GC_base(p);
-
- GC_err_printf2("0x%lx in object at 0x%lx(", (unsigned long)clobbered_addr,
- (unsigned long)p);
- if (clobbered_addr <= (ptr_t)(&(ohdr -> oh_sz))
- || ohdr -> oh_string == 0) {
- GC_err_printf1("<smashed>, appr. sz = %ld)\n",
- GC_size((ptr_t)ohdr) - DEBUG_BYTES);
- } else {
- if (ohdr -> oh_string[0] == '\0') {
- GC_err_puts("EMPTY(smashed?)");
- } else {
- GC_err_puts(ohdr -> oh_string);
- }
- GC_err_printf2(":%ld, sz=%ld)\n", (unsigned long)(ohdr -> oh_int),
- (unsigned long)(ohdr -> oh_sz));
- PRINT_CALL_CHAIN(ohdr);
- }
-}
-
-void GC_check_heap_proc();
-
-void GC_start_debugging()
-{
- GC_check_heap = GC_check_heap_proc;
- GC_print_heap_obj = GC_debug_print_heap_obj_proc;
- GC_debugging_started = TRUE;
- GC_register_displacement((word)sizeof(oh));
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- void GC_debug_register_displacement(GC_word offset)
-# else
- void GC_debug_register_displacement(offset)
- GC_word offset;
-# endif
-{
- GC_register_displacement(offset);
- GC_register_displacement((word)sizeof(oh) + offset);
-}
-
-# ifdef GC_ADD_CALLER
-# define EXTRA_ARGS word ra, char * s, int i
-# define OPT_RA ra,
-# else
-# define EXTRA_ARGS char * s, int i
-# define OPT_RA
-# endif
-
-# ifdef __STDC__
- GC_PTR GC_debug_malloc(size_t lb, EXTRA_ARGS)
-# else
- GC_PTR GC_debug_malloc(lb, s, i)
- size_t lb;
- char * s;
- int i;
-# ifdef GC_ADD_CALLER
- --> GC_ADD_CALLER not implemented for K&R C
-# endif
-# endif
-{
- GC_PTR result = GC_malloc(lb + DEBUG_BYTES);
-
- if (result == 0) {
- GC_err_printf1("GC_debug_malloc(%ld) returning NIL (",
- (unsigned long) lb);
- GC_err_puts(s);
- GC_err_printf1(":%ld)\n", (unsigned long)i);
- return(0);
- }
- if (!GC_debugging_started) {
- GC_start_debugging();
- }
- ADD_CALL_CHAIN(result, ra);
- return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-# ifdef __STDC__
- GC_PTR GC_debug_generic_malloc(size_t lb, int k, EXTRA_ARGS)
-# else
- GC_PTR GC_debug_malloc(lb, k, s, i)
- size_t lb;
- int k;
- char * s;
- int i;
-# ifdef GC_ADD_CALLER
- --> GC_ADD_CALLER not implemented for K&R C
-# endif
-# endif
-{
- GC_PTR result = GC_generic_malloc(lb + DEBUG_BYTES, k);
-
- if (result == 0) {
- GC_err_printf1("GC_debug_malloc(%ld) returning NIL (",
- (unsigned long) lb);
- GC_err_puts(s);
- GC_err_printf1(":%ld)\n", (unsigned long)i);
- return(0);
- }
- if (!GC_debugging_started) {
- GC_start_debugging();
- }
- ADD_CALL_CHAIN(result, ra);
- return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-#ifdef STUBBORN_ALLOC
-# ifdef __STDC__
- GC_PTR GC_debug_malloc_stubborn(size_t lb, EXTRA_ARGS)
-# else
- GC_PTR GC_debug_malloc_stubborn(lb, s, i)
- size_t lb;
- char * s;
- int i;
-# endif
-{
- GC_PTR result = GC_malloc_stubborn(lb + DEBUG_BYTES);
-
- if (result == 0) {
- GC_err_printf1("GC_debug_malloc(%ld) returning NIL (",
- (unsigned long) lb);
- GC_err_puts(s);
- GC_err_printf1(":%ld)\n", (unsigned long)i);
- return(0);
- }
- if (!GC_debugging_started) {
- GC_start_debugging();
- }
- ADD_CALL_CHAIN(result, ra);
- return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-void GC_debug_change_stubborn(p)
-GC_PTR p;
-{
- register GC_PTR q = GC_base(p);
- register hdr * hhdr;
-
- if (q == 0) {
- GC_err_printf1("Bad argument: 0x%lx to GC_debug_change_stubborn\n",
- (unsigned long) p);
- ABORT("GC_debug_change_stubborn: bad arg");
- }
- hhdr = HDR(q);
- if (hhdr -> hb_obj_kind != STUBBORN) {
- GC_err_printf1("GC_debug_change_stubborn arg not stubborn: 0x%lx\n",
- (unsigned long) p);
- ABORT("GC_debug_change_stubborn: arg not stubborn");
- }
- GC_change_stubborn(q);
-}
-
-void GC_debug_end_stubborn_change(p)
-GC_PTR p;
-{
- register GC_PTR q = GC_base(p);
- register hdr * hhdr;
-
- if (q == 0) {
- GC_err_printf1("Bad argument: 0x%lx to GC_debug_end_stubborn_change\n",
- (unsigned long) p);
- ABORT("GC_debug_end_stubborn_change: bad arg");
- }
- hhdr = HDR(q);
- if (hhdr -> hb_obj_kind != STUBBORN) {
- GC_err_printf1("debug_end_stubborn_change arg not stubborn: 0x%lx\n",
- (unsigned long) p);
- ABORT("GC_debug_end_stubborn_change: arg not stubborn");
- }
- GC_end_stubborn_change(q);
-}
-
-#endif /* STUBBORN_ALLOC */
-
-# ifdef __STDC__
- GC_PTR GC_debug_malloc_atomic(size_t lb, EXTRA_ARGS)
-# else
- GC_PTR GC_debug_malloc_atomic(lb, s, i)
- size_t lb;
- char * s;
- int i;
-# endif
-{
- GC_PTR result = GC_malloc_atomic(lb + DEBUG_BYTES);
-
- if (result == 0) {
- GC_err_printf1("GC_debug_malloc_atomic(%ld) returning NIL (",
- (unsigned long) lb);
- GC_err_puts(s);
- GC_err_printf1(":%ld)\n", (unsigned long)i);
- return(0);
- }
- if (!GC_debugging_started) {
- GC_start_debugging();
- }
- ADD_CALL_CHAIN(result, ra);
- return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-# ifdef __STDC__
- GC_PTR GC_debug_malloc_uncollectable(size_t lb, EXTRA_ARGS)
-# else
- GC_PTR GC_debug_malloc_uncollectable(lb, s, i)
- size_t lb;
- char * s;
- int i;
-# endif
-{
- GC_PTR result = GC_malloc_uncollectable(lb + DEBUG_BYTES);
-
- if (result == 0) {
- GC_err_printf1("GC_debug_malloc_uncollectable(%ld) returning NIL (",
- (unsigned long) lb);
- GC_err_puts(s);
- GC_err_printf1(":%ld)\n", (unsigned long)i);
- return(0);
- }
- if (!GC_debugging_started) {
- GC_start_debugging();
- }
- ADD_CALL_CHAIN(result, ra);
- return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-
-#ifdef ATOMIC_UNCOLLECTABLE
-# ifdef __STDC__
- GC_PTR GC_debug_malloc_atomic_uncollectable(size_t lb, EXTRA_ARGS)
-# else
- GC_PTR GC_debug_malloc_atomic_uncollectable(lb, s, i)
- size_t lb;
- char * s;
- int i;
-# endif
-{
- GC_PTR result = GC_malloc_atomic_uncollectable(lb + DEBUG_BYTES);
-
- if (result == 0) {
- GC_err_printf1(
- "GC_debug_malloc_atomic_uncollectable(%ld) returning NIL (",
- (unsigned long) lb);
- GC_err_puts(s);
- GC_err_printf1(":%ld)\n", (unsigned long)i);
- return(0);
- }
- if (!GC_debugging_started) {
- GC_start_debugging();
- }
- ADD_CALL_CHAIN(result, ra);
- return (GC_store_debug_info(result, (word)lb, s, (word)i));
-}
-#endif /* ATOMIC_UNCOLLECTABLE */
-
-# ifdef __STDC__
- void GC_debug_free(GC_PTR p)
-# else
- void GC_debug_free(p)
- GC_PTR p;
-# endif
-{
- register GC_PTR base = GC_base(p);
- register ptr_t clobbered;
-
- if (base == 0) {
- GC_err_printf1("Attempt to free invalid pointer %lx\n",
- (unsigned long)p);
- if (p != 0) ABORT("free(invalid pointer)");
- }
- if ((ptr_t)p - (ptr_t)base != sizeof(oh)) {
- GC_err_printf1(
- "GC_debug_free called on pointer %lx wo debugging info\n",
- (unsigned long)p);
- } else {
- clobbered = GC_check_annotated_obj((oh *)base);
- if (clobbered != 0) {
- if (((oh *)base) -> oh_sz == GC_size(base)) {
- GC_err_printf0(
- "GC_debug_free: found previously deallocated (?) object at ");
- } else {
- GC_err_printf0("GC_debug_free: found smashed object at ");
- }
- GC_print_smashed_obj(p, clobbered);
- }
- /* Invalidate size */
- ((oh *)base) -> oh_sz = GC_size(base);
- }
-# ifdef FIND_LEAK
- GC_free(base);
-# else
- {
- register hdr * hhdr = HDR(p);
- GC_bool uncollectable = FALSE;
-
- if (hhdr -> hb_obj_kind == UNCOLLECTABLE) {
- uncollectable = TRUE;
- }
-# ifdef ATOMIC_UNCOLLECTABLE
- if (hhdr -> hb_obj_kind == AUNCOLLECTABLE) {
- uncollectable = TRUE;
- }
-# endif
- if (uncollectable) GC_free(base);
- }
-# endif
-}
-
-# ifdef __STDC__
- GC_PTR GC_debug_realloc(GC_PTR p, size_t lb, EXTRA_ARGS)
-# else
- GC_PTR GC_debug_realloc(p, lb, s, i)
- GC_PTR p;
- size_t lb;
- char *s;
- int i;
-# endif
-{
- register GC_PTR base = GC_base(p);
- register ptr_t clobbered;
- register GC_PTR result;
- register size_t copy_sz = lb;
- register size_t old_sz;
- register hdr * hhdr;
-
- if (p == 0) return(GC_debug_malloc(lb, OPT_RA s, i));
- if (base == 0) {
- GC_err_printf1(
- "Attempt to reallocate invalid pointer %lx\n", (unsigned long)p);
- ABORT("realloc(invalid pointer)");
- }
- if ((ptr_t)p - (ptr_t)base != sizeof(oh)) {
- GC_err_printf1(
- "GC_debug_realloc called on pointer %lx wo debugging info\n",
- (unsigned long)p);
- return(GC_realloc(p, lb));
- }
- hhdr = HDR(base);
- switch (hhdr -> hb_obj_kind) {
-# ifdef STUBBORN_ALLOC
- case STUBBORN:
- result = GC_debug_malloc_stubborn(lb, OPT_RA s, i);
- break;
-# endif
- case NORMAL:
- result = GC_debug_malloc(lb, OPT_RA s, i);
- break;
- case PTRFREE:
- result = GC_debug_malloc_atomic(lb, OPT_RA s, i);
- break;
- case UNCOLLECTABLE:
- result = GC_debug_malloc_uncollectable(lb, OPT_RA s, i);
- break;
-# ifdef ATOMIC_UNCOLLECTABLE
- case AUNCOLLECTABLE:
- result = GC_debug_malloc_atomic_uncollectable(lb, OPT_RA s, i);
- break;
-# endif
- default:
- GC_err_printf0("GC_debug_realloc: encountered bad kind\n");
- ABORT("bad kind");
- }
- clobbered = GC_check_annotated_obj((oh *)base);
- if (clobbered != 0) {
- GC_err_printf0("GC_debug_realloc: found smashed object at ");
- GC_print_smashed_obj(p, clobbered);
- }
- old_sz = ((oh *)base) -> oh_sz;
- if (old_sz < copy_sz) copy_sz = old_sz;
- if (result == 0) return(0);
- BCOPY(p, result, copy_sz);
- GC_debug_free(p);
- return(result);
-}
-
-/* Check all marked objects in the given block for validity */
-/*ARGSUSED*/
-void GC_check_heap_block(hbp, dummy)
-register struct hblk *hbp; /* ptr to current heap block */
-word dummy;
-{
- register struct hblkhdr * hhdr = HDR(hbp);
- register word sz = hhdr -> hb_sz;
- register int word_no;
- register word *p, *plim;
-
- p = (word *)(hbp->hb_body);
- word_no = HDR_WORDS;
- if (sz > MAXOBJSZ) {
- plim = p;
- } else {
- plim = (word *)((((word)hbp) + HBLKSIZE) - WORDS_TO_BYTES(sz));
- }
- /* go through all words in block */
- while( p <= plim ) {
- if( mark_bit_from_hdr(hhdr, word_no)
- && GC_has_debug_info((ptr_t)p)) {
- ptr_t clobbered = GC_check_annotated_obj((oh *)p);
-
- if (clobbered != 0) {
- GC_err_printf0(
- "GC_check_heap_block: found smashed object at ");
- GC_print_smashed_obj((ptr_t)p, clobbered);
- }
- }
- word_no += sz;
- p += sz;
- }
-}
-
-
-/* This assumes that all accessible objects are marked, and that */
-/* I hold the allocation lock. Normally called by collector. */
-void GC_check_heap_proc()
-{
-# ifndef SMALL_CONFIG
- if (sizeof(oh) & (2 * sizeof(word) - 1) != 0) {
- ABORT("Alignment problem: object header has inappropriate size\n");
- }
-# endif
- GC_apply_to_all_blocks(GC_check_heap_block, (word)0);
-}
-
-struct closure {
- GC_finalization_proc cl_fn;
- GC_PTR cl_data;
-};
-
-# ifdef __STDC__
- void * GC_make_closure(GC_finalization_proc fn, void * data)
-# else
- GC_PTR GC_make_closure(fn, data)
- GC_finalization_proc fn;
- GC_PTR data;
-# endif
-{
- struct closure * result =
- (struct closure *) GC_malloc(sizeof (struct closure));
-
- result -> cl_fn = fn;
- result -> cl_data = data;
- return((GC_PTR)result);
-}
-
-# ifdef __STDC__
- void GC_debug_invoke_finalizer(void * obj, void * data)
-# else
- void GC_debug_invoke_finalizer(obj, data)
- char * obj;
- char * data;
-# endif
-{
- register struct closure * cl = (struct closure *) data;
-
- (*(cl -> cl_fn))((GC_PTR)((char *)obj + sizeof(oh)), cl -> cl_data);
-}
-
-
-# ifdef __STDC__
- void GC_debug_register_finalizer(GC_PTR obj, GC_finalization_proc fn,
- GC_PTR cd, GC_finalization_proc *ofn,
- GC_PTR *ocd)
-# else
- void GC_debug_register_finalizer(obj, fn, cd, ofn, ocd)
- GC_PTR obj;
- GC_finalization_proc fn;
- GC_PTR cd;
- GC_finalization_proc *ofn;
- GC_PTR *ocd;
-# endif
-{
- ptr_t base = GC_base(obj);
- if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
- GC_err_printf1(
- "GC_register_finalizer called with non-base-pointer 0x%lx\n",
- obj);
- }
- GC_register_finalizer(base, GC_debug_invoke_finalizer,
- GC_make_closure(fn,cd), ofn, ocd);
-}
-
-# ifdef __STDC__
- void GC_debug_register_finalizer_ignore_self
- (GC_PTR obj, GC_finalization_proc fn,
- GC_PTR cd, GC_finalization_proc *ofn,
- GC_PTR *ocd)
-# else
- void GC_debug_register_finalizer_ignore_self
- (obj, fn, cd, ofn, ocd)
- GC_PTR obj;
- GC_finalization_proc fn;
- GC_PTR cd;
- GC_finalization_proc *ofn;
- GC_PTR *ocd;
-# endif
-{
- ptr_t base = GC_base(obj);
- if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
- GC_err_printf1(
- "GC_register_finalizer_ignore_self called with non-base-pointer 0x%lx\n",
- obj);
- }
- GC_register_finalizer_ignore_self(base, GC_debug_invoke_finalizer,
- GC_make_closure(fn,cd), ofn, ocd);
-}
-
-# ifdef __STDC__
- void GC_debug_register_finalizer_no_order
- (GC_PTR obj, GC_finalization_proc fn,
- GC_PTR cd, GC_finalization_proc *ofn,
- GC_PTR *ocd)
-# else
- void GC_debug_register_finalizer_no_order
- (obj, fn, cd, ofn, ocd)
- GC_PTR obj;
- GC_finalization_proc fn;
- GC_PTR cd;
- GC_finalization_proc *ofn;
- GC_PTR *ocd;
-# endif
-{
- ptr_t base = GC_base(obj);
- if (0 == base || (ptr_t)obj - base != sizeof(oh)) {
- GC_err_printf1(
- "GC_register_finalizer_no_order called with non-base-pointer 0x%lx\n",
- obj);
- }
- GC_register_finalizer_no_order(base, GC_debug_invoke_finalizer,
- GC_make_closure(fn,cd), ofn, ocd);
-}
diff --git a/boehm-gc/dyn_load.c b/boehm-gc/dyn_load.c
deleted file mode 100644
index d0f523c3400..00000000000
--- a/boehm-gc/dyn_load.c
+++ /dev/null
@@ -1,797 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1997 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Original author: Bill Janssen
- * Heavily modified by Hans Boehm and others
- */
-
-/*
- * This is incredibly OS specific code for tracking down data sections in
- * dynamic libraries. There appears to be no way of doing this quickly
- * without groveling through undocumented data structures. We would argue
- * that this is a bug in the design of the dlopen interface. THIS CODE
- * MAY BREAK IN FUTURE OS RELEASES. If this matters to you, don't hesitate
- * to let your vendor know ...
- *
- * None of this is safe with dlclose and incremental collection.
- * But then not much of anything is safe in the presence of dlclose.
- */
-#ifndef MACOS
-# include <sys/types.h>
-#endif
-#include "gc_priv.h"
-
-/* BTL: avoid circular redefinition of dlopen if SOLARIS_THREADS defined */
-# if defined(SOLARIS_THREADS) && defined(dlopen)
- /* To support threads in Solaris, gc.h interposes on dlopen by */
- /* defining "dlopen" to be "GC_dlopen", which is implemented below. */
- /* However, both GC_FirstDLOpenedLinkMap() and GC_dlopen() use the */
- /* real system dlopen() in their implementation. We first remove */
- /* gc.h's dlopen definition and restore it later, after GC_dlopen(). */
-# undef dlopen
-# define GC_must_restore_redefined_dlopen
-# else
-# undef GC_must_restore_redefined_dlopen
-# endif
-
-#if (defined(DYNAMIC_LOADING) || defined(MSWIN32)) && !defined(PCR)
-#if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \
- !defined(MSWIN32) && !(defined(ALPHA) && defined(OSF1)) && \
- !defined(HP_PA) && (!defined(LINUX) && !defined(__ELF__)) && \
- !defined(RS6000) && !defined(SCO_ELF)
- --> We only know how to find data segments of dynamic libraries for the
- --> above. Additional SVR4 variants might not be too
- --> hard to add.
-#endif
-
-#include <stdio.h>
-#ifdef SUNOS5DL
-# include <sys/elf.h>
-# include <dlfcn.h>
-# include <link.h>
-#endif
-#ifdef SUNOS4
-# include <dlfcn.h>
-# include <link.h>
-# include <a.out.h>
- /* struct link_map field overrides */
-# define l_next lm_next
-# define l_addr lm_addr
-# define l_name lm_name
-#endif
-
-
-#if defined(SUNOS5DL) && !defined(USE_PROC_FOR_LIBRARIES)
-
-#ifdef LINT
- Elf32_Dyn _DYNAMIC;
-#endif
-
-static struct link_map *
-GC_FirstDLOpenedLinkMap()
-{
- extern Elf32_Dyn _DYNAMIC;
- Elf32_Dyn *dp;
- struct r_debug *r;
- static struct link_map * cachedResult = 0;
- static Elf32_Dyn *dynStructureAddr = 0;
- /* BTL: added to avoid Solaris 5.3 ld.so _DYNAMIC bug */
-
-# ifdef SUNOS53_SHARED_LIB
- /* BTL: Avoid the Solaris 5.3 bug that _DYNAMIC isn't being set */
- /* up properly in dynamically linked .so's. This means we have */
- /* to use its value in the set of original object files loaded */
- /* at program startup. */
- if( dynStructureAddr == 0 ) {
- void* startupSyms = dlopen(0, RTLD_LAZY);
- dynStructureAddr = (Elf32_Dyn*)dlsym(startupSyms, "_DYNAMIC");
- }
-# else
- dynStructureAddr = &_DYNAMIC;
-# endif
-
- if( dynStructureAddr == 0) {
- return(0);
- }
- if( cachedResult == 0 ) {
- int tag;
- for( dp = ((Elf32_Dyn *)(&_DYNAMIC)); (tag = dp->d_tag) != 0; dp++ ) {
- if( tag == DT_DEBUG ) {
- struct link_map *lm
- = ((struct r_debug *)(dp->d_un.d_ptr))->r_map;
- if( lm != 0 ) cachedResult = lm->l_next; /* might be NIL */
- break;
- }
- }
- }
- return cachedResult;
-}
-
-#endif /* SUNOS5DL ... */
-
-#if defined(SUNOS4) && !defined(USE_PROC_FOR_LIBRARIES)
-
-#ifdef LINT
- struct link_dynamic _DYNAMIC;
-#endif
-
-static struct link_map *
-GC_FirstDLOpenedLinkMap()
-{
- extern struct link_dynamic _DYNAMIC;
-
- if( &_DYNAMIC == 0) {
- return(0);
- }
- return(_DYNAMIC.ld_un.ld_1->ld_loaded);
-}
-
-/* Return the address of the ld.so allocated common symbol */
-/* with the least address, or 0 if none. */
-static ptr_t GC_first_common()
-{
- ptr_t result = 0;
- extern struct link_dynamic _DYNAMIC;
- struct rtc_symb * curr_symbol;
-
- if( &_DYNAMIC == 0) {
- return(0);
- }
- curr_symbol = _DYNAMIC.ldd -> ldd_cp;
- for (; curr_symbol != 0; curr_symbol = curr_symbol -> rtc_next) {
- if (result == 0
- || (ptr_t)(curr_symbol -> rtc_sp -> n_value) < result) {
- result = (ptr_t)(curr_symbol -> rtc_sp -> n_value);
- }
- }
- return(result);
-}
-
-#endif /* SUNOS4 ... */
-
-# if defined(SUNOS4) || defined(SUNOS5DL)
-/* Add dynamic library data sections to the root set. */
-# if !defined(PCR) && !defined(SOLARIS_THREADS) \
- && !defined(QUICK_THREADS) && defined(THREADS)
-# ifndef SRC_M3
- --> fix mutual exclusion with dlopen
-# endif /* We assume M3 programs don't call dlopen for now */
-# endif
-
-# ifdef SOLARIS_THREADS
- /* Redefine dlopen to guarantee mutual exclusion with */
- /* GC_register_dynamic_libraries. */
- /* assumes that dlopen doesn't need to call GC_malloc */
- /* and friends. */
-# include <thread.h>
-# include <synch.h>
-
-void * GC_dlopen(const char *path, int mode)
-{
- void * result;
-
-# ifndef USE_PROC_FOR_LIBRARIES
- mutex_lock(&GC_allocate_ml);
-# endif
- result = dlopen(path, mode);
-# ifndef USE_PROC_FOR_LIBRARIES
- mutex_unlock(&GC_allocate_ml);
-# endif
- return(result);
-}
-# endif /* SOLARIS_THREADS */
-
-/* BTL: added to fix circular dlopen definition if SOLARIS_THREADS defined */
-# if defined(GC_must_restore_redefined_dlopen)
-# define dlopen GC_dlopen
-# endif
-
-# ifndef USE_PROC_FOR_LIBRARIES
-void GC_register_dynamic_libraries()
-{
- struct link_map *lm = GC_FirstDLOpenedLinkMap();
-
-
- for (lm = GC_FirstDLOpenedLinkMap();
- lm != (struct link_map *) 0; lm = lm->l_next)
- {
-# ifdef SUNOS4
- struct exec *e;
-
- e = (struct exec *) lm->lm_addr;
- GC_add_roots_inner(
- ((char *) (N_DATOFF(*e) + lm->lm_addr)),
- ((char *) (N_BSSADDR(*e) + e->a_bss + lm->lm_addr)),
- TRUE);
-# endif
-# ifdef SUNOS5DL
- Elf32_Ehdr * e;
- Elf32_Phdr * p;
- unsigned long offset;
- char * start;
- register int i;
-
- e = (Elf32_Ehdr *) lm->l_addr;
- p = ((Elf32_Phdr *)(((char *)(e)) + e->e_phoff));
- offset = ((unsigned long)(lm->l_addr));
- for( i = 0; i < (int)(e->e_phnum); ((i++),(p++)) ) {
- switch( p->p_type ) {
- case PT_LOAD:
- {
- if( !(p->p_flags & PF_W) ) break;
- start = ((char *)(p->p_vaddr)) + offset;
- GC_add_roots_inner(
- start,
- start + p->p_memsz,
- TRUE
- );
- }
- break;
- default:
- break;
- }
- }
-# endif
- }
-# ifdef SUNOS4
- {
- static ptr_t common_start = 0;
- ptr_t common_end;
- extern ptr_t GC_find_limit();
-
- if (common_start == 0) common_start = GC_first_common();
- if (common_start != 0) {
- common_end = GC_find_limit(common_start, TRUE);
- GC_add_roots_inner((char *)common_start, (char *)common_end, TRUE);
- }
- }
-# endif
-}
-
-# endif /* !USE_PROC ... */
-# endif /* SUNOS */
-
-#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF)
-
-/* Dynamic loading code for Linux running ELF. Somewhat tested on
- * Linux/x86, untested but hopefully should work on Linux/Alpha.
- * This code was derived from the Solaris/ELF support. Thanks to
- * whatever kind soul wrote that. - Patrick Bridges */
-
-#include <elf.h>
-#include <link.h>
-
-/* Newer versions of Linux/Alpha and Linux/x86 define this macro. We
- * define it for those older versions that don't. */
-# ifndef ElfW
-# if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32
-# define ElfW(type) Elf32_##type
-# else
-# define ElfW(type) Elf64_##type
-# endif
-# endif
-
-static struct link_map *
-GC_FirstDLOpenedLinkMap()
-{
-#ifdef __GNUC__
- /* On some Linux systems, `_DYNAMIC' will not be defined when a
- static link is done. */
-# pragma weak _DYNAMIC
-#endif
- extern ElfW(Dyn) _DYNAMIC[];
- ElfW(Dyn) *dp;
- struct r_debug *r;
- static struct link_map *cachedResult = 0;
-
- if( _DYNAMIC == 0) {
- return(0);
- }
- if( cachedResult == 0 ) {
- int tag;
- for( dp = _DYNAMIC; (tag = dp->d_tag) != 0; dp++ ) {
- if( tag == DT_DEBUG ) {
- struct link_map *lm
- = ((struct r_debug *)(dp->d_un.d_ptr))->r_map;
- if( lm != 0 ) cachedResult = lm->l_next; /* might be NIL */
- break;
- }
- }
- }
- return cachedResult;
-}
-
-
-void GC_register_dynamic_libraries()
-{
- struct link_map *lm = GC_FirstDLOpenedLinkMap();
-
-
- for (lm = GC_FirstDLOpenedLinkMap();
- lm != (struct link_map *) 0; lm = lm->l_next)
- {
- ElfW(Ehdr) * e;
- ElfW(Phdr) * p;
- unsigned long offset;
- char * start;
- register int i;
-
- e = (ElfW(Ehdr) *) lm->l_addr;
- p = ((ElfW(Phdr) *)(((char *)(e)) + e->e_phoff));
- offset = ((unsigned long)(lm->l_addr));
- for( i = 0; i < (int)(e->e_phnum); ((i++),(p++)) ) {
- switch( p->p_type ) {
- case PT_LOAD:
- {
- if( !(p->p_flags & PF_W) ) break;
- start = ((char *)(p->p_vaddr)) + offset;
- GC_add_roots_inner(start, start + p->p_memsz, TRUE);
- }
- break;
- default:
- break;
- }
- }
- }
-}
-
-#endif
-
-#if defined(IRIX5) || defined(USE_PROC_FOR_LIBRARIES)
-
-#include <sys/procfs.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <elf.h>
-#include <errno.h>
-
-extern void * GC_roots_present();
-
-extern ptr_t GC_scratch_last_end_ptr; /* End of GC_scratch_alloc arena */
-
-/* We use /proc to track down all parts of the address space that are */
-/* mapped by the process, and throw out regions we know we shouldn't */
-/* worry about. This may also work under other SVR4 variants. */
-void GC_register_dynamic_libraries()
-{
- static int fd = -1;
- char buf[30];
- static prmap_t * addr_map = 0;
- static int current_sz = 0; /* Number of records currently in addr_map */
- static int needed_sz; /* Required size of addr_map */
- register int i;
- register long flags;
- register ptr_t start;
- register ptr_t limit;
- ptr_t heap_start = (ptr_t)HEAP_START;
- ptr_t heap_end = heap_start;
-
-# ifdef SUNOS5DL
-# define MA_PHYS 0
-# endif /* SUNOS5DL */
-
- if (fd < 0) {
- sprintf(buf, "/proc/%d", getpid());
- fd = open(buf, O_RDONLY);
- if (fd < 0) {
- ABORT("/proc open failed");
- }
- }
- if (ioctl(fd, PIOCNMAP, &needed_sz) < 0) {
- GC_err_printf2("fd = %d, errno = %d\n", fd, errno);
- ABORT("/proc PIOCNMAP ioctl failed");
- }
- if (needed_sz >= current_sz) {
- current_sz = needed_sz * 2 + 1;
- /* Expansion, plus room for 0 record */
- addr_map = (prmap_t *)GC_scratch_alloc(current_sz * sizeof(prmap_t));
- }
- if (ioctl(fd, PIOCMAP, addr_map) < 0) {
- GC_err_printf4("fd = %d, errno = %d, needed_sz = %d, addr_map = 0x%X\n",
- fd, errno, needed_sz, addr_map);
- ABORT("/proc PIOCMAP ioctl failed");
- };
- if (GC_n_heap_sects > 0) {
- heap_end = GC_heap_sects[GC_n_heap_sects-1].hs_start
- + GC_heap_sects[GC_n_heap_sects-1].hs_bytes;
- if (heap_end < GC_scratch_last_end_ptr) heap_end = GC_scratch_last_end_ptr;
- }
- for (i = 0; i < needed_sz; i++) {
- flags = addr_map[i].pr_mflags;
- if ((flags & (MA_BREAK | MA_STACK | MA_PHYS)) != 0) goto irrelevant;
- if ((flags & (MA_READ | MA_WRITE)) != (MA_READ | MA_WRITE))
- goto irrelevant;
- /* The latter test is empirically useless. Other than the */
- /* main data and stack segments, everything appears to be */
- /* mapped readable, writable, executable, and shared(!!). */
- /* This makes no sense to me. - HB */
- start = (ptr_t)(addr_map[i].pr_vaddr);
- if (GC_roots_present(start)) goto irrelevant;
- if (start < heap_end && start >= heap_start)
- goto irrelevant;
-# ifdef MMAP_STACKS
- if (GC_is_thread_stack(start)) goto irrelevant;
-# endif /* MMAP_STACKS */
-
- limit = start + addr_map[i].pr_size;
- if (addr_map[i].pr_off == 0 && strncmp(start, ELFMAG, 4) == 0) {
- /* Discard text segments, i.e. 0-offset mappings against */
- /* executable files which appear to have ELF headers. */
- caddr_t arg;
- int obj;
-# define MAP_IRR_SZ 10
- static ptr_t map_irr[MAP_IRR_SZ];
- /* Known irrelevant map entries */
- static int n_irr = 0;
- struct stat buf;
- register int i;
-
- for (i = 0; i < n_irr; i++) {
- if (map_irr[i] == start) goto irrelevant;
- }
- arg = (caddr_t)start;
- obj = ioctl(fd, PIOCOPENM, &arg);
- if (obj >= 0) {
- fstat(obj, &buf);
- close(obj);
- if ((buf.st_mode & 0111) != 0) {
- if (n_irr < MAP_IRR_SZ) {
- map_irr[n_irr++] = start;
- }
- goto irrelevant;
- }
- }
- }
- GC_add_roots_inner(start, limit, TRUE);
- irrelevant: ;
- }
- /* Dont keep cached descriptor, for now. Some kernels don't like us */
- /* to keep a /proc file descriptor around during kill -9. */
- if (close(fd) < 0) ABORT("Couldnt close /proc file");
- fd = -1;
-}
-
-# endif /* USE_PROC || IRIX5 */
-
-# ifdef MSWIN32
-
-# define WIN32_LEAN_AND_MEAN
-# define NOSERVICE
-# include <windows.h>
-# include <stdlib.h>
-
- /* We traverse the entire address space and register all segments */
- /* that could possibly have been written to. */
- DWORD GC_allocation_granularity;
-
- extern GC_bool GC_is_heap_base (ptr_t p);
-
-# ifdef WIN32_THREADS
- extern void GC_get_next_stack(char *start, char **lo, char **hi);
-# endif
-
- void GC_cond_add_roots(char *base, char * limit)
- {
- char dummy;
- char * stack_top
- = (char *) ((word)(&dummy) & ~(GC_allocation_granularity-1));
- if (base == limit) return;
-# ifdef WIN32_THREADS
- {
- char * curr_base = base;
- char * next_stack_lo;
- char * next_stack_hi;
-
- for(;;) {
- GC_get_next_stack(curr_base, &next_stack_lo, &next_stack_hi);
- if (next_stack_lo >= limit) break;
- GC_add_roots_inner(curr_base, next_stack_lo, TRUE);
- curr_base = next_stack_hi;
- }
- if (curr_base < limit) GC_add_roots_inner(curr_base, limit, TRUE);
- }
-# else
- if (limit > stack_top && base < GC_stackbottom) {
- /* Part of the stack; ignore it. */
- return;
- }
- GC_add_roots_inner(base, limit, TRUE);
-# endif
- }
-
- extern GC_bool GC_win32s;
-
- void GC_register_dynamic_libraries()
- {
- MEMORY_BASIC_INFORMATION buf;
- SYSTEM_INFO sysinfo;
- DWORD result;
- DWORD protect;
- LPVOID p;
- char * base;
- char * limit, * new_limit;
-
- if (GC_win32s) return;
- GetSystemInfo(&sysinfo);
- base = limit = p = sysinfo.lpMinimumApplicationAddress;
- GC_allocation_granularity = sysinfo.dwAllocationGranularity;
- while (p < sysinfo.lpMaximumApplicationAddress) {
- result = VirtualQuery(p, &buf, sizeof(buf));
- if (result != sizeof(buf)) {
- ABORT("Weird VirtualQuery result");
- }
- new_limit = (char *)p + buf.RegionSize;
- protect = buf.Protect;
- if (buf.State == MEM_COMMIT
- && (protect == PAGE_EXECUTE_READWRITE
- || protect == PAGE_READWRITE)
- && !GC_is_heap_base(buf.AllocationBase)) {
- if ((char *)p == limit) {
- limit = new_limit;
- } else {
- GC_cond_add_roots(base, limit);
- base = p;
- limit = new_limit;
- }
- }
- if (p > (LPVOID)new_limit /* overflow */) break;
- p = (LPVOID)new_limit;
- }
- GC_cond_add_roots(base, limit);
- }
-
-#endif /* MSWIN32 */
-
-#if defined(ALPHA) && defined(OSF1)
-
-#include <loader.h>
-
-void GC_register_dynamic_libraries()
-{
- int status;
- ldr_process_t mypid;
-
- /* module */
- ldr_module_t moduleid = LDR_NULL_MODULE;
- ldr_module_info_t moduleinfo;
- size_t moduleinfosize = sizeof(moduleinfo);
- size_t modulereturnsize;
-
- /* region */
- ldr_region_t region;
- ldr_region_info_t regioninfo;
- size_t regioninfosize = sizeof(regioninfo);
- size_t regionreturnsize;
-
- /* Obtain id of this process */
- mypid = ldr_my_process();
-
- /* For each module */
- while (TRUE) {
-
- /* Get the next (first) module */
- status = ldr_next_module(mypid, &moduleid);
-
- /* Any more modules? */
- if (moduleid == LDR_NULL_MODULE)
- break; /* No more modules */
-
- /* Check status AFTER checking moduleid because */
- /* of a bug in the non-shared ldr_next_module stub */
- if (status != 0 ) {
- GC_printf1("dynamic_load: status = %ld\n", (long)status);
- {
- extern char *sys_errlist[];
- extern int sys_nerr;
- extern int errno;
- if (errno <= sys_nerr) {
- GC_printf1("dynamic_load: %s\n", (long)sys_errlist[errno]);
- } else {
- GC_printf1("dynamic_load: %d\n", (long)errno);
- }
- }
- ABORT("ldr_next_module failed");
- }
-
- /* Get the module information */
- status = ldr_inq_module(mypid, moduleid, &moduleinfo,
- moduleinfosize, &modulereturnsize);
- if (status != 0 )
- ABORT("ldr_inq_module failed");
-
- /* is module for the main program (i.e. nonshared portion)? */
- if (moduleinfo.lmi_flags & LDR_MAIN)
- continue; /* skip the main module */
-
-# ifdef VERBOSE
- GC_printf("---Module---\n");
- GC_printf("Module ID = %16ld\n", moduleinfo.lmi_modid);
- GC_printf("Count of regions = %16d\n", moduleinfo.lmi_nregion);
- GC_printf("flags for module = %16lx\n", moduleinfo.lmi_flags);
- GC_printf("pathname of module = \"%s\"\n", moduleinfo.lmi_name);
-# endif
-
- /* For each region in this module */
- for (region = 0; region < moduleinfo.lmi_nregion; region++) {
-
- /* Get the region information */
- status = ldr_inq_region(mypid, moduleid, region, &regioninfo,
- regioninfosize, &regionreturnsize);
- if (status != 0 )
- ABORT("ldr_inq_region failed");
-
- /* only process writable (data) regions */
- if (! (regioninfo.lri_prot & LDR_W))
- continue;
-
-# ifdef VERBOSE
- GC_printf("--- Region ---\n");
- GC_printf("Region number = %16ld\n",
- regioninfo.lri_region_no);
- GC_printf("Protection flags = %016x\n", regioninfo.lri_prot);
- GC_printf("Virtual address = %16p\n", regioninfo.lri_vaddr);
- GC_printf("Mapped address = %16p\n", regioninfo.lri_mapaddr);
- GC_printf("Region size = %16ld\n", regioninfo.lri_size);
- GC_printf("Region name = \"%s\"\n", regioninfo.lri_name);
-# endif
-
- /* register region as a garbage collection root */
- GC_add_roots_inner (
- (char *)regioninfo.lri_mapaddr,
- (char *)regioninfo.lri_mapaddr + regioninfo.lri_size,
- TRUE);
-
- }
- }
-}
-#endif
-
-#if defined(HP_PA)
-
-#include <errno.h>
-#include <dl.h>
-
-extern int errno;
-extern char *sys_errlist[];
-extern int sys_nerr;
-
-void GC_register_dynamic_libraries()
-{
- int status;
- int index = 1; /* Ordinal position in shared library search list */
- struct shl_descriptor *shl_desc; /* Shared library info, see dl.h */
-
- /* For each dynamic library loaded */
- while (TRUE) {
-
- /* Get info about next shared library */
- status = shl_get(index, &shl_desc);
-
- /* Check if this is the end of the list or if some error occured */
- if (status != 0) {
- if (errno == EINVAL) {
- break; /* Moved past end of shared library list --> finished */
- } else {
- if (errno <= sys_nerr) {
- GC_printf1("dynamic_load: %s\n", (long) sys_errlist[errno]);
- } else {
- GC_printf1("dynamic_load: %d\n", (long) errno);
- }
- ABORT("shl_get failed");
- }
- }
-
-# ifdef VERBOSE
- GC_printf0("---Shared library---\n");
- GC_printf1("\tfilename = \"%s\"\n", shl_desc->filename);
- GC_printf1("\tindex = %d\n", index);
- GC_printf1("\thandle = %08x\n",
- (unsigned long) shl_desc->handle);
- GC_printf1("\ttext seg. start = %08x\n", shl_desc->tstart);
- GC_printf1("\ttext seg. end = %08x\n", shl_desc->tend);
- GC_printf1("\tdata seg. start = %08x\n", shl_desc->dstart);
- GC_printf1("\tdata seg. end = %08x\n", shl_desc->dend);
- GC_printf1("\tref. count = %lu\n", shl_desc->ref_count);
-# endif
-
- /* register shared library's data segment as a garbage collection root */
- GC_add_roots_inner((char *) shl_desc->dstart,
- (char *) shl_desc->dend, TRUE);
-
- index++;
- }
-}
-#endif /* HP_PA */
-
-#ifdef RS6000
-#pragma alloca
-#include <sys/ldr.h>
-#include <sys/errno.h>
-void GC_register_dynamic_libraries()
-{
- int len;
- char *ldibuf;
- int ldibuflen;
- struct ld_info *ldi;
-
- ldibuf = alloca(ldibuflen = 8192);
-
- while ( (len = loadquery(L_GETINFO,ldibuf,ldibuflen)) < 0) {
- if (errno != ENOMEM) {
- ABORT("loadquery failed");
- }
- ldibuf = alloca(ldibuflen *= 2);
- }
-
- ldi = (struct ld_info *)ldibuf;
- while (ldi) {
- len = ldi->ldinfo_next;
- GC_add_roots_inner(
- ldi->ldinfo_dataorg,
- (unsigned long)ldi->ldinfo_dataorg
- + ldi->ldinfo_datasize,
- TRUE);
- ldi = len ? (struct ld_info *)((char *)ldi + len) : 0;
- }
-}
-#endif /* RS6000 */
-
-
-
-#else /* !DYNAMIC_LOADING */
-
-#ifdef PCR
-
-# include "il/PCR_IL.h"
-# include "th/PCR_ThCtl.h"
-# include "mm/PCR_MM.h"
-
-void GC_register_dynamic_libraries()
-{
- /* Add new static data areas of dynamically loaded modules. */
- {
- PCR_IL_LoadedFile * p = PCR_IL_GetLastLoadedFile();
- PCR_IL_LoadedSegment * q;
-
- /* Skip uncommited files */
- while (p != NIL && !(p -> lf_commitPoint)) {
- /* The loading of this file has not yet been committed */
- /* Hence its description could be inconsistent. */
- /* Furthermore, it hasn't yet been run. Hence its data */
- /* segments can't possibly reference heap allocated */
- /* objects. */
- p = p -> lf_prev;
- }
- for (; p != NIL; p = p -> lf_prev) {
- for (q = p -> lf_ls; q != NIL; q = q -> ls_next) {
- if ((q -> ls_flags & PCR_IL_SegFlags_Traced_MASK)
- == PCR_IL_SegFlags_Traced_on) {
- GC_add_roots_inner
- ((char *)(q -> ls_addr),
- (char *)(q -> ls_addr) + q -> ls_bytes,
- TRUE);
- }
- }
- }
- }
-}
-
-
-#else /* !PCR */
-
-void GC_register_dynamic_libraries(){}
-
-int GC_no_dynamic_loading;
-
-#endif /* !PCR */
-#endif /* !DYNAMIC_LOADING */
diff --git a/boehm-gc/finalize.c b/boehm-gc/finalize.c
deleted file mode 100644
index d825bf91a36..00000000000
--- a/boehm-gc/finalize.c
+++ /dev/null
@@ -1,734 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved.
-
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 1, 1996 1:19 pm PST */
-# define I_HIDE_POINTERS
-# include "gc_priv.h"
-# include "gc_mark.h"
-
-/* Type of mark procedure used for marking from finalizable object. */
-/* This procedure normally does not mark the object, only its */
-/* descendents. */
-typedef void finalization_mark_proc(/* ptr_t finalizable_obj_ptr */);
-
-# define HASH3(addr,size,log_size) \
- ((((word)(addr) >> 3) ^ ((word)(addr) >> (3+(log_size)))) \
- & ((size) - 1))
-#define HASH2(addr,log_size) HASH3(addr, 1 << log_size, log_size)
-
-struct hash_chain_entry {
- word hidden_key;
- struct hash_chain_entry * next;
-};
-
-unsigned GC_finalization_failures = 0;
- /* Number of finalization requests that failed for lack of memory. */
-
-static struct disappearing_link {
- struct hash_chain_entry prolog;
-# define dl_hidden_link prolog.hidden_key
- /* Field to be cleared. */
-# define dl_next(x) (struct disappearing_link *)((x) -> prolog.next)
-# define dl_set_next(x,y) (x) -> prolog.next = (struct hash_chain_entry *)(y)
-
- word dl_hidden_obj; /* Pointer to object base */
-} **dl_head = 0;
-
-static signed_word log_dl_table_size = -1;
- /* Binary log of */
- /* current size of array pointed to by dl_head. */
- /* -1 ==> size is 0. */
-
-word GC_dl_entries = 0; /* Number of entries currently in disappearing */
- /* link table. */
-
-static struct finalizable_object {
- struct hash_chain_entry prolog;
-# define fo_hidden_base prolog.hidden_key
- /* Pointer to object base. */
- /* No longer hidden once object */
- /* is on finalize_now queue. */
-# define fo_next(x) (struct finalizable_object *)((x) -> prolog.next)
-# define fo_set_next(x,y) (x) -> prolog.next = (struct hash_chain_entry *)(y)
- GC_finalization_proc fo_fn; /* Finalizer. */
- ptr_t fo_client_data;
- word fo_object_size; /* In bytes. */
- finalization_mark_proc * fo_mark_proc; /* Mark-through procedure */
-} **fo_head = 0;
-
-struct finalizable_object * GC_finalize_now = 0;
- /* LIst of objects that should be finalized now. */
-
-static signed_word log_fo_table_size = -1;
-
-word GC_fo_entries = 0;
-
-# ifdef SRC_M3
-void GC_push_finalizer_structures()
-{
- GC_push_all((ptr_t)(&dl_head), (ptr_t)(&dl_head) + sizeof(word));
- GC_push_all((ptr_t)(&fo_head), (ptr_t)(&fo_head) + sizeof(word));
-}
-# endif
-
-/* Double the size of a hash table. *size_ptr is the log of its current */
-/* size. May be a noop. */
-/* *table is a pointer to an array of hash headers. If we succeed, we */
-/* update both *table and *log_size_ptr. */
-/* Lock is held. Signals are disabled. */
-void GC_grow_table(table, log_size_ptr)
-struct hash_chain_entry ***table;
-signed_word * log_size_ptr;
-{
- register word i;
- register struct hash_chain_entry *p;
- int log_old_size = *log_size_ptr;
- register int log_new_size = log_old_size + 1;
- word old_size = ((log_old_size == -1)? 0: (1 << log_old_size));
- register word new_size = 1 << log_new_size;
- struct hash_chain_entry **new_table = (struct hash_chain_entry **)
- GC_generic_malloc_inner_ignore_off_page(
- (size_t)new_size * sizeof(struct hash_chain_entry *), NORMAL);
-
- if (new_table == 0) {
- if (table == 0) {
- ABORT("Insufficient space for initial table allocation");
- } else {
- return;
- }
- }
- for (i = 0; i < old_size; i++) {
- p = (*table)[i];
- while (p != 0) {
- register ptr_t real_key = (ptr_t)REVEAL_POINTER(p -> hidden_key);
- register struct hash_chain_entry *next = p -> next;
- register int new_hash = HASH3(real_key, new_size, log_new_size);
-
- p -> next = new_table[new_hash];
- new_table[new_hash] = p;
- p = next;
- }
- }
- *log_size_ptr = log_new_size;
- *table = new_table;
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- int GC_register_disappearing_link(GC_PTR * link)
-# else
- int GC_register_disappearing_link(link)
- GC_PTR * link;
-# endif
-{
- ptr_t base;
-
- base = (ptr_t)GC_base((GC_PTR)link);
- if (base == 0)
- ABORT("Bad arg to GC_register_disappearing_link");
- return(GC_general_register_disappearing_link(link, base));
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- int GC_general_register_disappearing_link(GC_PTR * link,
- GC_PTR obj)
-# else
- int GC_general_register_disappearing_link(link, obj)
- GC_PTR * link;
- GC_PTR obj;
-# endif
-
-{
- struct disappearing_link *curr_dl;
- int index;
- struct disappearing_link * new_dl;
- DCL_LOCK_STATE;
-
- if ((word)link & (ALIGNMENT-1))
- ABORT("Bad arg to GC_general_register_disappearing_link");
-# ifdef THREADS
- DISABLE_SIGNALS();
- LOCK();
-# endif
- if (log_dl_table_size == -1
- || GC_dl_entries > ((word)1 << log_dl_table_size)) {
-# ifndef THREADS
- DISABLE_SIGNALS();
-# endif
- GC_grow_table((struct hash_chain_entry ***)(&dl_head),
- &log_dl_table_size);
-# ifdef PRINTSTATS
- GC_printf1("Grew dl table to %lu entries\n",
- (unsigned long)(1 << log_dl_table_size));
-# endif
-# ifndef THREADS
- ENABLE_SIGNALS();
-# endif
- }
- index = HASH2(link, log_dl_table_size);
- curr_dl = dl_head[index];
- for (curr_dl = dl_head[index]; curr_dl != 0; curr_dl = dl_next(curr_dl)) {
- if (curr_dl -> dl_hidden_link == HIDE_POINTER(link)) {
- curr_dl -> dl_hidden_obj = HIDE_POINTER(obj);
-# ifdef THREADS
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
- return(1);
- }
- }
-# ifdef THREADS
- new_dl = (struct disappearing_link *)
- GC_generic_malloc_inner(sizeof(struct disappearing_link),NORMAL);
-# else
- new_dl = (struct disappearing_link *)
- GC_malloc(sizeof(struct disappearing_link));
-# endif
- if (new_dl != 0) {
- new_dl -> dl_hidden_obj = HIDE_POINTER(obj);
- new_dl -> dl_hidden_link = HIDE_POINTER(link);
- dl_set_next(new_dl, dl_head[index]);
- dl_head[index] = new_dl;
- GC_dl_entries++;
- } else {
- GC_finalization_failures++;
- }
-# ifdef THREADS
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
- return(0);
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- int GC_unregister_disappearing_link(GC_PTR * link)
-# else
- int GC_unregister_disappearing_link(link)
- GC_PTR * link;
-# endif
-{
- struct disappearing_link *curr_dl, *prev_dl;
- int index;
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- index = HASH2(link, log_dl_table_size);
- if (((unsigned long)link & (ALIGNMENT-1))) goto out;
- prev_dl = 0; curr_dl = dl_head[index];
- while (curr_dl != 0) {
- if (curr_dl -> dl_hidden_link == HIDE_POINTER(link)) {
- if (prev_dl == 0) {
- dl_head[index] = dl_next(curr_dl);
- } else {
- dl_set_next(prev_dl, dl_next(curr_dl));
- }
- GC_dl_entries--;
- UNLOCK();
- ENABLE_SIGNALS();
- GC_free((GC_PTR)curr_dl);
- return(1);
- }
- prev_dl = curr_dl;
- curr_dl = dl_next(curr_dl);
- }
-out:
- UNLOCK();
- ENABLE_SIGNALS();
- return(0);
-}
-
-/* Possible finalization_marker procedures. Note that mark stack */
-/* overflow is handled by the caller, and is not a disaster. */
-void GC_normal_finalize_mark_proc(p)
-ptr_t p;
-{
- hdr * hhdr = HDR(p);
-
- PUSH_OBJ((word *)p, hhdr, GC_mark_stack_top,
- &(GC_mark_stack[GC_mark_stack_size]));
-}
-
-/* This only pays very partial attention to the mark descriptor. */
-/* It does the right thing for normal and atomic objects, and treats */
-/* most others as normal. */
-void GC_ignore_self_finalize_mark_proc(p)
-ptr_t p;
-{
- hdr * hhdr = HDR(p);
- word descr = hhdr -> hb_descr;
- ptr_t q, r;
- ptr_t scan_limit;
- ptr_t target_limit = p + WORDS_TO_BYTES(hhdr -> hb_sz) - 1;
-
- if ((descr & DS_TAGS) == DS_LENGTH) {
- scan_limit = p + descr - sizeof(word);
- } else {
- scan_limit = target_limit + 1 - sizeof(word);
- }
- for (q = p; q <= scan_limit; q += ALIGNMENT) {
- r = *(ptr_t *)q;
- if (r < p || r > target_limit) {
- GC_PUSH_ONE_HEAP((word)r);
- }
- }
-}
-
-/*ARGSUSED*/
-void GC_null_finalize_mark_proc(p)
-ptr_t p;
-{
-}
-
-
-
-/* Register a finalization function. See gc.h for details. */
-/* in the nonthreads case, we try to avoid disabling signals, */
-/* since it can be expensive. Threads packages typically */
-/* make it cheaper. */
-void GC_register_finalizer_inner(obj, fn, cd, ofn, ocd, mp)
-GC_PTR obj;
-GC_finalization_proc fn;
-GC_PTR cd;
-GC_finalization_proc * ofn;
-GC_PTR * ocd;
-finalization_mark_proc * mp;
-{
- ptr_t base;
- struct finalizable_object * curr_fo, * prev_fo;
- int index;
- struct finalizable_object *new_fo;
- DCL_LOCK_STATE;
-
-# ifdef THREADS
- DISABLE_SIGNALS();
- LOCK();
-# endif
- if (log_fo_table_size == -1
- || GC_fo_entries > ((word)1 << log_fo_table_size)) {
-# ifndef THREADS
- DISABLE_SIGNALS();
-# endif
- GC_grow_table((struct hash_chain_entry ***)(&fo_head),
- &log_fo_table_size);
-# ifdef PRINTSTATS
- GC_printf1("Grew fo table to %lu entries\n",
- (unsigned long)(1 << log_fo_table_size));
-# endif
-# ifndef THREADS
- ENABLE_SIGNALS();
-# endif
- }
- /* in the THREADS case signals are disabled and we hold allocation */
- /* lock; otherwise neither is true. Proceed carefully. */
- base = (ptr_t)obj;
- index = HASH2(base, log_fo_table_size);
- prev_fo = 0; curr_fo = fo_head[index];
- while (curr_fo != 0) {
- if (curr_fo -> fo_hidden_base == HIDE_POINTER(base)) {
- /* Interruption by a signal in the middle of this */
- /* should be safe. The client may see only *ocd */
- /* updated, but we'll declare that to be his */
- /* problem. */
- if (ocd) *ocd = (GC_PTR) curr_fo -> fo_client_data;
- if (ofn) *ofn = curr_fo -> fo_fn;
- /* Delete the structure for base. */
- if (prev_fo == 0) {
- fo_head[index] = fo_next(curr_fo);
- } else {
- fo_set_next(prev_fo, fo_next(curr_fo));
- }
- if (fn == 0) {
- GC_fo_entries--;
- /* May not happen if we get a signal. But a high */
- /* estimate will only make the table larger than */
- /* necessary. */
-# ifndef THREADS
- GC_free((GC_PTR)curr_fo);
-# endif
- } else {
- curr_fo -> fo_fn = fn;
- curr_fo -> fo_client_data = (ptr_t)cd;
- curr_fo -> fo_mark_proc = mp;
- /* Reinsert it. We deleted it first to maintain */
- /* consistency in the event of a signal. */
- if (prev_fo == 0) {
- fo_head[index] = curr_fo;
- } else {
- fo_set_next(prev_fo, curr_fo);
- }
- }
-# ifdef THREADS
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
- return;
- }
- prev_fo = curr_fo;
- curr_fo = fo_next(curr_fo);
- }
- if (ofn) *ofn = 0;
- if (ocd) *ocd = 0;
- if (fn == 0) {
-# ifdef THREADS
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
- return;
- }
-# ifdef THREADS
- new_fo = (struct finalizable_object *)
- GC_generic_malloc_inner(sizeof(struct finalizable_object),NORMAL);
-# else
- new_fo = (struct finalizable_object *)
- GC_malloc(sizeof(struct finalizable_object));
-# endif
- if (new_fo != 0) {
- new_fo -> fo_hidden_base = (word)HIDE_POINTER(base);
- new_fo -> fo_fn = fn;
- new_fo -> fo_client_data = (ptr_t)cd;
- new_fo -> fo_object_size = GC_size(base);
- new_fo -> fo_mark_proc = mp;
- fo_set_next(new_fo, fo_head[index]);
- GC_fo_entries++;
- fo_head[index] = new_fo;
- } else {
- GC_finalization_failures++;
- }
-# ifdef THREADS
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
-}
-
-# if defined(__STDC__)
- void GC_register_finalizer(void * obj,
- GC_finalization_proc fn, void * cd,
- GC_finalization_proc *ofn, void ** ocd)
-# else
- void GC_register_finalizer(obj, fn, cd, ofn, ocd)
- GC_PTR obj;
- GC_finalization_proc fn;
- GC_PTR cd;
- GC_finalization_proc * ofn;
- GC_PTR * ocd;
-# endif
-{
- GC_register_finalizer_inner(obj, fn, cd, ofn,
- ocd, GC_normal_finalize_mark_proc);
-}
-
-# if defined(__STDC__)
- void GC_register_finalizer_ignore_self(void * obj,
- GC_finalization_proc fn, void * cd,
- GC_finalization_proc *ofn, void ** ocd)
-# else
- void GC_register_finalizer_ignore_self(obj, fn, cd, ofn, ocd)
- GC_PTR obj;
- GC_finalization_proc fn;
- GC_PTR cd;
- GC_finalization_proc * ofn;
- GC_PTR * ocd;
-# endif
-{
- GC_register_finalizer_inner(obj, fn, cd, ofn,
- ocd, GC_ignore_self_finalize_mark_proc);
-}
-
-# if defined(__STDC__)
- void GC_register_finalizer_no_order(void * obj,
- GC_finalization_proc fn, void * cd,
- GC_finalization_proc *ofn, void ** ocd)
-# else
- void GC_register_finalizer_no_order(obj, fn, cd, ofn, ocd)
- GC_PTR obj;
- GC_finalization_proc fn;
- GC_PTR cd;
- GC_finalization_proc * ofn;
- GC_PTR * ocd;
-# endif
-{
- GC_register_finalizer_inner(obj, fn, cd, ofn,
- ocd, GC_null_finalize_mark_proc);
-}
-
-/* Called with world stopped. Cause disappearing links to disappear, */
-/* and invoke finalizers. */
-void GC_finalize()
-{
- struct disappearing_link * curr_dl, * prev_dl, * next_dl;
- struct finalizable_object * curr_fo, * prev_fo, * next_fo;
- ptr_t real_ptr, real_link;
- register int i;
- int dl_size = (log_dl_table_size == -1 ) ? 0 : (1 << log_dl_table_size);
- int fo_size = (log_fo_table_size == -1 ) ? 0 : (1 << log_fo_table_size);
-
- /* Make disappearing links disappear */
- for (i = 0; i < dl_size; i++) {
- curr_dl = dl_head[i];
- prev_dl = 0;
- while (curr_dl != 0) {
- real_ptr = (ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_obj);
- real_link = (ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_link);
- if (!GC_is_marked(real_ptr)) {
- *(word *)real_link = 0;
- next_dl = dl_next(curr_dl);
- if (prev_dl == 0) {
- dl_head[i] = next_dl;
- } else {
- dl_set_next(prev_dl, next_dl);
- }
- GC_clear_mark_bit((ptr_t)curr_dl);
- GC_dl_entries--;
- curr_dl = next_dl;
- } else {
- prev_dl = curr_dl;
- curr_dl = dl_next(curr_dl);
- }
- }
- }
- /* Mark all objects reachable via chains of 1 or more pointers */
- /* from finalizable objects. */
-# ifdef PRINTSTATS
- if (GC_mark_state != MS_NONE) ABORT("Bad mark state");
-# endif
- for (i = 0; i < fo_size; i++) {
- for (curr_fo = fo_head[i]; curr_fo != 0; curr_fo = fo_next(curr_fo)) {
- real_ptr = (ptr_t)REVEAL_POINTER(curr_fo -> fo_hidden_base);
- if (!GC_is_marked(real_ptr)) {
- GC_MARK_FO(real_ptr, curr_fo -> fo_mark_proc);
- if (GC_is_marked(real_ptr)) {
- WARN("Finalization cycle involving %lx\n", real_ptr);
- }
- }
- }
- }
- /* Enqueue for finalization all objects that are still */
- /* unreachable. */
- GC_words_finalized = 0;
- for (i = 0; i < fo_size; i++) {
- curr_fo = fo_head[i];
- prev_fo = 0;
- while (curr_fo != 0) {
- real_ptr = (ptr_t)REVEAL_POINTER(curr_fo -> fo_hidden_base);
- if (!GC_is_marked(real_ptr)) {
-# ifndef JAVA_FINALIZATION
- GC_set_mark_bit(real_ptr);
-# endif
- /* Delete from hash table */
- next_fo = fo_next(curr_fo);
- if (prev_fo == 0) {
- fo_head[i] = next_fo;
- } else {
- fo_set_next(prev_fo, next_fo);
- }
- GC_fo_entries--;
- /* Add to list of objects awaiting finalization. */
- fo_set_next(curr_fo, GC_finalize_now);
- GC_finalize_now = curr_fo;
- /* unhide object pointer so any future collections will */
- /* see it. */
- curr_fo -> fo_hidden_base =
- (word) REVEAL_POINTER(curr_fo -> fo_hidden_base);
- GC_words_finalized +=
- ALIGNED_WORDS(curr_fo -> fo_object_size)
- + ALIGNED_WORDS(sizeof(struct finalizable_object));
-# ifdef PRINTSTATS
- if (!GC_is_marked((ptr_t)curr_fo)) {
- ABORT("GC_finalize: found accessible unmarked object\n");
- }
-# endif
- curr_fo = next_fo;
- } else {
- prev_fo = curr_fo;
- curr_fo = fo_next(curr_fo);
- }
- }
- }
-
-# ifdef JAVA_FINALIZATION
- /* make sure we mark everything reachable from objects finalized
- using the no_order mark_proc */
- for (curr_fo = GC_finalize_now;
- curr_fo != NULL; curr_fo = fo_next(curr_fo)) {
- real_ptr = (ptr_t)curr_fo -> fo_hidden_base;
- if (!GC_is_marked(real_ptr)) {
- if (curr_fo -> fo_mark_proc == GC_null_finalize_mark_proc) {
- GC_MARK_FO(real_ptr, GC_normal_finalize_mark_proc);
- }
- GC_set_mark_bit(real_ptr);
- }
- }
-# endif
-
- /* Remove dangling disappearing links. */
- for (i = 0; i < dl_size; i++) {
- curr_dl = dl_head[i];
- prev_dl = 0;
- while (curr_dl != 0) {
- real_link = GC_base((ptr_t)REVEAL_POINTER(curr_dl -> dl_hidden_link));
- if (real_link != 0 && !GC_is_marked(real_link)) {
- next_dl = dl_next(curr_dl);
- if (prev_dl == 0) {
- dl_head[i] = next_dl;
- } else {
- dl_set_next(prev_dl, next_dl);
- }
- GC_clear_mark_bit((ptr_t)curr_dl);
- GC_dl_entries--;
- curr_dl = next_dl;
- } else {
- prev_dl = curr_dl;
- curr_dl = dl_next(curr_dl);
- }
- }
- }
-}
-
-#ifdef JAVA_FINALIZATION
-
-/* Enqueue all remaining finalizers to be run - Assumes lock is
- * held, and signals are disabled */
-void GC_enqueue_all_finalizers()
-{
- struct finalizable_object * curr_fo, * prev_fo, * next_fo;
- ptr_t real_ptr, real_link;
- register int i;
- int fo_size;
-
- fo_size = (log_fo_table_size == -1 ) ? 0 : (1 << log_fo_table_size);
- GC_words_finalized = 0;
- for (i = 0; i < fo_size; i++) {
- curr_fo = fo_head[i];
- prev_fo = 0;
- while (curr_fo != 0) {
- real_ptr = (ptr_t)REVEAL_POINTER(curr_fo -> fo_hidden_base);
- GC_MARK_FO(real_ptr, GC_normal_finalize_mark_proc);
- GC_set_mark_bit(real_ptr);
-
- /* Delete from hash table */
- next_fo = fo_next(curr_fo);
- if (prev_fo == 0) {
- fo_head[i] = next_fo;
- } else {
- fo_set_next(prev_fo, next_fo);
- }
- GC_fo_entries--;
-
- /* Add to list of objects awaiting finalization. */
- fo_set_next(curr_fo, GC_finalize_now);
- GC_finalize_now = curr_fo;
-
- /* unhide object pointer so any future collections will */
- /* see it. */
- curr_fo -> fo_hidden_base =
- (word) REVEAL_POINTER(curr_fo -> fo_hidden_base);
-
- GC_words_finalized +=
- ALIGNED_WORDS(curr_fo -> fo_object_size)
- + ALIGNED_WORDS(sizeof(struct finalizable_object));
- curr_fo = next_fo;
- }
- }
-
- return;
-}
-
-/* Invoke all remaining finalizers that haven't yet been run.
- * This is needed for strict compliance with the Java standard,
- * which can make the runtime guarantee that all finalizers are run.
- * Unfortunately, the Java standard implies we have to keep running
- * finalizers until there are no more left, a potential infinite loop.
- * YUCK. * This routine is externally callable, so is called without
- * the allocation lock
- */
-void GC_finalize_all()
-{
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- while (GC_fo_entries > 0) {
- GC_enqueue_all_finalizers();
- UNLOCK();
- ENABLE_SIGNALS();
- GC_INVOKE_FINALIZERS();
- DISABLE_SIGNALS();
- LOCK();
- }
- UNLOCK();
- ENABLE_SIGNALS();
-}
-#endif
-
-/* Invoke finalizers for all objects that are ready to be finalized. */
-/* Should be called without allocation lock. */
-int GC_invoke_finalizers()
-{
- register struct finalizable_object * curr_fo;
- register int count = 0;
- DCL_LOCK_STATE;
-
- while (GC_finalize_now != 0) {
-# ifdef THREADS
- DISABLE_SIGNALS();
- LOCK();
-# endif
- curr_fo = GC_finalize_now;
-# ifdef THREADS
- if (curr_fo != 0) GC_finalize_now = fo_next(curr_fo);
- UNLOCK();
- ENABLE_SIGNALS();
- if (curr_fo == 0) break;
-# else
- GC_finalize_now = fo_next(curr_fo);
-# endif
- fo_set_next(curr_fo, 0);
- (*(curr_fo -> fo_fn))((ptr_t)(curr_fo -> fo_hidden_base),
- curr_fo -> fo_client_data);
- curr_fo -> fo_client_data = 0;
- ++count;
-# ifdef UNDEFINED
- /* This is probably a bad idea. It throws off accounting if */
- /* nearly all objects are finalizable. O.w. it shouldn't */
- /* matter. */
- GC_free((GC_PTR)curr_fo);
-# endif
- }
- return count;
-}
-
-# ifdef __STDC__
- GC_PTR GC_call_with_alloc_lock(GC_fn_type fn,
- GC_PTR client_data)
-# else
- GC_PTR GC_call_with_alloc_lock(fn, client_data)
- GC_fn_type fn;
- GC_PTR client_data;
-# endif
-{
- GC_PTR result;
- DCL_LOCK_STATE;
-
-# ifdef THREADS
- DISABLE_SIGNALS();
- LOCK();
- SET_LOCK_HOLDER();
-# endif
- result = (*fn)(client_data);
-# ifdef THREADS
- UNSET_LOCK_HOLDER();
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
- return(result);
-}
diff --git a/boehm-gc/gc.h b/boehm-gc/gc.h
deleted file mode 100644
index a4d57e860d1..00000000000
--- a/boehm-gc/gc.h
+++ /dev/null
@@ -1,711 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
- * Copyright 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * Note that this defines a large number of tuning hooks, which can
- * safely be ignored in nearly all cases. For normal use it suffices
- * to call only GC_MALLOC and perhaps GC_REALLOC.
- * For better performance, also look at GC_MALLOC_ATOMIC, and
- * GC_enable_incremental. If you need an action to be performed
- * immediately before an object is collected, look at GC_register_finalizer.
- * If you are using Solaris threads, look at the end of this file.
- * Everything else is best ignored unless you encounter performance
- * problems.
- */
-
-#ifndef _GC_H
-
-# define _GC_H
-# define __GC
-# include <stddef.h>
-
-#if defined(__CYGWIN32__) && defined(GC_USE_DLL)
-#include "libgc_globals.h"
-#endif
-
-#if defined(_MSC_VER) && defined(_DLL)
-#ifdef GC_BUILD
-#define GC_API __declspec(dllexport)
-#else
-#define GC_API __declspec(dllimport)
-#endif
-#endif
-
-#ifndef GC_API
-#define GC_API extern
-#endif
-
-# if defined(__STDC__) || defined(__cplusplus)
-# define GC_PROTO(args) args
- typedef void * GC_PTR;
-# else
-# define GC_PROTO(args) ()
- typedef char * GC_PTR;
-# endif
-
-# ifdef __cplusplus
- extern "C" {
-# endif
-
-
-/* Define word and signed_word to be unsigned and signed types of the */
-/* size as char * or void *. There seems to be no way to do this */
-/* even semi-portably. The following is probably no better/worse */
-/* than almost anything else. */
-/* The ANSI standard suggests that size_t and ptr_diff_t might be */
-/* better choices. But those appear to have incorrect definitions */
-/* on may systems. Notably "typedef int size_t" seems to be both */
-/* frequent and WRONG. */
-typedef unsigned long GC_word;
-typedef long GC_signed_word;
-
-/* Public read-only variables */
-
-GC_API GC_word GC_gc_no;/* Counter incremented per collection. */
- /* Includes empty GCs at startup. */
-
-
-/* Public R/W variables */
-
-GC_API GC_PTR (*GC_oom_fn) GC_PROTO((size_t bytes_requested));
- /* When there is insufficient memory to satisfy */
- /* an allocation request, we return */
- /* (*GC_oom_fn)(). By default this just */
- /* returns 0. */
- /* If it returns, it must return 0 or a valid */
- /* pointer to a previously allocated heap */
- /* object. */
-
-GC_API int GC_quiet; /* Disable statistics output. Only matters if */
- /* collector has been compiled with statistics */
- /* enabled. This involves a performance cost, */
- /* and is thus not the default. */
-
-GC_API int GC_dont_gc; /* Dont collect unless explicitly requested, e.g. */
- /* because it's not safe. */
-
-GC_API int GC_dont_expand;
- /* Dont expand heap unless explicitly requested */
- /* or forced to. */
-
-GC_API int GC_full_freq; /* Number of partial collections between */
- /* full collections. Matters only if */
- /* GC_incremental is set. */
-
-GC_API GC_word GC_non_gc_bytes;
- /* Bytes not considered candidates for collection. */
- /* Used only to control scheduling of collections. */
-
-GC_API GC_word GC_free_space_divisor;
- /* We try to make sure that we allocate at */
- /* least N/GC_free_space_divisor bytes between */
- /* collections, where N is the heap size plus */
- /* a rough estimate of the root set size. */
- /* Initially, GC_free_space_divisor = 4. */
- /* Increasing its value will use less space */
- /* but more collection time. Decreasing it */
- /* will appreciably decrease collection time */
- /* at the expense of space. */
- /* GC_free_space_divisor = 1 will effectively */
- /* disable collections. */
-
-GC_API GC_word GC_max_retries;
- /* The maximum number of GCs attempted before */
- /* reporting out of memory after heap */
- /* expansion fails. Initially 0. */
-
-
-/* Public procedures */
-/*
- * general purpose allocation routines, with roughly malloc calling conv.
- * The atomic versions promise that no relevant pointers are contained
- * in the object. The nonatomic versions guarantee that the new object
- * is cleared. GC_malloc_stubborn promises that no changes to the object
- * will occur after GC_end_stubborn_change has been called on the
- * result of GC_malloc_stubborn. GC_malloc_uncollectable allocates an object
- * that is scanned for pointers to collectable objects, but is not itself
- * collectable. GC_malloc_uncollectable and GC_free called on the resulting
- * object implicitly update GC_non_gc_bytes appropriately.
- */
-GC_API GC_PTR GC_malloc GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_atomic GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_uncollectable GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_stubborn GC_PROTO((size_t size_in_bytes));
-
-/* The following is only defined if the library has been suitably */
-/* compiled: */
-GC_API GC_PTR GC_malloc_atomic_uncollectable GC_PROTO((size_t size_in_bytes));
-
-/* Explicitly deallocate an object. Dangerous if used incorrectly. */
-/* Requires a pointer to the base of an object. */
-/* If the argument is stubborn, it should not be changeable when freed. */
-/* An object should not be enable for finalization when it is */
-/* explicitly deallocated. */
-/* GC_free(0) is a no-op, as required by ANSI C for free. */
-GC_API void GC_free GC_PROTO((GC_PTR object_addr));
-
-/*
- * Stubborn objects may be changed only if the collector is explicitly informed.
- * The collector is implicitly informed of coming change when such
- * an object is first allocated. The following routines inform the
- * collector that an object will no longer be changed, or that it will
- * once again be changed. Only nonNIL pointer stores into the object
- * are considered to be changes. The argument to GC_end_stubborn_change
- * must be exacly the value returned by GC_malloc_stubborn or passed to
- * GC_change_stubborn. (In the second case it may be an interior pointer
- * within 512 bytes of the beginning of the objects.)
- * There is a performance penalty for allowing more than
- * one stubborn object to be changed at once, but it is acceptable to
- * do so. The same applies to dropping stubborn objects that are still
- * changeable.
- */
-GC_API void GC_change_stubborn GC_PROTO((GC_PTR));
-GC_API void GC_end_stubborn_change GC_PROTO((GC_PTR));
-
-/* Return a pointer to the base (lowest address) of an object given */
-/* a pointer to a location within the object. */
-/* Return 0 if displaced_pointer doesn't point to within a valid */
-/* object. */
-GC_API GC_PTR GC_base GC_PROTO((GC_PTR displaced_pointer));
-
-/* Given a pointer to the base of an object, return its size in bytes. */
-/* The returned size may be slightly larger than what was originally */
-/* requested. */
-GC_API size_t GC_size GC_PROTO((GC_PTR object_addr));
-
-/* For compatibility with C library. This is occasionally faster than */
-/* a malloc followed by a bcopy. But if you rely on that, either here */
-/* or with the standard C library, your code is broken. In my */
-/* opinion, it shouldn't have been invented, but now we're stuck. -HB */
-/* The resulting object has the same kind as the original. */
-/* If the argument is stubborn, the result will have changes enabled. */
-/* It is an error to have changes enabled for the original object. */
-/* Follows ANSI comventions for NULL old_object. */
-GC_API GC_PTR GC_realloc GC_PROTO((GC_PTR old_object,
- size_t new_size_in_bytes));
-
-/* Explicitly increase the heap size. */
-/* Returns 0 on failure, 1 on success. */
-GC_API int GC_expand_hp GC_PROTO((size_t number_of_bytes));
-
-/* Limit the heap size to n bytes. Useful when you're debugging, */
-/* especially on systems that don't handle running out of memory well. */
-/* n == 0 ==> unbounded. This is the default. */
-GC_API void GC_set_max_heap_size GC_PROTO((GC_word n));
-
-/* Inform the collector that a certain section of statically allocated */
-/* memory contains no pointers to garbage collected memory. Thus it */
-/* need not be scanned. This is sometimes important if the application */
-/* maps large read/write files into the address space, which could be */
-/* mistaken for dynamic library data segments on some systems. */
-GC_API void GC_exclude_static_roots GC_PROTO((GC_PTR start, GC_PTR finish));
-
-/* Clear the set of root segments. Wizards only. */
-GC_API void GC_clear_roots GC_PROTO((void));
-
-/* Add a root segment. Wizards only. */
-GC_API void GC_add_roots GC_PROTO((char * low_address,
- char * high_address_plus_1));
-
-/* Add a displacement to the set of those considered valid by the */
-/* collector. GC_register_displacement(n) means that if p was returned */
-/* by GC_malloc, then (char *)p + n will be considered to be a valid */
-/* pointer to n. N must be small and less than the size of p. */
-/* (All pointers to the interior of objects from the stack are */
-/* considered valid in any case. This applies to heap objects and */
-/* static data.) */
-/* Preferably, this should be called before any other GC procedures. */
-/* Calling it later adds to the probability of excess memory */
-/* retention. */
-/* This is a no-op if the collector was compiled with recognition of */
-/* arbitrary interior pointers enabled, which is now the default. */
-GC_API void GC_register_displacement GC_PROTO((GC_word n));
-
-/* The following version should be used if any debugging allocation is */
-/* being done. */
-GC_API void GC_debug_register_displacement GC_PROTO((GC_word n));
-
-/* Explicitly trigger a full, world-stop collection. */
-GC_API void GC_gcollect GC_PROTO((void));
-
-/* Trigger a full world-stopped collection. Abort the collection if */
-/* and when stop_func returns a nonzero value. Stop_func will be */
-/* called frequently, and should be reasonably fast. This works even */
-/* if virtual dirty bits, and hence incremental collection is not */
-/* available for this architecture. Collections can be aborted faster */
-/* than normal pause times for incremental collection. However, */
-/* aborted collections do no useful work; the next collection needs */
-/* to start from the beginning. */
-typedef int (* GC_stop_func) GC_PROTO((void));
-GC_API int GC_try_to_collect GC_PROTO((GC_stop_func stop_func));
-
-/* Return the number of bytes in the heap. Excludes collector private */
-/* data structures. Includes empty blocks and fragmentation loss. */
-/* Includes some pages that were allocated but never written. */
-GC_API size_t GC_get_heap_size GC_PROTO((void));
-
-/* Return the number of bytes allocated since the last collection. */
-GC_API size_t GC_get_bytes_since_gc GC_PROTO((void));
-
-/* Enable incremental/generational collection. */
-/* Not advisable unless dirty bits are */
-/* available or most heap objects are */
-/* pointerfree(atomic) or immutable. */
-/* Don't use in leak finding mode. */
-/* Ignored if GC_dont_gc is true. */
-GC_API void GC_enable_incremental GC_PROTO((void));
-
-/* Perform some garbage collection work, if appropriate. */
-/* Return 0 if there is no more work to be done. */
-/* Typically performs an amount of work corresponding roughly */
-/* to marking from one page. May do more work if further */
-/* progress requires it, e.g. if incremental collection is */
-/* disabled. It is reasonable to call this in a wait loop */
-/* until it returns 0. */
-GC_API int GC_collect_a_little GC_PROTO((void));
-
-/* Allocate an object of size lb bytes. The client guarantees that */
-/* as long as the object is live, it will be referenced by a pointer */
-/* that points to somewhere within the first 256 bytes of the object. */
-/* (This should normally be declared volatile to prevent the compiler */
-/* from invalidating this assertion.) This routine is only useful */
-/* if a large array is being allocated. It reduces the chance of */
-/* accidentally retaining such an array as a result of scanning an */
-/* integer that happens to be an address inside the array. (Actually, */
-/* it reduces the chance of the allocator not finding space for such */
-/* an array, since it will try hard to avoid introducing such a false */
-/* reference.) On a SunOS 4.X or MS Windows system this is recommended */
-/* for arrays likely to be larger than 100K or so. For other systems, */
-/* or if the collector is not configured to recognize all interior */
-/* pointers, the threshold is normally much higher. */
-GC_API GC_PTR GC_malloc_ignore_off_page GC_PROTO((size_t lb));
-GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb));
-
-#if defined(__sgi) && !defined(__GNUC__) && _COMPILER_VERSION >= 720
-# define GC_ADD_CALLER
-# define GC_RETURN_ADDR (GC_word)__return_address
-#endif
-
-#ifdef GC_ADD_CALLER
-# define GC_EXTRAS GC_RETURN_ADDR, __FILE__, __LINE__
-# define GC_EXTRA_PARAMS GC_word ra, char * descr_string, int descr_int
-#else
-# define GC_EXTRAS __FILE__, __LINE__
-# define GC_EXTRA_PARAMS char * descr_string, int descr_int
-#endif
-
-/* Debugging (annotated) allocation. GC_gcollect will check */
-/* objects allocated in this way for overwrites, etc. */
-GC_API GC_PTR GC_debug_malloc
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_atomic
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_uncollectable
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_stubborn
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API void GC_debug_free GC_PROTO((GC_PTR object_addr));
-GC_API GC_PTR GC_debug_realloc
- GC_PROTO((GC_PTR old_object, size_t new_size_in_bytes,
- GC_EXTRA_PARAMS));
-
-GC_API void GC_debug_change_stubborn GC_PROTO((GC_PTR));
-GC_API void GC_debug_end_stubborn_change GC_PROTO((GC_PTR));
-# ifdef GC_DEBUG
-# define GC_MALLOC(sz) GC_debug_malloc(sz, GC_EXTRAS)
-# define GC_MALLOC_ATOMIC(sz) GC_debug_malloc_atomic(sz, GC_EXTRAS)
-# define GC_MALLOC_UNCOLLECTABLE(sz) GC_debug_malloc_uncollectable(sz, \
- GC_EXTRAS)
-# define GC_REALLOC(old, sz) GC_debug_realloc(old, sz, GC_EXTRAS)
-# define GC_FREE(p) GC_debug_free(p)
-# define GC_REGISTER_FINALIZER(p, f, d, of, od) \
- GC_debug_register_finalizer(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
- GC_debug_register_finalizer_ignore_self(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_NO_ORDER(p, f, d, of, od) \
- GC_debug_register_finalizer_no_order(p, f, d, of, od)
-# define GC_MALLOC_STUBBORN(sz) GC_debug_malloc_stubborn(sz, GC_EXTRAS);
-# define GC_CHANGE_STUBBORN(p) GC_debug_change_stubborn(p)
-# define GC_END_STUBBORN_CHANGE(p) GC_debug_end_stubborn_change(p)
-# define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
- GC_general_register_disappearing_link(link, GC_base(obj))
-# define GC_REGISTER_DISPLACEMENT(n) GC_debug_register_displacement(n)
-# else
-# define GC_MALLOC(sz) GC_malloc(sz)
-# define GC_MALLOC_ATOMIC(sz) GC_malloc_atomic(sz)
-# define GC_MALLOC_UNCOLLECTABLE(sz) GC_malloc_uncollectable(sz)
-# define GC_REALLOC(old, sz) GC_realloc(old, sz)
-# define GC_FREE(p) GC_free(p)
-# define GC_REGISTER_FINALIZER(p, f, d, of, od) \
- GC_register_finalizer(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
- GC_register_finalizer_ignore_self(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_NO_ORDER(p, f, d, of, od) \
- GC_register_finalizer_no_order(p, f, d, of, od)
-# define GC_MALLOC_STUBBORN(sz) GC_malloc_stubborn(sz)
-# define GC_CHANGE_STUBBORN(p) GC_change_stubborn(p)
-# define GC_END_STUBBORN_CHANGE(p) GC_end_stubborn_change(p)
-# define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
- GC_general_register_disappearing_link(link, obj)
-# define GC_REGISTER_DISPLACEMENT(n) GC_register_displacement(n)
-# endif
-/* The following are included because they are often convenient, and */
-/* reduce the chance for a misspecifed size argument. But calls may */
-/* expand to something syntactically incorrect if t is a complicated */
-/* type expression. */
-# define GC_NEW(t) (t *)GC_MALLOC(sizeof (t))
-# define GC_NEW_ATOMIC(t) (t *)GC_MALLOC_ATOMIC(sizeof (t))
-# define GC_NEW_STUBBORN(t) (t *)GC_MALLOC_STUBBORN(sizeof (t))
-# define GC_NEW_UNCOLLECTABLE(t) (t *)GC_MALLOC_UNCOLLECTABLE(sizeof (t))
-
-/* Finalization. Some of these primitives are grossly unsafe. */
-/* The idea is to make them both cheap, and sufficient to build */
-/* a safer layer, closer to PCedar finalization. */
-/* The interface represents my conclusions from a long discussion */
-/* with Alan Demers, Dan Greene, Carl Hauser, Barry Hayes, */
-/* Christian Jacobi, and Russ Atkinson. It's not perfect, and */
-/* probably nobody else agrees with it. Hans-J. Boehm 3/13/92 */
-typedef void (*GC_finalization_proc)
- GC_PROTO((GC_PTR obj, GC_PTR client_data));
-
-GC_API void GC_register_finalizer
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-GC_API void GC_debug_register_finalizer
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
- /* When obj is no longer accessible, invoke */
- /* (*fn)(obj, cd). If a and b are inaccessible, and */
- /* a points to b (after disappearing links have been */
- /* made to disappear), then only a will be */
- /* finalized. (If this does not create any new */
- /* pointers to b, then b will be finalized after the */
- /* next collection.) Any finalizable object that */
- /* is reachable from itself by following one or more */
- /* pointers will not be finalized (or collected). */
- /* Thus cycles involving finalizable objects should */
- /* be avoided, or broken by disappearing links. */
- /* All but the last finalizer registered for an object */
- /* is ignored. */
- /* Finalization may be removed by passing 0 as fn. */
- /* Finalizers are implicitly unregistered just before */
- /* they are invoked. */
- /* The old finalizer and client data are stored in */
- /* *ofn and *ocd. */
- /* Fn is never invoked on an accessible object, */
- /* provided hidden pointers are converted to real */
- /* pointers only if the allocation lock is held, and */
- /* such conversions are not performed by finalization */
- /* routines. */
- /* If GC_register_finalizer is aborted as a result of */
- /* a signal, the object may be left with no */
- /* finalization, even if neither the old nor new */
- /* finalizer were NULL. */
- /* Obj should be the nonNULL starting address of an */
- /* object allocated by GC_malloc or friends. */
- /* Note that any garbage collectable object referenced */
- /* by cd will be considered accessible until the */
- /* finalizer is invoked. */
-
-/* Another versions of the above follow. It ignores */
-/* self-cycles, i.e. pointers from a finalizable object to */
-/* itself. There is a stylistic argument that this is wrong, */
-/* but it's unavoidable for C++, since the compiler may */
-/* silently introduce these. It's also benign in that specific */
-/* case. */
-GC_API void GC_register_finalizer_ignore_self
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-GC_API void GC_debug_register_finalizer_ignore_self
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-
-/* Another version of the above. It ignores all cycles. */
-/* It should probably only be used by Java implementations. */
-GC_API void GC_register_finalizer_no_order
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-GC_API void GC_debug_register_finalizer_no_order
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-
-/* The following routine may be used to break cycles between */
-/* finalizable objects, thus causing cyclic finalizable */
-/* objects to be finalized in the correct order. Standard */
-/* use involves calling GC_register_disappearing_link(&p), */
-/* where p is a pointer that is not followed by finalization */
-/* code, and should not be considered in determining */
-/* finalization order. */
-GC_API int GC_register_disappearing_link GC_PROTO((GC_PTR * /* link */));
- /* Link should point to a field of a heap allocated */
- /* object obj. *link will be cleared when obj is */
- /* found to be inaccessible. This happens BEFORE any */
- /* finalization code is invoked, and BEFORE any */
- /* decisions about finalization order are made. */
- /* This is useful in telling the finalizer that */
- /* some pointers are not essential for proper */
- /* finalization. This may avoid finalization cycles. */
- /* Note that obj may be resurrected by another */
- /* finalizer, and thus the clearing of *link may */
- /* be visible to non-finalization code. */
- /* There's an argument that an arbitrary action should */
- /* be allowed here, instead of just clearing a pointer. */
- /* But this causes problems if that action alters, or */
- /* examines connectivity. */
- /* Returns 1 if link was already registered, 0 */
- /* otherwise. */
- /* Only exists for backward compatibility. See below: */
-
-GC_API int GC_general_register_disappearing_link
- GC_PROTO((GC_PTR * /* link */, GC_PTR obj));
- /* A slight generalization of the above. *link is */
- /* cleared when obj first becomes inaccessible. This */
- /* can be used to implement weak pointers easily and */
- /* safely. Typically link will point to a location */
- /* holding a disguised pointer to obj. (A pointer */
- /* inside an "atomic" object is effectively */
- /* disguised.) In this way soft */
- /* pointers are broken before any object */
- /* reachable from them are finalized. Each link */
- /* May be registered only once, i.e. with one obj */
- /* value. This was added after a long email discussion */
- /* with John Ellis. */
- /* Obj must be a pointer to the first word of an object */
- /* we allocated. It is unsafe to explicitly deallocate */
- /* the object containing link. Explicitly deallocating */
- /* obj may or may not cause link to eventually be */
- /* cleared. */
-GC_API int GC_unregister_disappearing_link GC_PROTO((GC_PTR * /* link */));
- /* Returns 0 if link was not actually registered. */
- /* Undoes a registration by either of the above two */
- /* routines. */
-
-/* Auxiliary fns to make finalization work correctly with displaced */
-/* pointers introduced by the debugging allocators. */
-GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
-GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
-
-GC_API int GC_invoke_finalizers GC_PROTO((void));
- /* Run finalizers for all objects that are ready to */
- /* be finalized. Return the number of finalizers */
- /* that were run. Normally this is also called */
- /* implicitly during some allocations. If */
- /* FINALIZE_ON_DEMAND is defined, it must be called */
- /* explicitly. */
-
-/* GC_set_warn_proc can be used to redirect or filter warning messages. */
-/* p may not be a NULL pointer. */
-typedef void (*GC_warn_proc) GC_PROTO((char *msg, GC_word arg));
-GC_API GC_warn_proc GC_set_warn_proc GC_PROTO((GC_warn_proc p));
- /* Returns old warning procedure. */
-
-/* The following is intended to be used by a higher level */
-/* (e.g. cedar-like) finalization facility. It is expected */
-/* that finalization code will arrange for hidden pointers to */
-/* disappear. Otherwise objects can be accessed after they */
-/* have been collected. */
-/* Note that putting pointers in atomic objects or in */
-/* nonpointer slots of "typed" objects is equivalent to */
-/* disguising them in this way, and may have other advantages. */
-# if defined(I_HIDE_POINTERS) || defined(GC_I_HIDE_POINTERS)
- typedef GC_word GC_hidden_pointer;
-# define HIDE_POINTER(p) (~(GC_hidden_pointer)(p))
-# define REVEAL_POINTER(p) ((GC_PTR)(HIDE_POINTER(p)))
- /* Converting a hidden pointer to a real pointer requires verifying */
- /* that the object still exists. This involves acquiring the */
- /* allocator lock to avoid a race with the collector. */
-# endif /* I_HIDE_POINTERS */
-
-typedef GC_PTR (*GC_fn_type) GC_PROTO((GC_PTR client_data));
-GC_API GC_PTR GC_call_with_alloc_lock
- GC_PROTO((GC_fn_type fn, GC_PTR client_data));
-
-/* Check that p and q point to the same object. */
-/* Fail conspicuously if they don't. */
-/* Returns the first argument. */
-/* Succeeds if neither p nor q points to the heap. */
-/* May succeed if both p and q point to between heap objects. */
-GC_API GC_PTR GC_same_obj GC_PROTO((GC_PTR p, GC_PTR q));
-
-/* Checked pointer pre- and post- increment operations. Note that */
-/* the second argument is in units of bytes, not multiples of the */
-/* object size. This should either be invoked from a macro, or the */
-/* call should be automatically generated. */
-GC_API GC_PTR GC_pre_incr GC_PROTO((GC_PTR *p, size_t how_much));
-GC_API GC_PTR GC_post_incr GC_PROTO((GC_PTR *p, size_t how_much));
-
-/* Check that p is visible */
-/* to the collector as a possibly pointer containing location. */
-/* If it isn't fail conspicuously. */
-/* Returns the argument in all cases. May erroneously succeed */
-/* in hard cases. (This is intended for debugging use with */
-/* untyped allocations. The idea is that it should be possible, though */
-/* slow, to add such a call to all indirect pointer stores.) */
-/* Currently useless for multithreaded worlds. */
-GC_API GC_PTR GC_is_visible GC_PROTO((GC_PTR p));
-
-/* Check that if p is a pointer to a heap page, then it points to */
-/* a valid displacement within a heap object. */
-/* Fail conspicuously if this property does not hold. */
-/* Uninteresting with ALL_INTERIOR_POINTERS. */
-/* Always returns its argument. */
-GC_API GC_PTR GC_is_valid_displacement GC_PROTO((GC_PTR p));
-
-/* Safer, but slow, pointer addition. Probably useful mainly with */
-/* a preprocessor. Useful only for heap pointers. */
-#ifdef GC_DEBUG
-# define GC_PTR_ADD3(x, n, type_of_result) \
- ((type_of_result)GC_same_obj((x)+(n), (x)))
-# define GC_PRE_INCR3(x, n, type_of_result) \
- ((type_of_result)GC_pre_incr(&(x), (n)*sizeof(*x))
-# define GC_POST_INCR2(x, type_of_result) \
- ((type_of_result)GC_post_incr(&(x), sizeof(*x))
-# ifdef __GNUC__
-# define GC_PTR_ADD(x, n) \
- GC_PTR_ADD3(x, n, typeof(x))
-# define GC_PRE_INCR(x, n) \
- GC_PRE_INCR3(x, n, typeof(x))
-# define GC_POST_INCR(x, n) \
- GC_POST_INCR3(x, typeof(x))
-# else
- /* We can't do this right without typeof, which ANSI */
- /* decided was not sufficiently useful. Repeatedly */
- /* mentioning the arguments seems too dangerous to be */
- /* useful. So does not casting the result. */
-# define GC_PTR_ADD(x, n) ((x)+(n))
-# endif
-#else /* !GC_DEBUG */
-# define GC_PTR_ADD3(x, n, type_of_result) ((x)+(n))
-# define GC_PTR_ADD(x, n) ((x)+(n))
-# define GC_PRE_INCR3(x, n, type_of_result) ((x) += (n))
-# define GC_PRE_INCR(x, n) ((x) += (n))
-# define GC_POST_INCR2(x, n, type_of_result) ((x)++)
-# define GC_POST_INCR(x, n) ((x)++)
-#endif
-
-/* Safer assignment of a pointer to a nonstack location. */
-#ifdef GC_DEBUG
-# ifdef __STDC__
-# define GC_PTR_STORE(p, q) \
- (*(void **)GC_is_visible(p) = GC_is_valid_displacement(q))
-# else
-# define GC_PTR_STORE(p, q) \
- (*(char **)GC_is_visible(p) = GC_is_valid_displacement(q))
-# endif
-#else /* !GC_DEBUG */
-# define GC_PTR_STORE(p, q) *((p) = (q))
-#endif
-
-/* Fynctions called to report pointer checking errors */
-GC_API void (*GC_same_obj_print_proc) GC_PROTO((GC_PTR p, GC_PTR q));
-
-GC_API void (*GC_is_valid_displacement_print_proc)
- GC_PROTO((GC_PTR p));
-
-GC_API void (*GC_is_visible_print_proc)
- GC_PROTO((GC_PTR p));
-
-#ifdef SOLARIS_THREADS
-/* We need to intercept calls to many of the threads primitives, so */
-/* that we can locate thread stacks and stop the world. */
-/* Note also that the collector cannot see thread specific data. */
-/* Thread specific data should generally consist of pointers to */
-/* uncollectable objects, which are deallocated using the destructor */
-/* facility in thr_keycreate. */
-# include <thread.h>
-# include <signal.h>
- int GC_thr_create(void *stack_base, size_t stack_size,
- void *(*start_routine)(void *), void *arg, long flags,
- thread_t *new_thread);
- int GC_thr_join(thread_t wait_for, thread_t *departed, void **status);
- int GC_thr_suspend(thread_t target_thread);
- int GC_thr_continue(thread_t target_thread);
- void * GC_dlopen(const char *path, int mode);
-
-# ifdef _SOLARIS_PTHREADS
-# include <pthread.h>
- extern int GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void * (*thread_execp)(void *), void *arg);
- extern int GC_pthread_join(pthread_t wait_for, void **status);
-
-# undef thread_t
-
-# define pthread_join GC_pthread_join
-# define pthread_create GC_pthread_create
-#endif
-
-# define thr_create GC_thr_create
-# define thr_join GC_thr_join
-# define thr_suspend GC_thr_suspend
-# define thr_continue GC_thr_continue
-# define dlopen GC_dlopen
-
-# endif /* SOLARIS_THREADS */
-
-
-#if defined(IRIX_THREADS) || defined(LINUX_THREADS)
-/* We treat these similarly. */
-# include <pthread.h>
-# include <signal.h>
-
- int GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void *(*start_routine)(void *), void *arg);
- int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
- int GC_pthread_join(pthread_t thread, void **retval);
-
-# define pthread_create GC_pthread_create
-# define pthread_sigmask GC_pthread_sigmask
-# define pthread_join GC_pthread_join
-
-#endif /* IRIX_THREADS || LINUX_THREADS */
-
-#if defined(THREADS) && !defined(SRC_M3)
-/* This returns a list of objects, linked through their first */
-/* word. Its use can greatly reduce lock contention problems, since */
-/* the allocation lock can be acquired and released many fewer times. */
-GC_PTR GC_malloc_many(size_t lb);
-#define GC_NEXT(p) (*(GC_PTR *)(p)) /* Retrieve the next element */
- /* in returned list. */
-extern void GC_thr_init(); /* Needed for Solaris/X86 */
-
-#endif /* THREADS && !SRC_M3 */
-
-/*
- * If you are planning on putting
- * the collector in a SunOS 5 dynamic library, you need to call GC_INIT()
- * from the statically loaded program section.
- * This circumvents a Solaris 2.X (X<=4) linker bug.
- */
-#if defined(sparc) || defined(__sparc)
-# define GC_INIT() { extern end, etext; \
- GC_noop(&end, &etext); }
-#else
-# if defined(__CYGWIN32__) && defined(GC_USE_DLL)
- /*
- * Similarly gnu-win32 DLLs need explicit initialization
- */
-# define GC_INIT() { GC_add_roots(DATASTART, DATAEND); }
-# else
-# define GC_INIT()
-# endif
-#endif
-
-#ifdef __cplusplus
- } /* end of extern "C" */
-#endif
-
-#endif /* _GC_H */
diff --git a/boehm-gc/gc.mak b/boehm-gc/gc.mak
deleted file mode 100644
index fdd0c9c6dc3..00000000000
--- a/boehm-gc/gc.mak
+++ /dev/null
@@ -1,2087 +0,0 @@
-# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-!IF "$(CFG)" == ""
-CFG=cord - Win32 Debug
-!MESSAGE No configuration specified. Defaulting to cord - Win32 Debug.
-!ENDIF
-
-!IF "$(CFG)" != "gc - Win32 Release" && "$(CFG)" != "gc - Win32 Debug" &&\
- "$(CFG)" != "gctest - Win32 Release" && "$(CFG)" != "gctest - Win32 Debug" &&\
- "$(CFG)" != "cord - Win32 Release" && "$(CFG)" != "cord - Win32 Debug"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE on this makefile
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "gc.mak" CFG="cord - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "gc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "gc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "gctest - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "gctest - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE "cord - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "cord - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE
-!ERROR An invalid configuration is specified.
-!ENDIF
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE
-NULL=nul
-!ENDIF
-################################################################################
-# Begin Project
-# PROP Target_Last_Scanned "gctest - Win32 Debug"
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-OUTDIR=.\Release
-INTDIR=.\Release
-
-ALL : ".\Release\gc.dll" ".\Release\gc.bsc"
-
-CLEAN :
- -@erase ".\Release\allchblk.obj"
- -@erase ".\Release\allchblk.sbr"
- -@erase ".\Release\alloc.obj"
- -@erase ".\Release\alloc.sbr"
- -@erase ".\Release\blacklst.obj"
- -@erase ".\Release\blacklst.sbr"
- -@erase ".\Release\checksums.obj"
- -@erase ".\Release\checksums.sbr"
- -@erase ".\Release\dbg_mlc.obj"
- -@erase ".\Release\dbg_mlc.sbr"
- -@erase ".\Release\dyn_load.obj"
- -@erase ".\Release\dyn_load.sbr"
- -@erase ".\Release\finalize.obj"
- -@erase ".\Release\finalize.sbr"
- -@erase ".\Release\gc.bsc"
- -@erase ".\Release\gc.dll"
- -@erase ".\Release\gc.exp"
- -@erase ".\Release\gc.lib"
- -@erase ".\Release\headers.obj"
- -@erase ".\Release\headers.sbr"
- -@erase ".\Release\mach_dep.obj"
- -@erase ".\Release\mach_dep.sbr"
- -@erase ".\Release\malloc.obj"
- -@erase ".\Release\malloc.sbr"
- -@erase ".\Release\mallocx.obj"
- -@erase ".\Release\mallocx.sbr"
- -@erase ".\Release\mark.obj"
- -@erase ".\Release\mark.sbr"
- -@erase ".\Release\mark_rts.obj"
- -@erase ".\Release\mark_rts.sbr"
- -@erase ".\Release\misc.obj"
- -@erase ".\Release\misc.sbr"
- -@erase ".\Release\new_hblk.obj"
- -@erase ".\Release\new_hblk.sbr"
- -@erase ".\Release\obj_map.obj"
- -@erase ".\Release\obj_map.sbr"
- -@erase ".\Release\os_dep.obj"
- -@erase ".\Release\os_dep.sbr"
- -@erase ".\Release\ptr_chck.obj"
- -@erase ".\Release\ptr_chck.sbr"
- -@erase ".\Release\reclaim.obj"
- -@erase ".\Release\reclaim.sbr"
- -@erase ".\Release\stubborn.obj"
- -@erase ".\Release\stubborn.sbr"
- -@erase ".\Release\typd_mlc.obj"
- -@erase ".\Release\typd_mlc.sbr"
- -@erase ".\Release\win32_threads.obj"
- -@erase ".\Release\win32_threads.sbr"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "SILENT" /D "GC_BUILD" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "SILENT" /D "GC_BUILD" /D\
- "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D\
- "WIN32_THREADS" /FR"$(INTDIR)/" /Fp"$(INTDIR)/gc.pch" /YX /Fo"$(INTDIR)/" /c
-CPP_OBJS=.\Release/
-CPP_SBRS=.\Release/
-
-.c{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.c{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gc.bsc"
-BSC32_SBRS= \
- ".\Release\allchblk.sbr" \
- ".\Release\alloc.sbr" \
- ".\Release\blacklst.sbr" \
- ".\Release\checksums.sbr" \
- ".\Release\dbg_mlc.sbr" \
- ".\Release\dyn_load.sbr" \
- ".\Release\finalize.sbr" \
- ".\Release\headers.sbr" \
- ".\Release\mach_dep.sbr" \
- ".\Release\malloc.sbr" \
- ".\Release\mallocx.sbr" \
- ".\Release\mark.sbr" \
- ".\Release\mark_rts.sbr" \
- ".\Release\misc.sbr" \
- ".\Release\new_hblk.sbr" \
- ".\Release\obj_map.sbr" \
- ".\Release\os_dep.sbr" \
- ".\Release\ptr_chck.sbr" \
- ".\Release\reclaim.sbr" \
- ".\Release\stubborn.sbr" \
- ".\Release\typd_mlc.sbr" \
- ".\Release\win32_threads.sbr"
-
-".\Release\gc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
- $(BSC32) @<<
- $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
- /pdb:"$(OUTDIR)/gc.pdb" /machine:I386 /out:"$(OUTDIR)/gc.dll"\
- /implib:"$(OUTDIR)/gc.lib"
-LINK32_OBJS= \
- ".\Release\allchblk.obj" \
- ".\Release\alloc.obj" \
- ".\Release\blacklst.obj" \
- ".\Release\checksums.obj" \
- ".\Release\dbg_mlc.obj" \
- ".\Release\dyn_load.obj" \
- ".\Release\finalize.obj" \
- ".\Release\headers.obj" \
- ".\Release\mach_dep.obj" \
- ".\Release\malloc.obj" \
- ".\Release\mallocx.obj" \
- ".\Release\mark.obj" \
- ".\Release\mark_rts.obj" \
- ".\Release\misc.obj" \
- ".\Release\new_hblk.obj" \
- ".\Release\obj_map.obj" \
- ".\Release\os_dep.obj" \
- ".\Release\ptr_chck.obj" \
- ".\Release\reclaim.obj" \
- ".\Release\stubborn.obj" \
- ".\Release\typd_mlc.obj" \
- ".\Release\win32_threads.obj"
-
-".\Release\gc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-OUTDIR=.\Debug
-INTDIR=.\Debug
-
-ALL : ".\Debug\gc.dll" ".\Debug\gc.bsc"
-
-CLEAN :
- -@erase ".\Debug\allchblk.obj"
- -@erase ".\Debug\allchblk.sbr"
- -@erase ".\Debug\alloc.obj"
- -@erase ".\Debug\alloc.sbr"
- -@erase ".\Debug\blacklst.obj"
- -@erase ".\Debug\blacklst.sbr"
- -@erase ".\Debug\checksums.obj"
- -@erase ".\Debug\checksums.sbr"
- -@erase ".\Debug\dbg_mlc.obj"
- -@erase ".\Debug\dbg_mlc.sbr"
- -@erase ".\Debug\dyn_load.obj"
- -@erase ".\Debug\dyn_load.sbr"
- -@erase ".\Debug\finalize.obj"
- -@erase ".\Debug\finalize.sbr"
- -@erase ".\Debug\gc.bsc"
- -@erase ".\Debug\gc.dll"
- -@erase ".\Debug\gc.exp"
- -@erase ".\Debug\gc.lib"
- -@erase ".\Debug\gc.map"
- -@erase ".\Debug\gc.pdb"
- -@erase ".\Debug\headers.obj"
- -@erase ".\Debug\headers.sbr"
- -@erase ".\Debug\mach_dep.obj"
- -@erase ".\Debug\mach_dep.sbr"
- -@erase ".\Debug\malloc.obj"
- -@erase ".\Debug\malloc.sbr"
- -@erase ".\Debug\mallocx.obj"
- -@erase ".\Debug\mallocx.sbr"
- -@erase ".\Debug\mark.obj"
- -@erase ".\Debug\mark.sbr"
- -@erase ".\Debug\mark_rts.obj"
- -@erase ".\Debug\mark_rts.sbr"
- -@erase ".\Debug\misc.obj"
- -@erase ".\Debug\misc.sbr"
- -@erase ".\Debug\new_hblk.obj"
- -@erase ".\Debug\new_hblk.sbr"
- -@erase ".\Debug\obj_map.obj"
- -@erase ".\Debug\obj_map.sbr"
- -@erase ".\Debug\os_dep.obj"
- -@erase ".\Debug\os_dep.sbr"
- -@erase ".\Debug\ptr_chck.obj"
- -@erase ".\Debug\ptr_chck.sbr"
- -@erase ".\Debug\reclaim.obj"
- -@erase ".\Debug\reclaim.sbr"
- -@erase ".\Debug\stubborn.obj"
- -@erase ".\Debug\stubborn.sbr"
- -@erase ".\Debug\typd_mlc.obj"
- -@erase ".\Debug\typd_mlc.sbr"
- -@erase ".\Debug\vc40.idb"
- -@erase ".\Debug\vc40.pdb"
- -@erase ".\Debug\win32_threads.obj"
- -@erase ".\Debug\win32_threads.sbr"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "SILENT" /D "GC_BUILD" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "SILENT" /D "GC_BUILD"\
- /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D\
- "WIN32_THREADS" /FR"$(INTDIR)/" /Fp"$(INTDIR)/gc.pch" /YX /Fo"$(INTDIR)/"\
- /Fd"$(INTDIR)/" /c
-CPP_OBJS=.\Debug/
-CPP_SBRS=.\Debug/
-
-.c{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.c{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gc.bsc"
-BSC32_SBRS= \
- ".\Debug\allchblk.sbr" \
- ".\Debug\alloc.sbr" \
- ".\Debug\blacklst.sbr" \
- ".\Debug\checksums.sbr" \
- ".\Debug\dbg_mlc.sbr" \
- ".\Debug\dyn_load.sbr" \
- ".\Debug\finalize.sbr" \
- ".\Debug\headers.sbr" \
- ".\Debug\mach_dep.sbr" \
- ".\Debug\malloc.sbr" \
- ".\Debug\mallocx.sbr" \
- ".\Debug\mark.sbr" \
- ".\Debug\mark_rts.sbr" \
- ".\Debug\misc.sbr" \
- ".\Debug\new_hblk.sbr" \
- ".\Debug\obj_map.sbr" \
- ".\Debug\os_dep.sbr" \
- ".\Debug\ptr_chck.sbr" \
- ".\Debug\reclaim.sbr" \
- ".\Debug\stubborn.sbr" \
- ".\Debug\typd_mlc.sbr" \
- ".\Debug\win32_threads.sbr"
-
-".\Debug\gc.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
- $(BSC32) @<<
- $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\
- /pdb:"$(OUTDIR)/gc.pdb" /map:"$(INTDIR)/gc.map" /debug /machine:I386\
- /out:"$(OUTDIR)/gc.dll" /implib:"$(OUTDIR)/gc.lib"
-LINK32_OBJS= \
- ".\Debug\allchblk.obj" \
- ".\Debug\alloc.obj" \
- ".\Debug\blacklst.obj" \
- ".\Debug\checksums.obj" \
- ".\Debug\dbg_mlc.obj" \
- ".\Debug\dyn_load.obj" \
- ".\Debug\finalize.obj" \
- ".\Debug\headers.obj" \
- ".\Debug\mach_dep.obj" \
- ".\Debug\malloc.obj" \
- ".\Debug\mallocx.obj" \
- ".\Debug\mark.obj" \
- ".\Debug\mark_rts.obj" \
- ".\Debug\misc.obj" \
- ".\Debug\new_hblk.obj" \
- ".\Debug\obj_map.obj" \
- ".\Debug\os_dep.obj" \
- ".\Debug\ptr_chck.obj" \
- ".\Debug\reclaim.obj" \
- ".\Debug\stubborn.obj" \
- ".\Debug\typd_mlc.obj" \
- ".\Debug\win32_threads.obj"
-
-".\Debug\gc.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "gctest - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "gctest\Release"
-# PROP BASE Intermediate_Dir "gctest\Release"
-# PROP BASE Target_Dir "gctest"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "gctest\Release"
-# PROP Intermediate_Dir "gctest\Release"
-# PROP Target_Dir "gctest"
-OUTDIR=.\gctest\Release
-INTDIR=.\gctest\Release
-
-ALL : "gc - Win32 Release" ".\Release\gctest.exe"
-
-CLEAN :
- -@erase ".\gctest\Release\test.obj"
- -@erase ".\Release\gctest.exe"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "WIN32_THREADS" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D\
- "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "WIN32_THREADS"\
- /Fp"$(INTDIR)/gctest.pch" /YX /Fo"$(INTDIR)/" /c
-CPP_OBJS=.\gctest\Release/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.c{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gctest.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"Release/gctest.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no\
- /pdb:"$(OUTDIR)/gctest.pdb" /machine:I386 /out:"Release/gctest.exe"
-LINK32_OBJS= \
- ".\gctest\Release\test.obj" \
- ".\Release\gc.lib"
-
-".\Release\gctest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "gctest - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "gctest\Debug"
-# PROP BASE Intermediate_Dir "gctest\Debug"
-# PROP BASE Target_Dir "gctest"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "gctest\Debug"
-# PROP Intermediate_Dir "gctest\Debug"
-# PROP Target_Dir "gctest"
-OUTDIR=.\gctest\Debug
-INTDIR=.\gctest\Debug
-
-ALL : "gc - Win32 Debug" ".\Debug\gctest.exe" ".\gctest\Debug\gctest.bsc"
-
-CLEAN :
- -@erase ".\Debug\gctest.exe"
- -@erase ".\gctest\Debug\gctest.bsc"
- -@erase ".\gctest\Debug\gctest.map"
- -@erase ".\gctest\Debug\gctest.pdb"
- -@erase ".\gctest\Debug\test.obj"
- -@erase ".\gctest\Debug\test.sbr"
- -@erase ".\gctest\Debug\vc40.idb"
- -@erase ".\gctest\Debug\vc40.pdb"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "WIN32_THREADS" /FR /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS"\
- /D "ALL_INTERIOR_POINTERS" /D "__STDC__" /D "WIN32_THREADS" /FR"$(INTDIR)/"\
- /Fp"$(INTDIR)/gctest.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
-CPP_OBJS=.\gctest\Debug/
-CPP_SBRS=.\gctest\Debug/
-
-.c{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.c{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/gctest.bsc"
-BSC32_SBRS= \
- ".\gctest\Debug\test.sbr"
-
-".\gctest\Debug\gctest.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
- $(BSC32) @<<
- $(BSC32_FLAGS) $(BSC32_SBRS)
-<<
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:no /map /debug /machine:I386 /out:"Debug/gctest.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no\
- /pdb:"$(OUTDIR)/gctest.pdb" /map:"$(INTDIR)/gctest.map" /debug /machine:I386\
- /out:"Debug/gctest.exe"
-LINK32_OBJS= \
- ".\Debug\gc.lib" \
- ".\gctest\Debug\test.obj"
-
-".\Debug\gctest.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "cord - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "cord\Release"
-# PROP BASE Intermediate_Dir "cord\Release"
-# PROP BASE Target_Dir "cord"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "cord\Release"
-# PROP Intermediate_Dir "cord\Release"
-# PROP Target_Dir "cord"
-OUTDIR=.\cord\Release
-INTDIR=.\cord\Release
-
-ALL : "gc - Win32 Release" ".\Release\de.exe"
-
-CLEAN :
- -@erase ".\cord\Release\cordbscs.obj"
- -@erase ".\cord\Release\cordxtra.obj"
- -@erase ".\cord\Release\de.obj"
- -@erase ".\cord\Release\de_win.obj"
- -@erase ".\cord\Release\de_win.res"
- -@erase ".\Release\de.exe"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /YX /c
-CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D\
- "ALL_INTERIOR_POINTERS" /Fp"$(INTDIR)/cord.pch" /YX /Fo"$(INTDIR)/" /c
-CPP_OBJS=.\cord\Release/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.c{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /win32
-MTL_PROJ=/nologo /D "NDEBUG" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-RSC_PROJ=/l 0x809 /fo"$(INTDIR)/de_win.res" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/cord.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"Release/de.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)/de.pdb"\
- /machine:I386 /out:"Release/de.exe"
-LINK32_OBJS= \
- ".\cord\Release\cordbscs.obj" \
- ".\cord\Release\cordxtra.obj" \
- ".\cord\Release\de.obj" \
- ".\cord\Release\de_win.obj" \
- ".\cord\Release\de_win.res" \
- ".\Release\gc.lib"
-
-".\Release\de.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "cord\Debug"
-# PROP BASE Intermediate_Dir "cord\Debug"
-# PROP BASE Target_Dir "cord"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "cord\Debug"
-# PROP Intermediate_Dir "cord\Debug"
-# PROP Target_Dir "cord"
-OUTDIR=.\cord\Debug
-INTDIR=.\cord\Debug
-
-ALL : "gc - Win32 Debug" ".\Debug\de.exe"
-
-CLEAN :
- -@erase ".\cord\Debug\cordbscs.obj"
- -@erase ".\cord\Debug\cordxtra.obj"
- -@erase ".\cord\Debug\de.obj"
- -@erase ".\cord\Debug\de.pdb"
- -@erase ".\cord\Debug\de_win.obj"
- -@erase ".\cord\Debug\de_win.res"
- -@erase ".\cord\Debug\vc40.idb"
- -@erase ".\cord\Debug\vc40.pdb"
- -@erase ".\Debug\de.exe"
- -@erase ".\Debug\de.ilk"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /YX /c
-CPP_PROJ=/nologo /MDd /W3 /Gm /GX /Zi /Od /I "." /D "_DEBUG" /D "WIN32" /D\
- "_WINDOWS" /D "ALL_INTERIOR_POINTERS" /Fp"$(INTDIR)/cord.pch" /YX\
- /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
-CPP_OBJS=.\cord\Debug/
-CPP_SBRS=.\.
-
-.c{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_OBJS)}.obj:
- $(CPP) $(CPP_PROJ) $<
-
-.c{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cpp{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-.cxx{$(CPP_SBRS)}.sbr:
- $(CPP) $(CPP_PROJ) $<
-
-MTL=mktyplib.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /win32
-MTL_PROJ=/nologo /D "_DEBUG" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-RSC_PROJ=/l 0x809 /fo"$(INTDIR)/de_win.res" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/cord.bsc"
-BSC32_SBRS= \
-
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"Debug/de.exe"
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
- advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\
- odbccp32.lib /nologo /subsystem:windows /incremental:yes\
- /pdb:"$(OUTDIR)/de.pdb" /debug /machine:I386 /out:"Debug/de.exe"
-LINK32_OBJS= \
- ".\cord\Debug\cordbscs.obj" \
- ".\cord\Debug\cordxtra.obj" \
- ".\cord\Debug\de.obj" \
- ".\cord\Debug\de_win.obj" \
- ".\cord\Debug\de_win.res" \
- ".\Debug\gc.lib"
-
-".\Debug\de.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
- $(LINK32) @<<
- $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-!ENDIF
-
-################################################################################
-# Begin Target
-
-# Name "gc - Win32 Release"
-# Name "gc - Win32 Debug"
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-!ENDIF
-
-################################################################################
-# Begin Source File
-
-SOURCE=.\reclaim.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_RECLA=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_RECLA=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\reclaim.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Release\reclaim.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_RECLA=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_RECLA=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\reclaim.obj" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-".\Debug\reclaim.sbr" : $(SOURCE) $(DEP_CPP_RECLA) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\os_dep.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_OS_DE=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\STAT.H"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_OS_DE=\
- ".\il\PCR_IL.h"\
- ".\mm\PCR_MM.h"\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
- ".\vd\PCR_VD.h"\
-
-
-".\Release\os_dep.obj" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-".\Release\os_dep.sbr" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_OS_DE=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\STAT.H"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_OS_DE=\
- ".\il\PCR_IL.h"\
- ".\mm\PCR_MM.h"\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
- ".\vd\PCR_VD.h"\
-
-
-".\Debug\os_dep.obj" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-".\Debug\os_dep.sbr" : $(SOURCE) $(DEP_CPP_OS_DE) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\misc.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MISC_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MISC_=\
- ".\il\PCR_IL.h"\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\misc.obj" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-".\Release\misc.sbr" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MISC_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MISC_=\
- ".\il\PCR_IL.h"\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\misc.obj" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-".\Debug\misc.sbr" : $(SOURCE) $(DEP_CPP_MISC_) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mark_rts.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MARK_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MARK_=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\mark_rts.obj" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-".\Release\mark_rts.sbr" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MARK_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MARK_=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\mark_rts.obj" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-".\Debug\mark_rts.sbr" : $(SOURCE) $(DEP_CPP_MARK_) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mach_dep.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MACH_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MACH_=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\mach_dep.obj" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-".\Release\mach_dep.sbr" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MACH_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MACH_=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\mach_dep.obj" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-".\Debug\mach_dep.sbr" : $(SOURCE) $(DEP_CPP_MACH_) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\headers.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_HEADE=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_HEADE=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\headers.obj" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-".\Release\headers.sbr" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_HEADE=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_HEADE=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\headers.obj" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-".\Debug\headers.sbr" : $(SOURCE) $(DEP_CPP_HEADE) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\alloc.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_ALLOC=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_ALLOC=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\alloc.obj" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-".\Release\alloc.sbr" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_ALLOC=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_ALLOC=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\alloc.obj" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-".\Debug\alloc.sbr" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\allchblk.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_ALLCH=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_ALLCH=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\allchblk.obj" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-".\Release\allchblk.sbr" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_ALLCH=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_ALLCH=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\allchblk.obj" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-".\Debug\allchblk.sbr" : $(SOURCE) $(DEP_CPP_ALLCH) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\stubborn.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_STUBB=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_STUBB=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\stubborn.obj" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-".\Release\stubborn.sbr" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_STUBB=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_STUBB=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\stubborn.obj" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-".\Debug\stubborn.sbr" : $(SOURCE) $(DEP_CPP_STUBB) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\obj_map.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_OBJ_M=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_OBJ_M=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\obj_map.obj" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-".\Release\obj_map.sbr" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_OBJ_M=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_OBJ_M=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\obj_map.obj" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-".\Debug\obj_map.sbr" : $(SOURCE) $(DEP_CPP_OBJ_M) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\new_hblk.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_NEW_H=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_NEW_H=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\new_hblk.obj" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-".\Release\new_hblk.sbr" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_NEW_H=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_NEW_H=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\new_hblk.obj" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-".\Debug\new_hblk.sbr" : $(SOURCE) $(DEP_CPP_NEW_H) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mark.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MARK_C=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MARK_C=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\mark.obj" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-".\Release\mark.sbr" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MARK_C=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MARK_C=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\mark.obj" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-".\Debug\mark.sbr" : $(SOURCE) $(DEP_CPP_MARK_C) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\malloc.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MALLO=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MALLO=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-".\Release\malloc.sbr" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MALLO=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MALLO=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\malloc.obj" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-".\Debug\malloc.sbr" : $(SOURCE) $(DEP_CPP_MALLO) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\mallocx.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_MALLX=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MALLX=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\mallocx.obj" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-".\Release\mallocx.sbr" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_MALLX=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_MALLX=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\mallocx.obj" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-".\Debug\mallocx.sbr" : $(SOURCE) $(DEP_CPP_MALLX) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\finalize.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_FINAL=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_FINAL=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\finalize.obj" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-".\Release\finalize.sbr" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_FINAL=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_FINAL=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\finalize.obj" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-".\Debug\finalize.sbr" : $(SOURCE) $(DEP_CPP_FINAL) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\dbg_mlc.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_DBG_M=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_DBG_M=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\dbg_mlc.obj" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-".\Release\dbg_mlc.sbr" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_DBG_M=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_DBG_M=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\dbg_mlc.obj" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-".\Debug\dbg_mlc.sbr" : $(SOURCE) $(DEP_CPP_DBG_M) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\blacklst.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_BLACK=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_BLACK=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\blacklst.obj" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-".\Release\blacklst.sbr" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_BLACK=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_BLACK=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\blacklst.obj" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-".\Debug\blacklst.sbr" : $(SOURCE) $(DEP_CPP_BLACK) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\typd_mlc.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_TYPD_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- ".\gc_typed.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_TYPD_=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\typd_mlc.obj" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-".\Release\typd_mlc.sbr" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_TYPD_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- ".\gc_typed.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_TYPD_=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\typd_mlc.obj" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-".\Debug\typd_mlc.sbr" : $(SOURCE) $(DEP_CPP_TYPD_) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\ptr_chck.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_PTR_C=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_PTR_C=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\ptr_chck.obj" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-".\Release\ptr_chck.sbr" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_PTR_C=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_mark.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_PTR_C=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\ptr_chck.obj" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-".\Debug\ptr_chck.sbr" : $(SOURCE) $(DEP_CPP_PTR_C) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\dyn_load.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_DYN_L=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\STAT.H"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_DYN_L=\
- ".\il\PCR_IL.h"\
- ".\mm\PCR_MM.h"\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\dyn_load.obj" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-".\Release\dyn_load.sbr" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_DYN_L=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\STAT.H"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_DYN_L=\
- ".\il\PCR_IL.h"\
- ".\mm\PCR_MM.h"\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\dyn_load.obj" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-".\Debug\dyn_load.sbr" : $(SOURCE) $(DEP_CPP_DYN_L) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\win32_threads.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_WIN32=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_WIN32=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\win32_threads.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Release\win32_threads.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_WIN32=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_WIN32=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\win32_threads.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-".\Debug\win32_threads.sbr" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\checksums.c
-
-!IF "$(CFG)" == "gc - Win32 Release"
-
-DEP_CPP_CHECK=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_CHECK=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Release\checksums.obj" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-".\Release\checksums.sbr" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gc - Win32 Debug"
-
-DEP_CPP_CHECK=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_CHECK=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-".\Debug\checksums.obj" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-".\Debug\checksums.sbr" : $(SOURCE) $(DEP_CPP_CHECK) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-# End Target
-################################################################################
-# Begin Target
-
-# Name "gctest - Win32 Release"
-# Name "gctest - Win32 Debug"
-
-!IF "$(CFG)" == "gctest - Win32 Release"
-
-!ELSEIF "$(CFG)" == "gctest - Win32 Debug"
-
-!ENDIF
-
-################################################################################
-# Begin Project Dependency
-
-# Project_Dep_Name "gc"
-
-!IF "$(CFG)" == "gctest - Win32 Release"
-
-"gc - Win32 Release" :
- $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "gctest - Win32 Debug"
-
-"gc - Win32 Debug" :
- $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Debug"
-
-!ENDIF
-
-# End Project Dependency
-################################################################################
-# Begin Source File
-
-SOURCE=.\test.c
-DEP_CPP_TEST_=\
- ".\config.h"\
- ".\gc.h"\
- ".\gc_hdrs.h"\
- ".\gc_priv.h"\
- ".\gc_typed.h"\
- {$(INCLUDE)}"\sys\TYPES.H"\
-
-NODEP_CPP_TEST_=\
- ".\th\PCR_Th.h"\
- ".\th\PCR_ThCrSec.h"\
- ".\th\PCR_ThCtl.h"\
-
-
-!IF "$(CFG)" == "gctest - Win32 Release"
-
-
-".\gctest\Release\test.obj" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-
-!ELSEIF "$(CFG)" == "gctest - Win32 Debug"
-
-
-".\gctest\Debug\test.obj" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-".\gctest\Debug\test.sbr" : $(SOURCE) $(DEP_CPP_TEST_) "$(INTDIR)"
-
-
-!ENDIF
-
-# End Source File
-# End Target
-################################################################################
-# Begin Target
-
-# Name "cord - Win32 Release"
-# Name "cord - Win32 Debug"
-
-!IF "$(CFG)" == "cord - Win32 Release"
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-!ENDIF
-
-################################################################################
-# Begin Project Dependency
-
-# Project_Dep_Name "gc"
-
-!IF "$(CFG)" == "cord - Win32 Release"
-
-"gc - Win32 Release" :
- $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-"gc - Win32 Debug" :
- $(MAKE) /$(MAKEFLAGS) /F ".\gc.mak" CFG="gc - Win32 Debug"
-
-!ENDIF
-
-# End Project Dependency
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de_win.c
-DEP_CPP_DE_WI=\
- ".\cord\cord.h"\
- ".\cord\de_cmds.h"\
- ".\cord\de_win.h"\
- ".\cord\private\cord_pos.h"\
-
-NODEP_CPP_DE_WI=\
- ".\cord\gc.h"\
-
-
-!IF "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de_win.obj" : $(SOURCE) $(DEP_CPP_DE_WI) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de_win.obj" : $(SOURCE) $(DEP_CPP_DE_WI) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de.c
-DEP_CPP_DE_C2e=\
- ".\cord\cord.h"\
- ".\cord\de_cmds.h"\
- ".\cord\de_win.h"\
- ".\cord\private\cord_pos.h"\
-
-NODEP_CPP_DE_C2e=\
- ".\cord\gc.h"\
-
-
-!IF "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de.obj" : $(SOURCE) $(DEP_CPP_DE_C2e) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de.obj" : $(SOURCE) $(DEP_CPP_DE_C2e) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\cordxtra.c
-DEP_CPP_CORDX=\
- ".\cord\cord.h"\
- ".\cord\ec.h"\
- ".\cord\private\cord_pos.h"\
-
-NODEP_CPP_CORDX=\
- ".\cord\gc.h"\
-
-
-!IF "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\cordxtra.obj" : $(SOURCE) $(DEP_CPP_CORDX) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\cordxtra.obj" : $(SOURCE) $(DEP_CPP_CORDX) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\cordbscs.c
-DEP_CPP_CORDB=\
- ".\cord\cord.h"\
- ".\cord\private\cord_pos.h"\
-
-NODEP_CPP_CORDB=\
- ".\cord\gc.h"\
-
-
-!IF "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\cordbscs.obj" : $(SOURCE) $(DEP_CPP_CORDB) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\cordbscs.obj" : $(SOURCE) $(DEP_CPP_CORDB) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-!ENDIF
-
-# End Source File
-################################################################################
-# Begin Source File
-
-SOURCE=.\cord\de_win.RC
-
-!IF "$(CFG)" == "cord - Win32 Release"
-
-
-".\cord\Release\de_win.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x809 /fo"$(INTDIR)/de_win.res" /i "cord" /d "NDEBUG" $(SOURCE)
-
-
-!ELSEIF "$(CFG)" == "cord - Win32 Debug"
-
-
-".\cord\Debug\de_win.res" : $(SOURCE) "$(INTDIR)"
- $(RSC) /l 0x809 /fo"$(INTDIR)/de_win.res" /i "cord" /d "_DEBUG" $(SOURCE)
-
-
-!ENDIF
-
-# End Source File
-# End Target
-# End Project
-################################################################################
diff --git a/boehm-gc/gc.man b/boehm-gc/gc.man
deleted file mode 100644
index 5409e706550..00000000000
--- a/boehm-gc/gc.man
+++ /dev/null
@@ -1,80 +0,0 @@
-.TH GC_MALLOC 1L "12 February 1996"
-.SH NAME
-GC_malloc, GC_malloc_atomic, GC_free, GC_realloc, GC_enable_incremental, GC_register_finalizer, GC_malloc_ignore_off_page, GC_malloc_atomic_ignore_off_page, GC_set_warn_proc \- Garbage collecting malloc replacement
-.SH SYNOPSIS
-#include "gc.h"
-.br
-# define malloc(n) GC_malloc(n)
-.br
-... malloc(...) ...
-.br
-.sp
-cc ... gc.a
-.LP
-.SH DESCRIPTION
-.I GC_malloc
-and
-.I GC_free
-are plug-in replacements for standard malloc and free. However,
-.I
-GC_malloc
-will attempt to reclaim inaccessible space automatically by invoking a conservative garbage collector at appropriate points. The collector traverses all data structures accessible by following pointers from the machines registers, stack(s), data, and bss segments. Inaccessible structures will be reclaimed. A machine word is considered to be a valid pointer if it is an address inside an object allocated by
-.I
-GC_malloc
-or friends.
-.LP
-See the documentation in the include file gc_cpp.h for an alternate, C++ specific interface to the garbage collector.
-.LP
-Unlike the standard implementations of malloc,
-.I
-GC_malloc
-clears the newly allocated storage.
-.I
-GC_malloc_atomic
-does not. Furthermore, it informs the collector that the resulting object will never contain any pointers, and should therefore not be scanned by the collector.
-.LP
-.I
-GC_free
-can be used to deallocate objects, but its use is optional, and generally discouraged.
-.I
-GC_realloc
-has the standard realloc semantics. It preserves pointer-free-ness.
-.I
-GC_register_finalizer
-allows for registration of functions that are invoked when an object becomes inaccessible.
-.LP
-The garbage collector tries to avoid allocating memory at locations that already appear to be referenced before allocation. (Such apparent ``pointers'' are usually large integers and the like that just happen to look like an address.) This may make it hard to allocate very large objects. An attempt to do so may generate a warning.
-.LP
-.I
-GC_malloc_ignore_off_page
-and
-.I
-GC_malloc_atomic_ignore_off_page
-inform the collector that the client code will always maintain a pointer to near the beginning of the object (within the first 512 bytes), and that pointers beyond that can be ignored by the collector. This makes it much easier for the collector to place large objects. These are recommended for large object allocation. (Objects expected to be larger than about 100KBytes should be allocated this way.)
-.LP
-It is also possible to use the collector to find storage leaks in programs destined to be run with standard malloc/free. The collector can be compiled for thread-safe operation. Unlike standard malloc, it is safe to call malloc after a previous malloc call was interrupted by a signal, provided the original malloc call is not resumed.
-.LP
-The collector may, on rare occasion produce warning messages. On UNIX machines these appear on stderr. Warning messages can be filtered, redirected, or ignored with
-.I
-GC_set_warn_proc.
-This is recommended for production code. See gc.h for details.
-.LP
-Debugging versions of many of the above routines are provided as macros. Their names are identical to the above, but consist of all capital letters. If GC_DEBUG is defined before gc.h is included, these routines do additional checking, and allow the leak detecting version of the collector to produce slightly more useful output. Without GC_DEBUG defined, they behave exactly like the lower-case versions.
-.LP
-On some machines, collection will be performed incrementally after a call to
-.I
-GC_enable_incremental.
-This may temporarily write protect pages in the heap. See the README file for more information on how this interacts with system calls that write to the heap.
-.LP
-Other facilities not discussed here include limited facilities to support incremental collection on machines without appropriate VM support, provisions for providing more explicit object layout information to the garbage collector, more direct support for ``weak'' pointers, support for ``abortable'' garbage collections during idle time, etc.
-.LP
-.SH "SEE ALSO"
-The README and gc.h files in the distribution. More detailed definitions of the functions exported by the collector are given there. (The above list is not complete.)
-.LP
-Boehm, H., and M. Weiser, "Garbage Collection in an Uncooperative Environment",
-\fISoftware Practice & Experience\fP, September 1988, pp. 807-820.
-.LP
-The malloc(3) man page.
-.LP
-.SH AUTHOR
-Hans-J. Boehm (boehm@parc.xerox.com). Some of the code was written by others, most notably Alan Demers.
diff --git a/boehm-gc/gc_alloc.h b/boehm-gc/gc_alloc.h
deleted file mode 100644
index 1d912db2f0b..00000000000
--- a/boehm-gc/gc_alloc.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * Copyright (c) 1996-1998 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-//
-// This is a C++ header file that is intended to replace the SGI STL
-// alloc.h.
-//
-// This assumes the collector has been compiled with -DATOMIC_UNCOLLECTABLE
-// and -DALL_INTERIOR_POINTERS. We also recommend
-// -DREDIRECT_MALLOC=GC_uncollectable_malloc.
-//
-// Some of this could be faster in the explicit deallocation case. In particular,
-// we spend too much time clearing objects on the free lists. That could be avoided.
-//
-// This uses template classes with static members, and hence does not work
-// with g++ 2.7.2 and earlier.
-//
-
-#include "gc.h"
-
-#ifndef GC_ALLOC_H
-
-#define GC_ALLOC_H
-#define __ALLOC_H // Prevent inclusion of the default version. Ugly.
-#define __SGI_STL_ALLOC_H
-#define __SGI_STL_INTERNAL_ALLOC_H
-
-#ifndef __ALLOC
-# define __ALLOC alloc
-#endif
-
-#include <stddef.h>
-#include <string.h>
-
-// The following is just replicated from the conventional SGI alloc.h:
-
-template<class T, class alloc>
-class simple_alloc {
-
-public:
- static T *allocate(size_t n)
- { return 0 == n? 0 : (T*) alloc::allocate(n * sizeof (T)); }
- static T *allocate(void)
- { return (T*) alloc::allocate(sizeof (T)); }
- static void deallocate(T *p, size_t n)
- { if (0 != n) alloc::deallocate(p, n * sizeof (T)); }
- static void deallocate(T *p)
- { alloc::deallocate(p, sizeof (T)); }
-};
-
-#include "gc.h"
-
-// The following need to match collector data structures.
-// We can't include gc_priv.h, since that pulls in way too much stuff.
-// This should eventually be factored out into another include file.
-
-extern "C" {
- extern void ** const GC_objfreelist_ptr;
- extern void ** const GC_aobjfreelist_ptr;
- extern void ** const GC_uobjfreelist_ptr;
- extern void ** const GC_auobjfreelist_ptr;
-
- extern void GC_incr_words_allocd(size_t words);
- extern void GC_incr_mem_freed(size_t words);
-
- extern char * GC_generic_malloc_words_small(size_t word, int kind);
-}
-
-// Object kinds; must match PTRFREE, NORMAL, UNCOLLECTABLE, and
-// AUNCOLLECTABLE in gc_priv.h.
-
-enum { GC_PTRFREE = 0, GC_NORMAL = 1, GC_UNCOLLECTABLE = 2,
- GC_AUNCOLLECTABLE = 3 };
-
-enum { GC_max_fast_bytes = 255 };
-
-enum { GC_bytes_per_word = sizeof(char *) };
-
-enum { GC_byte_alignment = 8 };
-
-enum { GC_word_alignment = GC_byte_alignment/GC_bytes_per_word };
-
-inline void * &GC_obj_link(void * p)
-{ return *(void **)p; }
-
-// Compute a number of words >= n+1 bytes.
-// The +1 allows for pointers one past the end.
-inline size_t GC_round_up(size_t n)
-{
- return ((n + GC_byte_alignment)/GC_byte_alignment)*GC_word_alignment;
-}
-
-// The same but don't allow for extra byte.
-inline size_t GC_round_up_uncollectable(size_t n)
-{
- return ((n + GC_byte_alignment - 1)/GC_byte_alignment)*GC_word_alignment;
-}
-
-template <int dummy>
-class GC_aux_template {
-public:
- // File local count of allocated words. Occasionally this is
- // added into the global count. A separate count is necessary since the
- // real one must be updated with a procedure call.
- static size_t GC_words_recently_allocd;
-
- // Same for uncollectable mmory. Not yet reflected in either
- // GC_words_recently_allocd or GC_non_gc_bytes.
- static size_t GC_uncollectable_words_recently_allocd;
-
- // Similar counter for explicitly deallocated memory.
- static size_t GC_mem_recently_freed;
-
- // Again for uncollectable memory.
- static size_t GC_uncollectable_mem_recently_freed;
-
- static void * GC_out_of_line_malloc(size_t nwords, int kind);
-};
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_words_recently_allocd = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_uncollectable_words_recently_allocd = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_mem_recently_freed = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_uncollectable_mem_recently_freed = 0;
-
-template <int dummy>
-void * GC_aux_template<dummy>::GC_out_of_line_malloc(size_t nwords, int kind)
-{
- GC_words_recently_allocd += GC_uncollectable_words_recently_allocd;
- GC_non_gc_bytes +=
- GC_bytes_per_word * GC_uncollectable_words_recently_allocd;
- GC_uncollectable_words_recently_allocd = 0;
-
- GC_mem_recently_freed += GC_uncollectable_mem_recently_freed;
- GC_non_gc_bytes -=
- GC_bytes_per_word * GC_uncollectable_mem_recently_freed;
- GC_uncollectable_mem_recently_freed = 0;
-
- GC_incr_words_allocd(GC_words_recently_allocd);
- GC_words_recently_allocd = 0;
-
- GC_incr_mem_freed(GC_mem_recently_freed);
- GC_mem_recently_freed = 0;
-
- return GC_generic_malloc_words_small(nwords, kind);
-}
-
-typedef GC_aux_template<0> GC_aux;
-
-// A fast, single-threaded, garbage-collected allocator
-// We assume the first word will be immediately overwritten.
-// In this version, deallocation is not a noop, and explicit
-// deallocation is likely to help performance.
-template <int dummy>
-class single_client_gc_alloc_template {
- public:
- static void * allocate(size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc(n);
- flh = GC_objfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_NORMAL);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_words_recently_allocd += nwords;
- return op;
- }
- static void * ptr_free_allocate(size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc_atomic(n);
- flh = GC_aobjfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_PTRFREE);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_words_recently_allocd += nwords;
- return op;
- }
- static void deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_objfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- memset((char *)p + GC_bytes_per_word, 0,
- GC_bytes_per_word * (nwords - 1));
- *flh = p;
- GC_aux::GC_mem_recently_freed += nwords;
- }
- }
- static void ptr_free_deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_aobjfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- *flh = p;
- GC_aux::GC_mem_recently_freed += nwords;
- }
- }
-};
-
-typedef single_client_gc_alloc_template<0> single_client_gc_alloc;
-
-// Once more, for uncollectable objects.
-template <int dummy>
-class single_client_alloc_template {
- public:
- static void * allocate(size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc_uncollectable(n);
- flh = GC_uobjfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_UNCOLLECTABLE);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_uncollectable_words_recently_allocd += nwords;
- return op;
- }
- static void * ptr_free_allocate(size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc_atomic_uncollectable(n);
- flh = GC_auobjfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_AUNCOLLECTABLE);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_uncollectable_words_recently_allocd += nwords;
- return op;
- }
- static void deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_uobjfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- *flh = p;
- GC_aux::GC_uncollectable_mem_recently_freed += nwords;
- }
- }
- static void ptr_free_deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_auobjfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- *flh = p;
- GC_aux::GC_uncollectable_mem_recently_freed += nwords;
- }
- }
-};
-
-typedef single_client_alloc_template<0> single_client_alloc;
-
-template < int dummy >
-class gc_alloc_template {
- public:
- static void * allocate(size_t n) { return GC_malloc(n); }
- static void * ptr_free_allocate(size_t n)
- { return GC_malloc_atomic(n); }
- static void deallocate(void *, size_t) { }
- static void ptr_free_deallocate(void *, size_t) { }
-};
-
-typedef gc_alloc_template < 0 > gc_alloc;
-
-template < int dummy >
-class alloc_template {
- public:
- static void * allocate(size_t n) { return GC_malloc_uncollectable(n); }
- static void * ptr_free_allocate(size_t n)
- { return GC_malloc_atomic_uncollectable(n); }
- static void deallocate(void *p, size_t) { GC_free(p); }
- static void ptr_free_deallocate(void *p, size_t) { GC_free(p); }
-};
-
-typedef alloc_template < 0 > alloc;
-
-#ifdef _SGI_SOURCE
-
-// We want to specialize simple_alloc so that it does the right thing
-// for all pointerfree types. At the moment there is no portable way to
-// even approximate that. The following approximation should work for
-// SGI compilers, and perhaps some others.
-
-# define __GC_SPECIALIZE(T,alloc) \
-class simple_alloc<T, alloc> { \
-public: \
- static T *allocate(size_t n) \
- { return 0 == n? 0 : \
- (T*) alloc::ptr_free_allocate(n * sizeof (T)); } \
- static T *allocate(void) \
- { return (T*) alloc::ptr_free_allocate(sizeof (T)); } \
- static void deallocate(T *p, size_t n) \
- { if (0 != n) alloc::ptr_free_deallocate(p, n * sizeof (T)); } \
- static void deallocate(T *p) \
- { alloc::ptr_free_deallocate(p, sizeof (T)); } \
-};
-
-__GC_SPECIALIZE(char, gc_alloc)
-__GC_SPECIALIZE(int, gc_alloc)
-__GC_SPECIALIZE(unsigned, gc_alloc)
-__GC_SPECIALIZE(float, gc_alloc)
-__GC_SPECIALIZE(double, gc_alloc)
-
-__GC_SPECIALIZE(char, alloc)
-__GC_SPECIALIZE(int, alloc)
-__GC_SPECIALIZE(unsigned, alloc)
-__GC_SPECIALIZE(float, alloc)
-__GC_SPECIALIZE(double, alloc)
-
-__GC_SPECIALIZE(char, single_client_gc_alloc)
-__GC_SPECIALIZE(int, single_client_gc_alloc)
-__GC_SPECIALIZE(unsigned, single_client_gc_alloc)
-__GC_SPECIALIZE(float, single_client_gc_alloc)
-__GC_SPECIALIZE(double, single_client_gc_alloc)
-
-__GC_SPECIALIZE(char, single_client_alloc)
-__GC_SPECIALIZE(int, single_client_alloc)
-__GC_SPECIALIZE(unsigned, single_client_alloc)
-__GC_SPECIALIZE(float, single_client_alloc)
-__GC_SPECIALIZE(double, single_client_alloc)
-
-#ifdef __STL_USE_STD_ALLOCATORS
-
-???copy stuff from stl_alloc.h or remove it to a different file ???
-
-#endif /* __STL_USE_STD_ALLOCATORS */
-
-#endif /* _SGI_SOURCE */
-
-#endif /* GC_ALLOC_H */
diff --git a/boehm-gc/gc_cpp.cc b/boehm-gc/gc_cpp.cc
deleted file mode 100644
index a766a01a328..00000000000
--- a/boehm-gc/gc_cpp.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-/*************************************************************************
-Copyright (c) 1994 by Xerox Corporation. All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
- Last modified on Sat Nov 19 19:31:14 PST 1994 by ellis
- on Sat Jun 8 15:10:00 PST 1994 by boehm
-
-Permission is hereby granted to copy this code for any purpose,
-provided the above notices are retained on all copies.
-
-This implementation module for gc_c++.h provides an implementation of
-the global operators "new" and "delete" that calls the Boehm
-allocator. All objects allocated by this implementation will be
-non-collectable but part of the root set of the collector.
-
-You should ensure (using implementation-dependent techniques) that the
-linker finds this module before the library that defines the default
-built-in "new" and "delete".
-
-Authors: John R. Ellis and Jesse Hull
-
-**************************************************************************/
-/* Boehm, December 20, 1994 7:26 pm PST */
-
-#include "gc_cpp.h"
-
-void* operator new( size_t size ) {
- return GC_MALLOC_UNCOLLECTABLE( size );}
-
-void operator delete( void* obj ) {
- GC_FREE( obj );}
-
-
-#ifdef OPERATOR_NEW_ARRAY
-
-void* operator new[]( size_t size ) {
- return GC_MALLOC_UNCOLLECTABLE( size );}
-
-void operator delete[]( void* obj ) {
- GC_FREE( obj );}
-
-#endif /* OPERATOR_NEW_ARRAY */
-
-
diff --git a/boehm-gc/gc_cpp.h b/boehm-gc/gc_cpp.h
deleted file mode 100644
index e2f456fb526..00000000000
--- a/boehm-gc/gc_cpp.h
+++ /dev/null
@@ -1,287 +0,0 @@
-#ifndef GC_CPP_H
-#define GC_CPP_H
-/****************************************************************************
-Copyright (c) 1994 by Xerox Corporation. All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program for any
-purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is
-granted, provided the above notices are retained, and a notice that
-the code was modified is included with the above copyright notice.
-****************************************************************************
-
-C++ Interface to the Boehm Collector
-
- John R. Ellis and Jesse Hull
- Last modified on Mon Jul 24 15:43:42 PDT 1995 by ellis
-
-This interface provides access to the Boehm collector. It provides
-basic facilities similar to those described in "Safe, Efficient
-Garbage Collection for C++", by John R. Elis and David L. Detlefs
-(ftp.parc.xerox.com:/pub/ellis/gc).
-
-All heap-allocated objects are either "collectable" or
-"uncollectable". Programs must explicitly delete uncollectable
-objects, whereas the garbage collector will automatically delete
-collectable objects when it discovers them to be inaccessible.
-Collectable objects may freely point at uncollectable objects and vice
-versa.
-
-Objects allocated with the built-in "::operator new" are uncollectable.
-
-Objects derived from class "gc" are collectable. For example:
-
- class A: public gc {...};
- A* a = new A; // a is collectable.
-
-Collectable instances of non-class types can be allocated using the GC
-placement:
-
- typedef int A[ 10 ];
- A* a = new (GC) A;
-
-Uncollectable instances of classes derived from "gc" can be allocated
-using the NoGC placement:
-
- class A: public gc {...};
- A* a = new (NoGC) A; // a is uncollectable.
-
-Both uncollectable and collectable objects can be explicitly deleted
-with "delete", which invokes an object's destructors and frees its
-storage immediately.
-
-A collectable object may have a clean-up function, which will be
-invoked when the collector discovers the object to be inaccessible.
-An object derived from "gc_cleanup" or containing a member derived
-from "gc_cleanup" has a default clean-up function that invokes the
-object's destructors. Explicit clean-up functions may be specified as
-an additional placement argument:
-
- A* a = ::new (GC, MyCleanup) A;
-
-An object is considered "accessible" by the collector if it can be
-reached by a path of pointers from static variables, automatic
-variables of active functions, or from some object with clean-up
-enabled; pointers from an object to itself are ignored.
-
-Thus, if objects A and B both have clean-up functions, and A points at
-B, B is considered accessible. After A's clean-up is invoked and its
-storage released, B will then become inaccessible and will have its
-clean-up invoked. If A points at B and B points to A, forming a
-cycle, then that's considered a storage leak, and neither will be
-collectable. See the interface gc.h for low-level facilities for
-handling such cycles of objects with clean-up.
-
-The collector cannot guarrantee that it will find all inaccessible
-objects. In practice, it finds almost all of them.
-
-
-Cautions:
-
-1. Be sure the collector has been augmented with "make c++".
-
-2. If your compiler supports the new "operator new[]" syntax, then
-add -DOPERATOR_NEW_ARRAY to the Makefile.
-
-If your compiler doesn't support "operator new[]", beware that an
-array of type T, where T is derived from "gc", may or may not be
-allocated as a collectable object (it depends on the compiler). Use
-the explicit GC placement to make the array collectable. For example:
-
- class A: public gc {...};
- A* a1 = new A[ 10 ]; // collectable or uncollectable?
- A* a2 = new (GC) A[ 10 ]; // collectable
-
-3. The destructors of collectable arrays of objects derived from
-"gc_cleanup" will not be invoked properly. For example:
-
- class A: public gc_cleanup {...};
- A* a = new (GC) A[ 10 ]; // destructors not invoked correctly
-
-Typically, only the destructor for the first element of the array will
-be invoked when the array is garbage-collected. To get all the
-destructors of any array executed, you must supply an explicit
-clean-up function:
-
- A* a = new (GC, MyCleanUp) A[ 10 ];
-
-(Implementing clean-up of arrays correctly, portably, and in a way
-that preserves the correct exception semantics requires a language
-extension, e.g. the "gc" keyword.)
-
-4. Compiler bugs:
-
-* Solaris 2's CC (SC3.0) doesn't implement t->~T() correctly, so the
-destructors of classes derived from gc_cleanup won't be invoked.
-You'll have to explicitly register a clean-up function with
-new-placement syntax.
-
-* Evidently cfront 3.0 does not allow destructors to be explicitly
-invoked using the ANSI-conforming syntax t->~T(). If you're using
-cfront 3.0, you'll have to comment out the class gc_cleanup, which
-uses explicit invocation.
-
-****************************************************************************/
-
-#include "gc.h"
-
-#ifndef THINK_CPLUS
-#define _cdecl
-#endif
-
-#if ! defined( OPERATOR_NEW_ARRAY ) \
- && (__BORLANDC__ >= 0x450 || (__GNUC__ >= 2 && __GNUC_MINOR__ >= 6))
-# define OPERATOR_NEW_ARRAY
-#endif
-
-enum GCPlacement {GC, NoGC, PointerFreeGC};
-
-class gc {public:
- inline void* operator new( size_t size );
- inline void* operator new( size_t size, GCPlacement gcp );
- inline void operator delete( void* obj );
-
-#ifdef OPERATOR_NEW_ARRAY
- inline void* operator new[]( size_t size );
- inline void* operator new[]( size_t size, GCPlacement gcp );
- inline void operator delete[]( void* obj );
-#endif /* OPERATOR_NEW_ARRAY */
- };
- /*
- Instances of classes derived from "gc" will be allocated in the
- collected heap by default, unless an explicit NoGC placement is
- specified. */
-
-class gc_cleanup: virtual public gc {public:
- inline gc_cleanup();
- inline virtual ~gc_cleanup();
-private:
- inline static void _cdecl cleanup( void* obj, void* clientData );};
- /*
- Instances of classes derived from "gc_cleanup" will be allocated
- in the collected heap by default. When the collector discovers an
- inaccessible object derived from "gc_cleanup" or containing a
- member derived from "gc_cleanup", its destructors will be
- invoked. */
-
-extern "C" {typedef void (*GCCleanUpFunc)( void* obj, void* clientData );}
-
-inline void* operator new(
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup = 0,
- void* clientData = 0 );
- /*
- Allocates a collectable or uncollected object, according to the
- value of "gcp".
-
- For collectable objects, if "cleanup" is non-null, then when the
- allocated object "obj" becomes inaccessible, the collector will
- invoke the function "cleanup( obj, clientData )" but will not
- invoke the object's destructors. It is an error to explicitly
- delete an object allocated with a non-null "cleanup".
-
- It is an error to specify a non-null "cleanup" with NoGC or for
- classes derived from "gc_cleanup" or containing members derived
- from "gc_cleanup". */
-
-#ifdef OPERATOR_NEW_ARRAY
-
-inline void* operator new[](
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup = 0,
- void* clientData = 0 );
- /*
- The operator new for arrays, identical to the above. */
-
-#endif /* OPERATOR_NEW_ARRAY */
-
-/****************************************************************************
-
-Inline implementation
-
-****************************************************************************/
-
-inline void* gc::operator new( size_t size ) {
- return GC_MALLOC( size );}
-
-inline void* gc::operator new( size_t size, GCPlacement gcp ) {
- if (gcp == GC)
- return GC_MALLOC( size );
- else
- return GC_MALLOC_UNCOLLECTABLE( size );}
-
-inline void gc::operator delete( void* obj ) {
- GC_FREE( obj );}
-
-
-#ifdef OPERATOR_NEW_ARRAY
-
-inline void* gc::operator new[]( size_t size ) {
- return gc::operator new( size );}
-
-inline void* gc::operator new[]( size_t size, GCPlacement gcp ) {
- return gc::operator new( size, gcp );}
-
-inline void gc::operator delete[]( void* obj ) {
- gc::operator delete( obj );}
-
-#endif /* OPERATOR_NEW_ARRAY */
-
-
-inline gc_cleanup::~gc_cleanup() {
- GC_REGISTER_FINALIZER_IGNORE_SELF( this, 0, 0, 0, 0 );}
-
-inline void gc_cleanup::cleanup( void* obj, void* displ ) {
- ((gc_cleanup*) ((char*) obj + (ptrdiff_t) displ))->~gc_cleanup();}
-
-inline gc_cleanup::gc_cleanup() {
- GC_finalization_proc oldProc;
- void* oldData;
- void* base = GC_base( (void *) this );
- if (0 == base) return;
- GC_REGISTER_FINALIZER_IGNORE_SELF(
- base, cleanup, (void*) ((char*) this - (char*) base),
- &oldProc, &oldData );
- if (0 != oldProc) {
- GC_REGISTER_FINALIZER_IGNORE_SELF( base, oldProc, oldData, 0, 0 );}}
-
-inline void* operator new(
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup,
- void* clientData )
-{
- void* obj;
-
- if (gcp == GC) {
- obj = GC_MALLOC( size );
- if (cleanup != 0)
- GC_REGISTER_FINALIZER_IGNORE_SELF(
- obj, cleanup, clientData, 0, 0 );}
- else if (gcp == PointerFreeGC) {
- obj = GC_MALLOC_ATOMIC( size );}
- else {
- obj = GC_MALLOC_UNCOLLECTABLE( size );};
- return obj;}
-
-
-#ifdef OPERATOR_NEW_ARRAY
-
-inline void* operator new[](
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup,
- void* clientData )
-{
- return ::operator new( size, gcp, cleanup, clientData );}
-
-#endif /* OPERATOR_NEW_ARRAY */
-
-
-#endif /* GC_CPP_H */
-
diff --git a/boehm-gc/gc_hdrs.h b/boehm-gc/gc_hdrs.h
deleted file mode 100644
index 2f2d1bf9b8a..00000000000
--- a/boehm-gc/gc_hdrs.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, July 11, 1995 11:54 am PDT */
-# ifndef GC_HEADERS_H
-# define GC_HEADERS_H
-typedef struct hblkhdr hdr;
-
-# if CPP_WORDSZ != 32 && CPP_WORDSZ < 36
- --> Get a real machine.
-# endif
-
-/*
- * The 2 level tree data structure that is used to find block headers.
- * If there are more than 32 bits in a pointer, the top level is a hash
- * table.
- */
-
-# if CPP_WORDSZ > 32
-# define HASH_TL
-# endif
-
-/* Define appropriate out-degrees for each of the two tree levels */
-# ifdef SMALL_CONFIG
-# define LOG_BOTTOM_SZ 11
- /* Keep top index size reasonable with smaller blocks. */
-# else
-# define LOG_BOTTOM_SZ 10
-# endif
-# ifndef HASH_TL
-# define LOG_TOP_SZ (WORDSZ - LOG_BOTTOM_SZ - LOG_HBLKSIZE)
-# else
-# define LOG_TOP_SZ 11
-# endif
-# define TOP_SZ (1 << LOG_TOP_SZ)
-# define BOTTOM_SZ (1 << LOG_BOTTOM_SZ)
-
-typedef struct bi {
- hdr * index[BOTTOM_SZ];
- /*
- * The bottom level index contains one of three kinds of values:
- * 0 means we're not responsible for this block.
- * 1 < (long)X <= MAX_JUMP means the block starts at least
- * X * HBLKSIZE bytes before the current address.
- * A valid pointer points to a hdr structure. (The above can't be
- * valid pointers due to the GET_MEM return convention.)
- */
- struct bi * asc_link; /* All indices are linked in */
- /* ascending order. */
- word key; /* high order address bits. */
-# ifdef HASH_TL
- struct bi * hash_link; /* Hash chain link. */
-# endif
-} bottom_index;
-
-/* extern bottom_index GC_all_nils; - really part of GC_arrays */
-
-/* extern bottom_index * GC_top_index []; - really part of GC_arrays */
- /* Each entry points to a bottom_index. */
- /* On a 32 bit machine, it points to */
- /* the index for a set of high order */
- /* bits equal to the index. For longer */
- /* addresses, we hash the high order */
- /* bits to compute the index in */
- /* GC_top_index, and each entry points */
- /* to a hash chain. */
- /* The last entry in each chain is */
- /* GC_all_nils. */
-
-
-# define MAX_JUMP (HBLKSIZE - 1)
-
-# define HDR_FROM_BI(bi, p) \
- ((bi)->index[((word)(p) >> LOG_HBLKSIZE) & (BOTTOM_SZ - 1)])
-# ifndef HASH_TL
-# define BI(p) (GC_top_index \
- [(word)(p) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE)])
-# define HDR_INNER(p) HDR_FROM_BI(BI(p),p)
-# ifdef SMALL_CONFIG
-# define HDR(p) GC_find_header((ptr_t)(p))
-# else
-# define HDR(p) HDR_INNER(p)
-# endif
-# define GET_BI(p, bottom_indx) (bottom_indx) = BI(p)
-# define GET_HDR(p, hhdr) (hhdr) = HDR(p)
-# define SET_HDR(p, hhdr) HDR_INNER(p) = (hhdr)
-# define GET_HDR_ADDR(p, ha) (ha) = &(HDR_INNER(p))
-# else /* hash */
-/* Hash function for tree top level */
-# define TL_HASH(hi) ((hi) & (TOP_SZ - 1))
-/* Set bottom_indx to point to the bottom index for address p */
-# define GET_BI(p, bottom_indx) \
- { \
- register word hi = \
- (word)(p) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE); \
- register bottom_index * _bi = GC_top_index[TL_HASH(hi)]; \
- \
- while (_bi -> key != hi && _bi != GC_all_nils) \
- _bi = _bi -> hash_link; \
- (bottom_indx) = _bi; \
- }
-# define GET_HDR_ADDR(p, ha) \
- { \
- register bottom_index * bi; \
- \
- GET_BI(p, bi); \
- (ha) = &(HDR_FROM_BI(bi, p)); \
- }
-# define GET_HDR(p, hhdr) { register hdr ** _ha; GET_HDR_ADDR(p, _ha); \
- (hhdr) = *_ha; }
-# define SET_HDR(p, hhdr) { register hdr ** _ha; GET_HDR_ADDR(p, _ha); \
- *_ha = (hhdr); }
-# define HDR(p) GC_find_header((ptr_t)(p))
-# endif
-
-/* Is the result a forwarding address to someplace closer to the */
-/* beginning of the block or NIL? */
-# define IS_FORWARDING_ADDR_OR_NIL(hhdr) ((unsigned long) (hhdr) <= MAX_JUMP)
-
-/* Get an HBLKSIZE aligned address closer to the beginning of the block */
-/* h. Assumes hhdr == HDR(h) and IS_FORWARDING_ADDR(hhdr). */
-# define FORWARDED_ADDR(h, hhdr) ((struct hblk *)(h) - (unsigned long)(hhdr))
-# endif /* GC_HEADERS_H */
diff --git a/boehm-gc/gc_mark.h b/boehm-gc/gc_mark.h
deleted file mode 100644
index ade98a91857..00000000000
--- a/boehm-gc/gc_mark.h
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-/* Boehm, November 7, 1994 4:56 pm PST */
-
-/*
- * Declarations of mark stack. Needed by marker and client supplied mark
- * routines. To be included after gc_priv.h.
- */
-#ifndef GC_MARK_H
-# define GC_MARK_H
-
-/* A client supplied mark procedure. Returns new mark stack pointer. */
-/* Primary effect should be to push new entries on the mark stack. */
-/* Mark stack pointer values are passed and returned explicitly. */
-/* Global variables decribing mark stack are not necessarily valid. */
-/* (This usually saves a few cycles by keeping things in registers.) */
-/* Assumed to scan about PROC_BYTES on average. If it needs to do */
-/* much more work than that, it should do it in smaller pieces by */
-/* pushing itself back on the mark stack. */
-/* Note that it should always do some work (defined as marking some */
-/* objects) before pushing more than one entry on the mark stack. */
-/* This is required to ensure termination in the event of mark stack */
-/* overflows. */
-/* This procedure is always called with at least one empty entry on the */
-/* mark stack. */
-/* Currently we require that mark procedures look for pointers in a */
-/* subset of the places the conservative marker would. It must be safe */
-/* to invoke the normal mark procedure instead. */
-# define PROC_BYTES 100
-typedef struct ms_entry * (*mark_proc)(/* word * addr, mark_stack_ptr,
- mark_stack_limit, env */);
-
-# define LOG_MAX_MARK_PROCS 6
-# define MAX_MARK_PROCS (1 << LOG_MAX_MARK_PROCS)
-extern mark_proc GC_mark_procs[MAX_MARK_PROCS];
-extern word GC_n_mark_procs;
-
-/* Object descriptors on mark stack or in objects. Low order two */
-/* bits are tags distinguishing among the following 4 possibilities */
-/* for the high order 30 bits. */
-#define DS_TAG_BITS 2
-#define DS_TAGS ((1 << DS_TAG_BITS) - 1)
-#define DS_LENGTH 0 /* The entire word is a length in bytes that */
- /* must be a multiple of 4. */
-#define DS_BITMAP 1 /* 30 bits are a bitmap describing pointer */
- /* fields. The msb is 1 iff the first word */
- /* is a pointer. */
- /* (This unconventional ordering sometimes */
- /* makes the marker slightly faster.) */
- /* Zeroes indicate definite nonpointers. Ones */
- /* indicate possible pointers. */
- /* Only usable if pointers are word aligned. */
-# define BITMAP_BITS (WORDSZ - DS_TAG_BITS)
-#define DS_PROC 2
- /* The objects referenced by this object can be */
- /* pushed on the mark stack by invoking */
- /* PROC(descr). ENV(descr) is passed as the */
- /* last argument. */
-# define PROC(descr) \
- (GC_mark_procs[((descr) >> DS_TAG_BITS) & (MAX_MARK_PROCS-1)])
-# define ENV(descr) \
- ((descr) >> (DS_TAG_BITS + LOG_MAX_MARK_PROCS))
-# define MAX_ENV \
- (((word)1 << (WORDSZ - DS_TAG_BITS - LOG_MAX_MARK_PROCS)) - 1)
-# define MAKE_PROC(proc_index, env) \
- (((((env) << LOG_MAX_MARK_PROCS) | (proc_index)) << DS_TAG_BITS) \
- | DS_PROC)
-#define DS_PER_OBJECT 3 /* The real descriptor is at the */
- /* byte displacement from the beginning of the */
- /* object given by descr & ~DS_TAGS */
-
-typedef struct ms_entry {
- word * mse_start; /* First word of object */
- word mse_descr; /* Descriptor; low order two bits are tags, */
- /* identifying the upper 30 bits as one of the */
- /* following: */
-} mse;
-
-extern word GC_mark_stack_size;
-
-extern mse * GC_mark_stack_top;
-
-extern mse * GC_mark_stack;
-
-word GC_find_start();
-
-mse * GC_signal_mark_stack_overflow();
-
-# ifdef GATHERSTATS
-# define ADD_TO_ATOMIC(sz) GC_atomic_in_use += (sz)
-# define ADD_TO_COMPOSITE(sz) GC_composite_in_use += (sz)
-# else
-# define ADD_TO_ATOMIC(sz)
-# define ADD_TO_COMPOSITE(sz)
-# endif
-
-/* Push the object obj with corresponding heap block header hhdr onto */
-/* the mark stack. */
-# define PUSH_OBJ(obj, hhdr, mark_stack_top, mark_stack_limit) \
-{ \
- register word _descr = (hhdr) -> hb_descr; \
- \
- if (_descr == 0) { \
- ADD_TO_ATOMIC((hhdr) -> hb_sz); \
- } else { \
- ADD_TO_COMPOSITE((hhdr) -> hb_sz); \
- mark_stack_top++; \
- if (mark_stack_top >= mark_stack_limit) { \
- mark_stack_top = GC_signal_mark_stack_overflow(mark_stack_top); \
- } \
- mark_stack_top -> mse_start = (obj); \
- mark_stack_top -> mse_descr = _descr; \
- } \
-}
-
-#ifdef PRINT_BLACK_LIST
-# define GC_FIND_START(current, hhdr, source) \
- GC_find_start(current, hhdr, source)
-#else
-# define GC_FIND_START(current, hhdr, source) \
- GC_find_start(current, hhdr)
-#endif
-
-/* Push the contents of current onto the mark stack if it is a valid */
-/* ptr to a currently unmarked object. Mark it. */
-/* If we assumed a standard-conforming compiler, we could probably */
-/* generate the exit_label transparently. */
-# define PUSH_CONTENTS(current, mark_stack_top, mark_stack_limit, \
- source, exit_label) \
-{ \
- register int displ; /* Displacement in block; first bytes, then words */ \
- register hdr * hhdr; \
- register map_entry_type map_entry; \
- \
- GET_HDR(current,hhdr); \
- if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) { \
- current = GC_FIND_START(current, hhdr, (word)source); \
- if (current == 0) goto exit_label; \
- hhdr = HDR(current); \
- } \
- displ = HBLKDISPL(current); \
- map_entry = MAP_ENTRY((hhdr -> hb_map), displ); \
- if (map_entry == OBJ_INVALID) { \
- GC_ADD_TO_BLACK_LIST_NORMAL(current, source); goto exit_label; \
- } \
- displ = BYTES_TO_WORDS(displ); \
- displ -= map_entry; \
- \
- { \
- register word * mark_word_addr = hhdr -> hb_marks + divWORDSZ(displ); \
- register word mark_word = *mark_word_addr; \
- register word mark_bit = (word)1 << modWORDSZ(displ); \
- \
- if (mark_word & mark_bit) { \
- /* Mark bit is already set */ \
- goto exit_label; \
- } \
- *mark_word_addr = mark_word | mark_bit; \
- } \
- PUSH_OBJ(((word *)(HBLKPTR(current)) + displ), hhdr, \
- mark_stack_top, mark_stack_limit) \
- exit_label: ; \
-}
-
-
-/*
- * Push a single value onto mark stack. Mark from the object pointed to by p.
- * GC_push_one is normally called by GC_push_regs, and thus must be defined.
- * P is considered valid even if it is an interior pointer.
- * Previously marked objects are not pushed. Hence we make progress even
- * if the mark stack overflows.
- */
-# define GC_PUSH_ONE_STACK(p) \
- if ((ptr_t)(p) >= GC_least_plausible_heap_addr \
- && (ptr_t)(p) < GC_greatest_plausible_heap_addr) { \
- GC_push_one_checked(p,TRUE); \
- }
-
-/*
- * As above, but interior pointer recognition as for
- * normal for heap pointers.
- */
-# ifdef ALL_INTERIOR_POINTERS
-# define AIP TRUE
-# else
-# define AIP FALSE
-# endif
-# define GC_PUSH_ONE_HEAP(p) \
- if ((ptr_t)(p) >= GC_least_plausible_heap_addr \
- && (ptr_t)(p) < GC_greatest_plausible_heap_addr) { \
- GC_push_one_checked(p,AIP); \
- }
-
-/*
- * Mark from one finalizable object using the specified
- * mark proc. May not mark the object pointed to by
- * real_ptr. That is the job of the caller, if appropriate
- */
-# define GC_MARK_FO(real_ptr, mark_proc) \
-{ \
- (*(mark_proc))(real_ptr); \
- while (!GC_mark_stack_empty()) GC_mark_from_mark_stack(); \
- if (GC_mark_state != MS_NONE) { \
- GC_set_mark_bit(real_ptr); \
- while (!GC_mark_some()); \
- } \
-}
-
-extern GC_bool GC_mark_stack_too_small;
- /* We need a larger mark stack. May be */
- /* set by client supplied mark routines.*/
-
-typedef int mark_state_t; /* Current state of marking, as follows:*/
- /* Used to remember where we are during */
- /* concurrent marking. */
-
- /* We say something is dirty if it was */
- /* written since the last time we */
- /* retrieved dirty bits. We say it's */
- /* grungy if it was marked dirty in the */
- /* last set of bits we retrieved. */
-
- /* Invariant I: all roots and marked */
- /* objects p are either dirty, or point */
- /* objects q that are either marked or */
- /* a pointer to q appears in a range */
- /* on the mark stack. */
-
-# define MS_NONE 0 /* No marking in progress. I holds. */
- /* Mark stack is empty. */
-
-# define MS_PUSH_RESCUERS 1 /* Rescuing objects are currently */
- /* being pushed. I holds, except */
- /* that grungy roots may point to */
- /* unmarked objects, as may marked */
- /* grungy objects above scan_ptr. */
-
-# define MS_PUSH_UNCOLLECTABLE 2
- /* I holds, except that marked */
- /* uncollectable objects above scan_ptr */
- /* may point to unmarked objects. */
- /* Roots may point to unmarked objects */
-
-# define MS_ROOTS_PUSHED 3 /* I holds, mark stack may be nonempty */
-
-# define MS_PARTIALLY_INVALID 4 /* I may not hold, e.g. because of M.S. */
- /* overflow. However marked heap */
- /* objects below scan_ptr point to */
- /* marked or stacked objects. */
-
-# define MS_INVALID 5 /* I may not hold. */
-
-extern mark_state_t GC_mark_state;
-
-#endif /* GC_MARK_H */
-
diff --git a/boehm-gc/gc_priv.h b/boehm-gc/gc_priv.h
deleted file mode 100644
index 888e46e1e60..00000000000
--- a/boehm-gc/gc_priv.h
+++ /dev/null
@@ -1,1569 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 16, 1996 2:30 pm PST */
-
-
-# ifndef GC_PRIVATE_H
-# define GC_PRIVATE_H
-
-#if defined(mips) && defined(SYSTYPE_BSD) && defined(sony_news)
- /* sony RISC NEWS, NEWSOS 4 */
-# define BSD_TIME
-/* typedef long ptrdiff_t; -- necessary on some really old systems */
-#endif
-
-#if defined(mips) && defined(SYSTYPE_BSD43)
- /* MIPS RISCOS 4 */
-# define BSD_TIME
-#endif
-
-#ifdef BSD_TIME
-# include <sys/types.h>
-# include <sys/time.h>
-# include <sys/resource.h>
-#endif /* BSD_TIME */
-
-# ifndef GC_H
-# include "gc.h"
-# endif
-
-typedef GC_word word;
-typedef GC_signed_word signed_word;
-
-# ifndef CONFIG_H
-# include "config.h"
-# endif
-
-# ifndef HEADERS_H
-# include "gc_hdrs.h"
-# endif
-
-typedef int GC_bool;
-# define TRUE 1
-# define FALSE 0
-
-typedef char * ptr_t; /* A generic pointer to which we can add */
- /* byte displacements. */
- /* Preferably identical to caddr_t, if it */
- /* exists. */
-
-#if defined(__STDC__)
-# include <stdlib.h>
-# if !(defined( sony_news ) )
-# include <stddef.h>
-# endif
-# define VOLATILE volatile
-# define CONST const
-#else
-# ifdef MSWIN32
-# include <stdlib.h>
-# endif
-# define VOLATILE
-# define CONST
-#endif
-
-#ifdef AMIGA
-# define GC_FAR __far
-#else
-# define GC_FAR
-#endif
-
-/*********************************/
-/* */
-/* Definitions for conservative */
-/* collector */
-/* */
-/*********************************/
-
-/*********************************/
-/* */
-/* Easily changeable parameters */
-/* */
-/*********************************/
-
-#define STUBBORN_ALLOC /* Define stubborn allocation primitives */
-#if defined(SRC_M3) || defined(SMALL_CONFIG)
-# undef STUBBORN_ALLOC
-#endif
-
-
-/* #define ALL_INTERIOR_POINTERS */
- /* Forces all pointers into the interior of an */
- /* object to be considered valid. Also causes the */
- /* sizes of all objects to be inflated by at least */
- /* one byte. This should suffice to guarantee */
- /* that in the presence of a compiler that does */
- /* not perform garbage-collector-unsafe */
- /* optimizations, all portable, strictly ANSI */
- /* conforming C programs should be safely usable */
- /* with malloc replaced by GC_malloc and free */
- /* calls removed. There are several disadvantages: */
- /* 1. There are probably no interesting, portable, */
- /* strictly ANSI conforming C programs. */
- /* 2. This option makes it hard for the collector */
- /* to allocate space that is not ``pointed to'' */
- /* by integers, etc. Under SunOS 4.X with a */
- /* statically linked libc, we empiricaly */
- /* observed that it would be difficult to */
- /* allocate individual objects larger than 100K. */
- /* Even if only smaller objects are allocated, */
- /* more swap space is likely to be needed. */
- /* Fortunately, much of this will never be */
- /* touched. */
- /* If you can easily avoid using this option, do. */
- /* If not, try to keep individual objects small. */
-
-#define PRINTSTATS /* Print garbage collection statistics */
- /* For less verbose output, undefine in reclaim.c */
-
-#define PRINTTIMES /* Print the amount of time consumed by each garbage */
- /* collection. */
-
-#define PRINTBLOCKS /* Print object sizes associated with heap blocks, */
- /* whether the objects are atomic or composite, and */
- /* whether or not the block was found to be empty */
- /* during the reclaim phase. Typically generates */
- /* about one screenful per garbage collection. */
-#undef PRINTBLOCKS
-
-#ifdef SILENT
-# ifdef PRINTSTATS
-# undef PRINTSTATS
-# endif
-# ifdef PRINTTIMES
-# undef PRINTTIMES
-# endif
-# ifdef PRINTNBLOCKS
-# undef PRINTNBLOCKS
-# endif
-#endif
-
-#if defined(PRINTSTATS) && !defined(GATHERSTATS)
-# define GATHERSTATS
-#endif
-
-#ifdef FINALIZE_ON_DEMAND
-# define GC_INVOKE_FINALIZERS()
-#else
-# define GC_INVOKE_FINALIZERS() (void)GC_invoke_finalizers()
-#endif
-
-#define MERGE_SIZES /* Round up some object sizes, so that fewer distinct */
- /* free lists are actually maintained. This applies */
- /* only to the top level routines in misc.c, not to */
- /* user generated code that calls GC_allocobj and */
- /* GC_allocaobj directly. */
- /* Slows down average programs slightly. May however */
- /* substantially reduce fragmentation if allocation */
- /* request sizes are widely scattered. */
- /* May save significant amounts of space for obj_map */
- /* entries. */
-
-#ifndef OLD_BLOCK_ALLOC
- /* Macros controlling large block allocation strategy. */
-# define EXACT_FIRST /* Make a complete pass through the large object */
- /* free list before splitting a block */
-# define PRESERVE_LAST /* Do not divide last allocated heap segment */
- /* unless we would otherwise need to expand the */
- /* heap. */
-#endif
-
-/* ALIGN_DOUBLE requires MERGE_SIZES at present. */
-# if defined(ALIGN_DOUBLE) && !defined(MERGE_SIZES)
-# define MERGE_SIZES
-# endif
-
-#if defined(ALL_INTERIOR_POINTERS) && !defined(DONT_ADD_BYTE_AT_END)
-# define ADD_BYTE_AT_END
-#endif
-
-
-# ifndef LARGE_CONFIG
-# define MINHINCR 16 /* Minimum heap increment, in blocks of HBLKSIZE */
- /* Must be multiple of largest page size. */
-# define MAXHINCR 512 /* Maximum heap increment, in blocks */
-# else
-# define MINHINCR 64
-# define MAXHINCR 4096
-# endif
-
-# define TIME_LIMIT 50 /* We try to keep pause times from exceeding */
- /* this by much. In milliseconds. */
-
-# define BL_LIMIT GC_black_list_spacing
- /* If we need a block of N bytes, and we have */
- /* a block of N + BL_LIMIT bytes available, */
- /* and N > BL_LIMIT, */
- /* but all possible positions in it are */
- /* blacklisted, we just use it anyway (and */
- /* print a warning, if warnings are enabled). */
- /* This risks subsequently leaking the block */
- /* due to a false reference. But not using */
- /* the block risks unreasonable immediate */
- /* heap growth. */
-
-/*********************************/
-/* */
-/* Stack saving for debugging */
-/* */
-/*********************************/
-
-#ifdef SAVE_CALL_CHAIN
-
-/*
- * Number of frames and arguments to save in objects allocated by
- * debugging allocator.
- */
-# define NFRAMES 6 /* Number of frames to save. Even for */
- /* alignment reasons. */
-# define NARGS 2 /* Mumber of arguments to save for each call. */
-
-# define NEED_CALLINFO
-
-/* Fill in the pc and argument information for up to NFRAMES of my */
-/* callers. Ignore my frame and my callers frame. */
-void GC_save_callers (/* struct callinfo info[NFRAMES] */);
-
-void GC_print_callers (/* struct callinfo info[NFRAMES] */);
-
-#else
-
-# ifdef GC_ADD_CALLER
-# define NFRAMES 1
-# define NARGS 0
-# define NEED_CALLINFO
-# endif
-
-#endif
-
-#ifdef NEED_CALLINFO
- struct callinfo {
- word ci_pc;
-# if NARGS > 0
- word ci_arg[NARGS]; /* bit-wise complement to avoid retention */
-# endif
-# if defined(ALIGN_DOUBLE) && (NFRAMES * (NARGS + 1)) % 2 == 1
- /* Likely alignment problem. */
- word ci_dummy;
-# endif
- };
-#endif
-
-
-/*********************************/
-/* */
-/* OS interface routines */
-/* */
-/*********************************/
-
-#ifdef BSD_TIME
-# undef CLOCK_TYPE
-# undef GET_TIME
-# undef MS_TIME_DIFF
-# define CLOCK_TYPE struct timeval
-# define GET_TIME(x) { struct rusage rusage; \
- getrusage (RUSAGE_SELF, &rusage); \
- x = rusage.ru_utime; }
-# define MS_TIME_DIFF(a,b) ((double) (a.tv_sec - b.tv_sec) * 1000.0 \
- + (double) (a.tv_usec - b.tv_usec) / 1000.0)
-#else /* !BSD_TIME */
-# include <time.h>
-# if !defined(__STDC__) && defined(SPARC) && defined(SUNOS4)
- clock_t clock(); /* Not in time.h, where it belongs */
-# endif
-# if defined(FREEBSD) && !defined(CLOCKS_PER_SEC)
-# include <machine/limits.h>
-# define CLOCKS_PER_SEC CLK_TCK
-# endif
-# if !defined(CLOCKS_PER_SEC)
-# define CLOCKS_PER_SEC 1000000
-/*
- * This is technically a bug in the implementation. ANSI requires that
- * CLOCKS_PER_SEC be defined. But at least under SunOS4.1.1, it isn't.
- * Also note that the combination of ANSI C and POSIX is incredibly gross
- * here. The type clock_t is used by both clock() and times(). But on
- * some machines these use different notions of a clock tick, CLOCKS_PER_SEC
- * seems to apply only to clock. Hence we use it here. On many machines,
- * including SunOS, clock actually uses units of microseconds (which are
- * not really clock ticks).
- */
-# endif
-# define CLOCK_TYPE clock_t
-# define GET_TIME(x) x = clock()
-# define MS_TIME_DIFF(a,b) ((unsigned long) \
- (1000.0*(double)((a)-(b))/(double)CLOCKS_PER_SEC))
-#endif /* !BSD_TIME */
-
-/* We use bzero and bcopy internally. They may not be available. */
-# if defined(SPARC) && defined(SUNOS4)
-# define BCOPY_EXISTS
-# endif
-# if defined(M68K) && defined(AMIGA)
-# define BCOPY_EXISTS
-# endif
-# if defined(M68K) && defined(NEXT)
-# define BCOPY_EXISTS
-# endif
-# if defined(VAX)
-# define BCOPY_EXISTS
-# endif
-# if defined(AMIGA)
-# include <string.h>
-# define BCOPY_EXISTS
-# endif
-
-# ifndef BCOPY_EXISTS
-# include <string.h>
-# define BCOPY(x,y,n) memcpy(y, x, (size_t)(n))
-# define BZERO(x,n) memset(x, 0, (size_t)(n))
-# else
-# define BCOPY(x,y,n) bcopy((char *)(x),(char *)(y),(int)(n))
-# define BZERO(x,n) bzero((char *)(x),(int)(n))
-# endif
-
-/* HBLKSIZE aligned allocation. 0 is taken to mean failure */
-/* space is assumed to be cleared. */
-/* In the case os USE_MMAP, the argument must also be a */
-/* physical page size. */
-# ifdef PCR
- char * real_malloc();
-# define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
- + GC_page_size-1)
-# else
-# ifdef OS2
- void * os2_alloc(size_t bytes);
-# define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
- + GC_page_size) \
- + GC_page_size-1)
-# else
-# if defined(AMIGA) || defined(NEXT) || defined(DOS4GW)
-# define GET_MEM(bytes) HBLKPTR((size_t) \
- calloc(1, (size_t)bytes + GC_page_size) \
- + GC_page_size-1)
-# else
-# ifdef MSWIN32
- extern ptr_t GC_win32_get_mem();
-# define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
-# else
-# ifdef MACOS
-# if defined(USE_TEMPORARY_MEMORY)
- extern Ptr GC_MacTemporaryNewPtr(size_t size,
- Boolean clearMemory);
-# define GET_MEM(bytes) HBLKPTR( \
- GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
- + GC_page_size-1)
-# else
-# define GET_MEM(bytes) HBLKPTR( \
- NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
-# endif
-# else
- extern ptr_t GC_unix_get_mem();
-# define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
-# endif
-# endif
-# endif
-# endif
-# endif
-
-/*
- * Mutual exclusion between allocator/collector routines.
- * Needed if there is more than one allocator thread.
- * FASTLOCK() is assumed to try to acquire the lock in a cheap and
- * dirty way that is acceptable for a few instructions, e.g. by
- * inhibiting preemption. This is assumed to have succeeded only
- * if a subsequent call to FASTLOCK_SUCCEEDED() returns TRUE.
- * FASTUNLOCK() is called whether or not FASTLOCK_SUCCEEDED().
- * If signals cannot be tolerated with the FASTLOCK held, then
- * FASTLOCK should disable signals. The code executed under
- * FASTLOCK is otherwise immune to interruption, provided it is
- * not restarted.
- * DCL_LOCK_STATE declares any local variables needed by LOCK and UNLOCK
- * and/or DISABLE_SIGNALS and ENABLE_SIGNALS and/or FASTLOCK.
- * (There is currently no equivalent for FASTLOCK.)
- */
-# ifdef THREADS
-# ifdef PCR_OBSOLETE /* Faster, but broken with multiple lwp's */
-# include "th/PCR_Th.h"
-# include "th/PCR_ThCrSec.h"
- extern struct PCR_Th_MLRep GC_allocate_ml;
-# define DCL_LOCK_STATE PCR_sigset_t GC_old_sig_mask
-# define LOCK() PCR_Th_ML_Acquire(&GC_allocate_ml)
-# define UNLOCK() PCR_Th_ML_Release(&GC_allocate_ml)
-# define FASTLOCK() PCR_ThCrSec_EnterSys()
- /* Here we cheat (a lot): */
-# define FASTLOCK_SUCCEEDED() (*(int *)(&GC_allocate_ml) == 0)
- /* TRUE if nobody currently holds the lock */
-# define FASTUNLOCK() PCR_ThCrSec_ExitSys()
-# endif
-# ifdef PCR
-# include <base/PCR_Base.h>
-# include <th/PCR_Th.h>
- extern PCR_Th_ML GC_allocate_ml;
-# define DCL_LOCK_STATE \
- PCR_ERes GC_fastLockRes; PCR_sigset_t GC_old_sig_mask
-# define LOCK() PCR_Th_ML_Acquire(&GC_allocate_ml)
-# define UNLOCK() PCR_Th_ML_Release(&GC_allocate_ml)
-# define FASTLOCK() (GC_fastLockRes = PCR_Th_ML_Try(&GC_allocate_ml))
-# define FASTLOCK_SUCCEEDED() (GC_fastLockRes == PCR_ERes_okay)
-# define FASTUNLOCK() {\
- if( FASTLOCK_SUCCEEDED() ) PCR_Th_ML_Release(&GC_allocate_ml); }
-# endif
-# ifdef SRC_M3
- extern word RT0u__inCritical;
-# define LOCK() RT0u__inCritical++
-# define UNLOCK() RT0u__inCritical--
-# endif
-# ifdef SOLARIS_THREADS
-# include <thread.h>
-# include <signal.h>
- extern mutex_t GC_allocate_ml;
-# define LOCK() mutex_lock(&GC_allocate_ml);
-# define UNLOCK() mutex_unlock(&GC_allocate_ml);
-# endif
-# ifdef LINUX_THREADS
-# include <pthread.h>
-# ifdef __i386__
- inline static int GC_test_and_set(volatile unsigned int *addr) {
- int oldval;
- /* Note: the "xchg" instruction does not need a "lock" prefix */
- __asm__ __volatile__("xchgl %0, %1"
- : "=r"(oldval), "=m"(*(addr))
- : "0"(1), "m"(*(addr)));
- return oldval;
- }
-# else
- -- > Need implementation of GC_test_and_set()
-# endif
-# define GC_clear(addr) (*(addr) = 0)
-
- extern volatile unsigned int GC_allocate_lock;
- /* This is not a mutex because mutexes that obey the (optional) */
- /* POSIX scheduling rules are subject to convoys in high contention */
- /* applications. This is basically a spin lock. */
- extern pthread_t GC_lock_holder;
- extern void GC_lock(void);
- /* Allocation lock holder. Only set if acquired by client through */
- /* GC_call_with_alloc_lock. */
-# define SET_LOCK_HOLDER() GC_lock_holder = pthread_self()
-# define NO_THREAD (pthread_t)(-1)
-# define UNSET_LOCK_HOLDER() GC_lock_holder = NO_THREAD
-# define I_HOLD_LOCK() (pthread_equal(GC_lock_holder, pthread_self()))
-# ifdef UNDEFINED
-# define LOCK() pthread_mutex_lock(&GC_allocate_ml)
-# define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
-# else
-# define LOCK() \
- { if (GC_test_and_set(&GC_allocate_lock)) GC_lock(); }
-# define UNLOCK() \
- GC_clear(&GC_allocate_lock)
-# endif
- extern GC_bool GC_collecting;
-# define ENTER_GC() \
- { \
- GC_collecting = 1; \
- }
-# define EXIT_GC() GC_collecting = 0;
-# endif /* LINUX_THREADS */
-# ifdef IRIX_THREADS
-# include <pthread.h>
-# include <mutex.h>
-
-# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64))
-# define GC_test_and_set(addr, v) test_and_set(addr,v)
-# else
-# define GC_test_and_set(addr, v) __test_and_set(addr,v)
-# endif
- extern unsigned long GC_allocate_lock;
- /* This is not a mutex because mutexes that obey the (optional) */
- /* POSIX scheduling rules are subject to convoys in high contention */
- /* applications. This is basically a spin lock. */
- extern pthread_t GC_lock_holder;
- extern void GC_lock(void);
- /* Allocation lock holder. Only set if acquired by client through */
- /* GC_call_with_alloc_lock. */
-# define SET_LOCK_HOLDER() GC_lock_holder = pthread_self()
-# define NO_THREAD (pthread_t)(-1)
-# define UNSET_LOCK_HOLDER() GC_lock_holder = NO_THREAD
-# define I_HOLD_LOCK() (pthread_equal(GC_lock_holder, pthread_self()))
-# ifdef UNDEFINED
-# define LOCK() pthread_mutex_lock(&GC_allocate_ml)
-# define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
-# else
-# define LOCK() { if (GC_test_and_set(&GC_allocate_lock, 1)) GC_lock(); }
-# if __mips >= 3 && (defined (_ABIN32) || defined(_ABI64))
-# define UNLOCK() __lock_release(&GC_allocate_lock)
-# else
-# define UNLOCK() GC_allocate_lock = 0
-# endif
-# endif
- extern GC_bool GC_collecting;
-# define ENTER_GC() \
- { \
- GC_collecting = 1; \
- }
-# define EXIT_GC() GC_collecting = 0;
-# endif /* IRIX_THREADS */
-# ifdef WIN32_THREADS
-# include <windows.h>
- GC_API CRITICAL_SECTION GC_allocate_ml;
-# define LOCK() EnterCriticalSection(&GC_allocate_ml);
-# define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
-# endif
-# ifdef QUICK_THREADS
-# define LOCK()
-# define UNLOCK()
-# endif
-# ifndef SET_LOCK_HOLDER
-# define SET_LOCK_HOLDER()
-# define UNSET_LOCK_HOLDER()
-# define I_HOLD_LOCK() FALSE
- /* Used on platforms were locks can be reacquired, */
- /* so it doesn't matter if we lie. */
-# endif
-# else
-# define LOCK()
-# define UNLOCK()
-# endif
-# ifndef SET_LOCK_HOLDER
-# define SET_LOCK_HOLDER()
-# define UNSET_LOCK_HOLDER()
-# define I_HOLD_LOCK() FALSE
- /* Used on platforms were locks can be reacquired, */
- /* so it doesn't matter if we lie. */
-# endif
-# ifndef ENTER_GC
-# define ENTER_GC()
-# define EXIT_GC()
-# endif
-
-# ifndef DCL_LOCK_STATE
-# define DCL_LOCK_STATE
-# endif
-# ifndef FASTLOCK
-# define FASTLOCK() LOCK()
-# define FASTLOCK_SUCCEEDED() TRUE
-# define FASTUNLOCK() UNLOCK()
-# endif
-
-/* Delay any interrupts or signals that may abort this thread. Data */
-/* structures are in a consistent state outside this pair of calls. */
-/* ANSI C allows both to be empty (though the standard isn't very */
-/* clear on that point). Standard malloc implementations are usually */
-/* neither interruptable nor thread-safe, and thus correspond to */
-/* empty definitions. */
-# ifdef PCR
-# define DISABLE_SIGNALS() \
- PCR_Th_SetSigMask(PCR_allSigsBlocked,&GC_old_sig_mask)
-# define ENABLE_SIGNALS() \
- PCR_Th_SetSigMask(&GC_old_sig_mask, NIL)
-# else
-# if defined(SRC_M3) || defined(AMIGA) || defined(SOLARIS_THREADS) \
- || defined(MSWIN32) || defined(MACOS) || defined(DJGPP) \
- || defined(NO_SIGNALS) || defined(IRIX_THREADS) \
- || defined(LINUX_THREADS)
- /* Also useful for debugging. */
- /* Should probably use thr_sigsetmask for SOLARIS_THREADS. */
-# define DISABLE_SIGNALS()
-# define ENABLE_SIGNALS()
-# else
-# define DISABLE_SIGNALS() GC_disable_signals()
- void GC_disable_signals();
-# define ENABLE_SIGNALS() GC_enable_signals()
- void GC_enable_signals();
-# endif
-# endif
-
-/*
- * Stop and restart mutator threads.
- */
-# ifdef PCR
-# include "th/PCR_ThCtl.h"
-# define STOP_WORLD() \
- PCR_ThCtl_SetExclusiveMode(PCR_ThCtl_ExclusiveMode_stopNormal, \
- PCR_allSigsBlocked, \
- PCR_waitForever)
-# define START_WORLD() \
- PCR_ThCtl_SetExclusiveMode(PCR_ThCtl_ExclusiveMode_null, \
- PCR_allSigsBlocked, \
- PCR_waitForever);
-# else
-# if defined(SOLARIS_THREADS) || defined(WIN32_THREADS) \
- || defined(IRIX_THREADS) || defined(LINUX_THREADS)
- void GC_stop_world();
- void GC_start_world();
-# define STOP_WORLD() GC_stop_world()
-# define START_WORLD() GC_start_world()
-# else
-# define STOP_WORLD()
-# define START_WORLD()
-# endif
-# endif
-
-/* Abandon ship */
-# ifdef PCR
-# define ABORT(s) PCR_Base_Panic(s)
-# else
-# ifdef SMALL_CONFIG
-# define ABORT(msg) abort();
-# else
- GC_API void GC_abort();
-# define ABORT(msg) GC_abort(msg);
-# endif
-# endif
-
-/* Exit abnormally, but without making a mess (e.g. out of memory) */
-# ifdef PCR
-# define EXIT() PCR_Base_Exit(1,PCR_waitForever)
-# else
-# define EXIT() (void)exit(1)
-# endif
-
-/* Print warning message, e.g. almost out of memory. */
-# define WARN(msg,arg) (*GC_current_warn_proc)(msg, (GC_word)(arg))
-extern GC_warn_proc GC_current_warn_proc;
-
-/*********************************/
-/* */
-/* Word-size-dependent defines */
-/* */
-/*********************************/
-
-#if CPP_WORDSZ == 32
-# define WORDS_TO_BYTES(x) ((x)<<2)
-# define BYTES_TO_WORDS(x) ((x)>>2)
-# define LOGWL ((word)5) /* log[2] of CPP_WORDSZ */
-# define modWORDSZ(n) ((n) & 0x1f) /* n mod size of word */
-# if ALIGNMENT != 4
-# define UNALIGNED
-# endif
-#endif
-
-#if CPP_WORDSZ == 64
-# define WORDS_TO_BYTES(x) ((x)<<3)
-# define BYTES_TO_WORDS(x) ((x)>>3)
-# define LOGWL ((word)6) /* log[2] of CPP_WORDSZ */
-# define modWORDSZ(n) ((n) & 0x3f) /* n mod size of word */
-# if ALIGNMENT != 8
-# define UNALIGNED
-# endif
-#endif
-
-#define WORDSZ ((word)CPP_WORDSZ)
-#define SIGNB ((word)1 << (WORDSZ-1))
-#define BYTES_PER_WORD ((word)(sizeof (word)))
-#define ONES ((word)(-1))
-#define divWORDSZ(n) ((n) >> LOGWL) /* divide n by size of word */
-
-/*********************/
-/* */
-/* Size Parameters */
-/* */
-/*********************/
-
-/* heap block size, bytes. Should be power of 2 */
-
-#ifndef HBLKSIZE
-# ifdef SMALL_CONFIG
-# define CPP_LOG_HBLKSIZE 10
-# else
-# if CPP_WORDSZ == 32
-# define CPP_LOG_HBLKSIZE 12
-# else
-# define CPP_LOG_HBLKSIZE 13
-# endif
-# endif
-#else
-# if HBLKSIZE == 512
-# define CPP_LOG_HBLKSIZE 9
-# endif
-# if HBLKSIZE == 1024
-# define CPP_LOG_HBLKSIZE 10
-# endif
-# if HBLKSIZE == 2048
-# define CPP_LOG_HBLKSIZE 11
-# endif
-# if HBLKSIZE == 4096
-# define CPP_LOG_HBLKSIZE 12
-# endif
-# if HBLKSIZE == 8192
-# define CPP_LOG_HBLKSIZE 13
-# endif
-# if HBLKSIZE == 16384
-# define CPP_LOG_HBLKSIZE 14
-# endif
-# ifndef CPP_LOG_HBLKSIZE
- --> fix HBLKSIZE
-# endif
-# undef HBLKSIZE
-#endif
-# define CPP_HBLKSIZE (1 << CPP_LOG_HBLKSIZE)
-# define LOG_HBLKSIZE ((word)CPP_LOG_HBLKSIZE)
-# define HBLKSIZE ((word)CPP_HBLKSIZE)
-
-
-/* max size objects supported by freelist (larger objects may be */
-/* allocated, but less efficiently) */
-
-#define CPP_MAXOBJSZ BYTES_TO_WORDS(CPP_HBLKSIZE/2)
-#define MAXOBJSZ ((word)CPP_MAXOBJSZ)
-
-# define divHBLKSZ(n) ((n) >> LOG_HBLKSIZE)
-
-# define HBLK_PTR_DIFF(p,q) divHBLKSZ((ptr_t)p - (ptr_t)q)
- /* Equivalent to subtracting 2 hblk pointers. */
- /* We do it this way because a compiler should */
- /* find it hard to use an integer division */
- /* instead of a shift. The bundled SunOS 4.1 */
- /* o.w. sometimes pessimizes the subtraction to */
- /* involve a call to .div. */
-
-# define modHBLKSZ(n) ((n) & (HBLKSIZE-1))
-
-# define HBLKPTR(objptr) ((struct hblk *)(((word) (objptr)) & ~(HBLKSIZE-1)))
-
-# define HBLKDISPL(objptr) (((word) (objptr)) & (HBLKSIZE-1))
-
-/* Round up byte allocation requests to integral number of words, etc. */
-# ifdef ADD_BYTE_AT_END
-# define ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + WORDS_TO_BYTES(1))
-# ifdef ALIGN_DOUBLE
-# define ALIGNED_WORDS(n) (BYTES_TO_WORDS((n) + WORDS_TO_BYTES(2)) & ~1)
-# else
-# define ALIGNED_WORDS(n) ROUNDED_UP_WORDS(n)
-# endif
-# define SMALL_OBJ(bytes) ((bytes) < WORDS_TO_BYTES(MAXOBJSZ))
-# define ADD_SLOP(bytes) ((bytes)+1)
-# else
-# define ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + (WORDS_TO_BYTES(1) - 1))
-# ifdef ALIGN_DOUBLE
-# define ALIGNED_WORDS(n) \
- (BYTES_TO_WORDS((n) + WORDS_TO_BYTES(2) - 1) & ~1)
-# else
-# define ALIGNED_WORDS(n) ROUNDED_UP_WORDS(n)
-# endif
-# define SMALL_OBJ(bytes) ((bytes) <= WORDS_TO_BYTES(MAXOBJSZ))
-# define ADD_SLOP(bytes) (bytes)
-# endif
-
-
-/*
- * Hash table representation of sets of pages. This assumes it is
- * OK to add spurious entries to sets.
- * Used by black-listing code, and perhaps by dirty bit maintenance code.
- */
-
-# ifdef LARGE_CONFIG
-# define LOG_PHT_ENTRIES 17
-# else
-# define LOG_PHT_ENTRIES 14 /* Collisions are likely if heap grows */
- /* to more than 16K hblks = 64MB. */
- /* Each hash table occupies 2K bytes. */
-# endif
-# define PHT_ENTRIES ((word)1 << LOG_PHT_ENTRIES)
-# define PHT_SIZE (PHT_ENTRIES >> LOGWL)
-typedef word page_hash_table[PHT_SIZE];
-
-# define PHT_HASH(addr) ((((word)(addr)) >> LOG_HBLKSIZE) & (PHT_ENTRIES - 1))
-
-# define get_pht_entry_from_index(bl, index) \
- (((bl)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
-# define set_pht_entry_from_index(bl, index) \
- (bl)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
-# define clear_pht_entry_from_index(bl, index) \
- (bl)[divWORDSZ(index)] &= ~((word)1 << modWORDSZ(index))
-
-
-
-/********************************************/
-/* */
-/* H e a p B l o c k s */
-/* */
-/********************************************/
-
-/* heap block header */
-#define HBLKMASK (HBLKSIZE-1)
-
-#define BITS_PER_HBLK (HBLKSIZE * 8)
-
-#define MARK_BITS_PER_HBLK (BITS_PER_HBLK/CPP_WORDSZ)
- /* upper bound */
- /* We allocate 1 bit/word. Only the first word */
- /* in each object is actually marked. */
-
-# ifdef ALIGN_DOUBLE
-# define MARK_BITS_SZ (((MARK_BITS_PER_HBLK + 2*CPP_WORDSZ - 1) \
- / (2*CPP_WORDSZ))*2)
-# else
-# define MARK_BITS_SZ ((MARK_BITS_PER_HBLK + CPP_WORDSZ - 1)/CPP_WORDSZ)
-# endif
- /* Upper bound on number of mark words per heap block */
-
-struct hblkhdr {
- word hb_sz; /* If in use, size in words, of objects in the block. */
- /* if free, the size in bytes of the whole block */
- struct hblk * hb_next; /* Link field for hblk free list */
- /* and for lists of chunks waiting to be */
- /* reclaimed. */
- word hb_descr; /* object descriptor for marking. See */
- /* mark.h. */
- char* hb_map; /* A pointer to a pointer validity map of the block. */
- /* See GC_obj_map. */
- /* Valid for all blocks with headers. */
- /* Free blocks point to GC_invalid_map. */
- unsigned char hb_obj_kind;
- /* Kind of objects in the block. Each kind */
- /* identifies a mark procedure and a set of */
- /* list headers. Sometimes called regions. */
- unsigned char hb_flags;
-# define IGNORE_OFF_PAGE 1 /* Ignore pointers that do not */
- /* point to the first page of */
- /* this object. */
- unsigned short hb_last_reclaimed;
- /* Value of GC_gc_no when block was */
- /* last allocated or swept. May wrap. */
- word hb_marks[MARK_BITS_SZ];
- /* Bit i in the array refers to the */
- /* object starting at the ith word (header */
- /* INCLUDED) in the heap block. */
- /* The lsb of word 0 is numbered 0. */
-};
-
-/* heap block body */
-
-# define DISCARD_WORDS 0
- /* Number of words to be dropped at the beginning of each block */
- /* Must be a multiple of WORDSZ. May reasonably be nonzero */
- /* on machines that don't guarantee longword alignment of */
- /* pointers, so that the number of false hits is minimized. */
- /* 0 and WORDSZ are probably the only reasonable values. */
-
-# define BODY_SZ ((HBLKSIZE-WORDS_TO_BYTES(DISCARD_WORDS))/sizeof(word))
-
-struct hblk {
-# if (DISCARD_WORDS != 0)
- word garbage[DISCARD_WORDS];
-# endif
- word hb_body[BODY_SZ];
-};
-
-# define HDR_WORDS ((word)DISCARD_WORDS)
-# define HDR_BYTES ((word)WORDS_TO_BYTES(DISCARD_WORDS))
-
-# define OBJ_SZ_TO_BLOCKS(sz) \
- divHBLKSZ(HDR_BYTES + WORDS_TO_BYTES(sz) + HBLKSIZE-1)
- /* Size of block (in units of HBLKSIZE) needed to hold objects of */
- /* given sz (in words). */
-
-/* Object free list link */
-# define obj_link(p) (*(ptr_t *)(p))
-
-/* lists of all heap blocks and free lists */
-/* These are grouped together in a struct */
-/* so that they can be easily skipped by the */
-/* GC_mark routine. */
-/* The ordering is weird to make GC_malloc */
-/* faster by keeping the important fields */
-/* sufficiently close together that a */
-/* single load of a base register will do. */
-/* Scalars that could easily appear to */
-/* be pointers are also put here. */
-/* The main fields should precede any */
-/* conditionally included fields, so that */
-/* gc_inl.h will work even if a different set */
-/* of macros is defined when the client is */
-/* compiled. */
-
-struct _GC_arrays {
- word _heapsize;
- word _max_heapsize;
- ptr_t _last_heap_addr;
- ptr_t _prev_heap_addr;
- word _words_allocd_before_gc;
- /* Number of words allocated before this */
- /* collection cycle. */
- word _words_allocd;
- /* Number of words allocated during this collection cycle */
- word _words_wasted;
- /* Number of words wasted due to internal fragmentation */
- /* in large objects, or due to dropping blacklisted */
- /* blocks, since last gc. Approximate. */
- word _words_finalized;
- /* Approximate number of words in objects (and headers) */
- /* That became ready for finalization in the last */
- /* collection. */
- word _non_gc_bytes_at_gc;
- /* Number of explicitly managed bytes of storage */
- /* at last collection. */
- word _mem_freed;
- /* Number of explicitly deallocated words of memory */
- /* since last collection. */
-
- ptr_t _objfreelist[MAXOBJSZ+1];
- /* free list for objects */
- ptr_t _aobjfreelist[MAXOBJSZ+1];
- /* free list for atomic objs */
-
- ptr_t _uobjfreelist[MAXOBJSZ+1];
- /* uncollectable but traced objs */
- /* objects on this and auobjfreelist */
- /* are always marked, except during */
- /* garbage collections. */
-# ifdef ATOMIC_UNCOLLECTABLE
- ptr_t _auobjfreelist[MAXOBJSZ+1];
-# endif
- /* uncollectable but traced objs */
-
-# ifdef GATHERSTATS
- word _composite_in_use;
- /* Number of words in accessible composite */
- /* objects. */
- word _atomic_in_use;
- /* Number of words in accessible atomic */
- /* objects. */
-# endif
-# ifdef MERGE_SIZES
- unsigned _size_map[WORDS_TO_BYTES(MAXOBJSZ+1)];
- /* Number of words to allocate for a given allocation request in */
- /* bytes. */
-# endif
-
-# ifdef STUBBORN_ALLOC
- ptr_t _sobjfreelist[MAXOBJSZ+1];
-# endif
- /* free list for immutable objects */
- ptr_t _obj_map[MAXOBJSZ+1];
- /* If not NIL, then a pointer to a map of valid */
- /* object addresses. _obj_map[sz][i] is j if the */
- /* address block_start+i is a valid pointer */
- /* to an object at */
- /* block_start+i&~3 - WORDS_TO_BYTES(j). */
- /* (If ALL_INTERIOR_POINTERS is defined, then */
- /* instead ((short *)(hbh_map[sz])[i] is j if */
- /* block_start+WORDS_TO_BYTES(i) is in the */
- /* interior of an object starting at */
- /* block_start+WORDS_TO_BYTES(i-j)). */
- /* It is OBJ_INVALID if */
- /* block_start+WORDS_TO_BYTES(i) is not */
- /* valid as a pointer to an object. */
- /* We assume all values of j <= OBJ_INVALID. */
- /* The zeroth entry corresponds to large objects.*/
-# ifdef ALL_INTERIOR_POINTERS
-# define map_entry_type short
-# define OBJ_INVALID 0x7fff
-# define MAP_ENTRY(map, bytes) \
- (((map_entry_type *)(map))[BYTES_TO_WORDS(bytes)])
-# define MAP_ENTRIES BYTES_TO_WORDS(HBLKSIZE)
-# define MAP_SIZE (MAP_ENTRIES * sizeof(map_entry_type))
-# define OFFSET_VALID(displ) TRUE
-# define CPP_MAX_OFFSET (HBLKSIZE - HDR_BYTES - 1)
-# define MAX_OFFSET ((word)CPP_MAX_OFFSET)
-# else
-# define map_entry_type char
-# define OBJ_INVALID 0x7f
-# define MAP_ENTRY(map, bytes) \
- (map)[bytes]
-# define MAP_ENTRIES HBLKSIZE
-# define MAP_SIZE MAP_ENTRIES
-# define CPP_MAX_OFFSET (WORDS_TO_BYTES(OBJ_INVALID) - 1)
-# define MAX_OFFSET ((word)CPP_MAX_OFFSET)
-# define VALID_OFFSET_SZ \
- (CPP_MAX_OFFSET > WORDS_TO_BYTES(CPP_MAXOBJSZ)? \
- CPP_MAX_OFFSET+1 \
- : WORDS_TO_BYTES(CPP_MAXOBJSZ)+1)
- char _valid_offsets[VALID_OFFSET_SZ];
- /* GC_valid_offsets[i] == TRUE ==> i */
- /* is registered as a displacement. */
-# define OFFSET_VALID(displ) GC_valid_offsets[displ]
- char _modws_valid_offsets[sizeof(word)];
- /* GC_valid_offsets[i] ==> */
- /* GC_modws_valid_offsets[i%sizeof(word)] */
-# endif
-# ifdef STUBBORN_ALLOC
- page_hash_table _changed_pages;
- /* Stubborn object pages that were changes since last call to */
- /* GC_read_changed. */
- page_hash_table _prev_changed_pages;
- /* Stubborn object pages that were changes before last call to */
- /* GC_read_changed. */
-# endif
-# if defined(PROC_VDB) || defined(MPROTECT_VDB)
- page_hash_table _grungy_pages; /* Pages that were dirty at last */
- /* GC_read_dirty. */
-# endif
-# ifdef LARGE_CONFIG
-# if CPP_WORDSZ > 32
-# define MAX_HEAP_SECTS 4096 /* overflows at roughly 64 GB */
-# else
-# define MAX_HEAP_SECTS 768 /* Separately added heap sections. */
-# endif
-# else
-# define MAX_HEAP_SECTS 256
-# endif
- struct HeapSect {
- ptr_t hs_start; word hs_bytes;
- } _heap_sects[MAX_HEAP_SECTS];
-# ifdef MSWIN32
- ptr_t _heap_bases[MAX_HEAP_SECTS];
- /* Start address of memory regions obtained from kernel. */
-# endif
- /* Block header index; see gc_headers.h */
- bottom_index * _all_nils;
- bottom_index * _top_index [TOP_SZ];
-#ifdef SAVE_CALL_CHAIN
- struct callinfo _last_stack[NFRAMES]; /* Stack at last garbage collection.*/
- /* Useful for debugging mysterious */
- /* object disappearances. */
- /* In the multithreaded case, we */
- /* currently only save the calling */
- /* stack. */
-#endif
-};
-
-GC_API GC_FAR struct _GC_arrays GC_arrays;
-
-# define GC_objfreelist GC_arrays._objfreelist
-# define GC_aobjfreelist GC_arrays._aobjfreelist
-# define GC_uobjfreelist GC_arrays._uobjfreelist
-# ifdef ATOMIC_UNCOLLECTABLE
-# define GC_auobjfreelist GC_arrays._auobjfreelist
-# endif
-# define GC_sobjfreelist GC_arrays._sobjfreelist
-# define GC_valid_offsets GC_arrays._valid_offsets
-# define GC_modws_valid_offsets GC_arrays._modws_valid_offsets
-# ifdef STUBBORN_ALLOC
-# define GC_changed_pages GC_arrays._changed_pages
-# define GC_prev_changed_pages GC_arrays._prev_changed_pages
-# endif
-# define GC_obj_map GC_arrays._obj_map
-# define GC_last_heap_addr GC_arrays._last_heap_addr
-# define GC_prev_heap_addr GC_arrays._prev_heap_addr
-# define GC_words_allocd GC_arrays._words_allocd
-# define GC_words_wasted GC_arrays._words_wasted
-# define GC_words_finalized GC_arrays._words_finalized
-# define GC_non_gc_bytes_at_gc GC_arrays._non_gc_bytes_at_gc
-# define GC_mem_freed GC_arrays._mem_freed
-# define GC_heapsize GC_arrays._heapsize
-# define GC_max_heapsize GC_arrays._max_heapsize
-# define GC_words_allocd_before_gc GC_arrays._words_allocd_before_gc
-# define GC_heap_sects GC_arrays._heap_sects
-# define GC_last_stack GC_arrays._last_stack
-# ifdef MSWIN32
-# define GC_heap_bases GC_arrays._heap_bases
-# endif
-# define GC_all_nils GC_arrays._all_nils
-# define GC_top_index GC_arrays._top_index
-# if defined(PROC_VDB) || defined(MPROTECT_VDB)
-# define GC_grungy_pages GC_arrays._grungy_pages
-# endif
-# ifdef GATHERSTATS
-# define GC_composite_in_use GC_arrays._composite_in_use
-# define GC_atomic_in_use GC_arrays._atomic_in_use
-# endif
-# ifdef MERGE_SIZES
-# define GC_size_map GC_arrays._size_map
-# endif
-
-# define beginGC_arrays ((ptr_t)(&GC_arrays))
-# define endGC_arrays (((ptr_t)(&GC_arrays)) + (sizeof GC_arrays))
-
-GC_API word GC_fo_entries;
-
-# define MAXOBJKINDS 16
-
-/* Object kinds: */
-extern struct obj_kind {
- ptr_t *ok_freelist; /* Array of free listheaders for this kind of object */
- /* Point either to GC_arrays or to storage allocated */
- /* with GC_scratch_alloc. */
- struct hblk **ok_reclaim_list;
- /* List headers for lists of blocks waiting to be */
- /* swept. */
- word ok_descriptor; /* Descriptor template for objects in this */
- /* block. */
- GC_bool ok_relocate_descr;
- /* Add object size in bytes to descriptor */
- /* template to obtain descriptor. Otherwise */
- /* template is used as is. */
- GC_bool ok_init; /* Clear objects before putting them on the free list. */
-} GC_obj_kinds[MAXOBJKINDS];
-/* Predefined kinds: */
-# define PTRFREE 0
-# define NORMAL 1
-# define UNCOLLECTABLE 2
-# ifdef ATOMIC_UNCOLLECTABLE
-# define AUNCOLLECTABLE 3
-# define STUBBORN 4
-# define IS_UNCOLLECTABLE(k) (((k) & ~1) == UNCOLLECTABLE)
-# else
-# define STUBBORN 3
-# define IS_UNCOLLECTABLE(k) ((k) == UNCOLLECTABLE)
-# endif
-
-extern int GC_n_kinds;
-
-extern word GC_n_heap_sects; /* Number of separately added heap */
- /* sections. */
-
-extern word GC_page_size;
-
-# ifdef MSWIN32
-extern word GC_n_heap_bases; /* See GC_heap_bases. */
-# endif
-
-extern word GC_total_stack_black_listed;
- /* Number of bytes on stack blacklist. */
-
-extern word GC_black_list_spacing;
- /* Average number of bytes between blacklisted */
- /* blocks. Approximate. */
- /* Counts only blocks that are */
- /* "stack-blacklisted", i.e. that are */
- /* problematic in the interior of an object. */
-
-extern char * GC_invalid_map;
- /* Pointer to the nowhere valid hblk map */
- /* Blocks pointing to this map are free. */
-
-extern struct hblk * GC_hblkfreelist;
- /* List of completely empty heap blocks */
- /* Linked through hb_next field of */
- /* header structure associated with */
- /* block. */
-
-extern GC_bool GC_is_initialized; /* GC_init() has been run. */
-
-extern GC_bool GC_objects_are_marked; /* There are marked objects in */
- /* the heap. */
-
-extern GC_bool GC_incremental; /* Using incremental/generational collection. */
-
-extern GC_bool GC_dirty_maintained;
- /* Dirty bits are being maintained, */
- /* either for incremental collection, */
- /* or to limit the root set. */
-
-# ifndef PCR
- extern ptr_t GC_stackbottom; /* Cool end of user stack */
-# endif
-
-extern word GC_root_size; /* Total size of registered root sections */
-
-extern GC_bool GC_debugging_started; /* GC_debug_malloc has been called. */
-
-extern ptr_t GC_least_plausible_heap_addr;
-extern ptr_t GC_greatest_plausible_heap_addr;
- /* Bounds on the heap. Guaranteed valid */
- /* Likely to include future heap expansion. */
-
-/* Operations */
-# ifndef abs
-# define abs(x) ((x) < 0? (-(x)) : (x))
-# endif
-
-
-/* Marks are in a reserved area in */
-/* each heap block. Each word has one mark bit associated */
-/* with it. Only those corresponding to the beginning of an */
-/* object are used. */
-
-
-/* Mark bit operations */
-
-/*
- * Retrieve, set, clear the mark bit corresponding
- * to the nth word in a given heap block.
- *
- * (Recall that bit n corresponds to object beginning at word n
- * relative to the beginning of the block, including unused words)
- */
-
-# define mark_bit_from_hdr(hhdr,n) (((hhdr)->hb_marks[divWORDSZ(n)] \
- >> (modWORDSZ(n))) & (word)1)
-# define set_mark_bit_from_hdr(hhdr,n) (hhdr)->hb_marks[divWORDSZ(n)] \
- |= (word)1 << modWORDSZ(n)
-
-# define clear_mark_bit_from_hdr(hhdr,n) (hhdr)->hb_marks[divWORDSZ(n)] \
- &= ~((word)1 << modWORDSZ(n))
-
-/* Important internal collector routines */
-
-ptr_t GC_approx_sp();
-
-GC_bool GC_should_collect();
-#ifdef PRESERVE_LAST
- GC_bool GC_in_last_heap_sect(/* ptr_t */);
- /* In last added heap section? If so, avoid breaking up. */
-#endif
-void GC_apply_to_all_blocks(/*fn, client_data*/);
- /* Invoke fn(hbp, client_data) for each */
- /* allocated heap block. */
-struct hblk * GC_next_block(/* struct hblk * h */);
-void GC_mark_init();
-void GC_clear_marks(); /* Clear mark bits for all heap objects. */
-void GC_invalidate_mark_state(); /* Tell the marker that marked */
- /* objects may point to unmarked */
- /* ones, and roots may point to */
- /* unmarked objects. */
- /* Reset mark stack. */
-void GC_mark_from_mark_stack(); /* Mark from everything on the mark stack. */
- /* Return after about one pages worth of */
- /* work. */
-GC_bool GC_mark_stack_empty();
-GC_bool GC_mark_some(); /* Perform about one pages worth of marking */
- /* work of whatever kind is needed. Returns */
- /* quickly if no collection is in progress. */
- /* Return TRUE if mark phase finished. */
-void GC_initiate_gc(); /* initiate collection. */
- /* If the mark state is invalid, this */
- /* becomes full colleection. Otherwise */
- /* it's partial. */
-void GC_push_all(/*b,t*/); /* Push everything in a range */
- /* onto mark stack. */
-void GC_push_dirty(/*b,t*/); /* Push all possibly changed */
- /* subintervals of [b,t) onto */
- /* mark stack. */
-#ifndef SMALL_CONFIG
- void GC_push_conditional(/* ptr_t b, ptr_t t, GC_bool all*/);
-#else
-# define GC_push_conditional(b, t, all) GC_push_all(b, t)
-#endif
- /* Do either of the above, depending */
- /* on the third arg. */
-void GC_push_all_stack(/*b,t*/); /* As above, but consider */
- /* interior pointers as valid */
-void GC_push_roots(/* GC_bool all */); /* Push all or dirty roots. */
-extern void (*GC_push_other_roots)();
- /* Push system or application specific roots */
- /* onto the mark stack. In some environments */
- /* (e.g. threads environments) this is */
- /* predfined to be non-zero. A client supplied */
- /* replacement should also call the original */
- /* function. */
-extern void (*GC_start_call_back)(/* void */);
- /* Called at start of full collections. */
- /* Not called if 0. Called with allocation */
- /* lock held. */
- /* 0 by default. */
-void GC_push_regs(); /* Push register contents onto mark stack. */
-void GC_remark(); /* Mark from all marked objects. Used */
- /* only if we had to drop something. */
-# if defined(MSWIN32)
- void __cdecl GC_push_one();
-# else
- void GC_push_one(/*p*/); /* If p points to an object, mark it */
- /* and push contents on the mark stack */
-# endif
-void GC_push_one_checked(/*p*/); /* Ditto, omits plausibility test */
-void GC_push_marked(/* struct hblk h, hdr * hhdr */);
- /* Push contents of all marked objects in h onto */
- /* mark stack. */
-#ifdef SMALL_CONFIG
-# define GC_push_next_marked_dirty(h) GC_push_next_marked(h)
-#else
- struct hblk * GC_push_next_marked_dirty(/* h */);
- /* Invoke GC_push_marked on next dirty block above h. */
- /* Return a pointer just past the end of this block. */
-#endif /* !SMALL_CONFIG */
-struct hblk * GC_push_next_marked(/* h */);
- /* Ditto, but also mark from clean pages. */
-struct hblk * GC_push_next_marked_uncollectable(/* h */);
- /* Ditto, but mark only from uncollectable pages. */
-GC_bool GC_stopped_mark(); /* Stop world and mark from all roots */
- /* and rescuers. */
-void GC_clear_hdr_marks(/* hhdr */); /* Clear the mark bits in a header */
-void GC_set_hdr_marks(/* hhdr */); /* Set the mark bits in a header */
-void GC_add_roots_inner();
-GC_bool GC_is_static_root(/* ptr_t p */);
- /* Is the address p in one of the registered static */
- /* root sections? */
-void GC_register_dynamic_libraries();
- /* Add dynamic library data sections to the root set. */
-
-/* Machine dependent startup routines */
-ptr_t GC_get_stack_base();
-void GC_register_data_segments();
-
-/* Black listing: */
-void GC_bl_init();
-# ifndef ALL_INTERIOR_POINTERS
- void GC_add_to_black_list_normal(/* bits, maybe source */);
- /* Register bits as a possible future false */
- /* reference from the heap or static data */
-# ifdef PRINT_BLACK_LIST
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_normal(bits, source)
-# else
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_normal(bits)
-# endif
-# else
-# ifdef PRINT_BLACK_LIST
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_stack(bits, source)
-# else
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_stack(bits)
-# endif
-# endif
-
-void GC_add_to_black_list_stack(/* bits, maybe source */);
-struct hblk * GC_is_black_listed(/* h, len */);
- /* If there are likely to be false references */
- /* to a block starting at h of the indicated */
- /* length, then return the next plausible */
- /* starting location for h that might avoid */
- /* these false references. */
-void GC_promote_black_lists();
- /* Declare an end to a black listing phase. */
-void GC_unpromote_black_lists();
- /* Approximately undo the effect of the above. */
- /* This actually loses some information, but */
- /* only in a reasonably safe way. */
-word GC_number_stack_black_listed(/*struct hblk *start, struct hblk *endp1 */);
- /* Return the number of (stack) blacklisted */
- /* blocks in the range for statistical */
- /* purposes. */
-
-ptr_t GC_scratch_alloc(/*bytes*/);
- /* GC internal memory allocation for */
- /* small objects. Deallocation is not */
- /* possible. */
-
-/* Heap block layout maps: */
-void GC_invalidate_map(/* hdr */);
- /* Remove the object map associated */
- /* with the block. This identifies */
- /* the block as invalid to the mark */
- /* routines. */
-GC_bool GC_add_map_entry(/*sz*/);
- /* Add a heap block map for objects of */
- /* size sz to obj_map. */
- /* Return FALSE on failure. */
-void GC_register_displacement_inner(/*offset*/);
- /* Version of GC_register_displacement */
- /* that assumes lock is already held */
- /* and signals are already disabled. */
-
-/* hblk allocation: */
-void GC_new_hblk(/*size_in_words, kind*/);
- /* Allocate a new heap block, and build */
- /* a free list in it. */
-struct hblk * GC_allochblk(/*size_in_words, kind*/);
- /* Allocate a heap block, clear it if */
- /* for composite objects, inform */
- /* the marker that block is valid */
- /* for objects of indicated size. */
- /* sz < 0 ==> atomic. */
-void GC_freehblk(); /* Deallocate a heap block and mark it */
- /* as invalid. */
-
-/* Misc GC: */
-void GC_init_inner();
-GC_bool GC_expand_hp_inner();
-void GC_start_reclaim(/*abort_if_found*/);
- /* Restore unmarked objects to free */
- /* lists, or (if abort_if_found is */
- /* TRUE) report them. */
- /* Sweeping of small object pages is */
- /* largely deferred. */
-void GC_continue_reclaim(/*size, kind*/);
- /* Sweep pages of the given size and */
- /* kind, as long as possible, and */
- /* as long as the corr. free list is */
- /* empty. */
-void GC_reclaim_or_delete_all();
- /* Arrange for all reclaim lists to be */
- /* empty. Judiciously choose between */
- /* sweeping and discarding each page. */
-GC_bool GC_reclaim_all(/* GC_stop_func f*/);
- /* Reclaim all blocks. Abort (in a */
- /* consistent state) if f returns TRUE. */
-GC_bool GC_block_empty(/* hhdr */); /* Block completely unmarked? */
-GC_bool GC_never_stop_func(); /* Returns FALSE. */
-GC_bool GC_try_to_collect_inner(/* GC_stop_func f */);
- /* Collect; caller must have acquired */
- /* lock and disabled signals. */
- /* Collection is aborted if f returns */
- /* TRUE. Returns TRUE if it completes */
- /* successfully. */
-# define GC_gcollect_inner() \
- (void) GC_try_to_collect_inner(GC_never_stop_func)
-void GC_finish_collection(); /* Finish collection. Mark bits are */
- /* consistent and lock is still held. */
-GC_bool GC_collect_or_expand(/* needed_blocks */);
- /* Collect or expand heap in an attempt */
- /* make the indicated number of free */
- /* blocks available. Should be called */
- /* until the blocks are available or */
- /* until it fails by returning FALSE. */
-void GC_init(); /* Initialize collector. */
-void GC_collect_a_little_inner(/* int n */);
- /* Do n units worth of garbage */
- /* collection work, if appropriate. */
- /* A unit is an amount appropriate for */
- /* HBLKSIZE bytes of allocation. */
-ptr_t GC_generic_malloc(/* bytes, kind */);
- /* Allocate an object of the given */
- /* kind. By default, there are only */
- /* a few kinds: composite(pointerfree), */
- /* atomic, uncollectable, etc. */
- /* We claim it's possible for clever */
- /* client code that understands GC */
- /* internals to add more, e.g. to */
- /* communicate object layout info */
- /* to the collector. */
-ptr_t GC_generic_malloc_ignore_off_page(/* bytes, kind */);
- /* As above, but pointers past the */
- /* first page of the resulting object */
- /* are ignored. */
-ptr_t GC_generic_malloc_inner(/* bytes, kind */);
- /* Ditto, but I already hold lock, etc. */
-ptr_t GC_generic_malloc_words_small GC_PROTO((size_t words, int kind));
- /* As above, but size in units of words */
- /* Bypasses MERGE_SIZES. Assumes */
- /* words <= MAXOBJSZ. */
-ptr_t GC_generic_malloc_inner_ignore_off_page(/* bytes, kind */);
- /* Allocate an object, where */
- /* the client guarantees that there */
- /* will always be a pointer to the */
- /* beginning of the object while the */
- /* object is live. */
-ptr_t GC_allocobj(/* sz_inn_words, kind */);
- /* Make the indicated */
- /* free list nonempty, and return its */
- /* head. */
-
-void GC_init_headers();
-GC_bool GC_install_header(/*h*/);
- /* Install a header for block h. */
- /* Return FALSE on failure. */
-GC_bool GC_install_counts(/*h, sz*/);
- /* Set up forwarding counts for block */
- /* h of size sz. */
- /* Return FALSE on failure. */
-void GC_remove_header(/*h*/);
- /* Remove the header for block h. */
-void GC_remove_counts(/*h, sz*/);
- /* Remove forwarding counts for h. */
-hdr * GC_find_header(/*p*/); /* Debugging only. */
-
-void GC_finalize(); /* Perform all indicated finalization actions */
- /* on unmarked objects. */
- /* Unreachable finalizable objects are enqueued */
- /* for processing by GC_invoke_finalizers. */
- /* Invoked with lock. */
-
-void GC_add_to_heap(/*p, bytes*/);
- /* Add a HBLKSIZE aligned chunk to the heap. */
-
-void GC_print_obj(/* ptr_t p */);
- /* P points to somewhere inside an object with */
- /* debugging info. Print a human readable */
- /* description of the object to stderr. */
-ptr_t GC_debug_object_start(/* ptr_t p */);
- /* P points to the start of an object that may */
- /* have debug info at its head. Return the */
- /* start of the real data. */
-extern void (*GC_check_heap)();
- /* Check that all objects in the heap with */
- /* debugging info are intact. Print */
- /* descriptions of any that are not. */
-extern void (*GC_print_heap_obj)(/* ptr_t p */);
- /* If possible print s followed by a more */
- /* detailed description of the object */
- /* referred to by p. */
-
-/* Virtual dirty bit implementation: */
-/* Each implementation exports the following: */
-void GC_read_dirty(); /* Retrieve dirty bits. */
-GC_bool GC_page_was_dirty(/* struct hblk * h */);
- /* Read retrieved dirty bits. */
-GC_bool GC_page_was_ever_dirty(/* struct hblk * h */);
- /* Could the page contain valid heap pointers? */
-void GC_is_fresh(/* struct hblk * h, word number_of_blocks */);
- /* Assert the region currently contains no */
- /* valid pointers. */
-void GC_write_hint(/* struct hblk * h */);
- /* h is about to be written. */
-void GC_dirty_init();
-
-/* Slow/general mark bit manipulation: */
-GC_bool GC_is_marked();
-void GC_clear_mark_bit();
-void GC_set_mark_bit();
-
-/* Stubborn objects: */
-void GC_read_changed(); /* Analogous to GC_read_dirty */
-GC_bool GC_page_was_changed(/* h */); /* Analogous to GC_page_was_dirty */
-void GC_clean_changing_list(); /* Collect obsolete changing list entries */
-void GC_stubborn_init();
-
-/* Debugging print routines: */
-void GC_print_block_list();
-void GC_print_hblkfreelist();
-void GC_print_heap_sects();
-void GC_print_static_roots();
-void GC_dump();
-
-/* Make arguments appear live to compiler */
-# ifdef __WATCOMC__
- void GC_noop(void*, ...);
-# else
- GC_API void GC_noop();
-# endif
-
-void GC_noop1(/* word arg */);
-
-/* Logging and diagnostic output: */
-GC_API void GC_printf GC_PROTO((char * format, long, long, long, long, long, long));
- /* A version of printf that doesn't allocate, */
- /* is restricted to long arguments, and */
- /* (unfortunately) doesn't use varargs for */
- /* portability. Restricted to 6 args and */
- /* 1K total output length. */
- /* (We use sprintf. Hopefully that doesn't */
- /* allocate for long arguments.) */
-# define GC_printf0(f) GC_printf(f, 0l, 0l, 0l, 0l, 0l, 0l)
-# define GC_printf1(f,a) GC_printf(f, (long)a, 0l, 0l, 0l, 0l, 0l)
-# define GC_printf2(f,a,b) GC_printf(f, (long)a, (long)b, 0l, 0l, 0l, 0l)
-# define GC_printf3(f,a,b,c) GC_printf(f, (long)a, (long)b, (long)c, 0l, 0l, 0l)
-# define GC_printf4(f,a,b,c,d) GC_printf(f, (long)a, (long)b, (long)c, \
- (long)d, 0l, 0l)
-# define GC_printf5(f,a,b,c,d,e) GC_printf(f, (long)a, (long)b, (long)c, \
- (long)d, (long)e, 0l)
-# define GC_printf6(f,a,b,c,d,e,g) GC_printf(f, (long)a, (long)b, (long)c, \
- (long)d, (long)e, (long)g)
-
-void GC_err_printf(/* format, a, b, c, d, e, f */);
-# define GC_err_printf0(f) GC_err_puts(f)
-# define GC_err_printf1(f,a) GC_err_printf(f, (long)a, 0l, 0l, 0l, 0l, 0l)
-# define GC_err_printf2(f,a,b) GC_err_printf(f, (long)a, (long)b, 0l, 0l, 0l, 0l)
-# define GC_err_printf3(f,a,b,c) GC_err_printf(f, (long)a, (long)b, (long)c, \
- 0l, 0l, 0l)
-# define GC_err_printf4(f,a,b,c,d) GC_err_printf(f, (long)a, (long)b, \
- (long)c, (long)d, 0l, 0l)
-# define GC_err_printf5(f,a,b,c,d,e) GC_err_printf(f, (long)a, (long)b, \
- (long)c, (long)d, \
- (long)e, 0l)
-# define GC_err_printf6(f,a,b,c,d,e,g) GC_err_printf(f, (long)a, (long)b, \
- (long)c, (long)d, \
- (long)e, (long)g)
- /* Ditto, writes to stderr. */
-
-void GC_err_puts(/* char *s */);
- /* Write s to stderr, don't buffer, don't add */
- /* newlines, don't ... */
-
-
-# endif /* GC_PRIVATE_H */
diff --git a/boehm-gc/gc_private.h b/boehm-gc/gc_private.h
deleted file mode 100644
index 3dd7c8553bb..00000000000
--- a/boehm-gc/gc_private.h
+++ /dev/null
@@ -1 +0,0 @@
-# include "gc_priv.h"
diff --git a/boehm-gc/gc_typed.h b/boehm-gc/gc_typed.h
deleted file mode 100644
index e4a6b94756e..00000000000
--- a/boehm-gc/gc_typed.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright 1996 Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Some simple primitives for allocation with explicit type information.
- * Facilities for dynamic type inference may be added later.
- * Should be used only for extremely performance critical applications,
- * or if conservative collector leakage is otherwise a problem (unlikely).
- * Note that this is implemented completely separately from the rest
- * of the collector, and is not linked in unless referenced.
- * This does not currently support GC_DEBUG in any interesting way.
- */
-/* Boehm, May 19, 1994 2:13 pm PDT */
-
-#ifndef _GC_TYPED_H
-# define _GC_TYPED_H
-# ifndef _GC_H
-# include "gc.h"
-# endif
-
-typedef GC_word * GC_bitmap;
- /* The least significant bit of the first word is one if */
- /* the first word in the object may be a pointer. */
-
-# define GC_get_bit(bm, index) \
- (((bm)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
-# define GC_set_bit(bm, index) \
- (bm)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
-
-typedef GC_word GC_descr;
-
-GC_API GC_descr GC_make_descriptor GC_PROTO((GC_bitmap bm, size_t len));
- /* Return a type descriptor for the object whose layout */
- /* is described by the argument. */
- /* The least significant bit of the first word is one */
- /* if the first word in the object may be a pointer. */
- /* The second argument specifies the number of */
- /* meaningful bits in the bitmap. The actual object */
- /* may be larger (but not smaller). Any additional */
- /* words in the object are assumed not to contain */
- /* pointers. */
- /* Returns a conservative approximation in the */
- /* (unlikely) case of insufficient memory to build */
- /* the descriptor. Calls to GC_make_descriptor */
- /* may consume some amount of a finite resource. This */
- /* is intended to be called once per type, not once */
- /* per allocation. */
-
-GC_API GC_PTR GC_malloc_explicitly_typed
- GC_PROTO((size_t size_in_bytes, GC_descr d));
- /* Allocate an object whose layout is described by d. */
- /* The resulting object MAY NOT BE PASSED TO REALLOC. */
-
-GC_API GC_PTR GC_malloc_explicitly_typed_ignore_off_page
- GC_PROTO((size_t size_in_bytes, GC_descr d));
-
-GC_API GC_PTR GC_calloc_explicitly_typed
- GC_PROTO((size_t nelements,
- size_t element_size_in_bytes,
- GC_descr d));
- /* Allocate an array of nelements elements, each of the */
- /* given size, and with the given descriptor. */
- /* The elemnt size must be a multiple of the byte */
- /* alignment required for pointers. E.g. on a 32-bit */
- /* machine with 16-bit aligned pointers, size_in_bytes */
- /* must be a multiple of 2. */
-
-#ifdef GC_DEBUG
-# define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) GC_MALLOC(bytes)
-# define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
-#else
-# define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) \
- GC_malloc_explicitly_typed(bytes, d)
-# define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) \
- GC_calloc_explicitly_typed(n, bytes, d)
-#endif /* !GC_DEBUG */
-
-
-#endif /* _GC_TYPED_H */
-
diff --git a/boehm-gc/gc_watcom.asm b/boehm-gc/gc_watcom.asm
deleted file mode 100644
index 5131ab96505..00000000000
--- a/boehm-gc/gc_watcom.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-
- name gc_watcom
-
-.386p
-
- extrn _edata : byte ; end of DATA (start of BSS)
- extrn _end : byte ; end of BSS (start of STACK)
- extrn __nullarea : word
-
- extrn "C",_STACKLOW : dword
- extrn "C",_STACKTOP : dword
-
-
-DGROUP group _DATA
-
-_DATA segment dword public 'DATA'
-_DATA ends
-
-_TEXT segment para public use32 'CODE'
- assume cs:_TEXT, ds:DGROUP, ss:DGROUP
-
- public Get_DATASTART
- align 4
-Get_DATASTART proc near
-
- mov eax,offset DGROUP:__nullarea
- ret
-
-Get_DATASTART endp
-
- public Get_DATAEND
- align 4
-Get_DATAEND proc near
-
- mov eax,offset DGROUP:_end
- ret
-
-Get_DATAEND endp
-
- public Get_STACKBOTTOM
- align 4
-Get_STACKBOTTOM proc near
-
- mov eax,_STACKTOP
- ret
-
-Get_STACKBOTTOM endp
-
-_TEXT ends
-
- end
diff --git a/boehm-gc/gcc_support.c b/boehm-gc/gcc_support.c
deleted file mode 100644
index e8a7b8201db..00000000000
--- a/boehm-gc/gcc_support.c
+++ /dev/null
@@ -1,516 +0,0 @@
-/***************************************************************************
-
-Interface between g++ and Boehm GC
-
- Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
-
- THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
- Permission is hereby granted to copy this code for any purpose,
- provided the above notices are retained on all copies.
-
- Last modified on Sun Jul 16 23:21:14 PDT 1995 by ellis
-
-This module provides runtime support for implementing the
-Ellis/Detlefs GC proposal, "Safe, Efficient Garbage Collection for
-C++", within g++, using its -fgc-keyword extension. It defines
-versions of __builtin_new, __builtin_new_gc, __builtin_vec_new,
-__builtin_vec_new_gc, __builtin_delete, and __builtin_vec_delete that
-invoke the Bohem GC. It also implements the WeakPointer.h interface.
-
-This module assumes the following configuration options of the Boehm GC:
-
- -DALL_INTERIOR_POINTERS
- -DDONT_ADD_BYTE_AT_END
-
-This module adds its own required padding to the end of objects to
-support C/C++ "one-past-the-object" pointer semantics.
-
-****************************************************************************/
-
-#include <stddef.h>
-#include "gc.h"
-
-#if defined(__STDC__)
-# define PROTO( args ) args
-#else
-# define PROTO( args ) ()
-# endif
-
-#define BITSPERBYTE 8
- /* What's the portable way to do this? */
-
-
-typedef void (*vfp) PROTO(( void ));
-extern vfp __new_handler;
-extern void __default_new_handler PROTO(( void ));
-
-
-/* A destructor_proc is the compiler generated procedure representing a
-C++ destructor. The "flag" argument is a hidden argument following some
-compiler convention. */
-
-typedef (*destructor_proc) PROTO(( void* this, int flag ));
-
-
-/***************************************************************************
-
-A BI_header is the header the compiler adds to the front of
-new-allocated arrays of objects with destructors. The header is
-padded out to a double, because that's what the compiler does to
-ensure proper alignment of array elements on some architectures.
-
-int NUM_ARRAY_ELEMENTS (void* o)
- returns the number of array elements for array object o.
-
-char* FIRST_ELEMENT_P (void* o)
- returns the address of the first element of array object o.
-
-***************************************************************************/
-
-typedef struct BI_header {
- int nelts;
- char padding [sizeof( double ) - sizeof( int )];
- /* Better way to do this? */
-} BI_header;
-
-#define NUM_ARRAY_ELEMENTS( o ) \
- (((BI_header*) o)->nelts)
-
-#define FIRST_ELEMENT_P( o ) \
- ((char*) o + sizeof( BI_header ))
-
-
-/***************************************************************************
-
-The __builtin_new routines add a descriptor word to the end of each
-object. The descriptor serves two purposes.
-
-First, the descriptor acts as padding, implementing C/C++ pointer
-semantics. C and C++ allow a valid array pointer to be incremented
-one past the end of an object. The extra padding ensures that the
-collector will recognize that such a pointer points to the object and
-not the next object in memory.
-
-Second, the descriptor stores three extra pieces of information,
-whether an object has a registered finalizer (destructor), whether it
-may have any weak pointers referencing it, and for collectible arrays,
-the element size of the array. The element size is required for the
-array's finalizer to iterate through the elements of the array. (An
-alternative design would have the compiler generate a finalizer
-procedure for each different array type. But given the overhead of
-finalization, there isn't any efficiency to be gained by that.)
-
-The descriptor must be added to non-collectible as well as collectible
-objects, since the Ellis/Detlefs proposal allows "pointer to gc T" to
-be assigned to a "pointer to T", which could then be deleted. Thus,
-__builtin_delete must determine at runtime whether an object is
-collectible, whether it has weak pointers referencing it, and whether
-it may have a finalizer that needs unregistering. Though
-GC_REGISTER_FINALIZER doesn't care if you ask it to unregister a
-finalizer for an object that doesn't have one, it is a non-trivial
-procedure that does a hash look-up, etc. The descriptor trades a
-little extra space for a significant increase in time on the fast path
-through delete. (A similar argument applies to
-GC_UNREGISTER_DISAPPEARING_LINK).
-
-For non-array types, the space for the descriptor could be shrunk to a
-single byte for storing the "has finalizer" flag. But this would save
-space only on arrays of char (whose size is not a multiple of the word
-size) and structs whose largest member is less than a word in size
-(very infrequent). And it would require that programmers actually
-remember to call "delete[]" instead of "delete" (which they should,
-but there are probably lots of buggy programs out there). For the
-moment, the space savings seems not worthwhile, especially considering
-that the Boehm GC is already quite space competitive with other
-malloc's.
-
-
-Given a pointer o to the base of an object:
-
-Descriptor* DESCRIPTOR (void* o)
- returns a pointer to the descriptor for o.
-
-The implementation of descriptors relies on the fact that the GC
-implementation allocates objects in units of the machine's natural
-word size (e.g. 32 bits on a SPARC, 64 bits on an Alpha).
-
-**************************************************************************/
-
-typedef struct Descriptor {
- unsigned has_weak_pointers: 1;
- unsigned has_finalizer: 1;
- unsigned element_size: BITSPERBYTE * sizeof( unsigned ) - 2;
-} Descriptor;
-
-#define DESCRIPTOR( o ) \
- ((Descriptor*) ((char*)(o) + GC_size( o ) - sizeof( Descriptor )))
-
-
-/**************************************************************************
-
-Implementations of global operator new() and operator delete()
-
-***************************************************************************/
-
-
-void* __builtin_new( size )
- size_t size;
- /*
- For non-gc non-array types, the compiler generates calls to
- __builtin_new, which allocates non-collected storage via
- GC_MALLOC_UNCOLLECTABLE. This ensures that the non-collected
- storage will be part of the collector's root set, required by the
- Ellis/Detlefs semantics. */
-{
- vfp handler = __new_handler ? __new_handler : __default_new_handler;
-
- while (1) {
- void* o = GC_MALLOC_UNCOLLECTABLE( size + sizeof( Descriptor ) );
- if (o != 0) return o;
- (*handler) ();}}
-
-
-void* __builtin_vec_new( size )
- size_t size;
- /*
- For non-gc array types, the compiler generates calls to
- __builtin_vec_new. */
-{
- return __builtin_new( size );}
-
-
-void* __builtin_new_gc( size )
- size_t size;
- /*
- For gc non-array types, the compiler generates calls to
- __builtin_new_gc, which allocates collected storage via
- GC_MALLOC. */
-{
- vfp handler = __new_handler ? __new_handler : __default_new_handler;
-
- while (1) {
- void* o = GC_MALLOC( size + sizeof( Descriptor ) );
- if (o != 0) return o;
- (*handler) ();}}
-
-
-void* __builtin_new_gc_a( size )
- size_t size;
- /*
- For non-pointer-containing gc non-array types, the compiler
- generates calls to __builtin_new_gc_a, which allocates collected
- storage via GC_MALLOC_ATOMIC. */
-{
- vfp handler = __new_handler ? __new_handler : __default_new_handler;
-
- while (1) {
- void* o = GC_MALLOC_ATOMIC( size + sizeof( Descriptor ) );
- if (o != 0) return o;
- (*handler) ();}}
-
-
-void* __builtin_vec_new_gc( size )
- size_t size;
- /*
- For gc array types, the compiler generates calls to
- __builtin_vec_new_gc. */
-{
- return __builtin_new_gc( size );}
-
-
-void* __builtin_vec_new_gc_a( size )
- size_t size;
- /*
- For non-pointer-containing gc array types, the compiler generates
- calls to __builtin_vec_new_gc_a. */
-{
- return __builtin_new_gc_a( size );}
-
-
-static void call_destructor( o, data )
- void* o;
- void* data;
- /*
- call_destructor is the GC finalizer proc registered for non-array
- gc objects with destructors. Its client data is the destructor
- proc, which it calls with the magic integer 2, a special flag
- obeying the compiler convention for destructors. */
-{
- ((destructor_proc) data)( o, 2 );}
-
-
-void* __builtin_new_gc_dtor( o, d )
- void* o;
- destructor_proc d;
- /*
- The compiler generates a call to __builtin_new_gc_dtor to register
- the destructor "d" of a non-array gc object "o" as a GC finalizer.
- The destructor is registered via
- GC_REGISTER_FINALIZER_IGNORE_SELF, which causes the collector to
- ignore pointers from the object to itself when determining when
- the object can be finalized. This is necessary due to the self
- pointers used in the internal representation of multiply-inherited
- objects. */
-{
- Descriptor* desc = DESCRIPTOR( o );
-
- GC_REGISTER_FINALIZER_IGNORE_SELF( o, call_destructor, d, 0, 0 );
- desc->has_finalizer = 1;}
-
-
-static void call_array_destructor( o, data )
- void* o;
- void* data;
- /*
- call_array_destructor is the GC finalizer proc registered for gc
- array objects whose elements have destructors. Its client data is
- the destructor proc. It iterates through the elements of the
- array in reverse order, calling the destructor on each. */
-{
- int num = NUM_ARRAY_ELEMENTS( o );
- Descriptor* desc = DESCRIPTOR( o );
- size_t size = desc->element_size;
- char* first_p = FIRST_ELEMENT_P( o );
- char* p = first_p + (num - 1) * size;
-
- if (num > 0) {
- while (1) {
- ((destructor_proc) data)( p, 2 );
- if (p == first_p) break;
- p -= size;}}}
-
-
-void* __builtin_vec_new_gc_dtor( first_elem, d, element_size )
- void* first_elem;
- destructor_proc d;
- size_t element_size;
- /*
- The compiler generates a call to __builtin_vec_new_gc_dtor to
- register the destructor "d" of a gc array object as a GC
- finalizer. "first_elem" points to the first element of the array,
- *not* the beginning of the object (this makes the generated call
- to this function smaller). The elements of the array are of size
- "element_size". The destructor is registered as in
- _builtin_new_gc_dtor. */
-{
- void* o = (char*) first_elem - sizeof( BI_header );
- Descriptor* desc = DESCRIPTOR( o );
-
- GC_REGISTER_FINALIZER_IGNORE_SELF( o, call_array_destructor, d, 0, 0 );
- desc->element_size = element_size;
- desc->has_finalizer = 1;}
-
-
-void __builtin_delete( o )
- void* o;
- /*
- The compiler generates calls to __builtin_delete for operator
- delete(). The GC currently requires that any registered
- finalizers be unregistered before explicitly freeing an object.
- If the object has any weak pointers referencing it, we can't
- actually free it now. */
-{
- if (o != 0) {
- Descriptor* desc = DESCRIPTOR( o );
- if (desc->has_finalizer) GC_REGISTER_FINALIZER( o, 0, 0, 0, 0 );
- if (! desc->has_weak_pointers) GC_FREE( o );}}
-
-
-void __builtin_vec_delete( o )
- void* o;
- /*
- The compiler generates calls to __builitn_vec_delete for operator
- delete[](). */
-{
- __builtin_delete( o );}
-
-
-/**************************************************************************
-
-Implementations of the template class WeakPointer from WeakPointer.h
-
-***************************************************************************/
-
-typedef struct WeakPointer {
- void* pointer;
-} WeakPointer;
-
-
-void* _WeakPointer_New( t )
- void* t;
-{
- if (t == 0) {
- return 0;}
- else {
- void* base = GC_base( t );
- WeakPointer* wp =
- (WeakPointer*) GC_MALLOC_ATOMIC( sizeof( WeakPointer ) );
- Descriptor* desc = DESCRIPTOR( base );
-
- wp->pointer = t;
- desc->has_weak_pointers = 1;
- GC_general_register_disappearing_link( &wp->pointer, base );
- return wp;}}
-
-
-static void* PointerWithLock( wp )
- WeakPointer* wp;
-{
- if (wp == 0 || wp->pointer == 0) {
- return 0;}
- else {
- return (void*) wp->pointer;}}
-
-
-void* _WeakPointer_Pointer( wp )
- WeakPointer* wp;
-{
- return (void*) GC_call_with_alloc_lock( PointerWithLock, wp );}
-
-
-typedef struct EqualClosure {
- WeakPointer* wp1;
- WeakPointer* wp2;
-} EqualClosure;
-
-
-static void* EqualWithLock( ec )
- EqualClosure* ec;
-{
- if (ec->wp1 == 0 || ec->wp2 == 0) {
- return (void*) (ec->wp1 == ec->wp2);}
- else {
- return (void*) (ec->wp1->pointer == ec->wp2->pointer);}}
-
-
-int _WeakPointer_Equal( wp1, wp2 )
- WeakPointer* wp1;
- WeakPointer* wp2;
-{
- EqualClosure ec;
-
- ec.wp1 = wp1;
- ec.wp2 = wp2;
- return (int) GC_call_with_alloc_lock( EqualWithLock, &ec );}
-
-
-int _WeakPointer_Hash( wp )
- WeakPointer* wp;
-{
- return (int) _WeakPointer_Pointer( wp );}
-
-
-/**************************************************************************
-
-Implementations of the template class CleanUp from WeakPointer.h
-
-***************************************************************************/
-
-typedef struct Closure {
- void (*c) PROTO(( void* d, void* t ));
- ptrdiff_t t_offset;
- void* d;
-} Closure;
-
-
-static void _CleanUp_CallClosure( obj, data )
- void* obj;
- void* data;
-{
- Closure* closure = (Closure*) data;
- closure->c( closure->d, (char*) obj + closure->t_offset );}
-
-
-void _CleanUp_Set( t, c, d )
- void* t;
- void (*c) PROTO(( void* d, void* t ));
- void* d;
-{
- void* base = GC_base( t );
- Descriptor* desc = DESCRIPTOR( t );
-
- if (c == 0) {
- GC_REGISTER_FINALIZER_IGNORE_SELF( base, 0, 0, 0, 0 );
- desc->has_finalizer = 0;}
- else {
- Closure* closure = (Closure*) GC_MALLOC( sizeof( Closure ) );
- closure->c = c;
- closure->t_offset = (char*) t - (char*) base;
- closure->d = d;
- GC_REGISTER_FINALIZER_IGNORE_SELF( base, _CleanUp_CallClosure,
- closure, 0, 0 );
- desc->has_finalizer = 1;}}
-
-
-void _CleanUp_Call( t )
- void* t;
-{
- /* ? Aren't we supposed to deactivate weak pointers to t too?
- Why? */
- void* base = GC_base( t );
- void* d;
- GC_finalization_proc f;
-
- GC_REGISTER_FINALIZER( base, 0, 0, &f, &d );
- f( base, d );}
-
-
-typedef struct QueueElem {
- void* o;
- GC_finalization_proc f;
- void* d;
- struct QueueElem* next;
-} QueueElem;
-
-
-void* _CleanUp_Queue_NewHead()
-{
- return GC_MALLOC( sizeof( QueueElem ) );}
-
-
-static void _CleanUp_Queue_Enqueue( obj, data )
- void* obj;
- void* data;
-{
- QueueElem* q = (QueueElem*) data;
- QueueElem* head = q->next;
-
- q->o = obj;
- q->next = head->next;
- head->next = q;}
-
-
-void _CleanUp_Queue_Set( h, t )
- void* h;
- void* t;
-{
- QueueElem* head = (QueueElem*) h;
- void* base = GC_base( t );
- void* d;
- GC_finalization_proc f;
- QueueElem* q = (QueueElem*) GC_MALLOC( sizeof( QueueElem ) );
-
- GC_REGISTER_FINALIZER( base, _CleanUp_Queue_Enqueue, q, &f, &d );
- q->f = f;
- q->d = d;
- q->next = head;}
-
-
-int _CleanUp_Queue_Call( h )
- void* h;
-{
- QueueElem* head = (QueueElem*) h;
- QueueElem* q = head->next;
-
- if (q == 0) {
- return 0;}
- else {
- head->next = q->next;
- q->next = 0;
- if (q->f != 0) q->f( q->o, q->d );
- return 1;}}
-
-
-
diff --git a/boehm-gc/headers.c b/boehm-gc/headers.c
deleted file mode 100644
index b5cc1af8a8d..00000000000
--- a/boehm-gc/headers.c
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * This implements:
- * 1. allocation of heap block headers
- * 2. A map from addresses to heap block addresses to heap block headers
- *
- * Access speed is crucial. We implement an index structure based on a 2
- * level tree.
- */
-
-# include "gc_priv.h"
-
-bottom_index * GC_all_bottom_indices = 0;
-
-/* Non-macro version of header location routine */
-hdr * GC_find_header(h)
-ptr_t h;
-{
-# ifdef HASH_TL
- register hdr * result;
- GET_HDR(h, result);
- return(result);
-# else
- return(HDR_INNER(h));
-# endif
-}
-
-/* Routines to dynamically allocate collector data structures that will */
-/* never be freed. */
-
-static ptr_t scratch_free_ptr = 0;
-
-ptr_t GC_scratch_end_ptr = 0;
-
-ptr_t GC_scratch_last_end_ptr = 0;
- /* End point of last obtained scratch area */
-
-ptr_t GC_scratch_alloc(bytes)
-register word bytes;
-{
- register ptr_t result = scratch_free_ptr;
- register word bytes_needed = bytes;
-
-# ifdef ALIGN_DOUBLE
-# define GRANULARITY (2 * sizeof(word))
-# else
-# define GRANULARITY sizeof(word)
-# endif
- bytes += GRANULARITY-1;
- bytes &= ~(GRANULARITY-1);
- scratch_free_ptr += bytes;
- if (scratch_free_ptr <= GC_scratch_end_ptr) {
- return(result);
- }
- {
- word bytes_to_get = MINHINCR * HBLKSIZE;
-
- if (bytes_to_get <= bytes) {
- /* Undo the damage, and get memory directly */
- bytes_to_get = bytes;
-# ifdef USE_MMAP
- bytes_to_get += GC_page_size - 1;
- bytes_to_get &= ~(GC_page_size - 1);
-# endif
- result = (ptr_t)GET_MEM(bytes_to_get);
- scratch_free_ptr -= bytes;
- GC_scratch_last_end_ptr = result + bytes;
- return(result);
- }
- result = (ptr_t)GET_MEM(bytes_to_get);
- if (result == 0) {
-# ifdef PRINTSTATS
- GC_printf0("Out of memory - trying to allocate less\n");
-# endif
- scratch_free_ptr -= bytes;
- bytes_to_get = bytes;
-# ifdef USE_MMAP
- bytes_to_get += GC_page_size - 1;
- bytes_to_get &= (GC_page_size - 1);
-# endif
- return((ptr_t)GET_MEM(bytes_to_get));
- }
- scratch_free_ptr = result;
- GC_scratch_end_ptr = scratch_free_ptr + bytes_to_get;
- GC_scratch_last_end_ptr = GC_scratch_end_ptr;
- return(GC_scratch_alloc(bytes));
- }
-}
-
-static hdr * hdr_free_list = 0;
-
-/* Return an uninitialized header */
-static hdr * alloc_hdr()
-{
- register hdr * result;
-
- if (hdr_free_list == 0) {
- result = (hdr *) GC_scratch_alloc((word)(sizeof(hdr)));
- } else {
- result = hdr_free_list;
- hdr_free_list = (hdr *) (result -> hb_next);
- }
- return(result);
-}
-
-static void free_hdr(hhdr)
-hdr * hhdr;
-{
- hhdr -> hb_next = (struct hblk *) hdr_free_list;
- hdr_free_list = hhdr;
-}
-
-void GC_init_headers()
-{
- register int i;
-
- GC_all_nils = (bottom_index *)GC_scratch_alloc((word)sizeof(bottom_index));
- BZERO(GC_all_nils, sizeof(bottom_index));
- for (i = 0; i < TOP_SZ; i++) {
- GC_top_index[i] = GC_all_nils;
- }
-}
-
-/* Make sure that there is a bottom level index block for address addr */
-/* Return FALSE on failure. */
-static GC_bool get_index(addr)
-register word addr;
-{
- register word hi =
- (word)(addr) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE);
- register bottom_index * r;
- register bottom_index * p;
- register bottom_index ** prev;
-# ifdef HASH_TL
- register unsigned i = TL_HASH(hi);
- register bottom_index * old;
-
- old = p = GC_top_index[i];
- while(p != GC_all_nils) {
- if (p -> key == hi) return(TRUE);
- p = p -> hash_link;
- }
- r = (bottom_index*)GC_scratch_alloc((word)(sizeof (bottom_index)));
- if (r == 0) return(FALSE);
- BZERO(r, sizeof (bottom_index));
- r -> hash_link = old;
- GC_top_index[i] = r;
-# else
- if (GC_top_index[hi] != GC_all_nils) return(TRUE);
- r = (bottom_index*)GC_scratch_alloc((word)(sizeof (bottom_index)));
- if (r == 0) return(FALSE);
- GC_top_index[hi] = r;
- BZERO(r, sizeof (bottom_index));
-# endif
- r -> key = hi;
- /* Add it to the list of bottom indices */
- prev = &GC_all_bottom_indices;
- while ((p = *prev) != 0 && p -> key < hi) prev = &(p -> asc_link);
- r -> asc_link = p;
- *prev = r;
- return(TRUE);
-}
-
-/* Install a header for block h. */
-/* The header is uninitialized. */
-/* Returns FALSE on failure. */
-GC_bool GC_install_header(h)
-register struct hblk * h;
-{
- hdr * result;
-
- if (!get_index((word) h)) return(FALSE);
- result = alloc_hdr();
- SET_HDR(h, result);
- return(result != 0);
-}
-
-/* Set up forwarding counts for block h of size sz */
-GC_bool GC_install_counts(h, sz)
-register struct hblk * h;
-register word sz; /* bytes */
-{
- register struct hblk * hbp;
- register int i;
-
- for (hbp = h; (char *)hbp < (char *)h + sz; hbp += BOTTOM_SZ) {
- if (!get_index((word) hbp)) return(FALSE);
- }
- if (!get_index((word)h + sz - 1)) return(FALSE);
- for (hbp = h + 1; (char *)hbp < (char *)h + sz; hbp += 1) {
- i = HBLK_PTR_DIFF(hbp, h);
- SET_HDR(hbp, (hdr *)(i > MAX_JUMP? MAX_JUMP : i));
- }
- return(TRUE);
-}
-
-/* Remove the header for block h */
-void GC_remove_header(h)
-register struct hblk * h;
-{
- hdr ** ha;
-
- GET_HDR_ADDR(h, ha);
- free_hdr(*ha);
- *ha = 0;
-}
-
-/* Remove forwarding counts for h */
-void GC_remove_counts(h, sz)
-register struct hblk * h;
-register word sz; /* bytes */
-{
- register struct hblk * hbp;
-
- for (hbp = h+1; (char *)hbp < (char *)h + sz; hbp += 1) {
- SET_HDR(hbp, 0);
- }
-}
-
-/* Apply fn to all allocated blocks */
-/*VARARGS1*/
-void GC_apply_to_all_blocks(fn, client_data)
-void (*fn)(/* struct hblk *h, word client_data */);
-word client_data;
-{
- register int j;
- register bottom_index * index_p;
-
- for (index_p = GC_all_bottom_indices; index_p != 0;
- index_p = index_p -> asc_link) {
- for (j = BOTTOM_SZ-1; j >= 0;) {
- if (!IS_FORWARDING_ADDR_OR_NIL(index_p->index[j])) {
- if (index_p->index[j]->hb_map != GC_invalid_map) {
- (*fn)(((struct hblk *)
- (((index_p->key << LOG_BOTTOM_SZ) + (word)j)
- << LOG_HBLKSIZE)),
- client_data);
- }
- j--;
- } else if (index_p->index[j] == 0) {
- j--;
- } else {
- j -= (word)(index_p->index[j]);
- }
- }
- }
-}
-
-/* Get the next valid block whose address is at least h */
-/* Return 0 if there is none. */
-struct hblk * GC_next_block(h)
-struct hblk * h;
-{
- register bottom_index * bi;
- register word j = ((word)h >> LOG_HBLKSIZE) & (BOTTOM_SZ-1);
-
- GET_BI(h, bi);
- if (bi == GC_all_nils) {
- register word hi = (word)h >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE);
- bi = GC_all_bottom_indices;
- while (bi != 0 && bi -> key < hi) bi = bi -> asc_link;
- j = 0;
- }
- while(bi != 0) {
- while (j < BOTTOM_SZ) {
- if (IS_FORWARDING_ADDR_OR_NIL(bi -> index[j])) {
- j++;
- } else {
- if (bi->index[j]->hb_map != GC_invalid_map) {
- return((struct hblk *)
- (((bi -> key << LOG_BOTTOM_SZ) + j)
- << LOG_HBLKSIZE));
- } else {
- j += divHBLKSZ(bi->index[j] -> hb_sz);
- }
- }
- }
- j = 0;
- bi = bi -> asc_link;
- }
- return(0);
-}
diff --git a/boehm-gc/if_mach.c b/boehm-gc/if_mach.c
deleted file mode 100644
index da2b7f90a62..00000000000
--- a/boehm-gc/if_mach.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Conditionally execute a command based on machine and OS from config.h */
-/* Boehm, November 21, 1994 1:40 pm PST */
-# include "config.h"
-# include <stdio.h>
-
-int main(argc, argv, envp)
-int argc;
-char ** argv;
-char ** envp;
-{
- if (argc < 4) goto Usage;
- if (strcmp(MACH_TYPE, argv[1]) != 0) return(0);
- if (strcmp(OS_TYPE, "") != 0 && strcmp(argv[2], "") != 0
- && strcmp(OS_TYPE, argv[2]) != 0) return(0);
- printf("^^^^Starting command^^^^\n");
- execvp(argv[3], argv+3);
- perror("Couldn't execute");
-
-Usage:
- fprintf(stderr, "Usage: %s mach_type os_type command\n", argv[0]);
- fprintf(stderr, "Currently mach_type = %s, os_type = %s\n",
- MACH_TYPE, OS_TYPE);
- return(1);
-}
-
diff --git a/boehm-gc/if_not_there.c b/boehm-gc/if_not_there.c
deleted file mode 100644
index 9616309d824..00000000000
--- a/boehm-gc/if_not_there.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Conditionally execute a command based if the file argv[1] doesn't exist */
-/* Except for execvp, we stick to ANSI C. */
-# include "config.h"
-# include <stdio.h>
-
-int main(argc, argv, envp)
-int argc;
-char ** argv;
-char ** envp;
-{
- FILE * f;
- if (argc < 3) goto Usage;
- if ((f = fopen(argv[1], "rb")) != 0
- || (f = fopen(argv[1], "r")) != 0) {
- fclose(f);
- return(0);
- }
- printf("^^^^Starting command^^^^\n");
- execvp(argv[2], argv+2);
- exit(1);
-
-Usage:
- fprintf(stderr, "Usage: %s file_name command\n", argv[0]);
- return(1);
-}
-
diff --git a/boehm-gc/include/cord.h b/boehm-gc/include/cord.h
deleted file mode 100644
index 584112fd181..00000000000
--- a/boehm-gc/include/cord.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * Author: Hans-J. Boehm (boehm@parc.xerox.com)
- */
-/* Boehm, October 5, 1995 4:20 pm PDT */
-
-/*
- * Cords are immutable character strings. A number of operations
- * on long cords are much more efficient than their strings.h counterpart.
- * In particular, concatenation takes constant time independent of the length
- * of the arguments. (Cords are represented as trees, with internal
- * nodes representing concatenation and leaves consisting of either C
- * strings or a functional description of the string.)
- *
- * The following are reasonable applications of cords. They would perform
- * unacceptably if C strings were used:
- * - A compiler that produces assembly language output by repeatedly
- * concatenating instructions onto a cord representing the output file.
- * - A text editor that converts the input file to a cord, and then
- * performs editing operations by producing a new cord representing
- * the file after echa character change (and keeping the old ones in an
- * edit history)
- *
- * For optimal performance, cords should be built by
- * concatenating short sections.
- * This interface is designed for maximum compatibility with C strings.
- * ASCII NUL characters may be embedded in cords using CORD_from_fn.
- * This is handled correctly, but CORD_to_char_star will produce a string
- * with embedded NULs when given such a cord.
- *
- * This interface is fairly big, largely for performance reasons.
- * The most basic constants and functions:
- *
- * CORD - the type fo a cord;
- * CORD_EMPTY - empty cord;
- * CORD_len(cord) - length of a cord;
- * CORD_cat(cord1,cord2) - concatenation of two cords;
- * CORD_substr(cord, start, len) - substring (or subcord);
- * CORD_pos i; CORD_FOR(i, cord) { ... CORD_pos_fetch(i) ... } -
- * examine each character in a cord. CORD_pos_fetch(i) is the char.
- * CORD_fetch(int i) - Retrieve i'th character (slowly).
- * CORD_cmp(cord1, cord2) - compare two cords.
- * CORD_from_file(FILE * f) - turn a read-only file into a cord.
- * CORD_to_char_star(cord) - convert to C string.
- * (Non-NULL C constant strings are cords.)
- * CORD_printf (etc.) - cord version of printf. Use %r for cords.
- */
-# ifndef CORD_H
-
-# define CORD_H
-# include <stddef.h>
-# include <stdio.h>
-/* Cords have type const char *. This is cheating quite a bit, and not */
-/* 100% portable. But it means that nonempty character string */
-/* constants may be used as cords directly, provided the string is */
-/* never modified in place. The empty cord is represented by, and */
-/* can be written as, 0. */
-
-typedef const char * CORD;
-
-/* An empty cord is always represented as nil */
-# define CORD_EMPTY 0
-
-/* Is a nonempty cord represented as a C string? */
-#define CORD_IS_STRING(s) (*(s) != '\0')
-
-/* Concatenate two cords. If the arguments are C strings, they may */
-/* not be subsequently altered. */
-CORD CORD_cat(CORD x, CORD y);
-
-/* Concatenate a cord and a C string with known length. Except for the */
-/* empty string case, this is a special case of CORD_cat. Since the */
-/* length is known, it can be faster. */
-/* The string y is shared with the resulting CORD. Hence it should */
-/* not be altered by the caller. */
-CORD CORD_cat_char_star(CORD x, const char * y, size_t leny);
-
-/* Compute the length of a cord */
-size_t CORD_len(CORD x);
-
-/* Cords may be represented by functions defining the ith character */
-typedef char (* CORD_fn)(size_t i, void * client_data);
-
-/* Turn a functional description into a cord. */
-CORD CORD_from_fn(CORD_fn fn, void * client_data, size_t len);
-
-/* Return the substring (subcord really) of x with length at most n, */
-/* starting at position i. (The initial character has position 0.) */
-CORD CORD_substr(CORD x, size_t i, size_t n);
-
-/* Return the argument, but rebalanced to allow more efficient */
-/* character retrieval, substring operations, and comparisons. */
-/* This is useful only for cords that were built using repeated */
-/* concatenation. Guarantees log time access to the result, unless */
-/* x was obtained through a large number of repeated substring ops */
-/* or the embedded functional descriptions take longer to evaluate. */
-/* May reallocate significant parts of the cord. The argument is not */
-/* modified; only the result is balanced. */
-CORD CORD_balance(CORD x);
-
-/* The following traverse a cord by applying a function to each */
-/* character. This is occasionally appropriate, especially where */
-/* speed is crucial. But, since C doesn't have nested functions, */
-/* clients of this sort of traversal are clumsy to write. Consider */
-/* the functions that operate on cord positions instead. */
-
-/* Function to iteratively apply to individual characters in cord. */
-typedef int (* CORD_iter_fn)(char c, void * client_data);
-
-/* Function to apply to substrings of a cord. Each substring is a */
-/* a C character string, not a general cord. */
-typedef int (* CORD_batched_iter_fn)(const char * s, void * client_data);
-# define CORD_NO_FN ((CORD_batched_iter_fn)0)
-
-/* Apply f1 to each character in the cord, in ascending order, */
-/* starting at position i. If */
-/* f2 is not CORD_NO_FN, then multiple calls to f1 may be replaced by */
-/* a single call to f2. The parameter f2 is provided only to allow */
-/* some optimization by the client. This terminates when the right */
-/* end of this string is reached, or when f1 or f2 return != 0. In the */
-/* latter case CORD_iter returns != 0. Otherwise it returns 0. */
-/* The specified value of i must be < CORD_len(x). */
-int CORD_iter5(CORD x, size_t i, CORD_iter_fn f1,
- CORD_batched_iter_fn f2, void * client_data);
-
-/* A simpler version that starts at 0, and without f2: */
-int CORD_iter(CORD x, CORD_iter_fn f1, void * client_data);
-# define CORD_iter(x, f1, cd) CORD_iter5(x, 0, f1, CORD_NO_FN, cd)
-
-/* Similar to CORD_iter5, but end-to-beginning. No provisions for */
-/* CORD_batched_iter_fn. */
-int CORD_riter4(CORD x, size_t i, CORD_iter_fn f1, void * client_data);
-
-/* A simpler version that starts at the end: */
-int CORD_riter(CORD x, CORD_iter_fn f1, void * client_data);
-
-/* Functions that operate on cord positions. The easy way to traverse */
-/* cords. A cord position is logically a pair consisting of a cord */
-/* and an index into that cord. But it is much faster to retrieve a */
-/* charcter based on a position than on an index. Unfortunately, */
-/* positions are big (order of a few 100 bytes), so allocate them with */
-/* caution. */
-/* Things in cord_pos.h should be treated as opaque, except as */
-/* described below. Also note that */
-/* CORD_pos_fetch, CORD_next and CORD_prev have both macro and function */
-/* definitions. The former may evaluate their argument more than once. */
-# include "private/cord_pos.h"
-
-/*
- Visible definitions from above:
-
- typedef <OPAQUE but fairly big> CORD_pos[1];
-
- * Extract the cord from a position:
- CORD CORD_pos_to_cord(CORD_pos p);
-
- * Extract the current index from a position:
- size_t CORD_pos_to_index(CORD_pos p);
-
- * Fetch the character located at the given position:
- char CORD_pos_fetch(CORD_pos p);
-
- * Initialize the position to refer to the given cord and index.
- * Note that this is the most expensive function on positions:
- void CORD_set_pos(CORD_pos p, CORD x, size_t i);
-
- * Advance the position to the next character.
- * P must be initialized and valid.
- * Invalidates p if past end:
- void CORD_next(CORD_pos p);
-
- * Move the position to the preceding character.
- * P must be initialized and valid.
- * Invalidates p if past beginning:
- void CORD_prev(CORD_pos p);
-
- * Is the position valid, i.e. inside the cord?
- int CORD_pos_valid(CORD_pos p);
-*/
-# define CORD_FOR(pos, cord) \
- for (CORD_set_pos(pos, cord, 0); CORD_pos_valid(pos); CORD_next(pos))
-
-
-/* An out of memory handler to call. May be supplied by client. */
-/* Must not return. */
-extern void (* CORD_oom_fn)(void);
-
-/* Dump the representation of x to stdout in an implementation defined */
-/* manner. Intended for debugging only. */
-void CORD_dump(CORD x);
-
-/* The following could easily be implemented by the client. They are */
-/* provided in cordxtra.c for convenience. */
-
-/* Concatenate a character to the end of a cord. */
-CORD CORD_cat_char(CORD x, char c);
-
-/* Concatenate n cords. */
-CORD CORD_catn(int n, /* CORD */ ...);
-
-/* Return the character in CORD_substr(x, i, 1) */
-char CORD_fetch(CORD x, size_t i);
-
-/* Return < 0, 0, or > 0, depending on whether x < y, x = y, x > y */
-int CORD_cmp(CORD x, CORD y);
-
-/* A generalization that takes both starting positions for the */
-/* comparison, and a limit on the number of characters to be compared. */
-int CORD_ncmp(CORD x, size_t x_start, CORD y, size_t y_start, size_t len);
-
-/* Find the first occurrence of s in x at position start or later. */
-/* Return the position of the first character of s in x, or */
-/* CORD_NOT_FOUND if there is none. */
-size_t CORD_str(CORD x, size_t start, CORD s);
-
-/* Return a cord consisting of i copies of (possibly NUL) c. Dangerous */
-/* in conjunction with CORD_to_char_star. */
-/* The resulting representation takes constant space, independent of i. */
-CORD CORD_chars(char c, size_t i);
-# define CORD_nul(i) CORD_chars('\0', (i))
-
-/* Turn a file into cord. The file must be seekable. Its contents */
-/* must remain constant. The file may be accessed as an immediate */
-/* result of this call and/or as a result of subsequent accesses to */
-/* the cord. Short files are likely to be immediately read, but */
-/* long files are likely to be read on demand, possibly relying on */
-/* stdio for buffering. */
-/* We must have exclusive access to the descriptor f, i.e. we may */
-/* read it at any time, and expect the file pointer to be */
-/* where we left it. Normally this should be invoked as */
-/* CORD_from_file(fopen(...)) */
-/* CORD_from_file arranges to close the file descriptor when it is no */
-/* longer needed (e.g. when the result becomes inaccessible). */
-/* The file f must be such that ftell reflects the actual character */
-/* position in the file, i.e. the number of characters that can be */
-/* or were read with fread. On UNIX systems this is always true. On */
-/* MS Windows systems, f must be opened in binary mode. */
-CORD CORD_from_file(FILE * f);
-
-/* Equivalent to the above, except that the entire file will be read */
-/* and the file pointer will be closed immediately. */
-/* The binary mode restriction from above does not apply. */
-CORD CORD_from_file_eager(FILE * f);
-
-/* Equivalent to the above, except that the file will be read on demand.*/
-/* The binary mode restriction applies. */
-CORD CORD_from_file_lazy(FILE * f);
-
-/* Turn a cord into a C string. The result shares no structure with */
-/* x, and is thus modifiable. */
-char * CORD_to_char_star(CORD x);
-
-/* Turn a C string into a CORD. The C string is copied, and so may */
-/* subsequently be modified. */
-CORD CORD_from_char_star(const char *s);
-
-/* Identical to the above, but the result may share structure with */
-/* the argument and is thus not modifiable. */
-const char * CORD_to_const_char_star(CORD x);
-
-/* Write a cord to a file, starting at the current position. No */
-/* trailing NULs are newlines are added. */
-/* Returns EOF if a write error occurs, 1 otherwise. */
-int CORD_put(CORD x, FILE * f);
-
-/* "Not found" result for the following two functions. */
-# define CORD_NOT_FOUND ((size_t)(-1))
-
-/* A vague analog of strchr. Returns the position (an integer, not */
-/* a pointer) of the first occurrence of (char) c inside x at position */
-/* i or later. The value i must be < CORD_len(x). */
-size_t CORD_chr(CORD x, size_t i, int c);
-
-/* A vague analog of strrchr. Returns index of the last occurrence */
-/* of (char) c inside x at position i or earlier. The value i */
-/* must be < CORD_len(x). */
-size_t CORD_rchr(CORD x, size_t i, int c);
-
-
-/* The following are also not primitive, but are implemented in */
-/* cordprnt.c. They provide functionality similar to the ANSI C */
-/* functions with corresponding names, but with the following */
-/* additions and changes: */
-/* 1. A %r conversion specification specifies a CORD argument. Field */
-/* width, precision, etc. have the same semantics as for %s. */
-/* (Note that %c,%C, and %S were already taken.) */
-/* 2. The format string is represented as a CORD. */
-/* 3. CORD_sprintf and CORD_vsprintf assign the result through the 1st */ /* argument. Unlike their ANSI C versions, there is no need to guess */
-/* the correct buffer size. */
-/* 4. Most of the conversions are implement through the native */
-/* vsprintf. Hence they are usually no faster, and */
-/* idiosyncracies of the native printf are preserved. However, */
-/* CORD arguments to CORD_sprintf and CORD_vsprintf are NOT copied; */
-/* the result shares the original structure. This may make them */
-/* very efficient in some unusual applications. */
-/* The format string is copied. */
-/* All functions return the number of characters generated or -1 on */
-/* error. This complies with the ANSI standard, but is inconsistent */
-/* with some older implementations of sprintf. */
-
-/* The implementation of these is probably less portable than the rest */
-/* of this package. */
-
-#ifndef CORD_NO_IO
-
-#include <stdarg.h>
-
-int CORD_sprintf(CORD * out, CORD format, ...);
-int CORD_vsprintf(CORD * out, CORD format, va_list args);
-int CORD_fprintf(FILE * f, CORD format, ...);
-int CORD_vfprintf(FILE * f, CORD format, va_list args);
-int CORD_printf(CORD format, ...);
-int CORD_vprintf(CORD format, va_list args);
-
-#endif /* CORD_NO_IO */
-
-# endif /* CORD_H */
diff --git a/boehm-gc/include/ec.h b/boehm-gc/include/ec.h
deleted file mode 100644
index c829b83ad11..00000000000
--- a/boehm-gc/include/ec.h
+++ /dev/null
@@ -1,70 +0,0 @@
-# ifndef EC_H
-# define EC_H
-
-# ifndef CORD_H
-# include "cord.h"
-# endif
-
-/* Extensible cords are strings that may be destructively appended to. */
-/* They allow fast construction of cords from characters that are */
-/* being read from a stream. */
-/*
- * A client might look like:
- *
- * {
- * CORD_ec x;
- * CORD result;
- * char c;
- * FILE *f;
- *
- * ...
- * CORD_ec_init(x);
- * while(...) {
- * c = getc(f);
- * ...
- * CORD_ec_append(x, c);
- * }
- * result = CORD_balance(CORD_ec_to_cord(x));
- *
- * If a C string is desired as the final result, the call to CORD_balance
- * may be replaced by a call to CORD_to_char_star.
- */
-
-# ifndef CORD_BUFSZ
-# define CORD_BUFSZ 128
-# endif
-
-typedef struct CORD_ec_struct {
- CORD ec_cord;
- char * ec_bufptr;
- char ec_buf[CORD_BUFSZ+1];
-} CORD_ec[1];
-
-/* This structure represents the concatenation of ec_cord with */
-/* ec_buf[0 ... (ec_bufptr-ec_buf-1)] */
-
-/* Flush the buffer part of the extended chord into ec_cord. */
-/* Note that this is almost the only real function, and it is */
-/* implemented in 6 lines in cordxtra.c */
-void CORD_ec_flush_buf(CORD_ec x);
-
-/* Convert an extensible cord to a cord. */
-# define CORD_ec_to_cord(x) (CORD_ec_flush_buf(x), (x)[0].ec_cord)
-
-/* Initialize an extensible cord. */
-# define CORD_ec_init(x) ((x)[0].ec_cord = 0, (x)[0].ec_bufptr = (x)[0].ec_buf)
-
-/* Append a character to an extensible cord. */
-# define CORD_ec_append(x, c) \
- { \
- if ((x)[0].ec_bufptr == (x)[0].ec_buf + CORD_BUFSZ) { \
- CORD_ec_flush_buf(x); \
- } \
- *((x)[0].ec_bufptr)++ = (c); \
- }
-
-/* Append a cord to an extensible cord. Structure remains shared with */
-/* original. */
-void CORD_ec_append_cord(CORD_ec x, CORD s);
-
-# endif /* EC_H */
diff --git a/boehm-gc/include/gc.h b/boehm-gc/include/gc.h
deleted file mode 100644
index 09c8ca8196c..00000000000
--- a/boehm-gc/include/gc.h
+++ /dev/null
@@ -1,698 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
- * Copyright 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * Note that this defines a large number of tuning hooks, which can
- * safely be ignored in nearly all cases. For normal use it suffices
- * to call only GC_MALLOC and perhaps GC_REALLOC.
- * For better performance, also look at GC_MALLOC_ATOMIC, and
- * GC_enable_incremental. If you need an action to be performed
- * immediately before an object is collected, look at GC_register_finalizer.
- * If you are using Solaris threads, look at the end of this file.
- * Everything else is best ignored unless you encounter performance
- * problems.
- */
-
-#ifndef _GC_H
-
-# define _GC_H
-# define __GC
-# include <stddef.h>
-
-#if defined(__CYGWIN32__) && defined(GC_USE_DLL)
-#include "libgc_globals.h"
-#endif
-
-#if defined(_MSC_VER) && defined(_DLL)
-#ifdef GC_BUILD
-#define GC_API __declspec(dllexport)
-#else
-#define GC_API __declspec(dllimport)
-#endif
-#endif
-
-#ifndef GC_API
-#define GC_API extern
-#endif
-
-# if defined(__STDC__) || defined(__cplusplus)
-# define GC_PROTO(args) args
- typedef void * GC_PTR;
-# else
-# define GC_PROTO(args) ()
- typedef char * GC_PTR;
-# endif
-
-# ifdef __cplusplus
- extern "C" {
-# endif
-
-
-/* Define word and signed_word to be unsigned and signed types of the */
-/* size as char * or void *. There seems to be no way to do this */
-/* even semi-portably. The following is probably no better/worse */
-/* than almost anything else. */
-/* The ANSI standard suggests that size_t and ptr_diff_t might be */
-/* better choices. But those appear to have incorrect definitions */
-/* on may systems. Notably "typedef int size_t" seems to be both */
-/* frequent and WRONG. */
-typedef unsigned long GC_word;
-typedef long GC_signed_word;
-
-/* Public read-only variables */
-
-GC_API GC_word GC_gc_no;/* Counter incremented per collection. */
- /* Includes empty GCs at startup. */
-
-
-/* Public R/W variables */
-
-GC_API GC_PTR (*GC_oom_fn) GC_PROTO((size_t bytes_requested));
- /* When there is insufficient memory to satisfy */
- /* an allocation request, we return */
- /* (*GC_oom_fn)(). By default this just */
- /* returns 0. */
- /* If it returns, it must return 0 or a valid */
- /* pointer to a previously allocated heap */
- /* object. */
-
-GC_API int GC_quiet; /* Disable statistics output. Only matters if */
- /* collector has been compiled with statistics */
- /* enabled. This involves a performance cost, */
- /* and is thus not the default. */
-
-GC_API int GC_dont_gc; /* Dont collect unless explicitly requested, e.g. */
- /* because it's not safe. */
-
-GC_API int GC_dont_expand;
- /* Dont expand heap unless explicitly requested */
- /* or forced to. */
-
-GC_API int GC_full_freq; /* Number of partial collections between */
- /* full collections. Matters only if */
- /* GC_incremental is set. */
-
-GC_API GC_word GC_non_gc_bytes;
- /* Bytes not considered candidates for collection. */
- /* Used only to control scheduling of collections. */
-
-GC_API GC_word GC_free_space_divisor;
- /* We try to make sure that we allocate at */
- /* least N/GC_free_space_divisor bytes between */
- /* collections, where N is the heap size plus */
- /* a rough estimate of the root set size. */
- /* Initially, GC_free_space_divisor = 4. */
- /* Increasing its value will use less space */
- /* but more collection time. Decreasing it */
- /* will appreciably decrease collection time */
- /* at the expense of space. */
- /* GC_free_space_divisor = 1 will effectively */
- /* disable collections. */
-
-GC_API GC_word GC_max_retries;
- /* The maximum number of GCs attempted before */
- /* reporting out of memory after heap */
- /* expansion fails. Initially 0. */
-
-
-/* Public procedures */
-/*
- * general purpose allocation routines, with roughly malloc calling conv.
- * The atomic versions promise that no relevant pointers are contained
- * in the object. The nonatomic versions guarantee that the new object
- * is cleared. GC_malloc_stubborn promises that no changes to the object
- * will occur after GC_end_stubborn_change has been called on the
- * result of GC_malloc_stubborn. GC_malloc_uncollectable allocates an object
- * that is scanned for pointers to collectable objects, but is not itself
- * collectable. GC_malloc_uncollectable and GC_free called on the resulting
- * object implicitly update GC_non_gc_bytes appropriately.
- */
-GC_API GC_PTR GC_malloc GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_atomic GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_uncollectable GC_PROTO((size_t size_in_bytes));
-GC_API GC_PTR GC_malloc_stubborn GC_PROTO((size_t size_in_bytes));
-
-/* The following is only defined if the library has been suitably */
-/* compiled: */
-GC_API GC_PTR GC_malloc_atomic_uncollectable GC_PROTO((size_t size_in_bytes));
-
-/* Explicitly deallocate an object. Dangerous if used incorrectly. */
-/* Requires a pointer to the base of an object. */
-/* If the argument is stubborn, it should not be changeable when freed. */
-/* An object should not be enable for finalization when it is */
-/* explicitly deallocated. */
-/* GC_free(0) is a no-op, as required by ANSI C for free. */
-GC_API void GC_free GC_PROTO((GC_PTR object_addr));
-
-/*
- * Stubborn objects may be changed only if the collector is explicitly informed.
- * The collector is implicitly informed of coming change when such
- * an object is first allocated. The following routines inform the
- * collector that an object will no longer be changed, or that it will
- * once again be changed. Only nonNIL pointer stores into the object
- * are considered to be changes. The argument to GC_end_stubborn_change
- * must be exacly the value returned by GC_malloc_stubborn or passed to
- * GC_change_stubborn. (In the second case it may be an interior pointer
- * within 512 bytes of the beginning of the objects.)
- * There is a performance penalty for allowing more than
- * one stubborn object to be changed at once, but it is acceptable to
- * do so. The same applies to dropping stubborn objects that are still
- * changeable.
- */
-GC_API void GC_change_stubborn GC_PROTO((GC_PTR));
-GC_API void GC_end_stubborn_change GC_PROTO((GC_PTR));
-
-/* Return a pointer to the base (lowest address) of an object given */
-/* a pointer to a location within the object. */
-/* Return 0 if displaced_pointer doesn't point to within a valid */
-/* object. */
-GC_API GC_PTR GC_base GC_PROTO((GC_PTR displaced_pointer));
-
-/* Given a pointer to the base of an object, return its size in bytes. */
-/* The returned size may be slightly larger than what was originally */
-/* requested. */
-GC_API size_t GC_size GC_PROTO((GC_PTR object_addr));
-
-/* For compatibility with C library. This is occasionally faster than */
-/* a malloc followed by a bcopy. But if you rely on that, either here */
-/* or with the standard C library, your code is broken. In my */
-/* opinion, it shouldn't have been invented, but now we're stuck. -HB */
-/* The resulting object has the same kind as the original. */
-/* If the argument is stubborn, the result will have changes enabled. */
-/* It is an error to have changes enabled for the original object. */
-/* Follows ANSI comventions for NULL old_object. */
-GC_API GC_PTR GC_realloc GC_PROTO((GC_PTR old_object,
- size_t new_size_in_bytes));
-
-/* Explicitly increase the heap size. */
-/* Returns 0 on failure, 1 on success. */
-GC_API int GC_expand_hp GC_PROTO((size_t number_of_bytes));
-
-/* Limit the heap size to n bytes. Useful when you're debugging, */
-/* especially on systems that don't handle running out of memory well. */
-/* n == 0 ==> unbounded. This is the default. */
-GC_API void GC_set_max_heap_size GC_PROTO((GC_word n));
-
-/* Inform the collector that a certain section of statically allocated */
-/* memory contains no pointers to garbage collected memory. Thus it */
-/* need not be scanned. This is sometimes important if the application */
-/* maps large read/write files into the address space, which could be */
-/* mistaken for dynamic library data segments on some systems. */
-GC_API void GC_exclude_static_roots GC_PROTO((GC_PTR start, GC_PTR finish));
-
-/* Clear the set of root segments. Wizards only. */
-GC_API void GC_clear_roots GC_PROTO((void));
-
-/* Add a root segment. Wizards only. */
-GC_API void GC_add_roots GC_PROTO((char * low_address,
- char * high_address_plus_1));
-
-/* Add a displacement to the set of those considered valid by the */
-/* collector. GC_register_displacement(n) means that if p was returned */
-/* by GC_malloc, then (char *)p + n will be considered to be a valid */
-/* pointer to n. N must be small and less than the size of p. */
-/* (All pointers to the interior of objects from the stack are */
-/* considered valid in any case. This applies to heap objects and */
-/* static data.) */
-/* Preferably, this should be called before any other GC procedures. */
-/* Calling it later adds to the probability of excess memory */
-/* retention. */
-/* This is a no-op if the collector was compiled with recognition of */
-/* arbitrary interior pointers enabled, which is now the default. */
-GC_API void GC_register_displacement GC_PROTO((GC_word n));
-
-/* The following version should be used if any debugging allocation is */
-/* being done. */
-GC_API void GC_debug_register_displacement GC_PROTO((GC_word n));
-
-/* Explicitly trigger a full, world-stop collection. */
-GC_API void GC_gcollect GC_PROTO((void));
-
-/* Trigger a full world-stopped collection. Abort the collection if */
-/* and when stop_func returns a nonzero value. Stop_func will be */
-/* called frequently, and should be reasonably fast. This works even */
-/* if virtual dirty bits, and hence incremental collection is not */
-/* available for this architecture. Collections can be aborted faster */
-/* than normal pause times for incremental collection. However, */
-/* aborted collections do no useful work; the next collection needs */
-/* to start from the beginning. */
-typedef int (* GC_stop_func) GC_PROTO((void));
-GC_API int GC_try_to_collect GC_PROTO((GC_stop_func stop_func));
-
-/* Return the number of bytes in the heap. Excludes collector private */
-/* data structures. Includes empty blocks and fragmentation loss. */
-/* Includes some pages that were allocated but never written. */
-GC_API size_t GC_get_heap_size GC_PROTO((void));
-
-/* Return the number of bytes allocated since the last collection. */
-GC_API size_t GC_get_bytes_since_gc GC_PROTO((void));
-
-/* Enable incremental/generational collection. */
-/* Not advisable unless dirty bits are */
-/* available or most heap objects are */
-/* pointerfree(atomic) or immutable. */
-/* Don't use in leak finding mode. */
-/* Ignored if GC_dont_gc is true. */
-GC_API void GC_enable_incremental GC_PROTO((void));
-
-/* Perform some garbage collection work, if appropriate. */
-/* Return 0 if there is no more work to be done. */
-/* Typically performs an amount of work corresponding roughly */
-/* to marking from one page. May do more work if further */
-/* progress requires it, e.g. if incremental collection is */
-/* disabled. It is reasonable to call this in a wait loop */
-/* until it returns 0. */
-GC_API int GC_collect_a_little GC_PROTO((void));
-
-/* Allocate an object of size lb bytes. The client guarantees that */
-/* as long as the object is live, it will be referenced by a pointer */
-/* that points to somewhere within the first 256 bytes of the object. */
-/* (This should normally be declared volatile to prevent the compiler */
-/* from invalidating this assertion.) This routine is only useful */
-/* if a large array is being allocated. It reduces the chance of */
-/* accidentally retaining such an array as a result of scanning an */
-/* integer that happens to be an address inside the array. (Actually, */
-/* it reduces the chance of the allocator not finding space for such */
-/* an array, since it will try hard to avoid introducing such a false */
-/* reference.) On a SunOS 4.X or MS Windows system this is recommended */
-/* for arrays likely to be larger than 100K or so. For other systems, */
-/* or if the collector is not configured to recognize all interior */
-/* pointers, the threshold is normally much higher. */
-GC_API GC_PTR GC_malloc_ignore_off_page GC_PROTO((size_t lb));
-GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb));
-
-#if defined(__sgi) && !defined(__GNUC__) && _COMPILER_VERSION >= 720
-# define GC_ADD_CALLER
-# define GC_RETURN_ADDR (GC_word)__return_address
-#endif
-
-#ifdef GC_ADD_CALLER
-# define GC_EXTRAS GC_RETURN_ADDR, __FILE__, __LINE__
-# define GC_EXTRA_PARAMS GC_word ra, char * descr_string, int descr_int
-#else
-# define GC_EXTRAS __FILE__, __LINE__
-# define GC_EXTRA_PARAMS char * descr_string, int descr_int
-#endif
-
-/* Debugging (annotated) allocation. GC_gcollect will check */
-/* objects allocated in this way for overwrites, etc. */
-GC_API GC_PTR GC_debug_malloc
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_atomic
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_uncollectable
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API GC_PTR GC_debug_malloc_stubborn
- GC_PROTO((size_t size_in_bytes, GC_EXTRA_PARAMS));
-GC_API void GC_debug_free GC_PROTO((GC_PTR object_addr));
-GC_API GC_PTR GC_debug_realloc
- GC_PROTO((GC_PTR old_object, size_t new_size_in_bytes,
- GC_EXTRA_PARAMS));
-
-GC_API void GC_debug_change_stubborn GC_PROTO((GC_PTR));
-GC_API void GC_debug_end_stubborn_change GC_PROTO((GC_PTR));
-# ifdef GC_DEBUG
-# define GC_MALLOC(sz) GC_debug_malloc(sz, GC_EXTRAS)
-# define GC_MALLOC_ATOMIC(sz) GC_debug_malloc_atomic(sz, GC_EXTRAS)
-# define GC_MALLOC_UNCOLLECTABLE(sz) GC_debug_malloc_uncollectable(sz, \
- GC_EXTRAS)
-# define GC_REALLOC(old, sz) GC_debug_realloc(old, sz, GC_EXTRAS)
-# define GC_FREE(p) GC_debug_free(p)
-# define GC_REGISTER_FINALIZER(p, f, d, of, od) \
- GC_debug_register_finalizer(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
- GC_debug_register_finalizer_ignore_self(p, f, d, of, od)
-# define GC_MALLOC_STUBBORN(sz) GC_debug_malloc_stubborn(sz, GC_EXTRAS);
-# define GC_CHANGE_STUBBORN(p) GC_debug_change_stubborn(p)
-# define GC_END_STUBBORN_CHANGE(p) GC_debug_end_stubborn_change(p)
-# define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
- GC_general_register_disappearing_link(link, GC_base(obj))
-# define GC_REGISTER_DISPLACEMENT(n) GC_debug_register_displacement(n)
-# else
-# define GC_MALLOC(sz) GC_malloc(sz)
-# define GC_MALLOC_ATOMIC(sz) GC_malloc_atomic(sz)
-# define GC_MALLOC_UNCOLLECTABLE(sz) GC_malloc_uncollectable(sz)
-# define GC_REALLOC(old, sz) GC_realloc(old, sz)
-# define GC_FREE(p) GC_free(p)
-# define GC_REGISTER_FINALIZER(p, f, d, of, od) \
- GC_register_finalizer(p, f, d, of, od)
-# define GC_REGISTER_FINALIZER_IGNORE_SELF(p, f, d, of, od) \
- GC_register_finalizer_ignore_self(p, f, d, of, od)
-# define GC_MALLOC_STUBBORN(sz) GC_malloc_stubborn(sz)
-# define GC_CHANGE_STUBBORN(p) GC_change_stubborn(p)
-# define GC_END_STUBBORN_CHANGE(p) GC_end_stubborn_change(p)
-# define GC_GENERAL_REGISTER_DISAPPEARING_LINK(link, obj) \
- GC_general_register_disappearing_link(link, obj)
-# define GC_REGISTER_DISPLACEMENT(n) GC_register_displacement(n)
-# endif
-/* The following are included because they are often convenient, and */
-/* reduce the chance for a misspecifed size argument. But calls may */
-/* expand to something syntactically incorrect if t is a complicated */
-/* type expression. */
-# define GC_NEW(t) (t *)GC_MALLOC(sizeof (t))
-# define GC_NEW_ATOMIC(t) (t *)GC_MALLOC_ATOMIC(sizeof (t))
-# define GC_NEW_STUBBORN(t) (t *)GC_MALLOC_STUBBORN(sizeof (t))
-# define GC_NEW_UNCOLLECTABLE(t) (t *)GC_MALLOC_UNCOLLECTABLE(sizeof (t))
-
-/* Finalization. Some of these primitives are grossly unsafe. */
-/* The idea is to make them both cheap, and sufficient to build */
-/* a safer layer, closer to PCedar finalization. */
-/* The interface represents my conclusions from a long discussion */
-/* with Alan Demers, Dan Greene, Carl Hauser, Barry Hayes, */
-/* Christian Jacobi, and Russ Atkinson. It's not perfect, and */
-/* probably nobody else agrees with it. Hans-J. Boehm 3/13/92 */
-typedef void (*GC_finalization_proc)
- GC_PROTO((GC_PTR obj, GC_PTR client_data));
-
-GC_API void GC_register_finalizer
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-GC_API void GC_debug_register_finalizer
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
- /* When obj is no longer accessible, invoke */
- /* (*fn)(obj, cd). If a and b are inaccessible, and */
- /* a points to b (after disappearing links have been */
- /* made to disappear), then only a will be */
- /* finalized. (If this does not create any new */
- /* pointers to b, then b will be finalized after the */
- /* next collection.) Any finalizable object that */
- /* is reachable from itself by following one or more */
- /* pointers will not be finalized (or collected). */
- /* Thus cycles involving finalizable objects should */
- /* be avoided, or broken by disappearing links. */
- /* All but the last finalizer registered for an object */
- /* is ignored. */
- /* Finalization may be removed by passing 0 as fn. */
- /* Finalizers are implicitly unregistered just before */
- /* they are invoked. */
- /* The old finalizer and client data are stored in */
- /* *ofn and *ocd. */
- /* Fn is never invoked on an accessible object, */
- /* provided hidden pointers are converted to real */
- /* pointers only if the allocation lock is held, and */
- /* such conversions are not performed by finalization */
- /* routines. */
- /* If GC_register_finalizer is aborted as a result of */
- /* a signal, the object may be left with no */
- /* finalization, even if neither the old nor new */
- /* finalizer were NULL. */
- /* Obj should be the nonNULL starting address of an */
- /* object allocated by GC_malloc or friends. */
- /* Note that any garbage collectable object referenced */
- /* by cd will be considered accessible until the */
- /* finalizer is invoked. */
-
-/* Another versions of the above follow. It ignores */
-/* self-cycles, i.e. pointers from a finalizable object to */
-/* itself. There is a stylistic argument that this is wrong, */
-/* but it's unavoidable for C++, since the compiler may */
-/* silently introduce these. It's also benign in that specific */
-/* case. */
-GC_API void GC_register_finalizer_ignore_self
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-GC_API void GC_debug_register_finalizer_ignore_self
- GC_PROTO((GC_PTR obj, GC_finalization_proc fn, GC_PTR cd,
- GC_finalization_proc *ofn, GC_PTR *ocd));
-
-/* The following routine may be used to break cycles between */
-/* finalizable objects, thus causing cyclic finalizable */
-/* objects to be finalized in the correct order. Standard */
-/* use involves calling GC_register_disappearing_link(&p), */
-/* where p is a pointer that is not followed by finalization */
-/* code, and should not be considered in determining */
-/* finalization order. */
-GC_API int GC_register_disappearing_link GC_PROTO((GC_PTR * /* link */));
- /* Link should point to a field of a heap allocated */
- /* object obj. *link will be cleared when obj is */
- /* found to be inaccessible. This happens BEFORE any */
- /* finalization code is invoked, and BEFORE any */
- /* decisions about finalization order are made. */
- /* This is useful in telling the finalizer that */
- /* some pointers are not essential for proper */
- /* finalization. This may avoid finalization cycles. */
- /* Note that obj may be resurrected by another */
- /* finalizer, and thus the clearing of *link may */
- /* be visible to non-finalization code. */
- /* There's an argument that an arbitrary action should */
- /* be allowed here, instead of just clearing a pointer. */
- /* But this causes problems if that action alters, or */
- /* examines connectivity. */
- /* Returns 1 if link was already registered, 0 */
- /* otherwise. */
- /* Only exists for backward compatibility. See below: */
-
-GC_API int GC_general_register_disappearing_link
- GC_PROTO((GC_PTR * /* link */, GC_PTR obj));
- /* A slight generalization of the above. *link is */
- /* cleared when obj first becomes inaccessible. This */
- /* can be used to implement weak pointers easily and */
- /* safely. Typically link will point to a location */
- /* holding a disguised pointer to obj. (A pointer */
- /* inside an "atomic" object is effectively */
- /* disguised.) In this way soft */
- /* pointers are broken before any object */
- /* reachable from them are finalized. Each link */
- /* May be registered only once, i.e. with one obj */
- /* value. This was added after a long email discussion */
- /* with John Ellis. */
- /* Obj must be a pointer to the first word of an object */
- /* we allocated. It is unsafe to explicitly deallocate */
- /* the object containing link. Explicitly deallocating */
- /* obj may or may not cause link to eventually be */
- /* cleared. */
-GC_API int GC_unregister_disappearing_link GC_PROTO((GC_PTR * /* link */));
- /* Returns 0 if link was not actually registered. */
- /* Undoes a registration by either of the above two */
- /* routines. */
-
-/* Auxiliary fns to make finalization work correctly with displaced */
-/* pointers introduced by the debugging allocators. */
-GC_API GC_PTR GC_make_closure GC_PROTO((GC_finalization_proc fn, GC_PTR data));
-GC_API void GC_debug_invoke_finalizer GC_PROTO((GC_PTR obj, GC_PTR data));
-
-GC_API int GC_invoke_finalizers GC_PROTO((void));
- /* Run finalizers for all objects that are ready to */
- /* be finalized. Return the number of finalizers */
- /* that were run. Normally this is also called */
- /* implicitly during some allocations. If */
- /* FINALIZE_ON_DEMAND is defined, it must be called */
- /* explicitly. */
-
-/* GC_set_warn_proc can be used to redirect or filter warning messages. */
-/* p may not be a NULL pointer. */
-typedef void (*GC_warn_proc) GC_PROTO((char *msg, GC_word arg));
-GC_API GC_warn_proc GC_set_warn_proc GC_PROTO((GC_warn_proc p));
- /* Returns old warning procedure. */
-
-/* The following is intended to be used by a higher level */
-/* (e.g. cedar-like) finalization facility. It is expected */
-/* that finalization code will arrange for hidden pointers to */
-/* disappear. Otherwise objects can be accessed after they */
-/* have been collected. */
-/* Note that putting pointers in atomic objects or in */
-/* nonpointer slots of "typed" objects is equivalent to */
-/* disguising them in this way, and may have other advantages. */
-# if defined(I_HIDE_POINTERS) || defined(GC_I_HIDE_POINTERS)
- typedef GC_word GC_hidden_pointer;
-# define HIDE_POINTER(p) (~(GC_hidden_pointer)(p))
-# define REVEAL_POINTER(p) ((GC_PTR)(HIDE_POINTER(p)))
- /* Converting a hidden pointer to a real pointer requires verifying */
- /* that the object still exists. This involves acquiring the */
- /* allocator lock to avoid a race with the collector. */
-# endif /* I_HIDE_POINTERS */
-
-typedef GC_PTR (*GC_fn_type) GC_PROTO((GC_PTR client_data));
-GC_API GC_PTR GC_call_with_alloc_lock
- GC_PROTO((GC_fn_type fn, GC_PTR client_data));
-
-/* Check that p and q point to the same object. */
-/* Fail conspicuously if they don't. */
-/* Returns the first argument. */
-/* Succeeds if neither p nor q points to the heap. */
-/* May succeed if both p and q point to between heap objects. */
-GC_API GC_PTR GC_same_obj GC_PROTO((GC_PTR p, GC_PTR q));
-
-/* Checked pointer pre- and post- increment operations. Note that */
-/* the second argument is in units of bytes, not multiples of the */
-/* object size. This should either be invoked from a macro, or the */
-/* call should be automatically generated. */
-GC_API GC_PTR GC_pre_incr GC_PROTO((GC_PTR *p, size_t how_much));
-GC_API GC_PTR GC_post_incr GC_PROTO((GC_PTR *p, size_t how_much));
-
-/* Check that p is visible */
-/* to the collector as a possibly pointer containing location. */
-/* If it isn't fail conspicuously. */
-/* Returns the argument in all cases. May erroneously succeed */
-/* in hard cases. (This is intended for debugging use with */
-/* untyped allocations. The idea is that it should be possible, though */
-/* slow, to add such a call to all indirect pointer stores.) */
-/* Currently useless for multithreaded worlds. */
-GC_API GC_PTR GC_is_visible GC_PROTO((GC_PTR p));
-
-/* Check that if p is a pointer to a heap page, then it points to */
-/* a valid displacement within a heap object. */
-/* Fail conspicuously if this property does not hold. */
-/* Uninteresting with ALL_INTERIOR_POINTERS. */
-/* Always returns its argument. */
-GC_API GC_PTR GC_is_valid_displacement GC_PROTO((GC_PTR p));
-
-/* Safer, but slow, pointer addition. Probably useful mainly with */
-/* a preprocessor. Useful only for heap pointers. */
-#ifdef GC_DEBUG
-# define GC_PTR_ADD3(x, n, type_of_result) \
- ((type_of_result)GC_same_obj((x)+(n), (x)))
-# define GC_PRE_INCR3(x, n, type_of_result) \
- ((type_of_result)GC_pre_incr(&(x), (n)*sizeof(*x))
-# define GC_POST_INCR2(x, type_of_result) \
- ((type_of_result)GC_post_incr(&(x), sizeof(*x))
-# ifdef __GNUC__
-# define GC_PTR_ADD(x, n) \
- GC_PTR_ADD3(x, n, typeof(x))
-# define GC_PRE_INCR(x, n) \
- GC_PRE_INCR3(x, n, typeof(x))
-# define GC_POST_INCR(x, n) \
- GC_POST_INCR3(x, typeof(x))
-# else
- /* We can't do this right without typeof, which ANSI */
- /* decided was not sufficiently useful. Repeatedly */
- /* mentioning the arguments seems too dangerous to be */
- /* useful. So does not casting the result. */
-# define GC_PTR_ADD(x, n) ((x)+(n))
-# endif
-#else /* !GC_DEBUG */
-# define GC_PTR_ADD3(x, n, type_of_result) ((x)+(n))
-# define GC_PTR_ADD(x, n) ((x)+(n))
-# define GC_PRE_INCR3(x, n, type_of_result) ((x) += (n))
-# define GC_PRE_INCR(x, n) ((x) += (n))
-# define GC_POST_INCR2(x, n, type_of_result) ((x)++)
-# define GC_POST_INCR(x, n) ((x)++)
-#endif
-
-/* Safer assignment of a pointer to a nonstack location. */
-#ifdef GC_DEBUG
-# ifdef __STDC__
-# define GC_PTR_STORE(p, q) \
- (*(void **)GC_is_visible(p) = GC_is_valid_displacement(q))
-# else
-# define GC_PTR_STORE(p, q) \
- (*(char **)GC_is_visible(p) = GC_is_valid_displacement(q))
-# endif
-#else /* !GC_DEBUG */
-# define GC_PTR_STORE(p, q) *((p) = (q))
-#endif
-
-/* Fynctions called to report pointer checking errors */
-GC_API void (*GC_same_obj_print_proc) GC_PROTO((GC_PTR p, GC_PTR q));
-
-GC_API void (*GC_is_valid_displacement_print_proc)
- GC_PROTO((GC_PTR p));
-
-GC_API void (*GC_is_visible_print_proc)
- GC_PROTO((GC_PTR p));
-
-#ifdef SOLARIS_THREADS
-/* We need to intercept calls to many of the threads primitives, so */
-/* that we can locate thread stacks and stop the world. */
-/* Note also that the collector cannot see thread specific data. */
-/* Thread specific data should generally consist of pointers to */
-/* uncollectable objects, which are deallocated using the destructor */
-/* facility in thr_keycreate. */
-# include <thread.h>
-# include <signal.h>
- int GC_thr_create(void *stack_base, size_t stack_size,
- void *(*start_routine)(void *), void *arg, long flags,
- thread_t *new_thread);
- int GC_thr_join(thread_t wait_for, thread_t *departed, void **status);
- int GC_thr_suspend(thread_t target_thread);
- int GC_thr_continue(thread_t target_thread);
- void * GC_dlopen(const char *path, int mode);
-
-# ifdef _SOLARIS_PTHREADS
-# include <pthread.h>
- extern int GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void * (*thread_execp)(void *), void *arg);
- extern int GC_pthread_join(pthread_t wait_for, void **status);
-
-# undef thread_t
-
-# define pthread_join GC_pthread_join
-# define pthread_create GC_pthread_create
-#endif
-
-# define thr_create GC_thr_create
-# define thr_join GC_thr_join
-# define thr_suspend GC_thr_suspend
-# define thr_continue GC_thr_continue
-# define dlopen GC_dlopen
-
-# endif /* SOLARIS_THREADS */
-
-
-#if defined(IRIX_THREADS) || defined(LINUX_THREADS)
-/* We treat these similarly. */
-# include <pthread.h>
-# include <signal.h>
-
- int GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void *(*start_routine)(void *), void *arg);
- int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
- int GC_pthread_join(pthread_t thread, void **retval);
-
-# define pthread_create GC_pthread_create
-# define pthread_sigmask GC_pthread_sigmask
-# define pthread_join GC_pthread_join
-
-#endif /* IRIX_THREADS || LINUX_THREADS */
-
-#if defined(THREADS) && !defined(SRC_M3)
-/* This returns a list of objects, linked through their first */
-/* word. Its use can greatly reduce lock contention problems, since */
-/* the allocation lock can be acquired and released many fewer times. */
-GC_PTR GC_malloc_many(size_t lb);
-#define GC_NEXT(p) (*(GC_PTR *)(p)) /* Retrieve the next element */
- /* in returned list. */
-extern void GC_thr_init(); /* Needed for Solaris/X86 */
-
-#endif /* THREADS && !SRC_M3 */
-
-/*
- * If you are planning on putting
- * the collector in a SunOS 5 dynamic library, you need to call GC_INIT()
- * from the statically loaded program section.
- * This circumvents a Solaris 2.X (X<=4) linker bug.
- */
-#if defined(sparc) || defined(__sparc)
-# define GC_INIT() { extern end, etext; \
- GC_noop(&end, &etext); }
-#else
-# if defined(__CYGWIN32__) && defined(GC_USE_DLL)
- /*
- * Similarly gnu-win32 DLLs need explicit initialization
- */
-# define GC_INIT() { GC_add_roots(DATASTART, DATAEND); }
-# else
-# define GC_INIT()
-# endif
-#endif
-
-#ifdef __cplusplus
- } /* end of extern "C" */
-#endif
-
-#endif /* _GC_H */
diff --git a/boehm-gc/include/gc_alloc.h b/boehm-gc/include/gc_alloc.h
deleted file mode 100644
index 1d912db2f0b..00000000000
--- a/boehm-gc/include/gc_alloc.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * Copyright (c) 1996-1998 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-//
-// This is a C++ header file that is intended to replace the SGI STL
-// alloc.h.
-//
-// This assumes the collector has been compiled with -DATOMIC_UNCOLLECTABLE
-// and -DALL_INTERIOR_POINTERS. We also recommend
-// -DREDIRECT_MALLOC=GC_uncollectable_malloc.
-//
-// Some of this could be faster in the explicit deallocation case. In particular,
-// we spend too much time clearing objects on the free lists. That could be avoided.
-//
-// This uses template classes with static members, and hence does not work
-// with g++ 2.7.2 and earlier.
-//
-
-#include "gc.h"
-
-#ifndef GC_ALLOC_H
-
-#define GC_ALLOC_H
-#define __ALLOC_H // Prevent inclusion of the default version. Ugly.
-#define __SGI_STL_ALLOC_H
-#define __SGI_STL_INTERNAL_ALLOC_H
-
-#ifndef __ALLOC
-# define __ALLOC alloc
-#endif
-
-#include <stddef.h>
-#include <string.h>
-
-// The following is just replicated from the conventional SGI alloc.h:
-
-template<class T, class alloc>
-class simple_alloc {
-
-public:
- static T *allocate(size_t n)
- { return 0 == n? 0 : (T*) alloc::allocate(n * sizeof (T)); }
- static T *allocate(void)
- { return (T*) alloc::allocate(sizeof (T)); }
- static void deallocate(T *p, size_t n)
- { if (0 != n) alloc::deallocate(p, n * sizeof (T)); }
- static void deallocate(T *p)
- { alloc::deallocate(p, sizeof (T)); }
-};
-
-#include "gc.h"
-
-// The following need to match collector data structures.
-// We can't include gc_priv.h, since that pulls in way too much stuff.
-// This should eventually be factored out into another include file.
-
-extern "C" {
- extern void ** const GC_objfreelist_ptr;
- extern void ** const GC_aobjfreelist_ptr;
- extern void ** const GC_uobjfreelist_ptr;
- extern void ** const GC_auobjfreelist_ptr;
-
- extern void GC_incr_words_allocd(size_t words);
- extern void GC_incr_mem_freed(size_t words);
-
- extern char * GC_generic_malloc_words_small(size_t word, int kind);
-}
-
-// Object kinds; must match PTRFREE, NORMAL, UNCOLLECTABLE, and
-// AUNCOLLECTABLE in gc_priv.h.
-
-enum { GC_PTRFREE = 0, GC_NORMAL = 1, GC_UNCOLLECTABLE = 2,
- GC_AUNCOLLECTABLE = 3 };
-
-enum { GC_max_fast_bytes = 255 };
-
-enum { GC_bytes_per_word = sizeof(char *) };
-
-enum { GC_byte_alignment = 8 };
-
-enum { GC_word_alignment = GC_byte_alignment/GC_bytes_per_word };
-
-inline void * &GC_obj_link(void * p)
-{ return *(void **)p; }
-
-// Compute a number of words >= n+1 bytes.
-// The +1 allows for pointers one past the end.
-inline size_t GC_round_up(size_t n)
-{
- return ((n + GC_byte_alignment)/GC_byte_alignment)*GC_word_alignment;
-}
-
-// The same but don't allow for extra byte.
-inline size_t GC_round_up_uncollectable(size_t n)
-{
- return ((n + GC_byte_alignment - 1)/GC_byte_alignment)*GC_word_alignment;
-}
-
-template <int dummy>
-class GC_aux_template {
-public:
- // File local count of allocated words. Occasionally this is
- // added into the global count. A separate count is necessary since the
- // real one must be updated with a procedure call.
- static size_t GC_words_recently_allocd;
-
- // Same for uncollectable mmory. Not yet reflected in either
- // GC_words_recently_allocd or GC_non_gc_bytes.
- static size_t GC_uncollectable_words_recently_allocd;
-
- // Similar counter for explicitly deallocated memory.
- static size_t GC_mem_recently_freed;
-
- // Again for uncollectable memory.
- static size_t GC_uncollectable_mem_recently_freed;
-
- static void * GC_out_of_line_malloc(size_t nwords, int kind);
-};
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_words_recently_allocd = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_uncollectable_words_recently_allocd = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_mem_recently_freed = 0;
-
-template <int dummy>
-size_t GC_aux_template<dummy>::GC_uncollectable_mem_recently_freed = 0;
-
-template <int dummy>
-void * GC_aux_template<dummy>::GC_out_of_line_malloc(size_t nwords, int kind)
-{
- GC_words_recently_allocd += GC_uncollectable_words_recently_allocd;
- GC_non_gc_bytes +=
- GC_bytes_per_word * GC_uncollectable_words_recently_allocd;
- GC_uncollectable_words_recently_allocd = 0;
-
- GC_mem_recently_freed += GC_uncollectable_mem_recently_freed;
- GC_non_gc_bytes -=
- GC_bytes_per_word * GC_uncollectable_mem_recently_freed;
- GC_uncollectable_mem_recently_freed = 0;
-
- GC_incr_words_allocd(GC_words_recently_allocd);
- GC_words_recently_allocd = 0;
-
- GC_incr_mem_freed(GC_mem_recently_freed);
- GC_mem_recently_freed = 0;
-
- return GC_generic_malloc_words_small(nwords, kind);
-}
-
-typedef GC_aux_template<0> GC_aux;
-
-// A fast, single-threaded, garbage-collected allocator
-// We assume the first word will be immediately overwritten.
-// In this version, deallocation is not a noop, and explicit
-// deallocation is likely to help performance.
-template <int dummy>
-class single_client_gc_alloc_template {
- public:
- static void * allocate(size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc(n);
- flh = GC_objfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_NORMAL);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_words_recently_allocd += nwords;
- return op;
- }
- static void * ptr_free_allocate(size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc_atomic(n);
- flh = GC_aobjfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_PTRFREE);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_words_recently_allocd += nwords;
- return op;
- }
- static void deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_objfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- memset((char *)p + GC_bytes_per_word, 0,
- GC_bytes_per_word * (nwords - 1));
- *flh = p;
- GC_aux::GC_mem_recently_freed += nwords;
- }
- }
- static void ptr_free_deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_aobjfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- *flh = p;
- GC_aux::GC_mem_recently_freed += nwords;
- }
- }
-};
-
-typedef single_client_gc_alloc_template<0> single_client_gc_alloc;
-
-// Once more, for uncollectable objects.
-template <int dummy>
-class single_client_alloc_template {
- public:
- static void * allocate(size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc_uncollectable(n);
- flh = GC_uobjfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_UNCOLLECTABLE);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_uncollectable_words_recently_allocd += nwords;
- return op;
- }
- static void * ptr_free_allocate(size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
- void * op;
-
- if (n > GC_max_fast_bytes) return GC_malloc_atomic_uncollectable(n);
- flh = GC_auobjfreelist_ptr + nwords;
- if (0 == (op = *flh)) {
- return GC_aux::GC_out_of_line_malloc(nwords, GC_AUNCOLLECTABLE);
- }
- *flh = GC_obj_link(op);
- GC_aux::GC_uncollectable_words_recently_allocd += nwords;
- return op;
- }
- static void deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_uobjfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- *flh = p;
- GC_aux::GC_uncollectable_mem_recently_freed += nwords;
- }
- }
- static void ptr_free_deallocate(void *p, size_t n)
- {
- size_t nwords = GC_round_up_uncollectable(n);
- void ** flh;
-
- if (n > GC_max_fast_bytes) {
- GC_free(p);
- } else {
- flh = GC_auobjfreelist_ptr + nwords;
- GC_obj_link(p) = *flh;
- *flh = p;
- GC_aux::GC_uncollectable_mem_recently_freed += nwords;
- }
- }
-};
-
-typedef single_client_alloc_template<0> single_client_alloc;
-
-template < int dummy >
-class gc_alloc_template {
- public:
- static void * allocate(size_t n) { return GC_malloc(n); }
- static void * ptr_free_allocate(size_t n)
- { return GC_malloc_atomic(n); }
- static void deallocate(void *, size_t) { }
- static void ptr_free_deallocate(void *, size_t) { }
-};
-
-typedef gc_alloc_template < 0 > gc_alloc;
-
-template < int dummy >
-class alloc_template {
- public:
- static void * allocate(size_t n) { return GC_malloc_uncollectable(n); }
- static void * ptr_free_allocate(size_t n)
- { return GC_malloc_atomic_uncollectable(n); }
- static void deallocate(void *p, size_t) { GC_free(p); }
- static void ptr_free_deallocate(void *p, size_t) { GC_free(p); }
-};
-
-typedef alloc_template < 0 > alloc;
-
-#ifdef _SGI_SOURCE
-
-// We want to specialize simple_alloc so that it does the right thing
-// for all pointerfree types. At the moment there is no portable way to
-// even approximate that. The following approximation should work for
-// SGI compilers, and perhaps some others.
-
-# define __GC_SPECIALIZE(T,alloc) \
-class simple_alloc<T, alloc> { \
-public: \
- static T *allocate(size_t n) \
- { return 0 == n? 0 : \
- (T*) alloc::ptr_free_allocate(n * sizeof (T)); } \
- static T *allocate(void) \
- { return (T*) alloc::ptr_free_allocate(sizeof (T)); } \
- static void deallocate(T *p, size_t n) \
- { if (0 != n) alloc::ptr_free_deallocate(p, n * sizeof (T)); } \
- static void deallocate(T *p) \
- { alloc::ptr_free_deallocate(p, sizeof (T)); } \
-};
-
-__GC_SPECIALIZE(char, gc_alloc)
-__GC_SPECIALIZE(int, gc_alloc)
-__GC_SPECIALIZE(unsigned, gc_alloc)
-__GC_SPECIALIZE(float, gc_alloc)
-__GC_SPECIALIZE(double, gc_alloc)
-
-__GC_SPECIALIZE(char, alloc)
-__GC_SPECIALIZE(int, alloc)
-__GC_SPECIALIZE(unsigned, alloc)
-__GC_SPECIALIZE(float, alloc)
-__GC_SPECIALIZE(double, alloc)
-
-__GC_SPECIALIZE(char, single_client_gc_alloc)
-__GC_SPECIALIZE(int, single_client_gc_alloc)
-__GC_SPECIALIZE(unsigned, single_client_gc_alloc)
-__GC_SPECIALIZE(float, single_client_gc_alloc)
-__GC_SPECIALIZE(double, single_client_gc_alloc)
-
-__GC_SPECIALIZE(char, single_client_alloc)
-__GC_SPECIALIZE(int, single_client_alloc)
-__GC_SPECIALIZE(unsigned, single_client_alloc)
-__GC_SPECIALIZE(float, single_client_alloc)
-__GC_SPECIALIZE(double, single_client_alloc)
-
-#ifdef __STL_USE_STD_ALLOCATORS
-
-???copy stuff from stl_alloc.h or remove it to a different file ???
-
-#endif /* __STL_USE_STD_ALLOCATORS */
-
-#endif /* _SGI_SOURCE */
-
-#endif /* GC_ALLOC_H */
diff --git a/boehm-gc/include/gc_cpp.h b/boehm-gc/include/gc_cpp.h
deleted file mode 100644
index e2f456fb526..00000000000
--- a/boehm-gc/include/gc_cpp.h
+++ /dev/null
@@ -1,287 +0,0 @@
-#ifndef GC_CPP_H
-#define GC_CPP_H
-/****************************************************************************
-Copyright (c) 1994 by Xerox Corporation. All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program for any
-purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is
-granted, provided the above notices are retained, and a notice that
-the code was modified is included with the above copyright notice.
-****************************************************************************
-
-C++ Interface to the Boehm Collector
-
- John R. Ellis and Jesse Hull
- Last modified on Mon Jul 24 15:43:42 PDT 1995 by ellis
-
-This interface provides access to the Boehm collector. It provides
-basic facilities similar to those described in "Safe, Efficient
-Garbage Collection for C++", by John R. Elis and David L. Detlefs
-(ftp.parc.xerox.com:/pub/ellis/gc).
-
-All heap-allocated objects are either "collectable" or
-"uncollectable". Programs must explicitly delete uncollectable
-objects, whereas the garbage collector will automatically delete
-collectable objects when it discovers them to be inaccessible.
-Collectable objects may freely point at uncollectable objects and vice
-versa.
-
-Objects allocated with the built-in "::operator new" are uncollectable.
-
-Objects derived from class "gc" are collectable. For example:
-
- class A: public gc {...};
- A* a = new A; // a is collectable.
-
-Collectable instances of non-class types can be allocated using the GC
-placement:
-
- typedef int A[ 10 ];
- A* a = new (GC) A;
-
-Uncollectable instances of classes derived from "gc" can be allocated
-using the NoGC placement:
-
- class A: public gc {...};
- A* a = new (NoGC) A; // a is uncollectable.
-
-Both uncollectable and collectable objects can be explicitly deleted
-with "delete", which invokes an object's destructors and frees its
-storage immediately.
-
-A collectable object may have a clean-up function, which will be
-invoked when the collector discovers the object to be inaccessible.
-An object derived from "gc_cleanup" or containing a member derived
-from "gc_cleanup" has a default clean-up function that invokes the
-object's destructors. Explicit clean-up functions may be specified as
-an additional placement argument:
-
- A* a = ::new (GC, MyCleanup) A;
-
-An object is considered "accessible" by the collector if it can be
-reached by a path of pointers from static variables, automatic
-variables of active functions, or from some object with clean-up
-enabled; pointers from an object to itself are ignored.
-
-Thus, if objects A and B both have clean-up functions, and A points at
-B, B is considered accessible. After A's clean-up is invoked and its
-storage released, B will then become inaccessible and will have its
-clean-up invoked. If A points at B and B points to A, forming a
-cycle, then that's considered a storage leak, and neither will be
-collectable. See the interface gc.h for low-level facilities for
-handling such cycles of objects with clean-up.
-
-The collector cannot guarrantee that it will find all inaccessible
-objects. In practice, it finds almost all of them.
-
-
-Cautions:
-
-1. Be sure the collector has been augmented with "make c++".
-
-2. If your compiler supports the new "operator new[]" syntax, then
-add -DOPERATOR_NEW_ARRAY to the Makefile.
-
-If your compiler doesn't support "operator new[]", beware that an
-array of type T, where T is derived from "gc", may or may not be
-allocated as a collectable object (it depends on the compiler). Use
-the explicit GC placement to make the array collectable. For example:
-
- class A: public gc {...};
- A* a1 = new A[ 10 ]; // collectable or uncollectable?
- A* a2 = new (GC) A[ 10 ]; // collectable
-
-3. The destructors of collectable arrays of objects derived from
-"gc_cleanup" will not be invoked properly. For example:
-
- class A: public gc_cleanup {...};
- A* a = new (GC) A[ 10 ]; // destructors not invoked correctly
-
-Typically, only the destructor for the first element of the array will
-be invoked when the array is garbage-collected. To get all the
-destructors of any array executed, you must supply an explicit
-clean-up function:
-
- A* a = new (GC, MyCleanUp) A[ 10 ];
-
-(Implementing clean-up of arrays correctly, portably, and in a way
-that preserves the correct exception semantics requires a language
-extension, e.g. the "gc" keyword.)
-
-4. Compiler bugs:
-
-* Solaris 2's CC (SC3.0) doesn't implement t->~T() correctly, so the
-destructors of classes derived from gc_cleanup won't be invoked.
-You'll have to explicitly register a clean-up function with
-new-placement syntax.
-
-* Evidently cfront 3.0 does not allow destructors to be explicitly
-invoked using the ANSI-conforming syntax t->~T(). If you're using
-cfront 3.0, you'll have to comment out the class gc_cleanup, which
-uses explicit invocation.
-
-****************************************************************************/
-
-#include "gc.h"
-
-#ifndef THINK_CPLUS
-#define _cdecl
-#endif
-
-#if ! defined( OPERATOR_NEW_ARRAY ) \
- && (__BORLANDC__ >= 0x450 || (__GNUC__ >= 2 && __GNUC_MINOR__ >= 6))
-# define OPERATOR_NEW_ARRAY
-#endif
-
-enum GCPlacement {GC, NoGC, PointerFreeGC};
-
-class gc {public:
- inline void* operator new( size_t size );
- inline void* operator new( size_t size, GCPlacement gcp );
- inline void operator delete( void* obj );
-
-#ifdef OPERATOR_NEW_ARRAY
- inline void* operator new[]( size_t size );
- inline void* operator new[]( size_t size, GCPlacement gcp );
- inline void operator delete[]( void* obj );
-#endif /* OPERATOR_NEW_ARRAY */
- };
- /*
- Instances of classes derived from "gc" will be allocated in the
- collected heap by default, unless an explicit NoGC placement is
- specified. */
-
-class gc_cleanup: virtual public gc {public:
- inline gc_cleanup();
- inline virtual ~gc_cleanup();
-private:
- inline static void _cdecl cleanup( void* obj, void* clientData );};
- /*
- Instances of classes derived from "gc_cleanup" will be allocated
- in the collected heap by default. When the collector discovers an
- inaccessible object derived from "gc_cleanup" or containing a
- member derived from "gc_cleanup", its destructors will be
- invoked. */
-
-extern "C" {typedef void (*GCCleanUpFunc)( void* obj, void* clientData );}
-
-inline void* operator new(
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup = 0,
- void* clientData = 0 );
- /*
- Allocates a collectable or uncollected object, according to the
- value of "gcp".
-
- For collectable objects, if "cleanup" is non-null, then when the
- allocated object "obj" becomes inaccessible, the collector will
- invoke the function "cleanup( obj, clientData )" but will not
- invoke the object's destructors. It is an error to explicitly
- delete an object allocated with a non-null "cleanup".
-
- It is an error to specify a non-null "cleanup" with NoGC or for
- classes derived from "gc_cleanup" or containing members derived
- from "gc_cleanup". */
-
-#ifdef OPERATOR_NEW_ARRAY
-
-inline void* operator new[](
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup = 0,
- void* clientData = 0 );
- /*
- The operator new for arrays, identical to the above. */
-
-#endif /* OPERATOR_NEW_ARRAY */
-
-/****************************************************************************
-
-Inline implementation
-
-****************************************************************************/
-
-inline void* gc::operator new( size_t size ) {
- return GC_MALLOC( size );}
-
-inline void* gc::operator new( size_t size, GCPlacement gcp ) {
- if (gcp == GC)
- return GC_MALLOC( size );
- else
- return GC_MALLOC_UNCOLLECTABLE( size );}
-
-inline void gc::operator delete( void* obj ) {
- GC_FREE( obj );}
-
-
-#ifdef OPERATOR_NEW_ARRAY
-
-inline void* gc::operator new[]( size_t size ) {
- return gc::operator new( size );}
-
-inline void* gc::operator new[]( size_t size, GCPlacement gcp ) {
- return gc::operator new( size, gcp );}
-
-inline void gc::operator delete[]( void* obj ) {
- gc::operator delete( obj );}
-
-#endif /* OPERATOR_NEW_ARRAY */
-
-
-inline gc_cleanup::~gc_cleanup() {
- GC_REGISTER_FINALIZER_IGNORE_SELF( this, 0, 0, 0, 0 );}
-
-inline void gc_cleanup::cleanup( void* obj, void* displ ) {
- ((gc_cleanup*) ((char*) obj + (ptrdiff_t) displ))->~gc_cleanup();}
-
-inline gc_cleanup::gc_cleanup() {
- GC_finalization_proc oldProc;
- void* oldData;
- void* base = GC_base( (void *) this );
- if (0 == base) return;
- GC_REGISTER_FINALIZER_IGNORE_SELF(
- base, cleanup, (void*) ((char*) this - (char*) base),
- &oldProc, &oldData );
- if (0 != oldProc) {
- GC_REGISTER_FINALIZER_IGNORE_SELF( base, oldProc, oldData, 0, 0 );}}
-
-inline void* operator new(
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup,
- void* clientData )
-{
- void* obj;
-
- if (gcp == GC) {
- obj = GC_MALLOC( size );
- if (cleanup != 0)
- GC_REGISTER_FINALIZER_IGNORE_SELF(
- obj, cleanup, clientData, 0, 0 );}
- else if (gcp == PointerFreeGC) {
- obj = GC_MALLOC_ATOMIC( size );}
- else {
- obj = GC_MALLOC_UNCOLLECTABLE( size );};
- return obj;}
-
-
-#ifdef OPERATOR_NEW_ARRAY
-
-inline void* operator new[](
- size_t size,
- GCPlacement gcp,
- GCCleanUpFunc cleanup,
- void* clientData )
-{
- return ::operator new( size, gcp, cleanup, clientData );}
-
-#endif /* OPERATOR_NEW_ARRAY */
-
-
-#endif /* GC_CPP_H */
-
diff --git a/boehm-gc/include/gc_inl.h b/boehm-gc/include/gc_inl.h
deleted file mode 100644
index 700843bbf96..00000000000
--- a/boehm-gc/include/gc_inl.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, October 3, 1995 2:07 pm PDT */
-
-# ifndef GC_PRIVATE_H
-# include "private/gc_priv.h"
-# endif
-
-/* USE OF THIS FILE IS NOT RECOMMENDED unless the collector has been */
-/* compiled without -DALL_INTERIOR_POINTERS or with */
-/* -DDONT_ADD_BYTE_AT_END, or the specified size includes a pointerfree */
-/* word at the end. In the standard collector configuration, */
-/* the final word of each object may not be scanned. */
-/* This is most useful for compilers that generate C. */
-/* Manual use is hereby discouraged. */
-
-/* Allocate n words (NOT BYTES). X is made to point to the result. */
-/* It is assumed that n < MAXOBJSZ, and */
-/* that n > 0. On machines requiring double word alignment of some */
-/* data, we also assume that n is 1 or even. This bypasses the */
-/* MERGE_SIZES mechanism. In order to minimize the number of distinct */
-/* free lists that are maintained, the caller should ensure that a */
-/* small number of distinct values of n are used. (The MERGE_SIZES */
-/* mechanism normally does this by ensuring that only the leading three */
-/* bits of n may be nonzero. See misc.c for details.) We really */
-/* recommend this only in cases in which n is a constant, and no */
-/* locking is required. */
-/* In that case it may allow the compiler to perform substantial */
-/* additional optimizations. */
-# define GC_MALLOC_WORDS(result,n) \
-{ \
- register ptr_t op; \
- register ptr_t *opp; \
- DCL_LOCK_STATE; \
- \
- opp = &(GC_objfreelist[n]); \
- FASTLOCK(); \
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) { \
- FASTUNLOCK(); \
- (result) = GC_generic_malloc_words_small((n), NORMAL); \
- } else { \
- *opp = obj_link(op); \
- obj_link(op) = 0; \
- GC_words_allocd += (n); \
- FASTUNLOCK(); \
- (result) = (GC_PTR) op; \
- } \
-}
-
-
-/* The same for atomic objects: */
-# define GC_MALLOC_ATOMIC_WORDS(result,n) \
-{ \
- register ptr_t op; \
- register ptr_t *opp; \
- DCL_LOCK_STATE; \
- \
- opp = &(GC_aobjfreelist[n]); \
- FASTLOCK(); \
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) { \
- FASTUNLOCK(); \
- (result) = GC_generic_malloc_words_small((n), PTRFREE); \
- } else { \
- *opp = obj_link(op); \
- obj_link(op) = 0; \
- GC_words_allocd += (n); \
- FASTUNLOCK(); \
- (result) = (GC_PTR) op; \
- } \
-}
-
-/* And once more for two word initialized objects: */
-# define GC_CONS(result, first, second) \
-{ \
- register ptr_t op; \
- register ptr_t *opp; \
- DCL_LOCK_STATE; \
- \
- opp = &(GC_objfreelist[2]); \
- FASTLOCK(); \
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) { \
- FASTUNLOCK(); \
- op = GC_generic_malloc_words_small(2, NORMAL); \
- } else { \
- *opp = obj_link(op); \
- GC_words_allocd += 2; \
- FASTUNLOCK(); \
- } \
- ((word *)op)[0] = (word)(first); \
- ((word *)op)[1] = (word)(second); \
- (result) = (GC_PTR) op; \
-}
diff --git a/boehm-gc/include/gc_inline.h b/boehm-gc/include/gc_inline.h
deleted file mode 100644
index db62d1d58a8..00000000000
--- a/boehm-gc/include/gc_inline.h
+++ /dev/null
@@ -1 +0,0 @@
-# include "gc_inl.h"
diff --git a/boehm-gc/include/gc_typed.h b/boehm-gc/include/gc_typed.h
deleted file mode 100644
index e4a6b94756e..00000000000
--- a/boehm-gc/include/gc_typed.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright 1996 Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Some simple primitives for allocation with explicit type information.
- * Facilities for dynamic type inference may be added later.
- * Should be used only for extremely performance critical applications,
- * or if conservative collector leakage is otherwise a problem (unlikely).
- * Note that this is implemented completely separately from the rest
- * of the collector, and is not linked in unless referenced.
- * This does not currently support GC_DEBUG in any interesting way.
- */
-/* Boehm, May 19, 1994 2:13 pm PDT */
-
-#ifndef _GC_TYPED_H
-# define _GC_TYPED_H
-# ifndef _GC_H
-# include "gc.h"
-# endif
-
-typedef GC_word * GC_bitmap;
- /* The least significant bit of the first word is one if */
- /* the first word in the object may be a pointer. */
-
-# define GC_get_bit(bm, index) \
- (((bm)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
-# define GC_set_bit(bm, index) \
- (bm)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
-
-typedef GC_word GC_descr;
-
-GC_API GC_descr GC_make_descriptor GC_PROTO((GC_bitmap bm, size_t len));
- /* Return a type descriptor for the object whose layout */
- /* is described by the argument. */
- /* The least significant bit of the first word is one */
- /* if the first word in the object may be a pointer. */
- /* The second argument specifies the number of */
- /* meaningful bits in the bitmap. The actual object */
- /* may be larger (but not smaller). Any additional */
- /* words in the object are assumed not to contain */
- /* pointers. */
- /* Returns a conservative approximation in the */
- /* (unlikely) case of insufficient memory to build */
- /* the descriptor. Calls to GC_make_descriptor */
- /* may consume some amount of a finite resource. This */
- /* is intended to be called once per type, not once */
- /* per allocation. */
-
-GC_API GC_PTR GC_malloc_explicitly_typed
- GC_PROTO((size_t size_in_bytes, GC_descr d));
- /* Allocate an object whose layout is described by d. */
- /* The resulting object MAY NOT BE PASSED TO REALLOC. */
-
-GC_API GC_PTR GC_malloc_explicitly_typed_ignore_off_page
- GC_PROTO((size_t size_in_bytes, GC_descr d));
-
-GC_API GC_PTR GC_calloc_explicitly_typed
- GC_PROTO((size_t nelements,
- size_t element_size_in_bytes,
- GC_descr d));
- /* Allocate an array of nelements elements, each of the */
- /* given size, and with the given descriptor. */
- /* The elemnt size must be a multiple of the byte */
- /* alignment required for pointers. E.g. on a 32-bit */
- /* machine with 16-bit aligned pointers, size_in_bytes */
- /* must be a multiple of 2. */
-
-#ifdef GC_DEBUG
-# define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) GC_MALLOC(bytes)
-# define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) GC_MALLOC(n*bytes)
-#else
-# define GC_MALLOC_EXPLICTLY_TYPED(bytes, d) \
- GC_malloc_explicitly_typed(bytes, d)
-# define GC_CALLOC_EXPLICTLY_TYPED(n, bytes, d) \
- GC_calloc_explicitly_typed(n, bytes, d)
-#endif /* !GC_DEBUG */
-
-
-#endif /* _GC_TYPED_H */
-
diff --git a/boehm-gc/include/private/config.h b/boehm-gc/include/private/config.h
deleted file mode 100644
index fc8004cebe5..00000000000
--- a/boehm-gc/include/private/config.h
+++ /dev/null
@@ -1,965 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-#ifndef CONFIG_H
-
-# define CONFIG_H
-
-/* Machine dependent parameters. Some tuning parameters can be found */
-/* near the top of gc_private.h. */
-
-/* Machine specific parts contributed by various people. See README file. */
-
-/* Determine the machine type: */
-# if defined(sun) && defined(mc68000)
-# define M68K
-# define SUNOS4
-# define mach_type_known
-# endif
-# if defined(hp9000s300)
-# define M68K
-# define HP
-# define mach_type_known
-# endif
-# if defined(__NetBSD__) && defined(m68k)
-# define M68K
-# define NETBSD
-# define mach_type_known
-# endif
-# if defined(vax)
-# define VAX
-# ifdef ultrix
-# define ULTRIX
-# else
-# define BSD
-# endif
-# define mach_type_known
-# endif
-# if defined(mips) || defined(__mips)
-# define MIPS
-# if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
-# define ULTRIX
-# else
-# if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) || defined(__SYSTYPE_SVR4__)
-# define IRIX5 /* or IRIX 6.X */
-# else
-# define RISCOS /* or IRIX 4.X */
-# endif
-# endif
-# define mach_type_known
-# endif
-# if defined(sequent) && defined(i386)
-# define I386
-# define SEQUENT
-# define mach_type_known
-# endif
-# if defined(sun) && defined(i386)
-# define I386
-# define SUNOS5
-# define mach_type_known
-# endif
-# if (defined(__OS2__) || defined(__EMX__)) && defined(__32BIT__)
-# define I386
-# define OS2
-# define mach_type_known
-# endif
-# if defined(ibm032)
-# define RT
-# define mach_type_known
-# endif
-# if defined(sun) && (defined(sparc) || defined(__sparc))
-# define SPARC
- /* Test for SunOS 5.x */
-# include <errno.h>
-# ifdef ECHRNG
-# define SUNOS5
-# else
-# define SUNOS4
-# endif
-# define mach_type_known
-# endif
-# if defined(sparc) && defined(unix) && !defined(sun)
-# define SPARC
-# define DRSNX
-# define mach_type_known
-# endif
-# if defined(_IBMR2)
-# define RS6000
-# define mach_type_known
-# endif
-# if defined(_M_XENIX) && defined(_M_SYSV) && defined(_M_I386)
- /* The above test may need refinement */
-# define I386
-# if defined(_SCO_ELF)
-# define SCO_ELF
-# else
-# define SCO
-# endif
-# define mach_type_known
-# endif
-# if defined(_AUX_SOURCE)
-# define M68K
-# define SYSV
-# define mach_type_known
-# endif
-# if defined(_PA_RISC1_0) || defined(_PA_RISC1_1)
-# define HP_PA
-# define mach_type_known
-# endif
-# if defined(linux) && defined(i386)
-# define I386
-# define LINUX
-# define mach_type_known
-# endif
-# if defined(linux) && defined(powerpc)
-# define POWERPC
-# define LINUX
-# define mach_type_known
-# endif
-# if defined(__alpha) || defined(__alpha__)
-# define ALPHA
-# if defined(linux) || defined(__linux__)
-# define LINUX
-# else
-# define OSF1 /* a.k.a Digital Unix */
-# endif
-# define mach_type_known
-# endif
-# if defined(_AMIGA)
-# define M68K
-# define AMIGA
-# define mach_type_known
-# endif
-# if defined(THINK_C) || defined(__MWERKS__) && !defined(__powerc)
-# define M68K
-# define MACOS
-# define mach_type_known
-# endif
-# if defined(__MWERKS__) && defined(__powerc)
-# define POWERPC
-# define MACOS
-# define mach_type_known
-# endif
-# if defined(NeXT) && defined(mc68000)
-# define M68K
-# define NEXT
-# define mach_type_known
-# endif
-# if defined(NeXT) && defined(i386)
-# define I386
-# define NEXT
-# define mach_type_known
-# endif
-# if defined(__FreeBSD__) && defined(i386)
-# define I386
-# define FREEBSD
-# define mach_type_known
-# endif
-# if defined(__NetBSD__) && defined(i386)
-# define I386
-# define NETBSD
-# define mach_type_known
-# endif
-# if defined(bsdi) && defined(i386)
-# define I386
-# define BSDI
-# define mach_type_known
-# endif
-# if !defined(mach_type_known) && defined(__386BSD__)
-# define I386
-# define THREE86BSD
-# define mach_type_known
-# endif
-# if defined(_CX_UX) && defined(_M88K)
-# define M88K
-# define CX_UX
-# define mach_type_known
-# endif
-# if defined(DGUX)
-# define M88K
- /* DGUX defined */
-# define mach_type_known
-# endif
-# if (defined(_MSDOS) || defined(_MSC_VER)) && (_M_IX86 >= 300)
-# define I386
-# define MSWIN32 /* or Win32s */
-# define mach_type_known
-# endif
-# if defined(__DJGPP__)
-# define I386
-# ifndef DJGPP
-# define DJGPP /* MSDOS running the DJGPP port of GCC */
-# endif
-# define mach_type_known
-# endif
-# if defined(__CYGWIN32__)
-# define I386
-# define CYGWIN32
-# define mach_type_known
-# endif
-# if defined(__BORLANDC__)
-# define I386
-# define MSWIN32
-# define mach_type_known
-# endif
-# if defined(_UTS) && !defined(mach_type_known)
-# define S370
-# define UTS4
-# define mach_type_known
-# endif
-/* Ivan Demakov */
-# if defined(__WATCOMC__) && defined(__386__)
-# define I386
-# if !defined(OS2) && !defined(MSWIN32) && !defined(DOS4GW)
-# if defined(__OS2__)
-# define OS2
-# else
-# if defined(__WINDOWS_386__) || defined(__NT__)
-# define MSWIN32
-# else
-# define DOS4GW
-# endif
-# endif
-# endif
-# define mach_type_known
-# endif
-
-/* Feel free to add more clauses here */
-
-/* Or manually define the machine type here. A machine type is */
-/* characterized by the architecture. Some */
-/* machine types are further subdivided by OS. */
-/* the macros ULTRIX, RISCOS, and BSD to distinguish. */
-/* Note that SGI IRIX is treated identically to RISCOS. */
-/* SYSV on an M68K actually means A/UX. */
-/* The distinction in these cases is usually the stack starting address */
-# ifndef mach_type_known
- --> unknown machine type
-# endif
- /* Mapping is: M68K ==> Motorola 680X0 */
- /* (SUNOS4,HP,NEXT, and SYSV (A/UX), */
- /* MACOS and AMIGA variants) */
- /* I386 ==> Intel 386 */
- /* (SEQUENT, OS2, SCO, LINUX, NETBSD, */
- /* FREEBSD, THREE86BSD, MSWIN32, */
- /* BSDI, SUNOS5, NEXT variants) */
- /* NS32K ==> Encore Multimax */
- /* MIPS ==> R2000 or R3000 */
- /* (RISCOS, ULTRIX variants) */
- /* VAX ==> DEC VAX */
- /* (BSD, ULTRIX variants) */
- /* RS6000 ==> IBM RS/6000 AIX3.X */
- /* RT ==> IBM PC/RT */
- /* HP_PA ==> HP9000/700 & /800 */
- /* HP/UX */
- /* SPARC ==> SPARC under SunOS */
- /* (SUNOS4, SUNOS5, */
- /* DRSNX variants) */
- /* ALPHA ==> DEC Alpha */
- /* (OSF1 and LINUX variants) */
- /* M88K ==> Motorola 88XX0 */
- /* (CX_UX and DGUX) */
- /* S370 ==> 370-like machine */
- /* running Amdahl UTS4 */
-
-
-/*
- * For each architecture and OS, the following need to be defined:
- *
- * CPP_WORD_SZ is a simple integer constant representing the word size.
- * in bits. We assume byte addressibility, where a byte has 8 bits.
- * We also assume CPP_WORD_SZ is either 32 or 64.
- * (We care about the length of pointers, not hardware
- * bus widths. Thus a 64 bit processor with a C compiler that uses
- * 32 bit pointers should use CPP_WORD_SZ of 32, not 64. Default is 32.)
- *
- * MACH_TYPE is a string representation of the machine type.
- * OS_TYPE is analogous for the OS.
- *
- * ALIGNMENT is the largest N, such that
- * all pointer are guaranteed to be aligned on N byte boundaries.
- * defining it to be 1 will always work, but perform poorly.
- *
- * DATASTART is the beginning of the data segment.
- * On UNIX systems, the collector will scan the area between DATASTART
- * and DATAEND for root pointers.
- *
- * DATAEND, if not &end.
- *
- * ALIGN_DOUBLE of GC_malloc should return blocks aligned to twice
- * the pointer size.
- *
- * STACKBOTTOM is the cool end of the stack, which is usually the
- * highest address in the stack.
- * Under PCR or OS/2, we have other ways of finding thread stacks.
- * For each machine, the following should:
- * 1) define STACK_GROWS_UP if the stack grows toward higher addresses, and
- * 2) define exactly one of
- * STACKBOTTOM (should be defined to be an expression)
- * HEURISTIC1
- * HEURISTIC2
- * If either of the last two macros are defined, then STACKBOTTOM is computed
- * during collector startup using one of the following two heuristics:
- * HEURISTIC1: Take an address inside GC_init's frame, and round it up to
- * the next multiple of STACK_GRAN.
- * HEURISTIC2: Take an address inside GC_init's frame, increment it repeatedly
- * in small steps (decrement if STACK_GROWS_UP), and read the value
- * at each location. Remember the value when the first
- * Segmentation violation or Bus error is signalled. Round that
- * to the nearest plausible page boundary, and use that instead
- * of STACKBOTTOM.
- *
- * If no expression for STACKBOTTOM can be found, and neither of the above
- * heuristics are usable, the collector can still be used with all of the above
- * undefined, provided one of the following is done:
- * 1) GC_mark_roots can be changed to somehow mark from the correct stack(s)
- * without reference to STACKBOTTOM. This is appropriate for use in
- * conjunction with thread packages, since there will be multiple stacks.
- * (Allocating thread stacks in the heap, and treating them as ordinary
- * heap data objects is also possible as a last resort. However, this is
- * likely to introduce significant amounts of excess storage retention
- * unless the dead parts of the thread stacks are periodically cleared.)
- * 2) Client code may set GC_stackbottom before calling any GC_ routines.
- * If the author of the client code controls the main program, this is
- * easily accomplished by introducing a new main program, setting
- * GC_stackbottom to the address of a local variable, and then calling
- * the original main program. The new main program would read something
- * like:
- *
- * # include "gc_private.h"
- *
- * main(argc, argv, envp)
- * int argc;
- * char **argv, **envp;
- * {
- * int dummy;
- *
- * GC_stackbottom = (ptr_t)(&dummy);
- * return(real_main(argc, argv, envp));
- * }
- *
- *
- * Each architecture may also define the style of virtual dirty bit
- * implementation to be used:
- * MPROTECT_VDB: Write protect the heap and catch faults.
- * PROC_VDB: Use the SVR4 /proc primitives to read dirty bits.
- *
- * An architecture may define DYNAMIC_LOADING if dynamic_load.c
- * defined GC_register_dynamic_libraries() for the architecture.
- */
-
-
-# define STACK_GRAN 0x1000000
-# ifdef M68K
-# define MACH_TYPE "M68K"
-# define ALIGNMENT 2
-# ifdef NETBSD
-# define OS_TYPE "NETBSD"
-# define HEURISTIC2
- extern char etext;
-# define DATASTART ((ptr_t)(&etext))
-# endif
-# ifdef SUNOS4
-# define OS_TYPE "SUNOS4"
- extern char etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x1ffff) & ~0x1ffff))
-# define HEURISTIC1 /* differs */
-# define DYNAMIC_LOADING
-# endif
-# ifdef HP
-# define OS_TYPE "HP"
- extern char etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0xfff) & ~0xfff))
-# define STACKBOTTOM ((ptr_t) 0xffeffffc)
- /* empirically determined. seems to work. */
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGE_SIZE)
-# endif
-# ifdef SYSV
-# define OS_TYPE "SYSV"
- extern etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x3fffff) \
- & ~0x3fffff) \
- +((word)&etext & 0x1fff))
- /* This only works for shared-text binaries with magic number 0413.
- The other sorts of SysV binaries put the data at the end of the text,
- in which case the default of &etext would work. Unfortunately,
- handling both would require having the magic-number available.
- -- Parag
- */
-# define STACKBOTTOM ((ptr_t)0xFFFFFFFE)
- /* The stack starts at the top of memory, but */
- /* 0x0 cannot be used as setjump_test complains */
- /* that the stack direction is incorrect. Two */
- /* bytes down from 0x0 should be safe enough. */
- /* --Parag */
-# include <sys/mmu.h>
-# define GETPAGESIZE() PAGESIZE /* Is this still right? */
-# endif
-# ifdef AMIGA
-# define OS_TYPE "AMIGA"
- /* STACKBOTTOM and DATASTART handled specially */
- /* in os_dep.c */
-# define DATAEND /* not needed */
-# define GETPAGESIZE() 4096
-# endif
-# ifdef MACOS
-# ifndef __LOWMEM__
-# include <LowMem.h>
-# endif
-# define OS_TYPE "MACOS"
- /* see os_dep.c for details of global data segments. */
-# define STACKBOTTOM ((ptr_t) LMGetCurStackBase())
-# define DATAEND /* not needed */
-# define GETPAGESIZE() 4096
-# endif
-# ifdef NEXT
-# define OS_TYPE "NEXT"
-# define DATASTART ((ptr_t) get_etext())
-# define STACKBOTTOM ((ptr_t) 0x4000000)
-# define DATAEND /* not needed */
-# endif
-# endif
-
-# ifdef POWERPC
-# define MACH_TYPE "POWERPC"
-# define ALIGNMENT 2
-# ifdef MACOS
-# ifndef __LOWMEM__
-# include <LowMem.h>
-# endif
-# define OS_TYPE "MACOS"
- /* see os_dep.c for details of global data segments. */
-# define STACKBOTTOM ((ptr_t) LMGetCurStackBase())
-# define DATAEND /* not needed */
-# endif
-# ifdef LINUX
-# define OS_TYPE "LINUX"
-# define STACKBOTTOM ((ptr_t)0x80000000)
-# define DATASTART GC_data_start
- extern int _end;
-# define DATAEND (&_end)
-# endif
-# endif
-
-# ifdef VAX
-# define MACH_TYPE "VAX"
-# define ALIGNMENT 4 /* Pointers are longword aligned by 4.2 C compiler */
- extern char etext;
-# define DATASTART ((ptr_t)(&etext))
-# ifdef BSD
-# define OS_TYPE "BSD"
-# define HEURISTIC1
- /* HEURISTIC2 may be OK, but it's hard to test. */
-# endif
-# ifdef ULTRIX
-# define OS_TYPE "ULTRIX"
-# define STACKBOTTOM ((ptr_t) 0x7fffc800)
-# endif
-# endif
-
-# ifdef RT
-# define MACH_TYPE "RT"
-# define ALIGNMENT 4
-# define DATASTART ((ptr_t) 0x10000000)
-# define STACKBOTTOM ((ptr_t) 0x1fffd800)
-# endif
-
-# ifdef SPARC
-# define MACH_TYPE "SPARC"
-# define ALIGNMENT 4 /* Required by hardware */
-# define ALIGN_DOUBLE
- extern int etext;
-# ifdef SUNOS5
-# define OS_TYPE "SUNOS5"
- extern int _etext;
- extern int _end;
- extern char * GC_SysVGetDataStart();
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &_etext)
-# define DATAEND (&_end)
-# ifndef USE_MMAP
-# define USE_MMAP
-# endif
-# ifdef USE_MMAP
-# define HEAP_START (ptr_t)0x40000000
-# else
-# define HEAP_START DATAEND
-# endif
-# define PROC_VDB
-# define HEURISTIC1
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGESIZE)
- /* getpagesize() appeared to be missing from at least one */
- /* Solaris 5.4 installation. Weird. */
-# endif
-# ifdef SUNOS4
-# define OS_TYPE "SUNOS4"
- /* [If you have a weak stomach, don't read this.] */
- /* We would like to use: */
-/* # define DATASTART ((ptr_t)((((word) (&etext)) + 0x1fff) & ~0x1fff)) */
- /* This fails occasionally, due to an ancient, but very */
- /* persistent ld bug. &etext is set 32 bytes too high. */
- /* We instead read the text segment size from the a.out */
- /* header, which happens to be mapped into our address space */
- /* at the start of the text segment. The detective work here */
- /* was done by Robert Ehrlich, Manuel Serrano, and Bernard */
- /* Serpette of INRIA. */
- /* This assumes ZMAGIC, i.e. demand-loadable executables. */
-# define TEXTSTART 0x2000
-# define DATASTART ((ptr_t)(*(int *)(TEXTSTART+0x4)+TEXTSTART))
-# define MPROTECT_VDB
-# define HEURISTIC1
-# endif
-# ifdef DRSNX
-# define CPP_WORDSZ 32
-# define OS_TYPE "DRSNX"
- extern char * GC_SysVGetDataStart();
- extern int etext;
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &etext)
-# define MPROTECT_VDB
-# define STACKBOTTOM ((ptr_t) 0xdfff0000)
-# endif
-# define DYNAMIC_LOADING
-# endif
-
-# ifdef I386
-# define MACH_TYPE "I386"
-# define ALIGNMENT 4 /* Appears to hold for all "32 bit" compilers */
- /* except Borland. The -a4 option fixes */
- /* Borland. */
- /* Ivan Demakov: For Watcom the option is -zp4. */
-# ifndef SMALL_CONFIG
-# define ALIGN_DOUBLE /* Not strictly necessary, but may give speed */
- /* improvement on Pentiums. */
-# endif
-# ifdef SEQUENT
-# define OS_TYPE "SEQUENT"
- extern int etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0xfff) & ~0xfff))
-# define STACKBOTTOM ((ptr_t) 0x3ffff000)
-# endif
-# ifdef SUNOS5
-# define OS_TYPE "SUNOS5"
- extern int etext, _start;
- extern char * GC_SysVGetDataStart();
-# define DATASTART GC_SysVGetDataStart(0x1000, &etext)
-# define STACKBOTTOM ((ptr_t)(&_start))
-/** At least in Solaris 2.5, PROC_VDB gives wrong values for dirty bits. */
-/*# define PROC_VDB*/
-# define DYNAMIC_LOADING
-# ifndef USE_MMAP
-# define USE_MMAP
-# endif
-# ifdef USE_MMAP
-# define HEAP_START (ptr_t)0x40000000
-# else
-# define HEAP_START DATAEND
-# endif
-# endif
-# ifdef SCO
-# define OS_TYPE "SCO"
- extern int etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x3fffff) \
- & ~0x3fffff) \
- +((word)&etext & 0xfff))
-# define STACKBOTTOM ((ptr_t) 0x7ffffffc)
-# endif
-# ifdef SCO_ELF
-# define OS_TYPE "SCO_ELF"
- extern int etext;
-# define DATASTART ((ptr_t)(&etext))
-# define STACKBOTTOM ((ptr_t) 0x08048000)
-# define DYNAMIC_LOADING
-# define ELF_CLASS ELFCLASS32
-# endif
-# ifdef LINUX
-# define OS_TYPE "LINUX"
-# define STACKBOTTOM ((ptr_t)0xc0000000)
- /* Appears to be 0xe0000000 for at least one 2.1.91 kernel. */
- /* Probably needs to be more flexible, but I don't yet */
- /* fully understand how flexible. */
-# define MPROTECT_VDB
-# ifdef __ELF__
-# define DYNAMIC_LOADING
-# ifdef UNDEFINED /* includes ro data */
- extern int _etext;
-# define DATASTART ((ptr_t)((((word) (&_etext)) + 0xfff) & ~0xfff))
-# endif
-# include <linux/version.h>
-# include <features.h>
-# if LINUX_VERSION_CODE >= 0x20000 && defined(__GLIBC__) && __GLIBC__ >= 2
- extern int __data_start;
-# define DATASTART ((ptr_t)(&__data_start))
-# else
- extern char **__environ;
-# define DATASTART ((ptr_t)(&__environ))
- /* hideous kludge: __environ is the first */
- /* word in crt0.o, and delimits the start */
- /* of the data segment, no matter which */
- /* ld options were passed through. */
- /* We could use _etext instead, but that */
- /* would include .rodata, which may */
- /* contain large read-only data tables */
- /* that we'd rather not scan. */
-# endif
- extern int _end;
-# define DATAEND (&_end)
-# else
- extern int etext;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0xfff) & ~0xfff))
-# endif
-# endif
-# ifdef CYGWIN32
- extern int _data_start__;
- extern int _data_end__;
- extern int _bss_start__;
- extern int _bss_end__;
- /* For binutils 2.9.1, we have */
- /* DATASTART = _data_start__ */
- /* DATAEND = _bss_end__ */
- /* whereas for some earlier versions it was */
- /* DATASTART = _bss_start__ */
- /* DATAEND = _data_end__ */
- /* To get it right for both, we take the */
- /* minumum/maximum of the two. */
-# define MAX(x,y) ((x) > (y) ? (x) : (y))
-# define MIN(x,y) ((x) < (y) ? (x) : (y))
-# define DATASTART ((ptr_t) MIN(_data_start__, _bss_start__))
-# define DATAEND ((ptr_t) MAX(_data_end__, _bss_end__))
-# undef STACK_GRAN
-# define STACK_GRAN 0x10000
-# define HEURISTIC1
-# endif
-# ifdef OS2
-# define OS_TYPE "OS2"
- /* STACKBOTTOM and DATASTART are handled specially in */
- /* os_dep.c. OS2 actually has the right */
- /* system call! */
-# define DATAEND /* not needed */
-# endif
-# ifdef MSWIN32
-# define OS_TYPE "MSWIN32"
- /* STACKBOTTOM and DATASTART are handled specially in */
- /* os_dep.c. */
-# ifndef __WATCOMC__
-# define MPROTECT_VDB
-# endif
-# define DATAEND /* not needed */
-# endif
-# ifdef DJGPP
-# define OS_TYPE "DJGPP"
-# include "stubinfo.h"
- extern int etext;
- extern int _stklen;
-# define DATASTART ((ptr_t)((((word) (&etext)) + 0x1ff) & ~0x1ff))
-# define STACKBOTTOM ((ptr_t)((word) _stubinfo + _stubinfo->size \
- + _stklen))
- /* This may not be right. */
-# endif
-# ifdef FREEBSD
-# define OS_TYPE "FREEBSD"
-# define MPROTECT_VDB
-# endif
-# ifdef NETBSD
-# define OS_TYPE "NETBSD"
-# endif
-# ifdef THREE86BSD
-# define OS_TYPE "THREE86BSD"
-# endif
-# ifdef BSDI
-# define OS_TYPE "BSDI"
-# endif
-# if defined(FREEBSD) || defined(NETBSD) \
- || defined(THREE86BSD) || defined(BSDI)
-# define HEURISTIC2
- extern char etext;
-# define DATASTART ((ptr_t)(&etext))
-# endif
-# ifdef NEXT
-# define OS_TYPE "NEXT"
-# define DATASTART ((ptr_t) get_etext())
-# define STACKBOTTOM ((ptr_t)0xc0000000)
-# define DATAEND /* not needed */
-# endif
-# ifdef DOS4GW
-# define OS_TYPE "DOS4GW"
- /* Get_DATASTART, Get_DATAEND, Get_STACKBOTTOM
- * Defined in gc-watcom.asm
- */
- extern char* Get_DATASTART (void);
- extern char* Get_DATAEND (void);
- extern char* Get_STACKBOTTOM (void);
-# pragma aux Get_DATASTART "*" value [eax];
-# pragma aux Get_DATAEND "*" value [eax];
-# pragma aux Get_STACKBOTTOM "*" value [eax];
-# define DATASTART ((ptr_t) Get_DATASTART())
-# define STACKBOTTOM ((ptr_t) Get_STACKBOTTOM())
-# define DATAEND ((ptr_t) Get_DATAEND())
-# endif
-# endif
-
-# ifdef NS32K
-# define MACH_TYPE "NS32K"
-# define ALIGNMENT 4
- extern char **environ;
-# define DATASTART ((ptr_t)(&environ))
- /* hideous kludge: environ is the first */
- /* word in crt0.o, and delimits the start */
- /* of the data segment, no matter which */
- /* ld options were passed through. */
-# define STACKBOTTOM ((ptr_t) 0xfffff000) /* for Encore */
-# endif
-
-# ifdef MIPS
-# define MACH_TYPE "MIPS"
-# ifndef IRIX5
-# define DATASTART (ptr_t)0x10000000
- /* Could probably be slightly higher since */
- /* startup code allocates lots of stuff. */
-# else
- extern int _fdata;
-# define DATASTART ((ptr_t)(&_fdata))
-# ifdef USE_MMAP
-# define HEAP_START (ptr_t)0x30000000
-# else
-# define HEAP_START DATASTART
-# endif
- /* Lowest plausible heap address. */
- /* In the MMAP case, we map there. */
- /* In either case it is used to identify */
- /* heap sections so they're not */
- /* considered as roots. */
-# endif /* IRIX5 */
-# define HEURISTIC2
-/* # define STACKBOTTOM ((ptr_t)0x7fff8000) sometimes also works. */
-# ifdef ULTRIX
-# define OS_TYPE "ULTRIX"
-# define ALIGNMENT 4
-# endif
-# ifdef RISCOS
-# define OS_TYPE "RISCOS"
-# define ALIGNMENT 4 /* Required by hardware */
-# endif
-# ifdef IRIX5
-# define OS_TYPE "IRIX5"
-# define MPROTECT_VDB
-# ifdef _MIPS_SZPTR
-# define CPP_WORDSZ _MIPS_SZPTR
-# define ALIGNMENT (_MIPS_SZPTR/8)
-# if CPP_WORDSZ != 64
-# define ALIGN_DOUBLE
-# endif
-# else
-# define ALIGNMENT 4
-# define ALIGN_DOUBLE
-# endif
-# define DYNAMIC_LOADING
-# endif
-# endif
-
-# ifdef RS6000
-# define MACH_TYPE "RS6000"
-# define ALIGNMENT 4
-# define DATASTART ((ptr_t)0x20000000)
- extern int errno;
-# define STACKBOTTOM ((ptr_t)((ulong)&errno))
-# define DYNAMIC_LOADING
- /* For really old versions of AIX, this may have to be removed. */
-# endif
-
-# ifdef HP_PA
-# define MACH_TYPE "HP_PA"
-# define ALIGNMENT 4
-# define ALIGN_DOUBLE
- extern int __data_start;
-# define DATASTART ((ptr_t)(&__data_start))
-# if 0
- /* The following appears to work for 7xx systems running HP/UX */
- /* 9.xx Furthermore, it might result in much faster */
- /* collections than HEURISTIC2, which may involve scanning */
- /* segments that directly precede the stack. It is not the */
- /* default, since it may not work on older machine/OS */
- /* combinations. (Thanks to Raymond X.T. Nijssen for uncovering */
- /* this.) */
-# define STACKBOTTOM ((ptr_t) 0x7b033000) /* from /etc/conf/h/param.h */
-# else
-# define HEURISTIC2
-# endif
-# define STACK_GROWS_UP
-# define DYNAMIC_LOADING
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGE_SIZE)
- /* They misspelled the Posix macro? */
-# endif
-
-# ifdef ALPHA
-# define MACH_TYPE "ALPHA"
-# define ALIGNMENT 8
-# ifdef OSF1
-# define OS_TYPE "OSF1"
-# define DATASTART ((ptr_t) 0x140000000)
-# define HEURISTIC2
- /* Normally HEURISTIC2 is too conervative, since */
- /* the text segment immediately follows the stack. */
- /* Hence we give an upper pound. */
- extern __start;
-# define HEURISTIC2_LIMIT ((ptr_t)((word)(&__start) & ~(getpagesize()-1)))
-# define CPP_WORDSZ 64
-# define MPROTECT_VDB
-# define DYNAMIC_LOADING
-# endif
-# ifdef LINUX
-# define OS_TYPE "LINUX"
-# define CPP_WORDSZ 64
-# define STACKBOTTOM ((ptr_t) 0x120000000)
-# ifdef __ELF__
- extern int __data_start;
-# define DATASTART &__data_start
-# define DYNAMIC_LOADING
-# else
-# define DATASTART ((ptr_t) 0x140000000)
-# endif
- extern int _end;
-# define DATAEND (&_end)
- /* As of 1.3.90, I couldn't find a way to retrieve the correct */
- /* fault address from a signal handler. */
- /* Hence MPROTECT_VDB is broken. */
-# endif
-# endif
-
-# ifdef M88K
-# define MACH_TYPE "M88K"
-# define ALIGNMENT 4
-# define ALIGN_DOUBLE
- extern int etext;
-# ifdef CX_UX
-# define OS_TYPE "CX_UX"
-# define DATASTART ((((word)&etext + 0x3fffff) & ~0x3fffff) + 0x10000)
-# endif
-# ifdef DGUX
-# define OS_TYPE "DGUX"
- extern char * GC_SysVGetDataStart();
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &etext)
-# endif
-# define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */
-# endif
-
-# ifdef S370
-# define MACH_TYPE "S370"
-# define OS_TYPE "UTS4"
-# define ALIGNMENT 4 /* Required by hardware */
- extern int etext;
- extern int _etext;
- extern int _end;
- extern char * GC_SysVGetDataStart();
-# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &_etext)
-# define DATAEND (&_end)
-# define HEURISTIC2
-# endif
-
-# ifndef STACK_GROWS_UP
-# define STACK_GROWS_DOWN
-# endif
-
-# ifndef CPP_WORDSZ
-# define CPP_WORDSZ 32
-# endif
-
-# ifndef OS_TYPE
-# define OS_TYPE ""
-# endif
-
-# ifndef DATAEND
- extern int end;
-# define DATAEND (&end)
-# endif
-
-# if defined(SVR4) && !defined(GETPAGESIZE)
-# include <unistd.h>
-# define GETPAGESIZE() sysconf(_SC_PAGESIZE)
-# endif
-
-# ifndef GETPAGESIZE
-# if defined(SUNOS5) || defined(IRIX5)
-# include <unistd.h>
-# endif
-# define GETPAGESIZE() getpagesize()
-# endif
-
-# if defined(SUNOS5) || defined(DRSNX) || defined(UTS4)
- /* OS has SVR4 generic features. Probably others also qualify. */
-# define SVR4
-# endif
-
-# if defined(SUNOS5) || defined(DRSNX)
- /* OS has SUNOS5 style semi-undocumented interface to dynamic */
- /* loader. */
-# define SUNOS5DL
- /* OS has SUNOS5 style signal handlers. */
-# define SUNOS5SIGS
-# endif
-
-# if CPP_WORDSZ != 32 && CPP_WORDSZ != 64
- -> bad word size
-# endif
-
-# ifdef PCR
-# undef DYNAMIC_LOADING
-# undef STACKBOTTOM
-# undef HEURISTIC1
-# undef HEURISTIC2
-# undef PROC_VDB
-# undef MPROTECT_VDB
-# define PCR_VDB
-# endif
-
-# ifdef SRC_M3
-/* Postponed for now. */
-# undef PROC_VDB
-# undef MPROTECT_VDB
-# endif
-
-# ifdef SMALL_CONFIG
-/* Presumably not worth the space it takes. */
-# undef PROC_VDB
-# undef MPROTECT_VDB
-# endif
-
-# if !defined(PCR_VDB) && !defined(PROC_VDB) && !defined(MPROTECT_VDB)
-# define DEFAULT_VDB
-# endif
-
-# if defined(IRIX_THREADS) && !defined(IRIX5)
---> inconsistent configuration
-# endif
-# if defined(LINUX_THREADS) && !defined(LINUX)
---> inconsistent configuration
-# endif
-# if defined(SOLARIS_THREADS) && !defined(SUNOS5)
---> inconsistent configuration
-# endif
-# if defined(PCR) || defined(SRC_M3) || \
- defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || \
- defined(IRIX_THREADS) || defined(LINUX_THREADS)
-# define THREADS
-# endif
-
-# if defined(SPARC)
-# define SAVE_CALL_CHAIN
-# define ASM_CLEAR_CODE /* Stack clearing is crucial, and we */
- /* include assembly code to do it well. */
-# endif
-
-# endif
diff --git a/boehm-gc/include/private/cord_pos.h b/boehm-gc/include/private/cord_pos.h
deleted file mode 100644
index d2b24bb8ab6..00000000000
--- a/boehm-gc/include/private/cord_pos.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 1993-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:23 pm PDT */
-# ifndef CORD_POSITION_H
-
-/* The representation of CORD_position. This is private to the */
-/* implementation, but the size is known to clients. Also */
-/* the implementation of some exported macros relies on it. */
-/* Don't use anything defined here and not in cord.h. */
-
-# define MAX_DEPTH 48
- /* The maximum depth of a balanced cord + 1. */
- /* We don't let cords get deeper than MAX_DEPTH. */
-
-struct CORD_pe {
- CORD pe_cord;
- size_t pe_start_pos;
-};
-
-/* A structure describing an entry on the path from the root */
-/* to current position. */
-typedef struct CORD_Pos {
- size_t cur_pos;
- int path_len;
-# define CORD_POS_INVALID (0x55555555)
- /* path_len == INVALID <==> position invalid */
- const char *cur_leaf; /* Current leaf, if it is a string. */
- /* If the current leaf is a function, */
- /* then this may point to function_buf */
- /* containing the next few characters. */
- /* Always points to a valid string */
- /* containing the current character */
- /* unless cur_end is 0. */
- size_t cur_start; /* Start position of cur_leaf */
- size_t cur_end; /* Ending position of cur_leaf */
- /* 0 if cur_leaf is invalid. */
- struct CORD_pe path[MAX_DEPTH + 1];
- /* path[path_len] is the leaf corresponding to cur_pos */
- /* path[0].pe_cord is the cord we point to. */
-# define FUNCTION_BUF_SZ 8
- char function_buf[FUNCTION_BUF_SZ]; /* Space for next few chars */
- /* from function node. */
-} CORD_pos[1];
-
-/* Extract the cord from a position: */
-CORD CORD_pos_to_cord(CORD_pos p);
-
-/* Extract the current index from a position: */
-size_t CORD_pos_to_index(CORD_pos p);
-
-/* Fetch the character located at the given position: */
-char CORD_pos_fetch(CORD_pos p);
-
-/* Initialize the position to refer to the give cord and index. */
-/* Note that this is the most expensive function on positions: */
-void CORD_set_pos(CORD_pos p, CORD x, size_t i);
-
-/* Advance the position to the next character. */
-/* P must be initialized and valid. */
-/* Invalidates p if past end: */
-void CORD_next(CORD_pos p);
-
-/* Move the position to the preceding character. */
-/* P must be initialized and valid. */
-/* Invalidates p if past beginning: */
-void CORD_prev(CORD_pos p);
-
-/* Is the position valid, i.e. inside the cord? */
-int CORD_pos_valid(CORD_pos p);
-
-char CORD__pos_fetch(CORD_pos);
-void CORD__next(CORD_pos);
-void CORD__prev(CORD_pos);
-
-#define CORD_pos_fetch(p) \
- (((p)[0].cur_end != 0)? \
- (p)[0].cur_leaf[(p)[0].cur_pos - (p)[0].cur_start] \
- : CORD__pos_fetch(p))
-
-#define CORD_next(p) \
- (((p)[0].cur_pos + 1 < (p)[0].cur_end)? \
- (p)[0].cur_pos++ \
- : (CORD__next(p), 0))
-
-#define CORD_prev(p) \
- (((p)[0].cur_end != 0 && (p)[0].cur_pos > (p)[0].cur_start)? \
- (p)[0].cur_pos-- \
- : (CORD__prev(p), 0))
-
-#define CORD_pos_to_index(p) ((p)[0].cur_pos)
-
-#define CORD_pos_to_cord(p) ((p)[0].path[0].pe_cord)
-
-#define CORD_pos_valid(p) ((p)[0].path_len != CORD_POS_INVALID)
-
-/* Some grubby stuff for performance-critical friends: */
-#define CORD_pos_chars_left(p) ((long)((p)[0].cur_end) - (long)((p)[0].cur_pos))
- /* Number of characters in cache. <= 0 ==> none */
-
-#define CORD_pos_advance(p,n) ((p)[0].cur_pos += (n) - 1, CORD_next(p))
- /* Advance position by n characters */
- /* 0 < n < CORD_pos_chars_left(p) */
-
-#define CORD_pos_cur_char_addr(p) \
- (p)[0].cur_leaf + ((p)[0].cur_pos - (p)[0].cur_start)
- /* address of current character in cache. */
-
-#endif
diff --git a/boehm-gc/include/private/gc_hdrs.h b/boehm-gc/include/private/gc_hdrs.h
deleted file mode 100644
index 2f2d1bf9b8a..00000000000
--- a/boehm-gc/include/private/gc_hdrs.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, July 11, 1995 11:54 am PDT */
-# ifndef GC_HEADERS_H
-# define GC_HEADERS_H
-typedef struct hblkhdr hdr;
-
-# if CPP_WORDSZ != 32 && CPP_WORDSZ < 36
- --> Get a real machine.
-# endif
-
-/*
- * The 2 level tree data structure that is used to find block headers.
- * If there are more than 32 bits in a pointer, the top level is a hash
- * table.
- */
-
-# if CPP_WORDSZ > 32
-# define HASH_TL
-# endif
-
-/* Define appropriate out-degrees for each of the two tree levels */
-# ifdef SMALL_CONFIG
-# define LOG_BOTTOM_SZ 11
- /* Keep top index size reasonable with smaller blocks. */
-# else
-# define LOG_BOTTOM_SZ 10
-# endif
-# ifndef HASH_TL
-# define LOG_TOP_SZ (WORDSZ - LOG_BOTTOM_SZ - LOG_HBLKSIZE)
-# else
-# define LOG_TOP_SZ 11
-# endif
-# define TOP_SZ (1 << LOG_TOP_SZ)
-# define BOTTOM_SZ (1 << LOG_BOTTOM_SZ)
-
-typedef struct bi {
- hdr * index[BOTTOM_SZ];
- /*
- * The bottom level index contains one of three kinds of values:
- * 0 means we're not responsible for this block.
- * 1 < (long)X <= MAX_JUMP means the block starts at least
- * X * HBLKSIZE bytes before the current address.
- * A valid pointer points to a hdr structure. (The above can't be
- * valid pointers due to the GET_MEM return convention.)
- */
- struct bi * asc_link; /* All indices are linked in */
- /* ascending order. */
- word key; /* high order address bits. */
-# ifdef HASH_TL
- struct bi * hash_link; /* Hash chain link. */
-# endif
-} bottom_index;
-
-/* extern bottom_index GC_all_nils; - really part of GC_arrays */
-
-/* extern bottom_index * GC_top_index []; - really part of GC_arrays */
- /* Each entry points to a bottom_index. */
- /* On a 32 bit machine, it points to */
- /* the index for a set of high order */
- /* bits equal to the index. For longer */
- /* addresses, we hash the high order */
- /* bits to compute the index in */
- /* GC_top_index, and each entry points */
- /* to a hash chain. */
- /* The last entry in each chain is */
- /* GC_all_nils. */
-
-
-# define MAX_JUMP (HBLKSIZE - 1)
-
-# define HDR_FROM_BI(bi, p) \
- ((bi)->index[((word)(p) >> LOG_HBLKSIZE) & (BOTTOM_SZ - 1)])
-# ifndef HASH_TL
-# define BI(p) (GC_top_index \
- [(word)(p) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE)])
-# define HDR_INNER(p) HDR_FROM_BI(BI(p),p)
-# ifdef SMALL_CONFIG
-# define HDR(p) GC_find_header((ptr_t)(p))
-# else
-# define HDR(p) HDR_INNER(p)
-# endif
-# define GET_BI(p, bottom_indx) (bottom_indx) = BI(p)
-# define GET_HDR(p, hhdr) (hhdr) = HDR(p)
-# define SET_HDR(p, hhdr) HDR_INNER(p) = (hhdr)
-# define GET_HDR_ADDR(p, ha) (ha) = &(HDR_INNER(p))
-# else /* hash */
-/* Hash function for tree top level */
-# define TL_HASH(hi) ((hi) & (TOP_SZ - 1))
-/* Set bottom_indx to point to the bottom index for address p */
-# define GET_BI(p, bottom_indx) \
- { \
- register word hi = \
- (word)(p) >> (LOG_BOTTOM_SZ + LOG_HBLKSIZE); \
- register bottom_index * _bi = GC_top_index[TL_HASH(hi)]; \
- \
- while (_bi -> key != hi && _bi != GC_all_nils) \
- _bi = _bi -> hash_link; \
- (bottom_indx) = _bi; \
- }
-# define GET_HDR_ADDR(p, ha) \
- { \
- register bottom_index * bi; \
- \
- GET_BI(p, bi); \
- (ha) = &(HDR_FROM_BI(bi, p)); \
- }
-# define GET_HDR(p, hhdr) { register hdr ** _ha; GET_HDR_ADDR(p, _ha); \
- (hhdr) = *_ha; }
-# define SET_HDR(p, hhdr) { register hdr ** _ha; GET_HDR_ADDR(p, _ha); \
- *_ha = (hhdr); }
-# define HDR(p) GC_find_header((ptr_t)(p))
-# endif
-
-/* Is the result a forwarding address to someplace closer to the */
-/* beginning of the block or NIL? */
-# define IS_FORWARDING_ADDR_OR_NIL(hhdr) ((unsigned long) (hhdr) <= MAX_JUMP)
-
-/* Get an HBLKSIZE aligned address closer to the beginning of the block */
-/* h. Assumes hhdr == HDR(h) and IS_FORWARDING_ADDR(hhdr). */
-# define FORWARDED_ADDR(h, hhdr) ((struct hblk *)(h) - (unsigned long)(hhdr))
-# endif /* GC_HEADERS_H */
diff --git a/boehm-gc/include/private/gc_priv.h b/boehm-gc/include/private/gc_priv.h
deleted file mode 100644
index 96ba1da1044..00000000000
--- a/boehm-gc/include/private/gc_priv.h
+++ /dev/null
@@ -1,1561 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 16, 1996 2:30 pm PST */
-
-
-# ifndef GC_PRIVATE_H
-# define GC_PRIVATE_H
-
-#if defined(mips) && defined(SYSTYPE_BSD) && defined(sony_news)
- /* sony RISC NEWS, NEWSOS 4 */
-# define BSD_TIME
-/* typedef long ptrdiff_t; -- necessary on some really old systems */
-#endif
-
-#if defined(mips) && defined(SYSTYPE_BSD43)
- /* MIPS RISCOS 4 */
-# define BSD_TIME
-#endif
-
-#ifdef BSD_TIME
-# include <sys/types.h>
-# include <sys/time.h>
-# include <sys/resource.h>
-#endif /* BSD_TIME */
-
-# ifndef GC_H
-# include "gc.h"
-# endif
-
-typedef GC_word word;
-typedef GC_signed_word signed_word;
-
-# ifndef CONFIG_H
-# include "config.h"
-# endif
-
-# ifndef HEADERS_H
-# include "gc_hdrs.h"
-# endif
-
-typedef int GC_bool;
-# define TRUE 1
-# define FALSE 0
-
-typedef char * ptr_t; /* A generic pointer to which we can add */
- /* byte displacements. */
- /* Preferably identical to caddr_t, if it */
- /* exists. */
-
-#if defined(__STDC__)
-# include <stdlib.h>
-# if !(defined( sony_news ) )
-# include <stddef.h>
-# endif
-# define VOLATILE volatile
-# define CONST const
-#else
-# ifdef MSWIN32
-# include <stdlib.h>
-# endif
-# define VOLATILE
-# define CONST
-#endif
-
-#ifdef AMIGA
-# define GC_FAR __far
-#else
-# define GC_FAR
-#endif
-
-/*********************************/
-/* */
-/* Definitions for conservative */
-/* collector */
-/* */
-/*********************************/
-
-/*********************************/
-/* */
-/* Easily changeable parameters */
-/* */
-/*********************************/
-
-#define STUBBORN_ALLOC /* Define stubborn allocation primitives */
-#if defined(SRC_M3) || defined(SMALL_CONFIG)
-# undef STUBBORN_ALLOC
-#endif
-
-
-/* #define ALL_INTERIOR_POINTERS */
- /* Forces all pointers into the interior of an */
- /* object to be considered valid. Also causes the */
- /* sizes of all objects to be inflated by at least */
- /* one byte. This should suffice to guarantee */
- /* that in the presence of a compiler that does */
- /* not perform garbage-collector-unsafe */
- /* optimizations, all portable, strictly ANSI */
- /* conforming C programs should be safely usable */
- /* with malloc replaced by GC_malloc and free */
- /* calls removed. There are several disadvantages: */
- /* 1. There are probably no interesting, portable, */
- /* strictly ANSI conforming C programs. */
- /* 2. This option makes it hard for the collector */
- /* to allocate space that is not ``pointed to'' */
- /* by integers, etc. Under SunOS 4.X with a */
- /* statically linked libc, we empiricaly */
- /* observed that it would be difficult to */
- /* allocate individual objects larger than 100K. */
- /* Even if only smaller objects are allocated, */
- /* more swap space is likely to be needed. */
- /* Fortunately, much of this will never be */
- /* touched. */
- /* If you can easily avoid using this option, do. */
- /* If not, try to keep individual objects small. */
-
-#define PRINTSTATS /* Print garbage collection statistics */
- /* For less verbose output, undefine in reclaim.c */
-
-#define PRINTTIMES /* Print the amount of time consumed by each garbage */
- /* collection. */
-
-#define PRINTBLOCKS /* Print object sizes associated with heap blocks, */
- /* whether the objects are atomic or composite, and */
- /* whether or not the block was found to be empty */
- /* during the reclaim phase. Typically generates */
- /* about one screenful per garbage collection. */
-#undef PRINTBLOCKS
-
-#ifdef SILENT
-# ifdef PRINTSTATS
-# undef PRINTSTATS
-# endif
-# ifdef PRINTTIMES
-# undef PRINTTIMES
-# endif
-# ifdef PRINTNBLOCKS
-# undef PRINTNBLOCKS
-# endif
-#endif
-
-#if defined(PRINTSTATS) && !defined(GATHERSTATS)
-# define GATHERSTATS
-#endif
-
-#ifdef FINALIZE_ON_DEMAND
-# define GC_INVOKE_FINALIZERS()
-#else
-# define GC_INVOKE_FINALIZERS() (void)GC_invoke_finalizers()
-#endif
-
-#define MERGE_SIZES /* Round up some object sizes, so that fewer distinct */
- /* free lists are actually maintained. This applies */
- /* only to the top level routines in misc.c, not to */
- /* user generated code that calls GC_allocobj and */
- /* GC_allocaobj directly. */
- /* Slows down average programs slightly. May however */
- /* substantially reduce fragmentation if allocation */
- /* request sizes are widely scattered. */
- /* May save significant amounts of space for obj_map */
- /* entries. */
-
-#ifndef OLD_BLOCK_ALLOC
- /* Macros controlling large block allocation strategy. */
-# define EXACT_FIRST /* Make a complete pass through the large object */
- /* free list before splitting a block */
-# define PRESERVE_LAST /* Do not divide last allocated heap segment */
- /* unless we would otherwise need to expand the */
- /* heap. */
-#endif
-
-/* ALIGN_DOUBLE requires MERGE_SIZES at present. */
-# if defined(ALIGN_DOUBLE) && !defined(MERGE_SIZES)
-# define MERGE_SIZES
-# endif
-
-#if defined(ALL_INTERIOR_POINTERS) && !defined(DONT_ADD_BYTE_AT_END)
-# define ADD_BYTE_AT_END
-#endif
-
-
-# ifndef LARGE_CONFIG
-# define MINHINCR 16 /* Minimum heap increment, in blocks of HBLKSIZE */
- /* Must be multiple of largest page size. */
-# define MAXHINCR 512 /* Maximum heap increment, in blocks */
-# else
-# define MINHINCR 64
-# define MAXHINCR 4096
-# endif
-
-# define TIME_LIMIT 50 /* We try to keep pause times from exceeding */
- /* this by much. In milliseconds. */
-
-# define BL_LIMIT GC_black_list_spacing
- /* If we need a block of N bytes, and we have */
- /* a block of N + BL_LIMIT bytes available, */
- /* and N > BL_LIMIT, */
- /* but all possible positions in it are */
- /* blacklisted, we just use it anyway (and */
- /* print a warning, if warnings are enabled). */
- /* This risks subsequently leaking the block */
- /* due to a false reference. But not using */
- /* the block risks unreasonable immediate */
- /* heap growth. */
-
-/*********************************/
-/* */
-/* Stack saving for debugging */
-/* */
-/*********************************/
-
-#ifdef SAVE_CALL_CHAIN
-
-/*
- * Number of frames and arguments to save in objects allocated by
- * debugging allocator.
- */
-# define NFRAMES 6 /* Number of frames to save. Even for */
- /* alignment reasons. */
-# define NARGS 2 /* Mumber of arguments to save for each call. */
-
-# define NEED_CALLINFO
-
-/* Fill in the pc and argument information for up to NFRAMES of my */
-/* callers. Ignore my frame and my callers frame. */
-void GC_save_callers (/* struct callinfo info[NFRAMES] */);
-
-void GC_print_callers (/* struct callinfo info[NFRAMES] */);
-
-#else
-
-# ifdef GC_ADD_CALLER
-# define NFRAMES 1
-# define NARGS 0
-# define NEED_CALLINFO
-# endif
-
-#endif
-
-#ifdef NEED_CALLINFO
- struct callinfo {
- word ci_pc;
-# if NARGS > 0
- word ci_arg[NARGS]; /* bit-wise complement to avoid retention */
-# endif
-# if defined(ALIGN_DOUBLE) && (NFRAMES * (NARGS + 1)) % 2 == 1
- /* Likely alignment problem. */
- word ci_dummy;
-# endif
- };
-#endif
-
-
-/*********************************/
-/* */
-/* OS interface routines */
-/* */
-/*********************************/
-
-#ifdef BSD_TIME
-# undef CLOCK_TYPE
-# undef GET_TIME
-# undef MS_TIME_DIFF
-# define CLOCK_TYPE struct timeval
-# define GET_TIME(x) { struct rusage rusage; \
- getrusage (RUSAGE_SELF, &rusage); \
- x = rusage.ru_utime; }
-# define MS_TIME_DIFF(a,b) ((double) (a.tv_sec - b.tv_sec) * 1000.0 \
- + (double) (a.tv_usec - b.tv_usec) / 1000.0)
-#else /* !BSD_TIME */
-# include <time.h>
-# if !defined(__STDC__) && defined(SPARC) && defined(SUNOS4)
- clock_t clock(); /* Not in time.h, where it belongs */
-# endif
-# if defined(FREEBSD) && !defined(CLOCKS_PER_SEC)
-# include <machine/limits.h>
-# define CLOCKS_PER_SEC CLK_TCK
-# endif
-# if !defined(CLOCKS_PER_SEC)
-# define CLOCKS_PER_SEC 1000000
-/*
- * This is technically a bug in the implementation. ANSI requires that
- * CLOCKS_PER_SEC be defined. But at least under SunOS4.1.1, it isn't.
- * Also note that the combination of ANSI C and POSIX is incredibly gross
- * here. The type clock_t is used by both clock() and times(). But on
- * some machines these use different notions of a clock tick, CLOCKS_PER_SEC
- * seems to apply only to clock. Hence we use it here. On many machines,
- * including SunOS, clock actually uses units of microseconds (which are
- * not really clock ticks).
- */
-# endif
-# define CLOCK_TYPE clock_t
-# define GET_TIME(x) x = clock()
-# define MS_TIME_DIFF(a,b) ((unsigned long) \
- (1000.0*(double)((a)-(b))/(double)CLOCKS_PER_SEC))
-#endif /* !BSD_TIME */
-
-/* We use bzero and bcopy internally. They may not be available. */
-# if defined(SPARC) && defined(SUNOS4)
-# define BCOPY_EXISTS
-# endif
-# if defined(M68K) && defined(AMIGA)
-# define BCOPY_EXISTS
-# endif
-# if defined(M68K) && defined(NEXT)
-# define BCOPY_EXISTS
-# endif
-# if defined(VAX)
-# define BCOPY_EXISTS
-# endif
-# if defined(AMIGA)
-# include <string.h>
-# define BCOPY_EXISTS
-# endif
-
-# ifndef BCOPY_EXISTS
-# include <string.h>
-# define BCOPY(x,y,n) memcpy(y, x, (size_t)(n))
-# define BZERO(x,n) memset(x, 0, (size_t)(n))
-# else
-# define BCOPY(x,y,n) bcopy((char *)(x),(char *)(y),(int)(n))
-# define BZERO(x,n) bzero((char *)(x),(int)(n))
-# endif
-
-/* HBLKSIZE aligned allocation. 0 is taken to mean failure */
-/* space is assumed to be cleared. */
-/* In the case os USE_MMAP, the argument must also be a */
-/* physical page size. */
-# ifdef PCR
- char * real_malloc();
-# define GET_MEM(bytes) HBLKPTR(real_malloc((size_t)bytes + GC_page_size) \
- + GC_page_size-1)
-# else
-# ifdef OS2
- void * os2_alloc(size_t bytes);
-# define GET_MEM(bytes) HBLKPTR((ptr_t)os2_alloc((size_t)bytes \
- + GC_page_size) \
- + GC_page_size-1)
-# else
-# if defined(AMIGA) || defined(NEXT) || defined(DOS4GW)
-# define GET_MEM(bytes) HBLKPTR((size_t) \
- calloc(1, (size_t)bytes + GC_page_size) \
- + GC_page_size-1)
-# else
-# ifdef MSWIN32
- extern ptr_t GC_win32_get_mem();
-# define GET_MEM(bytes) (struct hblk *)GC_win32_get_mem(bytes)
-# else
-# ifdef MACOS
-# if defined(USE_TEMPORARY_MEMORY)
- extern Ptr GC_MacTemporaryNewPtr(size_t size,
- Boolean clearMemory);
-# define GET_MEM(bytes) HBLKPTR( \
- GC_MacTemporaryNewPtr(bytes + GC_page_size, true) \
- + GC_page_size-1)
-# else
-# define GET_MEM(bytes) HBLKPTR( \
- NewPtrClear(bytes + GC_page_size) + GC_page_size-1)
-# endif
-# else
- extern ptr_t GC_unix_get_mem();
-# define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
-# endif
-# endif
-# endif
-# endif
-# endif
-
-/*
- * Mutual exclusion between allocator/collector routines.
- * Needed if there is more than one allocator thread.
- * FASTLOCK() is assumed to try to acquire the lock in a cheap and
- * dirty way that is acceptable for a few instructions, e.g. by
- * inhibiting preemption. This is assumed to have succeeded only
- * if a subsequent call to FASTLOCK_SUCCEEDED() returns TRUE.
- * FASTUNLOCK() is called whether or not FASTLOCK_SUCCEEDED().
- * If signals cannot be tolerated with the FASTLOCK held, then
- * FASTLOCK should disable signals. The code executed under
- * FASTLOCK is otherwise immune to interruption, provided it is
- * not restarted.
- * DCL_LOCK_STATE declares any local variables needed by LOCK and UNLOCK
- * and/or DISABLE_SIGNALS and ENABLE_SIGNALS and/or FASTLOCK.
- * (There is currently no equivalent for FASTLOCK.)
- */
-# ifdef THREADS
-# ifdef PCR_OBSOLETE /* Faster, but broken with multiple lwp's */
-# include "th/PCR_Th.h"
-# include "th/PCR_ThCrSec.h"
- extern struct PCR_Th_MLRep GC_allocate_ml;
-# define DCL_LOCK_STATE PCR_sigset_t GC_old_sig_mask
-# define LOCK() PCR_Th_ML_Acquire(&GC_allocate_ml)
-# define UNLOCK() PCR_Th_ML_Release(&GC_allocate_ml)
-# define FASTLOCK() PCR_ThCrSec_EnterSys()
- /* Here we cheat (a lot): */
-# define FASTLOCK_SUCCEEDED() (*(int *)(&GC_allocate_ml) == 0)
- /* TRUE if nobody currently holds the lock */
-# define FASTUNLOCK() PCR_ThCrSec_ExitSys()
-# endif
-# ifdef PCR
-# include <base/PCR_Base.h>
-# include <th/PCR_Th.h>
- extern PCR_Th_ML GC_allocate_ml;
-# define DCL_LOCK_STATE \
- PCR_ERes GC_fastLockRes; PCR_sigset_t GC_old_sig_mask
-# define LOCK() PCR_Th_ML_Acquire(&GC_allocate_ml)
-# define UNLOCK() PCR_Th_ML_Release(&GC_allocate_ml)
-# define FASTLOCK() (GC_fastLockRes = PCR_Th_ML_Try(&GC_allocate_ml))
-# define FASTLOCK_SUCCEEDED() (GC_fastLockRes == PCR_ERes_okay)
-# define FASTUNLOCK() {\
- if( FASTLOCK_SUCCEEDED() ) PCR_Th_ML_Release(&GC_allocate_ml); }
-# endif
-# ifdef SRC_M3
- extern word RT0u__inCritical;
-# define LOCK() RT0u__inCritical++
-# define UNLOCK() RT0u__inCritical--
-# endif
-# ifdef SOLARIS_THREADS
-# include <thread.h>
-# include <signal.h>
- extern mutex_t GC_allocate_ml;
-# define LOCK() mutex_lock(&GC_allocate_ml);
-# define UNLOCK() mutex_unlock(&GC_allocate_ml);
-# endif
-# ifdef LINUX_THREADS
-# include <pthread.h>
-# ifdef __i386__
- inline static GC_test_and_set(volatile unsigned int *addr) {
- int oldval;
- /* Note: the "xchg" instruction does not need a "lock" prefix */
- __asm__ __volatile__("xchgl %0, %1"
- : "=r"(oldval), "=m"(*(addr))
- : "0"(1), "m"(*(addr)));
- return oldval;
- }
-# else
- -- > Need implementation of GC_test_and_set()
-# endif
-# define GC_clear(addr) (*(addr) = 0)
-
- extern volatile unsigned int GC_allocate_lock;
- /* This is not a mutex because mutexes that obey the (optional) */
- /* POSIX scheduling rules are subject to convoys in high contention */
- /* applications. This is basically a spin lock. */
- extern pthread_t GC_lock_holder;
- extern void GC_lock(void);
- /* Allocation lock holder. Only set if acquired by client through */
- /* GC_call_with_alloc_lock. */
-# define SET_LOCK_HOLDER() GC_lock_holder = pthread_self()
-# define NO_THREAD (pthread_t)(-1)
-# define UNSET_LOCK_HOLDER() GC_lock_holder = NO_THREAD
-# define I_HOLD_LOCK() (pthread_equal(GC_lock_holder, pthread_self()))
-# ifdef UNDEFINED
-# define LOCK() pthread_mutex_lock(&GC_allocate_ml)
-# define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
-# else
-# define LOCK() \
- { if (GC_test_and_set(&GC_allocate_lock)) GC_lock(); }
-# define UNLOCK() \
- GC_clear(&GC_allocate_lock)
-# endif
- extern GC_bool GC_collecting;
-# define ENTER_GC() \
- { \
- GC_collecting = 1; \
- }
-# define EXIT_GC() GC_collecting = 0;
-# endif /* LINUX_THREADS */
-# ifdef IRIX_THREADS
-# include <pthread.h>
-# include <mutex.h>
-
-# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64))
-# define GC_test_and_set(addr, v) test_and_set(addr,v)
-# else
-# define GC_test_and_set(addr, v) __test_and_set(addr,v)
-# endif
- extern unsigned long GC_allocate_lock;
- /* This is not a mutex because mutexes that obey the (optional) */
- /* POSIX scheduling rules are subject to convoys in high contention */
- /* applications. This is basically a spin lock. */
- extern pthread_t GC_lock_holder;
- extern void GC_lock(void);
- /* Allocation lock holder. Only set if acquired by client through */
- /* GC_call_with_alloc_lock. */
-# define SET_LOCK_HOLDER() GC_lock_holder = pthread_self()
-# define NO_THREAD (pthread_t)(-1)
-# define UNSET_LOCK_HOLDER() GC_lock_holder = NO_THREAD
-# define I_HOLD_LOCK() (pthread_equal(GC_lock_holder, pthread_self()))
-# ifdef UNDEFINED
-# define LOCK() pthread_mutex_lock(&GC_allocate_ml)
-# define UNLOCK() pthread_mutex_unlock(&GC_allocate_ml)
-# else
-# define LOCK() { if (GC_test_and_set(&GC_allocate_lock, 1)) GC_lock(); }
-# if __mips >= 3 && (defined (_ABIN32) || defined(_ABI64))
-# define UNLOCK() __lock_release(&GC_allocate_lock)
-# else
-# define UNLOCK() GC_allocate_lock = 0
-# endif
-# endif
- extern GC_bool GC_collecting;
-# define ENTER_GC() \
- { \
- GC_collecting = 1; \
- }
-# define EXIT_GC() GC_collecting = 0;
-# endif /* IRIX_THREADS */
-# ifdef WIN32_THREADS
-# include <windows.h>
- GC_API CRITICAL_SECTION GC_allocate_ml;
-# define LOCK() EnterCriticalSection(&GC_allocate_ml);
-# define UNLOCK() LeaveCriticalSection(&GC_allocate_ml);
-# endif
-# ifndef SET_LOCK_HOLDER
-# define SET_LOCK_HOLDER()
-# define UNSET_LOCK_HOLDER()
-# define I_HOLD_LOCK() FALSE
- /* Used on platforms were locks can be reacquired, */
- /* so it doesn't matter if we lie. */
-# endif
-# else
-# define LOCK()
-# define UNLOCK()
-# endif
-# ifndef SET_LOCK_HOLDER
-# define SET_LOCK_HOLDER()
-# define UNSET_LOCK_HOLDER()
-# define I_HOLD_LOCK() FALSE
- /* Used on platforms were locks can be reacquired, */
- /* so it doesn't matter if we lie. */
-# endif
-# ifndef ENTER_GC
-# define ENTER_GC()
-# define EXIT_GC()
-# endif
-
-# ifndef DCL_LOCK_STATE
-# define DCL_LOCK_STATE
-# endif
-# ifndef FASTLOCK
-# define FASTLOCK() LOCK()
-# define FASTLOCK_SUCCEEDED() TRUE
-# define FASTUNLOCK() UNLOCK()
-# endif
-
-/* Delay any interrupts or signals that may abort this thread. Data */
-/* structures are in a consistent state outside this pair of calls. */
-/* ANSI C allows both to be empty (though the standard isn't very */
-/* clear on that point). Standard malloc implementations are usually */
-/* neither interruptable nor thread-safe, and thus correspond to */
-/* empty definitions. */
-# ifdef PCR
-# define DISABLE_SIGNALS() \
- PCR_Th_SetSigMask(PCR_allSigsBlocked,&GC_old_sig_mask)
-# define ENABLE_SIGNALS() \
- PCR_Th_SetSigMask(&GC_old_sig_mask, NIL)
-# else
-# if defined(SRC_M3) || defined(AMIGA) || defined(SOLARIS_THREADS) \
- || defined(MSWIN32) || defined(MACOS) || defined(DJGPP) \
- || defined(NO_SIGNALS) || defined(IRIX_THREADS) \
- || defined(LINUX_THREADS)
- /* Also useful for debugging. */
- /* Should probably use thr_sigsetmask for SOLARIS_THREADS. */
-# define DISABLE_SIGNALS()
-# define ENABLE_SIGNALS()
-# else
-# define DISABLE_SIGNALS() GC_disable_signals()
- void GC_disable_signals();
-# define ENABLE_SIGNALS() GC_enable_signals()
- void GC_enable_signals();
-# endif
-# endif
-
-/*
- * Stop and restart mutator threads.
- */
-# ifdef PCR
-# include "th/PCR_ThCtl.h"
-# define STOP_WORLD() \
- PCR_ThCtl_SetExclusiveMode(PCR_ThCtl_ExclusiveMode_stopNormal, \
- PCR_allSigsBlocked, \
- PCR_waitForever)
-# define START_WORLD() \
- PCR_ThCtl_SetExclusiveMode(PCR_ThCtl_ExclusiveMode_null, \
- PCR_allSigsBlocked, \
- PCR_waitForever);
-# else
-# if defined(SOLARIS_THREADS) || defined(WIN32_THREADS) \
- || defined(IRIX_THREADS) || defined(LINUX_THREADS)
- void GC_stop_world();
- void GC_start_world();
-# define STOP_WORLD() GC_stop_world()
-# define START_WORLD() GC_start_world()
-# else
-# define STOP_WORLD()
-# define START_WORLD()
-# endif
-# endif
-
-/* Abandon ship */
-# ifdef PCR
-# define ABORT(s) PCR_Base_Panic(s)
-# else
-# ifdef SMALL_CONFIG
-# define ABORT(msg) abort();
-# else
- GC_API void GC_abort();
-# define ABORT(msg) GC_abort(msg);
-# endif
-# endif
-
-/* Exit abnormally, but without making a mess (e.g. out of memory) */
-# ifdef PCR
-# define EXIT() PCR_Base_Exit(1,PCR_waitForever)
-# else
-# define EXIT() (void)exit(1)
-# endif
-
-/* Print warning message, e.g. almost out of memory. */
-# define WARN(msg,arg) (*GC_current_warn_proc)(msg, (GC_word)(arg))
-extern GC_warn_proc GC_current_warn_proc;
-
-/*********************************/
-/* */
-/* Word-size-dependent defines */
-/* */
-/*********************************/
-
-#if CPP_WORDSZ == 32
-# define WORDS_TO_BYTES(x) ((x)<<2)
-# define BYTES_TO_WORDS(x) ((x)>>2)
-# define LOGWL ((word)5) /* log[2] of CPP_WORDSZ */
-# define modWORDSZ(n) ((n) & 0x1f) /* n mod size of word */
-# if ALIGNMENT != 4
-# define UNALIGNED
-# endif
-#endif
-
-#if CPP_WORDSZ == 64
-# define WORDS_TO_BYTES(x) ((x)<<3)
-# define BYTES_TO_WORDS(x) ((x)>>3)
-# define LOGWL ((word)6) /* log[2] of CPP_WORDSZ */
-# define modWORDSZ(n) ((n) & 0x3f) /* n mod size of word */
-# if ALIGNMENT != 8
-# define UNALIGNED
-# endif
-#endif
-
-#define WORDSZ ((word)CPP_WORDSZ)
-#define SIGNB ((word)1 << (WORDSZ-1))
-#define BYTES_PER_WORD ((word)(sizeof (word)))
-#define ONES ((word)(-1))
-#define divWORDSZ(n) ((n) >> LOGWL) /* divide n by size of word */
-
-/*********************/
-/* */
-/* Size Parameters */
-/* */
-/*********************/
-
-/* heap block size, bytes. Should be power of 2 */
-
-#ifndef HBLKSIZE
-# ifdef SMALL_CONFIG
-# define CPP_LOG_HBLKSIZE 10
-# else
-# if CPP_WORDSZ == 32
-# define CPP_LOG_HBLKSIZE 12
-# else
-# define CPP_LOG_HBLKSIZE 13
-# endif
-# endif
-#else
-# if HBLKSIZE == 512
-# define CPP_LOG_HBLKSIZE 9
-# endif
-# if HBLKSIZE == 1024
-# define CPP_LOG_HBLKSIZE 10
-# endif
-# if HBLKSIZE == 2048
-# define CPP_LOG_HBLKSIZE 11
-# endif
-# if HBLKSIZE == 4096
-# define CPP_LOG_HBLKSIZE 12
-# endif
-# if HBLKSIZE == 8192
-# define CPP_LOG_HBLKSIZE 13
-# endif
-# if HBLKSIZE == 16384
-# define CPP_LOG_HBLKSIZE 14
-# endif
-# ifndef CPP_LOG_HBLKSIZE
- --> fix HBLKSIZE
-# endif
-# undef HBLKSIZE
-#endif
-# define CPP_HBLKSIZE (1 << CPP_LOG_HBLKSIZE)
-# define LOG_HBLKSIZE ((word)CPP_LOG_HBLKSIZE)
-# define HBLKSIZE ((word)CPP_HBLKSIZE)
-
-
-/* max size objects supported by freelist (larger objects may be */
-/* allocated, but less efficiently) */
-
-#define CPP_MAXOBJSZ BYTES_TO_WORDS(CPP_HBLKSIZE/2)
-#define MAXOBJSZ ((word)CPP_MAXOBJSZ)
-
-# define divHBLKSZ(n) ((n) >> LOG_HBLKSIZE)
-
-# define HBLK_PTR_DIFF(p,q) divHBLKSZ((ptr_t)p - (ptr_t)q)
- /* Equivalent to subtracting 2 hblk pointers. */
- /* We do it this way because a compiler should */
- /* find it hard to use an integer division */
- /* instead of a shift. The bundled SunOS 4.1 */
- /* o.w. sometimes pessimizes the subtraction to */
- /* involve a call to .div. */
-
-# define modHBLKSZ(n) ((n) & (HBLKSIZE-1))
-
-# define HBLKPTR(objptr) ((struct hblk *)(((word) (objptr)) & ~(HBLKSIZE-1)))
-
-# define HBLKDISPL(objptr) (((word) (objptr)) & (HBLKSIZE-1))
-
-/* Round up byte allocation requests to integral number of words, etc. */
-# ifdef ADD_BYTE_AT_END
-# define ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + WORDS_TO_BYTES(1))
-# ifdef ALIGN_DOUBLE
-# define ALIGNED_WORDS(n) (BYTES_TO_WORDS((n) + WORDS_TO_BYTES(2)) & ~1)
-# else
-# define ALIGNED_WORDS(n) ROUNDED_UP_WORDS(n)
-# endif
-# define SMALL_OBJ(bytes) ((bytes) < WORDS_TO_BYTES(MAXOBJSZ))
-# define ADD_SLOP(bytes) ((bytes)+1)
-# else
-# define ROUNDED_UP_WORDS(n) BYTES_TO_WORDS((n) + (WORDS_TO_BYTES(1) - 1))
-# ifdef ALIGN_DOUBLE
-# define ALIGNED_WORDS(n) \
- (BYTES_TO_WORDS((n) + WORDS_TO_BYTES(2) - 1) & ~1)
-# else
-# define ALIGNED_WORDS(n) ROUNDED_UP_WORDS(n)
-# endif
-# define SMALL_OBJ(bytes) ((bytes) <= WORDS_TO_BYTES(MAXOBJSZ))
-# define ADD_SLOP(bytes) (bytes)
-# endif
-
-
-/*
- * Hash table representation of sets of pages. This assumes it is
- * OK to add spurious entries to sets.
- * Used by black-listing code, and perhaps by dirty bit maintenance code.
- */
-
-# ifdef LARGE_CONFIG
-# define LOG_PHT_ENTRIES 17
-# else
-# define LOG_PHT_ENTRIES 14 /* Collisions are likely if heap grows */
- /* to more than 16K hblks = 64MB. */
- /* Each hash table occupies 2K bytes. */
-# endif
-# define PHT_ENTRIES ((word)1 << LOG_PHT_ENTRIES)
-# define PHT_SIZE (PHT_ENTRIES >> LOGWL)
-typedef word page_hash_table[PHT_SIZE];
-
-# define PHT_HASH(addr) ((((word)(addr)) >> LOG_HBLKSIZE) & (PHT_ENTRIES - 1))
-
-# define get_pht_entry_from_index(bl, index) \
- (((bl)[divWORDSZ(index)] >> modWORDSZ(index)) & 1)
-# define set_pht_entry_from_index(bl, index) \
- (bl)[divWORDSZ(index)] |= (word)1 << modWORDSZ(index)
-# define clear_pht_entry_from_index(bl, index) \
- (bl)[divWORDSZ(index)] &= ~((word)1 << modWORDSZ(index))
-
-
-
-/********************************************/
-/* */
-/* H e a p B l o c k s */
-/* */
-/********************************************/
-
-/* heap block header */
-#define HBLKMASK (HBLKSIZE-1)
-
-#define BITS_PER_HBLK (HBLKSIZE * 8)
-
-#define MARK_BITS_PER_HBLK (BITS_PER_HBLK/CPP_WORDSZ)
- /* upper bound */
- /* We allocate 1 bit/word. Only the first word */
- /* in each object is actually marked. */
-
-# ifdef ALIGN_DOUBLE
-# define MARK_BITS_SZ (((MARK_BITS_PER_HBLK + 2*CPP_WORDSZ - 1) \
- / (2*CPP_WORDSZ))*2)
-# else
-# define MARK_BITS_SZ ((MARK_BITS_PER_HBLK + CPP_WORDSZ - 1)/CPP_WORDSZ)
-# endif
- /* Upper bound on number of mark words per heap block */
-
-struct hblkhdr {
- word hb_sz; /* If in use, size in words, of objects in the block. */
- /* if free, the size in bytes of the whole block */
- struct hblk * hb_next; /* Link field for hblk free list */
- /* and for lists of chunks waiting to be */
- /* reclaimed. */
- word hb_descr; /* object descriptor for marking. See */
- /* mark.h. */
- char* hb_map; /* A pointer to a pointer validity map of the block. */
- /* See GC_obj_map. */
- /* Valid for all blocks with headers. */
- /* Free blocks point to GC_invalid_map. */
- unsigned char hb_obj_kind;
- /* Kind of objects in the block. Each kind */
- /* identifies a mark procedure and a set of */
- /* list headers. Sometimes called regions. */
- unsigned char hb_flags;
-# define IGNORE_OFF_PAGE 1 /* Ignore pointers that do not */
- /* point to the first page of */
- /* this object. */
- unsigned short hb_last_reclaimed;
- /* Value of GC_gc_no when block was */
- /* last allocated or swept. May wrap. */
- word hb_marks[MARK_BITS_SZ];
- /* Bit i in the array refers to the */
- /* object starting at the ith word (header */
- /* INCLUDED) in the heap block. */
- /* The lsb of word 0 is numbered 0. */
-};
-
-/* heap block body */
-
-# define DISCARD_WORDS 0
- /* Number of words to be dropped at the beginning of each block */
- /* Must be a multiple of WORDSZ. May reasonably be nonzero */
- /* on machines that don't guarantee longword alignment of */
- /* pointers, so that the number of false hits is minimized. */
- /* 0 and WORDSZ are probably the only reasonable values. */
-
-# define BODY_SZ ((HBLKSIZE-WORDS_TO_BYTES(DISCARD_WORDS))/sizeof(word))
-
-struct hblk {
-# if (DISCARD_WORDS != 0)
- word garbage[DISCARD_WORDS];
-# endif
- word hb_body[BODY_SZ];
-};
-
-# define HDR_WORDS ((word)DISCARD_WORDS)
-# define HDR_BYTES ((word)WORDS_TO_BYTES(DISCARD_WORDS))
-
-# define OBJ_SZ_TO_BLOCKS(sz) \
- divHBLKSZ(HDR_BYTES + WORDS_TO_BYTES(sz) + HBLKSIZE-1)
- /* Size of block (in units of HBLKSIZE) needed to hold objects of */
- /* given sz (in words). */
-
-/* Object free list link */
-# define obj_link(p) (*(ptr_t *)(p))
-
-/* lists of all heap blocks and free lists */
-/* These are grouped together in a struct */
-/* so that they can be easily skipped by the */
-/* GC_mark routine. */
-/* The ordering is weird to make GC_malloc */
-/* faster by keeping the important fields */
-/* sufficiently close together that a */
-/* single load of a base register will do. */
-/* Scalars that could easily appear to */
-/* be pointers are also put here. */
-/* The main fields should precede any */
-/* conditionally included fields, so that */
-/* gc_inl.h will work even if a different set */
-/* of macros is defined when the client is */
-/* compiled. */
-
-struct _GC_arrays {
- word _heapsize;
- word _max_heapsize;
- ptr_t _last_heap_addr;
- ptr_t _prev_heap_addr;
- word _words_allocd_before_gc;
- /* Number of words allocated before this */
- /* collection cycle. */
- word _words_allocd;
- /* Number of words allocated during this collection cycle */
- word _words_wasted;
- /* Number of words wasted due to internal fragmentation */
- /* in large objects, or due to dropping blacklisted */
- /* blocks, since last gc. Approximate. */
- word _words_finalized;
- /* Approximate number of words in objects (and headers) */
- /* That became ready for finalization in the last */
- /* collection. */
- word _non_gc_bytes_at_gc;
- /* Number of explicitly managed bytes of storage */
- /* at last collection. */
- word _mem_freed;
- /* Number of explicitly deallocated words of memory */
- /* since last collection. */
-
- ptr_t _objfreelist[MAXOBJSZ+1];
- /* free list for objects */
- ptr_t _aobjfreelist[MAXOBJSZ+1];
- /* free list for atomic objs */
-
- ptr_t _uobjfreelist[MAXOBJSZ+1];
- /* uncollectable but traced objs */
- /* objects on this and auobjfreelist */
- /* are always marked, except during */
- /* garbage collections. */
-# ifdef ATOMIC_UNCOLLECTABLE
- ptr_t _auobjfreelist[MAXOBJSZ+1];
-# endif
- /* uncollectable but traced objs */
-
-# ifdef GATHERSTATS
- word _composite_in_use;
- /* Number of words in accessible composite */
- /* objects. */
- word _atomic_in_use;
- /* Number of words in accessible atomic */
- /* objects. */
-# endif
-# ifdef MERGE_SIZES
- unsigned _size_map[WORDS_TO_BYTES(MAXOBJSZ+1)];
- /* Number of words to allocate for a given allocation request in */
- /* bytes. */
-# endif
-
-# ifdef STUBBORN_ALLOC
- ptr_t _sobjfreelist[MAXOBJSZ+1];
-# endif
- /* free list for immutable objects */
- ptr_t _obj_map[MAXOBJSZ+1];
- /* If not NIL, then a pointer to a map of valid */
- /* object addresses. _obj_map[sz][i] is j if the */
- /* address block_start+i is a valid pointer */
- /* to an object at */
- /* block_start+i&~3 - WORDS_TO_BYTES(j). */
- /* (If ALL_INTERIOR_POINTERS is defined, then */
- /* instead ((short *)(hbh_map[sz])[i] is j if */
- /* block_start+WORDS_TO_BYTES(i) is in the */
- /* interior of an object starting at */
- /* block_start+WORDS_TO_BYTES(i-j)). */
- /* It is OBJ_INVALID if */
- /* block_start+WORDS_TO_BYTES(i) is not */
- /* valid as a pointer to an object. */
- /* We assume all values of j <= OBJ_INVALID. */
- /* The zeroth entry corresponds to large objects.*/
-# ifdef ALL_INTERIOR_POINTERS
-# define map_entry_type short
-# define OBJ_INVALID 0x7fff
-# define MAP_ENTRY(map, bytes) \
- (((map_entry_type *)(map))[BYTES_TO_WORDS(bytes)])
-# define MAP_ENTRIES BYTES_TO_WORDS(HBLKSIZE)
-# define MAP_SIZE (MAP_ENTRIES * sizeof(map_entry_type))
-# define OFFSET_VALID(displ) TRUE
-# define CPP_MAX_OFFSET (HBLKSIZE - HDR_BYTES - 1)
-# define MAX_OFFSET ((word)CPP_MAX_OFFSET)
-# else
-# define map_entry_type char
-# define OBJ_INVALID 0x7f
-# define MAP_ENTRY(map, bytes) \
- (map)[bytes]
-# define MAP_ENTRIES HBLKSIZE
-# define MAP_SIZE MAP_ENTRIES
-# define CPP_MAX_OFFSET (WORDS_TO_BYTES(OBJ_INVALID) - 1)
-# define MAX_OFFSET ((word)CPP_MAX_OFFSET)
-# define VALID_OFFSET_SZ \
- (CPP_MAX_OFFSET > WORDS_TO_BYTES(CPP_MAXOBJSZ)? \
- CPP_MAX_OFFSET+1 \
- : WORDS_TO_BYTES(CPP_MAXOBJSZ)+1)
- char _valid_offsets[VALID_OFFSET_SZ];
- /* GC_valid_offsets[i] == TRUE ==> i */
- /* is registered as a displacement. */
-# define OFFSET_VALID(displ) GC_valid_offsets[displ]
- char _modws_valid_offsets[sizeof(word)];
- /* GC_valid_offsets[i] ==> */
- /* GC_modws_valid_offsets[i%sizeof(word)] */
-# endif
-# ifdef STUBBORN_ALLOC
- page_hash_table _changed_pages;
- /* Stubborn object pages that were changes since last call to */
- /* GC_read_changed. */
- page_hash_table _prev_changed_pages;
- /* Stubborn object pages that were changes before last call to */
- /* GC_read_changed. */
-# endif
-# if defined(PROC_VDB) || defined(MPROTECT_VDB)
- page_hash_table _grungy_pages; /* Pages that were dirty at last */
- /* GC_read_dirty. */
-# endif
-# ifdef LARGE_CONFIG
-# if CPP_WORDSZ > 32
-# define MAX_HEAP_SECTS 4096 /* overflows at roughly 64 GB */
-# else
-# define MAX_HEAP_SECTS 768 /* Separately added heap sections. */
-# endif
-# else
-# define MAX_HEAP_SECTS 256
-# endif
- struct HeapSect {
- ptr_t hs_start; word hs_bytes;
- } _heap_sects[MAX_HEAP_SECTS];
-# ifdef MSWIN32
- ptr_t _heap_bases[MAX_HEAP_SECTS];
- /* Start address of memory regions obtained from kernel. */
-# endif
- /* Block header index; see gc_headers.h */
- bottom_index * _all_nils;
- bottom_index * _top_index [TOP_SZ];
-#ifdef SAVE_CALL_CHAIN
- struct callinfo _last_stack[NFRAMES]; /* Stack at last garbage collection.*/
- /* Useful for debugging mysterious */
- /* object disappearances. */
- /* In the multithreaded case, we */
- /* currently only save the calling */
- /* stack. */
-#endif
-};
-
-GC_API GC_FAR struct _GC_arrays GC_arrays;
-
-# define GC_objfreelist GC_arrays._objfreelist
-# define GC_aobjfreelist GC_arrays._aobjfreelist
-# define GC_uobjfreelist GC_arrays._uobjfreelist
-# ifdef ATOMIC_UNCOLLECTABLE
-# define GC_auobjfreelist GC_arrays._auobjfreelist
-# endif
-# define GC_sobjfreelist GC_arrays._sobjfreelist
-# define GC_valid_offsets GC_arrays._valid_offsets
-# define GC_modws_valid_offsets GC_arrays._modws_valid_offsets
-# ifdef STUBBORN_ALLOC
-# define GC_changed_pages GC_arrays._changed_pages
-# define GC_prev_changed_pages GC_arrays._prev_changed_pages
-# endif
-# define GC_obj_map GC_arrays._obj_map
-# define GC_last_heap_addr GC_arrays._last_heap_addr
-# define GC_prev_heap_addr GC_arrays._prev_heap_addr
-# define GC_words_allocd GC_arrays._words_allocd
-# define GC_words_wasted GC_arrays._words_wasted
-# define GC_words_finalized GC_arrays._words_finalized
-# define GC_non_gc_bytes_at_gc GC_arrays._non_gc_bytes_at_gc
-# define GC_mem_freed GC_arrays._mem_freed
-# define GC_heapsize GC_arrays._heapsize
-# define GC_max_heapsize GC_arrays._max_heapsize
-# define GC_words_allocd_before_gc GC_arrays._words_allocd_before_gc
-# define GC_heap_sects GC_arrays._heap_sects
-# define GC_last_stack GC_arrays._last_stack
-# ifdef MSWIN32
-# define GC_heap_bases GC_arrays._heap_bases
-# endif
-# define GC_all_nils GC_arrays._all_nils
-# define GC_top_index GC_arrays._top_index
-# if defined(PROC_VDB) || defined(MPROTECT_VDB)
-# define GC_grungy_pages GC_arrays._grungy_pages
-# endif
-# ifdef GATHERSTATS
-# define GC_composite_in_use GC_arrays._composite_in_use
-# define GC_atomic_in_use GC_arrays._atomic_in_use
-# endif
-# ifdef MERGE_SIZES
-# define GC_size_map GC_arrays._size_map
-# endif
-
-# define beginGC_arrays ((ptr_t)(&GC_arrays))
-# define endGC_arrays (((ptr_t)(&GC_arrays)) + (sizeof GC_arrays))
-
-GC_API word GC_fo_entries;
-
-# define MAXOBJKINDS 16
-
-/* Object kinds: */
-extern struct obj_kind {
- ptr_t *ok_freelist; /* Array of free listheaders for this kind of object */
- /* Point either to GC_arrays or to storage allocated */
- /* with GC_scratch_alloc. */
- struct hblk **ok_reclaim_list;
- /* List headers for lists of blocks waiting to be */
- /* swept. */
- word ok_descriptor; /* Descriptor template for objects in this */
- /* block. */
- GC_bool ok_relocate_descr;
- /* Add object size in bytes to descriptor */
- /* template to obtain descriptor. Otherwise */
- /* template is used as is. */
- GC_bool ok_init; /* Clear objects before putting them on the free list. */
-} GC_obj_kinds[MAXOBJKINDS];
-/* Predefined kinds: */
-# define PTRFREE 0
-# define NORMAL 1
-# define UNCOLLECTABLE 2
-# ifdef ATOMIC_UNCOLLECTABLE
-# define AUNCOLLECTABLE 3
-# define STUBBORN 4
-# define IS_UNCOLLECTABLE(k) (((k) & ~1) == UNCOLLECTABLE)
-# else
-# define STUBBORN 3
-# define IS_UNCOLLECTABLE(k) ((k) == UNCOLLECTABLE)
-# endif
-
-extern int GC_n_kinds;
-
-extern word GC_n_heap_sects; /* Number of separately added heap */
- /* sections. */
-
-extern word GC_page_size;
-
-# ifdef MSWIN32
-extern word GC_n_heap_bases; /* See GC_heap_bases. */
-# endif
-
-extern word GC_total_stack_black_listed;
- /* Number of bytes on stack blacklist. */
-
-extern word GC_black_list_spacing;
- /* Average number of bytes between blacklisted */
- /* blocks. Approximate. */
- /* Counts only blocks that are */
- /* "stack-blacklisted", i.e. that are */
- /* problematic in the interior of an object. */
-
-extern char * GC_invalid_map;
- /* Pointer to the nowhere valid hblk map */
- /* Blocks pointing to this map are free. */
-
-extern struct hblk * GC_hblkfreelist;
- /* List of completely empty heap blocks */
- /* Linked through hb_next field of */
- /* header structure associated with */
- /* block. */
-
-extern GC_bool GC_is_initialized; /* GC_init() has been run. */
-
-extern GC_bool GC_objects_are_marked; /* There are marked objects in */
- /* the heap. */
-
-extern GC_bool GC_incremental; /* Using incremental/generational collection. */
-
-extern GC_bool GC_dirty_maintained;
- /* Dirty bits are being maintained, */
- /* either for incremental collection, */
- /* or to limit the root set. */
-
-# ifndef PCR
- extern ptr_t GC_stackbottom; /* Cool end of user stack */
-# endif
-
-extern word GC_root_size; /* Total size of registered root sections */
-
-extern GC_bool GC_debugging_started; /* GC_debug_malloc has been called. */
-
-extern ptr_t GC_least_plausible_heap_addr;
-extern ptr_t GC_greatest_plausible_heap_addr;
- /* Bounds on the heap. Guaranteed valid */
- /* Likely to include future heap expansion. */
-
-/* Operations */
-# ifndef abs
-# define abs(x) ((x) < 0? (-(x)) : (x))
-# endif
-
-
-/* Marks are in a reserved area in */
-/* each heap block. Each word has one mark bit associated */
-/* with it. Only those corresponding to the beginning of an */
-/* object are used. */
-
-
-/* Mark bit operations */
-
-/*
- * Retrieve, set, clear the mark bit corresponding
- * to the nth word in a given heap block.
- *
- * (Recall that bit n corresponds to object beginning at word n
- * relative to the beginning of the block, including unused words)
- */
-
-# define mark_bit_from_hdr(hhdr,n) (((hhdr)->hb_marks[divWORDSZ(n)] \
- >> (modWORDSZ(n))) & (word)1)
-# define set_mark_bit_from_hdr(hhdr,n) (hhdr)->hb_marks[divWORDSZ(n)] \
- |= (word)1 << modWORDSZ(n)
-
-# define clear_mark_bit_from_hdr(hhdr,n) (hhdr)->hb_marks[divWORDSZ(n)] \
- &= ~((word)1 << modWORDSZ(n))
-
-/* Important internal collector routines */
-
-ptr_t GC_approx_sp();
-
-GC_bool GC_should_collect();
-#ifdef PRESERVE_LAST
- GC_bool GC_in_last_heap_sect(/* ptr_t */);
- /* In last added heap section? If so, avoid breaking up. */
-#endif
-void GC_apply_to_all_blocks(/*fn, client_data*/);
- /* Invoke fn(hbp, client_data) for each */
- /* allocated heap block. */
-struct hblk * GC_next_block(/* struct hblk * h */);
-void GC_mark_init();
-void GC_clear_marks(); /* Clear mark bits for all heap objects. */
-void GC_invalidate_mark_state(); /* Tell the marker that marked */
- /* objects may point to unmarked */
- /* ones, and roots may point to */
- /* unmarked objects. */
- /* Reset mark stack. */
-void GC_mark_from_mark_stack(); /* Mark from everything on the mark stack. */
- /* Return after about one pages worth of */
- /* work. */
-GC_bool GC_mark_stack_empty();
-GC_bool GC_mark_some(); /* Perform about one pages worth of marking */
- /* work of whatever kind is needed. Returns */
- /* quickly if no collection is in progress. */
- /* Return TRUE if mark phase finished. */
-void GC_initiate_gc(); /* initiate collection. */
- /* If the mark state is invalid, this */
- /* becomes full colleection. Otherwise */
- /* it's partial. */
-void GC_push_all(/*b,t*/); /* Push everything in a range */
- /* onto mark stack. */
-void GC_push_dirty(/*b,t*/); /* Push all possibly changed */
- /* subintervals of [b,t) onto */
- /* mark stack. */
-#ifndef SMALL_CONFIG
- void GC_push_conditional(/* ptr_t b, ptr_t t, GC_bool all*/);
-#else
-# define GC_push_conditional(b, t, all) GC_push_all(b, t)
-#endif
- /* Do either of the above, depending */
- /* on the third arg. */
-void GC_push_all_stack(/*b,t*/); /* As above, but consider */
- /* interior pointers as valid */
-void GC_push_roots(/* GC_bool all */); /* Push all or dirty roots. */
-extern void (*GC_push_other_roots)();
- /* Push system or application specific roots */
- /* onto the mark stack. In some environments */
- /* (e.g. threads environments) this is */
- /* predfined to be non-zero. A client supplied */
- /* replacement should also call the original */
- /* function. */
-extern void (*GC_start_call_back)(/* void */);
- /* Called at start of full collections. */
- /* Not called if 0. Called with allocation */
- /* lock held. */
- /* 0 by default. */
-void GC_push_regs(); /* Push register contents onto mark stack. */
-void GC_remark(); /* Mark from all marked objects. Used */
- /* only if we had to drop something. */
-# if defined(MSWIN32)
- void __cdecl GC_push_one();
-# else
- void GC_push_one(/*p*/); /* If p points to an object, mark it */
- /* and push contents on the mark stack */
-# endif
-void GC_push_one_checked(/*p*/); /* Ditto, omits plausibility test */
-void GC_push_marked(/* struct hblk h, hdr * hhdr */);
- /* Push contents of all marked objects in h onto */
- /* mark stack. */
-#ifdef SMALL_CONFIG
-# define GC_push_next_marked_dirty(h) GC_push_next_marked(h)
-#else
- struct hblk * GC_push_next_marked_dirty(/* h */);
- /* Invoke GC_push_marked on next dirty block above h. */
- /* Return a pointer just past the end of this block. */
-#endif /* !SMALL_CONFIG */
-struct hblk * GC_push_next_marked(/* h */);
- /* Ditto, but also mark from clean pages. */
-struct hblk * GC_push_next_marked_uncollectable(/* h */);
- /* Ditto, but mark only from uncollectable pages. */
-GC_bool GC_stopped_mark(); /* Stop world and mark from all roots */
- /* and rescuers. */
-void GC_clear_hdr_marks(/* hhdr */); /* Clear the mark bits in a header */
-void GC_set_hdr_marks(/* hhdr */); /* Set the mark bits in a header */
-void GC_add_roots_inner();
-GC_bool GC_is_static_root(/* ptr_t p */);
- /* Is the address p in one of the registered static */
- /* root sections? */
-void GC_register_dynamic_libraries();
- /* Add dynamic library data sections to the root set. */
-
-/* Machine dependent startup routines */
-ptr_t GC_get_stack_base();
-void GC_register_data_segments();
-
-/* Black listing: */
-void GC_bl_init();
-# ifndef ALL_INTERIOR_POINTERS
- void GC_add_to_black_list_normal(/* bits, maybe source */);
- /* Register bits as a possible future false */
- /* reference from the heap or static data */
-# ifdef PRINT_BLACK_LIST
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_normal(bits, source)
-# else
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_normal(bits)
-# endif
-# else
-# ifdef PRINT_BLACK_LIST
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_stack(bits, source)
-# else
-# define GC_ADD_TO_BLACK_LIST_NORMAL(bits, source) \
- GC_add_to_black_list_stack(bits)
-# endif
-# endif
-
-void GC_add_to_black_list_stack(/* bits, maybe source */);
-struct hblk * GC_is_black_listed(/* h, len */);
- /* If there are likely to be false references */
- /* to a block starting at h of the indicated */
- /* length, then return the next plausible */
- /* starting location for h that might avoid */
- /* these false references. */
-void GC_promote_black_lists();
- /* Declare an end to a black listing phase. */
-void GC_unpromote_black_lists();
- /* Approximately undo the effect of the above. */
- /* This actually loses some information, but */
- /* only in a reasonably safe way. */
-word GC_number_stack_black_listed(/*struct hblk *start, struct hblk *endp1 */);
- /* Return the number of (stack) blacklisted */
- /* blocks in the range for statistical */
- /* purposes. */
-
-ptr_t GC_scratch_alloc(/*bytes*/);
- /* GC internal memory allocation for */
- /* small objects. Deallocation is not */
- /* possible. */
-
-/* Heap block layout maps: */
-void GC_invalidate_map(/* hdr */);
- /* Remove the object map associated */
- /* with the block. This identifies */
- /* the block as invalid to the mark */
- /* routines. */
-GC_bool GC_add_map_entry(/*sz*/);
- /* Add a heap block map for objects of */
- /* size sz to obj_map. */
- /* Return FALSE on failure. */
-void GC_register_displacement_inner(/*offset*/);
- /* Version of GC_register_displacement */
- /* that assumes lock is already held */
- /* and signals are already disabled. */
-
-/* hblk allocation: */
-void GC_new_hblk(/*size_in_words, kind*/);
- /* Allocate a new heap block, and build */
- /* a free list in it. */
-struct hblk * GC_allochblk(/*size_in_words, kind*/);
- /* Allocate a heap block, clear it if */
- /* for composite objects, inform */
- /* the marker that block is valid */
- /* for objects of indicated size. */
- /* sz < 0 ==> atomic. */
-void GC_freehblk(); /* Deallocate a heap block and mark it */
- /* as invalid. */
-
-/* Misc GC: */
-void GC_init_inner();
-GC_bool GC_expand_hp_inner();
-void GC_start_reclaim(/*abort_if_found*/);
- /* Restore unmarked objects to free */
- /* lists, or (if abort_if_found is */
- /* TRUE) report them. */
- /* Sweeping of small object pages is */
- /* largely deferred. */
-void GC_continue_reclaim(/*size, kind*/);
- /* Sweep pages of the given size and */
- /* kind, as long as possible, and */
- /* as long as the corr. free list is */
- /* empty. */
-void GC_reclaim_or_delete_all();
- /* Arrange for all reclaim lists to be */
- /* empty. Judiciously choose between */
- /* sweeping and discarding each page. */
-GC_bool GC_reclaim_all(/* GC_stop_func f*/);
- /* Reclaim all blocks. Abort (in a */
- /* consistent state) if f returns TRUE. */
-GC_bool GC_block_empty(/* hhdr */); /* Block completely unmarked? */
-GC_bool GC_never_stop_func(); /* Returns FALSE. */
-GC_bool GC_try_to_collect_inner(/* GC_stop_func f */);
- /* Collect; caller must have acquired */
- /* lock and disabled signals. */
- /* Collection is aborted if f returns */
- /* TRUE. Returns TRUE if it completes */
- /* successfully. */
-# define GC_gcollect_inner() \
- (void) GC_try_to_collect_inner(GC_never_stop_func)
-void GC_finish_collection(); /* Finish collection. Mark bits are */
- /* consistent and lock is still held. */
-GC_bool GC_collect_or_expand(/* needed_blocks */);
- /* Collect or expand heap in an attempt */
- /* make the indicated number of free */
- /* blocks available. Should be called */
- /* until the blocks are available or */
- /* until it fails by returning FALSE. */
-void GC_init(); /* Initialize collector. */
-void GC_collect_a_little_inner(/* int n */);
- /* Do n units worth of garbage */
- /* collection work, if appropriate. */
- /* A unit is an amount appropriate for */
- /* HBLKSIZE bytes of allocation. */
-ptr_t GC_generic_malloc(/* bytes, kind */);
- /* Allocate an object of the given */
- /* kind. By default, there are only */
- /* a few kinds: composite(pointerfree), */
- /* atomic, uncollectable, etc. */
- /* We claim it's possible for clever */
- /* client code that understands GC */
- /* internals to add more, e.g. to */
- /* communicate object layout info */
- /* to the collector. */
-ptr_t GC_generic_malloc_ignore_off_page(/* bytes, kind */);
- /* As above, but pointers past the */
- /* first page of the resulting object */
- /* are ignored. */
-ptr_t GC_generic_malloc_inner(/* bytes, kind */);
- /* Ditto, but I already hold lock, etc. */
-ptr_t GC_generic_malloc_words_small GC_PROTO((size_t words, int kind));
- /* As above, but size in units of words */
- /* Bypasses MERGE_SIZES. Assumes */
- /* words <= MAXOBJSZ. */
-ptr_t GC_generic_malloc_inner_ignore_off_page(/* bytes, kind */);
- /* Allocate an object, where */
- /* the client guarantees that there */
- /* will always be a pointer to the */
- /* beginning of the object while the */
- /* object is live. */
-ptr_t GC_allocobj(/* sz_inn_words, kind */);
- /* Make the indicated */
- /* free list nonempty, and return its */
- /* head. */
-
-void GC_init_headers();
-GC_bool GC_install_header(/*h*/);
- /* Install a header for block h. */
- /* Return FALSE on failure. */
-GC_bool GC_install_counts(/*h, sz*/);
- /* Set up forwarding counts for block */
- /* h of size sz. */
- /* Return FALSE on failure. */
-void GC_remove_header(/*h*/);
- /* Remove the header for block h. */
-void GC_remove_counts(/*h, sz*/);
- /* Remove forwarding counts for h. */
-hdr * GC_find_header(/*p*/); /* Debugging only. */
-
-void GC_finalize(); /* Perform all indicated finalization actions */
- /* on unmarked objects. */
- /* Unreachable finalizable objects are enqueued */
- /* for processing by GC_invoke_finalizers. */
- /* Invoked with lock. */
-
-void GC_add_to_heap(/*p, bytes*/);
- /* Add a HBLKSIZE aligned chunk to the heap. */
-
-void GC_print_obj(/* ptr_t p */);
- /* P points to somewhere inside an object with */
- /* debugging info. Print a human readable */
- /* description of the object to stderr. */
-extern void (*GC_check_heap)();
- /* Check that all objects in the heap with */
- /* debugging info are intact. Print */
- /* descriptions of any that are not. */
-extern void (*GC_print_heap_obj)(/* ptr_t p */);
- /* If possible print s followed by a more */
- /* detailed description of the object */
- /* referred to by p. */
-
-/* Virtual dirty bit implementation: */
-/* Each implementation exports the following: */
-void GC_read_dirty(); /* Retrieve dirty bits. */
-GC_bool GC_page_was_dirty(/* struct hblk * h */);
- /* Read retrieved dirty bits. */
-GC_bool GC_page_was_ever_dirty(/* struct hblk * h */);
- /* Could the page contain valid heap pointers? */
-void GC_is_fresh(/* struct hblk * h, word number_of_blocks */);
- /* Assert the region currently contains no */
- /* valid pointers. */
-void GC_write_hint(/* struct hblk * h */);
- /* h is about to be written. */
-void GC_dirty_init();
-
-/* Slow/general mark bit manipulation: */
-GC_bool GC_is_marked();
-void GC_clear_mark_bit();
-void GC_set_mark_bit();
-
-/* Stubborn objects: */
-void GC_read_changed(); /* Analogous to GC_read_dirty */
-GC_bool GC_page_was_changed(/* h */); /* Analogous to GC_page_was_dirty */
-void GC_clean_changing_list(); /* Collect obsolete changing list entries */
-void GC_stubborn_init();
-
-/* Debugging print routines: */
-void GC_print_block_list();
-void GC_print_hblkfreelist();
-void GC_print_heap_sects();
-void GC_print_static_roots();
-void GC_dump();
-
-/* Make arguments appear live to compiler */
-# ifdef __WATCOMC__
- void GC_noop(void*, ...);
-# else
- GC_API void GC_noop();
-# endif
-
-void GC_noop1(/* word arg */);
-
-/* Logging and diagnostic output: */
-GC_API void GC_printf GC_PROTO((char * format, long, long, long, long, long, long));
- /* A version of printf that doesn't allocate, */
- /* is restricted to long arguments, and */
- /* (unfortunately) doesn't use varargs for */
- /* portability. Restricted to 6 args and */
- /* 1K total output length. */
- /* (We use sprintf. Hopefully that doesn't */
- /* allocate for long arguments.) */
-# define GC_printf0(f) GC_printf(f, 0l, 0l, 0l, 0l, 0l, 0l)
-# define GC_printf1(f,a) GC_printf(f, (long)a, 0l, 0l, 0l, 0l, 0l)
-# define GC_printf2(f,a,b) GC_printf(f, (long)a, (long)b, 0l, 0l, 0l, 0l)
-# define GC_printf3(f,a,b,c) GC_printf(f, (long)a, (long)b, (long)c, 0l, 0l, 0l)
-# define GC_printf4(f,a,b,c,d) GC_printf(f, (long)a, (long)b, (long)c, \
- (long)d, 0l, 0l)
-# define GC_printf5(f,a,b,c,d,e) GC_printf(f, (long)a, (long)b, (long)c, \
- (long)d, (long)e, 0l)
-# define GC_printf6(f,a,b,c,d,e,g) GC_printf(f, (long)a, (long)b, (long)c, \
- (long)d, (long)e, (long)g)
-
-void GC_err_printf(/* format, a, b, c, d, e, f */);
-# define GC_err_printf0(f) GC_err_puts(f)
-# define GC_err_printf1(f,a) GC_err_printf(f, (long)a, 0l, 0l, 0l, 0l, 0l)
-# define GC_err_printf2(f,a,b) GC_err_printf(f, (long)a, (long)b, 0l, 0l, 0l, 0l)
-# define GC_err_printf3(f,a,b,c) GC_err_printf(f, (long)a, (long)b, (long)c, \
- 0l, 0l, 0l)
-# define GC_err_printf4(f,a,b,c,d) GC_err_printf(f, (long)a, (long)b, \
- (long)c, (long)d, 0l, 0l)
-# define GC_err_printf5(f,a,b,c,d,e) GC_err_printf(f, (long)a, (long)b, \
- (long)c, (long)d, \
- (long)e, 0l)
-# define GC_err_printf6(f,a,b,c,d,e,g) GC_err_printf(f, (long)a, (long)b, \
- (long)c, (long)d, \
- (long)e, (long)g)
- /* Ditto, writes to stderr. */
-
-void GC_err_puts(/* char *s */);
- /* Write s to stderr, don't buffer, don't add */
- /* newlines, don't ... */
-
-
-# endif /* GC_PRIVATE_H */
diff --git a/boehm-gc/include/weakpointer.h b/boehm-gc/include/weakpointer.h
deleted file mode 100644
index 84906b00a68..00000000000
--- a/boehm-gc/include/weakpointer.h
+++ /dev/null
@@ -1,221 +0,0 @@
-#ifndef _weakpointer_h_
-#define _weakpointer_h_
-
-/****************************************************************************
-
-WeakPointer and CleanUp
-
- Copyright (c) 1991 by Xerox Corporation. All rights reserved.
-
- THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
- Permission is hereby granted to copy this code for any purpose,
- provided the above notices are retained on all copies.
-
- Last modified on Mon Jul 17 18:16:01 PDT 1995 by ellis
-
-****************************************************************************/
-
-/****************************************************************************
-
-WeakPointer
-
-A weak pointer is a pointer to a heap-allocated object that doesn't
-prevent the object from being garbage collected. Weak pointers can be
-used to track which objects haven't yet been reclaimed by the
-collector. A weak pointer is deactivated when the collector discovers
-its referent object is unreachable by normal pointers (reachability
-and deactivation are defined more precisely below). A deactivated weak
-pointer remains deactivated forever.
-
-****************************************************************************/
-
-
-template< class T > class WeakPointer {
-public:
-
-WeakPointer( T* t = 0 )
- /* Constructs a weak pointer for *t. t may be null. It is an error
- if t is non-null and *t is not a collected object. */
- {impl = _WeakPointer_New( t );}
-
-T* Pointer()
- /* wp.Pointer() returns a pointer to the referent object of wp or
- null if wp has been deactivated (because its referent object
- has been discovered unreachable by the collector). */
- {return (T*) _WeakPointer_Pointer( this->impl );}
-
-int operator==( WeakPointer< T > wp2 )
- /* Given weak pointers wp1 and wp2, if wp1 == wp2, then wp1 and
- wp2 refer to the same object. If wp1 != wp2, then either wp1
- and wp2 don't refer to the same object, or if they do, one or
- both of them has been deactivated. (Note: If objects t1 and t2
- are never made reachable by their clean-up functions, then
- WeakPointer<T>(t1) == WeakPointer<T>(t2) if and only t1 == t2.) */
- {return _WeakPointer_Equal( this->impl, wp2.impl );}
-
-int Hash()
- /* Returns a hash code suitable for use by multiplicative- and
- division-based hash tables. If wp1 == wp2, then wp1.Hash() ==
- wp2.Hash(). */
- {return _WeakPointer_Hash( this->impl );}
-
-private:
-void* impl;
-};
-
-/*****************************************************************************
-
-CleanUp
-
-A garbage-collected object can have an associated clean-up function
-that will be invoked some time after the collector discovers the
-object is unreachable via normal pointers. Clean-up functions can be
-used to release resources such as open-file handles or window handles
-when their containing objects become unreachable. If a C++ object has
-a non-empty explicit destructor (i.e. it contains programmer-written
-code), the destructor will be automatically registered as the object's
-initial clean-up function.
-
-There is no guarantee that the collector will detect every unreachable
-object (though it will find almost all of them). Clients should not
-rely on clean-up to cause some action to occur immediately -- clean-up
-is only a mechanism for improving resource usage.
-
-Every object with a clean-up function also has a clean-up queue. When
-the collector finds the object is unreachable, it enqueues it on its
-queue. The clean-up function is applied when the object is removed
-from the queue. By default, objects are enqueued on the garbage
-collector's queue, and the collector removes all objects from its
-queue after each collection. If a client supplies another queue for
-objects, it is his responsibility to remove objects (and cause their
-functions to be called) by polling it periodically.
-
-Clean-up queues allow clean-up functions accessing global data to
-synchronize with the main program. Garbage collection can occur at any
-time, and clean-ups invoked by the collector might access data in an
-inconsistent state. A client can control this by defining an explicit
-queue for objects and polling it at safe points.
-
-The following definitions are used by the specification below:
-
-Given a pointer t to a collected object, the base object BO(t) is the
-value returned by new when it created the object. (Because of multiple
-inheritance, t and BO(t) may not be the same address.)
-
-A weak pointer wp references an object *t if BO(wp.Pointer()) ==
-BO(t).
-
-***************************************************************************/
-
-template< class T, class Data > class CleanUp {
-public:
-
-static void Set( T* t, void c( Data* d, T* t ), Data* d = 0 )
- /* Sets the clean-up function of object BO(t) to be <c, d>,
- replacing any previously defined clean-up function for BO(t); c
- and d can be null, but t cannot. Sets the clean-up queue for
- BO(t) to be the collector's queue. When t is removed from its
- clean-up queue, its clean-up will be applied by calling c(d,
- t). It is an error if *t is not a collected object. */
- {_CleanUp_Set( t, c, d );}
-
-static void Call( T* t )
- /* Sets the new clean-up function for BO(t) to be null and, if the
- old one is non-null, calls it immediately, even if BO(t) is
- still reachable. Deactivates any weak pointers to BO(t). */
- {_CleanUp_Call( t );}
-
-class Queue {public:
- Queue()
- /* Constructs a new queue. */
- {this->head = _CleanUp_Queue_NewHead();}
-
- void Set( T* t )
- /* q.Set(t) sets the clean-up queue of BO(t) to be q. */
- {_CleanUp_Queue_Set( this->head, t );}
-
- int Call()
- /* If q is non-empty, q.Call() removes the first object and
- calls its clean-up function; does nothing if q is
- empty. Returns true if there are more objects in the
- queue. */
- {return _CleanUp_Queue_Call( this->head );}
-
- private:
- void* head;
- };
-};
-
-/**********************************************************************
-
-Reachability and Clean-up
-
-An object O is reachable if it can be reached via a non-empty path of
-normal pointers from the registers, stacks, global variables, or an
-object with a non-null clean-up function (including O itself),
-ignoring pointers from an object to itself.
-
-This definition of reachability ensures that if object B is accessible
-from object A (and not vice versa) and if both A and B have clean-up
-functions, then A will always be cleaned up before B. Note that as
-long as an object with a clean-up function is contained in a cycle of
-pointers, it will always be reachable and will never be cleaned up or
-collected.
-
-When the collector finds an unreachable object with a null clean-up
-function, it atomically deactivates all weak pointers referencing the
-object and recycles its storage. If object B is accessible from object
-A via a path of normal pointers, A will be discovered unreachable no
-later than B, and a weak pointer to A will be deactivated no later
-than a weak pointer to B.
-
-When the collector finds an unreachable object with a non-null
-clean-up function, the collector atomically deactivates all weak
-pointers referencing the object, redefines its clean-up function to be
-null, and enqueues it on its clean-up queue. The object then becomes
-reachable again and remains reachable at least until its clean-up
-function executes.
-
-The clean-up function is assured that its argument is the only
-accessible pointer to the object. Nothing prevents the function from
-redefining the object's clean-up function or making the object
-reachable again (for example, by storing the pointer in a global
-variable).
-
-If the clean-up function does not make its object reachable again and
-does not redefine its clean-up function, then the object will be
-collected by a subsequent collection (because the object remains
-unreachable and now has a null clean-up function). If the clean-up
-function does make its object reachable again and a clean-up function
-is subsequently redefined for the object, then the new clean-up
-function will be invoked the next time the collector finds the object
-unreachable.
-
-Note that a destructor for a collected object cannot safely redefine a
-clean-up function for its object, since after the destructor executes,
-the object has been destroyed into "raw memory". (In most
-implementations, destroying an object mutates its vtbl.)
-
-Finally, note that calling delete t on a collected object first
-deactivates any weak pointers to t and then invokes its clean-up
-function (destructor).
-
-**********************************************************************/
-
-extern "C" {
- void* _WeakPointer_New( void* t );
- void* _WeakPointer_Pointer( void* wp );
- int _WeakPointer_Equal( void* wp1, void* wp2 );
- int _WeakPointer_Hash( void* wp );
- void _CleanUp_Set( void* t, void (*c)( void* d, void* t ), void* d );
- void _CleanUp_Call( void* t );
- void* _CleanUp_Queue_NewHead ();
- void _CleanUp_Queue_Set( void* h, void* t );
- int _CleanUp_Queue_Call( void* h );
-}
-
-#endif /* _weakpointer_h_ */
-
-
diff --git a/boehm-gc/irix_threads.c b/boehm-gc/irix_threads.c
deleted file mode 100644
index f45c4631c6e..00000000000
--- a/boehm-gc/irix_threads.c
+++ /dev/null
@@ -1,640 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Support code for Irix (>=6.2) Pthreads. This relies on properties
- * not guaranteed by the Pthread standard. It may or may not be portable
- * to other implementations.
- *
- * Note that there is a lot of code duplication between linux_threads.c
- * and irix_threads.c; any changes made here may need to be reflected
- * there too.
- */
-
-# if defined(IRIX_THREADS)
-
-# include "gc_priv.h"
-# include <pthread.h>
-# include <time.h>
-# include <errno.h>
-# include <unistd.h>
-# include <sys/mman.h>
-# include <sys/time.h>
-
-#undef pthread_create
-#undef pthread_sigmask
-#undef pthread_join
-
-void GC_thr_init();
-
-#if 0
-void GC_print_sig_mask()
-{
- sigset_t blocked;
- int i;
-
- if (pthread_sigmask(SIG_BLOCK, NULL, &blocked) != 0)
- ABORT("pthread_sigmask");
- GC_printf0("Blocked: ");
- for (i = 1; i <= MAXSIG; i++) {
- if (sigismember(&blocked, i)) { GC_printf1("%ld ",(long) i); }
- }
- GC_printf0("\n");
-}
-#endif
-
-/* We use the allocation lock to protect thread-related data structures. */
-
-/* The set of all known threads. We intercept thread creation and */
-/* joins. We never actually create detached threads. We allocate all */
-/* new thread stacks ourselves. These allow us to maintain this */
-/* data structure. */
-/* Protected by GC_thr_lock. */
-/* Some of this should be declared volatile, but that's incosnsistent */
-/* with some library routine declarations. */
-typedef struct GC_Thread_Rep {
- struct GC_Thread_Rep * next; /* More recently allocated threads */
- /* with a given pthread id come */
- /* first. (All but the first are */
- /* guaranteed to be dead, but we may */
- /* not yet have registered the join.) */
- pthread_t id;
- word stop;
-# define NOT_STOPPED 0
-# define PLEASE_STOP 1
-# define STOPPED 2
- word flags;
-# define FINISHED 1 /* Thread has exited. */
-# define DETACHED 2 /* Thread is intended to be detached. */
-# define CLIENT_OWNS_STACK 4
- /* Stack was supplied by client. */
- ptr_t stack;
- ptr_t stack_ptr; /* Valid only when stopped. */
- /* But must be within stack region at */
- /* all times. */
- size_t stack_size; /* 0 for original thread. */
- void * status; /* Used only to avoid premature */
- /* reclamation of any data it might */
- /* reference. */
-} * GC_thread;
-
-GC_thread GC_lookup_thread(pthread_t id);
-
-/*
- * The only way to suspend threads given the pthread interface is to send
- * signals. Unfortunately, this means we have to reserve
- * a signal, and intercept client calls to change the signal mask.
- */
-# define SIG_SUSPEND (SIGRTMIN + 6)
-
-pthread_mutex_t GC_suspend_lock = PTHREAD_MUTEX_INITIALIZER;
- /* Number of threads stopped so far */
-pthread_cond_t GC_suspend_ack_cv = PTHREAD_COND_INITIALIZER;
-pthread_cond_t GC_continue_cv = PTHREAD_COND_INITIALIZER;
-
-void GC_suspend_handler(int sig)
-{
- int dummy;
- GC_thread me;
- sigset_t all_sigs;
- sigset_t old_sigs;
- int i;
-
- if (sig != SIG_SUSPEND) ABORT("Bad signal in suspend_handler");
- me = GC_lookup_thread(pthread_self());
- /* The lookup here is safe, since I'm doing this on behalf */
- /* of a thread which holds the allocation lock in order */
- /* to stop the world. Thus concurrent modification of the */
- /* data structure is impossible. */
- if (PLEASE_STOP != me -> stop) {
- /* Misdirected signal. */
- pthread_mutex_unlock(&GC_suspend_lock);
- return;
- }
- pthread_mutex_lock(&GC_suspend_lock);
- me -> stack_ptr = (ptr_t)(&dummy);
- me -> stop = STOPPED;
- pthread_cond_signal(&GC_suspend_ack_cv);
- pthread_cond_wait(&GC_continue_cv, &GC_suspend_lock);
- pthread_mutex_unlock(&GC_suspend_lock);
- /* GC_printf1("Continuing 0x%x\n", pthread_self()); */
-}
-
-
-GC_bool GC_thr_initialized = FALSE;
-
-size_t GC_min_stack_sz;
-
-size_t GC_page_sz;
-
-# define N_FREE_LISTS 25
-ptr_t GC_stack_free_lists[N_FREE_LISTS] = { 0 };
- /* GC_stack_free_lists[i] is free list for stacks of */
- /* size GC_min_stack_sz*2**i. */
- /* Free lists are linked through first word. */
-
-/* Return a stack of size at least *stack_size. *stack_size is */
-/* replaced by the actual stack size. */
-/* Caller holds allocation lock. */
-ptr_t GC_stack_alloc(size_t * stack_size)
-{
- register size_t requested_sz = *stack_size;
- register size_t search_sz = GC_min_stack_sz;
- register int index = 0; /* = log2(search_sz/GC_min_stack_sz) */
- register ptr_t result;
-
- while (search_sz < requested_sz) {
- search_sz *= 2;
- index++;
- }
- if ((result = GC_stack_free_lists[index]) == 0
- && (result = GC_stack_free_lists[index+1]) != 0) {
- /* Try next size up. */
- search_sz *= 2; index++;
- }
- if (result != 0) {
- GC_stack_free_lists[index] = *(ptr_t *)result;
- } else {
- result = (ptr_t) GC_scratch_alloc(search_sz + 2*GC_page_sz);
- result = (ptr_t)(((word)result + GC_page_sz) & ~(GC_page_sz - 1));
- /* Protect hottest page to detect overflow. */
- /* mprotect(result, GC_page_sz, PROT_NONE); */
- result += GC_page_sz;
- }
- *stack_size = search_sz;
- return(result);
-}
-
-/* Caller holds allocation lock. */
-void GC_stack_free(ptr_t stack, size_t size)
-{
- register int index = 0;
- register size_t search_sz = GC_min_stack_sz;
-
- while (search_sz < size) {
- search_sz *= 2;
- index++;
- }
- if (search_sz != size) ABORT("Bad stack size");
- *(ptr_t *)stack = GC_stack_free_lists[index];
- GC_stack_free_lists[index] = stack;
-}
-
-
-
-# define THREAD_TABLE_SZ 128 /* Must be power of 2 */
-volatile GC_thread GC_threads[THREAD_TABLE_SZ];
-
-/* Add a thread to GC_threads. We assume it wasn't already there. */
-/* Caller holds allocation lock. */
-GC_thread GC_new_thread(pthread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- GC_thread result;
- static struct GC_Thread_Rep first_thread;
- static GC_bool first_thread_used = FALSE;
-
- if (!first_thread_used) {
- result = &first_thread;
- first_thread_used = TRUE;
- /* Dont acquire allocation lock, since we may already hold it. */
- } else {
- result = (struct GC_Thread_Rep *)
- GC_generic_malloc_inner(sizeof(struct GC_Thread_Rep), NORMAL);
- }
- if (result == 0) return(0);
- result -> id = id;
- result -> next = GC_threads[hv];
- GC_threads[hv] = result;
- /* result -> flags = 0; */
- /* result -> stop = 0; */
- return(result);
-}
-
-/* Delete a thread from GC_threads. We assume it is there. */
-/* (The code intentionally traps if it wasn't.) */
-/* Caller holds allocation lock. */
-void GC_delete_thread(pthread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
- register GC_thread prev = 0;
-
- while (!pthread_equal(p -> id, id)) {
- prev = p;
- p = p -> next;
- }
- if (prev == 0) {
- GC_threads[hv] = p -> next;
- } else {
- prev -> next = p -> next;
- }
-}
-
-/* If a thread has been joined, but we have not yet */
-/* been notified, then there may be more than one thread */
-/* in the table with the same pthread id. */
-/* This is OK, but we need a way to delete a specific one. */
-void GC_delete_gc_thread(pthread_t id, GC_thread gc_id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
- register GC_thread prev = 0;
-
- while (p != gc_id) {
- prev = p;
- p = p -> next;
- }
- if (prev == 0) {
- GC_threads[hv] = p -> next;
- } else {
- prev -> next = p -> next;
- }
-}
-
-/* Return a GC_thread corresponding to a given thread_t. */
-/* Returns 0 if it's not there. */
-/* Caller holds allocation lock or otherwise inhibits */
-/* updates. */
-/* If there is more than one thread with the given id we */
-/* return the most recent one. */
-GC_thread GC_lookup_thread(pthread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
-
- while (p != 0 && !pthread_equal(p -> id, id)) p = p -> next;
- return(p);
-}
-
-
-/* Caller holds allocation lock. */
-void GC_stop_world()
-{
- pthread_t my_thread = pthread_self();
- register int i;
- register GC_thread p;
- register int result;
- struct timespec timeout;
-
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> id != my_thread) {
- if (p -> flags & FINISHED) {
- p -> stop = STOPPED;
- continue;
- }
- p -> stop = PLEASE_STOP;
- result = pthread_kill(p -> id, SIG_SUSPEND);
- /* GC_printf1("Sent signal to 0x%x\n", p -> id); */
- switch(result) {
- case ESRCH:
- /* Not really there anymore. Possible? */
- p -> stop = STOPPED;
- break;
- case 0:
- break;
- default:
- ABORT("pthread_kill failed");
- }
- }
- }
- }
- pthread_mutex_lock(&GC_suspend_lock);
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- while (p -> id != my_thread && p -> stop != STOPPED) {
- clock_gettime(CLOCK_REALTIME, &timeout);
- timeout.tv_nsec += 50000000; /* 50 msecs */
- if (timeout.tv_nsec >= 1000000000) {
- timeout.tv_nsec -= 1000000000;
- ++timeout.tv_sec;
- }
- result = pthread_cond_timedwait(&GC_suspend_ack_cv,
- &GC_suspend_lock,
- &timeout);
- if (result == ETIMEDOUT) {
- /* Signal was lost or misdirected. Try again. */
- /* Duplicate signals should be benign. */
- result = pthread_kill(p -> id, SIG_SUSPEND);
- }
- }
- }
- }
- pthread_mutex_unlock(&GC_suspend_lock);
- /* GC_printf1("World stopped 0x%x\n", pthread_self()); */
-}
-
-/* Caller holds allocation lock. */
-void GC_start_world()
-{
- GC_thread p;
- unsigned i;
-
- /* GC_printf0("World starting\n"); */
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- p -> stop = NOT_STOPPED;
- }
- }
- pthread_mutex_lock(&GC_suspend_lock);
- /* All other threads are at pthread_cond_wait in signal handler. */
- /* Otherwise we couldn't have acquired the lock. */
- pthread_mutex_unlock(&GC_suspend_lock);
- pthread_cond_broadcast(&GC_continue_cv);
-}
-
-# ifdef MMAP_STACKS
---> not really supported yet.
-int GC_is_thread_stack(ptr_t addr)
-{
- register int i;
- register GC_thread p;
-
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> stack_size != 0) {
- if (p -> stack <= addr &&
- addr < p -> stack + p -> stack_size)
- return 1;
- }
- }
- }
- return 0;
-}
-# endif
-
-/* We hold allocation lock. We assume the world is stopped. */
-void GC_push_all_stacks()
-{
- register int i;
- register GC_thread p;
- register ptr_t sp = GC_approx_sp();
- register ptr_t lo, hi;
- pthread_t me = pthread_self();
-
- if (!GC_thr_initialized) GC_thr_init();
- /* GC_printf1("Pushing stacks from thread 0x%x\n", me); */
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> flags & FINISHED) continue;
- if (pthread_equal(p -> id, me)) {
- lo = GC_approx_sp();
- } else {
- lo = p -> stack_ptr;
- }
- if (p -> stack_size != 0) {
- hi = p -> stack + p -> stack_size;
- } else {
- /* The original stack. */
- hi = GC_stackbottom;
- }
- GC_push_all_stack(lo, hi);
- }
- }
-}
-
-
-/* We hold the allocation lock. */
-void GC_thr_init()
-{
- GC_thread t;
- struct sigaction act;
-
- GC_thr_initialized = TRUE;
- GC_min_stack_sz = HBLKSIZE;
- GC_page_sz = sysconf(_SC_PAGESIZE);
- (void) sigaction(SIG_SUSPEND, 0, &act);
- if (act.sa_handler != SIG_DFL)
- ABORT("Previously installed SIG_SUSPEND handler");
- /* Install handler. */
- act.sa_handler = GC_suspend_handler;
- act.sa_flags = SA_RESTART;
- (void) sigemptyset(&act.sa_mask);
- if (0 != sigaction(SIG_SUSPEND, &act, 0))
- ABORT("Failed to install SIG_SUSPEND handler");
- /* Add the initial thread, so we can stop it. */
- t = GC_new_thread(pthread_self());
- t -> stack_size = 0;
- t -> stack_ptr = (ptr_t)(&t);
- t -> flags = DETACHED;
-}
-
-int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
-{
- sigset_t fudged_set;
-
- if (set != NULL && (how == SIG_BLOCK || how == SIG_SETMASK)) {
- fudged_set = *set;
- sigdelset(&fudged_set, SIG_SUSPEND);
- set = &fudged_set;
- }
- return(pthread_sigmask(how, set, oset));
-}
-
-struct start_info {
- void *(*start_routine)(void *);
- void *arg;
-};
-
-void GC_thread_exit_proc(void *dummy)
-{
- GC_thread me;
-
- LOCK();
- me = GC_lookup_thread(pthread_self());
- if (me -> flags & DETACHED) {
- GC_delete_thread(pthread_self());
- } else {
- me -> flags |= FINISHED;
- }
- UNLOCK();
-}
-
-int GC_pthread_join(pthread_t thread, void **retval)
-{
- int result;
- GC_thread thread_gc_id;
-
- LOCK();
- thread_gc_id = GC_lookup_thread(thread);
- /* This is guaranteed to be the intended one, since the thread id */
- /* cant have been recycled by pthreads. */
- UNLOCK();
- result = pthread_join(thread, retval);
- LOCK();
- /* Here the pthread thread id may have been recycled. */
- GC_delete_gc_thread(thread, thread_gc_id);
- UNLOCK();
- return result;
-}
-
-void * GC_start_routine(void * arg)
-{
- struct start_info * si = arg;
- void * result;
- GC_thread me;
-
- LOCK();
- me = GC_lookup_thread(pthread_self());
- UNLOCK();
- pthread_cleanup_push(GC_thread_exit_proc, 0);
- result = (*(si -> start_routine))(si -> arg);
- me -> status = result;
- me -> flags |= FINISHED;
- pthread_cleanup_pop(1);
- /* This involves acquiring the lock, ensuring that we can't exit */
- /* while a collection that thinks we're alive is trying to stop */
- /* us. */
- return(result);
-}
-
-int
-GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void *(*start_routine)(void *), void *arg)
-{
- int result;
- GC_thread t;
- pthread_t my_new_thread;
- void * stack;
- size_t stacksize;
- pthread_attr_t new_attr;
- int detachstate;
- word my_flags = 0;
- struct start_info * si = GC_malloc(sizeof(struct start_info));
-
- if (0 == si) return(ENOMEM);
- si -> start_routine = start_routine;
- si -> arg = arg;
- LOCK();
- if (!GC_thr_initialized) GC_thr_init();
- if (NULL == attr) {
- stack = 0;
- (void) pthread_attr_init(&new_attr);
- } else {
- new_attr = *attr;
- pthread_attr_getstackaddr(&new_attr, &stack);
- }
- pthread_attr_getstacksize(&new_attr, &stacksize);
- pthread_attr_getdetachstate(&new_attr, &detachstate);
- if (stacksize < GC_min_stack_sz) ABORT("Stack too small");
- if (0 == stack) {
- stack = (void *)GC_stack_alloc(&stacksize);
- if (0 == stack) {
- UNLOCK();
- return(ENOMEM);
- }
- pthread_attr_setstackaddr(&new_attr, stack);
- } else {
- my_flags |= CLIENT_OWNS_STACK;
- }
- if (PTHREAD_CREATE_DETACHED == detachstate) my_flags |= DETACHED;
- result = pthread_create(&my_new_thread, &new_attr, GC_start_routine, si);
- /* No GC can start until the thread is registered, since we hold */
- /* the allocation lock. */
- if (0 == result) {
- t = GC_new_thread(my_new_thread);
- t -> flags = my_flags;
- t -> stack = stack;
- t -> stack_size = stacksize;
- t -> stack_ptr = (ptr_t)stack + stacksize - sizeof(word);
- if (0 != new_thread) *new_thread = my_new_thread;
- } else if (!(my_flags & CLIENT_OWNS_STACK)) {
- GC_stack_free(stack, stacksize);
- }
- UNLOCK();
- /* pthread_attr_destroy(&new_attr); */
- return(result);
-}
-
-GC_bool GC_collecting = 0; /* A hint that we're in the collector and */
- /* holding the allocation lock for an */
- /* extended period. */
-
-/* Reasonably fast spin locks. Basically the same implementation */
-/* as STL alloc.h. This isn't really the right way to do this. */
-/* but until the POSIX scheduling mess gets straightened out ... */
-
-unsigned long GC_allocate_lock = 0;
-
-#define SLEEP_THRESHOLD 3
-
-void GC_lock()
-{
-# define low_spin_max 30 /* spin cycles if we suspect uniprocessor */
-# define high_spin_max 1000 /* spin cycles for multiprocessor */
- static unsigned spin_max = low_spin_max;
- unsigned my_spin_max;
- static unsigned last_spins = 0;
- unsigned my_last_spins;
- volatile unsigned junk;
-# define PAUSE junk *= junk; junk *= junk; junk *= junk; junk *= junk
- int i;
-
- if (!GC_test_and_set(&GC_allocate_lock, 1)) {
- return;
- }
- junk = 0;
- my_spin_max = spin_max;
- my_last_spins = last_spins;
- for (i = 0; i < my_spin_max; i++) {
- if (GC_collecting) goto yield;
- if (i < my_last_spins/2 || GC_allocate_lock) {
- PAUSE;
- continue;
- }
- if (!GC_test_and_set(&GC_allocate_lock, 1)) {
- /*
- * got it!
- * Spinning worked. Thus we're probably not being scheduled
- * against the other process with which we were contending.
- * Thus it makes sense to spin longer the next time.
- */
- last_spins = i;
- spin_max = high_spin_max;
- return;
- }
- }
- /* We are probably being scheduled against the other process. Sleep. */
- spin_max = low_spin_max;
-yield:
- for (i = 0;; ++i) {
- if (!GC_test_and_set(&GC_allocate_lock, 1)) {
- return;
- }
- if (i < SLEEP_THRESHOLD) {
- sched_yield();
- } else {
- struct timespec ts;
-
- if (i > 26) i = 26;
- /* Don't wait for more than about 60msecs, even */
- /* under extreme contention. */
- ts.tv_sec = 0;
- ts.tv_nsec = 1 << i;
- nanosleep(&ts, 0);
- }
- }
-}
-
-
-
-# else
-
-#ifndef LINT
- int GC_no_Irix_threads;
-#endif
-
-# endif /* IRIX_THREADS */
-
diff --git a/boehm-gc/linux_threads.c b/boehm-gc/linux_threads.c
deleted file mode 100644
index f83e1dd37b2..00000000000
--- a/boehm-gc/linux_threads.c
+++ /dev/null
@@ -1,647 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics. All rights reserved.
- * Copyright (c) 1998 by Fergus Henderson. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Support code for LinuxThreads, the clone()-based kernel
- * thread package for Linux which is included in libc6.
- *
- * This code relies on implementation details of LinuxThreads,
- * (i.e. properties not guaranteed by the Pthread standard):
- *
- * - the function GC_linux_thread_top_of_stack(void)
- * relies on the way LinuxThreads lays out thread stacks
- * in the address space.
- *
- * Note that there is a lot of code duplication between linux_threads.c
- * and irix_threads.c; any changes made here may need to be reflected
- * there too.
- */
-
-# if defined(LINUX_THREADS)
-
-# include "gc_priv.h"
-# include <pthread.h>
-# include <time.h>
-# include <errno.h>
-# include <unistd.h>
-# include <sys/mman.h>
-# include <sys/time.h>
-# include <semaphore.h>
-
-#undef pthread_create
-#undef pthread_sigmask
-#undef pthread_join
-
-void GC_thr_init();
-
-#if 0
-void GC_print_sig_mask()
-{
- sigset_t blocked;
- int i;
-
- if (pthread_sigmask(SIG_BLOCK, NULL, &blocked) != 0)
- ABORT("pthread_sigmask");
- GC_printf0("Blocked: ");
- for (i = 1; i <= MAXSIG; i++) {
- if (sigismember(&blocked, i)) { GC_printf1("%ld ",(long) i); }
- }
- GC_printf0("\n");
-}
-#endif
-
-/* We use the allocation lock to protect thread-related data structures. */
-
-/* The set of all known threads. We intercept thread creation and */
-/* joins. We never actually create detached threads. We allocate all */
-/* new thread stacks ourselves. These allow us to maintain this */
-/* data structure. */
-/* Protected by GC_thr_lock. */
-/* Some of this should be declared volatile, but that's incosnsistent */
-/* with some library routine declarations. */
-typedef struct GC_Thread_Rep {
- struct GC_Thread_Rep * next; /* More recently allocated threads */
- /* with a given pthread id come */
- /* first. (All but the first are */
- /* guaranteed to be dead, but we may */
- /* not yet have registered the join.) */
- pthread_t id;
- word flags;
-# define FINISHED 1 /* Thread has exited. */
-# define DETACHED 2 /* Thread is intended to be detached. */
-# define MAIN_THREAD 4 /* True for the original thread only. */
-
- ptr_t stack_end;
- ptr_t stack_ptr; /* Valid only when stopped. */
- int signal;
- void * status; /* The value returned from the thread. */
- /* Used only to avoid premature */
- /* reclamation of any data it might */
- /* reference. */
-} * GC_thread;
-
-GC_thread GC_lookup_thread(pthread_t id);
-
-/*
- * The only way to suspend threads given the pthread interface is to send
- * signals. We can't use SIGSTOP directly, because we need to get the
- * thread to save its stack pointer in the GC thread table before
- * suspending. So we have to reserve a signal of our own for this.
- * This means we have to intercept client calls to change the signal mask.
- * The linuxthreads package already uses SIGUSR1 and SIGUSR2,
- * so we need to reuse something else. I chose SIGPWR.
- * (Perhaps SIGUNUSED would be a better choice.)
- */
-#define SIG_SUSPEND SIGPWR
-
-#define SIG_RESTART SIGXCPU
-
-sem_t GC_suspend_ack_sem;
-
-/*
-GC_linux_thread_top_of_stack() relies on implementation details of
-LinuxThreads, namely that thread stacks are allocated on 2M boundaries
-and grow to no more than 2M.
-To make sure that we're using LinuxThreads and not some other thread
-package, we generate a dummy reference to `__pthread_initial_thread_bos',
-which is a symbol defined in LinuxThreads, but (hopefully) not in other
-thread packages.
-*/
-#if 0
-/* Note: on Caldera OpenLinux, this symbols is `local' in the
- libpthread.so (but not in libpthread.a). We don't really need
- this, so we just comment it out. */
-extern char * __pthread_initial_thread_bos;
-char **dummy_var_to_force_linux_threads = &__pthread_initial_thread_bos;
-#endif
-
-#define LINUX_THREADS_STACK_SIZE (2 * 1024 * 1024)
-
-static inline ptr_t GC_linux_thread_top_of_stack(void)
-{
- char *sp = GC_approx_sp();
- ptr_t tos = (ptr_t) (((unsigned long)sp | (LINUX_THREADS_STACK_SIZE - 1)) + 1);
-#if DEBUG_THREADS
- GC_printf1("SP = %lx\n", (unsigned long)sp);
- GC_printf1("TOS = %lx\n", (unsigned long)tos);
-#endif
- return tos;
-}
-
-void GC_suspend_handler(int sig)
-{
- int dummy;
- pthread_t my_thread = pthread_self();
- GC_thread me;
- sigset_t all_sigs;
- sigset_t old_sigs;
- int i;
- sigset_t mask;
-
- if (sig != SIG_SUSPEND) ABORT("Bad signal in suspend_handler");
-
-#if DEBUG_THREADS
- GC_printf1("Suspending 0x%x\n", my_thread);
-#endif
-
- me = GC_lookup_thread(my_thread);
- /* The lookup here is safe, since I'm doing this on behalf */
- /* of a thread which holds the allocation lock in order */
- /* to stop the world. Thus concurrent modification of the */
- /* data structure is impossible. */
- me -> stack_ptr = (ptr_t)(&dummy);
- me -> stack_end = GC_linux_thread_top_of_stack();
-
- /* Tell the thread that wants to stop the world that this */
- /* thread has been stopped. Note that sem_post() is */
- /* the only async-signal-safe primitive in LinuxThreads. */
- sem_post(&GC_suspend_ack_sem);
-
- /* Wait until that thread tells us to restart by sending */
- /* this thread a SIG_RESTART signal. */
- /* SIG_RESTART should be masked at this point. Thus there */
- /* is no race. */
- if (sigfillset(&mask) != 0) ABORT("sigfillset() failed");
- if (sigdelset(&mask, SIG_RESTART) != 0) ABORT("sigdelset() failed");
- do {
- me->signal = 0;
- sigsuspend(&mask); /* Wait for signal */
- } while (me->signal != SIG_RESTART);
-
-#if DEBUG_THREADS
- GC_printf1("Continuing 0x%x\n", my_thread);
-#endif
-}
-
-void GC_restart_handler(int sig)
-{
- GC_thread me;
-
- if (sig != SIG_RESTART) ABORT("Bad signal in suspend_handler");
-
- /* Let the GC_suspend_handler() know that we got a SIG_RESTART. */
- /* The lookup here is safe, since I'm doing this on behalf */
- /* of a thread which holds the allocation lock in order */
- /* to stop the world. Thus concurrent modification of the */
- /* data structure is impossible. */
- me = GC_lookup_thread(pthread_self());
- me->signal = SIG_RESTART;
-
- /*
- ** Note: even if we didn't do anything useful here,
- ** it would still be necessary to have a signal handler,
- ** rather than ignoring the signals, otherwise
- ** the signals will not be delivered at all, and
- ** will thus not interrupt the sigsuspend() above.
- */
-
-#if DEBUG_THREADS
- GC_printf1("In GC_restart_handler for 0x%x\n", pthread_self());
-#endif
-}
-
-GC_bool GC_thr_initialized = FALSE;
-
-# define THREAD_TABLE_SZ 128 /* Must be power of 2 */
-volatile GC_thread GC_threads[THREAD_TABLE_SZ];
-
-/* Add a thread to GC_threads. We assume it wasn't already there. */
-/* Caller holds allocation lock. */
-GC_thread GC_new_thread(pthread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- GC_thread result;
- static struct GC_Thread_Rep first_thread;
- static GC_bool first_thread_used = FALSE;
-
- if (!first_thread_used) {
- result = &first_thread;
- first_thread_used = TRUE;
- /* Dont acquire allocation lock, since we may already hold it. */
- } else {
- result = (struct GC_Thread_Rep *)
- GC_generic_malloc_inner(sizeof(struct GC_Thread_Rep), NORMAL);
- }
- if (result == 0) return(0);
- result -> id = id;
- result -> next = GC_threads[hv];
- GC_threads[hv] = result;
- /* result -> flags = 0; */
- return(result);
-}
-
-/* Delete a thread from GC_threads. We assume it is there. */
-/* (The code intentionally traps if it wasn't.) */
-/* Caller holds allocation lock. */
-void GC_delete_thread(pthread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
- register GC_thread prev = 0;
-
- while (!pthread_equal(p -> id, id)) {
- prev = p;
- p = p -> next;
- }
- if (prev == 0) {
- GC_threads[hv] = p -> next;
- } else {
- prev -> next = p -> next;
- }
-}
-
-/* If a thread has been joined, but we have not yet */
-/* been notified, then there may be more than one thread */
-/* in the table with the same pthread id. */
-/* This is OK, but we need a way to delete a specific one. */
-void GC_delete_gc_thread(pthread_t id, GC_thread gc_id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
- register GC_thread prev = 0;
-
- while (p != gc_id) {
- prev = p;
- p = p -> next;
- }
- if (prev == 0) {
- GC_threads[hv] = p -> next;
- } else {
- prev -> next = p -> next;
- }
-}
-
-/* Return a GC_thread corresponding to a given thread_t. */
-/* Returns 0 if it's not there. */
-/* Caller holds allocation lock or otherwise inhibits */
-/* updates. */
-/* If there is more than one thread with the given id we */
-/* return the most recent one. */
-GC_thread GC_lookup_thread(pthread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
-
- while (p != 0 && !pthread_equal(p -> id, id)) p = p -> next;
- return(p);
-}
-
-/* Caller holds allocation lock. */
-void GC_stop_world()
-{
- pthread_t my_thread = pthread_self();
- register int i;
- register GC_thread p;
- register int n_live_threads = 0;
- register int result;
-
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> id != my_thread) {
- if (p -> flags & FINISHED) continue;
- n_live_threads++;
- #if DEBUG_THREADS
- GC_printf1("Sending suspend signal to 0x%x\n", p -> id);
- #endif
- result = pthread_kill(p -> id, SIG_SUSPEND);
- switch(result) {
- case ESRCH:
- /* Not really there anymore. Possible? */
- n_live_threads--;
- break;
- case 0:
- break;
- default:
- ABORT("pthread_kill failed");
- }
- }
- }
- }
- for (i = 0; i < n_live_threads; i++) {
- sem_wait(&GC_suspend_ack_sem);
- }
- #if DEBUG_THREADS
- GC_printf1("World stopped 0x%x\n", pthread_self());
- #endif
-}
-
-/* Caller holds allocation lock. */
-void GC_start_world()
-{
- pthread_t my_thread = pthread_self();
- register int i;
- register GC_thread p;
- register int n_live_threads = 0;
- register int result;
-
-# if DEBUG_THREADS
- GC_printf0("World starting\n");
-# endif
-
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> id != my_thread) {
- if (p -> flags & FINISHED) continue;
- n_live_threads++;
- #if DEBUG_THREADS
- GC_printf1("Sending restart signal to 0x%x\n", p -> id);
- #endif
- result = pthread_kill(p -> id, SIG_RESTART);
- switch(result) {
- case ESRCH:
- /* Not really there anymore. Possible? */
- n_live_threads--;
- break;
- case 0:
- break;
- default:
- ABORT("pthread_kill failed");
- }
- }
- }
- }
- #if DEBUG_THREADS
- GC_printf0("World started\n");
- #endif
-}
-
-/* We hold allocation lock. We assume the world is stopped. */
-void GC_push_all_stacks()
-{
- register int i;
- register GC_thread p;
- register ptr_t sp = GC_approx_sp();
- register ptr_t lo, hi;
- pthread_t me = pthread_self();
-
- if (!GC_thr_initialized) GC_thr_init();
- #if DEBUG_THREADS
- GC_printf1("Pushing stacks from thread 0x%lx\n", (unsigned long) me);
- #endif
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> flags & FINISHED) continue;
- if (pthread_equal(p -> id, me)) {
- lo = GC_approx_sp();
- } else {
- lo = p -> stack_ptr;
- }
- if ((p -> flags & MAIN_THREAD) == 0) {
- if (pthread_equal(p -> id, me)) {
- hi = GC_linux_thread_top_of_stack();
- } else {
- hi = p -> stack_end;
- }
- } else {
- /* The original stack. */
- hi = GC_stackbottom;
- }
- #if DEBUG_THREADS
- GC_printf3("Stack for thread 0x%lx = [%lx,%lx)\n",
- (unsigned long) p -> id,
- (unsigned long) lo, (unsigned long) hi);
- #endif
- GC_push_all_stack(lo, hi);
- }
- }
-}
-
-
-/* We hold the allocation lock. */
-void GC_thr_init()
-{
- GC_thread t;
- struct sigaction act;
-
- GC_thr_initialized = TRUE;
-
- if (sem_init(&GC_suspend_ack_sem, 0, 0) != 0)
- ABORT("sem_init failed");
-
- act.sa_flags = SA_RESTART;
- if (sigfillset(&act.sa_mask) != 0) {
- ABORT("sigfillset() failed");
- }
- /* SIG_RESTART is unmasked by the handler when necessary. */
- act.sa_handler = GC_suspend_handler;
- if (sigaction(SIG_SUSPEND, &act, NULL) != 0) {
- ABORT("Cannot set SIG_SUSPEND handler");
- }
-
- act.sa_handler = GC_restart_handler;
- if (sigaction(SIG_RESTART, &act, NULL) != 0) {
- ABORT("Cannot set SIG_SUSPEND handler");
- }
-
- /* Add the initial thread, so we can stop it. */
- t = GC_new_thread(pthread_self());
- t -> stack_ptr = (ptr_t)(&t);
- t -> flags = DETACHED | MAIN_THREAD;
-}
-
-int GC_pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
-{
- sigset_t fudged_set;
-
- if (set != NULL && (how == SIG_BLOCK || how == SIG_SETMASK)) {
- fudged_set = *set;
- sigdelset(&fudged_set, SIG_SUSPEND);
- set = &fudged_set;
- }
- return(pthread_sigmask(how, set, oset));
-}
-
-struct start_info {
- void *(*start_routine)(void *);
- void *arg;
-};
-
-void GC_thread_exit_proc(void *dummy)
-{
- GC_thread me;
-
- LOCK();
- me = GC_lookup_thread(pthread_self());
- if (me -> flags & DETACHED) {
- GC_delete_thread(pthread_self());
- } else {
- me -> flags |= FINISHED;
- }
- UNLOCK();
-}
-
-int GC_pthread_join(pthread_t thread, void **retval)
-{
- int result;
- GC_thread thread_gc_id;
-
- LOCK();
- thread_gc_id = GC_lookup_thread(thread);
- /* This is guaranteed to be the intended one, since the thread id */
- /* cant have been recycled by pthreads. */
- UNLOCK();
- result = pthread_join(thread, retval);
- LOCK();
- /* Here the pthread thread id may have been recycled. */
- GC_delete_gc_thread(thread, thread_gc_id);
- UNLOCK();
- return result;
-}
-
-void * GC_start_routine(void * arg)
-{
- struct start_info * si = arg;
- void * result;
- GC_thread me;
-
- LOCK();
- me = GC_lookup_thread(pthread_self());
- UNLOCK();
- pthread_cleanup_push(GC_thread_exit_proc, 0);
-# ifdef DEBUG_THREADS
- GC_printf1("Starting thread 0x%x\n", pthread_self());
- GC_printf1("pid = %ld\n", (long) getpid());
- GC_printf1("sp = 0x%lx\n", (long) &arg);
-# endif
- result = (*(si -> start_routine))(si -> arg);
-#if DEBUG_THREADS
- GC_printf1("Finishing thread 0x%x\n", pthread_self());
-#endif
- me -> status = result;
- me -> flags |= FINISHED;
- pthread_cleanup_pop(1);
- /* This involves acquiring the lock, ensuring that we can't exit */
- /* while a collection that thinks we're alive is trying to stop */
- /* us. */
- return(result);
-}
-
-int
-GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr,
- void *(*start_routine)(void *), void *arg)
-{
- int result;
- GC_thread t;
- pthread_t my_new_thread;
- void * stack;
- size_t stacksize;
- pthread_attr_t new_attr;
- int detachstate;
- word my_flags = 0;
- struct start_info * si = GC_malloc(sizeof(struct start_info));
-
- if (0 == si) return(ENOMEM);
- si -> start_routine = start_routine;
- si -> arg = arg;
- LOCK();
- if (!GC_thr_initialized) GC_thr_init();
- if (NULL == attr) {
- stack = 0;
- (void) pthread_attr_init(&new_attr);
- } else {
- new_attr = *attr;
- }
- pthread_attr_getdetachstate(&new_attr, &detachstate);
- if (PTHREAD_CREATE_DETACHED == detachstate) my_flags |= DETACHED;
- result = pthread_create(&my_new_thread, &new_attr, GC_start_routine, si);
- /* No GC can start until the thread is registered, since we hold */
- /* the allocation lock. */
- if (0 == result) {
- t = GC_new_thread(my_new_thread);
- t -> flags = my_flags;
- t -> stack_ptr = 0;
- t -> stack_end = 0;
- if (0 != new_thread) *new_thread = my_new_thread;
- }
- UNLOCK();
- /* pthread_attr_destroy(&new_attr); */
- return(result);
-}
-
-GC_bool GC_collecting = 0;
- /* A hint that we're in the collector and */
- /* holding the allocation lock for an */
- /* extended period. */
-
-/* Reasonably fast spin locks. Basically the same implementation */
-/* as STL alloc.h. This isn't really the right way to do this. */
-/* but until the POSIX scheduling mess gets straightened out ... */
-
-volatile unsigned int GC_allocate_lock = 0;
-
-
-void GC_lock()
-{
-# define low_spin_max 30 /* spin cycles if we suspect uniprocessor */
-# define high_spin_max 1000 /* spin cycles for multiprocessor */
- static unsigned spin_max = low_spin_max;
- unsigned my_spin_max;
- static unsigned last_spins = 0;
- unsigned my_last_spins;
- volatile unsigned junk;
-# define PAUSE junk *= junk; junk *= junk; junk *= junk; junk *= junk
- int i;
-
- if (!GC_test_and_set(&GC_allocate_lock)) {
- return;
- }
- junk = 0;
- my_spin_max = spin_max;
- my_last_spins = last_spins;
- for (i = 0; i < my_spin_max; i++) {
- if (GC_collecting) goto yield;
- if (i < my_last_spins/2 || GC_allocate_lock) {
- PAUSE;
- continue;
- }
- if (!GC_test_and_set(&GC_allocate_lock)) {
- /*
- * got it!
- * Spinning worked. Thus we're probably not being scheduled
- * against the other process with which we were contending.
- * Thus it makes sense to spin longer the next time.
- */
- last_spins = i;
- spin_max = high_spin_max;
- return;
- }
- }
- /* We are probably being scheduled against the other process. Sleep. */
- spin_max = low_spin_max;
-yield:
- for (i = 0;; ++i) {
- if (!GC_test_and_set(&GC_allocate_lock)) {
- return;
- }
-# define SLEEP_THRESHOLD 12
- /* nanosleep(<= 2ms) just spins under Linux. We */
- /* want to be careful to avoid that behavior. */
- if (i < SLEEP_THRESHOLD) {
- sched_yield();
- } else {
- struct timespec ts;
-
- if (i > 26) i = 26;
- /* Don't wait for more than about 60msecs, even */
- /* under extreme contention. */
- ts.tv_sec = 0;
- ts.tv_nsec = 1 << i;
- nanosleep(&ts, 0);
- }
- }
-}
-
-# endif /* LINUX_THREADS */
-
diff --git a/boehm-gc/mach_dep.c b/boehm-gc/mach_dep.c
deleted file mode 100644
index e6087d94684..00000000000
--- a/boehm-gc/mach_dep.c
+++ /dev/null
@@ -1,411 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, November 17, 1995 12:13 pm PST */
-# include "gc_priv.h"
-# include <stdio.h>
-# include <setjmp.h>
-# if defined(OS2) || defined(CX_UX)
-# define _setjmp(b) setjmp(b)
-# define _longjmp(b,v) longjmp(b,v)
-# endif
-# ifdef AMIGA
-# include <dos.h>
-# endif
-
-#if defined(__MWERKS__) && !defined(POWERPC)
-
-asm static void PushMacRegisters()
-{
- sub.w #4,sp // reserve space for one parameter.
- move.l a2,(sp)
- jsr GC_push_one
- move.l a3,(sp)
- jsr GC_push_one
- move.l a4,(sp)
- jsr GC_push_one
-# if !__option(a6frames)
- // <pcb> perhaps a6 should be pushed if stack frames are not being used.
- move.l a6,(sp)
- jsr GC_push_one
-# endif
- // skip a5 (globals), a6 (frame pointer), and a7 (stack pointer)
- move.l d2,(sp)
- jsr GC_push_one
- move.l d3,(sp)
- jsr GC_push_one
- move.l d4,(sp)
- jsr GC_push_one
- move.l d5,(sp)
- jsr GC_push_one
- move.l d6,(sp)
- jsr GC_push_one
- move.l d7,(sp)
- jsr GC_push_one
- add.w #4,sp // fix stack.
- rts
-}
-
-#endif /* __MWERKS__ */
-
-/* Routine to mark from registers that are preserved by the C compiler. */
-/* This must be ported to every new architecture. There is a generic */
-/* version at the end, that is likely, but not guaranteed to work */
-/* on your architecture. Run the test_setjmp program to see whether */
-/* there is any chance it will work. */
-
-void GC_push_regs()
-{
-# ifdef RT
- register long TMP_SP; /* must be bound to r11 */
-# endif
-# ifdef VAX
- /* VAX - generic code below does not work under 4.2 */
- /* r1 through r5 are caller save, and therefore */
- /* on the stack or dead. */
- asm("pushl r11"); asm("calls $1,_GC_push_one");
- asm("pushl r10"); asm("calls $1,_GC_push_one");
- asm("pushl r9"); asm("calls $1,_GC_push_one");
- asm("pushl r8"); asm("calls $1,_GC_push_one");
- asm("pushl r7"); asm("calls $1,_GC_push_one");
- asm("pushl r6"); asm("calls $1,_GC_push_one");
-# endif
-# if defined(M68K) && (defined(SUNOS4) || defined(NEXT))
- /* M68K SUNOS - could be replaced by generic code */
- /* a0, a1 and d1 are caller save */
- /* and therefore are on stack or dead. */
-
- asm("subqw #0x4,sp"); /* allocate word on top of stack */
-
- asm("movl a2,sp@"); asm("jbsr _GC_push_one");
- asm("movl a3,sp@"); asm("jbsr _GC_push_one");
- asm("movl a4,sp@"); asm("jbsr _GC_push_one");
- asm("movl a5,sp@"); asm("jbsr _GC_push_one");
- /* Skip frame pointer and stack pointer */
- asm("movl d1,sp@"); asm("jbsr _GC_push_one");
- asm("movl d2,sp@"); asm("jbsr _GC_push_one");
- asm("movl d3,sp@"); asm("jbsr _GC_push_one");
- asm("movl d4,sp@"); asm("jbsr _GC_push_one");
- asm("movl d5,sp@"); asm("jbsr _GC_push_one");
- asm("movl d6,sp@"); asm("jbsr _GC_push_one");
- asm("movl d7,sp@"); asm("jbsr _GC_push_one");
-
- asm("addqw #0x4,sp"); /* put stack back where it was */
-# endif
-
-# if defined(M68K) && defined(HP)
- /* M68K HP - could be replaced by generic code */
- /* a0, a1 and d1 are caller save. */
-
- asm("subq.w &0x4,%sp"); /* allocate word on top of stack */
-
- asm("mov.l %a2,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %a3,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %a4,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %a5,(%sp)"); asm("jsr _GC_push_one");
- /* Skip frame pointer and stack pointer */
- asm("mov.l %d1,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %d2,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %d3,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %d4,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %d5,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %d6,(%sp)"); asm("jsr _GC_push_one");
- asm("mov.l %d7,(%sp)"); asm("jsr _GC_push_one");
-
- asm("addq.w &0x4,%sp"); /* put stack back where it was */
-# endif /* M68K HP */
-
-# ifdef AMIGA
- /* AMIGA - could be replaced by generic code */
- /* a0, a1, d0 and d1 are caller save */
- GC_push_one(getreg(REG_A2));
- GC_push_one(getreg(REG_A3));
- GC_push_one(getreg(REG_A4));
- GC_push_one(getreg(REG_A5));
- GC_push_one(getreg(REG_A6));
- /* Skip stack pointer */
- GC_push_one(getreg(REG_D2));
- GC_push_one(getreg(REG_D3));
- GC_push_one(getreg(REG_D4));
- GC_push_one(getreg(REG_D5));
- GC_push_one(getreg(REG_D6));
- GC_push_one(getreg(REG_D7));
-# endif
-
-# if defined(M68K) && defined(MACOS)
-# if defined(THINK_C)
-# define PushMacReg(reg) \
- move.l reg,(sp) \
- jsr GC_push_one
- asm {
- sub.w #4,sp ; reserve space for one parameter.
- PushMacReg(a2);
- PushMacReg(a3);
- PushMacReg(a4);
- ; skip a5 (globals), a6 (frame pointer), and a7 (stack pointer)
- PushMacReg(d2);
- PushMacReg(d3);
- PushMacReg(d4);
- PushMacReg(d5);
- PushMacReg(d6);
- PushMacReg(d7);
- add.w #4,sp ; fix stack.
- }
-# undef PushMacReg
-# endif /* THINK_C */
-# if defined(__MWERKS__)
- PushMacRegisters();
-# endif /* __MWERKS__ */
-# endif /* MACOS */
-
-# if defined(I386) &&!defined(OS2) &&!defined(SVR4) &&!defined(MSWIN32) \
- && !defined(SCO) && !defined(SCO_ELF) && !(defined(LINUX) \
- && defined(__ELF__)) && !defined(DOS4GW)
- /* I386 code, generic code does not appear to work */
- /* It does appear to work under OS2, and asms dont */
- /* This is used for some 38g UNIX variants and for CYGWIN32 */
- asm("pushl %eax"); asm("call _GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ecx"); asm("call _GC_push_one"); asm("addl $4,%esp");
- asm("pushl %edx"); asm("call _GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ebp"); asm("call _GC_push_one"); asm("addl $4,%esp");
- asm("pushl %esi"); asm("call _GC_push_one"); asm("addl $4,%esp");
- asm("pushl %edi"); asm("call _GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ebx"); asm("call _GC_push_one"); asm("addl $4,%esp");
-# endif
-
-# if defined(I386) && defined(LINUX) && defined(__ELF__)
- /* This is modified for Linux with ELF (Note: _ELF_ only) */
- asm("pushl %eax"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ecx"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %edx"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ebp"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %esi"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %edi"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ebx"); asm("call GC_push_one"); asm("addl $4,%esp");
-# endif
-
-# if defined(I386) && defined(MSWIN32) && !defined(USE_GENERIC)
- /* I386 code, Microsoft variant */
- __asm push eax
- __asm call GC_push_one
- __asm add esp,4
- __asm push ebx
- __asm call GC_push_one
- __asm add esp,4
- __asm push ecx
- __asm call GC_push_one
- __asm add esp,4
- __asm push edx
- __asm call GC_push_one
- __asm add esp,4
- __asm push ebp
- __asm call GC_push_one
- __asm add esp,4
- __asm push esi
- __asm call GC_push_one
- __asm add esp,4
- __asm push edi
- __asm call GC_push_one
- __asm add esp,4
-# endif
-
-# if defined(I386) && (defined(SVR4) || defined(SCO) || defined(SCO_ELF))
- /* I386 code, SVR4 variant, generic code does not appear to work */
- asm("pushl %eax"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ebx"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ecx"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %edx"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %ebp"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %esi"); asm("call GC_push_one"); asm("addl $4,%esp");
- asm("pushl %edi"); asm("call GC_push_one"); asm("addl $4,%esp");
-# endif
-
-# ifdef NS32K
- asm ("movd r3, tos"); asm ("bsr ?_GC_push_one"); asm ("adjspb $-4");
- asm ("movd r4, tos"); asm ("bsr ?_GC_push_one"); asm ("adjspb $-4");
- asm ("movd r5, tos"); asm ("bsr ?_GC_push_one"); asm ("adjspb $-4");
- asm ("movd r6, tos"); asm ("bsr ?_GC_push_one"); asm ("adjspb $-4");
- asm ("movd r7, tos"); asm ("bsr ?_GC_push_one"); asm ("adjspb $-4");
-# endif
-
-# ifdef SPARC
- {
- word GC_save_regs_in_stack();
-
- /* generic code will not work */
- (void)GC_save_regs_in_stack();
- }
-# endif
-
-# ifdef RT
- GC_push_one(TMP_SP); /* GC_push_one from r11 */
-
- asm("cas r11, r6, r0"); GC_push_one(TMP_SP); /* r6 */
- asm("cas r11, r7, r0"); GC_push_one(TMP_SP); /* through */
- asm("cas r11, r8, r0"); GC_push_one(TMP_SP); /* r10 */
- asm("cas r11, r9, r0"); GC_push_one(TMP_SP);
- asm("cas r11, r10, r0"); GC_push_one(TMP_SP);
-
- asm("cas r11, r12, r0"); GC_push_one(TMP_SP); /* r12 */
- asm("cas r11, r13, r0"); GC_push_one(TMP_SP); /* through */
- asm("cas r11, r14, r0"); GC_push_one(TMP_SP); /* r15 */
- asm("cas r11, r15, r0"); GC_push_one(TMP_SP);
-# endif
-
-# if defined(M68K) && defined(SYSV)
- /* Once again similar to SUN and HP, though setjmp appears to work.
- --Parag
- */
-# ifdef __GNUC__
- asm("subqw #0x4,%sp"); /* allocate word on top of stack */
-
- asm("movl %a2,%sp@"); asm("jbsr GC_push_one");
- asm("movl %a3,%sp@"); asm("jbsr GC_push_one");
- asm("movl %a4,%sp@"); asm("jbsr GC_push_one");
- asm("movl %a5,%sp@"); asm("jbsr GC_push_one");
- /* Skip frame pointer and stack pointer */
- asm("movl %d1,%sp@"); asm("jbsr GC_push_one");
- asm("movl %d2,%sp@"); asm("jbsr GC_push_one");
- asm("movl %d3,%sp@"); asm("jbsr GC_push_one");
- asm("movl %d4,%sp@"); asm("jbsr GC_push_one");
- asm("movl %d5,%sp@"); asm("jbsr GC_push_one");
- asm("movl %d6,%sp@"); asm("jbsr GC_push_one");
- asm("movl %d7,%sp@"); asm("jbsr GC_push_one");
-
- asm("addqw #0x4,%sp"); /* put stack back where it was */
-# else /* !__GNUC__*/
- asm("subq.w &0x4,%sp"); /* allocate word on top of stack */
-
- asm("mov.l %a2,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %a3,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %a4,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %a5,(%sp)"); asm("jsr GC_push_one");
- /* Skip frame pointer and stack pointer */
- asm("mov.l %d1,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %d2,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %d3,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %d4,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %d5,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %d6,(%sp)"); asm("jsr GC_push_one");
- asm("mov.l %d7,(%sp)"); asm("jsr GC_push_one");
-
- asm("addq.w &0x4,%sp"); /* put stack back where it was */
-# endif /* !__GNUC__ */
-# endif /* M68K/SYSV */
-
-
-# if defined(HP_PA) || defined(M88K) || defined(POWERPC) || (defined(I386) && (defined(OS2) || defined(USE_GENERIC))) || defined(UTS4)
- /* Generic code */
- /* The idea is due to Parag Patel at HP. */
- /* We're not sure whether he would like */
- /* to be he acknowledged for it or not. */
- {
- static jmp_buf regs;
- register word * i = (word *) regs;
- register ptr_t lim = (ptr_t)(regs) + (sizeof regs);
-
- /* Setjmp on Sun 3s doesn't clear all of the buffer. */
- /* That tends to preserve garbage. Clear it. */
- for (; (char *)i < lim; i++) {
- *i = 0;
- }
-# if defined(POWERPC) || defined(MSWIN32) || defined(UTS4)
- (void) setjmp(regs);
-# else
- (void) _setjmp(regs);
-# endif
- GC_push_all_stack((ptr_t)regs, lim);
- }
-# endif
-
- /* other machines... */
-# if !(defined M68K) && !(defined VAX) && !(defined RT)
-# if !(defined SPARC) && !(defined I386) && !(defined NS32K)
-# if !defined(HP_PA) && !defined(M88K) && !defined(POWERPC)
-# if !defined(UTS4)
- --> bad news <--
-# endif
-# endif
-# endif
-# endif
-}
-
-/* On register window machines, we need a way to force registers into */
-/* the stack. Return sp. */
-# ifdef SPARC
- asm(" .seg \"text\"");
-# ifdef SVR4
- asm(" .globl GC_save_regs_in_stack");
- asm("GC_save_regs_in_stack:");
- asm(" .type GC_save_regs_in_stack,#function");
-# else
- asm(" .globl _GC_save_regs_in_stack");
- asm("_GC_save_regs_in_stack:");
-# endif
- asm(" ta 0x3 ! ST_FLUSH_WINDOWS");
- asm(" mov %sp,%o0");
- asm(" retl");
- asm(" nop");
-# ifdef SVR4
- asm(" .GC_save_regs_in_stack_end:");
- asm(" .size GC_save_regs_in_stack,.GC_save_regs_in_stack_end-GC_save_regs_in_stack");
-# endif
-# ifdef LINT
- word GC_save_regs_in_stack() { return(0 /* sp really */);}
-# endif
-# endif
-
-
-/* GC_clear_stack_inner(arg, limit) clears stack area up to limit and */
-/* returns arg. Stack clearing is crucial on SPARC, so we supply */
-/* an assembly version that's more careful. Assumes limit is hotter */
-/* than sp, and limit is 8 byte aligned. */
-#if defined(ASM_CLEAR_CODE) && !defined(THREADS)
-#ifndef SPARC
- --> fix it
-#endif
-# ifdef SUNOS4
- asm(".globl _GC_clear_stack_inner");
- asm("_GC_clear_stack_inner:");
-# else
- asm(".globl GC_clear_stack_inner");
- asm("GC_clear_stack_inner:");
- asm(".type GC_save_regs_in_stack,#function");
-# endif
- asm("mov %sp,%o2"); /* Save sp */
- asm("add %sp,-8,%o3"); /* p = sp-8 */
- asm("clr %g1"); /* [g0,g1] = 0 */
- asm("add %o1,-0x60,%sp"); /* Move sp out of the way, */
- /* so that traps still work. */
- /* Includes some extra words */
- /* so we can be sloppy below. */
- asm("loop:");
- asm("std %g0,[%o3]"); /* *(long long *)p = 0 */
- asm("cmp %o3,%o1");
- asm("bgu loop "); /* if (p > limit) goto loop */
- asm("add %o3,-8,%o3"); /* p -= 8 (delay slot) */
- asm("retl");
- asm("mov %o2,%sp"); /* Restore sp., delay slot */
- /* First argument = %o0 = return value */
-# ifdef SVR4
- asm(" .GC_clear_stack_inner_end:");
- asm(" .size GC_clear_stack_inner,.GC_clear_stack_inner_end-GC_clear_stack_inner");
-# endif
-
-# ifdef LINT
- /*ARGSUSED*/
- ptr_t GC_clear_stack_inner(arg, limit)
- ptr_t arg; word limit;
- { return(arg); }
-# endif
-#endif
diff --git a/boehm-gc/makefile.depend b/boehm-gc/makefile.depend
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/boehm-gc/makefile.depend
+++ /dev/null
diff --git a/boehm-gc/malloc.c b/boehm-gc/malloc.c
deleted file mode 100644
index 41553b7f376..00000000000
--- a/boehm-gc/malloc.c
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 7, 1996 4:32 pm PST */
-
-#include <stdio.h>
-#include "gc_priv.h"
-
-extern ptr_t GC_clear_stack(); /* in misc.c, behaves like identity */
-void GC_extend_size_map(); /* in misc.c. */
-
-/* Allocate reclaim list for kind: */
-/* Return TRUE on success */
-GC_bool GC_alloc_reclaim_list(kind)
-register struct obj_kind * kind;
-{
- struct hblk ** result = (struct hblk **)
- GC_scratch_alloc((MAXOBJSZ+1) * sizeof(struct hblk *));
- if (result == 0) return(FALSE);
- BZERO(result, (MAXOBJSZ+1)*sizeof(struct hblk *));
- kind -> ok_reclaim_list = result;
- return(TRUE);
-}
-
-/* allocate lb bytes for an object of kind. */
-/* Should not be used to directly to allocate */
-/* objects such as STUBBORN objects that */
-/* require special handling on allocation. */
-/* First a version that assumes we already */
-/* hold lock: */
-ptr_t GC_generic_malloc_inner(lb, k)
-register word lb;
-register int k;
-{
-register word lw;
-register ptr_t op;
-register ptr_t *opp;
-
- if( SMALL_OBJ(lb) ) {
- register struct obj_kind * kind = GC_obj_kinds + k;
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
- if (lw == 0) lw = 1;
-# endif
- opp = &(kind -> ok_freelist[lw]);
- if( (op = *opp) == 0 ) {
-# ifdef MERGE_SIZES
- if (GC_size_map[lb] == 0) {
- if (!GC_is_initialized) GC_init_inner();
- if (GC_size_map[lb] == 0) GC_extend_size_map(lb);
- return(GC_generic_malloc_inner(lb, k));
- }
-# else
- if (!GC_is_initialized) {
- GC_init_inner();
- return(GC_generic_malloc_inner(lb, k));
- }
-# endif
- if (kind -> ok_reclaim_list == 0) {
- if (!GC_alloc_reclaim_list(kind)) goto out;
- }
- op = GC_allocobj(lw, k);
- if (op == 0) goto out;
- }
- /* Here everything is in a consistent state. */
- /* We assume the following assignment is */
- /* atomic. If we get aborted */
- /* after the assignment, we lose an object, */
- /* but that's benign. */
- /* Volatile declarations may need to be added */
- /* to prevent the compiler from breaking things.*/
- *opp = obj_link(op);
- obj_link(op) = 0;
- } else {
- register struct hblk * h;
- register word n_blocks = divHBLKSZ(ADD_SLOP(lb)
- + HDR_BYTES + HBLKSIZE-1);
-
- if (!GC_is_initialized) GC_init_inner();
- /* Do our share of marking work */
- if(GC_incremental && !GC_dont_gc)
- GC_collect_a_little_inner((int)n_blocks);
- lw = ROUNDED_UP_WORDS(lb);
- while ((h = GC_allochblk(lw, k, 0)) == 0
- && GC_collect_or_expand(n_blocks, FALSE));
- if (h == 0) {
- op = 0;
- } else {
- op = (ptr_t) (h -> hb_body);
- GC_words_wasted += BYTES_TO_WORDS(n_blocks * HBLKSIZE) - lw;
- }
- }
- GC_words_allocd += lw;
-
-out:
- return((ptr_t)op);
-}
-
-ptr_t GC_generic_malloc(lb, k)
-register word lb;
-register int k;
-{
- ptr_t result;
- DCL_LOCK_STATE;
-
- GC_INVOKE_FINALIZERS();
- DISABLE_SIGNALS();
- LOCK();
- result = GC_generic_malloc_inner(lb, k);
- UNLOCK();
- ENABLE_SIGNALS();
- if (0 == result) {
- return((*GC_oom_fn)(lb));
- } else {
- return(result);
- }
-}
-
-
-#define GENERAL_MALLOC(lb,k) \
- (GC_PTR)GC_clear_stack(GC_generic_malloc((word)lb, k))
-/* We make the GC_clear_stack_call a tail call, hoping to get more of */
-/* the stack. */
-
-/* Allocate lb bytes of atomic (pointerfree) data */
-# ifdef __STDC__
- GC_PTR GC_malloc_atomic(size_t lb)
-# else
- GC_PTR GC_malloc_atomic(lb)
- size_t lb;
-# endif
-{
-register ptr_t op;
-register ptr_t * opp;
-register word lw;
-DCL_LOCK_STATE;
-
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_aobjfreelist[lw]);
- FASTLOCK();
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
- FASTUNLOCK();
- return(GENERAL_MALLOC((word)lb, PTRFREE));
- }
- /* See above comment on signals. */
- *opp = obj_link(op);
- GC_words_allocd += lw;
- FASTUNLOCK();
- return((GC_PTR) op);
- } else {
- return(GENERAL_MALLOC((word)lb, PTRFREE));
- }
-}
-
-/* Allocate lb bytes of composite (pointerful) data */
-# ifdef __STDC__
- GC_PTR GC_malloc(size_t lb)
-# else
- GC_PTR GC_malloc(lb)
- size_t lb;
-# endif
-{
-register ptr_t op;
-register ptr_t *opp;
-register word lw;
-DCL_LOCK_STATE;
-
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_objfreelist[lw]);
- FASTLOCK();
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
- FASTUNLOCK();
- return(GENERAL_MALLOC((word)lb, NORMAL));
- }
- /* See above comment on signals. */
- *opp = obj_link(op);
- obj_link(op) = 0;
- GC_words_allocd += lw;
- FASTUNLOCK();
- return((GC_PTR) op);
- } else {
- return(GENERAL_MALLOC((word)lb, NORMAL));
- }
-}
-
-# ifdef REDIRECT_MALLOC
-# ifdef __STDC__
- GC_PTR malloc(size_t lb)
-# else
- GC_PTR malloc(lb)
- size_t lb;
-# endif
- {
- /* It might help to manually inline the GC_malloc call here. */
- /* But any decent compiler should reduce the extra procedure call */
- /* to at most a jump instruction in this case. */
-# if defined(I386) && defined(SOLARIS_THREADS)
- /*
- * Thread initialisation can call malloc before
- * we're ready for it.
- */
- if (!GC_is_initialized) return sbrk(lb);
-# endif /* I386 && SOLARIS_THREADS */
- return(REDIRECT_MALLOC(lb));
- }
-
-# ifdef __STDC__
- GC_PTR calloc(size_t n, size_t lb)
-# else
- GC_PTR calloc(n, lb)
- size_t n, lb;
-# endif
- {
- return(REDIRECT_MALLOC(n*lb));
- }
-# endif /* REDIRECT_MALLOC */
-
-GC_PTR GC_generic_or_special_malloc(lb,knd)
-word lb;
-int knd;
-{
- switch(knd) {
-# ifdef STUBBORN_ALLOC
- case STUBBORN:
- return(GC_malloc_stubborn((size_t)lb));
-# endif
- case PTRFREE:
- return(GC_malloc_atomic((size_t)lb));
- case NORMAL:
- return(GC_malloc((size_t)lb));
- case UNCOLLECTABLE:
- return(GC_malloc_uncollectable((size_t)lb));
-# ifdef ATOMIC_UNCOLLECTABLE
- case AUNCOLLECTABLE:
- return(GC_malloc_atomic_uncollectable((size_t)lb));
-# endif /* ATOMIC_UNCOLLECTABLE */
- default:
- return(GC_generic_malloc(lb,knd));
- }
-}
-
-
-/* Change the size of the block pointed to by p to contain at least */
-/* lb bytes. The object may be (and quite likely will be) moved. */
-/* The kind (e.g. atomic) is the same as that of the old. */
-/* Shrinking of large blocks is not implemented well. */
-# ifdef __STDC__
- GC_PTR GC_realloc(GC_PTR p, size_t lb)
-# else
- GC_PTR GC_realloc(p,lb)
- GC_PTR p;
- size_t lb;
-# endif
-{
-register struct hblk * h;
-register hdr * hhdr;
-register word sz; /* Current size in bytes */
-register word orig_sz; /* Original sz in bytes */
-int obj_kind;
-
- if (p == 0) return(GC_malloc(lb)); /* Required by ANSI */
- h = HBLKPTR(p);
- hhdr = HDR(h);
- sz = hhdr -> hb_sz;
- obj_kind = hhdr -> hb_obj_kind;
- sz = WORDS_TO_BYTES(sz);
- orig_sz = sz;
-
- if (sz > WORDS_TO_BYTES(MAXOBJSZ)) {
- /* Round it up to the next whole heap block */
- register word descr;
-
- sz = (sz+HDR_BYTES+HBLKSIZE-1)
- & (~HBLKMASK);
- sz -= HDR_BYTES;
- hhdr -> hb_sz = BYTES_TO_WORDS(sz);
- descr = GC_obj_kinds[obj_kind].ok_descriptor;
- if (GC_obj_kinds[obj_kind].ok_relocate_descr) descr += sz;
- hhdr -> hb_descr = descr;
- if (IS_UNCOLLECTABLE(obj_kind)) GC_non_gc_bytes += (sz - orig_sz);
- /* Extra area is already cleared by allochblk. */
- }
- if (ADD_SLOP(lb) <= sz) {
- if (lb >= (sz >> 1)) {
-# ifdef STUBBORN_ALLOC
- if (obj_kind == STUBBORN) GC_change_stubborn(p);
-# endif
- if (orig_sz > lb) {
- /* Clear unneeded part of object to avoid bogus pointer */
- /* tracing. */
- /* Safe for stubborn objects. */
- BZERO(((ptr_t)p) + lb, orig_sz - lb);
- }
- return(p);
- } else {
- /* shrink */
- GC_PTR result =
- GC_generic_or_special_malloc((word)lb, obj_kind);
-
- if (result == 0) return(0);
- /* Could also return original object. But this */
- /* gives the client warning of imminent disaster. */
- BCOPY(p, result, lb);
-# ifndef IGNORE_FREE
- GC_free(p);
-# endif
- return(result);
- }
- } else {
- /* grow */
- GC_PTR result =
- GC_generic_or_special_malloc((word)lb, obj_kind);
-
- if (result == 0) return(0);
- BCOPY(p, result, sz);
-# ifndef IGNORE_FREE
- GC_free(p);
-# endif
- return(result);
- }
-}
-
-# ifdef REDIRECT_MALLOC
-# ifdef __STDC__
- GC_PTR realloc(GC_PTR p, size_t lb)
-# else
- GC_PTR realloc(p,lb)
- GC_PTR p;
- size_t lb;
-# endif
- {
- return(GC_realloc(p, lb));
- }
-# endif /* REDIRECT_MALLOC */
-
-/* Explicitly deallocate an object p. */
-# ifdef __STDC__
- void GC_free(GC_PTR p)
-# else
- void GC_free(p)
- GC_PTR p;
-# endif
-{
- register struct hblk *h;
- register hdr *hhdr;
- register signed_word sz;
- register ptr_t * flh;
- register int knd;
- register struct obj_kind * ok;
- DCL_LOCK_STATE;
-
- if (p == 0) return;
- /* Required by ANSI. It's not my fault ... */
- h = HBLKPTR(p);
- hhdr = HDR(h);
- knd = hhdr -> hb_obj_kind;
- sz = hhdr -> hb_sz;
- ok = &GC_obj_kinds[knd];
- if (sz <= MAXOBJSZ) {
-# ifdef THREADS
- DISABLE_SIGNALS();
- LOCK();
-# endif
- GC_mem_freed += sz;
- /* A signal here can make GC_mem_freed and GC_non_gc_bytes */
- /* inconsistent. We claim this is benign. */
- if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= WORDS_TO_BYTES(sz);
- /* Its unnecessary to clear the mark bit. If the */
- /* object is reallocated, it doesn't matter. O.w. the */
- /* collector will do it, since it's on a free list. */
- if (ok -> ok_init) {
- BZERO((word *)p + 1, WORDS_TO_BYTES(sz-1));
- }
- flh = &(ok -> ok_freelist[sz]);
- obj_link(p) = *flh;
- *flh = (ptr_t)p;
-# ifdef THREADS
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
- } else {
- DISABLE_SIGNALS();
- LOCK();
- GC_mem_freed += sz;
- if (IS_UNCOLLECTABLE(knd)) GC_non_gc_bytes -= WORDS_TO_BYTES(sz);
- GC_freehblk(h);
- UNLOCK();
- ENABLE_SIGNALS();
- }
-}
-
-# ifdef REDIRECT_MALLOC
-# ifdef __STDC__
- void free(GC_PTR p)
-# else
- void free(p)
- GC_PTR p;
-# endif
- {
-# ifndef IGNORE_FREE
- GC_free(p);
-# endif
- }
-# endif /* REDIRECT_MALLOC */
diff --git a/boehm-gc/mallocx.c b/boehm-gc/mallocx.c
deleted file mode 100644
index ae8bfffb8af..00000000000
--- a/boehm-gc/mallocx.c
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-/*
- * These are extra allocation routines which are likely to be less
- * frequently used than those in malloc.c. They are separate in the
- * hope that the .o file will be excluded from statically linked
- * executables. We should probably break this up further.
- */
-
-#include <stdio.h>
-#include "gc_priv.h"
-
-extern ptr_t GC_clear_stack(); /* in misc.c, behaves like identity */
-void GC_extend_size_map(); /* in misc.c. */
-GC_bool GC_alloc_reclaim_list(); /* in malloc.c */
-
-/* Some externally visible but unadvertised variables to allow access to */
-/* free lists from inlined allocators without including gc_priv.h */
-/* or introducing dependencies on internal data structure layouts. */
-ptr_t * CONST GC_objfreelist_ptr = GC_objfreelist;
-ptr_t * CONST GC_aobjfreelist_ptr = GC_aobjfreelist;
-ptr_t * CONST GC_uobjfreelist_ptr = GC_uobjfreelist;
-# ifdef ATOMIC_UNCOLLECTABLE
- ptr_t * CONST GC_auobjfreelist_ptr = GC_auobjfreelist;
-# endif
-
-/* Allocate a composite object of size n bytes. The caller guarantees */
-/* that pointers past the first page are not relevant. Caller holds */
-/* allocation lock. */
-ptr_t GC_generic_malloc_inner_ignore_off_page(lb, k)
-register size_t lb;
-register int k;
-{
- register struct hblk * h;
- register word n_blocks;
- register word lw;
- register ptr_t op;
-
- if (lb <= HBLKSIZE)
- return(GC_generic_malloc_inner((word)lb, k));
- n_blocks = divHBLKSZ(ADD_SLOP(lb) + HDR_BYTES + HBLKSIZE-1);
- if (!GC_is_initialized) GC_init_inner();
- /* Do our share of marking work */
- if(GC_incremental && !GC_dont_gc)
- GC_collect_a_little_inner((int)n_blocks);
- lw = ROUNDED_UP_WORDS(lb);
- while ((h = GC_allochblk(lw, k, IGNORE_OFF_PAGE)) == 0
- && GC_collect_or_expand(n_blocks, TRUE));
- if (h == 0) {
- op = 0;
- } else {
- op = (ptr_t) (h -> hb_body);
- GC_words_wasted += BYTES_TO_WORDS(n_blocks * HBLKSIZE) - lw;
- }
- GC_words_allocd += lw;
- return((ptr_t)op);
-}
-
-ptr_t GC_generic_malloc_ignore_off_page(lb, k)
-register size_t lb;
-register int k;
-{
- register ptr_t result;
- DCL_LOCK_STATE;
-
- GC_INVOKE_FINALIZERS();
- DISABLE_SIGNALS();
- LOCK();
- result = GC_generic_malloc_inner_ignore_off_page(lb,k);
- UNLOCK();
- ENABLE_SIGNALS();
- if (0 == result) {
- return((*GC_oom_fn)(lb));
- } else {
- return(result);
- }
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- void * GC_malloc_ignore_off_page(size_t lb)
-# else
- char * GC_malloc_ignore_off_page(lb)
- register size_t lb;
-# endif
-{
- return((GC_PTR)GC_generic_malloc_ignore_off_page(lb, NORMAL));
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- void * GC_malloc_atomic_ignore_off_page(size_t lb)
-# else
- char * GC_malloc_atomic_ignore_off_page(lb)
- register size_t lb;
-# endif
-{
- return((GC_PTR)GC_generic_malloc_ignore_off_page(lb, PTRFREE));
-}
-
-/* Increment GC_words_allocd from code that doesn't have direct access */
-/* to GC_arrays. */
-# ifdef __STDC__
-void GC_incr_words_allocd(size_t n)
-{
- GC_words_allocd += n;
-}
-
-/* The same for GC_mem_freed. */
-void GC_incr_mem_freed(size_t n)
-{
- GC_mem_freed += n;
-}
-# endif /* __STDC__ */
-
-/* Analogous to the above, but assumes a small object size, and */
-/* bypasses MERGE_SIZES mechanism. Used by gc_inline.h. */
-#ifdef __STDC__
- ptr_t GC_generic_malloc_words_small(size_t lw, int k)
-#else
- ptr_t GC_generic_malloc_words_small(lw, k)
- register size_t lw;
- register int k;
-#endif
-{
-register ptr_t op;
-register ptr_t *opp;
-register struct obj_kind * kind = GC_obj_kinds + k;
-DCL_LOCK_STATE;
-
- GC_INVOKE_FINALIZERS();
- DISABLE_SIGNALS();
- LOCK();
- opp = &(kind -> ok_freelist[lw]);
- if( (op = *opp) == 0 ) {
- if (!GC_is_initialized) {
- GC_init_inner();
- }
- if (kind -> ok_reclaim_list != 0 || GC_alloc_reclaim_list(kind)) {
- op = GC_clear_stack(GC_allocobj(lw, k));
- }
- if (op == 0) {
- UNLOCK();
- ENABLE_SIGNALS();
- return ((*GC_oom_fn)(WORDS_TO_BYTES(lw)));
- }
- }
- *opp = obj_link(op);
- obj_link(op) = 0;
- GC_words_allocd += lw;
- UNLOCK();
- ENABLE_SIGNALS();
- return((ptr_t)op);
-}
-
-#if defined(THREADS) && !defined(SRC_M3)
-/* Return a list of 1 or more objects of the indicated size, linked */
-/* through the first word in the object. This has the advantage that */
-/* it acquires the allocation lock only once, and may greatly reduce */
-/* time wasted contending for the allocation lock. Typical usage would */
-/* be in a thread that requires many items of the same size. It would */
-/* keep its own free list in thread-local storage, and call */
-/* GC_malloc_many or friends to replenish it. (We do not round up */
-/* object sizes, since a call indicates the intention to consume many */
-/* objects of exactly this size.) */
-/* Note that the client should usually clear the link field. */
-ptr_t GC_generic_malloc_many(lb, k)
-register word lb;
-register int k;
-{
-ptr_t op;
-register ptr_t p;
-ptr_t *opp;
-word lw;
-register word my_words_allocd;
-DCL_LOCK_STATE;
-
- if (!SMALL_OBJ(lb)) {
- op = GC_generic_malloc(lb, k);
- if(0 != op) obj_link(op) = 0;
- return(op);
- }
- lw = ALIGNED_WORDS(lb);
- GC_INVOKE_FINALIZERS();
- DISABLE_SIGNALS();
- LOCK();
- opp = &(GC_obj_kinds[k].ok_freelist[lw]);
- if( (op = *opp) == 0 ) {
- if (!GC_is_initialized) {
- GC_init_inner();
- }
- op = GC_clear_stack(GC_allocobj(lw, k));
- if (op == 0) {
- UNLOCK();
- ENABLE_SIGNALS();
- op = (*GC_oom_fn)(lb);
- if(0 != op) obj_link(op) = 0;
- return(op);
- }
- }
- *opp = 0;
- my_words_allocd = 0;
- for (p = op; p != 0; p = obj_link(p)) {
- my_words_allocd += lw;
- if (my_words_allocd >= BODY_SZ) {
- *opp = obj_link(p);
- obj_link(p) = 0;
- break;
- }
- }
- GC_words_allocd += my_words_allocd;
-
-out:
- UNLOCK();
- ENABLE_SIGNALS();
- return(op);
-
-}
-
-void * GC_malloc_many(size_t lb)
-{
- return(GC_generic_malloc_many(lb, NORMAL));
-}
-
-/* Note that the "atomic" version of this would be unsafe, since the */
-/* links would not be seen by the collector. */
-# endif
-
-/* Allocate lb bytes of pointerful, traced, but not collectable data */
-# ifdef __STDC__
- GC_PTR GC_malloc_uncollectable(size_t lb)
-# else
- GC_PTR GC_malloc_uncollectable(lb)
- size_t lb;
-# endif
-{
-register ptr_t op;
-register ptr_t *opp;
-register word lw;
-DCL_LOCK_STATE;
-
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
-# ifdef ADD_BYTE_AT_END
- if (lb != 0) lb--;
- /* We don't need the extra byte, since this won't be */
- /* collected anyway. */
-# endif
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_uobjfreelist[lw]);
- FASTLOCK();
- if( FASTLOCK_SUCCEEDED() && (op = *opp) != 0 ) {
- /* See above comment on signals. */
- *opp = obj_link(op);
- obj_link(op) = 0;
- GC_words_allocd += lw;
- /* Mark bit ws already set on free list. It will be */
- /* cleared only temporarily during a collection, as a */
- /* result of the normal free list mark bit clearing. */
- GC_non_gc_bytes += WORDS_TO_BYTES(lw);
- FASTUNLOCK();
- return((GC_PTR) op);
- }
- FASTUNLOCK();
- op = (ptr_t)GC_generic_malloc((word)lb, UNCOLLECTABLE);
- } else {
- op = (ptr_t)GC_generic_malloc((word)lb, UNCOLLECTABLE);
- }
- if (0 == op) return(0);
- /* We don't need the lock here, since we have an undisguised */
- /* pointer. We do need to hold the lock while we adjust */
- /* mark bits. */
- {
- register struct hblk * h;
-
- h = HBLKPTR(op);
- lw = HDR(h) -> hb_sz;
-
- DISABLE_SIGNALS();
- LOCK();
- GC_set_mark_bit(op);
- GC_non_gc_bytes += WORDS_TO_BYTES(lw);
- UNLOCK();
- ENABLE_SIGNALS();
- return((GC_PTR) op);
- }
-}
-
-# ifdef ATOMIC_UNCOLLECTABLE
-/* Allocate lb bytes of pointerfree, untraced, uncollectable data */
-/* This is normally roughly equivalent to the system malloc. */
-/* But it may be useful if malloc is redefined. */
-# ifdef __STDC__
- GC_PTR GC_malloc_atomic_uncollectable(size_t lb)
-# else
- GC_PTR GC_malloc_atomic_uncollectable(lb)
- size_t lb;
-# endif
-{
-register ptr_t op;
-register ptr_t *opp;
-register word lw;
-DCL_LOCK_STATE;
-
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
-# ifdef ADD_BYTE_AT_END
- if (lb != 0) lb--;
- /* We don't need the extra byte, since this won't be */
- /* collected anyway. */
-# endif
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_auobjfreelist[lw]);
- FASTLOCK();
- if( FASTLOCK_SUCCEEDED() && (op = *opp) != 0 ) {
- /* See above comment on signals. */
- *opp = obj_link(op);
- obj_link(op) = 0;
- GC_words_allocd += lw;
- /* Mark bit was already set while object was on free list. */
- GC_non_gc_bytes += WORDS_TO_BYTES(lw);
- FASTUNLOCK();
- return((GC_PTR) op);
- }
- FASTUNLOCK();
- op = (ptr_t)GC_generic_malloc((word)lb, AUNCOLLECTABLE);
- } else {
- op = (ptr_t)GC_generic_malloc((word)lb, AUNCOLLECTABLE);
- }
- if (0 == op) return(0);
- /* We don't need the lock here, since we have an undisguised */
- /* pointer. We do need to hold the lock while we adjust */
- /* mark bits. */
- {
- register struct hblk * h;
-
- h = HBLKPTR(op);
- lw = HDR(h) -> hb_sz;
-
- DISABLE_SIGNALS();
- LOCK();
- GC_set_mark_bit(op);
- GC_non_gc_bytes += WORDS_TO_BYTES(lw);
- UNLOCK();
- ENABLE_SIGNALS();
- return((GC_PTR) op);
- }
-}
-
-#endif /* ATOMIC_UNCOLLECTABLE */
diff --git a/boehm-gc/mark.c b/boehm-gc/mark.c
deleted file mode 100644
index 632e792c56f..00000000000
--- a/boehm-gc/mark.c
+++ /dev/null
@@ -1,1095 +0,0 @@
-
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-
-# include <stdio.h>
-# include "gc_priv.h"
-# include "gc_mark.h"
-
-/* We put this here to minimize the risk of inlining. */
-/*VARARGS*/
-void GC_noop() {}
-
-/* Single argument version, robust against whole program analysis. */
-void GC_noop1(x)
-word x;
-{
- static VOLATILE word sink;
-
- sink = x;
-}
-
-mark_proc GC_mark_procs[MAX_MARK_PROCS] = {0};
-word GC_n_mark_procs = 0;
-
-/* Initialize GC_obj_kinds properly and standard free lists properly. */
-/* This must be done statically since they may be accessed before */
-/* GC_init is called. */
-/* It's done here, since we need to deal with mark descriptors. */
-struct obj_kind GC_obj_kinds[MAXOBJKINDS] = {
-/* PTRFREE */ { &GC_aobjfreelist[0], 0 /* filled in dynamically */,
- 0 | DS_LENGTH, FALSE, FALSE },
-/* NORMAL */ { &GC_objfreelist[0], 0,
-# if defined(ADD_BYTE_AT_END) && ALIGNMENT > DS_TAGS
- (word)(-ALIGNMENT) | DS_LENGTH,
-# else
- 0 | DS_LENGTH,
-# endif
- TRUE /* add length to descr */, TRUE },
-/* UNCOLLECTABLE */
- { &GC_uobjfreelist[0], 0,
- 0 | DS_LENGTH, TRUE /* add length to descr */, TRUE },
-# ifdef ATOMIC_UNCOLLECTABLE
- /* AUNCOLLECTABLE */
- { &GC_auobjfreelist[0], 0,
- 0 | DS_LENGTH, FALSE /* add length to descr */, FALSE },
-# endif
-# ifdef STUBBORN_ALLOC
-/*STUBBORN*/ { &GC_sobjfreelist[0], 0,
- 0 | DS_LENGTH, TRUE /* add length to descr */, TRUE },
-# endif
-};
-
-# ifdef ATOMIC_UNCOLLECTABLE
-# ifdef STUBBORN_ALLOC
- int GC_n_kinds = 5;
-# else
- int GC_n_kinds = 4;
-# endif
-# else
-# ifdef STUBBORN_ALLOC
- int GC_n_kinds = 4;
-# else
- int GC_n_kinds = 3;
-# endif
-# endif
-
-
-# ifndef INITIAL_MARK_STACK_SIZE
-# define INITIAL_MARK_STACK_SIZE (1*HBLKSIZE)
- /* INITIAL_MARK_STACK_SIZE * sizeof(mse) should be a */
- /* multiple of HBLKSIZE. */
-# endif
-
-/*
- * Limits of stack for GC_mark routine.
- * All ranges between GC_mark_stack(incl.) and GC_mark_stack_top(incl.) still
- * need to be marked from.
- */
-
-word GC_n_rescuing_pages; /* Number of dirty pages we marked from */
- /* excludes ptrfree pages, etc. */
-
-mse * GC_mark_stack;
-
-word GC_mark_stack_size = 0;
-
-mse * GC_mark_stack_top;
-
-static struct hblk * scan_ptr;
-
-mark_state_t GC_mark_state = MS_NONE;
-
-GC_bool GC_mark_stack_too_small = FALSE;
-
-GC_bool GC_objects_are_marked = FALSE; /* Are there collectable marked */
- /* objects in the heap? */
-
-GC_bool GC_collection_in_progress()
-{
- return(GC_mark_state != MS_NONE);
-}
-
-/* clear all mark bits in the header */
-void GC_clear_hdr_marks(hhdr)
-register hdr * hhdr;
-{
- BZERO(hhdr -> hb_marks, MARK_BITS_SZ*sizeof(word));
-}
-
-/* Set all mark bits in the header. Used for uncollectable blocks. */
-void GC_set_hdr_marks(hhdr)
-register hdr * hhdr;
-{
- register int i;
-
- for (i = 0; i < MARK_BITS_SZ; ++i) {
- hhdr -> hb_marks[i] = ONES;
- }
-}
-
-/*
- * Clear all mark bits associated with block h.
- */
-/*ARGSUSED*/
-static void clear_marks_for_block(h, dummy)
-struct hblk *h;
-word dummy;
-{
- register hdr * hhdr = HDR(h);
-
- if (IS_UNCOLLECTABLE(hhdr -> hb_obj_kind)) return;
- /* Mark bit for these is cleared only once the object is */
- /* explicitly deallocated. This either frees the block, or */
- /* the bit is cleared once the object is on the free list. */
- GC_clear_hdr_marks(hhdr);
-}
-
-/* Slow but general routines for setting/clearing/asking about mark bits */
-void GC_set_mark_bit(p)
-ptr_t p;
-{
- register struct hblk *h = HBLKPTR(p);
- register hdr * hhdr = HDR(h);
- register int word_no = (word *)p - (word *)h;
-
- set_mark_bit_from_hdr(hhdr, word_no);
-}
-
-void GC_clear_mark_bit(p)
-ptr_t p;
-{
- register struct hblk *h = HBLKPTR(p);
- register hdr * hhdr = HDR(h);
- register int word_no = (word *)p - (word *)h;
-
- clear_mark_bit_from_hdr(hhdr, word_no);
-}
-
-GC_bool GC_is_marked(p)
-ptr_t p;
-{
- register struct hblk *h = HBLKPTR(p);
- register hdr * hhdr = HDR(h);
- register int word_no = (word *)p - (word *)h;
-
- return(mark_bit_from_hdr(hhdr, word_no));
-}
-
-
-/*
- * Clear mark bits in all allocated heap blocks. This invalidates
- * the marker invariant, and sets GC_mark_state to reflect this.
- * (This implicitly starts marking to reestablish the invariant.)
- */
-void GC_clear_marks()
-{
- GC_apply_to_all_blocks(clear_marks_for_block, (word)0);
- GC_objects_are_marked = FALSE;
- GC_mark_state = MS_INVALID;
- scan_ptr = 0;
-# ifdef GATHERSTATS
- /* Counters reflect currently marked objects: reset here */
- GC_composite_in_use = 0;
- GC_atomic_in_use = 0;
-# endif
-
-}
-
-/* Initiate a garbage collection. Initiates a full collection if the */
-/* mark state is invalid. */
-/*ARGSUSED*/
-void GC_initiate_gc()
-{
- if (GC_dirty_maintained) GC_read_dirty();
-# ifdef STUBBORN_ALLOC
- GC_read_changed();
-# endif
-# ifdef CHECKSUMS
- {
- extern void GC_check_dirty();
-
- if (GC_dirty_maintained) GC_check_dirty();
- }
-# endif
-# ifdef GATHERSTATS
- GC_n_rescuing_pages = 0;
-# endif
- if (GC_mark_state == MS_NONE) {
- GC_mark_state = MS_PUSH_RESCUERS;
- } else if (GC_mark_state != MS_INVALID) {
- ABORT("unexpected state");
- } /* else this is really a full collection, and mark */
- /* bits are invalid. */
- scan_ptr = 0;
-}
-
-
-static void alloc_mark_stack();
-
-/* Perform a small amount of marking. */
-/* We try to touch roughly a page of memory. */
-/* Return TRUE if we just finished a mark phase. */
-GC_bool GC_mark_some()
-{
- switch(GC_mark_state) {
- case MS_NONE:
- return(FALSE);
-
- case MS_PUSH_RESCUERS:
- if (GC_mark_stack_top
- >= GC_mark_stack + INITIAL_MARK_STACK_SIZE/4) {
- GC_mark_from_mark_stack();
- return(FALSE);
- } else {
- scan_ptr = GC_push_next_marked_dirty(scan_ptr);
- if (scan_ptr == 0) {
-# ifdef PRINTSTATS
- GC_printf1("Marked from %lu dirty pages\n",
- (unsigned long)GC_n_rescuing_pages);
-# endif
- GC_push_roots(FALSE);
- GC_objects_are_marked = TRUE;
- if (GC_mark_state != MS_INVALID) {
- GC_mark_state = MS_ROOTS_PUSHED;
- }
- }
- }
- return(FALSE);
-
- case MS_PUSH_UNCOLLECTABLE:
- if (GC_mark_stack_top
- >= GC_mark_stack + INITIAL_MARK_STACK_SIZE/4) {
- GC_mark_from_mark_stack();
- return(FALSE);
- } else {
- scan_ptr = GC_push_next_marked_uncollectable(scan_ptr);
- if (scan_ptr == 0) {
- GC_push_roots(TRUE);
- GC_objects_are_marked = TRUE;
- if (GC_mark_state != MS_INVALID) {
- GC_mark_state = MS_ROOTS_PUSHED;
- }
- }
- }
- return(FALSE);
-
- case MS_ROOTS_PUSHED:
- if (GC_mark_stack_top >= GC_mark_stack) {
- GC_mark_from_mark_stack();
- return(FALSE);
- } else {
- GC_mark_state = MS_NONE;
- if (GC_mark_stack_too_small) {
- alloc_mark_stack(2*GC_mark_stack_size);
- }
- return(TRUE);
- }
-
- case MS_INVALID:
- case MS_PARTIALLY_INVALID:
- if (!GC_objects_are_marked) {
- GC_mark_state = MS_PUSH_UNCOLLECTABLE;
- return(FALSE);
- }
- if (GC_mark_stack_top >= GC_mark_stack) {
- GC_mark_from_mark_stack();
- return(FALSE);
- }
- if (scan_ptr == 0
- && (GC_mark_state == MS_INVALID || GC_mark_stack_too_small)) {
- alloc_mark_stack(2*GC_mark_stack_size);
- GC_mark_state = MS_PARTIALLY_INVALID;
- }
- scan_ptr = GC_push_next_marked(scan_ptr);
- if (scan_ptr == 0 && GC_mark_state == MS_PARTIALLY_INVALID) {
- GC_push_roots(TRUE);
- GC_objects_are_marked = TRUE;
- if (GC_mark_state != MS_INVALID) {
- GC_mark_state = MS_ROOTS_PUSHED;
- }
- }
- return(FALSE);
- default:
- ABORT("GC_mark_some: bad state");
- return(FALSE);
- }
-}
-
-
-GC_bool GC_mark_stack_empty()
-{
- return(GC_mark_stack_top < GC_mark_stack);
-}
-
-#ifdef PROF_MARKER
- word GC_prof_array[10];
-# define PROF(n) GC_prof_array[n]++
-#else
-# define PROF(n)
-#endif
-
-/* Given a pointer to someplace other than a small object page or the */
-/* first page of a large object, return a pointer either to the */
-/* start of the large object or NIL. */
-/* In the latter case black list the address current. */
-/* Returns NIL without black listing if current points to a block */
-/* with IGNORE_OFF_PAGE set. */
-/*ARGSUSED*/
-# ifdef PRINT_BLACK_LIST
- word GC_find_start(current, hhdr, source)
- word source;
-# else
- word GC_find_start(current, hhdr)
-# define source 0
-# endif
-register word current;
-register hdr * hhdr;
-{
-# ifdef ALL_INTERIOR_POINTERS
- if (hhdr != 0) {
- register word orig = current;
-
- current = (word)HBLKPTR(current) + HDR_BYTES;
- do {
- current = current - HBLKSIZE*(word)hhdr;
- hhdr = HDR(current);
- } while(IS_FORWARDING_ADDR_OR_NIL(hhdr));
- /* current points to the start of the large object */
- if (hhdr -> hb_flags & IGNORE_OFF_PAGE) return(0);
- if ((word *)orig - (word *)current
- >= (ptrdiff_t)(hhdr->hb_sz)) {
- /* Pointer past the end of the block */
- GC_ADD_TO_BLACK_LIST_NORMAL(orig, source);
- return(0);
- }
- return(current);
- } else {
- GC_ADD_TO_BLACK_LIST_NORMAL(current, source);
- return(0);
- }
-# else
- GC_ADD_TO_BLACK_LIST_NORMAL(current, source);
- return(0);
-# endif
-# undef source
-}
-
-void GC_invalidate_mark_state()
-{
- GC_mark_state = MS_INVALID;
- GC_mark_stack_top = GC_mark_stack-1;
-}
-
-mse * GC_signal_mark_stack_overflow(msp)
-mse * msp;
-{
- GC_mark_state = MS_INVALID;
-# ifdef PRINTSTATS
- GC_printf1("Mark stack overflow; current size = %lu entries\n",
- GC_mark_stack_size);
-# endif
- return(msp-INITIAL_MARK_STACK_SIZE/8);
-}
-
-
-/*
- * Mark objects pointed to by the regions described by
- * mark stack entries between GC_mark_stack and GC_mark_stack_top,
- * inclusive. Assumes the upper limit of a mark stack entry
- * is never 0. A mark stack entry never has size 0.
- * We try to traverse on the order of a hblk of memory before we return.
- * Caller is responsible for calling this until the mark stack is empty.
- */
-void GC_mark_from_mark_stack()
-{
- mse * GC_mark_stack_reg = GC_mark_stack;
- mse * GC_mark_stack_top_reg = GC_mark_stack_top;
- mse * mark_stack_limit = &(GC_mark_stack[GC_mark_stack_size]);
- int credit = HBLKSIZE; /* Remaining credit for marking work */
- register word * current_p; /* Pointer to current candidate ptr. */
- register word current; /* Candidate pointer. */
- register word * limit; /* (Incl) limit of current candidate */
- /* range */
- register word descr;
- register ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
- register ptr_t least_ha = GC_least_plausible_heap_addr;
-# define SPLIT_RANGE_WORDS 128 /* Must be power of 2. */
-
- GC_objects_are_marked = TRUE;
-# ifdef OS2 /* Use untweaked version to circumvent compiler problem */
- while (GC_mark_stack_top_reg >= GC_mark_stack_reg && credit >= 0) {
-# else
- while ((((ptr_t)GC_mark_stack_top_reg - (ptr_t)GC_mark_stack_reg) | credit)
- >= 0) {
-# endif
- current_p = GC_mark_stack_top_reg -> mse_start;
- retry:
- descr = GC_mark_stack_top_reg -> mse_descr;
- if (descr & ((~(WORDS_TO_BYTES(SPLIT_RANGE_WORDS) - 1)) | DS_TAGS)) {
- word tag = descr & DS_TAGS;
-
- switch(tag) {
- case DS_LENGTH:
- /* Large length. */
- /* Process part of the range to avoid pushing too much on the */
- /* stack. */
- GC_mark_stack_top_reg -> mse_start =
- limit = current_p + SPLIT_RANGE_WORDS-1;
- GC_mark_stack_top_reg -> mse_descr -=
- WORDS_TO_BYTES(SPLIT_RANGE_WORDS-1);
- /* Make sure that pointers overlapping the two ranges are */
- /* considered. */
- limit = (word *)((char *)limit + sizeof(word) - ALIGNMENT);
- break;
- case DS_BITMAP:
- GC_mark_stack_top_reg--;
- descr &= ~DS_TAGS;
- credit -= WORDS_TO_BYTES(WORDSZ/2); /* guess */
- while (descr != 0) {
- if ((signed_word)descr < 0) {
- current = *current_p;
- if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) {
- PUSH_CONTENTS(current, GC_mark_stack_top_reg, mark_stack_limit,
- current_p, exit1);
- }
- }
- descr <<= 1;
- ++ current_p;
- }
- continue;
- case DS_PROC:
- GC_mark_stack_top_reg--;
- credit -= PROC_BYTES;
-#ifdef GC_DEBUG
- current_p = GC_debug_object_start(current_p);
-#endif
- GC_mark_stack_top_reg =
- (*PROC(descr))
- (current_p, GC_mark_stack_top_reg,
- mark_stack_limit, ENV(descr));
- continue;
- case DS_PER_OBJECT:
- GC_mark_stack_top_reg -> mse_descr =
- *(word *)((ptr_t)current_p + descr - tag);
- goto retry;
- }
- } else {
- GC_mark_stack_top_reg--;
- limit = (word *)(((ptr_t)current_p) + (word)descr);
- }
- /* The simple case in which we're scanning a range. */
- credit -= (ptr_t)limit - (ptr_t)current_p;
- limit -= 1;
- while (current_p <= limit) {
- current = *current_p;
- if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) {
- PUSH_CONTENTS(current, GC_mark_stack_top_reg,
- mark_stack_limit, current_p, exit2);
- }
- current_p = (word *)((char *)current_p + ALIGNMENT);
- }
- }
- GC_mark_stack_top = GC_mark_stack_top_reg;
-}
-
-/* Allocate or reallocate space for mark stack of size s words */
-/* May silently fail. */
-static void alloc_mark_stack(n)
-word n;
-{
- mse * new_stack = (mse *)GC_scratch_alloc(n * sizeof(struct ms_entry));
-
- GC_mark_stack_too_small = FALSE;
- if (GC_mark_stack_size != 0) {
- if (new_stack != 0) {
- word displ = (word)GC_mark_stack & (GC_page_size - 1);
- word size = GC_mark_stack_size * sizeof(struct ms_entry);
-
- /* Recycle old space */
- if (0 != displ) displ = GC_page_size - displ;
- size = (size - displ) & ~(GC_page_size - 1);
- GC_add_to_heap((struct hblk *)
- ((word)GC_mark_stack + displ), size);
- GC_mark_stack = new_stack;
- GC_mark_stack_size = n;
-# ifdef PRINTSTATS
- GC_printf1("Grew mark stack to %lu frames\n",
- (unsigned long) GC_mark_stack_size);
-# endif
- } else {
-# ifdef PRINTSTATS
- GC_printf1("Failed to grow mark stack to %lu frames\n",
- (unsigned long) n);
-# endif
- }
- } else {
- if (new_stack == 0) {
- GC_err_printf0("No space for mark stack\n");
- EXIT();
- }
- GC_mark_stack = new_stack;
- GC_mark_stack_size = n;
- }
- GC_mark_stack_top = GC_mark_stack-1;
-}
-
-void GC_mark_init()
-{
- alloc_mark_stack(INITIAL_MARK_STACK_SIZE);
-}
-
-/*
- * Push all locations between b and t onto the mark stack.
- * b is the first location to be checked. t is one past the last
- * location to be checked.
- * Should only be used if there is no possibility of mark stack
- * overflow.
- */
-void GC_push_all(bottom, top)
-ptr_t bottom;
-ptr_t top;
-{
- register word length;
-
- bottom = (ptr_t)(((word) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1));
- top = (ptr_t)(((word) top) & ~(ALIGNMENT-1));
- if (top == 0 || bottom == top) return;
- GC_mark_stack_top++;
- if (GC_mark_stack_top >= GC_mark_stack + GC_mark_stack_size) {
- ABORT("unexpected mark stack overflow");
- }
- length = top - bottom;
-# if DS_TAGS > ALIGNMENT - 1
- length += DS_TAGS;
- length &= ~DS_TAGS;
-# endif
- GC_mark_stack_top -> mse_start = (word *)bottom;
- GC_mark_stack_top -> mse_descr = length;
-}
-
-/*
- * Analogous to the above, but push only those pages that may have been
- * dirtied. A block h is assumed dirty if dirty_fn(h) != 0.
- * We use push_fn to actually push the block.
- * Will not overflow mark stack if push_fn pushes a small fixed number
- * of entries. (This is invoked only if push_fn pushes a single entry,
- * or if it marks each object before pushing it, thus ensuring progress
- * in the event of a stack overflow.)
- */
-void GC_push_dirty(bottom, top, dirty_fn, push_fn)
-ptr_t bottom;
-ptr_t top;
-int (*dirty_fn)(/* struct hblk * h */);
-void (*push_fn)(/* ptr_t bottom, ptr_t top */);
-{
- register struct hblk * h;
-
- bottom = (ptr_t)(((long) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1));
- top = (ptr_t)(((long) top) & ~(ALIGNMENT-1));
-
- if (top == 0 || bottom == top) return;
- h = HBLKPTR(bottom + HBLKSIZE);
- if (top <= (ptr_t) h) {
- if ((*dirty_fn)(h-1)) {
- (*push_fn)(bottom, top);
- }
- return;
- }
- if ((*dirty_fn)(h-1)) {
- (*push_fn)(bottom, (ptr_t)h);
- }
- while ((ptr_t)(h+1) <= top) {
- if ((*dirty_fn)(h)) {
- if ((word)(GC_mark_stack_top - GC_mark_stack)
- > 3 * GC_mark_stack_size / 4) {
- /* Danger of mark stack overflow */
- (*push_fn)((ptr_t)h, top);
- return;
- } else {
- (*push_fn)((ptr_t)h, (ptr_t)(h+1));
- }
- }
- h++;
- }
- if ((ptr_t)h != top) {
- if ((*dirty_fn)(h)) {
- (*push_fn)((ptr_t)h, top);
- }
- }
- if (GC_mark_stack_top >= GC_mark_stack + GC_mark_stack_size) {
- ABORT("unexpected mark stack overflow");
- }
-}
-
-# ifndef SMALL_CONFIG
-void GC_push_conditional(bottom, top, all)
-ptr_t bottom;
-ptr_t top;
-int all;
-{
- if (all) {
- if (GC_dirty_maintained) {
-# ifdef PROC_VDB
- /* Pages that were never dirtied cannot contain pointers */
- GC_push_dirty(bottom, top, GC_page_was_ever_dirty, GC_push_all);
-# else
- GC_push_all(bottom, top);
-# endif
- } else {
- GC_push_all(bottom, top);
- }
- } else {
- GC_push_dirty(bottom, top, GC_page_was_dirty, GC_push_all);
- }
-}
-#endif
-
-# ifdef MSWIN32
- void __cdecl GC_push_one(p)
-# else
- void GC_push_one(p)
-# endif
-word p;
-{
- GC_PUSH_ONE_STACK(p);
-}
-
-# ifdef __STDC__
-# define BASE(p) (word)GC_base((void *)(p))
-# else
-# define BASE(p) (word)GC_base((char *)(p))
-# endif
-
-/* As above, but argument passed preliminary test. */
-# ifdef PRINT_BLACK_LIST
- void GC_push_one_checked(p, interior_ptrs, source)
- ptr_t source;
-# else
- void GC_push_one_checked(p, interior_ptrs)
-# define source 0
-# endif
-register word p;
-register GC_bool interior_ptrs;
-{
- register word r;
- register hdr * hhdr;
- register int displ;
-
- GET_HDR(p, hhdr);
- if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
- if (hhdr != 0 && interior_ptrs) {
- r = BASE(p);
- hhdr = HDR(r);
- displ = BYTES_TO_WORDS(HBLKDISPL(r));
- } else {
- hhdr = 0;
- }
- } else {
- register map_entry_type map_entry;
-
- displ = HBLKDISPL(p);
- map_entry = MAP_ENTRY((hhdr -> hb_map), displ);
- if (map_entry == OBJ_INVALID) {
- if (interior_ptrs) {
- r = BASE(p);
- displ = BYTES_TO_WORDS(HBLKDISPL(r));
- if (r == 0) hhdr = 0;
- } else {
- hhdr = 0;
- }
- } else {
- displ = BYTES_TO_WORDS(displ);
- displ -= map_entry;
- r = (word)((word *)(HBLKPTR(p)) + displ);
- }
- }
- /* If hhdr != 0 then r == GC_base(p), only we did it faster. */
- /* displ is the word index within the block. */
- if (hhdr == 0) {
- if (interior_ptrs) {
-# ifdef PRINT_BLACK_LIST
- GC_add_to_black_list_stack(p, source);
-# else
- GC_add_to_black_list_stack(p);
-# endif
- } else {
- GC_ADD_TO_BLACK_LIST_NORMAL(p, source);
-# undef source /* In case we had to define it. */
- }
- } else {
- if (!mark_bit_from_hdr(hhdr, displ)) {
- set_mark_bit_from_hdr(hhdr, displ);
- PUSH_OBJ((word *)r, hhdr, GC_mark_stack_top,
- &(GC_mark_stack[GC_mark_stack_size]));
- }
- }
-}
-
-# ifdef TRACE_BUF
-
-# define TRACE_ENTRIES 1000
-
-struct trace_entry {
- char * kind;
- word gc_no;
- word words_allocd;
- word arg1;
- word arg2;
-} GC_trace_buf[TRACE_ENTRIES];
-
-int GC_trace_buf_ptr = 0;
-
-void GC_add_trace_entry(char *kind, word arg1, word arg2)
-{
- GC_trace_buf[GC_trace_buf_ptr].kind = kind;
- GC_trace_buf[GC_trace_buf_ptr].gc_no = GC_gc_no;
- GC_trace_buf[GC_trace_buf_ptr].words_allocd = GC_words_allocd;
- GC_trace_buf[GC_trace_buf_ptr].arg1 = arg1 ^ 0x80000000;
- GC_trace_buf[GC_trace_buf_ptr].arg2 = arg2 ^ 0x80000000;
- GC_trace_buf_ptr++;
- if (GC_trace_buf_ptr >= TRACE_ENTRIES) GC_trace_buf_ptr = 0;
-}
-
-void GC_print_trace(word gc_no, GC_bool lock)
-{
- int i;
- struct trace_entry *p;
-
- if (lock) LOCK();
- for (i = GC_trace_buf_ptr-1; i != GC_trace_buf_ptr; i--) {
- if (i < 0) i = TRACE_ENTRIES-1;
- p = GC_trace_buf + i;
- if (p -> gc_no < gc_no || p -> kind == 0) return;
- printf("Trace:%s (gc:%d,words:%d) 0x%X, 0x%X\n",
- p -> kind, p -> gc_no, p -> words_allocd,
- (p -> arg1) ^ 0x80000000, (p -> arg2) ^ 0x80000000);
- }
- printf("Trace incomplete\n");
- if (lock) UNLOCK();
-}
-
-# endif /* TRACE_BUF */
-
-/*
- * A version of GC_push_all that treats all interior pointers as valid
- */
-void GC_push_all_stack(bottom, top)
-ptr_t bottom;
-ptr_t top;
-{
-# ifdef ALL_INTERIOR_POINTERS
- GC_push_all(bottom, top);
-# ifdef TRACE_BUF
- GC_add_trace_entry("GC_push_all_stack", bottom, top);
-# endif
-# else
- word * b = (word *)(((long) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1));
- word * t = (word *)(((long) top) & ~(ALIGNMENT-1));
- register word *p;
- register word q;
- register word *lim;
- register ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
- register ptr_t least_ha = GC_least_plausible_heap_addr;
-# define GC_greatest_plausible_heap_addr greatest_ha
-# define GC_least_plausible_heap_addr least_ha
-
- if (top == 0) return;
- /* check all pointers in range and put in push if they appear */
- /* to be valid. */
- lim = t - 1 /* longword */;
- for (p = b; p <= lim; p = (word *)(((char *)p) + ALIGNMENT)) {
- q = *p;
- GC_PUSH_ONE_STACK(q);
- }
-# undef GC_greatest_plausible_heap_addr
-# undef GC_least_plausible_heap_addr
-# endif
-}
-
-#ifndef SMALL_CONFIG
-/* Push all objects reachable from marked objects in the given block */
-/* of size 1 objects. */
-void GC_push_marked1(h, hhdr)
-struct hblk *h;
-register hdr * hhdr;
-{
- word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p;
- word *plim;
- register int i;
- register word q;
- register word mark_word;
- register ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
- register ptr_t least_ha = GC_least_plausible_heap_addr;
-# define GC_greatest_plausible_heap_addr greatest_ha
-# define GC_least_plausible_heap_addr least_ha
-
- p = (word *)(h->hb_body);
- plim = (word *)(((word)h) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- i = 0;
- while(mark_word != 0) {
- if (mark_word & 1) {
- q = p[i];
- GC_PUSH_ONE_HEAP(q);
- }
- i++;
- mark_word >>= 1;
- }
- p += WORDSZ;
- }
-# undef GC_greatest_plausible_heap_addr
-# undef GC_least_plausible_heap_addr
-}
-
-
-#ifndef UNALIGNED
-
-/* Push all objects reachable from marked objects in the given block */
-/* of size 2 objects. */
-void GC_push_marked2(h, hhdr)
-struct hblk *h;
-register hdr * hhdr;
-{
- word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p;
- word *plim;
- register int i;
- register word q;
- register word mark_word;
- register ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
- register ptr_t least_ha = GC_least_plausible_heap_addr;
-# define GC_greatest_plausible_heap_addr greatest_ha
-# define GC_least_plausible_heap_addr least_ha
-
- p = (word *)(h->hb_body);
- plim = (word *)(((word)h) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- i = 0;
- while(mark_word != 0) {
- if (mark_word & 1) {
- q = p[i];
- GC_PUSH_ONE_HEAP(q);
- q = p[i+1];
- GC_PUSH_ONE_HEAP(q);
- }
- i += 2;
- mark_word >>= 2;
- }
- p += WORDSZ;
- }
-# undef GC_greatest_plausible_heap_addr
-# undef GC_least_plausible_heap_addr
-}
-
-/* Push all objects reachable from marked objects in the given block */
-/* of size 4 objects. */
-/* There is a risk of mark stack overflow here. But we handle that. */
-/* And only unmarked objects get pushed, so it's not very likely. */
-void GC_push_marked4(h, hhdr)
-struct hblk *h;
-register hdr * hhdr;
-{
- word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p;
- word *plim;
- register int i;
- register word q;
- register word mark_word;
- register ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
- register ptr_t least_ha = GC_least_plausible_heap_addr;
-# define GC_greatest_plausible_heap_addr greatest_ha
-# define GC_least_plausible_heap_addr least_ha
-
- p = (word *)(h->hb_body);
- plim = (word *)(((word)h) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- i = 0;
- while(mark_word != 0) {
- if (mark_word & 1) {
- q = p[i];
- GC_PUSH_ONE_HEAP(q);
- q = p[i+1];
- GC_PUSH_ONE_HEAP(q);
- q = p[i+2];
- GC_PUSH_ONE_HEAP(q);
- q = p[i+3];
- GC_PUSH_ONE_HEAP(q);
- }
- i += 4;
- mark_word >>= 4;
- }
- p += WORDSZ;
- }
-# undef GC_greatest_plausible_heap_addr
-# undef GC_least_plausible_heap_addr
-}
-
-#endif /* UNALIGNED */
-
-#endif /* SMALL_CONFIG */
-
-/* Push all objects reachable from marked objects in the given block */
-void GC_push_marked(h, hhdr)
-struct hblk *h;
-register hdr * hhdr;
-{
- register int sz = hhdr -> hb_sz;
- register word * p;
- register int word_no;
- register word * lim;
- register mse * GC_mark_stack_top_reg;
- register mse * mark_stack_limit = &(GC_mark_stack[GC_mark_stack_size]);
-
- /* Some quick shortcuts: */
- {
- struct obj_kind *ok = &(GC_obj_kinds[hhdr -> hb_obj_kind]);
- if ((0 | DS_LENGTH) == ok -> ok_descriptor
- && FALSE == ok -> ok_relocate_descr)
- return;
- }
- if (GC_block_empty(hhdr)/* nothing marked */) return;
-# ifdef GATHERSTATS
- GC_n_rescuing_pages++;
-# endif
- GC_objects_are_marked = TRUE;
- if (sz > MAXOBJSZ) {
- lim = (word *)(h + 1);
- } else {
- lim = (word *)(h + 1) - sz;
- }
-
- switch(sz) {
-# if !defined(SMALL_CONFIG)
- case 1:
- GC_push_marked1(h, hhdr);
- break;
-# endif
-# if !defined(SMALL_CONFIG) && !defined(UNALIGNED)
- case 2:
- GC_push_marked2(h, hhdr);
- break;
- case 4:
- GC_push_marked4(h, hhdr);
- break;
-# endif
- default:
- GC_mark_stack_top_reg = GC_mark_stack_top;
- for (p = (word *)h + HDR_WORDS, word_no = HDR_WORDS; p <= lim;
- p += sz, word_no += sz) {
- /* This ignores user specified mark procs. This currently */
- /* doesn't matter, since marking from the whole object */
- /* is always sufficient, and we will eventually use the user */
- /* mark proc to avoid any bogus pointers. */
- if (mark_bit_from_hdr(hhdr, word_no)) {
- /* Mark from fields inside the object */
- PUSH_OBJ((word *)p, hhdr, GC_mark_stack_top_reg, mark_stack_limit);
-# ifdef GATHERSTATS
- /* Subtract this object from total, since it was */
- /* added in twice. */
- GC_composite_in_use -= sz;
-# endif
- }
- }
- GC_mark_stack_top = GC_mark_stack_top_reg;
- }
-}
-
-#ifndef SMALL_CONFIG
-/* Test whether any page in the given block is dirty */
-GC_bool GC_block_was_dirty(h, hhdr)
-struct hblk *h;
-register hdr * hhdr;
-{
- register int sz = hhdr -> hb_sz;
-
- if (sz < MAXOBJSZ) {
- return(GC_page_was_dirty(h));
- } else {
- register ptr_t p = (ptr_t)h;
- sz += HDR_WORDS;
- sz = WORDS_TO_BYTES(sz);
- while (p < (ptr_t)h + sz) {
- if (GC_page_was_dirty((struct hblk *)p)) return(TRUE);
- p += HBLKSIZE;
- }
- return(FALSE);
- }
-}
-#endif /* SMALL_CONFIG */
-
-/* Similar to GC_push_next_marked, but return address of next block */
-struct hblk * GC_push_next_marked(h)
-struct hblk *h;
-{
- register hdr * hhdr;
-
- h = GC_next_block(h);
- if (h == 0) return(0);
- hhdr = HDR(h);
- GC_push_marked(h, hhdr);
- return(h + OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz));
-}
-
-#ifndef SMALL_CONFIG
-/* Identical to above, but mark only from dirty pages */
-struct hblk * GC_push_next_marked_dirty(h)
-struct hblk *h;
-{
- register hdr * hhdr = HDR(h);
-
- if (!GC_dirty_maintained) { ABORT("dirty bits not set up"); }
- for (;;) {
- h = GC_next_block(h);
- if (h == 0) return(0);
- hhdr = HDR(h);
-# ifdef STUBBORN_ALLOC
- if (hhdr -> hb_obj_kind == STUBBORN) {
- if (GC_page_was_changed(h) && GC_block_was_dirty(h, hhdr)) {
- break;
- }
- } else {
- if (GC_block_was_dirty(h, hhdr)) break;
- }
-# else
- if (GC_block_was_dirty(h, hhdr)) break;
-# endif
- h += OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz);
- }
- GC_push_marked(h, hhdr);
- return(h + OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz));
-}
-#endif
-
-/* Similar to above, but for uncollectable pages. Needed since we */
-/* do not clear marks for such pages, even for full collections. */
-struct hblk * GC_push_next_marked_uncollectable(h)
-struct hblk *h;
-{
- register hdr * hhdr = HDR(h);
-
- for (;;) {
- h = GC_next_block(h);
- if (h == 0) return(0);
- hhdr = HDR(h);
- if (hhdr -> hb_obj_kind == UNCOLLECTABLE) break;
- h += OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz);
- }
- GC_push_marked(h, hhdr);
- return(h + OBJ_SZ_TO_BLOCKS(hhdr -> hb_sz));
-}
-
-
diff --git a/boehm-gc/mark_rts.c b/boehm-gc/mark_rts.c
deleted file mode 100644
index efe6b64058f..00000000000
--- a/boehm-gc/mark_rts.c
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, October 9, 1995 1:06 pm PDT */
-# include <stdio.h>
-# include "gc_priv.h"
-
-/* MAX_ROOT_SETS is the maximum number of ranges that can be */
-/* registered as static roots. */
-# ifdef LARGE_CONFIG
-# define MAX_ROOT_SETS 4096
-# else
-# ifdef PCR
-# define MAX_ROOT_SETS 1024
-# else
-# ifdef MSWIN32
-# define MAX_ROOT_SETS 512
- /* Under NT, we add only written pages, which can result */
- /* in many small root sets. */
-# else
-# define MAX_ROOT_SETS 64
-# endif
-# endif
-# endif
-
-# define MAX_EXCLUSIONS (MAX_ROOT_SETS/4)
-/* Maximum number of segments that can be excluded from root sets. */
-
-/* Data structure for list of root sets. */
-/* We keep a hash table, so that we can filter out duplicate additions. */
-/* Under Win32, we need to do a better job of filtering overlaps, so */
-/* we resort to sequential search, and pay the price. */
-struct roots {
- ptr_t r_start;
- ptr_t r_end;
-# ifndef MSWIN32
- struct roots * r_next;
-# endif
- GC_bool r_tmp;
- /* Delete before registering new dynamic libraries */
-};
-
-static struct roots static_roots[MAX_ROOT_SETS];
-
-static int n_root_sets = 0;
-
- /* static_roots[0..n_root_sets) contains the valid root sets. */
-
-# if !defined(NO_DEBUGGING)
-/* For debugging: */
-void GC_print_static_roots()
-{
- register int i;
- size_t total = 0;
-
- for (i = 0; i < n_root_sets; i++) {
- GC_printf2("From 0x%lx to 0x%lx ",
- (unsigned long) static_roots[i].r_start,
- (unsigned long) static_roots[i].r_end);
- if (static_roots[i].r_tmp) {
- GC_printf0(" (temporary)\n");
- } else {
- GC_printf0("\n");
- }
- total += static_roots[i].r_end - static_roots[i].r_start;
- }
- GC_printf1("Total size: %ld\n", (unsigned long) total);
- if (GC_root_size != total) {
- GC_printf1("GC_root_size incorrect: %ld!!\n",
- (unsigned long) GC_root_size);
- }
-}
-# endif /* NO_DEBUGGING */
-
-/* Primarily for debugging support: */
-/* Is the address p in one of the registered static */
-/* root sections? */
-GC_bool GC_is_static_root(p)
-ptr_t p;
-{
- static int last_root_set = 0;
- register int i;
-
-
- if (p >= static_roots[last_root_set].r_start
- && p < static_roots[last_root_set].r_end) return(TRUE);
- for (i = 0; i < n_root_sets; i++) {
- if (p >= static_roots[i].r_start
- && p < static_roots[i].r_end) {
- last_root_set = i;
- return(TRUE);
- }
- }
- return(FALSE);
-}
-
-#ifndef MSWIN32
-# define LOG_RT_SIZE 6
-# define RT_SIZE (1 << LOG_RT_SIZE) /* Power of 2, may be != MAX_ROOT_SETS */
-
- static struct roots * root_index[RT_SIZE];
- /* Hash table header. Used only to check whether a range is */
- /* already present. */
-
-static int rt_hash(addr)
-char * addr;
-{
- word result = (word) addr;
-# if CPP_WORDSZ > 8*LOG_RT_SIZE
- result ^= result >> 8*LOG_RT_SIZE;
-# endif
-# if CPP_WORDSZ > 4*LOG_RT_SIZE
- result ^= result >> 4*LOG_RT_SIZE;
-# endif
- result ^= result >> 2*LOG_RT_SIZE;
- result ^= result >> LOG_RT_SIZE;
- result &= (RT_SIZE-1);
- return(result);
-}
-
-/* Is a range starting at b already in the table? If so return a */
-/* pointer to it, else NIL. */
-struct roots * GC_roots_present(b)
-char *b;
-{
- register int h = rt_hash(b);
- register struct roots *p = root_index[h];
-
- while (p != 0) {
- if (p -> r_start == (ptr_t)b) return(p);
- p = p -> r_next;
- }
- return(FALSE);
-}
-
-/* Add the given root structure to the index. */
-static void add_roots_to_index(p)
-struct roots *p;
-{
- register int h = rt_hash(p -> r_start);
-
- p -> r_next = root_index[h];
- root_index[h] = p;
-}
-
-# else /* MSWIN32 */
-
-# define add_roots_to_index(p)
-
-# endif
-
-
-
-
-word GC_root_size = 0;
-
-void GC_add_roots(b, e)
-char * b; char * e;
-{
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- GC_add_roots_inner(b, e, FALSE);
- UNLOCK();
- ENABLE_SIGNALS();
-}
-
-
-/* Add [b,e) to the root set. Adding the same interval a second time */
-/* is a moderately fast noop, and hence benign. We do not handle */
-/* different but overlapping intervals efficiently. (We do handle */
-/* them correctly.) */
-/* Tmp specifies that the interval may be deleted before */
-/* reregistering dynamic libraries. */
-void GC_add_roots_inner(b, e, tmp)
-char * b; char * e;
-GC_bool tmp;
-{
- struct roots * old;
-
-# ifdef MSWIN32
- /* Spend the time to ensure that there are no overlapping */
- /* or adjacent intervals. */
- /* This could be done faster with e.g. a */
- /* balanced tree. But the execution time here is */
- /* virtually guaranteed to be dominated by the time it */
- /* takes to scan the roots. */
- {
- register int i;
-
- for (i = 0; i < n_root_sets; i++) {
- old = static_roots + i;
- if ((ptr_t)b <= old -> r_end && (ptr_t)e >= old -> r_start) {
- if ((ptr_t)b < old -> r_start) {
- old -> r_start = (ptr_t)b;
- GC_root_size += (old -> r_start - (ptr_t)b);
- }
- if ((ptr_t)e > old -> r_end) {
- old -> r_end = (ptr_t)e;
- GC_root_size += ((ptr_t)e - old -> r_end);
- }
- old -> r_tmp &= tmp;
- break;
- }
- }
- if (i < n_root_sets) {
- /* merge other overlapping intervals */
- struct roots *other;
-
- for (i++; i < n_root_sets; i++) {
- other = static_roots + i;
- b = (char *)(other -> r_start);
- e = (char *)(other -> r_end);
- if ((ptr_t)b <= old -> r_end && (ptr_t)e >= old -> r_start) {
- if ((ptr_t)b < old -> r_start) {
- old -> r_start = (ptr_t)b;
- GC_root_size += (old -> r_start - (ptr_t)b);
- }
- if ((ptr_t)e > old -> r_end) {
- old -> r_end = (ptr_t)e;
- GC_root_size += ((ptr_t)e - old -> r_end);
- }
- old -> r_tmp &= other -> r_tmp;
- /* Delete this entry. */
- GC_root_size -= (other -> r_end - other -> r_start);
- other -> r_start = static_roots[n_root_sets-1].r_start;
- other -> r_end = static_roots[n_root_sets-1].r_end;
- n_root_sets--;
- }
- }
- return;
- }
- }
-# else
- old = GC_roots_present(b);
- if (old != 0) {
- if ((ptr_t)e <= old -> r_end) /* already there */ return;
- /* else extend */
- GC_root_size += (ptr_t)e - old -> r_end;
- old -> r_end = (ptr_t)e;
- return;
- }
-# endif
- if (n_root_sets == MAX_ROOT_SETS) {
- ABORT("Too many root sets\n");
- }
- static_roots[n_root_sets].r_start = (ptr_t)b;
- static_roots[n_root_sets].r_end = (ptr_t)e;
- static_roots[n_root_sets].r_tmp = tmp;
-# ifndef MSWIN32
- static_roots[n_root_sets].r_next = 0;
-# endif
- add_roots_to_index(static_roots + n_root_sets);
- GC_root_size += (ptr_t)e - (ptr_t)b;
- n_root_sets++;
-}
-
-void GC_clear_roots GC_PROTO((void))
-{
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- n_root_sets = 0;
- GC_root_size = 0;
-# ifndef MSWIN32
- {
- register int i;
-
- for (i = 0; i < RT_SIZE; i++) root_index[i] = 0;
- }
-# endif
- UNLOCK();
- ENABLE_SIGNALS();
-}
-
-/* Internal use only; lock held. */
-void GC_remove_tmp_roots()
-{
- register int i;
-
- for (i = 0; i < n_root_sets; ) {
- if (static_roots[i].r_tmp) {
- GC_root_size -= (static_roots[i].r_end - static_roots[i].r_start);
- static_roots[i].r_start = static_roots[n_root_sets-1].r_start;
- static_roots[i].r_end = static_roots[n_root_sets-1].r_end;
- static_roots[i].r_tmp = static_roots[n_root_sets-1].r_tmp;
- n_root_sets--;
- } else {
- i++;
- }
- }
-# ifndef MSWIN32
- {
- register int i;
-
- for (i = 0; i < RT_SIZE; i++) root_index[i] = 0;
- for (i = 0; i < n_root_sets; i++) add_roots_to_index(static_roots + i);
- }
-# endif
-
-}
-
-ptr_t GC_approx_sp()
-{
- word dummy;
-
- return((ptr_t)(&dummy));
-}
-
-/*
- * Data structure for excluded static roots.
- */
-struct exclusion {
- ptr_t e_start;
- ptr_t e_end;
-};
-
-struct exclusion excl_table[MAX_EXCLUSIONS];
- /* Array of exclusions, ascending */
- /* address order. */
-size_t excl_table_entries = 0; /* Number of entries in use. */
-
-/* Return the first exclusion range that includes an address >= start_addr */
-/* Assumes the exclusion table contains at least one entry (namely the */
-/* GC data structures). */
-struct exclusion * GC_next_exclusion(start_addr)
-ptr_t start_addr;
-{
- size_t low = 0;
- size_t high = excl_table_entries - 1;
- size_t mid;
-
- while (high > low) {
- mid = (low + high) >> 1;
- /* low <= mid < high */
- if ((word) excl_table[mid].e_end <= (word) start_addr) {
- low = mid + 1;
- } else {
- high = mid;
- }
- }
- if ((word) excl_table[low].e_end <= (word) start_addr) return 0;
- return excl_table + low;
-}
-
-void GC_exclude_static_roots(start, finish)
-GC_PTR start;
-GC_PTR finish;
-{
- struct exclusion * next;
- size_t next_index, i;
-
- if (0 == excl_table_entries) {
- next = 0;
- } else {
- next = GC_next_exclusion(start);
- }
- if (0 != next) {
- if ((word)(next -> e_start) < (word) finish) {
- /* incomplete error check. */
- ABORT("exclusion ranges overlap");
- }
- if ((word)(next -> e_start) == (word) finish) {
- /* extend old range backwards */
- next -> e_start = (ptr_t)start;
- return;
- }
- next_index = next - excl_table;
- for (i = excl_table_entries; i > next_index; --i) {
- excl_table[i] = excl_table[i-1];
- }
- } else {
- next_index = excl_table_entries;
- }
- if (excl_table_entries == MAX_EXCLUSIONS) ABORT("Too many exclusions");
- excl_table[next_index].e_start = (ptr_t)start;
- excl_table[next_index].e_end = (ptr_t)finish;
- ++excl_table_entries;
-}
-
-/* Invoke push_conditional on ranges that are not excluded. */
-void GC_push_conditional_with_exclusions(bottom, top, all)
-ptr_t bottom;
-ptr_t top;
-int all;
-{
- struct exclusion * next;
- ptr_t excl_start;
-
- while (bottom < top) {
- next = GC_next_exclusion(bottom);
- if (0 == next || (excl_start = next -> e_start) >= top) {
- GC_push_conditional(bottom, top, all);
- return;
- }
- if (excl_start > bottom) GC_push_conditional(bottom, excl_start, all);
- bottom = next -> e_end;
- }
-}
-
-/*
- * Call the mark routines (GC_tl_push for a single pointer, GC_push_conditional
- * on groups of pointers) on every top level accessible pointer.
- * If all is FALSE, arrange to push only possibly altered values.
- */
-
-void GC_push_roots(all)
-GC_bool all;
-{
- register int i;
-
- /*
- * push registers - i.e., call GC_push_one(r) for each
- * register contents r.
- */
- GC_push_regs(); /* usually defined in machine_dep.c */
-
- /*
- * Next push static data. This must happen early on, since it's
- * not robust against mark stack overflow.
- */
- /* Reregister dynamic libraries, in case one got added. */
-# if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(PCR)) \
- && !defined(SRC_M3)
- GC_remove_tmp_roots();
- GC_register_dynamic_libraries();
-# endif
- /* Mark everything in static data areas */
- for (i = 0; i < n_root_sets; i++) {
- GC_push_conditional_with_exclusions(
- static_roots[i].r_start,
- static_roots[i].r_end, all);
- }
-
- /*
- * Now traverse stacks.
- */
-# ifndef THREADS
- /* Mark everything on the stack. */
-# ifdef STACK_GROWS_DOWN
- GC_push_all_stack( GC_approx_sp(), GC_stackbottom );
-# else
- GC_push_all_stack( GC_stackbottom, GC_approx_sp() );
-# endif
-# endif
- if (GC_push_other_roots != 0) (*GC_push_other_roots)();
- /* In the threads case, this also pushes thread stacks. */
-}
-
diff --git a/boehm-gc/mips_sgi_mach_dep.s b/boehm-gc/mips_sgi_mach_dep.s
deleted file mode 100644
index 03c4b98060c..00000000000
--- a/boehm-gc/mips_sgi_mach_dep.s
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <sys/regdef.h>
-#include <sys/asm.h>
-
-# define call_push(x) move $4,x; jal GC_push_one
-
- .text
-/* Mark from machine registers that are saved by C compiler */
-# define FRAMESZ 32
-# define RAOFF FRAMESZ-SZREG
-# define GPOFF FRAMESZ-(2*SZREG)
- NESTED(GC_push_regs, FRAMESZ, ra)
- .mask 0x80000000,-SZREG # inform debugger of saved ra loc
- move t0,gp
- SETUP_GPX(t8)
- PTR_SUBU sp,FRAMESZ
-# ifdef SETUP_GP64
- SETUP_GP64(GPOFF, GC_push_regs)
-# endif
- SAVE_GP(GPOFF)
- REG_S ra,RAOFF(sp)
-# if (_MIPS_SIM == _MIPS_SIM_ABI32)
- call_push($2)
- call_push($3)
-# endif
- call_push($16)
- call_push($17)
- call_push($18)
- call_push($19)
- call_push($20)
- call_push($21)
- call_push($22)
- call_push($23)
- call_push($30)
- REG_L ra,RAOFF(sp)
-# ifdef RESTORE_GP64
- RESTORE_GP64
-# endif
- PTR_ADDU sp,FRAMESZ
- j ra
- .end GC_push_regs
diff --git a/boehm-gc/mips_ultrix_mach_dep.s b/boehm-gc/mips_ultrix_mach_dep.s
deleted file mode 100644
index 178224e31c8..00000000000
--- a/boehm-gc/mips_ultrix_mach_dep.s
+++ /dev/null
@@ -1,26 +0,0 @@
-# define call_push(x) move $4,x; jal GC_push_one
-
- .text
- # Mark from machine registers that are saved by C compiler
- .globl GC_push_regs
- .ent GC_push_regs
-GC_push_regs:
- subu $sp,8 ## Need to save only return address
- sw $31,4($sp)
- .mask 0x80000000,-4
- .frame $sp,8,$31
- call_push($2)
- call_push($3)
- call_push($16)
- call_push($17)
- call_push($18)
- call_push($19)
- call_push($20)
- call_push($21)
- call_push($22)
- call_push($23)
- call_push($30)
- lw $31,4($sp)
- addu $sp,8
- j $31
- .end GC_push_regs
diff --git a/boehm-gc/misc.c b/boehm-gc/misc.c
deleted file mode 100644
index 72c87b0802c..00000000000
--- a/boehm-gc/misc.c
+++ /dev/null
@@ -1,831 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, July 31, 1995 5:02 pm PDT */
-
-
-#include <stdio.h>
-#include <signal.h>
-
-#define I_HIDE_POINTERS /* To make GC_call_with_alloc_lock visible */
-#include "gc_priv.h"
-
-#ifdef SOLARIS_THREADS
-# include <sys/syscall.h>
-#endif
-#ifdef MSWIN32
-# include <windows.h>
-#endif
-
-# ifdef THREADS
-# ifdef PCR
-# include "il/PCR_IL.h"
- PCR_Th_ML GC_allocate_ml;
-# else
-# ifdef SRC_M3
- /* Critical section counter is defined in the M3 runtime */
- /* That's all we use. */
-# else
-# ifdef SOLARIS_THREADS
- mutex_t GC_allocate_ml; /* Implicitly initialized. */
-# else
-# ifdef WIN32_THREADS
- GC_API CRITICAL_SECTION GC_allocate_ml;
-# else
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
-# ifdef UNDEFINED
- pthread_mutex_t GC_allocate_ml = PTHREAD_MUTEX_INITIALIZER;
-# endif
- pthread_t GC_lock_holder = NO_THREAD;
-# else
-# if defined(QUICK_THREADS)
- /* Nothing. */
-# else
- --> declare allocator lock here
-# endif
-# endif
-# endif
-# endif
-# endif
-# endif
-# endif
-
-#ifdef ECOS
-#undef STACKBASE
-#endif
-
-GC_FAR struct _GC_arrays GC_arrays /* = { 0 } */;
-
-
-GC_bool GC_debugging_started = FALSE;
- /* defined here so we don't have to load debug_malloc.o */
-
-void (*GC_check_heap)() = (void (*)())0;
-
-void (*GC_start_call_back)() = (void (*)())0;
-
-ptr_t GC_stackbottom = 0;
-
-GC_bool GC_dont_gc = 0;
-
-GC_bool GC_quiet = 0;
-
-/*ARGSUSED*/
-GC_PTR GC_default_oom_fn GC_PROTO((size_t bytes_requested))
-{
- return(0);
-}
-
-GC_PTR (*GC_oom_fn) GC_PROTO((size_t bytes_requested)) = GC_default_oom_fn;
-
-extern signed_word GC_mem_found;
-
-# ifdef MERGE_SIZES
- /* Set things up so that GC_size_map[i] >= words(i), */
- /* but not too much bigger */
- /* and so that size_map contains relatively few distinct entries */
- /* This is stolen from Russ Atkinson's Cedar quantization */
- /* alogrithm (but we precompute it). */
-
-
- void GC_init_size_map()
- {
- register unsigned i;
-
- /* Map size 0 to 1. This avoids problems at lower levels. */
- GC_size_map[0] = 1;
- /* One word objects don't have to be 2 word aligned. */
- for (i = 1; i < sizeof(word); i++) {
- GC_size_map[i] = 1;
- }
- GC_size_map[sizeof(word)] = ROUNDED_UP_WORDS(sizeof(word));
- for (i = sizeof(word) + 1; i <= 8 * sizeof(word); i++) {
-# ifdef ALIGN_DOUBLE
- GC_size_map[i] = (ROUNDED_UP_WORDS(i) + 1) & (~1);
-# else
- GC_size_map[i] = ROUNDED_UP_WORDS(i);
-# endif
- }
- for (i = 8*sizeof(word) + 1; i <= 16 * sizeof(word); i++) {
- GC_size_map[i] = (ROUNDED_UP_WORDS(i) + 1) & (~1);
- }
- /* We leave the rest of the array to be filled in on demand. */
- }
-
- /* Fill in additional entries in GC_size_map, including the ith one */
- /* We assume the ith entry is currently 0. */
- /* Note that a filled in section of the array ending at n always */
- /* has length at least n/4. */
- void GC_extend_size_map(i)
- word i;
- {
- word orig_word_sz = ROUNDED_UP_WORDS(i);
- word word_sz = orig_word_sz;
- register word byte_sz = WORDS_TO_BYTES(word_sz);
- /* The size we try to preserve. */
- /* Close to to i, unless this would */
- /* introduce too many distinct sizes. */
- word smaller_than_i = byte_sz - (byte_sz >> 3);
- word much_smaller_than_i = byte_sz - (byte_sz >> 2);
- register word low_limit; /* The lowest indexed entry we */
- /* initialize. */
- register word j;
-
- if (GC_size_map[smaller_than_i] == 0) {
- low_limit = much_smaller_than_i;
- while (GC_size_map[low_limit] != 0) low_limit++;
- } else {
- low_limit = smaller_than_i + 1;
- while (GC_size_map[low_limit] != 0) low_limit++;
- word_sz = ROUNDED_UP_WORDS(low_limit);
- word_sz += word_sz >> 3;
- if (word_sz < orig_word_sz) word_sz = orig_word_sz;
- }
-# ifdef ALIGN_DOUBLE
- word_sz += 1;
- word_sz &= ~1;
-# endif
- if (word_sz > MAXOBJSZ) {
- word_sz = MAXOBJSZ;
- }
- /* If we can fit the same number of larger objects in a block, */
- /* do so. */
- {
- size_t number_of_objs = BODY_SZ/word_sz;
- word_sz = BODY_SZ/number_of_objs;
-# ifdef ALIGN_DOUBLE
- word_sz &= ~1;
-# endif
- }
- byte_sz = WORDS_TO_BYTES(word_sz);
-# ifdef ADD_BYTE_AT_END
- /* We need one extra byte; don't fill in GC_size_map[byte_sz] */
- byte_sz--;
-# endif
-
- for (j = low_limit; j <= byte_sz; j++) GC_size_map[j] = word_sz;
- }
-# endif
-
-
-/*
- * The following is a gross hack to deal with a problem that can occur
- * on machines that are sloppy about stack frame sizes, notably SPARC.
- * Bogus pointers may be written to the stack and not cleared for
- * a LONG time, because they always fall into holes in stack frames
- * that are not written. We partially address this by clearing
- * sections of the stack whenever we get control.
- */
-word GC_stack_last_cleared = 0; /* GC_no when we last did this */
-# ifdef THREADS
-# define CLEAR_SIZE 2048
-# else
-# define CLEAR_SIZE 213
-# endif
-# define DEGRADE_RATE 50
-
-word GC_min_sp; /* Coolest stack pointer value from which we've */
- /* already cleared the stack. */
-
-# ifdef STACK_GROWS_DOWN
-# define COOLER_THAN >
-# define HOTTER_THAN <
-# define MAKE_COOLER(x,y) if ((word)(x)+(y) > (word)(x)) {(x) += (y);} \
- else {(x) = (word)ONES;}
-# define MAKE_HOTTER(x,y) (x) -= (y)
-# else
-# define COOLER_THAN <
-# define HOTTER_THAN >
-# define MAKE_COOLER(x,y) if ((word)(x)-(y) < (word)(x)) {(x) -= (y);} else {(x) = 0;}
-# define MAKE_HOTTER(x,y) (x) += (y)
-# endif
-
-word GC_high_water;
- /* "hottest" stack pointer value we have seen */
- /* recently. Degrades over time. */
-
-word GC_words_allocd_at_reset;
-
-#if defined(ASM_CLEAR_CODE) && !defined(THREADS)
- extern ptr_t GC_clear_stack_inner();
-#endif
-
-#if !defined(ASM_CLEAR_CODE) && !defined(THREADS)
-/* Clear the stack up to about limit. Return arg. */
-/*ARGSUSED*/
-ptr_t GC_clear_stack_inner(arg, limit)
-ptr_t arg;
-word limit;
-{
- word dummy[CLEAR_SIZE];
-
- BZERO(dummy, CLEAR_SIZE*sizeof(word));
- if ((word)(dummy) COOLER_THAN limit) {
- (void) GC_clear_stack_inner(arg, limit);
- }
- /* Make sure the recursive call is not a tail call, and the bzero */
- /* call is not recognized as dead code. */
- GC_noop1((word)dummy);
- return(arg);
-}
-#endif
-
-/* Clear some of the inaccessible part of the stack. Returns its */
-/* argument, so it can be used in a tail call position, hence clearing */
-/* another frame. */
-ptr_t GC_clear_stack(arg)
-ptr_t arg;
-{
- register word sp = (word)GC_approx_sp(); /* Hotter than actual sp */
-# ifdef THREADS
- word dummy[CLEAR_SIZE];
-# else
- register word limit;
-# endif
-
-# define SLOP 400
- /* Extra bytes we clear every time. This clears our own */
- /* activation record, and should cause more frequent */
- /* clearing near the cold end of the stack, a good thing. */
-# define GC_SLOP 4000
- /* We make GC_high_water this much hotter than we really saw */
- /* saw it, to cover for GC noise etc. above our current frame. */
-# define CLEAR_THRESHOLD 100000
- /* We restart the clearing process after this many bytes of */
- /* allocation. Otherwise very heavily recursive programs */
- /* with sparse stacks may result in heaps that grow almost */
- /* without bounds. As the heap gets larger, collection */
- /* frequency decreases, thus clearing frequency would decrease, */
- /* thus more junk remains accessible, thus the heap gets */
- /* larger ... */
-# ifdef THREADS
- BZERO(dummy, CLEAR_SIZE*sizeof(word));
-# else
- if (GC_gc_no > GC_stack_last_cleared) {
- /* Start things over, so we clear the entire stack again */
- if (GC_stack_last_cleared == 0) GC_high_water = (word) GC_stackbottom;
- GC_min_sp = GC_high_water;
- GC_stack_last_cleared = GC_gc_no;
- GC_words_allocd_at_reset = GC_words_allocd;
- }
- /* Adjust GC_high_water */
- MAKE_COOLER(GC_high_water, WORDS_TO_BYTES(DEGRADE_RATE) + GC_SLOP);
- if (sp HOTTER_THAN GC_high_water) {
- GC_high_water = sp;
- }
- MAKE_HOTTER(GC_high_water, GC_SLOP);
- limit = GC_min_sp;
- MAKE_HOTTER(limit, SLOP);
- if (sp COOLER_THAN limit) {
- limit &= ~0xf; /* Make it sufficiently aligned for assembly */
- /* implementations of GC_clear_stack_inner. */
- GC_min_sp = sp;
- return(GC_clear_stack_inner(arg, limit));
- } else if (WORDS_TO_BYTES(GC_words_allocd - GC_words_allocd_at_reset)
- > CLEAR_THRESHOLD) {
- /* Restart clearing process, but limit how much clearing we do. */
- GC_min_sp = sp;
- MAKE_HOTTER(GC_min_sp, CLEAR_THRESHOLD/4);
- if (GC_min_sp HOTTER_THAN GC_high_water) GC_min_sp = GC_high_water;
- GC_words_allocd_at_reset = GC_words_allocd;
- }
-# endif
- return(arg);
-}
-
-
-/* Return a pointer to the base address of p, given a pointer to a */
-/* an address within an object. Return 0 o.w. */
-# ifdef __STDC__
- GC_PTR GC_base(GC_PTR p)
-# else
- GC_PTR GC_base(p)
- GC_PTR p;
-# endif
-{
- register word r;
- register struct hblk *h;
- register bottom_index *bi;
- register hdr *candidate_hdr;
- register word limit;
-
- r = (word)p;
- if (!GC_is_initialized) return 0;
- h = HBLKPTR(r);
- GET_BI(r, bi);
- candidate_hdr = HDR_FROM_BI(bi, r);
- if (candidate_hdr == 0) return(0);
- /* If it's a pointer to the middle of a large object, move it */
- /* to the beginning. */
- while (IS_FORWARDING_ADDR_OR_NIL(candidate_hdr)) {
- h = FORWARDED_ADDR(h,candidate_hdr);
- r = (word)h + HDR_BYTES;
- candidate_hdr = HDR(h);
- }
- if (candidate_hdr -> hb_map == GC_invalid_map) return(0);
- /* Make sure r points to the beginning of the object */
- r &= ~(WORDS_TO_BYTES(1) - 1);
- {
- register int offset = (char *)r - (char *)(HBLKPTR(r));
- register signed_word sz = candidate_hdr -> hb_sz;
-
-# ifdef ALL_INTERIOR_POINTERS
- register map_entry_type map_entry;
-
- map_entry = MAP_ENTRY((candidate_hdr -> hb_map), offset);
- if (map_entry == OBJ_INVALID) {
- return(0);
- }
- r -= WORDS_TO_BYTES(map_entry);
- limit = r + WORDS_TO_BYTES(sz);
-# else
- register int correction;
-
- offset = BYTES_TO_WORDS(offset - HDR_BYTES);
- correction = offset % sz;
- r -= (WORDS_TO_BYTES(correction));
- limit = r + WORDS_TO_BYTES(sz);
- if (limit > (word)(h + 1)
- && sz <= BYTES_TO_WORDS(HBLKSIZE) - HDR_WORDS) {
- return(0);
- }
-# endif
- if ((word)p >= limit) return(0);
- }
- return((GC_PTR)r);
-}
-
-
-/* Return the size of an object, given a pointer to its base. */
-/* (For small obects this also happens to work from interior pointers, */
-/* but that shouldn't be relied upon.) */
-# ifdef __STDC__
- size_t GC_size(GC_PTR p)
-# else
- size_t GC_size(p)
- GC_PTR p;
-# endif
-{
- register int sz;
- register hdr * hhdr = HDR(p);
-
- sz = WORDS_TO_BYTES(hhdr -> hb_sz);
- if (sz < 0) {
- return(-sz);
- } else {
- return(sz);
- }
-}
-
-size_t GC_get_heap_size GC_PROTO(())
-{
- return ((size_t) GC_heapsize);
-}
-
-size_t GC_get_bytes_since_gc GC_PROTO(())
-{
- return ((size_t) WORDS_TO_BYTES(GC_words_allocd));
-}
-
-GC_bool GC_is_initialized = FALSE;
-
-#if defined(SOLARIS_THREADS) || defined(IRIX_THREADS)
- extern void GC_thr_init();
-#endif
-
-void GC_init()
-{
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- GC_init_inner();
- UNLOCK();
- ENABLE_SIGNALS();
-
-}
-
-#ifdef MSWIN32
- extern void GC_init_win32();
-#endif
-
-extern void GC_setpagesize();
-
-void GC_init_inner()
-{
-# ifndef THREADS
- word dummy;
-# endif
-
- if (GC_is_initialized) return;
- GC_setpagesize();
- GC_exclude_static_roots(beginGC_arrays, endGC_arrays);
-# ifdef MSWIN32
- GC_init_win32();
-# endif
-# if defined(LINUX) && defined(POWERPC)
- GC_init_linuxppc();
-# endif
-# ifdef SOLARIS_THREADS
- GC_thr_init();
- /* We need dirty bits in order to find live stack sections. */
- GC_dirty_init();
-# endif
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
- GC_thr_init();
-# endif
-# if !defined(THREADS) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS) \
- || defined(IRIX_THREADS) || defined(LINUX_THREADS) \
- || defined (QUICK_THREADS)
- if (GC_stackbottom == 0) {
- GC_stackbottom = GC_get_stack_base();
- }
-# endif
- if (sizeof (ptr_t) != sizeof(word)) {
- ABORT("sizeof (ptr_t) != sizeof(word)\n");
- }
- if (sizeof (signed_word) != sizeof(word)) {
- ABORT("sizeof (signed_word) != sizeof(word)\n");
- }
- if (sizeof (struct hblk) != HBLKSIZE) {
- ABORT("sizeof (struct hblk) != HBLKSIZE\n");
- }
-# ifndef THREADS
-# if defined(STACK_GROWS_UP) && defined(STACK_GROWS_DOWN)
- ABORT(
- "Only one of STACK_GROWS_UP and STACK_GROWS_DOWN should be defd\n");
-# endif
-# if !defined(STACK_GROWS_UP) && !defined(STACK_GROWS_DOWN)
- ABORT(
- "One of STACK_GROWS_UP and STACK_GROWS_DOWN should be defd\n");
-# endif
-# ifdef STACK_GROWS_DOWN
- if ((word)(&dummy) > (word)GC_stackbottom) {
- GC_err_printf0(
- "STACK_GROWS_DOWN is defd, but stack appears to grow up\n");
-# ifndef UTS4 /* Compiler bug workaround */
- GC_err_printf2("sp = 0x%lx, GC_stackbottom = 0x%lx\n",
- (unsigned long) (&dummy),
- (unsigned long) GC_stackbottom);
-# endif
- ABORT("stack direction 3\n");
- }
-# else
- if ((word)(&dummy) < (word)GC_stackbottom) {
- GC_err_printf0(
- "STACK_GROWS_UP is defd, but stack appears to grow down\n");
- GC_err_printf2("sp = 0x%lx, GC_stackbottom = 0x%lx\n",
- (unsigned long) (&dummy),
- (unsigned long) GC_stackbottom);
- ABORT("stack direction 4");
- }
-# endif
-# endif
-# if !defined(_AUX_SOURCE) || defined(__GNUC__)
- if ((word)(-1) < (word)0) {
- GC_err_printf0("The type word should be an unsigned integer type\n");
- GC_err_printf0("It appears to be signed\n");
- ABORT("word");
- }
-# endif
- if ((signed_word)(-1) >= (signed_word)0) {
- GC_err_printf0(
- "The type signed_word should be a signed integer type\n");
- GC_err_printf0("It appears to be unsigned\n");
- ABORT("signed_word");
- }
-
- /* Add initial guess of root sets. Do this first, since sbrk(0) */
- /* might be used. */
- GC_register_data_segments();
- GC_init_headers();
- GC_bl_init();
- GC_mark_init();
- if (!GC_expand_hp_inner((word)MINHINCR)) {
- GC_err_printf0("Can't start up: not enough memory\n");
- EXIT();
- }
- /* Preallocate large object map. It's otherwise inconvenient to */
- /* deal with failure. */
- if (!GC_add_map_entry((word)0)) {
- GC_err_printf0("Can't start up: not enough memory\n");
- EXIT();
- }
- GC_register_displacement_inner(0L);
-# ifdef MERGE_SIZES
- GC_init_size_map();
-# endif
-# ifdef PCR
- if (PCR_IL_Lock(PCR_Bool_false, PCR_allSigsBlocked, PCR_waitForever)
- != PCR_ERes_okay) {
- ABORT("Can't lock load state\n");
- } else if (PCR_IL_Unlock() != PCR_ERes_okay) {
- ABORT("Can't unlock load state\n");
- }
- PCR_IL_Unlock();
- GC_pcr_install();
-# endif
- /* Get black list set up */
- GC_gcollect_inner();
-# ifdef STUBBORN_ALLOC
- GC_stubborn_init();
-# endif
- GC_is_initialized = TRUE;
- /* Convince lint that some things are used */
-# ifdef LINT
- {
- extern char * GC_copyright[];
- extern int GC_read();
- extern void GC_register_finalizer_no_order();
-
- GC_noop(GC_copyright, GC_find_header,
- GC_push_one, GC_call_with_alloc_lock, GC_read,
- GC_dont_expand,
-# ifndef NO_DEBUGGING
- GC_dump,
-# endif
- GC_register_finalizer_no_order);
- }
-# endif
-}
-
-void GC_enable_incremental GC_PROTO(())
-{
- DCL_LOCK_STATE;
-
-# ifndef FIND_LEAK
- DISABLE_SIGNALS();
- LOCK();
- if (GC_incremental) goto out;
- GC_setpagesize();
-# ifdef MSWIN32
- {
- extern GC_bool GC_is_win32s();
-
- /* VirtualProtect is not functional under win32s. */
- if (GC_is_win32s()) goto out;
- }
-# endif /* MSWIN32 */
-# ifndef SOLARIS_THREADS
- GC_dirty_init();
-# endif
- if (!GC_is_initialized) {
- GC_init_inner();
- }
- if (GC_dont_gc) {
- /* Can't easily do it. */
- UNLOCK();
- ENABLE_SIGNALS();
- return;
- }
- if (GC_words_allocd > 0) {
- /* There may be unmarked reachable objects */
- GC_gcollect_inner();
- } /* else we're OK in assuming everything's */
- /* clean since nothing can point to an */
- /* unmarked object. */
- GC_read_dirty();
- GC_incremental = TRUE;
-out:
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
-}
-
-
-#ifdef MSWIN32
-# define LOG_FILE "gc.log"
-
- HANDLE GC_stdout = 0, GC_stderr;
- int GC_tmp;
- DWORD GC_junk;
-
- void GC_set_files()
- {
- if (!GC_stdout) {
- GC_stdout = CreateFile(LOG_FILE, GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL, CREATE_ALWAYS, FILE_FLAG_WRITE_THROUGH,
- NULL);
- if (INVALID_HANDLE_VALUE == GC_stdout) ABORT("Open of log file failed");
- }
- if (GC_stderr == 0) {
- GC_stderr = GC_stdout;
- }
- }
-
-#endif
-
-#if defined(OS2) || defined(MACOS)
-FILE * GC_stdout = NULL;
-FILE * GC_stderr = NULL;
-int GC_tmp; /* Should really be local ... */
-
- void GC_set_files()
- {
- if (GC_stdout == NULL) {
- GC_stdout = stdout;
- }
- if (GC_stderr == NULL) {
- GC_stderr = stderr;
- }
- }
-#endif
-
-#if !defined(OS2) && !defined(MACOS) && !defined(MSWIN32)
- int GC_stdout = 1;
- int GC_stderr = 2;
-# if !defined(AMIGA)
-# include <unistd.h>
-# endif
-#endif
-
-#if !defined(MSWIN32) && !defined(OS2) && !defined(MACOS) && !defined(ECOS)
-int GC_write(fd, buf, len)
-int fd;
-char *buf;
-size_t len;
-{
- register int bytes_written = 0;
- register int result;
-
- while (bytes_written < len) {
-# ifdef SOLARIS_THREADS
- result = syscall(SYS_write, fd, buf + bytes_written,
- len - bytes_written);
-# else
- result = write(fd, buf + bytes_written, len - bytes_written);
-# endif
- if (-1 == result) return(result);
- bytes_written += result;
- }
- return(bytes_written);
-}
-#endif /* UN*X */
-
-#if defined(ECOS)
-int GC_write(fd, buf, len)
-{
- _Jv_diag_write (buf, len);
- return len;
-}
-#endif
-
-
-#ifdef MSWIN32
-# define WRITE(f, buf, len) (GC_set_files(), \
- GC_tmp = WriteFile((f), (buf), \
- (len), &GC_junk, NULL),\
- (GC_tmp? 1 : -1))
-#else
-# if defined(OS2) || defined(MACOS)
-# define WRITE(f, buf, len) (GC_set_files(), \
- GC_tmp = fwrite((buf), 1, (len), (f)), \
- fflush(f), GC_tmp)
-# else
-# define WRITE(f, buf, len) GC_write((f), (buf), (len))
-# endif
-#endif
-
-/* A version of printf that is unlikely to call malloc, and is thus safer */
-/* to call from the collector in case malloc has been bound to GC_malloc. */
-/* Assumes that no more than 1023 characters are written at once. */
-/* Assumes that all arguments have been converted to something of the */
-/* same size as long, and that the format conversions expect something */
-/* of that size. */
-void GC_printf(format, a, b, c, d, e, f)
-char * format;
-long a, b, c, d, e, f;
-{
- char buf[1025];
-
- if (GC_quiet) return;
- buf[1024] = 0x15;
- (void) sprintf(buf, format, a, b, c, d, e, f);
- if (buf[1024] != 0x15) ABORT("GC_printf clobbered stack");
- if (WRITE(GC_stdout, buf, strlen(buf)) < 0) ABORT("write to stdout failed");
-}
-
-void GC_err_printf(format, a, b, c, d, e, f)
-char * format;
-long a, b, c, d, e, f;
-{
- char buf[1025];
-
- buf[1024] = 0x15;
- (void) sprintf(buf, format, a, b, c, d, e, f);
- if (buf[1024] != 0x15) ABORT("GC_err_printf clobbered stack");
- if (WRITE(GC_stderr, buf, strlen(buf)) < 0) ABORT("write to stderr failed");
-}
-
-void GC_err_puts(s)
-char *s;
-{
- if (WRITE(GC_stderr, s, strlen(s)) < 0) ABORT("write to stderr failed");
-}
-
-# if defined(__STDC__) || defined(__cplusplus)
- void GC_default_warn_proc(char *msg, GC_word arg)
-# else
- void GC_default_warn_proc(msg, arg)
- char *msg;
- GC_word arg;
-# endif
-{
- GC_err_printf1(msg, (unsigned long)arg);
-}
-
-GC_warn_proc GC_current_warn_proc = GC_default_warn_proc;
-
-# if defined(__STDC__) || defined(__cplusplus)
- GC_warn_proc GC_set_warn_proc(GC_warn_proc p)
-# else
- GC_warn_proc GC_set_warn_proc(p)
- GC_warn_proc p;
-# endif
-{
- GC_warn_proc result;
-
- LOCK();
- result = GC_current_warn_proc;
- GC_current_warn_proc = p;
- UNLOCK();
- return(result);
-}
-
-
-#ifndef PCR
-void GC_abort(msg)
-char * msg;
-{
- GC_err_printf1("%s\n", msg);
- (void) abort();
-}
-#endif
-
-#ifdef NEED_CALLINFO
-
-void GC_print_callers (info)
-struct callinfo info[NFRAMES];
-{
- register int i,j;
-
-# if NFRAMES == 1
- GC_err_printf0("\tCaller at allocation:\n");
-# else
- GC_err_printf0("\tCall chain at allocation:\n");
-# endif
- for (i = 0; i < NFRAMES; i++) {
- if (info[i].ci_pc == 0) break;
-# if NARGS > 0
- GC_err_printf0("\t\targs: ");
- for (j = 0; j < NARGS; j++) {
- if (j != 0) GC_err_printf0(", ");
- GC_err_printf2("%d (0x%X)", ~(info[i].ci_arg[j]),
- ~(info[i].ci_arg[j]));
- }
- GC_err_printf0("\n");
-# endif
- GC_err_printf1("\t\t##PC##= 0x%X\n", info[i].ci_pc);
- }
-}
-
-#endif /* SAVE_CALL_CHAIN */
-
-# ifdef SRC_M3
-void GC_enable()
-{
- GC_dont_gc--;
-}
-
-void GC_disable()
-{
- GC_dont_gc++;
-}
-# endif
-
-#if !defined(NO_DEBUGGING)
-
-void GC_dump()
-{
- GC_printf0("***Static roots:\n");
- GC_print_static_roots();
- GC_printf0("\n***Heap sections:\n");
- GC_print_heap_sects();
- GC_printf0("\n***Free blocks:\n");
- GC_print_hblkfreelist();
- GC_printf0("\n***Blocks in use:\n");
- GC_print_block_list();
-}
-
-# endif /* NO_DEBUGGING */
diff --git a/boehm-gc/new_hblk.c b/boehm-gc/new_hblk.c
deleted file mode 100644
index 9f32ae0dcb4..00000000000
--- a/boehm-gc/new_hblk.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- * This file contains the functions:
- * ptr_t GC_build_flXXX(h, old_fl)
- * void GC_new_hblk(n)
- */
-/* Boehm, May 19, 1994 2:09 pm PDT */
-
-
-# include <stdio.h>
-# include "gc_priv.h"
-
-#ifndef SMALL_CONFIG
-/*
- * Build a free list for size 1 objects inside hblk h. Set the last link to
- * be ofl. Return a pointer tpo the first free list entry.
- */
-ptr_t GC_build_fl1(h, ofl)
-struct hblk *h;
-ptr_t ofl;
-{
- register word * p = (word *)h;
- register word * lim = (word *)(h + 1);
-
- p[0] = (word)ofl;
- p[1] = (word)(p);
- p[2] = (word)(p+1);
- p[3] = (word)(p+2);
- p += 4;
- for (; p < lim; p += 4) {
- p[0] = (word)(p-1);
- p[1] = (word)(p);
- p[2] = (word)(p+1);
- p[3] = (word)(p+2);
- };
- return((ptr_t)(p-1));
-}
-
-/* The same for size 2 cleared objects */
-ptr_t GC_build_fl_clear2(h, ofl)
-struct hblk *h;
-ptr_t ofl;
-{
- register word * p = (word *)h;
- register word * lim = (word *)(h + 1);
-
- p[0] = (word)ofl;
- p[1] = 0;
- p[2] = (word)p;
- p[3] = 0;
- p += 4;
- for (; p < lim; p += 4) {
- p[0] = (word)(p-2);
- p[1] = 0;
- p[2] = (word)p;
- p[3] = 0;
- };
- return((ptr_t)(p-2));
-}
-
-/* The same for size 3 cleared objects */
-ptr_t GC_build_fl_clear3(h, ofl)
-struct hblk *h;
-ptr_t ofl;
-{
- register word * p = (word *)h;
- register word * lim = (word *)(h + 1) - 2;
-
- p[0] = (word)ofl;
- p[1] = 0;
- p[2] = 0;
- p += 3;
- for (; p < lim; p += 3) {
- p[0] = (word)(p-3);
- p[1] = 0;
- p[2] = 0;
- };
- return((ptr_t)(p-3));
-}
-
-/* The same for size 4 cleared objects */
-ptr_t GC_build_fl_clear4(h, ofl)
-struct hblk *h;
-ptr_t ofl;
-{
- register word * p = (word *)h;
- register word * lim = (word *)(h + 1);
-
- p[0] = (word)ofl;
- p[1] = 0;
- p[2] = 0;
- p[3] = 0;
- p += 4;
- for (; p < lim; p += 4) {
- p[0] = (word)(p-4);
- p[1] = 0;
- p[2] = 0;
- p[3] = 0;
- };
- return((ptr_t)(p-4));
-}
-
-/* The same for size 2 uncleared objects */
-ptr_t GC_build_fl2(h, ofl)
-struct hblk *h;
-ptr_t ofl;
-{
- register word * p = (word *)h;
- register word * lim = (word *)(h + 1);
-
- p[0] = (word)ofl;
- p[2] = (word)p;
- p += 4;
- for (; p < lim; p += 4) {
- p[0] = (word)(p-2);
- p[2] = (word)p;
- };
- return((ptr_t)(p-2));
-}
-
-/* The same for size 4 uncleared objects */
-ptr_t GC_build_fl4(h, ofl)
-struct hblk *h;
-ptr_t ofl;
-{
- register word * p = (word *)h;
- register word * lim = (word *)(h + 1);
-
- p[0] = (word)ofl;
- p[4] = (word)p;
- p += 8;
- for (; p < lim; p += 8) {
- p[0] = (word)(p-4);
- p[4] = (word)p;
- };
- return((ptr_t)(p-4));
-}
-
-#endif /* !SMALL_CONFIG */
-
-/*
- * Allocate a new heapblock for small objects of size n.
- * Add all of the heapblock's objects to the free list for objects
- * of that size.
- * Set all mark bits if objects are uncollectable.
- * Will fail to do anything if we are out of memory.
- */
-void GC_new_hblk(sz, kind)
-register word sz;
-int kind;
-{
- register word *p,
- *prev;
- word *last_object; /* points to last object in new hblk */
- register struct hblk *h; /* the new heap block */
- register GC_bool clear = GC_obj_kinds[kind].ok_init;
-
-# ifdef PRINTSTATS
- if ((sizeof (struct hblk)) > HBLKSIZE) {
- ABORT("HBLK SZ inconsistency");
- }
-# endif
-
- /* Allocate a new heap block */
- h = GC_allochblk(sz, kind, 0);
- if (h == 0) return;
-
- /* Mark all objects if appropriate. */
- if (IS_UNCOLLECTABLE(kind)) GC_set_hdr_marks(HDR(h));
-
- /* Handle small objects sizes more efficiently. For larger objects */
- /* the difference is less significant. */
-# ifndef SMALL_CONFIG
- switch (sz) {
- case 1: GC_obj_kinds[kind].ok_freelist[1] =
- GC_build_fl1(h, GC_obj_kinds[kind].ok_freelist[1]);
- return;
- case 2: if (clear) {
- GC_obj_kinds[kind].ok_freelist[2] =
- GC_build_fl_clear2(h, GC_obj_kinds[kind].ok_freelist[2]);
- } else {
- GC_obj_kinds[kind].ok_freelist[2] =
- GC_build_fl2(h, GC_obj_kinds[kind].ok_freelist[2]);
- }
- return;
- case 3: if (clear) {
- GC_obj_kinds[kind].ok_freelist[3] =
- GC_build_fl_clear3(h, GC_obj_kinds[kind].ok_freelist[3]);
- return;
- } else {
- /* It's messy to do better than the default here. */
- break;
- }
- case 4: if (clear) {
- GC_obj_kinds[kind].ok_freelist[4] =
- GC_build_fl_clear4(h, GC_obj_kinds[kind].ok_freelist[4]);
- } else {
- GC_obj_kinds[kind].ok_freelist[4] =
- GC_build_fl4(h, GC_obj_kinds[kind].ok_freelist[4]);
- }
- return;
- default:
- break;
- }
-# endif /* !SMALL_CONFIG */
-
- /* Clear the page if necessary. */
- if (clear) BZERO(h, HBLKSIZE);
-
- /* Add objects to free list */
- p = &(h -> hb_body[sz]); /* second object in *h */
- prev = &(h -> hb_body[0]); /* One object behind p */
- last_object = (word *)((char *)h + HBLKSIZE);
- last_object -= sz;
- /* Last place for last object to start */
-
- /* make a list of all objects in *h with head as last object */
- while (p <= last_object) {
- /* current object's link points to last object */
- obj_link(p) = (ptr_t)prev;
- prev = p;
- p += sz;
- }
- p -= sz; /* p now points to last object */
-
- /*
- * put p (which is now head of list of objects in *h) as first
- * pointer in the appropriate free list for this size.
- */
- obj_link(h -> hb_body) = GC_obj_kinds[kind].ok_freelist[sz];
- GC_obj_kinds[kind].ok_freelist[sz] = ((ptr_t)p);
-}
-
diff --git a/boehm-gc/obj_map.c b/boehm-gc/obj_map.c
deleted file mode 100644
index 82ebf311983..00000000000
--- a/boehm-gc/obj_map.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991, 1992 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, October 9, 1995 1:09 pm PDT */
-
-/* Routines for maintaining maps describing heap block
- * layouts for various object sizes. Allows fast pointer validity checks
- * and fast location of object start locations on machines (such as SPARC)
- * with slow division.
- */
-
-# include "gc_priv.h"
-
-char * GC_invalid_map = 0;
-
-/* Invalidate the object map associated with a block. Free blocks */
-/* are identified by invalid maps. */
-void GC_invalidate_map(hhdr)
-hdr *hhdr;
-{
- register int displ;
-
- if (GC_invalid_map == 0) {
- GC_invalid_map = GC_scratch_alloc(MAP_SIZE);
- if (GC_invalid_map == 0) {
- GC_err_printf0(
- "Cant initialize GC_invalid_map: insufficient memory\n");
- EXIT();
- }
- for (displ = 0; displ < HBLKSIZE; displ++) {
- MAP_ENTRY(GC_invalid_map, displ) = OBJ_INVALID;
- }
- }
- hhdr -> hb_map = GC_invalid_map;
-}
-
-/* Consider pointers that are offset bytes displaced from the beginning */
-/* of an object to be valid. */
-
-# if defined(__STDC__) || defined(__cplusplus)
- void GC_register_displacement(GC_word offset)
-# else
- void GC_register_displacement(offset)
- GC_word offset;
-# endif
-{
-# ifndef ALL_INTERIOR_POINTERS
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- GC_register_displacement_inner(offset);
- UNLOCK();
- ENABLE_SIGNALS();
-# endif
-}
-
-void GC_register_displacement_inner(offset)
-word offset;
-{
-# ifndef ALL_INTERIOR_POINTERS
- register unsigned i;
-
- if (offset > MAX_OFFSET) {
- ABORT("Bad argument to GC_register_displacement");
- }
- if (!GC_valid_offsets[offset]) {
- GC_valid_offsets[offset] = TRUE;
- GC_modws_valid_offsets[offset % sizeof(word)] = TRUE;
- for (i = 0; i <= MAXOBJSZ; i++) {
- if (GC_obj_map[i] != 0) {
- if (i == 0) {
- GC_obj_map[i][offset + HDR_BYTES] = (char)BYTES_TO_WORDS(offset);
- } else {
- register unsigned j;
- register unsigned lb = WORDS_TO_BYTES(i);
-
- if (offset < lb) {
- for (j = offset + HDR_BYTES; j < HBLKSIZE; j += lb) {
- GC_obj_map[i][j] = (char)BYTES_TO_WORDS(offset);
- }
- }
- }
- }
- }
- }
-# endif
-}
-
-
-/* Add a heap block map for objects of size sz to obj_map. */
-/* Return FALSE on failure. */
-GC_bool GC_add_map_entry(sz)
-word sz;
-{
- register unsigned obj_start;
- register unsigned displ;
- register char * new_map;
-
- if (sz > MAXOBJSZ) sz = 0;
- if (GC_obj_map[sz] != 0) {
- return(TRUE);
- }
- new_map = GC_scratch_alloc(MAP_SIZE);
- if (new_map == 0) return(FALSE);
-# ifdef PRINTSTATS
- GC_printf1("Adding block map for size %lu\n", (unsigned long)sz);
-# endif
- for (displ = 0; displ < HBLKSIZE; displ++) {
- MAP_ENTRY(new_map,displ) = OBJ_INVALID;
- }
- if (sz == 0) {
- for(displ = 0; displ <= MAX_OFFSET; displ++) {
- if (OFFSET_VALID(displ)) {
- MAP_ENTRY(new_map,displ+HDR_BYTES) = BYTES_TO_WORDS(displ);
- }
- }
- } else {
- for (obj_start = HDR_BYTES;
- obj_start + WORDS_TO_BYTES(sz) <= HBLKSIZE;
- obj_start += WORDS_TO_BYTES(sz)) {
- for (displ = 0; displ < WORDS_TO_BYTES(sz); displ++) {
- if (OFFSET_VALID(displ)) {
- MAP_ENTRY(new_map, obj_start + displ) =
- BYTES_TO_WORDS(displ);
- }
- }
- }
- }
- GC_obj_map[sz] = new_map;
- return(TRUE);
-}
diff --git a/boehm-gc/os_dep.c b/boehm-gc/os_dep.c
deleted file mode 100644
index f05e94d14c9..00000000000
--- a/boehm-gc/os_dep.c
+++ /dev/null
@@ -1,2231 +0,0 @@
-/*
- * Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996-1997 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-
-# include "gc_priv.h"
-
-# if defined(LINUX) && !defined(POWERPC)
-# include <linux/version.h>
-# if (LINUX_VERSION_CODE <= 0x10400)
- /* Ugly hack to get struct sigcontext_struct definition. Required */
- /* for some early 1.3.X releases. Will hopefully go away soon. */
- /* in some later Linux releases, asm/sigcontext.h may have to */
- /* be included instead. */
-# define __KERNEL__
-# include <asm/signal.h>
-# undef __KERNEL__
-# else
- /* Kernels prior to 2.1.1 defined struct sigcontext_struct instead of */
- /* struct sigcontext. libc6 (glibc2) uses "struct sigcontext" in */
- /* prototypes, so we have to include the top-level sigcontext.h to */
- /* make sure the former gets defined to be the latter if appropriate. */
-# include <features.h>
-# if 2 <= __GLIBC__ && 0 == __GLIBC_MINOR__
-# include <sigcontext.h>
-# else /* not 2 <= __GLIBC__ */
- /* libc5 doesn't have <sigcontext.h>: go directly with the kernel */
- /* one. Check LINUX_VERSION_CODE to see which we should reference. */
-# include <asm/sigcontext.h>
-# endif /* 2 <= __GLIBC__ */
-# endif
-# endif
-# if !defined(OS2) && !defined(PCR) && !defined(AMIGA) && !defined(MACOS)
-# include <sys/types.h>
-# if !defined(MSWIN32) && !defined(SUNOS4)
-# include <unistd.h>
-# endif
-# endif
-
-# include <stdio.h>
-# include <signal.h>
-
-/* Blatantly OS dependent routines, except for those that are related */
-/* dynamic loading. */
-
-# if !defined(THREADS) && !defined(STACKBOTTOM) && defined(HEURISTIC2)
-# define NEED_FIND_LIMIT
-# endif
-
-# if defined(IRIX_THREADS)
-# define NEED_FIND_LIMIT
-# endif
-
-# if (defined(SUNOS4) & defined(DYNAMIC_LOADING)) && !defined(PCR)
-# define NEED_FIND_LIMIT
-# endif
-
-# if (defined(SVR4) || defined(AUX) || defined(DGUX)) && !defined(PCR)
-# define NEED_FIND_LIMIT
-# endif
-
-# if defined(LINUX) && defined(POWERPC)
-# define NEED_FIND_LIMIT
-# endif
-
-#ifdef NEED_FIND_LIMIT
-# include <setjmp.h>
-#endif
-
-#ifdef FREEBSD
-# include <machine/trap.h>
-#endif
-
-#ifdef AMIGA
-# include <proto/exec.h>
-# include <proto/dos.h>
-# include <dos/dosextens.h>
-# include <workbench/startup.h>
-#endif
-
-#ifdef MSWIN32
-# define WIN32_LEAN_AND_MEAN
-# define NOSERVICE
-# include <windows.h>
-#endif
-
-#ifdef MACOS
-# include <Processes.h>
-#endif
-
-#ifdef IRIX5
-# include <sys/uio.h>
-# include <malloc.h> /* for locking */
-#endif
-#ifdef USE_MMAP
-# include <sys/types.h>
-# include <sys/mman.h>
-# include <sys/stat.h>
-# include <fcntl.h>
-#endif
-
-#ifdef SUNOS5SIGS
-# include <sys/siginfo.h>
-# undef setjmp
-# undef longjmp
-# define setjmp(env) sigsetjmp(env, 1)
-# define longjmp(env, val) siglongjmp(env, val)
-# define jmp_buf sigjmp_buf
-#endif
-
-#ifdef DJGPP
- /* Apparently necessary for djgpp 2.01. May casuse problems with */
- /* other versions. */
- typedef long unsigned int caddr_t;
-#endif
-
-#ifdef PCR
-# include "il/PCR_IL.h"
-# include "th/PCR_ThCtl.h"
-# include "mm/PCR_MM.h"
-#endif
-
-#if !defined(NO_EXECUTE_PERMISSION)
-# define OPT_PROT_EXEC PROT_EXEC
-#else
-# define OPT_PROT_EXEC 0
-#endif
-
-#if defined(LINUX) && defined(POWERPC)
- ptr_t GC_data_start;
-
- void GC_init_linuxppc()
- {
- extern ptr_t GC_find_limit();
- extern char **_environ;
- /* This may need to be environ, without the underscore, for */
- /* some versions. */
- GC_data_start = GC_find_limit((ptr_t)&_environ, FALSE);
- }
-#endif
-
-# ifdef ECOS
-
-# ifndef ECOS_GC_MEMORY_SIZE
-# define ECOS_GC_MEMORY_SIZE (448 * 1024)
-# endif /* ECOS_GC_MEMORY_SIZE */
-
-// setjmp() function, as described in ANSI para 7.6.1.1
-#define setjmp( __env__ ) hal_setjmp( __env__ )
-
-// FIXME: This is a simple way of allocating memory which is
-// compatible with ECOS early releases. Later releases use a more
-// sophisticated means of allocating memory than this simple static
-// allocator, but this method is at least bound to work.
-static char memory[ECOS_GC_MEMORY_SIZE];
-static char *brk = memory;
-
-static void *tiny_sbrk(ptrdiff_t increment)
-{
- void *p = brk;
-
- brk += increment;
-
- if (brk > memory + sizeof memory)
- {
- brk -= increment;
- return NULL;
- }
-
- return p;
-}
-#define sbrk tiny_sbrk
-# endif /* ECOS */
-
-# ifdef OS2
-
-# include <stddef.h>
-
-# if !defined(__IBMC__) && !defined(__WATCOMC__) /* e.g. EMX */
-
-struct exe_hdr {
- unsigned short magic_number;
- unsigned short padding[29];
- long new_exe_offset;
-};
-
-#define E_MAGIC(x) (x).magic_number
-#define EMAGIC 0x5A4D
-#define E_LFANEW(x) (x).new_exe_offset
-
-struct e32_exe {
- unsigned char magic_number[2];
- unsigned char byte_order;
- unsigned char word_order;
- unsigned long exe_format_level;
- unsigned short cpu;
- unsigned short os;
- unsigned long padding1[13];
- unsigned long object_table_offset;
- unsigned long object_count;
- unsigned long padding2[31];
-};
-
-#define E32_MAGIC1(x) (x).magic_number[0]
-#define E32MAGIC1 'L'
-#define E32_MAGIC2(x) (x).magic_number[1]
-#define E32MAGIC2 'X'
-#define E32_BORDER(x) (x).byte_order
-#define E32LEBO 0
-#define E32_WORDER(x) (x).word_order
-#define E32LEWO 0
-#define E32_CPU(x) (x).cpu
-#define E32CPU286 1
-#define E32_OBJTAB(x) (x).object_table_offset
-#define E32_OBJCNT(x) (x).object_count
-
-struct o32_obj {
- unsigned long size;
- unsigned long base;
- unsigned long flags;
- unsigned long pagemap;
- unsigned long mapsize;
- unsigned long reserved;
-};
-
-#define O32_FLAGS(x) (x).flags
-#define OBJREAD 0x0001L
-#define OBJWRITE 0x0002L
-#define OBJINVALID 0x0080L
-#define O32_SIZE(x) (x).size
-#define O32_BASE(x) (x).base
-
-# else /* IBM's compiler */
-
-/* A kludge to get around what appears to be a header file bug */
-# ifndef WORD
-# define WORD unsigned short
-# endif
-# ifndef DWORD
-# define DWORD unsigned long
-# endif
-
-# define EXE386 1
-# include <newexe.h>
-# include <exe386.h>
-
-# endif /* __IBMC__ */
-
-# define INCL_DOSEXCEPTIONS
-# define INCL_DOSPROCESS
-# define INCL_DOSERRORS
-# define INCL_DOSMODULEMGR
-# define INCL_DOSMEMMGR
-# include <os2.h>
-
-
-/* Disable and enable signals during nontrivial allocations */
-
-void GC_disable_signals(void)
-{
- ULONG nest;
-
- DosEnterMustComplete(&nest);
- if (nest != 1) ABORT("nested GC_disable_signals");
-}
-
-void GC_enable_signals(void)
-{
- ULONG nest;
-
- DosExitMustComplete(&nest);
- if (nest != 0) ABORT("GC_enable_signals");
-}
-
-
-# else
-
-# if !defined(PCR) && !defined(AMIGA) && !defined(MSWIN32) \
- && !defined(MACOS) && !defined(DJGPP) && !defined(DOS4GW) \
- && !defined(NO_SIGSET)
-
-# if defined(sigmask) && !defined(UTS4)
- /* Use the traditional BSD interface */
-# define SIGSET_T int
-# define SIG_DEL(set, signal) (set) &= ~(sigmask(signal))
-# define SIG_FILL(set) (set) = 0x7fffffff
- /* Setting the leading bit appears to provoke a bug in some */
- /* longjmp implementations. Most systems appear not to have */
- /* a signal 32. */
-# define SIGSETMASK(old, new) (old) = sigsetmask(new)
-# else
- /* Use POSIX/SYSV interface */
-# define SIGSET_T sigset_t
-# define SIG_DEL(set, signal) sigdelset(&(set), (signal))
-# define SIG_FILL(set) sigfillset(&set)
-# define SIGSETMASK(old, new) sigprocmask(SIG_SETMASK, &(new), &(old))
-# endif
-
-static GC_bool mask_initialized = FALSE;
-
-static SIGSET_T new_mask;
-
-static SIGSET_T old_mask;
-
-static SIGSET_T dummy;
-
-#if defined(PRINTSTATS) && !defined(THREADS)
-# define CHECK_SIGNALS
- int GC_sig_disabled = 0;
-#endif
-
-void GC_disable_signals()
-{
- if (!mask_initialized) {
- SIG_FILL(new_mask);
-
- SIG_DEL(new_mask, SIGSEGV);
- SIG_DEL(new_mask, SIGILL);
- SIG_DEL(new_mask, SIGQUIT);
-# ifdef SIGBUS
- SIG_DEL(new_mask, SIGBUS);
-# endif
-# ifdef SIGIOT
- SIG_DEL(new_mask, SIGIOT);
-# endif
-# ifdef SIGEMT
- SIG_DEL(new_mask, SIGEMT);
-# endif
-# ifdef SIGTRAP
- SIG_DEL(new_mask, SIGTRAP);
-# endif
- mask_initialized = TRUE;
- }
-# ifdef CHECK_SIGNALS
- if (GC_sig_disabled != 0) ABORT("Nested disables");
- GC_sig_disabled++;
-# endif
- SIGSETMASK(old_mask,new_mask);
-}
-
-void GC_enable_signals()
-{
-# ifdef CHECK_SIGNALS
- if (GC_sig_disabled != 1) ABORT("Unmatched enable");
- GC_sig_disabled--;
-# endif
- SIGSETMASK(dummy,old_mask);
-}
-
-# endif /* !PCR */
-
-# endif /*!OS/2 */
-
-/* Ivan Demakov: simplest way (to me) */
-#if defined (DOS4GW) || defined (NO_SIGSET)
- void GC_disable_signals() { }
- void GC_enable_signals() { }
-#endif
-
-/* Find the page size */
-word GC_page_size;
-
-# ifdef MSWIN32
- void GC_setpagesize()
- {
- SYSTEM_INFO sysinfo;
-
- GetSystemInfo(&sysinfo);
- GC_page_size = sysinfo.dwPageSize;
- }
-
-# else
-# if defined(MPROTECT_VDB) || defined(PROC_VDB) || defined(USE_MMAP)
- void GC_setpagesize()
- {
- GC_page_size = GETPAGESIZE();
- }
-# else
- /* It's acceptable to fake it. */
- void GC_setpagesize()
- {
- GC_page_size = HBLKSIZE;
- }
-# endif
-# endif
-
-/*
- * Find the base of the stack.
- * Used only in single-threaded environment.
- * With threads, GC_mark_roots needs to know how to do this.
- * Called with allocator lock held.
- */
-# ifdef MSWIN32
-# define is_writable(prot) ((prot) == PAGE_READWRITE \
- || (prot) == PAGE_WRITECOPY \
- || (prot) == PAGE_EXECUTE_READWRITE \
- || (prot) == PAGE_EXECUTE_WRITECOPY)
-/* Return the number of bytes that are writable starting at p. */
-/* The pointer p is assumed to be page aligned. */
-/* If base is not 0, *base becomes the beginning of the */
-/* allocation region containing p. */
-word GC_get_writable_length(ptr_t p, ptr_t *base)
-{
- MEMORY_BASIC_INFORMATION buf;
- word result;
- word protect;
-
- result = VirtualQuery(p, &buf, sizeof(buf));
- if (result != sizeof(buf)) ABORT("Weird VirtualQuery result");
- if (base != 0) *base = (ptr_t)(buf.AllocationBase);
- protect = (buf.Protect & ~(PAGE_GUARD | PAGE_NOCACHE));
- if (!is_writable(protect)) {
- return(0);
- }
- if (buf.State != MEM_COMMIT) return(0);
- return(buf.RegionSize);
-}
-
-ptr_t GC_get_stack_base()
-{
- int dummy;
- ptr_t sp = (ptr_t)(&dummy);
- ptr_t trunc_sp = (ptr_t)((word)sp & ~(GC_page_size - 1));
- word size = GC_get_writable_length(trunc_sp, 0);
-
- return(trunc_sp + size);
-}
-
-
-# else
-
-# ifdef OS2
-
-ptr_t GC_get_stack_base()
-{
- PTIB ptib;
- PPIB ppib;
-
- if (DosGetInfoBlocks(&ptib, &ppib) != NO_ERROR) {
- GC_err_printf0("DosGetInfoBlocks failed\n");
- ABORT("DosGetInfoBlocks failed\n");
- }
- return((ptr_t)(ptib -> tib_pstacklimit));
-}
-
-# else
-
-# ifdef AMIGA
-
-ptr_t GC_get_stack_base()
-{
- extern struct WBStartup *_WBenchMsg;
- extern long __base;
- extern long __stack;
- struct Task *task;
- struct Process *proc;
- struct CommandLineInterface *cli;
- long size;
-
- if ((task = FindTask(0)) == 0) {
- GC_err_puts("Cannot find own task structure\n");
- ABORT("task missing");
- }
- proc = (struct Process *)task;
- cli = BADDR(proc->pr_CLI);
-
- if (_WBenchMsg != 0 || cli == 0) {
- size = (char *)task->tc_SPUpper - (char *)task->tc_SPLower;
- } else {
- size = cli->cli_DefaultStack * 4;
- }
- return (ptr_t)(__base + GC_max(size, __stack));
-}
-
-# else
-
-
-
-# ifdef NEED_FIND_LIMIT
- /* Some tools to implement HEURISTIC2 */
-# define MIN_PAGE_SIZE 256 /* Smallest conceivable page size, bytes */
- /* static */ jmp_buf GC_jmp_buf;
-
- /*ARGSUSED*/
- void GC_fault_handler(sig)
- int sig;
- {
- longjmp(GC_jmp_buf, 1);
- }
-
-# ifdef __STDC__
- typedef void (*handler)(int);
-# else
- typedef void (*handler)();
-# endif
-
-# if defined(SUNOS5SIGS) || defined(IRIX5)
- static struct sigaction old_segv_act;
- static struct sigaction old_bus_act;
-# else
- static handler old_segv_handler, old_bus_handler;
-# endif
-
- void GC_setup_temporary_fault_handler()
- {
-# ifndef ECOS
-# if defined(SUNOS5SIGS) || defined(IRIX5)
- struct sigaction act;
-
- act.sa_handler = GC_fault_handler;
- act.sa_flags = SA_RESTART | SA_NODEFER;
- /* The presence of SA_NODEFER represents yet another gross */
- /* hack. Under Solaris 2.3, siglongjmp doesn't appear to */
- /* interact correctly with -lthread. We hide the confusion */
- /* by making sure that signal handling doesn't affect the */
- /* signal mask. */
-
- (void) sigemptyset(&act.sa_mask);
-# ifdef IRIX_THREADS
- /* Older versions have a bug related to retrieving and */
- /* and setting a handler at the same time. */
- (void) sigaction(SIGSEGV, 0, &old_segv_act);
- (void) sigaction(SIGSEGV, &act, 0);
-# else
- (void) sigaction(SIGSEGV, &act, &old_segv_act);
-# ifdef _sigargs /* Irix 5.x, not 6.x */
- /* Under 5.x, we may get SIGBUS. */
- /* Pthreads doesn't exist under 5.x, so we don't */
- /* have to worry in the threads case. */
- (void) sigaction(SIGBUS, &act, &old_bus_act);
-# endif
-# endif /* IRIX_THREADS */
-# else
- old_segv_handler = signal(SIGSEGV, GC_fault_handler);
-# ifdef SIGBUS
- old_bus_handler = signal(SIGBUS, GC_fault_handler);
-# endif
-# endif
-# endif /* ECOS */
- }
-
- void GC_reset_fault_handler()
- {
-# ifndef ECOS
-# if defined(SUNOS5SIGS) || defined(IRIX5)
- (void) sigaction(SIGSEGV, &old_segv_act, 0);
-# ifdef _sigargs /* Irix 5.x, not 6.x */
- (void) sigaction(SIGBUS, &old_bus_act, 0);
-# endif
-# else
- (void) signal(SIGSEGV, old_segv_handler);
-# ifdef SIGBUS
- (void) signal(SIGBUS, old_bus_handler);
-# endif
-# endif
-# endif /* ECOS */
- }
-
- /* Return the first nonaddressible location > p (up) or */
- /* the smallest location q s.t. [q,p] is addressible (!up). */
- ptr_t GC_find_limit(p, up)
- ptr_t p;
- GC_bool up;
- {
-# ifndef ECOS
- static VOLATILE ptr_t result;
- /* Needs to be static, since otherwise it may not be */
- /* preserved across the longjmp. Can safely be */
- /* static since it's only called once, with the */
- /* allocation lock held. */
-
-
- GC_setup_temporary_fault_handler();
- if (setjmp(GC_jmp_buf) == 0) {
- result = (ptr_t)(((word)(p))
- & ~(MIN_PAGE_SIZE-1));
- for (;;) {
- if (up) {
- result += MIN_PAGE_SIZE;
- } else {
- result -= MIN_PAGE_SIZE;
- }
- GC_noop1((word)(*result));
- }
- }
- GC_reset_fault_handler();
- if (!up) {
- result += MIN_PAGE_SIZE;
- }
- return(result);
-# else /* ECOS */
- abort();
-# endif /* ECOS */
- }
-# endif
-
-
-# ifndef ECOS
-ptr_t GC_get_stack_base()
-{
- word dummy;
- ptr_t result;
-
-# define STACKBOTTOM_ALIGNMENT_M1 ((word)STACK_GRAN - 1)
-
-# if defined(STACKBASE)
- extern ptr_t STACKBASE;
- return(STACKBASE);
-# else
-# ifdef STACKBOTTOM
- return(STACKBOTTOM);
-# else
-# ifdef HEURISTIC1
-# ifdef STACK_GROWS_DOWN
- result = (ptr_t)((((word)(&dummy))
- + STACKBOTTOM_ALIGNMENT_M1)
- & ~STACKBOTTOM_ALIGNMENT_M1);
-# else
- result = (ptr_t)(((word)(&dummy))
- & ~STACKBOTTOM_ALIGNMENT_M1);
-# endif
-# endif /* HEURISTIC1 */
-# ifdef HEURISTIC2
-# ifdef STACK_GROWS_DOWN
- result = GC_find_limit((ptr_t)(&dummy), TRUE);
-# ifdef HEURISTIC2_LIMIT
- if (result > HEURISTIC2_LIMIT
- && (ptr_t)(&dummy) < HEURISTIC2_LIMIT) {
- result = HEURISTIC2_LIMIT;
- }
-# endif
-# else
- result = GC_find_limit((ptr_t)(&dummy), FALSE);
-# ifdef HEURISTIC2_LIMIT
- if (result < HEURISTIC2_LIMIT
- && (ptr_t)(&dummy) > HEURISTIC2_LIMIT) {
- result = HEURISTIC2_LIMIT;
- }
-# endif
-# endif
-
-# endif /* HEURISTIC2 */
- return(result);
-# endif /* STACKBOTTOM */
-# endif /* STACKBASE */
-}
-# endif /* ECOS */
-
-# endif /* ! AMIGA */
-# endif /* ! OS2 */
-# endif /* ! MSWIN32 */
-
-/*
- * Register static data segment(s) as roots.
- * If more data segments are added later then they need to be registered
- * add that point (as we do with SunOS dynamic loading),
- * or GC_mark_roots needs to check for them (as we do with PCR).
- * Called with allocator lock held.
- */
-
-# ifdef OS2
-
-void GC_register_data_segments()
-{
- PTIB ptib;
- PPIB ppib;
- HMODULE module_handle;
-# define PBUFSIZ 512
- UCHAR path[PBUFSIZ];
- FILE * myexefile;
- struct exe_hdr hdrdos; /* MSDOS header. */
- struct e32_exe hdr386; /* Real header for my executable */
- struct o32_obj seg; /* Currrent segment */
- int nsegs;
-
-
- if (DosGetInfoBlocks(&ptib, &ppib) != NO_ERROR) {
- GC_err_printf0("DosGetInfoBlocks failed\n");
- ABORT("DosGetInfoBlocks failed\n");
- }
- module_handle = ppib -> pib_hmte;
- if (DosQueryModuleName(module_handle, PBUFSIZ, path) != NO_ERROR) {
- GC_err_printf0("DosQueryModuleName failed\n");
- ABORT("DosGetInfoBlocks failed\n");
- }
- myexefile = fopen(path, "rb");
- if (myexefile == 0) {
- GC_err_puts("Couldn't open executable ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Failed to open executable\n");
- }
- if (fread((char *)(&hdrdos), 1, sizeof hdrdos, myexefile) < sizeof hdrdos) {
- GC_err_puts("Couldn't read MSDOS header from ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Couldn't read MSDOS header");
- }
- if (E_MAGIC(hdrdos) != EMAGIC) {
- GC_err_puts("Executable has wrong DOS magic number: ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Bad DOS magic number");
- }
- if (fseek(myexefile, E_LFANEW(hdrdos), SEEK_SET) != 0) {
- GC_err_puts("Seek to new header failed in ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Bad DOS magic number");
- }
- if (fread((char *)(&hdr386), 1, sizeof hdr386, myexefile) < sizeof hdr386) {
- GC_err_puts("Couldn't read MSDOS header from ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Couldn't read OS/2 header");
- }
- if (E32_MAGIC1(hdr386) != E32MAGIC1 || E32_MAGIC2(hdr386) != E32MAGIC2) {
- GC_err_puts("Executable has wrong OS/2 magic number:");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Bad OS/2 magic number");
- }
- if ( E32_BORDER(hdr386) != E32LEBO || E32_WORDER(hdr386) != E32LEWO) {
- GC_err_puts("Executable %s has wrong byte order: ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Bad byte order");
- }
- if ( E32_CPU(hdr386) == E32CPU286) {
- GC_err_puts("GC can't handle 80286 executables: ");
- GC_err_puts(path); GC_err_puts("\n");
- EXIT();
- }
- if (fseek(myexefile, E_LFANEW(hdrdos) + E32_OBJTAB(hdr386),
- SEEK_SET) != 0) {
- GC_err_puts("Seek to object table failed: ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Seek to object table failed");
- }
- for (nsegs = E32_OBJCNT(hdr386); nsegs > 0; nsegs--) {
- int flags;
- if (fread((char *)(&seg), 1, sizeof seg, myexefile) < sizeof seg) {
- GC_err_puts("Couldn't read obj table entry from ");
- GC_err_puts(path); GC_err_puts("\n");
- ABORT("Couldn't read obj table entry");
- }
- flags = O32_FLAGS(seg);
- if (!(flags & OBJWRITE)) continue;
- if (!(flags & OBJREAD)) continue;
- if (flags & OBJINVALID) {
- GC_err_printf0("Object with invalid pages?\n");
- continue;
- }
- GC_add_roots_inner(O32_BASE(seg), O32_BASE(seg)+O32_SIZE(seg), FALSE);
- }
-}
-
-# else
-
-# ifdef MSWIN32
- /* Unfortunately, we have to handle win32s very differently from NT, */
- /* Since VirtualQuery has very different semantics. In particular, */
- /* under win32s a VirtualQuery call on an unmapped page returns an */
- /* invalid result. Under GC_register_data_segments is a noop and */
- /* all real work is done by GC_register_dynamic_libraries. Under */
- /* win32s, we cannot find the data segments associated with dll's. */
- /* We rgister the main data segment here. */
- GC_bool GC_win32s = FALSE; /* We're running under win32s. */
-
- GC_bool GC_is_win32s()
- {
- DWORD v = GetVersion();
-
- /* Check that this is not NT, and Windows major version <= 3 */
- return ((v & 0x80000000) && (v & 0xff) <= 3);
- }
-
- void GC_init_win32()
- {
- GC_win32s = GC_is_win32s();
- }
-
- /* Return the smallest address a such that VirtualQuery */
- /* returns correct results for all addresses between a and start. */
- /* Assumes VirtualQuery returns correct information for start. */
- ptr_t GC_least_described_address(ptr_t start)
- {
- MEMORY_BASIC_INFORMATION buf;
- SYSTEM_INFO sysinfo;
- DWORD result;
- LPVOID limit;
- ptr_t p;
- LPVOID q;
-
- GetSystemInfo(&sysinfo);
- limit = sysinfo.lpMinimumApplicationAddress;
- p = (ptr_t)((word)start & ~(GC_page_size - 1));
- for (;;) {
- q = (LPVOID)(p - GC_page_size);
- if ((ptr_t)q > (ptr_t)p /* underflow */ || q < limit) break;
- result = VirtualQuery(q, &buf, sizeof(buf));
- if (result != sizeof(buf) || buf.AllocationBase == 0) break;
- p = (ptr_t)(buf.AllocationBase);
- }
- return(p);
- }
-
- /* Is p the start of either the malloc heap, or of one of our */
- /* heap sections? */
- GC_bool GC_is_heap_base (ptr_t p)
- {
-
- register unsigned i;
-
-# ifndef REDIRECT_MALLOC
- static ptr_t malloc_heap_pointer = 0;
-
- if (0 == malloc_heap_pointer) {
- MEMORY_BASIC_INFORMATION buf;
- register DWORD result = VirtualQuery(malloc(1), &buf, sizeof(buf));
-
- if (result != sizeof(buf)) {
- ABORT("Weird VirtualQuery result");
- }
- malloc_heap_pointer = (ptr_t)(buf.AllocationBase);
- }
- if (p == malloc_heap_pointer) return(TRUE);
-# endif
- for (i = 0; i < GC_n_heap_bases; i++) {
- if (GC_heap_bases[i] == p) return(TRUE);
- }
- return(FALSE);
- }
-
- void GC_register_root_section(ptr_t static_root)
- {
- MEMORY_BASIC_INFORMATION buf;
- SYSTEM_INFO sysinfo;
- DWORD result;
- DWORD protect;
- LPVOID p;
- char * base;
- char * limit, * new_limit;
-
- if (!GC_win32s) return;
- p = base = limit = GC_least_described_address(static_root);
- GetSystemInfo(&sysinfo);
- while (p < sysinfo.lpMaximumApplicationAddress) {
- result = VirtualQuery(p, &buf, sizeof(buf));
- if (result != sizeof(buf) || buf.AllocationBase == 0
- || GC_is_heap_base(buf.AllocationBase)) break;
- new_limit = (char *)p + buf.RegionSize;
- protect = buf.Protect;
- if (buf.State == MEM_COMMIT
- && is_writable(protect)) {
- if ((char *)p == limit) {
- limit = new_limit;
- } else {
- if (base != limit) GC_add_roots_inner(base, limit, FALSE);
- base = p;
- limit = new_limit;
- }
- }
- if (p > (LPVOID)new_limit /* overflow */) break;
- p = (LPVOID)new_limit;
- }
- if (base != limit) GC_add_roots_inner(base, limit, FALSE);
- }
-
- void GC_register_data_segments()
- {
- static char dummy;
-
- GC_register_root_section((ptr_t)(&dummy));
- }
-# else
-# ifdef AMIGA
-
- void GC_register_data_segments()
- {
- extern struct WBStartup *_WBenchMsg;
- struct Process *proc;
- struct CommandLineInterface *cli;
- BPTR myseglist;
- ULONG *data;
-
- if ( _WBenchMsg != 0 ) {
- if ((myseglist = _WBenchMsg->sm_Segment) == 0) {
- GC_err_puts("No seglist from workbench\n");
- return;
- }
- } else {
- if ((proc = (struct Process *)FindTask(0)) == 0) {
- GC_err_puts("Cannot find process structure\n");
- return;
- }
- if ((cli = BADDR(proc->pr_CLI)) == 0) {
- GC_err_puts("No CLI\n");
- return;
- }
- if ((myseglist = cli->cli_Module) == 0) {
- GC_err_puts("No seglist from CLI\n");
- return;
- }
- }
-
- for (data = (ULONG *)BADDR(myseglist); data != 0;
- data = (ULONG *)BADDR(data[0])) {
-# ifdef AMIGA_SKIP_SEG
- if (((ULONG) GC_register_data_segments < (ULONG) &data[1]) ||
- ((ULONG) GC_register_data_segments > (ULONG) &data[1] + data[-1])) {
-# else
- {
-# endif /* AMIGA_SKIP_SEG */
- GC_add_roots_inner((char *)&data[1],
- ((char *)&data[1]) + data[-1], FALSE);
- }
- }
- }
-
-
-# else
-
-# if (defined(SVR4) || defined(AUX) || defined(DGUX)) && !defined(PCR)
-char * GC_SysVGetDataStart(max_page_size, etext_addr)
-int max_page_size;
-int * etext_addr;
-{
- word text_end = ((word)(etext_addr) + sizeof(word) - 1)
- & ~(sizeof(word) - 1);
- /* etext rounded to word boundary */
- word next_page = ((text_end + (word)max_page_size - 1)
- & ~((word)max_page_size - 1));
- word page_offset = (text_end & ((word)max_page_size - 1));
- VOLATILE char * result = (char *)(next_page + page_offset);
- /* Note that this isnt equivalent to just adding */
- /* max_page_size to &etext if &etext is at a page boundary */
-
- GC_setup_temporary_fault_handler();
- if (setjmp(GC_jmp_buf) == 0) {
- /* Try writing to the address. */
- *result = *result;
- GC_reset_fault_handler();
- } else {
- GC_reset_fault_handler();
- /* We got here via a longjmp. The address is not readable. */
- /* This is known to happen under Solaris 2.4 + gcc, which place */
- /* string constants in the text segment, but after etext. */
- /* Use plan B. Note that we now know there is a gap between */
- /* text and data segments, so plan A bought us something. */
- result = (char *)GC_find_limit((ptr_t)(DATAEND) - MIN_PAGE_SIZE, FALSE);
- }
- return((char *)result);
-}
-# endif
-
-
-void GC_register_data_segments()
-{
-# if !defined(PCR) && !defined(SRC_M3) && !defined(NEXT) && !defined(MACOS)
-# if defined(REDIRECT_MALLOC) && defined(SOLARIS_THREADS)
- /* As of Solaris 2.3, the Solaris threads implementation */
- /* allocates the data structure for the initial thread with */
- /* sbrk at process startup. It needs to be scanned, so that */
- /* we don't lose some malloc allocated data structures */
- /* hanging from it. We're on thin ice here ... */
- extern caddr_t sbrk();
-
- GC_add_roots_inner(DATASTART, (char *)sbrk(0), FALSE);
-# else
- GC_add_roots_inner(DATASTART, (char *)(DATAEND), FALSE);
-# endif
-# endif
-# if !defined(PCR) && defined(NEXT)
- GC_add_roots_inner(DATASTART, (char *) get_end(), FALSE);
-# endif
-# if defined(MACOS)
- {
-# if defined(THINK_C)
- extern void* GC_MacGetDataStart(void);
- /* globals begin above stack and end at a5. */
- GC_add_roots_inner((ptr_t)GC_MacGetDataStart(),
- (ptr_t)LMGetCurrentA5(), FALSE);
-# else
-# if defined(__MWERKS__)
-# if !__POWERPC__
- extern void* GC_MacGetDataStart(void);
- /* globals begin above stack and end at a5. */
- GC_add_roots_inner((ptr_t)GC_MacGetDataStart(),
- (ptr_t)LMGetCurrentA5(), FALSE);
-# else
- extern char __data_start__[], __data_end__[];
- GC_add_roots_inner((ptr_t)&__data_start__,
- (ptr_t)&__data_end__, FALSE);
-# endif /* __POWERPC__ */
-# endif /* __MWERKS__ */
-# endif /* !THINK_C */
- }
-# endif /* MACOS */
-
- /* Dynamic libraries are added at every collection, since they may */
- /* change. */
-}
-
-# endif /* ! AMIGA */
-# endif /* ! MSWIN32 */
-# endif /* ! OS2 */
-
-/*
- * Auxiliary routines for obtaining memory from OS.
- */
-
-# if !defined(OS2) && !defined(PCR) && !defined(AMIGA) \
- && !defined(MSWIN32) && !defined(MACOS) && !defined(DOS4GW)
-
-# ifdef SUNOS4
- extern caddr_t sbrk();
-# endif
-# ifdef __STDC__
-# define SBRK_ARG_T ptrdiff_t
-# else
-# define SBRK_ARG_T int
-# endif
-
-# ifdef RS6000
-/* The compiler seems to generate speculative reads one past the end of */
-/* an allocated object. Hence we need to make sure that the page */
-/* following the last heap page is also mapped. */
-ptr_t GC_unix_get_mem(bytes)
-word bytes;
-{
- caddr_t cur_brk = (caddr_t)sbrk(0);
- caddr_t result;
- SBRK_ARG_T lsbs = (word)cur_brk & (GC_page_size-1);
- static caddr_t my_brk_val = 0;
-
- if ((SBRK_ARG_T)bytes < 0) return(0); /* too big */
- if (lsbs != 0) {
- if((caddr_t)(sbrk(GC_page_size - lsbs)) == (caddr_t)(-1)) return(0);
- }
- if (cur_brk == my_brk_val) {
- /* Use the extra block we allocated last time. */
- result = (ptr_t)sbrk((SBRK_ARG_T)bytes);
- if (result == (caddr_t)(-1)) return(0);
- result -= GC_page_size;
- } else {
- result = (ptr_t)sbrk(GC_page_size + (SBRK_ARG_T)bytes);
- if (result == (caddr_t)(-1)) return(0);
- }
- my_brk_val = result + bytes + GC_page_size; /* Always page aligned */
- return((ptr_t)result);
-}
-
-#else /* Not RS6000 */
-
-#if defined(USE_MMAP)
-/* Tested only under IRIX5 */
-
-ptr_t GC_unix_get_mem(bytes)
-word bytes;
-{
- static GC_bool initialized = FALSE;
- static int fd;
- void *result;
- static ptr_t last_addr = HEAP_START;
-
- if (!initialized) {
- fd = open("/dev/zero", O_RDONLY);
- initialized = TRUE;
- }
- if (bytes & (GC_page_size -1)) ABORT("Bad GET_MEM arg");
- result = mmap(last_addr, bytes, PROT_READ | PROT_WRITE | OPT_PROT_EXEC,
- MAP_PRIVATE | MAP_FIXED, fd, 0/* offset */);
- if (result == MAP_FAILED) return(0);
- last_addr = (ptr_t)result + bytes + GC_page_size - 1;
- last_addr = (ptr_t)((word)last_addr & ~(GC_page_size - 1));
- return((ptr_t)result);
-}
-
-#else /* Not RS6000, not USE_MMAP */
-ptr_t GC_unix_get_mem(bytes)
-word bytes;
-{
- ptr_t result;
-# ifdef IRIX5
- /* Bare sbrk isn't thread safe. Play by malloc rules. */
- /* The equivalent may be needed on other systems as well. */
- __LOCK_MALLOC();
-# endif
- {
- ptr_t cur_brk = (ptr_t)sbrk(0);
- SBRK_ARG_T lsbs = (word)cur_brk & (GC_page_size-1);
-
- if ((SBRK_ARG_T)bytes < 0) return(0); /* too big */
- if (lsbs != 0) {
- if((ptr_t)sbrk(GC_page_size - lsbs) == (ptr_t)(-1)) return(0);
- }
- result = (ptr_t)sbrk((SBRK_ARG_T)bytes);
- if (result == (ptr_t)(-1)) result = 0;
- }
-# ifdef IRIX5
- __UNLOCK_MALLOC();
-# endif
- return(result);
-}
-
-#endif /* Not USE_MMAP */
-#endif /* Not RS6000 */
-
-# endif /* UN*X */
-
-# ifdef OS2
-
-void * os2_alloc(size_t bytes)
-{
- void * result;
-
- if (DosAllocMem(&result, bytes, PAG_EXECUTE | PAG_READ |
- PAG_WRITE | PAG_COMMIT)
- != NO_ERROR) {
- return(0);
- }
- if (result == 0) return(os2_alloc(bytes));
- return(result);
-}
-
-# endif /* OS2 */
-
-
-# ifdef MSWIN32
-word GC_n_heap_bases = 0;
-
-ptr_t GC_win32_get_mem(bytes)
-word bytes;
-{
- ptr_t result;
-
- if (GC_win32s) {
- /* VirtualAlloc doesn't like PAGE_EXECUTE_READWRITE. */
- /* There are also unconfirmed rumors of other */
- /* problems, so we dodge the issue. */
- result = (ptr_t) GlobalAlloc(0, bytes + HBLKSIZE);
- result = (ptr_t)(((word)result + HBLKSIZE) & ~(HBLKSIZE-1));
- } else {
- result = (ptr_t) VirtualAlloc(NULL, bytes,
- MEM_COMMIT | MEM_RESERVE,
- PAGE_EXECUTE_READWRITE);
- }
- if (HBLKDISPL(result) != 0) ABORT("Bad VirtualAlloc result");
- /* If I read the documentation correctly, this can */
- /* only happen if HBLKSIZE > 64k or not a power of 2. */
- if (GC_n_heap_bases >= MAX_HEAP_SECTS) ABORT("Too many heap sections");
- GC_heap_bases[GC_n_heap_bases++] = result;
- return(result);
-}
-
-# endif
-
-/* Routine for pushing any additional roots. In THREADS */
-/* environment, this is also responsible for marking from */
-/* thread stacks. In the SRC_M3 case, it also handles */
-/* global variables. */
-#ifndef THREADS
-void (*GC_push_other_roots)() = 0;
-#else /* THREADS */
-
-# ifdef PCR
-PCR_ERes GC_push_thread_stack(PCR_Th_T *t, PCR_Any dummy)
-{
- struct PCR_ThCtl_TInfoRep info;
- PCR_ERes result;
-
- info.ti_stkLow = info.ti_stkHi = 0;
- result = PCR_ThCtl_GetInfo(t, &info);
- GC_push_all_stack((ptr_t)(info.ti_stkLow), (ptr_t)(info.ti_stkHi));
- return(result);
-}
-
-/* Push the contents of an old object. We treat this as stack */
-/* data only becasue that makes it robust against mark stack */
-/* overflow. */
-PCR_ERes GC_push_old_obj(void *p, size_t size, PCR_Any data)
-{
- GC_push_all_stack((ptr_t)p, (ptr_t)p + size);
- return(PCR_ERes_okay);
-}
-
-
-void GC_default_push_other_roots()
-{
- /* Traverse data allocated by previous memory managers. */
- {
- extern struct PCR_MM_ProcsRep * GC_old_allocator;
-
- if ((*(GC_old_allocator->mmp_enumerate))(PCR_Bool_false,
- GC_push_old_obj, 0)
- != PCR_ERes_okay) {
- ABORT("Old object enumeration failed");
- }
- }
- /* Traverse all thread stacks. */
- if (PCR_ERes_IsErr(
- PCR_ThCtl_ApplyToAllOtherThreads(GC_push_thread_stack,0))
- || PCR_ERes_IsErr(GC_push_thread_stack(PCR_Th_CurrThread(), 0))) {
- ABORT("Thread stack marking failed\n");
- }
-}
-
-# endif /* PCR */
-
-# ifdef SRC_M3
-
-# ifdef ALL_INTERIOR_POINTERS
- --> misconfigured
-# endif
-
-
-extern void ThreadF__ProcessStacks();
-
-void GC_push_thread_stack(start, stop)
-word start, stop;
-{
- GC_push_all_stack((ptr_t)start, (ptr_t)stop + sizeof(word));
-}
-
-/* Push routine with M3 specific calling convention. */
-GC_m3_push_root(dummy1, p, dummy2, dummy3)
-word *p;
-ptr_t dummy1, dummy2;
-int dummy3;
-{
- word q = *p;
-
- if ((ptr_t)(q) >= GC_least_plausible_heap_addr
- && (ptr_t)(q) < GC_greatest_plausible_heap_addr) {
- GC_push_one_checked(q,FALSE);
- }
-}
-
-/* M3 set equivalent to RTHeap.TracedRefTypes */
-typedef struct { int elts[1]; } RefTypeSet;
-RefTypeSet GC_TracedRefTypes = {{0x1}};
-
-/* From finalize.c */
-extern void GC_push_finalizer_structures();
-
-/* From stubborn.c: */
-# ifdef STUBBORN_ALLOC
- extern GC_PTR * GC_changing_list_start;
-# endif
-
-
-void GC_default_push_other_roots()
-{
- /* Use the M3 provided routine for finding static roots. */
- /* This is a bit dubious, since it presumes no C roots. */
- /* We handle the collector roots explicitly. */
- {
-# ifdef STUBBORN_ALLOC
- GC_push_one(GC_changing_list_start);
-# endif
- GC_push_finalizer_structures();
- RTMain__GlobalMapProc(GC_m3_push_root, 0, GC_TracedRefTypes);
- }
- if (GC_words_allocd > 0) {
- ThreadF__ProcessStacks(GC_push_thread_stack);
- }
- /* Otherwise this isn't absolutely necessary, and we have */
- /* startup ordering problems. */
-}
-
-# endif /* SRC_M3 */
-
-# if defined(SOLARIS_THREADS) || defined(WIN32_THREADS) \
- || defined(IRIX_THREADS) || defined(LINUX_THREADS) \
- || defined(QUICK_THREADS)
-
-extern void GC_push_all_stacks();
-
-void GC_default_push_other_roots()
-{
- GC_push_all_stacks();
-}
-
-# endif /* SOLARIS_THREADS || ... */
-
-void (*GC_push_other_roots)() = GC_default_push_other_roots;
-
-#endif
-
-/*
- * Routines for accessing dirty bits on virtual pages.
- * We plan to eventaually implement four strategies for doing so:
- * DEFAULT_VDB: A simple dummy implementation that treats every page
- * as possibly dirty. This makes incremental collection
- * useless, but the implementation is still correct.
- * PCR_VDB: Use PPCRs virtual dirty bit facility.
- * PROC_VDB: Use the /proc facility for reading dirty bits. Only
- * works under some SVR4 variants. Even then, it may be
- * too slow to be entirely satisfactory. Requires reading
- * dirty bits for entire address space. Implementations tend
- * to assume that the client is a (slow) debugger.
- * MPROTECT_VDB:Protect pages and then catch the faults to keep track of
- * dirtied pages. The implementation (and implementability)
- * is highly system dependent. This usually fails when system
- * calls write to a protected page. We prevent the read system
- * call from doing so. It is the clients responsibility to
- * make sure that other system calls are similarly protected
- * or write only to the stack.
- */
-
-GC_bool GC_dirty_maintained = FALSE;
-
-# ifdef DEFAULT_VDB
-
-/* All of the following assume the allocation lock is held, and */
-/* signals are disabled. */
-
-/* The client asserts that unallocated pages in the heap are never */
-/* written. */
-
-/* Initialize virtual dirty bit implementation. */
-void GC_dirty_init()
-{
- GC_dirty_maintained = TRUE;
-}
-
-/* Retrieve system dirty bits for heap to a local buffer. */
-/* Restore the systems notion of which pages are dirty. */
-void GC_read_dirty()
-{}
-
-/* Is the HBLKSIZE sized page at h marked dirty in the local buffer? */
-/* If the actual page size is different, this returns TRUE if any */
-/* of the pages overlapping h are dirty. This routine may err on the */
-/* side of labelling pages as dirty (and this implementation does). */
-/*ARGSUSED*/
-GC_bool GC_page_was_dirty(h)
-struct hblk *h;
-{
- return(TRUE);
-}
-
-/*
- * The following two routines are typically less crucial. They matter
- * most with large dynamic libraries, or if we can't accurately identify
- * stacks, e.g. under Solaris 2.X. Otherwise the following default
- * versions are adequate.
- */
-
-/* Could any valid GC heap pointer ever have been written to this page? */
-/*ARGSUSED*/
-GC_bool GC_page_was_ever_dirty(h)
-struct hblk *h;
-{
- return(TRUE);
-}
-
-/* Reset the n pages starting at h to "was never dirty" status. */
-void GC_is_fresh(h, n)
-struct hblk *h;
-word n;
-{
-}
-
-/* A call hints that h is about to be written. */
-/* May speed up some dirty bit implementations. */
-/*ARGSUSED*/
-void GC_write_hint(h)
-struct hblk *h;
-{
-}
-
-# endif /* DEFAULT_VDB */
-
-
-# ifdef MPROTECT_VDB
-
-/*
- * See DEFAULT_VDB for interface descriptions.
- */
-
-/*
- * This implementation maintains dirty bits itself by catching write
- * faults and keeping track of them. We assume nobody else catches
- * SIGBUS or SIGSEGV. We assume no write faults occur in system calls
- * except as a result of a read system call. This means clients must
- * either ensure that system calls do not touch the heap, or must
- * provide their own wrappers analogous to the one for read.
- * We assume the page size is a multiple of HBLKSIZE.
- * This implementation is currently SunOS 4.X and IRIX 5.X specific, though we
- * tried to use portable code where easily possible. It is known
- * not to work under a number of other systems.
- */
-
-# ifndef MSWIN32
-
-# include <sys/mman.h>
-# include <signal.h>
-# include <sys/syscall.h>
-
-# define PROTECT(addr, len) \
- if (mprotect((caddr_t)(addr), (int)(len), \
- PROT_READ | OPT_PROT_EXEC) < 0) { \
- ABORT("mprotect failed"); \
- }
-# define UNPROTECT(addr, len) \
- if (mprotect((caddr_t)(addr), (int)(len), \
- PROT_WRITE | PROT_READ | OPT_PROT_EXEC ) < 0) { \
- ABORT("un-mprotect failed"); \
- }
-
-# else
-
-# include <signal.h>
-
- static DWORD protect_junk;
-# define PROTECT(addr, len) \
- if (!VirtualProtect((addr), (len), PAGE_EXECUTE_READ, \
- &protect_junk)) { \
- DWORD last_error = GetLastError(); \
- GC_printf1("Last error code: %lx\n", last_error); \
- ABORT("VirtualProtect failed"); \
- }
-# define UNPROTECT(addr, len) \
- if (!VirtualProtect((addr), (len), PAGE_EXECUTE_READWRITE, \
- &protect_junk)) { \
- ABORT("un-VirtualProtect failed"); \
- }
-
-# endif
-
-VOLATILE page_hash_table GC_dirty_pages;
- /* Pages dirtied since last GC_read_dirty. */
-
-#if defined(SUNOS4) || defined(FREEBSD)
- typedef void (* SIG_PF)();
-#endif
-#if defined(SUNOS5SIGS) || defined(OSF1) || defined(LINUX)
- typedef void (* SIG_PF)(int);
-#endif
-#if defined(MSWIN32)
- typedef LPTOP_LEVEL_EXCEPTION_FILTER SIG_PF;
-# undef SIG_DFL
-# define SIG_DFL (LPTOP_LEVEL_EXCEPTION_FILTER) (-1)
-#endif
-
-#if defined(IRIX5) || defined(OSF1)
- typedef void (* REAL_SIG_PF)(int, int, struct sigcontext *);
-#endif
-#if defined(SUNOS5SIGS)
- typedef void (* REAL_SIG_PF)(int, struct siginfo *, void *);
-#endif
-#if defined(LINUX)
-# include <linux/version.h>
-# if (LINUX_VERSION_CODE >= 0x20100)
- typedef void (* REAL_SIG_PF)(int, struct sigcontext);
-# else
- typedef void (* REAL_SIG_PF)(int, struct sigcontext_struct);
-# endif
-# endif
-
-SIG_PF GC_old_bus_handler;
-SIG_PF GC_old_segv_handler; /* Also old MSWIN32 ACCESS_VIOLATION filter */
-
-/*ARGSUSED*/
-# if defined (SUNOS4) || defined(FREEBSD)
- void GC_write_fault_handler(sig, code, scp, addr)
- int sig, code;
- struct sigcontext *scp;
- char * addr;
-# ifdef SUNOS4
-# define SIG_OK (sig == SIGSEGV || sig == SIGBUS)
-# define CODE_OK (FC_CODE(code) == FC_PROT \
- || (FC_CODE(code) == FC_OBJERR \
- && FC_ERRNO(code) == FC_PROT))
-# endif
-# ifdef FREEBSD
-# define SIG_OK (sig == SIGBUS)
-# define CODE_OK (code == BUS_PAGE_FAULT)
-# endif
-# endif
-# if defined(IRIX5) || defined(OSF1)
-# include <errno.h>
- void GC_write_fault_handler(int sig, int code, struct sigcontext *scp)
-# define SIG_OK (sig == SIGSEGV)
-# ifdef OSF1
-# define CODE_OK (code == 2 /* experimentally determined */)
-# endif
-# ifdef IRIX5
-# define CODE_OK (code == EACCES)
-# endif
-# endif
-# if defined(LINUX)
-# if (LINUX_VERSION_CODE >= 0x20100)
- void GC_write_fault_handler(int sig, struct sigcontext sc)
-# else
- void GC_write_fault_handler(int sig, struct sigcontext_struct sc)
-# endif
-# define SIG_OK (sig == SIGSEGV)
-# define CODE_OK TRUE
- /* Empirically c.trapno == 14, but is that useful? */
- /* We assume Intel architecture, so alignment */
- /* faults are not possible. */
-# endif
-# if defined(SUNOS5SIGS)
- void GC_write_fault_handler(int sig, struct siginfo *scp, void * context)
-# define SIG_OK (sig == SIGSEGV)
-# define CODE_OK (scp -> si_code == SEGV_ACCERR)
-# endif
-# if defined(MSWIN32)
- LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info)
-# define SIG_OK (exc_info -> ExceptionRecord -> ExceptionCode == \
- EXCEPTION_ACCESS_VIOLATION)
-# define CODE_OK (exc_info -> ExceptionRecord -> ExceptionInformation[0] == 1)
- /* Write fault */
-# endif
-{
- register unsigned i;
-# ifdef IRIX5
- char * addr = (char *) (size_t) (scp -> sc_badvaddr);
-# endif
-# if defined(OSF1) && defined(ALPHA)
- char * addr = (char *) (scp -> sc_traparg_a0);
-# endif
-# ifdef SUNOS5SIGS
- char * addr = (char *) (scp -> si_addr);
-# endif
-# ifdef LINUX
-# ifdef I386
- char * addr = (char *) (sc.cr2);
-# else
- char * addr = /* As of 1.3.90 there seemed to be no way to do this. */;
-# endif
-# endif
-# if defined(MSWIN32)
- char * addr = (char *) (exc_info -> ExceptionRecord
- -> ExceptionInformation[1]);
-# define sig SIGSEGV
-# endif
-
- if (SIG_OK && CODE_OK) {
- register struct hblk * h =
- (struct hblk *)((word)addr & ~(GC_page_size-1));
- GC_bool in_allocd_block;
-
-# ifdef SUNOS5SIGS
- /* Address is only within the correct physical page. */
- in_allocd_block = FALSE;
- for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
- if (HDR(h+i) != 0) {
- in_allocd_block = TRUE;
- }
- }
-# else
- in_allocd_block = (HDR(addr) != 0);
-# endif
- if (!in_allocd_block) {
- /* Heap blocks now begin and end on page boundaries */
- SIG_PF old_handler;
-
- if (sig == SIGSEGV) {
- old_handler = GC_old_segv_handler;
- } else {
- old_handler = GC_old_bus_handler;
- }
- if (old_handler == SIG_DFL) {
-# ifndef MSWIN32
- ABORT("Unexpected bus error or segmentation fault");
-# else
- return(EXCEPTION_CONTINUE_SEARCH);
-# endif
- } else {
-# if defined (SUNOS4) || defined(FREEBSD)
- (*old_handler) (sig, code, scp, addr);
- return;
-# endif
-# if defined (SUNOS5SIGS)
- (*(REAL_SIG_PF)old_handler) (sig, scp, context);
- return;
-# endif
-# if defined (LINUX)
- (*(REAL_SIG_PF)old_handler) (sig, sc);
- return;
-# endif
-# if defined (IRIX5) || defined(OSF1)
- (*(REAL_SIG_PF)old_handler) (sig, code, scp);
- return;
-# endif
-# ifdef MSWIN32
- return((*old_handler)(exc_info));
-# endif
- }
- }
- for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
- register int index = PHT_HASH(h+i);
-
- set_pht_entry_from_index(GC_dirty_pages, index);
- }
- UNPROTECT(h, GC_page_size);
-# if defined(OSF1) || defined(LINUX)
- /* These reset the signal handler each time by default. */
- signal(SIGSEGV, (SIG_PF) GC_write_fault_handler);
-# endif
- /* The write may not take place before dirty bits are read. */
- /* But then we'll fault again ... */
-# ifdef MSWIN32
- return(EXCEPTION_CONTINUE_EXECUTION);
-# else
- return;
-# endif
- }
-#ifdef MSWIN32
- return EXCEPTION_CONTINUE_SEARCH;
-#else
- ABORT("Unexpected bus error or segmentation fault");
-#endif
-}
-
-/*
- * We hold the allocation lock. We expect block h to be written
- * shortly.
- */
-void GC_write_hint(h)
-struct hblk *h;
-{
- register struct hblk * h_trunc;
- register unsigned i;
- register GC_bool found_clean;
-
- if (!GC_dirty_maintained) return;
- h_trunc = (struct hblk *)((word)h & ~(GC_page_size-1));
- found_clean = FALSE;
- for (i = 0; i < divHBLKSZ(GC_page_size); i++) {
- register int index = PHT_HASH(h_trunc+i);
-
- if (!get_pht_entry_from_index(GC_dirty_pages, index)) {
- found_clean = TRUE;
- set_pht_entry_from_index(GC_dirty_pages, index);
- }
- }
- if (found_clean) {
- UNPROTECT(h_trunc, GC_page_size);
- }
-}
-
-void GC_dirty_init()
-{
-#if defined(SUNOS5SIGS) || defined(IRIX5)
- struct sigaction act, oldact;
-# ifdef IRIX5
- act.sa_flags = SA_RESTART;
- act.sa_handler = GC_write_fault_handler;
-# else
- act.sa_flags = SA_RESTART | SA_SIGINFO;
- act.sa_sigaction = GC_write_fault_handler;
-# endif
- (void)sigemptyset(&act.sa_mask);
-#endif
-# ifdef PRINTSTATS
- GC_printf0("Inititalizing mprotect virtual dirty bit implementation\n");
-# endif
- GC_dirty_maintained = TRUE;
- if (GC_page_size % HBLKSIZE != 0) {
- GC_err_printf0("Page size not multiple of HBLKSIZE\n");
- ABORT("Page size not multiple of HBLKSIZE");
- }
-# if defined(SUNOS4) || defined(FREEBSD)
- GC_old_bus_handler = signal(SIGBUS, GC_write_fault_handler);
- if (GC_old_bus_handler == SIG_IGN) {
- GC_err_printf0("Previously ignored bus error!?");
- GC_old_bus_handler = SIG_DFL;
- }
- if (GC_old_bus_handler != SIG_DFL) {
-# ifdef PRINTSTATS
- GC_err_printf0("Replaced other SIGBUS handler\n");
-# endif
- }
-# endif
-# if defined(OSF1) || defined(SUNOS4) || defined(LINUX)
- GC_old_segv_handler = signal(SIGSEGV, (SIG_PF)GC_write_fault_handler);
- if (GC_old_segv_handler == SIG_IGN) {
- GC_err_printf0("Previously ignored segmentation violation!?");
- GC_old_segv_handler = SIG_DFL;
- }
- if (GC_old_segv_handler != SIG_DFL) {
-# ifdef PRINTSTATS
- GC_err_printf0("Replaced other SIGSEGV handler\n");
-# endif
- }
-# endif
-# if defined(SUNOS5SIGS) || defined(IRIX5)
-# ifdef IRIX_THREADS
- sigaction(SIGSEGV, 0, &oldact);
- sigaction(SIGSEGV, &act, 0);
-# else
- sigaction(SIGSEGV, &act, &oldact);
-# endif
-# if defined(_sigargs)
- /* This is Irix 5.x, not 6.x. Irix 5.x does not have */
- /* sa_sigaction. */
- GC_old_segv_handler = oldact.sa_handler;
-# else /* Irix 6.x or SUNOS5SIGS */
- if (oldact.sa_flags & SA_SIGINFO) {
- GC_old_segv_handler = (SIG_PF)(oldact.sa_sigaction);
- } else {
- GC_old_segv_handler = oldact.sa_handler;
- }
-# endif
- if (GC_old_segv_handler == SIG_IGN) {
- GC_err_printf0("Previously ignored segmentation violation!?");
- GC_old_segv_handler = SIG_DFL;
- }
- if (GC_old_segv_handler != SIG_DFL) {
-# ifdef PRINTSTATS
- GC_err_printf0("Replaced other SIGSEGV handler\n");
-# endif
- }
-# endif
-# if defined(MSWIN32)
- GC_old_segv_handler = SetUnhandledExceptionFilter(GC_write_fault_handler);
- if (GC_old_segv_handler != NULL) {
-# ifdef PRINTSTATS
- GC_err_printf0("Replaced other UnhandledExceptionFilter\n");
-# endif
- } else {
- GC_old_segv_handler = SIG_DFL;
- }
-# endif
-}
-
-
-
-void GC_protect_heap()
-{
- ptr_t start;
- word len;
- unsigned i;
-
- for (i = 0; i < GC_n_heap_sects; i++) {
- start = GC_heap_sects[i].hs_start;
- len = GC_heap_sects[i].hs_bytes;
- PROTECT(start, len);
- }
-}
-
-/* We assume that either the world is stopped or its OK to lose dirty */
-/* bits while this is happenning (as in GC_enable_incremental). */
-void GC_read_dirty()
-{
- BCOPY((word *)GC_dirty_pages, GC_grungy_pages,
- (sizeof GC_dirty_pages));
- BZERO((word *)GC_dirty_pages, (sizeof GC_dirty_pages));
- GC_protect_heap();
-}
-
-GC_bool GC_page_was_dirty(h)
-struct hblk * h;
-{
- register word index = PHT_HASH(h);
-
- return(HDR(h) == 0 || get_pht_entry_from_index(GC_grungy_pages, index));
-}
-
-/*
- * Acquiring the allocation lock here is dangerous, since this
- * can be called from within GC_call_with_alloc_lock, and the cord
- * package does so. On systems that allow nested lock acquisition, this
- * happens to work.
- * On other systems, SET_LOCK_HOLDER and friends must be suitably defined.
- */
-
-void GC_begin_syscall()
-{
- if (!I_HOLD_LOCK()) LOCK();
-}
-
-void GC_end_syscall()
-{
- if (!I_HOLD_LOCK()) UNLOCK();
-}
-
-void GC_unprotect_range(addr, len)
-ptr_t addr;
-word len;
-{
- struct hblk * start_block;
- struct hblk * end_block;
- register struct hblk *h;
- ptr_t obj_start;
-
- if (!GC_incremental) return;
- obj_start = GC_base(addr);
- if (obj_start == 0) return;
- if (GC_base(addr + len - 1) != obj_start) {
- ABORT("GC_unprotect_range(range bigger than object)");
- }
- start_block = (struct hblk *)((word)addr & ~(GC_page_size - 1));
- end_block = (struct hblk *)((word)(addr + len - 1) & ~(GC_page_size - 1));
- end_block += GC_page_size/HBLKSIZE - 1;
- for (h = start_block; h <= end_block; h++) {
- register word index = PHT_HASH(h);
-
- set_pht_entry_from_index(GC_dirty_pages, index);
- }
- UNPROTECT(start_block,
- ((ptr_t)end_block - (ptr_t)start_block) + HBLKSIZE);
-}
-
-#ifndef MSWIN32
-/* Replacement for UNIX system call. */
-/* Other calls that write to the heap */
-/* should be handled similarly. */
-# if defined(__STDC__) && !defined(SUNOS4)
-# include <unistd.h>
- ssize_t read(int fd, void *buf, size_t nbyte)
-# else
-# ifndef LINT
- int read(fd, buf, nbyte)
-# else
- int GC_read(fd, buf, nbyte)
-# endif
- int fd;
- char *buf;
- int nbyte;
-# endif
-{
- int result;
-
- GC_begin_syscall();
- GC_unprotect_range(buf, (word)nbyte);
-# ifdef IRIX5
- /* Indirect system call may not always be easily available. */
- /* We could call _read, but that would interfere with the */
- /* libpthread interception of read. */
- {
- struct iovec iov;
-
- iov.iov_base = buf;
- iov.iov_len = nbyte;
- result = readv(fd, &iov, 1);
- }
-# else
- result = syscall(SYS_read, fd, buf, nbyte);
-# endif
- GC_end_syscall();
- return(result);
-}
-#endif /* !MSWIN32 */
-
-/*ARGSUSED*/
-GC_bool GC_page_was_ever_dirty(h)
-struct hblk *h;
-{
- return(TRUE);
-}
-
-/* Reset the n pages starting at h to "was never dirty" status. */
-/*ARGSUSED*/
-void GC_is_fresh(h, n)
-struct hblk *h;
-word n;
-{
-}
-
-# endif /* MPROTECT_VDB */
-
-# ifdef PROC_VDB
-
-/*
- * See DEFAULT_VDB for interface descriptions.
- */
-
-/*
- * This implementaion assumes a Solaris 2.X like /proc pseudo-file-system
- * from which we can read page modified bits. This facility is far from
- * optimal (e.g. we would like to get the info for only some of the
- * address space), but it avoids intercepting system calls.
- */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/signal.h>
-#include <sys/fault.h>
-#include <sys/syscall.h>
-#include <sys/procfs.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#define INITIAL_BUF_SZ 4096
-word GC_proc_buf_size = INITIAL_BUF_SZ;
-char *GC_proc_buf;
-
-page_hash_table GC_written_pages = { 0 }; /* Pages ever dirtied */
-
-#ifdef SOLARIS_THREADS
-/* We don't have exact sp values for threads. So we count on */
-/* occasionally declaring stack pages to be fresh. Thus we */
-/* need a real implementation of GC_is_fresh. We can't clear */
-/* entries in GC_written_pages, since that would declare all */
-/* pages with the given hash address to be fresh. */
-# define MAX_FRESH_PAGES 8*1024 /* Must be power of 2 */
- struct hblk ** GC_fresh_pages; /* A direct mapped cache. */
- /* Collisions are dropped. */
-
-# define FRESH_PAGE_SLOT(h) (divHBLKSZ((word)(h)) & (MAX_FRESH_PAGES-1))
-# define ADD_FRESH_PAGE(h) \
- GC_fresh_pages[FRESH_PAGE_SLOT(h)] = (h)
-# define PAGE_IS_FRESH(h) \
- (GC_fresh_pages[FRESH_PAGE_SLOT(h)] == (h) && (h) != 0)
-#endif
-
-/* Add all pages in pht2 to pht1 */
-void GC_or_pages(pht1, pht2)
-page_hash_table pht1, pht2;
-{
- register int i;
-
- for (i = 0; i < PHT_SIZE; i++) pht1[i] |= pht2[i];
-}
-
-int GC_proc_fd;
-
-void GC_dirty_init()
-{
- int fd;
- char buf[30];
-
- GC_dirty_maintained = TRUE;
- if (GC_words_allocd != 0 || GC_words_allocd_before_gc != 0) {
- register int i;
-
- for (i = 0; i < PHT_SIZE; i++) GC_written_pages[i] = (word)(-1);
-# ifdef PRINTSTATS
- GC_printf1("Allocated words:%lu:all pages may have been written\n",
- (unsigned long)
- (GC_words_allocd + GC_words_allocd_before_gc));
-# endif
- }
- sprintf(buf, "/proc/%d", getpid());
- fd = open(buf, O_RDONLY);
- if (fd < 0) {
- ABORT("/proc open failed");
- }
- GC_proc_fd = syscall(SYS_ioctl, fd, PIOCOPENPD, 0);
- close(fd);
- if (GC_proc_fd < 0) {
- ABORT("/proc ioctl failed");
- }
- GC_proc_buf = GC_scratch_alloc(GC_proc_buf_size);
-# ifdef SOLARIS_THREADS
- GC_fresh_pages = (struct hblk **)
- GC_scratch_alloc(MAX_FRESH_PAGES * sizeof (struct hblk *));
- if (GC_fresh_pages == 0) {
- GC_err_printf0("No space for fresh pages\n");
- EXIT();
- }
- BZERO(GC_fresh_pages, MAX_FRESH_PAGES * sizeof (struct hblk *));
-# endif
-}
-
-/* Ignore write hints. They don't help us here. */
-/*ARGSUSED*/
-void GC_write_hint(h)
-struct hblk *h;
-{
-}
-
-#ifdef SOLARIS_THREADS
-# define READ(fd,buf,nbytes) syscall(SYS_read, fd, buf, nbytes)
-#else
-# define READ(fd,buf,nbytes) read(fd, buf, nbytes)
-#endif
-
-void GC_read_dirty()
-{
- unsigned long ps, np;
- int nmaps;
- ptr_t vaddr;
- struct prasmap * map;
- char * bufp;
- ptr_t current_addr, limit;
- int i;
-int dummy;
-
- BZERO(GC_grungy_pages, (sizeof GC_grungy_pages));
-
- bufp = GC_proc_buf;
- if (READ(GC_proc_fd, bufp, GC_proc_buf_size) <= 0) {
-# ifdef PRINTSTATS
- GC_printf1("/proc read failed: GC_proc_buf_size = %lu\n",
- GC_proc_buf_size);
-# endif
- {
- /* Retry with larger buffer. */
- word new_size = 2 * GC_proc_buf_size;
- char * new_buf = GC_scratch_alloc(new_size);
-
- if (new_buf != 0) {
- GC_proc_buf = bufp = new_buf;
- GC_proc_buf_size = new_size;
- }
- if (syscall(SYS_read, GC_proc_fd, bufp, GC_proc_buf_size) <= 0) {
- WARN("Insufficient space for /proc read\n", 0);
- /* Punt: */
- memset(GC_grungy_pages, 0xff, sizeof (page_hash_table));
- memset(GC_written_pages, 0xff, sizeof(page_hash_table));
-# ifdef SOLARIS_THREADS
- BZERO(GC_fresh_pages,
- MAX_FRESH_PAGES * sizeof (struct hblk *));
-# endif
- return;
- }
- }
- }
- /* Copy dirty bits into GC_grungy_pages */
- nmaps = ((struct prpageheader *)bufp) -> pr_nmap;
- /* printf( "nmaps = %d, PG_REFERENCED = %d, PG_MODIFIED = %d\n",
- nmaps, PG_REFERENCED, PG_MODIFIED); */
- bufp = bufp + sizeof(struct prpageheader);
- for (i = 0; i < nmaps; i++) {
- map = (struct prasmap *)bufp;
- vaddr = (ptr_t)(map -> pr_vaddr);
- ps = map -> pr_pagesize;
- np = map -> pr_npage;
- /* printf("vaddr = 0x%X, ps = 0x%X, np = 0x%X\n", vaddr, ps, np); */
- limit = vaddr + ps * np;
- bufp += sizeof (struct prasmap);
- for (current_addr = vaddr;
- current_addr < limit; current_addr += ps){
- if ((*bufp++) & PG_MODIFIED) {
- register struct hblk * h = (struct hblk *) current_addr;
-
- while ((ptr_t)h < current_addr + ps) {
- register word index = PHT_HASH(h);
-
- set_pht_entry_from_index(GC_grungy_pages, index);
-# ifdef SOLARIS_THREADS
- {
- register int slot = FRESH_PAGE_SLOT(h);
-
- if (GC_fresh_pages[slot] == h) {
- GC_fresh_pages[slot] = 0;
- }
- }
-# endif
- h++;
- }
- }
- }
- bufp += sizeof(long) - 1;
- bufp = (char *)((unsigned long)bufp & ~(sizeof(long)-1));
- }
- /* Update GC_written_pages. */
- GC_or_pages(GC_written_pages, GC_grungy_pages);
-# ifdef SOLARIS_THREADS
- /* Make sure that old stacks are considered completely clean */
- /* unless written again. */
- GC_old_stacks_are_fresh();
-# endif
-}
-
-#undef READ
-
-GC_bool GC_page_was_dirty(h)
-struct hblk *h;
-{
- register word index = PHT_HASH(h);
- register GC_bool result;
-
- result = get_pht_entry_from_index(GC_grungy_pages, index);
-# ifdef SOLARIS_THREADS
- if (result && PAGE_IS_FRESH(h)) result = FALSE;
- /* This happens only if page was declared fresh since */
- /* the read_dirty call, e.g. because it's in an unused */
- /* thread stack. It's OK to treat it as clean, in */
- /* that case. And it's consistent with */
- /* GC_page_was_ever_dirty. */
-# endif
- return(result);
-}
-
-GC_bool GC_page_was_ever_dirty(h)
-struct hblk *h;
-{
- register word index = PHT_HASH(h);
- register GC_bool result;
-
- result = get_pht_entry_from_index(GC_written_pages, index);
-# ifdef SOLARIS_THREADS
- if (result && PAGE_IS_FRESH(h)) result = FALSE;
-# endif
- return(result);
-}
-
-/* Caller holds allocation lock. */
-void GC_is_fresh(h, n)
-struct hblk *h;
-word n;
-{
-
- register word index;
-
-# ifdef SOLARIS_THREADS
- register word i;
-
- if (GC_fresh_pages != 0) {
- for (i = 0; i < n; i++) {
- ADD_FRESH_PAGE(h + i);
- }
- }
-# endif
-}
-
-# endif /* PROC_VDB */
-
-
-# ifdef PCR_VDB
-
-# include "vd/PCR_VD.h"
-
-# define NPAGES (32*1024) /* 128 MB */
-
-PCR_VD_DB GC_grungy_bits[NPAGES];
-
-ptr_t GC_vd_base; /* Address corresponding to GC_grungy_bits[0] */
- /* HBLKSIZE aligned. */
-
-void GC_dirty_init()
-{
- GC_dirty_maintained = TRUE;
- /* For the time being, we assume the heap generally grows up */
- GC_vd_base = GC_heap_sects[0].hs_start;
- if (GC_vd_base == 0) {
- ABORT("Bad initial heap segment");
- }
- if (PCR_VD_Start(HBLKSIZE, GC_vd_base, NPAGES*HBLKSIZE)
- != PCR_ERes_okay) {
- ABORT("dirty bit initialization failed");
- }
-}
-
-void GC_read_dirty()
-{
- /* lazily enable dirty bits on newly added heap sects */
- {
- static int onhs = 0;
- int nhs = GC_n_heap_sects;
- for( ; onhs < nhs; onhs++ ) {
- PCR_VD_WriteProtectEnable(
- GC_heap_sects[onhs].hs_start,
- GC_heap_sects[onhs].hs_bytes );
- }
- }
-
-
- if (PCR_VD_Clear(GC_vd_base, NPAGES*HBLKSIZE, GC_grungy_bits)
- != PCR_ERes_okay) {
- ABORT("dirty bit read failed");
- }
-}
-
-GC_bool GC_page_was_dirty(h)
-struct hblk *h;
-{
- if((ptr_t)h < GC_vd_base || (ptr_t)h >= GC_vd_base + NPAGES*HBLKSIZE) {
- return(TRUE);
- }
- return(GC_grungy_bits[h - (struct hblk *)GC_vd_base] & PCR_VD_DB_dirtyBit);
-}
-
-/*ARGSUSED*/
-void GC_write_hint(h)
-struct hblk *h;
-{
- PCR_VD_WriteProtectDisable(h, HBLKSIZE);
- PCR_VD_WriteProtectEnable(h, HBLKSIZE);
-}
-
-# endif /* PCR_VDB */
-
-/*
- * Call stack save code for debugging.
- * Should probably be in mach_dep.c, but that requires reorganization.
- */
-#if defined(SPARC)
-# if defined(SUNOS4)
-# include <machine/frame.h>
-# else
-# if defined (DRSNX)
-# include <sys/sparc/frame.h>
-# else
-# include <sys/frame.h>
-# endif
-# endif
-# if NARGS > 6
- --> We only know how to to get the first 6 arguments
-# endif
-
-#ifdef SAVE_CALL_CHAIN
-/* Fill in the pc and argument information for up to NFRAMES of my */
-/* callers. Ignore my frame and my callers frame. */
-void GC_save_callers (info)
-struct callinfo info[NFRAMES];
-{
- struct frame *frame;
- struct frame *fp;
- int nframes = 0;
- word GC_save_regs_in_stack();
-
- frame = (struct frame *) GC_save_regs_in_stack ();
-
- for (fp = frame -> fr_savfp; fp != 0 && nframes < NFRAMES;
- fp = fp -> fr_savfp, nframes++) {
- register int i;
-
- info[nframes].ci_pc = fp->fr_savpc;
- for (i = 0; i < NARGS; i++) {
- info[nframes].ci_arg[i] = ~(fp->fr_arg[i]);
- }
- }
- if (nframes < NFRAMES) info[nframes].ci_pc = 0;
-}
-
-#endif /* SAVE_CALL_CHAIN */
-#endif /* SPARC */
-
-
-
diff --git a/boehm-gc/pc_excludes b/boehm-gc/pc_excludes
deleted file mode 100644
index 52da43110cf..00000000000
--- a/boehm-gc/pc_excludes
+++ /dev/null
@@ -1,15 +0,0 @@
-solaris_threads.c
-pcr_interface.c
-real_malloc.c
-mips_mach_dep.s
-rs6000_mach_dep.s
-alpha_mach_dep.s
-sparc_mach_dep.s
-PCR-Makefile
-setjmp_t.c
-callprocs
-gc.man
-pc_excludes
-barrett_diagram
-include/gc_c++.h
-include/gc_inline.h \ No newline at end of file
diff --git a/boehm-gc/pcr_interface.c b/boehm-gc/pcr_interface.c
deleted file mode 100644
index 4c950933704..00000000000
--- a/boehm-gc/pcr_interface.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 7, 1996 11:09 am PST */
-# include "gc_priv.h"
-
-# ifdef PCR
-/*
- * Note that POSIX PCR requires an ANSI C compiler. Hence we are allowed
- * to make the same assumption here.
- * We wrap all of the allocator functions to avoid questions of
- * compatibility between the prototyped and nonprototyped versions of the f
- */
-# include "config/PCR_StdTypes.h"
-# include "mm/PCR_MM.h"
-# include <errno.h>
-
-# define MY_MAGIC 17L
-# define MY_DEBUGMAGIC 42L
-
-void * GC_AllocProc(size_t size, PCR_Bool ptrFree, PCR_Bool clear )
-{
- if (ptrFree) {
- void * result = (void *)GC_malloc_atomic(size);
- if (clear && result != 0) BZERO(result, size);
- return(result);
- } else {
- return((void *)GC_malloc(size));
- }
-}
-
-void * GC_DebugAllocProc(size_t size, PCR_Bool ptrFree, PCR_Bool clear )
-{
- if (ptrFree) {
- void * result = (void *)GC_debug_malloc_atomic(size, __FILE__,
- __LINE__);
- if (clear && result != 0) BZERO(result, size);
- return(result);
- } else {
- return((void *)GC_debug_malloc(size, __FILE__, __LINE__));
- }
-}
-
-# define GC_ReallocProc GC_realloc
-void * GC_DebugReallocProc(void * old_object, size_t new_size_in_bytes)
-{
- return(GC_debug_realloc(old_object, new_size_in_bytes, __FILE__, __LINE__));
-}
-
-# define GC_FreeProc GC_free
-# define GC_DebugFreeProc GC_debug_free
-
-typedef struct {
- PCR_ERes (*ed_proc)(void *p, size_t size, PCR_Any data);
- GC_bool ed_pointerfree;
- PCR_ERes ed_fail_code;
- PCR_Any ed_client_data;
-} enumerate_data;
-
-void GC_enumerate_block(h, ed)
-register struct hblk *h;
-enumerate_data * ed;
-{
- register hdr * hhdr;
- register int sz;
- word *p;
- word * lim;
-
- hhdr = HDR(h);
- sz = hhdr -> hb_sz;
- if (sz >= 0 && ed -> ed_pointerfree
- || sz <= 0 && !(ed -> ed_pointerfree)) return;
- if (sz < 0) sz = -sz;
- lim = (word *)(h+1) - sz;
- p = (word *)h;
- do {
- if (PCR_ERes_IsErr(ed -> ed_fail_code)) return;
- ed -> ed_fail_code =
- (*(ed -> ed_proc))(p, WORDS_TO_BYTES(sz), ed -> ed_client_data);
- p+= sz;
- } while (p <= lim);
-}
-
-struct PCR_MM_ProcsRep * GC_old_allocator = 0;
-
-PCR_ERes GC_EnumerateProc(
- PCR_Bool ptrFree,
- PCR_ERes (*proc)(void *p, size_t size, PCR_Any data),
- PCR_Any data
-)
-{
- enumerate_data ed;
-
- ed.ed_proc = proc;
- ed.ed_pointerfree = ptrFree;
- ed.ed_fail_code = PCR_ERes_okay;
- ed.ed_client_data = data;
- GC_apply_to_all_blocks(GC_enumerate_block, &ed);
- if (ed.ed_fail_code != PCR_ERes_okay) {
- return(ed.ed_fail_code);
- } else {
- /* Also enumerate objects allocated by my predecessors */
- return((*(GC_old_allocator->mmp_enumerate))(ptrFree, proc, data));
- }
-}
-
-void GC_DummyFreeProc(void *p) {}
-
-void GC_DummyShutdownProc(void) {}
-
-struct PCR_MM_ProcsRep GC_Rep = {
- MY_MAGIC,
- GC_AllocProc,
- GC_ReallocProc,
- GC_DummyFreeProc, /* mmp_free */
- GC_FreeProc, /* mmp_unsafeFree */
- GC_EnumerateProc,
- GC_DummyShutdownProc /* mmp_shutdown */
-};
-
-struct PCR_MM_ProcsRep GC_DebugRep = {
- MY_DEBUGMAGIC,
- GC_DebugAllocProc,
- GC_DebugReallocProc,
- GC_DummyFreeProc, /* mmp_free */
- GC_DebugFreeProc, /* mmp_unsafeFree */
- GC_EnumerateProc,
- GC_DummyShutdownProc /* mmp_shutdown */
-};
-
-GC_bool GC_use_debug = 0;
-
-void GC_pcr_install()
-{
- PCR_MM_Install((GC_use_debug? &GC_DebugRep : &GC_Rep), &GC_old_allocator);
-}
-
-PCR_ERes
-PCR_GC_Setup(void)
-{
- return PCR_ERes_okay;
-}
-
-PCR_ERes
-PCR_GC_Run(void)
-{
-
- if( !PCR_Base_TestPCRArg("-nogc") ) {
- GC_quiet = ( PCR_Base_TestPCRArg("-gctrace") ? 0 : 1 );
- GC_use_debug = (GC_bool)PCR_Base_TestPCRArg("-debug_alloc");
- GC_init();
- if( !PCR_Base_TestPCRArg("-nogc_incremental") ) {
- /*
- * awful hack to test whether VD is implemented ...
- */
- if( PCR_VD_Start( 0, NIL, 0) != PCR_ERes_FromErr(ENOSYS) ) {
- GC_enable_incremental();
- }
- }
- }
- return PCR_ERes_okay;
-}
-
-# endif
diff --git a/boehm-gc/ptr_chck.c b/boehm-gc/ptr_chck.c
deleted file mode 100644
index f3451ee6f8c..00000000000
--- a/boehm-gc/ptr_chck.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, September 19, 1995 1:26 pm PDT */
-
-#include "gc_priv.h"
-#include "gc_mark.h"
-
-#ifdef __STDC__
-void GC_default_same_obj_print_proc(GC_PTR p, GC_PTR q)
-#else
-void GC_default_same_obj_print_proc (p, q)
-GC_PTR p, q;
-#endif
-{
- GC_err_printf2("0x%lx and 0x%lx are not in the same object\n",
- (unsigned long)p, (unsigned long)q);
- ABORT("GC_same_obj test failed");
-}
-
-void (*GC_same_obj_print_proc) GC_PROTO((GC_PTR, GC_PTR))
- = GC_default_same_obj_print_proc;
-
-/* Check that p and q point to the same object. Call */
-/* *GC_same_obj_print_proc if they don't. */
-/* Returns the first argument. (Return value may be hard */
-/* to use,due to typing issues. But if we had a suitable */
-/* preprocessor ...) */
-/* Succeeds if neither p nor q points to the heap. */
-/* We assume this is performance critical. (It shouldn't */
-/* be called by production code, but this can easily make */
-/* debugging intolerably slow.) */
-#ifdef __STDC__
- GC_PTR GC_same_obj(register void *p, register void *q)
-#else
- GC_PTR GC_same_obj(p, q)
- register char *p, *q;
-#endif
-{
- register struct hblk *h;
- register hdr *hhdr;
- register ptr_t base, limit;
- register word sz;
-
- if (!GC_is_initialized) GC_init();
- hhdr = HDR((word)p);
- if (hhdr == 0) {
- if (divHBLKSZ((word)p) != divHBLKSZ((word)q)
- && HDR((word)q) != 0) {
- goto fail;
- }
- return(p);
- }
- /* If it's a pointer to the middle of a large object, move it */
- /* to the beginning. */
- if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
- h = HBLKPTR(p) - (word)hhdr;
- hhdr = HDR(h);
- while (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
- h = FORWARDED_ADDR(h, hhdr);
- hhdr = HDR(h);
- }
- limit = (ptr_t)((word *)h + HDR_WORDS + hhdr -> hb_sz);
- if ((ptr_t)p >= limit || (ptr_t)q >= limit || (ptr_t)q < (ptr_t)h ) {
- goto fail;
- }
- return(p);
- }
- sz = WORDS_TO_BYTES(hhdr -> hb_sz);
- if (sz > WORDS_TO_BYTES(MAXOBJSZ)) {
- base = (ptr_t)HBLKPTR(p);
- limit = base + sz;
- if ((ptr_t)p >= limit) {
- goto fail;
- }
- } else {
-# ifdef ALL_INTERIOR_POINTERS
- register map_entry_type map_entry;
- register int pdispl;
-
- pdispl = HBLKDISPL(p);
- map_entry = MAP_ENTRY((hhdr -> hb_map), pdispl);
- if (map_entry == OBJ_INVALID) {
- goto fail;
- } else {
- base = (char *)((word)p & ~(WORDS_TO_BYTES(1) - 1));
- base -= WORDS_TO_BYTES(map_entry);
- }
-# else
- register int offset = HBLKDISPL(p) - HDR_BYTES;
- register word correction = offset % sz;
-
- if (HBLKPTR(p) != HBLKPTR(q)) {
- /* The following computation otherwise fails in this case */
- goto fail;
- }
- base = (ptr_t)p - correction;
-# endif
- limit = base + sz;
- }
- /* [base, limit) delimits the object containing p, if any. */
- /* If p is not inside a valid object, then either q is */
- /* also outside any valid object, or it is outside */
- /* [base, limit). */
- if ((ptr_t)q >= limit || (ptr_t)q < base) {
- goto fail;
- }
- return(p);
-fail:
- (*GC_same_obj_print_proc)((ptr_t)p, (ptr_t)q);
- return(p);
-}
-
-#ifdef __STDC__
-void GC_default_is_valid_displacement_print_proc (GC_PTR p)
-#else
-void GC_default_is_valid_displacement_print_proc (p)
-GC_PTR p;
-#endif
-{
- GC_err_printf1("0x%lx does not point to valid object displacement\n",
- (unsigned long)p);
- ABORT("GC_is_valid_displacement test failed");
-}
-
-void (*GC_is_valid_displacement_print_proc) GC_PROTO((GC_PTR)) =
- GC_default_is_valid_displacement_print_proc;
-
-/* Check that if p is a pointer to a heap page, then it points to */
-/* a valid displacement within a heap object. */
-/* Uninteresting with ALL_INTERIOR_POINTERS. */
-/* Always returns its argument. */
-/* Note that we don't lock, since nothing relevant about the header */
-/* should change while we have a valid object pointer to the block. */
-#ifdef __STDC__
- void * GC_is_valid_displacement(void *p)
-#else
- char *GC_is_valid_displacement(p)
- char *p;
-#endif
-{
- register hdr *hhdr;
- register word pdispl;
- register struct hblk *h;
- register map_entry_type map_entry;
- register word sz;
-
- if (!GC_is_initialized) GC_init();
- hhdr = HDR((word)p);
- if (hhdr == 0) return(p);
- h = HBLKPTR(p);
-# ifdef ALL_INTERIOR_POINTERS
- while (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
- h = FORWARDED_ADDR(h, hhdr);
- hhdr = HDR(h);
- }
-# endif
- if (IS_FORWARDING_ADDR_OR_NIL(hhdr)) {
- goto fail;
- }
- sz = WORDS_TO_BYTES(hhdr -> hb_sz);
- pdispl = HBLKDISPL(p);
- map_entry = MAP_ENTRY((hhdr -> hb_map), pdispl);
- if (map_entry == OBJ_INVALID
- || sz > MAXOBJSZ && (ptr_t)p >= (ptr_t)h + sz) {
- goto fail;
- }
- return(p);
-fail:
- (*GC_is_valid_displacement_print_proc)((ptr_t)p);
- return(p);
-}
-
-#ifdef __STDC__
-void GC_default_is_visible_print_proc(GC_PTR p)
-#else
-void GC_default_is_visible_print_proc(p)
-GC_PTR p;
-#endif
-{
- GC_err_printf1("0x%lx is not a GC visible pointer location\n",
- (unsigned long)p);
- ABORT("GC_is_visible test failed");
-}
-
-void (*GC_is_visible_print_proc) GC_PROTO((GC_PTR p)) =
- GC_default_is_visible_print_proc;
-
-/* Could p be a stack address? */
-GC_bool GC_on_stack(p)
-ptr_t p;
-{
-# ifdef THREADS
- return(TRUE);
-# else
- int dummy;
-# ifdef STACK_GROWS_DOWN
- if ((ptr_t)p >= (ptr_t)(&dummy) && (ptr_t)p < GC_stackbottom ) {
- return(TRUE);
- }
-# else
- if ((ptr_t)p <= (ptr_t)(&dummy) && (ptr_t)p > GC_stackbottom ) {
- return(TRUE);
- }
-# endif
- return(FALSE);
-# endif
-}
-
-/* Check that p is visible */
-/* to the collector as a possibly pointer containing location. */
-/* If it isn't invoke *GC_is_visible_print_proc. */
-/* Returns the argument in all cases. May erroneously succeed */
-/* in hard cases. (This is intended for debugging use with */
-/* untyped allocations. The idea is that it should be possible, though */
-/* slow, to add such a call to all indirect pointer stores.) */
-/* Currently useless for multithreaded worlds. */
-#ifdef __STDC__
- void * GC_is_visible(void *p)
-#else
- char *GC_is_visible(p)
- char *p;
-#endif
-{
- register hdr *hhdr;
-
- if ((word)p & (ALIGNMENT - 1)) goto fail;
- if (!GC_is_initialized) GC_init();
-# ifdef THREADS
- hhdr = HDR((word)p);
- if (hhdr != 0 && GC_base(p) == 0) {
- goto fail;
- } else {
- /* May be inside thread stack. We can't do much. */
- return(p);
- }
-# else
- /* Check stack first: */
- if (GC_on_stack(p)) return(p);
- hhdr = HDR((word)p);
- if (hhdr == 0) {
- GC_bool result;
-
- if (GC_is_static_root(p)) return(p);
- /* Else do it again correctly: */
-# if (defined(DYNAMIC_LOADING) || defined(MSWIN32) || defined(PCR)) \
- && !defined(SRC_M3)
- DISABLE_SIGNALS();
- GC_register_dynamic_libraries();
- result = GC_is_static_root(p);
- ENABLE_SIGNALS();
- if (result) return(p);
-# endif
- goto fail;
- } else {
- /* p points to the heap. */
- word descr;
- ptr_t base = GC_base(p); /* Should be manually inlined? */
-
- if (base == 0) goto fail;
- if (HBLKPTR(base) != HBLKPTR(p)) hhdr = HDR((word)p);
- descr = hhdr -> hb_descr;
- retry:
- switch(descr & DS_TAGS) {
- case DS_LENGTH:
- if ((word)((ptr_t)p - (ptr_t)base) > (word)descr) goto fail;
- break;
- case DS_BITMAP:
- if ((ptr_t)p - (ptr_t)base
- >= WORDS_TO_BYTES(BITMAP_BITS)
- || ((word)p & (sizeof(word) - 1))) goto fail;
- if (!((1 << (WORDSZ - ((ptr_t)p - (ptr_t)base) - 1))
- & descr)) goto fail;
- break;
- case DS_PROC:
- /* We could try to decipher this partially. */
- /* For now we just punt. */
- break;
- case DS_PER_OBJECT:
- descr = *(word *)((ptr_t)base + (descr & ~DS_TAGS));
- goto retry;
- }
- return(p);
- }
-# endif
-fail:
- (*GC_is_visible_print_proc)((ptr_t)p);
- return(p);
-}
-
-
-GC_PTR GC_pre_incr (p, how_much)
-GC_PTR *p;
-size_t how_much;
-{
- GC_PTR initial = *p;
- GC_PTR result = GC_same_obj((GC_PTR)((word)initial + how_much), initial);
-
-# ifndef ALL_INTERIOR_POINTERS
- (void) GC_is_valid_displacement(result);
-# endif
- return (*p = result);
-}
-
-GC_PTR GC_post_incr (p, how_much)
-GC_PTR *p;
-size_t how_much;
-{
- GC_PTR initial = *p;
- GC_PTR result = GC_same_obj((GC_PTR)((word)initial + how_much), initial);
-
-# ifndef ALL_INTERIOR_POINTERS
- (void) GC_is_valid_displacement(result);
-# endif
- *p = result;
- return(initial);
-}
diff --git a/boehm-gc/quick_threads.c b/boehm-gc/quick_threads.c
deleted file mode 100644
index adc26da6d59..00000000000
--- a/boehm-gc/quick_threads.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Support code for cooperative coop/quick threads.
- * Copyright (c) 1998, 1999 Cygnus Solutions.
- */
-
-#include "boehm-config.h"
-
-#ifdef QUICK_THREADS
-
-#include "gc_priv.h"
-
-#include "coop.h"
-
-void GC_push_all_stacks (void)
-{
- coop_t *t;
- ptr_t lo, hi;
-
- t = coop_first_thread ();
-
- if (t == NULL)
- {
- /* Threads haven't started, so mark the real stack. */
-#ifdef STACK_GROWS_DOWN
- GC_push_all_stack( GC_approx_sp(), GC_stackbottom );
-#else
- GC_push_all_stack( GC_stackbottom, GC_approx_sp() );
-#endif
- }
- else
- {
- for ( ; t != NULL; t = coop_next_thread (t))
- {
- if (t == coop_global_curr)
- lo = GC_approx_sp ();
- else
- {
- lo = t->top;
- /* LO can be NULL when the new thread has not yet been
- used. */
- if (! lo)
- continue;
- }
- hi = t->base;
-
-#ifdef STACK_GROWS_DOWN
- GC_push_all_stack (lo, hi);
-#else
- GC_push_all_stack (hi, lo);
-#endif
- }
- }
-}
-
-#endif /* QUICK_THREADS */
diff --git a/boehm-gc/real_malloc.c b/boehm-gc/real_malloc.c
deleted file mode 100644
index dece9fdc09c..00000000000
--- a/boehm-gc/real_malloc.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, May 19, 1994 2:04 pm PDT */
-
-
-# ifdef PCR
-/*
- * This definition should go in its own file that includes no other
- * header files. Otherwise, we risk not getting the underlying system
- * malloc.
- */
-# define PCR_NO_RENAME
-# include <stdlib.h>
-
-# ifdef __STDC__
- char * real_malloc(size_t size)
-# else
- char * real_malloc()
- int size;
-# endif
-{
- return((char *)malloc(size));
-}
-#endif /* PCR */
-
diff --git a/boehm-gc/reclaim.c b/boehm-gc/reclaim.c
deleted file mode 100644
index 407b4c68194..00000000000
--- a/boehm-gc/reclaim.c
+++ /dev/null
@@ -1,723 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, February 15, 1996 2:41 pm PST */
-
-#include <stdio.h>
-#include "gc_priv.h"
-
-signed_word GC_mem_found = 0;
- /* Number of words of memory reclaimed */
-
-# ifdef FIND_LEAK
-static void report_leak(p, sz)
-ptr_t p;
-word sz;
-{
- if (HDR(p) -> hb_obj_kind == PTRFREE) {
- GC_err_printf0("Leaked atomic object at ");
- } else {
- GC_err_printf0("Leaked composite object at ");
- }
- if (GC_debugging_started && GC_has_debug_info(p)) {
- GC_print_obj(p);
- } else {
- GC_err_printf2("0x%lx (appr. size = %ld)\n",
- (unsigned long)p,
- (unsigned long)WORDS_TO_BYTES(sz));
- }
-}
-
-# define FOUND_FREE(hblk, word_no) \
- if (abort_if_found) { \
- report_leak((ptr_t)hblk + WORDS_TO_BYTES(word_no), \
- HDR(hblk) -> hb_sz); \
- }
-# else
-# define FOUND_FREE(hblk, word_no)
-# endif
-
-/*
- * reclaim phase
- *
- */
-
-
-/*
- * Test whether a block is completely empty, i.e. contains no marked
- * objects. This does not require the block to be in physical
- * memory.
- */
-
-GC_bool GC_block_empty(hhdr)
-register hdr * hhdr;
-{
- register word *p = (word *)(&(hhdr -> hb_marks[0]));
- register word * plim =
- (word *)(&(hhdr -> hb_marks[MARK_BITS_SZ]));
- while (p < plim) {
- if (*p++) return(FALSE);
- }
- return(TRUE);
-}
-
-# ifdef GATHERSTATS
-# define INCR_WORDS(sz) n_words_found += (sz)
-# else
-# define INCR_WORDS(sz)
-# endif
-/*
- * Restore unmarked small objects in h of size sz to the object
- * free list. Returns the new list.
- * Clears unmarked objects.
- */
-/*ARGSUSED*/
-ptr_t GC_reclaim_clear(hbp, hhdr, sz, list, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-register hdr * hhdr;
-GC_bool abort_if_found; /* Abort if a reclaimable object is found */
-register ptr_t list;
-register word sz;
-{
- register int word_no;
- register word *p, *q, *plim;
-# ifdef GATHERSTATS
- register int n_words_found = 0;
-# endif
-
- p = (word *)(hbp->hb_body);
- word_no = HDR_WORDS;
- plim = (word *)((((word)hbp) + HBLKSIZE)
- - WORDS_TO_BYTES(sz));
-
- /* go through all words in block */
- while( p <= plim ) {
- if( mark_bit_from_hdr(hhdr, word_no) ) {
- p += sz;
- } else {
- FOUND_FREE(hbp, word_no);
- INCR_WORDS(sz);
- /* object is available - put on list */
- obj_link(p) = list;
- list = ((ptr_t)p);
- /* Clear object, advance p to next object in the process */
- q = p + sz;
- p++; /* Skip link field */
- while (p < q) {
- *p++ = 0;
- }
- }
- word_no += sz;
- }
-# ifdef GATHERSTATS
- GC_mem_found += n_words_found;
-# endif
- return(list);
-}
-
-#ifndef SMALL_CONFIG
-
-/*
- * A special case for 2 word composite objects (e.g. cons cells):
- */
-/*ARGSUSED*/
-ptr_t GC_reclaim_clear2(hbp, hhdr, list, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-hdr * hhdr;
-GC_bool abort_if_found; /* Abort if a reclaimable object is found */
-register ptr_t list;
-{
- register word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p, *plim;
-# ifdef GATHERSTATS
- register int n_words_found = 0;
-# endif
- register word mark_word;
- register int i;
-# define DO_OBJ(start_displ) \
- if (!(mark_word & ((word)1 << start_displ))) { \
- FOUND_FREE(hbp, p - (word *)hbp + start_displ); \
- p[start_displ] = (word)list; \
- list = (ptr_t)(p+start_displ); \
- p[start_displ+1] = 0; \
- INCR_WORDS(2); \
- }
-
- p = (word *)(hbp->hb_body);
- plim = (word *)(((word)hbp) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- for (i = 0; i < WORDSZ; i += 8) {
- DO_OBJ(0);
- DO_OBJ(2);
- DO_OBJ(4);
- DO_OBJ(6);
- p += 8;
- mark_word >>= 8;
- }
- }
-# ifdef GATHERSTATS
- GC_mem_found += n_words_found;
-# endif
- return(list);
-# undef DO_OBJ
-}
-
-/*
- * Another special case for 4 word composite objects:
- */
-/*ARGSUSED*/
-ptr_t GC_reclaim_clear4(hbp, hhdr, list, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-hdr * hhdr;
-GC_bool abort_if_found; /* Abort if a reclaimable object is found */
-register ptr_t list;
-{
- register word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p, *plim;
-# ifdef GATHERSTATS
- register int n_words_found = 0;
-# endif
- register word mark_word;
-# define DO_OBJ(start_displ) \
- if (!(mark_word & ((word)1 << start_displ))) { \
- FOUND_FREE(hbp, p - (word *)hbp + start_displ); \
- p[start_displ] = (word)list; \
- list = (ptr_t)(p+start_displ); \
- p[start_displ+1] = 0; \
- p[start_displ+2] = 0; \
- p[start_displ+3] = 0; \
- INCR_WORDS(4); \
- }
-
- p = (word *)(hbp->hb_body);
- plim = (word *)(((word)hbp) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- DO_OBJ(0);
- DO_OBJ(4);
- DO_OBJ(8);
- DO_OBJ(12);
- DO_OBJ(16);
- DO_OBJ(20);
- DO_OBJ(24);
- DO_OBJ(28);
-# if CPP_WORDSZ == 64
- DO_OBJ(32);
- DO_OBJ(36);
- DO_OBJ(40);
- DO_OBJ(44);
- DO_OBJ(48);
- DO_OBJ(52);
- DO_OBJ(56);
- DO_OBJ(60);
-# endif
- p += WORDSZ;
- }
-# ifdef GATHERSTATS
- GC_mem_found += n_words_found;
-# endif
- return(list);
-# undef DO_OBJ
-}
-
-#endif /* !SMALL_CONFIG */
-
-/* The same thing, but don't clear objects: */
-/*ARGSUSED*/
-ptr_t GC_reclaim_uninit(hbp, hhdr, sz, list, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-register hdr * hhdr;
-GC_bool abort_if_found; /* Abort if a reclaimable object is found */
-register ptr_t list;
-register word sz;
-{
- register int word_no;
- register word *p, *plim;
-# ifdef GATHERSTATS
- register int n_words_found = 0;
-# endif
-
- p = (word *)(hbp->hb_body);
- word_no = HDR_WORDS;
- plim = (word *)((((word)hbp) + HBLKSIZE)
- - WORDS_TO_BYTES(sz));
-
- /* go through all words in block */
- while( p <= plim ) {
- if( !mark_bit_from_hdr(hhdr, word_no) ) {
- FOUND_FREE(hbp, word_no);
- INCR_WORDS(sz);
- /* object is available - put on list */
- obj_link(p) = list;
- list = ((ptr_t)p);
- }
- p += sz;
- word_no += sz;
- }
-# ifdef GATHERSTATS
- GC_mem_found += n_words_found;
-# endif
- return(list);
-}
-
-#ifndef SMALL_CONFIG
-/*
- * Another special case for 2 word atomic objects:
- */
-/*ARGSUSED*/
-ptr_t GC_reclaim_uninit2(hbp, hhdr, list, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-hdr * hhdr;
-GC_bool abort_if_found; /* Abort if a reclaimable object is found */
-register ptr_t list;
-{
- register word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p, *plim;
-# ifdef GATHERSTATS
- register int n_words_found = 0;
-# endif
- register word mark_word;
- register int i;
-# define DO_OBJ(start_displ) \
- if (!(mark_word & ((word)1 << start_displ))) { \
- FOUND_FREE(hbp, p - (word *)hbp + start_displ); \
- p[start_displ] = (word)list; \
- list = (ptr_t)(p+start_displ); \
- INCR_WORDS(2); \
- }
-
- p = (word *)(hbp->hb_body);
- plim = (word *)(((word)hbp) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- for (i = 0; i < WORDSZ; i += 8) {
- DO_OBJ(0);
- DO_OBJ(2);
- DO_OBJ(4);
- DO_OBJ(6);
- p += 8;
- mark_word >>= 8;
- }
- }
-# ifdef GATHERSTATS
- GC_mem_found += n_words_found;
-# endif
- return(list);
-# undef DO_OBJ
-}
-
-/*
- * Another special case for 4 word atomic objects:
- */
-/*ARGSUSED*/
-ptr_t GC_reclaim_uninit4(hbp, hhdr, list, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-hdr * hhdr;
-GC_bool abort_if_found; /* Abort if a reclaimable object is found */
-register ptr_t list;
-{
- register word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p, *plim;
-# ifdef GATHERSTATS
- register int n_words_found = 0;
-# endif
- register word mark_word;
-# define DO_OBJ(start_displ) \
- if (!(mark_word & ((word)1 << start_displ))) { \
- FOUND_FREE(hbp, p - (word *)hbp + start_displ); \
- p[start_displ] = (word)list; \
- list = (ptr_t)(p+start_displ); \
- INCR_WORDS(4); \
- }
-
- p = (word *)(hbp->hb_body);
- plim = (word *)(((word)hbp) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- DO_OBJ(0);
- DO_OBJ(4);
- DO_OBJ(8);
- DO_OBJ(12);
- DO_OBJ(16);
- DO_OBJ(20);
- DO_OBJ(24);
- DO_OBJ(28);
-# if CPP_WORDSZ == 64
- DO_OBJ(32);
- DO_OBJ(36);
- DO_OBJ(40);
- DO_OBJ(44);
- DO_OBJ(48);
- DO_OBJ(52);
- DO_OBJ(56);
- DO_OBJ(60);
-# endif
- p += WORDSZ;
- }
-# ifdef GATHERSTATS
- GC_mem_found += n_words_found;
-# endif
- return(list);
-# undef DO_OBJ
-}
-
-/* Finally the one word case, which never requires any clearing: */
-/*ARGSUSED*/
-ptr_t GC_reclaim1(hbp, hhdr, list, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-hdr * hhdr;
-GC_bool abort_if_found; /* Abort if a reclaimable object is found */
-register ptr_t list;
-{
- register word * mark_word_addr = &(hhdr->hb_marks[divWORDSZ(HDR_WORDS)]);
- register word *p, *plim;
-# ifdef GATHERSTATS
- register int n_words_found = 0;
-# endif
- register word mark_word;
- register int i;
-# define DO_OBJ(start_displ) \
- if (!(mark_word & ((word)1 << start_displ))) { \
- FOUND_FREE(hbp, p - (word *)hbp + start_displ); \
- p[start_displ] = (word)list; \
- list = (ptr_t)(p+start_displ); \
- INCR_WORDS(1); \
- }
-
- p = (word *)(hbp->hb_body);
- plim = (word *)(((word)hbp) + HBLKSIZE);
-
- /* go through all words in block */
- while( p < plim ) {
- mark_word = *mark_word_addr++;
- for (i = 0; i < WORDSZ; i += 4) {
- DO_OBJ(0);
- DO_OBJ(1);
- DO_OBJ(2);
- DO_OBJ(3);
- p += 4;
- mark_word >>= 4;
- }
- }
-# ifdef GATHERSTATS
- GC_mem_found += n_words_found;
-# endif
- return(list);
-# undef DO_OBJ
-}
-
-#endif /* !SMALL_CONFIG */
-
-/*
- * Restore unmarked small objects in the block pointed to by hbp
- * to the appropriate object free list.
- * If entirely empty blocks are to be completely deallocated, then
- * caller should perform that check.
- */
-void GC_reclaim_small_nonempty_block(hbp, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-int abort_if_found; /* Abort if a reclaimable object is found */
-{
- hdr * hhdr;
- register word sz; /* size of objects in current block */
- register struct obj_kind * ok;
- register ptr_t * flh;
- register int kind;
-
- hhdr = HDR(hbp);
- sz = hhdr -> hb_sz;
- hhdr -> hb_last_reclaimed = (unsigned short) GC_gc_no;
- kind = hhdr -> hb_obj_kind;
- ok = &GC_obj_kinds[kind];
- flh = &(ok -> ok_freelist[sz]);
- GC_write_hint(hbp);
-
- if (ok -> ok_init) {
- switch(sz) {
-# ifndef SMALL_CONFIG
- case 1:
- *flh = GC_reclaim1(hbp, hhdr, *flh, abort_if_found);
- break;
- case 2:
- *flh = GC_reclaim_clear2(hbp, hhdr, *flh, abort_if_found);
- break;
- case 4:
- *flh = GC_reclaim_clear4(hbp, hhdr, *flh, abort_if_found);
- break;
-# endif
- default:
- *flh = GC_reclaim_clear(hbp, hhdr, sz, *flh, abort_if_found);
- break;
- }
- } else {
- switch(sz) {
-# ifndef SMALL_CONFIG
- case 1:
- *flh = GC_reclaim1(hbp, hhdr, *flh, abort_if_found);
- break;
- case 2:
- *flh = GC_reclaim_uninit2(hbp, hhdr, *flh, abort_if_found);
- break;
- case 4:
- *flh = GC_reclaim_uninit4(hbp, hhdr, *flh, abort_if_found);
- break;
-# endif
- default:
- *flh = GC_reclaim_uninit(hbp, hhdr, sz, *flh, abort_if_found);
- break;
- }
- }
- if (IS_UNCOLLECTABLE(kind)) GC_set_hdr_marks(hhdr);
-}
-
-/*
- * Restore an unmarked large object or an entirely empty blocks of small objects
- * to the heap block free list.
- * Otherwise enqueue the block for later processing
- * by GC_reclaim_small_nonempty_block.
- * If abort_if_found is TRUE, then process any block immediately.
- */
-void GC_reclaim_block(hbp, abort_if_found)
-register struct hblk *hbp; /* ptr to current heap block */
-word abort_if_found; /* Abort if a reclaimable object is found */
-{
- register hdr * hhdr;
- register word sz; /* size of objects in current block */
- register struct obj_kind * ok;
- struct hblk ** rlh;
-
- hhdr = HDR(hbp);
- sz = hhdr -> hb_sz;
- ok = &GC_obj_kinds[hhdr -> hb_obj_kind];
-
- if( sz > MAXOBJSZ ) { /* 1 big object */
- if( !mark_bit_from_hdr(hhdr, HDR_WORDS) ) {
- FOUND_FREE(hbp, HDR_WORDS);
-# ifdef GATHERSTATS
- GC_mem_found += sz;
-# endif
- GC_freehblk(hbp);
- }
- } else {
- GC_bool empty = GC_block_empty(hhdr);
- if (abort_if_found) {
- GC_reclaim_small_nonempty_block(hbp, (int)abort_if_found);
- } else if (empty) {
-# ifdef GATHERSTATS
- GC_mem_found += BYTES_TO_WORDS(HBLKSIZE);
-# endif
- GC_freehblk(hbp);
- } else {
- /* group of smaller objects, enqueue the real work */
- rlh = &(ok -> ok_reclaim_list[sz]);
- hhdr -> hb_next = *rlh;
- *rlh = hbp;
- }
- }
-}
-
-#if !defined(NO_DEBUGGING)
-/* Routines to gather and print heap block info */
-/* intended for debugging. Otherwise should be called */
-/* with lock. */
-static size_t number_of_blocks;
-static size_t total_bytes;
-
-/* Number of set bits in a word. Not performance critical. */
-static int set_bits(n)
-word n;
-{
- register word m = n;
- register int result = 0;
-
- while (m > 0) {
- if (m & 1) result++;
- m >>= 1;
- }
- return(result);
-}
-
-/* Return the number of set mark bits in the given header */
-int GC_n_set_marks(hhdr)
-hdr * hhdr;
-{
- register int result = 0;
- register int i;
-
- for (i = 0; i < MARK_BITS_SZ; i++) {
- result += set_bits(hhdr -> hb_marks[i]);
- }
- return(result);
-}
-
-/*ARGSUSED*/
-void GC_print_block_descr(h, dummy)
-struct hblk *h;
-word dummy;
-{
- register hdr * hhdr = HDR(h);
- register size_t bytes = WORDS_TO_BYTES(hhdr -> hb_sz);
-
- GC_printf3("(%lu:%lu,%lu)", (unsigned long)(hhdr -> hb_obj_kind),
- (unsigned long)bytes,
- (unsigned long)(GC_n_set_marks(hhdr)));
- bytes += HDR_BYTES + HBLKSIZE-1;
- bytes &= ~(HBLKSIZE-1);
- total_bytes += bytes;
- number_of_blocks++;
-}
-
-void GC_print_block_list()
-{
- GC_printf0("(kind(0=ptrfree,1=normal,2=unc.,3=stubborn):size_in_bytes, #_marks_set)\n");
- number_of_blocks = 0;
- total_bytes = 0;
- GC_apply_to_all_blocks(GC_print_block_descr, (word)0);
- GC_printf2("\nblocks = %lu, bytes = %lu\n",
- (unsigned long)number_of_blocks,
- (unsigned long)total_bytes);
-}
-
-#endif /* NO_DEBUGGING */
-
-/*
- * Do the same thing on the entire heap, after first clearing small object
- * free lists (if we are not just looking for leaks).
- */
-void GC_start_reclaim(abort_if_found)
-int abort_if_found; /* Abort if a GC_reclaimable object is found */
-{
- int kind;
-
- /* Clear reclaim- and free-lists */
- for (kind = 0; kind < GC_n_kinds; kind++) {
- register ptr_t *fop;
- register ptr_t *lim;
- register struct hblk ** rlp;
- register struct hblk ** rlim;
- register struct hblk ** rlist = GC_obj_kinds[kind].ok_reclaim_list;
-
- if (rlist == 0) continue; /* This kind not used. */
- if (!abort_if_found) {
- lim = &(GC_obj_kinds[kind].ok_freelist[MAXOBJSZ+1]);
- for( fop = GC_obj_kinds[kind].ok_freelist; fop < lim; fop++ ) {
- *fop = 0;
- }
- } /* otherwise free list objects are marked, */
- /* and its safe to leave them */
- rlim = rlist + MAXOBJSZ+1;
- for( rlp = rlist; rlp < rlim; rlp++ ) {
- *rlp = 0;
- }
- }
-
-# ifdef PRINTBLOCKS
- GC_printf0("GC_reclaim: current block sizes:\n");
- GC_print_block_list();
-# endif
-
- /* Go through all heap blocks (in hblklist) and reclaim unmarked objects */
- /* or enqueue the block for later processing. */
- GC_apply_to_all_blocks(GC_reclaim_block, (word)abort_if_found);
-
-}
-
-/*
- * Sweep blocks of the indicated object size and kind until either the
- * appropriate free list is nonempty, or there are no more blocks to
- * sweep.
- */
-void GC_continue_reclaim(sz, kind)
-word sz; /* words */
-int kind;
-{
- register hdr * hhdr;
- register struct hblk * hbp;
- register struct obj_kind * ok = &(GC_obj_kinds[kind]);
- struct hblk ** rlh = ok -> ok_reclaim_list;
- ptr_t *flh = &(ok -> ok_freelist[sz]);
-
- if (rlh == 0) return; /* No blocks of this kind. */
- rlh += sz;
- while ((hbp = *rlh) != 0) {
- hhdr = HDR(hbp);
- *rlh = hhdr -> hb_next;
- GC_reclaim_small_nonempty_block(hbp, FALSE);
- if (*flh != 0) break;
- }
-}
-
-/*
- * Reclaim all small blocks waiting to be reclaimed.
- * Abort and return FALSE when/if (*stop_func)() returns TRUE.
- * If this returns TRUE, then it's safe to restart the world
- * with incorrectly cleared mark bits.
- * If ignore_old is TRUE, then reclain only blocks that have been
- * recently reclaimed, and discard the rest.
- * Stop_func may be 0.
- */
-GC_bool GC_reclaim_all(stop_func, ignore_old)
-GC_stop_func stop_func;
-GC_bool ignore_old;
-{
- register word sz;
- register int kind;
- register hdr * hhdr;
- register struct hblk * hbp;
- register struct obj_kind * ok;
- struct hblk ** rlp;
- struct hblk ** rlh;
-# ifdef PRINTTIMES
- CLOCK_TYPE start_time;
- CLOCK_TYPE done_time;
-
- GET_TIME(start_time);
-# endif
-
- for (kind = 0; kind < GC_n_kinds; kind++) {
- ok = &(GC_obj_kinds[kind]);
- rlp = ok -> ok_reclaim_list;
- if (rlp == 0) continue;
- for (sz = 1; sz <= MAXOBJSZ; sz++) {
- rlh = rlp + sz;
- while ((hbp = *rlh) != 0) {
- if (stop_func != (GC_stop_func)0 && (*stop_func)()) {
- return(FALSE);
- }
- hhdr = HDR(hbp);
- *rlh = hhdr -> hb_next;
- if (!ignore_old || hhdr -> hb_last_reclaimed == GC_gc_no - 1) {
- /* It's likely we'll need it this time, too */
- /* It's been touched recently, so this */
- /* shouldn't trigger paging. */
- GC_reclaim_small_nonempty_block(hbp, FALSE);
- }
- }
- }
- }
-# ifdef PRINTTIMES
- GET_TIME(done_time);
- GC_printf1("Disposing of reclaim lists took %lu msecs\n",
- MS_TIME_DIFF(done_time,start_time));
-# endif
- return(TRUE);
-}
diff --git a/boehm-gc/rs6000_mach_dep.s b/boehm-gc/rs6000_mach_dep.s
deleted file mode 100644
index e0dbe808596..00000000000
--- a/boehm-gc/rs6000_mach_dep.s
+++ /dev/null
@@ -1,105 +0,0 @@
- .csect
- .set r0,0
- .set r1,1
- .set r2,2
- .set r3,3
- .set r4,4
- .set r5,5
- .set r6,6
- .set r7,7
- .set r8,8
- .set r9,9
- .set r10,10
- .set r11,11
- .set r12,12
- .set r13,13
- .set r14,14
- .set r15,15
- .set r16,16
- .set r17,17
- .set r18,18
- .set r19,19
- .set r20,20
- .set r21,21
- .set r22,22
- .set r23,23
- .set r24,24
- .set r25,25
- .set r26,26
- .set r27,27
- .set r28,28
- .set r29,29
- .set r30,30
- .set r31,31
-
- # Mark from machine registers that are saved by C compiler
- .globl .GC_push_regs
-.GC_push_regs:
- .extern .GC_push_one
- stu r1,-64(r1) # reserve stack frame
- mflr r0 # save link register
- st r0,0x48(r1)
- oril r3,r2,0x0 # mark from r2
- bl .GC_push_one
- cror 15,15,15
- oril r3,r13,0x0 # mark from r13-r31
- bl .GC_push_one
- cror 15,15,15
- oril r3,r14,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r15,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r16,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r17,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r18,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r19,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r20,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r21,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r22,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r23,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r24,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r25,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r26,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r27,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r28,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r29,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r30,0x0
- bl .GC_push_one
- cror 15,15,15
- oril r3,r31,0x0
- bl .GC_push_one
- cror 15,15,15
- l r0,0x48(r1)
- mtlr r0
- ai r1,r1,64
- br
diff --git a/boehm-gc/setjmp_t.c b/boehm-gc/setjmp_t.c
deleted file mode 100644
index 9ed92138b6c..00000000000
--- a/boehm-gc/setjmp_t.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, September 21, 1995 5:39 pm PDT */
-
-/* Check whether setjmp actually saves registers in jmp_buf. */
-/* If it doesn't, the generic mark_regs code won't work. */
-/* Compilers vary as to whether they will put x in a */
-/* (callee-save) register without -O. The code is */
-/* contrived such that any decent compiler should put x in */
-/* a callee-save register with -O. Thus it is is */
-/* recommended that this be run optimized. (If the machine */
-/* has no callee-save registers, then the generic code is */
-/* safe, but this will not be noticed by this piece of */
-/* code.) */
-#include <stdio.h>
-#include <setjmp.h>
-#include <string.h>
-#include "config.h"
-
-#ifdef OS2
-/* GETPAGESIZE() is set to getpagesize() by default, but that */
-/* doesn't really exist, and the collector doesn't need it. */
-#define INCL_DOSFILEMGR
-#define INCL_DOSMISC
-#define INCL_DOSERRORS
-#include <os2.h>
-
-int
-getpagesize()
-{
- ULONG result[1];
-
- if (DosQuerySysInfo(QSV_PAGE_SIZE, QSV_PAGE_SIZE,
- (void *)result, sizeof(ULONG)) != NO_ERROR) {
- fprintf(stderr, "DosQuerySysInfo failed\n");
- result[0] = 4096;
- }
- return((int)(result[0]));
-}
-#endif
-
-struct {char a_a; char * a_b;} a;
-
-int * nested_sp()
-{
- int dummy;
-
- return(&dummy);
-}
-
-main()
-{
- int dummy;
- long ps = GETPAGESIZE();
- jmp_buf b;
- register int x = (int)strlen("a"); /* 1, slightly disguised */
- static int y = 0;
-
- printf("This appears to be a %s running %s\n", MACH_TYPE, OS_TYPE);
- if (nested_sp() < &dummy) {
- printf("Stack appears to grow down, which is the default.\n");
- printf("A good guess for STACKBOTTOM on this machine is 0x%lx.\n",
- ((unsigned long)(&dummy) + ps) & ~(ps-1));
- } else {
- printf("Stack appears to grow up.\n");
- printf("Define STACK_GROWS_UP in gc_private.h\n");
- printf("A good guess for STACKBOTTOM on this machine is 0x%lx.\n",
- ((unsigned long)(&dummy) + ps) & ~(ps-1));
- }
- printf("Note that this may vary between machines of ostensibly\n");
- printf("the same architecture (e.g. Sun 3/50s and 3/80s).\n");
- printf("On many machines the value is not fixed.\n");
- printf("A good guess for ALIGNMENT on this machine is %ld.\n",
- (unsigned long)(&(a.a_b))-(unsigned long)(&a));
-
- /* Encourage the compiler to keep x in a callee-save register */
- x = 2*x-1;
- printf("");
- x = 2*x-1;
- setjmp(b);
- if (y == 1) {
- if (x == 2) {
- printf("Generic mark_regs code probably wont work\n");
-# if defined(SPARC) || defined(RS6000) || defined(VAX) || defined(MIPS) || defined(M68K) || defined(I386) || defined(NS32K) || defined(RT)
- printf("Assembly code supplied\n");
-# else
- printf("Need assembly code\n");
-# endif
- } else if (x == 1) {
- printf("Generic mark_regs code may work\n");
- } else {
- printf("Very strange setjmp implementation\n");
- }
- }
- y++;
- x = 2;
- if (y == 1) longjmp(b,1);
- return(0);
-}
-
-int g(x)
-int x;
-{
- return(x);
-}
diff --git a/boehm-gc/solaris_pthreads.c b/boehm-gc/solaris_pthreads.c
deleted file mode 100644
index 91a0f01b33f..00000000000
--- a/boehm-gc/solaris_pthreads.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Support code for Solaris threads. Provides functionality we wish Sun
- * had provided. Relies on some information we probably shouldn't rely on.
- * Modified Peter C. for Solaris Posix Threads.
- */
-/* Boehm, September 14, 1994 4:44 pm PDT */
-
-# if defined(_SOLARIS_PTHREADS)
-# include "gc_priv.h"
-# include <pthread.h>
-# include <thread.h>
-# include <signal.h>
-# include <fcntl.h>
-# include <sys/types.h>
-# include <sys/mman.h>
-# include <sys/time.h>
-# include <sys/resource.h>
-# include <sys/stat.h>
-# include <sys/syscall.h>
-# include <sys/procfs.h>
-# include <sys/lwp.h>
-# include <sys/reg.h>
-# define _CLASSIC_XOPEN_TYPES
-# include <unistd.h>
-# include <errno.h>
-# include "solaris_threads.h"
-# include <stdio.h>
-
-#undef pthread_join
-#undef pthread_create
-
-pthread_cond_t GC_prom_join_cv; /* Broadcast when any thread terminates */
-pthread_cond_t GC_create_cv; /* Signalled when a new undetached */
- /* thread starts. */
-
-extern GC_bool GC_multithreaded;
-
-/* We use the allocation lock to protect thread-related data structures. */
-
-/* We stop the world using /proc primitives. This makes some */
-/* minimal assumptions about the threads implementation. */
-/* We don't play by the rules, since the rules make this */
-/* impossible (as of Solaris 2.3). Also note that as of */
-/* Solaris 2.3 the various thread and lwp suspension */
-/* primitives failed to stop threads by the time the request */
-/* is completed. */
-
-
-
-int GC_pthread_join(pthread_t wait_for, void **status)
-{
- return GC_thr_join((thread_t)wait_for, NULL, status);
-}
-
-
-int
-GC_pthread_create(pthread_t *new_thread,
- const pthread_attr_t *attr_in,
- void * (*thread_execp)(void *), void *arg)
-{
- int result;
- GC_thread t;
- pthread_t my_new_thread;
- pthread_attr_t attr;
- word my_flags = 0;
- int flag;
- void * stack;
- size_t stack_size;
- int n;
- struct sched_param schedparam;
-
- (void)pthread_attr_getstacksize(attr_in, &stack_size);
- (void)pthread_attr_getstackaddr(attr_in, &stack);
- (void)pthread_attr_init(&attr);
-
- LOCK();
- if (!GC_thr_initialized) {
- GC_thr_init();
- }
- GC_multithreaded++;
-
- if (stack == 0) {
- if (stack_size == 0)
- stack_size = GC_min_stack_sz;
- else
- stack_size += thr_min_stack();
-
- stack = (void *)GC_stack_alloc(&stack_size);
- if (stack == 0) {
- GC_multithreaded--;
- UNLOCK();
- errno = ENOMEM;
- return -1;
- }
- } else {
- my_flags |= CLIENT_OWNS_STACK;
- }
- (void)pthread_attr_setstacksize(&attr, stack_size);
- (void)pthread_attr_setstackaddr(&attr, stack);
- (void)pthread_attr_getscope(attr_in, &n);
- (void)pthread_attr_setscope(&attr, n);
- (void)pthread_attr_getschedparam(attr_in, &schedparam);
- (void)pthread_attr_setschedparam(&attr, &schedparam);
- (void)pthread_attr_getschedpolicy(attr_in, &n);
- (void)pthread_attr_setschedpolicy(&attr, n);
- (void)pthread_attr_getinheritsched(attr_in, &n);
- (void)pthread_attr_setinheritsched(&attr, n);
-
- (void)pthread_attr_getdetachstate(attr_in, &flag);
- if (flag == PTHREAD_CREATE_DETACHED) {
- my_flags |= DETACHED;
- }
- (void)pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
- /*
- * thr_create can call malloc(), which if redirected will
- * attempt to acquire the allocation lock.
- * Unlock here to prevent deadlock.
- */
-
-
-#if 0
-#ifdef I386
- UNLOCK();
-#endif
-#endif
- result =
- pthread_create(&my_new_thread, &attr, thread_execp, arg);
-#if 0
-#ifdef I386
- LOCK();
-#endif
-#endif
- if (result == 0) {
- t = GC_new_thread(my_new_thread);
- t -> flags = my_flags;
- if (!(my_flags & DETACHED)) cond_init(&(t->join_cv), USYNC_THREAD, 0);
- t -> stack = stack;
- t -> stack_size = stack_size;
- if (new_thread != 0) *new_thread = my_new_thread;
- pthread_cond_signal(&GC_create_cv);
- } else {
- if (!(my_flags & CLIENT_OWNS_STACK)) {
- GC_stack_free(stack, stack_size);
- }
- GC_multithreaded--;
- }
- UNLOCK();
- pthread_attr_destroy(&attr);
- return(result);
-}
-
-# else
-
-#ifndef LINT
- int GC_no_sunOS_pthreads;
-#endif
-
-# endif /* SOLARIS_THREADS */
-
diff --git a/boehm-gc/solaris_threads.c b/boehm-gc/solaris_threads.c
deleted file mode 100644
index 1f5ebcdc390..00000000000
--- a/boehm-gc/solaris_threads.c
+++ /dev/null
@@ -1,925 +0,0 @@
-/*
- * Copyright (c) 1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/*
- * Support code for Solaris threads. Provides functionality we wish Sun
- * had provided. Relies on some information we probably shouldn't rely on.
- */
-/* Boehm, September 14, 1994 4:44 pm PDT */
-
-# if defined(SOLARIS_THREADS)
-
-# include "gc_priv.h"
-# include "solaris_threads.h"
-# include <thread.h>
-# include <synch.h>
-# include <signal.h>
-# include <fcntl.h>
-# include <sys/types.h>
-# include <sys/mman.h>
-# include <sys/time.h>
-# include <sys/resource.h>
-# include <sys/stat.h>
-# include <sys/syscall.h>
-# include <sys/procfs.h>
-# include <sys/lwp.h>
-# include <sys/reg.h>
-# define _CLASSIC_XOPEN_TYPES
-# include <unistd.h>
-# include <errno.h>
-
-/*
- * This is the default size of the LWP arrays. If there are more LWPs
- * than this when a stop-the-world GC happens, set_max_lwps will be
- * called to cope.
- * This must be higher than the number of LWPs at startup time.
- * The threads library creates a thread early on, so the min. is 3
- */
-# define DEFAULT_MAX_LWPS 4
-
-#undef thr_join
-#undef thr_create
-#undef thr_suspend
-#undef thr_continue
-
-cond_t GC_prom_join_cv; /* Broadcast when any thread terminates */
-cond_t GC_create_cv; /* Signalled when a new undetached */
- /* thread starts. */
-
-
-#ifdef MMAP_STACKS
-static int GC_zfd;
-#endif /* MMAP_STACKS */
-
-/* We use the allocation lock to protect thread-related data structures. */
-
-/* We stop the world using /proc primitives. This makes some */
-/* minimal assumptions about the threads implementation. */
-/* We don't play by the rules, since the rules make this */
-/* impossible (as of Solaris 2.3). Also note that as of */
-/* Solaris 2.3 the various thread and lwp suspension */
-/* primitives failed to stop threads by the time the request */
-/* is completed. */
-
-
-static sigset_t old_mask;
-
-/* Sleep for n milliseconds, n < 1000 */
-void GC_msec_sleep(int n)
-{
- struct timespec ts;
-
- ts.tv_sec = 0;
- ts.tv_nsec = 1000000*n;
- if (syscall(SYS_nanosleep, &ts, 0) < 0) {
- ABORT("nanosleep failed");
- }
-}
-/* Turn off preemption; gross but effective. */
-/* Caller has allocation lock. */
-/* Actually this is not needed under Solaris 2.3 and */
-/* 2.4, but hopefully that'll change. */
-void preempt_off()
-{
- sigset_t set;
-
- (void)sigfillset(&set);
- sigdelset(&set, SIGABRT);
- syscall(SYS_sigprocmask, SIG_SETMASK, &set, &old_mask);
-}
-
-void preempt_on()
-{
- syscall(SYS_sigprocmask, SIG_SETMASK, &old_mask, NULL);
-}
-
-int GC_main_proc_fd = -1;
-
-
-struct lwp_cache_entry {
- lwpid_t lc_id;
- int lc_descr; /* /proc file descriptor. */
-} GC_lwp_cache_default[DEFAULT_MAX_LWPS];
-
-static int max_lwps = DEFAULT_MAX_LWPS;
-static struct lwp_cache_entry *GC_lwp_cache = GC_lwp_cache_default;
-
-static prgregset_t GC_lwp_registers_default[DEFAULT_MAX_LWPS];
-static prgregset_t *GC_lwp_registers = GC_lwp_registers_default;
-
-/* Return a file descriptor for the /proc entry corresponding */
-/* to the given lwp. The file descriptor may be stale if the */
-/* lwp exited and a new one was forked. */
-static int open_lwp(lwpid_t id)
-{
- int result;
- static int next_victim = 0;
- register int i;
-
- for (i = 0; i < max_lwps; i++) {
- if (GC_lwp_cache[i].lc_id == id) return(GC_lwp_cache[i].lc_descr);
- }
- result = syscall(SYS_ioctl, GC_main_proc_fd, PIOCOPENLWP, &id);
- /*
- * If PIOCOPENLWP fails, try closing fds in the cache until it succeeds.
- */
- if (result < 0 && errno == EMFILE) {
- for (i = 0; i < max_lwps; i++) {
- if (GC_lwp_cache[i].lc_id != 0) {
- (void)syscall(SYS_close, GC_lwp_cache[i].lc_descr);
- result = syscall(SYS_ioctl, GC_main_proc_fd, PIOCOPENLWP, &id);
- if (result >= 0 || (result < 0 && errno != EMFILE))
- break;
- }
- }
- }
- if (result < 0) {
- if (errno == EMFILE) {
- ABORT("Too many open files");
- }
- return(-1) /* exited? */;
- }
- if (GC_lwp_cache[next_victim].lc_id != 0)
- (void)syscall(SYS_close, GC_lwp_cache[next_victim].lc_descr);
- GC_lwp_cache[next_victim].lc_id = id;
- GC_lwp_cache[next_victim].lc_descr = result;
- if (++next_victim >= max_lwps)
- next_victim = 0;
- return(result);
-}
-
-static void uncache_lwp(lwpid_t id)
-{
- register int i;
-
- for (i = 0; i < max_lwps; i++) {
- if (GC_lwp_cache[i].lc_id == id) {
- (void)syscall(SYS_close, GC_lwp_cache[id].lc_descr);
- GC_lwp_cache[i].lc_id = 0;
- break;
- }
- }
-}
- /* Sequence of current lwp ids */
-static lwpid_t GC_current_ids_default[DEFAULT_MAX_LWPS + 1];
-static lwpid_t *GC_current_ids = GC_current_ids_default;
-
- /* Temporary used below (can be big if large number of LWPs) */
-static lwpid_t last_ids_default[DEFAULT_MAX_LWPS + 1];
-static lwpid_t *last_ids = last_ids_default;
-
-
-#define ROUNDUP(n) WORDS_TO_BYTES(ROUNDED_UP_WORDS(n))
-
-static void set_max_lwps(GC_word n)
-{
- char *mem;
- char *oldmem;
- int required_bytes = ROUNDUP(n * sizeof(struct lwp_cache_entry))
- + ROUNDUP(n * sizeof(prgregset_t))
- + ROUNDUP((n + 1) * sizeof(lwpid_t))
- + ROUNDUP((n + 1) * sizeof(lwpid_t));
-
- GC_expand_hp_inner(divHBLKSZ((word)required_bytes));
- oldmem = mem = GC_scratch_alloc(required_bytes);
- if (0 == mem) ABORT("No space for lwp data structures");
-
- /*
- * We can either flush the old lwp cache or copy it over. Do the latter.
- */
- memcpy(mem, GC_lwp_cache, max_lwps * sizeof(struct lwp_cache_entry));
- GC_lwp_cache = (struct lwp_cache_entry*)mem;
- mem += ROUNDUP(n * sizeof(struct lwp_cache_entry));
-
- BZERO(GC_lwp_registers, max_lwps * sizeof(GC_lwp_registers[0]));
- GC_lwp_registers = (prgregset_t *)mem;
- mem += ROUNDUP(n * sizeof(prgregset_t));
-
-
- GC_current_ids = (lwpid_t *)mem;
- mem += ROUNDUP((n + 1) * sizeof(lwpid_t));
-
- last_ids = (lwpid_t *)mem;
- mem += ROUNDUP((n + 1)* sizeof(lwpid_t));
-
- if (mem > oldmem + required_bytes)
- ABORT("set_max_lwps buffer overflow");
-
- max_lwps = n;
-}
-
-
-/* Stop all lwps in process. Assumes preemption is off. */
-/* Caller has allocation lock (and any other locks he may */
-/* need). */
-static void stop_all_lwps()
-{
- int lwp_fd;
- char buf[30];
- prstatus_t status;
- register int i;
- GC_bool changed;
- lwpid_t me = _lwp_self();
-
- if (GC_main_proc_fd == -1) {
- sprintf(buf, "/proc/%d", getpid());
- GC_main_proc_fd = syscall(SYS_open, buf, O_RDONLY);
- if (GC_main_proc_fd < 0) {
- if (errno == EMFILE)
- ABORT("/proc open failed: too many open files");
- GC_printf1("/proc open failed: errno %d", errno);
- abort();
- }
- }
- BZERO(GC_lwp_registers, sizeof (prgregset_t) * max_lwps);
- for (i = 0; i < max_lwps; i++)
- last_ids[i] = 0;
- for (;;) {
- if (syscall(SYS_ioctl, GC_main_proc_fd, PIOCSTATUS, &status) < 0)
- ABORT("Main PIOCSTATUS failed");
- if (status.pr_nlwp < 1)
- ABORT("Invalid number of lwps returned by PIOCSTATUS");
- if (status.pr_nlwp >= max_lwps) {
- set_max_lwps(status.pr_nlwp*2 + 10);
- /*
- * The data in the old GC_current_ids and
- * GC_lwp_registers has been trashed. Cleaning out last_ids
- * will make sure every LWP gets re-examined.
- */
- for (i = 0; i < max_lwps; i++)
- last_ids[i] = 0;
- continue;
- }
- if (syscall(SYS_ioctl, GC_main_proc_fd, PIOCLWPIDS, GC_current_ids) < 0)
- ABORT("PIOCLWPIDS failed");
- changed = FALSE;
- for (i = 0; GC_current_ids[i] != 0 && i < max_lwps; i++) {
- if (GC_current_ids[i] != last_ids[i]) {
- changed = TRUE;
- if (GC_current_ids[i] != me) {
- /* PIOCSTOP doesn't work without a writable */
- /* descriptor. And that makes the process */
- /* undebuggable. */
- if (_lwp_suspend(GC_current_ids[i]) < 0) {
- /* Could happen if the lwp exited */
- uncache_lwp(GC_current_ids[i]);
- GC_current_ids[i] = me; /* ignore */
- }
- }
- }
- }
- /*
- * In the unlikely event something does a fork between the
- * PIOCSTATUS and the PIOCLWPIDS.
- */
- if (i >= max_lwps)
- continue;
- /* All lwps in GC_current_ids != me have been suspended. Note */
- /* that _lwp_suspend is idempotent. */
- for (i = 0; GC_current_ids[i] != 0; i++) {
- if (GC_current_ids[i] != last_ids[i]) {
- if (GC_current_ids[i] != me) {
- lwp_fd = open_lwp(GC_current_ids[i]);
- if (lwp_fd == -1)
- {
- GC_current_ids[i] = me;
- continue;
- }
- /* LWP should be stopped. Empirically it sometimes */
- /* isn't, and more frequently the PR_STOPPED flag */
- /* is not set. Wait for PR_STOPPED. */
- if (syscall(SYS_ioctl, lwp_fd,
- PIOCSTATUS, &status) < 0) {
- /* Possible if the descriptor was stale, or */
- /* we encountered the 2.3 _lwp_suspend bug. */
- uncache_lwp(GC_current_ids[i]);
- GC_current_ids[i] = me; /* handle next time. */
- } else {
- while (!(status.pr_flags & PR_STOPPED)) {
- GC_msec_sleep(1);
- if (syscall(SYS_ioctl, lwp_fd,
- PIOCSTATUS, &status) < 0) {
- ABORT("Repeated PIOCSTATUS failed");
- }
- if (status.pr_flags & PR_STOPPED) break;
-
- GC_msec_sleep(20);
- if (syscall(SYS_ioctl, lwp_fd,
- PIOCSTATUS, &status) < 0) {
- ABORT("Repeated PIOCSTATUS failed");
- }
- }
- if (status.pr_who != GC_current_ids[i]) {
- /* can happen if thread was on death row */
- uncache_lwp(GC_current_ids[i]);
- GC_current_ids[i] = me; /* handle next time. */
- continue;
- }
- /* Save registers where collector can */
- /* find them. */
- BCOPY(status.pr_reg, GC_lwp_registers[i],
- sizeof (prgregset_t));
- }
- }
- }
- }
- if (!changed) break;
- for (i = 0; i < max_lwps; i++) last_ids[i] = GC_current_ids[i];
- }
-}
-
-/* Restart all lwps in process. Assumes preemption is off. */
-static void restart_all_lwps()
-{
- int lwp_fd;
- register int i;
- GC_bool changed;
- lwpid_t me = _lwp_self();
-# define PARANOID
-
- for (i = 0; GC_current_ids[i] != 0; i++) {
-# ifdef PARANOID
- if (GC_current_ids[i] != me) {
- int lwp_fd = open_lwp(GC_current_ids[i]);
- prstatus_t status;
-
- if (lwp_fd < 0) ABORT("open_lwp failed");
- if (syscall(SYS_ioctl, lwp_fd,
- PIOCSTATUS, &status) < 0) {
- ABORT("PIOCSTATUS failed in restart_all_lwps");
- }
- if (memcmp(status.pr_reg, GC_lwp_registers[i],
- sizeof (prgregset_t)) != 0) {
- int j;
-
- for(j = 0; j < NGREG; j++)
- {
- GC_printf3("%i: %x -> %x\n", j,
- GC_lwp_registers[i][j],
- status.pr_reg[j]);
- }
- ABORT("Register contents changed");
- }
- if (!status.pr_flags & PR_STOPPED) {
- ABORT("lwp no longer stopped");
- }
-#ifdef SPARC
- {
- gwindows_t windows;
- if (syscall(SYS_ioctl, lwp_fd,
- PIOCGWIN, &windows) < 0) {
- ABORT("PIOCSTATUS failed in restart_all_lwps");
- }
- if (windows.wbcnt > 0) ABORT("unsaved register windows");
- }
-#endif
- }
-# endif /* PARANOID */
- if (GC_current_ids[i] == me) continue;
- if (_lwp_continue(GC_current_ids[i]) < 0) {
- ABORT("Failed to restart lwp");
- }
- }
- if (i >= max_lwps) ABORT("Too many lwps");
-}
-
-GC_bool GC_multithreaded = 0;
-
-void GC_stop_world()
-{
- preempt_off();
- if (GC_multithreaded)
- stop_all_lwps();
-}
-
-void GC_start_world()
-{
- if (GC_multithreaded)
- restart_all_lwps();
- preempt_on();
-}
-
-void GC_thr_init(void);
-
-GC_bool GC_thr_initialized = FALSE;
-
-size_t GC_min_stack_sz;
-
-size_t GC_page_sz;
-
-/*
- * stack_head is stored at the top of free stacks
- */
-struct stack_head {
- struct stack_head *next;
- ptr_t base;
- thread_t owner;
-};
-
-# define N_FREE_LISTS 25
-struct stack_head *GC_stack_free_lists[N_FREE_LISTS] = { 0 };
- /* GC_stack_free_lists[i] is free list for stacks of */
- /* size GC_min_stack_sz*2**i. */
- /* Free lists are linked through stack_head stored */ /* at top of stack. */
-
-/* Return a stack of size at least *stack_size. *stack_size is */
-/* replaced by the actual stack size. */
-/* Caller holds allocation lock. */
-ptr_t GC_stack_alloc(size_t * stack_size)
-{
- register size_t requested_sz = *stack_size;
- register size_t search_sz = GC_min_stack_sz;
- register int index = 0; /* = log2(search_sz/GC_min_stack_sz) */
- register ptr_t base;
- register struct stack_head *result;
-
- while (search_sz < requested_sz) {
- search_sz *= 2;
- index++;
- }
- if ((result = GC_stack_free_lists[index]) == 0
- && (result = GC_stack_free_lists[index+1]) != 0) {
- /* Try next size up. */
- search_sz *= 2; index++;
- }
- if (result != 0) {
- base = GC_stack_free_lists[index]->base;
- GC_stack_free_lists[index] = GC_stack_free_lists[index]->next;
- } else {
-#ifdef MMAP_STACKS
- base = (ptr_t)mmap(0, search_sz + GC_page_sz,
- PROT_READ|PROT_WRITE, MAP_PRIVATE |MAP_NORESERVE,
- GC_zfd, 0);
- if (base == (ptr_t)-1)
- {
- *stack_size = 0;
- return NULL;
- }
-
- mprotect(base, GC_page_sz, PROT_NONE);
- /* Should this use divHBLKSZ(search_sz + GC_page_sz) ? -- cf */
- GC_is_fresh((struct hblk *)base, divHBLKSZ(search_sz));
- base += GC_page_sz;
-
-#else
- base = (ptr_t) GC_scratch_alloc(search_sz + 2*GC_page_sz);
- if (base == NULL)
- {
- *stack_size = 0;
- return NULL;
- }
-
- base = (ptr_t)(((word)base + GC_page_sz) & ~(GC_page_sz - 1));
- /* Protect hottest page to detect overflow. */
-# ifdef SOLARIS23_MPROTECT_BUG_FIXED
- mprotect(base, GC_page_sz, PROT_NONE);
-# endif
- GC_is_fresh((struct hblk *)base, divHBLKSZ(search_sz));
-
- base += GC_page_sz;
-#endif
- }
- *stack_size = search_sz;
- return(base);
-}
-
-/* Caller holds allocationlock. */
-void GC_stack_free(ptr_t stack, size_t size)
-{
- register int index = 0;
- register size_t search_sz = GC_min_stack_sz;
- register struct stack_head *head;
-
-#ifdef MMAP_STACKS
- /* Zero pointers */
- mmap(stack, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_FIXED,
- GC_zfd, 0);
-#endif
- while (search_sz < size) {
- search_sz *= 2;
- index++;
- }
- if (search_sz != size) ABORT("Bad stack size");
-
- head = (struct stack_head *)(stack + search_sz - sizeof(struct stack_head));
- head->next = GC_stack_free_lists[index];
- head->base = stack;
- GC_stack_free_lists[index] = head;
-}
-
-void GC_my_stack_limits();
-
-/* Notify virtual dirty bit implementation that known empty parts of */
-/* stacks do not contain useful data. */
-/* Caller holds allocation lock. */
-void GC_old_stacks_are_fresh()
-{
-/* No point in doing this for MMAP stacks - and pointers are zero'd out */
-/* by the mmap in GC_stack_free */
-#ifndef MMAP_STACKS
- register int i;
- register struct stack_head *s;
- register ptr_t p;
- register size_t sz;
- register struct hblk * h;
- int dummy;
-
- for (i = 0, sz= GC_min_stack_sz; i < N_FREE_LISTS;
- i++, sz *= 2) {
- for (s = GC_stack_free_lists[i]; s != 0; s = s->next) {
- p = s->base;
- h = (struct hblk *)(((word)p + HBLKSIZE-1) & ~(HBLKSIZE-1));
- if ((ptr_t)h == p) {
- GC_is_fresh((struct hblk *)p, divHBLKSZ(sz));
- } else {
- GC_is_fresh((struct hblk *)p, divHBLKSZ(sz) - 1);
- BZERO(p, (ptr_t)h - p);
- }
- }
- }
-#endif /* MMAP_STACKS */
- GC_my_stack_limits();
-}
-
-/* The set of all known threads. We intercept thread creation and */
-/* joins. We never actually create detached threads. We allocate all */
-/* new thread stacks ourselves. These allow us to maintain this */
-/* data structure. */
-
-# define THREAD_TABLE_SZ 128 /* Must be power of 2 */
-volatile GC_thread GC_threads[THREAD_TABLE_SZ];
-
-/* Add a thread to GC_threads. We assume it wasn't already there. */
-/* Caller holds allocation lock. */
-GC_thread GC_new_thread(thread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- GC_thread result;
- static struct GC_Thread_Rep first_thread;
- static GC_bool first_thread_used = FALSE;
-
- if (!first_thread_used) {
- result = &first_thread;
- first_thread_used = TRUE;
- /* Dont acquire allocation lock, since we may already hold it. */
- } else {
- result = (struct GC_Thread_Rep *)
- GC_generic_malloc_inner(sizeof(struct GC_Thread_Rep), NORMAL);
- }
- if (result == 0) return(0);
- result -> id = id;
- result -> next = GC_threads[hv];
- GC_threads[hv] = result;
- /* result -> finished = 0; */
- (void) cond_init(&(result->join_cv), USYNC_THREAD, 0);
- return(result);
-}
-
-/* Delete a thread from GC_threads. We assume it is there. */
-/* (The code intentionally traps if it wasn't.) */
-/* Caller holds allocation lock. */
-void GC_delete_thread(thread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
- register GC_thread prev = 0;
-
- while (p -> id != id) {
- prev = p;
- p = p -> next;
- }
- if (prev == 0) {
- GC_threads[hv] = p -> next;
- } else {
- prev -> next = p -> next;
- }
-}
-
-/* Return the GC_thread correpsonding to a given thread_t. */
-/* Returns 0 if it's not there. */
-/* Caller holds allocation lock. */
-GC_thread GC_lookup_thread(thread_t id)
-{
- int hv = ((word)id) % THREAD_TABLE_SZ;
- register GC_thread p = GC_threads[hv];
-
- while (p != 0 && p -> id != id) p = p -> next;
- return(p);
-}
-
-/* Notify dirty bit implementation of unused parts of my stack. */
-/* Caller holds allocation lock. */
-void GC_my_stack_limits()
-{
- int dummy;
- register ptr_t hottest = (ptr_t)((word)(&dummy) & ~(HBLKSIZE-1));
- register GC_thread me = GC_lookup_thread(thr_self());
- register size_t stack_size = me -> stack_size;
- register ptr_t stack;
-
- if (stack_size == 0) {
- /* original thread */
- struct rlimit rl;
-
- if (getrlimit(RLIMIT_STACK, &rl) != 0) ABORT("getrlimit failed");
- /* Empirically, what should be the stack page with lowest */
- /* address is actually inaccessible. */
- stack_size = ((word)rl.rlim_cur & ~(HBLKSIZE-1)) - GC_page_sz;
- stack = GC_stackbottom - stack_size + GC_page_sz;
- } else {
- stack = me -> stack;
- }
- if (stack > hottest || stack + stack_size < hottest) {
- ABORT("sp out of bounds");
- }
- GC_is_fresh((struct hblk *)stack, divHBLKSZ(hottest - stack));
-}
-
-
-/* We hold allocation lock. We assume the world is stopped. */
-void GC_push_all_stacks()
-{
- register int i;
- register GC_thread p;
- register ptr_t sp = GC_approx_sp();
- register ptr_t bottom, top;
- struct rlimit rl;
-
-# define PUSH(bottom,top) \
- if (GC_dirty_maintained) { \
- GC_push_dirty((bottom), (top), GC_page_was_ever_dirty, \
- GC_push_all_stack); \
- } else { \
- GC_push_all_stack((bottom), (top)); \
- }
- GC_push_all_stack((ptr_t)GC_lwp_registers,
- (ptr_t)GC_lwp_registers
- + max_lwps * sizeof(GC_lwp_registers[0]));
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> stack_size != 0) {
- bottom = p -> stack;
- top = p -> stack + p -> stack_size;
- } else {
- /* The original stack. */
- if (getrlimit(RLIMIT_STACK, &rl) != 0) ABORT("getrlimit failed");
- bottom = GC_stackbottom - rl.rlim_cur + GC_page_sz;
- top = GC_stackbottom;
- }
- if ((word)sp > (word)bottom && (word)sp < (word)top) bottom = sp;
- PUSH(bottom, top);
- }
- }
-}
-
-
-int GC_is_thread_stack(ptr_t addr)
-{
- register int i;
- register GC_thread p;
- register ptr_t bottom, top;
- struct rlimit rl;
-
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (p = GC_threads[i]; p != 0; p = p -> next) {
- if (p -> stack_size != 0) {
- if (p -> stack <= addr &&
- addr < p -> stack + p -> stack_size)
- return 1;
- }
- }
- }
-}
-
-/* The only thread that ever really performs a thr_join. */
-void * GC_thr_daemon(void * dummy)
-{
- void *status;
- thread_t departed;
- register GC_thread t;
- register int i;
- register int result;
-
- for(;;) {
- start:
- result = thr_join((thread_t)0, &departed, &status);
- LOCK();
- if (result != 0) {
- /* No more threads; wait for create. */
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (t = GC_threads[i]; t != 0; t = t -> next) {
- if (!(t -> flags & (DETACHED | FINISHED))) {
- UNLOCK();
- goto start; /* Thread started just before we */
- /* acquired the lock. */
- }
- }
- }
- cond_wait(&GC_create_cv, &GC_allocate_ml);
- UNLOCK();
- } else {
- t = GC_lookup_thread(departed);
- GC_multithreaded--;
- if (!(t -> flags & CLIENT_OWNS_STACK)) {
- GC_stack_free(t -> stack, t -> stack_size);
- }
- if (t -> flags & DETACHED) {
- GC_delete_thread(departed);
- } else {
- t -> status = status;
- t -> flags |= FINISHED;
- cond_signal(&(t -> join_cv));
- cond_broadcast(&GC_prom_join_cv);
- }
- UNLOCK();
- }
- }
-}
-
-/* We hold the allocation lock, or caller ensures that 2 instances */
-/* cannot be invoked concurrently. */
-void GC_thr_init(void)
-{
- GC_thread t;
- thread_t tid;
-
- if (GC_thr_initialized)
- return;
- GC_thr_initialized = TRUE;
- GC_min_stack_sz = ((thr_min_stack() + 32*1024 + HBLKSIZE-1)
- & ~(HBLKSIZE - 1));
- GC_page_sz = sysconf(_SC_PAGESIZE);
-#ifdef MMAP_STACKS
- GC_zfd = open("/dev/zero", O_RDONLY);
- if (GC_zfd == -1)
- ABORT("Can't open /dev/zero");
-#endif /* MMAP_STACKS */
- cond_init(&GC_prom_join_cv, USYNC_THREAD, 0);
- cond_init(&GC_create_cv, USYNC_THREAD, 0);
- /* Add the initial thread, so we can stop it. */
- t = GC_new_thread(thr_self());
- t -> stack_size = 0;
- t -> flags = DETACHED | CLIENT_OWNS_STACK;
- if (thr_create(0 /* stack */, 0 /* stack_size */, GC_thr_daemon,
- 0 /* arg */, THR_DETACHED | THR_DAEMON,
- &tid /* thread_id */) != 0) {
- ABORT("Cant fork daemon");
- }
- thr_setprio(tid, 126);
-}
-
-/* We acquire the allocation lock to prevent races with */
-/* stopping/starting world. */
-/* This is no more correct than the underlying Solaris 2.X */
-/* implementation. Under 2.3 THIS IS BROKEN. */
-int GC_thr_suspend(thread_t target_thread)
-{
- GC_thread t;
- int result;
-
- LOCK();
- result = thr_suspend(target_thread);
- if (result == 0) {
- t = GC_lookup_thread(target_thread);
- if (t == 0) ABORT("thread unknown to GC");
- t -> flags |= SUSPENDED;
- }
- UNLOCK();
- return(result);
-}
-
-int GC_thr_continue(thread_t target_thread)
-{
- GC_thread t;
- int result;
-
- LOCK();
- result = thr_continue(target_thread);
- if (result == 0) {
- t = GC_lookup_thread(target_thread);
- if (t == 0) ABORT("thread unknown to GC");
- t -> flags &= ~SUSPENDED;
- }
- UNLOCK();
- return(result);
-}
-
-int GC_thr_join(thread_t wait_for, thread_t *departed, void **status)
-{
- register GC_thread t;
- int result = 0;
-
- LOCK();
- if (wait_for == 0) {
- register int i;
- register GC_bool thread_exists;
-
- for (;;) {
- thread_exists = FALSE;
- for (i = 0; i < THREAD_TABLE_SZ; i++) {
- for (t = GC_threads[i]; t != 0; t = t -> next) {
- if (!(t -> flags & DETACHED)) {
- if (t -> flags & FINISHED) {
- goto found;
- }
- thread_exists = TRUE;
- }
- }
- }
- if (!thread_exists) {
- result = ESRCH;
- goto out;
- }
- cond_wait(&GC_prom_join_cv, &GC_allocate_ml);
- }
- } else {
- t = GC_lookup_thread(wait_for);
- if (t == 0 || t -> flags & DETACHED) {
- result = ESRCH;
- goto out;
- }
- if (wait_for == thr_self()) {
- result = EDEADLK;
- goto out;
- }
- while (!(t -> flags & FINISHED)) {
- cond_wait(&(t -> join_cv), &GC_allocate_ml);
- }
-
- }
- found:
- if (status) *status = t -> status;
- if (departed) *departed = t -> id;
- cond_destroy(&(t -> join_cv));
- GC_delete_thread(t -> id);
- out:
- UNLOCK();
- return(result);
-}
-
-
-int
-GC_thr_create(void *stack_base, size_t stack_size,
- void *(*start_routine)(void *), void *arg, long flags,
- thread_t *new_thread)
-{
- int result;
- GC_thread t;
- thread_t my_new_thread;
- word my_flags = 0;
- void * stack = stack_base;
-
- LOCK();
- if (!GC_thr_initialized)
- {
- GC_thr_init();
- }
- GC_multithreaded++;
- if (stack == 0) {
- if (stack_size == 0) stack_size = GC_min_stack_sz;
- stack = (void *)GC_stack_alloc(&stack_size);
- if (stack == 0) {
- GC_multithreaded--;
- UNLOCK();
- return(ENOMEM);
- }
- } else {
- my_flags |= CLIENT_OWNS_STACK;
- }
- if (flags & THR_DETACHED) my_flags |= DETACHED;
- if (flags & THR_SUSPENDED) my_flags |= SUSPENDED;
- result = thr_create(stack, stack_size, start_routine,
- arg, flags & ~THR_DETACHED, &my_new_thread);
- if (result == 0) {
- t = GC_new_thread(my_new_thread);
- t -> flags = my_flags;
- if (!(my_flags & DETACHED)) cond_init(&(t -> join_cv), USYNC_THREAD, 0);
- t -> stack = stack;
- t -> stack_size = stack_size;
- if (new_thread != 0) *new_thread = my_new_thread;
- cond_signal(&GC_create_cv);
- } else {
- GC_multithreaded--;
- if (!(my_flags & CLIENT_OWNS_STACK)) {
- GC_stack_free(stack, stack_size);
- }
- }
- UNLOCK();
- return(result);
-}
-
-# else /* SOLARIS_THREADS */
-
-#ifndef LINT
- int GC_no_sunOS_threads;
-#endif
-#endif
diff --git a/boehm-gc/solaris_threads.h b/boehm-gc/solaris_threads.h
deleted file mode 100644
index b2cdb36e98d..00000000000
--- a/boehm-gc/solaris_threads.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifdef SOLARIS_THREADS
-
-/* The set of all known threads. We intercept thread creation and */
-/* joins. We never actually create detached threads. We allocate all */
-/* new thread stacks ourselves. These allow us to maintain this */
-/* data structure. */
-/* Protected by GC_thr_lock. */
-/* Some of this should be declared volatile, but that's incosnsistent */
-/* with some library routine declarations. In particular, the */
-/* definition of cond_t doesn't mention volatile! */
- typedef struct GC_Thread_Rep {
- struct GC_Thread_Rep * next;
- thread_t id;
- word flags;
-# define FINISHED 1 /* Thread has exited. */
-# define DETACHED 2 /* Thread is intended to be detached. */
-# define CLIENT_OWNS_STACK 4
- /* Stack was supplied by client. */
-# define SUSPENDED 8 /* Currently suspended. */
- ptr_t stack;
- size_t stack_size;
- cond_t join_cv;
- void * status;
- } * GC_thread;
- extern GC_thread GC_new_thread(thread_t id);
-
- extern GC_bool GC_thr_initialized;
- extern volatile GC_thread GC_threads[];
- extern size_t GC_min_stack_sz;
- extern size_t GC_page_sz;
- extern void GC_thr_init(void);
-
-# endif /* SOLARIS_THREADS */
-
diff --git a/boehm-gc/sparc_mach_dep.s b/boehm-gc/sparc_mach_dep.s
deleted file mode 100644
index a6a0a241080..00000000000
--- a/boehm-gc/sparc_mach_dep.s
+++ /dev/null
@@ -1,38 +0,0 @@
-! SPARCompiler 3.0 and later apparently no loner handles
-! asm outside functions. So we need a separate .s file
-! This is only set up for SunOS 5, not SunOS 4.
-! Assumes this is called before the stack contents are
-! examined.
-
- .seg "text"
- .globl GC_save_regs_in_stack
- .globl GC_push_regs
-GC_save_regs_in_stack:
-GC_push_regs:
- ta 0x3 ! ST_FLUSH_WINDOWS
- mov %sp,%o0
- retl
- nop
-
- .globl GC_clear_stack_inner
-GC_clear_stack_inner:
- mov %sp,%o2 ! Save sp
- add %sp,-8,%o3 ! p = sp-8
- clr %g1 ! [g0,g1] = 0
- add %o1,-0x60,%sp ! Move sp out of the way,
- ! so that traps still work.
- ! Includes some extra words
- ! so we can be sloppy below.
-loop:
- std %g0,[%o3] ! *(long long *)p = 0
- cmp %o3,%o1
- bgu loop ! if (p > limit) goto loop
- add %o3,-8,%o3 ! p -= 8 (delay slot)
- retl
- mov %o2,%sp ! Restore sp., delay slot
-
-
-
-
-
- \ No newline at end of file
diff --git a/boehm-gc/sparc_sunos4_mach_dep.s b/boehm-gc/sparc_sunos4_mach_dep.s
deleted file mode 100644
index 7accadd3dfb..00000000000
--- a/boehm-gc/sparc_sunos4_mach_dep.s
+++ /dev/null
@@ -1,38 +0,0 @@
-! SPARCompiler 3.0 and later apparently no loner handles
-! asm outside functions. So we need a separate .s file
-! This is only set up for SunOS 4.
-! Assumes this is called before the stack contents are
-! examined.
-
- .seg "text"
- .globl _GC_save_regs_in_stack
- .globl _GC_push_regs
-_GC_save_regs_in_stack:
-_GC_push_regs:
- ta 0x3 ! ST_FLUSH_WINDOWS
- mov %sp,%o0
- retl
- nop
-
- .globl _GC_clear_stack_inner
-_GC_clear_stack_inner:
- mov %sp,%o2 ! Save sp
- add %sp,-8,%o3 ! p = sp-8
- clr %g1 ! [g0,g1] = 0
- add %o1,-0x60,%sp ! Move sp out of the way,
- ! so that traps still work.
- ! Includes some extra words
- ! so we can be sloppy below.
-loop:
- std %g0,[%o3] ! *(long long *)p = 0
- cmp %o3,%o1
- bgu loop ! if (p > limit) goto loop
- add %o3,-8,%o3 ! p -= 8 (delay slot)
- retl
- mov %o2,%sp ! Restore sp., delay slot
-
-
-
-
-
-
diff --git a/boehm-gc/stubborn.c b/boehm-gc/stubborn.c
deleted file mode 100644
index bef7b98a486..00000000000
--- a/boehm-gc/stubborn.c
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* Boehm, July 31, 1995 5:02 pm PDT */
-
-
-#include "gc_priv.h"
-
-# ifdef STUBBORN_ALLOC
-/* Stubborn object (hard to change, nearly immutable) allocation. */
-
-extern ptr_t GC_clear_stack(); /* in misc.c, behaves like identity */
-
-#define GENERAL_MALLOC(lb,k) \
- (GC_PTR)GC_clear_stack(GC_generic_malloc((word)lb, k))
-
-/* Data structure representing immutable objects that */
-/* are still being initialized. */
-/* This is a bit baroque in order to avoid acquiring */
-/* the lock twice for a typical allocation. */
-
-GC_PTR * GC_changing_list_start;
-
-# ifdef THREADS
- VOLATILE GC_PTR * VOLATILE GC_changing_list_current;
-# else
- GC_PTR * GC_changing_list_current;
-# endif
- /* Points at last added element. Also (ab)used for */
- /* synchronization. Updates and reads are assumed atomic. */
-
-GC_PTR * GC_changing_list_limit;
- /* Points at the last word of the buffer, which is always 0 */
- /* All entries in (GC_changing_list_current, */
- /* GC_changing_list_limit] are 0 */
-
-
-void GC_stubborn_init()
-{
-# define INIT_SIZE 10
-
- GC_changing_list_start = (GC_PTR *)
- GC_generic_malloc_inner(
- (word)(INIT_SIZE * sizeof(GC_PTR)),
- PTRFREE);
- BZERO(GC_changing_list_start,
- INIT_SIZE * sizeof(GC_PTR));
- if (GC_changing_list_start == 0) {
- GC_err_printf0("Insufficient space to start up\n");
- ABORT("GC_stubborn_init: put of space");
- }
- GC_changing_list_current = GC_changing_list_start;
- GC_changing_list_limit = GC_changing_list_start + INIT_SIZE - 1;
- * GC_changing_list_limit = 0;
-}
-
-/* Compact and possibly grow GC_uninit_list. The old copy is */
-/* left alone. Lock must be held. */
-/* When called GC_changing_list_current == GC_changing_list_limit */
-/* which is one past the current element. */
-/* When we finish GC_changing_list_current again points one past last */
-/* element. */
-/* Invariant while this is running: GC_changing_list_current */
-/* points at a word containing 0. */
-/* Returns FALSE on failure. */
-GC_bool GC_compact_changing_list()
-{
- register GC_PTR *p, *q;
- register word count = 0;
- word old_size = (char **)GC_changing_list_limit
- - (char **)GC_changing_list_start+1;
- /* The casts are needed as a workaround for an Amiga bug */
- register word new_size = old_size;
- GC_PTR * new_list;
-
- for (p = GC_changing_list_start; p < GC_changing_list_limit; p++) {
- if (*p != 0) count++;
- }
- if (2 * count > old_size) new_size = 2 * count;
- new_list = (GC_PTR *)
- GC_generic_malloc_inner(
- new_size * sizeof(GC_PTR), PTRFREE);
- /* PTRFREE is a lie. But we don't want the collector to */
- /* consider these. We do want the list itself to be */
- /* collectable. */
- if (new_list == 0) return(FALSE);
- BZERO(new_list, new_size * sizeof(GC_PTR));
- q = new_list;
- for (p = GC_changing_list_start; p < GC_changing_list_limit; p++) {
- if (*p != 0) *q++ = *p;
- }
- GC_changing_list_start = new_list;
- GC_changing_list_limit = new_list + new_size - 1;
- GC_changing_list_current = q;
- return(TRUE);
-}
-
-/* Add p to changing list. Clear p on failure. */
-# define ADD_CHANGING(p) \
- { \
- register struct hblk * h = HBLKPTR(p); \
- register word index = PHT_HASH(h); \
- \
- set_pht_entry_from_index(GC_changed_pages, index); \
- } \
- if (*GC_changing_list_current != 0 \
- && ++GC_changing_list_current == GC_changing_list_limit) { \
- if (!GC_compact_changing_list()) (p) = 0; \
- } \
- *GC_changing_list_current = p;
-
-void GC_change_stubborn(p)
-GC_PTR p;
-{
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- ADD_CHANGING(p);
- UNLOCK();
- ENABLE_SIGNALS();
-}
-
-void GC_end_stubborn_change(p)
-GC_PTR p;
-{
-# ifdef THREADS
- register VOLATILE GC_PTR * my_current = GC_changing_list_current;
-# else
- register GC_PTR * my_current = GC_changing_list_current;
-# endif
- register GC_bool tried_quick;
- DCL_LOCK_STATE;
-
- if (*my_current == p) {
- /* Hopefully the normal case. */
- /* Compaction could not have been running when we started. */
- *my_current = 0;
-# ifdef THREADS
- if (my_current == GC_changing_list_current) {
- /* Compaction can't have run in the interim. */
- /* We got away with the quick and dirty approach. */
- return;
- }
- tried_quick = TRUE;
-# else
- return;
-# endif
- } else {
- tried_quick = FALSE;
- }
- DISABLE_SIGNALS();
- LOCK();
- my_current = GC_changing_list_current;
- for (; my_current >= GC_changing_list_start; my_current--) {
- if (*my_current == p) {
- *my_current = 0;
- UNLOCK();
- ENABLE_SIGNALS();
- return;
- }
- }
- if (!tried_quick) {
- GC_err_printf1("Bad arg to GC_end_stubborn_change: 0x%lx\n",
- (unsigned long)p);
- ABORT("Bad arg to GC_end_stubborn_change");
- }
- UNLOCK();
- ENABLE_SIGNALS();
-}
-
-/* Allocate lb bytes of composite (pointerful) data */
-/* No pointer fields may be changed after a call to */
-/* GC_end_stubborn_change(p) where p is the value */
-/* returned by GC_malloc_stubborn. */
-# ifdef __STDC__
- GC_PTR GC_malloc_stubborn(size_t lb)
-# else
- GC_PTR GC_malloc_stubborn(lb)
- size_t lb;
-# endif
-{
-register ptr_t op;
-register ptr_t *opp;
-register word lw;
-ptr_t result;
-DCL_LOCK_STATE;
-
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_sobjfreelist[lw]);
- FASTLOCK();
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
- FASTUNLOCK();
- result = GC_generic_malloc((word)lb, STUBBORN);
- goto record;
- }
- *opp = obj_link(op);
- obj_link(op) = 0;
- GC_words_allocd += lw;
- result = (GC_PTR) op;
- ADD_CHANGING(result);
- FASTUNLOCK();
- return((GC_PTR)result);
- } else {
- result = (GC_PTR)
- GC_generic_malloc((word)lb, STUBBORN);
- }
-record:
- DISABLE_SIGNALS();
- LOCK();
- ADD_CHANGING(result);
- UNLOCK();
- ENABLE_SIGNALS();
- return((GC_PTR)GC_clear_stack(result));
-}
-
-
-/* Functions analogous to GC_read_dirty and GC_page_was_dirty. */
-/* Report pages on which stubborn objects were changed. */
-void GC_read_changed()
-{
- register GC_PTR * p = GC_changing_list_start;
- register GC_PTR q;
- register struct hblk * h;
- register word index;
-
- if (p == 0) /* initializing */ return;
- BCOPY(GC_changed_pages, GC_prev_changed_pages,
- (sizeof GC_changed_pages));
- BZERO(GC_changed_pages, (sizeof GC_changed_pages));
- for (; p <= GC_changing_list_current; p++) {
- if ((q = *p) != 0) {
- h = HBLKPTR(q);
- index = PHT_HASH(h);
- set_pht_entry_from_index(GC_changed_pages, index);
- }
- }
-}
-
-GC_bool GC_page_was_changed(h)
-struct hblk * h;
-{
- register word index = PHT_HASH(h);
-
- return(get_pht_entry_from_index(GC_prev_changed_pages, index));
-}
-
-/* Remove unreachable entries from changed list. Should only be */
-/* called with mark bits consistent and lock held. */
-void GC_clean_changing_list()
-{
- register GC_PTR * p = GC_changing_list_start;
- register GC_PTR q;
- register ptr_t r;
- register unsigned long count = 0;
- register unsigned long dropped_count = 0;
-
- if (p == 0) /* initializing */ return;
- for (; p <= GC_changing_list_current; p++) {
- if ((q = *p) != 0) {
- count++;
- r = (ptr_t)GC_base(q);
- if (r == 0 || !GC_is_marked(r)) {
- *p = 0;
- dropped_count++;
- }
- }
- }
-# ifdef PRINTSTATS
- if (count > 0) {
- GC_printf2("%lu entries in changing list: reclaimed %lu\n",
- (unsigned long)count, (unsigned long)dropped_count);
- }
-# endif
-}
-
-#else /* !STUBBORN_ALLOC */
-
-# ifdef __STDC__
- GC_PTR GC_malloc_stubborn(size_t lb)
-# else
- GC_PTR GC_malloc_stubborn(lb)
- size_t lb;
-# endif
-{
- return(GC_malloc(lb));
-}
-
-/*ARGSUSED*/
-void GC_end_stubborn_change(p)
-GC_PTR p;
-{
-}
-
-/*ARGSUSED*/
-void GC_change_stubborn(p)
-GC_PTR p;
-{
-}
-
-
-#endif
diff --git a/boehm-gc/test.c b/boehm-gc/test.c
deleted file mode 100644
index 2fc51e12ed7..00000000000
--- a/boehm-gc/test.c
+++ /dev/null
@@ -1,1152 +0,0 @@
-/*
- * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- * Copyright (c) 1996 by Silicon Graphics. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- */
-/* An incomplete test for the garbage collector. */
-/* Some more obscure entry points are not tested at all. */
-
-# if defined(mips) && defined(SYSTYPE_BSD43)
- /* MIPS RISCOS 4 */
-# else
-# include <stdlib.h>
-# endif
-# include <stdio.h>
-# include <assert.h> /* Not normally used, but handy for debugging. */
-# include "gc.h"
-# include "gc_typed.h"
-# include "gc_priv.h" /* For output, locking, and some statistics */
-# include "config.h"
-
-# ifdef MSWIN32
-# include <windows.h>
-# endif
-
-# ifdef PCR
-# include "th/PCR_ThCrSec.h"
-# include "th/PCR_Th.h"
-# undef GC_printf0
-# define GC_printf0 printf
-# undef GC_printf1
-# define GC_printf1 printf
-# endif
-
-# ifdef SOLARIS_THREADS
-# include <thread.h>
-# include <synch.h>
-# endif
-
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
-# include <pthread.h>
-# endif
-
-# ifdef WIN32_THREADS
-# include <process.h>
- static CRITICAL_SECTION incr_cs;
-# endif
-# if defined(PCR) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS)
-# define THREADS
-# endif
-
-# ifdef AMIGA
- long __stack = 200000;
-# endif
-
-# define FAIL (void)abort()
-
-/* AT_END may be defined to excercise the interior pointer test */
-/* if the collector is configured with ALL_INTERIOR_POINTERS. */
-/* As it stands, this test should succeed with either */
-/* configuration. In the FIND_LEAK configuration, it should */
-/* find lots of leaks, since we free almost nothing. */
-
-struct SEXPR {
- struct SEXPR * sexpr_car;
- struct SEXPR * sexpr_cdr;
-};
-
-
-typedef struct SEXPR * sexpr;
-
-# define INT_TO_SEXPR(x) ((sexpr)(unsigned long)(x))
-
-# undef nil
-# define nil (INT_TO_SEXPR(0))
-# define car(x) ((x) -> sexpr_car)
-# define cdr(x) ((x) -> sexpr_cdr)
-# define is_nil(x) ((x) == nil)
-
-
-int extra_count = 0; /* Amount of space wasted in cons node */
-
-/* Silly implementation of Lisp cons. Intentionally wastes lots of space */
-/* to test collector. */
-sexpr cons (x, y)
-sexpr x;
-sexpr y;
-{
- register sexpr r;
- register int *p;
- register int my_extra = extra_count;
-
- r = (sexpr) GC_MALLOC_STUBBORN(sizeof(struct SEXPR) + my_extra);
- if (r == 0) {
- (void)GC_printf0("Out of memory\n");
- exit(1);
- }
- for (p = (int *)r;
- ((char *)p) < ((char *)r) + my_extra + sizeof(struct SEXPR); p++) {
- if (*p) {
- (void)GC_printf1("Found nonzero at 0x%lx - allocator is broken\n",
- (unsigned long)p);
- FAIL;
- }
- *p = 13;
- }
-# ifdef AT_END
- r = (sexpr)((char *)r + (my_extra & ~7));
-# endif
- r -> sexpr_car = x;
- r -> sexpr_cdr = y;
- my_extra++;
- if ( my_extra >= 5000 ) {
- extra_count = 0;
- } else {
- extra_count = my_extra;
- }
- GC_END_STUBBORN_CHANGE((char *)r);
- return(r);
-}
-
-sexpr small_cons (x, y)
-sexpr x;
-sexpr y;
-{
- register sexpr r;
-
- r = (sexpr) GC_MALLOC(sizeof(struct SEXPR));
- if (r == 0) {
- (void)GC_printf0("Out of memory\n");
- exit(1);
- }
- r -> sexpr_car = x;
- r -> sexpr_cdr = y;
- return(r);
-}
-
-sexpr small_cons_uncollectable (x, y)
-sexpr x;
-sexpr y;
-{
- register sexpr r;
-
- r = (sexpr) GC_MALLOC_UNCOLLECTABLE(sizeof(struct SEXPR));
-assert(GC_is_marked(r));
- if (r == 0) {
- (void)GC_printf0("Out of memory\n");
- exit(1);
- }
- r -> sexpr_car = x;
- r -> sexpr_cdr = (sexpr)(~(unsigned long)y);
- return(r);
-}
-
-/* Return reverse(x) concatenated with y */
-sexpr reverse1(x, y)
-sexpr x, y;
-{
- if (is_nil(x)) {
- return(y);
- } else {
- return( reverse1(cdr(x), cons(car(x), y)) );
- }
-}
-
-sexpr reverse(x)
-sexpr x;
-{
- return( reverse1(x, nil) );
-}
-
-sexpr ints(low, up)
-int low, up;
-{
- if (low > up) {
- return(nil);
- } else {
- return(small_cons(small_cons(INT_TO_SEXPR(low), nil), ints(low+1, up)));
- }
-}
-
-/* To check uncollectable allocation we build lists with disguised cdr */
-/* pointers, and make sure they don't go away. */
-sexpr uncollectable_ints(low, up)
-int low, up;
-{
- if (low > up) {
- return(nil);
- } else {
- return(small_cons_uncollectable(small_cons(INT_TO_SEXPR(low), nil),
- uncollectable_ints(low+1, up)));
- }
-}
-
-void check_ints(list, low, up)
-sexpr list;
-int low, up;
-{
- if ((int)(GC_word)(car(car(list))) != low) {
- (void)GC_printf0(
- "List reversal produced incorrect list - collector is broken\n");
- FAIL;
- }
- if (low == up) {
- if (cdr(list) != nil) {
- (void)GC_printf0("List too long - collector is broken\n");
- FAIL;
- }
- } else {
- check_ints(cdr(list), low+1, up);
- }
-}
-
-# define UNCOLLECTABLE_CDR(x) (sexpr)(~(unsigned long)(cdr(x)))
-
-void check_uncollectable_ints(list, low, up)
-sexpr list;
-int low, up;
-{
-assert(GC_is_marked(list));
- if ((int)(GC_word)(car(car(list))) != low) {
- (void)GC_printf0(
- "Uncollectable list corrupted - collector is broken\n");
- FAIL;
- }
- if (low == up) {
- if (UNCOLLECTABLE_CDR(list) != nil) {
- (void)GC_printf0("Uncollectable list too long - collector is broken\n");
- FAIL;
- }
- } else {
- check_uncollectable_ints(UNCOLLECTABLE_CDR(list), low+1, up);
- }
-}
-
-/* Not used, but useful for debugging: */
-void print_int_list(x)
-sexpr x;
-{
- if (is_nil(x)) {
- (void)GC_printf0("NIL\n");
- } else {
- (void)GC_printf1("(%ld)", (long)(car(car(x))));
- if (!is_nil(cdr(x))) {
- (void)GC_printf0(", ");
- (void)print_int_list(cdr(x));
- } else {
- (void)GC_printf0("\n");
- }
- }
-}
-
-/* Try to force a to be strangely aligned */
-struct {
- char dummy;
- sexpr aa;
-} A;
-#define a A.aa
-
-/*
- * Repeatedly reverse lists built out of very different sized cons cells.
- * Check that we didn't lose anything.
- */
-void reverse_test()
-{
- int i;
- sexpr b;
- sexpr c;
- sexpr d;
- sexpr e;
- sexpr *f, *g, *h;
-# if defined(MSWIN32) || defined(MACOS)
- /* Win32S only allows 128K stacks */
-# define BIG 1000
-# else
-# if defined PCR
- /* PCR default stack is 100K. Stack frames are up to 120 bytes. */
-# define BIG 700
-# else
-# define BIG 4500
-# endif
-# endif
-
- A.dummy = 17;
- a = ints(1, 49);
- b = ints(1, 50);
- c = ints(1, BIG);
- d = uncollectable_ints(1, 100);
- e = uncollectable_ints(1, 1);
- /* Check that realloc updates object descriptors correctly */
- f = (sexpr *)GC_malloc(4 * sizeof(sexpr));
- f = (sexpr *)GC_realloc((GC_PTR)f, 6 * sizeof(sexpr));
- f[5] = ints(1,17);
- g = (sexpr *)GC_malloc(513 * sizeof(sexpr));
- g = (sexpr *)GC_realloc((GC_PTR)g, 800 * sizeof(sexpr));
- g[799] = ints(1,18);
- h = (sexpr *)GC_malloc(1025 * sizeof(sexpr));
- h = (sexpr *)GC_realloc((GC_PTR)h, 2000 * sizeof(sexpr));
- h[1999] = ints(1,19);
- /* Try to force some collections and reuse of small list elements */
- for (i = 0; i < 10; i++) {
- (void)ints(1, BIG);
- }
- /* Superficially test interior pointer recognition on stack */
- c = (sexpr)((char *)c + sizeof(char *));
- d = (sexpr)((char *)d + sizeof(char *));
-
-# ifdef __STDC__
- GC_FREE((void *)e);
-# else
- GC_FREE((char *)e);
-# endif
- check_ints(b,1,50);
- check_ints(a,1,49);
- for (i = 0; i < 50; i++) {
- check_ints(b,1,50);
- b = reverse(reverse(b));
- }
- check_ints(b,1,50);
- check_ints(a,1,49);
- for (i = 0; i < 60; i++) {
- /* This maintains the invariant that a always points to a list of */
- /* 49 integers. Thus this is thread safe without locks, */
- /* assuming atomic pointer assignments. */
- a = reverse(reverse(a));
-# if !defined(AT_END) && !defined(THREADS)
- /* This is not thread safe, since realloc explicitly deallocates */
- if (i & 1) {
- a = (sexpr)GC_REALLOC((GC_PTR)a, 500);
- } else {
- a = (sexpr)GC_REALLOC((GC_PTR)a, 8200);
- }
-# endif
- }
- check_ints(a,1,49);
- check_ints(b,1,50);
- c = (sexpr)((char *)c - sizeof(char *));
- d = (sexpr)((char *)d - sizeof(char *));
- check_ints(c,1,BIG);
- check_uncollectable_ints(d, 1, 100);
- check_ints(f[5], 1,17);
- check_ints(g[799], 1,18);
- check_ints(h[1999], 1,19);
-# ifndef THREADS
- a = 0;
-# endif
- b = c = 0;
-}
-
-/*
- * The rest of this builds balanced binary trees, checks that they don't
- * disappear, and tests finalization.
- */
-typedef struct treenode {
- int level;
- struct treenode * lchild;
- struct treenode * rchild;
-} tn;
-
-int finalizable_count = 0;
-int finalized_count = 0;
-VOLATILE int dropped_something = 0;
-
-# ifdef __STDC__
- void finalizer(void * obj, void * client_data)
-# else
- void finalizer(obj, client_data)
- char * obj;
- char * client_data;
-# endif
-{
- tn * t = (tn *)obj;
-
-# ifdef PCR
- PCR_ThCrSec_EnterSys();
-# endif
-# ifdef SOLARIS_THREADS
- static mutex_t incr_lock;
- mutex_lock(&incr_lock);
-# endif
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
- static pthread_mutex_t incr_lock = PTHREAD_MUTEX_INITIALIZER;
- pthread_mutex_lock(&incr_lock);
-# endif
-# ifdef WIN32_THREADS
- EnterCriticalSection(&incr_cs);
-# endif
- if ((int)(GC_word)client_data != t -> level) {
- (void)GC_printf0("Wrong finalization data - collector is broken\n");
- FAIL;
- }
- finalized_count++;
-# ifdef PCR
- PCR_ThCrSec_ExitSys();
-# endif
-# ifdef SOLARIS_THREADS
- mutex_unlock(&incr_lock);
-# endif
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
- pthread_mutex_unlock(&incr_lock);
-# endif
-# ifdef WIN32_THREADS
- LeaveCriticalSection(&incr_cs);
-# endif
-}
-
-size_t counter = 0;
-
-# define MAX_FINALIZED 8000
-
-# if !defined(MACOS)
- GC_FAR GC_word live_indicators[MAX_FINALIZED] = {0};
-#else
- /* Too big for THINK_C. have to allocate it dynamically. */
- GC_word *live_indicators = 0;
-#endif
-
-int live_indicators_count = 0;
-
-tn * mktree(n)
-int n;
-{
- tn * result = (tn *)GC_MALLOC(sizeof(tn));
-
-#if defined(MACOS)
- /* get around static data limitations. */
- if (!live_indicators)
- live_indicators =
- (GC_word*)NewPtrClear(MAX_FINALIZED * sizeof(GC_word));
- if (!live_indicators) {
- (void)GC_printf0("Out of memory\n");
- exit(1);
- }
-#endif
- if (n == 0) return(0);
- if (result == 0) {
- (void)GC_printf0("Out of memory\n");
- exit(1);
- }
- result -> level = n;
- result -> lchild = mktree(n-1);
- result -> rchild = mktree(n-1);
- if (counter++ % 17 == 0 && n >= 2) {
- tn * tmp = result -> lchild -> rchild;
-
- result -> lchild -> rchild = result -> rchild -> lchild;
- result -> rchild -> lchild = tmp;
- }
- if (counter++ % 119 == 0) {
- int my_index;
-
- {
-# ifdef PCR
- PCR_ThCrSec_EnterSys();
-# endif
-# ifdef SOLARIS_THREADS
- static mutex_t incr_lock;
- mutex_lock(&incr_lock);
-# endif
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
- static pthread_mutex_t incr_lock = PTHREAD_MUTEX_INITIALIZER;
- pthread_mutex_lock(&incr_lock);
-# endif
-# ifdef WIN32_THREADS
- EnterCriticalSection(&incr_cs);
-# endif
- /* Losing a count here causes erroneous report of failure. */
- finalizable_count++;
- my_index = live_indicators_count++;
-# ifdef PCR
- PCR_ThCrSec_ExitSys();
-# endif
-# ifdef SOLARIS_THREADS
- mutex_unlock(&incr_lock);
-# endif
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
- pthread_mutex_unlock(&incr_lock);
-# endif
-# ifdef WIN32_THREADS
- LeaveCriticalSection(&incr_cs);
-# endif
- }
-
- GC_REGISTER_FINALIZER((GC_PTR)result, finalizer, (GC_PTR)(GC_word)n,
- (GC_finalization_proc *)0, (GC_PTR *)0);
- if (my_index >= MAX_FINALIZED) {
- GC_printf0("live_indicators overflowed\n");
- FAIL;
- }
- live_indicators[my_index] = 13;
- if (GC_GENERAL_REGISTER_DISAPPEARING_LINK(
- (GC_PTR *)(&(live_indicators[my_index])),
- (GC_PTR)result) != 0) {
- GC_printf0("GC_general_register_disappearing_link failed\n");
- FAIL;
- }
- if (GC_unregister_disappearing_link(
- (GC_PTR *)
- (&(live_indicators[my_index]))) == 0) {
- GC_printf0("GC_unregister_disappearing_link failed\n");
- FAIL;
- }
- if (GC_GENERAL_REGISTER_DISAPPEARING_LINK(
- (GC_PTR *)(&(live_indicators[my_index])),
- (GC_PTR)result) != 0) {
- GC_printf0("GC_general_register_disappearing_link failed 2\n");
- FAIL;
- }
- }
- return(result);
-}
-
-void chktree(t,n)
-tn *t;
-int n;
-{
- if (n == 0 && t != 0) {
- (void)GC_printf0("Clobbered a leaf - collector is broken\n");
- FAIL;
- }
- if (n == 0) return;
- if (t -> level != n) {
- (void)GC_printf1("Lost a node at level %lu - collector is broken\n",
- (unsigned long)n);
- FAIL;
- }
- if (counter++ % 373 == 0) (void) GC_MALLOC(counter%5001);
- chktree(t -> lchild, n-1);
- if (counter++ % 73 == 0) (void) GC_MALLOC(counter%373);
- chktree(t -> rchild, n-1);
-}
-
-# ifdef SOLARIS_THREADS
-thread_key_t fl_key;
-
-void * alloc8bytes()
-{
-# ifdef SMALL_CONFIG
- return(GC_malloc(8));
-# else
- void ** my_free_list_ptr;
- void * my_free_list;
-
- if (thr_getspecific(fl_key, (void **)(&my_free_list_ptr)) != 0) {
- (void)GC_printf0("thr_getspecific failed\n");
- FAIL;
- }
- if (my_free_list_ptr == 0) {
- my_free_list_ptr = GC_NEW_UNCOLLECTABLE(void *);
- if (thr_setspecific(fl_key, my_free_list_ptr) != 0) {
- (void)GC_printf0("thr_setspecific failed\n");
- FAIL;
- }
- }
- my_free_list = *my_free_list_ptr;
- if (my_free_list == 0) {
- my_free_list = GC_malloc_many(8);
- if (my_free_list == 0) {
- (void)GC_printf0("alloc8bytes out of memory\n");
- FAIL;
- }
- }
- *my_free_list_ptr = GC_NEXT(my_free_list);
- GC_NEXT(my_free_list) = 0;
- return(my_free_list);
-# endif
-}
-
-#else
-# define alloc8bytes() GC_MALLOC_ATOMIC(8)
-#endif
-
-void alloc_small(n)
-int n;
-{
- register int i;
-
- for (i = 0; i < n; i += 8) {
- if (alloc8bytes() == 0) {
- (void)GC_printf0("Out of memory\n");
- FAIL;
- }
- }
-}
-
-# if defined(THREADS) && defined(GC_DEBUG)
-# define TREE_HEIGHT 15
-# else
-# define TREE_HEIGHT 16
-# endif
-void tree_test()
-{
- tn * root;
- register int i;
-
- root = mktree(TREE_HEIGHT);
- alloc_small(5000000);
- chktree(root, TREE_HEIGHT);
- if (finalized_count && ! dropped_something) {
- (void)GC_printf0("Premature finalization - collector is broken\n");
- FAIL;
- }
- dropped_something = 1;
- GC_noop(root); /* Root needs to remain live until */
- /* dropped_something is set. */
- root = mktree(TREE_HEIGHT);
- chktree(root, TREE_HEIGHT);
- for (i = TREE_HEIGHT; i >= 0; i--) {
- root = mktree(i);
- chktree(root, i);
- }
- alloc_small(5000000);
-}
-
-unsigned n_tests = 0;
-
-GC_word bm_huge[10] = {
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0xffffffff,
- 0x00ffffff,
-};
-
-
-/* A very simple test of explicitly typed allocation */
-void typed_test()
-{
- GC_word * old, * new;
- GC_word bm3 = 0x3;
- GC_word bm2 = 0x2;
- GC_word bm_large = 0xf7ff7fff;
- GC_descr d1 = GC_make_descriptor(&bm3, 2);
- GC_descr d2 = GC_make_descriptor(&bm2, 2);
-# ifndef LINT
- GC_descr dummy = GC_make_descriptor(&bm_large, 32);
-# endif
- GC_descr d3 = GC_make_descriptor(&bm_large, 32);
- GC_descr d4 = GC_make_descriptor(bm_huge, 320);
- GC_word * x = (GC_word *)GC_malloc_explicitly_typed(2000, d4);
- register int i;
-
- old = 0;
- for (i = 0; i < 4000; i++) {
- new = (GC_word *) GC_malloc_explicitly_typed(4 * sizeof(GC_word), d1);
- new[0] = 17;
- new[1] = (GC_word)old;
- old = new;
- new = (GC_word *) GC_malloc_explicitly_typed(4 * sizeof(GC_word), d2);
- new[0] = 17;
- new[1] = (GC_word)old;
- old = new;
- new = (GC_word *) GC_malloc_explicitly_typed(33 * sizeof(GC_word), d3);
- new[0] = 17;
- new[1] = (GC_word)old;
- old = new;
- new = (GC_word *) GC_calloc_explicitly_typed(4, 2 * sizeof(GC_word),
- d1);
- new[0] = 17;
- new[1] = (GC_word)old;
- old = new;
- if (i & 0xff) {
- new = (GC_word *) GC_calloc_explicitly_typed(7, 3 * sizeof(GC_word),
- d2);
- } else {
- new = (GC_word *) GC_calloc_explicitly_typed(1001,
- 3 * sizeof(GC_word),
- d2);
- }
- new[0] = 17;
- new[1] = (GC_word)old;
- old = new;
- }
- for (i = 0; i < 20000; i++) {
- if (new[0] != 17) {
- (void)GC_printf1("typed alloc failed at %lu\n",
- (unsigned long)i);
- FAIL;
- }
- new[0] = 0;
- old = new;
- new = (GC_word *)(old[1]);
- }
- GC_gcollect();
- GC_noop(x);
-}
-
-int fail_count = 0;
-
-#ifndef __STDC__
-/*ARGSUSED*/
-void fail_proc1(x)
-GC_PTR x;
-{
- fail_count++;
-}
-
-#else
-
-/*ARGSUSED*/
-void fail_proc1(GC_PTR x)
-{
- fail_count++;
-}
-
-#endif /* __STDC__ */
-
-#ifdef THREADS
-# define TEST_FAIL_COUNT(n) 1
-#else
-# define TEST_FAIL_COUNT(n) (fail_count >= (n))
-#endif
-
-void run_one_test()
-{
- char *x;
-# ifdef LINT
- char *y = 0;
-# else
- char *y = (char *)(size_t)fail_proc1;
-# endif
- DCL_LOCK_STATE;
-
-# ifdef FIND_LEAK
- (void)GC_printf0(
- "This test program is not designed for leak detection mode\n");
- (void)GC_printf0("Expect lots of problems.\n");
-# endif
- if (GC_size(GC_malloc(7)) != 8
- || GC_size(GC_malloc(15)) != 16) {
- (void)GC_printf0("GC_size produced unexpected results\n");
- FAIL;
- }
- if (GC_size(GC_malloc(0)) != 4 && GC_size(GC_malloc(0)) != 8) {
- (void)GC_printf0("GC_malloc(0) failed\n");
- FAIL;
- }
- if (GC_size(GC_malloc_uncollectable(0)) != 4
- && GC_size(GC_malloc_uncollectable(0)) != 8) {
- (void)GC_printf0("GC_malloc_uncollectable(0) failed\n");
- FAIL;
- }
- GC_is_valid_displacement_print_proc = fail_proc1;
- GC_is_visible_print_proc = fail_proc1;
- x = GC_malloc(16);
- if (GC_base(x + 13) != x) {
- (void)GC_printf0("GC_base(heap ptr) produced incorrect result\n");
- FAIL;
- }
-# ifndef PCR
- if (GC_base(y) != 0) {
- (void)GC_printf0("GC_base(fn_ptr) produced incorrect result\n");
- FAIL;
- }
-# endif
- if (GC_same_obj(x+5, x) != x + 5) {
- (void)GC_printf0("GC_same_obj produced incorrect result\n");
- FAIL;
- }
- if (GC_is_visible(y) != y || GC_is_visible(x) != x) {
- (void)GC_printf0("GC_is_visible produced incorrect result\n");
- FAIL;
- }
- if (!TEST_FAIL_COUNT(1)) {
-# if!(defined(RS6000) || defined(POWERPC))
- /* ON RS6000s function pointers point to a descriptor in the */
- /* data segment, so there should have been no failures. */
- (void)GC_printf0("GC_is_visible produced wrong failure indication\n");
- FAIL;
-# endif
- }
- if (GC_is_valid_displacement(y) != y
- || GC_is_valid_displacement(x) != x
- || GC_is_valid_displacement(x + 3) != x + 3) {
- (void)GC_printf0(
- "GC_is_valid_displacement produced incorrect result\n");
- FAIL;
- }
-# ifndef ALL_INTERIOR_POINTERS
-# if defined(RS6000) || defined(POWERPC)
- if (!TEST_FAIL_COUNT(1)) {
-# else
- if (!TEST_FAIL_COUNT(2)) {
-# endif
- (void)GC_printf0("GC_is_valid_displacement produced wrong failure indication\n");
- FAIL;
- }
-# endif
- /* Test floating point alignment */
- *(double *)GC_MALLOC(sizeof(double)) = 1.0;
- *(double *)GC_MALLOC(sizeof(double)) = 1.0;
- /* Repeated list reversal test. */
- reverse_test();
-# ifdef PRINTSTATS
- GC_printf0("-------------Finished reverse_test\n");
-# endif
- typed_test();
-# ifdef PRINTSTATS
- GC_printf0("-------------Finished typed_test\n");
-# endif
- tree_test();
- LOCK();
- n_tests++;
- UNLOCK();
- /* GC_printf1("Finished %x\n", pthread_self()); */
-}
-
-void check_heap_stats()
-{
- unsigned long max_heap_sz;
- register int i;
- int still_live;
- int late_finalize_count = 0;
-
- if (sizeof(char *) > 4) {
- max_heap_sz = 13000000;
- } else {
- max_heap_sz = 11000000;
- }
-# ifdef GC_DEBUG
- max_heap_sz *= 2;
-# ifdef SPARC
- max_heap_sz *= 2;
-# endif
-# endif
- /* Garbage collect repeatedly so that all inaccessible objects */
- /* can be finalized. */
- while (GC_collect_a_little()) { }
- for (i = 0; i < 16; i++) {
- GC_gcollect();
- late_finalize_count += GC_invoke_finalizers();
- }
- (void)GC_printf1("Completed %lu tests\n", (unsigned long)n_tests);
- (void)GC_printf2("Finalized %lu/%lu objects - ",
- (unsigned long)finalized_count,
- (unsigned long)finalizable_count);
-# ifdef FINALIZE_ON_DEMAND
- if (finalized_count != late_finalize_count) {
- (void)GC_printf0("Demand finalization error\n");
- FAIL;
- }
-# endif
- if (finalized_count > finalizable_count
- || finalized_count < finalizable_count/2) {
- (void)GC_printf0("finalization is probably broken\n");
- FAIL;
- } else {
- (void)GC_printf0("finalization is probably ok\n");
- }
- still_live = 0;
- for (i = 0; i < MAX_FINALIZED; i++) {
- if (live_indicators[i] != 0) {
- still_live++;
- }
- }
- i = finalizable_count - finalized_count - still_live;
- if (0 != i) {
- (void)GC_printf2
- ("%lu disappearing links remain and %lu more objects were not finalized\n",
- (unsigned long) still_live, (unsigned long)i);
- if (i > 10) {
- GC_printf0("\tVery suspicious!\n");
- } else {
- GC_printf0("\tSlightly suspicious, but probably OK.\n");
- }
- }
- (void)GC_printf1("Total number of bytes allocated is %lu\n",
- (unsigned long)
- WORDS_TO_BYTES(GC_words_allocd + GC_words_allocd_before_gc));
- (void)GC_printf1("Final heap size is %lu bytes\n",
- (unsigned long)GC_get_heap_size());
- if (WORDS_TO_BYTES(GC_words_allocd + GC_words_allocd_before_gc)
- < 33500000*n_tests) {
- (void)GC_printf0("Incorrect execution - missed some allocations\n");
- FAIL;
- }
- if (GC_get_heap_size() > max_heap_sz*n_tests) {
- (void)GC_printf0("Unexpected heap growth - collector may be broken\n");
- FAIL;
- }
- (void)GC_printf0("Collector appears to work\n");
-}
-
-#if defined(MACOS)
-void SetMinimumStack(long minSize)
-{
- long newApplLimit;
-
- if (minSize > LMGetDefltStack())
- {
- newApplLimit = (long) GetApplLimit()
- - (minSize - LMGetDefltStack());
- SetApplLimit((Ptr) newApplLimit);
- MaxApplZone();
- }
-}
-
-#define cMinStackSpace (512L * 1024L)
-
-#endif
-
-#ifdef __STDC__
- void warn_proc(char *msg, GC_word p)
-#else
- void warn_proc(msg, p)
- char *msg;
- GC_word p;
-#endif
-{
- GC_printf1(msg, (unsigned long)p);
- FAIL;
-}
-
-
-#if !defined(PCR) && !defined(SOLARIS_THREADS) && !defined(WIN32_THREADS) \
- && !defined(IRIX_THREADS) && !defined(LINUX_THREADS) || defined(LINT)
-#ifdef MSWIN32
- int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prev, LPSTR cmd, int n)
-#else
- int main()
-#endif
-{
-# if defined(DJGPP)
- int dummy;
-# endif
- n_tests = 0;
-
-# if defined(DJGPP)
- /* No good way to determine stack base from library; do it */
- /* manually on this platform. */
- GC_stackbottom = (GC_PTR)(&dummy);
-# endif
-# if defined(MACOS)
- /* Make sure we have lots and lots of stack space. */
- SetMinimumStack(cMinStackSpace);
- /* Cheat and let stdio initialize toolbox for us. */
- printf("Testing GC Macintosh port.\n");
-# endif
- GC_INIT(); /* Only needed if gc is dynamic library. */
- (void) GC_set_warn_proc(warn_proc);
-# if defined(MPROTECT_VDB) || defined(PROC_VDB)
- GC_enable_incremental();
- (void) GC_printf0("Switched to incremental mode\n");
-# if defined(MPROTECT_VDB)
- (void)GC_printf0("Emulating dirty bits with mprotect/signals\n");
-# else
- (void)GC_printf0("Reading dirty bits from /proc\n");
-# endif
-# endif
- run_one_test();
- check_heap_stats();
- (void)fflush(stdout);
-# ifdef LINT
- /* Entry points we should be testing, but aren't. */
- /* Some can be tested by defining GC_DEBUG at the top of this file */
- /* This is a bit SunOS4 specific. */
- GC_noop(GC_expand_hp, GC_add_roots, GC_clear_roots,
- GC_register_disappearing_link,
- GC_register_finalizer_ignore_self,
- GC_debug_register_displacement,
- GC_print_obj, GC_debug_change_stubborn,
- GC_debug_end_stubborn_change, GC_debug_malloc_uncollectable,
- GC_debug_free, GC_debug_realloc, GC_generic_malloc_words_small,
- GC_init, GC_make_closure, GC_debug_invoke_finalizer,
- GC_page_was_ever_dirty, GC_is_fresh,
- GC_malloc_ignore_off_page, GC_malloc_atomic_ignore_off_page,
- GC_set_max_heap_size, GC_get_bytes_since_gc,
- GC_pre_incr, GC_post_incr);
-# endif
- return(0);
-}
-# endif
-
-#ifdef WIN32_THREADS
-
-unsigned __stdcall thr_run_one_test(void *arg)
-{
- run_one_test();
- return 0;
-}
-
-#define NTEST 2
-
-int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prev, LPSTR cmd, int n)
-{
-# if NTEST > 0
- HANDLE h[NTEST];
-# endif
- int i;
- unsigned thread_id;
-# if 0
- GC_enable_incremental();
-# endif
- InitializeCriticalSection(&incr_cs);
- (void) GC_set_warn_proc(warn_proc);
- for (i = 0; i < NTEST; i++) {
- h[i] = (HANDLE)_beginthreadex(NULL, 0, thr_run_one_test, 0, 0, &thread_id);
- if (h[i] == (HANDLE)-1) {
- (void)GC_printf1("Thread creation failed %lu\n", (unsigned long)GetLastError());
- FAIL;
- }
- }
- run_one_test();
- for (i = 0; i < NTEST; i++)
- if (WaitForSingleObject(h[i], INFINITE) != WAIT_OBJECT_0) {
- (void)GC_printf1("Thread wait failed %lu\n", (unsigned long)GetLastError());
- FAIL;
- }
- check_heap_stats();
- (void)fflush(stdout);
- return(0);
-}
-
-#endif /* WIN32_THREADS */
-
-
-#ifdef PCR
-test()
-{
- PCR_Th_T * th1;
- PCR_Th_T * th2;
- int code;
-
- n_tests = 0;
- /* GC_enable_incremental(); */
- (void) GC_set_warn_proc(warn_proc);
- th1 = PCR_Th_Fork(run_one_test, 0);
- th2 = PCR_Th_Fork(run_one_test, 0);
- run_one_test();
- if (PCR_Th_T_Join(th1, &code, NIL, PCR_allSigsBlocked, PCR_waitForever)
- != PCR_ERes_okay || code != 0) {
- (void)GC_printf0("Thread 1 failed\n");
- }
- if (PCR_Th_T_Join(th2, &code, NIL, PCR_allSigsBlocked, PCR_waitForever)
- != PCR_ERes_okay || code != 0) {
- (void)GC_printf0("Thread 2 failed\n");
- }
- check_heap_stats();
- (void)fflush(stdout);
- return(0);
-}
-#endif
-
-#if defined(SOLARIS_THREADS) || defined(IRIX_THREADS) || defined(LINUX_THREADS)
-void * thr_run_one_test(void * arg)
-{
- run_one_test();
- return(0);
-}
-
-#ifdef GC_DEBUG
-# define GC_free GC_debug_free
-#endif
-
-#ifdef SOLARIS_THREADS
-main()
-{
- thread_t th1;
- thread_t th2;
- int code;
-
- n_tests = 0;
- GC_INIT(); /* Only needed if gc is dynamic library. */
- GC_enable_incremental();
- (void) GC_set_warn_proc(warn_proc);
- if (thr_keycreate(&fl_key, GC_free) != 0) {
- (void)GC_printf1("Key creation failed %lu\n", (unsigned long)code);
- FAIL;
- }
- if ((code = thr_create(0, 1024*1024, thr_run_one_test, 0, 0, &th1)) != 0) {
- (void)GC_printf1("Thread 1 creation failed %lu\n", (unsigned long)code);
- FAIL;
- }
- if ((code = thr_create(0, 1024*1024, thr_run_one_test, 0, THR_NEW_LWP, &th2)) != 0) {
- (void)GC_printf1("Thread 2 creation failed %lu\n", (unsigned long)code);
- FAIL;
- }
- run_one_test();
- if ((code = thr_join(th1, 0, 0)) != 0) {
- (void)GC_printf1("Thread 1 failed %lu\n", (unsigned long)code);
- FAIL;
- }
- if (thr_join(th2, 0, 0) != 0) {
- (void)GC_printf1("Thread 2 failed %lu\n", (unsigned long)code);
- FAIL;
- }
- check_heap_stats();
- (void)fflush(stdout);
- return(0);
-}
-#else /* pthreads */
-main()
-{
- pthread_t th1;
- pthread_t th2;
- pthread_attr_t attr;
- int code;
-
-# ifdef IRIX_THREADS
- /* Force a larger stack to be preallocated */
- /* Since the initial cant always grow later. */
- *((volatile char *)&code - 1024*1024) = 0; /* Require 1 Mb */
-# endif /* IRIX_THREADS */
- pthread_attr_init(&attr);
-# ifdef IRIX_THREADS
- pthread_attr_setstacksize(&attr, 1000000);
-# endif
- n_tests = 0;
-# ifdef MPROTECT_VDB
- GC_enable_incremental();
- (void) GC_printf0("Switched to incremental mode\n");
- (void) GC_printf0("Emulating dirty bits with mprotect/signals\n");
-# endif
- (void) GC_set_warn_proc(warn_proc);
- if ((code = pthread_create(&th1, &attr, thr_run_one_test, 0)) != 0) {
- (void)GC_printf1("Thread 1 creation failed %lu\n", (unsigned long)code);
- FAIL;
- }
- if ((code = pthread_create(&th2, &attr, thr_run_one_test, 0)) != 0) {
- (void)GC_printf1("Thread 2 creation failed %lu\n", (unsigned long)code);
- FAIL;
- }
- run_one_test();
- if ((code = pthread_join(th1, 0)) != 0) {
- (void)GC_printf1("Thread 1 failed %lu\n", (unsigned long)code);
- FAIL;
- }
- if (pthread_join(th2, 0) != 0) {
- (void)GC_printf1("Thread 2 failed %lu\n", (unsigned long)code);
- FAIL;
- }
- check_heap_stats();
- (void)fflush(stdout);
- pthread_attr_destroy(&attr);
- GC_printf1("Completed %d collections\n", GC_gc_no);
- return(0);
-}
-#endif /* pthreads */
-#endif /* SOLARIS_THREADS || IRIX_THREADS || LINUX_THREADS */
diff --git a/boehm-gc/test_cpp.cc b/boehm-gc/test_cpp.cc
deleted file mode 100644
index 3160b0984bb..00000000000
--- a/boehm-gc/test_cpp.cc
+++ /dev/null
@@ -1,265 +0,0 @@
-/****************************************************************************
-Copyright (c) 1994 by Xerox Corporation. All rights reserved.
-
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
-Permission is hereby granted to use or copy this program for any
-purpose, provided the above notices are retained on all copies.
-Permission to modify the code and to distribute modified code is
-granted, provided the above notices are retained, and a notice that
-the code was modified is included with the above copyright notice.
-****************************************************************************
-Last modified on Mon Jul 10 21:06:03 PDT 1995 by ellis
- modified on December 20, 1994 7:27 pm PST by boehm
-
-usage: test_cpp number-of-iterations
-
-This program tries to test the specific C++ functionality provided by
-gc_c++.h that isn't tested by the more general test routines of the
-collector.
-
-A recommended value for number-of-iterations is 10, which will take a
-few minutes to complete.
-
-***************************************************************************/
-
-#include "gc_cpp.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifndef __GNUC__
-# include "gc_alloc.h"
-#endif
-extern "C" {
-#include "gc_priv.h"
-}
-#ifdef MSWIN32
-# include <windows.h>
-#endif
-
-
-#define my_assert( e ) \
- if (! (e)) { \
- GC_printf1( "Assertion failure in " __FILE__ ", line %d: " #e "\n", \
- __LINE__ ); \
- exit( 1 ); }
-
-
-class A {public:
- /* An uncollectable class. */
-
- A( int iArg ): i( iArg ) {}
- void Test( int iArg ) {
- my_assert( i == iArg );}
- int i;};
-
-
-class B: public gc, public A {public:
- /* A collectable class. */
-
- B( int j ): A( j ) {}
- ~B() {
- my_assert( deleting );}
- static void Deleting( int on ) {
- deleting = on;}
- static int deleting;};
-
-int B::deleting = 0;
-
-
-class C: public gc_cleanup, public A {public:
- /* A collectable class with cleanup and virtual multiple inheritance. */
-
- C( int levelArg ): A( levelArg ), level( levelArg ) {
- nAllocated++;
- if (level > 0) {
- left = new C( level - 1 );
- right = new C( level - 1 );}
- else {
- left = right = 0;}}
- ~C() {
- this->A::Test( level );
- nFreed++;
- my_assert( level == 0 ?
- left == 0 && right == 0 :
- level == left->level + 1 && level == right->level + 1 );
- left = right = 0;
- level = -123456;}
- static void Test() {
- my_assert( nFreed <= nAllocated && nFreed >= .8 * nAllocated );}
-
- static int nFreed;
- static int nAllocated;
- int level;
- C* left;
- C* right;};
-
-int C::nFreed = 0;
-int C::nAllocated = 0;
-
-
-class D: public gc {public:
- /* A collectable class with a static member function to be used as
- an explicit clean-up function supplied to ::new. */
-
- D( int iArg ): i( iArg ) {
- nAllocated++;}
- static void CleanUp( void* obj, void* data ) {
- D* self = (D*) obj;
- nFreed++;
- my_assert( self->i == (int) (long) data );}
- static void Test() {
- my_assert( nFreed >= .8 * nAllocated );}
-
- int i;
- static int nFreed;
- static int nAllocated;};
-
-int D::nFreed = 0;
-int D::nAllocated = 0;
-
-
-class E: public gc_cleanup {public:
- /* A collectable class with clean-up for use by F. */
-
- E() {
- nAllocated++;}
- ~E() {
- nFreed++;}
-
- static int nFreed;
- static int nAllocated;};
-
-int E::nFreed = 0;
-int E::nAllocated = 0;
-
-
-class F: public E {public:
- /* A collectable class with clean-up, a base with clean-up, and a
- member with clean-up. */
-
- F() {
- nAllocated++;}
- ~F() {
- nFreed++;}
- static void Test() {
- my_assert( nFreed >= .8 * nAllocated );
- my_assert( 2 * nFreed == E::nFreed );}
-
- E e;
- static int nFreed;
- static int nAllocated;};
-
-int F::nFreed = 0;
-int F::nAllocated = 0;
-
-
-long Disguise( void* p ) {
- return ~ (long) p;}
-
-void* Undisguise( long i ) {
- return (void*) ~ i;}
-
-
-#ifdef MSWIN32
-int APIENTRY WinMain(
- HINSTANCE instance, HINSTANCE prev, LPSTR cmd, int cmdShow )
-{
- int argc;
- char* argv[ 3 ];
-
- for (argc = 1; argc < sizeof( argv ) / sizeof( argv[ 0 ] ); argc++) {
- argv[ argc ] = strtok( argc == 1 ? cmd : 0, " \t" );
- if (0 == argv[ argc ]) break;}
-
-#else
-# ifdef MACOS
- int main() {
-# else
- int main( int argc, char* argv[] ) {
-# endif
-#endif
-
-# if defined(MACOS) // MacOS
- char* argv_[] = {"test_cpp", "10"}; // doesn't
- argv = argv_; // have a
- argc = sizeof(argv_)/sizeof(argv_[0]); // commandline
-# endif
- int i, iters, n;
-# if !defined(__GNUC__) && !defined(MACOS)
- int *x = (int *)alloc::allocate(sizeof(int));
-
- *x = 29;
- x -= 3;
-# endif
- if (argc != 2 || (0 >= (n = atoi( argv[ 1 ] )))) {
- GC_printf0( "usage: test_cpp number-of-iterations\n" );
- exit( 1 );}
-
- for (iters = 1; iters <= n; iters++) {
- GC_printf1( "Starting iteration %d\n", iters );
-
- /* Allocate some uncollectable As and disguise their pointers.
- Later we'll check to see if the objects are still there. We're
- checking to make sure these objects really are uncollectable. */
- long as[ 1000 ];
- long bs[ 1000 ];
- for (i = 0; i < 1000; i++) {
- as[ i ] = Disguise( new (NoGC) A( i ) );
- bs[ i ] = Disguise( new (NoGC) B( i ) );}
-
- /* Allocate a fair number of finalizable Cs, Ds, and Fs.
- Later we'll check to make sure they've gone away. */
- for (i = 0; i < 1000; i++) {
- C* c = new C( 2 );
- C c1( 2 ); /* stack allocation should work too */
- D* d = ::new (GC, D::CleanUp, (void*) i) D( i );
- F* f = new F;
- if (0 == i % 10) delete c;}
-
- /* Allocate a very large number of collectable As and Bs and
- drop the references to them immediately, forcing many
- collections. */
- for (i = 0; i < 1000000; i++) {
- A* a = new (GC) A( i );
- B* b = new B( i );
- b = new (GC) B( i );
- if (0 == i % 10) {
- B::Deleting( 1 );
- delete b;
- B::Deleting( 0 );}
-# ifdef FINALIZE_ON_DEMAND
- GC_invoke_finalizers();
-# endif
- }
-
- /* Make sure the uncollectable As and Bs are still there. */
- for (i = 0; i < 1000; i++) {
- A* a = (A*) Undisguise( as[ i ] );
- B* b = (B*) Undisguise( bs[ i ] );
- a->Test( i );
- delete a;
- b->Test( i );
- B::Deleting( 1 );
- delete b;
- B::Deleting( 0 );
-# ifdef FINALIZE_ON_DEMAND
- GC_invoke_finalizers();
-# endif
-
- }
-
- /* Make sure most of the finalizable Cs, Ds, and Fs have
- gone away. */
- C::Test();
- D::Test();
- F::Test();}
-
-# if !defined(__GNUC__) && !defined(MACOS)
- my_assert (29 == x[3]);
-# endif
- GC_printf0( "The test appears to have succeeded.\n" );
- return( 0 );}
-
-
diff --git a/boehm-gc/threadlibs.c b/boehm-gc/threadlibs.c
deleted file mode 100644
index c8530e6fe33..00000000000
--- a/boehm-gc/threadlibs.c
+++ /dev/null
@@ -1,14 +0,0 @@
-# include "config.h"
-# include <stdio.h>
-
-int main()
-{
-# if defined(IRIX_THREADS) || defined(LINUX_THREADS)
- printf("-lpthread\n");
-# endif
-# ifdef SOLARIS_THREADS
- printf("-lthread -ldl\n");
-# endif
- return 0;
-}
-
diff --git a/boehm-gc/typd_mlc.c b/boehm-gc/typd_mlc.c
deleted file mode 100644
index 387d2305829..00000000000
--- a/boehm-gc/typd_mlc.c
+++ /dev/null
@@ -1,814 +0,0 @@
-/*
- * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
- *
- * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
- *
- * Permission is hereby granted to use or copy this program
- * for any purpose, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-/* Boehm, July 31, 1995 5:02 pm PDT */
-
-
-/*
- * Some simple primitives for allocation with explicit type information.
- * Simple objects are allocated such that they contain a GC_descr at the
- * end (in the last allocated word). This descriptor may be a procedure
- * which then examines an extended descriptor passed as its environment.
- *
- * Arrays are treated as simple objects if they have sufficiently simple
- * structure. Otherwise they are allocated from an array kind that supplies
- * a special mark procedure. These arrays contain a pointer to a
- * complex_descriptor as their last word.
- * This is done because the environment field is too small, and the collector
- * must trace the complex_descriptor.
- *
- * Note that descriptors inside objects may appear cleared, if we encounter a
- * false refrence to an object on a free list. In the GC_descr case, this
- * is OK, since a 0 descriptor corresponds to examining no fields.
- * In the complex_descriptor case, we explicitly check for that case.
- *
- * MAJOR PARTS OF THIS CODE HAVE NOT BEEN TESTED AT ALL and are not testable,
- * since they are not accessible through the current interface.
- */
-
-#include "gc_priv.h"
-#include "gc_mark.h"
-#include "gc_typed.h"
-
-# ifdef ADD_BYTE_AT_END
-# define EXTRA_BYTES (sizeof(word) - 1)
-# else
-# define EXTRA_BYTES (sizeof(word))
-# endif
-
-GC_bool GC_explicit_typing_initialized = FALSE;
-
-int GC_explicit_kind; /* Object kind for objects with indirect */
- /* (possibly extended) descriptors. */
-
-int GC_array_kind; /* Object kind for objects with complex */
- /* descriptors and GC_array_mark_proc. */
-
-/* Extended descriptors. GC_typed_mark_proc understands these. */
-/* These are used for simple objects that are larger than what */
-/* can be described by a BITMAP_BITS sized bitmap. */
-typedef struct {
- word ed_bitmap; /* lsb corresponds to first word. */
- GC_bool ed_continued; /* next entry is continuation. */
-} ext_descr;
-
-/* Array descriptors. GC_array_mark_proc understands these. */
-/* We may eventually need to add provisions for headers and */
-/* trailers. Hence we provide for tree structured descriptors, */
-/* though we don't really use them currently. */
-typedef union ComplexDescriptor {
- struct LeafDescriptor { /* Describes simple array */
- word ld_tag;
-# define LEAF_TAG 1
- word ld_size; /* bytes per element */
- /* multiple of ALIGNMENT */
- word ld_nelements; /* Number of elements. */
- GC_descr ld_descriptor; /* A simple length, bitmap, */
- /* or procedure descriptor. */
- } ld;
- struct ComplexArrayDescriptor {
- word ad_tag;
-# define ARRAY_TAG 2
- word ad_nelements;
- union ComplexDescriptor * ad_element_descr;
- } ad;
- struct SequenceDescriptor {
- word sd_tag;
-# define SEQUENCE_TAG 3
- union ComplexDescriptor * sd_first;
- union ComplexDescriptor * sd_second;
- } sd;
-} complex_descriptor;
-#define TAG ld.ld_tag
-
-ext_descr * GC_ext_descriptors; /* Points to array of extended */
- /* descriptors. */
-
-word GC_ed_size = 0; /* Current size of above arrays. */
-# define ED_INITIAL_SIZE 100;
-
-word GC_avail_descr = 0; /* Next available slot. */
-
-int GC_typed_mark_proc_index; /* Indices of my mark */
-int GC_array_mark_proc_index; /* procedures. */
-
-/* Add a multiword bitmap to GC_ext_descriptors arrays. Return */
-/* starting index. */
-/* Returns -1 on failure. */
-/* Caller does not hold allocation lock. */
-signed_word GC_add_ext_descriptor(bm, nbits)
-GC_bitmap bm;
-word nbits;
-{
- register size_t nwords = divWORDSZ(nbits + WORDSZ-1);
- register signed_word result;
- register word i;
- register word last_part;
- register int extra_bits;
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS();
- LOCK();
- while (GC_avail_descr + nwords >= GC_ed_size) {
- ext_descr * new;
- size_t new_size;
- word ed_size = GC_ed_size;
-
- UNLOCK();
- ENABLE_SIGNALS();
- if (ed_size == 0) {
- new_size = ED_INITIAL_SIZE;
- } else {
- new_size = 2 * ed_size;
- if (new_size > MAX_ENV) return(-1);
- }
- new = (ext_descr *) GC_malloc_atomic(new_size * sizeof(ext_descr));
- if (new == 0) return(-1);
- DISABLE_SIGNALS();
- LOCK();
- if (ed_size == GC_ed_size) {
- if (GC_avail_descr != 0) {
- BCOPY(GC_ext_descriptors, new,
- GC_avail_descr * sizeof(ext_descr));
- }
- GC_ed_size = new_size;
- GC_ext_descriptors = new;
- } /* else another thread already resized it in the meantime */
- }
- result = GC_avail_descr;
- for (i = 0; i < nwords-1; i++) {
- GC_ext_descriptors[result + i].ed_bitmap = bm[i];
- GC_ext_descriptors[result + i].ed_continued = TRUE;
- }
- last_part = bm[i];
- /* Clear irrelevant bits. */
- extra_bits = nwords * WORDSZ - nbits;
- last_part <<= extra_bits;
- last_part >>= extra_bits;
- GC_ext_descriptors[result + i].ed_bitmap = last_part;
- GC_ext_descriptors[result + i].ed_continued = FALSE;
- GC_avail_descr += nwords;
- UNLOCK();
- ENABLE_SIGNALS();
- return(result);
-}
-
-/* Table of bitmap descriptors for n word long all pointer objects. */
-GC_descr GC_bm_table[WORDSZ/2];
-
-/* Return a descriptor for the concatenation of 2 nwords long objects, */
-/* each of which is described by descriptor. */
-/* The result is known to be short enough to fit into a bitmap */
-/* descriptor. */
-/* Descriptor is a DS_LENGTH or DS_BITMAP descriptor. */
-GC_descr GC_double_descr(descriptor, nwords)
-register GC_descr descriptor;
-register word nwords;
-{
- if (descriptor && DS_TAGS == DS_LENGTH) {
- descriptor = GC_bm_table[BYTES_TO_WORDS((word)descriptor)];
- };
- descriptor |= (descriptor & ~DS_TAGS) >> nwords;
- return(descriptor);
-}
-
-complex_descriptor * GC_make_sequence_descriptor();
-
-/* Build a descriptor for an array with nelements elements, */
-/* each of which can be described by a simple descriptor. */
-/* We try to optimize some common cases. */
-/* If the result is COMPLEX, then a complex_descr* is returned */
-/* in *complex_d. */
-/* If the result is LEAF, then we built a LeafDescriptor in */
-/* the structure pointed to by leaf. */
-/* The tag in the leaf structure is not set. */
-/* If the result is SIMPLE, then a GC_descr */
-/* is returned in *simple_d. */
-/* If the result is NO_MEM, then */
-/* we failed to allocate the descriptor. */
-/* The implementation knows that DS_LENGTH is 0. */
-/* *leaf, *complex_d, and *simple_d may be used as temporaries */
-/* during the construction. */
-# define COMPLEX 2
-# define LEAF 1
-# define SIMPLE 0
-# define NO_MEM (-1)
-int GC_make_array_descriptor(nelements, size, descriptor,
- simple_d, complex_d, leaf)
-word size;
-word nelements;
-GC_descr descriptor;
-GC_descr *simple_d;
-complex_descriptor **complex_d;
-struct LeafDescriptor * leaf;
-{
-# define OPT_THRESHOLD 50
- /* For larger arrays, we try to combine descriptors of adjacent */
- /* descriptors to speed up marking, and to reduce the amount */
- /* of space needed on the mark stack. */
- if ((descriptor & DS_TAGS) == DS_LENGTH) {
- if ((word)descriptor == size) {
- *simple_d = nelements * descriptor;
- return(SIMPLE);
- } else if ((word)descriptor == 0) {
- *simple_d = (GC_descr)0;
- return(SIMPLE);
- }
- }
- if (nelements <= OPT_THRESHOLD) {
- if (nelements <= 1) {
- if (nelements == 1) {
- *simple_d = descriptor;
- return(SIMPLE);
- } else {
- *simple_d = (GC_descr)0;
- return(SIMPLE);
- }
- }
- } else if (size <= BITMAP_BITS/2
- && (descriptor & DS_TAGS) != DS_PROC
- && (size & (sizeof(word)-1)) == 0) {
- int result =
- GC_make_array_descriptor(nelements/2, 2*size,
- GC_double_descr(descriptor,
- BYTES_TO_WORDS(size)),
- simple_d, complex_d, leaf);
- if ((nelements & 1) == 0) {
- return(result);
- } else {
- struct LeafDescriptor * one_element =
- (struct LeafDescriptor *)
- GC_malloc_atomic(sizeof(struct LeafDescriptor));
-
- if (result == NO_MEM || one_element == 0) return(NO_MEM);
- one_element -> ld_tag = LEAF_TAG;
- one_element -> ld_size = size;
- one_element -> ld_nelements = 1;
- one_element -> ld_descriptor = descriptor;
- switch(result) {
- case SIMPLE:
- {
- struct LeafDescriptor * beginning =
- (struct LeafDescriptor *)
- GC_malloc_atomic(sizeof(struct LeafDescriptor));
- if (beginning == 0) return(NO_MEM);
- beginning -> ld_tag = LEAF_TAG;
- beginning -> ld_size = size;
- beginning -> ld_nelements = 1;
- beginning -> ld_descriptor = *simple_d;
- *complex_d = GC_make_sequence_descriptor(
- (complex_descriptor *)beginning,
- (complex_descriptor *)one_element);
- break;
- }
- case LEAF:
- {
- struct LeafDescriptor * beginning =
- (struct LeafDescriptor *)
- GC_malloc_atomic(sizeof(struct LeafDescriptor));
- if (beginning == 0) return(NO_MEM);
- beginning -> ld_tag = LEAF_TAG;
- beginning -> ld_size = leaf -> ld_size;
- beginning -> ld_nelements = leaf -> ld_nelements;
- beginning -> ld_descriptor = leaf -> ld_descriptor;
- *complex_d = GC_make_sequence_descriptor(
- (complex_descriptor *)beginning,
- (complex_descriptor *)one_element);
- break;
- }
- case COMPLEX:
- *complex_d = GC_make_sequence_descriptor(
- *complex_d,
- (complex_descriptor *)one_element);
- break;
- }
- return(COMPLEX);
- }
- }
- {
- leaf -> ld_size = size;
- leaf -> ld_nelements = nelements;
- leaf -> ld_descriptor = descriptor;
- return(LEAF);
- }
-}
-
-complex_descriptor * GC_make_sequence_descriptor(first, second)
-complex_descriptor * first;
-complex_descriptor * second;
-{
- struct SequenceDescriptor * result =
- (struct SequenceDescriptor *)
- GC_malloc(sizeof(struct SequenceDescriptor));
- /* Can't result in overly conservative marking, since tags are */
- /* very small integers. Probably faster than maintaining type */
- /* info. */
- if (result != 0) {
- result -> sd_tag = SEQUENCE_TAG;
- result -> sd_first = first;
- result -> sd_second = second;
- }
- return((complex_descriptor *)result);
-}
-
-#ifdef UNDEFINED
-complex_descriptor * GC_make_complex_array_descriptor(nelements, descr)
-word nelements;
-complex_descriptor * descr;
-{
- struct ComplexArrayDescriptor * result =
- (struct ComplexArrayDescriptor *)
- GC_malloc(sizeof(struct ComplexArrayDescriptor));
-
- if (result != 0) {
- result -> ad_tag = ARRAY_TAG;
- result -> ad_nelements = nelements;
- result -> ad_element_descr = descr;
- }
- return((complex_descriptor *)result);
-}
-#endif
-
-ptr_t * GC_eobjfreelist;
-
-ptr_t * GC_arobjfreelist;
-
-mse * GC_typed_mark_proc();
-
-mse * GC_array_mark_proc();
-
-GC_descr GC_generic_array_descr;
-
-/* Caller does not hold allocation lock. */
-void GC_init_explicit_typing()
-{
- register int i;
- DCL_LOCK_STATE;
-
-
-# ifdef PRINTSTATS
- if (sizeof(struct LeafDescriptor) % sizeof(word) != 0)
- ABORT("Bad leaf descriptor size");
-# endif
- DISABLE_SIGNALS();
- LOCK();
- if (GC_explicit_typing_initialized) {
- UNLOCK();
- ENABLE_SIGNALS();
- return;
- }
- GC_explicit_typing_initialized = TRUE;
- /* Set up object kind with simple indirect descriptor. */
- GC_eobjfreelist = (ptr_t *)
- GC_generic_malloc_inner((MAXOBJSZ+1)*sizeof(ptr_t), PTRFREE);
- if (GC_eobjfreelist == 0) ABORT("Couldn't allocate GC_eobjfreelist");
- BZERO(GC_eobjfreelist, (MAXOBJSZ+1)*sizeof(ptr_t));
- GC_explicit_kind = GC_n_kinds++;
- GC_obj_kinds[GC_explicit_kind].ok_freelist = GC_eobjfreelist;
- GC_obj_kinds[GC_explicit_kind].ok_reclaim_list = 0;
- GC_obj_kinds[GC_explicit_kind].ok_descriptor =
- (((word)WORDS_TO_BYTES(-1)) | DS_PER_OBJECT);
- GC_obj_kinds[GC_explicit_kind].ok_relocate_descr = TRUE;
- GC_obj_kinds[GC_explicit_kind].ok_init = TRUE;
- /* Descriptors are in the last word of the object. */
- GC_typed_mark_proc_index = GC_n_mark_procs;
- GC_mark_procs[GC_typed_mark_proc_index] = GC_typed_mark_proc;
- GC_n_mark_procs++;
- /* Moving this up breaks DEC AXP compiler. */
- /* Set up object kind with array descriptor. */
- GC_arobjfreelist = (ptr_t *)
- GC_generic_malloc_inner((MAXOBJSZ+1)*sizeof(ptr_t), PTRFREE);
- if (GC_arobjfreelist == 0) ABORT("Couldn't allocate GC_arobjfreelist");
- BZERO(GC_arobjfreelist, (MAXOBJSZ+1)*sizeof(ptr_t));
- if (GC_n_mark_procs >= MAX_MARK_PROCS)
- ABORT("No slot for array mark proc");
- GC_array_mark_proc_index = GC_n_mark_procs++;
- if (GC_n_kinds >= MAXOBJKINDS)
- ABORT("No kind available for array objects");
- GC_array_kind = GC_n_kinds++;
- GC_obj_kinds[GC_array_kind].ok_freelist = GC_arobjfreelist;
- GC_obj_kinds[GC_array_kind].ok_reclaim_list = 0;
- GC_obj_kinds[GC_array_kind].ok_descriptor =
- MAKE_PROC(GC_array_mark_proc_index, 0);;
- GC_obj_kinds[GC_array_kind].ok_relocate_descr = FALSE;
- GC_obj_kinds[GC_array_kind].ok_init = TRUE;
- /* Descriptors are in the last word of the object. */
- GC_mark_procs[GC_array_mark_proc_index] = GC_array_mark_proc;
- for (i = 0; i < WORDSZ/2; i++) {
- GC_descr d = (((word)(-1)) >> (WORDSZ - i)) << (WORDSZ - i);
- d |= DS_BITMAP;
- GC_bm_table[i] = d;
- }
- GC_generic_array_descr = MAKE_PROC(GC_array_mark_proc_index, 0);
- UNLOCK();
- ENABLE_SIGNALS();
-}
-
-mse * GC_typed_mark_proc(addr, mark_stack_ptr, mark_stack_limit, env)
-register word * addr;
-register mse * mark_stack_ptr;
-mse * mark_stack_limit;
-word env;
-{
- register word bm = GC_ext_descriptors[env].ed_bitmap;
- register word * current_p = addr;
- register word current;
- register ptr_t greatest_ha = GC_greatest_plausible_heap_addr;
- register ptr_t least_ha = GC_least_plausible_heap_addr;
-
- for (; bm != 0; bm >>= 1, current_p++) {
- if (bm & 1) {
- current = *current_p;
- if ((ptr_t)current >= least_ha && (ptr_t)current <= greatest_ha) {
- PUSH_CONTENTS(current, mark_stack_ptr,
- mark_stack_limit, current_p, exit1);
- }
- }
- }
- if (GC_ext_descriptors[env].ed_continued) {
- /* Push an entry with the rest of the descriptor back onto the */
- /* stack. Thus we never do too much work at once. Note that */
- /* we also can't overflow the mark stack unless we actually */
- /* mark something. */
- mark_stack_ptr++;
- if (mark_stack_ptr >= mark_stack_limit) {
- mark_stack_ptr = GC_signal_mark_stack_overflow(mark_stack_ptr);
- }
- mark_stack_ptr -> mse_start = addr + WORDSZ;
- mark_stack_ptr -> mse_descr =
- MAKE_PROC(GC_typed_mark_proc_index, env+1);
- }
- return(mark_stack_ptr);
-}
-
-/* Return the size of the object described by d. It would be faster to */
-/* store this directly, or to compute it as part of */
-/* GC_push_complex_descriptor, but hopefully it doesn't matter. */
-word GC_descr_obj_size(d)
-register complex_descriptor *d;
-{
- switch(d -> TAG) {
- case LEAF_TAG:
- return(d -> ld.ld_nelements * d -> ld.ld_size);
- case ARRAY_TAG:
- return(d -> ad.ad_nelements
- * GC_descr_obj_size(d -> ad.ad_element_descr));
- case SEQUENCE_TAG:
- return(GC_descr_obj_size(d -> sd.sd_first)
- + GC_descr_obj_size(d -> sd.sd_second));
- default:
- ABORT("Bad complex descriptor");
- /*NOTREACHED*/ return 0; /*NOTREACHED*/
- }
-}
-
-/* Push descriptors for the object at addr with complex descriptor d */
-/* onto the mark stack. Return 0 if the mark stack overflowed. */
-mse * GC_push_complex_descriptor(addr, d, msp, msl)
-word * addr;
-register complex_descriptor *d;
-register mse * msp;
-mse * msl;
-{
- register ptr_t current = (ptr_t) addr;
- register word nelements;
- register word sz;
- register word i;
-
- switch(d -> TAG) {
- case LEAF_TAG:
- {
- register GC_descr descr = d -> ld.ld_descriptor;
-
- nelements = d -> ld.ld_nelements;
- if (msl - msp <= (ptrdiff_t)nelements) return(0);
- sz = d -> ld.ld_size;
- for (i = 0; i < nelements; i++) {
- msp++;
- msp -> mse_start = (word *)current;
- msp -> mse_descr = descr;
- current += sz;
- }
- return(msp);
- }
- case ARRAY_TAG:
- {
- register complex_descriptor *descr = d -> ad.ad_element_descr;
-
- nelements = d -> ad.ad_nelements;
- sz = GC_descr_obj_size(descr);
- for (i = 0; i < nelements; i++) {
- msp = GC_push_complex_descriptor((word *)current, descr,
- msp, msl);
- if (msp == 0) return(0);
- current += sz;
- }
- return(msp);
- }
- case SEQUENCE_TAG:
- {
- sz = GC_descr_obj_size(d -> sd.sd_first);
- msp = GC_push_complex_descriptor((word *)current, d -> sd.sd_first,
- msp, msl);
- if (msp == 0) return(0);
- current += sz;
- msp = GC_push_complex_descriptor((word *)current, d -> sd.sd_second,
- msp, msl);
- return(msp);
- }
- default:
- ABORT("Bad complex descriptor");
- /*NOTREACHED*/ return 0; /*NOTREACHED*/
- }
-}
-
-/*ARGSUSED*/
-mse * GC_array_mark_proc(addr, mark_stack_ptr, mark_stack_limit, env)
-register word * addr;
-register mse * mark_stack_ptr;
-mse * mark_stack_limit;
-word env;
-{
- register hdr * hhdr = HDR(addr);
- register word sz = hhdr -> hb_sz;
- register complex_descriptor * descr = (complex_descriptor *)(addr[sz-1]);
- mse * orig_mark_stack_ptr = mark_stack_ptr;
- mse * new_mark_stack_ptr;
-
- if (descr == 0) {
- /* Found a reference to a free list entry. Ignore it. */
- return(orig_mark_stack_ptr);
- }
- /* In use counts were already updated when array descriptor was */
- /* pushed. Here we only replace it by subobject descriptors, so */
- /* no update is necessary. */
- new_mark_stack_ptr = GC_push_complex_descriptor(addr, descr,
- mark_stack_ptr,
- mark_stack_limit-1);
- if (new_mark_stack_ptr == 0) {
- /* Doesn't fit. Conservatively push the whole array as a unit */
- /* and request a mark stack expansion. */
- /* This cannot cause a mark stack overflow, since it replaces */
- /* the original array entry. */
- GC_mark_stack_too_small = TRUE;
- new_mark_stack_ptr = orig_mark_stack_ptr + 1;
- new_mark_stack_ptr -> mse_start = addr;
- new_mark_stack_ptr -> mse_descr = WORDS_TO_BYTES(sz) | DS_LENGTH;
- } else {
- /* Push descriptor itself */
- new_mark_stack_ptr++;
- new_mark_stack_ptr -> mse_start = addr + sz - 1;
- new_mark_stack_ptr -> mse_descr = sizeof(word) | DS_LENGTH;
- }
- return(new_mark_stack_ptr);
-}
-
-#if defined(__STDC__) || defined(__cplusplus)
- GC_descr GC_make_descriptor(GC_bitmap bm, size_t len)
-#else
- GC_descr GC_make_descriptor(bm, len)
- GC_bitmap bm;
- size_t len;
-#endif
-{
- register signed_word last_set_bit = len - 1;
- register word result;
- register int i;
-# define HIGH_BIT (((word)1) << (WORDSZ - 1))
-
- if (!GC_explicit_typing_initialized) GC_init_explicit_typing();
- while (last_set_bit >= 0 && !GC_get_bit(bm, last_set_bit)) last_set_bit --;
- if (last_set_bit < 0) return(0 /* no pointers */);
-# if ALIGNMENT == CPP_WORDSZ/8
- {
- register GC_bool all_bits_set = TRUE;
- for (i = 0; i < last_set_bit; i++) {
- if (!GC_get_bit(bm, i)) {
- all_bits_set = FALSE;
- break;
- }
- }
- if (all_bits_set) {
- /* An initial section contains all pointers. Use length descriptor. */
- return(WORDS_TO_BYTES(last_set_bit+1) | DS_LENGTH);
- }
- }
-# endif
- if (last_set_bit < BITMAP_BITS) {
- /* Hopefully the common case. */
- /* Build bitmap descriptor (with bits reversed) */
- result = HIGH_BIT;
- for (i = last_set_bit - 1; i >= 0; i--) {
- result >>= 1;
- if (GC_get_bit(bm, i)) result |= HIGH_BIT;
- }
- result |= DS_BITMAP;
- return(result);
- } else {
- signed_word index;
-
- index = GC_add_ext_descriptor(bm, (word)last_set_bit+1);
- if (index == -1) return(WORDS_TO_BYTES(last_set_bit+1) | DS_LENGTH);
- /* Out of memory: use conservative */
- /* approximation. */
- result = MAKE_PROC(GC_typed_mark_proc_index, (word)index);
- return(result);
- }
-}
-
-ptr_t GC_clear_stack();
-
-#define GENERAL_MALLOC(lb,k) \
- (GC_PTR)GC_clear_stack(GC_generic_malloc((word)lb, k))
-
-#define GENERAL_MALLOC_IOP(lb,k) \
- (GC_PTR)GC_clear_stack(GC_generic_malloc_ignore_off_page((word)lb, k))
-
-#if defined(__STDC__) || defined(__cplusplus)
- void * GC_malloc_explicitly_typed(size_t lb, GC_descr d)
-#else
- char * GC_malloc_explicitly_typed(lb, d)
- size_t lb;
- GC_descr d;
-#endif
-{
-register ptr_t op;
-register ptr_t * opp;
-register word lw;
-DCL_LOCK_STATE;
-
- lb += EXTRA_BYTES;
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_eobjfreelist[lw]);
- FASTLOCK();
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
- FASTUNLOCK();
- op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind);
- if (0 == op) return(0);
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb]; /* May have been uninitialized. */
-# endif
- } else {
- *opp = obj_link(op);
- GC_words_allocd += lw;
- FASTUNLOCK();
- }
- } else {
- op = (ptr_t)GENERAL_MALLOC((word)lb, GC_explicit_kind);
- if (op != NULL)
- lw = BYTES_TO_WORDS(GC_size(op));
- }
- if (op != NULL)
- ((word *)op)[lw - 1] = d;
- return((GC_PTR) op);
-}
-
-#if defined(__STDC__) || defined(__cplusplus)
- void * GC_malloc_explicitly_typed_ignore_off_page(size_t lb, GC_descr d)
-#else
- char * GC_malloc_explicitly_typed_ignore_off_page(lb, d)
- size_t lb;
- GC_descr d;
-#endif
-{
-register ptr_t op;
-register ptr_t * opp;
-register word lw;
-DCL_LOCK_STATE;
-
- lb += EXTRA_BYTES;
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_eobjfreelist[lw]);
- FASTLOCK();
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
- FASTUNLOCK();
- op = (ptr_t)GENERAL_MALLOC_IOP((word)lb, GC_explicit_kind);
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb]; /* May have been uninitialized. */
-# endif
- } else {
- *opp = obj_link(op);
- GC_words_allocd += lw;
- FASTUNLOCK();
- }
- } else {
- op = (ptr_t)GENERAL_MALLOC_IOP((word)lb, GC_explicit_kind);
- if (op != NULL)
- lw = BYTES_TO_WORDS(GC_size(op));
- }
- if (op != NULL)
- ((word *)op)[lw - 1] = d;
- return((GC_PTR) op);
-}
-
-#if defined(__STDC__) || defined(__cplusplus)
- void * GC_calloc_explicitly_typed(size_t n,
- size_t lb,
- GC_descr d)
-#else
- char * GC_calloc_explicitly_typed(n, lb, d)
- size_t n;
- size_t lb;
- GC_descr d;
-#endif
-{
-register ptr_t op;
-register ptr_t * opp;
-register word lw;
-GC_descr simple_descr;
-complex_descriptor *complex_descr;
-register int descr_type;
-struct LeafDescriptor leaf;
-DCL_LOCK_STATE;
-
- descr_type = GC_make_array_descriptor((word)n, (word)lb, d,
- &simple_descr, &complex_descr, &leaf);
- switch(descr_type) {
- case NO_MEM: return(0);
- case SIMPLE: return(GC_malloc_explicitly_typed(n*lb, simple_descr));
- case LEAF:
- lb *= n;
- lb += sizeof(struct LeafDescriptor) + EXTRA_BYTES;
- break;
- case COMPLEX:
- lb *= n;
- lb += EXTRA_BYTES;
- break;
- }
- if( SMALL_OBJ(lb) ) {
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb];
-# else
- lw = ALIGNED_WORDS(lb);
-# endif
- opp = &(GC_arobjfreelist[lw]);
- FASTLOCK();
- if( !FASTLOCK_SUCCEEDED() || (op = *opp) == 0 ) {
- FASTUNLOCK();
- op = (ptr_t)GENERAL_MALLOC((word)lb, GC_array_kind);
- if (0 == op) return(0);
-# ifdef MERGE_SIZES
- lw = GC_size_map[lb]; /* May have been uninitialized. */
-# endif
- } else {
- *opp = obj_link(op);
- GC_words_allocd += lw;
- FASTUNLOCK();
- }
- } else {
- op = (ptr_t)GENERAL_MALLOC((word)lb, GC_array_kind);
- if (0 == op) return(0);
- lw = BYTES_TO_WORDS(GC_size(op));
- }
- if (descr_type == LEAF) {
- /* Set up the descriptor inside the object itself. */
- VOLATILE struct LeafDescriptor * lp =
- (struct LeafDescriptor *)
- ((word *)op
- + lw - (BYTES_TO_WORDS(sizeof(struct LeafDescriptor)) + 1));
-
- lp -> ld_tag = LEAF_TAG;
- lp -> ld_size = leaf.ld_size;
- lp -> ld_nelements = leaf.ld_nelements;
- lp -> ld_descriptor = leaf.ld_descriptor;
- ((VOLATILE word *)op)[lw - 1] = (word)lp;
- } else {
- extern unsigned GC_finalization_failures;
- unsigned ff = GC_finalization_failures;
-
- ((word *)op)[lw - 1] = (word)complex_descr;
- /* Make sure the descriptor is cleared once there is any danger */
- /* it may have been collected. */
- (void)
- GC_general_register_disappearing_link((GC_PTR *)
- ((word *)op+lw-1),
- (GC_PTR) op);
- if (ff != GC_finalization_failures) {
- /* Couldn't register it due to lack of memory. Punt. */
- /* This will probably fail too, but gives the recovery code */
- /* a chance. */
- return(GC_malloc(n*lb));
- }
- }
- return((GC_PTR) op);
-}
diff --git a/boehm-gc/version.h b/boehm-gc/version.h
deleted file mode 100644
index 5611487373c..00000000000
--- a/boehm-gc/version.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#define GC_VERSION_MAJOR 4
-#define GC_VERSION_MINOR 13
-#define GC_ALPHA_VERSION 2
-
-# define GC_NOT_ALPHA 0xff
-
-#ifndef GC_NO_VERSION_VAR
-
-unsigned GC_version = ((GC_VERSION_MAJOR << 16) | (GC_VERSION_MINOR << 8) | GC_ALPHA_VERSION);
-
-#endif /* GC_NO_VERSION_VAR */
diff --git a/boehm-gc/weakpointer.h b/boehm-gc/weakpointer.h
deleted file mode 100644
index 84906b00a68..00000000000
--- a/boehm-gc/weakpointer.h
+++ /dev/null
@@ -1,221 +0,0 @@
-#ifndef _weakpointer_h_
-#define _weakpointer_h_
-
-/****************************************************************************
-
-WeakPointer and CleanUp
-
- Copyright (c) 1991 by Xerox Corporation. All rights reserved.
-
- THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
- OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
-
- Permission is hereby granted to copy this code for any purpose,
- provided the above notices are retained on all copies.
-
- Last modified on Mon Jul 17 18:16:01 PDT 1995 by ellis
-
-****************************************************************************/
-
-/****************************************************************************
-
-WeakPointer
-
-A weak pointer is a pointer to a heap-allocated object that doesn't
-prevent the object from being garbage collected. Weak pointers can be
-used to track which objects haven't yet been reclaimed by the
-collector. A weak pointer is deactivated when the collector discovers
-its referent object is unreachable by normal pointers (reachability
-and deactivation are defined more precisely below). A deactivated weak
-pointer remains deactivated forever.
-
-****************************************************************************/
-
-
-template< class T > class WeakPointer {
-public:
-
-WeakPointer( T* t = 0 )
- /* Constructs a weak pointer for *t. t may be null. It is an error
- if t is non-null and *t is not a collected object. */
- {impl = _WeakPointer_New( t );}
-
-T* Pointer()
- /* wp.Pointer() returns a pointer to the referent object of wp or
- null if wp has been deactivated (because its referent object
- has been discovered unreachable by the collector). */
- {return (T*) _WeakPointer_Pointer( this->impl );}
-
-int operator==( WeakPointer< T > wp2 )
- /* Given weak pointers wp1 and wp2, if wp1 == wp2, then wp1 and
- wp2 refer to the same object. If wp1 != wp2, then either wp1
- and wp2 don't refer to the same object, or if they do, one or
- both of them has been deactivated. (Note: If objects t1 and t2
- are never made reachable by their clean-up functions, then
- WeakPointer<T>(t1) == WeakPointer<T>(t2) if and only t1 == t2.) */
- {return _WeakPointer_Equal( this->impl, wp2.impl );}
-
-int Hash()
- /* Returns a hash code suitable for use by multiplicative- and
- division-based hash tables. If wp1 == wp2, then wp1.Hash() ==
- wp2.Hash(). */
- {return _WeakPointer_Hash( this->impl );}
-
-private:
-void* impl;
-};
-
-/*****************************************************************************
-
-CleanUp
-
-A garbage-collected object can have an associated clean-up function
-that will be invoked some time after the collector discovers the
-object is unreachable via normal pointers. Clean-up functions can be
-used to release resources such as open-file handles or window handles
-when their containing objects become unreachable. If a C++ object has
-a non-empty explicit destructor (i.e. it contains programmer-written
-code), the destructor will be automatically registered as the object's
-initial clean-up function.
-
-There is no guarantee that the collector will detect every unreachable
-object (though it will find almost all of them). Clients should not
-rely on clean-up to cause some action to occur immediately -- clean-up
-is only a mechanism for improving resource usage.
-
-Every object with a clean-up function also has a clean-up queue. When
-the collector finds the object is unreachable, it enqueues it on its
-queue. The clean-up function is applied when the object is removed
-from the queue. By default, objects are enqueued on the garbage
-collector's queue, and the collector removes all objects from its
-queue after each collection. If a client supplies another queue for
-objects, it is his responsibility to remove objects (and cause their
-functions to be called) by polling it periodically.
-
-Clean-up queues allow clean-up functions accessing global data to
-synchronize with the main program. Garbage collection can occur at any
-time, and clean-ups invoked by the collector might access data in an
-inconsistent state. A client can control this by defining an explicit
-queue for objects and polling it at safe points.
-
-The following definitions are used by the specification below:
-
-Given a pointer t to a collected object, the base object BO(t) is the
-value returned by new when it created the object. (Because of multiple
-inheritance, t and BO(t) may not be the same address.)
-
-A weak pointer wp references an object *t if BO(wp.Pointer()) ==
-BO(t).
-
-***************************************************************************/
-
-template< class T, class Data > class CleanUp {
-public:
-
-static void Set( T* t, void c( Data* d, T* t ), Data* d = 0 )
- /* Sets the clean-up function of object BO(t) to be <c, d>,
- replacing any previously defined clean-up function for BO(t); c
- and d can be null, but t cannot. Sets the clean-up queue for
- BO(t) to be the collector's queue. When t is removed from its
- clean-up queue, its clean-up will be applied by calling c(d,
- t). It is an error if *t is not a collected object. */
- {_CleanUp_Set( t, c, d );}
-
-static void Call( T* t )
- /* Sets the new clean-up function for BO(t) to be null and, if the
- old one is non-null, calls it immediately, even if BO(t) is
- still reachable. Deactivates any weak pointers to BO(t). */
- {_CleanUp_Call( t );}
-
-class Queue {public:
- Queue()
- /* Constructs a new queue. */
- {this->head = _CleanUp_Queue_NewHead();}
-
- void Set( T* t )
- /* q.Set(t) sets the clean-up queue of BO(t) to be q. */
- {_CleanUp_Queue_Set( this->head, t );}
-
- int Call()
- /* If q is non-empty, q.Call() removes the first object and
- calls its clean-up function; does nothing if q is
- empty. Returns true if there are more objects in the
- queue. */
- {return _CleanUp_Queue_Call( this->head );}
-
- private:
- void* head;
- };
-};
-
-/**********************************************************************
-
-Reachability and Clean-up
-
-An object O is reachable if it can be reached via a non-empty path of
-normal pointers from the registers, stacks, global variables, or an
-object with a non-null clean-up function (including O itself),
-ignoring pointers from an object to itself.
-
-This definition of reachability ensures that if object B is accessible
-from object A (and not vice versa) and if both A and B have clean-up
-functions, then A will always be cleaned up before B. Note that as
-long as an object with a clean-up function is contained in a cycle of
-pointers, it will always be reachable and will never be cleaned up or
-collected.
-
-When the collector finds an unreachable object with a null clean-up
-function, it atomically deactivates all weak pointers referencing the
-object and recycles its storage. If object B is accessible from object
-A via a path of normal pointers, A will be discovered unreachable no
-later than B, and a weak pointer to A will be deactivated no later
-than a weak pointer to B.
-
-When the collector finds an unreachable object with a non-null
-clean-up function, the collector atomically deactivates all weak
-pointers referencing the object, redefines its clean-up function to be
-null, and enqueues it on its clean-up queue. The object then becomes
-reachable again and remains reachable at least until its clean-up
-function executes.
-
-The clean-up function is assured that its argument is the only
-accessible pointer to the object. Nothing prevents the function from
-redefining the object's clean-up function or making the object
-reachable again (for example, by storing the pointer in a global
-variable).
-
-If the clean-up function does not make its object reachable again and
-does not redefine its clean-up function, then the object will be
-collected by a subsequent collection (because the object remains
-unreachable and now has a null clean-up function). If the clean-up
-function does make its object reachable again and a clean-up function
-is subsequently redefined for the object, then the new clean-up
-function will be invoked the next time the collector finds the object
-unreachable.
-
-Note that a destructor for a collected object cannot safely redefine a
-clean-up function for its object, since after the destructor executes,
-the object has been destroyed into "raw memory". (In most
-implementations, destroying an object mutates its vtbl.)
-
-Finally, note that calling delete t on a collected object first
-deactivates any weak pointers to t and then invokes its clean-up
-function (destructor).
-
-**********************************************************************/
-
-extern "C" {
- void* _WeakPointer_New( void* t );
- void* _WeakPointer_Pointer( void* wp );
- int _WeakPointer_Equal( void* wp1, void* wp2 );
- int _WeakPointer_Hash( void* wp );
- void _CleanUp_Set( void* t, void (*c)( void* d, void* t ), void* d );
- void _CleanUp_Call( void* t );
- void* _CleanUp_Queue_NewHead ();
- void _CleanUp_Queue_Set( void* h, void* t );
- int _CleanUp_Queue_Call( void* h );
-}
-
-#endif /* _weakpointer_h_ */
-
-
diff --git a/boehm-gc/win32_threads.c b/boehm-gc/win32_threads.c
deleted file mode 100644
index eb485bdc064..00000000000
--- a/boehm-gc/win32_threads.c
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifdef WIN32_THREADS
-
-#include "gc_priv.h"
-
-#define STRICT
-#include <windows.h>
-
-#define MAX_THREADS 64
-
-struct thread_entry {
- DWORD id;
- HANDLE handle;
- void *stack; /* The cold end of the stack. */
- CONTEXT context;
-};
-
-struct thread_entry thread_table[MAX_THREADS];
-
-void GC_stop_world()
-{
- DWORD thread_id = GetCurrentThreadId();
- int i;
- for (i = 0; i < MAX_THREADS; i++)
- if (thread_table[i].stack != 0 && thread_table[i].id != thread_id) {
- if (SuspendThread(thread_table[i].handle) == (DWORD)-1)
- ABORT("SuspendThread failed");
- }
-}
-
-void GC_start_world()
-{
- DWORD thread_id = GetCurrentThreadId();
- int i;
- for (i = 0; i < MAX_THREADS; i++)
- if (thread_table[i].stack != 0 && thread_table[i].id != thread_id) {
- if (ResumeThread(thread_table[i].handle) == (DWORD)-1)
- ABORT("ResumeThread failed");
- }
-}
-
-ptr_t GC_current_stackbottom()
-{
- DWORD thread_id = GetCurrentThreadId();
- int i;
- for (i = 0; i < MAX_THREADS; i++)
- if (thread_table[i].stack && thread_table[i].id == thread_id)
- return thread_table[i].stack;
- ABORT("no thread table entry for current thread");
-}
-
-ptr_t GC_get_lo_stack_addr(ptr_t s)
-{
- ptr_t bottom;
- MEMORY_BASIC_INFORMATION info;
- VirtualQuery(s, &info, sizeof(info));
- do {
- bottom = info.BaseAddress;
- VirtualQuery(bottom - 1, &info, sizeof(info));
- } while ((info.Protect & PAGE_READWRITE) && !(info.Protect & PAGE_GUARD));
- return(bottom);
-}
-
-void GC_push_all_stacks()
-{
- DWORD thread_id = GetCurrentThreadId();
- int i;
- for (i = 0; i < MAX_THREADS; i++)
- if (thread_table[i].stack) {
- ptr_t bottom = GC_get_lo_stack_addr(thread_table[i].stack);
- if (thread_table[i].id == thread_id)
- GC_push_all(&i, thread_table[i].stack);
- else {
- thread_table[i].context.ContextFlags
- = (CONTEXT_INTEGER|CONTEXT_CONTROL);
- if (!GetThreadContext(thread_table[i].handle,
- &thread_table[i].context))
- ABORT("GetThreadContext failed");
- if (thread_table[i].context.Esp >= (DWORD)thread_table[i].stack
- || thread_table[i].context.Esp < (DWORD)bottom)
- ABORT("Thread stack pointer out of range");
- GC_push_all_stack(thread_table[i].context.Esp, thread_table[i].stack);
- }
- }
-}
-
-void GC_get_next_stack(char *start, char **lo, char **hi)
-{
- int i;
-# define ADDR_LIMIT (char *)(-1L)
- char * current_min = ADDR_LIMIT;
-
- for (i = 0; i < MAX_THREADS; i++) {
- char * s = (char *)thread_table[i].stack;
-
- if (0 != s && s > start && s < current_min) {
- current_min = s;
- }
- }
- *hi = current_min;
- if (current_min == ADDR_LIMIT) {
- *lo = ADDR_LIMIT;
- return;
- }
- *lo = GC_get_lo_stack_addr(current_min);
- if (*lo < start) *lo = start;
-}
-
-LONG WINAPI GC_write_fault_handler(struct _EXCEPTION_POINTERS *exc_info);
-
-/*
- * This isn't generally safe, since DllMain is not premptible.
- * If another thread holds the lock while this runs we're in trouble.
- * Pontus Rydin suggests wrapping the thread start routine instead.
- */
-BOOL WINAPI DllMain(HINSTANCE inst, ULONG reason, LPVOID reserved)
-{
- switch (reason) {
- case DLL_PROCESS_ATTACH:
- InitializeCriticalSection(&GC_allocate_ml);
- /* fall through */
- case DLL_THREAD_ATTACH:
- {
- int i;
- LOCK();
- /* The following should be a noop according to the win32 */
- /* documentation. There is empirical evidence that it */
- /* isn't. - HB */
- if (GC_incremental) SetUnhandledExceptionFilter(GC_write_fault_handler);
- for (i = 0; thread_table[i].stack != 0; i++) {
- if (i == MAX_THREADS - 1)
- ABORT("too many threads");
- }
- thread_table[i].stack = GC_get_stack_base();
- thread_table[i].id = GetCurrentThreadId();
- if (!DuplicateHandle(GetCurrentProcess(),
- GetCurrentThread(),
- GetCurrentProcess(),
- &thread_table[i].handle,
- 0,
- 0,
- DUPLICATE_SAME_ACCESS)) {
- DWORD last_error = GetLastError();
- GC_printf1("Last error code: %lx\n", last_error);
- ABORT("DuplicateHandle failed");
- }
- UNLOCK();
- }
- break;
- case DLL_PROCESS_DETACH:
- case DLL_THREAD_DETACH:
- {
- int i;
- DWORD thread_id = GetCurrentThreadId();
- LOCK();
- for (i = 0; thread_table[i].stack == 0 || thread_table[i].id != thread_id; i++)
- if (i == MAX_THREADS - 1)
- ABORT("thread not found on detach");
- thread_table[i].stack = 0;
- CloseHandle(thread_table[i].handle);
- BZERO(&thread_table[i].context, sizeof(CONTEXT));
- UNLOCK();
- }
- break;
- }
- return TRUE;
-}
-
-#endif /* WIN32_THREADS */
diff --git a/config.guess b/config.guess
index a91e7509507..5b1e6191ce6 100755
--- a/config.guess
+++ b/config.guess
@@ -580,7 +580,7 @@ EOF
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- elf32ppc)
+ elf32ppc | elf32ppclinux)
# Determine Lib Version
cat >dummy.c <<EOF
#include <features.h>
@@ -828,6 +828,9 @@ EOF
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
diff --git a/config.sub b/config.sub
index 3bb8d2ce499..567459eb1f5 100755
--- a/config.sub
+++ b/config.sub
@@ -105,7 +105,7 @@ case $os in
-scout) # EGCS LOCAL
;;
-wrs) # EGCS LOCAL
- os=vxworks
+ os=-vxworks
basic_machine=$1
;;
-hiux*)
diff --git a/config/ChangeLog b/config/ChangeLog
index 6d9cdfcf086..beaefd1d1ec 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
Tue Feb 2 22:51:21 1999 Philip Blundell <philb@gnu.org>
* mh-armpic: New file. Patch from Jim Pick <jim@jimpick.com>.
diff --git a/config/mpw/ChangeLog b/config/mpw/ChangeLog
index 3cdefbf7a75..4541c528f3f 100644
--- a/config/mpw/ChangeLog
+++ b/config/mpw/ChangeLog
@@ -1,53 +1,16 @@
-Tue Nov 26 12:34:12 1996 Stan Shebs <shebs@andros.cygnus.com>
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
- * g-mpw-make.sed: Fix some comments.
+ * gcc-2.95.2 Released.
-Mon Sep 16 14:42:52 1996 Stan Shebs <shebs@andros.cygnus.com>
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
- * g-mpw-make.sed (HLDENV): Edit out all references.
+ * gcc-2.95.1 Released.
-Thu Aug 15 19:49:23 1996 Stan Shebs <shebs@andros.cygnus.com>
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
- * true: New script, identical to mpw-true.
- * g-mpw-make.sed: Add @DASH_C_FLAG@ and @SEGMENT_FLAG()@
- to the editors for compile commands.
+ * gcc-2.95 Released.
-Thu Aug 1 15:01:42 1996 Stan Shebs <shebs@andros.cygnus.com>
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
- * mpw-true, mpw-touch, null-command: New scripts.
- * README: Describe usage in more detail.
+ * gcc-2.95 Released.
-Tue Dec 12 14:51:51 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * g-mpw-make.sed: Don't edit out "version=" occurrences.
-
-Fri Dec 1 11:46:18 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * g-mpw-make.sed (bindir, libdir): Edit the positions of
- pathname separators to work with other pathnames better.
-
-Tue Nov 7 15:08:07 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * g-mpw-make.sed: Add comment about Duplicate vs Catenate,
- add additional pattern for editing link-compile commands.
-
-Tue Oct 24 14:28:51 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * g-mpw-make.sed: Add handling for *.tab.[hc] files.
- (CHILL_FOR_TARGET, CHILL_LIB): Edit out tricky definitions
- of these.
-
-Thu Sep 28 21:05:10 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * g-mpw-make.sed: New file, generic sed commands to translate
- Unix makefiles into MPW makefile syntax.
-
-Fri Mar 17 11:51:20 1995 Stan Shebs <shebs@andros.cygnus.com>
-
- * README: Clarify instructions.
- * fi: Remove.
-
-Wed Dec 21 15:45:53 1994 Stan Shebs <shebs@andros.cygnus.com>
-
- * MoveIfChange, README, fi, forward-include, open-brace,
- tr-7to8-src: New files.
diff --git a/configure.in b/configure.in
index d0e7166d51a..7265f49a87f 100644
--- a/configure.in
+++ b/configure.in
@@ -50,7 +50,7 @@ fi
# these tools are built for the host environment
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
# know that we are building the simulator.
-host_tools="texinfo byacc flex bison binutils ld gas gcc sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext"
+host_tools="texinfo byacc flex bison binutils ld gas gcc sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip"
# these libraries are built for the target environment, and are built after
@@ -65,6 +65,10 @@ target_libs="target-libiberty \
target-libg++ \
target-libf2c \
target-libchill \
+ target-libjava \
+ target-zlib \
+ target-boehm-gc \
+ target-qthreads \
target-libobjc"
# these tools are built using the target libs, and are intended to run only
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 99420bc04a8..8b8d93c2bc8 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,35 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * test_summary: Replace egcs with gcc. Update e-mail address.
+
+1999-06-12 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * test_summary: Set default mail-address and version for egcs
+ instead of relying on unpredictable pathnames.
+ Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+1999-06-12 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * test_summary: Set default mail-address and version for egcs
+ instead of relying on unpredictable pathnames.
+ Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
Fri Apr 2 16:09:02 1999 Jeffrey A Law (law@cygnus.com)
* fixinc/*: Delete obsolete files.
diff --git a/contrib/egcs_update b/contrib/egcs_update
index 6882b234b60..e7fa727d61b 100755
--- a/contrib/egcs_update
+++ b/contrib/egcs_update
@@ -9,14 +9,27 @@
# reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself
# are omitted.
#
+# If the first parameter reads --patch, the second parameter is considered
+# a patch file.
+#
+# If the first parameter is --touch, no cvs operation will be performed,
+# only generated files that appear to be out of date in the local tree
+# will be touched.
+#
+# If the first parameter is --list, a list of the generated files and
+# their dependencies will be printed; --help prints this message.
+#
# Examples:
#
# contrib/egcs_update -r egcs_latest_snapshot
# contrib/egcs_update -A
# contrib/egcs_update --nostdflags -P -r egcs_1_1_branch gcc/testsuite
+# contrib/egcs_update --patch some-patch
+# contrib/egcs_update --touch
+# contrib/egcs_update --list
#
#
-# (C) 1998 Free Software Foundation
+# (C) 1998-1999 Free Software Foundation
# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998.
#
# This script is Free Software, and it can be copied, distributed and
@@ -24,83 +37,166 @@
# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
+# Default options used when updating via CVS.
UPDATE_OPTIONS=-P
# Add -d to create any directories that exist in the repository but not
# locally.
# Add -A to reset any sticky tags, dates, or `-k' options.
-echo "Current directory is `pwd`."
+# This function prints a list of all generated files, along with their
+# dependencies. Note that only one target is supported per line: the
+# colon is stripped from the output.
+files_and_dependencies () {
+ sed -e 's/ *#.*//' -e '/^$/d' -e 's/://' <<\EOF
+# All automake dependencies within texinfo
+# In fact, not all, since we do not care about sub-directories that
+# we do not build. In particular, *.po and *.gmo are not touched.
+texinfo/aclocal.m4: texinfo/configure.in texinfo/acinclude.m4
+texinfo/Makefile.in: texinfo/Makefile.am texinfo/configure.in texinfo/aclocal.m4
+texinfo/configure: texinfo/configure.in texinfo/aclocal.m4
+texinfo/stamp-h.in: texinfo/configure.in texinfo/aclocal.m4 texinfo/acconfig.h
+texinfo/lib/Makefile.in: texinfo/lib/Makefile.am texinfo/configure.in texinfo/aclocal.m4
+texinfo/makeinfo/Makefile.in: texinfo/makeinfo/Makefile.am texinfo/configure.in texinfo/aclocal.m4
+texinfo/util/Makefile.in: texinfo/util/Makefile.am texinfo/configure.in texinfo/aclocal.m4
+# Now, proceed to gcc automatically generated files
+gcc/configure: gcc/configure.in
+gcc/cstamp-h.in: gcc/configure.in gcc/acconfig.h
+gcc/config.in: gcc/cstamp-h.in
+gcc/c-parse.y: gcc/c-parse.in
+gcc/c-parse.c: gcc/c-parse.y
+gcc/c-parse.h: gcc/c-parse.c
+gcc/c-gperf.h: gcc/c-parse.gperf
+gcc/cexp.c: gcc/cexp.y
+gcc/fixinc/fixincl.x: gcc/fixinc/fixincl.tpl gcc/fixinc/inclhack.def
+gcc/fixinc/inclhack.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl gcc/fixinc/hackshell.tpl
+gcc/fixinc/fixincl.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl
+# And then, language-specific files
+gcc/cp/parse.c: gcc/cp/parse.y
+gcc/cp/parse.h: gcc/cp/parse.c
+gcc/objc/objc-parse.y: gcc/c-parse.in
+gcc/objc/objc-parse.c: gcc/objc/objc-parse.y
+gcc/java/parse.h: gcc/java/parse.y
+gcc/java/parse.c: gcc/java/parse.y gcc/java/lex.c gcc/java/parse.h gcc/java/lex.h
+gcc/java/parse-scan.c: gcc/java/parse-scan.y gcc/java/lex.c gcc/java/parse.h gcc/java/lex.h
+# And libraries, at last
+libchill/configure: libchill/configure.in
+libf2c/configure: libf2c/configure.in
+libf2c/libF77/configure: libf2c/libF77/configure.in
+libf2c/libI77/configure: libf2c/libI77/configure.in
+libf2c/libU77/configure: libf2c/libU77/configure.in
+libf2c/libU77/stamp-h.in: libf2c/libU77/configure.in libf2c/libU77/acconfig.h
+libobjc/configure: libobjc/configure.in
+EOF
+}
-# First of all, check whether this indeed looks like a local CVS of egcs.
-if [ ! -d CVS ] || [ ! -f gcc/version.c ]; then
- echo "This does not seem to be an egcs CVS tree!"
- exit
-fi
-# Check command-line options
+# This function checks whether its first argument is newer than all
+# the other arguments. It returns success (0) otherwise.
+is_out_of_date () {
+ test `ls -1dt ${1+"$@"} | sed 1q` != "$1"
+}
-if [ x"${1}"x = x"--nostdflags"x ]; then
- shift
-else
- set -- $UPDATE_OPTIONS ${1+"$@"}
+
+# This function touches generated files such that the ``end'' user does
+# not have to rebuild them.
+touch_files () {
+ files_and_dependencies | while read f deps; do
+ if test -f $f && is_out_of_date "$f" $deps; then
+ echo Touching "$f"...
+ touch $f
+ if is_out_of_date "$f" $deps; then
+ # Hmm, it may have got the same timestamp as one of
+ # its touched dependencies. Wait a second and retry
+ sleep 1
+ touch $f
+ fi
+ fi
+ done
+}
+
+
+# This functions applies a patch to an existing tree.
+apply_patch () {
+ if [ -f $1 ]; then
+ echo "Applying patch file $1"
+ case "$1" in
+ *gz)
+ gzip -d -c $1 | patch -p1 ;;
+ *)
+ cat $1 | patch -p1 ;;
+ esac
+ fi
+ echo "Adjusting file timestamps"
+ touch_files
+}
+
+# Check whether this indeed looks like a local tree.
+if [ ! -f gcc/version.c ]; then
+ echo "This does not seem to be an egcs tree!"
+ exit
fi
+case "$1" in
+# First of all, check whether we are going to process a patch.
+--patch)
+ if test "$#" != 2; then
+ echo "$1" expects only one argument >&2
+ exit 1
+ fi
+ apply_patch "${2}"
+ exit $?
+ ;;
-echo "Pass 1: Updating autoconf and bison generated files"
-# Do a CVS update on those files that exist in CVS directories. libg++
-# makes sense to drop into the tree, but it isn't CVS-controlled.
-X=`for i in \`find . -name configure.in -o -name '*.y'\`
-do
- D=\`dirname $i\`/CVS
- if [ -f $i -a -d $D ]; then
- echo $i
+--touch)
+ if test "$#" != 1; then
+ echo "$1" does not expect any argument >&2
+ exit 1
fi
-done`
-cvs -q update $X
-if [ $? -ne 0 ]; then
- echo "CVS update of generated files failed." >&2
- exit 1
+ touch_files
+ exit $?
+ ;;
+
+--list)
+ if test "$#" != 1; then
+ echo "$1" does not expect any argument >&2
+ exit 1
+ fi
+ files_and_dependencies | sed 's/ /: /'
+ exit $?
+ ;;
+
+--help)
+ sed -e '1,2d' -e '/^UPDATE_OPTIONS=/{i\
+\
+
+p
+}' \
+ -e '/^$/,$d' -e 's/#//' -e 's/^ //' < $0
+ exit $?
+ ;;
+
+esac
+
+# Check whether this indeed looks like a local CVS tree.
+if [ ! -d CVS ]; then
+ echo "This does not seem to be an egcs CVS tree!"
+ exit
fi
+# Check command-line options
+if [ x"${1}"x = x"--nostdflags"x ]; then
+ shift
+else
+ set -- $UPDATE_OPTIONS ${1+"$@"}
+fi
-echo "Pass 2: Updating full tree"
+echo "Updating CVS tree"
cvs -q update ${1+"$@"}
if [ $? -ne 0 ]; then
echo "CVS update of full tree failed." >&2
exit 1
fi
-echo "Pass 3: Fixing local tree"
-# Please also update the FAQ accordingly if you change the list of
-# files below. Note that generated files should be touched only
-# after the corresponding *.y files.
-touch `find . -name configure -print`
-touch `find texinfo -name Makefile.in -print`
-touch `find texinfo -name \*.pot -print`
-touch `find texinfo -name \*.gmo -print`
-for f in gcc/c-parse.y \
- gcc/c-parse.h \
- gcc/c-parse.c \
- gcc/cstamp-h.in \
- gcc/c-gperf.h \
- gcc/cexp.c \
- gcc/cp/parse.c \
- gcc/cp/parse.h \
- gcc/objc/objc-parse.y \
- gcc/objc/objc-parse.c \
- gcc/java/parse.h \
- gcc/java/parse.c \
- gcc/java/parse-scan.c \
- libf2c/libU77/stamp-h.in \
- contrib/fixinc/fixincl.x \
- contrib/fixinc/inclhack.sh \
- contrib/fixinc/fixincl.sh \
- gcc/fixinc/fixincl.x \
- gcc/fixinc/inclhack.sh \
- gcc/fixinc/fixincl.sh
-do
- if [ -f $f ]; then
- touch $f
- fi
-done
+echo "Adjusting file timestamps"
+touch_files
diff --git a/contrib/test_summary b/contrib/test_summary
index fd76292682f..03fed36fdaf 100755
--- a/contrib/test_summary
+++ b/contrib/test_summary
@@ -1,6 +1,6 @@
#! /bin/sh
-# (C) 1998 Free Software Foundation
+# (C) 1998-1999 Free Software Foundation
# Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
# This script is Free Software, and it can be copied, distributed and
@@ -9,8 +9,8 @@
# This script processes *.{sum,log} files, producing a shell-script
# that sends e-mail to the appropriate lists and renames files to
-# *.sent. It currently handles gcc and egcs, but it should be quite
-# easy to modify it to handle other packages and its mailing lists.
+# *.sent. It currently handles only gcc, but it should be quite easy
+# to modify it to handle other packages and its mailing lists.
# The scripts assumes it is run in the root directory of the build
# tree, and it will include all .sum files it finds in the mail
@@ -85,6 +85,8 @@ if $forcemail || $anychange; then :; else mailto=nobody; fi &&
$AWK '
BEGIN {
lang="";
+ address="gcc-testresults@gcc.gnu.org";
+ version="gcc";
print "cat <<\EOF |";
'${prepend_logs+" system(\"cat $prepend_logs\"); "}'
}
@@ -95,16 +97,6 @@ $1 ~ /\/configure$/ { $1 = "configure flags:"; configflags = $0 }
/^[ ]*=== [^ ]+ tests ===/ {
if (lang == "") lang = " "$2" "; else lang = " ";
}
-/\/ss(\/|c? )/ {
- program="ss";
- if (lang == " ") address="nobody";
- else if (lang == " gcc ") address="gcc2@cygnus.com";
- else address="g++@cygnus.com";
-}
-/\/egcsh?((-[^ ]*)?\/|c?[ -])/ {
- address="egcs-testresults@egcs.cygnus.com";
- if (version == 0) version="egcs";
-}
/--disable-haifa/ { prefix="haifa-disabled "; }
/--enable-haifa/ { prefix="haifa-enabled "; }
$2 == "version" { save = $0; $1 = ""; $2 = ""; version = $0; gsub(/^ */, "", version); gsub(/\r$/, "", version); $0 = save; }
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 95cfd399fd0..64ae1b8629e 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,27 @@
+2001-01-11 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * standards.texi, make-stds.texi: Update to FSF version of Jan 11.
+
+2000-05-18 Martin von Loewis <loewis@informatik.hu-berlin.de>
+
+ * standards.texi, make-stds.texi: Update to FSF version of May 13.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
Mon Nov 23 16:46:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* configure.in: Use AC_PREREQ(2.12.1).
diff --git a/etc/make-stds.texi b/etc/make-stds.texi
index b8e0bbed4f1..0f0e7d4d91e 100644
--- a/etc/make-stds.texi
+++ b/etc/make-stds.texi
@@ -21,6 +21,8 @@ chapter
@end ifclear
@end iftex
describes conventions for writing the Makefiles for GNU programs.
+Using Automake will help you write a Makefile that follows these
+conventions.
@menu
* Makefile Basics:: General Conventions for Makefiles
@@ -247,9 +249,10 @@ Every Makefile should define the variable @code{INSTALL}, which is the
basic command for installing a file into the system.
Every Makefile should also define the variables @code{INSTALL_PROGRAM}
-and @code{INSTALL_DATA}. (The default for each of these should be
-@code{$(INSTALL)}.) Then it should use those variables as the commands
-for actual installation, for executables and nonexecutables
+and @code{INSTALL_DATA}. (The default for @code{INSTALL_PROGRAM} should
+be @code{$(INSTALL)}; the default for @code{INSTALL_DATA} should be
+@code{$@{INSTALL@} -m 644}.) Then it should use those variables as the
+commands for actual installation, for executables and nonexecutables
respectively. Use these variables as follows:
@example
@@ -280,26 +283,28 @@ installed.
Installation directories should always be named by variables, so it is
easy to install in a nonstandard place. The standard names for these
variables are described below. They are based on a standard filesystem
-layout; variants of it are used in SVR4, 4.4BSD, Linux, Ultrix v4, and
-other modern operating systems.
+layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4,
+and other modern operating systems.
These two variables set the root for the installation. All the other
installation directories should be subdirectories of one of these two,
and nothing should be directly installed into these two directories.
-@table @samp
+@table @code
@item prefix
+@vindex prefix
A prefix used in constructing the default values of the variables listed
below. The default value of @code{prefix} should be @file{/usr/local}.
When building the complete GNU system, the prefix will be empty and
@file{/usr} will be a symbolic link to @file{/}.
(If you are using Autoconf, write it as @samp{@@prefix@@}.)
-Running @samp{make install} with a different value of @code{prefix}
-from the one used to build the program should @var{not} recompile
-the program.
+Running @samp{make install} with a different value of @code{prefix} from
+the one used to build the program should @emph{not} recompile the
+program.
@item exec_prefix
+@vindex exec_prefix
A prefix used in constructing the default values of some of the
variables listed below. The default value of @code{exec_prefix} should
be @code{$(prefix)}.
@@ -310,20 +315,22 @@ machine-specific files (such as executables and subroutine libraries),
while @code{$(prefix)} is used directly for other directories.
Running @samp{make install} with a different value of @code{exec_prefix}
-from the one used to build the program should @var{not} recompile the
+from the one used to build the program should @emph{not} recompile the
program.
@end table
Executable programs are installed in one of the following directories.
-@table @samp
+@table @code
@item bindir
+@vindex bindir
The directory for installing executable programs that users can run.
This should normally be @file{/usr/local/bin}, but write it as
@file{$(exec_prefix)/bin}.
(If you are using Autoconf, write it as @samp{@@bindir@@}.)
@item sbindir
+@vindex sbindir
The directory for installing executable programs that can be run from
the shell, but are only generally useful to system administrators. This
should normally be @file{/usr/local/sbin}, but write it as
@@ -331,6 +338,7 @@ should normally be @file{/usr/local/sbin}, but write it as
(If you are using Autoconf, write it as @samp{@@sbindir@@}.)
@item libexecdir
+@vindex libexecdir
@comment This paragraph adjusted to avoid overfull hbox --roland 5jul94
The directory for installing executable programs to be run by other
programs rather than by users. This directory should normally be
@@ -623,7 +631,8 @@ the installation commands. @xref{Install Command Categories}.
@item install-strip
Like @code{install}, but strip the executable files while installing
-them. In many cases, the definition of this target can be very simple:
+them. In simple cases, this target can use the @code{install} target in
+a simple way:
@smallexample
install-strip:
@@ -631,6 +640,14 @@ install-strip:
install
@end smallexample
+But if the package installs scripts as well as real executables, the
+@code{install-strip} target can't just refer to the @code{install}
+target; it has to strip the executables but not the scripts.
+
+@code{install-strip} should not strip the executables in the build
+directory which are being copied for installation. It should only strip
+the copies that are installed.
+
Normally we do not recommend stripping an executable unless you are sure
the program has no bugs. However, it can be reasonable to install a
stripped executable for actual execution while saving the unstripped
diff --git a/etc/standards.texi b/etc/standards.texi
index 93fddcb0e21..8f515012e26 100644
--- a/etc/standards.texi
+++ b/etc/standards.texi
@@ -3,7 +3,7 @@
@setfilename standards.info
@settitle GNU Coding Standards
@c This date is automagically updated when you save this file:
-@set lastupdate March 13, 1998
+@set lastupdate December 1, 2000
@c %**end of header
@ifinfo
@@ -17,6 +17,12 @@ END-INFO-DIR-ENTRY
@c @setchapternewpage odd
@setchapternewpage off
+@c Put everything in one index (arbitrarily chosen to be the concept index).
+@syncodeindex fn cp
+@syncodeindex ky cp
+@syncodeindex pg cp
+@syncodeindex vr cp
+
@c This is used by a cross ref in make-stds.texi
@set CODESTD 1
@iftex
@@ -28,7 +34,7 @@ END-INFO-DIR-ENTRY
@ifinfo
GNU Coding Standards
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -59,7 +65,7 @@ by the Free Software Foundation.
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -84,13 +90,15 @@ Last updated @value{lastupdate}.
@end ifinfo
@menu
-* Preface:: About the GNU Coding Standards
-* Intellectual Property:: Keeping Free Software Free
-* Design Advice:: General Program Design
-* Program Behavior:: Program Behavior for All Programs
-* Writing C:: Making The Best Use of C
-* Documentation:: Documenting Programs
-* Managing Releases:: The Release Process
+* Preface:: About the GNU Coding Standards
+* Legal Issues:: Keeping Free Software Free
+* Design Advice:: General Program Design
+* Program Behavior:: Program Behavior for All Programs
+* Writing C:: Making The Best Use of C
+* Documentation:: Documenting Programs
+* Managing Releases:: The Release Process
+* References:: References to Non-Free Software or Documentation
+* Index::
@end menu
@node Preface
@@ -105,7 +113,7 @@ even if you write in another programming language. The rules often
state reasons for writing in a certain way.
Corrections or suggestions for this document should be sent to
-@email{gnu@@gnu.org}. If you make a suggestion, please include a
+@email{bug-standards@@gnu.org}. If you make a suggestion, please include a
suggested new wording for it; our time is limited. We prefer a context
diff to the @file{standards.texi} or @file{make-stds.texi} files, but if
you don't have those files, please mail your suggestion anyway.
@@ -113,19 +121,34 @@ you don't have those files, please mail your suggestion anyway.
This release of the GNU Coding Standards was last updated
@value{lastupdate}.
-@node Intellectual Property
+@cindex where to obtain @code{standards.texi}
+@cindex downloading this manual
+If you did not obtain this file directly from the GNU project and
+recently, please check for a newer version. You can ftp the GNU Coding
+Standards from any GNU FTP host in the directory
+@file{/pub/gnu/standards/}. The GNU Coding Standards are available
+there in several different formats: @file{standards.text},
+@file{standards.texi}, @file{standards.info}, and @file{standards.dvi}.
+The GNU Coding Standards are also available on the GNU World Wide Web
+server: @uref{http://www.gnu.org/prep/standards_toc.html}.
+
+@node Legal Issues
@chapter Keeping Free Software Free
+@cindex legal aspects
This @value{CHAPTER} discusses how you can make sure that GNU software
-remains unencumbered.
+avoids legal difficulties, and other related issues.
@menu
* Reading Non-Free Code:: Referring to Proprietary Programs
* Contributions:: Accepting Contributions
+* Trademarks:: How We Deal with Trademark Issues
@end menu
@node Reading Non-Free Code
@section Referring to Proprietary Programs
+@cindex proprietary programs
+@cindex avoiding proprietary code
Don't in any circumstances refer to Unix source code for or during
your work on GNU! (Or to any other proprietary programs.)
@@ -157,15 +180,17 @@ Or turn some parts of the program into independently usable libraries.
Or use a simple garbage collector instead of tracking precisely when
to free memory, or use a new GNU facility such as obstacks.
-
@node Contributions
@section Accepting Contributions
-
-If someone else sends you a piece of code to add to the program you are
-working on, we need legal papers to use it---the same sort of legal
-papers we will need to get from you. @emph{Each} significant
-contributor to a program must sign some sort of legal papers in order
-for us to have clear title to the program. The main author alone is not
+@cindex legal papers
+@cindex accepting contributions
+
+If the program you are working on is copyrighted by the Free Software
+Foundation, then when someone else sends you a piece of code to add to
+the program, we need legal papers to use it---just as we asked you to
+sign papers initially. @emph{Each} person who makes a nontrivial
+contribution to a program must sign some sort of legal papers in order
+for us to have clear title to the program; the main author alone is not
enough.
So, before adding in any contributions from other people, please tell
@@ -181,16 +206,17 @@ This also applies to comments and documentation files. For copyright
law, comments and code are just text. Copyright applies to all kinds of
text, so we need legal papers for all kinds.
+We know it is frustrating to ask for legal papers; it's frustrating for
+us as well. But if you don't wait, you are going out on a limb---for
+example, what if the contributor's employer won't sign a disclaimer?
+You might have to take that code out again!
+
You don't need papers for changes of a few lines here or there, since
they are not significant for copyright purposes. Also, you don't need
papers if all you get from the suggestion is some ideas, not actual code
-which you use. For example, if you write a different solution to the
-problem, you don't need to get papers.
-
-We know this is frustrating; it's frustrating for us as well. But if
-you don't wait, you are going out on a limb---for example, what if the
-contributor's employer won't sign a disclaimer? You might have to take
-that code out again!
+which you use. For example, if someone send you one implementation, but
+you write a different implementation of the same idea, you don't need to
+get papers.
The very worst thing is if you forget to tell us about the other
contributor. We could be very embarrassed in court some day as a
@@ -200,39 +226,123 @@ We have more detailed advice for maintainers of programs; if you have
reached the stage of actually maintaining a program for GNU (whether
released or not), please ask us for a copy.
+@node Trademarks
+@section Trademarks
+@cindex trademarks
+
+Please do not include any trademark acknowledgements in GNU software
+packages or documentation.
+
+Trademark acknowledgements are the statements that such-and-such is a
+trademark of so-and-so. The GNU Project has no objection to the basic
+idea of trademarks, but these acknowledgements feel like kowtowing, so
+we don't use them. There is no legal requirement for them.
+
+What is legally required, as regards other people's trademarks, is to
+avoid using them in ways which a reader might read as naming or labeling
+our own programs or activities. For example, since ``Objective C'' is
+(or at least was) a trademark, we made sure to say that we provide a
+``compiler for the Objective C language'' rather than an ``Objective C
+compiler''. The latter is meant to be short for the former, but it does
+not explicitly state the relationship, so it could be misinterpreted as
+using ``Objective C'' as a label for the compiler rather than for the
+language.
+
@node Design Advice
@chapter General Program Design
+@cindex program design
This @value{CHAPTER} discusses some of the issues you should take into
account when designing your program.
+@c Standard or ANSI C
+@c
+@c In 1989 the American National Standards Institute (ANSI) standardized
+@c C as standard X3.159-1989. In December of that year the
+@c International Standards Organization ISO adopted the ANSI C standard
+@c making minor changes. In 1990 ANSI then re-adopted ISO standard
+@c C. This version of C is known as either ANSI C or Standard C.
+
+@c A major revision of the C Standard appeared in 1999.
+
@menu
+* Source Language:: Which languges to use.
* Compatibility:: Compatibility with other implementations
* Using Extensions:: Using non-standard features
-* ANSI C:: Using ANSI C features
-* Source Language:: Using languages other than C
+* Standard C:: Using Standard C features
@end menu
+@node Source Language
+@section Which Languages to Use
+@cindex programming languges
+
+When you want to use a language that gets compiled and runs at high
+speed, the best language to use is C. Using another language is like
+using a non-standard feature: it will cause trouble for users. Even if
+GCC supports the other language, users may find it inconvenient to have
+to install the compiler for that other language in order to build your
+program. For example, if you write your program in C++, people will
+have to install the GNU C++ compiler in order to compile your program.
+
+C has one other advantage over C++ and other compiled languages: more
+people know C, so more people will find it easy to read and modify the
+program if it is written in C.
+
+So in general it is much better to use C, rather than the
+comparable alternatives.
+
+But there are two exceptions to that conclusion:
+
+@itemize @bullet
+@item
+It is no problem to use another language to write a tool specifically
+intended for use with that language. That is because the only people
+who want to build the tool will be those who have installed the other
+language anyway.
+
+@item
+If an application is of interest only to a narrow part of the community,
+then the question of which language it is written in has less effect on
+other people, so you may as well please yourself.
+@end itemize
+
+Many programs are designed to be extensible: they include an interpreter
+for a language that is higher level than C. Often much of the program
+is written in that language, too. The Emacs editor pioneered this
+technique.
+
+@cindex GUILE
+The standard extensibility interpreter for GNU software is GUILE, which
+implements the language Scheme (an especially clean and simple dialect
+of Lisp). @uref{http://www.gnu.org/software/guile/}. We don't reject
+programs written in other ``scripting languages'' such as Perl and
+Python, but using GUILE is very important for the overall consistency of
+the GNU system.
+
@node Compatibility
@section Compatibility with Other Implementations
+@cindex compatibility with C and @sc{posix} standards
+@cindex @sc{posix} compatibility
With occasional exceptions, utility programs and libraries for GNU
should be upward compatible with those in Berkeley Unix, and upward
-compatible with @sc{ansi} C if @sc{ansi} C specifies their behavior, and
-upward compatible with @sc{POSIX} if @sc{POSIX} specifies their
-behavior.
+compatible with Standard C if Standard C specifies their
+behavior, and upward compatible with @sc{posix} if @sc{posix} specifies
+their behavior.
When these standards conflict, it is useful to offer compatibility
modes for each of them.
-@sc{ansi} C and @sc{POSIX} prohibit many kinds of extensions. Feel free
-to make the extensions anyway, and include a @samp{--ansi},
+@cindex options for compatibility
+Standard C and @sc{posix} prohibit many kinds of extensions. Feel
+free to make the extensions anyway, and include a @samp{--ansi},
@samp{--posix}, or @samp{--compatible} option to turn them off.
However, if the extension has a significant chance of breaking any real
-programs or scripts, then it is not really upward compatible. Try to
-redesign its interface.
+programs or scripts, then it is not really upward compatible. So you
+should try to redesign its interface to make it upward compatible.
-Many GNU programs suppress extensions that conflict with POSIX if the
+@cindex @code{POSIXLY_CORRECT}, environment variable
+Many GNU programs suppress extensions that conflict with @sc{posix} if the
environment variable @code{POSIXLY_CORRECT} is defined (even if it is
defined with a null value). Please make your program recognize this
variable if appropriate.
@@ -243,10 +353,12 @@ completely with something totally different and better. (For example,
@code{vi} is replaced with Emacs.) But it is nice to offer a compatible
feature as well. (There is a free @code{vi} clone, so we offer it.)
-Additional useful features not in Berkeley Unix are welcome.
+Additional useful features are welcome regardless of whether
+there is any precedent for them.
@node Using Extensions
@section Using Non-standard Features
+@cindex non-standard extensions
Many GNU facilities that already exist support a number of convenient
extensions over the comparable Unix facilities. Whether to use these
@@ -267,29 +379,33 @@ straightforwardly do without them, but to use the extensions if they
are a big improvement.
An exception to this rule are the large, established programs (such as
-Emacs) which run on a great variety of systems. Such programs would
-be broken by use of GNU extensions.
+Emacs) which run on a great variety of systems. Using GNU extensions in
+such programs would make many users unhappy, so we don't do that.
+
+Another exception is for programs that are used as part of compilation:
+anything that must be compiled with other compilers in order to
+bootstrap the GNU compilation facilities. If these require the GNU
+compiler, then no one can compile them without having them installed
+already. That would be extremely troublesome in certain cases.
-Another exception is for programs that are used as part of
-compilation: anything that must be compiled with other compilers in
-order to bootstrap the GNU compilation facilities. If these require
-the GNU compiler, then no one can compile them without having them
-installed already. That would be no good.
+@node Standard C
+@section Standard C and Pre-Standard C
+@cindex @sc{ansi} C standard
-@node ANSI C
-@section @sc{ansi} C and pre-@sc{ansi} C
+1989 Standard C is widespread enough now that it is ok to use its
+features in new programs. There is one exception: do not ever use the
+``trigraph'' feature of Standard C.
-Do not ever use the ``trigraph'' feature of @sc{ansi} C.
+1999 Standard C is not widespread yet, so please do not require its
+features in programs. It is ok to use its features if they are present.
-@sc{ansi} C is widespread enough now that it is ok to write new programs
-that use @sc{ansi} C features (and therefore will not work in
-non-@sc{ansi} compilers). And if a program is already written in
-@sc{ansi} C, there's no need to convert it to support non-@sc{ansi}
-compilers.
+However, it is easy to support pre-standard compilers in most programs,
+so if you know how to do that, feel free. If a program you are
+maintaining has such support, you should try to keep it working.
-However, it is easy to support non-@sc{ansi} compilers in most programs,
-so you might still consider doing so when you write a program. Instead
-of writing function definitions in @sc{ansi} prototype form,
+@cindex function prototypes
+To support pre-standard C, instead of writing function definitions in
+standard prototype form,
@example
int
@@ -298,7 +414,7 @@ foo (int x, int y)
@end example
@noindent
-write the definition in pre-@sc{ansi} style like this,
+write the definition in pre-standard style like this,
@example
int
@@ -315,79 +431,75 @@ int foo (int, int);
@end example
You need such a declaration anyway, in a header file, to get the benefit
-of @sc{ansi} C prototypes in all the files where the function is called.
-And once you have it, you lose nothing by writing the function
-definition in the pre-@sc{ansi} style.
-
-If you don't know non-@sc{ansi} C, there's no need to learn it; just
-write in @sc{ansi} C.
-
-@node Source Language
-@section Using Languages Other Than C
-
-Using a language other than C is like using a non-standard feature: it
-will cause trouble for users. Even if GCC supports the other language,
-users may find it inconvenient to have to install the compiler for that
-other language in order to build your program. For example, if you
-write your program in C++, people will have to install the C++ compiler
-in order to compile your program. Thus, it is better if you write in C.
-
-But there are three situations when there is no disadvantage in using
-some other language:
-
-@itemize @bullet
-@item
-It is okay to use another language if your program contains an
-interpreter for that language.
-
-For example, if your program links with GUILE, it is ok to write part of
-the program in Scheme or another language supported by GUILE.
-
-@item
-It is okay to use another language in a tool specifically intended for
-use with that language.
-
-This is okay because the only people who want to build the tool will be
-those who have installed the other language anyway.
+of prototypes in all the files where the function is called. And once
+you have the declaration, you normally lose nothing by writing the
+function definition in the pre-standard style.
+
+This technique does not work for integer types narrower than @code{int}.
+If you think of an argument as being of a type narrower than @code{int},
+declare it as @code{int} instead.
+
+There are a few special cases where this technique is hard to use. For
+example, if a function argument needs to hold the system type
+@code{dev_t}, you run into trouble, because @code{dev_t} is shorter than
+@code{int} on some machines; but you cannot use @code{int} instead,
+because @code{dev_t} is wider than @code{int} on some machines. There
+is no type you can safely use on all machines in a non-standard
+definition. The only way to support non-standard C and pass such an
+argument is to check the width of @code{dev_t} using Autoconf and choose
+the argument type accordingly. This may not be worth the trouble.
+
+In order to support pre-standard compilers that do not recognize
+prototypes, you may want to use a preprocessor macro like this:
-@item
-If an application is of interest to a narrow community, then perhaps
-it's not important if the application is inconvenient to install.
-@end itemize
-
-C has one other advantage over C++ and other compiled languages: more
-people know C, so more people will find it easy to read and modify the
-program if it is written in C.
+@example
+/* Declare the prototype for a general external function. */
+#if defined (__STDC__) || defined (WINDOWSNT)
+#define P_(proto) proto
+#else
+#define P_(proto) ()
+#endif
+@end example
@node Program Behavior
@chapter Program Behavior for All Programs
-This @value{CHAPTER} describes how to write robust software. It also
-describes general standards for error messages, the command line interface,
-and how libraries should behave.
+This @value{CHAPTER} describes conventions for writing robust
+software. It also describes general standards for error messages, the
+command line interface, and how libraries should behave.
@menu
* Semantics:: Writing robust programs
* Libraries:: Library behavior
* Errors:: Formatting error messages
-* User Interfaces:: Standards for command line interfaces
-* Option Table:: Table of long options.
+* User Interfaces:: Standards about interfaces generally
+* Graphical Interfaces:: Standards for graphical interfaces
+* Command-Line Interfaces:: Standards for command line interfaces
+* Option Table:: Table of long options
* Memory Usage:: When and how to care about memory needs
+* File Usage:: Which files to use, and where
@end menu
@node Semantics
@section Writing Robust Programs
+@cindex arbitrary limits on data
Avoid arbitrary limits on the length or number of @emph{any} data
structure, including file names, lines, files, and symbols, by allocating
all data structures dynamically. In most Unix utilities, ``long lines
are silently truncated''. This is not acceptable in a GNU utility.
+@cindex @code{NUL} characters
Utilities reading files should not drop NUL characters, or any other
-nonprinting characters @emph{including those with codes above 0177}. The
-only sensible exceptions would be utilities specifically intended for
-interface to certain types of printers that can't handle those characters.
-
+nonprinting characters @emph{including those with codes above 0177}.
+The only sensible exceptions would be utilities specifically intended
+for interface to certain types of terminals or printers
+that can't handle those characters.
+Whenever possible, try to make programs work properly with
+sequences of bytes that represent multibyte characters, using encodings
+such as UTF-8 and others.
+
+@cindex error messages
Check every system call for an error return, unless you know you wish to
ignore errors. Include the system error text (from @code{perror} or
equivalent) in @emph{every} error message resulting from a failing
@@ -395,6 +507,8 @@ system call, as well as the name of the file if any and the name of the
utility. Just ``cannot open foo.c'' or ``stat failed'' is not
sufficient.
+@cindex @code{malloc} return value
+@cindex memory allocation failure
Check every call to @code{malloc} or @code{realloc} to see if it
returned zero. Check @code{realloc} even if you are making the block
smaller; in a system that rounds block sizes to a power of 2,
@@ -416,6 +530,7 @@ user), it is better to abort the command and return to the command
reader loop. This allows the user to kill other processes to free up
virtual memory, and then try the command again.
+@cindex command-line arguments, decoding
Use @code{getopt_long} to decode arguments, unless the argument syntax
makes this unreasonable.
@@ -428,12 +543,21 @@ Try to avoid low-level interfaces to obscure Unix data structures (such
as file directories, utmp, or the layout of kernel memory), since these
are less likely to work compatibly. If you need to find all the files
in a directory, use @code{readdir} or some other high-level interface.
-These will be supported compatibly by GNU.
+These are supported compatibly by GNU.
-By default, the GNU system will provide the signal handling functions of
-@sc{BSD} and of @sc{POSIX}. So GNU software should be written to use
-these.
+@cindex signal handling
+The preferred signal handling facilities are the BSD variant of
+@code{signal}, and the @sc{posix} @code{sigaction} function; the
+alternative USG @code{signal} interface is an inferior design.
+Nowadays, using the @sc{posix} signal functions may be the easiest way
+to make a program portable. If you use @code{signal}, then on GNU/Linux
+systems running GNU libc version 1, you should include
+@file{bsd/signal.h} instead of @file{signal.h}, so as to get BSD
+behavior. It is up to you whether to support systems where
+@code{signal} has only the USG behavior, or give up on them.
+
+@cindex impossible conditions
In error checks that detect ``impossible'' conditions, just abort.
There is usually no point in printing any message. These checks
indicate the existence of bugs. Whoever wants to fix the bugs will have
@@ -448,12 +572,28 @@ bits (0 through 255). A single run of the program might have 256
errors; if you try to return 256 as the exit status, the parent process
will see 0 as the status, and it will appear that the program succeeded.
+@cindex temporary files
+@cindex @code{TMPDIR} environment variable
If you make temporary files, check the @code{TMPDIR} environment
variable; if that variable is defined, use the specified directory
instead of @file{/tmp}.
+In addition, be aware that there is a possible security problem when
+creating temporary files in world-writable directories. In C, you can
+avoid this problem by creating temporary files in this manner:
+
+@example
+fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0600);
+@end example
+
+@noindent
+or by using the @code{mkstemps} function from libiberty.
+
+In bash, use @code{set -C} to avoid this problem.
+
@node Libraries
@section Library Behavior
+@cindex libraries
Try to make library functions reentrant. If they need to do dynamic
storage allocation, at least try to avoid any nonreentrancy aside from
@@ -473,16 +613,18 @@ together, so that no reasonable program could use one without the
other; then they can both go in the same file.
External symbols that are not documented entry points for the user
-should have names beginning with @samp{_}. They should also contain
-the chosen name prefix for the library, to prevent collisions with
-other libraries. These can go in the same files with user entry
-points if you like.
+should have names beginning with @samp{_}. The @samp{_} should be
+followed by the chosen name prefix for the library, to prevent
+collisions with other libraries. These can go in the same files with
+user entry points if you like.
Static functions and variables can be used as you like and need not
fit any naming convention.
@node Errors
@section Formatting Error Messages
+@cindex formatting error messages
+@cindex error messages, formatting
Error messages from compilers should look like this:
@@ -490,6 +632,20 @@ Error messages from compilers should look like this:
@var{source-file-name}:@var{lineno}: @var{message}
@end example
+@noindent
+If you want to mention the column number, use this format:
+
+@example
+@var{source-file-name}:@var{lineno}:@var{column}: @var{message}
+@end example
+
+@noindent
+Line numbers should start from 1 at the beginning of the file, and
+column numbers should start from 1 at the beginning of the line. (Both
+of these conventions are chosen for compatibility.) Calculate column
+numbers assuming that space and all ASCII printing characters have
+equal width, and assuming tab stops every 8 columns.
+
Error messages from other noninteractive programs should look like this:
@example
@@ -506,6 +662,12 @@ when there is an appropriate source file, or like this:
@noindent
when there is no relevant source file.
+If you want to mention the column number, use this format:
+
+@example
+@var{program}:@var{source-file-name}:@var{lineno}:@var{column}: @var{message}
+@end example
+
In an interactive program (one that is reading commands from a
terminal), it is better not to include the program name in an error
message. The place to indicate which program is running is in the
@@ -522,8 +684,10 @@ usage messages, should start with a capital letter. But they should not
end with a period.
@node User Interfaces
-@section Standards for Command Line Interfaces
+@section Standards for Interfaces Generally
+@cindex program name and its behavior
+@cindex behavior, dependent on program's name
Please don't make the behavior of a utility depend on the name used
to invoke it. It is useful sometimes to make a link to a utility
with a different name, and that should not change what it does.
@@ -531,10 +695,13 @@ with a different name, and that should not change what it does.
Instead, use a run time option or a compilation switch or both
to select among the alternate behaviors.
+@cindex output device and program's behavior
Likewise, please don't make the behavior of the program depend on the
type of output device it is used with. Device independence is an
-important principle of the system's design; do not compromise it
-merely to save someone from typing an option now and then.
+important principle of the system's design; do not compromise it merely
+to save someone from typing an option now and then. (Variation in error
+message syntax when using a terminal is ok, because that is a side issue
+that people do not depend on.)
If you think one behavior is most useful when the output is to a
terminal, and another is most useful when the output is a file or a
@@ -550,13 +717,42 @@ output device type. For example, we provide a @code{dir} program much
like @code{ls} except that its default output format is always
multi-column format.
-It is a good idea to follow the @sc{POSIX} guidelines for the
+@node Graphical Interfaces
+@section Standards for Graphical Interfaces
+@cindex graphical user interface
+
+@cindex gtk
+When you write a program that provides a graphical user interface,
+please make it work with X Windows and the GTK toolkit unless the
+functionality specifically requires some alternative (for example,
+``displaying jpeg images while in console mode'').
+
+In addition, please provide a command-line interface to control the
+functionality. (In many cases, the graphical user interface can be a
+separate program which invokes the command-line program.) This is
+so that the same jobs can be done from scripts.
+
+@cindex corba
+@cindex gnome
+Please also consider providing a CORBA interface (for use from GNOME), a
+library interface (for use from C), and perhaps a keyboard-driven
+console interface (for use by users from console mode). Once you are
+doing the work to provide the functionality and the graphical interface,
+these won't be much extra work.
+
+@node Command-Line Interfaces
+@section Standards for Command Line Interfaces
+@cindex command-line interface
+
+@findex getopt
+It is a good idea to follow the @sc{posix} guidelines for the
command-line options of a program. The easiest way to do this is to use
@code{getopt} to parse them. Note that the GNU version of @code{getopt}
will normally permit options anywhere among the arguments unless the
-special argument @samp{--} is used. This is not what @sc{POSIX}
+special argument @samp{--} is used. This is not what @sc{posix}
specifies; it is a GNU extension.
+@cindex long-named options
Please define long-named options that are equivalent to the
single-letter Unix-style options. We hope to make GNU more user
friendly this way. This is easy to do with the GNU function
@@ -576,16 +772,20 @@ file name as an ordinary argument for compatibility, try to provide an
option as another way to specify it. This will lead to more consistency
among GNU utilities, and fewer idiosyncracies for users to remember.
+@cindex standard command-line options
All programs should support two standard options: @samp{--version}
and @samp{--help}.
@table @code
+@cindex @samp{--version} option
@item --version
-This option should direct the program to information about its name,
+This option should direct the program to print information about its name,
version, origin and legal status, all on standard output, and then exit
successfully. Other options and arguments should be ignored once this
is seen, and the program should not perform its normal function.
+@cindex canonical name of a program
+@cindex program's canonical name
The first line is meant to be easy for a program to parse; the version
number proper starts after the last space. In addition, it contains
the canonical name for this program, in this format:
@@ -658,12 +858,15 @@ versions' changes. You don't have to mention the name of the program in
these notices, if that is inconvenient, since it appeared in the first
line.
+@cindex @samp{--help} option
@item --help
This option should output brief documentation for how to invoke the
program, on standard output, then exit successfully. Other options and
arguments should be ignored once this is seen, and the program should
not perform its normal function.
+@cindex address for bug reports
+@cindex bug reports
Near the end of the @samp{--help} option's output there should be a line
that says where to mail bug reports. It should have this format:
@@ -674,11 +877,13 @@ Report bugs to @var{mailing-address}.
@node Option Table
@section Table of Long Options
+@cindex long option names
+@cindex table of long options
Here is a table of long options used by GNU programs. It is surely
incomplete, but we aim to list all the options that a new program might
want to be compatible with. If you use names not already in the table,
-please send @email{gnu@@gnu.org} a list of them, with their
+please send @email{bug-standards@@gnu.org} a list of them, with their
meanings, so we can update the table.
@c Please leave newlines between items in this table; it's much easier
@@ -738,6 +943,9 @@ and @code{unexpand}.
@item avoid-wraps
@samp{-n} in @code{wdiff}.
+@item background
+For server programs, run in the background.
+
@item backward-search
@samp{-B} in @code{ctags}.
@@ -862,6 +1070,9 @@ Used in @code{tar} and @code{cpio}.
@item dereference-args
@samp{-D} in @code{du}.
+@item device
+Specify an I/O device (special file name).
+
@item diacritics
@samp{-d} in @code{recode}.
@@ -994,6 +1205,11 @@ Used in @code{makeinfo}.
@item force-prefix
@samp{-F} in @code{shar}.
+@item foreground
+For server programs, run in the foreground;
+in other words, don't do anything special to run the server
+in the background.
+
@item format
Used in @code{ls}, @code{time}, and @code{ptx}.
@@ -1039,6 +1255,9 @@ Used to ask for brief usage information.
@item hide-control-chars
@samp{-q} in @code{ls}.
+@item html
+In @code{makeinfo}, output HTML.
+
@item idle
@samp{-u} in @code{who}.
@@ -1099,6 +1318,10 @@ Used to ask for brief usage information.
@item info
@samp{-i}, @samp{-l}, and @samp{-m} in Finger.
+@item init-file
+In some programs, specify the name of the file to read as the user's
+init file.
+
@item initial
@samp{-i} in @code{expand}.
@@ -1117,6 +1340,9 @@ Used to ask for brief usage information.
@item intermix-type
@samp{-p} in @code{shar}.
+@item iso-8601
+Used in @code{date}
+
@item jobs
@samp{-j} in Make.
@@ -1352,6 +1578,10 @@ Used in GDB.
@item only-time
@samp{-F} in @code{gprof}.
+@item options
+@samp{-o} in @code{getopt}, @code{fdlist}, @code{fdmount},
+@code{fdmountd}, and @code{fdumount}.
+
@item output
In various programs, specify the output file name.
@@ -1436,6 +1666,9 @@ Used in @code{tar} and @code{cp}.
@item prompt
@samp{-p} in @code{ed}.
+@item proxy
+Specify an HTTP proxy.
+
@item query-user
@samp{-X} in @code{shar}.
@@ -1564,6 +1797,12 @@ Used in many programs to inhibit the usual output.
@item size
@samp{-s} in @code{ls}.
+@item socket
+Specify a file descriptor for a network server to use for its socket,
+instead of opening and binding a new socket. This provides a way to
+run, in a nonpriveledged process, a server that normally needs a
+reserved port number.
+
@item sort
Used in @code{ls}.
@@ -1662,6 +1901,9 @@ Used in GDB and @code{objdump}.
@item time
Used in @code{ls} and @code{touch}.
+@item timeout
+Specify how long to wait before giving up on some operation.
+
@item to-stdout
@samp{-O} in @code{tar}.
@@ -1754,8 +1996,9 @@ Print the version number.
@node Memory Usage
@section Memory Usage
+@cindex memory usage
-If it typically uses just a few meg of memory, don't bother making any
+If a program typically uses just a few meg of memory, don't bother making any
effort to reduce memory usage. For example, if it is impractical for
other reasons to operate on files more than a few meg long, it is
reasonable to read entire input files into core to operate on them.
@@ -1771,6 +2014,23 @@ files that are bigger than will fit in core all at once.
If your program creates complicated data structures, just make them in
core and give a fatal error if @code{malloc} returns zero.
+@node File Usage
+@section File Usage
+@cindex file usage
+
+Programs should be prepared to operate when @file{/usr} and @file{/etc}
+are read-only file systems. Thus, if the program manages log files,
+lock files, backup files, score files, or any other files which are
+modified for internal purposes, these files should not be stored in
+@file{/usr} or @file{/etc}.
+
+There are two exceptions. @file{/etc} is used to store system
+configuration information; it is reasonable for a program to modify
+files in @file{/etc} when its job is to update the system configuration.
+Also, if the user explicitly asks to modify one file in a directory, it
+is reasonable for the program to store other files in the same
+directory.
+
@node Writing C
@chapter Making The Best Use of C
@@ -1791,7 +2051,10 @@ when writing GNU software.
@node Formatting
@section Formatting Your Source Code
+@cindex formatting source code
+@cindex open brace
+@cindex braces, in C source
It is important to put the open-brace that starts the body of a C
function in column zero, and avoid putting any other open-brace or
open-parenthesis or open-bracket in column zero. Several tools look
@@ -1813,7 +2076,8 @@ concat (s1, s2) /* Name starts in column zero here */
@end example
@noindent
-or, if you want to use @sc{ansi} C, format the definition like this:
+or, if you want to use Standard C syntax, format the definition like
+this:
@example
static char *
@@ -1823,7 +2087,7 @@ concat (char *s1, char *s2)
@}
@end example
-In @sc{ansi} C, if the arguments don't fit nicely on one line,
+In Standard C, if the arguments don't fit nicely on one line,
split it like this:
@example
@@ -1833,7 +2097,25 @@ lots_of_args (int an_integer, long a_long, short a_short,
@dots{}
@end example
-For the body of the function, we prefer code formatted like this:
+The rest of this section gives our recommendations for other aspects of
+C formatting style, which is also the default style of the @code{indent}
+program in version 1.2 and newer. It corresponds to the options
+
+@smallexample
+-nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
+-ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -psl -nsc -nsob
+@end smallexample
+
+We don't think of these recommendations as requirements, because it
+causes no problems for users if two different programs have different
+formatting styles.
+
+But whatever style you use, please use it consistently, since a mixture
+of styles within one program tends to look ugly. If you are
+contributing changes to an existing program, please follow the style of
+that program.
+
+For the body of the function, our recommended style looks like this:
@example
if (x < foo (y, z))
@@ -1849,12 +2131,14 @@ else
@}
@end example
+@cindex spaces before open-paren
We find it easier to read a program when it has spaces before the
open-parentheses and after the commas. Especially after the commas.
When you split an expression into multiple lines, split it
before an operator, not after one. Here is the right way:
+@cindex expressions, splitting
@example
if (foo_this_is_long && bar > win (x, y, z)
&& remaining_condition)
@@ -1879,14 +2163,15 @@ mode = ((inmode[j] == VOIDmode
Insert extra parentheses so that Emacs will indent the code properly.
For example, the following indentation looks nice if you do it by hand,
-but Emacs would mess it up:
@example
v = rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
+ rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000;
@end example
-But adding a set of parentheses solves the problem:
+@noindent
+but Emacs would alter it. Adding a set of parentheses produces
+something that looks equally nice, and which Emacs will preserve:
@example
v = (rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
@@ -1903,14 +2188,16 @@ do
while (a > 0);
@end example
+@cindex formfeed
+@cindex control-L
Please use formfeed characters (control-L) to divide the program into
pages at logical places (but not within a function). It does not matter
just how long the pages are, since they do not have to fit on a printed
page. The formfeeds should appear alone on lines by themselves.
-
@node Comments
@section Commenting Your Work
+@cindex commenting
Every program should start with a comment saying briefly what it is for.
Example: @samp{fmt - filter for simple filling of text}.
@@ -1962,6 +2249,8 @@ There should be a comment on each static variable as well, like this:
int truncate_lines;
@end example
+@cindex conditionals, comments for
+@cindex @code{#endif}, commenting
Every @samp{#endif} should have a comment, except in the case of short
conditionals (just a few lines) that are not nested. The comment should
state the condition of the conditional that is ending, @emph{including
@@ -2003,9 +2292,23 @@ but, by contrast, write the comments this way for a @samp{#ifndef}:
@node Syntactic Conventions
@section Clean Use of C Constructs
-
-Please explicitly declare all arguments to functions.
-Don't omit them just because they are @code{int}s.
+@cindex syntactic conventions
+
+@cindex implicit @code{int}
+@cindex function argument, declaring
+Please explicitly declare the types of all objects. For example, you
+should explicitly declare all arguments to functions, and you should
+declare functions to return @code{int} rather than omitting the
+@code{int}.
+
+@cindex compiler warnings
+@cindex @samp{-Wall} compiler option
+Some programmers like to use the GCC @samp{-Wall} option, and change the
+code whenever it issues a warning. If you want to do this, then do.
+Other programmers prefer not to use @samp{-Wall}, because it gives
+warnings for valid and legitimate code which they do not want to change.
+If you want to do this, then do. The compiler should be your servant,
+not your master.
Declarations of external functions and functions to appear later in the
source file should all go in one place near the beginning of the file
@@ -2013,6 +2316,7 @@ source file should all go in one place near the beginning of the file
should go in a header file. Don't put @code{extern} declarations inside
functions.
+@cindex temporary variables
It used to be common practice to use the same local variables (with
names like @code{tem}) over and over for different values within one
function. Instead of doing this, it is better declare a separate local
@@ -2024,6 +2328,7 @@ all its uses. This makes the program even cleaner.
Don't use local variables or parameters that shadow global identifiers.
+@cindex multiple variables in a line
Don't declare multiple variables in one declaration that spans lines.
Start a new declaration on each line, instead. For example, instead
of this:
@@ -2124,13 +2429,15 @@ if (foo == 0)
fatal ("virtual memory exhausted");
@end example
+@pindex lint
Don't make the program ugly to placate @code{lint}. Please don't insert any
casts to @code{void}. Zero without a cast is perfectly fine as a null
pointer constant, except when calling a varargs function.
-@node Names
+@node Names
@section Naming Variables and Functions
+@cindex names of variables and functions
The names of global variables and functions in a program serve as
comments of a sort. So don't choose terse names---instead, look for
names that give useful information about the meaning of the variable or
@@ -2140,6 +2447,10 @@ comments.
Local variable names can be shorter, because they are used only within
one context, where (presumably) comments explain their purpose.
+Try to limit your use of abbreviations in symbol names. It is ok to
+make a few abbreviations, explain what they mean, and then use them
+frequently, but don't use lots of obscure abbreviations.
+
Please use underscores to separate words in a name, so that the Emacs
word commands can be useful within them. Stick to lower case; reserve
upper case for macros and @code{enum} constants, and for name-prefixes
@@ -2164,30 +2475,41 @@ When you want to define names with constant integer values, use
@code{enum} rather than @samp{#define}. GDB knows about enumeration
constants.
-Use file names of 14 characters or less, to avoid creating gratuitous
-problems on older System V systems. You can use the program
-@code{doschk} to test for this. @code{doschk} also tests for potential
-name conflicts if the files were loaded onto an MS-DOS file
-system---something you may or may not care about.
+@cindex file-name limitations
+@pindex doschk
+You might want to make sure that none of the file names would conflict
+the files were loaded onto an MS-DOS file system which shortens the
+names. You can use the program @code{doschk} to test for this.
+
+Some GNU programs were designed to limit themselves to file names of 14
+characters or less, to avoid file name conflicts if they are read into
+older System V systems. Please preserve this feature in the existing
+GNU programs that have it, but there is no need to do this in new GNU
+programs. @code{doschk} also reports file names longer than 14
+characters.
@node System Portability
@section Portability between System Types
+@cindex portability, between system types
In the Unix world, ``portability'' refers to porting to different Unix
versions. For a GNU program, this kind of portability is desirable, but
not paramount.
The primary purpose of GNU software is to run on top of the GNU kernel,
-compiled with the GNU C compiler, on various types of @sc{cpu}. The
-amount and kinds of variation among GNU systems on different @sc{cpu}s
-will be comparable to the variation among Linux-based GNU systems or
-among BSD systems today. So the kinds of portability that are absolutely
-necessary are quite limited.
-
-But many users do run GNU software on non-GNU Unix or Unix-like systems.
-So supporting a variety of Unix-like systems is desirable, although not
-paramount.
-
+compiled with the GNU C compiler, on various types of @sc{cpu}. So the
+kinds of portability that are absolutely necessary are quite limited.
+But it is important to support Linux-based GNU systems, since they
+are the form of GNU that is popular.
+
+Beyond that, it is good to support the other free operating systems
+(*BSD), and it is nice to support other Unix-like systems if you want
+to. Supporting a variety of Unix-like systems is desirable, although
+not paramount. It is usually not too hard, so you may as well do it.
+But you don't have to consider it an obligation, if it does turn out to
+be hard.
+
+@pindex autoconf
The easiest way to achieve portability to most Unix-like systems is to
use Autoconf. It's unlikely that your program needs to know more
information about the host platform than Autoconf can provide, simply
@@ -2197,19 +2519,30 @@ written.
Avoid using the format of semi-internal data bases (e.g., directories)
when there is a higher-level alternative (@code{readdir}).
+@cindex non-@sc{posix} systems, and portability
As for systems that are not like Unix, such as MSDOS, Windows, the
-Macintosh, VMS, and MVS, supporting them is usually so much work that it
-is better if you don't.
-
-The planned GNU kernel is not finished yet, but you can tell which
-facilities it will provide by looking at the GNU C Library Manual. The
-GNU kernel is based on Mach, so the features of Mach will also be
-available. However, if you use Mach features, you'll probably have
-trouble debugging your program today.
+Macintosh, VMS, and MVS, supporting them is often a lot of work. When
+that is the case, it is better to spend your time adding features that
+will be useful on GNU and GNU/Linux, rather than on supporting other
+incompatible systems.
+
+It is a good idea to define the ``feature test macro''
+@code{_GNU_SOURCE} when compiling your C files. When you compile on GNU
+or GNU/Linux, this will enable the declarations of GNU library extension
+functions, and that will usually give you a compiler error message if
+you define the same function names in some other way in your program.
+(You don't have to actually @emph{use} these functions, if you prefer
+to make the program more portable to other systems.)
+
+But whether or not you use these GNU extensions, you should avoid
+using their names for any other meanings. Doing so would make it hard
+to move your code into other GNU programs.
@node CPU Portability
@section Portability between @sc{cpu}s
+@cindex data types, and portability
+@cindex portability, and data types
Even GNU systems will differ because of differences among @sc{cpu}
types---for example, difference in byte ordering and alignment
requirements. It is absolutely essential to handle these differences.
@@ -2217,6 +2550,25 @@ However, don't make any effort to cater to the possibility that an
@code{int} will be less than 32 bits. We don't support 16-bit machines
in GNU.
+Similarly, don't make any effort to cater to the possibility that
+@code{long} will be smaller than predefined types like @code{size_t}.
+For example, the following code is ok:
+
+@example
+printf ("size = %lu\n", (unsigned long) sizeof array);
+printf ("diff = %ld\n", (long) (pointer2 - pointer1));
+@end example
+
+1989 Standard C requires this to work, and we know of only one
+counterexample: 64-bit programs on Microsoft Windows IA-64. We will
+leave it to those who want to port GNU programs to that environment
+to figure out how to do it.
+
+Predefined file-size types like @code{off_t} are an exception: they are
+longer than @code{long} on many platforms, so code like the above won't
+work with them. One way to print an @code{off_t} value portably is to
+print its digits yourself, one by one.
+
Don't assume that the address of an @code{int} object is also the
address of its least-significant byte. This is false on big-endian
machines. Thus, don't make the following mistake:
@@ -2231,9 +2583,9 @@ while ((c = getchar()) != EOF)
When calling functions, you need not worry about the difference between
pointers of various types, or between pointers and integers. On most
machines, there's no difference anyway. As for the few machines where
-there is a difference, all of them support @sc{ansi} C, so you can use
-prototypes (conditionalized to be active only in @sc{ansi} C) to make
-the code work on those systems.
+there is a difference, all of them support Standard C prototypes, so you can
+use prototypes (perhaps conditionalized to be active only in Standard C)
+to make the code work on those systems.
In certain cases, it is ok to pass integer and pointer arguments
indiscriminately to the same function, and use no prototype on any
@@ -2243,7 +2595,7 @@ that pass their arguments along to @code{printf} and friends:
@example
error (s, a1, a2, a3)
char *s;
- int a1, a2, a3;
+ char *a1, *a2, *a3;
@{
fprintf (stderr, "error: ");
fprintf (stderr, s, a1, a2, a3);
@@ -2251,36 +2603,50 @@ error (s, a1, a2, a3)
@end example
@noindent
-In practice, this works on all machines, and it is much simpler than any
-``correct'' alternative. Be sure @emph{not} to use a prototype
-for such functions.
+In practice, this works on all machines, since a pointer is generally
+the widest possible kind of argument; it is much simpler than any
+``correct'' alternative. Be sure @emph{not} to use a prototype for such
+functions.
-However, avoid casting pointers to integers unless you really need to.
-These assumptions really reduce portability, and in most programs they
-are easy to avoid. In the cases where casting pointers to integers is
-essential---such as, a Lisp interpreter which stores type information as
-well as an address in one word---it is ok to do so, but you'll have to
-make explicit provisions to handle different word sizes.
+If you have decided to use Standard C, then you can instead define
+@code{error} using @file{stdarg.h}, and pass the arguments along to
+@code{vfprintf}.
+
+@cindex casting pointers to integers
+Avoid casting pointers to integers if you can. Such casts greatly
+reduce portability, and in most programs they are easy to avoid. In the
+cases where casting pointers to integers is essential---such as, a Lisp
+interpreter which stores type information as well as an address in one
+word---you'll have to make explicit provisions to handle different word
+sizes. You will also need to make provision for systems in which the
+normal range of addresses you can get from @code{malloc} starts far away
+from zero.
@node System Functions
@section Calling System Functions
+@cindex library functions, and portability
+@cindex portability, and library functions
-C implementations differ substantially. @sc{ansi} C reduces but does not
-eliminate the incompatibilities; meanwhile, many users wish to compile
-GNU software with pre-@sc{ansi} compilers. This chapter gives
-recommendations for how to use the more or less standard C library
-functions to avoid unnecessary loss of portability.
+C implementations differ substantially. Standard C reduces but does
+not eliminate the incompatibilities; meanwhile, many GNU packages still
+support pre-standard compilers because this is not hard to do. This
+chapter gives recommendations for how to use the more-or-less standard C
+library functions to avoid unnecessary loss of portability.
@itemize @bullet
@item
-Don't use the value of @code{sprintf}. It returns the number of
+Don't use the return value of @code{sprintf}. It returns the number of
characters written on some systems, but not on all systems.
@item
+Be aware that @code{vfprintf} is not always available.
+
+@item
@code{main} should be declared to return type @code{int}. It should
terminate either by calling @code{exit} or by returning the integer
status code; make sure it cannot ever return an undefined value.
+@cindex declaration for system functions
@item
Don't declare system functions explicitly.
@@ -2297,7 +2663,7 @@ actual conflicts.
@item
If you must declare a system function, don't specify the argument types.
-Use an old-style declaration, not an @sc{ansi} prototype. The more you
+Use an old-style declaration, not a Standard C prototype. The more you
specify about the function, the more likely a conflict.
@item
@@ -2319,6 +2685,7 @@ exceptional systems (mostly 64-bit machines), you can use
@code{realloc}---or put these declarations in configuration files
specific to those systems.
+@cindex string library functions
@item
The string functions require special treatment. Some Unix systems have
a header file @file{string.h}; others have @file{strings.h}. Neither
@@ -2329,7 +2696,7 @@ figure out which file to include, or don't include either file.
If you don't include either strings file, you can't get declarations for
the string functions from the header file in the usual way.
-That causes less of a problem than you might think. The newer @sc{ansi}
+That causes less of a problem than you might think. The newer standard
string functions should be avoided anyway because many systems still
don't support them. The string functions you can use are these:
@@ -2359,7 +2726,7 @@ names, but neither pair works on all systems.
You should pick a single pair of names and use it throughout your
program. (Nowadays, it is better to choose @code{strchr} and
-@code{strrchr} for new programs, since those are the standard @sc{ansi}
+@code{strrchr} for new programs, since those are the standard
names.) Declare both of those names as functions returning @code{char
*}. On systems which don't support those names, define them as macros
in terms of the other pair. For example, here is what to put at the
@@ -2385,7 +2752,9 @@ One way to get them properly defined is to use Autoconf.
@node Internationalization
@section Internationalization
+@cindex internationalization
+@pindex gettext
GNU has a library called GNU gettext that makes it easy to translate the
messages in a program into various languages. You should use this
library in every program. Use English for the messages as they appear
@@ -2412,6 +2781,7 @@ translations for this package from the translations for other packages.
Normally, the text domain name should be the same as the name of the
package---for example, @samp{fileutils} for the GNU file utilities.
+@cindex message text, and internationalization
To enable gettext to work well, avoid writing code that makes
assumptions about the structure of words or sentences. When you want
the precise text of a sentence to vary depending on the data, use two or
@@ -2483,6 +2853,7 @@ printf (f->tried_implicit
@node Mmap
@section Mmap
+@findex mmap
Don't assume that @code{mmap} either works on all files or fails
for all files. It may work on some files and fail on others.
@@ -2499,10 +2870,19 @@ all these kinds of files.
@node Documentation
@chapter Documenting Programs
+@cindex documentation
+
+A GNU program should ideally come with full free documentation, adequate
+for both reference and tutorial purposes. If the package can be
+programmed or extended, the documentation should cover programming or
+extending it, as well as just using it.
@menu
* GNU Manuals:: Writing proper manuals.
+* Doc Strings and Manuals:: Compiling doc strings doesn't make a manual.
* Manual Structure Details:: Specific structure conventions.
+* License for Manuals:: Writing the distribution terms for a manual.
+* Manual Credits:: Giving credit to documentation contributors.
* NEWS File:: NEWS files supplement manuals.
* Change Logs:: Recording Changes
* Man Pages:: Man pages are secondary.
@@ -2513,10 +2893,18 @@ all these kinds of files.
@node GNU Manuals
@section GNU Manuals
-The preferred way to document part of the GNU system is to write a
-manual in the Texinfo formatting language. See the Texinfo manual,
-either the hardcopy, or the on-line version available through
-@code{info} or the Emacs Info subsystem (@kbd{C-h i}).
+The preferred document format for the GNU system is the Texinfo
+formatting language. Every GNU package should (ideally) have
+documentation in Texinfo both for reference and for learners. Texinfo
+makes it possible to produce a good quality formatted book, using
+@TeX{}, and to generate an Info file. It is also possible to generate
+HTML output from Texinfo source. See the Texinfo manual, either the
+hardcopy, or the on-line version available through @code{info} or the
+Emacs Info subsystem (@kbd{C-h i}).
+
+Nowadays some other formats such as Docbook and Sgmltexi can be
+converted automatically into Texinfo. It is ok to produce the Texinfo
+documentation by conversion this way, as long as it gives good results.
Programmers often find it most natural to structure the documentation
following the structure of the implementation, which they know. But
@@ -2545,9 +2933,9 @@ have one manual for ``comparison of files'' which covers both of those
programs, as well as @code{cmp}. By documenting these programs
together, we can make the whole subject clearer.
-The manual which discusses a program should document all of the
-program's command-line options and all of its commands. It should give
-examples of their use. But don't organize the manual as a list of
+The manual which discusses a program should certainly document all of
+the program's command-line options and all of its commands. It should
+give examples of their use. But don't organize the manual as a list of
features. Instead, organize it logically, by subtopics. Address the
questions that a user will ask when thinking about the job that the
program does.
@@ -2557,6 +2945,8 @@ It should be set up for convenient access to each topic through Info,
and for reading straight through (appendixes aside). A GNU manual
should give a good introduction to a beginner reading through from the
start, and should also provide all the details that hackers want.
+The Bison manual is a good example of this---please take a look at it
+to see what we mean.
That is not as hard as it first sounds. Arrange each chapter as a
logical breakdown of its topic, but order the sections, and write their
@@ -2570,22 +2960,62 @@ are purely tutorial and cover the basics of the subject. These provide
the framework for a beginner to understand the rest of the manual. The
Bison manual provides a good example of how to do this.
+To serve as a reference, a manual should have an Index that list all the
+functions, variables, options, and important concepts that are part of
+the program. One combined Index should do for a short manual, but
+sometimes for a complex package it is better to use multiple indices.
+The Texinfo manual includes advice on preparing good index entries, see
+@ref{Index Entries, , Making Index Entries, texinfo, The GNU Texinfo
+Manual}, and see @ref{Indexing Commands, , Defining the Entries of an
+Index, texinfo, The GNU Texinfo manual}.
+
Don't use Unix man pages as a model for how to write GNU documentation;
most of them are terse, badly structured, and give inadequate
-explanation of the underlying concepts. (There are, of course
-exceptions.) Also Unix man pages use a particular format which is
+explanation of the underlying concepts. (There are, of course, some
+exceptions.) Also, Unix man pages use a particular format which is
different from what we use in GNU manuals.
+Please include an email address in the manual for where to report
+bugs @emph{in the manual}.
+
Please do not use the term ``pathname'' that is used in Unix
documentation; use ``file name'' (two words) instead. We use the term
-``path'' only for search paths, which are lists of file names.
+``path'' only for search paths, which are lists of directory names.
Please do not use the term ``illegal'' to refer to erroneous input to a
computer program. Please use ``invalid'' for this, and reserve the term
-``illegal'' for violations of law.
+``illegal'' for activities punishable by law.
+
+@node Doc Strings and Manuals
+@section Doc Strings and Manuals
+
+Some programming systems, such as Emacs, provide a documentation string
+for each function, command or variable. You may be tempted to write a
+reference manual by compiling the documentation strings and writing a
+little additional text to go around them---but you must not do it. That
+approach is a fundamental mistake. The text of well-written
+documentation strings will be entirely wrong for a manual.
+
+A documentation string needs to stand alone---when it appears on the
+screen, there will be no other text to introduce or explain it.
+Meanwhile, it can be rather informal in style.
+
+The text describing a function or variable in a manual must not stand
+alone; it appears in the context of a section or subsection. Other text
+at the beginning of the section should explain some of the concepts, and
+should often make some general points that apply to several functions or
+variables. The previous descriptions of functions and variables in the
+section will also have given information about the topic. A description
+written to stand alone would repeat some of that information; this
+redundance looks bad. Meanwhile, the informality that is acceptable in
+a documentation string is totally unacceptable in a manual.
+
+The only good way to use documentation strings in writing a good manual
+is to use them as a source of information for writing good text.
@node Manual Structure Details
@section Manual Structure Details
+@cindex manual structure
The title page of the manual should state the version of the programs or
packages documented in the manual. The Top node of the manual should
@@ -2605,14 +3035,44 @@ Alternatively, put a menu item in some menu whose item name fits one of
the above patterns. This identifies the node which that item points to
as the node for this purpose, regardless of the node's actual name.
-There will be automatic features for specifying a program name and
-quickly reading just this part of its manual.
+The @samp{--usage} feature of the Info reader looks for such a node
+or menu item in order to find the relevant text, so it is essential
+for every Texinfo file to have one.
If one manual describes several programs, it should have such a node for
-each program described.
+each program described in the manual.
+
+@node License for Manuals
+@section License for Manuals
+@cindex license for manuals
+
+Please use the GNU Free Documentation License for all GNU manuals that
+are more than a few pages long. Likewise for a collection of short
+documents---you only need one copy of the GNU FDL for the whole
+collection. For a single short document, you can use a very permissive
+non-copyleft license, to avoid taking up space with a long license.
+
+See @uref{http://www.gnu.org/copyleft/fdl-howto.html} for more explanation
+of how to employ the GFDL.
+
+Note that it is not obligatory to include a copy of the GNU GPL or GNU
+LGPL in a manual whose license is neither the GPL nor the LGPL. It can
+be a good idea to include the program's license in a large manual; in a
+short manual, whose size would be increased considerably by including
+the program's license, it is probably better not to include it.
+
+@node Manual Credits
+@section Manual Credits
+@cindex credits for manuals
+
+Please credit the principal human writers of the manual as the authors,
+on the title page of the manual. If a company sponsored the work, thank
+the company in a suitable place in the manual, but do not cite the
+company as an author.
@node NEWS File
@section The NEWS File
+@cindex @file{NEWS} file
In addition to its manual, the package should have a file named
@file{NEWS} which contains a list of user-visible changes worth
@@ -2627,6 +3087,7 @@ user to that file.
@node Change Logs
@section Change Logs
+@cindex change logs
Keep a change log to describe all the changes made to program source
files. The purpose of this is so that people investigating bugs in the
@@ -2641,6 +3102,7 @@ history of how the conflicting concepts arose and who they came from.
* Style of Change Logs::
* Simple Changes::
* Conditional Changes::
+* Indicating the Part Changed::
@end menu
@node Change Log Concepts
@@ -2659,7 +3121,8 @@ you.
Another alternative is to record change log information with a version
control system such as RCS or CVS. This can be converted automatically
-to a @file{ChangeLog} file.
+to a @file{ChangeLog} file using @code{rcs2log}; in Emacs, the command
+@kbd{C-x v a} (@code{vc-update-change-log}) does the job.
There's no need to describe the full purpose of the changes or how they
work together. If you think that a change calls for explanation, you're
@@ -2680,10 +3143,16 @@ Then describe the changes you made to that function or variable.
@node Style of Change Logs
@subsection Style of Change Logs
+@cindex change logs, style
-Here are some examples of change log entries:
+Here are some simple examples of change log entries, starting with the
+header line that says who made the change and when, followed by
+descriptions of specific changes. (These examples are drawn from Emacs
+and GCC.)
@example
+1998-08-17 Richard Stallman <rms@@gnu.org>
+
* register.el (insert-register): Return nil.
(jump-to-register): Likewise.
@@ -2714,6 +3183,15 @@ entries represent parts of the same change, so that they work together,
then don't put blank lines between them. Then you can omit the file
name and the asterisk when successive entries are in the same file.
+Break long lists of function names by closing continued lines with
+@samp{)}, rather than @samp{,}, and opening the continuation with
+@samp{(} as in this example:
+
+@example
+* keyboard.c (menu_bar_items, tool_bar_items)
+(Fexecute_extended_command): Deal with `keymap' property.
+@end example
+
@node Simple Changes
@subsection Simple Changes
@@ -2721,9 +3199,10 @@ Certain simple kinds of changes don't need much detail in the change
log.
When you change the calling sequence of a function in a simple fashion,
-and you change all the callers of the function, there is no need to make
-individual entries for all the callers that you changed. Just write in
-the entry for the function being called, ``All callers changed.''
+and you change all the callers of the function to use the new calling
+sequence, there is no need to make individual entries for all the
+callers that you changed. Just write in the entry for the function
+being called, ``All callers changed''---like this:
@example
* keyboard.c (Fcommand_execute): New arg SPECIAL.
@@ -2743,6 +3222,8 @@ documentation says with the way the program actually works.
@node Conditional Changes
@subsection Conditional Changes
+@cindex conditional changes, and change logs
+@cindex change logs, conditional changes
C programs often contain compile-time @code{#if} conditionals. Many
changes are conditional; sometimes you add a new definition which is
@@ -2782,8 +3263,23 @@ a certain macro is @emph{not} defined:
(gethostname) [!HAVE_SOCKETS]: Replace with winsock version.
@end example
+@node Indicating the Part Changed
+@subsection Indicating the Part Changed
+
+Indicate the part of a function which changed by using angle brackets
+enclosing an indication of what the changed part does. Here is an entry
+for a change in the part of the function @code{sh-while-getopts} that
+deals with @code{sh} commands:
+
+@example
+* progmodes/sh-script.el (sh-while-getopts) <sh>: Handle case that
+user-specified option string is empty.
+@end example
+
+
@node Man Pages
@section Man Pages
+@cindex man pages
In the GNU project, man pages are secondary. It is not necessary or
expected for every GNU program to have a man page, but some of them do.
@@ -2830,6 +3326,7 @@ with the FSF about the individual case.
@node Managing Releases
@chapter The Release Process
+@cindex releasing
Making a release is more than just bundling up your source files in a
tar file and putting it up for FTP. You should set up your software so
@@ -2847,7 +3344,9 @@ all GNU software.
@node Configuration
@section How Configuration Should Work
+@cindex program configuration
+@pindex configure
Each GNU distribution should come with a shell script named
@code{configure}. This script is given arguments which describe the
kind of machine and system you want to compile the program for.
@@ -2915,13 +3414,14 @@ The @code{configure} script needs to be able to decode all plausible
alternatives for how to describe a machine. Thus, @samp{sun3-sunos4.1}
would be a valid alias. For many programs, @samp{vax-dec-ultrix} would
be an alias for @samp{vax-dec-bsd}, simply because the differences
-between Ultrix and @sc{BSD} are rarely noticeable, but a few programs
+between Ultrix and @sc{bsd} are rarely noticeable, but a few programs
might need to distinguish them.
@c Real 4.4BSD now runs on some Suns.
There is a shell script called @file{config.sub} that you can use
as a subroutine to validate system types and canonicalize aliases.
+@cindex optional features, configure-time
Other options are permitted to specify in more detail the software
or hardware present on the machine, and include or exclude optional
parts of the package:
@@ -2957,17 +3457,6 @@ and
Do not use a @samp{--with} option to specify the file name to use to
find certain files. That is outside the scope of what @samp{--with}
options are for.
-
-@item --nfp
-The target machine has no floating point processor.
-
-@item --gas
-The target machine assembler is GAS, the GNU assembler.
-This is obsolete; users should use @samp{--with-gnu-as} instead.
-
-@item --x
-The target machine has the X Window System installed.
-This is obsolete; users should use @samp{--with-x} instead.
@end table
All @code{configure} scripts should accept all of these ``detail''
@@ -2983,27 +3472,36 @@ you might think of. That is deliberate. We want to limit the possible
configuration options in GNU software. We do not want GNU programs to
have idiosyncratic configuration options.
-Packages that perform part of the compilation process may support cross-compilation.
-In such a case, the host and target machines for the program may be
-different. The @code{configure} script should normally treat the
-specified type of system as both the host and the target, thus producing
-a program which works for the same type of machine that it runs on.
+Packages that perform part of the compilation process may support
+cross-compilation. In such a case, the host and target machines for the
+program may be different.
-The way to build a cross-compiler, cross-assembler, or what have you, is
-to specify the option @samp{--host=@var{hosttype}} when running
-@code{configure}. This specifies the host system without changing the
-type of target system. The syntax for @var{hosttype} is the same as
-described above.
+The @code{configure} script should normally treat the specified type of
+system as both the host and the target, thus producing a program which
+works for the same type of machine that it runs on.
-Bootstrapping a cross-compiler requires compiling it on a machine other
-than the host it will run on. Compilation packages accept a
-configuration option @samp{--build=@var{hosttype}} for specifying the
-configuration on which you will compile them, in case that is different
-from the host.
+To configure a cross-compiler, cross-assembler, or what have you, you
+should specify a target different from the host, using the configure
+option @samp{--target=@var{targettype}}. The syntax for
+@var{targettype} is the same as for the host type. So the command would
+look like this:
+
+@example
+./configure @var{hosttype} --target=@var{targettype}
+@end example
Programs for which cross-operation is not meaningful need not accept the
-@samp{--host} option, because configuring an entire operating system for
-cross-operation is not a meaningful thing.
+@samp{--target} option, because configuring an entire operating system for
+cross-operation is not a meaningful operation.
+
+Bootstrapping a cross-compiler requires compiling it on a machine other
+than the host it will run on. Compilation packages accept a
+configuration option @samp{--build=@var{buildtype}} for specifying the
+configuration on which you will compile them, but the configure script
+should normally guess the build machine type (using
+@file{config.guess}), so this option is probably not necessary. The
+host and target types normally default from the build type, so in
+bootstrapping a cross-compiler you must specify them both explicitly.
Some programs have ways of configuring themselves automatically. If
your program is set up to do this, your @code{configure} script can simply
@@ -3018,6 +3516,7 @@ ignore most of its arguments.
@node Releases
@section Making Releases
+@cindex packaging
Package the distribution of @code{Foo version 69.96} up in a gzipped tar
file with the name @file{foo-69.96.tar.gz}. It should unpack into a
@@ -3030,6 +3529,22 @@ files} and @dfn{non-source files}. Source files are written by humans
and never changed automatically; non-source files are produced from
source files by programs under the control of the Makefile.
+@cindex @file{README} file
+The distribution should contain a file named @file{README} which gives
+the name of the package, and a general description of what it does. It
+is also good to explain the purpose of each of the first-level
+subdirectories in the package, if there are any. The @file{README} file
+should either state the version number of the package, or refer to where
+in the package it can be found.
+
+The @file{README} file should refer to the file @file{INSTALL}, which
+should contain an explanation of the installation procedure.
+
+The @file{README} file should also refer to the file which contains the
+copying conditions. The GNU GPL, if used, should be in a file called
+@file{COPYING}. If the GNU LGPL is used, it should be in a file called
+@file{COPYING.LIB}.
+
Naturally, all the source files must be in the distribution. It is okay
to include non-source files in the distribution, provided they are
up-to-date and machine-independent, so that building the distribution
@@ -3054,7 +3569,7 @@ Make sure that all the files in the distribution are world-readable.
Make sure that no file name in the distribution is more than 14
characters long. Likewise, no file created by building the program
should have a name longer than 14 characters. The reason for this is
-that some systems adhere to a foolish interpretation of the POSIX
+that some systems adhere to a foolish interpretation of the @sc{posix}
standard, and refuse to open a longer name, rather than truncating as
they did in the past.
@@ -3073,6 +3588,7 @@ characters both before and after the period. Thus,
are truncated to @file{foobarha.c} and @file{foobarha.o}, which are
distinct.
+@cindex @file{texinfo.tex}, in a distribution
Include in your distribution a copy of the @file{texinfo.tex} you used
to test print any @file{*.texinfo} or @file{*.texi} files.
@@ -3082,6 +3598,36 @@ Leaving them out would make the distribution file a little smaller at
the expense of possible inconvenience to a user who doesn't know what
other files to get.
+@node References
+@chapter References to Non-Free Software and Documentation
+@cindex references to non-free material
+
+A GNU program should not recommend use of any non-free program. We
+can't stop some people from writing proprietary programs, or stop other
+people from using them. But we can and should avoid helping to
+advertise them to new customers.
+
+Sometimes it is important to mention how to build your package on top of
+some non-free operating system or other non-free base package. In such
+cases, please mention the name of the non-free package or system in the
+briefest possible way. Don't include any references for where to find
+more information about the proprietary program. The goal should be that
+people already using the proprietary program will get the advice they
+need about how to use your free program, while people who don't already
+use the proprietary program will not see anything to encourage them to
+take an interest in it.
+
+Likewise, a GNU package should not refer the user to any non-free
+documentation for free software. The need for free documentation to go
+with free software is now a major focus of the GNU project; to show that
+we are serious about the need for free documentation, we must not
+undermine our position by recommending use of documentation that isn't
+free.
+
+@node Index
+@unnumbered Index
+@printindex cp
+
@contents
@bye
@@ -3090,4 +3636,5 @@ update-date-leading-regexp: "@c This date is automagically updated when you save
update-date-trailing-regexp: ""
eval: (load "/gd/gnuorg/update-date.el")
eval: (add-hook 'write-file-hooks 'update-date)
+compile-command: "make just-standards"
End:
diff --git a/gcc/ABOUT-GCC-NLS b/gcc/ABOUT-GCC-NLS
index b70a7c8df67..684edb22088 100644
--- a/gcc/ABOUT-GCC-NLS
+++ b/gcc/ABOUT-GCC-NLS
@@ -1,10 +1,26 @@
Notes on GCC's Native Language Support
GCC's Native Language Support (NLS) is relatively new and
-experimental, so NLS is currently disabled by default. Use
-configure's --enable-nls option to enable it. Eventually, NLS will be
-enabled by default, and you'll need --disable-nls to disable it. You
-must enable NLS in order to make a GCC distribution.
+experimental, so NLS is currently disabled by default.
+
+The main reason for it being buggy is, that GCC does not set the
+locale categories correctly. Currently only LC_MESSAGES is set if the
+system supports it and else nothing. To work correctly, GCC would have
+to also set the character set used by the terminal by either setting
+LC_CTYPE together with LC_MESSAGES or LC_ALL if LC_MESSAGES is
+not supported.
+
+This would change the behaviour of GCC in quite a few places because
+a number of standard C functions and macros change their behaviour
+depending on the locale. These necessary changes have been done in the
+development version, but these changes are beyond the scope
+of a maintenance release such as this. It is therefore recommended that
+you leave it disabled.
+
+If you still want to enable the feature, use configure's --enable-nls
+option to enable it. Eventually, NLS will be enabled by default, and
+you'll need --disable-nls to disable it. You must enable NLS in order
+to make a GCC distribution.
By and large, only diagnostic messages have been internationalized.
Some work remains in other areas; for example, GCC does not yet allow
diff --git a/gcc/BUGS b/gcc/BUGS
index e628a6467ed..2d875a092ef 100644
--- a/gcc/BUGS
+++ b/gcc/BUGS
@@ -1,4 +1,4 @@
-If you think you may have found a bug in GNU CC, please
+If you think you may have found a bug in GCC, please
read the Bugs section of the GCC manual for advice on
(1) how to tell when to report a bug,
@@ -22,6 +22,6 @@ a like manner. (Standalone Info is part of the Texinfo distribution.)
(3) By hand. Search for the chapter "Reporting Bugs" in gcc.texi, or
cat /usr/local/info/gcc* | more "+/^File: gcc.info, Node: Bugs,"
-You may also want to take a look at the EGCS FAQ, in which there are
+You may also want to take a look at the GCC FAQ, in which there are
additional instructions for submitting bug reports:
- http://egcs.cygnus.com/faq.html#bugreport
+ http://www.gnu.org/software/gcc/faq.html#bugreport
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a117c6c299c..b8761df9f56 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,1989 @@
+2001-02-19 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ Back out sjlj eh fixes.
+ * varasm.c (force_const_mem): Revert previous change.
+ * except.c (receive_exception_label, start_dynamic_handler):
+ Likewise.
+ * expr.c (expand_builtin_setjmp, expand_builtin_setjmp_setup,
+ expand_builtin_setjmp_receiver, expand_builtin): Likewise.
+ * expr.h (expand_builtin_setjmp, expand_builtin_setjmp_receiver):
+ Likewise.
+
+2001-01-25 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ * varasm.c (force_const_mem): When putting a LABEL_REF into the
+ constant pool, also put it on forced_labels list so that it won't
+ be deleted.
+
+ 2000-05-25 Alexandre Oliva <aoliva@cygnus.com>
+ * emit-rtl.c (reset_used_decls): New function.
+ (unshare_all_rtl_again): Call it.
+
+ 2000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+ * emit-rtl.c (unshare_all_decls): New function.
+ (unshare_all_rtl): Call it.
+
+ 2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
+ * emit-rtl.c (unshare_all_rtl): Store the copied rtx.
+
+ 2000-04-15 Richard Earnshaw (rearnsah@arm.com)
+ * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
+ call unshare_all_rtl.
+
+ 2000-01-27 Geoffrey Keating <geoffk@cygnus.com>
+ * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
+ Use unshare_all_rtl_1.
+ (unshare_all_rtl_again): New function.
+ (unshare_all_rtl_1): New function split out of unshare_all_rtl.
+ * function.c (purge_addressof_1): Use unshare_all_rtl_again
+ rather than resetting the 'used' flags ourself.
+ * toplev.c (rest_of_compilation): Add current_function_decl
+ to the unshare_all_rtl call.
+ * tree.h: Prototype unshare_all_rtl.
+ * rtl.h: Prototype unshare_all_rtl_again here.
+
+2001-01-12 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ * expr.c (expand_builtin_setjmp_receiver): Emit a scheduling barrier
+ as last insn.
+
+2001-01-11 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ 2001-01-09 Mark Mitchell <mark@codesourcery.com>
+ Remove support for using UWIN as a host machine.
+ * configure.in: Issue an error message.
+ * configure: Regenerated.
+ * config.gcc: Remove xm_* UWIN configury.
+ * config/i386/xm-uwin.h: Remove.
+
+ * config/mips/vxworks.h: Don't terminate comment before its end.
+
+ * invoke.texi: Update -fvtable-thunks documentation.
+
+ * loop.c (scan_loop): Disable copy propagation if we find a REG_LABEL
+ note.
+
+ Revert this patch:
+ 2000-12-18 David Edelsohn <edelsohn@gnu.org>
+ * rs6000.c (and64_operand): Use logical_u_operand.
+
+ Mon Oct 4 16:56:11 1999 Richard Henderson <rth@cygnus.com>
+ * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
+ always have side-effects.
+
+ Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com>
+ * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
+ always have side-effects.
+
+2001-01-01 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ * loop.c (instrument_loop_bct): Set JUMP_LABEL on new jump.
+
+ 2000-12-27 Geoffrey Keating <geoffk@redhat.com>
+ * config/rs6000/rs6000.md (define_attr "length"): Correct
+ calculation.
+
+2001-01-01 Philipp Thomas <pthomas@suse.de>
+
+ * configure.in: Make the help for --enable-nls make it
+ clear that this is an experimental feature.
+ * configure: Regenerate.
+ * ABOUT-GCC-NLS: Explain why NLS support is buggy.
+
+2000-12-29 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ * combine.c (cant_combine_insn_p): Only restrict hard register
+ combinations for SMALL_REGISTER_CLASSES machines.
+
+ * config/sparc/sparc.c (pic_address_needs_scratch): LABEL_REFs are
+ not valid pic operands.
+
+ 2000-12-26 Kazu Hirata <kazu@hxi.com>
+ * config/h8300/h8300.c (get_shift_alg): Fix a typo in the
+ assembly code for 12-bit ASHIFTRT in HImode.
+
+ 2000-07-17 Kazu Hirata <kazu@hxi.com>
+ * h8300.md: Fix the format of mac.
+ (movsi_h8300hs): Output a tab after stmac instead of a space.
+
+ 2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
+ * config/h8300/h8300.md: Remove the memory alternative and correct
+ the insn lengths in the templates for sign extention and zero
+ extention.
+
+ 2000-12-23 Philip Blundell <philb@gnu.org>
+ * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `arm' or
+ `arm_elf'; do define `__arm__'.
+
+ 2000-08-22 Richard Henderson <rth@cygnus.com>
+ * alias.c (init_alias_analysis): Do not register
+ struct_value_incoming_rtx or static_chain_rtx as pointing
+ to stack memory.
+
+ Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com)
+ * builtins.c (expand_builtin_setjmp_setup): Set
+ current_function_has_nonlocal_label.
+
+ 2000-12-03 Richard Henderson <rth@redhat.com>
+ * builtins.c (expand_builtin_setjmp_setup): New.
+ (expand_builtin_setjmp_receiver): New.
+ (expand_builtin_setjmp): Split out _setup and _receiver functions.
+ Move argument parsing in from ...
+ (expand_builtin): ... here.
+ * except.c (receive_exception_label): Branch around receiver
+ unless new-style exceptions. Call expand_builtin_setjmp_receiver.
+ (start_dynamic_handler): Call expand_builtin_setjmp_setup.
+ * expr.h: Update builtin setjmp decls.
+
+2000-12-22 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * calls.c (emit_call_1): Fall back to call_pop/call_value_pop if no
+ non-popping calls are available.
+
+ * flow.c (propagate_block): Use flow_delete_insn instead of
+ NOTEifying a dead ADDR_VEC.
+
+ Fri Sep 10 11:43:07 1999 Philip Blundell <pb@futuretv.com>
+ * configure.in, config/arm/linux-oldld.h,
+ config/arm/linux-elf26.h, config/arm/linux-elf.h: Backport latest
+ ARM GNU/Linux config from mainline.
+ * configure: Regenerate.
+
+ 2000-02-08 Geoff Keating <geoffk@cygnus.com>
+ * dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
+ * dwarf2out.c (dwarf_cfi_name): Print name of new constant.
+ (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
+ (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
+ * frame.c (execute_cfa_insn): Handle
+ DW_CFA_GNU_negative_offset_extended.
+
+ 2000-03-06 Mark Mitchell <mark@codesourcery.com>
+ * function.c (free_temps_for_rtl_expr): Don't free slots
+ that have been pushed into a higher level.
+
+ 1999-12-16 David S. Miller <davem@redhat.com>
+ * expr.c (emit_move_insn_1): Only emit clobbers if one of
+ the outputs is a SUBREG.
+
+ Wed Sep 22 17:35:55 1999 Michael Meissner <meissner@cygnus.com>
+ * expr.c (emit_move_insn_1): If we are copying a complex that fits
+ in one word or less (complex char, complex short, or on 64 bit
+ systems complex float) to/from a hard register, copy it through
+ memory instead of dying in gen_{real,imag}part. If we have a
+ short complex type, prevent inlining since it allocates stack
+ memory.
+
+ Fri Dec 15 15:32:16 MET 2000 Jan Hubicka <jh@suse.cz>
+ * combine.c (cant_combine_insn_p): Get around SUBREGs when determining
+ hardreg<->reg moves.
+
+ 2000-12-01 Bernd Schmidt <bernds@redhat.co.uk>
+ * combine.c (cant_combine_insn_p): Only disallow insns involving
+ hard regs if they are reg-reg moves.
+
+ 2000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
+ * combine.c (cant_combine_insn_p): New function.
+ (try_combine): Use it.
+
+2000-12-20 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ * reload1.c (free_for_value_p): Fix error in last change.
+
+ 2000-03-22 Richard Henderson <rth@cygnus.com>
+ * stmt.c (expand_asm_operands): Don't promote the temporary.
+
+ Sun Sep 19 09:03:40 1999 Mark Mitchell <mark@codesourcery.com>
+ * rtl.h (insns_safe_to_move_p): New function.
+ * loop.c (find_and_verify_loops): Use it.
+ * rtlanal.c (insns_safe_to_move_p): Define it.
+
+ Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com>
+ * reload.c (find_equiv_reg): Test all hard registers for membership
+ in the requested class.
+
+ Sun Apr 23 16:24:35 2000 Denis Chertykov <denisc@overta.ru>
+ * reload.c (find_equiv_reg): Checks all valueno regs
+ as a reload_reg_p regs.
+
+ Fri Apr 21 14:58:29 2000 Denis Chertykov <denisc@overta.ru>
+ * reload.c (find_equiv_reg): Checks all valueno and regno regs
+ as a call-clobbered regs.
+
+2000-12-18 Bernd Schmidt <bernds@redhat.co.uk>
+
+ 2000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
+ * optabs.c (emit_libcall_block): If target is a user variable,
+ copy to a temporary first.
+
+ 2000-04-28 Kazu Hirata <kazu@hxi.com>
+ * h8300.c (function_epilogue): Clean up flags when the last insn
+ in a function is a barrier.
+
+ Mon Aug 30 01:02:09 1999 Jeffrey A Law (law@cygnus.com)
+ * emit-rtl.c (copy_rtx_if_shared): A MEM which references
+ virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
+ be shared.
+
+ 2000-03-24 Geoff Keating <geoffk@cygnus.com>
+ * flow.c (propagate_block): When we delete an ADDR_VEC,
+ also delete the BARRIER following it if there is one.
+
+ Wed Oct 27 14:10:27 1999 Geoffrey Keating <geoffk@cygnus.com>
+ * flow.c (propagate_block): When the last reference to a label
+ before an ADDR_VEC is deleted because the reference is a dead
+ store, delete the ADDR_VEC.
+
+ 2000-03-19 Richard Henderson <rth@cygnus.com>
+ * flow.c (delete_block): Delete the addr_vec along with the block.
+ (flow_delete_insn): Decrement LABEL_NUSES when deleting insns that
+ reference labels.
+
+ 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
+ * reload1.c (free_for_value_p): New function, frontend to
+ reload_reg_free_for_value_p. All callers of the latter now call
+ this function with an additional mode argument.
+
+ 2000-11-10 Bernd Schmidt <bernds@redhat.co.uk>
+ (regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All
+ callers changed.
+ * reload1.c (choose_reload_regs): Registers set in the insn can't be
+ used for RELOAD_OTHER reloads.
+
+ 2000-10-28 Bernd Schmidt <bernds@redhat.co.uk>
+ * reload1.c (choose_reload_regs): Never set reload_override_in for an
+ optional reload.
+
+ 2000-09-07 Bernd Schmidt <bernds@redhat.co.uk>
+ * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
+ to handle multiword modes correctly. All callers and the declaration
+ changed.
+
+2000-12-18 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (and64_operand): Use logical_u_operand.
+ (first_reg_to_save): Don't save fixed or call-used registers
+ except PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
+ * rs6000.md (anddi3): Prefer rldic? over andis instruction.
+
+2000-12-18 Zack Weinberg <zackw@Stanford.EDU>:
+
+ * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
+ xcpp to cpp throughout.
+ (native): Remove unnecessary dependency on cpp.
+ * gcc.c (C specs): Call cpp0 to do preprocessing, not cpp.
+ * ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h,
+ objc/lang-specs.h: Call cpp0 to do preprocessing, not cpp.
+
+2000-12-18 Christian Groessler <cpg@aladdin.de>
+
+ * toplev.c (check_lang_option): Use NUM_ELEM only on arrays, not on
+ pointers.
+
+2000-12-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * linux.h (DEFAULT_VTABLE_THUNKS): Switch back to version 1.
+ * alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Likewise.
+ * arm/linux-elf (DEFAULT_VTABLE_THUNKS): Likewise.
+ * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Likewise.
+ * rs6000/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
+ * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
+
+2000-12-05 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ 2000-07-03 Nick Clifton <nickc@cygnus.com>
+ * config/arm/arm.md: Fix post increment and pre increment
+ peepholes so that they do not generate UNPREDICATBLE opcodes.
+ (ie ones where the increment clobbers the source/destination).
+
+ Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com)
+ * arm.c (arm_override_options): Correct initialization of
+ arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
+ arm_is_strong, and arm_is_6_or_7.
+
+ Thu Jul 29 19:01:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+ * arm.h (Hint): Delete macro.
+ Substitute HOST_WIDE_INT for Hint in some prototypes.
+ * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
+
+2000-11-30 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * version.c: Bump.
+
+ Based on a patch from Geoff Keating <geoffk@redhat.com>:
+ * loop.c (basic_induction_var): If a REG is set from something
+ that is not a biv, then the REG is not a biv. Even if it is
+ earlier set from something that is a biv.
+
+ 2000-09-01 Jim Wilson <wilson@cygnus.com>
+ * loop.c (check_final_value): Check for biv use before checking for
+ giv use. Check for both biv and giv uses. Always set last_giv_use
+ if there is a giv use.
+
+ 2000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ * loop.c (check_final_value): A GIV is not replaceable if used
+ before set.
+
+ Sun Oct 10 13:28:48 1999 Bernd Schmidt <bernds@redhat.co.uk>
+ * loop.c (find_and_verify_loops): When looking for a BARRIER, don't
+ use one before a jump table.
+
+ Fri Jul 9 10:48:28 1999 Bernd Schmidt <bernds@redhat.co.uk>
+ * loop.c (check_dbra_loop): When reversing a loop, delete all
+ REG_EQUAL notes referencing the reversed biv except those which are
+ for a giv based on it.
+
+ 2000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
+ * reload1.c (conflicts_with_override): New function.
+ (emit_input_reload_insns): Use it to tighten test for validity
+ of substituting into output of previous insn.
+
+ Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@redhat.co.uk>
+ * reload.h (earlyclobber_operand_p): Declare.
+ * reload.c (earlyclobber_operand_p): Don't declare. No longer static.
+ * reload1.c (reload_reg_free_for_value_p): RELOAD_OTHER reloads with
+ an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
+ case where the RELOAD_OTHER reload is new. Use
+ earlyclobber_operand_p.
+
+ 2000-01-12 Bernd Schmidt <bernds@redhat.co.uk>
+ * reload1.c (reload_reg_unavailable): New static variable.
+ (reload_reg_free_p): Test it.
+ (reload_reg_free_for_value_p): Test it instead of reload_reg_used.
+ (choose_reload_regs_init): Compute it.
+
+ Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * reload.c (push_reload): When seeing if can reuse a register,
+ check extra registers against widest of INMODE and OUTMODE.
+
+ 1999-11-29 Bernd Schmidt <bernds@redhat.co.uk>
+ * reload.c (push_reload): When looking for a register to put into
+ reg_rtx, make sure all hard regs in a multi-reg register are in the
+ right class and nonfixed.
+
+ 1999-11-29 Joern Rennecke <amylaar@redhat.co.uk>
+ * reload1.c (reloads_conflict): Reverse test comparing operand
+ numbers when testing for conflict between output/outaddr reloads.
+
+ 2000-07-12 Richard Henderson <rth@redhat.com>
+ * reload.c (push_secondary_reload): Make sure to add the new
+ reload at the end, after acquiring secondary memory.
+
+ 2000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
+ * reload.c (find_reloads_address_1): Generate reloads for auto_inc
+ pseudos that refer to the original pseudos, not only to their
+ equivalent memory locations.
+
+ 2000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
+ * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
+ its entry in spill_reg_store.
+
+ Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+ * reload1.c (reload_reg_free_for_value_p): Show
+ RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
+ reloads.
+
+ 2000-02-26 Geoff Keating <geoffk@cygnus.com>
+ * reload1.c (do_output_reload): Check reg_reloaded_valid before
+ looking at reg_reloaded_contents.
+
+ Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com>
+ * emit-rtl.c (try_split): Avoid infinite loop if the split
+ results in a sequence that contains the original insn.
+
+ 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
+ * combine.c (combine_simplify_rtx): Don't make shared rtl.
+ (simplify_logical): Likewise.
+
+ Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com>
+ * fold-const.c (make_range): Handle degenerated intervals.
+ Fixes c-torture/execute/991221-1.c
+
+ 2000-07-15 Michael Meissner <meissner@redhat.com>
+ * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
+ == CONST + INCREMENT, don't overwrite the tree node for FOO++,
+ create a new node instead.
+
+ 2000-01-01 Bernd Schmidt <bernds@cygnus.co.uk>
+ * expmed.c (emit_store_flag): Prevent losing a pending stack
+ adjust the same way we prevent losing queued increments.
+
+2000-10-27 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * expr.c (expand_expr, case INDIRECT_REF): If the address is a
+ PLUS, that does not prove the object is in a structure.
+
+2000-08-25 David Edelsohn <edelsohn@gnu.org>
+
+ * collect2.c (use_import_list): Always return 0 (disable).
+
+2000-07-07 Manfred Hollstein <manfredh@redhat.com>
+
+ * i386.md (exception_receiver): Add missing parameter in
+ call to load_pic_register.
+
+Fri May 26 10:30:02 2000 Richard Earnshaw (rearnsha@arm.com)
+
+ * arm.md (negdi2): Add clobber of condition code register.
+
+Wed May 24 00:25:45 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ 2000-05-22 Richard Henderson <rth@cygnus.com>
+ * function.c (thread_prologue_and_epilogue_insns): Make sure
+ existing line number notes appear after the prologue.
+
+2000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux according
+ to given options.
+
+2000-05-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * rs6000/rs6000.md (nonlocal_goto_receiver): Add length attribute.
+
+Wed Apr 12 00:42:19 2000 Jeffrey A Law (law@cygnus.com)
+
+ 2000-02-19 Richard Henderson <rth@cygnus.com>
+ * c-typeck.c (add_pending_init): Don't abort for multiple
+ fields at the same offset.
+ (pending_init_member): Test the correct member.
+
+ Wed Apr 12 00:44:31 2000 Jeffrey A Law (law@cygnus.com)
+ * config/i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
+
+ Tue Nov 9 17:14:40 1999 H.J. Lu <hjl@gnu.org>
+ * invoke.texi (-fvtable-thunks): Document that Linux/GNU uses
+ version 2 as default.
+
+ Tue Nov 9 10:16:55 1999 H.J. Lu <hjl@gnu.org>
+ * alpha/linux-elf.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
+ * arm/linux-elf.h: Likewise.
+ * rs6000/linux.h: Likewise.
+ * sparc/linux.h: Likewise.
+
+ Mon Nov 8 14:41:34 1999 H.J. Lu <hjl@gnu.org>
+ * config/linux.h (DEFAULT_VTABLE_THUNKS): Changed to 2.
+
+ Sun May 2 08:49:27 1999 Martin von Löwis <loewis@informatik.hu-berlin.de>
+ * invoke.texi (-fvtable-thunks): Document numeric argument.
+
+2000-04-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config/elfos.h (SELECT_SECTION): Decide whether to use a data or
+ const section to output a CONSTRUCTOR based on the same conditions
+ used for VAR_DECLs.
+
+Mon Apr 3 02:31:32 2000 Jeffrey A Law (law@cygnus.com)
+
+ 2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+ * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
+ on iteration_var.
+
+Wed Mar 22 13:11:54 2000 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (reg_or_u_cint_operand): New function.
+ (logical_operand): Handle 64-bit hosts.
+ (logical_u_operand): New function.
+ (non_logical_cint_operand): Handle 64-bit hosts.
+ (non_logical_u_cint_operand): New function.
+ (expand_block_move): Allow 8 DImode loads for PowerPC64.
+ * rs6000.h (PREDICATE_CODES): Define new functions.
+ * rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits.
+ (movdi_64): Bracket code intended for 64-bit hosts. Create
+ CONST_DOUBLE for 32-bit values.
+
+ * glimits.h (__LONG_MAX__): Recognize 64-bit AIX too.
+
+Wed Mar 22 13:11:54 2000 Gabriel Paubert <paubert@iram.es>
+
+ * rs6000.md: Correct instructions length attributes and
+ constraints on unsigned compare instructions.
+ (*ne0): Disable for PowerPC64.
+
+Tue Mar 7 21:41:17 2000 Jeffrey A Law (law@cygnus.com)
+
+ * cccp.c (handle_directive): Initialize backslash_newlines_p.
+
+ Wed Jan 19 20:39:17 2000 Jim Wilson <wilson@cygnus.com>
+ * fixinc/inclhack.tpl: Test for directory before trying to cd into it.
+ * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
+
+ Tue Oct 12 09:45:19 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
+ * config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
+ __CTOR_LIST__ in opposite order, which is the correct order for sorted
+ constructors.
+ (__do_global_dtors): similarly for __DTOR_LIST__.
+
+ 2000-01-05 Bernd Schmidt <bernds@cygnus.co.uk>
+ * reload1.c (choose_reload_regs): When disabling a reload, also
+ set reload_spill_index to -1.
+
+ Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com>
+ * reload1.c (reload_reg_free_for_value_p): Don't use a register
+ that is in reload_reg_used.
+
+ 2000-01-18 Clinton Popetz <cpopetz@cygnus.com>
+ * loop.c (check_dbra_loop): When checking a loop for
+ reversability, check the source of any stores to ensure they
+ don't depend on an initial value.
+
+ Sat Jan 8 12:12:46 2000 Nick Clifton <nickc@cygnus.com>
+ * config/v850/v850.c (expand_epilogue): Interrupt functions no
+ longer allocate extra stack for function calls.
+
+Fri Feb 18 13:32:32 2000 Martin von Loewis <loewis@informatik.hu-berlin.de>
+
+ * gcc.texi (Bug Reporting): Refer to bugs.html.
+ (Bug Lists): Likewise.
+ * system.h (GCCBUGURL): New preprocessor define.
+ (abort): Use it.
+ * gcc.c (main): Likewise.
+
+Thu Feb 3 10:53:45 2000 Richard Henderson <rth@cygnus.com>
+
+ Wed Nov 3 10:10:58 1999 Richard Henderson <rth@cygnus.com>
+ * c-decl.c (duplicate_decls): Copy DECL_MODE too.
+
+Thu Jan 20 10:02:07 2000 Richard Henderson <rth@cygnus.com>
+
+ 2000-01-03 Anthony Green <green@cygnus.com>
+ * config/i386/i386.md (builtin_setjmp_receiver): New pattern.
+ Restore the pic register if required.
+
+Fri Jan 7 14:40:05 2000 Richard Henderson <rth@cygnus.com>
+
+ Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * stmt.c (expand_value_return): Correctly convert VAL when promoting
+ function return.
+
+Tue Jan 4 02:22:27 2000 Jeffrey A Law (law@cygnus.com)
+
+ Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
+ * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
+ if the pic register is used.
+
+ Sat Sep 25 13:11:07 1999 Jeffrey A Law (law@cygnus.com)
+ * cse.c: Update comments.
+ (cse_insn): When converting a conditional/computed jump into
+ an unconditional jump, always make sure a BARRIER immediately
+ follows the converted jump. Do not delete unreachable code.
+ (cse_basic_block): Do not delete unreachable code.
+ * toplev.c (rest_of_compilation): Move call to
+ delete_trivially_dead_insns after the conditional call to
+ jump_optimize.
+
+
+Wed Dec 29 22:47:43 1999 Jeffrey A Law (law@cygnus.com)
+
+ 1999-12-12 Stephen L Moshier <moshier@mediaone.net>
+ * loop.c (load_mems): Don't hoist written floating point mem
+ if -ffloat-store.
+
+ * cppinit.c (is_idchar): Only use special initialization for
+ gcc-2.8 and later versions of the compiler.
+
+ Wed Oct 27 01:42:26 1999 Scott Christley <scottc@net-community.com>
+ * sparc.md (call): Don't bound structure return size to 0xfff.
+
+Mon Dec 27 07:32:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ Fri Sep 3 10:16:37 HST 1999 Glen Nakamura <glen.nakamura@usa.net>
+ * cccp.c (rescan): Fixed obp pointer handling around call to
+ check_expand subroutine.
+
+ Thu Sep 16 00:46:35 1999 Geoff Keating <geoffk@cygnus.com>
+ * loop.c (basic_induction_var): A non-integer variable which is
+ being set by a paradoxical subreg is probably not a biv.
+
+ 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
+ * loop.c (check_dbra_loop): Check bl->biv->add_val is a
+ CONST_INT before using its INTVAL.
+
+ Tue Nov 2 15:27:31 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+ * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
+ have been an hyphen, fixed.
+ * configure: Rebuilt.
+
+Thu Dec 23 11:59:56 1999 Jeffrey A Law (law@cygnus.com)
+
+ 1999-12-23 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+ * fold-const.c (operand_equal_p): Use memcmp to compare string
+ constants.
+ Suggested by D. J. Bernstein
+
+ Thu Dec 16 02:26:11 1999 Jeffrey A Law (law@cygnus.com)
+ * h8300.md (HImode preinc peephole): Fix typo.
+
+ 1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
+ * loop.c (check_dbra_loop): Can't reverse a biv that has
+ maybe_multiple set.
+
+1999-12-07 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
+ documentation.
+
+Sun Oct 31 22:32:17 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config/i386/sol2gas.h: I had installed the wrong version of Sept
+ 22's patch in the release branch. Fixed.
+ * configure.in: Likewise.
+ * configure: Rebuilt.
+ Reported by Jason Beardsley <jbeardsley@origin.ea.com>
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Oct 25 00:43:05 1999 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (note_set_pseudo_multiple_uses_retval): New variable.
+ (note_set_pseudo_multiple_uses): New function.
+ (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
+ if a pseudo set in the loop exit is used elsewhere.
+
+Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com)
+
+ * jump.c (jump_optimize_1): More accurately detect casesi insns.
+
+Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
+
+ * toplev.c (main): Do not turn on strict aliasing by default.
+ * invoke.texi: Corresponding changes.
+
+ * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
+ (movdf_const_intreg_sp64): Similarly.
+
+ * local-alloc.c (update_equiv_regs): Check the correct insn
+ for pre-existing REG_EQUIV notes.
+
+Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com)
+
+ Revert this change. Gavin's patch to operand_equal_p is a better fix.
+ * fold-const.c (fold_range_test): Do not try to fold the range
+ test if the rhs or lhs has side effects.
+
+ Fri Sep 17 15:05:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
+ * fold-const.c (operand_equal_p): Pay attention to side effects.
+
+ * reg-stack.c (stack_result): Aggregates are not returned in
+ stack registers.
+
+Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com)
+
+ * combine.c (get_last_value): If the last set of a register
+ is after subst_low_cuid, then we can not use it to determine
+ the register's last value.
+
+Sat Oct 16 15:20:15 1999 Jeffrey A Law (law@cygnus.com)
+
+ Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
+ * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
+ (expr_equiv_p): Reject memories with different alias sets.
+
+Wed Oct 13 01:46:14 1999 Jeffrey A Law (law@cygnus.com)
+
+ Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com>
+ * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
+ float_format and thread_file definitions.
+ * configure: Rebuilt.
+
+Tue Oct 12 17:09:38 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * collect2.c (main): Do preliminary link on AIX if rflag.
+
+Mon Oct 11 23:35:19 1999 Jeffrey A Law (law@cygnus.com)
+
+ Fri Sep 3 09:14:32 1999 Marc Espie <espie@tetto.liafa.jussieu.fr>
+ * tlink.c (scan_linker_output): Skip the initial underscore in
+ a mangled name if appropriate.
+
+ Fri Aug 27 19:19:43 CEST 1999 Marc Espie <espie@cvs.openbsd.org>
+ * config/openbsd.h (SET_ASM_OP): Define.
+
+ Mon Oct 4 08:54:12 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+ * cppinit.c (is_idchar initializer): Loosen tests to accept
+ gcc 2.>6 and >2.
+
+ Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com)
+ * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
+ command line.
+
+ Thu Sep 2 20:08:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+ * regmove.c (fixup_match_1): Don't change an unchanging register.
+ (stable_but_for_p): Renamed to:
+ (stable_and_no_regs_but_for_p). Reject unchanging registers too.
+ Changed all callers.
+
+ Tue Aug 17 22:06:11 1999 Jan Hubicka <hubicka@freesoft.cz>
+ * haifa-sched.c (insn_unit): Fix typo on out of range test.
+ * sched.c (insn_unit): Likewise.
+
+Sun Oct 10 20:58:27 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.md (scc patterns): Disable most SImode variants if
+ TARGET_POWERPC64.
+ * rs6000.c (expand_block_move): Fix gen_movsi typos.
+
+ Thu Oct 7 23:06:50 1999 Richard Henderson <rth@cygnus.com>
+ * rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
+ before the fctiwz insn.
+
+ Thu Oct 7 00:36:17 1999 Diego Novillo <dnovillo@cygnus.com>
+ * config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
+ make sure that HIGH instructions are copied into BASE_REGS.
+
+Thu Sep 30 05:40:34 1999 Richard Earnshaw <rearnsha@arm.com>
+
+ * c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR):
+ Correctly build argument list to constructor and destructor functions.
+
+Wed Sep 22 17:55:31 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (expand_block_move): DImode loads and stores require
+ word-aligned displacements. Increment address registers with
+ adddi3 on 64-bit platform. Use TARGET_POWERPC64 not TARGET_64BIT.
+
+Wed Sep 22 07:07:44 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
+ (ASM_SPEC): Moved from sol2dbg.h. Added work-around for gas.
+ * config/i386/sol2dbg.h: Removed.
+ * config/i386/sol2gas.h: New file, to enable gas work-around.
+ * configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
+ Don't use sol2dbg.h.
+ * configure: Rebuilt.
+
+Wed Sep 15 21:20:38 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * c-typeck.c (qualify_type): Merge qualifiers from both types.
+
+Wed Sep 15 10:07:27 1999 Scott Bambrough <scottb@netwinder.org>
+
+ * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
+
+Tue Sep 7 16:50:59 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.h (ASM_FILE_START): Specify complete filename, including
+ path, in .file directive.
+
+Tue Sep 7 01:27:21 1999 Jeffrey A Law (law@cygnus.com)
+
+ Thu Sep 2 00:06:43 1999 Jeffrey A Law (law@cygnus.com)
+ * fold-const.c (fold_range_test): Do not try to fold the range
+ test if the rhs or lhs has side effects.
+
+ Sun Aug 29 03:27:23 1999 Scott Weikart <scott@igc.apc.org>
+ * fix-header.c (main): Do not pass a null pointer to strcmp.
+
+ Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com>
+ Mark Mitchell <mark@codesourcery.com>
+ * c-common.c (c_get_alias_set): Fix support for pointers and
+ references.
+
+ Fri Aug 27 01:03:48 1999 Jim Kingdon <http://developer.redhat.com>
+ with much help from Jeffrey A Law and Richard Henderson
+ * i386.md: In the 6 insns which call output_fix_trunc,
+ earlyclobber operands[0].
+
+ Fri Aug 27 01:01:51 1999 Philip Blundell <pb@nexus.co.uk>
+ * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
+ creating new registers.
+
+ Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com)
+ * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
+ * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
+ operand.
+
+ Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com>
+ * i386.c (output_strlen_unroll): Don't write xops[7]
+ label if it wasn't set.
+
+ Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
+ * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
+ the fact that ALIGN is measured in bits, not bytes.
+
+ Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com>
+ * c-common.c (combine_strings): Always set TREE_CONSTANT.
+
+Wed Aug 18 01:16:43 1999 David S. Miller <davem@redhat.com>
+
+ * config/sparc/sparc.c (sparc_block_profiler): Fix typo in Aug 2
+ change.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+1999-08-13 Michael Meissner <meissner@cygnus.com>
+
+ * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
+
+Fri Aug 13 01:42:24 1999 Jeffrey A Law (law@cygnus.com)
+
+ Tue Aug 3 00:03:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ * fixincludes: Fix the return type of bsearch, char* -> void*.
+ * fixinc/inclhack.def: Likewise.
+
+Fri Aug 13 01:29:57 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * dwarfout.c (fundamental_type_code): Return FT_boolean for
+ INTEGER_TYPE with precision==1, it's __java_boolean.
+
+1999-08-11 Richard Earnshaw (rearnsha@arm.com)
+
+ * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
+ a register that is already known to be a pointer.
+
+1999-08-11 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ * fixinc/inclhack.tpl: Only install assert.h conditionally.
+ * fixinc/inclhack.sh: Regenerated.
+ * fixinc/fixincl.sh: Regenerated.
+
+Wed Aug 11 00:34:22 1999 Joe Buck <jbuck@synopsys.com>
+
+ * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
+ Fix documentation of -ansi flag to describe its C++ behavior.
+ Remove bogus reference to GCC 2.9.
+
+Tue Aug 10 22:40:36 1999 Jeffrey A Law (law@cygnus.com)
+
+ Thu Aug 5 22:27:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+ * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
+ (___mulsi3): Use '!' comment character.
+
+Sat Aug 7 00:06:30 1999 Jeffrey A Law (law@cygnus.com)
+
+ * gcc.texi: Update bug reporting text.
+
+ Tue Jul 20 17:07:54 1999 Richard Henderson <rth@cygnus.com>
+ * rs6000.h (struct rs6000_args): Add sysv_gregno.
+ * rs6000.c (init_cumulative_args): Init sysv_gregno.
+ (function_arg_boundary): Align DFmode.
+ (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
+ to get fp reg and stack overflow correct.
+ (function_arg): Likewise.
+ (function_arg_pass_by_reference): True for TFmode for ABI_V4.
+ (setup_incoming_varargs): Restructure for ABI_V4; use
+ function_arg_advance to skip final named argument.
+ (expand_builtin_saveregs): Properly unskip the last integer arg
+ when doing varargs. Adjust overflow location calculation.
+ * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
+ explicitly unsigned.
+ (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
+ (__VA_GP_REGSAVE): Similarly.
+ (__va_longlong_p): Delete.
+ (__va_arg_type_violation): New declaration.
+ (va_arg): Restructure. Flag promotion errors. Align double.
+ TFmode passed by reference.
+ * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
+ in the HOST_BITS_PER_WIDE_INT > 32 case.
+
+1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * reg-stack.c (change_stack) Fixed problem with negative array index.
+
+Fri Aug 6 20:41:08 1999 Jeffrey A Law (law@cygnus.com)
+
+ Mon Jul 19 15:09:29 1999 David Edelsohn <edelsohn@gnu.org>
+ * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
+ Disable patterns performing SImode comparisons with SImode values
+ if TARGET_POWERPC64 and instruction does not sign-extend or does
+ not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
+ differ for signed quantities.
+ (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
+ (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
+ (decrement_and_branch_on_count): Add 64-bit variant.
+
+Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ * gcc.c: Update URLs and mail addresses.
+ * gcc.texi: Likewise.
+
+Thu Aug 5 01:14:13 1999 Daniel Jacobowitz <drow@false.org>
+
+ * rs6000.c (current_file_function_operand): Return zero for
+ weak functions.
+ (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
+ weak symbols.
+ * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
+ for weak symbols.
+
+Thu Aug 5 00:56:30 1999 Geoffrey Keating <geoffk@cygnus.com>
+
+ * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
+ allocate space in the stack frame for the PIC register.
+
+Thu Aug 5 00:20:47 1999 Jeffrey A Law (law@cygnus.com)
+
+ * m68k.md (xordi3, anddi3): These patterns are not available on
+ the coldfire.
+
+Wed Aug 4 23:39:20 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
+ (PUT_REAL): Likewise.
+
+Wed Aug 4 02:15:32 1999 Richard Henderson <rth@cygnus.com>
+
+ * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
+
+Wed Aug 4 01:08:44 1999 Jeffrey A Law (law@cygnus.com)
+
+ * flow.c (delete_unreachable_blocks): Do not call merge_blocks
+ or tidy_fallthru_edge if the last insn in the block is not
+ an unconditional jump or a simple conditional jump.
+
+Tue Aug 3 03:51:20 1999 Jeffrey A Law (law@cygnus.com)
+
+ * cse.c (cse_insn): Fix dumb thinko in last change.
+
+Mon Aug 2 23:45:45 1999 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * dwarf2out.c (add_location_or_const_value_attribute): Correct
+ test for sizes of passed and declared parameter types.
+
+Mon Aug 2 12:45:09 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.c (override_options): Don't force ALPHA_TP_PROG for ev6.
+
+Mon Aug 2 01:34:22 1999 Jeffrey A Law (law@cygnus.com)
+
+ * fix-header.c (main): When testing for CONTINUED, use string
+ equality, not pointer equality.
+
+Mon Aug 2 01:27:24 1999 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
+
+Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ * cse.c (cse_insn): Fix loop which deletes insns after a jump
+ that has become an unconditional jump.
+
+ * m68k.c (output_function_prologue): Fix typo in CPU32 case.
+ (output_function_epilogue): Similarly.
+
+ Tue Jul 20 12:37:30 1999 Hans-Peter Nilsson <hp@bitrange.com>
+ * dwarf2out.c (output_abbrev_section): Terminate with a zero.
+
+ Thu Jul 15 15:40:09 1999 Jim Wilson <wilson@cygnus.com>
+ * tree.c (build_type_attribute_variant): Move current_obstack restore
+ after build_qualified_type call.
+
+ Fri Jun 4 03:20:40 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+ * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
+ (braf_label_ref_operand): Delete.
+ * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
+ * sh.md (casesi_jump_2): Operand1 is now the inside of a
+ label_ref, and has no predicate.
+ The patten has a predicate to guard against invalid substitutions.
+ (dummy_jump): Delete.
+ (casesi): Update use of casesi_jump_2.
+
+Thu Jul 31 12:34:45 1999 Joe Buck <jbuck@synopsys.com>
+
+ * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
+ Also update copyright.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+ * verison.c: No longer a prerelease.
+
+Wed Jul 28 13:49:03 1999 Jeffrey A Law (law@cygnus.com)
+
+ * README: Update.
+
+Sun Jul 25 21:40:33 1999 Jeffrey A Law (law@cygnus.com)
+
+ * gcc.texi: More changes related to list conversion.
+ * invoke.texi: Likewise.
+
+Sat Jul 17 23:58:24 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.md (insv, extzv): Remove SImode dependence in named
+ patterns. Explicitly generate DImode RTL if PowerPC64 and
+ operand is DImode.
+ (insvdi): Reverse start and size in instruction template.
+
+1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
+ Removed paragraph about compression of files and size limitation,
+ duplicated in the FAQ. Use gcc-patches for posting patches.
+ * gcc.c (main): Updated URL with bug reporting instructions to
+ gcc.gnu.org. Removed e-mail address.
+ * system.h (abort): Likewise.
+
+1999-07-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (stmp-multilib-sub): Make the files extracted
+ from $(LIBGCC1) writable.
+
+Fri Jul 16 01:39:57 1999 Jeffrey A Law (law@cygnus.com)
+
+ * m68k.c (output_function_prologue): Fix computation of save mask
+ when generating PIC code.
+
+1999-07-12 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * invoke.texi: Typo fixes.
+
+Wed Jul 14 23:28:06 1999 Jeffrey A Law (law@cygnus.com)
+
+ * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
+ handle at this time instead of silently generating incorrect code.
+ (gen_imagpart): Likewise.
+
+ * reload.c (find_reloads): Emit a USE for a pseudo register without
+ a hard register if we could not create an optional reload for the
+ pseudo.
+
+Wed Jul 14 01:57:39 1999 Richard Henderson <rth@cygnus.com>
+
+ * regclass.c (scan_one_insn): Notice subregs that change the
+ size of their operand.
+ (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
+
+Wed Jul 14 01:37:06 1999 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in (alpha*-*-*): Include alpha/t-ieee.
+ * configure: Rebuilt.
+ * alpha/t-ieee: New file.
+
+Tue Jul 13 10:44:14 1999 Jeffrey A Law (law@cygnus.com)
+
+ Wed Jun 16 20:29:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+ * cse.c (cse_insn): Don't put hard register source into tables for
+ the last insn of a libcall.
+
+ * rs6000.c (find_addr_reg): Do not select r0 as an address
+ register.
+
+Tue Jul 13 00:46:18 1999 Philippe De Muyter <phdm@macqel.be>
+
+ * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
+
+Mon Jul 12 23:39:08 1999 Jeffrey A Law (law@cygnus.com)
+
+ * rs6000.md (movsf): Do not force easy FP constants into memory.
+
+Sun Jul 11 11:21:24 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * toplev.c (main): Don't complain about saying -gdwarf.
+
+Fri Jul 9 03:51:52 1999 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Drop "gcc-" prefix from version #.
+
+Thu Jul 8 19:15:51 1999 Jim Wilson <wilson@cygnus.com>
+
+ * unroll.c (unroll_loops): Don't delete named CODE_LABEL or
+ NOTE_INSN_DELETED_LABEL note.
+
+Thu Jul 8 14:18:46 1999 Richard Henderson <rth@cygnus.com>
+
+ * m68k.c (output_function_prologue): Add pic register to mask
+ if live and flag_pic.
+ (output_function_epilogue): Likewise.
+
+Thu Jul 8 10:28:25 1999 Craig Burley <craig@jcb-sc.com>
+
+ * invoke.texi (DEC Alpha Options): Put @end table at
+ beginning of line, to avoid confusing texi2html.
+
+Wed Jul 7 02:00:04 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * reload1.c (gen_reload): When synthesizing a 3 operand add
+ sequence, improve test for when to reload OP1 into the reload
+ register instead of OP0.
+
+Wed Jul 7 01:38:03 1999 Jim Wilson <wilson@cygnus.com>
+
+ * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
+
+1999-07-07 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
+ string literal.
+
+Wed Jul 7 01:16:43 1999 Richard Henderson <rth@cygnus.com>
+
+ * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
+ (va_dcl): Use __builtin_va_alist_t.
+
+Wed Jul 7 01:13:31 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
+ on the permanent_obstack.
+ * dwarfout.c (output_type): Likewise.
+
+Fri Jul 2 03:05:13 1999 Jeffrey A Law (law@cygnus.com)
+
+ * dwarfout.c (field_byte_offset): Correctly compute the object's
+ byte offset for the first bit of a field which crosses an alignment
+ boundary on a !BYTES_BIG_ENDIAN target.
+
+Fri Jul 2 01:36:36 1999 Robert Lipe <robertlipe@usa.net>
+
+ * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
+ ntohs.
+
+Fri Jul 2 00:46:47 1999 Richard Henderson <rth@cygnus.com>
+ Jeff Law <law@cygnus.com>
+
+ * ginclude/varargs.h (va_dcl): Use word_mode for type of
+ __builtin_va_list.
+
+ * except.c: Include intl.h.
+ (expand_eh_return): Set current_function_cannot_inline.
+ (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
+ * function.h (struct function): Add eh_return_stub_label.
+ * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
+ * Makefile.in (except.o): Depend on intl.h.
+
+Fri Jul 2 00:04:23 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
+ same as offsettable in cases 1 and 2.
+
+1999-07-01 Mark Kettenis <kettenis@gnu.org>
+
+ * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
+ -fPIC or -fpic is specified.
+
+Wed Jun 30 23:56:01 1999 Jeffrey A Law (law@cygnus.com)
+
+ * expr.c (emit_block_move): Use copy_to_mode_reg for
+ !TARGET_MEM_FUNCTIONS case too.
+
+Tue Jun 29 01:37:53 1999 Jeffrey A Law (law@cygnus.com)
+
+ * mips.md (leasi, leadi): New patterns.
+
+ * expr.c (emit_block_move): Properly handle case where one of the
+ block move arguments has a queued increment or decrement.
+ (clear_storage): Similarly. Fix formatting goof.
+
+Mon Jun 28 05:32:09 1999 Jeffrey A Law (law@cygnus.com)
+
+ * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
+ case. Also make the PIC register call_used.
+
+ * m68k.h (FINALIZE_PIC): Delete.
+ * m68k.c (finalize_pic): Delete.
+
+ * m68k.h (CONDITIONAL_REGISTER_USAGE): Make the PIC register fixed
+ when -fpic/-fPIC.
+
+Mon Jun 28 05:16:35 1999 Richard Henderson <rth@cygnus.com>
+
+ * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
+ to memory.
+
+Mon Jun 28 04:07:27 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (output_toc): Always use hex values for floating-point
+ constants. Store single-precision values in upper-half of TOC
+ entry in 64-bit mode.
+ * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
+ to final constraints.
+ (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
+ (fctiwz): Improve accuracy of RTL for pattern.
+
+ * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
+
+ * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
+
+Fri Jun 25 06:06:37 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
+ such that MASK_SUPPORT_ARCH is not negative.
+
+Fri Jun 25 05:35:44 1999 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (verify_dominator): Properly handle ADDR_VEC and
+ ADDR_DIFF_VEC insns that appear inside loops.
+
+Thu Jun 24 22:54:05 1999 David Edelsohn <edelsohn@gnu.org>
+ Jeff Law <law@cygnus.com>
+
+ * rs6000.md (movdf_hardfloat32): Revert previous patch.
+ Handle LO_SUM the same as offsettable in cases 1 and 2.
+ * rs6000.c (find_addr_reg): Revert previous patch.
+
+Thu Jun 24 22:43:12 1999 Philippe De Muyter <phdm@macqel.be>
+
+ * system.h (strstr): New external function declaration.
+ * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
+ * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
+ * config.in, configure: Rebuilt.
+
+1999-06-24 Tom Tromey <tromey@cygnus.com>
+
+ * gcc.c (main): Read user-specified specs files after computing
+ additional startfile_prefixes.
+
+1999-06-24 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ *fixinc/inclhack.def(end_else_label): combined else_label
+ and endif_label and fixed the sed expression.
+ *fixinc/{fixincl.x|inclhack.sh}: regen
+
+Tue Jun 22 01:58:18 1999 Jeffrey A Law (law@cygnus.com)
+
+ * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
+ 'x' when handling non-offsettable addresses
+
+Tue Jun 22 00:20:05 1999 Richard Earnshaw (rearnsha@arm.com)
+
+ * final.c (shorten_branches): Don't try to split an insn that has
+ been deleted.
+
+Mon Jun 21 23:32:17 1999 Jeffrey A Law (law@cygnus.com)
+
+ Thu Jun 17 15:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+ * fixincludes: ISCNTL patch
+
+Mon Jun 21 22:15:50 1999 Jeffrey A Law (law@cygnus.com)
+
+ * rs6000.c (find_addr_reg): Handle LO_SUM addresses.
+
+Mon Jun 21 22:14:05 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.md (movdf_hardfloat32): Fix typo.
+
+Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com>
+
+ * collect2.c (main): Log frame table count.
+ (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
+ (scan_prog_file) [COFF]: Handle frame tables.
+
+ * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
+ (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
+ * alpha/elf.h: Undef them again.
+ * alpha/vms.h: Remove their definitions.
+
+1999-06-21 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
+ * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
+ fits in HOST_WIDE_INT and one uses union to access a long constant
+ as double.
+
+Mon Jun 21 17:18:25 1999 Richard Henderson <rth@cygnus.com>
+
+ * sparc.c (sparc_override_options): Don't allow profiling for
+ code models other than medlow.
+ (sparc_function_profiler): New function from old FUNCTION_PROFILER
+ macro. Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
+ (sparc_function_block_profiler): Likewise. Use user_label_prefix.
+ (sparc_block_profiler): Likewise.
+ (sparc_function_block_profiler_exit): Likewise.
+ * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
+ (FUNCTION_BLOCK_PROFILER): Likewise.
+ (BLOCK_PROFILER): Likewise.
+ (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
+ (MCOUNT_FUNCTION): New.
+ * sparc/pbd.h (FUNCTION_PROFILER): Delete.
+ (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
+ * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
+ (MCOUNT_FUNCTION): New.
+ * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
+ (BLOCK_PROFILER): Delete.
+ (MCOUNT_FUNCTION): New.
+
+Mon Jun 21 06:22:21 1999 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * i386/djgpp.h (LIB_SPEC): New.
+ (STARTFILE_SPEC): New.
+
+ * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
+
+Mon Jun 21 06:19:33 1999 Philippe De Muyter <phdm@macqel.be>
+
+ * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
+ compiler flags.
+
+ * system.h (WSTOPSIG): New macro.
+
+Mon Jun 21 05:33:15 1999 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * c-pragma.c (push_alignment): Don't ignore alignments greater than
+ 4 bytes.
+ (insert_pack_attributes): Take into account member natural
+ alignment.
+
+ * i386/winnt.c (exports_head): New static variable.
+ (i386_pe_record_exported_symbol): New function.
+ (i386_pe_asm_file_end): Use.
+ * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
+ symbols to be emitted at end of assembly.
+ (ASM_DECLARE_OBJECT_NAME): Likewise.
+ (ASM_DECLARE_FUNCTION_NAME): Likewise.
+
+ * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
+ -iwithprefix.
+
+Mon Jun 21 05:17:00 1999 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.md (movdf_hardfloat32): Use worst case insn length
+ attributes for cases 1 and 2.
+
+ * rs6000.c (find_addr_reg): New function.
+ * rs6000.h (find_addr_reg): Declare.
+ (offsettable_addr_operand): Delete.
+ * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
+ from and stores to GPRs.
+
+Mon Jun 21 04:44:31 1999 Jeffrey A Law (law@cygnus.com)
+
+ * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
+ in last change.
+
+Sun Jun 20 17:24:35 1999 Richard Henderson <rth@cygnus.com>
+
+ * haifa-sched.c (sched_analyze): Don't clear reg_last_uses on calls.
+
+Sat Jun 19 22:52:55 1999 Richard Henderson <rth@cygnus.com>
+
+ * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
+ instead of set.
+
+Sat Jun 19 05:40:07 1999 Philip Blundell <pb@nexus.co.uk>
+
+ * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
+
+Sat Jun 19 05:25:05 1999 Richard Earnshaw (rearnsha@arm.com)
+
+ * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
+ PIC_OFFSET_TABLE_REGNUM for general alloaction.
+ (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
+ must be stacked if it is used for PIC accesses.
+ * arm.c (use_return_insn): Handle PIC register specially.
+ (output_return_instruction): Likewise.
+ (output_func_{prologue,epilogue}): Likewise.
+ (output_expand_prologue): Likewise.
+
+ * arm.c (arm_override_options): Remove warning about PIC code
+ not being supported.
+
+Fri Jun 18 15:44:18 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.c (alpha_expand_block_move): Use get_insns rather than
+ gen_sequence as argument to emit_no_conflict_block.
+
+Fri Jun 18 06:48:30 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of _*ISCTRL().
+ * fixinc/{fixincl.x,inclhack.sh}: regen
+
+Thu Jun 17 13:28:30 1999 David O'Brien <obrien@FreeBSD.org>
+
+ * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
+
+ * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
+ the reference to `mcount' was not correct for the ELF on FreeBSD.
+
+Thu Jun 17 02:54:30 1999 Jeffrey A Law (law@cygnus.com)
+
+ * invoke.texi (ia32 options): Fix typo.
+
+ * emit-rtl.c (operand_subword): Tighten checks for when it is safe
+ to safe to extract a subword out of a REG.
+
+Wed Jun 16 10:33:02 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * dwarfout.c (add_incomplete_type): New fn.
+ (output_type): Call it.
+ (retry_incomplete_types): New fn.
+ (dwarfout_finish): Call it.
+
+ From Eric Raskin <ehr@listworks.com>:
+ (output_type): Output types for bases.
+
+Tue Jun 15 01:55:20 1999 David O'Brien <obrien@FreeBSD.org>
+
+ * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
+ specifications and make it realistic.
+ (LIB_SPEC): Likewise.
+
+Mon Jun 14 03:55:40 1999 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
+ require a sub-version #.
+ * configure: Rebuilt.
+
+1999-06-14 Robert Lipe (robertlipe@usa.net)
+
+ * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
+
+1999-06-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * gcc.texi: Mention gcc 2.95 instead of egcs 1.00.
+
+Sun Jun 13 01:08:02 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * invoke.texi (node Option Summary): Add -fpermissive flag.
+
+Sat Jun 12 03:40:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
+ that require PIC code sequences.
+
+Fri Jun 11 03:17:51 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
+ * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
+ initializers is some circumstances.
+
+ * fixinc/inclhack.def (endif_label): Add additional selector for
+ more bogus stuff after #endif statements.
+ * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
+
+Thu Jun 10 20:45:27 1999 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * i386/cygwin.h (SET_ASM_OP): Define.
+
+Thu Jun 10 20:37:57 1999 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
+
+Thu Jun 10 14:47:59 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ * fixinc/inclhack.def(sun_auth_proto): We do not know how to
+ test for the presence of valid prototypes. Delete bypass expr.
+ (ioctl_fix_ctrl): Correct the selection expression.
+
+ * fixinc/inclhack.def(no_double_slash): fixed quoting rules
+ * fixinc/inclhack.sh: regen
+ * fixinc/fixincl.x: regen
+
+Thu Jun 10 01:22:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (strength_reduce): Disable biv->giv translations and
+ giv recombination. For the release branch only.
+
+Wed Jun 9 15:57:57 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * rs6000.md (movsi_got_internal_mem): Delete.
+ * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
+ (GOT_TOC_REGNUM): Delete.
+ (PIC_OFFSET_TABLE_REGNUM): Define.
+ (FINALIZE_PIC): Disable.
+ * rs6000.c (rs6000_got_register): New code for fixed pic register.
+ (rs6000_replace_regno): Delete.
+ (rs6000_finalize_pic): Likewise.
+ (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
+
+Wed Jun 9 19:44:26 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * loop.c (loop_insn_first_p): Don't compare LUIDs when P
+ is a note; use <= for the compare; advance P while it is
+ a NOTE.
+
+Wed Jun 9 13:12:24 1999 Jeffrey A Law (law@cygnus.com)
+
+ * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
+ * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
+
+ * varasm.c (remove_from_pending_weak_list): Verify t->name
+ is non-NULL before passing it to strcmp.
+
+Wed Jun 9 23:01:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * invoke.texi: Add C4x invocation docs.
+
+Wed Jun 9 22:42:49 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
+ Define new macros.
+ * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
+ TARGET_EXPOSE_LDP.
+ (c4x_legitimize_reload_address): New function.
+ * config/c4x/c4x.md: Update docs.
+
+Wed Jun 9 06:50 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ * fixinc/inclhack.def(sun_auth_proto): bypass the patch if
+ the typed arguments are not part of a comment
+ (ioctl_fix_ctrl): Added a purpose comment
+ * fixinc/fixincl.x: regenerate
+ * fixinc/inclhack.sh: regenerate
+
+Wed Jun 9 04:14:48 1999 Jeffrey A Law (law@cygnus.com)
+
+ * fixincludes: Avoid removing '.'.
+ * fixinc/fixinc.svr4: Likewise.
+ * fixinc/fixinc.winnt: Likewise.
+ * fixinc/inclhack.tpl: Likewise.
+ * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
+
+Wed Jun 9 03:55:34 1999 Jim Wilson <wilson@cygnus.com>
+
+ * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
+ * configure: Regenerate.
+
+ * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
+ Add use of x-aix41-gld.
+
+1999-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
+ pattern.
+ * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+
+Wed Jun 9 03:10:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
+ correctly.
+
+Tue Jun 8 05:47:48 1999 Richard Earnshaw (rearnsha@arm.com)
+
+ * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
+ values.
+
+Mon Jun 7 22:30:37 1999 Jeffrey A Law (law@cygnus.com)
+
+ * fixinc/inclhack.def (bad_lval): Remove bogus selector.
+ * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
+
+ * fixinc/inclhack.def (avoid_bool): Also catch
+ "typedef [unsigned] int bool".
+ * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
+
+ * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
+ * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
+ * configure: Rebuilt.
+
+Mon Jun 7 22:05:03 1999 Mark Kettenis <kettenis@gnu.org>
+
+ * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
+ such that we can override its definitions if necessary.
+ (CPP_SPEC): New define. Support processor specific predefines via
+ %(cpp_cpu).
+ (CC1_SPEC): New define. Support processor specific compiler
+ options via %(cc1_cpu).
+ (STARTFILE_SPEC): New define. Use crt0.o instead of crt1.o for
+ -static.
+
+1999-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
+ between sed's -e flag, and the open-quote following it.
+ * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
+
+Mon Jun 7 20:34:20 1999 Robert Lipe <robertlipe@usa.net>
+ Jeffrey A Law (law@cygnus.com)
+
+ * varasm.c (assemble_start_function): Remove the function
+ from the pending weak decls list when we define a function.
+ (assemble_variable): Similarly for variables.
+ (weak_finish): Ignore items on the list with a NULL name.
+ (remove_from_ending_weak_list); New function to "remove" an item
+ from the pending weak declarations list.
+
+Mon Jun 7 19:27:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
+
+Sun Jun 6 11:58:34 1999 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * sparc.md (abstf2): This should be an expand.
+ (split after abstf2_notv9): Fix mode.
+ (abstf2_hq_v9): New pattern.
+ (abstf2_v9): Only use when no hard quad.
+ (absdf2_v9): Fix if target is not the same as source.
+ (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
+ Add correct output constraints.
+
+Sat Jun 5 17:04:16 1999 Craig Burley <craig@jcb-sc.com>
+
+ From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
+ * invoke.texi: Clarify text vis-a-vis Intel CPUs.
+
+Fri Jun 4 13:30:27 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
+ (LIB_SPEC): Likewise.
+ Link with -lprof1_r for -g/-pg.
+
+1999-06-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * loop.c (check_dbra_loop): Fix change of Jan 19.
+
+Fri Jun 4 00:12:40 1999 Marc Espie <espie@cvs.openbsd.org>
+
+ * freebsd-elf.h (SWITCH_TAKES_ARG): Redefine, not define.
+ (STARTFILE_SPEC): Define, override the svr4.h version.
+ (ENDFILE_SPEC): Likewise.
+
+Thu Jun 3 23:58:55 1999 Jeffrey A Law (law@cygnus.com)
+
+ * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
+ * fixinc/fixincl.x: Regenerated.
+ * fixinc/inclhack.sh: Regenerated.
+
+Thu Jun 3 07:48 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ * fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
+ * fixinc/fixincl.x: regenerate
+ * fixinc/inclhack.sh: regenerate
+
+Thu Jun 3 22:27:50 1999 Robert Lipe <robertlipe@usa.net>
+
+ * i386/udk.h (LINK_SPEC): Correct linker search path for
+ system libraries.
+
+Thu Jun 3 02:15:07 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * dwarf2out.c (add_incomplete_type): New fn.
+ (gen_struct_or_union_type_die): Call it.
+ (retry_incomplete_types): New fn.
+ (dwarf2out_finish): Call it.
+
+Thu Jun 3 01:19:03 1999 Jeffrey A Law (law@cygnus.com)
+
+ * gcse.c (insert_insn_end_bb): Correct placement of insns when the
+ current block starts with a CODE_LABEL and ends with a CALL and
+ we can not find all the argument setup instructions for the CALL.
+
+Wed Jun 2 12:25:55 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.c (override_options): Thinko in last patch.
+
+ * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
+ (LIB_SPEC): Recognize -pthread.
+
+Wed Jun 2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
+ fixes that need "file=xxx\n" prepended before invocation
+ (start_fixer - new): starting the fixer process is complex enough
+ to warrent its own routine. It prepends the "file=xxx\n" stuff.
+ (process): uses the new routine; omit usage of putenv()
+ * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
+ * fixinc/fixincl.x: regenerate
+
+Wed Jun 2 06:36:14 1999 Richard Earnshaw (rearnsha@arm.com)
+
+ * arm.md (zero_extendqidi2): Don't allow operand1 to be a memory
+ reference. Temporary work-around for problems with constant
+ pool handling.
+
+Wed Jun 2 02:40:43 1999 Jeffrey A Law (law@cygnus.com)
+
+ * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
+ and version #s (1.1 -> 2.95) as needed.
+ * README.g77: Kill way out of date file in the toplevel directory.
+
+Wed Jun 2 00:52:34 1999 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
+ i386/freebsd-elf.h no longer requires it. Instead include svr4.h.
+ * configure: Rebuilt.
+ * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
+ (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
+ (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
+ (SWITCH_TAKES_ARG): Likewise.
+ * i386/freebsd.h: Remove FREEBSD_NATIVE support.
+ * config/t-freebsd: Moved from config/i386/ so it can used for all
+ FreeBSD targets.
+
+Mon May 31 02:22:55 1999 Philippe De Muyter <phdm@macqel.be>
+
+ * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
+
+Wed Jun 2 00:08:34 1999 Robert Lipe <robertlipe@usa.net>
+
+ * configure.in (i[34567]86-*-udk*): Install headers with cpio.
+ * configure: Rebuilt.
+
+Wed Jun 2 00:49:00 EDT 1999 John Wehle (john@feith.com)
+
+ * flow.c (mark_regs_live_at_end, insn_dead_p,
+ mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
+ and HARD_FRAME_POINTER_REGNUM special treatment if reload
+ hasn't run or the frame pointer is needed.
+ * haifa-sched.c (attach_deaths): Likewise.
+ * sched.c (attach_deaths): Likewise.
+
+Thu May 27 22:06:52 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * cccp.c (handle_directive): Handle backslash-newlines in quoted
+ strings correctly.
+
+Mon May 31 22:42:02 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Remove this patch (from the branch only)
+ Wed May 26 09:53:05 1999 Mark Mitchell <mark@codesourcery.com>
+ * fold-const.c (fold): STRIP_NOPS when deciding whether or not
+ something is a candidate for optimize_bit_field_compare.
+
+Mon May 31 15:23:23 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.md (reload_*_help): New patterns and splitters.
+ (reload_*): Use them.
+ (mov[qh]i): Likewise.
+
+Mon May 31 09:36:11 1999 Cort Dougan <cort@cs.nmt.edu>
+
+ * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
+
+Sat May 29 19:08:10 1999 Philip Blundell <philb@gnu.org>
+
+ * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
+ defined.
+ * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
+ (MAX_OFILE_ALIGNMENT): Likewise.
+
+Mon May 31 00:45:14 1999 Jeffrey A Law (law@cygnus.com)
+
+ * jump.c (jump_optimize_1): Only set CAN_REACH_END if
+ calculate_can_reach_end returns nonzero.
+
+ * Makefile.in (CFLAGS): Remove warning flags.
+ (WARN_CFLAGS): Disable.
+
+ * configure.in (native gas tests): Search for an assembler in the
+ same manner that the installed compiler will.
+ * configure: Rebuilt.
+ * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
+
+ * alias.c (find_base_term): Improve handling of addresses
+ constructed from binary operations.
+
+Sun May 30 14:43:37 1999 Robert Lipe <robertlipe@usa.net>
+
+ * fixincl.c: Replace local include scheme with #includes of
+ gansidecl.h and system.h.
+ * procopen.c: Likewise.
+ * server.c: Likewise.
+
+Sun May 30 14:18:40 1999 Jeffrey A Law (law@cygnus.com)
+
+ * function.h (cleanup_label, frame_offset): Declare.
+ (tail_recursion_label, tail_recursion_reentry): Likewise.
+ (arg_pointer_save_area, rtl_expr_chain): Likewise.
+ * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
+ (tail_recursion_label, tail_recursion_reentry): Likewise.
+ (arg_pointer_save_area, rtl_expr_chain): Likewise.
+
+Fri May 28 03:47:03 1999 Eric Raskin (ehr@listworks.com)
+
+ * i386/t-dgux (EXTRA_PARTS): Add crti.o.
+ (crti.o): Add build rule and dependencies.
+
+Fri May 28 03:07:10 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
+ (LIB_LINUX_SPEC): Likewise.
+ (LIB_LINUX_SPEC): Add support for -pthread
+ (CPP_OS_LINUX_SPEC): Likewise.
+ (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
+ specified
+
+ * rs6000.c (output_mi_thunk): Enable full support again.
+
+Thu May 27 13:04:52 1999 H.J. Lu (hjl@gnu.org)
+
+ * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
+ conditional move.
+ (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
+ (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
+ for IEEE math and CC_FCOMI.
+ (put_jump_code): No IEEE if CC_FCOMI is set.
+
+1999-05-27 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * fold-const.c (fold_truthop): Make the field reference unsigned
+ when converting a single bit compare.
+
+Thu May 27 03:07:13 1999 Philip Blundell <pb@nexus.co.uk>
+
+ Based on patch by Scott Bambrough and Pat Beirne:
+ * config/arm/arm.c (making_const_table): New variable.
+ * config/arm/arm.h (making_const_table): Declare.
+ (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
+ appropriate.
+ * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
+ Keep track of when we are building the constant table.
+
+Thu May 27 02:52:55 1999 Jeffrey A Law (law@cygnus.com)
+
+ * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
+ * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
+ version did.
+
+Thu May 27 02:40:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
+
+Thu May 27 02:09:27 1999 Jeffrey A Law (law@cygnus.com)
+
+ * reload.c (push_reload): Do not call remove_address_replacements
+ when presented with identical optional reloads.
+
+Wed May 26 14:18:05 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (MASK_FIX, TARGET_FIX): New.
+ (MASK_*): Reorganize constants.
+ (CPP_AM_FIX_SPEC): New.
+ (TARGET_SWITCHES): Add FIX.
+ (EXTRA_SPECS): Likewise.
+ (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
+ (SECONDARY_MEMORY_NEEDED): Likewise.
+ (REGISTER_MOVE_COST): Likewise.
+ * alpha.c (override_options): Add FIX support. Always use
+ ALPHA_TP_PROG for ev6.
+ * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
+ * alpha/elf.h (ASM_FILE_START): Look at FIX too.
+ * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
+
+Wed May 26 09:53:05 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * fold-const.c (fold): STRIP_NOPS when deciding whether or not
+ something is a candidate for optimize_bit_field_compare.
+
+Wed May 26 03:54:33 1999 Melissa O'Neill <oneill@cs.sfu.ca>
+
+ * fixinc/fixincl.c: (WIFSIGNALED): Define if not already defined.
+ (WTERMSIG, WIFEXITED, WEXITSTATUS, WIFSTOPPED, WSTOPSIG): Likewise.
+ (S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP): Likewise.
+ (S_IROTH, S_IWOTH, S_IXOTH, S_IRWXU, S_IRWXG, S_IRWXO): Likewise.
+
+Wed May 26 02:19:31 1999 Philip Blundell <pb@nexus.co.uk>
+
+ * arm.h (NEED_PLT_GOT): Fix mistake in last change.
+ (GOT_PCREL): New macro. Define to 1 if not already defined.
+ * arm/elf.h (GOT_PCREL): Define to 0.
+ * arm.c (arm_finalize_pic): Take into account the setting of
+ GOT_PCREL.
+
+Tue May 25 14:06:06 1999 Jeffrey A Law (law@cygnus.com)
+
+ * output.h (STRIP_NAME_ENCODING): Provide default definition.
+ * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
+
+ * flow.c (mark_set_1): Do not record BLKmode stores as dead
+ store elimination candidates.
+
+Mon May 24 14:34:31 1999 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
+ last CODE_LABEL in a loop if we have previously passed a jump
+ to the top of the loop.
+
+Mon May 24 01:02:58 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * stmt.c (expand_end_bindings): Ignore any elements of VARS that
+ are not VAR_DECLs.
+
+Sun May 23 20:31:16 1999 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (strength_reduce): Grow reg_single_usage as needed.
+
+Sun May 23 10:13:20 1999 David O'Brien <obrien@FreeBSD.org>
+
+ * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
+ Also remove a useless comment.
+
+Sun May 23 10:05:23 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * pa.md (negdf2,negsf2): Use fneg instead of fsub on pa 2.0.
+
+Sat May 22 01:27:49 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
+
+Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com>
+
+ * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
+
+Thu May 20 09:58:57 1999 Jan Hubicka <hubicka@freesoft.cz>
+
+ * function.c (assign_stack_local): Align stack slot propertly.
+ (assign_outer_stack_local): Likewise.
+
+Thu May 20 10:38:43 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * expr.h (lang_expand_constant): Declare.
+ * toplev.c (lang_expand_constant): Define it.
+ * varasm.c (output_constant): Use it.
+
+Thu May 20 11:28:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
+ Change function definitions to K&R style.
+
+Thu May 20 08:15:00 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ * fixinc/fixincl.c(main): we must not ignore SIGCLD now.
+
+Thu May 20 07:06:39 1999 Alexandre Oliva <aoliva@acm.org>
+
+ * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
+ * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
+ (several places): omit static initialization
+ (process): use single fd, since only the read fd is used
+ * fixinc/gnu-regex.c: define 'const' away, if not supported
+ * fixinc/procopen.c(several places): omit static initialization
+ * fixinc/server.c: define 'volitile' away, if not supported
+
+1999-05-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
+ asm_fprintf and %L to generate the label name.
+ * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
+ (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
+
+Thu May 20 01:40:55 1999 Jeffrey A Law (law@cygnus.com)
+
+ * jump.c (can_reverse_comparison_p): Do not abort if the comparison
+ insn for a conditional jump can not be found.
+
+Wed May 19 23:58:58 1999 Jeffrey A Law (law@cygnus.com)
+
+ * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
+ on variables in specific sections other than .sbss and .sdata.
+
+Tue May 18 11:20:48 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * stmt.c (expand_return): Call start_cleanup_deferral and
+ end_cleanup_deferral around conditional code.
+
+Wed May 19 03:10:08 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+
+ * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
+ filename lists. Utilizes new AutoGen function "krstr".
+ * fixinc/fixincl.x: Rebuilt.
+
+Wed May 19 02:47:11 1999 Jan Hubicka (hubicka@freesoft.cz)
+
+ * i386.c (output_float_compare): Avoid GNU-C extensions.
+
+Wed May 19 00:50:24 1999 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump version to gcc-2.95 prerelease.
+
Tue May 18 03:53:37 1999 Craig Burley <craig@jcb-sc.com>
Improve open-coding of complex divide:
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 36e9261ccb9..85bf9f8da5d 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1,5 +1,6 @@
# Makefile for GNU C compiler.
-# Copyright (C) 1987, 88, 90-98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+# 1998, 1999, 2000 Free Software Foundation, Inc.
#This file is part of GNU CC.
@@ -68,9 +69,10 @@ ALLOCA_FINISH = true
# TCFLAGS is used for compilations with the GCC just built.
XCFLAGS =
TCFLAGS =
-CFLAGS = -g @stage1_warn_cflags@
+# -W -Wall warnings are disabled for releases.
+CFLAGS = -g
BOOT_CFLAGS = -O2 $(CFLAGS)
-WARN_CFLAGS = -W -Wall
+#WARN_CFLAGS = -W -Wall
# These exists to be overridden by the x-* and t-* files, respectively.
X_CFLAGS =
T_CFLAGS =
@@ -166,7 +168,7 @@ INSTALL_ASSERT_H = install-assert-h
# The GCC to use for compiling libgcc2.a, enquire, and libgcc1-test.
# Usually the one we just built.
# Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
-GCC_FOR_TARGET = ./xgcc -B./ -B$(build_tooldir)/bin/
+GCC_FOR_TARGET = ./xgcc -B$(build_tooldir)/bin/ -B./ -I$(build_tooldir)/include
# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
# It omits XCFLAGS, and specifies -B./.
@@ -393,6 +395,9 @@ EXTRA_HEADERS =@extra_headers_list@
# Set this to `collect2' to enable use of collect2.
USE_COLLECT2 = @will_use_collect2@
+# If we might be using collect2, then this variable will be set to
+# -DUSE_COLLECT2. toplev.c, collect2.c and libgcc2.c all need to
+# if we may be using collect2.
MAYBE_USE_COLLECT2 = @maybe_use_collect2@
# It is convenient for configure to add the assignment at the beginning,
# so don't override it here.
@@ -437,7 +442,7 @@ COMPILERS = cc1$(exeext) @all_compilers@
# List of things which should already be built whenever we try to use xgcc
# to compile anything (without linking).
-GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES)
+GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp0$(exeext) $(EXTRA_PASSES)
# List of things which should already be built whenever we try to use xgcc
# to link anything.
@@ -700,7 +705,7 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
genconfig$(build_exeext) genpeep$(build_exeext) genattrtab$(build_exeext) \
genattr$(build_exeext) genopinit$(build_exeext) gengenrtl$(build_exeext) \
gencheck$(build_exeext) \
- xgcc$(exeext) xcpp$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES) \
+ xgcc$(exeext) cpp$(exeext) cc1$(exeext) cpp0$(exeext) $(EXTRA_PASSES) \
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
$(CCCP)$(exeext) cc1obj$(exeext) enquire$(exeext) \
protoize$(exeext) unprotoize$(exeext) \
@@ -836,15 +841,15 @@ all.internal: start.encap rest.encap doc
all.cross: native gcc-cross specs stmp-headers $(STMP_FIXPROTO) $(LIBGCC) \
$(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross doc
# This is what to compile if making gcc with a cross-compiler.
-all.build: native xgcc$(exeext) xcpp$(exeext) $(EXTRA_PARTS) lang.all.build
+all.build: native xgcc$(exeext) cpp$(exeext) $(EXTRA_PARTS) lang.all.build
# This is what must be made before installing GCC and converting libraries.
-start.encap: native xgcc$(exeext) xcpp$(exeext) specs $(LIBGCC1) \
+start.encap: native xgcc$(exeext) cpp$(exeext) specs $(LIBGCC1) \
xlimits.h lang.start.encap
# These can't be made until after GCC can run.
rest.encap: stmp-headers $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
# This is what is made with the host's compiler
# whether making a cross compiler or not.
-native: config.status auto-host.h cpp$(exeext) intl.all $(LANGUAGES) \
+native: config.status auto-host.h intl.all $(LANGUAGES) \
$(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)
# Define the names for selecting languages in LANGUAGES.
@@ -889,7 +894,7 @@ xgcc$(exeext): gcc.o gccspec.o version.o intl.o prefix.o \
# when it is installed.
# The only difference from xgcc is that it's linked with cppspec.o
# instead of gccspec.o.
-xcpp$(exeext): gcc.o cppspec.o version.o intl.o prefix.o \
+cpp$(exeext): gcc.o cppspec.o version.o intl.o prefix.o \
version.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o cppspec.o intl.o \
prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
@@ -1067,7 +1072,7 @@ libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(FPBIT) $(DPBIT) $(LIB2ADD) \
do \
echo $${name}; \
$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
- $(srcdir)/libgcc2.c -o $${name}$(objext); \
+ $(MAYBE_USE_COLLECT2) $(srcdir)/libgcc2.c -o $${name}$(objext); \
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) tmplibgcc2.a $${name}$(objext); \
rm -f $${name}$(objext); \
@@ -1242,6 +1247,11 @@ stmp-multilib-sub:
then (cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC1)); \
else true; \
fi
+# Some versions of ar (specifically the one in RISC/os 5.x), create an
+# unwritable table of contents file, and then print an error message when
+# the second ar command tries to overwrite this file. To avoid the error
+# message from ar, we make sure all files are writable.
+ -(cd tmpcopy; chmod +w * > /dev/null 2>&1)
(cd tmpcopy; $(AR_FOR_TARGET) x ../$(LIBGCC2))
(cd tmpcopy; $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) ../tmplibgcc.a *$(objext))
rm -rf libgcc2.a tmpcopy
@@ -1472,7 +1482,7 @@ stmt.o : stmt.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h function.h \
loop.h $(RECOG_H) toplev.h output.h varray.h
except.o : except.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h \
function.h insn-flags.h $(EXPR_H) $(REGS_H) hard-reg-set.h \
- insn-config.h $(RECOG_H) output.h except.h toplev.h
+ insn-config.h $(RECOG_H) output.h except.h toplev.h intl.h
expr.o : expr.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h function.h \
$(REGS_H) insn-flags.h insn-codes.h $(EXPR_H) insn-config.h $(RECOG_H) \
output.h typeclass.h hard-reg-set.h toplev.h hard-reg-set.h except.h
@@ -1944,9 +1954,9 @@ intl.distdir-fixup:
# Remake cpp and protoize.
# Making the preprocessor
-cpp$(exeext): $(CCCP)$(exeext)
- -rm -f cpp$(exeext)
- $(LN) $(CCCP)$(exeext) cpp$(exeext)
+cpp0$(exeext): $(CCCP)$(exeext)
+ -rm -f cpp0$(exeext)
+ $(LN) $(CCCP)$(exeext) cpp0$(exeext)
CCCP_OBJS = cccp.o cexp.o intl.o prefix.o version.o @extra_cpp_objs@ mbchar.o
cccp$(exeext): $(CCCP_OBJS) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(CCCP_OBJS) $(LIBS)
@@ -2439,12 +2449,12 @@ install-build: force
install-cross-rest: install-float-h-cross
# Handle cpp installation.
-install-cpp: xcpp$(exeext)
+install-cpp: cpp$(exeext)
-rm -f $(bindir)/$(CPP_INSTALL_NAME)$(exeext)
- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(bindir)/$(CPP_INSTALL_NAME)$(exeext)
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(bindir)/$(CPP_INSTALL_NAME)$(exeext)
if [ x$(cpp_install_dir) != x ]; then \
rm -f $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
else true; fi
uninstall-cpp:
@@ -2535,8 +2545,8 @@ install-common: native installdirs $(EXTRA_PARTS) lang.install-common
$(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
chmod a-x $(libsubdir)/SYSCALLS.c.X; \
fi
- -rm -f $(libsubdir)/cpp$(exeext)
- $(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext)
+ -rm -f $(libsubdir)/cpp0$(exeext)
+ $(INSTALL_PROGRAM) cpp0$(exeext) $(libsubdir)/cpp0$(exeext)
# Install gcov if it was compiled.
-if [ -f gcov$(exeext) ]; \
then \
diff --git a/gcc/PROJECTS b/gcc/PROJECTS
deleted file mode 100644
index 6ff7a0557b0..00000000000
--- a/gcc/PROJECTS
+++ /dev/null
@@ -1,435 +0,0 @@
-Haifa scheduler (haifa-sched.c, loop.[ch], unroll.[ch], genattrtab.c):
-(contact law@cygnus.com before starting any serious haifa work)
-
- * Fix all the formatting problems. Simple, mindless work.
-
- * Fix/add comments throughout the code. Many of the comments are from
- the old scheduler and are out of date and misleading. Many new hunks
- of code don't have sufficient comments and documentation. Those which
- do have comments need to be rewritten to use complete sentences and
- proper formatting.
-
- * Someone needs make one (or more) passes over the scheduler as a whole to
- just clean it up. Try to move the machine dependent bits into the target
- files where they belong, avoid re-creating functions where or near
- equivalents already exist (ie is_conditional_branch and friends), etc., etc.
-
- * Document the new scheduling options. Remove those options which are
- not really useful (like reverse scheduling for example). In general
- the haifa scheduler adds _way_ too many options. I'm definitely of the
- opinion that gcc already has too many -foptions, and haifa doesn't help
- that situation.
-
- * Testing and benchmarking. We've converted a few ports to using the
- Haifa scheduler (hppa, sparc, ppc, alpha). We need to continue testing
- and benchmarking the new scheduler on additional targets.
-
- We need to have some kind of docs for how to best describe a machine to
- the haifa scheduler to get good performance. Some existing ports have
- been tuned to deal with the old scheduler -- they may need to be tuned
- to generate good schedules with haifa.
-
-
-
-Improvements to global cse and partial redundancy elimination:
-
-The current implementation of global cse uses partial redundancy elimination
-as described in Chow's thesis.
-
-Long term we want to use lazy code motion as the basis for partial redundancy
-elimination. lcm will find as many (or more) redunancies *and* it will
-place the remaining computations at computationally optimal placement points
-within the function. This reduces the number of redundant operations performed
-as well as reducing register lifetimes. My experiments have shown that the
-cases were the current PRE code hurts performance are greatly helped by using
-lazy code motion.
-
-lcm also provides the underlying framework for several additional optimizations
-such as shrink wrapping, spill code motion, dead store elimination, and generic
-load/store motion (all the other examples are subcases of load/store motion).
-
-It can probably also be used to improve the reg-stack pass of the compiler.
-
-Contact law@cygnus.com if you're interested in working on lazy code motion.
-
--------------
-
-The old PROJECTS file. Stuff I know has been done has been deleted.
-Stuff in progress has a contact name associated with it.
-has been
-
-1. Better optimization.
-
-* Constants in unused inline functions
-
-It would be nice to delay output of string constants so that string
-constants mentioned in unused inline functions are never generated.
-Perhaps this would also take care of string constants in dead code.
-
-The difficulty is in finding a clean way for the RTL which refers
-to the constant (currently, only by an assembler symbol name)
-to point to the constant and cause it to be output.
-
-* Optimize a sequence of if statements whose conditions are exclusive.
-
-It is possible to optimize
-
- if (x == 1) ...;
- if (x == 2) ...;
- if (x == 3) ...;
-
-into
-
- if (x == 1) ...;
- else if (x == 2) ...;
- else if (x == 3) ...;
-
-provided that x is not altered by the contents of the if statements.
-
-It's not certain whether this is worth doing. Perhaps programmers
-nearly always write the else's themselves, leaving few opportunities
-to improve anything.
-
-* Un-cse.
-
-Perhaps we should have an un-cse step right after cse, which tries to
-replace a reg with its value if the value can be substituted for the
-reg everywhere, if that looks like an improvement. Which is if the
-reg is used only a few times. Use rtx_cost to determine if the
-change is really an improvement.
-
-* Clean up how cse works.
-
-The scheme is that each value has just one hash entry. The
-first_same_value and next_same_value chains are no longer needed.
-
-For arithmetic, each hash table elt has the following slots:
-
-* Operation. This is an rtx code.
-* Mode.
-* Operands 0, 1 and 2. These point to other hash table elements.
-
-So, if we want to enter (PLUS:SI (REG:SI 30) (CONST_INT 104)), we
-first enter (CONST_INT 104) and find the entry that (REG:SI 30) now
-points to. Then we put these elts into operands 0 and 1 of a new elt.
-We put PLUS and SI into the new elt.
-
-Registers and mem refs would never be entered into the table as such.
-However, the values they contain would be entered. There would be a
-table indexed by regno which points at the hash entry for the value in
-that reg.
-
-The hash entry index now plays the role of a qty number.
-We still need qty_first_reg, reg_next_eqv, etc. to record which regs
-share a particular qty.
-
-When a reg is used whose contents are unknown, we need to create a
-hash table entry whose contents say "unknown", as a place holder for
-whatever the reg contains. If that reg is added to something, then
-the hash entry for the sum will refer to the "unknown" entry. Use
-UNKNOWN for the rtx code in this entry. This replaces make_new_qty.
-
-For a constant, a unique hash entry would be made based on the
-value of the constant.
-
-What about MEM? Each time a memory address is referenced, we need a
-qty (a hash table elt) to represent what is in it. (Just as for a
-register.) If this isn't known, create one, just as for a reg whose
-contents are unknown.
-
-We need a way to find all mem refs that still contain a certain value.
-Do this with a chain of hash elts (for memory addresses) that point to
-locations that hold the value. The hash elt for the value itself should
-point to the start of the chain. It would be good for the hash elt
-for an address to point to the hash elt for the contents of that address
-(but this ptr can be null if the contents have never been entered).
-
-With this data structure, nothing need ever be invalidated except
-the lists of which regs or mems hold a particular value. It is easy
-to see if there is a reg or mem that is equiv to a particular value.
-If the value is constant, it is always explicitly constant.
-
-* Support more general tail-recursion among different functions.
-
-This might be possible under certain circumstances, such as when
-the argument lists of the functions have the same lengths.
-Perhaps it could be done with a special declaration.
-
-You would need to verify in the calling function that it does not
-use the addresses of any local variables and does not use setjmp.
-
-* Put short statics vars at low addresses and use short addressing mode?
-
-Useful on the 68000/68020 and perhaps on the 32000 series,
-provided one has a linker that works with the feature.
-This is said to make a 15% speedup on the 68000.
-
-* Keep global variables in registers.
-
-Here is a scheme for doing this. A global variable, or a local variable
-whose address is taken, can be kept in a register for an entire function
-if it does not use non-constant memory addresses and (for globals only)
-does not call other functions. If the entire function does not meet
-this criterion, a loop may.
-
-The VAR_DECL for such a variable would have to have two RTL expressions:
-the true home in memory, and the pseudo-register used temporarily.
-It is necessary to emit insns to copy the memory location into the
-pseudo-register at the beginning of the function or loop, and perhaps
-back out at the end. These insns should have REG_EQUIV notes so that,
-if the pseudo-register does not get a hard register, it is spilled into
-the memory location which exists in any case.
-
-The easiest way to set up these insns is to modify the routine
-put_var_into_stack so that it does not apply to the entire function
-(sparing any loops which contain nothing dangerous) and to call it at
-the end of the function regardless of where in the function the
-address of a local variable is taken. It would be called
-unconditionally at the end of the function for all relevant global
-variables.
-
-For debugger output, the thing to do is to invent a new binding level
-around the appropriate loop and define the variable name as a register
-variable with that scope.
-
-* Live-range splitting.
-
-Currently a variable is allocated a hard register either for the full
-extent of its use or not at all. Sometimes it would be good to
-allocate a variable a hard register for just part of a function; for
-example, through a particular loop where the variable is mostly used,
-or outside of a particular loop where the variable is not used. (The
-latter is nice because it might let the variable be in a register most
-of the time even though the loop needs all the registers.)
-
-Contact meissner@cygnus.com before starting any work on live range
-splitting.
-
-* Detect dead stores into memory?
-
-A store into memory is dead if it is followed by another store into
-the same location; and, in between, there is no reference to anything
-that might be that location (including no reference to a variable
-address).
-
-This can be modeled as a partial redundancy elimination/lazy code motion
-problem. Contact law@cygnus.com before working on dead store elimination
-optimizations.
-
-* Loop optimization.
-
-Strength reduction and iteration variable elimination could be
-smarter. They should know how to decide which iteration variables are
-not worth making explicit because they can be computed as part of an
-address calculation. Based on this information, they should decide
-when it is desirable to eliminate one iteration variable and create
-another in its place.
-
-It should be possible to compute what the value of an iteration
-variable will be at the end of the loop, and eliminate the variable
-within the loop by computing that value at the loop end.
-
-When a loop has a simple increment that adds 1,
-instead of jumping in after the increment,
-decrement the loop count and jump to the increment.
-This allows aob insns to be used.
-
-* Using constraints on values.
-
-Many operations could be simplified based on knowledge of the
-minimum and maximum possible values of a register at any particular time.
-These limits could come from the data types in the tree, via rtl generation,
-or they can be deduced from operations that are performed. For example,
-the result of an `and' operation one of whose operands is 7 must be in
-the range 0 to 7. Compare instructions also tell something about the
-possible values of the operand, in the code beyond the test.
-
-Value constraints can be used to determine the results of a further
-comparison. They can also indicate that certain `and' operations are
-redundant. Constraints might permit a decrement and branch
-instruction that checks zeroness to be used when the user has
-specified to exit if negative.
-
-* Change the type of a variable.
-
-Sometimes a variable is declared as `int', it is assigned only once
-from a value of type `char', and then it is used only by comparison
-against constants. On many machines, better code would result if
-the variable had type `char'. If the compiler could detect this
-case, it could change the declaration of the variable and change
-all the places that use it.
-
-* Better handling for very sparse switches.
-
-There may be cases where it would be better to compile a switch
-statement to use a fixed hash table rather than the current
-combination of jump tables and binary search.
-
-* Order of subexpressions.
-
-It might be possible to make better code by paying attention
-to the order in which to generate code for subexpressions of an expression.
-
-* More code motion.
-
-Consider hoisting common code up past conditional branches or tablejumps.
-
-Contact law@cygnus.com before working on code hoisting.
-
-* Trace scheduling.
-
-This technique is said to be able to figure out which way a jump
-will usually go, and rearrange the code to make that path the
-faster one.
-
-* Distributive law.
-
-The C expression *(X + 4 * (Y + C)) compiles better on certain
-machines if rewritten as *(X + 4*C + 4*Y) because of known addressing
-modes. It may be tricky to determine when, and for which machines, to
-use each alternative.
-
-Some work has been done on this, in combine.c.
-
-* Can optimize by changing if (x) y; else z; into z; if (x) y;
-if z and x do not interfere and z has no effects not undone by y.
-This is desirable if z is faster than jumping.
-
-* For a two-insn loop on the 68020, such as
- foo: movb a2@+,a3@+
- jne foo
-it is better to insert dbeq d0,foo before the jne.
-d0 can be a junk register. The challenge is to fit this into
-a portable framework: when can you detect this situation and
-still be able to allocate a junk register?
-
-2. Simpler porting.
-
-Right now, describing the target machine's instructions is done
-cleanly, but describing its addressing mode is done with several
-ad-hoc macro definitions. Porting would be much easier if there were
-an RTL description for addressing modes like that for instructions.
-Tools analogous to genflags and genrecog would generate macros from
-this description.
-
-There would be one pattern in the address-description file for each
-kind of addressing, and this pattern would have:
-
- * the RTL expression for the address
- * C code to verify its validity (since that may depend on
- the exact data).
- * C code to print the address in assembler language.
- * C code to convert the address into a valid one, if it is not valid.
- (This would replace LEGITIMIZE_ADDRESS).
- * Register constraints for all indeterminates that appear
- in the RTL expression.
-
-3. Other languages.
-
-Front ends for Pascal, Fortran, Algol, Cobol, Modula-2 and Ada are
-desirable.
-
-Pascal, Modula-2 and Ada require the implementation of functions
-within functions. Some of the mechanisms for this already exist.
-
-4. More extensions.
-
-* Generated unique labels. Have some way of generating distinct labels
-for use in extended asm statements. I don't know what a good syntax would
-be.
-
-* A way of defining a structure containing a union, in which the choice of
-union alternative is controlled by a previous structure component.
-
-Here is a possible syntax for this.
-
-struct foo {
- enum { INT, DOUBLE } code;
- auto union { case INT: int i; case DOUBLE: double d;} value : code;
-};
-
-* Allow constructor expressions as lvalues, like this:
-
- (struct foo) {a, b, c} = foo();
-
-This would call foo, which returns a structure, and then store the
-several components of the structure into the variables a, b, and c.
-
-5. Generalize the machine model.
-
-* Some new compiler features may be needed to do a good job on machines
-where static data needs to be addressed using base registers.
-
-* Some machines have two stacks in different areas of memory, one used
-for scalars and another for large objects. The compiler does not
-now have a way to understand this.
-
-6. Useful warnings.
-
-* Warn about statements that are undefined because the order of
-evaluation of increment operators makes a big difference. Here is an
-example:
-
- *foo++ = hack (*foo);
-
-7. Better documentation of how GCC works and how to port it.
-
-Here is an outline proposed by Allan Adler.
-
-I. Overview of this document
-II. The machines on which GCC is implemented
- A. Prose description of those characteristics of target machines and
- their operating systems which are pertinent to the implementation
- of GCC.
- i. target machine characteristics
- ii. comparison of this system of machine characteristics with
- other systems of machine specification currently in use
- B. Tables of the characteristics of the target machines on which
- GCC is implemented.
- C. A priori restrictions on the values of characteristics of target
- machines, with special reference to those parts of the source code
- which entail those restrictions
- i. restrictions on individual characteristics
- ii. restrictions involving relations between various characteristics
- D. The use of GCC as a cross-compiler
- i. cross-compilation to existing machines
- ii. cross-compilation to non-existent machines
- E. Assumptions which are made regarding the target machine
- i. assumptions regarding the architecture of the target machine
- ii. assumptions regarding the operating system of the target machine
- iii. assumptions regarding software resident on the target machine
- iv. where in the source code these assumptions are in effect made
-III. A systematic approach to writing the files tm.h and xm.h
- A. Macros which require special care or skill
- B. Examples, with special reference to the underlying reasoning
-IV. A systematic approach to writing the machine description file md
- A. Minimal viable sets of insn descriptions
- B. Examples, with special reference to the underlying reasoning
-V. Uses of the file aux-output.c
-VI. Specification of what constitutes correct performance of an
- implementation of GCC
- A. The components of GCC
- B. The itinerary of a C program through GCC
- C. A system of benchmark programs
- D. What your RTL and assembler should look like with these benchmarks
- E. Fine tuning for speed and size of compiled code
-VII. A systematic procedure for debugging an implementation of GCC
- A. Use of GDB
- i. the macros in the file .gdbinit for GCC
- ii. obstacles to the use of GDB
- a. functions implemented as macros can't be called in GDB
- B. Debugging without GDB
- i. How to turn off the normal operation of GCC and access specific
- parts of GCC
- C. Debugging tools
- D. Debugging the parser
- i. how machine macros and insn definitions affect the parser
- E. Debugging the recognizer
- i. how machine macros and insn definitions affect the recognizer
-
-ditto for other components
-
-VIII. Data types used by GCC, with special reference to restrictions not
- specified in the formal definition of the data type
-IX. References to the literature for the algorithms used in GCC
-
diff --git a/gcc/README b/gcc/README
index fe0ac0b9f62..a12bf759463 100644
--- a/gcc/README
+++ b/gcc/README
@@ -1,8 +1,8 @@
-This directory contains the egcs version 1.1 release of the GNU C
-compiler. It includes all of the support for compiling C++ and
-Objective C, including a run-time library for Objective C.
+This directory contains the GNU Compiler Collection (GCC) version 2.95.
+It includes all of the support for compiling C, C++, Objective C, Fortran,
+Java, and Chill.
-The GNU C compiler is free software. See the file COPYING for copying
+The GNU Compiler Collection is free software. See the file COPYING for copying
permission.
See the file gcc.texi (together with other files that it includes) for
diff --git a/gcc/README.g77 b/gcc/README.g77
deleted file mode 100644
index d0f5a4bc27b..00000000000
--- a/gcc/README.g77
+++ /dev/null
@@ -1,263 +0,0 @@
-1998-08-11
-
-This directory contains the egcs variant of version 0.5.24 of the
-GNU Fortran compiler (g77). The GNU Fortran compiler is free software.
-See the file COPYING.g77 for copying permission.
-
-Currently, two variants of g77 exist. One is the Free Software Foundation
-(FSF) variant. The other is the egcs variant. As of egcs version 1.1,
-these variants are kept fairly similar in most respects. Pertinent
-differences, such as the layout of the source code, are specified below.
-
-Below, `[FSF]' denotes information applicable to only the FSF variant of
-g77, while `[egcs]' denotes egcs-only information.
-
-
-* IMPORTANT: Things you *must* do (or avoid) are marked with a * at the
- beginning of the line in this file!!!
-
-
-The email address to which bugs are to be reported is either
-[FSF] <fortran@gnu.org> or [egcs] <egcs-bugs@egcs.cygnus.com>.
-
-* *DO NOT* send any email (reporting bugs, asking questions, etc.) to
- either of these addresses without *first* reading the g77 documentation.
- Use `info', Info mode in GNU Emacs, or a text viewer such as `more' to
- do this.
-
- The g77 documentation is in the source files named `g77.info',
- `g77.info-1', `g77.info-2', and so on in the `f' subdirectory. If these
- files are not present or you can't find them, contact the person or
- organization that put together the g77 distribution you are using (probably
- not the FSF or egcs), or ask your system administrator for help.
-
-
-This README applies to only the g77-specific portions of the source-code
-tree that contains it. These portions include:
-
- - The README.g77 and [FSF] COPYING.g77 files, in this directory, "this
- directory" being [FSF] the top-level directory containing a g77
- distribution or [egcs] the gcc/ subdirectory of an egcs distribution.
-
- - The g77 front end, in the f/ subdirectory of this directory.
-
- - The libg2c library, in [FSF] the f/runtime/ subdirectory of this
- directory or [egcs] the libf2c/ directory under the top-level
- directory of the egcs distribution.
-
-
-* To build g77, you must have a source distribution of [FSF] gcc
- version 2.8 or [egcs] egcs version 1.1. Do not attempt to use
- any other version of gcc or egcs, because this version of g77 is
- designed to work with only those versions.
-
- Note that you must have *source* copies of the gcc or egcs distribution!
- You cannot build g77 just using binaries of gcc or egcs. Also, unless
- you are an expert, avoid using any distribution of gcc or egcs not
- identical to the ones distributed by the FSF and Cygnus Support,
- respectively. The primary FSF distribution site is:
-
- <ftp://ftp.gnu.org/pub/gnu/>
-
- The primary egcs distribution site is:
-
- <ftp://ftp.cygnus.com/pub/egcs/>
-
- Both of these sites have approved mirror sites from which valid
- distributions also may be obtained.
-
-* Do not attempt to combine the egcs version of g77 with the FSF
- gcc distribution, or the FSF version of g77 with the egcs gcc
- distribution. Although the differences are minor, they might
- be sufficient to prevent g77 from building properly, or from
- working properly if the build appears to succeed.
-
-[FSF] g77 is distributed as g77-<version>/f/ so that unpacking the g77
-distribution is done in the normal GNU way, resulting in a directory having
-the version number in the name. However, to build g77, the g77 distribution
-must be merged with an appropriate gcc distribution, normally in a gcc
-source directory, before configuring, building, and installing g77.
-
-[FSF] If you have just unpacked the g77 distribution, before proceeding,
-you must merge the contents of the g77 distribution with the appropriate
-gcc distribution on your system.
-
-* [FSF] Read and follow the instructions in f/INSTALL that
- explain how to merge a g77 source directory into a gcc source
- directory. You can use Info to read the same installation
- instructions via:
-
- info -f f/g77.info -n Unpacking
-
-[FSF] The resulting directory layout includes the following, where gcc/
-might be a link to, for example, gcc-2.8.1/:
-
- gcc/ Non-g77 files in gcc
- gcc/COPYING.g77 A copy of the GPL, under which g77 is licensed
- gcc/README.g77 This file
- gcc/f/ GNU Fortran front end
- gcc/f/runtime/ libg2c configuration and g2c.h file generation
- gcc/f/runtime/libF77/ Non-I/O portion of libg2c
- gcc/f/runtime/libI77/ I/O portion of libg2c
- gcc/f/runtime/libU77/ Additional interfaces to libc for libg2c
-
-[FSF] Applying g77 patches in the form of .diff files is done by typing
-`patch -p1 -d gcc' (where gcc/ contains the f/ subdirectory). That is,
-g77 patches are distributed in the same form, and at the same directory
-level, as patches to the gcc distribution. (Note: make sure you're
-using GNU patch, version 2.5 or later! Other versions of patch
-have trouble with g77-related patches.)
-
-[egcs] The egcs version of g77 is distributed already merged with
-the rest of egcs (such as the gcc back end).
-
-[egcs] The resulting directory layout includes the following, where egcs/
-might be a link to, for example, egcs-1.1/:
-
- egcs/gcc/ Non-g77 files in gcc
- egcs/gcc/README.g77 This file
- egcs/gcc/f/ GNU Fortran front end
- egcs/libf2c/ libg2c configuration and g2c.h file generation
- egcs/libf2c/libF77/ Non-I/O portion of libg2c
- egcs/libf2c/libI77/ I/O portion of libg2c
- egcs/libf2c/libU77/ Additional interfaces to libc for libg2c
-
-[egcs] Applying g77-specific patches to egcs is done the same way as
-applying other egcs patches.
-
-
-Below, `libf2c/' shall denote [FSF] gcc/f/runtime/ or [egcs] egcs/libf2c/,
-while `f/' shall denote [FSF] the rest of gcc/f/ or [egcs] egcs/gcc/f/.
-
-
-Components of note in g77 are described below.
-
-f/ as a whole contains the program GNU Fortran (g77), while libf2c/
-contains a portion of the separate program f2c. Note: The libf2c
-code is not part of the program g77, just distributed with it.
-
-f/ contains text files that document the Fortran compiler, source
-files for the GNU Fortran Front End (FFE), and some other stuff.
-The g77 compiler code is placed in f/ because it, along with its contents,
-is designed to be a subdirectory of a GNU CC (gcc) source directory, gcc/,
-which is structured so that language-specific front ends can be "dropped
-in" as subdirectories. The C++ front end (g++), is an example of this --
-it resides in the cp/ subdirectory. Note that the C front end (also
-referred to as gcc) is an exception to this, as its source files reside
-in the gcc/ directory itself.
-
-libf2c/ contains the run-time libraries for the f2c program, also used
-by g77. These libraries normally referred to collectively as libf2c.
-When built as part of g77, libf2c is installed under the name libg2c to avoid
-conflict with any existing version of libf2c, and thus is often referred
-to as libg2c when the g77 version is specifically being referred to.
-
-The netlib version of libf2c/ contains two distinct libraries, libF77 and
-libI77, each in their own subdirectories. In g77, this distinction is not
-made, beyond maintaining the subdirectory structure in the source-code tree.
-
-libf2c/ is not part of the program g77, just distributed with it. It
-contains files not present in the official (netlib) version of libf2c,
-and also contains some minor changes made from libf2c, to fix some bugs,
-and to facilitate automatic configuration, building, and installation of
-libf2c (as libg2c) for use by g77 users.
-
-* See libf2c/README for more information, including licensing conditions
- governing distribution of programs containing code from libg2c.
-
-libg2c, g77's version of libf2c, adds Dave Love's implementation of
-libU77, in the libf2c/libU77/ directory. This library is distributed
-under the GNU Library General Public License (LGPL) -- see the
-file libf2c/libU77/COPYING.LIB for more information, as this license
-governs distribution conditions for programs containing code from
-this portion of the library.
-
-
-Files of note in g77 are described below.
-
-f/BUGS lists some important bugs known to be in g77. Or:
-
- info -f f/g77.info -n "Actual Bugs"
-
-f/ChangeLog lists recent changes to g77 internals.
-
-libf2c/ChangeLog lists recent changes to libg2c internals.
-
-[FSF] f/INSTALL describes how to build and install GNU Fortran. Or:
-
- info -f f/g77.info -n Installation
-
-f/NEWS contains the per-release changes. These include the user-visible
-changes described under "Changes" in the g77 documentation, plus internal
-changes of import. Or:
-
- info -f f/g77.info -n News
-
-* All users of g77 (not just installers) should read f/g77.info*
- as well, using the `more' command if neither the `info' command,
- nor GNU Emacs (with its Info mode), are available, or if they
- aren't yet accustomed to using these tools. Read f/BUGS and f/NEWS
- plus, if you are planning on building or installing the FSF version
- of g77, f/INSTALL, at the very least! All of these files are
- readable as "plain text" files.
-
-* Also see <ftp://alpha.gnu.org/g77.plan> for up-to-date information
- regarding g77 bug reports, known bugs, bug-fixes, and new versions.
-
-
-The rest of this file is of note to only those who wish to
-debug, modify, or test the FFE (in conjunction with the gcc back end).
-
-If you want to explore the FFE code, which lives entirely in f/, here
-are a few clues. The file g77spec.c contains the g77-specific source code
-for the `g77' command only -- this just forms a variant of the `gcc'
-command, so, just as the `gcc' command itself does not contain
-the C front end, the `g77' command does not contain the Fortran front
-end (FFE). The FFE code ends up in an executable named `f771', which
-does the actual compiling, so it contains the FFE plus the gcc back end
-(the latter to do most of the optimization, and the code generation).
-
-The file parse.c is the source file for main() for a stand-alone FFE and
-yyparse() for f771. (Stand-alone building of the FFE doesn't work these days.)
-The file top.c contains the top-level FFE function ffe_file and it (along
-with top.h) define all ffe_[a-z].*, ffe[A-Z].*, and FFE_[A-Za-z].* symbols.
-The file fini.c is a main() program that is used when building the FFE to
-generate C header and source files for recognizing keywords. The files
-malloc.c and malloc.h comprise a memory manager that defines all
-malloc_[a-z].*, malloc[A-Z].*, and MALLOC_[A-Za-z].* symbols. All other
-modules named <xyz> are comprised of all files named <xyz>*.<ext> and
-define all ffe<xyz>_[a-z].*, ffe<xyz>[A-Z].*, and FFE<XYZ>_[A-Za-z].* symbols.
-If you understand all this, congratulations -- it's easier for me to remember
-how it works than to type in these grep patterns (such as they are). But it
-does make it easy to find where a symbol is defined -- for example,
-the symbol "ffexyz_set_something" would be defined in xyz.h and implemented
-there (if it's a macro) or in xyz.c.
-
-The "porting" files of note currently are: proj.h, which defines the
-"language" used by all the other source files (the language being
-Standard C plus some useful things like ARRAY_SIZE and such) -- change
-this file when you find your system doesn't properly define a Standard C
-macro or function, for example; target.h and target.c, which describe
-the target machine in terms of what data types are supported, how they are
-denoted (what C type does an INTEGER*8 map to, for example), how to convert
-between them, and so on (though as of 0.5.3, more and more of this information
-is being dynamically configured by ffecom_init_0); com.h and com.c, which
-interface to the target back end (currently only FFE stand-alone and the GBE);
-ste.c, which contains code for implementing recognized executable statements
-in the target back end (again currently either FFE or GBE); src.h and src.c,
-which describe information on the format(s) of source files (such as whether
-they are never to be processed as case-insensitive with regard to Fortran
-keywords); and proj.c, which contains whatever code is needed to support
-the language defined by proj.h.
-
-If you want to debug the f771 executable, for example if it crashes,
-note that the global variables "lineno" and "input_filename" are set
-to reflect the current line being read by the lexer during the first-pass
-analysis of a program unit and to reflect the current line being
-processed during the second-pass compilation of a program unit. If
-an invocation of the function ffestd_exec_end() is on the stack,
-the compiler is in the second pass, otherwise it is in the first.
-(This information might help you reduce a test case and/or work around
-a bug in g77 until a fix is available.)
-
-Any questions or comments on these topics? Read the g77 documentation!
diff --git a/gcc/acconfig.h b/gcc/acconfig.h
index 68bee4f7cbd..d702b0e0222 100644
--- a/gcc/acconfig.h
+++ b/gcc/acconfig.h
@@ -93,6 +93,9 @@
/* Whether strsignal must be declared even if <string.h> is included. */
#undef NEED_DECLARATION_STRSIGNAL
+/* Whether strstr must be declared even if <string.h> is included. */
+#undef NEED_DECLARATION_STRSTR
+
/* Whether getcwd must be declared even if <unistd.h> is included. */
#undef NEED_DECLARATION_GETCWD
diff --git a/gcc/alias.c b/gcc/alias.c
index 3bfb4400486..e8bf04e00df 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -1,5 +1,5 @@
/* Alias analysis for GNU C
- Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GNU CC.
@@ -746,10 +746,55 @@ find_base_term (x)
case PLUS:
case MINUS:
{
- rtx tmp = find_base_term (XEXP (x, 0));
- if (tmp)
- return tmp;
- return find_base_term (XEXP (x, 1));
+ rtx tmp1 = XEXP (x, 0);
+ rtx tmp2 = XEXP (x, 1);
+
+ /* This is a litle bit tricky since we have to determine which of
+ the two operands represents the real base address. Otherwise this
+ routine may return the index register instead of the base register.
+
+ That may cause us to believe no aliasing was possible, when in
+ fact aliasing is possible.
+
+ We use a few simple tests to guess the base register. Additional
+ tests can certainly be added. For example, if one of the operands
+ is a shift or multiply, then it must be the index register and the
+ other operand is the base register. */
+
+ /* If either operand is known to be a pointer, then use it
+ to determine the base term. */
+ if (REG_P (tmp1) && REGNO_POINTER_FLAG (REGNO (tmp1)))
+ return find_base_term (tmp1);
+
+ if (REG_P (tmp2) && REGNO_POINTER_FLAG (REGNO (tmp2)))
+ return find_base_term (tmp2);
+
+ /* Neither operand was known to be a pointer. Go ahead and find the
+ base term for both operands. */
+ tmp1 = find_base_term (tmp1);
+ tmp2 = find_base_term (tmp2);
+
+ /* If either base term is named object or a special address
+ (like an argument or stack reference), then use it for the
+ base term. */
+ if (tmp1
+ && (GET_CODE (tmp1) == SYMBOL_REF
+ || GET_CODE (tmp1) == LABEL_REF
+ || (GET_CODE (tmp1) == ADDRESS
+ && GET_MODE (tmp1) != VOIDmode)))
+ return tmp1;
+
+ if (tmp2
+ && (GET_CODE (tmp2) == SYMBOL_REF
+ || GET_CODE (tmp2) == LABEL_REF
+ || (GET_CODE (tmp2) == ADDRESS
+ && GET_MODE (tmp2) != VOIDmode)))
+ return tmp2;
+
+ /* We could not determine which of the two operands was the
+ base register and which was the index. So we can determine
+ nothing from the base alias check. */
+ return 0;
}
case AND:
@@ -1410,15 +1455,6 @@ init_alias_analysis ()
new_reg_base_value[HARD_FRAME_POINTER_REGNUM]
= gen_rtx_ADDRESS (Pmode, hard_frame_pointer_rtx);
#endif
- if (struct_value_incoming_rtx
- && GET_CODE (struct_value_incoming_rtx) == REG)
- new_reg_base_value[REGNO (struct_value_incoming_rtx)]
- = gen_rtx_ADDRESS (Pmode, struct_value_incoming_rtx);
-
- if (static_chain_rtx
- && GET_CODE (static_chain_rtx) == REG)
- new_reg_base_value[REGNO (static_chain_rtx)]
- = gen_rtx_ADDRESS (Pmode, static_chain_rtx);
/* Walk the insns adding values to the new_reg_base_value array. */
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 1ec3842010b..59dd407758d 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -330,7 +330,8 @@ combine_strings (strings)
= build_array_type (wide_flag ? wchar_type_node : char_type_node,
build_index_type (build_int_2 (nchars - 1, 0)));
- TREE_READONLY (value) = TREE_CONSTANT (value) = ! flag_writable_strings;
+ TREE_CONSTANT (value) = 1;
+ TREE_READONLY (value) = ! flag_writable_strings;
TREE_STATIC (value) = 1;
return value;
}
@@ -3205,11 +3206,54 @@ c_get_alias_set (t)
whose type is the same as one of the fields, recursively, but
we don't yet make any use of that information.) */
TYPE_ALIAS_SET (type) = 0;
+ else if (TREE_CODE (type) == POINTER_TYPE
+ || TREE_CODE (type) == REFERENCE_TYPE)
+ {
+ tree t;
+
+ /* Unfortunately, there is no canonical form of a pointer type.
+ In particular, if we have `typedef int I', then `int *', and
+ `I *' are different types. So, we have to pick a canonical
+ representative. We do this below.
+
+ Technically, this approach is actually more conservative that
+ it needs to be. In particular, `const int *' and `int *'
+ chould be in different alias sets, according to the C and C++
+ standard, since their types are not the same, and so,
+ technically, an `int **' and `const int **' cannot point at
+ the same thing.
+
+ But, the standard is wrong. In particular, this code is
+ legal C++:
+
+ int *ip;
+ int **ipp = &ip;
+ const int* const* cipp = &ip;
+
+ And, it doesn't make sense for that to be legal unless you
+ can dereference IPP and CIPP. So, we ignore cv-qualifiers on
+ the pointed-to types. This issue has been reported to the
+ C++ committee. */
+ t = TYPE_MAIN_VARIANT (TREE_TYPE (type));
+ t = ((TREE_CODE (type) == POINTER_TYPE)
+ ? build_pointer_type (t) : build_reference_type (t));
+ if (t != type)
+ TYPE_ALIAS_SET (type) = c_get_alias_set (t);
+ }
if (!TYPE_ALIAS_SET_KNOWN_P (type))
- /* TYPE is something we haven't seen before. Put it in a new
- alias set. */
- TYPE_ALIAS_SET (type) = new_alias_set ();
+ {
+ /* Types that are not allocated on the permanent obstack are not
+ placed in the type hash table. Thus, there can be multiple
+ copies of identical types in local scopes. In the long run,
+ all types should be permanent. */
+ if (! TREE_PERMANENT (type))
+ TYPE_ALIAS_SET (type) = 0;
+ else
+ /* TYPE is something we haven't seen before. Put it in a new
+ alias set. */
+ TYPE_ALIAS_SET (type) = new_alias_set ();
+ }
return TYPE_ALIAS_SET (type);
}
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index a232217bc0a..6f8a9006811 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -1,5 +1,6 @@
/* Process declarations and variables for C compiler.
- Copyright (C) 1988, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1951,6 +1952,7 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
{
/* Since the type is OLDDECL's, make OLDDECL's size go with. */
DECL_SIZE (newdecl) = DECL_SIZE (olddecl);
+ DECL_MODE (newdecl) = DECL_MODE (olddecl);
if (TREE_CODE (olddecl) != FUNCTION_DECL)
if (DECL_ALIGN (olddecl) > DECL_ALIGN (newdecl))
DECL_ALIGN (newdecl) = DECL_ALIGN (olddecl);
diff --git a/gcc/c-lang.c b/gcc/c-lang.c
index 4c554115b7c..7da67986af1 100644
--- a/gcc/c-lang.c
+++ b/gcc/c-lang.c
@@ -175,7 +175,9 @@ finish_file ()
{
tree fnname = get_file_function_name ('I');
start_function (void_list_node,
- build_parse_node (CALL_EXPR, fnname, void_list_node,
+ build_parse_node (CALL_EXPR, fnname,
+ tree_cons (NULL_TREE, NULL_TREE,
+ void_list_node),
NULL_TREE),
NULL_TREE, NULL_TREE, 0);
fnname = DECL_ASSEMBLER_NAME (current_function_decl);
@@ -195,7 +197,9 @@ finish_file ()
{
tree fnname = get_file_function_name ('D');
start_function (void_list_node,
- build_parse_node (CALL_EXPR, fnname, void_list_node,
+ build_parse_node (CALL_EXPR, fnname,
+ tree_cons (NULL_TREE, NULL_TREE,
+ void_list_node),
NULL_TREE),
NULL_TREE, NULL_TREE, 0);
fnname = DECL_ASSEMBLER_NAME (current_function_decl);
diff --git a/gcc/c-pragma.c b/gcc/c-pragma.c
index eedd0a13f0d..5aa8d9f2870 100644
--- a/gcc/c-pragma.c
+++ b/gcc/c-pragma.c
@@ -141,7 +141,7 @@ pop_alignment (id)
{
entry = alignment_stack->prev;
- if (entry == NULL || entry->alignment > 4)
+ if (entry == NULL)
maximum_field_alignment = 0;
else
maximum_field_alignment = entry->alignment * 8;
@@ -163,6 +163,7 @@ insert_pack_attributes (node, attributes, prefix)
tree * prefix;
{
tree a;
+ int field_alignment;
/* If we are not packing, then there is nothing to do. */
if (maximum_field_alignment == 0
@@ -173,12 +174,16 @@ insert_pack_attributes (node, attributes, prefix)
if (TREE_CODE_CLASS (TREE_CODE (node)) != 'd'
|| TREE_CODE (node) != FIELD_DECL)
return;
+
+ field_alignment = TYPE_ALIGN (TREE_TYPE (node));
+ if (field_alignment <= 0 || field_alignment > maximum_field_alignment)
+ field_alignment = maximum_field_alignment;
/* Add a 'packed' attribute. */
* attributes = tree_cons (get_identifier ("packed"), NULL, * attributes);
/* If the alignment is > 8 then add an alignment attribute as well. */
- if (maximum_field_alignment > 8)
+ if (field_alignment > 8)
{
/* If the aligned attribute is already present then do not override it. */
for (a = * attributes; a; a = TREE_CHAIN (a))
@@ -201,7 +206,7 @@ insert_pack_attributes (node, attributes, prefix)
* attributes = tree_cons
(get_identifier ("aligned"),
tree_cons (NULL,
- build_int_2 (maximum_field_alignment / 8, 0),
+ build_int_2 (field_alignment / 8, 0),
NULL),
* attributes);
}
@@ -383,8 +388,17 @@ handle_pragma_token (string, token)
case ps_left:
if (token == NULL_TREE)
- state = (strcmp (string, ")") ? ps_bad : ps_right);
-
+ {
+ /* #pragma pack () resets packing rules to their
+ defaults. */
+ if (strcmp (string, ")") == 0)
+ {
+ align = 0;
+ state = ps_right;
+ }
+ else
+ state = ps_bad;
+ }
else if (TREE_CODE (token) == INTEGER_CST)
goto handle_align;
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 854baf88823..a24cc38eaff 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -1,5 +1,6 @@
/* Build expressions with type checking for C compiler.
- Copyright (C) 1987, 88, 91-97, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -167,7 +168,8 @@ static tree
qualify_type (type, like)
tree type, like;
{
- return c_build_qualified_type (type, TYPE_QUALS (like));
+ return c_build_qualified_type (type,
+ TYPE_QUALS (type) | TYPE_QUALS (like));
}
/* Return the common type of two types.
@@ -5845,7 +5847,7 @@ add_pending_init (purpose, value)
p = *q;
if (tree_int_cst_lt (purpose, p->purpose))
q = &p->left;
- else if (tree_int_cst_lt (p->purpose, purpose))
+ else if (p->purpose != purpose)
q = &p->right;
else
abort ();
@@ -5859,8 +5861,7 @@ add_pending_init (purpose, value)
if (tree_int_cst_lt (DECL_FIELD_BITPOS (purpose),
DECL_FIELD_BITPOS (p->purpose)))
q = &p->left;
- else if (tree_int_cst_lt (DECL_FIELD_BITPOS (p->purpose),
- DECL_FIELD_BITPOS (purpose)))
+ else if (p->purpose != purpose)
q = &p->right;
else
abort ();
@@ -6045,7 +6046,7 @@ pending_init_member (field)
{
while (p)
{
- if (tree_int_cst_equal (field, p->purpose))
+ if (field == p->purpose)
return 1;
else if (tree_int_cst_lt (field, p->purpose))
p = p->left;
diff --git a/gcc/calls.c b/gcc/calls.c
index d0153a3d124..bb7595ab3f8 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1,5 +1,6 @@
/* Convert function calls to rtl insns, for GNU C compiler.
- Copyright (C) 1989, 92-97, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -405,7 +406,15 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
#ifndef ACCUMULATE_OUTGOING_ARGS
#if defined (HAVE_call_pop) && defined (HAVE_call_value_pop)
- if (HAVE_call_pop && HAVE_call_value_pop && n_popped > 0)
+/* If the target has "call" or "call_value" insns, then prefer them
+ if no arguments are actually popped. If the target does not have
+ "call" or "call_value" insns, then we must use the popping versions
+ even if the call has no arguments to pop. */
+ if (HAVE_call_pop && HAVE_call_value_pop
+#if defined (HAVE_call) && defined (HAVE_call_value)
+ && (n_popped > 0 || ! HAVE_call || ! HAVE_call_value)
+#endif
+ )
{
rtx n_pop = GEN_INT (n_popped);
rtx pat;
diff --git a/gcc/cccp.c b/gcc/cccp.c
index e89d00c574b..023502fbde4 100644
--- a/gcc/cccp.c
+++ b/gcc/cccp.c
@@ -1,5 +1,6 @@
/* C Compatible Compiler Preprocessor (CCCP)
- Copyright (C) 1986, 87, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
Written by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -3299,7 +3300,9 @@ randomchar:
#endif
if (output_marks) {
+ op->bufp = obp;
check_expand (op, limit - ibp + 2);
+ obp = op->bufp;
*obp++ = '\n';
*obp++ = '-';
}
@@ -3981,11 +3984,33 @@ handle_directive (ip, op)
case '\'':
case '\"':
{
+ int backslash_newlines_p = 0;
+
register U_CHAR *bp1
= skip_quoted_string (xp - 1, bp, ip->lineno,
- NULL_PTR, NULL_PTR, NULL_PTR);
- while (xp != bp1)
- *cp++ = *xp++;
+ NULL_PTR, &backslash_newlines_p,
+ NULL_PTR);
+ if (backslash_newlines_p)
+ while (xp != bp1)
+ {
+ /* With something like:
+
+ #define X "a\
+ b"
+
+ we should still remove the backslash-newline
+ pair as part of phase two. */
+ if (xp[0] == '\\' && xp[1] == '\n')
+ xp += 2;
+ else
+ *cp++ = *xp++;
+ }
+ else
+ /* This is the same as the loop above, but taking
+ advantage of the fact that we know there are no
+ backslash-newline pairs. */
+ while (xp != bp1)
+ *cp++ = *xp++;
}
break;
diff --git a/gcc/ch/ChangeLog b/gcc/ch/ChangeLog
index 290c07dc107..601896ca45f 100644
--- a/gcc/ch/ChangeLog
+++ b/gcc/ch/ChangeLog
@@ -1,3 +1,31 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Tue Oct 12 00:23:03 1999 Jeffrey A Law (law@cygnus.com)
+
+ Tue Sep 7 15:59:56 1999 Dave Brolley <brolley@cygnus.com>
+ * parse.h: Undefine DELAY if it's defined.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+1999-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Make-lang.in (CHILL.stage1): Depend on stage1-start.
+ (CHILL.stage2): Likewise for stage2-start.
+ (CHILL.stage3): Likewise for stage3-start.
+ (CHILL.stage4): Likewise for stage4-start.
+
Tue May 18 00:21:34 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
* lang-specs.h: Define __GNUC__ and __GNUC_MINOR__ only if -no-gcc
diff --git a/gcc/ch/Make-lang.in b/gcc/ch/Make-lang.in
index 7bd86edc38a..958d085ccc2 100644
--- a/gcc/ch/Make-lang.in
+++ b/gcc/ch/Make-lang.in
@@ -175,13 +175,13 @@ CHILL.maintainer-clean:
# Stage hooks:
# The main makefile has already created stage?/ch.
-CHILL.stage1:
+CHILL.stage1: stage1-start
-mv ch/*.o stage1/ch
-CHILL.stage2:
+CHILL.stage2: stage2-start
-mv ch/*.o stage2/ch
-CHILL.stage3:
+CHILL.stage3: stage3-start
-mv ch/*.o stage3/ch
-CHILL.stage4:
+CHILL.stage4: stage4-start
-mv ch/*.o stage4/ch
#
# Maintenance hooks:
diff --git a/gcc/ch/lang-specs.h b/gcc/ch/lang-specs.h
index ba946d3b55d..bd675bee2ac 100644
--- a/gcc/ch/lang-specs.h
+++ b/gcc/ch/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for GNU CHILL.
- Copyright (C) 1995, 1998, 1999 Free Software Foundation, Inc..
+ Copyright (C) 1995, 1998, 1999, 2000 Free Software Foundation, Inc..
This file is part of GNU CC.
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
{".ch", {"@chill"}},
{".chi", {"@chill"}},
{"@chill",
- {"cpp -lang-chill %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-chill %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU CHILL does not support -C without using -E}}\
%{!no-gcc:-D__GNUCHILL__=%v1 -D__GNUC_MINOR__=%v2}\
%c %{Os:-D__OPTIMIZE_SIZE__} %{O*:-D__OPTIMIZE__} %{traditional} %{ftraditional:-traditional}\
diff --git a/gcc/ch/parse.h b/gcc/ch/parse.h
index 6b6b159c498..3c88554ba66 100644
--- a/gcc/ch/parse.h
+++ b/gcc/ch/parse.h
@@ -7,6 +7,12 @@ typedef union {
} YYSTYPE;
extern YYSTYPE yylval;
+/* DELAY is defined in the standard headers on some platforms like
+ SunOS 4.1.4. */
+#ifdef DELAY
+#undef DELAY
+#endif
+
enum terminal
{
/*EOF = 0,*/
diff --git a/gcc/collect2.c b/gcc/collect2.c
index 10f76921598..153ac6f0126 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1,6 +1,7 @@
/* Collect static initialization info into data structures that can be
traversed by C++ initialization and finalization routines.
- Copyright (C) 1992, 93-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
Contributed by Chris Smith (csmith@convex.com).
Heavily modified by Michael Meissner (meissner@cygnus.com),
Per Bothner (bothner@cygnus.com), and John Gilmore (gnu@cygnus.com).
@@ -1515,7 +1516,7 @@ main (argc, argv)
/* On AIX we do this later. */
#ifndef COLLECT_EXPORT_LIST
- do_tlink (ld1_argv, object_lst);
+ do_tlink (ld1_argv, object_lst);
#endif
/* If -r or they will be run via some other method, do not build the
@@ -1527,6 +1528,9 @@ main (argc, argv)
)
{
#ifdef COLLECT_EXPORT_LIST
+ /* Do the link we avoided above if we are exiting. */
+ do_tlink (ld1_argv, object_lst);
+
/* But make sure we delete the export file we may have created. */
if (export_file != 0 && export_file[0])
maybe_unlink (export_file);
@@ -1555,6 +1559,7 @@ main (argc, argv)
{
notice ("%d constructor(s) found\n", constructors.number);
notice ("%d destructor(s) found\n", destructors.number);
+ notice ("%d frame table(s) found\n", frame_tables.number);
}
if (constructors.number == 0 && destructors.number == 0
@@ -2372,6 +2377,7 @@ scan_prog_file (prog_name, which_pass)
case 5:
if (which_pass != PASS_LIB)
add_to_list (&frame_tables, name);
+ break;
default: /* not a constructor or destructor */
continue;
@@ -2816,7 +2822,7 @@ scan_libraries (prog_name)
#if defined(EXTENDED_COFF)
# define GCC_SYMBOLS(X) (SYMHEADER(X).isymMax + SYMHEADER(X).iextMax)
# define GCC_SYMENT SYMR
-# define GCC_OK_SYMBOL(X) ((X).st == stProc && (X).sc == scText)
+# define GCC_OK_SYMBOL(X) ((X).st == stProc || (X).st == stGlobal)
# define GCC_SYMINC(X) (1)
# define GCC_SYMZERO(X) (SYMHEADER(X).isymMax)
# define GCC_CHECK_HDR(X) (PSYMTAB(X) != 0)
@@ -2956,6 +2962,11 @@ scan_prog_file (prog_name, which_pass)
break;
#endif
+ case 5:
+ if (! is_shared)
+ add_to_list (&frame_tables, name);
+ break;
+
default: /* not a constructor or destructor */
#ifdef COLLECT_EXPORT_LIST
/* If we are building a shared object on AIX we need
@@ -3035,21 +3046,11 @@ scan_prog_file (prog_name, which_pass)
#ifdef COLLECT_EXPORT_LIST
-/* This new function is used to decide whether we should
- generate import list for an object or to use it directly. */
+/* Never generate import list (gcc-2.95 branch). */
static int
use_import_list (prog_name)
char *prog_name;
{
- char *p;
-
- /* If we do not build a shared object then import list should not be used. */
- if (! shared_obj) return 0;
-
- /* Currently we check only for libgcc, but this can be changed in future. */
- p = strstr (prog_name, "libgcc.a");
- if (p != 0 && (strlen (p) == sizeof ("libgcc.a") - 1))
- return 1;
return 0;
}
diff --git a/gcc/combine.c b/gcc/combine.c
index 0b64a86a548..eb754815ce1 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -1,5 +1,6 @@
/* Optimize by combining instructions for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -392,6 +393,7 @@ static int n_occurrences;
static void init_reg_last_arrays PROTO((void));
static void setup_incoming_promotions PROTO((void));
static void set_nonzero_bits_and_sign_copies PROTO((rtx, rtx));
+static int cant_combine_insn_p PROTO((rtx));
static int can_combine_p PROTO((rtx, rtx, rtx, rtx, rtx *, rtx *));
static int sets_function_arg_p PROTO((rtx));
static int combinable_i3pat PROTO((rtx, rtx *, rtx, rtx, int, rtx *));
@@ -1312,6 +1314,54 @@ combinable_i3pat (i3, loc, i2dest, i1dest, i1_not_in_src, pi3dest_killed)
return 1;
}
+/* Determine whether INSN can be used in a combination. Return nonzero if
+ not. This is used in try_combine to detect early some cases where we
+ can't perform combinations. */
+
+static int
+cant_combine_insn_p (insn)
+ rtx insn;
+{
+ rtx set;
+ rtx src, dest;
+
+ /* If this isn't really an insn, we can't do anything.
+ This can occur when flow deletes an insn that it has merged into an
+ auto-increment address. */
+ if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
+ return 1;
+
+ /* For the 2.95.3 release, restrict this code to only handle the machines
+ where it's strictly needed. */
+ if (! SMALL_REGISTER_CLASSES)
+ return 0;
+
+ /* Never combine loads and stores involving hard regs. The register
+ allocator can usually handle such reg-reg moves by tying. If we allow
+ the combiner to make substitutions of hard regs, we risk aborting in
+ reload on machines that have SMALL_REGISTER_CLASSES.
+ As an exception, we allow combinations involving fixed regs; these are
+ not available to the register allocator so there's no risk involved. */
+
+ set = single_set (insn);
+ if (! set)
+ return 0;
+ src = SET_SRC (set);
+ dest = SET_DEST (set);
+ if (GET_CODE (src) == SUBREG)
+ src = SUBREG_REG (src);
+ if (GET_CODE (dest) == SUBREG)
+ dest = SUBREG_REG (dest);
+ if (REG_P (src) && REG_P (dest)
+ && ((REGNO (src) < FIRST_PSEUDO_REGISTER
+ && ! fixed_regs[REGNO (src)])
+ || (REGNO (dest) < FIRST_PSEUDO_REGISTER
+ && ! fixed_regs[REGNO (dest)])))
+ return 1;
+
+ return 0;
+}
+
/* Try to combine the insns I1 and I2 into I3.
Here I1 and I2 appear earlier than I3.
I1 can be zero; then we combine just I2 into I3.
@@ -1362,21 +1412,20 @@ try_combine (i3, i2, i1)
register rtx link;
int i;
- /* If any of I1, I2, and I3 isn't really an insn, we can't do anything.
- This can occur when flow deletes an insn that it has merged into an
- auto-increment address. We also can't do anything if I3 has a
- REG_LIBCALL note since we don't want to disrupt the contiguity of a
- libcall. */
-
- if (GET_RTX_CLASS (GET_CODE (i3)) != 'i'
- || GET_RTX_CLASS (GET_CODE (i2)) != 'i'
- || (i1 && GET_RTX_CLASS (GET_CODE (i1)) != 'i')
+ /* Exit early if one of the insns involved can't be used for
+ combinations. */
+ if (cant_combine_insn_p (i3)
+ || cant_combine_insn_p (i2)
+ || (i1 && cant_combine_insn_p (i1))
+ /* We also can't do anything if I3 has a
+ REG_LIBCALL note since we don't want to disrupt the contiguity of a
+ libcall. */
#if 0
/* ??? This gives worse code, and appears to be unnecessary, since no
pass after flow uses REG_LIBCALL/REG_RETVAL notes. */
|| find_reg_note (i3, REG_LIBCALL, NULL_RTX)
#endif
-)
+ )
return 0;
combine_attempts++;
@@ -4015,7 +4064,8 @@ simplify_rtx (x, op0_mode, last, in_dest)
gen_binary (MULT, mode,
XEXP (XEXP (x, 0), 0), XEXP (x, 1)),
gen_binary (MULT, mode,
- XEXP (XEXP (x, 0), 1), XEXP (x, 1))));
+ XEXP (XEXP (x, 0), 1),
+ copy_rtx (XEXP (x, 1)))));
if (GET_CODE (x) != MULT)
return x;
@@ -4954,7 +5004,8 @@ simplify_logical (x, last)
x = apply_distributive_law
(gen_binary (GET_CODE (op0), mode,
gen_binary (AND, mode, XEXP (op0, 0), op1),
- gen_binary (AND, mode, XEXP (op0, 1), op1)));
+ gen_binary (AND, mode, XEXP (op0, 1),
+ copy_rtx (op1))));
if (GET_CODE (x) != AND)
return x;
}
@@ -4963,7 +5014,8 @@ simplify_logical (x, last)
return apply_distributive_law
(gen_binary (GET_CODE (op1), mode,
gen_binary (AND, mode, XEXP (op1, 0), op0),
- gen_binary (AND, mode, XEXP (op1, 1), op0)));
+ gen_binary (AND, mode, XEXP (op1, 1),
+ copy_rtx (op0))));
/* Similarly, taking advantage of the fact that
(and (not A) (xor B C)) == (xor (ior A B) (ior A C)) */
@@ -4972,13 +5024,14 @@ simplify_logical (x, last)
return apply_distributive_law
(gen_binary (XOR, mode,
gen_binary (IOR, mode, XEXP (op0, 0), XEXP (op1, 0)),
- gen_binary (IOR, mode, XEXP (op0, 0), XEXP (op1, 1))));
+ gen_binary (IOR, mode, copy_rtx (XEXP (op0, 0)),
+ XEXP (op1, 1))));
else if (GET_CODE (op1) == NOT && GET_CODE (op0) == XOR)
return apply_distributive_law
(gen_binary (XOR, mode,
gen_binary (IOR, mode, XEXP (op1, 0), XEXP (op0, 0)),
- gen_binary (IOR, mode, XEXP (op1, 0), XEXP (op0, 1))));
+ gen_binary (IOR, mode, copy_rtx (XEXP (op1, 0)), XEXP (op0, 1))));
break;
case IOR:
@@ -5004,7 +5057,8 @@ simplify_logical (x, last)
x = apply_distributive_law
(gen_binary (AND, mode,
gen_binary (IOR, mode, XEXP (op0, 0), op1),
- gen_binary (IOR, mode, XEXP (op0, 1), op1)));
+ gen_binary (IOR, mode, XEXP (op0, 1),
+ copy_rtx (op1))));
if (GET_CODE (x) != IOR)
return x;
@@ -5015,7 +5069,8 @@ simplify_logical (x, last)
x = apply_distributive_law
(gen_binary (AND, mode,
gen_binary (IOR, mode, XEXP (op1, 0), op0),
- gen_binary (IOR, mode, XEXP (op1, 1), op0)));
+ gen_binary (IOR, mode, XEXP (op1, 1),
+ copy_rtx (op0))));
if (GET_CODE (x) != IOR)
return x;
@@ -10834,56 +10889,9 @@ get_last_value (x)
return 0;
/* If the value was set in a later insn than the ones we are processing,
- we can't use it even if the register was only set once, but make a quick
- check to see if the previous insn set it to something. This is commonly
- the case when the same pseudo is used by repeated insns.
-
- This does not work if there exists an instruction which is temporarily
- not on the insn chain. */
-
+ we can't use it even if the register was only set once. */
if (INSN_CUID (reg_last_set[regno]) >= subst_low_cuid)
- {
- rtx insn, set;
-
- /* We can not do anything useful in this case, because there is
- an instruction which is not on the insn chain. */
- if (subst_prev_insn)
- return 0;
-
- /* Skip over USE insns. They are not useful here, and they may have
- been made by combine, in which case they do not have a INSN_CUID
- value. We can't use prev_real_insn, because that would incorrectly
- take us backwards across labels. Skip over BARRIERs also, since
- they could have been made by combine. If we see one, we must be
- optimizing dead code, so it doesn't matter what we do. */
- for (insn = prev_nonnote_insn (subst_insn);
- insn && ((GET_CODE (insn) == INSN
- && GET_CODE (PATTERN (insn)) == USE)
- || GET_CODE (insn) == BARRIER
- || INSN_CUID (insn) >= subst_low_cuid);
- insn = prev_nonnote_insn (insn))
- ;
-
- if (insn
- && (set = single_set (insn)) != 0
- && rtx_equal_p (SET_DEST (set), x))
- {
- value = SET_SRC (set);
-
- /* Make sure that VALUE doesn't reference X. Replace any
- explicit references with a CLOBBER. If there are any remaining
- references (rare), don't use the value. */
-
- if (reg_mentioned_p (x, value))
- value = replace_rtx (copy_rtx (value), x,
- gen_rtx_CLOBBER (GET_MODE (x), const0_rtx));
-
- if (reg_overlap_mentioned_p (x, value))
- return 0;
- }
- else
- return 0;
- }
+ return 0;
/* If the value has all its registers valid, return it. */
if (get_last_value_validate (&value, reg_last_set[regno],
diff --git a/gcc/config.in b/gcc/config.in
index 0b14498ec93..c804a2b682e 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -94,6 +94,9 @@
/* Whether strsignal must be declared even if <string.h> is included. */
#undef NEED_DECLARATION_STRSIGNAL
+/* Whether strstr must be declared even if <string.h> is included. */
+#undef NEED_DECLARATION_STRSTR
+
/* Whether getcwd must be declared even if <unistd.h> is included. */
#undef NEED_DECLARATION_GETCWD
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 52e76bab38c..2d62693d76b 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -134,49 +134,6 @@ static int alpha_does_function_need_gp
void
override_options ()
{
- alpha_cpu
- = TARGET_CPU_DEFAULT & MASK_CPU_EV6 ? PROCESSOR_EV6
- : (TARGET_CPU_DEFAULT & MASK_CPU_EV5 ? PROCESSOR_EV5 : PROCESSOR_EV4);
-
- if (alpha_cpu_string)
- {
- if (! strcmp (alpha_cpu_string, "ev4")
- || ! strcmp (alpha_cpu_string, "21064"))
- {
- alpha_cpu = PROCESSOR_EV4;
- target_flags &= ~ (MASK_BWX | MASK_CIX | MASK_MAX);
- }
- else if (! strcmp (alpha_cpu_string, "ev5")
- || ! strcmp (alpha_cpu_string, "21164"))
- {
- alpha_cpu = PROCESSOR_EV5;
- target_flags &= ~ (MASK_BWX | MASK_CIX | MASK_MAX);
- }
- else if (! strcmp (alpha_cpu_string, "ev56")
- || ! strcmp (alpha_cpu_string, "21164a"))
- {
- alpha_cpu = PROCESSOR_EV5;
- target_flags |= MASK_BWX;
- target_flags &= ~ (MASK_CIX | MASK_MAX);
- }
- else if (! strcmp (alpha_cpu_string, "pca56")
- || ! strcmp (alpha_cpu_string, "21164PC")
- || ! strcmp (alpha_cpu_string, "21164pc"))
- {
- alpha_cpu = PROCESSOR_EV5;
- target_flags |= MASK_BWX | MASK_MAX;
- target_flags &= ~ MASK_CIX;
- }
- else if (! strcmp (alpha_cpu_string, "ev6")
- || ! strcmp (alpha_cpu_string, "21264"))
- {
- alpha_cpu = PROCESSOR_EV6;
- target_flags |= MASK_BWX | MASK_CIX | MASK_MAX;
- }
- else
- error ("bad value `%s' for -mcpu switch", alpha_cpu_string);
- }
-
alpha_tp = ALPHA_TP_PROG;
alpha_fprm = ALPHA_FPRM_NORM;
alpha_fptm = ALPHA_FPTM_N;
@@ -234,10 +191,54 @@ override_options ()
error ("bad value `%s' for -mfp-trap-mode switch", alpha_fptm_string);
}
- /* Do some sanity checks on the above option. */
+ alpha_cpu
+ = TARGET_CPU_DEFAULT & MASK_CPU_EV6 ? PROCESSOR_EV6
+ : (TARGET_CPU_DEFAULT & MASK_CPU_EV5 ? PROCESSOR_EV5 : PROCESSOR_EV4);
+
+ if (alpha_cpu_string)
+ {
+ if (! strcmp (alpha_cpu_string, "ev4")
+ || ! strcmp (alpha_cpu_string, "21064"))
+ {
+ alpha_cpu = PROCESSOR_EV4;
+ target_flags &= ~ (MASK_BWX | MASK_MAX | MASK_FIX | MASK_CIX);
+ }
+ else if (! strcmp (alpha_cpu_string, "ev5")
+ || ! strcmp (alpha_cpu_string, "21164"))
+ {
+ alpha_cpu = PROCESSOR_EV5;
+ target_flags &= ~ (MASK_BWX | MASK_MAX | MASK_FIX | MASK_CIX);
+ }
+ else if (! strcmp (alpha_cpu_string, "ev56")
+ || ! strcmp (alpha_cpu_string, "21164a"))
+ {
+ alpha_cpu = PROCESSOR_EV5;
+ target_flags |= MASK_BWX;
+ target_flags &= ~ (MASK_MAX | MASK_FIX | MASK_CIX);
+ }
+ else if (! strcmp (alpha_cpu_string, "pca56")
+ || ! strcmp (alpha_cpu_string, "21164PC")
+ || ! strcmp (alpha_cpu_string, "21164pc"))
+ {
+ alpha_cpu = PROCESSOR_EV5;
+ target_flags |= MASK_BWX | MASK_MAX;
+ target_flags &= ~ (MASK_FIX | MASK_CIX);
+ }
+ else if (! strcmp (alpha_cpu_string, "ev6")
+ || ! strcmp (alpha_cpu_string, "21264"))
+ {
+ alpha_cpu = PROCESSOR_EV6;
+ target_flags |= MASK_BWX | MASK_MAX | MASK_FIX;
+ target_flags &= ~ (MASK_CIX);
+ }
+ else
+ error ("bad value `%s' for -mcpu switch", alpha_cpu_string);
+ }
+
+ /* Do some sanity checks on the above options. */
if ((alpha_fptm == ALPHA_FPTM_SU || alpha_fptm == ALPHA_FPTM_SUI)
- && alpha_tp != ALPHA_TP_INSN)
+ && alpha_tp != ALPHA_TP_INSN && alpha_cpu != PROCESSOR_EV6)
{
warning ("fp software completion requires -mtrap-precision=i");
alpha_tp = ALPHA_TP_INSN;
@@ -2124,7 +2125,7 @@ alpha_expand_block_move (operands)
start_sequence ();
emit_move_insn (gen_lowpart (DImode, tmp), data_regs[0]);
emit_move_insn (gen_highpart (DImode, tmp), data_regs[1]);
- seq = gen_sequence ();
+ seq = get_insns ();
end_sequence ();
emit_no_conflict_block (seq, tmp, data_regs[0],
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 857ba0d4832..e9c3f6d2f68 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -95,73 +95,76 @@ extern enum alpha_fp_trap_mode alpha_fptm;
/* This means that floating-point support exists in the target implementation
of the Alpha architecture. This is usually the default. */
-
-#define MASK_FP 1
+#define MASK_FP (1 << 0)
#define TARGET_FP (target_flags & MASK_FP)
/* This means that floating-point registers are allowed to be used. Note
that Alpha implementations without FP operations are required to
provide the FP registers. */
-#define MASK_FPREGS 2
+#define MASK_FPREGS (1 << 1)
#define TARGET_FPREGS (target_flags & MASK_FPREGS)
/* This means that gas is used to process the assembler file. */
-#define MASK_GAS 4
+#define MASK_GAS (1 << 2)
#define TARGET_GAS (target_flags & MASK_GAS)
/* This means that we should mark procedures as IEEE conformant. */
-#define MASK_IEEE_CONFORMANT 8
+#define MASK_IEEE_CONFORMANT (1 << 3)
#define TARGET_IEEE_CONFORMANT (target_flags & MASK_IEEE_CONFORMANT)
/* This means we should be IEEE-compliant except for inexact. */
-#define MASK_IEEE 16
+#define MASK_IEEE (1 << 4)
#define TARGET_IEEE (target_flags & MASK_IEEE)
/* This means we should be fully IEEE-compliant. */
-#define MASK_IEEE_WITH_INEXACT 32
+#define MASK_IEEE_WITH_INEXACT (1 << 5)
#define TARGET_IEEE_WITH_INEXACT (target_flags & MASK_IEEE_WITH_INEXACT)
/* This means we must construct all constants rather than emitting
them as literal data. */
-#define MASK_BUILD_CONSTANTS 128
+#define MASK_BUILD_CONSTANTS (1 << 6)
#define TARGET_BUILD_CONSTANTS (target_flags & MASK_BUILD_CONSTANTS)
/* This means we handle floating points in VAX F- (float)
or G- (double) Format. */
-#define MASK_FLOAT_VAX 512
+#define MASK_FLOAT_VAX (1 << 7)
#define TARGET_FLOAT_VAX (target_flags & MASK_FLOAT_VAX)
/* This means that the processor has byte and half word loads and stores
(the BWX extension). */
-#define MASK_BWX 1024
+#define MASK_BWX (1 << 8)
#define TARGET_BWX (target_flags & MASK_BWX)
-/* This means that the processor has the CIX extension. */
-#define MASK_CIX 2048
-#define TARGET_CIX (target_flags & MASK_CIX)
-
/* This means that the processor has the MAX extension. */
-#define MASK_MAX 4096
+#define MASK_MAX (1 << 9)
#define TARGET_MAX (target_flags & MASK_MAX)
+/* This means that the processor has the FIX extension. */
+#define MASK_FIX (1 << 10)
+#define TARGET_FIX (target_flags & MASK_FIX)
+
+/* This means that the processor has the CIX extension. */
+#define MASK_CIX (1 << 11)
+#define TARGET_CIX (target_flags & MASK_CIX)
+
/* This means that the processor is an EV5, EV56, or PCA56. This is defined
only in TARGET_CPU_DEFAULT. */
-#define MASK_CPU_EV5 8192
+#define MASK_CPU_EV5 (1 << 28)
/* Likewise for EV6. */
-#define MASK_CPU_EV6 16384
+#define MASK_CPU_EV6 (1 << 29)
/* This means we support the .arch directive in the assembler. Only
defined in TARGET_CPU_DEFAULT. */
-#define MASK_SUPPORT_ARCH 32768
+#define MASK_SUPPORT_ARCH (1 << 30)
#define TARGET_SUPPORT_ARCH (target_flags & MASK_SUPPORT_ARCH)
/* These are for target os support and cannot be changed at runtime. */
@@ -204,10 +207,12 @@ extern enum alpha_fp_trap_mode alpha_fptm;
{"float-ieee", -MASK_FLOAT_VAX, "Do not use VAX fp"}, \
{"bwx", MASK_BWX, "Emit code for the byte/word ISA extension"}, \
{"no-bwx", -MASK_BWX, ""}, \
- {"cix", MASK_CIX, "Emit code for the counting ISA extension"}, \
- {"no-cix", -MASK_CIX, ""}, \
{"max", MASK_MAX, "Emit code for the motion video ISA extension"}, \
{"no-max", -MASK_MAX, ""}, \
+ {"fix", MASK_FIX, "Emit code for the fp move and sqrt ISA extension"}, \
+ {"no-fix", -MASK_FIX, ""}, \
+ {"cix", MASK_CIX, "Emit code for the counting ISA extension"}, \
+ {"no-cix", -MASK_CIX, ""}, \
{"", TARGET_DEFAULT | TARGET_CPU_DEFAULT, ""} }
#define TARGET_DEFAULT MASK_FP|MASK_FPREGS
@@ -258,6 +263,7 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */
/* Corresponding to amask... */
#define CPP_AM_BWX_SPEC "-D__alpha_bwx__ -Acpu(bwx)"
#define CPP_AM_MAX_SPEC "-D__alpha_max__ -Acpu(max)"
+#define CPP_AM_FIX_SPEC "-D__alpha_fix__ -Acpu(fix)"
#define CPP_AM_CIX_SPEC "-D__alpha_cix__ -Acpu(cix)"
/* Corresponding to implver... */
@@ -270,7 +276,7 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */
#define CPP_CPU_EV5_SPEC "%(cpp_im_ev5)"
#define CPP_CPU_EV56_SPEC "%(cpp_im_ev5) %(cpp_am_bwx)"
#define CPP_CPU_PCA56_SPEC "%(cpp_im_ev5) %(cpp_am_bwx) %(cpp_am_max)"
-#define CPP_CPU_EV6_SPEC "%(cpp_im_ev6) %(cpp_am_bwx) %(cpp_am_max) %(cpp_am_cix)"
+#define CPP_CPU_EV6_SPEC "%(cpp_im_ev6) %(cpp_am_bwx) %(cpp_am_max) %(cpp_am_fix)"
#ifndef CPP_CPU_DEFAULT_SPEC
# if TARGET_CPU_DEFAULT & MASK_CPU_EV6
@@ -320,6 +326,7 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */
#define EXTRA_SPECS \
{ "cpp_am_bwx", CPP_AM_BWX_SPEC }, \
{ "cpp_am_max", CPP_AM_MAX_SPEC }, \
+ { "cpp_am_fix", CPP_AM_FIX_SPEC }, \
{ "cpp_am_cix", CPP_AM_CIX_SPEC }, \
{ "cpp_im_ev4", CPP_IM_EV4_SPEC }, \
{ "cpp_im_ev5", CPP_IM_EV5_SPEC }, \
@@ -848,10 +855,10 @@ extern int normal_memory_operand ();
: NO_REGS)
/* If we are copying between general and FP registers, we need a memory
- location unless the CIX extension is available. */
+ location unless the FIX extension is available. */
#define SECONDARY_MEMORY_NEEDED(CLASS1,CLASS2,MODE) \
- (! TARGET_CIX && (CLASS1) != (CLASS2))
+ (! TARGET_FIX && (CLASS1) != (CLASS2))
/* Specify the mode to be used for memory when a secondary memory
location is needed. If MODE is floating-point, use it. Otherwise,
@@ -884,7 +891,7 @@ extern int normal_memory_operand ();
#define REGISTER_MOVE_COST(CLASS1, CLASS2) \
(((CLASS1) == FLOAT_REGS) == ((CLASS2) == FLOAT_REGS) \
? 2 \
- : TARGET_CIX ? 3 : 4+2*alpha_memory_latency)
+ : TARGET_FIX ? 3 : 4+2*alpha_memory_latency)
/* A C expressions returning the cost of moving data of MODE from a register to
or from memory.
@@ -2138,6 +2145,11 @@ literal_section () \
} \
while (0)
+/* To get unaligned data, we have to turn off auto alignment. */
+#define UNALIGNED_SHORT_ASM_OP ".align 0\n\t.word"
+#define UNALIGNED_INT_ASM_OP ".align 0\n\t.long"
+#define UNALIGNED_DOUBLE_INT_ASM_OP ".align 0\n\t.quad"
+
/* This is how to output an insn to push a register on the stack.
It need not be very fast code. */
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 0f7aa5a66e7..6d075e99904 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -1219,7 +1219,15 @@
"eqv %r1,%2,%0"
[(set_attr "type" "ilog")])
-;; Handle the FFS insn if we support CIX.
+;; Handle the FFS insn iff we support CIX.
+;;
+;; These didn't make it into EV6 pass 2 as planned. Instead they
+;; cropped cttz/ctlz/ctpop from the old CIX and renamed it FIX for
+;; "Square Root and Floating Point Convert Extension".
+;;
+;; I'm assured that these insns will make it into EV67 (first pass
+;; due Summer 1999), presumably with a new AMASK bit, and presumably
+;; will still be named CIX.
(define_expand "ffsdi2"
[(set (match_dup 2)
@@ -1241,7 +1249,7 @@
(unspec [(match_operand:DI 1 "register_operand" "r")] 1))]
"TARGET_CIX"
"cttz %1,%0"
- ; ev6 calls all mvi and cttz/ctlz/popc class imisc, so just
+ ; EV6 calls all mvi and cttz/ctlz/popc class imisc, so just
; reuse the existing type name.
[(set_attr "type" "mvi")])
@@ -2300,7 +2308,7 @@
(define_insn ""
[(set (match_operand:SF 0 "register_operand" "=&f")
(sqrt:SF (match_operand:SF 1 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && TARGET_CIX && alpha_tp == ALPHA_TP_INSN"
+ "TARGET_FP && TARGET_FIX && alpha_tp == ALPHA_TP_INSN"
"sqrt%,%)%& %R1,%0"
[(set_attr "type" "fsqrt")
(set_attr "opsize" "si")
@@ -2309,7 +2317,7 @@
(define_insn "sqrtsf2"
[(set (match_operand:SF 0 "register_operand" "=f")
(sqrt:SF (match_operand:SF 1 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && TARGET_CIX"
+ "TARGET_FP && TARGET_FIX"
"sqrt%,%)%& %R1,%0"
[(set_attr "type" "fsqrt")
(set_attr "opsize" "si")
@@ -2318,7 +2326,7 @@
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=&f")
(sqrt:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && TARGET_CIX && alpha_tp == ALPHA_TP_INSN"
+ "TARGET_FP && TARGET_FIX && alpha_tp == ALPHA_TP_INSN"
"sqrt%-%)%& %R1,%0"
[(set_attr "type" "fsqrt")
(set_attr "trap" "yes")])
@@ -2326,7 +2334,7 @@
(define_insn "sqrtdf2"
[(set (match_operand:DF 0 "register_operand" "=f")
(sqrt:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && TARGET_CIX"
+ "TARGET_FP && TARGET_FIX"
"sqrt%-%)%& %1,%0"
[(set_attr "type" "fsqrt")
(set_attr "trap" "yes")])
@@ -4015,7 +4023,7 @@
(define_insn ""
[(set (match_operand:SF 0 "nonimmediate_operand" "=f,f,r,r,m,m")
(match_operand:SF 1 "input_operand" "fG,m,rG,m,fG,r"))]
- "! TARGET_CIX
+ "! TARGET_FIX
&& (register_operand (operands[0], SFmode)
|| reg_or_fp0_operand (operands[1], SFmode))"
"@
@@ -4030,7 +4038,7 @@
(define_insn ""
[(set (match_operand:SF 0 "nonimmediate_operand" "=f,f,r,r,m,m,f,*r")
(match_operand:SF 1 "input_operand" "fG,m,rG,m,fG,r,r,*f"))]
- "TARGET_CIX
+ "TARGET_FIX
&& (register_operand (operands[0], SFmode)
|| reg_or_fp0_operand (operands[1], SFmode))"
"@
@@ -4047,7 +4055,7 @@
(define_insn ""
[(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,r,r,m,m")
(match_operand:DF 1 "input_operand" "fG,m,rG,m,fG,r"))]
- "! TARGET_CIX
+ "! TARGET_FIX
&& (register_operand (operands[0], DFmode)
|| reg_or_fp0_operand (operands[1], DFmode))"
"@
@@ -4062,7 +4070,7 @@
(define_insn ""
[(set (match_operand:DF 0 "nonimmediate_operand" "=f,f,r,r,m,m,f,*r")
(match_operand:DF 1 "input_operand" "fG,m,rG,m,fG,r,r,*f"))]
- "TARGET_CIX
+ "TARGET_FIX
&& (register_operand (operands[0], DFmode)
|| reg_or_fp0_operand (operands[1], DFmode))"
"@
@@ -4101,7 +4109,7 @@
(define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,r,m,f,f,m")
(match_operand:SI 1 "input_operand" "rJ,K,L,m,rJ,fJ,m,f"))]
- "! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && ! TARGET_CIX
+ "! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && ! TARGET_FIX
&& (register_operand (operands[0], SImode)
|| reg_or_0_operand (operands[1], SImode))"
"@
@@ -4118,7 +4126,7 @@
(define_insn ""
[(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,r,m,f,f,m,r,*f")
(match_operand:SI 1 "input_operand" "rJ,K,L,m,rJ,fJ,m,f,f,*r"))]
- "! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && TARGET_CIX
+ "! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && TARGET_FIX
&& (register_operand (operands[0], SImode)
|| reg_or_0_operand (operands[1], SImode))"
"@
@@ -4250,7 +4258,7 @@
(define_insn ""
[(set (match_operand:DI 0 "general_operand" "=r,r,r,r,r,m,f,f,Q")
(match_operand:DI 1 "input_operand" "rJ,K,L,s,m,rJ,fJ,Q,f"))]
- "! TARGET_CIX
+ "! TARGET_FIX
&& (register_operand (operands[0], DImode)
|| reg_or_0_operand (operands[1], DImode))"
"@
@@ -4268,7 +4276,7 @@
(define_insn ""
[(set (match_operand:DI 0 "general_operand" "=r,r,r,r,r,m,f,f,Q,r,*f")
(match_operand:DI 1 "input_operand" "rJ,K,L,s,m,rJ,fJ,Q,f,f,*r"))]
- "TARGET_CIX
+ "TARGET_FIX
&& (register_operand (operands[0], DImode)
|| reg_or_0_operand (operands[1], DImode))"
"@
@@ -4555,15 +4563,22 @@
{
if (aligned_memory_operand (operands[1], QImode))
{
- rtx aligned_mem, bitnum;
- rtx scratch = (reload_in_progress
- ? gen_rtx_REG (SImode, REGNO (operands[0]))
- : gen_reg_rtx (SImode));
+ if (reload_in_progress)
+ {
+ emit_insn (gen_reload_inqi_help
+ (operands[0], operands[1],
+ gen_rtx_REG (SImode, REGNO (operands[0]))));
+ }
+ else
+ {
+ rtx aligned_mem, bitnum;
+ rtx scratch = gen_reg_rtx (SImode);
- get_aligned_mem (operands[1], &aligned_mem, &bitnum);
+ get_aligned_mem (operands[1], &aligned_mem, &bitnum);
- emit_insn (gen_aligned_loadqi (operands[0], aligned_mem, bitnum,
- scratch));
+ emit_insn (gen_aligned_loadqi (operands[0], aligned_mem, bitnum,
+ scratch));
+ }
}
else
{
@@ -4666,15 +4681,22 @@
{
if (aligned_memory_operand (operands[1], HImode))
{
- rtx aligned_mem, bitnum;
- rtx scratch = (reload_in_progress
- ? gen_rtx_REG (SImode, REGNO (operands[0]))
- : gen_reg_rtx (SImode));
+ if (reload_in_progress)
+ {
+ emit_insn (gen_reload_inhi_help
+ (operands[0], operands[1],
+ gen_rtx_REG (SImode, REGNO (operands[0]))));
+ }
+ else
+ {
+ rtx aligned_mem, bitnum;
+ rtx scratch = gen_reg_rtx (SImode);
- get_aligned_mem (operands[1], &aligned_mem, &bitnum);
+ get_aligned_mem (operands[1], &aligned_mem, &bitnum);
- emit_insn (gen_aligned_loadhi (operands[0], aligned_mem, bitnum,
- scratch));
+ emit_insn (gen_aligned_loadhi (operands[0], aligned_mem, bitnum,
+ scratch));
+ }
}
else
{
@@ -4752,11 +4774,8 @@
if (aligned_memory_operand (operands[1], QImode))
{
- rtx aligned_mem, bitnum;
-
- get_aligned_mem (operands[1], &aligned_mem, &bitnum);
- seq = gen_aligned_loadqi (operands[0], aligned_mem, bitnum,
- gen_rtx_REG (SImode, REGNO (operands[2])));
+ seq = gen_reload_inqi_help (operands[0], operands[1],
+ gen_rtx_REG (SImode, REGNO (operands[2])));
}
else
{
@@ -4793,11 +4812,8 @@
if (aligned_memory_operand (operands[1], HImode))
{
- rtx aligned_mem, bitnum;
-
- get_aligned_mem (operands[1], &aligned_mem, &bitnum);
- seq = gen_aligned_loadhi (operands[0], aligned_mem, bitnum,
- gen_rtx_REG (SImode, REGNO (operands[2])));
+ seq = gen_reload_inhi_help (operands[0], operands[1],
+ gen_rtx_REG (SImode, REGNO (operands[2])));
}
else
{
@@ -4832,14 +4848,10 @@
if (aligned_memory_operand (operands[0], QImode))
{
- rtx aligned_mem, bitnum;
-
- get_aligned_mem (operands[0], &aligned_mem, &bitnum);
-
- emit_insn (gen_aligned_store (aligned_mem, operands[1], bitnum,
- gen_rtx_REG (SImode, REGNO (operands[2])),
- gen_rtx_REG (SImode,
- REGNO (operands[2]) + 1)));
+ emit_insn (gen_reload_outqi_help
+ (operands[0], operands[1],
+ gen_rtx_REG (SImode, REGNO (operands[2])),
+ gen_rtx_REG (SImode, REGNO (operands[2]) + 1)));
}
else
{
@@ -4872,14 +4884,10 @@
if (aligned_memory_operand (operands[0], HImode))
{
- rtx aligned_mem, bitnum;
-
- get_aligned_mem (operands[0], &aligned_mem, &bitnum);
-
- emit_insn (gen_aligned_store (aligned_mem, operands[1], bitnum,
- gen_rtx_REG (SImode, REGNO (operands[2])),
- gen_rtx_REG (SImode,
- REGNO (operands[2]) + 1)));
+ emit_insn (gen_reload_outhi_help
+ (operands[0], operands[1],
+ gen_rtx_REG (SImode, REGNO (operands[2])),
+ gen_rtx_REG (SImode, REGNO (operands[2]) + 1)));
}
else
{
@@ -4899,6 +4907,102 @@
}
DONE;
}")
+
+;; Helpers for the above. The way reload is structured, we can't
+;; always get a proper address for a stack slot during reload_foo
+;; expansion, so we must delay our address manipulations until after.
+
+(define_insn "reload_inqi_help"
+ [(set (match_operand:QI 0 "register_operand" "r")
+ (match_operand:QI 1 "memory_operand" "m"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))]
+ "! TARGET_BWX && (reload_in_progress || reload_completed)"
+ "#")
+
+(define_insn "reload_inhi_help"
+ [(set (match_operand:HI 0 "register_operand" "r")
+ (match_operand:HI 1 "memory_operand" "m"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))]
+ "! TARGET_BWX && (reload_in_progress || reload_completed)"
+ "#")
+
+(define_insn "reload_outqi_help"
+ [(set (match_operand:QI 0 "memory_operand" "m")
+ (match_operand:QI 1 "register_operand" "r"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))
+ (clobber (match_operand:SI 3 "register_operand" "r"))]
+ "! TARGET_BWX && (reload_in_progress || reload_completed)"
+ "#")
+
+(define_insn "reload_outhi_help"
+ [(set (match_operand:HI 0 "memory_operand" "m")
+ (match_operand:HI 1 "register_operand" "r"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))
+ (clobber (match_operand:SI 3 "register_operand" "r"))]
+ "! TARGET_BWX && (reload_in_progress || reload_completed)"
+ "#")
+
+(define_split
+ [(set (match_operand:QI 0 "register_operand" "r")
+ (match_operand:QI 1 "memory_operand" "m"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))]
+ "! TARGET_BWX && reload_completed"
+ [(const_int 0)]
+ "
+{
+ rtx aligned_mem, bitnum;
+ get_aligned_mem (operands[1], &aligned_mem, &bitnum);
+ emit_insn (gen_aligned_loadqi (operands[0], aligned_mem, bitnum,
+ operands[2]));
+ DONE;
+}")
+
+(define_split
+ [(set (match_operand:HI 0 "register_operand" "r")
+ (match_operand:HI 1 "memory_operand" "m"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))]
+ "! TARGET_BWX && reload_completed"
+ [(const_int 0)]
+ "
+{
+ rtx aligned_mem, bitnum;
+ get_aligned_mem (operands[1], &aligned_mem, &bitnum);
+ emit_insn (gen_aligned_loadhi (operands[0], aligned_mem, bitnum,
+ operands[2]));
+ DONE;
+}")
+
+(define_split
+ [(set (match_operand:QI 0 "memory_operand" "m")
+ (match_operand:QI 1 "register_operand" "r"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))
+ (clobber (match_operand:SI 3 "register_operand" "r"))]
+ "! TARGET_BWX && reload_completed"
+ [(const_int 0)]
+ "
+{
+ rtx aligned_mem, bitnum;
+ get_aligned_mem (operands[0], &aligned_mem, &bitnum);
+ emit_insn (gen_aligned_store (aligned_mem, operands[1], bitnum,
+ operands[2], operands[3]));
+ DONE;
+}")
+
+(define_split
+ [(set (match_operand:HI 0 "memory_operand" "m")
+ (match_operand:HI 1 "register_operand" "r"))
+ (clobber (match_operand:SI 2 "register_operand" "r"))
+ (clobber (match_operand:SI 3 "register_operand" "r"))]
+ "! TARGET_BWX && reload_completed"
+ [(const_int 0)]
+ "
+{
+ rtx aligned_mem, bitnum;
+ get_aligned_mem (operands[0], &aligned_mem, &bitnum);
+ emit_insn (gen_aligned_store (aligned_mem, operands[1], bitnum,
+ operands[2], operands[3]));
+ DONE;
+}")
;; Bit field extract patterns which use ext[wlq][lh]
@@ -5307,5 +5411,5 @@
; (match_operand:SI 1 "hard_fp_register_operand" "f"))
; (set (match_operand:DI 2 "register_operand" "=r")
; (sign_extend:DI (match_dup 0)))]
-; "TARGET_CIX && dead_or_set_p (insn, operands[0])"
+; "TARGET_FIX && dead_or_set_p (insn, operands[0])"
; "ftois %1,%2")
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
index b90ce9fa914..6cea3da5d5b 100644
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -58,7 +58,7 @@ do { \
} \
fprintf (FILE, "\t.set noat\n"); \
fprintf (FILE, "\t.set noreorder\n"); \
- if (TARGET_BWX | TARGET_MAX | TARGET_CIX) \
+ if (TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX) \
{ \
fprintf (FILE, "\t.arch %s\n", \
(alpha_cpu == PROCESSOR_EV6 ? "ev6" \
@@ -526,3 +526,9 @@ do { \
/* We support #pragma. */
#define HANDLE_SYSV_PRAGMA
+
+/* Undo the auto-alignment stuff from alpha.h. ELF has unaligned data
+ pseudos natively. */
+#undef UNALIGNED_SHORT_ASM_OP
+#undef UNALIGNED_INT_ASM_OP
+#undef UNALIGNED_DOUBLE_INT_ASM_OP
diff --git a/gcc/config/alpha/osf.h b/gcc/config/alpha/osf.h
index 956961f7cf3..5054444a759 100644
--- a/gcc/config/alpha/osf.h
+++ b/gcc/config/alpha/osf.h
@@ -30,9 +30,19 @@ Boston, MA 02111-1307, USA. */
-Dunix -D__osf__ -D_LONGLONG -DSYSTYPE_BSD \
-D_SYSTYPE_BSD -Asystem(unix) -Asystem(xpg4)"
+/* Accept DEC C flags for multithreaded programs. We use _PTHREAD_USE_D4
+ instead of PTHREAD_USE_D4 since both have the same effect and the former
+ doesn't invade the users' namespace. */
+
+#undef CPP_SUBTARGET_SPEC
+#define CPP_SUBTARGET_SPEC \
+"%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4}"
+
/* Under OSF4, -p and -pg require -lprof1, and -lprof1 requires -lpdf. */
-#define LIB_SPEC "%{p:-lprof1 -lpdf} %{pg:-lprof1 -lpdf} %{a:-lprof2} -lc"
+#define LIB_SPEC \
+"%{p|pg:-lprof1%{pthread|threads:_r} -lpdf} %{a:-lprof2} \
+ %{threads: -lpthreads} %{pthread|threads: -lpthread -lmach -lexc} -lc"
/* Pass "-G 8" to ld because Alpha's CC does. Pass -O3 if we are
optimizing, -O1 if we are not. Pass -shared, -non_shared or
diff --git a/gcc/config/alpha/t-ieee b/gcc/config/alpha/t-ieee
new file mode 100644
index 00000000000..a1f93db1b2d
--- /dev/null
+++ b/gcc/config/alpha/t-ieee
@@ -0,0 +1,6 @@
+# All alphas get an IEEE complaint set of libraries.
+MULTILIB_OPTIONS = mieee
+MULTILIB_DIRNAMES = ieee
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index 44cf5bf82df..44388b2cf33 100644
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -439,10 +439,6 @@ extern int vms_valid_decl_attribute_p ();
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
fprintf (FILE, "\t.align %d\n", LOG);
-#define UNALIGNED_SHORT_ASM_OP ".word"
-#define UNALIGNED_INT_ASM_OP ".long"
-#define UNALIGNED_DOUBLE_INT_ASM_OP ".quad"
-
#define ASM_OUTPUT_SECTION(FILE,SECTION) \
(strcmp (SECTION, ".text") == 0) \
? text_section () \
diff --git a/gcc/config/arm/aout.h b/gcc/config/arm/aout.h
index 2e341b768a6..df1694aa9ca 100644
--- a/gcc/config/arm/aout.h
+++ b/gcc/config/arm/aout.h
@@ -236,6 +236,7 @@ do { char dstr[30]; \
fprintf (STREAM, "\t.space\t%d\n", NBYTES)
/* Align output to a power of two. Horrible /bin/as. */
+#ifndef ASM_OUTPUT_ALIGN
#define ASM_OUTPUT_ALIGN(STREAM, POWER) \
do \
{ \
@@ -245,7 +246,9 @@ do { char dstr[30]; \
fprintf (STREAM, "\t.even\n"); \
else if (amount != 1) \
fprintf (STREAM, "\t.align\t%d\n", amount - 4); \
- } while (0)
+ } \
+ while (0)
+#endif
/* Output a common block */
#ifndef ASM_OUTPUT_COMMON
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index e2fe037ad56..fe7b41156e0 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -1,5 +1,6 @@
/* Output routines for GCC for ARM.
- Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rearnsha@arm.com).
@@ -68,7 +69,10 @@ static int function_really_clobbers_lr PROTO ((rtx));
static void emit_multi_reg_push PROTO ((int));
static void emit_sfm PROTO ((int, int));
static enum arm_cond_code get_arm_condition_code PROTO ((rtx));
-static int const_ok_for_op RTX_CODE_PROTO ((Hint, Rcode));
+static int const_ok_for_op RTX_CODE_PROTO ((HOST_WIDE_INT, Rcode));
+
+/* True if we are currently building a constant table. */
+int making_const_table;
/* Define the information needed to generate branch insns. This is
stored from the compare operation. */
@@ -483,25 +487,18 @@ arm_override_options ()
if (flag_pic && ! TARGET_APCS_STACK)
arm_pic_register = 10;
- /* Well, I'm about to have a go, but pic is NOT going to be compatible
- with APCS reentrancy, since that requires too much support in the
- assembler and linker, and the ARMASM assembler seems to lack some
- required directives. */
- if (flag_pic)
- warning ("Position independent code not supported");
-
if (TARGET_APCS_FLOAT)
warning ("Passing floating point arguments in fp regs not yet supported");
/* Initialise boolean versions of the flags, for use in the arm.md file. */
- arm_fast_multiply = insn_flags & FL_FAST_MULT;
- arm_arch4 = insn_flags & FL_ARCH4;
+ arm_fast_multiply = (insn_flags & FL_FAST_MULT) != 0;
+ arm_arch4 = (insn_flags & FL_ARCH4) != 0;
- arm_ld_sched = tune_flags & FL_LDSCHED;
- arm_is_strong = tune_flags & FL_STRONG;
+ arm_ld_sched = (tune_flags & FL_LDSCHED) != 0;
+ arm_is_strong = (tune_flags & FL_STRONG) != 0;
arm_is_6_or_7 = ((tune_flags & (FL_MODE26 | FL_MODE32))
&& !(tune_flags & FL_ARCH4));
-
+
/* Default value for floating point code... if no co-processor
bus, then schedule for emulated floating point. Otherwise,
assume the user has an FPA.
@@ -580,9 +577,14 @@ use_return_insn (iscond)
return 0;
if ((iscond && arm_is_strong)
|| TARGET_THUMB_INTERWORK)
- for (regno = 0; regno < 16; regno++)
- if (regs_ever_live[regno] && ! call_used_regs[regno])
+ {
+ for (regno = 0; regno < 16; regno++)
+ if (regs_ever_live[regno] && ! call_used_regs[regno])
+ return 0;
+
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
return 0;
+ }
/* Can't be done if any of the FPU regs are pushed, since this also
requires an insn */
@@ -1563,8 +1565,11 @@ arm_finalize_pic ()
/* On the ARM the PC register contains 'dot + 8' at the time of the
addition. */
pic_tmp = plus_constant (gen_rtx_LABEL_REF (Pmode, l1), 8);
- pic_tmp2 = gen_rtx_CONST (VOIDmode,
+ if (GOT_PCREL)
+ pic_tmp2 = gen_rtx_CONST (VOIDmode,
gen_rtx_PLUS (Pmode, global_offset_table, pc_rtx));
+ else
+ pic_tmp2 = gen_rtx_CONST (VOIDmode, global_offset_table);
pic_rtx = gen_rtx_CONST (Pmode, gen_rtx_MINUS (Pmode, pic_tmp2, pic_tmp));
@@ -3698,7 +3703,7 @@ arm_reload_in_hi (operands)
gen_rtx_MEM (QImode,
plus_constant (base,
offset + 1))));
- if (BYTES_BIG_ENDIAN)
+ if (! BYTES_BIG_ENDIAN)
emit_insn (gen_rtx_SET (VOIDmode, gen_rtx_SUBREG (SImode, operands[0], 0),
gen_rtx_IOR (SImode,
gen_rtx_ASHIFT
@@ -5313,6 +5318,9 @@ output_return_instruction (operand, really_return, reverse)
if (regs_ever_live[reg] && ! call_used_regs[reg])
live_regs++;
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ live_regs++;
+
if (live_regs || (regs_ever_live[14] && ! lr_save_eliminated))
live_regs++;
@@ -5332,7 +5340,9 @@ output_return_instruction (operand, really_return, reverse)
reverse ? "ldm%?%D0fd\t%|sp!, {" : "ldm%?%d0fd\t%|sp!, {");
for (reg = 0; reg <= 10; reg++)
- if (regs_ever_live[reg] && ! call_used_regs[reg])
+ if (regs_ever_live[reg]
+ && (! call_used_regs[reg]
+ || (flag_pic && reg == PIC_OFFSET_TABLE_REGNUM)))
{
strcat (instr, "%|");
strcat (instr, reg_names[reg]);
@@ -5492,6 +5502,9 @@ output_func_prologue (f, frame_size)
if (regs_ever_live[reg] && ! call_used_regs[reg])
live_regs_mask |= (1 << reg);
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ live_regs_mask |= (1 << PIC_OFFSET_TABLE_REGNUM);
+
if (frame_pointer_needed)
live_regs_mask |= 0xD800;
else if (regs_ever_live[14])
@@ -5568,6 +5581,12 @@ output_func_epilogue (f, frame_size)
floats_offset += 4;
}
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ {
+ live_regs_mask |= (1 << PIC_OFFSET_TABLE_REGNUM);
+ floats_offset += 4;
+ }
+
if (frame_pointer_needed)
{
if (arm_fpu_arch == FP_SOFT2)
@@ -5828,12 +5847,17 @@ arm_expand_prologue ()
store_arg_regs = 1;
if (! volatile_func)
- for (reg = 0; reg <= 10; reg++)
- if (regs_ever_live[reg] && ! call_used_regs[reg])
- live_regs_mask |= 1 << reg;
+ {
+ for (reg = 0; reg <= 10; reg++)
+ if (regs_ever_live[reg] && ! call_used_regs[reg])
+ live_regs_mask |= 1 << reg;
- if (! volatile_func && regs_ever_live[14])
- live_regs_mask |= 0x4000;
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ live_regs_mask |= 1 << PIC_OFFSET_TABLE_REGNUM;
+
+ if (regs_ever_live[14])
+ live_regs_mask |= 0x4000;
+ }
if (frame_pointer_needed)
{
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 0c6131b6d93..02f0656befb 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler, for ARM.
- Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rwe11@cl.cam.ac.uk)
@@ -480,7 +481,25 @@ extern int arm_is_6_or_7;
/* Nonzero if PIC code requires explicit qualifiers to generate
PLT and GOT relocs rather than the assembler doing so implicitly.
Subtargets can override this if required. */
+#ifndef NEED_PLT_GOT
#define NEED_PLT_GOT 0
+#endif
+
+/* Nonzero if we need to refer to the GOT with a PC-relative
+ offset. In other words, generate
+
+ .word _GLOBAL_OFFSET_TABLE_ - [. - (.Lxx + 8)]
+
+ rather than
+
+ .word _GLOBAL_OFFSET_TABLE_ - (.Lxx + 8)
+
+ The default is true, which matches NetBSD. Subtargets can
+ override this if required. */
+#ifndef GOT_PCREL
+#define GOT_PCREL 1
+#endif
+
/* Target machine storage Layout. */
@@ -708,7 +727,7 @@ extern const char * structure_size_string;
if (flag_pic) \
{ \
fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
- call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 0; \
+ call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
} \
else if (TARGET_APCS_STACK) \
{ \
@@ -1245,6 +1264,9 @@ do { \
for (regno = 0; regno <= 10; regno++) \
if (regs_ever_live[regno] && ! call_used_regs[regno]) \
saved_hard_reg = 1, offset += 4; \
+ /* PIC register is a fixed reg, so call_used_regs set. */ \
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]) \
+ saved_hard_reg = 1, offset += 4; \
for (regno = 16; regno <=23; regno++) \
if (regs_ever_live[regno] && ! call_used_regs[regno]) \
offset += 12; \
@@ -1799,6 +1821,10 @@ extern int arm_pic_register;
&& (! CONSTANT_POOL_ADDRESS_P (X) \
|| ! symbol_mentioned_p (get_pool_constant (X))))
+/* We need to know when we are making a constant pool; this determines
+ whether data needs to be in the GOT or can be referenced via a GOT
+ offset. */
+extern int making_const_table;
/* Condition code information. */
@@ -2031,6 +2057,19 @@ extern struct rtx_def *arm_compare_op0, *arm_compare_op1;
fputs(")", STREAM); \
} \
else output_addr_const(STREAM, X); \
+ \
+ /* Mark symbols as position independent. We only do this in the \
+ .text segment, not in the .data segment. */ \
+ if (NEED_PLT_GOT && flag_pic && making_const_table && \
+ (GET_CODE(X) == SYMBOL_REF || GET_CODE(X) == LABEL_REF)) \
+ { \
+ if (GET_CODE(X) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P(X)) \
+ fprintf(STREAM, "(GOTOFF)"); \
+ else if (GET_CODE (X) == LABEL_REF) \
+ fprintf(STREAM, "(GOTOFF)"); \
+ else \
+ fprintf(STREAM, "(GOT)"); \
+ } \
}
/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
@@ -2110,7 +2149,6 @@ struct rtx_def;
#ifndef HOST_WIDE_INT
#include "hwint.h"
#endif
-#define Hint HOST_WIDE_INT
#ifndef HAVE_MACHINE_MODES
#include "machmode.h"
@@ -2126,8 +2164,8 @@ struct rtx_def;
void arm_override_options PROTO ((void));
int use_return_insn PROTO ((int));
-int const_ok_for_arm PROTO ((Hint));
-int arm_split_constant RTX_CODE_PROTO ((Rcode, Mmode, Hint, Rtx, Rtx, int));
+int const_ok_for_arm PROTO ((HOST_WIDE_INT));
+int arm_split_constant RTX_CODE_PROTO ((Rcode, Mmode, HOST_WIDE_INT, Rtx, Rtx, int));
Rcode arm_canonicalize_comparison RTX_CODE_PROTO ((Rcode, Rtx *));
int arm_return_in_memory PROTO ((Tree));
int legitimate_pic_operand_p PROTO ((Rtx));
@@ -2168,9 +2206,9 @@ Rcode minmax_code PROTO ((Rtx));
int adjacent_mem_locations PROTO ((Rtx, Rtx));
int load_multiple_operation PROTO ((Rtx, Mmode));
int store_multiple_operation PROTO ((Rtx, Mmode));
-int load_multiple_sequence PROTO ((Rtx *, int, int *, int *, Hint *));
+int load_multiple_sequence PROTO ((Rtx *, int, int *, int *, HOST_WIDE_INT *));
char * emit_ldm_seq PROTO ((Rtx *, int));
-int store_multiple_sequence PROTO ((Rtx *, int, int *, int *, Hint *));
+int store_multiple_sequence PROTO ((Rtx *, int, int *, int *, HOST_WIDE_INT *));
char * emit_stm_seq PROTO ((Rtx *, int));
int arm_valid_machine_decl_attribute PROTO ((Tree, Tree, Tree));
Rtx arm_gen_load_multiple PROTO ((int, int, Rtx, int, int, int, int, int));
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 17ffedba1d2..de40322f44f 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -1,5 +1,6 @@
;;- Machine description for ARM for GNU compiler
-;; Copyright (C) 1991, 93-98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+;; Free Software Foundation, Inc.
;; Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
;; and Martin Simmons (@harleqn.co.uk).
;; More major hacks by Richard Earnshaw (rearnsha@arm.com).
@@ -1837,7 +1838,8 @@
(define_insn "negdi2"
[(set (match_operand:DI 0 "s_register_operand" "=&r,&r")
- (neg:DI (match_operand:DI 1 "s_register_operand" "?r,0")))]
+ (neg:DI (match_operand:DI 1 "s_register_operand" "?r,0")))
+ (clobber (reg:CC 24))]
""
"rsbs\\t%Q0, %Q1, #0\;rsc\\t%R0, %R1, #0"
[(set_attr "conds" "clob")
@@ -2139,14 +2141,12 @@
[(set_attr "length" "8")])
(define_insn "zero_extendqidi2"
- [(set (match_operand:DI 0 "s_register_operand" "=r,r")
- (zero_extend:DI (match_operand:QI 1 "nonimmediate_operand" "r,m")))]
+ [(set (match_operand:DI 0 "s_register_operand" "=r")
+ (zero_extend:DI (match_operand:QI 1 "s_register_operand" "r")))]
""
- "@
- and%?\\t%Q0, %1, #255\;mov%?\\t%R0, #0
- ldr%?b\\t%Q0, %1\;mov%?\\t%R0, #0"
+ "and%?\\t%Q0, %1, #255\;mov%?\\t%R0, #0"
[(set_attr "length" "8")
- (set_attr "type" "*,load")])
+ (set_attr "type" "*")])
(define_insn "extendsidi2"
[(set (match_operand:DI 0 "s_register_operand" "=r")
@@ -5799,15 +5799,19 @@
; It doesn't seem worth adding peepholes for anything but the most common
; cases since, unlike combine, the increment must immediately follow the load
; for this pattern to match.
-; When loading we must watch to see that the base register isn't trampled by
-; the load. In such cases this isn't a post-inc expression.
+; We must watch to see that the source/destination register isn't also the
+; same as the base address register, and that if the index is a register,
+; that it is not the same as the base address register. In such cases the
+; instruction that we would generate would have UNPREDICTABLE behaviour so
+; we cannot use it.
(define_peephole
[(set (mem:QI (match_operand:SI 0 "s_register_operand" "+r"))
(match_operand:QI 2 "s_register_operand" "r"))
(set (match_dup 0)
(plus:SI (match_dup 0) (match_operand:SI 1 "index_operand" "rJ")))]
- ""
+ "(REGNO (operands[2]) != REGNO (operands[0]))
+ && (GET_CODE (operands[1]) != REG || (REGNO (operands[1]) != REGNO (operands[0])))"
"str%?b\\t%2, [%0], %1")
(define_peephole
@@ -5815,9 +5819,8 @@
(mem:QI (match_operand:SI 1 "s_register_operand" "+r")))
(set (match_dup 1)
(plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
- "REGNO(operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
+ "REGNO (operands[0]) != REGNO (operands[1])
+ && (GET_CODE (operands[2]) != REG || REGNO (operands[0]) != REGNO (operands[2]))"
"ldr%?b\\t%0, [%1], %2")
(define_peephole
@@ -5825,7 +5828,8 @@
(match_operand:SI 2 "s_register_operand" "r"))
(set (match_dup 0)
(plus:SI (match_dup 0) (match_operand:SI 1 "index_operand" "rJ")))]
- ""
+ "(REGNO (operands[2]) != REGNO (operands[0]))
+ && (GET_CODE (operands[1]) != REG || (REGNO (operands[1]) != REGNO (operands[0])))"
"str%?\\t%2, [%0], %1")
(define_peephole
@@ -5835,9 +5839,8 @@
(plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
"(! BYTES_BIG_ENDIAN)
&& ! TARGET_SHORT_BY_BYTES
- && REGNO(operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
+ && REGNO (operands[0]) != REGNO (operands[1])
+ && (GET_CODE (operands[2]) != REG || REGNO (operands[0]) != REGNO (operands[2]))"
"ldr%?\\t%0, [%1], %2\\t%@ loadhi")
(define_peephole
@@ -5845,9 +5848,8 @@
(mem:SI (match_operand:SI 1 "s_register_operand" "+r")))
(set (match_dup 1)
(plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
- "REGNO(operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
+ "REGNO (operands[0]) != REGNO (operands[1])
+ && (GET_CODE (operands[2]) != REG || REGNO (operands[0]) != REGNO (operands[2]))"
"ldr%?\\t%0, [%1], %2")
(define_peephole
@@ -5855,7 +5857,8 @@
(match_operand:SI 1 "index_operand" "rJ")))
(match_operand:QI 2 "s_register_operand" "r"))
(set (match_dup 0) (plus:SI (match_dup 0) (match_dup 1)))]
- ""
+ "(REGNO (operands[2]) != REGNO (operands[0]))
+ && (GET_CODE (operands[1]) != REG || (REGNO (operands[1]) != REGNO (operands[0])))"
"str%?b\\t%2, [%0, %1]!")
(define_peephole
@@ -5866,7 +5869,8 @@
(match_operand:QI 3 "s_register_operand" "r"))
(set (match_dup 2) (plus:SI (match_op_dup 4 [(match_dup 0) (match_dup 1)])
(match_dup 2)))]
- ""
+ "REGNO (operands[0]) != REGNO (operands[2])
+ && REGNO (operands[3]) != REGNO (operands[2])"
"str%?b\\t%3, [%2, %0%S4]!")
; This pattern is never tried by combine, so do it as a peephole
@@ -6216,6 +6220,7 @@
""
"*
{
+ making_const_table = TRUE;
switch (GET_MODE_CLASS (GET_MODE (operands[0])))
{
case MODE_FLOAT:
@@ -6238,6 +6243,7 @@
""
"*
{
+ making_const_table = TRUE;
switch (GET_MODE_CLASS (GET_MODE (operands[0])))
{
case MODE_FLOAT:
@@ -6259,7 +6265,7 @@
[(unspec_volatile [(const_int 0)] 4)]
""
"*
- /* Nothing to do (currently). */
+ making_const_table = FALSE;
return \"\";
")
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h
index d2ba8bb1da8..63ec125c49e 100644
--- a/gcc/config/arm/elf.h
+++ b/gcc/config/arm/elf.h
@@ -338,4 +338,17 @@ do { \
/* For PIC code we need to explicitly specify (PLT) and (GOT) relocs. */
#define NEED_PLT_GOT flag_pic
+/* The ELF assembler handles GOT addressing differently to NetBSD. */
+#define GOT_PCREL 0
+
+/* Biggest alignment supported by the object file format of this
+ machine. Use this macro to limit the alignment which can be
+ specified using the `__attribute__ ((aligned (N)))' construct. If
+ not defined, the default value is `BIGGEST_ALIGNMENT'. */
+#define MAX_OFILE_ALIGNMENT (32768*8)
+
+/* Align output to a power of two. */
+#define ASM_OUTPUT_ALIGN(STREAM, POWER) \
+ fprintf (STREAM, "\t.align\t%d\n", POWER)
+
#include "arm/aout.h"
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index de45e1c4b53..a7e9e28938f 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -1,5 +1,5 @@
/* Definitions for ARM running Linux-based GNU systems using ELF
- Copyright (C) 1993, 1994, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org>
This file is part of GNU CC.
@@ -22,16 +22,36 @@ Boston, MA 02111-1307, USA. */
/* Run-time Target Specification. */
#define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
+/* Do not assume anything about header files. */
+#define NO_IMPLICIT_EXTERN_C
+
/* We have libgcc2. */
#define HAVE_ATEXIT
-/* Default is to use APCS-32 mode. */
#ifndef SUBTARGET_DEFAULT_APCS26
-#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_SHORT_BYTE)
-#define SUBTARGET_EXTRA_LINK_SPEC \
+/* Default is to use APCS-32 mode. */
+# define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_SHORT_BYTE)
+# ifdef SUBTARGET_OLD_LINKER
+# define SUBTARGET_EXTRA_LINK_SPEC \
" %{mapcs-26:-m elf32arm26} %{!mapcs-26:-m elf32arm}"
-#define SUBTARGET_EXTRA_ASM_SPEC \
+# else /* new linker */
+# define SUBTARGET_EXTRA_LINK_SPEC \
+ " %{mapcs-26:-m armelf_linux26} %{!mapcs-26:-m armelf_linux} -p"
+# endif
+# define SUBTARGET_EXTRA_ASM_SPEC \
" %{mapcs-26:-mapcs-26} %(!mapcs-26:-mapcs-32}"
+# define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
+#else /* default is APCS-26 */
+# define TARGET_DEFAULT (ARM_FLAG_SHORT_BYTE)
+# ifdef SUBTARGET_OLD_LINKER
+# define SUBTARGET_LINK_SPEC \
+ " %{mapcs-32:-m elf32arm} %{!mapcs-32:-m elf32arm26}"
+# else /* new linker */
+# define SUBTARGET_LINK_SPEC \
+ " %{mapcs-32:-m armelf_linux} %{!mapcs-32:-m armelf_linux26} -p"
+# endif
+# define SUBTARGET_EXTRA_ASM_SPEC \
+ " %{mapcs-32:-mapcs-32} %(!mapcs-32:-mapcs-26}"
#endif
/* This was defined in linux.h. Define it here also. */
@@ -83,8 +103,8 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
-"-Dunix -Darm -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(arm) \
--Amachine(arm) -D__ELF__ -Darm_elf"
+"-Dunix -D__arm__ -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(arm) \
+-Amachine(arm) -D__ELF__"
#ifndef SUBTARGET_DEFAULT_APCS26
#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
diff --git a/gcc/config/arm/linux-elf26.h b/gcc/config/arm/linux-elf26.h
index aa65ae7f750..ce26f1fef9d 100644
--- a/gcc/config/arm/linux-elf26.h
+++ b/gcc/config/arm/linux-elf26.h
@@ -1,6 +1,7 @@
-/* Definitions for 26-bit ARM running Linux-based GNU systems using ELF
- Copyright (C) 1998 Free Software Foundation, Inc.
- Contributed by Philip Blundell <philb@gnu.org>
+/* Definitions for ARM running Linux-based GNU systems
+ using ELF and 26-bit APCS.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+ Contributed by Philip Blundell <Philip.Blundell@pobox.com>
This file is part of GNU CC.
@@ -19,14 +20,5 @@ along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+/* Tell linux-elf.h to default to 26-bit mode. */
#define SUBTARGET_DEFAULT_APCS26
-
-#define SUBTARGET_LINK_SPEC \
- " %{mapcs-32:-m elf32arm} %{!mapcs-32:-m elf32arm26}"
-
-#define SUBTARGET_EXTRA_ASM_SPEC \
- " %{mapcs-32:-mapcs-32} %(!mapcs-32:-mapcs-26}"
-
-#define TARGET_DEFAULT (ARM_FLAG_SHORT_BYTE)
-
-#include "arm/linux-elf.h"
diff --git a/gcc/config/i386/xm-uwin.h b/gcc/config/arm/linux-oldld.h
index 2e1ecde0fa7..8b2af015efe 100644
--- a/gcc/config/i386/xm-uwin.h
+++ b/gcc/config/arm/linux-oldld.h
@@ -1,7 +1,7 @@
-/* Configuration for GNU C-compiler for hosting on Windows32.
- using GNU tools and the Windows32 API Library.
+/* Definitions for ARM running Linux-based GNU systems
+ using ELF with old binutils.
Copyright (C) 1999 Free Software Foundation, Inc.
- Contributed by Mumit Khan <khan@xraylith.wisc.edu>.
+ Contributed by Philip Blundell <Philip.Blundell@pobox.com>
This file is part of GNU CC.
@@ -16,24 +16,12 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING. If not, write to
+along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#ifndef ONLY_INT_FIELD
-#define ONLY_INT_FIELDS 1
-#endif
-
-#ifndef USE_PROTOTYPES
-#define USE_PROTOTYPES 1
-#endif
-
-/* U/WIN system calls only support '/' */
-#undef DIR_SEPARATOR
-#define DIR_SEPARATOR '/'
-#undef EXECUTABLE_SUFFIX
-#define EXECUTABLE_SUFFIX ".exe"
-
-#undef PATH_SEPARATOR
-#define PATH_SEPARATOR ':'
+Boston, MA 02111-1307, USA. */
+/* Unfortunately, owing to various historical accidents, version 2.9.4
+ and newer of GNU binutils are not quite compatible with the old
+ (2.9.1-based) toolset. This tells linux-elf.h to generate specs
+ appropriate for the older versions. */
+#define SUBTARGET_OLD_LINKER
diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c
index 5c5690a4eaf..23f8bfa093f 100644
--- a/gcc/config/c4x/c4x.c
+++ b/gcc/config/c4x/c4x.c
@@ -1077,7 +1077,8 @@ c4x_emit_move_sequence (operands, mode)
and emit associated (HIGH (SYMREF)) if large memory model.
c4x_legitimize_address could be used to do this,
perhaps by calling validize_address. */
- if (! (reload_in_progress || reload_completed)
+ if (TARGET_EXPOSE_LDP
+ && ! (reload_in_progress || reload_completed)
&& GET_CODE (op1) == MEM
&& symbolic_address_operand (XEXP (op1, 0), Pmode))
{
@@ -1088,7 +1089,8 @@ c4x_emit_move_sequence (operands, mode)
gen_rtx_LO_SUM (Pmode, dp_reg, XEXP (op1, 0)));
}
- if (! (reload_in_progress || reload_completed)
+ if (TARGET_EXPOSE_LDP
+ && ! (reload_in_progress || reload_completed)
&& GET_CODE (op0) == MEM
&& symbolic_address_operand (XEXP (op0, 0), Pmode))
{
@@ -1409,12 +1411,14 @@ c4x_check_legit_addr (mode, addr, strict)
/* Direct addressing. */
case LABEL_REF:
case SYMBOL_REF:
+ if (! TARGET_EXPOSE_LDP && ! strict && mode != HFmode && mode != HImode)
+ return 1;
/* These need to be converted to a LO_SUM (...).
- c4x_legitimize_address will fix them up. */
+ LEGITIMIZE_RELOAD_ADDRESS will do this during reload. */
return 0;
/* Do not allow direct memory access to absolute addresses.
- This is more pain than its worth, especially for the
+ This is more pain than it's worth, especially for the
small memory model where we can't guarantee that
this address is within the data page---we don't want
to modify the DP register in the small memory model,
@@ -1515,6 +1519,32 @@ c4x_legitimize_address (orig, mode)
}
+rtx
+c4x_legitimize_reload_address (orig, mode, insn)
+ rtx orig ATTRIBUTE_UNUSED;
+ enum machine_mode mode;
+ rtx insn;
+{
+ if (mode != HImode
+ && mode != HFmode
+ && GET_MODE (orig) != HImode
+ && GET_MODE (orig) != HFmode
+ && (GET_CODE (orig) == CONST
+ || GET_CODE (orig) == SYMBOL_REF
+ || GET_CODE (orig) == LABEL_REF))
+ {
+ rtx dp_reg = gen_rtx_REG (Pmode, DP_REGNO);
+ if (! TARGET_SMALL)
+ emit_insn_before (gen_rtx_SET (VOIDmode, dp_reg,
+ gen_rtx_HIGH (Pmode, orig)),
+ insn);
+ return gen_rtx_LO_SUM (Pmode, dp_reg, orig);
+ }
+
+ return NULL_RTX;
+}
+
+
/* Provide the costs of an addressing mode that contains ADDR.
If ADDR is not a valid address, its cost is irrelevant.
This is used in cse and loop optimisation to determine
@@ -3002,20 +3032,24 @@ src_operand (op, mode)
if (GET_CODE (op) == CONST_DOUBLE)
return c4x_H_constant (op);
- /* Disallow symbolic addresses. */
+ /* Disallow symbolic addresses. Only the predicate
+ symbolic_address_operand will match these. */
if (GET_CODE (op) == SYMBOL_REF
|| GET_CODE (op) == LABEL_REF
|| GET_CODE (op) == CONST)
return 0;
- /* Disallow direct memory access symbolic addresses.
- These are usually caught by the movqi expander and
- converted to a LO_SUM. */
+ /* If TARGET_EXPOSE_LDP is zero, allow direct memory access to
+ symbolic addresses. These will be rejected by
+ GO_IF_LEGITIMATE_ADDRESS and fixed up by
+ LEGITIMIZE_RELOAD_ADDRESS. If TARGET_EXPOSE_LDP is nonzero,
+ disallow direct memory access to symbolic addresses. These
+ should be converted to a HIGH/LO_SUM pair by the movqi expander. */
if (GET_CODE (op) == MEM
&& ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
|| GET_CODE (XEXP (op, 0)) == LABEL_REF
|| GET_CODE (XEXP (op, 0)) == CONST)))
- return 0;
+ return ! TARGET_EXPOSE_LDP;
return general_operand (op, mode);
}
diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h
index 1dc8d5c63ed..7ef0738f008 100644
--- a/gcc/config/c4x/c4x.h
+++ b/gcc/config/c4x/c4x.h
@@ -303,7 +303,9 @@ extern int target_flags;
#define TARGET_C40 (target_flags & C40_FLAG)
#define TARGET_C44 (target_flags & C44_FLAG)
+/* Define some options to control code generation. */
#define TARGET_LOAD_ADDRESS (1 || (! TARGET_C3X && ! TARGET_SMALL))
+#define TARGET_EXPOSE_LDP 0
/* -mrpts allows the use of the RPTS instruction irregardless.
-mrpts=max-cycles will use RPTS if the number of cycles is constant
@@ -1664,6 +1666,20 @@ extern struct rtx_def *c4x_legitimize_address ();
} \
}
+extern struct rtx_def *c4x_legitimize_reload_address ();
+#define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN) \
+{ \
+ rtx new; \
+ new = c4x_legitimize_reload_address (X, MODE, insn); \
+ if (new != NULL_RTX) \
+ { \
+ (X) = new; \
+ /* We do not have to call push_reload because we do not require \
+ any more reloads. */ \
+ goto WIN; \
+ } \
+}
+
/* No mode-dependent addresses on the C4x are autoincrements. */
@@ -1684,7 +1700,9 @@ extern struct rtx_def *c4x_legitimize_address ();
restricted subset of CONST_INT and CONST_DOUBLE. Disallow
LABEL_REF and SYMBOL_REF (except on the C40 with the big memory
model) so that the symbols will be forced into the constant pool.
- On second thoughts, lets do this with the move expanders.
+ On second thoughts, let's do this with the move expanders since
+ the alias analysis has trouble if we force constant addresses
+ into memory.
*/
#define LEGITIMATE_CONSTANT_P(X) \
@@ -2078,7 +2096,7 @@ dtors_section () \
fprintf (FILE, "\n"); \
}
-#define ASM_FILE_END(FILE) fprintf (FILE, "\t.end\n")
+#define ASM_FILE_END(FILE) fprintf (FILE, "\t.end\n")
/* We need to have a data section we can identify so that we can set
the DP register back to a data pointer in the small memory model.
@@ -2089,7 +2107,7 @@ dtors_section () \
if (! TARGET_TI) fputs ("gcc2_compiled.:\n", FILE); \
fputs ("\t.data\ndata_sec:\n", FILE);
-#define ASM_COMMENT_START ";"
+#define ASM_COMMENT_START ";"
#define ASM_APP_ON ""
#define ASM_APP_OFF ""
@@ -2248,8 +2266,10 @@ asm_fprintf (FILE, "%s%d:\n", PREFIX, NUM)
#define CPP_PREDEFINES ""
-/* This says how to output an assembler line
- to define a local common symbol. */
+/* Output of Uninitialized Variables */
+
+/* This says how to output an assembler line to define a local
+ uninitialized variable. */
#undef ASM_OUTPUT_LOCAL
#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \
@@ -2257,7 +2277,8 @@ asm_fprintf (FILE, "%s%d:\n", PREFIX, NUM)
assemble_name (FILE, (NAME)), \
fprintf (FILE, ",%u\n", (ROUNDED)))
-/* Output of Uninitialized Variables */
+/* This says how to output an assembler line to define a global
+ uninitialized variable. */
#undef ASM_OUTPUT_COMMON
#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \
diff --git a/gcc/config/c4x/c4x.md b/gcc/config/c4x/c4x.md
index a0a4e0b9dd9..7f1b0f309ab 100644
--- a/gcc/config/c4x/c4x.md
+++ b/gcc/config/c4x/c4x.md
@@ -68,6 +68,8 @@
; src_operand general operand [rfHmI]
; par_ind_operand indirect S mode (ARx + 0, 1, IRx) [S<>]
; parallel_operand par_ind_operand or ext_low_reg_operand
+; symbolic_address_operand
+; call_address_operand
; ADDI src2, src1, dst three operand op
; ADDI src, dst two operand op
@@ -1141,7 +1143,6 @@
operands[3] = gen_rtx (CONST_INT, VOIDmode, INTVAL (operands[1]) & 0xffff);
}")
-; This pattern is required to handle the case where a register that clobbers
; CC has been selected to load a symbolic address. We force the address
; into memory and then generate LDP and LDIU insns.
; This is also required for the C30 if we pretend that we can
diff --git a/gcc/config/dbxcoff.h b/gcc/config/dbxcoff.h
index 9497a70b83f..1d5b448879f 100644
--- a/gcc/config/dbxcoff.h
+++ b/gcc/config/dbxcoff.h
@@ -49,8 +49,8 @@ Boston, MA 02111-1307, USA. */
#undef DBX_OUTPUT_MAIN_SOURCE_FILE_END
#define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \
- fprintf (FILE, \
- "\t.text\n\t.stabs \"\",%d,0,0,Letext\nLetext:\n", N_SO)
+ asm_fprintf (FILE, \
+ "\t.text\n\t.stabs \"\",%d,0,0,%LLetext\n%LLetext:\n", N_SO)
/* Like block addresses, stabs line numbers are relative to the
current function. */
diff --git a/gcc/config/dbxelf.h b/gcc/config/dbxelf.h
index 9472887cc52..3971bc1c9dc 100644
--- a/gcc/config/dbxelf.h
+++ b/gcc/config/dbxelf.h
@@ -80,15 +80,19 @@ while (0)
current function. */
#undef ASM_OUTPUT_SOURCE_LINE
-#define ASM_OUTPUT_SOURCE_LINE(file, line) \
+#define ASM_OUTPUT_SOURCE_LINE(FILE, LINE) \
do \
{ \
static int sym_lineno = 1; \
- fprintf (file, ".stabn 68,0,%d,.LM%d-", \
- line, sym_lineno); \
- assemble_name (file, \
+ char temp[256]; \
+ ASM_GENERATE_INTERNAL_LABEL (temp, "LM", sym_lineno); \
+ fprintf (FILE, ".stabn 68,0,%d,", LINE); \
+ assemble_name (FILE, temp); \
+ putc ('-', FILE); \
+ assemble_name (FILE, \
XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0));\
- fprintf (file, "\n.LM%d:\n", sym_lineno); \
+ putc ('\n', FILE); \
+ ASM_OUTPUT_INTERNAL_LABEL (FILE, "LM", sym_lineno); \
sym_lineno += 1; \
} \
while (0)
@@ -99,7 +103,7 @@ while (0)
#undef DBX_OUTPUT_MAIN_SOURCE_FILE_END
#define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \
- fprintf (FILE, \
- "\t.text\n\t.stabs \"\",%d,0,0,Letext\nLetext:\n", N_SO)
+ asm_fprintf (FILE, \
+ "\t.text\n\t.stabs \"\",%d,0,0,%LLetext\n%LLetext:\n", N_SO)
#endif /* __DBX_ELF_H */
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 6c107311fd7..d4826159198 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -1,6 +1,6 @@
/* elfos.h -- operating system specific defines to be used when
targeting GCC for some generic ELF system
- Copyright (C) 1991, 1994, 1995, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1994, 1995, 1999, 2000 Free Software Foundation, Inc.
Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com).
This file is part of GNU CC.
@@ -426,7 +426,8 @@ do { \
else \
data_section (); \
} \
- else if (TREE_CODE (DECL) == VAR_DECL) \
+ else if (TREE_CODE (DECL) == VAR_DECL \
+ || TREE_CODE (DECL) == CONSTRUCTOR) \
{ \
if ((flag_pic && RELOC) \
|| !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 5fb4a628c46..4d23e7424da 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for Hitachi H8/300.
- Copyright (C) 1992, 93, 94, 95, 96, 97, 1998, 1999 Free Software
- Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -396,7 +396,7 @@ function_epilogue (file, size)
if (GET_CODE (insn) == NOTE)
insn = prev_nonnote_insn (insn);
if (insn && GET_CODE (insn) == BARRIER)
- return;
+ goto out;
/* Pop the saved registers. */
for (idx = 0; idx < FIRST_PSEUDO_REGISTER; idx++)
@@ -2313,9 +2313,9 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
if (TARGET_H8300)
*assembler_p = "mov.b\t%t0,%s0\n\tbld\t#7,%s0\n\tsubx\t%t0,%t0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0";
else if (TARGET_H8300H)
- *assembler_p = "mov.b\t%t0,%s0\n\textw.w\t%T0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0";
+ *assembler_p = "mov.b\t%t0,%s0\n\texts.w\t%T0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0";
else if (TARGET_H8300S)
- *assembler_p = "mov.b\t%t0,%s0\n\textw.w\t%T0\n\tshar.b\t#2,%s0\n\tshar.b\t#2,%s0";
+ *assembler_p = "mov.b\t%t0,%s0\n\texts.w\t%T0\n\tshar.b\t#2,%s0\n\tshar.b\t#2,%s0";
*cc_valid_p = 0;
return SHIFT_SPECIAL;
}
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 7e49af5ef75..bb0387b8d36 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1,5 +1,6 @@
;; GCC machine description for Hitachi H8/300
-;; Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 2000 Free Software
+;; Foundation, Inc.
;; Contributed by Steve Chamberlain (sac@cygnus.com),
;; Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -414,7 +415,7 @@
if (which_alternative == 7)
return \"clrmac\;ldmac %1,macl\";
if (which_alternative == 8)
- return \"stmac macl,%0\";
+ return \"stmac macl,%0\";
if (GET_CODE (operands[1]) == CONST_INT)
{
int val = INTVAL (operands[1]);
@@ -861,7 +862,7 @@
(sign_extend:SI
(mem:HI (post_inc:SI (match_operand:SI 2 "register_operand" "r"))))))]
"TARGET_H8300S"
- "clrmac\;mac %2,%1"
+ "clrmac\;mac @%2+,@%1+"
[(set_attr "length" "6")
(set_attr "cc" "none_0hit")])
@@ -874,7 +875,7 @@
(post_inc:SI (match_operand:SI 2 "register_operand" "r")))))
(match_operand:SI 3 "register_operand" "0")))]
"TARGET_H8300S"
- "mac %2,%1"
+ "mac @%2+,@%1+"
[(set_attr "length" "4")
(set_attr "cc" "none_0hit")])
@@ -1674,7 +1675,7 @@
(define_expand "zero_extendhisi2"
[(set (match_operand:SI 0 "register_operand" "")
- (zero_extend:SI (match_operand:HI 1 "general_operand" "")))]
+ (zero_extend:SI (match_operand:HI 1 "register_operand" "")))]
""
"
{
@@ -1709,18 +1710,16 @@
(set_attr "cc" "clobber,clobber,clobber")])
(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r,r")
- (zero_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (zero_extend:SI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- extu.l %S0
- mov.w %T1,%T0\;extu.l %S0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "extu.l %S0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
(define_expand "extendqihi2"
[(set (match_operand:HI 0 "register_operand" "")
- (sign_extend:HI (match_operand:QI 1 "general_operand" "")))]
+ (sign_extend:HI (match_operand:QI 1 "register_operand" "")))]
""
"")
@@ -1735,14 +1734,12 @@
(set_attr "cc" "clobber,clobber")])
(define_insn ""
- [(set (match_operand:HI 0 "register_operand" "=r,r")
- (sign_extend:HI (match_operand:QI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:HI 0 "register_operand" "=r")
+ (sign_extend:HI (match_operand:QI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- exts.w %T0
- mov.b %R1,%s0\;exts.w %T0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "exts.w %T0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
;; The compiler can synthesize a 300H variant of this which is
;; just as efficient as one that we'd create
@@ -1758,7 +1755,7 @@
(define_expand "extendhisi2"
[(set (match_operand:SI 0 "register_operand" "")
- (sign_extend:SI (match_operand:HI 1 "general_operand" "")))]
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "")))]
""
"
{
@@ -1791,14 +1788,12 @@
(set_attr "cc" "clobber,clobber")])
(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r,r")
- (sign_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- exts.l %S0
- mov.w %T1,%T0\;exts.l %S0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "exts.l %S0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
;; ----------------------------------------------------------------------
;; SHIFTS
@@ -2292,7 +2287,7 @@
(define_peephole
[(set (match_operand:HI 1 "register_operand" "")
- (plus:HI (match_dup 1) (const_int -1)))
+ (plus:HI (match_dup 1) (const_int -2)))
(set (mem:HI (match_dup 1))
(match_operand:HI 0 "register_operand" ""))]
"REGNO(operands[1]) != REGNO(operands[0])"
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index 48b9eba1b1c..dbea466bc86 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -326,11 +326,7 @@ do { \
#define ASM_OUTPUT_COMMON(STREAM, NAME, SIZE, ROUNDED) \
do { \
if (i386_pe_dllexport_name_p (NAME)) \
- { \
- drectve_section (); \
- fprintf ((STREAM), "\t.ascii \" -export:%s\"\n", \
- I386_PE_STRIP_ENCODING (NAME)); \
- } \
+ i386_pe_record_exported_symbol (NAME); \
if (! i386_pe_dllimport_name_p (NAME)) \
{ \
fprintf ((STREAM), "\t.comm\t"); \
@@ -345,13 +341,7 @@ do { \
#define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \
do { \
if (i386_pe_dllexport_name_p (NAME)) \
- { \
- enum in_section save_section = in_section; \
- drectve_section (); \
- fprintf ((STREAM), "\t.ascii \" -export:%s\"\n", \
- I386_PE_STRIP_ENCODING (NAME)); \
- switch_to_section (save_section, (DECL)); \
- } \
+ i386_pe_record_exported_symbol (NAME); \
ASM_OUTPUT_LABEL ((STREAM), (NAME)); \
} while (0)
@@ -447,12 +437,7 @@ do { \
do \
{ \
if (i386_pe_dllexport_name_p (NAME)) \
- { \
- drectve_section (); \
- fprintf ((FILE), "\t.ascii \" -export:%s\"\n", \
- I386_PE_STRIP_ENCODING (NAME)); \
- function_section (DECL); \
- } \
+ i386_pe_record_exported_symbol (NAME); \
if (write_symbols != SDB_DEBUG) \
i386_pe_declare_function_type (FILE, NAME, TREE_PUBLIC (DECL)); \
ASM_OUTPUT_LABEL (FILE, NAME); \
@@ -518,6 +503,7 @@ do { \
extern void i386_pe_record_external_function PROTO((char *));
extern void i386_pe_declare_function_type STDIO_PROTO((FILE *, char *, int));
+extern void i386_pe_record_exported_symbol PROTO((char *));
extern void i386_pe_asm_file_end STDIO_PROTO((FILE *));
/* For Win32 ABI compatibility */
@@ -532,3 +518,8 @@ extern void i386_pe_asm_file_end STDIO_PROTO((FILE *));
#undef PCC_BITFIELDS_TYPE_MATTERS
#define PCC_BITFIELDS_TYPE_MATTERS 0
+/* Enable alias attribute support. */
+#ifndef SET_ASM_OP
+#define SET_ASM_OP "\t.set"
+#endif
+
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index 6cee75bc837..5727b0a9bbd 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -70,7 +70,15 @@ Boston, MA 02111-1307, USA. */
\t%{!A:%{!nostdlib:%{!nostartfiles:%E}}}\
\t-Tdjgpp.djl %{T*}}}}}}}\n\
%{!c:%{!M:%{!MM:%{!E:%{!S:stubify %{v} %{o*:%*} %{!o*:a.out} }}}}}"
-
+
+/* Always just link in 'libc.a'. */
+#undef LIB_SPEC
+#define LIB_SPEC "-lc"
+
+/* Pick the right startup code depending on the -pg flag. */
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:crt0.o%s}"
+
/* Make sure that gcc will not look for .h files in /usr/local/include
unless user explicitly requests it. */
#undef LOCAL_INCLUDE_DIR
diff --git a/gcc/config/i386/freebsd-elf.h b/gcc/config/i386/freebsd-elf.h
index 988f6a9842f..e97d4ca07bb 100644
--- a/gcc/config/i386/freebsd-elf.h
+++ b/gcc/config/i386/freebsd-elf.h
@@ -3,6 +3,7 @@
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu.
Adapted from GNU/Linux version by John Polstra.
+ Continued development by David O'Brien <obrien@freebsd.org>
This file is part of GNU CC.
@@ -34,6 +35,23 @@ Boston, MA 02111-1307, USA. */
libraries compiled with the native cc, so undef it. */
#undef NO_DOLLAR_IN_LABEL
+/* Use more efficient ``thunks'' to implement C++ vtables. */
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
+
+/* Override the default comment-starter of "/". */
+#undef ASM_COMMENT_START
+#define ASM_COMMENT_START "#"
+
+#undef ASM_APP_ON
+#define ASM_APP_ON "#APP\n"
+
+#undef ASM_APP_OFF
+#define ASM_APP_OFF "#NO_APP\n"
+
+#undef SET_ASM_OP
+#define SET_ASM_OP ".set"
+
/* This is how to output an element of a case-vector that is relative.
This is only used for PIC code. See comments by the `casesi' insn in
i386.md for an explanation of the expression this outputs. */
@@ -45,6 +63,10 @@ Boston, MA 02111-1307, USA. */
necessary when compiling PIC code. */
#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
+/* Use stabs instead of DWARF debug format. */
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
/* Copy this from the svr4 specifications... */
/* Define the register numbers to be used in Dwarf debugging information.
The SVR4 reference port C compiler uses the following register numbers
@@ -113,23 +135,15 @@ Boston, MA 02111-1307, USA. */
: ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
: (-1))
-/* Output assembler code to FILE to increment profiler label # LABELNO
- for profiling a function entry. */
+/* Tell final.c that we don't need a label passed to mcount. */
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \
{ \
if (flag_pic) \
- { \
- fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%edx\n", \
- LPREFIX, (LABELNO)); \
- fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \
- } \
+ fprintf (FILE, "\tcall *.mcount@GOT(%%ebx)\n"); \
else \
- { \
- fprintf (FILE, "\tmovl $%sP%d,%%edx\n", LPREFIX, (LABELNO)); \
- fprintf (FILE, "\tcall mcount\n"); \
- } \
+ fprintf (FILE, "\tcall .mcount\n"); \
}
#undef SIZE_TYPE
@@ -140,6 +154,9 @@ Boston, MA 02111-1307, USA. */
#undef WCHAR_TYPE
#define WCHAR_TYPE "int"
+
+#undef WCHAR_UNSIGNED
+#define WCHAR_UNSIGNED 0
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE BITS_PER_WORD
@@ -150,21 +167,53 @@ Boston, MA 02111-1307, USA. */
#undef CPP_SPEC
#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
-#undef LIB_SPEC
-#if 1
-/* We no longer link with libc_p.a or libg.a by default. If you
- * want to profile or debug the C library, please add
- * -lc_p or -ggdb to LDFLAGS at the link time, respectively.
- */
-#define LIB_SPEC \
- "%{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \
- %{!ggdb:-lc} %{ggdb:-lg}}"
-#else
-#define LIB_SPEC \
+/* This defines which switch letters take arguments. On FreeBSD, most of
+ the normal cases (defined in gcc.c) apply, and we also have -h* and
+ -z* options (for the linker) (comming from svr4).
+ We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
+
+#undef SWITCH_TAKES_ARG
+#define SWITCH_TAKES_ARG(CHAR) \
+ (DEFAULT_SWITCH_TAKES_ARG (CHAR) \
+ || (CHAR) == 'h' \
+ || (CHAR) == 'z' \
+ || (CHAR) == 'R')
+
+/* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
+ the magical crtbegin.o file (see crtstuff.c) which provides part
+ of the support for getting C++ file-scope static object constructed
+ before entering `main'. */
+
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC \
"%{!shared: \
- %{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \
- %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}"
-#endif
+ %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
+ %{!p:%{profile:gcrt1.o%s} \
+ %{!profile:crt1.o%s}}}} \
+ crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
+
+/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
+ the magical crtend.o file (see crtstuff.c) which provides part of
+ the support for getting C++ file-scope static object constructed
+ before entering `main', followed by a normal "finalizer" file,
+ `crtn.o'. */
+
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+
+/* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate
+ libc, depending on whether we're doing profiling or need threads support.
+ (simular to the default, except no -lg, and no -p. */
+
+#undef LIB_SPEC
+#define LIB_SPEC "%{!shared: \
+ %{!pg:%{!pthread:%{!kthread:-lc} \
+ %{kthread:-lpthread -lc}} \
+ %{pthread:-lc_r}} \
+ %{pg:%{!pthread:%{!kthread:-lc_p} \
+ %{kthread:-lpthread_p -lc_p}} \
+ %{pthread:-lc_r_p}}}"
/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support
for the special GCC options -static and -shared, which allow us to
@@ -181,15 +230,17 @@ Boston, MA 02111-1307, USA. */
done. */
#undef LINK_SPEC
-#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
+#define LINK_SPEC "-m elf_i386 \
+ %{Wl,*:%*} \
+ %{v:-V} \
+ %{assert*} %{R*} %{rpath*} %{defsym*} \
+ %{shared:-Bshareable %{h*} %{soname*}} \
+ %{!shared: \
%{!static: \
- %{rdynamic:-export-dynamic} \
+ %{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \
- %{static:-static}}}"
-
-/* Get perform_* macros to build libgcc.a. */
+ %{static:-Bstatic}} \
+ %{symbolic:-Bsymbolic}"
/* A C statement to output to the stdio stream FILE an assembler
command to advance the location counter to a multiple of 1<<LOG
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index 52302222ae3..89fe21623a9 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -245,30 +245,3 @@ do { \
#define STARTFILE_SPEC \
"%{shared:c++rt0.o%s} \
%{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
-
-/* This is defined when gcc is compiled in the BSD-directory-tree, and must
- * make up for the gap to all the stuff done in the GNU-makefiles.
- */
-
-#ifdef FREEBSD_NATIVE
-
-#define INCLUDE_DEFAULTS { \
- { "/usr/include", 0, 0, 0 }, \
- { "/usr/include/g++", "G++", 1, 1 }, \
- { 0, 0, 0, 0} \
- }
-
-#undef MD_EXEC_PREFIX
-#define MD_EXEC_PREFIX "/usr/libexec/"
-
-#undef STANDARD_STARTFILE_PREFIX
-#define STANDARD_STARTFILE_PREFIX "/usr/lib"
-
-#if 0 /* This is very wrong!!! */
-#define DEFAULT_TARGET_MACHINE "i386-unknown-freebsd_1.0"
-#define GPLUSPLUS_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include"
-#define TOOL_INCLUDE_DIR "/usr/local/i386-unknown-freebsd_1.0/include"
-#define GCC_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include"
-#endif
-
-#endif /* FREEBSD_NATIVE */
diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h
index 971a5f880c2..cd32b928f66 100644
--- a/gcc/config/i386/gnu.h
+++ b/gcc/config/i386/gnu.h
@@ -3,13 +3,24 @@
/* This does it mostly for us. */
#include <i386/linux.h>
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-Di386 -Acpu(i386) -Amachine(i386) \
--Dunix -Asystem(unix) -DMACH -Asystem(mach) -D__GNU__ -Asystem(gnu)"
+/* Get machine-independent configuration parameters for the GNU system. */
+#include <gnu.h>
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (i386 GNU)");
+#undef CPP_PREDEFINES
+#define CPP_PREDEFINES "-D__ELF__ -D__i386__ -DMACH -Asystem(mach) \
+ -Dunix -Asystem(unix) -Asystem(posix) -D__GNU__ -Asystem(gnu)"
+
+#undef CPP_SPEC
+#define CPP_SPEC "%(cpp_cpu) \
+ %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} \
+ %{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
+
+#undef CC1_SPEC
+#define CC1_SPEC "%(cc1_cpu)"
+
#undef LINK_SPEC
#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
%{!shared: \
@@ -18,6 +29,10 @@
%{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
%{static:-static}}"
-
-/* Get machine-independent configuration parameters for the GNU system. */
-#include <gnu.h>
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC \
+ "%{!shared: \
+ %{!static: \
+ %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \
+ %{static:crt0.o%s}} \
+ crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 2e8236dcbbc..0333b194c0f 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2995,7 +2995,8 @@ put_jump_code (code, reverse, file)
FILE *file;
{
int flags = cc_prev_status.flags;
- int ieee = (TARGET_IEEE_FP && (flags & CC_IN_80387));
+ int ieee = (TARGET_IEEE_FP && (flags & CC_IN_80387)
+ && !(cc_prev_status.flags & CC_FCOMI));
const char *suffix;
if (flags & CC_Z_IN_NOT_C)
@@ -3760,7 +3761,7 @@ notice_update_cc (exp)
if (stack_regs_mentioned_p (SET_SRC (XVECEXP (exp, 0, 0))))
{
cc_status.flags |= CC_IN_80387;
- if (0 && TARGET_CMOVE && stack_regs_mentioned_p
+ if (TARGET_CMOVE && stack_regs_mentioned_p
(XEXP (SET_SRC (XVECEXP (exp, 0, 0)), 1)))
cc_status.flags |= CC_FCOMI;
}
@@ -4118,7 +4119,8 @@ output_float_compare (insn, operands)
int cc0_set = 1;
int i;
- if (0 && TARGET_CMOVE && STACK_REG_P (operands[1]))
+ if (TARGET_CMOVE && STACK_REG_P (operands[1])
+ && STACK_REG_P (operands[0]))
{
cc_status.flags |= CC_FCOMI;
cc_prev_status.flags &= ~CC_TEST_AX;
@@ -4152,7 +4154,8 @@ output_float_compare (insn, operands)
{
output_asm_insn (AS2 (fucomip,%y1,%0), operands);
output_asm_insn (AS1 (fstp, %y0), operands);
- cc0_set = 0;
+ if (!TARGET_IEEE_FP)
+ cc0_set = 0;
}
else
output_asm_insn ("fucompp", operands);
@@ -4163,7 +4166,8 @@ output_float_compare (insn, operands)
{
output_asm_insn (AS2 (fcomip, %y1,%0), operands);
output_asm_insn (AS1 (fstp, %y0), operands);
- cc0_set = 0;
+ if (!TARGET_IEEE_FP)
+ cc0_set = 0;
}
else
output_asm_insn ("fcompp", operands);
@@ -4188,7 +4192,8 @@ output_float_compare (insn, operands)
if (cc_status.flags & CC_FCOMI)
{
output_asm_insn (strcat (buf, AS2 (%z1,%y1,%0)), operands);
- cc0_set = 0;
+ if (!TARGET_IEEE_FP)
+ cc0_set = 0;
}
else
output_asm_insn (strcat (buf, AS1 (%z1,%y1)), operands);
@@ -4211,7 +4216,7 @@ output_float_compare (insn, operands)
&& REGNO (operands[i]) != FIRST_STACK_REG
&& (!stack_top_dies || REGNO (operands[i]) != FIRST_STACK_REG + 1))
{
- rtx xexp[i];
+ rtx xexp[2];
xexp[0] = gen_rtx_REG (DFmode,
REGNO (operands[i]) - (stack_top_dies != 0));
output_asm_insn (AS1 (fstp, %y0), xexp);
@@ -4236,17 +4241,19 @@ output_fp_cc0_set (insn)
rtx next;
enum rtx_code code;
- xops[0] = gen_rtx_REG (HImode, 0);
- output_asm_insn (AS1 (fnsts%W0,%0), xops);
+ if (!(cc_status.flags & CC_FCOMI))
+ {
+ xops[0] = gen_rtx_REG (HImode, 0);
+ output_asm_insn (AS1 (fnsts%W0,%0), xops);
+ }
if (! TARGET_IEEE_FP)
{
if (!(cc_status.flags & CC_REVERSED))
{
next = next_cc0_user (insn);
-
- if (GET_CODE (next) == JUMP_INSN
- && GET_CODE (PATTERN (next)) == SET
+
+ if (GET_CODE (PATTERN (next)) == SET
&& SET_DEST (PATTERN (next)) == pc_rtx
&& GET_CODE (SET_SRC (PATTERN (next))) == IF_THEN_ELSE)
code = GET_CODE (XEXP (SET_SRC (PATTERN (next)), 0));
@@ -4271,8 +4278,7 @@ output_fp_cc0_set (insn)
if (next == NULL_RTX)
abort ();
- if (GET_CODE (next) == JUMP_INSN
- && GET_CODE (PATTERN (next)) == SET
+ if (GET_CODE (PATTERN (next)) == SET
&& SET_DEST (PATTERN (next)) == pc_rtx
&& GET_CODE (SET_SRC (PATTERN (next))) == IF_THEN_ELSE)
code = GET_CODE (XEXP (SET_SRC (PATTERN (next)), 0));
@@ -4295,61 +4301,103 @@ output_fp_cc0_set (insn)
else
abort ();
- xops[0] = gen_rtx_REG (QImode, 0);
+ if (cc_status.flags & CC_FCOMI)
+ {
+ /* It is very tricky. We have to do it right. */
- switch (code)
+ xops [0] = gen_rtx_REG (QImode, 0);
+
+ switch (code)
+ {
+ case GT:
+ case GE:
+ break;
+
+ case LT:
+ output_asm_insn (AS1 (setb,%b0), xops);
+ output_asm_insn (AS1 (setp,%h0), xops);
+ output_asm_insn (AS2 (cmp%B0,%b0,%h0), xops);
+ break;
+
+ case LE:
+ output_asm_insn (AS1 (setbe,%b0), xops);
+ output_asm_insn (AS1 (setnp,%h0), xops);
+ output_asm_insn (AS2 (xor%B0,%b0,%h0), xops);
+ break;
+
+ case EQ:
+ case NE:
+ output_asm_insn (AS1 (setne,%b0), xops);
+ output_asm_insn (AS1 (setp,%h0), xops);
+ output_asm_insn (AS2 (or%B0,%b0,%h0), xops);
+ break;
+
+ case GTU:
+ case LTU:
+ case GEU:
+ case LEU:
+ default:
+ abort ();
+ }
+ }
+ else
{
- case GT:
- xops[1] = GEN_INT (0x45);
- output_asm_insn (AS2 (and%B0,%1,%h0), xops);
- /* je label */
- break;
+ xops[0] = gen_rtx_REG (QImode, 0);
- case LT:
- xops[1] = GEN_INT (0x45);
- xops[2] = GEN_INT (0x01);
- output_asm_insn (AS2 (and%B0,%1,%h0), xops);
- output_asm_insn (AS2 (cmp%B0,%2,%h0), xops);
- /* je label */
- break;
+ switch (code)
+ {
+ case GT:
+ xops[1] = GEN_INT (0x45);
+ output_asm_insn (AS2 (and%B0,%1,%h0), xops);
+ /* je label */
+ break;
- case GE:
- xops[1] = GEN_INT (0x05);
- output_asm_insn (AS2 (and%B0,%1,%h0), xops);
- /* je label */
- break;
+ case LT:
+ xops[1] = GEN_INT (0x45);
+ xops[2] = GEN_INT (0x01);
+ output_asm_insn (AS2 (and%B0,%1,%h0), xops);
+ output_asm_insn (AS2 (cmp%B0,%2,%h0), xops);
+ /* je label */
+ break;
- case LE:
- xops[1] = GEN_INT (0x45);
- xops[2] = GEN_INT (0x40);
- output_asm_insn (AS2 (and%B0,%1,%h0), xops);
- output_asm_insn (AS1 (dec%B0,%h0), xops);
- output_asm_insn (AS2 (cmp%B0,%2,%h0), xops);
- /* jb label */
- break;
+ case GE:
+ xops[1] = GEN_INT (0x05);
+ output_asm_insn (AS2 (and%B0,%1,%h0), xops);
+ /* je label */
+ break;
- case EQ:
- xops[1] = GEN_INT (0x45);
- xops[2] = GEN_INT (0x40);
- output_asm_insn (AS2 (and%B0,%1,%h0), xops);
- output_asm_insn (AS2 (cmp%B0,%2,%h0), xops);
- /* je label */
- break;
+ case LE:
+ xops[1] = GEN_INT (0x45);
+ xops[2] = GEN_INT (0x40);
+ output_asm_insn (AS2 (and%B0,%1,%h0), xops);
+ output_asm_insn (AS1 (dec%B0,%h0), xops);
+ output_asm_insn (AS2 (cmp%B0,%2,%h0), xops);
+ /* jb label */
+ break;
- case NE:
- xops[1] = GEN_INT (0x44);
- xops[2] = GEN_INT (0x40);
- output_asm_insn (AS2 (and%B0,%1,%h0), xops);
- output_asm_insn (AS2 (xor%B0,%2,%h0), xops);
- /* jne label */
- break;
+ case EQ:
+ xops[1] = GEN_INT (0x45);
+ xops[2] = GEN_INT (0x40);
+ output_asm_insn (AS2 (and%B0,%1,%h0), xops);
+ output_asm_insn (AS2 (cmp%B0,%2,%h0), xops);
+ /* je label */
+ break;
- case GTU:
- case LTU:
- case GEU:
- case LEU:
- default:
- abort ();
+ case NE:
+ xops[1] = GEN_INT (0x44);
+ xops[2] = GEN_INT (0x40);
+ output_asm_insn (AS2 (and%B0,%1,%h0), xops);
+ output_asm_insn (AS2 (xor%B0,%2,%h0), xops);
+ /* jne label */
+ break;
+
+ case GTU:
+ case LTU:
+ case GEU:
+ case LEU:
+ default:
+ abort ();
+ }
}
return "";
@@ -5186,6 +5234,9 @@ output_strlen_unroll (operands)
output_asm_insn (AS1 (je,%l12), xops);
output_asm_insn (AS1 (inc%L0,%0), xops);
+ /* Not needed with an alignment of 2 */
+ if (GET_CODE (operands[1]) != CONST_INT || INTVAL (operands[1]) != 2)
+ {
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
CODE_LABEL_NUMBER (xops[7]));
output_asm_insn (AS2 (cmp%B13,%2,%13), xops);
@@ -5194,6 +5245,8 @@ output_strlen_unroll (operands)
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
CODE_LABEL_NUMBER (xops[6]));
+ }
+
output_asm_insn (AS2 (cmp%B13,%2,%13), xops);
}
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index fb3e1b2ad0b..649c7d544ba 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1,5 +1,6 @@
; GCC machine description for Intel X86.
-;; Copyright (C) 1988, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software
+;; Foundation, Inc.
;; Mostly by William Schelter.
;; This file is part of GNU CC.
@@ -2711,7 +2712,7 @@
}")
(define_insn ""
- [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
(fix:SI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
(clobber (match_operand:HI 3 "memory_operand" "m,m"))
@@ -2739,7 +2740,7 @@
}")
(define_insn ""
- [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
(fix:DI (fix:SF (match_operand:SF 1 "register_operand" "f,f"))))
(clobber (match_dup 1))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
@@ -2766,7 +2767,7 @@
}")
(define_insn ""
- [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
(fix:SI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
(clobber (match_operand:HI 3 "memory_operand" "m,m"))
@@ -2794,7 +2795,7 @@
}")
(define_insn ""
- [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
(fix:DI (fix:DF (match_operand:DF 1 "register_operand" "f,f"))))
(clobber (match_dup 1))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
@@ -2821,7 +2822,7 @@
}")
(define_insn ""
- [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!r")
+ [(set (match_operand:SI 0 "nonimmediate_operand" "=m,!&r")
(fix:SI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
(clobber (match_operand:HI 3 "memory_operand" "m,m"))
@@ -2849,7 +2850,7 @@
}")
(define_insn ""
- [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!r")
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=m,!&r")
(fix:DI (fix:XF (match_operand:XF 1 "register_operand" "f,f"))))
(clobber (match_dup 1))
(clobber (match_operand:HI 2 "memory_operand" "m,m"))
@@ -8193,3 +8194,12 @@ byte_xor_operation:
load_pic_register (1);
DONE;
}")
+
+(define_expand "builtin_setjmp_receiver"
+ [(label_ref (match_operand 0 "" ""))]
+ "flag_pic"
+ "
+{
+ load_pic_register (1);
+ DONE;
+}")
diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h
index cc5a089229f..b254a10f2ea 100644
--- a/gcc/config/i386/sol2.h
+++ b/gcc/config/i386/sol2.h
@@ -21,6 +21,33 @@ Boston, MA 02111-1307, USA. */
#include "i386/sysv4.h"
+/* We use stabs-in-elf for debugging, because that is what the native
+ toolchain uses. */
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
+#if ! GAS_REJECTS_MINUS_S
+
+/*
+ Changed from config/svr4.h in the following ways:
+
+ - Removed -Yd (neither the sun bundled assembler nor gas accept it).
+ - Added "-s" so that stabs are not discarded.
+*/
+
+#undef ASM_SPEC
+#define ASM_SPEC \
+ "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s"
+
+#else /* GAS_REJECTS_MINUS_S */
+
+/* Same as above, except for -s, unsupported by GNU as. */
+#undef ASM_SPEC
+#define ASM_SPEC \
+ "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*}"
+
+#endif /* GAS_REJECTS_MINUS_S */
+
/* The Solaris 2.0 x86 linker botches alignment of code sections.
It tries to align to a 16 byte boundary by padding with 0x00000090
ints, rather than 0x90 bytes (nop). This generates trash in the
diff --git a/gcc/config/i386/sol2dbg.h b/gcc/config/i386/sol2dbg.h
deleted file mode 100644
index 9f95333b4b9..00000000000
--- a/gcc/config/i386/sol2dbg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Target definitions for GNU compiler for Intel 80386 running Solaris
- with gas and gdb.
- This file is added into the directory .../gcc-2.../config/i386
- Workability without "#undef DWARF_DEBUGGING_INFO" is not tested. */
-
-/* Use stabs instead of DWARF debug format. */
-#ifdef PREFERRED_DEBUGGING_TYPE
-#undef PREFERRED_DEBUGGING_TYPE
-#endif
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
-
-#include "i386/sol2.h"
-
-#ifdef DWARF_DEBUGGING_INFO
-#undef DWARF_DEBUGGING_INFO
-#endif
-
-/*
- Changed from config/svr4.h in the following ways:
-
- - Added "%{V}".
- - Modified "{%v:-V}" to take into account "%{V}".
- - Added "-s" so that stabs are saved in the final executable. */
-
-#undef ASM_SPEC
-#define ASM_SPEC \
- "%{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} -s"
diff --git a/gcc/config/i386/sol2gas.h b/gcc/config/i386/sol2gas.h
new file mode 100644
index 00000000000..558183aecd5
--- /dev/null
+++ b/gcc/config/i386/sol2gas.h
@@ -0,0 +1,9 @@
+/* Definitions of target machine for GNU compiler, for SPARC running
+ Solaris 2 with GNU as up to 2.9.5.0.12.
+
+ Copyright (C) 1999 Free Software Foundation, Inc.
+*/
+
+#ifndef GAS_REJECTS_MINUS_S
+#define GAS_REJECTS_MINUS_S 1
+#endif
diff --git a/gcc/config/i386/t-dgux b/gcc/config/i386/t-dgux
index 292331f22a9..1bf024a4c19 100644
--- a/gcc/config/i386/t-dgux
+++ b/gcc/config/i386/t-dgux
@@ -1,4 +1,8 @@
#
# target makefile for dgux
#
-EXTRA_PARTS=crtbegin.o crtend.o
+EXTRA_PARTS=crti.o crtbegin.o crtend.o
+
+crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES)
+ sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s
+ $(GCC_FOR_TARGET) -c -o crti.o crti.s
diff --git a/gcc/config/i386/udk.h b/gcc/config/i386/udk.h
index 2714e6da1be..8e03abf5227 100644
--- a/gcc/config/i386/udk.h
+++ b/gcc/config/i386/udk.h
@@ -25,6 +25,6 @@
%{G:-G} \
%{YP,*} \
%{!YP,*:%{p:-Y P,/udk/usr/ccs/lib/libp:/udk/usr/lib/libp:/udk/usr/ccs/lib:/udk/usr/lib} \
- %{!p:-Y P,/udk/usr/ccs/lib:/usr/lib}} \
+ %{!p:-Y P,/udk/usr/ccs/lib:/udk/usr/lib}} \
%{Qy:} %{!Qn:-Qy}"
diff --git a/gcc/config/i386/uwin.h b/gcc/config/i386/uwin.h
index 0d5019d5b04..73e04add2e9 100644
--- a/gcc/config/i386/uwin.h
+++ b/gcc/config/i386/uwin.h
@@ -44,7 +44,7 @@ Boston, MA 02111-1307, USA. */
#undef CPP_SPEC
#define CPP_SPEC "-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
-include /usr/include/astwin32.h \
- -iprefix /usr/gnu/include -iwithprefix /mingw32"
+ -idirafter /usr/gnu/include/mingw32"
/* For Windows applications, include more libraries, but always include
kernel32. */
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index f1a2d4b83be..24d8617f8df 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -545,8 +545,29 @@ i386_pe_record_external_function (name)
extern_head = p;
}
+static struct extern_list *exports_head;
+
+/* Assemble an export symbol entry. We need to keep a list of
+ these, so that we can output the export list at the end of the
+ assembly. We used to output these export symbols in each function,
+ but that causes problems with GNU ld when the sections are
+ linkonce. */
+
+void
+i386_pe_record_exported_symbol (name)
+ char *name;
+{
+ struct extern_list *p;
+
+ p = (struct extern_list *) permalloc (sizeof *p);
+ p->next = exports_head;
+ p->name = name;
+ exports_head = p;
+}
+
/* This is called at the end of assembly. For each external function
- which has not been defined, we output a declaration now. */
+ which has not been defined, we output a declaration now. We also
+ output the .drectve section. */
void
i386_pe_asm_file_end (file)
@@ -567,4 +588,13 @@ i386_pe_asm_file_end (file)
i386_pe_declare_function_type (file, p->name, TREE_PUBLIC (decl));
}
}
+
+ if (exports_head)
+ drectve_section ();
+ for (p = exports_head; p != NULL; p = p->next)
+ {
+ fprintf (file, "\t.ascii \" -export:%s\"\n",
+ I386_PE_STRIP_ENCODING (p->name));
+ }
}
+
diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h
index 50034fd071d..ccf6e3cedf6 100644
--- a/gcc/config/i386/xm-djgpp.h
+++ b/gcc/config/i386/xm-djgpp.h
@@ -34,8 +34,6 @@ Boston, MA 02111-1307, USA. */
/* Allow test for DOS drive names. */
#define HAVE_DOS_BASED_FILESYSTEM
-#define NO_SYS_SIGLIST 1
-
#define LIBSTDCXX "-lstdcxx"
/* System dependant initialization for collect2
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 98f51978ac8..9567c9d63a8 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -126,24 +126,6 @@ override_options ()
m68k_align_funcs = def_align;
}
-/* Emit a (use pic_offset_table_rtx) if we used PIC relocation in the
- function at any time during the compilation process. In the future
- we should try and eliminate the USE if we can easily determine that
- all PIC references were deleted from the current function. That would
- save an address register */
-
-void
-finalize_pic ()
-{
- if (flag_pic && current_function_uses_pic_offset_table)
- {
- rtx insn = gen_rtx_USE (VOIDmode, pic_offset_table_rtx);
- emit_insn_after (insn, get_insns ());
- emit_insn (insn);
- }
-}
-
-
/* This function generates the assembly code for function entry.
STREAM is a stdio stream to output the code to.
SIZE is an int: how many units of temporary storage to allocate.
@@ -260,10 +242,10 @@ output_function_prologue (stream, size)
/* asm_fprintf() cannot handle %. */
#ifdef MOTOROLA
asm_fprintf (stream, "\tsubq.w %0I8,%Rsp\n\tsubq.w %0I%d,%Rsp\n",
- fsize + 4);
+ fsize + 4 - 8);
#else
asm_fprintf (stream, "\tsubqw %0I8,%Rsp\n\tsubqw %0I%d,%Rsp\n",
- fsize + 4);
+ fsize + 4 - 8);
#endif
}
else
@@ -374,6 +356,11 @@ output_function_prologue (stream, size)
mask &= ~ (1 << (15 - FRAME_POINTER_REGNUM));
num_saved_regs--;
}
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ {
+ mask |= 1 << (15 - PIC_OFFSET_TABLE_REGNUM);
+ num_saved_regs++;
+ }
#if NEED_PROBE
#ifdef MOTOROLA
@@ -581,6 +568,11 @@ output_function_epilogue (stream, size)
nregs++;
mask |= 1 << regno;
}
+ if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ {
+ nregs++;
+ mask |= 1 << PIC_OFFSET_TABLE_REGNUM;
+ }
offset = foffset + nregs * 4;
/* FIXME : leaf_function_p below is too strong.
What we really need to know there is if there could be pending
@@ -798,10 +790,10 @@ output_function_epilogue (stream, size)
/* asm_fprintf() cannot handle %. */
#ifdef MOTOROLA
asm_fprintf (stream, "\taddq.w %0I8,%Rsp\n\taddq.w %0I%d,%Rsp\n",
- fsize + 4);
+ fsize + 4 - 8);
#else
asm_fprintf (stream, "\taddqw %0I8,%Rsp\n\taddqw %0I%d,%Rsp\n",
- fsize + 4);
+ fsize + 4 - 8);
#endif
}
else
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index 268b639d8b7..ee0dc755ce2 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler. Sun 68000/68020 version.
- Copyright (C) 1987, 88, 93-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -341,11 +342,6 @@ extern int target_flags;
/* This defines the register which is used to hold the offset table for PIC. */
#define PIC_OFFSET_TABLE_REGNUM 13
-/* Used to output a (use pic_offset_table_rtx) so that we
- always save/restore a5 in functions that use PIC relocation
- at *any* time during the compilation process. */
-#define FINALIZE_PIC finalize_pic()
-
#ifndef SUPPORT_SUN_FPA
/* 1 for registers that have pervasive standard uses
@@ -446,8 +442,17 @@ extern int target_flags;
if (TEST_HARD_REG_BIT (x, i)) \
fixed_regs[i] = call_used_regs[i] = 1; \
} \
+ if (flag_pic) \
+ fixed_regs[PIC_OFFSET_TABLE_REGNUM] \
+ = call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1;\
+}
+#else
+#define CONDITIONAL_REGISTER_USAGE \
+{ \
+ if (flag_pic) \
+ fixed_regs[PIC_OFFSET_TABLE_REGNUM] \
+ = call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1;\
}
-
#endif /* defined SUPPORT_SUN_FPA */
/* Return number of consecutive hard regs needed starting at reg REGNO
@@ -772,23 +777,19 @@ extern enum reg_class regno_reg_class[];
in some cases it is preferable to use a more restrictive class.
On the 68000 series, use a data reg if possible when the
value is a constant in the range where moveq could be used
- and we ensure that QImodes are reloaded into data regs.
- Also, if a floating constant needs reloading, put it in memory.
- Don't do this for !G constants, since all patterns in the md file
- expect them to be loaded into a register via fpmovecr. See above. */
-
-#define PREFERRED_RELOAD_CLASS(X,CLASS) \
- ((GET_CODE (X) == CONST_INT \
- && (unsigned) (INTVAL (X) + 0x80) < 0x100 \
- && (CLASS) != ADDR_REGS) \
- ? DATA_REGS \
- : (GET_MODE (X) == QImode && (CLASS) != ADDR_REGS) \
- ? DATA_REGS \
- : (GET_CODE (X) == CONST_DOUBLE \
- && GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT) \
- ? (! CONST_DOUBLE_OK_FOR_LETTER_P (X, 'G') \
- && (CLASS == FP_REGS || CLASS == DATA_OR_FP_REGS) \
- ? FP_REGS : NO_REGS) \
+ and we ensure that QImodes are reloaded into data regs. */
+
+#define PREFERRED_RELOAD_CLASS(X,CLASS) \
+ ((GET_CODE (X) == CONST_INT \
+ && (unsigned) (INTVAL (X) + 0x80) < 0x100 \
+ && (CLASS) != ADDR_REGS) \
+ ? DATA_REGS \
+ : (GET_MODE (X) == QImode && (CLASS) != ADDR_REGS) \
+ ? DATA_REGS \
+ : (GET_CODE (X) == CONST_DOUBLE \
+ && GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT) \
+ ? (TARGET_68881 && (CLASS == FP_REGS || CLASS == DATA_OR_FP_REGS) \
+ ? FP_REGS : NO_REGS) \
: (CLASS))
/* Force QImode output reloads from subregs to be allocated to data regs,
@@ -1198,6 +1199,8 @@ while(0)
for (regno = 0; regno < 16; regno++) \
if (regs_ever_live[regno] && ! call_used_regs[regno]) \
offset += 4; \
+ if (flag_pic && current_function_uses_pic_offset_table) \
+ offset += 4; \
(DEPTH) = (offset + ((get_frame_size () + 3) & -4) \
+ (get_frame_size () == 0 ? 0 : 4)); \
}
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index a8dac721d99..59a509cadaa 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -3599,7 +3599,7 @@
[(set (match_operand:DI 0 "general_operand" "=o,d")
(and:DI (match_operand:DI 1 "general_operand" "%0,0")
(match_operand:DI 2 "general_operand" "dn,don")))]
- ""
+ "!TARGET_5200"
"*
{
CC_STATUS_INIT;
@@ -3959,7 +3959,7 @@
[(set (match_operand:DI 0 "general_operand" "=od")
(xor:DI (match_operand:DI 1 "general_operand" "%0")
(match_operand:DI 2 "general_operand" "dn")))]
- ""
+ "!TARGET_5200"
"*
{
CC_STATUS_INIT;
diff --git a/gcc/config/m68k/x-hp3bsd44 b/gcc/config/m68k/x-hp3bsd44
deleted file mode 100644
index b8dffd03805..00000000000
--- a/gcc/config/m68k/x-hp3bsd44
+++ /dev/null
@@ -1 +0,0 @@
-USER_H = $(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS)
diff --git a/gcc/config/m68k/x-mot3300 b/gcc/config/m68k/x-mot3300
index 3d7e3c315a9..14d86d180e3 100644
--- a/gcc/config/m68k/x-mot3300
+++ b/gcc/config/m68k/x-mot3300
@@ -5,11 +5,13 @@ ALLOCA=alloca.o
# Since ss-950318, with jump optimization enabled, "as" issues a warning
# when assembling combine.s :
# aline nnnnn : Warning: Table overflow: some optimizations lost (SDIs)
-# but later "ld" complains with
+# but later "/bin/ld" complains with
# ld: relocation entry found for non-relocatable symbol in combine.o
# and the produced "cc1" fails with SIGSEGV
+# and "/usr/local/bin/ld" merely fails with
+# collect2: ld terminated with signal 11, core dumped
# Another possible fix would be to split combine.c.
# Since ss-961013, the same happens for expr.c compiled by gcc, but not by cc;
# and for cp/decl.c; aren't those files too big ?
-# With egcs-970910, this also happens for f/expr.o and f/stb.o
-XCFLAGS=`case $@ in combine.o|expr.o|decl.o|f/expr.o|f/stb.o) echo -Wa,-j;;esac`
+# With egcs-1.1.2, this also happens for f/expr.o and f/stb.o
+XCFLAGS=`case $@ in combine.o|expr.o|decl.o|stb.o|cse.o) echo -Wa,-j;;esac`
diff --git a/gcc/config/m88k/dguxbcs.h b/gcc/config/m88k/dguxbcs.h
index 00ef9b3a289..17cf6744e07 100644
--- a/gcc/config/m88k/dguxbcs.h
+++ b/gcc/config/m88k/dguxbcs.h
@@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA. */
-traditional, or restricting include files to one specific source
target, specify full DG/UX features. */
#undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu)
+#define CPP_SPEC "%(cpp_cpu) \
%{!msvr4:-D_M88KBCS_TARGET} %{msvr4:-D_DGUX_TARGET}"
/* Linker and library spec's.
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 46f1165d188..7360e1b5d64 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -3224,7 +3224,11 @@ do \
SYMBOL_REF_FLAG (XEXP (DECL_RTL (DECL), 0)) = 1; \
} \
\
- else if (TARGET_GP_OPT && TREE_CODE (DECL) == VAR_DECL) \
+ /* We can not perform GP optimizations on variables which are in \
+ specific sections, except for .sdata and .sbss which are \
+ handled above. */ \
+ else if (TARGET_GP_OPT && TREE_CODE (DECL) == VAR_DECL \
+ && DECL_SECTION_NAME (DECL) == NULL_TREE) \
{ \
int size = int_size_in_bytes (TREE_TYPE (DECL)); \
\
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 6dde18bf372..81c5cd38e38 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -10416,3 +10416,27 @@ move\\t%0,%z4\\n\\
[(set_attr "type" "branch")
(set_attr "mode" "none")
(set_attr "length" "2")])
+
+;; For the rare case where we need to load an address into a register
+;; that can not be recognized by the normal movsi/addsi instructions.
+;; I have no idea how many insns this can actually generate. It should
+;; be rare, so over-estimating as 10 instructions should not have any
+;; real performance impact.
+(define_insn "leasi"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (match_operand:SI 1 "address_operand" "p"))]
+ "Pmode == SImode"
+ "la %0,%a1"
+ [(set_attr "type" "arith")
+ (set_attr "mode" "SI")
+ (set_attr "length" "10")])
+
+;; Similarly for targets where we have 64bit pointers.
+(define_insn "leadi"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (match_operand:DI 1 "address_operand" "p"))]
+ "Pmode == DImode"
+ "la %0,%a1"
+ [(set_attr "type" "arith")
+ (set_attr "mode" "DI")
+ (set_attr "length" "10")])
diff --git a/gcc/config/mips/vxworks.h b/gcc/config/mips/vxworks.h
index 0856c37343a..54f6490be1c 100644
--- a/gcc/config/mips/vxworks.h
+++ b/gcc/config/mips/vxworks.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc. */
+/* Copyright (C) 1999, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
diff --git a/gcc/config/openbsd.h b/gcc/config/openbsd.h
index 30f24942341..e95fbdaea0c 100644
--- a/gcc/config/openbsd.h
+++ b/gcc/config/openbsd.h
@@ -165,13 +165,16 @@ Boston, MA 02111-1307, USA. */
/* OpenBSD assembler is hacked to have .type & .size support even in a.out
format object files. Functions size are supported but not activated
- yet (look for GRACE_PERIOD_EXPIRED in gas/config/obj-aout.c). */
+ yet (look for GRACE_PERIOD_EXPIRED in gas/config/obj-aout.c).
+ SET_ASM_OP is needed for attribute alias to work. */
#undef TYPE_ASM_OP
#undef SIZE_ASM_OP
+#undef SET_ASM_OP
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
+#define SET_ASM_OP ".set"
/* The following macro defines the format used to output the second
operand of the .type assembler directive. */
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index fa1287e55e5..66ea980492d 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -1129,8 +1129,12 @@ emit_move_sequence (operands, mode, scratch_reg)
&& GET_CODE (SUBREG_REG (operand0)) == REG
&& REGNO (SUBREG_REG (operand0)) >= FIRST_PSEUDO_REGISTER)
{
- SUBREG_REG (operand0) = reg_equiv_mem[REGNO (SUBREG_REG (operand0))];
- operand0 = alter_subreg (operand0);
+ /* We must not alter SUBREG_WORD (operand0) since that would confuse
+ the code which tracks sets/uses for delete_output_reload. */
+ rtx temp = gen_rtx_SUBREG (GET_MODE (operand0),
+ reg_equiv_mem [REGNO (SUBREG_REG (operand0))],
+ SUBREG_WORD (operand0));
+ operand0 = alter_subreg (temp);
}
if (scratch_reg
@@ -1142,8 +1146,12 @@ emit_move_sequence (operands, mode, scratch_reg)
&& GET_CODE (SUBREG_REG (operand1)) == REG
&& REGNO (SUBREG_REG (operand1)) >= FIRST_PSEUDO_REGISTER)
{
- SUBREG_REG (operand1) = reg_equiv_mem[REGNO (SUBREG_REG (operand1))];
- operand1 = alter_subreg (operand1);
+ /* We must not alter SUBREG_WORD (operand0) since that would confuse
+ the code which tracks sets/uses for delete_output_reload. */
+ rtx temp = gen_rtx_SUBREG (GET_MODE (operand1),
+ reg_equiv_mem [REGNO (SUBREG_REG (operand1))],
+ SUBREG_WORD (operand1));
+ operand1 = alter_subreg (temp);
}
if (scratch_reg && reload_in_progress && GET_CODE (operand0) == MEM
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 2c0f0311100..a6508e697f1 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -278,11 +278,11 @@ extern int target_flags;
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) == 0
#define CPP_SPEC "%{msnake:-D__hp9000s700 -D_PA_RISC1_1}\
%{mpa-risc-1-1:-D__hp9000s700 -D_PA_RISC1_1}\
- %{!ansi: -D_HPUX_SOURCE -D_HIUX_SOURCE}\
+ %{!ansi: -D_HPUX_SOURCE -D_HIUX_SOURCE -D__STDC_EXT__}\
%{threads:-D_REENTRANT -D_DCE_THREADS}"
#else
#define CPP_SPEC "%{!mpa-risc-1-0:%{!mnosnake:%{!msoft-float:-D__hp9000s700 -D_PA_RISC1_1}}} \
- %{!ansi: -D_HPUX_SOURCE -D_HIUX_SOURCE}\
+ %{!ansi: -D_HPUX_SOURCE -D_HIUX_SOURCE -D__STDC_EXT__}\
%{threads:-D_REENTRANT -D_DCE_THREADS}"
#endif
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index dbff838a4e2..6b4ea840623 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3600,7 +3600,13 @@
[(set (match_operand:DF 0 "register_operand" "=f")
(neg:DF (match_operand:DF 1 "register_operand" "f")))]
"! TARGET_SOFT_FLOAT"
- "fsub,dbl %%fr0,%1,%0"
+ "*
+{
+ if (TARGET_PA_20)
+ return \"fneg,dbl %1,%0\";
+ else
+ return \"fsub,dbl %%fr0,%1,%0\";
+}"
[(set_attr "type" "fpalu")
(set_attr "length" "4")])
@@ -3608,7 +3614,13 @@
[(set (match_operand:SF 0 "register_operand" "=f")
(neg:SF (match_operand:SF 1 "register_operand" "f")))]
"! TARGET_SOFT_FLOAT"
- "fsub,sgl %%fr0,%1,%0"
+ "*
+{
+ if (TARGET_PA_20)
+ return \"fneg,sgl %1,%0\";
+ else
+ return \"fsub,sgl %%fr0,%1,%0\";
+}"
[(set_attr "type" "fpalu")
(set_attr "length" "4")])
@@ -3643,6 +3655,88 @@
"fsqrt,sgl %1,%0"
[(set_attr "type" "fpsqrtsgl")
(set_attr "length" "4")])
+
+;; PA 2.0 floating point instructions
+
+; fmpyfadd patterns
+(define_insn ""
+ [(set (match_operand:DF 0 "register_operand" "=f")
+ (plus:DF (mult:DF (match_operand:DF 1 "register_operand" "f")
+ (match_operand:DF 2 "register_operand" "f"))
+ (match_operand:DF 3 "register_operand" "f")))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fmpyfadd,dbl %1,%2,%3,%0"
+ [(set_attr "type" "fpmuldbl")
+ (set_attr "length" "4")])
+
+(define_insn ""
+ [(set (match_operand:DF 0 "register_operand" "=f")
+ (plus:DF (match_operand:DF 1 "register_operand" "f")
+ (mult:DF (match_operand:DF 2 "register_operand" "f")
+ (match_operand:DF 3 "register_operand" "f"))))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fmpyfadd,dbl %2,%3,%1,%0"
+ [(set_attr "type" "fpmuldbl")
+ (set_attr "length" "4")])
+
+(define_insn ""
+ [(set (match_operand:SF 0 "register_operand" "=f")
+ (plus:SF (mult:SF (match_operand:SF 1 "register_operand" "f")
+ (match_operand:SF 2 "register_operand" "f"))
+ (match_operand:SF 3 "register_operand" "f")))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fmpyfadd,sgl %1,%2,%3,%0"
+ [(set_attr "type" "fpmulsgl")
+ (set_attr "length" "4")])
+
+(define_insn ""
+ [(set (match_operand:SF 0 "register_operand" "=f")
+ (plus:SF (match_operand:SF 1 "register_operand" "f")
+ (mult:SF (match_operand:SF 2 "register_operand" "f")
+ (match_operand:SF 3 "register_operand" "f"))))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fmpyfadd,sgl %2,%3,%1,%0"
+ [(set_attr "type" "fpmulsgl")
+ (set_attr "length" "4")])
+
+; fmpynfadd patterns
+(define_insn ""
+ [(set (match_operand:DF 0 "register_operand" "=f")
+ (minus:DF (match_operand:DF 1 "register_operand" "f")
+ (mult:DF (match_operand:DF 2 "register_operand" "f")
+ (match_operand:DF 3 "register_operand" "f"))))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fmpynfadd,dbl %2,%3,%1,%0"
+ [(set_attr "type" "fpmuldbl")
+ (set_attr "length" "4")])
+
+(define_insn ""
+ [(set (match_operand:SF 0 "register_operand" "=f")
+ (minus:SF (match_operand:SF 1 "register_operand" "f")
+ (mult:SF (match_operand:SF 2 "register_operand" "f")
+ (match_operand:SF 3 "register_operand" "f"))))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fmpynfadd,sgl %2,%3,%1,%0"
+ [(set_attr "type" "fpmulsgl")
+ (set_attr "length" "4")])
+
+; fnegabs patterns
+(define_insn ""
+ [(set (match_operand:DF 0 "register_operand" "=f")
+ (neg:DF (abs:DF (match_operand:DF 1 "register_operand" "f"))))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fnegabs,dbl %1,%0"
+ [(set_attr "type" "fpalu")
+ (set_attr "length" "4")])
+
+(define_insn ""
+ [(set (match_operand:SF 0 "register_operand" "=f")
+ (neg:SF (abs:SF (match_operand:SF 1 "register_operand" "f"))))]
+ "TARGET_PA_20 && ! TARGET_SOFT_FLOAT"
+ "fnegabs,sgl %1,%0"
+ [(set_attr "type" "fpalu")
+ (set_attr "length" "4")])
+
;;- Shift instructions
diff --git a/gcc/config/rs6000/eabi-ctors.c b/gcc/config/rs6000/eabi-ctors.c
index ebc23ded35c..2ff3c1abc61 100644
--- a/gcc/config/rs6000/eabi-ctors.c
+++ b/gcc/config/rs6000/eabi-ctors.c
@@ -58,14 +58,14 @@ void (*__atexit)(func_ptr);
void
__do_global_ctors (void)
{
- func_ptr *ptr = &__CTOR_LIST__[0];
- func_ptr *end = &__CTOR_END__[0];
+ func_ptr *ptr = &__CTOR_END__[0] - 1;
+ func_ptr *start = &__CTOR_LIST__[0];
if (__atexit)
__atexit (__do_global_dtors);
/* Call the constructors collected in the .ctors section. */
- for ( ; ptr != end; ptr++)
+ for ( ; ptr >= start; ptr--)
if (*ptr)
(*ptr)();
@@ -77,15 +77,15 @@ __do_global_ctors (void)
void
__do_global_dtors (void)
{
- func_ptr *ptr = &__DTOR_END__[0] - 1;
- func_ptr *start = &__DTOR_LIST__[0];
+ func_ptr *ptr = &__DTOR_LIST__[0];
+ func_ptr *end = &__DTOR_END__[0];
/* Call the termination function in the .fini section. */
(*fini_ptr) ();
/* Call the destructors collected in the .dtors section. Run
the destructors in reverse order. */
- for ( ; ptr >= start; ptr--)
+ for ( ; ptr < end; ptr++)
if (*ptr)
(*ptr)();
}
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index 13e3df2b44c..c2a04fa85b1 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -36,7 +36,7 @@ Boston, MA 02111-1307, USA. */
#define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32ppc %{G*} %{shared:-shared} \
+#define LINK_SPEC "-m elf32ppclinux %{G*} %{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 34071f20a19..d184d5acdb6 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1,5 +1,6 @@
/* Subroutines used for code generation on IBM RS/6000.
- Copyright (C) 1991, 93-8, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC.
@@ -623,6 +624,27 @@ reg_or_cint_operand (op, mode)
|| gpc_reg_operand (op, mode));
}
+/* Return 1 is the operand is either a non-special register or ANY
+ 32-bit unsigned constant integer. */
+
+int
+reg_or_u_cint_operand (op, mode)
+ register rtx op;
+ enum machine_mode mode;
+{
+ return (gpc_reg_operand (op, mode)
+ || (GET_CODE (op) == CONST_INT
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && INTVAL (op) > 0)
+#if HOST_BITS_PER_WIDE_INT == 32
+ || (GET_CODE (op) == CONST_DOUBLE
+ && CONST_DOUBLE_HIGH (op) == 0)
+#endif
+ );
+}
+
/* Return 1 if the operand is an operand that can be loaded via the GOT */
int
@@ -905,8 +927,41 @@ logical_operand (op, mode)
{
return (gpc_reg_operand (op, mode)
|| (GET_CODE (op) == CONST_INT
- && ((INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff)) == 0
- || (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff0000)) == 0)));
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) > 0
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && ((INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (HOST_WIDE_INT) 0xffff)) == 0
+ || (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) == 0)));
+}
+
+/* Return 1 if the operand is a non-special register or a 32-bit constant
+ that can be used as the operand of an OR or XOR insn on the RS/6000. */
+
+int
+logical_u_operand (op, mode)
+ register rtx op;
+ enum machine_mode mode;
+{
+ return (gpc_reg_operand (op, mode)
+ || (GET_CODE (op) == CONST_INT
+ && INTVAL (op) > 0
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && ((INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (HOST_WIDE_INT) 0xffff)) == 0
+ || (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) == 0))
+#if HOST_BITS_PER_WIDE_INT == 32
+ || (GET_CODE (op) == CONST_DOUBLE
+ && CONST_DOUBLE_HIGH (op) == 0
+ && ((CONST_DOUBLE_LOW (op)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) == 0))
+#endif
+ );
}
/* Return 1 if C is a constant that is not a logical operand (as
@@ -918,8 +973,39 @@ non_logical_cint_operand (op, mode)
enum machine_mode mode ATTRIBUTE_UNUSED;
{
return (GET_CODE (op) == CONST_INT
- && (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff)) != 0
- && (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff0000)) != 0);
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && (INTVAL (op) & GET_MODE_MASK (mode) &
+ (~ (HOST_WIDE_INT) 0xffff)) != 0
+ && (INTVAL (op) & GET_MODE_MASK (mode) &
+ (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) != 0);
+}
+
+/* Return 1 if C is an unsigned 32-bit constant that is not a
+ logical operand (as above). */
+
+int
+non_logical_u_cint_operand (op, mode)
+ register rtx op;
+ enum machine_mode mode ATTRIBUTE_UNUSED;
+{
+ return ((GET_CODE (op) == CONST_INT
+ && INTVAL (op) > 0
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (HOST_WIDE_INT) 0xffff)) != 0
+ && (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) != 0)
+#if HOST_BITS_PER_WIDE_INT == 32
+ || (GET_CODE (op) == CONST_DOUBLE
+ && CONST_DOUBLE_HIGH (op) == 0
+ && (CONST_DOUBLE_LOW (op) & (~ (HOST_WIDE_INT) 0xffff)) != 0
+ && (CONST_DOUBLE_LOW (op)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) != 0));
+#endif
}
/* Return 1 if C is a constant that can be encoded in a 32-bit mask on the
@@ -1109,7 +1195,7 @@ call_operand (op, mode)
/* Return 1 if the operand is a SYMBOL_REF for a function known to be in
- this file. */
+ this file and the function is not weakly defined. */
int
current_file_function_operand (op, mode)
@@ -1118,7 +1204,8 @@ current_file_function_operand (op, mode)
{
return (GET_CODE (op) == SYMBOL_REF
&& (SYMBOL_REF_FLAG (op)
- || op == XEXP (DECL_RTL (current_function_decl), 0)));
+ || (op == XEXP (DECL_RTL (current_function_decl), 0)
+ && !DECL_WEAK (current_function_decl))));
}
@@ -1253,6 +1340,7 @@ init_cumulative_args (cum, fntype, libname, incoming)
cum->fregno = FP_ARG_MIN_REG;
cum->prototype = (fntype && TYPE_ARG_TYPES (fntype));
cum->call_cookie = CALL_NORMAL;
+ cum->sysv_gregno = GP_ARG_MIN_REG;
if (incoming)
cum->nargs_prototype = 1000; /* don't return a PARALLEL */
@@ -1338,7 +1426,8 @@ function_arg_boundary (mode, type)
enum machine_mode mode;
tree type;
{
- if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && mode == DImode)
+ if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
+ && (mode == DImode || mode == DFmode))
return 64;
if (DEFAULT_ABI != ABI_NT || TARGET_64BIT)
@@ -1361,48 +1450,85 @@ function_arg_advance (cum, mode, type, named)
tree type;
int named;
{
- int align = (TARGET_32BIT && (cum->words & 1) != 0
- && function_arg_boundary (mode, type) == 64) ? 1 : 0;
- cum->words += align;
cum->nargs_prototype--;
if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
{
- /* Long longs must not be split between registers and stack */
- if ((GET_MODE_CLASS (mode) != MODE_FLOAT || TARGET_SOFT_FLOAT)
- && type && !AGGREGATE_TYPE_P (type)
- && cum->words < GP_ARG_NUM_REG
- && cum->words + RS6000_ARG_SIZE (mode, type, named) > GP_ARG_NUM_REG)
+ if (TARGET_HARD_FLOAT
+ && (mode == SFmode || mode == DFmode))
{
- cum->words = GP_ARG_NUM_REG;
+ if (cum->fregno <= FP_ARG_V4_MAX_REG)
+ cum->fregno++;
+ else
+ {
+ if (mode == DFmode)
+ cum->words += cum->words & 1;
+ cum->words += RS6000_ARG_SIZE (mode, type, 1);
+ }
}
+ else
+ {
+ int n_words;
+ int gregno = cum->sysv_gregno;
+
+ /* Aggregates and IEEE quad get passed by reference. */
+ if ((type && AGGREGATE_TYPE_P (type))
+ || mode == TFmode)
+ n_words = 1;
+ else
+ n_words = RS6000_ARG_SIZE (mode, type, 1);
+
+ /* Long long is put in odd registers. */
+ if (n_words == 2 && (gregno & 1) == 0)
+ gregno += 1;
+
+ /* Long long is not split between registers and stack. */
+ if (gregno + n_words - 1 > GP_ARG_MAX_REG)
+ {
+ /* Long long is aligned on the stack. */
+ if (n_words == 2)
+ cum->words += cum->words & 1;
+ cum->words += n_words;
+ }
- /* Aggregates get passed as pointers */
- if (type && AGGREGATE_TYPE_P (type))
- cum->words++;
-
- /* Floats go in registers, & don't occupy space in the GP registers
- like they do for AIX unless software floating point. */
- else if (GET_MODE_CLASS (mode) == MODE_FLOAT
- && TARGET_HARD_FLOAT
- && cum->fregno <= FP_ARG_V4_MAX_REG)
- cum->fregno++;
+ /* Note: continuing to accumulate gregno past when we've started
+ spilling to the stack indicates the fact that we've started
+ spilling to the stack to expand_builtin_saveregs. */
+ cum->sysv_gregno = gregno + n_words;
+ }
- else
- cum->words += RS6000_ARG_SIZE (mode, type, 1);
+ if (TARGET_DEBUG_ARG)
+ {
+ fprintf (stderr, "function_adv: words = %2d, fregno = %2d, ",
+ cum->words, cum->fregno);
+ fprintf (stderr, "gregno = %2d, nargs = %4d, proto = %d, ",
+ cum->sysv_gregno, cum->nargs_prototype, cum->prototype);
+ fprintf (stderr, "mode = %4s, named = %d\n",
+ GET_MODE_NAME (mode), named);
+ }
}
else
- if (named)
- {
- cum->words += RS6000_ARG_SIZE (mode, type, named);
- if (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_HARD_FLOAT)
- cum->fregno++;
- }
+ {
+ int align = (TARGET_32BIT && (cum->words & 1) != 0
+ && function_arg_boundary (mode, type) == 64) ? 1 : 0;
+ cum->words += align;
- if (TARGET_DEBUG_ARG)
- fprintf (stderr,
- "function_adv: words = %2d, fregno = %2d, nargs = %4d, proto = %d, mode = %4s, named = %d, align = %d\n",
- cum->words, cum->fregno, cum->nargs_prototype, cum->prototype, GET_MODE_NAME (mode), named, align);
+ if (named)
+ {
+ cum->words += RS6000_ARG_SIZE (mode, type, named);
+ if (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_HARD_FLOAT)
+ cum->fregno++;
+ }
+
+ if (TARGET_DEBUG_ARG)
+ {
+ fprintf (stderr, "function_adv: words = %2d, fregno = %2d, ",
+ cum->words, cum->fregno);
+ fprintf (stderr, "nargs = %4d, proto = %d, mode = %4s, ",
+ cum->nargs_prototype, cum->prototype, GET_MODE_NAME (mode));
+ fprintf (stderr, "named = %d, align = %d\n", named, align);
+ }
+ }
}
/* Determine where to put an argument to a function.
@@ -1435,22 +1561,14 @@ function_arg (cum, mode, type, named)
tree type;
int named;
{
- int align = (TARGET_32BIT && (cum->words & 1) != 0
- && function_arg_boundary (mode, type) == 64) ? 1 : 0;
- int align_words = cum->words + align;
-
- if (TARGET_DEBUG_ARG)
- fprintf (stderr,
- "function_arg: words = %2d, fregno = %2d, nargs = %4d, proto = %d, mode = %4s, named = %d, align = %d\n",
- cum->words, cum->fregno, cum->nargs_prototype, cum->prototype, GET_MODE_NAME (mode), named, align);
+ enum rs6000_abi abi = DEFAULT_ABI;
- /* Return a marker to indicate whether CR1 needs to set or clear the bit that V.4
- uses to say fp args were passed in registers. Assume that we don't need the
- marker for software floating point, or compiler generated library calls. */
+ /* Return a marker to indicate whether CR1 needs to set or clear the bit
+ that V.4 uses to say fp args were passed in registers. Assume that we
+ don't need the marker for software floating point, or compiler generated
+ library calls. */
if (mode == VOIDmode)
{
- enum rs6000_abi abi = DEFAULT_ABI;
-
if ((abi == ABI_V4 || abi == ABI_SOLARIS)
&& TARGET_HARD_FLOAT
&& cum->nargs_prototype < 0
@@ -1465,31 +1583,65 @@ function_arg (cum, mode, type, named)
return GEN_INT (cum->call_cookie);
}
- if (!named)
+ if (abi == ABI_V4 || abi == ABI_SOLARIS)
{
- if (DEFAULT_ABI != ABI_V4 && DEFAULT_ABI != ABI_SOLARIS)
- return NULL_RTX;
+ if (TARGET_HARD_FLOAT
+ && (mode == SFmode || mode == DFmode))
+ {
+ if (cum->fregno <= FP_ARG_V4_MAX_REG)
+ return gen_rtx_REG (mode, cum->fregno);
+ else
+ return NULL;
+ }
+ else
+ {
+ int n_words;
+ int gregno = cum->sysv_gregno;
+
+ /* Aggregates and IEEE quad get passed by reference. */
+ if ((type && AGGREGATE_TYPE_P (type))
+ || mode == TFmode)
+ n_words = 1;
+ else
+ n_words = RS6000_ARG_SIZE (mode, type, 1);
+
+ /* Long long is put in odd registers. */
+ if (n_words == 2 && (gregno & 1) == 0)
+ gregno += 1;
+
+ /* Long long is not split between registers and stack. */
+ if (gregno + n_words - 1 <= GP_ARG_MAX_REG)
+ return gen_rtx_REG (mode, gregno);
+ else
+ return NULL;
+ }
}
+ else
+ {
+ int align = (TARGET_32BIT && (cum->words & 1) != 0
+ && function_arg_boundary (mode, type) == 64) ? 1 : 0;
+ int align_words = cum->words + align;
- if (type && TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
- return NULL_RTX;
+ if (!named)
+ return NULL_RTX;
- if (USE_FP_FOR_ARG_P (*cum, mode, type))
- {
- if (DEFAULT_ABI == ABI_V4 /* V.4 never passes FP values in GP registers */
- || DEFAULT_ABI == ABI_SOLARIS
- || ! type
- || ((cum->nargs_prototype > 0)
- /* IBM AIX extended its linkage convention definition always to
- require FP args after register save area hole on the stack. */
- && (DEFAULT_ABI != ABI_AIX
- || ! TARGET_XL_CALL
- || (align_words < GP_ARG_NUM_REG))))
- return gen_rtx_REG (mode, cum->fregno);
-
- return gen_rtx_PARALLEL (mode,
- gen_rtvec
- (2,
+ if (type && TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
+ return NULL_RTX;
+
+ if (USE_FP_FOR_ARG_P (*cum, mode, type))
+ {
+ if (! type
+ || ((cum->nargs_prototype > 0)
+ /* IBM AIX extended its linkage convention definition always
+ to require FP args after register save area hole on the
+ stack. */
+ && (DEFAULT_ABI != ABI_AIX
+ || ! TARGET_XL_CALL
+ || (align_words < GP_ARG_NUM_REG))))
+ return gen_rtx_REG (mode, cum->fregno);
+
+ return gen_rtx_PARALLEL (mode,
+ gen_rtvec (2,
gen_rtx_EXPR_LIST (VOIDmode,
((align_words >= GP_ARG_NUM_REG)
? NULL_RTX
@@ -1507,21 +1659,12 @@ function_arg (cum, mode, type, named)
gen_rtx_EXPR_LIST (VOIDmode,
gen_rtx_REG (mode, cum->fregno),
const0_rtx)));
+ }
+ else if (align_words < GP_ARG_NUM_REG)
+ return gen_rtx_REG (mode, GP_ARG_MIN_REG + align_words);
+ else
+ return NULL_RTX;
}
-
- /* Long longs won't be split between register and stack;
- FP arguments get passed on the stack if they didn't get a register. */
- else if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) &&
- (align_words + RS6000_ARG_SIZE (mode, type, named) > GP_ARG_NUM_REG
- || (GET_MODE_CLASS (mode) == MODE_FLOAT && TARGET_HARD_FLOAT)))
- {
- return NULL_RTX;
- }
-
- else if (align_words < GP_ARG_NUM_REG)
- return gen_rtx_REG (mode, GP_ARG_MIN_REG + align_words);
-
- return NULL_RTX;
}
/* For an arg passed partly in registers and partly in memory,
@@ -1576,7 +1719,8 @@ function_arg_pass_by_reference (cum, mode, type, named)
int named ATTRIBUTE_UNUSED;
{
if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
- && type && AGGREGATE_TYPE_P (type))
+ && ((type && AGGREGATE_TYPE_P (type))
+ || mode == TFmode))
{
if (TARGET_DEBUG_ARG)
fprintf (stderr, "function_arg_pass_by_reference: aggregate\n");
@@ -1611,73 +1755,87 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
int no_rtl;
{
- rtx save_area = virtual_incoming_args_rtx;
- int reg_size = TARGET_32BIT ? 4 : 8;
-
- if (TARGET_DEBUG_ARG)
- fprintf (stderr,
- "setup_vararg: words = %2d, fregno = %2d, nargs = %4d, proto = %d, mode = %4s, no_rtl= %d\n",
- cum->words, cum->fregno, cum->nargs_prototype, cum->prototype, GET_MODE_NAME (mode), no_rtl);
+ CUMULATIVE_ARGS next_cum;
+ int reg_size = TARGET_32BIT ? 4 : 8;
+ rtx save_area;
+ int first_reg_offset;
if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
{
+ tree fntype;
+ int stdarg_p;
+
+ fntype = TREE_TYPE (current_function_decl);
+ stdarg_p = (TYPE_ARG_TYPES (fntype) != 0
+ && (TREE_VALUE (tree_last (TYPE_ARG_TYPES (fntype)))
+ != void_type_node));
+
+ /* For varargs, we do not want to skip the dummy va_dcl argument.
+ For stdargs, we do want to skip the last named argument. */
+ next_cum = *cum;
+ if (stdarg_p)
+ function_arg_advance (&next_cum, mode, type, 1);
+
+ /* Indicate to allocate space on the stack for varargs save area. */
+ /* ??? Does this really have to be located at a magic spot on the
+ stack, or can we allocate this with assign_stack_local instead. */
rs6000_sysv_varargs_p = 1;
if (! no_rtl)
save_area = plus_constant (virtual_stack_vars_rtx,
- RS6000_VARARGS_SIZE);
+
+ first_reg_offset = next_cum.sysv_gregno - GP_ARG_MIN_REG;
}
else
- rs6000_sysv_varargs_p = 0;
-
- if (cum->words < 8)
{
- int first_reg_offset = cum->words;
+ save_area = virtual_incoming_args_rtx;
+ rs6000_sysv_varargs_p = 0;
+ first_reg_offset = cum->words;
if (MUST_PASS_IN_STACK (mode, type))
first_reg_offset += RS6000_ARG_SIZE (TYPE_MODE (type), type, 1);
+ }
- if (first_reg_offset > GP_ARG_NUM_REG)
- first_reg_offset = GP_ARG_NUM_REG;
-
- if (!no_rtl && first_reg_offset != GP_ARG_NUM_REG)
- move_block_from_reg
- (GP_ARG_MIN_REG + first_reg_offset,
- gen_rtx_MEM (BLKmode,
- plus_constant (save_area, first_reg_offset * reg_size)),
- GP_ARG_NUM_REG - first_reg_offset,
- (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD);
-
+ if (!no_rtl && first_reg_offset < GP_ARG_NUM_REG)
+ {
+ move_block_from_reg
+ (GP_ARG_MIN_REG + first_reg_offset,
+ gen_rtx_MEM (BLKmode,
+ plus_constant (save_area, first_reg_offset * reg_size)),
+ GP_ARG_NUM_REG - first_reg_offset,
+ (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD);
+
+ /* ??? Does ABI_V4 need this at all? */
*pretend_size = (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD;
}
/* Save FP registers if needed. */
- if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && TARGET_HARD_FLOAT && !no_rtl)
+ if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
+ && TARGET_HARD_FLOAT && !no_rtl
+ && next_cum.fregno <= FP_ARG_V4_MAX_REG)
{
- int fregno = cum->fregno;
- int num_fp_reg = FP_ARG_V4_MAX_REG + 1 - fregno;
+ int fregno = next_cum.fregno;
+ rtx cr1 = gen_rtx_REG (CCmode, 69);
+ rtx lab = gen_label_rtx ();
+ int off = (GP_ARG_NUM_REG * reg_size) + ((fregno - FP_ARG_MIN_REG) * 8);
- if (num_fp_reg >= 0)
- {
- rtx cr1 = gen_rtx_REG (CCmode, 69);
- rtx lab = gen_label_rtx ();
- int off = (GP_ARG_NUM_REG * reg_size) + ((fregno - FP_ARG_MIN_REG) * 8);
-
- emit_jump_insn (gen_rtx_SET (VOIDmode,
+ emit_jump_insn (gen_rtx_SET (VOIDmode,
pc_rtx,
gen_rtx_IF_THEN_ELSE (VOIDmode,
- gen_rtx_NE (VOIDmode, cr1, const0_rtx),
+ gen_rtx_NE (VOIDmode, cr1,
+ const0_rtx),
gen_rtx_LABEL_REF (VOIDmode, lab),
pc_rtx)));
- while ( num_fp_reg-- >= 0)
- {
- emit_move_insn (gen_rtx_MEM (DFmode, plus_constant (save_area, off)),
- gen_rtx_REG (DFmode, fregno++));
- off += 8;
- }
-
- emit_label (lab);
+ while (fregno <= FP_ARG_V4_MAX_REG)
+ {
+ emit_move_insn (gen_rtx_MEM (DFmode, plus_constant (save_area, off)),
+ gen_rtx_REG (DFmode, fregno));
+ fregno++;
+ off += 8;
}
+
+ emit_label (lab);
}
}
@@ -1733,9 +1891,18 @@ expand_builtin_saveregs (args)
2 * UNITS_PER_WORD));
/* Construct the two characters of `gpr' and `fpr' as a unit. */
- words = current_function_args_info.words - !stdarg_p;
- gpr = (words > 8 ? 8 : words);
- fpr = current_function_args_info.fregno - 33;
+ words = current_function_args_info.words;
+ gpr = current_function_args_info.sysv_gregno - GP_ARG_MIN_REG;
+ fpr = current_function_args_info.fregno - FP_ARG_MIN_REG;
+
+ /* Varargs has the va_dcl argument, but we don't count it. */
+ if (!stdarg_p)
+ {
+ if (gpr > GP_ARG_NUM_REG)
+ words -= 1;
+ else
+ gpr -= 1;
+ }
if (BYTES_BIG_ENDIAN)
{
@@ -1754,12 +1921,9 @@ expand_builtin_saveregs (args)
emit_move_insn (mem_gpr_fpr, tmp);
/* Find the overflow area. */
- if (words <= 8)
- tmp = virtual_incoming_args_rtx;
- else
- tmp = expand_binop (Pmode, add_optab, virtual_incoming_args_rtx,
- GEN_INT ((words - 8) * UNITS_PER_WORD),
- mem_overflow, 0, OPTAB_WIDEN);
+ tmp = expand_binop (Pmode, add_optab, virtual_incoming_args_rtx,
+ GEN_INT (words * UNITS_PER_WORD),
+ mem_overflow, 0, OPTAB_WIDEN);
if (tmp != mem_overflow)
emit_move_insn (mem_overflow, tmp);
@@ -1773,7 +1937,6 @@ expand_builtin_saveregs (args)
/* Return the address of the va_list constructor. */
return XEXP (block, 0);
}
-
/* Generate a memory reference for expand_block_move, copying volatile,
and other bits from an original memory reference. */
@@ -1827,7 +1990,7 @@ expand_block_move (operands)
int move_bytes;
/* If this is not a fixed size move, just call memcpy */
- if (!constp)
+ if (! constp)
return 0;
/* Anything to move? */
@@ -1839,13 +2002,19 @@ expand_block_move (operands)
then don't generate more than 8 loads. */
if (TARGET_STRING)
{
- if (bytes > 4*8)
+ if (bytes > 8*4)
return 0;
}
- else if (!STRICT_ALIGNMENT)
+ else if (! STRICT_ALIGNMENT)
{
- if (bytes > 4*8)
- return 0;
+ if (TARGET_POWERPC64 && align >= 4)
+ {
+ if (bytes > 8*8)
+ return 0;
+ }
+ else
+ if (bytes > 8*4)
+ return 0;
}
else if (bytes > 8*align)
return 0;
@@ -1859,89 +2028,134 @@ expand_block_move (operands)
for ( ; bytes > 0; bytes -= move_bytes)
{
if (bytes > 24 /* move up to 32 bytes at a time */
- && !fixed_regs[5]
- && !fixed_regs[6]
- && !fixed_regs[7]
- && !fixed_regs[8]
- && !fixed_regs[9]
- && !fixed_regs[10]
- && !fixed_regs[11]
- && !fixed_regs[12])
+ && ! fixed_regs[5]
+ && ! fixed_regs[6]
+ && ! fixed_regs[7]
+ && ! fixed_regs[8]
+ && ! fixed_regs[9]
+ && ! fixed_regs[10]
+ && ! fixed_regs[11]
+ && ! fixed_regs[12])
{
move_bytes = (bytes > 32) ? 32 : bytes;
- emit_insn (gen_movstrsi_8reg (expand_block_move_mem (BLKmode, dest_reg, orig_dest),
- expand_block_move_mem (BLKmode, src_reg, orig_src),
- GEN_INT ((move_bytes == 32) ? 0 : move_bytes),
+ emit_insn (gen_movstrsi_8reg (expand_block_move_mem (BLKmode,
+ dest_reg,
+ orig_dest),
+ expand_block_move_mem (BLKmode,
+ src_reg,
+ orig_src),
+ GEN_INT ((move_bytes == 32)
+ ? 0 : move_bytes),
align_rtx));
}
else if (bytes > 16 /* move up to 24 bytes at a time */
- && !fixed_regs[7]
- && !fixed_regs[8]
- && !fixed_regs[9]
- && !fixed_regs[10]
- && !fixed_regs[11]
- && !fixed_regs[12])
+ && ! fixed_regs[7]
+ && ! fixed_regs[8]
+ && ! fixed_regs[9]
+ && ! fixed_regs[10]
+ && ! fixed_regs[11]
+ && ! fixed_regs[12])
{
move_bytes = (bytes > 24) ? 24 : bytes;
- emit_insn (gen_movstrsi_6reg (expand_block_move_mem (BLKmode, dest_reg, orig_dest),
- expand_block_move_mem (BLKmode, src_reg, orig_src),
+ emit_insn (gen_movstrsi_6reg (expand_block_move_mem (BLKmode,
+ dest_reg,
+ orig_dest),
+ expand_block_move_mem (BLKmode,
+ src_reg,
+ orig_src),
GEN_INT (move_bytes),
align_rtx));
}
else if (bytes > 8 /* move up to 16 bytes at a time */
- && !fixed_regs[9]
- && !fixed_regs[10]
- && !fixed_regs[11]
- && !fixed_regs[12])
+ && ! fixed_regs[9]
+ && ! fixed_regs[10]
+ && ! fixed_regs[11]
+ && ! fixed_regs[12])
{
move_bytes = (bytes > 16) ? 16 : bytes;
- emit_insn (gen_movstrsi_4reg (expand_block_move_mem (BLKmode, dest_reg, orig_dest),
- expand_block_move_mem (BLKmode, src_reg, orig_src),
+ emit_insn (gen_movstrsi_4reg (expand_block_move_mem (BLKmode,
+ dest_reg,
+ orig_dest),
+ expand_block_move_mem (BLKmode,
+ src_reg,
+ orig_src),
GEN_INT (move_bytes),
align_rtx));
}
- else if (bytes > 4 && !TARGET_64BIT)
+ else if (bytes > 4 && ! TARGET_POWERPC64)
{ /* move up to 8 bytes at a time */
move_bytes = (bytes > 8) ? 8 : bytes;
- emit_insn (gen_movstrsi_2reg (expand_block_move_mem (BLKmode, dest_reg, orig_dest),
- expand_block_move_mem (BLKmode, src_reg, orig_src),
+ emit_insn (gen_movstrsi_2reg (expand_block_move_mem (BLKmode,
+ dest_reg,
+ orig_dest),
+ expand_block_move_mem (BLKmode,
+ src_reg,
+ orig_src),
GEN_INT (move_bytes),
align_rtx));
}
- else if (bytes >= 4 && (align >= 4 || !STRICT_ALIGNMENT))
+ else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT))
{ /* move 4 bytes */
move_bytes = 4;
tmp_reg = gen_reg_rtx (SImode);
- emit_move_insn (tmp_reg, expand_block_move_mem (SImode, src_reg, orig_src));
- emit_move_insn (expand_block_move_mem (SImode, dest_reg, orig_dest), tmp_reg);
+ emit_move_insn (tmp_reg,
+ expand_block_move_mem (SImode,
+ src_reg, orig_src));
+ emit_move_insn (expand_block_move_mem (SImode,
+ dest_reg, orig_dest),
+ tmp_reg);
}
- else if (bytes == 2 && (align >= 2 || !STRICT_ALIGNMENT))
+ else if (bytes == 2 && (align >= 2 || ! STRICT_ALIGNMENT))
{ /* move 2 bytes */
move_bytes = 2;
tmp_reg = gen_reg_rtx (HImode);
- emit_move_insn (tmp_reg, expand_block_move_mem (HImode, src_reg, orig_src));
- emit_move_insn (expand_block_move_mem (HImode, dest_reg, orig_dest), tmp_reg);
+ emit_move_insn (tmp_reg,
+ expand_block_move_mem (HImode,
+ src_reg, orig_src));
+ emit_move_insn (expand_block_move_mem (HImode,
+ dest_reg, orig_dest),
+ tmp_reg);
}
else if (bytes == 1) /* move 1 byte */
{
move_bytes = 1;
tmp_reg = gen_reg_rtx (QImode);
- emit_move_insn (tmp_reg, expand_block_move_mem (QImode, src_reg, orig_src));
- emit_move_insn (expand_block_move_mem (QImode, dest_reg, orig_dest), tmp_reg);
+ emit_move_insn (tmp_reg,
+ expand_block_move_mem (QImode,
+ src_reg, orig_src));
+ emit_move_insn (expand_block_move_mem (QImode,
+ dest_reg, orig_dest),
+ tmp_reg);
}
else
{ /* move up to 4 bytes at a time */
move_bytes = (bytes > 4) ? 4 : bytes;
- emit_insn (gen_movstrsi_1reg (expand_block_move_mem (BLKmode, dest_reg, orig_dest),
- expand_block_move_mem (BLKmode, src_reg, orig_src),
+ emit_insn (gen_movstrsi_1reg (expand_block_move_mem (BLKmode,
+ dest_reg,
+ orig_dest),
+ expand_block_move_mem (BLKmode,
+ src_reg,
+ orig_src),
GEN_INT (move_bytes),
align_rtx));
}
if (bytes > move_bytes)
{
- emit_insn (gen_addsi3 (src_reg, src_reg, GEN_INT (move_bytes)));
- emit_insn (gen_addsi3 (dest_reg, dest_reg, GEN_INT (move_bytes)));
+ if (! TARGET_POWERPC64)
+ {
+ emit_insn (gen_addsi3 (src_reg, src_reg,
+ GEN_INT (move_bytes)));
+ emit_insn (gen_addsi3 (dest_reg, dest_reg,
+ GEN_INT (move_bytes)));
+ }
+ else
+ {
+ emit_insn (gen_adddi3 (src_reg, src_reg,
+ GEN_INT (move_bytes)));
+ emit_insn (gen_adddi3 (dest_reg, dest_reg,
+ GEN_INT (move_bytes)));
+ }
}
}
}
@@ -1963,34 +2177,61 @@ expand_block_move (operands)
dest_addr = gen_rtx_PLUS (Pmode, dest_reg, GEN_INT (offset));
}
- /* Generate the appropriate load and store, saving the stores for later */
- if (bytes >= 8 && TARGET_64BIT && (align >= 8 || !STRICT_ALIGNMENT))
+ /* Generate the appropriate load and store, saving the stores
+ for later. */
+ if (bytes >= 8 && TARGET_POWERPC64
+ /* 64-bit loads and stores require word-aligned displacements. */
+ && (align >= 8 || (! STRICT_ALIGNMENT && align >= 4)))
{
move_bytes = 8;
tmp_reg = gen_reg_rtx (DImode);
- emit_insn (gen_movdi (tmp_reg, expand_block_move_mem (DImode, src_addr, orig_src)));
- stores[ num_reg++ ] = gen_movdi (expand_block_move_mem (DImode, dest_addr, orig_dest), tmp_reg);
+ emit_insn (gen_movdi (tmp_reg,
+ expand_block_move_mem (DImode,
+ src_addr,
+ orig_src)));
+ stores[num_reg++] = gen_movdi (expand_block_move_mem (DImode,
+ dest_addr,
+ orig_dest),
+ tmp_reg);
}
- else if (bytes >= 4 && (align >= 4 || !STRICT_ALIGNMENT))
+ else if (bytes >= 4 && (align >= 4 || ! STRICT_ALIGNMENT))
{
move_bytes = 4;
tmp_reg = gen_reg_rtx (SImode);
- emit_insn (gen_movsi (tmp_reg, expand_block_move_mem (SImode, src_addr, orig_src)));
- stores[ num_reg++ ] = gen_movsi (expand_block_move_mem (SImode, dest_addr, orig_dest), tmp_reg);
+ emit_insn (gen_movsi (tmp_reg,
+ expand_block_move_mem (SImode,
+ src_addr,
+ orig_src)));
+ stores[num_reg++] = gen_movsi (expand_block_move_mem (SImode,
+ dest_addr,
+ orig_dest),
+ tmp_reg);
}
- else if (bytes >= 2 && (align >= 2 || !STRICT_ALIGNMENT))
+ else if (bytes >= 2 && (align >= 2 || ! STRICT_ALIGNMENT))
{
move_bytes = 2;
tmp_reg = gen_reg_rtx (HImode);
- emit_insn (gen_movsi (tmp_reg, expand_block_move_mem (HImode, src_addr, orig_src)));
- stores[ num_reg++ ] = gen_movhi (expand_block_move_mem (HImode, dest_addr, orig_dest), tmp_reg);
+ emit_insn (gen_movhi (tmp_reg,
+ expand_block_move_mem (HImode,
+ src_addr,
+ orig_src)));
+ stores[num_reg++] = gen_movhi (expand_block_move_mem (HImode,
+ dest_addr,
+ orig_dest),
+ tmp_reg);
}
else
{
move_bytes = 1;
tmp_reg = gen_reg_rtx (QImode);
- emit_insn (gen_movsi (tmp_reg, expand_block_move_mem (QImode, src_addr, orig_src)));
- stores[ num_reg++ ] = gen_movqi (expand_block_move_mem (QImode, dest_addr, orig_dest), tmp_reg);
+ emit_insn (gen_movqi (tmp_reg,
+ expand_block_move_mem (QImode,
+ src_addr,
+ orig_src)));
+ stores[num_reg++] = gen_movqi (expand_block_move_mem (QImode,
+ dest_addr,
+ orig_dest),
+ tmp_reg);
}
if (num_reg >= MAX_MOVE_REG)
@@ -2292,6 +2533,7 @@ secondary_reload_class (class, mode, in)
if (TARGET_ELF
&& class != BASE_REGS
&& (GET_CODE (in) == SYMBOL_REF
+ || GET_CODE (in) == HIGH
|| GET_CODE (in) == LABEL_REF
|| GET_CODE (in) == CONST))
return BASE_REGS;
@@ -2391,148 +2633,28 @@ ccr_bit (op, scc_p)
}
}
-/* Return the GOT register, creating it if needed. */
+/* Return the GOT register. */
struct rtx_def *
rs6000_got_register (value)
rtx value;
{
- if (! current_function_uses_pic_offset_table || ! pic_offset_table_rtx)
- {
- if (no_new_pseudos)
- fatal_insn ("internal error -- needed new GOT register during reload phase to load:",
- value);
-
- current_function_uses_pic_offset_table = 1;
- pic_offset_table_rtx = gen_rtx_REG (Pmode, GOT_TOC_REGNUM);
- }
+ /* The second flow pass currently (June 1999) can't update regs_ever_live
+ without disturbing other parts of the compiler, so update it here to
+ make the prolog/epilogue code happy. */
+ if (no_new_pseudos && !regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1;
+ current_function_uses_pic_offset_table = 1;
return pic_offset_table_rtx;
}
-
-/* Replace all occurrences of register FROM with an new pseudo register in an insn X.
- Store the pseudo register used in REG.
- This is only safe during FINALIZE_PIC, since the registers haven't been setup
- yet. */
-
-static rtx
-rs6000_replace_regno (x, from, reg)
- rtx x;
- int from;
- rtx *reg;
-{
- register int i, j;
- register const char *fmt;
-
- /* Allow this function to make replacements in EXPR_LISTs. */
- if (!x)
- return x;
-
- switch (GET_CODE (x))
- {
- case SCRATCH:
- case PC:
- case CC0:
- case CONST_INT:
- case CONST_DOUBLE:
- case CONST:
- case SYMBOL_REF:
- case LABEL_REF:
- return x;
-
- case REG:
- if (REGNO (x) == from)
- {
- if (! *reg)
- *reg = pic_offset_table_rtx = gen_reg_rtx (Pmode);
-
- return *reg;
- }
-
- return x;
-
- default:
- break;
- }
-
- fmt = GET_RTX_FORMAT (GET_CODE (x));
- for (i = GET_RTX_LENGTH (GET_CODE (x)) - 1; i >= 0; i--)
- {
- if (fmt[i] == 'e')
- XEXP (x, i) = rs6000_replace_regno (XEXP (x, i), from, reg);
- else if (fmt[i] == 'E')
- for (j = XVECLEN (x, i) - 1; j >= 0; j--)
- XVECEXP (x, i, j) = rs6000_replace_regno (XVECEXP (x, i, j), from, reg);
- }
-
- return x;
-}
-
-
-/* By generating position-independent code, when two different
- programs (A and B) share a common library (libC.a), the text of
- the library can be shared whether or not the library is linked at
- the same address for both programs. In some of these
- environments, position-independent code requires not only the use
- of different addressing modes, but also special code to enable the
- use of these addressing modes.
-
- The `FINALIZE_PIC' macro serves as a hook to emit these special
- codes once the function is being compiled into assembly code, but
- not before. (It is not done before, because in the case of
- compiling an inline function, it would lead to multiple PIC
- prologues being included in functions which used inline functions
- and were compiled to assembly language.) */
-
-void
-rs6000_finalize_pic ()
-{
- /* Loop through all of the insns, replacing the special GOT_TOC_REGNUM
- with an appropriate pseudo register. If we find we need GOT/TOC,
- add the appropriate init code. */
- if (flag_pic && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS))
- {
- rtx insn = get_insns ();
- rtx reg = NULL_RTX;
- rtx first_insn;
- rtx last_insn = NULL_RTX;
-
- if (GET_CODE (insn) == NOTE)
- insn = next_nonnote_insn (insn);
-
- first_insn = insn;
- for ( ; insn != NULL_RTX; insn = NEXT_INSN (insn))
- {
- if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
- {
- PATTERN (insn) = rs6000_replace_regno (PATTERN (insn),
- GOT_TOC_REGNUM,
- &reg);
-
- if (REG_NOTES (insn))
- REG_NOTES (insn) = rs6000_replace_regno (REG_NOTES (insn),
- GOT_TOC_REGNUM,
- &reg);
- }
-
- if (GET_CODE (insn) != NOTE)
- last_insn = insn;
- }
-
- if (reg)
- {
- rtx init = gen_init_v4_pic (reg);
- emit_insn_before (init, first_insn);
- if (!optimize && last_insn)
- emit_insn_after (gen_rtx_USE (VOIDmode, reg), last_insn);
- }
- }
-}
-
-
/* Search for any occurrence of the GOT_TOC register marker that should
- have been eliminated, but may have crept back in. */
+ have been eliminated, but may have crept back in.
+
+ This function could completely go away now (June 1999), but we leave it
+ in for a while until all the possible issues with the new -fpic handling
+ are resolved. */
void
rs6000_reorg (insn)
@@ -2540,7 +2662,7 @@ rs6000_reorg (insn)
{
if (flag_pic && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS))
{
- rtx got_reg = gen_rtx_REG (Pmode, GOT_TOC_REGNUM);
+ rtx got_reg = gen_rtx_REG (Pmode, 2);
for ( ; insn != NULL_RTX; insn = NEXT_INSN (insn))
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
&& reg_mentioned_p (got_reg, PATTERN (insn)))
@@ -2556,7 +2678,6 @@ struct machine_function
int save_toc_p;
int fpmem_size;
int fpmem_offset;
- rtx pic_offset_table_rtx;
};
/* Functions to save and restore rs6000_fpmem_size.
@@ -2574,7 +2695,6 @@ rs6000_save_machine_status (p)
machine->sysv_varargs_p = rs6000_sysv_varargs_p;
machine->fpmem_size = rs6000_fpmem_size;
machine->fpmem_offset = rs6000_fpmem_offset;
- machine->pic_offset_table_rtx = pic_offset_table_rtx;
}
void
@@ -2586,7 +2706,6 @@ rs6000_restore_machine_status (p)
rs6000_sysv_varargs_p = machine->sysv_varargs_p;
rs6000_fpmem_size = machine->fpmem_size;
rs6000_fpmem_offset = machine->fpmem_offset;
- pic_offset_table_rtx = machine->pic_offset_table_rtx;
free (machine);
p->machine = (struct machine_function *)0;
@@ -2601,7 +2720,6 @@ rs6000_init_expanders ()
rs6000_sysv_varargs_p = 0;
rs6000_fpmem_size = 0;
rs6000_fpmem_offset = 0;
- pic_offset_table_rtx = (rtx)0;
/* Arrange to save and restore machine status around nested functions. */
save_machine_status = rs6000_save_machine_status;
@@ -2646,7 +2764,7 @@ print_operand (file, x, code)
case '*':
/* Write the register number of the TOC register. */
- fputs (TARGET_MINIMAL_TOC ? reg_names[30] : reg_names[2], file);
+ fputs (TARGET_MINIMAL_TOC ? reg_names[30] : reg_names[2 /* PIC_OFFSET_TABLE_REGNUM? */ ], file);
return;
case '$':
@@ -2817,10 +2935,11 @@ print_operand (file, x, code)
we have already done it, we can just use an offset of word. */
if (GET_CODE (XEXP (x, 0)) == PRE_INC
|| GET_CODE (XEXP (x, 0)) == PRE_DEC)
- output_address (plus_constant (XEXP (XEXP (x, 0), 0),
- UNITS_PER_WORD));
+ output_address (plus_constant_for_output (XEXP (XEXP (x, 0), 0),
+ UNITS_PER_WORD));
else
- output_address (plus_constant (XEXP (x, 0), UNITS_PER_WORD));
+ output_address (plus_constant_for_output (XEXP (x, 0),
+ UNITS_PER_WORD));
if (small_data_operand (x, GET_MODE (x)))
fprintf (file, "@%s(%s)", SMALL_DATA_RELOC,
reg_names[SMALL_DATA_REG]);
@@ -3252,7 +3371,7 @@ print_operand_address (file, x)
;
#endif
else
- fprintf (file, "(%s)", reg_names[ TARGET_MINIMAL_TOC ? 30 : 2 ]);
+ fprintf (file, "(%s)", reg_names[ TARGET_MINIMAL_TOC ? 30 : 2 /* PIC_OFFSET_TABLE_REGNUM? */ ]);
}
else if (GET_CODE (x) == PLUS && GET_CODE (XEXP (x, 1)) == REG)
{
@@ -3288,7 +3407,11 @@ first_reg_to_save ()
/* Find lowest numbered live register. */
for (first_reg = 13; first_reg <= 31; first_reg++)
- if (regs_ever_live[first_reg])
+ if (regs_ever_live[first_reg]
+ && (! call_used_regs[first_reg]
+ || (first_reg == PIC_OFFSET_TABLE_REGNUM
+ && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
+ && flag_pic == 1)))
break;
if (profile_flag)
@@ -3518,7 +3641,14 @@ rs6000_stack_info ()
/* Calculate which registers need to be saved & save area size */
info_ptr->first_gp_reg_save = first_reg_to_save ();
- info_ptr->gp_size = reg_size * (32 - info_ptr->first_gp_reg_save);
+ /* Assume that we will have to save PIC_OFFSET_TABLE_REGNUM,
+ even if it currently looks like we won't. */
+ if (flag_pic == 1
+ && (abi == ABI_V4 || abi == ABI_SOLARIS)
+ && info_ptr->first_gp_reg_save > PIC_OFFSET_TABLE_REGNUM)
+ info_ptr->gp_size = reg_size * (32 - PIC_OFFSET_TABLE_REGNUM);
+ else
+ info_ptr->gp_size = reg_size * (32 - info_ptr->first_gp_reg_save);
info_ptr->first_fp_reg_save = first_fp_reg_to_save ();
info_ptr->fp_size = 8 * (64 - info_ptr->first_fp_reg_save);
@@ -4121,6 +4251,20 @@ output_prolog (file, size)
reg_names[sp_reg]);
}
+ /* If we need PIC_OFFSET_TABLE_REGNUM, initialize it now */
+ if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
+ && flag_pic == 1 && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
+ {
+ if (!info->lr_save_p)
+ asm_fprintf (file, "\tmflr %s\n", reg_names[0]);
+
+ fputs ("\tbl _GLOBAL_OFFSET_TABLE_@local-4\n", file);
+ asm_fprintf (file, "\tmflr %s\n", reg_names[PIC_OFFSET_TABLE_REGNUM]);
+
+ if (!info->lr_save_p)
+ asm_fprintf (file, "\tmtlr %s\n", reg_names[0]);
+ }
+
/* NT needs us to probe the stack frame every 4k pages for large frames, so
do it here. */
if (DEFAULT_ABI == ABI_NT && info->total_size > 4096)
@@ -4595,7 +4739,6 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
const char *this_reg = reg_names[ aggregate_value_p (TREE_TYPE (TREE_TYPE (function))) ? 4 : 3 ];
const char *prefix;
char *fname;
-#if 0
const char *r0 = reg_names[0];
const char *sp = reg_names[1];
const char *toc = reg_names[2];
@@ -4603,12 +4746,11 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
const char *r12 = reg_names[12];
char buf[512];
static int labelno = 0;
-#endif
/* Small constants that can be done by one add instruction */
if (delta >= -32768 && delta <= 32767)
{
- if (!TARGET_NEW_MNEMONICS)
+ if (! TARGET_NEW_MNEMONICS)
fprintf (file, "\tcal %s,%d(%s)\n", this_reg, delta, this_reg);
else
fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta);
@@ -4622,7 +4764,7 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
/* 32-bit constants that can be done by an add and addis instruction. */
else if (TARGET_32BIT || num_insns_constant_wide (delta) == 1)
{
- /* Break into two pieces, propigating the sign bit from the low word to
+ /* Break into two pieces, propagating the sign bit from the low word to
the upper word. */
int delta_high = delta >> 16;
int delta_low = delta & 0xffff;
@@ -4635,7 +4777,7 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
asm_fprintf (file, "\t{cau|addis} %s,%s,%d\n", this_reg, this_reg,
delta_high);
- if (!TARGET_NEW_MNEMONICS)
+ if (! TARGET_NEW_MNEMONICS)
fprintf (file, "\tcal %s,%d(%s)\n", this_reg, delta_low, this_reg);
else
fprintf (file, "\taddi %s,%s,%d\n", this_reg, this_reg, delta_low);
@@ -4670,21 +4812,15 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
Otherwise, load up its address and jump to it. */
fname = XSTR (XEXP (DECL_RTL (function), 0), 0);
-#if 1
- /* For now, just emit a branch always, until we can figure out better when we
- need to load the address into the count register and emit the slower bctr
- instruction. */
- fprintf (file, "\tb %s", prefix);
- assemble_name (file, fname);
- fprintf (file, "\n");
-#else
if (current_file_function_operand (XEXP (DECL_RTL (function), 0))
- && !lookup_attribute ("longcall", TYPE_ATTRIBUTES (TREE_TYPE (function))))
+ && ! lookup_attribute ("longcall",
+ TYPE_ATTRIBUTES (TREE_TYPE (function))))
{
fprintf (file, "\tb %s", prefix);
assemble_name (file, fname);
- fprintf (file, "\n");
+ if (DEFAULT_ABI == ABI_V4 && flag_pic) fputs ("@local", file);
+ fputs ("\n", file);
}
else
@@ -4729,8 +4865,14 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
asm_fprintf (file, "\tbctr\n");
break;
- /* Don't use r11, that contains the static chain, just use r0/r12. */
case ABI_V4:
+ fprintf (file, "\tb %s", prefix);
+ assemble_name (file, fname);
+ if (flag_pic) fputs ("@plt", file);
+ fputs ("\n", file);
+ break;
+
+ /* Don't use r11, that contains the static chain, just use r0/r12. */
case ABI_AIX_NODESC:
case ABI_SOLARIS:
if (flag_pic == 1)
@@ -4785,7 +4927,6 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
break;
}
}
-#endif /* #if 0 out code to use bctr for far away jumps */
}
@@ -4838,6 +4979,7 @@ output_toc (file, x, labelno)
REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
REAL_VALUE_TO_TARGET_DOUBLE (rv, k);
+
if (TARGET_64BIT)
{
if (TARGET_MINIMAL_TOC)
@@ -4850,9 +4992,9 @@ output_toc (file, x, labelno)
else
{
if (TARGET_MINIMAL_TOC)
- fprintf (file, "\t.long %ld\n\t.long %ld\n", k[0], k[1]);
+ fprintf (file, "\t.long 0x%lx\n\t.long 0x%lx\n", k[0], k[1]);
else
- fprintf (file, "\t.tc FD_%lx_%lx[TC],%ld,%ld\n",
+ fprintf (file, "\t.tc FD_%lx_%lx[TC],0x%lx,0x%lx\n",
k[0], k[1], k[0], k[1]);
return;
}
@@ -4866,11 +5008,22 @@ output_toc (file, x, labelno)
REAL_VALUE_FROM_CONST_DOUBLE (rv, x);
REAL_VALUE_TO_TARGET_SINGLE (rv, l);
- if (TARGET_MINIMAL_TOC)
- fprintf (file, TARGET_32BIT ? "\t.long %ld\n" : "\t.llong %ld\n", l);
+ if (TARGET_64BIT)
+ {
+ if (TARGET_MINIMAL_TOC)
+ fprintf (file, "\t.llong 0x%lx00000000\n", l);
+ else
+ fprintf (file, "\t.tc FS_%lx[TC],0x%lx00000000\n", l, l);
+ return;
+ }
else
- fprintf (file, "\t.tc FS_%lx[TC],%ld\n", l, l);
- return;
+ {
+ if (TARGET_MINIMAL_TOC)
+ fprintf (file, "\t.long 0x%lx\n", l);
+ else
+ fprintf (file, "\t.tc FS_%lx[TC],0x%lx\n", l, l);
+ return;
+ }
}
else if (GET_MODE (x) == DImode
&& (GET_CODE (x) == CONST_INT || GET_CODE (x) == CONST_DOUBLE)
@@ -5737,7 +5890,8 @@ rs6000_encode_section_info (decl)
if (TREE_CODE (decl) == FUNCTION_DECL)
{
rtx sym_ref = XEXP (DECL_RTL (decl), 0);
- if (TREE_ASM_WRITTEN (decl) || ! TREE_PUBLIC (decl))
+ if ((TREE_ASM_WRITTEN (decl) || ! TREE_PUBLIC (decl))
+ && !DECL_WEAK (decl))
SYMBOL_REF_FLAG (sym_ref) = 1;
if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
@@ -5789,7 +5943,39 @@ rs6000_encode_section_info (decl)
}
#endif /* USING_SVR4_H */
+
+/* Return a REG that occurs in ADDR with coefficient 1.
+ ADDR can be effectively incremented by incrementing REG.
+
+ r0 is special and we must not select it as an address
+ register by this routine since our caller will try to
+ increment the returned register via an "la" instruction. */
+
+struct rtx_def *
+find_addr_reg (addr)
+ rtx addr;
+{
+ while (GET_CODE (addr) == PLUS)
+ {
+ if (GET_CODE (XEXP (addr, 0)) == REG
+ && REGNO (XEXP (addr, 0)) != 0)
+ addr = XEXP (addr, 0);
+ else if (GET_CODE (XEXP (addr, 1)) == REG
+ && REGNO (XEXP (addr, 1)) != 0)
+ addr = XEXP (addr, 1);
+ else if (CONSTANT_P (XEXP (addr, 0)))
+ addr = XEXP (addr, 1);
+ else if (CONSTANT_P (XEXP (addr, 1)))
+ addr = XEXP (addr, 0);
+ else
+ abort ();
+ }
+ if (GET_CODE (addr) == REG && REGNO (addr) != 0)
+ return addr;
+ abort ();
+}
+
void
rs6000_fatal_bad_address (op)
rtx op;
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 4fecba1c4bf..4fb7a5bc1ce 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -884,15 +884,19 @@ extern int rs6000_debug_arg; /* debug argument handling */
64-bit AIX reserves GPR13 for thread-private data.
Conditionally disable FPRs. */
-#define CONDITIONAL_REGISTER_USAGE \
-{ \
- if (! TARGET_POWER) \
- fixed_regs[64] = 1; \
- if (TARGET_64BIT) \
- fixed_regs[13] = call_used_regs[13] = 1; \
- if (TARGET_SOFT_FLOAT) \
- for (i = 32; i < 64; i++) \
- fixed_regs[i] = call_used_regs[i] = 1; \
+#define CONDITIONAL_REGISTER_USAGE \
+{ \
+ if (! TARGET_POWER) \
+ fixed_regs[64] = 1; \
+ if (TARGET_64BIT) \
+ fixed_regs[13] = call_used_regs[13] = 1; \
+ if (TARGET_SOFT_FLOAT) \
+ for (i = 32; i < 64; i++) \
+ fixed_regs[i] = call_used_regs[i] = 1; \
+ if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) \
+ && flag_pic == 1) \
+ fixed_regs[PIC_OFFSET_TABLE_REGNUM] \
+ = call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
}
/* Specify the registers used for certain standard purposes.
@@ -925,12 +929,6 @@ extern int rs6000_debug_arg; /* debug argument handling */
/* Special register that represents memory, used for float/int conversions. */
#define FPMEM_REGNUM 76
-/* Register to use as a placeholder for the GOT/allocated TOC register.
- FINALIZE_PIC will change all uses of this register to a an appropriate
- pseudo register when it adds the code to setup the GOT. We use r2
- because it is a reserved register in all of the ABI's. */
-#define GOT_TOC_REGNUM 2
-
/* Place that structure value return address is placed.
On the RS/6000, it is passed as an extra parameter. */
@@ -1437,17 +1435,22 @@ extern int rs6000_sysv_varargs_p;
floating-point register number, and the third says how many more args we
have prototype types for.
+ For ABI_V4, we treat these slightly differently -- `sysv_gregno' is
+ the next availible GP register, `fregno' is the next available FP
+ register, and `words' is the number of words used on the stack.
+
The varargs/stdarg support requires that this structure's size
- be a multiple of sizeof(int). */
+ be a multiple of sizeof(int). */
typedef struct rs6000_args
{
- int words; /* # words uses for passing GP registers */
+ int words; /* # words used for passing GP registers */
int fregno; /* next available FP register */
int nargs_prototype; /* # args left in the current prototype */
int orig_nargs; /* Original value of nargs_prototype */
int prototype; /* Whether a prototype was defined */
int call_cookie; /* Do special things for this call */
+ int sysv_gregno; /* next available GP register */
} CUMULATIVE_ARGS;
/* Define intermediate macro to compute the size (in registers) of an argument
@@ -2105,7 +2108,7 @@ do { \
this macro is not defined, it is up to the machine-dependent files
to allocate such a register (if necessary). */
-/* #define PIC_OFFSET_TABLE_REGNUM */
+#define PIC_OFFSET_TABLE_REGNUM 30
/* Define this macro if the register defined by
`PIC_OFFSET_TABLE_REGNUM' is clobbered by calls. Do not define
@@ -2128,7 +2131,7 @@ do { \
prologues being included in functions which used inline functions
and were compiled to assembly language.) */
-#define FINALIZE_PIC rs6000_finalize_pic ()
+/* #define FINALIZE_PIC */
/* A C expression that is nonzero if X is a legitimate immediate
operand on the target machine when generating position independent
@@ -2469,7 +2472,7 @@ extern int rs6000_trunc_used;
rs6000_gen_section_name (&xcoff_read_only_section_name, \
main_input_filename, ".ro_"); \
\
- output_file_directive (FILE, main_input_filename); \
+ fprintf (FILE, "\t.file\t\"%s\"\n", main_input_filename); \
if (TARGET_64BIT) \
fputs ("\t.machine\t\"ppc64\"\n", FILE); \
toc_section (); \
@@ -2531,11 +2534,12 @@ extern int rs6000_trunc_used;
/* If we are referencing a function that is static or is known to be
in this file, make the SYMBOL_REF special. We can use this to indicate
that we can branch to this function without emitting a no-op after the
- call. */
+ call. Do not set this flag if the function is weakly defined. */
#define ENCODE_SECTION_INFO(DECL) \
if (TREE_CODE (DECL) == FUNCTION_DECL \
- && (TREE_ASM_WRITTEN (DECL) || ! TREE_PUBLIC (DECL))) \
+ && (TREE_ASM_WRITTEN (DECL) || ! TREE_PUBLIC (DECL)) \
+ && !DECL_WEAK (DECL)) \
SYMBOL_REF_FLAG (XEXP (DECL_RTL (DECL), 0)) = 1;
/* Indicate that jump tables go in the text section. */
@@ -3179,6 +3183,7 @@ do { \
{"reg_or_neg_short_operand", {SUBREG, REG, CONST_INT}}, \
{"reg_or_u_short_operand", {SUBREG, REG, CONST_INT}}, \
{"reg_or_cint_operand", {SUBREG, REG, CONST_INT}}, \
+ {"reg_or_u_cint_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
{"got_operand", {SYMBOL_REF, CONST, LABEL_REF}}, \
{"got_no_const_operand", {SYMBOL_REF, LABEL_REF}}, \
{"easy_fp_constant", {CONST_DOUBLE}}, \
@@ -3192,7 +3197,9 @@ do { \
{"and_operand", {SUBREG, REG, CONST_INT}}, \
{"and64_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
{"logical_operand", {SUBREG, REG, CONST_INT}}, \
+ {"logical_u_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
{"non_logical_cint_operand", {CONST_INT}}, \
+ {"non_logical_u_cint_operand", {CONST_INT, CONST_DOUBLE}}, \
{"mask_operand", {CONST_INT}}, \
{"mask64_operand", {CONST_INT, CONST_DOUBLE}}, \
{"count_register_operand", {REG}}, \
@@ -3226,13 +3233,13 @@ extern int flag_expensive_optimizations;
extern int frame_pointer_needed;
/* Declare functions in rs6000.c */
-extern int offsettable_mem_operand ();
extern void optimization_options ();
extern void output_options ();
extern void rs6000_override_options ();
extern void rs6000_file_start ();
extern struct rtx_def *rs6000_float_const ();
extern struct rtx_def *rs6000_got_register ();
+extern struct rtx_def *find_addr_reg();
extern int direct_return ();
extern int get_issue_rate ();
extern int any_operand ();
@@ -3251,7 +3258,7 @@ extern int got_no_const_operand ();
extern int num_insns_constant ();
extern int easy_fp_constant ();
extern int volatile_mem_operand ();
-extern int offsettable_addr_operand ();
+extern int offsettable_mem_operand ();
extern int mem_or_easy_const_operand ();
extern int add_operand ();
extern int non_add_cint_operand ();
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 34ccacf9c2d..23a9715f9be 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -1,5 +1,6 @@
;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler
-;; Copyright (C) 1990, 91-98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+;; 2000, 2001 Free Software Foundation, Inc.
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;; This file is part of GNU CC.
@@ -27,12 +28,14 @@
(const_string "integer"))
;; Length (in bytes).
+; '(pc)' in the following doesn't include the instruction itself; it is
+; calculated as if the instruction had zero size.
(define_attr "length" ""
(if_then_else (eq_attr "type" "branch")
- (if_then_else (and (ge (minus (pc) (match_dup 0))
+ (if_then_else (and (ge (minus (match_dup 0) (pc))
(const_int -32768))
- (lt (minus (pc) (match_dup 0))
- (const_int 32767)))
+ (lt (minus (match_dup 0) (pc))
+ (const_int 32764)))
(const_int 8)
(const_int 12))
(const_int 4)))
@@ -931,7 +934,7 @@
(match_operand:SI 2 "reg_or_short_operand" "r,I,r,I"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r,r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{cax.|add.} %3,%1,%2
{ai.|addic.} %3,%1,%2
@@ -946,7 +949,7 @@
(match_operand:SI 2 "reg_or_short_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(plus:SI (match_dup 1)
(match_dup 2)))
@@ -963,7 +966,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r")
(plus:SI (match_dup 1)
(match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"@
{cax.|add.} %0,%1,%2
{ai.|addic.} %0,%1,%2
@@ -979,7 +982,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(plus:SI (match_dup 1) (match_dup 2)))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(plus:SI (match_dup 1)
(match_dup 2)))
@@ -1022,7 +1025,7 @@
(compare:CC (not:SI (match_operand:SI 1 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 2 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
nor. %2,%1,%1
#"
@@ -1034,7 +1037,7 @@
(compare:CC (not:SI (match_operand:SI 1 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 2 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 2)
(not:SI (match_dup 1)))
(set (match_dup 0)
@@ -1048,7 +1051,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(not:SI (match_dup 1)))]
- ""
+ "! TARGET_POWERPC64"
"@
nor. %0,%1,%1
#"
@@ -1061,7 +1064,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(not:SI (match_dup 1)))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(not:SI (match_dup 1)))
(set (match_dup 2)
@@ -1104,7 +1107,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- "TARGET_POWERPC"
+ "TARGET_POWERPC && ! TARGET_POWERPC64"
"@
subf. %3,%2,%1
#"
@@ -1117,7 +1120,7 @@
(match_operand:SI 2 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(minus:SI (match_dup 1)
(match_dup 2)))
@@ -1148,7 +1151,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(minus:SI (match_dup 1)
(match_dup 2)))]
- "TARGET_POWERPC"
+ "TARGET_POWERPC && ! TARGET_POWERPC64"
"@
subf. %0,%2,%1
#"
@@ -1163,7 +1166,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "")
(minus:SI (match_dup 1)
(match_dup 2)))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(minus:SI (match_dup 1)
(match_dup 2)))
@@ -1324,7 +1327,7 @@
""
"
{
- if (!TARGET_POWER)
+ if (! TARGET_POWER)
{
emit_insn (gen_abssi2_nopower (operands[0], operands[1]));
DONE;
@@ -1341,7 +1344,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
(abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0")))
(clobber (match_scratch:SI 2 "=&r,&r"))]
- "!TARGET_POWER"
+ "! TARGET_POWER"
"*
{
return (TARGET_POWERPC)
@@ -1354,7 +1357,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
(abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0")))
(clobber (match_scratch:SI 2 "=&r,&r"))]
- "!TARGET_POWER && reload_completed"
+ "! TARGET_POWER && reload_completed"
[(set (match_dup 2) (ashiftrt:SI (match_dup 1) (const_int 31)))
(set (match_dup 0) (xor:SI (match_dup 2) (match_dup 1)))
(set (match_dup 0) (minus:SI (match_dup 0) (match_dup 2)))]
@@ -1370,7 +1373,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
(neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0"))))
(clobber (match_scratch:SI 2 "=&r,&r"))]
- "!TARGET_POWER"
+ "! TARGET_POWER"
"*
{
return (TARGET_POWERPC)
@@ -1383,7 +1386,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
(neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0"))))
(clobber (match_scratch:SI 2 "=&r,&r"))]
- "!TARGET_POWER && reload_completed"
+ "! TARGET_POWER && reload_completed"
[(set (match_dup 2) (ashiftrt:SI (match_dup 1) (const_int 31)))
(set (match_dup 0) (xor:SI (match_dup 2) (match_dup 1)))
(set (match_dup 0) (minus:SI (match_dup 2) (match_dup 0)))]
@@ -1400,7 +1403,7 @@
(compare:CC (neg:SI (match_operand:SI 1 "gpc_reg_operand" "r"))
(const_int 0)))
(clobber (match_scratch:SI 2 "=r"))]
- ""
+ "! TARGET_POWERPC64"
"neg. %2,%1"
[(set_attr "type" "compare")])
@@ -1410,7 +1413,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(neg:SI (match_dup 1)))]
- ""
+ "! TARGET_POWERPC64"
"neg. %0,%1"
[(set_attr "type" "compare")])
@@ -1874,7 +1877,7 @@
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r,r,r,r,r,r,r"))
(clobber (match_scratch:CC 4 "=X,X,X,X,X,x,x,X"))]
- ""
+ "! TARGET_POWERPC64"
"@
and. %3,%1,%2
{andil.|andi.} %3,%1,%b2
@@ -1894,7 +1897,7 @@
(const_int 0)))
(clobber (match_scratch:SI 3 ""))
(clobber (match_scratch:CC 4 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(parallel [(set (match_dup 3)
(and:SI (match_dup 1)
(match_dup 2)))
@@ -1913,7 +1916,7 @@
(and:SI (match_dup 1)
(match_dup 2)))
(clobber (match_scratch:CC 4 "=X,X,X,X,X,x,x,X"))]
- ""
+ "! TARGET_POWERPC64"
"@
and. %0,%1,%2
{andil.|andi.} %0,%1,%b2
@@ -1935,7 +1938,7 @@
(and:SI (match_dup 1)
(match_dup 2)))
(clobber (match_scratch:CC 4 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(parallel [(set (match_dup 0)
(and:SI (match_dup 1)
(match_dup 2)))
@@ -1983,7 +1986,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
or. %3,%1,%2
#"
@@ -1996,7 +1999,7 @@
(match_operand:SI 2 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(ior:SI (match_dup 1)
(match_dup 2)))
@@ -2013,7 +2016,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(ior:SI (match_dup 1)
(match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"@
or. %0,%1,%2
#"
@@ -2027,7 +2030,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(ior:SI (match_dup 1) (match_dup 2)))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(ior:SI (match_dup 1)
(match_dup 2)))
@@ -2090,7 +2093,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
xor. %3,%1,%2
#"
@@ -2103,7 +2106,7 @@
(match_operand:SI 2 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(xor:SI (match_dup 1)
(match_dup 2)))
@@ -2120,7 +2123,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(xor:SI (match_dup 1)
(match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"@
xor. %0,%1,%2
#"
@@ -2134,7 +2137,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(xor:SI (match_dup 1) (match_dup 2)))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(xor:SI (match_dup 1)
(match_dup 2)))
@@ -2172,7 +2175,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r,r")))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
eqv. %3,%1,%2
#"
@@ -2185,7 +2188,7 @@
(match_operand:SI 2 "gpc_reg_operand" "")))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(not:SI (xor:SI (match_dup 1)
(match_dup 2))))
@@ -2201,7 +2204,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(not:SI (xor:SI (match_dup 1) (match_dup 2))))]
- ""
+ "! TARGET_POWERPC64"
"@
eqv. %0,%1,%2
#"
@@ -2216,7 +2219,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "")
(not:SI (xor:SI (match_dup 1)
(match_dup 2))))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(not:SI (xor:SI (match_dup 1)
(match_dup 2))))
@@ -2238,7 +2241,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
andc. %3,%2,%1
#"
@@ -2251,7 +2254,7 @@
(match_operand:SI 2 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(and:SI (not:SI (match_dup 1))
(match_dup 2)))
@@ -2268,7 +2271,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(and:SI (not:SI (match_dup 1))
(match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"@
andc. %0,%2,%1
#"
@@ -2283,7 +2286,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "")
(and:SI (not:SI (match_dup 1))
(match_dup 2)))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(and:SI (not:SI (match_dup 1))
(match_dup 2)))
@@ -2305,7 +2308,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
orc. %3,%2,%1
#"
@@ -2318,7 +2321,7 @@
(match_operand:SI 2 "gpc_reg_operand" ""))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(ior:SI (not:SI (match_dup 1))
(match_dup 2)))
@@ -2334,7 +2337,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(ior:SI (not:SI (match_dup 1)) (match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"@
orc. %0,%2,%1
#"
@@ -2348,7 +2351,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "")
(ior:SI (not:SI (match_dup 1))
(match_dup 2)))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(ior:SI (not:SI (match_dup 1))
(match_dup 2)))
@@ -2370,7 +2373,7 @@
(not:SI (match_operand:SI 2 "gpc_reg_operand" "r,r")))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
nand. %3,%1,%2
#"
@@ -2383,7 +2386,7 @@
(not:SI (match_operand:SI 2 "gpc_reg_operand" "")))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(ior:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))
@@ -2400,7 +2403,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(ior:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))]
- ""
+ "! TARGET_POWERPC64"
"@
nand. %0,%1,%2
#"
@@ -2415,7 +2418,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "")
(ior:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(ior:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))
@@ -2437,7 +2440,7 @@
(not:SI (match_operand:SI 2 "gpc_reg_operand" "r,r")))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
nor. %3,%1,%2
#"
@@ -2450,7 +2453,7 @@
(not:SI (match_operand:SI 2 "gpc_reg_operand" "")))
(const_int 0)))
(clobber (match_scratch:SI 3 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 3)
(and:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))
@@ -2467,7 +2470,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(and:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))]
- ""
+ "! TARGET_POWERPC64"
"@
nor. %0,%1,%2
#"
@@ -2482,7 +2485,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "")
(and:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 0)
(and:SI (not:SI (match_dup 1))
(not:SI (match_dup 2))))
@@ -2594,10 +2597,10 @@
;; Rotate and shift insns, in all their variants. These support shifts,
;; field inserts and extracts, and various combinations thereof.
(define_expand "insv"
- [(set (zero_extract:SI (match_operand:SI 0 "gpc_reg_operand" "+r")
- (match_operand:SI 1 "const_int_operand" "i")
- (match_operand:SI 2 "const_int_operand" "i"))
- (match_operand:SI 3 "gpc_reg_operand" "r"))]
+ [(set (zero_extract (match_operand 0 "gpc_reg_operand" "")
+ (match_operand:SI 1 "const_int_operand" "")
+ (match_operand:SI 2 "const_int_operand" ""))
+ (match_operand 3 "gpc_reg_operand" ""))]
""
"
{
@@ -2607,9 +2610,15 @@
if (GET_CODE (operands[0]) == SUBREG
&& (GET_MODE_SIZE (GET_MODE (SUBREG_REG (operands[0]))) < UNITS_PER_WORD))
FAIL;
+
+ if (TARGET_POWERPC64 && GET_MODE (operands[0]) == DImode)
+ emit_insn (gen_insvdi (operands[0], operands[1], operands[2], operands[3]));
+ else
+ emit_insn (gen_insvsi (operands[0], operands[1], operands[2], operands[3]));
+ DONE;
}")
-(define_insn ""
+(define_insn "insvsi"
[(set (zero_extract:SI (match_operand:SI 0 "gpc_reg_operand" "+r")
(match_operand:SI 1 "const_int_operand" "i")
(match_operand:SI 2 "const_int_operand" "i"))
@@ -2625,7 +2634,7 @@
return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
}")
-(define_insn ""
+(define_insn "*insvsi_internal1"
[(set (zero_extract:SI (match_operand:SI 0 "gpc_reg_operand" "+r")
(match_operand:SI 1 "const_int_operand" "i")
(match_operand:SI 2 "const_int_operand" "i"))
@@ -2643,7 +2652,7 @@
return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
}")
-(define_insn ""
+(define_insn "*insvsi_internal2"
[(set (zero_extract:SI (match_operand:SI 0 "gpc_reg_operand" "+r")
(match_operand:SI 1 "const_int_operand" "i")
(match_operand:SI 2 "const_int_operand" "i"))
@@ -2661,7 +2670,7 @@
return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
}")
-(define_insn ""
+(define_insn "*insvsi_internal3"
[(set (zero_extract:SI (match_operand:SI 0 "gpc_reg_operand" "+r")
(match_operand:SI 1 "const_int_operand" "i")
(match_operand:SI 2 "const_int_operand" "i"))
@@ -2679,7 +2688,7 @@
return \"{rlimi|rlwimi} %0,%3,%h4,%h2,%h1\";
}")
-(define_insn ""
+(define_insn "*insvsi_internal4"
[(set (zero_extract:SI (match_operand:SI 0 "gpc_reg_operand" "+r")
(match_operand:SI 1 "const_int_operand" "i")
(match_operand:SI 2 "const_int_operand" "i"))
@@ -2700,10 +2709,10 @@
return \"{rlimi|rlwimi} %0,%3,%h5,%h2,%h1\";
}")
-(define_insn ""
+(define_insn "insvdi"
[(set (zero_extract:DI (match_operand:DI 0 "gpc_reg_operand" "+r")
- (match_operand:DI 1 "const_int_operand" "i")
- (match_operand:DI 2 "const_int_operand" "i"))
+ (match_operand:SI 1 "const_int_operand" "i")
+ (match_operand:SI 2 "const_int_operand" "i"))
(match_operand:DI 3 "gpc_reg_operand" "r"))]
"TARGET_POWERPC64"
"*
@@ -2711,15 +2720,15 @@
int start = INTVAL (operands[2]) & 63;
int size = INTVAL (operands[1]) & 63;
- operands[2] = GEN_INT (64 - start - size);
- return \"rldimi %0,%3,%H2,%H1\";
+ operands[1] = GEN_INT (64 - start - size);
+ return \"rldimi %0,%3,%H1,%H2\";
}")
(define_expand "extzv"
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (zero_extract:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "const_int_operand" "i")
- (match_operand:SI 3 "const_int_operand" "i")))]
+ [(set (match_operand 0 "gpc_reg_operand" "")
+ (zero_extract (match_operand 1 "gpc_reg_operand" "")
+ (match_operand:SI 2 "const_int_operand" "")
+ (match_operand:SI 3 "const_int_operand" "")))]
""
"
{
@@ -2729,9 +2738,15 @@
if (GET_CODE (operands[0]) == SUBREG
&& (GET_MODE_SIZE (GET_MODE (SUBREG_REG (operands[0]))) < UNITS_PER_WORD))
FAIL;
+
+ if (TARGET_POWERPC64 && GET_MODE (operands[1]) == DImode)
+ emit_insn (gen_extzvdi (operands[0], operands[1], operands[2], operands[3]));
+ else
+ emit_insn (gen_extzvsi (operands[0], operands[1], operands[2], operands[3]));
+ DONE;
}")
-(define_insn ""
+(define_insn "extzvsi"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(zero_extract:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "const_int_operand" "i")
@@ -2749,14 +2764,14 @@
return \"{rlinm|rlwinm} %0,%1,%3,%s2,31\";
}")
-(define_insn ""
+(define_insn "*extzvsi_internal1"
[(set (match_operand:CC 0 "cc_reg_operand" "=x")
(compare:CC (zero_extract:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "const_int_operand" "i")
(match_operand:SI 3 "const_int_operand" "i"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=r"))]
- ""
+ "! TARGET_POWERPC64"
"*
{
int start = INTVAL (operands[3]) & 31;
@@ -2786,7 +2801,7 @@
}"
[(set_attr "type" "compare")])
-(define_insn ""
+(define_insn "*extzvsi_internal2"
[(set (match_operand:CC 4 "cc_reg_operand" "=x")
(compare:CC (zero_extract:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "const_int_operand" "i")
@@ -2794,7 +2809,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(zero_extract:SI (match_dup 1) (match_dup 2) (match_dup 3)))]
- ""
+ "! TARGET_POWERPC64"
"*
{
int start = INTVAL (operands[3]) & 31;
@@ -2814,11 +2829,11 @@
}"
[(set_attr "type" "delayed_compare")])
-(define_insn ""
+(define_insn "extzvdi"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(zero_extract:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "const_int_operand" "i")
- (match_operand:DI 3 "const_int_operand" "i")))]
+ (match_operand:SI 2 "const_int_operand" "i")
+ (match_operand:SI 3 "const_int_operand" "i")))]
"TARGET_POWERPC64"
"*
{
@@ -2833,11 +2848,11 @@
return \"rldicl %0,%1,%3,%2\";
}")
-(define_insn ""
+(define_insn "*extzvdi_internal1"
[(set (match_operand:CC 0 "gpc_reg_operand" "=x")
(compare:CC (zero_extract:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "const_int_operand" "i")
- (match_operand:DI 3 "const_int_operand" "i"))
+ (match_operand:SI 2 "const_int_operand" "i")
+ (match_operand:SI 3 "const_int_operand" "i"))
(const_int 0)))
(clobber (match_scratch:DI 4 "=r"))]
"TARGET_POWERPC64"
@@ -2854,11 +2869,11 @@
return \"rldicl. %4,%1,%3,%2\";
}")
-(define_insn ""
+(define_insn "*extzvdi_internal2"
[(set (match_operand:CC 4 "gpc_reg_operand" "=x")
(compare:CC (zero_extract:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "const_int_operand" "i")
- (match_operand:DI 3 "const_int_operand" "i"))
+ (match_operand:SI 2 "const_int_operand" "i")
+ (match_operand:SI 3 "const_int_operand" "i"))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(zero_extract:DI (match_dup 1) (match_dup 2) (match_dup 3)))]
@@ -2889,7 +2904,7 @@
(match_operand:SI 2 "reg_or_cint_operand" "ri"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r"))]
- ""
+ "! TARGET_POWERPC64"
"{rl%I2nm.|rlw%I2nm.} %3,%1,%h2,0xffffffff"
[(set_attr "type" "delayed_compare")])
@@ -2900,7 +2915,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(rotate:SI (match_dup 1) (match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"{rl%I2nm.|rlw%I2nm.} %0,%1,%h2,0xffffffff"
[(set_attr "type" "delayed_compare")])
@@ -2920,7 +2935,7 @@
(match_operand:SI 3 "mask_operand" "T"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=r"))]
- ""
+ "! TARGET_POWERPC64"
"{rl%I2nm.|rlw%I2nm.} %4,%1,%h2,%m3,%M3"
[(set_attr "type" "delayed_compare")])
@@ -2933,7 +2948,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(and:SI (rotate:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- ""
+ "! TARGET_POWERPC64"
"{rl%I2nm.|rlw%I2nm.} %0,%1,%h2,%m3,%M3"
[(set_attr "type" "delayed_compare")])
@@ -3030,16 +3045,14 @@
"TARGET_POWER"
"@
sle %0,%1,%2
- {sli|slwi} %0,%1,%h2"
- [(set_attr "length" "8")])
+ {sli|slwi} %0,%1,%h2")
(define_insn "ashlsi3_no_power"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(ashift:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_cint_operand" "ri")))]
"! TARGET_POWER"
- "{sl|slw}%I2 %0,%1,%h2"
- [(set_attr "length" "8")])
+ "{sl|slw}%I2 %0,%1,%h2")
(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x")
@@ -3060,7 +3073,7 @@
(match_operand:SI 2 "reg_or_cint_operand" "ri"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=r"))]
- "! TARGET_POWER"
+ "! TARGET_POWER && ! TARGET_POWERPC64"
"{sl|slw}%I2. %3,%1,%h2"
[(set_attr "type" "delayed_compare")])
@@ -3085,7 +3098,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(ashift:SI (match_dup 1) (match_dup 2)))]
- "! TARGET_POWER"
+ "! TARGET_POWER && ! TARGET_POWERPC64"
"{sl|slw}%I2. %0,%1,%h2"
[(set_attr "type" "delayed_compare")])
@@ -3105,7 +3118,7 @@
(match_operand:SI 3 "mask_operand" "T"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=r"))]
- "includes_lshift_p (operands[2], operands[3])"
+ "! TARGET_POWERPC64 && includes_lshift_p (operands[2], operands[3])"
"{rlinm.|rlwinm.} %4,%1,%h2,%m3,%M3"
[(set_attr "type" "delayed_compare")])
@@ -3118,7 +3131,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(and:SI (ashift:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "includes_lshift_p (operands[2], operands[3])"
+ "! TARGET_POWERPC64 && includes_lshift_p (operands[2], operands[3])"
"{rlinm.|rlwinm.} %0,%1,%h2,%m3,%M3"
[(set_attr "type" "delayed_compare")])
@@ -3178,7 +3191,7 @@
(match_operand:SI 2 "reg_or_cint_operand" "O,ri"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=X,r"))]
- "! TARGET_POWER"
+ "! TARGET_POWER && ! TARGET_POWERPC64"
"@
mr. %1,%1
{sr|srw}%I2. %3,%1,%h2"
@@ -3206,7 +3219,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(lshiftrt:SI (match_dup 1) (match_dup 2)))]
- "! TARGET_POWER"
+ "! TARGET_POWER && ! TARGET_POWERPC64"
"@
mr. %0,%1
{sr|srw}%I2. %0,%1,%h2"
@@ -3228,7 +3241,7 @@
(match_operand:SI 3 "mask_operand" "T"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=r"))]
- "includes_rshift_p (operands[2], operands[3])"
+ "! TARGET_POWERPC64 && includes_rshift_p (operands[2], operands[3])"
"{rlinm.|rlwinm.} %4,%1,%s2,%m3,%M3"
[(set_attr "type" "delayed_compare")])
@@ -3241,7 +3254,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(and:SI (lshiftrt:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "includes_rshift_p (operands[2], operands[3])"
+ "! TARGET_POWERPC64 && includes_rshift_p (operands[2], operands[3])"
"{rlinm.|rlwinm.} %0,%1,%s2,%m3,%M3"
[(set_attr "type" "delayed_compare")])
@@ -3733,10 +3746,10 @@
"")
(define_expand "movsfcc"
- [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
+ [(set (match_operand:SF 0 "gpc_reg_operand" "")
(if_then_else:SF (match_operand 1 "comparison_operator" "")
- (match_operand:SF 2 "gpc_reg_operand" "f")
- (match_operand:SF 3 "gpc_reg_operand" "f")))]
+ (match_operand:SF 2 "gpc_reg_operand" "")
+ (match_operand:SF 3 "gpc_reg_operand" "")))]
"TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT"
"
{
@@ -3980,10 +3993,10 @@
"")
(define_expand "movdfcc"
- [(set (match_operand:DF 0 "gpc_reg_operand" "=f")
+ [(set (match_operand:DF 0 "gpc_reg_operand" "")
(if_then_else:DF (match_operand 1 "comparison_operator" "")
- (match_operand:DF 2 "gpc_reg_operand" "f")
- (match_operand:DF 3 "gpc_reg_operand" "f")))]
+ (match_operand:DF 2 "gpc_reg_operand" "")
+ (match_operand:DF 3 "gpc_reg_operand" "")))]
"TARGET_PPC_GFXOPT && TARGET_HARD_FLOAT"
"
{
@@ -4079,7 +4092,7 @@
(clobber (match_dup 4))
(clobber (match_dup 5))
(clobber (reg:DF 76))])]
- "TARGET_HARD_FLOAT"
+ "! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
"
{
operands[2] = force_reg (SImode, GEN_INT (0x43300000));
@@ -4096,7 +4109,7 @@
(clobber (match_operand:SI 4 "gpc_reg_operand" "=r"))
(clobber (match_operand 5 "gpc_reg_operand" "=b"))
(clobber (reg:DF 76))]
- "TARGET_HARD_FLOAT"
+ "! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
"#"
[(set_attr "length" "24")])
@@ -4108,7 +4121,7 @@
(clobber (match_operand:SI 4 "gpc_reg_operand" ""))
(clobber (match_operand 5 "gpc_reg_operand" ""))
(clobber (reg:DF 76))]
- "TARGET_HARD_FLOAT"
+ "! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
[(set (match_dup 4)
(xor:SI (match_dup 1)
(match_dup 6)))
@@ -4140,7 +4153,7 @@
(use (match_dup 3))
(clobber (match_dup 4))
(clobber (reg:DF 76))])]
- "TARGET_HARD_FLOAT"
+ "! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
"
{
operands[2] = force_reg (SImode, GEN_INT (0x43300000));
@@ -4155,7 +4168,7 @@
(use (match_operand:DF 3 "gpc_reg_operand" "f"))
(clobber (match_operand 4 "gpc_reg_operand" "=b"))
(clobber (reg:DF 76))]
- "TARGET_HARD_FLOAT"
+ "! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
"#"
[(set_attr "length" "20")])
@@ -4166,7 +4179,7 @@
(use (match_operand:DF 3 "gpc_reg_operand" ""))
(clobber (match_operand 4 "gpc_reg_operand" ""))
(clobber (reg:DF 76))]
- "TARGET_HARD_FLOAT"
+ "! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
[(set (match_dup 4)
(unspec [(const_int 0)] 11))
(set (match_dup 5)
@@ -4294,7 +4307,7 @@
"TARGET_HARD_FLOAT"
"
{
- if (!TARGET_POWER2 && !TARGET_POWERPC)
+ if (! TARGET_POWER2 && ! TARGET_POWERPC)
{
emit_insn (gen_trunc_call (operands[0], operands[1],
gen_rtx_SYMBOL_REF (Pmode, RS6000_ITRUNC)));
@@ -4323,8 +4336,9 @@
(clobber (match_operand 3 "gpc_reg_operand" ""))
(clobber (reg:DI 76))]
"TARGET_HARD_FLOAT"
- [(set (match_dup 2)
- (sign_extend:DI (fix:SI (match_operand:DF 1 "gpc_reg_operand" ""))))
+ [(clobber (match_dup 2))
+ (set (subreg:SI (match_dup 2) 0)
+ (fix:SI (match_operand:DF 1 "gpc_reg_operand" "")))
(set (match_dup 3)
(unspec [(const_int 0)] 11))
(set (match_dup 4)
@@ -4433,8 +4447,8 @@
}")
(define_insn "*fctiwz"
- [(set (match_operand:DI 0 "gpc_reg_operand" "=f")
- (sign_extend:DI (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f"))))]
+ [(set (subreg:SI (match_operand:DI 0 "gpc_reg_operand" "=f") 0)
+ (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))]
"(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT"
"{fcirz|fctiwz} %0,%1"
[(set_attr "type" "fp")])
@@ -5452,41 +5466,41 @@
(define_insn "*anddi3_internal2"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x,x")
(compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r")
- (match_operand:DI 2 "and64_operand" "r,K,J,S"))
+ (match_operand:DI 2 "and64_operand" "r,S,K,J"))
(const_int 0)))
(clobber (match_scratch:DI 3 "=r,r,r,r"))]
"TARGET_POWERPC64"
"@
and. %3,%1,%2
+ rldic%B2. %3,%1,0,%S2
andi. %3,%1,%b2
- andis. %3,%1,%u2
- rldic%B2. %3,%1,0,%S2"
- [(set_attr "type" "compare,compare,compare,delayed_compare")])
+ andis. %3,%1,%u2"
+ [(set_attr "type" "compare,delayed_compare,compare,compare")])
(define_insn "*anddi3_internal3"
[(set (match_operand:CC 3 "cc_reg_operand" "=x,x,x,x")
(compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r")
- (match_operand:DI 2 "and64_operand" "r,K,J,S"))
+ (match_operand:DI 2 "and64_operand" "r,S,K,J"))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r")
(and:DI (match_dup 1) (match_dup 2)))]
"TARGET_POWERPC64"
"@
and. %0,%1,%2
+ rldic%B2. %0,%1,0,%S2
andi. %0,%1,%b2
- andis. %0,%1,%u2
- rldic%B2. %0,%1,0,%S2"
- [(set_attr "type" "compare,compare,compare,delayed_compare")])
+ andis. %0,%1,%u2"
+ [(set_attr "type" "compare,delayed_compare,compare,compare")])
(define_expand "iordi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(ior:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_cint_operand" "")))]
+ (match_operand:DI 2 "reg_or_u_cint_operand" "")))]
"TARGET_POWERPC64"
"
{
if (GET_CODE (operands[2]) == CONST_INT
- && ! logical_operand (operands[2], DImode))
+ && ! logical_u_operand (operands[2], DImode))
{
HOST_WIDE_INT value = INTVAL (operands[2]);
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
@@ -5497,12 +5511,26 @@
emit_insn (gen_iordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
DONE;
}
+ else if (GET_CODE (operands[2]) == CONST_DOUBLE
+ && ! logical_u_operand (operands[2], DImode))
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
+ ? operands[0] : gen_reg_rtx (DImode));
+
+ emit_insn (gen_iordi3 (tmp, operands[1],
+ immed_double_const (value
+ & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode)));
+ emit_insn (gen_iordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
+ DONE;
+ }
}")
(define_insn "*iordi3_internal1"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r")
(ior:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r")
- (match_operand:DI 2 "logical_operand" "r,K,J")))]
+ (match_operand:DI 2 "logical_u_operand" "r,K,JF")))]
"TARGET_POWERPC64"
"@
or %0,%1,%2
@@ -5536,25 +5564,36 @@
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(ior:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "non_logical_cint_operand" "")))]
+ (match_operand:DI 2 "non_logical_u_cint_operand" "")))]
"TARGET_POWERPC64"
[(set (match_dup 0) (ior:DI (match_dup 1) (match_dup 3)))
(set (match_dup 0) (ior:DI (match_dup 0) (match_dup 4)))]
"
{
- operands[3] = GEN_INT (INTVAL (operands[2]) & (~ (HOST_WIDE_INT) 0xffff));
- operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ if (GET_CODE (operands[2]) == CONST_DOUBLE)
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ operands[3] = immed_double_const (value & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode);
+ operands[4] = GEN_INT (value & 0xffff);
+ }
+ else
+ {
+ operands[3] = GEN_INT (INTVAL (operands[2])
+ & (~ (HOST_WIDE_INT) 0xffff));
+ operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ }
}")
(define_expand "xordi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(xor:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_cint_operand" "")))]
+ (match_operand:DI 2 "reg_or_u_cint_operand" "")))]
"TARGET_POWERPC64"
"
{
if (GET_CODE (operands[2]) == CONST_INT
- && ! logical_operand (operands[2], DImode))
+ && ! logical_u_operand (operands[2], DImode))
{
HOST_WIDE_INT value = INTVAL (operands[2]);
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
@@ -5565,12 +5604,26 @@
emit_insn (gen_xordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
DONE;
}
+ else if (GET_CODE (operands[2]) == CONST_DOUBLE
+ && ! logical_u_operand (operands[2], DImode))
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
+ ? operands[0] : gen_reg_rtx (DImode));
+
+ emit_insn (gen_xordi3 (tmp, operands[1],
+ immed_double_const (value
+ & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode)));
+ emit_insn (gen_xordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
+ DONE;
+ }
}")
(define_insn "*xordi3_internal1"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r")
(xor:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r")
- (match_operand:DI 2 "logical_operand" "r,K,J")))]
+ (match_operand:DI 2 "logical_u_operand" "r,K,JF")))]
"TARGET_POWERPC64"
"@
xor %0,%1,%2
@@ -5604,14 +5657,25 @@
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(xor:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "non_logical_cint_operand" "")))]
+ (match_operand:DI 2 "non_logical_u_cint_operand" "")))]
"TARGET_POWERPC64"
[(set (match_dup 0) (xor:DI (match_dup 1) (match_dup 3)))
(set (match_dup 0) (xor:DI (match_dup 0) (match_dup 4)))]
"
{
- operands[3] = GEN_INT (INTVAL (operands[2]) & (~ (HOST_WIDE_INT) 0xffff));
- operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ if (GET_CODE (operands[2]) == CONST_DOUBLE)
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ operands[3] = immed_double_const (value & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode);
+ operands[4] = GEN_INT (value & 0xffff);
+ }
+ else
+ {
+ operands[3] = GEN_INT (INTVAL (operands[2])
+ & (~ (HOST_WIDE_INT) 0xffff));
+ operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ }
}")
(define_insn "*eqvdi3_internal1"
@@ -5763,14 +5827,14 @@
(define_insn "elf_high"
[(set (match_operand:SI 0 "gpc_reg_operand" "=b")
(high:SI (match_operand 1 "" "")))]
- "TARGET_ELF && !TARGET_64BIT"
+ "TARGET_ELF && ! TARGET_64BIT"
"{liu|lis} %0,%1@ha")
(define_insn "elf_low"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b")
(match_operand 2 "" "")))]
- "TARGET_ELF && !TARGET_64BIT"
+ "TARGET_ELF && ! TARGET_64BIT"
"{cal|la} %0,%2@l(%1)")
;; Set up a register with a value from the GOT table
@@ -5809,21 +5873,6 @@
"{l|lwz} %0,%a1@got(%2)"
[(set_attr "type" "load")])
-;; Sometimes, though, the GOT `register' will be on the stack. Deal with
-;; this case specially.
-;; Force final to split this insn (if it hasn't been split already) to
-;; avoid having to create a suitable output template.
-(define_insn "*movsi_got_internal_mem"
- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- (unspec [(match_operand:SI 1 "got_no_const_operand" "")
- (match_operand:SI 2 "memory_operand" "m")] 8))]
- "(DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
- && flag_pic == 1
- && (reload_in_progress || reload_completed)"
- "#"
- [(set_attr "type" "load")
- (set_attr "length" "8")])
-
;; Used by sched, shorten_branches and final when the GOT pseudo reg
;; didn't get allocated to a hard register.
(define_split
@@ -6018,7 +6067,7 @@
(compare:CC (match_operand:SI 1 "gpc_reg_operand" "r")
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r") (match_dup 1))]
- ""
+ "! TARGET_POWERPC64"
"mr. %0,%1"
[(set_attr "type" "compare")])
@@ -6160,7 +6209,8 @@
operands[1] = force_reg (SFmode, operands[1]);
}
- if (CONSTANT_P (operands[1]) && TARGET_HARD_FLOAT)
+ if (CONSTANT_P (operands[1]) && TARGET_HARD_FLOAT
+ && ! easy_fp_constant (operands[1], SFmode))
{
operands[1] = force_const_mem (SFmode, operands[1]);
if (! memory_address_p (SFmode, XEXP (operands[1], 0))
@@ -6322,8 +6372,8 @@
;; The "??" is a kludge until we can figure out a more reasonable way
;; of handling these non-offsettable values.
(define_insn "*movdf_hardfloat32"
- [(set (match_operand:DF 0 "nonimmediate_operand" "=!r,??r,o,!r,!r,!r,f,f,m")
- (match_operand:DF 1 "input_operand" "r,o,r,G,H,F,f,m,f"))]
+ [(set (match_operand:DF 0 "nonimmediate_operand" "=!r,??r,m,!r,!r,!r,f,f,m")
+ (match_operand:DF 1 "input_operand" "r,m,r,G,H,F,f,m,f"))]
"! TARGET_POWERPC64 && TARGET_HARD_FLOAT
&& (gpc_reg_operand (operands[0], DFmode)
|| gpc_reg_operand (operands[1], DFmode))"
@@ -6335,24 +6385,70 @@
abort ();
case 0:
/* We normally copy the low-numbered register first. However, if
- the first register operand 0 is the same as the second register of
- operand 1, we must copy in the opposite order. */
+ the first register operand 0 is the same as the second register
+ of operand 1, we must copy in the opposite order. */
if (REGNO (operands[0]) == REGNO (operands[1]) + 1)
return \"mr %L0,%L1\;mr %0,%1\";
else
return \"mr %0,%1\;mr %L0,%L1\";
case 1:
- /* If the low-address word is used in the address, we must load it
- last. Otherwise, load it first. Note that we cannot have
- auto-increment in that case since the address register is known to be
- dead. */
- if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1,
- operands [1], 0))
- return \"{l|lwz} %L0,%L1\;{l|lwz} %0,%1\";
+ if (offsettable_memref_p (operands[1])
+ || (GET_CODE (operands[1]) == MEM
+ && (GET_CODE (XEXP (operands[1], 0)) == LO_SUM
+ || GET_CODE (XEXP (operands[1], 0)) == PRE_INC
+ || GET_CODE (XEXP (operands[1], 0)) == PRE_DEC)))
+ {
+ /* If the low-address word is used in the address, we must load
+ it last. Otherwise, load it first. Note that we cannot have
+ auto-increment in that case since the address register is
+ known to be dead. */
+ if (refers_to_regno_p (REGNO (operands[0]), REGNO (operands[0]) + 1,
+ operands[1], 0))
+ return \"{l|lwz} %L0,%L1\;{l|lwz} %0,%1\";
+ else
+ return \"{l%U1|lwz%U1} %0,%1\;{l|lwz} %L0,%L1\";
+ }
else
- return \"{l%U1|lwz%U1} %0,%1\;{l|lwz} %L0,%L1\";
+ {
+ rtx addreg;
+
+ addreg = find_addr_reg (XEXP (operands[1], 0));
+ if (refers_to_regno_p (REGNO (operands[0]),
+ REGNO (operands[0]) + 1,
+ operands[1], 0))
+ {
+ output_asm_insn (\"{cal|la} %0,4(%0)\", &addreg);
+ output_asm_insn (\"{lx|lwzx} %L0,%1\", operands);
+ output_asm_insn (\"{cal|la} %0,-4(%0)\", &addreg);
+ return \"{lx|lwzx} %0,%1\";
+ }
+ else
+ {
+ output_asm_insn (\"{lx|lwzx} %0,%1\", operands);
+ output_asm_insn (\"{cal|la} %0,4(%0)\", &addreg);
+ output_asm_insn (\"{lx|lwzx} %L0,%1\", operands);
+ output_asm_insn (\"{cal|la} %0,-4(%0)\", &addreg);
+ return \"\";
+ }
+ }
case 2:
- return \"{st%U0|stw%U0} %1,%0\;{st|stw} %L1,%L0\";
+ if (offsettable_memref_p (operands[0])
+ || (GET_CODE (operands[0]) == MEM
+ && (GET_CODE (XEXP (operands[0], 0)) == LO_SUM
+ || GET_CODE (XEXP (operands[0], 0)) == PRE_INC
+ || GET_CODE (XEXP (operands[0], 0)) == PRE_DEC)))
+ return \"{st%U0|stw%U0} %1,%0\;{st|stw} %L1,%L0\";
+ else
+ {
+ rtx addreg;
+
+ addreg = find_addr_reg (XEXP (operands[0], 0));
+ output_asm_insn (\"{stx|stwx} %1,%0\", operands);
+ output_asm_insn (\"{cal|la} %0,4(%0)\", &addreg);
+ output_asm_insn (\"{stx|stwx} %L1,%0\", operands);
+ output_asm_insn (\"{cal|la} %0,-4(%0)\", &addreg);
+ return \"\";
+ }
case 3:
case 4:
case 5:
@@ -6366,7 +6462,7 @@
}
}"
[(set_attr "type" "*,load,store,*,*,*,fp,fpload,fpstore")
- (set_attr "length" "8,8,8,8,12,16,*,*,*")])
+ (set_attr "length" "8,16,16,8,12,16,*,*,*")])
(define_insn "*movdf_softfloat32"
[(set (match_operand:DF 0 "nonimmediate_operand" "=r,r,m,r,r,r")
@@ -6575,13 +6671,14 @@
(set (match_dup 3) (match_dup 1))]
"
{
+ HOST_WIDE_INT value = INTVAL (operands[1]);
operands[2] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN == 0);
operands[3] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN != 0);
#if HOST_BITS_PER_WIDE_INT == 32
- operands[4] = (INTVAL (operands[1]) & 0x80000000) ? constm1_rtx : const0_rtx;
+ operands[4] = (value & 0x80000000) ? constm1_rtx : const0_rtx;
#else
- operands[4] = (HOST_WIDE_INT) INTVAL (operands[1]) >> 32;
- operands[1] = INTVAL (operands[1]) & 0xffffffff;
+ operands[4] = GEN_INT (value >> 32);
+ operands[1] = GEN_INT ((value & 0x7fffffff) - (value & 0x80000000));
#endif
}")
@@ -6680,9 +6777,12 @@
[(set (match_dup 0)
(match_dup 2))
(set (match_dup 0)
- (zero_extend:DI (subreg:SI (match_dup 0) 0)))]
+ (zero_extend:DI (match_dup 3)))]
"
-{ operands[2] = GEN_INT (CONST_DOUBLE_LOW (operands[1])); }")
+{
+ operands[2] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
+ operands[3] = gen_lowpart_common (SImode, operands[0]);
+}")
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
@@ -6718,7 +6818,8 @@
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(match_operand:DI 1 "const_double_operand" ""))]
- "TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1"
+ "HOST_BITS_PER_WIDE_INT == 32 && TARGET_POWERPC64
+ && num_insns_constant (operands[1], DImode) > 1"
[(set (match_dup 0)
(match_dup 2))
(set (match_dup 0)
@@ -6729,29 +6830,40 @@
(match_dup 3)))]
"
{
- HOST_WIDE_INT low;
- HOST_WIDE_INT high;
-
if (GET_CODE (operands[1]) == CONST_DOUBLE)
{
- low = CONST_DOUBLE_LOW (operands[1]);
- high = CONST_DOUBLE_HIGH (operands[1]);
+ operands[2] = GEN_INT (CONST_DOUBLE_HIGH (operands[1]));
+ operands[3] = immed_double_const (CONST_DOUBLE_LOW (operands[1]),
+ 0, DImode);
}
else
-#if HOST_BITS_PER_WIDE_INT == 32
{
- low = INTVAL (operands[1]);
- high = (low < 0) ? ~0 : 0;
+ HOST_WIDE_INT value = INTVAL (operands[1]);
+ operands[2] = (value & 0x80000000) ? constm1_rtx : const0_rtx;
+ operands[3] = immed_double_const (value, 0, DImode);
}
-#else
- {
- low = INTVAL (operands[1]) & 0xffffffff;
- high = (HOST_WIDE_INT) INTVAL (operands[1]) >> 32;
- }
-#endif
+}")
- operands[2] = GEN_INT (high);
- operands[3] = GEN_INT (low);
+(define_split
+ [(set (match_operand:DI 0 "gpc_reg_operand" "")
+ (match_operand:DI 1 "const_int_operand" ""))]
+ "HOST_BITS_PER_WIDE_INT != 32 && TARGET_POWERPC64
+ && num_insns_constant (operands[1], DImode) > 1"
+ [(set (match_dup 0)
+ (match_dup 2))
+ (set (match_dup 0)
+ (ashift:DI (match_dup 0)
+ (const_int 32)))
+ (set (match_dup 0)
+ (ior:DI (match_dup 0)
+ (match_dup 3)))]
+ "
+{
+#if HOST_BITS_PER_WIDE_INT != 32
+ HOST_WIDE_INT value = INTVAL (operands[1]);
+ operands[2] = GEN_INT (value >> 32);
+ operands[3] = GEN_INT ((value & 0x7fffffff) - (value & 0x80000000));
+#endif
}")
(define_insn ""
@@ -6852,7 +6964,7 @@
[(set (match_operand:TI 0 "reg_or_mem_operand" "=m,????r,????r")
(match_operand:TI 1 "reg_or_mem_operand" "r,r,m"))
(clobber (match_scratch:SI 2 "=X,X,X"))]
- "TARGET_STRING && !TARGET_POWER && ! TARGET_POWERPC64
+ "TARGET_STRING && ! TARGET_POWER && ! TARGET_POWERPC64
&& (gpc_reg_operand (operands[0], TImode) || gpc_reg_operand (operands[1], TImode))"
"*
{
@@ -7082,7 +7194,7 @@
[(set (mem:SI (match_operand:SI 1 "gpc_reg_operand" "b"))
(match_operand:SI 2 "gpc_reg_operand" "r"))
(clobber (match_scratch:SI 3 "X"))])]
- "TARGET_STRING && !TARGET_POWER"
+ "TARGET_STRING && ! TARGET_POWER"
"{stsi|stswi} %2,%1,%O0"
[(set_attr "type" "store")])
@@ -7163,7 +7275,7 @@
(clobber (reg:SI 11))
(clobber (reg:SI 12))
(clobber (match_scratch:SI 5 "X"))]
- "TARGET_STRING && !TARGET_POWER
+ "TARGET_STRING && ! TARGET_POWER
&& ((INTVAL (operands[2]) > 24 && INTVAL (operands[2]) < 32) || INTVAL (operands[2]) == 0)
&& (REGNO (operands[0]) < 5 || REGNO (operands[0]) > 12)
&& (REGNO (operands[1]) < 5 || REGNO (operands[1]) > 12)
@@ -7222,7 +7334,7 @@
(clobber (reg:SI 11))
(clobber (reg:SI 12))
(clobber (match_scratch:SI 5 "X"))]
- "TARGET_STRING && !TARGET_POWER
+ "TARGET_STRING && ! TARGET_POWER
&& INTVAL (operands[2]) > 16 && INTVAL (operands[2]) <= 32
&& (REGNO (operands[0]) < 7 || REGNO (operands[0]) > 12)
&& (REGNO (operands[1]) < 7 || REGNO (operands[1]) > 12)
@@ -7275,7 +7387,7 @@
(clobber (reg:SI 11))
(clobber (reg:SI 12))
(clobber (match_scratch:SI 5 "X"))]
- "TARGET_STRING && !TARGET_POWER
+ "TARGET_STRING && ! TARGET_POWER
&& INTVAL (operands[2]) > 8 && INTVAL (operands[2]) <= 16
&& (REGNO (operands[0]) < 9 || REGNO (operands[0]) > 12)
&& (REGNO (operands[1]) < 9 || REGNO (operands[1]) > 12)
@@ -7292,7 +7404,7 @@
(use (match_operand 3 "" ""))
(clobber (match_scratch:DI 4 ""))
(clobber (match_scratch:SI 5 ""))])]
- "TARGET_STRING && !TARGET_64BIT"
+ "TARGET_STRING && ! TARGET_64BIT"
"")
(define_insn ""
@@ -7302,7 +7414,7 @@
(use (match_operand:SI 3 "immediate_operand" "i"))
(clobber (match_scratch:DI 4 "=&r"))
(clobber (match_scratch:SI 5 "=q"))]
- "TARGET_STRING && TARGET_POWER && !TARGET_64BIT
+ "TARGET_STRING && TARGET_POWER && ! TARGET_64BIT
&& INTVAL (operands[2]) > 4 && INTVAL (operands[2]) <= 8"
"{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
[(set_attr "type" "load")
@@ -7315,7 +7427,7 @@
(use (match_operand:SI 3 "immediate_operand" "i"))
(clobber (match_scratch:DI 4 "=&r"))
(clobber (match_scratch:SI 5 "X"))]
- "TARGET_STRING && !TARGET_POWER && !TARGET_64BIT
+ "TARGET_STRING && ! TARGET_POWER && ! TARGET_64BIT
&& INTVAL (operands[2]) > 4 && INTVAL (operands[2]) <= 8"
"{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
[(set_attr "type" "load")
@@ -7352,7 +7464,7 @@
(use (match_operand:SI 3 "immediate_operand" "i"))
(clobber (match_scratch:SI 4 "=&r"))
(clobber (match_scratch:SI 5 "X"))]
- "TARGET_STRING && !TARGET_POWER
+ "TARGET_STRING && ! TARGET_POWER
&& INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 4"
"{lsi|lswi} %4,%1,%2\;{stsi|stswi} %4,%0,%2"
[(set_attr "type" "load")
@@ -7759,7 +7871,8 @@
rs6000_output_load_toc_table (asm_out_file, 30);
return \"\";
}"
- [(set_attr "type" "load")])
+ [(set_attr "type" "load")
+ (set_attr "length" "24")])
;; A function pointer under AIX is a pointer to a data area whose first word
;; contains the actual address of the function, whose second word contains a
@@ -8739,7 +8852,7 @@
(define_insn ""
[(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
(compare:CCUNS (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_u_short_operand" "rI")))]
+ (match_operand:SI 2 "reg_or_u_short_operand" "rK")))]
""
"{cmpl%I2|cmplw%I2} %0,%1,%W2"
[(set_attr "type" "compare")])
@@ -8747,7 +8860,7 @@
(define_insn ""
[(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
(compare:CCUNS (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "reg_or_u_short_operand" "rI")))]
+ (match_operand:DI 2 "reg_or_u_short_operand" "rK")))]
""
"cmpld%I2 %0,%1,%W2"
[(set_attr "type" "compare")])
@@ -8837,7 +8950,7 @@
(const_int 0)))
(set (match_operand:SI 3 "gpc_reg_operand" "=r")
(match_op_dup 1 [(match_dup 2) (const_int 0)]))]
- ""
+ "! TARGET_POWERPC64"
"%D1mfcr %3\;{rlinm.|rlwinm.} %3,%3,%J1,1"
[(set_attr "type" "delayed_compare")
(set_attr "length" "12")])
@@ -8965,7 +9078,7 @@
(eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
(match_operand:SI 2 "reg_or_cint_operand" "r,O,K,J,I")))
(clobber (match_scratch:SI 3 "=r,&r,r,r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
xor %0,%1,%2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0
{sfi|subfic} %3,%1,0\;{ae|adde} %0,%3,%1
@@ -8997,7 +9110,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
(eq:SI (match_dup 1) (match_dup 2)))
(clobber (match_scratch:SI 3 "=r,&r,r,r,r"))]
- ""
+ "! TARGET_POWERPC64"
"@
xor %0,%1,%2\;{sfi|subfic} %3,%0,0\;{ae.|adde.} %0,%3,%0
{sfi|subfic} %3,%1,0\;{ae.|adde.} %0,%3,%1
@@ -9047,7 +9160,7 @@
(match_operand:SI 2 "reg_or_cint_operand" "r,O,K,J,I"))
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r")))
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze|addze} %0,%3
{sfi|subfic} %4,%1,0\;{aze|addze} %0,%3
@@ -9065,7 +9178,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r,r,r,r,r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %4,%3
{sfi|subfic} %4,%1,0\;{aze.|addze.} %4,%3
@@ -9086,7 +9199,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
(plus:SI (eq:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r,&r,&r,&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
xor %4,%1,%2\;{sfi|subfic} %4,%4,0\;{aze.|addze.} %0,%3
{sfi|subfic} %4,%1,0\;{aze.|addze.} %0,%3
@@ -9100,7 +9213,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
(neg:SI (eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
(match_operand:SI 2 "reg_or_cint_operand" "r,O,K,J,I"))))]
- ""
+ "! TARGET_POWERPC64"
"@
xor %0,%1,%2\;{ai|addic} %0,%0,-1\;{sfe|subfe} %0,%0,%0
{ai|addic} %0,%1,-1\;{sfe|subfe} %0,%0,%0
@@ -9116,7 +9229,7 @@
(lshiftrt:SI (neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r")))
(const_int 31)))
(clobber (match_scratch:SI 2 "=&r"))]
- "!TARGET_POWER"
+ "! TARGET_POWER && ! TARGET_POWERPC64"
"{ai|addic} %2,%1,-1\;{sfe|subfe} %0,%2,%1"
[(set_attr "length" "8")])
@@ -9137,7 +9250,7 @@
(const_int 31))
(match_operand:SI 2 "gpc_reg_operand" "r")))
(clobber (match_scratch:SI 3 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{ai|addic} %3,%1,-1\;{aze|addze} %0,%2"
[(set_attr "length" "8")])
@@ -9161,7 +9274,7 @@
(match_operand:SI 2 "gpc_reg_operand" "r"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{ai|addic} %3,%1,-1\;{aze.|addze.} %3,%2"
[(set_attr "type" "compare")
(set_attr "length" "8")])
@@ -9192,7 +9305,7 @@
(plus:SI (lshiftrt:SI (neg:SI (abs:SI (match_dup 1))) (const_int 31))
(match_dup 2)))
(clobber (match_scratch:SI 3 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{ai|addic} %3,%1,-1\;{aze.|addze.} %0,%2"
[(set_attr "type" "compare")
(set_attr "length" "8")])
@@ -9299,11 +9412,32 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI")))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %0,%1,%2\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0"
[(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (leu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "reg_or_short_operand" "rI")))]
+ "TARGET_POWERPC64"
+ "subf%I2c %0,%1,%2\;li %0,0\;adde %0,%0,%0"
+ [(set_attr "length" "12")])
+
+(define_insn ""
+ [(set (match_operand:CC 3 "cc_reg_operand" "=x")
+ (compare:CC
+ (leu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "reg_or_short_operand" "rI"))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (leu:DI (match_dup 1) (match_dup 2)))]
+ "TARGET_POWERPC64"
+ "subf%I2c %0,%1,%2\;li %0,0\;adde. %0,%0,%0"
+ [(set_attr "type" "compare")
+ (set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:CC 3 "cc_reg_operand" "=x")
(compare:CC
(leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
@@ -9311,18 +9445,31 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(leu:SI (match_dup 1) (match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %0,%1,%2\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0"
[(set_attr "type" "compare")
(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:CC 3 "cc_reg_operand" "=x")
+ (compare:CC
+ (leu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "reg_or_short_operand" "rI"))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (leu:DI (match_dup 1) (match_dup 2)))]
+ "TARGET_POWERPC64"
+ "subf%I2c %0,%1,%2\;li %0,0\;adde. %0,%0,%0"
+ [(set_attr "type" "compare")
+ (set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI"))
(match_operand:SI 3 "gpc_reg_operand" "r")))
(clobber (match_scratch:SI 4 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %4,%1,%2\;{aze|addze} %0,%3"
[(set_attr "length" "8")])
@@ -9334,7 +9481,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %4,%1,%2\;{aze.|addze.} %4,%3"
[(set_attr "type" "compare")
(set_attr "length" "8")])
@@ -9349,7 +9496,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (leu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %4,%1,%2\;{aze.|addze.} %0,%3"
[(set_attr "type" "compare")
(set_attr "length" "8")])
@@ -9358,7 +9505,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(neg:SI (leu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI"))))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;nand %0,%0,%0"
[(set_attr "length" "12")])
@@ -9369,7 +9516,7 @@
(match_operand:SI 2 "reg_or_short_operand" "rI")))
(match_operand:SI 3 "gpc_reg_operand" "r")))
(clobber (match_scratch:SI 4 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4"
[(set_attr "length" "12")])
@@ -9382,7 +9529,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc. %4,%3,%4"
[(set_attr "type" "compare")
(set_attr "length" "12")])
@@ -9398,7 +9545,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(and:SI (neg:SI (leu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4"
[(set_attr "type" "compare")
(set_attr "length" "12")])
@@ -9474,7 +9621,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;neg %0,%0
{ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;neg %0,%0"
@@ -9488,7 +9635,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(ltu:SI (match_dup 1) (match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;neg. %0,%0
{ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0\;neg. %0,%0"
@@ -9501,7 +9648,7 @@
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))
(match_operand:SI 3 "reg_or_short_operand" "rI,rI")))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3
{ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3"
@@ -9515,7 +9662,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %4,%4,%3
{ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %4,%4,%3"
@@ -9532,7 +9679,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(plus:SI (ltu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3
{ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3"
@@ -9543,7 +9690,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(neg:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0
{ai|addic} %0,%1,%n2\;{sfe|subfe} %0,%0,%0"
@@ -9619,6 +9766,7 @@
[(set_attr "length" "12")])
;; This is (and (neg (ge X (const_int 0))) Y).
+;; srawi sign-extends, so these patterrns are 64-bit safe.
(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(and:SI (neg:SI
@@ -9632,6 +9780,18 @@
[(set_attr "length" "8")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (and:DI (neg:DI
+ (lshiftrt:DI
+ (not:DI (match_operand:DI 1 "gpc_reg_operand" "r"))
+ (const_int 63)))
+ (match_operand:DI 2 "gpc_reg_operand" "r")))
+ (clobber (match_scratch:DI 3 "=&r"))]
+ "TARGET_POWERPC64"
+ "sradi %3,%1,63\;andc %0,%2,%3"
+ [(set_attr "length" "8")])
+
+(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x")
(compare:CC
(and:SI (neg:SI
@@ -9647,6 +9807,21 @@
(set_attr "length" "8")])
(define_insn ""
+ [(set (match_operand:CC 0 "cc_reg_operand" "=x")
+ (compare:CC
+ (and:DI (neg:DI
+ (lshiftrt:DI
+ (not:DI (match_operand:DI 1 "gpc_reg_operand" "r"))
+ (const_int 63)))
+ (match_operand:DI 2 "gpc_reg_operand" "r"))
+ (const_int 0)))
+ (clobber (match_scratch:DI 3 "=&r"))]
+ "TARGET_POWERPC64"
+ "sradi %3,%1,63\;andc. %3,%2,%3"
+ [(set_attr "type" "compare")
+ (set_attr "length" "8")])
+
+(define_insn ""
[(set (match_operand:CC 4 "cc_reg_operand" "=x")
(compare:CC
(and:SI (neg:SI
@@ -9666,16 +9841,45 @@
(set_attr "length" "8")])
(define_insn ""
+ [(set (match_operand:CC 4 "cc_reg_operand" "=x")
+ (compare:CC
+ (and:DI (neg:DI
+ (lshiftrt:DI
+ (not:DI (match_operand:DI 1 "gpc_reg_operand" "r"))
+ (const_int 63)))
+ (match_operand:DI 2 "gpc_reg_operand" "r"))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (and:DI (neg:DI (lshiftrt:SI (not:DI (match_dup 1))
+ (const_int 63)))
+ (match_dup 2)))
+ (clobber (match_scratch:SI 3 "=&r"))]
+ "TARGET_POWERPC64"
+ "sradi %3,%1,63\;andc. %0,%2,%3"
+ [(set_attr "type" "compare")
+ (set_attr "length" "8")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %0,%2,%1\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0
{ai|addic} %0,%1,%n2\;{cal %0,0(0)|li %0,0}\;{ae|adde} %0,%0,%0"
[(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+ (geu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
+ (match_operand:DI 2 "reg_or_neg_short_operand" "r,P")))]
+ "TARGET_POWERPC64"
+ "@
+ subfc %0,%2,%1\;li %0,0\;adde %0,%0,%0
+ addic %0,%1,%n2\;li %0,0\;adde %0,%0,%0"
+ [(set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:CC 3 "cc_reg_operand" "=x,x")
(compare:CC
(geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
@@ -9683,7 +9887,7 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(geu:SI (match_dup 1) (match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %0,%2,%1\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0
{ai|addic} %0,%1,%n2\;{cal %0,0(0)|li %0,0}\;{ae.|adde.} %0,%0,%0"
@@ -9691,12 +9895,27 @@
(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:CC 3 "cc_reg_operand" "=x,x")
+ (compare:CC
+ (geu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
+ (match_operand:DI 2 "reg_or_neg_short_operand" "r,P"))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+ (geu:DI (match_dup 1) (match_dup 2)))]
+ "TARGET_POWERPC64"
+ "@
+ subfc %0,%2,%1\;li %0,0\;adde. %0,%0,%0
+ addic %0,%1,%n2\;li %0,0\;adde. %0,%0,%0"
+ [(set_attr "type" "compare")
+ (set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(plus:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P"))
(match_operand:SI 3 "gpc_reg_operand" "r,r")))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{aze|addze} %0,%3
{ai|addic} %4,%1,%n2\;{aze|addze} %0,%3"
@@ -9710,7 +9929,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{aze.|addze.} %4,%3
{ai|addic} %4,%1,%n2\;{aze.|addze.} %4,%3"
@@ -9727,7 +9946,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(plus:SI (geu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{aze.|addze.} %0,%3
{ai|addic} %4,%1,%n2\;{aze.|addze.} %0,%3"
@@ -9738,7 +9957,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(neg:SI (geu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "r,I"))))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %0,%2,%1\;{sfe|subfe} %0,%0,%0\;nand %0,%0,%0
{sfi|subfic} %0,%1,-1\;{a%I2|add%I2c} %0,%0,%2\;{sfe|subfe} %0,%0,%0"
@@ -9751,7 +9970,7 @@
(match_operand:SI 2 "reg_or_neg_short_operand" "r,P")))
(match_operand:SI 3 "gpc_reg_operand" "r,r")))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4
{ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc %0,%3,%4"
@@ -9766,7 +9985,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc. %4,%3,%4
{ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc. %4,%3,%4"
@@ -9784,7 +10003,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(and:SI (neg:SI (geu:SI (match_dup 1) (match_dup 2))) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{sf|subfc} %4,%2,%1\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4
{ai|addic} %4,%1,%n2\;{sfe|subfe} %4,%4,%4\;andc. %0,%3,%4"
@@ -9795,11 +10014,19 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(const_int 0)))]
- ""
+ "! TARGET_POWERPC64"
"{sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{sri|srwi} %0,%0,31"
[(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (const_int 0)))]
+ "TARGET_POWERPC64"
+ "subfic %0,%1,0\;addme %0,%0\;srdi %0,%0,63"
+ [(set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:CC 2 "cc_reg_operand" "=x")
(compare:CC
(gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
@@ -9807,12 +10034,25 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(gt:SI (match_dup 1) (const_int 0)))]
- ""
+ "! TARGET_POWERPC64"
"{sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{sri.|srwi.} %0,%0,31"
[(set_attr "type" "delayed_compare")
(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:CC 2 "cc_reg_operand" "=x")
+ (compare:CC
+ (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (const_int 0))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (gt:DI (match_dup 1) (const_int 0)))]
+ "TARGET_POWERPC64"
+ "subfic %0,%1,0\;addme %0,%0\;srdi. %0,%0,63"
+ [(set_attr "type" "delayed_compare")
+ (set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "r")))]
@@ -9839,11 +10079,21 @@
(const_int 0))
(match_operand:SI 2 "gpc_reg_operand" "r")))
(clobber (match_scratch:SI 3 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze|addze} %0,%2"
[(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (const_int 0))
+ (match_operand:DI 2 "gpc_reg_operand" "r")))
+ (clobber (match_scratch:DI 3 "=&r"))]
+ "TARGET_POWERPC64"
+ "addc %3,%1,%1\;subfe %3,%1,%3\;addze %0,%2"
+ [(set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
@@ -9851,12 +10101,25 @@
(match_operand:SI 2 "gpc_reg_operand" "r"))
(const_int 0)))
(clobber (match_scratch:SI 3 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %3,%2"
[(set_attr "type" "compare")
(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:CC 0 "cc_reg_operand" "=x")
+ (compare:CC
+ (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (const_int 0))
+ (match_operand:DI 2 "gpc_reg_operand" "r"))
+ (const_int 0)))
+ (clobber (match_scratch:DI 3 "=&r"))]
+ "TARGET_POWERPC64"
+ "addc %3,%1,%1\;subfe %3,%1,%3\;addze. %3,%2"
+ [(set_attr "type" "compare")
+ (set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:CC 4 "cc_reg_operand" "=x")
(compare:CC
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
@@ -9866,12 +10129,27 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (gt:SI (match_dup 1) (const_int 0)) (match_dup 2)))
(clobber (match_scratch:SI 3 "=&r"))]
- ""
+ "! TARGET_POWERPC64"
"{a|addc} %3,%1,%1\;{sfe|subfe} %3,%1,%3\;{aze.|addze.} %0,%2"
[(set_attr "type" "compare")
(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:CC 4 "cc_reg_operand" "=x")
+ (compare:CC
+ (plus:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (const_int 0))
+ (match_operand:DI 2 "gpc_reg_operand" "r"))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (plus:DI (gt:DI (match_dup 1) (const_int 0)) (match_dup 2)))
+ (clobber (match_scratch:DI 3 "=&r"))]
+ "TARGET_POWERPC64"
+ "addc %3,%1,%1\;subfe %3,%1,%3\;addze. %0,%2"
+ [(set_attr "type" "compare")
+ (set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(plus:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "r"))
@@ -9913,11 +10191,19 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(neg:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(const_int 0))))]
- ""
+ "! TARGET_POWERPC64"
"{sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{srai|srawi} %0,%0,31"
[(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (neg:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (const_int 0))))]
+ "TARGET_POWERPC64"
+ "subfic %0,%1,0\;addme %0,%0\;sradi} %0,%0,63"
+ [(set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(neg:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "r"))))]
@@ -9929,11 +10215,19 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI")))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;neg %0,%0"
[(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "reg_or_short_operand" "rI")))]
+ "TARGET_POWERPC64"
+ "subf%I2c %0,%1,%2\;subfe %0,%0,%0\;neg %0,%0"
+ [(set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:CC 3 "cc_reg_operand" "=x")
(compare:CC
(gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
@@ -9941,24 +10235,49 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(gtu:SI (match_dup 1) (match_dup 2)))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0\;neg. %0,%0"
[(set_attr "type" "compare")
(set_attr "length" "12")])
(define_insn ""
+ [(set (match_operand:CC 3 "cc_reg_operand" "=x")
+ (compare:CC
+ (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "reg_or_short_operand" "rI"))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (gtu:DI (match_dup 1) (match_dup 2)))]
+ "TARGET_POWERPC64"
+ "subf%I2c %0,%1,%2\;subfe %0,%0,%0\;neg. %0,%0"
+ [(set_attr "type" "compare")
+ (set_attr "length" "12")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
(match_operand:SI 2 "reg_or_short_operand" "I,rI"))
(match_operand:SI 3 "reg_or_short_operand" "r,rI")))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{ai|addic} %4,%1,%k2\;{aze|addze} %0,%3
{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf%I3|subf%I3c} %0,%4,%3"
[(set_attr "length" "8,12")])
(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+ (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
+ (match_operand:DI 2 "reg_or_short_operand" "I,rI"))
+ (match_operand:DI 3 "reg_or_short_operand" "r,rI")))
+ (clobber (match_scratch:DI 4 "=&r,&r"))]
+ "TARGET_POWERPC64"
+ "@
+ addic %4,%1,%k2\;addze %0,%3
+ subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subf%I3c %0,%4,%3"
+ [(set_attr "length" "8,12")])
+
+(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x")
(compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
@@ -9966,7 +10285,7 @@
(match_operand:SI 3 "gpc_reg_operand" "r,r"))
(const_int 0)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{ai|addic} %4,%1,%k2\;{aze.|addze.} %4,%3
{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %4,%4,%3"
@@ -9974,6 +10293,21 @@
(set_attr "length" "8,12")])
(define_insn ""
+ [(set (match_operand:CC 0 "cc_reg_operand" "=x,x")
+ (compare:CC
+ (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
+ (match_operand:DI 2 "reg_or_short_operand" "I,r"))
+ (match_operand:DI 3 "gpc_reg_operand" "r,r"))
+ (const_int 0)))
+ (clobber (match_scratch:DI 4 "=&r,&r"))]
+ "TARGET_POWERPC64"
+ "@
+ addic %4,%1,%k2\;addze. %4,%3
+ subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subfc. %4,%4,%3"
+ [(set_attr "type" "compare")
+ (set_attr "length" "8,12")])
+
+(define_insn ""
[(set (match_operand:CC 5 "cc_reg_operand" "=x,x")
(compare:CC
(plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
@@ -9983,7 +10317,7 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(plus:SI (gtu:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
(clobber (match_scratch:SI 4 "=&r,&r"))]
- ""
+ "! TARGET_POWERPC64"
"@
{ai|addic} %4,%1,%k2\;{aze.|addze.} %0,%3
{sf%I2|subf%I2c} %4,%1,%2\;{sfe|subfe} %4,%4,%4\;{sf.|subfc.} %0,%4,%3"
@@ -9991,12 +10325,37 @@
(set_attr "length" "8,12")])
(define_insn ""
+ [(set (match_operand:CC 5 "cc_reg_operand" "=x,x")
+ (compare:CC
+ (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
+ (match_operand:DI 2 "reg_or_short_operand" "I,r"))
+ (match_operand:DI 3 "gpc_reg_operand" "r,r"))
+ (const_int 0)))
+ (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
+ (plus:DI (gtu:DI (match_dup 1) (match_dup 2)) (match_dup 3)))
+ (clobber (match_scratch:DI 4 "=&r,&r"))]
+ "TARGET_POWERPC64"
+ "@
+ addic %4,%1,%k2\;addze. %0,%3
+ subf%I2c %4,%1,%2\;subfe %4,%4,%4\;subfc. %0,%4,%3"
+ [(set_attr "type" "compare")
+ (set_attr "length" "8,12")])
+
+(define_insn ""
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(neg:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_short_operand" "rI"))))]
- ""
+ "! TARGET_POWERPC64"
"{sf%I2|subf%I2c} %0,%1,%2\;{sfe|subfe} %0,%0,%0"
[(set_attr "length" "8")])
+
+(define_insn ""
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (neg:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r")
+ (match_operand:DI 2 "reg_or_short_operand" "rI"))))]
+ "TARGET_POWERPC64"
+ "subf%I2c %0,%1,%2\;subfe %0,%0,%0"
+ [(set_attr "length" "8")])
;; Define both directions of branch and return. If we need a reload
;; register, we'd rather use CR0 since it is much easier to copy a
@@ -10080,17 +10439,29 @@
"{br|blr}"
[(set_attr "type" "jmpreg")])
-(define_insn "indirect_jump"
- [(set (pc) (match_operand:SI 0 "register_operand" "c,l"))]
+(define_expand "indirect_jump"
+ [(set (pc) (match_operand 0 "register_operand" ""))]
""
+ "
+{
+ if (TARGET_32BIT)
+ emit_jump_insn (gen_indirect_jumpsi (operands[0]));
+ else
+ emit_jump_insn (gen_indirect_jumpdi (operands[0]));
+ DONE;
+}")
+
+(define_insn "indirect_jumpsi"
+ [(set (pc) (match_operand:SI 0 "register_operand" "c,l"))]
+ "TARGET_32BIT"
"@
bctr
{br|blr}"
[(set_attr "type" "jmpreg")])
-(define_insn ""
+(define_insn "indirect_jumpdi"
[(set (pc) (match_operand:DI 0 "register_operand" "c,l"))]
- "TARGET_POWERPC64"
+ "TARGET_64BIT"
"@
bctr
{br|blr}"
@@ -10116,7 +10487,7 @@
(match_dup 2)))
(parallel [(set (pc) (match_dup 3))
(use (label_ref (match_operand 1 "" "")))])]
- ""
+ "TARGET_32BIT"
"
{ operands[0] = force_reg (SImode, operands[0]);
operands[2] = force_reg (SImode, gen_rtx_LABEL_REF (VOIDmode, operands[1]));
@@ -10129,7 +10500,7 @@
(match_dup 2)))
(parallel [(set (pc) (match_dup 3))
(use (label_ref (match_operand 1 "" "")))])]
- ""
+ "TARGET_64BIT"
"
{ operands[0] = force_reg (DImode, operands[0]);
operands[2] = force_reg (DImode, gen_rtx_LABEL_REF (VOIDmode, operands[1]));
@@ -10140,7 +10511,7 @@
[(set (pc)
(match_operand:SI 0 "register_operand" "c,l"))
(use (label_ref (match_operand 1 "" "")))]
- ""
+ "TARGET_32BIT"
"@
bctr
{br|blr}"
@@ -10150,7 +10521,7 @@
[(set (pc)
(match_operand:DI 0 "register_operand" "c,l"))
(use (label_ref (match_operand 1 "" "")))]
- "TARGET_POWERPC64"
+ "TARGET_64BIT"
"@
bctr
{br|blr}"
@@ -10165,6 +10536,19 @@
;; so loop.c knows what to generate.
(define_expand "decrement_and_branch_on_count"
+ [(use (match_operand 0 "register_operand" ""))
+ (use (label_ref (match_operand 1 "" "")))]
+ ""
+ "
+{
+ if (TARGET_POWERPC64)
+ emit_jump_insn (gen_ctrdi (operands[0], operands[1]));
+ else
+ emit_jump_insn (gen_ctrsi (operands[0], operands[1]));
+ DONE;
+}")
+
+(define_expand "ctrsi"
[(parallel [(set (pc) (if_then_else (ne (match_operand:SI 0 "register_operand" "")
(const_int 1))
(label_ref (match_operand 1 "" ""))
@@ -10174,16 +10558,29 @@
(const_int -1)))
(clobber (match_scratch:CC 2 ""))
(clobber (match_scratch:SI 3 ""))])]
- ""
+ "! TARGET_POWERPC64"
+ "")
+
+(define_expand "ctrdi"
+ [(parallel [(set (pc) (if_then_else (ne (match_operand:DI 0 "register_operand" "")
+ (const_int 1))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))
+ (set (match_dup 0)
+ (plus:DI (match_dup 0)
+ (const_int -1)))
+ (clobber (match_scratch:CC 2 ""))
+ (clobber (match_scratch:DI 3 ""))])]
+ "TARGET_POWERPC64"
"")
;; We need to be able to do this for any operand, including MEM, or we
;; will cause reload to blow up since we don't allow output reloads on
;; JUMP_INSNs.
-;; In order that the length attribute is calculated correctly, the
+;; For the length attribute to be calculated correctly, the
;; label MUST be operand 0.
-(define_insn ""
+(define_insn "*ctrsi_internal1"
[(set (pc)
(if_then_else (ne (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 1))
@@ -10194,7 +10591,7 @@
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x"))
(clobber (match_scratch:SI 4 "=X,X,r"))]
- ""
+ "! TARGET_POWERPC64"
"*
{
if (which_alternative != 0)
@@ -10207,7 +10604,7 @@
[(set_attr "type" "branch")
(set_attr "length" "*,12,16")])
-(define_insn ""
+(define_insn "*ctrsi_internal2"
[(set (pc)
(if_then_else (ne (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 1))
@@ -10218,7 +10615,55 @@
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x"))
(clobber (match_scratch:SI 4 "=X,X,r"))]
- ""
+ "! TARGET_POWERPC64"
+ "*
+{
+ if (which_alternative != 0)
+ return \"#\";
+ else if (get_attr_length (insn) == 8)
+ return \"bdz %l0\";
+ else
+ return \"{bdn|bdnz} %$+8\;b %l0\";
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "*,12,16")])
+
+(define_insn "*ctrdi_internal1"
+ [(set (pc)
+ (if_then_else (ne (match_operand:DI 1 "register_operand" "c,*r,*r")
+ (const_int 1))
+ (label_ref (match_operand 0 "" ""))
+ (pc)))
+ (set (match_operand:DI 2 "register_operand" "=1,*r,m*q*c*l")
+ (plus:DI (match_dup 1)
+ (const_int -1)))
+ (clobber (match_scratch:CC 3 "=X,&x,&x"))
+ (clobber (match_scratch:DI 4 "=X,X,r"))]
+ "TARGET_POWERPC64"
+ "*
+{
+ if (which_alternative != 0)
+ return \"#\";
+ else if (get_attr_length (insn) == 8)
+ return \"{bdn|bdnz} %l0\";
+ else
+ return \"bdz %$+8\;b %l0\";
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "*,12,16")])
+
+(define_insn "*ctrdi_internal2"
+ [(set (pc)
+ (if_then_else (ne (match_operand:DI 1 "register_operand" "c,*r,*r")
+ (const_int 1))
+ (pc)
+ (label_ref (match_operand 0 "" ""))))
+ (set (match_operand:DI 2 "register_operand" "=1,*r,m*q*c*l")
+ (plus:DI (match_dup 1)
+ (const_int -1)))
+ (clobber (match_scratch:CC 3 "=X,&x,&x"))
+ (clobber (match_scratch:DI 4 "=X,X,r"))]
+ "TARGET_POWERPC64"
"*
{
if (which_alternative != 0)
@@ -10232,7 +10677,8 @@
(set_attr "length" "*,12,16")])
;; Similar, but we can use GE since we have a REG_NONNEG.
-(define_insn ""
+
+(define_insn "*ctrsi_internal3"
[(set (pc)
(if_then_else (ge (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 0))
@@ -10243,7 +10689,7 @@
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&X"))
(clobber (match_scratch:SI 4 "=X,X,r"))]
- "find_reg_note (insn, REG_NONNEG, 0)"
+ "! TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0)"
"*
{
if (which_alternative != 0)
@@ -10256,7 +10702,7 @@
[(set_attr "type" "branch")
(set_attr "length" "*,12,16")])
-(define_insn ""
+(define_insn "*ctrsi_internal4"
[(set (pc)
(if_then_else (ge (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 0))
@@ -10267,7 +10713,7 @@
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&X"))
(clobber (match_scratch:SI 4 "=X,X,r"))]
- "find_reg_note (insn, REG_NONNEG, 0)"
+ "! TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0)"
"*
{
if (which_alternative != 0)
@@ -10280,7 +10726,57 @@
[(set_attr "type" "branch")
(set_attr "length" "*,12,16")])
-(define_insn ""
+(define_insn "*ctrdi_internal3"
+ [(set (pc)
+ (if_then_else (ge (match_operand:DI 1 "register_operand" "c,*r,*r")
+ (const_int 0))
+ (label_ref (match_operand 0 "" ""))
+ (pc)))
+ (set (match_operand:DI 2 "register_operand" "=1,*r,m*q*c*l")
+ (plus:DI (match_dup 1)
+ (const_int -1)))
+ (clobber (match_scratch:CC 3 "=X,&x,&X"))
+ (clobber (match_scratch:DI 4 "=X,X,r"))]
+ "TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0)"
+ "*
+{
+ if (which_alternative != 0)
+ return \"#\";
+ else if (get_attr_length (insn) == 8)
+ return \"{bdn|bdnz} %l0\";
+ else
+ return \"bdz %$+8\;b %l0\";
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "*,12,16")])
+
+(define_insn "*ctrdi_internal4"
+ [(set (pc)
+ (if_then_else (ge (match_operand:DI 1 "register_operand" "c,*r,*r")
+ (const_int 0))
+ (pc)
+ (label_ref (match_operand 0 "" ""))))
+ (set (match_operand:DI 2 "register_operand" "=1,*r,m*q*c*l")
+ (plus:DI (match_dup 1)
+ (const_int -1)))
+ (clobber (match_scratch:CC 3 "=X,&x,&X"))
+ (clobber (match_scratch:DI 4 "=X,X,r"))]
+ "TARGET_POWERPC64 && find_reg_note (insn, REG_NONNEG, 0)"
+ "*
+{
+ if (which_alternative != 0)
+ return \"#\";
+ else if (get_attr_length (insn) == 8)
+ return \"bdz %l0\";
+ else
+ return \"{bdn|bdnz} %$+8\;b %l0\";
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "*,12,16")])
+
+;; Similar but use EQ
+
+(define_insn "*ctrsi_internal5"
[(set (pc)
(if_then_else (eq (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 1))
@@ -10291,7 +10787,7 @@
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x"))
(clobber (match_scratch:SI 4 "=X,X,r"))]
- ""
+ "! TARGET_POWERPC64"
"*
{
if (which_alternative != 0)
@@ -10304,7 +10800,7 @@
[(set_attr "type" "branch")
(set_attr "length" "*,12,16")])
-(define_insn ""
+(define_insn "*ctrsi_internal6"
[(set (pc)
(if_then_else (eq (match_operand:SI 1 "register_operand" "c,*r,*r")
(const_int 1))
@@ -10315,7 +10811,55 @@
(const_int -1)))
(clobber (match_scratch:CC 3 "=X,&x,&x"))
(clobber (match_scratch:SI 4 "=X,X,r"))]
- ""
+ "! TARGET_POWERPC64"
+ "*
+{
+ if (which_alternative != 0)
+ return \"#\";
+ else if (get_attr_length (insn) == 8)
+ return \"{bdn|bdnz} %l0\";
+ else
+ return \"bdz %$+8\;b %l0\";
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "*,12,16")])
+
+(define_insn "*ctrdi_internal5"
+ [(set (pc)
+ (if_then_else (eq (match_operand:DI 1 "register_operand" "c,*r,*r")
+ (const_int 1))
+ (label_ref (match_operand 0 "" ""))
+ (pc)))
+ (set (match_operand:DI 2 "register_operand" "=1,*r,m*q*c*l")
+ (plus:DI (match_dup 1)
+ (const_int -1)))
+ (clobber (match_scratch:CC 3 "=X,&x,&x"))
+ (clobber (match_scratch:DI 4 "=X,X,r"))]
+ "TARGET_POWERPC64"
+ "*
+{
+ if (which_alternative != 0)
+ return \"#\";
+ else if (get_attr_length (insn) == 8)
+ return \"bdz %l0\";
+ else
+ return \"{bdn|bdnz} %$+8\;b %l0\";
+}"
+ [(set_attr "type" "branch")
+ (set_attr "length" "*,12,16")])
+
+(define_insn "*ctrdi_internal6"
+ [(set (pc)
+ (if_then_else (eq (match_operand:DI 1 "register_operand" "c,*r,*r")
+ (const_int 1))
+ (pc)
+ (label_ref (match_operand 0 "" ""))))
+ (set (match_operand:DI 2 "register_operand" "=1,*r,m*q*c*l")
+ (plus:DI (match_dup 1)
+ (const_int -1)))
+ (clobber (match_scratch:CC 3 "=X,&x,&x"))
+ (clobber (match_scratch:DI 4 "=X,X,r"))]
+ "TARGET_POWERPC64"
"*
{
if (which_alternative != 0)
@@ -10328,6 +10872,8 @@
[(set_attr "type" "branch")
(set_attr "length" "*,12,16")])
+;; Now the splitters if we could not allocate the CTR register
+
(define_split
[(set (pc)
(if_then_else (match_operator 2 "comparison_operator"
@@ -10340,7 +10886,7 @@
(const_int -1)))
(clobber (match_scratch:CC 3 ""))
(clobber (match_scratch:SI 4 ""))]
- "reload_completed"
+ "! TARGET_POWERPC64 && reload_completed"
[(parallel [(set (match_dup 3)
(compare:CC (plus:SI (match_dup 1)
(const_int -1))
@@ -10366,7 +10912,8 @@
(plus:SI (match_dup 1) (const_int -1)))
(clobber (match_scratch:CC 3 ""))
(clobber (match_scratch:SI 4 ""))]
- "reload_completed && ! gpc_reg_operand (operands[0], SImode)"
+ "! TARGET_POWERPC64 && reload_completed
+ && ! gpc_reg_operand (operands[0], SImode)"
[(parallel [(set (match_dup 3)
(compare:CC (plus:SI (match_dup 1)
(const_int -1))
@@ -10382,6 +10929,61 @@
"
{ operands[7] = gen_rtx (GET_CODE (operands[2]), VOIDmode, operands[3],
const0_rtx); }")
+(define_split
+ [(set (pc)
+ (if_then_else (match_operator 2 "comparison_operator"
+ [(match_operand:DI 1 "gpc_reg_operand" "")
+ (const_int 1)])
+ (match_operand 5 "" "")
+ (match_operand 6 "" "")))
+ (set (match_operand:DI 0 "gpc_reg_operand" "")
+ (plus:DI (match_dup 1)
+ (const_int -1)))
+ (clobber (match_scratch:CC 3 ""))
+ (clobber (match_scratch:DI 4 ""))]
+ "TARGET_POWERPC64 && reload_completed"
+ [(parallel [(set (match_dup 3)
+ (compare:CC (plus:DI (match_dup 1)
+ (const_int -1))
+ (const_int 0)))
+ (set (match_dup 0)
+ (plus:DI (match_dup 1)
+ (const_int -1)))])
+ (set (pc) (if_then_else (match_dup 7)
+ (match_dup 5)
+ (match_dup 6)))]
+ "
+{ operands[7] = gen_rtx (GET_CODE (operands[2]), VOIDmode, operands[3],
+ const0_rtx); }")
+
+(define_split
+ [(set (pc)
+ (if_then_else (match_operator 2 "comparison_operator"
+ [(match_operand:DI 1 "gpc_reg_operand" "")
+ (const_int 1)])
+ (match_operand 5 "" "")
+ (match_operand 6 "" "")))
+ (set (match_operand:DI 0 "general_operand" "")
+ (plus:DI (match_dup 1) (const_int -1)))
+ (clobber (match_scratch:CC 3 ""))
+ (clobber (match_scratch:DI 4 ""))]
+ "TARGET_POWERPC64 && reload_completed
+ && ! gpc_reg_operand (operands[0], DImode)"
+ [(parallel [(set (match_dup 3)
+ (compare:CC (plus:DI (match_dup 1)
+ (const_int -1))
+ (const_int 0)))
+ (set (match_dup 4)
+ (plus:DI (match_dup 1)
+ (const_int -1)))])
+ (set (match_dup 0)
+ (match_dup 4))
+ (set (pc) (if_then_else (match_dup 7)
+ (match_dup 5)
+ (match_dup 6)))]
+ "
+{ operands[7] = gen_rtx (GET_CODE (operands[2]), VOIDmode, operands[3],
+ const0_rtx); }")
(define_insn "trap"
[(trap_if (const_int 1) (const_int 0))]
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 0a697027f68..3d09bdeead7 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -1,5 +1,5 @@
/* Target definitions for GNU compiler for PowerPC running System V.4
- Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GNU CC.
@@ -1010,7 +1010,8 @@ do { \
%{mcall-solaris: -mno-eabi } \
%{mcall-linux: -mno-eabi }}} \
%{msdata: -msdata=default} \
-%{mno-sdata: -msdata=none}"
+%{mno-sdata: -msdata=none} \
+%{profile: -p}"
/* Don't put -Y P,<path> for cross compilers */
#undef LINK_PATH_SPEC
@@ -1107,7 +1108,7 @@ do { \
#define CPP_SYSV_SPEC \
"%{mrelocatable*: -D_RELOCATABLE} \
%{fpic: -D__PIC__=1 -D__pic__=1} \
-%{fPIC: -D__PIC__=2 -D__pic__=2} \
+%{!fpic: %{fPIC: -D__PIC__=2 -D__pic__=2}} \
%{mcall-sysv: -D_CALL_SYSV} %{mcall-nt: -D_CALL_NT} \
%{mcall-aix: -D_CALL_AIX} %{mcall-aixdesc: -D_CALL_AIX -D_CALL_AIXDESC} \
%{!mcall-sysv: %{!mcall-aix: %{!mcall-aixdesc: %{!mcall-nt: %(cpp_sysv_default) }}}} \
@@ -1304,7 +1305,14 @@ do { \
/* GNU/Linux support. */
#ifndef LIB_LINUX_SPEC
-#define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } %{!mnewlib: -lc }"
+#ifdef USE_GNULIBC_1
+#define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \
+%{!mnewlib: -lc }"
+#else
+#define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \
+%{!mnewlib: %{shared:-lc} %{!shared: %{pthread:-lpthread } \
+%{profile:-lc_p} %{!profile:-lc}}}"
+#endif
#endif
#ifndef STARTFILE_LINUX_SPEC
@@ -1329,9 +1337,21 @@ do { \
#endif
#ifndef CPP_OS_LINUX_SPEC
-#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
-%{!undef:%{!ansi:%{!std=*:-Dunix -Dlinux}%{std=gnu*:-Dunix -Dlinux}}} \
+#ifdef USE_GNULIBC_1
+#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
+%{!undef: \
+ %{!ansi: \
+ %{!std=*:-Dunix -D__unix -Dlinux -D__linux} \
+ %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}} \
-Asystem(unix) -Asystem(posix)"
+#else
+#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
+%{!undef: \
+ %{!ansi: \
+ %{!std=*:-Dunix -D__unix -Dlinux -D__linux} \
+ %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}} \
+-Asystem(unix) -Asystem(posix) %{pthread:-D_REENTRANT}"
+#endif
#endif
/* Solaris support. */
diff --git a/gcc/config/sh/lib1funcs.asm b/gcc/config/sh/lib1funcs.asm
index bf9ea9a3efa..4db8ddc6c43 100644
--- a/gcc/config/sh/lib1funcs.asm
+++ b/gcc/config/sh/lib1funcs.asm
@@ -707,7 +707,7 @@ ___movstrSI4:
mov.l r0,@(0,r4)
___movstrSI0:
rts
- or r0,r0,r0
+ nop
.align 4
@@ -855,9 +855,9 @@ ___mulsi3:
sts macl,r0
hiset: sts macl,r0 ! r0 = bb*dd
- mulu r2,r5 | brewing macl = aa*dd
+ mulu r2,r5 ! brewing macl = aa*dd
sts macl,r1
- mulu r3,r4 | brewing macl = cc*bb
+ mulu r3,r4 ! brewing macl = cc*bb
sts macl,r2
add r1,r2
shll16 r2
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 41c5ac5ecac..feca33e1b22 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -2641,7 +2641,7 @@ fixup_addr_diff_vecs (first)
for (insn = first; insn; insn = NEXT_INSN (insn))
{
- rtx vec_lab, pat, prev, prevpat, x;
+ rtx vec_lab, pat, prev, prevpat, x, braf_label;
if (GET_CODE (insn) != JUMP_INSN
|| GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC)
@@ -2664,10 +2664,15 @@ fixup_addr_diff_vecs (first)
if (GET_CODE (x) == LABEL_REF && XEXP (x, 0) == vec_lab)
break;
}
+
+ /* Emit the reference label of the braf where it belongs, right after
+ the casesi_jump_2 (i.e. braf). */
+ braf_label = XEXP (XEXP (SET_SRC (XVECEXP (prevpat, 0, 0)), 1), 0);
+ emit_label_after (braf_label, prev);
+
/* Fix up the ADDR_DIF_VEC to be relative
to the reference address of the braf. */
- XEXP (XEXP (pat, 0), 0)
- = XEXP (XEXP (SET_SRC (XVECEXP (prevpat, 0, 0)), 1), 0);
+ XEXP (XEXP (pat, 0), 0) = braf_label;
}
}
@@ -4304,29 +4309,6 @@ fp_one_operand (op)
}
int
-braf_label_ref_operand(op, mode)
- rtx op;
- enum machine_mode mode;
-{
- rtx prev;
-
- if (GET_CODE (op) != LABEL_REF)
- return 0;
- prev = prev_real_insn (XEXP (op, 0));
- if (GET_CODE (prev) != JUMP_INSN)
- return 0;
- prev = PATTERN (prev);
- if (GET_CODE (prev) != PARALLEL || XVECLEN (prev, 0) != 2)
- return 0;
- prev = XVECEXP (prev, 0, 0);
- if (GET_CODE (prev) != SET)
- return 0;
- prev = SET_SRC (prev);
- if (GET_CODE (prev) != PLUS || XEXP (prev, 1) != op)
- return 0;
-}
-
-int
tertiary_reload_operand (op, mode)
rtx op;
enum machine_mode mode;
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 2f2a000b89d..40b79363b6f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -2120,7 +2120,6 @@ extern struct rtx_def *get_fpscr_rtx ();
{"arith_reg_operand", {SUBREG, REG}}, \
{"arith_reg_or_0_operand", {SUBREG, REG, CONST_INT}}, \
{"binary_float_operator", {PLUS, MULT}}, \
- {"braf_label_ref_operand", {LABEL_REF}}, \
{"commutative_float_operator", {PLUS, MULT}}, \
{"fp_arith_reg_operand", {SUBREG, REG}}, \
{"fp_extended_operand", {SUBREG, REG, FLOAT_EXTEND}}, \
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 04992a18773..e4648bb325f 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -3203,19 +3203,13 @@
;; For all later processors.
(define_insn "casesi_jump_2"
[(set (pc) (plus:SI (match_operand:SI 0 "register_operand" "r")
- (match_operand 1 "braf_label_ref_operand" "")))
+ (label_ref (match_operand 1 "" ""))))
(use (label_ref (match_operand 2 "" "")))]
- ""
+ "! INSN_UID (operands[1]) || prev_real_insn (operands[1]) == insn"
"braf %0%#"
[(set_attr "needs_delay_slot" "yes")
(set_attr "type" "jump_ind")])
-(define_insn "dummy_jump"
- [(set (pc) (const_int 0))]
- ""
- ""
- [(set_attr "length" "0")])
-
;; Call subroutine returning any type.
;; ??? This probably doesn't work.
@@ -3302,20 +3296,9 @@
reg));
emit_insn (gen_casesi_worker_0 (reg2, reg, operands[3]));
if (TARGET_SH2)
- {
- rtx lab = gen_label_rtx ();
- emit_jump_insn (gen_casesi_jump_2 (reg2,
- gen_rtx (LABEL_REF, VOIDmode, lab),
- operands[3]));
- emit_label (lab);
- /* Put a fake jump after the label, lest some optimization might
- delete the barrier and LAB. */
- emit_jump_insn (gen_dummy_jump ());
- }
+ emit_jump_insn (gen_casesi_jump_2 (reg2, gen_label_rtx (), operands[3]));
else
- {
- emit_jump_insn (gen_casesi_jump_1 (reg2, operands[3]));
- }
+ emit_jump_insn (gen_casesi_jump_1 (reg2, operands[3]));
/* For SH2 and newer, the ADDR_DIFF_VEC is not actually relative to
operands[3], but to lab. We will fix this up in
machine_dependent_reorg. */
diff --git a/gcc/config/sparc/pbd.h b/gcc/config/sparc/pbd.h
index 459bffd901b..b70fdcb259b 100644
--- a/gcc/config/sparc/pbd.h
+++ b/gcc/config/sparc/pbd.h
@@ -144,35 +144,7 @@ Boston, MA 02111-1307, USA. */
#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \
fprintf (FILE, "\t.word .L%d\n", VALUE)
-/* Output assembler code to FILE to increment profiler label # LABELNO
- for profiling a function entry. */
-
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE, LABELNO) \
- fprintf (FILE, "\tsethi %%hi(.LP%d),%%o0\n\tcall mcount\n\tor %%lo(.LP%d),%%o0,%%o0\n", \
- (LABELNO), (LABELNO))
-
-/* Output assembler code to FILE to initialize this source file's
- basic block profiling info, if that has not already been done. */
-
-#undef FUNCTION_BLOCK_PROFILER
-#define FUNCTION_BLOCK_PROFILER(FILE, LABELNO) \
- fprintf (FILE, "\tsethi %%hi(.LPBX0),%%o0\n\tld [%%lo(.LPBX0)+%%o0],%%o1\n\ttst %%o1\n\tbne .LPY%d\n\tnop\n\tcall ___bb_init_func\n\tnop\n.LPY%d:\n", \
- (LABELNO), (LABELNO))
-
-/* Output assembler code to FILE to increment the entry-count for
- the BLOCKNO'th basic block in this source file. */
-
-#undef BLOCK_PROFILER
-#define BLOCK_PROFILER(FILE, BLOCKNO) \
-{ \
- int blockn = (BLOCKNO); \
- fprintf (FILE, "\tsethi %%hi(.LPBX2+%d),%%g1\n\tld [%%lo(.LPBX2+%d)+%%g1],%%g2\n\
-\tadd %%g2,1,%%g2\n\tst %%g2,[%%lo(.LPBX2+%d)+%%g1]\n", \
- 4 * blockn, 4 * blockn, 4 * blockn); \
- CC_STATUS_INIT; /* We have clobbered %g1. Also %g2. */ \
-}
-/* This is needed for SunOS 4.0, and should not hurt for 3.2
+/* This is needed for SunOS 4.0, and should not hurt for 3.2
versions either. */
#undef ASM_OUTPUT_SOURCE_LINE(file, line)
#define ASM_OUTPUT_SOURCE_LINE(file, line) \
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 49502422031..6ec392b7f12 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -1,5 +1,6 @@
/* Subroutines for insn-output.c for Sun SPARC.
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
at Cygnus Support.
@@ -365,6 +366,12 @@ sparc_override_options ()
/* Do various machine dependent initializations. */
sparc_init_modes ();
+
+ if ((profile_flag || profile_block_flag)
+ && sparc_cmodel != CM_MEDLOW)
+ {
+ error ("profiling does not support code models other than medlow");
+ }
}
/* Miscellaneous utilities. */
@@ -2423,6 +2430,9 @@ int
pic_address_needs_scratch (x)
rtx x;
{
+ if (GET_CODE (x) == LABEL_REF)
+ return 1;
+
/* An address which is a symbolic plus a non SMALL_INT needs a temp reg. */
if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF
@@ -7531,3 +7541,307 @@ sparc_return_peephole_ok (dest, src)
return 0;
return IN_OR_GLOBAL_P (dest);
}
+
+/* Output assembler code to FILE to increment profiler label # LABELNO
+ for profiling a function entry.
+
+ 32 bit sparc uses %g2 as the STATIC_CHAIN_REGNUM which gets clobbered
+ during profiling so we need to save/restore it around the call to mcount.
+ We're guaranteed that a save has just been done, and we use the space
+ allocated for intreg/fpreg value passing. */
+
+void
+sparc_function_profiler (file, labelno)
+ FILE *file;
+ int labelno;
+{
+ char buf[32];
+ ASM_GENERATE_INTERNAL_LABEL (buf, "LP", labelno);
+
+ if (! TARGET_ARCH64)
+ fputs ("\tst\t%g2,[%fp-4]\n", file);
+
+ fputs ("\tsethi\t%hi(", file);
+ assemble_name (file, buf);
+ fputs ("),%o0\n", file);
+
+ fputs ("\tcall\t", file);
+ assemble_name (file, MCOUNT_FUNCTION);
+ putc ('\n', file);
+
+ fputs ("\t or\t%o0,%lo(", file);
+ assemble_name (file, buf);
+ fputs ("),%o0\n", file);
+
+ if (! TARGET_ARCH64)
+ fputs ("\tld\t[%fp-4],%g2\n", file);
+}
+
+
+/* The following macro shall output assembler code to FILE
+ to initialize basic-block profiling.
+
+ If profile_block_flag == 2
+
+ Output code to call the subroutine `__bb_init_trace_func'
+ and pass two parameters to it. The first parameter is
+ the address of a block allocated in the object module.
+ The second parameter is the number of the first basic block
+ of the function.
+
+ The name of the block is a local symbol made with this statement:
+
+ ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 0);
+
+ Of course, since you are writing the definition of
+ `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you
+ can take a short cut in the definition of this macro and use the
+ name that you know will result.
+
+ The number of the first basic block of the function is
+ passed to the macro in BLOCK_OR_LABEL.
+
+ If described in a virtual assembler language the code to be
+ output looks like:
+
+ parameter1 <- LPBX0
+ parameter2 <- BLOCK_OR_LABEL
+ call __bb_init_trace_func
+
+ else if profile_block_flag != 0
+
+ Output code to call the subroutine `__bb_init_func'
+ and pass one single parameter to it, which is the same
+ as the first parameter to `__bb_init_trace_func'.
+
+ The first word of this parameter is a flag which will be nonzero if
+ the object module has already been initialized. So test this word
+ first, and do not call `__bb_init_func' if the flag is nonzero.
+ Note: When profile_block_flag == 2 the test need not be done
+ but `__bb_init_trace_func' *must* be called.
+
+ BLOCK_OR_LABEL may be used to generate a label number as a
+ branch destination in case `__bb_init_func' will not be called.
+
+ If described in a virtual assembler language the code to be
+ output looks like:
+
+ cmp (LPBX0),0
+ jne local_label
+ parameter1 <- LPBX0
+ call __bb_init_func
+ local_label:
+
+*/
+
+void
+sparc_function_block_profiler(file, block_or_label)
+ FILE *file;
+ int block_or_label;
+{
+ char LPBX[32];
+ ASM_GENERATE_INTERNAL_LABEL (LPBX, "LPBX", 0);
+
+ if (profile_block_flag == 2)
+ {
+ fputs ("\tsethi\t%hi(", file);
+ assemble_name (file, LPBX);
+ fputs ("),%o0\n", file);
+
+ fprintf (file, "\tsethi\t%%hi(%d),%%o1\n", block_or_label);
+
+ fputs ("\tor\t%o0,%lo(", file);
+ assemble_name (file, LPBX);
+ fputs ("),%o0\n", file);
+
+ fprintf (file, "\tcall\t%s__bb_init_trace_func\n", user_label_prefix);
+
+ fprintf (file, "\t or\t%%o1,%%lo(%d),%%o1\n", block_or_label);
+ }
+ else if (profile_block_flag != 0)
+ {
+ char LPBY[32];
+ ASM_GENERATE_INTERNAL_LABEL (LPBY, "LPBY", block_or_label);
+
+ fputs ("\tsethi\t%hi(", file);
+ assemble_name (file, LPBX);
+ fputs ("),%o0\n", file);
+
+ fputs ("\tld\t[%lo(", file);
+ assemble_name (file, LPBX);
+ fputs (")+%o0],%o1\n", file);
+
+ fputs ("\ttst\t%o1\n", file);
+
+ if (TARGET_V9)
+ {
+ fputs ("\tbne,pn\t%icc,", file);
+ assemble_name (file, LPBY);
+ putc ('\n', file);
+ }
+ else
+ {
+ fputs ("\tbne\t", file);
+ assemble_name (file, LPBY);
+ putc ('\n', file);
+ }
+
+ fputs ("\t or\t%o0,%lo(", file);
+ assemble_name (file, LPBX);
+ fputs ("),%o0\n", file);
+
+ fprintf (file, "\tcall\t%s__bb_init_func\n\t nop\n", user_label_prefix);
+
+ ASM_OUTPUT_INTERNAL_LABEL (file, "LPBY", block_or_label);
+ }
+}
+
+/* The following macro shall output assembler code to FILE
+ to increment a counter associated with basic block number BLOCKNO.
+
+ If profile_block_flag == 2
+
+ Output code to initialize the global structure `__bb' and
+ call the function `__bb_trace_func' which will increment the
+ counter.
+
+ `__bb' consists of two words. In the first word the number
+ of the basic block has to be stored. In the second word
+ the address of a block allocated in the object module
+ has to be stored.
+
+ The basic block number is given by BLOCKNO.
+
+ The address of the block is given by the label created with
+
+ ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 0);
+
+ by FUNCTION_BLOCK_PROFILER.
+
+ Of course, since you are writing the definition of
+ `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you
+ can take a short cut in the definition of this macro and use the
+ name that you know will result.
+
+ If described in a virtual assembler language the code to be
+ output looks like:
+
+ move BLOCKNO -> (__bb)
+ move LPBX0 -> (__bb+4)
+ call __bb_trace_func
+
+ Note that function `__bb_trace_func' must not change the
+ machine state, especially the flag register. To grant
+ this, you must output code to save and restore registers
+ either in this macro or in the macros MACHINE_STATE_SAVE
+ and MACHINE_STATE_RESTORE. The last two macros will be
+ used in the function `__bb_trace_func', so you must make
+ sure that the function prologue does not change any
+ register prior to saving it with MACHINE_STATE_SAVE.
+
+ else if profile_block_flag != 0
+
+ Output code to increment the counter directly.
+ Basic blocks are numbered separately from zero within each
+ compiled object module. The count associated with block number
+ BLOCKNO is at index BLOCKNO in an array of words; the name of
+ this array is a local symbol made with this statement:
+
+ ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 2);
+
+ Of course, since you are writing the definition of
+ `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you
+ can take a short cut in the definition of this macro and use the
+ name that you know will result.
+
+ If described in a virtual assembler language, the code to be
+ output looks like:
+
+ inc (LPBX2+4*BLOCKNO)
+
+*/
+
+void
+sparc_block_profiler(file, blockno)
+ FILE *file;
+ int blockno;
+{
+ char LPBX[32];
+
+ if (profile_block_flag == 2)
+ {
+ ASM_GENERATE_INTERNAL_LABEL (LPBX, "LPBX", 0);
+
+ fprintf (file, "\tsethi\t%%hi(%s__bb),%%g1\n", user_label_prefix);
+ fprintf (file, "\tsethi\t%%hi(%d),%%g2\n", blockno);
+ fprintf (file, "\tor\t%%g1,%%lo(%s__bb),%%g1\n", user_label_prefix);
+ fprintf (file, "\tor\t%%g2,%%lo(%d),%%g2\n", blockno);
+
+ fputs ("\tst\t%g2,[%g1]\n", file);
+
+ fputs ("\tsethi\t%hi(", file);
+ assemble_name (file, LPBX);
+ fputs ("),%g2\n", file);
+
+ fputs ("\tor\t%g2,%lo(", file);
+ assemble_name (file, LPBX);
+ fputs ("),%g2\n", file);
+
+ fputs ("\tst\t%g2,[%g1+4]\n", file);
+ fputs ("\tmov\t%o7,%g2\n", file);
+
+ fprintf (file, "\tcall\t%s__bb_trace_func\n\t nop\n", user_label_prefix);
+
+ fputs ("\tmov\t%g2,%o7\n", file);
+ }
+ else if (profile_block_flag != 0)
+ {
+ ASM_GENERATE_INTERNAL_LABEL (LPBX, "LPBX", 2);
+
+ fputs ("\tsethi\t%hi(", file);
+ assemble_name (file, LPBX);
+ fprintf (file, "+%d),%%g1\n", blockno*4);
+
+ fputs ("\tld\t[%g1+%lo(", file);
+ assemble_name (file, LPBX);
+ fprintf (file, "+%d)],%%g2\n", blockno*4);
+
+ fputs ("\tadd\t%g2,1,%g2\n", file);
+
+ fputs ("\tst\t%g2,[%g1+%lo(", file);
+ assemble_name (file, LPBX);
+ fprintf (file, "+%d)]\n", blockno*4);
+ }
+}
+
+/* The following macro shall output assembler code to FILE
+ to indicate a return from function during basic-block profiling.
+
+ If profile_block_flag == 2:
+
+ Output assembler code to call function `__bb_trace_ret'.
+
+ Note that function `__bb_trace_ret' must not change the
+ machine state, especially the flag register. To grant
+ this, you must output code to save and restore registers
+ either in this macro or in the macros MACHINE_STATE_SAVE_RET
+ and MACHINE_STATE_RESTORE_RET. The last two macros will be
+ used in the function `__bb_trace_ret', so you must make
+ sure that the function prologue does not change any
+ register prior to saving it with MACHINE_STATE_SAVE_RET.
+
+ else if profile_block_flag != 0:
+
+ The macro will not be used, so it need not distinguish
+ these cases.
+*/
+
+void
+sparc_function_block_profiler_exit(file)
+ FILE *file;
+{
+ if (profile_block_flag == 2)
+ fprintf (file, "\tcall\t%s__bb_trace_ret\n\t nop\n", user_label_prefix);
+ else
+ abort ();
+}
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index b00a145164d..ad11d74afc1 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1844,240 +1844,32 @@ do { \
current_function_uses_only_leaf_regs))
/* Output assembler code to FILE to increment profiler label # LABELNO
- for profiling a function entry.
+ for profiling a function entry. */
- 32 bit sparc uses %g2 as the STATIC_CHAIN_REGNUM which gets clobbered
- during profiling so we need to save/restore it around the call to mcount.
- We're guaranteed that a save has just been done, and we use the space
- allocated for intreg/fpreg value passing. */
+#define FUNCTION_PROFILER(FILE, LABELNO) \
+ sparc_function_profiler(FILE, LABELNO)
-#define FUNCTION_PROFILER(FILE, LABELNO) \
- do { \
- char buf[20]; \
- ASM_GENERATE_INTERNAL_LABEL (buf, "LP", (LABELNO)); \
- if (! TARGET_ARCH64) \
- fputs ("\tst %g2,[%fp-4]\n", FILE); \
- fputs ("\tsethi %hi(", FILE); \
- assemble_name (FILE, buf); \
- fputs ("),%o0\n", FILE); \
- fputs ("\tcall mcount\n\tadd %o0,%lo(", FILE); \
- assemble_name (FILE, buf); \
- fputs ("),%o0\n", FILE); \
- if (! TARGET_ARCH64) \
- fputs ("\tld [%fp-4],%g2\n", FILE); \
- } while (0)
-
-/* There are three profiling modes for basic blocks available.
- The modes are selected at compile time by using the options
- -a or -ax of the gnu compiler.
- The variable `profile_block_flag' will be set according to the
- selected option.
-
- profile_block_flag == 0, no option used:
-
- No profiling done.
-
- profile_block_flag == 1, -a option used.
-
- Count frequency of execution of every basic block.
+/* Set the name of the mcount function for the system. */
- profile_block_flag == 2, -ax option used.
-
- Generate code to allow several different profiling modes at run time.
- Available modes are:
- Produce a trace of all basic blocks.
- Count frequency of jump instructions executed.
- In every mode it is possible to start profiling upon entering
- certain functions and to disable profiling of some other functions.
-
- The result of basic-block profiling will be written to a file `bb.out'.
- If the -ax option is used parameters for the profiling will be read
- from file `bb.in'.
-
-*/
+#define MCOUNT_FUNCTION "*mcount"
/* The following macro shall output assembler code to FILE
- to initialize basic-block profiling.
-
- If profile_block_flag == 2
-
- Output code to call the subroutine `__bb_init_trace_func'
- and pass two parameters to it. The first parameter is
- the address of a block allocated in the object module.
- The second parameter is the number of the first basic block
- of the function.
-
- The name of the block is a local symbol made with this statement:
-
- ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 0);
+ to initialize basic-block profiling. */
- Of course, since you are writing the definition of
- `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you
- can take a short cut in the definition of this macro and use the
- name that you know will result.
-
- The number of the first basic block of the function is
- passed to the macro in BLOCK_OR_LABEL.
-
- If described in a virtual assembler language the code to be
- output looks like:
-
- parameter1 <- LPBX0
- parameter2 <- BLOCK_OR_LABEL
- call __bb_init_trace_func
-
- else if profile_block_flag != 0
-
- Output code to call the subroutine `__bb_init_func'
- and pass one single parameter to it, which is the same
- as the first parameter to `__bb_init_trace_func'.
-
- The first word of this parameter is a flag which will be nonzero if
- the object module has already been initialized. So test this word
- first, and do not call `__bb_init_func' if the flag is nonzero.
- Note: When profile_block_flag == 2 the test need not be done
- but `__bb_init_trace_func' *must* be called.
-
- BLOCK_OR_LABEL may be used to generate a label number as a
- branch destination in case `__bb_init_func' will not be called.
-
- If described in a virtual assembler language the code to be
- output looks like:
-
- cmp (LPBX0),0
- jne local_label
- parameter1 <- LPBX0
- call __bb_init_func
-local_label:
-
-*/
-
-#define FUNCTION_BLOCK_PROFILER(FILE, BLOCK_OR_LABEL) \
-do \
- { \
- int bol = (BLOCK_OR_LABEL); \
- switch (profile_block_flag) \
- { \
- case 2: \
- fprintf (FILE, "\tsethi %%hi(LPBX0),%%o0\n\tor %%o0,%%lo(LPBX0),%%o0\n\tsethi %%hi(%d),%%o1\n\tcall ___bb_init_trace_func\n\tor %%o1,%%lo(%d),%%o1\n",\
- bol, bol); \
- break; \
- default: \
- fprintf (FILE, "\tsethi %%hi(LPBX0),%%o0\n\tld [%%lo(LPBX0)+%%o0],%%o1\n\ttst %%o1\n\tbne LPY%d\n\tadd %%o0,%%lo(LPBX0),%%o0\n\tcall ___bb_init_func\n\tnop\nLPY%d:\n",\
- bol, bol); \
- break; \
- } \
- } \
-while (0)
+#define FUNCTION_BLOCK_PROFILER(FILE, BLOCK_OR_LABEL) \
+ sparc_function_block_profiler(FILE, BLOCK_OR_LABEL)
/* The following macro shall output assembler code to FILE
- to increment a counter associated with basic block number BLOCKNO.
-
- If profile_block_flag == 2
+ to increment a counter associated with basic block number BLOCKNO. */
- Output code to initialize the global structure `__bb' and
- call the function `__bb_trace_func' which will increment the
- counter.
-
- `__bb' consists of two words. In the first word the number
- of the basic block has to be stored. In the second word
- the address of a block allocated in the object module
- has to be stored.
-
- The basic block number is given by BLOCKNO.
-
- The address of the block is given by the label created with
-
- ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 0);
-
- by FUNCTION_BLOCK_PROFILER.
-
- Of course, since you are writing the definition of
- `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you
- can take a short cut in the definition of this macro and use the
- name that you know will result.
-
- If described in a virtual assembler language the code to be
- output looks like:
-
- move BLOCKNO -> (__bb)
- move LPBX0 -> (__bb+4)
- call __bb_trace_func
-
- Note that function `__bb_trace_func' must not change the
- machine state, especially the flag register. To grant
- this, you must output code to save and restore registers
- either in this macro or in the macros MACHINE_STATE_SAVE
- and MACHINE_STATE_RESTORE. The last two macros will be
- used in the function `__bb_trace_func', so you must make
- sure that the function prologue does not change any
- register prior to saving it with MACHINE_STATE_SAVE.
-
- else if profile_block_flag != 0
-
- Output code to increment the counter directly.
- Basic blocks are numbered separately from zero within each
- compiled object module. The count associated with block number
- BLOCKNO is at index BLOCKNO in an array of words; the name of
- this array is a local symbol made with this statement:
-
- ASM_GENERATE_INTERNAL_LABEL (BUFFER, "LPBX", 2);
-
- Of course, since you are writing the definition of
- `ASM_GENERATE_INTERNAL_LABEL' as well as that of this macro, you
- can take a short cut in the definition of this macro and use the
- name that you know will result.
-
- If described in a virtual assembler language, the code to be
- output looks like:
-
- inc (LPBX2+4*BLOCKNO)
-
-*/
-
-#define BLOCK_PROFILER(FILE, BLOCKNO) \
-do \
- { \
- int blockn = (BLOCKNO); \
- switch (profile_block_flag) \
- { \
- case 2: \
- fprintf (FILE, "\tsethi %%hi(___bb),%%g1\n\tsethi %%hi(%d),%%g2\n\tor %%g2,%%lo(%d),%%g2\n\tst %%g2,[%%lo(___bb)+%%g1]\n\tsethi %%hi(LPBX0),%%g2\n\tor %%g2,%%lo(LPBX0),%%g2\n\tadd 4,%%g1,%%g1\n\tst %%g2,[%%lo(___bb)+%%g1]\n\tmov %%o7,%%g2\n\tcall ___bb_trace_func\n\tnop\n\tmov %%g2,%%o7\n",\
- blockn, blockn); \
- break; \
- default: \
- fprintf (FILE, "\tsethi %%hi(LPBX2+%d),%%g1\n\tld [%%lo(LPBX2+%d)+%%g1],%%g2\n\
-\tadd %%g2,1,%%g2\n\tst %%g2,[%%lo(LPBX2+%d)+%%g1]\n", \
- 4 * blockn, 4 * blockn, 4 * blockn); \
- break; \
- } \
- } \
-while(0)
+#define BLOCK_PROFILER(FILE, BLOCKNO) \
+ sparc_block_profiler (FILE, BLOCKNO)
/* The following macro shall output assembler code to FILE
- to indicate a return from function during basic-block profiling.
-
- If profiling_block_flag == 2:
-
- Output assembler code to call function `__bb_trace_ret'.
-
- Note that function `__bb_trace_ret' must not change the
- machine state, especially the flag register. To grant
- this, you must output code to save and restore registers
- either in this macro or in the macros MACHINE_STATE_SAVE_RET
- and MACHINE_STATE_RESTORE_RET. The last two macros will be
- used in the function `__bb_trace_ret', so you must make
- sure that the function prologue does not change any
- register prior to saving it with MACHINE_STATE_SAVE_RET.
-
- else if profiling_block_flag != 0:
-
- The macro will not be used, so it need not distinguish
- these cases.
-*/
+ to indicate a return from function during basic-block profiling. */
#define FUNCTION_BLOCK_PROFILER_EXIT(FILE) \
- fprintf (FILE, "\tcall ___bb_trace_ret\n\tnop\n" );
+ sparc_function_block_profiler_exit(FILE)
/* The function `__bb_trace_func' is called in every basic block
and is not allowed to change the machine state. Saving (restoring)
@@ -2584,8 +2376,11 @@ extern struct rtx_def *legitimize_pic_address ();
For Sparc 32, we wish to handle addresses by splitting them into
HIGH+LO_SUM pairs, retaining the LO_SUM in the memory reference.
- This cuts the number of extra insns by one. */
-
+ This cuts the number of extra insns by one.
+
+ Do nothing when generating PIC code and the address is a
+ symbolic operand or requires a scratch register. */
+
#define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN) \
do { \
/* Decompose SImode constants into hi+lo_sum. We do have to \
@@ -2593,7 +2388,10 @@ do { \
if (CONSTANT_P (X) \
&& (MODE != TFmode || TARGET_V9) \
&& GET_MODE (X) == SImode \
- && GET_CODE (X) != LO_SUM && GET_CODE (X) != HIGH) \
+ && GET_CODE (X) != LO_SUM && GET_CODE (X) != HIGH \
+ && ! (flag_pic \
+ && (symbolic_operand (X, Pmode) \
+ || pic_address_needs_scratch (X)))) \
{ \
X = gen_rtx_LO_SUM (GET_MODE (X), \
gen_rtx_HIGH (GET_MODE (X), X), X); \
@@ -3491,6 +3289,11 @@ extern int v9_regcmp_p ();
extern unsigned long sparc_flat_compute_frame_size ();
extern unsigned long sparc_type_code ();
+extern void sparc_function_profiler ();
+extern void sparc_function_block_profiler ();
+extern void sparc_block_profiler ();
+extern void sparc_function_block_profiler_exit ();
+
extern char *sparc_v8plus_shift ();
#ifdef __STDC__
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 025992a354c..58e882c5ac7 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1,5 +1,6 @@
;;- Machine description for SPARC chip for GNU C compiler
-;; Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;; 1999 Free Software Foundation, Inc.
;; Contributed by Michael Tiemann (tiemann@cygnus.com)
;; 64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
;; at Cygnus Support.
@@ -2838,7 +2839,7 @@
return \"#\";
}"
[(set_attr "type" "move")
- (set_attr "length" "1")])
+ (set_attr "length" "1,2")])
;; There isn't much I can do about this, if I change the
;; mode then flow info gets really confused because the
@@ -3013,7 +3014,7 @@
return \"#\";
}"
[(set_attr "type" "move")
- (set_attr "length" "1")])
+ (set_attr "length" "1,2,2")])
(define_split
[(set (match_operand:DF 0 "register_operand" "")
@@ -6789,7 +6790,7 @@
[(set_attr "type" "fpmove")
(set_attr "length" "1")])
-(define_insn "abstf2"
+(define_expand "abstf2"
[(set (match_operand:TF 0 "register_operand" "")
(abs:TF (match_operand:TF 1 "register_operand" "")))]
"TARGET_FPU"
@@ -6824,14 +6825,23 @@
operands[3] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]));
operands[4] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]) + 1);
operands[5] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]) + 1);
- operands[6] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]) + 2);
- operands[7] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]) + 2);")
+ operands[6] = gen_rtx_raw_REG (DFmode, REGNO (operands[0]) + 2);
+ operands[7] = gen_rtx_raw_REG (DFmode, REGNO (operands[1]) + 2);")
+
+(define_insn "*abstf2_hq_v9"
+ [(set (match_operand:TF 0 "register_operand" "=e,e")
+ (abs:TF (match_operand:TF 1 "register_operand" "0,e")))]
+ "TARGET_FPU && TARGET_V9 && TARGET_HARD_QUAD"
+ "@
+ fabsd\\t%0, %0
+ fabsq\\t%1, %0"
+ [(set_attr "type" "fpmove")
+ (set_attr "length" "1")])
(define_insn "*abstf2_v9"
[(set (match_operand:TF 0 "register_operand" "=e,e")
(abs:TF (match_operand:TF 1 "register_operand" "0,e")))]
- ; We don't use quad float insns here so we don't need TARGET_HARD_QUAD.
- "TARGET_FPU && TARGET_V9"
+ "TARGET_FPU && TARGET_V9 && !TARGET_HARD_QUAD"
"@
fabsd\\t%0, %0
#"
@@ -6894,7 +6904,7 @@
[(set (match_operand:DF 0 "register_operand" "=e")
(abs:DF (match_operand:DF 1 "register_operand" "e")))]
"TARGET_FPU && TARGET_V9"
- "fabsd\\t%0, %0"
+ "fabsd\\t%1, %0"
[(set_attr "type" "fpmove")
(set_attr "length" "1")])
@@ -7068,7 +7078,7 @@
(set_attr "length" "1")])
(define_insn "*ashrsi3_extend"
- [(set (match_operand:DI 0 "register_operand" "")
+ [(set (match_operand:DI 0 "register_operand" "=r")
(sign_extend:DI (ashiftrt:SI (match_operand:SI 1 "register_operand" "r")
(match_operand:SI 2 "arith_operand" "r"))))]
"TARGET_ARCH64"
@@ -7079,7 +7089,7 @@
;; This handles the case as above, but with constant shift instead of
;; register. Combiner "simplifies" it for us a little bit though.
(define_insn "*ashrsi3_extend2"
- [(set (match_operand:DI 0 "register_operand" "")
+ [(set (match_operand:DI 0 "register_operand" "=r")
(ashiftrt:DI (ashift:DI (subreg:DI (match_operand:SI 1 "register_operand" "r") 0)
(const_int 32))
(match_operand:SI 2 "small_int_or_double" "n")))]
@@ -7161,7 +7171,7 @@
;; (zero_extend:DI (lshiftrt:SI (match_operand:SI) (match_operand:SI))),
;; but combiner "simplifies" it for us.
(define_insn "*lshrsi3_extend"
- [(set (match_operand:DI 0 "register_operand" "")
+ [(set (match_operand:DI 0 "register_operand" "=r")
(and:DI (subreg:DI (lshiftrt:SI (match_operand:SI 1 "register_operand" "r")
(match_operand:SI 2 "arith_operand" "r")) 0)
(match_operand 3 "" "")))]
@@ -7182,7 +7192,7 @@
;; (lshiftrt:DI (zero_extend:DI (match_operand:SI)) (const_int >=0 < 32))
;; but combiner "simplifies" it for us.
(define_insn "*lshrsi3_extend2"
- [(set (match_operand:DI 0 "register_operand" "")
+ [(set (match_operand:DI 0 "register_operand" "=r")
(zero_extract:DI (subreg:DI (match_operand:SI 1 "register_operand" "r") 0)
(match_operand 2 "small_int_or_double" "n")
(const_int 32)))]
@@ -7346,7 +7356,7 @@
gen_rtvec (3,
gen_rtx_SET (VOIDmode, pc_rtx,
XEXP (operands[0], 0)),
- GEN_INT (INTVAL (operands[3]) & 0xfff),
+ operands[3],
gen_rtx_CLOBBER (VOIDmode,
gen_rtx_REG (Pmode, 15)))));
else
@@ -7378,7 +7388,7 @@
emit_call_insn
(gen_rtx_PARALLEL (VOIDmode,
gen_rtvec (3, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx),
- GEN_INT (INTVAL (operands[3]) & 0xfff),
+ operands[3],
gen_rtx_CLOBBER (VOIDmode,
gen_rtx_REG (Pmode, 15)))));
else
diff --git a/gcc/config/sparc/sun4o3.h b/gcc/config/sparc/sun4o3.h
index 10c73916b60..d2a53c1f237 100644
--- a/gcc/config/sparc/sun4o3.h
+++ b/gcc/config/sparc/sun4o3.h
@@ -1,9 +1,9 @@
#include "sparc/sparc.h"
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE, LABELNO) \
- fprintf (FILE, "\tsethi %%hi(LP%d),%%o0\n\tcall .mcount\n\tor %%lo(LP%d),%%o0,%%o0\n", \
- (LABELNO), (LABELNO))
+/* Override the name of the mcount profiling function. */
+
+#undef MCOUNT_FUNCTION
+#define MCOUNT_FUNCTION "*.mcount"
/* LINK_SPEC is needed only for SunOS 4. */
diff --git a/gcc/config/sparc/sysv4.h b/gcc/config/sparc/sysv4.h
index 572b9dcde73..5f9bba9e594 100644
--- a/gcc/config/sparc/sysv4.h
+++ b/gcc/config/sparc/sysv4.h
@@ -200,28 +200,6 @@ do { \
else \
fprintf (FILE, ".section\t\"%s\",#alloc,#write\n", (NAME)); \
} while (0)
-
-/* Output assembler code to FILE to initialize this source file's
- basic block profiling info, if that has not already been done. */
-
-#undef FUNCTION_BLOCK_PROFILER
-#define FUNCTION_BLOCK_PROFILER(FILE, LABELNO) \
- do { \
- fprintf (FILE, "\tsethi %%hi(.LLPBX0),%%o0\n\tld [%%lo(.LLPBX0)+%%o0],%%o1\n\ttst %%o1\n\tbne LPY%d\n\tadd %%o0,%%lo(.LLPBX0),%%o0\n\tcall __bb_init_func\n\tnop\nLPY%d:\n", \
- (LABELNO), (LABELNO)); \
- } while (0)
-
-/* Output assembler code to FILE to increment the entry-count for
- the BLOCKNO'th basic block in this source file. */
-
-#undef BLOCK_PROFILER
-#define BLOCK_PROFILER(FILE, BLOCKNO) \
-{ \
- int blockn = (BLOCKNO); \
- fprintf (FILE, "\tsethi %%hi(.LLPBX2+%d),%%g1\n\tld [%%lo(.LLPBX2+%d)+%%g1],%%g2\n\
-\tadd %%g2,1,%%g2\n\tst %%g2,[%%lo(.LLPBX2+%d)+%%g1]\n", \
- 4 * blockn, 4 * blockn, 4 * blockn); \
-}
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named
@@ -231,3 +209,8 @@ do { \
#undef ASM_OUTPUT_ALIGNED_BSS
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
+
+/* Override the name of the mcount profiling function. */
+
+#undef MCOUNT_FUNCTION
+#define MCOUNT_FUNCTION "*_mcount"
diff --git a/gcc/config/svr4.h b/gcc/config/svr4.h
index 1c8482fd11d..7fa30e8ac26 100644
--- a/gcc/config/svr4.h
+++ b/gcc/config/svr4.h
@@ -247,8 +247,9 @@ do { \
#define DWARF_DEBUGGING_INFO
/* All ELF targets can support DWARF-2. */
-
+#ifndef DWARF2_DEBUGGING_INFO
#define DWARF2_DEBUGGING_INFO
+#endif
/* The numbers used to denote specific machine registers in the System V
Release 4 DWARF debugging information are quite likely to be totally
diff --git a/gcc/config/i386/t-freebsd b/gcc/config/t-freebsd
index 5164669d1ac..99816863429 100644
--- a/gcc/config/i386/t-freebsd
+++ b/gcc/config/t-freebsd
@@ -2,4 +2,3 @@
STMP_FIXPROTO =
# Use only native include files
USER_H = $(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS)
-
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c
index 15867ac4892..dc984cf4c67 100644
--- a/gcc/config/v850/v850.c
+++ b/gcc/config/v850/v850.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for NEC V850 series
- Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GNU CC.
@@ -1864,10 +1864,8 @@ Saved %d bytes via epilogue function (%d vs. %d) in function %s\n",
else
init_stack_free = actual_fsize;
- /* Deallocate the rest of the stack if it is > 32K or if extra stack
- was allocated for an interrupt handler that makes a call. */
- if (actual_fsize > init_stack_free
- || (interrupt_handler && actual_fsize))
+ /* Deallocate the rest of the stack if it is > 32K. */
+ if (actual_fsize > init_stack_free)
{
int diff;
diff --git a/gcc/configure b/gcc/configure
index 5c44d856d73..38d3db4fe27 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -62,7 +62,8 @@ ac_help="$ac_help
ac_help="$ac_help
--enable-dwarf2 enable DWARF2 debugging as default."
ac_help="$ac_help
- --enable-nls use Native Language Support (disabled by default)"
+ --enable-nls use Native Language Support (disabled by default).
+ EXPERIMENTAL, see ABOUT-GCC-NLS."
ac_help="$ac_help
--disable-nls do not use Native Language Support"
ac_help="$ac_help
@@ -595,7 +596,7 @@ copy=cp
# - two terminals occur directly after each other
# - the path contains an element with a dot in it
echo $ac_n "checking LIBRARY_PATH variable""... $ac_c" 1>&6
-echo "configure:599: checking LIBRARY_PATH variable" >&5
+echo "configure:600: checking LIBRARY_PATH variable" >&5
case ${LIBRARY_PATH} in
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
library_path_setting="contains current directory"
@@ -608,7 +609,7 @@ echo "$ac_t""$library_path_setting" 1>&6
if test "$library_path_setting" != "ok"; then
{ echo "configure: error:
*** LIBRARY_PATH shouldn't contain the current directory when
-*** building egcs. Please change the environment variable
+*** building gcc. Please change the environment variable
*** and run configure again." 1>&2; exit 1; }
fi
@@ -620,7 +621,7 @@ fi
# - two terminals occur directly after each other
# - the path contains an element with a dot in it
echo $ac_n "checking GCC_EXEC_PREFIX variable""... $ac_c" 1>&6
-echo "configure:624: checking GCC_EXEC_PREFIX variable" >&5
+echo "configure:625: checking GCC_EXEC_PREFIX variable" >&5
case ${GCC_EXEC_PREFIX} in
[:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
gcc_exec_prefix_setting="contains current directory"
@@ -633,7 +634,7 @@ echo "$ac_t""$gcc_exec_prefix_setting" 1>&6
if test "$gcc_exec_prefix_setting" != "ok"; then
{ echo "configure: error:
*** GCC_EXEC_PREFIX shouldn't contain the current directory when
-*** building egcs. Please change the environment variable
+*** building gcc. Please change the environment variable
*** and run configure again." 1>&2; exit 1; }
fi
@@ -961,7 +962,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:965: checking host system type" >&5
+echo "configure:966: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -982,7 +983,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:986: checking target system type" >&5
+echo "configure:987: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -1000,7 +1001,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1004: checking build system type" >&5
+echo "configure:1005: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -1027,7 +1028,7 @@ test "$host_alias" != "$target_alias" &&
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1031: checking for $ac_word" >&5
+echo "configure:1032: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1057,7 +1058,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1061: checking for $ac_word" >&5
+echo "configure:1062: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1108,7 +1109,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1112: checking for $ac_word" >&5
+echo "configure:1113: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1140,7 +1141,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1144: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1145: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1151,12 +1152,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1155 "configure"
+#line 1156 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1182,12 +1183,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1186: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1187: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1191: checking whether we are using GNU C" >&5
+echo "configure:1192: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1196,7 +1197,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1201: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1215,7 +1216,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1219: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1220: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1258,7 +1259,7 @@ fi
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1262: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1263: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1286,7 +1287,7 @@ fi
echo $ac_n "checking whether a default assembler was specified""... $ac_c" 1>&6
-echo "configure:1290: checking whether a default assembler was specified" >&5
+echo "configure:1291: checking whether a default assembler was specified" >&5
if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
if test x"$gas_flag" = x"no"; then
echo "$ac_t""yes ($DEFAULT_ASSEMBLER)" 1>&6
@@ -1298,7 +1299,7 @@ else
fi
echo $ac_n "checking whether a default linker was specified""... $ac_c" 1>&6
-echo "configure:1302: checking whether a default linker was specified" >&5
+echo "configure:1303: checking whether a default linker was specified" >&5
if test x"${DEFAULT_LINKER+set}" = x"set"; then
if test x"$gnu_ld_flag" = x"no"; then
echo "$ac_t""yes ($DEFAULT_LINKER)" 1>&6
@@ -1310,12 +1311,12 @@ else
fi
# Find some useful tools
-for ac_prog in mawk gawk nawk awk
+for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1319: checking for $ac_word" >&5
+echo "configure:1320: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1347,7 +1348,7 @@ done
# Extract the first word of "flex", so it can be a program name with args.
set dummy flex; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1351: checking for $ac_word" >&5
+echo "configure:1352: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1381,7 +1382,7 @@ then
*) ac_lib=l ;;
esac
echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
-echo "configure:1385: checking for yywrap in -l$ac_lib" >&5
+echo "configure:1386: checking for yywrap in -l$ac_lib" >&5
ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1389,7 +1390,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-l$ac_lib $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1393 "configure"
+#line 1394 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1400,7 +1401,7 @@ int main() {
yywrap()
; return 0; }
EOF
-if { (eval echo configure:1404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1423,7 +1424,7 @@ fi
fi
echo $ac_n "checking whether ln works""... $ac_c" 1>&6
-echo "configure:1427: checking whether ln works" >&5
+echo "configure:1428: checking whether ln works" >&5
if eval "test \"`echo '$''{'gcc_cv_prog_LN'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1455,7 +1456,7 @@ else
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1459: checking whether ln -s works" >&5
+echo "configure:1460: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'gcc_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1487,19 +1488,19 @@ else
fi
echo $ac_n "checking for volatile""... $ac_c" 1>&6
-echo "configure:1491: checking for volatile" >&5
+echo "configure:1492: checking for volatile" >&5
if eval "test \"`echo '$''{'gcc_cv_c_volatile'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1496 "configure"
+#line 1497 "configure"
#include "confdefs.h"
int main() {
volatile int foo;
; return 0; }
EOF
-if { (eval echo configure:1503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_c_volatile=yes
else
@@ -1522,7 +1523,7 @@ fi
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1526: checking for $ac_word" >&5
+echo "configure:1527: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1554,7 +1555,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1558: checking for $ac_word" >&5
+echo "configure:1559: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1595,7 +1596,7 @@ test -n "$YACC" || YACC="yacc"
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1599: checking for a BSD compatible install" >&5
+echo "configure:1600: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1646,7 +1647,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1650: checking how to run the C preprocessor" >&5
+echo "configure:1651: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1661,13 +1662,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1665 "configure"
+#line 1666 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1671: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1672: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1678,13 +1679,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1682 "configure"
+#line 1683 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1688: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1689: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1695,13 +1696,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1699 "configure"
+#line 1700 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1706: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1726,12 +1727,12 @@ fi
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1730: checking for ANSI C header files" >&5
+echo "configure:1731: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1735 "configure"
+#line 1736 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1739,7 +1740,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1743: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1744: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1756,7 +1757,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1760 "configure"
+#line 1761 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1774,7 +1775,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1778 "configure"
+#line 1779 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1795,7 +1796,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1799 "configure"
+#line 1800 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1806,7 +1807,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1830,12 +1831,12 @@ EOF
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1834: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1835: checking whether time.h and sys/time.h may both be included" >&5
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1839 "configure"
+#line 1840 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -1844,7 +1845,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:1848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1849: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -1865,12 +1866,12 @@ EOF
fi
echo $ac_n "checking whether string.h and strings.h may both be included""... $ac_c" 1>&6
-echo "configure:1869: checking whether string.h and strings.h may both be included" >&5
+echo "configure:1870: checking whether string.h and strings.h may both be included" >&5
if eval "test \"`echo '$''{'gcc_cv_header_string'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1874 "configure"
+#line 1875 "configure"
#include "confdefs.h"
#include <string.h>
#include <strings.h>
@@ -1878,7 +1879,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_header_string=yes
else
@@ -1899,12 +1900,12 @@ EOF
fi
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1903: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1904: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1908 "configure"
+#line 1909 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -1920,7 +1921,7 @@ wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:1924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1925: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -1944,17 +1945,17 @@ for ac_hdr in limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unist
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1948: checking for $ac_hdr" >&5
+echo "configure:1949: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1953 "configure"
+#line 1954 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1958: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1984,17 +1985,17 @@ done
# Check for thread headers.
ac_safe=`echo "thread.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for thread.h""... $ac_c" 1>&6
-echo "configure:1988: checking for thread.h" >&5
+echo "configure:1989: checking for thread.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1993 "configure"
+#line 1994 "configure"
#include "confdefs.h"
#include <thread.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1999: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2018,17 +2019,17 @@ fi
ac_safe=`echo "pthread.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for pthread.h""... $ac_c" 1>&6
-echo "configure:2022: checking for pthread.h" >&5
+echo "configure:2023: checking for pthread.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2027 "configure"
+#line 2028 "configure"
#include "confdefs.h"
#include <pthread.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2033: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2055,7 +2056,7 @@ fi
# Extract the first word of "gnatbind", so it can be a program name with args.
set dummy gnatbind; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2059: checking for $ac_word" >&5
+echo "configure:2060: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gnat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2086,12 +2087,12 @@ fi
# See if the system preprocessor understands the ANSI C preprocessor
# stringification operator.
echo $ac_n "checking whether cpp understands the stringify operator""... $ac_c" 1>&6
-echo "configure:2090: checking whether cpp understands the stringify operator" >&5
+echo "configure:2091: checking whether cpp understands the stringify operator" >&5
if eval "test \"`echo '$''{'gcc_cv_c_have_stringify'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2095 "configure"
+#line 2096 "configure"
#include "confdefs.h"
int main() {
@@ -2099,7 +2100,7 @@ int main() {
char *test = S(foo);
; return 0; }
EOF
-if { (eval echo configure:2103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2104: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_c_have_stringify=yes
else
@@ -2122,12 +2123,12 @@ fi
# Use <inttypes.h> only if it exists,
# doesn't clash with <sys/types.h>, and declares intmax_t.
echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
-echo "configure:2126: checking for inttypes.h" >&5
+echo "configure:2127: checking for inttypes.h" >&5
if eval "test \"`echo '$''{'gcc_cv_header_inttypes_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2131 "configure"
+#line 2132 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <inttypes.h>
@@ -2135,7 +2136,7 @@ int main() {
intmax_t i = -1;
; return 0; }
EOF
-if { (eval echo configure:2139: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gcc_cv_header_inttypes_h=yes
else
@@ -2161,12 +2162,12 @@ for ac_func in strtoul bsearch strerror putenv popen bcopy bzero bcmp \
fputs_unlocked
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2165: checking for $ac_func" >&5
+echo "configure:2166: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2170 "configure"
+#line 2171 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2189,7 +2190,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2218,12 +2219,12 @@ done
#AC_CHECK_TYPE(wchar_t, unsigned int)
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2222: checking for vprintf" >&5
+echo "configure:2223: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2227 "configure"
+#line 2228 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
@@ -2246,7 +2247,7 @@ vprintf();
; return 0; }
EOF
-if { (eval echo configure:2250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2251: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
@@ -2270,12 +2271,12 @@ fi
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2274: checking for _doprnt" >&5
+echo "configure:2275: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2279 "configure"
+#line 2280 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
@@ -2298,7 +2299,7 @@ _doprnt();
; return 0; }
EOF
-if { (eval echo configure:2302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
@@ -2334,7 +2335,7 @@ fi
echo $ac_n "checking whether the printf functions support %p""... $ac_c" 1>&6
-echo "configure:2338: checking whether the printf functions support %p" >&5
+echo "configure:2339: checking whether the printf functions support %p" >&5
if eval "test \"`echo '$''{'gcc_cv_func_printf_ptr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2342,7 +2343,7 @@ else
gcc_cv_func_printf_ptr=no
else
cat > conftest.$ac_ext <<EOF
-#line 2346 "configure"
+#line 2347 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -2355,7 +2356,7 @@ main()
exit (p != q);
}
EOF
-if { (eval echo configure:2359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
gcc_cv_func_printf_ptr=yes
else
@@ -2381,10 +2382,9 @@ fi
case "${host}" in
*-*-uwin*)
- # Under some versions of uwin, vfork is notoriously buggy and the test
- # can hang configure; on other versions, vfork exists just as a stub.
- # FIXME: This should be removed once vfork in uwin's runtime is fixed.
- ac_cv_func_vfork_works=no
+ { echo "configure: error:
+*** UWIN may not be used as a host platform because
+*** linking with posix.dll is not allowed by the GNU GPL" 1>&2; exit 1; }
;;
esac
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
@@ -2633,7 +2633,7 @@ fi
for ac_func in malloc realloc calloc free bcopy bzero bcmp \
index rindex getenv atol sbrk abort atof strerror getcwd getwd \
- strsignal putc_unlocked fputs_unlocked
+ strsignal putc_unlocked fputs_unlocked strstr
do
echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
echo "configure:2640: checking whether $ac_func must be declared" >&5
@@ -3019,7 +3019,7 @@ for machine in $build $host $target; do
xm_file="alpha/xm-alpha-interix.h xm-interix.h"
xmake_file="x-interix alpha/t-pe"
- tmake_file="alpha/t-interix"
+ tmake_file="alpha/t-interix alpha/t-ieee"
if test x$enable_threads = xyes ; then
thread_file='posix'
fi
@@ -3032,6 +3032,7 @@ for machine in $build $host $target; do
alpha*-*-linux-gnuecoff*)
tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
target_cpu_default="MASK_GAS"
+ tmake_file="alpha/t-ieee"
gas=no
xmake_file=none
gas=yes gnu_ld=yes
@@ -3039,7 +3040,7 @@ for machine in $build $host $target; do
alpha*-*-linux-gnulibc1*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe"
+ tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe alpha/t-ieee"
extra_parts="crtbegin.o crtend.o"
xmake_file=none
gas=yes gnu_ld=yes
@@ -3050,7 +3051,7 @@ for machine in $build $host $target; do
alpha*-*-linux-gnu*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="t-linux alpha/t-linux alpha/t-crtbe"
+ tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-ieee"
extra_parts="crtbegin.o crtend.o"
xmake_file=none
gas=yes gnu_ld=yes
@@ -3061,7 +3062,7 @@ for machine in $build $host $target; do
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="alpha/t-crtbe"
+ tmake_file="alpha/t-crtbe alpha/t-ieee"
extra_parts="crtbegin.o crtend.o"
xmake_file=none
gas=yes gnu_ld=yes
@@ -3070,6 +3071,7 @@ for machine in $build $host $target; do
alpha*-*-openbsd*)
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
+ tmake_file="alpha/t-ieee"
;;
alpha*-dec-osf*)
@@ -3082,6 +3084,7 @@ for machine in $build $host $target; do
extra_passes="mips-tfile mips-tdump"
fi
use_collect2=yes
+ tmake_file="alpha/t-ieee"
case $machine in
*-*-osf1*)
tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
@@ -3104,6 +3107,7 @@ for machine in $build $host $target; do
;;
alpha*-*-vxworks*)
tm_file="${tm_file} dbx.h alpha/vxworks.h"
+ tmake_file="alpha/t-ieee"
if x$gas != xyes
then
extra_passes="mips-tfile mips-tdump"
@@ -3114,7 +3118,7 @@ for machine in $build $host $target; do
alpha*-*-winnt*)
tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
- tmake_file=t-libc-ok
+ tmake_file="t-libc-ok alpha/t-ieee"
xmake_file=winnt/x-winnt
extra_host_objs=oldnames.o
extra_gcc_objs="spawnv.o oldnames.o"
@@ -3129,7 +3133,7 @@ for machine in $build $host $target; do
alpha*-dec-vms*)
tm_file=alpha/vms.h
xm_file="${xm_file} alpha/xm-vms.h"
- tmake_file=alpha/t-vms
+ tmake_file="alpha/t-vms alpha/t-ieee"
;;
arc-*-elf*)
extra_parts="crtinit.o crtfini.o"
@@ -3179,15 +3183,31 @@ for machine in $build $host $target; do
tmake_file=arm/t-linux
gnu_ld=yes
;;
- arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
+ arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
xm_file=arm/xm-linux.h
xmake_file=x-linux
+ tm_file="arm/linux-oldld.h arm/linux-elf.h"
case $machine in
armv2*-*-*)
- tm_file=arm/linux-elf26.h
+ tm_file="arm/linux-elf26.h $tm_file"
;;
- *)
- tm_file=arm/linux-elf.h
+ esac
+ tmake_file="t-linux arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
+ case x${enable_threads} in
+ x | xyes | xpthreads | xposix)
+ thread_file='posix'
+ ;;
+ esac
+ ;;
+ arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
+ xm_file=arm/xm-linux.h
+ xmake_file=x-linux
+ tm_file="arm/linux-elf.h"
+ case $machine in
+ armv2*-*-*)
+ tm_file="arm/linux-elf26.h $tm_file"
;;
esac
tmake_file="t-linux arm/t-linux"
@@ -3537,16 +3557,16 @@ for machine in $build $host $target; do
# use_collect2=yes
;;
i[34567]86-*-freebsdelf*)
- tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
+ tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- tmake_file=i386/t-freebsd
+ tmake_file=t-freebsd
gas=yes
gnu_ld=yes
stabs=yes
;;
i[34567]86-*-freebsd*)
tm_file=i386/freebsd.h
- tmake_file=i386/t-freebsd
+ tmake_file=t-freebsd
;;
i[34567]86-*-netbsd*)
tm_file=i386/netbsd.h
@@ -3746,11 +3766,10 @@ for machine in $build $host $target; do
i[34567]86-*-solaris2*)
xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
xm_defines="USG POSIX SMALL_ARG_MAX"
- if test x$stabs = xyes
- then
- tm_file=i386/sol2dbg.h
- else
- tm_file=i386/sol2.h
+ tm_file=i386/sol2.h
+ if test x$gas = xyes; then
+ # Only needed if gas does not support -s
+ tm_file="i386/sol2gas.h ${tm_file}"
fi
tmake_file=i386/t-sol2
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
@@ -3793,6 +3812,7 @@ for machine in $build $host $target; do
tmake_file="i386/t-crtpic i386/t-udk"
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
+ install_headers_dir=install-headers-cpio
;;
i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
cpu_type=i386
@@ -3877,8 +3897,6 @@ for machine in $build $host $target; do
;;
i[34567]86-*-uwin*)
tm_file=i386/uwin.h
- xm_file="${xm_file} i386/xm-uwin.h"
- xm_defines="USG NO_STAB_H NO_SYS_SIGLIST"
tmake_file="i386/t-cygwin i386/t-uwin"
extra_objs=winnt.o
xmake_file=i386/x-cygwin
@@ -4011,7 +4029,7 @@ for machine in $build $host $target; do
extra_headers=math-68881.h
;;
m68000-hp-hpux*) # HP 9000 series 300
- xm_file="xm_alloca.h ${xm_file}"
+ xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG NO_SYS_SIGLIST"
if test x$gas = xyes
then
@@ -4190,7 +4208,6 @@ for machine in $build $host $target; do
;;
m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
tm_file=m68k/hp3bsd44.h
- xmake_file=m68k/x-hp3bsd44
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
@@ -4213,7 +4230,7 @@ for machine in $build $host $target; do
extra_headers=math-68881.h
;;
m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
- xm_file="xm_alloca.h ${xm_file}"
+ xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG NO_SYS_SIGLIST"
if test x$gas = xyes
then
@@ -4229,7 +4246,7 @@ for machine in $build $host $target; do
float_format=m68k
;;
m68k-hp-hpux*) # HP 9000 series 300
- xm_file="xm_alloca.h ${xm_file}"
+ xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG NO_SYS_SIGLIST"
if test x$gas = xyes
then
@@ -5229,23 +5246,23 @@ for machine in $build $host $target; do
use_collect2=yes
;;
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
- if test "$gnu_ld" = yes
- then
- tm_file=rs6000/aix41-gld.h
- else
- tm_file=rs6000/aix41.h
- fi
+ tm_file=rs6000/aix41.h
if test x$host != x$target
then
tmake_file=rs6000/t-xnewas
else
tmake_file=rs6000/t-newas
fi
- xmake_file=rs6000/x-aix41
+ if test "$gnu_ld" = yes
+ then
+ xmake_file=rs6000/x-aix41-gld
+ else
+ xmake_file=rs6000/x-aix41
+ fi
float_format=none
use_collect2=yes
;;
- rs6000-ibm-aix4.[3456789].* | powerpc-ibm-aix4.[3456789].*)
+ rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
tm_file=rs6000/aix43.h
if test x$host != x$target
then
@@ -5404,12 +5421,21 @@ for machine in $build $host $target; do
fi
;;
sparc-hal-solaris2*)
- xm_file=sparc/xm-sol2.h
+ xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
+ xm_defines="USG POSIX"
tm_file="sparc/sol2.h sparc/hal.h"
tmake_file="sparc/t-halos sparc/t-sol2"
xmake_file=sparc/x-sysv4
extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
- broken_install=yes
+ case $machine in
+ *-*-solaris2.0-4)
+ float_format=i128
+ ;;
+ *)
+ float_format=none
+ ;;
+ esac
+ thread_file='solaris'
;;
sparc-*-solaris2*)
if test x$gnu_ld = xyes
@@ -5635,7 +5661,7 @@ for machine in $build $host $target; do
alpha*-*-*)
case $machine in
alphaev6*)
- target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_CIX|MASK_MAX"
+ target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
;;
alphapca56*)
target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
@@ -6036,7 +6062,7 @@ fi
echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:6040: checking for strerror in -lcposix" >&5
+echo "configure:6066: checking for strerror in -lcposix" >&5
ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -6044,7 +6070,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lcposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6048 "configure"
+#line 6074 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -6055,7 +6081,7 @@ int main() {
strerror()
; return 0; }
EOF
-if { (eval echo configure:6059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -6078,12 +6104,12 @@ fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:6082: checking for working const" >&5
+echo "configure:6108: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6087 "configure"
+#line 6113 "configure"
#include "confdefs.h"
int main() {
@@ -6132,7 +6158,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:6136: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -6153,21 +6179,21 @@ EOF
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:6157: checking for inline" >&5
+echo "configure:6183: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 6164 "configure"
+#line 6190 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:6171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6197: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -6193,12 +6219,12 @@ EOF
esac
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:6197: checking for off_t" >&5
+echo "configure:6223: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6202 "configure"
+#line 6228 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6226,12 +6252,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:6230: checking for size_t" >&5
+echo "configure:6256: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6235 "configure"
+#line 6261 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6261,19 +6287,19 @@ fi
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:6265: checking for working alloca.h" >&5
+echo "configure:6291: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6270 "configure"
+#line 6296 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:6277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -6294,12 +6320,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:6298: checking for alloca" >&5
+echo "configure:6324: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6303 "configure"
+#line 6329 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -6327,7 +6353,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:6331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -6359,12 +6385,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:6363: checking whether alloca needs Cray hooks" >&5
+echo "configure:6389: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6368 "configure"
+#line 6394 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -6389,12 +6415,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6393: checking for $ac_func" >&5
+echo "configure:6419: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6398 "configure"
+#line 6424 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6417,7 +6443,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6444,7 +6470,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:6448: checking stack direction for C alloca" >&5
+echo "configure:6474: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6452,7 +6478,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 6456 "configure"
+#line 6482 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -6471,7 +6497,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:6475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -6496,17 +6522,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6500: checking for $ac_hdr" >&5
+echo "configure:6526: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6505 "configure"
+#line 6531 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6536: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6535,12 +6561,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6539: checking for $ac_func" >&5
+echo "configure:6565: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6544 "configure"
+#line 6570 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6563,7 +6589,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6588,7 +6614,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:6592: checking for working mmap" >&5
+echo "configure:6618: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6596,7 +6622,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 6600 "configure"
+#line 6626 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -6736,7 +6762,7 @@ main()
}
EOF
-if { (eval echo configure:6740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -6764,17 +6790,17 @@ unistd.h sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6768: checking for $ac_hdr" >&5
+echo "configure:6794: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6773 "configure"
+#line 6799 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6778: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6804,12 +6830,12 @@ done
strdup __argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6808: checking for $ac_func" >&5
+echo "configure:6834: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6813 "configure"
+#line 6839 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6832,7 +6858,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6861,12 +6887,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6865: checking for $ac_func" >&5
+echo "configure:6891: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6870 "configure"
+#line 6896 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6889,7 +6915,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6923,19 +6949,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:6927: checking for LC_MESSAGES" >&5
+echo "configure:6953: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6932 "configure"
+#line 6958 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:6939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
@@ -6956,7 +6982,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:6960: checking whether NLS is requested" >&5
+echo "configure:6986: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -6976,7 +7002,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:6980: checking whether included gettext is requested" >&5
+echo "configure:7006: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
@@ -6995,17 +7021,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:6999: checking for libintl.h" >&5
+echo "configure:7025: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7004 "configure"
+#line 7030 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7009: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -7022,19 +7048,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:7026: checking for gettext in libc" >&5
+echo "configure:7052: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7031 "configure"
+#line 7057 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:7038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
@@ -7050,7 +7076,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:7054: checking for bindtextdomain in -lintl" >&5
+echo "configure:7080: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7058,7 +7084,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7062 "configure"
+#line 7088 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -7069,7 +7095,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:7073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7085,12 +7111,12 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:7089: checking for gettext in libintl" >&5
+echo "configure:7115: checking for gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:7094: checking for gettext in -lintl" >&5
+echo "configure:7120: checking for gettext in -lintl" >&5
ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7098,7 +7124,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7102 "configure"
+#line 7128 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -7109,7 +7135,7 @@ int main() {
gettext()
; return 0; }
EOF
-if { (eval echo configure:7113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7148,7 +7174,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7152: checking for $ac_word" >&5
+echo "configure:7178: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7182,12 +7208,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7186: checking for $ac_func" >&5
+echo "configure:7212: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7191 "configure"
+#line 7217 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7210,7 +7236,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -7237,7 +7263,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7241: checking for $ac_word" >&5
+echo "configure:7267: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7273,7 +7299,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7277: checking for $ac_word" >&5
+echo "configure:7303: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7305,7 +7331,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 7309 "configure"
+#line 7335 "configure"
#include "confdefs.h"
int main() {
@@ -7313,7 +7339,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:7317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -7336,7 +7362,7 @@ fi
if test "$CATOBJEXT" = "NONE"; then
echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:7340: checking whether catgets can be used" >&5
+echo "configure:7366: checking whether catgets can be used" >&5
# Check whether --with-catgets or --without-catgets was given.
if test "${with_catgets+set}" = set; then
withval="$with_catgets"
@@ -7349,7 +7375,7 @@ fi
if test "$nls_cv_use_catgets" = "yes"; then
echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:7353: checking for main in -li" >&5
+echo "configure:7379: checking for main in -li" >&5
ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7357,14 +7383,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-li $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7361 "configure"
+#line 7387 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:7368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7392,12 +7418,12 @@ else
fi
echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:7396: checking for catgets" >&5
+echo "configure:7422: checking for catgets" >&5
if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7401 "configure"
+#line 7427 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char catgets(); below. */
@@ -7420,7 +7446,7 @@ catgets();
; return 0; }
EOF
-if { (eval echo configure:7424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_catgets=yes"
else
@@ -7442,7 +7468,7 @@ EOF
# Extract the first word of "gencat", so it can be a program name with args.
set dummy gencat; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7446: checking for $ac_word" >&5
+echo "configure:7472: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7478,7 +7504,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7482: checking for $ac_word" >&5
+echo "configure:7508: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7515,7 +7541,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7519: checking for $ac_word" >&5
+echo "configure:7545: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7550,7 +7576,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7554: checking for $ac_word" >&5
+echo "configure:7580: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7608,7 +7634,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7612: checking for $ac_word" >&5
+echo "configure:7638: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7642,7 +7668,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7646: checking for $ac_word" >&5
+echo "configure:7672: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7678,7 +7704,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7682: checking for $ac_word" >&5
+echo "configure:7708: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7771,7 +7797,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:7775: checking for catalogs to be installed" >&5
+echo "configure:7801: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -7799,17 +7825,17 @@ echo "configure:7775: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:7803: checking for linux/version.h" >&5
+echo "configure:7829: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7808 "configure"
+#line 7834 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7839: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8043,7 +8069,7 @@ fi
# Figure out what assembler alignment features are present.
echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
-echo "configure:8047: checking assembler alignment features" >&5
+echo "configure:8073: checking assembler alignment features" >&5
gcc_cv_as=
gcc_cv_as_alignment_features=
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
@@ -8087,7 +8113,55 @@ EOF
fi
elif test x$host = x$target; then
# Native build.
- gcc_cv_as=as$host_exeext
+ # Search the same directories that the installed compiler will
+ # search. Else we may find the wrong assembler and lose. If we
+ # do not find a suitable assembler binary, then try the user's
+ # path.
+ #
+ # Also note we have to check MD_EXEC_PREFIX before checking the
+ # user's path. Unfortunately, there is no good way to get at the
+ # value of MD_EXEC_PREFIX here. So we do a brute force search
+ # through all the known MD_EXEC_PREFIX values. Ugh. This needs
+ # to be fixed as part of the make/configure rewrite too.
+
+ if test "x$exec_prefix" = xNONE; then
+ if test "x$prefix" = xNONE; then
+ test_prefix=/usr/local
+ else
+ test_prefix=$prefix
+ fi
+ else
+ test_prefix=$exec_prefix
+ fi
+
+ # If the loop below does not find an assembler, then use whatever
+ # one we can find in the users's path.
+ # user's path.
+ as=as$host_exeext
+
+ test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
+ $test_prefix/lib/gcc-lib/$target \
+ /usr/lib/gcc/$target/$gcc_version \
+ /usr/lib/gcc/$target \
+ $test_prefix/$target/bin/$target/$gcc_version \
+ $test_prefix/$target/bin \
+ /usr/libexec \
+ /usr/ccs/gcc \
+ /usr/ccs/bin \
+ /udk/usr/ccs/bin \
+ /bsd43/usr/lib/cmplrs/cc \
+ /usr/cross64/usr/bin \
+ /usr/lib/cmplrs/cc \
+ /sysv/usr/lib/cmplrs/cc \
+ /svr4/usr/lib/cmplrs/cc \
+ /usr/bin"
+
+ for dir in $test_dirs; do
+ if test -f $dir/as$host_exeext; then
+ gcc_cv_as=$dir/as$host_exeext
+ break;
+ fi
+ done
fi
if test x$gcc_cv_as != x; then
# Check if we have .balign and .p2align
@@ -8116,7 +8190,7 @@ fi
echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6
echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6
-echo "configure:8120: checking assembler subsection support" >&5
+echo "configure:8194: checking assembler subsection support" >&5
gcc_cv_as_subsections=
if test x$gcc_cv_as != x; then
# Check if we have .subsection
@@ -8156,7 +8230,7 @@ fi
echo "$ac_t""$gcc_cv_as_subsections" 1>&6
echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
-echo "configure:8160: checking assembler instructions" >&5
+echo "configure:8234: checking assembler instructions" >&5
gcc_cv_as_instructions=
if test x$gcc_cv_as != x; then
set "filds fists" "filds mem; fists mem"
diff --git a/gcc/configure.in b/gcc/configure.in
index d9cd396b1d5..55dcec76823 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -1,7 +1,7 @@
# configure.in for GNU CC
# Process this file with autoconf to generate a configuration script.
-# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
#This file is part of GNU CC.
@@ -53,7 +53,7 @@ AC_MSG_RESULT($library_path_setting)
if test "$library_path_setting" != "ok"; then
AC_MSG_ERROR([
*** LIBRARY_PATH shouldn't contain the current directory when
-*** building egcs. Please change the environment variable
+*** building gcc. Please change the environment variable
*** and run configure again.])
fi
@@ -79,7 +79,7 @@ AC_MSG_RESULT($gcc_exec_prefix_setting)
if test "$gcc_exec_prefix_setting" != "ok"; then
AC_MSG_ERROR([
*** GCC_EXEC_PREFIX shouldn't contain the current directory when
-*** building egcs. Please change the environment variable
+*** building gcc. Please change the environment variable
*** and run configure again.])
fi
@@ -396,17 +396,16 @@ GCC_FUNC_PRINTF_PTR
case "${host}" in
*-*-uwin*)
- # Under some versions of uwin, vfork is notoriously buggy and the test
- # can hang configure; on other versions, vfork exists just as a stub.
- # FIXME: This should be removed once vfork in uwin's runtime is fixed.
- ac_cv_func_vfork_works=no
+ AC_MSG_ERROR([
+*** UWIN may not be used as a host platform because
+*** linking with posix.dll is not allowed by the GNU GPL])
;;
esac
AC_FUNC_VFORK
GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
index rindex getenv atol sbrk abort atof strerror getcwd getwd \
- strsignal putc_unlocked fputs_unlocked)
+ strsignal putc_unlocked fputs_unlocked strstr)
GCC_NEED_DECLARATIONS(getrlimit setrlimit, [
#include <sys/types.h>
@@ -586,7 +585,7 @@ changequote([,])dnl
xm_file="alpha/xm-alpha-interix.h xm-interix.h"
xmake_file="x-interix alpha/t-pe"
- tmake_file="alpha/t-interix"
+ tmake_file="alpha/t-interix alpha/t-ieee"
if test x$enable_threads = xyes ; then
thread_file='posix'
fi
@@ -599,6 +598,7 @@ changequote([,])dnl
alpha*-*-linux-gnuecoff*)
tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
target_cpu_default="MASK_GAS"
+ tmake_file="alpha/t-ieee"
gas=no
xmake_file=none
gas=yes gnu_ld=yes
@@ -606,7 +606,7 @@ changequote([,])dnl
alpha*-*-linux-gnulibc1*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe"
+ tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe alpha/t-ieee"
extra_parts="crtbegin.o crtend.o"
xmake_file=none
gas=yes gnu_ld=yes
@@ -617,7 +617,7 @@ changequote([,])dnl
alpha*-*-linux-gnu*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="t-linux alpha/t-linux alpha/t-crtbe"
+ tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-ieee"
extra_parts="crtbegin.o crtend.o"
xmake_file=none
gas=yes gnu_ld=yes
@@ -628,7 +628,7 @@ changequote([,])dnl
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
- tmake_file="alpha/t-crtbe"
+ tmake_file="alpha/t-crtbe alpha/t-ieee"
extra_parts="crtbegin.o crtend.o"
xmake_file=none
gas=yes gnu_ld=yes
@@ -637,6 +637,7 @@ changequote([,])dnl
alpha*-*-openbsd*)
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
+ tmake_file="alpha/t-ieee"
;;
alpha*-dec-osf*)
@@ -649,6 +650,7 @@ changequote([,])dnl
extra_passes="mips-tfile mips-tdump"
fi
use_collect2=yes
+ tmake_file="alpha/t-ieee"
case $machine in
*-*-osf1*)
tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
@@ -675,6 +677,7 @@ changequote([,])dnl
;;
alpha*-*-vxworks*)
tm_file="${tm_file} dbx.h alpha/vxworks.h"
+ tmake_file="alpha/t-ieee"
if [ x$gas != xyes ]
then
extra_passes="mips-tfile mips-tdump"
@@ -685,7 +688,7 @@ changequote([,])dnl
alpha*-*-winnt*)
tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
- tmake_file=t-libc-ok
+ tmake_file="t-libc-ok alpha/t-ieee"
xmake_file=winnt/x-winnt
extra_host_objs=oldnames.o
extra_gcc_objs="spawnv.o oldnames.o"
@@ -700,7 +703,7 @@ changequote([,])dnl
alpha*-dec-vms*)
tm_file=alpha/vms.h
xm_file="${xm_file} alpha/xm-vms.h"
- tmake_file=alpha/t-vms
+ tmake_file="alpha/t-vms alpha/t-ieee"
;;
arc-*-elf*)
extra_parts="crtinit.o crtfini.o"
@@ -752,15 +755,31 @@ changequote([,])dnl
tmake_file=arm/t-linux
gnu_ld=yes
;;
- arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
+ arm*-*-linux-gnuoldld*) # ARM GNU/Linux with old ELF linker
xm_file=arm/xm-linux.h
xmake_file=x-linux
+ tm_file="arm/linux-oldld.h arm/linux-elf.h"
case $machine in
armv2*-*-*)
- tm_file=arm/linux-elf26.h
+ tm_file="arm/linux-elf26.h $tm_file"
;;
- *)
- tm_file=arm/linux-elf.h
+ esac
+ tmake_file="t-linux arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
+ case x${enable_threads} in
+ x | xyes | xpthreads | xposix)
+ thread_file='posix'
+ ;;
+ esac
+ ;;
+ arm*-*-linux-gnu*) # ARM GNU/Linux with ELF
+ xm_file=arm/xm-linux.h
+ xmake_file=x-linux
+ tm_file="arm/linux-elf.h"
+ case $machine in
+ armv2*-*-*)
+ tm_file="arm/linux-elf26.h $tm_file"
;;
esac
tmake_file="t-linux arm/t-linux"
@@ -1138,9 +1157,9 @@ changequote([,])dnl
changequote(,)dnl
i[34567]86-*-freebsdelf*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
+ tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- tmake_file=i386/t-freebsd
+ tmake_file=t-freebsd
gas=yes
gnu_ld=yes
stabs=yes
@@ -1149,7 +1168,7 @@ changequote(,)dnl
i[34567]86-*-freebsd*)
changequote([,])dnl
tm_file=i386/freebsd.h
- tmake_file=i386/t-freebsd
+ tmake_file=t-freebsd
;;
changequote(,)dnl
i[34567]86-*-netbsd*)
@@ -1395,11 +1414,10 @@ changequote(,)dnl
changequote([,])dnl
xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
xm_defines="USG POSIX SMALL_ARG_MAX"
- if test x$stabs = xyes
- then
- tm_file=i386/sol2dbg.h
- else
- tm_file=i386/sol2.h
+ tm_file=i386/sol2.h
+ if test x$gas = xyes; then
+ # Only needed if gas does not support -s
+ tm_file="i386/sol2gas.h ${tm_file}"
fi
tmake_file=i386/t-sol2
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
@@ -1448,6 +1466,7 @@ changequote([,])dnl
tmake_file="i386/t-crtpic i386/t-udk"
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
+ install_headers_dir=install-headers-cpio
;;
changequote(,)dnl
i[34567]86-*-osf1*) # Intel 80386's running OSF/1 1.3+
@@ -1544,8 +1563,6 @@ changequote(,)dnl
i[34567]86-*-uwin*)
changequote([,])dnl
tm_file=i386/uwin.h
- xm_file="${xm_file} i386/xm-uwin.h"
- xm_defines="USG NO_STAB_H NO_SYS_SIGLIST"
tmake_file="i386/t-cygwin i386/t-uwin"
extra_objs=winnt.o
xmake_file=i386/x-cygwin
@@ -1684,7 +1701,7 @@ changequote([,])dnl
extra_headers=math-68881.h
;;
m68000-hp-hpux*) # HP 9000 series 300
- xm_file="xm_alloca.h ${xm_file}"
+ xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG NO_SYS_SIGLIST"
if test x$gas = xyes
then
@@ -1863,7 +1880,6 @@ changequote([,])dnl
;;
m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd
tm_file=m68k/hp3bsd44.h
- xmake_file=m68k/x-hp3bsd44
use_collect2=yes
extra_headers=math-68881.h
float_format=m68k
@@ -1886,7 +1902,7 @@ changequote([,])dnl
extra_headers=math-68881.h
;;
m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
- xm_file="xm_alloca.h ${xm_file}"
+ xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG NO_SYS_SIGLIST"
if test x$gas = xyes
then
@@ -1902,7 +1918,7 @@ changequote([,])dnl
float_format=m68k
;;
m68k-hp-hpux*) # HP 9000 series 300
- xm_file="xm_alloca.h ${xm_file}"
+ xm_file="xm-alloca.h ${xm_file}"
xm_defines="USG NO_SYS_SIGLIST"
if test x$gas = xyes
then
@@ -2920,24 +2936,24 @@ changequote([,])dnl
changequote(,)dnl
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
changequote([,])dnl
- if test "$gnu_ld" = yes
- then
- tm_file=rs6000/aix41-gld.h
- else
- tm_file=rs6000/aix41.h
- fi
+ tm_file=rs6000/aix41.h
if test x$host != x$target
then
tmake_file=rs6000/t-xnewas
else
tmake_file=rs6000/t-newas
fi
- xmake_file=rs6000/x-aix41
+ if test "$gnu_ld" = yes
+ then
+ xmake_file=rs6000/x-aix41-gld
+ else
+ xmake_file=rs6000/x-aix41
+ fi
float_format=none
use_collect2=yes
;;
changequote(,)dnl
- rs6000-ibm-aix4.[3456789].* | powerpc-ibm-aix4.[3456789].*)
+ rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
changequote([,])dnl
tm_file=rs6000/aix43.h
if test x$host != x$target
@@ -3099,12 +3115,21 @@ changequote([,])dnl
fi
;;
sparc-hal-solaris2*)
- xm_file=sparc/xm-sol2.h
+ xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
+ xm_defines="USG POSIX"
tm_file="sparc/sol2.h sparc/hal.h"
tmake_file="sparc/t-halos sparc/t-sol2"
xmake_file=sparc/x-sysv4
extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
- broken_install=yes
+ case $machine in
+ *-*-solaris2.[0-4])
+ float_format=i128
+ ;;
+ *)
+ float_format=none
+ ;;
+ esac
+ thread_file='solaris'
;;
sparc-*-solaris2*)
if test x$gnu_ld = xyes
@@ -3332,7 +3357,7 @@ changequote([,])dnl
alpha*-*-*)
case $machine in
alphaev6*)
- target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_CIX|MASK_MAX"
+ target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
;;
alphapca56*)
target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
@@ -3719,7 +3744,8 @@ ALL_LINGUAS="en_UK"
# NLS support is still experimental, so disable it by default for now.
AC_ARG_ENABLE(nls,
- [ --enable-nls use Native Language Support (disabled by default)],
+[ --enable-nls use Native Language Support (disabled by default).
+ EXPERIMENTAL, see ABOUT-GCC-NLS.],
, enable_nls=no)
AM_GNU_GETTEXT
@@ -3934,7 +3960,55 @@ changequote([,])dnl
fi
elif test x$host = x$target; then
# Native build.
- gcc_cv_as=as$host_exeext
+ # Search the same directories that the installed compiler will
+ # search. Else we may find the wrong assembler and lose. If we
+ # do not find a suitable assembler binary, then try the user's
+ # path.
+ #
+ # Also note we have to check MD_EXEC_PREFIX before checking the
+ # user's path. Unfortunately, there is no good way to get at the
+ # value of MD_EXEC_PREFIX here. So we do a brute force search
+ # through all the known MD_EXEC_PREFIX values. Ugh. This needs
+ # to be fixed as part of the make/configure rewrite too.
+
+ if test "x$exec_prefix" = xNONE; then
+ if test "x$prefix" = xNONE; then
+ test_prefix=/usr/local
+ else
+ test_prefix=$prefix
+ fi
+ else
+ test_prefix=$exec_prefix
+ fi
+
+ # If the loop below does not find an assembler, then use whatever
+ # one we can find in the users's path.
+ # user's path.
+ as=as$host_exeext
+
+ test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
+ $test_prefix/lib/gcc-lib/$target \
+ /usr/lib/gcc/$target/$gcc_version \
+ /usr/lib/gcc/$target \
+ $test_prefix/$target/bin/$target/$gcc_version \
+ $test_prefix/$target/bin \
+ /usr/libexec \
+ /usr/ccs/gcc \
+ /usr/ccs/bin \
+ /udk/usr/ccs/bin \
+ /bsd43/usr/lib/cmplrs/cc \
+ /usr/cross64/usr/bin \
+ /usr/lib/cmplrs/cc \
+ /sysv/usr/lib/cmplrs/cc \
+ /svr4/usr/lib/cmplrs/cc \
+ /usr/bin"
+
+ for dir in $test_dirs; do
+ if test -f $dir/as$host_exeext; then
+ gcc_cv_as=$dir/as$host_exeext
+ break;
+ fi
+ done
fi
if test x$gcc_cv_as != x; then
# Check if we have .balign and .p2align
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index aa7c6525a54..59383dc9a95 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,417 @@
+Fri Jun 9 17:55:08 2000 Jeffrey A Law (law@cygnus.com)
+
+ 2000-02-07 <loewis@informatik.hu-berlin.de>
+ * decl2.c (import_export_decl): vlist ctor wrappers follow virtual
+ methods in their interface.
+ (vlist_ctor_wrapper_p): new function.
+ (finish_vlist_ctor_wrapper): likewise.
+
+ 2000-02-06 <loewis@informatik.hu-berlin.de>
+ * decl2.c (maybe_retrofit_in_chrg): Move call to
+ make_vlist_ctor_wrapper from here ...
+ * decl.c (grok_ctor_properties): ... to here.
+ * decl.c (grokfndecl): ... and here.
+ * init.c (no_vlist_base_init): Declare unseen Vlist ctor weak.
+ * decl2.c (maybe_retrofit_in_chrg): Be sorry about varargs ctors.
+
+2000-03-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * exception.cc (__cp_pop_exception): Cleanup the original object.
+
+1999-11-13 Jason Merrill <jason@yorick.cygnus.com>
+
+ * rtti.c (get_tinfo_fn_unused): Split out from get_tinfo_fn.
+ * class.c (set_rtti_entry): Use it.
+
+Wed Apr 12 00:45:49 2000 Jeffrey A Law (law@cygnus.com)
+
+ 2000-02-03 <loewis@informatik.hu-berlin.de>
+ * call.c (add_function_candidate): Do not add vlist ctor into
+ candidates in compatibility mode.
+ (build_user_type_conversion_1): Add LOOKUP_HAS_VLIST when adding
+ vlist.
+ (convert_like): Likewise.
+ (build_over_call): Skip vlist only if it is mentioned in flags.
+ (build_new_method_call): Do not add vlist in compatibility mode,
+ except for dtors.
+ * cp-tree.h (flag_vtable_thunks): Has now four possible values.
+ (DECL_VLIST_CTOR_WRAPPER_P, DECL_VLIST_CTOR_WRAPPED): New macros.
+ (in_charge_identifier): Declare external.
+ * decl.c (xref_basetypes): Check for vtable_thunks >=2.
+ (finish_dtor): Use bit 2 of in_chrg.
+ (finish_function): Do not finish vlist ctor wrappers.
+ * decl2.c (flag_vtable_thunks_compat): New variable.
+ (lang_decode_option): Set it accordingly.
+ (maybe_retrofit_in_chrg): Call make_vlist_ctor_wrapper.
+ * init.c (build_base_dtor_call): Pass 4 in in_chrg.
+ (no_vlist_base_init): New function.
+ (expand_default_init): Do not pass vlist in compatibility mode.
+ Try to call old base ctor if new one was not generated.
+ (build_new_1): Do not pass vlist in compatibility mode.
+ * method.c (get_id_2): Do not put _Vlist into dtor name in
+ compatibility mode.
+ (make_vlist_ctor_wrapper, emit_vlist_ctor_wrapper): New functions.
+ (synthesize_method): Call emit_vlist_ctor_wrapper.
+ * pt.c (instantiate_class_template): Check for vtable_thunks >=2.
+
+ Sat Nov 13 15:48:59 1999 H.J. Lu <hjl@gnu.org>
+ * init.c (finish_dtor): Call mark_all_temps_used () before
+ declaring vlist.
+
+ Tue Nov 9 15:01:57 1999 H.J. Lu <hjl@gnu.org>
+ * init.c (construct_virtual_bases): Update.
+ (expand_cleanup_for_base): Update.
+
+ Tue Nov 9 08:25:04 1999 H.J. Lu <hjl@gnu.org>
+ * init.c (construct_virtual_bases): Update.
+ (expand_cleanup_for_base): Take vlist parameter.
+ (emit_base_init): Pass vlist to expand_cleanup_for_base.
+ (construct_virtual_bases): Likewise.
+
+ 1999-05-02 Martin von Löwis <loewis@informatik.hu-berlin.de>
+ * class.c (prepare_ctor_vtable, finish_one_ctor_vtable,
+ prepend_ctor_vfields_for_vbase, finish_ctor_vtables_for_vbases,
+ finish_ctor_vtables_1, prepend_vbase_vfields,
+ finish_ctor_vtables): New functions.
+ (finish_struct_1): Call finish_ctor_vtables.
+ * cp-tree.h (TYPE_USES_PVBASES): New macro.
+ (constructor_for_vbase_attr): Widen to two bits.
+ (CONSTRUCTOR_FOR_VBASE, CONSTRUCTOR_FOR_PVBASE,
+ DESTRUCTOR_FOR_PVBASE): New macros.
+ (DECL_CONSTRUCTOR_FOR_VBASE_P): Adopt to new enumeration.
+ (DECL_CONSTRUCTOR_FOR_VBASE): New macro.
+ (DECL_CONSTRUCTOR_FOR_PVBASE_P, DECL_DESTRUCTOR_FOR_PVBASE_P): New
+ macros.
+ (vlist_identifier, vlist_type_node, vlist_zero_node): Declare.
+ (VCTABLE_NAME, VLIST_NAME_FORMAT, VLIST_NAME, VLIST1_NAME,
+ VLIST_TYPE_NAME): New macros.
+ (LOOKUP_HAS_VLIST): New macro.
+ (build_base_dtor_call, init_vlist): Declare.
+ (build_destructor_name): Add int argument.
+ * decl.c (vlist_identifier, vlist_type_node, vlist_zero_node):
+ Define.
+ (init_decl_processing): Initialize them.
+ (grokdeclarator): Handle vlist argument.
+ (copy_args_p): Likewise.
+ (grok_ctor_properties): Don't try to skip initial int for
+ templates. Skip vlist if available.
+ (xref_basetypes): Set TYPE_USES_PVBASES.
+ (finish_dtor, finish_ctor): New functions, moved out of ...
+ (finish_function): ... here.
+ * decl2.c (lang_decode_option): Set flag_vtable_thunks explicitly.
+ (maybe_retrofit_in_chrg): Retrofit __vlist parameter.
+ (grokclassfn): Pass pvbase flag into mangled name.
+ * init.c (build_base_dtor_call): New function.
+ (build_partial_cleanup_for): Call it.
+ (pvbasecount, init_vlist, ): New functions.
+ (emit_base_init): Process vlist argument.
+ (expand_aggr_vbase_init_1): Likewise.
+ (expand_aggr_vbase_init): Likewise.
+ (expand_default_init): Likewise.
+ (build_new_1): Pass null vlist argument.
+ (build_delete): Likewise. Call build_base_dtor_call.
+ * method.c (process_overload_item): Mangle _Vlist specially.
+ (build_base_path, get_vlist_vtable_id): New functions.
+ (build_destructor_name): Potentially mangle _Vlist into it.
+ (do_build_copy_constructor): Skip vlist argument.
+ (synthesize_method): Likewise.
+ * pt.c (has_pvbases_p): New function.
+ (instantiate_class_template): Call it.
+ (tsubst_decl): Retrofit before mangling. Pass pvbase_p to
+ destructor mangling.
+ * search.c (expand_direct_vtbls_init_thunks): New function.
+ (expand_indirect_vtbls_init_thunks): New function.
+ (expand_indirect_vtbls_init): Call it.
+ * call.c (add_function_candidate): Process vlist argument.
+ (build_user_type_conversion_1): Add vlist argument.
+ (convert_like): Likewise.
+ (build_over_call): Likewise.
+ (build_new_method_call): Likewise.
+
+2000-02-18 Martin von Loewis <loewis@informatik.hu-berlin.de>
+
+ * typeck2.c (my_friendly_abort): Use GCCBUGURL.
+
+1999-11-01 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl2.c (maybe_make_one_only): Always make things comdat on
+ ELF targets, too.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+1999-09-06 Mark Mitchell <mark@codesourcery.com>
+
+ * pt.c (tsubst): Back out 1999-08-06 patch. Use fold and
+ decl_constant_value to simplify array bounds.
+
+1999-08-19 Jason Merrill <jason@yorick.cygnus.com>
+
+ * cp-tree.h: Declare flag_use_repository.
+ * pt.c (do_decl_instantiation): Don't complain about duplicate
+ instantiation with -frepo.
+ (do_type_instantiation): Likewise.
+
+1999-08-14 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl2.c (lookup_arg_dependent): Note that we've already checked
+ the current namespace.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+1999-08-12 Mark Mitchell <mark@codesourcery.com>
+
+ * decl2.c (lang_decode_option): Deprecate signatures.
+
+1999-08-11 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
+
+ * lex.c (do_identifier): If we find a hidden type after a global
+ was selected already, continue using the global.
+
+1999-08-10 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
+
+ * decl2.c (set_decl_namespace): Do not complain about non-matching
+ decls if processing a template.
+
+1999-08-09 Jason Merrill <jason@yorick.cygnus.com>
+
+ * parse.y (function_try_block): Call end_protect_partials
+ before expand_start_all_catch.
+
+1999-08-06 Jason Merrill <jason@yorick.cygnus.com>
+
+ * pt.c (maybe_get_template_decl_from_type_decl): Make sure that
+ we're looking at a class.
+
+ * decl.c (lookup_name_real): Set the complain flag if we're
+ looking for a namespace member.
+
+ * decl.c (pushdecl): Only give an error for shadowing a parm
+ from *this* function.
+
+ * decl2.c (build_expr_from_tree, case METHOD_CALL_EXPR): Only
+ build_expr_from_tree on the args of a TEMPLATE_ID_EXPR.
+
+ * class.c (mark_overriders): Fix order of args to overrides.
+ (warn_hidden): Likewise. Fix for having virtual and non-virtual
+ functions with the same name.
+
+ * cp-tree.h (DECL_VIRTUAL_CONTEXT): New macro.
+ * typeck.c (expand_ptrmemfunc_cst): Calculate delta correctly for
+ virtual functions and MI. Simplify.
+
+ * typeck.c (c_expand_return): Downgrade pedwarn about returning NULL
+ from op new to warning.
+
+ * decl2.c (reparse_absdcl_as_casts): Don't warn about old-style
+ casts in system headers or extern "C" blocks.
+
+ * pt.c (do_decl_instantiation): Downgrade duplicate instantiation
+ errors to pedwarn.
+
+ * error.c (dump_type_real): Handle TREE_LIST again.
+
+ * typeck.c (comp_target_parms): Don't complain about
+ converting from () to (...) if !flag_strict_prototype.
+
+ * class.c (instantiate_type): Downgrade errors for object-dependent
+ memfn refs to pedwarn.
+
+1999-08-06 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * pt.c (tsubst): Use build_index_type to build in-template array
+ index type. Fixes g++.oliva/dwarf1.C.
+ * decl.c (grokdeclarator): Likewise, just for consistency, as it
+ doesn't seem to trigger the bug without it.
+
+Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ * typeck2.c: Update URLs and mail addresses.
+
+1999-08-03 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * decl.c (start_decl): Set attributes before duplicate_decls call.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 15:24:21 1999 Jeffrey A Law (law@cygnus.com)
+
+ * g++FAQ.texi: Deleted per Joe Buck's request.
+ * Makefile.in: Corresponding changes.
+
+Sat Jul 17 23:50:47 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (INTERFACE): Bump to 2.
+
+1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * typeck2.c (my_friendly_abort): Updated URL with bug reporting
+ instructions to gcc.gnu.org. Removed e-mail address.
+
+1999-07-15 Mark Mitchell <mark@codesourcery.com>
+
+ * pt.c (check_default_tmpl_args): Handle friends defined in the
+ class just like member functions defined in the class.
+
+Thu Jul 15 01:26:49 1999 H.J. Lu <hjl@gnu.org>
+
+ * decl.c (duplicate_decls): Relax restriction for exception
+ checks on duplicate symbols.
+
+1999-07-07 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl.c (grokdeclarator): Update the names of all variants when
+ de-anonymizing.
+
+Wed Jul 7 01:26:47 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * decl2.c (mark_vtable_entries): Fix check for rtti offset.
+
+1999-06-26 Richard Henderson <rth@cygnus.com>
+
+ * decl.c (cp_finish_decl): Fix typo in cp_warning_at call.
+
+1999-06-21 Mark Mitchell <mark@codesourcery.com>
+
+ * init.c (expand_aggr_vbase_init): Rename to
+ construct_virtual_bases. Conditionalize construction here,
+ rather than ...
+ (emit_base_init): Here.
+
+1999-06-19 Mark Mitchell <mark@codesourcery.com>
+
+ * semantics.c (finish_asm_statement): Apply decay conversions to
+ input operands.
+
+ * decl.c (expand_static_init): When building an anonymous function
+ for use with atexit, compute its body before and after entering
+ the function.
+
+1999-06-18 Mark Mitchell <mark@codesourcery.com>
+
+ * init.c (expand_aggr_vbase_init): Add flag parameter.
+ (build_partial_cleanup_for): Remove, inlining into ..
+ (expand_cleanup_for_base): ... here. Take flag parameter.
+ (emit_base_init): Pass the in_chrg parameter to
+ emit_aggr_vbase_init.
+ (emit_aggr_vbase_init): Pass it to expand_cleanup_for_base.
+
+1999-06-16 Mark Mitchell <mark@codesourcery.com>
+
+ * decl2.c (import_export_decl): Use same_type_p, rather than
+ relying on pointer-equality for types.
+
+ * method.c (do_build_copy_constructor): Simplify.
+
+ * call.c (build_method_call): Remove bogus code for two-argument
+ delete.
+ * init.c (build_new_1): Expand on comment, and remove dead code.
+
+ * init.c (expand_cleanup_for_base): New function, split out
+ from ...
+ (emit_base_init): Here.
+ (expand_aggr_vbase_init): Use it.
+
+1999-06-15 Mark Mitchell <mark@codesourcery.com>
+
+ * cp-tree.h (class_cache_firstobj): Declare.
+ (maybe_push_cache_obstack): Rename to push_cache_obstack.
+ * class.c (permanent_obstack): Remove declaration.
+ (class_cache_firstobj): Make it global.
+ (add_method): Don't use permanent_obstack directly.
+ (pushclass): Only free the class_cache_obstack if we know how far
+ back to free it.
+ (maybe_push_cache_obstack): Rename to push_cache_obstack.
+ * decl.c: Remove dead comment.
+ (saved_scope): Add class_cache_firstobj.
+ (push_to_top_level): Save it.
+ (pop_from_top_level): Restore it.
+ (push_class_level_binding): Use push_cache_obstack, not
+ maybe_push_cache_obstack.
+ * search.c (push_class_decls): Likewise.
+
+1999-06-14 Nathan Sidwell <nathan@acm.org>
+
+ * call.c (build_new_op): Remove REF_BIND from all operands.
+
+1999-06-07 Mark Mitchell <mark@codesourcery.com>
+
+ * search.c (convert_pointer_to_single_level): Reimplement without
+ using get_binfo.
+
+1999-06-06 Mark Mitchell <mark@codesourcery.com>
+
+ * method.c (is_back_referenceable_type): Back-reference bools when
+ not squangling.
+
+1999-06-04 Jason Merrill <jason@yorick.cygnus.com>
+
+ * semantics.c (finish_if_stmt_cond): Copy cond to permanent_obstack.
+ (finish_while_stmt_cond, finish_do_stmt, finish_for_cond): Likewise.
+
+1999-05-30 Mark Mitchell <mark@codesourcery.com>
+
+ * lex.c (make_lang_type): Create TYPE_BINFO for
+ TEMPLATE_TYPE_PARMs just like for non-template types.
+
+1999-05-28 Nathan Sidwell <nathan@acm.org>
+
+ * decl.c (complete_array_type): Allocate off same obstack. Fix
+ DO_DEFAULT comment to match reality.
+
+1999-05-22 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.c (mapcar): Handle NON_LVALUE_EXPR.
+
+1999-05-21 Mark Mitchell <mark@codesourcery.com>
+
+ * typeck.c (build_ptrmemfunc): Handle PTRMEM_CSTs carefully to
+ reveal optimization opportunities.
+
+1999-05-20 Mark Mitchell <mark@codesourcery.com>
+
+ * decl.c (grokdeclarator): Don't treat [] as indicating a
+ zero-sized array in a typedef.
+
+ * call.c (build_object_call): Don't look at DECL_NAME for a type.
+ (pt.c): Or CP_TYPE_QUALS for an ERROR_MARK.
+ (typeck.c): Or TYPE_MAIN_VARIANT for a type.
+
+1999-05-20 Jason Merrill <jason@yorick.cygnus.com>
+
+ * tree.c (lvalue_p_1): A NOP_EXPR can be an lvalue.
+ (build_cplus_new): Make sure that what we return is of the right type.
+
+1999-05-20 Mark Mitchell <mark@codesourcery.com>
+
+ * cp-tree.h (make_ptrmem_cst): New function.
+ * expr.c (cplus_expand_constant): Split out from ...
+ (cplus_expand_expr): Here. Use cplus_expand_constant.
+ (init_cplus_expand): Set lang_expand_constant.
+ * pt.c (convert_nontype_argument): Use make_ptrmem_cst.
+ * tree.c (make_ptrmem_cst): Define.
+ * typeck.c (unary_complex_lvalue): Use make_ptrmem_cst.
+ * typeck2.c (initializer_constant_valid_p): Use make_ptrmem_cst.
+
+1999-05-19 Mark Mitchell <mark@codesourcery.com>
+
+ * decl2.c (start_static_storage_duration_function): Fix comment.
+ (finish_file): Create static storage duration functions lazily.
+
+Wed May 19 02:50:53 1999 Arvind Sankar <arvinds@mit.edu>
+
+ * gxxint.texi: Fix typo.
+
+1999-05-18 Jason Merrill <jason@yorick.cygnus.com>
+
+ * call.c (joust): Compare the types of the conv ops, not the
+ target types of the conversions.
+
Tue May 18 00:21:34 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
* lang-specs.h: Define __GNUC__ and __GNUC_MINOR__ only if -no-gcc
diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in
index 616525c29cf..1a5b32c40c8 100644
--- a/gcc/cp/Makefile.in
+++ b/gcc/cp/Makefile.in
@@ -36,7 +36,7 @@
# It defines the c++ interface name. It should be changed when the
# c++ interface is changed.
-INTERFACE = 1
+INTERFACE = 2
# Variables that exist for you to override.
# See below for how to change them for certain systems.
@@ -322,32 +322,3 @@ TAGS: force
.PHONY: TAGS
force:
-
-g++FAQ.info: $(srcdir)/g++FAQ.texi
- $(MAKEINFO) --no-split -o ./g++FAQ.info $(srcdir)/g++FAQ.texi
-
-# Preprocess the texi file so that the final document will have
-# hyperlinks.
-# It would be nice if texi2html could do something like this itself.
-
-# Assumption 1: the FAQ puts all http: and ftp: links in a @file{...}.
-# Assumption 2: newsgroups are like @file{comp.foo}
-# Assumption 3: email addresses match the regexp shown.
-
-g++FAQ.html: $(srcdir)/g++FAQ.texi
- mkdir work
- sed -e 's?@file{\([fth]*p://[^}]*\)}?@strong{<A HREF="\1">\1</A>}?' \
- -e 's?@file{\(comp\.[-a-z+.]*\)}?<A HREF="news:\1">\1</A>?' \
- -e 's?@file{\(gnu\.[-a-z+.]*\)}?<A HREF="news:\1">\1</A>?' \
- -e 's?\([.+a-zA-Z0-9-]*@@[.a-zA-Z0-9-]*[a-zA-Z0-9]\)?<A HREF="mailto:\1">\1</A>?' \
- $(srcdir)/g++FAQ.texi > work/g++FAQ.texi
- cd work; texi2html g++FAQ.texi
- mv work/*.html .
- rm -r work
-
-# Make plain-text form.
-
-g++FAQ.txt: $(srcdir)/g++FAQ.texi
- $(MAKEINFO) --no-split --no-headers -o - $(srcdir)/g++FAQ.texi |\
- sed '/^Concept Index/,$$d' > g++FAQ.txt
-
diff --git a/gcc/cp/NEWS b/gcc/cp/NEWS
index 0cdcc229a4e..1a242abcf41 100644
--- a/gcc/cp/NEWS
+++ b/gcc/cp/NEWS
@@ -1,9 +1,39 @@
-*** Changes since EGCS 1.1:
+*** Changes in GCC 2.95:
* Messages about non-conformant code that we can still handle ("pedwarns")
are now errors by default, rather than warnings. This can be reverted
with -fpermissive, and is overridden by -pedantic or -pedantic-errors.
+* String constants are now of type `const char[n]', rather than `char[n]'.
+ This can be reverted with -fno-const-strings.
+
+* References to functions are now supported.
+
+* Lookup of class members during class definition now works in all cases.
+
+* In overload resolution, type conversion operators are now properly
+ treated as always coming from the most derived class.
+
+* C9x-style restricted pointers are supported, using the `__restrict'
+ keyword.
+
+* You can now use -fno-implicit-inline-templates to suppress writing out
+ implicit instantiations of inline templates. Normally we do write them
+ out, even with -fno-implicit-templates, so that optimization doesn't
+ affect which instantiations are needed.
+
+* -fstrict-prototype now also suppresses implicit declarations.
+
+* Many obsolete options have been removed: -fall-virtual, -fmemoize-lookups,
+ -fsave-memoized, +e?, -fenum-int-equivalence, -fno-nonnull-objects.
+
+* Unused virtual functions can be discarded on some targets by specifying
+ -ffunction-sections -fvtable-gc to the compiler and --gc-sections to the
+ linker. Unfortunately, this only works on Linux if you're linking
+ statically.
+
+* Lots of bugs stomped.
+
*** Changes in EGCS 1.1:
* Namespaces are fully supported. The library has not yet been converted
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 496cf91e17e..a931500d2d8 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -599,29 +599,6 @@ build_method_call (instance, name, parms, basetype_path, flags)
return build_min_nt (METHOD_CALL_EXPR, name, instance, parms, NULL_TREE);
}
- /* This is the logic that magically deletes the second argument to
- operator delete, if it is not needed. */
- if (name == ansi_opname[(int) DELETE_EXPR] && list_length (parms)==2)
- {
- tree save_last = TREE_CHAIN (parms);
-
- /* get rid of unneeded argument */
- TREE_CHAIN (parms) = NULL_TREE;
- if (build_method_call (instance, name, parms, basetype_path,
- (LOOKUP_SPECULATIVELY|flags) & ~LOOKUP_COMPLAIN))
- {
- /* If it finds a match, return it. */
- return build_method_call (instance, name, parms, basetype_path, flags);
- }
- /* If it doesn't work, two argument delete must work */
- TREE_CHAIN (parms) = save_last;
- }
- /* We already know whether it's needed or not for vec delete. */
- else if (name == ansi_opname[(int) VEC_DELETE_EXPR]
- && TYPE_LANG_SPECIFIC (TREE_TYPE (instance))
- && ! TYPE_VEC_DELETE_TAKES_SIZE (TREE_TYPE (instance)))
- TREE_CHAIN (parms) = NULL_TREE;
-
if (TREE_CODE (name) == BIT_NOT_EXPR)
{
if (parms)
@@ -1088,8 +1065,8 @@ add_function_candidate (candidates, fn, arglist, flags)
tree parmnode, argnode;
int viable = 1;
- /* The `this' and `in_chrg' arguments to constructors are not considered
- in overload resolution. */
+ /* The `this', `in_chrg', and `vlist' arguments to constructors are
+ not considered in overload resolution. */
if (DECL_CONSTRUCTOR_P (fn))
{
parmlist = TREE_CHAIN (parmlist);
@@ -1099,6 +1076,22 @@ add_function_candidate (candidates, fn, arglist, flags)
parmlist = TREE_CHAIN (parmlist);
arglist = TREE_CHAIN (arglist);
}
+ if ((flags & LOOKUP_HAS_VLIST)
+ && DECL_CONSTRUCTOR_FOR_PVBASE_P (fn))
+ {
+ parmlist = TREE_CHAIN (parmlist);
+ arglist = TREE_CHAIN (arglist);
+ }
+ else if (!(flags & LOOKUP_HAS_VLIST)
+ && !DECL_CONSTRUCTOR_FOR_PVBASE_P (fn))
+ /* Ok */;
+ else
+ {
+ /* The ctor expects a vlist and the arguments don't have
+ one, or vice versa, so fn is not even a candidate, since
+ the corresponding ctor would be the candidate. */
+ return candidates;
+ }
}
len = list_length (arglist);
@@ -2094,6 +2087,11 @@ build_user_type_conversion_1 (totype, expr, flags)
tree t = build_int_2 (0, 0);
TREE_TYPE (t) = build_pointer_type (totype);
args = build_scratch_list (NULL_TREE, expr);
+ if (TYPE_USES_PVBASES (totype) && !flag_vtable_thunks_compat)
+ {
+ args = scratch_tree_cons (NULL_TREE, vlist_zero_node, args);
+ flags |= LOOKUP_HAS_VLIST;
+ }
if (TYPE_USES_VIRTUAL_BASECLASSES (totype))
args = scratch_tree_cons (NULL_TREE, integer_one_node, args);
args = scratch_tree_cons (NULL_TREE, t, args);
@@ -2461,7 +2459,11 @@ build_object_call (obj, args)
return error_mark_node;
}
- if (DECL_NAME (cand->fn) == ansi_opname [CALL_EXPR])
+ /* Since cand->fn will be a type, not a function, for a conversion
+ function, we must be careful not to unconditionally look at
+ DECL_NAME here. */
+ if (TREE_CODE (cand->fn) == FUNCTION_DECL
+ && DECL_NAME (cand->fn) == ansi_opname [CALL_EXPR])
return build_over_call (cand, mem_args, LOOKUP_NORMAL);
obj = convert_like (TREE_VEC_ELT (cand->convs, 0), obj);
@@ -2776,9 +2778,19 @@ build_new_op (code, flags, arg1, arg2, arg3)
conv = TREE_OPERAND (conv, 0);
arg1 = convert_like (conv, arg1);
if (arg2)
- arg2 = convert_like (TREE_VEC_ELT (cand->convs, 1), arg2);
+ {
+ conv = TREE_VEC_ELT (cand->convs, 1);
+ if (TREE_CODE (conv) == REF_BIND)
+ conv = TREE_OPERAND (conv, 0);
+ arg2 = convert_like (conv, arg2);
+ }
if (arg3)
- arg3 = convert_like (TREE_VEC_ELT (cand->convs, 2), arg3);
+ {
+ conv = TREE_VEC_ELT (cand->convs, 2);
+ if (TREE_CODE (conv) == REF_BIND)
+ conv = TREE_OPERAND (conv, 0);
+ arg3 = convert_like (conv, arg3);
+ }
builtin:
switch (code)
@@ -3047,6 +3059,7 @@ convert_like (convs, expr)
= WRAPPER_PTR (TREE_OPERAND (convs, 1));
tree fn = cand->fn;
tree args;
+ int flags = LOOKUP_NORMAL;
if (DECL_CONSTRUCTOR_P (fn))
{
@@ -3054,13 +3067,19 @@ convert_like (convs, expr)
TREE_TYPE (t) = build_pointer_type (DECL_CONTEXT (fn));
args = build_scratch_list (NULL_TREE, expr);
+ if (TYPE_USES_PVBASES (DECL_CONTEXT (fn))
+ && !flag_vtable_thunks_compat)
+ {
+ args = scratch_tree_cons (NULL_TREE, vlist_zero_node, args);
+ flags != LOOKUP_HAS_VLIST;
+ }
if (TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (fn)))
args = scratch_tree_cons (NULL_TREE, integer_one_node, args);
args = scratch_tree_cons (NULL_TREE, t, args);
}
else
args = build_this (expr);
- expr = build_over_call (cand, args, LOOKUP_NORMAL);
+ expr = build_over_call (cand, args, flags);
/* If this is a constructor or a function returning an aggr type,
we need to build up a TARGET_EXPR. */
@@ -3269,6 +3288,13 @@ build_over_call (cand, args, flags)
arg = TREE_CHAIN (arg);
parm = TREE_CHAIN (parm);
}
+ if (flags & LOOKUP_HAS_VLIST)
+ {
+ converted_args = expr_tree_cons
+ (NULL_TREE, TREE_VALUE (arg), converted_args);
+ arg = TREE_CHAIN (arg);
+ parm = TREE_CHAIN (parm);
+ }
}
/* Bypass access control for 'this' parameter. */
else if (TREE_CODE (TREE_TYPE (fn)) == METHOD_TYPE)
@@ -3378,6 +3404,8 @@ build_over_call (cand, args, flags)
arg = TREE_CHAIN (converted_args);
if (TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (fn)))
arg = TREE_CHAIN (arg);
+ if (flags & LOOKUP_HAS_VLIST)
+ arg = TREE_CHAIN (arg);
arg = TREE_VALUE (arg);
/* Pull out the real argument, disregarding const-correctness. */
@@ -3553,6 +3581,8 @@ build_new_method_call (instance, name, args, basetype_path, flags)
remove it for error reporting. */
if (flags & LOOKUP_HAS_IN_CHARGE)
user_args = TREE_CHAIN (args);
+ if (flags & LOOKUP_HAS_VLIST)
+ user_args = TREE_CHAIN (user_args);
args = resolve_args (args);
@@ -3625,6 +3655,12 @@ build_new_method_call (instance, name, args, basetype_path, flags)
if (name == ctor_identifier && TYPE_USES_VIRTUAL_BASECLASSES (basetype)
&& ! (flags & LOOKUP_HAS_IN_CHARGE))
{
+ if (TYPE_USES_PVBASES(basetype)
+ && (!flag_vtable_thunks_compat || (name == dtor_identifier)))
+ {
+ args = scratch_tree_cons (NULL_TREE, vlist_zero_node, args);
+ flags |= LOOKUP_HAS_VLIST;
+ }
flags |= LOOKUP_HAS_IN_CHARGE;
args = scratch_tree_cons (NULL_TREE, integer_one_node, args);
}
@@ -4341,8 +4377,8 @@ joust (cand1, cand2, warn)
!= DECL_CONSTRUCTOR_P (cand2->fn))
/* Don't warn if the two conv ops convert to the same type... */
|| (! DECL_CONSTRUCTOR_P (cand1->fn)
- && ! same_type_p (TREE_TYPE (cand1->second_conv),
- TREE_TYPE (cand2->second_conv)))))
+ && ! same_type_p (TREE_TYPE (TREE_TYPE (cand1->fn)),
+ TREE_TYPE (TREE_TYPE (cand2->fn))))))
{
int comp = compare_ics (cand1->second_conv, cand2->second_conv);
if (comp != winner)
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index f7998c1c976..74808c56f35 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -36,8 +36,6 @@ Boston, MA 02111-1307, USA. */
#define obstack_chunk_alloc xmalloc
#define obstack_chunk_free free
-extern struct obstack permanent_obstack;
-
/* This is how we tell when two virtual member functions are really the
same. */
#define SAME_FN(FN1DECL, FN2DECL) (DECL_ASSEMBLER_NAME (FN1DECL) == DECL_ASSEMBLER_NAME (FN2DECL))
@@ -90,7 +88,7 @@ tree previous_class_values; /* TREE_LIST: copy of the class_shadowed list
static struct obstack class_cache_obstack;
/* The first object allocated on that obstack. We can use
obstack_free with tis value to free the entire obstack. */
-static char *class_cache_firstobj;
+char *class_cache_firstobj;
struct base_info;
@@ -104,8 +102,15 @@ static tree get_basefndecls PROTO((tree, tree));
static void set_rtti_entry PROTO((tree, tree, tree));
static tree build_vtable PROTO((tree, tree));
static void prepare_fresh_vtable PROTO((tree, tree));
+static tree prepare_ctor_vtable PROTO((tree, tree, tree));
static void fixup_vtable_deltas1 PROTO((tree, tree));
static void fixup_vtable_deltas PROTO((tree, int, tree));
+static tree finish_one_ctor_vtable PROTO((tree, tree, tree, tree));
+static tree prepend_ctor_vfields_for_vbase PROTO((tree, tree, tree, tree, int, tree));
+static tree finish_ctor_vtables_for_vbases PROTO((tree, tree, tree));
+static tree finish_ctor_vtables_1 PROTO((tree, tree));
+static tree prepend_vbase_vfields PROTO((tree, int, tree));
+static void finish_ctor_vtables PROTO((tree));
static void finish_vtbls PROTO((tree, int, tree));
static void modify_vtable_entry PROTO((tree, tree, tree));
static tree get_vtable_entry_n PROTO((tree, unsigned HOST_WIDE_INT));
@@ -675,7 +680,7 @@ set_rtti_entry (virtuals, offset, type)
return;
if (flag_rtti)
- vfn = build1 (ADDR_EXPR, vfunc_ptr_type_node, get_tinfo_fn (type));
+ vfn = build1 (ADDR_EXPR, vfunc_ptr_type_node, get_tinfo_fn_unused (type));
else
vfn = build1 (NOP_EXPR, vfunc_ptr_type_node, size_zero_node);
TREE_CONSTANT (vfn) = 1;
@@ -924,6 +929,43 @@ prepare_fresh_vtable (binfo, for_type)
SET_BINFO_NEW_VTABLE_MARKED (binfo);
}
+/* Return a new vtable for use in initialization of the BASE subobject
+ of COMPLETE_TYPE. The vtable there goes into the vfield of the
+ VBASEBASE virtual subobject. */
+
+static tree
+prepare_ctor_vtable (complete_type, base, vbasebase)
+ tree complete_type, base, vbasebase;
+{
+ tree orig_decl = BINFO_VTABLE (vbasebase);
+ tree name = get_vlist_vtable_id (base, vbasebase);
+ tree new_decl;
+
+ new_decl = build_lang_decl (VAR_DECL, name, TREE_TYPE (orig_decl));
+ /* Remember which class this vtable is really for. */
+ DECL_CONTEXT (new_decl) = complete_type;
+
+ DECL_ARTIFICIAL (new_decl) = 1;
+ TREE_STATIC (new_decl) = 1;
+ new_decl = pushdecl_top_level (new_decl);
+ DECL_VIRTUAL_P (new_decl) = 1;
+#ifndef WRITABLE_VTABLES
+ /* Make them READONLY by default. (mrs) */
+ TREE_READONLY (new_decl) = 1;
+#endif
+ DECL_ALIGN (new_decl) = DECL_ALIGN (orig_decl);
+
+#ifdef GATHER_STATISTICS
+ n_vtables += 1;
+ n_vtable_elems += list_length (BINFO_VIRTUALS (binfo));
+#endif
+
+ /* Set TREE_PUBLIC and TREE_EXTERN as appropriate. */
+ import_export_vtable (new_decl, complete_type, 0);
+
+ return new_decl;
+}
+
#if 0
/* Access the virtual function table entry that logically
contains BASE_FNDECL. VIRTUALS is the virtual function table's
@@ -1136,7 +1178,8 @@ void
add_method (type, fields, method)
tree type, *fields, method;
{
- push_obstacks (&permanent_obstack, &permanent_obstack);
+ push_obstacks_nochange ();
+ end_temporary_allocation ();
/* Setting the DECL_CONTEXT and DECL_CLASS_CONTEXT here is probably
redundant. */
@@ -1799,6 +1842,7 @@ finish_struct_bits (t, max_has_virtual)
TYPE_USES_COMPLEX_INHERITANCE (variants) = TYPE_USES_COMPLEX_INHERITANCE (t);
TYPE_VIRTUAL_P (variants) = TYPE_VIRTUAL_P (t);
TYPE_USES_VIRTUAL_BASECLASSES (variants) = TYPE_USES_VIRTUAL_BASECLASSES (t);
+ TYPE_USES_PVBASES (variants) = TYPE_USES_PVBASES (t);
/* Copy whatever these are holding today. */
TYPE_MIN_VALUE (variants) = TYPE_MIN_VALUE (t);
TYPE_MAX_VALUE (variants) = TYPE_MAX_VALUE (t);
@@ -2786,18 +2830,18 @@ get_basefndecls (fndecl, t)
/* Mark the functions that have been hidden with their overriders.
Since we start out with all functions already marked with a hider,
- no need to mark functions that are just hidden. */
+ no need to mark functions that are just hidden.
+
+ Subroutine of warn_hidden. */
static void
mark_overriders (fndecl, base_fndecls)
tree fndecl, base_fndecls;
{
- while (base_fndecls)
+ for (; base_fndecls; base_fndecls = TREE_CHAIN (base_fndecls))
{
- if (overrides (TREE_VALUE (base_fndecls), fndecl))
+ if (overrides (fndecl, TREE_VALUE (base_fndecls)))
TREE_PURPOSE (base_fndecls) = fndecl;
-
- base_fndecls = TREE_CHAIN (base_fndecls);
}
}
@@ -2885,8 +2929,15 @@ warn_hidden (t)
tree binfos = BINFO_BASETYPES (TYPE_BINFO (t));
int i, n_baseclasses = binfos ? TREE_VEC_LENGTH (binfos) : 0;
- fndecl = OVL_CURRENT (fns);
- if (DECL_VINDEX (fndecl) == NULL_TREE)
+ /* First see if we have any virtual functions in this batch. */
+ for (; fns; fns = OVL_NEXT (fns))
+ {
+ fndecl = OVL_CURRENT (fns);
+ if (DECL_VINDEX (fndecl))
+ break;
+ }
+
+ if (fns == NULL_TREE)
continue;
/* First we get a list of all possible functions that might be
@@ -2901,42 +2952,335 @@ warn_hidden (t)
}
fns = OVL_NEXT (fns);
- if (fns)
- fndecl = OVL_CURRENT (fns);
- else
- fndecl = NULL_TREE;
/* ...then mark up all the base functions with overriders, preferring
overriders to hiders. */
if (base_fndecls)
- while (fndecl)
+ for (; fns; fns = OVL_NEXT (fns))
{
- mark_overriders (fndecl, base_fndecls);
-
- fns = OVL_NEXT (fns);
- if (fns)
- fndecl = OVL_CURRENT (fns);
- else
- fndecl = NULL_TREE;
+ fndecl = OVL_CURRENT (fns);
+ if (DECL_VINDEX (fndecl))
+ mark_overriders (fndecl, base_fndecls);
}
/* Now give a warning for all base functions without overriders,
as they are hidden. */
- while (base_fndecls)
+ for (; base_fndecls; base_fndecls = TREE_CHAIN (base_fndecls))
{
- if (! overrides (TREE_VALUE (base_fndecls),
- TREE_PURPOSE (base_fndecls)))
+ if (! overrides (TREE_PURPOSE (base_fndecls),
+ TREE_VALUE (base_fndecls)))
{
/* Here we know it is a hider, and no overrider exists. */
cp_warning_at ("`%D' was hidden", TREE_VALUE (base_fndecls));
cp_warning_at (" by `%D'", TREE_PURPOSE (base_fndecls));
}
+ }
+ }
+}
+
+/* Generate one vtable for use in constructors or destructors of BASE
+ subobjects of COMPLETE_TYPE objects. The vtable belongs to the
+ vfield of the VBASEVASE subobject of the VBASE virtual base of
+ COMPLETE_TYPE (and BASE). */
+
+static tree
+finish_one_ctor_vtable (complete_type, base, vbase, vbasebase)
+ tree complete_type, base, vbase, vbasebase;
+{
+ tree virtuals;
+ tree newtable;
+ tree newvirtuals;
+ tree offset;
+ tree newvbase = binfo_member (BINFO_TYPE (vbase),
+ CLASSTYPE_VBASECLASSES (complete_type));
+
+ newtable = prepare_ctor_vtable (complete_type, base, vbasebase);
+ newvirtuals = copy_list (BINFO_VIRTUALS (vbasebase));
+
+ virtuals = newvirtuals;
+ /* Change the offset entry. First, delta between base an vbase. */
+ offset = ssize_binop (MINUS_EXPR, BINFO_OFFSET (newvbase),
+ BINFO_OFFSET (base));
+ /* Add delta between vbase and vbasebase. */
+ offset = ssize_binop (PLUS_EXPR, offset, BINFO_OFFSET (vbasebase));
+ offset = ssize_binop (MINUS_EXPR, offset, BINFO_OFFSET (vbase));
+ /* Finally, negate. */
+ offset = ssize_binop (MINUS_EXPR, integer_zero_node, offset);
+ offset = build1 (NOP_EXPR, vfunc_ptr_type_node, offset);
+ TREE_CONSTANT (offset) = 1;
+ TREE_VALUE (virtuals) = build_vtable_entry (integer_zero_node, offset);
+ virtuals = TREE_CHAIN (virtuals);
+
+ /* Skip the typeinfo function. */
+ virtuals = TREE_CHAIN (virtuals);
+
+ /* Iterate over all methods of this virtual base. */
+ for (; virtuals; virtuals = TREE_CHAIN (virtuals))
+ {
+ tree fndecl = TREE_VALUE (virtuals);
+ tree pfn = FNADDR_FROM_VTABLE_ENTRY (fndecl);
+ fndecl = TREE_OPERAND (pfn, 0);
+ if (fndecl)
+ {
+ tree delta, newdelta, binfo_context;
+ tree context = DECL_CLASS_CONTEXT (fndecl);
- base_fndecls = TREE_CHAIN (base_fndecls);
+ /* If this method is implemented in a base of the vbase, the
+ thunk we have is correct. */
+ if (DERIVED_FROM_P (context, vbase))
+ continue;
+
+ binfo_context = binfo_value (context, base);
+ if (TREE_VIA_VIRTUAL (binfo_context))
+ binfo_context = binfo_member
+ (context, CLASSTYPE_VBASECLASSES (complete_type));
+ /* This is the delta from a complete C to a B subobject, or
+ more generally to the base subobject that implements the
+ virtual function for B. BASE already has the offset to
+ the complete type. */
+ delta = BINFO_OFFSET (binfo_context);
+ /* This is the delta from the A to the complete C. */
+ newdelta = BINFO_OFFSET (newvbase);
+ /* This is the delta from the A to the B subobject. */
+ newdelta = size_binop (MINUS_EXPR, newdelta, delta);
+ newdelta = ssize_binop (MINUS_EXPR, integer_zero_node,
+ newdelta);
+
+ modify_vtable_entry (virtuals,
+ build_vtable_entry (newdelta, pfn),
+ fndecl);
}
}
+ DECL_INITIAL (newtable) = build_nt (CONSTRUCTOR, NULL_TREE,
+ newvirtuals);
+ DECL_CONTEXT (newtable) = NULL_TREE;
+ cp_finish_decl (newtable, DECL_INITIAL (newtable), NULL_TREE, 0, 0);
+ DECL_CONTEXT (newtable) = complete_type;
+ return newtable;
+}
+
+/* Add all vtables into LIST for the VBASEBASE subobject and its bases
+ of VBASE virtual BASE of COMPLETE_TYPE for use in BASE
+ constructors. DO_SELF indicates whether this is the VBASEBASE that
+ has 'primary' vfield. Return the new LIST. */
+
+static tree
+prepend_ctor_vfields_for_vbase (complete_type, base, vbase, vbasebase,
+ do_self, list)
+ tree complete_type, base, vbase, vbasebase;
+ int do_self;
+ tree list;
+{
+ int i;
+ tree vtbl;
+ tree bases = BINFO_BASETYPES (vbasebase);
+ int vfp = CLASSTYPE_VFIELD_PARENT (BINFO_TYPE (vbasebase));
+
+ if (do_self && CLASSTYPE_VFIELDS (BINFO_TYPE (vbasebase)))
+ {
+ vtbl = finish_one_ctor_vtable (complete_type, base, vbase, vbasebase);
+ vtbl = build1 (ADDR_EXPR, vtbl_ptr_type_node, vtbl);
+ TREE_READONLY (vtbl) = 1;
+ TREE_CONSTANT (vtbl) = 1;
+ list = tree_cons (NULL_TREE, vtbl, list);
+ }
+
+ if (!bases)
+ return list;
+
+ for (i = 0; i < TREE_VEC_LENGTH (bases); i++)
+ {
+ tree vbasebase = TREE_VEC_ELT (bases, i);
+ if (TREE_VIA_VIRTUAL (vbasebase))
+ continue;
+ list = prepend_ctor_vfields_for_vbase
+ (complete_type, base, vbase, vbasebase, (i != vfp), list);
+ }
+
+ return list;
+}
+
+/* Iterate over all virtual bases of the BASE subobject of
+ COMPLETE_TYPE. This list is given in VBASES. Return the list of
+ vtables generated in the process. */
+
+static tree
+finish_ctor_vtables_for_vbases (vbases, base, complete_type)
+ tree vbases, base, complete_type;
+{
+ tree result = NULL_TREE;
+
+ for (; vbases; vbases = TREE_CHAIN (vbases))
+ result = prepend_ctor_vfields_for_vbase
+ (complete_type, base, vbases, vbases, 1, result);
+ return result;
+}
+
+/* Generate special vtables for virtual bases for use inside base
+ class ctors and dtors. Inside this function, we assume the
+ following scenario:
+ class A{virtual void foo();};
+ class B:virtual A{int member1;}
+ class C:B{int member2;}
+
+ BINFO is a base subject (e.g. B) of COMPLETE_TYPE. Returns the list
+ of virtual tables. */
+
+static tree
+finish_ctor_vtables_1 (binfo, complete_type)
+ tree binfo;
+ tree complete_type;
+{
+ int i;
+ tree binfos;
+ tree result = NULL_TREE;
+
+ binfos = BINFO_BASETYPES (binfo);
+ if (!binfos)
+ return result;
+
+ /* Iterate over all bases (i.e. B). */
+ for (i = 0; i < TREE_VEC_LENGTH (binfos); i++)
+ {
+ tree base = TREE_VEC_ELT (binfos, i);
+ tree vbases = CLASSTYPE_VBASECLASSES (BINFO_TYPE (base));
+ if (!vbases)
+ /* This base class does not have virtual bases. */
+ continue;
+ if (TREE_VIA_VIRTUAL (base))
+ /* A virtual base class is initialized on in the most-derived
+ constructor. */
+ continue;
+ if (!TYPE_USES_PVBASES (BINFO_TYPE (base)))
+ /* Class has no polymorphic vbases. */
+ continue;
+ /* Prepend vtable list for base class. */
+ result = chainon (finish_ctor_vtables_1 (base, complete_type),
+ result);
+ /* Prepend our own vtable list. */
+ result = chainon
+ (finish_ctor_vtables_for_vbases (vbases, base, complete_type),
+ result);
+ }
+ return result;
+}
+
+/* Add the vtables of a virtual base BINFO in front of LIST, returning
+ the new list. DO_SELF indicates whether we have to return the
+ vtable of a vfield borrowed in a derived class. */
+
+static tree
+prepend_vbase_vfields (binfo, do_self, list)
+ tree binfo;
+ int do_self;
+ tree list;
+{
+ int i;
+ tree vtbl;
+ tree bases = BINFO_BASETYPES (binfo);
+ int vfp = CLASSTYPE_VFIELD_PARENT (BINFO_TYPE (binfo));
+
+ if (do_self && CLASSTYPE_VFIELDS (BINFO_TYPE (binfo)))
+ {
+ vtbl = BINFO_VTABLE (binfo);
+ vtbl = build1 (ADDR_EXPR, vtbl_ptr_type_node, vtbl);
+ TREE_READONLY (vtbl) = 1;
+ TREE_CONSTANT (vtbl) = 1;
+ list = tree_cons (NULL_TREE, vtbl, list);
+ }
+
+ if (!bases)
+ return list;
+
+ for (i = 0; i < TREE_VEC_LENGTH (bases); i++)
+ {
+ tree base = TREE_VEC_ELT (bases, i);
+ if (TREE_VIA_VIRTUAL (base))
+ continue;
+ list = prepend_vbase_vfields (base, (i != vfp), list);
+ }
+
+ return list;
}
+/* Wrapper around finish_ctor_vtables_1. Compute the vtable list for
+ type T. */
+
+static void
+finish_ctor_vtables (t)
+ tree t;
+{
+ tree veclist = NULL_TREE;
+ tree decl, type;
+ char *name;
+ tree vbase;
+ int len;
+
+ /* This is only good for vtable thunks. */
+ my_friendly_assert (flag_vtable_thunks, 990307);
+
+ /* Start with the list of most-derived vtables. */
+
+ for (vbase = CLASSTYPE_VBASECLASSES (t); vbase;
+ vbase = TREE_CHAIN (vbase))
+ veclist = prepend_vbase_vfields (vbase, 1, veclist);
+
+ /* Compute the list of vtables for the bases. */
+ veclist = chainon (veclist, finish_ctor_vtables_1 (TYPE_BINFO (t), t));
+
+ /* Finally, we initialize the virtual bases first. */
+ for (vbase = CLASSTYPE_VBASECLASSES (t); vbase;
+ vbase = TREE_CHAIN (vbase))
+ {
+ tree vbases = CLASSTYPE_VBASECLASSES (BINFO_TYPE (vbase));
+ if (!vbases)
+ continue;
+ veclist = chainon (veclist,
+ finish_ctor_vtables_for_vbases (vbases, vbase, t));
+ veclist = chainon (veclist,
+ finish_ctor_vtables_1 (vbase, t));
+ }
+
+ veclist = nreverse (veclist);
+
+ /* Generate the name for the vtable list. */
+ name = alloca (strlen (VLIST_NAME_FORMAT)
+ + TYPE_ASSEMBLER_NAME_LENGTH (t) + 2);
+ sprintf (name, VLIST_NAME_FORMAT, TYPE_ASSEMBLER_NAME_STRING (t));
+
+ /* Build the type of the list. */
+ len = list_length (veclist) - 1;
+ if (len < 0)
+ /* If this class has virtual bases without virtual methods, make a
+ single zero-entry in the array. This avoids zero-sized objects. */
+ len++;
+ type = build_cplus_array_type (vtbl_ptr_type_node,
+ build_index_type (size_int (len)));
+
+
+ /* Produce a new decl holding the list. */
+ decl = build_lang_decl (VAR_DECL, get_identifier (name), type);
+ TREE_STATIC (decl) = 1;
+ TREE_READONLY (decl) = 1;
+ decl = pushdecl_top_level (decl);
+ import_export_vtable (decl, t, 0);
+ DECL_INITIAL (decl) = build_nt (CONSTRUCTOR, NULL_TREE, veclist);
+
+ DECL_ARTIFICIAL (decl) = 1;
+ /* This tells finish_file et.al. that this is related to virtual
+ tables. There is currently no way to distinguish between vtables
+ and vlists, other than the name of the decl. */
+ DECL_VIRTUAL_P (decl) = 1;
+
+ /* Output the array. */
+ cp_finish_decl (decl, DECL_INITIAL (decl), NULL_TREE, 0, 0);
+
+ /* Set the class context after finishing, so that finish thinks this
+ is an unrelated global, and then finish_vtable_vardecl knows what
+ class this is related to. */
+ DECL_CONTEXT (decl) = t;
+}
+
/* Check for things that are invalid. There are probably plenty of other
things we should check for also. */
@@ -4073,6 +4417,10 @@ finish_struct_1 (t, warn_anon)
/* Make the rtl for any new vtables we have created, and unmark
the base types we marked. */
finish_vtbls (TYPE_BINFO (t), 1, t);
+ /* If we use thunks, and have virtual bases, we might need to emit
+ additional vtables. */
+ if (flag_vtable_thunks && TYPE_USES_PVBASES (t))
+ finish_ctor_vtables (t);
hack_incomplete_structures (t);
#if 0
@@ -4474,7 +4822,8 @@ pushclass (type, modify)
invalidate_class_lookup_cache ();
/* Now, free the obstack on which we cached all the values. */
- obstack_free (&class_cache_obstack, class_cache_firstobj);
+ if (class_cache_firstobj)
+ obstack_free (&class_cache_obstack, class_cache_firstobj);
class_cache_firstobj
= (char*) obstack_finish (&class_cache_obstack);
}
@@ -5019,15 +5368,15 @@ instantiate_type (lhstype, rhs, flags)
field = OVL_FUNCTION (field);
if (TREE_CODE (field) == FUNCTION_DECL)
{
- cp_error ("object-dependent reference `%E' can only be used in a call",
+ cp_pedwarn ("object-dependent reference `%E' can only be used in a call",
DECL_NAME (field));
- cp_error (" to form a pointer to member function, say `&%T::%E'",
+ cp_pedwarn (" to form a pointer to member function, say `&%T::%E'",
t, DECL_NAME (field));
}
else
- cp_error ("object-dependent reference can only be used in a call");
+ cp_pedwarn ("object-dependent reference can only be used in a call");
}
- return error_mark_node;
+ return r;
}
return r;
@@ -5231,7 +5580,7 @@ print_class_statistics ()
effect is undone by pop_obstacks. */
void
-maybe_push_cache_obstack ()
+push_cache_obstack ()
{
static int cache_obstack_initialized;
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 249808974c0..8c1e7dfd7c1 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -52,7 +52,7 @@ Boston, MA 02111-1307, USA. */
4: BINFO_NEW_VTABLE_MARKED.
TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR,
or FIELD_DECL).
- 5: Not used.
+ 5: TYPE_USES_PVBASES (in a class TYPE).
6: Not used.
Usage of TYPE_LANG_FLAG_?:
@@ -503,8 +503,9 @@ extern int write_virtuals;
/* True for more efficient but incompatible (not fully tested)
vtable implementation (using thunks).
- 0 is old behavior; 1 is new behavior. */
-extern int flag_vtable_thunks;
+ 0 is old behavior; 1 is new behavior; 3 adds vlist arguments;
+ 2 is 3 plus backwards-compatibility to 1. */
+extern int flag_vtable_thunks, flag_vtable_thunks_compat;
/* INTERFACE_ONLY nonzero means that we are in an "interface"
section of the compiler. INTERFACE_UNKNOWN nonzero means
@@ -543,6 +544,10 @@ extern int flag_guiding_decls;
and class qualifiers. */
extern int flag_do_squangling;
+/* Nonzero means generate separate instantiation control files and juggle
+ them at link time. */
+extern int flag_use_repository;
+
/* Nonzero if we want to issue diagnostics that the standard says are not
required. */
extern int flag_optional_diags;
@@ -885,6 +890,10 @@ struct lang_type
hierarchy, then we can use more efficient search techniques. */
#define TYPE_USES_VIRTUAL_BASECLASSES(NODE) (TREE_LANG_FLAG_3(NODE))
+/* Nonzero means that this _CLASSTYPE uses polymorphic virtual bases.
+ This flag is set only when we use vtable thunks. */
+#define TYPE_USES_PVBASES(NODE) (TREE_LANG_FLAG_5(NODE))
+
/* Vector member functions defined in this class. Each element is
either a FUNCTION_DECL, a TEMPLATE_DECL, or an OVERLOAD. All
functions with the same name end up in the same slot. The first
@@ -961,7 +970,7 @@ struct lang_type
/* The number of virtual functions defined for this
_CLASSTYPE node. */
#define CLASSTYPE_VSIZE(NODE) (TYPE_LANG_SPECIFIC(NODE)->vsize)
-/* The virtual base classes that this type uses. */
+/* The list of binfos of virtual base classes that this type uses. */
#define CLASSTYPE_VBASECLASSES(NODE) (TYPE_LANG_SPECIFIC(NODE)->vbases)
/* The virtual function pointer fields that this type contains. */
#define CLASSTYPE_VFIELDS(NODE) (TYPE_LANG_SPECIFIC(NODE)->vfields)
@@ -1161,22 +1170,21 @@ struct lang_decl_flags
unsigned static_function : 1;
unsigned const_memfunc : 1;
unsigned volatile_memfunc : 1;
-
unsigned abstract_virtual : 1;
unsigned permanent_attr : 1 ;
- unsigned constructor_for_vbase_attr : 1;
+
unsigned mutable_flag : 1;
unsigned is_default_implementation : 1;
unsigned saved_inline : 1;
unsigned use_template : 2;
-
unsigned nonconverting : 1;
unsigned declared_inline : 1;
unsigned not_really_extern : 1;
unsigned needs_final_overrider : 1;
unsigned bitfield : 1;
unsigned defined_in_class : 1;
- unsigned dummy : 4;
+ unsigned constructor_for_vbase_attr : 2;
+ unsigned dummy : 3;
tree access;
tree context;
@@ -1222,9 +1230,35 @@ struct lang_decl
#define DECL_CONV_FN_P(NODE) \
(IDENTIFIER_TYPENAME_P (DECL_NAME (NODE)) && TREE_TYPE (DECL_NAME (NODE)))
-/* For FUNCTION_DECLs: nonzero means that this function is a constructor
+#define CONSTRUCTOR_FOR_VBASE 1
+#define CONSTRUCTOR_FOR_PVBASE 2
+#define DESTRUCTOR_FOR_PVBASE 3
+
+/* For FUNCTION_DECLs: nonzero means that this function is a con/destructor
for an object with virtual baseclasses. */
-#define DECL_CONSTRUCTOR_FOR_VBASE_P(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr)
+#define DECL_CONSTRUCTOR_FOR_VBASE(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr)
+
+/* Nonzero means that this function is a constructor for an object
+ with virtual baseclasses. */
+#define DECL_CONSTRUCTOR_FOR_VBASE_P(NODE) \
+ (DECL_CONSTRUCTOR_FOR_VBASE (NODE) == CONSTRUCTOR_FOR_VBASE)
+
+/* Nonzero means that this function is a constructor for an object
+ with virtual baseclasses which have virtual functions. */
+#define DECL_CONSTRUCTOR_FOR_PVBASE_P(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr == CONSTRUCTOR_FOR_PVBASE)
+
+/* Nonzero means that this function is a destructor for an object
+ with virtual baseclasses which have virtual functions. */
+#define DECL_DESTRUCTOR_FOR_PVBASE_P(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr == DESTRUCTOR_FOR_PVBASE)
+
+/* Nonzero means that this function is a wrapper around a PVBASE ctor. */
+#define DECL_VLIST_CTOR_WRAPPER_P(NODE) \
+ (DECL_CONSTRUCTOR_FOR_VBASE_P (NODE) && DECL_VLIST_CTOR_WRAPPED (NODE)\
+ && TREE_CODE (DECL_VLIST_CTOR_WRAPPED (NODE)) == FUNCTION_DECL \
+ && DECL_CONSTRUCTOR_FOR_PVBASE_P (DECL_VLIST_CTOR_WRAPPED (NODE)))
+
+/* Refers to original function that NODE wraps. */
+#define DECL_VLIST_CTOR_WRAPPED(NODE) DECL_MEMFUNC_POINTER_TO (NODE)
/* Non-zero for a FUNCTION_DECL that declares a type-info function. */
#define DECL_TINFO_FN_P(NODE) \
@@ -1327,6 +1361,10 @@ struct lang_decl
(DECL_CONTEXT (NODE) ? DECL_CONTEXT (NODE) : global_namespace)
#define FROB_CONTEXT(NODE) ((NODE) == global_namespace ? NULL_TREE : (NODE))
+/* For a virtual function, the base where we find its vtable entry.
+ For a non-virtual function, the base where it is defined. */
+#define DECL_VIRTUAL_CONTEXT(NODE) DECL_CONTEXT (NODE)
+
/* 1 iff NODE has namespace scope, including the global namespace. */
#define DECL_NAMESPACE_SCOPE_P(NODE) \
(DECL_CONTEXT (NODE) == NULL_TREE \
@@ -2160,6 +2198,7 @@ extern tree delta2_identifier;
extern tree pfn_or_delta2_identifier;
extern tree tag_identifier;
extern tree vt_off_identifier;
+extern tree in_charge_identifier;
/* A node that is a list (length 1) of error_mark_nodes. */
extern tree error_mark_list;
@@ -2169,6 +2208,8 @@ extern tree class_type_node, record_type_node, union_type_node, enum_type_node;
extern tree unknown_type_node;
extern tree opaque_type_node, signature_type_node;
+extern tree vlist_identifier, vlist_type_node, vlist_zero_node;
+
/* Node for "pointer to (virtual) function".
This may be distinct from ptr_type_node so gdb can distinguish them. */
#define vfunc_ptr_type_node \
@@ -2242,6 +2283,9 @@ extern int current_class_depth;
extern tree current_lang_name;
extern tree lang_name_cplusplus, lang_name_c, lang_name_java;
+/* The low-water mark on the class-cache obstack. */
+extern char *class_cache_firstobj;
+
/* Points to the name of that function. May not be the DECL_NAME
of CURRENT_FUNCTION_DECL due to overloading */
extern tree original_function_name;
@@ -2281,6 +2325,8 @@ extern int current_function_parms_stored;
#define AUTO_TEMP_FORMAT "_$tmp_%d"
#define VTABLE_BASE "$vb"
#define VTABLE_NAME_FORMAT (flag_vtable_thunks ? "__vt_%s" : "_vt$%s")
+#define VCTABLE_NAME "__vc$"
+#define VLIST_NAME_FORMAT "__vl$%s"
#define VFIELD_BASE "$vf"
#define VFIELD_NAME "_vptr$"
#define VFIELD_NAME_FORMAT "_vptr$%s"
@@ -2303,6 +2349,8 @@ extern int current_function_parms_stored;
#define AUTO_TEMP_FORMAT "_.tmp_%d"
#define VTABLE_BASE ".vb"
#define VTABLE_NAME_FORMAT (flag_vtable_thunks ? "__vt_%s" : "_vt.%s")
+#define VCTABLE_NAME "__vc."
+#define VLIST_NAME_FORMAT "__vl.%s"
#define VFIELD_BASE ".vf"
#define VFIELD_NAME "_vptr."
#define VFIELD_NAME_FORMAT "_vptr.%s"
@@ -2335,6 +2383,8 @@ extern int current_function_parms_stored;
#define VTABLE_NAME_P(ID_NODE) \
(!strncmp (IDENTIFIER_POINTER (ID_NODE), VTABLE_NAME, \
sizeof (VTABLE_NAME) - 1))
+#define VCTABLE_NAME "__vc_"
+#define VLIST_NAME_FORMAT "__vl_%s"
#define VFIELD_BASE "__vfb"
#define VFIELD_NAME "__vptr_"
#define VFIELD_NAME_P(ID_NODE) \
@@ -2368,6 +2418,9 @@ extern int current_function_parms_stored;
#define DTOR_NAME "__dt"
#define IN_CHARGE_NAME "__in_chrg"
+#define VLIST_NAME "__vlist"
+#define VLIST1_NAME "__vlist1"
+#define VLIST_TYPE_NAME "6_Vlist"
#define VTBL_PTR_TYPE "__vtbl_ptr_type"
#define VTABLE_DELTA_NAME "__delta"
@@ -2545,6 +2598,8 @@ extern tree current_class_name; /* IDENTIFIER_NODE: name of current class */
as well as the space of member functions.
LOOKUP_HAS_IN_CHARGE means that the "in charge" variable is already
in the parameter list.
+ LOOKUP_HAS_VLIST means that the "vlist" variable is already in
+ the parameter list.
LOOKUP_ONLYCONVERTING means that non-conversion constructors are not tried.
DIRECT_BIND means that if a temporary is created, it should be created so
that it lives as long as the current variable bindings; otherwise it
@@ -2583,6 +2638,7 @@ extern tree current_class_name; /* IDENTIFIER_NODE: name of current class */
#define LOOKUP_PREFER_NAMESPACES (4096)
#define LOOKUP_PREFER_BOTH (6144)
#define LOOKUP_TEMPLATES_EXPECTED (8192)
+#define LOOKUP_HAS_VLIST (16384)
#define LOOKUP_NAMESPACES_ONLY(f) \
(((f) & LOOKUP_PREFER_NAMESPACES) && !((f) & LOOKUP_PREFER_TYPES))
@@ -2733,7 +2789,7 @@ extern void push_lang_context PROTO((tree));
extern void pop_lang_context PROTO((void));
extern tree instantiate_type PROTO((tree, tree, int));
extern void print_class_statistics PROTO((void));
-extern void maybe_push_cache_obstack PROTO((void));
+extern void push_cache_obstack PROTO((void));
extern unsigned HOST_WIDE_INT skip_rtti_stuff PROTO((tree *, tree));
extern void build_self_reference PROTO((void));
extern void warn_hidden PROTO((tree));
@@ -3040,6 +3096,8 @@ extern tree build_x_delete PROTO((tree, int, tree));
extern tree build_delete PROTO((tree, tree, tree, int, int));
extern tree build_vbase_delete PROTO((tree, tree));
extern tree build_vec_delete PROTO((tree, tree, tree, tree, int));
+extern tree build_base_dtor_call PROTO((tree, tree, tree));
+extern void init_vlist PROTO((tree));
/* in input.c */
@@ -3106,13 +3164,15 @@ extern tree build_decl_overload_real PROTO((tree, tree, tree, tree,
extern void set_mangled_name_for_decl PROTO((tree));
extern tree build_typename_overload PROTO((tree));
extern tree build_overload_with_type PROTO((tree, tree));
-extern tree build_destructor_name PROTO((tree));
+extern tree build_destructor_name PROTO((tree, int));
extern tree build_opfncall PROTO((enum tree_code, int, tree, tree, tree));
extern tree hack_identifier PROTO((tree, tree));
extern tree make_thunk PROTO((tree, int));
extern void emit_thunk PROTO((tree));
extern void synthesize_method PROTO((tree));
extern tree get_id_2 PROTO((char *, tree));
+extern tree get_vlist_vtable_id PROTO((tree, tree));
+
/* in pt.c */
extern void check_template_shadow PROTO ((tree));
@@ -3189,6 +3249,7 @@ extern tree get_tinfo_fn_dynamic PROTO((tree));
extern tree build_typeid PROTO((tree));
extern tree build_x_typeid PROTO((tree));
extern tree get_tinfo_fn PROTO((tree));
+extern tree get_tinfo_fn_unused PROTO((tree));
extern tree get_typeid PROTO((tree));
extern tree get_typeid_1 PROTO((tree));
extern tree build_dynamic_cast PROTO((tree, tree));
@@ -3388,6 +3449,7 @@ extern tree maybe_dummy_object PROTO((tree, tree *));
extern int is_dummy_object PROTO((tree));
extern tree search_tree PROTO((tree, tree (*)(tree)));
extern int cp_valid_lang_attribute PROTO((tree, tree, tree, tree));
+extern tree make_ptrmem_cst PROTO((tree, tree));
#define scratchalloc expralloc
#define scratch_tree_cons expr_tree_cons
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 05a0340b0d4..6a6aeddb4a0 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -63,8 +63,6 @@ extern tree global_namespace;
extern void (*print_error_function) PROTO((char *));
extern int (*valid_lang_attribute) PROTO ((tree, tree, tree, tree));
-/* Stack of places to restore the search obstack back to. */
-
/* Obstack used for remembering local class declarations (like
enums and static (const) members. */
#include "stack.h"
@@ -190,6 +188,8 @@ static tree record_builtin_java_type PROTO((const char *, int));
static const char *tag_name PROTO((enum tag_types code));
static void find_class_binding_level PROTO((void));
static struct binding_level *innermost_nonclass_level PROTO((void));
+static void finish_dtor PROTO((void));
+static void finish_ctor PROTO((int));
static tree poplevel_class PROTO((void));
static void warn_about_implicit_typename_lookup PROTO((tree, tree));
static int walk_namespaces_r PROTO((tree, walk_namespaces_fn, void *));
@@ -337,6 +337,15 @@ tree __ptr_desc_array_type, __attr_dec_array_type, __func_desc_array_type;
tree __ptmf_desc_array_type, __ptmd_desc_array_type;
#endif
+/* This is the identifier __vlist. */
+tree vlist_identifier;
+
+/* This is the type _Vlist = vtable_entry_type**. */
+tree vlist_type_node;
+
+/* A null pointer of type _Vlist. */
+tree vlist_zero_node;
+
/* Indicates that there is a type value in some namespace, although
that is not necessarily in scope at the moment. */
@@ -2420,6 +2429,7 @@ struct saved_scope {
tree previous_class_type, previous_class_values;
int processing_specialization;
int processing_explicit_instantiation;
+ char *class_cache_firstobj;
};
static struct saved_scope *current_saved_scope;
@@ -2537,6 +2547,7 @@ maybe_push_to_top_level (pseudo)
s->processing_template_decl = processing_template_decl;
s->previous_class_type = previous_class_type;
s->previous_class_values = previous_class_values;
+ s->class_cache_firstobj = class_cache_firstobj;
s->processing_specialization = processing_specialization;
s->processing_explicit_instantiation = processing_explicit_instantiation;
@@ -2552,6 +2563,7 @@ maybe_push_to_top_level (pseudo)
shadowed_labels = NULL_TREE;
minimal_parse_mode = 0;
previous_class_type = previous_class_values = NULL_TREE;
+ class_cache_firstobj = 0;
processing_specialization = 0;
processing_explicit_instantiation = 0;
current_template_parms = NULL_TREE;
@@ -2623,6 +2635,7 @@ pop_from_top_level ()
previous_class_values = s->previous_class_values;
processing_specialization = s->processing_specialization;
processing_explicit_instantiation = s->processing_explicit_instantiation;
+ class_cache_firstobj = s->class_cache_firstobj;
free (s);
@@ -3514,7 +3527,8 @@ duplicate_decls (newdecl, olddecl)
TREE_TYPE (olddecl) = build_exception_variant (newtype,
TYPE_RAISES_EXCEPTIONS (oldtype));
- if ((pedantic || ! DECL_IN_SYSTEM_HEADER (olddecl))
+ if ((pedantic || (! DECL_IN_SYSTEM_HEADER (olddecl)
+ && ! DECL_IN_SYSTEM_HEADER (newdecl)))
&& DECL_SOURCE_LINE (olddecl) != 0
&& flag_exceptions
&& ! compexcepttypes (TREE_TYPE (newdecl), TREE_TYPE (olddecl)))
@@ -4151,8 +4165,10 @@ pushdecl (x)
/* Warn if shadowing an argument at the top level of the body. */
else if (oldlocal != NULL_TREE && !DECL_EXTERNAL (x)
- && TREE_CODE (oldlocal) == PARM_DECL
- && TREE_CODE (x) != PARM_DECL)
+ && TREE_CODE (oldlocal) == PARM_DECL
+ /* Don't complain if it's from an enclosing function. */
+ && DECL_CONTEXT (oldlocal) == current_function_decl
+ && TREE_CODE (x) != PARM_DECL)
{
/* Go to where the parms should be and see if we
find them there. */
@@ -4443,7 +4459,7 @@ push_class_level_binding (name, x)
IDENTIFIER_CLASS_VALUE. */
if (push_class_binding (name, x))
{
- maybe_push_cache_obstack ();
+ push_cache_obstack ();
class_binding_level->class_shadowed
= tree_cons (name, IDENTIFIER_CLASS_VALUE (name),
class_binding_level->class_shadowed);
@@ -5812,6 +5828,7 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
{
struct tree_binding b;
val = binding_init (&b);
+ flags |= LOOKUP_COMPLAIN;
if (!qualified_lookup_using_namespace (name, type, val, flags))
return NULL_TREE;
val = select_decl (val, flags);
@@ -6277,6 +6294,7 @@ init_decl_processing ()
this_identifier = get_identifier (THIS_NAME);
in_charge_identifier = get_identifier (IN_CHARGE_NAME);
+ vlist_identifier = get_identifier (VLIST_NAME);
ctor_identifier = get_identifier (CTOR_NAME);
dtor_identifier = get_identifier (DTOR_NAME);
pfn_identifier = get_identifier (VTABLE_PFN_NAME);
@@ -6504,6 +6522,7 @@ init_decl_processing ()
#if 0
record_builtin_type (RID_MAX, NULL_PTR, ptr_type_node);
#endif
+
endlink = void_list_node;
int_endlink = tree_cons (NULL_TREE, integer_type_node, endlink);
double_endlink = tree_cons (NULL_TREE, double_type_node, endlink);
@@ -6843,6 +6862,16 @@ init_decl_processing ()
layout_type (vtbl_ptr_type_node);
record_builtin_type (RID_MAX, NULL_PTR, vtbl_ptr_type_node);
+ if (flag_vtable_thunks)
+ {
+ /* We need vlists only when using thunks; otherwise leave them
+ as NULL_TREE. That way, it doesn't get into the way of the
+ mangling. */
+ vlist_type_node = build_pointer_type (vtbl_ptr_type_node);
+ vlist_zero_node = build_int_2 (0, 0);
+ TREE_TYPE (vlist_zero_node) = vlist_type_node;
+ }
+
/* Simplify life by making a "sigtable_entry_type". Give its
fields names so that the debugger can use them. */
@@ -7336,6 +7365,13 @@ start_decl (declarator, declspecs, initialized, attributes, prefix_attributes)
DECL_INITIAL (decl) = error_mark_node;
}
+#ifdef SET_DEFAULT_DECL_ATTRIBUTES
+ SET_DEFAULT_DECL_ATTRIBUTES (decl, attributes);
+#endif
+
+ /* Set attributes here so if duplicate decl, will have proper attributes. */
+ cplus_decl_attributes (decl, attributes, prefix_attributes);
+
if (context && TYPE_SIZE (complete_type (context)) != NULL_TREE)
{
push_nested_class (context, 2);
@@ -7393,13 +7429,6 @@ start_decl (declarator, declspecs, initialized, attributes, prefix_attributes)
decl);
}
-#ifdef SET_DEFAULT_DECL_ATTRIBUTES
- SET_DEFAULT_DECL_ATTRIBUTES (decl, attributes);
-#endif
-
- /* Set attributes here so if duplicate decl, will have proper attributes. */
- cplus_decl_attributes (decl, attributes, prefix_attributes);
-
/* Add this decl to the current binding level, but not if it
comes from another scope, e.g. a static member variable.
TEM may equal DECL or it may be a previous decl of the same name. */
@@ -8128,7 +8157,7 @@ cp_finish_decl (decl, init, asmspec_tree, need_pop, flags)
else if (! DECL_ARTIFICIAL (decl))
{
cp_warning_at ("sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)", decl);
- cp_warning_at (" you can work around this by removing the initializer"), decl;
+ cp_warning_at (" you can work around this by removing the initializer", decl);
}
}
}
@@ -8504,6 +8533,8 @@ expand_static_init (decl, init)
{
tree cleanup, fcall;
static tree Atexit = 0;
+ int saved_flag_access_control;
+
if (Atexit == 0)
{
tree atexit_fndecl, PFV, pfvlist;
@@ -8530,13 +8561,31 @@ expand_static_init (decl, init)
so that any access checks will be done relative to the
current scope, rather than the scope of the anonymous
function. */
- fcall = build_cleanup (decl);
+ build_cleanup (decl);
+
+ /* Now start the function. */
cleanup = start_anon_func ();
+
+ /* Now, recompute the cleanup. It may contain SAVE_EXPRs
+ that refer to the original function, rather than the
+ anonymous one. That will make the back-end think that
+ nested functions are in use, which causes confusion. */
+ saved_flag_access_control = flag_access_control;
+ flag_access_control = 0;
+ fcall = build_cleanup (decl);
+ flag_access_control = saved_flag_access_control;
+
+ /* Finish off the function. */
expand_expr_stmt (fcall);
end_anon_func ();
+
+ /* Call atexit with the cleanup function. */
mark_addressable (cleanup);
cleanup = build_unary_op (ADDR_EXPR, cleanup, 0);
- fcall = build_function_call (Atexit, expr_tree_cons (NULL_TREE, cleanup, NULL_TREE));
+ fcall = build_function_call (Atexit,
+ expr_tree_cons (NULL_TREE,
+ cleanup,
+ NULL_TREE));
expand_expr_stmt (fcall);
}
@@ -8558,7 +8607,7 @@ expand_static_init (decl, init)
/* Make TYPE a complete type based on INITIAL_VALUE.
Return 0 if successful, 1 if INITIAL_VALUE can't be deciphered,
- 2 if there was no information (in which case assume 1 if DO_DEFAULT). */
+ 2 if there was no information (in which case assume 0 if DO_DEFAULT). */
int
complete_array_type (type, initial_value, do_default)
@@ -8567,7 +8616,10 @@ complete_array_type (type, initial_value, do_default)
{
register tree maxindex = NULL_TREE;
int value = 0;
-
+
+ /* Allocate on the same obstack as TYPE. */
+ push_obstacks (TYPE_OBSTACK (type), TYPE_OBSTACK (type));
+
if (initial_value)
{
/* Note MAXINDEX is really the maximum index,
@@ -8615,23 +8667,28 @@ complete_array_type (type, initial_value, do_default)
if (maxindex)
{
tree itype;
+ tree domain;
+
+ domain = build_index_type (maxindex);
+ TYPE_DOMAIN (type) = domain;
- TYPE_DOMAIN (type) = build_index_type (maxindex);
if (! TREE_TYPE (maxindex))
- TREE_TYPE (maxindex) = TYPE_DOMAIN (type);
+ TREE_TYPE (maxindex) = domain;
if (initial_value)
itype = TREE_TYPE (initial_value);
else
itype = NULL;
if (itype && !TYPE_DOMAIN (itype))
- TYPE_DOMAIN (itype) = TYPE_DOMAIN (type);
+ TYPE_DOMAIN (itype) = domain;
/* The type of the main variant should never be used for arrays
of different sizes. It should only ever be completed with the
size of the array. */
if (! TYPE_DOMAIN (TYPE_MAIN_VARIANT (type)))
- TYPE_DOMAIN (TYPE_MAIN_VARIANT (type)) = TYPE_DOMAIN (type);
+ TYPE_DOMAIN (TYPE_MAIN_VARIANT (type)) = domain;
}
+ pop_obstacks();
+
/* Lay out the type now that we can get the real answer. */
layout_type (type);
@@ -8910,9 +8967,12 @@ grokfndecl (ctype, type, declarator, orig_declarator, virtualp, flags, quals,
template_count,
2 * (funcdef_flag != 0) +
4 * (friendp != 0));
+
if (decl == error_mark_node)
return NULL_TREE;
+ maybe_vlist_ctor_wrapper (decl, funcdef_flag);
+
if ((! TYPE_FOR_JAVA (ctype) || check_java_method (decl))
&& check)
{
@@ -10319,7 +10379,8 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
continue;
/* VC++ spells a zero-sized array with []. */
- if (size == NULL_TREE && decl_context == FIELD && ! staticp)
+ if (size == NULL_TREE && decl_context == FIELD && ! staticp
+ && ! RIDBIT_SETP (RID_TYPEDEF, specbits))
size = integer_zero_node;
if (size)
@@ -10355,10 +10416,8 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
size = t;
}
- itype = make_node (INTEGER_TYPE);
- TYPE_MIN_VALUE (itype) = size_zero_node;
- TYPE_MAX_VALUE (itype) = build_min
- (MINUS_EXPR, sizetype, size, integer_one_node);
+ itype = build_index_type (build_min
+ (MINUS_EXPR, sizetype, size, integer_one_node));
goto dont_grok_size;
}
@@ -11017,18 +11076,17 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
&& TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
&& ANON_AGGRNAME_P (TYPE_IDENTIFIER (type)))
{
+ tree oldname = TYPE_NAME (type);
+ tree t;
+
/* FIXME: This is bogus; we should not be doing this for
cv-qualified types. */
- /* For anonymous structs that are cv-qualified, need to use
- TYPE_MAIN_VARIANT so that name will mangle correctly. As
- type not referenced after this block, don't bother
- resetting type to original type, ie. TREE_TYPE (decl). */
- type = TYPE_MAIN_VARIANT (type);
-
/* Replace the anonymous name with the real name everywhere. */
lookup_tag_reverse (type, declarator);
- TYPE_NAME (type) = decl;
+ for (t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
+ if (TYPE_NAME (t) == oldname)
+ TYPE_NAME (t) = decl;
if (TYPE_LANG_SPECIFIC (type))
TYPE_WAS_ANONYMOUS (type) = 1;
@@ -11354,6 +11412,10 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
if (TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (decl)))
arg_types = TREE_CHAIN (arg_types);
+ /* And the `vlist' argument. */
+ if (TYPE_USES_PVBASES (DECL_CONTEXT (decl)))
+ arg_types = TREE_CHAIN (arg_types);
+
if (arg_types == void_list_node
|| (arg_types
&& TREE_CHAIN (arg_types)
@@ -12048,6 +12110,9 @@ replace_defarg (arg, init)
TREE_PURPOSE (arg) = init;
}
+/* Return 1 if D copies its arguments. This is used to test for copy
+ constructors and copy assignment operators. */
+
int
copy_args_p (d)
tree d;
@@ -12055,7 +12120,12 @@ copy_args_p (d)
tree t = FUNCTION_ARG_CHAIN (d);
if (DECL_CONSTRUCTOR_P (d)
&& TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (d)))
- t = TREE_CHAIN (t);
+ {
+ t = TREE_CHAIN (t);
+ if (TYPE_USES_PVBASES (DECL_CONTEXT (d)))
+ t = TREE_CHAIN (t);
+ }
+
if (t && TREE_CODE (TREE_VALUE (t)) == REFERENCE_TYPE
&& (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_VALUE (t)))
== DECL_CLASS_CONTEXT (d))
@@ -12085,7 +12155,8 @@ grok_ctor_properties (ctype, decl)
added to any ctor so we can tell if the class has been initialized
yet. This could screw things up in this function, so we deliberately
ignore the leading int if we're in that situation. */
- if (TYPE_USES_VIRTUAL_BASECLASSES (ctype))
+ if (TYPE_USES_VIRTUAL_BASECLASSES (ctype)
+ && !CLASSTYPE_IS_TEMPLATE (ctype))
{
my_friendly_assert (parmtypes
&& TREE_VALUE (parmtypes) == integer_type_node,
@@ -12094,6 +12165,17 @@ grok_ctor_properties (ctype, decl)
parmtype = TREE_VALUE (parmtypes);
}
+ if (TYPE_USES_PVBASES (ctype))
+ {
+ my_friendly_assert (parmtypes
+ && TREE_VALUE (parmtypes) == vlist_type_node,
+ 980529);
+ parmtypes = TREE_CHAIN (parmtypes);
+ parmtype = TREE_VALUE (parmtypes);
+ }
+
+ maybe_vlist_ctor_wrapper (decl, 0);
+
/* [class.copy]
A non-template constructor for class X is a copy constructor if
@@ -12891,6 +12973,16 @@ xref_basetypes (code_type_node, name, ref, binfo)
{
TYPE_USES_VIRTUAL_BASECLASSES (ref) = 1;
TYPE_USES_COMPLEX_INHERITANCE (ref) = 1;
+ /* The PVBASES flag is never set for templates; we know
+ only for instantiations whether the virtual bases are
+ polymorphic. */
+ if (flag_vtable_thunks >= 2 && !CLASSTYPE_IS_TEMPLATE (ref))
+ {
+ if (via_virtual && TYPE_VIRTUAL_P (basetype))
+ TYPE_USES_PVBASES (ref) = 1;
+ else if (TYPE_USES_PVBASES (basetype))
+ TYPE_USES_PVBASES (ref) = 1;
+ }
}
if (CLASS_TYPE_P (basetype))
@@ -13896,6 +13988,313 @@ store_return_init (return_id, init)
}
+/* Emit implicit code for a destructor. This is a subroutine of
+ finish_function. */
+
+static void
+finish_dtor ()
+{
+ tree binfo = TYPE_BINFO (current_class_type);
+ tree cond = integer_one_node;
+ tree exprstmt;
+ tree in_charge_node = lookup_name (in_charge_identifier, 0);
+ tree virtual_size;
+ int ok_to_optimize_dtor = 0;
+ int empty_dtor = get_last_insn () == last_dtor_insn;
+ rtx insns, last_parm_insn;
+
+ if (current_function_assigns_this)
+ cond = build (NE_EXPR, boolean_type_node,
+ current_class_ptr, integer_zero_node);
+ else
+ {
+ int n_baseclasses = CLASSTYPE_N_BASECLASSES (current_class_type);
+
+ /* If this destructor is empty, then we don't need to check
+ whether `this' is NULL in some cases. */
+ if ((flag_this_is_variable & 1) == 0)
+ ok_to_optimize_dtor = 1;
+ else if (empty_dtor)
+ ok_to_optimize_dtor
+ = (n_baseclasses == 0
+ || (n_baseclasses == 1
+ && TYPE_HAS_DESTRUCTOR (TYPE_BINFO_BASETYPE (current_class_type, 0))));
+ }
+
+ /* If this has a vlist1 parameter, allocate the corresponding vlist
+ parameter. */
+ if (DECL_DESTRUCTOR_FOR_PVBASE_P (current_function_decl))
+ {
+ /* _Vlist __vlist; */
+ tree vlist;
+
+ mark_all_temps_used();
+ vlist = pushdecl (build_decl (VAR_DECL, vlist_identifier,
+ vlist_type_node));
+ TREE_USED (vlist) = 1;
+ DECL_ARTIFICIAL (vlist) = 1;
+ expand_decl (vlist);
+ expand_decl_init (vlist);
+ }
+
+ /* These initializations might go inline. Protect
+ the binding level of the parms. */
+ pushlevel (0);
+ expand_start_bindings (0);
+
+ if (current_function_assigns_this)
+ {
+ current_function_assigns_this = 0;
+ current_function_just_assigned_this = 0;
+ }
+
+ /* Generate the code to call destructor on base class.
+ If this destructor belongs to a class with virtual
+ functions, then set the virtual function table
+ pointer to represent the type of our base class. */
+
+ /* This side-effect makes call to `build_delete' generate the
+ code we have to have at the end of this destructor.
+ `build_delete' will set the flag again. */
+ TYPE_HAS_DESTRUCTOR (current_class_type) = 0;
+
+ /* These are two cases where we cannot delegate deletion. */
+ if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)
+ || TYPE_GETS_REG_DELETE (current_class_type))
+ exprstmt = build_delete
+ (current_class_type, current_class_ref, integer_zero_node,
+ LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
+ else
+ exprstmt = build_delete
+ (current_class_type, current_class_ref, in_charge_node,
+ LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
+
+ /* If we did not assign to this, then `this' is non-zero at
+ the end of a destructor. As a special optimization, don't
+ emit test if this is an empty destructor. If it does nothing,
+ it does nothing. If it calls a base destructor, the base
+ destructor will perform the test. */
+
+ if (exprstmt != error_mark_node
+ && (TREE_CODE (exprstmt) != NOP_EXPR
+ || TREE_OPERAND (exprstmt, 0) != integer_zero_node
+ || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)))
+ {
+ expand_label (dtor_label);
+ if (cond != integer_one_node)
+ expand_start_cond (cond, 0);
+ if (exprstmt != void_zero_node)
+ /* Don't call `expand_expr_stmt' if we're not going to do
+ anything, since -Wall will give a diagnostic. */
+ expand_expr_stmt (exprstmt);
+
+ /* Run destructor on all virtual baseclasses. */
+ if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
+ {
+ tree vbases = nreverse
+ (copy_list (CLASSTYPE_VBASECLASSES (current_class_type)));
+ expand_start_cond (build (BIT_AND_EXPR, integer_type_node,
+ in_charge_node, integer_two_node), 0);
+ while (vbases)
+ {
+ if (TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (vbases)))
+ {
+ tree vb = get_vbase
+ (BINFO_TYPE (vbases),
+ TYPE_BINFO (current_class_type));
+
+ expand_expr_stmt
+ (build_base_dtor_call (current_class_ref,
+ vb, integer_zero_node));
+ }
+ vbases = TREE_CHAIN (vbases);
+ }
+ expand_end_cond ();
+ }
+
+ do_pending_stack_adjust ();
+ if (cond != integer_one_node)
+ expand_end_cond ();
+ }
+
+ virtual_size = c_sizeof (current_class_type);
+
+ /* At the end, call delete if that's what's requested. */
+
+ /* FDIS sez: At the point of definition of a virtual destructor
+ (including an implicit definition), non-placement operator
+ delete shall be looked up in the scope of the destructor's
+ class and if found shall be accessible and unambiguous.
+
+ This is somewhat unclear, but I take it to mean that if the
+ class only defines placement deletes we don't do anything here.
+ So we pass LOOKUP_SPECULATIVELY; delete_sanity will complain
+ for us if they ever try to delete one of these. */
+
+ if (TYPE_GETS_REG_DELETE (current_class_type)
+ || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
+ exprstmt = build_op_delete_call
+ (DELETE_EXPR, current_class_ptr, virtual_size,
+ LOOKUP_NORMAL | LOOKUP_SPECULATIVELY, NULL_TREE);
+ else
+ exprstmt = NULL_TREE;
+
+ if (exprstmt)
+ {
+ cond = build (BIT_AND_EXPR, integer_type_node,
+ in_charge_node, integer_one_node);
+ expand_start_cond (cond, 0);
+ expand_expr_stmt (exprstmt);
+ expand_end_cond ();
+ }
+
+ /* End of destructor. */
+ expand_end_bindings (NULL_TREE, getdecls () != NULL_TREE, 0);
+ poplevel (getdecls () != NULL_TREE, 0, 0);
+
+ /* Back to the top of destructor. */
+ /* Don't execute destructor code if `this' is NULL. */
+
+ start_sequence ();
+
+ /* If we need thunk-style vlists, initialize them if the caller did
+ not pass them. This requires a new temporary. The generated code
+ looks like
+ if (!(__in_charge & 4))
+ __vlist = __vl.<type> + sizeof(__vl.<type>);
+ else
+ __vlist = __vlist1;
+ */
+ if (TYPE_USES_PVBASES (current_class_type))
+ {
+ tree vlist = lookup_name (vlist_identifier, 0);
+ tree vlist1 = lookup_name (get_identifier (VLIST1_NAME), 0);
+ cond = build (BIT_AND_EXPR, integer_type_node,
+ in_charge_node, build_int_2 (4, 0));
+ cond = build1 (TRUTH_NOT_EXPR, boolean_type_node, cond);
+ expand_start_cond (cond, 0);
+ init_vlist (current_class_type);
+ expand_start_else ();
+ expand_expr_stmt (build_modify_expr (vlist, NOP_EXPR, vlist1));
+ expand_end_cond ();
+ }
+
+ /* If the dtor is empty, and we know there is not possible way we
+ could use any vtable entries, before they are possibly set by
+ a base class dtor, we don't have to setup the vtables, as we
+ know that any base class dtoring will set up any vtables it
+ needs. We avoid MI, because one base class dtor can do a
+ virtual dispatch to an overridden function that would need to
+ have a non-related vtable set up, we cannot avoid setting up
+ vtables in that case. We could change this to see if there is
+ just one vtable. */
+ if (! empty_dtor || TYPE_USES_COMPLEX_INHERITANCE (current_class_type))
+ {
+ /* Make all virtual function table pointers in non-virtual base
+ classes point to CURRENT_CLASS_TYPE's virtual function
+ tables. */
+ expand_direct_vtbls_init (binfo, binfo, 1, 0, current_class_ptr);
+
+ if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
+ expand_indirect_vtbls_init (binfo, current_class_ref, current_class_ptr);
+ }
+
+ if (! ok_to_optimize_dtor)
+ {
+ cond = build_binary_op (NE_EXPR,
+ current_class_ptr, integer_zero_node);
+ expand_start_cond (cond, 0);
+ }
+
+ insns = get_insns ();
+ end_sequence ();
+
+ last_parm_insn = get_first_nonparm_insn ();
+ if (last_parm_insn == NULL_RTX)
+ last_parm_insn = get_last_insn ();
+ else
+ last_parm_insn = previous_insn (last_parm_insn);
+
+ emit_insns_after (insns, last_parm_insn);
+
+ if (! ok_to_optimize_dtor)
+ expand_end_cond ();
+}
+
+/* Emit implicit code for a constructor. This is a subroutine of
+ finish_function. CALL_POPLEVEL is the same variable in
+ finish_function. */
+
+static void
+finish_ctor (call_poplevel)
+ int call_poplevel;
+{
+ register tree fndecl = current_function_decl;
+ tree cond = NULL_TREE, thenclause = NULL_TREE;
+ rtx insns;
+ tree decls;
+
+ /* Allow constructor for a type to get a new instance of the object
+ using `build_new'. */
+ tree abstract_virtuals = CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type);
+ CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = NULL_TREE;
+
+ if (flag_this_is_variable > 0)
+ {
+ cond = build_binary_op (EQ_EXPR, current_class_ptr, integer_zero_node);
+ thenclause =
+ build_modify_expr (current_class_ptr, NOP_EXPR,
+ build_new (NULL_TREE, current_class_type,
+ void_type_node, 0));
+ }
+
+ CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = abstract_virtuals;
+
+ start_sequence ();
+
+ if (flag_this_is_variable > 0)
+ {
+ expand_start_cond (cond, 0);
+ expand_expr_stmt (thenclause);
+ expand_end_cond ();
+ }
+
+ /* Emit insns from `emit_base_init' which sets up virtual
+ function table pointer(s). */
+ if (base_init_expr)
+ {
+ expand_expr_stmt (base_init_expr);
+ base_init_expr = NULL_TREE;
+ }
+
+ insns = get_insns ();
+ end_sequence ();
+
+ /* This is where the body of the constructor begins. */
+
+ emit_insns_after (insns, last_parm_cleanup_insn);
+
+ end_protect_partials ();
+
+ /* This is where the body of the constructor ends. */
+ expand_label (ctor_label);
+ ctor_label = NULL_TREE;
+
+ if (call_poplevel)
+ {
+ decls = getdecls ();
+ expand_end_bindings (decls, decls != NULL_TREE, 0);
+ poplevel (decls != NULL_TREE, 1, 0);
+ }
+
+ /* c_expand_return knows to return 'this' from a constructor. */
+ c_expand_return (NULL_TREE);
+
+ current_function_assigns_this = 0;
+ current_function_just_assigned_this = 0;
+}
+
+
/* Finish up a function declaration and compile that function
all the way to assembler language output. The free the storage
for the function definition.
@@ -13924,7 +14323,6 @@ finish_function (lineno, flags, nested)
{
register tree fndecl = current_function_decl;
tree fntype, ctype = NULL_TREE;
- rtx last_parm_insn, insns;
/* Label to use if this function is supposed to return a value. */
tree no_return_label = NULL_TREE;
tree decls = NULL_TREE;
@@ -13986,191 +14384,7 @@ finish_function (lineno, flags, nested)
do_pending_stack_adjust ();
if (dtor_label)
- {
- tree binfo = TYPE_BINFO (current_class_type);
- tree cond = integer_one_node;
- tree exprstmt;
- tree in_charge_node = lookup_name (in_charge_identifier, 0);
- tree virtual_size;
- int ok_to_optimize_dtor = 0;
- int empty_dtor = get_last_insn () == last_dtor_insn;
-
- if (current_function_assigns_this)
- cond = build (NE_EXPR, boolean_type_node,
- current_class_ptr, integer_zero_node);
- else
- {
- int n_baseclasses = CLASSTYPE_N_BASECLASSES (current_class_type);
-
- /* If this destructor is empty, then we don't need to check
- whether `this' is NULL in some cases. */
- if ((flag_this_is_variable & 1) == 0)
- ok_to_optimize_dtor = 1;
- else if (empty_dtor)
- ok_to_optimize_dtor
- = (n_baseclasses == 0
- || (n_baseclasses == 1
- && TYPE_HAS_DESTRUCTOR (TYPE_BINFO_BASETYPE (current_class_type, 0))));
- }
-
- /* These initializations might go inline. Protect
- the binding level of the parms. */
- pushlevel (0);
- expand_start_bindings (0);
-
- if (current_function_assigns_this)
- {
- current_function_assigns_this = 0;
- current_function_just_assigned_this = 0;
- }
-
- /* Generate the code to call destructor on base class.
- If this destructor belongs to a class with virtual
- functions, then set the virtual function table
- pointer to represent the type of our base class. */
-
- /* This side-effect makes call to `build_delete' generate the
- code we have to have at the end of this destructor.
- `build_delete' will set the flag again. */
- TYPE_HAS_DESTRUCTOR (current_class_type) = 0;
-
- /* These are two cases where we cannot delegate deletion. */
- if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)
- || TYPE_GETS_REG_DELETE (current_class_type))
- exprstmt = build_delete (current_class_type, current_class_ref, integer_zero_node,
- LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
- else
- exprstmt = build_delete (current_class_type, current_class_ref, in_charge_node,
- LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
-
- /* If we did not assign to this, then `this' is non-zero at
- the end of a destructor. As a special optimization, don't
- emit test if this is an empty destructor. If it does nothing,
- it does nothing. If it calls a base destructor, the base
- destructor will perform the test. */
-
- if (exprstmt != error_mark_node
- && (TREE_CODE (exprstmt) != NOP_EXPR
- || TREE_OPERAND (exprstmt, 0) != integer_zero_node
- || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)))
- {
- expand_label (dtor_label);
- if (cond != integer_one_node)
- expand_start_cond (cond, 0);
- if (exprstmt != void_zero_node)
- /* Don't call `expand_expr_stmt' if we're not going to do
- anything, since -Wall will give a diagnostic. */
- expand_expr_stmt (exprstmt);
-
- /* Run destructor on all virtual baseclasses. */
- if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
- {
- tree vbases = nreverse (copy_list (CLASSTYPE_VBASECLASSES (current_class_type)));
- expand_start_cond (build (BIT_AND_EXPR, integer_type_node,
- in_charge_node, integer_two_node), 0);
- while (vbases)
- {
- if (TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (vbases)))
- {
- tree vb = get_vbase
- (BINFO_TYPE (vbases),
- TYPE_BINFO (current_class_type));
- expand_expr_stmt
- (build_scoped_method_call
- (current_class_ref, vb, dtor_identifier,
- build_expr_list (NULL_TREE, integer_zero_node)));
- }
- vbases = TREE_CHAIN (vbases);
- }
- expand_end_cond ();
- }
-
- do_pending_stack_adjust ();
- if (cond != integer_one_node)
- expand_end_cond ();
- }
-
- virtual_size = c_sizeof (current_class_type);
-
- /* At the end, call delete if that's what's requested. */
-
- /* FDIS sez: At the point of definition of a virtual destructor
- (including an implicit definition), non-placement operator
- delete shall be looked up in the scope of the destructor's
- class and if found shall be accessible and unambiguous.
-
- This is somewhat unclear, but I take it to mean that if the
- class only defines placement deletes we don't do anything here.
- So we pass LOOKUP_SPECULATIVELY; delete_sanity will complain
- for us if they ever try to delete one of these. */
-
- if (TYPE_GETS_REG_DELETE (current_class_type)
- || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
- exprstmt = build_op_delete_call
- (DELETE_EXPR, current_class_ptr, virtual_size,
- LOOKUP_NORMAL | LOOKUP_SPECULATIVELY, NULL_TREE);
- else
- exprstmt = NULL_TREE;
-
- if (exprstmt)
- {
- cond = build (BIT_AND_EXPR, integer_type_node,
- in_charge_node, integer_one_node);
- expand_start_cond (cond, 0);
- expand_expr_stmt (exprstmt);
- expand_end_cond ();
- }
-
- /* End of destructor. */
- expand_end_bindings (NULL_TREE, getdecls () != NULL_TREE, 0);
- poplevel (getdecls () != NULL_TREE, 0, 0);
-
- /* Back to the top of destructor. */
- /* Don't execute destructor code if `this' is NULL. */
-
- start_sequence ();
-
- /* If the dtor is empty, and we know there is not possible way we
- could use any vtable entries, before they are possibly set by
- a base class dtor, we don't have to setup the vtables, as we
- know that any base class dtoring will set up any vtables it
- needs. We avoid MI, because one base class dtor can do a
- virtual dispatch to an overridden function that would need to
- have a non-related vtable set up, we cannot avoid setting up
- vtables in that case. We could change this to see if there is
- just one vtable. */
- if (! empty_dtor || TYPE_USES_COMPLEX_INHERITANCE (current_class_type))
- {
- /* Make all virtual function table pointers in non-virtual base
- classes point to CURRENT_CLASS_TYPE's virtual function
- tables. */
- expand_direct_vtbls_init (binfo, binfo, 1, 0, current_class_ptr);
-
- if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
- expand_indirect_vtbls_init (binfo, current_class_ref, current_class_ptr);
- }
-
- if (! ok_to_optimize_dtor)
- {
- cond = build_binary_op (NE_EXPR,
- current_class_ptr, integer_zero_node);
- expand_start_cond (cond, 0);
- }
-
- insns = get_insns ();
- end_sequence ();
-
- last_parm_insn = get_first_nonparm_insn ();
- if (last_parm_insn == NULL_RTX)
- last_parm_insn = get_last_insn ();
- else
- last_parm_insn = previous_insn (last_parm_insn);
-
- emit_insns_after (insns, last_parm_insn);
-
- if (! ok_to_optimize_dtor)
- expand_end_cond ();
- }
+ finish_dtor ();
else if (current_function_assigns_this)
{
/* Does not need to call emit_base_init, because
@@ -14200,67 +14414,9 @@ finish_function (lineno, flags, nested)
current_function_just_assigned_this = 0;
base_init_expr = NULL_TREE;
}
- else if (DECL_CONSTRUCTOR_P (fndecl))
- {
- tree cond = NULL_TREE, thenclause = NULL_TREE;
- /* Allow constructor for a type to get a new instance of the object
- using `build_new'. */
- tree abstract_virtuals = CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type);
- CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = NULL_TREE;
-
- if (flag_this_is_variable > 0)
- {
- cond = build_binary_op (EQ_EXPR,
- current_class_ptr, integer_zero_node);
- thenclause = build_modify_expr (current_class_ptr, NOP_EXPR,
- build_new (NULL_TREE, current_class_type, void_type_node, 0));
- }
-
- CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = abstract_virtuals;
-
- start_sequence ();
-
- if (flag_this_is_variable > 0)
- {
- expand_start_cond (cond, 0);
- expand_expr_stmt (thenclause);
- expand_end_cond ();
- }
-
- /* Emit insns from `emit_base_init' which sets up virtual
- function table pointer(s). */
- if (base_init_expr)
- {
- expand_expr_stmt (base_init_expr);
- base_init_expr = NULL_TREE;
- }
-
- insns = get_insns ();
- end_sequence ();
-
- /* This is where the body of the constructor begins. */
-
- emit_insns_after (insns, last_parm_cleanup_insn);
-
- end_protect_partials ();
-
- /* This is where the body of the constructor ends. */
- expand_label (ctor_label);
- ctor_label = NULL_TREE;
-
- if (call_poplevel)
- {
- decls = getdecls ();
- expand_end_bindings (decls, decls != NULL_TREE, 0);
- poplevel (decls != NULL_TREE, 1, 0);
- }
-
- /* c_expand_return knows to return 'this' from a constructor. */
- c_expand_return (NULL_TREE);
-
- current_function_assigns_this = 0;
- current_function_just_assigned_this = 0;
- }
+ else if (DECL_CONSTRUCTOR_P (fndecl)
+ && !DECL_VLIST_CTOR_WRAPPER_P (fndecl))
+ finish_ctor (call_poplevel);
else if (DECL_MAIN_P (fndecl))
{
/* Make it so that `main' always returns 0 by default. */
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index bb24014d790..d7f58bfbfd2 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -224,14 +224,21 @@ int warn_long_long = 1;
int warn_ctor_dtor_privacy = 1;
-/* True if we want to implement vtables using "thunks".
- The default is off. */
+/* 1 or 2 if we want to implement vtables using "thunks".
+ The default is off. Version 1 indicates "old" implementation;
+ Version 2 passes the __vlist argument in pvbase cases. */
#ifndef DEFAULT_VTABLE_THUNKS
#define DEFAULT_VTABLE_THUNKS 0
#endif
int flag_vtable_thunks = DEFAULT_VTABLE_THUNKS;
+#if DEFAULT_VTABLE_THUNKS == 2
+int flag_vtable_thunks_compat = 1;
+#else
+int flag_vtable_thunks_compat = 0;
+#endif
+
/* True if we want to deal with repository information. */
int flag_use_repository;
@@ -633,12 +640,43 @@ lang_decode_option (argc, argv)
found = 1;
cp_deprecated ("-fexternal-templates");
}
+ else if (!strncmp (p, "vtable-thunks", 13))
+ {
+ if (p[13] == '=')
+ {
+ flag_vtable_thunks =
+ read_integral_parameter (p+14, p, 1);
+ }
+ else
+ {
+ /* If the machine file has a default setting, use that
+ for -fvtable-thunks. Otherwise, set it to version
+ 2. */
+#if DEFAULT_VTABLE_THUNKS
+ flag_vtable_thunks = DEFAULT_VTABLE_THUNKS;
+#else
+ flag_vtable_thunks = 1;
+#endif
+ }
+ if (flag_vtable_thunks == 2)
+ /* v2 is a compatibility mode between v1 and v3. */
+ flag_vtable_thunks_compat = 1;
+ else if(flag_vtable_thunks == 3)
+ flag_vtable_thunks_compat = 0;
+ found = 1;
+ }
+ else if (!strcmp (p, "handle-signatures"))
+ {
+ flag_handle_signatures = 1;
+ found = 1;
+ cp_deprecated ("-fhandle-signatures");
+ }
else if (!strcmp (p, "new-abi"))
{
flag_new_abi = 1;
flag_do_squangling = 1;
flag_honor_std = 1;
- flag_vtable_thunks = 1;
+ flag_vtable_thunks = 2;
}
else if (!strcmp (p, "no-new-abi"))
{
@@ -911,17 +949,27 @@ grok_x_components (specs)
This function adds the "in-charge" flag to member function FN if
appropriate. It is called from grokclassfn and tsubst.
- FN must be either a constructor or destructor. */
+ FN must be either a constructor or destructor.
+
+ For vtable thunks, types with polymorphic virtual bases need an
+ additional "vlist" argument which is an array of virtual tables.
+ In addition, if backwards-compatibility to v1 thunks is requested,
+ a wrapper constructor may be needed as well. */
void
maybe_retrofit_in_chrg (fn)
tree fn;
{
tree basetype, arg_types, parms, parm, fntype;
+ tree wrapper;
+
+ if (CLASSTYPE_IS_TEMPLATE (DECL_CLASS_CONTEXT (fn)))
+ /* Never retrofit arguments on template methods. */
+ return;
if (DECL_CONSTRUCTOR_P (fn)
&& TYPE_USES_VIRTUAL_BASECLASSES (DECL_CLASS_CONTEXT (fn))
- && ! DECL_CONSTRUCTOR_FOR_VBASE_P (fn))
+ && DECL_CONSTRUCTOR_FOR_VBASE (fn) == 0)
/* OK */;
else if (! DECL_CONSTRUCTOR_P (fn)
&& TREE_CHAIN (DECL_ARGUMENTS (fn)) == NULL_TREE)
@@ -930,7 +978,41 @@ maybe_retrofit_in_chrg (fn)
return;
if (DECL_CONSTRUCTOR_P (fn))
- DECL_CONSTRUCTOR_FOR_VBASE_P (fn) = 1;
+ {
+ if (TYPE_USES_PVBASES (DECL_CLASS_CONTEXT (fn)))
+ {
+ DECL_CONSTRUCTOR_FOR_VBASE (fn) = CONSTRUCTOR_FOR_PVBASE;
+ if (flag_vtable_thunks_compat && varargs_function_p (fn))
+ sorry ("-fvtable-thunks=2 for vararg constructor", fn);
+ }
+ else
+ DECL_CONSTRUCTOR_FOR_VBASE (fn) = CONSTRUCTOR_FOR_VBASE;
+ }
+ else if (TYPE_USES_PVBASES (DECL_CLASS_CONTEXT (fn)))
+ DECL_CONSTRUCTOR_FOR_VBASE (fn) = DESTRUCTOR_FOR_PVBASE;
+
+ /* Retrieve the arguments, because it is potentially modified twice. */
+ arg_types = TYPE_ARG_TYPES (TREE_TYPE (fn));
+ basetype = TREE_TYPE (TREE_VALUE (arg_types));
+ arg_types = TREE_CHAIN (arg_types);
+
+ if (DECL_CONSTRUCTOR_FOR_PVBASE_P (fn)
+ || DECL_DESTRUCTOR_FOR_PVBASE_P (fn))
+ {
+ /* Add the __vlist argument first. See __in_chrg below. */
+ tree id = vlist_identifier;
+ if (DECL_DESTRUCTOR_FOR_PVBASE_P (fn))
+ id = get_identifier (VLIST1_NAME);
+ parm = build_decl (PARM_DECL, id, vlist_type_node);
+ SET_DECL_ARTIFICIAL (parm);
+ DECL_ARG_TYPE (parm) = vlist_type_node;
+ parms = DECL_ARGUMENTS (fn);
+ /* Add it after 'this'. */
+ TREE_CHAIN (parm) = TREE_CHAIN (parms);
+ TREE_CHAIN (parms) = parm;
+
+ arg_types = hash_tree_chain (vlist_type_node, arg_types);
+ }
/* First add it to DECL_ARGUMENTS... */
parm = build_decl (PARM_DECL, in_charge_identifier, integer_type_node);
@@ -943,9 +1025,7 @@ maybe_retrofit_in_chrg (fn)
TREE_CHAIN (parms) = parm;
/* ...and then to TYPE_ARG_TYPES. */
- arg_types = TYPE_ARG_TYPES (TREE_TYPE (fn));
- basetype = TREE_TYPE (TREE_VALUE (arg_types));
- arg_types = hash_tree_chain (integer_type_node, TREE_CHAIN (arg_types));
+ arg_types = hash_tree_chain (integer_type_node, arg_types);
fntype = build_cplus_method_type (basetype, TREE_TYPE (TREE_TYPE (fn)),
arg_types);
if (TYPE_RAISES_EXCEPTIONS (TREE_TYPE (fn)))
@@ -1036,7 +1116,8 @@ grokclassfn (ctype, function, flags, quals)
if (flags == DTOR_FLAG)
{
- DECL_ASSEMBLER_NAME (function) = build_destructor_name (ctype);
+ DECL_ASSEMBLER_NAME (function) =
+ build_destructor_name (ctype, DECL_DESTRUCTOR_FOR_PVBASE_P (function));
TYPE_HAS_DESTRUCTOR (ctype) = 1;
}
else
@@ -2409,12 +2490,13 @@ mark_vtable_entries (decl)
tree fnaddr;
tree fn;
- if (TREE_CODE (TREE_VALUE (entries)) == NOP_EXPR)
+ fnaddr = (flag_vtable_thunks ? TREE_VALUE (entries)
+ : FNADDR_FROM_VTABLE_ENTRY (TREE_VALUE (entries)));
+
+ if (TREE_CODE (fnaddr) == NOP_EXPR)
/* RTTI offset. */
continue;
- fnaddr = (flag_vtable_thunks ? TREE_VALUE (entries)
- : FNADDR_FROM_VTABLE_ENTRY (TREE_VALUE (entries)));
fn = TREE_OPERAND (fnaddr, 0);
TREE_ADDRESSABLE (fn) = 1;
if (DECL_LANG_SPECIFIC (fn) && DECL_ABSTRACT_VIRTUAL_P (fn))
@@ -2478,9 +2560,13 @@ void
maybe_make_one_only (decl)
tree decl;
{
- /* This is not necessary on targets that support weak symbols, because
- the implicit instantiations will defer to the explicit one. */
- if (! supports_one_only () || SUPPORTS_WEAK)
+ /* We used to say that this was not necessary on targets that support weak
+ symbols, because the implicit instantiations will defer to the explicit
+ one. However, that's not actually the case in SVR4; a strong definition
+ after a weak one is an error. Also, not making explicit
+ instantiations one_only means that we can end up with two copies of
+ some template instantiations. */
+ if (! supports_one_only ())
return;
/* We can't set DECL_COMDAT on functions, or finish_file will think
@@ -2768,6 +2854,30 @@ import_export_decl (decl)
else
DECL_NOT_REALLY_EXTERN (decl) = 0;
}
+ else if (DECL_VLIST_CTOR_WRAPPER_P (decl))
+ {
+ int implement;
+ tree ctype = DECL_CLASS_CONTEXT (decl);
+ import_export_class (ctype);
+ if (!DECL_THIS_INLINE (DECL_VLIST_CTOR_WRAPPED (decl)))
+ {
+ /* No change. */
+ }
+ else if (CLASSTYPE_INTERFACE_KNOWN (ctype))
+ {
+ implement = !CLASSTYPE_INTERFACE_ONLY (ctype)
+ && flag_implement_inlines;
+ DECL_NOT_REALLY_EXTERN (decl) = implement;
+ DECL_EXTERNAL (decl) = !implement;
+ }
+ else
+ {
+ DECL_NOT_REALLY_EXTERN (decl) = 1;
+ DECL_EXTERNAL (decl) = 1;
+ }
+ if (flag_weak)
+ comdat_linkage (decl);
+ }
else if (DECL_FUNCTION_MEMBER_P (decl))
{
tree ctype = DECL_CLASS_CONTEXT (decl);
@@ -2803,7 +2913,7 @@ import_export_decl (decl)
since it will not be emitted when the vtable for the type
is output (which is when the unqualified version is
generated). */
- && ctype == TYPE_MAIN_VARIANT (ctype))
+ && same_type_p (ctype, TYPE_MAIN_VARIANT (ctype)))
{
DECL_NOT_REALLY_EXTERN (decl)
= ! (CLASSTYPE_INTERFACE_ONLY (ctype)
@@ -2814,7 +2924,8 @@ import_export_decl (decl)
if (flag_weak)
comdat_linkage (decl);
}
- else if (TYPE_BUILT_IN (ctype) && ctype == TYPE_MAIN_VARIANT (ctype))
+ else if (TYPE_BUILT_IN (ctype)
+ && same_type_p (ctype, TYPE_MAIN_VARIANT (ctype)))
DECL_NOT_REALLY_EXTERN (decl) = 0;
else
comdat_linkage (decl);
@@ -3087,7 +3198,7 @@ start_static_storage_duration_function ()
/* Start the function itself. This is equivalent to declarating the
function as:
- static inline void __ssdf (int __initialize_p, init __priority_p);
+ static void __ssdf (int __initialize_p, init __priority_p);
It is static because we only need to call this function from the
various constructor and destructor functions for this module. */
@@ -3519,6 +3630,33 @@ generate_ctor_and_dtor_functions_for_priority (n, data)
return 0;
}
+/* Returns non-zero if T is a vlist ctor wrapper. */
+
+static int
+vlist_ctor_wrapper_p (t, data)
+ tree t;
+ void *data ATTRIBUTE_UNUSED;
+{
+ return (TREE_CODE (t) == FUNCTION_DECL) && DECL_VLIST_CTOR_WRAPPER_P (t);
+}
+
+/* Emits a vlist ctor wrapper if necessary. */
+
+static int
+finish_vlist_ctor_wrapper (t, data)
+ tree *t;
+ void *data ATTRIBUTE_UNUSED;
+{
+ import_export_decl (*t);
+ if (!DECL_EXTERNAL (*t) && !TREE_USED (*t))
+ {
+ mark_used (*t);
+ synthesize_method (*t);
+ return 1;
+ }
+ return 0;
+}
+
/* This routine is called from the last rule in yyparse ().
Its job is to create all the code needed to initialize and
destroy the global aggregates. We do the destruction
@@ -3572,15 +3710,9 @@ finish_file ()
do
{
- /* We need to start a new initialization function each time
- through the loop. That's because we need to know which
- vtables have been referenced, and TREE_SYMBOL_REFERENCED
- isn't computed until a function is finished, and written out.
- That's a deficiency in the back-end. When this is fixed,
- these initialization functions could all become inline, with
- resulting performance improvements. */
- start_static_storage_duration_function ();
- push_to_top_level ();
+ /* Non-zero if we need a static storage duration function on
+ this iteration through the loop. */
+ int need_ssdf_p = 0;
reconsider = 0;
@@ -3601,10 +3733,12 @@ finish_file ()
/*data=*/0))
reconsider = 1;
- /* Come back to the static storage duration function; we're
- about to emit instructions there for static initializations
- and such. */
- pop_from_top_level ();
+ if (walk_globals (vlist_ctor_wrapper_p,
+ finish_vlist_ctor_wrapper,
+ /*data=*/0))
+ reconsider = 1;
+
+
/* The list of objects with static storage duration is built up
in reverse order, so we reverse it here. We also clear
STATIC_AGGREGATES so that any new aggregates added during the
@@ -3616,6 +3750,20 @@ finish_file ()
{
if (! TREE_ASM_WRITTEN (TREE_VALUE (vars)))
rest_of_decl_compilation (TREE_VALUE (vars), 0, 1, 1);
+ if (!need_ssdf_p)
+ {
+ /* We need to start a new initialization function each
+ time through the loop. That's because we need to
+ know which vtables have been referenced, and
+ TREE_SYMBOL_REFERENCED isn't computed until a
+ function is finished, and written out. That's a
+ deficiency in the back-end. When this is fixed,
+ these initialization functions could all become
+ inline, with resulting performance improvements. */
+ start_static_storage_duration_function ();
+ need_ssdf_p = 1;
+ }
+
do_static_initialization_and_destruction (TREE_VALUE (vars),
TREE_PURPOSE (vars));
reconsider = 1;
@@ -3624,7 +3772,8 @@ finish_file ()
/* Finish up the static storage duration function for this
round. */
- finish_static_storage_duration_function ();
+ if (need_ssdf_p)
+ finish_static_storage_duration_function ();
/* Go through the various inline functions, and see if any need
synthesizing. */
@@ -3807,7 +3956,8 @@ reparse_absdcl_as_casts (decl, expr)
expr = build_c_cast (type, expr);
}
- if (warn_old_style_cast)
+ if (warn_old_style_cast && ! in_system_header
+ && current_lang_name != lang_name_c)
warning ("use of old-style cast");
return expr;
@@ -3981,7 +4131,7 @@ build_expr_from_tree (t)
else
{
tree fn = TREE_OPERAND (t, 0);
-
+
/* We can get a TEMPLATE_ID_EXPR here on code like:
x->f<2>();
@@ -3992,7 +4142,9 @@ build_expr_from_tree (t)
build_expr_from_tree. So, just use build_expr_from_tree
when we really need it. */
if (TREE_CODE (fn) == TEMPLATE_ID_EXPR)
- fn = build_expr_from_tree (fn);
+ fn = lookup_template_function
+ (TREE_OPERAND (fn, 0),
+ build_expr_from_tree (TREE_OPERAND (fn, 1)));
return build_method_call
(build_expr_from_tree (TREE_OPERAND (t, 1)),
@@ -4481,6 +4633,12 @@ set_decl_namespace (decl, scope, friendp)
/* Since decl is a function, old should contain a function decl. */
if (!is_overloaded_fn (old))
goto complain;
+ if (processing_template_decl || processing_specialization)
+ /* We have not yet called push_template_decl to turn the
+ FUNCTION_DECL into a TEMPLATE_DECL, so the declarations
+ won't match. But, we'll check later, when we construct the
+ template. */
+ return;
for (; old; old = OVL_NEXT (old))
if (decls_match (decl, OVL_CURRENT (old)))
return;
@@ -4870,11 +5028,19 @@ lookup_arg_dependent (name, fns, args)
tree args;
{
struct arg_lookup k;
+
k.name = name;
k.functions = fns;
- k.namespaces = NULL_TREE;
k.classes = NULL_TREE;
-
+
+ /* Note that we've already looked at the current namespace during normal
+ unqualified lookup, unless we found a decl in function scope. */
+ if (fns && ! TREE_PERMANENT (OVL_CURRENT (fns)))
+ k.namespaces = NULL_TREE;
+ else
+ k.namespaces = scratch_tree_cons (current_decl_namespace (),
+ NULL_TREE, NULL_TREE);
+
push_scratch_obstack ();
arg_assoc_args (&k, args);
pop_obstacks ();
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index ed316e1dafc..4da1d2f3b87 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -211,6 +211,11 @@ dump_type_real (t, v, canonical_name)
OB_PUTS ("{unknown type}");
break;
+ case TREE_LIST:
+ /* A list of function parms. */
+ dump_parameters (t, 0, canonical_name);
+ break;
+
case IDENTIFIER_NODE:
OB_PUTID (t);
break;
diff --git a/gcc/cp/exception.cc b/gcc/cp/exception.cc
index 8e8f35f50db..59342c6423e 100644
--- a/gcc/cp/exception.cc
+++ b/gcc/cp/exception.cc
@@ -247,10 +247,10 @@ __cp_pop_exception (cp_eh_info *p)
if (p->cleanup)
/* 2 is a magic value for destructors; see build_delete(). */
- p->cleanup (p->value, 2);
+ p->cleanup (p->original_value, 2); // value may have been adjusted.
if (! __is_pointer (p->type))
- __eh_free (p->original_value); // value may have been co-erced.
+ __eh_free (p->original_value); // value may have been adjusted.
__eh_free (p);
}
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index bc745ff0a00..83bdff9eba7 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -36,6 +36,62 @@ static tree extract_scalar_init PROTO((tree, tree));
static rtx cplus_expand_expr PROTO((tree, rtx, enum machine_mode,
enum expand_modifier));
+/* Hook used by output_constant to expand language-specific
+ constants. */
+
+static tree
+cplus_expand_constant (cst)
+ tree cst;
+{
+ switch (TREE_CODE (cst))
+ {
+ case PTRMEM_CST:
+ {
+ tree type = TREE_TYPE (cst);
+ tree member;
+ tree offset;
+
+ /* Find the member. */
+ member = PTRMEM_CST_MEMBER (cst);
+
+ if (TREE_CODE (member) == FIELD_DECL)
+ {
+ /* Find the offset for the field. */
+ offset = convert (sizetype,
+ size_binop (EASY_DIV_EXPR,
+ DECL_FIELD_BITPOS (member),
+ size_int (BITS_PER_UNIT)));
+
+ /* We offset all pointer to data members by 1 so that we
+ can distinguish between a null pointer to data member
+ and the first data member of a structure. */
+ offset = size_binop (PLUS_EXPR, offset, size_int (1));
+
+ cst = cp_convert (type, offset);
+ }
+ else
+ {
+ tree delta;
+ tree idx;
+ tree pfn;
+ tree delta2;
+
+ expand_ptrmemfunc_cst (cst, &delta, &idx, &pfn, &delta2);
+
+ cst = build_ptrmemfunc1 (type, delta, idx,
+ pfn, delta2);
+ }
+ }
+ break;
+
+ default:
+ /* There's nothing to do. */
+ break;
+ }
+
+ return cst;
+}
+
/* Hook used by expand_expr to expand language-specific tree codes. */
static rtx
@@ -163,43 +219,8 @@ cplus_expand_expr (exp, target, tmode, modifier)
}
case PTRMEM_CST:
- {
- tree member;
- tree offset;
-
- /* Find the member. */
- member = PTRMEM_CST_MEMBER (exp);
-
- if (TREE_CODE (member) == FIELD_DECL)
- {
- /* Find the offset for the field. */
- offset = convert (sizetype,
- size_binop (EASY_DIV_EXPR,
- DECL_FIELD_BITPOS (member),
- size_int (BITS_PER_UNIT)));
-
- /* We offset all pointer to data members by 1 so that we
- can distinguish between a null pointer to data member
- and the first data member of a structure. */
- offset = size_binop (PLUS_EXPR, offset, size_int (1));
-
- return expand_expr (cp_convert (type, offset), target, tmode,
- modifier);
- }
- else
- {
- tree delta;
- tree idx;
- tree pfn;
- tree delta2;
-
- expand_ptrmemfunc_cst (exp, &delta, &idx, &pfn, &delta2);
-
- return expand_expr (build_ptrmemfunc1 (type, delta, idx,
- pfn, delta2),
- target, tmode, modifier);
- }
- }
+ return expand_expr (cplus_expand_constant (exp),
+ target, tmode, modifier);
case OFFSET_REF:
{
@@ -237,6 +258,7 @@ void
init_cplus_expand ()
{
lang_expand_expr = cplus_expand_expr;
+ lang_expand_constant = cplus_expand_constant;
}
/* If DECL had its rtl moved from where callers expect it
diff --git a/gcc/cp/g++FAQ.texi b/gcc/cp/g++FAQ.texi
deleted file mode 100644
index 3cbec50459c..00000000000
--- a/gcc/cp/g++FAQ.texi
+++ /dev/null
@@ -1,2423 +0,0 @@
-\input texinfo.tex @c -*-texinfo-*-
-@c %**start of header
-@setfilename g++FAQ.info
-@settitle Frequently asked questions about the GNU C++ compiler
-@setchapternewpage off
-@c version: %W% %G%
-@c %**end of header
-
-@iftex
-@finalout
-@end iftex
-@titlepage
-@title G++ FAQ
-@subtitle Frequently asked questions about the GNU C++ compiler
-@subtitle June 8, 1998
-@sp 1
-@author Joe Buck
-@page
-@end titlepage
-
-@ifinfo
-@node Top, basics, (dir), (dir)
-@top
-@unnumbered FAQ for g++ and libg++, by Joe Buck (jbuck@@synopsys.com)
-@end ifinfo
-
-@cindex FAQ for g++, latest version
-@cindex Archive site for FAQ lists
-@cindex rtfm.mit.edu
-@cindex Joe Buck <jbuck@@synopsys.com>
-@cindex FAQ for C++
-
-This is a list of frequently asked questions (FAQ) for g++ users; thanks to
-all those who sent suggestions for improvements. Thanks to Marcus Speh
-for doing the index. A hypertext version is available on the World Wide
-Web at @file{http://www.cygnus.com/misc/g++FAQ_toc.html}.
-
-Please send updates and corrections to the FAQ to
-@code{jbuck@@synopsys.com}. Please do @emph{not} use me as a resource
-to get your questions answered; that's what @file{gnu.g++.help} is for and I
-don't have the time to support the net's use of g++. If you ignore this
-request your message to me may be deleted without a reply. Sorry.
-
-Many FAQs, including this one, are available on the archive site
-``rtfm.mit.edu''; see @*
-@file{ftp://rtfm.mit.edu/pub/usenet/news.answers}.
-This FAQ may be found in the subdirectory g++-FAQ.
-
-@cindex Marshall Cline
-@cindex comp.lang.c++
-@cindex C++ FAQ
-This FAQ is intended to supplement, not replace, Marshall Cline's
-excellent FAQ for the C++ language and for the newsgroup
-@file{comp.lang.c++}. Especially if g++ is the first C++
-compiler you've ever used, the question ``How do I do <X> with g++?''
-is probably really ``How do I do <X> in C++?''.
-You can find this FAQ at
-@file{ftp://rtfm.mit.edu/pub/usenet/comp.lang.c++},
-or in HTML form at @file{http://www.cerfnet.com/~mpcline/On-Line-C++-FAQs/}.
-
-@menu
-* basics:: What is g++? How do I get it?
-* egcs and 2.8.x:: The next generation(s) of g++
-* installation:: How to install, installation problems
-* evolution:: The Evolution of g++
-* User Problems:: Commonly reported problems and bugs
-* legalities:: Lawyer stuff, GPL, LGPL, etc.
-* index:: Index of terms
-
- --- The Detailed Node Listing ---
-
-The basics: what is g++?
-
-* latest versions:: What are the latest versions of g++ and libraries?
-* g++ for Unix:: How do I get g++ for Unix?
-* getting-egcs:: How do I get egcs?
-* g++ for HP::
-* g++ for Solaris 2.x::
-* g++ for other platforms::
-* 1.x vs 2.x versions::
-
-The Next Generation(s) of g++
-
-* new-in-2.8.x:: What's new in gcc 2.8.x?
-* egcs-intro:: What is egcs?
-* egcs-whats-new:: What's new in egcs vs 2.7.2?
-* egcs-bug-fixes:: What was fixed in the latest egcs releases?
-* egcs-linux:: If I install on Linux, will it overwrite my libraries?
-* egcs-run-both:: How can I run both egcs and an FSF release?
-* egcs-vs-2.8.x:: How will egcs affect 2.8.x?
-* egcs-robustness:: How robust is egcs?
-
-Installation Issues and Problems
-
-* gcc-2 + g++-1::
-* what else do I need?::
-* use GNU linker?::
-* Use GNU assembler?::
-* shared libraries::
-* repository::
-* repo bugs::
-* Use GNU C library?::
-* Global constructor problems::
-* Strange assembler errors::
-* Other problems building libg++::
-* More size_t problems::
-* Rebuild libg++?::
-* co-existing versions::
-* Installing on Linux::
-* Linux Slackware 3.0::
-
-The Evolution of g++
-
-* version 2.7.x:: What's changed in 2.7.x from earlier versions
-* libstdc++::
-
-User Problems
-
-* missing virtual table::
-* for scope::
-* const constructor::
-* unused parameter warnings::
-* jump crosses initialization::
-* Demangler::
-* static data members::
-* internal compiler error::
-* bug reports::
-* porting to g++::
-* name mangling::
-* problems linking with other libraries::
-* documentation::
-* templates::
-* undefined templates::
-* redundant templates::
-* Standard Template Library::
-* STL and string::
-* exceptions::
-* namespaces::
-* agreement with standards::
-* compiling standard libraries::
-* debugging on SVR4 systems::
-* debugging problems on Solaris::
-* X11 conflicts with libg++::
-* assignment to streams::
-@end menu
-
-@node basics, egcs and 2.8.x, Top, Top
-@chapter The basics: what is g++?
-
-@cindex Free Software Foundation
-@cindex GNU Public License
-@cindex GPL
-
-g++ is the traditional nickname of GNU C++, a freely redistributable
-C++ compiler produced by the Free Software Foundation plus dozens of
-skilled volunteers. I say ``traditional nickname'' because the GNU
-compiler suite, gcc, bundles together compilers for C, Objective-C,
-and C++ in one package.
-
-While the source code to gcc/g++ can be downloaded for free,
-it is not public domain, but is protected by the GNU Public License,
-or GPL (@pxref{legalities}).
-
-@menu
-* latest versions:: What is the latest version of gcc/g++/libg++?
-* g++ for Unix:: How do I get a copy of g++ for Unix?
-* getting-egcs:: How do I get egcs?
-* g++ for HP:: Getting g++ for the HP precision architecture
-* g++ for Solaris 2.x:: Getting g++ for Solaris
-* g++ for other platforms::
-* 1.x vs 2.x versions::
-@end menu
-
-@node latest versions, g++ for Unix, basics, basics
-@section What is the latest version of gcc, g++, and libg++?
-
-@cindex egcs release
-
-The newest release from the egcs project (on the Web:
-@file{http://www.cygnus.com/egcs/}) is egcs-1.0.3, released May 15,
-1998.
-
-@cindex gcc/g++, version date
-The current version of gcc/g++ is 2.8.1, released March 4, 1998.
-This release fixes some bugs in the 2.8.x release from January.
-It is a huge improvement over the 2.7.x releases.
-
-libg++ has now been deprecated (that is, it is no longer really
-supported), so gcc2.8.1 users need to grab libstdc++-2.8.1 from
-their favorite GNU site (egcs users don't need to get this separately
-as it is bundled with egcs). However, there is an 'add-on' libg++ 2.8.1
-mini-release. If you want to use it, you need to combine it with
-libstdc++ 2.8.1.
-
-I would strongly recommend that anyone using a g++ version earlier
-than 2.7.2 should upgrade if at all possible (@pxref{version 2.7.x}).
-Folks who need modern C++ features should upgrade to 2.8.1 or egcs.
-
-For some non-Unix platforms, the latest port of gcc may be an earlier
-version (2.7.2, say). You'll need to use a version of libg++ that
-has the same first two digits as the compiler version, e.g. use libg++
-2.7.x (for the latest x you can find) with gcc version 2.7.2.1.
-
-From version 2.8.0 on, you don't need libg++, you only need libstdc++
-(again, the latest version with the same two leading digits as the
-version of g++ you use).
-
-The latest "1.x" version of gcc is 1.42, and the latest "1.x" version of
-g++ is 1.42.0.
-While gcc 1.42 is quite usable for C programs, g++ 1.x is only of
-historical interest (since the C++ language has changed so much).
-
-@node g++ for Unix, getting-egcs, latest versions, basics
-@section How do I get a copy of g++ for Unix?
-
-First, you may already have it if you have gcc for your platform;
-g++ and gcc are combined now (as of gcc version 2.0).
-@cindex GNU gcc, version
-@cindex GNU g++ and gcc
-
-You can get g++ from a friend who has a copy, by anonymous FTP or
-UUCP, or by ordering a tape or CD-ROM from the Free Software
-Foundation.
-@cindex g++, ordering
-@cindex g++, getting a copy
-
-The Free Software Foundation is a nonprofit organization that
-distributes software and manuals to raise funds for more GNU
-development. Getting your copy from the FSF contributes directly to
-paying staff to develop GNU software. CD-ROMs cost $400 if an
-organization is buying, or $100 if an individual is buying. Tapes
-cost around $200 depending on media type. I recommend asking for
-version 2, not version 1, of g++.
-@cindex FSF [Free Software Foundation]
-@cindex GNU [GNU's not unix]
-
-For more information about ordering from the FSF, contact
-gnu@@prep.ai.mit.edu, phone (617) 542-5942 or anonymous ftp file
-@file{ftp://prep.ai.mit.edu/pub/gnu/GNUinfo/ORDERS} (you can
-also use one of the sites listed below if you can't get into ``prep'').
-
-@cindex FSF, contact <gnu@@prep.ai.mit.edu>
-
-Here is a list of anonymous FTP archive sites for GNU software.
-If no directory is given, look in @file{/pub/gnu}.
-
-@cindex GNUware, anonymous FTP sites
-
-@example
-ASIA: ftp.cs.titech.ac.jp, tron.um.u-tokyo.ac.jp:/pub/GNU/prep
-cair-archive.kaist.ac.kr, ftp.nectec.or.th:/pub/mirrors/gnu
-
-AUSTRALIA: archie.au:/gnu (archie.oz or archie.oz.au for ACSnet)
-
-AFRICA: ftp.sun.ac.za
-
-MIDDLE-EAST: ftp.technion.ac.il:/pub/unsupported/gnu
-
-EUROPE: irisa.irisa.fr, ftp.univ-lyon1.fr,
-ftp.mcc.ac.uk, unix.hensa.ac.uk:/mirrors/uunet/systems/gnu,
-src.doc.ic.ac.uk:/gnu, ftp.ieunet.ie, ftp.eunet.ch,
-nic.switch.ch:/mirror/gnu, ftp.informatik.rwth-aachen.de,
-ftp.informatik.tu-muenchen.de, ftp.win.tue.nl, ftp.nl.net,
-ftp.etsimo.uniovi.es, ftp.funet.fi, ftp.denet.dk,
-ftp.stacken.kth.se, isy.liu.se, ftp.luth.se:/pub/unix/gnu,
-ftp.sunet.se, archive.eu.net
-
-SOUTH AMERICA: ftp.inf.utfsm.cl, ftp.unicamp.br
-
-WESTERN CANADA: ftp.cs.ubc.ca:/mirror2/gnu
-
-USA: wuarchive.wustl.edu:/systems/gnu, labrea.stanford.edu,
-ftp.digex.net, ftp.kpc.com:/pub/mirror/gnu, f.ms.uky.edu:/pub3/gnu,
-jaguar.utah.edu:/gnustuff, ftp.hawaii.edu:/mirrors/gnu,
-uiarchive.cso.uiuc.edu, ftp.cs.columbia.edu:/archives/gnu/prep,
-gatekeeper.dec.com:/pub/GNU, ftp.uu.net:/systems/gnu
-@end example
-
-The ``official site'' is prep.ai.mit.edu, but your transfer will probably
-go faster if you use one of the above machines.
-
-@cindex gzip
-Most GNU utilities are compressed with ``gzip'', the GNU compression
-utility. All GNU archive sites should have a copy of this program,
-which you will need to uncompress the distributions.
-
-@cindex libstdc++
-Don't forget to retrieve libstdc++ as well!
-
-@node getting-egcs, g++ for HP, g++ for Unix, basics
-@section How do I get egcs?
-
-See @xref{egcs-intro} to find out what egcs is.
-
-You can obtain egcs either by FTP or with a Web browser. To do the
-latter, start from @file{http://egcs.cygnus.com/}. The master
-FTP site is @file{ftp://ftp.cygnus.com/pub/egcs/releases}, however
-you'll probably get a faster download if you use a mirror site.
-Mirror sites also have egcs snapshots unless otherwise noted.
-@itemize @bullet
-@item
-US (west coast): @file{ftp://go.cygnus.com/pub/ftp.cygnus.com/egcs/}
-@item
-US (east coast): @file{ftp://ftp.goof.com/pub/pcg/egcs/}
-or (for releases only): @file{ftp://cambridge.cygnus.com/pub/egcs/}
-@item
-US (Arizona): @file{ftp://ftp.ninemoons.com/pub/mirrors/egcs/}
-@item
-UK: @file{ftp://sunsite.doc.ic.ac.uk/Mirrors/egcs.cygnus.com/pub/egcs/}
-@item
-Austria: @file{ftp://gd.tuwien.ac.at/gnu/egcs}
-@item
-France: @file{ftp://ftp.ilog.fr/pub/mirrors/egcs/} or
-@file{ftp://ftp.lip6.fr/pub/egcs}
-@item
-Czech Republic: @file{ftp://sunsite.mff.cuni.cz/pub/GNU/egcs/}
-@item
-Denmark: @file{ftp://sunsite.auc.dk/pub/egcs/}
-@item
-Germany @file{ftp://ftp.fu-berlin.de/unix/languages/egcs/} or
-@file{ftp://ftp.gwdg.de/pub/cygnus/egcs/}
-@item
-Poland: @file{ftp://sunsite.icm.edu.pl/pub/programming/egcs/}
-@item
-Sweden: @file{ftp://ftp.sunet.se/pub/gnu/egcs/}
-@item
-Brasil (releases only, no snapshots):
-@file{ftp://ftp.unicamp.br/pub/gnu/=EXTRA=/cygnus/egcs/}
-@item
-Portugal: @file{ftp://ftp.lca.uevora.pt/pub/egcs/}
-@item
-Romania: @file{ftp://ftp.lbi.ro/pub/egcs/}
-@item
-Australia/NZ (release only): @file{ftp://moshpit.cygnus.com/pub/egcs/}
-@end itemize
-
-@node g++ for HP, g++ for Solaris 2.x, getting-egcs, basics
-@section Getting gcc/g++ for the HP Precision Architecture
-
-@cindex HP Precision Architecture
-@cindex Hewlett-Packard
-@cindex GNU GAS
-@cindex GNU gdb
-
-If you use the HP Precision Architecture (HP-9000/7xx and HP-9000/8xx)
-and you want to use debugging, you'll need to use the GNU assembler, GAS
-(version 2.3 or later). If you build from source, you must tell the
-configure program that you are using GAS or you won't get debugging
-support. A non-standard debug format is used, since until recently HP
-considered their debug format a trade secret. Thanks to the work of
-lots of good folks both inside and outside HP, the company has seen the
-error of its ways and has now released the required information. The
-team at the University of Utah that did the gcc port now has code that
-understands the native HP format.
-
-There are binaries for GNU tools in
-@file{ftp://jaguar.cs.utah.edu/dist/},
-but these are older versions.
-
-Jeff Law has left the University of Utah, so the Utah prebuilt
-binaries may be discontinued.
-
-@node g++ for Solaris 2.x, g++ for other platforms, g++ for HP, basics
-@section Getting gcc/g++ binaries for Solaris 2.x
-
-``Sun took the C compiler out of Solaris 2.x. Am I stuck?''
-
-@cindex Solaris
-@cindex gcc/g++ binaries for Solaris
-
-You can obtain and install prebuilt binaries of gcc.
-
-
-@cindex Solaris pkgadd utility
-The WWW site @file{http://smc.vnet.net/}
-contains various
-GNU and freeware programs for Solaris 2.5 or 2.6, for either the Sparc
-or Intel platforms. These are
-packaged to enable easy installation using the Solaris ``pkgadd'' utility.
-These include GNU emacs, gcc, gdb, perl, and others.
-
-You can find also find prebuilt binaries of many GNU tools, including the
-compiler, at @file{http://sunsite.unc.edu/pub/solaris/}.
-
-@node g++ for other platforms, 1.x vs 2.x versions, g++ for Solaris 2.x, basics
-@section How do I get a copy of g++ for (some other platform)?
-
-@cindex Windows NT support
-As of gcc-2.7.x, there is Windows NT support in gcc. Some special
-utilities are required. See the INSTALL file from the distribution.
-If you're interested in GNU tools on Windows NT, see
-@file{http://www.cygnus.com/misc/gnu-win32/} on the WWW, or the
-anonymous FTP directory
-@file{ftp://ftp.cygnus.com/pub/gnu-win32/}.
-
-@cindex VMS support
-@cindex VAX
-@cindex VMS, g++/libg++ precompiled
-
-The standard gcc/g++ distribution includes VMS support for the Vax.
-Since the FSF people don't use VMS, it's likely to be somewhat less
-solid than the Unix version. Precompiled copies of g++ and libg++ in
-VMS-installable form for the Vax are available by FTP from
-@file{ftp://mango.rsmas.miami.edu/pub/VMS-gcc/}.
-
-@cindex OpenVMS/Alpha
-Klaus Kaempf (kkaempf@@progis.de)
-has done a port to OpenVMS for the Alpha; this is not yet a
-part of the official gcc/g++.
-The port includes g++ and all libraries from the libg++ distribution. See
-@file{http://www.progis.de} for more details.
-
-@cindex MS-DOS support
-@cindex Delorie's gcc/g++
-@cindex DJGPP
-@cindex EMX
-There are two different versions of gcc/g++ for MS-DOS: EMX and DJGPP.
-EMX also works for OS/2 and is described later.
-DJGPP is DJ Delorie's port. It can be found on many FTP archive
-sites; try
-@file{ftp://ftp.coast.net/SimTel/vendors/djgpp/}
-or, for a complete list, see
-@file{http://www.delorie.com/djgpp/getting.html}.
-
-
-The latest version of DJGPP is 2.00. See
-@file{http://www.delorie.com/djgpp/v2/} for information on this version.
-
-FSF sells floppies with DJGPP on them; see above for ordering software
-from the FSF.
-
-DJGPP has its own newsgroup: @file{comp.os.msdos.djgpp}.
-
-@cindex Amiga support
-Development and porting efforts for GNU tools, including gcc/g++, for
-the Amiga are maintained by an initiative named ADE (Amiga Developers
-Environment. More information about ADE is available at
-@file{http://www.ninemoons.com/}.
-
-For more information on Amiga ports of gcc/g++, retrieve the file
-@file{ftp://prep.ai.mit.edu/pub/gnu/MicrosPorts/Amiga}.
-
-@cindex Atari ST support
-A port of gcc to the Atari ST can be found at @*
-@file{ftp://atari.archive.umich.edu/atari/Gnustuff/Tos}
-along with many
-other GNU programs. This version is usually the same as the latest FSF
-release. See the ``Software FAQ'' for the Usenet group
-@file{comp.sys.atari.st} for more information.
-
-@cindex EMX port
-@cindex OS/2 support
-
-EMX is a port of gcc to OS/2; it can also be used on MS-DOS. In addition to
-the compiler port, the EMX port's C library attempts to provide a
-Unix-like environment. For more information ask around on
-@file{comp.os.os2.programmer.porting}. Version 0.9c, based on gcc-2.7.2.1,
-was released in
-November 1996. It is available by FTP and the WWW from, among other
-places
-
-@example
-@file{http://www.os2ss.com/unix/emx09c/}
-@file{ftp://ftp.cdrom.com/pub/os2/emx09c/} (US)
-@file{ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/} (Germany)
-@end example
-
-Eberhard Mattes did the EMX port. His address is
-mattes@@azu.informatik.uni-stuttgart.de.
-Read the FAQ file included with the distribution before harrassing the author.
-
-@cindex Apple support
-@cindex Macintosh support
-
-I'm looking for more information on gcc/g++ support on the Apple
-Macintosh. Until recently, this FAQ did not provide such information,
-but FSF is no longer boycotting Apple as the League for Programming
-Freedom boycott has been dropped.
-
-Versions 1.37.1 and 2.3.3 of gcc were ported by Stan Shebs and are available
-at @*
-@file{ftp://ftp.cygnus.com/pub/mac}
-
-They are both interfaced to MPW.
-Stan is working on a version using the current (post-2.7) sources, contact
-him directly (shebs@@cygnus.com) for more information.
-
-@node 1.x vs 2.x versions, , g++ for other platforms, basics
-@section But I can only find g++-1.42!
-
-``I keep hearing people talking about g++ 2.8.1 (or some other number
-starting with 2), but the latest version I can find is g++ 1.42. Where
-is it?''
-
-@cindex Objective-C
-@cindex g++, version number
-As of gcc 2.0, C, C++, and Objective-C as well are all combined into a
-single distribution called gcc. If you get gcc you already have g++. The
-standard installation procedure for any gcc version 2 compiler will
-install the C++ compiler as well.
-
-One could argue that we shouldn't even refer to "g++-2.x.y" but it's a
-convention. It means ``the C++ compiler included with gcc-2.x.y.''
-
-@node egcs and 2.8.x, installation, basics, Top
-@chapter The Next Generation(s) of g++
-
-@menu
-* new-in-2.8.x:: What's new in gcc 2.8.x?
-* egcs-intro:: What is egcs?
-* egcs-whats-new:: What's new in egcs vs 2.7.2?
-* egcs-bug-fixes:: What was fixed in the latest egcs releases?
-* egcs-linux:: If I install on Linux, will it overwrite my libraries?
-* egcs-run-both:: How can I run both egcs and an FSF release?
-* egcs-vs-2.8.x:: How will egcs affect 2.8.x?
-* egcs-robustness:: How robust is egcs?
-@end menu
-
-@node new-in-2.8.x, egcs-intro, egcs and 2.8.x, egcs and 2.8.x
-@section What's new in gcc/g++ 2.8.x?
-
-After a two-year wait, gcc 2.8.0 was released in January 1998, along
-with libstdc++-2.8.0 and libg++-2.8.0. This has been followed up in
-March by the 2.8.1 release of all three packages, though libg++-2.8.1
-is an "add-on" (it does not contain libstdc++ anymore). Note that
-libstdc++ is required.
-
-For those familiar with egcs, the most obvious difference between
-gcc-2.8.x and egcs is the packaging: egcs is bundled with
-libstdc++, and gcc-2.8.x does not contain the class library. Otherwise,
-except for the lack of the @code{-frepo} option and some bug fixes
-that have not yet made it into gcc-2.8.x, C++ users will find the
-two compilers to be almost the same at this stage, other than that 2.8.x
-users may get more bogus warnings with -Wall and optimization because
-some fixes to flow analysis in the presence of exceptions that egcs made
-are not yet present in gcc 2.8.x (as of 2.8.1).
-
-The flow analysis problem in 2.8.1 produces bad code in some cases, not
-just spurious errors. It only affects code that actually throws an
-exception, and only the path corresponding to a thrown exception gets
-misoptimized. If this happens, you can try reducing the level of
-optimization.
-
-Because the new feature lists for egcs and gcc 2.8 are almost the same,
-please see @xref{egcs-whats-new} for a list of new features. It is a
-fairly long list.
-
-@node egcs-intro, egcs-whats-new, new-in-2.8.x, egcs and 2.8.x
-@section What is egcs?
-
-egcs is the experimental GNU compiler system (see
-@file{http://www.cygnus.com/egcs} on the Web). It is an effort to
-accelerate development of new gcc features by providing a more open
-development model than gcc has traditionally used.
-
-The first egcs release, egcs-1.0, came out on December 3, 1997.
-The current release is egcs-1.0.3, released May 15, 1998.
-
-Questions not addressed here may be answered in the egcs FAQ
-(@file{http://www.cygnus.com/egcs/faq.html}).
-
-@node egcs-whats-new, egcs-bug-fixes, egcs-intro, egcs and 2.8.x
-@section What new C++ features are in egcs?
-
-@strong{Note}: unless indicated otherwise, these features are also
-present in g++ 2.8.x.
-
-@itemize @bullet
-@item
-@cindex integrated libstdc++
-
-The standard C++ classes are integrated with the egcs release (but
-@strong{not} for gcc-2.8.x, which does not include the class libraries).
-libg++ is not being
-supported, though an add-on version that will work with egcs can be found at
-@file{ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.0b6.6.tar.gz},
-thanks to H.J. Lu. The compiler and library are configured and built
-in one step.
-
-@item
-@cindex new template implementation
-A completely new template implementation, much closer to the draft
-standard. Limitations in 2.7.2.x concerning inlining template functions
-are eliminated. Static template data members, template class member
-functions, partial specification, and default template arguments are
-supported. An instantiation method resembling that used in Borland C++
-(instantiating functions possibly in multiple .o files and using weak
-symbols to link correctly) is provided, in addition to other
-options. The SGI version of STL is shipped verbatim with libstdc++
-(libstdc++ is included with egcs, separate with gcc-2.8.x).
-
-@item
-@cindex redundant template elimination
-@cindex templates: removing redundancy
-On ELF platforms (Linux/ELF, Solaris, SVR4), if the GNU linker is used,
-duplicated template functions and virtual function tables are eliminated
-at link time.
-
-@item
-@cindex repository
-@cindex -frepo
-The @code{-frepo} flag is supported in egcs (it is not in 2.8.x).
-However, because of the previous item, I don't recommend its use on ELF
-systems, as the default method is better.
-
-@item
-@cindex new exception implementation
-Exception handling has been re-worked; exceptions will work together
-with optimization.
-Actually, there are two separate implementations: one based on setjmp/longjmp
-and designed to be highly portable, and one designed to be more efficient but
-requiring more processor-specific support (getting exceptions right has proven
-to be extremely difficult and has been the chief obstacle to getting a new
-release out).
-
-@item
-@cindex RTTI
-RTTI has been re-done to work correctly and is on by default.
-
-@item
-@cindex overloading
-Overloading has been re-worked to conform to the latest draft of the
-standard.
-
-@item
-There are many more changes: see @file{http://www.cygnus.com/egcs/c++features.html} for a list.
-@end itemize
-
-Features that are still missing include namespaces and templates as
-template arguments, though there is support for the latter feature
-in the egcs snapshots (which has not yet made it into a release).
-
-@node egcs-bug-fixes, egcs-linux, egcs-whats-new, egcs and 2.8.x
-@section What was fixed in the latest egcs releases?
-
-@itemize @bullet
-
-@item
-Add support for Red Hat 5.0 Linux and better support for Linux
-systems using glibc2. (1.0.3 was specifically done to fix some
-remaining problems detected when building Red Hat 5.1).
-
-@item
-Compatibility with both egcs-1.0 and gcc-2.8 libgcc exception handling
-interfaces (see below).
-
-@item
-Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
-
-@item
-A few machine independent bugfixes, mostly to fix code generation bugs
-when building Linux kernels or glibc.
-
-@item
-Fix a few critical exception handling and template bugs in the C++
-compiler.
-
-@item
-Fix build problems on x86-solaris systems.
-@end itemize
-
-To avoid future compatibility problems, we strongly urge anyone who is
-planning on distributing shared libraries that contain C++ code to
-upgrade to at least egcs-1.0.1 first (and preferably to 1.0.3). See
-@file{http://www.cygnus.com/egcs/egcs-1.0.1.html} for details about the
-compatibility issues as well as additional information about the
-bugfixes since the egcs-1.0 release.
-
-@node egcs-linux, egcs-run-both, egcs-bug-fixes, egcs and 2.8.x
-@section If I install egcs on Linux, will it overwrite my libraries?
-
-No. If you build from sources, by default, egcs installs executables in
-@code{/usr/local/bin} and libraries in @code{/usr/local/lib}, and you
-can change this default if desired (see next section).
-
-If, however, you install a package (e.g. Debian or Red Hat) that wants
-to put egcs in @code{/usr/bin} and @code{/usr/lib}, then yes, you are
-replacing your system compiler and C++ library (I don't know if anyone
-has provided such packages yet -- proceed with caution).
-
-@node egcs-run-both, egcs-vs-2.8.x, egcs-linux, egcs and 2.8.x
-@section How can I run both egcs and an FSF release of g++ on the same machine?
-
-The recommended approach is to provide a different argument to the
-@code{--prefix} flag when you configure egcs. For example, say
-@code{--prefix=/usr/local/egcs} and then, after installation, you
-can make symbolic links from @file{/usr/local/egcs/bin} to whereever
-you want, for example
-
-@example
-ln -s /usr/local/egcs/bin/gcc /usr/local/bin/egcc
-ln -s /usr/local/egcs/bin/g++ /usr/local/bin/eg++
-@end example
-
-@node egcs-vs-2.8.x, egcs-robustness, egcs-run-both, egcs and 2.8.x
-@section What about 2.8.x? How does egcs affect the 2.8.x development?
-
-2.8.0 has now been released (followed up by 2.8.1), with essentially the
-same C++ front end as egcs.
-
-Bug fixes generated in egcs will be passed to the 2.8.x releases for
-inclusion; the reverse is also taking place, though a bug fix may
-appear in one before it does in the other. egcs development is currently
-proceeding much more quickly than gcc 2.8.x development. However, there
-is essentially only one C++ front end, which is shared by the two
-distinct compiler back ends (however, since egcs-1.0.3 is newer than
-gcc 2.8.1, it has more bug fixes).
-
-@node egcs-robustness, , egcs-vs-2.8.x, egcs and 2.8.x
-@section How robust is egcs?
-
-While the 'e' stands for 'experimental', egcs has been tested thoroughly
-and should be of high quality. The author considers egcs 1.0.3 the
-most robust GNU C++ compiler ever produced.
-
-@node installation, evolution, egcs and 2.8.x, Top
-@chapter Installation Issues and Problems
-
-@menu
-* gcc-2 + g++-1::
-* what else do I need?::
-* use GNU linker?::
-* Use GNU assembler?::
-* shared libraries::
-* repository::
-* repo bugs::
-* Use GNU C library?::
-* Global constructor problems::
-* Strange assembler errors::
-* Other problems building libg++::
-* More size_t problems::
-* Rebuild libg++?::
-* co-existing versions::
-* Installing on Linux::
-* Linux Slackware 3.0::
-@end menu
-
-@node gcc-2 + g++-1, what else do I need?, installation, installation
-@section I can't build g++ 1.x.y with gcc-2.x.y!
-
-``I obtained gcc-2.x.y and g++ 1.x.y and I'm trying to build it, but
-I'm having major problems. What's going on?''
-
-@cindex g++, building
-If you wish to build g++-1.42, you must obtain gcc-1.42 first. The
-installation instructions for g++ version 1 leave a lot to be desired,
-unfortunately, and I would recommend that, unless you have a special
-reason for needing the 1.x compiler, that C++ users use the latest
-g++-2.x version, as it
-is the version that is being actively maintained.
-
-@cindex g++, template support
-@cindex Templates
-@cindex ANSI draft standard
-There is no template support in g++-1.x, and it is generally much further
-away from the ANSI draft standard than g++-2.x is.
-
-@node what else do I need?, use GNU linker?, gcc-2 + g++-1, installation
-@section OK, I've obtained gcc; what else do I need?
-
-@cindex libg++
-First off, you'll want libg++ as you can do almost nothing without it
-(unless you replace it with some other class library).
-
-@cindex GNU GAS
-@cindex GNU GAS [assembler]
-Second, depending on your platform, you may need "GAS", the GNU assembler,
-or the GNU linker (see next question).
-
-@cindex GNU gdb
-Finally, while it is not required, you'll almost certainly want the GNU
-debugger, gdb. The latest version is
-4.17, released April 27, 1997.
-Other debuggers (like dbx, for example) will normally not be able to
-understand at least some of the debug information produced by g++.
-
-@node use GNU linker?, Use GNU assembler?, what else do I need?, installation
-@section Should I use the GNU linker, or should I use "collect"?
-
-@cindex Linker
-@cindex System VR3, linker
-@cindex System VR4, linker
-First off, for novices: special measures must be taken with C++ to arrange
-for the calling of constructors for global or static objects before the
-execution of your program, and for the calling of destructors at the end.
-(Exception: System VR3 and System VR4 linkers, Linux/ELF, and some other
-systems support user-defined
-segments; g++ on these systems requires neither the GNU linker nor
-collect. So if you have such a system, the answer is that you don't
-need either one, though using GNU ld does have some advantages over
-the native linker in some cases).
-
-@cindex AT&T cfront
-@cindex Cfront-end
-@cindex collect program
-@cindex GNU linker
-@cindex GNU binutils
-If you have experience with AT&T's "cfront", this function is performed
-there by programs named "patch" or "munch". With GNU C++, it is performed
-either by the GNU linker or by a program known as "collect". The collect
-program is part of the gcc-2.x distribution; you can obtain the GNU linker
-separately as part of the "binutils" package. The latest version of
-binutils is 2.9.1, released May 1, 1998.
-
-Note that if you want to use exceptions on Intel-like platforms and use
-gas (e.g. you run Linux), you need binutils version 2.8.1 or newer for
-exceptions to work correctly!
-
-(To be technical, it's "collect2"; there were originally several
-alternative versions of collect, and this is the one that survived).
-
-There are advantages and disadvantages to either choice.
-
-Advantages of the GNU linker:
-@cindex GNU linker, advantages
-@cindex GNU ld
-@cindex ld [GNU linker]
-
-It's faster than using collect -- collect basically runs the standard Unix
-linker on your program twice, inserting some extra code after the first
-pass to call the constructors. This is a sizable time penalty for large
-programs. The GNU linker does not require this extra pass.
-
-GNU ld reports undefined symbols using their true names, not the mangled
-names (but as of 2.7.0 so does collect).
-
-If there are undefined symbols, GNU ld reports which object file(s) refer to
-the undefined symbol(s). On some OSes (e.g. SunOS, Solaris) the native
-linker does not do this, so you have to track down who's referring to
-the missing symbols yourself.
-
-As of binutils version 2.2, on systems that use the so-called "a.out"
-debug format (e.g. Suns running SunOS 4.x), the GNU linker compresses
-the debug symbol table considerably. The 2.7 version adds some symbol
-table compression for ELF and Solaris targets.
-
-Users of egcs or 2.8.x on ELF systems should definitely
-use GNU ld (2.8 or later), as it will automatically remove duplicate
-instantiations of templates, virtual function tables, or ``outlined''
-copies of inline functions.
-
-@cindex collect linker, advantages
-Advantages of collect:
-
-@cindex Shared libraries
-If your native linker supports shared libraries, you can use shared
-libraries with collect. This used to be a strong reason @emph{not}
-to use the GNU linker, but recent versions of GNU ld support linking
-with shared libraries on many platforms, and creating shared libraries
-on a few (such as Intel x86 systems that use ELF object format as well
-as SunOS and Solaris).
-
-@xref{shared libraries}
-
-@cindex GNU linker, porting
-The GNU linker has not been ported to as many platforms as g++ has, so you
-may be forced to use collect.
-
-If you use collect, you don't need to get something extra and figure out
-how to install it; the standard gcc installation procedure will do it for you.
-
-I used to say at this point that I don't see a clear win for either
-linking alternative, but with all the improvements in the GNU linker
-I think that it is now the better choice. Take your pick.
-
-If you run Linux, the only available linker is the GNU linker.
-
-@node Use GNU assembler?, shared libraries, use GNU linker?, installation
-@section Should I use the GNU assembler, or my vendor's assembler?
-
-@cindex Assembler
-@cindex GNU GAS
-This depends on your platform and your decision about the GNU linker. For
-most platforms, you'll need to use GAS if you use the GNU linker. For
-some platforms, you have no choice; check the gcc installation notes to
-see whether you must use GAS. But you can usually use the vendor's
-assembler if you don't use the GNU linker.
-
-The GNU assembler assembles faster than many native assemblers; however,
-on many platforms it cannot support the local debugging format.
-
-It used to be that the GNU assembler couldn't handle
-position-independent code on SunOS. This is no longer true if you
-have version 2.6 or newer.
-
-On HPUX or IRIX, you must use GAS (and configure gcc with the
-@code{--with-gnu-as} option) to debug your programs. GAS is
-strongly recommended particularly on the HP platform because of
-limitations in the HP assembler.
-
-The GNU assembler has been merged with the binutils
-distribution, so the GNU assembler and linker are now together in
-this package (as of binutils version 2.5.1).
-
-On Linux the assembler is the GNU assembler.
-
-@node shared libraries, repository, Use GNU assembler?, installation
-@section How do I build shared libraries with g++?
-
-For gcc-2.7.0 and later, building C++ shared libraries should work fine
-on supported platforms (HPUX 9+, IRIX 5+, DEC UNIX (formerly OSF/1),
-SGI/IRIX, AIX, SunOS 4, Linux/ELF and all targets using SVR4-style ELF shared
-libraries). There are two separate issues: building libg++ as a shared
-library, and making your own shared libraries. For libg++ it is simply
-a matter of giving the @code{--enable-shared} option to the configure
-program. When compiling your own code for shared libraries you
-generally
-must use the @code{-fPIC} flag to get position-independent code.
-
-@cindex -shared flag of gcc
-
-If your shared library contains global or static objects with
-constructors, then make sure to use @code{gcc -shared}, not
-@code{ld}, to create the shared library. This will make sure
-that any processor-specific magic needed to execute the constructors
-is included.
-
-In theory, constructors for objects in your shared library should be
-called when the library is opened (by dlopen or equivalent). This
-does not work on some platforms (e.g. SunOS4; it does work on Solaris
-and ELF systems such as Linux): on the broken platforms, the
-constructors are not called correctly.
-
-David Nilsen has suggested the following workaround:
-
-The thing to realize is that if you link your dynamic module with the
-@code{-shared} flag, the collect program nicely groups all the static
-ctors/dtors for you into a list and sets up a function that will call
-them (Note: this means that this trick won't work if you use the GNU
-linker without collect (@pxref{use GNU linker?}).
-
-The magic is knowing these function names. Currently, they're called:
-
-@example
-_GLOBAL__DI <-- calls all module constructors
-_GLOBAL__DD <-- calls all module destructors
-@end example
-
-[ possibly the leading underscore will differ between platforms: jbuck ]
-
-Therefore, if you make a wrapper around dlopen that looks up the
-symbol @code{_GLOBAL__DI} (or @code{__GLOBAL__DI} on SunOS4 machines), and
-calls it, you'll simulate getting the constructors called.
-
-You also need to set up the destructors to be called as well, so you
-need to put a wrapper around dlclose, which will call the
-@code{_GLOBAL__DD} function in the module when/if it's unloaded.
-
-Lastly, to get things 100% correct, you need to set up the destructors
-to also be called if the module is not unloaded, but the main program
-exits. I do this by registering a single function with @code{atexit()} that
-calls all the destructors left in dynamically loaded modules.
-
-@cindex Shared version of libg++
-Check the file @file{README.SHLIB} from the libg++ distribution for more
-about making and using shared libraries.
-
-@cindex Shared libraries with HP
-
-A patch is needed to build shared versions of version 2.7.2 of libg++
-and libstdc++ on the HP-PA architecture. You can find the patch at
-@file{ftp://ftp.cygnus.com/pub/g++/libg++-2.7.2-hppa-gcc-fix}.
-
-@node repository, repo bugs, shared libraries, installation
-@section How do I use the new repository code?
-
-@cindex repo patch
-Because there is some disagreement about the details of the template
-repository mechanism, you'll need to obtain a patch from Cygnus Support
-to enable the 2.7.2 repository code. You can obtain the patch by
-anonymous FTP: @file{ftp://ftp.cygnus.com/pub/g++/gcc-2.7.2-repo.gz}.
-
-There are patches for 2.7.0 and 2.7.1 in the same directory, though
-if you're going to rebuild the compiler you should use the latest one.
-
-@cindex repo patch for BSD
-If you're running NetBSD or BSDI, the Cygnus repo patch is not quite
-correct. Tim Liddelow has made an alternate version available at
-@file{ftp://ftp.cst.com.au/pub/gcc-2.7.2-repo-bsd.gz}.
-
-After you've applied the patch, the @code{-frepo} flag will enable the
-repository mechanism. The flag works much like the existing
-@code{-fno-implicit-templates} flag, except that auxiliary files, with
-an @file{.rpo} extension, are built that specify what template
-expansions are needed. At link time, the (patched) collect program
-detects missing templates and recompiles some of the object files
-so that the required templates are expanded.
-
-Note that the mechanism differs from that of cfront in that template
-definitions still must be visible at the point where they are to be
-expanded. No assumption is made that @file{foo.C} contains template
-definitions corresponding to template declarations in @file{foo.h}.
-
-@cindex closure with repo
-@cindex template closure
-Jason Merrill writes: ``To perform closure on a set of objects, just try
-to link them together. It will fail, but as a side effect all needed
-instances will be generated in the objects.''
-
-@node repo bugs, Use GNU C library?, repository, installation
-@section Known bugs and problems with the repo patch
-
-``The @code{-frepo} won't expand templated friend functions!''
-
-This is a known bug; currently you'll have to explicitly instantiate
-friend functions when using @code{-frepo} due to this bug (in 2.7.0
-through 2.7.2 at least).
-
-With earlier versions of the repo patch, there was a bug that happens
-when you have given a quoted command line switch, something like
-
-@example
--D'MESSAGE="hello there"'
-@end example
-
-The repo code tries to recompile files using the same flags you
-originally specified, but doesn't quote arguments that need quoting,
-resulting in failures in some cases. This is no longer a problem
-with the 2.7.2 patch.
-
-@node Use GNU C library?, Global constructor problems, repo bugs, installation
-@section Should I use the GNU C library?
-
-@cindex GNU C library
-@cindex libg++
-At this point in time, no (unless you are running Linux or the GNU Hurd
-system). The GNU C library is still very young, and
-libg++ still conflicts with it in some places. Use your native C library
-unless you know a lot about the gory details of libg++ and gnu-libc. This
-will probably change in the future.
-
-@node Global constructor problems, Strange assembler errors, Use GNU C library?, installation
-@section Global constructors aren't being called
-
-@cindex global constructors
-``I've installed gcc and it almost works, but constructors and
-destructors for global objects and objects at file scope aren't being
-called. What did I do wrong?''
-
-@cindex collect program
-It appears that you are running on a platform that requires you to
-install either "collect2" or the GNU linker, and you have done neither.
-For more information, see the section discussing the GNU linker
-(@pxref{use GNU linker?}).
-
-@cindex constructor problems on Solaris
-@cindex Solaris, constructor problems
-On Solaris 2.x, you shouldn't need a collect program and GNU ld doesn't run.
-If your global constructors aren't being called, you may need to install
-a patch, available from Sun, to fix your linker. The number of the
-``jumbo patch'' that applies is 101409-03. Thanks to Russell Street
-(r.street@@auckland.ac.nz) for this info.
-
-@cindex IRIX, installing collect
-It appears that on IRIX, the collect2 program is not being installed
-by default during the installation process, though it is required;
-you can install it manually by executing
-
-@example
-make install-collect2
-@end example
-
-from the gcc source directory after installing the compiler. (I'm
-not certain for which versions of gcc this problem occurs, and whether
-it is still present).
-
-@node Strange assembler errors, Other problems building libg++, Global constructor problems, installation
-@section Strange assembler errors when linking C++ programs
-
-``I've installed gcc and it seemed to go OK, but when I attempt to link
-any C++ program, I'm getting strange errors from the assembler! How
-can that be?''
-
-The messages in question might look something like
-
-@example
-as: "/usr/tmp/cca14605.s", line 8: error: statement syntax
-as: "/usr/tmp/cca14605.s", line 14: error: statement syntax
-@end example
-
-(on a Sun, different on other platforms). The important thing is that
-the errors come out at the link step, @emph{not} when a C++ file is
-being compiled.
-
-@cindex nm program
-@cindex GNU nm program
-Here's what's going on: the collect2 program uses the Unix ``nm''
-program to obtain a list of symbols for the global constructors and
-destructors, and it builds a little assembly language module that
-will permit them all to be called. If you're seeing this symptom,
-you have an old version of GNU nm somewhere on your path. This old
-version prints out symbol names in a format that the collect2 program
-does not expect, so bad assembly code is generated.
-
-The solution is either to remove the old version of GNU nm from your
-path (and that of everyone else who uses g++), or to install a newer
-version (it is part of the GNU "binutils" package). Recent versions
-of GNU nm do not have this problem.
-
-@node Other problems building libg++, More size_t problems, Strange assembler errors, installation
-@section Other problems building libg++
-@cindex libg++ on Ultrix
-@cindex libg++ on SunOS
-
-``I am having trouble building libg++. Help!''
-
-On some platforms (for example, Ultrix), you may see errors complaining
-about being unable to open dummy.o. On other platforms (for example,
-SunOS), you may see problems having to do with the type of size_t.
-The fix for these problems is to make libg++ by saying "make CC=gcc".
-According to Per Bothner, it should no longer be necessary to specify
-"CC=gcc" for libg++-2.3.1 or later.
-
-``I built and installed libg++, but g++ can't find it. Help!''
-
-The string given to @file{configure} that identifies your system must
-be the same when you install libg++ as it was when you installed gcc.
-Also, if you used the @code{--prefix} option to install gcc somewhere
-other than @file{/usr/local}, you must use the same value for
-@code{--prefix} when installing libg++, or else g++ will not be able
-to find libg++.
-
-@cindex patch for libg++-2.6.2
-
-The toplevel Makefile in the libg++ 2.6.2 distribution is broken, which
-along with a bug in g++ 2.6.3 causes problems linking programs that use the
-libstdc++ complex classes. A patch for this is available from
-@file{ftp://ftp.cygnus.com//pub/g++/libg++-2.6.2-fix.gz}.
-
-@node More size_t problems, Rebuild libg++?, Other problems building libg++, installation
-@section But I'm @emph{still} having problems with @code{size_t}!
-
-@cindex Type of size_t
-``I did all that, and I'm @emph{still} having problems with disagreeing
-definitions of size_t, SIZE_TYPE, and the type of functions like
-@code{strlen}.''
-
-@cindex _G_config.h
-The problem may be that you have an old version of @file{_G_config.h}
-lying around. As of libg++ version 2.4, @file{_G_config.h}, since it is
-platform-specific, is inserted into a different directory; most include
-files are in @file{$prefix/lib/g++-include}, but this file now lives in
-@file{$prefix/$arch/include}. If, after upgrading your libg++, you find that
-there is an old copy of @file{_G_config.h} left around, remove it,
-otherwise g++ will find the old one first.
-
-@node Rebuild libg++?, co-existing versions, More size_t problems, installation
-@section Do I need to rebuild libg++ to go with my new g++?
-
-``After I upgraded g++ to the latest version, I'm seeing undefined
-symbols.''
-
-or
-
-``If I upgrade to a new version of g++, do I need to reinstall libg++?''
-
-@cindex Incompatibilities between g++ versions
-
-As a rule, the first two digits of your g++ and libg++ should be the
-same. Normally when you do an upgrade in the ``minor version number''
-(2.5.7 to 2.5.8, say) there isn't a need to rebuild libg++, but there
-have been a couple of exceptions in the past.
-
-@node co-existing versions, Installing on Linux, Rebuild libg++?, installation
-@section I want several versions of g++ and libg++ to co-exist.
-
-I recommend against using the @code{-V} flag to make multiple versions
-of gcc/g++ co-exist, unless they are different minor releases that can use
-the same compiled version of libg++. The reason is that all these
-versions will try to use the same libg++ version, which usually will
-not work.
-
-Instead, use the @code{--prefix} flag when configuring gcc. Use a
-different value of @code{--prefix} for each gcc version. Use the
-same value of @code{--prefix} when configuring libg++. You can then
-have any number of co-existing gcc/libg++ pairs. Symbolic links can
-be used so that users don't need to put all these different directories
-on their paths.
-
-One possible system to use is to set @code{--prefix} to
-@file{/usr/local/gcc-2.x.y} for version 2.x.y of gcc, and to link
-whichever version of gcc you wish to be the default into
-@file{/usr/local/bin/gcc} and @file{/usr/local/bin/g++}.
-
-@node Installing on Linux, Linux Slackware 3.0, co-existing versions, installation
-@section Trouble installing g++ and libg++ on Linux
-
-``I've downloaded the latest g++ and libg++ and I'm trying to install
-them on Linux, and I'm having lots of problems.''
-
-@cindex Linux
-FSF releases of libg++ won't install on Linux unchanged, since Linux
-uses are part of the libio library from libg++ for its standard C
-library, only this is changed in a way that it clashes with libg++.
-This means that you'll need a patched version of libg++ for it to
-work.
-
-If you want to upgrade to a new gcc/libg++ combination, the easiest
-thing to do is to grab the prebuilt versions of gcc and libg++ for Linux
-from @file{ftp://tsx-11.mit.edu/pub/linux/packages/GCC}. Follow the
-directions carefully. If you want to build from source, you'll need
-a patch for libg++; the Linux developers have named the patched libg++
-version libg++-2.7.1.3 and there is a patch file in the above-named
-directory.
-
-See @file{http://sunsite.unc.edu/LDP/HOWTO/GCC-HOWTO.html},
-the Linux GCC HOWTO, for more on gcc/g++ and Linux.
-
-Linux is in the process of switching over to the GNU C library, version
-2, which will become Linux libc version 6. Once this process is
-complete, there's a good chance that the installation process on Linux
-will be smoother, but only experts should try making this new library
-work at this point.
-
-@node Linux Slackware 3.0, , Installing on Linux, installation
-@section Problems with g++ on Linux Slackware 3.0
-
-@cindex Slackware
-@cindex Linux Slackware
-``When I try to compile the traditional Hello, world program on Linux,
-the compiler can't find @file{iostream.h}. What's the deal?''
-
-You probably have the Slackware 3.0 release. There's an error in the
-setup. It's easy to fix, though; log in as root, and make a symbolic
-link:
-
-@example
-ln -s /usr/lib/g++-include /usr/include/g++
-@end example
-
-@node evolution, User Problems, installation, Top
-@chapter The Evolution of g++
-
-This chapter discusses the evolution of g++ and describes what can be expected
-in the future.
-
-@menu
-* version 2.7.x:: What's changed in 2.7.x from earlier versions
-* libstdc++::
-@end menu
-
-@node version 2.7.x, libstdc++, evolution, evolution
-@section What's new in version 2.7.x of gcc/g++
-
-[ This section is old now, since 2.8.x/egcs is the new stuff ] The
-latest 2.7.x version was 2.7.2.2, released February 10, 1997. The only
-change between 2.7.2.1 and 2.7.2.2 is that support was added for using
-the GNU C library, version 2, on Linux; users not interested in that
-functionality have no reason to upgrade. The previous version of
-gcc/g++ was 2.7.2.1, released August 14, 1996. The libg++ version that
-should be used with any 2.7.x gcc/g++ is 2.7.2, released July 4, 1996.
-
-Note that gcc 2.7.2.1 just consists of several small patches to
-gcc-2.7.2. The release is mainly
-intended to fix platform-specific bugs and does not affect the C++
-``front end'' of the compiler (the part that parses your C++ code).
-
-The 2.7.x releases represent a great deal of work on the part of the g++
-maintainers to fix outstanding bugs and move the compiler closer to the
-current ANSI/ISO standards committee's working paper, including
-supporting many of the new features that have been added to the
-language. I recommend that everyone read the NEWS file contained in the
-distribution (and that system administrators make the file available to
-their users). I've borrowed liberally from this file here.
-
-@cindex C++ working paper
-If any features seem unfamiliar, you will probably want to
-look at the recently-released public review copy of the C++ Working
-Paper. A new draft, dated 2 December 1996, has been released for
-public comment. You can find it on the web at
-@file{http://www.cygnus.com/misc/wp/} or
-@file{http://www.maths.warwick.ac.uk/c++/pub/wp/html/cd2/}.
-See
-@file{http://www.setech.com/x3.html}
-or
-@file{http://www.maths.warwick.ac.uk/c++/pub/} to download the
-document in PostScript, PDF (Adobe Acrobat), HTML, or ASCII
-form.
-
-Here are the main points:
-
-@itemize @bullet
-@item
-@cindex for scope
-As described above, the scope of variables declared in the
-initialization part of a for statement has been changed; such variables
-are now visible only in the loop body. Use @code{-fno-for-scope} to get
-the old behavior. You'll need this flag to build groff version 1.09,
-Ptolemy, and many other free software packages.
-
-@item
-@cindex vtable duplication
-Code that does not use #pragma interface/implementation will most
-likely shrink dramatically, as g++ now only emits the vtable for a
-class in the translation unit where its first non-inline, non-abstract
-virtual function is defined.
-
-@item
-@cindex automatic template instantiation
-Support for automatic template instantiation has @emph{not} been enabled
-in the official distribution, due to a disagreement over design philosophies.
-But you can get a patch from Cygnus to turn it on; retrieve the patch
-from @file{ftp://ftp.cygnus.com/pub/g++/gcc-2.7.2-repo.gz} to patch
-gcc-2.7.2 (there are also patches for earlier gcc versions).
-
-@item
-@cindex exception handling, 2.7.0
-
-@xref{exceptions}
-
-@item
-@cindex run-time type identification
-Support for Run-Time Type Identification has been added with @code{-frtti}.
-This support is still in alpha; one major restriction is that any file
-compiled with @code{-frtti} must include @code{<typeinfo>} (@emph{not}
-@code{typeinfo.h} as the NEWS file says).
-Also, all C++ code you link with (including libg++) has to be built with
-@code{-frtti}, so it's still tricky to use.
-
-@item
-@cindex compiler-generated operators
-Synthesis of compiler-generated constructors, destructors and
-assignment operators is now deferred until the functions are used.
-
-@item
-@cindex assignment in conditional expressions
-The parsing of expressions such as @code{a ? b : c = 1}
-has changed from
-@code{(a ? b : c) = 1} to @code{a ? b : (c = 1)}. This is a new C/C++
-incompatibility brought to you by the ANSI/ISO standards committee.
-
-@item
-@cindex new operator keywords
-The operator keywords and, and_eq, bitand, bitor, compl, not, not_eq,
-or, or_eq, xor and xor_eq are now supported. Use @code{-ansi} or
-@code{-foperator-names} to enable them.
-
-@item
-@cindex explicit keyword
-The @code{explicit} keyword is now supported. @code{explicit} is used to mark
-constructors and type conversion operators that should not be used
-implicitly.
-
-@item
-@cindex user-defined type conversion
-Handling of user-defined type conversion has been improved.
-
-@item
-@cindex explicit template instantiation
-Explicit instantiation of template methods is now supported. Also,
-@code{inline template class foo<int>;}
-can be used to emit only the vtable
-for a template class.
-
-@item
-@cindex -fcheck-new
-With -fcheck-new, g++ will check the return value of all calls to
-operator new, and not attempt to modify a returned null pointer.
-
-@item
-collect2 now demangles linker output, and c++filt has become part of
-the gcc distribution.
-
-@item
-Improvements to template instantiation: only members actually used
-are instantiated. (Actually this is not quite true: some inline
-templates that are not successfully inlined may be expanded even
-though they are not needed).
-
-@end itemize
-
-@node libstdc++, , version 2.7.x, evolution
-@section The GNU Standard C++ Library
-
-The GNU Standard C++ Library (also called the ``GNU ANSI C++ Library''
-in places in the code) is not libg++, though it is included in the
-libg++ distribution. Rather, it contains classes and functions
-required by the ANSI/ISO standard. The copyright conditions are the
-same as those for for the iostreams classes; the LGPL is not used
-(@pxref{legalities}).
-
-This library, libstdc++, is in the libg++ distribution in versions 2.6.2
-and later. It requires at least gcc 2.6.3 to build the libg++-2.6.2
-version; use at least gcc 2.7.0 to build the libg++ 2.7.0 version. It
-contains a hacked-up version of HP's implementation of the Standard
-Template Library (@pxref{Standard Template Library}). I've
-successfully used this Standard Template Library version to build
-a number of the demos you'll see on various web pages.
-
-As of version 2.7.0, the streams classes are now in libstdc++ instead of
-libg++, and libiostream is being phased out (don't use it). The g++
-program searches this library.
-
-The maintainers of libg++ have de-emphasized work on the older libg++ classes
-in favor of enhancing libstdc++ to cover the full language, so while libg++
-will always be available, enhancements to it should not be expected.
-
-@node User Problems, legalities, evolution, Top
-@chapter User Problems
-
-@menu
-* missing virtual table::
-* for scope::
-* const constructor::
-* unused parameter warnings::
-* jump crosses initialization::
-* Demangler::
-* static data members::
-* internal compiler error::
-* bug reports::
-* porting to g++::
-* name mangling::
-* problems linking with other libraries::
-* documentation::
-* templates::
-* undefined templates::
-* redundant templates::
-* Standard Template Library::
-* STL and string::
-* exceptions::
-* namespaces::
-* agreement with standards::
-* compiling standard libraries::
-* debugging on SVR4 systems::
-* debugging problems on Solaris::
-* X11 conflicts with libg++::
-* assignment to streams::
-@end menu
-
-@node missing virtual table, for scope, User Problems, User Problems
-@section Linker complains about missing virtual table
-
-``I'm getting a message complaining about an undefined virtual table. Is
-this a compiler bug?''
-
-(On platforms that run neither collect nor the GNU linker, like Solaris,
-you may see an odd undefined symbol like "_vt.3foo", where foo is a
-class name).
-
-This is probably because you are missing a definition for the first
-(non-inline) virtual function of the class. Since gcc-2.7.0, g++ uses
-a trick borrowed from cfront: the .o file containing the definition for
-the first non-inline virtual function for the class will also contain
-the virtual function table.
-
-@node for scope, const constructor, missing virtual table, User Problems
-@section gcc-2.7.0 breaks declarations in "for" statements!
-
-@cindex declarations in for statements
-@cindex for statements: declarations
-
-gcc-2.7.0 implements the new ANSI/ISO rule on the scope of variables
-declared in for loops.
-
-@example
-for (int i = 1; i <= 10; i++) @{
- // do something here
-@}
-foo(i);
-@end example
-
-In the above example, most existing C++ compilers would pass the
-value 11 to the function @code{foo}. In gcc 2.7 and in the ANSI/ISO
-working paper, the scope of @code{i} is only the for loop body, so
-this is an error. So that old code can be compiled, the new gcc has
-a flag @code{-fno-for-scope} that causes the old rule to be used.
-@cindex -fno-for-scope
-
-As of 2.7.1, the compiler attempts to issue warnings about code that
-has different meanings under the two sets of rules, but the code is
-not perfect: the intent was that code that has valid, but different,
-meanings under the ARM rules and the working paper rules would give
-warnings but have the new behavior, and this doesn't seem to happen.
-
-The @code{-ffor-scope} flag under 2.7.1 and 2.7.2 gives the 2.7.0 behavior.
-
-@node const constructor, unused parameter warnings, for scope, User Problems
-@section g++ seems to want a const constructor. What's that?
-
-gcc-2.7.1 introduced a bug that causes the compiler to ask for a
-const constructor (there's no such thing in C++) in certain situations
-where a const object appears in a template class. Most cases have been
-fixed in gcc-2.7.2, but unfortunately not all. Still, if you're running
-gcc-2.7.1 and have this problem, upgrade to 2.7.2; it is a vast improvement.
-
-@cindex ObjectSpace<STL>
-
-The default constructor for the template @code{pair} in ObjectSpace's
-implementation of STL triggers the bug in one place, for gcc 2.7.2. If
-you're using ObjectSpace<STL> and having this problem, simply
-change the default constructor from
-
-@example
-os_pair () : first (T1 ()), second (T2 ()) @{@}
-@end example
-
-to just
-
-@example
-os_pair () @{@}
-@end example
-
-Once this is done, ObjectSpace<STL> works fairly well.
-
-@node unused parameter warnings, jump crosses initialization, const constructor, User Problems
-@section How to silence ``unused parameter'' warnings
-
-@cindex -Wall
-@cindex -Wunused
-
-``When I use @code{-Wall} (or @code{-Wunused}), g++ warns about
-unused parameters. But the parameters have to be there, for use
-in derived class functions. How do I get g++ to stop complaining?''
-
-The answer is to simply omit the names of the unused parameters when
-defining the function. This makes clear, both to g++ and to readers
-of your code, that the parameter is unused. For example:
-
-@example
-int Foo::bar(int arg) @{ return 0; @}
-@end example
-
-will give a warning for the unused parameter @code{arg}. To suppress
-the warning write
-
-@example
-int Foo::bar(int) @{ return 0; @}
-@end example
-
-@node jump crosses initialization, Demangler, unused parameter warnings, User Problems
-@section g++ objects to a declaration in a case statement
-
-``The compiler objects to my declaring a variable in one of the branches
-of a case statement. Earlier versions used to accept this code. Why?''
-
-The draft standard does not allow a goto or a jump to a case label to
-skip over an initialization of a variable or a class object. For
-example:
-
-@example
-switch ( i ) @{
- case 1:
- Object obj(0);
- ...
- break;
- case 2:
- ...
- break;
-@}
-@end example
-
-The reason is that @code{obj} is also in scope in the rest of the switch
-statement.
-
-As of version 2.7.0, the compiler will object that the jump to the
-second case level crosses the initialization of @code{obj}. Older
-compiler versions would object only if class Object has a destructor.
-In either case, the solution is to add a set of curly braces around
-the case branch:
-
-@example
- case 1:
- @{
- Object obj(0);
- ...
- break;
- @}
-@end example
-
-@node Demangler, static data members, jump crosses initialization, User Problems
-@section Where can I find a demangler?
-
-@cindex demangler program
-A g++-compatible demangler named @code{c++filt} can be found in the
-@file{binutils} distribution. This distribution (which also contains
-the GNU linker) can be found at any GNU archive site.
-
-As of version 2.7.0, @code{c++filt} is included with gcc and is
-installed automatically. Even better, it is used by the @code{collect}
-linker, so you don't see mangled symbols anymore (except on platforms
-that use neither collect nor the GNU linker, like Solaris).
-
-@node static data members, internal compiler error, Demangler, User Problems
-@section Linker reports undefined symbols for static data members
-
-@cindex Static data members
-``g++ reports undefined symbols for all my static data members when I link,
-even though the program works correctly for compiler XYZ. What's going on?''
-
-The problem is almost certainly that you don't give definitions for
-your static data members. If you have
-
-@example
-class Foo @{
- ...
- void method();
- static int bar;
-@};
-@end example
-
-you have only declared that there is an int named Foo::bar and a member
-function named Foo::method that is defined somewhere. You still need to
-define @emph{both} method() and bar in some source file. According to
-the draft ANSI standard, you must supply an initializer, such as
-
-@example
-int Foo::bar = 0;
-@end example
-
-@noindent
-in one (and only one) source file.
-
-@node internal compiler error, bug reports, static data members, User Problems
-@section What does ``Internal compiler error'' mean?
-
-It means that the compiler has detected a bug in itself. Unfortunately,
-g++ still has many bugs, though it is a lot better than it used to be.
-If you see this message, please send in a complete bug report (see next
-section).
-
-@node bug reports, porting to g++, internal compiler error, User Problems
-@section I think I have found a bug in g++.
-
-@cindex Bug in g++, newly found
-``I think I have found a bug in g++, but I'm not sure. How do I know,
-and who should I tell?''
-
-@cindex Manual, for gcc
-First, see the excellent section on bugs and bug reports in the gcc manual
-(which is included in the gcc distribution). As a short summary of that
-section: if the compiler gets a fatal signal, for any input, it's a bug
-(newer versions of g++ will ask you to send in a bug report when they
-detect an error in themselves). Same thing for producing invalid
-assembly code.
-
-When you report a bug, make sure to describe your platform (the type of
-computer, and the version of the operating system it is running) and the
-version of the compiler that you are running. See the output of the
-command @code{g++ -v} if you aren't sure. Also provide enough code
-so that the g++ maintainers can duplicate your bug. Remember that the
-maintainers won't have your header files; one possibility is to send
-the output of the preprocessor (use @code{g++ -E} to get this). This
-is what a ``complete bug report'' means.
-
-I will add some extra notes that are C++-specific, since the notes from
-the gcc documentation are generally C-specific.
-
-@cindex g++ bug report
-First, mail your bug report to "bug-g++@@prep.ai.mit.edu". You may also
-post to @file{gnu.g++.bug}, but it's better to use mail, particularly if you
-have any doubt as to whether your news software generates correct reply
-addresses. Don't mail C++ bugs to bug-gcc@@prep.ai.mit.edu.
-
-@strong{News:} as I write this (late February 1996) the gateway
-connecting the bug-g++ mailing list and the @file{gnu.g++.bug} newsgroup
-is (temporarily?) broken. Please mail, do not post bug reports.
-
-@cindex libg++ bug report
-If your bug involves libg++ rather than the compiler, mail to
-bug-lib-g++@@prep.ai.mit.edu. If you're not sure, choose one, and if you
-guessed wrong, the maintainers will forward it to the other list.
-
-@cindex C++, reference books
-@cindex ARM [Annotated C++ Ref Manual]
-Second, if your program does one thing, and you think it should do
-something else, it is best to consult a good reference if in doubt.
-The standard reference is the draft working paper from the ANSI/ISO
-C++ standardization committee, which you can get on the net.
-For PostScript and PDF (Adobe Acrobat) versions, see the
-archive at @file{ftp://research.att.com/dist/stdc++/WP}. For HTML and ASCII
-versions, see @file{ftp://ftp.cygnus.com/pub/g++}. On the World Wide Web, see
-@file{http://www.cygnus.com/misc/wp/}.
-
-An older
-standard reference is "The Annotated C++ Reference Manual", by Ellis and
-Stroustrup (copyright 1990, ISBN #0-201-51459-1). This is what they're
-talking about on the net when they refer to ``the ARM''. But you should
-know that vast changes have been made to the language since then.
-
-The ANSI/ISO C++ standards committee have adopted some changes to the
-C++ language since the publication of the original ARM, and newer
-versions of g++ (2.5.x and later) support some of these changes, notably
-the mutable keyword (added in 2.5.0), the bool type (added in 2.6.0),
-and changes in the scope of variables defined in for statements (added
-in 2.7.0).
-You can obtain an addendum to the ARM explaining many of these changes by FTP
-from @file{ftp://ftp.std.com/AW/stroustrup2e/new_iso.ps}.
-
-@cindex AT&T cfront
-Note that the behavior of (any version of) AT&T's "cfront" compiler is
-NOT the standard for the language.
-
-@node porting to g++, name mangling, bug reports, User Problems
-@section Porting programs from other compilers to g++
-
-``I have a program that runs on <some other C++ compiler>, and I want
-to get it running under g++. Is there anything I should watch out
-for?''
-
-@cindex Porting to g++
-
-Note that g++ supports many of the newer keywords that have recently
-been added to the language. Your other C++ compiler may not support
-them, so you may need to rename variables and members that conflict
-with these keywords.
-
-There are two other reasons why a program that worked under one compiler
-might fail under another: your program may depend on the order of
-evaluation of side effects in an expression, or it may depend on the
-lifetime of a temporary (you may be assuming that a temporary object
-"lives" longer than the standard guarantees). As an example of the
-first:
-
-@example
-void func(int,int);
-
-int i = 3;
-func(i++,i++);
-@end example
-
-@cindex Order of evaluation, problems in porting
-Novice programmers think that the increments will be evaluated in strict
-left-to-right order. Neither C nor C++ guarantees this; the second
-increment might happen first, for example. func might get 3,4, or it
-might get 4,3.
-
-@cindex Classes, problems in porting
-@cindex Problems in porting, class
-The second problem often happens with classes like the libg++ String
-class. Let's say I have
-
-@example
-String func1();
-void func2(const char*);
-@end example
-
-and I say
-
-@example
-func2(func1());
-@end example
-
-because I know that class String has an "operator const char*". So what
-really happens is
-
-@example
-func2(func1().convert());
-@end example
-
-@cindex temporaries
-where I'm pretending I have a convert() method that is the same as the
-cast. This is unsafe in g++ versions before 2.6.0, because the
-temporary String object may be deleted after its last use (the call to
-the conversion function), leaving the pointer pointing to garbage, so by
-the time func2 is called, it gets an invalid argument.
-
-@cindex ANSI draft standard
-Both the cfront and the old g++ behaviors are legal according to the ARM,
-but the powers that be have decided that compiler writers were given
-too much freedom here.
-
-The ANSI C++ committee has now come to a resolution of the lifetime of
-temporaries problem: they specify that temporaries should be deleted at
-end-of-statement (and at a couple of other points). This means that g++
-versions before 2.6.0 now delete temporaries too early, and cfront
-deletes temporaries too late. As of version 2.6.0, g++ does things
-according to the new standard.
-
-@cindex Scope, problems in porting
-@cindex Problems in porting, scope
-For now, the safe way to write such code is to give the temporary a name,
-which forces it to live until the end of the scope of the name. For
-example:
-
-@example
-String& tmp = func1();
-func2(tmp);
-@end example
-
-Finally, like all compilers (but especially C++ compilers, it seems),
-g++ has bugs, and you may have tweaked one. If so, please file a bug
-report (after checking the above issues).
-
-@node name mangling, problems linking with other libraries, porting to g++, User Problems
-@section Why does g++ mangle names differently from other C++ compilers?
-
-See the answer to the next question.
-@cindex Mangling names
-
-@node problems linking with other libraries, documentation, name mangling, User Problems
-@section Why can't g++ code link with code from other C++ compilers?
-
-``Why can't I link g++-compiled programs against libraries compiled by
-some other C++ compiler?''
-
-@cindex Mangling names
-@cindex Cygnus Support
-Some people think that,
-if only the FSF and Cygnus Support folks would stop being
-stubborn and mangle names the same way that, say, cfront does, then any
-g++-compiled program would link successfully against any cfront-compiled
-library and vice versa. Name mangling is the least of the problems.
-Compilers differ as to how objects are laid out, how multiple inheritance
-is implemented, how virtual function calls are handled, and so on, so if
-the name mangling were made the same, your programs would link against
-libraries provided from other compilers but then crash when run. For this
-reason, the ARM @emph{encourages} compiler writers to make their name mangling
-different from that of other compilers for the same platform.
-Incompatible libraries are then detected at link time, rather than at run
-time.
-@cindex ARM [Annotated C++ Ref Manual]
-@cindex Compiler differences
-
-@node documentation, templates, problems linking with other libraries, User Problems
-@section What documentation exists for g++ 2.x?
-
-@cindex g++, documentation
-Relatively little.
-While the gcc manual that comes with the distribution has some coverage
-of the C++ part of the compiler, it focuses mainly on the C compiler
-(though the information on the ``back end'' pertains to C++ as well).
-Still, there is useful information on the command line options and the
-#pragma interface and #pragma implementation directives in the manual,
-and there is a useful section on template instantiation in the 2.6 version.
-There is a Unix-style manual entry, "g++.1", in the gcc-2.x
-distribution; the information here is a subset of what is in the manual.
-
-You can buy a nicely printed and bound copy of this manual from the FSF;
-see above for ordering information.
-
-A draft of a document describing the g++ internals appears in the gcc
-distribution (called g++int.texi); it is incomplete but gives lots of
-information.
-
-For class libraries, there are several resources available:
-
-@itemize @bullet
-@item
-The libg++ distribution has a manual
-@file{libg++/libg++.texi} describing the old libg++ classes, and
-another manual @file{libio/iostream.texi} describing the iostreams
-implementation.
-@item
-While there is no libg++-specific document describing the STL
-implementation, SGI's web site, at
-@file{http://www.sgi.com/Technology/STL/}, is an excellent resource.
-Note that the SGI version of STL is the one that is included with the
-egcs and 2.8.x releases of g++/libstdc++.
-
-@end itemize
-
-@node templates, undefined templates, documentation, User Problems
-@section Problems with the template implementation
-
-@cindex g++, template support
-@cindex Templates
-
-g++ does not implement a separate pass to instantiate template functions
-and classes at this point; for this reason, it will not work, for the most
-part, to declare your template functions in one file and define them in
-another. The compiler will need to see the entire definition of the
-function, and will generate a static copy of the function in each file
-in which it is used.
-
-(The experimental template repository code (@pxref{repository}) that
-can be added to 2.7.0 or later does implement a separate pass, but there
-is still no searching of files that the compiler never saw).
-
-As of 2.8.x and egcs-1.0.x, the template implementation has most
-of the features specified in the draft standard. Still missing are
-template arguments that are themselves templates; however, template
-class member functions work, and most of the limitations of the older
-g++ versions are fixed.
-
-I think that given this new implementation, it should not be necessary
-for users to mess around with switches like @code{-fno-implicit-templates}
-and @code{#pragma} directives; most of the time, the default behavior
-will work OK. Users of older versions might want to read on.
-
-@cindex -fno-implicit-templates
-For version 2.6.0, however, a new switch @code{-fno-implicit-templates}
-was added; with this switch, templates are expanded only under user
-control. I recommend that all g++ users that use templates read the
-section ``Template Instantiation'' in the gcc manual (version 2.6.x
-and newer). g++ now supports explicit template expansion using the
-syntax from the latest C++ working paper:
-
-@example
-template class A<int>;
-template ostream& operator << (ostream&, const A<int>&);
-@end example
-
-@cindex template limitations
-As of version 2.7.2, there are still a few limitations in the template
-implementation besides the above (thanks to Jason Merrill for this info):
-
-@strong{Note}: these problems are eliminated in egcs and in gcc-2.8.x.
-
-@enumerate 1
-@item
-Static data member templates are not supported in compiler versions older
-than 2.8.0. You can work around
-this by explicitly declaring the static variable for each template
-specialization:
-
-@example
-template <class T> struct A @{
- static T t;
-@};
-
-template <class T> T A<T>::t = 0; // gets bogus error
-int A<int>::t = 0; // OK (workaround)
-@end example
-
-@item
-Template member names are not available when defining member function
-templates.
-
-@example
-template <class T> struct A @{
- typedef T foo;
- void f (foo);
- void g (foo arg) @{ ... @}; // this works
-@};
-
-template <class T> void A<T>::f (foo) @{ @} // gets bogus error
-@end example
-
-@item
-Templates are instantiated using the parser. This results in two
-problems (again, these problems are fixed in 2.8.0 and egcs):
-
-a) Class templates are instantiated in some situations where such
-instantiation should not occur.
-
-@example
-template <class T> class A @{ @};
-A<int> *aip = 0; // should not instantiate A<int> (but does)
-@end example
-
-b) Function templates cannot be inlined at the site of their
-instantiation.
-
-@example
-template <class T> inline T min (T a, T b) @{ return a < b ? a : b; @}
-
-void f () @{
- int i = min (1, 0); // not inlined
-@}
-
-void g () @{
- int j = min (1, 0); // inlined
-@}
-@end example
-
-A workaround that works in version 2.6.1 through 2.7.2.x is to specify
-
-@example
-extern template int min (int, int);
-@end example
-
-before @code{f()}; this will force it to be instantiated (though not
-emitted).
-
-@strong{Note:} this kind of ``guiding declaration'' is not standard and
-isn't supported by egcs or gcc-2.8.x, as the standard says that this
-declares a ``normal'' @code{min} function which has no relation to
-the template function @code{min<int>(int,int)}. But then the new
-compilers have no problem inlining template functions.
-
-@item
-Member function templates are always instantiated when their containing
-class is. This is wrong (fixed in egcs/2.8).
-@end enumerate
-
-@node undefined templates, redundant templates, templates, User Problems
-@section I get undefined symbols when using templates
-
-(Thanks to Jason Merrill for this section).
-
-@cindex template instantiation
-g++ does not automatically instantiate templates defined in other files.
-Because of this, code written for cfront will often produce undefined
-symbol errors when compiled with g++. You need to tell g++ which template
-instances you want, by explicitly instantiating them in the file where they
-are defined. For instance, given the files
-
-@file{templates.h}:
-@example
-template <class T>
-class A @{
-public:
- void f ();
- T t;
-@};
-
-template <class T> void g (T a);
-@end example
-
-@file{templates.cc}:
-@example
-#include "templates.h"
-
-template <class T>
-void A<T>::f () @{ @}
-
-template <class T>
-void g (T a) @{ @}
-@end example
-
-
-main.cc:
-@example
-#include "templates.h"
-
-main ()
-@{
- A<int> a;
- a.f ();
- g (a);
-@}
-@end example
-
-compiling everything with @code{g++ main.cc templates.cc} will result in
-undefined symbol errors for @samp{A<int>::f ()} and @samp{g (A<int>)}. To
-fix these errors, add the lines
-
-@example
-template class A<int>;
-template void g (A<int>);
-@end example
-
-to the bottom of @samp{templates.cc} and recompile.
-
-@node redundant templates, Standard Template Library, undefined templates, User Problems
-@section I get multiply defined symbols using templates
-
-You may be running into a bug that was introduced in version 2.6.1
-(and is still present in 2.6.3) that generated external linkage
-for templates even when neither @code{-fexternal-templates} nor
-@code{-fno-implicit-templates} is specified. There is a patch for
-this problem at @*
-@file{ftp://ftp.cygnus.com/pub/g++/gcc-2.6.3-template-fix}.
-
-I recommend either applying the patch or
-using @code{-fno-implicit-templates}
-together with explicit template instantiation as described in previous
-sections.
-
-This bug is fixed in 2.7.0.
-
-@node Standard Template Library, STL and string, redundant templates, User Problems
-@section Does g++ support the Standard Template Library?
-
-If you want to use the Standard Template Library, do not pass go,
-upgrade immediately to gcc-2.8.x or to egcs. The new C++ front end
-handles STL very well, and the high-quality implementation of STL
-from SGI is included verbatim as part of the libstdc++ class library.
-
-If for some reason you must use 2.7.2, you can probably get by with
-the hacked-up version of the old implementation from HP that is
-included with libg++-2.7.2, but it is definitely inferior and has more
-problems. Alternatively, g++ 2.7.2.x users might try the following:
-a group at the Moscow Center for Sparc Technology has
-a port of the SGI STL implementation that mostly works with gcc-2.7.2.
-See
-@file{http://www.ipmce.su/people/fbp/stl/stlport.html}.
-
-Mumit Khan has produced an ``STL newbie guide'' with lots of information
-on using STL with gcc. See
-
-@file{http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html}
-
-@node STL and string, exceptions, Standard Template Library, User Problems
-@section I'm having problems mixing STL and the standard string class
-
-[ This section is for g++ 2.7.2.x users only ]
-
-This is due to a bug in g++ version 2.7.2 and 2.7.2.1; the compiler
-is confused by the operator declarations. There is an easy workaround,
-however; just make sure that the @code{<string>} header is included
-before any STL headers. That is, just say
-
-@example
-#include <string>
-@end example
-
-before any other @code{#include} directives.
-
-Unfortunately, this doesn't solve all problems; you may still have
-difficulty with the relational operators !=, <=, >, and >=, thanks
-to a conflict with the very general definition of these operators
-in function.h. One trick that sometimes works is to try to use ==
-and < in your code instead of the other operators. Another is to
-use a derived class of <string>. The only completely satisfactory
-solution, I'm afraid, is to wait for the new release.
-
-@node exceptions, namespaces, STL and string, User Problems
-@section Problems and limitations with exceptions
-
-The first really usable exceptions implementations are in 2.8.x and
-egcs. With these versions, exceptions are enabled by default; use
--fno-exceptions to disable exceptions.
-
-However, 2.8.1 still has not integrated egcs work that computes an
-accurate control flow graph in the presence of exceptions. For this
-reason, you will sometimes get bogus warnings when compiling with 2.8.1,
--O, and -Wall, about uninitialized variables and the like.
-
-2.7.2.x has very limited and partially broken support for exceptions.
-With that compiler, you must
-provide the @code{-fhandle-exceptions} flag to enable exception
-handling. In version 2.7.2 and older, exceptions may not work properly
-(and you may get odd error messages when compiling) if you turn
-on optimization (the @code{-O} flag). If you care about exceptions,
-please upgrade to a newer compiler!
-
-In 2.7.2, you must give the @code{-frtti} switch to enable catching
-of derived exception objects with handlers for the base exception class;
-if @code{-frtti} is not given, only exact type matching works.
-
-For exception handling to work with 2.7.0 your CPU must be a SPARC,
-RS6000/PowerPC, 386/486/Pentium, or ARM. Release 2.7.1 added support
-for the Alpha, and ``m68k is rumored to work on some platforms''
-and ``VAX may also work'' (according to Mike Stump).
-@emph{It still doesn't work on HP-PA or MIPS platforms.}
-
-Exception handling adds space overhead (the size of the executable
-grows); the problem is worse on the ix86 (Intel-like) architecture
-than on RISC architectures. The extra exceptions code is generated
-in a separate program section and is only paged in if an exception
-is thrown, so the cost is in disk, not in RAM or CPU.
-
-Exception overhead is much lower on ix86 if you use binutils 2.9 or
-later, as gas (the GNU assembler) can now compress the information.
-
-@node namespaces, agreement with standards, exceptions, User Problems
-@section Does g++ support namespaces?
-
-As of version 2.7.2, g++ recognizes the keywords @code{namespace} and
-@code{using}, and there is some rudimentary code present, but almost
-nothing connected with namespaces works yet.
-The new versions (2.8.x/egcs) still lack namespace support, but to help
-compile standard programs they make
-
-@example
-using namespace std;
-@end example
-
-a no-op. There is namespace implementation work going on in the egcs
-snapshots (but it hasn't been released yet).
-
-@node agreement with standards, compiling standard libraries, namespaces, User Problems
-@section What are the differences between g++ and the ARM specification of C++?
-
-@cindex ARM [Annotated C++ Ref Manual]
-@cindex exceptions
-
-Up until recently, there was no really usable exception support. If you
-need exceptions, you want gcc-2.8.x or egcs. The implementation works
-fairly well. The 2.7.x version was strictly alpha quality and quite
-fragile.
-
-@cindex mutable
-Some features that the ANSI/ISO standardization committee has voted in
-that don't appear in the ARM are supported, notably the @code{mutable}
-keyword, in version 2.5.x. 2.6.x added support for the built-in boolean
-type @code{bool}, with constants @code{true} and @code{false}. Run-time
-type identification was rudimentary in 2.7.x but is fully supported in
-2.8.x, so there are
-more reserved words: @code{typeid}, @code{static_cast},
-@code{reinterpret_cast}, @code{const_cast}, and @code{dynamic_cast}.
-
-@cindex g++ bugs
-As with any beta-test compiler, there are bugs. You can help improve
-the compiler by submitting detailed bug reports.
-
-[ This paragraph obsoleted by 2.8.x/egcs: ]
-One of the weakest areas of g++ other than templates is the resolution
-of overloaded functions and operators in complex cases. The usual
-symptom is that in a case where the ARM says that it is ambiguous which
-function should be chosen, g++ chooses one (often the first one
-declared). This is usually not a problem when porting C++ code from
-other compilers to g++, but shows up as errors when code developed under
-g++ is ported to other compilers. (I believe this is no longer a
-significant problem in 2.7.0 or later).
-
-[A full bug list would be very long indeed, so I won't put one here;
-the sheer complexity of the C++ language means that every compiler I've
-tried has some problems. 2.8.x and egcs are a big improvement]
-
-@node compiling standard libraries, debugging on SVR4 systems, agreement with standards, User Problems
-@section Will g++ compile InterViews? The NIH class library? Rogue Wave?
-
-@cindex NIH class library
-@cindex NIHCL with g++
-The NIH class library uses a non-portable, compiler-dependent hack
-to initialize itself, which makes life difficult for g++ users.
-It will not work without modification, and I don't know what modifications
-are required or whether anyone has done them successfully.
-
-In short, it's not going to happen any time soon (previous FAQs referred
-to patches that a new NIHCL release would hopefully contain, but this
-hasn't happened).
-
-@strong{Note:} I thought I saw an item indicating that someone
-@emph{had} patched NIHCL to work with g++. Any pointers?
-
-@cindex InterViews
-I think that as of version 2.5.6, the standard g++ will compile the
-standard 3.1 InterViews completely successfully.
-Note that you'll need the @code{-fno-for-scope} flag
-if you use gcc-2.7.0; with 2.7.2 you may be able to omit this flag
-but you'll get warnings.
-
-@cindex Rogue Wave
-According to Jason Merrill, gcc-2.7.0 and newer works with Rogue
-Wave's @code{tools.h++} class library, but you may want to grab
-@file{ftp://ftp.cygnus.com/pub/g++/Tools.h++-6.1-patch}. Again,
-you'll need the @code{-fno-for-scope} flag since Rogue Wave hasn't
-fixed their code to comply with the new standard yet.
-
-@node debugging on SVR4 systems, debugging problems on Solaris, compiling standard libraries, User Problems
-@section Debugging on SVR4 systems
-@cindex System VR4, debugging
-
-``How do I get debugging to work on my System V Release 4 system?''
-
-@cindex DWARF debug format
-
-Most systems based on System V Release 4 (except Solaris) encode symbolic
-debugging information in a format known as `DWARF'. There are two forms
-of DWARF, DWARF 1 and DWARF 2. The default is often DWARF 1, which is
-not really expressive enough to do C++ correctly.
-
-Now that we have gdb 4.17, DWARF debugging is finally supported (if
-you use gcc 2.8.1 or egcs-1.0.x or newer).
-
-@cindex stabs
-@cindex --with-stabs
-
-For users of older versions of the tools, you @emph{can} get g++ debugging under SVR4 systems by
-configuring gcc with the @code{--with-stabs} option. This causes gcc to
-use an alternate debugging format, one more like that used under SunOS4.
-You won't need to do anything special to GDB; it will always understand
-the ``stabs'' format.
-
-To specify DWARF 2 output on Unixware, you can give the @code{-ggdb}
-switch; alternatively, @code{-gstabs} produces ``stabs'' format.
-
-@node debugging problems on Solaris, X11 conflicts with libg++, debugging on SVR4 systems, User Problems
-@section debugging problems on Solaris
-
-``I'm on Solaris, and gdb says it doesn't know about some of my local
-symbols. Help!''
-
-This problem was introduced in gcc 2.7.2; debug symbols for
-locals that aren't declared at the beginning of a block come out in the
-wrong order, and gdb can't find such symbols.
-
-This problem is fixed in gcc-2.7.2.1.
-
-@node X11 conflicts with libg++, assignment to streams, debugging problems on Solaris, User Problems
-@section X11 conflicts with libg++ in definition of String
-@cindex String, conflicts in definition
-
-``X11 and Motif define String, and this conflicts with the String class
-in libg++. How can I use both together?''
-
-One possible method is the following:
-
-@example
-#define String XString
-#include <X11/Intrinsic.h>
-/* include other X11 and Motif headers */
-#undef String
-@end example
-
-and remember to use the correct @code{String} or @code{XString} when
-you declare things later.
-
-@node assignment to streams, , X11 conflicts with libg++, User Problems
-@section Why can't I assign one stream to another?
-
-[ Thanks to Per Bothner and Jerry Schwarz for this section. ]
-
-Assigning one stream to another seems like a reasonable thing to do, but
-it's a bad idea. Usually, this comes up because people want to assign
-to @code{cout}. This is poor style, especially for libraries, and is
-contrary to good object-oriented design. (Libraries that write directly
-to @code{cout} are less flexible, modular, and object-oriented).
-
-The iostream classes do not allow assigning to arbitrary streams, because
-this can violate typing:
-
-@example
-ifstream foo ("foo");
-istrstream str(...);
-foo = str;
-foo->close (); /* Oops! Not defined for istrstream! */
-@end example
-
-@cindex assignment to cout
-
-The original cfront implementation of iostreams by Jerry Schwarz allows
-you to assign to @code{cin}, @code{cout}, @code{cerr}, and @code{clog},
-but this is not part of the draft standard for iostreams and generally
-isn't considered a good idea, so standard-conforming code shouldn't use
-this technique.
-
-The GNU implementation of iostream did not support assigning to
-@code{cin}, @code{cout}, @code{cerr}, and @code{clog}
-for quite a while, but it now does, for backward
-compatibility with cfront iostream (versions 2.6.1 and later of libg++).
-
-The ANSI/ISO C++ Working Paper does provide ways of changing the
-streambuf associated with a stream. Assignment isn't allowed;
-there is an explicit named member that must be used.
-
-However, it is not wise to do this, and the results are confusing. For
-example: @code{fstream::rdbuf} is supposed to return the @emph{original}
-filebuf, not the one you assigned. (This is not yet implemented in GNU
-iostream.) This must be so because @code{fstream::rdbuf} is defined to
-return a @code{filebuf *}.
-
-@node legalities, index, User Problems, Top
-@chapter What are the rules for shipping code built with g++ and libg++?
-@cindex Shipping rules
-@cindex GPL [GNU Public License]
-
-``Is it is possible to distribute programs for profit that are created
-with g++ and use the g++ libraries?''
-
-I am not a lawyer, and this is not legal advice. In any case, I have
-little interest in telling people how to violate the spirit of the
-GNU licenses without violating the letter. This section tells you
-how to comply with the intention of the GNU licenses as best I understand
-them.
-
-@cindex FSF [Free Software Foundation]
-The FSF has no objection to your making money. Its only interest is that
-source code to their programs, and libraries, and to modified versions of
-their programs and libraries, is always available.
-
-The short answer is that you do not need to release the source to
-your program, but you can't just ship a stripped executable either,
-unless you use only the subset of libg++ that includes the iostreams
-classes (see discussion below) or the new libstdc++ library (available
-in libg++ 2.6.2 and later).
-
-Compiling your code with a GNU compiler does not affect its copyright;
-it is still yours. However, in order to ship code that links in a GNU
-library such as libg++ there are certain rules you must follow. The
-rules are described in the file COPYING.LIB that accompanies gcc
-distributions; it is also included in the libg++ distribution.
-See that file for the exact rules. The agreement is called the
-Library GNU Public License or LGPL. It is much "looser" than the
-GNU Public License, or GPL, that covers must GNU programs.
-
-@cindex libg++, shipping code
-Here's the deal: let's say that you use some version of libg++,
-completely unchanged, in your software, and you want to ship only
-a binary form of your code. You can do this, but there are several
-special requirements. If you want to use libg++ but ship only object
-code for your code, you have to ship source for libg++ (or ensure
-somehow that your customer already has the source for the exact
-version you are using), and ship your application in linkable form.
-You cannot forbid your customer from reverse-engineering or extending
-your program by exploiting its linkable form.
-
-@cindex libg++, modifying
-Furthermore, if you modify libg++ itself, you must provide source
-for your modifications (making a derived class does not count as
-modifying the library -- that is "a work that uses the library").
-
-@cindex special copying conditions for iostreams
-For certain portions of libg++ that implement required parts of the C++
-language (such as iostreams and other standard classes), the FSF has
-loosened the copyright requirement still more by adding the ``special
-exception'' clause, which reads as follows:
-
-@quotation
-As a special exception, if you link this library with files
-compiled with GCC to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-@end quotation
-
-If your only use of libg++ uses code with this exception, you may ship
-stripped executables or license your executables under different
-conditions without fear of violating an FSF copyright. It is the intent
-of FSF and Cygnus that, as the other classes required by the ANSI/ISO
-draft standard are developed, these will also be placed under this
-``special exception'' license.
-The code in the new libstdc++ library, intended to implement standard
-classes as defined by ANSI/ISO, is also licensed this way.
-
-To avoid coming under the influence of the LGPL, you can link with
-@file{-liostream} rather than @file{-lg++} (for version 2.6.x and
-earlier), or @file{-lstdc++} now that it is available. In version 2.7.0
-all the standard classes are in @file{-lstdc++}; you can do the link
-step with @code{c++} instead of @code{g++} to search only the
-@file{-lstdc++} library and avoid the LGPL'ed code in @file{-lg++}.
-
-Note that in egcs and in gcc-2.8.x, if you do not
-specify any libraries the @code{g++} command will only link in
-@file{-lstdc++}, so your executable will not be affected by the LGPL
-(unless you link in some other LGPLed library: the GNU C library used
-on GNU/Linux systems is one such library).
-
-If you wish to discuss legal issues connected with GNU software on the
-net, please use @file{gnu.misc.discuss}, not the technical newsgroups.
-
-@node index, , legalities, Top
-@comment node-name, next, previous, up
-@appendix Concept Index
-
-@printindex cp
-
-@page
-@contents
-@bye
diff --git a/gcc/cp/gxxint.texi b/gcc/cp/gxxint.texi
index c63b672959b..81bcab86425 100644
--- a/gcc/cp/gxxint.texi
+++ b/gcc/cp/gxxint.texi
@@ -26,6 +26,7 @@ Questions and comments to Benjamin Kosnik @code{<bkoz@@cygnus.com>}.
* Exception Handling::
* Free Store::
* Mangling:: Function name mangling for C++ and Java
+* Vtables:: Two ways to do virtual functions
* Concept Index::
@end menu
@@ -190,7 +191,9 @@ accessed by the BINFO_ accessor macros.
The virtual function table holds information used in virtual function
dispatching. In the compiler, they are usually referred to as vtables,
or vtbls. The first index is not used in the normal way, I believe it
-is probably used for the virtual destructor.
+is probably used for the virtual destructor. There are two forms of
+virtual tables, one that has offsets in addition to pointers, and one
+using thunks. @xref{Vtables}.
@item vfield
@@ -1455,7 +1458,7 @@ To meet the first goal, we defer emission of inlines and vtables until
the end of the translation unit, where we can decide whether or not they
are needed, and how to emit them if they are.
-@node Mangling, Concept Index, Free Store, Top
+@node Mangling, Vtables, Free Store, Top
@section Function name mangling for C++ and Java
Both C++ and Jave provide overloaded function and methods,
@@ -1748,7 +1751,7 @@ Used to indicate a template function.
Encodes the C++ and Java @code{int} types.
@item I
-Encodes typedef names of the form @code{int@var{n}_t, where @var{n} is a
+Encodes typedef names of the form @code{int@var{n}_t}, where @var{n} is a
positive decimal number. The @samp{I} is followed by either two
hexidecimal digits, which encode the value of @var{n}, or by an
arbitrary number of hexidecimal digits between underscores. For
@@ -1839,7 +1842,231 @@ Used for template type parameters.
The letters @samp{G}, @samp{M}, @samp{O}, and @samp{p}
also seem to be used for obscure purposes ...
-@node Concept Index, , Mangling, Top
+@node Vtables, Concept Index, Mangling, Top
+@section Virtual Tables
+
+In order to invoke virtual functions, GNU C++ uses virtual tables. Each
+virtual function gets an index, and the table entry points to the
+overridden function to call. Sometimes, and adjustment to the this
+pointer has to be made before calling a virtual function:
+
+@example
+struct A@{
+ int i;
+ virtual void foo();
+@};
+
+struct B@{
+ int j;
+ virtual void bar();
+@};
+
+struct C:A,B@{
+ virtual void bar();
+@};
+
+void C::bar()
+@{
+ i++;
+@}
+
+int main()
+@{
+ C *c = new C;
+ B *b = c;
+ c->bar();
+@}
+@end example
+
+Here, casting from @samp{c} to @samp{b} adds an offset. When @samp{bar}
+is called, this offset needs to be subtracted, so that @samp{C::bar} can
+properly access @samp{i}. One approach of achieving this is to use
+@emph{thunks}, which are small half-functions put into the virtual
+table. The modify the first argument (the @samp{this} pointer), and then
+jump into the real function.
+
+The other (traditional) approach is to have an additional integer in the
+virtual table which is added to this. This is an additional overhead
+both at the function call, and in the size of virtual tables: In the
+case of single inheritance (or for the first base class), these integers
+will always be zero.
+
+@subsection Virtual Base Classes with Virtual Tables
+
+In case of virtual bases, the code is even more
+complicated. Constructors and destructors need to know whether they are
+"in charge" of the virtual bases, and an implicit integer
+@samp{__in_chrg} for that purpose.
+
+@example
+struct A@{
+ int i;
+ virtual void bar();
+ void call_bar()@{bar();@}
+@};
+
+struct B:virtual A@{
+ B();
+ int j;
+ virtual void bar();
+@};
+
+B::B()@{
+ call_bar();
+@}
+
+struct C@{
+ int k;
+@};
+
+struct D:C,B@{
+ int l;
+ virtual void bar();
+@};
+
+@end example
+
+When constructing an instance of B, it will have the following layout:
+@samp{vbase pointer to A}, @samp{j}, @samp{A virtual table}, @samp{i}.
+On a 32-bit machine, downcasting from @samp{A*} to @samp{B*} would need
+to subtract 8, which would be the thunk executed when calling
+@samp{B::bar} inside @samp{call_bar}.
+
+When constructing an instance of D, it will have a different layout:
+@samp{k}, @samp{vbase pointer to A}, @samp{j}, @samp{l}, @samp{A virtual
+table}, @samp{i}. So, when downcasting from @samp{A*} to @samp{B*} in a
+@samp{D} object, the offset would be @samp{12}.
+
+This means that during construction of the @samp{B} base of a @samp{D}
+object, a virtual table is needed which has a @samp{-12} thunk to
+@samp{B::bar}. This is @emph{only} needed during construction and
+destruction, as the full object will use a @samp{-16} thunk to
+@samp{D::bar}.
+
+In order to implement this, the compiler generates an implicit argument
+(in addition to @code{__in_chrg}): the virtual list argument
+@code{__vlist}. This is a list of virtual tables needed during
+construction and destruction. The virtual pointers are ordered in the
+way they are used during construction; the destructors will process the
+array in reverse order. The ordering is as follows:
+@itemize @bullet
+@item
+If the class is in charge, the vlist starts with virtual table pointers
+for the virtual bases that have virtual bases themselves. Here, only
+@emph{polymorphic} virtual bases (pvbases) are interesting: if a vbase
+has no virtual functions, it doesn't have a virtual table.
+
+@item
+Next, the vlist has virtual tables for the initialization of the
+non-virtual bases. These bases are not in charge, so the layout is
+recursive, but ignores virtual bases during recursion.
+
+@item
+Next, there is a number of virtual tables for each virtual base. These
+are sorted in the order in which virtual bases are constructed. Each
+virtual base may have more than one @code{vfield}, and therefore require
+more than one @code{vtable}. The order of vtables is the same as used
+when initializing vfields of non-virtual bases in a constructor.
+@end itemize
+
+The compiler emits a virtual table list in a variable mangled as
+@code{__vl.classname}.
+
+Class with virtual bases, but without pvbases, only have the
+@code{__in_chrg} argument to their ctors and dtors: they don't have any
+vfields in the vbases to initialize.
+
+A further problem arises with virtual destructors: A destructor
+typically has only the @code{__in_chrg} argument, which also indicates
+whether the destructor should call @code{operator delete}. A dtor of a
+class with pvbases has an additional argument. Unfortunately, a caller
+of a virtual dtor might not know whether to pass that argument or not.
+Therefore, the dtor processes the @code{__vlist} argument in an
+automatic variable, which is initialized from the class' vlist if the
+__in_chrg flag has a zero value in bit 2 (bit mask 4), or from the
+argument @code{__vlist1} if bit 2 of the __in_chrg parameter is set to
+one.
+
+@subsection Specification of non-thunked vtables
+
+In the traditional implementation of vtables, each slot contains three
+fields: The offset to be added to the this pointer before invoking a
+virtual function, an unused field that is always zero, and the pointer
+to the virtual function. The first two fields are typically 16 bits
+wide. The unused field is called `index'; it may be non-zero in
+pointer-to-member-functions, which use the same layout.
+
+The virtual table then is an array of vtable slots. The first slot is
+always the virtual type info function, the other slots are in the order
+in which the virtual functions appear in the class declaration.
+
+If a class has base classes, it may inherit other bases' vfields. Each
+class may have a primary vfield; the primary vfield of the derived class
+is the primary vfield of the left-most non-virtual base class. If a
+class inherits a primary vfield, any new virtual functions in the
+derived class are appended to the virtual table of the primary
+vfield. If there are new virtual functions in the derived class, and no
+primary vfield is inherited, a new vfield is introduced which becomes
+primary. The redefined virtual functions fill the vtable slots inherited
+from the base; new virtual functions are put into the primary vtable in
+the order of declaration. If no new virtual functions are introduced, no
+primary vfield is allocated.
+
+In a base class that has pvbases, virtual tables are needed which are
+used only in the constructor (see example above). At run-time, the
+virtual tables of the base class are adjusted, to reflect the new offset
+of the pvbase. The compiler knows statically what offset the pvbase has
+for a complete object. At run-time, the offset of the pvbase can be
+extracted from the vbase pointer, which is set in the constructor of the
+complete object. These two offsets result in a delta, which is used to
+adjust the deltas in the vtable (the adjustment might be different for
+different vtable slots). To adjust the vtables, the compiler emits code
+that creates a vtable on the stack. This vtable is initialized with the
+vtable for the complete base type, and then adjusted.
+
+In order to call a virtual function, the compiler gets the offset field
+from the vtable entry, and adds it to the this pointer. It then
+indirectly calls the virtual function pointer, passing the adjusted this
+pointer, and any arguments the virtual function may have.
+
+To implement dynamic casting, the dynamic_cast function needs typeinfos
+for the complete type, and the pointer to the complete type. The
+typeinfo pointer is obtained by calling the virtual typeinfo function
+(which doesn't take a this parameter). The pointer to the complete
+object is obtained by adding the offset of the virtual typeinfo vtable
+slot, since this virtual function is always implemented in the complete
+object.
+
+@subsection Specification of thunked vtables
+
+For vtable thunks, each slot only consists of a pointer to the virtual
+function, which might be a thunk function. The first slot in the vtable
+is an offset of the this pointer to the complete object, which is needed
+as a parameter to __dynamic_cast. The second slot is the virtual
+typeinfo function. All other slots are allocated with the same procedure
+as in the non-thunked case. Allocation of vfields also uses the same
+procedure as described above.
+
+If the virtual function needs an adjusted this pointer, a thunk function
+is emitted. If supported by the target architecture, this is only a
+half-function. Such a thunk has no stack frame; it merely adjusts the
+first argument of the function, and then directly branches into the
+implementation of the virtual function. If the architecture does not
+support half-functions (i.e. if ASM_OUTPUT_MI_THUNK is not defined), the
+compiler emits a wrapper function, which copies all arguments, adjust
+the this pointer, and then calls the original function. Since objects of
+non-aggregate type are passed by invisible reference, this copies only
+POD arguments. The approach fails for virtual functions with a variable
+number of arguments.
+
+In order to support the vtables needed in base constructors with
+pvbases, the compiler passes an implicit __vlist argument as described
+above, if the version 2 thunks are used. For version 1 thunks, the base
+class constructor will fill in the vtables for the complete base class,
+which will incorrectly adjust the this pointer, leading to a dynamic
+error.
+
+@node Concept Index, , Vtables, Top
@section Concept Index
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 7fb203007de..d70fc3298b9 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -44,7 +44,7 @@ Boston, MA 02111-1307, USA. */
tree current_base_init_list, current_member_init_list;
static void expand_aggr_vbase_init_1 PROTO((tree, tree, tree, tree));
-static void expand_aggr_vbase_init PROTO((tree, tree, tree, tree));
+static void construct_virtual_bases PROTO((tree, tree, tree, tree, tree));
static void expand_aggr_init_1 PROTO((tree, tree, tree, tree, int));
static void expand_default_init PROTO((tree, tree, tree, tree, int));
static tree build_vec_delete_1 PROTO((tree, tree, tree, tree, tree,
@@ -55,11 +55,12 @@ static tree build_builtin_delete_call PROTO((tree));
static int member_init_ok_or_else PROTO((tree, tree, const char *));
static void expand_virtual_init PROTO((tree, tree));
static tree sort_member_init PROTO((tree));
-static tree build_partial_cleanup_for PROTO((tree));
static tree initializing_context PROTO((tree));
static void expand_vec_init_try_block PROTO((tree));
static void expand_vec_init_catch_clause PROTO((tree, tree, tree, tree));
static tree build_java_class_ref PROTO((tree));
+static void expand_cleanup_for_base PROTO((tree, tree, tree));
+static int pvbasecount PROTO((tree, int));
/* Cache the identifier nodes for the magic field of a new cookie. */
static tree nc_nelts_field_id;
@@ -478,15 +479,91 @@ sort_base_init (t, rbase_ptr, vbase_ptr)
*vbase_ptr = vbases;
}
-/* Perform partial cleanups for a base for exception handling. */
+/* Invoke a base-class destructor. REF is the object being destroyed,
+ BINFO is the base class, and DTOR_ARG indicates whether the base
+ class should invoke delete. */
-static tree
-build_partial_cleanup_for (binfo)
- tree binfo;
+tree
+build_base_dtor_call (ref, binfo, dtor_arg)
+ tree ref, binfo, dtor_arg;
+{
+ tree args = NULL_TREE;
+ tree vlist = lookup_name (vlist_identifier, 0);
+ tree call, decr;
+
+ if (TYPE_USES_PVBASES (BINFO_TYPE (binfo)))
+ {
+ args = expr_tree_cons (NULL_TREE, vlist, args);
+ dtor_arg = build (BIT_IOR_EXPR, integer_type_node,
+ dtor_arg, build_int_2 (4, 0));
+ dtor_arg = fold (dtor_arg);
+ }
+ args = expr_tree_cons (NULL_TREE, dtor_arg, args);
+ call = build_scoped_method_call (ref, binfo, dtor_identifier, args);
+
+ if (!TYPE_USES_PVBASES (BINFO_TYPE (binfo)))
+ /* For plain inheritance, do not try to adjust __vlist. */
+ return call;
+
+ /* Now decrement __vlist by the number of slots consumed by the base
+ dtor. */
+ decr = build_int_2 (pvbasecount (BINFO_TYPE (binfo), 0), 0);
+ decr = build_binary_op (MINUS_EXPR, vlist, decr);
+ decr = build_modify_expr (vlist, NOP_EXPR, decr);
+
+ return build (COMPOUND_EXPR, void_type_node, call, decr);
+}
+
+/* Return the number of vlist entries needed to initialize TYPE,
+ depending on whether it is IN_CHARGE. */
+
+static int
+pvbasecount (type, in_charge)
+ tree type;
+ int in_charge;
+{
+ int i;
+ int result = 0;
+ tree vbase;
+
+ for (vbase = (CLASSTYPE_VBASECLASSES (type)); vbase;
+ vbase = TREE_CHAIN (vbase))
+ {
+ result += list_length (CLASSTYPE_VFIELDS (BINFO_TYPE (vbase)));
+ if (in_charge)
+ result += pvbasecount (BINFO_TYPE (vbase), 0);
+ }
+
+ for (i=0; i < CLASSTYPE_N_BASECLASSES (type); i++)
+ {
+ tree base = TREE_VEC_ELT (TYPE_BINFO_BASETYPES (type), i);
+ if (TREE_VIA_VIRTUAL (base))
+ continue;
+ result += pvbasecount (BINFO_TYPE (base), 0);
+ }
+ return result;
+}
+
+void
+init_vlist (t)
+ tree t;
{
- return build_scoped_method_call
- (current_class_ref, binfo, dtor_identifier,
- build_expr_list (NULL_TREE, integer_zero_node));
+ char *name;
+ tree expr;
+ tree vlist = lookup_name (vlist_identifier, 0);
+
+ name = alloca (strlen (VLIST_NAME_FORMAT)
+ + TYPE_ASSEMBLER_NAME_LENGTH (t) + 2);
+ sprintf (name, VLIST_NAME_FORMAT, TYPE_ASSEMBLER_NAME_STRING (t));
+
+ expr = get_identifier (name);
+ expr = lookup_name (expr, 0);
+ expr = build1 (ADDR_EXPR, TREE_TYPE (vlist), expr);
+ if (DECL_DESTRUCTOR_FOR_PVBASE_P (current_function_decl))
+ /* Move to the end of the vlist. */
+ expr = build_binary_op (PLUS_EXPR, expr,
+ build_int_2 (pvbasecount (t, 1), 0));
+ expand_expr_stmt (build_modify_expr (vlist, NOP_EXPR, expr));
}
/* Perform whatever initializations have yet to be done on the base
@@ -521,6 +598,7 @@ emit_base_init (t, immediately)
tree binfos = BINFO_BASETYPES (t_binfo);
int i, n_baseclasses = binfos ? TREE_VEC_LENGTH (binfos) : 0;
tree expr = NULL_TREE;
+ tree vlist = lookup_name (vlist_identifier, 0);
if (! immediately)
{
@@ -548,14 +626,13 @@ emit_base_init (t, immediately)
sort_base_init (t, &rbase_init_list, &vbase_init_list);
current_base_init_list = NULL_TREE;
+ /* First, initialize the virtual base classes, if we are
+ constructing the most-derived object. */
if (TYPE_USES_VIRTUAL_BASECLASSES (t))
{
tree first_arg = TREE_CHAIN (DECL_ARGUMENTS (current_function_decl));
-
- expand_start_cond (first_arg, 0);
- expand_aggr_vbase_init (t_binfo, current_class_ref, current_class_ptr,
- vbase_init_list);
- expand_end_cond ();
+ construct_virtual_bases (t, current_class_ref, current_class_ptr,
+ vbase_init_list, first_arg);
}
/* Now, perform initialization of non-virtual base classes. */
@@ -593,18 +670,7 @@ emit_base_init (t, immediately)
free_temp_slots ();
}
- if (TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (base_binfo)))
- {
- tree expr;
-
- /* All cleanups must be on the function_obstack. */
- push_obstacks_nochange ();
- resume_temporary_allocation ();
- expr = build_partial_cleanup_for (base_binfo);
- pop_obstacks ();
- add_partial_entry (expr);
- }
-
+ expand_cleanup_for_base (base_binfo, vlist, NULL_TREE);
rbase_init_list = TREE_CHAIN (rbase_init_list);
}
@@ -766,6 +832,48 @@ expand_virtual_init (binfo, decl)
expand_expr_stmt (build_modify_expr (vtbl_ptr, NOP_EXPR, vtbl));
}
+/* If an exception is thrown in a constructor, those base classes already
+ constructed must be destroyed. This function creates the cleanup
+ for BINFO, which has just been constructed. If FLAG is non-NULL,
+ it is a DECL which is non-zero when this base needs to be
+ destroyed. */
+
+static void
+expand_cleanup_for_base (binfo, vlist, flag)
+ tree binfo;
+ tree vlist;
+ tree flag;
+{
+ tree expr;
+
+ if (TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (binfo)))
+ {
+ /* All cleanups must be on the function_obstack. */
+ push_obstacks_nochange ();
+ resume_temporary_allocation ();
+
+ /* Call the destructor. */
+ expr = build_base_dtor_call (current_class_ref, binfo,
+ integer_zero_node);
+ if (flag)
+ expr = fold (build (COND_EXPR, void_type_node,
+ truthvalue_conversion (flag),
+ expr, integer_zero_node));
+
+ pop_obstacks ();
+ add_partial_entry (expr);
+ }
+
+ if (TYPE_USES_PVBASES (BINFO_TYPE (binfo)))
+ {
+ /* Increment vlist by number of base's vbase classes. */
+ expr = build_int_2 (pvbasecount (BINFO_TYPE (binfo), 0), 0);
+ expr = build_binary_op (PLUS_EXPR, vlist, expr);
+ expr = build_modify_expr (vlist, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+ }
+}
+
/* Subroutine of `expand_aggr_vbase_init'.
BINFO is the binfo of the type that is being initialized.
INIT_LIST is the list of initializers for the virtual baseclass. */
@@ -788,36 +896,66 @@ expand_aggr_vbase_init_1 (binfo, exp, addr, init_list)
free_temp_slots ();
}
-/* Initialize this object's virtual base class pointers. This must be
- done only at the top-level of the object being constructed.
-
- INIT_LIST is list of initialization for constructor to perform. */
+/* Construct the virtual base-classes of THIS_REF (whose address is
+ THIS_PTR). The object has the indicated TYPE. The construction
+ actually takes place only if FLAG is non-zero. INIT_LIST is list
+ of initialization for constructor to perform. */
static void
-expand_aggr_vbase_init (binfo, exp, addr, init_list)
- tree binfo;
- tree exp;
- tree addr;
+construct_virtual_bases (type, this_ref, this_ptr, init_list, flag)
+ tree type;
+ tree this_ref;
+ tree this_ptr;
tree init_list;
+ tree flag;
{
- tree type = BINFO_TYPE (binfo);
+ tree vbases;
+ tree result;
+ tree vlist = NULL_TREE;
- if (TYPE_USES_VIRTUAL_BASECLASSES (type))
- {
- tree result = init_vbase_pointers (type, addr);
- tree vbases;
+ /* If there are no virtual baseclasses, we shouldn't even be here. */
+ my_friendly_assert (TYPE_USES_VIRTUAL_BASECLASSES (type), 19990621);
- if (result)
- expand_expr_stmt (build_compound_expr (result));
+ /* First set the pointers in our object that tell us where to find
+ our virtual baseclasses. */
+ expand_start_cond (flag, 0);
+ if (TYPE_USES_PVBASES (type))
+ {
+ init_vlist (type);
+ vlist = lookup_name (vlist_identifier, 0);
+ }
+ result = init_vbase_pointers (type, this_ptr);
+ if (result)
+ expand_expr_stmt (build_compound_expr (result));
+ expand_end_cond ();
- for (vbases = CLASSTYPE_VBASECLASSES (type); vbases;
- vbases = TREE_CHAIN (vbases))
- {
- tree tmp = purpose_member (vbases, result);
- expand_aggr_vbase_init_1 (vbases, exp,
- TREE_OPERAND (TREE_VALUE (tmp), 0),
- init_list);
- }
+ /* Now, run through the baseclasses, initializing each. */
+ for (vbases = CLASSTYPE_VBASECLASSES (type); vbases;
+ vbases = TREE_CHAIN (vbases))
+ {
+ tree tmp = purpose_member (vbases, result);
+
+ /* If there are virtual base classes with destructors, we need to
+ emit cleanups to destroy them if an exception is thrown during
+ the construction process. These exception regions (i.e., the
+ period during which the cleanups must occur) begin from the time
+ the construction is complete to the end of the function. If we
+ create a conditional block in which to initialize the
+ base-classes, then the cleanup region for the virtual base begins
+ inside a block, and ends outside of that block. This situation
+ confuses the sjlj exception-handling code. Therefore, we do not
+ create a single conditional block, but one for each
+ initialization. (That way the cleanup regions always begin
+ in the outer block.) We trust the back-end to figure out
+ that the FLAG will not change across initializations, and
+ avoid doing multiple tests. */
+ expand_start_cond (flag, 0);
+ expand_aggr_vbase_init_1 (vbases, this_ref,
+ TREE_OPERAND (TREE_VALUE (tmp), 0),
+ init_list);
+ expand_end_cond ();
+
+ expand_cleanup_for_base (vbases, vlist, flag);
}
}
@@ -1112,6 +1250,52 @@ expand_aggr_init (exp, init, flags)
TREE_THIS_VOLATILE (exp) = was_volatile;
}
+static tree
+no_vlist_base_init (rval, exp, init, binfo, flags)
+ tree rval, exp, init, binfo;
+ int flags;
+{
+ tree nrval, func, parms;
+
+ /* Obtain the vlist-expecting ctor. */
+ func = rval;
+ my_friendly_assert (TREE_CODE (func) == CALL_EXPR, 20000131);
+ func = TREE_OPERAND (func, 0);
+ my_friendly_assert (TREE_CODE (func) == ADDR_EXPR, 20000132);
+ func = TREE_OPERAND (func, 0);
+ my_friendly_assert (TREE_CODE (func) == FUNCTION_DECL, 20000133);
+
+ /* If we have already seen a definition for the wrapped function,
+ we don't need to declare it weak. Also, declare_weak will complain
+ if we do. */
+ if (!TREE_ASM_WRITTEN (func))
+ declare_weak (func);
+
+ if (init == NULL_TREE
+ || (TREE_CODE (init) == TREE_LIST && ! TREE_TYPE (init)))
+ {
+ parms = init;
+ if (parms)
+ init = TREE_VALUE (parms);
+ }
+ else
+ parms = build_expr_list (NULL_TREE, init);
+
+ flags &= ~LOOKUP_HAS_VLIST;
+
+ parms = expr_tree_cons (NULL_TREE, integer_zero_node, parms);
+ flags |= LOOKUP_HAS_IN_CHARGE;
+
+ nrval = build_method_call (exp, ctor_identifier,
+ parms, binfo, flags);
+
+ func = build (NE_EXPR, boolean_type_node,
+ func, null_pointer_node);
+ nrval = build (COND_EXPR, void_type_node,
+ func, rval, nrval);
+ return nrval;
+}
+
static void
expand_default_init (binfo, true_exp, exp, init, flags)
tree binfo;
@@ -1129,6 +1313,8 @@ expand_default_init (binfo, true_exp, exp, init, flags)
out, then look hard. */
tree rval;
tree parms;
+ tree vlist = NULL_TREE;
+ tree orig_init = init;
if (init && TREE_CODE (init) != TREE_LIST
&& (flags & LOOKUP_ONLYCONVERTING))
@@ -1172,6 +1358,21 @@ expand_default_init (binfo, true_exp, exp, init, flags)
if (TYPE_USES_VIRTUAL_BASECLASSES (type))
{
+ if (TYPE_USES_PVBASES (type))
+ {
+ /* In compatibility mode, when not calling a base ctor,
+ we do not pass the vlist argument. */
+ if (true_exp == exp)
+ vlist = flag_vtable_thunks_compat? NULL_TREE : vlist_zero_node;
+ else
+ vlist = lookup_name (vlist_identifier, 0);
+
+ if (vlist)
+ {
+ parms = expr_tree_cons (NULL_TREE, vlist, parms);
+ flags |= LOOKUP_HAS_VLIST;
+ }
+ }
if (true_exp == exp)
parms = expr_tree_cons (NULL_TREE, integer_one_node, parms);
else
@@ -1181,6 +1382,10 @@ expand_default_init (binfo, true_exp, exp, init, flags)
rval = build_method_call (exp, ctor_identifier,
parms, binfo, flags);
+ if (vlist && true_exp != exp && flag_vtable_thunks_compat)
+ {
+ rval = no_vlist_base_init (rval, exp, orig_init, binfo, flags);
+ }
if (TREE_SIDE_EFFECTS (rval))
expand_expr_stmt (rval);
}
@@ -2180,21 +2385,21 @@ build_new_1 (exp)
signature_error (NULL_TREE, true_type);
return error_mark_node;
}
+
+ /* When we allocate an array, and the corresponding deallocation
+ function takes a second argument of type size_t, and that's the
+ "usual deallocation function", we allocate some extra space at
+ the beginning of the array to store the size of the array.
-#if 1
- /* Get a little extra space to store a couple of things before the new'ed
- array, if this isn't the default placement new. */
+ Well, that's what we should do. For backwards compatibility, we
+ have to do this whenever there's a two-argument array-delete
+ operator.
+ FIXME: For -fnew-abi, we don't have to maintain backwards
+ compatibility and we should fix this. */
use_cookie = (has_array && TYPE_VEC_NEW_USES_COOKIE (true_type)
&& ! (placement && ! TREE_CHAIN (placement)
&& TREE_TYPE (TREE_VALUE (placement)) == ptr_type_node));
-#else
- /* Get a little extra space to store a couple of things before the new'ed
- array, if this is either non-placement new or new (nothrow). */
-
- use_cookie = (has_array && TYPE_VEC_NEW_USES_COOKIE (true_type)
- && (! placement || nothrow));
-#endif
if (use_cookie)
{
@@ -2374,6 +2579,12 @@ build_new_1 (exp)
if (rval && TYPE_USES_VIRTUAL_BASECLASSES (true_type))
{
+ if (TYPE_USES_PVBASES (true_type)
+ && !flag_vtable_thunks_compat)
+ {
+ init = expr_tree_cons (NULL_TREE, vlist_zero_node, init);
+ flags |= LOOKUP_HAS_VLIST;
+ }
init = expr_tree_cons (NULL_TREE, integer_one_node, init);
flags |= LOOKUP_HAS_IN_CHARGE;
}
@@ -3089,9 +3300,21 @@ build_delete (type, addr, auto_delete, flags, use_global_delete)
else
passed_auto_delete = auto_delete;
- expr = build_method_call
- (ref, dtor_identifier, build_expr_list (NULL_TREE, passed_auto_delete),
- NULL_TREE, flags);
+ /* Maybe pass vlist pointer to destructor. */
+ if (TYPE_USES_PVBASES (type))
+ {
+ /* Pass vlist_zero even if in backwards compatibility mode,
+ as the extra argument should not hurt if it is not used. */
+ expr = build_expr_list (NULL_TREE, vlist_zero_node);
+ flags |= LOOKUP_HAS_VLIST;
+ }
+ else
+ expr = NULL_TREE;
+
+ expr = expr_tree_cons (NULL_TREE, passed_auto_delete, expr);
+
+ expr = build_method_call (ref, dtor_identifier, expr,
+ NULL_TREE, flags);
if (do_delete)
expr = build (COMPOUND_EXPR, void_type_node, expr, do_delete);
@@ -3147,14 +3370,13 @@ build_delete (type, addr, auto_delete, flags, use_global_delete)
{
tree this_auto_delete;
+ /* Should the base invoke delete? */
if (BINFO_OFFSET_ZEROP (base_binfo))
this_auto_delete = parent_auto_delete;
else
this_auto_delete = integer_zero_node;
- expr = build_scoped_method_call
- (ref, base_binfo, dtor_identifier,
- build_expr_list (NULL_TREE, this_auto_delete));
+ expr = build_base_dtor_call (ref, base_binfo, this_auto_delete);
exprstmt = expr_tree_cons (NULL_TREE, expr, exprstmt);
}
@@ -3166,9 +3388,7 @@ build_delete (type, addr, auto_delete, flags, use_global_delete)
|| TREE_VIA_VIRTUAL (base_binfo))
continue;
- expr = build_scoped_method_call
- (ref, base_binfo, dtor_identifier,
- build_expr_list (NULL_TREE, integer_zero_node));
+ expr = build_base_dtor_call (ref, base_binfo, integer_zero_node);
exprstmt = expr_tree_cons (NULL_TREE, expr, exprstmt);
}
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index 648bc1f0953..92cdf3a67da 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for C++.
- Copyright (C) 1995, 96-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA. */
{"@c++",
#if USE_CPPLIB
{
- "%{E|M|MM:cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ "%{E|M|MM:cpp0 -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -62,7 +62,7 @@ Boston, MA 02111-1307, USA. */
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"}},
#else /* ! USE_CPPLIB */
- {"cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2}\
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index db8fdd50db2..d9f2262f69d 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -2869,6 +2869,14 @@ do_identifier (token, parsing, args)
|| TREE_CODE (field) == CONST_DECL
|| TREE_CODE (field) == TEMPLATE_DECL)
id = field;
+ else if (TREE_CODE (field) == TYPE_DECL
+ && DECL_ARTIFICIAL (field)
+ && IMPLICIT_TYPENAME_P (TREE_TYPE (field)))
+ /* When we did name-lookup before, we will have eschewed
+ implicit typenames in favor of global bindings. Therefore,
+ if lookup_field returns an implicit typename, but ID is not
+ an implicit typename, then we should skip this one, too. */
+ ;
else if (TREE_CODE (field) != FIELD_DECL)
my_friendly_abort (61);
else
@@ -4674,7 +4682,6 @@ make_lang_type (code)
TYPE_LANG_SPECIFIC (t) = pi;
SET_CLASSTYPE_INTERFACE_UNKNOWN_X (t, interface_unknown);
CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
- TYPE_BINFO (t) = make_binfo (integer_zero_node, t, NULL_TREE, NULL_TREE);
/* Make sure this is laid out, for ease of use later. In the
presence of parse errors, the normal was of assuring this
@@ -4692,6 +4699,13 @@ make_lang_type (code)
clear it here. */
TYPE_ALIAS_SET (t) = 0;
+ /* We need to allocate a TYPE_BINFO even for TEMPALTE_TYPE_PARMs
+ since they can be virtual base types, and we then need a
+ canonical binfo for them. Ideally, this would be done lazily for
+ all types. */
+ if (IS_AGGR_TYPE_CODE (code) || code == TEMPLATE_TYPE_PARM)
+ TYPE_BINFO (t) = make_binfo (integer_zero_node, t, NULL_TREE, NULL_TREE);
+
return t;
}
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 39f7f041937..79a9692fc7a 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -41,6 +41,7 @@ Boston, MA 02111-1307, USA. */
#include "hard-reg-set.h"
#include "flags.h"
#include "toplev.h"
+#include "decl.h"
/* TREE_LIST of the current inline functions that need to be
processed. */
@@ -88,6 +89,8 @@ static int is_back_referenceable_type PROTO((tree));
static int check_btype PROTO((tree));
static void build_mangled_name_for_type PROTO((tree));
static void build_mangled_name_for_type_with_Gcode PROTO((tree, int));
+static tree build_base_path PROTO((tree, int));
+
# define OB_INIT() (scratch_firstobj ? (obstack_free (&scratch_obstack, scratch_firstobj), 0) : 0)
# define OB_PUTC(C) (obstack_1grow (&scratch_obstack, (C)))
@@ -372,10 +375,16 @@ is_back_referenceable_type (type)
switch (TREE_CODE (type))
{
+ case BOOLEAN_TYPE:
+ if (!flag_do_squangling)
+ /* Even though the mangling of this is just `b', we did
+ historically generate back-references for it. */
+ return 1;
+ /* Fall through. */
+
case INTEGER_TYPE:
case REAL_TYPE:
case VOID_TYPE:
- case BOOLEAN_TYPE:
/* These types have single-character manglings, so there's no
point in generating back-references. */
return 0;
@@ -1343,6 +1352,15 @@ process_overload_item (parmtype, extra_Gcode)
#endif
case POINTER_TYPE:
+ /* Even though the vlist_type_node is PPPFe (i.e. `int
+ (***)(...)'), it is different from the any other occurence of
+ the pointer type, because the underlying function type is
+ different. */
+ if (parmtype == vlist_type_node)
+ {
+ OB_PUTS (VLIST_TYPE_NAME);
+ return;
+ }
OB_PUTC ('P');
more:
build_mangled_name_for_type (TREE_TYPE (parmtype));
@@ -1803,14 +1821,64 @@ get_id_2 (name, name2)
return get_identifier (obstack_base (&scratch_obstack));
}
-/* Returns a DECL_ASSEMBLER_NAME for the destructor of type TYPE. */
+/* Print a binfo path T, starting with the most derived class. If
+ OMIT_LAST is set, drop and return the most derived class. */
+
+static tree
+build_base_path (t, omit_last)
+ tree t;
+ int omit_last;
+{
+ tree ret = NULL_TREE;
+ if (BINFO_INHERITANCE_CHAIN (t))
+ ret = build_base_path (BINFO_INHERITANCE_CHAIN (t), omit_last);
+ else if (omit_last)
+ return t;
+ process_overload_item (BINFO_TYPE (t), 0);
+ return ret;
+}
+
+/* Return a mangled name for a vlist vtable, using the path of both
+ BASE and VBASE. */
+
+tree
+get_vlist_vtable_id (base, vbase)
+ tree base, vbase;
+{
+ tree last;
+ OB_INIT ();
+ OB_PUTS (VCTABLE_NAME);
+ build_base_path (base, 0);
+ OB_PUTC ('_');
+ /* Since the base path should end where the vbase path starts, we
+ can omit the most-derived class in the vbase path. Check below
+ that this really happens. */
+ last = build_base_path (vbase, 1);
+ my_friendly_assert (BINFO_TYPE (last) == BINFO_TYPE (base), 990402);
+ OB_FINISH ();
+ return get_identifier (obstack_base (&scratch_obstack));
+}
+
+/* Returns a DECL_ASSEMBLER_NAME for the destructor of type TYPE. If
+ HAS_VLIST is set, also add the vlist argument. */
tree
-build_destructor_name (type)
+build_destructor_name (type, has_vlist)
tree type;
+ int has_vlist;
{
- return build_overload_with_type (get_identifier (DESTRUCTOR_DECL_PREFIX),
- type);
+ OB_INIT ();
+ OB_PUTS (DESTRUCTOR_DECL_PREFIX);
+ start_squangling ();
+ build_mangled_name_for_type (type);
+ /* If we need backwards compatibility, we can get aways by
+ not linking type-safely, as the dtor will check whether
+ the argument was provided. */
+ if (has_vlist && !flag_vtable_thunks_compat)
+ OB_PUTS (VLIST_TYPE_NAME);
+ OB_FINISH ();
+ end_squangling ();
+ return get_identifier (obstack_base (&scratch_obstack));
}
/* Given a tree_code CODE, and some arguments (at least one),
@@ -2172,6 +2240,149 @@ emit_thunk (thunk_fndecl)
TREE_SET_CODE (thunk_fndecl, THUNK_DECL);
}
+void
+maybe_vlist_ctor_wrapper (fn, definep)
+ tree fn;
+ int definep;
+{
+ tree fntype, decl;
+ tree arg_types, parms, parm, basetype, pbasetype;
+ tree t, ctors;
+
+ if (!flag_vtable_thunks_compat
+ || !DECL_CONSTRUCTOR_FOR_PVBASE_P (fn))
+ return;
+
+ arg_types = TYPE_ARG_TYPES (TREE_TYPE (fn));
+ pbasetype = TREE_VALUE (arg_types);
+ basetype = TREE_TYPE (pbasetype);
+ parms = DECL_ARGUMENTS (fn);
+
+ /* Skip this, __in_chrg, and _vlist */
+ arg_types = TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (arg_types)));
+
+
+ /* Add __in_charge. */
+ arg_types = hash_tree_chain (integer_type_node, arg_types);
+
+ /* Don't add this to arg_types, as build_cplus_method_type does so. */
+
+ fntype = build_cplus_method_type (basetype, TREE_TYPE (TREE_TYPE (fn)),
+ arg_types);
+
+ decl = build_lang_decl (FUNCTION_DECL, DECL_NAME (fn), fntype);
+ DECL_LANG_SPECIFIC (decl)->decl_flags = DECL_LANG_SPECIFIC (fn)->decl_flags;
+ DECL_EXTERNAL (decl) = 0;
+ TREE_PUBLIC (decl) = 1;
+ DECL_ARTIFICIAL (decl) = 1;
+ DECL_CONSTRUCTOR_P (decl) = 1;
+ DECL_CONSTRUCTOR_FOR_VBASE (decl) = CONSTRUCTOR_FOR_VBASE;
+ /* Claim that this is never a template instantiation. */
+ DECL_USE_TEMPLATE (decl) = 0;
+ DECL_TEMPLATE_INFO (decl) = NULL_TREE;
+
+ /* Set up clone argument trees for the thunk. */
+ parms = TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (parms)));
+ /* Add this */
+ t = build_decl (PARM_DECL, this_identifier, pbasetype);
+ SET_DECL_ARTIFICIAL (t);
+ DECL_ARG_TYPE (t) = pbasetype;
+ DECL_REGISTER (t) = 1;
+ /* Add __in_charge. */
+ parm = build_decl (PARM_DECL, in_charge_identifier, integer_type_node);
+ SET_DECL_ARTIFICIAL (parm);
+ DECL_ARG_TYPE (parm) = integer_type_node;
+ TREE_CHAIN (parm) = t;
+ t = parm;
+
+ while (parms)
+ {
+ tree x = copy_node (parms);
+ TREE_CHAIN (x) = t;
+ DECL_CONTEXT (x) = decl;
+ t = x;
+ parms = TREE_CHAIN (parms);
+ }
+ parms = nreverse (t);
+ DECL_ARGUMENTS (decl) = parms;
+
+ DECL_ASSEMBLER_NAME (decl)
+ = build_decl_overload (DECL_NAME (decl),
+ TYPE_ARG_TYPES (TREE_TYPE (decl)), 2);
+
+ ctors = CLASSTYPE_METHOD_VEC (basetype);
+ if (ctors)
+ ctors = TREE_VEC_ELT (ctors, 0);
+ for ( ; ctors; ctors = OVL_NEXT (ctors))
+ if (DECL_ASSEMBLER_NAME (OVL_CURRENT (ctors))
+ == DECL_ASSEMBLER_NAME (decl))
+ break;
+
+ if (!ctors)
+ {
+ add_method (basetype, 0, decl);
+ cp_finish_decl (decl, NULL_TREE, NULL_TREE, 0, 0);
+ }
+ else
+ decl = OVL_CURRENT (ctors);
+
+ /* Remember the original function. */
+ DECL_VLIST_CTOR_WRAPPED (decl) = fn;
+
+ /* If this is called from start_method, definep is -1. Then we
+ are inside the class, and fn is inline by default. */
+ if (definep)
+ {
+ /* Record that the ctor is being defined, so we also emit the
+ wrapper later. */
+ if (DECL_THIS_INLINE (fn) || (definep == -1))
+ {
+ DECL_THIS_INLINE (decl) = 1;
+ DECL_INLINE (decl) = 1;
+ pushdecl_top_level (decl);
+ }
+ else
+ {
+ TREE_USED (decl) = 1;
+ TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) = 1;
+ }
+ mark_inline_for_output (decl);
+ }
+}
+
+static void
+emit_vlist_ctor_wrapper (decl)
+ tree decl;
+{
+ tree t, parms, fn;
+
+ current_function_is_thunk = 1;
+
+ parms = DECL_ARGUMENTS (decl);
+ fn = DECL_VLIST_CTOR_WRAPPED (decl);
+ mark_used (fn);
+
+ /* Build up the call to the real function. */
+ t = NULL_TREE;
+ /* Push this, __in_charge. */
+ t = expr_tree_cons (NULL_TREE, parms, t);
+ parms = TREE_CHAIN (parms);
+ t = expr_tree_cons (NULL_TREE, parms, t);
+ parms = TREE_CHAIN (parms);
+ /* Push 0 as __vlist. */
+ t = expr_tree_cons (NULL_TREE, vlist_zero_node, t);
+ /* Push rest of arguments. */
+ while (parms)
+ {
+ t = expr_tree_cons (NULL_TREE, parms, t);
+ parms = TREE_CHAIN (parms);
+ }
+ t = nreverse (t);
+ t = build_call (fn, TREE_TYPE (TREE_TYPE (fn)), t);
+ expand_expr_stmt (t);
+}
+
+
/* Code for synthesizing methods which have default semantics defined. */
/* For the anonymous union in TYPE, return the member that is at least as
@@ -2206,6 +2417,8 @@ do_build_copy_constructor (fndecl)
if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
parm = TREE_CHAIN (parm);
+ if (TYPE_USES_PVBASES (current_class_type))
+ parm = TREE_CHAIN (parm);
parm = convert_from_reference (parm);
if (TYPE_HAS_TRIVIAL_INIT_REF (current_class_type)
@@ -2225,42 +2438,21 @@ do_build_copy_constructor (fndecl)
tree binfos = TYPE_BINFO_BASETYPES (current_class_type);
int i;
+ /* Initialize all the base-classes. */
for (t = CLASSTYPE_VBASECLASSES (current_class_type); t;
t = TREE_CHAIN (t))
- {
- tree basetype = BINFO_TYPE (t);
- tree p = convert_to_reference
- (build_reference_type (basetype), parm,
- CONV_IMPLICIT|CONV_CONST, LOOKUP_COMPLAIN, NULL_TREE);
- p = convert_from_reference (p);
-
- if (p == error_mark_node)
- cp_error ("in default copy constructor");
- else
- current_base_init_list = tree_cons (basetype,
- p, current_base_init_list);
- }
-
+ current_base_init_list
+ = tree_cons (BINFO_TYPE (t), parm, current_base_init_list);
for (i = 0; i < n_bases; ++i)
{
- tree p, basetype = TREE_VEC_ELT (binfos, i);
- if (TREE_VIA_VIRTUAL (basetype))
+ t = TREE_VEC_ELT (binfos, i);
+ if (TREE_VIA_VIRTUAL (t))
continue;
- basetype = BINFO_TYPE (basetype);
- p = convert_to_reference
- (build_reference_type (basetype), parm,
- CONV_IMPLICIT|CONV_CONST, LOOKUP_COMPLAIN, NULL_TREE);
-
- if (p == error_mark_node)
- cp_error ("in default copy constructor");
- else
- {
- p = convert_from_reference (p);
- current_base_init_list = tree_cons (basetype,
- p, current_base_init_list);
- }
+ current_base_init_list
+ = tree_cons (BINFO_TYPE (t), parm, current_base_init_list);
}
+
for (; fields; fields = TREE_CHAIN (fields))
{
tree init, t;
@@ -2423,6 +2615,16 @@ synthesize_method (fndecl)
int nested = (current_function_decl != NULL_TREE);
tree context = hack_decl_function_context (fndecl);
+ /* If this is a wrapper around a undefined vlist ctor, don't emit it
+ even if it is used. */
+ if (DECL_VLIST_CTOR_WRAPPER_P (fndecl))
+ {
+ tree orig_fn = DECL_VLIST_CTOR_WRAPPED (fndecl);
+ mark_used (orig_fn);
+ if (DECL_INITIAL (orig_fn) == NULL_TREE)
+ return;
+ }
+
if (at_eof)
import_export_decl (fndecl);
@@ -2444,7 +2646,11 @@ synthesize_method (fndecl)
tree arg_chain = FUNCTION_ARG_CHAIN (fndecl);
if (DECL_CONSTRUCTOR_FOR_VBASE_P (fndecl))
arg_chain = TREE_CHAIN (arg_chain);
- if (arg_chain != void_list_node)
+ else if (DECL_CONSTRUCTOR_FOR_PVBASE_P (fndecl))
+ arg_chain = TREE_CHAIN (TREE_CHAIN (arg_chain));
+ if (DECL_VLIST_CTOR_WRAPPER_P (fndecl))
+ emit_vlist_ctor_wrapper (fndecl);
+ else if (arg_chain != void_list_node)
do_build_copy_constructor (fndecl);
else if (TYPE_NEEDS_CONSTRUCTING (current_class_type))
setup_vtbl_ptr ();
diff --git a/gcc/cp/parse.c b/gcc/cp/parse.c
index f5285b3a885..1cf09d729d5 100644
--- a/gcc/cp/parse.c
+++ b/gcc/cp/parse.c
@@ -721,18 +721,18 @@ static const short yyrline[] = { 0,
3298, 3300, 3301, 3303, 3308, 3310, 3312, 3314, 3316, 3319,
3320, 3322, 3325, 3326, 3329, 3329, 3332, 3332, 3335, 3335,
3337, 3339, 3341, 3343, 3349, 3355, 3358, 3361, 3367, 3369,
- 3371, 3375, 3377, 3378, 3379, 3381, 3384, 3391, 3396, 3402,
- 3406, 3408, 3411, 3413, 3416, 3420, 3422, 3425, 3427, 3430,
- 3447, 3453, 3461, 3463, 3465, 3469, 3472, 3473, 3481, 3485,
- 3489, 3492, 3493, 3499, 3502, 3505, 3507, 3511, 3516, 3519,
- 3529, 3534, 3535, 3542, 3545, 3548, 3550, 3553, 3555, 3565,
- 3579, 3583, 3586, 3588, 3592, 3596, 3599, 3602, 3604, 3608,
- 3610, 3617, 3624, 3627, 3631, 3635, 3639, 3645, 3649, 3654,
- 3656, 3659, 3664, 3670, 3681, 3684, 3686, 3690, 3695, 3697,
- 3704, 3707, 3709, 3711, 3717, 3722, 3725, 3727, 3729, 3731,
- 3733, 3735, 3737, 3739, 3741, 3743, 3745, 3747, 3749, 3751,
- 3753, 3755, 3757, 3759, 3761, 3763, 3765, 3767, 3769, 3771,
- 3773, 3775, 3777, 3779, 3781, 3783, 3785, 3787, 3790, 3792
+ 3371, 3375, 3377, 3378, 3379, 3381, 3384, 3391, 3397, 3403,
+ 3407, 3409, 3412, 3414, 3417, 3421, 3423, 3426, 3428, 3431,
+ 3448, 3454, 3462, 3464, 3466, 3470, 3473, 3474, 3482, 3486,
+ 3490, 3493, 3494, 3500, 3503, 3506, 3508, 3512, 3517, 3520,
+ 3530, 3535, 3536, 3543, 3546, 3549, 3551, 3554, 3556, 3566,
+ 3580, 3584, 3587, 3589, 3593, 3597, 3600, 3603, 3605, 3609,
+ 3611, 3618, 3625, 3628, 3632, 3636, 3640, 3646, 3650, 3655,
+ 3657, 3660, 3665, 3671, 3682, 3685, 3687, 3691, 3696, 3698,
+ 3705, 3708, 3710, 3712, 3718, 3723, 3726, 3728, 3730, 3732,
+ 3734, 3736, 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752,
+ 3754, 3756, 3758, 3760, 3762, 3764, 3766, 3768, 3770, 3772,
+ 3774, 3776, 3778, 3780, 3782, 3784, 3786, 3788, 3791, 3793
};
#endif
@@ -3901,7 +3901,7 @@ static const short yycheck[] = { 4,
81, 82, 83, 84
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/lib/bison.simple"
+#line 3 "/usr/cygnus/gnupro-98r2/share/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -4094,7 +4094,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
-#line 196 "/usr/lib/bison.simple"
+#line 196 "/usr/cygnus/gnupro-98r2/share/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
@@ -7724,52 +7724,53 @@ case 767:
case 768:
#line 3392 "parse.y"
{
+ end_protect_partials ();
expand_start_all_catch ();
;
break;}
case 769:
-#line 3396 "parse.y"
+#line 3397 "parse.y"
{
expand_end_all_catch ();
yyval.itype = yyvsp[-3].itype;
;
break;}
case 770:
-#line 3404 "parse.y"
+#line 3405 "parse.y"
{ yyval.ttype = begin_try_block (); ;
break;}
case 771:
-#line 3406 "parse.y"
+#line 3407 "parse.y"
{ finish_try_block (yyvsp[-1].ttype); ;
break;}
case 772:
-#line 3408 "parse.y"
+#line 3409 "parse.y"
{ finish_handler_sequence (yyvsp[-3].ttype); ;
break;}
case 775:
-#line 3418 "parse.y"
+#line 3419 "parse.y"
{ yyval.ttype = begin_handler(); ;
break;}
case 776:
-#line 3420 "parse.y"
+#line 3421 "parse.y"
{ finish_handler_parms (yyvsp[-1].ttype); ;
break;}
case 777:
-#line 3422 "parse.y"
+#line 3423 "parse.y"
{ finish_handler (yyvsp[-3].ttype); ;
break;}
case 780:
-#line 3432 "parse.y"
+#line 3433 "parse.y"
{ expand_start_catch_block (NULL_TREE, NULL_TREE); ;
break;}
case 781:
-#line 3448 "parse.y"
+#line 3449 "parse.y"
{ check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
TREE_VALUE (yyvsp[-1].ftype.t)); ;
break;}
case 782:
-#line 3455 "parse.y"
+#line 3456 "parse.y"
{ tree label;
do_label:
label = define_label (input_filename, lineno, yyvsp[-1].ttype);
@@ -7778,98 +7779,98 @@ case 782:
;
break;}
case 783:
-#line 3462 "parse.y"
+#line 3463 "parse.y"
{ goto do_label; ;
break;}
case 784:
-#line 3464 "parse.y"
+#line 3465 "parse.y"
{ goto do_label; ;
break;}
case 785:
-#line 3466 "parse.y"
+#line 3467 "parse.y"
{ goto do_label; ;
break;}
case 786:
-#line 3471 "parse.y"
+#line 3472 "parse.y"
{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
break;}
case 788:
-#line 3474 "parse.y"
+#line 3475 "parse.y"
{ if (pedantic)
pedwarn ("ANSI C++ forbids compound statements inside for initializations");
;
break;}
case 789:
-#line 3483 "parse.y"
+#line 3484 "parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
case 790:
-#line 3486 "parse.y"
+#line 3487 "parse.y"
{ emit_line_note (input_filename, lineno); ;
break;}
case 791:
-#line 3491 "parse.y"
+#line 3492 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 793:
-#line 3494 "parse.y"
+#line 3495 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 794:
-#line 3501 "parse.y"
+#line 3502 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 797:
-#line 3508 "parse.y"
+#line 3509 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
break;}
case 798:
-#line 3513 "parse.y"
+#line 3514 "parse.y"
{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
break;}
case 799:
-#line 3518 "parse.y"
+#line 3519 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
break;}
case 800:
-#line 3520 "parse.y"
+#line 3521 "parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
break;}
case 801:
-#line 3531 "parse.y"
+#line 3532 "parse.y"
{
yyval.ttype = empty_parms();
;
break;}
case 803:
-#line 3536 "parse.y"
+#line 3537 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
break;}
case 804:
-#line 3544 "parse.y"
+#line 3545 "parse.y"
{ yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
break;}
case 805:
-#line 3546 "parse.y"
+#line 3547 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
case 806:
-#line 3549 "parse.y"
+#line 3550 "parse.y"
{ yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
break;}
case 807:
-#line 3551 "parse.y"
+#line 3552 "parse.y"
{ yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
yyvsp[-1].ftype.t), 1); ;
break;}
case 808:
-#line 3554 "parse.y"
+#line 3555 "parse.y"
{ yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
break;}
case 809:
-#line 3556 "parse.y"
+#line 3557 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7881,7 +7882,7 @@ case 809:
;
break;}
case 810:
-#line 3566 "parse.y"
+#line 3567 "parse.y"
{
/* This helps us recover from really nasty
parse errors, for example, a missing right
@@ -7894,99 +7895,99 @@ case 810:
;
break;}
case 811:
-#line 3581 "parse.y"
+#line 3582 "parse.y"
{ maybe_snarf_defarg (); ;
break;}
case 812:
-#line 3583 "parse.y"
+#line 3584 "parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 815:
-#line 3594 "parse.y"
+#line 3595 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
break;}
case 816:
-#line 3597 "parse.y"
+#line 3598 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
break;}
case 817:
-#line 3600 "parse.y"
+#line 3601 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
break;}
case 818:
-#line 3603 "parse.y"
+#line 3604 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 819:
-#line 3605 "parse.y"
+#line 3606 "parse.y"
{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
break;}
case 821:
-#line 3611 "parse.y"
+#line 3612 "parse.y"
{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
break;}
case 822:
-#line 3621 "parse.y"
+#line 3622 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
break;}
case 823:
-#line 3625 "parse.y"
+#line 3626 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 824:
-#line 3628 "parse.y"
+#line 3629 "parse.y"
{ yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 825:
-#line 3632 "parse.y"
+#line 3633 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 826:
-#line 3636 "parse.y"
+#line 3637 "parse.y"
{ tree specs = strip_attrs (yyvsp[0].ftype.t);
yyval.ftype.t = build_tree_list (specs, NULL_TREE);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 827:
-#line 3640 "parse.y"
+#line 3641 "parse.y"
{ tree specs = strip_attrs (yyvsp[-1].ttype);
yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
yyval.ftype.new_type_flag = 0; ;
break;}
case 828:
-#line 3647 "parse.y"
+#line 3648 "parse.y"
{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
break;}
case 829:
-#line 3650 "parse.y"
+#line 3651 "parse.y"
{ yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
break;}
case 832:
-#line 3661 "parse.y"
+#line 3662 "parse.y"
{ see_typename (); ;
break;}
case 833:
-#line 3666 "parse.y"
+#line 3667 "parse.y"
{
error ("type specifier omitted for parameter");
yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
;
break;}
case 834:
-#line 3671 "parse.y"
+#line 3672 "parse.y"
{
error ("type specifier omitted for parameter");
if (TREE_CODE (yyval.ttype) == SCOPE_REF
@@ -7997,193 +7998,193 @@ case 834:
;
break;}
case 835:
-#line 3683 "parse.y"
+#line 3684 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 836:
-#line 3685 "parse.y"
+#line 3686 "parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 837:
-#line 3687 "parse.y"
+#line 3688 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
break;}
case 838:
-#line 3692 "parse.y"
+#line 3693 "parse.y"
{ yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
break;}
case 840:
-#line 3698 "parse.y"
+#line 3699 "parse.y"
{
TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 841:
-#line 3706 "parse.y"
+#line 3707 "parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 842:
-#line 3708 "parse.y"
+#line 3709 "parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 843:
-#line 3710 "parse.y"
+#line 3711 "parse.y"
{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 844:
-#line 3712 "parse.y"
+#line 3713 "parse.y"
{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
;
break;}
case 845:
-#line 3719 "parse.y"
+#line 3720 "parse.y"
{ got_scope = NULL_TREE; ;
break;}
case 846:
-#line 3724 "parse.y"
+#line 3725 "parse.y"
{ yyval.ttype = ansi_opname[MULT_EXPR]; ;
break;}
case 847:
-#line 3726 "parse.y"
+#line 3727 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
break;}
case 848:
-#line 3728 "parse.y"
+#line 3729 "parse.y"
{ yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
break;}
case 849:
-#line 3730 "parse.y"
+#line 3731 "parse.y"
{ yyval.ttype = ansi_opname[PLUS_EXPR]; ;
break;}
case 850:
-#line 3732 "parse.y"
+#line 3733 "parse.y"
{ yyval.ttype = ansi_opname[MINUS_EXPR]; ;
break;}
case 851:
-#line 3734 "parse.y"
+#line 3735 "parse.y"
{ yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
break;}
case 852:
-#line 3736 "parse.y"
+#line 3737 "parse.y"
{ yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
break;}
case 853:
-#line 3738 "parse.y"
+#line 3739 "parse.y"
{ yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
break;}
case 854:
-#line 3740 "parse.y"
+#line 3741 "parse.y"
{ yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
break;}
case 855:
-#line 3742 "parse.y"
+#line 3743 "parse.y"
{ yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
break;}
case 856:
-#line 3744 "parse.y"
+#line 3745 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 857:
-#line 3746 "parse.y"
+#line 3747 "parse.y"
{ yyval.ttype = ansi_opname[LT_EXPR]; ;
break;}
case 858:
-#line 3748 "parse.y"
+#line 3749 "parse.y"
{ yyval.ttype = ansi_opname[GT_EXPR]; ;
break;}
case 859:
-#line 3750 "parse.y"
+#line 3751 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 860:
-#line 3752 "parse.y"
+#line 3753 "parse.y"
{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
break;}
case 861:
-#line 3754 "parse.y"
+#line 3755 "parse.y"
{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
break;}
case 862:
-#line 3756 "parse.y"
+#line 3757 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 863:
-#line 3758 "parse.y"
+#line 3759 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 864:
-#line 3760 "parse.y"
+#line 3761 "parse.y"
{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
break;}
case 865:
-#line 3762 "parse.y"
+#line 3763 "parse.y"
{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
break;}
case 866:
-#line 3764 "parse.y"
+#line 3765 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
break;}
case 867:
-#line 3766 "parse.y"
+#line 3767 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
break;}
case 868:
-#line 3768 "parse.y"
+#line 3769 "parse.y"
{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
break;}
case 869:
-#line 3770 "parse.y"
+#line 3771 "parse.y"
{ yyval.ttype = ansi_opname[COND_EXPR]; ;
break;}
case 870:
-#line 3772 "parse.y"
+#line 3773 "parse.y"
{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
break;}
case 871:
-#line 3774 "parse.y"
+#line 3775 "parse.y"
{ yyval.ttype = ansi_opname[COMPONENT_REF]; ;
break;}
case 872:
-#line 3776 "parse.y"
+#line 3777 "parse.y"
{ yyval.ttype = ansi_opname[MEMBER_REF]; ;
break;}
case 873:
-#line 3778 "parse.y"
+#line 3779 "parse.y"
{ yyval.ttype = ansi_opname[CALL_EXPR]; ;
break;}
case 874:
-#line 3780 "parse.y"
+#line 3781 "parse.y"
{ yyval.ttype = ansi_opname[ARRAY_REF]; ;
break;}
case 875:
-#line 3782 "parse.y"
+#line 3783 "parse.y"
{ yyval.ttype = ansi_opname[NEW_EXPR]; ;
break;}
case 876:
-#line 3784 "parse.y"
+#line 3785 "parse.y"
{ yyval.ttype = ansi_opname[DELETE_EXPR]; ;
break;}
case 877:
-#line 3786 "parse.y"
+#line 3787 "parse.y"
{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
break;}
case 878:
-#line 3788 "parse.y"
+#line 3789 "parse.y"
{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
break;}
case 879:
-#line 3791 "parse.y"
+#line 3792 "parse.y"
{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
break;}
case 880:
-#line 3793 "parse.y"
+#line 3794 "parse.y"
{ yyval.ttype = ansi_opname[ERROR_MARK]; ;
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 498 "/usr/lib/bison.simple"
+#line 498 "/usr/cygnus/gnupro-98r2/share/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
@@ -8379,7 +8380,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 3796 "parse.y"
+#line 3797 "parse.y"
#ifdef SPEW_DEBUG
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index 677730ca336..7b5d3bdede9 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -3390,6 +3390,7 @@ function_try_block:
}
ctor_initializer_opt compstmt
{
+ end_protect_partials ();
expand_start_all_catch ();
}
handler_seq
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 59543ca0dfa..28c295695e4 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -161,6 +161,7 @@ static int coerce_template_template_parms PROTO((tree, tree, int,
static tree determine_specialization PROTO((tree, tree, tree *, int));
static int template_args_equal PROTO((tree, tree));
static void print_template_context PROTO((int));
+static int has_pvbases_p PROTO((tree, tree));
/* We use TREE_VECs to hold template arguments. If there is only one
level of template arguments, then the TREE_VEC contains the
@@ -2210,12 +2211,17 @@ check_default_tmpl_args (decl, parms, is_primary, is_partial)
if (current_class_type
&& !TYPE_BEING_DEFINED (current_class_type)
- && DECL_REAL_CONTEXT (decl) == current_class_type
&& DECL_LANG_SPECIFIC (decl)
- && DECL_DEFINED_IN_CLASS_P (decl))
+ /* If this is either a friend defined in the scope of the class
+ or a member function. */
+ && DECL_CLASS_CONTEXT (decl) == current_class_type
+ /* And, if it was a member function, it really was defined in
+ the scope of the class. */
+ && (!DECL_FUNCTION_MEMBER_P (decl) || DECL_DEFINED_IN_CLASS_P (decl)))
/* We already checked these parameters when the template was
- declared, so there's no need to do it again now. This is an
- inline member function definition. */
+ declared, so there's no need to do it again now. This function
+ was defined in class scope, but we're processing it's body now
+ that the class is complete. */
return;
if (TREE_CODE (decl) != TYPE_DECL || is_partial || !is_primary)
@@ -2781,18 +2787,14 @@ convert_nontype_argument (type, expr)
applied. */
e = perform_qualification_conversions (type, expr);
if (TREE_CODE (e) == NOP_EXPR)
- {
- /* The call to perform_qualification_conversions will
- insert a NOP_EXPR over EXPR to do express
- conversion, if necessary. But, that will confuse
- us if we use this (converted) template parameter to
- instantiate another template; then the thing will
- not look like a valid template argument. So, just
- make a new constant, of the appropriate type. */
- e = make_node (PTRMEM_CST);
- TREE_TYPE (e) = type;
- PTRMEM_CST_MEMBER (e) = PTRMEM_CST_MEMBER (expr);
- }
+ /* The call to perform_qualification_conversions will
+ insert a NOP_EXPR over EXPR to do express conversion,
+ if necessary. But, that will confuse us if we use
+ this (converted) template parameter to instantiate
+ another template; then the thing will not look like a
+ valid template argument. So, just make a new
+ constant, of the appropriate type. */
+ e = make_ptrmem_cst (type, PTRMEM_CST_MEMBER (expr));
return e;
}
else if (TREE_CODE (type_pointed_to) == FUNCTION_TYPE)
@@ -3573,6 +3575,7 @@ maybe_get_template_decl_from_type_decl (decl)
return (decl != NULL_TREE
&& TREE_CODE (decl) == TYPE_DECL
&& DECL_ARTIFICIAL (decl)
+ && CLASS_TYPE_P (TREE_TYPE (decl))
&& CLASSTYPE_TEMPLATE_INFO (TREE_TYPE (decl)))
? CLASSTYPE_TI_TEMPLATE (TREE_TYPE (decl)) : decl;
}
@@ -4683,6 +4686,23 @@ tsubst_friend_class (friend_tmpl, args)
return friend_type;
}
+static int
+has_pvbases_p (t, pattern)
+ tree t, pattern;
+{
+ if (!TYPE_USES_VIRTUAL_BASECLASSES (t))
+ return 0;
+
+ if (TYPE_USES_PVBASES (pattern))
+ return 1;
+
+ for (t = CLASSTYPE_VBASECLASSES (t); t; t = TREE_CHAIN (t))
+ if (TYPE_VIRTUAL_P (BINFO_TYPE (t)))
+ return 1;
+
+ return 0;
+}
+
tree
instantiate_class_template (type)
tree type;
@@ -5033,6 +5053,13 @@ instantiate_class_template (type)
}
}
+ /* After we have calculated the bases, we can now compute whether we
+ have polymorphic vbases. This needs to happen before we
+ instantiate the methods, because the constructors may take
+ additional arguments. */
+ if (flag_vtable_thunks >= 2)
+ TYPE_USES_PVBASES (type) = has_pvbases_p (type, pattern);
+
/* Set up the list (TYPE_METHODS) and vector (CLASSTYPE_METHOD_VEC)
for this instantiation. */
for (t = TYPE_METHODS (pattern); t; t = TREE_CHAIN (t))
@@ -5714,9 +5741,17 @@ tsubst_decl (t, args, type, in_decl)
SET_DECL_IMPLICIT_INSTANTIATION (r);
register_specialization (r, gen_tmpl, argvec);
+
+ if (DECL_CONSTRUCTOR_P (r) || DECL_DESTRUCTOR_P (r))
+ {
+ maybe_retrofit_in_chrg (r);
+ grok_ctor_properties (ctx, r);
+ }
+
/* Set the mangled name for R. */
if (DECL_DESTRUCTOR_P (t))
- DECL_ASSEMBLER_NAME (r) = build_destructor_name (ctx);
+ DECL_ASSEMBLER_NAME (r) =
+ build_destructor_name (ctx, DECL_DESTRUCTOR_FOR_PVBASE_P (r));
else
{
/* Instantiations of template functions must be mangled
@@ -5759,11 +5794,14 @@ tsubst_decl (t, args, type, in_decl)
in_decl);
}
+#if 0
+ /* This has now moved further up. */
if (DECL_CONSTRUCTOR_P (r))
{
maybe_retrofit_in_chrg (r);
grok_ctor_properties (ctx, r);
}
+#endif
if (IDENTIFIER_OPNAME_P (DECL_NAME (r)))
grok_op_properties (r, DECL_VIRTUAL_P (r), DECL_FRIEND_P (r));
}
@@ -6128,6 +6166,11 @@ tsubst (t, args, complain, in_decl)
if (max == error_mark_node)
return error_mark_node;
+ /* See if we can reduce this expression to something simpler. */
+ max = maybe_fold_nontype_arg (max);
+ if (!processing_template_decl && TREE_READONLY_DECL_P (max))
+ max = decl_constant_value (max);
+
if (processing_template_decl
/* When providing explicit arguments to a template
function, but leaving some arguments for subsequent
@@ -6540,6 +6583,8 @@ tsubst (t, args, complain, in_decl)
}
f = make_typename_type (ctx, f);
+ if (f == error_mark_node)
+ return f;
return cp_build_qualified_type (f,
CP_TYPE_QUALS (f)
| CP_TYPE_QUALS (t));
@@ -8909,8 +8954,8 @@ do_decl_instantiation (declspecs, declarator, storage)
No program shall both explicitly instantiate and explicitly
specialize a template. */
- cp_error ("explicit instantiation of `%#D' after", result);
- cp_error_at ("explicit specialization here", result);
+ cp_pedwarn ("explicit instantiation of `%#D' after", result);
+ cp_pedwarn_at ("explicit specialization here", result);
return;
}
else if (DECL_EXPLICIT_INSTANTIATION (result))
@@ -8923,8 +8968,8 @@ do_decl_instantiation (declspecs, declarator, storage)
We check DECL_INTERFACE_KNOWN so as not to complain when the
first instantiation was `extern' and the second is not, and
EXTERN_P for the opposite case. */
- if (DECL_INTERFACE_KNOWN (result) && !extern_p)
- cp_error ("duplicate explicit instantiation of `%#D'", result);
+ if (DECL_INTERFACE_KNOWN (result) && !extern_p && !flag_use_repository)
+ cp_pedwarn ("duplicate explicit instantiation of `%#D'", result);
/* If we've already instantiated the template, just return now. */
if (DECL_INTERFACE_KNOWN (result))
@@ -9051,8 +9096,8 @@ do_type_instantiation (t, storage)
If CLASSTYPE_INTERFACE_ONLY, then the first explicit
instantiation was `extern', and if EXTERN_P then the second
is. Both cases are OK. */
- if (!CLASSTYPE_INTERFACE_ONLY (t) && !extern_p)
- cp_error ("duplicate explicit instantiation of `%#T'", t);
+ if (!CLASSTYPE_INTERFACE_ONLY (t) && !extern_p && !flag_use_repository)
+ cp_pedwarn ("duplicate explicit instantiation of `%#T'", t);
/* If we've already instantiated the template, just return now. */
if (!CLASSTYPE_INTERFACE_ONLY (t))
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index e0ce5cd8666..c8c1ba95255 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -363,8 +363,19 @@ get_tinfo_var (type)
return tdecl;
}
+/* Returns the decl for a function which will return a type_info node for
+ TYPE. This version does not mark the function used, for use in
+ set_rtti_entry; for the vtable case, we'll get marked in
+ finish_vtable_vardecl, when we know that we want to be emitted.
+
+ We do this to avoid emitting the tinfo node itself, since we don't
+ currently support DECL_DEFER_OUTPUT for variables. Also, we don't
+ associate constant pools with their functions properly, so we would
+ emit string constants and such even though we don't emit the actual
+ function. When those bugs are fixed, this function should go away. */
+
tree
-get_tinfo_fn (type)
+get_tinfo_fn_unused (type)
tree type;
{
tree name;
@@ -393,13 +404,23 @@ get_tinfo_fn (type)
pushdecl_top_level (d);
make_function_rtl (d);
- mark_used (d);
mark_inline_for_output (d);
pop_obstacks ();
return d;
}
+/* Likewise, but also mark it used. Called by various EH and RTTI code. */
+
+tree
+get_tinfo_fn (type)
+ tree type;
+{
+ tree d = get_tinfo_fn_unused (type);
+ mark_used (d);
+ return d;
+}
+
tree
get_typeid_1 (type)
tree type;
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 12133589871..fb99f8f8eef 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -151,6 +151,9 @@ static int protected_accessible_p PROTO ((tree, tree, tree, tree));
static int friend_accessible_p PROTO ((tree, tree, tree, tree));
static void setup_class_bindings PROTO ((tree, int));
static int template_self_reference_p PROTO ((tree, tree));
+static void expand_direct_vtbls_init_thunks PROTO((tree, tree, int));
+static void expand_indirect_vtbls_init_thunks PROTO((tree, tree, tree));
+
/* Allocate a level of searching. */
@@ -2057,17 +2060,29 @@ static tree
convert_pointer_to_single_level (to_type, expr)
tree to_type, expr;
{
+ tree derived;
tree binfo_of_derived;
- tree last;
+ int i;
- binfo_of_derived = TYPE_BINFO (TREE_TYPE (TREE_TYPE (expr)));
- last = get_binfo (to_type, TREE_TYPE (TREE_TYPE (expr)), 0);
- my_friendly_assert (BINFO_INHERITANCE_CHAIN (last) == binfo_of_derived,
- 980827);
+ derived = TREE_TYPE (TREE_TYPE (expr));
+ binfo_of_derived = TYPE_BINFO (derived);
my_friendly_assert (BINFO_INHERITANCE_CHAIN (binfo_of_derived) == NULL_TREE,
980827);
- return build_vbase_path (PLUS_EXPR, build_pointer_type (to_type), expr,
- last, 1);
+ for (i = CLASSTYPE_N_BASECLASSES (derived) - 1; i >= 0; --i)
+ {
+ tree binfo = BINFO_BASETYPE (binfo_of_derived, i);
+ my_friendly_assert (BINFO_INHERITANCE_CHAIN (binfo) == binfo_of_derived,
+ 980827);
+ if (same_type_p (BINFO_TYPE (binfo), to_type))
+ return build_vbase_path (PLUS_EXPR,
+ build_pointer_type (to_type),
+ expr, binfo, 1);
+ }
+
+ my_friendly_abort (19990607);
+
+ /* NOTREACHED */
+ return NULL_TREE;
}
tree markedp (binfo, data)
@@ -2614,6 +2629,117 @@ fixup_virtual_upcast_offsets (real_binfo, binfo, init_self, can_elide, addr, ori
}
}
+/* Emit initialization of vfields of BASE, where the complete object
+ is pointed to by decl_ptr. DO_SELF indicates we have to do our own
+ vfield, otherwise only proceed to our own direct non-virtual bases. */
+
+static void
+expand_direct_vtbls_init_thunks (base, decl_ptr, do_self)
+ tree base, decl_ptr;
+ int do_self;
+{
+ tree addr, expr;
+ tree type = BINFO_TYPE (base);
+ tree binfos = BINFO_BASETYPES (base);
+ int i, n_baselinks = binfos ? TREE_VEC_LENGTH (binfos) : 0;
+ tree vlist = lookup_name (vlist_identifier, 0);
+ int in_dtor = DECL_DESTRUCTOR_FOR_PVBASE_P (current_function_decl);
+
+ my_friendly_assert (vlist != NULL_TREE, 990320);
+
+ if (in_dtor)
+ /* In the destructor, we find the vfield pointers for the bases in
+ reverse order, before we find our own vfield pointer. */
+ for (i = n_baselinks - 1; i >= 0; i--)
+ {
+ tree base_binfo = TREE_VEC_ELT (binfos, i);
+ int is_not_base_vtable
+ = i != CLASSTYPE_VFIELD_PARENT (type);
+ if (! TREE_VIA_VIRTUAL (base_binfo))
+ expand_direct_vtbls_init_thunks (base_binfo, decl_ptr,
+ is_not_base_vtable);
+ }
+
+ if (do_self && CLASSTYPE_VFIELDS (type))
+ {
+ addr = build_vbase_path (PLUS_EXPR, build_pointer_type (type),
+ decl_ptr, base, 1);
+ addr = build_indirect_ref (addr, "vptr");
+ addr = build_vfield_ref (addr, type);
+
+ /* In a destructor, we decrease the vlist before we retrieve the
+ value. In a constructor, we increase the vlist after we
+ retrieve the value. */
+ if (in_dtor)
+ {
+ expr = build_binary_op (MINUS_EXPR, vlist, integer_one_node);
+ expr = build_modify_expr (vlist, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+ }
+
+ /* Store the next vptr into the vbase's vptr. */
+ expr = build_indirect_ref (vlist, "__vlist");
+ expr = convert_force (TREE_TYPE (addr), expr, 0);
+ expr = build_modify_expr (addr, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+
+ /* Advance the vlist. */
+ if (!in_dtor)
+ {
+ expr = build_binary_op (PLUS_EXPR, vlist, integer_one_node);
+ expr = build_modify_expr (vlist, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+ }
+ }
+
+ if (!in_dtor)
+ for (i = 0; i < n_baselinks; i++)
+ {
+ tree base_binfo = TREE_VEC_ELT (binfos, i);
+ int is_not_base_vtable = i != CLASSTYPE_VFIELD_PARENT (type);
+ if (! TREE_VIA_VIRTUAL (base_binfo))
+ expand_direct_vtbls_init_thunks (base_binfo, decl_ptr,
+ is_not_base_vtable);
+ }
+}
+
+/* Like expand_indirect_vtbls_init below, but based on the vtable list
+ passed to the constructor. */
+
+static void
+expand_indirect_vtbls_init_thunks (binfo, true_exp, decl_ptr)
+ tree binfo;
+ tree true_exp, decl_ptr;
+{
+ tree type = BINFO_TYPE (binfo);
+ tree vbases = CLASSTYPE_VBASECLASSES (type);
+ struct vbase_info vi;
+
+ vi.decl_ptr = (true_exp ? build_unary_op (ADDR_EXPR, true_exp, 0)
+ : decl_ptr);
+ vi.vbase_types = vbases;
+
+ dfs_walk (binfo, dfs_find_vbases, unmarked_new_vtablep, &vi);
+
+ /* Initialized with vtables of type TYPE. */
+ for (; vbases; vbases = TREE_CHAIN (vbases))
+ {
+ tree addr;
+
+ if (!CLASSTYPE_VFIELD (BINFO_TYPE (vbases)))
+ /* This vbase doesn't have a vptr of its own. */
+ /* FIXME: check */
+ continue;
+
+ addr = convert_pointer_to_vbase (TREE_TYPE (vbases), decl_ptr);
+ expand_direct_vtbls_init_thunks (TYPE_BINFO (BINFO_TYPE (vbases)),
+ addr, 1);
+
+ }
+
+ dfs_walk (binfo, dfs_clear_vbase_slots, marked_new_vtablep, 0);
+}
+
/* Build a COMPOUND_EXPR which when expanded will generate the code
needed to initialize all the virtual function table slots of all
the virtual baseclasses. MAIN_BINFO is the binfo which determines
@@ -2645,6 +2771,12 @@ expand_indirect_vtbls_init (binfo, true_exp, decl_ptr)
mark_all_temps_used();
+ if (TYPE_USES_PVBASES (type))
+ {
+ expand_indirect_vtbls_init_thunks (binfo, true_exp, decl_ptr);
+ return;
+ }
+
if (TYPE_USES_VIRTUAL_BASECLASSES (type))
{
rtx fixup_insns = NULL_RTX;
@@ -2970,7 +3102,7 @@ push_class_decls (type)
/* Build up all the relevant bindings and such on the cache
obstack. That way no memory is wasted when we throw away the
cache later. */
- maybe_push_cache_obstack ();
+ push_cache_obstack ();
/* Enter type declarations and mark. */
dfs_walk (TYPE_BINFO (type), dfs_push_type_decls, unmarked_pushdecls_p, 0);
@@ -2978,7 +3110,7 @@ push_class_decls (type)
/* Enter non-type declarations and unmark. */
dfs_walk (TYPE_BINFO (type), dfs_push_decls, marked_pushdecls_p, 0);
- /* Undo the call to maybe_push_cache_obstack above. */
+ /* Undo the call to push_cache_obstack above. */
pop_obstacks ();
current_obstack = ambient_obstack;
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 847a982e260..7267f46aaf3 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -120,7 +120,7 @@ finish_if_stmt_cond (cond, if_stmt)
if (last_tree != if_stmt)
RECHAIN_STMTS_FROM_LAST (if_stmt, IF_COND (if_stmt));
else
- IF_COND (if_stmt) = cond;
+ IF_COND (if_stmt) = copy_to_permanent (cond);
}
else
{
@@ -219,7 +219,7 @@ finish_while_stmt_cond (cond, while_stmt)
RECHAIN_STMTS_FROM_LAST (while_stmt,
WHILE_COND (while_stmt));
else
- TREE_OPERAND (while_stmt, 0) = cond;
+ TREE_OPERAND (while_stmt, 0) = copy_to_permanent (cond);
}
else
{
@@ -294,7 +294,7 @@ finish_do_stmt (cond, do_stmt)
tree do_stmt;
{
if (processing_template_decl)
- DO_COND (do_stmt) = cond;
+ DO_COND (do_stmt) = copy_to_permanent (cond);
else
{
emit_line_note (input_filename, lineno);
@@ -378,7 +378,7 @@ finish_for_cond (cond, for_stmt)
if (last_tree != for_stmt)
RECHAIN_STMTS_FROM_LAST (for_stmt, FOR_COND (for_stmt));
else
- FOR_COND (for_stmt) = cond;
+ FOR_COND (for_stmt) = copy_to_permanent (cond);
}
else
{
@@ -741,11 +741,16 @@ finish_asm_stmt (cv_qualifier, string, output_operands,
if (output_operands != NULL_TREE || input_operands != NULL_TREE
|| clobbers != NULL_TREE)
{
+ tree t;
+
if (cv_qualifier != NULL_TREE
&& cv_qualifier != ridpointers[(int) RID_VOLATILE])
cp_warning ("%s qualifier ignored on asm",
IDENTIFIER_POINTER (cv_qualifier));
-
+
+ for (t = input_operands; t; t = TREE_CHAIN (t))
+ TREE_VALUE (t) = decay_conversion (TREE_VALUE (t));
+
c_expand_asm_operands (string, output_operands,
input_operands,
clobbers,
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index bf16fe2a0c5..866aa271acd 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -71,6 +71,7 @@ lvalue_p_1 (ref, treat_class_rvalues_as_lvalues)
case WITH_CLEANUP_EXPR:
case REALPART_EXPR:
case IMAGPART_EXPR:
+ case NOP_EXPR:
return lvalue_p_1 (TREE_OPERAND (ref, 0),
treat_class_rvalues_as_lvalues);
@@ -193,7 +194,7 @@ build_cplus_new (type, init)
tree rval;
if (TREE_CODE (init) != CALL_EXPR && TREE_CODE (init) != AGGR_INIT_EXPR)
- return init;
+ return convert (type, init);
slot = build (VAR_DECL, type);
DECL_ARTIFICIAL (slot) = 1;
@@ -1901,6 +1902,7 @@ mapcar (t, func)
case NOP_EXPR:
case COMPONENT_REF:
case CLEANUP_POINT_EXPR:
+ case NON_LVALUE_EXPR:
t = copy_node (t);
TREE_TYPE (t) = mapcar (TREE_TYPE (t), func);
TREE_OPERAND (t, 0) = mapcar (TREE_OPERAND (t, 0), func);
@@ -2789,3 +2791,21 @@ cp_valid_lang_attribute (attr_name, attr_args, decl, type)
return 0;
}
+
+/* Return a new PTRMEM_CST of the indicated TYPE. The MEMBER is the
+ thing pointed to by the constant. */
+
+tree
+make_ptrmem_cst (type, member)
+ tree type;
+ tree member;
+{
+ tree ptrmem_cst = make_node (PTRMEM_CST);
+ /* If would seem a great convenience if make_node would set
+ TREE_CONSTANT for things of class `c', but it does not. */
+ TREE_CONSTANT (ptrmem_cst) = 1;
+ TREE_TYPE (ptrmem_cst) = type;
+ PTRMEM_CST_MEMBER (ptrmem_cst) = member;
+ return ptrmem_cst;
+}
+
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 4822dbda4ea..d0743e950f4 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -1355,8 +1355,13 @@ comp_target_parms (parms1, parms2, strict)
if (t1 == 0 && t2 != 0)
{
- cp_pedwarn ("ANSI C++ prohibits conversion from `(%#T)' to `(...)'",
- parms2);
+ if (! flag_strict_prototype && t2 == void_list_node)
+ /* t1 might be the arglist of a function pointer in extern "C"
+ declared to take (), which we fudged to (...). Don't make the
+ user pay for our mistake. */;
+ else
+ cp_pedwarn ("ANSI C++ prohibits conversion from `%#T' to `(...)'",
+ parms2);
return self_promoting_args_p (t2);
}
if (t2 == 0)
@@ -4912,9 +4917,7 @@ unary_complex_lvalue (code, arg)
type = build_offset_type (DECL_FIELD_CONTEXT (t), TREE_TYPE (t));
type = build_pointer_type (type);
- t = make_node (PTRMEM_CST);
- TREE_TYPE (t) = type;
- PTRMEM_CST_MEMBER (t) = TREE_OPERAND (arg, 1);
+ t = make_ptrmem_cst (type, TREE_OPERAND (arg, 1));
return t;
}
}
@@ -5079,17 +5082,20 @@ build_conditional_expr (ifexp, op1, op2)
ifexp = op1 = save_expr (ifexp);
}
+ type1 = TREE_TYPE (op1);
+ code1 = TREE_CODE (type1);
+ type2 = TREE_TYPE (op2);
+ code2 = TREE_CODE (type2);
+ if (op1 == error_mark_node || op2 == error_mark_node
+ || type1 == error_mark_node || type2 == error_mark_node)
+ return error_mark_node;
+
ifexp = cp_convert (boolean_type_node, ifexp);
if (TREE_CODE (ifexp) == ERROR_MARK)
return error_mark_node;
/* C++: REFERENCE_TYPES must be dereferenced. */
- type1 = TREE_TYPE (op1);
- code1 = TREE_CODE (type1);
- type2 = TREE_TYPE (op2);
- code2 = TREE_CODE (type2);
-
if (code1 == REFERENCE_TYPE)
{
op1 = convert_from_reference (op1);
@@ -6359,7 +6365,12 @@ build_x_modify_expr (lhs, modifycode, rhs)
/* Get difference in deltas for different pointer to member function
types. Return integer_zero_node, if FROM cannot be converted to a
- TO type. If FORCE is true, then allow reverse conversions as well. */
+ TO type. If FORCE is true, then allow reverse conversions as well.
+
+ Note that the naming of FROM and TO is kind of backwards; the return
+ value is what we add to a TO in order to get a FROM. They are named
+ this way because we call this function to find out how to convert from
+ a pointer to member of FROM to a pointer to member of TO. */
static tree
get_delta_difference (from, to, force)
@@ -6515,15 +6526,15 @@ build_ptrmemfunc (type, pfn, force)
tree type, pfn;
int force;
{
- tree idx = integer_zero_node;
- tree delta = integer_zero_node;
- tree delta2 = integer_zero_node;
- tree npfn = NULL_TREE;
tree fn;
/* Handle multiple conversions of pointer to member functions. */
if (TYPE_PTRMEMFUNC_P (TREE_TYPE (pfn)))
{
+ tree idx = integer_zero_node;
+ tree delta = integer_zero_node;
+ tree delta2 = integer_zero_node;
+ tree npfn = NULL_TREE;
tree ndelta, ndelta2;
tree e1, e2, e3, n;
tree pfn_type;
@@ -6537,18 +6548,42 @@ build_ptrmemfunc (type, pfn, force)
&& comp_target_types (type, pfn_type, 1) != 1)
cp_error ("conversion to `%T' from `%T'", type, pfn_type);
- ndelta = cp_convert (ptrdiff_type_node, build_component_ref (pfn, delta_identifier, NULL_TREE, 0));
- ndelta2 = cp_convert (ptrdiff_type_node, DELTA2_FROM_PTRMEMFUNC (pfn));
- idx = build_component_ref (pfn, index_identifier, NULL_TREE, 0);
+ if (TREE_CODE (pfn) == PTRMEM_CST)
+ {
+ /* We could just build the resulting CONSTRUCTOR now, but we
+ don't, relying on the general machinery below, together
+ with constant-folding, to do the right thing. We don't
+ want to return a PTRMEM_CST here, even though we could,
+ because a pointer-to-member constant ceases to be a
+ constant (from the point of view of the language) when it
+ is cast to another type. */
+
+ expand_ptrmemfunc_cst (pfn, &ndelta, &idx, &npfn, &ndelta2);
+ if (npfn)
+ /* This constant points to a non-virtual function.
+ NDELTA2 will be NULL, but it's value doesn't really
+ matter since we won't use it anyhow. */
+ ndelta2 = integer_zero_node;
+ }
+ else
+ {
+ ndelta = cp_convert (ptrdiff_type_node,
+ build_component_ref (pfn,
+ delta_identifier,
+ NULL_TREE, 0));
+ ndelta2 = cp_convert (ptrdiff_type_node,
+ DELTA2_FROM_PTRMEMFUNC (pfn));
+ idx = build_component_ref (pfn, index_identifier, NULL_TREE, 0);
+ }
n = get_delta_difference (TYPE_METHOD_BASETYPE (TREE_TYPE (pfn_type)),
TYPE_METHOD_BASETYPE (TREE_TYPE (type)),
force);
-
delta = build_binary_op (PLUS_EXPR, ndelta, n);
delta2 = build_binary_op (PLUS_EXPR, ndelta2, n);
e1 = fold (build (GT_EXPR, boolean_type_node, idx, integer_zero_node));
+ /* If it's a virtual function, this is what we want. */
e2 = build_ptrmemfunc1 (TYPE_GET_PTRMEMFUNC_TYPE (type), delta, idx,
NULL_TREE, delta2);
@@ -6556,8 +6591,10 @@ build_ptrmemfunc (type, pfn, force)
npfn = build1 (NOP_EXPR, type, pfn);
TREE_CONSTANT (npfn) = TREE_CONSTANT (pfn);
- e3 = build_ptrmemfunc1 (TYPE_GET_PTRMEMFUNC_TYPE (type), delta, idx, npfn,
- NULL_TREE);
+ /* But if it's a non-virtual function, or NULL, we use this
+ instead. */
+ e3 = build_ptrmemfunc1 (TYPE_GET_PTRMEMFUNC_TYPE (type), delta,
+ idx, npfn, NULL_TREE);
return build_conditional_expr (e1, e2, e3);
}
@@ -6575,10 +6612,7 @@ build_ptrmemfunc (type, pfn, force)
fn = TREE_OPERAND (pfn, 0);
my_friendly_assert (TREE_CODE (fn) == FUNCTION_DECL, 0);
- npfn = make_node (PTRMEM_CST);
- TREE_TYPE (npfn) = build_ptrmemfunc_type (type);
- PTRMEM_CST_MEMBER (npfn) = fn;
- return npfn;
+ return make_ptrmem_cst (build_ptrmemfunc_type (type), fn);
}
/* Return the DELTA, IDX, PFN, and DELTA2 values for the PTRMEM_CST
@@ -6594,38 +6628,41 @@ expand_ptrmemfunc_cst (cst, delta, idx, pfn, delta2)
{
tree type = TREE_TYPE (cst);
tree fn = PTRMEM_CST_MEMBER (cst);
+ tree ptr_class, fn_class;
my_friendly_assert (TREE_CODE (fn) == FUNCTION_DECL, 0);
-
- *delta
- = get_delta_difference (TYPE_METHOD_BASETYPE
- (TREE_TYPE (fn)),
- TYPE_PTRMEMFUNC_OBJECT_TYPE (type),
- /*force=*/0);
+
+ /* The class that the function belongs to. */
+ fn_class = DECL_CLASS_CONTEXT (fn);
+
+ /* The class that we're creating a pointer to member of. */
+ ptr_class = TYPE_PTRMEMFUNC_OBJECT_TYPE (type);
+
+ /* First, calculate the adjustment to the function's class. */
+ *delta = get_delta_difference (fn_class, ptr_class, /*force=*/0);
+
if (!DECL_VIRTUAL_P (fn))
{
- *idx = size_binop (MINUS_EXPR, integer_zero_node,
- integer_one_node);
- *pfn = build_addr_func (fn);
- if (!same_type_p (TYPE_METHOD_BASETYPE (TREE_TYPE (fn)),
- TYPE_PTRMEMFUNC_OBJECT_TYPE (type)))
- *pfn = build1 (NOP_EXPR, TYPE_PTRMEMFUNC_FN_TYPE (type),
- *pfn);
+ *idx = size_binop (MINUS_EXPR, integer_zero_node, integer_one_node);
+ *pfn = convert (TYPE_PTRMEMFUNC_FN_TYPE (type), build_addr_func (fn));
*delta2 = NULL_TREE;
}
else
{
- *idx = size_binop (PLUS_EXPR, DECL_VINDEX (fn),
- integer_one_node);
+ /* If we're dealing with a virtual function, we have to adjust 'this'
+ again, to point to the base which provides the vtable entry for
+ fn; the call will do the opposite adjustment. */
+ tree orig_class = DECL_VIRTUAL_CONTEXT (fn);
+ tree binfo = binfo_or_else (orig_class, fn_class);
+ *delta = size_binop (PLUS_EXPR, *delta, BINFO_OFFSET (binfo));
+
+ /* Map everything down one to make room for the null PMF. */
+ *idx = size_binop (PLUS_EXPR, DECL_VINDEX (fn), integer_one_node);
*pfn = NULL_TREE;
- *delta2 = get_binfo (DECL_CONTEXT (fn),
- DECL_CLASS_CONTEXT (fn),
- 0);
- *delta2 = get_vfield_offset (*delta2);
- *delta2 = size_binop (PLUS_EXPR, *delta2,
- build_binary_op (PLUS_EXPR,
- *delta,
- integer_zero_node));
+
+ /* Offset from an object of PTR_CLASS to the vptr for ORIG_CLASS. */
+ *delta2 = size_binop (PLUS_EXPR, *delta,
+ get_vfield_offset (TYPE_BINFO (orig_class)));
}
}
@@ -7329,7 +7366,7 @@ c_expand_return (retval)
|| DECL_NAME (current_function_decl) == ansi_opname[(int) VEC_NEW_EXPR])
&& !TYPE_NOTHROW_P (TREE_TYPE (current_function_decl))
&& null_ptr_cst_p (retval))
- cp_pedwarn ("operator new should throw an exception, not return NULL");
+ cp_warning ("operator new should throw an exception, not return NULL");
if (retval == NULL_TREE)
{
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index 76a30b202d6..da98203bdc0 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -343,8 +343,8 @@ my_friendly_abort (i)
ack ("Internal compiler error.");
else
ack ("Internal compiler error %d.", i);
- ack ("Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.");
- ack ("See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.");
+ ack ("Please submit a full bug report.");
+ ack ("See %s for instructions.", GCCBUGURL);
}
else
error ("confused by earlier errors, bailing out");
@@ -358,8 +358,8 @@ my_friendly_abort (i)
else
error ("Internal compiler error %d.", i);
- error ("Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.");
- fatal ("See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.");
+ error ("Please submit a full bug report.");
+ fatal ("See %s for instructions.", GCCBUGURL);
}
void
@@ -400,6 +400,7 @@ initializer_constant_valid_p (value, endtype)
case REAL_CST:
case STRING_CST:
case COMPLEX_CST:
+ case PTRMEM_CST:
return null_pointer_node;
case ADDR_EXPR:
diff --git a/gcc/cppinit.c b/gcc/cppinit.c
index f9bc306bd52..453cc5836c3 100644
--- a/gcc/cppinit.c
+++ b/gcc/cppinit.c
@@ -1,5 +1,6 @@
/* CPP Library.
- Copyright (C) 1986, 87, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -209,7 +210,8 @@ enum { QUOTE = 0, BRACKET, SYSTEM, AFTER };
/* If gcc is in use (stage2/stage3) we can make these tables initialized
data. */
-#if defined __GNUC__ && __GNUC__ >= 2
+#if defined __GNUC__ && (__GNUC__ > 2 \
+ || (__GNUC__ == 2 && __GNUC_MINOR__ > 8))
/* Table to tell if a character is legal as the second or later character
of a C identifier. */
U_CHAR is_idchar[256] =
diff --git a/gcc/cse.c b/gcc/cse.c
index 5fc6c7889a2..ca40ab36e41 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -1,5 +1,6 @@
/* Common subexpression elimination for GNU compiler.
- Copyright (C) 1987, 88, 89, 92-7, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -42,12 +43,14 @@ Boston, MA 02111-1307, USA. */
expressions encountered with the cheapest equivalent expression.
It is too complicated to keep track of the different possibilities
- when control paths merge; so, at each label, we forget all that is
- known and start fresh. This can be described as processing each
- basic block separately. Note, however, that these are not quite
- the same as the basic blocks found by a later pass and used for
- data flow analysis and register packing. We do not need to start fresh
- after a conditional jump instruction if there is no label there.
+ when control paths merge in this code; so, at each label, we forget all
+ that is known and start fresh. This can be described as processing each
+ extended basic block separately. We have a separate pass to perform
+ global CSE.
+
+ Note CSE can turn a conditional or computed jump into a nop or
+ an unconditional jump. When this occurs we arrange to run the jump
+ optimizer after CSE to delete the unreachable code.
We use two data structures to record the equivalent expressions:
a hash table for most expressions, and several vectors together
@@ -5861,7 +5864,15 @@ fold_rtx (x, insn)
hence not save anything) or be incorrect. */
if (const_arg1 != 0 && GET_CODE (const_arg1) == CONST_INT
&& INTVAL (const_arg1) < 0
- && - INTVAL (const_arg1) >= 0
+ /* This used to test
+
+ - INTVAL (const_arg1) >= 0
+
+ But The Sun V5.0 compilers mis-compiled that test. So
+ instead we test for the problematic value in a more direct
+ manner and hope the Sun compilers get it correct. */
+ && INTVAL (const_arg1) !=
+ ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT - 1))
&& GET_CODE (folded_arg1) == REG)
{
rtx new_const = GEN_INT (- INTVAL (const_arg1));
@@ -7460,7 +7471,6 @@ cse_insn (insn, libcall_insn)
rtx new = emit_jump_insn_before (gen_jump (XEXP (src, 0)), insn);
JUMP_LABEL (new) = XEXP (src, 0);
LABEL_NUSES (XEXP (src, 0))++;
- delete_insn (insn);
insn = new;
}
else
@@ -7471,39 +7481,11 @@ cse_insn (insn, libcall_insn)
Until the right place is found, might as well do this here. */
INSN_CODE (insn) = -1;
- /* Now that we've converted this jump to an unconditional jump,
- there is dead code after it. Delete the dead code until we
- reach a BARRIER, the end of the function, or a label. Do
- not delete NOTEs except for NOTE_INSN_DELETED since later
- phases assume these notes are retained. */
-
- p = insn;
-
- while (NEXT_INSN (p) != 0
- && GET_CODE (NEXT_INSN (p)) != BARRIER
- && GET_CODE (NEXT_INSN (p)) != CODE_LABEL)
- {
- if (GET_CODE (NEXT_INSN (p)) != NOTE
- || NOTE_LINE_NUMBER (NEXT_INSN (p)) == NOTE_INSN_DELETED)
- delete_insn (NEXT_INSN (p));
- else
- p = NEXT_INSN (p);
- }
-
- /* If we don't have a BARRIER immediately after INSN, put one there.
- Much code assumes that there are no NOTEs between a JUMP_INSN and
- BARRIER. */
-
- if (NEXT_INSN (insn) == 0
- || GET_CODE (NEXT_INSN (insn)) != BARRIER)
- emit_barrier_before (NEXT_INSN (insn));
-
- /* We might have two BARRIERs separated by notes. Delete the second
- one if so. */
-
- if (p != insn && NEXT_INSN (p) != 0
- && GET_CODE (NEXT_INSN (p)) == BARRIER)
- delete_insn (NEXT_INSN (p));
+ /* Now emit a BARRIER after the unconditional jump. Do not bother
+ deleting any unreachable code, let jump/flow do that. */
+ if (NEXT_INSN (insn) != 0
+ && GET_CODE (NEXT_INSN (insn)) != BARRIER)
+ emit_barrier_after (insn);
cse_jumps_altered = 1;
sets[i].rtl = 0;
@@ -7607,7 +7589,12 @@ cse_insn (insn, libcall_insn)
enum machine_mode mode
= GET_MODE (src) == VOIDmode ? GET_MODE (dest) : GET_MODE (src);
- if (sets[i].src_elt == 0)
+ /* Don't put a hard register source into the table if this is
+ the last insn of a libcall. */
+ if (sets[i].src_elt == 0
+ && (GET_CODE (src) != REG
+ || REGNO (src) >= FIRST_PSEUDO_REGISTER
+ || ! find_reg_note (insn, REG_RETVAL, NULL_RTX)))
{
register struct table_elt *elt;
@@ -8991,9 +8978,6 @@ cse_basic_block (from, to, next_branch, around_loop)
insn = NEXT_INSN (to);
- if (LABEL_NUSES (to) == 0)
- insn = delete_insn (to);
-
/* If TO was the last insn in the function, we are done. */
if (insn == 0)
return 0;
diff --git a/gcc/dwarf2.h b/gcc/dwarf2.h
index ddbe1b823bb..d0ca2451b76 100644
--- a/gcc/dwarf2.h
+++ b/gcc/dwarf2.h
@@ -1,6 +1,7 @@
/* Declarations and definitions of codes relating to the DWARF2 symbolic
debugging information format.
- Copyright (C) 1992, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1995, 1996, 1997, 2000
+ Free Software Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com). Derived from the
DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com).
@@ -501,7 +502,8 @@ enum dwarf_call_frame_info
/* GNU extensions */
DW_CFA_GNU_window_save = 0x2d,
- DW_CFA_GNU_args_size = 0x2e
+ DW_CFA_GNU_args_size = 0x2e,
+ DW_CFA_GNU_negative_offset_extended = 0x2f
};
#define DW_CIE_ID 0xffffffff
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 659b119f4bd..7ce80506fdc 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -1,5 +1,6 @@
/* Output Dwarf2 format symbol table information from the GNU C compiler.
- Copyright (C) 1992, 93, 95-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000 Free Software
+ Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com).
Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com).
Extensively modified by Jason Merrill (jason@cygnus.com).
@@ -719,6 +720,8 @@ dwarf_cfi_name (cfi_opc)
return "DW_CFA_GNU_window_save";
case DW_CFA_GNU_args_size:
return "DW_CFA_GNU_args_size";
+ case DW_CFA_GNU_negative_offset_extended:
+ return "DW_CFA_GNU_negative_offset_extended";
default:
return "DW_CFA_<unknown>";
@@ -948,7 +951,10 @@ reg_save (label, reg, sreg, offset)
offset /= DWARF_CIE_DATA_ALIGNMENT;
if (offset < 0)
- abort ();
+ {
+ cfi->dw_cfi_opc = DW_CFA_GNU_negative_offset_extended;
+ offset = -offset;
+ }
cfi->dw_cfi_oprnd2.dw_cfi_offset = offset;
}
else
@@ -1635,6 +1641,7 @@ output_cfi (cfi, fde)
break;
#endif
case DW_CFA_offset_extended:
+ case DW_CFA_GNU_negative_offset_extended:
case DW_CFA_def_cfa:
output_uleb128 (cfi->dw_cfi_oprnd1.dw_cfi_reg_num);
fputc ('\n', asm_out_file);
@@ -2426,6 +2433,22 @@ static unsigned pending_types;
be enough for most typical programs. */
#define PENDING_TYPES_INCREMENT 64
+/* A pointer to the base of a list of incomplete types which might be
+ completed at some later time. */
+
+static tree *incomplete_types_list;
+
+/* Number of elements currently allocated for the incomplete_types_list. */
+static unsigned incomplete_types_allocated;
+
+/* Number of elements of incomplete_types_list currently in use. */
+static unsigned incomplete_types;
+
+/* Size (in elements) of increments by which we may expand the incomplete
+ types list. Actually, a single hunk of space of this size should
+ be enough for most typical programs. */
+#define INCOMPLETE_TYPES_INCREMENT 64
+
/* Record whether the function being analyzed contains inlined functions. */
static int current_function_has_inlines;
#if 0 && defined (MIPS_DEBUGGING_INFO)
@@ -2728,8 +2751,10 @@ static char debug_line_section_label[MAX_ARTIFICIAL_LABEL_BYTES];
dyn_string_append (STR, NAME + 1); \
else \
{ \
+ char *newstr; \
+ STRIP_NAME_ENCODING (newstr, NAME); \
dyn_string_append (STR, user_label_prefix); \
- dyn_string_append (STR, NAME); \
+ dyn_string_append (STR, newstr); \
} \
} \
while (0)
@@ -5117,6 +5142,11 @@ output_abbrev_section ()
fprintf (asm_out_file, "\t%s\t0,0\n", ASM_BYTE_OP);
}
+
+ /* We need to properly terminate the abbrev table for this
+ compilation unit, as per the standard, and not rely on
+ workarounds in e.g. gdb. */
+ fprintf (asm_out_file, "\t%s\t0\n", ASM_BYTE_OP);
}
/* Output location description stack opcode's operands (if any). */
@@ -7165,7 +7195,8 @@ add_location_or_const_value_attribute (die, decl)
rtl = DECL_INCOMING_RTL (decl);
else if (! BYTES_BIG_ENDIAN
&& TREE_CODE (declared_type) == INTEGER_TYPE
- && TYPE_SIZE (declared_type) <= TYPE_SIZE (passed_type))
+ && (GET_MODE_SIZE (TYPE_MODE (declared_type))
+ <= GET_MODE_SIZE (TYPE_MODE (passed_type))))
rtl = DECL_INCOMING_RTL (decl);
}
@@ -8033,6 +8064,39 @@ output_pending_types_for_scope (context_die)
}
}
+/* Remember a type in the incomplete_types_list. */
+
+static void
+add_incomplete_type (type)
+ tree type;
+{
+ if (incomplete_types == incomplete_types_allocated)
+ {
+ incomplete_types_allocated += INCOMPLETE_TYPES_INCREMENT;
+ incomplete_types_list
+ = (tree *) xrealloc (incomplete_types_list,
+ sizeof (tree) * incomplete_types_allocated);
+ }
+
+ incomplete_types_list[incomplete_types++] = type;
+}
+
+/* Walk through the list of incomplete types again, trying once more to
+ emit full debugging info for them. */
+
+static void
+retry_incomplete_types ()
+{
+ register tree type;
+
+ while (incomplete_types)
+ {
+ --incomplete_types;
+ type = incomplete_types_list[incomplete_types];
+ gen_type_die (type, comp_unit_die);
+ }
+}
+
/* Generate a DIE to represent an inlined instance of an enumeration type. */
static void
@@ -9024,7 +9088,13 @@ gen_struct_or_union_type_die (type, context_die)
}
}
else
- add_AT_flag (type_die, DW_AT_declaration, 1);
+ {
+ add_AT_flag (type_die, DW_AT_declaration, 1);
+
+ /* We can't do this for function-local types, and we don't need to. */
+ if (TREE_PERMANENT (type))
+ add_incomplete_type (type);
+ }
}
/* Generate a DIE for a subroutine _type_. */
@@ -9993,6 +10063,10 @@ dwarf2out_finish ()
free (node);
}
+ /* Walk through the list of incomplete types again, trying once more to
+ emit full debugging info for them. */
+ retry_incomplete_types ();
+
/* Traverse the DIE tree and add sibling attributes to those DIE's
that have children. */
add_sibling_attributes (comp_unit_die);
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index ac17f7fb196..8e0d018da49 100644
--- a/gcc/dwarfout.c
+++ b/gcc/dwarfout.c
@@ -270,6 +270,22 @@ static unsigned pending_types;
#define PENDING_TYPES_INCREMENT 64
+/* A pointer to the base of a list of incomplete types which might be
+ completed at some later time. */
+
+static tree *incomplete_types_list;
+
+/* Number of elements currently allocated for the incomplete_types_list. */
+static unsigned incomplete_types_allocated;
+
+/* Number of elements of incomplete_types_list currently in use. */
+static unsigned incomplete_types;
+
+/* Size (in elements) of increments by which we may expand the incomplete
+ types list. Actually, a single hunk of space of this size should
+ be enough for most typical programs. */
+#define INCOMPLETE_TYPES_INCREMENT 64
+
/* Pointer to an artificial RECORD_TYPE which we create in dwarfout_init.
This is used in a hack to help us get the DIEs describing types of
formal parameters to come *after* all of the DIEs describing the formal
@@ -1397,6 +1413,10 @@ fundamental_type_code (type)
if (TYPE_PRECISION (type) == CHAR_TYPE_SIZE)
return (TREE_UNSIGNED (type) ? FT_unsigned_char : FT_char);
+ /* In C++, __java_boolean is an INTEGER_TYPE with precision == 1 */
+ if (TYPE_PRECISION (type) == 1)
+ return FT_boolean;
+
abort ();
case REAL_TYPE:
@@ -2090,8 +2110,16 @@ field_byte_offset (decl)
negative. Gdb fails when given negative bit offsets. We avoid this
by recomputing using the first bit of the bitfield. This will give
us an object which does not completely contain the bitfield, but it
- will be aligned, and it will contain the first bit of the bitfield. */
- if (object_offset_in_bits > bitpos_int)
+ will be aligned, and it will contain the first bit of the bitfield.
+
+ However, only do this for a BYTES_BIG_ENDIAN target. For a
+ ! BYTES_BIG_ENDIAN target, bitpos_int + field_size_in_bits is the first
+ first bit of the bitfield. If we recompute using bitpos_int + 1 below,
+ then we end up computing the object byte offset for the wrong word of the
+ desired bitfield, which in turn causes the field offset to be negative
+ in bit_offset_attribute. */
+ if (BYTES_BIG_ENDIAN
+ && object_offset_in_bits > bitpos_int)
{
deepest_bitpos = bitpos_int + 1;
object_offset_in_bits
@@ -4216,6 +4244,40 @@ output_pending_types_for_scope (containing_scope)
}
}
+/* Remember a type in the incomplete_types_list. */
+
+static void
+add_incomplete_type (type)
+ tree type;
+{
+ if (incomplete_types == incomplete_types_allocated)
+ {
+ incomplete_types_allocated += INCOMPLETE_TYPES_INCREMENT;
+ incomplete_types_list
+ = (tree *) xrealloc (incomplete_types_list,
+ sizeof (tree) * incomplete_types_allocated);
+ }
+
+ incomplete_types_list[incomplete_types++] = type;
+}
+
+/* Walk through the list of incomplete types again, trying once more to
+ emit full debugging info for them. */
+
+static void
+retry_incomplete_types ()
+{
+ register tree type;
+
+ finalizing = 1;
+ while (incomplete_types)
+ {
+ --incomplete_types;
+ type = incomplete_types_list[incomplete_types];
+ output_type (type, NULL_TREE);
+ }
+}
+
static void
output_type (type, containing_scope)
register tree type;
@@ -4380,7 +4442,13 @@ output_type (type, containing_scope)
&& TREE_CODE (TYPE_CONTEXT (type)) != FUNCTION_TYPE
&& TREE_CODE (TYPE_CONTEXT (type)) != METHOD_TYPE))
&& !finalizing)
- return; /* EARLY EXIT! Avoid setting TREE_ASM_WRITTEN. */
+ {
+ /* We can't do this for function-local types, and we don't need
+ to. */
+ if (TREE_PERMANENT (type))
+ add_incomplete_type (type);
+ return; /* EARLY EXIT! Avoid setting TREE_ASM_WRITTEN. */
+ }
/* Prevent infinite recursion in cases where the type of some
member of this type is expressed in terms of this type itself. */
@@ -4435,7 +4503,11 @@ output_type (type, containing_scope)
register int i;
for (i = 0; i < n_bases; i++)
- output_die (output_inheritance_die, TREE_VEC_ELT (bases, i));
+ {
+ tree binfo = TREE_VEC_ELT (bases, i);
+ output_type (BINFO_TYPE (binfo), containing_scope);
+ output_die (output_inheritance_die, binfo);
+ }
}
++in_class;
@@ -5844,6 +5916,8 @@ dwarfout_finish ()
{
char label[MAX_ARTIFICIAL_LABEL_BYTES];
+ retry_incomplete_types ();
+
fputc ('\n', asm_out_file);
ASM_OUTPUT_PUSH_SECTION (asm_out_file, DEBUG_SECTION);
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 2aa51aca4da..79104729af6 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -1,5 +1,6 @@
/* Emit RTL for the GNU C-Compiler expander.
- Copyright (C) 1987, 88, 92-97, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -248,6 +249,9 @@ extern int emit_lineno;
static rtx make_jump_insn_raw PROTO((rtx));
static rtx make_call_insn_raw PROTO((rtx));
static rtx find_line_note PROTO((rtx));
+static void unshare_all_rtl_1 PROTO((rtx));
+static void unshare_all_decls PROTO((tree));
+static void reset_used_decls PROTO((tree));
rtx
gen_rtx_CONST_INT (mode, arg)
@@ -630,9 +634,15 @@ mark_reg_pointer (reg, align)
rtx reg;
int align;
{
- REGNO_POINTER_FLAG (REGNO (reg)) = 1;
+ if (! REGNO_POINTER_FLAG (REGNO (reg)))
+ {
+ REGNO_POINTER_FLAG (REGNO (reg)) = 1;
- if (align)
+ if (align)
+ REGNO_POINTER_ALIGN (REGNO (reg)) = align;
+ }
+ else if (align && align < REGNO_POINTER_ALIGN (REGNO (reg)))
+ /* We can no-longer be sure just how aligned this pointer is */
REGNO_POINTER_ALIGN (REGNO (reg)) = align;
}
@@ -896,6 +906,22 @@ gen_lowpart_common (mode, x)
r = REAL_VALUE_FROM_TARGET_SINGLE (i);
return CONST_DOUBLE_FROM_REAL_VALUE (r, mode);
}
+ else if (((HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT
+ && HOST_BITS_PER_WIDE_INT == BITS_PER_WORD)
+ || flag_pretend_float)
+ && GET_MODE_CLASS (mode) == MODE_FLOAT
+ && GET_MODE_SIZE (mode) == UNITS_PER_WORD
+ && GET_CODE (x) == CONST_INT
+ && (sizeof (double) * HOST_BITS_PER_CHAR
+ == HOST_BITS_PER_WIDE_INT))
+ {
+ REAL_VALUE_TYPE r;
+ HOST_WIDE_INT i;
+
+ i = INTVAL (x);
+ r = REAL_VALUE_FROM_TARGET_DOUBLE (&i);
+ return CONST_DOUBLE_FROM_REAL_VALUE (r, mode);
+ }
#endif
/* Similarly, if this is converting a floating-point value into a
@@ -950,6 +976,11 @@ gen_realpart (mode, x)
{
if (GET_CODE (x) == CONCAT && GET_MODE (XEXP (x, 0)) == mode)
return XEXP (x, 0);
+ else if (WORDS_BIG_ENDIAN
+ && GET_MODE_BITSIZE (mode) < BITS_PER_WORD
+ && REG_P (x)
+ && REGNO (x) < FIRST_PSEUDO_REGISTER)
+ fatal ("Unable to access real part of complex value in a hard register on this target");
else if (WORDS_BIG_ENDIAN)
return gen_highpart (mode, x);
else
@@ -968,6 +999,11 @@ gen_imagpart (mode, x)
return XEXP (x, 1);
else if (WORDS_BIG_ENDIAN)
return gen_lowpart (mode, x);
+ else if (!WORDS_BIG_ENDIAN
+ && GET_MODE_BITSIZE (mode) < BITS_PER_WORD
+ && REG_P (x)
+ && REGNO (x) < FIRST_PSEUDO_REGISTER)
+ fatal ("Unable to access imaginary part of complex value in a hard register on this target");
else
return gen_highpart (mode, x);
}
@@ -1196,10 +1232,33 @@ operand_subword (op, i, validate_address, mode)
/* If OP is a REG or SUBREG, we can handle it very simply. */
if (GET_CODE (op) == REG)
{
- /* If the register is not valid for MODE, return 0. If we don't
- do this, there is no way to fix up the resulting REG later. */
+ /* ??? There is a potential problem with this code. It does not
+ properly handle extractions of a subword from a hard register
+ that is larger than word_mode. Presumably the check for
+ HARD_REGNO_MODE_OK catches these most of these cases. */
+
+ /* If OP is a hard register, but OP + I is not a hard register,
+ then extracting a subword is impossible.
+
+ For example, consider if OP is the last hard register and it is
+ larger than word_mode. If we wanted word N (for N > 0) because a
+ part of that hard register was known to contain a useful value,
+ then OP + I would refer to a pseudo, not the hard register we
+ actually wanted. */
+ if (REGNO (op) < FIRST_PSEUDO_REGISTER
+ && REGNO (op) + i >= FIRST_PSEUDO_REGISTER)
+ return 0;
+
+ /* If the register is not valid for MODE, return 0. Note we
+ have to check both OP and OP + I since they may refer to
+ different parts of the register file.
+
+ Consider if OP refers to the last 96bit FP register and we want
+ subword 3 because that subword is known to contain a value we
+ needed. */
if (REGNO (op) < FIRST_PSEUDO_REGISTER
- && ! HARD_REGNO_MODE_OK (REGNO (op) + i, word_mode))
+ && (! HARD_REGNO_MODE_OK (REGNO (op), word_mode)
+ || ! HARD_REGNO_MODE_OK (REGNO (op) + i, word_mode)))
return 0;
else if (REGNO (op) >= FIRST_PSEUDO_REGISTER
|| (REG_FUNCTION_VALUE_P (op)
@@ -1712,23 +1771,29 @@ restore_emit_status (p)
free_insn = 0;
}
-/* Go through all the RTL insn bodies and copy any invalid shared structure.
- It does not work to do this twice, because the mark bits set here
- are not cleared afterwards. */
+/* Go through all the RTL insn bodies and copy any invalid shared
+ structure. This routine should only be called once. */
void
-unshare_all_rtl (insn)
- register rtx insn;
+unshare_all_rtl (fndecl, insn)
+ tree fndecl;
+ rtx insn;
{
- for (; insn; insn = NEXT_INSN (insn))
- if (GET_CODE (insn) == INSN || GET_CODE (insn) == JUMP_INSN
- || GET_CODE (insn) == CALL_INSN)
- {
- PATTERN (insn) = copy_rtx_if_shared (PATTERN (insn));
- REG_NOTES (insn) = copy_rtx_if_shared (REG_NOTES (insn));
- LOG_LINKS (insn) = copy_rtx_if_shared (LOG_LINKS (insn));
- }
+ tree decl;
+ /* Make sure that virtual stack slots are not shared. */
+ reset_used_decls (DECL_INITIAL (current_function_decl));
+
+ /* Make sure that virtual parameters are not shared. */
+ for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl))
+ DECL_RTL (decl) = copy_rtx_if_shared (DECL_RTL (decl));
+
+ /* Make sure that virtual stack slots are not shared. */
+ unshare_all_decls (DECL_INITIAL (fndecl));
+
+ /* Unshare just about everything else. */
+ unshare_all_rtl_1 (insn);
+
/* Make sure the addresses of stack slots found outside the insn chain
(such as, in DECL_RTL of a variable) are not shared
with the insn chain.
@@ -1736,8 +1801,76 @@ unshare_all_rtl (insn)
This special care is necessary when the stack slot MEM does not
actually appear in the insn chain. If it does appear, its address
is unshared from all else at that point. */
+ stack_slot_list = copy_rtx_if_shared (stack_slot_list);
+}
- copy_rtx_if_shared (stack_slot_list);
+/* Go through all the RTL insn bodies and copy any invalid shared
+ structure, again. This is a fairly expensive thing to do so it
+ should be done sparingly. */
+
+void
+unshare_all_rtl_again (insn)
+ rtx insn;
+{
+ rtx p;
+ for (p = insn; p; p = NEXT_INSN (p))
+ if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
+ {
+ reset_used_flags (PATTERN (p));
+ reset_used_flags (REG_NOTES (p));
+ reset_used_flags (LOG_LINKS (p));
+ }
+ unshare_all_rtl_1 (insn);
+}
+
+/* Go through all the RTL insn bodies and copy any invalid shared structure.
+ Assumes the mark bits are cleared at entry. */
+
+static void
+unshare_all_rtl_1 (insn)
+ rtx insn;
+{
+ for (; insn; insn = NEXT_INSN (insn))
+ if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
+ {
+ PATTERN (insn) = copy_rtx_if_shared (PATTERN (insn));
+ REG_NOTES (insn) = copy_rtx_if_shared (REG_NOTES (insn));
+ LOG_LINKS (insn) = copy_rtx_if_shared (LOG_LINKS (insn));
+ }
+}
+
+/* Go through all virtual stack slots of a function and copy any
+ shared structure. */
+static void
+unshare_all_decls (blk)
+ tree blk;
+{
+ tree t;
+
+ /* Copy shared decls. */
+ for (t = BLOCK_VARS (blk); t; t = TREE_CHAIN (t))
+ DECL_RTL (t) = copy_rtx_if_shared (DECL_RTL (t));
+
+ /* Now process sub-blocks. */
+ for (t = BLOCK_SUBBLOCKS (blk); t; t = TREE_CHAIN (t))
+ unshare_all_decls (t);
+}
+
+/* Go through all virtual stack slots of a function and mark them as
+ not shared. */
+static void
+reset_used_decls (blk)
+ tree blk;
+{
+ tree t;
+
+ /* Mark decls. */
+ for (t = BLOCK_VARS (blk); t; t = TREE_CHAIN (t))
+ reset_used_flags (DECL_RTL (t));
+
+ /* Now process sub-blocks. */
+ for (t = BLOCK_SUBBLOCKS (blk); t; t = TREE_CHAIN (t))
+ reset_used_decls (t);
}
/* Mark ORIG as in use, and return a copy of it if it was already in use.
@@ -1792,25 +1925,17 @@ copy_rtx_if_shared (orig)
return x;
case MEM:
- /* A MEM is allowed to be shared if its address is constant
- or is a constant plus one of the special registers. */
- if (CONSTANT_ADDRESS_P (XEXP (x, 0))
- || XEXP (x, 0) == virtual_stack_vars_rtx
- || XEXP (x, 0) == virtual_incoming_args_rtx)
+ /* A MEM is allowed to be shared if its address is constant.
+
+ We used to allow sharing of MEMs which referenced
+ virtual_stack_vars_rtx or virtual_incoming_args_rtx, but
+ that can lose. instantiate_virtual_regs will not unshare
+ the MEMs, and combine may change the structure of the address
+ because it looks safe and profitable in one context, but
+ in some other context it creates unrecognizable RTL. */
+ if (CONSTANT_ADDRESS_P (XEXP (x, 0)))
return x;
- if (GET_CODE (XEXP (x, 0)) == PLUS
- && (XEXP (XEXP (x, 0), 0) == virtual_stack_vars_rtx
- || XEXP (XEXP (x, 0), 0) == virtual_incoming_args_rtx)
- && CONSTANT_ADDRESS_P (XEXP (XEXP (x, 0), 1)))
- {
- /* This MEM can appear in more than one place,
- but its address better not be shared with anything else. */
- if (! x->used)
- XEXP (x, 0) = copy_rtx_if_shared (XEXP (x, 0));
- x->used = 1;
- return x;
- }
break;
default:
@@ -2304,10 +2429,18 @@ try_split (pat, trial, last)
it, in turn, will be split (SFmode on the 29k is an example). */
if (GET_CODE (seq) == SEQUENCE)
{
+ int i;
+
+ /* Avoid infinite loop if any insn of the result matches
+ the original pattern. */
+ for (i = 0; i < XVECLEN (seq, 0); i++)
+ if (GET_CODE (XVECEXP (seq, 0, i)) == INSN
+ && rtx_equal_p (PATTERN (XVECEXP (seq, 0, i)), pat))
+ return trial;
+
/* If we are splitting a JUMP_INSN, look for the JUMP_INSN in
SEQ and copy our JUMP_LABEL to it. If JUMP_LABEL is non-zero,
increment the usage count so we don't delete the label. */
- int i;
if (GET_CODE (trial) == JUMP_INSN)
for (i = XVECLEN (seq, 0) - 1; i >= 0; i--)
diff --git a/gcc/except.c b/gcc/except.c
index fe139fd85c4..f7d78d687ef 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -406,6 +406,7 @@ Boston, MA 02111-1307, USA. */
#include "recog.h"
#include "output.h"
#include "toplev.h"
+#include "intl.h"
#include "obstack.h"
/* One to use setjmp/longjmp method of generating code for exception
@@ -2446,6 +2447,7 @@ save_eh_status (p)
p->caught_return_label_stack = caught_return_label_stack;
p->protect_list = protect_list;
p->ehc = current_function_ehc;
+ p->eh_return_stub_label = eh_return_stub_label;
init_eh_for_function ();
}
@@ -2469,6 +2471,7 @@ restore_eh_status (p)
ehstack = p->ehstack;
catchstack = p->catchstack;
current_function_ehc = p->ehc;
+ eh_return_stub_label = p->eh_return_stub_label;
}
/* This section is for the exception handling specific optimization
@@ -2792,6 +2795,8 @@ expand_eh_return ()
if (!eh_return_context)
return;
+ current_function_cannot_inline = N_("function uses __builtin_eh_return");
+
eh_regs (&reg1, &reg2, &reg3, 1);
#ifdef POINTERS_EXTEND_UNSIGNED
eh_return_context = convert_memory_address (Pmode, eh_return_context);
diff --git a/gcc/expmed.c b/gcc/expmed.c
index dc6382c296d..35755c0f63f 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -1,6 +1,7 @@
/* Medium-level subroutines: convert bit-field store and extract
and shifts, multiplies and divides to rtl instructions.
- Copyright (C) 1987, 88, 89, 92-97, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -3246,7 +3247,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
insn = get_last_insn ();
if (insn != last
&& (set = single_set (insn)) != 0
- && SET_DEST (set) == quotient)
+ && SET_DEST (set) == quotient
+ && abs_d < ((unsigned HOST_WIDE_INT) 1
+ << (HOST_BITS_PER_WIDE_INT - 1)))
set_unique_reg_note (insn,
REG_EQUAL,
gen_rtx_DIV (compute_mode,
@@ -4192,9 +4195,11 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
comparison and then the scc insn.
compare_from_rtx may call emit_queue, which would be deleted below
- if the scc insn fails. So call it ourselves before setting LAST. */
+ if the scc insn fails. So call it ourselves before setting LAST.
+ Likewise for do_pending_stack_adjust. */
emit_queue ();
+ do_pending_stack_adjust ();
last = get_last_insn ();
comparison
diff --git a/gcc/expr.c b/gcc/expr.c
index e5ef6e1ec88..e3fe1f8f9f1 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1,5 +1,6 @@
/* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1710,6 +1711,37 @@ emit_block_move (x, y, size, align)
}
}
+ /* X, Y, or SIZE may have been passed through protect_from_queue.
+
+ It is unsafe to save the value generated by protect_from_queue
+ and reuse it later. Consider what happens if emit_queue is
+ called before the return value from protect_from_queue is used.
+
+ Expansion of the CALL_EXPR below will call emit_queue before
+ we are finished emitting RTL for argument setup. So if we are
+ not careful we could get the wrong value for an argument.
+
+ To avoid this problem we go ahead and emit code to copy X, Y &
+ SIZE into new pseudos. We can then place those new pseudos
+ into an RTL_EXPR and use them later, even after a call to
+ emit_queue.
+
+ Note this is not strictly needed for library calls since they
+ do not call emit_queue before loading their arguments. However,
+ we may need to have library calls call emit_queue in the future
+ since failing to do so could cause problems for targets which
+ define SMALL_REGISTER_CLASSES and pass arguments in registers. */
+ x = copy_to_mode_reg (Pmode, XEXP (x, 0));
+ y = copy_to_mode_reg (Pmode, XEXP (y, 0));
+
+#ifdef TARGET_MEM_FUNCTIONS
+ size = copy_to_mode_reg (TYPE_MODE (sizetype), size);
+#else
+ size = convert_to_mode (TYPE_MODE (integer_type_node), size,
+ TREE_UNSIGNED (integer_type_node));
+ size = copy_to_mode_reg (TYPE_MODE (integer_type_node), size);
+#endif
+
#ifdef TARGET_MEM_FUNCTIONS
/* It is incorrect to use the libcall calling conventions to call
memcpy in this context.
@@ -1748,12 +1780,10 @@ emit_block_move (x, y, size, align)
the last is a size_t byte count for the copy. */
arg_list
= build_tree_list (NULL_TREE,
- make_tree (build_pointer_type (void_type_node),
- XEXP (x, 0)));
+ make_tree (build_pointer_type (void_type_node), x));
TREE_CHAIN (arg_list)
= build_tree_list (NULL_TREE,
- make_tree (build_pointer_type (void_type_node),
- XEXP (y, 0)));
+ make_tree (build_pointer_type (void_type_node), y));
TREE_CHAIN (TREE_CHAIN (arg_list))
= build_tree_list (NULL_TREE, make_tree (sizetype, size));
TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (arg_list))) = NULL_TREE;
@@ -1767,8 +1797,7 @@ emit_block_move (x, y, size, align)
retval = expand_expr (call_expr, NULL_RTX, VOIDmode, 0);
#else
emit_library_call (bcopy_libfunc, 0,
- VOIDmode, 3, XEXP (y, 0), Pmode,
- XEXP (x, 0), Pmode,
+ VOIDmode, 3, y, Pmode, x, Pmode,
convert_to_mode (TYPE_MODE (integer_type_node), size,
TREE_UNSIGNED (integer_type_node)),
TYPE_MODE (integer_type_node));
@@ -2444,69 +2473,97 @@ clear_storage (object, size, align)
}
}
+ /* OBJECT or SIZE may have been passed through protect_from_queue.
-#ifdef TARGET_MEM_FUNCTIONS
- /* It is incorrect to use the libcall calling conventions to call
- memset in this context.
+ It is unsafe to save the value generated by protect_from_queue
+ and reuse it later. Consider what happens if emit_queue is
+ called before the return value from protect_from_queue is used.
- This could be a user call to memset and the user may wish to
- examine the return value from memset.
+ Expansion of the CALL_EXPR below will call emit_queue before
+ we are finished emitting RTL for argument setup. So if we are
+ not careful we could get the wrong value for an argument.
- For targets where libcalls and normal calls have different conventions
- for returning pointers, we could end up generating incorrect code.
+ To avoid this problem we go ahead and emit code to copy OBJECT
+ and SIZE into new pseudos. We can then place those new pseudos
+ into an RTL_EXPR and use them later, even after a call to
+ emit_queue.
- So instead of using a libcall sequence we build up a suitable
- CALL_EXPR and expand the call in the normal fashion. */
- if (fn == NULL_TREE)
- {
- tree fntype;
+ Note this is not strictly needed for library calls since they
+ do not call emit_queue before loading their arguments. However,
+ we may need to have library calls call emit_queue in the future
+ since failing to do so could cause problems for targets which
+ define SMALL_REGISTER_CLASSES and pass arguments in registers. */
+ object = copy_to_mode_reg (Pmode, XEXP (object, 0));
- /* This was copied from except.c, I don't know if all this is
- necessary in this context or not. */
- fn = get_identifier ("memset");
- push_obstacks_nochange ();
- end_temporary_allocation ();
- fntype = build_pointer_type (void_type_node);
- fntype = build_function_type (fntype, NULL_TREE);
- fn = build_decl (FUNCTION_DECL, fn, fntype);
- DECL_EXTERNAL (fn) = 1;
- TREE_PUBLIC (fn) = 1;
- DECL_ARTIFICIAL (fn) = 1;
- make_decl_rtl (fn, NULL_PTR, 1);
- assemble_external (fn);
- pop_obstacks ();
- }
+#ifdef TARGET_MEM_FUNCTIONS
+ size = copy_to_mode_reg (TYPE_MODE (sizetype), size);
+#else
+ size = convert_to_mode (TYPE_MODE (integer_type_node), size,
+ TREE_UNSIGNED (integer_type_node));
+ size = copy_to_mode_reg (TYPE_MODE (integer_type_node), size);
+#endif
- /* We need to make an argument list for the function call.
- memset has three arguments, the first is a void * addresses, the
- second a integer with the initialization value, the last is a size_t
- byte count for the copy. */
- arg_list
- = build_tree_list (NULL_TREE,
- make_tree (build_pointer_type (void_type_node),
- XEXP (object, 0)));
- TREE_CHAIN (arg_list)
- = build_tree_list (NULL_TREE,
- make_tree (integer_type_node, const0_rtx));
- TREE_CHAIN (TREE_CHAIN (arg_list))
- = build_tree_list (NULL_TREE, make_tree (sizetype, size));
- TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (arg_list))) = NULL_TREE;
+#ifdef TARGET_MEM_FUNCTIONS
+ /* It is incorrect to use the libcall calling conventions to call
+ memset in this context.
- /* Now we have to build up the CALL_EXPR itself. */
- call_expr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (fn)), fn);
- call_expr = build (CALL_EXPR, TREE_TYPE (TREE_TYPE (fn)),
- call_expr, arg_list, NULL_TREE);
- TREE_SIDE_EFFECTS (call_expr) = 1;
+ This could be a user call to memset and the user may wish to
+ examine the return value from memset.
- retval = expand_expr (call_expr, NULL_RTX, VOIDmode, 0);
+ For targets where libcalls and normal calls have different
+ conventions for returning pointers, we could end up generating
+ incorrect code.
+
+ So instead of using a libcall sequence we build up a suitable
+ CALL_EXPR and expand the call in the normal fashion. */
+ if (fn == NULL_TREE)
+ {
+ tree fntype;
+
+ /* This was copied from except.c, I don't know if all this is
+ necessary in this context or not. */
+ fn = get_identifier ("memset");
+ push_obstacks_nochange ();
+ end_temporary_allocation ();
+ fntype = build_pointer_type (void_type_node);
+ fntype = build_function_type (fntype, NULL_TREE);
+ fn = build_decl (FUNCTION_DECL, fn, fntype);
+ DECL_EXTERNAL (fn) = 1;
+ TREE_PUBLIC (fn) = 1;
+ DECL_ARTIFICIAL (fn) = 1;
+ make_decl_rtl (fn, NULL_PTR, 1);
+ assemble_external (fn);
+ pop_obstacks ();
+ }
+
+ /* We need to make an argument list for the function call.
+
+ memset has three arguments, the first is a void * addresses, the
+ second a integer with the initialization value, the last is a
+ size_t byte count for the copy. */
+ arg_list
+ = build_tree_list (NULL_TREE,
+ make_tree (build_pointer_type (void_type_node),
+ object));
+ TREE_CHAIN (arg_list)
+ = build_tree_list (NULL_TREE,
+ make_tree (integer_type_node, const0_rtx));
+ TREE_CHAIN (TREE_CHAIN (arg_list))
+ = build_tree_list (NULL_TREE, make_tree (sizetype, size));
+ TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (arg_list))) = NULL_TREE;
+
+ /* Now we have to build up the CALL_EXPR itself. */
+ call_expr = build1 (ADDR_EXPR,
+ build_pointer_type (TREE_TYPE (fn)), fn);
+ call_expr = build (CALL_EXPR, TREE_TYPE (TREE_TYPE (fn)),
+ call_expr, arg_list, NULL_TREE);
+ TREE_SIDE_EFFECTS (call_expr) = 1;
+
+ retval = expand_expr (call_expr, NULL_RTX, VOIDmode, 0);
#else
emit_library_call (bzero_libfunc, 0,
- VOIDmode, 2,
- XEXP (object, 0), Pmode,
- convert_to_mode
- (TYPE_MODE (integer_type_node), size,
- TREE_UNSIGNED (integer_type_node)),
+ VOIDmode, 2, object, Pmode, size,
TYPE_MODE (integer_type_node));
#endif
}
@@ -2623,19 +2680,79 @@ emit_move_insn_1 (x, y)
}
else
{
- /* Show the output dies here. This is necessary for pseudos;
+ rtx realpart_x, realpart_y;
+ rtx imagpart_x, imagpart_y;
+
+ /* If this is a complex value with each part being smaller than a
+ word, the usual calling sequence will likely pack the pieces into
+ a single register. Unfortunately, SUBREG of hard registers only
+ deals in terms of words, so we have a problem converting input
+ arguments to the CONCAT of two registers that is used elsewhere
+ for complex values. If this is before reload, we can copy it into
+ memory and reload. FIXME, we should see about using extract and
+ insert on integer registers, but complex short and complex char
+ variables should be rarely used. */
+ if (GET_MODE_BITSIZE (mode) < 2*BITS_PER_WORD
+ && (reload_in_progress | reload_completed) == 0)
+ {
+ int packed_dest_p = (REG_P (x) && REGNO (x) < FIRST_PSEUDO_REGISTER);
+ int packed_src_p = (REG_P (y) && REGNO (y) < FIRST_PSEUDO_REGISTER);
+
+ if (packed_dest_p || packed_src_p)
+ {
+ enum mode_class reg_class = ((class == MODE_COMPLEX_FLOAT)
+ ? MODE_FLOAT : MODE_INT);
+
+ enum machine_mode reg_mode =
+ mode_for_size (GET_MODE_BITSIZE (mode), reg_class, 1);
+
+ if (reg_mode != BLKmode)
+ {
+ rtx mem = assign_stack_temp (reg_mode,
+ GET_MODE_SIZE (mode), 0);
+
+ rtx cmem = change_address (mem, mode, NULL_RTX);
+
+ current_function_cannot_inline
+ = "function using short complex types cannot be inline";
+
+ if (packed_dest_p)
+ {
+ rtx sreg = gen_rtx_SUBREG (reg_mode, x, 0);
+ emit_move_insn_1 (cmem, y);
+ return emit_move_insn_1 (sreg, mem);
+ }
+ else
+ {
+ rtx sreg = gen_rtx_SUBREG (reg_mode, y, 0);
+ emit_move_insn_1 (mem, sreg);
+ return emit_move_insn_1 (x, cmem);
+ }
+ }
+ }
+ }
+
+ realpart_x = gen_realpart (submode, x);
+ realpart_y = gen_realpart (submode, y);
+ imagpart_x = gen_imagpart (submode, x);
+ imagpart_y = gen_imagpart (submode, y);
+
+ /* Show the output dies here. This is necessary for SUBREGs
+ of pseudos since we cannot track their lifetimes correctly;
hard regs shouldn't appear here except as return values.
We never want to emit such a clobber after reload. */
if (x != y
- && ! (reload_in_progress || reload_completed))
+ && ! (reload_in_progress || reload_completed)
+ && (GET_CODE (realpart_x) == SUBREG
+ || GET_CODE (imagpart_x) == SUBREG))
{
emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
}
emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
- (gen_realpart (submode, x), gen_realpart (submode, y)));
+ (realpart_x, realpart_y));
emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
- (gen_imagpart (submode, x), gen_imagpart (submode, y)));
+ (imagpart_x, imagpart_y));
}
return get_last_insn ();
@@ -2647,6 +2764,8 @@ emit_move_insn_1 (x, y)
else if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
{
rtx last_insn = 0;
+ rtx seq;
+ int need_clobber;
#ifdef PUSH_ROUNDING
@@ -2659,15 +2778,9 @@ emit_move_insn_1 (x, y)
}
#endif
- /* Show the output dies here. This is necessary for pseudos;
- hard regs shouldn't appear here except as return values.
- We never want to emit such a clobber after reload. */
- if (x != y
- && ! (reload_in_progress || reload_completed))
- {
- emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
- }
+ start_sequence ();
+ need_clobber = 0;
for (i = 0;
i < (GET_MODE_SIZE (mode) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD;
i++)
@@ -2689,9 +2802,27 @@ emit_move_insn_1 (x, y)
if (xpart == 0 || ypart == 0)
abort ();
+ need_clobber |= (GET_CODE (xpart) == SUBREG);
+
last_insn = emit_move_insn (xpart, ypart);
}
+ seq = gen_sequence ();
+ end_sequence ();
+
+ /* Show the output dies here. This is necessary for SUBREGs
+ of pseudos since we cannot track their lifetimes correctly;
+ hard regs shouldn't appear here except as return values.
+ We never want to emit such a clobber after reload. */
+ if (x != y
+ && ! (reload_in_progress || reload_completed)
+ && need_clobber != 0)
+ {
+ emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
+ }
+
+ emit_insn (seq);
+
return last_insn;
}
else
@@ -6206,12 +6337,8 @@ expand_expr (exp, target, tmode, modifier)
}
temp = gen_rtx_MEM (mode, op0);
- /* If address was computed by addition,
- mark this as an element of an aggregate. */
- if (TREE_CODE (exp1) == PLUS_EXPR
- || (TREE_CODE (exp1) == SAVE_EXPR
- && TREE_CODE (TREE_OPERAND (exp1, 0)) == PLUS_EXPR)
- || AGGREGATE_TYPE_P (TREE_TYPE (exp))
+
+ if (AGGREGATE_TYPE_P (TREE_TYPE (exp))
|| (TREE_CODE (exp1) == ADDR_EXPR
&& (exp2 = TREE_OPERAND (exp1, 0))
&& AGGREGATE_TYPE_P (TREE_TYPE (exp2))))
diff --git a/gcc/expr.h b/gcc/expr.h
index 1a6008a8f01..55e82e6622d 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -1015,6 +1015,14 @@ extern rtx (*lang_expand_expr) PROTO ((union tree_node *, rtx,
enum machine_mode,
enum expand_modifier modifier));
+#ifdef TREE_CODE
+/* Hook called by output_constant for language-specific tree codes.
+ It is up to the language front-end to install a hook if it has any
+ such codes that output_constant needs to know about. Returns a
+ language-independent constant equivalent to its input. */
+extern tree (*lang_expand_constant) PROTO((tree));
+#endif
+
extern void init_all_optabs PROTO ((void));
extern void init_mov_optab PROTO ((void));
extern void do_jump_by_parts_equality_rtx PROTO((rtx, rtx, rtx));
diff --git a/gcc/f/BUGS b/gcc/f/BUGS
index f97b75e3949..6f04b2b08f7 100644
--- a/gcc/f/BUGS
+++ b/gcc/f/BUGS
@@ -2,7 +2,7 @@
`bugs0.texi' and `bugs.texi'. `BUGS' is *not* a source file, although
it is normally included within source distributions.
- This file lists known bugs in the EGCS-1.2 version of the GNU
+ This file lists known bugs in the GCC-2.95 version of the GNU
Fortran compiler. Copyright (C) 1995-1999 Free Software Foundation,
Inc. You may copy, distribute, and modify it freely as long as you
preserve this copyright notice and permission notice.
@@ -11,7 +11,7 @@ Known Bugs In GNU Fortran
*************************
This section identifies bugs that `g77' *users* might run into in
-the EGCS-1.2 version of `g77'. This includes bugs that are actually in
+the GCC-2.95 version of `g77'. This includes bugs that are actually in
the `gcc' back end (GBE) or in `libf2c', because those sets of code are
at least somewhat under the control of (and necessarily intertwined
with) `g77', so it isn't worth separating them out.
@@ -27,20 +27,20 @@ particularly concentrated on any version of this information that is
distributed as part of a *released* `g77'.
In particular, while this information is intended to apply to the
-EGCS-1.2 version of `g77', only an official *release* of that version
+GCC-2.95 version of `g77', only an official *release* of that version
is expected to contain documentation that is most consistent with the
`g77' product in that version.
An online, "live" version of this document (derived directly from
the mainline, development version of `g77' within `egcs') is available
-via `http://egcs.cygnus.com/onlinedocs/g77_bugs.html'. Follow the
+via `http://www.gnu.org/software/gcc/onlinedocs/g77_bugs.html'. Follow the
"Known Bugs" link.
For information on bugs that might afflict people who configure,
port, build, and install `g77', see "Problems Installing" in
`egcs/gcc/f/INSTALL'.
- The following information was last updated on 1999-05-06:
+ The following information was last updated on 1999-06-29:
* `g77' fails to warn about use of a "live" iterative-DO variable as
an implied-DO variable in a `WRITE' or `PRINT' statement (although
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 92de51ab922..47a745e70ff 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,141 @@
+Mon Mar 13 01:00:55 2000 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * stw.h (struct _ffestw_): Change type of uses_ to int.
+
+Fri Feb 18 13:36:50 2000 Martin von Loewis <loewis@informatik.hu-berlin.de>
+
+ * g77spec.c (lang_specific_driver): Use GCCBUGURL.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ * g77spec.c: Update URLS and mail addresses.
+ * root.texi: Update URLS and mail addresses.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+ * version.c: No longer a prerelease.
+
+Sat Jul 17 21:57:07 1999 Jeffrey A Law (law@cygnus.com)
+
+ * root.texi: Clear DEVEOPMENT per Craig's instructions.
+
+1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * root.texi: Update e-mail addresses to gcc.gnu.org.
+ * g77spec.c (lang_specific_driver): Updated URL with bug reporting
+ instructions to gcc.gnu.org. Removed e-mail address.
+
+Sat Jul 17 11:28:43 1999 Craig Burley <craig@jcb-sc.com>
+
+ * root.texi, g77install.texi: Switchover to GCC terminology.
+ Also, FSF-G77 had been mistakenly set at some point.
+
+Thu Jul 8 15:38:50 1999 Craig Burley <craig@jcb-sc.com>
+
+ * news.texi: Describe DATE intrinsic fix.
+
+Tue Jun 29 10:10:25 1999 Craig Burley <craig@jcb-sc.com>
+
+ * bugs.texi: Undo Friday's change, as there's now a fix
+ available from netlib.
+ * news.texi: Document the fix.
+
+Mon Jun 28 10:43:11 1999 Craig Burley <craig@jcb-sc.com>
+
+ * com.c (ffecom_prepare_expr_): A COMPLEX intrinsic needs
+ a temp even if -fno-f2c.
+
+ * version.c: Bump version.
+
+Fri Jun 25 11:06:32 1999 Craig Burley <craig@jcb-sc.com>
+
+ * bugs.texi: Describe K(5)=10*3 NAMELIST-read bug.
+
+Mon Jun 21 12:40:17 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * g77.texi: Update links.
+
+Wed Jun 16 11:43:02 1999 Craig Burley <craig@jcb-sc.com>
+
+ * news.texi: Mention BACKSPACE fix to libg2c.
+
+Mon Jun 7 08:42:40 1999 Craig Burley <craig@jcb-sc.com>
+
+ * Make-lang.in: Any target using libsubdir must depend
+ on installdirs.
+
+Sat Jun 5 23:50:36 1999 Craig Burley <craig@jcb-sc.com>
+
+ * g77.texi: Describe a few more missing features people
+ have emailed me about.
+
+Sat Jun 5 17:03:23 1999 Craig Burley <craig@jcb-sc.com>
+
+ From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
+ * g77.texi: Clean up fossil text vis-a-vis Intel CPUs.
+
+Fri Jun 4 13:56:56 1999 Craig Burley <craig@jcb-sc.com>
+
+ * Make-lang.in: Use libsubdir, not prefix, to store
+ temporary lang-f77 `flag' file.
+
+Fri Jun 4 10:26:04 1999 Craig Burley <craig@jcb-sc.com>
+
+ * news.texi (News): Mention GCC 2.95 in favor of EGCS 1.2.
+ Mention that libg2c is multilibbed.
+
+Fri Jun 4 10:09:50 1999 Craig Burley <craig@jcb-sc.com>
+
+ * g77.texi (Missing Features): Add `Better Warnings'
+ item.
+
+Fri May 28 16:51:41 1999 Craig Burley <craig@jcb-sc.com>
+
+ * g77.texi: Fix thinko.
+
+Wed May 26 14:43:27 1999 Craig Burley <craig@jcb-sc.com>
+
+ * news.texi: Document Tue May 18 03:52:04 1999 patch.
+ Fix a grammo.
+
+Wed May 26 14:25:07 1999 Craig Burley <craig@jcb-sc.com>
+
+ * g77.texi, news.texi, root.texi, version.c: Start renaming
+ EGCS 1.2 to GCC 2.95, and start using 0.5.25 to designate
+ the version of g77 within GCC 2.95.
+
+Wed May 26 11:45:21 1999 Craig Burley <craig@jcb-sc.com>
+
+ Rename -fsubscript-check to -fbounds-check and
+ -ff2c-subscript-check to -ffortran-bounds-check:
+ * g77.texi: Rename options in docs, clarify usage.
+ * lang-options.h: Rename options, clarify doclets.
+ * news.texi: Rename options, don't bother with fortran-specific
+ option.
+ * top.c (ffe_decode_option): Rename recognized strings.
+
+Tue May 25 18:21:09 1999 Craig Burley <craig@jcb-sc.com>
+
+ * com.c (FFECOM_FASTER_ARRAY_REFS): Delete this vestige,
+ now that -fflatten-arrays exists.
+
+Tue May 25 17:48:34 1999 Craig Burley <craig@jcb-sc.com>
+
+ Fix 19990525-0.f:
+ * com.c (ffecom_arg_ptr_to_expr): Strip off parens around
+ CHARACTER expression.
+ (ffecom_prepare_expr_): Ditto.
+
Tue May 18 03:52:04 1999 Craig Burley <craig@jcb-sc.com>
Support use of back end's improved open-coding of complex divide:
diff --git a/gcc/f/INSTALL b/gcc/f/INSTALL
index b8c24dbdb8a..91858800958 100644
--- a/gcc/f/INSTALL
+++ b/gcc/f/INSTALL
@@ -13,9 +13,10 @@ Installing GNU Fortran
The following information describes how to install `g77'.
- Note that, for `egcs' users, much of the information is obsolete,
-and is superceded by the `egcs' installation procedures. Such
-information is accordingly omitted and flagged as such.
+ Note that, for users of the GCC-2.95 version of `g77', much of the
+information is obsolete, and is superceded by the GCC installation
+procedures. Such information is accordingly omitted and flagged as
+such.
*Warning:* The information below is still under development, and
might not accurately reflect the `g77' code base of which it is a part.
@@ -24,17 +25,17 @@ particularly concentrated on any version of this information that is
distributed as part of a *released* `g77'.
In particular, while this information is intended to apply to the
-EGCS-1.2 version of `g77', only an official *release* of that version
+GCC-2.95 version of `g77', only an official *release* of that version
is expected to contain documentation that is most consistent with the
`g77' product in that version.
- The following information was last updated on 1999-05-10:
+ The following information was last updated on 1999-07-17:
Prerequisites
=============
- For `egcs' users, this information is superceded by the `egcs'
-installation instructions.
+ For users of the GCC-2.95 version of `g77', this information is
+superceded by the GCC installation instructions.
Problems Installing
===================
@@ -83,7 +84,7 @@ not yet established.
Missing strtoul or bsearch
..........................
- This information does not apply to the `egcs' version of `g77'.
+ This information does not apply to the GCC-2.95 version of `g77',
Cleanup Kills Stage Directories
...............................
@@ -334,18 +335,18 @@ support 64-bit systems.
Quick Start
===========
- For `egcs' users, this information is superceded by the `egcs'
-installation instructions.
+ For users of the GCC-2.95 version of `g77', this information is
+superceded by the GCC installation instructions.
Complete Installation
=====================
- For `egcs' users, this information is superceded by the `egcs'
-installation instructions.
+ For users of the GCC-2.95 version of `g77', this information is
+superceded by the GCC installation instructions.
Distributing Binaries
=====================
- For `egcs' users, this information is superceded by the `egcs'
-installation instructions.
+ For users of the GCC-2.95 version of `g77', this information is
+superceded by the GCC installation instructions.
diff --git a/gcc/f/Make-lang.in b/gcc/f/Make-lang.in
index 39c9cc2087d..a531abb5707 100644
--- a/gcc/f/Make-lang.in
+++ b/gcc/f/Make-lang.in
@@ -308,12 +308,14 @@ f77.install-normal:
# Install the driver program as $(target)-g77
# and also as either g77 (if native) or $(tooldir)/bin/g77.
-f77.install-common:
+# Make sure `installdirs' target (from gcc Makefile) has been
+# run, since we use libsubdir to store our `flag' file, lang-f77.
+f77.install-common: installdirs
case "$(LANGUAGES)" in \
- *[fF]77*) touch $(prefix)/lang-f77;; \
- *) rm -f $(prefix)/lang-f77;; \
+ *[fF]77*) touch $(libsubdir)/lang-f77;; \
+ *) rm -f $(libsubdir)/lang-f77;; \
esac
- -if [ -f $(prefix)/lang-f77 -a -f f771$(exeext) ] ; then \
+ -if [ -f $(libsubdir)/lang-f77 -a -f f771$(exeext) ] ; then \
if [ -f g77-cross$(exeext) ] ; then \
rm -f $(bindir)/$(G77_CROSS_NAME)$(exeext); \
$(INSTALL_PROGRAM) g77-cross$(exeext) $(bindir)/$(G77_CROSS_NAME)$(exeext); \
@@ -333,16 +335,18 @@ f77.install-common:
echo ' f77-install-ok in the source or build directory.)'; \
echo ''; \
else true; fi
- rm -f $(prefix)/lang-f77
+ rm -f $(libsubdir)/lang-f77
# $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
# to do the install. The sed rule was copied from stmp-int-hdrs.
-f77.install-info: f77.info
+# Make sure `installdirs' target (from gcc Makefile) has been
+# run, since we use libsubdir to store our `flag' file, lang-f77.
+f77.install-info: f77.info installdirs
case "$(LANGUAGES)" in \
- *[fF]77*) touch $(prefix)/lang-f77;; \
- *) rm -f $(prefix)/lang-f77;; \
+ *[fF]77*) touch $(libsubdir)/lang-f77;; \
+ *) rm -f $(libsubdir)/lang-f77;; \
esac
- if [ -f $(prefix)/lang-f77 -a -f f/g77.info ] ; then \
+ if [ -f $(libsubdir)/lang-f77 -a -f f/g77.info ] ; then \
rm -f $(infodir)/g77.info*; \
for f in f/g77.info*; do \
realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
@@ -350,20 +354,22 @@ f77.install-info: f77.info
done; \
chmod a-x $(infodir)/g77.info*; \
else true; fi
- @if [ -f $(prefix)/lang-f77 -a -f $(srcdir)/f/g77.info ] ; then \
+ @if [ -f $(libsubdir)/lang-f77 -a -f $(srcdir)/f/g77.info ] ; then \
if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
echo " install-info --info-dir=$(infodir) $(infodir)/g77.info"; \
install-info --info-dir=$(infodir) $(infodir)/g77.info || : ; \
else : ; fi; \
else : ; fi
- rm -f $(prefix)/lang-f77
+ rm -f $(libsubdir)/lang-f77
-f77.install-man: $(srcdir)/f/g77.1
+# Make sure `installdirs' target (from gcc Makefile) has been
+# run, since we use libsubdir to store our `flag' file, lang-f77.
+f77.install-man: $(srcdir)/f/g77.1 installdirs
case "$(LANGUAGES)" in \
- *[fF]77*) touch $(prefix)/lang-f77;; \
- *) rm -f $(prefix)/lang-f77;; \
+ *[fF]77*) touch $(libsubdir)/lang-f77;; \
+ *) rm -f $(libsubdir)/lang-f77;; \
esac
- -if [ -f $(prefix)/lang-f77 -a -f f771$(exeext) ] ; then \
+ -if [ -f $(libsubdir)/lang-f77 -a -f f771$(exeext) ] ; then \
if [ -f g77-cross$(exeext) ] ; then \
rm -f $(man1dir)/$(G77_CROSS_NAME)$(manext); \
$(INSTALL_DATA) $(srcdir)/f/g77.1 $(man1dir)/$(G77_CROSS_NAME)$(manext); \
@@ -374,27 +380,29 @@ f77.install-man: $(srcdir)/f/g77.1
chmod a-x $(man1dir)/$(G77_INSTALL_NAME)$(manext); \
fi; \
else true; fi
- rm -f $(prefix)/lang-f77
+ rm -f $(libsubdir)/lang-f77
-f77.uninstall:
+# Make sure `installdirs' target (from gcc Makefile) has been
+# run, since we use libsubdir to store our `flag' file, lang-f77.
+f77.uninstall: installdirs
case "$(LANGUAGES)" in \
- *[fF]77*) touch $(prefix)/lang-f77;; \
- *) rm -f $(prefix)/lang-f77;; \
+ *[fF]77*) touch $(libsubdir)/lang-f77;; \
+ *) rm -f $(libsubdir)/lang-f77;; \
esac
- @if [ -f $(prefix)/lang-f77 ] ; then \
+ @if [ -f $(libsubdir)/lang-f77 ] ; then \
if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
echo " install-info --delete --info-dir=$(infodir) $(infodir)/g77.info"; \
install-info --delete --info-dir=$(infodir) $(infodir)/g77.info || : ; \
else : ; fi; \
else : ; fi
- -if [ -f $(prefix)/lang-f77 ]; then \
+ -if [ -f $(libsubdir)/lang-f77 ]; then \
rm -rf $(bindir)/$(G77_INSTALL_NAME)$(exeext); \
rm -rf $(bindir)/$(G77_CROSS_NAME)$(exeext); \
rm -rf $(man1dir)/$(G77_INSTALL_NAME)$(manext); \
rm -rf $(man1dir)/$(G77_CROSS_NAME)$(manext); \
rm -rf $(infodir)/g77.info*; \
fi
- rm -f $(prefix)/lang-f77
+ rm -f $(libsubdir)/lang-f77
#
# Clean hooks:
# A lot of the ancillary files are deleted by the main makefile.
diff --git a/gcc/f/NEWS b/gcc/f/NEWS
index 2cde7928341..b8b524309ca 100644
--- a/gcc/f/NEWS
+++ b/gcc/f/NEWS
@@ -2,7 +2,7 @@
`news0.texi' and `news.texi'. `NEWS' is *not* a source file, although
it is normally included within source distributions.
- This file lists news about the EGCS-1.2 version (and some other
+ This file lists news about the GCC-2.95 version (and some other
versions) of the GNU Fortran compiler. Copyright (C) 1995-1999 Free
Software Foundation, Inc. You may copy, distribute, and modify it
freely as long as you preserve this copyright notice and permission
@@ -50,7 +50,7 @@ particularly concentrated on any version of this information that is
distributed as part of a *released* `g77'.
In particular, while this information is intended to apply to the
-EGCS-1.2 version of `g77', only an official *release* of that version
+GCC-2.95 version of `g77', only an official *release* of that version
is expected to contain documentation that is most consistent with the
`g77' product in that version.
@@ -64,12 +64,12 @@ about previous `g77' versions up-to-date.
An online, "live" version of this document (derived directly from
the mainline, development version of `g77' within `egcs') is available
-at `http://egcs.cygnus.com/onlinedocs/g77_news.html'.
+at `http://www.gnu.org/software/gcc/onlinedocs/g77_news.html'.
- The following information was last updated on 1999-05-13:
+ The following information was last updated on 1999-07-08:
-In `egcs' 1.2 (versus 1.1.2):
-=============================
+In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2:
+=======================================================
1. `g77' no longer generates bad code for assignments, or other
conversions, of `REAL' or `COMPLEX' constant expressions to type
@@ -87,30 +87,40 @@ In `egcs' 1.2 (versus 1.1.2):
now assigns through a temporary, in cases where such partial
overlap is deemed possible.
- 4. Automatic arrays now seem to be working on HP-UX systems.
+ 4. `libg2c' (`libf2c') no longer loses track of the file being worked
+ on during a `BACKSPACE' operation.
- 5. Fix `g77' so it no longer crashes when compiling I/O statements
+ 5. `libg2c' (`libf2c') fixes a bug whereby input to a `NAMELIST' read
+ involving a repeat count, such as `K(5)=10*3', was not properly
+ handled by `libf2c'. The first item was written to `K(5)', but
+ the remaining nine were written elsewhere (still within the array),
+ not necessarily starting at `K(6)'.
+
+ 6. Automatic arrays now seem to be working on HP-UX systems.
+
+ 7. The `Date' intrinsic now returns the correct result on big-endian
+ systems.
+
+ 8. Fix `g77' so it no longer crashes when compiling I/O statements
using keywords that define `INTEGER' values, such as `IOSTAT=J',
where J is other than default `INTEGER' (such as `INTEGER*2').
Instead, it issues a diagnostic.
- 6. Fix `g77' so it properly handles `DATA A/RPT*VAL/', where RPT is
+ 9. Fix `g77' so it properly handles `DATA A/RPT*VAL/', where RPT is
not default `INTEGER', such as `INTEGER*2', instead of producing a
spurious diagnostic. Also fix `DATA (A(I),I=1,N)', where `N' is
not default `INTEGER' to work instead of crashing `g77'.
- 7. The `-ax' option is now obeyed when compiling Fortran programs.
+ 10. The `-ax' option is now obeyed when compiling Fortran programs.
(It is passed to the `f771' driver.)
- * The new `-fsubscript-check' option causes `g77' to compile
- run-time bounds checks of array subscripts, as well as of
- substring start and end points.
+ * The new `-fbounds-check' option causes `g77' to compile run-time
+ bounds checks of array subscripts, as well as of substring start
+ and end points.
- The current implementation uses the `libf2c' library routine
- `s_rnge' to print the diagnostic. Since a future version of `g77'
- might use a different implementation, use the new
- `-ff2c-subscript-check' option if your application requires use of
- `s_rnge' or a compile-time diagnostic.
+ * `libg2c' now supports building as multilibbed library, which
+ provides better support for systems that require options such as
+ `-mieee' to work properly.
* Source file names with the suffixes `.FOR' and `.FPP' now are
recognized by `g77' as if they ended in `.for' and `.fpp',
@@ -123,12 +133,12 @@ In `egcs' 1.2 (versus 1.1.2):
consistent with the other subroutine forms of `libU77' intrinsics.
* `g77' now warns about a reference to an intrinsic that has an
- interface that is not Year 2000 (Y2K) compliant. Also, the
- `libg2c' has been changed to increase the likelihood of catching
- references to the implementations of these intrinsics using the
- `EXTERNAL' mechanism (which would avoid the new warnings).
+ interface that is not Year 2000 (Y2K) compliant. Also, `libg2c'
+ has been changed to increase the likelihood of catching references
+ to the implementations of these intrinsics using the `EXTERNAL'
+ mechanism (which would avoid the new warnings).
- 8. `g77' now warns about a reference to a function when the
+ 11. `g77' now warns about a reference to a function when the
corresponding *subsequent* function program unit disagrees with
the reference concerning the type of the function.
@@ -139,19 +149,23 @@ In `egcs' 1.2 (versus 1.1.2):
* The `-malign-double' option now reliably aligns *all*
double-precision variables and arrays on Intel x86 targets.
- 9. Even without the `-malign-double' option, `g77' reliably aligns
+ 12. Even without the `-malign-double' option, `g77' reliably aligns
local double-precision variables that are not in `EQUIVALENCE'
areas and not `SAVE''d.
+ 13. `g77' now open-codes ("inlines") division of `COMPLEX' operands
+ instead of generating a run-time call to the `libf2c' routines
+ `c_div' or `z_div', unless the `-Os' option is specified.
+
* `g77' no longer generates code to maintain `errno', a C-language
concept, when performing operations such as the `SqRt' intrinsic.
- 10. `g77' developers can temporarily use the `-fflatten-arrays' option
+ 14. `g77' developers can temporarily use the `-fflatten-arrays' option
to compare how the compiler handles code generation using C-like
constructs as compared to the Fortran-like method constructs
normally used.
- 11. A substantial portion of the `g77' front end's code-generation
+ 15. A substantial portion of the `g77' front end's code-generation
component was rewritten. It now generates code using facilities
more robustly supported by the `gcc' back end. One effect of this
rewrite is that some codes no longer produce a spurious "label LAB
@@ -159,14 +173,35 @@ In `egcs' 1.2 (versus 1.1.2):
* Support for the `-fugly' option has been removed.
- 12. Improve documentation and indexing, including information on Year
+ 16. Improve documentation and indexing, including information on Year
2000 (Y2K) compliance, and providing more information on internals
of the front end.
- 13. Upgrade to `libf2c' as of 1999-05-10.
+ 17. Upgrade to `libf2c' as of 1999-05-10.
+
+In 0.5.24 versus 0.5.23:
+========================
+
+ There is no `g77' version 0.5.24 at this time, or planned. 0.5.24
+is the version number designated for bug fixes and, perhaps, some new
+features added, to 0.5.23. Version 0.5.23 requires `gcc' 2.8.1, as
+0.5.24 was planned to require.
-In 0.5.24 and `egcs' 1.1.2 (versus 0.5.23 and 1.1.1):
-=====================================================
+ Due to `EGCS' becoming `GCC' (which is now an acronym for "GNU
+Compiler Collection"), and `EGCS' 1.2 becoming officially designated
+`GCC' 2.95, there seems to be no need for an actual 0.5.24 release.
+
+ To reduce the confusion already resulting from use of 0.5.24 to
+designate `g77' versions within `EGCS' versions 1.0 and 1.1, as well as
+in versions of `g77' documentation and notices during that period,
+"mainline" `g77' version numbering resumes at 0.5.25 with `GCC' 2.95
+(`EGCS' 1.2), skipping over 0.5.24 as a placeholder version number.
+
+ To repeat, there is no `g77' 0.5.24, but there is now a 0.5.25.
+Please remain calm and return to your keypunch units.
+
+In `EGCS' 1.1.2 versus `EGCS' 1.1.1:
+====================================
* Fix the `IDate' intrinsic (VXT) (in `libg2c') so the returned year
is in the documented, non-Y2K-compliant range of 0-99, instead of
@@ -180,8 +215,8 @@ In 0.5.24 and `egcs' 1.1.2 (versus 0.5.23 and 1.1.1):
* Improve documentation.
-In 0.5.24 and `egcs' 1.1.1 (versus 0.5.23 and 1.1):
-===================================================
+In `EGCS' 1.1.1 versus `EGCS' 1.1:
+==================================
* Fix `libg2c' so it performs an implicit `ENDFILE' operation (as
appropriate) whenever a `REWIND' is done.
@@ -202,51 +237,28 @@ In 0.5.24 and `egcs' 1.1.1 (versus 0.5.23 and 1.1):
some systems (those with shells requiring `else true' clauses on
`if' constructs for the completion code to be set properly).
-In `egcs' 1.1 (versus 0.5.24):
-==============================
-
- 14. Fix `g77' crash compiling code containing the construct
- `CMPLX(0.)' or similar.
-
- 15. Fix `g77' crash (or apparently infinite run-time) when compiling
- certain complicated expressions involving `COMPLEX' arithmetic
- (especially multiplication).
-
- 16. Fix a code-generation bug that afflicted Intel x86 targets when
- `-O2' was specified compiling, for example, an old version of the
- `DNRM2' routine.
-
- The x87 coprocessor stack was being mismanaged in cases involving
- assigned `GOTO' and `ASSIGN'.
-
- * Align static double-precision variables and arrays on Intel x86
- targets regardless of whether `-malign-double' is specified.
-
- Generally, this affects only local variables and arrays having the
- `SAVE' attribute or given initial values via `DATA'.
-
-In `egcs' 1.1 (versus `egcs' 1.0.3):
-====================================
+In `EGCS' 1.1 versus `EGCS' 1.0.3:
+==================================
- 17. Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte
+ 18. Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte
beyond the end of its `CHARACTER' argument, and in the `libU77'
intrinsics `GMTime' and `LTime' that overwrote their arguments.
- 18. Assumed arrays with negative bounds (such as `REAL A(-1:*)') no
+ 19. Assumed arrays with negative bounds (such as `REAL A(-1:*)') no
longer elicit spurious diagnostics from `g77', even on systems
with pointers having different sizes than integers.
This bug is not known to have existed in any recent version of
`gcc'. It was introduced in an early release of `egcs'.
- 19. Valid combinations of `EXTERNAL', passing that external as a dummy
+ 20. Valid combinations of `EXTERNAL', passing that external as a dummy
argument without explicitly giving it a type, and, in a subsequent
program unit, referencing that external as an external function
with a different type no longer crash `g77'.
- 20. `CASE DEFAULT' no longer crashes `g77'.
+ 21. `CASE DEFAULT' no longer crashes `g77'.
- 21. The `-Wunused' option no longer issues a spurious warning about
+ 22. The `-Wunused' option no longer issues a spurious warning about
the "master" procedure generated by `g77' for procedures
containing `ENTRY' statements.
@@ -271,25 +283,25 @@ In `egcs' 1.1 (versus `egcs' 1.0.3):
`libf2c' environment, even when `libf2c' (now `libg2c') is a
shared library.
- 22. `g77' no longer installs the `f77' command and `f77.1' man page in
+ 23. `g77' no longer installs the `f77' command and `f77.1' man page in
the `/usr' or `/usr/local' heirarchy, even if the `f77-install-ok'
file exists in the source or build directory. See the
installation documentation for more information.
- 23. `g77' no longer installs the `libf2c.a' library and `f2c.h'
+ 24. `g77' no longer installs the `libf2c.a' library and `f2c.h'
include file in the `/usr' or `/usr/local' heirarchy, even if the
`f2c-install-ok' or `f2c-exists-ok' files exist in the source or
build directory. See the installation documentation for more
information.
- 24. The `libf2c.a' library produced by `g77' has been renamed to
+ 25. The `libf2c.a' library produced by `g77' has been renamed to
`libg2c.a'. It is installed only in the `gcc' "private" directory
heirarchy, `gcc-lib'. This allows system administrators and users
to choose which version of the `libf2c' library from `netlib' they
wish to use on a case-by-case basis. See the installation
documentation for more information.
- 25. The `f2c.h' include (header) file produced by `g77' has been
+ 26. The `f2c.h' include (header) file produced by `g77' has been
renamed to `g2c.h'. It is installed only in the `gcc' "private"
directory heirarchy, `gcc-lib'. This allows system administrators
and users to choose which version of the include file from
@@ -301,11 +313,11 @@ In `egcs' 1.1 (versus `egcs' 1.0.3):
than the one built and installed as part of the same `g77' version
is picked up.
- 26. During the configuration and build process, `g77' creates
+ 27. During the configuration and build process, `g77' creates
subdirectories it needs only as it needs them. Other cleaning up
of the configuration and build process has been performed as well.
- 27. `install-info' now used to update the directory of Info
+ 28. `install-info' now used to update the directory of Info
documentation to contain an entry for `g77' (during installation).
* Some diagnostics have been changed from warnings to errors, to
@@ -314,28 +326,38 @@ In `egcs' 1.1 (versus `egcs' 1.0.3):
in the `OPEN', `INQUIRE', `READ', and `WRITE' statements, and
about truncations of various sorts of constants.
- 28. Improve compilation of `FORMAT' expressions so that a null byte is
+ 29. Improve compilation of `FORMAT' expressions so that a null byte is
appended to the last operand if it is a constant. This provides a
cleaner run-time diagnostic as provided by `libf2c' for statements
like `PRINT '(I1', 42'.
- 29. Improve documentation and indexing.
+ 30. Improve documentation and indexing.
- 30. The upgrade to `libf2c' as of 1998-06-18 should fix a variety of
+ 31. The upgrade to `libf2c' as of 1998-06-18 should fix a variety of
problems, including those involving some uses of the `T' format
specifier, and perhaps some build (porting) problems as well.
-In 0.5.24 and `egcs' 1.1 (versus 0.5.23):
-=========================================
+In `EGCS' 1.1 versus `g77' 0.5.23:
+==================================
+
+ 32. Fix a code-generation bug that afflicted Intel x86 targets when
+ `-O2' was specified compiling, for example, an old version of the
+ `DNRM2' routine.
+
+ The x87 coprocessor stack was being mismanaged in cases involving
+ assigned `GOTO' and `ASSIGN'.
- 31. `g77' no longer produces incorrect code and initial values for
+ 33. `g77' no longer produces incorrect code and initial values for
`EQUIVALENCE' and `COMMON' aggregates that, due to "unnatural"
ordering of members vis-a-vis their types, require initial padding.
- 32. `g77' no longer crashes when compiling code containing
+ 34. Fix `g77' crash compiling code containing the construct
+ `CMPLX(0.)' or similar.
+
+ 35. `g77' no longer crashes when compiling code containing
specification statements such as `INTEGER(KIND=7) PTR'.
- 33. `g77' no longer crashes when compiling code such as `J = SIGNAL(1,
+ 36. `g77' no longer crashes when compiling code such as `J = SIGNAL(1,
2)'.
* `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary"
@@ -346,6 +368,16 @@ In 0.5.24 and `egcs' 1.1 (versus 0.5.23):
Previously, `g77' treated these expressions as denoting special
"pointer" arguments for the purposes of filewide analysis.
+ 37. Fix `g77' crash (or apparently infinite run-time) when compiling
+ certain complicated expressions involving `COMPLEX' arithmetic
+ (especially multiplication).
+
+ * Align static double-precision variables and arrays on Intel x86
+ targets regardless of whether `-malign-double' is specified.
+
+ Generally, this affects only local variables and arrays having the
+ `SAVE' attribute or given initial values via `DATA'.
+
* The `g77' driver now ensures that `-lg2c' is specified in the link
phase prior to any occurrence of `-lm'. This prevents
accidentally linking to a routine in the SunOS4 `-lm' library when
@@ -366,9 +398,9 @@ In 0.5.24 and `egcs' 1.1 (versus 0.5.23):
* The F90 `System_Clock' intrinsic allows the optional arguments
(except for the `Count' argument) to be omitted.
- 34. Upgrade to `libf2c' as of 1998-06-18.
+ 38. Upgrade to `libf2c' as of 1998-06-18.
- 35. Improve documentation and indexing.
+ 39. Improve documentation and indexing.
In previous versions:
=====================
diff --git a/gcc/f/bugs.texi b/gcc/f/bugs.texi
index 643a221c98c..3f4cd903920 100644
--- a/gcc/f/bugs.texi
+++ b/gcc/f/bugs.texi
@@ -9,7 +9,7 @@
@c in the standalone derivations of this file (e.g. BUGS).
@set copyrights-bugs 1995-1999
-@set last-update-bugs 1999-05-06
+@set last-update-bugs 1999-06-29
@include root.texi
@@ -79,7 +79,7 @@ An online, ``live'' version of this document
(derived directly from the mainline, development version
of @code{g77} within @code{egcs})
is available via
-@uref{http://egcs.cygnus.com/onlinedocs/g77_bugs.html}.
+@uref{http://www.gnu.org/software/gcc/onlinedocs/g77_bugs.html}.
Follow the ``Known Bugs'' link.
@ifset DOC-G77
diff --git a/gcc/f/com.c b/gcc/f/com.c
index c04c4a77089..c326fedaae7 100644
--- a/gcc/f/com.c
+++ b/gcc/f/com.c
@@ -213,8 +213,6 @@ typedef struct { unsigned :16, :16, :16; } vms_ino_t;
/* Externals defined here. */
-#define FFECOM_FASTER_ARRAY_REFS 0 /* Generates faster code? */
-
#if FFECOM_targetCURRENT == FFECOM_targetGCC
/* tree.h declares a bunch of stuff that it expects the front end to
@@ -10600,6 +10598,9 @@ ffecom_arg_ptr_to_expr (ffebld expr, tree *length)
assert (ffeinfo_kindtype (ffebld_info (expr))
== FFEINFO_kindtypeCHARACTER1);
+ while (ffebld_op (expr) == FFEBLD_opPAREN)
+ expr = ffebld_left (expr);
+
catlist = ffecom_concat_list_new_ (expr, FFETARGET_charactersizeNONE);
switch (ffecom_concat_list_count_ (catlist))
{
@@ -13042,6 +13043,12 @@ ffecom_prepare_expr_ (ffebld expr, ffebld dest UNUSED)
/* Generate whatever temporaries are needed to represent the result
of the expression. */
+ if (bt == FFEINFO_basictypeCHARACTER)
+ {
+ while (ffebld_op (expr) == FFEBLD_opPAREN)
+ expr = ffebld_left (expr);
+ }
+
switch (ffebld_op (expr))
{
default:
@@ -13061,7 +13068,10 @@ ffecom_prepare_expr_ (ffebld expr, ffebld dest UNUSED)
s = ffebld_symter (ffebld_left (expr));
if (ffesymbol_where (s) == FFEINFO_whereCONSTANT
- || ! ffesymbol_is_f2c (s))
+ || (ffesymbol_where (s) != FFEINFO_whereINTRINSIC
+ && ! ffesymbol_is_f2c (s))
+ || (ffesymbol_where (s) == FFEINFO_whereINTRINSIC
+ && ! ffe_is_f2c_library ()))
break;
}
else if (ffebld_op (expr) == FFEBLD_opPOWER)
diff --git a/gcc/f/ffe.texi b/gcc/f/ffe.texi
index 4108bb850bc..e30333280d1 100644
--- a/gcc/f/ffe.texi
+++ b/gcc/f/ffe.texi
@@ -11,15 +11,1047 @@
This chapter describes some aspects of the design and implementation
of the @code{g77} front end.
+Much of the information below applies not to current
+releases of @code{g77},
+but to the 0.6 rewrite being designed and implemented
+as of late May, 1999.
+
+To find about things that are ``To Be Determined'' or ``To Be Done'',
+search for the string TBD.
+If you want to help by working on one or more of these items,
+email me at @email{@value{email-burley}}.
+If you're planning to do more than just research issues and offer comments,
+see @uref{http://www.gnu.org/software/contribute.html} for steps you might
+need to take first.
@menu
+* Overview of Sources::
+* Overview of Translation Process::
* Philosophy of Code Generation::
* Two-pass Design::
* Challenges Posed::
* Transforming Statements::
* Transforming Expressions::
+* Internal Naming Conventions::
@end menu
+@node Overview of Sources
+@section Overview of Sources
+
+The current directory layout includes the following:
+
+@table @file
+@item @value{srcdir}/gcc/
+Non-g77 files in gcc
+
+@item @value{srcdir}/gcc/f/
+GNU Fortran front end sources
+
+@item @value{srcdir}/libf2c/
+@code{libg2c} configuration and @code{g2c.h} file generation
+
+@item @value{srcdir}/libf2c/libF77/
+General support and math portion of @code{libg2c}
+
+@item @value{srcdir}/libf2c/libI77/
+I/O portion of @code{libg2c}
+
+@item @value{srcdir}/libf2c/libU77/
+Additional interfaces to Unix @code{libc} for @code{libg2c}
+@end table
+
+Components of note in @code{g77} are described below.
+
+@file{f/} as a whole contains the source for @code{g77},
+while @file{libf2c/} contains a portion of the separate program
+@code{f2c}.
+Note that the @code{libf2c} code is not part of the program @code{g77},
+just distributed with it.
+
+@file{f/} contains text files that document the Fortran compiler, source
+files for the GNU Fortran Front End (FFE), and some other stuff.
+The @code{g77} compiler code is placed in @file{f/} because it,
+along with its contents,
+is designed to be a subdirectory of a @code{gcc} source directory,
+@file{gcc/},
+which is structured so that language-specific front ends can be ``dropped
+in'' as subdirectories.
+The C++ front end (@code{g++}), is an example of this---it resides in
+the @file{cp/} subdirectory.
+Note that the C front end (also referred to as @code{gcc})
+is an exception to this, as its source files reside
+in the @file{gcc/} directory itself.
+
+@file{libf2c/} contains the run-time libraries for the @code{f2c} program,
+also used by @code{g77}.
+These libraries normally referred to collectively as @code{libf2c}.
+When built as part of @code{g77},
+@code{libf2c} is installed under the name @code{libg2c} to avoid
+conflict with any existing version of @code{libf2c},
+and thus is often referred to as @code{libg2c} when the
+@code{g77} version is specifically being referred to.
+
+The @code{netlib} version of @code{libf2c/}
+contains two distinct libraries,
+@code{libF77} and @code{libI77},
+each in their own subdirectories.
+In @code{g77}, this distinction is not made,
+beyond maintaining the subdirectory structure in the source-code tree.
+
+@file{libf2c/} is not part of the program @code{g77},
+just distributed with it.
+It contains files not present
+in the official (@code{netlib}) version of @code{libf2c},
+and also contains some minor changes made from @code{libf2c},
+to fix some bugs,
+and to facilitate automatic configuration, building, and installation of
+@code{libf2c} (as @code{libg2c}) for use by @code{g77} users.
+See @file{libf2c/README} for more information,
+including licensing conditions
+governing distribution of programs containing code from @code{libg2c}.
+
+@code{libg2c}, @code{g77}'s version of @code{libf2c},
+adds Dave Love's implementation of @code{libU77},
+in the @file{libf2c/libU77/} directory.
+This library is distributed under the
+GNU Library General Public License (LGPL)---see the
+file @file{libf2c/libU77/COPYING.LIB}
+for more information,
+as this license
+governs distribution conditions for programs containing code
+from this portion of the library.
+
+Files of note in @file{f/} and @file{libf2c/} are described below:
+
+@table @file
+@item f/BUGS
+Lists some important bugs known to be in g77.
+Or use Info (or GNU Emacs Info mode) to read
+the ``Actual Bugs'' node of the @code{g77} documentation:
+
+@smallexample
+info -f f/g77.info -n "Actual Bugs"
+@end smallexample
+
+@item f/ChangeLog
+Lists recent changes to @code{g77} internals.
+
+@item libf2c/ChangeLog
+Lists recent changes to @code{libg2c} internals.
+
+@item f/NEWS
+Contains the per-release changes.
+These include the user-visible
+changes described in the node ``Changes''
+in the @code{g77} documentation, plus internal
+changes of import.
+Or use:
+
+@smallexample
+info -f f/g77.info -n News
+@end smallexample
+
+@item f/g77.info*
+The @code{g77} documentation, in Info format,
+produced by building @code{g77}.
+
+All users of @code{g77} (not just installers) should read this,
+using the @code{more} command if neither the @code{info} command,
+nor GNU Emacs (with its Info mode), are available, or if users
+aren't yet accustomed to using these tools.
+All of these files are readable as ``plain text'' files,
+though they're easier to navigate using Info readers
+such as @code{info} and GNU Emacs Info mode.
+@end table
+
+If you want to explore the FFE code, which lives entirely in @file{f/},
+here are a few clues.
+The file @file{g77spec.c} contains the @code{g77}-specific source code
+for the @code{g77} command only---this just forms a variant of the
+@code{gcc} command, so,
+just as the @code{gcc} command itself does not contain the C front end,
+the @code{g77} command does not contain the Fortran front end (FFE).
+The FFE code ends up in an executable named @file{f771},
+which does the actual compiling,
+so it contains the FFE plus the @code{gcc} back end (GBE),
+the latter to do most of the optimization, and the code generation.
+
+The file @file{parse.c} is the source file for @code{yyparse()},
+which is invoked by the GBE to start the compilation process,
+for @file{f771}.
+
+The file @file{top.c} contains the top-level FFE function @code{ffe_file}
+and it (along with top.h) define all @samp{ffe_[a-z].*}, @samp{ffe[A-Z].*},
+and @samp{FFE_[A-Za-z].*} symbols.
+
+The file @file{fini.c} is a @code{main()} program that is used when building
+the FFE to generate C header and source files for recognizing keywords.
+The files @file{malloc.c} and @file{malloc.h} comprise a memory manager
+that defines all @samp{malloc_[a-z].*}, @samp{malloc[A-Z].*}, and
+@samp{MALLOC_[A-Za-z].*} symbols.
+
+All other modules named @var{xyz}
+are comprised of all files named @samp{@var{xyz}*.@var{ext}}
+and define all @samp{ffe@var{xyz}_[a-z].*}, @samp{ffe@var{xyz}[A-Z].*},
+and @samp{FFE@var{XYZ}_[A-Za-z].*} symbols.
+If you understand all this, congratulations---it's easier for me to remember
+how it works than to type in these regular expressions.
+But it does make it easy to find where a symbol is defined.
+For example, the symbol @samp{ffexyz_set_something} would be defined
+in @file{xyz.h} and implemented there (if it's a macro) or in @file{xyz.c}.
+
+The ``porting'' files of note currently are:
+
+@table @file
+@item proj.c
+@itemx proj.h
+This defines the ``language'' used by all the other source files,
+the language being Standard C plus some useful things
+like @code{ARRAY_SIZE} and such.
+
+@item target.c
+@itemx target.h
+These describe the target machine
+in terms of what data types are supported,
+how they are denoted
+(to what C type does an @code{INTEGER*8} map, for example),
+how to convert between them,
+and so on.
+Over time, versions of @code{g77} rely less on this file
+and more on run-time configuration based on GBE info
+in @file{com.c}.
+
+@item com.c
+@itemx com.h
+These are the primary interface to the GBE.
+
+@item ste.c
+@itemx ste.h
+This contains code for implementing recognized executable statements
+in the GBE.
+
+@item src.c
+@itemx src.h
+These contain information on the format(s) of source files
+(such as whether they are never to be processed as case-insensitive
+with regard to Fortran keywords).
+@end table
+
+If you want to debug the @file{f771} executable,
+for example if it crashes,
+note that the global variables @code{lineno} and @code{input_filename}
+are usually set to reflect the current line being read by the lexer
+during the first-pass analysis of a program unit and to reflect
+the current line being processed during the second-pass compilation
+of a program unit.
+
+If an invocation of the function @code{ffestd_exec_end} is on the stack,
+the compiler is in the second pass, otherwise it is in the first.
+
+(This information might help you reduce a test case and/or work around
+a bug in @code{g77} until a fix is available.)
+
+@node Overview of Translation Process
+@section Overview of Translation Process
+
+The order of phases translating source code to the form accepted
+by the GBE is:
+
+@enumerate
+@item
+Stripping punched-card sources (@file{g77stripcard.c})
+
+@item
+Lexing (@file{lex.c})
+
+@item
+Stand-alone statement identification (@file{sta.c})
+
+@item
+Parsing (@file{stb.c} and @file{expr.c})
+
+@item
+Constructing (@file{stc.c})
+
+@item
+Collecting (@file{std.c})
+
+@item
+Expanding (@file{ste.c})
+@end enumerate
+
+To get a rough idea of how a particularly twisted Fortran statement
+gets treated by the passes, consider:
+
+@smallexample
+ FORMAT(I2 4H)=(J/
+ & I3)
+@end smallexample
+
+The job of @file{lex.c} is to know enough about Fortran syntax rules
+to break the statement up into distinct lexemes without requiring
+any feedback from subsequent phases:
+
+@smallexample
+`FORMAT'
+`('
+`I24H'
+`)'
+`='
+`('
+`J'
+`/'
+`I3'
+`)'
+@end smallexample
+
+The job of @file{sta.c} is to figure out the kind of statement,
+or, at least, statement form, that sequence of lexemes represent.
+
+The sooner it can do this (in terms of using the smallest number of
+lexemes, starting with the first for each statement), the better,
+because that leaves diagnostics for problems beyond the recognition
+of the statement form to subsequent phases,
+which can usually better describe the nature of the problem.
+
+In this case, the @samp{=} at ``level zero''
+(not nested within parentheses)
+tells @file{sta.c} that this is an @emph{assignment-form},
+not @code{FORMAT}, statement.
+
+An assignment-form statement might be a statement-function
+definition or an executable assignment statement.
+
+To make that determination,
+@file{sta.c} looks at the first two lexemes.
+
+Since the second lexeme is @samp{(},
+the first must represent an array for this to be an assignment statement,
+else it's a statement function.
+
+Either way, @file{sta.c} hands off the statement to @file{stb.c}
+(either its statement-function parser or its assignment-statement parser).
+
+@file{stb.c} forms a
+statement-specific record containing the pertinent information.
+That information includes a source expression and,
+for an assignment statement, a destination expression.
+Expressions are parsed by @file{expr.c}.
+
+This record is passed to @file{stc.c},
+which copes with the implications of the statement
+within the context established by previous statements.
+
+For example, if it's the first statement in the file
+or after an @code{END} statement,
+@file{stc.c} recognizes that, first of all,
+a main program unit is now being lexed
+(and tells that to @file{std.c}
+before telling it about the current statement).
+
+@file{stc.c} attaches whatever information it can,
+usually derived from the context established by the preceding statements,
+and passes the information to @file{std.c}.
+
+@file{std.c} saves this information away,
+since the GBE cannot cope with information
+that might be incomplete at this stage.
+
+For example, @samp{I3} might later be determined
+to be an argument to an alternate @code{ENTRY} point.
+
+When @file{std.c} is told about the end of an external (top-level)
+program unit,
+it passes all the information it has saved away
+on statements in that program unit
+to @file{ste.c}.
+
+@file{ste.c} ``expands'' each statement, in sequence, by
+constructing the appropriate GBE information and calling
+the appropriate GBE routines.
+
+Details on the transformational phases follow.
+Keep in mind that Fortran numbering is used,
+so the first character on a line is column 1,
+decimal numbering is used, and so on.
+
+@menu
+* g77stripcard::
+* lex.c::
+* sta.c::
+* stb.c::
+* expr.c::
+* stc.c::
+* std.c::
+* ste.c::
+
+* Gotchas (Transforming)::
+* TBD (Transforming)::
+@end menu
+
+@node g77stripcard
+@subsection g77stripcard
+
+The @code{g77stripcard} program handles removing content beyond
+column 72 (adjustable via a command-line option),
+optionally warning about that content being something other
+than trailing whitespace or Fortran commentary.
+
+This program is needed because @code{lex.c} doesn't pay attention
+to maximum line lengths at all, to make it easier to maintain,
+as well as faster (for sources that don't depend on the maximum
+column length vis-a-vis trailing non-blank non-commentary content).
+
+Just how this program will be run---whether automatically for
+old source (perhaps as the default for @file{.f} files?)---is not
+yet determined.
+
+In the meantime, it might as well be implemented as a typical UNIX pipe.
+
+It should accept a @samp{-fline-length-@var{n}} option,
+with the default line length set to 72.
+
+When the text it strips off the end of a line is not blank
+(not spaces and tabs),
+it should insert an additional comment line
+(beginning with @samp{!},
+so it works for both fixed-form and free-form files)
+containing the text,
+following the stripped line.
+The inserted comment should have a prefix of some kind,
+TBD, that distinguishes the comment as representing stripped text.
+Users could use that to @code{sed} out such lines, if they wished---it
+seems silly to provide a command-line option to delete information
+when it can be so easily filtered out by another program.
+
+(This inserted comment should be designed to ``fit in'' well
+with whatever the Fortran community is using these days for
+preprocessor, translator, and other such products, like OpenMP.
+What that's all about, and how @code{g77} can elegantly fit its
+special comment conventions into it all, is TBD as well.
+We don't want to reinvent the wheel here, but if there turn out
+to be too many conflicting conventions, we might have to invent
+one that looks nothing like the others, but which offers their
+host products a better infrastructure in which to fit and coexist
+peacefully.)
+
+@code{g77stripcard} probably shouldn't do any tab expansion or other
+fancy stuff.
+People can use @code{expand} or other pre-filtering if they like.
+The idea here is to keep each stage quite simple, while providing
+excellent performance for ``normal'' code.
+
+(Code with junk beyond column 73 is not really ``normal'',
+as it comes from a card-punch heritage,
+and will be increasingly hard for tomorrow's Fortran programmers to read.)
+
+@node lex.c
+@subsection lex.c
+
+To help make the lexer simple, fast, and easy to maintain,
+while also having @code{g77} generally encourage Fortran programmers
+to write simple, maintainable, portable code by maximizing the
+performance of compiling that kind of code:
+
+@itemize @bullet
+@item
+There'll be just one lexer, for both fixed-form and free-form source.
+
+@item
+It'll care about the form only when handling the first 7 columns of
+text, stuff like spaces between strings of alphanumerics, and
+how lines are continued.
+
+Some other distinctions will be handled by subsequent phases,
+so at least one of them will have to know which form is involved.
+
+For example, @samp{I = 2 . 4} is acceptable in fixed form,
+and works in free form as well given the implementation @code{g77}
+presently uses.
+But the standard requires a diagnostic for it in free form,
+so the parser has to be able to recognize that
+the lexemes aren't contiguous
+(information the lexer @emph{does} have to provide)
+and that free-form source is being parsed,
+so it can provide the diagnostic.
+
+The @code{g77} lexer doesn't try to gather @samp{2 . 4} into a single lexeme.
+Otherwise, it'd have to know a whole lot more about how to parse Fortran,
+or subsequent phases (mainly parsing) would have two paths through
+lots of critical code---one to handle the lexeme @samp{2}, @samp{.},
+and @samp{4} in sequence, another to handle the lexeme @samp{2.4}.
+
+@item
+It won't worry about line lengths
+(beyond the first 7 columns for fixed-form source).
+
+That is, once it starts parsing the ``statement'' part of a line
+(column 7 for fixed-form, column 1 for free-form),
+it'll keep going until it finds a newline,
+rather than ignoring everything past a particular column
+(72 or 132).
+
+The implication here is that there shouldn't @emph{be}
+anything past that last column, other than whitespace or
+commentary, because users using typical editors
+(or viewing output as typically printed)
+won't necessarily know just where the last column is.
+
+Code that has ``garbage'' beyond the last column
+(almost certainly only fixed-form code with a punched-card legacy,
+such as code using columns 73-80 for ``sequence numbers'')
+will have to be run through @code{g77stripcard} first.
+
+Also, keeping track of the maximum column position while also watching out
+for the end of a line @emph{and} while reading from a file
+just makes things slower.
+Since a file must be read, and watching for the end of the line
+is necessary (unless the typical input file was preprocessed to
+include the necessary number of trailing spaces),
+dropping the tracking of the maximum column position
+is the only way to reduce the complexity of the pertinent code
+while maintaining high performance.
+
+@item
+ASCII encoding is assumed for the input file.
+
+Code written in other character sets will have to be converted first.
+
+@item
+Tabs (ASCII code 9)
+will be converted to spaces via the straightforward
+approach.
+
+Specifically, a tab is converted to between one and eight spaces
+as necessary to reach column @var{n},
+where dividing @samp{(@var{n} - 1)} by eight
+results in a remainder of zero.
+
+@item
+Linefeeds (ASCII code 10)
+mark the ends of lines.
+
+@item
+A carriage return (ASCII code 13)
+is accept if it immediately precedes a linefeed,
+in which case it is ignored.
+
+Otherwise, it is rejected (with a diagnostic).
+
+@item
+Any other characters other than the above
+that are not part of the GNU Fortran Character Set
+(@pxref{Character Set})
+are rejected with a diagnostic.
+
+This includes backspaces, form feeds, and the like.
+
+(It might make sense to allow a form feed in column 1
+as long as that's the only character on a line.
+It certainly wouldn't seem to cost much in terms of performance.)
+
+@item
+The end of the input stream (EOF)
+ends the current line.
+
+@item
+The distinction between uppercase and lowercase letters
+will be preserved.
+
+It will be up to subsequent phases to decide to fold case.
+
+Current plans are to permit any casing for Fortran (reserved) keywords
+while preserving casing for user-defined names.
+(This might not be made the default for @file{.f} files, though.)
+
+Preserving case seems necessary to provide more direct access
+to facilities outside of @code{g77}, such as to C or Pascal code.
+
+Names of intrinsics will probably be matchable in any case,
+However, there probably won't be any option to require
+a particular mixed-case appearance of intrinsics
+(as there was for @code{g77} prior to version 0.6),
+because that's painful to maintain,
+and probably nobody uses it.
+
+(How @samp{external SiN; r = sin(x)} would be handled is TBD.
+I think old @code{g77} might already handle that pretty elegantly,
+but whether we can cope with allowing the same fragment to reference
+a @emph{different} procedure, even with the same interface,
+via @samp{s = SiN(r)}, needs to be determined.
+If it can't, we need to make sure that when code introduces
+a user-defined name, any intrinsic matching that name
+using a case-insensitive comparison
+is ``turned off''.)
+
+@item
+Backslashes in @code{CHARACTER} and Hollerith constants
+are not allowed.
+
+This avoids the confusion introduced by some Fortran compiler vendors
+providing C-like interpretation of backslashes,
+while others provide straight-through interpretation.
+
+Some kind of lexical construct (TBD) will be provided to allow
+flagging of a @code{CHARACTER}
+(but probably not a Hollerith)
+constant that permits backslashes.
+It'll necessarily be a prefix, such as:
+
+@smallexample
+PRINT *, C'This line has a backspace \b here.'
+PRINT *, F'This line has a straight backslash \ here.'
+@end smallexample
+
+Further, command-line options might be provided to specify that
+one prefix or the other is to be assumed as the default
+for @code{CHARACTER} constants.
+
+However, it seems more helpful for @code{g77} to provide a program
+that converts prefix all constants
+(or just those containing backslashes)
+with the desired designation,
+so printouts of code can be read
+without knowing the compile-time options used when compiling it.
+
+If such a program is provided
+(let's name it @code{g77slash} for now),
+then a command-line option to @code{g77} should not be provided.
+(Though, given that it'll be easy to implement, it might be hard
+to resist user requests for it ``to compile faster than if we
+have to invoke another filter''.)
+
+This program would take a command-line option to specify the
+default interpretation of slashes,
+affecting which prefix it uses for constants.
+
+@code{g77slash} probably should automatically convert Hollerith
+constants that contain slashes
+to the appropriate @code{CHARACTER} constants.
+Then @code{g77} wouldn't have to define a prefix syntax for Hollerith
+constants specifying whether they want C-style or straight-through
+backslashes.
+@end itemize
+
+The above implements nearly exactly what is specified by
+@ref{Character Set},
+and
+@ref{Lines},
+except it also provides automatic conversion of tabs
+and ignoring of newline-related carriage returns.
+
+It also effects the ``pure visual'' model,
+by which is meant that a user viewing his code
+in a typical text editor
+(assuming it's not preprocessed via @code{g77stripcard} or similar)
+doesn't need any special knowledge
+of whether spaces on the screen are really tabs,
+whether lines end immediately after the last visible non-space character
+or after a number of spaces and tabs that follow it,
+or whether the last line in the file is ended by a newline.
+
+Most editors don't make these distinctions,
+the ANSI FORTRAN 77 standard doesn't require them to,
+and it permits a standard-conforming compiler
+to define a method for transforming source code to
+``standard form'' however it wants.
+
+So, GNU Fortran defines it such that users have the best chance
+of having the code be interpreted the way it looks on the screen
+of the typical editor.
+
+(Fancy editors should @emph{never} be required to correctly read code
+written in classic two-dimensional-plaintext form.
+By correct reading I mean ability to read it, book-like, without
+mistaking text ignored by the compiler for program code and vice versa,
+and without having to count beyond the first several columns.
+The vague meaning of ASCII TAB, among other things, complicates
+this somewhat, but as long as ``everyone'', including the editor,
+other tools, and printer, agrees about the every-eighth-column convention,
+the GNU Fortran ``pure visual'' model meets these requirements.
+Any language or user-visible source form
+requiring special tagging of tabs,
+the ends of lines after spaces/tabs,
+and so on, is broken by this definition.
+Fortunately, Fortran @emph{itself} is not broken,
+even if most vendor-supplied defaults for their Fortran compilers @emph{are}
+in this regard.)
+
+Further, this model provides a clean interface
+to whatever preprocessors or code-generators are used
+to produce input to this phase of @code{g77}.
+Mainly, they need not worry about long lines.
+
+@node sta.c
+@subsection sta.c
+
+@node stb.c
+@subsection stb.c
+
+@node expr.c
+@subsection expr.c
+
+@node stc.c
+@subsection stc.c
+
+@node std.c
+@subsection std.c
+
+@node ste.c
+@subsection ste.c
+
+@node Gotchas (Transforming)
+@subsection Gotchas (Transforming)
+
+This section is not about transforming ``gotchas'' into something else.
+It is about the weirder aspects of transforming Fortran,
+however that's defined,
+into a more modern, canonical form.
+
+@subsubsection Multi-character Lexemes
+
+Each lexeme carries with it a pointer to where it appears in the source.
+
+To provide the ability for diagnostics to point to column numbers,
+in addition to line numbers and names,
+lexemes that represent more than one (significant) character
+in the source code need, generally,
+to provide pointers to where each @emph{character} appears in the source.
+
+This provides the ability to properly identify the precise location
+of the problem in code like
+
+@smallexample
+SUBROUTINE X
+END
+BLOCK DATA X
+END
+@end smallexample
+
+which, in fixed-form source, would result in single lexemes
+consisting of the strings @samp{SUBROUTINEX} and @samp{BLOCKDATAX}.
+(The problem is that @samp{X} is defined twice,
+so a pointer to the @samp{X} in the second definition,
+as well as a follow-up pointer to the corresponding pointer in the first,
+would be preferable to pointing to the beginnings of the statements.)
+
+This need also arises when parsing (and diagnosing) @code{FORMAT}
+statements.
+
+Further, it arises when diagnosing
+@code{FMT=} specifiers that contain constants
+(or partial constants, or even propagated constants!)
+in I/O statements, as in:
+
+@smallexample
+PRINT '(I2, 3HAB)', J
+@end smallexample
+
+(A pointer to the beginning of the prematurely-terminated Hollerith
+constant, and/or to the close parenthese, is preferable to a pointer
+to the open-parenthese or the apostrophe that precedes it.)
+
+Multi-character lexemes, which would seem to naturally include
+at least digit strings, alphanumeric strings, @code{CHARACTER}
+constants, and Hollerith constants, therefore need to provide
+location information on each character.
+(Maybe Hollerith constants don't, but it's unnecessary to except them.)
+
+The question then arises, what about @emph{other} multi-character lexemes,
+such as @samp{**} and @samp{//},
+and Fortran 90's @samp{(/}, @samp{/)}, @samp{::}, and so on?
+
+Turns out there's a need to identify the location of the second character
+of these two-character lexemes.
+For example, in @samp{I(/J) = K}, the slash needs to be diagnosed
+as the problem, not the open parenthese.
+Similarly, it is preferable to diagnose the second slash in
+@samp{I = J // K} rather than the first, given the implicit typing
+rules, which would result in the compiler disallowing the attempted
+concatenation of two integers.
+(Though, since that's more of a semantic issue,
+it's not @emph{that} much preferable.)
+
+Even sequences that could be parsed as digit strings could use location info,
+for example, to diagnose the @samp{9} in the octal constant @samp{O'129'}.
+(This probably will be parsed as a character string,
+to be consistent with the parsing of @samp{Z'129A'}.)
+
+To avoid the hassle of recording the location of the second character,
+while also preserving the general rule that each significant character
+is distinctly pointed to by the lexeme that contains it,
+it's best to simply not have any fixed-size lexemes
+larger than one character.
+
+This new design is expected to make checking for two
+@samp{*} lexemes in a row much easier than the old design,
+so this is not much of a sacrifice.
+It probably makes the lexer much easier to implement
+than it makes the parser harder.
+
+@subsubsection Space-padding Lexemes
+
+Certain lexemes need to be padded with virtual spaces when the
+end of the line (or file) is encountered.
+
+This is necessary in fixed form, to handle lines that don't
+extend to column 72, assuming that's the line length in effect.
+
+@subsubsection Bizarre Free-form Hollerith Constants
+
+Last I checked, the Fortran 90 standard actually required the compiler
+to silently accept something like
+
+@smallexample
+FORMAT ( 1 2 Htwelve chars )
+@end smallexample
+
+as a valid @code{FORMAT} statement specifying a twelve-character
+Hollerith constant.
+
+The implication here is that, since the new lexer is a zero-feedback one,
+it won't know that the special case of a @code{FORMAT} statement being parsed
+requires apparently distinct lexemes @samp{1} and @samp{2} to be treated as
+a single lexeme.
+
+(This is a horrible misfeature of the Fortran 90 language.
+It's one of many such misfeatures that almost make me want
+to not support them, and forge ahead with designing a new
+``GNU Fortran'' language that has the features,
+but not the misfeatures, of Fortran 90,
+and provide utility programs to do the conversion automatically.)
+
+So, the lexer must gather distinct chunks of decimal strings into
+a single lexeme in contexts where a single decimal lexeme might
+start a Hollerith constant.
+
+(Which probably means it might as well do that all the time
+for all multi-character lexemes, even in free-form mode,
+leaving it to subsequent phases to pull them apart as they see fit.)
+
+Compare the treatment of this to how
+
+@smallexample
+CHARACTER * 4 5 HEY
+@end smallexample
+
+and
+
+@smallexample
+CHARACTER * 12 HEY
+@end smallexample
+
+must be treated---the former must be diagnosed, due to the separation
+between lexemes, the latter must be accepted as a proper declaration.
+
+@subsubsection Hollerith Constants
+
+Recognizing a Hollerith constant---specifically,
+that an @samp{H} or @samp{h} after a digit string begins
+such a constant---requires some knowledge of context.
+
+Hollerith constants (such as @samp{2HAB}) can appear after:
+
+@itemize @bullet
+@item
+@samp{(}
+
+@item
+@samp{,}
+
+@item
+@samp{=}
+
+@item
+@samp{+}, @samp{-}, @samp{/}
+
+@item
+@samp{*}, except as noted below
+@end itemize
+
+Hollerith constants don't appear after:
+
+@itemize @bullet
+@item
+@samp{CHARACTER*},
+which can be treated generally as
+any @samp{*} that is the second lexeme of a statement
+@end itemize
+
+@subsubsection Confusing Function Keyword
+
+While
+
+@smallexample
+REAL FUNCTION FOO ()
+@end smallexample
+
+must be a @code{FUNCTION} statement and
+
+@smallexample
+REAL FUNCTION FOO (5)
+@end smallexample
+
+must be a type-definition statement,
+
+@smallexample
+REAL FUNCTION FOO (@var{names})
+@end smallexample
+
+where @var{names} is a comma-separated list of names,
+can be one or the other.
+
+The only way to disambiguate that statement
+(short of mandating free-form source or a short maximum
+length for name for external procedures)
+is based on the context of the statement.
+
+In particular, the statement is known to be within an
+already-started program unit
+(but not at the outer level of the @code{CONTAINS} block),
+it is a type-declaration statement.
+
+Otherwise, the statement is a @code{FUNCTION} statement,
+in that it begins a function program unit
+(external, or, within @code{CONTAINS}, nested).
+
+@subsubsection Weird READ
+
+The statement
+
+@smallexample
+READ (N)
+@end smallexample
+
+is equivalent to either
+
+@smallexample
+READ (UNIT=(N))
+@end smallexample
+
+or
+
+@smallexample
+READ (FMT=(N))
+@end smallexample
+
+depending on which would be valid in context.
+
+Specifically, if @samp{N} is type @code{INTEGER},
+@samp{READ (FMT=(N))} would not be valid,
+because parentheses may not be used around @samp{N},
+whereas they may around it in @samp{READ (UNIT=(N))}.
+
+Further, if @samp{N} is type @code{CHARACTER},
+the opposite is true---@samp{READ (UNIT=(N))} is not valid,
+but @samp{READ (FMT=(N))} is.
+
+Strictly speaking, if anything follows
+
+@smallexample
+READ (N)
+@end smallexample
+
+in the statement, whether the first lexeme after the close
+parenthese is a comma could be used to disambiguate the two cases,
+without looking at the type of @samp{N},
+because the comma is required for the @samp{READ (FMT=(N))}
+interpretation and disallowed for the @samp{READ (UNIT=(N))}
+interpretation.
+
+However, in practice, many Fortran compilers allow
+the comma for the @samp{READ (UNIT=(N))}
+interpretation anyway
+(in that they generally allow a leading comma before
+an I/O list in an I/O statement),
+and much code takes advantage of this allowance.
+
+(This is quite a reasonable allowance, since the
+juxtaposition of a comma-separated list immediately
+after an I/O control-specification list, which is also comma-separated,
+without an intervening comma,
+looks sufficiently ``wrong'' to programmers
+that they can't resist the itch to insert the comma.
+@samp{READ (I, J), K, L} simply looks cleaner than
+@samp{READ (I, J) K, L}.)
+
+So, type-based disambiguation is needed unless strict adherence
+to the standard is always assumed, and we're not going to assume that.
+
+@node TBD (Transforming)
+@subsection TBD (Transforming)
+
+Continue researching gotchas, designing the transformational process,
+and implementing it.
+
+Specific issues to resolve:
+
+@itemize @bullet
+@item
+Just where should @code{INCLUDE} processing take place?
+
+Clearly before (or part of) statement identification (@file{sta.c}),
+since determining whether @samp{I(J)=K} is a statement-function
+definition or an assignment statement requires knowing the context,
+which in turn requires having processed @code{INCLUDE} files.
+
+@item
+Just where should (if it was implemented) @code{USE} processing take place?
+
+This gets into the whole issue of how @code{g77} should handle the concept
+of modules.
+I think GNAT already takes on this issue, but don't know more than that.
+Jim Giles has written extensively on @code{comp.lang.fortran}
+about his opinions on module handling, as have others.
+Jim's views should be taken into account.
+
+Actually, Richard M. Stallman (RMS) also has written up
+some guidelines for implementing such things,
+but I'm not sure where I read them.
+Perhaps the old @email{gcc2@@cygnus.com} list.
+
+If someone could dig references to these up and get them to me,
+that would be much appreciated!
+Even though modules are not on the short-term list for implementation,
+it'd be helpful to know @emph{now} how to avoid making them harder to
+implement them @emph{later}.
+
+@item
+Should the @code{g77} command become just a script that invokes
+all the various preprocessing that might be needed,
+thus making it seem slower than necessary for legacy code
+that people are unwilling to convert,
+or should we provide a separate script for that,
+thus encouraging people to convert their code once and for all?
+
+At least, a separate script to behave as old @code{g77} did,
+perhaps named @code{g77old}, might ease the transition,
+as might a corresponding one that converts source codes
+named @code{g77oldnew}.
+
+These scripts would take all the pertinent options @code{g77} used
+to take and run the appropriate filters,
+passing the results to @code{g77} or just making new sources out of them
+(in a subdirectory, leaving the user to do the dirty deed of
+moving or copying them over the old sources).
+
+@item
+Do other Fortran compilers provide a prefix syntax
+to govern the treatment of backslashes in @code{CHARACTER}
+(or Hollerith) constants?
+
+Knowing what other compilers provide would help.
+
+@item
+Is it okay to drop support for the @samp{-fintrin-case-initcap},
+@samp{-fmatch-case-initcap}, @samp{-fsymbol-case-initcap},
+and @samp{-fcase-initcap} options?
+
+I've asked @email{info-gnu-fortran@@gnu.org} for input on this.
+Not having to support these makes it easier to write the new front end,
+and might also avoid complicated its design.
+@end itemize
+
@node Philosophy of Code Generation
@section Philosophy of Code Generation
@@ -476,7 +1508,7 @@ Further, after the @code{SYSTEM_CLOCK} library routine returns,
the compiler must ensure that the temporary variable it wrote
is copied into the appropriate element of the @samp{CLOCKS} array.
(This assumes the compiler doesn't just reject the code,
-which it should if it is compiling under some kind of a "strict" option.)
+which it should if it is compiling under some kind of a ``strict'' option.)
@item
To determine the correct index into the @samp{CLOCKS} array,
@@ -882,6 +1914,111 @@ to hold the value of the expression.
@item
Other stuff???
+@end itemize
+@node Internal Naming Conventions
+@section Internal Naming Conventions
-@end itemize
+Names exported by FFE modules have the following (regular-expression) forms.
+Note that all names beginning @code{ffe@var{mod}} or @code{FFE@var{mod}},
+where @var{mod} is lowercase or uppercase alphanumerics, respectively,
+are exported by the module @code{ffe@var{mod}},
+with the source code doing the exporting in @file{@var{mod}.h}.
+(Usually, the source code for the implementation is in @file{@var{mod}.c}.)
+
+Identifiers that don't fit the following forms
+are not considered exported,
+even if they are according to the C language.
+(For example, they might be made available to other modules
+solely for use within expansions of exported macros,
+not for use within any source code in those other modules.)
+
+@table @code
+@item ffe@var{mod}
+The single typedef exported by the module.
+
+@item FFE@var{umod}_[A-Z][A-Z0-9_]*
+(Where @var{umod} is the uppercase for of @var{mod}.)
+
+A @code{#define} or @code{enum} constant of the type @code{ffe@var{mod}}.
+
+@item ffe@var{mod}[A-Z][A-Z][a-z0-9]*
+A typedef exported by the module.
+
+The portion of the identifier after @code{ffe@var{mod}} is
+referred to as @code{ctype}, a capitalized (mixed-case) form
+of @code{type}.
+
+@item FFE@var{umod}_@var{type}[A-Z][A-Z0-9_]*[A-Z0-9]?
+(Where @var{umod} is the uppercase for of @var{mod}.)
+
+A @code{#define} or @code{enum} constant of the type
+@code{ffe@var{mod}@var{type}},
+where @var{type} is the lowercase form of @var{ctype}
+in an exported typedef.
+
+@item ffe@var{mod}_@var{value}
+A function that does or returns something,
+as described by @var{value} (see below).
+
+@item ffe@var{mod}_@var{value}_@var{input}
+A function that does or returns something based
+primarily on the thing described by @var{input} (see below).
+@end table
+
+Below are names used for @var{value} and @var{input},
+along with their definitions.
+
+@table @code
+@item col
+A column number within a line (first column is number 1).
+
+@item file
+An encapsulation of a file's name.
+
+@item find
+Looks up an instance of some type that matches specified criteria,
+and returns that, even if it has to create a new instance or
+crash trying to find it (as appropriate).
+
+@item initialize
+Initializes, usually a module. No type.
+
+@item int
+A generic integer of type @code{int}.
+
+@item is
+A generic integer that contains a true (non-zero) or false (zero) value.
+
+@item len
+A generic integer that contains the length of something.
+
+@item line
+A line number within a source file,
+or a global line number.
+
+@item lookup
+Looks up an instance of some type that matches specified criteria,
+and returns that, or returns nil.
+
+@item name
+A @code{text} that points to a name of something.
+
+@item new
+Makes a new instance of the indicated type.
+Might return an existing one if appropriate---if so,
+similar to @code{find} without crashing.
+
+@item pt
+Pointer to a particular character (line, column pairs)
+in the input file (source code being compiled).
+
+@item run
+Performs some herculean task. No type.
+
+@item terminate
+Terminates, usually a module. No type.
+
+@item text
+A @code{char *} that points to generic text.
+@end table
diff --git a/gcc/f/g77.texi b/gcc/f/g77.texi
index 25070dbd5f8..eaab2543e6b 100644
--- a/gcc/f/g77.texi
+++ b/gcc/f/g77.texi
@@ -2,7 +2,7 @@
@c %**start of header
@setfilename g77.info
-@set last-update 1999-05-13
+@set last-update 1999-06-06
@set copyrights-g77 1995-1999
@include root.texi
@@ -1471,7 +1471,7 @@ by type. Explanations are in the following sections.
-falias-check -fargument-alias
-fargument-noalias -fno-argument-noalias-global
-fno-globals -fflatten-arrays
--fsubscript-check -ff2c-subscript-check
+-fbounds-check -ffortran-bounds-check
@end smallexample
@end table
@@ -3386,10 +3386,10 @@ It is intended for use only by @code{g77} developers,
to evaluate code-generation issues.
It might be removed at any time.
-@cindex -fsubscript-check option
-@cindex -ff2c-subscript-check option
-@item -fsubscript-check
-@itemx -ff2c-subscript-check
+@cindex -fbounds-check option
+@cindex -ffortran-bounds-check option
+@item -fbounds-check
+@itemx -ffortran-bounds-check
@cindex bounds checking
@cindex range checking
@cindex array bounds checking
@@ -3414,12 +3414,12 @@ such as references to below the beginning of an assumed-size array.
@code{g77} also generates checks for @code{CHARACTER} substring references,
something @code{f2c} currently does not do.
-Since a future version of @code{g77} might use a different implementation,
-use the new @samp{-ff2c-subscript-check} option
-if your application requires use of @code{s_rnge} or a compile-time diagnostic.
+Use the new @samp{-ffortran-bounds-check} option
+to specify bounds-checking for only the Fortran code you are compiling,
+not necessarily for code written in other languages.
@emph{Note:} To provide more detailed information on the offending subscript,
-@code{g77} provides @code{s_rnge}
+@code{g77} provides the @code{libg2c} run-time library routine @code{s_rnge}
with somewhat differently-formatted information.
Here's a sample diagnostic:
@@ -4243,7 +4243,7 @@ stream-based text file is translated to GNU Fortran lines as follows:
A newline in the file is the character that represents the end of
a line of text to the underlying system.
For example, on ASCII-based systems, a newline is the @key{NL}
-character, which has ASCII value 12 (decimal).
+character, which has ASCII value 10 (decimal).
@item
Each newline in the file serves to end the line of text that precedes
@@ -10774,30 +10774,25 @@ compiler, typically @code{gcc}.)
@node Use Submodel Options
@subsection Use Submodel Options
-@cindex Pentium optimizations
-@cindex optimization, for Pentium
-@cindex 586/686 CPUs
@cindex submodels
Using an appropriate @samp{-m} option to generate specific code for your
CPU may be worthwhile, though it may mean the executable won't run on
other versions of the CPU that don't support the same instruction set.
@xref{Submodel Options,,Hardware Models and Configurations,gcc,Using and
-Porting GNU CC}.
+Porting GNU CC}. For instance on an x86 system the compiler might have
+been built---as shown by @samp{g77 -v}---for the target
+@samp{i386-pc-linux-gnu}, i.e.@: an @samp{i386} CPU@. In that case to
+generate code best optimized for a Pentium you could use the option
+@samp{-march=pentium}.
-For recent CPUs that don't have explicit support in
-the released version of @code{gcc}, it may still be possible to get
-improvements.
-For instance, the flags recommended for 586/686
-(Pentium(Pro)) chips for building the Linux kernel are:
+For recent CPUs that don't have explicit support in the released version
+of @code{gcc}, it @emph{might} still be possible to get improvements
+with certain @samp{-m} options.
-@smallexample
--m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2
--fomit-frame-pointer
-@end smallexample
-
-@noindent @samp{-fomit-frame-pointer} will, however, inhibit debugging
-on x86 systems.
+@samp{-fomit-frame-pointer} can help performance on x86 systems and
+others. It will, however, inhibit debugging on the systems on which it
+is not turned on anyway by @samp{-O}.
@node Trouble
@chapter Known Causes of Trouble with GNU Fortran
@@ -10926,7 +10921,7 @@ How to cope with such problems is well beyond the scope
of this manual.
However, users of Linux-based systems (such as GNU/Linux)
-should review @uref{http://www.bitwizard.nl/sig11}, a source
+should review @uref{http://www.bitwizard.nl/sig11/}, a source
of detailed information on diagnosing hardware problems,
by recognizing their common symptoms.
@@ -11178,7 +11173,7 @@ themselves as @emph{visible} problems some time later.
Overflowing the bounds of an array---usually by writing beyond
the end of it---is one of two kinds of bug that often occurs
in Fortran code.
-(Compile your code with the @samp{-fsubscript-check} option
+(Compile your code with the @samp{-fbounds-check} option
to catch many of these kinds of errors at program run time.)
The other kind of bug is a mismatch between the actual arguments
@@ -11340,13 +11335,13 @@ Goldberg, `What Every Computer Scientist Should Know About
Floating-Point Arithmetic', Computing Surveys, 23, March 1991, pp.@:
5-48.
An online version is available at
-@uref{http://docs.sun.com},
+@uref{http://docs.sun.com/},
and there is a supplemented version, in PostScript form, at
@uref{http://www.validgh.com/goldberg/paper.ps}.
Information related to the IEEE 754
floating-point standard by a leading light can be found at
-@uref{http://http.cs.berkeley.edu/%7Ewkahan/ieee754status};
+@uref{http://http.cs.berkeley.edu/%7Ewkahan/ieee754status/};
see also slides from the short course referenced from
@uref{http://http.cs.berkeley.edu/%7Efateman/}.
@uref{http://www.linuxsupportline.com/%7Ebillm/} has a brief
@@ -11418,6 +11413,7 @@ GNU Fortran dialects:
* Suppressing Space Padding::
* Fortran Preprocessor::
* Bit Operations on Floating-point Data::
+* Really Ugly Character Assignments::
New facilities:
* POSIX Standard::
@@ -11426,8 +11422,10 @@ New facilities:
* Large Automatic Arrays::
* Support for Threads::
* Increasing Precision/Range::
+* Enabling Debug Lines::
Better diagnostics:
+* Better Warnings::
* Gracefully Handle Sensible Bad Code::
* Non-standard Conversions::
* Non-standard Intrinsics::
@@ -11444,6 +11442,8 @@ Better diagnostics:
Run-time facilities:
* Uninitialized Variables at Run Time::
* Portable Unformatted Files::
+* Better List-directed I/O::
+* Default to Console I/O::
Debugging:
* Labels Visible to Debugger::
@@ -12094,6 +12094,24 @@ PRINT *, IAND(A, B)
END
@end smallexample
+@node Really Ugly Character Assignments
+@subsection Really Ugly Character Assignments
+
+An option such as @samp{-fugly-char} should be provided
+to allow
+
+@smallexample
+REAL*8 A1
+DATA A1 / '12345678' /
+@end smallexample
+
+and:
+
+@smallexample
+REAL*8 A1
+A1 = 'ABCDEFGH'
+@end smallexample
+
@node POSIX Standard
@subsection @code{POSIX} Standard
@@ -12174,6 +12192,73 @@ are thread-safe, nor does @code{g77} have support for parallel processing
processors).
A package such as PVM might help here.
+@node Enabling Debug Lines
+@subsection Enabling Debug Lines
+@cindex debug line
+@cindex comment line, debug
+
+An option such as @samp{-fdebug-lines} should be provided
+to turn fixed-form lines beginning with @samp{D}
+to be treated as if they began with a space,
+instead of as if they began with a @samp{C}
+(as comment lines).
+
+@node Better Warnings
+@subsection Better Warnings
+
+Because of how @code{g77} generates code via the back end,
+it doesn't always provide warnings the user wants.
+Consider:
+
+@smallexample
+PROGRAM X
+PRINT *, A
+END
+@end smallexample
+
+Currently, the above is not flagged as a case of
+using an uninitialized variable,
+because @code{g77} generates a run-time library call that looks,
+to the GBE, like it might actually @emph{modify} @samp{A} at run time.
+(And, in fact, depending on the previous run-time library call,
+it would!)
+
+Fixing this requires one of the following:
+
+@itemize @bullet
+@item
+Switch to new library, @code{libg77}, that provides
+a more ``clean'' interface,
+vis-a-vis input, output, and modified arguments,
+so the GBE can tell what's going on.
+
+This would provide a pretty big performance improvement,
+at least theoretically, and, ultimately, in practice,
+for some types of code.
+
+@item
+Have @code{g77} pass a pointer to a temporary
+containing a copy of @samp{A},
+instead of to @samp{A} itself.
+The GBE would then complain about the copy operation
+involving a potentially uninitialized variable.
+
+This might also provide a performance boost for some code,
+because @samp{A} might then end up living in a register,
+which could help with inner loops.
+
+@item
+Have @code{g77} use a GBE construct similar to @code{ADDR_EXPR}
+but with extra information on the fact that the
+item pointed to won't be modified
+(a la @code{const} in C).
+
+Probably the best solution for now, but not quite trivial
+to implement in the general case.
+Worth considering after @code{g77} 0.6 is considered
+pretty solid.
+@end itemize
+
@node Gracefully Handle Sensible Bad Code
@subsection Gracefully Handle Sensible Bad Code
@@ -12413,6 +12498,49 @@ only incur overhead when they are read on a system with a different
format.) A future @code{g77} runtime library should use such
techniques.
+@node Better List-directed I/O
+@subsection Better List-directed I/O
+
+Values output using list-directed I/O
+(@samp{PRINT *, R, D})
+should be written with a field width, precision, and so on
+appropriate for the type (precision) of each value.
+
+(Currently, no distinction is made between single-precision
+and double-precision values
+by @code{libf2c}.)
+
+It is likely this item will require the @code{libg77} project
+to be undertaken.
+
+In the meantime, use of formatted I/O is recommended.
+While it might be of little consolation,
+@code{g77} does support @samp{FORMAT(F<WIDTH>.4)}, for example,
+as long as @samp{WIDTH} is defined as a named constant
+(via @code{PARAMETER}).
+That at least allows some compile-time specification
+of the precision of a data type,
+perhaps controlled by preprocessing directives.
+
+@node Default to Console I/O
+@subsection Default to Console I/O
+
+The default I/O units,
+specified by @samp{READ @var{fmt}},
+@samp{READ (UNIT=*)},
+@samp{WRITE (UNIT=*)}, and
+@samp{PRINT @var{fmt}},
+should not be units 5 (input) and 6 (output),
+but, rather, unit numbers not normally available
+for use in statements such as @code{OPEN} and @code{CLOSE}.
+
+Changing this would allow a program to connect units 5 and 6
+to files via @code{OPEN},
+but still use @samp{READ (UNIT=*)} and @samp{PRINT}
+to do I/O to the ``console''.
+
+This change probably requires the @code{libg77} project.
+
@node Labels Visible to Debugger
@subsection Labels Visible to Debugger
@@ -13808,8 +13936,16 @@ the source code of @code{g77} and rebuilding.
How to do this depends on the version of @code{g77}:
@table @code
-@item EGCS-1.0
-@itemx FSF
+@item G77 0.5.24 (EGCS 1.1)
+@itemx G77 0.5.25 (EGCS 1.2)
+Change the @code{lang_init_options} routine in @file{egcs/gcc/f/com.c}.
+
+(Note that these versions of @code{g77}
+perform internal consistency checking automatically
+when the @samp{-fversion} option is specified.)
+
+@item G77 0.5.23
+@itemx G77 0.5.24 (EGCS 1.0)
Change the way @code{f771} handles the @samp{-fset-g77-defaults}
option, which is always provided as the first option when
called by @code{g77} or @code{gcc}.
@@ -13833,14 +13969,6 @@ It is in @file{@value{path-g77}/lang-specs.h} that @samp{-fset-g77-defaults},
even when the user has not explicitly specified them.
Other ``internal'' options such as @samp{-quiet} also
are passed via this mechanism.
-
-@item EGCS-1.1
-@itemx EGCS-1.2
-Change the @code{lang_init_options} routine in @file{egcs/gcc/f/com.c}.
-
-(Note that these versions of @code{g77}
-perform internal consistency checking automatically
-when the @samp{-fversion} option is specified.)
@end table
@node Projects
diff --git a/gcc/f/g77install.texi b/gcc/f/g77install.texi
index 440829736c8..abc63963554 100644
--- a/gcc/f/g77install.texi
+++ b/gcc/f/g77install.texi
@@ -9,7 +9,7 @@
@c in the standalone derivations of this file (e.g. INSTALL).
@set copyrights 1995-1999
-@set last-update-install 1999-05-10
+@set last-update-install 1999-07-17
@include root.texi
@@ -30,7 +30,6 @@ this copyright notice and permission notice.
@chapter Installing GNU Fortran
@end ifset
-@set version-gcc 2.8.1
@set version-autoconf 2.12
@set version-bison 1.25
@set version-gperf 2.5
@@ -50,21 +49,22 @@ this copyright notice and permission notice.
The following information describes how to install @code{g77}.
+@clear OMIT-FSF-G77
+
@ifset EGCS-G77
@set OMIT-FSF-G77
-Note that, for @code{egcs} users,
+@end ifset
+
+@ifset GCC-G77
+@set OMIT-FSF-G77
+@end ifset
+
+@ifset OMIT-FSF-G77
+Note that, for users of the @value{which-g77} version of @code{g77},
much of the information is obsolete,
and is superceded by the
-@code{egcs} installation procedures.
+@value{which-gcc} installation procedures.
Such information is accordingly omitted and flagged as such.
-@ifset DEVELOPMENT
-@ifclear DOC-INSTALL
-@clear OMIT-FSF-G77
-(It is not actually omitted from the development version of this documentation,
-so the @code{g77} developers can easily find all the documentation
-for all versions of @code{g77} in one place.)
-@end ifclear
-@end ifset
@end ifset
@ifclear OMIT-FSF-G77
@@ -112,9 +112,10 @@ The following information was last updated on @value{last-update-install}:
@section Prerequisites
@cindex prerequisites
-@ifset EGCS-G77
-For @code{egcs} users, this information is
-superceded by the @code{egcs} installation instructions.
+@ifset OMIT-FSF-G77
+For users of the @value{which-g77} version of @code{g77},
+this information is superceded by the
+@value{which-gcc} installation instructions.
@end ifset
@ifclear OMIT-FSF-G77
@@ -482,9 +483,9 @@ is not yet established.
@cindex @code{ld}, can't find _strtoul
@cindex SunOS4
-@ifset EGCS-G77
-This information does not apply to the
-@code{egcs} version of @code{g77}.
+@ifset OMIT-FSF-G77
+This information does not apply to
+the @value{which-g77} version of @code{g77},
@end ifset
@ifclear OMIT-FSF-G77
@@ -890,9 +891,10 @@ systems.
@section Quick Start
@cindex quick start
-@ifset EGCS-G77
-For @code{egcs} users, this information is
-superceded by the @code{egcs} installation instructions.
+@ifset OMIT-FSF-G77
+For users of the @value{which-g77} version of @code{g77},
+this information is superceded by the
+@value{which-gcc} installation instructions.
@end ifset
@ifclear OMIT-FSF-G77
@@ -1178,9 +1180,10 @@ Removing them can free up a lot of disk space.
@node Complete Installation
@section Complete Installation
-@ifset EGCS-G77
-For @code{egcs} users, this information is
-superceded by the @code{egcs} installation instructions.
+@ifset OMIT-FSF-G77
+For users of the @value{which-g77} version of @code{g77},
+this information is superceded by the
+@value{which-gcc} installation instructions.
@end ifset
@ifclear OMIT-FSF-G77
@@ -2048,9 +2051,10 @@ sh#
@cindex binaries, distributing
@cindex code, distributing
-@ifset EGCS-G77
-For @code{egcs} users, this information is
-superceded by the @code{egcs} installation instructions.
+@ifset OMIT-FSF-G77
+For users of the @value{which-g77} version of @code{g77},
+this information is superceded by the
+@value{which-gcc} installation instructions.
@end ifset
@ifclear OMIT-FSF-G77
diff --git a/gcc/f/g77spec.c b/gcc/f/g77spec.c
index 4bf318d4399..93a363cddb8 100644
--- a/gcc/f/g77spec.c
+++ b/gcc/f/g77spec.c
@@ -1,5 +1,5 @@
/* Specific flags and argument handling of the Fortran front-end.
- Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -427,8 +427,8 @@ code-generation methodology, and so on.\n\
For more information on g77 and gcc, type the commands `info -f g77'\n\
and `info -f gcc' to read the Info documentation.\n\
\n\
-Report bugs to <egcs-bugs@egcs.cygnus.com>.\n\
-See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.\n");
+For bug reporting instructions, please see:\n\
+%s.\n", GCCBUGURL);
exit (0);
break;
#endif
diff --git a/gcc/f/lang-options.h b/gcc/f/lang-options.h
index 417159cd4b4..f9bb90d3227 100644
--- a/gcc/f/lang-options.h
+++ b/gcc/f/lang-options.h
@@ -149,10 +149,10 @@ FTNOPT( "-fglobals", "" )
FTNOPT( "-fno-globals", "Disable fatal diagnostics about inter-procedural problems" )
FTNOPT( "-ftypeless-boz", "Make prefix-radix non-decimal constants be typeless" )
FTNOPT( "-fno-typeless-boz", "" )
-FTNOPT( "-fsubscript-check", "Generate code to check array-subscript ranges" )
-FTNOPT( "-fno-subscript-check", "" )
-FTNOPT( "-ff2c-subscript-check", "Generate f2c-like code to check array-subscript ranges")
-FTNOPT( "-fno-f2c-subscript-check", "" )
+FTNOPT( "-fbounds-check", "Generate code to check subscript and substring bounds" )
+FTNOPT( "-fno-bounds-check", "" )
+FTNOPT( "-ffortran-bounds-check", "Fortran-specific form of -fbounds-check")
+FTNOPT( "-fno-fortran-bounds-check", "" )
FTNOPT( "-Wglobals", "" )
FTNOPT( "-Wno-globals", "Disable warnings about inter-procedural problems" )
/*"-Wimplicit",*/
diff --git a/gcc/f/lang-specs.h b/gcc/f/lang-specs.h
index b4492a6327d..f37d14d648e 100644
--- a/gcc/f/lang-specs.h
+++ b/gcc/f/lang-specs.h
@@ -1,5 +1,5 @@
/* lang-specs.h file for Fortran
- Copyright (C) 1995-1997, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -35,7 +35,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
Sun f77, at least) so you test `__unix' rather than `unix'.
-D_LANGUAGE_FORTRAN is used by some compilers like SGI and
might as well be in there. */
- {"cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -85,7 +85,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"}},
{"@f77-version",
- {"cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I \
+ {"cpp0 -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I \
%{C:%{!E:%eGNU C does not support -C without using -E}} \
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG} \
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2} \
diff --git a/gcc/f/news.texi b/gcc/f/news.texi
index 0a4b8e4e137..a4b6d6837ad 100644
--- a/gcc/f/news.texi
+++ b/gcc/f/news.texi
@@ -9,7 +9,7 @@
@c in the standalone derivations of this file (e.g. NEWS).
@set copyrights-news 1995-1999
-@set last-update-news 1999-05-13
+@set last-update-news 1999-07-08
@include root.texi
@@ -146,12 +146,12 @@ An online, ``live'' version of this document
(derived directly from the mainline, development version
of @code{g77} within @code{egcs})
is available at
-@uref{http://egcs.cygnus.com/onlinedocs/g77_news.html}.
+@uref{http://www.gnu.org/software/gcc/onlinedocs/g77_news.html}.
@end ifclear
The following information was last updated on @value{last-update-news}:
-@heading In @code{egcs} 1.2 (versus 1.1.2):
+@heading In 0.5.25, @code{GCC} 2.95 (@code{EGCS} 1.2) versus @code{EGCS} 1.1.2:
@itemize @bullet
@ifclear USERVISONLY
@item
@@ -186,12 +186,36 @@ in cases where such partial overlap is deemed possible.
@ifclear USERVISONLY
@item
+@code{libg2c} (@code{libf2c}) no longer loses track
+of the file being worked on
+during a @code{BACKSPACE} operation.
+@end ifclear
+
+@ifclear USERVISONLY
+@item
+@code{libg2c} (@code{libf2c}) fixes a bug whereby
+input to a @code{NAMELIST} read involving a repeat count,
+such as @samp{K(5)=10*3},
+was not properly handled by @code{libf2c}.
+The first item was written to @samp{K(5)},
+but the remaining nine were written elsewhere (still within the array),
+not necessarily starting at @samp{K(6)}.
+@end ifclear
+
+@ifclear USERVISONLY
+@item
@c Tim Prince reported this, regarding the TEST_FPU benchmark.
Automatic arrays now seem to be working on HP-UX systems.
@end ifclear
@ifclear USERVISONLY
@item
+The @code{Date} intrinsic now returns the correct result
+on big-endian systems.
+@end ifclear
+
+@ifclear USERVISONLY
+@item
Fix @code{g77} so it no longer crashes when compiling
I/O statements using keywords that define @code{INTEGER} values,
such as @samp{IOSTAT=@var{j}},
@@ -217,15 +241,15 @@ The @samp{-ax} option is now obeyed when compiling Fortran programs.
@end ifclear
@item
-The new @samp{-fsubscript-check} option
+The new @samp{-fbounds-check} option
causes @code{g77} to compile run-time bounds checks
of array subscripts, as well as of substring start and end points.
-The current implementation uses the @code{libf2c}
-library routine @code{s_rnge} to print the diagnostic.
-Since a future version of @code{g77} might use a different implementation,
-use the new @samp{-ff2c-subscript-check} option
-if your application requires use of @code{s_rnge} or a compile-time diagnostic.
+@item
+@code{libg2c} now supports building as multilibbed library,
+which provides better support for systems
+that require options such as @samp{-mieee}
+to work properly.
@item
Source file names with the suffixes @samp{.FOR} and @samp{.FPP}
@@ -245,7 +269,7 @@ of @code{libU77} intrinsics.
@item
@code{g77} now warns about a reference to an intrinsic
that has an interface that is not Year 2000 (Y2K) compliant.
-Also, the @code{libg2c} has been changed to increase the likelihood
+Also, @code{libg2c} has been changed to increase the likelihood
of catching references to the implementations of these intrinsics
using the @code{EXTERNAL} mechanism
(which would avoid the new warnings).
@@ -282,6 +306,14 @@ that are not in @code{EQUIVALENCE} areas
and not @code{SAVE}'d.
@end ifclear
+@ifclear USERVISONLY
+@item
+@code{g77} now open-codes (``inlines'') division of @code{COMPLEX} operands
+instead of generating a run-time call to
+the @code{libf2c} routines @code{c_div} or @code{z_div},
+unless the @samp{-Os} option is specified.
+@end ifclear
+
@item
@code{g77} no longer generates code to maintain @code{errno},
a C-language concept,
@@ -323,7 +355,34 @@ Upgrade to @code{libf2c} as of 1999-05-10.
@end ifclear
@end itemize
-@heading In 0.5.24 and @code{egcs} 1.1.2 (versus 0.5.23 and 1.1.1):
+@heading In 0.5.24 versus 0.5.23:
+
+There is no @code{g77} version 0.5.24 at this time,
+or planned.
+0.5.24 is the version number designated for bug fixes and,
+perhaps, some new features added,
+to 0.5.23.
+Version 0.5.23 requires @code{gcc} 2.8.1,
+as 0.5.24 was planned to require.
+
+Due to @code{EGCS} becoming @code{GCC}
+(which is now an acronym for ``GNU Compiler Collection''),
+and @code{EGCS} 1.2 becoming officially designated @code{GCC} 2.95,
+there seems to be no need for an actual 0.5.24 release.
+
+To reduce the confusion already resulting from use of 0.5.24
+to designate @code{g77} versions within @code{EGCS} versions 1.0 and 1.1,
+as well as in versions of @code{g77} documentation and notices
+during that period,
+``mainline'' @code{g77} version numbering resumes
+at 0.5.25 with @code{GCC} 2.95 (@code{EGCS} 1.2),
+skipping over 0.5.24 as a placeholder version number.
+
+To repeat, there is no @code{g77} 0.5.24, but there is now a 0.5.25.
+Please remain calm and return to your keypunch units.
+
+@c 1999-03-15: EGCS 1.1.2 released.
+@heading In @code{EGCS} 1.1.2 versus @code{EGCS} 1.1.1:
@ifclear USERVISONLY
@itemize @bullet
@item
@@ -352,7 +411,8 @@ Improve documentation.
@end itemize
@end ifclear
-@heading In 0.5.24 and @code{egcs} 1.1.1 (versus 0.5.23 and 1.1):
+@c 1998-12-04: EGCS 1.1.1 released.
+@heading In @code{EGCS} 1.1.1 versus @code{EGCS} 1.1:
@ifclear USERVISONLY
@itemize @bullet
@item
@@ -383,54 +443,8 @@ for the completion code to be set properly).
@end itemize
@end ifclear
-@heading In @code{egcs} 1.1 (versus 0.5.24):
-@itemize @bullet
-@ifclear USERVISONLY
-@item
-Fix @code{g77} crash compiling code
-containing the construct @samp{CMPLX(0.)} or similar.
-@end ifclear
-
-@ifclear USERVISONLY
-@item
-Fix @code{g77} crash
-(or apparently infinite run-time)
-when compiling certain complicated expressions
-involving @code{COMPLEX} arithmetic
-(especially multiplication).
-@end ifclear
-
-@ifclear USERVISONLY
-@cindex DNRM2
-@cindex stack, 387 coprocessor
-@cindex Intel x86
-@cindex -O2
-@item
-Fix a code-generation bug that afflicted
-Intel x86 targets when @samp{-O2} was specified
-compiling, for example, an old version of
-the @code{DNRM2} routine.
-
-The x87 coprocessor stack was being
-mismanaged in cases involving assigned @code{GOTO}
-and @code{ASSIGN}.
-@end ifclear
-
-@cindex alignment
-@cindex double-precision performance
-@cindex -malign-double
-@item
-Align static double-precision variables and arrays
-on Intel x86 targets
-regardless of whether @samp{-malign-double} is specified.
-
-Generally, this affects only local variables and arrays
-having the @code{SAVE} attribute
-or given initial values via @code{DATA}.
-@end itemize
-
-@c 1998-09-01: egcs-1.1 released.
-@heading In @code{egcs} 1.1 (versus @code{egcs} 1.0.3):
+@c 1998-09-03: EGCS 1.1 released.
+@heading In @code{EGCS} 1.1 versus @code{EGCS} 1.0.3:
@itemize @bullet
@ifclear USERVISONLY
@item
@@ -608,9 +622,26 @@ as well.
@end ifclear
@end itemize
-@heading In 0.5.24 and @code{egcs} 1.1 (versus 0.5.23):
+@c 1998-09-03: EGCS 1.1 released.
+@heading In @code{EGCS} 1.1 versus @code{g77} 0.5.23:
@itemize @bullet
@ifclear USERVISONLY
+@cindex DNRM2
+@cindex stack, 387 coprocessor
+@cindex Intel x86
+@cindex -O2
+@item
+Fix a code-generation bug that afflicted
+Intel x86 targets when @samp{-O2} was specified
+compiling, for example, an old version of
+the @code{DNRM2} routine.
+
+The x87 coprocessor stack was being
+mismanaged in cases involving assigned @code{GOTO}
+and @code{ASSIGN}.
+@end ifclear
+
+@ifclear USERVISONLY
@item
@code{g77} no longer produces incorrect code
and initial values
@@ -621,6 +652,12 @@ vis-a-vis their types, require initial padding.
@ifclear USERVISONLY
@item
+Fix @code{g77} crash compiling code
+containing the construct @samp{CMPLX(0.)} or similar.
+@end ifclear
+
+@ifclear USERVISONLY
+@item
@code{g77} no longer crashes when compiling code
containing specification statements such as
@samp{INTEGER(KIND=7) PTR}.
@@ -645,6 +682,27 @@ Previously, @code{g77} treated these expressions
as denoting special ``pointer'' arguments
for the purposes of filewide analysis.
+@ifclear USERVISONLY
+@item
+Fix @code{g77} crash
+(or apparently infinite run-time)
+when compiling certain complicated expressions
+involving @code{COMPLEX} arithmetic
+(especially multiplication).
+@end ifclear
+
+@cindex alignment
+@cindex double-precision performance
+@cindex -malign-double
+@item
+Align static double-precision variables and arrays
+on Intel x86 targets
+regardless of whether @samp{-malign-double} is specified.
+
+Generally, this affects only local variables and arrays
+having the @code{SAVE} attribute
+or given initial values via @code{DATA}.
+
@item
The @code{g77} driver now ensures that @samp{-lg2c}
is specified in the link phase prior to any
@@ -702,7 +760,7 @@ for such information.
@ifclear DOC-NEWS
@c 1998-05-20: 0.5.23 released.
-@heading In 0.5.23 (versus 0.5.22):
+@heading In 0.5.23 versus 0.5.22:
@itemize @bullet
@item
This release contains several regressions against
@@ -906,7 +964,7 @@ as well.
@end itemize
@c 1998-03-16: 0.5.22 released.
-@heading In 0.5.22 (versus 0.5.21):
+@heading In 0.5.22 versus 0.5.21:
@itemize @bullet
@ifclear USERVISONLY
@item
@@ -1096,8 +1154,8 @@ This fixes a formatted-I/O bug that afflicted
@end ifclear
@end itemize
-@c 1998-03-15: egcs-1.0.2 released.
-@heading In @code{egcs} 1.0.2 (versus @code{egcs} 1.0.1):
+@c 1998-03-18: EGCS 1.0.2 released.
+@heading In @code{EGCS} 1.0.2 versus @code{EGCS} 1.0.1:
@itemize @bullet
@ifclear USERVISONLY
@item
@@ -1142,8 +1200,8 @@ Fix compiler so it accepts @samp{-fgnu-intrinsics-*} and
@samp{-fbadu77-intrinsics-*} options.
@end itemize
-@c 1998-01-02: egcs-1.0.1 released.
-@heading In @code{egcs} 1.0.1 (versus @code{egcs} 1.0):
+@c 1998-01-06: EGCS 1.0.1 released.
+@heading In @code{EGCS} 1.0.1 versus @code{EGCS} 1.0:
@ifclear USERVISONLY
@itemize @bullet
@item
@@ -1152,8 +1210,8 @@ machines such as Alphas.
@end itemize
@end ifclear
-@c 1997-12-03: egcs-1.0 released.
-@heading In @code{egcs} 1.0 (versus 0.5.21):
+@c 1997-12-03: EGCS 1.0 released.
+@heading In @code{EGCS} 1.0 versus @code{g77} 0.5.21:
@itemize @bullet
@item
Version 1.0 of @code{egcs}
diff --git a/gcc/f/root.texi b/gcc/f/root.texi
index fd21eb76381..dce97c07d43 100644
--- a/gcc/f/root.texi
+++ b/gcc/f/root.texi
@@ -2,32 +2,38 @@
@c as compared to a release version. When making a release
@c (e.g. a release branch in the CVS repository for egcs),
@c clear this and set the version information correctly.
-@set DEVELOPMENT
-@set version-g77 0.5.24
+@clear DEVELOPMENT
+@set version-g77 0.5.25
@set version-egcs 1.2
+@set version-gcc 2.95
-@c EGCS-G77 is set to indicate this is the EGCS version of g77.
-@set EGCS-G77
+@c GCC-G77 indicates this is the GCC (2.95 or later) version of g77.
+@set GCC-G77
-@ifclear EGCS-G77
-@c FSF-G77 is set to indicate this is the FSF version of g77.
-@set FSF-G77
-@end ifclear
+@c EGCS-G77 indicates this is the EGCS (1.0 or 1.1) version of g77.
+@clear EGCS-G77
-@ifset EGCS-G77
-@set email-general egcs@@egcs.cygnus.com
-@set email-bugs egcs-bugs@@egcs.cygnus.com
+@c FSF-G77 indicates this is the FSF (0.5.23 or earlier) version of g77.
+@clear FSF-G77
+
+@set email-general gcc@@gcc.gnu.org
+@set email-bugs gcc-bugs@@gcc.gnu.org or bug-gcc@@gnu.org
@set path-g77 egcs/gcc/f
@set path-libf2c egcs/libf2c
+
+@ifset GCC-G77
+@set which-g77 GCC-@value{version-gcc}
+@set which-gcc GCC
+@end ifset
+
+@ifset EGCS-G77
@set which-g77 EGCS-@value{version-egcs}
+@set which-gcc EGCS
@end ifset
@ifset FSF-G77
-@set email-general fortran@@gnu.org
-@set email-bugs fortran@@gnu.org
-@set path-g77 gcc/f
-@set path-libf2c gcc/f/runtime
@set which-g77 FSF-@value{version-g77}
+@set which-gcc GCC
@end ifset
@set email-burley craig@@jcb-sc.com
diff --git a/gcc/f/stw.h b/gcc/f/stw.h
index 58818a61bf2..554d047e611 100644
--- a/gcc/f/stw.h
+++ b/gcc/f/stw.h
@@ -70,7 +70,7 @@ struct _ffestw_
ffewhereLine line_; /* Where first token of statement triggering
state */
ffewhereColumn col_; /* was seen in source file. */
- char uses_; /* # uses (new+use-kill calls). */
+ int uses_; /* # uses (new+use-kill calls). */
ffestvState state_;
int substate_; /* Used on a per-block-state basis. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
diff --git a/gcc/f/top.c b/gcc/f/top.c
index 0d6fb35e214..07ddd83740c 100644
--- a/gcc/f/top.c
+++ b/gcc/f/top.c
@@ -323,13 +323,13 @@ ffe_decode_option (argc, argv)
ffe_set_is_globals (TRUE);
else if (strcmp (&opt[2], "no-globals") == 0)
ffe_set_is_globals (FALSE);
- else if (strcmp (&opt[2], "subscript-check") == 0)
+ else if (strcmp (&opt[2], "bounds-check") == 0)
ffe_set_is_subscript_check (TRUE);
- else if (strcmp (&opt[2], "no-subscript-check") == 0)
+ else if (strcmp (&opt[2], "no-bounds-check") == 0)
ffe_set_is_subscript_check (FALSE);
- else if (strcmp (&opt[2], "f2c-subscript-check") == 0)
+ else if (strcmp (&opt[2], "fortran-bounds-check") == 0)
ffe_set_is_subscript_check (TRUE);
- else if (strcmp (&opt[2], "no-f2c-subscript-check") == 0)
+ else if (strcmp (&opt[2], "no-fortran-bounds-check") == 0)
ffe_set_is_subscript_check (FALSE);
else if (strcmp (&opt[2], "typeless-boz") == 0)
ffe_set_is_typeless_boz (TRUE);
diff --git a/gcc/f/version.c b/gcc/f/version.c
index 3d7362ad843..1b1cfd2bf96 100644
--- a/gcc/f/version.c
+++ b/gcc/f/version.c
@@ -1 +1 @@
-const char *ffe_version_string = "0.5.24-19990515";
+const char *ffe_version_string = "0.5.25 19991030 (prerelease)";
diff --git a/gcc/final.c b/gcc/final.c
index 4695590dc5e..a9ae2804dbd 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -999,7 +999,9 @@ shorten_branches (first)
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
{
rtx old = insn;
- insn = try_split (PATTERN (old), old, 1);
+ /* Don't split the insn if it has been deleted. */
+ if (! INSN_DELETED_P (old))
+ insn = try_split (PATTERN (old), old, 1);
/* When not optimizing, the old insn will be still left around
with only the 'deleted' bit set. Transform it into a note
to avoid confusion of subsequent processing. */
diff --git a/gcc/fix-header.c b/gcc/fix-header.c
index dfde8e5c560..1e6c5c47b8a 100644
--- a/gcc/fix-header.c
+++ b/gcc/fix-header.c
@@ -1127,7 +1127,7 @@ main (argc, argv)
special_file_handling = stdio_h;
include_entry = std_include_table;
while (include_entry->name != NULL
- && (include_entry->name == CONTINUED
+ && ((strcmp (include_entry->name, CONTINUED) == 0)
|| strcmp (inc_filename, include_entry->name) != 0))
include_entry++;
@@ -1140,7 +1140,7 @@ main (argc, argv)
if (entry->flags)
add_symbols (entry->flags, entry->names);
entry++;
- if (entry->name != CONTINUED)
+ if (!entry->name || strcmp (entry->name, CONTINUED) != 0)
break;
}
}
diff --git a/gcc/fixinc/Makefile.in b/gcc/fixinc/Makefile.in
index 2ba932f8c6f..9182337c76a 100644
--- a/gcc/fixinc/Makefile.in
+++ b/gcc/fixinc/Makefile.in
@@ -81,7 +81,7 @@ fixincl: $(OBJ)
chmod 777 $@ ; fi
gnu-regex.o: gnu-regex.c
- -$(CC) $(CFLAGS) $(FIXINC_DEFS) -DREGEX_MALLOC -DSTDC_HEADERS=1 \
+ -$(CC) $(CFLAGS) $(FIXINC_DEFS) $(INCLUDES) -DREGEX_MALLOC \
-c $(srcdir)/gnu-regex.c
fixincl.o : fixincl.x fixincl.c
diff --git a/gcc/fixinc/README b/gcc/fixinc/README
index 5481fbfe106..bd5a8011f3f 100644
--- a/gcc/fixinc/README
+++ b/gcc/fixinc/README
@@ -56,4 +56,4 @@ please see "POSSIBLE PROBLEMS" above. Thank you.
Regards,
Bruce <fixincludes@autogen.freeservers.com>
Robert <RobertLipe@usa.net>
- Manfred <manfred@s-direktnet.de> \ No newline at end of file
+ Manfred <manfred@s-direktnet.de>
diff --git a/gcc/fixinc/fixinc.svr4 b/gcc/fixinc/fixinc.svr4
index dedf4eb7e44..fbec4bc4abb 100755
--- a/gcc/fixinc/fixinc.svr4
+++ b/gcc/fixinc/fixinc.svr4
@@ -1570,9 +1570,40 @@ if [ \! -z "$file_to_fix" ]; then
rm -f /tmp/$base
fi
+# If arpa/inet.h prototypes are incompatible with the ones we just
+# installed in <sys/byteorder.h>, just remove the protos.
+set -x
+file=arpa/inet.h
+base=`basename $file`
+if [ -r ${LIB}/$file ]; then
+ file_to_fix=${LIB}/$file
+else
+ if [ -r ${INPUT}/$file ]; then
+ file_to_fix=${INPUT}/$file
+ else
+ file_to_fix=""
+ fi
+fi
+if [ \! -z "$file_to_fix" ]; then
+ echo Checking $file_to_fix
+ sed -e '/^extern.*htons.*(in_port_t)/d' \
+ -e '/^extern.*ntohs.*(in_port_t)/d' \
+ $file_to_fix > /tmp/$base
+ if cmp $file_to_fix /tmp/$base >/dev/null 2>&1; then \
+ true
+ else
+ echo Fixed $file_to_fix
+ mkdir -p $LIB/`dirname $file`
+ rm -f ${LIB}/$file
+ cp /tmp/$base ${LIB}/$file
+ chmod a+r ${LIB}/$file
+ fi
+ rm -f /tmp/$base
+fi
+
echo 'Removing unneeded directories:'
cd $LIB
-files=`find . -type d -print | sort -r`
+files=`find . -type d \! -name '.' -print | sort -r`
for file in $files; do
rmdir $LIB/$file > /dev/null 2>&1
done
diff --git a/gcc/fixinc/fixinc.winnt b/gcc/fixinc/fixinc.winnt
index cb7e72f3bf5..2e5750c5138 100644
--- a/gcc/fixinc/fixinc.winnt
+++ b/gcc/fixinc/fixinc.winnt
@@ -224,7 +224,7 @@ fi
echo 'Removing unneeded directories:'
cd $LIB
-files=`find . -type d -print | sort -r`
+files=`find . -type d \! -name '.' -print | sort -r`
for file in $files; do
rmdir $LIB/$file > NUL 2>&1
done
diff --git a/gcc/fixinc/fixincl.c b/gcc/fixinc/fixincl.c
index c3da20f591c..c1dfcbc580f 100644
--- a/gcc/fixinc/fixincl.c
+++ b/gcc/fixinc/fixincl.c
@@ -23,25 +23,9 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "auto-host.h"
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
+#include "gansidecl.h"
+#include "system.h"
#include <signal.h>
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#include <ctype.h>
#include "gnu-regex.h"
#include "server.h"
@@ -58,6 +42,13 @@ static const char program_id[] = "fixincl version 1.0";
#endif
#define NAME_TABLE_SIZE (MINIMUM_MAXIMUM_LINES * MAXPATHLEN)
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+
char *file_name_buf;
#define tSCC static const char
@@ -112,6 +103,7 @@ typedef struct patch_desc tPatchDesc;
*/
#define FD_MACH_ONLY 0x0000
#define FD_MACH_IFNOT 0x0001
+#define FD_SHELL_SCRIPT 0x0002
#define FD_SKIP_TEST 0x8000
typedef struct fix_desc tFixDesc;
@@ -272,13 +264,6 @@ main (argc, argv)
/*#*/ error "NON-BOGUS LIMITS NOT SUPPORTED?!?!"
#endif
- /*
- Here we are the child of the grandparent process. The parent
- of all the little fixup processes. We ignore the deaths of
- our children. */
-
- signal (SIGCLD, SIG_IGN);
-
/* For every file specified in stdandard in
(except as throttled for bogus reasons)...
*/
@@ -382,7 +367,9 @@ initialize()
`waitpid(2)'. We also ensure that the children exit with success. */
void
-wait_for_pid( pid_t child, int file_name_ct )
+wait_for_pid(child, file_name_ct)
+ pid_t child;
+ int file_name_ct;
{
for (;;) {
int status;
@@ -923,6 +910,70 @@ extract_quoted_files (pz_data, pz_file_name, p_re_match)
}
+
+/* * * * * * * * * * * * *
+
+ This loop should only cycle for 1/2 of one loop.
+ "chain_open" starts a process that uses "read_fd" as
+ its stdin and returns the new fd this process will use
+ for stdout. */
+
+int
+start_fixer (read_fd, p_fixd, pz_file_name)
+ int read_fd;
+ tFixDesc* p_fixd;
+ char* pz_file_name;
+{
+ tSCC z_err[] = "Error %d (%s) starting filter process for %s\n";
+ tCC* pz_cmd_save;
+ char* pz_cmd;
+
+ if ((p_fixd->fd_flags & FD_SHELL_SCRIPT) == 0)
+ pz_cmd = (char*)NULL;
+ else
+ {
+ tSCC z_cmd_fmt[] = "file='%s'\n%s";
+ pz_cmd = (char*)xmalloc (strlen (p_fixd->patch_args[2])
+ + sizeof( z_cmd_fmt )
+ + strlen( pz_file_name ));
+ sprintf (pz_cmd, z_cmd_fmt, pz_file_name, p_fixd->patch_args[2]);
+ pz_cmd_save = p_fixd->patch_args[2];
+ p_fixd->patch_args[2] = pz_cmd;
+ }
+
+ for (;;)
+ {
+ static int failCt = 0;
+ int fd;
+
+ fd = chain_open (read_fd,
+ (t_pchar *) p_fixd->patch_args,
+ (process_chain_head == -1)
+ ? &process_chain_head : (pid_t *) NULL);
+
+ if (fd != -1)
+ {
+ read_fd = fd;
+ break;
+ }
+
+ fprintf (stderr, z_err, errno, strerror (errno),
+ p_fixd->fix_name);
+
+ if ((errno != EAGAIN) || (++failCt > 10))
+ exit (EXIT_FAILURE);
+ sleep (1);
+ }
+
+ if (pz_cmd != (char*)NULL)
+ {
+ free ((void*)pz_cmd);
+ p_fixd->patch_args[2] = pz_cmd_save;
+ }
+
+ return read_fd;
+}
+
/* * * * * * * * * * * * *
Process the potential fixes for a particular include file.
@@ -934,34 +985,12 @@ process (pz_data, pz_file_name)
char *pz_data;
const char *pz_file_name;
{
- static char env_current_file[1024] = { "file=" };
+ static char env_current_file[1024];
tFixDesc *p_fixd = fixDescList;
int todo_ct = FIX_COUNT;
- t_fd_pair fdp = { -1, -1 };
+ int read_fd = -1;
int num_children = 0;
- /* IF this is the first time through,
- THEN put the 'file' environment variable into the environment.
- This is used by some of the subject shell scripts and tests. */
-
- if (env_current_file[5] == NUL)
- putenv (env_current_file);
-
- /*
- Ghastly as it is, this actually updates the value of the variable:
-
- putenv(3C) C Library Functions putenv(3C)
-
- DESCRIPTION
- putenv() makes the value of the environment variable name
- equal to value by altering an existing variable or creating
- a new one. In either case, the string pointed to by string
- becomes part of the environment, so altering the string will
- change the environment. string points to a string of the
- form ``name=value.'' The space used by string is no longer
- used once a new string-defining name is passed to putenv().
- */
- strcpy (env_current_file + 5, pz_file_name);
process_chain_head = NOPROCESS;
fprintf (stderr, "%-50s \r", pz_file_name );
/* For every fix in our fix list, ... */
@@ -1059,10 +1088,10 @@ process (pz_data, pz_file_name)
the first fix. Any subsequent fixes will use the
stdout descriptor of the previous fix as its stdin. */
- if (fdp.read_fd == -1)
+ if (read_fd == -1)
{
- fdp.read_fd = open (pz_file_name, O_RDONLY);
- if (fdp.read_fd < 0)
+ read_fd = open (pz_file_name, O_RDONLY);
+ if (read_fd < 0)
{
fprintf (stderr, "Error %d (%s) opening %s\n", errno,
strerror (errno), pz_file_name);
@@ -1070,34 +1099,8 @@ process (pz_data, pz_file_name)
}
}
- /* This loop should only cycle for 1/2 of one loop.
- "chain_open" starts a process that uses "fdp.read_fd" as
- its stdin and returns the new fd this process will use
- for stdout. */
-
- for (;;)
- {
- tSCC z_err[] = "Error %d (%s) starting filter process for %s\n";
- static int failCt = 0;
- int fd = chain_open (fdp.read_fd,
- (t_pchar *) p_fixd->patch_args,
- (process_chain_head == -1)
- ? &process_chain_head : (pid_t *) NULL);
-
- if (fd != -1)
- {
- fdp.read_fd = fd;
- num_children++;
- break;
- }
-
- fprintf (stderr, z_err, errno, strerror (errno),
- p_fixd->fix_name);
-
- if ((errno != EAGAIN) || (++failCt > 10))
- exit (EXIT_FAILURE);
- sleep (1);
- }
+ read_fd = start_fixer (read_fd, p_fixd, pz_file_name);
+ num_children++;
next_fix:
;
@@ -1106,7 +1109,7 @@ process (pz_data, pz_file_name)
/* IF after all the tests we did not start any patch programs,
THEN quit now. */
- if (fdp.read_fd < 0)
+ if (read_fd < 0)
return;
/* OK. We have work to do. Read back in the output
@@ -1117,7 +1120,7 @@ process (pz_data, pz_file_name)
output of the filter chain.
*/
{
- FILE *in_fp = fdopen (fdp.read_fd, "r");
+ FILE *in_fp = fdopen (read_fd, "r");
FILE *out_fp = (FILE *) NULL;
char *pz_cmp = pz_data;
@@ -1173,7 +1176,7 @@ process (pz_data, pz_file_name)
}
fclose (in_fp);
}
- close (fdp.read_fd); /* probably redundant, but I'm paranoid */
+ close (read_fd); /* probably redundant, but I'm paranoid */
/* Wait for child processes created by chain_open()
to avoid creating zombies. */
diff --git a/gcc/fixinc/fixincl.sh b/gcc/fixinc/fixincl.sh
index f6517187ab5..05722bdff01 100755
--- a/gcc/fixinc/fixincl.sh
+++ b/gcc/fixinc/fixincl.sh
@@ -6,7 +6,7 @@
# files which are fixed to work correctly with ANSI C and placed in a
# directory that GNU C will search.
#
-# This script contains 104 fixup scripts.
+# This script contains 103 fixup scripts.
#
# See README-fixinc for more information.
#
@@ -125,7 +125,12 @@ for INPUT in ${INPUTLIST} ; do
cd ${ORIGDIR}
-cd ${INPUT} || continue
+# This originally used cd || continue, however, that does not work with the
+# Solaris2 /bin/sh.
+if [ ! -d ${INPUT} ]; then
+ continue
+fi
+cd ${INPUT}
INPUT=`${PWDCMD}`
#
@@ -393,7 +398,7 @@ find . -name DONE -exec rm -f '{}' ';'
echo 'Removing unneeded directories:'
cd $LIB
-all_dirs=`find . -type d -print | sort -r`
+all_dirs=`find . -type d \! -name '.' -print | sort -r`
for file in $all_dirs; do
rmdir $LIB/$file > /dev/null 2>&1
done
@@ -406,8 +411,10 @@ done
#
# # # # # # # # # # # # # # # # # # # # #
-cd $ORIGDIR
-rm -f include/assert.h
-cp ${srcdir}/assert.h include/assert.h || exit 1
-chmod a+r include/assert.h
-
+if [ x${INSTALL_ASSERT_H} != x ] && [ -f ${srcdir}/assert.h ]
+then
+ cd $ORIGDIR
+ rm -f include/assert.h
+ cp ${srcdir}/assert.h include/assert.h || exit 1
+ chmod a+r include/assert.h
+fi
diff --git a/gcc/fixinc/fixincl.tpl b/gcc/fixinc/fixincl.tpl
index d5d6b6448a7..afdd131c66e 100644
--- a/gcc/fixinc/fixincl.tpl
+++ b/gcc/fixinc/fixincl.tpl
@@ -22,16 +22,14 @@ _FOR fix =]
* Description [=_eval _index 1 + "#%3d -" _printf=] [=hackname _Cap=] fix
*/
tSCC z[=hackname _cap=]Name[] =
- [=hackname _cap _str=];
+ [=hackname _cap _krstr=];
/*
* File name selection pattern
*/[=
_IF files _exist=]
-tSCC z[=hackname _cap=]List[] =[=
- _FOR files=]
- "|" [=files _str=][=
- /files=] "|";[=
+tSCC z[=hackname _cap=]List[] =
+ "[=_FOR files =]|[=files=][=/files=]|";[=
_ELSE =]
#define z[=hackname _cap=]List (char*)NULL[=
@@ -43,7 +41,7 @@ tSCC z[=hackname _cap=]List[] =[=
_IF mach _exist=]
tSCC* apz[=hackname _cap=]Machs[] = {[=
_FOR mach =]
- [=mach _str=],[=
+ [=mach _krstr=],[=
/mach=]
(const char*)NULL };[=
@@ -60,7 +58,7 @@ tSCC* apz[=hackname _cap=]Machs[] = {[=
*/[=
_FOR exesel =]
tSCC z[=hackname _cap=]Select[=_eval _index=][] =
- [=exesel _str=];[=
+ [=exesel _krstr=];[=
/exesel =][=
_ELIF select _exist=]
@@ -70,7 +68,7 @@ tSCC z[=hackname _cap=]Select[=_eval _index=][] =
*/[=
_FOR select =]
tSCC z[=hackname _cap=]Select[=_eval _index=][] =
- [=select _str=];[=
+ [=select _krstr=];[=
/select =][=
_ENDIF =][=
@@ -81,7 +79,7 @@ tSCC z[=hackname _cap=]Select[=_eval _index=][] =
*/[=
_FOR bypass =]
tSCC z[=hackname _cap=]Bypass[=_eval _index=][] =
- [=bypass _str=];[=
+ [=bypass _krstr=];[=
/bypass =][=
_ENDIF =][=
@@ -92,7 +90,7 @@ tSCC z[=hackname _cap=]Bypass[=_eval _index=][] =
*/[=
_FOR test =]
tSCC z[=hackname _cap=]Test[=_eval _index=][] =
- [=test _str=];[=
+ [=test _krstr=];[=
/test =][=
_ENDIF =][=
@@ -159,9 +157,9 @@ tTestDesc a[=hackname _cap=]Tests[] = {[=
*/
const char* apz[=hackname _cap=]Patch[] = {[=
_IF sed _exist =] "sed"[=_FOR sed=],
- "-e", [=sed _str=][=/sed=][=
+ "-e", [=sed _krstr=][=/sed=][=
_ELIF shell _exist =] "sh", "-c",
- [=shell _str=][=
+ [=shell _krstr=][=
_ENDIF=],
(char*)NULL };
@@ -181,6 +179,8 @@ _FOR fix ",\n" =]
[=hackname _up=]_TEST_CT, [=
_IF not_machine _exist =]FD_MACH_IFNOT[=
_ELSE =]FD_MACH_ONLY[=
+ _ENDIF =][=
+ _IF shell _exist =] | FD_SHELL_SCRIPT[=
_ENDIF =],
a[=hackname _cap=]Tests, apz[=hackname _cap=]Patch }[=
diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x
index 736943bbd1b..bbd17eac8e0 100644
--- a/gcc/fixinc/fixincl.x
+++ b/gcc/fixinc/fixincl.x
@@ -5,7 +5,7 @@
* files which are fixed to work correctly with ANSI C and placed in a
* directory that GNU C will search.
*
- * This file contains 104 fixup descriptions.
+ * This file contains 103 fixup descriptions.
*
* See README-fixinc for more information.
*
@@ -37,7 +37,7 @@ tSCC zAix_SyswaitName[] =
* File name selection pattern
*/
tSCC zAix_SyswaitList[] =
- "|" "sys/wait.h" "|";
+ "|sys/wait.h|";
/*
* Machine/OS name selection pattern
*/
@@ -58,8 +58,8 @@ tTestDesc aAix_SyswaitTests[] = {
* Fix Command Arguments for Aix_Syswait
*/
const char* apzAix_SyswaitPatch[] = { "sed",
- "-e", "/^extern pid_t wait3();$/i\\\n"
- "struct rusage;\n",
+ "-e", "/^extern pid_t wait3();$/i\\\n\
+struct rusage;\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -72,7 +72,7 @@ tSCC zAix_VolatileName[] =
* File name selection pattern
*/
tSCC zAix_VolatileList[] =
- "|" "sys/signal.h" "|";
+ "|sys/signal.h|";
/*
* Machine/OS name selection pattern
*/
@@ -106,8 +106,7 @@ tSCC zAlpha_GetoptName[] =
* File name selection pattern
*/
tSCC zAlpha_GetoptList[] =
- "|" "stdio.h"
- "|" "stdlib.h" "|";
+ "|stdio.h|stdlib.h|";
/*
* Machine/OS name selection pattern
*/
@@ -141,7 +140,7 @@ tSCC zAlpha_ParensName[] =
* File name selection pattern
*/
tSCC zAlpha_ParensList[] =
- "|" "sym.h" "|";
+ "|sym.h|";
/*
* Machine/OS name selection pattern
*/
@@ -175,7 +174,7 @@ tSCC zAlpha_SbrkName[] =
* File name selection pattern
*/
tSCC zAlpha_SbrkList[] =
- "|" "unistd.h" "|";
+ "|unistd.h|";
/*
* Machine/OS name selection pattern
*/
@@ -209,7 +208,7 @@ tSCC zArm_Norcroft_HintName[] =
* File name selection pattern
*/
tSCC zArm_Norcroft_HintList[] =
- "|" "X11/Intrinsic.h" "|";
+ "|X11/Intrinsic.h|";
/*
* Machine/OS name selection pattern
*/
@@ -243,7 +242,7 @@ tSCC zArm_WcharName[] =
* File name selection pattern
*/
tSCC zArm_WcharList[] =
- "|" "stdlib.h" "|";
+ "|stdlib.h|";
/*
* Machine/OS name selection pattern
*/
@@ -278,7 +277,7 @@ tSCC zAux_AsmName[] =
* File name selection pattern
*/
tSCC zAux_AsmList[] =
- "|" "sys/param.h" "|";
+ "|sys/param.h|";
/*
* Machine/OS name selection pattern
*/
@@ -312,10 +311,7 @@ tSCC zAvoid_BoolName[] =
* File name selection pattern
*/
tSCC zAvoid_BoolList[] =
- "|" "curses.h"
- "|" "curses_colr/curses.h"
- "|" "term.h"
- "|" "tinfo.h" "|";
+ "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
/*
* Machine/OS name selection pattern
*/
@@ -328,18 +324,26 @@ tSCC zAvoid_BoolList[] =
* Fix Command Arguments for Avoid_Bool
*/
const char* apzAvoid_BoolPatch[] = { "sed",
- "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/i\\\n"
- "#ifndef __cplusplus\n",
- "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/a\\\n"
- "#endif\n",
- "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/i\\\n"
- "#ifndef __cplusplus\n",
- "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/a\\\n"
- "#endif\n",
- "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/i\\\n"
- "#ifndef __cplusplus\n",
- "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/a\\\n"
- "#endif\n",
+ "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/i\\\n\
+#ifndef __cplusplus\n",
+ "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/a\\\n\
+#endif\n",
+ "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/i\\\n\
+#ifndef __cplusplus\n",
+ "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/a\\\n\
+#endif\n",
+ "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/i\\\n\
+#ifndef __cplusplus\n",
+ "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/a\\\n\
+#endif\n",
+ "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/i\\\n\
+#ifndef __cplusplus\n",
+ "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/a\\\n\
+#endif\n",
+ "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/i\\\n\
+#ifndef __cplusplus\n",
+ "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -352,7 +356,7 @@ tSCC zBad_Struct_TermName[] =
* File name selection pattern
*/
tSCC zBad_Struct_TermList[] =
- "|" "curses.h" "|";
+ "|curses.h|";
/*
* Machine/OS name selection pattern
*/
@@ -386,7 +390,7 @@ tSCC zBadquoteName[] =
* File name selection pattern
*/
tSCC zBadquoteList[] =
- "|" "sundev/vuid_event.h" "|";
+ "|sundev/vuid_event.h|";
/*
* Machine/OS name selection pattern
*/
@@ -412,35 +416,14 @@ tSCC zBad_LvalName[] =
* File name selection pattern
*/
tSCC zBad_LvalList[] =
- "|" "libgen.h"
- "|" "dirent.h"
- "|" "ftw.h"
- "|" "grp.h"
- "|" "ndbm.h"
- "|" "pthread.h"
- "|" "pwd.h"
- "|" "signal.h"
- "|" "standards.h"
- "|" "stdlib.h"
- "|" "string.h"
- "|" "stropts.h"
- "|" "time.h"
- "|" "unistd.h" "|";
+ "|libgen.h|dirent.h|ftw.h|grp.h|ndbm.h|pthread.h|pwd.h|signal.h|standards.h|stdlib.h|string.h|stropts.h|time.h|unistd.h|";
/*
* Machine/OS name selection pattern
*/
#define apzBad_LvalMachs (const char**)NULL
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zBad_LvalSelect0[] =
- "^[ \t]*#[ \t]*pragma[ \t]extern_prefix";
-
-#define BAD_LVAL_TEST_CT 1
-#define BAD_LVAL_RE_CT 1
-tTestDesc aBad_LvalTests[] = {
- { TT_EGREP, zBad_LvalSelect0, (regex_t*)NULL }, };
+#define BAD_LVAL_TEST_CT 0
+#define BAD_LVAL_RE_CT 0
+#define aBad_LvalTests (tTestDesc*)NULL
/*
* Fix Command Arguments for Bad_Lval
@@ -459,7 +442,7 @@ tSCC zBroken_Assert_StdioName[] =
* File name selection pattern
*/
tSCC zBroken_Assert_StdioList[] =
- "|" "assert.h" "|";
+ "|assert.h|";
/*
* Machine/OS name selection pattern
*/
@@ -487,8 +470,8 @@ tTestDesc aBroken_Assert_StdioTests[] = {
* Fix Command Arguments for Broken_Assert_Stdio
*/
const char* apzBroken_Assert_StdioPatch[] = { "sed",
- "-e", "1i\\\n"
- "#include <stdio.h>\n",
+ "-e", "1i\\\n\
+#include <stdio.h>\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -501,7 +484,7 @@ tSCC zBroken_Assert_StdlibName[] =
* File name selection pattern
*/
tSCC zBroken_Assert_StdlibList[] =
- "|" "assert.h" "|";
+ "|assert.h|";
/*
* Machine/OS name selection pattern
*/
@@ -529,10 +512,10 @@ tTestDesc aBroken_Assert_StdlibTests[] = {
* Fix Command Arguments for Broken_Assert_Stdlib
*/
const char* apzBroken_Assert_StdlibPatch[] = { "sed",
- "-e", "1i\\\n"
- "#ifdef __cplusplus\\\n"
- "#include <stdlib.h>\\\n"
- "#endif\n",
+ "-e", "1i\\\n\
+#ifdef __cplusplus\\\n\
+#include <stdlib.h>\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -579,7 +562,7 @@ tSCC zDec_Intern_AsmName[] =
* File name selection pattern
*/
tSCC zDec_Intern_AsmList[] =
- "|" "c_asm.h" "|";
+ "|c_asm.h|";
/*
* Machine/OS name selection pattern
*/
@@ -592,10 +575,10 @@ tSCC zDec_Intern_AsmList[] =
* Fix Command Arguments for Dec_Intern_Asm
*/
const char* apzDec_Intern_AsmPatch[] = { "sed",
- "-e", "/^[ \t]*float[ \t]*fasm/i\\\n"
- "#ifdef __DECC\n",
- "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n"
- "#endif\n",
+ "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
+#ifdef __DECC\n",
+ "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -623,7 +606,7 @@ tSCC zNo_Double_SlashSelect0[] =
* perform the 'test' shell command - do fix on success
*/
tSCC zNo_Double_SlashTest0[] =
- "-z `echo ${file} | egrep '(CC|cxx|\\+\\+)/' `";
+ " -z \"`echo ${file} | egrep '(CC|cxx|\\+\\+)/'`\"";
#define NO_DOUBLE_SLASH_TEST_CT 2
#define NO_DOUBLE_SLASH_RE_CT 1
@@ -649,8 +632,7 @@ tSCC zEcd_CursorName[] =
* File name selection pattern
*/
tSCC zEcd_CursorList[] =
- "|" "sunwindow/win_lock.h"
- "|" "sunwindow/win_cursor.h" "|";
+ "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
/*
* Machine/OS name selection pattern
*/
@@ -676,7 +658,7 @@ tSCC zSco5_Stat_WrappersName[] =
* File name selection pattern
*/
tSCC zSco5_Stat_WrappersList[] =
- "|" "sys/stat.h" "|";
+ "|sys/stat.h|";
/*
* Machine/OS name selection pattern
*/
@@ -691,99 +673,62 @@ tSCC* apzSco5_Stat_WrappersMachs[] = {
* Fix Command Arguments for Sco5_Stat_Wrappers
*/
const char* apzSco5_Stat_WrappersPatch[] = { "sed",
- "-e", "/^static int[ \t]*[a-z]*stat(/i\\\n"
- "#ifdef __cplusplus\\\n"
- "extern \"C\"\\\n"
- "{\\\n"
- "#endif\\\n",
- "-e", "/^}$/a\\\n"
- "#ifdef __cplusplus\\\n"
- "}\\\n"
- "#endif /* __cplusplus */\\\n",
+ "-e", "/^static int[ \t]*[a-z]*stat(/i\\\n\
+#ifdef __cplusplus\\\n\
+extern \"C\"\\\n\
+{\\\n\
+#endif\\\n",
+ "-e", "/^}$/a\\\n\
+#ifdef __cplusplus\\\n\
+}\\\n\
+#endif /* __cplusplus */\\\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 20 - Else_Label fix
+ * Description 20 - End_Else_Label fix
*/
-tSCC zElse_LabelName[] =
- "Else_Label";
+tSCC zEnd_Else_LabelName[] =
+ "End_Else_Label";
/*
* File name selection pattern
*/
-#define zElse_LabelList (char*)NULL
+#define zEnd_Else_LabelList (char*)NULL
/*
* Machine/OS name selection pattern
*/
-#define apzElse_LabelMachs (const char**)NULL
+#define apzEnd_Else_LabelMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
-tSCC zElse_LabelSelect0[] =
- "^[ \t]*#[ \t]*else[ \t]+[!-.0-~]";
+tSCC zEnd_Else_LabelSelect0[] =
+ "^[ \t]*#[ \t]*(else|endif)[ \t]+([!-.0-z\\{\\|\\}\\~]|/[^\\*])";
-#define ELSE_LABEL_TEST_CT 1
-#define ELSE_LABEL_RE_CT 1
-tTestDesc aElse_LabelTests[] = {
- { TT_EGREP, zElse_LabelSelect0, (regex_t*)NULL }, };
+#define END_ELSE_LABEL_TEST_CT 1
+#define END_ELSE_LABEL_RE_CT 1
+tTestDesc aEnd_Else_LabelTests[] = {
+ { TT_EGREP, zEnd_Else_LabelSelect0, (regex_t*)NULL }, };
/*
- * Fix Command Arguments for Else_Label
+ * Fix Command Arguments for End_Else_Label
*/
-const char* apzElse_LabelPatch[] = { "sed",
- "-e", ":loop\n"
- "/\\\\$/N\n"
- "s/\\\\$/\\\\+++fixinc_eol+++/\n"
- "/\\\\$/b loop\n"
- "s/\\\\+++fixinc_eol+++/\\\\/g\n"
- "s%^\\([ \t]*#[ \t]*else\\)[ \t]*/[^*].*%\\1%\n"
- "s%^\\([ \t]*#[ \t]*else\\)[ \t]*[^/ \t].*%\\1%",
+const char* apzEnd_Else_LabelPatch[] = { "sed",
+ "-e", ":loop\n\
+/\\\\$/N\n\
+s/\\\\$/\\\\+++fixinc_eol+++/\n\
+/\\\\$/b loop\n\
+s/\\\\+++fixinc_eol+++/\\\\/g\n\
+s%^\\([ \t]*#[ \t]*else\\)[ \t][ \t]*/[^*].*%\\1%\n\
+s%^\\([ \t]*#[ \t]*else\\)[ \t][ \t]*[^/ \t].*%\\1%\n\
+s%^\\([ \t]*#[ \t]*endif\\)[ \t][ \t]*/[^*].*%\\1%\n\
+s%^\\([ \t]*#[ \t]*endif\\)[ \t][ \t]**[^/].*%\\1%\n\
+s%^\\([ \t]*#[ \t]*endif\\)[ \t][ \t]*[^/* \t].*%\\1%",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 21 - Endif_Label fix
- */
-tSCC zEndif_LabelName[] =
- "Endif_Label";
-/*
- * File name selection pattern
- */
-#define zEndif_LabelList (char*)NULL
-/*
- * Machine/OS name selection pattern
- */
-#define apzEndif_LabelMachs (const char**)NULL
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zEndif_LabelSelect0[] =
- "^[ \t]*#[ \t]*endif[ \t]+[!-.0-z{|}~]";
-
-#define ENDIF_LABEL_TEST_CT 1
-#define ENDIF_LABEL_RE_CT 1
-tTestDesc aEndif_LabelTests[] = {
- { TT_EGREP, zEndif_LabelSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Endif_Label
- */
-const char* apzEndif_LabelPatch[] = { "sed",
- "-e", ":loop\n"
- "/\\\\$/N\n"
- "s/\\\\$/\\\\+++fixinc_eol+++/\n"
- "/\\\\$/b loop\n"
- "s/\\\\+++fixinc_eol+++/\\\\/g\n"
- "s%^\\([ \t]*#[ \t]*endif\\)[ \t]*/[^*].*%\\1%\n"
- "s%^\\([ \t]*#[ \t]*endif\\)[ \t]*\\*[^/].*%\\1%\n"
- "s%^\\([ \t]*#[ \t]*endif\\)[ \t]*[^/* \t].*%\\1%",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Description 22 - Hp_Inline fix
+ * Description 21 - Hp_Inline fix
*/
tSCC zHp_InlineName[] =
"Hp_Inline";
@@ -791,7 +736,7 @@ tSCC zHp_InlineName[] =
* File name selection pattern
*/
tSCC zHp_InlineList[] =
- "|" "sys/spinlock.h" "|";
+ "|sys/spinlock.h|";
/*
* Machine/OS name selection pattern
*/
@@ -818,7 +763,7 @@ const char* apzHp_InlinePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 23 - Hp_Sysfile fix
+ * Description 22 - Hp_Sysfile fix
*/
tSCC zHp_SysfileName[] =
"Hp_Sysfile";
@@ -826,7 +771,7 @@ tSCC zHp_SysfileName[] =
* File name selection pattern
*/
tSCC zHp_SysfileList[] =
- "|" "sys/file.h" "|";
+ "|sys/file.h|";
/*
* Machine/OS name selection pattern
*/
@@ -852,7 +797,7 @@ const char* apzHp_SysfilePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 24 - Cxx_Unready fix
+ * Description 23 - Cxx_Unready fix
*/
tSCC zCxx_UnreadyName[] =
"Cxx_Unready";
@@ -860,8 +805,7 @@ tSCC zCxx_UnreadyName[] =
* File name selection pattern
*/
tSCC zCxx_UnreadyList[] =
- "|" "sys/mman.h"
- "|" "rpc/types.h" "|";
+ "|sys/mman.h|rpc/types.h|";
/*
* Machine/OS name selection pattern
*/
@@ -882,20 +826,20 @@ tTestDesc aCxx_UnreadyTests[] = {
* Fix Command Arguments for Cxx_Unready
*/
const char* apzCxx_UnreadyPatch[] = { "sed",
- "-e", "1i\\\n"
- "#ifdef __cplusplus\\\n"
- "extern \"C\" {\\\n"
- "#endif\\\n"
- "\n",
- "-e", "$a\\\n"
- "#ifdef __cplusplus\\\n"
- "}\\\n"
- "#endif\n",
+ "-e", "1i\\\n\
+#ifdef __cplusplus\\\n\
+extern \"C\" {\\\n\
+#endif\\\n\
+\n",
+ "-e", "$a\\\n\
+#ifdef __cplusplus\\\n\
+}\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 25 - Hpux_Maxint fix
+ * Description 24 - Hpux_Maxint fix
*/
tSCC zHpux_MaxintName[] =
"Hpux_Maxint";
@@ -903,7 +847,7 @@ tSCC zHpux_MaxintName[] =
* File name selection pattern
*/
tSCC zHpux_MaxintList[] =
- "|" "sys/param.h" "|";
+ "|sys/param.h|";
/*
* Machine/OS name selection pattern
*/
@@ -916,15 +860,15 @@ tSCC zHpux_MaxintList[] =
* Fix Command Arguments for Hpux_Maxint
*/
const char* apzHpux_MaxintPatch[] = { "sed",
- "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/i\\\n"
- "#ifndef MAXINT\n",
- "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/a\\\n"
- "#endif\n",
+ "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/i\\\n\
+#ifndef MAXINT\n",
+ "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 26 - Hpux_Systime fix
+ * Description 25 - Hpux_Systime fix
*/
tSCC zHpux_SystimeName[] =
"Hpux_Systime";
@@ -932,7 +876,7 @@ tSCC zHpux_SystimeName[] =
* File name selection pattern
*/
tSCC zHpux_SystimeList[] =
- "|" "sys/time.h" "|";
+ "|sys/time.h|";
/*
* Machine/OS name selection pattern
*/
@@ -958,7 +902,7 @@ const char* apzHpux_SystimePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 27 - Interactv_Add1 fix
+ * Description 26 - Interactv_Add1 fix
*/
tSCC zInteractv_Add1Name[] =
"Interactv_Add1";
@@ -966,12 +910,7 @@ tSCC zInteractv_Add1Name[] =
* File name selection pattern
*/
tSCC zInteractv_Add1List[] =
- "|" "stdio.h"
- "|" "math.h"
- "|" "ctype.h"
- "|" "sys/limits.h"
- "|" "sys/fcntl.h"
- "|" "sys/dirent.h" "|";
+ "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1000,7 +939,7 @@ const char* apzInteractv_Add1Patch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 28 - Interactv_Add2 fix
+ * Description 27 - Interactv_Add2 fix
*/
tSCC zInteractv_Add2Name[] =
"Interactv_Add2";
@@ -1008,7 +947,7 @@ tSCC zInteractv_Add2Name[] =
* File name selection pattern
*/
tSCC zInteractv_Add2List[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1037,7 +976,7 @@ const char* apzInteractv_Add2Patch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 29 - Interactv_Add3 fix
+ * Description 28 - Interactv_Add3 fix
*/
tSCC zInteractv_Add3Name[] =
"Interactv_Add3";
@@ -1045,7 +984,7 @@ tSCC zInteractv_Add3Name[] =
* File name selection pattern
*/
tSCC zInteractv_Add3List[] =
- "|" "sys/limits.h" "|";
+ "|sys/limits.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1075,7 +1014,7 @@ const char* apzInteractv_Add3Patch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 30 - Io_Def_Quotes fix
+ * Description 29 - Io_Def_Quotes fix
*/
tSCC zIo_Def_QuotesName[] =
"Io_Def_Quotes";
@@ -1103,14 +1042,15 @@ tTestDesc aIo_Def_QuotesTests[] = {
* Fix Command Arguments for Io_Def_Quotes
*/
const char* apzIo_Def_QuotesPatch[] = { "sed",
- "-e", "s/\\([ \t]*[ \t](_|DES)IO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/",
+ "-e", "s/\\([ \t]*[ \t]_IO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/",
+ "-e", "s/\\([ \t]*[ \t]DESIO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/",
"-e", "/#[ \t]*define[ \t]*[ \t]_IO/s/'\\([cgxtf]\\)'/\\1/g",
"-e", "/#[ \t]*define[ \t]*[ \t]DESIOC/s/'\\([cdgx]\\)'/\\1/g",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 31 - Ioctl_Fix_Ctrl fix
+ * Description 30 - Ioctl_Fix_Ctrl fix
*/
tSCC zIoctl_Fix_CtrlName[] =
"Ioctl_Fix_Ctrl";
@@ -1127,7 +1067,7 @@ tSCC zIoctl_Fix_CtrlName[] =
* content selection pattern - do fix if pattern found
*/
tSCC zIoctl_Fix_CtrlSelect0[] =
- "CTRL[ \t]";
+ "CTRL[ \t]*\\(";
#define IOCTL_FIX_CTRL_TEST_CT 1
#define IOCTL_FIX_CTRL_RE_CT 1
@@ -1143,11 +1083,12 @@ const char* apzIoctl_Fix_CtrlPatch[] = { "sed",
"-e", "/#[ \t]*define[ \t]*[ \t]CTRL/s/'\\([cgx]\\)'/\\1/g",
"-e", "/#[ \t]*define[ \t]*[ \t]_CTRL/s/'\\([cgx]\\)'/\\1/g",
"-e", "/#[ \t]*define[ \t]*[ \t]BSD43_CTRL/s/'\\([cgx]\\)'/\\1/g",
+ "-e", "/#[ \t]*define[ \t]*[ \t]_*ISCTRL/s/'\\([cgx]\\)'/\\1/g",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 32 - Ip_Missing_Semi fix
+ * Description 31 - Ip_Missing_Semi fix
*/
tSCC zIp_Missing_SemiName[] =
"Ip_Missing_Semi";
@@ -1155,7 +1096,7 @@ tSCC zIp_Missing_SemiName[] =
* File name selection pattern
*/
tSCC zIp_Missing_SemiList[] =
- "|" "netinet/ip.h" "|";
+ "|netinet/ip.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1173,7 +1114,7 @@ const char* apzIp_Missing_SemiPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 33 - Irix_Multiline_Cmnt fix
+ * Description 32 - Irix_Multiline_Cmnt fix
*/
tSCC zIrix_Multiline_CmntName[] =
"Irix_Multiline_Cmnt";
@@ -1181,7 +1122,7 @@ tSCC zIrix_Multiline_CmntName[] =
* File name selection pattern
*/
tSCC zIrix_Multiline_CmntList[] =
- "|" "sys/types.h" "|";
+ "|sys/types.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1200,7 +1141,7 @@ const char* apzIrix_Multiline_CmntPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 34 - Irix_Sockaddr fix
+ * Description 33 - Irix_Sockaddr fix
*/
tSCC zIrix_SockaddrName[] =
"Irix_Sockaddr";
@@ -1208,7 +1149,7 @@ tSCC zIrix_SockaddrName[] =
* File name selection pattern
*/
tSCC zIrix_SockaddrList[] =
- "|" "rpc/auth.h" "|";
+ "|rpc/auth.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1229,13 +1170,13 @@ tTestDesc aIrix_SockaddrTests[] = {
* Fix Command Arguments for Irix_Sockaddr
*/
const char* apzIrix_SockaddrPatch[] = { "sed",
- "-e", "/authdes_create.*struct sockaddr/i\\\n"
- "struct sockaddr;\n",
+ "-e", "/authdes_create.*struct sockaddr/i\\\n\
+struct sockaddr;\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 35 - Irix_Struct__File fix
+ * Description 34 - Irix_Struct__File fix
*/
tSCC zIrix_Struct__FileName[] =
"Irix_Struct__File";
@@ -1243,7 +1184,7 @@ tSCC zIrix_Struct__FileName[] =
* File name selection pattern
*/
tSCC zIrix_Struct__FileList[] =
- "|" "rpc/xdr.h" "|";
+ "|rpc/xdr.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1256,13 +1197,13 @@ tSCC zIrix_Struct__FileList[] =
* Fix Command Arguments for Irix_Struct__File
*/
const char* apzIrix_Struct__FilePatch[] = { "sed",
- "-e", "/xdrstdio_create.*struct __file_s/i\\\n"
- "struct __file_s;\n",
+ "-e", "/xdrstdio_create.*struct __file_s/i\\\n\
+struct __file_s;\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 36 - Isc_Fmod fix
+ * Description 35 - Isc_Fmod fix
*/
tSCC zIsc_FmodName[] =
"Isc_Fmod";
@@ -1270,7 +1211,7 @@ tSCC zIsc_FmodName[] =
* File name selection pattern
*/
tSCC zIsc_FmodList[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1296,7 +1237,7 @@ const char* apzIsc_FmodPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 37 - Motorola_Nested fix
+ * Description 36 - Motorola_Nested fix
*/
tSCC zMotorola_NestedName[] =
"Motorola_Nested";
@@ -1304,8 +1245,7 @@ tSCC zMotorola_NestedName[] =
* File name selection pattern
*/
tSCC zMotorola_NestedList[] =
- "|" "limits.h"
- "|" "sys/limits.h" "|";
+ "|limits.h|sys/limits.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1326,7 +1266,7 @@ const char* apzMotorola_NestedPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 38 - Isc_Sys_Limits fix
+ * Description 37 - Isc_Sys_Limits fix
*/
tSCC zIsc_Sys_LimitsName[] =
"Isc_Sys_Limits";
@@ -1334,7 +1274,7 @@ tSCC zIsc_Sys_LimitsName[] =
* File name selection pattern
*/
tSCC zIsc_Sys_LimitsList[] =
- "|" "sys/limits.h" "|";
+ "|sys/limits.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1361,7 +1301,7 @@ const char* apzIsc_Sys_LimitsPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 39 - Kandr_Concat fix
+ * Description 38 - Kandr_Concat fix
*/
tSCC zKandr_ConcatName[] =
"Kandr_Concat";
@@ -1369,24 +1309,7 @@ tSCC zKandr_ConcatName[] =
* File name selection pattern
*/
tSCC zKandr_ConcatList[] =
- "|" "sparc/asm_linkage.h"
- "|" "sun3/asm_linkage.h"
- "|" "sun3x/asm_linkage.h"
- "|" "sun4/asm_linkage.h"
- "|" "sun4c/asm_linkage.h"
- "|" "sun4m/asm_linkage.h"
- "|" "sun4c/debug/asm_linkage.h"
- "|" "sun4m/debug/asm_linkage.h"
- "|" "arm/as_support.h"
- "|" "arm/mc_type.h"
- "|" "arm/xcb.h"
- "|" "dev/chardefmac.h"
- "|" "dev/ps_irq.h"
- "|" "dev/screen.h"
- "|" "dev/scsi.h"
- "|" "sys/tty.h"
- "|" "Xm.acorn/XmP.h"
- "|" "bsd43/bsd43_.h" "|";
+ "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1412,7 +1335,7 @@ const char* apzKandr_ConcatPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 40 - Limits_Ifndefs fix
+ * Description 39 - Limits_Ifndefs fix
*/
tSCC zLimits_IfndefsName[] =
"Limits_Ifndefs";
@@ -1420,7 +1343,7 @@ tSCC zLimits_IfndefsName[] =
* File name selection pattern
*/
tSCC zLimits_IfndefsList[] =
- "|" "limits.h" "|";
+ "|limits.h|sys/limits.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1441,36 +1364,36 @@ tTestDesc aLimits_IfndefsTests[] = {
* Fix Command Arguments for Limits_Ifndefs
*/
const char* apzLimits_IfndefsPatch[] = { "sed",
- "-e", "/[ \t]FLT_MIN[ \t]/i\\\n"
- "#ifndef FLT_MIN\n",
- "-e", "/[ \t]FLT_MIN[ \t]/a\\\n"
- "#endif\n",
- "-e", "/[ \t]FLT_MAX[ \t]/i\\\n"
- "#ifndef FLT_MAX\n",
- "-e", "/[ \t]FLT_MAX[ \t]/a\\\n"
- "#endif\n",
- "-e", "/[ \t]FLT_DIG[ \t]/i\\\n"
- "#ifndef FLT_DIG\n",
- "-e", "/[ \t]FLT_DIG[ \t]/a\\\n"
- "#endif\n",
- "-e", "/[ \t]DBL_MIN[ \t]/i\\\n"
- "#ifndef DBL_MIN\n",
- "-e", "/[ \t]DBL_MIN[ \t]/a\\\n"
- "#endif\n",
- "-e", "/[ \t]DBL_MAX[ \t]/i\\\n"
- "#ifndef DBL_MAX\n",
- "-e", "/[ \t]DBL_MAX[ \t]/a\\\n"
- "#endif\n",
- "-e", "/[ \t]DBL_DIG[ \t]/i\\\n"
- "#ifndef DBL_DIG\n",
- "-e", "/[ \t]DBL_DIG[ \t]/a\\\n"
- "#endif\n",
+ "-e", "/[ \t]FLT_MIN[ \t]/i\\\n\
+#ifndef FLT_MIN\n",
+ "-e", "/[ \t]FLT_MIN[ \t]/a\\\n\
+#endif\n",
+ "-e", "/[ \t]FLT_MAX[ \t]/i\\\n\
+#ifndef FLT_MAX\n",
+ "-e", "/[ \t]FLT_MAX[ \t]/a\\\n\
+#endif\n",
+ "-e", "/[ \t]FLT_DIG[ \t]/i\\\n\
+#ifndef FLT_DIG\n",
+ "-e", "/[ \t]FLT_DIG[ \t]/a\\\n\
+#endif\n",
+ "-e", "/[ \t]DBL_MIN[ \t]/i\\\n\
+#ifndef DBL_MIN\n",
+ "-e", "/[ \t]DBL_MIN[ \t]/a\\\n\
+#endif\n",
+ "-e", "/[ \t]DBL_MAX[ \t]/i\\\n\
+#ifndef DBL_MAX\n",
+ "-e", "/[ \t]DBL_MAX[ \t]/a\\\n\
+#endif\n",
+ "-e", "/[ \t]DBL_DIG[ \t]/i\\\n\
+#ifndef DBL_DIG\n",
+ "-e", "/[ \t]DBL_DIG[ \t]/a\\\n\
+#endif\n",
"-e", "/^\\(\\/\\*#define\tHUGE_VAL\t3\\.[0-9e+]* *\\)\\/\\*/s//\\1/",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 41 - Lynx_Void_Int fix
+ * Description 40 - Lynx_Void_Int fix
*/
tSCC zLynx_Void_IntName[] =
"Lynx_Void_Int";
@@ -1478,7 +1401,7 @@ tSCC zLynx_Void_IntName[] =
* File name selection pattern
*/
tSCC zLynx_Void_IntList[] =
- "|" "curses.h" "|";
+ "|curses.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1504,7 +1427,7 @@ const char* apzLynx_Void_IntPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 42 - Lynxos_Fcntl_Proto fix
+ * Description 41 - Lynxos_Fcntl_Proto fix
*/
tSCC zLynxos_Fcntl_ProtoName[] =
"Lynxos_Fcntl_Proto";
@@ -1512,7 +1435,7 @@ tSCC zLynxos_Fcntl_ProtoName[] =
* File name selection pattern
*/
tSCC zLynxos_Fcntl_ProtoList[] =
- "|" "fcntl.h" "|";
+ "|fcntl.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1538,7 +1461,7 @@ const char* apzLynxos_Fcntl_ProtoPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 43 - M88k_Bad_Hypot_Opt fix
+ * Description 42 - M88k_Bad_Hypot_Opt fix
*/
tSCC zM88k_Bad_Hypot_OptName[] =
"M88k_Bad_Hypot_Opt";
@@ -1546,7 +1469,7 @@ tSCC zM88k_Bad_Hypot_OptName[] =
* File name selection pattern
*/
tSCC zM88k_Bad_Hypot_OptList[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1562,24 +1485,24 @@ tSCC* apzM88k_Bad_Hypot_OptMachs[] = {
*/
const char* apzM88k_Bad_Hypot_OptPatch[] = { "sed",
"-e", "s/extern double floor(), ceil(), fmod(), fabs();/extern double floor(), ceil(), fmod(), fabs _PARAMS((double));/",
- "-e", "/^extern double hypot();$/a\\\n"
- "\\/* Workaround a stupid Motorola optimization if one\\\n"
- " of x or y is 0.0 and the other is negative! *\\/\\\n"
- "#ifdef __STDC__\\\n"
- "static __inline__ double fake_hypot (double x, double y)\\\n"
- "#else\\\n"
- "static __inline__ double fake_hypot (x, y)\\\n"
- "\tdouble x, y;\\\n"
- "#endif\\\n"
- "{\\\n"
- "\treturn fabs (hypot (x, y));\\\n"
- "}\\\n"
- "#define hypot\tfake_hypot\n",
+ "-e", "/^extern double hypot();$/a\\\n\
+\\/* Workaround a stupid Motorola optimization if one\\\n\
+ of x or y is 0.0 and the other is negative! *\\/\\\n\
+#ifdef __STDC__\\\n\
+static __inline__ double fake_hypot (double x, double y)\\\n\
+#else\\\n\
+static __inline__ double fake_hypot (x, y)\\\n\
+\tdouble x, y;\\\n\
+#endif\\\n\
+{\\\n\
+\treturn fabs (hypot (x, y));\\\n\
+}\\\n\
+#define hypot\tfake_hypot\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 44 - M88k_Bad_S_If fix
+ * Description 43 - M88k_Bad_S_If fix
*/
tSCC zM88k_Bad_S_IfName[] =
"M88k_Bad_S_If";
@@ -1587,7 +1510,7 @@ tSCC zM88k_Bad_S_IfName[] =
* File name selection pattern
*/
tSCC zM88k_Bad_S_IfList[] =
- "|" "sys/stat.h" "|";
+ "|sys/stat.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1616,7 +1539,7 @@ const char* apzM88k_Bad_S_IfPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 45 - M88k_Multi_Incl fix
+ * Description 44 - M88k_Multi_Incl fix
*/
tSCC zM88k_Multi_InclName[] =
"M88k_Multi_Incl";
@@ -1624,7 +1547,7 @@ tSCC zM88k_Multi_InclName[] =
* File name selection pattern
*/
tSCC zM88k_Multi_InclList[] =
- "|" "time.h" "|";
+ "|time.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1647,17 +1570,17 @@ tTestDesc aM88k_Multi_InclTests[] = {
* Fix Command Arguments for M88k_Multi_Incl
*/
const char* apzM88k_Multi_InclPatch[] = { "sh", "-c",
- "echo Fixing $file, to protect against multiple inclusion. >&2\n"
- " cpp_wrapper=`echo $file | sed -e 's,\\.,_,g' -e 's,/,_,g'`\n"
- " echo \"#ifndef __GCC_GOT_${cpp_wrapper}_\"\n"
- " echo \"#define __GCC_GOT_${cpp_wrapper}_\"\n"
- " cat\n"
- " echo \"#endif /* ! __GCC_GOT_${cpp_wrapper}_ */\"",
+ "echo Fixing $file, to protect against multiple inclusion. >&2\n\
+ cpp_wrapper=`echo $file | sed -e 's,\\.,_,g' -e 's,/,_,g'`\n\
+ echo \"#ifndef __GCC_GOT_${cpp_wrapper}_\"\n\
+ echo \"#define __GCC_GOT_${cpp_wrapper}_\"\n\
+ cat\n\
+ echo \"#endif /* ! __GCC_GOT_${cpp_wrapper}_ */\"",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 46 - Machine_Name fix
+ * Description 45 - Machine_Name fix
*/
tSCC zMachine_NameName[] =
"Machine_Name";
@@ -1687,46 +1610,46 @@ tTestDesc aMachine_NameTests[] = {
* Fix Command Arguments for Machine_Name
*/
const char* apzMachine_NamePatch[] = { "sed",
- "-e", ":loop\n"
- "/\\\\$/N\n"
- "s/\\\\$/\\\\+++fixinc_eol+++/\n"
- "/\\\\$/b loop\n"
- "s/\\\\+++fixinc_eol+++/\\\\/g\n"
- "/#[\t ]*[el]*if/ {\n"
- "\ts/[a-zA-Z0-9_][a-zA-Z0-9_]*/ & /g\n"
- "\ts/ M32 / __M32__ /g\n"
- "\ts/ _*MIPSE\\([LB]\\) / __MIPSE\\1__ /g\n"
- "\ts/ _*SYSTYPE_\\([A-Z0-9]*\\) / __SYSTYPE_\\1__ /g\n"
- "\ts/ _*\\([Rr][34]\\)000 / __\\1000__ /g\n"
- "\ts/ _*host_mips / __host_mips__ /g\n"
- "\ts/ _*i386 / __i386__ /g\n"
- "\ts/ _*mips / __mips__ /g\n"
- "\ts/ bsd4\\([0-9]\\) / __bsd4\\1__ /g\n"
- "\ts/ is68k / __is68k__ /g\n"
- "\ts/ m68k / __m68k__ /g\n"
- "\ts/ m88k / __m88k__ /g\n"
- "\ts/ mc680\\([0-9]\\)0 / __mc680\\10__ /g\n"
- "\ts/ news\\([0-9]*\\) / __news\\1__ /g\n"
- "\ts/ ns32000 / __ns32000__ /g\n"
- "\ts/ pdp11 / __pdp11__ /g\n"
- "\ts/ pyr / __pyr__ /g\n"
- "\ts/ sel / __sel__ /g\n"
- "\ts/ sony_news / __sony_news__ /g\n"
- "\ts/ sparc / __sparc__ /g\n"
- "\ts/ sun\\([a-z0-9]*\\) / __sun\\1__ /g\n"
- "\ts/ tahoe / __tahoe__ /g\n"
- "\ts/ tower\\([_0-9]*\\) / __tower\\1__ /g\n"
- "\ts/ u370 / __u370__ /g\n"
- "\ts/ u3b\\([0-9]*\\) / __u3b\\1__ /g\n"
- "\ts/ unix / __unix__ /g\n"
- "\ts/ vax / __vax__ /g\n"
- "\ts/ \\([a-zA-Z0-9_][a-zA-Z0-9_]*\\) /\\1/g\n"
- "\t}",
+ "-e", ":loop\n\
+/\\\\$/N\n\
+s/\\\\$/\\\\+++fixinc_eol+++/\n\
+/\\\\$/b loop\n\
+s/\\\\+++fixinc_eol+++/\\\\/g\n\
+/#[\t ]*[el]*if/ {\n\
+\ts/[a-zA-Z0-9_][a-zA-Z0-9_]*/ & /g\n\
+\ts/ M32 / __M32__ /g\n\
+\ts/ _*MIPSE\\([LB]\\) / __MIPSE\\1__ /g\n\
+\ts/ _*SYSTYPE_\\([A-Z0-9]*\\) / __SYSTYPE_\\1__ /g\n\
+\ts/ _*\\([Rr][34]\\)000 / __\\1000__ /g\n\
+\ts/ _*host_mips / __host_mips__ /g\n\
+\ts/ _*i386 / __i386__ /g\n\
+\ts/ _*mips / __mips__ /g\n\
+\ts/ bsd4\\([0-9]\\) / __bsd4\\1__ /g\n\
+\ts/ is68k / __is68k__ /g\n\
+\ts/ m68k / __m68k__ /g\n\
+\ts/ m88k / __m88k__ /g\n\
+\ts/ mc680\\([0-9]\\)0 / __mc680\\10__ /g\n\
+\ts/ news\\([0-9]*\\) / __news\\1__ /g\n\
+\ts/ ns32000 / __ns32000__ /g\n\
+\ts/ pdp11 / __pdp11__ /g\n\
+\ts/ pyr / __pyr__ /g\n\
+\ts/ sel / __sel__ /g\n\
+\ts/ sony_news / __sony_news__ /g\n\
+\ts/ sparc / __sparc__ /g\n\
+\ts/ sun\\([a-z0-9]*\\) / __sun\\1__ /g\n\
+\ts/ tahoe / __tahoe__ /g\n\
+\ts/ tower\\([_0-9]*\\) / __tower\\1__ /g\n\
+\ts/ u370 / __u370__ /g\n\
+\ts/ u3b\\([0-9]*\\) / __u3b\\1__ /g\n\
+\ts/ unix / __unix__ /g\n\
+\ts/ vax / __vax__ /g\n\
+\ts/ \\([a-zA-Z0-9_][a-zA-Z0-9_]*\\) /\\1/g\n\
+\t}",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 47 - Math_Exception fix
+ * Description 46 - Math_Exception fix
*/
tSCC zMath_ExceptionName[] =
"Math_Exception";
@@ -1734,7 +1657,7 @@ tSCC zMath_ExceptionName[] =
* File name selection pattern
*/
tSCC zMath_ExceptionList[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1755,27 +1678,27 @@ tTestDesc aMath_ExceptionTests[] = {
* Fix Command Arguments for Math_Exception
*/
const char* apzMath_ExceptionPatch[] = { "sed",
- "-e", "/struct exception/i\\\n"
- "#ifdef __cplusplus\\\n"
- "#define exception __math_exception\\\n"
- "#endif\n",
- "-e", "/struct exception/a\\\n"
- "#ifdef __cplusplus\\\n"
- "#undef exception\\\n"
- "#endif\n",
- "-e", "/matherr/i\\\n"
- "#ifdef __cplusplus\\\n"
- "#define exception __math_exception\\\n"
- "#endif\n",
- "-e", "/matherr/a\\\n"
- "#ifdef __cplusplus\\\n"
- "#undef exception\\\n"
- "#endif\n",
+ "-e", "/struct exception/i\\\n\
+#ifdef __cplusplus\\\n\
+#define exception __math_exception\\\n\
+#endif\n",
+ "-e", "/struct exception/a\\\n\
+#ifdef __cplusplus\\\n\
+#undef exception\\\n\
+#endif\n",
+ "-e", "/matherr/i\\\n\
+#ifdef __cplusplus\\\n\
+#define exception __math_exception\\\n\
+#endif\n",
+ "-e", "/matherr/a\\\n\
+#ifdef __cplusplus\\\n\
+#undef exception\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 48 - Math_Gcc_Ifndefs fix
+ * Description 47 - Math_Gcc_Ifndefs fix
*/
tSCC zMath_Gcc_IfndefsName[] =
"Math_Gcc_Ifndefs";
@@ -1783,7 +1706,7 @@ tSCC zMath_Gcc_IfndefsName[] =
* File name selection pattern
*/
tSCC zMath_Gcc_IfndefsList[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1796,24 +1719,24 @@ tSCC zMath_Gcc_IfndefsList[] =
* Fix Command Arguments for Math_Gcc_Ifndefs
*/
const char* apzMath_Gcc_IfndefsPatch[] = { "sh", "-c",
- "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h 2>/dev/null`\n"
- "\n"
- "\tif ( test -n \"${dbl_max_def}\" \\\n"
- "\t\t-a -n \"`egrep '#define[ \t]*HUGE_VAL[ \t]+DBL_MAX' $file`\" \\\n"
- "\t\t-a -z \"`egrep '#define[ \t]+DBL_MAX[ \t]+' $file`\"\n"
- "\t ) > /dev/null 2>&1\n"
- "\tthen sed -e '/define[ \t]HUGE_VAL[ \t]DBL_MAX/s/DBL_MAX/$dbl_max_def/'\n"
- "\telse cat ; fi |\n"
- "\tsed -e'/define[ \t]HUGE_VAL[ \t]/i\\\n"
- "#ifndef HUGE_VAL\n"
- "' -e'/define[ \t]HUGE_VAL[ \t]/a\\\n"
- "#endif\n"
- "'",
+ "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h 2>/dev/null`\n\
+\n\
+\tif ( test -n \"${dbl_max_def}\" \\\n\
+\t\t-a -n \"`egrep '#define[ \t]*HUGE_VAL[ \t]+DBL_MAX' $file`\" \\\n\
+\t\t-a -z \"`egrep '#define[ \t]+DBL_MAX[ \t]+' $file`\"\n\
+\t ) > /dev/null 2>&1\n\
+\tthen sed -e '/define[ \t]HUGE_VAL[ \t]DBL_MAX/s/DBL_MAX/$dbl_max_def/'\n\
+\telse cat ; fi |\n\
+\tsed -e '/define[ \t]HUGE_VAL[ \t]/i\\\n\
+#ifndef HUGE_VAL\n\
+' -e '/define[ \t]HUGE_VAL[ \t]/a\\\n\
+#endif\n\
+'",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 49 - Nested_Comment fix
+ * Description 48 - Nested_Comment fix
*/
tSCC zNested_CommentName[] =
"Nested_Comment";
@@ -1821,7 +1744,7 @@ tSCC zNested_CommentName[] =
* File name selection pattern
*/
tSCC zNested_CommentList[] =
- "|" "rpc/rpc.h" "|";
+ "|rpc/rpc.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1839,7 +1762,7 @@ const char* apzNested_CommentPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 50 - News_Os_Recursion fix
+ * Description 49 - News_Os_Recursion fix
*/
tSCC zNews_Os_RecursionName[] =
"News_Os_Recursion";
@@ -1847,7 +1770,7 @@ tSCC zNews_Os_RecursionName[] =
* File name selection pattern
*/
tSCC zNews_Os_RecursionList[] =
- "|" "stdlib.h" "|";
+ "|stdlib.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1868,15 +1791,15 @@ tTestDesc aNews_Os_RecursionTests[] = {
* Fix Command Arguments for News_Os_Recursion
*/
const char* apzNews_Os_RecursionPatch[] = { "sed",
- "-e", "/^#include <stdlib.h>/i\\\n"
- "#ifdef BOGUS_RECURSION\n",
- "-e", "/^#include <stdlib.h>/a\\\n"
- "#endif\n",
+ "-e", "/^#include <stdlib.h>/i\\\n\
+#ifdef BOGUS_RECURSION\n",
+ "-e", "/^#include <stdlib.h>/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 51 - Next_Math_Prefix fix
+ * Description 50 - Next_Math_Prefix fix
*/
tSCC zNext_Math_PrefixName[] =
"Next_Math_Prefix";
@@ -1884,7 +1807,7 @@ tSCC zNext_Math_PrefixName[] =
* File name selection pattern
*/
tSCC zNext_Math_PrefixList[] =
- "|" "ansi/math.h" "|";
+ "|ansi/math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1914,7 +1837,7 @@ const char* apzNext_Math_PrefixPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 52 - Next_Template fix
+ * Description 51 - Next_Template fix
*/
tSCC zNext_TemplateName[] =
"Next_Template";
@@ -1922,7 +1845,7 @@ tSCC zNext_TemplateName[] =
* File name selection pattern
*/
tSCC zNext_TemplateList[] =
- "|" "bsd/libc.h" "|";
+ "|bsd/libc.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1949,7 +1872,7 @@ const char* apzNext_TemplatePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 53 - Next_Volitile fix
+ * Description 52 - Next_Volitile fix
*/
tSCC zNext_VolitileName[] =
"Next_Volitile";
@@ -1957,7 +1880,7 @@ tSCC zNext_VolitileName[] =
* File name selection pattern
*/
tSCC zNext_VolitileList[] =
- "|" "ansi/stdlib.h" "|";
+ "|ansi/stdlib.h|";
/*
* Machine/OS name selection pattern
*/
@@ -1984,7 +1907,7 @@ const char* apzNext_VolitilePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 54 - Next_Wait_Union fix
+ * Description 53 - Next_Wait_Union fix
*/
tSCC zNext_Wait_UnionName[] =
"Next_Wait_Union";
@@ -1992,7 +1915,7 @@ tSCC zNext_Wait_UnionName[] =
* File name selection pattern
*/
tSCC zNext_Wait_UnionList[] =
- "|" "sys/wait.h" "|";
+ "|sys/wait.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2018,7 +1941,7 @@ const char* apzNext_Wait_UnionPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 55 - Nodeent_Syntax fix
+ * Description 54 - Nodeent_Syntax fix
*/
tSCC zNodeent_SyntaxName[] =
"Nodeent_Syntax";
@@ -2026,7 +1949,7 @@ tSCC zNodeent_SyntaxName[] =
* File name selection pattern
*/
tSCC zNodeent_SyntaxList[] =
- "|" "netdnet/dnetdb.h" "|";
+ "|netdnet/dnetdb.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2044,7 +1967,7 @@ const char* apzNodeent_SyntaxPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 56 - Osf_Namespace_A fix
+ * Description 55 - Osf_Namespace_A fix
*/
tSCC zOsf_Namespace_AName[] =
"Osf_Namespace_A";
@@ -2052,8 +1975,7 @@ tSCC zOsf_Namespace_AName[] =
* File name selection pattern
*/
tSCC zOsf_Namespace_AList[] =
- "|" "reg_types.h"
- "|" "sys/lc_core.h" "|";
+ "|reg_types.h|sys/lc_core.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2090,7 +2012,7 @@ const char* apzOsf_Namespace_APatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 57 - Osf_Namespace_B fix
+ * Description 56 - Osf_Namespace_B fix
*/
tSCC zOsf_Namespace_BName[] =
"Osf_Namespace_B";
@@ -2098,7 +2020,7 @@ tSCC zOsf_Namespace_BName[] =
* File name selection pattern
*/
tSCC zOsf_Namespace_BList[] =
- "|" "regex.h" "|";
+ "|regex.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2128,15 +2050,15 @@ tTestDesc aOsf_Namespace_BTests[] = {
* Fix Command Arguments for Osf_Namespace_B
*/
const char* apzOsf_Namespace_BPatch[] = { "sed",
- "-e", "/#include <reg_types.h>/a\\\n"
- "typedef __regex_t\tregex_t;\\\n"
- "typedef __regoff_t\tregoff_t;\\\n"
- "typedef __regmatch_t\tregmatch_t;\n",
+ "-e", "/#include <reg_types.h>/a\\\n\
+typedef __regex_t\tregex_t;\\\n\
+typedef __regoff_t\tregoff_t;\\\n\
+typedef __regmatch_t\tregmatch_t;\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 58 - Pthread_Page_Size fix
+ * Description 57 - Pthread_Page_Size fix
*/
tSCC zPthread_Page_SizeName[] =
"Pthread_Page_Size";
@@ -2144,7 +2066,7 @@ tSCC zPthread_Page_SizeName[] =
* File name selection pattern
*/
tSCC zPthread_Page_SizeList[] =
- "|" "pthread.h" "|";
+ "|pthread.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2170,7 +2092,7 @@ const char* apzPthread_Page_SizePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 59 - Rs6000_Double fix
+ * Description 58 - Rs6000_Double fix
*/
tSCC zRs6000_DoubleName[] =
"Rs6000_Double";
@@ -2178,7 +2100,7 @@ tSCC zRs6000_DoubleName[] =
* File name selection pattern
*/
tSCC zRs6000_DoubleList[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2199,15 +2121,15 @@ tTestDesc aRs6000_DoubleTests[] = {
* Fix Command Arguments for Rs6000_Double
*/
const char* apzRs6000_DoublePatch[] = { "sed",
- "-e", "/class[(]/i\\\n"
- "#ifndef __cplusplus\n",
- "-e", "/class[(]/a\\\n"
- "#endif\n",
+ "-e", "/class[(]/i\\\n\
+#ifndef __cplusplus\n",
+ "-e", "/class[(]/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 60 - Rs6000_Fchmod fix
+ * Description 59 - Rs6000_Fchmod fix
*/
tSCC zRs6000_FchmodName[] =
"Rs6000_Fchmod";
@@ -2215,7 +2137,7 @@ tSCC zRs6000_FchmodName[] =
* File name selection pattern
*/
tSCC zRs6000_FchmodList[] =
- "|" "sys/stat.h" "|";
+ "|sys/stat.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2241,7 +2163,7 @@ const char* apzRs6000_FchmodPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 61 - Rs6000_Param fix
+ * Description 60 - Rs6000_Param fix
*/
tSCC zRs6000_ParamName[] =
"Rs6000_Param";
@@ -2249,8 +2171,7 @@ tSCC zRs6000_ParamName[] =
* File name selection pattern
*/
tSCC zRs6000_ParamList[] =
- "|" "stdio.h"
- "|" "unistd.h" "|";
+ "|stdio.h|unistd.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2268,7 +2189,7 @@ const char* apzRs6000_ParamPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 62 - Sony_Include fix
+ * Description 61 - Sony_Include fix
*/
tSCC zSony_IncludeName[] =
"Sony_Include";
@@ -2276,7 +2197,7 @@ tSCC zSony_IncludeName[] =
* File name selection pattern
*/
tSCC zSony_IncludeList[] =
- "|" "machine/machparam.h" "|";
+ "|machine/machparam.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2302,7 +2223,7 @@ const char* apzSony_IncludePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 63 - Statsswtch fix
+ * Description 62 - Statsswtch fix
*/
tSCC zStatsswtchName[] =
"Statsswtch";
@@ -2310,7 +2231,7 @@ tSCC zStatsswtchName[] =
* File name selection pattern
*/
tSCC zStatsswtchList[] =
- "|" "rpcsvc/rstat.h" "|";
+ "|rpcsvc/rstat.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2336,7 +2257,7 @@ const char* apzStatsswtchPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 64 - Stdio_Va_List fix
+ * Description 63 - Stdio_Va_List fix
*/
tSCC zStdio_Va_ListName[] =
"Stdio_Va_List";
@@ -2344,7 +2265,7 @@ tSCC zStdio_Va_ListName[] =
* File name selection pattern
*/
tSCC zStdio_Va_ListList[] =
- "|" "stdio.h" "|";
+ "|stdio.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2357,29 +2278,29 @@ tSCC zStdio_Va_ListList[] =
* Fix Command Arguments for Stdio_Va_List
*/
const char* apzStdio_Va_ListPatch[] = { "sh", "-c",
- "if ( egrep \"__need___va_list\" $file ) > /dev/null 2>&1 ; then\n"
- " :\n"
- " else\n"
- " echo \"#define __need___va_list\"\n"
- " echo \"#include <stdarg.h>\"\n"
- " fi\n"
- "\n"
- " sed -e 's@ va_list @ __gnuc_va_list @' \\\n"
- " -e 's@ va_list)@ __gnuc_va_list)@' \\\n"
- " -e 's@ _BSD_VA_LIST_));@ __gnuc_va_list));@' \\\n"
- " -e 's@ _VA_LIST_));@ __gnuc_va_list));@' \\\n"
- " -e 's@ va_list@ __va_list__@' \\\n"
- " -e 's@\\*va_list@*__va_list__@' \\\n"
- " -e 's@ __va_list)@ __gnuc_va_list)@' \\\n"
- " -e 's@GNUC_VA_LIST@GNUC_Va_LIST@' \\\n"
- " -e 's@_NEED___VA_LIST@_NEED___Va_LIST@' \\\n"
- " -e 's@VA_LIST@DUMMY_VA_LIST@' \\\n"
- " -e 's@_Va_LIST@_VA_LIST@'",
+ "if ( egrep \"__need___va_list\" $file ) > /dev/null 2>&1 ; then\n\
+ :\n\
+ else\n\
+ echo \"#define __need___va_list\"\n\
+ echo \"#include <stdarg.h>\"\n\
+ fi\n\
+\n\
+ sed -e 's@ va_list @ __gnuc_va_list @' \\\n\
+ -e 's@ va_list)@ __gnuc_va_list)@' \\\n\
+ -e 's@ _BSD_VA_LIST_));@ __gnuc_va_list));@' \\\n\
+ -e 's@ _VA_LIST_));@ __gnuc_va_list));@' \\\n\
+ -e 's@ va_list@ __va_list__@' \\\n\
+ -e 's@\\*va_list@*__va_list__@' \\\n\
+ -e 's@ __va_list)@ __gnuc_va_list)@' \\\n\
+ -e 's@GNUC_VA_LIST@GNUC_Va_LIST@' \\\n\
+ -e 's@_NEED___VA_LIST@_NEED___Va_LIST@' \\\n\
+ -e 's@VA_LIST@DUMMY_VA_LIST@' \\\n\
+ -e 's@_Va_LIST@_VA_LIST@'",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 65 - Sun_Bogus_Ifdef fix
+ * Description 64 - Sun_Bogus_Ifdef fix
*/
tSCC zSun_Bogus_IfdefName[] =
"Sun_Bogus_Ifdef";
@@ -2387,8 +2308,7 @@ tSCC zSun_Bogus_IfdefName[] =
* File name selection pattern
*/
tSCC zSun_Bogus_IfdefList[] =
- "|" "hsfs/hsfs_spec.h"
- "|" "hsfs/iso_spec.h" "|";
+ "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2414,7 +2334,7 @@ const char* apzSun_Bogus_IfdefPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 66 - Sun_Bogus_Ifdef_Sun4c fix
+ * Description 65 - Sun_Bogus_Ifdef_Sun4c fix
*/
tSCC zSun_Bogus_Ifdef_Sun4cName[] =
"Sun_Bogus_Ifdef_Sun4c";
@@ -2422,7 +2342,7 @@ tSCC zSun_Bogus_Ifdef_Sun4cName[] =
* File name selection pattern
*/
tSCC zSun_Bogus_Ifdef_Sun4cList[] =
- "|" "hsfs/hsnode.h" "|";
+ "|hsfs/hsnode.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2448,7 +2368,7 @@ const char* apzSun_Bogus_Ifdef_Sun4cPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 67 - Sun_Catmacro fix
+ * Description 66 - Sun_Catmacro fix
*/
tSCC zSun_CatmacroName[] =
"Sun_Catmacro";
@@ -2456,7 +2376,7 @@ tSCC zSun_CatmacroName[] =
* File name selection pattern
*/
tSCC zSun_CatmacroList[] =
- "|" "pixrect/memvar.h" "|";
+ "|pixrect/memvar.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2466,7 +2386,7 @@ tSCC zSun_CatmacroList[] =
* content selection pattern - do fix if pattern found
*/
tSCC zSun_CatmacroSelect0[] =
- "^#define[ \t]+CAT(a,b)";
+ "^#define[ \t]+CAT\\(a,b\\)";
#define SUN_CATMACRO_TEST_CT 1
#define SUN_CATMACRO_RE_CT 1
@@ -2477,17 +2397,17 @@ tTestDesc aSun_CatmacroTests[] = {
* Fix Command Arguments for Sun_Catmacro
*/
const char* apzSun_CatmacroPatch[] = { "sed",
- "-e", "/^#define[ \t]CAT(a,b)/ i\\\n"
- "#ifdef __STDC__ \\\n"
- "#define CAT(a,b) a##b\\\n"
- "#else\n",
- "-e", "/^#define[ \t]CAT(a,b)/ a\\\n"
- "#endif\n",
+ "-e", "/^#define[ \t]CAT(a,b)/ i\\\n\
+#ifdef __STDC__ \\\n\
+#define CAT(a,b) a##b\\\n\
+#else\n",
+ "-e", "/^#define[ \t]CAT(a,b)/ a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 68 - Sun_Malloc fix
+ * Description 67 - Sun_Malloc fix
*/
tSCC zSun_MallocName[] =
"Sun_Malloc";
@@ -2495,7 +2415,7 @@ tSCC zSun_MallocName[] =
* File name selection pattern
*/
tSCC zSun_MallocList[] =
- "|" "malloc.h" "|";
+ "|malloc.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2516,7 +2436,7 @@ const char* apzSun_MallocPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 69 - Sun_Memcpy fix
+ * Description 68 - Sun_Memcpy fix
*/
tSCC zSun_MemcpyName[] =
"Sun_Memcpy";
@@ -2524,7 +2444,7 @@ tSCC zSun_MemcpyName[] =
* File name selection pattern
*/
tSCC zSun_MemcpyList[] =
- "|" "memory.h" "|";
+ "|memory.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2545,32 +2465,32 @@ tTestDesc aSun_MemcpyTests[] = {
* Fix Command Arguments for Sun_Memcpy
*/
const char* apzSun_MemcpyPatch[] = { "sed",
- "-e", "1i\\\n"
- "/* This file was generated by fixincludes */\\\n"
- "#ifndef __memory_h__\\\n"
- "#define __memory_h__\\\n"
- "\\\n"
- "#ifdef __STDC__\\\n"
- "extern void *memccpy();\\\n"
- "extern void *memchr();\\\n"
- "extern void *memcpy();\\\n"
- "extern void *memset();\\\n"
- "#else\\\n"
- "extern char *memccpy();\\\n"
- "extern char *memchr();\\\n"
- "extern char *memcpy();\\\n"
- "extern char *memset();\\\n"
- "#endif /* __STDC__ */\\\n"
- "\\\n"
- "extern int memcmp();\\\n"
- "\\\n"
- "#endif /* __memory_h__ */\n",
+ "-e", "1i\\\n\
+/* This file was generated by fixincludes */\\\n\
+#ifndef __memory_h__\\\n\
+#define __memory_h__\\\n\
+\\\n\
+#ifdef __STDC__\\\n\
+extern void *memccpy();\\\n\
+extern void *memchr();\\\n\
+extern void *memcpy();\\\n\
+extern void *memset();\\\n\
+#else\\\n\
+extern char *memccpy();\\\n\
+extern char *memchr();\\\n\
+extern char *memcpy();\\\n\
+extern char *memset();\\\n\
+#endif /* __STDC__ */\\\n\
+\\\n\
+extern int memcmp();\\\n\
+\\\n\
+#endif /* __memory_h__ */\n",
"-e", "1,$d",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 70 - Sun_Rusers_Semi fix
+ * Description 69 - Sun_Rusers_Semi fix
*/
tSCC zSun_Rusers_SemiName[] =
"Sun_Rusers_Semi";
@@ -2578,7 +2498,7 @@ tSCC zSun_Rusers_SemiName[] =
* File name selection pattern
*/
tSCC zSun_Rusers_SemiList[] =
- "|" "rpcsvc/rusers.h" "|";
+ "|rpcsvc/rusers.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2604,7 +2524,7 @@ const char* apzSun_Rusers_SemiPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 71 - Sun_Signal fix
+ * Description 70 - Sun_Signal fix
*/
tSCC zSun_SignalName[] =
"Sun_Signal";
@@ -2612,8 +2532,7 @@ tSCC zSun_SignalName[] =
* File name selection pattern
*/
tSCC zSun_SignalList[] =
- "|" "sys/signal.h"
- "|" "signal.h" "|";
+ "|sys/signal.h|signal.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2634,17 +2553,17 @@ tTestDesc aSun_SignalTests[] = {
* Fix Command Arguments for Sun_Signal
*/
const char* apzSun_SignalPatch[] = { "sed",
- "-e", "/^void\t(\\*signal())();$/i\\\n"
- "#ifdef __cplusplus\\\n"
- "void\t(*signal(...))(...);\\\n"
- "#else\n",
- "-e", "/^void\t(\\*signal())();$/a\\\n"
- "#endif\n",
+ "-e", "/^void\t(\\*signal())();$/i\\\n\
+#ifdef __cplusplus\\\n\
+void\t(*signal(...))(...);\\\n\
+#else\n",
+ "-e", "/^void\t(\\*signal())();$/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 72 - Sun_Auth_Proto fix
+ * Description 71 - Sun_Auth_Proto fix
*/
tSCC zSun_Auth_ProtoName[] =
"Sun_Auth_Proto";
@@ -2652,10 +2571,7 @@ tSCC zSun_Auth_ProtoName[] =
* File name selection pattern
*/
tSCC zSun_Auth_ProtoList[] =
- "|" "rpc/auth.h"
- "|" "rpc/clnt.h"
- "|" "rpc/svc.h"
- "|" "rpc/xdr.h" "|";
+ "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2667,33 +2583,26 @@ tSCC zSun_Auth_ProtoList[] =
tSCC zSun_Auth_ProtoSelect0[] =
"\\(\\*[a-z][a-z_]*\\)\\(\\)";
-/*
- * content bypass pattern - skip fix if pattern found
- */
-tSCC zSun_Auth_ProtoBypass0[] =
- "\\(\\*[a-z][a-z_]*\\)\\([ \t]*[a-zA-Z.].*\\)";
-
-#define SUN_AUTH_PROTO_TEST_CT 2
-#define SUN_AUTH_PROTO_RE_CT 2
+#define SUN_AUTH_PROTO_TEST_CT 1
+#define SUN_AUTH_PROTO_RE_CT 1
tTestDesc aSun_Auth_ProtoTests[] = {
- { TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL },
{ TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Sun_Auth_Proto
*/
const char* apzSun_Auth_ProtoPatch[] = { "sed",
- "-e", "s/^\\(.*(\\*[a-z][a-z_]*)(\\)\\();.*\\)/\\\n"
- "#ifdef __cplusplus\\\n"
- "\\1...\\2\\\n"
- "#else\\\n"
- "\\1\\2\\\n"
- "#endif/",
+ "-e", "s/^\\(.*(\\*[a-z][a-z_]*)(\\)\\();.*\\)/\\\n\
+#ifdef __cplusplus\\\n\
+\\1...\\2\\\n\
+#else\\\n\
+\\1\\2\\\n\
+#endif/",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 73 - Sunos_Matherr_Decl fix
+ * Description 72 - Sunos_Matherr_Decl fix
*/
tSCC zSunos_Matherr_DeclName[] =
"Sunos_Matherr_Decl";
@@ -2701,7 +2610,7 @@ tSCC zSunos_Matherr_DeclName[] =
* File name selection pattern
*/
tSCC zSunos_Matherr_DeclList[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2715,13 +2624,13 @@ tSCC zSunos_Matherr_DeclList[] =
*/
const char* apzSunos_Matherr_DeclPatch[] = { "sed",
"-e", "/^struct exception/,$b",
- "-e", "/matherr/i\\\n"
- "struct exception;\n",
+ "-e", "/matherr/i\\\n\
+struct exception;\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 74 - Sunos_Strlen fix
+ * Description 73 - Sunos_Strlen fix
*/
tSCC zSunos_StrlenName[] =
"Sunos_Strlen";
@@ -2729,7 +2638,7 @@ tSCC zSunos_StrlenName[] =
* File name selection pattern
*/
tSCC zSunos_StrlenList[] =
- "|" "strings.h" "|";
+ "|strings.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2747,7 +2656,7 @@ const char* apzSunos_StrlenPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 75 - Systypes fix
+ * Description 74 - Systypes fix
*/
tSCC zSystypesName[] =
"Systypes";
@@ -2755,12 +2664,7 @@ tSCC zSystypesName[] =
* File name selection pattern
*/
tSCC zSystypesList[] =
- "|" "sys/types.h"
- "|" "stdlib.h"
- "|" "sys/stdtypes.h"
- "|" "stddef.h"
- "|" "memory.h"
- "|" "unistd.h" "|";
+ "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2782,35 +2686,35 @@ tTestDesc aSystypesTests[] = {
*/
const char* apzSystypesPatch[] = { "sed",
"-e", "/^[ \t]*\\*[ \t]*typedef unsigned int size_t;/N",
- "-e", "s/^\\([ \t]*\\*[ \t]*typedef unsigned int size_t;\\n[ \t]*\\*\\/\\)/\\1\\\n"
- "#ifndef __SIZE_TYPE__\\\n"
- "#define __SIZE_TYPE__ long unsigned int\\\n"
- "#endif\\\n"
- "typedef __SIZE_TYPE__ size_t;\\\n"
- "/",
- "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/i\\\n"
- "#ifndef __SIZE_TYPE__\\\n"
- "#define __SIZE_TYPE__ long unsigned int\\\n"
- "#endif\n",
+ "-e", "s/^\\([ \t]*\\*[ \t]*typedef unsigned int size_t;\\n[ \t]*\\*\\/\\)/\\1\\\n\
+#ifndef __SIZE_TYPE__\\\n\
+#define __SIZE_TYPE__ long unsigned int\\\n\
+#endif\\\n\
+typedef __SIZE_TYPE__ size_t;\\\n\
+/",
+ "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/i\\\n\
+#ifndef __SIZE_TYPE__\\\n\
+#define __SIZE_TYPE__ long unsigned int\\\n\
+#endif\n",
"-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/typedef __SIZE_TYPE__ size_t/",
- "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/i\\\n"
- "#ifndef __PTRDIFF_TYPE__\\\n"
- "#define __PTRDIFF_TYPE__ long int\\\n"
- "#endif\n",
+ "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/i\\\n\
+#ifndef __PTRDIFF_TYPE__\\\n\
+#define __PTRDIFF_TYPE__ long int\\\n\
+#endif\n",
"-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/typedef __PTRDIFF_TYPE__ ptrdiff_t/",
- "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/i\\\n"
- "#ifndef __WCHAR_TYPE__\\\n"
- "#define __WCHAR_TYPE__ int\\\n"
- "#endif\\\n"
- "#ifndef __cplusplus\n",
- "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/a\\\n"
- "#endif\n",
+ "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/i\\\n\
+#ifndef __WCHAR_TYPE__\\\n\
+#define __WCHAR_TYPE__ int\\\n\
+#endif\\\n\
+#ifndef __cplusplus\n",
+ "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/a\\\n\
+#endif\n",
"-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/typedef __WCHAR_TYPE__ wchar_t/",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 76 - Systypes_For_Aix fix
+ * Description 75 - Systypes_For_Aix fix
*/
tSCC zSystypes_For_AixName[] =
"Systypes_For_Aix";
@@ -2818,7 +2722,7 @@ tSCC zSystypes_For_AixName[] =
* File name selection pattern
*/
tSCC zSystypes_For_AixList[] =
- "|" "sys/types.h" "|";
+ "|sys/types.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2846,16 +2750,16 @@ tTestDesc aSystypes_For_AixTests[] = {
* Fix Command Arguments for Systypes_For_Aix
*/
const char* apzSystypes_For_AixPatch[] = { "sed",
- "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/i\\\n"
- "#ifndef _GCC_SIZE_T\\\n"
- "#define _GCC_SIZE_T\n",
- "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/a\\\n"
- "#endif\n",
+ "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/i\\\n\
+#ifndef _GCC_SIZE_T\\\n\
+#define _GCC_SIZE_T\n",
+ "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 77 - Sysv68_String fix
+ * Description 76 - Sysv68_String fix
*/
tSCC zSysv68_StringName[] =
"Sysv68_String";
@@ -2863,7 +2767,7 @@ tSCC zSysv68_StringName[] =
* File name selection pattern
*/
tSCC zSysv68_StringList[] =
- "|" "string.h" "|";
+ "|string.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2882,16 +2786,16 @@ const char* apzSysv68_StringPatch[] = { "sed",
"-e", "/^extern char$/N",
"-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
"-e", "/^\tstrncmp(),$/N",
- "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n"
- "extern unsigned int\\\n"
- "\\2/",
+ "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
+extern unsigned int\\\n\
+\\2/",
"-e", "/^extern int$/N",
"-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 78 - Sysz_Stdlib_For_Sun fix
+ * Description 77 - Sysz_Stdlib_For_Sun fix
*/
tSCC zSysz_Stdlib_For_SunName[] =
"Sysz_Stdlib_For_Sun";
@@ -2899,7 +2803,7 @@ tSCC zSysz_Stdlib_For_SunName[] =
* File name selection pattern
*/
tSCC zSysz_Stdlib_For_SunList[] =
- "|" "stdlib.h" "|";
+ "|stdlib.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2917,17 +2821,18 @@ const char* apzSysz_Stdlib_For_SunPatch[] = { "sed",
"-e", "s/char[ \t]*\\*[ \t]*calloc/void \\*\tcalloc/g",
"-e", "s/char[ \t]*\\*[ \t]*malloc/void \\*\tmalloc/g",
"-e", "s/char[ \t]*\\*[ \t]*realloc/void \\*\trealloc/g",
+ "-e", "s/char[ \t]*\\*[ \t]*bsearch/void \\*\tbsearch/g",
"-e", "s/int[ \t][ \t]*exit/void\texit/g",
- "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/i\\\n"
- "#ifndef _GCC_SIZE_T\\\n"
- "#define _GCC_SIZE_T\n",
- "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/a\\\n"
- "#endif\n",
+ "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/i\\\n\
+#ifndef _GCC_SIZE_T\\\n\
+#define _GCC_SIZE_T\n",
+ "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 79 - Sysz_Stdtypes_For_Sun fix
+ * Description 78 - Sysz_Stdtypes_For_Sun fix
*/
tSCC zSysz_Stdtypes_For_SunName[] =
"Sysz_Stdtypes_For_Sun";
@@ -2935,7 +2840,7 @@ tSCC zSysz_Stdtypes_For_SunName[] =
* File name selection pattern
*/
tSCC zSysz_Stdtypes_For_SunList[] =
- "|" "sys/stdtypes.h" "|";
+ "|sys/stdtypes.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2948,26 +2853,26 @@ tSCC zSysz_Stdtypes_For_SunList[] =
* Fix Command Arguments for Sysz_Stdtypes_For_Sun
*/
const char* apzSysz_Stdtypes_For_SunPatch[] = { "sed",
- "-e", "/[\t ]size_t.*;/i\\\n"
- "#ifndef _GCC_SIZE_T\\\n"
- "#define _GCC_SIZE_T\n",
- "-e", "/[\t ]size_t.*;/a\\\n"
- "#endif\n",
- "-e", "/[\t ]ptrdiff_t.*;/i\\\n"
- "#ifndef _GCC_PTRDIFF_T\\\n"
- "#define _GCC_PTRDIFF_T\n",
- "-e", "/[\t ]ptrdiff_t.*;/a\\\n"
- "#endif\n",
- "-e", "/[\t ]wchar_t.*;/i\\\n"
- "#ifndef _GCC_WCHAR_T\\\n"
- "#define _GCC_WCHAR_T\n",
- "-e", "/[\t ]wchar_t.*;/a\\\n"
- "#endif\n",
+ "-e", "/[\t ]size_t.*;/i\\\n\
+#ifndef _GCC_SIZE_T\\\n\
+#define _GCC_SIZE_T\n",
+ "-e", "/[\t ]size_t.*;/a\\\n\
+#endif\n",
+ "-e", "/[\t ]ptrdiff_t.*;/i\\\n\
+#ifndef _GCC_PTRDIFF_T\\\n\
+#define _GCC_PTRDIFF_T\n",
+ "-e", "/[\t ]ptrdiff_t.*;/a\\\n\
+#endif\n",
+ "-e", "/[\t ]wchar_t.*;/i\\\n\
+#ifndef _GCC_WCHAR_T\\\n\
+#define _GCC_WCHAR_T\n",
+ "-e", "/[\t ]wchar_t.*;/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 80 - Tinfo_Cplusplus fix
+ * Description 79 - Tinfo_Cplusplus fix
*/
tSCC zTinfo_CplusplusName[] =
"Tinfo_Cplusplus";
@@ -2975,7 +2880,7 @@ tSCC zTinfo_CplusplusName[] =
* File name selection pattern
*/
tSCC zTinfo_CplusplusList[] =
- "|" "tinfo.h" "|";
+ "|tinfo.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2993,7 +2898,7 @@ const char* apzTinfo_CplusplusPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 81 - Ultrix_Ansi_Compat fix
+ * Description 80 - Ultrix_Ansi_Compat fix
*/
tSCC zUltrix_Ansi_CompatName[] =
"Ultrix_Ansi_Compat";
@@ -3001,7 +2906,7 @@ tSCC zUltrix_Ansi_CompatName[] =
* File name selection pattern
*/
tSCC zUltrix_Ansi_CompatList[] =
- "|" "ansi_compat.h" "|";
+ "|ansi_compat.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3022,14 +2927,14 @@ tTestDesc aUltrix_Ansi_CompatTests[] = {
* Fix Command Arguments for Ultrix_Ansi_Compat
*/
const char* apzUltrix_Ansi_CompatPatch[] = { "sed",
- "-e", "1i\\\n"
- "/* This file intentionally left blank. */\n",
+ "-e", "1i\\\n\
+/* This file intentionally left blank. */\n",
"-e", "1,$d",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 82 - Ultrix_Fix_Fixproto fix
+ * Description 81 - Ultrix_Fix_Fixproto fix
*/
tSCC zUltrix_Fix_FixprotoName[] =
"Ultrix_Fix_Fixproto";
@@ -3037,7 +2942,7 @@ tSCC zUltrix_Fix_FixprotoName[] =
* File name selection pattern
*/
tSCC zUltrix_Fix_FixprotoList[] =
- "|" "sys/utsname.h" "|";
+ "|sys/utsname.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3058,13 +2963,13 @@ tTestDesc aUltrix_Fix_FixprotoTests[] = {
* Fix Command Arguments for Ultrix_Fix_Fixproto
*/
const char* apzUltrix_Fix_FixprotoPatch[] = { "sed",
- "-e", "/^[ \t]*extern[ \t]*int[ \t]*uname();$/i\\\n"
- "struct utsname;\n",
+ "-e", "/^[ \t]*extern[ \t]*int[ \t]*uname();$/i\\\n\
+struct utsname;\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 83 - Ultrix_Atof_Param fix
+ * Description 82 - Ultrix_Atof_Param fix
*/
tSCC zUltrix_Atof_ParamName[] =
"Ultrix_Atof_Param";
@@ -3072,7 +2977,7 @@ tSCC zUltrix_Atof_ParamName[] =
* File name selection pattern
*/
tSCC zUltrix_Atof_ParamList[] =
- "|" "math.h" "|";
+ "|math.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3094,7 +2999,7 @@ const char* apzUltrix_Atof_ParamPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 84 - Ultrix_Const fix
+ * Description 83 - Ultrix_Const fix
*/
tSCC zUltrix_ConstName[] =
"Ultrix_Const";
@@ -3102,7 +3007,7 @@ tSCC zUltrix_ConstName[] =
* File name selection pattern
*/
tSCC zUltrix_ConstList[] =
- "|" "stdio.h" "|";
+ "|stdio.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3128,7 +3033,7 @@ const char* apzUltrix_ConstPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 85 - Ultrix_Ifdef fix
+ * Description 84 - Ultrix_Ifdef fix
*/
tSCC zUltrix_IfdefName[] =
"Ultrix_Ifdef";
@@ -3136,7 +3041,7 @@ tSCC zUltrix_IfdefName[] =
* File name selection pattern
*/
tSCC zUltrix_IfdefList[] =
- "|" "sys/file.h" "|";
+ "|sys/file.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3162,7 +3067,7 @@ const char* apzUltrix_IfdefPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 86 - Ultrix_Nested_Cmnt fix
+ * Description 85 - Ultrix_Nested_Cmnt fix
*/
tSCC zUltrix_Nested_CmntName[] =
"Ultrix_Nested_Cmnt";
@@ -3170,7 +3075,7 @@ tSCC zUltrix_Nested_CmntName[] =
* File name selection pattern
*/
tSCC zUltrix_Nested_CmntList[] =
- "|" "rpc/svc.h" "|";
+ "|rpc/svc.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3188,7 +3093,7 @@ const char* apzUltrix_Nested_CmntPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 87 - Ultrix_Static fix
+ * Description 86 - Ultrix_Static fix
*/
tSCC zUltrix_StaticName[] =
"Ultrix_Static";
@@ -3196,7 +3101,7 @@ tSCC zUltrix_StaticName[] =
* File name selection pattern
*/
tSCC zUltrix_StaticList[] =
- "|" "machine/cpu.h" "|";
+ "|machine/cpu.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3224,7 +3129,7 @@ const char* apzUltrix_StaticPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 88 - Undefine_Null fix
+ * Description 87 - Undefine_Null fix
*/
tSCC zUndefine_NullName[] =
"Undefine_Null";
@@ -3259,13 +3164,13 @@ tTestDesc aUndefine_NullTests[] = {
* Fix Command Arguments for Undefine_Null
*/
const char* apzUndefine_NullPatch[] = { "sed",
- "-e", "/^#[ \t]*define[ \t][ \t]*NULL[ \t]/i\\\n"
- "#undef NULL\n",
+ "-e", "/^#[ \t]*define[ \t][ \t]*NULL[ \t]/i\\\n\
+#undef NULL\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 89 - Va_I960_Macro fix
+ * Description 88 - Va_I960_Macro fix
*/
tSCC zVa_I960_MacroName[] =
"Va_I960_Macro";
@@ -3273,7 +3178,7 @@ tSCC zVa_I960_MacroName[] =
* File name selection pattern
*/
tSCC zVa_I960_MacroList[] =
- "|" "arch/i960/archI960.h" "|";
+ "|arch/i960/archI960.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3302,7 +3207,7 @@ const char* apzVa_I960_MacroPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 90 - Void_Null fix
+ * Description 89 - Void_Null fix
*/
tSCC zVoid_NullName[] =
"Void_Null";
@@ -3310,17 +3215,7 @@ tSCC zVoid_NullName[] =
* File name selection pattern
*/
tSCC zVoid_NullList[] =
- "|" "curses.h"
- "|" "dbm.h"
- "|" "locale.h"
- "|" "stdio.h"
- "|" "stdlib.h"
- "|" "string.h"
- "|" "time.h"
- "|" "unistd.h"
- "|" "sys/dir.h"
- "|" "sys/param.h"
- "|" "sys/types.h" "|";
+ "|curses.h|dbm.h|locale.h|stdio.h|stdlib.h|string.h|time.h|unistd.h|sys/dir.h|sys/param.h|sys/types.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3346,7 +3241,7 @@ const char* apzVoid_NullPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 91 - Vxworks_Gcc_Problem fix
+ * Description 90 - Vxworks_Gcc_Problem fix
*/
tSCC zVxworks_Gcc_ProblemName[] =
"Vxworks_Gcc_Problem";
@@ -3354,7 +3249,7 @@ tSCC zVxworks_Gcc_ProblemName[] =
* File name selection pattern
*/
tSCC zVxworks_Gcc_ProblemList[] =
- "|" "types/vxTypesBase.h" "|";
+ "|types/vxTypesBase.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3376,26 +3271,26 @@ tTestDesc aVxworks_Gcc_ProblemTests[] = {
*/
const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
"-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
- "-e", "/[ \t]size_t/i\\\n"
- "#ifndef _GCC_SIZE_T\\\n"
- "#define _GCC_SIZE_T\n",
- "-e", "/[ \t]size_t/a\\\n"
- "#endif\n",
- "-e", "/[ \t]ptrdiff_t/i\\\n"
- "#ifndef _GCC_PTRDIFF_T\\\n"
- "#define _GCC_PTRDIFF_T\n",
- "-e", "/[ \t]ptrdiff_t/a\\\n"
- "#endif\n",
- "-e", "/[ \t]wchar_t/i\\\n"
- "#ifndef _GCC_WCHAR_T\\\n"
- "#define _GCC_WCHAR_T\n",
- "-e", "/[ \t]wchar_t/a\\\n"
- "#endif\n",
+ "-e", "/[ \t]size_t/i\\\n\
+#ifndef _GCC_SIZE_T\\\n\
+#define _GCC_SIZE_T\n",
+ "-e", "/[ \t]size_t/a\\\n\
+#endif\n",
+ "-e", "/[ \t]ptrdiff_t/i\\\n\
+#ifndef _GCC_PTRDIFF_T\\\n\
+#define _GCC_PTRDIFF_T\n",
+ "-e", "/[ \t]ptrdiff_t/a\\\n\
+#endif\n",
+ "-e", "/[ \t]wchar_t/i\\\n\
+#ifndef _GCC_WCHAR_T\\\n\
+#define _GCC_WCHAR_T\n",
+ "-e", "/[ \t]wchar_t/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 92 - Vxworks_Needs_Vxtypes fix
+ * Description 91 - Vxworks_Needs_Vxtypes fix
*/
tSCC zVxworks_Needs_VxtypesName[] =
"Vxworks_Needs_Vxtypes";
@@ -3403,7 +3298,7 @@ tSCC zVxworks_Needs_VxtypesName[] =
* File name selection pattern
*/
tSCC zVxworks_Needs_VxtypesList[] =
- "|" "time.h" "|";
+ "|time.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3429,7 +3324,7 @@ const char* apzVxworks_Needs_VxtypesPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 93 - Vxworks_Needs_Vxworks fix
+ * Description 92 - Vxworks_Needs_Vxworks fix
*/
tSCC zVxworks_Needs_VxworksName[] =
"Vxworks_Needs_Vxworks";
@@ -3437,7 +3332,7 @@ tSCC zVxworks_Needs_VxworksName[] =
* File name selection pattern
*/
tSCC zVxworks_Needs_VxworksList[] =
- "|" "sys/stat.h" "|";
+ "|sys/stat.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3471,13 +3366,13 @@ tTestDesc aVxworks_Needs_VxworksTests[] = {
* Fix Command Arguments for Vxworks_Needs_Vxworks
*/
const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
- "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n"
- "#include <types/vxTypesOld.h>\n",
+ "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
+#include <types/vxTypesOld.h>\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 94 - Vxworks_Time fix
+ * Description 93 - Vxworks_Time fix
*/
tSCC zVxworks_TimeName[] =
"Vxworks_Time";
@@ -3485,7 +3380,7 @@ tSCC zVxworks_TimeName[] =
* File name selection pattern
*/
tSCC zVxworks_TimeList[] =
- "|" "time.h" "|";
+ "|time.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3513,21 +3408,21 @@ tTestDesc aVxworks_TimeTests[] = {
* Fix Command Arguments for Vxworks_Time
*/
const char* apzVxworks_TimePatch[] = { "sed",
- "-e", "/VOIDFUNCPTR/i\\\n"
- "#ifndef __gcc_VOIDFUNCPTR_defined\\\n"
- "#ifdef __cplusplus\\\n"
- "typedef void (*__gcc_VOIDFUNCPTR) (...);\\\n"
- "#else\\\n"
- "typedef void (*__gcc_VOIDFUNCPTR) ();\\\n"
- "#endif\\\n"
- "#define __gcc_VOIDFUNCPTR_defined\\\n"
- "#endif\n",
+ "-e", "/VOIDFUNCPTR/i\\\n\
+#ifndef __gcc_VOIDFUNCPTR_defined\\\n\
+#ifdef __cplusplus\\\n\
+typedef void (*__gcc_VOIDFUNCPTR) (...);\\\n\
+#else\\\n\
+typedef void (*__gcc_VOIDFUNCPTR) ();\\\n\
+#endif\\\n\
+#define __gcc_VOIDFUNCPTR_defined\\\n\
+#endif\n",
"-e", "s/VOIDFUNCPTR/__gcc_VOIDFUNCPTR/g",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 95 - X11_Class fix
+ * Description 94 - X11_Class fix
*/
tSCC zX11_ClassName[] =
"X11_Class";
@@ -3535,7 +3430,7 @@ tSCC zX11_ClassName[] =
* File name selection pattern
*/
tSCC zX11_ClassList[] =
- "|" "X11/ShellP.h" "|";
+ "|X11/ShellP.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3556,17 +3451,17 @@ tTestDesc aX11_ClassTests[] = {
* Fix Command Arguments for X11_Class
*/
const char* apzX11_ClassPatch[] = { "sed",
- "-e", "/char \\*class;/i\\\n"
- "#ifdef __cplusplus\\\n"
- "\tchar *c_class;\\\n"
- "#else\n",
- "-e", "/char \\*class;/a\\\n"
- "#endif\n",
+ "-e", "/char \\*class;/i\\\n\
+#ifdef __cplusplus\\\n\
+\tchar *c_class;\\\n\
+#else\n",
+ "-e", "/char \\*class;/a\\\n\
+#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 96 - X11_Class_Usage fix
+ * Description 95 - X11_Class_Usage fix
*/
tSCC zX11_Class_UsageName[] =
"X11_Class_Usage";
@@ -3574,7 +3469,7 @@ tSCC zX11_Class_UsageName[] =
* File name selection pattern
*/
tSCC zX11_Class_UsageList[] =
- "|" "Xm/BaseClassI.h" "|";
+ "|Xm/BaseClassI.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3600,7 +3495,7 @@ const char* apzX11_Class_UsagePatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 97 - X11_New fix
+ * Description 96 - X11_New fix
*/
tSCC zX11_NewName[] =
"X11_New";
@@ -3608,7 +3503,7 @@ tSCC zX11_NewName[] =
* File name selection pattern
*/
tSCC zX11_NewList[] =
- "|" "Xm/Traversal.h" "|";
+ "|Xm/Traversal.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3629,18 +3524,18 @@ tTestDesc aX11_NewTests[] = {
* Fix Command Arguments for X11_New
*/
const char* apzX11_NewPatch[] = { "sed",
- "-e", "/Widget\told, new;/i\\\n"
- "#ifdef __cplusplus\\\n"
- "\tWidget\told, c_new;\\\n"
- "#else\n",
- "-e", "/Widget\told, new;/a\\\n"
- "#endif\n",
+ "-e", "/Widget\told, new;/i\\\n\
+#ifdef __cplusplus\\\n\
+\tWidget\told, c_new;\\\n\
+#else\n",
+ "-e", "/Widget\told, new;/a\\\n\
+#endif\n",
"-e", "s/Widget new,/Widget c_new,/g",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 98 - X11_Sprintf fix
+ * Description 97 - X11_Sprintf fix
*/
tSCC zX11_SprintfName[] =
"X11_Sprintf";
@@ -3648,7 +3543,7 @@ tSCC zX11_SprintfName[] =
* File name selection pattern
*/
tSCC zX11_SprintfList[] =
- "|" "X11*/Xmu.h" "|";
+ "|X11*/Xmu.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3661,14 +3556,14 @@ tSCC zX11_SprintfList[] =
* Fix Command Arguments for X11_Sprintf
*/
const char* apzX11_SprintfPatch[] = { "sed",
- "-e", "s,^extern char \\*\tsprintf();$,#ifndef __STDC__\\\n"
- "extern char *\tsprintf();\\\n"
- "#endif /* !defined __STDC__ */,",
+ "-e", "s,^extern char \\*\tsprintf();$,#ifndef __STDC__\\\n\
+extern char *\tsprintf();\\\n\
+#endif /* !defined __STDC__ */,",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 99 - Zzz_Ki_Iface fix
+ * Description 98 - Zzz_Ki_Iface fix
*/
tSCC zZzz_Ki_IfaceName[] =
"Zzz_Ki_Iface";
@@ -3676,7 +3571,7 @@ tSCC zZzz_Ki_IfaceName[] =
* File name selection pattern
*/
tSCC zZzz_Ki_IfaceList[] =
- "|" "sys/ki_iface.h" "|";
+ "|sys/ki_iface.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3697,14 +3592,14 @@ tTestDesc aZzz_Ki_IfaceTests[] = {
* Fix Command Arguments for Zzz_Ki_Iface
*/
const char* apzZzz_Ki_IfacePatch[] = { "sh", "-c",
- "echo \"Removing incorrect fix to <$file>\" >&2\n"
- "rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n"
- "cat > /dev/null",
+ "echo \"Removing incorrect fix to <$file>\" >&2\n\
+rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
+cat > /dev/null",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 100 - Zzz_Ki fix
+ * Description 99 - Zzz_Ki fix
*/
tSCC zZzz_KiName[] =
"Zzz_Ki";
@@ -3712,7 +3607,7 @@ tSCC zZzz_KiName[] =
* File name selection pattern
*/
tSCC zZzz_KiList[] =
- "|" "sys/ki.h" "|";
+ "|sys/ki.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3733,14 +3628,14 @@ tTestDesc aZzz_KiTests[] = {
* Fix Command Arguments for Zzz_Ki
*/
const char* apzZzz_KiPatch[] = { "sh", "-c",
- "echo \"Removing incorrect fix to <$file>\" >&2\n"
- "rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n"
- "cat > /dev/null",
+ "echo \"Removing incorrect fix to <$file>\" >&2\n\
+rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
+cat > /dev/null",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 101 - Zzz_Ki_Calls fix
+ * Description 100 - Zzz_Ki_Calls fix
*/
tSCC zZzz_Ki_CallsName[] =
"Zzz_Ki_Calls";
@@ -3748,7 +3643,7 @@ tSCC zZzz_Ki_CallsName[] =
* File name selection pattern
*/
tSCC zZzz_Ki_CallsList[] =
- "|" "sys/ki_calls.h" "|";
+ "|sys/ki_calls.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3769,14 +3664,14 @@ tTestDesc aZzz_Ki_CallsTests[] = {
* Fix Command Arguments for Zzz_Ki_Calls
*/
const char* apzZzz_Ki_CallsPatch[] = { "sh", "-c",
- "echo \"Removing incorrect fix to <$file>\" >&2\n"
- "rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n"
- "cat > /dev/null",
+ "echo \"Removing incorrect fix to <$file>\" >&2\n\
+rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
+cat > /dev/null",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 102 - Zzz_Ki_Defs fix
+ * Description 101 - Zzz_Ki_Defs fix
*/
tSCC zZzz_Ki_DefsName[] =
"Zzz_Ki_Defs";
@@ -3784,7 +3679,7 @@ tSCC zZzz_Ki_DefsName[] =
* File name selection pattern
*/
tSCC zZzz_Ki_DefsList[] =
- "|" "sys/ki_defs.h" "|";
+ "|sys/ki_defs.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3805,14 +3700,14 @@ tTestDesc aZzz_Ki_DefsTests[] = {
* Fix Command Arguments for Zzz_Ki_Defs
*/
const char* apzZzz_Ki_DefsPatch[] = { "sh", "-c",
- "echo \"Removing incorrect fix to <$file>\" >&2\n"
- "rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n"
- "cat > /dev/null",
+ "echo \"Removing incorrect fix to <$file>\" >&2\n\
+rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
+cat > /dev/null",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 103 - Zzz_Bad_Fixes fix
+ * Description 102 - Zzz_Bad_Fixes fix
*/
tSCC zZzz_Bad_FixesName[] =
"Zzz_Bad_Fixes";
@@ -3820,7 +3715,7 @@ tSCC zZzz_Bad_FixesName[] =
* File name selection pattern
*/
tSCC zZzz_Bad_FixesList[] =
- "|" "sundev/ipi_error.h" "|";
+ "|sundev/ipi_error.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3833,14 +3728,14 @@ tSCC zZzz_Bad_FixesList[] =
* Fix Command Arguments for Zzz_Bad_Fixes
*/
const char* apzZzz_Bad_FixesPatch[] = { "sh", "-c",
- "echo \"Removing incorrect fix to <$file>\" >&2\n"
- "rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n"
- "cat > /dev/null",
+ "echo \"Removing incorrect fix to <$file>\" >&2\n\
+rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
+cat > /dev/null",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description 104 - Zzz_Time fix
+ * Description 103 - Zzz_Time fix
*/
tSCC zZzz_TimeName[] =
"Zzz_Time";
@@ -3848,7 +3743,7 @@ tSCC zZzz_TimeName[] =
* File name selection pattern
*/
tSCC zZzz_TimeList[] =
- "|" "sys/time.h" "|";
+ "|sys/time.h|";
/*
* Machine/OS name selection pattern
*/
@@ -3869,17 +3764,17 @@ tTestDesc aZzz_TimeTests[] = {
* Fix Command Arguments for Zzz_Time
*/
const char* apzZzz_TimePatch[] = { "sh", "-c",
- "echo \"Removing incorrect fix to <$file>\" >&2\n"
- "rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n"
- "cat > /dev/null",
+ "echo \"Removing incorrect fix to <$file>\" >&2\n\
+rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
+cat > /dev/null",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* List of all fixes
*/
-#define REGEX_COUNT 76
-#define FIX_COUNT 104
+#define REGEX_COUNT 73
+#define FIX_COUNT 103
tFixDesc fixDescList[ FIX_COUNT ] = {
{ zAix_SyswaitName, zAix_SyswaitList,
apzAix_SyswaitMachs, (regex_t*)NULL,
@@ -3976,15 +3871,10 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
SCO5_STAT_WRAPPERS_TEST_CT, FD_MACH_ONLY,
aSco5_Stat_WrappersTests, apzSco5_Stat_WrappersPatch },
- { zElse_LabelName, zElse_LabelList,
- apzElse_LabelMachs, (regex_t*)NULL,
- ELSE_LABEL_TEST_CT, FD_MACH_ONLY,
- aElse_LabelTests, apzElse_LabelPatch },
-
- { zEndif_LabelName, zEndif_LabelList,
- apzEndif_LabelMachs, (regex_t*)NULL,
- ENDIF_LABEL_TEST_CT, FD_MACH_ONLY,
- aEndif_LabelTests, apzEndif_LabelPatch },
+ { zEnd_Else_LabelName, zEnd_Else_LabelList,
+ apzEnd_Else_LabelMachs, (regex_t*)NULL,
+ END_ELSE_LABEL_TEST_CT, FD_MACH_ONLY,
+ aEnd_Else_LabelTests, apzEnd_Else_LabelPatch },
{ zHp_InlineName, zHp_InlineList,
apzHp_InlineMachs, (regex_t*)NULL,
@@ -4103,7 +3993,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
{ zM88k_Multi_InclName, zM88k_Multi_InclList,
apzM88k_Multi_InclMachs, (regex_t*)NULL,
- M88K_MULTI_INCL_TEST_CT, FD_MACH_ONLY,
+ M88K_MULTI_INCL_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aM88k_Multi_InclTests, apzM88k_Multi_InclPatch },
{ zMachine_NameName, zMachine_NameList,
@@ -4118,7 +4008,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
{ zMath_Gcc_IfndefsName, zMath_Gcc_IfndefsList,
apzMath_Gcc_IfndefsMachs, (regex_t*)NULL,
- MATH_GCC_IFNDEFS_TEST_CT, FD_MACH_ONLY,
+ MATH_GCC_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aMath_Gcc_IfndefsTests, apzMath_Gcc_IfndefsPatch },
{ zNested_CommentName, zNested_CommentList,
@@ -4198,7 +4088,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
{ zStdio_Va_ListName, zStdio_Va_ListList,
apzStdio_Va_ListMachs, (regex_t*)NULL,
- STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
+ STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aStdio_Va_ListTests, apzStdio_Va_ListPatch },
{ zSun_Bogus_IfdefName, zSun_Bogus_IfdefList,
@@ -4373,31 +4263,31 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
{ zZzz_Ki_IfaceName, zZzz_Ki_IfaceList,
apzZzz_Ki_IfaceMachs, (regex_t*)NULL,
- ZZZ_KI_IFACE_TEST_CT, FD_MACH_ONLY,
+ ZZZ_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aZzz_Ki_IfaceTests, apzZzz_Ki_IfacePatch },
{ zZzz_KiName, zZzz_KiList,
apzZzz_KiMachs, (regex_t*)NULL,
- ZZZ_KI_TEST_CT, FD_MACH_ONLY,
+ ZZZ_KI_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aZzz_KiTests, apzZzz_KiPatch },
{ zZzz_Ki_CallsName, zZzz_Ki_CallsList,
apzZzz_Ki_CallsMachs, (regex_t*)NULL,
- ZZZ_KI_CALLS_TEST_CT, FD_MACH_ONLY,
+ ZZZ_KI_CALLS_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aZzz_Ki_CallsTests, apzZzz_Ki_CallsPatch },
{ zZzz_Ki_DefsName, zZzz_Ki_DefsList,
apzZzz_Ki_DefsMachs, (regex_t*)NULL,
- ZZZ_KI_DEFS_TEST_CT, FD_MACH_ONLY,
+ ZZZ_KI_DEFS_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aZzz_Ki_DefsTests, apzZzz_Ki_DefsPatch },
{ zZzz_Bad_FixesName, zZzz_Bad_FixesList,
apzZzz_Bad_FixesMachs, (regex_t*)NULL,
- ZZZ_BAD_FIXES_TEST_CT, FD_MACH_ONLY,
+ ZZZ_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aZzz_Bad_FixesTests, apzZzz_Bad_FixesPatch },
{ zZzz_TimeName, zZzz_TimeList,
apzZzz_TimeMachs, (regex_t*)NULL,
- ZZZ_TIME_TEST_CT, FD_MACH_ONLY,
+ ZZZ_TIME_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
aZzz_TimeTests, apzZzz_TimePatch }
};
diff --git a/gcc/fixinc/gnu-regex.c b/gcc/fixinc/gnu-regex.c
index 84db70f7952..b24845ba431 100644
--- a/gcc/fixinc/gnu-regex.c
+++ b/gcc/fixinc/gnu-regex.c
@@ -80,6 +80,16 @@
#else /* not emacs */
+# include "auto-host.h"
+
+# if !defined(const) && !defined(HAVE_CONST)
+# define const
+# endif
+
+# if !defined(volatile) && !defined(HAVE_VOLATILE)
+# define volatile
+# endif
+
/* If we are not linking with Emacs proper,
we can't use the relocating allocator
even if config.h says that we can. */
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index c8dbeda69b5..6872cad61d0 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -136,6 +136,18 @@ fix = {
sed = "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/a\\\n"
"#endif\n";
+
+ sed = "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/i\\\n"
+ "#ifndef __cplusplus\n";
+
+ sed = "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/a\\\n"
+ "#endif\n";
+
+ sed = "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/i\\\n"
+ "#ifndef __cplusplus\n";
+
+ sed = "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/a\\\n"
+ "#endif\n";
};
@@ -173,7 +185,6 @@ fix = {
*/
fix = {
hackname = bad_lval;
- select = "^[ \t]*#[ \t]*pragma[ \t]extern_prefix";
files = libgen.h;
files = dirent.h;
files = ftw.h;
@@ -339,7 +350,7 @@ fix = {
* Also, only accept double slashes that are not part of URL's
* and are not the end of a quoted string.
*/
- test = '-z `echo ${file} | egrep \'(CC|cxx|\+\+)/\' `';
+ test = ' -z "`echo ${file} | egrep \'(CC|cxx|\+\+)/\'`"';
select = '(^|[^:])//[^"*]';
sed = 's,^//.*$,,';
sed = 's,[^:]//[^"].*$,,';
@@ -380,43 +391,32 @@ fix = {
/*
- * Fix else directives that contain non-commentary text
- *
- * The fixinc_eol stuff is to work around a bug in the sed
+ * Fix else and endif directives that contain non-commentary text
*/
fix = {
- hackname = else_label;
- select = "^[ \t]*#[ \t]*else[ \t]+[!-.0-~]";
- sed = ":loop\n"
- '/\\\\$/' "N\n"
- 's/\\\\$/\\\\+++fixinc_eol+++/' "\n"
- '/\\\\$/' "b loop\n"
- 's/\\\\+++fixinc_eol+++/\\\\/g' "\n"
-
- "s%^\\([ \t]*#[ \t]*else\\)[ \t]*/[^*].*%\\1%\n"
- "s%^\\([ \t]*#[ \t]*else\\)[ \t]*[^/ \t].*%\\1%";
-};
-
+ hackname = end_else_label;
-/*
- * Fix endif directives that contain non-commentary text
- */
-fix = {
- hackname = endif_label;
/*
- * Select files that contain '#endif' directives with
+ * Select files that contain '#endif' or '#else' directives with
* some sort of following junk. (Between the ascii '.'
* and '0' lies the character '/'. This will *NOT*
* match '#endif / * foo * /', but it also wont match
* '#endif / done' either.
*
- * We use the pattern [!-.0-z{|}~] instead of [^/ \t] to match a noncomment
- * following #else or #endif because some buggy egreps think [^/] matches
- * newline, and they thus think `#else ' matches
+ * We have a second regexp in the selector to detect
+ * #endif followed by a / followed by anything other
+ * than a *. For example "#endif / * foo * /" or
+ * "#endif /% blah %/ which appear on OSF4.0A and AIX4.2
+ * repsectively.
+ *
+ * We use the pattern [!-.0-z{|}~] instead of [^/ \t] to match a
+ * noncomment following #else or #endif because some buggy egreps
+ * think [^/] matches newline, and they thus think `#else ' matches
* `#e[ndiflse]*[ \t]+[^/ \t]'.
* [!-.0-~] does not work properly on AIX 4.1.
*/
- select = "^[ \t]*#[ \t]*endif[ \t]+[!-.0-z\{\|\}\~]";
+ select = "^[ \t]*#[ \t]*(else|endif)[ \t]+"
+ "(" '[!-.0-z\{\|\}\~]' "|" '/[^\*]' ")";
/*
* First, join the continued input lines.
@@ -434,9 +434,11 @@ fix = {
'/\\\\$/' "b loop\n"
's/\\\\+++fixinc_eol+++/\\\\/g' "\n"
- "s%^\\([ \t]*#[ \t]*endif\\)[ \t]*/[^*].*%\\1%\n"
- "s%^\\([ \t]*#[ \t]*endif\\)[ \t]*\\*[^/].*%\\1%\n"
- "s%^\\([ \t]*#[ \t]*endif\\)[ \t]*[^/* \t].*%\\1%";
+ "s%^\\([ \t]*#[ \t]*else\\)[ \t][ \t]*/[^*].*%\\1%\n"
+ "s%^\\([ \t]*#[ \t]*else\\)[ \t][ \t]*[^/ \t].*%\\1%\n"
+ "s%^\\([ \t]*#[ \t]*endif\\)[ \t][ \t]*/[^*].*%\\1%\n"
+ "s%^\\([ \t]*#[ \t]*endif\\)[ \t][ \t]*\*[^/].*%\\1%\n"
+ "s%^\\([ \t]*#[ \t]*endif\\)[ \t][ \t]*[^/* \t].*%\\1%";
};
@@ -567,7 +569,8 @@ fix = {
fix = {
hackname = io_def_quotes;
select = "[ \t]*[ \t](_|DES)IO[A-Z]*[ \t]*\\( *[^,']";
- sed = "s/\\([ \t]*[ \t](_|DES)IO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/";
+ sed = "s/\\([ \t]*[ \t]_IO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/";
+ sed = "s/\\([ \t]*[ \t]DESIO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/";
sed = "/#[ \t]*define[ \t]*[ \t]_IO/" "s/'\\([cgxtf]\\)'/\\1/g";
sed = "/#[ \t]*define[ \t]*[ \t]DESIOC/" 's/\'\([cdgx]\)\'/\1/g';
};
@@ -575,10 +578,20 @@ fix = {
/*
* Fix CTRL macros
+ *
+ * Basically, what is supposed to be happening is that every
+ * _invocation_ of the "_CTRL()" or "CTRL()" macros is supposed to have
+ * its argument inserted into single quotes. We _must_ do this because
+ * ANSI macro substitution rules prohibit looking inside quoted strings
+ * for the substitution names. A side effect is that the quotes are
+ * inserted in the definitions of those macros as well. So, the last
+ * three sed expressions are supposed to clean up the definitions, as
+ * long as those definitions are using "c", "g" or "x" as the macro
+ * argument :). Yuck.
*/
fix = {
hackname = ioctl_fix_ctrl;
- select = "CTRL[ \t]";
+ select = "CTRL[ \t]*\\(";
sed = "/[^A-Z0-9_]CTRL[ \t]*(/"
"s/\\([^']\\))/'\\1')/";
@@ -594,6 +607,9 @@ fix = {
sed = "/#[ \t]*define[ \t]*[ \t]BSD43_CTRL/"
"s/'\\([cgx]\\)'/\\1/g";
+
+ sed = "/#[ \t]*define[ \t]*[ \t]_*ISCTRL/"
+ "s/'\\([cgx]\\)'/\\1/g";
};
@@ -724,6 +740,7 @@ fix = {
fix = {
hackname = limits_ifndefs;
files = "limits.h";
+ files = "sys/limits.h";
bypass = "ifndef[ \t]+FLT_MIN";
sed = "/[ \t]FLT_MIN[ \t]/i\\\n#ifndef FLT_MIN\n";
@@ -1040,8 +1057,8 @@ fix = {
"\tthen sed -e '/define[ \t]HUGE_VAL[ \t]DBL_MAX/s/DBL_MAX/$dbl_max_def/'"
"\n\telse cat ; fi |\n"
- "\tsed -e'/define[ \t]HUGE_VAL[ \t]/i\\\n#ifndef HUGE_VAL\n' "
- "-e'/define[ \t]HUGE_VAL[ \t]/a\\\n#endif\n'";
+ "\tsed -e '/define[ \t]HUGE_VAL[ \t]/i\\\n#ifndef HUGE_VAL\n' "
+ "-e '/define[ \t]HUGE_VAL[ \t]/a\\\n#endif\n'";
};
@@ -1390,7 +1407,7 @@ fix = {
fix = {
hackname = sun_catmacro;
files = pixrect/memvar.h;
- select = "^#define[ \t]+CAT(a,b)";
+ select = "^#define[ \t]+CAT\\(a,b\\)";
sed = "/^#define[ \t]CAT(a,b)/ i\\\n"
"#ifdef __STDC__ \\\n"
"#define CAT(a,b) a##b\\\n"
@@ -1494,12 +1511,9 @@ fix = {
files = rpc/svc.h;
files = rpc/xdr.h;
/*
- * Select those files containing '(*name)()' but *not*
- * containing '(*name)(junk)'. The change would be innocuous
- * but there is no point bothering if the fix is not needed.
+ * Select those files containing '(*name)()'.
*/
select = '\(\*[a-z][a-z_]*\)\(\)';
- bypass = '\(\*[a-z][a-z_]*\)\(' "[ \t]*[a-zA-Z.].*" '\)';
sed = 's'
'/^\(.*(\*[a-z][a-z_]*)(\)' '\();.*\)'
"/\\\n"
@@ -1986,6 +2000,7 @@ fix = {
sed = "s/char[ \t]*\\*[ \t]*calloc/void \\*\tcalloc/g";
sed = "s/char[ \t]*\\*[ \t]*malloc/void \\*\tmalloc/g";
sed = "s/char[ \t]*\\*[ \t]*realloc/void \\*\trealloc/g";
+ sed = "s/char[ \t]*\\*[ \t]*bsearch/void \\*\tbsearch/g";
sed = "s/int[ \t][ \t]*exit/void\texit/g";
sed = "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/i\\\n"
diff --git a/gcc/fixinc/inclhack.sh b/gcc/fixinc/inclhack.sh
index d9ea8f90d0a..c2d85b1a4bf 100755
--- a/gcc/fixinc/inclhack.sh
+++ b/gcc/fixinc/inclhack.sh
@@ -6,7 +6,7 @@
# files which are fixed to work correctly with ANSI C and placed in a
# directory that GNU C will search.
#
-# This script contains 104 fixup scripts.
+# This script contains 103 fixup scripts.
#
# See README-fixinc for more information.
#
@@ -123,7 +123,12 @@ for INPUT in ${INPUTLIST} ; do
cd ${ORIGDIR}
-cd ${INPUT} || continue
+# This originally used cd || continue, however, that does not work with the
+# Solaris2 /bin/sh.
+if [ ! -d ${INPUT} ]; then
+ continue
+fi
+cd ${INPUT}
INPUT=`${PWDCMD}`
#
@@ -563,6 +568,18 @@ struct rusage;
-e '/^[ ]*typedef[ ][ ]*unsigned char[ ][ ]*bool[ ]*;/a\
#endif
' \
+ -e '/^typedef[ ][ ]*int[ ][ ]*bool[ ]*;/i\
+#ifndef __cplusplus
+' \
+ -e '/^typedef[ ][ ]*int[ ][ ]*bool[ ]*;/a\
+#endif
+' \
+ -e '/^[ ]*typedef[ ][ ]*unsigned int[ ][ ]*bool[ ]*;/i\
+#ifndef __cplusplus
+' \
+ -e '/^[ ]*typedef[ ][ ]*unsigned int[ ][ ]*bool[ ]*;/a\
+#endif
+' \
< $infile > ${DESTDIR}/fixinc.tmp
rm -f ${DESTFILE}
mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
@@ -626,8 +643,6 @@ struct rusage;
./stropts.h | \
./time.h | \
./unistd.h )
- if ( test -n "`egrep '^[ ]*#[ ]*pragma[ ]extern_prefix' ${file}`"
- ) > /dev/null 2>&1 ; then
fixlist="${fixlist}
bad_lval"
if [ ! -r ${DESTFILE} ]
@@ -638,7 +653,6 @@ struct rusage;
< $infile > ${DESTDIR}/fixinc.tmp
rm -f ${DESTFILE}
mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
- fi # end of selection 'if'
;; # case end for file name test
esac
@@ -739,7 +753,7 @@ struct rusage;
# Fix 17: No_Double_Slash
#
if ( test -n "`egrep '(^|[^:])//[^\"*]' ${file}`" -a \
- '(' -z `echo ${file} | egrep '(CC|cxx|\+\+)/' ` ')'
+ '(' -z "`echo ${file} | egrep '(CC|cxx|\+\+)/'`" ')'
) > /dev/null 2>&1 ; then
fixlist="${fixlist}
no_double_slash"
@@ -806,12 +820,12 @@ extern "C"\
#
- # Fix 20: Else_Label
+ # Fix 20: End_Else_Label
#
- if ( test -n "`egrep '^[ ]*#[ ]*else[ ]+[!-.0-~]' ${file}`"
+ if ( test -n "`egrep '^[ ]*#[ ]*(else|endif)[ ]+([!-.0-z\\{\\|\\}\\~]|/[^\\*])' ${file}`"
) > /dev/null 2>&1 ; then
fixlist="${fixlist}
- else_label"
+ end_else_label"
if [ ! -r ${DESTFILE} ]
then infile=${file}
else infile=${DESTFILE} ; fi
@@ -821,8 +835,11 @@ extern "C"\
s/\\$/\\+++fixinc_eol+++/
/\\$/b loop
s/\\+++fixinc_eol+++/\\/g
-s%^\([ ]*#[ ]*else\)[ ]*/[^*].*%\1%
-s%^\([ ]*#[ ]*else\)[ ]*[^/ ].*%\1%' \
+s%^\([ ]*#[ ]*else\)[ ][ ]*/[^*].*%\1%
+s%^\([ ]*#[ ]*else\)[ ][ ]*[^/ ].*%\1%
+s%^\([ ]*#[ ]*endif\)[ ][ ]*/[^*].*%\1%
+s%^\([ ]*#[ ]*endif\)[ ][ ]**[^/].*%\1%
+s%^\([ ]*#[ ]*endif\)[ ][ ]*[^/* ].*%\1%' \
< $infile > ${DESTDIR}/fixinc.tmp
rm -f ${DESTFILE}
mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
@@ -830,32 +847,7 @@ s%^\([ ]*#[ ]*else\)[ ]*[^/ ].*%\1%' \
#
- # Fix 21: Endif_Label
- #
- if ( test -n "`egrep '^[ ]*#[ ]*endif[ ]+[!-.0-z{|}~]' ${file}`"
- ) > /dev/null 2>&1 ; then
- fixlist="${fixlist}
- endif_label"
- if [ ! -r ${DESTFILE} ]
- then infile=${file}
- else infile=${DESTFILE} ; fi
-
- sed -e ':loop
-/\\$/N
-s/\\$/\\+++fixinc_eol+++/
-/\\$/b loop
-s/\\+++fixinc_eol+++/\\/g
-s%^\([ ]*#[ ]*endif\)[ ]*/[^*].*%\1%
-s%^\([ ]*#[ ]*endif\)[ ]*\*[^/].*%\1%
-s%^\([ ]*#[ ]*endif\)[ ]*[^/* ].*%\1%' \
- < $infile > ${DESTDIR}/fixinc.tmp
- rm -f ${DESTFILE}
- mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
- fi # end of selection 'if'
-
-
- #
- # Fix 22: Hp_Inline
+ # Fix 21: Hp_Inline
#
case "${file}" in ./sys/spinlock.h )
if ( test -n "`egrep 'include.*\"\\.\\./machine/' ${file}`"
@@ -877,7 +869,7 @@ s%^\([ ]*#[ ]*endif\)[ ]*[^/* ].*%\1%' \
#
- # Fix 23: Hp_Sysfile
+ # Fix 22: Hp_Sysfile
#
case "${file}" in ./sys/file.h )
if ( test -n "`egrep 'HPUX_SOURCE' ${file}`"
@@ -898,7 +890,7 @@ s%^\([ ]*#[ ]*endif\)[ ]*[^/* ].*%\1%' \
#
- # Fix 24: Cxx_Unready
+ # Fix 23: Cxx_Unready
#
case "${file}" in ./sys/mman.h | \
./rpc/types.h )
@@ -930,7 +922,7 @@ extern "C" {\
#
- # Fix 25: Hpux_Maxint
+ # Fix 24: Hpux_Maxint
#
case "${file}" in ./sys/param.h )
fixlist="${fixlist}
@@ -953,7 +945,7 @@ extern "C" {\
#
- # Fix 26: Hpux_Systime
+ # Fix 25: Hpux_Systime
#
case "${file}" in ./sys/time.h )
if ( test -n "`egrep '^extern struct sigevent;' ${file}`"
@@ -974,7 +966,7 @@ extern "C" {\
#
- # Fix 27: Interactv_Add1
+ # Fix 26: Interactv_Add1
#
case "${file}" in ./stdio.h | \
./math.h | \
@@ -1001,7 +993,7 @@ extern "C" {\
#
- # Fix 28: Interactv_Add2
+ # Fix 27: Interactv_Add2
#
case "${file}" in ./math.h )
if ( test '(' -d /etc/conf/kconfig.d ')' -a \
@@ -1023,7 +1015,7 @@ extern "C" {\
#
- # Fix 29: Interactv_Add3
+ # Fix 28: Interactv_Add3
#
case "${file}" in ./sys/limits.h )
if ( test '(' -d /etc/conf/kconfig.d ')' -a \
@@ -1046,7 +1038,7 @@ extern "C" {\
#
- # Fix 30: Io_Def_Quotes
+ # Fix 29: Io_Def_Quotes
#
if ( test -n "`egrep '[ ]*[ ](_|DES)IO[A-Z]*[ ]*\\( *[^,'\\'']' ${file}`"
) > /dev/null 2>&1 ; then
@@ -1056,7 +1048,8 @@ extern "C" {\
then infile=${file}
else infile=${DESTFILE} ; fi
- sed -e 's/\([ ]*[ ](_|DES)IO[A-Z]*[ ]*(\)\([^,'\'']\),/\1'\''\2'\'',/' \
+ sed -e 's/\([ ]*[ ]_IO[A-Z]*[ ]*(\)\([^,'\'']\),/\1'\''\2'\'',/' \
+ -e 's/\([ ]*[ ]DESIO[A-Z]*[ ]*(\)\([^,'\'']\),/\1'\''\2'\'',/' \
-e '/#[ ]*define[ ]*[ ]_IO/s/'\''\([cgxtf]\)'\''/\1/g' \
-e '/#[ ]*define[ ]*[ ]DESIOC/s/'\''\([cdgx]\)'\''/\1/g' \
< $infile > ${DESTDIR}/fixinc.tmp
@@ -1066,9 +1059,9 @@ extern "C" {\
#
- # Fix 31: Ioctl_Fix_Ctrl
+ # Fix 30: Ioctl_Fix_Ctrl
#
- if ( test -n "`egrep 'CTRL[ ]' ${file}`"
+ if ( test -n "`egrep 'CTRL[ ]*\\(' ${file}`"
) > /dev/null 2>&1 ; then
fixlist="${fixlist}
ioctl_fix_ctrl"
@@ -1081,6 +1074,7 @@ extern "C" {\
-e '/#[ ]*define[ ]*[ ]CTRL/s/'\''\([cgx]\)'\''/\1/g' \
-e '/#[ ]*define[ ]*[ ]_CTRL/s/'\''\([cgx]\)'\''/\1/g' \
-e '/#[ ]*define[ ]*[ ]BSD43_CTRL/s/'\''\([cgx]\)'\''/\1/g' \
+ -e '/#[ ]*define[ ]*[ ]_*ISCTRL/s/'\''\([cgx]\)'\''/\1/g' \
< $infile > ${DESTDIR}/fixinc.tmp
rm -f ${DESTFILE}
mv -f ${DESTDIR}/fixinc.tmp ${DESTFILE}
@@ -1088,7 +1082,7 @@ extern "C" {\
#
- # Fix 32: Ip_Missing_Semi
+ # Fix 31: Ip_Missing_Semi
#
case "${file}" in ./netinet/ip.h )
fixlist="${fixlist}
@@ -1106,7 +1100,7 @@ extern "C" {\
#
- # Fix 33: Irix_Multiline_Cmnt
+ # Fix 32: Irix_Multiline_Cmnt
#
case "${file}" in ./sys/types.h )
fixlist="${fixlist}
@@ -1125,7 +1119,7 @@ extern "C" {\
#
- # Fix 34: Irix_Sockaddr
+ # Fix 33: Irix_Sockaddr
#
case "${file}" in ./rpc/auth.h )
if ( test -n "`egrep 'authdes_create.*struct sockaddr' ${file}`"
@@ -1148,7 +1142,7 @@ struct sockaddr;
#
- # Fix 35: Irix_Struct__File
+ # Fix 34: Irix_Struct__File
#
case "${file}" in ./rpc/xdr.h )
fixlist="${fixlist}
@@ -1168,7 +1162,7 @@ struct __file_s;
#
- # Fix 36: Isc_Fmod
+ # Fix 35: Isc_Fmod
#
case "${file}" in ./math.h )
if ( test -n "`egrep 'fmod\\(double\\)' ${file}`"
@@ -1189,7 +1183,7 @@ struct __file_s;
#
- # Fix 37: Motorola_Nested
+ # Fix 36: Motorola_Nested
#
case "${file}" in ./limits.h | \
./sys/limits.h )
@@ -1212,7 +1206,7 @@ struct __file_s;
#
- # Fix 38: Isc_Sys_Limits
+ # Fix 37: Isc_Sys_Limits
#
case "${file}" in ./sys/limits.h )
if ( test -n "`egrep 'CHILD_MAX' ${file}`"
@@ -1234,7 +1228,7 @@ struct __file_s;
#
- # Fix 39: Kandr_Concat
+ # Fix 38: Kandr_Concat
#
case "${file}" in ./sparc/asm_linkage.h | \
./sun3/asm_linkage.h | \
@@ -1272,9 +1266,10 @@ struct __file_s;
#
- # Fix 40: Limits_Ifndefs
+ # Fix 39: Limits_Ifndefs
#
- case "${file}" in ./limits.h )
+ case "${file}" in ./limits.h | \
+ ./sys/limits.h )
if ( test -z "`egrep 'ifndef[ ]+FLT_MIN' ${file}`"
) > /dev/null 2>&1 ; then
fixlist="${fixlist}
@@ -1329,7 +1324,7 @@ struct __file_s;
#
- # Fix 41: Lynx_Void_Int
+ # Fix 40: Lynx_Void_Int
#
case "${file}" in ./curses.h )
if ( test -n "`egrep '#[ ]*define[ ]+void[ ]+int' ${file}`"
@@ -1350,7 +1345,7 @@ struct __file_s;
#
- # Fix 42: Lynxos_Fcntl_Proto
+ # Fix 41: Lynxos_Fcntl_Proto
#
case "${file}" in ./fcntl.h )
if ( test -n "`egrep 'fcntl.*\\(int, int, int\\)' ${file}`"
@@ -1371,7 +1366,7 @@ struct __file_s;
#
- # Fix 43: M88k_Bad_Hypot_Opt
+ # Fix 42: M88k_Bad_Hypot_Opt
#
case "${file}" in ./math.h )
case "$target_canonical" in m88k-motorola-sysv3* )
@@ -1406,7 +1401,7 @@ static __inline__ double fake_hypot (x, y)\
#
- # Fix 44: M88k_Bad_S_If
+ # Fix 43: M88k_Bad_S_If
#
case "${file}" in ./sys/stat.h )
case "$target_canonical" in m88k-*-sysv3* )
@@ -1431,7 +1426,7 @@ static __inline__ double fake_hypot (x, y)\
#
- # Fix 45: M88k_Multi_Incl
+ # Fix 44: M88k_Multi_Incl
#
case "${file}" in ./time.h )
case "$target_canonical" in m88k-tektronix-sysv3* )
@@ -1464,7 +1459,7 @@ static __inline__ double fake_hypot (x, y)\
#
- # Fix 46: Machine_Name
+ # Fix 45: Machine_Name
#
if ( test -n "`egrep '^#[ ]*(if|elif).*[^a-zA-Z0-9_](_*[MSRrhim]|[Mbimnpstuv])[a-zA-Z0-9_]' ${file}`"
) > /dev/null 2>&1 ; then
@@ -1516,7 +1511,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 47: Math_Exception
+ # Fix 46: Math_Exception
#
case "${file}" in ./math.h )
if ( test -n "`egrep 'struct exception' ${file}`"
@@ -1556,7 +1551,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 48: Math_Gcc_Ifndefs
+ # Fix 47: Math_Gcc_Ifndefs
#
case "${file}" in ./math.h )
fixlist="${fixlist}
@@ -1572,9 +1567,9 @@ s/\\+++fixinc_eol+++/\\/g
) > /dev/null 2>&1
then sed -e '/define[ ]HUGE_VAL[ ]DBL_MAX/s/DBL_MAX/$dbl_max_def/'
else cat ; fi |
- sed -e'/define[ ]HUGE_VAL[ ]/i\
+ sed -e '/define[ ]HUGE_VAL[ ]/i\
#ifndef HUGE_VAL
-' -e'/define[ ]HUGE_VAL[ ]/a\
+' -e '/define[ ]HUGE_VAL[ ]/a\
#endif
' ) < $infile > ${DESTDIR}/fixinc.tmp
@@ -1590,7 +1585,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 49: Nested_Comment
+ # Fix 48: Nested_Comment
#
case "${file}" in ./rpc/rpc.h )
fixlist="${fixlist}
@@ -1608,7 +1603,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 50: News_Os_Recursion
+ # Fix 49: News_Os_Recursion
#
case "${file}" in ./stdlib.h )
if ( test -n "`egrep '#include <stdlib.h>' ${file}`"
@@ -1634,7 +1629,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 51: Next_Math_Prefix
+ # Fix 50: Next_Math_Prefix
#
case "${file}" in ./ansi/math.h )
if ( test -n "`egrep '^extern.*double.*__const__.*' ${file}`"
@@ -1659,7 +1654,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 52: Next_Template
+ # Fix 51: Next_Template
#
case "${file}" in ./bsd/libc.h )
if ( test -n "`egrep 'template' ${file}`"
@@ -1681,7 +1676,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 53: Next_Volitile
+ # Fix 52: Next_Volitile
#
case "${file}" in ./ansi/stdlib.h )
if ( test -n "`egrep 'volatile' ${file}`"
@@ -1703,7 +1698,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 54: Next_Wait_Union
+ # Fix 53: Next_Wait_Union
#
case "${file}" in ./sys/wait.h )
if ( test -n "`egrep 'wait\\(union wait' ${file}`"
@@ -1724,7 +1719,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 55: Nodeent_Syntax
+ # Fix 54: Nodeent_Syntax
#
case "${file}" in ./netdnet/dnetdb.h )
fixlist="${fixlist}
@@ -1742,7 +1737,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 56: Osf_Namespace_A
+ # Fix 55: Osf_Namespace_A
#
case "${file}" in ./reg_types.h | \
./sys/lc_core.h )
@@ -1769,7 +1764,7 @@ s/\\+++fixinc_eol+++/\\/g
#
- # Fix 57: Osf_Namespace_B
+ # Fix 56: Osf_Namespace_B
#
case "${file}" in ./regex.h )
if ( test '(' -r reg_types.h ')' -a \
@@ -1797,7 +1792,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 58: Pthread_Page_Size
+ # Fix 57: Pthread_Page_Size
#
case "${file}" in ./pthread.h )
if ( test -n "`egrep '^int __page_size' ${file}`"
@@ -1818,7 +1813,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 59: Rs6000_Double
+ # Fix 58: Rs6000_Double
#
case "${file}" in ./math.h )
if ( test -n "`egrep '[^a-zA-Z_]class\\(' ${file}`"
@@ -1844,7 +1839,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 60: Rs6000_Fchmod
+ # Fix 59: Rs6000_Fchmod
#
case "${file}" in ./sys/stat.h )
if ( test -n "`egrep 'fchmod\\(char' ${file}`"
@@ -1865,7 +1860,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 61: Rs6000_Param
+ # Fix 60: Rs6000_Param
#
case "${file}" in ./stdio.h | \
./unistd.h )
@@ -1884,7 +1879,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 62: Sony_Include
+ # Fix 61: Sony_Include
#
case "${file}" in ./machine/machparam.h )
if ( test -n "`egrep '\"\\.\\./machine/endian.h\"' ${file}`"
@@ -1905,7 +1900,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 63: Statsswtch
+ # Fix 62: Statsswtch
#
case "${file}" in ./rpcsvc/rstat.h )
if ( test -n "`egrep 'boottime$' ${file}`"
@@ -1926,7 +1921,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 64: Stdio_Va_List
+ # Fix 63: Stdio_Va_List
#
case "${file}" in ./stdio.h )
fixlist="${fixlist}
@@ -1965,7 +1960,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 65: Sun_Bogus_Ifdef
+ # Fix 64: Sun_Bogus_Ifdef
#
case "${file}" in ./hsfs/hsfs_spec.h | \
./hsfs/iso_spec.h )
@@ -1987,7 +1982,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 66: Sun_Bogus_Ifdef_Sun4c
+ # Fix 65: Sun_Bogus_Ifdef_Sun4c
#
case "${file}" in ./hsfs/hsnode.h )
if ( test -n "`egrep '#ifdef __i386__ || __sun4c__' ${file}`"
@@ -2008,10 +2003,10 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 67: Sun_Catmacro
+ # Fix 66: Sun_Catmacro
#
case "${file}" in ./pixrect/memvar.h )
- if ( test -n "`egrep '^#define[ ]+CAT(a,b)' ${file}`"
+ if ( test -n "`egrep '^#define[ ]+CAT\\(a,b\\)' ${file}`"
) > /dev/null 2>&1 ; then
fixlist="${fixlist}
sun_catmacro"
@@ -2036,7 +2031,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 68: Sun_Malloc
+ # Fix 67: Sun_Malloc
#
case "${file}" in ./malloc.h )
fixlist="${fixlist}
@@ -2057,7 +2052,7 @@ typedef __regmatch_t regmatch_t;
#
- # Fix 69: Sun_Memcpy
+ # Fix 68: Sun_Memcpy
#
case "${file}" in ./memory.h )
if ( test -n "`egrep '/\\* @\\(#\\)(head/memory.h 50.1 |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2 )\\*/' ${file}`"
@@ -2099,7 +2094,7 @@ extern int memcmp();\
#
- # Fix 70: Sun_Rusers_Semi
+ # Fix 69: Sun_Rusers_Semi
#
case "${file}" in ./rpcsvc/rusers.h )
if ( test -n "`egrep '_cnt$' ${file}`"
@@ -2120,7 +2115,7 @@ extern int memcmp();\
#
- # Fix 71: Sun_Signal
+ # Fix 70: Sun_Signal
#
case "${file}" in ./sys/signal.h | \
./signal.h )
@@ -2149,14 +2144,13 @@ void (*signal(...))(...);\
#
- # Fix 72: Sun_Auth_Proto
+ # Fix 71: Sun_Auth_Proto
#
case "${file}" in ./rpc/auth.h | \
./rpc/clnt.h | \
./rpc/svc.h | \
./rpc/xdr.h )
- if ( test -n "`egrep '\\(\\*[a-z][a-z_]*\\)\\(\\)' ${file}`" -a \
- -z "`egrep '\\(\\*[a-z][a-z_]*\\)\\([ ]*[a-zA-Z.].*\\)' ${file}`"
+ if ( test -n "`egrep '\\(\\*[a-z][a-z_]*\\)\\(\\)' ${file}`"
) > /dev/null 2>&1 ; then
fixlist="${fixlist}
sun_auth_proto"
@@ -2179,7 +2173,7 @@ void (*signal(...))(...);\
#
- # Fix 73: Sunos_Matherr_Decl
+ # Fix 72: Sunos_Matherr_Decl
#
case "${file}" in ./math.h )
fixlist="${fixlist}
@@ -2200,7 +2194,7 @@ struct exception;
#
- # Fix 74: Sunos_Strlen
+ # Fix 73: Sunos_Strlen
#
case "${file}" in ./strings.h )
fixlist="${fixlist}
@@ -2218,7 +2212,7 @@ struct exception;
#
- # Fix 75: Systypes
+ # Fix 74: Systypes
#
case "${file}" in ./sys/types.h | \
./stdlib.h | \
@@ -2272,7 +2266,7 @@ typedef __SIZE_TYPE__ size_t;\
#
- # Fix 76: Systypes_For_Aix
+ # Fix 75: Systypes_For_Aix
#
case "${file}" in ./sys/types.h )
if ( test -n "`egrep 'typedef[ ][ ]*[A-Za-z_][ A-Za-z_]*[ ]size_t' ${file}`" -a \
@@ -2300,7 +2294,7 @@ typedef __SIZE_TYPE__ size_t;\
#
- # Fix 77: Sysv68_String
+ # Fix 76: Sysv68_String
#
case "${file}" in ./string.h )
fixlist="${fixlist}
@@ -2328,7 +2322,7 @@ extern unsigned int\
#
- # Fix 78: Sysz_Stdlib_For_Sun
+ # Fix 77: Sysz_Stdlib_For_Sun
#
case "${file}" in ./stdlib.h )
fixlist="${fixlist}
@@ -2342,6 +2336,7 @@ extern unsigned int\
-e 's/char[ ]*\*[ ]*calloc/void \* calloc/g' \
-e 's/char[ ]*\*[ ]*malloc/void \* malloc/g' \
-e 's/char[ ]*\*[ ]*realloc/void \* realloc/g' \
+ -e 's/char[ ]*\*[ ]*bsearch/void \* bsearch/g' \
-e 's/int[ ][ ]*exit/void exit/g' \
-e '/typedef[ a-zA-Z_]*[ ]size_t[ ]*;/i\
#ifndef _GCC_SIZE_T\
@@ -2358,7 +2353,7 @@ extern unsigned int\
#
- # Fix 79: Sysz_Stdtypes_For_Sun
+ # Fix 78: Sysz_Stdtypes_For_Sun
#
case "${file}" in ./sys/stdtypes.h )
fixlist="${fixlist}
@@ -2396,7 +2391,7 @@ extern unsigned int\
#
- # Fix 80: Tinfo_Cplusplus
+ # Fix 79: Tinfo_Cplusplus
#
case "${file}" in ./tinfo.h )
fixlist="${fixlist}
@@ -2414,7 +2409,7 @@ extern unsigned int\
#
- # Fix 81: Ultrix_Ansi_Compat
+ # Fix 80: Ultrix_Ansi_Compat
#
case "${file}" in ./ansi_compat.h )
if ( test -n "`egrep 'ULTRIX' ${file}`"
@@ -2438,7 +2433,7 @@ extern unsigned int\
#
- # Fix 82: Ultrix_Fix_Fixproto
+ # Fix 81: Ultrix_Fix_Fixproto
#
case "${file}" in ./sys/utsname.h )
if ( test -n "`egrep 'ULTRIX' ${file}`"
@@ -2461,7 +2456,7 @@ struct utsname;
#
- # Fix 83: Ultrix_Atof_Param
+ # Fix 82: Ultrix_Atof_Param
#
case "${file}" in ./math.h )
fixlist="${fixlist}
@@ -2483,7 +2478,7 @@ struct utsname;
#
- # Fix 84: Ultrix_Const
+ # Fix 83: Ultrix_Const
#
case "${file}" in ./stdio.h )
fixlist="${fixlist}
@@ -2509,7 +2504,7 @@ struct utsname;
#
- # Fix 85: Ultrix_Ifdef
+ # Fix 84: Ultrix_Ifdef
#
case "${file}" in ./sys/file.h )
if ( test -n "`egrep '#ifdef KERNEL' ${file}`"
@@ -2530,7 +2525,7 @@ struct utsname;
#
- # Fix 86: Ultrix_Nested_Cmnt
+ # Fix 85: Ultrix_Nested_Cmnt
#
case "${file}" in ./rpc/svc.h )
fixlist="${fixlist}
@@ -2548,7 +2543,7 @@ struct utsname;
#
- # Fix 87: Ultrix_Static
+ # Fix 86: Ultrix_Static
#
case "${file}" in ./machine/cpu.h )
if ( test -n "`egrep '#include \"r[34]_cpu' ${file}`"
@@ -2571,7 +2566,7 @@ struct utsname;
#
- # Fix 88: Undefine_Null
+ # Fix 87: Undefine_Null
#
if ( test -n "`egrep '^#[ ]*define[ ]*[ ]NULL[ ]' ${file}`" -a \
-z "`egrep '#[ ]*(ifn|un)def[ ]*[ ]NULL($|[ ])' ${file}`"
@@ -2592,7 +2587,7 @@ struct utsname;
#
- # Fix 89: Va_I960_Macro
+ # Fix 88: Va_I960_Macro
#
case "${file}" in ./arch/i960/archI960.h )
if ( test -n "`egrep '__(vsiz|vali|vpad|alignof__)' ${file}`"
@@ -2616,7 +2611,7 @@ struct utsname;
#
- # Fix 90: Void_Null
+ # Fix 89: Void_Null
#
case "${file}" in ./curses.h | \
./dbm.h | \
@@ -2647,7 +2642,7 @@ struct utsname;
#
- # Fix 91: Vxworks_Gcc_Problem
+ # Fix 90: Vxworks_Gcc_Problem
#
case "${file}" in ./types/vxTypesBase.h )
if ( test -n "`egrep '__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__' ${file}`"
@@ -2689,7 +2684,7 @@ struct utsname;
#
- # Fix 92: Vxworks_Needs_Vxtypes
+ # Fix 91: Vxworks_Needs_Vxtypes
#
case "${file}" in ./time.h )
if ( test -n "`egrep 'uint_t[ ][ ]*_clocks_per_sec' ${file}`"
@@ -2710,7 +2705,7 @@ struct utsname;
#
- # Fix 93: Vxworks_Needs_Vxworks
+ # Fix 92: Vxworks_Needs_Vxworks
#
case "${file}" in ./sys/stat.h )
if ( test -n "`egrep '#[ ]define[ ][ ]*__INCstath' ${file}`" -a \
@@ -2736,7 +2731,7 @@ struct utsname;
#
- # Fix 94: Vxworks_Time
+ # Fix 93: Vxworks_Time
#
case "${file}" in ./time.h )
if ( test -n "`egrep 'VOIDFUNCPTR' ${file}`" -a \
@@ -2768,7 +2763,7 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\
#
- # Fix 95: X11_Class
+ # Fix 94: X11_Class
#
case "${file}" in ./X11/ShellP.h )
if ( test -z "`egrep '__cplusplus' ${file}`"
@@ -2796,7 +2791,7 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\
#
- # Fix 96: X11_Class_Usage
+ # Fix 95: X11_Class_Usage
#
case "${file}" in ./Xm/BaseClassI.h )
if ( test -z "`egrep '__cplusplus' ${file}`"
@@ -2817,7 +2812,7 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\
#
- # Fix 97: X11_New
+ # Fix 96: X11_New
#
case "${file}" in ./Xm/Traversal.h )
if ( test -z "`egrep '__cplusplus' ${file}`"
@@ -2846,7 +2841,7 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\
#
- # Fix 98: X11_Sprintf
+ # Fix 97: X11_Sprintf
#
case "${file}" in ./X11*/Xmu.h )
fixlist="${fixlist}
@@ -2866,7 +2861,7 @@ extern char * sprintf();\
#
- # Fix 99: Zzz_Ki_Iface
+ # Fix 98: Zzz_Ki_Iface
#
case "${file}" in ./sys/ki_iface.h )
if ( test -n "`egrep 'These definitions are for HP Internal developers' ${file}`"
@@ -2893,7 +2888,7 @@ cat > /dev/null ) < $infile > ${DESTDIR}/fixinc.tmp
#
- # Fix 100: Zzz_Ki
+ # Fix 99: Zzz_Ki
#
case "${file}" in ./sys/ki.h )
if ( test -n "`egrep '11.00 HP-UX LP64' ${file}`"
@@ -2920,7 +2915,7 @@ cat > /dev/null ) < $infile > ${DESTDIR}/fixinc.tmp
#
- # Fix 101: Zzz_Ki_Calls
+ # Fix 100: Zzz_Ki_Calls
#
case "${file}" in ./sys/ki_calls.h )
if ( test -n "`egrep 'kthread_create_caller_t' ${file}`"
@@ -2947,7 +2942,7 @@ cat > /dev/null ) < $infile > ${DESTDIR}/fixinc.tmp
#
- # Fix 102: Zzz_Ki_Defs
+ # Fix 101: Zzz_Ki_Defs
#
case "${file}" in ./sys/ki_defs.h )
if ( test -n "`egrep 'Kernel Instrumentation Definitions' ${file}`"
@@ -2974,7 +2969,7 @@ cat > /dev/null ) < $infile > ${DESTDIR}/fixinc.tmp
#
- # Fix 103: Zzz_Bad_Fixes
+ # Fix 102: Zzz_Bad_Fixes
#
case "${file}" in ./sundev/ipi_error.h )
fixlist="${fixlist}
@@ -2998,7 +2993,7 @@ cat > /dev/null ) < $infile > ${DESTDIR}/fixinc.tmp
#
- # Fix 104: Zzz_Time
+ # Fix 103: Zzz_Time
#
case "${file}" in ./sys/time.h )
if ( test -n "`egrep '11.0 and later representation of ki time' ${file}`"
@@ -3091,7 +3086,7 @@ find . -name DONE -exec rm -f '{}' ';'
echo 'Removing unneeded directories:'
cd $LIB
-all_dirs=`find . -type d -print | sort -r`
+all_dirs=`find . -type d \! -name '.' -print | sort -r`
for file in $all_dirs; do
rmdir $LIB/$file > /dev/null 2>&1
done
@@ -3104,8 +3099,10 @@ done
#
# # # # # # # # # # # # # # # # # # # # #
-cd $ORIGDIR
-rm -f include/assert.h
-cp ${srcdir}/assert.h include/assert.h || exit 1
-chmod a+r include/assert.h
-
+if [ x${INSTALL_ASSERT_H} != x ] && [ -f ${srcdir}/assert.h ]
+then
+ cd $ORIGDIR
+ rm -f include/assert.h
+ cp ${srcdir}/assert.h include/assert.h || exit 1
+ chmod a+r include/assert.h
+fi
diff --git a/gcc/fixinc/inclhack.tpl b/gcc/fixinc/inclhack.tpl
index f5153bf0892..2c76483ba62 100644
--- a/gcc/fixinc/inclhack.tpl
+++ b/gcc/fixinc/inclhack.tpl
@@ -118,7 +118,12 @@ for INPUT in ${INPUTLIST} ; do
cd ${ORIGDIR}
-cd ${INPUT} || continue
+# This originally used cd || continue, however, that does not work with the
+# Solaris2 /bin/sh.
+if [ ! -d ${INPUT} ]; then
+ continue
+fi
+cd ${INPUT}
INPUT=`${PWDCMD}`
#
@@ -403,7 +408,7 @@ find . -name DONE -exec rm -f '{}' ';'
echo 'Removing unneeded directories:'
cd $LIB
-all_dirs=`find . -type d -print | sort -r`
+all_dirs=`find . -type d \! -name '.' -print | sort -r`
for file in $all_dirs; do
rmdir $LIB/$file > /dev/null 2>&1
done
@@ -416,11 +421,13 @@ done
#
# # # # # # # # # # # # # # # # # # # # #
-cd $ORIGDIR
-rm -f include/assert.h
-cp ${srcdir}/assert.h include/assert.h || exit 1
-chmod a+r include/assert.h
-[=
+if [ x${INSTALL_ASSERT_H} != x ] && [ -f ${srcdir}/assert.h ]
+then
+ cd $ORIGDIR
+ rm -f include/assert.h
+ cp ${srcdir}/assert.h include/assert.h || exit 1
+ chmod a+r include/assert.h
+fi[=
# Make the output file executable
# =][=
diff --git a/gcc/fixinc/procopen.c b/gcc/fixinc/procopen.c
index 28004eed8a7..086a21e18e4 100644
--- a/gcc/fixinc/procopen.c
+++ b/gcc/fixinc/procopen.c
@@ -46,17 +46,8 @@
* If you do not wish that, delete this exception notice.
*/
#include "auto-host.h"
-
-#include <sys/types.h>
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#include <errno.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/param.h>
+#include "gansidecl.h"
+#include "system.h"
#include "server.h"
@@ -104,10 +95,12 @@ chain_open (stdin_fd, pp_args, p_child)
t_pchar *pp_args;
pid_t *p_child;
{
- t_fd_pair stdout_pair = {-1, -1};
+ t_fd_pair stdout_pair;
pid_t ch_id;
char *pz_cmd;
+ stdout_pair.read_fd = stdout_pair.write_fd = -1;
+
/*
* Create a pipe it will be the child process' stdout,
* and the parent will read from it.
diff --git a/gcc/fixinc/server.c b/gcc/fixinc/server.c
index e803e0a29ce..40662c46572 100644
--- a/gcc/fixinc/server.c
+++ b/gcc/fixinc/server.c
@@ -46,17 +46,9 @@
* If you do not wish that, delete this exception notice.
*/
#include "auto-host.h"
-
-#include <sys/types.h>
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#include <errno.h>
+#include "gansidecl.h"
+#include "system.h"
#include <signal.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/param.h>
#include "server.h"
@@ -86,6 +78,10 @@
#define NUL '\0'
#endif
+#if !defined(volatile) && !defined(HAVE_VOLATILE)
+# define volatile
+#endif
+
STATIC volatile bool read_pipe_timeout;
static t_pchar def_args[] =
diff --git a/gcc/fixincludes b/gcc/fixincludes
index c9a65218555..e5cc1c373b6 100755
--- a/gcc/fixincludes
+++ b/gcc/fixincludes
@@ -338,6 +338,7 @@ while [ $# != 0 ]; do
/#[ ]*define[ ]*[ ]CTRL/ s/'\''\([cgx]\)'\''/\1/g
/#[ ]*define[ ]*[ ]_CTRL/ s/'\''\([cgx]\)'\''/\1/g
/#[ ]*define.BSD43_CTRL/ s/'\''\([cgx]\)'\''/\1/g
+ /#[ ]*define[ ]*[ ][_]*ISCTRL/ s/'\''\([cgx]\)'\''/\1/g
/#[ ]*[el]*if/{
s/[a-zA-Z0-9_][a-zA-Z0-9_]*/ & /g
@@ -1001,6 +1002,7 @@ if [ -r ${LIB}/$file ]; then
-e 's/char[ ]*\*[ ]*calloc/void \* calloc/g' \
-e 's/char[ ]*\*[ ]*malloc/void \* malloc/g' \
-e 's/char[ ]*\*[ ]*realloc/void \* realloc/g' \
+ -e 's/char[ ]*\*[ ]*bsearch/void \* bsearch/g' \
-e 's/int[ ][ ]*exit/void exit/g' \
-e "/$size_t_pattern/"'i\
#ifndef _GCC_SIZE_T\
@@ -3242,7 +3244,7 @@ find . -name DONE -exec rm -f '{}' ';'
echo 'Removing unneeded directories:'
cd $LIB
-files=`find . -type d -print | sort -r`
+files=`find . -type d \! -name '.' -print | sort -r`
for file in $files; do
rmdir $LIB/$file > /dev/null 2>&1
done
diff --git a/gcc/flow.c b/gcc/flow.c
index b46c87ea46a..432a990220a 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -1,5 +1,6 @@
/* Data flow analysis for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1562,7 +1563,12 @@ delete_unreachable_blocks ()
check that the edge is not a FALLTHRU edge. */
if ((s = b->succ) != NULL
&& s->succ_next == NULL
- && s->dest == c)
+ && s->dest == c
+ /* If the last insn is not a normal conditional jump
+ (or an unconditional jump), then we can not tidy the
+ fallthru edge because we can not delete the jump. */
+ && GET_CODE (b->end) == JUMP_INSN
+ && condjump_p (b->end))
tidy_fallthru_edge (s, b, c);
}
@@ -1578,8 +1584,14 @@ delete_unreachable_blocks ()
/* A loop because chains of blocks might be combineable. */
while ((s = b->succ) != NULL
&& s->succ_next == NULL
+ && (s->flags & EDGE_EH) == 0
&& (c = s->dest) != EXIT_BLOCK_PTR
&& c->pred->pred_next == NULL
+ /* If the last insn is not a normal conditional jump
+ (or an unconditional jump), then we can not merge
+ the blocks because we can not delete the jump. */
+ && GET_CODE (b->end) == JUMP_INSN
+ && condjump_p (b->end)
&& merge_blocks (s, b, c))
continue;
@@ -1670,7 +1682,7 @@ delete_block (b)
basic_block b;
{
int deleted_handler = 0;
- rtx insn, end;
+ rtx insn, end, tmp;
/* If the head of this block is a CODE_LABEL, then it might be the
label for an exception handler which can't be reached.
@@ -1717,11 +1729,21 @@ delete_block (b)
}
}
- /* Selectively unlink the insn chain. Include any BARRIER that may
- follow the basic block. */
- end = next_nonnote_insn (b->end);
- if (!end || GET_CODE (end) != BARRIER)
- end = b->end;
+ /* Include any jump table following the basic block. */
+ end = b->end;
+ if (GET_CODE (end) == JUMP_INSN
+ && (tmp = JUMP_LABEL (end)) != NULL_RTX
+ && (tmp = NEXT_INSN (tmp)) != NULL_RTX
+ && GET_CODE (tmp) == JUMP_INSN
+ && (GET_CODE (PATTERN (tmp)) == ADDR_VEC
+ || GET_CODE (PATTERN (tmp)) == ADDR_DIFF_VEC))
+ end = tmp;
+
+ /* Include any barrier that may follow the basic block. */
+ tmp = next_nonnote_insn (b->end);
+ if (tmp && GET_CODE (tmp) == BARRIER)
+ end = tmp;
+
delete_insn_chain (insn, end);
no_delete_insns:
@@ -1785,6 +1807,7 @@ flow_delete_insn (insn)
{
rtx prev = PREV_INSN (insn);
rtx next = NEXT_INSN (insn);
+ rtx note;
PREV_INSN (insn) = NULL_RTX;
NEXT_INSN (insn) = NULL_RTX;
@@ -1804,6 +1827,10 @@ flow_delete_insn (insn)
if (GET_CODE (insn) == JUMP_INSN && JUMP_LABEL (insn))
LABEL_NUSES (JUMP_LABEL (insn))--;
+ /* Also if deleting an insn that references a label. */
+ else if ((note = find_reg_note (insn, REG_LABEL, NULL_RTX)) != NULL_RTX)
+ LABEL_NUSES (XEXP (note, 0))--;
+
return next;
}
@@ -2272,11 +2299,14 @@ mark_regs_live_at_end (set)
we end up eliminating it, it will be removed from the live list
of each basic block by reload. */
- SET_REGNO_REG_SET (set, FRAME_POINTER_REGNUM);
+ if (! reload_completed || frame_pointer_needed)
+ {
+ SET_REGNO_REG_SET (set, FRAME_POINTER_REGNUM);
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
- /* If they are different, also mark the hard frame pointer as live */
- SET_REGNO_REG_SET (set, HARD_FRAME_POINTER_REGNUM);
+ /* If they are different, also mark the hard frame pointer as live */
+ SET_REGNO_REG_SET (set, HARD_FRAME_POINTER_REGNUM);
#endif
+ }
/* Mark all global registers, and all registers used by the epilogue
as being live at the end of the function since they may be
@@ -2707,6 +2737,39 @@ propagate_block (old, first, last, final, significant, bnum, remove_dead_code)
can cause trouble for first or last insn in a basic block. */
if (final && insn_is_dead)
{
+ rtx inote;
+ /* If the insn referred to a label, note that the label is
+ now less used. */
+ for (inote = REG_NOTES (insn); inote; inote = XEXP (inote, 1))
+ {
+ if (REG_NOTE_KIND (inote) == REG_LABEL)
+ {
+ rtx label = XEXP (inote, 0);
+ rtx next;
+ LABEL_NUSES (label)--;
+
+ /* If this label was attached to an ADDR_VEC, it's
+ safe to delete the ADDR_VEC. In fact, it's pretty much
+ mandatory to delete it, because the ADDR_VEC may
+ be referencing labels that no longer exist. */
+ if (LABEL_NUSES (label) == 0
+ && (next = next_nonnote_insn (label)) != NULL
+ && GET_CODE (next) == JUMP_INSN
+ && (GET_CODE (PATTERN (next)) == ADDR_VEC
+ || GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC))
+ {
+ rtx pat = PATTERN (next);
+ int diff_vec_p = GET_CODE (pat) == ADDR_DIFF_VEC;
+ int len = XVECLEN (pat, diff_vec_p);
+ int i;
+ for (i = 0; i < len; i++)
+ LABEL_NUSES (XEXP (XVECEXP (pat, diff_vec_p, i), 0))--;
+
+ flow_delete_insn (next);
+ }
+ }
+ }
+
PUT_CODE (insn, NOTE);
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (insn) = 0;
@@ -2957,9 +3020,11 @@ insn_dead_p (x, needed, call_ok, notes)
/* Don't delete insns to set global regs. */
if ((regno < FIRST_PSEUDO_REGISTER && global_regs[regno])
/* Make sure insns to set frame pointer aren't deleted. */
- || regno == FRAME_POINTER_REGNUM
+ || (regno == FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
- || regno == HARD_FRAME_POINTER_REGNUM
+ || (regno == HARD_FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
/* Make sure insns to set arg pointer are never deleted
@@ -3258,6 +3323,9 @@ mark_set_1 (needed, dead, x, insn, significant)
invalidate_mems_from_autoinc (insn);
if (GET_CODE (reg) == MEM && ! side_effects_p (reg)
+ /* We do not know the size of a BLKmode store, so we do not track
+ them for redundant store elimination. */
+ && GET_MODE (reg) != BLKmode
/* There are no REG_INC notes for SP, so we can't assume we'll see
everything that invalidates it. To be safe, don't eliminate any
stores though SP; none of them should be redundant anyway. */
@@ -3265,9 +3333,11 @@ mark_set_1 (needed, dead, x, insn, significant)
mem_set_list = gen_rtx_EXPR_LIST (VOIDmode, reg, mem_set_list);
if (GET_CODE (reg) == REG
- && (regno = REGNO (reg), regno != FRAME_POINTER_REGNUM)
+ && (regno = REGNO (reg), ! (regno == FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed)))
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
- && regno != HARD_FRAME_POINTER_REGNUM
+ && ! (regno == HARD_FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
&& ! (regno == ARG_POINTER_REGNUM && fixed_regs[regno])
@@ -3725,12 +3795,14 @@ mark_used_regs (needed, live, x, final, insn)
nothing below can be necessary, so waste no more time. */
if (regno == STACK_POINTER_REGNUM
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
- || regno == HARD_FRAME_POINTER_REGNUM
+ || (regno == HARD_FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|| (regno == ARG_POINTER_REGNUM && fixed_regs[regno])
#endif
- || regno == FRAME_POINTER_REGNUM)
+ || (regno == FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed)))
{
/* If this is a register we are going to try to eliminate,
don't mark it live here. If we are successful in
@@ -3906,9 +3978,11 @@ mark_used_regs (needed, live, x, final, insn)
if ((GET_CODE (testreg) == PARALLEL
&& GET_MODE (testreg) == BLKmode)
|| (GET_CODE (testreg) == REG
- && (regno = REGNO (testreg), regno != FRAME_POINTER_REGNUM)
+ && (regno = REGNO (testreg), ! (regno == FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed)))
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
- && regno != HARD_FRAME_POINTER_REGNUM
+ && ! (regno == HARD_FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
&& ! (regno == ARG_POINTER_REGNUM && fixed_regs[regno])
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 6acbe0baf34..a1901a86caa 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1,5 +1,6 @@
/* Fold a constant sub-tree into a single node for C-compiler
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2131,7 +2132,7 @@ operand_equal_p (arg0, arg1, only_const)
case STRING_CST:
return (TREE_STRING_LENGTH (arg0) == TREE_STRING_LENGTH (arg1)
- && ! strncmp (TREE_STRING_POINTER (arg0),
+ && ! memcmp (TREE_STRING_POINTER (arg0),
TREE_STRING_POINTER (arg1),
TREE_STRING_LENGTH (arg0)));
@@ -2177,6 +2178,12 @@ operand_equal_p (arg0, arg1, only_const)
TREE_OPERAND (arg1, 0), 0));
case 'r':
+ /* If either of the pointer (or reference) expressions we are dereferencing
+ contain a side effect, these cannot be equal. */
+ if (TREE_SIDE_EFFECTS (arg0)
+ || TREE_SIDE_EFFECTS (arg1))
+ return 0;
+
switch (TREE_CODE (arg0))
{
case INDIRECT_REF:
@@ -3253,8 +3260,17 @@ make_range (exp, pin_p, plow, phigh)
low = range_binop (PLUS_EXPR, type, n_high, 0,
integer_one_node, 0);
high = range_binop (MINUS_EXPR, type, n_low, 0,
- integer_one_node, 0);
- in_p = ! in_p;
+ integer_one_node, 0);
+
+ /* If the range is of the form +/- [ x+1, x ], we won't
+ be able to normalize it. But then, it represents the
+ whole range or the empty set, so make it +/- [ -, - ].
+ */
+ if (tree_int_cst_equal (n_low, low)
+ && tree_int_cst_equal (n_high, high))
+ low = high = 0;
+ else
+ in_p = ! in_p;
}
else
low = n_low, high = n_high;
@@ -3806,11 +3822,10 @@ fold_truthop (code, truth_type, lhs, rhs)
{
if (l_const && integer_zerop (l_const) && integer_pow2p (ll_mask))
{
- /* Do not sign extend the constant here. The left operand
- is either always unsigned or there is a BIT_AND_EXPR that
- masks out the extension bits. */
- if (! (ll_unsignedp || ll_and_mask != 0))
- abort ();
+ /* Make the left operand unsigned, since we are only interested
+ in the value of one bit. Otherwise we are doing the wrong
+ thing below. */
+ ll_unsignedp = 1;
l_const = ll_mask;
}
else
@@ -3822,8 +3837,7 @@ fold_truthop (code, truth_type, lhs, rhs)
{
if (r_const && integer_zerop (r_const) && integer_pow2p (rl_mask))
{
- if (! (rl_unsignedp || rl_and_mask != 0))
- abort ();
+ rl_unsignedp = 1;
r_const = rl_mask;
}
else
@@ -5621,7 +5635,15 @@ fold (expr)
tree newconst
= fold (build (PLUS_EXPR, TREE_TYPE (varop),
constop, TREE_OPERAND (varop, 1)));
- TREE_SET_CODE (varop, PREINCREMENT_EXPR);
+
+ /* Do not overwrite the current varop to be a preincrement,
+ create a new node so that we won't confuse our caller who
+ might create trees and throw them away, reusing the
+ arguments that they passed to build. This shows up in
+ the THEN or ELSE parts of ?: being postincrements. */
+ varop = build (PREINCREMENT_EXPR, TREE_TYPE (varop),
+ TREE_OPERAND (varop, 0),
+ TREE_OPERAND (varop, 1));
/* If VAROP is a reference to a bitfield, we must mask
the constant by the width of the field. */
@@ -5665,9 +5687,9 @@ fold (expr)
}
- t = build (code, type, TREE_OPERAND (t, 0),
- TREE_OPERAND (t, 1));
- TREE_OPERAND (t, constopnum) = newconst;
+ t = build (code, type,
+ (constopnum == 0) ? newconst : varop,
+ (constopnum == 1) ? newconst : varop);
return t;
}
}
@@ -5680,7 +5702,15 @@ fold (expr)
tree newconst
= fold (build (MINUS_EXPR, TREE_TYPE (varop),
constop, TREE_OPERAND (varop, 1)));
- TREE_SET_CODE (varop, PREDECREMENT_EXPR);
+
+ /* Do not overwrite the current varop to be a predecrement,
+ create a new node so that we won't confuse our caller who
+ might create trees and throw them away, reusing the
+ arguments that they passed to build. This shows up in
+ the THEN or ELSE parts of ?: being postdecrements. */
+ varop = build (PREDECREMENT_EXPR, TREE_TYPE (varop),
+ TREE_OPERAND (varop, 0),
+ TREE_OPERAND (varop, 1));
if (TREE_CODE (TREE_OPERAND (varop, 0)) == COMPONENT_REF
&& DECL_BIT_FIELD(TREE_OPERAND
@@ -5719,9 +5749,9 @@ fold (expr)
}
- t = build (code, type, TREE_OPERAND (t, 0),
- TREE_OPERAND (t, 1));
- TREE_OPERAND (t, constopnum) = newconst;
+ t = build (code, type,
+ (constopnum == 0) ? newconst : varop,
+ (constopnum == 1) ? newconst : varop);
return t;
}
}
diff --git a/gcc/frame.c b/gcc/frame.c
index b5f643e7043..990a0ac8117 100644
--- a/gcc/frame.c
+++ b/gcc/frame.c
@@ -1,6 +1,6 @@
/* Subroutines needed for unwinding stack frames for exception handling. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@cygnus.com>.
This file is part of GNU CC.
@@ -714,6 +714,14 @@ execute_cfa_insn (void *p, struct frame_state_internal *state,
state->s.args_size = offset;
break;
+ case DW_CFA_GNU_negative_offset_extended:
+ p = decode_uleb128 (p, &reg);
+ p = decode_uleb128 (p, &offset);
+ offset *= info->data_align;
+ state->s.saved[reg] = REG_SAVED_OFFSET;
+ state->s.reg_or_offset[reg] = -offset;
+ break;
+
default:
abort ();
}
diff --git a/gcc/function.c b/gcc/function.c
index 0937844d812..edd0bca1216 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1,5 +1,6 @@
/* Expands front end tree to back end RTL for GNU C-Compiler
- Copyright (C) 1987, 88, 89, 91-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -786,6 +787,10 @@ assign_stack_local (mode, size, align)
else
alignment = align / BITS_PER_UNIT;
+#ifdef FRAME_GROWS_DOWNWARD
+ frame_offset -= size;
+#endif
+
/* Round frame offset to that alignment.
We must be careful here, since FRAME_OFFSET might be negative and
division with a negative dividend isn't as well defined as we might
@@ -802,10 +807,6 @@ assign_stack_local (mode, size, align)
if (BYTES_BIG_ENDIAN && mode != BLKmode)
bigend_correction = size - GET_MODE_SIZE (mode);
-#ifdef FRAME_GROWS_DOWNWARD
- frame_offset -= size;
-#endif
-
/* If we have already instantiated virtual registers, return the actual
address relative to the frame pointer. */
if (virtuals_instantiated)
@@ -871,6 +872,10 @@ assign_outer_stack_local (mode, size, align, function)
else
alignment = align / BITS_PER_UNIT;
+#ifdef FRAME_GROWS_DOWNWARD
+ function->frame_offset -= size;
+#endif
+
/* Round frame offset to that alignment. */
#ifdef FRAME_GROWS_DOWNWARD
function->frame_offset = FLOOR_ROUND (function->frame_offset, alignment);
@@ -883,9 +888,6 @@ assign_outer_stack_local (mode, size, align, function)
if (BYTES_BIG_ENDIAN && mode != BLKmode)
bigend_correction = size - GET_MODE_SIZE (mode);
-#ifdef FRAME_GROWS_DOWNWARD
- function->frame_offset -= size;
-#endif
addr = plus_constant (virtual_stack_vars_rtx,
function->frame_offset + bigend_correction);
#ifndef FRAME_GROWS_DOWNWARD
@@ -1027,11 +1029,12 @@ assign_stack_temp_for_type (mode, size, keep, type)
So for requests which depended on the rounding of SIZE, we go ahead
and round it now. We also make sure ALIGNMENT is at least
BIGGEST_ALIGNMENT. */
- if (mode == BLKmode && align < (BIGGEST_ALIGNMENT / BITS_PER_UNIT))
+ if (mode == BLKmode && align < BIGGEST_ALIGNMENT)
abort();
p->slot = assign_stack_local (mode,
- mode == BLKmode
- ? CEIL_ROUND (size, align) : size,
+ (mode == BLKmode
+ ? CEIL_ROUND (size, align / BITS_PER_UNIT)
+ : size),
align);
p->align = align;
@@ -1426,7 +1429,16 @@ free_temps_for_rtl_expr (t)
for (p = temp_slots; p; p = p->next)
if (p->rtl_expr == t)
- p->in_use = 0;
+ {
+ /* If this slot is below the current TEMP_SLOT_LEVEL, then it
+ needs to be preserved. This can happen if a temporary in
+ the RTL_EXPR was addressed; preserve_temp_slots will move
+ the temporary into a higher level. */
+ if (temp_slot_level <= p->level)
+ p->in_use = 0;
+ else
+ p->rtl_expr = NULL_TREE;
+ }
combine_temp_slots ();
}
@@ -3210,13 +3222,7 @@ purge_addressof_1 (loc, insn, force, store, ht)
/* Make sure to unshare any shared rtl that store_bit_field
might have created. */
- for (p = get_insns(); p; p = NEXT_INSN (p))
- {
- reset_used_flags (PATTERN (p));
- reset_used_flags (REG_NOTES (p));
- reset_used_flags (LOG_LINKS (p));
- }
- unshare_all_rtl (get_insns ());
+ unshare_all_rtl_again (get_insns ());
seq = gen_sequence ();
end_sequence ();
@@ -3468,6 +3474,20 @@ purge_addressof (insns)
hash_table_free (&ht);
purge_bitfield_addressof_replacements = 0;
purge_addressof_replacements = 0;
+
+ /* REGs are shared. purge_addressof will destructively replace a REG
+ with a MEM, which creates shared MEMs.
+
+ Unfortunately, the children of put_reg_into_stack assume that MEMs
+ referring to the same stack slot are shared (fixup_var_refs and
+ the associated hash table code).
+
+ So, we have to do another unsharing pass after we have flushed any
+ REGs that had their address taken into the stack.
+
+ It may be worth tracking whether or not we converted any REGs into
+ MEMs to avoid this overhead when it is not needed. */
+ unshare_all_rtl_again (get_insns ());
}
/* Pass through the INSNS of function FNDECL and convert virtual register
@@ -6693,7 +6713,10 @@ void
thread_prologue_and_epilogue_insns (f)
rtx f ATTRIBUTE_UNUSED;
{
- int insertted = 0;
+ int inserted = 0;
+#ifdef HAVE_prologue
+ rtx prologue_end = NULL_RTX;
+#endif
prologue = 0;
#ifdef HAVE_prologue
@@ -6710,7 +6733,7 @@ thread_prologue_and_epilogue_insns (f)
seq = get_insns ();
prologue = record_insns (seq);
- emit_note (NULL, NOTE_INSN_PROLOGUE_END);
+ prologue_end = emit_note (NULL, NOTE_INSN_PROLOGUE_END);
seq = gen_sequence ();
end_sequence ();
@@ -6723,7 +6746,7 @@ thread_prologue_and_epilogue_insns (f)
abort ();
insert_insn_on_edge (seq, ENTRY_BLOCK_PTR->succ);
- insertted = 1;
+ inserted = 1;
}
else
emit_insn_after (seq, f);
@@ -6855,8 +6878,56 @@ thread_prologue_and_epilogue_insns (f)
}
#endif
- if (insertted)
+ if (inserted)
commit_edge_insertions ();
+
+#ifdef HAVE_prologue
+ if (prologue_end)
+ {
+ rtx insn, prev;
+
+ /* GDB handles `break f' by setting a breakpoint on the first
+ line note *after* the prologue. Which means (1) that if
+ there are line number notes before where we inserted the
+ prologue we should move them, and (2) if there is no such
+ note, then we should generate one at the prologue. */
+
+ for (insn = prologue_end; insn ; insn = prev)
+ {
+ prev = PREV_INSN (insn);
+ if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0)
+ {
+ /* Note that we cannot reorder the first insn in the
+ chain, since rest_of_compilation relies on that
+ remaining constant. Do the next best thing. */
+ if (prev == NULL)
+ {
+ emit_line_note_after (NOTE_SOURCE_FILE (insn),
+ NOTE_LINE_NUMBER (insn),
+ prologue_end);
+ NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
+ }
+ else
+ reorder_insns (insn, insn, prologue_end);
+ }
+ }
+
+ insn = NEXT_INSN (prologue_end);
+ if (! insn || GET_CODE (insn) != NOTE || NOTE_LINE_NUMBER (insn) <= 0)
+ {
+ for (insn = next_active_insn (f); insn ; insn = PREV_INSN (insn))
+ {
+ if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0)
+ {
+ emit_line_note_after (NOTE_SOURCE_FILE (insn),
+ NOTE_LINE_NUMBER (insn),
+ prologue_end);
+ break;
+ }
+ }
+ }
+ }
+ #endif
}
/* Reposition the prologue-end and epilogue-begin notes after instruction
diff --git a/gcc/function.h b/gcc/function.h
index 878de9e950e..c25933ca26e 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -146,6 +146,7 @@ struct function
struct label_node *caught_return_label_stack;
tree protect_list;
rtx ehc;
+ rtx eh_return_stub_label;
/* For expr.c. */
rtx pending_chain;
@@ -216,11 +217,40 @@ struct function
/* The FUNCTION_DECL for an inline function currently being expanded. */
extern tree inline_function_decl;
+/* Label that will go on parm cleanup code, if any.
+ Jumping to this label runs cleanup code for parameters, if
+ such code must be run. Following this code is the logical return label. */
+
+extern rtx cleanup_label;
+
/* Label that will go on function epilogue.
Jumping to this label serves as a "return" instruction
on machines which require execution of the epilogue on all returns. */
+
extern rtx return_label;
+/* Offset to end of allocated area of stack frame.
+ If stack grows down, this is the address of the last stack slot allocated.
+ If stack grows up, this is the address for the next slot. */
+extern HOST_WIDE_INT frame_offset;
+
+/* Label to jump back to for tail recursion, or 0 if we have
+ not yet needed one for this function. */
+extern rtx tail_recursion_label;
+
+/* Place after which to insert the tail_recursion_label if we need one. */
+extern rtx tail_recursion_reentry;
+
+/* Location at which to save the argument pointer if it will need to be
+ referenced. There are two cases where this is done: if nonlocal gotos
+ exist, or if vars whose is an offset from the argument pointer will be
+ needed by inner routines. */
+
+extern rtx arg_pointer_save_area;
+
+/* Chain of all RTL_EXPRs that have insns in them. */
+extern tree rtl_expr_chain;
+
/* List (chain of EXPR_LISTs) of all stack slots in this function.
Made for the sake of unshare_all_rtl. */
extern rtx stack_slot_list;
diff --git a/gcc/gcc.1 b/gcc/gcc.1
index c5bba78a50d..74200a1a169 100644
--- a/gcc/gcc.1
+++ b/gcc/gcc.1
@@ -23,7 +23,7 @@
.Id $Id: gcc.1,v 1.9 1998/12/16 20:55:57 law Exp $
.TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools"
.SH NAME
-gcc, g++ \- GNU project C and C++ Compiler (egcs-1.1)
+gcc, g++ \- GNU project C and C++ Compiler (gcc-2.95)
.SH SYNOPSIS
.B gcc
.RI "[ " option " | " filename " ].\|.\|."
diff --git a/gcc/gcc.c b/gcc/gcc.c
index e02bc0c1e9a..d4dbf5ea9d6 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -1,5 +1,6 @@
/* Compiler driver program that can handle many languages.
- Copyright (C) 1987, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -594,7 +595,7 @@ static struct compiler default_compilers[] =
{"@c",
{
#if USE_CPPLIB
- "%{E|M|MM:cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
+ "%{E|M|MM:cpp0 -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
@@ -630,7 +631,7 @@ static struct compiler default_compilers[] =
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"
#else /* ! USE_CPPLIB */
- "cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
+ "cpp0 -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
@@ -658,7 +659,7 @@ static struct compiler default_compilers[] =
#endif /* ! USE_CPPLIB */
}},
{"-",
- {"%{E:cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
+ {"%{E:cpp0 -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
@@ -676,7 +677,7 @@ static struct compiler default_compilers[] =
{".h", {"@c-header"}},
{"@c-header",
{"%{!E:%eCompilation of header file requested} \
- cpp %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ cpp0 %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -707,7 +708,7 @@ static struct compiler default_compilers[] =
%i %A\n }}}}"}},
{".S", {"@assembler-with-cpp"}},
{"@assembler-with-cpp",
- {"cpp -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG} %{trigraphs}\
-$ %{!undef:%p %P} -D__ASSEMBLER__ \
@@ -4818,18 +4819,7 @@ main (argc, argv)
if (access (specs_file, R_OK) == 0)
read_specs (specs_file, TRUE);
- /* Process any user specified specs in the order given on the command
- line. */
- for (uptr = user_specs_head; uptr; uptr = uptr->next)
- {
- char *filename = find_a_file (&startfile_prefixes, uptr->filename, R_OK);
- read_specs (filename ? filename : uptr->filename, FALSE);
- }
-
/* If not cross-compiling, look for startfiles in the standard places. */
- /* The fact that these are done here, after reading the specs file,
- means that it cannot be found in these directories.
- But that's okay. It should never be there anyway. */
if (*cross_compile == '0')
{
#ifdef MD_EXEC_PREFIX
@@ -4892,6 +4882,14 @@ main (argc, argv)
"BINUTILS", 0, 0, NULL_PTR);
}
+ /* Process any user specified specs in the order given on the command
+ line. */
+ for (uptr = user_specs_head; uptr; uptr = uptr->next)
+ {
+ char *filename = find_a_file (&startfile_prefixes, uptr->filename, R_OK);
+ read_specs (filename ? filename : uptr->filename, FALSE);
+ }
+
/* If we have a GCC_EXEC_PREFIX envvar, modify it for cpp's sake. */
if (gcc_exec_prefix)
{
@@ -4965,8 +4963,8 @@ main (argc, argv)
if (! verbose_flag)
{
- printf ("\nReport bugs to egcs-bugs@egcs.cygnus.com.\n");
- printf ("Please see the file BUGS (included with the sources) first.\n");
+ printf ("\nFor bug reporting instructions, please see:\n");
+ printf ("%s.\n", GCCBUGURL);
exit (0);
}
@@ -5158,8 +5156,8 @@ main (argc, argv)
if (print_help_list)
{
- printf ("\nReport bugs to egcs-bugs@egcs.cygnus.com.\n");
- printf ("Please see the file BUGS (included with the sources) first.\n");
+ printf ("\nFor bug reporting instructions, please see:\n");
+ printf ("%s\n", GCCBUGURL);
}
exit (error_count > 0 ? (signal_count ? 2 : 1) : 0);
diff --git a/gcc/gcc.texi b/gcc/gcc.texi
index 16828160c32..9c1f4505b05 100644
--- a/gcc/gcc.texi
+++ b/gcc/gcc.texi
@@ -47,15 +47,15 @@
@ifset INTERNALS
@ifset USING
-@settitle Using and Porting GNU CC
+@settitle Using and Porting the GNU Compiler Collection (GCC)
@end ifset
@end ifset
@c seems reasonable to assume at least one of INTERNALS or USING is set...
@ifclear INTERNALS
-@settitle Using GNU CC
+@settitle Using the GNU Compiler Collection
@end ifclear
@ifclear USING
-@settitle Porting GNU CC
+@settitle Porting the GNU Compiler Collection
@end ifclear
@syncodeindex fn cp
@@ -82,7 +82,7 @@
@ifinfo
@dircategory Programming
@direntry
-* gcc: (gcc). The GNU C compiler.
+* gcc: (gcc). The GNU Compiler Collection.
@end direntry
@ifset INTERNALS
@ifset USING
@@ -100,7 +100,7 @@ Published by the Free Software Foundation
59 Temple Place - Suite 330
Boston, MA 02111-1307 USA
-Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -133,29 +133,29 @@ instead of in the original English.
@titlepage
@ifset INTERNALS
@ifset USING
-@center @titlefont{Using and Porting GNU CC}
+@center @titlefont{Using and Porting the GNU Compiler Collection}
@end ifset
@end ifset
@ifclear INTERNALS
-@title Using GNU CC
+@title Using the GNU Compiler Collection
@end ifclear
@ifclear USING
-@title Porting GNU CC
+@title Porting the GNU Compiler Collection
@end ifclear
@sp 2
@center Richard M. Stallman
@sp 3
-@center Last updated 16 March 1998
+@center Last updated 28 July 1999
@sp 1
@c The version number appears five times more in this file.
-@center for egcs-1.1
+@center for gcc-2.95
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1988, 89, 92, 93, 94, 95, 96, 98 Free Software Foundation, Inc.
+Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998, 1999 Free Software Foundation, Inc.
@sp 2
-For EGCS Version 1.0@*
+For GCC Version 2.95@*
@sp 1
Published by the Free Software Foundation @*
59 Temple Place - Suite 330@*
@@ -194,19 +194,19 @@ instead of in the original English.
@ifset USING
This manual documents how to run, install and port the GNU
compiler, as well as its new features and incompatibilities, and how to
-report bugs. It corresponds to EGCS version 1.0.
+report bugs. It corresponds to GCC version 2.95.
@end ifset
@end ifset
@ifclear INTERNALS
This manual documents how to run and install the GNU compiler,
as well as its new features and incompatibilities, and how to report
-bugs. It corresponds to EGCS version 1.0.
+bugs. It corresponds to GCC version 2.95.
@end ifclear
@ifclear USING
This manual documents how to port the GNU compiler,
as well as its new features and incompatibilities, and how to report
-bugs. It corresponds to EGCS version 1.0.
+bugs. It corresponds to GCC version 2.95.
@end ifclear
@end ifinfo
@@ -214,19 +214,19 @@ bugs. It corresponds to EGCS version 1.0.
@ifset USING
* G++ and GCC:: You can compile C or C++ programs.
* Invoking GCC:: Command options supported by @samp{gcc}.
-* Installation:: How to configure, compile and install GNU CC.
+* Installation:: How to configure, compile and install GCC.
* C Extensions:: GNU extensions to the C language family.
* C++ Extensions:: GNU extensions to the C++ language.
-* Gcov:: gcov: a GNU CC test coverage program.
-* Trouble:: If you have trouble installing GNU CC.
+* Gcov:: gcov: a GCC test coverage program.
+* Trouble:: If you have trouble installing GCC.
* Bugs:: How, why and where to report bugs.
-* Service:: How to find suppliers of support for GNU CC.
-* Contributing:: How to contribute to testing and developing GNU CC.
-* VMS:: Using GNU CC on VMS.
+* Service:: How to find suppliers of support for GCC.
+* Contributing:: How to contribute to testing and developing GCC.
+* VMS:: Using GCC on VMS.
@end ifset
@ifset INTERNALS
-* Portability:: Goals of GNU CC's portability features.
-* Interface:: Function-call interface of GNU CC output.
+* Portability:: Goals of GCC's portability features.
+* Interface:: Function-call interface of GCC output.
* Passes:: Order of passes, what they do, and what each file is for.
* RTL:: The intermediate representation that most passes work on.
* Machine Desc:: How to write machine description instruction patterns.
@@ -239,24 +239,27 @@ bugs. It corresponds to EGCS version 1.0.
* GNU/Linux:: Linux and the GNU Project
* Copying:: GNU General Public License says
- how you can copy and share GNU CC.
-* Contributors:: People who have contributed to GNU CC.
+ how you can copy and share GCC.
+* Contributors:: People who have contributed to GCC.
* Index:: Index of concepts and symbol names.
@end menu
@ifset USING
@node G++ and GCC
-@chapter Compile C, C++, or Objective C
+@chapter Compile C, C++, Objective C, or Fortran
@cindex Objective C
-The C, C++, and Objective C versions of the compiler are integrated; the
-GNU C compiler can compile programs written in C, C++, or Objective C.
+The C, C++, and Objective C, and Fortran versions of the compiler are
+integrated; this is why we use the name ``GNU Compiler Collection''.
+GCC can compile programs written in C, C++, Objective C, or Fortran.
+The Fortran compiler is described in a separate manual.
@cindex GCC
-``GCC'' is a common shorthand term for the GNU C compiler. This is both
+``GCC'' is a common shorthand term for the GNU Compiler Collection. This is both
the most general name for the compiler, and the name used when the
-emphasis is on compiling C programs.
+emphasis is on compiling C programs (as the abbreviation formerly
+stood for ``GNU C Compiler'').
@cindex C++
@cindex G++
@@ -265,20 +268,20 @@ When referring to C++ compilation, it is usual to call the compiler
it ``GCC'' no matter what the language context; however, the term
``G++'' is more useful when the emphasis is on compiling C++ programs.
-We use the name ``GNU CC'' to refer to the compilation system as a
+We use the name ``GCC'' to refer to the compilation system as a
whole, and more specifically to the language-independent part of the
compiler. For example, we refer to the optimization options as
-affecting the behavior of ``GNU CC'' or sometimes just ``the compiler''.
+affecting the behavior of ``GCC'' or sometimes just ``the compiler''.
Front ends for other languages, such as Ada 9X, Fortran, Modula-3, and
Pascal, are under development. These front-ends, like that for C++, are
-built in subdirectories of GNU CC and link to it. The result is an
+built in subdirectories of GCC and link to it. The result is an
integrated compiler that can compile programs written in C, C++,
Objective C, or any of the languages for which you have installed front
ends.
In this manual, we only discuss the options for the C, Objective-C, and
-C++ compilers and those of the GNU CC core. Consult the documentation
+C++ compilers and those of the GCC core. Consult the documentation
of the other front ends for the options to use when compiling programs
written in other languages.
@@ -308,13 +311,13 @@ give you comprehensive C++ source-level editing capabilities
@include gcov.texi
@node Trouble
-@chapter Known Causes of Trouble with GNU CC
+@chapter Known Causes of Trouble with GCC
@cindex bugs, known
@cindex installation trouble
@cindex known causes of trouble
-This section describes known problems that affect users of GNU CC. Most
-of these are not GNU CC bugs per se---if they were, we would fix them.
+This section describes known problems that affect users of GCC. Most
+of these are not GCC bugs per se---if they were, we would fix them.
But the result for a user may be like the result of a bug.
Some of these problems are due to bugs in other software, some are
@@ -323,12 +326,12 @@ where people's opinions differ as to what is best.
@menu
* Actual Bugs:: Bugs we will fix later.
-* Installation Problems:: Problems that manifest when you install GNU CC.
-* Cross-Compiler Problems:: Common problems of cross compiling with GNU CC.
-* Interoperation:: Problems using GNU CC with other compilers,
+* Installation Problems:: Problems that manifest when you install GCC.
+* Cross-Compiler Problems:: Common problems of cross compiling with GCC.
+* Interoperation:: Problems using GCC with other compilers,
and with certain linkers, assemblers and debuggers.
* External Bugs:: Problems compiling certain programs.
-* Incompatibilities:: GNU CC is incompatible with traditional C.
+* Incompatibilities:: GCC is incompatible with traditional C.
* Fixed Headers:: GNU C uses corrected versions of system header files.
This is necessary, but doesn't always work smoothly.
* Standard Libraries:: GNU C uses the system C library, which might not be
@@ -363,7 +366,7 @@ There are several obscure case of mis-using struct, union, and
enum tags that are not detected as errors by the compiler.
@item
-When @samp{-pedantic-errors} is specified, GNU C will incorrectly give
+When @samp{-pedantic-errors} is specified, GCC will incorrectly give
an error message when a function name is specified in an expression
involving the comma operator.
@@ -393,19 +396,19 @@ directory. Make sure you have done all the necessary preparations.
@xref{Other Dir}.
@item
-If you build GNU CC on a BSD system using a directory stored in a System
+If you build GCC on a BSD system using a directory stored in a System
V file system, problems may occur in running @code{fixincludes} if the
System V file system doesn't support symbolic links. These problems
result in a failure to fix the declaration of @code{size_t} in
@file{sys/types.h}. If you find that @code{size_t} is a signed type and
that type mismatches occur, this could be the cause.
-The solution is not to use such a directory for building GNU CC.
+The solution is not to use such a directory for building GCC.
@item
-In previous versions of GNU CC, the @code{gcc} driver program looked for
+In previous versions of GCC, the @code{gcc} driver program looked for
@code{as} and @code{ld} in various places; for example, in files
-beginning with @file{/usr/local/lib/gcc-}. GNU CC version 2 looks for
+beginning with @file{/usr/local/lib/gcc-}. GCC version 2 looks for
them in the directory
@file{/usr/local/lib/gcc-lib/@var{target}/@var{version}}.
@@ -433,12 +436,12 @@ the compiler. In one case, this was traced down to a bug in
@item
If you have installed a program known as purify, you may find that it
causes errors while linking @code{enquire}, which is part of building
-GNU CC. The fix is to get rid of the file @code{real-ld} which purify
-installs---so that GNU CC won't try to use it.
+GCC. The fix is to get rid of the file @code{real-ld} which purify
+installs---so that GCC won't try to use it.
@item
On GNU/Linux SLS 1.01, there is a problem with @file{libc.a}: it does not
-contain the obstack functions. However, GNU CC assumes that the obstack
+contain the obstack functions. However, GCC assumes that the obstack
functions are in @file{libc.a} when it is the GNU C library. To work
around this problem, change the @code{__GNU_LIBRARY__} conditional
around line 31 to @samp{#if 1}.
@@ -447,7 +450,7 @@ around line 31 to @samp{#if 1}.
On some 386 systems, building the compiler never finishes because
@code{enquire} hangs due to a hardware problem in the motherboard---it
reports floating point exceptions to the kernel incorrectly. You can
-install GNU CC except for @file{float.h} by patching out the command to
+install GCC except for @file{float.h} by patching out the command to
run @code{enquire}. You may also be able to fix the problem for real by
getting a replacement motherboard. This problem was observed in
Revision E of the Micronics motherboard, and is fixed in Revision F.
@@ -459,7 +462,7 @@ are running SCO Unix, you can reboot and force the FPU to be ignored.
To do this, type @samp{hd(40)unix auto ignorefpu}.
@item
-On some 386 systems, GNU CC crashes trying to compile @file{enquire.c}.
+On some 386 systems, GCC crashes trying to compile @file{enquire.c}.
This happens on machines that don't have a 387 FPU chip. On 386
machines, the system kernel is supposed to emulate the 387 when you
don't have one. The crash is due to a bug in the emulator.
@@ -490,48 +493,48 @@ enquire.c:2328: floating overflow
@end example
@item
-On SCO systems, when compiling GNU CC with the system's compiler,
+On SCO systems, when compiling GCC with the system's compiler,
do not use @samp{-O}. Some versions of the system's compiler miscompile
-GNU CC with @samp{-O}.
+GCC with @samp{-O}.
@cindex @code{genflags}, crash on Sun 4
@item
Sometimes on a Sun 4 you may observe a crash in the program
-@code{genflags} or @code{genoutput} while building GNU CC. This is said to
+@code{genflags} or @code{genoutput} while building GCC. This is said to
be due to a bug in @code{sh}. You can probably get around it by running
@code{genflags} or @code{genoutput} manually and then retrying the
@code{make}.
@item
-On Solaris 2, executables of GNU CC version 2.0.2 are commonly
+On Solaris 2, executables of GCC version 2.0.2 are commonly
available, but they have a bug that shows up when compiling current
-versions of GNU CC: undefined symbol errors occur during assembly if you
+versions of GCC: undefined symbol errors occur during assembly if you
use @samp{-g}.
-The solution is to compile the current version of GNU CC without
+The solution is to compile the current version of GCC without
@samp{-g}. That makes a working compiler which you can use to recompile
with @samp{-g}.
@item
Solaris 2 comes with a number of optional OS packages. Some of these
-packages are needed to use GNU CC fully. If you did not install all
+packages are needed to use GCC fully. If you did not install all
optional packages when installing Solaris, you will need to verify that
-the packages that GNU CC needs are installed.
+the packages that GCC needs are installed.
To check whether an optional package is installed, use
the @code{pkginfo} command. To add an optional package, use the
@code{pkgadd} command. For further details, see the Solaris
documentation.
-For Solaris 2.0 and 2.1, GNU CC needs six packages: @samp{SUNWarc},
+For Solaris 2.0 and 2.1, GCC needs six packages: @samp{SUNWarc},
@samp{SUNWbtool}, @samp{SUNWesu}, @samp{SUNWhea}, @samp{SUNWlibm}, and
@samp{SUNWtoo}.
-For Solaris 2.2, GNU CC needs an additional seventh package: @samp{SUNWsprot}.
+For Solaris 2.2, GCC needs an additional seventh package: @samp{SUNWsprot}.
@item
On Solaris 2, trying to use the linker and other tools in
-@file{/usr/ucb} to install GNU CC has been observed to cause trouble.
+@file{/usr/ucb} to install GCC has been observed to cause trouble.
For example, the linker may hang indefinitely. The fix is to remove
@file{/usr/ucb} from your @code{PATH}.
@@ -555,7 +558,7 @@ optional, and there should not be a warning about their absence.
@item
In Ultrix 4.0 on the MIPS machine, @file{stdio.h} does not work with GNU
CC at all unless it has been fixed with @code{fixincludes}. This causes
-problems in building GNU CC. Once GNU CC is installed, the problems go
+problems in building GCC. Once GCC is installed, the problems go
away.
To work around this problem, when making the stage 1 compiler, specify
@@ -585,7 +588,7 @@ Some versions of the MIPS linker will issue an assertion failure
when linking code that uses @code{alloca} against shared
libraries on RISC-OS 5.0, and DEC's OSF/1 systems. This is a bug
in the linker, that is supposed to be fixed in future revisions.
-To protect against this, GNU CC passes @samp{-non_shared} to the
+To protect against this, GCC passes @samp{-non_shared} to the
linker unless you pass an explicit @samp{-shared} or
@samp{-call_shared} switch.
@@ -618,7 +621,7 @@ On System V, if you get an error like this,
that too indicates a problem with disk space, ULIMIT, or @code{MAXUMEM}.
@item
-Current GNU CC versions probably do not work on version 2 of the NeXT
+Current GCC versions probably do not work on version 2 of the NeXT
operating system.
@item
@@ -628,7 +631,7 @@ does not happen on 3.1.
@item
On the Tower models 4@var{n}0 and 6@var{n}0, by default a process is not
-allowed to have more than one megabyte of memory. GNU CC cannot compile
+allowed to have more than one megabyte of memory. GCC cannot compile
itself (or many other programs) with @samp{-O} in that much memory.
To solve this problem, reconfigure the kernel adding the following line
@@ -640,7 +643,7 @@ MAXUMEM = 4096
@item
On HP 9000 series 300 or 400 running HP-UX release 8.0, there is a bug
-in the assembler that must be fixed before GNU CC can be built. This
+in the assembler that must be fixed before GCC can be built. This
bug manifests itself during the first stage of compilation, while
building @file{libgcc2.a}:
@@ -677,13 +680,13 @@ use BASH (the GNU shell) to run @code{fixproto}.
@item
Some versions of the Pyramid C compiler are reported to be unable to
-compile GNU CC. You must use an older version of GNU CC for
+compile GCC. You must use an older version of GCC for
bootstrapping. One indication of this problem is if you get a crash
-when GNU CC compiles the function @code{muldi3} in file @file{libgcc2.c}.
+when GCC compiles the function @code{muldi3} in file @file{libgcc2.c}.
-You may be able to succeed by getting GNU CC version 1, installing it,
-and using it to compile GNU CC version 2. The bug in the Pyramid C
-compiler does not seem to affect GNU CC version 1.
+You may be able to succeed by getting GCC version 1, installing it,
+and using it to compile GCC version 2. The bug in the Pyramid C
+compiler does not seem to affect GCC version 1.
@item
There may be similar problems on System V Release 3.1 on 386 systems.
@@ -691,7 +694,7 @@ There may be similar problems on System V Release 3.1 on 386 systems.
@item
On the Intel Paragon (an i860 machine), if you are using operating
system version 1.0, you will get warnings or errors about redefinition
-of @code{va_arg} when you build GNU CC.
+of @code{va_arg} when you build GCC.
If this happens, then you need to link most programs with the library
@file{iclib.a}. You must also modify @file{stdio.h} as follows: before
@@ -728,7 +731,7 @@ insert the line
These problems don't exist in operating system version 1.1.
@item
-On the Altos 3068, programs compiled with GNU CC won't work unless you
+On the Altos 3068, programs compiled with GCC won't work unless you
fix a kernel bug. This happens using system versions V.2.2 1.0gT1 and
V.2.2 1.0e and perhaps later versions as well. See the file
@file{README.ALTOS}.
@@ -819,12 +822,12 @@ run. Incompatible libraries are then detected at link time, rather than
at run time.
@item
-Older GDB versions sometimes fail to read the output of GNU CC version
+Older GDB versions sometimes fail to read the output of GCC version
2. If you have trouble, get GDB version 4.4 or later.
@item
@cindex DBX
-DBX rejects some files produced by GNU CC, though it accepts similar
+DBX rejects some files produced by GCC, though it accepts similar
constructs in output from PCC. Until someone can supply a coherent
description of what is valid DBX input and what is not, there is
nothing I can do about these problems. You are on your own.
@@ -841,10 +844,10 @@ be run.
@item
Use of @samp{-I/usr/include} may cause trouble.
-Many systems come with header files that won't work with GNU CC unless
+Many systems come with header files that won't work with GCC unless
corrected by @code{fixincludes}. The corrected header files go in a new
-directory; GNU CC searches this directory before @file{/usr/include}.
-If you use @samp{-I/usr/include}, this tells GNU CC to search
+directory; GCC searches this directory before @file{/usr/include}.
+If you use @samp{-I/usr/include}, this tells GCC to search
@file{/usr/include} earlier on, before the corrected headers. The
result is that you get the uncorrected header files.
@@ -854,7 +857,7 @@ Instead, you should use these options (when compiling C programs):
-I/usr/local/lib/gcc-lib/@var{target}/@var{version}/include -I/usr/include
@end smallexample
-For C++ programs, GNU CC also uses a special directory that defines C++
+For C++ programs, GCC also uses a special directory that defines C++
interfaces to standard C subroutines. This directory is meant to be
searched @emph{before} other standard include directories, so that it
takes precedence. If you are compiling C++ programs and specifying
@@ -871,7 +874,7 @@ options above:
There is a bug in @code{vfork} on the Sun-4 which causes the registers
of the child process to clobber those of the parent. Because of this,
programs that call @code{vfork} are likely to lose when compiled
-optimized with GNU CC when the child code alters registers which contain
+optimized with GCC when the child code alters registers which contain
C variables in the parent. This affects variables which are live in the
parent across the call to @code{vfork}.
@@ -884,18 +887,18 @@ using @samp{-O} for those source files.
@item
On some SGI systems, when you use @samp{-lgl_s} as an option,
it gets translated magically to @samp{-lgl_s -lX11_s -lc_s}.
-Naturally, this does not happen when you use GNU CC.
+Naturally, this does not happen when you use GCC.
You must specify all three options explicitly.
@item
-On a Sparc, GNU CC aligns all values of type @code{double} on an 8-byte
+On a Sparc, GCC aligns all values of type @code{double} on an 8-byte
boundary, and it expects every @code{double} to be so aligned. The Sun
compiler usually gives @code{double} values 8-byte alignment, with one
exception: function arguments of type @code{double} may not be aligned.
As a result, if a function compiled with Sun CC takes the address of an
argument of type @code{double} and passes this pointer of type
-@code{double *} to a function compiled with GNU CC, dereferencing the
+@code{double *} to a function compiled with GCC, dereferencing the
pointer may cause a fatal signal.
One way to solve this problem is to compile your entire program with GNU
@@ -926,7 +929,7 @@ Storing into the pointer can be done likewise with the same union.
@item
On Solaris, the @code{malloc} function in the @file{libmalloc.a} library
-may allocate memory that is only 4 byte aligned. Since GNU CC on the
+may allocate memory that is only 4 byte aligned. Since GCC on the
Sparc assumes that doubles are 8 byte aligned, this may result in a
fatal signal if doubles are stored in memory allocated by the
@file{libmalloc.a} library.
@@ -951,20 +954,20 @@ instructions they must be emulated by the operating system. Long
doubles do not work in Sun OS versions 4.0.3 and earlier, because the
kernel emulator uses an obsolete and incompatible format. Long doubles
do not work in Sun OS version 4.1.1 due to a problem in a Sun library.
-Long doubles do work on Sun OS versions 4.1.2 and higher, but GNU CC
+Long doubles do work on Sun OS versions 4.1.2 and higher, but GCC
does not enable them by default. Long doubles appear to work in Sun OS
5.x (Solaris 2.x).
@item
On HP-UX version 9.01 on the HP PA, the HP compiler @code{cc} does not
-compile GNU CC correctly. We do not yet know why. However, GNU CC
+compile GCC correctly. We do not yet know why. However, GCC
compiled on earlier HP-UX versions works properly on HP-UX 9.01 and can
compile itself properly on 9.01.
@item
On the HP PA machine, ADB sometimes fails to work on functions compiled
-with GNU CC. Specifically, it fails to work on functions that use
-@code{alloca} or variable-size arrays. This is because GNU CC doesn't
+with GCC. Specifically, it fails to work on functions that use
+@code{alloca} or variable-size arrays. This is because GCC doesn't
generate HP-UX unwind descriptors for such functions. It may even be
impossible to generate them.
@@ -986,11 +989,11 @@ the HP assembler. GAS for the PA does not have this problem.
In extremely rare cases involving some very large functions you may
receive errors from the HP linker complaining about an out of bounds
unconditional branch offset. This used to occur more often in previous
-versions of GNU CC, but is now exceptionally rare. If you should run
+versions of GCC, but is now exceptionally rare. If you should run
into it, you can work around by making your function smaller.
@item
-GNU CC compiled code sometimes emits warnings from the HP-UX assembler of
+GCC compiled code sometimes emits warnings from the HP-UX assembler of
the form:
@smallexample
@@ -1064,7 +1067,7 @@ by requesting PTF 421749 from IBM.
@item
There is an assembler bug in versions of DG/UX prior to 5.4.2.01 that
-occurs when the @samp{fldcr} instruction is used. GNU CC uses
+occurs when the @samp{fldcr} instruction is used. GCC uses
@samp{fldcr} on the 88100 to serialize volatile memory references. Use
the option @samp{-mno-serialize-volatile} if your version of the
assembler has this bug.
@@ -1090,7 +1093,7 @@ lines around the definition of @code{size_t}:
@cindex Alliant
@item
On the Alliant, the system's own convention for returning structures
-and unions is unusual, and is not compatible with GNU CC no matter
+and unions is unusual, and is not compatible with GCC no matter
what options are used.
@cindex RT PC
@@ -1098,7 +1101,7 @@ what options are used.
@item
On the IBM RT PC, the MetaWare HighC compiler (hc) uses a different
convention for structure and union returning. Use the option
-@samp{-mhc-struct-return} to tell GNU CC to use a convention compatible
+@samp{-mhc-struct-return} to tell GCC to use a convention compatible
with it.
@cindex Vax calling convention
@@ -1108,7 +1111,7 @@ On Ultrix, the Fortran compiler expects registers 2 through 5 to be saved
by function calls. However, the C compiler uses conventions compatible
with BSD Unix: registers 2 through 5 may be clobbered by function calls.
-GNU CC uses the same convention as the Ultrix C compiler. You can use
+GCC uses the same convention as the Ultrix C compiler. You can use
these options to produce code compatible with the Fortran compiler:
@smallexample
@@ -1116,7 +1119,7 @@ these options to produce code compatible with the Fortran compiler:
@end smallexample
@item
-On the WE32k, you may find that programs compiled with GNU CC do not
+On the WE32k, you may find that programs compiled with GCC do not
work with the standard shared C library. You may need to link with
the ordinary C compiler. If you do so, you must specify the following
options:
@@ -1128,7 +1131,7 @@ options:
The first specifies where to find the library @file{libgcc.a}
specified with the @samp{-lgcc} option.
-GNU CC does linking by invoking @code{ld}, just as @code{cc} does, and
+GCC does linking by invoking @code{ld}, just as @code{cc} does, and
there is no reason why it @emph{should} matter which compilation program
you use to invoke @code{ld}. If someone tracks this problem down,
it can probably be fixed easily.
@@ -1145,7 +1148,7 @@ sometimes reorders instructions incorrectly when optimization is turned
on. If you think this may be happening to you, try using the GNU
assembler; GAS version 2.1 supports ECOFF on Irix.
-Or use the @samp{-noasmopt} option when you compile GNU CC with itself,
+Or use the @samp{-noasmopt} option when you compile GCC with itself,
and then again when you compile your program. (This is a temporary
kludge to turn off assembler optimization on Irix.) If this proves to
be what you need, edit the assembler spec in the file @file{specs} so
@@ -1197,13 +1200,13 @@ On various 386 Unix systems derived from System V, including SCO, ISC,
and ESIX, you may get error messages about running out of virtual memory
while compiling certain programs.
-You can prevent this problem by linking GNU CC with the GNU malloc
+You can prevent this problem by linking GCC with the GNU malloc
(which thus replaces the malloc that comes with the system). GNU malloc
is available as a separate package, and also in the file
@file{src/gmalloc.c} in the GNU Emacs 19 distribution.
If you have installed GNU malloc as a separate library package, use this
-option when you relink GNU CC:
+option when you relink GCC:
@example
MALLOC=/usr/local/lib/libgmalloc.a
@@ -1211,7 +1214,7 @@ MALLOC=/usr/local/lib/libgmalloc.a
Alternatively, if you have compiled @file{gmalloc.c} from Emacs 19, copy
the object file to @file{gmalloc.o} and use this option when you relink
-GNU CC:
+GCC:
@example
MALLOC=gmalloc.o
@@ -1219,8 +1222,8 @@ MALLOC=gmalloc.o
@end itemize
@node Incompatibilities
-@section Incompatibilities of GNU CC
-@cindex incompatibilities of GNU CC
+@section Incompatibilities of GCC
+@cindex incompatibilities of GCC
There are several noteworthy incompatibilities between GNU C and most
existing (non-ANSI) versions of C. The @samp{-traditional} option
@@ -1232,8 +1235,8 @@ telling GNU C to behave like the other C compilers.
@cindex read-only strings
@cindex shared strings
@item
-GNU CC normally makes string constants read-only. If several
-identical-looking string constants are used, GNU CC stores only one
+GCC normally makes string constants read-only. If several
+identical-looking string constants are used, GCC stores only one
copy of the string.
@cindex @code{mktemp}, and constant strings
@@ -1252,7 +1255,7 @@ constant. Likewise @code{fscanf} and @code{scanf}.
The best solution to these problems is to change the program to use
@code{char}-array variables with initialization strings for these
purposes instead of string constants. But if this is not possible,
-you can use the @samp{-fwritable-strings} flag, which directs GNU CC
+you can use the @samp{-fwritable-strings} flag, which directs GCC
to handle string constants the same way most C compilers do.
@samp{-traditional} also has this effect, among others.
@@ -1264,8 +1267,8 @@ This is because 2147483648 cannot fit in the type @code{int}, so
Negating this value yields 2147483648 again.
@item
-GNU CC does not substitute macro arguments when they appear inside of
-string constants. For example, the following macro in GNU CC
+GCC does not substitute macro arguments when they appear inside of
+string constants. For example, the following macro in GCC
@example
#define foo(a) "a"
@@ -1274,7 +1277,7 @@ string constants. For example, the following macro in GNU CC
@noindent
will produce output @code{"a"} regardless of what the argument @var{a} is.
-The @samp{-traditional} option directs GNU CC to handle such cases
+The @samp{-traditional} option directs GCC to handle such cases
(among others) in the old-fashioned (non-ANSI) fashion.
@cindex @code{setjmp} incompatibilities
@@ -1308,7 +1311,7 @@ its first value is restored; otherwise, it keeps the last value stored
in it.
If you use the @samp{-W} option with the @samp{-O} option, you will
-get a warning when GNU CC thinks such a problem might be possible.
+get a warning when GCC thinks such a problem might be possible.
The @samp{-traditional} option directs GNU C to put variables in
the stack by default, rather than in registers, in functions that
@@ -1317,7 +1320,7 @@ traditional C compilers.
@item
Programs that use preprocessing directives in the middle of macro
-arguments do not work with GNU CC. For example, a program like this
+arguments do not work with GCC. For example, a program like this
will not work:
@example
@@ -1366,17 +1369,17 @@ difficulty described immediately above applies here too.
@cindex whitespace
@item
PCC allows whitespace in the middle of compound assignment operators
-such as @samp{+=}. GNU CC, following the ANSI standard, does not
+such as @samp{+=}. GCC, following the ANSI standard, does not
allow this. The difficulty described immediately above applies here
too.
@cindex apostrophes
@cindex '
@item
-GNU CC complains about unterminated character constants inside of
+GCC complains about unterminated character constants inside of
preprocessing conditionals that fail. Some programs have English
comments enclosed in conditionals that are guaranteed to fail; if these
-comments contain apostrophes, GNU CC will probably report an error. For
+comments contain apostrophes, GCC will probably report an error. For
example, this code would produce an error:
@example
@@ -1403,38 +1406,38 @@ type of @code{time}.
@cindex @code{float} as function value type
@item
When compiling functions that return @code{float}, PCC converts it to
-a double. GNU CC actually returns a @code{float}. If you are concerned
+a double. GCC actually returns a @code{float}. If you are concerned
with PCC compatibility, you should declare your functions to return
@code{double}; you might as well say what you mean.
@cindex structures
@cindex unions
@item
-When compiling functions that return structures or unions, GNU CC
+When compiling functions that return structures or unions, GCC
output code normally uses a method different from that used on most
-versions of Unix. As a result, code compiled with GNU CC cannot call
+versions of Unix. As a result, code compiled with GCC cannot call
a structure-returning function compiled with PCC, and vice versa.
-The method used by GNU CC is as follows: a structure or union which is
+The method used by GCC is as follows: a structure or union which is
1, 2, 4 or 8 bytes long is returned like a scalar. A structure or union
with any other size is stored into an address supplied by the caller
(usually in a special, fixed register, but on some machines it is passed
on the stack). The machine-description macros @code{STRUCT_VALUE} and
-@code{STRUCT_INCOMING_VALUE} tell GNU CC where to pass this address.
+@code{STRUCT_INCOMING_VALUE} tell GCC where to pass this address.
By contrast, PCC on most target machines returns structures and unions
of any size by copying the data into an area of static storage, and then
returning the address of that storage as if it were a pointer value.
The caller must copy the data from that memory area to the place where
-the value is wanted. GNU CC does not use this method because it is
+the value is wanted. GCC does not use this method because it is
slower and nonreentrant.
On some newer machines, PCC uses a reentrant convention for all
-structure and union returning. GNU CC on most of these machines uses a
+structure and union returning. GCC on most of these machines uses a
compatible convention when returning structures and unions in memory,
but still returns small structures and unions in registers.
-You can tell GNU CC to use a compatible convention for all structure and
+You can tell GCC to use a compatible convention for all structure and
union returning with the option @samp{-fpcc-struct-return}.
@cindex preprocessing tokens
@@ -1460,13 +1463,13 @@ the minus sign. This whitespace will end the preprocessing number.
@node Fixed Headers
@section Fixed Header Files
-GNU CC needs to install corrected versions of some system header files.
+GCC needs to install corrected versions of some system header files.
This is because most target systems have some header files that won't
-work with GNU CC unless they are changed. Some have bugs, some are
+work with GCC unless they are changed. Some have bugs, some are
incompatible with ANSI C, and some depend on special features of other
compilers.
-Installing GNU CC automatically creates and installs the fixed header
+Installing GCC automatically creates and installs the fixed header
files, by running a program called @code{fixincludes} (or for certain
targets an alternative such as @code{fixinc.svr4}). Normally, you
don't need to pay attention to this. But there are cases where it
@@ -1475,8 +1478,8 @@ doesn't do the right thing automatically.
@itemize @bullet
@item
If you update the system's header files, such as by installing a new
-system version, the fixed header files of GNU CC are not automatically
-updated. The easiest way to update them is to reinstall GNU CC. (If
+system version, the fixed header files of GCC are not automatically
+updated. The easiest way to update them is to reinstall GCC. (If
you want to be clever, look in the makefile and you can find a
shortcut.)
@@ -1499,18 +1502,18 @@ different machine models, and arrange a structure of symbolic links so
as to use the proper set, but you'll have to do this by hand.
@item
-On Lynxos, GNU CC by default does not fix the header files. This is
+On Lynxos, GCC by default does not fix the header files. This is
because bugs in the shell cause the @code{fixincludes} script to fail.
This means you will encounter problems due to bugs in the system header
-files. It may be no comfort that they aren't GNU CC's fault, but it
+files. It may be no comfort that they aren't GCC's fault, but it
does mean that there's nothing for us to do about them.
@end itemize
@node Standard Libraries
@section Standard Libraries
-GNU CC by itself attempts to be what the ISO/ANSI C standard calls a
+GCC by itself attempts to be what the ISO/ANSI C standard calls a
@dfn{conforming freestanding implementation}. This means all ANSI
C language features are available, as well as the contents of
@file{float.h}, @file{limits.h}, @file{stdarg.h}, and
@@ -1526,7 +1529,7 @@ this function match the Standard, but that would be wrong, since the
function will still return @code{char *}.
If you need a Standard compliant library, then you need to find one, as
-GNU CC does not provide one. The GNU C library (called @code{glibc})
+GCC does not provide one. The GNU C library (called @code{glibc})
has been ported to a number of operating systems, and provides ANSI/ISO,
POSIX, BSD and SystemV compatibility. You could also ask your operating
system vendor if newer libraries are available.
@@ -1542,10 +1545,10 @@ way around them.
Certain local variables aren't recognized by debuggers when you compile
with optimization.
-This occurs because sometimes GNU CC optimizes the variable out of
+This occurs because sometimes GCC optimizes the variable out of
existence. There is no way to tell the debugger how to compute the
value such a variable ``would have had'', and it is not clear that would
-be desirable anyway. So GNU CC simply does not mention the eliminated
+be desirable anyway. So GCC simply does not mention the eliminated
variable when it writes debugging information.
You have to expect a certain amount of disagreement between the
@@ -1554,7 +1557,7 @@ executable and your source code, when you use optimization.
@cindex conflicting types
@cindex scope of declaration
@item
-Users often think it is a bug when GNU CC reports an error for code
+Users often think it is a bug when GCC reports an error for code
like this:
@example
@@ -1592,14 +1595,14 @@ If you care about controlling the amount of memory that is accessed, use
volatile but do not use bitfields.
@item
-GNU CC comes with shell scripts to fix certain known problems in system
+GCC comes with shell scripts to fix certain known problems in system
header files. They install corrected copies of various header files in
-a special directory where only GNU CC will normally look for them. The
+a special directory where only GCC will normally look for them. The
scripts adapt to various systems by searching all the system header
files for the problem cases that we know about.
If new system header files are installed, nothing automatically arranges
-to update the corrected header files. You will have to reinstall GNU CC
+to update the corrected header files. You will have to reinstall GCC
to fix the new header files. More specifically, go to the build
directory and delete the files @file{stmp-fixinc} and
@file{stmp-headers}, and the subdirectory @code{include}; then do
@@ -1891,7 +1894,7 @@ eighty characters in any case.)
@section Certain Changes We Don't Want to Make
This section lists changes that people frequently request, but which
-we do not make because we think GNU CC is better without them.
+we do not make because we think GCC is better without them.
@itemize @bullet
@item
@@ -1992,12 +1995,12 @@ that machine. But such applications are rare. And users writing a
program to run on more than one type of machine cannot possibly benefit
from this kind of compatibility.
-This is why GNU CC does and will treat plain bitfields in the same
+This is why GCC does and will treat plain bitfields in the same
fashion on all types of machines (by default).
There are some arguments for making bitfields unsigned by default on all
machines. If, for example, this becomes a universal de facto standard,
-it would make sense for GNU CC to go along with it. This is something
+it would make sense for GCC to go along with it. This is something
to be considered in the future.
(Of course, users strongly concerned about portability should indicate
@@ -2007,7 +2010,7 @@ they write programs which have the same meaning in both C dialects.)
@item
Undefining @code{__STDC__} when @samp{-ansi} is not used.
-Currently, GNU CC defines @code{__STDC__} as long as you don't use
+Currently, GCC defines @code{__STDC__} as long as you don't use
@samp{-traditional}. This provides good results in practice.
Programmers normally use conditionals on @code{__STDC__} to ask whether
@@ -2033,11 +2036,11 @@ compilers such as plain @samp{gcc}. Whatever the ANSI C standard says
is relevant to the design of plain @samp{gcc} without @samp{-ansi} only
for pragmatic reasons, not as a requirement.
-GNU CC normally defines @code{__STDC__} to be 1, and in addition
+GCC normally defines @code{__STDC__} to be 1, and in addition
defines @code{__STRICT_ANSI__} if you specify the @samp{-ansi} option.
On some hosts, system include files use a different convention, where
@code{__STDC__} is normally 0, but is 1 if the user specifies strict
-conformance to the C Standard. GNU CC follows the host convention when
+conformance to the C Standard. GCC follows the host convention when
processing system include files, but when processing user files it follows
the usual GNU C convention.
@@ -2063,7 +2066,7 @@ test explicitly for C++ as well.
@item
Deleting ``empty'' loops.
-Historically, GNU CC has not deleted ``empty'' loops under the
+Historically, GCC has not deleted ``empty'' loops under the
assumption that the most likely reason you would put one in a program is
to have a delay, so deleting them will not make real programs run any
faster.
@@ -2118,7 +2121,7 @@ warnings. Each kind has a different purpose:
@itemize @w{}
@item
@emph{Errors} report problems that make it impossible to compile your
-program. GNU CC reports errors with the source file name and line
+program. GCC reports errors with the source file name and line
number where the problem is apparent.
@item
@@ -2136,12 +2139,12 @@ warnings are issued only if you ask for them, with one of the @samp{-W}
options (for instance, @samp{-Wall} requests a variety of useful
warnings).
-GNU CC always tries to compile your program if possible; it never
+GCC always tries to compile your program if possible; it never
gratuitously rejects a program whose meaning is clear merely because
(for instance) it fails to conform to a standard. In some cases,
however, the C and C++ standards specify that certain extensions are
forbidden, and a diagnostic @emph{must} be issued by a conforming
-compiler. The @samp{-pedantic} option tells GNU CC to issue warnings in
+compiler. The @samp{-pedantic} option tells GCC to issue warnings in
such cases; @samp{-pedantic-errors} says to make them errors instead.
This does not mean that @emph{all} non-ANSI constructs get warnings
or errors.
@@ -2154,7 +2157,7 @@ more detail on these and related command-line options.
@cindex bugs
@cindex reporting bugs
-Your bug reports play an essential role in making GNU CC reliable.
+Your bug reports play an essential role in making GCC reliable.
When you encounter a problem, the first thing to do is to see if it is
already known. @xref{Trouble}. If it isn't known, then you should
@@ -2163,8 +2166,8 @@ report the problem.
Reporting a bug may help you by bringing a solution to your problem, or
it may not. (If it does not, look in the service directory; see
@ref{Service}.) In any case, the principal function of a bug report is
-to help the entire community by making the next version of GNU CC work
-better. Bug reports are your contribution to the maintenance of GNU CC.
+to help the entire community by making the next version of GCC work
+better. Bug reports are your contribution to the maintenance of GCC.
Since the maintainers are very overloaded, we cannot respond to every
bug report. However, if the bug has not been fixed, we are likely to
@@ -2177,7 +2180,7 @@ information that makes for fixing the bug.
* Criteria: Bug Criteria. Have you really found a bug?
* Where: Bug Lists. Where to send your bug report.
* Reporting: Bug Reporting. How to report a bug effectively.
-* Patches: Sending Patches. How to send a patch for GNU CC.
+* Patches: Sending Patches. How to send a patch for GCC.
* Known: Trouble. Known problems.
* Help: Service. Where to ask for help.
@end menu
@@ -2221,11 +2224,11 @@ by chance to give the desired results with another C or C++ compiler.
For example, in many nonoptimizing compilers, you can write @samp{x;}
at the end of a function instead of @samp{return x;}, with the same
results. But the value of the function is undefined if @code{return}
-is omitted; it is not a bug when GNU CC produces different results.
+is omitted; it is not a bug when GCC produces different results.
Problems often result from expressions with two increment operators,
as in @code{f (*p++, *p++)}. Your previous compiler might have
-interpreted that expression the way you intended; GNU CC might
+interpreted that expression the way you intended; GCC might
interpret it another way. Neither compiler is wrong. The bug is
in your code.
@@ -2245,20 +2248,23 @@ that is a compiler bug. However, you should note that your idea of
for traditional practice''.
@item
-If you are an experienced user of C or C++ compilers, your suggestions
-for improvement of GNU CC or GNU C++ are welcome in any case.
+If you are an experienced user of C or C++ (or Fortran or Objective-C)
+compilers, your suggestions
+for improvement of GCC are welcome in any case.
@end itemize
@node Bug Lists
@section Where to Report Bugs
@cindex bug report mailing lists
-@kindex egcs-bugs@@egcs.cygnus.com
-Send bug reports for GNU C to @samp{egcs-bugs@@egcs.cygnus.com}.
+@kindex gcc-bugs@@gcc.gnu.org or bug-gcc@@gnu.org
+Send bug reports for the GNU Compiler Collection to
+@samp{gcc-bugs@@gcc.gnu.org}. In accordance with the GNU-wide
+convention, in which bug reports for tool ``foo'' are sent
+to @samp{bug-foo@@gnu.org}, the address @samp{bug-gcc@@gnu.org}
+may also be used; it will forward to the address given above.
-@kindex egcs-bugs@@egcs.cygnus.com
-@kindex egcs-bugs@@egcs.cygnus.com
-Send bug reports for GNU C++ and the C++ runtime libraries to
-@samp{egcs-bugs@@egcs.cygnus.com}.
+Please read @samp{<URL:http://www.gnu.org/software/gcc/bugs.html>} for
+bug reporting instructions before you post a bug report.
Often people think of posting bug reports to the newsgroup instead of
mailing them. This appears to work, but it has one problem which can be
@@ -2280,6 +2286,9 @@ Boston, MA 02111-1307, USA
@section How to Report Bugs
@cindex compiler bugs, reporting
+You may find additional and/or more up-to-date instructions at
+@samp{<URL:http://www.gnu.org/software/gcc/bugs.html>}.
+
The fundamental principle of reporting bugs usefully is this:
@strong{report all the facts}. If you are not sure whether to state a
fact or leave it out, state it!
@@ -2312,30 +2321,16 @@ Please report each bug in a separate message. This makes it easier for
us to track which bugs have been fixed and to forward your bugs reports
to the appropriate maintainer.
-If you include source code in your message, you can send it as clear
-text if it is small. If the message is larger, you may compress it using
-@file{gzip}, @file{bzip2}, or @file{pkzip}. Please be aware that sending
-compressed files needs an additional binary-safe mechanism such as
-@code{MIME} or @code{uuencode}. There is a 100k message limit on the
-@samp{egcs-bugs@@egcs.cygnus.com} mailing list at the time of this
-writing (March 1999). We're trying to create some mechanism for larger
-bug reports to be submitted; please check the on-line FAQ for more
-up-to-date instructions. Don't think that just posting a URL to the
-code is better, we do want to archive bug reports, and not all
-maintainers have good network connectivity to download large pieces of
-software when they need them; it's much easier for them to have them in
-their mailboxes.
-
To enable someone to investigate the bug, you should include all these
things:
@itemize @bullet
@item
-The version of GNU CC. You can get this by running it with the
+The version of GCC. You can get this by running it with the
@samp{-v} option.
Without this, we won't know whether there is any point in looking for
-the bug in the current version of GNU CC.
+the bug in the current version of GCC.
@item
A complete input file that will reproduce the bug. If the bug is in the
@@ -2357,16 +2352,16 @@ provoke the bug. For example, bugs in register allocation and reloading
frequently depend on every little detail of the function they happen in.
Even if the input file that fails comes from a GNU program, you should
-still send the complete test case. Don't ask the GNU CC maintainers to
+still send the complete test case. Don't ask the GCC maintainers to
do the extra work of obtaining the program in question---they are all
overworked as it is. Also, the problem may depend on what is in the
-header files on your system; it is unreliable for the GNU CC maintainers
+header files on your system; it is unreliable for the GCC maintainers
to try the problem with the header files available to them. By sending
CPP output, you can eliminate this source of uncertainty and save us
a certain percentage of wild goose chases.
@item
-The command arguments you gave GNU CC or GNU C++ to compile that example
+The command arguments you gave GCC to compile that example
and observe the bug. For example, did you use @samp{-O}? To guarantee
you won't omit something important, list all the options.
@@ -2395,7 +2390,7 @@ don't support) is a modification of the compiler source.
@item
Details of any other deviations from the standard procedure for installing
-GNU CC.
+GCC.
@item
A description of what behavior you observe that you believe is
@@ -2418,7 +2413,7 @@ was not happening. If you don't say to expect a crash, then we would
not know whether the bug was happening. We would not be able to draw
any conclusion from our observations.
-If the problem is a diagnostic when compiling GNU CC with some other
+If the problem is a diagnostic when compiling GCC with some other
compiler, say whether it is a warning or an error.
Often the observed symptom is incorrect output when your program is run.
@@ -2431,13 +2426,13 @@ person who understands the program can find this as easily as finding a
bug in the program itself.
@item
-If you send examples of assembler code output from GNU CC or GNU C++,
+If you send examples of assembler code output from GCC,
please use @samp{-g} when you make them. The debugging information
includes source line numbers which are essential for correlating the
output with the input.
@item
-If you wish to mention something in the GNU CC source, refer to it by
+If you wish to mention something in the GCC source, refer to it by
context, not by line number.
The line numbers in the development sources don't match those in your
@@ -2453,7 +2448,7 @@ any chance of being useful.
@cindex backtrace for bug reports
For example, many people send just a backtrace, but that is never
useful by itself. A simple backtrace with arguments conveys little
-about GNU CC because the compiler is largely data-driven; the same
+about GCC because the compiler is largely data-driven; the same
functions are called over and over for different RTL insns, doing
different things depending on the details of the insn.
@@ -2497,7 +2492,7 @@ as well save your time for something else.
Of course, if you can find a simpler example to report @emph{instead} of
the original one, that is a convenience. Errors in the output will be
easier to spot, running under the debugger will take less time, etc.
-Most GNU CC bugs involve just one function, so the most straightforward
+Most GCC bugs involve just one function, so the most straightforward
way to simplify an example is to delete all the function definitions
except the one where the bug occurs. Those earlier in the file may be
replaced by external declarations if the crucial function depends on
@@ -2521,7 +2516,7 @@ necessary information, such as the test case, on the assumption that a
patch is all we need. We might see problems with your patch and decide
to fix the problem another way, or we might not understand it at all.
-Sometimes with a program as complicated as GNU CC it is very hard to
+Sometimes with a program as complicated as GCC it is very hard to
construct an example that will make the program follow a certain path
through the code. If you don't send the example, we won't be able to
construct one, so we won't be able to verify that the bug is fixed.
@@ -2548,11 +2543,11 @@ we should be able to reproduce the crash ourselves.
@end itemize
@node Sending Patches,, Bug Reporting, Bugs
-@section Sending Patches for GNU CC
+@section Sending Patches for GCC
If you would like to write bug fixes or improvements for the GNU C
-compiler, that is very helpful. Send suggested fixes to the bug report
-mailing list, @code{egcs-bugs@@egcs.cygnus.com}.
+compiler, that is very helpful. Send suggested fixes to the patches
+mailing list, @code{gcc-patches@@gcc.gnu.org}.
Please follow these guidelines so we can study your patches efficiently.
If you don't follow these guidelines, your information might still be
@@ -2645,7 +2640,7 @@ would break other systems.
People often suggest fixing a problem by changing machine-independent
files such as @file{toplev.c} to do something special that a particular
system needs. Sometimes it is totally obvious that such changes would
-break GNU CC for almost all users. We can't possibly make a change like
+break GCC for almost all users. We can't possibly make a change like
that. At best it might tell us how to write another patch that would
solve the problem acceptably.
@@ -2664,48 +2659,48 @@ form that is good to install.
@end itemize
@node Service
-@chapter How To Get Help with GNU CC
+@chapter How To Get Help with GCC
-If you need help installing, using or changing GNU CC, there are two
+If you need help installing, using or changing GCC, there are two
ways to find it:
@itemize @bullet
@item
Send a message to a suitable network mailing list. First try
-@code{egcs-bugs@@egcs.cygnus.com}, and if that brings no response, try
-@code{egcs@@egcs.cygnus.com}.
+@code{gcc-bugs@@gcc.gnu.org} or @code{bug-gcc@@gnu.org}, and if that
+brings no response, try @code{gcc@@gcc.gnu.org}.
@item
Look in the service directory for someone who might help you for a fee.
The service directory is found in the file named @file{SERVICE} in the
-GNU CC distribution.
+GCC distribution.
@end itemize
@node Contributing
-@chapter Contributing to GNU CC Development
+@chapter Contributing to GCC Development
-If you would like to help pretest GNU CC releases to assure they work
-well, or if you would like to work on improving GNU CC, please contact
-the maintainers at @code{egcs@@egcs.cygnus.com}. A pretester should
+If you would like to help pretest GCC releases to assure they work
+well, or if you would like to work on improving GCC, please contact
+the maintainers at @code{gcc@@gcc.gnu.org}. A pretester should
be willing to try to investigate bugs as well as report them.
If you'd like to work on improvements, please ask for suggested projects
or suggest your own ideas. If you have already written an improvement,
please tell us about it. If you have not yet started work, it is useful
-to contact @code{egcs@@egcs.cygnus.com} before you start; the
+to contact @code{gcc@@gcc.gnu.org} before you start; the
maintainers may be able to suggest ways to make your extension fit in
-better with the rest of GNU CC and with other development plans.
+better with the rest of GCC and with other development plans.
@node VMS
-@chapter Using GNU CC on VMS
+@chapter Using GCC on VMS
@c prevent bad page break with this line
-Here is how to use GNU CC on VMS.
+Here is how to use GCC on VMS.
@menu
* Include Files and VMS:: Where the preprocessor looks for the include files.
* Global Declarations:: How to do globaldef, globalref and globalvalue with
- GNU CC.
+ GCC.
* VMS Misc:: Misc information.
@end menu
@@ -2715,11 +2710,11 @@ Here is how to use GNU CC on VMS.
@cindex include files and VMS
@cindex VMS and include files
@cindex header files and VMS
-Due to the differences between the filesystems of Unix and VMS, GNU CC
+Due to the differences between the filesystems of Unix and VMS, GCC
attempts to translate file names in @samp{#include} into names that VMS
will understand. The basic strategy is to prepend a prefix to the
specification of the include file, convert the whole filename to a VMS
-filename, and then try to open the file. GNU CC tries various prefixes
+filename, and then try to open the file. GCC tries various prefixes
one by one until one of them succeeds:
@enumerate
@@ -2763,9 +2758,9 @@ Include directives of the form:
@end example
@noindent
-are a common source of incompatibility between VAX-C and GNU CC. VAX-C
+are a common source of incompatibility between VAX-C and GCC. VAX-C
treats this much like a standard @code{#include <foobar.h>} directive.
-That is incompatible with the ANSI C behavior implemented by GNU CC: to
+That is incompatible with the ANSI C behavior implemented by GCC: to
expand the name @code{foobar} as a macro. Macro expansion should
eventually yield one of the two standard formats for @code{#include}:
@@ -2794,17 +2789,17 @@ Another source of incompatibility is that VAX-C assumes that:
@end example
@noindent
-is actually asking for the file @file{foobar.h}. GNU CC does not
+is actually asking for the file @file{foobar.h}. GCC does not
make this assumption, and instead takes what you ask for literally;
it tries to read the file @file{foobar}. The best way to avoid this
problem is to always specify the desired file extension in your include
directives.
-GNU CC for VMS is distributed with a set of include files that is
+GCC for VMS is distributed with a set of include files that is
sufficient to compile most general purpose programs. Even though the
-GNU CC distribution does not contain header files to define constants
+GCC distribution does not contain header files to define constants
and structures for some VMS system-specific functions, there is no
-reason why you cannot use GNU CC with any of these functions. You first
+reason why you cannot use GCC with any of these functions. You first
may have to generate or create header files, either by using the public
domain utility @code{UNSDL} (which can be found on a DECUS tape), or by
extracting the relevant modules from one of the system macro libraries,
@@ -2821,7 +2816,7 @@ whether explicitly, or implicitly via a logical name.
@findex GLOBALDEF
@findex GLOBALVALUEDEF
@findex GLOBALVALUEREF
-GNU CC does not provide the @code{globalref}, @code{globaldef} and
+GCC does not provide the @code{globalref}, @code{globaldef} and
@code{globalvalue} keywords of VAX-C. You can get the same effect with
an obscure feature of GAS, the GNU assembler. (This requires GAS
version 1.39 or later.) The following macros allow you to use this
@@ -2940,19 +2935,19 @@ enum globaldef color @{RED, BLUE, GREEN = 3@};
@cindex exit status and VMS
@cindex return value of @code{main}
@cindex @code{main} and the exit status
-GNU CC automatically arranges for @code{main} to return 1 by default if
+GCC automatically arranges for @code{main} to return 1 by default if
you fail to specify an explicit return value. This will be interpreted
by VMS as a status code indicating a normal successful completion.
-Version 1 of GNU CC did not provide this default.
+Version 1 of GCC did not provide this default.
-GNU CC on VMS works only with the GNU assembler, GAS. You need version
+GCC on VMS works only with the GNU assembler, GAS. You need version
1.37 or later of GAS in order to produce value debugging information for
the VMS debugger. Use the ordinary VMS linker with the object files
produced by GAS.
@cindex shared VMS run time system
@cindex @file{VAXCRTL}
-Under previous versions of GNU CC, the generated code would occasionally
+Under previous versions of GCC, the generated code would occasionally
give strange results when linked to the sharable @file{VAXCRTL} library.
Now this should work.
@@ -2969,10 +2964,10 @@ placed in writable storage.
Although the VMS linker does distinguish between upper and lower case
letters in global symbols, most VMS compilers convert all such symbols
into upper case and most run-time library routines also have upper case
-names. To be able to reliably call such routines, GNU CC (by means of
+names. To be able to reliably call such routines, GCC (by means of
the assembler GAS) converts global symbols into upper case like other
VMS compilers. However, since the usual practice in C is to distinguish
-case, GNU CC (via GAS) tries to preserve usual C behavior by augmenting
+case, GCC (via GAS) tries to preserve usual C behavior by augmenting
each name that is not all lower case. This means truncating the name
to at most 23 characters and then adding more characters at the end
which encode the case pattern of those 23. Names which contain at
@@ -3026,16 +3021,16 @@ number of changes to your source code.
@ifset INTERNALS
@node Portability
-@chapter GNU CC and Portability
+@chapter GCC and Portability
@cindex portability
-@cindex GNU CC and portability
+@cindex GCC and portability
-The main goal of GNU CC was to make a good, fast compiler for machines in
+The main goal of GCC was to make a good, fast compiler for machines in
the class that the GNU system aims to run on: 32-bit machines that address
8-bit bytes and have several general registers. Elegance, theoretical
power and simplicity are only secondary.
-GNU CC gets most of the information about the target machine from a machine
+GCC gets most of the information about the target machine from a machine
description which gives an algebraic formula for each of the machine's
instructions. This is a very clean way to describe the target. But when
the compiler needs information that is difficult to express in this
@@ -3046,7 +3041,7 @@ on the compiler; it was not of interest for its own sake.
@cindex endianness
@cindex autoincrement addressing, availability
@findex abort
-GNU CC does not contain machine dependent code, but it does contain code
+GCC does not contain machine dependent code, but it does contain code
that depends on machine parameters such as endianness (whether the most
significant byte has the highest or lowest address of the bytes in a word)
and the availability of autoincrement addressing. In the RTL-generation
@@ -3062,13 +3057,13 @@ affect only the target machines that need them.
@ifset INTERNALS
@node Interface
-@chapter Interfacing to GNU CC Output
-@cindex interfacing to GNU CC output
+@chapter Interfacing to GCC Output
+@cindex interfacing to GCC output
@cindex run-time conventions
@cindex function call conventions
@cindex conventions, run-time
-GNU CC is normally configured to use the same function calling convention
+GCC is normally configured to use the same function calling convention
normally in use on the target system. This is done with the
machine-description macros described (@pxref{Target Macros}).
@@ -3077,43 +3072,43 @@ machine-description macros described (@pxref{Target Macros}).
@cindex returning structures and unions
However, returning of structure and union values is done differently on
some target machines. As a result, functions compiled with PCC
-returning such types cannot be called from code compiled with GNU CC,
+returning such types cannot be called from code compiled with GCC,
and vice versa. This does not cause trouble often because few Unix
library routines return structures or unions.
-GNU CC code returns structures and unions that are 1, 2, 4 or 8 bytes
+GCC code returns structures and unions that are 1, 2, 4 or 8 bytes
long in the same registers used for @code{int} or @code{double} return
-values. (GNU CC typically allocates variables of such types in
+values. (GCC typically allocates variables of such types in
registers also.) Structures and unions of other sizes are returned by
storing them into an address passed by the caller (usually in a
register). The machine-description macros @code{STRUCT_VALUE} and
-@code{STRUCT_INCOMING_VALUE} tell GNU CC where to pass this address.
+@code{STRUCT_INCOMING_VALUE} tell GCC where to pass this address.
By contrast, PCC on most target machines returns structures and unions
of any size by copying the data into an area of static storage, and then
returning the address of that storage as if it were a pointer value.
The caller must copy the data from that memory area to the place where
-the value is wanted. This is slower than the method used by GNU CC, and
+the value is wanted. This is slower than the method used by GCC, and
fails to be reentrant.
On some target machines, such as RISC machines and the 80386, the
standard system convention is to pass to the subroutine the address of
-where to return the value. On these machines, GNU CC has been
+where to return the value. On these machines, GCC has been
configured to be compatible with the standard compiler, when this method
is used. It may not be compatible for structures of 1, 2, 4 or 8 bytes.
@cindex argument passing
@cindex passing arguments
-GNU CC uses the system's standard convention for passing arguments. On
+GCC uses the system's standard convention for passing arguments. On
some machines, the first few arguments are passed in registers; in
others, all are passed on the stack. It would be possible to use
registers for argument passing on any machine, and this would probably
result in a significant speedup. But the result would be complete
incompatibility with code that follows the standard convention. So this
-change is practical only if you are switching to GNU CC as the sole C
+change is practical only if you are switching to GCC as the sole C
compiler for the system. We may implement register argument passing on
certain machines once we have a complete GNU system so that we can
-compile the libraries with GNU CC.
+compile the libraries with GCC.
On some machines (particularly the Sparc), certain types of arguments
are passed ``by invisible reference''. This means that the value is
@@ -3123,9 +3118,9 @@ the subroutine.
@cindex @code{longjmp} and automatic variables
If you use @code{longjmp}, beware of automatic variables. ANSI C says that
automatic variables that are not declared @code{volatile} have undefined
-values after a @code{longjmp}. And this is all GNU CC promises to do,
+values after a @code{longjmp}. And this is all GCC promises to do,
because it is very difficult to restore register variables correctly, and
-one of GNU CC's features is that it can put variables in registers without
+one of GCC's features is that it can put variables in registers without
your asking it to.
If you want a variable to be unaltered by @code{longjmp}, and you don't
@@ -3144,7 +3139,7 @@ go in a register:
@cindex arithmetic libraries
@cindex math libraries
-Code compiled with GNU CC may call certain library routines. Most of
+Code compiled with GCC may call certain library routines. Most of
them handle arithmetic for which there are no instructions. This
includes multiply and divide on some machines, and floating point
operations on any machine for which floating point support is disabled
@@ -3153,7 +3148,7 @@ with @samp{-msoft-float}. Some standard parts of the C library, such as
function call interface is used for calling the library routines.
These library routines should be defined in the library @file{libgcc.a},
-which GNU CC automatically searches whenever it links a program. On
+which GCC automatically searches whenever it links a program. On
machines that have multiply and divide instructions, if hardware
floating point is in use, normally @file{libgcc.a} is not needed, but it
is searched just in case.
@@ -3162,7 +3157,7 @@ Each arithmetic function is defined in @file{libgcc1.c} to use the
corresponding C arithmetic operator. As long as the file is compiled
with another C compiler, which supports all the C arithmetic operators,
this file will work portably. However, @file{libgcc1.c} does not work if
-compiled with GNU CC, because each arithmetic function would compile
+compiled with GCC, because each arithmetic function would compile
into a call to itself!
@end ifset
@@ -3317,7 +3312,7 @@ function must meet certain criteria, currently related to the size of
the function and the types and number of parameters it has. Note that
this function may contain loops, recursive calls to itself
(tail-recursive functions can be inlined!), gotos, in short, all
-constructs supported by GNU CC. The file @file{integrate.c} contains
+constructs supported by GCC. The file @file{integrate.c} contains
the code to save a function's rtl for later inlining and to inline that
rtl when the function is called. The header file @file{integrate.h}
is also used for this purpose.
@@ -3668,7 +3663,7 @@ definitions that describe the machine and system on which the compiler
is running, unlike the definitions in @file{@var{machine}.h}, which
describe the machine for which the compiler is producing output. Most
of the values in @file{xm-@var{machine}.h} are actually the same on all
-machines that GNU CC runs on, so large parts of all configuration files
+machines that GCC runs on, so large parts of all configuration files
are identical. But there are some macros that vary:
@table @code
@@ -3693,7 +3688,7 @@ exits without serious errors.
@findex HOST_WORDS_BIG_ENDIAN
@item HOST_WORDS_BIG_ENDIAN
Defined if the host machine stores words of multi-word values in
-big-endian order. (GNU CC does not depend on the host byte ordering
+big-endian order. (GCC does not depend on the host byte ordering
within a word.)
@findex HOST_FLOAT_WORDS_BIG_ENDIAN
@@ -3772,7 +3767,7 @@ If you do define this macro, you should probably do it as follows:
@end example
@noindent
-so that when the compiler is compiled with GNU CC it uses the more
+so that when the compiler is compiled with GCC it uses the more
efficient built-in @code{alloca} function.
@item FUNCTION_CONVERSION_BUG
@@ -3784,7 +3779,7 @@ used in an expression.
@findex MULTIBYTE_CHARS
@item MULTIBYTE_CHARS
Define this macro to enable support for multibyte characters in the
-input to GNU CC. This requires that the host system support the ANSI C
+input to GCC. This requires that the host system support the ANSI C
library functions for converting multibyte characters to wide
characters.
@@ -3815,7 +3810,7 @@ Therefore, if you define @code{sys_siglist}, you should also define
Define this to be 1 if you know that the host compiler supports
prototypes, even if it doesn't define __STDC__, or define
it to be 0 if you do not want any prototypes used in compiling
-GNU CC. If @samp{USE_PROTOTYPES} is not defined, it will be
+GCC. If @samp{USE_PROTOTYPES} is not defined, it will be
determined automatically whether your compiler supports
prototypes by checking if @samp{__STDC__} is defined.
@@ -3823,7 +3818,7 @@ prototypes by checking if @samp{__STDC__} is defined.
@item NO_MD_PROTOTYPES
Define this if you wish suppression of prototypes generated from
the machine description file, but to use other prototypes within
-GNU CC. If @samp{USE_PROTOTYPES} is defined to be 0, or the
+GCC. If @samp{USE_PROTOTYPES} is defined to be 0, or the
host compiler does not support prototypes, this macro has no
effect.
@@ -3848,20 +3843,20 @@ the colon character
@item DIR_SEPARATOR
If your system uses some character other than slash to separate
directory names within a file specification, define this macro to be a C
-character constant specifying that character. When GNU CC displays file
-names, the character you specify will be used. GNU CC will test for
+character constant specifying that character. When GCC displays file
+names, the character you specify will be used. GCC will test for
both slash and the character you specify when parsing filenames.
@findex OBJECT_SUFFIX
@item OBJECT_SUFFIX
Define this macro to be a C string representing the suffix for object
-files on your machine. If you do not define this macro, GNU CC will use
+files on your machine. If you do not define this macro, GCC will use
@samp{.o} as the suffix for object files.
@findex EXECUTABLE_SUFFIX
@item EXECUTABLE_SUFFIX
Define this macro to be a C string representing the suffix for executable
-files on your machine. If you do not define this macro, GNU CC will use
+files on your machine. If you do not define this macro, GCC will use
the null string as the suffix for object files.
@findex COLLECT_EXPORT_LIST
@@ -3877,14 +3872,14 @@ lists.
@findex bcmp
In addition, configuration files for system V define @code{bcopy},
@code{bzero} and @code{bcmp} as aliases. Some files define @code{alloca}
-as a macro when compiled with GNU CC, in order to take advantage of the
-benefit of GNU CC's built-in @code{alloca}.
+as a macro when compiled with GCC, in order to take advantage of the
+benefit of GCC's built-in @code{alloca}.
@node Fragments
@chapter Makefile Fragments
@cindex makefile fragment
-When you configure GNU CC using the @file{configure} script
+When you configure GCC using the @file{configure} script
(@pxref{Installation}), it will construct the file @file{Makefile} from
the template file @file{Makefile.in}. When it does this, it will
incorporate makefile fragment files from the @file{config} directory,
@@ -3942,11 +3937,11 @@ in @code{EXTRA-PARTS}.
@findex MULTILIB_OPTIONS
@item MULTILIB_OPTIONS
-For some targets, invoking GNU CC in different ways produces objects
-that can not be linked together. For example, for some targets GNU CC
+For some targets, invoking GCC in different ways produces objects
+that can not be linked together. For example, for some targets GCC
produces both big and little endian code. For these targets, you must
arrange for multiple versions of @file{libgcc.a} to be compiled, one for
-each set of incompatible options. When GNU CC invokes the linker, it
+each set of incompatible options. When GCC invokes the linker, it
arranges to link in the right version of @file{libgcc.a}, based on
the command line options used.
@@ -3979,7 +3974,7 @@ you desire a different set of directory names.
@findex MULTILIB_MATCHES
@item MULTILIB_MATCHES
Sometimes the same option may be written in two different ways. If an
-option is listed in @code{MULTILIB_OPTIONS}, GNU CC needs to know about
+option is listed in @code{MULTILIB_OPTIONS}, GCC needs to know about
any synonyms. In that case, set @code{MULTILIB_MATCHES} to a list of
items of the form @samp{option=option} to describe all relevant
synonyms. For example, @samp{m68000=mc68000 m68020=mc68020}.
@@ -4073,7 +4068,7 @@ difference than others. For example, maintaining a separate version of
a program contributes very little; maintaining the standard version of a
program for the whole community contributes much. Easy new ports
contribute little, since someone else would surely do them; difficult
-ports such as adding a new CPU to the GNU C compiler contribute more;
+ports such as adding a new CPU to the GNU Compiler Collection contribute more;
major new features or packages contribute the most.
By establishing the idea that supporting further development is ``the
@@ -4523,7 +4518,7 @@ the ``copyright'' line and a pointer to where the full notice is found.
@smallexample
@var{one line to give the program's name and a brief idea of what it does.}
-Copyright (C) 19@var{yy} @var{name of author}
+Copyright (C) @var{yyyy} @var{name of author}
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -4546,7 +4541,7 @@ If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
@smallexample
-Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
+Gnomovision version 69, Copyright (C) @var{yyyy} @var{name of author}
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.
This is free software, and you are welcome to redistribute it
@@ -4578,11 +4573,11 @@ library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
@node Contributors
-@unnumbered Contributors to GNU CC
+@unnumbered Contributors to GCC
@cindex contributors
In addition to Richard Stallman, several people have written parts
-of GNU CC.
+of GCC.
@itemize @bullet
@item
@@ -4634,13 +4629,13 @@ Randy Smith finished the Sun FPA support.
Robert Brown implemented the support for Encore 32000 systems.
@item
-David Kashtan of SRI adapted GNU CC to VMS.
+David Kashtan of SRI adapted GCC to VMS.
@item
Alex Crain provided changes for the 3b1.
@item
-Greg Satz and Chris Hanson assisted in making GNU CC work on HP-UX for
+Greg Satz and Chris Hanson assisted in making GCC work on HP-UX for
the 9000 series 300.
@item
@@ -4657,16 +4652,16 @@ Dario Dariol contributed the four varieties of sample programs
that print a copy of their source.
@item
-Alain Lichnewsky ported GNU CC to the Mips cpu.
+Alain Lichnewsky ported GCC to the Mips cpu.
@item
-Devon Bowen, Dale Wiles and Kevin Zachmann ported GNU CC to the Tahoe.
+Devon Bowen, Dale Wiles and Kevin Zachmann ported GCC to the Tahoe.
@item
Jonathan Stone wrote the machine description for the Pyramid computer.
@item
-Gary Miller ported GNU CC to Charles River Data Systems machines.
+Gary Miller ported GCC to Charles River Data Systems machines.
@item
Richard Kenner of the New York University Ultracomputer Research
diff --git a/gcc/gcse.c b/gcc/gcse.c
index d7fde36ecd8..cddd7ac63df 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -1394,6 +1394,7 @@ hash_expr_1 (x, mode, do_not_record_p)
return 0;
}
hash += (unsigned) MEM;
+ hash += MEM_ALIAS_SET (x);
x = XEXP (x, 0);
goto repeat;
@@ -1526,6 +1527,14 @@ expr_equiv_p (x, y)
case REG:
return REGNO (x) == REGNO (y);
+ case MEM:
+ /* Can't merge two expressions in different alias sets, since we can
+ decide that the expression is transparent in a block when it isn't,
+ due to it being set with the different alias set. */
+ if (MEM_ALIAS_SET (x) != MEM_ALIAS_SET (y))
+ return 0;
+ break;
+
/* For commutative operations, check both orders. */
case PLUS:
case MULT:
@@ -4189,9 +4198,26 @@ insert_insn_end_bb (expr, bb, pre)
}
}
- new_insn = emit_insn_before (pat, insn);
- if (BLOCK_HEAD (bb) == insn)
- BLOCK_HEAD (bb) = new_insn;
+ /* If we found all the parameter loads, then we want to insert
+ before the first parameter load.
+
+ If we did not find all the parameter loads, then we might have
+ stopped on the head of the block, which could be a CODE_LABEL.
+ If we inserted before the CODE_LABEL, then we would be putting
+ the insn in the wrong basic block. In that case, put the insn
+ after the CODE_LABEL.
+
+ ?!? Do we need to account for NOTE_INSN_BASIC_BLOCK here? */
+ if (GET_CODE (insn) != CODE_LABEL)
+ {
+ new_insn = emit_insn_before (pat, insn);
+ if (BLOCK_HEAD (bb) == insn)
+ BLOCK_HEAD (bb) = new_insn;
+ }
+ else
+ {
+ new_insn = emit_insn_after (pat, insn);
+ }
}
else
{
diff --git a/gcc/ginclude/va-ppc.h b/gcc/ginclude/va-ppc.h
index 6d81497174d..de299b59cf9 100644
--- a/gcc/ginclude/va-ppc.h
+++ b/gcc/ginclude/va-ppc.h
@@ -17,10 +17,10 @@
/* Note that the names in this structure are in the user's namespace, but
that the V.4 abi explicitly states that these names should be used. */
typedef struct __va_list_tag {
- char gpr; /* index into the array of 8 GPRs stored in the
+ unsigned char gpr; /* index into the array of 8 GPRs stored in the
register save area gpr=0 corresponds to r3,
gpr=1 to r4, etc. */
- char fpr; /* index into the array of 8 FPRs stored in the
+ unsigned char fpr; /* index into the array of 8 FPRs stored in the
register save area fpr=0 corresponds to f1,
fpr=1 to f2, etc. */
char *overflow_arg_area; /* location on stack that holds the next
@@ -51,13 +51,13 @@ typedef struct {
/* Macros to access the register save area */
/* We cast to void * and then to TYPE * because this avoids
a warning about increasing the alignment requirement. */
-#define __VA_FP_REGSAVE(AP,TYPE) \
+#define __VA_FP_REGSAVE(AP,OFS,TYPE) \
((TYPE *) (void *) (&(((__va_regsave_t *) \
- (AP)->reg_save_area)->__fp_save[(int)(AP)->fpr])))
+ (AP)->reg_save_area)->__fp_save[OFS])))
-#define __VA_GP_REGSAVE(AP,TYPE) \
+#define __VA_GP_REGSAVE(AP,OFS,TYPE) \
((TYPE *) (void *) (&(((__va_regsave_t *) \
- (AP)->reg_save_area)->__gp_save[(int)(AP)->gpr])))
+ (AP)->reg_save_area)->__gp_save[OFS])))
/* Common code for va_start for both varargs and stdarg. We allow all
the work to be done by __builtin_saveregs. It returns a pointer to
@@ -88,60 +88,106 @@ typedef struct {
#define __va_float_p(TYPE) (__builtin_classify_type(*(TYPE *)0) == 8)
#endif
-#define __va_longlong_p(TYPE) \
- ((__builtin_classify_type(*(TYPE *)0) == 1) && (sizeof(TYPE) == 8))
-
#define __va_aggregate_p(TYPE) (__builtin_classify_type(*(TYPE *)0) >= 12)
#define __va_size(TYPE) ((sizeof(TYPE) + sizeof (long) - 1) / sizeof (long))
-#define va_arg(AP,TYPE) \
-__extension__ (*({ \
- register TYPE *__ptr; \
- \
- if (__va_float_p (TYPE) && (AP)->fpr < 8) \
- { \
- __ptr = __VA_FP_REGSAVE (AP, TYPE); \
- (AP)->fpr++; \
- } \
- \
- else if (__va_aggregate_p (TYPE) && (AP)->gpr < 8) \
- { \
- __ptr = * __VA_GP_REGSAVE (AP, TYPE *); \
- (AP)->gpr++; \
- } \
- \
- else if (!__va_float_p (TYPE) && !__va_aggregate_p (TYPE) \
- && (AP)->gpr + __va_size(TYPE) <= 8 \
- && (!__va_longlong_p(TYPE) \
- || (AP)->gpr + __va_size(TYPE) <= 8)) \
- { \
- if (__va_longlong_p(TYPE) && ((AP)->gpr & 1) != 0) \
- (AP)->gpr++; \
- \
- __ptr = __VA_GP_REGSAVE (AP, TYPE); \
- (AP)->gpr += __va_size (TYPE); \
- } \
- \
- else if (!__va_float_p (TYPE) && !__va_aggregate_p (TYPE) \
- && (AP)->gpr < 8) \
- { \
- (AP)->gpr = 8; \
- __ptr = (TYPE *) (void *) (__va_overflow(AP)); \
- __va_overflow(AP) += __va_size (TYPE) * sizeof (long); \
- } \
- \
- else if (__va_aggregate_p (TYPE)) \
- { \
- __ptr = * (TYPE **) (void *) (__va_overflow(AP)); \
- __va_overflow(AP) += sizeof (TYPE *); \
- } \
- else \
- { \
- __ptr = (TYPE *) (void *) (__va_overflow(AP)); \
- __va_overflow(AP) += __va_size (TYPE) * sizeof (long); \
- } \
- \
- __ptr; \
+/* This symbol isn't defined. It is used to flag type promotion violations
+ at link time. We can only do this when optimizing. Use __builtin_trap
+ instead of abort so that we don't require a prototype for abort.
+
+ __builtin_trap stuff is not available on the gcc-2.95 branch, so we just
+ avoid calling it for now. */
+
+#ifdef __OPTIMIZE__
+extern void __va_arg_type_violation(void) __attribute__((__noreturn__));
+#else
+#define __va_arg_type_violation()
+#endif
+
+#define va_arg(AP,TYPE) \
+__extension__ (*({ \
+ register TYPE *__ptr; \
+ \
+ if (__va_float_p (TYPE) && sizeof (TYPE) < 16) \
+ { \
+ unsigned char __fpr = (AP)->fpr; \
+ if (__fpr < 8) \
+ { \
+ __ptr = __VA_FP_REGSAVE (AP, __fpr, TYPE); \
+ (AP)->fpr = __fpr + 1; \
+ } \
+ else if (sizeof (TYPE) == 8) \
+ { \
+ unsigned long __addr = (unsigned long) (__va_overflow (AP)); \
+ __ptr = (TYPE *)((__addr + 7) & -8); \
+ __va_overflow (AP) = (char *)(__ptr + 1); \
+ } \
+ else \
+ { \
+ /* float is promoted to double. */ \
+ __va_arg_type_violation (); \
+ } \
+ } \
+ \
+ /* Aggregates and long doubles are passed by reference. */ \
+ else if (__va_aggregate_p (TYPE) || __va_float_p (TYPE)) \
+ { \
+ unsigned char __gpr = (AP)->gpr; \
+ if (__gpr < 8) \
+ { \
+ __ptr = * __VA_GP_REGSAVE (AP, __gpr, TYPE *); \
+ (AP)->gpr = __gpr + 1; \
+ } \
+ else \
+ { \
+ TYPE **__pptr = (TYPE **) (__va_overflow (AP)); \
+ __ptr = * __pptr; \
+ __va_overflow (AP) = (char *) (__pptr + 1); \
+ } \
+ } \
+ \
+ /* Only integrals remaining. */ \
+ else \
+ { \
+ /* longlong is aligned. */ \
+ if (sizeof (TYPE) == 8) \
+ { \
+ unsigned char __gpr = (AP)->gpr; \
+ if (__gpr < 7) \
+ { \
+ __gpr += __gpr & 1; \
+ __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
+ (AP)->gpr = __gpr + 2; \
+ } \
+ else \
+ { \
+ unsigned long __addr = (unsigned long) (__va_overflow (AP)); \
+ __ptr = (TYPE *)((__addr + 7) & -8); \
+ (AP)->gpr = 8; \
+ __va_overflow (AP) = (char *)(__ptr + 1); \
+ } \
+ } \
+ else if (sizeof (TYPE) == 4) \
+ { \
+ unsigned char __gpr = (AP)->gpr; \
+ if (__gpr < 8) \
+ { \
+ __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
+ (AP)->gpr = __gpr + 1; \
+ } \
+ else \
+ { \
+ __ptr = (TYPE *) __va_overflow (AP); \
+ __va_overflow (AP) = (char *)(__ptr + 1); \
+ } \
+ } \
+ else \
+ { \
+ /* Everything else was promoted to int. */ \
+ __va_arg_type_violation (); \
+ } \
+ } \
+ __ptr; \
}))
#define va_end(AP) ((void)0)
diff --git a/gcc/ginclude/varargs.h b/gcc/ginclude/varargs.h
index 132d1d13027..bb9c98a7c30 100644
--- a/gcc/ginclude/varargs.h
+++ b/gcc/ginclude/varargs.h
@@ -93,7 +93,9 @@
#define va_alist __builtin_va_alist
/* The ... causes current_function_varargs to be set in cc1. */
-#define va_dcl int __builtin_va_alist; __va_ellipsis
+/* ??? We don't process attributes correctly in K&R argument context. */
+typedef int __builtin_va_alist_t __attribute__((__mode__(__word__)));
+#define va_dcl __builtin_va_alist_t __builtin_va_alist; __va_ellipsis
/* Define __gnuc_va_list, just as in gstdarg.h. */
diff --git a/gcc/glimits.h b/gcc/glimits.h
index 559e712d726..2878051f625 100644
--- a/gcc/glimits.h
+++ b/gcc/glimits.h
@@ -64,7 +64,7 @@
/* Minimum and maximum values a `signed long int' can hold.
(Same as `int'). */
#ifndef __LONG_MAX__
-#if defined (__alpha__) || defined (__sparc_v9__) || defined (__sparcv9)
+#if defined (__alpha__) || (defined (_ARCH_PPC) && defined (__64BIT__)) || defined (__sparc_v9__) || defined (__sparcv9)
#define __LONG_MAX__ 9223372036854775807L
#else
#define __LONG_MAX__ 2147483647L
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index a87c98a9444..42144769201 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -2849,7 +2849,7 @@ insn_unit (insn)
range, don't cache it. */
if (FUNCTION_UNITS_SIZE < HOST_BITS_PER_SHORT
|| unit >= 0
- || (~unit & ((1 << (HOST_BITS_PER_SHORT - 1)) - 1)) == 0)
+ || (unit & ~((1 << (HOST_BITS_PER_SHORT - 1)) - 1)) == 0)
INSN_UNIT (insn) = unit;
}
return (unit > 0 ? unit - 1 : unit);
@@ -3952,16 +3952,11 @@ sched_analyze (head, tail)
{
for (u = reg_last_uses[i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
- reg_last_uses[i] = 0;
for (u = reg_last_sets[i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
- if (global_regs[i])
- for (u = reg_last_clobbers[i]; u; u = XEXP (u, 1))
- add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
-
- SET_REGNO_REG_SET (reg_pending_sets, i);
+ SET_REGNO_REG_SET (reg_pending_clobbers, i);
}
}
@@ -4630,12 +4625,15 @@ attach_deaths (x, insn, set_p)
if (regno >= FIRST_PSEUDO_REGISTER || ! global_regs[regno])
{
- /* Never add REG_DEAD notes for the FRAME_POINTER_REGNUM or the
- STACK_POINTER_REGNUM, since these are always considered to be
- live. Similarly for ARG_POINTER_REGNUM if it is fixed. */
- if (regno != FRAME_POINTER_REGNUM
+ /* Never add REG_DEAD notes for STACK_POINTER_REGNUM
+ since it's always considered to be live. Similarly
+ for FRAME_POINTER_REGNUM if a frame pointer is needed
+ and for ARG_POINTER_REGNUM if it is fixed. */
+ if (! (regno == FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
- && ! (regno == HARD_FRAME_POINTER_REGNUM)
+ && ! (regno == HARD_FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#endif
#if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM
&& ! (regno == ARG_POINTER_REGNUM && fixed_regs[regno])
diff --git a/gcc/intl/ChangeLog b/gcc/intl/ChangeLog
index 198950159da..3938710c673 100644
--- a/gcc/intl/ChangeLog
+++ b/gcc/intl/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
1998-04-29 Ulrich Drepper <drepper@cygnus.com>
* intl/localealias.c (read_alias_file): Use unsigned char for
diff --git a/gcc/invoke.texi b/gcc/invoke.texi
index 8d597342a72..e97495e1b6c 100644
--- a/gcc/invoke.texi
+++ b/gcc/invoke.texi
@@ -1,14 +1,15 @@
-@c Copyright (C) 1988, 89, 92-98, 1999 Free Software Foundation, Inc.
+@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+@c 2000, 2001 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@node Invoking GCC
-@chapter GNU CC Command Options
-@cindex GNU CC command options
+@chapter GCC Command Options
+@cindex GCC command options
@cindex command options
-@cindex options, GNU CC command
+@cindex options, GCC command
-When you invoke GNU CC, it normally does preprocessing, compilation,
+When you invoke GCC, it normally does preprocessing, compilation,
assembly and linking. The ``overall options'' allow you to stop this
process at an intermediate stage. For example, the @samp{-c} option
says not to run the linker. Then the output consists of object files
@@ -20,7 +21,7 @@ options control the assembler and linker; most of these are not
documented here, since you rarely need to use any of them.
@cindex C compilation options
-Most of the command line options that you can use with GNU CC are useful
+Most of the command line options that you can use with GCC are useful
for C programs; when an option is only useful with another language
(usually C++), the explanation says so explicitly. If the description
for a particular option does not mention a source language, you can use
@@ -68,12 +69,12 @@ only one of these two forms, whichever one is not the default.
* Link Options:: Specifying libraries and so on.
* Directory Options:: Where to find header files and libraries.
Where to find the compiler executable files.
-* Target Options:: Running a cross-compiler, or an old version of GNU CC.
+* Target Options:: Running a cross-compiler, or an old version of GCC.
* Submodel Options:: Specifying minor hardware or convention variations,
such as 68010 vs 68020.
* Code Gen Options:: Specifying conventions for function calls, data layout
and register usage.
-* Environment Variables:: Env vars that affect GNU CC.
+* Environment Variables:: Env vars that affect GCC.
* Running Protoize:: Automatically adding or removing function prototypes.
@end menu
@@ -93,7 +94,7 @@ in the following sections.
@item C Language Options
@xref{C Dialect Options,,Options Controlling C Dialect}.
@smallexample
--ansi -flang-isoc9x -fallow-single-precision -fcond-mismatch -fno-asm
+-ansi -fstd -fallow-single-precision -fcond-mismatch -fno-asm
-fno-builtin -ffreestanding -fhosted -fsigned-bitfields -fsigned-char
-funsigned-bitfields -funsigned-char -fwritable-strings
-traditional -traditional-cpp -trigraphs
@@ -107,7 +108,7 @@ in the following sections.
-fno-for-scope -fno-gnu-keywords -fguiding-decls -fhandle-signatures
-fhonor-std -fhuge-objects -fno-implicit-templates -finit-priority
-fno-implement-inlines -fname-mangling-version-@var{n} -fno-default-inline
--foperator-names -fno-optional-diags -frepo -fstrict-prototype
+-foperator-names -fno-optional-diags -fpermissive -frepo -fstrict-prototype
-fsquangle -ftemplate-depth-@var{n} -fthis-is-variable -fvtable-thunks
-nostdinc++ -Wctor-dtor-privacy -Wno-deprecated -Weffc++
-Wno-non-template-friend
@@ -342,7 +343,7 @@ in the following sections.
-mno-wide-multiply -mrtd -malign-double
-mreg-alloc=@var{list} -mregparm=@var{num}
-malign-jumps=@var{num} -malign-loops=@var{num}
--malign-functions=@var{num} -mpreferred_stack_boundary=@var{num}
+-malign-functions=@var{num} -mpreferred-stack-boundary=@var{num}
@emph{HPPA Options}
-march=@var{architecture type}
@@ -393,6 +394,12 @@ in the following sections.
-mmangle-cpu -mcpu=@var{cpu} -mtext=@var{text section}
-mdata=@var{data section} -mrodata=@var{readonly data section}
+@emph{TMS320C3x/C4x Options}
+-mcpu=@var{cpu} -mbig -msmall -mregparm -mmemparm
+-mfast-fix -mmpyi -mbk -mti -mdp-isr-reload
+-mrpts=@var{count} -mrptb -mdb -mloop-unsigned
+-mparallel-insns -mparallel-mpy -mpreserve-float
+
@emph{V850 Options}
-mlong-calls -mno-long-calls -mep -mno-ep
-mprolog-function -mno-prolog-function -mspace
@@ -437,7 +444,7 @@ in the following sections.
* Link Options:: Specifying libraries and so on.
* Directory Options:: Where to find header files and libraries.
Where to find the compiler executable files.
-* Target Options:: Running a cross-compiler, or an old version of GNU CC.
+* Target Options:: Running a cross-compiler, or an old version of GCC.
@end menu
@node Overall Options
@@ -587,7 +594,7 @@ be displayed.
@cindex C++ source file suffixes
C++ source files conventionally use one of the suffixes @samp{.C},
@samp{.cc}, @samp{.cpp}, @samp{.c++}, @samp{.cp}, or @samp{.cxx};
-preprocessed C++ files use the suffix @samp{.ii}. GNU CC recognizes
+preprocessed C++ files use the suffix @samp{.ii}. GCC recognizes
files with these names and compiles them as C++ programs even if you
call the compiler the same way as for compiling C programs (usually with
the name @code{gcc}).
@@ -598,7 +605,7 @@ However, C++ programs often require class libraries as well as a
compiler that understands the C++ language---and under some
circumstances, you might want to compile programs from standard input,
or otherwise without a suffix that flags them as C++ programs.
-@code{g++} is a program that calls GNU CC with the default language
+@code{g++} is a program that calls GCC with the default language
set to C++, and automatically specifies linking against the C++
library. On many systems, the script @code{g++} is also
installed with the name @code{c++}.
@@ -625,14 +632,20 @@ from C, such as C++ and Objective C) that the compiler accepts:
@table @code
@cindex ANSI support
@item -ansi
-Support all ANSI standard C programs.
+In C mode, support all ANSI standard C programs. In C++ mode,
+remove GNU extensions that conflict with ANSI C++.
+@c shouldn't we be saying "ISO"?
-This turns off certain features of GNU C that are incompatible with ANSI
-C, such as the @code{asm}, @code{inline} and @code{typeof} keywords, and
+This turns off certain features of GCC that are incompatible with ANSI
+C (when compiling C code), or of ANSI standard C++ (when compiling C++ code),
+such as the @code{asm} and @code{typeof} keywords, and
predefined macros such as @code{unix} and @code{vax} that identify the
type of system you are using. It also enables the undesirable and
-rarely used ANSI trigraph feature, and it disables recognition of C++
-style @samp{//} comments.
+rarely used ANSI trigraph feature. For the C compiler,
+it disables recognition of C++ style @samp{//} comments as well as
+the @code{inline} keyword. For the C++ compiler,
+@samp{-foperator-names} is enabled as well.
+
The alternate keywords @code{__asm__}, @code{__extension__},
@code{__inline__} and @code{__typeof__} continue to work despite
@@ -655,14 +668,37 @@ programs that might use these names for other things.
The functions @code{alloca}, @code{abort}, @code{exit}, and
@code{_exit} are not builtin functions when @samp{-ansi} is used.
-@item -flang-isoc9x
-Enable support for features found in the C9X standard. In particular,
-enable support for the C9X @code{restrict} keyword.
+@item -fstd=
+Determine the language standard. A value for this option must be provided;
+possible values are
+
+@itemize @minus
+@item iso9899:1990
+Same as -ansi
+
+@item iso9899:199409
+ISO C as modified in amend. 1
+
+@item iso9899:199x
+ISO C 9x
+
+@item c89
+same as -std=iso9899:1990
+
+@item c9x
+same as -std=iso9899:199x
-Even when this option is not specified, you can still use some C9X
-features in so far as they do not conflict with previous C standards.
-For example, you may use @code{__restrict__} even when -flang-isoc9x
-is not specified.
+@item gnu89
+default, iso9899:1990 + gnu extensions
+
+@item gnu9x
+iso9899:199x + gnu extensions
+@end itemize
+
+Even when this option is not specified, you can still use some of the
+features of newer standards in so far as they do not conflict with
+previous C standards. For example, you may use @code{__restrict__} even
+when -fstd=c9x is not specified.
@item -fno-asm
Do not recognize @code{asm}, @code{inline} or @code{typeof} as a
@@ -930,7 +966,7 @@ g++ -g -frepo -O -c firstClass.C
@noindent
In this example, only @samp{-frepo} is an option meant
only for C++ programs; you can use the other options with any
-language supported by GNU CC.
+language supported by GCC.
Here is a list of options that are @emph{only} for compiling C++ programs:
@@ -1151,7 +1187,7 @@ anachronism. Therefore, by default it is invalid to assign to
type @samp{X *}. However, for backwards compatibility, you can make it
valid with @samp{-fthis-is-variable}.
-@item -fvtable-thunks
+@item -fvtable-thunks=@var{thunks-version}
Use @samp{thunks} to implement the virtual function dispatch table
(@samp{vtable}). The traditional (cfront-style) approach to
implementing vtables was to store a pointer to the function and two
@@ -1159,13 +1195,27 @@ offsets for adjusting the @samp{this} pointer at the call site. Newer
implementations store a single pointer to a @samp{thunk} function which
does any necessary adjustment and then calls the target function.
+The original implementation of thunks (version 1) had a bug regarding
+virtual base classes; this bug is fixed with version 2 of the thunks
+implementation. With setting the version to 2, compatibility to the
+version 1 thunks is provided, at the cost of extra machine code. Version
+3 does not include this compatibility.
+
This option also enables a heuristic for controlling emission of
vtables; if a class has any non-inline virtual functions, the vtable
will be emitted in the translation unit containing the first one of
those.
Like all options that change the ABI, all C++ code, @emph{including
-libgcc.a} must be built with the same setting of this option.
+libgcc.a} must be built with the same setting of this option. Since
+version 1 and version 2 are also incompatible (for classes with virtual
+bases defining virtual functions), all code must also be compiled with
+the same version.
+
+In this version of gcc, there are no targets for which version 2 thunks
+are the default. On all targets, not giving the option will use the
+traditional implementation, and -fvtable-thunks will produce version 2
+thunks.
@item -nostdinc++
Do not search for header files in the standard directories specific to
@@ -1306,8 +1356,7 @@ negative form beginning @samp{-Wno-} to turn off warnings;
for example, @samp{-Wno-implicit}. This manual lists only one of the
two forms, whichever is not the default.
-These options control the amount and kinds of warnings produced by GNU
-CC:
+These options control the amount and kinds of warnings produced by GCC:
@table @code
@cindex syntax checking
@@ -1331,7 +1380,7 @@ these escape routes; application programs should avoid them.
@xref{Alternate Keywords}.
This option is not intended to be @i{useful}; it exists only to satisfy
-pedants who would otherwise claim that GNU CC fails to support the ANSI
+pedants who would otherwise claim that GCC fails to support the ANSI
standard.
Some users try to use @samp{-pedantic} to check programs for strict ANSI
@@ -1478,7 +1527,7 @@ to compute a value that itself is never used, because such
computations may be deleted by data flow analysis before the warnings
are printed.
-These warnings are made optional because GNU CC is not smart
+These warnings are made optional because GCC is not smart
enough to see all the reasons why the code might be correct
despite appearing to have an error. Here is one example of how
this can happen:
@@ -1500,7 +1549,7 @@ this can happen:
@noindent
If the value of @code{y} is always 1, 2 or 3, then @code{x} is
-always initialized, but GNU CC doesn't know this. Here is
+always initialized, but GCC doesn't know this. Here is
another common case:
@smallexample
@@ -1764,11 +1813,11 @@ Make all warnings into errors.
@end table
@node Debugging Options
-@section Options for Debugging Your Program or GNU CC
+@section Options for Debugging Your Program or GCC
@cindex options, debugging
@cindex debugging information options
-GNU CC has various special options that are used for debugging
+GCC has various special options that are used for debugging
either your program or GCC:
@table @code
@@ -1786,7 +1835,7 @@ to generate the extra information, use @samp{-gstabs+}, @samp{-gstabs},
@samp{-gxcoff+}, @samp{-gxcoff}, @samp{-gdwarf-1+}, or @samp{-gdwarf-1}
(see below).
-Unlike most other C compilers, GNU CC allows you to use @samp{-g} with
+Unlike most other C compilers, GCC allows you to use @samp{-g} with
@samp{-O}. The shortcuts taken by optimized code may occasionally
produce surprising results: some variables you declared may not exist
at all; flow of control may briefly move where you did not expect it;
@@ -1797,7 +1846,7 @@ execute in different places because they were moved out of loops.
Nevertheless it proves possible to debug optimized output. This makes
it reasonable to use the optimizer for programs that might have bugs.
-The following options are useful when GNU CC is generated with the
+The following options are useful when GCC is generated with the
capability for more than one debugging format.
@item -ggdb
@@ -1975,7 +2024,7 @@ frequencies.
@item -fprofile-arcs
Instrument @dfn{arcs} during compilation. For each function of your
-program, GNU CC creates a program flow graph, then finds a spanning tree
+program, GCC creates a program flow graph, then finds a spanning tree
for the graph. Only arcs that are not on the spanning tree have to be
instrumented: the compiler adds code to count the number of times that these
arcs are executed. When an arc is the only exit or only entrance to a
@@ -2005,7 +2054,7 @@ branch probabilities.
@need 2000
@item -ftest-coverage
Create data files for the @code{gcov} code-coverage utility
-(@pxref{Gcov,, @code{gcov}: a GNU CC Test Coverage Program}).
+(@pxref{Gcov,, @code{gcov}: a GCC Test Coverage Program}).
The data file names begin with the name of your source file:
@table @code
@@ -2088,7 +2137,8 @@ Print statistics on memory usage, at the end of the run, to
standard error.
@item p
Annotate the assembler output with a comment indicating which
-pattern and alternative was used.
+pattern and alternative was used. The length of each instruction is
+also printed.
@item x
Just generate RTL for a function instead of compiling it. Usually used
with @samp{r}.
@@ -2108,7 +2158,7 @@ options, in particular with and without -g.
When running a cross-compiler, pretend that the target machine uses the
same floating point format as the host machine. This causes incorrect
output of the actual floating constants, but the actual instruction
-sequence will probably be the same as GNU CC would make when running on
+sequence will probably be the same as GCC would make when running on
the target machine.
@item -save-temps
@@ -2120,7 +2170,7 @@ compiling @file{foo.c} with @samp{-c -save-temps} would produce files
@item -print-file-name=@var{library}
Print the full absolute name of the library file @var{library} that
would be used when linking---and don't do anything else. With this
-option, GNU CC does not compile or link anything; it just prints the
+option, GCC does not compile or link anything; it just prints the
file name.
@item -print-prog-name=@var{program}
@@ -2184,16 +2234,16 @@ without a frame pointer. On some machines the compiler also turns
on other flags.@refill
@item -O2
-Optimize even more. GNU CC performs nearly all supported optimizations
+Optimize even more. GCC performs nearly all supported optimizations
that do not involve a space-speed tradeoff. The compiler does not
perform loop unrolling or function inlining when you specify @samp{-O2}.
As compared to @samp{-O}, this option increases both compilation time
and the performance of the generated code.
-@samp{-O2} turns on all optional optimizations except for loop unrolling
-and function inlining. It also turns on the @samp{-fforce-mem} option
-on all machines and frame pointer elimination on machines where doing so
-does not interfere with debugging.
+@samp{-O2} turns on all optional optimizations except for loop unrolling,
+function inlining, and strict aliasing optimizations. It also turns on the
+@samp{-fforce-mem} option on all machines and frame pointer elimination on
+machines where doing so does not interfere with debugging.
@item -O3
Optimize yet more. @samp{-O3} turns on all optimizations specified by
@@ -2322,7 +2372,7 @@ callable version of the function. This switch does not affect
Emit variables declared @code{static const} when optimization isn't turned
on, even if the variables aren't referenced.
-GNU CC enables this option by default. If you want to force the compiler to
+GCC enables this option by default. If you want to force the compiler to
check if the variable was referenced, regardless of whether or not
optimization is turned on, use the @samp{-fno-keep-static-consts} option.
@@ -2351,9 +2401,9 @@ math functions.
@c --mew 26jan93
The following options control specific optimizations. The @samp{-O2}
option turns on all of these optimizations except @samp{-funroll-loops}
-and @samp{-funroll-all-loops}. On most machines, the @samp{-O} option
-turns on the @samp{-fthread-jumps} and @samp{-fdelayed-branch} options,
-but specific machines may handle it differently.
+@samp{-funroll-all-loops}, and @samp{-fstrict-aliasing}. On most machines, the
+@samp{-O} option turns on the @samp{-fthread-jumps} and @samp{-fdelayed-branch}
+options, but specific machines may handle it differently.
You can use the following flags in the rare cases when ``fine-tuning''
of optimizations to be performed is desired.
@@ -2403,7 +2453,7 @@ Perform a number of minor optimizations that are relatively expensive.
Attempt to reassign register numbers in move instructions and as
operands of other simple instructions in order to maximize the amount of
register tying. This is especially helpful on machines with two-operand
-instructions. GNU CC enables this optimization by default with @samp{-O2}
+instructions. GCC enables this optimization by default with @samp{-O2}
or higher.
Note @code{-fregmove} and @code{-foptimize-register-moves} are the same
@@ -2462,7 +2512,7 @@ default.
@item -funroll-loops
Perform the optimization of loop unrolling. This is only done for loops
whose number of iterations can be determined at compile time or run time.
-@samp{-funroll-loop} implies both @samp{-fstrength-reduce} and
+@samp{-funroll-loops} implies both @samp{-fstrength-reduce} and
@samp{-frerun-cse-after-loop}.
@item -funroll-all-loops
@@ -2479,7 +2529,7 @@ Forces all general-induction variables in loops to be
strength-reduced.
@emph{Note:} When compiling programs written in Fortran,
-@samp{-fmove-all-moveables} and @samp{-freduce-all-givs} are enabled
+@samp{-fmove-all-movables} and @samp{-freduce-all-givs} are enabled
by default when you use the optimizer.
These options may generate better or worse code; results are highly
@@ -2489,7 +2539,7 @@ These two options are intended to be removed someday, once
they have helped determine the efficacy of various
approaches to improving loop optimizations.
-Please let us (@code{egcs@@egcs.cygnus.com} and @code{fortran@@gnu.org})
+Please let us (@code{gcc@@gcc.gnu.org} and @code{fortran@@gnu.org})
know how use of these options affects
the performance of your production code.
We're very interested in code that runs @emph{slower}
@@ -2834,20 +2884,20 @@ mechanism when this option is specified.
@cindex unresolved references and @code{-nodefaultlibs}
One of the standard libraries bypassed by @samp{-nostdlib} and
@samp{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
-that GNU CC uses to overcome shortcomings of particular machines, or special
+that GCC uses to overcome shortcomings of particular machines, or special
needs for some languages.
@ifset INTERNALS
-(@xref{Interface,,Interfacing to GNU CC Output}, for more discussion of
+(@xref{Interface,,Interfacing to GCC Output}, for more discussion of
@file{libgcc.a}.)
@end ifset
@ifclear INTERNALS
-(@xref{Interface,,Interfacing to GNU CC Output,gcc.info,Porting GNU CC},
+(@xref{Interface,,Interfacing to GCC Output,gcc.info,Porting GCC},
for more discussion of @file{libgcc.a}.)
@end ifclear
In most cases, you need @file{libgcc.a} even when you want to avoid
other standard libraries. In other words, when you specify @samp{-nostdlib}
or @samp{-nodefaultlibs} you should usually specify @samp{-lgcc} as well.
-This ensures that you have no unresolved references to internal GNU CC
+This ensures that you have no unresolved references to internal GCC
library subroutines. (For example, @samp{__main}, used to ensure C++
constructors will be called; @pxref{Collect2,,@code{collect2}}.)
@@ -2872,7 +2922,7 @@ this option.
@item -Xlinker @var{option}
Pass @var{option} as an option to the linker. You can use this to
-supply system-specific linker options which GNU CC does not know how to
+supply system-specific linker options which GCC does not know how to
recognize.
If you want to pass an option that takes an argument, you must use
@@ -2987,24 +3037,24 @@ are processed in order, from left to right.
@cindex compiler version, specifying
@cindex target machine, specifying
-By default, GNU CC compiles code for the same type of machine that you
+By default, GCC compiles code for the same type of machine that you
are using. However, it can also be installed as a cross-compiler, to
compile for some other type of machine. In fact, several different
-configurations of GNU CC, for different target machines, can be
+configurations of GCC, for different target machines, can be
installed side by side. Then you specify which one to use with the
@samp{-b} option.
-In addition, older and newer versions of GNU CC can be installed side
+In addition, older and newer versions of GCC can be installed side
by side. One of them (probably the newest) will be the default, but
you may sometimes wish to use another.
@table @code
@item -b @var{machine}
The argument @var{machine} specifies the target machine for compilation.
-This is useful when you have installed GNU CC as a cross-compiler.
+This is useful when you have installed GCC as a cross-compiler.
The value to use for @var{machine} is the same as was specified as the
-machine type when configuring GNU CC as a cross-compiler. For
+machine type when configuring GCC as a cross-compiler. For
example, if a cross-compiler was configured with @samp{configure
i386v}, meaning to compile for an 80386 running System V, then you
would specify @samp{-b i386v} to run that cross compiler.
@@ -3013,17 +3063,17 @@ When you do not specify @samp{-b}, it normally means to compile for
the same type of machine that you are using.
@item -V @var{version}
-The argument @var{version} specifies which version of GNU CC to run.
+The argument @var{version} specifies which version of GCC to run.
This is useful when multiple versions are installed. For example,
-@var{version} might be @samp{2.0}, meaning to run GNU CC version 2.0.
+@var{version} might be @samp{2.0}, meaning to run GCC version 2.0.
The default version, when you do not specify @samp{-V}, is the last
-version of GNU CC that you installed.
+version of GCC that you installed.
@end table
The @samp{-b} and @samp{-V} options actually work by controlling part of
the file name used for the executable files and libraries used for
-compilation. A given version of GNU CC, for a given target machine, is
+compilation. A given version of GCC, for a given target machine, is
normally kept in the directory @file{/usr/local/lib/gcc-lib/@var{machine}/@var{version}}.@refill
Thus, sites can customize the effect of @samp{-b} or @samp{-V} either by
@@ -3109,6 +3159,7 @@ that macro, which enables you to change the defaults.
* H8/300 Options::
* SH Options::
* System V Options::
+* TMS320C3x/C4x Options::
* V850 Options::
* ARC Options::
* NS32K Options::
@@ -3239,13 +3290,13 @@ The @code{rtd} instruction is supported by the 68010, 68020, 68030,
@item -malign-int
@itemx -mno-align-int
-Control whether GNU CC aligns @code{int}, @code{long}, @code{long long},
+Control whether GCC aligns @code{int}, @code{long}, @code{long long},
@code{float}, @code{double}, and @code{long double} variables on a 32-bit
boundary (@samp{-malign-int}) or a 16-bit boundary (@samp{-mno-align-int}).
Aligning variables on 32-bit boundaries produces code that runs somewhat
faster on processors with 32-bit busses at the expense of more memory.
-@strong{Warning:} if you use the @samp{-malign-int} switch, GNU CC will
+@strong{Warning:} if you use the @samp{-malign-int} switch, GCC will
align structures containing the above types differently than
most published application binary interface specifications for the m68k.
@@ -3306,7 +3357,7 @@ cross-compilation. The embedded targets @samp{sparc-*-aout} and
@samp{-msoft-float} changes the calling convention in the output file;
therefore, it is only useful if you compile @emph{all} of a program with
this option. In particular, you need to compile @file{libgcc.a}, the
-library that comes with GNU CC, with @samp{-msoft-float} in order for
+library that comes with GCC, with @samp{-msoft-float} in order for
this to work.
@item -mhard-quad-float
@@ -3351,7 +3402,7 @@ instructions (except for leaf functions) and is the normal mode of operation.
@itemx -munaligned-doubles
Assume that doubles have 8 byte alignment. This is the default.
-With @samp{-munaligned-doubles}, GNU CC assumes that doubles have 8 byte
+With @samp{-munaligned-doubles}, GCC assumes that doubles have 8 byte
alignment only if they are contained in another type, or if they have an
absolute address. Otherwise, it assumes they have 4 byte alignment.
Specifying this option avoids some rare compatibility problems with code
@@ -3373,7 +3424,7 @@ divide instructions which exist in SPARC v8 but not in SPARC v7.
multiply, integer divide step and scan (@code{ffs}) instructions which
exist in SPARClite but not in SPARC v7.
-These options are deprecated and will be deleted in GNU CC 2.9.
+These options are deprecated and will be deleted in a future GCC release.
They have been replaced with @samp{-mcpu=xxx}.
@item -mcypress
@@ -3388,7 +3439,7 @@ With @samp{-msupersparc} the compiler optimizes code for the SuperSparc cpu, as
used in the SparcStation 10, 1000 and 2000 series. This flag also enables use
of the full SPARC v8 instruction set.
-These options are deprecated and will be deleted in GNU CC 2.9.
+These options are deprecated and will be deleted in a future GCC release.
They have been replaced with @samp{-mcpu=xxx}.
@item -mcpu=@var{cpu_type}
@@ -3502,7 +3553,7 @@ Programs are statically linked, PIC is not supported.
@item -mstack-bias
@itemx -mno-stack-bias
-With @samp{-mstack-bias}, GNU CC assumes that the stack pointer, and
+With @samp{-mstack-bias}, GCC assumes that the stack pointer, and
frame pointer if present, are offset by -2047 which must be added back
when making stack frame references.
Otherwise, assume no such offset is present.
@@ -3669,7 +3720,7 @@ not pass @samp{-assert pure-text} to the linker when linking a shared object.
@item -msoft-float
@kindex -msoft-float
Generate output containing library calls for floating point.
-@strong{Warning:} the requisite libraries are not part of GNU CC.
+@strong{Warning:} the requisite libraries are not part of GCC.
Normally the facilities of the machine's usual C compiler are used, but
this can't be done directly in cross-compilation. You must make your
own arrangements to provide suitable library functions for
@@ -3778,7 +3829,7 @@ cross-compilation.
@samp{-msoft-float} changes the calling convention in the output file;
therefore, it is only useful if you compile @emph{all} of a program with
this option. In particular, you need to compile @file{libgcc.a}, the
-library that comes with GNU CC, with @samp{-msoft-float} in order for
+library that comes with GCC, with @samp{-msoft-float} in order for
this to work.
@item -mlittle-endian
@@ -4121,7 +4172,7 @@ Control how function arguments are stored in stack frames.
@samp{-moptimize-arg-area} saves space by optimizing them, but this
conflicts with the 88open specifications. The opposite alternative,
@samp{-mno-optimize-arg-area}, agrees with 88open standards. By default
-GNU CC does not optimize the argument area.
+GCC does not optimize the argument area.
@item -mshort-data-@var{num}
@kindex -mshort-data-@var{num}
@@ -4181,7 +4232,7 @@ Which variant of the assembler syntax to emit.
@samp{-msvr4} makes the C preprocessor recognize @samp{#pragma weak}
that is used on System V release 4.
@item
-@samp{-msvr4} makes GNU CC issue additional declaration directives used in
+@samp{-msvr4} makes GCC issue additional declaration directives used in
SVr4.
@end enumerate
@@ -4252,7 +4303,7 @@ particular, the behavior of such a division with and without
@cindex bit shift overflow (88k)
@cindex large bit shifts (88k)
Include code to detect bit-shifts of more than 31 bits; respectively,
-trap such shifts or emit code to handle them properly. By default GNU CC
+trap such shifts or emit code to handle them properly. By default GCC
makes no special provision for large bit shifts.
@item -mwarn-passed-structs
@@ -4261,7 +4312,7 @@ makes no special provision for large bit shifts.
Warn when a function passes a struct as an argument or result.
Structure-passing conventions have changed during the evolution of the C
language, and are often the source of portability problems. By default,
-GNU CC issues no such warning.
+GCC issues no such warning.
@end table
@node RS/6000 and PowerPC Options
@@ -4289,7 +4340,7 @@ These @samp{-m} options are defined for the IBM RS/6000 and PowerPC:
@kindex -mpowerpc-gpopt
@kindex -mpowerpc-gfxopt
@kindex -mpowerpc64
-GNU CC supports two related instruction set architectures for the
+GCC supports two related instruction set architectures for the
RS/6000 and PowerPC. The @dfn{POWER} instruction set are those
instructions supported by the @samp{rios} chip set used in the original
RS/6000 systems and the @dfn{PowerPC} instruction set is the
@@ -4302,36 +4353,36 @@ register is included in processors supporting the POWER architecture.
You use these options to specify which instructions are available on the
processor you are using. The default value of these options is
-determined when configuring GNU CC. Specifying the
+determined when configuring GCC. Specifying the
@samp{-mcpu=@var{cpu_type}} overrides the specification of these
options. We recommend you use the @samp{-mcpu=@var{cpu_type}} option
rather than the options listed above.
-The @samp{-mpower} option allows GNU CC to generate instructions that
+The @samp{-mpower} option allows GCC to generate instructions that
are found only in the POWER architecture and to use the MQ register.
-Specifying @samp{-mpower2} implies @samp{-power} and also allows GNU CC
+Specifying @samp{-mpower2} implies @samp{-power} and also allows GCC
to generate instructions that are present in the POWER2 architecture but
not the original POWER architecture.
-The @samp{-mpowerpc} option allows GNU CC to generate instructions that
+The @samp{-mpowerpc} option allows GCC to generate instructions that
are found only in the 32-bit subset of the PowerPC architecture.
Specifying @samp{-mpowerpc-gpopt} implies @samp{-mpowerpc} and also allows
-GNU CC to use the optional PowerPC architecture instructions in the
+GCC to use the optional PowerPC architecture instructions in the
General Purpose group, including floating-point square root. Specifying
-@samp{-mpowerpc-gfxopt} implies @samp{-mpowerpc} and also allows GNU CC to
+@samp{-mpowerpc-gfxopt} implies @samp{-mpowerpc} and also allows GCC to
use the optional PowerPC architecture instructions in the Graphics
group, including floating-point select.
-The @samp{-mpowerpc64} option allows GNU CC to generate the additional
+The @samp{-mpowerpc64} option allows GCC to generate the additional
64-bit instructions that are found in the full PowerPC64 architecture
-and to treat GPRs as 64-bit, doubleword quantities. GNU CC defaults to
+and to treat GPRs as 64-bit, doubleword quantities. GCC defaults to
@samp{-mno-powerpc64}.
-If you specify both @samp{-mno-power} and @samp{-mno-powerpc}, GNU CC
+If you specify both @samp{-mno-power} and @samp{-mno-powerpc}, GCC
will use only the instructions in the common subset of both
architectures plus some special AIX common-mode calls, and will not use
the MQ register. Specifying both @samp{-mpower} and @samp{-mpowerpc}
-permits GNU CC to use any instruction from either architecture and to
+permits GCC to use any instruction from either architecture and to
allow use of the MQ register; specify this for the Motorola MPC601.
@item -mnew-mnemonics
@@ -4343,10 +4394,10 @@ Select which mnemonics to use in the generated assembler code.
defined for the PowerPC architecture, while @samp{-mold-mnemonics}
requests the assembler mnemonics defined for the POWER architecture.
Instructions defined in only one architecture have only one mnemonic;
-GNU CC uses that mnemonic irrespective of which of these options is
+GCC uses that mnemonic irrespective of which of these options is
specified.
-GNU CC defaults to the mnemonics appropriate for the architecture in
+GCC defaults to the mnemonics appropriate for the architecture in
use. Specifying @samp{-mcpu=@var{cpu_type}} sometimes overrides the
value of these option. Unless you are building a cross-compiler, you
should normally not specify either @samp{-mnew-mnemonics} or
@@ -4399,9 +4450,9 @@ enable the @samp{-mpowerpc} option and disable the @samp{-mpower} option.
AIX versions 4 or greater selects @samp{-mcpu=common} by default, so
that code will operate on all members of the RS/6000 and PowerPC
-families. In that case, GNU CC will use only the instructions in the
+families. In that case, GCC will use only the instructions in the
common subset of both architectures plus some special AIX common-mode
-calls, and will not use the MQ register. GNU CC assumes a generic
+calls, and will not use the MQ register. GCC assumes a generic
processor model for scheduling purposes.
Specifying any of the options @samp{-mcpu=rios1}, @samp{-mcpu=rios2},
@@ -4430,25 +4481,25 @@ instruction scheduling parameters.
@kindex -mminimal-toc
Modify generation of the TOC (Table Of Contents), which is created for
every executable file. The @samp{-mfull-toc} option is selected by
-default. In that case, GNU CC will allocate at least one TOC entry for
-each unique non-automatic variable reference in your program. GNU CC
+default. In that case, GCC will allocate at least one TOC entry for
+each unique non-automatic variable reference in your program. GCC
will also place floating-point constants in the TOC. However, only
16,384 entries are available in the TOC.
If you receive a linker error message that saying you have overflowed
the available TOC space, you can reduce the amount of TOC space used
with the @samp{-mno-fp-in-toc} and @samp{-mno-sum-in-toc} options.
-@samp{-mno-fp-in-toc} prevents GNU CC from putting floating-point
-constants in the TOC and @samp{-mno-sum-in-toc} forces GNU CC to
+@samp{-mno-fp-in-toc} prevents GCC from putting floating-point
+constants in the TOC and @samp{-mno-sum-in-toc} forces GCC to
generate code to calculate the sum of an address and a constant at
run-time instead of putting that sum into the TOC. You may specify one
-or both of these options. Each causes GNU CC to produce very slightly
+or both of these options. Each causes GCC to produce very slightly
slower and larger code at the expense of conserving TOC space.
If you still run out of space in the TOC even when you specify both of
these options, specify @samp{-mminimal-toc} instead. This option causes
-GNU CC to make only one TOC entry for every file. When you specify this
-option, GNU CC will produce code that is slower and larger but which
+GCC to make only one TOC entry for every file. When you specify this
+option, GCC will produce code that is slower and larger but which
uses extremely little TOC space. You may wish to use this option
only on files that contain less frequently executed code. @refill
@@ -4460,7 +4511,7 @@ Enable AIX 64-bit ABI and calling convention: 64-bit pointers, 64-bit
@code{long} type, and the infrastructure needed to support them.
Specifying @samp{-maix64} implies @samp{-mpowerpc64} and
@samp{-mpowerpc}, while @samp{-maix32} disables the 64-bit ABI and
-implies @samp{-mno-powerpc64}. GNU CC defaults to @samp{-maix32}.
+implies @samp{-mno-powerpc64}. GCC defaults to @samp{-maix32}.
@item -mxl-call
@itemx -mno-xl-call
@@ -4499,7 +4550,7 @@ option are incompatible.
@kindex -msoft-float
Generate code that does not use (uses) the floating-point register set.
Software floating point emulation is provided if you use the
-@samp{-msoft-float} option, and pass the option to GNU CC when linking.
+@samp{-msoft-float} option, and pass the option to GCC when linking.
@item -mmultiple
@itemx -mno-multiple
@@ -4923,7 +4974,7 @@ prevents compilation.
@item -msoft-float
Generate output containing library calls for floating point.
-@strong{Warning:} the requisite libraries are not part of GNU CC.
+@strong{Warning:} the requisite libraries are not part of GCC.
Normally the facilities of the machine's usual C compiler are used, but
this can't be done directly in cross-compilation. You must make your
own arrangements to provide suitable library functions for
@@ -5043,7 +5094,9 @@ instructions. The choices for @var{cpu type} are:
While picking a specific @var{cpu type} will schedule things appropriately
for that particular chip, the compiler will not generate any code that
does not run on the i386 without the @samp{-march=@var{cpu type}} option
-being used.
+being used. @samp{i586} is equivalent to @samp{pentium} and @samp{i686}
+is equivalent to @samp{pentiumpro}. @samp{k6} is the AMD chip as
+opposed to the Intel ones.
@item -march=@var{cpu type}
Generate instructions for the machine type @var{cpu type}. The choices
@@ -5055,7 +5108,7 @@ specifying @samp{-march=@var{cpu type}} implies @samp{-mcpu=@var{cpu type}}.
@itemx -mpentium
@itemx -mpentiumpro
Synonyms for -mcpu=i386, -mcpu=i486, -mcpu=pentium, and -mcpu=pentiumpro
-respectively. These synonyms are depricated.
+respectively. These synonyms are deprecated.
@item -mieee-fp
@itemx -mno-ieee-fp
@@ -5065,7 +5118,7 @@ comparison is unordered.
@item -msoft-float
Generate output containing library calls for floating point.
-@strong{Warning:} the requisite libraries are not part of GNU CC.
+@strong{Warning:} the requisite libraries are not part of GCC.
Normally the facilities of the machine's usual C compiler are used, but
this can't be done directly in cross-compilation. You must make your
own arrangements to provide suitable library functions for
@@ -5095,7 +5148,7 @@ also use the @samp{-ffast-math} switch.
@item -malign-double
@itemx -mno-align-double
-Control whether GNU CC aligns @code{double}, @code{long double}, and
+Control whether GCC aligns @code{double}, @code{long double}, and
@code{long long} variables on a two word boundary or a one word
boundary. Aligning @code{double} variables on a two word boundary will
produce code that runs somewhat faster on a @samp{Pentium} at the
@@ -5107,13 +5160,13 @@ the published application binary interface specifications for the 386.
@item -msvr3-shlib
@itemx -mno-svr3-shlib
-Control whether GNU CC places uninitialized locals into @code{bss} or
+Control whether GCC places uninitialized locals into @code{bss} or
@code{data}. @samp{-msvr3-shlib} places these locals into @code{bss}.
These options are meaningful only on System V Release 3.
@item -mno-wide-multiply
@itemx -mwide-multiply
-Control whether GNU CC uses the @code{mul} and @code{imul} that produce
+Control whether GCC uses the @code{mul} and @code{imul} that produce
64 bit results in @code{eax:edx} from 32 bit operands to do @code{long
long} multiplies and 32-bit division by constants.
@@ -5305,7 +5358,7 @@ does provide software floating point support.
@samp{-msoft-float} changes the calling convention in the output file;
therefore, it is only useful if you compile @emph{all} of a program with
this option. In particular, you need to compile @file{libgcc.a}, the
-library that comes with GNU CC, with @samp{-msoft-float} in order for
+library that comes with GCC, with @samp{-msoft-float} in order for
this to work.
@end table
@@ -5517,13 +5570,14 @@ Dynamic rounding mode. A field in the floating point control register
(@var{fpcr}, see Alpha architecture reference manual) controls the
rounding mode in effect. The C library initializes this register for
rounding towards plus infinity. Thus, unless your program modifies the
-@var{fpcr}, @samp{d} corresponds to round towards plus infinity.@end table
+@var{fpcr}, @samp{d} corresponds to round towards plus infinity.
+@end table
@item -mtrap-precision=@var{trap precision}
In the Alpha architecture, floating point traps are imprecise. This
means without software assistance it is impossible to recover from a
floating trap and program execution normally needs to be terminated.
-GNU CC can generate code that can assist operating system trap handlers
+GCC can generate code that can assist operating system trap handlers
in determining the exact location that caused a floating point trap.
Depending on the requirements of an application, different levels of
precisions can be selected:
@@ -5554,12 +5608,12 @@ generated assembly file. Under DEC Unix, this has the effect that
IEEE-conformant math library routines will be linked in.
@item -mbuild-constants
-Normally GNU CC examines a 32- or 64-bit integer constant to
+Normally GCC examines a 32- or 64-bit integer constant to
see if it can construct it from smaller constants in two or three
instructions. If it cannot, it will output the constant as a literal and
generate code to load it from the data segment at runtime.
-Use this option to require GNU CC to construct @emph{all} integer constants
+Use this option to require GCC to construct @emph{all} integer constants
using code, even if it takes more instructions (the maximum is six).
You would typically use this option to build a shared library dynamic
@@ -5577,19 +5631,19 @@ assembler (@samp{-malpha-as}) or by the GNU assembler @samp{-mgas}.
@itemx -mno-cix
@itemx -mmax
@itemx -mno-max
-Indicate whether GNU CC should generate code to use the optional BWX,
+Indicate whether GCC should generate code to use the optional BWX,
CIX, and MAX instruction sets. The default is to use the instruction sets
supported by the CPU type specified via @samp{-mcpu=} option or that
-of the CPU on which GNU CC was built if none was specified.
+of the CPU on which GCC was built if none was specified.
@item -mcpu=@var{cpu_type}
Set the instruction set, register set, and instruction scheduling
parameters for machine type @var{cpu_type}. You can specify either the
-@samp{EV} style name or the corresponding chip number. GNU CC
+@samp{EV} style name or the corresponding chip number. GCC
supports scheduling parameters for the EV4 and EV5 family of processors
and will choose the default values for the instruction set from
the processor you specify. If you do not specify a processor type,
-GNU CC will default to the processor on which the compiler was built.
+GCC will default to the processor on which the compiler was built.
Supported values for @var{cpu_type} are
@@ -5746,6 +5800,130 @@ The assembler uses this option.
@c the generic assembler that comes with Solaris takes just -Ym.
@end table
+@node TMS320C3x/C4x Options
+@subsection TMS320C3x/C4x Options
+@cindex TMS320C3x/C4x Options
+
+These @samp{-m} options are defined for TMS320C3x/C4x implementations:
+
+@table @code
+
+@item -mcpu=@var{cpu_type}
+Set the instruction set, register set, and instruction scheduling
+parameters for machine type @var{cpu_type}. Supported values for
+@var{cpu_type} are @samp{c30}, @samp{c31}, @samp{c32}, @samp{c40}, and
+@samp{c44}. The default is @samp{c40} to generate code for the
+TMS320C40.
+
+@item -mbig-memory
+@item -mbig
+@itemx -msmall-memory
+@itemx -msmall
+Generates code for the big or small memory model. The small memory
+model assumed that all data fits into one 64K word page. At run-time
+the data page (DP) register must be set to point to the 64K page
+containing the .bss and .data program sections. The big memory model is
+the default and requires reloading of the DP register for every direct
+memory access.
+
+@item -mbk
+@itemx -mno-bk
+Allow (disallow) allocation of general integer operands into the block
+count register BK.
+
+@item -mdb
+@itemx -mno-db
+Enable (disable) generation of code using decrement and branch,
+DBcond(D), instructions. This is enabled by default for the C4x. To be
+on the safe side, this is disabled for the C3x, since the maximum
+iteration count on the C3x is 2^23 + 1 (but who iterates loops more than
+2^23 times on the C3x?). Note that GCC will try to reverse a loop so
+that it can utilise the decrement and branch instruction, but will give
+up if there is more than one memory reference in the loop. Thus a loop
+where the loop counter is decremented can generate slightly more
+efficient code, in cases where the RPTB instruction cannot be utilised.
+
+@item -mdp-isr-reload
+@itemx -mparanoid
+Force the DP register to be saved on entry to an interrupt service
+routine (ISR), reloaded to point to the data section, and restored on
+exit from the ISR. This should not be required unless someone has
+violated the small memory model by modifying the DP register, say within
+an object library.
+
+@item -mmpyi
+@itemx -mno-mpyi
+For the C3x use the 24-bit MPYI instruction for integer multiplies
+instead of a library call to guarantee 32-bit results. Note that if one
+of the operands is a constant, then the multiplication will be performed
+using shifts and adds. If the -mmpyi option is not specified for the C3x,
+then squaring operations are performed inline instead of a library call.
+
+@item -mfast-fix
+@itemx -mno-fast-fix
+The C3x/C4x FIX instruction to convert a floating point value to an
+integer value chooses the nearest integer less than or equal to the
+floating point value rather than to the nearest integer. Thus if the
+floating point number is negative, the result will be incorrectly
+truncated an additional code is necessary to detect and correct this
+case. This option can be used to disable generation of the additional
+code required to correct the result.
+
+@item -mrptb
+@itemx -mno-rptb
+Enable (disable) generation of repeat block sequences using the RPTB
+instruction for zero overhead looping. The RPTB construct is only used
+for innermost loops that do not call functions or jump across the loop
+boundaries. There is no advantage having nested RPTB loops due to the
+overhead required to save and restore the RC, RS, and RE registers.
+This is enabled by default with -O2.
+
+@item -mrpts=@var{count}
+@itemx -mno-rpts
+Enable (disable) the use of the single instruction repeat instruction
+RPTS. If a repeat block contains a single instruction, and the loop
+count can be guaranteed to be less than the value @var{count}, GCC will
+emit a RPTS instruction instead of a RPTB. If no value is specified,
+then a RPTS will be emitted even if the loop count cannot be determined
+at compile time. Note that the repeated instruction following RPTS does
+not have to be reloaded from memory each iteration, thus freeing up the
+CPU buses for oeprands. However, since interrupts are blocked by this
+instruction, it is disabled by default.
+
+@item -mloop-unsigned
+@itemx -mno-loop-unsigned
+The maximum iteration count when using RPTS and RPTB (and DB on the C40)
+is 2^31 + 1 since these instructions test if the iteration count is
+negative to terminate the loop. If the iteration count is unsigned
+there is a possibility than the 2^31 + 1 maximum iteration count may be
+exceeded. This switch allows an unsigned iteration count.
+
+@item -mti
+Try to emit an assembler syntax that the TI assembler (asm30) is happy
+with. This also enforces compatibility with the API employed by the TI
+C3x C compiler. For example, long doubles are passed as structures
+rather than in floating point registers.
+
+@item -mregparm
+@itemx -mmemparm
+Generate code that uses registers (stack) for passing arguments to functions.
+By default, arguments are passed in registers where possible rather
+than by pushing arguments on to the stack.
+
+@item -mparallel-insns
+@itemx -mno-parallel-insns
+Allow the generation of parallel instructions. This is enabled by
+default with -O2.
+
+@item -mparallel-mpy
+@itemx -mno-parallel-mpy
+Allow the generation of MPY||ADD and MPY||SUB parallel instructions,
+provided -mparallel-insns is also specified. These instructions have
+tight register constraints which can pessimize the code generation
+of large functions.
+
+@end table
+
@node V850 Options
@subsection V850 Options
@cindex V850 Options
@@ -5986,7 +6164,7 @@ programs that don't use exception handling.
Return ``short'' @code{struct} and @code{union} values in memory like
longer ones, rather than in registers. This convention is less
efficient, but it has the advantage of allowing intercallability between
-GNU CC-compiled files and files compiled with other compilers.
+GCC-compiled files and files compiled with other compilers.
The precise convention for returning structures in memory depends
on the target configuration macros.
@@ -6000,9 +6178,9 @@ returned in registers when possible. This is more efficient for small
structures than @samp{-fpcc-struct-return}.
If you specify neither @samp{-fpcc-struct-return} nor its contrary
-@samp{-freg-struct-return}, GNU CC defaults to whichever convention is
-standard for the target. If there is no standard convention, GNU CC
-defaults to @samp{-fpcc-struct-return}, except on targets where GNU CC
+@samp{-freg-struct-return}, GCC defaults to whichever convention is
+standard for the target. If there is no standard convention, GCC
+defaults to @samp{-fpcc-struct-return}, except on targets where GCC
is the principal compiler. In those cases, we can choose the standard,
and we chose the more efficient register return alternative.
@@ -6038,7 +6216,7 @@ destructors) in the form used by the GNU linker (on systems where the GNU
linker is the standard method of handling them). Use this option when
you want to use a non-GNU linker, which also requires using the
@code{collect2} program to make sure the system linker includes
-constructors and destructors. (@code{collect2} is included in the GNU CC
+constructors and destructors. (@code{collect2} is included in the GCC
distribution.) For systems which @emph{must} use @code{collect2}, the
compiler driver @code{gcc} is configured to do this automatically.
@@ -6064,7 +6242,7 @@ Consider all memory references through pointers to be volatile.
@item -fvolatile-global
Consider all memory references to extern and global data items to
-be volatile. GNU CC does not consider static data items to be volatile
+be volatile. GCC does not consider static data items to be volatile
because of this switch.
@item -fvolatile-static
@@ -6077,7 +6255,7 @@ Generate position-independent code (PIC) suitable for use in a shared
library, if supported for the target machine. Such code accesses all
constant addresses through a global offset table (GOT). The dynamic
loader resolves the GOT entries when the program starts (the dynamic
-loader is not part of GNU CC; it is part of the operating system). If
+loader is not part of GCC; it is part of the operating system). If
the GOT size for the linked executable exceeds a machine-specific
maximum size, you get an error message from the linker indicating that
@samp{-fpic} does not work; in that case, recompile with @samp{-fPIC}
@@ -6085,7 +6263,7 @@ instead. (These maximums are 16k on the m88k, 8k on the Sparc, and 32k
on the m68k and RS/6000. The 386 has no such limit.)
Position-independent code requires special support, and therefore works
-only on certain machines. For the 386, GNU CC supports PIC for System V
+only on certain machines. For the 386, GCC supports PIC for System V
but not for the Sun 386i. Code generated for the IBM RS/6000 is always
position-independent.
@@ -6145,7 +6323,7 @@ not want to use this option, since it makes the code suboptimal, and
the offsets of structure members won't agree with system libraries.
@item -fcheck-memory-usage
-Generate extra code to check each memory access. GNU CC will generate
+Generate extra code to check each memory access. GCC will generate
code that is suitable for a detector of bad memory accesses such as
@file{Checker}.
@@ -6160,7 +6338,7 @@ If you do not, you might get erroneous messages from the detector.
If you use functions from a library that have side-effects (such as
@code{read}), you might not be able to recompile the library and
specify this option. In that case, you can enable the
-@samp{-fprefix-function-name} option, which requests GNU CC to encapsulate
+@samp{-fprefix-function-name} option, which requests GCC to encapsulate
your code and make other functions look as if they were compiled with
@samp{-fcheck-memory-usage}. This is done by calling ``stubs'',
which are provided by the detector. If you cannot find or build
@@ -6186,8 +6364,8 @@ These calls would be similar to those done in the stubs described above.
@c should be documented!
@item -fprefix-function-name
-Request GNU CC to add a prefix to the symbols generated for function names.
-GNU CC adds a prefix to the names of functions defined as well as
+Request GCC to add a prefix to the symbols generated for function names.
+GCC adds a prefix to the names of functions defined as well as
functions called. Code compiled with this option and code compiled
without the option can't be linked together, unless stubs are used.
@@ -6202,7 +6380,7 @@ foo (int a)
@end example
@noindent
-GNU CC will compile the code as if it was written:
+GCC will compile the code as if it was written:
@example
extern void prefix_bar (int);
void
@@ -6283,11 +6461,11 @@ option, and that not all targets provide complete support for it.
@end table
@node Environment Variables
-@section Environment Variables Affecting GNU CC
+@section Environment Variables Affecting GCC
@cindex environment variables
-This section describes several environment variables that affect how GNU
-CC operates. Some of them work by specifying directories or prefixes to use
+This section describes several environment variables that affect how GCC
+operates. Some of them work by specifying directories or prefixes to use
when searching for various kinds of files. Some are used to specify other
aspects of the compilation environment.
@@ -6295,15 +6473,15 @@ aspects of the compilation environment.
Note that you can also specify places to search using options such as
@samp{-B}, @samp{-I} and @samp{-L} (@pxref{Directory Options}). These
take precedence over places specified using environment variables, which
-in turn take precedence over those specified by the configuration of GNU
-CC.
+in turn take precedence over those specified by the configuration of GCC.
+
@end ifclear
@ifset INTERNALS
Note that you can also specify places to search using options such as
@samp{-B}, @samp{-I} and @samp{-L} (@pxref{Directory Options}). These
take precedence over places specified using environment variables, which
-in turn take precedence over those specified by the configuration of GNU
-CC. @xref{Driver}.
+in turn take precedence over those specified by the configuration of GCC.
+@xref{Driver}.
@end ifset
@table @code
@@ -6324,16 +6502,16 @@ CC. @xref{Driver}.
@c @findex LC_TIME
@findex LC_ALL
@cindex locale
-These environment variables control the way that GNU CC uses
-localization information that allow GNU CC to work with different
-national conventions. GNU CC inspects the locale categories
+These environment variables control the way that GCC uses
+localization information that allow GCC to work with different
+national conventions. GCC inspects the locale categories
@code{LC_CTYPE} and @code{LC_MESSAGES} if it has been configured to do
so. These locale categories can be set to any value supported by your
installation. A typical value is @samp{en_UK} for English in the United
Kingdom.
The @code{LC_CTYPE} environment variable specifies character
-classification. GNU CC uses it to determine the character boundaries in
+classification. GCC uses it to determine the character boundaries in
a string; this is needed for some multibyte encodings that contain quote
and escape characters that would otherwise be interpreted as a string
end or escape.
@@ -6344,13 +6522,13 @@ use in diagnostic messages.
If the @code{LC_ALL} environment variable is set, it overrides the value
of @code{LC_CTYPE} and @code{LC_MESSAGES}; otherwise, @code{LC_CTYPE}
and @code{LC_MESSAGES} default to the value of the @code{LANG}
-environment variable. If none of these variables are set, GNU CC
+environment variable. If none of these variables are set, GCC
defaults to traditional C English behavior.
@item TMPDIR
@findex TMPDIR
If @code{TMPDIR} is set, it specifies the directory to use for temporary
-files. GNU CC uses temporary files to hold the output of one stage of
+files. GCC uses temporary files to hold the output of one stage of
compilation which is to be used as input to the next stage: for example,
the output of the preprocessor, which is the input to the compiler
proper.
@@ -6362,7 +6540,7 @@ names of the subprograms executed by the compiler. No slash is added
when this prefix is combined with the name of a subprogram, but you can
specify a prefix that ends with a slash if you wish.
-If GNU CC cannot find the subprogram using the specified prefix, it
+If GCC cannot find the subprogram using the specified prefix, it
tries looking in the usual places for the subprogram.
The default value of @code{GCC_EXEC_PREFIX} is
@@ -6377,9 +6555,9 @@ used for linking.
In addition, the prefix is used in an unusual way in finding the
directories to search for header files. For each of the standard
directories whose name normally begins with @samp{/usr/local/lib/gcc-lib}
-(more precisely, with the value of @code{GCC_INCLUDE_DIR}), GNU CC tries
+(more precisely, with the value of @code{GCC_INCLUDE_DIR}), GCC tries
replacing that beginning with the specified prefix to produce an
-alternate directory name. Thus, with @samp{-Bfoo/}, GNU CC will search
+alternate directory name. Thus, with @samp{-Bfoo/}, GCC will search
@file{foo/bar} where it would normally search @file{/usr/local/lib/bar}.
These alternate directories are searched first; the standard directories
come next.
@@ -6387,7 +6565,7 @@ come next.
@item COMPILER_PATH
@findex COMPILER_PATH
The value of @code{COMPILER_PATH} is a colon-separated list of
-directories, much like @code{PATH}. GNU CC tries the directories thus
+directories, much like @code{PATH}. GCC tries the directories thus
specified when searching for subprograms, if it can't find the
subprograms using @code{GCC_EXEC_PREFIX}.
@@ -6395,9 +6573,9 @@ subprograms using @code{GCC_EXEC_PREFIX}.
@findex LIBRARY_PATH
The value of @code{LIBRARY_PATH} is a colon-separated list of
directories, much like @code{PATH}. When configured as a native compiler,
-GNU CC tries the directories thus specified when searching for special
+GCC tries the directories thus specified when searching for special
linker files, if it can't find them using @code{GCC_EXEC_PREFIX}. Linking
-using GNU CC also uses these directories when searching for ordinary
+using GCC also uses these directories when searching for ordinary
libraries for the @samp{-l} option (but directories specified with
@samp{-L} come first).
@@ -6410,7 +6588,7 @@ libraries for the @samp{-l} option (but directories specified with
@c @itemx OBJCPLUS_INCLUDE_PATH
These environment variables pertain to particular languages. Each
variable's value is a colon-separated list of directories, much like
-@code{PATH}. When GNU CC searches for header files, it tries the
+@code{PATH}. When GCC searches for header files, it tries the
directories listed in the variable for the language you are using, after
the directories specified with @samp{-I} but before the standard header
file directories.
@@ -6503,9 +6681,9 @@ original source file. The original file is renamed to a name ending
with @samp{.save}. If the @samp{.save} file already exists, then
the source file is simply discarded.
-@code{protoize} and @code{unprotoize} both depend on GNU CC itself to
+@code{protoize} and @code{unprotoize} both depend on GCC itself to
scan the program and collect information about the functions it uses.
-So neither of these programs will work until GNU CC is installed.
+So neither of these programs will work until GCC is installed.
Here is a table of the options you can use with @code{protoize} and
@code{unprotoize}. Each option works with both programs unless
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 3732d7491cf..8a7265e25b9 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,229 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Sat Oct 16 15:18:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ 1999-10-14 Tom Tromey <tromey@cygnus.com>
+ * jvspec.c (jvgenmain_spec): Use `%umain', not just `%u'.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Tue Aug 10 00:28:31 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * jvgenmain.c (main): NUL-terminate name_obstack.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+1999-06-29 Tom Tromey <tromey@cygnus.com>
+
+ * jvspec.c (lang_specific_driver): Recognize --help.
+
+Fri Jun 25 13:35:19 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.c: Rebuilt.
+
+ * parse.y (resolve_package): Fixed bogus return statement.
+ (patch_method_invocation): Resolve method invocation beginning with
+ a package name qualifier.
+
+ * parse.y (java_complete_lhs): When doing cross referencing, don't
+ try to keep file location on a WFL expanded as a CALL_EXPR.
+
+ * parse.y (finish_method_declaration): Insert a RETURN_EXPR when
+ compiling to class file a void method with an empty method body.
+ As a side effect, the bytecode backend will generate the
+ appropriate `return' instruction.
+
+ * parse.y (lookup_package_type_and_set_next): New function prototype.
+ (resolve_package): Search current and imported packages.
+ (lookup_package_type_and_set_next): New function.
+
+1999-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Make-lang.in (java.stage1): Depend on stage1-start.
+ (java.stage2): Likewise for stage2-start.
+ (java.stage3): Likewise for stage3-start.
+ (java.stage4): Likewise for stage4-start.
+
+1999-06-22 Andrew Haley <aph@cygnus.com>
+
+ * verify.c (verify_jvm_instructions): Check for pending blocks
+ before invalid PC test and opcode switch, not after.
+
+1999-06-21 Andrew Haley <aph@cygnus.com>
+
+ * except.c (find_handler_in_range): The upper limit for exception
+ ranges is exclusive, not inclusive: (start <= pc < end).
+ (link_handler): find child pointer which points to outer by
+ searching sibling list: previous code incorrectly assumed that
+ outer->outer->first_child must point to outer.
+ * verify.c (verify_jvm_instructions): FIXME added to code for
+ `athrow'.
+ (verify_jvm_instructions): Do not assume that the last block
+ processed in a subroutine is a block which ends with a `ret'
+ instruction. With some control flows it is possible that the last
+ block ends with an `athrow'.
+
+Mon Jun 14 13:13:39 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (qualify_ambiguous_name): Reorganized the post
+ evaluation of non WFL leading expression nodes.
+
+Fri Jun 11 21:37:18 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (qualify_ambiguous_name): Handle ARRAY_REF after
+ CONVERT_EXPR.
+
+Thu Jun 10 22:26:17 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (qualify_ambiguous_name): Handle qualified expression
+ beginning with a STRING_CST.
+
+Thu Jun 10 20:27:25 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (register_fields): Set DECL_INITIAL on both
+ pre-initialized static and public fields.
+ (resolve_field_access): Static field access expressions to always
+ use pointer types.
+ (qualify_ambiguous_name): Work out buried CALL_EXPR for proper
+ qualification. CONVERT_EXPR to be resolved as an expression name.
+ (java_complete_lhs): Identify and access qualified final
+ initialized field in switch statement case expression.
+ (fold_constant_for_init): Pre-initialized field decl constant to
+ be folded.
+
+Mon Jun 7 16:09:51 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (note_possible_classname): Mark returned node with
+ QUALIFIED_P only if the original class name contained a '/'.
+
+Sat Jun 5 11:46:59 1999 Anthony Green <green@cygnus.com>
+
+ * Make-lang.in (gcjh): More parallel build fixes.
+
+1999-06-03 Mike Stump <mrs@wrs.com>
+
+ * Make-lang.in (JCF_DUMP_SOURCES, jvgenmain): Fix parallel builds.
+
+Wed Jun 2 10:44:38 1999 Anthony Green <green@cygnus.com>
+
+ * except.c (link_handler): Chain exception handlers in order.
+
+Wed Jun 2 10:41:24 1999 Anthony Green <green@cygnus.com>
+
+ * expr.c (expand_byte_code): Fill unreachable bytecode regions
+ with nops and process as usual in order to always set correct EH
+ ranges. Emit detailed warnings about unreachable bytecodes.
+
+Wed Jun 2 10:35:13 1999 Anthony Green <green@cygnus.com>
+
+ * class.c (build_utf8_ref): Mark cinit and utf8 tree nodes as
+ constant.
+
+Fri May 28 18:22:45 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (lookup_field_wrapper): Unified returned value to NULL
+ or the searched field decl.
+
+Fri May 28 11:34:05 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (fold_constant_for_init): Convert numerical constant
+ values to the type of the assigned field.
+
+Thu May 27 19:57:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * expr.c (lookup_field): Relaxed the test on class loading error
+ detection.
+ * parse.y (fold_constant_for_init): Enabeled old code.
+
+Wed May 26 18:06:02 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (valid_ref_assignconv_cast_p): Let `_Jv_CheckCast'
+ decide the validity of the cast of a java.lang.Cloneable reference
+ to an array.
+ (patch_conditional_expr): Fixed first argument passed to
+ binary_numeric_promotion.
+
+Wed May 26 15:33:06 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (qualify_ambiguous_name): Take into account that a
+ CONVERT_EXPR might specify a type as a WFL.
+
+Tue May 25 15:06:13 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (patch_assignment): Save the rhs before using it as an
+ argument to _Jv_CheckArrayStore.
+
+Tue May 25 11:23:59 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * lex.c (java_parse_doc_section): Fixed `tag' buffer size.
+
+Mon May 24 13:26:00 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * lex.c (java_lex): Accepts `+' or `-' after the beginning of a
+ floating point litteral only when the exponent indicator has been
+ parsed.
+
+Sat May 22 13:54:41 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (formal_parameter:): Construct argument tree list
+ element even if a yet unsupported final parameter was encountered.
+
+Tue May 18 00:28:58 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * parse.y (finish_method_declaration): Issue errors for native or
+ abstract methods declared with a method body, as well as for non
+ native or non abstract methods with no method body.
+
+1999-05-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * class.c (build_utf8_ref): Initialize variable `field'.
+
+ * decl.c (init_decl_processing): Initialize variable `field'.
+
+ * expr.c (build_known_method_ref): Mark parameters `method_type',
+ `method_signature' and `arg_list' with ATTRIBUTE_UNUSED.
+ (process_jvm_instruction): Likewise for parameter `length'.
+
+ * jvspec.c (lang_specific_driver): Mark variables `saw_math',
+ `saw_libc', `saw_gc', `saw_threadlib' and `saw_libgcj' with
+ ATTRIBUTE_UNUSED.
+
+ * parse.y (maybe_generate_clinit): Remove unused variable
+ `has_non_primitive_fields'.
+ (find_in_imports_on_demand): Initialize variables `node_to_use'
+ and `cl'.
+ (patch_binop): Likewise for variable `prom_type'.
+ (patch_unaryop): Likewise for variable `prom_type'.
+
+ * verify.c (verify_jvm_instructions): Likewise for variable `last'.
+
+ * xref.c (xref_table): Add missing initializer.
+
+1999-05-14 Tom Tromey <tromey@cygnus.com>
+
+ * java-except.h (struct eh_range): Removed unused `next' member.
+ * verify.c (verify_jvm_instructions): Call check_nested_ranges
+ after adding all exception handlers. Sort exception ranges in
+ order of start PC.
+ (struct pc_index): New structure.
+ (start_pc_cmp): New function.
+ * except.c (add_handler): Return `void'. Don't call link_handler;
+ instead construct an ordinary linked list and do range
+ coalescing.
+ (check_nested_ranges): New function.
+ (link_handler): Changed interface to allow merging of eh_ranges.
+ Split overlapping ranges. Return `void'.
+
Mon May 17 19:20:24 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (constructor_block_end:): New rule, tagged <node>.
@@ -55,13 +281,13 @@ Thu May 13 13:23:38 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* xref.h (xref_get_data): New function, declared.
(XREF_GET_DATA): Use xref_get_data.
-1999-05-13 Kaveh R. Ghazi <ghazi@snafu.rutgers.edu>
+1999-05-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gjavah.c (print_include): Cast the result of `strlen' to int
when comparing against a signed value.
(add_namelet): Likewise.
-1999-05-12 Kaveh R. Ghazi <ghazi@snafu.rutgers.edu>
+1999-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* expr.c (expand_invoke): Mark parameter `nargs' with
ATTRIBUTE_UNUSED.
diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in
index 557001bcc94..39397f267fc 100644
--- a/gcc/java/Make-lang.in
+++ b/gcc/java/Make-lang.in
@@ -97,7 +97,7 @@ $(GCJ)-cross$(exeext): $(GCJ)$(exeext)
# Dependencies here must be kept in sync with dependencies in Makefile.in.
jvgenmain$(exeext): $(srcdir)/java/jvgenmain.c $(srcdir)/java/mangle.c \
- $(OBSTACK) $(LIBDEPS)
+ $(OBSTACK) $(LIBDEPS) $(TREE_H)
cd java && $(MAKE) $(FLAGS_TO_PASS) $(JAVA_FLAGS_TO_PASS) ../jvgenmain$(exeext)
# This must be kept in sync with dependencies in Makefile.in.
@@ -107,7 +107,7 @@ GCJH_SOURCES = $(srcdir)/java/gjavah.c $(srcdir)/java/jcf-io.c \
$(srcdir)/java/javaop.def $(srcdir)/java/jcf-depend.c \
$(srcdir)/java/jcf-path.c
-gcjh$(exeext): $(GCJH_SOURCES) $(LIBDEPS)
+gcjh$(exeext): $(GCJH_SOURCES) $(LIBDEPS) $(TREE_H)
cd java && $(MAKE) $(FLAGS_TO_PASS) $(JAVA_FLAGS_TO_PASS) ../gcjh$(exeext)
# This must be kept in sync with dependencies in Makefile.in.
@@ -119,7 +119,7 @@ jv-scan$(exeext): $(JV_SCAN_SOURCES) stamp-objlist $(LIBDEPS)
# This must be kept in sync with dependencies in Makefile.in.
JCF_DUMP_SOURCES = $(srcdir)/java/jcf-dump.c $(srcdir)/java/jcf-io.c \
- $(srcdir)/java/zextract.c $(srcdir)/../libiberty/memmove.c
+ $(srcdir)/java/zextract.c $(srcdir)/../libiberty/memmove.c $(TREE_H)
jcf-dump$(exeext): $(JCF_DUMP_SOURCES)
cd java && $(MAKE) $(FLAGS_TO_PASS) $(JAVA_FLAGS_TO_PASS) ../jcf-dump$(exeext)
@@ -187,13 +187,13 @@ java.maintainer-clean:
# Stage hooks:
# The main makefile has already created stage?/java.
-java.stage1:
+java.stage1: stage1-start
-mv java/*$(objext) stage1/java
-java.stage2:
+java.stage2: stage2-start
-mv java/*$(objext) stage2/java
-java.stage3:
+java.stage3: stage3-start
-mv java/*$(objext) stage3/java
-java.stage4:
+java.stage4: stage4-start
-mv java/*$(objext) stage4/java
#
# Maintenance hooks:
diff --git a/gcc/java/class.c b/gcc/java/class.c
index 2e00e74eb47..8217a950768 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -559,7 +559,7 @@ build_utf8_ref (name)
int name_len = IDENTIFIER_LENGTH(name);
char buf[60];
char *buf_ptr;
- tree ctype, field, str_type, cinit, string;
+ tree ctype, field = NULL_TREE, str_type, cinit, string;
static int utf8_count = 0;
int name_hash;
tree ref = IDENTIFIER_UTF8_REF (name);
@@ -583,6 +583,7 @@ build_utf8_ref (name)
TREE_TYPE (string) = str_type;
PUSH_FIELD_VALUE (cinit, "data", string);
FINISH_RECORD_CONSTRUCTOR (cinit);
+ TREE_CONSTANT (cinit) = 1;
/* Build a unique identifier based on buf. */
sprintf(buf, "_Utf%d", ++utf8_count);
@@ -608,6 +609,7 @@ build_utf8_ref (name)
DECL_ARTIFICIAL (decl) = 1;
DECL_IGNORED_P (decl) = 1;
TREE_READONLY (decl) = 1;
+ TREE_THIS_VOLATILE (decl) = 0;
DECL_INITIAL (decl) = cinit;
TREE_CHAIN (decl) = utf8_decl_list;
layout_decl (decl, 0);
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 625ba8a5bea..de03e5fd007 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -432,7 +432,7 @@ void
init_decl_processing ()
{
register tree endlink;
- tree field;
+ tree field = NULL_TREE;
tree t;
current_function_decl = NULL;
diff --git a/gcc/java/except.c b/gcc/java/except.c
index 8fbf0b60e06..920f81a3a42 100644
--- a/gcc/java/except.c
+++ b/gcc/java/except.c
@@ -72,7 +72,7 @@ find_handler_in_range (pc, range, child)
{
if (pc < child->start_pc)
break;
- if (pc <= child->end_pc)
+ if (pc < child->end_pc)
return find_handler_in_range (pc, child, child->first_child);
}
cache_range = range;
@@ -108,51 +108,107 @@ find_handler (pc)
return find_handler_in_range (pc, h, cache_next_child);
}
-#if 0
-first_child;
-next_sibling;
-outer;
-#endif
+/* Recursive helper routine for check_nested_ranges. */
-/* Recursive helper routine for add_handler. */
-
-static int
-link_handler (start_pc, end_pc, handler, type, outer)
- int start_pc, end_pc;
- tree handler;
- tree type;
- struct eh_range *outer;
+static void
+link_handler (range, outer)
+ struct eh_range *range, *outer;
{
struct eh_range **ptr;
- if (start_pc < outer->start_pc || end_pc > outer->end_pc)
- return 0; /* invalid or non-nested exception range */
- if (start_pc == outer->start_pc && end_pc == outer->end_pc)
+
+ if (range->start_pc == outer->start_pc && range->end_pc == outer->end_pc)
+ {
+ outer->handlers = chainon (range->handlers, outer->handlers);
+ return;
+ }
+
+ /* If the new range completely encloses the `outer' range, then insert it
+ between the outer range and its parent. */
+ if (range->start_pc <= outer->start_pc && range->end_pc >= outer->end_pc)
+ {
+ range->outer = outer->outer;
+ range->next_sibling = NULL;
+ range->first_child = outer;
+ {
+ struct eh_range **pr = &(outer->outer->first_child);
+ while (*pr != outer)
+ pr = &(*pr)->next_sibling;
+ *pr = range;
+ }
+ outer->outer = range;
+ return;
+ }
+
+ /* Handle overlapping ranges by splitting the new range. */
+ if (range->start_pc < outer->start_pc || range->end_pc > outer->end_pc)
{
- outer->handlers = tree_cons (type, handler, outer->handlers);
- return 1;
+ struct eh_range *h
+ = (struct eh_range *) oballoc (sizeof (struct eh_range));
+ if (range->start_pc < outer->start_pc)
+ {
+ h->start_pc = range->start_pc;
+ h->end_pc = outer->start_pc;
+ range->start_pc = outer->start_pc;
+ }
+ else
+ {
+ h->start_pc = outer->end_pc;
+ h->end_pc = range->end_pc;
+ range->end_pc = outer->end_pc;
+ }
+ h->first_child = NULL;
+ h->outer = NULL;
+ h->handlers = build_tree_list (TREE_PURPOSE (range->handlers),
+ TREE_VALUE (range->handlers));
+ h->next_sibling = NULL;
+ /* Restart both from the top to avoid having to make this
+ function smart about reentrancy. */
+ link_handler (h, &whole_range);
+ link_handler (range, &whole_range);
+ return;
}
+
ptr = &outer->first_child;
for (;; ptr = &(*ptr)->next_sibling)
{
- if (*ptr == NULL || end_pc <= (*ptr)->start_pc)
+ if (*ptr == NULL || range->end_pc <= (*ptr)->start_pc)
{
- struct eh_range *h = (struct eh_range *)
- oballoc (sizeof (struct eh_range));
- h->start_pc = start_pc;
- h->end_pc = end_pc;
- h->next_sibling = *ptr;
- h->first_child = NULL;
- h->outer = outer;
- h->handlers = build_tree_list (type, handler);
- *ptr = h;
- return 1;
+ range->next_sibling = *ptr;
+ range->first_child = NULL;
+ range->outer = outer;
+ *ptr = range;
+ return;
+ }
+ else if (range->start_pc < (*ptr)->end_pc)
+ {
+ link_handler (range, *ptr);
+ return;
}
- else if (start_pc < (*ptr)->end_pc)
- return link_handler (start_pc, end_pc, handler, type, *ptr);
/* end_pc > (*ptr)->start_pc && start_pc >= (*ptr)->end_pc. */
}
}
+/* The first pass of exception range processing (calling add_handler)
+ constructs a linked list of exception ranges. We turn this into
+ the data structure expected by the rest of the code, and also
+ ensure that exception ranges are properly nested. */
+
+void
+handle_nested_ranges ()
+{
+ struct eh_range *ptr, *next;
+
+ ptr = whole_range.first_child;
+ whole_range.first_child = NULL;
+ for (; ptr; ptr = next)
+ {
+ next = ptr->next_sibling;
+ ptr->next_sibling = NULL;
+ link_handler (ptr, &whole_range);
+ }
+}
+
+
/* Called to re-initialize the exception machinery for a new method. */
void
@@ -174,13 +230,54 @@ java_set_exception_lang_code ()
set_exception_version_code (1);
}
-int
+/* Add an exception range. If we already have an exception range
+ which has the same handler and label, and the new range overlaps
+ that one, then we simply extend the existing range. Some bytecode
+ obfuscators generate seemingly nonoverlapping exception ranges
+ which, when coalesced, do in fact nest correctly.
+
+ This constructs an ordinary linked list which check_nested_ranges()
+ later turns into the data structure we actually want.
+
+ We expect the input to come in order of increasing START_PC. This
+ function doesn't attempt to detect the case where two previously
+ added disjoint ranges could be coalesced by a new range; that is
+ what the sorting counteracts. */
+
+void
add_handler (start_pc, end_pc, handler, type)
int start_pc, end_pc;
tree handler;
tree type;
{
- return link_handler (start_pc, end_pc, handler, type, &whole_range);
+ struct eh_range *ptr, *prev = NULL, *h;
+
+ for (ptr = whole_range.first_child; ptr; ptr = ptr->next_sibling)
+ {
+ if (start_pc >= ptr->start_pc
+ && start_pc <= ptr->end_pc
+ && TREE_PURPOSE (ptr->handlers) == type
+ && TREE_VALUE (ptr->handlers) == handler)
+ {
+ /* Already found an overlapping range, so coalesce. */
+ ptr->end_pc = MAX (ptr->end_pc, end_pc);
+ return;
+ }
+ prev = ptr;
+ }
+
+ h = (struct eh_range *) oballoc (sizeof (struct eh_range));
+ h->start_pc = start_pc;
+ h->end_pc = end_pc;
+ h->first_child = NULL;
+ h->outer = NULL;
+ h->handlers = build_tree_list (type, handler);
+ h->next_sibling = NULL;
+
+ if (prev == NULL)
+ whole_range.first_child = h;
+ else
+ prev->next_sibling = h;
}
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index d975c42c5ed..9beb724ea37 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1162,7 +1162,7 @@ lookup_field (typep, name)
if (CLASS_P (*typep) && !CLASS_LOADED_P (*typep))
{
load_class (*typep, 1);
- if (TREE_CODE (TYPE_SIZE (*typep)) == ERROR_MARK)
+ if (!TYPE_SIZE (*typep) || TREE_CODE (TYPE_SIZE (*typep)) == ERROR_MARK)
return error_mark_node;
}
do
@@ -1431,7 +1431,8 @@ tree dtable_ident = NULL_TREE;
tree
build_known_method_ref (method, method_type, self_type, method_signature, arg_list)
- tree method, method_type, self_type, method_signature, arg_list;
+ tree method, method_type ATTRIBUTE_UNUSED, self_type,
+ method_signature ATTRIBUTE_UNUSED, arg_list ATTRIBUTE_UNUSED;
{
tree func;
if (is_compiled_class (self_type))
@@ -1985,6 +1986,7 @@ expand_byte_code (jcf, method)
int i;
int saw_index;
unsigned char *linenumber_pointer;
+ int dead_code_index = -1;
#undef RET /* Defined by config/i386/i386.h */
#undef AND /* Causes problems with opcodes for iand and land. */
@@ -2163,15 +2165,29 @@ expand_byte_code (jcf, method)
if (! (instruction_bits [PC] & BCODE_VERIFIED))
{
- /* never executed - skip */
- warning ("Some bytecode operations (starting at pc %d) can never be executed", PC);
- while (PC < length
- && ! (instruction_bits [PC] & BCODE_VERIFIED))
- PC++;
- continue;
+ if (dead_code_index == -1)
+ {
+ /* This is the start of a region of unreachable bytecodes.
+ They still need to be processed in order for EH ranges
+ to get handled correctly. However, we can simply
+ replace these bytecodes with nops. */
+ dead_code_index = PC;
+ }
+
+ /* Turn this bytecode into a nop. */
+ byte_ops[PC] = 0x0;
+ }
+ else
+ {
+ if (dead_code_index != -1)
+ {
+ /* We've just reached the end of a region of dead code. */
+ warning ("Unreachable bytecode from %d to before %d.",
+ dead_code_index, PC);
+ dead_code_index = -1;
+ }
}
-
/* Handle possible line number entry for this PC.
This code handles out-of-order and multiple linenumbers per PC,
@@ -2203,6 +2219,13 @@ expand_byte_code (jcf, method)
maybe_poplevels (PC);
maybe_end_try (PC);
} /* for */
+
+ if (dead_code_index != -1)
+ {
+ /* We've just reached the end of a region of dead code. */
+ warning ("Unreachable bytecode from %d to the end of the method.",
+ dead_code_index);
+ }
}
static void
@@ -2230,7 +2253,7 @@ int
process_jvm_instruction (PC, byte_ops, length)
int PC;
unsigned char* byte_ops;
- long length;
+ long length ATTRIBUTE_UNUSED;
{
const char *opname; /* Temporary ??? */
int oldpc = PC; /* PC at instruction start. */
diff --git a/gcc/java/java-except.h b/gcc/java/java-except.h
index cdc123d744a..07b3feb3046 100644
--- a/gcc/java/java-except.h
+++ b/gcc/java/java-except.h
@@ -47,11 +47,6 @@ struct eh_range
/* The next child of outer, in address order. */
struct eh_range *next_sibling;
-
-#if 0
- /* Next handler, sorted by ascending start_pc then descending end_pc. */
- tree next;
-#endif
};
/* A dummy range that represents the entire method. */
@@ -69,6 +64,8 @@ extern void maybe_start_try PROTO ((int));
extern void maybe_end_try PROTO ((int));
-extern int add_handler PROTO ((int, int, tree, tree));
+extern void add_handler PROTO ((int, int, tree, tree));
+
+extern void handle_nested_ranges PROTO ((void));
extern void expand_resume_after_catch PROTO ((void));
diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c
index 0f9e6287827..4f82847d043 100644
--- a/gcc/java/jvgenmain.c
+++ b/gcc/java/jvgenmain.c
@@ -96,6 +96,7 @@ main (int argc, const char **argv)
gcc_obstack_init (&name_obstack);
append_gpp_mangled_classtype (&name_obstack, classname);
+ obstack_1grow (&name_obstack, '\0');
mangled_classname = obstack_finish (&name_obstack);
if (argc > 2 && strcmp (argv[2], "-") != 0)
diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c
index 95330da332d..61cd89b0d97 100644
--- a/gcc/java/jvspec.c
+++ b/gcc/java/jvspec.c
@@ -54,15 +54,15 @@ int lang_specific_extra_outfiles = 0;
#define COMBINE_INPUTS 0
char jvgenmain_spec[] =
- "jvgenmain %i %{!pipe:%u.i} |\n\
- cc1 %{!pipe:%U.i} %1 \
+ "jvgenmain %i %{!pipe:%umain.i} |\n\
+ cc1 %{!pipe:%Umain.i} %1 \
%{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a*}\
%{g*} %{O*} \
%{v:-version} %{pg:-p} %{p} %{f*}\
%{aux-info*}\
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%U.s}} |\n\
- %{!S:as %a %Y -o %d%w%u%O %{!pipe:%U.s} %A\n }";
+ %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%Umain.s}} |\n\
+ %{!S:as %a %Y -o %d%w%umain%O %{!pipe:%Umain.s} %A\n }";
/* Return full path name of spec file if it is in DIR, or NULL if
not. */
@@ -145,19 +145,19 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries)
int saw_speclang = 0;
/* "-lm" or "-lmath" if it appears on the command line. */
- char *saw_math = 0;
+ char *saw_math ATTRIBUTE_UNUSED = 0;
/* "-lc" if it appears on the command line. */
- char *saw_libc = 0;
+ char *saw_libc ATTRIBUTE_UNUSED = 0;
/* "-lgcjgc" if it appears on the command line. */
- char *saw_gc = 0;
+ char *saw_gc ATTRIBUTE_UNUSED = 0;
/* Saw `-l' option for the thread library. */
- char *saw_threadlib = 0;
+ char *saw_threadlib ATTRIBUTE_UNUSED = 0;
/* Saw `-lgcj' on command line. */
- int saw_libgcj = 0;
+ int saw_libgcj ATTRIBUTE_UNUSED = 0;
/* Saw -C or -o option, respectively. */
int saw_C = 0;
@@ -223,6 +223,8 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries)
main_class_name = argv[i] + 7;
added--;
}
+ else if (strcmp (argv[i], "-fhelp") == 0)
+ will_link = 0;
else if (strcmp (argv[i], "-v") == 0)
{
saw_verbose_flag = 1;
diff --git a/gcc/java/lex.c b/gcc/java/lex.c
index 18d873fb135..fbaa23d80f0 100644
--- a/gcc/java/lex.c
+++ b/gcc/java/lex.c
@@ -427,7 +427,7 @@ java_parse_doc_section (c)
/* We're parsing @deprecated */
if (valid_tag && (c == '@'))
{
- char tag [10];
+ char tag [11];
int tag_index = 0;
while (tag_index < 10 && c != UEOF && c != ' ' && c != '\n')
@@ -741,7 +741,7 @@ java_lex (java_lval)
stage = 4; /* So we fall through */
}
- if ((c=='-' || c =='+') && stage < 3)
+ if ((c=='-' || c =='+') && stage == 2)
{
stage = 3;
literal_token [literal_index++] = c;
diff --git a/gcc/java/parse-scan.c b/gcc/java/parse-scan.c
index fcc19aa63cc..6340ee8795f 100644
--- a/gcc/java/parse-scan.c
+++ b/gcc/java/parse-scan.c
@@ -1375,7 +1375,7 @@ static const short yycheck[] = { 3,
#define YYPURE 1
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/x1/java/install/share/bison.simple"
+#line 3 "/usr/cygnus/gnupro-98r2/share/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -1568,7 +1568,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
-#line 196 "/x1/java/install/share/bison.simple"
+#line 196 "/usr/cygnus/gnupro-98r2/share/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
@@ -2156,7 +2156,7 @@ case 337:
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 498 "/x1/java/install/share/bison.simple"
+#line 498 "/usr/cygnus/gnupro-98r2/share/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
diff --git a/gcc/java/parse.c b/gcc/java/parse.c
index 2fc3491d27c..69c8789236e 100644
--- a/gcc/java/parse.c
+++ b/gcc/java/parse.c
@@ -1,6 +1,6 @@
/* A Bison parser, made from ./parse.y
- by GNU Bison version 1.25
+ by GNU Bison version 1.27
*/
#define YYBISON 1 /* Identify Bison output. */
@@ -12,113 +12,113 @@
#define yychar java_char
#define yydebug java_debug
#define yynerrs java_nerrs
-#define PLUS_TK 258
-#define MINUS_TK 259
-#define MULT_TK 260
-#define DIV_TK 261
-#define REM_TK 262
-#define LS_TK 263
-#define SRS_TK 264
-#define ZRS_TK 265
-#define AND_TK 266
-#define XOR_TK 267
-#define OR_TK 268
-#define BOOL_AND_TK 269
-#define BOOL_OR_TK 270
-#define EQ_TK 271
-#define NEQ_TK 272
-#define GT_TK 273
-#define GTE_TK 274
-#define LT_TK 275
-#define LTE_TK 276
-#define PLUS_ASSIGN_TK 277
-#define MINUS_ASSIGN_TK 278
-#define MULT_ASSIGN_TK 279
-#define DIV_ASSIGN_TK 280
-#define REM_ASSIGN_TK 281
-#define LS_ASSIGN_TK 282
-#define SRS_ASSIGN_TK 283
-#define ZRS_ASSIGN_TK 284
-#define AND_ASSIGN_TK 285
-#define XOR_ASSIGN_TK 286
-#define OR_ASSIGN_TK 287
-#define PUBLIC_TK 288
-#define PRIVATE_TK 289
-#define PROTECTED_TK 290
-#define STATIC_TK 291
-#define FINAL_TK 292
-#define SYNCHRONIZED_TK 293
-#define VOLATILE_TK 294
-#define TRANSIENT_TK 295
-#define NATIVE_TK 296
-#define PAD_TK 297
-#define ABSTRACT_TK 298
-#define MODIFIER_TK 299
-#define DECR_TK 300
-#define INCR_TK 301
-#define DEFAULT_TK 302
-#define IF_TK 303
-#define THROW_TK 304
-#define BOOLEAN_TK 305
-#define DO_TK 306
-#define IMPLEMENTS_TK 307
-#define THROWS_TK 308
-#define BREAK_TK 309
-#define IMPORT_TK 310
-#define ELSE_TK 311
-#define INSTANCEOF_TK 312
-#define RETURN_TK 313
-#define VOID_TK 314
-#define CATCH_TK 315
-#define INTERFACE_TK 316
-#define CASE_TK 317
-#define EXTENDS_TK 318
-#define FINALLY_TK 319
-#define SUPER_TK 320
-#define WHILE_TK 321
-#define CLASS_TK 322
-#define SWITCH_TK 323
-#define CONST_TK 324
-#define TRY_TK 325
-#define FOR_TK 326
-#define NEW_TK 327
-#define CONTINUE_TK 328
-#define GOTO_TK 329
-#define PACKAGE_TK 330
-#define THIS_TK 331
-#define BYTE_TK 332
-#define SHORT_TK 333
-#define INT_TK 334
-#define LONG_TK 335
-#define CHAR_TK 336
-#define INTEGRAL_TK 337
-#define FLOAT_TK 338
-#define DOUBLE_TK 339
-#define FP_TK 340
-#define ID_TK 341
-#define REL_QM_TK 342
-#define REL_CL_TK 343
-#define NOT_TK 344
-#define NEG_TK 345
-#define ASSIGN_ANY_TK 346
-#define ASSIGN_TK 347
-#define OP_TK 348
-#define CP_TK 349
-#define OCB_TK 350
-#define CCB_TK 351
-#define OSB_TK 352
-#define CSB_TK 353
-#define SC_TK 354
-#define C_TK 355
-#define DOT_TK 356
-#define STRING_LIT_TK 357
-#define CHAR_LIT_TK 358
-#define INT_LIT_TK 359
-#define FP_LIT_TK 360
-#define TRUE_TK 361
-#define FALSE_TK 362
-#define BOOL_LIT_TK 363
-#define NULL_TK 364
+#define PLUS_TK 257
+#define MINUS_TK 258
+#define MULT_TK 259
+#define DIV_TK 260
+#define REM_TK 261
+#define LS_TK 262
+#define SRS_TK 263
+#define ZRS_TK 264
+#define AND_TK 265
+#define XOR_TK 266
+#define OR_TK 267
+#define BOOL_AND_TK 268
+#define BOOL_OR_TK 269
+#define EQ_TK 270
+#define NEQ_TK 271
+#define GT_TK 272
+#define GTE_TK 273
+#define LT_TK 274
+#define LTE_TK 275
+#define PLUS_ASSIGN_TK 276
+#define MINUS_ASSIGN_TK 277
+#define MULT_ASSIGN_TK 278
+#define DIV_ASSIGN_TK 279
+#define REM_ASSIGN_TK 280
+#define LS_ASSIGN_TK 281
+#define SRS_ASSIGN_TK 282
+#define ZRS_ASSIGN_TK 283
+#define AND_ASSIGN_TK 284
+#define XOR_ASSIGN_TK 285
+#define OR_ASSIGN_TK 286
+#define PUBLIC_TK 287
+#define PRIVATE_TK 288
+#define PROTECTED_TK 289
+#define STATIC_TK 290
+#define FINAL_TK 291
+#define SYNCHRONIZED_TK 292
+#define VOLATILE_TK 293
+#define TRANSIENT_TK 294
+#define NATIVE_TK 295
+#define PAD_TK 296
+#define ABSTRACT_TK 297
+#define MODIFIER_TK 298
+#define DECR_TK 299
+#define INCR_TK 300
+#define DEFAULT_TK 301
+#define IF_TK 302
+#define THROW_TK 303
+#define BOOLEAN_TK 304
+#define DO_TK 305
+#define IMPLEMENTS_TK 306
+#define THROWS_TK 307
+#define BREAK_TK 308
+#define IMPORT_TK 309
+#define ELSE_TK 310
+#define INSTANCEOF_TK 311
+#define RETURN_TK 312
+#define VOID_TK 313
+#define CATCH_TK 314
+#define INTERFACE_TK 315
+#define CASE_TK 316
+#define EXTENDS_TK 317
+#define FINALLY_TK 318
+#define SUPER_TK 319
+#define WHILE_TK 320
+#define CLASS_TK 321
+#define SWITCH_TK 322
+#define CONST_TK 323
+#define TRY_TK 324
+#define FOR_TK 325
+#define NEW_TK 326
+#define CONTINUE_TK 327
+#define GOTO_TK 328
+#define PACKAGE_TK 329
+#define THIS_TK 330
+#define BYTE_TK 331
+#define SHORT_TK 332
+#define INT_TK 333
+#define LONG_TK 334
+#define CHAR_TK 335
+#define INTEGRAL_TK 336
+#define FLOAT_TK 337
+#define DOUBLE_TK 338
+#define FP_TK 339
+#define ID_TK 340
+#define REL_QM_TK 341
+#define REL_CL_TK 342
+#define NOT_TK 343
+#define NEG_TK 344
+#define ASSIGN_ANY_TK 345
+#define ASSIGN_TK 346
+#define OP_TK 347
+#define CP_TK 348
+#define OCB_TK 349
+#define CCB_TK 350
+#define OSB_TK 351
+#define CSB_TK 352
+#define SC_TK 353
+#define C_TK 354
+#define DOT_TK 355
+#define STRING_LIT_TK 356
+#define CHAR_LIT_TK 357
+#define INT_LIT_TK 358
+#define FP_LIT_TK 359
+#define TRUE_TK 360
+#define FALSE_TK 361
+#define BOOL_LIT_TK 362
+#define NULL_TK 363
#line 48 "./parse.y"
@@ -176,6 +176,7 @@ static int find_in_imports PROTO ((tree));
static int check_pkg_class_access PROTO ((tree, tree));
static tree resolve_package PROTO ((tree, tree *));
static tree lookup_package_type PROTO ((char *, int));
+static tree lookup_package_type_and_set_next PROTO ((char *, int, tree *));
static tree resolve_class PROTO ((tree, tree, tree));
static void declare_local_variables PROTO ((int, tree, tree));
static void source_start_java_method PROTO ((tree));
@@ -375,7 +376,7 @@ static tree java_lang_cloneable = NULL_TREE;
static tree current_static_block = NULL_TREE;
-#line 303 "./parse.y"
+#line 304 "./parse.y"
typedef union {
tree node;
int sub_token;
@@ -385,7 +386,7 @@ typedef union {
} operator;
int value;
} YYSTYPE;
-#line 313 "./parse.y"
+#line 314 "./parse.y"
#include "lex.c"
#ifndef YYDEBUG
@@ -406,7 +407,7 @@ typedef union {
#define YYFLAG -32768
#define YYNTBASE 110
-#define YYTRANSLATE(x) ((unsigned)(x) <= 364 ? yytranslate[x] : 266)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 363 ? yytranslate[x] : 266)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -434,18 +435,18 @@ static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 107, 108, 109
+ 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109
};
#if YYDEBUG != 0
@@ -683,57 +684,57 @@ static const short yyrhs[] = { 123,
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 457, 463, 465, 466, 467, 468, 469, 473, 475, 478,
- 480, 481, 484, 486, 489, 493, 497, 501, 507, 509,
- 511, 513, 518, 520, 523, 527, 532, 537, 539, 540,
- 541, 542, 543, 544, 545, 548, 553, 559, 561, 564,
- 567, 569, 573, 575, 578, 605, 607, 611, 624, 626,
- 630, 637, 642, 644, 654, 659, 674, 678, 681, 684,
- 687, 689, 691, 696, 700, 702, 704, 706, 710, 712,
- 714, 721, 727, 732, 736, 745, 755, 757, 760, 762,
- 763, 764, 768, 770, 772, 773, 775, 780, 783, 793,
- 796, 798, 802, 805, 812, 818, 826, 828, 830, 832,
- 834, 838, 840, 844, 851, 852, 856, 859, 861, 863,
- 865, 867, 869, 871, 873, 880, 883, 885, 894, 896,
- 900, 905, 910, 914, 919, 921, 923, 930, 932, 934,
- 938, 941, 943, 947, 949, 950, 955, 961, 968, 976,
- 983, 986, 989, 993, 996, 1000, 1009, 1011, 1013, 1017,
- 1019, 1022, 1029, 1037, 1039, 1043, 1050, 1060, 1064, 1067,
- 1070, 1073, 1076, 1079, 1082, 1085, 1087, 1091, 1097, 1102,
- 1104, 1108, 1111, 1115, 1117, 1120, 1122, 1123, 1125, 1129,
- 1133, 1139, 1144, 1147, 1149, 1153, 1159, 1163, 1168, 1177,
- 1181, 1186, 1198, 1200, 1203, 1205, 1207, 1211, 1215, 1218,
- 1222, 1224, 1225, 1226, 1227, 1228, 1232, 1234, 1235, 1236,
- 1237, 1241, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250,
- 1251, 1252, 1255, 1260, 1271, 1274, 1278, 1285, 1295, 1301,
- 1307, 1313, 1315, 1321, 1323, 1329, 1331, 1333, 1335, 1337,
- 1341, 1343, 1344, 1345, 1346, 1347, 1348, 1351, 1357, 1359,
- 1361, 1365, 1370, 1375, 1381, 1391, 1397, 1399, 1401, 1408,
- 1411, 1413, 1415, 1419, 1421, 1424, 1428, 1430, 1433, 1440,
- 1446, 1448, 1450, 1454, 1462, 1465, 1467, 1469, 1473, 1478,
- 1487, 1492, 1495, 1502, 1504, 1506, 1510, 1513, 1522, 1529,
- 1531, 1535, 1548, 1550, 1556, 1562, 1566, 1568, 1572, 1575,
- 1577, 1581, 1584, 1586, 1588, 1592, 1595, 1597, 1599, 1603,
- 1606, 1608, 1610, 1614, 1620, 1622, 1626, 1633, 1635, 1637,
- 1639, 1643, 1651, 1654, 1656, 1661, 1665, 1667, 1674, 1682,
- 1699, 1701, 1703, 1707, 1710, 1715, 1717, 1720, 1722, 1724,
- 1726, 1727, 1728, 1729, 1733, 1735, 1737, 1742, 1744, 1746,
- 1748, 1750, 1754, 1757, 1762, 1764, 1769, 1770, 1771, 1772,
- 1773, 1775, 1777, 1779, 1781, 1783, 1787, 1789, 1792, 1798,
- 1803, 1807, 1810, 1812, 1814, 1818, 1820, 1822, 1824, 1828,
- 1831, 1835, 1841, 1843, 1851, 1878, 1880, 1884, 1889, 1896,
- 1900, 1903, 1905, 1916, 1927, 1932, 1941, 1943, 1947, 1950,
- 1952, 1957, 1962, 1967, 1974, 1976, 1977, 1978, 1981, 1986,
- 1991, 1993, 1994, 1996, 1998, 1999, 2001, 2005, 2008, 2012,
- 2015, 2019, 2021, 2023, 2025, 2026, 2028, 2032, 2041, 2043,
- 2045, 2058, 2060, 2066, 2068, 2070, 2074, 2076, 2081, 2086,
- 2091, 2093, 2095, 2099, 2101, 2106, 2111, 2113, 2117, 2119,
- 2124, 2129, 2134, 2136, 2138, 2142, 2144, 2149, 2154, 2159,
- 2164, 2166, 2168, 2170, 2172, 2174, 2178, 2180, 2185, 2190,
- 2192, 2196, 2198, 2203, 2207, 2209, 2214, 2218, 2220, 2225,
- 2229, 2231, 2236, 2240, 2242, 2247, 2251, 2253, 2258, 2264,
- 2266, 2270, 2272, 2275, 2278, 2286, 2288, 2289, 2292, 2294,
- 2297, 2301
+ 458, 464, 466, 467, 468, 469, 470, 474, 476, 479,
+ 481, 482, 485, 487, 490, 494, 498, 502, 508, 510,
+ 512, 514, 519, 521, 524, 528, 533, 538, 540, 541,
+ 542, 543, 544, 545, 546, 549, 554, 560, 562, 565,
+ 568, 570, 574, 576, 579, 606, 608, 612, 625, 627,
+ 631, 638, 643, 645, 655, 660, 675, 679, 682, 685,
+ 688, 690, 692, 697, 701, 703, 705, 707, 711, 713,
+ 715, 722, 728, 733, 737, 746, 756, 758, 761, 763,
+ 764, 765, 769, 771, 773, 774, 776, 781, 784, 794,
+ 797, 799, 803, 806, 813, 819, 827, 829, 831, 833,
+ 835, 839, 841, 845, 852, 853, 857, 860, 862, 864,
+ 866, 868, 870, 872, 874, 881, 884, 886, 895, 897,
+ 901, 906, 911, 915, 920, 925, 927, 934, 936, 938,
+ 942, 945, 947, 951, 953, 954, 959, 965, 972, 980,
+ 987, 990, 993, 997, 1000, 1004, 1013, 1015, 1017, 1021,
+ 1023, 1026, 1033, 1041, 1043, 1047, 1054, 1064, 1068, 1071,
+ 1074, 1077, 1080, 1083, 1086, 1089, 1091, 1095, 1101, 1106,
+ 1108, 1112, 1115, 1119, 1121, 1124, 1126, 1127, 1129, 1133,
+ 1137, 1143, 1148, 1151, 1153, 1157, 1163, 1167, 1172, 1181,
+ 1185, 1190, 1202, 1204, 1207, 1209, 1211, 1215, 1219, 1222,
+ 1226, 1228, 1229, 1230, 1231, 1232, 1236, 1238, 1239, 1240,
+ 1241, 1245, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254,
+ 1255, 1256, 1259, 1264, 1275, 1278, 1282, 1289, 1299, 1305,
+ 1311, 1317, 1319, 1325, 1327, 1333, 1335, 1337, 1339, 1341,
+ 1345, 1347, 1348, 1349, 1350, 1351, 1352, 1355, 1361, 1363,
+ 1365, 1369, 1374, 1379, 1385, 1395, 1401, 1403, 1405, 1412,
+ 1415, 1417, 1419, 1423, 1425, 1428, 1432, 1434, 1437, 1444,
+ 1450, 1452, 1454, 1458, 1466, 1469, 1471, 1473, 1477, 1482,
+ 1491, 1496, 1499, 1506, 1508, 1510, 1514, 1517, 1526, 1533,
+ 1535, 1539, 1552, 1554, 1560, 1566, 1570, 1572, 1576, 1579,
+ 1581, 1585, 1588, 1590, 1592, 1596, 1599, 1601, 1603, 1607,
+ 1610, 1612, 1614, 1618, 1624, 1626, 1630, 1637, 1639, 1641,
+ 1643, 1647, 1655, 1658, 1660, 1665, 1669, 1671, 1678, 1686,
+ 1703, 1705, 1707, 1711, 1714, 1719, 1721, 1724, 1726, 1728,
+ 1730, 1731, 1732, 1733, 1737, 1739, 1741, 1746, 1748, 1750,
+ 1752, 1754, 1758, 1761, 1766, 1768, 1773, 1774, 1775, 1776,
+ 1777, 1779, 1781, 1783, 1785, 1787, 1791, 1793, 1796, 1802,
+ 1807, 1811, 1814, 1816, 1818, 1822, 1824, 1826, 1828, 1832,
+ 1835, 1839, 1845, 1847, 1855, 1882, 1884, 1888, 1893, 1900,
+ 1904, 1907, 1909, 1920, 1931, 1936, 1945, 1947, 1951, 1954,
+ 1956, 1961, 1966, 1971, 1978, 1980, 1981, 1982, 1985, 1990,
+ 1995, 1997, 1998, 2000, 2002, 2003, 2005, 2009, 2012, 2016,
+ 2019, 2023, 2025, 2027, 2029, 2030, 2032, 2036, 2045, 2047,
+ 2049, 2062, 2064, 2070, 2072, 2074, 2078, 2080, 2085, 2090,
+ 2095, 2097, 2099, 2103, 2105, 2110, 2115, 2117, 2121, 2123,
+ 2128, 2133, 2138, 2140, 2142, 2146, 2148, 2153, 2158, 2163,
+ 2168, 2170, 2172, 2174, 2176, 2178, 2182, 2184, 2189, 2194,
+ 2196, 2200, 2202, 2207, 2211, 2213, 2218, 2222, 2224, 2229,
+ 2233, 2235, 2240, 2244, 2246, 2251, 2255, 2257, 2262, 2268,
+ 2270, 2274, 2276, 2279, 2282, 2290, 2292, 2293, 2296, 2298,
+ 2301, 2305
};
#endif
@@ -2212,6 +2213,7 @@ static const short yycheck[] = { 3,
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/lib/bison.simple"
+/* This file comes from bison-1.27. */
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -2228,46 +2230,66 @@ static const short yycheck[] = { 3,
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
-#ifndef alloca
+/* This is the parser code that is written into each bison parser
+ when the %semantic_parser declaration is not specified in the grammar.
+ It was written by Richard Stallman by simplifying the hairy parser
+ used when %semantic_parser is specified. */
+
+#ifndef YYSTACK_USE_ALLOCA
+#ifdef alloca
+#define YYSTACK_USE_ALLOCA
+#else /* alloca not defined */
#ifdef __GNUC__
+#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
+#define YYSTACK_USE_ALLOCA
#include <alloca.h>
#else /* not sparc */
-#if defined (MSDOS) && !defined (__TURBOC__)
+/* We think this test detects Watcom and Microsoft C. */
+/* This used to test MSDOS, but that is a bad idea
+ since that symbol is in the user namespace. */
+#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
+#if 0 /* No need for malloc.h, which pollutes the namespace;
+ instead, just don't use alloca. */
#include <malloc.h>
+#endif
#else /* not MSDOS, or __TURBOC__ */
#if defined(_AIX)
-#include <malloc.h>
+/* I don't know what this was needed for, but it pollutes the namespace.
+ So I turned it off. rms, 2 May 1997. */
+/* #include <malloc.h> */
#pragma alloca
-#else /* not MSDOS, __TURBOC__, or _AIX */
-#ifdef __hpux
-#ifdef __cplusplus
-extern "C" {
-void *alloca (unsigned int);
-};
-#else /* not __cplusplus */
-void *alloca ();
-#endif /* not __cplusplus */
+#define YYSTACK_USE_ALLOCA
+#else /* not MSDOS, or __TURBOC__, or _AIX */
+#if 0
+#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
+ and on HPUX 10. Eventually we can turn this on. */
+#define YYSTACK_USE_ALLOCA
+#define alloca __builtin_alloca
#endif /* __hpux */
+#endif
#endif /* not _AIX */
#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc. */
-#endif /* not GNU C. */
-#endif /* alloca not defined. */
+#endif /* not sparc */
+#endif /* not GNU C */
+#endif /* alloca not defined */
+#endif /* YYSTACK_USE_ALLOCA not defined */
-/* This is the parser code that is written into each bison parser
- when the %semantic_parser declaration is not specified in the grammar.
- It was written by Richard Stallman by simplifying the hairy parser
- used when %semantic_parser is specified. */
+#ifdef YYSTACK_USE_ALLOCA
+#define YYSTACK_ALLOC alloca
+#else
+#define YYSTACK_ALLOC malloc
+#endif
/* Note: there must be only one dollar sign in this file.
It is replaced by the list of actions, each action
@@ -2277,8 +2299,8 @@ void *alloca ();
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY -2
#define YYEOF 0
-#define YYACCEPT return(0)
-#define YYABORT return(1)
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
#define YYERROR goto yyerrlab1
/* Like YYERROR except do call yyerror.
This remains here temporarily to ease the
@@ -2359,12 +2381,12 @@ int yydebug; /* nonzero means print parse trace */
#ifndef YYMAXDEPTH
#define YYMAXDEPTH 10000
#endif
-
-/* Prevent warning if -Wstrict-prototypes. */
-#ifdef __GNUC__
-int yyparse (void);
-#endif
+/* Define __yy_memcpy. Note that the size argument
+ should be passed with type unsigned int, because that is what the non-GCC
+ definitions require. With GCC, __builtin_memcpy takes an arg
+ of type size_t, but it can handle unsigned int. */
+
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else /* not GNU C or C++ */
@@ -2376,7 +2398,7 @@ static void
__yy_memcpy (to, from, count)
char *to;
char *from;
- int count;
+ unsigned int count;
{
register char *f = from;
register char *t = to;
@@ -2391,10 +2413,10 @@ __yy_memcpy (to, from, count)
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
-__yy_memcpy (char *to, char *from, int count)
+__yy_memcpy (char *to, char *from, unsigned int count)
{
- register char *f = from;
register char *t = to;
+ register char *f = from;
register int i = count;
while (i-- > 0)
@@ -2404,7 +2426,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
-#line 196 "/usr/lib/bison.simple"
+#line 216 "/usr/lib/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
@@ -2425,6 +2447,15 @@ __yy_memcpy (char *to, char *from, int count)
#define YYPARSE_PARAM_DECL
#endif /* not YYPARSE_PARAM */
+/* Prevent warning if -Wstrict-prototypes. */
+#ifdef __GNUC__
+#ifdef YYPARSE_PARAM
+int yyparse (void *);
+#else
+int yyparse (void);
+#endif
+#endif
+
int
yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
@@ -2453,6 +2484,7 @@ yyparse(YYPARSE_PARAM_ARG)
#endif
int yystacksize = YYINITDEPTH;
+ int yyfree_stacks = 0;
#ifdef YYPURE
int yychar;
@@ -2537,18 +2569,32 @@ yynewstate:
if (yystacksize >= YYMAXDEPTH)
{
yyerror("parser stack overflow");
+ if (yyfree_stacks)
+ {
+ free (yyss);
+ free (yyvs);
+#ifdef YYLSP_NEEDED
+ free (yyls);
+#endif
+ }
return 2;
}
yystacksize *= 2;
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
- yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
- __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
- yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
- __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
+#ifndef YYSTACK_USE_ALLOCA
+ yyfree_stacks = 1;
+#endif
+ yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
+ __yy_memcpy ((char *)yyss, (char *)yyss1,
+ size * (unsigned int) sizeof (*yyssp));
+ yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
+ __yy_memcpy ((char *)yyvs, (char *)yyvs1,
+ size * (unsigned int) sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
- yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
- __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
+ yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
+ __yy_memcpy ((char *)yyls, (char *)yyls1,
+ size * (unsigned int) sizeof (*yylsp));
#endif
#endif /* no yyoverflow */
@@ -2709,66 +2755,66 @@ yyreduce:
switch (yyn) {
case 1:
-#line 459 "./parse.y"
+#line 460 "./parse.y"
{;
break;}
case 18:
-#line 503 "./parse.y"
+#line 504 "./parse.y"
{
yyval.node = build_java_array_type (yyvsp[-2].node, -1);
CLASS_LOADED_P (yyval.node) = 1;
;
break;}
case 19:
-#line 508 "./parse.y"
+#line 509 "./parse.y"
{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
break;}
case 20:
-#line 510 "./parse.y"
+#line 511 "./parse.y"
{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
break;}
case 21:
-#line 512 "./parse.y"
+#line 513 "./parse.y"
{RULE ("']' expected"); RECOVER;;
break;}
case 22:
-#line 514 "./parse.y"
+#line 515 "./parse.y"
{RULE ("']' expected"); RECOVER;;
break;}
case 26:
-#line 529 "./parse.y"
+#line 530 "./parse.y"
{ yyval.node = make_qualified_name (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;
break;}
case 28:
-#line 538 "./parse.y"
+#line 539 "./parse.y"
{yyval.node = NULL;;
break;}
case 36:
-#line 550 "./parse.y"
+#line 551 "./parse.y"
{
yyval.node = NULL;
;
break;}
case 37:
-#line 554 "./parse.y"
+#line 555 "./parse.y"
{
yyval.node = NULL;
;
break;}
case 40:
-#line 566 "./parse.y"
+#line 567 "./parse.y"
{ ctxp->package = EXPR_WFL_NODE (yyvsp[-1].node); ;
break;}
case 41:
-#line 568 "./parse.y"
+#line 569 "./parse.y"
{yyerror ("Missing name"); RECOVER;;
break;}
case 42:
-#line 570 "./parse.y"
+#line 571 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 45:
-#line 580 "./parse.y"
+#line 581 "./parse.y"
{
tree name = EXPR_WFL_NODE (yyvsp[-1].node), node, last_name;
int i = IDENTIFIER_LENGTH (name)-1;
@@ -2796,15 +2842,15 @@ case 45:
;
break;}
case 46:
-#line 606 "./parse.y"
+#line 607 "./parse.y"
{yyerror ("Missing name"); RECOVER;;
break;}
case 47:
-#line 608 "./parse.y"
+#line 609 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 48:
-#line 613 "./parse.y"
+#line 614 "./parse.y"
{
tree name = EXPR_WFL_NODE (yyvsp[-3].node);
/* Don't import java.lang.* twice. */
@@ -2818,15 +2864,15 @@ case 48:
;
break;}
case 49:
-#line 625 "./parse.y"
+#line 626 "./parse.y"
{yyerror ("'*' expected"); RECOVER;;
break;}
case 50:
-#line 627 "./parse.y"
+#line 628 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 51:
-#line 632 "./parse.y"
+#line 633 "./parse.y"
{
maybe_generate_finit ();
maybe_generate_clinit ();
@@ -2834,31 +2880,31 @@ case 51:
;
break;}
case 52:
-#line 638 "./parse.y"
+#line 639 "./parse.y"
{
maybe_generate_clinit ();
yyval.node = yyvsp[0].node;
;
break;}
case 53:
-#line 643 "./parse.y"
+#line 644 "./parse.y"
{ yyval.node = NULL; ;
break;}
case 54:
-#line 645 "./parse.y"
+#line 646 "./parse.y"
{
YYERROR_NOW;
yyerror ("Class or interface declaration expected");
;
break;}
case 55:
-#line 656 "./parse.y"
+#line 657 "./parse.y"
{
yyval.value = (1 << yyvsp[0].value);
;
break;}
case 56:
-#line 660 "./parse.y"
+#line 661 "./parse.y"
{
int acc = (1 << yyvsp[0].value);
if (yyval.value & acc)
@@ -2872,95 +2918,95 @@ case 56:
;
break;}
case 57:
-#line 676 "./parse.y"
+#line 677 "./parse.y"
{ create_class (yyvsp[-4].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 58:
-#line 678 "./parse.y"
+#line 679 "./parse.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 59:
-#line 682 "./parse.y"
+#line 683 "./parse.y"
{ create_class (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 60:
-#line 684 "./parse.y"
+#line 685 "./parse.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 61:
-#line 688 "./parse.y"
+#line 689 "./parse.y"
{yyerror ("Missing class name"); RECOVER;;
break;}
case 62:
-#line 690 "./parse.y"
+#line 691 "./parse.y"
{yyerror ("Missing class name"); RECOVER;;
break;}
case 63:
-#line 692 "./parse.y"
+#line 693 "./parse.y"
{
if (!ctxp->class_err) yyerror ("'{' expected");
DRECOVER(class1);
;
break;}
case 64:
-#line 697 "./parse.y"
+#line 698 "./parse.y"
{if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER;;
break;}
case 65:
-#line 701 "./parse.y"
+#line 702 "./parse.y"
{ yyval.node = NULL; ;
break;}
case 66:
-#line 703 "./parse.y"
+#line 704 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 67:
-#line 705 "./parse.y"
+#line 706 "./parse.y"
{yyerror ("'{' expected"); ctxp->class_err=1;;
break;}
case 68:
-#line 707 "./parse.y"
+#line 708 "./parse.y"
{yyerror ("Missing super class name"); ctxp->class_err=1;;
break;}
case 69:
-#line 711 "./parse.y"
+#line 712 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 70:
-#line 713 "./parse.y"
+#line 714 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 71:
-#line 715 "./parse.y"
+#line 716 "./parse.y"
{
ctxp->class_err=1;
yyerror ("Missing interface name");
;
break;}
case 72:
-#line 723 "./parse.y"
+#line 724 "./parse.y"
{
ctxp->interface_number = 1;
yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);
;
break;}
case 73:
-#line 728 "./parse.y"
+#line 729 "./parse.y"
{
ctxp->interface_number++;
yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));
;
break;}
case 74:
-#line 733 "./parse.y"
+#line 734 "./parse.y"
{yyerror ("Missing interface name"); RECOVER;;
break;}
case 75:
-#line 738 "./parse.y"
+#line 739 "./parse.y"
{
/* Store the location of the `}' when doing xrefs */
if (flag_emit_xref)
@@ -2970,7 +3016,7 @@ case 75:
;
break;}
case 76:
-#line 746 "./parse.y"
+#line 747 "./parse.y"
{
/* Store the location of the `}' when doing xrefs */
if (flag_emit_xref)
@@ -2980,27 +3026,27 @@ case 76:
;
break;}
case 82:
-#line 765 "./parse.y"
+#line 766 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("instance initializer"); ;
break;}
case 84:
-#line 771 "./parse.y"
+#line 772 "./parse.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 86:
-#line 774 "./parse.y"
+#line 775 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("inner classe declaration"); ;
break;}
case 87:
-#line 776 "./parse.y"
+#line 777 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("inner interface declaration"); ;
break;}
case 88:
-#line 782 "./parse.y"
+#line 783 "./parse.y"
{ register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ;
break;}
case 89:
-#line 784 "./parse.y"
+#line 785 "./parse.y"
{
check_modifiers
("Illegal modifier `%s' for field declaration",
@@ -3010,19 +3056,19 @@ case 89:
;
break;}
case 91:
-#line 797 "./parse.y"
+#line 798 "./parse.y"
{ yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 92:
-#line 799 "./parse.y"
+#line 800 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 93:
-#line 804 "./parse.y"
+#line 805 "./parse.y"
{ yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ;
break;}
case 94:
-#line 806 "./parse.y"
+#line 807 "./parse.y"
{
if (java_error_count)
yyvsp[0].node = NULL_TREE;
@@ -3031,7 +3077,7 @@ case 94:
;
break;}
case 95:
-#line 813 "./parse.y"
+#line 814 "./parse.y"
{
yyerror ("Missing variable initializer");
yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE);
@@ -3039,7 +3085,7 @@ case 95:
;
break;}
case 96:
-#line 819 "./parse.y"
+#line 820 "./parse.y"
{
yyerror ("';' expected");
yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE);
@@ -3047,85 +3093,85 @@ case 96:
;
break;}
case 98:
-#line 829 "./parse.y"
+#line 830 "./parse.y"
{ yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;
break;}
case 99:
-#line 831 "./parse.y"
+#line 832 "./parse.y"
{yyerror ("Invalid declaration"); DRECOVER(vdi);;
break;}
case 100:
-#line 833 "./parse.y"
+#line 834 "./parse.y"
{yyerror ("']' expected"); DRECOVER(vdi);;
break;}
case 101:
-#line 835 "./parse.y"
+#line 836 "./parse.y"
{yyerror ("Unbalanced ']'"); DRECOVER(vdi);;
break;}
case 104:
-#line 846 "./parse.y"
+#line 847 "./parse.y"
{
current_function_decl = yyvsp[0].node;
source_start_java_method (current_function_decl);
;
break;}
case 105:
-#line 851 "./parse.y"
+#line 852 "./parse.y"
{ finish_method_declaration (yyvsp[0].node); ;
break;}
case 106:
-#line 853 "./parse.y"
+#line 854 "./parse.y"
{YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;
break;}
case 107:
-#line 858 "./parse.y"
+#line 859 "./parse.y"
{ yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 108:
-#line 860 "./parse.y"
+#line 861 "./parse.y"
{ yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 109:
-#line 862 "./parse.y"
+#line 863 "./parse.y"
{ yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 110:
-#line 864 "./parse.y"
+#line 865 "./parse.y"
{ yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 111:
-#line 866 "./parse.y"
+#line 867 "./parse.y"
{RECOVER;;
break;}
case 112:
-#line 868 "./parse.y"
+#line 869 "./parse.y"
{RECOVER;;
break;}
case 113:
-#line 870 "./parse.y"
+#line 871 "./parse.y"
{yyerror ("Identifier expected"); RECOVER;;
break;}
case 114:
-#line 872 "./parse.y"
+#line 873 "./parse.y"
{yyerror ("Identifier expected"); RECOVER;;
break;}
case 115:
-#line 874 "./parse.y"
+#line 875 "./parse.y"
{
yyerror ("Invalid method declaration, return type required");
RECOVER;
;
break;}
case 116:
-#line 882 "./parse.y"
+#line 883 "./parse.y"
{ yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;
break;}
case 117:
-#line 884 "./parse.y"
+#line 885 "./parse.y"
{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 118:
-#line 886 "./parse.y"
+#line 887 "./parse.y"
{
EXPR_WFL_LINECOL (wfl_operator) = yyvsp[-1].operator.location;
TREE_PURPOSE (yyvsp[-2].node) =
@@ -3136,147 +3182,150 @@ case 118:
;
break;}
case 119:
-#line 895 "./parse.y"
+#line 896 "./parse.y"
{yyerror ("')' expected"); DRECOVER(method_declarator);;
break;}
case 120:
-#line 897 "./parse.y"
+#line 898 "./parse.y"
{yyerror ("']' expected"); RECOVER;;
break;}
case 121:
-#line 902 "./parse.y"
+#line 903 "./parse.y"
{
ctxp->formal_parameter_number = 1;
;
break;}
case 122:
-#line 906 "./parse.y"
+#line 907 "./parse.y"
{
ctxp->formal_parameter_number += 1;
yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 123:
-#line 911 "./parse.y"
+#line 912 "./parse.y"
{yyerror ("Missing formal parameter term"); RECOVER;;
break;}
case 124:
-#line 916 "./parse.y"
+#line 917 "./parse.y"
{
yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node);
;
break;}
case 125:
-#line 920 "./parse.y"
-{ yyval.node = parse_jdk1_1_error ("final parameters"); ;
+#line 921 "./parse.y"
+{
+ parse_jdk1_1_error ("final parameters");
+ yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node);
+ ;
break;}
case 126:
-#line 922 "./parse.y"
+#line 926 "./parse.y"
{yyerror ("Missing identifier"); RECOVER;;
break;}
case 127:
-#line 924 "./parse.y"
+#line 928 "./parse.y"
{
SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[-2].value));
yyerror ("Missing identifier"); RECOVER;
;
break;}
case 128:
-#line 931 "./parse.y"
+#line 935 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 129:
-#line 933 "./parse.y"
+#line 937 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 130:
-#line 935 "./parse.y"
+#line 939 "./parse.y"
{yyerror ("Missing class type term"); RECOVER;;
break;}
case 131:
-#line 940 "./parse.y"
+#line 944 "./parse.y"
{ yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ;
break;}
case 132:
-#line 942 "./parse.y"
+#line 946 "./parse.y"
{ yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ;
break;}
case 133:
-#line 944 "./parse.y"
+#line 948 "./parse.y"
{yyerror ("Missing class type term"); RECOVER;;
break;}
case 136:
-#line 951 "./parse.y"
+#line 955 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 137:
-#line 957 "./parse.y"
+#line 961 "./parse.y"
{
TREE_CHAIN (yyvsp[0].node) = ctxp->static_initialized;
ctxp->static_initialized = yyvsp[0].node;
;
break;}
case 138:
-#line 962 "./parse.y"
+#line 966 "./parse.y"
{
TREE_CHAIN (yyvsp[-1].node) = ctxp->static_initialized;
ctxp->static_initialized = yyvsp[-1].node;
;
break;}
case 139:
-#line 970 "./parse.y"
+#line 974 "./parse.y"
{
SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[0].value));
;
break;}
case 140:
-#line 978 "./parse.y"
+#line 982 "./parse.y"
{
current_function_decl = yyvsp[0].node;
source_start_java_method (current_function_decl);
;
break;}
case 141:
-#line 983 "./parse.y"
+#line 987 "./parse.y"
{ finish_method_declaration (yyvsp[0].node); ;
break;}
case 142:
-#line 988 "./parse.y"
+#line 992 "./parse.y"
{ yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 143:
-#line 990 "./parse.y"
+#line 994 "./parse.y"
{ yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 144:
-#line 995 "./parse.y"
+#line 999 "./parse.y"
{ yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;
break;}
case 145:
-#line 997 "./parse.y"
+#line 1001 "./parse.y"
{ yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 146:
-#line 1005 "./parse.y"
+#line 1009 "./parse.y"
{
BLOCK_EXPR_BODY (yyvsp[0].node) = empty_stmt_node;
yyval.node = yyvsp[0].node;
;
break;}
case 147:
-#line 1010 "./parse.y"
+#line 1014 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 148:
-#line 1012 "./parse.y"
+#line 1016 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 149:
-#line 1014 "./parse.y"
+#line 1018 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 152:
-#line 1024 "./parse.y"
+#line 1028 "./parse.y"
{
yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE);
yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node);
@@ -3284,7 +3333,7 @@ case 152:
;
break;}
case 153:
-#line 1030 "./parse.y"
+#line 1034 "./parse.y"
{
yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node);
yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node);
@@ -3292,15 +3341,15 @@ case 153:
;
break;}
case 154:
-#line 1038 "./parse.y"
+#line 1042 "./parse.y"
{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;
break;}
case 155:
-#line 1040 "./parse.y"
+#line 1044 "./parse.y"
{yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;
break;}
case 156:
-#line 1045 "./parse.y"
+#line 1049 "./parse.y"
{
tree wfl = build_wfl_node (this_identifier_node);
EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location;
@@ -3308,7 +3357,7 @@ case 156:
;
break;}
case 157:
-#line 1051 "./parse.y"
+#line 1055 "./parse.y"
{
tree wfl = build_wfl_node (super_identifier_node);
EXPR_WFL_LINECOL (wfl) = yyvsp[0].operator.location;
@@ -3316,133 +3365,133 @@ case 157:
;
break;}
case 158:
-#line 1062 "./parse.y"
+#line 1066 "./parse.y"
{ create_interface (0, yyvsp[0].node, NULL_TREE); ;
break;}
case 159:
-#line 1064 "./parse.y"
+#line 1068 "./parse.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 160:
-#line 1068 "./parse.y"
+#line 1072 "./parse.y"
{ create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ;
break;}
case 161:
-#line 1070 "./parse.y"
+#line 1074 "./parse.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 162:
-#line 1074 "./parse.y"
+#line 1078 "./parse.y"
{ create_interface (0, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 163:
-#line 1076 "./parse.y"
+#line 1080 "./parse.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 164:
-#line 1080 "./parse.y"
+#line 1084 "./parse.y"
{ create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 165:
-#line 1082 "./parse.y"
+#line 1086 "./parse.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 166:
-#line 1086 "./parse.y"
+#line 1090 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 167:
-#line 1088 "./parse.y"
+#line 1092 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 168:
-#line 1093 "./parse.y"
+#line 1097 "./parse.y"
{
ctxp->interface_number = 1;
yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE);
;
break;}
case 169:
-#line 1098 "./parse.y"
+#line 1102 "./parse.y"
{
ctxp->interface_number++;
yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE));
;
break;}
case 170:
-#line 1103 "./parse.y"
+#line 1107 "./parse.y"
{yyerror ("Invalid interface type"); RECOVER;;
break;}
case 171:
-#line 1105 "./parse.y"
+#line 1109 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 172:
-#line 1110 "./parse.y"
+#line 1114 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 173:
-#line 1112 "./parse.y"
+#line 1116 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 178:
-#line 1124 "./parse.y"
+#line 1128 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("inner class declaration"); ;
break;}
case 179:
-#line 1126 "./parse.y"
+#line 1130 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("inner interface declaration"); ;
break;}
case 181:
-#line 1135 "./parse.y"
+#line 1139 "./parse.y"
{
check_abstract_method_header (yyvsp[-1].node);
current_function_decl = NULL_TREE; /* FIXME ? */
;
break;}
case 182:
-#line 1140 "./parse.y"
+#line 1144 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 183:
-#line 1146 "./parse.y"
+#line 1150 "./parse.y"
{ yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ;
break;}
case 184:
-#line 1148 "./parse.y"
+#line 1152 "./parse.y"
{ yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ;
break;}
case 185:
-#line 1150 "./parse.y"
+#line 1154 "./parse.y"
{ yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ;
break;}
case 186:
-#line 1155 "./parse.y"
+#line 1159 "./parse.y"
{
yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node),
yyvsp[0].node, NULL_TREE);
;
break;}
case 187:
-#line 1160 "./parse.y"
+#line 1164 "./parse.y"
{
yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node);
;
break;}
case 188:
-#line 1164 "./parse.y"
+#line 1168 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 189:
-#line 1170 "./parse.y"
+#line 1174 "./parse.y"
{
/* Store the location of the `}' when doing xrefs */
if (current_function_decl && flag_emit_xref)
@@ -3452,15 +3501,15 @@ case 189:
;
break;}
case 190:
-#line 1178 "./parse.y"
+#line 1182 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 191:
-#line 1183 "./parse.y"
+#line 1187 "./parse.y"
{ enter_block (); ;
break;}
case 192:
-#line 1188 "./parse.y"
+#line 1192 "./parse.y"
{
maybe_absorb_scoping_blocks ();
/* Store the location of the `}' when doing xrefs */
@@ -3471,35 +3520,35 @@ case 192:
;
break;}
case 196:
-#line 1206 "./parse.y"
+#line 1210 "./parse.y"
{ java_method_add_stmt (current_function_decl, yyvsp[0].node); ;
break;}
case 197:
-#line 1208 "./parse.y"
+#line 1212 "./parse.y"
{ parse_jdk1_1_error ("inner class declaration"); ;
break;}
case 199:
-#line 1217 "./parse.y"
+#line 1221 "./parse.y"
{ declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 200:
-#line 1219 "./parse.y"
+#line 1223 "./parse.y"
{ declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 206:
-#line 1229 "./parse.y"
+#line 1233 "./parse.y"
{ yyval.node = exit_block (); ;
break;}
case 211:
-#line 1238 "./parse.y"
+#line 1242 "./parse.y"
{ yyval.node = exit_block (); ;
break;}
case 223:
-#line 1257 "./parse.y"
+#line 1261 "./parse.y"
{ yyval.node = empty_stmt_node; ;
break;}
case 224:
-#line 1262 "./parse.y"
+#line 1266 "./parse.y"
{
yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node),
EXPR_WFL_NODE (yyvsp[-1].node));
@@ -3509,19 +3558,19 @@ case 224:
;
break;}
case 225:
-#line 1273 "./parse.y"
+#line 1277 "./parse.y"
{ yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 226:
-#line 1275 "./parse.y"
+#line 1279 "./parse.y"
{yyerror ("':' expected"); RECOVER;;
break;}
case 227:
-#line 1280 "./parse.y"
+#line 1284 "./parse.y"
{ yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 228:
-#line 1287 "./parse.y"
+#line 1291 "./parse.y"
{
/* We have a statement. Generate a WFL around it so
we can debug it */
@@ -3532,7 +3581,7 @@ case 228:
;
break;}
case 229:
-#line 1296 "./parse.y"
+#line 1300 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid expression statement");
@@ -3540,7 +3589,7 @@ case 229:
;
break;}
case 230:
-#line 1302 "./parse.y"
+#line 1306 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid expression statement");
@@ -3548,7 +3597,7 @@ case 230:
;
break;}
case 231:
-#line 1308 "./parse.y"
+#line 1312 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid expression statement");
@@ -3556,11 +3605,11 @@ case 231:
;
break;}
case 232:
-#line 1314 "./parse.y"
+#line 1318 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 233:
-#line 1316 "./parse.y"
+#line 1320 "./parse.y"
{
yyerror ("Constructor invocation must be first "
"thing in a constructor");
@@ -3568,11 +3617,11 @@ case 233:
;
break;}
case 234:
-#line 1322 "./parse.y"
+#line 1326 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 235:
-#line 1324 "./parse.y"
+#line 1328 "./parse.y"
{
yyerror ("Constructor invocation must be first "
"thing in a constructor");
@@ -3580,60 +3629,60 @@ case 235:
;
break;}
case 236:
-#line 1330 "./parse.y"
+#line 1334 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 237:
-#line 1332 "./parse.y"
+#line 1336 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 238:
-#line 1334 "./parse.y"
+#line 1338 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 239:
-#line 1336 "./parse.y"
+#line 1340 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 240:
-#line 1338 "./parse.y"
+#line 1342 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 248:
-#line 1353 "./parse.y"
+#line 1357 "./parse.y"
{
yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node,
yyvsp[0].node, NULL_TREE);
;
break;}
case 249:
-#line 1358 "./parse.y"
+#line 1362 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 250:
-#line 1360 "./parse.y"
+#line 1364 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 251:
-#line 1362 "./parse.y"
+#line 1366 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 252:
-#line 1367 "./parse.y"
+#line 1371 "./parse.y"
{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 253:
-#line 1372 "./parse.y"
+#line 1376 "./parse.y"
{ yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 254:
-#line 1377 "./parse.y"
+#line 1381 "./parse.y"
{
enter_block ();
;
break;}
case 255:
-#line 1381 "./parse.y"
+#line 1385 "./parse.y"
{
/* Make into "proper list" of COMPOUND_EXPRs.
I.e. make the last statment also have its own
@@ -3644,42 +3693,42 @@ case 255:
;
break;}
case 256:
-#line 1393 "./parse.y"
+#line 1397 "./parse.y"
{
yyval.node = build (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE);
EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;
;
break;}
case 257:
-#line 1398 "./parse.y"
+#line 1402 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 258:
-#line 1400 "./parse.y"
+#line 1404 "./parse.y"
{yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;
break;}
case 259:
-#line 1402 "./parse.y"
+#line 1406 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 260:
-#line 1410 "./parse.y"
+#line 1414 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 261:
-#line 1412 "./parse.y"
+#line 1416 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 262:
-#line 1414 "./parse.y"
+#line 1418 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 263:
-#line 1416 "./parse.y"
+#line 1420 "./parse.y"
{ yyval.node = NULL_TREE; ;
break;}
case 269:
-#line 1435 "./parse.y"
+#line 1439 "./parse.y"
{
tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node);
EXPR_WFL_LINECOL (lab) = yyvsp[-2].operator.location;
@@ -3687,7 +3736,7 @@ case 269:
;
break;}
case 270:
-#line 1441 "./parse.y"
+#line 1445 "./parse.y"
{
tree lab = build1 (DEFAULT_EXPR, NULL_TREE, NULL_TREE);
EXPR_WFL_LINECOL (lab) = yyvsp[-1].operator.location;
@@ -3695,61 +3744,61 @@ case 270:
;
break;}
case 271:
-#line 1447 "./parse.y"
+#line 1451 "./parse.y"
{yyerror ("Missing or invalid constant expression"); RECOVER;;
break;}
case 272:
-#line 1449 "./parse.y"
+#line 1453 "./parse.y"
{yyerror ("':' expected"); RECOVER;;
break;}
case 273:
-#line 1451 "./parse.y"
+#line 1455 "./parse.y"
{yyerror ("':' expected"); RECOVER;;
break;}
case 274:
-#line 1456 "./parse.y"
+#line 1460 "./parse.y"
{
tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0);
yyval.node = build_new_loop (body);
;
break;}
case 275:
-#line 1464 "./parse.y"
+#line 1468 "./parse.y"
{ yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;
break;}
case 276:
-#line 1466 "./parse.y"
+#line 1470 "./parse.y"
{YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;
break;}
case 277:
-#line 1468 "./parse.y"
+#line 1472 "./parse.y"
{yyerror ("Missing term and ')' expected"); RECOVER;;
break;}
case 278:
-#line 1470 "./parse.y"
+#line 1474 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 279:
-#line 1475 "./parse.y"
+#line 1479 "./parse.y"
{ yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;
break;}
case 280:
-#line 1480 "./parse.y"
+#line 1484 "./parse.y"
{
tree body = build_loop_body (0, NULL_TREE, 1);
yyval.node = build_new_loop (body);
;
break;}
case 281:
-#line 1489 "./parse.y"
+#line 1493 "./parse.y"
{ yyval.node = finish_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ;
break;}
case 282:
-#line 1494 "./parse.y"
+#line 1498 "./parse.y"
{ yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 283:
-#line 1496 "./parse.y"
+#line 1500 "./parse.y"
{
yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
/* We have not condition, so we get rid of the EXIT_EXPR */
@@ -3758,23 +3807,23 @@ case 283:
;
break;}
case 284:
-#line 1503 "./parse.y"
+#line 1507 "./parse.y"
{yyerror ("Invalid control expression"); RECOVER;;
break;}
case 285:
-#line 1505 "./parse.y"
+#line 1509 "./parse.y"
{yyerror ("Invalid update expression"); RECOVER;;
break;}
case 286:
-#line 1507 "./parse.y"
+#line 1511 "./parse.y"
{yyerror ("Invalid update expression"); RECOVER;;
break;}
case 287:
-#line 1512 "./parse.y"
+#line 1516 "./parse.y"
{ yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);;
break;}
case 288:
-#line 1514 "./parse.y"
+#line 1518 "./parse.y"
{
yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
/* We have not condition, so we get rid of the EXIT_EXPR */
@@ -3783,7 +3832,7 @@ case 288:
;
break;}
case 289:
-#line 1524 "./parse.y"
+#line 1528 "./parse.y"
{
/* This scope defined for local variable that may be
defined within the scope of the for loop */
@@ -3791,15 +3840,15 @@ case 289:
;
break;}
case 290:
-#line 1530 "./parse.y"
+#line 1534 "./parse.y"
{yyerror ("'(' expected"); DRECOVER(for_1);;
break;}
case 291:
-#line 1532 "./parse.y"
+#line 1536 "./parse.y"
{yyerror ("Invalid init statement"); RECOVER;;
break;}
case 292:
-#line 1537 "./parse.y"
+#line 1541 "./parse.y"
{
/* We now declare the loop body. The loop is
declared as a for loop. */
@@ -3812,11 +3861,11 @@ case 292:
;
break;}
case 293:
-#line 1549 "./parse.y"
+#line 1553 "./parse.y"
{ yyval.node = empty_stmt_node; ;
break;}
case 294:
-#line 1551 "./parse.y"
+#line 1555 "./parse.y"
{
/* Init statement recorded within the previously
defined block scope */
@@ -3824,7 +3873,7 @@ case 294:
;
break;}
case 295:
-#line 1557 "./parse.y"
+#line 1561 "./parse.y"
{
/* Local variable are recorded within the previously
defined block scope */
@@ -3832,94 +3881,94 @@ case 295:
;
break;}
case 296:
-#line 1563 "./parse.y"
+#line 1567 "./parse.y"
{yyerror ("';' expected"); DRECOVER(for_init_1);;
break;}
case 297:
-#line 1567 "./parse.y"
+#line 1571 "./parse.y"
{yyval.node = empty_stmt_node;;
break;}
case 298:
-#line 1569 "./parse.y"
+#line 1573 "./parse.y"
{ yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ;
break;}
case 299:
-#line 1574 "./parse.y"
+#line 1578 "./parse.y"
{ yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ;
break;}
case 300:
-#line 1576 "./parse.y"
+#line 1580 "./parse.y"
{ yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ;
break;}
case 301:
-#line 1578 "./parse.y"
+#line 1582 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 302:
-#line 1583 "./parse.y"
+#line 1587 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ;
break;}
case 303:
-#line 1585 "./parse.y"
+#line 1589 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ;
break;}
case 304:
-#line 1587 "./parse.y"
+#line 1591 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 305:
-#line 1589 "./parse.y"
+#line 1593 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 306:
-#line 1594 "./parse.y"
+#line 1598 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ;
break;}
case 307:
-#line 1596 "./parse.y"
+#line 1600 "./parse.y"
{ yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ;
break;}
case 308:
-#line 1598 "./parse.y"
+#line 1602 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 309:
-#line 1600 "./parse.y"
+#line 1604 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 310:
-#line 1605 "./parse.y"
+#line 1609 "./parse.y"
{ yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ;
break;}
case 311:
-#line 1607 "./parse.y"
+#line 1611 "./parse.y"
{ yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ;
break;}
case 312:
-#line 1609 "./parse.y"
+#line 1613 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 313:
-#line 1611 "./parse.y"
+#line 1615 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 314:
-#line 1616 "./parse.y"
+#line 1620 "./parse.y"
{
yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node);
EXPR_WFL_LINECOL (yyval.node) = yyvsp[-2].operator.location;
;
break;}
case 315:
-#line 1621 "./parse.y"
+#line 1625 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 316:
-#line 1623 "./parse.y"
+#line 1627 "./parse.y"
{yyerror ("';' expected"); RECOVER;;
break;}
case 317:
-#line 1628 "./parse.y"
+#line 1632 "./parse.y"
{
yyval.node = build (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node);
EXPR_WFL_LINECOL (yyval.node) =
@@ -3927,56 +3976,56 @@ case 317:
;
break;}
case 318:
-#line 1634 "./parse.y"
+#line 1638 "./parse.y"
{yyerror ("'{' expected"); RECOVER;;
break;}
case 319:
-#line 1636 "./parse.y"
+#line 1640 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 320:
-#line 1638 "./parse.y"
+#line 1642 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 321:
-#line 1640 "./parse.y"
+#line 1644 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 322:
-#line 1645 "./parse.y"
+#line 1649 "./parse.y"
{
if ((1 << yyvsp[0].value) != ACC_SYNCHRONIZED)
fatal ("synchronized was '%d' - yyparse", (1 << yyvsp[0].value));
;
break;}
case 323:
-#line 1653 "./parse.y"
+#line 1657 "./parse.y"
{ yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 324:
-#line 1655 "./parse.y"
+#line 1659 "./parse.y"
{ yyval.node = build_try_finally_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 325:
-#line 1657 "./parse.y"
+#line 1661 "./parse.y"
{ yyval.node = build_try_finally_statement
(yyvsp[-3].operator.location, build_try_statement (yyvsp[-3].operator.location,
yyvsp[-2].node, yyvsp[-1].node), yyvsp[0].node);
;
break;}
case 326:
-#line 1662 "./parse.y"
+#line 1666 "./parse.y"
{yyerror ("'{' expected"); DRECOVER (try_statement);;
break;}
case 328:
-#line 1668 "./parse.y"
+#line 1672 "./parse.y"
{
TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node;
yyval.node = yyvsp[0].node;
;
break;}
case 329:
-#line 1676 "./parse.y"
+#line 1680 "./parse.y"
{
java_method_add_stmt (current_function_decl, yyvsp[0].node);
exit_block ();
@@ -3984,7 +4033,7 @@ case 329:
;
break;}
case 330:
-#line 1684 "./parse.y"
+#line 1688 "./parse.y"
{
/* We add a block to define a scope for
formal_parameter (CCBP). The formal parameter is
@@ -4002,176 +4051,176 @@ case 330:
;
break;}
case 331:
-#line 1700 "./parse.y"
+#line 1704 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 332:
-#line 1702 "./parse.y"
+#line 1706 "./parse.y"
{yyerror ("Missing term or ')' expected"); DRECOVER (2);;
break;}
case 333:
-#line 1704 "./parse.y"
+#line 1708 "./parse.y"
{yyerror ("')' expected"); DRECOVER (1);;
break;}
case 334:
-#line 1709 "./parse.y"
+#line 1713 "./parse.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 335:
-#line 1711 "./parse.y"
+#line 1715 "./parse.y"
{yyerror ("'{' expected"); RECOVER; ;
break;}
case 339:
-#line 1723 "./parse.y"
+#line 1727 "./parse.y"
{ yyval.node = build_this (yyvsp[0].operator.location); ;
break;}
case 340:
-#line 1725 "./parse.y"
+#line 1729 "./parse.y"
{yyval.node = yyvsp[-1].node;;
break;}
case 345:
-#line 1734 "./parse.y"
+#line 1738 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("named class literals"); ;
break;}
case 346:
-#line 1736 "./parse.y"
+#line 1740 "./parse.y"
{ yyval.node = build_class_ref (yyvsp[-2].node); ;
break;}
case 347:
-#line 1738 "./parse.y"
+#line 1742 "./parse.y"
{ yyval.node = build_class_ref (void_type_node); ;
break;}
case 348:
-#line 1743 "./parse.y"
+#line 1747 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("class literals"); ;
break;}
case 349:
-#line 1745 "./parse.y"
+#line 1749 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 350:
-#line 1747 "./parse.y"
+#line 1751 "./parse.y"
{yyerror ("'class' or 'this' expected" ); RECOVER;;
break;}
case 351:
-#line 1749 "./parse.y"
+#line 1753 "./parse.y"
{yyerror ("'class' expected" ); RECOVER;;
break;}
case 352:
-#line 1751 "./parse.y"
+#line 1755 "./parse.y"
{yyerror ("'class' expected" ); RECOVER;;
break;}
case 353:
-#line 1756 "./parse.y"
+#line 1760 "./parse.y"
{ yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 354:
-#line 1758 "./parse.y"
+#line 1762 "./parse.y"
{ yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ;
break;}
case 355:
-#line 1763 "./parse.y"
+#line 1767 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;
break;}
case 356:
-#line 1765 "./parse.y"
+#line 1769 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("inner class instance creation"); ;
break;}
case 361:
-#line 1774 "./parse.y"
+#line 1778 "./parse.y"
{yyerror ("'(' expected"); DRECOVER(new_1);;
break;}
case 362:
-#line 1776 "./parse.y"
+#line 1780 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 363:
-#line 1778 "./parse.y"
+#line 1782 "./parse.y"
{yyerror ("')' or term expected"); RECOVER;;
break;}
case 364:
-#line 1780 "./parse.y"
+#line 1784 "./parse.y"
{yyerror ("')' expected"); RECOVER;;
break;}
case 365:
-#line 1782 "./parse.y"
+#line 1786 "./parse.y"
{YYERROR_NOW; yyerror ("Identifier expected"); RECOVER;;
break;}
case 366:
-#line 1784 "./parse.y"
+#line 1788 "./parse.y"
{yyerror ("'(' expected"); RECOVER;;
break;}
case 369:
-#line 1794 "./parse.y"
+#line 1798 "./parse.y"
{
yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE);
ctxp->formal_parameter_number = 1;
;
break;}
case 370:
-#line 1799 "./parse.y"
+#line 1803 "./parse.y"
{
ctxp->formal_parameter_number += 1;
yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node);
;
break;}
case 371:
-#line 1804 "./parse.y"
+#line 1808 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 372:
-#line 1809 "./parse.y"
+#line 1813 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
break;}
case 373:
-#line 1811 "./parse.y"
+#line 1815 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;
break;}
case 374:
-#line 1813 "./parse.y"
+#line 1817 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
break;}
case 375:
-#line 1815 "./parse.y"
+#line 1819 "./parse.y"
{ yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, CURRENT_OSB (ctxp));;
break;}
case 376:
-#line 1819 "./parse.y"
+#line 1823 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("anonymous array"); ;
break;}
case 377:
-#line 1821 "./parse.y"
+#line 1825 "./parse.y"
{ yyval.node = parse_jdk1_1_error ("anonymous array"); ;
break;}
case 378:
-#line 1823 "./parse.y"
+#line 1827 "./parse.y"
{yyerror ("'[' expected"); DRECOVER ("]");;
break;}
case 379:
-#line 1825 "./parse.y"
+#line 1829 "./parse.y"
{yyerror ("']' expected"); RECOVER;;
break;}
case 380:
-#line 1830 "./parse.y"
+#line 1834 "./parse.y"
{ yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ;
break;}
case 381:
-#line 1832 "./parse.y"
+#line 1836 "./parse.y"
{ yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ;
break;}
case 382:
-#line 1837 "./parse.y"
+#line 1841 "./parse.y"
{
EXPR_WFL_LINECOL (yyvsp[-1].node) = yyvsp[-2].operator.location;
yyval.node = yyvsp[-1].node;
;
break;}
case 383:
-#line 1842 "./parse.y"
+#line 1846 "./parse.y"
{yyerror ("']' expected"); RECOVER;;
break;}
case 384:
-#line 1844 "./parse.y"
+#line 1848 "./parse.y"
{
yyerror ("Missing term");
yyerror ("']' expected");
@@ -4179,7 +4228,7 @@ case 384:
;
break;}
case 385:
-#line 1853 "./parse.y"
+#line 1857 "./parse.y"
{
int allocate = 0;
/* If not initialized, allocate memory for the osb
@@ -4207,19 +4256,19 @@ case 385:
;
break;}
case 386:
-#line 1879 "./parse.y"
+#line 1883 "./parse.y"
{ CURRENT_OSB (ctxp)++; ;
break;}
case 387:
-#line 1881 "./parse.y"
+#line 1885 "./parse.y"
{ yyerror ("']' expected"); RECOVER;;
break;}
case 388:
-#line 1886 "./parse.y"
+#line 1890 "./parse.y"
{ yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;
break;}
case 389:
-#line 1890 "./parse.y"
+#line 1894 "./parse.y"
{
tree super_wfl =
build_wfl_node (super_identifier_node);
@@ -4228,19 +4277,19 @@ case 389:
;
break;}
case 390:
-#line 1897 "./parse.y"
+#line 1901 "./parse.y"
{yyerror ("Field expected"); DRECOVER (super_field_acces);;
break;}
case 391:
-#line 1902 "./parse.y"
+#line 1906 "./parse.y"
{ yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ;
break;}
case 392:
-#line 1904 "./parse.y"
+#line 1908 "./parse.y"
{ yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 393:
-#line 1906 "./parse.y"
+#line 1910 "./parse.y"
{
if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR)
yyval.node = build_this_super_qualified_invocation
@@ -4253,7 +4302,7 @@ case 393:
;
break;}
case 394:
-#line 1917 "./parse.y"
+#line 1921 "./parse.y"
{
if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR)
yyval.node = build_this_super_qualified_invocation
@@ -4266,121 +4315,121 @@ case 394:
;
break;}
case 395:
-#line 1928 "./parse.y"
+#line 1932 "./parse.y"
{
yyval.node = build_this_super_qualified_invocation
(0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location);
;
break;}
case 396:
-#line 1933 "./parse.y"
+#line 1937 "./parse.y"
{
yyval.node = build_this_super_qualified_invocation
(0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location);
;
break;}
case 397:
-#line 1942 "./parse.y"
+#line 1946 "./parse.y"
{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;
break;}
case 398:
-#line 1944 "./parse.y"
+#line 1948 "./parse.y"
{ yyerror ("'(' expected"); DRECOVER (method_invocation); ;
break;}
case 399:
-#line 1949 "./parse.y"
+#line 1953 "./parse.y"
{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 400:
-#line 1951 "./parse.y"
+#line 1955 "./parse.y"
{ yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 401:
-#line 1953 "./parse.y"
+#line 1957 "./parse.y"
{
yyerror ("Missing term and ']' expected");
DRECOVER(array_access);
;
break;}
case 402:
-#line 1958 "./parse.y"
+#line 1962 "./parse.y"
{
yyerror ("']' expected");
DRECOVER(array_access);
;
break;}
case 403:
-#line 1963 "./parse.y"
+#line 1967 "./parse.y"
{
yyerror ("Missing term and ']' expected");
DRECOVER(array_access);
;
break;}
case 404:
-#line 1968 "./parse.y"
+#line 1972 "./parse.y"
{
yyerror ("']' expected");
DRECOVER(array_access);
;
break;}
case 409:
-#line 1983 "./parse.y"
+#line 1987 "./parse.y"
{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
break;}
case 410:
-#line 1988 "./parse.y"
+#line 1992 "./parse.y"
{ yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;
break;}
case 413:
-#line 1995 "./parse.y"
+#line 1999 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 414:
-#line 1997 "./parse.y"
+#line 2001 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 416:
-#line 2000 "./parse.y"
+#line 2004 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 417:
-#line 2002 "./parse.y"
+#line 2006 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 418:
-#line 2007 "./parse.y"
+#line 2011 "./parse.y"
{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
break;}
case 419:
-#line 2009 "./parse.y"
+#line 2013 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 420:
-#line 2014 "./parse.y"
+#line 2018 "./parse.y"
{yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;
break;}
case 421:
-#line 2016 "./parse.y"
+#line 2020 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 423:
-#line 2022 "./parse.y"
+#line 2026 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 424:
-#line 2024 "./parse.y"
+#line 2028 "./parse.y"
{yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;
break;}
case 426:
-#line 2027 "./parse.y"
+#line 2031 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 427:
-#line 2029 "./parse.y"
+#line 2033 "./parse.y"
{yyerror ("Missing term"); RECOVER;
break;}
case 428:
-#line 2034 "./parse.y"
+#line 2038 "./parse.y"
{
tree type = yyvsp[-3].node;
while (CURRENT_OSB (ctxp)--)
@@ -4390,15 +4439,15 @@ case 428:
;
break;}
case 429:
-#line 2042 "./parse.y"
+#line 2046 "./parse.y"
{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 430:
-#line 2044 "./parse.y"
+#line 2048 "./parse.y"
{ yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 431:
-#line 2046 "./parse.y"
+#line 2050 "./parse.y"
{
char *ptr;
while (CURRENT_OSB (ctxp)--)
@@ -4413,11 +4462,11 @@ case 431:
;
break;}
case 432:
-#line 2059 "./parse.y"
+#line 2063 "./parse.y"
{yyerror ("']' expected, invalid type expression");;
break;}
case 433:
-#line 2061 "./parse.y"
+#line 2065 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Invalid type expression"); RECOVER;
@@ -4425,243 +4474,243 @@ case 433:
;
break;}
case 434:
-#line 2067 "./parse.y"
+#line 2071 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 435:
-#line 2069 "./parse.y"
+#line 2073 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 436:
-#line 2071 "./parse.y"
+#line 2075 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 438:
-#line 2077 "./parse.y"
+#line 2081 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token),
yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 439:
-#line 2082 "./parse.y"
+#line 2086 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 440:
-#line 2087 "./parse.y"
+#line 2091 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 441:
-#line 2092 "./parse.y"
+#line 2096 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 442:
-#line 2094 "./parse.y"
+#line 2098 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 443:
-#line 2096 "./parse.y"
+#line 2100 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 445:
-#line 2102 "./parse.y"
+#line 2106 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 446:
-#line 2107 "./parse.y"
+#line 2111 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 447:
-#line 2112 "./parse.y"
+#line 2116 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 448:
-#line 2114 "./parse.y"
+#line 2118 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 450:
-#line 2120 "./parse.y"
+#line 2124 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 451:
-#line 2125 "./parse.y"
+#line 2129 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 452:
-#line 2130 "./parse.y"
+#line 2134 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 453:
-#line 2135 "./parse.y"
+#line 2139 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 454:
-#line 2137 "./parse.y"
+#line 2141 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 455:
-#line 2139 "./parse.y"
+#line 2143 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 457:
-#line 2145 "./parse.y"
+#line 2149 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 458:
-#line 2150 "./parse.y"
+#line 2154 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 459:
-#line 2155 "./parse.y"
+#line 2159 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 460:
-#line 2160 "./parse.y"
+#line 2164 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 461:
-#line 2165 "./parse.y"
+#line 2169 "./parse.y"
{ yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 462:
-#line 2167 "./parse.y"
+#line 2171 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 463:
-#line 2169 "./parse.y"
+#line 2173 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 464:
-#line 2171 "./parse.y"
+#line 2175 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 465:
-#line 2173 "./parse.y"
+#line 2177 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 466:
-#line 2175 "./parse.y"
+#line 2179 "./parse.y"
{yyerror ("Invalid reference type"); RECOVER;;
break;}
case 468:
-#line 2181 "./parse.y"
+#line 2185 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 469:
-#line 2186 "./parse.y"
+#line 2190 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 470:
-#line 2191 "./parse.y"
+#line 2195 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 471:
-#line 2193 "./parse.y"
+#line 2197 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 473:
-#line 2199 "./parse.y"
+#line 2203 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 474:
-#line 2204 "./parse.y"
+#line 2208 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 476:
-#line 2210 "./parse.y"
+#line 2214 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 477:
-#line 2215 "./parse.y"
+#line 2219 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 479:
-#line 2221 "./parse.y"
+#line 2225 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 480:
-#line 2226 "./parse.y"
+#line 2230 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 482:
-#line 2232 "./parse.y"
+#line 2236 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 483:
-#line 2237 "./parse.y"
+#line 2241 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 485:
-#line 2243 "./parse.y"
+#line 2247 "./parse.y"
{
yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location,
yyvsp[-2].node, yyvsp[0].node);
;
break;}
case 486:
-#line 2248 "./parse.y"
+#line 2252 "./parse.y"
{yyerror ("Missing term"); RECOVER;;
break;}
case 488:
-#line 2254 "./parse.y"
+#line 2258 "./parse.y"
{
yyval.node = build (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);
EXPR_WFL_LINECOL (yyval.node) = yyvsp[-3].operator.location;
;
break;}
case 489:
-#line 2259 "./parse.y"
+#line 2263 "./parse.y"
{
YYERROR_NOW;
yyerror ("Missing term");
@@ -4669,19 +4718,19 @@ case 489:
;
break;}
case 490:
-#line 2265 "./parse.y"
+#line 2269 "./parse.y"
{yyerror ("Missing term"); DRECOVER (2);;
break;}
case 491:
-#line 2267 "./parse.y"
+#line 2271 "./parse.y"
{yyerror ("Missing term"); DRECOVER (3);;
break;}
case 494:
-#line 2277 "./parse.y"
+#line 2281 "./parse.y"
{ yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 495:
-#line 2279 "./parse.y"
+#line 2283 "./parse.y"
{
if (ctxp->prevent_ese != lineno)
yyerror ("Missing term");
@@ -4690,7 +4739,7 @@ case 495:
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 498 "/usr/lib/bison.simple"
+#line 542 "/usr/lib/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
@@ -4885,8 +4934,32 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
+
+ yyacceptlab:
+ /* YYACCEPT comes here. */
+ if (yyfree_stacks)
+ {
+ free (yyss);
+ free (yyvs);
+#ifdef YYLSP_NEEDED
+ free (yyls);
+#endif
+ }
+ return 0;
+
+ yyabortlab:
+ /* YYABORT comes here. */
+ if (yyfree_stacks)
+ {
+ free (yyss);
+ free (yyvs);
+#ifdef YYLSP_NEEDED
+ free (yyls);
+#endif
+ }
+ return 1;
}
-#line 2305 "./parse.y"
+#line 2309 "./parse.y"
@@ -5663,7 +5736,7 @@ lookup_field_wrapper (class, name)
java_parser_context_save_global ();
decl = lookup_field (&type, name);
java_parser_context_restore_global ();
- return decl;
+ return decl == error_mark_node ? NULL : decl;
}
/* Find duplicate field within the same class declarations and report
@@ -5796,7 +5869,6 @@ register_fields (flags, type, variable_list)
appropriately. */
TREE_CHAIN (init) = ctxp->static_initialized;
ctxp->static_initialized = init;
- DECL_INITIAL (field_decl) = TREE_OPERAND (init, 1);
if (TREE_OPERAND (init, 1)
&& TREE_CODE (TREE_OPERAND (init, 1)) == NEW_ARRAY_INIT)
TREE_STATIC (TREE_OPERAND (init, 1)) = 1;
@@ -5810,6 +5882,7 @@ register_fields (flags, type, variable_list)
ctxp->non_static_initialized = init;
}
MODIFY_EXPR_FROM_INITIALIZATION_P (init) = 1;
+ DECL_INITIAL (field_decl) = TREE_OPERAND (init, 1);
}
}
lineno = saved_lineno;
@@ -5850,7 +5923,6 @@ static void
maybe_generate_clinit ()
{
tree mdecl, c;
- int has_non_primitive_fields = 0;
if (!ctxp->static_initialized || java_error_count)
return;
@@ -6102,6 +6174,35 @@ static void
finish_method_declaration (method_body)
tree method_body;
{
+ int flags = get_access_flags_from_decl (current_function_decl);
+
+ /* 8.4.5 Method Body */
+ if ((flags & ACC_ABSTRACT || flags & ACC_NATIVE) && method_body)
+ {
+ tree wfl = DECL_NAME (current_function_decl);
+ parse_error_context (wfl,
+ "%s method `%s' can't have a body defined",
+ (METHOD_NATIVE (current_function_decl) ?
+ "Native" : "Abstract"),
+ IDENTIFIER_POINTER (EXPR_WFL_NODE (wfl)));
+ method_body = NULL_TREE;
+ }
+ else if (!(flags & ACC_ABSTRACT) && !(flags & ACC_NATIVE) && !method_body)
+ {
+ tree wfl = DECL_NAME (current_function_decl);
+ parse_error_context (wfl,
+ "Non native and non abstract method `%s' must "
+ "have a body defined",
+ IDENTIFIER_POINTER (EXPR_WFL_NODE (wfl)));
+ method_body = NULL_TREE;
+ }
+
+ if (flag_emit_class_files && method_body
+ && TREE_CODE (method_body) == NOP_EXPR
+ && TREE_TYPE (current_function_decl)
+ && TREE_TYPE (TREE_TYPE (current_function_decl)) == void_type_node)
+ method_body = build1 (RETURN_EXPR, void_type_node, NULL);
+
BLOCK_EXPR_BODY (DECL_FUNCTION_BODY (current_function_decl)) = method_body;
maybe_absorb_scoping_blocks ();
/* Exit function's body */
@@ -7596,7 +7697,7 @@ note_possible_classname (name, len)
return 0;
node = ident_subst (name, len, "", '/', '.', "");
IS_A_CLASSFILE_NAME (node) = 1; /* Or soon to be */
- QUALIFIED_P (node) = 1; /* As soon as we turn / into . */
+ QUALIFIED_P (node) = strchr (name, '/') ? 1 : 0;
return 1;
}
@@ -7735,9 +7836,9 @@ static int
find_in_imports_on_demand (class_type)
tree class_type;
{
- tree node, import, node_to_use;
+ tree node, import, node_to_use = NULL_TREE;
int seen_once = -1;
- tree cl;
+ tree cl = NULL_TREE;
for (import = ctxp->import_demand_list; import; import = TREE_CHAIN (import))
{
@@ -7797,6 +7898,7 @@ static tree
resolve_package (pkg, next)
tree pkg, *next;
{
+ tree current;
tree type_name = NULL_TREE;
char *name = IDENTIFIER_POINTER (EXPR_WFL_NODE (pkg));
@@ -7816,9 +7918,63 @@ resolve_package (pkg, next)
*next = TREE_CHAIN (TREE_CHAIN (EXPR_WFL_QUALIFICATION (pkg)));
type_name = lookup_package_type (name, 9);
}
- else
- return NULL_TREE; /* FIXME, search all imported packages. */
+ /* If we found something here, return */
+ if (type_name)
+ return type_name;
+
+ *next = EXPR_WFL_QUALIFICATION (pkg);
+
+ /* Try the current package. */
+ if (ctxp->package && !strncmp (name, IDENTIFIER_POINTER (ctxp->package),
+ IDENTIFIER_LENGTH (ctxp->package)))
+ {
+ type_name =
+ lookup_package_type_and_set_next (name,
+ IDENTIFIER_LENGTH (ctxp->package),
+ next );
+ if (type_name)
+ return type_name;
+ }
+
+ /* Search in imported package */
+ for (current = ctxp->import_list; current; current = TREE_CHAIN (current))
+ {
+ tree current_pkg_name = EXPR_WFL_NODE (TREE_PURPOSE (current));
+ int len = IDENTIFIER_LENGTH (current_pkg_name);
+ if (!strncmp (name, IDENTIFIER_POINTER (current_pkg_name), len))
+ {
+ tree left, dummy;
+
+ breakdown_qualified (&left, &dummy, current_pkg_name);
+ len = IDENTIFIER_LENGTH (left);
+ type_name = lookup_package_type_and_set_next (name, len, next);
+ if (type_name)
+ break;
+ }
+ }
+
+ return type_name;
+}
+
+static tree
+lookup_package_type_and_set_next (name, len, next)
+ char *name;
+ int len;
+ tree *next;
+{
+ char *ptr;
+ tree type_name = lookup_package_type (name, len);
+
+ if (!type_name)
+ return NULL;
+
+ ptr = IDENTIFIER_POINTER (type_name);
+ while (ptr && (ptr = strchr (ptr, '.')))
+ {
+ *next = TREE_CHAIN (*next);
+ ptr++;
+ }
return type_name;
}
@@ -8871,6 +9027,8 @@ resolve_field_access (qual_wfl, field_decl, field_type)
&& TREE_CODE (where_found) != RECORD_TYPE)
{
tree type = QUAL_DECL_TYPE (field_ref);
+ if (TREE_CODE (type) == RECORD_TYPE)
+ type = build_pointer_type (type);
field_ref = build (COMPOUND_EXPR, type, where_found, field_ref);
}
}
@@ -9430,18 +9588,36 @@ patch_method_invocation (patch, primary, where, is_static, ret_decl)
as a MethodName. We need to qualify what's before */
qualify_ambiguous_name (wfl);
- /* Package resolution are erroneous */
+ /* Package resolution */
if (RESOLVE_PACKAGE_NAME_P (wfl))
{
- tree remainder;
- breakdown_qualified (&remainder, NULL, EXPR_WFL_NODE (wfl));
- parse_error_context (wfl, "Can't search method `%s' in package "
- "`%s'",IDENTIFIER_POINTER (identifier),
- IDENTIFIER_POINTER (remainder));
- PATCH_METHOD_RETURN_ERROR ();
+ tree next, decl, name = resolve_package (wfl, &next);
+
+ if (!name)
+ {
+ tree remainder;
+ breakdown_qualified (&remainder, NULL, EXPR_WFL_NODE (wfl));
+ parse_error_context (wfl, "Can't search method `%s' in package "
+ "`%s'",IDENTIFIER_POINTER (identifier),
+ IDENTIFIER_POINTER (remainder));
+ PATCH_METHOD_RETURN_ERROR ();
+ }
+ RESOLVE_PACKAGE_NAME_P (wfl) = 0;
+ if ((decl = resolve_no_layout (name, QUAL_WFL (next))))
+ {
+ QUAL_RESOLUTION (EXPR_WFL_QUALIFICATION (wfl)) = decl;
+ RESOLVE_EXPRESSION_NAME_P (wfl) = 0;
+ RESOLVE_TYPE_NAME_P (wfl) = 1;
+ }
+ else
+ {
+ RESOLVE_EXPRESSION_NAME_P (wfl) = 1;
+ RESOLVE_TYPE_NAME_P (wfl) = 0;
+ }
}
+
/* We're resolving a call from a type */
- else if (RESOLVE_TYPE_NAME_P (wfl))
+ if (RESOLVE_TYPE_NAME_P (wfl))
{
tree decl = QUAL_RESOLUTION (EXPR_WFL_QUALIFICATION (wfl));
tree name = DECL_NAME (decl);
@@ -10086,6 +10262,7 @@ qualify_ambiguous_name (id)
{
tree qual, qual_wfl, name, decl, ptr_type, saved_current_class;
int again, super_found = 0, this_found = 0, new_array_found = 0;
+ int code;
/* We first qualify the first element, then derive qualification of
others based on the first one. If the first element is qualified
@@ -10115,7 +10292,7 @@ qualify_ambiguous_name (id)
break;
case NEW_ARRAY_EXPR:
qual = TREE_CHAIN (qual);
- new_array_found = again = 1;
+ new_array_found = 1;
continue;
case NEW_CLASS_EXPR:
case CONVERT_EXPR:
@@ -10125,13 +10302,41 @@ qualify_ambiguous_name (id)
while (TREE_CODE (qual_wfl) == ARRAY_REF)
qual_wfl = TREE_OPERAND (qual_wfl, 0);
break;
+ case STRING_CST:
+ qual = TREE_CHAIN (qual);
+ qual_wfl = QUAL_WFL (qual);
+ break;
default:
/* Fix for -Wall. Just break doing nothing */
break;
}
- name = EXPR_WFL_NODE (qual_wfl);
+
ptr_type = current_class;
again = 0;
+ code = TREE_CODE (qual_wfl);
+
+ /* Pos evaluation: non WFL leading expression nodes */
+ if (code == CONVERT_EXPR
+ && TREE_CODE (TREE_TYPE (qual_wfl)) == EXPR_WITH_FILE_LOCATION)
+ name = EXPR_WFL_NODE (TREE_TYPE (qual_wfl));
+
+ else if (code == ARRAY_REF &&
+ TREE_CODE (TREE_OPERAND (qual_wfl, 0)) == EXPR_WITH_FILE_LOCATION)
+ name = EXPR_WFL_NODE (TREE_OPERAND (qual_wfl, 0));
+
+ else if (code == CALL_EXPR &&
+ TREE_CODE (TREE_OPERAND (qual_wfl, 0)) == EXPR_WITH_FILE_LOCATION)
+ name = EXPR_WFL_NODE (TREE_OPERAND (qual_wfl, 0));
+
+ else if (code == STRING_CST || code == CONDITIONAL_EXPR)
+ {
+ qual = TREE_CHAIN (qual);
+ qual_wfl = QUAL_WFL (qual);
+ again = 1;
+ }
+ else
+ name = EXPR_WFL_NODE (qual_wfl);
+
/* If we have a THIS (from a primary), we set the context accordingly */
if (name == this_identifier_node)
{
@@ -10159,16 +10364,6 @@ qualify_ambiguous_name (id)
/* Do one more interation to set things up */
super_found = again = 1;
}
- /* Loop one more time if we're dealing with ?: or a string
- constant, or a convert expression */
- if (TREE_CODE (qual_wfl) == CONDITIONAL_EXPR
- || TREE_CODE (qual_wfl) == STRING_CST
- || TREE_CODE (qual_wfl) == CONVERT_EXPR)
- {
- qual = TREE_CHAIN (qual);
- qual_wfl = QUAL_WFL (qual);
- again = 1;
- }
} while (again);
/* If name appears within the scope of a location variable
@@ -10208,7 +10403,8 @@ qualify_ambiguous_name (id)
/* Method call are expression name */
else if (TREE_CODE (QUAL_WFL (qual)) == CALL_EXPR
- || TREE_CODE (QUAL_WFL (qual)) == ARRAY_REF)
+ || TREE_CODE (QUAL_WFL (qual)) == ARRAY_REF
+ || TREE_CODE (QUAL_WFL (qual)) == CONVERT_EXPR)
RESOLVE_EXPRESSION_NAME_P (qual_wfl) = 1;
/* Check here that NAME isn't declared by more than one
@@ -10480,8 +10676,15 @@ java_complete_lhs (node)
if (cn == error_mark_node)
return cn;
- /* First, the case expression must be constant */
+ /* First, the case expression must be constant. Values of final
+ fields are accepted. */
cn = fold (cn);
+ if ((TREE_CODE (cn) == COMPOUND_EXPR || TREE_CODE (cn) == COMPONENT_REF)
+ && JDECL_P (TREE_OPERAND (cn, 1))
+ && FIELD_FINAL (TREE_OPERAND (cn, 1))
+ && DECL_INITIAL (TREE_OPERAND (cn, 1)))
+ cn = fold_constant_for_init (DECL_INITIAL (TREE_OPERAND (cn, 1)),
+ TREE_OPERAND (cn, 1));
if (!TREE_CONSTANT (cn) && !flag_emit_xref)
{
@@ -10638,7 +10841,7 @@ java_complete_lhs (node)
return node;
/* Keep line number information somewhere were it doesn't
disrupt the completion process. */
- if (flag_emit_xref)
+ if (flag_emit_xref && TREE_CODE (node) != CALL_EXPR)
{
EXPR_WFL_NODE (wfl) = TREE_OPERAND (node, 1);
TREE_OPERAND (node, 1) = wfl;
@@ -11407,6 +11610,7 @@ patch_assignment (node, wfl_op1, wfl_op2)
}
/* Build the invocation of _Jv_CheckArrayStore */
+ new_rhs = save_expr (new_rhs);
check = build (CALL_EXPR, void_type_node,
build_address_of (soft_checkarraystore_node),
tree_cons (NULL_TREE, base,
@@ -11650,7 +11854,8 @@ valid_ref_assignconv_cast_p (source, dest, cast)
return source == dest || interface_of_p (dest, source);
}
else /* Array */
- return 0;
+ return (cast ?
+ (DECL_NAME (TYPE_NAME (source)) == java_lang_cloneable) : 0);
}
if (TYPE_ARRAY_P (source))
{
@@ -11811,7 +12016,7 @@ patch_binop (node, wfl_op1, wfl_op2)
tree op2 = TREE_OPERAND (node, 1);
tree op1_type = TREE_TYPE (op1);
tree op2_type = TREE_TYPE (op2);
- tree prom_type;
+ tree prom_type = NULL_TREE;
int code = TREE_CODE (node);
/* If 1, tell the routine that we have to return error_mark_node
@@ -12437,7 +12642,7 @@ patch_unaryop (node, wfl_op)
{
tree op = TREE_OPERAND (node, 0);
tree op_type = TREE_TYPE (op);
- tree prom_type, value, decl;
+ tree prom_type = NULL_TREE, value, decl;
int code = TREE_CODE (node);
int error_found = 0;
@@ -14017,7 +14222,7 @@ patch_conditional_expr (node, wfl_cond, wfl_op1)
/* Otherwise, binary numeric promotion is applied and the
resulting type is the promoted type of operand 1 and 2 */
else
- resulting_type = binary_numeric_promotion (t2, t2,
+ resulting_type = binary_numeric_promotion (t1, t2,
&TREE_OPERAND (node, 1),
&TREE_OPERAND (node, 2));
}
@@ -14074,9 +14279,12 @@ fold_constant_for_init (node, context)
tree op0, op1, val;
enum tree_code code = TREE_CODE (node);
- if (code == INTEGER_CST || code == REAL_CST || code == STRING_CST)
+ if (code == STRING_CST)
return node;
- if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL)
+
+ if (code == INTEGER_CST || code == REAL_CST)
+ return convert (TREE_TYPE (context), node);
+ if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL && code != FIELD_DECL)
return NULL_TREE;
switch (code)
@@ -14142,7 +14350,8 @@ fold_constant_for_init (node, context)
: TREE_OPERAND (node, 2);
case VAR_DECL:
- if (! FIELD_STATIC (node) || ! FIELD_FINAL (node)
+ case FIELD_DECL:
+ if (! FIELD_FINAL (node)
|| DECL_INITIAL (node) == NULL_TREE)
return NULL_TREE;
val = DECL_INITIAL (node);
@@ -14164,19 +14373,18 @@ fold_constant_for_init (node, context)
else if (! QUALIFIED_P (name))
{
decl = lookup_field_wrapper (DECL_CONTEXT (context), name);
- if (decl == NULL_TREE || ! FIELD_STATIC (decl))
+ if (decl == NULL_TREE
+ || (! FIELD_STATIC (decl) && ! FIELD_FINAL (decl)))
return NULL_TREE;
return fold_constant_for_init (decl, decl);
}
else
{
-#if 0
/* Wait until the USE_COMPONENT_REF re-write. FIXME. */
qualify_ambiguous_name (node);
if (resolve_field_access (node, &decl, NULL)
&& decl != NULL_TREE)
return fold_constant_for_init (decl, decl);
-#endif
return NULL_TREE;
}
}
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 3013c762e44..8abd4a7c079 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -100,6 +100,7 @@ static int find_in_imports PROTO ((tree));
static int check_pkg_class_access PROTO ((tree, tree));
static tree resolve_package PROTO ((tree, tree *));
static tree lookup_package_type PROTO ((char *, int));
+static tree lookup_package_type_and_set_next PROTO ((char *, int, tree *));
static tree resolve_class PROTO ((tree, tree, tree));
static void declare_local_variables PROTO ((int, tree, tree));
static void source_start_java_method PROTO ((tree));
@@ -917,7 +918,10 @@ formal_parameter:
$$ = build_tree_list ($2, $1);
}
| modifiers type variable_declarator_id /* Added, JDK1.1 final parms */
- { $$ = parse_jdk1_1_error ("final parameters"); }
+ {
+ parse_jdk1_1_error ("final parameters");
+ $$ = build_tree_list ($3, $2);
+ }
| type error
{yyerror ("Missing identifier"); RECOVER;}
| modifiers type error
@@ -3078,7 +3082,7 @@ lookup_field_wrapper (class, name)
java_parser_context_save_global ();
decl = lookup_field (&type, name);
java_parser_context_restore_global ();
- return decl;
+ return decl == error_mark_node ? NULL : decl;
}
/* Find duplicate field within the same class declarations and report
@@ -3211,7 +3215,6 @@ register_fields (flags, type, variable_list)
appropriately. */
TREE_CHAIN (init) = ctxp->static_initialized;
ctxp->static_initialized = init;
- DECL_INITIAL (field_decl) = TREE_OPERAND (init, 1);
if (TREE_OPERAND (init, 1)
&& TREE_CODE (TREE_OPERAND (init, 1)) == NEW_ARRAY_INIT)
TREE_STATIC (TREE_OPERAND (init, 1)) = 1;
@@ -3225,6 +3228,7 @@ register_fields (flags, type, variable_list)
ctxp->non_static_initialized = init;
}
MODIFY_EXPR_FROM_INITIALIZATION_P (init) = 1;
+ DECL_INITIAL (field_decl) = TREE_OPERAND (init, 1);
}
}
lineno = saved_lineno;
@@ -3265,7 +3269,6 @@ static void
maybe_generate_clinit ()
{
tree mdecl, c;
- int has_non_primitive_fields = 0;
if (!ctxp->static_initialized || java_error_count)
return;
@@ -3517,6 +3520,35 @@ static void
finish_method_declaration (method_body)
tree method_body;
{
+ int flags = get_access_flags_from_decl (current_function_decl);
+
+ /* 8.4.5 Method Body */
+ if ((flags & ACC_ABSTRACT || flags & ACC_NATIVE) && method_body)
+ {
+ tree wfl = DECL_NAME (current_function_decl);
+ parse_error_context (wfl,
+ "%s method `%s' can't have a body defined",
+ (METHOD_NATIVE (current_function_decl) ?
+ "Native" : "Abstract"),
+ IDENTIFIER_POINTER (EXPR_WFL_NODE (wfl)));
+ method_body = NULL_TREE;
+ }
+ else if (!(flags & ACC_ABSTRACT) && !(flags & ACC_NATIVE) && !method_body)
+ {
+ tree wfl = DECL_NAME (current_function_decl);
+ parse_error_context (wfl,
+ "Non native and non abstract method `%s' must "
+ "have a body defined",
+ IDENTIFIER_POINTER (EXPR_WFL_NODE (wfl)));
+ method_body = NULL_TREE;
+ }
+
+ if (flag_emit_class_files && method_body
+ && TREE_CODE (method_body) == NOP_EXPR
+ && TREE_TYPE (current_function_decl)
+ && TREE_TYPE (TREE_TYPE (current_function_decl)) == void_type_node)
+ method_body = build1 (RETURN_EXPR, void_type_node, NULL);
+
BLOCK_EXPR_BODY (DECL_FUNCTION_BODY (current_function_decl)) = method_body;
maybe_absorb_scoping_blocks ();
/* Exit function's body */
@@ -5011,7 +5043,7 @@ note_possible_classname (name, len)
return 0;
node = ident_subst (name, len, "", '/', '.', "");
IS_A_CLASSFILE_NAME (node) = 1; /* Or soon to be */
- QUALIFIED_P (node) = 1; /* As soon as we turn / into . */
+ QUALIFIED_P (node) = strchr (name, '/') ? 1 : 0;
return 1;
}
@@ -5150,9 +5182,9 @@ static int
find_in_imports_on_demand (class_type)
tree class_type;
{
- tree node, import, node_to_use;
+ tree node, import, node_to_use = NULL_TREE;
int seen_once = -1;
- tree cl;
+ tree cl = NULL_TREE;
for (import = ctxp->import_demand_list; import; import = TREE_CHAIN (import))
{
@@ -5212,6 +5244,7 @@ static tree
resolve_package (pkg, next)
tree pkg, *next;
{
+ tree current;
tree type_name = NULL_TREE;
char *name = IDENTIFIER_POINTER (EXPR_WFL_NODE (pkg));
@@ -5231,13 +5264,67 @@ resolve_package (pkg, next)
*next = TREE_CHAIN (TREE_CHAIN (EXPR_WFL_QUALIFICATION (pkg)));
type_name = lookup_package_type (name, 9);
}
- else
- return NULL_TREE; /* FIXME, search all imported packages. */
+
+ /* If we found something here, return */
+ if (type_name)
+ return type_name;
+
+ *next = EXPR_WFL_QUALIFICATION (pkg);
+
+ /* Try the current package. */
+ if (ctxp->package && !strncmp (name, IDENTIFIER_POINTER (ctxp->package),
+ IDENTIFIER_LENGTH (ctxp->package)))
+ {
+ type_name =
+ lookup_package_type_and_set_next (name,
+ IDENTIFIER_LENGTH (ctxp->package),
+ next );
+ if (type_name)
+ return type_name;
+ }
+
+ /* Search in imported package */
+ for (current = ctxp->import_list; current; current = TREE_CHAIN (current))
+ {
+ tree current_pkg_name = EXPR_WFL_NODE (TREE_PURPOSE (current));
+ int len = IDENTIFIER_LENGTH (current_pkg_name);
+ if (!strncmp (name, IDENTIFIER_POINTER (current_pkg_name), len))
+ {
+ tree left, dummy;
+
+ breakdown_qualified (&left, &dummy, current_pkg_name);
+ len = IDENTIFIER_LENGTH (left);
+ type_name = lookup_package_type_and_set_next (name, len, next);
+ if (type_name)
+ break;
+ }
+ }
return type_name;
}
static tree
+lookup_package_type_and_set_next (name, len, next)
+ char *name;
+ int len;
+ tree *next;
+{
+ char *ptr;
+ tree type_name = lookup_package_type (name, len);
+
+ if (!type_name)
+ return NULL;
+
+ ptr = IDENTIFIER_POINTER (type_name);
+ while (ptr && (ptr = strchr (ptr, '.')))
+ {
+ *next = TREE_CHAIN (*next);
+ ptr++;
+ }
+ return type_name;
+}
+
+static tree
lookup_package_type (name, from)
char *name;
int from;
@@ -6286,6 +6373,8 @@ resolve_field_access (qual_wfl, field_decl, field_type)
&& TREE_CODE (where_found) != RECORD_TYPE)
{
tree type = QUAL_DECL_TYPE (field_ref);
+ if (TREE_CODE (type) == RECORD_TYPE)
+ type = build_pointer_type (type);
field_ref = build (COMPOUND_EXPR, type, where_found, field_ref);
}
}
@@ -6845,18 +6934,36 @@ patch_method_invocation (patch, primary, where, is_static, ret_decl)
as a MethodName. We need to qualify what's before */
qualify_ambiguous_name (wfl);
- /* Package resolution are erroneous */
+ /* Package resolution */
if (RESOLVE_PACKAGE_NAME_P (wfl))
{
- tree remainder;
- breakdown_qualified (&remainder, NULL, EXPR_WFL_NODE (wfl));
- parse_error_context (wfl, "Can't search method `%s' in package "
- "`%s'",IDENTIFIER_POINTER (identifier),
- IDENTIFIER_POINTER (remainder));
- PATCH_METHOD_RETURN_ERROR ();
+ tree next, decl, name = resolve_package (wfl, &next);
+
+ if (!name)
+ {
+ tree remainder;
+ breakdown_qualified (&remainder, NULL, EXPR_WFL_NODE (wfl));
+ parse_error_context (wfl, "Can't search method `%s' in package "
+ "`%s'",IDENTIFIER_POINTER (identifier),
+ IDENTIFIER_POINTER (remainder));
+ PATCH_METHOD_RETURN_ERROR ();
+ }
+ RESOLVE_PACKAGE_NAME_P (wfl) = 0;
+ if ((decl = resolve_no_layout (name, QUAL_WFL (next))))
+ {
+ QUAL_RESOLUTION (EXPR_WFL_QUALIFICATION (wfl)) = decl;
+ RESOLVE_EXPRESSION_NAME_P (wfl) = 0;
+ RESOLVE_TYPE_NAME_P (wfl) = 1;
+ }
+ else
+ {
+ RESOLVE_EXPRESSION_NAME_P (wfl) = 1;
+ RESOLVE_TYPE_NAME_P (wfl) = 0;
+ }
}
+
/* We're resolving a call from a type */
- else if (RESOLVE_TYPE_NAME_P (wfl))
+ if (RESOLVE_TYPE_NAME_P (wfl))
{
tree decl = QUAL_RESOLUTION (EXPR_WFL_QUALIFICATION (wfl));
tree name = DECL_NAME (decl);
@@ -7501,6 +7608,7 @@ qualify_ambiguous_name (id)
{
tree qual, qual_wfl, name, decl, ptr_type, saved_current_class;
int again, super_found = 0, this_found = 0, new_array_found = 0;
+ int code;
/* We first qualify the first element, then derive qualification of
others based on the first one. If the first element is qualified
@@ -7530,7 +7638,7 @@ qualify_ambiguous_name (id)
break;
case NEW_ARRAY_EXPR:
qual = TREE_CHAIN (qual);
- new_array_found = again = 1;
+ new_array_found = 1;
continue;
case NEW_CLASS_EXPR:
case CONVERT_EXPR:
@@ -7540,13 +7648,41 @@ qualify_ambiguous_name (id)
while (TREE_CODE (qual_wfl) == ARRAY_REF)
qual_wfl = TREE_OPERAND (qual_wfl, 0);
break;
+ case STRING_CST:
+ qual = TREE_CHAIN (qual);
+ qual_wfl = QUAL_WFL (qual);
+ break;
default:
/* Fix for -Wall. Just break doing nothing */
break;
}
- name = EXPR_WFL_NODE (qual_wfl);
+
ptr_type = current_class;
again = 0;
+ code = TREE_CODE (qual_wfl);
+
+ /* Pos evaluation: non WFL leading expression nodes */
+ if (code == CONVERT_EXPR
+ && TREE_CODE (TREE_TYPE (qual_wfl)) == EXPR_WITH_FILE_LOCATION)
+ name = EXPR_WFL_NODE (TREE_TYPE (qual_wfl));
+
+ else if (code == ARRAY_REF &&
+ TREE_CODE (TREE_OPERAND (qual_wfl, 0)) == EXPR_WITH_FILE_LOCATION)
+ name = EXPR_WFL_NODE (TREE_OPERAND (qual_wfl, 0));
+
+ else if (code == CALL_EXPR &&
+ TREE_CODE (TREE_OPERAND (qual_wfl, 0)) == EXPR_WITH_FILE_LOCATION)
+ name = EXPR_WFL_NODE (TREE_OPERAND (qual_wfl, 0));
+
+ else if (code == STRING_CST || code == CONDITIONAL_EXPR)
+ {
+ qual = TREE_CHAIN (qual);
+ qual_wfl = QUAL_WFL (qual);
+ again = 1;
+ }
+ else
+ name = EXPR_WFL_NODE (qual_wfl);
+
/* If we have a THIS (from a primary), we set the context accordingly */
if (name == this_identifier_node)
{
@@ -7574,16 +7710,6 @@ qualify_ambiguous_name (id)
/* Do one more interation to set things up */
super_found = again = 1;
}
- /* Loop one more time if we're dealing with ?: or a string
- constant, or a convert expression */
- if (TREE_CODE (qual_wfl) == CONDITIONAL_EXPR
- || TREE_CODE (qual_wfl) == STRING_CST
- || TREE_CODE (qual_wfl) == CONVERT_EXPR)
- {
- qual = TREE_CHAIN (qual);
- qual_wfl = QUAL_WFL (qual);
- again = 1;
- }
} while (again);
/* If name appears within the scope of a location variable
@@ -7623,7 +7749,8 @@ qualify_ambiguous_name (id)
/* Method call are expression name */
else if (TREE_CODE (QUAL_WFL (qual)) == CALL_EXPR
- || TREE_CODE (QUAL_WFL (qual)) == ARRAY_REF)
+ || TREE_CODE (QUAL_WFL (qual)) == ARRAY_REF
+ || TREE_CODE (QUAL_WFL (qual)) == CONVERT_EXPR)
RESOLVE_EXPRESSION_NAME_P (qual_wfl) = 1;
/* Check here that NAME isn't declared by more than one
@@ -7895,8 +8022,15 @@ java_complete_lhs (node)
if (cn == error_mark_node)
return cn;
- /* First, the case expression must be constant */
+ /* First, the case expression must be constant. Values of final
+ fields are accepted. */
cn = fold (cn);
+ if ((TREE_CODE (cn) == COMPOUND_EXPR || TREE_CODE (cn) == COMPONENT_REF)
+ && JDECL_P (TREE_OPERAND (cn, 1))
+ && FIELD_FINAL (TREE_OPERAND (cn, 1))
+ && DECL_INITIAL (TREE_OPERAND (cn, 1)))
+ cn = fold_constant_for_init (DECL_INITIAL (TREE_OPERAND (cn, 1)),
+ TREE_OPERAND (cn, 1));
if (!TREE_CONSTANT (cn) && !flag_emit_xref)
{
@@ -8053,7 +8187,7 @@ java_complete_lhs (node)
return node;
/* Keep line number information somewhere were it doesn't
disrupt the completion process. */
- if (flag_emit_xref)
+ if (flag_emit_xref && TREE_CODE (node) != CALL_EXPR)
{
EXPR_WFL_NODE (wfl) = TREE_OPERAND (node, 1);
TREE_OPERAND (node, 1) = wfl;
@@ -8822,6 +8956,7 @@ patch_assignment (node, wfl_op1, wfl_op2)
}
/* Build the invocation of _Jv_CheckArrayStore */
+ new_rhs = save_expr (new_rhs);
check = build (CALL_EXPR, void_type_node,
build_address_of (soft_checkarraystore_node),
tree_cons (NULL_TREE, base,
@@ -9065,7 +9200,8 @@ valid_ref_assignconv_cast_p (source, dest, cast)
return source == dest || interface_of_p (dest, source);
}
else /* Array */
- return 0;
+ return (cast ?
+ (DECL_NAME (TYPE_NAME (source)) == java_lang_cloneable) : 0);
}
if (TYPE_ARRAY_P (source))
{
@@ -9226,7 +9362,7 @@ patch_binop (node, wfl_op1, wfl_op2)
tree op2 = TREE_OPERAND (node, 1);
tree op1_type = TREE_TYPE (op1);
tree op2_type = TREE_TYPE (op2);
- tree prom_type;
+ tree prom_type = NULL_TREE;
int code = TREE_CODE (node);
/* If 1, tell the routine that we have to return error_mark_node
@@ -9852,7 +9988,7 @@ patch_unaryop (node, wfl_op)
{
tree op = TREE_OPERAND (node, 0);
tree op_type = TREE_TYPE (op);
- tree prom_type, value, decl;
+ tree prom_type = NULL_TREE, value, decl;
int code = TREE_CODE (node);
int error_found = 0;
@@ -11432,7 +11568,7 @@ patch_conditional_expr (node, wfl_cond, wfl_op1)
/* Otherwise, binary numeric promotion is applied and the
resulting type is the promoted type of operand 1 and 2 */
else
- resulting_type = binary_numeric_promotion (t2, t2,
+ resulting_type = binary_numeric_promotion (t1, t2,
&TREE_OPERAND (node, 1),
&TREE_OPERAND (node, 2));
}
@@ -11489,9 +11625,12 @@ fold_constant_for_init (node, context)
tree op0, op1, val;
enum tree_code code = TREE_CODE (node);
- if (code == INTEGER_CST || code == REAL_CST || code == STRING_CST)
+ if (code == STRING_CST)
return node;
- if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL)
+
+ if (code == INTEGER_CST || code == REAL_CST)
+ return convert (TREE_TYPE (context), node);
+ if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL && code != FIELD_DECL)
return NULL_TREE;
switch (code)
@@ -11557,7 +11696,8 @@ fold_constant_for_init (node, context)
: TREE_OPERAND (node, 2);
case VAR_DECL:
- if (! FIELD_STATIC (node) || ! FIELD_FINAL (node)
+ case FIELD_DECL:
+ if (! FIELD_FINAL (node)
|| DECL_INITIAL (node) == NULL_TREE)
return NULL_TREE;
val = DECL_INITIAL (node);
@@ -11579,19 +11719,18 @@ fold_constant_for_init (node, context)
else if (! QUALIFIED_P (name))
{
decl = lookup_field_wrapper (DECL_CONTEXT (context), name);
- if (decl == NULL_TREE || ! FIELD_STATIC (decl))
+ if (decl == NULL_TREE
+ || (! FIELD_STATIC (decl) && ! FIELD_FINAL (decl)))
return NULL_TREE;
return fold_constant_for_init (decl, decl);
}
else
{
-#if 0
/* Wait until the USE_COMPONENT_REF re-write. FIXME. */
qualify_ambiguous_name (node);
if (resolve_field_access (node, &decl, NULL)
&& decl != NULL_TREE)
return fold_constant_for_init (decl, decl);
-#endif
return NULL_TREE;
}
}
diff --git a/gcc/java/verify.c b/gcc/java/verify.c
index 6aeb8387295..2929d7e4b5a 100644
--- a/gcc/java/verify.c
+++ b/gcc/java/verify.c
@@ -300,6 +300,24 @@ type_stack_dup (size, offset)
}
}
+/* This keeps track of a start PC and corresponding initial index. */
+struct pc_index
+{
+ int start_pc;
+ int index;
+};
+
+/* A helper that is used when sorting exception ranges. */
+static int
+start_pc_cmp (xp, yp)
+ const GENERIC_PTR xp;
+ const GENERIC_PTR yp;
+{
+ struct pc_index *x = (struct pc_index *) xp;
+ struct pc_index *y = (struct pc_index *) yp;
+ return x->start_pc - y->start_pc;
+}
+
/* This causes the next iteration to ignore the next instruction
and look for some other unhandled instruction. */
#define INVALIDATE_PC (prevpc = -1, oldpc = PC, PC = INVALID_PC)
@@ -341,6 +359,8 @@ verify_jvm_instructions (jcf, byte_ops, length)
struct eh_range *prev_eh_ranges = NULL_EH_RANGE;
struct eh_range *eh_ranges;
tree return_type = TREE_TYPE (TREE_TYPE (current_function_decl));
+ struct pc_index *starts;
+ int eh_count;
jint int_value = -1;
@@ -349,17 +369,28 @@ verify_jvm_instructions (jcf, byte_ops, length)
/* Handle the exception table. */
method_init_exceptions ();
JCF_SEEK (jcf, DECL_CODE_OFFSET (current_function_decl) + length);
- i = JCF_readu2 (jcf);
+ eh_count = JCF_readu2 (jcf);
- /* We read the exception backwards. */
- p = jcf->read_ptr + 8 * i;
- while (--i >= 0)
+ /* We read the exception handlers in order of increasing start PC.
+ To do this we first read and sort the start PCs. */
+ starts = (struct pc_index *) xmalloc (eh_count * sizeof (struct pc_index));
+ for (i = 0; i < eh_count; ++i)
{
- int start_pc = GET_u2 (p-8);
- int end_pc = GET_u2 (p-6);
- int handler_pc = GET_u2 (p-4);
- int catch_type = GET_u2 (p-2);
- p -= 8;
+ starts[i].start_pc = GET_u2 (jcf->read_ptr + 8 * i);
+ starts[i].index = i;
+ }
+ qsort (starts, eh_count, sizeof (struct pc_index), start_pc_cmp);
+
+ for (i = 0; i < eh_count; ++i)
+ {
+ int start_pc, end_pc, handler_pc, catch_type;
+
+ p = jcf->read_ptr + 8 * starts[i].index;
+
+ start_pc = GET_u2 (p);
+ end_pc = GET_u2 (p+2);
+ handler_pc = GET_u2 (p+4);
+ catch_type = GET_u2 (p+6);
if (start_pc < 0 || start_pc >= length
|| end_pc < 0 || end_pc > length || start_pc >= end_pc
@@ -370,21 +401,21 @@ verify_jvm_instructions (jcf, byte_ops, length)
|| ! (instruction_bits [handler_pc] & BCODE_INSTRUCTION_START))
{
error ("bad pc in exception_table");
+ free (starts);
return 0;
}
- if (! add_handler (start_pc, end_pc,
- lookup_label (handler_pc),
- catch_type == 0 ? NULL_TREE
- : get_class_constant (jcf, catch_type)))
- {
- error ("overlapping exception ranges are not supported");
- return 0;
- }
+ add_handler (start_pc, end_pc,
+ lookup_label (handler_pc),
+ catch_type == 0 ? NULL_TREE
+ : get_class_constant (jcf, catch_type));
instruction_bits [handler_pc] |= BCODE_EXCEPTION_TARGET;
}
+ free (starts);
+ handle_nested_ranges ();
+
for (PC = 0;;)
{
int index;
@@ -396,6 +427,67 @@ verify_jvm_instructions (jcf, byte_ops, length)
PUSH_PENDING (lookup_label (PC));
INVALIDATE_PC;
}
+ /* Check if there are any more pending blocks in the current
+ subroutine. Because we push pending blocks in a
+ last-in-first-out order, and because we don't push anything
+ from our caller until we are done with this subroutine or
+ anything nested in it, then we are done if the top of the
+ pending_blocks stack is not in a subroutine, or it is in our
+ caller. */
+ if (current_subr
+ && PC == INVALID_PC)
+ {
+ tree caller = LABEL_SUBR_CONTEXT (current_subr);
+
+ if (pending_blocks == NULL_TREE
+ || ! LABEL_IN_SUBR (pending_blocks)
+ || LABEL_SUBR_START (pending_blocks) == caller)
+ {
+ int size = DECL_MAX_LOCALS(current_function_decl)+stack_pointer;
+ tree ret_map = LABEL_RETURN_TYPE_STATE (current_subr);
+ tmp = LABEL_RETURN_LABELS (current_subr);
+
+ /* FIXME: If we exit a subroutine via a throw, we might
+ have returned to an earlier caller. Obviously a
+ "ret" can only return one level, but a throw may
+ return many levels.*/
+ current_subr = caller;
+
+ if (RETURN_MAP_ADJUSTED (ret_map))
+ {
+ /* Since we are done with this subroutine , set up
+ the (so far known) return address as pending -
+ with the merged type state. */
+ for ( ; tmp != NULL_TREE; tmp = TREE_CHAIN (tmp))
+ {
+ tree return_label = TREE_VALUE (tmp);
+ tree return_state = LABEL_TYPE_STATE (return_label);
+ if (return_state == NULL_TREE)
+ {
+ /* This means means we had not verified the
+ subroutine earlier, so this is the first jsr to
+ call it. In this case, the type_map of the return
+ address is just the current type_map - and that
+ is handled by the following PUSH_PENDING. */
+ }
+ else
+ {
+ /* In this case we have to do a merge. But first
+ restore the type_map for unused slots to those
+ that were in effect at the jsr. */
+ for (index = size; --index >= 0; )
+ {
+ type_map[index] = TREE_VEC_ELT (ret_map, index);
+ if (type_map[index] == TYPE_UNUSED)
+ type_map[index]
+ = TREE_VEC_ELT (return_state, index);
+ }
+ }
+ PUSH_PENDING (return_label);
+ }
+ }
+ }
+ }
if (PC == INVALID_PC)
{
label = pending_blocks;
@@ -418,6 +510,8 @@ verify_jvm_instructions (jcf, byte_ops, length)
else if (PC >= length)
VERIFICATION_ERROR ("falling through end of method");
+ /* fprintf (stderr, "** %d\n", PC); */
+
oldpc = PC;
if (!(instruction_bits [PC] & BCODE_INSTRUCTION_START) && ! wide)
@@ -968,6 +1062,7 @@ verify_jvm_instructions (jcf, byte_ops, length)
break;
case OPCODE_athrow:
+ // FIXME: athrow also empties the stack.
pop_type (throwable_type_node);
INVALIDATE_PC;
break;
@@ -1166,57 +1261,15 @@ verify_jvm_instructions (jcf, byte_ops, length)
}
}
- /* Check if there are any more pending blocks in this subroutine.
- Because we push pending blocks in a last-in-first-out order,
- and because we don't push anything from our caller until we
- are done with this subroutine or anything nested in it,
- then we are done if the top of the pending_blocks stack is
- not in a subroutine, or it is in our caller. */
- if (pending_blocks == NULL_TREE
- || ! LABEL_IN_SUBR (pending_blocks)
- || LABEL_SUBR_START (pending_blocks) == caller)
- {
- /* Since we are done with this subroutine (i.e. this is the
- last ret from it), set up the (so far known) return
- address as pending - with the merged type state. */
- tmp = LABEL_RETURN_LABELS (current_subr);
- current_subr = caller;
- for ( ; tmp != NULL_TREE; tmp = TREE_CHAIN (tmp))
- {
- tree return_label = TREE_VALUE (tmp);
- tree return_state = LABEL_TYPE_STATE (return_label);
- if (return_state == NULL_TREE)
- {
- /* This means means we had not verified the
- subroutine earlier, so this is the first jsr to
- call it. In this case, the type_map of the return
- address is just the current type_map - and that
- is handled by the following PUSH_PENDING. */
- }
- else
- {
- /* In this case we have to do a merge. But first
- restore the type_map for unused slots to those
- that were in effect at the jsr. */
- for (index = size; --index >= 0; )
- {
- type_map[index] = TREE_VEC_ELT (ret_map, index);
- if (type_map[index] == TYPE_UNUSED)
- type_map[index]
- = TREE_VEC_ELT (return_state, index);
- }
- }
- PUSH_PENDING (return_label);
- }
- }
- }
- break;
- case OPCODE_jsr_w:
- case OPCODE_ret_w:
+
+ }
+ break;
+ case OPCODE_jsr_w:
+ case OPCODE_ret_w:
default:
- error ("unknown opcode %d@pc=%d during verification", op_code, PC-1);
- return 0;
- }
+ error ("unknown opcode %d@pc=%d during verification", op_code, PC-1);
+ return 0;
+ }
prevpc = oldpc;
diff --git a/gcc/java/xref.c b/gcc/java/xref.c
index 8835e8dfcac..8fd51804819 100644
--- a/gcc/java/xref.c
+++ b/gcc/java/xref.c
@@ -35,7 +35,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
static xref_flag_table xref_table [] = {
- {NULL, NULL, NULL},
+ {NULL, NULL, NULL, NULL},
};
/* Decode an xref flag value. Return 0 if the flag wasn't found. */
diff --git a/gcc/jump.c b/gcc/jump.c
index 9b727fa32c8..32eebd1eb6c 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -235,7 +235,12 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only)
if (!optimize)
{
- can_reach_end = calculate_can_reach_end (last_insn, 1, 0);
+ /* CAN_REACH_END is persistent for each function. Once set it should
+ not be cleared. This is especially true for the case where we
+ delete the NOTE_FUNCTION_END note. CAN_REACH_END is cleared by
+ the front-end before compiling each function. */
+ if (calculate_can_reach_end (last_insn, 1, 0))
+ can_reach_end = 1;
/* Zero the "deleted" flag of all the "deleted" insns. */
for (insn = f; insn; insn = NEXT_INSN (insn))
@@ -366,19 +371,23 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only)
int diff_vec_p = GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC;
int len = XVECLEN (pat, diff_vec_p);
rtx dispatch = prev_real_insn (insn);
+ rtx set;
for (i = 0; i < len; i++)
if (XEXP (XVECEXP (pat, diff_vec_p, i), 0)
!= XEXP (XVECEXP (pat, diff_vec_p, 0), 0))
break;
+
if (i == len
&& dispatch != 0
&& GET_CODE (dispatch) == JUMP_INSN
&& JUMP_LABEL (dispatch) != 0
- /* Don't mess with a casesi insn. */
- && !(GET_CODE (PATTERN (dispatch)) == SET
- && (GET_CODE (SET_SRC (PATTERN (dispatch)))
- == IF_THEN_ELSE))
+ /* Don't mess with a casesi insn.
+ XXX according to the comment before computed_jump_p(),
+ all casesi insns should be a parallel of the jump
+ and a USE of a LABEL_REF. */
+ && ! ((set = single_set (dispatch)) != NULL
+ && (GET_CODE (SET_SRC (set)) == IF_THEN_ELSE))
&& next_real_insn (JUMP_LABEL (dispatch)) == insn)
{
redirect_tablejump (dispatch,
@@ -2068,7 +2077,12 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only)
}
#endif
- can_reach_end = calculate_can_reach_end (last_insn, 0, 1);
+ /* CAN_REACH_END is persistent for each function. Once set it should
+ not be cleared. This is especially true for the case where we
+ delete the NOTE_FUNCTION_END note. CAN_REACH_END is cleared by
+ the front-end before compiling each function. */
+ if (calculate_can_reach_end (last_insn, 0, 1))
+ can_reach_end = 1;
/* Show JUMP_CHAIN no longer valid. */
jump_chain = 0;
@@ -2538,7 +2552,7 @@ duplicate_loop_exit_test (loop_start)
rtx loop_start;
{
rtx insn, set, reg, p, link;
- rtx copy = 0;
+ rtx copy = 0, first_copy = 0;
int num_insns = 0;
rtx exitcode = NEXT_INSN (JUMP_LABEL (next_nonnote_insn (loop_start)));
rtx lastexit;
@@ -2651,19 +2665,20 @@ duplicate_loop_exit_test (loop_start)
/* Now copy each insn. */
for (insn = exitcode; insn != lastexit; insn = NEXT_INSN (insn))
- switch (GET_CODE (insn))
- {
- case BARRIER:
- copy = emit_barrier_before (loop_start);
- break;
- case NOTE:
- /* Only copy line-number notes. */
- if (NOTE_LINE_NUMBER (insn) >= 0)
- {
- copy = emit_note_before (NOTE_LINE_NUMBER (insn), loop_start);
- NOTE_SOURCE_FILE (copy) = NOTE_SOURCE_FILE (insn);
- }
- break;
+ {
+ switch (GET_CODE (insn))
+ {
+ case BARRIER:
+ copy = emit_barrier_before (loop_start);
+ break;
+ case NOTE:
+ /* Only copy line-number notes. */
+ if (NOTE_LINE_NUMBER (insn) >= 0)
+ {
+ copy = emit_note_before (NOTE_LINE_NUMBER (insn), loop_start);
+ NOTE_SOURCE_FILE (copy) = NOTE_SOURCE_FILE (insn);
+ }
+ break;
case INSN:
copy = emit_insn_before (copy_rtx (PATTERN (insn)), loop_start);
@@ -2684,32 +2699,38 @@ duplicate_loop_exit_test (loop_start)
replace_regs (REG_NOTES (copy), reg_map, max_reg, 1);
break;
- case JUMP_INSN:
- copy = emit_jump_insn_before (copy_rtx (PATTERN (insn)), loop_start);
- if (reg_map)
- replace_regs (PATTERN (copy), reg_map, max_reg, 1);
- mark_jump_label (PATTERN (copy), copy, 0);
- if (REG_NOTES (insn))
- {
- REG_NOTES (copy) = copy_rtx (REG_NOTES (insn));
- if (reg_map)
- replace_regs (REG_NOTES (copy), reg_map, max_reg, 1);
- }
+ case JUMP_INSN:
+ copy = emit_jump_insn_before (copy_rtx (PATTERN (insn)), loop_start);
+ if (reg_map)
+ replace_regs (PATTERN (copy), reg_map, max_reg, 1);
+ mark_jump_label (PATTERN (copy), copy, 0);
+ if (REG_NOTES (insn))
+ {
+ REG_NOTES (copy) = copy_rtx (REG_NOTES (insn));
+ if (reg_map)
+ replace_regs (REG_NOTES (copy), reg_map, max_reg, 1);
+ }
- /* If this is a simple jump, add it to the jump chain. */
+ /* If this is a simple jump, add it to the jump chain. */
- if (INSN_UID (copy) < max_jump_chain && JUMP_LABEL (copy)
- && simplejump_p (copy))
- {
- jump_chain[INSN_UID (copy)]
- = jump_chain[INSN_UID (JUMP_LABEL (copy))];
- jump_chain[INSN_UID (JUMP_LABEL (copy))] = copy;
- }
- break;
+ if (INSN_UID (copy) < max_jump_chain && JUMP_LABEL (copy)
+ && simplejump_p (copy))
+ {
+ jump_chain[INSN_UID (copy)]
+ = jump_chain[INSN_UID (JUMP_LABEL (copy))];
+ jump_chain[INSN_UID (JUMP_LABEL (copy))] = copy;
+ }
+ break;
- default:
- abort ();
- }
+ default:
+ abort ();
+ }
+
+ /* Record the first insn we copied. We need it so that we can
+ scan the copied insns for new pseudo registers. */
+ if (! first_copy)
+ first_copy = copy;
+ }
/* Now clean up by emitting a jump to the end label and deleting the jump
at the start of the loop. */
@@ -2717,6 +2738,14 @@ duplicate_loop_exit_test (loop_start)
{
copy = emit_jump_insn_before (gen_jump (get_label_after (insn)),
loop_start);
+
+ /* Record the first insn we copied. We need it so that we can
+ scan the copied insns for new pseudo registers. This may not
+ be strictly necessary since we should have copied at least one
+ insn above. But I am going to be safe. */
+ if (! first_copy)
+ first_copy = copy;
+
mark_jump_label (PATTERN (copy), copy, 0);
if (INSN_UID (copy) < max_jump_chain
&& INSN_UID (JUMP_LABEL (copy)) < max_jump_chain)
@@ -2728,6 +2757,11 @@ duplicate_loop_exit_test (loop_start)
emit_barrier_before (loop_start);
}
+ /* Now scan from the first insn we copied to the last insn we copied
+ (copy) for new pseudo registers. Do this after the code to jump to
+ the end label since that might create a new pseudo too. */
+ reg_scan_update (first_copy, copy, max_reg);
+
/* Mark the exit code as the virtual top of the converted loop. */
emit_note_before (NOTE_INSN_LOOP_VTOP, exitcode);
@@ -3151,8 +3185,17 @@ can_reverse_comparison_p (comparison, insn)
)
{
rtx prev = prev_nonnote_insn (insn);
- rtx set = single_set (prev);
+ rtx set;
+
+ /* If the comparison itself was a loop invariant, it could have been
+ hoisted out of the loop. If we proceed to unroll such a loop, then
+ we may not be able to find the comparison when copying the loop.
+ Returning zero in that case is the safe thing to do. */
+ if (prev == 0)
+ return 0;
+
+ set = single_set (prev);
if (set == 0 || SET_DEST (set) != arg0)
return 0;
@@ -3979,20 +4022,36 @@ delete_insn (insn)
and delete the label if it is now unused. */
if (GET_CODE (insn) == JUMP_INSN && JUMP_LABEL (insn))
- if (--LABEL_NUSES (JUMP_LABEL (insn)) == 0)
- {
- /* This can delete NEXT or PREV,
- either directly if NEXT is JUMP_LABEL (INSN),
- or indirectly through more levels of jumps. */
- delete_insn (JUMP_LABEL (insn));
- /* I feel a little doubtful about this loop,
- but I see no clean and sure alternative way
- to find the first insn after INSN that is not now deleted.
- I hope this works. */
- while (next && INSN_DELETED_P (next))
- next = NEXT_INSN (next);
- return next;
- }
+ {
+ rtx lab = JUMP_LABEL (insn), lab_next;
+
+ if (--LABEL_NUSES (lab) == 0)
+ {
+ /* This can delete NEXT or PREV,
+ either directly if NEXT is JUMP_LABEL (INSN),
+ or indirectly through more levels of jumps. */
+ delete_insn (lab);
+
+ /* I feel a little doubtful about this loop,
+ but I see no clean and sure alternative way
+ to find the first insn after INSN that is not now deleted.
+ I hope this works. */
+ while (next && INSN_DELETED_P (next))
+ next = NEXT_INSN (next);
+ return next;
+ }
+ else if ((lab_next = next_nonnote_insn (lab)) != NULL
+ && GET_CODE (lab_next) == JUMP_INSN
+ && (GET_CODE (PATTERN (lab_next)) == ADDR_VEC
+ || GET_CODE (PATTERN (lab_next)) == ADDR_DIFF_VEC))
+ {
+ /* If we're deleting the tablejump, delete the dispatch table.
+ We may not be able to kill the label immediately preceeding
+ just yet, as it might be referenced in code leading up to
+ the tablejump. */
+ delete_insn (lab_next);
+ }
+ }
/* Likewise if we're deleting a dispatch table. */
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index a902dd3be75..6d8fb0b77db 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -2903,17 +2903,26 @@ SYMBOL__MAIN ()
#include "gbl-ctors.h"
/* Provide default definitions for the lists of constructors and
- destructors, so that we don't get linker errors.
-
- The old code sometimes put these into the data segment and sometimes
- into the bss segment. Putting these into the data segment should always
- work and avoids a little bit of complexity. */
+ destructors, so that we don't get linker errors. These symbols are
+ intentionally bss symbols, so that gld and/or collect will provide
+ the right values. */
/* We declare the lists here with two elements each,
- so that they are valid empty lists if no other definition is loaded. */
+ so that they are valid empty lists if no other definition is loaded.
+
+ If we are using the old "set" extensions to have the gnu linker
+ collect ctors and dtors, then we __CTOR_LIST__ and __DTOR_LIST__
+ must be in the bss/common section.
+
+ Long term no port should use those extensions. But many still do. */
#if !defined(INIT_SECTION_ASM_OP) && !defined(CTOR_LISTS_DEFINED_EXTERNALLY)
+#if defined (ASM_OUTPUT_CONSTRUCTOR) || defined (USE_COLLECT2)
func_ptr __CTOR_LIST__[2] = {0, 0};
func_ptr __DTOR_LIST__[2] = {0, 0};
+#else
+func_ptr __CTOR_LIST__[2];
+func_ptr __DTOR_LIST__[2];
+#endif
#endif /* no INIT_SECTION_ASM_OP and not CTOR_LISTS_DEFINED_EXTERNALLY */
#endif /* L_ctors */
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index d1df595c4c1..2fc3aec4977 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -759,7 +759,8 @@ update_equiv_regs ()
&& REG_N_SETS (regno) == 1
&& reg_equiv_init_insns[regno] != 0
&& reg_equiv_init_insns[regno] != const0_rtx
- && ! find_reg_note (insn, REG_EQUIV, NULL_RTX)
+ && ! find_reg_note (XEXP (reg_equiv_init_insns[regno], 0),
+ REG_EQUIV, NULL_RTX)
&& ! contains_replace_regs (XEXP (dest, 0), reg_equiv_replace))
{
rtx init_insn = XEXP (reg_equiv_init_insns[regno], 0);
diff --git a/gcc/loop.c b/gcc/loop.c
index 192461a934c..aca291dd6b1 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1,5 +1,6 @@
/* Perform various loop optimizations, including strength reduction.
- Copyright (C) 1987, 88, 89, 91-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
+ 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -283,6 +284,9 @@ static struct movable *the_movables;
FILE *loop_dump_stream;
+/* For communicating return values from note_set_pseudo_multiple_uses. */
+static int note_set_pseudo_multiple_uses_retval;
+
/* Forward declarations. */
static void verify_dominator PROTO((int));
@@ -297,6 +301,7 @@ static void count_one_set PROTO((rtx, rtx, varray_type, rtx *));
static void count_loop_regs_set PROTO((rtx, rtx, varray_type, varray_type,
int *, int));
static void note_addr_stored PROTO((rtx, rtx));
+static void note_set_pseudo_multiple_uses PROTO((rtx, rtx));
static int loop_reg_used_before_p PROTO((rtx, rtx, rtx, rtx, rtx));
static void scan_loop PROTO((rtx, rtx, rtx, int, int));
#if 0
@@ -915,6 +920,7 @@ scan_loop (loop_start, end, loop_cont, unroll_p, bct_p)
&& VARRAY_INT (set_in_loop, regno) == 1
&& ! side_effects_p (SET_SRC (set))
&& ! find_reg_note (p, REG_RETVAL, NULL_RTX)
+ && ! find_reg_note (p, REG_LABEL, NULL_RTX)
&& (! SMALL_REGISTER_CLASSES
|| (! (GET_CODE (SET_SRC (set)) == REG
&& REGNO (SET_SRC (set)) < FIRST_PSEUDO_REGISTER)))
@@ -2557,14 +2563,21 @@ verify_dominator (loop_number)
&& GET_CODE (PATTERN (insn)) != RETURN)
{
rtx label = JUMP_LABEL (insn);
- int label_luid = INSN_LUID (label);
-
- if (! condjump_p (insn)
- && ! condjump_in_parallel_p (insn))
+ int label_luid;
+
+ /* If it is not a jump we can easily understand or for
+ which we do not have jump target information in the JUMP_LABEL
+ field (consider ADDR_VEC and ADDR_DIFF_VEC insns), then clear
+ LOOP_NUMBER_CONT_DOMINATOR. */
+ if ((! condjump_p (insn)
+ && ! condjump_in_parallel_p (insn))
+ || label == NULL_RTX)
{
loop_number_cont_dominator[loop_number] = NULL_RTX;
return;
}
+
+ label_luid = INSN_LUID (label);
if (label_luid < INSN_LUID (loop_number_loop_cont[loop_number])
&& (label_luid
> INSN_LUID (loop_number_cont_dominator[loop_number])))
@@ -2762,6 +2775,7 @@ find_and_verify_loops (f)
{
rtx p;
rtx our_next = next_real_insn (insn);
+ rtx last_insn_to_move = NEXT_INSN (insn);
int dest_loop;
int outer_loop = -1;
@@ -2813,21 +2827,39 @@ find_and_verify_loops (f)
&& INSN_UID (JUMP_LABEL (p)) != 0
&& condjump_p (p)
&& ! simplejump_p (p)
- && next_real_insn (JUMP_LABEL (p)) == our_next)
+ && next_real_insn (JUMP_LABEL (p)) == our_next
+ /* If it's not safe to move the sequence, then we
+ mustn't try. */
+ && insns_safe_to_move_p (p, NEXT_INSN (insn),
+ &last_insn_to_move))
{
rtx target
= JUMP_LABEL (insn) ? JUMP_LABEL (insn) : get_last_insn ();
int target_loop_num = uid_loop_num[INSN_UID (target)];
- rtx loc;
+ rtx loc, loc2;
for (loc = target; loc; loc = PREV_INSN (loc))
if (GET_CODE (loc) == BARRIER
+ /* Don't move things inside a tablejump. */
+ && ((loc2 = next_nonnote_insn (loc)) == 0
+ || GET_CODE (loc2) != CODE_LABEL
+ || (loc2 = next_nonnote_insn (loc2)) == 0
+ || GET_CODE (loc2) != JUMP_INSN
+ || (GET_CODE (PATTERN (loc2)) != ADDR_VEC
+ && GET_CODE (PATTERN (loc2)) != ADDR_DIFF_VEC))
&& uid_loop_num[INSN_UID (loc)] == target_loop_num)
break;
if (loc == 0)
for (loc = target; loc; loc = NEXT_INSN (loc))
if (GET_CODE (loc) == BARRIER
+ /* Don't move things inside a tablejump. */
+ && ((loc2 = next_nonnote_insn (loc)) == 0
+ || GET_CODE (loc2) != CODE_LABEL
+ || (loc2 = next_nonnote_insn (loc2)) == 0
+ || GET_CODE (loc2) != JUMP_INSN
+ || (GET_CODE (PATTERN (loc2)) != ADDR_VEC
+ && GET_CODE (PATTERN (loc2)) != ADDR_DIFF_VEC))
&& uid_loop_num[INSN_UID (loc)] == target_loop_num)
break;
@@ -2868,11 +2900,13 @@ find_and_verify_loops (f)
/* Include the BARRIER after INSN and copy the
block after LOC. */
- new_label = squeeze_notes (new_label, NEXT_INSN (insn));
- reorder_insns (new_label, NEXT_INSN (insn), loc);
+ new_label = squeeze_notes (new_label,
+ last_insn_to_move);
+ reorder_insns (new_label, last_insn_to_move, loc);
/* All those insns are now in TARGET_LOOP_NUM. */
- for (q = new_label; q != NEXT_INSN (NEXT_INSN (insn));
+ for (q = new_label;
+ q != NEXT_INSN (last_insn_to_move);
q = NEXT_INSN (q))
uid_loop_num[INSN_UID (q)] = target_loop_num;
@@ -3133,6 +3167,36 @@ note_addr_stored (x, y)
loop_store_mems = gen_rtx_EXPR_LIST (VOIDmode, x, loop_store_mems);
}
+
+/* X is a value modified by an INSN that references a biv inside a loop
+ exit test (ie, X is somehow related to the value of the biv). If X
+ is a pseudo that is used more than once, then the biv is (effectively)
+ used more than once. */
+
+static void
+note_set_pseudo_multiple_uses (x, y)
+ rtx x;
+ rtx y ATTRIBUTE_UNUSED;
+{
+ if (x == 0)
+ return;
+
+ while (GET_CODE (x) == STRICT_LOW_PART
+ || GET_CODE (x) == SIGN_EXTRACT
+ || GET_CODE (x) == ZERO_EXTRACT
+ || GET_CODE (x) == SUBREG)
+ x = XEXP (x, 0);
+
+ if (GET_CODE (x) != REG || REGNO (x) < FIRST_PSEUDO_REGISTER)
+ return;
+
+ /* If we do not have usage information, or if we know the register
+ is used more than once, note that fact for check_dbra_loop. */
+ if (REGNO (x) >= max_reg_before_loop
+ || ! VARRAY_RTX (reg_single_usage, REGNO (x))
+ || VARRAY_RTX (reg_single_usage, REGNO (x)) == const0_rtx)
+ note_set_pseudo_multiple_uses_retval = 1;
+}
/* Return nonzero if the rtx X is invariant over the current loop.
@@ -3669,6 +3733,9 @@ strength_reduce (scan_start, end, loop_top, insn_count,
/* This is 1 if current insn may be executed more than once for every
loop iteration. */
int maybe_multiple = 0;
+ /* This is 1 if we have past a branch back to the top of the loop
+ (aka a loop latch). */
+ int past_loop_latch = 0;
/* Temporary list pointers for traversing loop_iv_list. */
struct iv_class *bl, **backbl;
/* Ratio of extra register life span we can justify
@@ -3836,16 +3903,30 @@ strength_reduce (scan_start, end, loop_top, insn_count,
loop_depth--;
}
+ /* Note if we pass a loop latch. If we do, then we can not clear
+ NOT_EVERY_ITERATION below when we pass the last CODE_LABEL in
+ a loop since a jump before the last CODE_LABEL may have started
+ a new loop iteration.
+
+ Note that LOOP_TOP is only set for rotated loops and we need
+ this check for all loops, so compare against the CODE_LABEL
+ which immediately follows LOOP_START. */
+ if (GET_CODE (p) == JUMP_INSN && JUMP_LABEL (p) == NEXT_INSN (loop_start))
+ past_loop_latch = 1;
+
/* Unlike in the code motion pass where MAYBE_NEVER indicates that
an insn may never be executed, NOT_EVERY_ITERATION indicates whether
or not an insn is known to be executed each iteration of the
loop, whether or not any iterations are known to occur.
Therefore, if we have just passed a label and have no more labels
- between here and the test insn of the loop, we know these insns
- will be executed each iteration. */
+ between here and the test insn of the loop, and we have not passed
+ a jump to the top of the loop, then we know these insns will be
+ executed each iteration. */
- if (not_every_iteration && GET_CODE (p) == CODE_LABEL
+ if (not_every_iteration
+ && ! past_loop_latch
+ && GET_CODE (p) == CODE_LABEL
&& no_labels_between_p (p, loop_end)
&& loop_insn_first_p (p, loop_cont))
not_every_iteration = 0;
@@ -4117,8 +4198,15 @@ strength_reduce (scan_start, end, loop_top, insn_count,
n_extra_increment += bl->biv_count - 1;
/* If the loop contains volatile memory references do not allow any
- replacements to take place, since this could loose the volatile markers. */
- if (n_extra_increment && ! loop_has_volatile)
+ replacements to take place, since this could loose the volatile
+ markers.
+
+ Disabled for the gcc-2.95 release. There are still some problems with
+ giv recombination. We have a patch from Joern which should fix those
+ problems. But the patch is fairly complex and not really suitable for
+ the gcc-2.95 branch at this stage. */
+ if (0 && n_extra_increment && ! loop_has_volatile)
+
{
int nregs = first_increment_giv + n_extra_increment;
@@ -4176,6 +4264,8 @@ strength_reduce (scan_start, end, loop_top, insn_count,
|| ! next->always_executed
|| next->maybe_multiple
|| ! CONSTANT_P (next->add_val)
+ || v->mult_val != const1_rtx
+ || next->mult_val != const1_rtx
|| ! (biv_dead_after_loop
|| no_jumps_between_p (v->insn, next->insn)))
{
@@ -4198,6 +4288,7 @@ strength_reduce (scan_start, end, loop_top, insn_count,
VARRAY_GROW (set_in_loop, nregs);
VARRAY_GROW (n_times_set, nregs);
VARRAY_GROW (may_not_optimize, nregs);
+ VARRAY_GROW (reg_single_usage, nregs);
}
if (! validate_change (next->insn, next->location, add_val, 0))
@@ -4720,7 +4811,13 @@ strength_reduce (scan_start, end, loop_top, insn_count,
VARRAY_GROW (reg_iv_type, nregs);
VARRAY_GROW (reg_iv_info, nregs);
}
+#if 0
+ /* Disabled for the gcc-2.95 release. There are still some problems with
+ giv recombination. We have a patch from Joern which should fix those
+ problems. But the patch is fairly complex and not really suitable for
+ the gcc-2.95 branch at this stage. */
recombine_givs (bl, loop_start, loop_end, unroll_p);
+#endif
/* Reduce each giv that we decided to reduce. */
@@ -5604,6 +5701,7 @@ check_final_value (v, loop_start, loop_end, n_iterations)
or all uses follow that insn in the same basic block),
- its final value can be calculated (this condition is different
than the one above in record_giv)
+ - it's not used before it's set
- no assignments to the biv occur during the giv's lifetime. */
#if 0
@@ -5615,7 +5713,7 @@ check_final_value (v, loop_start, loop_end, n_iterations)
if ((final_value = final_giv_value (v, loop_start, loop_end, n_iterations))
&& (v->always_computable || last_use_this_basic_block (v->dest_reg, v->insn)))
{
- int biv_increment_seen = 0;
+ int biv_increment_seen = 0, before_giv_insn = 0;
rtx p = v->insn;
rtx last_giv_use;
@@ -5645,26 +5743,35 @@ check_final_value (v, loop_start, loop_end, n_iterations)
{
p = NEXT_INSN (p);
if (p == loop_end)
- p = NEXT_INSN (loop_start);
+ {
+ before_giv_insn = 1;
+ p = NEXT_INSN (loop_start);
+ }
if (p == v->insn)
break;
if (GET_CODE (p) == INSN || GET_CODE (p) == JUMP_INSN
|| GET_CODE (p) == CALL_INSN)
{
- if (biv_increment_seen)
+ /* It is possible for the BIV increment to use the GIV if we
+ have a cycle. Thus we must be sure to check each insn for
+ both BIV and GIV uses, and we must check for BIV uses
+ first. */
+
+ if (! biv_increment_seen
+ && reg_set_p (v->src_reg, PATTERN (p)))
+ biv_increment_seen = 1;
+
+ if (reg_mentioned_p (v->dest_reg, PATTERN (p)))
{
- if (reg_mentioned_p (v->dest_reg, PATTERN (p)))
+ if (biv_increment_seen || before_giv_insn)
{
v->replaceable = 0;
v->not_replaceable = 1;
break;
}
+ last_giv_use = p;
}
- else if (reg_set_p (v->src_reg, PATTERN (p)))
- biv_increment_seen = 1;
- else if (reg_mentioned_p (v->dest_reg, PATTERN (p)))
- last_giv_use = p;
}
}
@@ -5909,6 +6016,7 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val, location)
insn = p;
while (1)
{
+ rtx dest;
do {
insn = PREV_INSN (insn);
} while (insn && GET_CODE (insn) == NOTE
@@ -5920,18 +6028,26 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val, location)
if (set == 0)
break;
- if ((SET_DEST (set) == x
- || (GET_CODE (SET_DEST (set)) == SUBREG
- && (GET_MODE_SIZE (GET_MODE (SET_DEST (set)))
- <= UNITS_PER_WORD)
- && SUBREG_REG (SET_DEST (set)) == x))
- && basic_induction_var (SET_SRC (set),
- (GET_MODE (SET_SRC (set)) == VOIDmode
- ? GET_MODE (x)
- : GET_MODE (SET_SRC (set))),
- dest_reg, insn,
- inc_val, mult_val, location))
- return 1;
+ dest = SET_DEST (set);
+ if (dest == x
+ || (GET_CODE (dest) == SUBREG
+ && (GET_MODE_SIZE (GET_MODE (dest)) <= UNITS_PER_WORD)
+ && (GET_MODE_CLASS (GET_MODE (dest)) == MODE_INT)
+ && SUBREG_REG (dest) == x))
+ return basic_induction_var (SET_SRC (set),
+ (GET_MODE (SET_SRC (set)) == VOIDmode
+ ? GET_MODE (x)
+ : GET_MODE (SET_SRC (set))),
+ dest_reg, insn,
+ inc_val, mult_val, location);
+
+ while (GET_CODE (dest) == SIGN_EXTRACT
+ || GET_CODE (dest) == ZERO_EXTRACT
+ || GET_CODE (dest) == SUBREG
+ || GET_CODE (dest) == STRICT_LOW_PART)
+ dest = XEXP (dest, 0);
+ if (dest == x)
+ break;
}
/* ... fall through ... */
@@ -7622,6 +7738,7 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
for (bl = loop_iv_list; bl; bl = bl->next)
{
if (bl->biv_count == 1
+ && ! bl->biv->maybe_multiple
&& bl->biv->dest_reg == XEXP (comparison, 0)
&& ! reg_used_between_p (regno_reg_rtx[bl->regno], bl->biv->insn,
first_compare))
@@ -7687,7 +7804,8 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
}
}
}
- else if (INTVAL (bl->biv->add_val) > 0)
+ else if (GET_CODE (bl->biv->add_val) == CONST_INT
+ && INTVAL (bl->biv->add_val) > 0)
{
/* Try to change inc to dec, so can apply above optimization. */
/* Can do this if:
@@ -7725,10 +7843,22 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
&& REGNO (SET_DEST (set)) == bl->regno)
/* An insn that sets the biv is okay. */
;
- else if (p == prev_nonnote_insn (prev_nonnote_insn (loop_end))
- || p == prev_nonnote_insn (loop_end))
- /* Don't bother about the end test. */
- ;
+ else if ((p == prev_nonnote_insn (prev_nonnote_insn (loop_end))
+ || p == prev_nonnote_insn (loop_end))
+ && reg_mentioned_p (bivreg, PATTERN (p)))
+ {
+ /* If either of these insns uses the biv and sets a pseudo
+ that has more than one usage, then the biv has uses
+ other than counting since it's used to derive a value
+ that is used more than one time. */
+ note_set_pseudo_multiple_uses_retval = 0;
+ note_stores (PATTERN (p), note_set_pseudo_multiple_uses);
+ if (note_set_pseudo_multiple_uses_retval)
+ {
+ no_use_except_counting = 0;
+ break;
+ }
+ }
else if (reg_mentioned_p (bivreg, PATTERN (p)))
{
no_use_except_counting = 0;
@@ -7757,7 +7887,7 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
reversible_mem_store
= (! unknown_address_altered
- && ! invariant_p (XEXP (loop_store_mems, 0)));
+ && ! invariant_p (XEXP (XEXP (loop_store_mems, 0), 0)));
/* If the store depends on a register that is set after the
store, it depends on the initial value, and is thus not
@@ -7766,7 +7896,7 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
{
if (v->giv_type == DEST_REG
&& reg_mentioned_p (v->dest_reg,
- XEXP (loop_store_mems, 0))
+ PATTERN (first_loop_store_insn))
&& loop_insn_first_p (first_loop_store_insn, v->insn))
reversible_mem_store = 0;
}
@@ -8065,6 +8195,40 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
bl->nonneg = 1;
}
+ /* No insn may reference both the reversed and another biv or it
+ will fail (see comment near the top of the loop reversal
+ code).
+ Earlier on, we have verified that the biv has no use except
+ counting, or it is the only biv in this function.
+ However, the code that computes no_use_except_counting does
+ not verify reg notes. It's possible to have an insn that
+ references another biv, and has a REG_EQUAL note with an
+ expression based on the reversed biv. To avoid this case,
+ remove all REG_EQUAL notes based on the reversed biv
+ here. */
+ for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
+ if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
+ {
+ rtx *pnote;
+ rtx set = single_set (p);
+ /* If this is a set of a GIV based on the reversed biv, any
+ REG_EQUAL notes should still be correct. */
+ if (! set
+ || GET_CODE (SET_DEST (set)) != REG
+ || (size_t) REGNO (SET_DEST (set)) >= reg_iv_type->num_elements
+ || REG_IV_TYPE (REGNO (SET_DEST (set))) != GENERAL_INDUCT
+ || REG_IV_INFO (REGNO (SET_DEST (set)))->src_reg != bl->biv->src_reg)
+ for (pnote = &REG_NOTES (p); *pnote;)
+ {
+ if (REG_NOTE_KIND (*pnote) == REG_EQUAL
+ && reg_mentioned_p (regno_reg_rtx[bl->regno],
+ XEXP (*pnote, 0)))
+ *pnote = XEXP (*pnote, 1);
+ else
+ pnote = &XEXP (*pnote, 1);
+ }
+ }
+
/* Mark that this biv has been reversed. Each giv which depends
on this biv, and which is also live past the end of the loop
will have to be fixed up. */
@@ -8179,11 +8343,16 @@ loop_insn_first_p (insn, reference)
if (p == reference || ! q)
return 1;
+ /* Either of P or Q might be a NOTE. Notes have the same LUID as the
+ previous insn, hence the <= comparison below does not work if
+ P is a note. */
if (INSN_UID (p) < max_uid_for_loop
- && INSN_UID (q) < max_uid_for_loop)
- return INSN_LUID (p) < INSN_LUID (q);
+ && INSN_UID (q) < max_uid_for_loop
+ && GET_CODE (p) != NOTE)
+ return INSN_LUID (p) <= INSN_LUID (q);
- if (INSN_UID (p) >= max_uid_for_loop)
+ if (INSN_UID (p) >= max_uid_for_loop
+ || GET_CODE (p) == NOTE)
p = NEXT_INSN (p);
if (INSN_UID (q) >= max_uid_for_loop)
q = NEXT_INSN (q);
@@ -9219,6 +9388,7 @@ instrument_loop_bct (loop_start, loop_end, loop_num_iterations)
emit_jump_insn_before (gen_decrement_and_branch_on_count (counter_reg,
start_label),
loop_end);
+ JUMP_LABEL (prev_nonnote_insn (loop_end)) = start_label;
LABEL_NUSES (start_label)++;
}
@@ -9460,6 +9630,10 @@ load_mems (scan_start, end, loop_top, start)
mem_list_entry = XEXP (mem_list_entry, 1);
}
+ if (flag_float_store && written
+ && GET_MODE_CLASS (GET_MODE (mem)) == MODE_FLOAT)
+ loop_mems[i].optimize = 0;
+
/* If this MEM is written to, we must be sure that there
are no reads from another MEM that aliases this one. */
if (loop_mems[i].optimize && written)
diff --git a/gcc/objc/lang-specs.h b/gcc/objc/lang-specs.h
index 41dc097b502..7b9b2fa79cd 100644
--- a/gcc/objc/lang-specs.h
+++ b/gcc/objc/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for Objective-C.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
{".m", {"@objective-c"}},
{"@objective-c",
#if USE_CPPLIB
- {"%{E|M|MM:cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"%{E|M|MM:cpp0 -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
-D__OBJC__ %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -55,7 +55,7 @@ Boston, MA 02111-1307, USA. */
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"}
#else /* ! USE_CPPLIB */
- {"cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
-D__OBJC__ %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 9b4d4f1059c..b360262d1df 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -1,5 +1,6 @@
/* Expand the basic unary and binary arithmetic operations, for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -359,10 +360,14 @@ widen_operand (op, mode, oldmode, unsignedp, no_extend)
/* Generate code to perform a straightforward complex divide. */
static int
-expand_cmplxdiv_straight (rtx real0, rtx real1, rtx imag0, rtx imag1,
- rtx realr, rtx imagr, enum machine_mode submode,
- int unsignedp, enum optab_methods methods,
- enum mode_class class, optab binoptab)
+expand_cmplxdiv_straight (real0, real1, imag0, imag1, realr, imagr, submode,
+ unsignedp, methods, class, binoptab)
+ rtx real0, real1, imag0, imag1, realr, imagr;
+ enum machine_mode submode;
+ int unsignedp;
+ enum optab_methods methods;
+ enum mode_class class;
+ optab binoptab;
{
rtx divisor;
rtx real_t, imag_t;
@@ -475,10 +480,14 @@ expand_cmplxdiv_straight (rtx real0, rtx real1, rtx imag0, rtx imag1,
/* Generate code to perform a wide-input-range-acceptable complex divide. */
static int
-expand_cmplxdiv_wide (rtx real0, rtx real1, rtx imag0, rtx imag1,
- rtx realr, rtx imagr, enum machine_mode submode,
- int unsignedp, enum optab_methods methods,
- enum mode_class class, optab binoptab)
+expand_cmplxdiv_wide (real0, real1, imag0, imag1, realr, imagr, submode,
+ unsignedp, methods, class, binoptab)
+ rtx real0, real1, imag0, imag1, realr, imagr;
+ enum machine_mode submode;
+ int unsignedp;
+ enum optab_methods methods;
+ enum mode_class class;
+ optab binoptab;
{
rtx ratio, divisor;
rtx real_t, imag_t;
@@ -496,11 +505,17 @@ expand_cmplxdiv_wide (rtx real0, rtx real1, rtx imag0, rtx imag1,
imag1 = force_reg (submode, imag1);
- temp1 = expand_unop (submode, abs_optab, real1, NULL_RTX,
- unsignedp);
-
- temp2 = expand_unop (submode, abs_optab, imag1, NULL_RTX,
- unsignedp);
+ /* XXX What's an "unsigned" complex number? */
+ if (unsignedp)
+ {
+ temp1 = real1;
+ temp2 = imag1;
+ }
+ else
+ {
+ temp1 = expand_abs (submode, real1, NULL_RTX, 1);
+ temp2 = expand_abs (submode, imag1, NULL_RTX, 1);
+ }
if (temp1 == 0 || temp2 == 0)
return 0;
@@ -2873,8 +2888,14 @@ emit_libcall_block (insns, target, result, equiv)
rtx result;
rtx equiv;
{
+ rtx final_dest = target;
rtx prev, next, first, last, insn;
+ /* If this is a reg with REG_USERVAR_P set, then it could possibly turn
+ into a MEM later. Protect the libcall block from this change. */
+ if (! REG_P (target) || REG_USERVAR_P (target))
+ target = gen_reg_rtx (GET_MODE (target));
+
/* look for any CALL_INSNs in this sequence, and attach a REG_EH_REGION
reg note to indicate that this call cannot throw. (Unless there is
already a REG_EH_REGION note.) */
@@ -2938,6 +2959,9 @@ emit_libcall_block (insns, target, result, equiv)
!= CODE_FOR_nothing)
set_unique_reg_note (last, REG_EQUAL, copy_rtx (equiv));
+ if (final_dest != target)
+ emit_move_insn (final_dest, target);
+
if (prev == 0)
first = get_insns ();
else
diff --git a/gcc/output.h b/gcc/output.h
index e1cf6d82950..85310850737 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -505,3 +505,11 @@ extern FILE *rtl_dump_file;
/* User label prefix in effect for this compilation. */
extern const char *user_label_prefix;
+
+/* This macro gets just the user-specified name
+ out of the string in a SYMBOL_REF. On most machines,
+ we discard the * if any and that's all. */
+#ifndef STRIP_NAME_ENCODING
+#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
+ (VAR) = ((SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*'))
+#endif
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index faa0051899c..83babc471a0 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,23 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+1999-10-18 Manfred Hollstein <mhollstein@cygnus.com>
+
+ * POTFILES.in: Track files recently added/deleted/moved.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Track latest file renamings.
diff --git a/gcc/po/POTFILES.in b/gcc/po/POTFILES.in
index e4020c9c3a0..9fd586c3113 100644
--- a/gcc/po/POTFILES.in
+++ b/gcc/po/POTFILES.in
@@ -208,7 +208,7 @@ config/i386/seq-sysv3.h
config/i386/seq2-sysv3.h
config/i386/sequent.h
config/i386/sol2.h
-config/i386/sol2dbg.h
+config/i386/sol2gas.h
config/i386/sun.h
config/i386/sun386.h
config/i386/svr3dbx.h
@@ -653,6 +653,7 @@ ginclude/math-68881.h
ginclude/ppc-asm.h
ginclude/proto.h
ginclude/stdarg.h
+ginclude/stdbool.h
ginclude/stddef.h
ginclude/va-alpha.h
ginclude/va-arc.h
diff --git a/gcc/real.c b/gcc/real.c
index e6a15fed515..a3fda6d4c91 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -269,34 +269,34 @@ do { \
/* Emulator uses target format internally
but host stores it in host endian-ness. */
-#define GET_REAL(r,e) \
-do { \
- if (HOST_FLOAT_WORDS_BIG_ENDIAN == REAL_WORDS_BIG_ENDIAN) \
- e53toe ((unsigned EMUSHORT *) (r), (e)); \
- else \
- { \
- unsigned EMUSHORT w[4]; \
- w[3] = ((EMUSHORT *) r)[0]; \
- w[2] = ((EMUSHORT *) r)[1]; \
- w[1] = ((EMUSHORT *) r)[2]; \
- w[0] = ((EMUSHORT *) r)[3]; \
- e53toe (w, (e)); \
- } \
+#define GET_REAL(r,e) \
+do { \
+ if (HOST_FLOAT_WORDS_BIG_ENDIAN == REAL_WORDS_BIG_ENDIAN) \
+ e53toe ((unsigned EMUSHORT *) (r), (e)); \
+ else \
+ { \
+ unsigned EMUSHORT w[4]; \
+ bcopy (((EMUSHORT *) r), &w[3], sizeof (EMUSHORT)); \
+ bcopy (((EMUSHORT *) r) + 1, &w[2], sizeof (EMUSHORT)); \
+ bcopy (((EMUSHORT *) r) + 2, &w[1], sizeof (EMUSHORT)); \
+ bcopy (((EMUSHORT *) r) + 3, &w[0], sizeof (EMUSHORT)); \
+ e53toe (w, (e)); \
+ } \
} while (0)
-#define PUT_REAL(e,r) \
-do { \
- if (HOST_FLOAT_WORDS_BIG_ENDIAN == REAL_WORDS_BIG_ENDIAN) \
- etoe53 ((e), (unsigned EMUSHORT *) (r)); \
- else \
- { \
- unsigned EMUSHORT w[4]; \
- etoe53 ((e), w); \
- *((EMUSHORT *) r) = w[3]; \
- *((EMUSHORT *) r + 1) = w[2]; \
- *((EMUSHORT *) r + 2) = w[1]; \
- *((EMUSHORT *) r + 3) = w[0]; \
- } \
+#define PUT_REAL(e,r) \
+do { \
+ if (HOST_FLOAT_WORDS_BIG_ENDIAN == REAL_WORDS_BIG_ENDIAN) \
+ etoe53 ((e), (unsigned EMUSHORT *) (r)); \
+ else \
+ { \
+ unsigned EMUSHORT w[4]; \
+ etoe53 ((e), w); \
+ bcopy (&w[3], ((EMUSHORT *) r), sizeof (EMUSHORT)); \
+ bcopy (&w[2], ((EMUSHORT *) r) + 1, sizeof (EMUSHORT)); \
+ bcopy (&w[1], ((EMUSHORT *) r) + 2, sizeof (EMUSHORT)); \
+ bcopy (&w[0], ((EMUSHORT *) r) + 3, sizeof (EMUSHORT)); \
+ } \
} while (0)
#else /* not REAL_ARITHMETIC */
@@ -6400,17 +6400,19 @@ ereal_from_double (d)
/* Convert array of HOST_WIDE_INT to equivalent array of 16-bit pieces. */
if (REAL_WORDS_BIG_ENDIAN)
{
+#if HOST_BITS_PER_WIDE_INT == 32
s[0] = (unsigned EMUSHORT) (d[0] >> 16);
s[1] = (unsigned EMUSHORT) d[0];
-#if HOST_BITS_PER_WIDE_INT == 32
s[2] = (unsigned EMUSHORT) (d[1] >> 16);
s[3] = (unsigned EMUSHORT) d[1];
#else
/* In this case the entire target double is contained in the
first array element. The second element of the input is
ignored. */
- s[2] = (unsigned EMUSHORT) (d[0] >> 48);
- s[3] = (unsigned EMUSHORT) (d[0] >> 32);
+ s[0] = (unsigned EMUSHORT) (d[0] >> 48);
+ s[1] = (unsigned EMUSHORT) (d[0] >> 32);
+ s[2] = (unsigned EMUSHORT) (d[0] >> 16);
+ s[3] = (unsigned EMUSHORT) d[0];
#endif
}
else
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 787b5a18032..42caefa0a42 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -1186,8 +1186,16 @@ static rtx
stack_result (decl)
tree decl;
{
- rtx result = DECL_RTL (DECL_RESULT (decl));
+ rtx result;
+ /* If the value is supposed to be returned in memory, then clearly
+ it is not returned in a stack register. */
+ if (aggregate_value_p (DECL_RESULT (decl)))
+ return 0;
+
+ result = DECL_RTL (DECL_RESULT (decl));
+ /* ?!? What is this code supposed to do? Can this code actually
+ trigger if we kick out aggregates above? */
if (result != 0
&& ! (GET_CODE (result) == REG
&& REGNO (result) < FIRST_PSEUDO_REGISTER))
@@ -1257,7 +1265,7 @@ stack_reg_life_analysis (first, stackentry)
function into the epilogue. */
if (GET_CODE (block_end[blocks-1]) != JUMP_INSN
- || GET_CODE (PATTERN (block_end[blocks-1])) == RETURN)
+ || returnjump_p (block_end[blocks-1]))
mark_regs_pat (retvalue, block_out_reg_set+blocks-1);
}
}
@@ -2640,43 +2648,46 @@ change_stack (insn, old, new, when)
if (old->top != new->top)
abort ();
- /* Loop here emitting swaps until the stack is correct. The
- worst case number of swaps emitted is N + 2, where N is the
+ /* If the stack is not empty (new->top != -1), loop here emitting
+ swaps until the stack is correct.
+
+ The worst case number of swaps emitted is N + 2, where N is the
depth of the stack. In some cases, the reg at the top of
stack may be correct, but swapped anyway in order to fix
other regs. But since we never swap any other reg away from
its correct slot, this algorithm will converge. */
- do
- {
- /* Swap the reg at top of stack into the position it is
- supposed to be in, until the correct top of stack appears. */
+ if (new->top != -1)
+ do
+ {
+ /* Swap the reg at top of stack into the position it is
+ supposed to be in, until the correct top of stack appears. */
- while (old->reg[old->top] != new->reg[new->top])
- {
- for (reg = new->top; reg >= 0; reg--)
- if (new->reg[reg] == old->reg[old->top])
- break;
+ while (old->reg[old->top] != new->reg[new->top])
+ {
+ for (reg = new->top; reg >= 0; reg--)
+ if (new->reg[reg] == old->reg[old->top])
+ break;
- if (reg == -1)
- abort ();
+ if (reg == -1)
+ abort ();
- emit_swap_insn (insn, old,
- FP_MODE_REG (old->reg[reg], DFmode));
- }
+ emit_swap_insn (insn, old,
+ FP_MODE_REG (old->reg[reg], DFmode));
+ }
- /* See if any regs remain incorrect. If so, bring an
+ /* See if any regs remain incorrect. If so, bring an
incorrect reg to the top of stack, and let the while loop
above fix it. */
- for (reg = new->top; reg >= 0; reg--)
- if (new->reg[reg] != old->reg[reg])
- {
- emit_swap_insn (insn, old,
- FP_MODE_REG (old->reg[reg], DFmode));
- break;
- }
- } while (reg >= 0);
+ for (reg = new->top; reg >= 0; reg--)
+ if (new->reg[reg] != old->reg[reg])
+ {
+ emit_swap_insn (insn, old,
+ FP_MODE_REG (old->reg[reg], DFmode));
+ break;
+ }
+ } while (reg >= 0);
/* At this point there must be no differences. */
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 1b6ec9a4b6a..4e162882bd8 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -693,7 +693,7 @@ static int loop_cost;
static rtx scan_one_insn PROTO((rtx, int));
static void record_reg_classes PROTO((int, int, rtx *, enum machine_mode *,
- const char **, rtx));
+ char *, const char **, rtx));
static int copy_cost PROTO((rtx, enum machine_mode,
enum reg_class, int));
static void record_address_regs PROTO((rtx, enum reg_class, int));
@@ -757,6 +757,7 @@ scan_one_insn (insn, pass)
enum rtx_code pat_code;
const char *constraints[MAX_RECOG_OPERANDS];
enum machine_mode modes[MAX_RECOG_OPERANDS];
+ char subreg_changes_size[MAX_RECOG_OPERANDS];
rtx set, note;
int i, j;
@@ -794,6 +795,7 @@ scan_one_insn (insn, pass)
constraints[i] = recog_constraints[i];
modes[i] = recog_operand_mode[i];
}
+ memset (subreg_changes_size, 0, sizeof (subreg_changes_size));
/* If this insn loads a parameter from its stack slot, then
it represents a savings, rather than a cost, if the
@@ -881,7 +883,12 @@ scan_one_insn (insn, pass)
op_costs[i] = init_cost;
if (GET_CODE (recog_operand[i]) == SUBREG)
- recog_operand[i] = SUBREG_REG (recog_operand[i]);
+ {
+ rtx inner = SUBREG_REG (recog_operand[i]);
+ if (GET_MODE_SIZE (modes[i]) != GET_MODE_SIZE (GET_MODE (inner)))
+ subreg_changes_size[i] = 1;
+ recog_operand[i] = inner;
+ }
if (GET_CODE (recog_operand[i]) == MEM)
record_address_regs (XEXP (recog_operand[i], 0),
@@ -910,12 +917,12 @@ scan_one_insn (insn, pass)
xconstraints[i] = constraints[i+1];
xconstraints[i+1] = constraints[i];
record_reg_classes (recog_n_alternatives, recog_n_operands,
- recog_operand, modes, xconstraints,
- insn);
+ recog_operand, modes, subreg_changes_size,
+ xconstraints, insn);
}
record_reg_classes (recog_n_alternatives, recog_n_operands, recog_operand,
- modes, constraints, insn);
+ modes, subreg_changes_size, constraints, insn);
/* Now add the cost for each operand to the total costs for
its register. */
@@ -1131,11 +1138,13 @@ regclass (f, nregs)
alternatives. */
static void
-record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
+record_reg_classes (n_alts, n_ops, ops, modes, subreg_changes_size,
+ constraints, insn)
int n_alts;
int n_ops;
rtx *ops;
enum machine_mode *modes;
+ char *subreg_changes_size;
const char **constraints;
rtx insn;
{
@@ -1394,6 +1403,16 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn)
constraints[i] = p;
+#ifdef CLASS_CANNOT_CHANGE_SIZE
+ /* If we noted a subreg earlier, and the selected class is a
+ subclass of CLASS_CANNOT_CHANGE_SIZE, zap it. */
+ if (subreg_changes_size[i]
+ && (reg_class_subunion[(int) CLASS_CANNOT_CHANGE_SIZE]
+ [(int) classes[i]]
+ == CLASS_CANNOT_CHANGE_SIZE))
+ classes[i] = NO_REGS;
+#endif
+
/* How we account for this operand now depends on whether it is a
pseudo register or not. If it is, we first check if any
register classes are valid. If not, we ignore this alternative,
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 81a3520a4fe..800859582c7 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -62,7 +62,7 @@ static int find_matches PROTO((rtx, struct match *));
static int fixup_match_1 PROTO((rtx, rtx, rtx, rtx, rtx, int, int, int, FILE *))
;
static int reg_is_remote_constant_p PROTO((rtx, rtx, rtx));
-static int stable_but_for_p PROTO((rtx, rtx, rtx));
+static int stable_and_no_regs_but_for_p PROTO((rtx, rtx, rtx));
static int regclass_compatible_p PROTO((int, int));
static int loop_depth;
@@ -1663,6 +1663,12 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
rtx src_note = find_reg_note (insn, REG_DEAD, src), dst_note;
int length, s_length, true_loop_depth;
+ /* If SRC is marked as unchanging, we may not change it.
+ ??? Maybe we could get better code by removing the unchanging bit
+ instead, and changing it back if we don't succeed? */
+ if (RTX_UNCHANGING_P (src))
+ return 0;
+
if (! src_note)
{
/* Look for (set (regX) (op regA constX))
@@ -1679,7 +1685,7 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
&& XEXP (SET_SRC (set), 0) == src
&& GET_CODE (XEXP (SET_SRC (set), 1)) == CONST_INT)
insn_const = INTVAL (XEXP (SET_SRC (set), 1));
- else if (! stable_but_for_p (SET_SRC (set), src, dst))
+ else if (! stable_and_no_regs_but_for_p (SET_SRC (set), src, dst))
return 0;
else
/* We might find a src_note while scanning. */
@@ -2089,10 +2095,16 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
}
-/* return nonzero if X is stable but for mentioning SRC or mentioning /
- changing DST . If in doubt, presume it is unstable. */
+/* return nonzero if X is stable and mentions no regsiters but for
+ mentioning SRC or mentioning / changing DST . If in doubt, presume
+ it is unstable.
+ The rationale is that we want to check if we can move an insn easily
+ while just paying attention to SRC and DST. A register is considered
+ stable if it has the RTX_UNCHANGING_P bit set, but that would still
+ leave the burden to update REG_DEAD / REG_UNUSED notes, so we don't
+ want any registers but SRC and DST. */
static int
-stable_but_for_p (x, src, dst)
+stable_and_no_regs_but_for_p (x, src, dst)
rtx x, src, dst;
{
RTX_CODE code = GET_CODE (x);
@@ -2103,13 +2115,19 @@ stable_but_for_p (x, src, dst)
int i;
char *fmt = GET_RTX_FORMAT (code);
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
- if (fmt[i] == 'e' && ! stable_but_for_p (XEXP (x, i), src, dst))
+ if (fmt[i] == 'e'
+ && ! stable_and_no_regs_but_for_p (XEXP (x, i), src, dst))
return 0;
return 1;
}
case 'o':
- if (x == src || x == dst)
- return 1;
+ if (code == REG)
+ return x == src || x == dst;
+ /* If this is a MEM, look inside - there might be a register hidden in
+ the address of an unchanging MEM. */
+ if (code == MEM
+ && ! stable_and_no_regs_but_for_p (XEXP (x, 0), src, dst))
+ return 0;
/* fall through */
default:
return ! rtx_unstable_p (x);
diff --git a/gcc/reload.c b/gcc/reload.c
index a68f2efa661..7b4b38d88dc 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -1,5 +1,6 @@
/* Search an insn for pseudo regs that must be in hard regs and are not.
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -322,7 +323,6 @@ static int find_reusable_reload PROTO((rtx *, rtx, enum reg_class,
static rtx find_dummy_reload PROTO((rtx, rtx, rtx *, rtx *,
enum machine_mode, enum machine_mode,
enum reg_class, int, int));
-static int earlyclobber_operand_p PROTO((rtx));
static int hard_reg_set_here_p PROTO((int, int, rtx));
static struct decomposition decompose PROTO((rtx));
static int immune_p PROTO((rtx, rtx, struct decomposition));
@@ -591,7 +591,13 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
if (in_p && icode == CODE_FOR_nothing
&& SECONDARY_MEMORY_NEEDED (class, reload_class, mode))
- get_secondary_mem (x, reload_mode, opnum, type);
+ {
+ get_secondary_mem (x, reload_mode, opnum, type);
+
+ /* We may have just added new reloads. Make sure we add
+ the new reload at the end. */
+ s_reload = n_reloads;
+ }
#endif
/* We need to make a new secondary reload for this register class. */
@@ -1360,8 +1366,18 @@ push_reload (in, out, inloc, outloc, class,
are identical in content, there might be duplicate address
reloads. Remove the extra set now, so that if we later find
that we can inherit this reload, we can get rid of the
- address reloads altogether. */
- if (reload_in[i] != in && rtx_equal_p (in, reload_in[i]))
+ address reloads altogether.
+
+ Do not do this if both reloads are optional since the result
+ would be an optional reload which could potentially leave
+ unresolved address replacements.
+
+ It is not sufficient to call transfer_replacements since
+ choose_reload_regs will remove the replacements for address
+ reloads of inherited reloads which results in the same
+ problem. */
+ if (reload_in[i] != in && rtx_equal_p (in, reload_in[i])
+ && ! (reload_optional[i] && optional))
{
/* We must keep the address reload with the lower operand
number alive. */
@@ -1519,12 +1535,23 @@ push_reload (in, out, inloc, outloc, class,
&& GET_MODE_SIZE (inmode) <= GET_MODE_SIZE (GET_MODE (XEXP (note, 0)))
&& HARD_REGNO_MODE_OK (regno, inmode)
&& GET_MODE_SIZE (outmode) <= GET_MODE_SIZE (GET_MODE (XEXP (note, 0)))
- && HARD_REGNO_MODE_OK (regno, outmode)
- && TEST_HARD_REG_BIT (reg_class_contents[(int) class], regno)
- && !fixed_regs[regno])
+ && HARD_REGNO_MODE_OK (regno, outmode))
{
- reload_reg_rtx[i] = gen_rtx_REG (inmode, regno);
- break;
+ unsigned int offs;
+ unsigned int nregs = MAX (HARD_REGNO_NREGS (regno, inmode),
+ HARD_REGNO_NREGS (regno, outmode));
+
+ for (offs = 0; offs < nregs; offs++)
+ if (fixed_regs[regno + offs]
+ || ! TEST_HARD_REG_BIT (reg_class_contents[(int) class],
+ regno + offs))
+ break;
+
+ if (offs == nregs)
+ {
+ reload_reg_rtx[i] = gen_rtx_REG (inmode, regno);
+ break;
+ }
}
}
@@ -1979,7 +2006,7 @@ find_dummy_reload (real_in, real_out, inloc, outloc,
/* Return 1 if X is an operand of an insn that is being earlyclobbered. */
-static int
+int
earlyclobber_operand_p (x)
rtx x;
{
@@ -3793,11 +3820,16 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
(insn_code_number < 0 ? 0
: insn_operand_strict_low[insn_code_number][i]),
1, i, operand_type[i]);
- /* If a memory reference remains, yet we can't make an optional
+ /* If a memory reference remains (either as a MEM or a pseudo that
+ did not get a hard register), yet we can't make an optional
reload, check if this is actually a pseudo register reference;
we then need to emit a USE and/or a CLOBBER so that reload
inheritance will do the right thing. */
- else if (replace && GET_CODE (operand) == MEM)
+ else if (replace
+ && (GET_CODE (operand) == MEM
+ || (GET_CODE (operand) == REG
+ && REGNO (operand) >= FIRST_PSEUDO_REGISTER
+ && reg_renumber [REGNO (operand)] < 0)))
{
operand = *recog_operand_loc[i];
@@ -4651,7 +4683,7 @@ find_reloads_address (mode, memrefloc, ad, loc, opnum, type, ind_levels, insn)
else if (regno < FIRST_PSEUDO_REGISTER
&& REGNO_MODE_OK_FOR_BASE_P (regno, mode)
- && ! regno_clobbered_p (regno, this_insn))
+ && ! regno_clobbered_p (regno, this_insn, GET_MODE (ad), 0))
return 0;
/* If we do not have one of the cases above, we must do the reload. */
@@ -5331,7 +5363,12 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
&& (*insn_operand_predicate[icode][0]) (equiv, Pmode)
&& (*insn_operand_predicate[icode][1]) (equiv, Pmode)))
{
- loc = &XEXP (x, 0);
+ /* We use the original pseudo for loc, so that
+ emit_reload_insns() knows which pseudo this
+ reload refers to and updates the pseudo rtx, not
+ its equivalent memory location, as well as the
+ corresponding entry in reg_last_reload_reg. */
+ loc = &XEXP (x_orig, 0);
x = XEXP (x, 0);
reloadnum
= push_reload (x, x, loc, loc,
@@ -5339,13 +5376,6 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
GET_MODE (x), GET_MODE (x), 0, 0,
opnum, RELOAD_OTHER);
- /* If we created a new MEM based on reg_equiv_mem[REGNO], then
- LOC above is part of the new MEM, not the MEM in INSN.
-
- We must also replace the address of the MEM in INSN. */
- if (&XEXP (x_orig, 0) != loc)
- push_replacement (&XEXP (x_orig, 0), reloadnum, VOIDmode);
-
}
else
{
@@ -5485,7 +5515,7 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
in this insn, reload it into some other register to be safe.
The CLOBBER is supposed to make the register unavailable
from before this insn to after it. */
- if (regno_clobbered_p (regno, this_insn))
+ if (regno_clobbered_p (regno, this_insn, GET_MODE (x), 0))
{
push_reload (x, NULL_RTX, loc, NULL_PTR,
(context ? INDEX_REG_CLASS : BASE_REG_CLASS),
@@ -6245,16 +6275,29 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
&& (valtry
= operand_subword (SET_DEST (pat), 1, 0, VOIDmode))
&& (valueno = true_regnum (valtry)) >= 0)))
- if (other >= 0
- ? valueno == other
- : ((unsigned) valueno < FIRST_PSEUDO_REGISTER
- && TEST_HARD_REG_BIT (reg_class_contents[(int) class],
- valueno)))
- {
- value = valtry;
- where = p;
- break;
- }
+ {
+ if (other >= 0)
+ {
+ if (valueno != other)
+ continue;
+ }
+ else if ((unsigned) valueno >= FIRST_PSEUDO_REGISTER)
+ continue;
+ else
+ {
+ int i;
+
+ for (i = HARD_REGNO_NREGS (valueno, mode) - 1; i >= 0; i--)
+ if (! TEST_HARD_REG_BIT (reg_class_contents[(int) class],
+ valueno + i))
+ break;
+ if (i >= 0)
+ continue;
+ }
+ value = valtry;
+ where = p;
+ break;
+ }
}
}
@@ -6297,15 +6340,22 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
&& regno < valueno + HARD_REGNO_NREGS (valueno, mode))
return 0;
+ nregs = HARD_REGNO_NREGS (regno, mode);
+ valuenregs = HARD_REGNO_NREGS (valueno, mode);
+
/* Reject VALUE if it is one of the regs reserved for reloads.
Reload1 knows how to reuse them anyway, and it would get
confused if we allocated one without its knowledge.
(Now that insns introduced by reload are ignored above,
this case shouldn't happen, but I'm not positive.) */
- if (reload_reg_p != 0 && reload_reg_p != (short *) (HOST_WIDE_INT) 1
- && reload_reg_p[valueno] >= 0)
- return 0;
+ if (reload_reg_p != 0 && reload_reg_p != (short *) (HOST_WIDE_INT) 1)
+ {
+ int i;
+ for (i = 0; i < valuenregs; ++i)
+ if (reload_reg_p[valueno + i] >= 0)
+ return 0;
+ }
/* On some machines, certain regs must always be rejected
because they don't behave the way ordinary registers do. */
@@ -6315,9 +6365,6 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
return 0;
#endif
- nregs = HARD_REGNO_NREGS (regno, mode);
- valuenregs = HARD_REGNO_NREGS (valueno, mode);
-
/* Reject VALUE if it is a register being used for an input reload
even if it is not one of those reserved. */
@@ -6353,16 +6400,23 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
/* Don't trust the conversion past a function call
if either of the two is in a call-clobbered register, or memory. */
- if (GET_CODE (p) == CALL_INSN
- && ((regno >= 0 && regno < FIRST_PSEUDO_REGISTER
- && call_used_regs[regno])
- ||
- (valueno >= 0 && valueno < FIRST_PSEUDO_REGISTER
- && call_used_regs[valueno])
- ||
- goal_mem
- || need_stable_sp))
- return 0;
+ if (GET_CODE (p) == CALL_INSN)
+ {
+ int i;
+
+ if (goal_mem || need_stable_sp)
+ return 0;
+
+ if (regno >= 0 && regno < FIRST_PSEUDO_REGISTER)
+ for (i = 0; i < nregs; ++i)
+ if (call_used_regs[regno + i])
+ return 0;
+
+ if (valueno >= 0 && valueno < FIRST_PSEUDO_REGISTER)
+ for (i = 0; i < valuenregs; ++i)
+ if (call_used_regs[valueno + i])
+ return 0;
+ }
#ifdef NON_SAVING_SETJMP
if (NON_SAVING_SETJMP && GET_CODE (p) == NOTE
@@ -6598,13 +6652,23 @@ find_inc_amount (x, inced)
/* Return 1 if register REGNO is the subject of a clobber in insn INSN. */
int
-regno_clobbered_p (regno, insn)
+regno_clobbered_p (regno, insn, mode, sets)
int regno;
rtx insn;
+ enum machine_mode mode;
+ int sets;
{
- if (GET_CODE (PATTERN (insn)) == CLOBBER
+ int nregs = HARD_REGNO_NREGS (regno, mode);
+ int endregno = regno + nregs;
+
+ if ((GET_CODE (PATTERN (insn)) == CLOBBER
+ || (sets && GET_CODE (PATTERN (insn)) == SET))
&& GET_CODE (XEXP (PATTERN (insn), 0)) == REG)
- return REGNO (XEXP (PATTERN (insn), 0)) == regno;
+ {
+ int test = REGNO (XEXP (PATTERN (insn), 0));
+
+ return test >= regno && test < endregno;
+ }
if (GET_CODE (PATTERN (insn)) == PARALLEL)
{
@@ -6613,9 +6677,15 @@ regno_clobbered_p (regno, insn)
for (; i >= 0; i--)
{
rtx elt = XVECEXP (PATTERN (insn), 0, i);
- if (GET_CODE (elt) == CLOBBER && GET_CODE (XEXP (elt, 0)) == REG
- && REGNO (XEXP (elt, 0)) == regno)
- return 1;
+ if ((GET_CODE (elt) == CLOBBER
+ || (sets && GET_CODE (PATTERN (insn)) == SET))
+ && GET_CODE (XEXP (elt, 0)) == REG)
+ {
+ int test = REGNO (XEXP (elt, 0));
+
+ if (test >= regno && test < endregno)
+ return 1;
+ }
}
}
diff --git a/gcc/reload.h b/gcc/reload.h
index 968d3124af4..19988098ace 100644
--- a/gcc/reload.h
+++ b/gcc/reload.h
@@ -1,5 +1,6 @@
/* Communication between reload.c and reload1.c.
- Copyright (C) 1987, 91-95, 97, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -296,7 +297,7 @@ extern rtx find_equiv_reg PROTO((rtx, rtx, enum reg_class, int, short *,
int, enum machine_mode));
/* Return 1 if register REGNO is the subject of a clobber in insn INSN. */
-extern int regno_clobbered_p PROTO((int, rtx));
+extern int regno_clobbered_p PROTO((int, rtx, enum machine_mode, int));
/* Functions in reload1.c: */
@@ -342,3 +343,5 @@ extern void save_call_clobbered_regs PROTO((void));
/* Replace (subreg (reg)) with the appropriate (reg) for any operands. */
extern void cleanup_subreg_operands PROTO ((rtx));
+
+extern int earlyclobber_operand_p PROTO((rtx));
diff --git a/gcc/reload1.c b/gcc/reload1.c
index f16ed109875..e95ff5e7ef5 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -1,5 +1,6 @@
/* Reload pseudo regs into hard regs for insns that require hard regs.
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -420,9 +421,13 @@ static void clear_reload_reg_in_use PROTO((int, int, enum reload_type,
enum machine_mode));
static int reload_reg_free_p PROTO((int, int, enum reload_type));
static int reload_reg_free_for_value_p PROTO((int, int, enum reload_type, rtx, rtx, int, int));
+static int free_for_value_p PROTO((int, enum machine_mode, int,
+ enum reload_type, rtx, rtx,
+ int, int));
static int reload_reg_reaches_end_p PROTO((int, int, enum reload_type));
static int allocate_reload_reg PROTO((struct insn_chain *, int, int,
int));
+static int conflicts_with_override PROTO((rtx));
static void choose_reload_regs PROTO((struct insn_chain *));
static void merge_assigned_reloads PROTO((rtx));
static void emit_reload_insns PROTO((struct insn_chain *));
@@ -4518,7 +4523,10 @@ forget_old_reloads_1 (x, ignored)
reload reg in the current instruction. */
if (n_reloads == 0
|| ! TEST_HARD_REG_BIT (reg_is_output_reload, regno + i))
- CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i);
+ {
+ CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i);
+ spill_reg_store[regno + i] = 0;
+ }
}
/* Since value of X has changed,
@@ -4577,6 +4585,8 @@ reload_reg_class_lower (r1p, r2p)
/* The following HARD_REG_SETs indicate when each hard register is
used for a reload of various parts of the current insn. */
+/* If reg is unavailable for all reloads. */
+static HARD_REG_SET reload_reg_unavailable;
/* If reg is in use as a reload reg for a RELOAD_OTHER reload. */
static HARD_REG_SET reload_reg_used;
/* If reg is in use for a RELOAD_FOR_INPUT_ADDRESS reload for operand I. */
@@ -4799,8 +4809,8 @@ reload_reg_free_p (regno, opnum, type)
{
int i;
- /* In use for a RELOAD_OTHER means it's not available for anything. */
- if (TEST_HARD_REG_BIT (reload_reg_used, regno))
+ if (TEST_HARD_REG_BIT (reload_reg_used, regno)
+ || TEST_HARD_REG_BIT (reload_reg_unavailable, regno))
return 0;
switch (type)
@@ -5133,7 +5143,7 @@ reloads_conflict (r1, r2)
return (r2_type == RELOAD_FOR_INSN || r2_type == RELOAD_FOR_OUTPUT
|| ((r2_type == RELOAD_FOR_OUTPUT_ADDRESS
|| r2_type == RELOAD_FOR_OUTADDR_ADDRESS)
- && r2_opnum >= r1_opnum));
+ && r2_opnum <= r1_opnum));
case RELOAD_FOR_INSN:
return (r2_type == RELOAD_FOR_INPUT || r2_type == RELOAD_FOR_OUTPUT
@@ -5171,25 +5181,8 @@ rtx reload_override_in[MAX_RELOADS];
or -1 if we did not need a register for this reload. */
int reload_spill_index[MAX_RELOADS];
-/* Return 1 if the value in reload reg REGNO, as used by a reload
- needed for the part of the insn specified by OPNUM and TYPE,
- may be used to load VALUE into it.
-
- Other read-only reloads with the same value do not conflict
- unless OUT is non-zero and these other reloads have to live while
- output reloads live.
- If OUT is CONST0_RTX, this is a special case: it means that the
- test should not be for using register REGNO as reload register, but
- for copying from register REGNO into the reload register.
+/* Subroutine of free_for_value_p, used to check a single register. */
- RELOADNUM is the number of the reload we want to load this value for;
- a reload does not conflict with itself.
-
- When IGNORE_ADDRESS_RELOADS is set, we can not have conflicts with
- reloads that load an address for the very reload we are considering.
-
- The caller has to make sure that there is no conflict with the return
- register. */
static int
reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
ignore_address_reloads)
@@ -5201,9 +5194,20 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
int ignore_address_reloads;
{
int time1;
+ /* Set if we see an input reload that must not share its reload register
+ with any new earlyclobber, but might otherwise share the reload
+ register with an output or input-output reload. */
+ int check_earlyclobber = 0;
int i;
int copy = 0;
+ /* ??? reload_reg_used is abused to hold the registers that are not
+ available as spill registers, including hard registers that are
+ earlyclobbered in asms. As a temporary measure, reject anything
+ in reload_reg_used. */
+ if (TEST_HARD_REG_BIT (reload_reg_unavailable, regno))
+ return 0;
+
if (out == const0_rtx)
{
copy = 1;
@@ -5228,7 +5232,8 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
switch (type)
{
case RELOAD_FOR_OTHER_ADDRESS:
- time1 = 0;
+ /* RELOAD_FOR_OTHER_ADDRESS conflicts with RELOAD_OTHER reloads. */
+ time1 = copy ? 0 : 1;
break;
case RELOAD_OTHER:
time1 = copy ? 1 : MAX_RECOG_OPERANDS * 5 + 5;
@@ -5320,6 +5325,7 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
break;
case RELOAD_FOR_INPUT:
time2 = reload_opnum[i] * 4 + 4;
+ check_earlyclobber = 1;
break;
/* reload_opnum[i] * 4 + 4 <= (MAX_RECOG_OPERAND - 1) * 4 + 4
== MAX_RECOG_OPERAND * 4 */
@@ -5332,6 +5338,7 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
break;
case RELOAD_FOR_OPERAND_ADDRESS:
time2 = MAX_RECOG_OPERANDS * 4 + 2;
+ check_earlyclobber = 1;
break;
case RELOAD_FOR_INSN:
time2 = MAX_RECOG_OPERANDS * 4 + 3;
@@ -5360,6 +5367,9 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
if (! reload_in[i] || rtx_equal_p (reload_in[i], value))
{
time2 = MAX_RECOG_OPERANDS * 4 + 4;
+ /* Earlyclobbered outputs must conflict with inputs. */
+ if (earlyclobber_operand_p (reload_out[i]))
+ time2 = MAX_RECOG_OPERANDS * 4 + 3;
break;
}
time2 = 1;
@@ -5382,9 +5392,71 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
}
}
}
+
+ /* Earlyclobbered outputs must conflict with inputs. */
+ if (check_earlyclobber && out && earlyclobber_operand_p (out))
+ return 0;
+
+ return 1;
+}
+
+/* Return 1 if the value in reload reg REGNO, as used by a reload
+ needed for the part of the insn specified by OPNUM and TYPE,
+ may be used to load VALUE into it.
+
+ MODE is the mode in which the register is used, this is needed to
+ determine how many hard regs to test.
+
+ Other read-only reloads with the same value do not conflict
+ unless OUT is non-zero and these other reloads have to live while
+ output reloads live.
+ If OUT is CONST0_RTX, this is a special case: it means that the
+ test should not be for using register REGNO as reload register, but
+ for copying from register REGNO into the reload register.
+
+ RELOADNUM is the number of the reload we want to load this value for;
+ a reload does not conflict with itself.
+
+ When IGNORE_ADDRESS_RELOADS is set, we can not have conflicts with
+ reloads that load an address for the very reload we are considering.
+
+ The caller has to make sure that there is no conflict with the return
+ register. */
+
+static int
+free_for_value_p (regno, mode, opnum, type, value, out, reloadnum,
+ ignore_address_reloads)
+ int regno;
+ enum machine_mode mode;
+ int opnum;
+ enum reload_type type;
+ rtx value, out;
+ int reloadnum;
+ int ignore_address_reloads;
+{
+ int nregs = HARD_REGNO_NREGS (regno, mode);
+ while (nregs-- > 0)
+ if (! reload_reg_free_for_value_p (regno + nregs, opnum, type, value, out,
+ reloadnum, ignore_address_reloads))
+ return 0;
return 1;
}
+/* Determine whether the reload reg X overlaps any rtx'es used for
+ overriding inheritance. Return nonzero if so. */
+
+static int
+conflicts_with_override (x)
+ rtx x;
+{
+ int i;
+ for (i = 0; i < n_reloads; i++)
+ if (reload_override_in[i]
+ && reg_overlap_mentioned_p (x, reload_override_in[i]))
+ return 1;
+ return 0;
+}
+
/* Find a spill register to use as a reload register for reload R.
LAST_RELOAD is non-zero if this is the last reload for the insn being
processed.
@@ -5465,11 +5537,10 @@ allocate_reload_reg (chain, r, last_reload, noerror)
/* We check reload_reg_used to make sure we
don't clobber the return register. */
&& ! TEST_HARD_REG_BIT (reload_reg_used, regnum)
- && reload_reg_free_for_value_p (regnum,
- reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- reload_out[r], r, 1)))
+ && free_for_value_p (regnum, reload_mode[r],
+ reload_opnum[r],
+ reload_when_needed[r],
+ reload_in[r], reload_out[r], r, 1)))
&& TEST_HARD_REG_BIT (reg_class_contents[class], regnum)
&& HARD_REGNO_MODE_OK (regnum, reload_mode[r])
/* Look first for regs to share, then for unshared. But
@@ -5662,7 +5733,7 @@ choose_reload_regs (chain)
CLEAR_HARD_REG_SET (reload_reg_used_in_outaddr_addr[i]);
}
- IOR_COMPL_HARD_REG_SET (reload_reg_used, chain->used_spill_regs);
+ COMPL_HARD_REG_SET (reload_reg_unavailable, chain->used_spill_regs);
#if 0 /* Not needed, now that we can always retry without inheritance. */
/* See if we have more mandatory reloads than spill regs.
@@ -5924,10 +5995,9 @@ choose_reload_regs (chain)
&& (reload_nregs[r] == max_group_size
|| ! TEST_HARD_REG_BIT (reg_class_contents[(int) group_class],
i))
- && reload_reg_free_for_value_p (i, reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- const0_rtx, r, 1))
+ && free_for_value_p (i, reload_mode[r], reload_opnum[r],
+ reload_when_needed[r], reload_in[r],
+ const0_rtx, r, 1))
{
/* If a group is needed, verify that all the subsequent
registers still have their values intact. */
@@ -5961,9 +6031,11 @@ choose_reload_regs (chain)
break;
if (i1 != n_earlyclobbers
- || ! (reload_reg_free_for_value_p
- (i, reload_opnum[r], reload_when_needed[r],
- reload_in[r], reload_out[r], r, 1))
+ || ! (free_for_value_p (i, reload_mode[r],
+ reload_opnum[r],
+ reload_when_needed[r],
+ reload_in[r],
+ reload_out[r], r, 1))
/* Don't use it if we'd clobber a pseudo reg. */
|| (TEST_HARD_REG_BIT (reg_used_in_insn, i)
&& reload_out[r]
@@ -5985,9 +6057,12 @@ choose_reload_regs (chain)
&& rtx_equal_p (reload_out[r],
reload_reg_rtx[r])))
{
- reload_override_in[r] = last_reg;
- reload_inheritance_insn[r]
- = reg_reloaded_insn[i];
+ if (! reload_optional[r])
+ {
+ reload_override_in[r] = last_reg;
+ reload_inheritance_insn[r]
+ = reg_reloaded_insn[i];
+ }
}
else
{
@@ -6065,10 +6140,11 @@ choose_reload_regs (chain)
and of the desired class. */
if (equiv != 0
&& ((TEST_HARD_REG_BIT (reload_reg_used_at_all, regno)
- && ! reload_reg_free_for_value_p (regno, reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- reload_out[r], r, 1))
+ && ! free_for_value_p (regno, reload_mode[r],
+ reload_opnum[r],
+ reload_when_needed[r],
+ reload_in[r], reload_out[r], r,
+ 1))
|| ! TEST_HARD_REG_BIT (reg_class_contents[(int) reload_reg_class[r]],
regno)))
equiv = 0;
@@ -6086,7 +6162,8 @@ choose_reload_regs (chain)
if (reg_overlap_mentioned_for_reload_p (equiv,
reload_earlyclobbers[i]))
{
- reload_override_in[r] = equiv;
+ if (! reload_optional[r])
+ reload_override_in[r] = equiv;
equiv = 0;
break;
}
@@ -6097,7 +6174,8 @@ choose_reload_regs (chain)
In particular, we then can't use EQUIV for a
RELOAD_FOR_OUTPUT_ADDRESS reload. */
- if (equiv != 0 && regno_clobbered_p (regno, insn))
+ if (equiv != 0 && regno_clobbered_p (regno, insn,
+ reload_mode[r], 0))
{
switch (reload_when_needed[r])
{
@@ -6109,13 +6187,32 @@ choose_reload_regs (chain)
case RELOAD_OTHER:
case RELOAD_FOR_INPUT:
case RELOAD_FOR_OPERAND_ADDRESS:
- reload_override_in[r] = equiv;
+ if (! reload_optional[r])
+ reload_override_in[r] = equiv;
/* Fall through. */
default:
equiv = 0;
break;
}
}
+ else if (regno_clobbered_p (regno, insn, reload_mode[r], 1))
+ switch (reload_when_needed[r])
+ {
+ case RELOAD_FOR_OTHER_ADDRESS:
+ case RELOAD_FOR_INPADDR_ADDRESS:
+ case RELOAD_FOR_INPUT_ADDRESS:
+ case RELOAD_FOR_OPADDR_ADDR:
+ case RELOAD_FOR_OPERAND_ADDRESS:
+ case RELOAD_FOR_INPUT:
+ break;
+ case RELOAD_OTHER:
+ if (! reload_optional[r])
+ reload_override_in[r] = equiv;
+ /* Fall through. */
+ default:
+ equiv = 0;
+ break;
+ }
/* If we found an equivalent reg, say no code need be generated
to load it, and use it as our reload reg. */
@@ -6276,13 +6373,12 @@ choose_reload_regs (chain)
check_reg = reload_override_in[r];
else
continue;
- if (! reload_reg_free_for_value_p (true_regnum (check_reg),
- reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- (reload_inherited[r]
- ? reload_out[r] : const0_rtx),
- r, 1))
+ if (! free_for_value_p (true_regnum (check_reg), reload_mode[r],
+ reload_opnum[r], reload_when_needed[r],
+ reload_in[r],
+ (reload_inherited[r]
+ ? reload_out[r] : const0_rtx),
+ r, 1))
{
if (pass)
continue;
@@ -6330,6 +6426,7 @@ choose_reload_regs (chain)
clear_reload_reg_in_use (regno, reload_opnum[j],
reload_when_needed[j], reload_mode[j]);
reload_reg_rtx[j] = 0;
+ reload_spill_index[j] = -1;
}
/* Record which pseudos and which spill regs have output reloads. */
@@ -6638,10 +6735,10 @@ emit_reload_insns (chain)
/* Don't use OLDEQUIV if any other reload changes it at an
earlier stage of this insn or at this stage. */
- if (! reload_reg_free_for_value_p (regno, reload_opnum[j],
- reload_when_needed[j],
- reload_in[j], const0_rtx, j,
- 0))
+ if (! free_for_value_p (regno, reload_mode[j],
+ reload_opnum[j],
+ reload_when_needed[j],
+ reload_in[j], const0_rtx, j, 0))
oldequiv = 0;
/* If it is no cheaper to copy from OLDEQUIV into the
@@ -6791,11 +6888,10 @@ emit_reload_insns (chain)
&& dead_or_set_p (insn, old)
/* This is unsafe if some other reload
uses the same reg first. */
- && reload_reg_free_for_value_p (REGNO (reloadreg),
- reload_opnum[j],
- reload_when_needed[j],
- old, reload_out[j],
- j, 0))
+ && ! conflicts_with_override (reloadreg)
+ && free_for_value_p (REGNO (reloadreg), reload_mode[j],
+ reload_opnum[j], reload_when_needed[j],
+ old, reload_out[j], j, 0))
{
rtx temp = PREV_INSN (insn);
while (temp && GET_CODE (temp) == NOTE)
@@ -7104,7 +7200,8 @@ emit_reload_insns (chain)
/* We don't need to test full validity of last_regno for
inherit here; we only want to know if the store actually
matches the pseudo. */
- if (reg_reloaded_contents[last_regno] == pseudo_no
+ if (TEST_HARD_REG_BIT (reg_reloaded_valid, last_regno)
+ && reg_reloaded_contents[last_regno] == pseudo_no
&& spill_reg_store[last_regno]
&& rtx_equal_p (pseudo, spill_reg_stored_to[last_regno]))
delete_output_reload (insn, j, last_regno);
@@ -7280,7 +7377,7 @@ emit_reload_insns (chain)
|| !(set = single_set (insn))
|| rtx_equal_p (old, SET_DEST (set))
|| !reg_mentioned_p (old, SET_SRC (set))
- || !regno_clobbered_p (REGNO (old), insn))
+ || !regno_clobbered_p (REGNO (old), insn, reload_mode[j], 0))
gen_reload (old, reloadreg, reload_opnum[j],
reload_when_needed[j]);
}
@@ -7819,9 +7916,13 @@ gen_reload (out, in, opnum, type)
DEFINE_PEEPHOLE should be specified that recognizes the sequence
we emit below. */
+ code = (int) add_optab->handlers[(int) GET_MODE (out)].insn_code;
+
if (CONSTANT_P (op1) || GET_CODE (op1) == MEM || GET_CODE (op1) == SUBREG
|| (GET_CODE (op1) == REG
- && REGNO (op1) >= FIRST_PSEUDO_REGISTER))
+ && REGNO (op1) >= FIRST_PSEUDO_REGISTER)
+ || (code != CODE_FOR_nothing
+ && ! (*insn_operand_predicate[code][2]) (op1, insn_operand_mode[code][2])))
tem = op0, op0 = op1, op1 = tem;
gen_reload (out, op0, opnum, type);
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 8eba5eab5d9..efbf588d769 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1,5 +1,6 @@
/* Register Transfer Language (RTL) definitions for GNU C-Compiler
- Copyright (C) 1987, 91-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1084,6 +1085,7 @@ extern int for_each_rtx PROTO((rtx *, rtx_function, void *));
extern rtx regno_use_in PROTO((int, rtx));
extern int auto_inc_p PROTO((rtx));
extern void remove_node_from_expr_list PROTO((rtx, rtx *));
+extern int insns_safe_to_move_p PROTO((rtx, rtx, rtx *));
/* flow.c */
@@ -1390,7 +1392,7 @@ extern int subreg_realpart_p PROTO ((rtx));
extern void reverse_comparison PROTO ((rtx));
extern void set_new_first_and_last_insn PROTO ((rtx, rtx));
extern void set_new_first_and_last_label_num PROTO ((int, int));
-extern void unshare_all_rtl PROTO ((rtx));
+extern void unshare_all_rtl_again PROTO ((rtx));
extern void set_last_insn PROTO ((rtx));
extern void link_cc0_insns PROTO ((rtx));
extern void add_insn PROTO ((rtx));
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index fb4f87c07de..d1b94323b36 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1,5 +1,6 @@
/* Analyze RTL for C-Compiler
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2289,3 +2290,82 @@ auto_inc_p (x)
}
return 0;
}
+
+/* Return 1 if the sequence of instructions beginning with FROM and up
+ to and including TO is safe to move. If NEW_TO is non-NULL, and
+ the sequence is not already safe to move, but can be easily
+ extended to a sequence which is safe, then NEW_TO will point to the
+ end of the extended sequence.
+
+ For now, this function only checks that the region contains whole
+ exception regiongs, but it could be extended to check additional
+ conditions as well. */
+
+int
+insns_safe_to_move_p (from, to, new_to)
+ rtx from;
+ rtx to;
+ rtx *new_to;
+{
+ int eh_region_count = 0;
+ int past_to_p = 0;
+ rtx r = from;
+
+ /* By default, assume the end of the region will be what was
+ suggested. */
+ if (new_to)
+ *new_to = to;
+
+ while (r)
+ {
+ if (GET_CODE (r) == NOTE)
+ {
+ switch (NOTE_LINE_NUMBER (r))
+ {
+ case NOTE_INSN_EH_REGION_BEG:
+ ++eh_region_count;
+ break;
+
+ case NOTE_INSN_EH_REGION_END:
+ if (eh_region_count == 0)
+ /* This sequence of instructions contains the end of
+ an exception region, but not he beginning. Moving
+ it will cause chaos. */
+ return 0;
+
+ --eh_region_count;
+ break;
+
+ default:
+ break;
+ }
+ }
+ else if (past_to_p)
+ /* If we've passed TO, and we see a non-note instruction, we
+ can't extend the sequence to a movable sequence. */
+ return 0;
+
+ if (r == to)
+ {
+ if (!new_to)
+ /* It's OK to move the sequence if there were matched sets of
+ exception region notes. */
+ return eh_region_count == 0;
+
+ past_to_p = 1;
+ }
+
+ /* It's OK to move the sequence if there were matched sets of
+ exception region notes. */
+ if (past_to_p && eh_region_count == 0)
+ {
+ *new_to = r;
+ return 1;
+ }
+
+ /* Go to the next instruction. */
+ r = NEXT_INSN (r);
+ }
+
+ return 0;
+}
diff --git a/gcc/sched.c b/gcc/sched.c
index f4e893987a2..f09a68ae369 100644
--- a/gcc/sched.c
+++ b/gcc/sched.c
@@ -587,7 +587,7 @@ insn_unit (insn)
range, don't cache it. */
if (FUNCTION_UNITS_SIZE < HOST_BITS_PER_SHORT
|| unit >= 0
- || (~unit & ((1 << (HOST_BITS_PER_SHORT - 1)) - 1)) == 0)
+ || (unit & ~((1 << (HOST_BITS_PER_SHORT - 1)) - 1)) == 0)
INSN_UNIT (insn) = unit;
}
return (unit > 0 ? unit - 1 : unit);
@@ -2309,12 +2309,15 @@ attach_deaths (x, insn, set_p)
if (regno >= FIRST_PSEUDO_REGISTER || ! global_regs[regno])
{
- /* Never add REG_DEAD notes for the FRAME_POINTER_REGNUM or the
- STACK_POINTER_REGNUM, since these are always considered to be
- live. Similarly for ARG_POINTER_REGNUM if it is fixed. */
- if (regno != FRAME_POINTER_REGNUM
+ /* Never add REG_DEAD notes for STACK_POINTER_REGNUM
+ since it's always considered to be live. Similarly
+ for FRAME_POINTER_REGNUM if a frame pointer is needed
+ and for ARG_POINTER_REGNUM if it is fixed. */
+ if (! (regno == FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
- && ! (regno == HARD_FRAME_POINTER_REGNUM)
+ && ! (regno == HARD_FRAME_POINTER_REGNUM
+ && (! reload_completed || frame_pointer_needed))
#endif
#if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM
&& ! (regno == ARG_POINTER_REGNUM && fixed_regs[regno])
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 41bc736681d..6ca6197bc58 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -1,5 +1,6 @@
/* Expands front end tree to back end RTL for GNU C-Compiler
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -88,45 +89,6 @@ static rtx last_block_end_note;
/* Number of binding contours started so far in this function. */
int block_start_count;
-
-/* Nonzero if function being compiled needs to
- return the address of where it has put a structure value. */
-
-extern int current_function_returns_pcc_struct;
-
-/* Label that will go on parm cleanup code, if any.
- Jumping to this label runs cleanup code for parameters, if
- such code must be run. Following this code is the logical return label. */
-
-extern rtx cleanup_label;
-
-/* Label that will go on function epilogue.
- Jumping to this label serves as a "return" instruction
- on machines which require execution of the epilogue on all returns. */
-
-extern rtx return_label;
-
-/* Offset to end of allocated area of stack frame.
- If stack grows down, this is the address of the last stack slot allocated.
- If stack grows up, this is the address for the next slot. */
-extern int frame_offset;
-
-/* Label to jump back to for tail recursion, or 0 if we have
- not yet needed one for this function. */
-extern rtx tail_recursion_label;
-
-/* Place after which to insert the tail_recursion_label if we need one. */
-extern rtx tail_recursion_reentry;
-
-/* Location at which to save the argument pointer if it will need to be
- referenced. There are two cases where this is done: if nonlocal gotos
- exist, or if vars whose is an offset from the argument pointer will be
- needed by inner routines. */
-
-extern rtx arg_pointer_save_area;
-
-/* Chain of all RTL_EXPRs that have insns in them. */
-extern tree rtl_expr_chain;
/* Functions and data structures for expanding case statements. */
@@ -1390,7 +1352,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
}
else
{
- output_rtx[i] = assign_temp (type, 0, 0, 0);
+ output_rtx[i] = assign_temp (type, 0, 0, 1);
TREE_VALUE (tail) = make_tree (type, output_rtx[i]);
}
@@ -2550,15 +2512,15 @@ expand_value_return (val)
#ifdef PROMOTE_FUNCTION_RETURN
tree type = TREE_TYPE (DECL_RESULT (current_function_decl));
int unsignedp = TREE_UNSIGNED (type);
+ enum machine_mode old_mode
+ = DECL_MODE (DECL_RESULT (current_function_decl));
enum machine_mode mode
- = promote_mode (type, DECL_MODE (DECL_RESULT (current_function_decl)),
- &unsignedp, 1);
+ = promote_mode (type, old_mode, &unsignedp, 1);
- if (GET_MODE (val) != VOIDmode && GET_MODE (val) != mode)
- convert_move (return_reg, val, unsignedp);
- else
+ if (mode != old_mode)
+ val = convert_modes (mode, old_mode, val, unsignedp);
#endif
- emit_move_insn (return_reg, val);
+ emit_move_insn (return_reg, val);
}
if (GET_CODE (return_reg) == REG
&& REGNO (return_reg) < FIRST_PSEUDO_REGISTER)
@@ -2703,6 +2665,7 @@ expand_return (retval)
tree expr;
do_jump (TREE_OPERAND (retval_rhs, 0), label, NULL_RTX);
+ start_cleanup_deferral ();
expr = build (MODIFY_EXPR, TREE_TYPE (TREE_TYPE (current_function_decl)),
DECL_RESULT (current_function_decl),
TREE_OPERAND (retval_rhs, 1));
@@ -2715,6 +2678,7 @@ expand_return (retval)
TREE_OPERAND (retval_rhs, 2));
TREE_SIDE_EFFECTS (expr) = 1;
expand_return (expr);
+ end_cleanup_deferral ();
return;
}
@@ -3349,8 +3313,11 @@ expand_nl_goto_receivers (thisblock)
}
/* Generate RTL code to terminate a binding contour.
- VARS is the chain of VAR_DECL nodes
- for the variables bound in this contour.
+
+ VARS is the chain of VAR_DECL nodes for the variables bound in this
+ contour. There may actually be other nodes in this chain, but any
+ nodes other than VAR_DECLS are ignored.
+
MARK_ENDS is nonzero if we should put a note at the beginning
and end of this binding contour.
@@ -3387,7 +3354,8 @@ expand_end_bindings (vars, mark_ends, dont_jump_in)
if (warn_unused)
for (decl = vars; decl; decl = TREE_CHAIN (decl))
- if (! TREE_USED (decl) && TREE_CODE (decl) == VAR_DECL
+ if (TREE_CODE (decl) == VAR_DECL
+ && ! TREE_USED (decl)
&& ! DECL_IN_SYSTEM_HEADER (decl)
&& DECL_NAME (decl) && ! DECL_ARTIFICIAL (decl))
warning_with_decl (decl, "unused variable `%s'");
@@ -3493,11 +3461,8 @@ expand_end_bindings (vars, mark_ends, dont_jump_in)
if (obey_regdecls)
for (decl = vars; decl; decl = TREE_CHAIN (decl))
- {
- rtx rtl = DECL_RTL (decl);
- if (TREE_CODE (decl) == VAR_DECL && rtl != 0)
- use_variable (rtl);
- }
+ if (TREE_CODE (decl) == VAR_DECL && DECL_RTL (decl))
+ use_variable (DECL_RTL (decl));
/* Restore the temporary level of TARGET_EXPRs. */
target_temp_slot_level = thisblock->data.block.target_temp_slot_level;
diff --git a/gcc/system.h b/gcc/system.h
index 3ec73a6cab1..06457874667 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -1,6 +1,6 @@
/* system.h - Get common system includes and various definitions and
declarations based on autoconf macros.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -22,6 +22,11 @@ Boston, MA 02111-1307, USA. */
#ifndef __GCC_SYSTEM_H__
#define __GCC_SYSTEM_H__
+/* This is the location of the online document giving information how
+ to report bugs. If you change this string, also check for strings
+ not under control of the preprocessor. */
+#define GCCBUGURL "<URL:http://www.gnu.org/software/gcc/bugs.html>"
+
/* We must include stdarg.h/varargs.h before stdio.h. */
#ifdef ANSI_PROTOTYPES
#include <stdarg.h>
@@ -249,6 +254,9 @@ extern int errno;
#ifndef WEXITSTATUS
#define WEXITSTATUS(S) (((S) & 0xff00) >> 8)
#endif
+#ifndef WSTOPSIG
+#define WSTOPSIG WEXITSTATUS
+#endif
@@ -330,6 +338,10 @@ extern char *getwd ();
extern char *sbrk ();
#endif
+#ifdef NEED_DECLARATION_STRSTR
+extern char *strstr ();
+#endif
+
#ifdef HAVE_STRERROR
# ifdef NEED_DECLARATION_STRERROR
# ifndef strerror
@@ -391,9 +403,9 @@ extern void fatal PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORE
trim_filename (__FILE__), __LINE__)
#else
#define abort() fatal ("Internal compiler error in `%s', at %s:%d\n" \
- "Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.\n" \
- "See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.", \
- __PRETTY_FUNCTION__, trim_filename (__FILE__), __LINE__)
+ "Please submit a full bug report.\n" \
+ "See %s for instructions.", \
+ __PRETTY_FUNCTION__, trim_filename (__FILE__), __LINE__, GCCBUGURL)
#endif /* recent gcc */
/* trim_filename is in toplev.c. Define a stub macro for files that
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
deleted file mode 100644
index e87f1843458..00000000000
--- a/gcc/testsuite/ChangeLog
+++ /dev/null
@@ -1,3168 +0,0 @@
-1999-05-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * gcc.c-torture/compile/990517-1.c: New test.
-
- * gcc.c-torture/execute/990326-1.c: Force bitfields to be aligned.
- (e4, f4): New tests.
- (main): Call them.
-
-1999-05-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gcc.dg/noreturn-1.c: New test.
-
-Thu May 13 02:02:46 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * gcc.c-torture/execute/990513-1.c: New test.
-
-1999-05-10 Richard Henderson <rth@cygnus.com>
-
- * g++.old-deja/g++.other/null1.C (g): Add overload for long.
-
-1999-05-10 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/erfc.f: Use small single-precision
- values, to avoid problems on Alphas when not -mieee.
-
-1999-05-08 Craig Burley <craig@jcb-sc.com>
-
- * gcc.dg/990506-0.c: New test.
-
-1999-05-08 Richard Henderson <rth@cygnus.com>
-
- * g++.old-deja/g++.benjamin/p12475.C: Use LONG_MAX to find
- the constant to test. Don't XFAIL 64-bit targets.
-
- * g++.old-deja/g++.jason/thunk3.C: Don't XFAIL Alpha.
- * g++.old-deja/g++.law/profile1.C: Likewise.
-
- * g++.old-deja/g++.other/delete4.C: Define size_t; use it in all
- operator new instances.
- * g++.old-deja/g++.other/delete5.C: Likewise.
-
-1999-05-03 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f (main): Declare ABORT as
- intrinsic.
-
-1999-05-03 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f: Reverse order of two
- arguments to CTIME_subr, DTIME_subr, ETIME_subr, and TTYNAM_subr.
-
-1999-05-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * gcc.dg/compare1.c: New test.
-
-1999-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/cast-qual-1.c, gcc.dg/return-type-1.c, gcc.dg/unused-1.c:
- New tests.
-
-1999-05-02 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/compile/19990502-1.f: New test.
-
-1999-05-02 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/compile/19990502-0.f: New test.
-
-Sun May 2 01:38:50 1999 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f (main): Declare FTELL as
- intrinsic.
-
-Sun May 2 01:13:37 1999 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f (main): List libU77
- intrinsics not currently tested.
- Add tests for TIME8, CTIME_subr, IARGC, TTYNAM_subr,
- GETENV, FDATE_subr, DTIME_subr, ETIME_subr, DATE, ITIME,
- FTELL_subr, MCLOCK, MCLOCK8, and CPU_TIME.
- Trim blanks off the ends of some printed strings.
-
-Sun May 2 00:06:45 1999 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f (main): Just warn about
- FSTAT gid disagreement, as it's expected on some systems.
-
-Sat May 1 23:57:18 1999 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f: Generalize sum-checking to
- use a new function, which allows for some slop.
- Clean up some commentary.
- (issum): The new function.
- (sgladd): Deleted subroutine.
-
-1999-05-01 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f: Modify to be more like
- libf2c/libU77 version, bringing patches to that version here.
- Add suitable commentary.
-
-Sun Apr 25 12:28:59 1999 Richard Henderson <rth@cygnus.com>
-
- * gcc.dg/990424-1.c: New test.
-
-1999-04-24 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/u77-test.f (main): Bug involving
- LSTAT has been fixed, so turn back on full checking.
-
-1999-04-20 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/compile/19990419-0.f: New test.
- * g77.f-torture/execute/19990419-1.f: New test.
-
-Sat Apr 17 16:56:48 1999 Richard Henderson <rth@cygnus.com>
-
- * gcc.dg/uninit-9.c (func): Use __builtin_alloca instead of alloca
- to avoid the need for a prototype to supress a warning.
-
-Sun Apr 4 04:02:53 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/990404-1.c: New test.
-
-1999-04-03 10:35 -0500 Zack Weinberg <zack@rabi.columbia.edu>
-
- * gcc.dg/cpp-if1.c: Adjust regexps to accommodate cccp.
- * gcc.dg/cpp-if3.c: Don't use -pedantic.
- * gcc.misc-tests/m-un-2.c: Adjust regexps for new format of
- missing initializer warnings.
-
-Sun Mar 28 00:49:41 1999 Jeffrey A Law (law@cygnus.com)
-
- * lib/objc-torture.exp: Replace "77" with "Obj-C" in pattern
- matching strings.
-
-Fri Mar 26 00:50:46 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/990326-1.c: New test from Charles Hannum.
-
-1999-03-26 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/19990325-0.f: New test.
- * g77.f-torture/execute/19990325-1.f: New test.
-
-Wed Mar 24 22:50:50 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/990324-1.c: New test.
-
-1999-03-13 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/19990313-2.f: New test.
- * g77.f-torture/execute/19990313-3.f: New test.
-
-1999-03-13 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/19990313-0.f: New test.
- * g77.f-torture/execute/19990313-1.f: New test.
-
-1999-03-08 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/19981119-0.f: Improve testiness.
-
-1999-03-08 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/compile/19990305-0.f: New test.
- * g77.f-torture/execute/19981119-0.f: New test.
-
-1999-03-08 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/970625-2.f: call ABORT if final
- result is not correct, instead of just printing it.
- Add this checking via newly introduced obfuscation, to
- trip up buggy front ends.
-
-1999-03-07 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/compile/960317-1.f: Moved from being
- in execute/. (Somehow I didn't notice "SUBROUTINE...".)
-
-1999-03-06 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/execute/960317-1.f: New (old) test.
- * g77.f-torture/execute/970625-2.f: Ditto.
-
-Mon Mar 1 23:29:14 1999 Jeffrey A Law (law@cygnus.com)
-
- * g++.old-deja/g++.law/weak1.C: New test.
-
-1999-02-28 17:59 -0500 Zack Weinberg <zack@rabi.columbia.edu>
-
- * gcc.c-torture/execute/990119-1.c: Renamed to...
- * gcc.dg/990119-1.c: this, so it will only be tested once
- (it's a preprocessor test, it doesn't need to be run at
- multiple optimization levels).
-
-1999-02-27 13:34 -0500 Zack Weinberg <zack@rabi.columbia.edu>
-
- * lib/g++.exp: Don't add incdir=$base_dir/../include to
- ALWAYS_CXXFLAGS.
-
-1999-02-24 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/noncompile/19981216-0.f: Renamed from...
- * g77.f-torture/compile/19981216-0.f: ...as it is expected
- to not be compilable by current g77.
-
-1999-02-24 Nick Clifton <nickc@cygnus.com>
-
- * lib/c-torture.exp: Add -O3 to TORTURE_OPTIONS list.
-
-Mon Feb 22 01:15:08 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/990222-1.c: New test.
-
-1999-02-19 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/compile/19990218-0.f: New test.
- * g77.f-torture/noncompile/19990218-1.f: New test.
-
-1999-02-18 Craig Burley <craig@jcb-sc.com>
-
- * g77.f-torture/compile/19981216-0.f: New test.
-
-Sun Feb 14 01:26:29 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/990214-1.c: New test.
-
-Sat Feb 13 00:43:52 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/990213-2.c: New test.
-
- * gcc.dg/990213-1.c: New test.
-
-Fri Feb 12 11:04:35 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/990106-2.c: Update to work on targets with 16bit
- ints.
-
-1999-02-11 Nick Clifton <nickc@cygnus.com>
-
- * lib/gcc.exp (proc gcc_target_compile): Add support for timeout
- specified by target.
-
- * lib/chill.exp: Fix typo: doesn'timeout -> doesn't
-
-Thu Feb 11 01:12:12 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/990211-1.c: New test from Nathan SIdwell.
-
-Wed Feb 10 13:08:12 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
-
- * gcc.dg/special/ecos.exp: New test driver for new tests with
- special requirements.
-
- * gcc.dg/special/alias-1.c: New test.
- * gcc.dg/special/gcsec-1.c: New test.
- * gcc.dg/special/weak-1.c: New test.
- * gcc.dg/special/weak-1a.c: Accompanying file to weak-1.c.
- * gcc.dg/special/weak-2.c: New test.
- * gcc.dg/special/weak-2a.c: Accompanying file to weak-2.c.
- * gcc.dg/special/weak-2b.c: Accompanying file to weak-2.c.
- * gcc.dg/special/wkali-1.c: New test.
- * gcc.dg/special/wkali-2.c: New test.
- * gcc.dg/special/wkali-2a.c: Accompanying file to wkali-2.c.
- * gcc.dg/special/wkali-2b.c: Accompanying file to wkali-2.c.
-
-Wed Feb 10 12:15:35 1999 Felix Lee <flee@cygnus.com>
-
- * lib/c-torture.exp (c-torture-compile): Pull out code for
- analyzing gcc error messages.
- (c-torture-execute): Likewise. Fix some (harmless) false
- positives.
- * lib/gcc.exp (gcc_check_compile): New function.
-
-Mon Feb 8 21:42:57 1999 Richard Henderson <rth@cygnus.com>
-
- * gcc.c-torture/execute/990208-1.c: New test.
-
-1999-02-07 Jonathan Larmour <jlarmour@cygnus.co.uk>
-
- * g++.dg/special/ecos.exp: New driver for new tests with special
- requirements
-
- * g++.dg/special/conpr-1.C: New test
- * g++.dg/special/conpr-2.C: New test
- * g++.dg/special/conpr-2a.C: New test
- * g++.dg/special/conpr-3.C: New test
- * g++.dg/special/conpr-3a.C: New test
- * g++.dg/special/conpr-3b.C: New test
-
- * lib/g++-dg.exp: New driver file, based on lib/gcc-dg.exp to
- allow g++ to use the dg driver
-
- * README: Add comment about g++.dg directory
-
-Sat Feb 6 18:00:38 1999 Jeffrey A Law (law@cygnus.com)
-
- * README: Update email addresses.
-
-Sat Jan 30 16:22:47 1999 Richard Henderson <rth@cygnus.com>
-
- * gcc.c-torture/execute/990130-1.c: New test.
-
-Sat Jan 30 11:10:06 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/990130-1.c: New test.
-
-1999-01-27 Felix Lee <flee@cygnus.com>
-
- * lib/c-torture.exp (c-torture-compile): pull out code for
- analyzing gcc error messages.
- (c-torture-execute): ditto, and fix some (harmless) false
- positives.
- * lib/gcc.exp (gcc_check_compile): new function.
-
-Sun Jan 17 00:02:33 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/990117-1.c: New test.
-
- * gcc.c-torture/compile/990117-1.c: New test from Horst von Brand.
-
- * gcc.c-torture/execute/990117-1.c: New test from HJ Lu.
-
-Fri Jan 15 02:52:00 1999 Jeffrey A Law (law@cygnus.com)
-
- * g77.f-torture/compile/990115-1.f: New test.
-
-Thu Jan 7 23:39:47 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/990107-1.c: New test
-
-Wed Jan 6 02:21:59 1999 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/990106-2.c: New test.
-
- * gcc.c-torture/execute/990106-1.c: New test.
-
-Wed Dec 30 23:05:28 1998 Zack Weinberg <zack@rabi.columbia.edu>
-
- * gcc.c-torture/compile/981223-1.c: New test.
-
-Tue Dec 29 11:33:25 1998 Richard Henderson <rth@cygnus.com>
-
- * gcc.c-torture/execute/bcp-1.c (bad10): Rename from opt3.
- (opt3): Rename from opt4 and disable.
-
-1998-12-20 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/ptrmem5.C: New test.
-
-1998-12-15 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/conv5.C: New test.
-
-Fri Dec 11 10:25:57 1998 Jeffrey A Law (law@cygnus.com)
-
- * g++.old-deja/g++.benjamin/p12475.C: Expect failure on mips64 targets.
-
-Fri Dec 11 01:12:45 1998 Zack Weinberg <zack@rabi.columbia.edu>
-
- * gcc.c-torture/compile/981211-1.c: New test.
-
-1998-12-09 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * gcc.dg/ultrasp1.c: Empty dg-options, avoid `long long' warnings.
-
- * g++.old-deja/g++.pt/instantiate6.C: Linker error, not crash.
-
-Tue Dec 8 22:50:04 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * gcc.special/930510-1.c: Make C9X safe.
- * gcc.misc-tests/gcov-1.c Similarly.
- * gcc.misc-tests/gcov-2.c Similarly.
-
-1998-12-06 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * gcc.dg/ultrasp1.c: New test.
-
-Sun Dec 6 00:40:12 1998 Richard Henderson <rth@cygnus.com>
-
- * gcc.c-torture/execute/981206.c: New test.
-
-1998-12-06 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.ns/template7.C: New test.
-
- * g++.old-deja/g++.other/expr1.C: New test.
-
- * g++.old-deja/g++.eh/tmpl3.C: New test.
-
- * g++.old-deja/g++.eh/tmpl2.C: New test.
-
-1998-12-04 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/using5.C: Usified using[567].C here.
- * g++.old-deja/g++.other/using6.C: Removed.
- * g++.old-deja/g++.other/using7.C: Mark Mitchel removed it.
-
- * g++.old-deja/g++.pt/spec20.C: Re-insert non-bogus ERROR marks.
-
-1998-12-03 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/overload8.C: New test.
-
- * g++.old-deja/g++.pt/overload7.C: New test.
-
- * g++.old-deja/g++.pt/spec20.C: ERROR marks were bogus.
-
- * lib/old-dejagnu.exp (old-dejagnu): Ignore collect recompiling
- and relinking messages.
- * lib/g++.exp (g++_target_compile): Remove .rpo file when
- compiling with -frepo.
-
-1998-12-01 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/lookup6.C: New test.
-
-1998-11-27 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/explicit76.C: New test.
-
- * g++.old-deja/g++.pt/friend38.C: New test.
-
- * g++.old-deja/g++.ns/crash2.C: New test.
-
- * g++.old-deja/g++.pt/defarg8.C: New test.
-
- * g++.old-deja/g++.pt/instantiate6.C: New test.
-
- * g++.old-deja/g++.pt/static6.C: New test.
-
- * g++.old-deja/g++.pt/decl2.C: New test.
-
-1998-11-26 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/lookup5.C: New test. Not sure the
- problem is actually related with name lookup, but so what? :-)
-
- * g++.old-deja/g++.pt/friend37.C: New test.
-
-1998-11-25 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/u77-test.f (main): Avoid testing [f]statb
- element, which fails on some systems.
-
- * g77.f-torture/execute/labug1.f: New test.
-
-Sat Nov 21 21:41:05 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980526-1.c: Do nothing if NO_LABEL_VALUES
- is defined.
-
-1998-11-18 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/compile/981117-1.f: New test.
-
-1998-11-16 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.eh/throw2.C: New test. CV-qualifiers are not
- properly discarded.
-
-1998-11-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * README: New file, general information about the testsuite and
- new description of the various C++ test subdirectories.
- * README.g++: Eliminate obsolete information, update and move most
- relevant stuff to README.
-
-Sat Nov 7 02:55:55 1998 Richard Henderson <rth@cygnus.com>
-
- * gcc.c-torture/compile/981107-1.c: New test.
-
-Mon Nov 2 11:16:03 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * execute/memcpy-bi.c: New testcase.
-
-1998-10-31 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/sizeof3.C: A similar testcase not involving
- base classes.
-
- * g++.old-deja/g++.pt/sizeof2.C: Incorrect specialization of base
- template is selected.
-
- * g++.old-deja/g++.ext/arrnew2.C: If new T[n](i) is accepted for
- classes, it should be accepted for all types.
-
- * g++.old-deja/g++.eh/sjlj1.C: Test checked sjlj-exception.
-
- * g++.old-deja/g++.pt/spec24.C: Ensure that template
- specializations start with template headers.
-
-1998-10-29 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/dcast2.C: Cannot dynamic downcast &x.
-
- * g++.old-deja/g++.other/init9.C: Test cross initialization of
- non-POD types.
-
-1998-10-27 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * lib/old-dejagnu.exp (old-dejagnu): Document `Additional sources'.
-
-Thu Oct 22 16:01:44 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * compile/981022-1.c, compile/981022-1.x: New test and driver.
-
-Mon Oct 19 14:03:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * 981019-1.c: New test.
-
-Wed Oct 14 21:11:19 1998 Robert Lipe <robertl@dgii.com>
-
- * lib/objc-torture.exp (objc-torture-execute): Add -I so we can
- find objc headers.
-
-1998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * compile/981001-4.c: Remove use of GCC extension that triggers a
- compiler bug.
-
-1998-10-13 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * lib/old-dejagnu.exp (old-dejagnu): Support `Additional sources:'.
-
-1998-10-12 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/explicit74.C: New test. Explicit
- instantiation of template produces incorrect code for delete
- expression.
-
- * g++.old-deja/g++.pt/instantiate5.C: New test. `global
- constructors' name is not unique.
- * g++.old-deja/g++.pt/instantiate5.cc: Ditto.
- * g++.old-deja/g++.pt/instantiate5-main.cc: Ditto.
-
- * g++.old-deja/g++.other/init8.C: New test. Uninitialized
- automatic array of const is ill-formed.
-
- * g++.old-deja/g++.pt/ttp53.C: New test. Incorrect substitution
- of template parameter?
-
- * g++.old-deja/g++.other/conv3.C: New test. Conversion discards
- const.
-
- * g++.old-deja/g++.other/pmf2.C: New test. Invalid
- pointer-to-member expression.
-
- * g++.old-deja/g++.other/friend5.C: New test. Bogus friend
- declaration causes ICE.
-
-1998-10-11 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.ns/main1.C: New test. main() should only be
- reserved in the global namespace.
-
- * g++.old-deja/g++.pt/instantiate4.C: New test: -frepo does not
- generate needed virtual table.
-
- * lib/old-dejagnu.exp (old-dejagnu): Support `Build then link:'.
-
-1998-10-10 Dariush Eslimi <eslimi@loran.com>
-
- * g++.old-deja/g++.ext/typeof1.C: New test; typeof based on
- template-dependent type
-
-1998-10-10 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.brendan/parse3.C: XFAILs, not ERRORs.
- * g++.old-deja/g++.brendan/parse5.C: XFAILs, not ERRORs.
- * g++.old-deja/g++.brendan/parse6.C: XFAILs, not ERRORs.
-
- * g++.old-deja/g++.other/using5.C: New test; using decl from base
- class should be usable as argument of member function.
- * g++.old-deja/g++.other/using6.C: New test; using decl from base
- class should be usable as return type of member function.
- * g++.old-deja/g++.other/using7.C: New test; using decl from base
- class should be usable as type of data member.
-
- * g++.old-deja/g++.ns/extern1.C: Fix XFAIL mark.
-
-Fri Oct 9 19:19:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/special/920521-1.c: Fix bogus test.
-
-Thu Oct 8 19:14:05 1998 Nick Clifton <nickc@cygnus.com>
-
- * gcc.dg/dll-?.c Add thumb to target list.
- Fix assembler scan patterns to match current assembler output.
-
-1998-10-08 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/expr6.C: New test. operator?: breaks
- matching of template brackets.
-
- * g++.old-deja/g++.other/using4.C: New test. Test using
- declarations of methods from base classes.
-
- * g++.old-deja/g++.ns/extern1.C: New test. Extern declarations
- within functions should introduce names into the innermost
- enclosing namespace.
-
- * g++.old-deja/g++.other/init7.C: New test. Retry initialization
- of static locals if first initialization throws.
-
-Wed Oct 7 12:00:20 1998 Jim Wilson <wilson@cygnus.com>
-
- * gcc.c-torture/compile/981007-1.c: New test for irix6 -O0 core dump.
-
-1998-10-06 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/friend35.C: New test. A template function
- must be declared before its specializations can be named in friend
- declarations.
-
-1998-10-05 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/u77-test.f: Add regression test for RAND.
-
- * g77.f-torture/execute/io1.f: New test.
-
-1998-10-04 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/overload5.C: New test; initialize variable
- with pointer to template function, for which no argument deduction
- is possible.
-
- * g++.old-deja/g++.pt/overload4.C: New test; passing pointer to
- specialization of template function as argument to template
- function.
-
- * g++.old-deja/g++.other/access2.C: New test; Inner class
- shouldn't have privileged access to Outer's names.
-
-1998-10-03 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/friend34.C: New test; name injection of
- friend template declared within template class conflicts with
- nested class of the same name.
-
- * g++.old-deja/g++.other/badopt1.C: New test; post-increment
- is ignored.
-
- * g++.old-deja/g++.other/decl1.C: New test; incorrect parsing of
- object with direct initializer as function declaration.
-
- * g++.old-deja/g++.other/decl2.C: New test; duplicate
- initializers.
-
- * g++.old-deja/g++.other/null2.C: New test; conditional operator
- involving const pointer and NULL produces incorrect result.
-
- * g++.old-deja/g++.other/typename1.C: New test; template-dependent
- type name without `typename' should be rejected with -pedantic.
-
-Fri Oct 2 21:55:58 1998 Richard Henderson <rth@cygnus.com>
-
- * g++.old-deja/g++.other/addrof1.C: New test.
-
-Thu Oct 1 19:05:20 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/981001-2.c: New test.
- * gcc.c-torture/compile/981001-3.c: New test.
- * gcc.c-torture/compile/981001-4.c: New test.
-
-1998-10-01 Robert Lipe <robertl@dgii.com>
-
- * lib/objc.exp (objc_target_compile): Add -L during compiles for
- multilibbed hosts. Idea grafted from g77.exp.
-
-1998-09-30 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/u77-test.f (main): Excise `hostnm' to
- avoid losing on systems which need -lsocket.
-
-1998-09-28 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/bitfld1.C: Expected failure.
- * g++.old-deja/g++.other/nested2.C: Ditto.
- * g++.old-deja/g++.robertl/eb132.C: No longer an expected
- failure.
-
-1998-09-26 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/bitfld1.C: Built-in operator!= should be
- preferred over template operator!= for enum bitfields.
-
-1998-09-18 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/nested2.C: Different virtual base classes
- that happen to have the same base name, but in different scopes,
- are incorrectly rejected.
-
-1998-09-16 Richard Henderson <rth@cygnus.com>
-
- * g++.old-deja/g++.brendan/array1.C: Size array via arithmetic based
- on the native word size instead of an integer literal.
-
-1998-09-15 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/static2.C: Invocation of static data
- member of type pointer-to-function denoted as non-static member.
-
- * g++.old-deja/g++.other/typedef5.C: Add some more tests involving
- checks involving function types and aliases.
-
-1998-09-12 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/typedef5.C: Check whether typedefs can be
- redefined to the same non-trivial type.
-
- * g++.old-deja/g++.pt/explicit73.C: Test for proper
- namespace-qualification of template specializations declared in
- other namespaces.
-
- * g++.old-deja/g++.other/friend4.C: Check whether it is possible
- to declare a subset of the specializations of a template function
- as friends of specializations of a template class.
-
- * g++.old-deja/g++.pt/explicit71.C: Make sure specializations of
- member templates that do not fully specialize the enclosing
- template class are rejected.
-
-1998-09-11 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/u77-test.f: Fix bad consistency checks.
-
-1998-09-08 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/u77-test.f (main): New file, somewhat
- altered from libf2c/libU77 version.
-
-1998-09-06 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/io0.f: Test formatted direct i/o too.
-
-1998-09-04 Reid M. Pinchback <reidmp@MIT.EDU>, Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.pt/explicit72.C: Ensure that char and
- (un)signed char are different types for template specialization
- purposes.
-
-Thu Sep 3 00:40:32 1998 Ovidiu Predescu <ovidiu@aracnet.com>
-
- * lib/{objc.exp,objc-torture.exp}: New files for objc testing harness.
- * objc: ObjC testsuite.
-
-Mon Aug 31 15:19:32 1998 Nick Clifton <nickc@cygnus.com>
-
- * lib/c-torture.exp: Add support for
- torture_eval_before_compile and torture_eval_before_execute
- variables.
-
-Sun Aug 30 17:38:20 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/980626-1.c: Delete this test. We've declared the warning
- this test triggers valid.
-
-Thu Aug 27 23:59:18 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/980827-1.c: New test.
-
-Wed Aug 26 16:25:38 1998 Nick Clifton <nickc@cygnus.com>
-
- * lib/c-torture.exp: Add support for
- torture_eval_before_compile and torture_eval_before_execute
- variables.
-
-Tue Aug 25 19:42:13 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/980825-1.c: New test.
-
-Mon Aug 24 16:38:52 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/930326-1.x: Fix typo.
-
-1998-08-23 Mark Mitchell <mark@markmitchell.com>
-
- * lib/old-dejagnu.exp: Make it possible to XFAIL a test that
- causes an ICE.
-
-Fri Aug 21 23:59:18 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/unsorted/memtst.c: Reduce size of array when
- STACK_SIZE is defined.
- * gcc.c-torture/unsorted/stuct.c: Similarly.
-
- * gcc.c-torture/compile/980821-1.c: New test.
-
-Fri Aug 21 03:14:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980526-2.c: Disable for targets with 16bit ints.
-
-1998-08-19 Mark Mitchell <mark@markmitchell.com>
-
- * lib/old-dejagnu.exp (old-dejagnu): Remove sig6/sig11 handling
- code.
-
-1998-08-09 Mark Mitchell <mark@markmitchell.com>
-
- * lib/old-dejagnu.exp: Revise handling of `Internal compiler
- error'.
-
-Tue Aug 18 19:19:50 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/*.x: Some updates for the h8300 targets.
-
-Sun Aug 16 01:29:19 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/980816-1.c: New test.
-
- * gcc.dg/980816-1.c: New test.
-
-1998-08-01 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/compile/980729-0.f: New test.
-
-1998-07-30 Ken Raeburn <raeburn@cygnus.com>
-
- * gcc.c-torture/special/eeprof-1.c: New test, for
- -finstrument-functions.
- * gcc.c-torture/special/special.exp: Run it.
-
-Wed Jul 29 00:17:18 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/980729-1.c: New test.
-
-1998-07-26 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/noncompile/980615-0.f: New test.
-
-Sun Jul 26 01:15:56 1998 H.J. Lu (hjl@gnu.org)
-
- * gcc.dg/980312-1.c: Do link instead of compile.
- * gcc.dg/980313-1.c: Likewise.
-
-Sun Jul 26 01:05:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/980726-1.c: New test.
-
-1998-07-25 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/io0.f: New test.
-
-Fri Jul 17 14:19:32 1998 Nick Clifton <nickc@cygnus.com>
-
- * gcc.dg/980626-1.c: Expect failures for all toolchains until
- c-decl.c:grokdeclarator can handle mode attributes.
-
-Thu Jul 16 21:42:50 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980716-1.c: New test.
-
-Mon Jul 13 22:26:37 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/920715-1.x: No longer expected to fail on
- the mn10200.
- * gcc.c-torture/execute/strct-varg-1.x: New file. Expect failure on
- the mn10200.
- * gcc.c-torture/execute/va-arg-3.x: Similarly.
- * gcc.c-torture/compile/930326-1.x: Similarly.
-
-1998-07-13 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/auto0.f, g77.f-torture/execute/auto1.f:
- New test from Craig.
-
-1998-07-12 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/noncompile/980616-0.f: New test.
-
- * g77.f-torture/execute/970816-3.f: New test from Craig.
-
-Fri Jul 10 23:43:33 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
-
- * g++.other/singleton.C: Return error value instead of taking
- SIGSEGV.
-
-Fri Jul 10 10:02:03 1998 Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-
- * g++.other/singleton.C: New test. Warning is under dispute.
- Runtime crash is not.
-
-Thu Jul 9 23:07:45 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
-
- * g++.ns/{alias2.C, alias5.C, koenig4.C, lookup3.C ns13.C,
- ns14.C, ns15.C, template3.C, undef1.C, using4.C, using5.C,
- using6.C, using7.C}: New namespace tests.
-
-Thu Jul 9 22:44:49 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/partspec1.C: Test matching of partial
- specialization with typedef'ed names used as array indexes.
-
-Thu Jul 9 00:38:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980709-1.c: New test.
-
- * gcc.dg/980709-1.c: New test.
-
-Tue Jul 7 13:41:27 1998 Richard Henderson <rth@cygnus.com>
-
- * gcc.c-torture/execute/bcp-1.c: New test.
-
-Tue Jul 7 11:49:04 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980707-1.c: New test.
-
-Mon Jul 6 18:20:27 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-
- * gcc.c-torture/compile/980706-1.c: New test.
-
-1998-07-01 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/980701-0.f,
- g77.f-torture/execute/980701-1.f: New test from Craig.
-
-Wed Jul 1 00:52:51 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/compile/980701-1.c: New test.
-
- * gcc.c-torture/execute/980701-1.c: New test.
-
-Tue Jun 30 11:51:42 1998 Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-ka
-rlsruhe.de>
-
- * g++.old-deja/g++.robertl/eb132.C: New test.
- * g++.old-deja/g++.robertl/eb133.C: Likewise.
-
-1998-06-29 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/980628-7.f,
- g77.f-torture/execute/980628-8.f,
- g77.f-torture/execute/980628-9.f,
- g77.f-torture/execute/980628-10.f: New tests from Craig.
-
- * g77.f-torture/execute/980628-3.f: Remove mail headers.
-
-Sun Jun 28 12:49:02 1998 Jeffrey A Law (law@cygnus.com)
-
- * g77.f-torture/execute/980628-4.f: New test from Craig.
- * g77.f-torture/execute/980628-5.f: Likewise.
- * g77.f-torture/execute/980628-2.f: Likewise.
- * g77.f-torture/execute/980628-0.f: Likewise.
- * g77.f-torture/execute/980628-1.f: Likewise.
- * g77.f-torture/execute/980628-3.f: Likewise.
- * g77.f-torture/execute/980628-6.f: Likewise.
-
-Sun Jun 28 00:37:26 1998 Jeffrey A Law (law@cygnus.com)
-
- * lib/g77.exp (default_g77_version): Tweak to make it work in a build
- directory when nothing has been installed yet.
-
-Sat Jun 27 23:23:18 1998 Carlo Wood <carlo@runaway.xs4all.nl>
-
- * gcc.c-torture/special/special.exp: Handle newer versions of
- dejagnu.
-
-Fri Jun 26 17:57:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/980626-1.c: New test.
-
-Fri Jun 19 23:26:12 1998 Bruno Haible <haible@ilog.fr>
-
- * gcc.misc-tests/m-un-2.c: New test.
- * g++.old-deja/g++.other/warn01.c: Likewise.
-
-Fri Jun 19 14:06:36 1998 Robert Lipe <robertl@dgii.com>
-
- * gcc.dg/980414-1.c: Move comments outside of ASM to improve
- compatibility with assmblers with a different comment character.
- Eliminate use of GAS-specific extensions.
-
-Fri Jun 19 02:05:14 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/ieee/980619-1.c: New test.
-
-Fri Jun 19 00:58:11 1998 Robert Lipe <robertl@dgii.com>
-
- *lib/g77.exp: Replace search for libf2c.a with search for newly
- renamed libg2c.a
-
-Wed Jun 17 18:53:12 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980617-1.c: New test.
-
-Fri Jun 12 01:08:49 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980612-1.c: New test.
-
-Mon Jun 8 02:13:42 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/980523-1.c: Only test on ppc-linux.
- * gcc.dg/980526-1.c, gcc.dg/switch-1.c: Likewise.
-
- * gcc.c-torture/execute/980608-1.c: New test.
-
-Thu Jun 4 01:39:24 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980604-1.c: New test.
-
-Tue Jun 2 20:51:43 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/980602-1.c: New test.
- * gcc.c-torture/execute/980602-2.c: Likewise.
-
-1998-06-02 Dave Love <d.love@dl.ac.uk>
-
- * 970125-0.f: Fix per JCB. Add commentary.
-
-Fri May 29 01:10:12 1998 Peter Leven <leven@lpr.e-technik.tu-muenchen.de>
-
- * gcc.c-torture/execute/ieee/fp-cmp-1.c: Set up signal handler
- earlier.
-
-Thu May 28 00:17:42 1998 Catherine Moore <clm@cygnus.com>
-
- * gcc.c-torture/execute/980526-3.c: New test.
-
-1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
-
- * g++.old-deja/g++.jason/thunk2.C: Setup this test to be expected to
- fail on m68k-motorola-sysv and m88k-motorola-sysv3.
- * g++.old-deja/g++.jason/thunk3.C: Add m68k-motorola-sysv and
- m88k-motorola-sysv3 to XFAIL.
-
-Tue May 26 23:58:03 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * gcc.dg/980526-1.c: New test.
- * gcc.c-torture/execute/980526-2.c: New test.
-
-Tue May 26 23:40:40 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/980523-1.c: Change "ppc" to "powerpc".
-
- * gcc.c-torture/execute/980526-1.c: New test.
-
-1998-05-26 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/alpha2.f: Add runtime test.
-
-1998-05-24 Jason Merrill <jason@yorick.cygnus.com>
-
- * g++.old-deja/old-deja.exp: Strip leading directories.
-
- * lib/old-dejagnu.exp: All tests fail if we got an internal compiler
- error for the line. Don't run multiple tests for the same line.
-
-Sat May 23 23:27:10 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/980523-1.c: New test.
-
-1998-05-23 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/compile/970915-0.f: New test.
-
-1998-05-23 Jason Merrill <jason@yorick.cygnus.com>
-
- * lib/old-dejagnu.exp: Ignore C++ "instantiated from" mesages.
-
-Thu May 21 23:23:21 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/980520-1.c: New test.
-
-Wed May 20 14:37:15 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * gcc.dg/980502-1.c: Fix return type.
-
-Wed May 20 11:29:48 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/{980502-1.c, clobbers.c}: New tests.
- * gcc.c-torture/compile/{980504-1.c, 980506-1.c}: Likewise.
- * gcc.c-torture/compile/{980506-2.c, 980611-1.c}: Likewise.
- * gcc.c-torture/execute/{980505-1.c, 980505-2.c, 980506-1.c}: Likewise.
- * gcc.c-torture/execute/{980506-2.c, 980506-3.c}: Likewise.
-
-1998-05-20 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/980520-1.f: New test.
-
-1998-05-15 Dave Love <d.love@dl.ac.uk>
-
- * lib/mike-g77.exp: New file.
-
- * g77.f-torture/noncompile/noncompile.exp,
- g77.f-torture/noncompile/check0.f: New files.
-
-1998-05-14 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/short.f, g77.f-torture/execute/le.f,
- g77.f-torture/execute/exp.f, g77.f-torture/execute/erfc.f,
- g77.f-torture/execute/dnrm2.f, g77.f-torture/execute/dcomplex.f,
- g77.f-torture/execute/cpp.F, g77.f-torture/execute/complex_1.f,
- g77.f-torture/execute/claus.f, g77.f-torture/execute/cabs.f: Call
- abort where appropriate.
-
-Tue May 5 19:20:13 1998 Michael Meissner <meissner@cygnus.com>
-
- * lib/c-torture.exp (TORTURE_OPTIONS): Add -Os to options.
- * lib/f-torture.exp (TORTURE_OPTIONS): Ditto.
-
-1998-04-29 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/compile/980419-1.f: Removed since doesn't compile.
-
-1998-04-27 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/compile/980427-0.f: New test.
-
-1998-04-24 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/compile/980424-0.f: New test.
-
-1998-04-19 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/compile/980419-2.f (main): New test.
- * g77.f-torture/compile/970125-0.f: New test.
- * g77.f-torture/compile/980419-1.f: New test.
-
-Wed Mar 18 16:22:22 1998 Jim Wilson <wilson@cygnus.com>
-
- * gcc.dg/980313-1.c: New test for fp conditional move on PPro.
- * gcc.dg/980312-1.c: Fix typo in -march command.
-
-Mon Mar 16 20:01:30 1998 H.J. Lu (hjl@gnu.org)
-
- * gcc.dg/980312-1.c: New test for fp conditional move on PPro.
-
-Wed Mar 11 13:08:48 1998 Robert Lipe <robertl@dgii.com>
-
- * g77.f-torture/execute/980310-5.f: Deleted. Craig Burley and
- Dave Love agree the Fortran source is bogus.
-
-Wed Mar 11 00:03:49 1998 Robert Lipe <robertl@dgii.com>
-
- * g77.f-torture/compile/980310-1.f, g77.f-torture/compile/980310-2.f
- g77.f-torture/compile/980310-3.f, g77.f-torture/compile/980310-4.f
- g77.f-torture/compile/980310-6.f, g77.f-torture/compile/980310-7.f
- g77.f-torture/compile/980310-8.f: New tests from egcs-bugs archives.
- * g77.f-torture/execute/980310-5.f: New test from egcs-bugs archives.
-
-Tue Mar 10 00:31:51 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * g++.old-deja/g++.other/friend1.C: New test.
-
-1998-02-18 Dave Love <d.love@dl.ac.uk>
-
- * g77.f-torture/execute/dnrm2.f (dnrm2): Avoid uninitialized (and
- possibly uninitialized) variables and declare dnrm2.
-
-Fri Feb 13 00:36:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * gcc.dg/ifelse-1.c: New test.
-
-Mon Feb 9 02:08:47 1998 H.J. Lu (hjl@gnu.org)
-
- * lib/g77.exp (g77_target_compile): Fix multilibs for libf2c.
-
- * lib/old-dejagnu.exp (old-dejagnu): Added the
- "execution test - XFAIL *-*-*" handling in the spirit of
- "excess errors test -". Changed the "execution test fails"
- handling to be like "excess errors test fails".
- * Update various tests accordingly.
-
-Sun Jan 18 01:33:59 1998 Jeffrey A Law (law@cygnus.com)
-
- * lib/c-torture.exp: Look for .x files instead of .cexp files.
- * lib/f-torture.exp: Similarly.
- * gcc.c-torture: Rename all .cexp files to .x files.
-
-Tue Nov 25 16:18:51 1997 Kate Hedstrom (kate@ahab.rutgers.edu)
-
- * lib/f-torture.exp: Improve error and loop detection.
-
-Fri Sep 26 10:50:53 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/c-torture.exp(c-torture-execute): Fix typo.
-
- * lib/old-dejagnu.exp(old-dejagnu): Use a name derived from the
- testcase as the executable name. Keep the executable around if
- the test fails.
-
-Fri Sep 19 17:19:53 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/c-torture.exp (TORTURE_OPTIONS): Removed unnecessary
- changes. Only test one -g option, and move it to the end of the
- list of options to test.
-
-Fri Sep 19 17:58:00 1997 Michael Meissner <meissner@cygnus.com>
-
- * lib/c-torture.exp (TORTURE_OPTIONS): Check for the environment
- variable GCC_TORTURE_OPTIONS to supply default switches separated
- by colons. If no environment variable, run tests with -O0 -g, -O1
- -g, and -O2 -g as well.
-
-Wed Sep 17 10:12:26 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/plumhall.exp: Don't set PHSRC in this file. Add a few
- explanatory comments. Fix indentation.
-
-Mon Sep 15 00:36:53 1997 Jeffrey A Law (law@cygnus.com)
-
- * lib/g++.exp (g++_init): Look for xgcc in $basedir too.
-
-Thu Sep 11 13:54:47 1997 Jeffrey A Law (law@cygnus.com)
-
- * g++.old-deja/g++.brendan/scope4.C: No longer expected to fail.
- * g++.old-deja/g++.mike/p7325.C: Likewise.
- * g++.old-deja/g++.mike/eh51.C: No longer expected to fail on the PA.
-
-Thu Sep 11 10:00:03 1997 Alexandre Oliva (oliva@dcc.unicamp.br)
-
- * g++.old-deja/g++.brendan/crash20.C: Rework to avoid libg++.
- * g++.old-deja/g++.brendan/crash30.C: Likewise.
- * g++.old-deja/g++.brendan/crash39.C: Likewise.
- * g++.old-deja/g++.law/operators4.C: Likewise.
-
-Thu Sep 11 09:53:40 1997 Joe Buck (jbuck@synopsys.com)
-
- * g++.old-deja/g++.mike/p658.C: eliminate <bool.h> use.
- * g++.old-deja/g++.mike/p784.C: Ditto.
- * g++.old-deja/g++.mike/p785.C: Ditto.
-
-Fri Sep 5 00:21:42 1997 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/cbrt.c: Tweak to work on more targets.
-
-Wed Sep 3 17:15:00 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/c-torture.exp(c-torture-execute): If the previous and the
- current executables being tested are identical, we don't need to
- run the executable again. Try to make the executable names
- unique. Add an optional argument for passing additional compiler
- flags.
-
-Tue Sep 2 16:34:31 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/gcc-dg.exp (gcc-dg-test): Fix typos setting compile_type.
-
-Thu Jul 31 12:17:24 1997 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/920501-9.c: Fix to work on targets with
- 32bit or larger longs.
-
- * gcc.c-torture/execute/961017-2.c: Fix to work on targets which
- have either a 32bit long or 32bit int.
-
-Wed Jul 9 15:15:40 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * gcc.prms/5403.c: Allow CRLFs to occur at the start of the output
- too.
-
-Mon Jun 16 15:27:06 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/g++.exp(g++_init): Use g++_include_flags instead of making
- up the includes ourselves.
-
-Wed Jun 11 17:33:21 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/plumhall.exp: Remove random include, and add a few
- verbose messages for debugging.
-
-Fri Jun 6 14:23:24 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/g++.exp: Use g++_link_flags from libgloss.exp, instead
- of trying to do it ourselves.
-
-Wed Jun 4 18:43:55 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * gcc.prms/5403.c: Made regexp a bit less strict.
-
-Tue Jun 3 15:12:39 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/mike-gcc.exp: Don't use global exec_output anymore. Output
- is returned from remote_load instead.
- * lib/plumhall.exp: Ditto.
- * lib/mike-g++.exp: Ditto.
- * lib/old-dejagnu.exp: Ditto.
- * lib/c-torture.exp: Ditto.
-
-Fri May 30 23:15:15 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/g++.exp: Use build_wrapper procedure.
- * lib/gcc.exp: Ditto.
-
-Tue May 20 15:23:27 1997 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/*.c: Include stdlib.h instead of using
- an old-style decl for malloc. Fixes tests to work when
- sizeof (int) != sizeof (size_t).
-
-Thu May 15 14:10:39 1997 Mike Meissner <meissner@cygnus.com>
-
- * lib/gcc.exp (gcc_target_compile): If gcc,no_varargs, define
- NO_VARARGS when compiling.
-
-Thu May 1 14:49:19 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/plumhall.exp(ph_includes): New procedure.
- (ph_make): Use it.
- (ph_compiler): Ditto.
-
- * lib/g++.exp: Rename test-glue.c to testglue.c.
- * lib/gcc.exp: Ditto.
-
-Thu Apr 10 14:50:26 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/g++.exp(g++init): Don't try to be smart, always run g++_init
- to completion when it's called.
-
-Thu Mar 20 09:50:32 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/plumhall.exp (ph_make): Comment out errorCode=NONE test
- for object files.
- (ph_summary): Mark skipped testcases as untested, not unresolved.
-
- * lib/plumhall.exp (ph_make): If unresolved because of bad
- errorCode, record errorCode in log file.
- (*): Replace send_log/verbose with verbose -log.
-
-Thu Mar 13 16:09:28 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/plumhall.exp: Use incr_count.
-
-Wed Mar 12 10:01:33 1997 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture: Update to c-torture-1.45.
-
-Sun Feb 23 18:12:04 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/gcc.exp(gcc_init): Add args parameter (which will contain
- the name of the expect testcase file).
-
- * lib/g++.exp(g++_init): Ditto.
-
-Thu Feb 20 13:53:05 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/g++.exp(g++_exit): $gluefile lives on the build, not
- the host.
-
- * lib/gcc.exp(gcc_exit): New procedure.
-
-Wed Feb 19 15:16:16 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * g++.old-deja/g++.rfg/*: Added "Build don't link" and ERROR
- specs where appropriate.
-
- * g++.old-deja/g++.arm/*: Added additional ERROR checks
- because of new "candidates are" messages, and removed a few
-
- * Converted all non-old-style g++ testcases to old-style, and
- moved into g++.old-deja.
-
-Fri Feb 14 11:46:46 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/old-dejagnu.exp(old-dejagnu): Add various "skip if"
- options.
-
- * lib/gcc.exp(gcc_init): Don't set gluefile unless the compile
- succeeded.
-
- * lib/g++.exp(g++_init): Don't unset gluefile unless it exists.
-
-Thu Feb 13 17:30:46 1997 Michael Meissner <meissner@cygnus.com>
-
- * lib/gcc.exp (gcc_target_compile): Add support for defining
- NO_TRAMPOLINES and NO_LABEL_VALUES if the baseboard file indicates
- the machine doesn't have those features.
-
-Tue Feb 11 12:57:11 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * g++.law/operators4.exp: Don't use LIBS.
-
-Sat Feb 8 14:45:55 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * g++.law/virtual1.exp: Don't use CXX_FLAGS.
-
- * lib/mike-g++.exp: Don't set the compiler to be tested here.
- * lib/g++.exp: Set it here instead. Also, allow use of the
- --tool_exec and --tool_opt options. Change CXX to
- GXX_UNDER_TEST.
-
- * g++.old-deja/old-deja.exp: Change CXX to GXX_UNDER_TEST.
-
- * lib/gcc.exp: Allow use of --tool_exec and --tool_opt.
-
-Fri Feb 7 12:55:45 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/old-dejagnu.exp: Use prune_warnings instead of
- prune_system_crud.
- * lib/mike-g++.exp: Ditto.
- * lib/gcc.exp: Ditto.
- * lib/g++.exp: Ditto.
-
- * lib/g++.exp: Include both libstdc++ and libstdc++/stl.
-
-Fri Feb 7 10:41:53 1997 Jeffrey A Law (law@cygnus.com)
-
- * 941014-2.c: Include stdlib.h
- * 960327-1.c: Include stdio.h
- * dbra.c, index-1.c: Don't assume ints are 32bits.
-
-Tue Feb 4 12:51:09 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/gcc.exp: Add gcc,stack_size target feature.
-
- * lib/g++.exp(g++_target_compile): Add the include and link
- paths here, not in two other places. And, it's $options, not
- options.
-
- * lib/mike-g++.exp(postbase): Remove the code that determines
- the correct include and link paths.
- * g++.old-deja/old-deja.exp: Ditto.
-
-Mon Feb 3 19:00:07 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/g++.exp(g++_init): target_compile no longer returns the
- filename of the result.
-
-Sun Feb 2 14:42:34 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * gcc.misc-tests/gcov.exp: Add -nocomplain to the
- call to glob.
-
- * gcc.c-torture/special/special.exp: Change call to
- gcc_target_compile to include the object file.
-
-Sun Feb 2 17:11:50 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * gcc.c-torture/special/special.exp: Correct misspelling in last
- change.
-
-Sat Feb 1 12:34:23 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/plumhall.exp(ph_summary): Log the entire output of the
- executable. Return -1 if there were any failures, 0 otherwise.
- (ph_execute): Return -1 if there were any failures, 0 otherwise.
- (ph_make): Clean up objects and executables that were built
- if the tests succeeded.
-
-Thu Jan 30 13:45:56 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * g++.old-deja/old-deja.exp: Add -L and -I flags so we include
- libraries and includes in the build tree as appropriate.
-
-Wed Jan 29 17:19:34 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/c-torture.exp: Instead of looking for the global variable
- NO_LONG_LONG, check to see if that's a feature of the target.
-
-Wed Jan 29 00:36:25 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * config/default.exp: Minimize. Delete the remainer of the files in
- config; this functionality is now in devo/dejagnu/config.
-
- g++.*/*: Pass any additional flags used to compile to postbase;
- delete CXXFLAGS.
-
- gcc.c-torture/*: Remove calls to gcc_init and gcc_finish; this
- is now done by runtest.exp. Use gcc_target_compile instead of
- compile.
-
- lib/c-torture.exp: Use gcc_target_compile instead of compile.
- Remove references to CFLAGS. Use remote_file instead of
- calling rm -f.
- (c-torture): Take a list of arguments to use to compile this
- testcase.
-
- lib/g++.exp: Simplify. Use target_compile instead of compile.
- lib/gcc-dg.exp: Ditto.
- lib/gcc.exp: Ditto.
- lib/mike-{gcc,g++}.exp: Ditto.
- lib/old-dejagnu.exp: Ditto.
- lib/plumhall.exp: Ditto.
-
-Wed Jan 8 14:43:07 1997 Jim Wilson <wilson@cygnus.com>
-
- * lib/plumhall.exp (ph_make): Use CFLAGS and ANSICFLAGS when linking.
- (ph_linker): Likewise.
-
-Wed Nov 13 16:04:19 1996 Joern Rennecke <amylaar@cygnus.com>
-
- * gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: Only use
- MAP_ANON / MAP_ANONYMOUS if defined;
- else try to map from /dev/zero .
-
-Tue Nov 12 23:30:12 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: If MAP_ANON
- isn't defined, then define it to MAP_ANONYMOUS.
-
-Tue Nov 12 11:57:49 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture: Update to c-torture-1.42 release.
-
-Mon Nov 11 12:45:31 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture: Update to c-torture-1.41 release.
-
-Sun Oct 27 18:56:18 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/enum-1.c: New test. Will be in next
- c-torture release.
-
-Thu Aug 15 11:09:36 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/gcc.exp (gcc_init): Always append the target_info to CFLAGS
- and LDFLAGS. Fix second case to append the target_info ldflags
- onto LDFLAGS, not CFLAGS.
- * lib/g++.exp (g++_init): Add target_info stuff.
- * lib/old-dejagnu.exp (old-dejagnu-init): Likewise. Add inclusion
- of libgloss and newlib flags for !native.
-
- * config/proelf.exp: Load remote.exp and do `push_target hppro'.
- (GDB): Fix relative path to go up another dir for finding gdb.
-
-Thu Aug 8 17:03:27 1996 Rob Savoye <rob@chinadoll.cygnus.com>
-
- * lib/gcc.exp(gcc_init): Set CFLAGS and LDFLAGS to their new
- versions in the target_info array, if they don't exist.
-
-Fri Aug 2 15:39:03 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config/vx.exp (${tool}_load): Fix syntax of `$shell_id < 0'.
-
-Mon Jul 8 15:45:58 1996 Jim Wilson <wilson@cygnus.com>
-
- * lib/g++.exp: Change all uses of $base_dir/ to $base_dir/../.
- * lib/gcc.exp, lib/old-dejagnu.exp: Likewise.
-
-Mon Jul 1 15:53:00 1996 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/old-dejagnu.exp: Don't remove the output file before we've
- actually tested it. Don't append pwd to the path of the executable
- we're testing.
-
-Sun Jun 30 14:37:50 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/g++.exp (default_g++_start): Don't pass LDFLAGS, LIBS if -c.
-
-Wed Jun 26 14:15:55 1996 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/old-dejagnu.exp (old-dejagnu): Add $tmpdir to specify a
- temporary directory for compiler files, and set it to a default
- value of /tmp. Set $output as the name of the output file from
- compiling the testcase. Add a -o option to $cflags_var so the
- compiler writes the final output file as $output. Set $executable
- to $output.
-
- * lib/mike-g++.exp (postbase): Add $tmpdir to specify a temporary
- directory for compiler files, and set it to /tmp if it doesn't
- already have a value. Set $output_file to the name of the output
- file from compiling the testcase. Add a -o option to CXXFLAGS so
- the compiler writes the final output file as $output. Use $output
- as the executable to be tested.
-
-Mon Jun 24 17:12:16 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/g++.exp: Also add -Wl,-rpath,... for linux.
-
-Sat Jun 8 15:12:24 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/pending-1.c: New test. Still
- pending in Tege's queue.
-
-Wed Apr 24 18:13:45 1996 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * lib/plumhall.exp (ph_summary): Add arguments name and exec_status.
- Add variables local_failcnt and local_unresolvedcnt. Call gcc_fail
- if there were failures. Call unresolved if there were unresolved
- testcases. Call gcc_fail if program did not run to completion.
- (ph_make): Pass additional argument name to ph_execute.
- (ph_execute): Add new argument. Pass additional arguments to
- ph_summary. Call gcc_fail is there is no execution output.
-
-Wed Apr 24 13:39:23 1996 Jeffrey A Law (law@cygnus.com)
-
- * lib/plumhall.exp (proc_summary): Output relavent summary
- lines into the log so specific failures in plumhall can be
- investigated.
-
-Wed Apr 10 13:23:45 1996 Jeffrey A Law (law@cygnus.com)
-
- * lib/c-torture.exp: Provide a default value for $NO_LONG_LONG.
- (c-torture-execute): Don't try to execute tests which use
- "long long" types if $NO_LONG_LONG is nonzero.
-
-Mon Apr 8 08:52:29 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c-torture/execute/ieee/ieee.exp: Run c-torture-execute,
- not c-torture.
-
- * gcc.ieee: Move from here.
- * gcc.c-torture/execute/ieee: To here.
-
-Tue Mar 26 23:41:18 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture: Update to c-torture-1.41 release.
-
-Fri Mar 22 15:49:24 1996 Jeffrey A Law (law@cygnus.com)
-
- * lib/c-torture.exp (c-torture-execute): Remove "$executable",
- not "$output".
-
-Thu Mar 7 12:37:08 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * lib/gcc.exp (default_gcc_start): Don't pass $LDFLAGS $LIBS if
- -c present.
-
-Sat Mar 2 22:36:37 1996 Jeffrey A Law (law@cygnus.com)
-
- * config/proelf.exp: Handle connecting to a simulator.
-
-Wed Jan 31 00:58:15 1996 Jeffrey A Law (law@cygnus.com)
-
- * config/proelf.exp: New file. Enough framework that we can
- run c-torture tests on the proelf targets (or any other target
- that gdb can connect to for that matter).
-
-Mon Jan 29 08:57:46 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c-torture/special/special.exp: Delete libs arg to dg-runtest.
- * gcc.ph/testing/limits/limits.exp: Likewise. Don't pass $CFLAGS.
-
- * lib/plumhall.exp (ph_execute): Always call ph_summary if
- exec_output exists.
-
-Sun Jan 28 11:28:43 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * config/sim.exp (SIM_TIME_LIMIT): New user settable variable.
- (${tool}_load): Use 240 seconds if SIM_TIME_LIMIT not set.
-
- * config/*.exp: Update FSF address. Change result of ${tool}_load
- to pass/fail/unresolved/unsupported/untested. Caller must now
- call unresolved/unsupported/untested.
- * lib/*.exp: Update FSF address. Update to handle new results of
- ${tool}_load.
- * lib/chill.exp (verbose): Delete.
-
-Sat Jan 27 12:28:07 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * lib/gcc.exp (default_gcc_start): Change order of args to
- $LDFLAGS $CFLAGS $LIBS.
- * lib/gcc-dg.exp (gcc-dg-test): Arguments have changed, update.
- Save/set/restore CFLAGS. Pass single arg to gcc_start.
- * gcc.dg/dg.exp: Delete libs arg in call to dg-runtest.
- (CC,CFLAGS,LIBS): Delete references. Don't pass $CFLAGS to dg-runtest.
- * gcc.misc-tests/dg-test.exp: Likewise.
- * gcc.misc-tests/msgs.exp: Likewise.
- * gcc.prms/prms.exp: Likewise.
- * gcc.misc-tests/gcov.exp: Delete libs arg in call to dg-runtest.
- (CFLAGS,LIBS): Delete references. Don't pass $CFLAGS to dg-runtest.
-
- * lib/dg.exp: Deleted, moved to dejagnu/lib.
-
-Wed Jan 24 18:37:00 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * g++.old-deja/old-deja.exp: Add passing of $mathlib to old-dejagnu.
-
- * g++.old-deja/old-deja.exp: Move setting of runshlib from here...
- * lib/old-dejagnu.exp (old-dejagnu-init): ...to here.
-
- * lib/g++.exp (g++_init): Take out use of -rpath for the sun4, not
- necessary.
-
-Sat Jan 20 17:22:08 1996 Brendan Kehoe <brendan@cygnus.com>
-
- * g++.old-deja/old-deja.exp: Move setting of runshlib out of the
- global for loop; add use of $mathlib.
- * lib/old-dejagnu.exp (old-dejagnu-init): Put the runshlib
- settings here; set mathlib for anything but VxWorks.
-
-Mon Jan 22 16:31:57 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture: Update to c-torture-1.40 release.
-
-Wed Jan 3 00:54:33 1996 Jeffrey A Law (law@cygnus.com)
-
- * gcc.ph/testing/limits/limits.exp: Load ${tool}-dg.exp, not
- dg.exp.
-
-Sun Dec 3 16:17:42 1995 Jeffrey A. Law <law@sethra.cygnus.com>
-
- * lib/c-torture.exp (c-torture-execute): Declare "output" as
- global.
-
-Fri Nov 17 20:01:19 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/g++.exp (LIBS): Define if not already.
- * lib/gcc-dg.exp (gcc-dg-test): Set executable file as a.out.
- (gcc-dg-prune): Call prune_gcc_output.
- * lib/gcc.exp (prune_gcc_output): New proc.
- * gcc.c-torture/special (921210-1.c): Call prune_system_crud and
- prune_gcc_output.
-
-Thu Nov 16 09:15:40 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/c-torture.exp (c-torture-compile): Fix calls to `unsupported'.
- (c-torture-execute): Likewise. Rename `name' to `testcase'.
-
-Wed Nov 15 23:04:36 1995 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture: Update to c-torture-1.39 release.
-
-Sat Nov 4 12:52:05 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/c-torture.exp (c-torture-execute): Don't return if one option
- fails, try others as well.
-
-Thu Nov 2 09:28:35 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/c-torture.exp (c-torture-execute): This proc's result is `void'.
- If compilation fails, mark execute tests as `untested'.
- If test is marked as unsupported, don't mark compilation and
- execute tests as failed.
-
-Wed Oct 25 20:57:55 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/g++.exp (g++_init): Don't link in libg++, and look to
- libstdc++ for whether or not we want to be doing shared
- libraries. Delete link_curses since we don't need it anymore.
- * lib/mike-g++.exp (postbase): Don't link in libg++.
- * g++.old-deja/old-deja.exp: Likewise.
-
-Mon Oct 23 13:05:11 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/g++.exp (CXX): Default to run `c++' instead of `g++'.
-
-Tue Oct 17 15:24:47 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/g++.exp (g++_init): Also check for libg++.sl for the hppa.
- For that, add `-Wl,-a,shared_archive'.
- * g++.old-deja/old-deja.exp: Likewise.
-
-Tue Oct 17 13:09:06 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/c-torture.exp (c-torture-execute): Ensure CFLAGS restored.
-
-Mon Oct 16 23:13:32 1995 Brendan Kehoe <brendan@cygnus.com>
-
- * lib/mike-g++.exp (postbase): Pay attention to the status of
- g++_load.
-
-Mon Oct 16 19:28:32 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * g++.old-deja/old-deja.exp: Add $LIBS at the end of the args.
-
-Mon Oct 16 13:48:58 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/gcc.exp (default_gcc_start): No longer need to log program
- being executed or its output, execute_anywhere does that now.
- * lib/g++.exp (default_g++_version): Call execute_anywhere.
- (default_g++_start): Likewise. Delete calls to verbose/send_log.
-
-Thu Oct 12 10:34:58 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * g++.old-deja/old-deja.exp: Updated the shared libg++ tests to be
- the same as those in lib/g++.exp.
-
-Tue Oct 10 13:47:27 1995 Jeff Law (law@hurl.cygnus.com)
-
- * gcc.c-torture: Update to c-torture-1.38 release.
- * gcc.ieee: Related changes.
-
-Fri Oct 6 12:39:17 1995 Rob Savoye <rob@darkstar.cygnus.com>
-
- * mike-gcc.exp, mike-g++.exp: Use "execute_anywhere" rather than
- "exec". Minor reformatting changes.
-
- * config/rom68k.exp (${tool}_load): Make it work in a canadian
- cross. This means all "exec" calls now work on a remote host as
- well.
- * lib/c-torture.exp (c-torture-compile): Make work for a canadian
- cross. Filter out the extra "\r\n" stuff that expect puts in.
- (c-torture-execute): Filter out the bogus warnings like
- c-torture-compile does. Add support for canadian cross.
- * lib/gcc.exp (default_gcc_version, default_gcc_start)
- Use execute_anywhere rather than calling exec directly. Now it
- works for canadian cross testing.
-
-Thu Oct 5 10:06:45 1995 Brendan Kehoe <brendan@rtl.cygnus.com>
-
- * lib/g++.exp: Add -nocomplain flag to glob. Use catch to put the
- results into a variable, and check that rather than using file exists.
-
-Wed Oct 4 16:31:02 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/g++.exp: Use glob to see libg++.so.2.7.0, since sun4 doesn't
- create a libg++.so. For sunos4.1.*, also add -ltermcap.
-
-Tue Sep 26 10:15:14 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * g++.old-deja/old-deja.exp: Create and pass runshlib and
- lib_curses if there's a shared libg++ in the build tree.
-
-Fri Sep 22 10:47:24 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/mike-{gcc,g++}.exp (postbase): Restore CFLAGS, CXX_FLAGS, LIBS
- if not supported target.
-
-Fri Sep 22 09:22:07 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/g++.exp (g++_init): Move empty setting of runshlib and
- link_curses up to always happen, not just for native builds.
-
-Thu Sep 21 10:23:32 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * gcc.c-torture: Update to c-torture-1.36 release.
- * gcc.failure: Related changes.
-
-Wed Sep 20 10:56:26 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/plumhall.exp (PHSRC, PHDST): Allow config files to override.
-
-Tue Sep 19 17:26:07 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/g++.exp (g++_init): Put the shared and math lib stuff in here.
- * lib/mike-g++.exp (postbase): Not in here. Still reference
- runshlib, link_curses, and mathlib for link and run.
-
- * lib/mike-g++.exp (postbase): If we've built a libg++.so, then
- pass the runtime shared library options for Solaris, OSF/1, and
- Irix5, and link with -lcurses to avoid unresolved references.
-
-Wed Sep 13 15:28:10 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/gcc.exp (gcc_init): Return if gcc_initialized is 1, so we
- only run once.
-
-Wed Sep 13 10:51:52 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/c-torture.exp (c-torture-compile): Don't alter CFLAGS.
-
-Mon Sep 11 11:02:03 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * gcc.c-torture: Update to c-torture-1.35 release. Note we
- do not have a framework for the "compat" tests yet.
-
-Sat Sep 9 16:15:20 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/mike-g++.exp (postbase): New local variable `mathlib',
- set to null if we're testing vxworks5.1. Use that instead of
- `-lm' in the setting of LIBS for link and run.
-
-Fri Sep 8 13:53:38 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config/rom68k.exp (${tool}_load): Major changes to make it
- work. Verified that it does in fact return the stuff in
- exec_output properly. Catch any Emul or any TRAP other than 0.
-
-Thu Sep 7 23:04:06 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/mike-g++.exp (prebase): Call g++_init at the end to set
- LDFLAGS properly for targets that need stuff from libgloss.
- * lib/g++.exp (g++_init): Return if gpp_initialized is 1, so we
- only run once.
- (gpp_initialized): New variable.
-
-Wed Sep 6 21:56:13 1995 Rob Savoye <rob@darkstar.cygnus.com>
-
- * config/rom68k.exp: Load libgloss.exp.
- * lib/gcc.exp (gcc_init): get proper flags for newlib and libgloss
- so we can produce a fully linked binary.
- * lib/g++.exp (g++_init): get proper flags for newlib and libgloss
- so we can produce a fully linked binary.
-
-Sun Sep 3 13:25:26 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/plumhall.exp (ph_section): Watch for expected failures.
- Add missing `else'.
-
- * lib/c-torture.exp (c-torture-execute): Look for .cexp files to
- run the testcase.
- (c-torture): Likewise.
-
-Mon Aug 28 11:23:38 1995 Doug Evans <dje@cygnus.com>
-
- * gcc.dg/dg.exp (scan-assembler, scan-assembler-not): New procs.
-
- * lib/mike-g++.exp (mike_cleanup): New proc.
- (prebase): New globals compiler_result, not_compiler_result,
- target_regexp.
- (postbase): Likewise. Call mike_cleanup. Pass "--" to regexp to
- allow leading "-" in pattern. Watch for unsupported tests.
- If $compiler_result is set, pattern match assembler code,
- and ditto for $not_compiler_result.
- * lib/mike-gcc.exp: Likewise.
-
- * lib/plumhall.exp (ph_execute): Only call ph_summary if
- execution "succeeded".
-
-Mon Aug 14 14:03:53 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * config/win32.exp: New file.
- * lib/c-torture.exp (c-torture-execute): Handle $exe_ext.
-
-Fri Aug 4 15:39:54 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/gcc-dg.exp (gcc-dg-prune): Mark testcases that fill ram as
- unsupported.
- * lib/mike-{gcc,g++}.exp (postbase): Likewise.
- * lib/{c-torture.exp,old-dejagnu.exp}: Likewise.
- * lib/{gcc,g++}.exp (${tool}_check_untested_p): New proc.
-
- * lib/mike-g++.exp (postbase): Delete alpha-*-* checking of
- "... without exceptions was ...". That is now handled by
- prune_system_crud.
- * lib/old-dejagnu.exp (old-dejagnu): Likewise.
-
-Tue Aug 1 11:09:33 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.misc-tests/{acker1.c,dhry.c,dhry.h,matrix1.c,optbench.c,
- sieve.c,sort2.c}: New files.
- * gcc.misc-tests/{acker1.exp,dhry.exp,matrix1.exp,optbench.exp,
- sieve.exp,sort2.exp}: Drivers for them.
-
- * lib/mike-gcc.exp (program_output): New user settable variable.
- (postbase): Call prune_system_crud. Also prune extraneous compiler
- messages.
- * lib/mike-g++.exp (program_output): New user settable variable.
-
- * gcc.misc-tests/mg.exp (compiler_output): Handle multiple lines.
-
- * config/sh.exp: Deleted (use sim.exp instead).
-
-Fri Jul 28 11:33:46 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config/vx.exp: Declare CHECKTASK as global.
- * config/vxworks29k.exp: Reduce to only set CHECKTASK, and load vx.exp.
- * lib/mike-g++.exp: Load [pwd]/a.out, not `./a.out'.
- * lib/old-dejagnu.exp: Load [pwd]/$executable.
-
-Wed Jul 26 19:45:39 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config/vxworks29k.exp: New file, for the a29k-vxworks5.1
- target. Like vx.exp, only includes `vx29k.exp' instead of
- `vxworks.exp'.
-
-Sun Jul 23 17:38:52 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * config/sim.exp: Increase time limit from 120 seconds to 240.
-
-Thu Jul 6 11:07:38 1995 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * gcc.c-torture/execute/950628-1.c: New test.
-
-Sat Jun 10 18:51:41 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * gcc.c-torture: Update with changes/additions from
- c-torture-1.34.
-
-Mon Jun 5 17:58:07 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.prms/prms.exp: Pass LDFLAGS to dg-test.
-
-Sun Jun 4 05:13:57 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * gcc.c-torture/compile/funcptr-1.c: Test case for 7107.
-
-Thu Jun 1 00:06:19 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * gcc.c-torture/compile/950512-1.c: New test.
- * gcc.c-torture/execute/strct-pack-4.c, strct-pack-5.c}: Likewise.
- * gcc.dg/struct-ret-1.c: Likewise.
-
-Wed May 31 14:25:13 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c-torture/execute/{920410-1.c,921113-1.c,921208-2.c,
- 930106-1.c,memcpy-1.c}: Use STACK_SIZE if defined.
-
-Tue May 30 11:19:54 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c-torture/special/920411-1.c: Deleted.
- * gcc.c-torture/special/special.exp: Delete 920411-1.c.
-
-Mon May 22 16:55:11 1995 Doug Evans <dje@chestnut.cygnus.com>
-
- * config/sim.exp (${tool}_load): Hack in call to bash to get a
- cpu limit.
-
-Fri May 12 18:57:54 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
-
- * gcc.c-torture/execute/{950511-1.c,950512-1.c}: New tests.
-
-Thu May 4 14:23:54 1995 Torbjorn Granlund <tege@adder.cygnus.com>
-
- From kenner;
- * gcc.c-torture/execute/va-arg-2.c (f[0-9], f1[0-5]): Verify format
- is the proper length.
- * va-arg-3.c: Likewise.
-
-Sun Apr 30 16:02:59 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/dg.exp: Moved to dejagnu/lib. Copy kept here (for awhile).
- * lib/gcc-dg.exp: New file, gcc interface to dg.exp.
-
- * lib/gcc.exp (default_gcc_start): Delete old cruft. Delete result.
- * lib/g++.exp (default_g++_start): Delete old cruft.
-
-Tue Apr 25 17:20:18 1995 Torbjorn Granlund <tege@cygnus.com>
-
- * gcc.c-torture/execute/memcpy-1.c: Decrease stack requirements from
- (2 * (1 << 18)) to (2 * (1 << 17)).
-
- * gcc.c-torture/execute/arith-rand.c: Avoid -0x80000000/-1.
-
-Thu Apr 20 12:21:13 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * config/rom68k.exp: Renamed from config/idp.exp
-
-Tue Apr 18 13:33:26 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
-
- * c-torture/compile/921109-2.c
-
-Tue Apr 18 10:45:12 1995 Mike Stump <mrs@cygnus.com>
-
- * lib/old-dejagnu.exp: We expect Execution test failure if we expected
- excess errors.
-
-Sat Apr 15 11:16:58 1995 Doug Evans <dje@chestnut.cygnus.com>
-
- * lib/gcc.exp (default_gcc_start): Handle leading "-" in compiler
- output.
- * lib/g++.exp (default_g++_start): Likewise.
-
-Wed Mar 29 16:34:03 1995 Torbjorn Granlund <tege@adder.cygnus.com>
-
- * gcc.c-torture/compile/950329-1.c: New test.
-
-Tue Mar 28 16:10:33 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * config/bug.exp (${tool}_load): Updated to use new remote_open
- and remote_close procs.
- * config/idp.exp: New file.
-
-Wed Mar 22 15:01:58 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
-
- * gcc.c-torture/execute/950322-1.c: New test.
-
-Tue Mar 21 21:24:49 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * config/vx.exp (${tool}_load): Clean up testing of return code from
- vxworks_ld and vxworks_spawn.
-
-Tue Mar 21 17:01:42 1995 Doug Evans <dje@deneb.cygnus.com>
-
- * lib/c-torture.exp (c-torture-execute): Pass same text to pass/fail.
-
-Mon Mar 13 14:49:42 1995 Mike Stump <mrs@cygnus.com>
-
- * lib/old-deja.exp: Add `excess errors test - ' error, now one
- can mark excess errors on a machine by machine basis. Note, the
- default is to not expect any excess errors, even when excess
- errors test - is given, so you will want to put an XFAIL ... on
- these lines. For example, // excess errors test - XFAIL hppa*-*-*
- mips-*-* alpha-*-* m68k-*-* is how to expect excess errors on
- those 4 machines, but no others.
-
-Fri Mar 10 12:33:04 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * gcc.c-torture/execute/execute.exp (c-torture-execute): from here.
- * lib/c-torture.exp: to here.
-
-Fri Mar 10 10:38:15 1995 Torbjorn Granlund <tege@adder.cygnus.com>
-
- * gcc.c-torture/execute/950221-1.c: New test.
- * gcc.c-torture/execute/struct-ret-1.c: New test.
- * gcc.c-torture/compile/950221-1.c: New test.
-
- * gcc.c-torture/execute/941101-1.c (f): Fix typo, == was !=.
-
-Fri Mar 3 16:28:35 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c-torture/execute/arith-1.c (main): Return 0.
- * gcc.c-torture/execute/arith-rand.c (main): Return 0.
-
-Wed Mar 1 02:08:29 1995 Gerald Baumgartner (gb@lorenzo.cs.purdue.edu)
-
- * g++.gb: New directory of tests, derived from my signature and
- class scoping tests.
-
- * g++.gb/{sig01.C, sig02.C, sig03.C, sig04.C}: New tests.
- * g++.gb/{sig05.C, sig06.C, sig07.C, sig08.C}: Likewise.
- * g++.gb/{sig09.C, sig10.C, sig11.C, sig12.C}: Likewise.
- * g++.gb/{sig13.C, sig14.C, sig15.C, sig16.C}: Likewise.
- * g++.gb/{sig17.C, sig18.C, sig19.C, sig20.C}: Likewise.
- * g++.gb/{sig21.C, sig22.C, sig23.C, sig24.C}: Likewise.
- * g++.gb/sig25.C: Likewise.
-
- * g++.gb/{sig01.exp, sig02.exp, sig03.exp, sig04.exp}: Run them.
- * g++.gb/{sig05.exp, sig06.exp, sig07.exp, sig08.exp}: Likewise.
- * g++.gb/{sig09.exp, sig10.exp, sig11.exp, sig12.exp}: Likewise.
- * g++.gb/{sig13.exp, sig14.exp, sig15.exp, sig16.exp}: Likewise.
- * g++.gb/{sig17.exp, sig18.exp, sig19.exp, sig20.exp}: Likewise.
- * g++.gb/{sig21.exp, sig22.exp, sig23.exp, sig24.exp}: Likewise.
- * g++.gb/sig25.exp: Likewise.
-
- * g++.gb/{scope01.C, scope02.C, scope03.C, scope04.C}: New tests.
- * g++.gb/{scope05.C, scope06.C, scope07.C, scope08.C}: Likewise.
- * g++.gb/{scope09.C, scope10.C, scope11.C, scope12.C}: Likewise.
- * g++.gb/scope13.C: Likewise, this test still fails.
-
- * g++.gb/{scope01.exp, scope02.exp, scope03.exp, scope04.exp}: Run 'em.
- * g++.gb/{scope05.exp, scope06.exp, scope07.exp, scope08.exp}: Ditto.
- * g++.gb/{scope09.exp, scope10.exp, scope11.exp, scope12.exp}: Ditto.
- * g++.gb/scope13.exp: Ditto.
-
- * g++.gb/README: New file, explains what these tests are about.
-
-Tue Feb 28 10:37:52 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/dg.exp (dg-do): Support `preprocess'.
- (dg-test): Likewise.
-
-Mon Feb 13 15:18:10 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * config/udi.exp: change "continue -expect" to "exp_continue".
-
-Sat Feb 11 00:25:20 1995 Torbjorn Granlund (tege@tiny.cygnus.com)
-
- * gcc.c-torture/execute/{921025-1.c, 930525-1.c}:
- Delete redundant tests.
-
- * gcc.c-torture/execute/{941014-1.c, 941014-2.c}: New tests.
- * gcc.c-torture/execute/{941015-1.c, 941021-1.c}: New tests.
- * gcc.c-torture/execute/{941025-1.c, 941031-1.c}: New tests.
- * gcc.c-torture/execute/{941101-1.c, 941110-1.c}: New tests.
- * gcc.c-torture/execute/{941202-1.c, arith-1.c}: New tests.
- * gcc.c-torture/execute/{arith-rand.c, complex-3.c}: New tests.
- * gcc.c-torture/execute/{inst-check.c, loop-1.c}: New tests.
- * gcc.c-torture/execute/{memcpy-1.c, va-arg-2.c}: New tests.
-
- * gcc.c-torture/execute/920302-1.c: Use void * instead of long for
- storing label pointers.
- * gcc.c-torture/execute/921019-1.c: Likewise.
- * gcc.c-torture/execute/920501-8.c: Add prototype for sprintf.
- * gcc.c-torture/execute/930513-1.c: Provide full declaration for
- parameter fp.
- * gcc.c-torture/execute/va-arg-1.c (main): Add L suffix to all
- constants.
-
- * gcc.c-torture/compile/{920501-14.c, 931127-1.c}:
- Delete obsolete tests.
-
- * gcc.c-torture/compile/{940409-1.c, 940718-1.c}: New tests.
- * gcc.c-torture/compile/{941014-1.c, 941014-2.c}: New tests.
- * gcc.c-torture/compile/{941014-3.c, 941014-4.c}: New tests.
- * gcc.c-torture/compile/{941019-1.c, 941111-1.c}: New tests.
- * gcc.c-torture/compile/{941113-1.c, 950122-1.c}: New tests.
- * gcc.c-torture/compile/950124-1.c: New test.
-
- * gcc.c-torture/compile/920902-1.c: Delete 2:nd parameter.
-
-Wed Feb 8 15:30:17 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * lib/mike-g++.exp: Add -lm to LIBS.
-
-Tue Feb 7 17:09:50 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/c-torture.exp (c-torture): Allow relative pathname in $srcdir.
-
-Mon Jan 30 14:33:25 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * lib/mike-g++.exp: Add -lstdc++ to LIBS.
-
-Thu Jan 12 16:41:34 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.misc-tests/dg-test.exp: Only run if $DG_TEST=yes.
-
-Mon Jan 2 11:50:10 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * g++.law/{arg9.C, arg10.C, arg11.C, arm15.C, arm16.C}: New tests.
- * g++.law/{bad-error3.C, bad-error4.C, bad-error5.C}: Likewise.
- * g++.law/{bad-error6.C, bad-error7.C}: Likewise.
- * g++.law/{bit-fields3.C, casts2.C, casts3.C}: Likewise.
- * g++.law/{enum8.C, enum9.C, friend5.C}: Likewise.
- * g++.law/{nest2.C, nest3.C, nest4.C, nest5.C}: Likewise.
- * g++.law/{nest6.C, next7.C, operators30.C}: Likewise.
- * g++.law/{operators31.C, operators32.C,
- * g++.law/{operators33.C, operators34.C}: Likewise.
- * g++.law/{pic1.C, refs2.C}: Likewise.
- * g++.law/{refs3.C, refs4.C, static-mem3.C}: Likewise.
- * g++.law/{static-mem4.C, static-mem5.C, typeck4.C}: Likewise.
- * g++.law/{vbase1.C, visibility27.C, visibility28.C}: Likewise.
- * g++.law/{vtable2.exp, vtable3.exp}: Likewise.
-
- * g++.law/{arg9.exp, arg10.exp, arg11.exp, arm15.exp}: Run them.
- * g++.law/{arm16.exp, bad-error3.exp, bad-error4.exp: Likewise.
- * g++.law/{bad-error5.exp, bad-error6.exp}: Likewise.
- * g++.law/{bad-error7.exp, bit-fields3.exp}: Likewise.
- * g++.law/{casts2.exp, casts3.exp, enum8.exp}: Likewise.
- * g++.law/{enum9.exp, friend5.exp}: Likewise.
- * g++.law/{nest3.exp, nest4.exp}: Likewise.
- * g++.law/{nest5.exp, nest6.exp, nest7.exp}: Likewise.
- * g++.law/{operators30.exp, operators31.exp}: Likewise.
- * g++.law/{operators32.exp, operators33.exp}: Likewise.
- * g++.law/{operators34.exp}: Likewise.
- * g++.law/{pic1.exp, refs2.exp, refs3.exp refs4.exp}: Likewise.
- * g++.law/{static-mem3.exp, static-mem4.exp}: Likewise.
- * g++.law/{static-mem5.exp, typeck4.exp, vbase1.exp}: Likewise.
- * g++.law/{visibility27.exp, visibility28.exp}: Likewise.
- * g++.law/{vtable2.exp, vtable3.exp}: Likewise.
-
- * g++.law/{union4.exp, visibility17.exp}: Fix expected output.
- No longer expected to fail.
- * g++.law/missed-error3.C: Tweak for recent bool changes.
-
-Sun Dec 4 20:54:33 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * config/emb-unix: Deleted.
- * config/unix.exp (${tool}_load): Use new proc rsh_exec to perform
- remote execution. Do final link on remote host if REMOTE_LINK is set.
-
-Thu Dec 1 08:43:05 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/dg.exp (dg-test): Fix typo in last patch.
-
-Wed Nov 30 13:25:32 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/dg.exp (dg-test): Fix pattern that searches for expected output
- (handles multiple occurrences).
-
-Thu Nov 24 19:48:38 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c-torture/*/*.exp: Pass full pathname to c-torture.
- * gcc.c-torture/execute/execute.exp (c-torture-execute): Remove
- $srcdir from pathname in pass/fail messages (but ensure $subdir *is*
- printed).
- * lib/c-torture.exp (c-torture-compile): Likewise.
- (c-torture): Prepend full path if missing.
- * lib/gcc.exp (gcc_pass): Pass entire pathname of testcase.
- (gcc_fail): Likewise.
- * lib/dg.exp (dg-test): Don't delete $subdir from pathname in messages.
-
-Wed Nov 23 13:56:00 1994 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * lib/netware.exp: Only attach to NetWare i386 systems.
-
-Wed Nov 16 11:27:00 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/dg.exp (dg-test): Don't print $subdir (or above) in pass/fail
- messages. Add test name to "output pattern match" pass/fail message.
-
-Sat Nov 12 22:11:52 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.dg: New testsuite.
- * gcc.dg/dg.exp: New file.
-
- * gcc.misc-tests/{misc.exp,inst-check.c,test-ior.c,test-consts.c,
- test-switch.c}: Deleted.
-
- * gcc.misc-tests/msgs.exp: New testcase driver.
-
-Wed Nov 9 14:23:09 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.c-torture/execute/execute.exp (c-torture_execute): New proc.
- Watch for illegal return values from ${tool}_load.
- * config/unix.exp (${tool}_load): Fix pass/fail detection for
- cross targets. Coerce return value >0 to 1.
-
-Tue Nov 8 14:10:33 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * config/unix.exp (${tool}_load): Call program rsh, not proc.
-
- * config/emb-unix.exp: New file.
-
- * config/sim.exp: Error if variable $SIM not defined.
- (${tool}_load): Mark test as "untested" if simulator missing.
-
- * config/unix.exp: Load remote.exp to get rcp_download.
- * lib/c-torture.exp: Use different option lists for testcases with
- and without loops.
- * gcc.c-torture/execute/execute.exp: Likewise.
-
-Wed Nov 2 14:47:58 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * config/*.exp: Clarify return code from ${tool}_load.
- Call `unresolved' or `untested' instead of `warning' or `perror'
- (sometimes you still want to call both though).
- Add comment that `shell_id' is local to each file.
- * config/udi.exp (timeout): Set to 30.
- Don't print warning if connection fails, $connectmode has already
- printed an error.
- (${tool}_load): Move verbose messages to level 2.
- Rework pattern for "Process started" message.
- Pass `shell_id' to ${connectmode}_download.
- Retry twice upon timeout. Make resetting of target more robust.
- (${tool}_exit): Remove /tmp/soc_name. if connected ok (bug in mondfe).
- Pass `shell_id' to exit_$connectmode.
- Only call exit_$connectmode if connected.
- * config/unix.exp (${tool}_load): Check return codes better.
- * config/vrtx.exp (${tool}_load): Likewise.
- * config/vx.exp (${tool}_load): Likewise.
- Delete unneeded global's.
- * lib/dg.exp (dg-test): Update to reflect clarified return codes
- from ${tool}_load.
- (dg-stat): Delete.
- (dg-init): Delete recording of pass/fail counts.
- * lib/old-dejagnu.exp (old-dejagnu): Likewise.
- (old-dejagnu-init): Likewise.
- (old-dejagnu-stat): Delete contents, empty proc now.
- * lib/c-torture.exp (TORTURE_OPTIONS): New global.
- (c-torture): Delete references to lcnt, lpass, lfail.
- Get option list from TORTURE_OPTIONS.
- Delete -funroll[-all]-loops if no loops.
- * lib/g++.exp (g++_init): Delete references to lcnt, lpass, lfail.
- (g++_stat): Delete contents (empty proc now).
- * lib/gcc.exp (gcc_init): Delete references to pass/fail counts.
- (gcc_finish): Likewise.
- (gcc_stat): Deleted.
- * lib/mike-gcc.exp (postbase): Delete references to lcnt, lpass, lfail.
- * gcc.*/*.exp: Delete calls to gcc_stat, dg-stat.
- * gcc.c-torture/execute/execute.exp: Likewise.
- Split tests into two parts: compile, execute.
- Get option list from TORTURE_OPTIONS. Delete -funroll[-all]-loops if
- no loops. Update to reflect clarified return codes from ${tool}_load.
-
-Fri Oct 21 23:10:16 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/old-dejagnu.exp (process-option): Append ".*" to pattern
- to grep for.
- (old-dejagnu): Likewise (where necessary).
-
-Fri Oct 14 17:54:58 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * gcc.misc-tests/gcov.exp: New file, for gcov testing.
-
- * lib/dg.exp (dg-process-target): Fix processing of selector.
- Add comment regarding use of `error'.
-
- * lib/gcc.exp (prune_system_crud): Define if missing.
- * lib/g++.exp (prune_system_crud): Likewise.
-
- * lib/{c-torture.exp,dg.exp,mike-g++.exp,old-dejagnu.exp}:
- Call prune_system_crud.
- * lib/dg.exp (dg-runtest): New proc.
- Use perror instead of send_user for tcl errors in testcase.
- Don't return any value, it's never used.
- Don't clobber previous definition of `unknown'.
- Print tcl errors in `dg-final'.
-
-Wed Oct 12 13:05:37 1994 Doug Evans <dje@canuck.cygnus.com>
-
- * lib/dg.exp (dg-process-target): Improve syntax error messages.
- (dg-test): Don't print errorInfo, it contains stack backtrace.
-
-Mon Sep 26 12:18:53 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/g++.exp (runtest_file_p): Define if missing.
-
-Sat Sep 24 15:29:23 1994 Doug Evans (dje@cygnus.com)
-
- * lib/mike-g++.exp: Comment out loading of g++.exp.
- * lib/g++.exp: Update copyright. Test for existence of $CXX at start.
- (default_g++_version): Always print something.
- (default_g++_start): Comment out call to `which'.
- (g++_start, g++_load): Deleted (must be defined in config file).
- * lib/gcc.exp: Test for existence of $CC at start.
- Delete check for tmpdir (done in gcc_init).
- (default_gcc_version): Always print something.
- (default_gcc_start): Comment out call to `which'.
- * config/*.exp: Major cleanup - make cross targets work at least a
- little better for g++ (by not being "--tool gcc" specific).
- Rename gcc_xxx to ${tool}_xxx.
- * g++.old-deja/old-deja.exp: utils.exp is loaded by runtest.exp.
- * lib/old-dejagnu.exp: ${tool}.exp is loaded by config file.
-
-Thu Sep 22 11:39:17 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/c-torture.exp (c-torture-compile): Rework compiler
- message processing.
-
- * gcc.c-torture/compile/initbug1.{c,exp}: Deleted, not part of
- c-torture.
-
-Wed Sep 21 09:49:43 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * gcc.wendy/wendy.dis: Renamed from wendy.exp to disable the testsuite.
-
- * lib/dg.exp (dg-process-target): Support { target native }.
-
-Tue Sep 20 17:16:55 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/dg.exp (dg-test): Clean up some comments. Delete code that
- looked for "... program xxx got fatal signal".
- Correct regsub munging of `comp_output'.
- Ignore compiler messages "path prefix not used" and "linker input
- file unused".
-
-Wed Sep 14 11:44:40 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/gcc.exp (runtest_file_p): Define if missing.
- * gcc.prms/template.c: Example to work from.
-
-Tue Sep 13 10:30:48 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/gcc.exp (gcc_finish): Delete code to update `testcnt'.
- * lib/dg.exp (dg-test): Call unsupported testcases as such.
-
- * gcc.prms/{3324.c,3565.c}: Moved from compile/940713-[12].c.
- * gcc.prms/1883.c: Moved from compile/940714-1.c.
- * gcc.prms/{5012.c,4453.c,4723.c,2541.c}: Moved from
- execute/{940712-1.c,940712-2.c,940713-1.c,940714-1,c}.
-
- * lib/dg.exp (user option docs): Clean up docs on target/xfail option.
- (dg-process-target): No longer a varargs proc.
- Return S/N for target, P/F for xfail. All callers changed.
- (user option procs): More argument checking.
- (dg-do): `dg-do-what' now contains 3 elements {what flag P/F}.
- (dg-output): `dg-output-text' now contains 2 elements {P/F text}.
- (dg-test): Skip test if not running on selected target in `dg-do'.
- Update handling of `dg-do-what', `dg-output-text'.
- Separate execution pass/fail from output pattern match pass/fail.
- Delete BUILD/XBUILD support (duplicate of LOSE/XLOSE).
-
-Mon Sep 12 13:47:35 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * gcc.c-torture/special/special.exp: Don't expect failure for mips
- target for 920510-1.c.
-
-Mon Sep 12 12:44:39 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/gcc.exp (gcc_init): Move initialized message to verbose level 3.
- Clean up comment regarding use of passcnt, etc.
- (gcc_stat): Don't update `testcnt' here.
- (gcc_finish): Do it here.
- Might as well reset `but_id' here too.
- * gcc.c-torture/code_quality/code_quality.exp: Call `runtest_file_p'
- to determine if the file should be tested.
- * gcc.c-torture/compile/compile.exp: Likewise.
- * gcc.c-torture/execute/execute.exp: Likewise.
- * gcc.c-torture/unsorted/unsorted.exp: Likewise.
- * gcc.misc-tests/dg-test.exp: Likewise.
- * gcc.prms/prms.exp: Likewise.
- * gcc.wendy/wendy.exp: Likewise.
- * g++.old-deja.exp: Likewise.
- Move "Testing file" message to verbose level 1.
-
-Fri Sep 9 10:21:18 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * gcc.wendy/t.c: Add DEJAGNU_CFLAGS:"-DNOPAUSE".
-
-Thu Sep 8 16:52:43 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/gcc.exp: Ensure CFLAGS, LIBS, and LDFLAGS are set.
- (default_gcc_start): Accept optional second list element
- of compiler flags. Print compiler output at verbosity level 2.
- Remove setting of CFLAGS, LIBS, LDFLAGS from here.
- (gcc_init): Delete globals lcnt, lpass, lfail, lxpass, lxfail.
- Save current values of framework globals passcnt, failcnt, xpasscnt,
- and xfailcnt in gcc_passcnt, gcc_failcnt, gcc_xpasscnt, and
- gcc_xfailcnt. Set global `tmpdir' to /tmp if it doesn't exist.
- (gcc_stat): Use framework globals passcnt, failcnt, xpasscnt, and
- xfailcnt to compute stats. Update framework global `testcnt' from
- pass/fail counts.
- (gcc_finish): New proc. Clean up test environment.
- (gcc_cpass, gcc_cfail): Rename to gcc_pass/gcc_fail.
- (gcc_epass, gcc_efail): Delete.
- * lib/dg.exp (dg-error, dg-warning, dg-bogus): Accept optional 5th
- argument of line number.
- (dg-init): If the tool has an init routine, call it.
- (dg-test): Remove args `cflags_var' and `libs_var'.
- Pass all compiler options to ${tool}_start.
- Handle missing line number.
- (dg-finish): New function.
- * gcc.c-torture/code_quality/code_quality.exp: Add support for testing
- particular files. Call gcc_finish at end. Move "skipping test"
- message to verbosity level 3.
- * gcc.c-torture/compile/compile.exp: Likewise.
- * gcc.c-torture/unsorted/unsorted.exp: Likewise.
- * gcc.c-torture/execute/execute.exp: Likewise.
- Delete setting of prms_id, bug_id, lcnt, lfail, lpass.
- Print testcase being tried at verbosity level 1.
- * gcc.c-torture/special/special.exp: Unset xfail.
- Delete setting of prms_id, bug_id, lcnt, lfail, lpass.
- * gcc.c-torture/compile/initbug1.exp: Call gcc_finish.
- * gcc.c-torture/noncompile/noncompile.exp: Likewise.
- * gcc.failure/failure.exp: Likewise.
- * gcc.ieee/ieee.exp: Likewise.
- * gcc.misc-tests/dg-test.exp: Delete LDFLAGS.
- Update call to dg-test. Call dg-finish at end.
- * gcc.misc-tests/mg.exp: Call gcc_finish at end. Unset orig_flags.
- Delete setting of prms_id, bug_id, lcnt, lfail, lpass.
- * gcc.misc-tests/misc.exp: Call gcc_finish at end.
- * gcc.prms/prms.exp: Delete loading of utils.exp (redundant).
- Delete LDFLAGS. Update call to dg-test. Call dg-finish at end.
- * gcc.wendy/wendy.exp: Add copyright.
- Delete setting of tmpdir (done by gcc_init).
- Call gcc_pass/gcc_fail instead of gcc_[ce]pass/fail.
- Pass compiler flags to gcc_start. Call gcc_finish at end.
- * lib/c-torture.exp: Call gcc_pass/gcc_fail instead of
- gcc_[ce]pass/fail.
-
-Wed Sep 7 11:09:08 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/g++.exp (g++_start): Rename arg to `prog' to avoid varargs
- confusion.
- (g++_load): Likewise.
-
- * config/*.exp (gcc_load): Some were varargs fns and some were not.
- Rename argument to `prog' to remove the confusion.
- Varargs fns behave differently too!
- (g++_load): Likewise.
-
- * lib/dg.exp (dg-stat): Correct calculation of npass, nfail.
-
- * config/unix.exp (gcc_load): Rename `args' to `prog' because that's
- what it is. Delete (always) printing of status value for !native.
- Simplify verbose code, and include status and exec_output.
- (g++_load): Use gcc_load.
-
-Sun Sep 4 13:59:27 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * gcc.c-torture/noncompile/920928-1.c: Delete obsolete file.
- * gcc.c-torture/noncompile/noncompile.exp: Delete support for
- 920928-1.c, 921017-1.c, 940712-1.c, 940714-1.c, 940714-2.c,
- 940714-3.c as these testcases don't exist anymore. Make
- va-arg-1.c expected to pass.
-
-Fri Aug 19 12:27:07 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * gcc.misc-tests/misc.exp: Only run specific testcases.
- * gcc.misc-tests/dg-test.exp: New file. Tests dg.exp.
- * gcc.misc-tests/dg-[1-9].c: New files.
-
- * lib/dg.exp: New testsuite driver.
- * gcc.prms/prms.exp: Use it.
-
- * README.gcc: New file.
-
- * lib/gcc.exp (gcc_init): Delete srcdir, no longer referenced.
- Document and reset `lxpass' and `lxfail'.
- Simplify "initialized" message.
- (gcc_stat): Clean up comments a little.
-
-Tue Aug 16 11:16:46 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * gcc.prms/prms.exp: New driver for gcc.prms testsuite directory.
-
-Mon Aug 15 21:20:36 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/old-dejagnu.exp (process-option): New proc.
- (old-dejagnu-init, old-dejagnu-stat): Likewise.
- (old-dejagnu): Simplify.
- * g++.old-deja/old-deja.exp: Update to new version of old-dejagnu.
-
-Sun Aug 14 09:23:53 1994 Jeff Law (law@snake.cs.utah.edu)
-
- * lib/c-torture.exp (c-torture): Only call setup_xfail if $xfail
- exists and is not an empty string.
-
- * gcc.c-torture/special/special.exp (920520-1.c, 930510-1): Set
- $xfail rather than calling setup_xfail. Clear $xfail when test is
- finished.
- (920717-x.c): Add $srcdir/$subdir as "gcc_start" does not do it
- automatically.
-
- * gcc.c-torture/noncompile/noncompile.exp (940712-1 test): No
- longer expected to fail.
-
- * gcc.c-torture/execute/strct-pack-3.c: Add missing argument to
- "f" function call.
-
- * gcc.misc-tests/mg.exp: Call gcc_stat when finished.
-
- * gcc.c-torture/execute/{920202-1.c, 931208-1.c, 931228-1.c,
- 940115-1.c, 940122-1.c, bf-pack-1.c, bf64-1.c, comp-goto-1.c,
- complex-2.c, packed-1.c, strct-pack-2.c strct-pack-3.c,
- struct-ini-2.c, struct-ini-3.c, va-arg-1.c}: Import from
- c-torture-1.29.
-
- * gcc.c-torture/execute/{nest-stdar-1.c, struct-ini-1.c,
- strct-pack-1.c, strct-varg-1.c}: Renamed to match c-torture-1.29.
-
- * gcc.c-torture/execute/920612-2.c: Update to c-torture-1.29.
-
- * gcc.c-torture/noncompile/{931203-1.c, 940112-1.c, 940227-1.c,
- 940510-1.c, init-1.c, init-2.c}: Import from c-torture-1.29
-
- * gcc.c-torture/compile/{920928-6.c, 931203-1.c, 940611-1.c,
- 940712-1.c, calls.c, combine-hang.c, goto-1.c, init-2.c,
- labels-1.c, packed-1.c, zero-strct-1.c}: Import from c-torture-1.29.
-
-Tue Jul 12 12:49:44 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * gcc.execute/{940712-1.c, 940712-2.c, 940713-1.c, 940714-1.c},
- gcc.noncompile/{940712-1.h, 940712-1a.h, 940712-1b.h, 940712-1.c,
- 940714-1.c, 940714-2.c, 940714-3.c},
- gcc.compile/{940713-1.c, 940713-2.c, 940714-1.c},
- gcc.misc-tests/{mg.c,mg.exp}:
- New tests.
- * gcc.noncompile/noncompile.exp: Change accordingly.
-
-Thu Jul 7 14:20:33 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * config/sim.exp, lib/c-torture.exp, lib/gcc.exp:
- Undo previous clobberage.
-
-Mon Jul 4 17:00:59 1994 Jeff Law (law@snake.cs.utah.edu)
-
- * gcc.compile/{931102-1.c, 931102-2.c, 931031-1.c}:
- * gcc.special/{930510-1.c, special.exp}:
- * gcc.execute/{931031-1.c, 931110-1.c, 931110-2.c, 931102-1.c,
- 931102-2.c, struct-pack-1.c, divmod-1.c, complex-1.c,
- struct-varargs-1.c}: New tests from c-torture-1.26.
-
-Tue Jun 28 17:39:42 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
-
- * gcc.wendy/wendy.exp: add --'s so that -1 isn't parsed as an
- argument to switch.
-
-Sat May 21 10:39:38 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * Revert the previous changes. Please see Rob's directory
- (/lisa/test/rob/progressive/gcc/testsuite) for testing
- fixes.
-
-Thu May 19 18:00:03 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * config/sim.exp, config/udi.exp, config/unix.exp, config/vx.exp,
- g++.brendan/alignof.exp, g++.brendan/arm3.exp, g++.brendan/code-gen5.exp,
- g++.brendan/crash29.exp, g++.brendan/crash5.exp, g++.brendan/cvt3.exp,
- g++.brendan/delete1.exp, g++.brendan/nest12.exp, g++.brendan/nest13.exp,
- g++.brendan/overload3.exp, g++.brendan/redecl1.exp, g++.brendan/visibility2.exp,
- g++.jason/cond.exp, g++.jason/hmc1.exp, g++.jason/report.exp,
- g++.law/access1.exp, g++.law/access2.exp, g++.law/arg6.exp,
- g++.law/arg7.exp, g++.law/arg8.exp, g++.law/arm1.exp,
- g++.law/arm10.exp, g++.law/arm4.exp, g++.law/arm5.exp,
- g++.law/ctors15.exp, g++.law/ctors19.exp, g++.law/cvt1.exp,
- g++.law/cvt12.exp, g++.law/cvt13.exp, g++.law/cvt18.exp,
- g++.law/cvt22.exp, g++.law/cvt3.exp, g++.law/cvt5.exp,
- g++.law/cvt6.exp, g++.law/cvt8.exp, g++.law/dtors3.exp,
- g++.law/except1.exp, g++.law/except3.exp, g++.law/except4.exp,
- g++.law/except5.exp, g++.law/except6.exp, g++.law/init5.exp,
- g++.law/init8.exp, g++.law/inline4.exp, g++.law/memoized1.exp,
- g++.law/missing1.exp, g++.law/operators14.exp, g++.law/operators18.exp,
- g++.law/operators9.exp, g++.law/scope2.exp, g++.law/temps2.exp,
- g++.law/temps3.exp, g++.law/temps5.exp, g++.law/typeck2.exp,
- g++.mike/misc4.exp, g++.mike/misc6.exp, g++.niklas/t118.exp,
- g++.niklas/t128.exp, g++.niklas/t138.exp, g++.niklas/t139.exp,
- g++.niklas/t140.exp, g++.niklas/t141.exp, gcc.code_quality/code_quality.exp,
- gcc.compile/compile.exp, gcc.dje/dje.exp, gcc.execute/execute.exp,
- gcc.failure/failure.exp, gcc.ieee/ieee.exp, gcc.noncompile/noncompile.exp,
- gcc.special/special.exp, gcc.unsorted/unsorted.exp, lib/c-torture.exp,
- lib/chill.exp, lib/g++.exp, lib/gcc.exp, lib/mike-g++.exp, lib/mike-gcc.exp,
- lib/old-dejagnu.exp: Checkin Rob's 94Q1 testing changes.
-
-Tue May 17 14:55:09 1994 Bill Cox (bill@rtl.cygnus.com)
-
- * config/udi.exp, gcc.execute/execute.exp, gcc.wendy/wendy.exp,
- lib/g++.exp, lib/old-dejagnu.exp: Replace error proc calls
- with perror calls.
-
-Mon May 2 17:41:13 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * config/unix.exp (g++_load): Fix syntax.
-
-Thu Apr 14 12:22:10 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * gcc.compile/initbug1.exp (CFLAGS): Add space at beginning.
- * gcc.noncompile/921017-1.c: Deleted obsolete test.
- * gcc.noncompile/noncompile.exp: Remove code for deleted test.
- Don't expect va-arg-1.c to fail. Correct expected output for
- 920928-1.c.
- * gcc.wendy/d.c, msgs.c, prolog.c, subs.c, z.c: Deleted.
- * gcc.wendy/hbm4.c: Correct typo.
- * gcc.wendy/tad1.c, tad2.c: Correct expected output.
-
-Mon Mar 28 13:29:37 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/gcc.exp (gcc_[ce]{pass,fail}): Remove output/executable argument.
- * gcc.wendy/wendy.exp (wendy_try): Remove `output' argument of
- gcc_[ce]{pass,fail}. Explicitly remove executable if test passes.
- * lib/c-torture.exp (c-torture-compile): Ditto.
-
- Reduce volume of output (remove all the -I's and such).
- * lib/c-torture.exp (c-torture-compile): New argument OPTION.
- Call gcc_cpass, gcc_cfail.
- (c-torture): Pass testing option to c-torture-compile.
-
-Mon Mar 21 12:40:33 1994 Doug Evans (dje@cygnus.com)
-
- Bring patches over from progressive.
- * config/default.exp: Exit remote shell cleanly.
- (g++_exit, g++_start): Add default versions.
- * config/sim.exp (gcc_load): Use perror, not error.
-
-Sun Mar 20 12:05:32 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * lib/gcc.exp: Don't set CFLAGS if CC not set. It clobbers the value
- set in site.exp.
-
-Mon Mar 14 19:30:28 1994 Doug Evans (dje@cygnus.com)
-
- * gcc.wendy/wendy.exp (wendy_first_line): New proc to fetch
- DEJAGNU_OUTPUT and DEJAGNU_CFLAGS.
- (wendy_try): New proc to run testcase.
- (main loop): Call 'em.
- * gcc.wendy/*.c: Clean up pass to correct expected output.
-
- * lib/gcc.exp: Minor cleanup work.
- (gcc_cpass, gcc_cfail, gcc_epass, gcc_efail): New procs.
-
-Wed Mar 9 15:22:54 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * config/sim.exp (gcc_load): Document return codes better.
- Don't pass -v to simulator.
-
-Thu Feb 24 07:15:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * gcc.special/920717-x.c: Fix typo.
- * gcc.special/special.exp (920717-x.c): Use $srcdir/$subdir to
- get at sources.
-
- * lib/mike-gcc.exp: Fix typo.
-
-Tue Feb 15 15:41:47 1994 Rob Savoye (rob@darkstar.cygnus.com)
-
- * lib/gcc.exp: Minor cleanup work. Find the proper gcc or g++
- binary to use, transform the name.
- * config/*.exp: rename everything. Nuke any g++ specific files,
- it's now a special case of gcc that requires no special support.
- Add a default.exp for unsupported targets.
-
-Fri Feb 11 12:59:54 1994 Rob Savoye (rob@poseidon.cygnus.com)
-
- * g++.jason/report.exp, g++.old-deja/old-deja.exp,
- lib/old-dejagnu.exp: Fix a few patterns to work with the new
- version of Tcl.
-
-Wed Feb 9 21:35:47 1994 Rob Savoye (rob@darkstar.cygnus.com)
-
- * lib/c-torture.exp: Made "file prefix*never used a pass, rather
- than a warning.
-
-Sun Feb 6 16:52:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * lib/mike-gcc.exp: Add in recent changes from mike-g++.exp.
-
-Mon Jan 3 17:28:25 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * gcc.execute/execute.exp: Combine opt_list and foption_list into
- option_list. Compile every file with only 4/6 option choices
- (same as C torture) instead of with 12/18 different option
- choices.
- * lib/c-torture.exp: Likewise.
-
- * lib/gcc.exp: Set LIBS, CFLAGS, and LDFLAGS to empty strings if
- not already set.
-
-Thu Dec 30 17:17:07 1993 Mike Stump (mrs@rtl.cygnus.com)
-
- * lib/old-deja.exp: Add `excess errors test fails' error, now one
- can put an XFAIL *-*-* on excess errors.
-
-Sun Dec 19 21:45:34 1993 Jeffrey A. Law (law@snake.cs.utah.edu
-
- * g++.law: Add more tests derived from g++-bugs snapshots.
-
- * g++.law/init11.{c,exp}: Delete test. Brendan sez it's
- equivalent to g++.law/init9.
-
- * lib/mike-gcc.exp (postbase): Delete the .o file after we've
- compiled it, and the a.out file after we've run it.
-
-Fri Dec 17 11:29:56 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * lib/mike-g++.exp (postbase): Delete the .o file after we've
- compiled it, and the a.out file after we've run it.
-
-Fri Dec 17 10:18:16 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * g++.law/*.exp: Avoid losing arguments added via "append" commands.
-
-Wed Dec 15 20:36:40 1993 Rob Savoye (rob@darkstar.cygnus.com)
-
- * lib/gcc.exp, lib/g++.exp: Use catch rather than exec to get the
- version number.
-
-Sun Dec 12 21:10:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * g++.law: New directory of g++ tests derived from the g++-bugs
- snapshots.
-
-Thu Dec 09 16:50:41 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * gcc.compile: initbug1.c initbug1.exp testcase added
-
-Mon Dec 06 11:09:52 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * gcc.dje/sizetype-1.exp, dje.exp: minor clean ups
- * gcc.execute/execute.exp: minor cleanups. added gcc_stat calls. added
- fixes submitted by Jeff Law (law@cs.utah.edu)
- * gcc.noncompile/noncompile.exp, lib/mike-gcc.exp: new files from
- Jeff Law (law@cs.utah.edu)
-
-
-Tue Nov 30 16:34:07 1993 Mike Stump (mrs@cygnus.com)
-
- * config/unix-g++.exp: Follow the gcc way of doing things.
- * g++.old-deja/old-deja.exp: Minor updates.
- * lib/g++.exp: New file, follow the gcc way of doing things.
- * lib/old-dejagnu.exp: Minor updates.
- * lib/mike-g++.exp: Always unset errorInfo.
-
-Sat Nov 6 11:34:51 1993 Mike Stump (mrs@cygnus.com)
-
- * lib/gcc.exp: Fix some errors with the below change, CC and
- CFLAGS should be global when setting, not local.
-
-Wed Nov 3 11:16:26 1993 Rob Savoye (rob@darkstar.cygnus.com)
-
- * lib/gcc.exp: Transform tool name.
-
-Wed Oct 27 23:57:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * gcc.*/*.exp: Fixd some de-stablizing changes. Sorry.
-
-Wed Oct 27 14:45:50 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * lib/gcc.exp: change gcc_done to gcc_stat
-
-Wed Oct 27 09:57:51 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * Upgraded gcc testsuite to c-torture version 1.25
-
-Sun Oct 24 10:58:03 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * lib/gcc.exp: added reporting code. Changed verbose compile message.
- * lib/c-torture: added hooks for new reporting code.
-
-Thu Oct 21 18:45:32 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * config/sh-gcc.exp: check if sh-sim exists in the path
-
-Mon Oct 18 11:13:22 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * gcc.code_quality/code_quality.exp: Initial changes for new logic.
- * gcc.compile/compile.exp: Initial changes for new logic.
- * gcc.dje/dje.exp, sizetype-1.exp: Initial changes for new logic.
- * gcc.failure/failure.exp: Initial changes for new logic.
- * gcc.ieee/ieee.exp: Initial changes for new logic.
- * gcc.misc-tests/misc.exp: Initial changes for new logic.
- * gcc.noncompile/non_compile.exp: Initial changes for new logic.
- * gcc.unsorted/unsorted.exp: Initial changes for new logic.
- * lib/c-torture.exp: Initial changes for new logic.
- * lib/gcc.exp: Initial changes for new logic.
-
-Fri Oct 15 00:19:42 1993 Mike Stump (mrs@cygnus.com)
-
- * lib/mike-g++.exp, lib/old-dejagnu.exp: Make the message not
- depend upon failure or success. Fully qualify names in failure
- and success messages. Always remove a.out before starting
- compile, just in case. Pay more attention to error text output by
- the compiler. Handle testcases with no known past errors just
- like all others, so that things are uniform. Other miscellaneous
- improvements.
-
-Wed Oct 13 15:04:51 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * gcc.cpp: new directory for cpp tests
-
-Mon Oct 4 09:03:41 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * lib/chill.exp: Code reformatted, removed unused code.
- * config/unix-chill.exp: Code reformatted, removed unused code.
- * chill.execute/execute.exp: Code reformatted, removed unused code.
- * chill.execute/oe/orient.exp: Code reformatted, removed unused code.
-
-Mon Oct 4 06:19:26 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * config/mips-gcc.exp, config/mips-g++.exp: New files. Execution
- routines not written.
-
-Mon Sep 27 21:07:44 1993 Rob Savoye (rob@darkstar.cygnus.com)
-
- * config/bug-gcc.exp: Use new procs from bug.exp.
-
-Tue Sep 21 18:21:12 1993 Rob Savoye (rob@darkstar.cygnus.com)
-
- * config/vx-gcc.exp: Use new vxworks_ld proc, so files get loaded
- via ftp, rather than depending on NFS.
- * config/vx-gcc.exp: Use new vxworks_spawn proc to execute test
- case.
-
-Thu Sep 9 23:09:15 1993 Rob Savoye (rob@darkstar.cygnus.com)
-
- * config/bug-gcc.exp: Use new download proc.
-
-Tue Sep 14 19:23:58 1993 Jeffrey Wheat (cassidy at deneb.cygnus.com)
-
- * chill.execute/execute.exp: cleanups, handles errors better
- * chill.compile/compile.exp: rewrite, based on execute.exp
- * chill.noncompile/noncompile.exp: rewrite, based on execute.exp
- * lib/chill.exp: major changes to diff proc and compile and link
- procs. added chill_fail and chill_pass wrappers to pass and
- fail. added more comments, and handle error codes better.
- Added a hack to capture stderr from exec, so noncompile tests
- can work.
-
-Sat Sep 11 15:30:10 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * chill.execute/execute.exp: rewrite of testsuite driver
- * lib/chill.exp: rewrite of testsuite driver
- * config/unix-chill.exp: rewrite of testsuite driver
-
-Wed Aug 25 14:11:13 1993 Bill Cox (bill@rtl.cygnus.com)
-
- In chill.execute:
- * iexpr.ch: Standardize uppercase.
- * tuples.dat: Standardize uppercase.
- * vary.ch: standardize. Correct varying string assignments.
- * vary.dat: Add new output lines.
-
-Tue Aug 24 13:45:49 1993 Bill Cox (bill@rtl.cygnus.com)
-
- In chill.execute:
- * chprintf.ch: Standardize use of uppercase.
- * tuples.ch: Standardize and turn arr2 into a DCL,
- rather than a SYN.
- * pinits.ch: Standardize.
-
-Mon Aug 23 17:26:58 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * rts.c: Get malloc() from <stdlib.h>, not <malloc.h>.
- * Makefil: Renamed to Makefile.in.
- * configure.in: New.
-
-Mon Aug 23 14:24:13 1993 Bill Cox (bill@rtl.cygnus.com)
-
- In chill.execute:
- * .cvsignore: Add result/output files.
- * Makefile: Fix up variables at start. Use MFLAGS
- everywhere. Correct bool_loc, built_ins entries.
- Add entry for vary1.ch.
- * bitarray.ch: Standardize upper-case usage.
- * bitexpr.ch: Standardize, add output of b1.
- * params.ch: Use arrayt in along PROC parameters, to
- avoid novelty problems.
- * sets.ch: Tiny cleanup.
- * vary1.ch: Re-indent.
-
-Tue Aug 17 15:42:07 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * Add PR-related files to Makefiles, .cvsignore files, etc.
-
-Mon Aug 2 15:46:05 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
-
- * gcc.unsorted: flow.c and loop.c - renamed to avoid conflicts
- with compiler objects. New names are test-flow.c and test-loop.c
-
-Tue Jul 27 10:08:08 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
-
- * Upgraded c-torture tests from 1.19 to 1.20
-
- * new files:
- * gcc.compile: 930609-1.c 930611-1.c 930618-1.c 930621-1.c
- * gcc.compile: 930623-1.c 930623-2.c
- * gcc.noncompile: 930622-1.c 930622-2.c
- * gcc.failure: 920411-1.c 920627-2.c
- * gcc.ieee: 920518-1.c 920810-1.c 930529-1.c
-
-Tue Jul 20 15:19:44 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
-
- * chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp
- More changes to get testsuite working properly. Needs more work.
- Added some support for POSIX IEEE Std 1003.3-1991 error messages.
-
-Mon Jul 19 18:40:31 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
-
- * chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp
- More changes to get testsuite working properly. Needs more work.
-
-Tue Jul 13 18:38:56 PDT 1993 Jeff Wheat (cassidy@cygnus.com)
-
- * chill.compile/compile.exp: Added for Dejagnu support
- * chill.execute/execute.exp: Added for Dejagnu support
- * lib/chill.exp config/unix-chill.exp : Added for Dejagnu support
-
-Sat Jun 19 07:13:05 1993 Bill Cox (bill@rtl.cygnus.com)
-
- This should complete moving the CHILL test files.
- * chill.noncompile(.cvsignore printf.grt
- in-printf.grt chprintf.grt chprintf.ch):
- Added test-support files.
- (Makefile): Modified further.
- * chill.compile (emptymod.ch gdbme.ch neg_range.ch
- signal.ch): Added test files.
- * chill.execute (.cvsignore printf.grt printr.c
- in-printf.grt rts.c chprintf.grt rts.h): Added
- test-support files.
- (Makefile): More corrections.
-
-Fri Jun 18 23:40:54 1993 Bill Cox (bill@rtl.cygnus.com)
-
- * chill.compile, chill.execute, chill.nocompile: Add CHILL
- test cases, ready for DejaGnu.
-
-Thu Jun 17 19:14:40 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * Upgraded c-torture tests from 1.18 to 1.19
-
- * gcc.compile: added test(s):
- 930607-1.c
- * gcc.execute: added test(s):
- 930603-1.c 930603-2.c 930603-3.c 930608-1.c conversion.c inst-check.c
-
- * added new subdirectory for misc tests: gcc.misc-tests
- * gcc.misc-test(s): added tests:
- inst-check.c test-consts.c test-ior.c test-switch.c
-
-Wed Jun 9 16:53:26 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * lib/mike-g++.exp: Load `./a.out', not `a.out'.
-
-Mon Jun 7 16:18:40 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * g++.old-deja/old-deja.exp: Don't delete all the .o files.
-
-Thu Jun 3 13:13:36 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * Upgraded c-torture tests from 1.17 to 1.18
-
-Wed Jun 2 19:02:40 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
-
- * Upgraded c-torture tests from 1.12 to 1.17
-
-Fri Apr 30 09:38:41 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * lib/old-dejagnu.exp:
- Fixed handling of XFAIL target triplets to correctly
- recognize wildcard characters. Removed code that
- appended a unique id tag to the end of the file name
- printed out by the result of the testcases within a
- given test file.
-
-Thu Apr 29 19:06:29 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * lib/old-dejagnu.exp:
- Reworked expected failure handling to trigger off of XFAIL
- keyword in keyphrase embeded in testcase source code. The
- XFAIL keyword must be at the end of the keyphrase line. It
- may optionally be followed by one or more target triplets.
- It has just occured that the handling of wildcards in the
- target triplet may not be correct.
-
-Fri Apr 23 13:16:20 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * g++.old-deja/tests:
- Moved all subdirectories up one level into g++.old-deja .
-
- * lib/old-dejagnu.exp:
- Fixed problem with CXXFLAGS not being properly reset, and being
- corrupted with extraneous "-c" compiler option. This was
- causing binaries to not be generated for test that needed them.
- Modified strings passed to "pass" and "fail" so that individual
- tests from the same test file would be distinguished by an
- identifier appended to the test file name in the summary logs;
- this corrected a problem with erroneous diff logs. Added code
- to search testcases for expected fail and unexpected pass keywords.
-
-Tue Apr 20 18:27:58 1993 Rob Savoye (rob at darkstar.cygnus.com)
-
- * lib/c-torture.exp: Ignore "file path prefix*unused" message.
-
-Thu Apr 15 11:01:59 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * g++.old-deja/tests/g++.sun/g++.frag/1045608.C:
- Removed extraneous text from end of "Special g++ Options"
- keyphrase.
-
- * lib/old-dejagnu.exp: Added pattern matching to look for new
- keywords, embedded in testcases comments, which will trigger
- calls to xpass and xfail.
-
-Wed Apr 14 14:28:01 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * lib/old-dejagnu.exp: Cleaned up pattern matching for keyphrase
- comments embedded in the testcases, especially the one looking for
- special compiler options, as well as the pattern matching for the
- compiler output again.
-
-Mon Apr 12 15:15:37 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * lib/old-dejagnu.exp: Do a proper check of the return value for
- execute tests. Fixed several problems with the pattern matching
- of the compiler output which gave erroneous test results.
- Changed several of the test result messages to be more descriptive.
- * config/unix-g++.exp: Proc g++_load now actually works and
- executes the tests passed to it and returns a usable return
- value.
-
-Sun Apr 11 17:22:37 1993 Rob Savoye (rob at darkstar.cygnus.com)
-
- * lib/gcc.exp: Exits gracefully if $CC is bogus.
-
-Fri Apr 9 09:41:59 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * lib/old-dejagnu.exp , g++.old-deja/old-deja.exp:
- Modified both files to properly execute the old style
- dejagnu tests. The previous versions of these files were
- experimental and did not function anything near correctly.
-
-Mon Apr 5 21:08:24 1993 Rob Savoye (rob@cygnus.com)
-
- * Removed all Makefile.in and configure.in files. No configuration
- needed now.
-
-Fri Apr 2 12:15:17 1993 Mike Werner (mtw@deneb.cygnus.com)
-
- * lib: relocated old-dejagnu.exp from devo/dejagnu/lib
-
-Sun Mar 28 11:17:48 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
-
- * gcc.compile/configure.in, gcc.unsorted/configure.in,
- gcc.special/configure.in, gcc.noncompile/configure.in,
- gcc.execute/configure.in, gcc.code_quality/configure.in,
- g++.other/configure.in, g++.old-deja/configure.in,
- g++.niklas/configure.in, g++.mike/configure.in: Remove extra quote
- in srcname setting.
-
-Thu Mar 25 20:07:55 1993 Rob Savoye (rob at darkstar.cygnus.com)
-
- * lib/udi.exp: Fixed mondfe and mondfe_download.
- * config/udi-gcc.exp: Fixed misc bugs, works with expect 4.x.
- * config/abug-gcc.exp: Fixed misc bugs, works with expect 4.x.
-
-Thu Mar 25 13:06:41 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * config/udi-gdb.exp: Check $shell_id after connecting to target.
- (gdb_exit): Don't remove *_soc files.
-
-Mon Mar 22 14:28:46 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * lib/c-torture.exp: Don't look for main; instead always use -w
- -c. This is how the c-torture tests work. Remove the object
- file if the compilation succeeds.
- * gcc.execute/execute.exp: Remove executable if test passes.
- * gcc.noncompile/noncompile.exp: Every test is an expected
- failure.
- * gcc.special/special.exp: Added tests from c-torture 1.11,
- corrected use of existing test.
- * gcc.execute/920302-1.c, gcc.execute/920501-8.c,
- gcc.execute/920625-1.c: Updated to c-torture 1.11.
- * gcc.compile/921103-1.c, gcc.compile/921109-1.c,
- gcc.compile/921109-2.c, gcc.compile/921109-3.c,
- gcc.compile/921111-1.c, gcc.compile/921116-2.c,
- gcc.compile/921118-1.c, gcc.compile/921126-1.c,
- gcc.compile/921202-1.c, gcc.compile/921202-2.c,
- gcc.compile/921203-1.c, gcc.compile/921203-2.c,
- gcc.compile/921206-1.c, gcc.execute/921029-1.c,
- gcc.execute/921104-1.c, gcc.execute/921110-1.c,
- gcc.execute/921112-1.c, gcc.execute/921113-1.c,
- gcc.execute/921117-1.c, gcc.execute/921123-1.c,
- gcc.execute/921123-2.c, gcc.execute/921124-1.c,
- gcc.execute/921202-1.c, gcc.execute/921202-2.c,
- gcc.execute/921204-1.c, gcc.execute/921207-1.c,
- gcc.execute/921208-1.c, gcc.execute/921208-2.c,
- gcc.execute/921215-1.c, gcc.execute/921218-1.c,
- gcc.execute/921218-2.c, gcc.noncompile/921102-1.c,
- gcc.noncompile/921116-1.c, gcc.unsorted/x.c: Added from
- c-torture 1.11.
- * gcc.noncompile/921021-1.c, gcc.unsorted/x11bug.c: Removed to
- correspond to c-torture 1.11.
-
- * New file.
-
diff --git a/gcc/testsuite/README b/gcc/testsuite/README
deleted file mode 100644
index 2b336f5b29d..00000000000
--- a/gcc/testsuite/README
+++ /dev/null
@@ -1,50 +0,0 @@
-This is a collection of tests for the C and C++ frontends of EGCS. For
-further information please check README.gcc and README.g++, though the
-latter may not be up-to-date any more.
-
-The driver that runs this testsuite is called DejaGnu and you will
-need a current DejaGnu snapshot, which is available from
-ftp://egcs.cygnus.com/pub/egcs/infrastructure, for example.
-
-Most of these tests were originally developed and/or collected by
-Cygnus Solutions, but these days many are being added by the EGCS
-developers.
-
-These tests are included "as is". If any of them fails, do not report
-a bug. Bug reports for DejaGnu can go to bug-dejagnu@prep.ai.mit.edu.
-Discussion and comments about this testsuite should be sent to
-egcs@egcs.cygnus.com; additions and changes to should go to sent to
-egcs-patches@egcs.cygnus.com.
-
-The entire testsuite is invoked by `make check` at the top level of
-the EGCS tree. `make check-g++` runs the C++ testsuite only.
-
-
-STRUCTURE OF THE TESTSUITE
-
-Almost all C++ tests reside in subdirectories of g++.old-deja, based on
-the following structure:
-
- g++.benjamin Tests by Benjamin Koz
- g++.bob
- g++.brendan Tests by Brendan Kehoe
- g++.bugs
- g++.eh Tests for exception handling
- g++.ext Tests for g++ extensions
- g++.gb Tests by Gerald Baumgartner
- g++.jason Tests by Jason Merill
- g++.jeff Tests by Jeffrey A Law
- g++.martin Tests by Martin v. Löwis
- g++.mike Tests by Mike Stump
- g++.niklas Tests by Niklas Hallqvist
- g++.ns Tests for namespaces
- g++.other
- g++.pt Tests for templates
- g++.rfg
- g++.robertl Tests from egcs-bugs@egcs.cygnus.com, gathered by Robert Lipe
-
-g++.old-deja uses a fixed driver for all g++ tests based on the old
-DejaGnu drivers. But just because its old, doesn't mean its redundant!
-Tests that want to use the normal dg.exp driver can be put in g++.dg instead.
-This may be required for platform-specific tests, or tests with other
-special requirements.
diff --git a/gcc/testsuite/README.g++ b/gcc/testsuite/README.g++
deleted file mode 100644
index 7ded0fdade4..00000000000
--- a/gcc/testsuite/README.g++
+++ /dev/null
@@ -1,33 +0,0 @@
-Here are some random last minute notes by this file's original maintainer,
-Mike Stump <mrs@cygnus.com>:
-
-> and the command
-
-> runtest --tool g++ --srcdir ./testsuite
-
-> doesn't work. I got it to work by explicitly setting CXX and CXXFLAGS
-> on the command line, e.g.
-
-> runtest --tool g++ --srcdir ./testsuite CXX=g++ CXXFLAGS=""
-
-site.exp updated to have right CXXFLAGS and CXX, but not at the FSF yet.
-
-
- To run the tests, first change to the gcc-2.7.1 directory, then type:
-
- runtest --tool g++ --srcdir ./testsuite
-
-Here's a brief explanation.
-
-runtest - Is the name used to invoke DejaGnu. If DejaGnu is not
- install this will be the relative path name for runtest.
-
---tool - This tells DejaGnu which tool you are testing. It is
- mainly used to find the testsuite directories for a
- particular tool when several testsuites are in the
- same directory. (like the gcc and g++ testsuites)
-
---srcdir - This points to the top level of the directory
- containing the sources of the testsuite. This is
- ./testsuite if you are in the directory that has the
- testsuite directory.
diff --git a/gcc/testsuite/README.gcc b/gcc/testsuite/README.gcc
deleted file mode 100644
index 17904bceae5..00000000000
--- a/gcc/testsuite/README.gcc
+++ /dev/null
@@ -1,87 +0,0 @@
-This file contains a list of notes for those writing testcases and those
-writing expect scripts. At present, they're in random order.
-
-Verbosity Levels
-
-- each level adds verbosity so level 2 prints all level 1 and level 2 stuff.
-
-1) Print a one-liner indicating the testcase being run (and maybe special
- compiler options).
-
-2) Print compiler and program invocation including arguments and their output.
- Proc's gcc_load and gcc_start handle the latter two.
-
-3) Print detailed testcase analysis like "Looking for pattern ...", etc.
-
-4) Maximum verbosity. Print anything else of interest.
-
-send_log conventions
-
-Various messages are stored in gcc.log by the testing framework and we
-try to augment them with some of our own. The format of the framework
-messages are:
-
-PASS: blah blah ...
-FAIL: blah blah ...
-
-so we use
-
-XXXX: blah blah ...
-
-Current messages are:
-
-EXEC: program being executed (so compiler path and args are recorded)
-STAT: intermediate pass/fail statistics
-
-Test scripts must ignore the compiler messages "path prefix never used"
-and "linker input file unused". Don't let their appearance cause a testcase
-to fail. See lib/dg.exp for the exact regsub to use.
-
-If you're unclear about which directory a testcase should be installed in,
-ask gcc-local.
-
-Have the text of a fail message be the same as that for pass.
-IE: have
-
- if ...success...
- pass "pr 1234"
- else
- fail "pr 1234"
-
-not
-
- if ...success...
- pass "pr 1234 passed"
- else
- fail "pr 1234 failed"
-
-
-This lets test-tool (which drives the nightly tests) do a better job
-at tracking which tests have digressed or been fixed.
-
-DO NOT PUT NON-PORTABLE TESTCASES IN gcc.c-torture.
-
-ANY TARGET SPECIFIC TESTCASE MUST HAVE APPROPRIATE CODE TO PREVENT IT FROM
-CAUSING A `FAILURE' ON UNSUPPORTED PLATFORMS.
-
-The "torture" tests are meant to be generic tests that can run on any
-target. So you have to be careful about endianness, assumptions about
-sizes of datatypes, etc etc.
-
-For tests that merely need to compile, put them in the "compile" directory.
-
-For tests which should give an error, put them in the "noncompile" directory
-and update noncompile.exp appropriately (see examples in noncompile.exp).
-
-For IEEE FP specific tests, put them in execute/ieee.
-
-For execution tests, put them in execute.
-
-Always use abort() for runtime failures, and exit(0) for success.
-The testing harness is set up to watch for these and do something appropriate
-(when necessary) for target boards.
-
-If a test does not fit into the torture framework, use the dg framework.
-
-
-
diff --git a/gcc/testsuite/config/default.exp b/gcc/testsuite/config/default.exp
deleted file mode 100644
index 9ae55bc6a76..00000000000
--- a/gcc/testsuite/config/default.exp
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-load_lib "standard.exp"
diff --git a/gcc/testsuite/g++.dg/special/conpr-1.C b/gcc/testsuite/g++.dg/special/conpr-1.C
deleted file mode 100644
index 8ab6bfee258..00000000000
--- a/gcc/testsuite/g++.dg/special/conpr-1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-/* { dg-do run } */
-
-class foo_t {
- int x;
-public:
- foo_t(void) { x=1; }
- int get(void) { return x; }
-};
-
-static foo_t foo __attribute__((init_priority(5000)));
-
-int main(void) {
-
- if (foo.get())
- exit(0);
- else
- abort();
-}
diff --git a/gcc/testsuite/g++.dg/special/conpr-2.C b/gcc/testsuite/g++.dg/special/conpr-2.C
deleted file mode 100644
index 07ba8ab9e89..00000000000
--- a/gcc/testsuite/g++.dg/special/conpr-2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do run } */
-
-class foo_t {
- int x;
- static int count;
-public:
- foo_t(void) { x=++count; }
- int get(void) { return x; }
-};
-
-int foo_t::count;
-
-extern foo_t foo1, foo2;
-
-int main(void) {
-
- if ( (foo1.get() != 2) || (foo2.get() != 1) )
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/g++.dg/special/conpr-2a.C b/gcc/testsuite/g++.dg/special/conpr-2a.C
deleted file mode 100644
index 69fb7d64831..00000000000
--- a/gcc/testsuite/g++.dg/special/conpr-2a.C
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do run } */
-
-class foo_t {
- int x;
- static int count;
-public:
- foo_t(void) { x=++count; }
- int get(void) { return x; }
-};
-
-foo_t foo1 __attribute__((init_priority(6000)));
-foo_t foo2 __attribute__((init_priority(5000)));
diff --git a/gcc/testsuite/g++.dg/special/conpr-3.C b/gcc/testsuite/g++.dg/special/conpr-3.C
deleted file mode 100644
index 07ba8ab9e89..00000000000
--- a/gcc/testsuite/g++.dg/special/conpr-3.C
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do run } */
-
-class foo_t {
- int x;
- static int count;
-public:
- foo_t(void) { x=++count; }
- int get(void) { return x; }
-};
-
-int foo_t::count;
-
-extern foo_t foo1, foo2;
-
-int main(void) {
-
- if ( (foo1.get() != 2) || (foo2.get() != 1) )
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/g++.dg/special/conpr-3a.C b/gcc/testsuite/g++.dg/special/conpr-3a.C
deleted file mode 100644
index b237bb57f36..00000000000
--- a/gcc/testsuite/g++.dg/special/conpr-3a.C
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do run } */
-
-class foo_t {
- int x;
- static int count;
-public:
- foo_t(void) { x=++count; }
- int get(void) { return x; }
-};
-
-foo_t foo1 __attribute__((init_priority(6000)));
diff --git a/gcc/testsuite/g++.dg/special/conpr-3b.C b/gcc/testsuite/g++.dg/special/conpr-3b.C
deleted file mode 100644
index b5efa0c35f6..00000000000
--- a/gcc/testsuite/g++.dg/special/conpr-3b.C
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do run } */
-
-class foo_t {
- int x;
- static int count;
-public:
- foo_t(void) { x=++count; }
- int get(void) { return x; }
-};
-
-foo_t foo2 __attribute__((init_priority(5000)));
diff --git a/gcc/testsuite/g++.dg/special/ecos.exp b/gcc/testsuite/g++.dg/special/ecos.exp
deleted file mode 100644
index 34a54b7f428..00000000000
--- a/gcc/testsuite/g++.dg/special/ecos.exp
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright (C) 1999 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# jlarmour@cygnus.co.uk
-
-# This file was written by Jonathan Larmour (jlarmour@cygnus.co.uk).
-
-# G++ testsuite that uses the `dg.exp' driver.
-
-# Load support procs.
-load_lib g++-dg.exp
-
-###########
-# conpr-1.C
-###########
-
-dg-init
-dg-runtest "$srcdir/$subdir/conpr-1.C" "-finit-priority" ""
-dg-finish
-
-
-###########
-# conpr-2.C
-###########
-
-dg-init
-
-set lines [g++_target_compile "$srcdir/$subdir/conpr-2a.C" "conpr-2a.o" object "additional_flags=-finit-priority"]
-if ![string match "" $lines] then {
- fail "conpr-2a.o"
-} else {
- dg-runtest "$srcdir/$subdir/conpr-2.C" "conpr-2a.o" "-finit-priority"
- file delete conpr-2a.o
-}
-dg-finish
-
-
-###########
-# conpr-3.C
-###########
-
-dg-init
-
-set lines [g++_target_compile "$srcdir/$subdir/conpr-3a.C" "conpr-3a.o" object "additional_flags=-finit-priority"]
-if ![string match "" $lines] then {
- fail "conpr-3a.o"
-} else {
- set lines [g++_target_compile "$srcdir/$subdir/conpr-3b.C" "conpr-3b.o" object "additional_flags=-finit-priority"]
- if ![string match "" $lines] then {
- fail "conpr-3b.o"
- } else {
- # run it with objects both ways around!
- dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3a.o conpr-3b.o" "-finit-priority"
- dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3b.o conpr-3a.o" "-finit-priority"
- file delete conpr-3a.o conpr-3b.o
- }
-}
-dg-finish
-
-
-### EOF ecos.exp
diff --git a/gcc/testsuite/g++.old-deja/Makefile.in b/gcc/testsuite/g++.old-deja/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/g++.old-deja/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/g++.old-deja/configure.in b/gcc/testsuite/g++.old-deja/configure.in
deleted file mode 100644
index c6cacc6757d..00000000000
--- a/gcc/testsuite/g++.old-deja/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=old-deja.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/.cvsignore b/gcc/testsuite/g++.old-deja/g++.benjamin/.cvsignore
deleted file mode 100644
index 7abff1dbead..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-config.status
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C b/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
deleted file mode 100644
index 97256ed7643..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// 981203 bkoz
-// g++/13478
-// Build don't link:
-
-class A {};
-class AData {};
-
-typedef void (A::* hand) (void);
-
-struct hand_table {
- const int data1;
- const hand data2;
-};
-
-class Agent : public A {
-public:
- enum { first = 1, last };
-protected:
- static const hand_table table_1[];
- static const AData table_2;
-private:
- void foo (void);
-};
-
-const hand_table Agent::table_1[] =
-{
- {0, &Agent::table_2},
- {first, &Agent::foo},
- {last, &(hand)Agent::foo} // ERROR - // ERROR -
-}; // ERROR - // ERROR -
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/13523.C b/gcc/testsuite/g++.old-deja/g++.benjamin/13523.C
deleted file mode 100644
index eca71fa2f7b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/13523.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// 981203 bkoz
-// g++/13523
-// Build don't link:
-
-template<typename T> class latin_america;
-
-class peru
-{
- friend class latin_america<int>; // Particular template class friend works
- template<class T> friend class latin_america; // This does not work.
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/13908.C b/gcc/testsuite/g++.old-deja/g++.benjamin/13908.C
deleted file mode 100644
index 403a9988dfd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/13908.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// 981203 bkoz
-// g++/13908
-// Build don't link:
-
-class chile
-{
-public:
-protected:
-private:
-};
-
-typedef void (chile::* pmf) ();
-
-void* foo;
-
-void bar (chile* pobj, pmf pmethod)
-{
- //-edg: expected member name
- //-g++: taking address of bound pointer-to-member expression
- foo = (void*) &(pobj->*pmethod); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/14139.C b/gcc/testsuite/g++.old-deja/g++.benjamin/14139.C
deleted file mode 100644
index dc0c5695f15..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/14139.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// 981203 bkoz
-// g++/14309
-// test for global functions, mf's, and templatized mf's.
-// Build don't link:
-
-static int fooe_1(void) { return 5; }
-static int fooe_2(int x = fooe_1()) { return x; }
-
-struct antigua {
- static int& foo_1();
- static int foo_2(int& x = antigua::foo_1());
- static int foo_3(int x = fooe_2());
-};
-
-template <typename T>
- struct jamacia {
- static int& foo_1();
- static int foo_2(int& x = antigua::foo_1());
- static int foo_3(int x = fooe_2());
- };
-
-template class jamacia<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/14664-1.C b/gcc/testsuite/g++.old-deja/g++.benjamin/14664-1.C
deleted file mode 100644
index b5dc839f884..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/14664-1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// 981203 bkoz
-// g++/14664 - test
-// Build don't link:
-// Special g++ Options: -fconst-strings
-
-char foo[26];
-
-void bar()
-{
- //-g++: incompatible types in assignment of 'const char[]' to 'char[]'
- //-edg: expression must be a modifiable lvalue
- foo = "0123456789012345678901234"; // ERROR - // ERROR -
-}
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/14664-2.C b/gcc/testsuite/g++.old-deja/g++.benjamin/14664-2.C
deleted file mode 100644
index 35dc0b2f6ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/14664-2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// 981203 bkoz
-// g++/14664 + test
-// Build don't link:
-// Special g++ Options: -fno-const-strings
-
-char foo[26];
-
-void bar()
-{
- // the addition of the flag "-fno-const-string-literal" reverts to pre-ISO.
- // -g++: ANSI C++ forbids assignment of arrays
- foo = "0123456789012345678901234"; // WARNING -
-}
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/14687.C b/gcc/testsuite/g++.old-deja/g++.benjamin/14687.C
deleted file mode 100644
index c2a9a99d0c2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/14687.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// 981203 bkoz
-// g++/14687
-// excess errors test - XFAIL *-*-*
-
-#include <assert.h>
-unsigned int gtest;
-
-// 7.3.3 the using declaration
-
-// p 3
-struct belieze {
- void f(char);
- void g(char);
- enum E { e };
- union { int x; };
-};
-
-struct dominica: belieze {
- using belieze::f;
- void f(int i) { f('c'); } // calls belieze::f(char)
- void g(int i) { g('c'); } // recursively calls dominca::g(int)
-};
-
-
-// p 6
-namespace A {
- void f(int i) { gtest = 1; }
-}
-
-using A::f; //f is a synonym for A::f, that is for A::f(int)
-
-namespace A {
- void f(char c) { gtest = 3; }
-}
-
-void foo(void) {
- f('a'); //calls f(int), even though A::f(char) exits
- assert (gtest = 1);
-}
-
-void bar(void) {
- using A::f; //f is a synonm for A::f, that is for A::f(int) and A::f(char)
- f('a'); //calls f(char)
- assert (gtest = 3);
-}
-
-int main(void)
-{
- foo();
- bar();
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15054.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15054.C
deleted file mode 100644
index 65688f70a31..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15054.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// 981203 bkoz
-// g++/15054
-// Build don't link:
-// Special g++ Options: -Wno-pointer-arith
-// note that -pedantic also turns on this warning
-
-void cuba(void) {
- void* p;
- p++;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15071.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15071.C
deleted file mode 100644
index d05ba8c00dd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15071.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// 981203 bkoz
-// g++/15071
-// gcc invocation fails to link in libstdc++
-
-#include <iostream.h>
-
-int main() {
- cout<<"hi"<<endl;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15309-1.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15309-1.C
deleted file mode 100644
index ec83fb46ae4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15309-1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// 981203 bkoz
-// g++/15309
-// Build don't link:
-// Special g++ Options: -Wnon-virtual-dtor -Weffc++
-
-class bahamian {
-public:
- bahamian ();
- ~bahamian ();
-};
-
-class miami : public bahamian
-{
-public:
- miami ();
- ~miami ();
-}; // WARNING - // WARNING -
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15309-2.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15309-2.C
deleted file mode 100644
index 1b483c869b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15309-2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// 981203 bkoz
-// g++/15309
-// Build don't link:
-// Special g++ Options: -Wnon-virtual-dtor -Weffc++
-
-class bermuda {
-public:
- virtual int func1(int);
- ~bermuda();
-}; // WARNING - // WARNING -
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15351-1.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15351-1.C
deleted file mode 100644
index 755c3608fcb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15351-1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// 981203 bkoz
-// g++/15351 - test
-// Special g++ Options: -fno-const-strings
-
-#include <assert.h>
-
-bool gtest;
-
-struct acapulco {
- acapulco(const char *) { gtest = false; }
- acapulco(char *) { gtest = true; }
-};
-
-void foo(void)
-{
- acapulco("some such string\n");
-}
-
-int main()
-{
- foo();
- if (!gtest)
- assert (0);
-
- return !gtest;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15351-2.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15351-2.C
deleted file mode 100644
index 98ecaac29a1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15351-2.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// 981203 bkoz
-// g++/15351 + test
-// Special g++ Options: -fconst-strings
-
-#include <assert.h>
-
-bool gtest;
-
-struct acapulco {
- acapulco(const char *) { gtest = true; }
- acapulco(char *) { gtest = false; }
-};
-
-void foo(void)
-{
- acapulco("some such string\n");
-}
-
-int main()
-{
- foo();
- if (!gtest)
- assert (0);
-
- return !gtest;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15756-1.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15756-1.C
deleted file mode 100644
index cc44e6a74a0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15756-1.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// 981203 bkoz
-// g++/15756 test1
-// Build don't link:
-// Special g++ Options: -Wsign-promo
-
-enum e_value { first = 0, next = 30 };
-
-struct sanjuan {
- sanjuan(int value);
- sanjuan(unsigned value);
- friend sanjuan operator&(const sanjuan& x, const sanjuan& y);
- friend int operator!=(const sanjuan& x, const sanjuan& y);
-};
-
-extern void mod_enum(e_value*);
-extern int a;
-
-void foo(void) {
- e_value mod = first;
- mod_enum(&mod);
- if (mod != next)
- ++a;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15756-2.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15756-2.C
deleted file mode 100644
index 33c4b23963e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15756-2.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// 981203 bkoz
-// g++/15756 test2
-// Build don't link:
-// Special g++ Options: -Wsign-promo
-// this test may only be valid for 32bit targets at present
-
-enum e_i {
- vali
-}
-enum_int;
-
-enum e_ui {
- valui = 0xF2345678
-}
-enum_uint;
-
-int i;
-unsigned int ui;
-
-struct caracas {
- caracas(int);
- caracas(unsigned int);
- void foo();
-};
-
-int main ()
-{
- caracas obj_ei ( enum_int ); // WARNING - // WARNING -
- caracas obj_eui ( enum_uint ); // WARNING - // WARNING -
- caracas obj_i ( i );
- caracas obj_ui ( ui );
-
- obj_ei.foo();
- obj_eui.foo();
- obj_i.foo();
- obj_ui.foo();
-}
-
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C
deleted file mode 100644
index 5309daf8c63..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// 981203 bkoz
-// g++/15799 test1
-// Build don't link:
-
-/*
-15799.cpp: In function `void foo()':
-15799.cpp:21: call of overloaded `sanjose({anonymous enum})' is ambiguous
-15799.cpp:13: candidates are: sanjose::sanjose(const sanjose &) <near match>
-15799.cpp:14: sanjose::sanjose(unsigned int)
-*/
-
-typedef char int_8;
-typedef unsigned long uint_32;
-
-class sanjose {
-public:
- sanjose();
- sanjose(const sanjose&);
- sanjose(int_8 value); // ERROR - // ERROR -
- sanjose(uint_32 value); // ERROR - // ERROR -
-};
-
-enum { first, last};
-
-void foo(void) {
- sanjose obj(first); // ERROR - // ERROR -
-};
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C
deleted file mode 100644
index 49aabc9655c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// 981203 bkoz
-// g++/15800 - test
-// Build don't link:
-
-struct panama {
- panama();
- panama(panama &);
- panama& operator=(panama&); // ERROR - // ERROR -
-};
-
-extern panama dig();
-
-void foo() {
- panama obj;
- obj = dig(); // ERROR - // ERROR -
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15800-2.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15800-2.C
deleted file mode 100644
index 18e299aa44c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15800-2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// 981203 bkoz
-// g++/15800 + test
-// Build don't link:
-
-struct panama {
- panama();
- panama(panama &);
- panama& operator=(panama&);
- panama& getref() { return *this; }
-};
-
-extern panama dig();
-
-void foo() {
- panama obj;
- obj = dig().getref();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15822.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15822.C
deleted file mode 100644
index ecd93afd869..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15822.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// 981203 bkoz
-// g++/15822
-
-#include <assert.h>
-
-static unsigned int gcount;
-
-struct playahermosa {
- playahermosa() { ++gcount; }
- playahermosa(const playahermosa &) { ++gcount; }
- ~playahermosa() { --gcount; }
-};
-
-struct playacoco {
- playacoco(const playahermosa& = playahermosa()) { } //create a temporary
-};
-
-void foo(playacoco *) { }
-
-int main()
-{
- playacoco bar[2];
- foo(bar);
- assert (gcount == 0);
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C b/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
deleted file mode 100644
index f38154ec507..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// 981203 bkoz
-// g++/16077
-// Build don't link:
-
-class nicaragua;
-struct colombia {
- colombia();
- colombia(const colombia &);
- colombia(const nicaragua &);
- colombia &operator= (const colombia&);
-};
-
-struct nicaragua {
-public:
- nicaragua();
- nicaragua(const nicaragua&);
- operator colombia();
-};
-
-void peace(const colombia&); // WARNING - // WARNING -
-
-void foo(nicaragua& b) {
- peace(b); // WARNING - // WARNING -
-}
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/16567.C b/gcc/testsuite/g++.old-deja/g++.benjamin/16567.C
deleted file mode 100644
index 8039f5babe6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/16567.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// 981203 bkoz
-// g++/16567
-// Build don't link:
-
-typedef bool Bool;
-typedef unsigned char Uint8;
-typedef unsigned short Uint16;
-typedef unsigned int Uint32;
-
-enum e_ms { third = 3, fourth = 4 };
-
-struct bitmask {
- Uint8* anon1;
- Uint32 anon2;
- Uint8 anon3;
- Uint8 here: 2;
- Uint8 anon4: 2;
- Uint8 anon5: 4;
-};
-
-struct control {
- Uint8 foo_1();
-};
-
-inline Uint8 foo_2(bitmask* p) {
- return p->here;
-}
-
-inline Uint8 control::foo_1() {
- return foo_2((bitmask*) this);
-}
-
-void foo(void) {
- control obj;
- control *fp = &obj;
- e_ms result;
-
- result = (e_ms) fp->foo_1; // ERROR - // ERROR -
-}
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/17922.C b/gcc/testsuite/g++.old-deja/g++.benjamin/17922.C
deleted file mode 100644
index 471709287ef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/17922.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// 981204 bkoz
-// g++/17922
-// Build don't link:
-
-class base { };
-
-struct derived : public base {
- derived (const derived&);
- derived (const base&);
-};
-
-class tahiti {
-public:
- static void mf (derived);
-};
-
-void foo (const derived aaa) {
- tahiti::mf(aaa);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/17930.C b/gcc/testsuite/g++.old-deja/g++.benjamin/17930.C
deleted file mode 100644
index 3d7fc65a326..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/17930.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// 981204 bkoz
-// g++/17930
-// Build don't link:
-
-char const one[] = "test";
-char const two[] = one; // ERROR - // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/18208.C b/gcc/testsuite/g++.old-deja/g++.benjamin/18208.C
deleted file mode 100644
index 7ec1dc09098..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/18208.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// 981204 bkoz
-// g++/18208
-// Build don't link:
-
-typedef unsigned int uint_32;
-
-class puertorico {
-public:
- void *f ();
-private:
- uint_32 member;
-};
-
-void foo( )
-{
- uint_32 ui;
- puertorico obj;
-
- // Bug using static_cast<>
- ui = static_cast<uint_32>(obj); // ERROR - // ERROR -
-
- // Bug when missing the pair of braces
- ui = (uint_32) obj.f; // ERROR - // ERROR -
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C
deleted file mode 100644
index c73557ae657..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C
+++ /dev/null
@@ -1,74 +0,0 @@
-//980323 bkoz
-//test for bools with inclusive ors
-
-#include <assert.h>
-void bar ( bool x ) {};
-void bars ( short x ) {};
-
-/* 980326 bkoz this is not initialized and so can have indeterminate value. */
-#if 0
-int orb(){
- bool y;
- bar ( y );
- int blob = ( 27 | int (y) );
- return blob; //expect 27 or 0
-}
-#endif
-
-int orbtrue(){
- bool y = true;
- bar ( y );
- int blob = ( 27 | int (y) );
- return blob; //expect 27
-}
-
-int orbfalse(){
- bool y = false;
- bar ( y );
- int blob = ( 27 | int (y) );
- return blob; //expect 27
-}
-
-int orbfalse2(){
- bool y = 0;
- bar ( y );
- int blob = ( 27 | int (y) );
- return blob; //expect 27
-}
-
-int ors(){
- short y = 1;
- bars ( y );
- int blob = ( 27 | int (y) );
- return blob; //expect 27
-}
-
-
-int orus(){
- unsigned short y = 1;
- bars ( y );
- int blob = ( 65539 | int (y) );
- return blob; //expect 65539, will be 3 if done in us type
-}
-
-
-int main() {
- int tmp;
-#if 0
- tmp = orb();
- assert (tmp == 27 || tmp == 0);
-#endif
- tmp = orbtrue();
- assert (tmp ==27);
- tmp = orbfalse();
- assert (tmp ==27);
- tmp = orbfalse2();
- assert (tmp ==27);
- tmp = ors();
- assert (tmp ==27);
- tmp = orus();
- assert (tmp == 65539);
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C b/gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C
deleted file mode 100644
index c17c935287b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C
+++ /dev/null
@@ -1,63 +0,0 @@
-//980324 bkoz
-//test for bool and bitwise ands
-
-#include <assert.h>
-
-
-void bar ( bool x ) {};
-void bars ( short x ) {};
-
-#if 0
-int andb(){
- bool y;
- bar ( y );
- int blob = ( 27 & int (y) );
- return blob; //expect 1 or 0
-}
-#endif
-
-int andbtrue(){
- bool y = true;
- bar ( y );
- int blob = ( 27 & int (y) );
- return blob; //expect 1
-}
-
-int andbfalse(){
- bool y = false;
- bar ( y );
- int blob = ( 27 & int (y) );
- return blob; //expect 0
-}
-
-int andbfalse2(){
- bool y = 0;
- bar ( y );
- int blob = ( 27 & int (y) );
- return blob; //expect 0
-}
-
-int ands(){
- short y = 1;
- bars ( y );
- int blob = ( 27 & int (y) );
- return blob; //expect 1
-}
-
-
-int main() {
- int tmp;
-#if 0
- tmp = andb();
- assert (tmp == 1 || tmp == 0);
-#endif
- tmp = andbtrue();
- assert (tmp == 1);
- tmp = andbfalse();
- assert (tmp == 0);
- tmp = andbfalse2();
- assert (tmp == 0);
- tmp = ands();
- assert (tmp == 1);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/friend01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/friend01.C
deleted file mode 100644
index 66d42c55490..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/friend01.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-//980610 bkoz
-// example 1: buggy
-
-class foo {
-public:
- class bar;
- int func(bar *);
- class bar {
- int st;
- public:
- bar(){st=12;}
- ~bar(){}
- friend int foo::func(bar *);
- };
- foo(){}
- ~foo(){}
-};
-
-
-int foo::func(bar *obj) {
- obj->st++;
- return (obj->st);
-}
-
-void test02() {
- foo obj_f;
- foo::bar obj_b;
-
- obj_f.func( &obj_b);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/friend02.C b/gcc/testsuite/g++.old-deja/g++.benjamin/friend02.C
deleted file mode 100644
index e9520e3ff60..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/friend02.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-//980610 bkoz
-// example 2: ok
-
-class bar;
-class foo {
-public:
- int func(bar *);
- foo(){}
- ~foo(){}
-};
-
-class bar {
- int st;
-public:
- bar(){st=12;}
- ~bar(){}
- friend int foo::func(bar *);
-};
-
-int foo::func(bar *obj) {
- obj->st++;
- return (obj->st);
-}
-
-void test02() {
- foo obj_f;
- bar obj_b;
-
- obj_f.func( &obj_b);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C b/gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C
deleted file mode 100644
index 6b210f3bf3d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// prms-id: 12475
-
-#include <limits.h>
-
-#if LONG_MAX == 2147483647
-#define TEST 2147483648
-#elif LONG_MAX == 9223372036854775807
-#define TEST 9223372036854775808
-#else
-#error "Unsupported test -- add new constants."
-#endif
-
-enum huh { start =-TEST, next }; // WARNING -
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C b/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
deleted file mode 100644
index 18d62e80512..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-// prms-id: 13417
-
-class Foo {
-public:
- explicit Foo (int){}
-};
-Foo f(10);
-Foo blat() return f(4){}; //this should not give an error
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/p13721.C b/gcc/testsuite/g++.old-deja/g++.benjamin/p13721.C
deleted file mode 100644
index be1df799082..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/p13721.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// prms-id: 13721
-
-class A
-{
- public :
- int a;
-};
-class B : public A
-{
- public :
- void cmp(int a, int b) {}
- B(int a = 0)
- {
- cmp(A::a, a); //should not give warning
- }
-};
-int main(void)
-{
- return(1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C
deleted file mode 100644
index a834f4f4956..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C
+++ /dev/null
@@ -1,71 +0,0 @@
-// Build don't link:
-// 980604 bkoz
-// 3.4.5 Class member access p 4
-// nested and non-nested calls, no dtors
-
-struct L {
- int ii;
- void foo(int a) {++a;}
- struct Linner {
- int ii_inner;
- void foo_inner(int b) {++b;}
- };
-};
-class A : public L {};
-class B : public L {};
-class C : public A, public B {};
-
-
-void foo() {
- // straight call
- C x;
- x.A::ii = 5;
- x.A::foo(x.A::ii);
-
- // 5.1 Primary expressions
- // p 8
- // a nested name specifier that names a class,
- // optionally followed by the keyword template and then followd by
- // the name of a member of either that class or one of its base
- // classes is a qualified-id. (3.4.3.1 describes their lookup.)
-
- // 5.2.5 Class memember access
-
- // p 3 if E1 has the type 'pointer to class X' then
- // E1->E2 == (*(E1)).E32
- // E1 == object-expression
- // E2 == id-expression
- // thus everything gets converted to the "." notation
-
- // p 2
- // the id-expression shall name a member of the class
- // (object-expression) or of one of its base classes.
-
- // p4 if E2 is a nested type (of the object-expression), tye
- // expression E1.E2 is ill formed.
-
- // try 1 nested call - ERROR
-#if 0
- C x2;
- x2.A::L::Linner::ii_inner = 6; //ERROR violates p2, does not name member of C
- x2.A::L::Linner::foo_inner(x2.A::L::Linner::ii_inner);
-#endif
-
- //try2: scoped method call -edg +acc +g++
-#if 1
- C::A::Linner x2;
- x2.A::Linner::ii_inner = 6;
- x2.A::Linner::foo_inner(x2.A::Linner::ii_inner);
-#endif
-
- //try 3: non-scoped method call -edg +acc +g++
-#if 0
- C::A::L::Linner x3;
- x3.ii_inner = 6;
- x3.foo_inner(x3.ii_inner);
-#endif
-}
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/scope02.C b/gcc/testsuite/g++.old-deja/g++.benjamin/scope02.C
deleted file mode 100644
index a2c9c04279f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/scope02.C
+++ /dev/null
@@ -1,208 +0,0 @@
-// Build don't link:
-//980529 bkoz
-//3.4.5 Class member access via pointer and non-pointer
-// non-nested dtor calls
-
-int counter = 0;
-
-struct X {
- int rank;
- X(int init = 64) : rank(init) { }
- ~X() { ++counter; }
- typedef X classtype;
-};
-typedef X globaltype;
-
-#if 0
-template <typename T>
-struct X_tem {
- T rank;
- X_tem(T init = T(64) ) : rank(init) { }
- ~X_tem() { ++counter; }
- typedef X_tem classtype_tem;
-};
-typedef X_tem<int> globaltype_tem;
-#endif
-
-
-
-
-int main(void)
-{
- // 3.4.5 Class member access
- // p 2
- // if the id-expression in a class member access is an
- // unqualified-id, and the type of the object expression is of class
- // type C (or pointer to class type C), the unqualified-id is looked
- // up in the scope of class C. If the type of the object-expression
- // is of pointer to scalar type, the unqualified-id is looked up in
- // the context of the complete postfix-expression.
-
- // p 3
- // if the unqualitified id is ~type-name, and the type of the object
- // expression is of a class type C (or pointer to class type C), the
- // type-name is looked up in the context of the entire
- // postfix-expression and in the scope of class C. The type-name
- // shall refer to a class-name. If type-name is found in both
- // contexts, the name shall refer to the same class type. If the
- // type of the object expression is of scalar type, the type-name is
- // looked up in the complete postfix-expression.
-
- typedef X localtype;
-
- //
- // 1 non-templatized, pointer, unqualified
- //
- X x01 ;
- X *px = &x01;
- px->~X();
-
- X x02 (66);
- px = &x02;
- px->~localtype();
-
- X x03 (68);
- px = &x03;
- px->~classtype(); //-g++ //p3: unqual-id lookup in object and postfix-expr
-
- X x04 (70);
- px = &x04;
- px->~globaltype();
-
-
- // p 1
- // . . . the id-expression is first looked up in the class of the
- // object-expression. If the identifier is not found, itis then
- // looked up in the context of the entier postfix-expression and
- // shall name a class or function template. If the lookup in the
- // class of the object-expression finds a template, the name is also
- // looked up in teh context of the entier postfix-expression and
- // 1 if the name is not found, use the name from the object-expr
- // 2 if the name found in postfix-expr != class template, use object-expr
- // 3 if name found is class template, name must match object-expr or error
-
- // p 4
-
- // if the id-expr in a class member acess is a qualified-id, the
- // id-expression is looked up in both the context of the entire
- // postfix-expr and in the scope of the class of the object-expr. If
- // the name is found in both contexts, the id-expr shall refer to
- // the same entity.
-
-
- //
- // 2 non-templatized, pointer, qualified
- //
- X x05 ;
- px = &x05;
- px->X::~X();
-
- X x06 (66);
- px = &x06;
- px->X::~localtype();
-
- X x07 (68);
- px = &x07;
- px->X::~classtype(); // -edg
-
- X x08 (70);
- px = &x08;
- px->X::~globaltype();
-
- X x09 (66);
- px = &x09;
- px->localtype::~localtype();
-
- X x10 (68);
- px = &x10;
- px->classtype::~classtype();
-
- X x11 (70);
- px = &x11;
- px->globaltype::~globaltype();
-
- X x12 (66);
- px = &x12;
- px->classtype::~localtype();
-
- X x13 (68);
- px = &x13;
- px->globaltype::~localtype();
-
- X x14 (70);
- px = &x14;
- px->localtype::~globaltype();
-
- X x15 (70);
- px = &x15;
- px->classtype::~globaltype();
-
- X x16 (70);
- px = &x16;
- px->localtype::~classtype(); //-edg
-
- X x17 (70);
- px = &x17;
- px->globaltype::~classtype(); //-edg
-
-#if 0
- //
- // non-templatized, non-pointer
- //
- X xo5 ;
- xo5.~X(); //unqualified
-
- localtype xo6 (66);
- xo6.~localtype();
-
- X xo7 (68);
- xo7.~classtype();
-
- X xo8 (70);
- xo8.~globaltype();
-
-
- //
- // templatized, pointer
- //
- X_tem<int> xto1 ;
- X_tem<int> *pxt = &xto1;
- pxt->~X_tem(); //unqualified
-
- typedef X_tem<int> localtype_tem;
- localtype_tem xto2 (66);
- pxt = &xto2;
- pxt->~localtype_tem();
-
- //paragraph 2: unqualitifed id looked up in scope of post-fix expr if object
- X_tem<int> xto3 (68);
- pxt = &xto3;
- pxt->~classtype_tem();
-
- X_tem<int> xto4 (70);
- pxt = &xto4;
- pxt->~globaltype_tem();
-
- //
- // templatized, non-pointer
- //
- X_tem<int> xto5 ;
- xto5.~X_tem(); //unqualified
-
- localtype_tem xto6 (66);
- xto6.~localtype_tem();
-
- X_tem<int> xto7 (68);
- xto7.~classtype_tem();
-
- X_tem<int> xto8 (70);
- xto8.~globaltype_tem();
-#endif
- return 0;
-}
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem01.C
deleted file mode 100644
index e464c0e2e4b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem01.C
+++ /dev/null
@@ -1,136 +0,0 @@
-// Build don't link:
-// prms-id: 13911
-
-template<unsigned int N>
-class ref_counter {
-public:
- ref_counter() : p_refcnt(new unsigned int(N)) {}
- ref_counter(const ref_counter<N>& x) : p_refcnt(x.p_refcnt) {
- ++*p_refcnt;
- }
- ref_counter& operator=(const ref_counter<N>& rhs) {
- ++*rhs.p_refcnt;
- decrement();
- p_refcnt = rhs.p_refcnt;
- return *this;
- }
- ~ref_counter() {decrement();}
-
- bool unique() const {return *p_refcnt == N;}
-
-private:
- unsigned int* p_refcnt;
- void decrement() {
- if (unique()) delete p_refcnt;
- else --*p_refcnt;
- }
-};
-
-template<class T, unsigned int N>
-class ref_pointer {
-public:
-
- ref_pointer() : the_p(0) {}
- ref_pointer(T* just_newed) : the_p(just_newed) {}
- virtual ~ref_pointer() {if (unique()) delete the_p;}
-protected:
- ref_pointer(T* the_p_arg, ref_counter<N>& ref_count_arg)
- : the_p(the_p_arg), ref_count(ref_count_arg) {}
-
-public:
-
- ref_pointer& operator=(const ref_pointer&);
- ref_pointer& operator=(T*);
- operator const T*() const {return the_p;}
- T* operator()() {return the_p;}
- T* operator()() const {return the_p;}
- T& operator*() const {return *the_p;}
- friend bool operator==(const ref_pointer<T, N>& lhs,
- const ref_pointer<T, N>& rhs) {
- return lhs.the_p == rhs.the_p;
- }
- friend bool operator!=(const ref_pointer<T, N>& lhs,
- const ref_pointer<T, N>& rhs) {
- return lhs.the_p != rhs.the_p;
- }
-
-
- bool unique() const {return ref_count.unique();}
- bool isNull() const {return the_p==0;}
-
-protected:
- ref_counter<N>& refCount() {return ref_count;}
-
-private:
-
- ref_counter<N> ref_count;
- T* the_p;
-};
-
-template<class T, unsigned int N>
-ref_pointer<T, N>& ref_pointer<T, N>::operator=(const ref_pointer<T, N>& rhs) {
- if (the_p != rhs.the_p) {
- if (unique()) delete the_p;
- the_p = rhs.the_p;
- ref_count = rhs.ref_count;
- }
- return *this;
-}
-
-
-template<class T, unsigned int N>
-ref_pointer<T, N>& ref_pointer<T, N>::operator=(T* just_newed) {
- if (unique()) delete the_p;
- the_p = just_newed;
- ref_count = ref_counter<N>();
- return *this;
-}
-
-
-
-template<class T>
-class CountedObjPtr : public ref_pointer<T, 1> {
-public:
- CountedObjPtr() {}
- CountedObjPtr(T* just_newed) : ref_pointer<T, 1>(just_newed) {}
- CountedObjPtr(T* the_p_arg, ref_counter<1>& ref_count_arg)
- : ref_pointer<T, 1>(the_p_arg, ref_count_arg) {}
- CountedObjPtr<T>& operator=(T* rhs) {
- ref_pointer<T, 1>::operator=(rhs);
- return *this;
- }
- CountedObjPtr<T>& operator=(const CountedObjPtr<T>& rhs) {
- ref_pointer<T, 1>::operator=(rhs);
- return *this;
- }
- T* operator->() const {return (*this)();}
-
-};
-
-
-
-
-
-//instantiating type
-
-class TSObservable;
-
-class TSObserver {
-public:
-
- enum TSType { NormalTS, UpYldCrvTS, DownYldCrvTS, ZeroVolTS };
-
- virtual ~TSObserver() {}
-
- virtual void update(TSObservable* theChangedObservable) = 0;
- virtual TSType key() const { return myKey; }
- virtual TSType& key() { return myKey; }
-protected:
- TSObserver(TSType myKeyArg) : myKey(myKeyArg) {}
- TSType myKey;
-};
-
-
-
-//now try to instantiate
-template class CountedObjPtr<TSObserver>;
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem02.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem02.C
deleted file mode 100644
index 38a8f1d5e2b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem02.C
+++ /dev/null
@@ -1,54 +0,0 @@
-// Build don't link:
-//980519 bad error from nathan
-//$ egcs -fhonor-std -nostdinc -c redef.C
-//redef.C:56: redefinition of default argument for `class _Traits'
-
-template<class _CharT> struct char_traits;
-template<class _CharT> struct char_traits { };
-template<> struct char_traits<char>;
-template<> struct char_traits<char> { };
-
-template<class _CharT, class _Traits = char_traits<_CharT> > class istreambuf_iterator;
-
-
-template<class _CharT, class _Traits>
- class istreambuf_iterator
-{
- public:
- typedef _Traits traits_type;
- class _Proxy;
- public:
- inline istreambuf_iterator() throw();
- inline istreambuf_iterator(const _Proxy& __p) throw();
-};
-
-
-template <class _CharT, class _Traits>
- class istreambuf_iterator<_CharT,_Traits>::_Proxy
-{
- public:
- _CharT operator*();
-
- //bug -g++ w/ decl "redef", no decl no prob.
- //ok -edg: no warnings
- friend class istreambuf_iterator; // XXX OK?
-
- //bug -g++ w/ decl "redef", no decl no prob.
- //ok -edg: no warnings
- //friend class istreambuf_iterator<_CharT,_Traits>;
-
- //bug -g++ w/ decl "redef", no decl no prob.
- //ok -edg: declaration of "_CharT" and "_Traits" hides template parameter
- //template <class _CharT, class _Traits> friend class istreambuf_iterator;
-
- //ok -g++
- //ok -edg
- //friend class istreambuf_iterator<_CharT>;
-
-};
-
-
-
-//explicit instantiation of a nested class
-template class istreambuf_iterator<char, char_traits<char> >::_Proxy;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C
deleted file mode 100644
index 0e4c389b506..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C
+++ /dev/null
@@ -1,209 +0,0 @@
-// Build don't link:
-// 980808-980824 bkoz
-// template parameter redeclaration bugs
-
-// 14.1 Template parameters
-// p 13
-// The scope of a template-parameter extens from its point of
-// declartion until the end of its template. In particular, a
-// template-parameter can be used in the declaration of subsequent
-// template-parameters and their default arguments.
-
-// 14.6.1 Locally declared names
-// p 4
-// A template-parameter shall not be redeclared within its scope
-// (including nested scopes). A template-parameter shall not have the
-// sname name as the template name.
-
-
-// 01
-// declared friend template
-template <class T4>// ERROR - .*
-class Xone {
-protected:
- T4* next;
- T4* prev;
- T4 value;
-public:
- Xone(): next(0), prev(0), value(1999){}
- Xone(T4 init): value(init) {}
-
- // these are ok:
- // can also do template-decl and then can ditch the foward-declaration
- // template <class T5> friend bool isequal (Xone<T5>& lhs, Xone<T5>& rhs);
- // this is not ok:
- template <class T4> friend bool isequal (Xone<T4>& lhs, Xone<T4>& rhs);// ERROR - .*
-};
-
-
-// 02
-// nested template class
-template <class T6>// ERROR - .*
-class Xtwo {
-protected:
- T6* next;
- T6* prev;
- T6 value;
-public:
- Xtwo(): next(0), prev(0), value(1999){}
- Xtwo(T6 init): value(init) {}
-
- template <class T6> class nested {// ERROR - .*
- T6 value;
- public:
- nested(): value( T6(0)) {}
- };
-};
-
-
-// 03
-// member templates
-template <class T8>// ERROR - .*
-class Xthree {
-protected:
- T8* next;
- T8* prev;
- T8 value;
-public:
- Xthree(): next(0), prev(0), value(1999){}
- Xthree(T8 init): value(init) {}
-
- template <class T8> T8 comp_ge(T8 test) {// ERROR - .*
- T8 local_value;
- if (local_value > value)
- return local_value;
- else
- return value;
- }
-};
-
-
-// 04
-// local names (14.6.1 p 4)
-template <class T10, int i> struct Xfour {// ERROR - .*
- int T10; // ERROR - .*
- void f(){
- char T10;
- }
-};
-
-
-// 05
-// using different tempate-parms for out-of-line defs
-template <class T12, int i> struct Xfive {
- void f();
-};
-
-template <class T13, int i> void Xfive<T13,i>::f() {// ERROR - .*
- int T13; // ERROR - .*
- int T12; //should be ok
-}
-
-
-// 06
-// multiple names at the same level
-template <class T14, class T14> class Xsix { // ERROR - .*
-private:
-public:
- void f();
-};
-
-
-// 07
-// multiple names, one in template parameter one in class-name
-template <class T12> class T12; // ERROR - .*
-
-
-// 08
-// with multiple template params, and second (third) one is redeclared
-template <class T16, int i, class T161> class Xseven { // ERROR - .*
-private:
- char T161; // ERROR - .*
-public:
- template <class U>
- friend bool fooy(U u);
-
- template <class T161>
- friend bool foo(T161 u)
- {
- Xseven<T161, 5, int> obj;
- return (obj.inst == u.inst);
- }
-
-};
-
-
-// 09
-// check for correct scoping of member templates
-template <class T>
-struct S1
-{
- template <class U>
- void f(U u)
- {
- S1<U> s2u(u);
- s2u.g();
- }
-
- template <class U> //ok
- void f2(U u)
- {
- S1<U> s2u(u);
- s2u.g();
- }
-
-};
-
-
-// 10
-// check for non-type parameters, should still be able to redeclare?
-// local names (14.6.1 p 4)
-template <class T18, int i> class Xten {// ERROR - .*
- float i; // ERROR - .*
-};
-
-
-// 11
-// declared friend template, non-type parameters
-template <long l>// ERROR - .*
-class Xeleven {
-public:
- template <long l> friend bool isequal (Xeleven<5> lhs, Xeleven<5> rhs); // ERROR - .*
-};
-
-
-
-// 12
-// nested template class, non-type parameters
-template <long l>// ERROR - .*
-class Xtwelve {
-public:
- template <long l> class nested {// ERROR - .
- long value;
- public:
- nested(): value(0) {}
- };
-};
-
-
-// 13
-// member templates, non-type parameters
-template <long l>// ERROR - .*
-struct Xthirteen {
- template <long l> long comp_ge(long test) {// ERROR - .
- long local_value;
- if (local_value > value)
- return local_value;
- else
- return value;
- }
-};
-
-
-
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem04.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem04.C
deleted file mode 100644
index 0330d0bbd0a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem04.C
+++ /dev/null
@@ -1,182 +0,0 @@
-// Build don't link:
-// 980827 bkoz
-// template parameter redeclaration bugs, part two:
-// template template params and expanded template non-type parms
-
-// 14.1 Template parameters
-// p 13
-// The scope of a template-parameter extens from its point of
-// declartion until the end of its template. In particular, a
-// template-parameter can be used in the declaration of subsequent
-// template-parameters and their default arguments.
-
-// 14.6.1 Locally declared names
-// p 4
-// A template-parameter shall not be redeclared within its scope
-// (including nested scopes). A template-parameter shall not have the
-// same name as the template name.
-
-// 14
-// declared friend template (v3, template type parameters)
-template <class T4>// ERROR - .*
-class Xfourteen {
-protected:
- T4 value;
-public:
- Xfourteen(T4 init): value(init) {}
- template <template <typename T4> class T5> // ERROR - .*
- friend bool isequal (Xfourteen<int>& lhs, Xfourteen<int>& rhs);
-};
-
-
-// 15
-// nested template class (v3, template type parameters)
-template <class T6>// ERROR - .*
-class Xfifteen {
-protected:
- T6 value;
-public:
- Xfifteen(T6 init): value(init) {}
-
- template <template <typename T6> class T7> class nested {// ERROR - .*
- int value;
- public:
- nested(): value( int(0)) {}
- };
-};
-
-
-// 16
-// member templates (v3, template type parameters)
-template <class T8>// ERROR - .*
-class Xsixteen {
-protected:
- T8 value;
-public:
- Xsixteen(T8 init): value(init) {}
-
- template <template <typename T8> class T9> int comp_ge(int test) {// ERROR - .*
- int local_value;
- if (local_value > value)
- return local_value;
- else
- return value;
- }
-};
-
-
-// 17
-// declared friend template (v4, template type parameters on the class)
-template <typename T9> class tem_base {
-public:
- T9 value;
-};
-
-template <typename T10, template <typename T12> class C10>
-class Xseventeen {
-protected:
- C10<T10> value;
-public:
- Xseventeen(){}
- template <typename T12> // ok??
- friend bool isequal (Xseventeen<T10, tem_base>& lhs,
- Xseventeen<T10, tem_base>& rhs);
-};
-
-//template class Xseventeen<int, tem_base>;
-
-
-// 18
-// more template template redecl tests
-template <typename T14, template <typename T15> class C12>// ERROR - .*
-class Xeighteen {
-protected:
- C12<T14> value;
- int C12; // ERROR - .*
-};
-
-
-// 19
-// more template template redecl tests
-template <typename T16, template <typename T17> class C14>// ERROR - .*
-class Xnineteen{
-protected:
- C14<T16> value;
- template <class C14> class nested {// ERROR - .*
- T16 value;
- public:
- nested(): value( T16(0)) {}
- };
-};
-
-
-// 20
-// local names (14.6.1 p 4) part two, variable names as template param
-template <class T17, int i> struct Xtwenty {
- void f(){
- T17 my_type; //ok
- for (int j = 0; j < 5; ++l)
- {
- T17 my_type; //ok
- ++my_type;
- }
- }
-};
-
-
-// 14.1 Template parameters
-// p 4
-// A non-type templat- parameter shall have one of the following
-// (optionally cv-qualified) types:
-// integral or enumeration type
-// pointer to object or pointer to function
-// referenct to object or referece to function
-// pointer to member
-
-// 21
-// non-type template parameters v1: enum
-enum my_enum {my_A = 45, my_B, my_C};
-
-template <my_enum T18> class Xtwentyone {// ERROR - .*
- float T18; // ERROR - .*
-};
-
-
-// 22
-// non-type template parameters v1: pointer to object
-struct base {
- int gcount;
- int ret_gcount() {return gcount;}
-};
-
-template <class T20, base* b> class Xtwentytwo {// ERROR - .*
- float b; // ERROR - .*
-};
-
-
-// 23
-// non-type template parameters v2: reference to object
-template <class T20, base& b2> class Xtwentythree {// ERROR - .*
- float b2; // ERROR - .*
-};
-
-
-// 24
-// non-type template parameters v3: pointer to member
-template <class T20, int base::* b3> class Xtwentyfour {// ERROR - .*
- float b3; // ERROR - .*
-};
-
-
-// 25
-// non-type template parms that use push_class_level
-template <class T22> void f1() {// ERROR - .*
- struct foo {
- enum T22 { un, du, toi }; // ERROR - .*
- };
-}
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem05.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem05.C
deleted file mode 100644
index 92ad7390731..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem05.C
+++ /dev/null
@@ -1,58 +0,0 @@
-// 980924 bkoz
-// just a quick test for export, to make sure we are warning for it.
-// CHANGE ME when it's supported
-// Build don't link:
-
-
-// 14 Templates
-//p 6
-// A namespace-scope declaration or definintion of a non-line function
-// template, a non-inline member function template, a non-inline
-// member function of a class template or a static data member of a
-// class template may be preceeded by the export keyword. If such a
-// template is defined in the same translation unit in which it is
-// declared as exported, the definition is considered to be
-// exported. The first declaration of the template containing the
-// export keyword must not follow the definition. (meaning that export
-// can't beredeclared as non-export??)
-
-// 1
-// template definition
-export template <class T> // WARNING -
-bool templ_one(T a) {
- if (a > 0)
- return true;
- else
- return false;
-}
-
-
-// 2
-// static data, mf, mf template
-template <class T>
-class X_one {
- unsigned short id;
- T type;
-public:
- static const bool is_specialized ;
-
- X_one(const unsigned short& us = 5): id(us), type(T(0)) {}
- unsigned short ret_id ();
- template <class T2> bool compare_ge(T2 test);
-};
-
-export template <class T> // WARNING -
-const bool X_one<T>::is_specialized = false;
-
-export template <class T> // WARNING -
-unsigned short X_one<T>::ret_id() {
- return id;
-}
-
-export template <class T> template <class T2> // WARNING -
-bool compare_ge(T2 test) {
- if (test > type)
- return true;
- return false;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C
deleted file mode 100644
index e55ee6aafb4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// 980945 bkoz
-// test for correct operators at link time
-
-/*
-/tmp/cca211431.o: In function `void blah<foo<int> >(foo<int> const &)':
-/tmp/cca211431.o(.void gnu.linkonce.t.blah<foo<int> >(foo<int> const &)+0x1e): undefined reference to `void x<int>(int const &)'
-*/
-
-template<class T>
-class foo {
-public:
- foo () {}
- friend void x (const T &) { }
-};
-
-template<class T>
-void blah (const T &) {
- T y;
- x (4);
-};
-
-int main () {
- const foo<int> v;
- blah (v);
-}
-
-/*
-fno-exceptions -fno-rtti
-
-1.98r1.o:
-00000000 W __t3foo1Zi
-00000000 W blah__H1Zt3foo1Zi_RCX01_v
-00000000 t gcc2_compiled.
-00000000 T main
- U x__H1Zi_RCX01_v
-
-1.egcs.o:
-00000000 W __t3foo1Zi
-00000000 W blah__H1Zt3foo1Zi_RCX01_v
-00000000 t gcc2_compiled.
-00000000 T main
-00000000 W x__FRCi
-
-
-the reason this goes away at -O is because the U or W function is
-elided completely.
-
-*/
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem07.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem07.C
deleted file mode 100644
index 953ed90d95c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/tem07.C
+++ /dev/null
@@ -1,37 +0,0 @@
-
-template <class T>
-class Foo
-{
-public:
- Foo(const T&);
- Foo(const T&, const T&);
-};
-
-template <class T>
-Foo<T>::Foo(const T& t0)
-{
-}
-
-template <class T>
-Foo<T>::Foo(const T& t0, const T& t1)
-{
-}
-
-template Foo<int>::Foo(const int& t0);
-
-
-int main (void) {
- return 0;
-}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/typedef01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/typedef01.C
deleted file mode 100644
index ba6af18b632..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/typedef01.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Build don't link:
-//980205 bkoz
-
-//7.1.3 the typedef specifier
-
-
-//p1
-typedef int MILES, *KLICKSP;
-MILES distance;
-extern KLICKSP metricp;
-
-//p2--can redefine to same type
-typedef struct s { /* ... */ } s;
-typedef int I;
-typedef int I;
-typedef I I;
-
-//p3--cannot redefine to a different type in a given scope
-class complex2 { /* ... */ };// ERROR - .*
-typedef int complex2;// ERROR - .*
-typedef int complex3;// ERROR - .*
-class complex3 { /* ... */ };// ERROR - .*
-
-
-//p4
-/*
-4 A typedef-name that names a class is a class-name (_class.name_). If
- a typedef-name is used
- 1) following the class-key in an elaborated-type-specifier
- 2) or in the class-head of a class declaration
- 3) or is used as the identifier in the declarator for a
- constructor or destructor declaration
- the program is ill-formed. [Example:
-*/
-struct S {
- S();
- ~S();
-};
-
-typedef struct S T;
-
-S a = T(); // OK
-struct T * p; // ERROR - using typedef after struct
-
-//case01
-typedef bool short;// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/typedef03.C b/gcc/testsuite/g++.old-deja/g++.benjamin/typedef03.C
deleted file mode 100644
index cf09ccbc008..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/typedef03.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Build don't link:
-//980526 bkoz
-// reduced testcase for 980511 brendan qt bug
-
-
-class QTextStream
-{
-public:
- QTextStream();
- virtual ~QTextStream();
-
- enum {
- skipws = 0x0001,
- left = 0x0002,
- right = 0x0004,
- internal = 0x0008,
- bin = 0x0010,
- oct = 0x0020,
- dec = 0x0040,
- hex = 0x0080,
- showbase = 0x0100,
- showpoint = 0x0200,
- uppercase = 0x0400,
- showpos = 0x0800,
- scientific= 0x1000,
- fixed = 0x2000
- };
-
- static const int basefield;
- static const int adjustfield;
-};
-
-typedef QTextStream QTS;
-const int QTS::basefield = (QTS::bin | QTS::dec | QTS::hex) ;
-const int QTS::adjustfield = QTS::left | QTS::right | QTS::internal;
-#if 0
-#define QTS QTextStream
-const int QTS::basefield = (QTS::bin | QTS::dec | QTS::hex) ;
-const int QTS::adjustfield = QTS::left | QTS::right | QTS::internal;
-#endif
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/typeid01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/typeid01.C
deleted file mode 100644
index c75c65b08d9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/typeid01.C
+++ /dev/null
@@ -1,71 +0,0 @@
-// 980617 bkoz
-// typeid for local types
-// typeid bool vs int and enum vs int
-
-#include <typeinfo>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
-
-// 4: local class in non-main function
-
-void test1 (void) {
- bool class_p = false;
- class X2 {
- private:
- unsigned int counter;
- public:
- X2 (unsigned int i = 35): counter(i) {}
- ~X2(){}
- unsigned int ret_counter() {return counter;}
- };
- X2 obj_1;
- class_p = typeid(X2) == typeid(obj_1);
-}
-
-int main ()
-{
- // 1: simple
-#if 1
- bool enum_p = false;
- enum E { A, B, C };
- enum_p = typeid(A) == typeid(E);
-#ifdef DEBUG_ASSERT
- assert (enum_p);
-#endif
-#endif
-
- // 2: complex
-#if 0
- bool enum2_p = false;
- bool int_p = false;
- bool bool_p = false;
- enum E2 { A2, B2};
- enum2_p = typeid(A2) == typeid(E2);
- int_p = typeid(int) == typeid(E2);
- bool_p = typeid(bool) == typeid(E2);
-#ifdef DEBUG_ASSERT
- assert (enum2_p);
- assert (!int_p);
- assert (!bool_p);
-#endif
-#endif
-
- // 3: local class
- bool class_p = false;
- class X {
- private:
- unsigned int counter;
- public:
- X (unsigned int i = 35): counter(i) {}
- ~X(){}
- unsigned int ret_counter() {return counter;}
- };
- X obj_1;
- class_p = typeid(X) == typeid(obj_1);
-
- // 4: local class in function
- test1();
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C b/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
deleted file mode 100644
index d0cf0d01785..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
+++ /dev/null
@@ -1,98 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall -Weffc++
-
-//1 g++/12952 un-named variables in a catch block
-//Wall or Wunused should not give warnings here
-template <class T>
-void f (void) {
- try
- {
- }
-
- catch( int)
- {
- }
-};
-
-//
-//2 g++/12923 __attribute__((__unused__)) not working for objects
-//Weffc++ or Wunused should not report the object as an error
-class C {
- public:
- C();
-};
-
-void f (void){
- C x __attribute__ ((__unused__));
- int y __attribute__ ((__unused__));
-}
-
-//
-//3 g++/12982 lock should not give error here, as above
-void setLock ();
-void clearLock ();
-
-template <class T>
-class test {
-public:
- class lock
- {
- public:
- lock () { setLock(); }
- ~lock () { clearLock(); }
- };
-
- static void f (void)
- {
- lock local __attribute__ ((__unused__));
- }
-
-};
-
-
-//
-//4 g++/12988 neither Mutex nor AutoMutex varibles should give warnings here
-//compile with -Weffc++ or -Wunused depending on post or pre 97r1
-class Mutex {
-private:
- long counter;
-public:
- virtual long retcntr() {return counter;};
- Mutex(int i = 0): counter(i) {};
- virtual ~Mutex() {};
-} __attribute__ ((__unused__));
-
-class AutoMutex: public Mutex{
-private:
- long counter2;
-public:
- long retcntr() {return counter2;};
- AutoMutex(int i = 0): counter2(i) {};
- virtual ~AutoMutex() {};
-} __attribute__ ((__unused__));
-
-
-template <class T>
-int foofunc(T x){
- Mutex sm(2);
- AutoMutex m(&sm);
- return 0;
-};
-
-
-//5 sanity check to make sure other attributes cannot be used
-class Mutex2 {
-private:
- long counter;
-public:
- virtual long retcntr() {return counter;};
- Mutex2(int i = 0): counter(i) {};
- virtual ~Mutex2() {};
-} __attribute__ ((warn)); // WARNING -
-
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C b/gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C
deleted file mode 100644
index e63d43cbec9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C
+++ /dev/null
@@ -1,54 +0,0 @@
-// 980413 bkoz
-// from g++/15307, tests for -Wredundant-decls
-// for friend functions and functions
-// Build don't link:
-//Special g++ Options: -Wredundant-decls
-
-
-extern int foo(const char *);
-
-class A
-{
- friend int foo(const char *);
- int a;
-};
-
-class B
-{
- friend int foo(const char *);
- int foo2() {return b;}
- int b;
-};
-
-class C
-{
- friend int foo(const char *);
- friend int foo(const char *); // WARNING -
- int foo2() {return b;}
- int b;
-};
-
-class D
-{
-public:
- int foo2() {return b;}
- int foo2() {return b;} // ERROR -
- int b;
-};
-
-class E
-{
-public:
- int foo2();
- int foo2(); // ERROR -
- int b;
-};
-
-extern int foo3(const char *); // WARNING -
-extern int foo3(const char *); // WARNING -
-
-
-
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/warn03.C b/gcc/testsuite/g++.old-deja/g++.benjamin/warn03.C
deleted file mode 100644
index b3bd3affc9d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/warn03.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// 980420 bkoz
-// from g++/15307, tests for -Wredundant-decls for decls
-// Build don't link:
-// Special g++ Options: -Wredundant-decls
-
-//shouldn't crash
-extern unsigned char *foo5[];
-extern unsigned char *foo5[];
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/warn04.C b/gcc/testsuite/g++.old-deja/g++.benjamin/warn04.C
deleted file mode 100644
index cb96ac67b33..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/warn04.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// 980903 bkoz
-// make sure this option works
-// Build don't link:
-// Special g++ Options: -Wno-non-template-friend
-
-
-template<class T> class task {
- friend void next_time(); //shouldn't give a warning
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/array1.C b/gcc/testsuite/g++.old-deja/g++.bob/array1.C
deleted file mode 100644
index 2e86f6ff105..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/array1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-char *stuff() {
- char array[10]; // WARNING -
-
- return array;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/array2.C b/gcc/testsuite/g++.old-deja/g++.bob/array2.C
deleted file mode 100644
index 8ddeba8c83d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/array2.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-extern const int a[];
-extern const int a[];
-extern const int a[];
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/case1.C b/gcc/testsuite/g++.old-deja/g++.bob/case1.C
deleted file mode 100644
index a8e5f7b7621..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/case1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// prms-id: 9028
-class Foo;
-
-int main()
-{
- int i=0;
- switch (i)
- {
- case ((Foo *)0): // ERROR -
- case ((Foo *)1): // ERROR -
- break;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/cond1.C b/gcc/testsuite/g++.old-deja/g++.bob/cond1.C
deleted file mode 100644
index d6f1165061a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/cond1.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-// prms-id: 9866
-class TChar
- {
-public:
- explicit inline TChar(unsigned int aChar);
- inline operator unsigned int() const;
-private:
- unsigned int iChar;
- };
-inline TChar::TChar(unsigned int aChar)
- : iChar(aChar)
- {}
-inline TChar::operator unsigned int() const
- {return(iChar);}
-
-class TDes8
- {
-public:
- inline const unsigned char &operator[](int anIndex) const;
- const unsigned char &AtC(int anIndex) const;
- };
-
-inline const unsigned char &TDes8::operator[](int anIndex) const
- {return(AtC(anIndex));}
-
-
-void doExponent(TDes8 &aDigBuf)
- {
- 2 ? TChar(aDigBuf[2]) : '0';
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/delete1.C b/gcc/testsuite/g++.old-deja/g++.bob/delete1.C
deleted file mode 100644
index cf4c8df8949..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/delete1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// prms-id: 7330
-#include <stddef.h>
-int size = 0;
-
-struct X {
- int x;
- void *operator new[](size_t sz) throw() {
- size = sz;
- return 0;
- }
- void operator delete[] (void *vp) { ::operator delete(vp); }
-};
-int main()
-{
- X (*px) [10];
-
- px = new X[5][10];
-
- delete [] px;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/extern_C.C b/gcc/testsuite/g++.old-deja/g++.bob/extern_C.C
deleted file mode 100644
index 6b91adc36e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/extern_C.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-extern "C" {
- class A {
- public:
- void a();
- };
-};
-
-void A::a() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/friend1.C b/gcc/testsuite/g++.old-deja/g++.bob/friend1.C
deleted file mode 100644
index 1782f08913a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/friend1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-class C {
-public:
- static friend int f(); // ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/incomplete-cast1.C b/gcc/testsuite/g++.old-deja/g++.bob/incomplete-cast1.C
deleted file mode 100644
index fb08c63e9c3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/incomplete-cast1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// prms-id: 5274
-class VHDLIdentifier;
-
-class VHDLPackageProtoRep {
-public:
- int thing();
-private:
- virtual VHDLIdentifier &actual_name() ;
-};
-extern void form(const char *format, ... );
-int
-VHDLPackageProtoRep::thing()
-{
- form("package `%s'", (char *)actual_name()); // ERROR - can't convert from incomplete type
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C b/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C
deleted file mode 100644
index 4d62e3896f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-class A {
-char str[10];
-public:
- char* m1 () { return str;};
-};
-
-class C : public A {
-public:
-};
-
-class B : public A {
-public:
- char* m1 () { C::m1(); return ""; } // ERROR -
-};
-
-int main () {
-A a;
-B b;
-C c;
-
-a.m1();
-c.m1();
-b.m1();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C b/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C
deleted file mode 100644
index 52d35b0462c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-class A {
-public:
- void z();
- A(void) {}
-private:
- A(const A &) { abort(); } // ERROR -
- const A& operator =(const A &) { abort(); }
-};
-
-class B : public A {
-public:
- B(void) {}
-};
-
-void f(B b) {
-};
-
-void g() {
- B h;
- f(h); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/nested1.C b/gcc/testsuite/g++.old-deja/g++.bob/nested1.C
deleted file mode 100644
index b5b7a762e0f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/nested1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
- class A {
- class B {
- typedef long T;
- int i;
- };
- };
- class C {
- class B {
- typedef float T;
- int i;
- };
- };
-
-C::B::T a;
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/packed1.C b/gcc/testsuite/g++.old-deja/g++.bob/packed1.C
deleted file mode 100644
index 86a946fc363..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/packed1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-int
-main() {
- struct s
- {
- int a;
- short b;
- } __attribute__((packed)) t;
-
- if (sizeof (t) != (sizeof(int)+sizeof(short)))
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/protected1.C b/gcc/testsuite/g++.old-deja/g++.bob/protected1.C
deleted file mode 100644
index 95a400eeaa1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/protected1.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Build don't link:
-class A {
-public:
- int i;
- A(int j) : i(j){}
-};
-
-class B : protected A {
-public:
- B(int j) : A(j){}
- void f(){
- A k(*this);
- }
-};
-
-class C : protected B {
-public:
- C(int j) : B(j){}
- void f();
-
- void g(){
- A k(i);
- }
-};
-
-
-class D : public C {
-public:
- D(int w) : C(i) {}
- void j() { A k(*this); }
- void h() { i=3; }
-};
-
-void C::f() {
- A k(*this);
-}
-
-B b(3);
-int
-main() {
- A *z = &b; // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/static1.C b/gcc/testsuite/g++.old-deja/g++.bob/static1.C
deleted file mode 100644
index a8e6b88bd93..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/static1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-class A {
- public:
- static int a;
-};
-
-class B : public A {
- public:
- static int b;
-};
-
-int B::a; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/template1.C b/gcc/testsuite/g++.old-deja/g++.bob/template1.C
deleted file mode 100644
index 4a22f086130..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/template1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// prms-id: 10038
-template < class Referencee >
-class Referencer
-{
-public:
- Referencer (Referencee const * pReferencee);
-};
-
-template <class T>
-class Array
-{
-public:
- int addElement (T const & e);
- int addElement ();
-};
-
-class ScenarioGroup;
-
-class ScenarioSet : public Array< Referencer<ScenarioGroup> >
-{
- typedef Array< Referencer<ScenarioGroup> > arrayBase;
- void addElement(ScenarioGroup *group)
- {
- arrayBase::addElement(group);
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/template2.C b/gcc/testsuite/g++.old-deja/g++.bob/template2.C
deleted file mode 100644
index 5663da84be2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/template2.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// Build don't link:
-// prms-id: 10046
-template <class T>
-class Array
-{
-public:
- T const & operator[] (int i) const;
-};
-
-class Referenceable {};
-
-template < class Referencee >
-class Referencer
-{
-public:
- operator Referencee *() const { return i_referencee; }
-
-protected:
- Referencee* i_referencee;
-};
-
-class ScenarioGroup {};
-
-class ScenarioSpace;
-
-class ScenarioSet : public Referenceable,
- public Array< Referencer<ScenarioGroup> >
-{
-public:
- ScenarioSet& operator=(ScenarioSet const & s);
-};
-
-class ScenarioSpace : public Referenceable,
- public Array< Referencer<ScenarioSet> >
-{
-};
-
-class ScenarioSetNameSelector
-{
-public:
- bool operator () (ScenarioSpace &space)
- {
- int idx;
- i_set = space[idx];
- return false;
- }
-private:
- ScenarioSet *i_set;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/template3.C b/gcc/testsuite/g++.old-deja/g++.bob/template3.C
deleted file mode 100644
index 7aca6eda3d6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/template3.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// Build don't link:
-// prms-id: 9979
-
-template < class Referencee >
-class Referencer
-{
-public:
- Referencer() {}
-};
-
-template <class T>
-class List
-{
-public:
- List() {}
-};
-
-template<class T, class KEY>
-class Dictionary
-{
-public:
- Dictionary() : i_buckets (new List<T>[1234]) {}
- ~Dictionary() { delete [] i_buckets; }
-
- List<T> * i_buckets;
-};
-
-class Exchangeable {};
-class ExchangeableHandle {};
-
-class ExchangeableList
- : public Dictionary<Referencer<Exchangeable>, ExchangeableHandle>
-{
-public:
- ExchangeableList(int size=0);
-};
-
-class ObjectExchange
-{
-public:
- ObjectExchange() {};
-
- ExchangeableList i_theWatchList; // Instruments being monitored
-};
-
-int
-main()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/template4.C b/gcc/testsuite/g++.old-deja/g++.bob/template4.C
deleted file mode 100644
index 1ef2057f3fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bob/template4.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// prms-id: 10166
-
-template <class A>
-class B {
- public:
- int f() {
- for(int x=0;x<10;x++) {
- continue;
- return 1;
- }
- return 0;
- }
- private:
- A w;
-};
-
-int
-main() {
- B<int> c;
- return c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/README b/gcc/testsuite/g++.old-deja/g++.brendan/README
deleted file mode 100644
index ce760b1e677..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/README
+++ /dev/null
@@ -1,40 +0,0 @@
-
-abstract - abstract functions
-alignof - gcc alignof builtin
-ambiguity - diagnosing ambiguities
-arm - ARM cases
-array-refs - arrays of references
-bit-fields - bit fields
-chainon - deaths cuz we call chainon() incorrectly
-copy - copy constructors
-crash - old compiler crashes/aborts
-cvt - user-defined conversions
-def-fns - default function generation (in add'n to copy)
-enum-clash - int vs enum
-enum - enumerated types
-err-msg - error messages
-friend - dealing with friend functions and classes
-groff - crashes derived from groff code
-init - initialization bugs
-label - handling labels
-line - line numbers in error messages
-misc - miscellaneous tests that didn't fit another category
-nest - nested types
-new-array - doing new of an array
-new - generic operator new bugs
-operators - tests for various overloaded operators
-parse - parser bugs
-prepost - prefix/postfix operator ++/--
-ptolemy - bugs derived from ptolemy
-recurse - infinite recursion in the compiler
-redecl - handling redeclarations
-scope - managing scopes
-shadow - shadowing of params, etc
-sizeof - ARM compliance w/ sizeof operator
-sorry - old "sorry, not implemented" messages
-static - handling static data
-template - template bugs
-union - handling unions
-visibility - access control and visibility checking
-warnings - warning messages
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/abstract1.C b/gcc/testsuite/g++.old-deja/g++.brendan/abstract1.C
deleted file mode 100644
index b9cd9c5733b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/abstract1.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed abstract-functions
-class O
-{
-public:
- virtual int c()=0;
-};
-
-class I: public O
-{
-};
-
-class S: public virtual I
-{
-public:
- int c();
- virtual int v()=0;
-};
-
-class D: public S
-{
- int v();
-};
-
-D *p=new D();
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/access1.C b/gcc/testsuite/g++.old-deja/g++.brendan/access1.C
deleted file mode 100644
index 0272c7ae1a9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/access1.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed access-control
-class Base
-{
-protected:
- virtual void DoSomething() = 0;
-};
-
-class Fibber : public Base
-{
-public:
- void DoBP() {
- DoSomething();
- }
-};
-
-class Flat : public virtual Fibber
-{
-public:
- void DoIt() {
- DoSomething();
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/alignof.C b/gcc/testsuite/g++.old-deja/g++.brendan/alignof.C
deleted file mode 100644
index 1449aded826..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/alignof.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed extensions
-struct bar { int bit : 1; };
-
-void foo (int *r, bar t)
-{
- // doing alignof on a bit-field should be illegal
- __alignof__ (t.bit);// ERROR - .*
-
- // both of these (a regular ref and an INDIRECT_REF) should work
- __alignof__ (r);
- __alignof__ (*r);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C b/gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C
deleted file mode 100644
index c6d6fcbd4ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed ambiguity
-struct A {
- A (int);
-};
-
-struct B {
- B (int);
-};
-
-void myfunc (const A& t0); // ERROR -
-void myfunc (const B& t0); // ERROR -
-
-int main ()
-{
- myfunc(1); // ERROR - ambiguous call
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/anon-union1.C b/gcc/testsuite/g++.old-deja/g++.brendan/anon-union1.C
deleted file mode 100644
index 86b7ce3fabc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/anon-union1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed anonymous-unions
-static union {
- char* uC;
-private:
- int uI;// ERROR - .*private member.*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/arm1.C b/gcc/testsuite/g++.old-deja/g++.brendan/arm1.C
deleted file mode 100644
index e4156323d1a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/arm1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed ARM-compliance
-// ARM $5.7, it's illegal to do math on a `void*'.
-
-int
-main()
-{
- void *p;
- ++p;// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/arm2.C b/gcc/testsuite/g++.old-deja/g++.brendan/arm2.C
deleted file mode 100644
index 62bdc3d2a39..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/arm2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// ARM 9.4 ``There cannot be a static and a nonstatic member function
-// with the same name and the same argument types.''
-//
-// The trick is to make sure it's caught with both orders (static,
-// then normal, and vice-versa.
-
-class X {
-public:
- int foo();
- static int foo(); // error: redeclaration// ERROR - .*
-};
-
-class Y {
-public:
- static int foo();
- int foo(); // error: redeclaration// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/arm3.C b/gcc/testsuite/g++.old-deja/g++.brendan/arm3.C
deleted file mode 100644
index c352bfa57f0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/arm3.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-// ARM $11.4: A function first declared in a friend decl is equivalent
-// to an extern decl, so the below is illegal.
-
-class X {
- friend g(); // ERROR - previous declaration
-};
-static g() { return 1; }// ERROR - previously declared
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/array-refs.C b/gcc/testsuite/g++.old-deja/g++.brendan/array-refs.C
deleted file mode 100644
index 0eaa45c7f1d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/array-refs.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed arm
-int a, b;
-
-// declaring an array of references should be illegal
-int & v[ 2] = { a, b};// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/array1.C b/gcc/testsuite/g++.old-deja/g++.brendan/array1.C
deleted file mode 100644
index 18129589d9f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/array1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fconserve-space -fcommon
-// GROUPS passed array-bindings
-
-extern "C" void printf (char *, ...);
-char array[~(~0ul>>1)|~(0ul>>3)]; // ERROR - overflow in array dimension.*
-int main () { printf ("PASS\n"); return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/asm-extn1.C b/gcc/testsuite/g++.old-deja/g++.brendan/asm-extn1.C
deleted file mode 100644
index fecd092dfb3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/asm-extn1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -S
-// GROUPS passed asm-extension
-// Skip if not target: sparc-sun-*
-// This used to crash because c_expand_asm_keyword didn't know what to
-// do with this. The parser rules were changed to accept an expr, instead
-// of a stmt.
-
-extern void traptable(void);
-
-main()
-{
- asm("wr %0,%%tbr" : : "r" (traptable));
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/bit-fields1.C b/gcc/testsuite/g++.old-deja/g++.brendan/bit-fields1.C
deleted file mode 100644
index 76f4ac33ac2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/bit-fields1.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed bit-fields
-struct bar {
- int : 2 = 1;// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/bit-fields2.C b/gcc/testsuite/g++.old-deja/g++.brendan/bit-fields2.C
deleted file mode 100644
index c77ce86e07d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/bit-fields2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed bit-fields
- struct {
- char c;
- int i:8;
- } s;
-
- int main()
- {
- int &ir = s.i; // ERROR - address of bitfield
- int *ip = &s.i; // ERROR - address of bitfield
- ir = 10;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/bool1.C b/gcc/testsuite/g++.old-deja/g++.brendan/bool1.C
deleted file mode 100644
index 1e7b343ad16..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/bool1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed boolean
-int
-main()
-{
- typedef char Boolean; // Instrinsic.h
- Boolean c = false;
- bool b = true;
-
- if (!c != !b)
- ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen1.C b/gcc/testsuite/g++.old-deja/g++.brendan/code-gen1.C
deleted file mode 100644
index 84dd634d9cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen1.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// GROUPS passed code-generation
-// Check that sub-word sized structs/classes are passed correctly
-// if the struct/class has a constructor (i.e. ANY constructor).
-
-extern "C" void printf (char *, ...);
-
-struct base {
- unsigned int f1 : 8;
- unsigned int f2 : 8;
-
- base (int ii)
- {
- }
-};
-
-base global_base (7);
-
-int test2 (base formal_base);
-
-int main ()
-{
- global_base.f1 = 0x55;
- global_base.f2 = 0xee;
-
- if (test2 (global_base) == 0)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-
- return 0;
-}
-
-int test2 (base formal_base)
-{
- if (formal_base.f1 != global_base.f1)
- return -1;
- if (formal_base.f2 != global_base.f2)
- return -1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen2.C b/gcc/testsuite/g++.old-deja/g++.brendan/code-gen2.C
deleted file mode 100644
index 133755e894d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// GROUPS passed code-generation
-// Check that declarations with initializations are executed
-// correctly.
-
-extern "C" void printf (char *, ...);
-
-int main ()
-{
- char buff[40] ;
- char *tmp = &buff[0]; // also fails for char *tmp = buff;
-
- if ((unsigned int) tmp != (unsigned int) &buff[0])
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen3.C b/gcc/testsuite/g++.old-deja/g++.brendan/code-gen3.C
deleted file mode 100644
index 6d73bd2336e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen3.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// GROUPS passed code-generation
-// Check that passing things which are not a multiple of
-// 4 bytes in size doesn't mess up other subsequent parameters.
-
-extern "C" void printf (char *, ...);
-
-struct base {
- int f1 : 8;
- int f2 : 8;
-};
-
-base global_base;
-
-int val1;
-
-int test2 (struct base formal_base, int v1);
-
-int main ()
-{
- val1 = 0x5e5e;
- return test2 (global_base, val1);
-}
-
-int test2 (struct base formal_base, int v1)
-{
- formal_base.f1 = formal_base.f2; // prevent warnings
-
- if (v1 != 0x5e5e)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen4.C b/gcc/testsuite/g++.old-deja/g++.brendan/code-gen4.C
deleted file mode 100644
index e29b16a2b09..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen4.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Special g++ Options: -O
-// GROUPS passed code-generation
-// Options: -O
-//
-// Check that when an int value is assigned to a short int, the proper
-// half of the int (i.e. the low order half) ends up in the short.
-//
-// This fails with 1.32.0 with -O and f1() is inline.
-//
-// Workaround - declare "f1_arg" as type "short int".
-
-extern "C" void printf (char *, ...);
-
-short int v2;
-
-long v1 = 0x11117777;
-
-inline void f1 (long f1_arg)
-{
- v2 = f1_arg;
-}
-
-int main ()
-{
- f1 (v1);
-
- if (v2 != 0x00007777)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen5.C b/gcc/testsuite/g++.old-deja/g++.brendan/code-gen5.C
deleted file mode 100644
index 25987776e26..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen5.C
+++ /dev/null
@@ -1,57 +0,0 @@
-// Special g++ Options: -Wno-deprecated -fthis-is-variable
-// GROUPS passed code-generation
-// Check that the "this" pointer is zero when a method is
-// called for an object pointed to by a null pointer.
-
-// Normally, the "__builtin_new" operation which actually
-// allocates objects in heap space is *not* called at the
-// actual point of the "new" keyword. Rather, a check is
-// made within each constructor and if the "this" pointer
-// value passed in is zero, then the actual allocation of
-// memory (via __builtin_new) is done at that point (i.e.
-// at the very beginning of the constructor).
-
-// A special trick allows one to subvert this mechanism.
-// Specifically, if a given constructor contains a statement
-// like: "this = this", then no attempt will be made to
-// implicitly call __builtin_new within that constructor.
-
-extern "C" void printf (char *, ...);
-
-struct base {
- int member;
-
- base ();
- void member_function ();
-};
-
-base *base_pointer_1 = 0;
-base *base_pointer_2 = 0;
-
-int errors = 0;
-
-int main ()
-{
- //base_pointer_2 = new base();
- base_pointer_1->member_function ();
-
- if (errors)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
-
-base::base ()
-{
- this = this;
- if ((int) this != 0)
- errors++;
-}
-
-void base::member_function ()
-{
- if ((int) this != 0)
- errors++;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen6.C b/gcc/testsuite/g++.old-deja/g++.brendan/code-gen6.C
deleted file mode 100644
index ea5d730949d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/code-gen6.C
+++ /dev/null
@@ -1,54 +0,0 @@
-// GROUPS passed code-generation
-// Check that type float parameters can be correctly passed to
-// methods.
-
-extern "C" void printf (char *, ...);
-
-class tres_floats {
- float ff1;
- float ff2;
- float ff3;
-public:
- tres_floats (float f1, float f2, float f3);
- float get_f1 ();
- float get_f2 ();
- float get_f3 ();
-};
-
-float v1 = 1.2345;
-float v2 = 3.14159;
-float v3 = 0.707;
-
-int main ()
-{
- tres_floats tf (v1, v2, v3);
-
- if ((tf.get_f1() != v1) || (tf.get_f2() != v2) || (tf.get_f3() != v3))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
-
-tres_floats::tres_floats (float f1, float f2, float f3)
-{
- ff1 = f1;
- ff2 = f2;
- ff3 = f3;
-}
-
-float tres_floats::get_f1 ()
-{
- return ff1;
-}
-
-float tres_floats::get_f2 ()
-{
- return ff2;
-}
-
-float tres_floats::get_f3 ()
-{
- return ff3;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C b/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
deleted file mode 100644
index 908b4ca5f90..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Special g++ Options:
-
-// This test makes sure that the stuff in lex.c (real_yylex) is
-// set up to handle real and imag numbers correctly. This test is against
-// a bug where the compiler was not converting the integer `90' to a
-// complex number, unless you did `90.0'. Fixed 10/1/1997.
-
-extern "C" void printf (char *, ...);
-
-__complex__ double cd;
-
-int
-main(int argc, char *argv[])
-{
- cd = 1.0+90i;
- cd *= argc;
-
- if (__real__ cd != 1 || __imag__ cd != 90)
- exit (1);
-
- exit (0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy1.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy1.C
deleted file mode 100644
index 27d959f8320..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// GROUPS passed copy-ctors
-extern "C" void printf (char *, ...);
-int count = 0;
-
-class C {
-public:
- C (int) { count++; }
- operator int () { return 0; }
-};
-
-int
-main ()
-{
- C c1 (1);
- C c2 (c1);
-
- if (count != 1)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy2.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy2.C
deleted file mode 100644
index 0ecc1e9db10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy2.C
+++ /dev/null
@@ -1,79 +0,0 @@
-// GROUPS passed copy-ctors
-/*
-The old g++ output is
-
-Item()
-Compound()
-Pre foo
-foo
-~Compound()
-~Item()
-Post foo
-~Compound()
-~Item()
-
-The output should be something like (produced from ATT 2.1)
-
-Item()
-Compound()
-Pre foo
-Item(const Item& i) <------ missing above
-foo
-~Compound()
-~Item()
-Post foo
-~Compound()
-~Item()
-
-*/
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-int count = 0;
-
-void
-die (int x)
-{
- if (x != ++count)
- {
- printf ("FAIL\n");
- exit (1);
- }
-}
-
-
-class Item {
- public:
- Item() { die (1); }
- Item(const Item& i) { die (4); }
- ~Item() { count++; if (count != 7 && count != 10) die (-1); }
-};
-
-
-class Compound {
- Item i;
- public:
- Compound() { die (2); }
- ~Compound() { count++; if (count != 6 && count != 9) die (-1); }
-};
-
-
-void foo(Compound a)
-{
- die (5);
-}
-
-int
-main()
-{
- Compound a;
-
- die (3);
- foo(a);
-
- die (8);
-
- printf ("PASS\n");
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy3.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy3.C
deleted file mode 100644
index 3b1edd5f0ab..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy3.C
+++ /dev/null
@@ -1,58 +0,0 @@
-// GROUPS passed copy-ctors
-/*
-
-If I compile it with cfront (AT&T C++ Translator 2.00.02 08/25/89) and run it
-I get:
-
- A::A()
- A::A(const A&)
- B::Bar()
- A::~A()
- A::~A()
-
-If I compile it with g++ (gcc version 2.2.2) and run it I get:
-
- A::A()
- B::Bar()
- A::~A()
- A::~A()
-
-*/
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-int count = 0;
-
-void
-die (int x)
-{
- if (x != ++count)
- {
- printf ("FAIL\n");
- exit (1);
- }
-}
-
-
-class A {
-public:
- A() { die (1); }
- A(const A&) { die (2); }
- ~A() { count++; if (count != 4 && count != 5) die (-1); }
-};
-
-class B : public A {
-public:
- void Bar() { die (3); }
-};
-
-void Foo(B b) { b.Bar(); }
-
-int
-main()
-{
- B b;
- Foo(b);
-
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy4.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy4.C
deleted file mode 100644
index 35b53932141..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy4.C
+++ /dev/null
@@ -1,58 +0,0 @@
-// GROUPS passed copy-ctors
-// Using Cfront 3.0.1 the programm below prints
-//
-// A()
-// A(const A& a)
-// ~A()
-// A(A& a) <---- !!!
-// ~A()
-// ~A()
-//
-// the g++ 2.2.2 (sparc-sun-sunos4.1) generated code prints
-//
-// A()
-// A(const A& a)
-// ~A()
-// A(const A& a) <---- !!!
-// ~A()
-// ~A()
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-int count = 0;
-
-void
-die (int x)
-{
- if (x != ++count)
- {
- printf ("FAIL\n");
- exit (1);
- }
-}
-
-class A {
-public:
- A() { die (1); }
- A(const A& a) { die (2); }
- A(A& a) { die (4); }
- ~A() { count++; if (count != 3 && count != 5 && count != 6) die (-1); }
-};
-
-void foo1(const A& a) {
- A b = a;
-}
-
-void foo2( A& a) {
- A b = a;
-}
-
-int main() {
- A a;
-
- foo1(a);
- foo2(a);
-
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy5.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy5.C
deleted file mode 100644
index 277940ba240..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy5.C
+++ /dev/null
@@ -1,85 +0,0 @@
-// GROUPS passed copy-ctors
-/*
-bad:
-sibelius402> a.out
-a=5 a.virtMember()=30
-BaseClass::Increm --> {i=5, virtMember()=30}
-a=7 a.virtMember()=30
-b=7 b.virtMember()=30
-BaseClass::Increm --> {i=7, virtMember()=999}
-b=9 b.virtMember()=30
-sibelius403>
-
- good:
-
-sibelius406> a.out
-a=5 a.virtMember()=30
-BaseClass::Increm --> {i=5, virtMember()=30}
-a=7 a.virtMember()=30
-b=7 b.virtMember()=30
-BaseClass::Increm --> {i=7, virtMember()=30}
-b=9 b.virtMember()=30
-*/
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-void die () { printf ("FAIL\n"); exit (1); }
-
-class BaseClass {
-
- friend int operator != (const BaseClass irv, int x);
-
- int i;
-
-public:
-
- BaseClass( const BaseClass& ir ) : i(ir.i) {};
- BaseClass() : i(5) {};
-
- virtual int virtMember() { return( 999 ); };
-
- void Increm( int r );
-};
-
-void BaseClass::Increm( int r )
-{
- if ((i == 5 && virtMember () == 30)
- || (i == 7 && virtMember () == 30))
- i += r;
- else
- die ();
-};
-
-class DerivedClass : public BaseClass {
-public:
- int virtMember() { return( 30 ); };
-};
-
-int operator != (const BaseClass irv, int x) { return irv.i != x; }
-
-int
-main ()
-{
- DerivedClass a;
-
- if (a != 5 || a.virtMember () != 30)
- die ();
-
- a.Increm(2);
-
- if (a != 7 || a.virtMember () != 30)
- die ();
-
- DerivedClass b = a;
-
- if (b != 7 || a.virtMember () != 30)
- die ();
-
- b.Increm(2);
-
- if (b != 9 || a.virtMember () != 30)
- die ();
-
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy6.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy6.C
deleted file mode 100644
index d15a4beee15..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy6.C
+++ /dev/null
@@ -1,55 +0,0 @@
-// GROUPS passed copy-ctors
-/*
-g++ 2.3.3 will prefer using type conversions over the
-implicitly generated copy constructor. This is wrong.
-If you explicitly define a copy constructor, it will
-use it. However, the implicit copy constructor MUST be
-called whenever an explicit one would have been called
-also. See below: g++ converts from and back into
-unsigned, instead of using the implicit copy constructor:
-here is the version:
-Reading specs from /usr/lib/gcc-lib/i386-linux/2.3.3/specs
-gcc version 2.3.3
- /usr/lib/gcc-lib/i386-linux/2.3.3/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dunix -Di386 -Dlinux -D__unix__ -D__i386__ -D__linux__ -D__unix -D__i386 -D__linux bug2.cc /usr/tmp/cca02008.i
-GNU CPP version 2.3.3 (80386, BSD syntax)
- /usr/lib/gcc-lib/i386-linux/2.3.3/cc1plus /usr/tmp/cca02008.i -quiet -dumpbase bug2.cc -version -o /usr/tmp/cca02008.s
-GNU C++ version 2.3.3 (80386, BSD syntax) compiled by GNU C version 2.3.3.
- as -o /usr/tmp/cca020081.o /usr/tmp/cca02008.s
- ld /usr/lib/crt0.o -nojump -L/usr/lib/gcc-lib/i386-linux/2.3.3 /usr/tmp/cca020081.o -lg++ -lgcc -lc -lgcc
-
-Ok, and here is the output:
-test k: constructing from scratch
-test l=k: type conversion into unsigned
-constructing from unsigned
-
-*/
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-int count = 0;
-
-void die () { printf ("FAIL\n"); exit (1); }
-
-struct test {
- test() { if (count != 0) die (); }
-
- test(unsigned) {
- die ();
- }
- operator unsigned() {
- die ();
- return 0;
- }
-};
-
-int
-main() {
- test k;
- test l=k;
-
- printf ("PASS\n");
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy7.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy7.C
deleted file mode 100644
index e2f4e7ac286..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy7.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// GROUPS passed copy-ctors
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-void die () { printf ("FAIL\n"); exit (1); }
-
-class B {
-public:
- B() {}
- B(const B &) { printf ("PASS\n"); exit (0); };
-private:
- int x;
-};
-
-class A : public B {
-public:
- A() {}
-
- A(const B &) { printf ("FAIL\n"); exit (1); }
-};
-
-int
-main()
-{
- A a;
- A b(a);
-
- printf ("FAIL\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy8.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy8.C
deleted file mode 100644
index fe248bae34d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy8.C
+++ /dev/null
@@ -1,67 +0,0 @@
-// GROUPS passed copy-ctors
-/*
-This report is for GCC 2.3.3 running on a Sun/4. The bug is that when
-a class instance is passed-by-value, GCC does not correctly copy the value.
-At the end of this report is an example program that demonstrates the bug.
-It should print:
-
- construct A('x')
- copy A('x')
- destruct A('x')
- destruct A('x')
-
-and in fact does for IBM's xlC C++. However, for GCC 2.3.3, it fails
-to print the second line ["copy A('x')"], which indicates that it failed
-to call the copy-constructor for class A when it should have. Below is a
-typescript that lists the program, shows how I compiled it, and shows the
-incorrect output.
-*/
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-int count = 0;
-
-void
-die (int x)
-{
- if (x != ++count)
- {
- printf ("FAIL\n");
- exit (1);
- }
-}
-
-class A { // Class with explicit & instrumented copy-constructor and destructor.
-public:
- const char * id;
- A( const char * id1 ) : id(id1) { die (1); }
-
- // Copy constructor
- A( const A& a ) : id(a.id) { die (2); }
-
- // Destructor
- ~A() { count++; if (count != 3 && count != 4) die (-1); }
-};
-
-class X { // Class without explicit copy-constructor
-private:
- A a;
-public:
- X( const char * id ) : a(id) {}
-};
-
-void Func( X x ) { // Function with call-by-value argument
-}
-
-int
-main() {
- X x("x"); // Construct instance of x.
-
- // The next line should call the copy-constructor for X since x is
- // being passed by value. For GCC 2.3.3 on a Sun/4, it does not.
- Func(x);
-
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C
deleted file mode 100644
index 59fd2285419..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// GROUPS passed copy-ctors
-#include <iostream.h>
-
-// token types: from state parser
-const int T_EOF = 257;
-const int T_ERROR = 258;
-const int T_Float = 259;
-const int T_Int = 260;
-const int T_ID = 261;
-const int T_STRING = 262;
-
-class Complex;
-class State;
-
-// token, from state parser.
-class ParseToken {
-public:
- int tok;
- union {
- char cval;
- const char *sval;
- int intval;
- double doubleval;
- Complex* Complexval;
- const State* s;
- };
- ParseToken () { tok = 0; intval = 0;}
-};
-
-int
-main () {
- ParseToken a;
- a.tok = T_Float;
- a.doubleval = 23.2;
- ParseToken b(a);
-
- if (b.doubleval == 23.2)
- cout << "PASS\n";
- else
- cout << "FAIL\n";
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C
deleted file mode 100644
index 66de235b484..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class D_Interval;
-
-class Date
-{
- public:
- Date(const D_Interval*,const Date&);
-private:
- const D_Interval* interval;
-};
-
-class Time_Interval
-{
- public:
- Time_Interval(const Date& start,const Date& stop);
- const Date& Start() const { return start; }
- const Date& Stop() const { return stop; }
- private:
- Date start;
- Date stop;
-};
-
-class Dated_Data
-{
- public:
- Dated_Data(const Time_Interval& dates);
- virtual ~Dated_Data();
- Time_Interval Dates() const { return dates; }
- private:
- Time_Interval dates;
-};
-
-class Raw_Data : public Dated_Data
-{
- public:
- Raw_Data(const Dated_Data *source,const D_Interval& period);
-};
-
-Raw_Data::Raw_Data(const Dated_Data *source,const D_Interval& period)
- : Dated_Data(Time_Interval(Date(&period,source->Dates().Start()),
- Date(&period,source->Dates().Stop())))
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash10.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash10.C
deleted file mode 100644
index 6680718bad6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash10.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class word
-{
- unsigned char b1, b2;
-public:
- word (unsigned int i = 0) { b1 = i & 0xff; b2 = (i & 0xff00) >> 8; }
- operator unsigned int () { return (b2 << 8) + b1; }
-};
-
-class just_another
-{
- int foo;
- char bar[23];
-};
-
-int mumble(word w)
-{
- just_another *jap;
- unsigned bar;
-
- bar = w;
-
- jap = new just_another [w];
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash11.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash11.C
deleted file mode 100644
index 00c30867cf9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash11.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-extern "C" void printf (char *, ...);
-
-class A {
- int i; // ERROR - private
- int j; // ERROR - private
- public:
- int h;
- A() { i=10; j=20; }
- virtual void f1() { printf("i=%d j=%d\n",i,j); }
- friend virtual void f2() { printf("i=%d j=%d\n",i,j); }// ERROR - virtual.*
-};
-
-class B : public A {
- public:
- virtual void f1() { printf("i=%d j=%d\n",i,j); }// ERROR - member.*// ERROR - member.*
- friend virtual void f2() { printf("i=%d j=%d\n",i,j); }// ERROR - virtual.*// ERROR - member.*// ERROR - member.*
-};
-
-int
-main() {
- A * a = new A;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash12.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash12.C
deleted file mode 100644
index 0671c7b8970..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash12.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class X
-{
- int i;
-public:
- X(int j);
-}
-
-X *x = new X[10]();// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C
deleted file mode 100644
index c375e9b7220..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class gen_op
-{
-public:
- gen_op ( );
- gen_op (const gen_op &Op1);
- ~gen_op ( );
- void operator = (const gen_op &Op1);
-};
-
-
-
-
-class spin_op
-{
-public:
- spin_op();
- spin_op(const spin_op& SOp);
- ~spin_op();
- void operator= (const spin_op& SOp);
- operator gen_op();
-};
-
-
-spin_op Fe();
-
-
-gen_op Spul_U_axis()
-{
- gen_op U1;
- U1 = Fe();
-}; // ERROR - reaches end of non-void function
-
-int
-main () {};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash14.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash14.C
deleted file mode 100644
index dc2812191ac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash14.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-extern "C" void printf (char *, ...);
-
-
-class cl
-{
- int i;
-public:
- cl(int j = 0) {i = j;}
- int get_i() {return i;}
- };
-
-int
-main()
-{
- cl ob[3] = {1, 2, 3};
- int i;
-
- for(i=0; i<3; i++)
- printf("%d\n", ob[i].get_i());
-
- return 0;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
deleted file mode 100644
index 56a7e75b9ba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-#include <iostream.h>
-
-class A {
- public:
- virtual ~A() {cout << "executed ~A()\n";};
-};
-
-class B : public A {
- public:
- virtual ~B() {cout << "executed ~B()\n";};
-};
-
-int
-main() {
- cout << "starting\n";
- B b;
- b.~A();// ERROR - destructor
- cout << "done\n";
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash16.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash16.C
deleted file mode 100644
index 5030b297ae0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash16.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class Graph {
-public:
- unsigned char N;
- Graph(void) {}; // ERROR - previously defined here
-}
-
-Graph::Graph(void)
-{ N = 10;// ERROR - return type.*
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash17.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash17.C
deleted file mode 100644
index 7072eab2c88..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash17.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-//
-// This one creates
-//
-// gcc2: Internal compiler error: program cc1plus got fatal signal 11
-//
-// when compiled with g++.
-// The error goes away, if
-// 1) int ClassInvariant() is not virtual or
-// 2) GnObject has a virtual destructor or
-// 3) GnWidget has no virtual destructor or
-// 4) GnContracts has a virtual destructor
-//
-
-
-class GnContracts {
- public:
- virtual int ClassInvariant();
-// virtual ~GnContracts();
-};
-
-class GnObject : public GnContracts {
- public:
-// virtual ~GnObject();
-};
-
-class GnWidget : public GnObject {
- public:
- virtual ~GnWidget();
-};
-
-class GnOptionGroup : public GnObject, public GnWidget {
-};// ERROR - warning
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash18.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash18.C
deleted file mode 100644
index d4a4c60b7c8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash18.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-typedef int element;
-class Pix {
-public:
- Pix();
- Pix(const Pix&);
-
- // Friend functions so that v == x works as does x == v works
- friend int operator==(void *v, const Pix& x)
- { return v == index; }// ERROR - .*
- friend int operator==(void *v, const Pix& x)
- { return v != index; }// ERROR - .*
-private:
-// friend class List<T>;
- element *index;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash19.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash19.C
deleted file mode 100644
index 1738c736297..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash19.C
+++ /dev/null
@@ -1,1704 +0,0 @@
-// Special g++ Options:
-// Build don't link:
-// GROUPS passed old-abort
-typedef unsigned long _G_clock_t;
-typedef long _G_dev_t;
-typedef long int _G_fpos_t;
-typedef long _G_gid_t;
-typedef unsigned long _G_ino_t;
-typedef unsigned short _G_mode_t;
-typedef short _G_nlink_t;
-typedef long _G_off_t;
-typedef long _G_pid_t;
-typedef int _G_ptrdiff_t;
-typedef int _G_sigset_t;
-typedef unsigned int _G_size_t;
-typedef long _G_time_t;
-typedef long _G_uid_t;
-typedef unsigned int _G_wchar_t;
-typedef int _G_ssize_t;
-typedef double * _G_va_list;
-class ostream; class streambuf; class backupbuf;
-extern "C" int __underflow(streambuf*);
-extern "C" int __overflow(streambuf*, int);
-typedef _G_off_t streamoff;
-typedef _G_off_t streampos;
-typedef unsigned long __fmtflags;
-typedef unsigned char __iostate;
-struct _ios_fields {
- streambuf *_strbuf;
- ostream* _tie;
- int _width;
- __fmtflags _flags;
- _G_wchar_t _fill;
- __iostate _state;
- __iostate _exceptions;
- int _precision;
-};
-enum state_value {
- _good = 0 ,
- _eof = 1 ,
- _fail = 2 ,
- _bad = 4 };
-enum open_mode {
- input = 1 ,
- output = 2 ,
- atend = 4 ,
- append = 8 };
-class ios : public _ios_fields {
- public:
- typedef __fmtflags fmtflags;
- typedef int iostate;
- typedef int openmode;
- enum io_state {
- goodbit = 0 ,
- eofbit = 1 ,
- failbit = 2 ,
- badbit = 4 };
- enum open_mode {
- in = 1 ,
- out = 2 ,
- ate = 4 ,
- app = 8 ,
- trunc = 16 ,
- nocreate = 32 ,
- noreplace = 64 ,
- bin = 128 };
- enum seek_dir { beg, cur, end};
- enum { skipws=01, left=02, right=04, internal=010,
- dec=020, oct=040, hex=0100,
- showbase=0200, showpoint=0400, uppercase=01000, showpos=02000,
- scientific=04000, fixed=010000, unitbuf=020000, stdio=040000,
- dont_close=0x80000000
- };
- enum {
- basefield=dec+oct+hex,
- floatfield = scientific+fixed,
- adjustfield = left+right+internal
- };
- ostream* tie() const { return _tie; }
- ostream* tie(ostream* val) { ostream* save=_tie; _tie=val; return save; }
- _G_wchar_t fill() const { return (_G_wchar_t)_fill; }
- _G_wchar_t fill(_G_wchar_t newf)
- {_G_wchar_t oldf = (_G_wchar_t)_fill; _fill = (char)newf; return oldf;}
- fmtflags flags() const { return _flags; }
- fmtflags flags(fmtflags new_val) {
- fmtflags old_val = _flags; _flags = new_val; return old_val; }
- int precision() const { return _precision; }
- int precision(int newp) {
- unsigned short oldp = _precision; _precision = (unsigned short)newp;
- return oldp; }
- fmtflags setf(fmtflags val) {
- fmtflags oldbits = _flags;
- _flags |= val; return oldbits; }
- fmtflags setf(fmtflags val, fmtflags mask) {
- fmtflags oldbits = _flags;
- _flags = (_flags & ~mask) | (val & mask); return oldbits; }
- fmtflags unsetf(fmtflags mask) {
- fmtflags oldbits = _flags & mask;
- _flags &= ~mask; return oldbits; }
- int width() const { return _width; }
- int width(int val) { int save = _width; _width = val; return save; }
- void _throw_failure() { }
- streambuf* rdbuf() const { return _strbuf; }
- void clear(iostate state = 0) {
- _state = _strbuf ? state : state|badbit;
- if (_state & _exceptions) _throw_failure(); }
- void set(iostate flag) { _state |= flag;
- if (_state & _exceptions) _throw_failure(); }
- int good() const { return _state == 0; }
- int eof() const { return _state & ios::eofbit; }
- int fail() const { return _state & (ios::badbit|ios::failbit); }
- int bad() const { return _state & ios::badbit; }
- iostate rdstate() const { return _state; }
- operator void*() const { return fail() ? (void*)0 : (void*)(-1); }
- int operator!() const { return fail(); }
- iostate exception(iostate enable) {
- iostate old = _exceptions; _exceptions = enable;
- if (_state & _exceptions) _throw_failure();
- return old; }
- static int sync_with_stdio(int on);
- static void sync_with_stdio() { sync_with_stdio(1); }
- void unset(state_value flag) { _state &= ~flag; }
- void close();
- int is_open();
- int readable();
- int writable();
- protected:
- ios(streambuf* sb = 0, ostream* tie = 0);
- virtual ~ios();
- void init(streambuf* sb) { _state=0; _strbuf=sb; }
-};
-typedef ios::seek_dir _seek_dir;
-class streammarker {
- friend class streambuf;
- friend int __underflow(streambuf*);
- struct streammarker *_next;
- streambuf *_sbuf;
- streampos _spos;
- void set_streampos(streampos sp) { _spos = sp; }
- void set_offset(int offset) { _pos = offset; _spos = (streampos)(-2); }
- int _pos;
- public:
- streammarker(streambuf *sb);
- ~streammarker();
- int saving() { return _spos == -2; }
- int delta(streammarker&);
- int delta();
-};
-struct __streambuf {
- int _flags;
- char* _gptr;
- char* _egptr;
- char* _eback;
- char* _pbase; // ERROR - inacessible
- char* _pptr; // ERROR - inacessible
- char* _epptr;
- char* _base;
- char* _ebuf;
- struct streambuf *_chain;
- friend class streammarker;
- char *_other_gbase;
- char *_aux_limit;
- char *_other_egptr;
- streammarker *_markers;
- unsigned short _cur_column;
- char _unused;
- char _shortbuf[1];
-};
-extern unsigned __adjust_column(unsigned start, const char *line, int count);
-struct streambuf : private __streambuf {
- friend class ios;
- friend class istream;
- friend class ostream;
- friend class streammarker;
- friend int __underflow(streambuf*);
- protected:
- static streambuf* _list_all;
- streambuf*& xchain() { return _chain; }
- void _un_link();
- void _link_in();
- char* gptr() const { return _gptr; }
- char* pptr() const { return _pptr; }
- char* egptr() const { return _egptr; }
- char* epptr() const { return _epptr; }
- char* pbase() const { return _pbase; }
- char* eback() const { return _eback; }
- char* base() const { return _base; }
- char* ebuf() const { return _ebuf; }
- int blen() const { return _ebuf - _base; }
- void xput_char(char c) { *_pptr++ = c; }
- int xflags() { return _flags; }
- int xflags(int f) { int fl = _flags; _flags = f; return fl; }
- void xsetflags(int f) { _flags |= f; }
- void xsetflags(int f, int mask) { _flags = (_flags & ~mask) | (f & mask); }
- void gbump(int n) { _gptr += n; }
- void pbump(int n) { _pptr += n; }
- void setb(char* b, char* eb, int a=0);
- void setp(char* p, char* ep) { _pbase=_pptr=p; _epptr=ep; }
- void setg(char* eb, char* g, char *eg) { _eback=eb; _gptr=g; _egptr=eg; }
- char *shortbuf() { return _shortbuf; }
- int in_backup() { return _flags & 0x100 ; }
- char *Gbase() { return in_backup() ? _other_gbase : _eback; }
- char *eGptr() { return in_backup() ? _other_egptr : _egptr; }
- char *Bbase() { return in_backup() ? _eback : _other_gbase; }
- char *Bptr() { return _aux_limit; }
- char *eBptr() { return in_backup() ? _egptr : _other_egptr; }
- char *Nbase() { return _other_gbase; }
- char *eNptr() { return _other_egptr; }
- int have_backup() { return _other_gbase != __null ; }
- int have_markers() { return _markers != __null ; }
- int _least_marker();
- void switch_to_main_get_area();
- void switch_to_backup_area();
- void free_backup_area();
- void unsave_markers();
- int put_mode() { return _flags & 0x800 ; }
- int switch_to_get_mode();
- streambuf(int flags=0);
- public:
- static int flush_all();
- static void flush_all_linebuffered();
- virtual int underflow() = 0;
- virtual int overflow(int c = (-1) ) = 0;
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
- int seekmark(streammarker& mark, int delta = 0);
- int sputbackc(char c);
- int sungetc();
- virtual ~streambuf();
- int unbuffered() { return _flags & 2 ? 1 : 0; }
- int linebuffered() { return _flags & 0x200 ? 1 : 0; }
- void unbuffered(int i)
- { if (i) _flags |= 2 ; else _flags &= ~2 ; }
- void linebuffered(int i)
- { if (i) _flags |= 0x200 ; else _flags &= ~0x200 ; }
- int allocate() {
- if (base() || unbuffered()) return 0;
- else return doallocate(); }
- void allocbuf() { if (base() == __null ) doallocbuf(); }
- void doallocbuf();
- virtual int sync();
- virtual int pbackfail(int c);
- virtual streambuf* setbuf(char* p, int len);
- int in_avail() { return _egptr - _gptr; }
- int out_waiting() { return _pptr - _pbase; }
- virtual int xsputn(const char* s, int n);
- int sputn(const char* s, int n) { return xsputn(s, n); }
- int padn(char pad, int n);
- virtual int xsgetn(char* s, int n);
- int sgetn(char* s, int n) { return xsgetn(s, n); }
- int ignore(int);
- virtual int get_column();
- virtual int set_column(int);
- long sgetline(char* buf, _G_size_t n, char delim, int putback_delim);
- int sbumpc() {
- if (_gptr >= _egptr && __underflow(this) == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr++; }
- int sgetc() {
- if (_gptr >= _egptr && __underflow(this) == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr; }
- int snextc() {
- if (_gptr >= _egptr && __underflow(this) == (-1) ) return (-1) ;
- return _gptr++, sgetc(); }
- int sputc(int c) {
- if (_pptr >= _epptr) return __overflow(this, (unsigned char)c);
- else return *_pptr++ = c, (unsigned char)c; }
- void stossc() { if (_gptr < _egptr) _gptr++; }
- int vscan(char const *fmt0, _G_va_list ap, ios* stream = __null );
- int scan(char const *fmt0 ...);
- int vform(char const *fmt0, _G_va_list ap);
- int form(char const *fmt0 ...);
-};
-class backupbuf : public streambuf {
- friend class streammarker;
- protected:
- backupbuf(int flags=0) : streambuf(flags| 0x4000 ) { }
- public:
- virtual int pbackfail(int c);
- virtual int underflow();
- virtual int overflow(int c = (-1) );
-};
-struct __file_fields {
- short _fileno;
- int _blksize;
- _G_fpos_t _offset;
-};
-class filebuf : public backupbuf {
- protected:
- struct __file_fields _fb;
- void init();
- public:
- static const int openprot;
- filebuf();
- filebuf(int fd);
- filebuf(int fd, char* p, int len);
- ~filebuf();
- filebuf* attach(int fd);
- filebuf* open(const char *filename, const char *mode);
- filebuf* open(const char *filename, ios::openmode mode, int prot = 0664);
- virtual int underflow();
- virtual int overflow(int c = (-1) );
- int is_open() const { return _fb._fileno >= 0; }
- int fd() const { return is_open() ? _fb._fileno : (-1) ; }
- filebuf* close();
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streambuf* setbuf(char* p, int len);
- int xsputn(const char* s, int n);
- int xsgetn(char* s, int n);
- virtual int sync();
- protected:
- int is_reading() { return eback() != egptr(); }
- char* cur_ptr() { return is_reading() ? gptr() : pptr(); }
- char* file_ptr() { return eGptr(); }
- int do_write(const char *data, int to_do);
- int do_flush() { return do_write(_pbase, _pptr-_pbase); }// ERROR -
- virtual _G_ssize_t sys_read(char* buf, _G_size_t size);
- virtual _G_fpos_t sys_seek(_G_fpos_t, _seek_dir);
- virtual _G_ssize_t sys_write(const void*, long);
- virtual int sys_stat(void*);
- virtual int sys_close();
-};
-inline ios::ios(streambuf* sb , ostream* tie ) {
- _state = sb ? ios::goodbit : ios::badbit; _exceptions=0;
- _strbuf=sb; _tie = tie; _width=0; _fill=' ';
- _flags=ios::skipws|ios::dec; _precision=6; }
-inline ios::~ios() {
- if (!(_flags & (unsigned int)ios::dont_close)) delete _strbuf; }
-class istream; class ostream;
-typedef ios& (*__manip)(ios&);
-typedef istream& (*__imanip)(istream&);
-typedef ostream& (*__omanip)(ostream&);
-extern istream& ws(istream& ins);
-extern ostream& flush(ostream& outs);
-extern ostream& endl(ostream& outs);
-extern ostream& ends(ostream& outs);
-class ostream : virtual public ios
-{
- void do_osfx();
- public:
- ostream() { }
- ostream(streambuf* sb, ostream* tied=__null );
- int opfx() {
- if (!good()) return 0; else { if (_tie) _tie->flush(); return 1;} }
- void osfx() { if (flags() & (ios::unitbuf|ios::stdio))
- do_osfx(); }
- streambuf* ostreambuf() const { return _strbuf; }
- ostream& flush();
- ostream& put(char c) { _strbuf->sputc(c); return *this; }
- ostream& put(unsigned char c) { return put((char)c); }
- ostream& write(const char *s, int n);
- ostream& write(const unsigned char *s, int n) { return write((const char*)s, n);}
- ostream& put(signed char c) { return put((char)c); }
- ostream& write(const signed char *s, int n) { return write((const char*)s, n);}
- ostream& write(const void *s, int n) { return write((const char*)s, n);}
- ostream& seekp(streampos);
- ostream& seekp(streamoff, _seek_dir);
- streampos tellp();
- ostream& form(const char *format ...);
- ostream& vform(const char *format, _G_va_list args);
- ostream& operator<<(char c);
- ostream& operator<<(unsigned char c) { return (*this) << (char)c; }
- ostream& operator<<(signed char c) { return (*this) << (char)c; }
- ostream& operator<<(const char *s);
- ostream& operator<<(const unsigned char *s)
- { return (*this) << (const char*)s; }
- ostream& operator<<(const signed char *s)
- { return (*this) << (const char*)s; }
- ostream& operator<<(void *p);
- ostream& operator<<(int n);
- ostream& operator<<(unsigned int n);
- ostream& operator<<(long n);
- ostream& operator<<(unsigned long n);
- ostream& operator<<(long long n);
- ostream& operator<<(unsigned long long n);
- ostream& operator<<(short n) {return operator<<((int)n);}
- ostream& operator<<(unsigned short n) {return operator<<((unsigned int)n);}
- ostream& operator<<(double n);
- ostream& operator<<(float n) { return operator<<((double)n); }
- ostream& operator<<(__omanip func) { return (*func)(*this); }
- ostream& operator<<(__manip func) {(*func)(*this); return *this;}
- ostream& operator<<(streambuf*);
-};
-class istream : virtual public ios
-{
- _G_ssize_t _gcount;
- int _skip_ws();
- public:
- istream() { _gcount = 0; }
- istream(streambuf* sb, ostream*tied=__null );
- streambuf* istreambuf() const { return _strbuf; }
- istream& get(char* ptr, int len, char delim = '\n');
- istream& get(unsigned char* ptr, int len, char delim = '\n')
- { return get((char*)ptr, len, delim); }
- istream& get(char& c);
- istream& get(unsigned char& c) { return get((char&)c); }
- istream& getline(char* ptr, int len, char delim = '\n');
- istream& getline(unsigned char* ptr, int len, char delim = '\n')
- { return getline((char*)ptr, len, delim); }
- istream& get(signed char& c) { return get((char&)c); }
- istream& get(signed char* ptr, int len, char delim = '\n')
- { return get((char*)ptr, len, delim); }
- istream& getline(signed char* ptr, int len, char delim = '\n')
- { return getline((char*)ptr, len, delim); }
- istream& read(char *ptr, int n);
- istream& read(unsigned char *ptr, int n) { return read((char*)ptr, n); }
- istream& read(signed char *ptr, int n) { return read((char*)ptr, n); }
- istream& read(void *ptr, int n) { return read((char*)ptr, n); }
- istream& get(streambuf& sb, char delim = '\n');
- istream& gets(char **s, char delim = '\n');
- int ipfx(int need) {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && (need == 0 || rdbuf()->in_avail() < need)) _tie->flush();
- if (!need && (flags() & ios::skipws)) return _skip_ws();
- return 1;
- }
- int ipfx0() {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie) _tie->flush();
- if (flags() & ios::skipws) return _skip_ws();
- return 1;
- }
- int ipfx1() {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && rdbuf()->in_avail() == 0) _tie->flush();
- return 1;
- }
- int get() { if (!ipfx1()) return (-1) ;
- int ch = _strbuf->sbumpc();
- if (ch == (-1) ) set(ios::eofbit);
- return ch; }
- int peek() { if (!ipfx1()) return (-1) ;
- int ch = _strbuf->sgetc();
- if (ch == (-1) ) set(ios::eofbit);
- return ch; }
- _G_ssize_t gcount() { return _gcount; }
- istream& ignore(int n=1, int delim = (-1) );
- istream& seekg(streampos);
- istream& seekg(streamoff, _seek_dir);
- streampos tellg();
- istream& putback(char ch) {
- if (good() && _strbuf->sputbackc(ch) == (-1) ) clear(ios::badbit);
- return *this;}
- istream& unget() {
- if (good() && _strbuf->sungetc() == (-1) ) clear(ios::badbit);
- return *this;}
- istream& scan(const char *format ...);
- istream& vscan(const char *format, _G_va_list args);
- istream& unget(char ch) { return putback(ch); }
- int skip(int i);
- istream& operator>>(char*);
- istream& operator>>(unsigned char* p) { return operator>>((char*)p); }
- istream& operator>>(signed char*p) { return operator>>((char*)p); }
- istream& operator>>(char& c);
- istream& operator>>(unsigned char& c) {return operator>>((char&)c);}
- istream& operator>>(signed char& c) {return operator>>((char&)c);}
- istream& operator>>(int&);
- istream& operator>>(long&);
- istream& operator>>(long long&);
- istream& operator>>(short&);
- istream& operator>>(unsigned int&);
- istream& operator>>(unsigned long&);
- istream& operator>>(unsigned long long&);
- istream& operator>>(unsigned short&);
- istream& operator>>(float&);
- istream& operator>>(double&);
- istream& operator>>( __manip func) {(*func)(*this); return *this;}
- istream& operator>>(__imanip func) { return (*func)(*this); }
- istream& operator>>(streambuf*);
-};
-class iostream : public istream, public ostream
-{
- _G_ssize_t _gcount;
- public:
- iostream() { _gcount = 0; }
- iostream(streambuf* sb, ostream*tied=__null );
-};
-extern istream cin;
-extern ostream cout, cerr, clog;
-struct Iostream_init { } ;
-inline ios& dec(ios& i)
-{ i.setf(ios::dec, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& hex(ios& i)
-{ i.setf(ios::hex, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& oct(ios& i)
-{ i.setf(ios::oct, ios::dec|ios::hex|ios::oct); return i; }
-extern char* form(const char*, ...);
-extern char* dec(long, int=0);
-extern char* dec(int, int=0);
-extern char* dec(unsigned long, int=0);
-extern char* dec(unsigned int, int=0);
-extern char* hex(long, int=0);
-extern char* hex(int, int=0);
-extern char* hex(unsigned long, int=0);
-extern char* hex(unsigned int, int=0);
-extern char* oct(long, int=0);
-extern char* oct(int, int=0);
-extern char* oct(unsigned long, int=0);
-extern char* oct(unsigned int, int=0);
-inline istream& WS(istream& str) { return ws(str); }
-typedef double *__gnuc_va_list;
-extern "C" {
- typedef struct {
- int __cnt;
- unsigned char *__ptr;
- unsigned char *__base;
- unsigned short __flag;
- unsigned char __fileL;
- unsigned char __fileH;
- } FILE;
- typedef struct {
- int __cnt;
- unsigned char *__ptr;
- unsigned char *__base;
- unsigned short __flag;
- unsigned char __fileL;
- unsigned char __fileH;
- unsigned char *__bufendp;
- unsigned char __smbuf[8 ];
- } _FILEX;
- typedef unsigned int size_t;
- typedef long int fpos_t;
- typedef double *__va_list;
- extern FILE __iob[];
- extern int remove(const char *);
- extern int rename(const char *, const char *);
- extern FILE *tmpfile(void);
- extern char *tmpnam(char *);
- extern int fclose(FILE *);
- extern int fflush(FILE *);
- extern FILE *fopen(const char *, const char *);
- extern FILE *freopen(const char *, const char *, FILE *);
- extern void setbuf(FILE *, char *);
- extern int setvbuf(FILE *, char *, int, size_t);
- extern int fprintf(FILE *, const char *, ...);
- extern int fscanf(FILE *, const char *,...);
- extern int printf(const char *,...);
- extern int scanf(const char *,...);
- extern int sprintf(char *, const char *,...);
- extern int sscanf(const char *, const char *,...);
- extern int vprintf(const char *, __va_list);
- extern int vfprintf(FILE *, const char *, __va_list);
- extern int vsprintf(char *, const char *, __va_list);
- extern int fgetc(FILE *);
- extern char *fgets(char *, int, FILE *);
- extern int fputc(int, FILE *);
- extern int fputs(const char *, FILE *);
- extern int getc(FILE *);
- extern int getchar(void);
- extern char *gets(char *);
- extern int putc(int, FILE *);
- extern int putchar(int);
- extern int puts(const char *);
- extern int ungetc(int, FILE *);
- extern int fgetpos(FILE *, fpos_t *);
- extern int fseek(FILE *, long int, int);
- extern int fsetpos(FILE *, const fpos_t *);
- extern long int ftell(FILE *);
- extern void rewind(FILE *);
- extern void clearerr(FILE *);
- extern int feof(FILE *);
- extern int ferror(FILE *);
- extern void perror(const char *);
- extern size_t fread(void *, size_t, size_t, FILE *);
- extern size_t fwrite(const void *, size_t, size_t, FILE *);
- extern int __flsbuf(unsigned char, FILE *);
- extern int __filbuf(FILE *);
- extern int fileno(FILE *);
- extern FILE *fdopen(int, const char *);
- extern int getw(FILE *);
- extern int putw(int, FILE *);
- extern int pclose(FILE *);
- extern FILE *popen(const char *, const char *);
- extern char *tempnam(const char *, const char *);
- extern char *ctermid(char *);
- extern char *cuserid(char *);
- extern int nl_fprintf(FILE *, const char * ,...);
- extern int nl_fscanf(FILE *, const char * ,...);
- extern int nl_printf(const char * ,...);
- extern int nl_scanf(const char * ,...);
- extern int nl_sprintf(char *, const char * ,...);
- extern int nl_sscanf(const char *, const char * ,...);
- extern unsigned char *__bufendtab[];
-}
-extern "C" {
- extern int __nl_char_size;
- typedef struct {
- int quot;
- int rem;
- } div_t;
- typedef struct {
- long int quot;
- long int rem;
- } ldiv_t;
- typedef unsigned int wchar_t;
- extern double atof(const char *);
- extern int atoi(const char *);
- extern long int atol(const char *);
- extern double strtod(const char *, char **);
- extern long int strtol(const char *, char **, int);
- extern unsigned long int strtoul(const char *, char **, int);
- extern int rand(void);
- extern void srand(unsigned int);
- extern int atexit(void (*) (void));
- extern void exit(int);
- extern char *getenv(const char *);
- extern int system(const char *);
- inline int abs(int d) { return (d>0)?d:-d; }
- extern div_t div(int, int);
- extern ldiv_t ldiv(long int, long int);
- extern long int labs(long int);
- extern int mblen(const char *, size_t);
- extern int mbtowc(wchar_t *, const char *, size_t);
- extern int wctomb(char *, wchar_t);
- extern size_t mbstowcs(wchar_t *, const char *, size_t);
- extern size_t wcstombs(char *, const wchar_t *, size_t);
- extern void free(void *);
- extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
- extern void abort(void);
- extern void *bsearch(const void *, const void *, size_t, size_t, int (*) (const void *, const void *));
- extern void *calloc(size_t, size_t);
- extern void *malloc(size_t);
- extern void *realloc(void *, size_t);
- extern void setkey(const char *);
- extern void lcong48( unsigned short [] );
- extern double wcstod( const wchar_t *, wchar_t ** );
- extern long wcstol( const wchar_t *, wchar_t **, int );
- extern unsigned long wcstoul( const wchar_t *, wchar_t **, int );
- extern double drand48(void);
- extern double erand48(unsigned short []);
- extern long jrand48(unsigned short []);
- extern long lrand48(void);
- extern long mrand48(void);
- extern long nrand48(unsigned short []);
- extern void srand48(long);
- extern unsigned short *seed48(unsigned short []);
- extern int putenv(const char *);
- extern int clearenv(void);
- extern int getopt(int, char * const [], const char *);
- extern char *getpass(const char *);
- extern char *optarg;
- extern int optind;
- extern int opterr;
- struct mallinfo {
- int arena;
- int ordblks;
- int smblks;
- int hblks;
- int hblkhd;
- int usmblks;
- int fsmblks;
- int uordblks;
- int fordblks;
- int keepcost;
- };
- typedef struct {
- unsigned int word1, word2, word3, word4;
- } long_double;
-extern "C" {
- typedef long gid_t;
- typedef long uid_t;
- struct passwd {
- char *pw_name;
- char *pw_passwd;
- uid_t pw_uid;
- gid_t pw_gid;
- char *pw_age;
- char *pw_comment;
- char *pw_gecos;
- char *pw_dir;
- char *pw_shell;
- long pw_audid;
- int pw_audflg;
- };
- extern struct passwd *getpwuid(uid_t);
- extern struct passwd *getpwnam(const char *);
- struct s_passwd {
- char *pw_name;
- char *pw_passwd;
- char *pw_age;
- long pw_audid;
- int pw_audflg;
- };
- struct comment {
- char *c_dept;
- char *c_name;
- char *c_acct;
- char *c_bin;
- };
- extern void setpwent(void);
- extern void endpwent(void);
- extern struct passwd *getpwent(void);
- extern struct passwd *fgetpwent(FILE *);
- extern struct s_passwd *getspwent(void);
- extern struct s_passwd *getspwuid(int);
- extern struct s_passwd *getspwaid(int);
- extern struct s_passwd *getspwnam(char *);
- extern struct s_passwd *fgetspwent(FILE *);
-}
-extern int errno;
- extern "C" {
- extern int errno;
- }
-extern "C" {
- extern void perror(const char*);
- extern int sys_nerr;
- extern char *sys_errlist[];
- extern char *strerror (int);
-}
- extern const char *fcvt(double, size_t, int *, int *);
- extern char *gcvt(double, size_t, char *);
- extern char *ecvt(double, size_t, int *, int *);
- extern char *nl_gcvt(double, size_t, char *, int);
- extern char *_ldecvt(long_double, size_t, int *, int *);
- extern char *_ldfcvt(long_double, size_t, int *, int *);
- extern char *_ldgcvt(long_double, size_t, char *);
- extern int getpw(int, char *);
- extern long a64l(const char *);
- extern char *l64a(long);
- extern void l3tol(long *, const char *, int);
- extern void ltol3(char *, const long *, int);
- extern char *getmsg(int, int, int, char *, int);
- extern double nl_atof(const char *, int);
- extern double nl_strtod(const char *, char **, int);
- extern char *ltostr(long, int);
- extern char *ultostr(unsigned long, int);
- extern char *ltoa(long);
- extern char *ultoa(unsigned long);
- extern void memorymap(int);
- extern struct mallinfo mallinfo(void);
- extern int mallopt(int, int);
-}
-typedef void * POINTER;
-typedef FILE * FILE_PTR;
-typedef void (*DISPLAYER) (POINTER obj, FILE_PTR fp, FILE_PTR errorFile) ;
-typedef void (*DESTROYER) (POINTER obj, FILE_PTR errorFile) ;
-typedef void (*RCOUNT_INC) (POINTER obj, FILE_PTR errorFile) ;
-typedef int (*COMPARE) (POINTER obj1, POINTER obj2) ;
-typedef unsigned long (*HASH_ADDR) (POINTER obj, FILE_PTR errorFile) ;
-typedef unsigned long (*HASH_SKIP) (POINTER obj, FILE_PTR errorFile) ;
-typedef POINTER
- (*ACCESS_FCT) (POINTER target, POINTER sample, FILE_PTR errorFile) ;
-typedef POINTER DATA_PTR;
- typedef long dev_t;
- typedef unsigned long ino_t;
- typedef unsigned short mode_t;
- typedef short nlink_t;
- typedef long off_t;
- typedef long pid_t;
- typedef long time_t;
- typedef int ssize_t;
- typedef unsigned short __site_t;
- typedef unsigned short __cnode_t;
- typedef unsigned long clock_t;
- typedef long key_t;
- typedef unsigned short __ushort;
- typedef long __daddr_t;
- typedef char *__caddr_t;
- typedef long __swblk_t;
- typedef unsigned char u_char;
- typedef unsigned short u_short;
- typedef unsigned int u_int;
- typedef unsigned long u_long;
- typedef unsigned int uint;
- typedef unsigned short ushort;
- typedef __swblk_t swblk_t;
- typedef __daddr_t daddr_t;
- typedef __site_t site_t;
- typedef __cnode_t cnode_t;
- typedef __caddr_t caddr_t;
- typedef long paddr_t;
- typedef short cnt_t;
- typedef unsigned int space_t;
- typedef unsigned int prot_t;
- typedef unsigned long cdno_t;
- typedef unsigned short use_t;
- typedef struct _physadr { int r[1]; } *physadr;
- typedef struct _quad { long val[2]; } quad;
- typedef short cpu_t;
- typedef struct label_t {
- int lbl_rp;
- int lbl_sp;
- int lbl_s[17];
- int lbl_ss[1];
- double lbl_sf[4];
- } label_t;
- typedef char *dm_message;
- typedef long aid_t;
- typedef pid_t sid_t;
- typedef long fd_mask;
- typedef struct fd_set {
- fd_mask fds_bits[ ((( 2048 )+(( (sizeof(fd_mask) * 8) )-1))/( (sizeof(fd_mask) * 8) )) ];
- } fd_set;
-POINTER malloc (size_t size ) ;
-POINTER calloc (size_t n , size_t size ) ;
-void free (POINTER c ) ;
-void mem_report (void ) ;
-typedef int BOOLEAN;
-typedef enum
-{
- eNoErrors = -1,
- eUnknownProcessingError = 0,
- eAlgorithmFailure = 100,
- eAlreadyLocked = 200,
- eAttCount = 300,
- eAttRedefinition = 400,
- eBasicMatrixError = 500,
- eBadAddress = 600,
- eBadAttribute = 700,
- eBadFileNumber = 800,
- eBadMode = 900,
- eBadVersion = 1000,
- eColumnError = 1100,
- eConstraintError = 1200,
- eLBConstraintError = 1300,
- eUBConstraintError = 1400,
- eDatabaseError = 1500,
- eDataExists = 1600,
- eDataNotFound = 1700,
- eDictError = 1800,
- eDiffAtt = 1900,
- eDomain = 2000,
- eDuplicateAtt = 2100,
- eDuplicateKey = 2200,
- eElementMismatch = 2300,
- eEmptyAtt = 2400,
- eEmptyDict = 2450,
- eEmptyLink = 2500,
- eEmptyQueue = 2600,
- eEmptyStack = 2700,
- eEntityExists = 2800,
- eEntityNotFound = 2900,
- eEtaComputeError = 3000,
- eEtaFileError = 3100,
- eEtaInverseConsistency = 3200,
- eFileExists = 3300,
- eFileNotFound = 3400,
- eFunctionMismatch = 3500,
- eFunctionNotAvailable = 3600,
- eFunctionNotFound = 3700,
- eFunctionTypeConflict = 3800,
- eGraphError = 3900,
- eIllegalBMatrixOp = 4000,
- eIllegalData = 4100,
- eIllegalDeletion = 4200,
- eIllegalDictOp = 4300,
- eIllegalEtaFileOp = 4400,
- eIllegalFunctionRequest = 4500,
- eIllegalFunctionType = 4600,
- eIllegalGraphOp = 4700,
- eIllegalGraphType = 4800,
- eIllegalIndex = 4900,
- eIllegalInsertion = 5000,
- eIllegalListOp = 5100,
- eIllegalLPTokenOp = 5200,
- eIllegalLPTokenType = 5300,
- eIllegalMatrixOp = 5400,
- eIllegalMatrixSize = 5500,
- eIllegalMatrixState = 5600,
- eIllegalMatrixType = 5700,
- eIllegalNBMatrixOp = 5800,
- eIllegalOperation = 5900,
- eIllegalOption = 6000,
- eIllegalOverload = 6100,
- eIllegalSeek = 6200,
- eIllegalType = 6300,
- eIllegalVectorOp = 6400,
- eIllegalVectorType = 6500,
- eIllFormedADT = 6600,
- eInconsistentData = 6700,
- eInternalError = 6800,
- eInUse = 6900,
- eInvalidArgument = 7000,
- eInvalidAtt = 7100,
- eInvalidData = 7200,
- eInvalidIndex = 7300,
- eInvalidMatrixOp = 7400,
- eInvalidOperation = 7500,
- eInvalidOption = 7600,
- eInvalidParam = 7700,
- eInvalidVectorOp = 7800,
- eKeyNotFound = 7900,
- eLinkNotEmpty = 8000,
- eListError = 8100,
- eLockAccess = 8200,
- eLockExists = 8300,
- eLockNotFound = 8400,
- eLockReadOnly = 8500,
- eLockTrunc = 8600,
- eLPTokenError = 8700,
- eLPTokenMisuse = 8800,
- eMatrixError = 8900,
- eMatrixMismatch = 9000,
- eMatrixMultiplicationError = 9100,
- eMissingData = 9200,
- eMysteryError = 9300,
- eNameTooLong = 9400,
- eNeverLocked = 9500,
- eNoAccess = 9600,
- eNoLockReq = 9800,
- eNoMoreAtt = 9900,
- eNoMoreElements = 10000,
- eNonBasicMatrixError = 10100,
- eNonInvertibleMatrix = 10200,
- eNonsenseData = 10300,
- eNoSuchKey = 10400,
- eNotEnoughSpace = 10500,
- eNotFetched = 10600,
- eNotLocked = 10700,
- eNotSupported = 10800,
- eNullPointer = 10900,
- eNullInternalPointer = 11000,
- eNullCompare = 11050,
- eNullData = 11070,
- eNullDestroyer = 11100,
- eNullDisplayer = 11200,
- eNullFunction = 11300,
- eRemove = 11400,
- eRoundoff = 11500,
- eQueueNotEmpty = 11600,
- eSparseGraphError = 11700,
- eStackError = 11800,
- eStackNotEmpty = 11900,
- eTLRSProceduralError = 12000,
- eTooManyAtt = 12100,
- eTooManyLocks = 12200,
- eTypeConflict = 12300,
- eUnexpectedType = 12400,
- eUnixError = 12500,
- eVectorMismatch = 12600,
- eProcessingError = 15000,
- eActionKludge = 15100,
- eNotImplemented = 15200,
- eNotStable = 15300,
- eNotReleased = 15400,
- eBeingWorkedOn = 15500
-} eErrorState;
-extern "C" {
-extern eErrorState spider_errno;
-extern char err_string[];
-POINTER mallocate (size_t n ) ;
-size_t pagesize (void ) ;
-POINTER page_mallocate (void ) ;
-POINTER make_memory_token (int size , int page_cnt, const char *name) ;
-POINTER mem_malloc (POINTER mptr ) ;
-void mem_free (POINTER mptr , POINTER obj ) ;
-const char *get_double_string (char *buffer , double num ) ;
-int spider_strcat (const char *proc , char *str1 , const char *str2 , int maxlen ) ;
-void init_errors (void ) ;
-void append_abort (const char *proc ) ;
-void append_message (const char *proc , const char *msg ) ;
-void set_errno (eErrorState err ) ;
-void spider_perror (const char *proc , FILE_PTR errorFile ) ;
-void append_not_implemented (const char *proc , int *target_errno ) ;
-const char *GetBooleanString (BOOLEAN bool ) ;// ERROR - use of bool as identifier
-double truncate_value (double x , double epsilon ) ;
-double log2 (double x ) ;
-int ceil_log2 (double x ) ;
-int floor_log2 (double x ) ;
-}
-extern "C" {
-extern char char80[], char128[], char160[], char512[];
-extern char char1000[], char2000[];
-extern char char320[];
-BOOLEAN Get_EM_StderrFlag (void ) ;
-void Set_EM_StderrFlag (BOOLEAN printToStderr ) ;
-void CheckReleaseState (eErrorState releaseState , const char *procName, FILE_PTR errorFile ) ;
-void PrintErrorString (const char *errorString , FILE_PTR errorFile ) ;
-const char *get_error_header (eErrorState errorState ) ;
-void print_error_header (eErrorState errorState , FILE_PTR errorFile ) ;
-void PrintErrorMessage (eErrorState errorState , const char *message , FILE_PTR errorFile ) ;
-}
-extern "C" {
-extern short show_increment_rcount;
-extern int errno;
-extern int bmk_errno;
-extern int ck_errno;
-extern int db_errno;
-extern int dict_errno;
-extern int glh_errno;
-extern int graph_errno;
-extern int hash_errno;
-extern int link_errno;
-extern int lp_errno;
-extern int matrix_errno;
-extern int nbmk_errno;
-extern int network_errno;
-extern int queue_errno;
-extern int set_kernel_errno;
-extern int stack_errno;
-}
-extern "C" {
-const char *spider_version_string (void ) ;
-int spider_version (void ) ;
-const char *spider_errstring (void ) ;
-void append_perror (const char *s ) ;
-void unix_perror (const char *s ) ;
-}
-typedef struct node a_dict_node, * DICT_NODE;
-struct node {
- POINTER info;
- DICT_NODE left;
- DICT_NODE right;
- DICT_NODE prev;
- DICT_NODE next;
-};
-typedef struct tree a_dict, * DICT;
-struct tree {
- int size;
- COMPARE comp;
- DICT_NODE header;
- DICT_NODE last_accessed;
- DICT_NODE list_head;
- DICT_NODE list_tail;
-};
-typedef enum { PREORDER = -1, INORDER, POSTORDER } traversal_t;
-extern "C" {
-void dict_set_nopages (int desired_nopages ) ;
-void dict_err (void ) ;
-const char *traversal_string (traversal_t tr ) ;
-DICT make_dictionary (COMPARE cmp ) ;
-int dict_insert (POINTER item , DICT dict ) ;
-int dict_delete (POINTER item , DICT dict ) ;
-POINTER dict_access (POINTER item , DICT dict ) ;
-POINTER dict_low (DICT dict ) ;
-POINTER dict_nlow (DICT dict ) ;
-POINTER dict_big (DICT dict ) ;
-POINTER dict_nbig (DICT dict ) ;
-POINTER dict_first (DICT dict ) ;
-POINTER dict_next (DICT dict ) ;
-POINTER dict_last (DICT dict ) ;
-POINTER dict_prev (DICT dict ) ;
-int clear_dictionary (DICT dict , DESTROYER destroy , FILE *errorFile ) ;
-int dict_size (const a_dict *dict ) ;
-POINTER dict_elem (int index , DICT dict ) ;
-int dict_compare (DICT d1 , DICT d2 ) ;
-DICT dict_copy (DICT di , COMPARE cmp ) ;
-int dict_change_compare (DICT di , COMPARE cmp ) ;
-int dict_height (DICT di ) ;
-void dict_print_stats (FILE *fp , DICT di ) ;
-void dict_print (FILE *fp , DICT di , traversal_t tr , DISPLAYER display ) ;
-const char *dict_version (void ) ;
-void init_dict_errors (void ) ;
-const char *dict_errstring (void ) ;
-void dict_append_perror (const char *s ) ;
-void dict_perror (const char *s ) ;
-extern int dict_errno;
-}
-typedef struct q_item {
- struct q_item *next;
- POINTER data;
-} a_q_item, *Q_ITEM;
-typedef struct {
- int rcount;
- Q_ITEM first;
- Q_ITEM last;
- int count;
-} a_queue, *QUEUE;
-extern "C" {
-void queue_err (void) ;
-void queue_set_nopages (int desired_nopages) ;
-QUEUE make_queue (void ) ;
-POINTER queue_look (const a_queue * Q ) ;
-POINTER queue_last (const a_queue * Q ) ;
-POINTER queue_remove (QUEUE Q ) ;
-int queue_append (QUEUE Q , POINTER data ) ;
-int queue_size (const a_queue * Q ) ;
-void queue_destroy (POINTER ptr , FILE_PTR errorFile ) ;
-void IncrementQRCount (POINTER ptr , FILE_PTR errorFile ) ;
-const char *queue_version (void ) ;
-void init_queue_errors (void ) ;
-const char *queue_errstring (void ) ;
-void queue_append_perror (const char *s ) ;
-void queue_perror (const char *s ) ;
-extern int queue_errno;
-}
-typedef struct s_item {
- struct s_item *next;
- POINTER data;
-} a_s_item, *S_ITEM;
-typedef struct stack {
- int rcount;
- S_ITEM top;
- int count;
-} a_stack, *STACK;
-extern "C" {
-void stack_err (void) ;
-void stack_set_nopages (int desired_nopages) ;
-STACK make_stack (void ) ;
-POINTER stack_look (const a_stack * S ) ;
-POINTER stack_pop (STACK S ) ;
-int stack_push (STACK S , POINTER data ) ;
-int stack_size (const a_stack * S ) ;
-void stack_destroy (POINTER ptr , FILE_PTR errorFile ) ;
-void IncrementSRCount (POINTER ptr , FILE_PTR errorFile ) ;
-const char *stack_version (void ) ;
-void init_stack_errors (void ) ;
-const char *stack_errstring (void ) ;
-void stack_append_perror (const char *s ) ;
-void stack_perror (const char *s ) ;
-extern int stack_errno;
-}
-typedef const char *(*STRINGER)(const void *ptr);
-int default_compare(const void *p1, const void *p2);
-void default_displayer(const void *ptr, FILE *fp, FILE *errorFile);
-const char *default_stringer(const void *ptr);
-const char *object_stringer(const void *ptr);
-class object {
- static long current_id;
- static long next_id();
-protected:
- void display2(ostream &fp = cout) const;
- long id;
-public:
- object() { id = next_id(); }
- object(const object &obj) { id = next_id(); }
- virtual ~object()
- {
- if (799 >= 999 ) cout << "~object() executing..." << '\n'; ;
- }
- object & operator = (const object & obj)
- {
- return( *this );
- }
- virtual int compare(const void *p2) const;
- virtual void display(ostream & fp = cout) const
- {
- display2(fp);
- }
- operator char *() const;
-};
-ostream & operator << (ostream & fp, object & obj);
-int operator < (object & obj1, object & obj2);
-int operator <= (object & obj1, object & obj2);
-int operator > (object & obj1, object & obj2);
-int operator >= (object & obj1, object & obj2);
-int operator == (object & obj1, object & obj2);
-int operator != (object & obj1, object & obj2);
-void null_destroy(void *p, FILE *errorFile);
-void object_destroy(void *p, FILE *errorFile);
-int object_compare(const void *p1, const void *p2);
-void object_display(const void *p, FILE *fp, FILE *errorFile);
-class dict : public object {
- class internal {
- public:
- DICT di;
- int errno;
- COMPARE compare_f;
- DISPLAYER display_f;
- DESTROYER destroy_f;
- STRINGER string_f;
- int count;
- void append_error(int expr, const char *proc)
- {
- if (expr) dict_append_perror(proc);
- errno = dict_errno;
- }
- void obj_error(int expr, const char *proc, const void *obj)
- {
- if (expr) {
- dict_append_perror((*string_f)(obj));
- dict_append_perror(proc);
- }
- errno = dict_errno;
- }
- internal(COMPARE cmp, DESTROYER destroyer,
- DISPLAYER displayer, STRINGER str_f)
- {// ERROR - candidate for bad call
- if (799 >= 800 ) cout << "Creating new dictionary..." << '\n'; ;
- if (cmp == __null ) cmp = &default_compare;
- if (displayer == __null ) displayer = &default_displayer;
- if (str_f == __null ) str_f = &default_stringer;
- compare_f = cmp;
- display_f = displayer;
- destroy_f = destroyer;
- string_f = str_f;
- di = make_dictionary(compare_f);
- append_error(di == __null , "dict internal");
- if (di == __null ) {
- dict_perror("build dictionary");
- exit(errno);
- }
- count = 1;
- }
- ~internal()
- {
- if (799 >= 800 ) cout << "dict ~internal executing" << '\n'; ;
- int err = clear_dictionary(di, destroy_f, (&__iob[2]) );
- append_error(err, "clear dictionary");
- if (err) dict_perror("dict ~internal");
- free((void *)di);
- }
- };// ERROR - candidate list for bad call
- internal *rep;
-protected:
- int & errno() { return( rep->errno ); }
- COMPARE compare_f() { return( rep->compare_f ); }
- DISPLAYER display_f() { return( rep->display_f ); }
- DESTROYER destroy_f() { return( rep->destroy_f ); }
- STRINGER string_f() { return( rep->string_f ); }
- void append_error(int expr, const char *proc)
- {
- rep->append_error(expr, proc);
- }
- void obj_error(int expr, const char *proc, const void *obj)
- {
- rep->obj_error(expr, proc, obj);
- }
-public:
- static int err;
- static int val;
- static void *p;
- dict()
- {
- if (799 >= 800 ) cout << "Default constructor executing..." << '\n'; ;
- rep = new internal( &default_compare, &null_destroy,
- &default_displayer, &default_stringer);// ERROR - no matching fn call
- }
- dict(COMPARE cmp,
- DESTROYER destroyer = __null ,
- DISPLAYER displayer = &default_displayer,
- STRINGER str_f = &default_stringer)
- {// ERROR - invalid type for default argument -- not expecting const
- rep = new internal(cmp, destroyer, displayer, str_f);
- }
- dict(const dict &di2)
- {
- rep = di2.rep;
- rep->count ++;
- if (799 >= 800 ) cout << "Incrementing count to " << rep->count << '\n'; ;
- }
- dict & operator = (const dict &di2)
- {
- di2.rep->count ++;
- if (799 >= 800 ) cout << "Incrementing di2 count to " << di2.rep->count << '\n'; ;
- if (799 >= 800 ) cout << "Decrementing lvalue count to " << rep->count-1 << '\n'; ;
- if (--rep->count <= 0) {
- delete rep;
- }
- rep = di2.rep;
- return( *this );
- }
- ~dict()
- {
- if (799 >= 800 ) cout << "~dict executing..." << '\n'; ;
- if (799 >= 800 ) cout << "Decrementing dict::internal count to " << rep->count-1 << '\n'; ;
- if (--rep->count <= 0) delete rep;
- }
- int insert(POINTER item)
- {
- err = dict_insert(item, rep->di);
- obj_error(err, "insert", item);
- return errno();
- }
- int remove(POINTER item)
- {
- err = dict_delete(item, rep->di);
- obj_error(err, "remove", item);
- return errno();
- }
- POINTER access(POINTER item)
- {
- p = dict_access(item, rep->di);
- obj_error(p == __null , "access", item);
- return(p);
- }
- POINTER low()
- {
- p = dict_low(rep->di);
- append_error(p == __null , "low");
- return(p);
- }
- POINTER nlow()
- {
- p = dict_nlow(rep->di);
- append_error(p == __null , "nlow");
- return(p);
- }
- POINTER big()
- {
- p = dict_big(rep->di);
- append_error(p == __null , "big");
- return(p);
- }
- POINTER nbig()
- {
- p = dict_nbig(rep->di);
- append_error(p == __null , "nbig");
- return(p);
- }
- POINTER first()
- {
- p = dict_first(rep->di);
- append_error(p == __null , "first");
- return(p);
- }
- POINTER last()
- {
- p = dict_last(rep->di);
- append_error(p == __null , "last");
- return(p);
- }
- POINTER next()
- {
- p = dict_next(rep->di);
- append_error(p == __null , "next");
- return(p);
- }
- POINTER prev()
- {
- p = dict_prev(rep->di);
- append_error(p == __null , "prev");
- return(p);
- }
- int clear(DESTROYER destroy, FILE *fp = (&__iob[2]) )
- {
- err = clear_dictionary(rep->di, destroy, fp);
- append_error(err, "clear");
- return errno();
- }
- int clear(FILE *fp = (&__iob[2]) )
- {
- err = clear_dictionary(rep->di, rep->destroy_f, fp);
- append_error(err, "clear");
- return errno();
- }
- int size()
- {
- val = dict_size(rep->di);
- append_error(val < 0, "size");
- return(val);
- }
- POINTER elem(int index)
- {
- p = dict_elem(index, rep->di);
- append_error(p == __null , "elem");
- return(p);
- }
- int compare(dict &di2)
- {
- val = dict_compare(rep->di, di2.rep->di);
- return(val);
- }
- int height()
- {
- val = dict_height(rep->di);
- append_error(val < 0, "height");
- return(val);
- }
- const char * version()
- {
- return( dict_version() );
- }
- void display(FILE *fp = (&__iob[1]) )
- {
- dict_print_stats(fp, rep->di);
- }
- void print(FILE *fp = (&__iob[1]) , traversal_t tr = INORDER)
- {
- fprintf(fp, "====== DICTIONARY (count=%d) ======\n",
- rep->count);
- dict_print(fp, rep->di, tr, rep->display_f);
- }
- void print(traversal_t tr, FILE *fp = (&__iob[1]) )
- {
- fprintf(fp, "====== DICTIONARY (count=%d) ======\n",
- rep->count);
- dict_print(fp, rep->di, tr, rep->display_f);
- }
- void error(const char *s = "class dict")
- {
- dict_errno = errno();
- dict_perror(s);
- errno() = 0;
- }
- void error_append(const char *s = "class dict")
- {
- dict_append_perror(s);
- }
- const char * errstring()
- {
- return( dict_errstring() );
- }
-};
-ostream & operator << (ostream & fp, traversal_t tr);
-class queue : public object {
- class internal {
- public:
- QUEUE Q;
- QUEUE Q2;
- int errno;
- DISPLAYER display_f;
- DESTROYER destroy_f;
- STRINGER string_f;
- int count;
- int swap()
- {
- QUEUE tmp = Q;
- Q = Q2;
- Q2 = tmp;
- }
- void append_error(int expr, const char *proc)
- {
- if (expr) queue_append_perror(proc);
- errno = queue_errno;
- }
- void obj_error(int expr, const char *proc, const void *obj)
- {
- if (expr) {
- queue_append_perror((*string_f)(obj));
- queue_append_perror(proc);
- }
- errno = queue_errno;
- }
- internal(DESTROYER destroyer,
- DISPLAYER displayer, STRINGER str_f)
- {// ERROR - candidate for bad call
- if (799 >= 800 ) cout << "Creating new queue..." << '\n'; ;
- if (displayer == __null ) displayer = &default_displayer;
- if (str_f == __null ) str_f = &default_stringer;
- display_f = displayer;
- destroy_f = destroyer;
- string_f = str_f;
- Q = make_queue();
- append_error(Q == __null , "queue internal");
- errno = queue_errno;
- if (Q == __null ) {
- queue_perror("build queue");
- exit(errno);
- }
- Q2 = make_queue();
- append_error(Q2 == __null , "queue internal");
- if (Q2 == __null ) {
- queue_perror("build second queue");
- exit(errno);
- }
- count = 1;
- }
- ~internal()
- {
- if (799 >= 800 ) cout << "queue ~internal executing" << '\n'; ;
- while ((p = queue_remove(Q)) != __null ) {
- if (destroy_f != __null ) {
- (*destroy_f)((POINTER)&p, (&__iob[2]) );
- }
- }
- queue_errno = 0;
- queue_destroy((POINTER)&Q, (&__iob[2]) );
- if (queue_errno) {
- append_error(queue_errno,
- "queue_destroy(Q)");
- queue_perror("queue ~internal");
- }
- queue_errno = 0;
- queue_destroy((POINTER)&Q2, (&__iob[2]) );
- if (queue_errno) {
- append_error(queue_errno,
- "queue_destroy(Q2)");
- queue_perror("queue ~internal");
- }
- }
- };// ERROR - list of candidates for bad call
- internal *rep;
-protected:
- int & errno() { return( rep->errno ); }
- DISPLAYER display_f() { return( rep->display_f ); }
- DESTROYER destroy_f() { return( rep->destroy_f ); }
- STRINGER string_f() { return( rep->string_f ); }
- void append_error(int expr, const char *proc)
- {
- rep->append_error(expr, proc);
- }
- void obj_error(int expr, const char *proc, const void *obj)
- {
- rep->obj_error(expr, proc, obj);
- }
-public:
- static int err;
- static int val;
- static void *p;
- queue()
- {
- if (799 >= 800 ) cout << "Default constructor executing..." << '\n'; ;
- rep = new internal( &null_destroy,
- &default_displayer, &default_stringer);// ERROR - no matching fn for call
- }
- queue(DESTROYER destroyer = __null ,
- DISPLAYER displayer = &default_displayer,
- STRINGER str_f = &default_stringer)
- {// ERROR - invalid type for default argument -- not expecting const
- rep = new internal(destroyer, displayer, str_f);
- }
- queue(const queue &Q2)
- {
- rep = Q2.rep;
- rep->count ++;
- if (799 >= 800 ) cout << "Incrementing count to " << rep->count << '\n'; ;
- }
- queue & operator = (const queue &Q2)
- {
- Q2.rep->count ++;
- if (799 >= 800 ) cout << "Incrementing Q2 count to " << Q2.rep->count << '\n'; ;
- if (799 >= 800 ) cout << "Decrementing lvalue count to " << rep->count-1 << '\n'; ;
- if (--rep->count <= 0) {
- delete rep;
- }
- rep = Q2.rep;
- return( *this );
- }
- ~queue()
- {
- if (799 >= 800 ) cout << "~queue executing..." << '\n'; ;
- if (799 >= 800 ) cout << "Decrementing queue::internal count to " << rep->count-1 << '\n'; ;
- if (--rep->count <= 0) delete rep;
- }
- void error(const char *s = "class queue")
- {
- queue_errno = errno();
- queue_perror(s);
- errno() = 0;
- }
- void error_append(const char *s = "class queue")
- {
- queue_append_perror(s);
- }
- const char * errstring()
- {
- return( queue_errstring() );
- }
- int append(POINTER item)
- {
- err = queue_append(rep->Q, (POINTER)item);
- obj_error(err, "append", item);
- return errno();
- }
- POINTER remove()
- {
- p = queue_remove(rep->Q);
- append_error(p == __null , "remove");
- return(p);
- }
- POINTER look(POINTER item)
- {
- p = queue_look(rep->Q);
- append_error(p == __null , "look");
- return(p);
- }
- POINTER last(POINTER item)
- {
- p = queue_last(rep->Q);
- append_error(p == __null , "last");
- return(p);
- }
- int size()
- {
- val = queue_size(rep->Q);
- append_error(val < 0, "size");
- return(val);
- }
- const char * version()
- {
- return( queue_version() );
- }
- void display(FILE *fp = (&__iob[1]) )
- {
- int i = 1;
- POINTER ptr;
- fprintf(fp, "====== QUEUE DISPLAY (size %d) ======\n",
- size());
- while (ptr = remove()) {
- err = queue_append(rep->Q2, ptr);
- if (err) {
- obj_error(err, "append", ptr);
- error("queue_append(rep->Q2)");
- }
- fprintf(fp, "[%d] ", i++);
- (*rep->display_f)(ptr, fp, (&__iob[2]) );
- }
- rep->swap();
- }
-};
-long object::current_id = 0;
-long object::next_id()
-{
- return( ++current_id );
-}
-void object::display2(ostream & fp) const
-{
- fp << "object #" << id;
-}
-ostream & operator << (ostream & fp, object & obj)
-{
- obj.display(fp);
- return(fp);
-}
-int object::compare(const void *p2) const
-{
- const object & z2 = *(const object *) p2;
- if (799 >= 1000 ) cout << "*** object::compare " << *this << " with " << z2 << '\n'; ;
- return( id - z2.id );
-}
-int operator < (object & obj1, object & obj2)
-{
- if (obj1.compare( &obj2 ) < 0) return(1);
- else return(0);
-}
-int operator <= (object & obj1, object & obj2)
-{
- if (obj1.compare( &obj2 ) <= 0) return(1);
- else return(0);
-}
-int operator > (object & obj1, object & obj2)
-{
- if (obj1.compare( &obj2 ) > 0) return(1);
- else return(0);
-}
-int operator >= (object & obj1, object & obj2)
-{
- if (obj1.compare( &obj2 ) >= 0) return(1);
- else return(0);
-}
-int operator == (object & obj1, object & obj2)
-{
- if (obj1.compare( &obj2 ) == 0) return(1);
- else return(0);
-}
-int operator != (object & obj1, object & obj2)
-{
- if (obj1.compare( &obj2 ) != 0) return(1);
- else return(0);
-}
-void null_destroy(void *p, FILE *errorFile)
-{
-}
-int object_compare(const void *p1, const void *p2)
-{
- const object *obj1 = (const object *) p1;
- if (799 >= 1000 ) cout << "*** Comparing " << *obj1 << " to address " << long(p2) << '\n'; ;
- return( obj1->compare(p2) );
-}
-void object_display(const void *p, FILE *fp, FILE *errorFile)
-{
- cout << *(object *)p << '\n';
-}
-void object_destroy(void *p, FILE *errorFile)
-{
- object **pObj = (object **)p;
- object *obj = *pObj;
- if (obj == __null ) {
- if (799 >= 10 ) cout << "+ object_destroy: NIL object passed in" << '\n'; ;
- return;
- }
- if (799 >= 998 ) cout << "+ object_destroy: delete obj:" << '\n'; ;
- if (799 >= 998 ) cout << *obj << '\n'; ;
- if (799 >= 998 ) cout << "====================================================" << '\n'; ;
- delete obj;
- *pObj = __null ;
-}
-int default_compare(const void *p1, const void *p2)
-{
- long L1 = long(p1);
- long L2 = long(p2);
- if (799 >= 1000 ) cout << "+ default_compare " << long(p1) << ',' << long(p2) << '\n'; ;
- if (L1 < L2) return(-1);
- else if (L1 > L2) return(1);
- else return(0);
-}
-const char * default_stringer(const void *ptr)
-{
- static char buf[100];
- sprintf(buf, "ADDRESS %lu", (unsigned long)ptr);
- return(buf);
-}
-void default_displayer(const void *ptr, FILE *fp, FILE *errorFile)
-{
- fprintf(fp, "%s\n", default_stringer(ptr));
-}
-object::operator char *() const
-{
- const int max = 10;
- const int maxChar = 16;
- static char buf[max][maxChar];
- static int index = 0;
- char *s = buf[index++ % max];
- sprintf(s, "object #%d", id);
- return(s);
-}
-const char * object_stringer(const void *ptr)
-{
- object & obj = *(object *)ptr;
- return((char *)obj);
-}
-int dict::err;
-int dict::val;
-POINTER dict::p;
-ostream & operator << (ostream & fp, traversal_t tr)
-{
- fp << traversal_string(tr);
- return(fp);
-}
-int queue::err;
-int queue::val;
-POINTER queue::p;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash2.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash2.C
deleted file mode 100644
index ad6e04029cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-// The compiler used to crash on this example.
-
-class x {
-public:
- x();
- static const x y[23];
-};
-const x x::y[23];
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash20.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash20.C
deleted file mode 100644
index 7704b98ebd2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash20.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-#include <complex>
-typedef complex<double> Complex;
-
-Complex ComputeVVself()
-{
-Complex temp1;
-Complex self[3][3];
-
- self[1][2] = 100.0;
- return self[1][2];
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash22.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash22.C
deleted file mode 100644
index f7db97d43e9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash22.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-struct A {
- void a1();
- void a2();
-};
-
-struct B {
- void A::a1(); // this used to die in chainon(), now grokdeclarator should// ERROR - cannot declare.*
- void A::a2(); // should be fixed by the 930629 change.// ERROR - cannot declare.*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash23.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash23.C
deleted file mode 100644
index 03ffee666a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash23.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-// This used to die in chainon; it shouldn't any more.
-
-class A
-{
-public:
- class B {
- public:
- void f ();
- void g (int);
- };
- void B::f () {}// ERROR - .*
- void B::g (int val) {}// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash24.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash24.C
deleted file mode 100644
index af1c3010229..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash24.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O
-// GROUPS passed old-abort
-// gcc puts the array into a register, and then the store_bit_field () code
-// in expmed.c gets confused when it tries to store zero past the end of the
-// register (because the index is past the array bounds). It ends up calling
-// store_split_bit_field, which then aborts, because we don't have a split bit
-// field.
-//
-// Seems easiest to detect this case in the front end, i.e. access outside the
-// array bounds, and then force the array to be allocated on the stack instead
-// of a register.
-
-main()
-{
- char i[1];
-
- i[1] = 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash25.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash25.C
deleted file mode 100644
index 625eaf84707..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash25.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class memo{
-public:
- static int rep;
-};
-
-class port_head : public memo {
-public:
- static int rep;
- unsigned cap();
-};
-
-class buff_head : private port_head {
-public:
- static int rep;
- port_head::cap;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash26.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash26.C
deleted file mode 100644
index 9b6643debe4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash26.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-struct B {
- B();
-};
-
-class C : virtual public B
-{
- public:
- C() { }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash27.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash27.C
deleted file mode 100644
index 62acbe03e19..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash27.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class First {
-public:
- First(const First& a);
-};
-
-class Second {
- int i;
- First f;
-public:
- ~Second() {}
- Second func();
-};
-
-void foo()
-{
- extern Second x;
- x = x.func();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash28.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash28.C
deleted file mode 100644
index 08adee9308a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash28.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
- class abc
- {
- public:
- void F() { return; }
-
- private:
- typedef int myint;
- typedef struct { int b; } mystruct;
- typedef union { int c; } myunion;
- };
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash29.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash29.C
deleted file mode 100644
index 72bbdc77849..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash29.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-
-union Value
-{
- Value(){}
-};
-
-struct GlobalAddress
-{
- GlobalAddress(Value *nvar){}// ERROR - .*
-};// ERROR - candidates .*
-
-int
-main()
-{
- new GlobalAddress(Value()); // internal error occured here// ERROR - no matching function .*
- //new GlobalAddress(new Value()); // This line is correct code
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash3.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash3.C
deleted file mode 100644
index b3b8354b543..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-int strcmp();
-
-extern "C" {
- // dies in common_type, cuz the TREE_TYPE of t2 is 0, so it can't get its
- // TYPE_MAIN_VARIANT value.
- // <void_type 184510 void permanent VOID
- // size <integer_cst 1844e0 type <integer_type 182548 int> constant permanent 0
- // align 1 symtab 0
- // pointer_to_this <pointer_type 1845e0>
-
-int strcmp(const char*, const char*);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash30.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash30.C
deleted file mode 100644
index 707e89841ff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash30.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-#include <string>
-
-int
-main(void) {
-
- string a[] = {"Hello"};
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash31.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash31.C
deleted file mode 100644
index d5b7e541e8a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash31.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-struct mbuf {
- struct mbuf *next;
-};
-
-void* malloc(int);
-struct mbuf *
-mbuf_allocate(int size)
-{
- struct mbuf *bp;
-
- bp = (struct mbuf *) malloc( 10 /*(unsigned) (size + sizeof(struct mbuf))*/);
- return bp;
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash32.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash32.C
deleted file mode 100644
index ebca5a4f6fa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash32.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fshort-enums
-// GROUPS passed old-abort
-enum Bool { FALSE, TRUE };
-Bool foo () { return TRUE; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash33.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash33.C
deleted file mode 100644
index d89fa7b5147..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash33.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-extern void foo(void *);
-int
-main() {
- foo((struct bar *)0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash34.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash34.C
deleted file mode 100644
index a147b6219df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash34.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-operator int () {}// ERROR - .*// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash35.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash35.C
deleted file mode 100644
index e32b7c13b59..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash35.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-const unsigned int ENET_INTERRUPT_MID = 5;
-
-extern "C" void ENET_RxP();
-
-class EnetReceiver
- {
- public:
- friend void ENET_RxP();
- void receiveMessage();
- int *messagePointer;
- };
-
-void EnetReceiver::receiveMessage()
- {
- if (*((unsigned int*) messagePointer) == ENET_INTERRUPT_MID)
- {
- }
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash36.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash36.C
deleted file mode 100644
index 10534535405..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash36.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-struct wait { int w_status; };
-int wait();
-extern "C" int wait(int*);
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash37.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash37.C
deleted file mode 100644
index 18eb64a7683..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash37.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-typedef int _sigset_t;
-extern "C" {
- extern int sigaction(int signo, const struct sigaction *action_spec_p, struct sigaction *old_action_p);
-}
-extern "C" {
- extern void foo();
-};
-class SS {
- friend void foo();
-protected:
- void goo();
-};
-inline void
-SS::goo() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
deleted file mode 100644
index eeb70e1c373..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-/*
- I received the following message when using g++ (version 2.3.3):
-
- main.cc: In method 'Implicit<implicit<INTEGER,2>,3>::Implicit()':
- main.cc: Internal compiler error 241.
- main.cc: Please report this to 'bug-g++@prep.ai.mit.edu'
- */
-
-#include <stream.h>
-
-class INTEGER {
-int x;
-public:
- typedef int BASE;
- INTEGER(int y) : x(y) {}
- INTEGER() {}
- void encode() { cout << "Integer encoder";}
- int operator=(int y) { x=y; return x; }
- operator int() {return x; }
-};
-
-template< class T, int n> class Implicit : public T {
- public:
- typedef typename T::BASE BASE;
- Implicit(BASE value ): T(value) {};
- Implicit() : T() {};
- int myTag() { return n; }
- void encode() { T::encode(); }
- BASE operator=(BASE t) { return T::operator=(t); }
-};
-
-int
-main()
-{
- Implicit<Implicit<INTEGER, 2> , 3> y;
-
- y = 10;
-};
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash39.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash39.C
deleted file mode 100644
index a19187295ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash39.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w
-// GROUPS passed old-abort
-//#include <GetOpt.h>
-#include <stdio.h>
-
-class GetOpt
-{
-private:
- static char *nextchar;
- enum OrderingEnum { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER };
- OrderingEnum ordering;
- static int first_nonopt;
- static int last_nonopt;
- void exchange (char **argv);
-public:
- char *optarg;
- int optind;
- int opterr;
-
- int nargc;
- char **nargv;
- const char *noptstring;
-
- GetOpt (int argc, char **argv, const char *optstring);
- int operator () (void);
-};
-//end <GetOpt.h>
-#include <string>
-
-class foo {public: foo () {}};
-class bar {public: bar (const foo& dflt);};
-class baz: public bar {public: baz (): bar (foo ()) {}};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash4.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash4.C
deleted file mode 100644
index 1f8a3ffc532..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash4.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-typedef struct Thing {
- Thing();
- int x;
-} Thing;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash40.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash40.C
deleted file mode 100644
index dcebfbebade..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash40.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class foo {
-
-public:
-
- virtual foo &operator <<(foo &(foo::*)(foo &));
-};
-
-
-foo &foo::operator<<(foo &(foo::*manip)(foo &))
-{
-
- (this->*manip)(*this);
-
- return *this;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash41.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash41.C
deleted file mode 100644
index 5d533b866e2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash41.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-typedef void (**ppfn)(void);
-
-int main() {
- ppfn fn;
-
- fn = new (void(*)(void));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash42.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash42.C
deleted file mode 100644
index 1b92f5d858d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash42.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// GROUPS passed old-abort
-// Build don't link:
-int fn();// ERROR - ambiguates.*
-int x;
-int& fn() {// ERROR - new decl.*
-return x;}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash43.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash43.C
deleted file mode 100644
index 5fe54231c89..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash43.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// Special g++ Options: -g -fno-strict-prototype
-// GROUPS passed old-abort
-// excess errors test - XFAIL sparc64-*-elf
-extern "C" { typedef int jmp_buf[12]; }
-
-enum Error { NO_ERROR };
-class ErrorHandler
-{
- ErrorHandler *previous;
- static ErrorHandler *error_stack;
- jmp_buf error_buffer;
-protected:
- static void pop()
- {
- error_stack = error_stack->previous;
- }
-public:
- jmp_buf *push()
- {
- previous = error_stack;
- error_stack = this;
- return &error_buffer;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash44.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash44.C
deleted file mode 100644
index 00a4df4b0dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash44.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-template <class T> class bug {
-
-public:
- void Foo(const int = 0);
- void NotRedeclared(const int);
-
-private:
- T TheItem;
-};
-
-template <class T> void bug<T>::NotRedeclared(const int)
-{
-}
-
-template <class T> void bug<T>::Foo(const int)
-{
-}
-
-int
-main()
-{
- bug<char> InstantiatedBug;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash45.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash45.C
deleted file mode 100644
index 269a51908b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash45.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-void foo() { static const char *const v[] = { 0 }; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash46.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash46.C
deleted file mode 100644
index 64d8d59ce21..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash46.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class Rational {
-public:
- Rational(int v): value(v)
- { }
-
- int value;
-};
-typedef Rational __Rational;
-
-extern int operator>(const Rational&, const Rational&);
-
-class V {
-public:
- class Rational {
- public:
- static int x(const __Rational& value);
- };
-};
-
-int
-V::Rational::x(const __Rational& value)
-{
- return value > 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash47.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash47.C
deleted file mode 100644
index 9bdbb11ab3d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash47.C
+++ /dev/null
@@ -1,94 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-const int TRUE = 1;
-const int FALSE = 0;
-
-class Rep {
-protected:
- Rep(): count(0)
- { }
- Rep(const Rep& other): count(0)
- { }
-
- Rep& operator=(const Rep& other)
- { /* DO NOT copy over other.count */
- return *this; }
-
-public: // TODO - for now
- // Because it is to hard to restrict these operations to the descendants
- // of Rep<REP> that we haven't named yet. So we just make them public.
- void inc()
- { count++; }
- void dec()
- { if (0 == --count) delete this; }
-private:
- unsigned count;
-};
-
-template<class REP>
-class Ref {
-public:
- Ref(): rep(0)
- { }
- Ref(const Ref<REP>& other): rep(other.rep)
- { if (rep) rep->inc(); }
- ~Ref()
- { if (rep) rep->dec();
- rep = 0; }
-
- Ref<REP>& operator=(const Ref<REP>& other)
- { if (rep != other.rep) {
- if (rep) rep->dec();
- rep = other.rep;
- if (rep) rep->inc(); }
- return *this; }
-
- bool null() const
- { return 0 == rep ? TRUE: FALSE; }
- bool valid() const
- { return 0 != rep ? TRUE: FALSE; }
-
- REP* operator->() const // should be a valid() reference
- { return rep; }
- operator REP*() const; // should be a valid() reference
-
-protected:
- REP *rep;
-
- Ref(REP *r): rep(r)
- { if (rep) rep->inc(); }
-
- Ref<REP>& operator=(REP *r)
- { if (rep != r) {
- if (rep) rep->dec();
- rep = r;
- if (rep) rep->inc(); }
- return *this; }
-};
-
-template<class REP>
-Ref<REP>::operator REP*() const // should be a valid() reference
-{ return rep; }
-
-template<class REP>
-inline int
-operator==(const Ref<REP>& a, const Ref<REP>& b)
-{ return (REP *) a == (REP *) b; }
-
-template<class REP>
-inline int
-operator!=(const Ref<REP>& a, const Ref<REP>& b)
-{ return (REP *) a != (REP *) b; }
-
-class XRep: public Rep {
-public:
- int i;
-};
-
-int
-main()
-{
- Ref<XRep> y;
-
- return y != y;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash48.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash48.C
deleted file mode 100644
index 6dc9da09d0a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash48.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class internal {
- int field;
- int anotherfield;
-}; // ERROR - candidates are
-
-class bug {
- internal* numbers;
- bug(int size);
-}; // ERROR - several errors
-
-bug::bug(int size)
-{ // ERROR - candidates
- numbers = new internal(size * size);// ERROR - no match.*
-}
-
-int
-main()
-{
- bug test;// ERROR - no match
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash49.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash49.C
deleted file mode 100644
index 98a580d3cb1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash49.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-#include<iostream.h>
-
-const int keys = 10;
-const int key[keys] = {6, key[1], 2, keys, 1, 7, 6, key[2], key[8]};
-
-void main()
-{ // ERROR - return type for main
- for(int i = 0; i < keys;) cout << key[i++] << " ";
- endl(cout);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C
deleted file mode 100644
index 0e82e1607ba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C
+++ /dev/null
@@ -1,107 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-// Should have been fixed by:
-//
-// Sun Jun 13 12:55:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-//
-// * cp-cvt.c (build_default_binary_type_conversion): Look deeper into
-// what ARG1 and ARG2 are if they're POINTER_TYPEs.
-
-volatile void exit(int);
-
-class CountableSet
-{
- public:
- virtual ~CountableSet() { }
-};
-
-template<class T>
-class FixedSet : virtual public CountableSet
-{
- public:
- virtual int Get(int, T&) = 0;
- virtual ~FixedSet() { }
-};
-
-class ShrinkableSet
-{
- public:
- virtual int Remove(int) = 0;
-};
-
-template<class T>
-class PVSet : virtual public FixedSet<T>, virtual public ShrinkableSet
-{
- public:
- virtual void Append(const T&) = 0;
- virtual void operator+=(const T& a) { Append(a); }
- virtual ~PVSet() { }
-};
-
-template<class T>
-class MutSet : virtual public FixedSet<T>, virtual public FixedSet<T *>
-{
- protected:
- typedef T *Tp;
-
- public:
- void Append(const Tp& tp) { Append(*tp); }
-
- T& Access(int p)
- {
- Tp tp;
- Get(p, tp);
- return *tp;
- }
- virtual ~MutSet() { }
-};
-
-template <class T>
-class SimpleSet : virtual public MutSet<T>
-{
- protected:
- T *array;
- int size;
-
- virtual void Allocate(int s)
- {
- array = new T[s];
- }
- public:
- SimpleSet()
- {
- size = 0;
- array = ((void*)0) ; // ERROR - implicit conversion
- }
- int Get(int p, T& t)
- {
- t = array[p-1];
- return 1;
- }
- int Get(int p, T *& t)
- {
- t = &array[p-1];
- return 1;
- }
- inline void Append(const T& a)
- {
- array[size-1] = a;
- }
- inline int Remove(int n) { return 0; }
-};
-
-class Dummy
-{
- public:
- Dummy() {}
-};
-
-int
-main()
-{
- SimpleSet<Dummy *> bs1;
- int i, j;
- Dummy foo;
-
- bs1+=&foo;// ERROR - no .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash50.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash50.C
deleted file mode 100644
index fd87d75a2e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash50.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class B
- {
-public:
- int i;
- };
-int operator & (const B &s) { return ( s.i );};
-
-
-
-
-
-class C
- {
-public:
- C &operator = (const C &x)
- {
- return *this;
- };
- };
-
-C &(C::*DD)(const C &x) = &C::operator=;
-
-int main()
-{
- &DD;
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash51.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash51.C
deleted file mode 100644
index 3586eb425f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash51.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class obj;
-
-typedef obj *obj_t;
-
-class obj {
-public:
- obj( const obj& o );
-};
-
-extern obj nowhere;
-
-class set: public obj {
- unsigned bit_vector;
-public:
- set( const obj& o );
- set& operator|=( const int q );
-};
-
-enum pin_enum { E_F, O_C, O_D, O_S, P_D, P_U, R, T, A, C };
-
-set t_q = ( ( ( ( ( ( set( nowhere ) |= E_F ) |= O_C ) |= O_D ) |= O_S )
- |= P_U ) |= P_D ) |= T;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C
deleted file mode 100644
index d10afdcc43d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-#include <iostream.h>
-
-class A {
-public:
- friend A f(A &a);// ERROR - ambiguates.*
-};
-
-A &f(A &a) {// ERROR - new decl.*
- cout << "Blah\n";
-} // ERROR - non-void function
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash53.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash53.C
deleted file mode 100644
index 163f8e6ced7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash53.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class A
-{
- public:
- class B
- {
- public:
- virtual ~B();
- };
-};
-
-template<int I>
-class C
-{
- public:
- class B
- : public A::B
- {
- }; // bug2.cc:18: Internal compiler error 233.
- // bug2.cc:18: Please submit a full bug report to `bug-g++@prep.ai.mit.edu'.
-};
-
-C<0> c;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash54.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash54.C
deleted file mode 100644
index 7d2a8a0530e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash54.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-int main()
-{
- int a[100], **p;
-
- p = &a[50];// ERROR - assignment to.*
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C
deleted file mode 100644
index 47a74249ef6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
- extern f(int);// ERROR - ambiguates.*
-
- int& f(int x)
- {// ERROR - new declaration.*
- int local;// ERROR - warning
-
- local = x+2;
-
- return local;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
deleted file mode 100644
index b5e997cc6ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
+++ /dev/null
@@ -1,385 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-// Special g++ Options:
-
-const bool FALSE = 0;
-const bool TRUE = 1;
-class ListDProto {
-public:
- ListDProto();
- ListDProto(const ListDProto&);
- virtual ~ListDProto();
- void operator=(const ListDProto&);
- unsigned length() const;
- bool empty() const;
- void clear();
- void remove_head();
- void remove_tail();
- class link;
- class Vix {
- public:
- Vix();
- friend int operator==(void *v, const Vix& x)
- { return v == x.item; }// ERROR - list of candidates
- friend int operator==(const Vix& x, void *v)
- { return v == x.item; }// ERROR - candidate for call
- friend int operator!=(void *v, const Vix& x)
- { return v != x.item; }
- friend int operator!=(const Vix& x, void *v)
- { return v != x.item; }
- friend int operator==(const Vix& x1, const Vix& x2)
- { return x1.owner == x2.owner && x1.item == x2.item; }// ERROR - candidate for call
- friend int operator!=(const Vix& x1, const Vix& x2)
- { return x1.owner != x2.owner || x1.item != x2.item; }
- bool first;
- bool last;
- protected:
- friend class ListDProto;
- Vix(const ListDProto *o, link *i);
- const ListDProto *owner;
- private:
- link *item;
- };
- enum Action { NORMAL, REMOVE_CURRENT };
- Vix first() const;
- void first(Vix& x) const;
- void next(Vix& x) const;
- void next(Vix& x, Action a = NORMAL);
- Vix last() const;
- void last(Vix& x) const;
- void prev(Vix& x) const;
- void prev(Vix& x, Action a = NORMAL);
-protected:
- struct link {
- link *next;
- link *prev;
- link(link *n = 0, link *p = 0);
- virtual ~link();
- private:
- link(const link&);
- void operator=(const link&);
- };
- unsigned count;
- link *list_head;
- link *list_tail;
- virtual link *copy_item(link *old_item) const = 0;
- void prepend(link *item);
- void append(link *item);
- void prepend(const ListDProto& proto);
- void append(const ListDProto& proto);
- void remove(link *item);
- link *ref(const Vix&) const;
-};
-template<class T>
-class ListD: public ListDProto {
-public:
- void prepend(const T& item);
- void append(const T& item);
- const T& head() const;
- T& head();
- void head(T& fill) const;
- void remove_head()
- { ListDProto::remove_head(); }
- void remove_head(T& fill);
- const T& tail() const;
- T& tail();
- void tail(T& fill) const;
- void remove_tail()
- { ListDProto::remove_tail(); }
- void remove_tail(T& fill);
- class Vix: public ListDProto::Vix {
- public:
- Vix(): ListDProto::Vix()
- { }
- protected:
- friend class ListD<T>;
- Vix(const ListDProto::Vix& x): ListDProto::Vix(x)
- { }
- };
- Vix first() const
- { return ListDProto::first(); };
- void first(Vix& x) const
- { ListDProto::first(x); };
- void next(Vix& x, ListDProto::Action a = NORMAL) const
- { ListDProto::next(x, a); }// ERROR - .*// ERROR - .*
- Vix last() const
- { return ListDProto::last(); }
- void last(Vix& x) const
- { return ListDProto::last(x); }
- void prev(Vix& x, ListDProto::Action a = NORMAL) const
- { return ListDProto::prev(x, a); }
-protected:
- struct link_item: public ListDProto::link {
- T item;
- link_item(const T& i): link(0, 0), item(i)
- { }
- private:
- link_item(const link_item&);
- void operator=(const link_item&);
- };
-public:
- T& operator()(const Vix& x)
- { link_item *li = (link_item *) ref(x);
- return li->item; }
- const T& operator()(const Vix& x) const
- { link_item *li = (link_item *) ref(x);
- return li->item; }
-private:
- ListDProto::link *copy_item(ListDProto::link *old_item) const;
-};
-template<class T>
-class SetLD: private ListD<T> {
-public:
- SetLD();
- SetLD(const ListD<T>&);
- void add(const T& item);
- void add(const ListD<T>& other);
- void add(const SetLD<T>& other);
- void remove(const T& item);
- bool contains(const T& item) const;
- ListD<T>::length;
- ListD<T>::empty;
- ListD<T>::clear;
- typedef ListD<T>::Vix Vix;
- ListD<T>::first;
- ListD<T>::next;
- ListD<T>::operator();
-};
-extern "C" {
-extern void __eprintf (const char *, const char *, unsigned, const char *);
-}
-extern "C" {
-extern void __eprintf (const char *, const char *, unsigned, const char *);
-}
-template<class T>
-void
-ListD<T>::prepend(const T& item)
-{
- link *newl = new link_item(item);
- ListDProto::prepend(newl);
-}
-template<class T>
-void
-ListD<T>::append(const T& item)
-{
- link *newl = new link_item(item);
- ListDProto::append(newl);
-}
-template<class T>
-const T&
-ListD<T>::head() const
-{
- ((void) (( 0 != list_head ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "/home/wbaker/work/include/templates/ListD.body.h" , 50 , "0 != list_head" ), 0) )) ;
- link_item *h = (link_item *) list_head;
- return h->item;
-}
-template<class T>
-T&
-ListD<T>::head()
-{
- ((void) (( 0 != list_head ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "/home/wbaker/work/include/templates/ListD.body.h" , 59 , "0 != list_head" ), 0) )) ;
- link_item *h = (link_item *) list_head;
- return h->item;
-}
-template<class T>
-void
-ListD<T>::head(T& fill) const
-{
- ((void) (( 0 != list_head ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "/home/wbaker/work/include/templates/ListD.body.h" , 68 , "0 != list_head" ), 0) )) ;
- link_item *h = (link_item *) list_head;
- fill = h->item;
-}
-template<class T>
-void
-ListD<T>::remove_head(T& fill)
-{
- head(fill);
- remove_head();
-}
-template<class T>
-const T&
-ListD<T>::tail() const
-{
- ((void) (( 0 != list_tail ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "/home/wbaker/work/include/templates/ListD.body.h" , 85 , "0 != list_tail" ), 0) )) ;
- link_item *h = (link_item *) list_tail;
- return h->item;
-}
-template<class T>
-T&
-ListD<T>::tail()
-{
- ((void) (( 0 != list_tail ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "/home/wbaker/work/include/templates/ListD.body.h" , 94 , "0 != list_tail" ), 0) )) ;
- link_item *h = (link_item *) list_tail;
- return h->item;
-}
-template<class T>
-void
-ListD<T>::tail(T& fill) const
-{
- ((void) (( 0 != list_tail ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "/home/wbaker/work/include/templates/ListD.body.h" , 103 , "0 != list_tail" ), 0) )) ;
- link_item *h = (link_item *) list_tail;
- fill = h->item;
-}
-template<class T>
-void
-ListD<T>::remove_tail(T& fill)
-{
- ((void) (( 0 != list_tail ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "/home/wbaker/work/include/templates/ListD.body.h" , 112 , "0 != list_tail" ), 0) )) ;
- link_item *h = (link_item *) list_tail;
- fill = h->item;
-}
-template<class T>
-ListDProto::link *
-ListD<T>::copy_item(ListDProto::link *old) const
-{
- link_item *old_item = (link_item *) old;
- link_item *new_item = new link_item(old_item->item);
- return new_item;
-}
-template<class T>
-SetLD<T>::SetLD():
-ListD<T>()
-{ }
-template<class T>
-SetLD<T>::SetLD(const ListD<T>& other):
-ListD<T>(other)
-{ }
-template<class T>
-void
-SetLD<T>::add(const T& item)
-{
- if ( ! contains(item) )
- append(item);
-}
-template<class T>
-void
-SetLD<T>::add(const ListD<T>& other)
-{
- ListD<T>::Vix x;
- for (first(x); 0 != x; next(x))
- add(other(x));
-}
-template<class T>
-void
-SetLD<T>::add(const SetLD<T>& other)
-{
- const ListD<T>& lother = other;
- add(lother);
-}
-template<class T>
-void
-SetLD<T>::remove(const T& item)
-{
- Action a = NORMAL;
- Vix x;
- for (first(x); 0 != x && REMOVE_CURRENT != a; next(x, a))
- a = operator()(x) == item ? REMOVE_CURRENT: NORMAL;// ERROR - .*
-}
-template<class T>
-bool
-SetLD<T>::contains(const T& item) const
-{
- Vix x;
- for (first(x); 0 != x; next(x)) {
- if (operator()(x) == item)// ERROR - .*
- return TRUE;
- }
- return FALSE;
-}
-template<class T>
-int
-operator==(const SetLD<T>& a, const SetLD<T>& b)
-{
- if (a.length() != b.length())
- return FALSE;
- SetLD<T>::Vix x;
- for (a.first(x); 0 != x; a.next(x)) {
- if ( ! b.contains(a(x)) )
- return FALSE;
- }
- for (b.first(x); 0 != x; b.next(x)) {
- if ( ! a.contains(b(x)) )
- return FALSE;
- }
- return TRUE;
-}
-template<class T>
-int
-operator!=(const SetLD<T>& a, const SetLD<T>& b)
-{ return ! (a == b); }
-template<class T>
-int
-operator<=(const SetLD<T>& a, const SetLD<T>& b)
-{
- if (a.length() > b.length())
- return FALSE;
- SetLD<T>::Vix x;
- for (x=a.first(); 0 != x; a.next(x)) {
- if ( ! b.contains(a(x)) )
- return FALSE;
- }
- return TRUE;
-}
-template<class T>
-int
-operator<(const SetLD<T>& a, const SetLD<T>& b)
-{
- if (a.length() >= b.length())
- return FALSE;
- return a <= b;
-}
-template<class T>
-int
-operator>(const SetLD<T>& a, const SetLD<T>& b)
-{ return ! (a <= b); }
-template<class T>
-int
-operator>=(const SetLD<T>& a, const SetLD<T>& b)
-{ return ! (a < b); }
-class String { };
-class IcaseString: public String { };
-class SetLD< IcaseString >: public SetLD< String > { public: SetLD (): SetLD< String >() { }; SetLD (const ListD< IcaseString >& other): SetLD< String >() { ListD< IcaseString >::Vix x; for (other.first(x); 0 != x; other.next(x)) add(other(x)); }; SetLD (const SetLD & other): SetLD< String >(other) { }; const IcaseString & operator()(const Vix& x) const { return ( IcaseString &) SetLD< String >::operator()(x); } }; typedef SetLD< String > SetLD_String_IcaseString_old_tmp99; typedef SetLD< IcaseString > SetLD_String_IcaseString_new_tmp99;
-inline int operator== (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b)
-{// ERROR - candidate for call
-const SetLD_String_IcaseString_old_tmp99& oa = a;
-const SetLD_String_IcaseString_old_tmp99& ob = b;
-return operator== (oa, ob); }
-inline int operator!= (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b)
-{
-const SetLD_String_IcaseString_old_tmp99& oa = a;
-const SetLD_String_IcaseString_old_tmp99& ob = b;
-return operator!= (oa, ob); }
-inline int operator< (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b)
-{
-const SetLD_String_IcaseString_old_tmp99& oa = a;
-const SetLD_String_IcaseString_old_tmp99& ob = b;
-return operator< (oa, ob); }
-inline int operator<= (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b)
-{
-const SetLD_String_IcaseString_old_tmp99& oa = a;
-const SetLD_String_IcaseString_old_tmp99& ob = b;
-return operator<= (oa, ob); }
-inline int operator> (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b)
-{
-const SetLD_String_IcaseString_old_tmp99& oa = a;
-const SetLD_String_IcaseString_old_tmp99& ob = b;
-return operator> (oa, ob); }
-inline int operator>= (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b)
-{
-const SetLD_String_IcaseString_old_tmp99& oa = a;
-const SetLD_String_IcaseString_old_tmp99& ob = b;
-return operator>= (oa, ob); } ;
-typedef SetLD<IcaseString> SLDiS;
-static void
-nop(int i)
-{
- SetLD<IcaseString> x, y;
- nop(x == y);
- nop(x != y);
-nop(x < y);
-nop(x <= y);
-nop(x > y);
-nop(x >= y);
-}
-
-template class SetLD<String>;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash57.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash57.C
deleted file mode 100644
index 5032b3f6cce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash57.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class foo {
-private:
- char buffer[1024];
-public:
- foo();
-};
-
-int main()
-{
- static foo& a = *(new foo);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash58.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash58.C
deleted file mode 100644
index 922290f000c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash58.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class X {
-public:
-void doit();
-};
-
-X::::doit()// ERROR - (syntax|parse) error.*
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash59.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash59.C
deleted file mode 100644
index ab6e5599d6a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash59.C
+++ /dev/null
@@ -1,1374 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w
-// GROUPS passed old-abort
-typedef char * __gnuc_va_list;
-void va_end (__gnuc_va_list);
-enum __va_type_classes {
- __no_type_class = -1,
- __void_type_class,
- __integer_type_class,
- __char_type_class,
- __enumeral_type_class,
- __boolean_type_class,
- __pointer_type_class,
- __reference_type_class,
- __offset_type_class,
- __real_type_class,
- __complex_type_class,
- __function_type_class,
- __method_type_class,
- __record_type_class,
- __union_type_class,
- __array_type_class,
- __string_type_class,
- __set_type_class,
- __file_type_class,
- __lang_type_class
-};
-typedef __gnuc_va_list va_list;
-typedef int jmp_buf[9 ];
-typedef int sigjmp_buf[9 +1];
-int setjmp (jmp_buf) ;
-int _setjmp (jmp_buf) ;
-int sigsetjmp (sigjmp_buf, int) ;
-void longjmp (jmp_buf, int) ;
-void _longjmp (jmp_buf, int) ;
-void siglongjmp (sigjmp_buf, int) ;
-const int BOR_C_DIR = 0;
-const int BOR_C_REV = 1;
-const int BOR_C = 0x1;
-const int BOR_BD_DIR = (0<<1);
-const int BOR_BD_REV = (1<<1);
-const int BOR_BD = 0x2;
-const int SERVICE_DATA = (1<<( 0 )) ;
-const int SERVICE_CLASS1 = (1<<( 1 )) ;
-const int SERVICE_CLASS2 = (1<<( 2 )) ;
-const int SERVICE_CLASS20 = (1<<( 3 )) ;
-const int SERVICE_VOICE = (1<<( 8 )) ;
-const int SERVICE_ALL = (1<<( 9 )) -1;
-const int VR_NORMAL = 0;
-const int VR_FINE = 1;
-const int VR_ALL = (1<<( VR_FINE+1 )) -1;
-const int BR_2400 = 0;
-const int BR_4800 = 1;
-const int BR_7200 = 2;
-const int BR_9600 = 3;
-const int BR_12000 = 4;
-const int BR_14400 = 5;
-const int BR_ALL = (1<<( BR_14400+1 )) -1;
-const int WD_1728 = 0;
-const int WD_2048 = 1;
-const int WD_2432 = 2;
-const int WD_1216 = 3;
-const int WD_864 = 4;
-const int WD_ALL = (1<<( WD_864+1 )) -1;
-const int LN_A4 = 0;
-const int LN_B4 = 1;
-const int LN_INF = 2;
-const int LN_ALL = (1<<( LN_INF+1 )) -1;
-const int DF_1DMR = 0;
-const int DF_2DMR = 1;
-const int DF_2DMRUNCOMP = 2;
-const int DF_2DMMR = 3;
-const int DF_ALL = (1<<( DF_2DMMR+1 )) -1;
-const int EC_DISABLE = 0;
-const int EC_ENABLE = 1;
-const int EC_ALL = 0x3;
-const int BF_DISABLE = 0;
-const int BF_ENABLE = 1;
-const int BF_ALL = 0x3;
-const int ST_0MS = 0;
-const int ST_5MS = 1;
-const int ST_10MS2 = 2;
-const int ST_10MS = 3;
-const int ST_20MS2 = 4;
-const int ST_20MS = 5;
-const int ST_40MS2 = 6;
-const int ST_40MS = 7;
-const int ST_ALL = (1<<( ST_40MS+1 )) -1;
-const int PPM_MPS = 0;
-const int PPM_EOM = 1;
-const int PPM_EOP = 2;
-const int PPM_PRI_MPS = 4;
-const int PPM_PRI_EOM = 5;
-const int PPM_PRI_EOP = 6;
-const int PPR_MCF = 1;
-const int PPR_RTN = 2;
-const int PPR_RTP = 3;
-const int PPR_PIN = 4;
-const int PPR_PIP = 5;
-const int DLE = 16;
-const int SUB = 26;
-const int ETX = 3;
-const int DC1 = 17;
-const int DC2 = 18;
-const int CAN = 24;
-typedef int sigset_t;
-typedef unsigned int speed_t;
-typedef unsigned long tcflag_t;
-typedef unsigned char cc_t;
-typedef int pid_t;
-typedef unsigned short mode_t;
-typedef short nlink_t;
-typedef long clock_t;
-typedef long time_t;
-typedef __SIZE_TYPE__ size_t;
-typedef int ptrdiff_t;
-typedef __wchar_t wchar_t;
-extern unsigned int _mb_cur_max;
-extern void abort( );
-extern int abs (int) ;
-extern double atof (const char *) ;
-extern int atoi (const char *) ;
-extern long int atol (const char *) ;
-extern char * bsearch (const void *, const void *, long unsigned int , long unsigned int , int (*) (const void *, const void *)) ;
-extern void * calloc (long unsigned int , long unsigned int ) ;
-extern void exit (int) ;
-extern void free (void *) ;
-extern char * getenv (const char *) ;
-extern void * malloc (long unsigned int ) ;
-extern int qsort (void *, long unsigned int , long unsigned int , int (*) (const void *, const void *)) ;
-extern int rand( );
-extern void * realloc (void *, long unsigned int ) ;
-extern int srand (unsigned int) ;
-extern int mbtowc (__wchar_t *, const char *, long unsigned int ) ;
-extern int wctomb (char *, __wchar_t ) ;
-extern size_t mbstowcs (__wchar_t *, const char *, long unsigned int ) ;
-extern size_t wcstombs (char *, const __wchar_t *, long unsigned int ) ;
-extern int atexit (void (*) (void));
-extern long int labs (long int);
-extern int putenv (char *);
-extern double strtod (const char *, char **);
-extern long int strtol (const char *, char **, int);
-extern long unsigned int strtoul (const char *, char **, int);
-extern int system (const char *);
-extern char * strcat (char *, const char *) ;
-extern char * strchr (const char *, int) ;
-extern int strcmp (const char *, const char *) ;
-extern char * strcpy (char *, const char *) ;
-extern size_t strcspn (const char *, const char *) ;
-extern char * strdup (const char *) ;
-extern size_t strlen (const char *) ;
-extern char * strncat (char *, const char *, long unsigned int ) ;
-extern int strncmp (const char *, const char *, long unsigned int ) ;
-extern char * strncpy (char *, const char *, long unsigned int ) ;
-extern char * strpbrk (const char *, const char *) ;
-extern char * strrchr (const char *, int) ;
-extern size_t strspn (const char *, const char *) ;
-extern char * strstr (const char *, const char *) ;
-extern char * strtok (char *, const char *) ;
-extern void * memchr (const void *, int, long unsigned int );
-extern int memcmp (const void *, const void *, long unsigned int );
-extern void * memcpy (void *, const void *, long unsigned int );
-extern void * memmove (void *, const void *, long unsigned int );
-extern void * memset (void *, int, long unsigned int );
-extern int strcoll (const char *, const char *);
-extern char * strerror (int);
-extern long unsigned int strxfrm (char *, const char *, long unsigned int );
-extern "C" {
-extern void __eprintf (const char *, const char *, unsigned, const char *);
-}
-extern struct _iobuf {
- int _cnt;
- unsigned char *_ptr;
- unsigned char *_base;
- int _bufsiz;
- short _flag;
- char _file;
-} _iob[];
-extern struct _iobuf *fopen (const char *, const char *) ;
-extern struct _iobuf *fdopen (int, const char *) ;
-extern struct _iobuf *freopen (const char *, const char *, struct _iobuf *) ;
-extern struct _iobuf *popen (const char *, const char *) ;
-extern struct _iobuf *tmpfile();
-extern long ftell (struct _iobuf *) ;
-extern char *fgets (char *, int, struct _iobuf *) ;
-extern char *gets (char *) ;
-extern char *sprintf (char *, const char *, ...) ;
-extern char *ctermid (char *) ;
-extern char *cuserid (char *) ;
-extern char *tempnam (const char *, const char *) ;
-extern char *tmpnam (char *) ;
-extern int fclose (struct _iobuf *);
-extern int fflush (struct _iobuf *);
-extern int fgetc (struct _iobuf *);
-extern int fgetpos (struct _iobuf *, long *);
-extern int fprintf (struct _iobuf *, const char *, ...);
-extern int fputc (int, struct _iobuf *);
-extern int fputs (const char *, struct _iobuf *);
-extern long unsigned int fread (void *, long unsigned int , long unsigned int , struct _iobuf *);
-extern int fscanf (struct _iobuf *, const char *, ...);
-extern int fseek (struct _iobuf *, long int, int);
-extern int fsetpos (struct _iobuf *, const long *);
-extern long unsigned int fwrite (const void *, long unsigned int , long unsigned int , struct _iobuf *);
-extern int pclose (struct _iobuf *);
-extern void perror (const char *);
-extern int printf (const char *, ...);
-extern int puts (const char *);
-extern int remove (const char *);
-extern int rename (const char *, const char *);
-extern void rewind (struct _iobuf *);
-extern int scanf (const char *, ...);
-extern void setbuf (struct _iobuf *, char *);
-extern int setvbuf (struct _iobuf *, char *, int, long unsigned int );
-extern int sscanf (const char *, const char *, ...);
-extern int vprintf (const char *, __gnuc_va_list);
-extern int vsprintf (char *, const char *, __gnuc_va_list);
-extern int vfprintf (struct _iobuf *, const char *, __gnuc_va_list);
-extern int ungetc (int, struct _iobuf *);
-extern int _flsbuf (unsigned int, struct _iobuf *);
-extern int _filbuf (struct _iobuf *);
-typedef long _G_clock_t;
-typedef short _G_dev_t;
-typedef long _G_fpos_t;
-typedef unsigned short _G_gid_t;
-typedef unsigned long _G_ino_t;
-typedef unsigned short _G_mode_t;
-typedef short _G_nlink_t;
-typedef long _G_off_t;
-typedef int _G_pid_t;
-typedef int _G_ptrdiff_t;
-typedef int _G_sigset_t;
-typedef long unsigned int _G_size_t;
-typedef long _G_time_t;
-typedef unsigned short _G_uid_t;
-typedef __wchar_t _G_wchar_t;
-typedef int _G_ssize_t;
-typedef int _G_wint_t;
-typedef char * _G_va_list;
-typedef signed char _G_int8_t;
-typedef unsigned char _G_uint8_t;
-typedef short _G_int16_t;
-typedef unsigned short _G_uint16_t;
-typedef long _G_int32_t;
-typedef unsigned long _G_uint32_t;
-const size_t NPOS = (size_t)(-1);
-typedef void fvoid_t();
-typedef _G_wint_t wint_t;
-enum capacity { default_size, reserve };
-extern "C" fvoid_t *set_new_handler(fvoid_t *);
-extern fvoid_t *__new_handler;
-extern "C" void __default_new_handler();
-inline void *operator new(size_t, void *place) { return place; }
-inline void *operator new[](size_t, void *place) { return place; }
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-typedef struct _physadr_t { int r[1]; } *physadr_t;
-typedef struct label_t {
- int val[2];
-} label_t;
-typedef struct _quad_t { long val[2]; } quad_t;
-typedef long daddr_t;
-typedef char * caddr_t;
-typedef unsigned long ino_t;
-typedef short dev_t;
-typedef long off_t;
-typedef unsigned short uid_t;
-typedef unsigned short gid_t;
-typedef long key_t;
-typedef char * addr_t;
-typedef long fd_mask;
-typedef struct fd_set {
- fd_mask fds_bits[((( 256 )+(( (sizeof (fd_mask) * 8 ) )-1))/( (sizeof (fd_mask) * 8 ) )) ];
-} fd_set;
-extern "C" {
-extern int mkstemp(char *);
-extern int strncasecmp(const char*, const char*, size_t);
-extern int strcasecmp(const char*, const char*);
-extern long random(void);
-extern int seteuid(uid_t);
-extern int setegid(gid_t);
-extern int ftruncate(int, off_t);
-extern int getdtablesize(void);
-struct fd_set;
-struct timeval;
-extern int select(int,struct fd_set*,struct fd_set*,struct fd_set*,struct timeval*);
-extern int ioctl(int, int, ...);
-extern int fchown(int, uid_t, gid_t);
-extern int gethostname(char*, int);
-extern char* optarg;
-extern int opterr;
-extern int optind;
-extern char* mktemp(char*);
-extern void syslog(int, const char*, ...);
-extern void vsyslog(int, const char*, va_list);
-extern void closelog(void);
-extern void openlog(const char*, int, int);
-extern int fchmod(int, mode_t);
-struct timezone;
-struct timeval;
-extern int gettimeofday(struct timeval*, struct timezone*);
-extern void endpwent(void);
-extern int getpeername(int,void*,int*);
-extern int getsockname(int,void*,int*);
-extern int socket(int, int, int);
-extern int connect(int, const void*, int);
-extern int flock(int, int);
-}
-typedef unsigned char fxBool;
-inline int fxmin(int a, int b) { return (a < b) ? a : b; }
-inline u_long fxmin(u_long a, u_long b) { return (a < b) ? a : b; }
-inline u_int fxmin(u_int a, u_int b) { return (a < b) ? a : b; }
-inline int fxmax(int a, int b) { return (a > b) ? a : b; }
-inline u_long fxmax(u_long a, u_long b) { return (a > b) ? a : b; }
-inline u_int fxmax(u_int a, u_int b) { return (a > b) ? a : b; }
-extern "C" void _fxassert(const char*, const char*, int);
-class fxObj {
-public:
- fxObj();
- virtual ~fxObj();
- void inc();
- void dec();
- u_long getReferenceCount();
- virtual const char* className() const;
- int compare(const fxObj *) const;
- virtual void subClassMustDefine(const char* method) const;
-protected:
- u_long referenceCount;
-};
-inline fxObj::fxObj() { referenceCount = 0; }
-inline void fxObj::inc() { ++referenceCount; }
-inline void fxObj::dec() {
- if ( referenceCount>0 ); else _fxassert( "Bogus object reference count" ,"../util/Obj.h",54); ;
- if (0 >= --referenceCount) delete this;
-}
-inline u_long fxObj::getReferenceCount() { return referenceCount; }
-class fxStr;
-class fxTempStr {
-public:
- fxTempStr(fxTempStr const &other);
- ~fxTempStr();
- friend fxTempStr operator|(fxStr const&, fxStr const&);
- friend fxTempStr operator|(fxStr const&, char const*);
- friend fxTempStr operator|(char const*, fxStr const&);
- friend fxTempStr& operator|(const fxTempStr&, fxStr const& b);
- friend fxTempStr& operator|(const fxTempStr&, char const* b);
- operator char*() const;
- operator int() const;
- operator float() const;
- operator double() const;
- u_int length() const;
-protected:
- char indata[100];
- char* data;
- u_int slength;
- friend class fxStr;
- fxTempStr(char const *, u_int, char const *, u_int);
- fxTempStr& concat(char const* b, u_int bl);
-};
-inline fxTempStr::operator char*() const { return data; }
-inline fxTempStr::operator int() const { return atoi(data); }
-inline fxTempStr::operator float() const { return float(atof(data)); }
-inline fxTempStr::operator double() const { return double(atof(data)); }
-inline u_int fxTempStr::length() const { return slength - 1; }
-class fxStr {
- friend class fxTempStr;
-public:
- fxStr(u_int l=0);
- fxStr(char const *s);
- fxStr(char const *s, u_int len);
- fxStr(fxStr const&);
- fxStr(int, char const* format);
- fxStr(long, char const* format);
- fxStr(float, char const* format);
- fxStr(double, char const* format);
- fxStr(const fxTempStr&);
- ~fxStr();
- u_long hash() const;
- operator char*() const
- { return data; }
- operator int() const
- { return atoi(data); }
- operator float() const
- { return float(atof(data)); }
- operator double() const
- { return double(atof(data)); }
- u_int length() const { return slength-1; }
- char& operator[](u_int i) const
- { if ( i<slength-1 ); else _fxassert( "Invalid Str[] index" ,"../util/Str.h",109); ;
- return data[i]; }
- void operator=(const fxTempStr& s);
- void operator=(fxStr const& s);
- void operator=(char const *s);
- friend fxBool operator==(fxStr const&, fxStr const&);
- friend fxBool operator==(fxStr const&, char const*);
- friend fxBool operator==(fxStr const&, char *);
- friend fxBool operator==(char const*, fxStr const&);
- friend fxBool operator!=(fxStr const&, fxStr const&);
- friend fxBool operator!=(fxStr const&, char const*);
- friend fxBool operator!=(char const*, fxStr const&);
- friend fxBool operator>=(fxStr const&, fxStr const&);
- friend fxBool operator>=(fxStr const&, char const*);
- friend fxBool operator>=(char const*, fxStr const&);
- friend fxBool operator<=(fxStr const&, fxStr const&);
- friend fxBool operator<=(fxStr const&, char const*);
- friend fxBool operator<=(char const*, fxStr const&);
- friend fxBool operator>(fxStr const&, fxStr const&);
- friend fxBool operator>(fxStr const&, char const*);
- friend fxBool operator>(char const*, fxStr const&);
- friend fxBool operator<(fxStr const&, fxStr const&);
- friend fxBool operator<(fxStr const&, char const*);
- friend fxBool operator<(char const*, fxStr const&);
- int compare(fxStr const *a) const { return ::compare(*this, *a); }
- friend int compare(fxStr const&, fxStr const&);
- friend int compare(fxStr const&, char const*);
- friend int compare(char const*, fxStr const&);
- friend fxTempStr& operator|(const fxTempStr&, fxStr const&);
- friend fxTempStr& operator|(const fxTempStr&, char const*);
- friend fxTempStr operator|(fxStr const&, fxStr const&);
- friend fxTempStr operator|(fxStr const&, char const*);
- friend fxTempStr operator|(char const*, fxStr const&);
- fxStr copy() const;
- fxStr extract(u_int start,u_int len) const;
- fxStr cut(u_int start,u_int len);
- fxStr head(u_int) const;
- fxStr tail(u_int) const;
- void lowercase(u_int posn=0, u_int len=0);
- void raisecase(u_int posn=0, u_int len=0);
- void remove(u_int posn,u_int len=1);
- void resize(u_int len, fxBool reallocate = ((fxBool)0) );
- void setMaxLength(u_int maxlen);
- void append(char a);
- void append(char const *s, u_int len=0);
- void append(const fxTempStr& s)
- { append((char*)s, s.slength-1); }
- void append(fxStr const& s)
- { append((char*)s, s.slength-1); }
- void insert(char a, u_int posn=0);
- void insert(char const *, u_int posn=0, u_int len=0);
- void insert(const fxTempStr& s, u_int posn=0)
- { insert((char*)s, posn, s.slength-1); }
- void insert(fxStr const& s, u_int posn=0)
- { insert((char*)s, posn, s.slength-1); }
- u_int next(u_int posn, char delimiter) const;
- u_int next(u_int posn, char const *delimiters, u_int len=0) const;
- u_int next(u_int posn, fxStr const& delimiters) const
- { return next(posn, (char*)delimiters, delimiters.slength-1); }
- u_int nextR(u_int posn, char delimiter) const;
- u_int nextR(u_int posn, char const*, u_int len=0) const;
- u_int nextR(u_int posn, fxStr const& delimiters) const
- { return nextR(posn, (char*)delimiters, delimiters.slength-1); }
- u_int skip(u_int posn, char a) const;
- u_int skip(u_int posn, char const *, u_int len=0) const;
- u_int skip(u_int posn, fxStr const& delimiters) const
- { return skip(posn, (char*)delimiters, delimiters.slength-1); }
- u_int skipR(u_int posn, char a) const;
- u_int skipR(u_int posn, char const *, u_int len=0) const;
- u_int skipR(u_int posn, fxStr const& delimiters) const
- { return skipR(posn, (char*)delimiters, delimiters.slength-1); }
- fxStr token(u_int & posn, char delimiter) const;
- fxStr token(u_int & posn, char const * delimiters,
- u_int delimiters_len = 0) const;
- fxStr token(u_int & posn, fxStr const & delimiters) const
- { return token(posn, delimiters.data, delimiters.slength-1); }
- fxStr tokenR(u_int & posn, char delimiter) const;
- fxStr tokenR(u_int & posn, char const * delimiters,
- u_int delimiters_len = 0) const;
- fxStr tokenR(u_int & posn, fxStr const & delimiters) const
- { return tokenR(posn, delimiters.data, delimiters.slength-1); }
-protected:
- u_int slength;
- char * data;
- static char emptyString;
- void fxStr::resizeInternal(u_int);
- int findEndBuffer(const char *, u_int buflen) const;
- int findBuffer(const char *buf, u_int buflen) const;
- void bracketBuffer(const char *, u_int buflen, int &, int &) const;
-};
-struct Class2Params {
- u_int vr;
- u_int br;
- u_int wd;
- u_int ln;
- u_int df;
- u_int ec;
- u_int bf;
- u_int st;
- static u_int vrDISTab[2];
- static u_int dfDISTab[4];
- static u_int wdDISTab[8];
- static u_int lnDISTab[3];
- static u_int stDISTab[8];
- static u_int stDCSTab[8];
- static u_int brDISTab[8];
- static u_int brDCSTab[8];
- static u_int DISvrTab[2];
- static u_int DISdfTab[2];
- static u_int DISwdTab[4];
- static u_int DISlnTab[4];
- static u_int DISstTab[8];
- static u_int DISbrTab[16];
- static u_int DCSbrTab[16];
- static const char* bitRateNames[8];
- static const char* dataFormatNames[4];
- static const char* vresNames[2];
- static const char* pageWidthNames[8];
- static const char* pageLengthNames[4];
- static const char* scanlineTimeNames[8];
- Class2Params();
- int operator==(const Class2Params&) const;
- int operator!=(const Class2Params&) const;
- fxStr cmd() const;
- void setFromDIS(u_int dis, u_int xinfo = 0);
- void setFromDCS(u_int dcs, u_int xinfo = 0);
- u_int getDCS() const;
- fxBool is2D() const;
- u_int pageWidth() const;
- u_int transferSize(u_int ms) const;
- u_int minScanlineSize() const;
- fxStr encode() const;
- void decode(const fxStr&);
-};
-typedef struct {
- unsigned short tiff_magic;
- unsigned short tiff_version;
- unsigned long tiff_diroff;
-} TIFFHeader;
-typedef struct {
- unsigned short tdir_tag;
- unsigned short tdir_type;
- unsigned long tdir_count;
- unsigned long tdir_offset;
-} TIFFDirEntry;
-typedef enum {
- TIFF_NOTYPE = 0,
- TIFF_BYTE = 1,
- TIFF_ASCII = 2,
- TIFF_SHORT = 3,
- TIFF_LONG = 4,
- TIFF_RATIONAL = 5,
- TIFF_SBYTE = 6,
- TIFF_UNDEFINED = 7,
- TIFF_SSHORT = 8,
- TIFF_SLONG = 9,
- TIFF_SRATIONAL = 10,
- TIFF_FLOAT = 11,
- TIFF_DOUBLE = 12
-} TIFFDataType;
-typedef struct tiff TIFF;
-extern int fclose (struct _iobuf *);
-extern int fflush (struct _iobuf *);
-extern int fgetc (struct _iobuf *);
-extern int fgetpos (struct _iobuf *, long *);
-extern int fprintf (struct _iobuf *, const char *, ...);
-extern int fputc (int, struct _iobuf *);
-extern int fputs (const char *, struct _iobuf *);
-extern long unsigned int fread (void *, long unsigned int , long unsigned int , struct _iobuf *);
-extern int fscanf (struct _iobuf *, const char *, ...);
-extern int fseek (struct _iobuf *, long int, int);
-extern int fsetpos (struct _iobuf *, const long *);
-extern long unsigned int fwrite (const void *, long unsigned int , long unsigned int , struct _iobuf *);
-extern int pclose (struct _iobuf *);
-extern void perror (const char *);
-extern int printf (const char *, ...);
-extern int puts (const char *);
-extern int remove (const char *);
-extern int rename (const char *, const char *);
-extern void rewind (struct _iobuf *);
-extern int scanf (const char *, ...);
-extern void setbuf (struct _iobuf *, char *);
-extern int setvbuf (struct _iobuf *, char *, int, long unsigned int );
-extern int sscanf (const char *, const char *, ...);
-extern int vprintf (const char *, __gnuc_va_list);
-extern int vsprintf (char *, const char *, __gnuc_va_list);
-extern int vfprintf (struct _iobuf *, const char *, __gnuc_va_list);
-extern int ungetc (int, struct _iobuf *);
-extern int _flsbuf (unsigned int, struct _iobuf *);
-extern int _filbuf (struct _iobuf *);
-typedef void (*TIFFErrorHandler)(const char* module, const char* fmt, va_list);
-typedef int (*TIFFReadWriteProc)(void*, char*, unsigned long);
-typedef long (*TIFFSeekProc)(void*, long, int);
-typedef int (*TIFFCloseProc)(void*);
-typedef long (*TIFFSizeProc)(void*);
-typedef int (*TIFFMapFileProc)(void*, char**, long*);
-typedef void (*TIFFUnmapFileProc)(void*, char*, long);
-extern "C" {
-extern const char* TIFFGetVersion();
-extern void TIFFClose(TIFF*);
-extern int TIFFFlush(TIFF*);
-extern int TIFFFlushData(TIFF*);
-extern int TIFFGetField(TIFF*, unsigned int, ...);
-extern int TIFFVGetField(TIFF*, unsigned int, va_list);
-extern int TIFFGetFieldDefaulted(TIFF*, unsigned int, ...);
-extern int TIFFVGetFieldDefaulted(TIFF*, unsigned int, va_list);
-extern int TIFFReadDirectory(TIFF*);
-extern unsigned long TIFFScanlineSize(TIFF*);
-extern unsigned long TIFFStripSize(TIFF*);
-extern unsigned long TIFFVStripSize(TIFF*, unsigned long);
-extern unsigned long TIFFTileRowSize(TIFF*);
-extern unsigned long TIFFTileSize(TIFF*);
-extern unsigned long TIFFVTileSize(TIFF*, unsigned long);
-extern int TIFFFileno(TIFF*);
-extern int TIFFGetMode(TIFF*);
-extern int TIFFIsTiled(TIFF*);
-extern long TIFFCurrentRow(TIFF*);
-extern int TIFFCurrentDirectory(TIFF*);
-extern int TIFFCurrentStrip(TIFF*);
-extern int TIFFCurrentTile(TIFF*);
-extern int TIFFReadBufferSetup(TIFF*, char*, unsigned long);
-extern int TIFFLastDirectory(TIFF*);
-extern int TIFFSetDirectory(TIFF*, int);
-extern int TIFFSetField(TIFF*, unsigned int, ...);
-extern int TIFFVSetField(TIFF*, unsigned int, va_list);
-extern int TIFFWriteDirectory(TIFF *);
-extern void TIFFPrintDirectory(TIFF*, struct _iobuf *, long = 0);
-extern int TIFFReadScanline(TIFF*, unsigned char*, unsigned, unsigned = 0);
-extern int TIFFWriteScanline(TIFF*, unsigned char*, unsigned, unsigned = 0);
-extern int TIFFReadRGBAImage(TIFF*,
- unsigned long, unsigned long, unsigned long*, int stop = 0);
-extern TIFF* TIFFOpen(const char*, const char*);
-extern TIFF* TIFFFdOpen(int, const char*, const char*);
-extern TIFF* TIFFClientOpen(const char* name, const char* mode,
- void* clientdata,
- TIFFReadWriteProc readproc, TIFFReadWriteProc writeproc,
- TIFFSeekProc seekproc, TIFFCloseProc closeproc,
- TIFFSizeProc sizeproc,
- TIFFMapFileProc mapproc, TIFFUnmapFileProc unmapproc);
-extern const char* TIFFFileName(TIFF*);
-extern void TIFFError(const char*, const char*, ...);
-extern void TIFFWarning(const char*, const char*, ...);
-extern TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler handler);
-extern TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler handler);
-extern unsigned int TIFFComputeTile(TIFF*,
- unsigned long, unsigned long, unsigned long, unsigned int);
-extern int TIFFCheckTile(TIFF*,
- unsigned long, unsigned long, unsigned long, unsigned);
-extern unsigned int TIFFNumberOfTiles(TIFF*);
-extern int TIFFReadTile(TIFF*,
- unsigned char*,
- unsigned long, unsigned long, unsigned long,
- unsigned int);
-extern int TIFFWriteTile(TIFF*,
- unsigned char*,
- unsigned long, unsigned long, unsigned long,
- unsigned int);
-extern unsigned int TIFFComputeStrip(TIFF*, unsigned long, unsigned int);
-extern unsigned int TIFFNumberOfStrips(TIFF*);
-extern int TIFFReadEncodedStrip(TIFF*, unsigned, unsigned char*, unsigned long);
-extern int TIFFReadRawStrip(TIFF*, unsigned, unsigned char*, unsigned long);
-extern int TIFFReadEncodedTile(TIFF*, unsigned, unsigned char*, unsigned long);
-extern int TIFFReadRawTile(TIFF*, unsigned, unsigned char*, unsigned long);
-extern int TIFFWriteEncodedStrip(TIFF*, unsigned, unsigned char*, unsigned long);
-extern int TIFFWriteRawStrip(TIFF*, unsigned, unsigned char*, unsigned long);
-extern int TIFFWriteEncodedTile(TIFF*, unsigned, unsigned char*, unsigned long);
-extern int TIFFWriteRawTile(TIFF*, unsigned, unsigned char*, unsigned long);
-extern void TIFFSetWriteOffset(TIFF*, unsigned long);
-extern void TIFFSwabShort(unsigned short *);
-extern void TIFFSwabLong(unsigned long *);
-extern void TIFFSwabArrayOfShort(unsigned short *, unsigned long);
-extern void TIFFSwabArrayOfLong(unsigned long *, unsigned long);
-extern void TIFFReverseBits(unsigned char *, unsigned long);
-extern const unsigned char* TIFFGetBitRevTable(int);
-}
-struct G3Base {
- short data;
- short bit;
- fxBool is2D;
- enum { G3_1D, G3_2D } tag;
- const u_char* bitmap;
- static const u_char zeroruns[256];
- static const u_char oneruns[256];
- static int findspan(const u_char**, int, int, const u_char*);
- static int finddiff(const u_char*, int, int);
- static void fillspan(u_char* cp, int x, int count);
- void setup(const u_char*, fxBool is2d);
-};
-class fxStackBuffer;
-class G3Decoder : private G3Base {
-private:
- short bytePending;
- short prevByte;
- u_char* refline;
- fxStackBuffer* recvBuf;
- fxBool decode1DRow(u_char*, u_int);
- fxBool decode2DRow(u_char*, u_int);
- int nextBit();
- void ungetBit();
- int nextByte();
- int decodeWhiteRun();
- int decodeBlackRun();
- int decodeUncompCode();
- void skipToEOL(int len);
-protected:
- G3Decoder();
- void raiseEOF();
- void raiseRTC();
- void setPendingByte(u_char);
- virtual int decodeNextByte() = 0;
- void setRefLine(u_char*);
- u_char* getRefLine();
- virtual void invalidCode(const char* type, int x);
- virtual void prematureEOL(const char* type, int x);
- virtual void badPixelCount(const char* type, int x);
- virtual void badDecodingState(const char* type, int x);
-public:
- sigjmp_buf jmpEOF;
- sigjmp_buf jmpRTC;
- virtual ~G3Decoder();
- void setupDecoder(u_int, fxBool is2D);
- void decode(void* raster, u_int w, u_int h);
- void skip(u_int h);
- void skipLeader();
- fxBool decodeRow(void* scanline, u_int w);
- void skipRow();
- fxBool isLastRow1D();
- fxBool isNextRow1D();
- fxBool isByteAligned();
- void setRecvBuf(fxStackBuffer&);
- fxStackBuffer* getRecvBuf();
- void flushRecvBuf();
-};
-inline void G3Decoder::setRecvBuf(fxStackBuffer& b){ recvBuf = &b; }
-inline fxStackBuffer* G3Decoder::getRecvBuf() { return recvBuf; }
-inline void G3Decoder::setRefLine(u_char* b) { refline = b; }
-inline u_char* G3Decoder::getRefLine() { return refline; }
-inline fxBool G3Decoder::isLastRow1D() { return tag == G3_1D; }
-enum FaxSendStatus {
- send_retry,
- send_failed,
- send_done,
- send_reformat,
-};
-class FaxServer;
-class FaxMachineInfo;
-class ModemConfig;
-class fxStackBuffer;
-class FaxFont;
-class FaxRequest;
-typedef unsigned int CallStatus;
-typedef unsigned int CallType;
-typedef unsigned int AnswerType;
-typedef unsigned int SpeakerVolume;
-typedef unsigned int ATResponse;
-typedef unsigned int BaudRate;
-typedef unsigned int FlowControl;
-typedef unsigned int SetAction;
-typedef struct {
- const char* msg;
- u_short len;
- ATResponse expect;
- CallStatus status;
- CallType type;
-} AnswerMsg;
-class FaxModem : public G3Decoder {
-public:
- static FaxModem* deduceModem(FaxServer&, const ModemConfig& config);
- enum {
- OK = 0,
- BUSY = 1,
- NOCARRIER = 2,
- NOANSWER = 3,
- NODIALTONE = 4,
- ERROR = 5,
- FAILURE = 6,
- NOFCON = 7,
- DATACONN = 8,
- };
- enum {
- CALLTYPE_ERROR = 0,
- CALLTYPE_DATA = 1,
- CALLTYPE_FAX = 2,
- CALLTYPE_VOICE = 3,
- CALLTYPE_UNKNOWN = 4,
- };
- enum {
- OFF = 0,
- QUIET = 1,
- LOW = 2,
- MEDIUM = 3,
- HIGH = 4,
- };
- enum {
- BR0 = 0,
- BR300 = 1,
- BR1200 = 2,
- BR2400 = 3,
- BR4800 = 4,
- BR9600 = 5,
- BR19200 = 6,
- BR38400 = 7,
- BR57600 = 8,
- BR76800 = 9,
- };
- enum {
- FLOW_NONE = 0,
- FLOW_XONXOFF = 1,
- FLOW_RTSCTS = 2
- };
- enum {
- ACT_NOW = 0,
- ACT_DRAIN = 1,
- ACT_FLUSH = 2,
- };
- enum {
- ANSTYPE_ANY = 0,
- ANSTYPE_DATA = 1,
- ANSTYPE_FAX = 2,
- ANSTYPE_VOICE = 3,
- };
- enum {
- AT_NOTHING = 0,
- AT_OK = 1,
- AT_CONNECT = 2,
- AT_NOANSWER = 3,
- AT_NOCARRIER = 4,
- AT_NODIALTONE = 5,
- AT_BUSY = 6,
- AT_OFFHOOK = 7,
- AT_RING = 8,
- AT_ERROR = 9,
- AT_EMPTYLINE = 10,
- AT_TIMEOUT = 11,
- AT_OTHER = 12,
- };
-private:
- FaxServer& server;
- fxStr resetCmds;
- long dataTimeout;
- BaudRate rate;
- FlowControl iFlow;
- FlowControl oFlow;
- u_int pageNumber;
- FaxFont* tagLineFont;
- u_int tagLineSlop;
- fxStr tagLine;
- u_int tagLineFields;
- void setupTagLine(const FaxRequest&);
- u_int cblc;
- fxBool lastRowBad;
- u_long recvEOLCount;
- u_long recvBadLineCount;
- u_long recvConsecutiveBadLineCount;
- u_int recvCC;
- fxStackBuffer* recvBuf;
- u_long savedWriteOff;
- void recvRow(TIFF* tif, fxStackBuffer& row, u_char* buf);
- void invalidCode(const char* type, int x);
- void prematureEOL(const char* type, int x);
- void badPixelCount(const char* type, int x);
- void badDecodingState(const char* type, int x);
-protected:
- const ModemConfig& conf;
- FlowControl flowControl;
- u_int modemServices;
- fxStr modemMfr;
- fxStr modemModel;
- fxStr modemRevision;
- Class2Params modemParams;
- char rbuf[1024];
- ATResponse lastResponse;
- fxStr mfrQueryCmd;
- fxStr modelQueryCmd;
- fxStr revQueryCmd;
- static const char* serviceNames[9];
- static const u_char digitMap[12*2+1];
- static const char* callStatus[9];
- FaxModem(FaxServer&, const ModemConfig&);
- virtual fxBool selectBaudRate(BaudRate max, FlowControl i, FlowControl o);
- virtual fxBool setupModem() = 0;
- virtual fxBool setupManufacturer(fxStr& mfr);
- virtual fxBool setupModel(fxStr& model);
- virtual fxBool setupRevision(fxStr& rev);
- fxBool doQuery(const fxStr& queryCmd, fxStr& result, long ms = 30*1000);
- virtual const AnswerMsg* findAnswer(const char* s);
- virtual CallType answerResponse(fxStr& emsg);
- virtual CallStatus dialResponse(fxStr& emsg) = 0;
- void setDataTimeout(long secs, u_int br);
- long getDataTimeout() const;
- void pause(u_int ms);
- void countPage();
- void modemTrace(const char* fmt, ...);
- void modemSupports(const char* fmt, ...);
- void modemCapability(const char* fmt, ...);
- void protoTrace(const char* fmt, ...);
- void recvTrace(const char* fmt, ...);
- void copyQualityTrace(const char* fmt, ...);
- void serverTrace(const char* fmt, ...);
- void traceBits(u_int bits, const char* bitNames[]);
- void traceModemParams();
- void tracePPR(const char* dir, u_int ppr);
- void tracePPM(const char* dir, u_int ppm);
- void trimModemLine(char buf[], int& cc);
- int getModemLine(char buf[], u_int bufSize, long ms = 0);
- void beginTimedTransfer();
- void endTimedTransfer();
- fxBool wasTimeout();
- void setTimeout(fxBool);
- void flushModemInput();
- fxBool putModem(void* data, int n, long ms = 0);
- fxBool putModemData(void* data, int n);
- fxBool putModemDLEData(const u_char* data, u_int,
- const u_char* brev, long ms);
- fxBool putModemLine(const char* cp);
- int getModemChar(long ms = 0);
- int getModemDataChar();
- void startTimeout(long ms);
- void stopTimeout(const char* whichdir);
- static const char* ATresponses[13];
- virtual ATResponse atResponse(char* buf, long ms = 30*1000);
- virtual fxBool waitFor(ATResponse wanted, long ms = 30*1000);
- fxBool atCmd(const fxStr& cmd, ATResponse = AT_OK, long ms = 30*1000);
- fxBool atQuery(const char* what, u_int& v, long ms = 30*1000);
- fxBool atQuery(const char* what, fxStr& v, long ms = 30*1000);
- u_int fromHex(const char*, int = -1);
- fxStr toHex(int, int ndigits);
- fxBool parseRange(const char*, u_int&);
- fxBool vparseRange(const char*, int nargs ...);
- fxBool vatFaxCmd(ATResponse resp, const char* cmd ... );
- fxBool sendBreak(fxBool pause);
- fxBool setBaudRate(BaudRate rate);
- fxBool setBaudRate(BaudRate rate, FlowControl i, FlowControl o);
- fxBool setXONXOFF(FlowControl i, FlowControl o, SetAction);
- fxBool setDTR(fxBool on);
- fxBool setInputBuffering(fxBool on);
- fxBool modemStopOutput();
- FlowControl getInputFlow();
- FlowControl getOutputFlow();
- fxBool getProtocolTracing();
- fxBool getHDLCTracing();
- FaxSendStatus sendSetupParams(TIFF*, Class2Params&,
- FaxMachineInfo&, fxStr&);
- fxBool recvCheckTSI(const fxStr&);
- void recvCSI(fxStr&);
- void recvDCS(Class2Params&);
- void recvNSF(u_int nsf);
- void recvSetupPage(TIFF* tif, long group3opts, int fillOrder);
- void recvResetPage(TIFF* tif);
- fxBool abortRequested();
- fxBool decodePPM(const fxStr& pph, u_int& ppm, fxStr& emsg);
- fxBool recvPageDLEData(TIFF* tif, fxBool checkQuality,
- const Class2Params& params, fxStr& emsg);
- virtual void abortPageRecv() = 0;
- virtual int decodeNextByte();
- fxBool checkQuality();
- fxBool isQualityOK(const Class2Params&);
- u_long getRecvEOLCount() const;
- u_long getRecvBadLineCount() const;
- u_long getRecvConsecutiveBadLineCount() const;
- fxBool setupTagLineSlop(const Class2Params&);
- u_int getTagLineSlop() const;
- u_char* imageTagLine(u_char* buf, u_int fillorder, const Class2Params&);
-public:
- virtual ~FaxModem();
- virtual fxBool dataService();
- virtual fxBool voiceService();
- virtual fxBool sync(long ms = 0);
- virtual fxBool reset(long ms = 5*1000);
- virtual void hangup();
- virtual void setSpeakerVolume(SpeakerVolume);
- virtual void setLID(const fxStr& number) = 0;
- const fxStr& getModel() const;
- const fxStr& getManufacturer() const;
- const fxStr& getRevision() const;
- virtual fxBool supports2D() const;
- virtual fxBool supportsEOLPadding() const;
- virtual fxBool supportsVRes(float res) const;
- virtual fxBool supportsPageWidth(u_int w) const;
- virtual fxBool supportsPageLength(u_int l) const;
- virtual fxBool supportsPolling() const;
- virtual int selectSignallingRate(int br) const;
- u_int getBestSignallingRate() const;
- u_int getBestScanlineTime() const;
- virtual int selectScanlineTime(int st) const;
- u_int getBestVRes() const;
- u_int getBestDataFormat() const;
- u_int getBestPageWidth() const;
- u_int getBestPageLength() const;
- u_int modemDIS() const;
- virtual CallStatus dial(const char* number,
- const Class2Params& dis, fxStr& emsg);
- virtual void sendBegin(const FaxRequest&);
- virtual fxBool getPrologue(Class2Params&,
- u_int& nsf, fxStr& csi, fxBool& hasDoc) = 0;
- virtual void sendSetupPhaseB();
- virtual FaxSendStatus sendPhaseB(TIFF*, Class2Params&, FaxMachineInfo&,
- fxStr& pph, fxStr& emsg) = 0;
- virtual void sendEnd();
- virtual void sendAbort() = 0;
- virtual fxBool waitForRings(u_int rings);
- virtual CallType answerCall(AnswerType, fxStr& emsg);
- virtual fxBool recvBegin(fxStr& emsg) = 0;
- virtual fxBool recvPage(TIFF*, int& ppm, fxStr& em) = 0;
- virtual fxBool recvEnd(fxStr& emsg) = 0;
- virtual void recvAbort() = 0;
- virtual fxBool requestToPoll() = 0;
- virtual fxBool pollBegin(const fxStr& pollID, fxStr& emsg) = 0;
-};
-inline long FaxModem::getDataTimeout() const { return dataTimeout; }
-inline const fxStr& FaxModem::getModel() const { return modemModel; }
-inline const fxStr& FaxModem::getManufacturer() const { return modemMfr; }
-inline const fxStr& FaxModem::getRevision() const { return modemRevision; }
-inline FlowControl FaxModem::getInputFlow() { return iFlow; }
-inline FlowControl FaxModem::getOutputFlow() { return oFlow; }
-inline u_int FaxModem::getTagLineSlop() const { return tagLineSlop; }
-struct ModemConfig {
- fxStr type;
- fxStr resetCmds;
- fxStr dialCmd;
- fxStr answerAnyCmd;
- fxStr answerDataCmd;
- fxStr answerFaxCmd;
- fxStr answerVoiceCmd;
- fxStr flowControlCmd;
- fxStr setupDTRCmd;
- fxStr setupDCDCmd;
- fxStr setupAACmd;
- fxStr noAutoAnswerCmd;
- fxStr setVolumeCmd[5];
- fxStr echoOffCmd;
- fxStr verboseResultsCmd;
- fxStr resultCodesCmd;
- fxStr onHookCmd;
- fxStr softResetCmd;
- fxStr waitTimeCmd;
- fxStr pauseTimeCmd;
- fxStr mfrQueryCmd;
- fxStr modelQueryCmd;
- fxStr revQueryCmd;
- fxStr answerAnyBeginCmd;
- fxStr answerDataBeginCmd;
- fxStr answerFaxBeginCmd;
- fxStr answerVoiceBeginCmd;
- fxStr sendBeginCmd;
- u_int t1Timer;
- u_int t2Timer;
- u_int t4Timer;
- u_int dialResponseTimeout;
- u_int answerResponseTimeout;
- u_int pageStartTimeout;
- u_int pageDoneTimeout;
- fxStr class1Cmd;
- u_int class1TCFResponseDelay;
- u_int class1SendPPMDelay;
- u_int class1SendTCFDelay;
- u_int class1TrainingRecovery;
- u_int class1RecvAbortOK;
- u_int class1FrameOverhead;
- u_int class1RecvIdentTimer;
- u_int class1TCFMaxNonZero;
- u_int class1TCFMinRun;
- fxStr class2Cmd;
- fxStr class2DCCQueryCmd;
- fxStr class2CQQueryCmd;
- fxStr class2BORCmd;
- fxStr class2RELCmd;
- fxStr class2CQCmd;
- fxStr class2AbortCmd;
- fxStr class2TBCCmd;
- fxStr class2CRCmd;
- fxStr class2PHCTOCmd;
- fxStr class2BUGCmd;
- fxStr class2LIDCmd;
- fxStr class2DCCCmd;
- fxStr class2DISCmd;
- fxStr class2DDISCmd;
- fxStr class2CIGCmd;
- fxStr class2SPLCmd;
- fxStr class2PTSCmd;
- fxStr class2RecvDataTrigger;
- fxBool class2XmitWaitForXON;
- fxStr class2PIECmd;
- fxStr class2NRCmd;
- FlowControl flowControl;
- BaudRate maxRate;
- u_int recvFillOrder;
- u_int sendFillOrder;
- u_int frameFillOrder;
- u_int resetDelay;
- u_int baudRateDelay;
- u_int maxPacketSize;
- u_int interPacketDelay;
- u_int percentGoodLines;
- u_int maxConsecutiveBadLines;
- fxBool waitForConnect;
- fxStr tagLineFmt;
- fxStr tagLineFontFile;
- ModemConfig();
- ~ModemConfig();
- fxBool parseItem(const char* tag, const char* value);
- void setVolumeCmds(const fxStr& value);
- fxStr parseATCmd(const char*);
-};
-ModemConfig::ModemConfig()
- : type("unknown")
- , dialCmd("DT%s")
- , noAutoAnswerCmd("S0=0")
- , echoOffCmd("E0")
- , verboseResultsCmd("V1")
- , resultCodesCmd("Q0")
- , onHookCmd("H0")
- , softResetCmd("Z")
- , waitTimeCmd("S7=30")
- , pauseTimeCmd("S8=2")
- , class1Cmd("+FCLASS=1")
- , class2CQQueryCmd("+FCQ=?")
- , tagLineFmt("From %%n|%c|Page %%p of %%t")
-{
- class2XmitWaitForXON = ((fxBool)1) ;
- setVolumeCmds("M0 L0M1 L1M1 L2M1 L3M1");
- answerAnyCmd = "A";
- flowControl = FaxModem::FLOW_NONE;
- maxRate = FaxModem::BR19200;
- sendFillOrder = 2 ;
- recvFillOrder = 2 ;
- frameFillOrder = 2 ;
- resetDelay = 2600;
- baudRateDelay = 0;
- t1Timer = ((35+5)*1000) ;
- t2Timer = ((6+1)*1000) ;
- t4Timer = 3100 ;
- dialResponseTimeout = 3*60*1000;
- answerResponseTimeout = 3*60*1000;
- pageStartTimeout = 3*60*1000;
- pageDoneTimeout = 3*60*1000;
- class1TCFResponseDelay = 75;
- class1SendPPMDelay = 75;
- class1SendTCFDelay = 75;
- class1TrainingRecovery = 1500;
- class1RecvAbortOK = 200;
- class1FrameOverhead = 4;
- class1RecvIdentTimer = t1Timer;
- class1TCFMinRun = (2*1500 )/3;
- class1TCFMaxNonZero = 10;
- maxPacketSize = 16*1024;
- interPacketDelay = 0;
- waitForConnect = ((fxBool)0) ;
- percentGoodLines = 95;
- maxConsecutiveBadLines = 5;
-}
-ModemConfig::~ModemConfig()
-{
-}
-static fxBool getBoolean(const char* cp)
- { return ((strcasecmp( cp , "on" )==0) || (strcasecmp( cp , "yes" )==0) ); }
-static BaudRate
-findRate(const char* cp)
-{
- static const struct {
- const char* name;
- BaudRate br;
- } rates[] = {
- { "300", FaxModem::BR300 },
- { "1200", FaxModem::BR1200 },
- { "2400", FaxModem::BR2400 },
- { "4800", FaxModem::BR4800 },
- { "9600", FaxModem::BR9600 },
- { "19200", FaxModem::BR19200 },
- { "38400", FaxModem::BR38400 },
- { "57600", FaxModem::BR57600 },
- { "76800", FaxModem::BR76800 },
- };
- for (int i = (sizeof ( rates ) / sizeof ( rates [0])) -1; i >= 0; i--)
- if ((strcasecmp( cp , rates[i].name )==0) )
- return (rates[i].br);
- return (FaxModem::BR0);
-}
-static BaudRate
-getRate(const char* cp)
-{
- BaudRate br = findRate(cp);
- if (br == FaxModem::BR0) {
- syslog(3 , "Unknown baud rate \"%s\", using 19200", cp);
- br = FaxModem::BR19200;
- }
- return (br);
-}
-static u_int
-getFill(const char* cp)
-{
- if ((strcasecmp( cp , "LSB2MSB" )==0) )
- return (2 );
- else if ((strcasecmp( cp , "MSB2LSB" )==0) )
- return (1 );
- else {
- syslog(3 , "Unknown fill order \"%s\"", cp);
- return ((u_int) -1);
- }
-}
-static FlowControl
-getFlow(const char* cp)
-{
- if ((strcasecmp( cp , "xonxoff" )==0) )
- return (FaxModem::FLOW_XONXOFF);
- else if ((strcasecmp( cp , "rtscts" )==0) )
- return (FaxModem::FLOW_RTSCTS);
- else if ((strcasecmp( cp , "none" )==0) )
- return (FaxModem::FLOW_NONE);
- else {
- syslog(3 , "Unknown flow control \"%s\", using xonxoff", cp);
- return (FaxModem::FLOW_XONXOFF);
- }
-}
-void
-ModemConfig::setVolumeCmds(const fxStr& tag)
-{
- u_int l = 0;
- for (int i = FaxModem::OFF; i <= FaxModem::HIGH; i++) {
- fxStr tmp = tag.token(l, " \t");
- setVolumeCmd[i] = parseATCmd(tmp);
- }
-}
-fxStr
-ModemConfig::parseATCmd(const char* cp)
-{
- fxStr cmd(cp);
- u_int pos = 0;
- while ((pos = cmd.next(pos, '<')) != cmd.length()) {
- u_int epos = pos+1;
- fxStr esc = cmd.token(epos, '>');
- esc.lowercase();
- char ecode;
- if (esc == "xon")
- ecode = (0x80|0xf) ;
- else if (esc == "rts")
- ecode = (0x80|0xe) ;
- else if (esc == "none")
- ecode = (0x80|0xd) ;
- else if (esc == "")
- ecode = '<';
- else {
- BaudRate br = findRate(esc);
- if (br == FaxModem::BR0) {
- syslog(3 , "Unknown AT escape code \"%s\"", (char*) esc);
- pos = epos;
- continue;
- }
- ecode = 0x80| ((int)( br )) ;
- }
- cmd.remove(pos, epos-pos);
- cmd.insert(ecode, pos);
- }
- return (cmd);
-}
-static const struct {
- const char* name;
- fxStr ModemConfig::* p;
-} atcmds[] = {
- { "ModemAnswerCmd", &ModemConfig::answerAnyCmd },
- { "ModemAnswerAnyCmd", &ModemConfig::answerAnyCmd },
- { "ModemAnswerFaxCmd", &ModemConfig::answerFaxCmd },
- { "ModemAnswerDataCmd", &ModemConfig::answerDataCmd },
- { "ModemAnswerVoiceCmd", &ModemConfig::answerVoiceCmd },
- { "ModemAnswerFaxBeginCmd", &ModemConfig::answerFaxBeginCmd },
- { "ModemAnswerDataBeginCmd", &ModemConfig::answerDataBeginCmd },
- { "ModemAnswerVoiceBeginCmd", &ModemConfig::answerVoiceBeginCmd },
- { "ModemResetCmds", &ModemConfig::resetCmds },
- { "ModemResetCmd", &ModemConfig::resetCmds },
- { "ModemDialCmd", &ModemConfig::dialCmd },
- { "ModemFlowControlCmd", &ModemConfig::flowControlCmd },
- { "ModemSetupAACmd", &ModemConfig::setupAACmd },
- { "ModemSetupDTRCmd", &ModemConfig::setupDTRCmd },
- { "ModemSetupDCDCmd", &ModemConfig::setupDCDCmd },
- { "ModemNoAutoAnswerCmd", &ModemConfig::noAutoAnswerCmd },
- { "ModemEchoOffCmd", &ModemConfig::echoOffCmd },
- { "ModemVerboseResultsCmd", &ModemConfig::verboseResultsCmd },
- { "ModemResultCodesCmd", &ModemConfig::resultCodesCmd },
- { "ModemOnHookCmd", &ModemConfig::onHookCmd },
- { "ModemSoftResetCmd", &ModemConfig::softResetCmd },
- { "ModemWaitTimeCmd", &ModemConfig::waitTimeCmd },
- { "ModemCommaPauseTimeCmd", &ModemConfig::pauseTimeCmd },
- { "ModemMfrQueryCmd", &ModemConfig::mfrQueryCmd },
- { "ModemModelQueryCmd", &ModemConfig::modelQueryCmd },
- { "ModemRevQueryCmd", &ModemConfig::revQueryCmd },
- { "ModemSendBeginCmd", &ModemConfig::sendBeginCmd },
- { "Class1Cmd", &ModemConfig::class1Cmd },
- { "Class2Cmd", &ModemConfig::class2Cmd },
- { "Class2BORCmd", &ModemConfig::class2BORCmd },
- { "Class2RELCmd", &ModemConfig::class2RELCmd },
- { "Class2CQCmd", &ModemConfig::class2CQCmd },
- { "Class2AbortCmd", &ModemConfig::class2AbortCmd },
- { "Class2CQQueryCmd", &ModemConfig::class2CQQueryCmd },
- { "Class2DCCQueryCmd", &ModemConfig::class2DCCQueryCmd },
- { "Class2TBCCmd", &ModemConfig::class2TBCCmd },
- { "Class2CRCmd", &ModemConfig::class2CRCmd },
- { "Class2PHCTOCmd", &ModemConfig::class2PHCTOCmd },
- { "Class2BUGCmd", &ModemConfig::class2BUGCmd },
- { "Class2LIDCmd", &ModemConfig::class2LIDCmd },
- { "Class2DCCCmd", &ModemConfig::class2DCCCmd },
- { "Class2DISCmd", &ModemConfig::class2DISCmd },
- { "Class2DDISCmd", &ModemConfig::class2DDISCmd },
- { "Class2CIGCmd", &ModemConfig::class2CIGCmd },
- { "Class2PTSCmd", &ModemConfig::class2PTSCmd },
- { "Class2SPLCmd", &ModemConfig::class2SPLCmd },
- { "Class2PIECmd", &ModemConfig::class2PIECmd },
- { "Class2NRCmd", &ModemConfig::class2NRCmd },
- { "TagLineFont", &ModemConfig::tagLineFontFile },
- { "TagLineFormat", &ModemConfig::tagLineFmt },
-};
-static const struct {
- const char* name;
- u_int ModemConfig::* p;
-} fillorders[] = {
- { "ModemRecvFillOrder", &ModemConfig::recvFillOrder },
- { "ModemSendFillOrder", &ModemConfig::sendFillOrder },
- { "ModemFrameFillOrder", &ModemConfig::frameFillOrder },
-};
-static const struct {
- const char* name;
- u_int ModemConfig::* p;
-} numbers[] = {
- { "ModemResetDelay", &ModemConfig::resetDelay },
- { "ModemBaudRateDelay", &ModemConfig::baudRateDelay },
- { "ModemMaxPacketSize", &ModemConfig::maxPacketSize },
- { "ModemInterPacketDelay", &ModemConfig::interPacketDelay },
- { "FaxT1Timer", &ModemConfig::t1Timer },
- { "FaxT2Timer", &ModemConfig::t2Timer },
- { "FaxT4Timer", &ModemConfig::t4Timer },
- { "ModemDialResponseTimeout", &ModemConfig::dialResponseTimeout },
- { "ModemAnswerResponseTimeout", &ModemConfig::answerResponseTimeout },
- { "ModemPageStartTimeout", &ModemConfig::pageStartTimeout },
- { "ModemPageDoneTimeout", &ModemConfig::pageDoneTimeout },
- { "Class1TCFResponseDelay", &ModemConfig::class1TCFResponseDelay },
- { "Class1SendPPMDelay", &ModemConfig::class1SendPPMDelay },
- { "Class1SendTCFDelay", &ModemConfig::class1SendTCFDelay },
- { "Class1TrainingRecovery", &ModemConfig::class1TrainingRecovery },
- { "Class1RecvAbortOK", &ModemConfig::class1RecvAbortOK },
- { "Class1FrameOverhead", &ModemConfig::class1FrameOverhead },
- { "Class1RecvIdentTimer", &ModemConfig::class1RecvIdentTimer },
- { "Class1TCFMaxNonZero", &ModemConfig::class1TCFMaxNonZero },
- { "Class1TCFMinRun", &ModemConfig::class1TCFMinRun },
- { "PercentGoodLines", &ModemConfig::percentGoodLines },
- { "MaxConsecutiveBadLines", &ModemConfig::maxConsecutiveBadLines },
-};
-fxBool
-ModemConfig::parseItem(const char* tag, const char* value)
-{
- int i;
- for (i = (sizeof ( atcmds ) / sizeof ( atcmds [0])) -1; i >= 0; i--)
- if ((strcasecmp( tag , atcmds[i].name )==0) ) {
- (*this).*atcmds[i].p = parseATCmd(value);
- return (((fxBool)1) );
- }
- for (i = (sizeof ( fillorders ) / sizeof ( fillorders [0])) -1; i >= 0 ; i--)
- if ((strcasecmp( tag , fillorders[i].name )==0) ) {
- (*this).*fillorders[i].p = getFill(value);
- return (((fxBool)1) );
- }
- for (i = (sizeof ( numbers ) / sizeof ( numbers [0])) -1; i >= 0 ; i--)
- if ((strcasecmp( tag , numbers[i].name )==0) ) {
- (*this).*numbers[i].p = atoi(value);
- return (((fxBool)1) );
- }
- fxBool recognized = ((fxBool)1) ;
- if ((strcasecmp( tag , "ModemType" )==0) )
- type = value;
- else if ((strcasecmp( tag , "ModemSetVolumeCmd" )==0) )
- setVolumeCmds(value);
- else if ((strcasecmp( tag , "ModemFlowControl" )==0) )
- flowControl = getFlow(value);
- else if ((strcasecmp( tag , "ModemMaxRate" )==0) || (strcasecmp( tag , "ModemRate" )==0) )
- maxRate = getRate(value);
- else if ((strcasecmp( tag , "ModemWaitForConnect" )==0) )
- waitForConnect = getBoolean(value);
- else if ((strcasecmp( tag , "Class2RecvDataTrigger" )==0) )
- class2RecvDataTrigger = value;
- else if ((strcasecmp( tag , "Class2XmitWaitForXON" )==0) )
- class2XmitWaitForXON = getBoolean(value);
- else
- recognized = ((fxBool)0) ;
- return (recognized);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash6.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
deleted file mode 100644
index a6527a5cbd4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-// Should be fixed by:
-// Sun Jun 13 12:55:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-//
-// * cp-decl.c (start_function): Avoid a null-reference on CTYPE.
-
-template<int>
-class Program {
-} ;
-
-class Program<0> {
-public:
- inline friend float EvalNextArg()
- { return 1.0 ; }
-} ;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash60.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash60.C
deleted file mode 100644
index b2af4310d1b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash60.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class X
-{
-public:
- X ();
- int f[4];
-};
-
-// Note that we mistakenly initialize the array data member as if it
-// was scalar
-X::X () : f (0) {}// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash61.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash61.C
deleted file mode 100644
index 4d3bbc4c693..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash61.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
- template <class TP> class sapp { };
- class foo {};
- extern foo& __iomanip_setw (foo&, TP);// ERROR - type spec.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash62.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash62.C
deleted file mode 100644
index 77b9fc84763..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash62.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-#include <iostream.h>
-
- void
- fubar(ostream* out, const char* string)
- {
- (*out) << string << endl;
- return;
- }
-
- int
- main()
- {
- // Declare a ref and a pointer to the same ostream.
- //
- ostream* out = &cerr;
- ostream& die = cerr;
-
- // Valid call to fubar.
- //
- fubar(out, "First line.");
-
- // Invalid call to fubar. (1st arg is an ostream&. fubar expects
- // ostream*.)This should be a syntax error, but g++ does not catch it.
- // Call to this function results in a bus error in fubar when the 1st
- // arg is dereferenced.
- //
- fubar(die, "Second line.");// ERROR - cannot convert .die.*
-
- return 1;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash63.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash63.C
deleted file mode 100644
index 84f8fc57624..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash63.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class String
- {
- public:
- String (const char *str);
- };
-
-class UnitList
- {
- public:
- UnitList (...);
- };
-
-UnitList unit_list (String("keV"));
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
deleted file mode 100644
index 310241850f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-typedef long unsigned int size_t;
-typedef void (*RF_Ptr)(void *);
-
-struct _im_pers_mem_spec {
- inline _im_pers_mem_spec(void );
- inline _im_pers_mem_spec(auto int of, auto int n);
-};
-
-struct _type_desc {
- _type_desc(char *, int , RF_Ptr , int , int ,...);
-};
-
-struct metatype { int base_list; };
-
-static _type_desc _type_metatype("metatype", sizeof(metatype),
- (RF_Ptr)0, 0, 1, 1,
- _im_pers_mem_spec( ((size_t)&((( metatype *)0)-> base_list )) , 1));
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash65.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash65.C
deleted file mode 100644
index 132651e90a0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash65.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class X {
-public:
- virtual const char* XY(const void* val) const = 0;
-};
-
-
-class Y : public X {
-public:
- using X::xy;// ERROR - no memb.*
-
- using X::z;// ERROR - no memb.*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash66.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash66.C
deleted file mode 100644
index 878957b84e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash66.C
+++ /dev/null
@@ -1,137 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O
-// GROUPS passed old-abort
-typedef unsigned char uchar;
-typedef unsigned short ushort;
-typedef unsigned long ulong;
-extern int swap_endian;
-inline ushort
-swapshort(ushort value)
-{
- value &= 0xffff;
- return ((value << 8) | (value >> 8));
-}
-struct eshort
-{
- ushort data;
- operator ushort() { return swap_endian ? swapshort(data) : data;}
- eshort(ushort t) { data = swap_endian ? swapshort(t) : t;}
- eshort() {}
-};
-inline ulong
-swaplong(ulong value)
-{
- ulong v = (value << 16) | (value >> 16);
- return ((v >> 8) & 0x00ff00ff) | ((v << 8) & 0xff00ff00);
-};
-struct elong
-{
- ulong data;
- operator ulong() { return swap_endian ? swaplong(data) : data;}
- elong(ulong t) { data = swap_endian ? swaplong(t) : t; }
- elong() {}
-};
-struct digiheader
-{
- uchar type[2];
- eshort soft_version;
- eshort lo_boot_rev;
- eshort hi_boot_rev;
- eshort load_segment;
- eshort length;
- eshort exec_start;
- eshort image_offset;
- elong startup_code[2];
- elong checksum;
-};
-extern void uncompress(uchar* buf, ulong len);
-extern ulong compress(char* filename, uchar* buffer, ulong);
-struct filehdr
-{
- eshort f_magic;
- eshort f_nscns;
- elong f_timdat;
- elong f_symptr;
- elong f_nsyms;
- eshort f_opthdr;
- eshort f_flags;
-};
-struct aouthdr
-{
- eshort magic;
- eshort vstamp;
- elong tsize;
- elong dsize;
- elong bsize;
- elong entry;
- elong text_start;
- elong data_start;
- elong bss_start;
- elong gprmask;
- elong cprmask[4];
- elong gp_value;
-};
-struct scnhdr
-{
- char s_name[8];
- elong s_paddr;
- elong s_vaddr;
- elong s_size;
- elong s_scnptr;
- elong s_relptr;
- elong s_lnnoptr;
- eshort s_nreloc;
- eshort s_nlnno;
- elong s_flags;
-};
-int file_little_endian;
-int host_little_endian;
-int swap_endian;
-int docheck;
-int expand;
-ulong memsize;
-ulong compression_quality;
-char *compressfile;
-int debug_level;
-extern "C" int getopt (int, char**, char*);
-int
-main(int argc, char** argv)
-{
- uchar checksum;
- uchar docrc;
- ulong len;
- ulong maxlen;
- int i;
- int c;
- int magic;
- int tsize;
- int dsize;
- int quality;
- char dummy;
- uchar* code;
- uchar* buf;
- char* ap;
- digiheader *dh;
- compression_quality = 10000;
- docheck = 0;
- while ((c = getopt(argc, argv, "Ccdf:k:q:x:")) != -1)
- {
- switch (c)
- {
- default:
- goto usage;
- }
- }
- if ((expand && (docheck || compressfile || quality)) ||
- (quality && !compressfile))
- {
- usage:
- return(2);
- }
- if (compressfile)
- {
- dh->image_offset = len;
-
- len += compress(compressfile, code + len, maxlen - len);
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash67.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash67.C
deleted file mode 100644
index f63ba5ddf3f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash67.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-#pragma comment(exestr, "@(#) errno.h 10.2 92/03/26 ")
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash68.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash68.C
deleted file mode 100644
index b209bd891c0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash68.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w -O
-// GROUPS passed old-abort
-class RWDlist
-{
-public:
- RWDlist& operator=(const RWDlist&);
-};
-class DataItemRWGDlist : public RWDlist {};
-
-class Base {};
-class DataItemList : public Base
-{
- private:
- DataItemRWGDlist m_diList;
-};
-
-class StatementGroup
-{
- public:
- DataItemList dataItemList;
- StatementGroup(const StatementGroup&);
-};
-
-StatementGroup::StatementGroup(const StatementGroup& sg)
-{
- dataItemList = sg.dataItemList;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash7.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash7.C
deleted file mode 100644
index 19476fc47ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash7.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-
-template<class T>
-class Vector
-{
- int sz;
- T *v;
-public:
- Vector (int s) : sz (s) { v = new T[sz]; }
- ~Vector () { delete[] v; }
- T &operator[] (int i) { return v[i]; }
- int size () { return sz; }
-};
-
-template<class T>// ERROR - previous definition of T
-struct Comparator
-{
- typedef T T;// ERROR - use of template type T in typedef to T
- static int lessthan (T &a, T &b) { return a < b; }
-};
-
-template<class Comp>
-struct Sort
-{
- static void sort (Vector<Comp::T> &);// ERROR - use of bad T
-};
-
-template<class Comp>
-void Sort<Comp>::sort (Vector<Comp::T> &v)// ERROR - use of bad T
-{
- int n = v.size ();
-
- for (int i = 0; i < n - 1; i++)
- for (int j = n - 1; i < j; j--)
- if (Comp::lessthan (v[j], v[j - 1]))
- {
- typename Comp::T temp = v[j];
- v[j] = v[j - 1];
- v[j - 1] = temp;
- }
-}
-
-void
-f (Vector<int> &vi)
-{
- Sort<Comparator<int> >::sort (vi);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash8.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash8.C
deleted file mode 100644
index 8990c465677..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash8.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-template<int a, int b>
-class Elvis
-{// ERROR - in template.*
-} ;
-
-template<int a>
-class Elvis<0>
-{ // ERROR - incorrect number of parameters
- int geta() { return a ; }
-} ;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash9.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash9.C
deleted file mode 100644
index a4155ef6bb5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash9.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-class A {};
-
-class SimQuery
-{
-public:
- SimQuery();
- ~SimQuery();
- int SetMeshFile(char name[]);
-protected:
- A& scaling;
- A* mesh;
-};
-
-SimQuery::SimQuery():scaling(A) {}// ERROR - .*
-
-SimQuery::~SimQuery() {}// ERROR -
-
-int SimQuery::SetMeshFile(char name[])
-{// ERROR -
- mesh = new C;// ERROR - .*
- return 0; // needed to avoid warning of reaching end of non-void fn
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C b/gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C
deleted file mode 100644
index eaf487159d8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// GROUPS passed constructors
-// Check that global level object constructors get called.
-
-extern "C" void printf (char *, ...);
-
-struct base {
- int f1;
- int f2;
- base (int arg1, int arg2);
-};
-
-
-base global_base(0x55, 0xff);
-
-int main ()
-{
- if ((global_base.f1 != 0x55) || (global_base.f2 != 0xff))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
-
-base::base(int arg1, int arg2)
-{
- f1 = arg1;
- f2 = arg2;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C b/gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C
deleted file mode 100644
index 2f83ce1cdb8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// GROUPS passed constructors
-// Check that sub-words sized class members are correctly set
-// by constructors.
-
-extern "C" void printf (char *, ...);
-
-struct base {
- int f1 : 8;
- int f2 : 8;
- base (int arg1, int arg2);
-};
-
-
-base global_base(0x55, 0x7e);
-
-int main ()
-{
- if ((global_base.f1 != 0x55) || (global_base.f2 != 0x7e))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
-
-base::base(int arg1, int arg2)
-{
- f1 = arg1;
- f2 = arg2;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ctors3.C b/gcc/testsuite/g++.old-deja/g++.brendan/ctors3.C
deleted file mode 100644
index 755d547b022..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ctors3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-class A;
-
-class B {
-public:
- B();
-static A sa;
-};
-
-class A {
-public:
- A(int i);
-};
-
-A B::sa(1);
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
deleted file mode 100644
index 57f3b426108..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-#include <iostream.h>
-
-class Thing
-{
-public:
- typedef enum { GOOD_THING, BAD_THING, } ThingType ; // ERROR - comma
- Thing (ThingType type) : thingType (type) { }
- ~Thing () { }
-private:
- ThingType thingType ;
-} ;
-
-class Group
-{
-public:
- typedef enum { THIS_GROUP, THAT_GROUP, } GroupType ; // ERROR - comma
- Group (GroupType type) : groupType (type), groupCount (0) { }
- ~Group () { }
- void append (Thing* const &entry) { groupCount ++ ; }
- operator GroupType () const { return groupType ; }
- operator int () const { return groupCount ; } // remove this and problem gone
-
-private:
- int groupCount ;
- GroupType groupType ;
-} ;
-
-inline Group& operator += (Group& g, Thing* const t)
-{
- g.append (t) ;
- return g ; // complaint is here
-}
-
-int
-main (int argc, char** argv)
-{
- Group g (Group::THIS_GROUP) ;
-
- g += new Thing (Thing::GOOD_THING) ;
- cout << "Group type is " << (Group::GroupType) g << endl ;
- return 0 ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt2.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt2.C
deleted file mode 100644
index 76ae1561f3a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-void f(const short & s) { }
-
- int
-main() {
- f(0);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C
deleted file mode 100644
index 6ab8465c6df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-class GttObject {};
-class GctObject: virtual public GttObject {};
-class NDAMObject: virtual public GttObject, virtual public GctObject {};
-class GctHashObject: virtual public GctObject {};
-
-class GctRef: virtual public GctHashObject
-{ public: operator void*() const; };
-
-class NDAMAssemblerObject: virtual public NDAMObject {};
-class GctReferenceObject: virtual public GctHashObject {};
-class NDAMValue: virtual public NDAMAssemblerObject, public GctReferenceObject {};
-
-class nnyacc;
-class NDAMValueRef : virtual public NDAMObject, public GctRef
-{
- NDAMValue *operator->() const;
- operator NDAMValue *() const;
-friend class nnyacc;
-};
-
-typedef void* Pix;
-class NDAMValueRefSLList
-{
-public:
- NDAMValueRefSLList();
- NDAMValueRefSLList(const NDAMValueRefSLList& a);
- ~NDAMValueRefSLList();
- NDAMValueRef& operator () (Pix p) const;
-};
-
-struct bar
-{
- NDAMValueRefSLList *valueList;
-};
-
-class nnyacc
-{
-public:
- static void assign(void*& lval, void*& rval); // ERROR - candidates
-};
-
-void
-foo (bar yylval, bar *yyvsp)
-{
- nnyacc::assign(yylval.valueList, yyvsp[0].valueList);// ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C
deleted file mode 100644
index 3d9f475b679..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-class A {};
-
-template <class TP>
-class B
-{
- A &(*_f) (A &, TP);
- TP _a;
-public:
- B (A &(*f) (A &, TP), TP a) : _f (f), _a (a) {}
- friend A &operator<< (A &o, const B<TP> &m)
- { (*m._f) (o, m._a); return o; }
-};
-
-A &setw (A &, int);
-B<int> setw (int n)
-{
- return B<int> (setw, n);
-}
-
-A x;
-
-void f ()
-{
- x << setw (2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt5.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt5.C
deleted file mode 100644
index 5eeea6e6393..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt5.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// GROUPS passed conversions
-// Build don't link:
-typedef unsigned long Array[3];
-
-void sample(const unsigned long (&an_array)[3]);
-
-class Sample
- {
- public:
- void simple(const Array &an_array);
- static void sample(const Array &an_array);
- };
-
-class A
- {
- public:
- Array array;
- };
-
- Sample s;
-
- void simple(const A &a)
- {
- s.simple(a.array);
- sample(a.array);
- Sample::sample(a.array);
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C b/gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C
deleted file mode 100644
index 55efc52e334..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// PRMS Id: 10860
-class Beige
-{
-public:
- static int yellow();
- void white(int green = yellow());
- void aqua(int green = Beige::yellow());
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/def-fns1.C b/gcc/testsuite/g++.old-deja/g++.brendan/def-fns1.C
deleted file mode 100644
index af9752693c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/def-fns1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed default-functions
-class dictionary {
-public:
- dictionary (int);
-};
-
-class symbol {
-public:
- symbol ();
-};
-
-// a default ctor should not be generated for hyphenation_language,
-// since a ctor has already been declared; if one is generated, there
-// will be an error about not enough args to the ctor for dictionary,
-// since dictionary only defines a ctor taking an int (it ALSO should
-// not get a default ctor)
-struct hyphenation_language {
- symbol name;
- dictionary exceptions;
- hyphenation_language(symbol nm) : name(nm), exceptions(501) {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/delete1.C b/gcc/testsuite/g++.old-deja/g++.brendan/delete1.C
deleted file mode 100644
index 816c3009d2e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/delete1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed operator-delete
-/* ARM $5.3.4 */
-void f(char *p, char *q[], const char *r, const char *s[])
-{
- delete 0; /* illegal: non-pointer */// ERROR - .*expected pointer.*
- delete (char*)0; /* no effect */
- delete p;
- delete[] q;
- delete[4] q; /* ANSI forbids size arg */// ERROR - anachronistic .*
- delete r; /* no longer illegal: const */
- delete[] s;
- delete[4] s; /* ANSI forbids size arg */// ERROR - anachronistic.*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/delete2.C b/gcc/testsuite/g++.old-deja/g++.brendan/delete2.C
deleted file mode 100644
index f2bacde1185..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/delete2.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// GROUPS passed operator-delete
-// Check that using the delete operator with a null pointer
-// is allowed (as called for by The Book, pg. 259)
-
-extern "C" void printf (char *, ...);
-
-struct base {
- int member;
-};
-
-base* bp;
-
-void test ()
-{
- delete bp;
-}
-
-int main ()
-{
- bp = (base *) 0;
- test ();
-
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/dtors1.C b/gcc/testsuite/g++.old-deja/g++.brendan/dtors1.C
deleted file mode 100644
index dbbfa80f9f4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/dtors1.C
+++ /dev/null
@@ -1,56 +0,0 @@
-// GROUPS passed destructors
-// Check that when an object of a derived class is (implicitly)
-// destructed (on exit from the block in which it is declared)
-// that the destructor for the base class also gets executed.
-//
-// (also check that this execution doesn't seg-fault)
-
-extern "C" void printf (char *, ...);
-
-int derived_destructed;
-int base_destructed;
-
-struct base {
- int base_data_member;
-
- base()
- {
- base_data_member = 0x5e5e;
- }
- ~base()
- {
- base_destructed = 0x781f;
- }
-};
-
-struct derived : public base {
- int derived_data_member;
-
- derived()
- {
- derived_data_member = 0xe5e5;
- }
- ~derived()
- {
- derived_destructed = 0xf178;
- }
-};
-
-
-void test2 ();
-
-int main ()
-{
- test2 ();
- if ((base_destructed != 0x781f) || (derived_destructed != 0xf178))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
-
-void test2 ()
-{
- derived derived_object;
-
- derived_object.derived_data_member = 99;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/dtors2.C b/gcc/testsuite/g++.old-deja/g++.brendan/dtors2.C
deleted file mode 100644
index 511ab7f231c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/dtors2.C
+++ /dev/null
@@ -1,74 +0,0 @@
-// GROUPS passed destructors
-// Check that virtual destructors work correctly. Specifically,
-// check that when you destruct an object of a derived class for
-// which the base class had an explicitly declared virtual destructor
-// no infinite recursion occurs.
-//
-// Bug description:
-// The generated g++ code apparently calls the base class destructor via
-// the virtual table, rather than directly. This, of course, results in the
-// infinite recursion.
-
-extern "C" void printf (char *, ...);
-
-int errors = 0;
-
-struct base {
- int member;
- base();
- virtual ~base();
-};
-
-base::base()
-{
-}
-
-base::~base()
-{
-}
-
-struct derived : public base
-{
- int member;
- derived();
- ~derived();
-};
-
-derived::derived() : base()
-{
-}
-
-int derived_destructor_calls = 0;
-
-extern void exit (int);
-
-derived::~derived()
-{
- if (++derived_destructor_calls > 2)
- errors++;
-}
-
-void test ();
-
-int main ()
-{
- test ();
-
- if (errors)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
-
-base* bp;
-
-void test()
-{
- derived a;
-
- a.member = 99;
- bp = new derived;
- delete bp;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/dtors3.C b/gcc/testsuite/g++.old-deja/g++.brendan/dtors3.C
deleted file mode 100644
index a1ca853cf91..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/dtors3.C
+++ /dev/null
@@ -1,66 +0,0 @@
-// GROUPS passed destructors
-// Check that member and base classes get properly destructed
-// when an object of a derived class is destructed via a pointer
-// to it which only has a "compile-time" type of "pointer-to-base".
-//
-// Note that in order for this test to work properly, the destructor
-// for the base class should be explicitly declared to be virtual.
-
-extern "C" void printf (char *, ...);
-
-int member_destructor_calls = 0;
-int middle_destructor_calls = 0;
-
-struct member_type {
- int data_member;
- member_type () {}
- ~member_type ();
-};
-
-struct base {
- int data_member;
- base () {}
- virtual ~base ();
-};
-
-struct middle : public base {
- member_type member1;
- member_type member2;
- middle () {}
- ~middle (); // should be implicitly virtual
-};
-
-struct derived : public middle {
- member_type member1;
- member_type member2;
- //~derived () {}
-};
-
-int main ()
-{
- base* bp = new derived;
- delete bp;
- derived *dp = new derived;
- delete dp;
-
- if ((member_destructor_calls != 8) || (middle_destructor_calls != 2))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
-
-member_type::~member_type ()
-{
- member_destructor_calls++;
-}
-
-base::~base ()
-{
-}
-
-middle::~middle ()
-{
- middle_destructor_calls++;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/eh1.C b/gcc/testsuite/g++.old-deja/g++.brendan/eh1.C
deleted file mode 100644
index a6683060c25..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/eh1.C
+++ /dev/null
@@ -1,62 +0,0 @@
-// Special g++ Options: -O
-// PRMS Id: 10776
-
-extern "C" void printf (char *, ...);
-
-class Foo
-{
- public:
- Foo(int n) : n_(n) { }
- int f() { return n_; }
-
- int badTest();
- int goodTest();
-
- private:
-
- int n_;
-};
-
-int Foo::badTest()
-{
- try {
- throw int(99);
- }
-
- catch (int &i) {
- n_ = 16;
- }
-
- return n_;
- // On the sparc, the return will use a ld [%l0],%i0 instruction.
- // However %l0 was clobbered at the end of the catch block. It was
- // used to do an indirect call.
-}
-
-
-int Foo::goodTest()
-{
- int n;
-
- try {
- throw int(99);
- }
-
- catch (int &i) {
- n = 16;
- }
-
- return n_;
- // The return will use a ld [%l2],%i0 instruction. Since %l2
- // contains the "this" pointer this works.
-}
-
-int main()
-{
- Foo foo(5);
- foo.goodTest();
- foo.badTest();
-
- // the badTest will have failed
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum-clash.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum-clash.C
deleted file mode 100644
index 68639a1e143..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum-clash.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed arm
-enum color {red, yellow, green=20, blue};
-color c = 1; // this should be an error// ERROR - .*
-int i = yellow;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum1.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum1.C
deleted file mode 100644
index 9cc3ed8cf85..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class foo {
-public:
- enum bar { baz = 1, bat = 7 };
-};
-
-class derv : public foo { };
-
-int main()
-{
- foo::bar x = foo::baz;
- derv::bar y = derv::bat;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum10.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum10.C
deleted file mode 100644
index 5c955d3587f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum10.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class Type
-{
- public:
-
- enum name
- {
- A
- };
-};
-
-class A
-{
-};
-
-class B: public A
-{
- public:
- B();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C
deleted file mode 100644
index 7705aa36bd6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class X
-{
- enum
- {
- oneMask = 0x0000FFFF,
- twoMask = 0x000F0000,
- thiMask = 0xFFF00000,
- }; // ERROR - comma
- unsigned int foo;
-
-public:
- X (int) : foo (oneMask | twoMask ) {} // No warning
- X () : foo (oneMask | twoMask | thiMask) {} // Warning
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum12.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum12.C
deleted file mode 100644
index 7d4eb7d0c42..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum12.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-enum Bool { False, True };
-
-enum Bool object;
-
-struct S
-{
- Bool field:1;
-
- void copy_enum_bit_field () const { object = field; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum13.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum13.C
deleted file mode 100644
index ea6dfa71f23..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum13.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-enum COLOR { red, green, blue };
-
-struct S {
- COLOR color:2;
-};
-
-COLOR color;
-S object;
-
-void fubar ()
-{
- color = object.color;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum14.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum14.C
deleted file mode 100644
index 192a2b4c468..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum14.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fshort-enums
-// GROUPS passed enums
- enum E { A = 0x80000000 };
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum2.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum2.C
deleted file mode 100644
index 1c5c50b8dfc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class foo {
-public:
- enum bar { baz = 1, bat = 7 };
-};
-
-class foo2 {
-public:
- enum bar2 { baz2 = 1, bat2 = 7 };
-};
-
-class derv : public foo, public foo2 { };
-
-int main()
-{
- foo::bar x = foo::baz;
- derv::bar2 y = derv::bat2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum3.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum3.C
deleted file mode 100644
index 38b7d3cdae8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum3.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-enum foo
-{
- x = 0
-};
-
-enum bar
-{
- // this used to say `x' wasn't a constant, because build_enumerator
- // was getting the value of x wrapped around a NOP_EXPR. It now
- // strips them off before working on it, so we shouldn't get any
- // errors for this.
- y = (x + 0x0000)
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum4.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum4.C
deleted file mode 100644
index 826ccd3b9f0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class X {
-public:
- enum { a };
-};
-
-enum { b = 1 };
-enum ok { y = b };
-enum notok { z = X::a };
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum5.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum5.C
deleted file mode 100644
index 32134eff85c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed enums
-enum Thing { FIRST, SECOND } ;
-
-int main()
-{
- Thing x = FIRST ;
- x = 27 ; // this line should be a type error.// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum6.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum6.C
deleted file mode 100644
index 8c5c9ad9299..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum6.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class X {
- private:
- enum E1 {a1, b1}; // ERROR - private
- public:
- enum E2 {a2, b2};
- };
-
-void h(X* p) {
- X::E2 e2;
- int x2 = X::a2;
-
- X::E1 e1;
- int x1 = X::a1; // ERROR - within this context
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum7.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum7.C
deleted file mode 100644
index 5a397d7f361..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum7.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-enum color { red, green, blue, orange, brown };
-
-struct s {
- enum color field:2; // ERROR - too small
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum8.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum8.C
deleted file mode 100644
index d9380ad09ef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum8.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class foo1
-{
- public:
- enum foo1_enum
- {
- ENUM1,
- ENUM2,
- }; // ERROR - comma
-};
-
-
-class foo2
-{
- private:
- enum foo1::foo1_enum Enum;
-};
-
-
-class foo3
-{
- private:
- foo1::foo1_enum Enum;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum9.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum9.C
deleted file mode 100644
index f04deb13a83..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum9.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-enum fig {
- figgy,
- pudding,
-}; // ERROR - comma
-
-class X {
-public:
- static fig (*open)(void *thing, const char *filename);
- static fig (*parse)(void *thing);
-};
-
-enum fig (*X::open)(void *thing, const char *filename) = 0;
-fig (*X::parse)(void *thing) = 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg1.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg1.C
deleted file mode 100644
index 9450d7671c6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class A { };
-
-int i = A::_ter;// ERROR - ._ter.*
-int j = A::term;// ERROR - .term.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg10.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg10.C
deleted file mode 100644
index 24ddcaa1661..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg10.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class foo {
-public:
- virtual static int f () = 0;// ERROR - member `f' cannot be declared both virtual and static.*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg11.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg11.C
deleted file mode 100644
index de5ed8a1316..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg11.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-void foo (mutable int x);// ERROR - non-member `x' cannot be declared `mutable'.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg12.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg12.C
deleted file mode 100644
index 0b59ba0c8da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg12.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class foo {
-public:
- friend mutable int x ();// ERROR - non-object member `x' cannot be declared `mutable'
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg2.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg2.C
deleted file mode 100644
index 0bfb4c22414..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg2.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-typedef void (*pfv)(double, double);
-extern "C" typedef void (*pfv)(double, double);// ERROR - multiple.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C
deleted file mode 100644
index 1d115e6c46a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-#include <fstream.h>
-#include <iomanip.h>
-
-// This error should not appear:
-// bug.C: In method `test::test(const class test &)':
-// bug.C:8: field `' not in immediate context
-
-class test{
-public:
- int flags;
- test() {};
- };
-
-int main()
-
-{
-return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg4.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg4.C
deleted file mode 100644
index 72f6150a882..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class X {
-public:
- static int x;// ERROR - previous.*
- static int y;// ERROR - previous.*
-};
-
-unsigned X::x;// ERROR - conflict.*
-unsigned X::y;// ERROR - conflict.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg5.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg5.C
deleted file mode 100644
index 37b956c568f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg5.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class foo {};
-~foo () {}// ERROR - destructors must be member functions.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg6.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg6.C
deleted file mode 100644
index ce60f0d4567..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg6.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class foo {
-public:
- ~bar () {}// ERROR - destructor `bar' must match class name `foo'.*
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg7.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg7.C
deleted file mode 100644
index 5971806fa46..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg7.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class foo {
-public:
- volatile int () {}// ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg8.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg8.C
deleted file mode 100644
index a2ad4df947d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg8.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-operator int ;// ERROR - declaration of `operator int' as non-function.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg9.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg9.C
deleted file mode 100644
index 0714de696cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg9.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-class foo {
-public:
- int ~foo ();// ERROR - return type specification for destructor invalid.*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/explicit1.C b/gcc/testsuite/g++.old-deja/g++.brendan/explicit1.C
deleted file mode 100644
index 148155e2f69..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/explicit1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// $7.1.2 disallows explicit on anything but declarations of
-// constructors ... including friends.
-class foo { public: foo(); };
-class bar { public: friend explicit foo::foo(); }; // ERROR - explicit friend
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/friend1.C b/gcc/testsuite/g++.old-deja/g++.brendan/friend1.C
deleted file mode 100644
index 9aea4602c8f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/friend1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed friends
-class A
-{
-private:
- A () {}
-
-friend struct B;
-};
-
-class B
-{
-public:
- A a;
-};
-
-B b;
-
-int main () {}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/friend2.C b/gcc/testsuite/g++.old-deja/g++.brendan/friend2.C
deleted file mode 100644
index 5b1333f7b80..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/friend2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed friends
-class X {
- int a;
-friend void friend_set (X*, int);
-};
-
-void friend_set (X *p, int i) { p->a = i; }
-
-void f()
-{
- X obj;
- friend_set (&obj, 10);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/friend3.C b/gcc/testsuite/g++.old-deja/g++.brendan/friend3.C
deleted file mode 100644
index 1fa48a8c527..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/friend3.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed friends
-class B {
-
- friend class A;
-
- enum {
- bEnum = 1,
- }; // ERROR - comma
-
- int bArray[ bEnum ];
-
-public:
- void bFunction(int arg[ bEnum ]);
-};
-
-
-class A {
- int aMember;
-
-public:
- void aFunction(int a[B::bEnum])
- {
- B b;
- b.bArray[ B::bEnum ] = aMember;
- }
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/friend4.C b/gcc/testsuite/g++.old-deja/g++.brendan/friend4.C
deleted file mode 100644
index f19d81a9d0a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/friend4.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed friends
-// do_friend should complain that foo was declared as a friend of
-// A before A was defined
-struct A;
-struct B { friend A::foo (); };// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/groff1.C b/gcc/testsuite/g++.old-deja/g++.brendan/groff1.C
deleted file mode 100644
index 179ef30ab04..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/groff1.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// GROUPS passed groff
-/* This should compile properly with the new overloading scheme. */
-
-extern "C" void printf (const char *, ...);
-extern "C" void exit (int);
-
-int win = 0;
-
-class symbol
-{
-public:
- symbol(const char *p, int how = 0) {}
- symbol() {}
-};
-
-class dictionary
-{
-public:
- void *lookup(symbol s, void *v=0) { win = 1; }
- void *lookup(const char *) {}
-};
-
-int main()
-{
- char buf[2048];
- dictionary exceptions;
- unsigned char *tem = new unsigned char[19 + 1];
-
- exceptions.lookup (symbol (buf), tem);
-
- printf (win ? "PASS\n" : "FAIL\n");
- exit (! win);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init1.C b/gcc/testsuite/g++.old-deja/g++.brendan/init1.C
deleted file mode 100644
index 4396906ed32..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
- class Thing{
- private:
- int x,y;
- public:
- Thing (int v, int q) { x = v; q = y; }
- void doit(int);
- };
-
- Thing t(18,19);
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init10.C b/gcc/testsuite/g++.old-deja/g++.brendan/init10.C
deleted file mode 100644
index 45b29853afd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init10.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-struct { int :0; } a;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init11.C b/gcc/testsuite/g++.old-deja/g++.brendan/init11.C
deleted file mode 100644
index 69fd77c7c71..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init11.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-struct String {
- char * string;
- String(const char* st);
-};
-
-extern char array [];
-static String sub = array;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init12.C b/gcc/testsuite/g++.old-deja/g++.brendan/init12.C
deleted file mode 100644
index 7d7c13a47e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init12.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed array-bindings
-char * bob();
-
-int main()
-{
- char a[1][2];
- a[0] = bob();// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init13.C b/gcc/testsuite/g++.old-deja/g++.brendan/init13.C
deleted file mode 100644
index 41f0fcf68bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init13.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-struct A {
- operator int ();
-};
-
-int i = A();
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init2.C b/gcc/testsuite/g++.old-deja/g++.brendan/init2.C
deleted file mode 100644
index a9ec6f3bea6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init2.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-// this should give an error in require_instantiated_type about not
-// being allowed to have an initializer list in an argument list.
-int f(int a = {1});// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init3.C b/gcc/testsuite/g++.old-deja/g++.brendan/init3.C
deleted file mode 100644
index b86c2c7e792..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init3.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// GROUPS passed initialization
-// p2766: Make sure that members are initialized in order of declaration
-// in the class, not in order of specification in the mem-initializer list.
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-int count = 0;
-
-void die () { printf ("FAIL\n"); exit (1); }
-
-class bar1 {
-public:
- bar1 (int) { if (count != 0) die (); count = 1; }
-};
-
-class bar2
-{
-public:
- bar2 (int) { if (count != 1) die (); count = 2; }
-};
-
-class foo
-{
-public:
- bar1 a;
- bar2 b;
- foo (int, int);
-};
-
-// bar1 should get built before bar2
-foo::foo (int x, int y) : b(x), a(y) {}
-
-int main()
-{
- foo f (1, 2);
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init4.C b/gcc/testsuite/g++.old-deja/g++.brendan/init4.C
deleted file mode 100644
index c1d359281e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init4.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-struct CharList { int i; };
-
-const CharList& terminals = { 1 };// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init5.C b/gcc/testsuite/g++.old-deja/g++.brendan/init5.C
deleted file mode 100644
index 112dcacbb94..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init5.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-int main( int argc, char**argv, char** envp ){
- char* domain = argv[1];
- domain = domain? (char*)"component" : domain;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init6.C b/gcc/testsuite/g++.old-deja/g++.brendan/init6.C
deleted file mode 100644
index e49758adf1a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-class Tag {
-public:
- Tag(int i):value(i){}
- int value;
-};
-
-extern const Tag myTag;
-extern const Tag myTag=9;
-
-// The compiler should not issue an error on this line; expand_static_init
-// should be checking that there's no initializer for this line, and thus
-// doesn't need to produce an error.
-extern const Tag myTag;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init7.C b/gcc/testsuite/g++.old-deja/g++.brendan/init7.C
deleted file mode 100644
index 033da8f9fe8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init7.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-struct myChoiceList
-{
- int bla;
- int blubb;
- int brummbrumm;
-};
-
-extern const myChoiceList foo;
-
-extern const myChoiceList foo = {1,1,1};
-
-// finish_decl should have an exclusion so an error is not produced
-// for this line.
-extern const myChoiceList foo;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init8.C b/gcc/testsuite/g++.old-deja/g++.brendan/init8.C
deleted file mode 100644
index 4818a41ab72..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init8.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-class A
-{
-public:
- A(const A & a) : i_member(a.i_member)
- {
- }
- A(const int & i) : i_member(i)
- {
- }
- union
- {
- int i_member;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init9.C b/gcc/testsuite/g++.old-deja/g++.brendan/init9.C
deleted file mode 100644
index bad6416ef23..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init9.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-int FALSE = 0;
-class X {
-public:
- static int FALSE;
-};
-
-// The compiler should NOT complain about redeclaration of the global
-// `FALSE' with this declaration...grokvardecl shouldn't be doing that.
-int X::FALSE = 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/label1.C b/gcc/testsuite/g++.old-deja/g++.brendan/label1.C
deleted file mode 100644
index ff0b87c3097..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/label1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed labels
-// it should only give 1 error, about using an undefined label
-int main(void) { goto dummy; }// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/label2.C b/gcc/testsuite/g++.old-deja/g++.brendan/label2.C
deleted file mode 100644
index bce21125d55..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/label2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed labels
-class X {
-public:
- X();
-};
-void foo ()
-{
-X: ::abort();
- goto X;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/line1.C b/gcc/testsuite/g++.old-deja/g++.brendan/line1.C
deleted file mode 100644
index d76832e76c4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/line1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed error-messages
-typedef struct s S;// ERROR - previous.*
-struct S { int member:1; }; // the lineno for this should be 2, not 0// ERROR - conflicting types.*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc1.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc1.C
deleted file mode 100644
index 666ec256fb2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-int main( int argc, char**argv, char** envp ){
- char* domain = argv[1];
- domain = domain? (char*)"component" : domain;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc10.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc10.C
deleted file mode 100644
index 4d96926ccf8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc10.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous
-// The compiler shouldn't give a `invalid operands to binary +' for this
-// case.
-enum flag { OFF, ON };
-enum BOOL { FALSE = (enum flag) 0, TRUE };
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc11.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc11.C
deleted file mode 100644
index 043f6a5493e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc11.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous
-// This should not complain about A::f being abstract.
-struct A
-{
- virtual int f() = 0;
-};
-
-struct B : virtual A
-{
- virtual int f() { return 1; }
- virtual int g() = 0;
-};
-
-struct C: B
-{
- int g() { return 2; }
-};
-
-C c;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc12.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc12.C
deleted file mode 100644
index 73db9bfccd4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc12.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// GROUPS passed miscellaneous
-extern "C" void exit (int);
-extern "C" int printf (char *, ...);
-
-/* Make sure cp-lex.c handles these properly--if this links, that means
- it emitted the strings instead of __FUNCTION__.0, etc. */
-
-int
-main()
-{
- char *a = __FUNCTION__;
- char *b = __PRETTY_FUNCTION__;
-
- printf ("PASS\n");
- exit (0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc13.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc13.C
deleted file mode 100644
index 57292a292cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc13.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-// This should only give warnings from duplicate_decls; it should not get
-// errors from push_overloaded_decl as well.
-
-extern "C"
-{
- long unsigned int strlen(char*);// ERROR - warning// ERROR - warning.*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc14.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc14.C
deleted file mode 100644
index 024566fc2c8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc14.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-class X {
-public:
- enum e {
- New,// ERROR - conflicts with other.*
- }; // ERROR - comma
-
- static int New(int);// ERROR - declaration.*
-};
-
-int main() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc15.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc15.C
deleted file mode 100644
index e4dd53e0994..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc15.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-// we shouldn't get any warnings or errors for this code
-struct A {
- int aa;
-};
-struct B : public A {
-};
-struct C : public A {
-};
-struct D : public C, public B {
- void fun() { C::aa = 10; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc16.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc16.C
deleted file mode 100644
index 15e3946a0d3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc16.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-// Using a typedef causes a compiler error
-typedef unsigned int Uint32;
-
-// Using a define so that there isn't a typedef works OK.
-//#define Uint32 unsigned int
-
-Uint32 func0(Uint32, Uint32)
-{
- return 0;
-}
-
-Uint32 func1(Uint32, Uint32)
-{
- return 1;
-}
-
-Uint32 (*mf[])(Uint32, Uint32) = {func0, func1};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc17.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc17.C
deleted file mode 100644
index 987618f9789..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc17.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-typedef int va_list;
-class ostream;
-class String {
-public:
-operator const char *() const;
-};
-class FwtErrorManager {
-public:
- FwtErrorManager(ostream& err, const char *program);
-public:
- void form(const char *format, ...);
-protected:
- const String _program;
-private:
- FwtErrorManager(const FwtErrorManager&);
- void operator=(const FwtErrorManager&);
-};
-class FwtProgram: public FwtErrorManager {
-public:
- FwtProgram();
-};
-class FwtArgOptions { };
-class FwtStdProgram: public FwtProgram, public FwtArgOptions {
-public:
- FwtStdProgram();
- void usage_if_not_complete();
-};
-void
-FwtStdProgram::usage_if_not_complete()
-{
- FwtStdProgram& thisp = *this;
- thisp.form("%s: error, there were unrecognized options",
- (char *) FwtErrorManager::_program);// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc2.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc2.C
deleted file mode 100644
index d9aa99bbf78..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-// Should be fixed by:
-// Sun Jun 13 12:55:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-//
-// * cp-decl.c (grokvardecl): Don't complain about duplicate
-// definitions of `extern "C"' declarations (parallelize it with how
-// regular `extern' decls are handled).
-
-extern "C" double _MaXdOuB, _MiNdOuB;
-extern "C" double _MaXdOuB, _MiNdOuB; // no error should be emitted for this
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc3.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc3.C
deleted file mode 100644
index d632cb733f9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous-bugs
-// The compiler should not error about taking the addr of main in this example.
-class fred {
-private:
- void main () {
- }
-public:
- fred ( ) {
- &fred::main;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc4.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc4.C
deleted file mode 100644
index 93aea92d31f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous
-// This should not emit an error about A::~A() being redefined; we
-// should check that it is a pure virtual.
-class A {
-public:
- virtual ~A() = 0;
-};
-
-A::~A() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc5.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc5.C
deleted file mode 100644
index 05eeed61e1e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc5.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous
-class A {
- static A aa[2];
-};
-
-A A::aa[2]; // should be completely legal
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc6.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc6.C
deleted file mode 100644
index b05c1f1da54..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous
-// test that use of `inline' is forbidden when it should be
-inline int i;// ERROR - .*
-struct c { inline int i; };// ERROR - .*
-int foo (inline int i);// ERROR - .*
-inline class c; // ERROR - inline
-inline typedef int t; // ERROR - inline
-class d { inline friend class c; }; // ERROR - inline
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc7.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc7.C
deleted file mode 100644
index af07d6f6d13..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc7.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// GROUPS passed miscellaneous
-extern "C" void printf (char *, ...);
-
-int main()
-{
- int i = 0;
- // Make sure build_unary_op correctly computes this.
- int *pi = &(++i);
- *pi = 4;
-
- if (i != 4)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc8.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc8.C
deleted file mode 100644
index b2aa92f1ee8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc8.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous
-// used to say invalid lvalue in `&\'
-class foo {
- int a;
- public:
- foo(int a);
-};
-
-foo::foo(int a)
-{
- foo::a=a;
-}
-
-int main()
-{
-foo obj(4);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc9.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc9.C
deleted file mode 100644
index 88071c6e04a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc9.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed miscellaneous
-//The program listed below produces the following error during compilation:
-// % g++ bug17.cc
-// bug17.cc: In method `class Y& Y::operator = (const class Y&)':
-// bug17.cc:18: invalid use of non-lvalue array
-
-class X {
-public:
- X& operator=(const X&) { return *this; }
-};
-
-struct S {
- char c[10];
- X x;
-};
-
-class Y {
- S s;
-public:
- const S& f() const { return s; }
-
- Y& operator=(const Y& _Y) {
- s = _Y.s; // this line compiles
- s = _Y.f(); // this line does not compile
- return *this;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/mutable1.C b/gcc/testsuite/g++.old-deja/g++.brendan/mutable1.C
deleted file mode 100644
index 79157b7607c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/mutable1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed mutable
-class foo;
-class bar {
- mutable foo const *foobar;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest1.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest1.C
deleted file mode 100644
index 32aab3ee9c2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-int x;
-class enclose {
-public:
- int x;
-
- class inner {
- public:
- void f (int i) {
- x = i;// ERROR - .*
- }
- };
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest10.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest10.C
deleted file mode 100644
index d22e3075d5e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest10.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class A
- {
- public:
- class B
- {
- public:
- int f ();
- void g (int);
- private:
- int b;
- };
- };
-
-int A::B::f ()
- {
- int val=b;
- return val;
- }
-
-void A::B::g (int val)
- {
- b = val;
- }
-
-
-int main ()
- {
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest11.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest11.C
deleted file mode 100644
index 4a57b383858..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest11.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class A {
- int x;
-
- struct B {
- int x;
- };
- struct C {
- int bug (A::B &y);
- };
-};
-
-int
-A::C::bug (A::B &y)
-{
- return y.x;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest12.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest12.C
deleted file mode 100644
index 19286db1dc0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest12.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-struct enclose {
- class nested;
- nested *nptr;
- class nested {
- int x;
- };
- void f();
-};
-
-void enclose::f()
-{
- nptr = new enclose::nested;
-}
-
-void g()
-{
- enclose obj;
- obj.nptr = new enclose::nested;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest13.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest13.C
deleted file mode 100644
index 354e7bc35be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest13.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-// The bug here is that wer'e getting a message about inner not
-// being a basetype itself. I think it's because it's being
-// compared as the "inner" we knew about when it was forward-declared,
-// versus the "inner" we know about when it *has* been defined.
-
-class temp
-{
-public:
- struct inner;
- inner *trump()
- {
- return (tt);
- }
- struct inner
- {
- int ll;
- }*tt;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest15.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest15.C
deleted file mode 100644
index 4a696af4dc2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest15.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class BDDHeap {
-public:
- BDDHeap();
- BDDHeap(const BDDHeap&);
-
- class Page {
- public:
- int i;
- };
- struct Pointer {
- Page *page;
- unsigned index;
-
- Pointer();
- Pointer(const BDDHeap& heap);
- };
-
- struct Half {
- struct {
- Page *top;
- Page **tail;
- } inuse;
-
- Half();
- };
-
- Half half[2];
- unsigned halfspace;
-};
-
-inline
-BDDHeap::Pointer::Pointer(const BDDHeap& heap):
-page(heap.half[heap.halfspace].inuse.top),
-index(0)
-{ }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest16.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest16.C
deleted file mode 100644
index 920ea0b5de5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest16.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class BDDHeap {
-public:
- BDDHeap();
- BDDHeap(const BDDHeap&);
-
- class Page {
- public:
- int i;
- };
- struct Pointer {
- Page *page;
- unsigned index;
-
- Pointer();
- Pointer(const BDDHeap& heap);
- };
-
- struct Half {
- struct {
- Page *top;
- Page **tail;
- } inuse;
-
- Half();
- };
-
- Half half[2];
- unsigned halfspace;
-};
-
-inline
-BDDHeap::Pointer::Pointer(const BDDHeap& heap):
-page(0),
-index(0)
-{
- Page *x = heap.half[heap.halfspace].inuse.top;
- page = x;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest17.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest17.C
deleted file mode 100644
index f61c49ee9f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest17.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class T {
-public:
- typedef int I;
- class Y {int y;};
- typedef Y Z;
-};
-
-T::I i;
-T::Y y;
-T::Z z;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest18.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest18.C
deleted file mode 100644
index e41def435f9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest18.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-// This is the first line of file ||t2.C||.
-
-// This code demonstrates what appears to be a bug with nested types.
-// In C++, nested typedefs are not supposed to be visible outside
-// their class scopes but they apparently are in gcc 2.4.5. This code
-// compiles fine in AT&T cfront 3.0.1, but will not compile with gcc.
-
-// If this class does not precede String, then the code will compile.
-
-class Another {
-public:
- typedef int Length;
-};
-
-// If String does not define typedef int Length, then the code will
-// compile.
-
-class String {
-public:
- typedef int Length; // remove this and it will compile fine
-
- int foo(Length length) const;
-};
-
-int String::foo(Length length) const {
- return length;
-}
-
-// File ||t2.C|| ends here.
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest19.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest19.C
deleted file mode 100644
index efa7ac5ee48..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest19.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-// This is the first line of file ||t3.C||.
-
-// This code demonstrates a variation of the same problem with nested
-// types. In C++, nested typedefs are not supposed to be visible
-// outside their class scopes but they apparently are in gcc 2.4.5.
-// This code compiles fine in AT&T cfront 3.0.1, but gcc rejects it
-// with the messages given below.
-
-// If this class does not precede Expr, then the code will compile.
-
-class Another {
-public:
- typedef int Boolean;
- enum { FALSE, TRUE };
-};
-
-// If Expr does not define typedef int Boolean, then the code will
-// compile.
-
-class Expr {
-public:
- typedef int Boolean;
- enum { FALSE, TRUE };
- void foo();
- void call_something_with(Boolean);
-};
-
-// t3.C: In method `void Expr::foo ()':
-// t3.C:36: uninitialized const `Boolean'
-// t3.C:36: parse error before `='
-// t3.C:37: `argument' undeclared (first use this function)
-// t3.C:37: (Each undeclared identifier is reported only once
-// t3.C:37: for each function it appears in.)
-
-void Expr::foo() {
- const Boolean argument = TRUE;
- call_something_with(argument);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest2.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest2.C
deleted file mode 100644
index 4b55245e5f8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class A {
-protected:
- class B {
- public:
- ~B();
- private:
- float _datum;
- };
-private:
- B *_b;
-};
-
-A::B::~B()
-{
- _datum = 8.0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest20.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest20.C
deleted file mode 100644
index 297b08af825..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest20.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-// This is the first line of file ||t5.C||.
-
-// This code initializing an unnamed union inside a class appears to
-// be legal C++ input and compiles fine with AT&T cfront 3.0.1, but
-// gcc 2.4.5 complains about multiple initializations of the same
-// member.
-
-class Expr {
-public:
- enum Type { undefined, slong, ulong, ldouble };
- Expr();
- Expr(Type type, const Expr* initializer);
-private:
- Type type_;
- union {
- long slong_;
- unsigned long ulong_;
- long double ldouble_;
- };
-};
-
-// Construct an undefined expression.
-
-Expr::Expr()
- :
- type_(undefined),
- slong_(-1)
-{}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
deleted file mode 100644
index f32166d9ad2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
+++ /dev/null
@@ -1,95 +0,0 @@
-// GROUPS passed nested-classes
-#include <iostream.h>
-#include <stdio.h>
-
-static char output[1024];
-
-class BDDRetrace {
-public:
- class Dump {
- public:
- virtual Dump& operator<<(char c) = 0;
- virtual Dump& operator<<(int i) = 0;
- virtual Dump& operator<<(double r) = 0;
- };
-
- class Dump1: public Dump {
- public:
- Dump& operator<<(char c);
- Dump& operator<<(int i);
- Dump& operator<<(double r);
- };
-};
-
-class Dump2: public BDDRetrace::Dump {
-public:
- BDDRetrace::Dump& operator<<(char c);
- BDDRetrace::Dump& operator<<(int i);
- BDDRetrace::Dump& operator<<(double r);
-};
-
-BDDRetrace::Dump&
-BDDRetrace::Dump1::operator<<(char c)
-{ char tempout[1024];
- sprintf (tempout, "%s%s%c", output, "1-", c);
- strcpy (output, tempout);
- return *this;
-}
-
-BDDRetrace::Dump&
-BDDRetrace::Dump1::operator<<(int i)
-{ char tempout[1024];
- sprintf (tempout, "%s%s%d", output, "1-", i);
- strcpy (output, tempout);
- return *this; }
-
-BDDRetrace::Dump&
-BDDRetrace::Dump1::operator<<(double r)
-{ char tempout[1024];
- sprintf (tempout, "%s%s%1.0f", output, "1-", r);
- strcpy (output, tempout);
- return *this; }
-
-BDDRetrace::Dump&
-Dump2::operator<<(char c)
-{ char tempout[1024];
- sprintf (tempout, "%s%s%c", output, "2-", c);
- strcpy (output, tempout);
- return *this; }
-
-BDDRetrace::Dump&
-Dump2::operator<<(int i)
-{ char tempout[1024];
- sprintf (tempout, "%s%s%d", output, "2-", i);
- strcpy (output, tempout);
- return *this; }
-
-BDDRetrace::Dump&
-Dump2::operator<<(double r)
-{ char tempout[1024];
- sprintf (tempout, "%s%s%1.0f", output, "2-", r);
- strcpy (output, tempout);
- return *this; }
-
-int main()
-{
- BDDRetrace::Dump1 d1;
- Dump2 d2;
-
- sprintf (output, " ");
-
- d1 << 'a';
- d1 << 1;
- d1 << 1.0;
-
- d2 << 'a';
- d2 << 1;
- d2 << 1.0;
-
- if (strcmp (output, " 1-a1-11-12-a2-12-1") == 0)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest22.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest22.C
deleted file mode 100644
index cd26c34d582..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest22.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class foo {
-public:
- typedef int bar;
- foo::bar fb; // this line causes a syntax error!
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest23.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest23.C
deleted file mode 100644
index e18398bf3fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest23.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class CS {
-public:
- class PS {
- };
-};
-
-class NCS: public CS {
-public:
- class S: public PS {
- };
-};
-
-int i;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest24.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest24.C
deleted file mode 100644
index 4fcc02c63d6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest24.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-struct A {
- A (){}
-};
-
-void foo ()
-{
- struct B {};
-
- struct S : B {
- A a;
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest3.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest3.C
deleted file mode 100644
index bedd5192118..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed nested-classes
-class X {
-public:
- struct M2 { int m; };
- M2 g(int);
-};
-
-
-X::M2 X::g(int i) { X::M2 m2; return m2; }
-
-int main() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest4.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest4.C
deleted file mode 100644
index 34631f4f0cd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest4.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed nested-classes
-class vec {
- class blah { };
-
- ::vec::blah satan( 0);// ERROR - .*
- blah herman( 0);// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new-array.C b/gcc/testsuite/g++.old-deja/g++.brendan/new-array.C
deleted file mode 100644
index 3080a585c78..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/new-array.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed operator-new
-typedef struct {
- int a;
-} AStruct;
-
-void MakeBug() {
- AStruct *job;
-
- // This used to crash, it should now give error(s).
- job = new AStruct[];// ERROR - .*
-
- job = new AStruct;
-}
-
-int main () {
- MakeBug();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new1.C b/gcc/testsuite/g++.old-deja/g++.brendan/new1.C
deleted file mode 100644
index 09326d2ce58..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/new1.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed operator-new
-typedef __SIZE_TYPE__ size_t;
-struct x { int a; void * operator new (size_t, void *); };
-struct x * f(void *p) { return new (p) x; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new2.C b/gcc/testsuite/g++.old-deja/g++.brendan/new2.C
deleted file mode 100644
index 64b3d51e08a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/new2.C
+++ /dev/null
@@ -1,67 +0,0 @@
-// GROUPS passed operator-new
-// Check that if there is a user defined class-specific operator
-// new for a given class, that operator is invoked when a new
-// object of the class is requested, regardless of whether or not
-// there is also a constructor for the given class, and regardless
-// of whether or not the constructor for the given class is defined
-// before or after the new operator is even declared.
-
-extern "C" void printf (char *, ...);
-
-typedef __SIZE_TYPE__ size_t;
-
-struct base {
- int i;
-
- base ()
- {
- i = 7;
- }
-
- void * operator new (size_t size);
- void operator delete (void*);
-};
-
-class derived : public base {
- int j;
-};
-
-int new_call_count = 0;
-int expected_size = 0;
-int errors = 0;
-
-int main ()
-{
- base* base_ptr;
- derived* derived_ptr;
-
- expected_size = 4;
- base_ptr = new base;
- expected_size = 8;
- derived_ptr = new derived ();
-
- if ((new_call_count != 2) || (errors != 0))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
-
-char allocation_space[1000];
-char* allocation_ptr = allocation_space;
-
-void base::operator delete (void* p)
-{
-}
-
-void *base::operator new (size_t size)
-{
- char* return_value = allocation_ptr;
-
- new_call_count++;
- if (size != expected_size)
- errors++;
- allocation_ptr = allocation_ptr + size;
- return (void*) return_value;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C b/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
deleted file mode 100644
index 5f5c988c29a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// GROUPS passed operator-new
-#include <stdio.h>
-#include <stdlib.h>
-#include <new>
-
-int pass = 0;
-
-void *operator new(size_t sz) throw (std::bad_alloc) {
-
- void *p;
-
- pass = 1;
- p = malloc(sz);
- return p;
-}
-
-class A {
-public:
- A() {}
- ~A() {}
-
- int a;
- int b;
-};
-
-
-int main()
-{
- A *bb = new A[10];
- delete [] bb;
-
- if (pass)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ns1.C b/gcc/testsuite/g++.old-deja/g++.brendan/ns1.C
deleted file mode 100644
index d20a9d93929..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ns1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed old-abort
-struct B
-{
- void f(char);
- void g(char);
-};
-
-class C
-{
- int g();
-};// ERROR - warning
-
-class D2 : public B
-{
- using B::f; // ok: B is a base of D
- using C::g; // error: C isn't a base of D2
-}; // ERROR - type C is not a base type for type D2
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators1.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators1.C
deleted file mode 100644
index 89453f9f10c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-struct A {
- int x;
-};
-
-int operator()(A x,float y) { // MUST be a member function// ERROR - .*
- return 1;
-}
-
-int main() {
- A x;
- x(1.0); // ERROR - no match for call
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators2.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators2.C
deleted file mode 100644
index ece06ef3d06..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators2.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-class X { };
-void operator[](X& a, X& b) {} // MUST be a member function// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators3.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators3.C
deleted file mode 100644
index e068de3aa52..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators3.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-class X { };
-void operator->(X& a, X& b) {} // MUST be a member function// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators4.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators4.C
deleted file mode 100644
index b56d26c073d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators4.C
+++ /dev/null
@@ -1,121 +0,0 @@
-// GROUPS passed operators
-// Check that the & operator, when applied to a global function
-// or member function returns a proper value as long as the context
-// in which the result of & is used requires a pointer to a specific
-// unambigous (function-pointer) type.
-//
-// This test fails (in test5()) when compiled with g++ 1.34.1.
-
-extern "C" void printf (char *, ...);
-
-int function (char c);
-int function (float f);
-
-class base {
- int filler;
-public:
- int method (char);
- int method (float);
-};
-
-void* vp;
-
-typedef int (*ptr_to_func_of_char)(char);
-typedef int (*ptr_to_func_of_float)(float);
-typedef int (base::*ptr_to_method_of_char)(char);
-typedef int (base::*ptr_to_method_of_float)(float);
-
-int test2 (void*);
-int test3 (void*);
-int test4 (void*);
-int test5 (void*);
-
-base* base_ptr;
-
-int fail ()
-{
- printf ("FAIL\n");
- return 1;
-}
-
-int main ()
-{
- base_ptr = new base;
-
- ptr_to_func_of_char p0 = &function;
- vp = (void*) p0;
- if (test2 (vp))
- return fail ();
- ptr_to_func_of_float p1 = &function;
- vp = (void*) p1;
- if (test3 (vp))
- return fail ();
- ptr_to_method_of_char p2 = &base::method;
- vp = (void*) p2; // ERROR -
- if (test4 (vp))
- return fail ();
- ptr_to_method_of_float p3 = &base::method;
- vp = (void*) p3; // ERROR -
- if (test5 (vp))
- return fail ();
-
- printf ("PASS\n");
- return 0;
-}
-
-int test2 (void* vp)
-{
- char ch = 'x';
-
- return (((ptr_to_func_of_char)vp)(ch) != 9901);
-}
-
-int test3 (void* vp)
-{
- float flt = 9.9;
-
- return (((ptr_to_func_of_float)vp)(flt) != 9902);
-}
-
-int test4 (void* vp)
-{
- char ch = 'x';
- ptr_to_method_of_char p = (ptr_to_method_of_char) vp; // ERROR - bad type conversion
-
- return ((base_ptr->*p)(ch) != 9904);
-}
-
-int test5 (void* vp)
-{
- float flt = 9.9;
- ptr_to_method_of_float p = (ptr_to_method_of_float) vp; // ERROR - bad type conversion
-
- if ((base_ptr->*p)(flt) != 9905) {
- return 1;
- } else
- return 0;
-}
-
-int function (char c)
-{
- c = c;
- return 9901;
-}
-
-int function (float f)
-{
- f = f;
- return 9902;
-}
-
-int base::method (char c)
-{
- c = c;
- return 9904;
-}
-
-int base::method (float f)
-{
- f = f;
- return 9905;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators5.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators5.C
deleted file mode 100644
index 84c09a2a4b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators5.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// GROUPS passed operators
-// Check that operators may be (directly) recursive.
-
-extern "C" void printf (char *, ...);
-
-struct base {
- int i;
-};
-
-base base_variable;
-
-base operator+ (const base& left, const base& right)
-{
- base ret_val;
-
- ret_val.i = left.i + right.i;
- return ret_val;
-}
-
-base operator- (const base& left, int right)
-{
- base ret_val;
-
- ret_val.i = left.i - right;
- return ret_val;
-}
-
-// Define the unary ! operator for class base to be the fibonachi
-// operator.
-
-base operator! (const base& right)
-{
- if (right.i < 2)
- return right;
- else
- return ((!(right-1)) + (!(right-2)));
-}
-
-int main ()
-{
- base k;
-
- k.i = 15;
- k = !k; // fib it!
-
- if (k.i != 610)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators6.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators6.C
deleted file mode 100644
index c0c23188a8e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators6.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-class a {
-public:
- a* operator->() { return this; }
- void p();
-};
-
-void a::p() {
- operator->();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators7.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators7.C
deleted file mode 100644
index 7a952211c9b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators7.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-class A {
- char *p;
-public:
- operator const char *() const { return p; }
-};
-
-int foo(const A &a)
-{
- return (a != 0);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators8.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators8.C
deleted file mode 100644
index 390f749bc5e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/operators8.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-struct A {
- char *p;
- operator char *();
-};
-
-char foo(A a)
-{
- return a[0];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload1.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload1.C
deleted file mode 100644
index e5040fdc7cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-class Foo
-{
-public:
- int f (void);
-};
-
-class Bar : public Foo
-{
-public:
- int f (int); // ERROR - candidates are
-};
-
-int main ()
-{
- Bar b;
-
- b.f ();// ERROR -
- b.f (10);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload10.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload10.C
deleted file mode 100644
index e28d6ea805d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload10.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-class Bed {
- public:
- static void bed_func(
- int (*f)(int &, int, int));
-};
-class g_func {
-public:
- static int save_status;
-
- // in compute_harshness, we should be using comptypes, not ==, to
- // check if this is equivalent to the previous decl; the only
- // difference is the default arg
- static int rpt_func(int &status, int expand,
- int restore_cursor=1 );
-};
-
-int main (int argc,
- char **argv,
- char **envp)
-{
- Bed::bed_func(g_func::rpt_func);
- return(1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload11.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload11.C
deleted file mode 100644
index cbced94cbcf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload11.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-class foo_int
-{
-public:
- int & i;
-
- foo_int (int &j) : i(j) {};
- void inc () { i++; }
-
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload2.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload2.C
deleted file mode 100644
index 75068da88bb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload2.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// GROUPS passed overloading
-// Check that calls to the correct overloaded virtual
-// functions are generated even where the type of the formal
-// arguments for the overloadings are similar or related.
-
-extern "C" void printf (char *, ...);
-
-int proper_method_called = 0;
-
-struct base {
- int member;
- virtual void method (char)
- {
- }
- virtual void method (char *)
- {
- }
-};
-
-struct derived : public base {
- int member;
- virtual void method (char)
- {
- }
- virtual void method (char *)
- {
- proper_method_called++;
- }
-};
-
-char *message;
-
-int main ()
-{
- derived derived_object;
-
- derived_object.method (message);
-
- if (proper_method_called != 1)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload3.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload3.C
deleted file mode 100644
index baa90fb282d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload3.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-typedef int rutBoolean;
-
-class rutBigIntRep
-{
-public:
- friend rutBoolean operator>(const rutBigIntRep& a, const rutBigIntRep& b);
- operator rutBoolean() const;
-protected:
- enum Kluge {kluge};
- rutBigIntRep(Kluge) {}
- rutBigIntRep();
- rutBigIntRep(const rutBigIntRep& value);
- rutBigIntRep& operator=(const rutBigIntRep& value);
-};
-
-rutBoolean operator>(const rutBigIntRep& a, const rutBigIntRep& b) {
- // This should not result in a warning. It used to warn about the
- // conversion from int to enum while exploring the possibility of
- // converting `a' via `operator rutBoolean', then using the
- // rutBigIntRep(Kluge) constructor. It later realizes it shouldn't
- // do this, but the call to build_type_conversion was ending up with
- // a warning in convert.
- rutBigIntRep diff(a);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C
deleted file mode 100644
index 21c3dc8db5a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
- typedef void * (*NewObject) (void);
-
- class B
- {
- public:
- static void WantsNew (NewObject creator); // ERROR - candidates are
- };
-
- class A
- {
- public:
- static A * NewOne (void);
-
- static void InitClass (void)
- {
- B::WantsNew ( (NewObject) A::NewOne );
- // This used to die in convert_harshness_{ansi,old} cuz it
- // didn't know what to do about a void type.
- B::WantsNew ( A::NewOne );// ERROR -
- }
- };
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload5.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload5.C
deleted file mode 100644
index d71f0c01d2e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload5.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-class Foo
-{
-public:
- int operator << (const signed char&);
- int operator << (const unsigned char&);
- int operator << (const short&);
- int operator << (const unsigned short&);
- int operator << (const long&);
- int operator << (const unsigned long&);
-};
-
-int main ()
-{
- Foo fd;
-
- // We fixed convert_harshness_ansi so it considers the call to
- // <<(const signed char&) to be a trivial conversion. It used
- // to always make it a standard conversion, which made it conflict
- // with <<(const unsigned char &), which is really a std conv.
- fd << (signed char) 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload6.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload6.C
deleted file mode 100644
index 84903c19d74..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload6.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-struct temp_string {
- temp_string (const unsigned char);
-};
-
-class String {
- public:
- String& operator = (temp_string);
- String& operator = (const String&);
-};
-class S {
- public:
- operator temp_string & () const;
-};
-
-S lbuf;
-
-static void e_r ()
-{
- String a;
- a = lbuf;
- return;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload7.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload7.C
deleted file mode 100644
index ec2685c4067..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload7.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// GROUPS passed overloading
-extern "C" void printf (char *, ...);
-
-struct NoName {
-
- int first;
- int second;
-};
-
-class Casted {
-
- public:
-
- NoName x;
- double y;
-
- Casted ( int _x , double _y ): y(_y)
- {
- x.first = _x;
- x.second = _x*2;
- }
-
- operator NoName() const { return x; }
- operator double() const { return y; }
-};
-
-int main()
-{
- Casted c(10,12.34);
-
- NoName x;
- double y;
-
- x = c;
- y = c;
-
- if (x.first == 10 && x.second == 20 && y == 12.34)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload8.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload8.C
deleted file mode 100644
index 71d16898fb7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload8.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-typedef struct{double re,im;} complex;
-class Complex{public:double re,im;
- inline void operator=(Complex&X){re=X.re; im=X.im;};};
-void zxcvbnm(int n,...){n=1;}
-int main(){complex c; Complex C;
-zxcvbnm(1,c);
-zxcvbnm(1,C);}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload9.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload9.C
deleted file mode 100644
index 93a0cbff9be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/overload9.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-class CLogger
-{
-public:
- void operator() (int,const char *) {}; // ERROR - candidates
- void operator() (int,const char *, ...) {}; // ERROR - candidates
-} Log;
-
-class CGLogger : public CLogger
-{
-} GLog;
-
-int main()
-{
- Log(1,"Test");// ERROR - call of.*
- Log(1,"Test %d",3);
- GLog(1,"Test");// ERROR - call of.*
- GLog(1,"Test %d",3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse1.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse1.C
deleted file mode 100644
index 0c62c03bda9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/parse1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-class Try {
-private:
- char s;
-public:
- // an escaped double-quote should not call consume_string inside
- // reinit_parse_for_block
- void mf() { s='\"'; }
-};
-
-int main()
-{
- Try x;
- x.mf();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse2.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse2.C
deleted file mode 100644
index cd588e15d86..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/parse2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-class BitString {
-public:
- int i;
-};
-
-
-typedef BitString BS;
-typedef ::BitString cBS;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C
deleted file mode 100644
index 8be64a39b68..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-// these are marked as expected errors because they evidence an
-// ambiguity in the grammar between expressions and declarations.
-// when the parser's been cleaned up or rewritten, these two error
-// markers can go away, since they'll no longer occur.
-
-class A
-{
- public:
- int high;
- unsigned int low;
- A operator+(const A in);
-};
-
-A A::operator+(const A in)
-{
- if (high==0)
- return A(); // this works
- else
- return (A()); // this works not // gets bogus error - XFAIL *-*-*
-} // gets bogus error - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse4.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse4.C
deleted file mode 100644
index 6526c605951..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/parse4.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-// this is marked as an expected error because it evidences an
-// ambiguity in the grammar between expressions and declarations.
-// when the parser's been cleaned up or rewritten, the error
-// marker can go away, since it'll no longer occur.
-
-class B
-{
-public:
- B( int t ) {}
- void f() {}
-};
-
-int g() { return 0; } // gets bogus error - referenced below XFAIL *-*-*
-
-int main()
-{
- int try1;
- B( try1 ).f(); // no syntax error
- B b( g() ); // no syntax error
- B( ::g() ).f(); // no syntax error
- B( g() ).f(); // gets bogus error - treated as decl XFAIL *-*-*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse5.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse5.C
deleted file mode 100644
index 81a5fe649b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/parse5.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-// this is marked as an expected error because it evidences an
-// ambiguity in the grammar between expressions and declarations.
-// when the parser's been cleaned up or rewritten, the error
-// marker can go away, since it'll no longer occur.
-
-class ptr8
- {
-public:
- ptr8(unsigned char *string,int len);
- };
-
-template <unsigned int S>
-class buf
- {
-public:
- buf(const ptr8& aRef);
- };
-
-int main()
- {
- unsigned char b[3];
- buf<3> b2(ptr8(&b[0],3)); // gets bogus error - XFAIL *-*-*
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse6.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse6.C
deleted file mode 100644
index d5ece069103..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/parse6.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-// this is marked as an expected error because it evidences an
-// ambiguity in the grammar between expressions and declarations.
-// when the parser's been cleaned up or rewritten, the error
-// marker can go away, since it'll no longer occur.
-
-class A { };
-
-int main() {
- A a = a;
- A b(b); // gets bogus error - XFAIL *-*-*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/prepost1.C b/gcc/testsuite/g++.old-deja/g++.brendan/prepost1.C
deleted file mode 100644
index e1b18bcadc5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/prepost1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed prefix-postfix
-class foo {
-public:
- operator ++ (); // ERROR - no type or storage class
-};
-
-int main()
-{
- foo x;
-
- // This should fall back to calling operator++(), and be an error with
- // the -pedantic flag.
- x++;// ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/prepost2.C b/gcc/testsuite/g++.old-deja/g++.brendan/prepost2.C
deleted file mode 100644
index 1e34433e180..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/prepost2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-class foo {
-public:
- operator ++ (); // ERROR - no type or storage class
- operator ++ (int); // ERROR - no type or storage class
- operator ++ (char); // illegal// ERROR - .*
- operator ++ (short); // illegal// ERROR - .*
- operator ++ (long); // illegal// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/prepost3.C b/gcc/testsuite/g++.old-deja/g++.brendan/prepost3.C
deleted file mode 100644
index 4244e4ff59e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/prepost3.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed prefix-postfix
-class Y {
-public:
- friend Y operator++ (Y&);
- friend Y operator++ (Y&, char); // illegal// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/prepost4.C b/gcc/testsuite/g++.old-deja/g++.brendan/prepost4.C
deleted file mode 100644
index ac31f912952..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/prepost4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed prefix-postfix
-class Y {
-public:
- friend Y operator++ (Y&);
-
- // This is legal---it's a good test to make sure that grokfndecl's
- // checking of the arguments is sane.
- friend Y operator++ (Y&, int);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy1.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy1.C
deleted file mode 100644
index 3e3b2dfe1b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy1.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed ptolemy-bugs
-class Tcl_Interp;
-
-class PTcl {
-public:
- PTcl(Tcl_Interp* interp = 0);
- ~PTcl();
- int alias(int argc,char** argv);
-};
-
-typedef int (PTcl::*InterpFuncP)(int,char**);
-
-struct InterpTableEntry {
- char* name;
- InterpFuncP func;
-};
-
-
-static InterpTableEntry funcTable[] = {
- { "alias" , &PTcl::alias } ,
- 0, 0
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C
deleted file mode 100644
index 58a10dcec90..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C
+++ /dev/null
@@ -1,69 +0,0 @@
-// GROUPS passed ptolemy-bugs
-#include <iostream.h>
-
-class PTcl {
-public:
- int dispatcher(int which,int argc,char** argv);
- // fns in the table
- int one(int argc, char** argv);
- int two(int argc, char** argv);
- int three(int argc, char** argv);
-};
-
-// An InterpFuncP is a pointer to an PTcl function that takes an argc-argv
-// argument list and returns TCL_OK or TCL_ERROR.
-
-typedef int (PTcl::*InterpFuncP)(int,char**);
-
-struct InterpTableEntry {
- char* name;
- InterpFuncP func;
-};
-
-// Here is the function table and dispatcher function.
-// These macros define entries for the table
-
-#define quote(x) #x
-#define ENTRY(verb) { quote(verb), &PTcl::verb }
-
-static InterpTableEntry funcTable[] = {
- ENTRY(one),
- ENTRY(two),
- ENTRY(three),
- {0, 0}
-};
-
-int PTcl::dispatcher(int which, int argc, char** argv) {
- return (this->*(funcTable[which].func))(argc, argv);
-}
-
-void printargs(char** argv) {
-// while (*argv) {
-// cout << " " << *argv++;
-// }
-// cout << "\n";
-}
-
-int PTcl::one(int, char** argv) {
- cout << "FAIL\n";
- printargs(argv);
- return 0;
-}
-
-int PTcl::two(int, char** argv) {
- cout << "PASS\n";
- printargs(argv);
- return 0;
-}
-
-int PTcl::three(int, char** argv) {
- cout << "FAIL\n";
- printargs(argv);
- return 0;
-}
-
-int main (int argc, char** argv) {
- PTcl obj;
- obj.dispatcher(1,argc,argv);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem1.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem1.C
deleted file mode 100644
index 49c9f75aa1f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed pointers-to-members
-class my_class
-{
-public:
- typedef void func_type (int num);
- my_class (int num, func_type* proc);
- void dispatch (void);
-private:
- int _num;
- func_type *_proc;
-};
-
-my_class::my_class (int num, func_type* proc) : _num(num), _proc(proc)
-{
-}
-
-void my_class::dispatch (void)
-{
- _proc(_num);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem2.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem2.C
deleted file mode 100644
index 2af19e04d84..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem2.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed pointers-to-members
-struct C {
- struct N {
- int g1(int);
- int g2(int);
- };
-
- typedef int (N::*pmfn)(int);
-
- int f1(int);
- int f2(int);
-};
-
-int (C::*f)(int) = &C::f1;
-
-/*
- The compiler should not crash on the line below; this change fixes it:
- * cp-tree.c (list_hash_lookup_or_cons): Make sure the type doesn't
- have TYPE_PTRMEMFUNC_P set before we try to build its
- CLASSTYPE_ID_AS_LIST.
-*/
-
-C::pmfn h = &C::N::g1;
-
-int (C::N::*g)(int) = &C::N::g2;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C
deleted file mode 100644
index 0f6bf0bd90f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-// GROUPS passed pointers-to-members
-template<class T> class TemplA {
- T t;
-};
-
-
-template<class T> class TemplB {
-public:
- typedef void (T::*TClassMethod)();
-
-private:
-/*
- This line should not crash cuz of the get_decl_list change in this:
- * cp-tree.c (list_hash_lookup_or_cons): Make sure the type doesn't
- have TYPE_PTRMEMFUNC_P set before we try to build its
- CLASSTYPE_ID_AS_LIST.
- (get_decl_list): Likewise, when trying to read it.
-*/
- TemplA<TClassMethod> Tmethod;
-};
-
-
-class C {
- int a;
-};
-
-int main(int, char**) {
-
- TemplB<C> test;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem4.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem4.C
deleted file mode 100644
index a4f792e5c07..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ptrmem4.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed pointers-to-members
-class X {
- private:
- int i;
- public:
- X(int k) { i=k; }
- int operator=(X &a) { return i = a.i; }
- int operator=(int ii) { return i = ii; }
-};
-int main(void)
-{
- int (X::*op1_ptr)(X&);
- op1_ptr = &X::operator=; // g++ gives error
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/recurse.C b/gcc/testsuite/g++.old-deja/g++.brendan/recurse.C
deleted file mode 100644
index 639dfb3b3dd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/recurse.C
+++ /dev/null
@@ -1,80 +0,0 @@
-// Build don't link:
-// GROUPS passed recursive-aborts
-// types
-typedef unsigned int DBflag; // for storing user flag value
-typedef unsigned long DBoffset; // 32-bit unsigned integer
-typedef DBoffset DBsize; // type for storing sizes of objects
-typedef unsigned char DBbyte; // 8-bit unsigned char
-
-class DBlink
-{
-protected:
- DBbyte link[4]; // hold link in portable MSB first format
-public:
- DBlink(DBoffset = 0, DBflag = 0);
- DBlink &operator=(const DBlink &);
- DBlink &operator=(DBoffset);
- operator DBoffset();
- operator const DBbyte *() { return link; }
- void set_flag() { link[0] |= 0x80; }
- void reset_flag() { link[0] &= 0x7f; }
- int test_flag() const { return (link[0] & 0x80) != 0; }
-};
-
-typedef DBlink DBsizerec; // hold data record size in portable format
-
-// constants
-const DBoffset DB_NULL = 0;
-
-class DBlinkrec
-{
-protected:
- // offsets are stored with MSB in link[0]
- DBlink l; // offset into link file of right child - MSB = red bit
- DBlink r; // offset into link file of left child - MSB = delete
- DBlink d; // offset into parallel data file - MSB = user flag
-public:
- DBlinkrec():l(DB_NULL), r(DB_NULL), d(DB_NULL) {}
- void make_red() // set link to red
- { l.set_flag(); }
- void make_black() // set link to black
- { l.reset_flag(); }
- int is_red() const // indicates whether this is a red link
- { return l.test_flag(); }
- void set_discard() // set discard flag
- { r.set_flag(); }
- void reset_discard() // reset discard flag
- { r.reset_flag(); }
- int is_discarded() const // check discard flag
- { return r.test_flag(); }
- void set_flag() // set user flag
- { d.set_flag(); }
- void reset_flag() // reset user flag
- { d.reset_flag(); }
- int is_flag() const // check user flag
- { return d.test_flag(); }
-
- friend class DataBase;
-};
-
-class DBpathrec : public DBlinkrec
-{
- DBoffset offset; // offset of link record in LNK file
-public:
- DBpathrec():offset(DB_NULL) { }
- DBpathrec(DBoffset off, const DBlinkrec &lr):offset(off), DBlinkrec(lr) {}
- operator DBoffset() { return offset; }
- DBpathrec &operator=(DBoffset off) { offset = off; return *this; }
- DBpathrec &operator=(const DBpathrec &pr)
- { offset = pr.offset; (DBlinkrec)*this = (DBlinkrec)pr; return *this; }
-
- friend class DataBase;
-};
-
-int main()
-{
- DBpathrec a(), b();
-
- a = b;// ERROR - non-lvalue in assignment.*
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C b/gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C
deleted file mode 100644
index 39a432cac5f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed redeclaration
-inline int min(int x, int y) {return x < y ? x : y;} /* 235 */// ERROR - .*
-int min(int a, int b);
-inline int min(int a, int b) {return (a < b)?a:b;}// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C b/gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C
deleted file mode 100644
index 58942197ddf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C
+++ /dev/null
@@ -1,51 +0,0 @@
-// GROUPS passed redeclaration
-// Check that if multiple declarations of the same single
-// function are present in different places in the same file,
-// and if these declarations differ (as allowed) in the number
-// of argument defaults provided, that correct values are
-// passed at all call points anyway.
-
-extern "C" void printf (char *, ...);
-
-void receiver (int ii, int jj);
-
-void sender_1 ()
-{
- receiver (3,7);
-}
-
-void receiver (int ii, int jj = 9);
-
-void sender_2 ()
-{
- receiver (5);
-}
-
-int ii_sum = 0;
-int jj_sum = 0;
-
-void sender_3 ();
-
-int main ()
-{
- sender_1 ();
- sender_2 ();
- sender_3 ();
- if (ii_sum != 13 || jj_sum != 25)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
- return 0;
-}
-
-void receiver (int ii, int jj)
-{
- ii_sum += ii;
- jj_sum += jj;
-}
-
-void sender_3 ()
-{
- receiver (5);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C b/gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C
deleted file mode 100644
index 5987e0e3172..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed redeclaration
-class foo
-{
-public:
- int bar(int a);
-};
-
-
-void bar(int &a);
-
-int foo::bar(int a) {
- int a = 0; // Should this be an error ?// ERROR - declaration.*
-
- bar(a);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/reference1.C b/gcc/testsuite/g++.old-deja/g++.brendan/reference1.C
deleted file mode 100644
index 84ad6f4bf20..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/reference1.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// Special g++ Options: -w
-// GROUPS passed references
-// Check that if a reference is initialized to refer to a value
-// which is returned from a function call, the actual call to
-// the function is only invoked for the original initialization
-// of the reference, and not for each subsequent use of the
-// reference.
-//
-// This test fails with G++ 1.35.0- (pre-release).
-// Reported 4/4/89 by Kim Smith
-
-extern "C" void printf (char *, ...);
-
-struct base {
- mutable int data_member;
-
- base () {}
- void function_member () const;
-};
-
-base base_object;
-
-base base_returning_function ();
-
-int call_count = 0;
-
-int main ()
-{
- const base& base_ref = base_returning_function ();
-
- base_ref.function_member ();
- base_ref.function_member ();
- base_ref.data_member = 99;
-
- if (call_count == 1)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-
- return 0;
-}
-
-base base_returning_function ()
-{
- base local_base_object;
-
- call_count++;
- return local_base_object;
-}
-
-void base::function_member () const
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/rtti1.C b/gcc/testsuite/g++.old-deja/g++.brendan/rtti1.C
deleted file mode 100644
index 6dcdff34e36..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/rtti1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed RTTI
-#include <typeinfo>
-
-struct B { virtual ~B(){} };
-struct D0 : public virtual B { virtual ~D0(){} };
-struct D1 : public virtual D0 { virtual ~D1(){} };
-struct C : public virtual B, public D1 { virtual ~C() { } };
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/scope1.C b/gcc/testsuite/g++.old-deja/g++.brendan/scope1.C
deleted file mode 100644
index babbb018396..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/scope1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-int f (int i) {
- if (i)
- for (int j = i; j; j--)
- ;
- return j; // error: j should only be in scope inside the body of `for'// ERROR - .*
-} // ERROR - non-void
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/scope2.C b/gcc/testsuite/g++.old-deja/g++.brendan/scope2.C
deleted file mode 100644
index fccd1d66ec2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/scope2.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-class A
-{
- public:
- A() {}
- ~A() {}
- virtual void f() {}
-};
-
-class B : public A
-{
- public:
- B() {}
- ~B() {}
- virtual void f() {}
-};
-
-
-B GLOBAL_B;
-
-B& foo() {return GLOBAL_B;}
-
-int main()
-{
- // build_scoped_method_call and build_scoped_ref should know how
- // to deal with a reference for this
- foo().A::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/scope3.C b/gcc/testsuite/g++.old-deja/g++.brendan/scope3.C
deleted file mode 100644
index cf784303171..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/scope3.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-// This is fixed when NEW_CLASS_SCOPING is on.
-
-template<class T>
-class ArrayG {
-public:
- ArrayG();
-protected:
- const unsigned INITIAL;
- T* array;
-};
-
-template<class T>
-ArrayG<T>::ArrayG():
-array(new T[INITIAL])
-{ }
-
-struct X {
- struct Correspondence {
- int i;
- };
-
- void fill(ArrayG<Correspondence>& a);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/scope4.C b/gcc/testsuite/g++.old-deja/g++.brendan/scope4.C
deleted file mode 100644
index a6781abeb62..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/scope4.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-class BitString {
-public:
- int i;
- int length() const;
-};
-
-typedef BitString BS;
-
-class V {
-public:
- class BitString {
- public:
- static int x(const ::BitString& value);
- static int y(const class ::BitString& value); // should be parsed ok
- static int z(const BS& value);
- };
-};
-
-int
-V::BitString::x(const ::BitString& value)
-{ return value.length(); }
-
-int
-V::BitString::y(const class ::BitString& value) // should be parsed ok
-{ return value.length(); }
-
-int
-V::BitString::z(const BS& value)
-{ return value.length(); }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/scope5.C b/gcc/testsuite/g++.old-deja/g++.brendan/scope5.C
deleted file mode 100644
index 753236948a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/scope5.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-class Integer {
-public:
- int i;
-};
-
-class Type {
- enum Class { ENUM, INTEGER };
-
- class Description {
- public:
-
- };
-
- class Integer: public Description {
- public:
- ::Integer low;
- ::Integer high;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C b/gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C
deleted file mode 100644
index 6a1d9d1f8e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed errors
-void f( int a) {
- int a; // this should be an error now// ERROR - .*
- {
- int a;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof1.C b/gcc/testsuite/g++.old-deja/g++.brendan/sizeof1.C
deleted file mode 100644
index c8242eb5539..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed sizeof
-// ARM $5.3.2
-
-void f() { }
-
-int
-main()
-{
- // sizeof may not be applied to a function
- int i = sizeof( f);// ERROR - .*
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof2.C b/gcc/testsuite/g++.old-deja/g++.brendan/sizeof2.C
deleted file mode 100644
index ddac679d880..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed sizeof
-// ARM $5.3.2
-
-void f() { }
-
-struct foo { int bit : 1; };
-
-int
-main()
-{
- // sizeof may not be applied to a bit-field
- foo f;
- int i = sizeof (f.bit);// ERROR - .*
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof3.C b/gcc/testsuite/g++.old-deja/g++.brendan/sizeof3.C
deleted file mode 100644
index e6972ca397e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof3.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed sizeof
-// ARM $5.3.2
-
-class bar;
-
-int
-main()
-{
- // sizeof may not be applied to an undefined class
- int k = sizeof (bar);// ERROR - .*
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof4.C b/gcc/testsuite/g++.old-deja/g++.brendan/sizeof4.C
deleted file mode 100644
index 62d76c05bdd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof4.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed sizeof
-// ARM $5.3.2
-
-int
-main()
-{
- // sizeof may not be applied to the type void
- int l = sizeof (void);// ERROR - .*
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof5.C b/gcc/testsuite/g++.old-deja/g++.brendan/sizeof5.C
deleted file mode 100644
index 0ef9d9c5ed1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/sizeof5.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// GROUPS passed sizeof
-// ARM $5.3.2
-
-extern "C" void printf (char *, ...);
-
-class foo {};
-
-int
-main ()
-{
- // The size of any class or class object is larger than zero.
- int i = sizeof (foo);
- if (i > 0)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/sorry1.C b/gcc/testsuite/g++.old-deja/g++.brendan/sorry1.C
deleted file mode 100644
index caa9276f8a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/sorry1.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-// GROUPS passed old-sorry
-class a {
-public:
- int* foo();
-};
-
-a aa;
-a* ap;
-
-class b {
-public:
- int ok(int* p =aa.foo());
-
- // dump_init should know what to do with this NON_LVALUE_EXPR
- int f(int* p =ap->foo());
-};
-
- int
-b::ok(int *p)
-{
- return 0;
-}
-
- int
-b::f(int *p)
-{
- return 0;
-}
- void
-bar()
-{
- b b;
- b.ok();
- b.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/static1.C b/gcc/testsuite/g++.old-deja/g++.brendan/static1.C
deleted file mode 100644
index b30c796eb19..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/static1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed static
-class A { public: int a; };// ERROR - .*
-void foo7 () { A::a = 3; }// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/static2.C b/gcc/testsuite/g++.old-deja/g++.brendan/static2.C
deleted file mode 100644
index 8fd5ffc8488..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/static2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed static
-class A
-{
- public:
- void member(void)
- {
- }
-
- static void staticMember()
- {
- member (); // illegal, no object for calling non-static method// ERROR - .*
- }
-};
-
-int main()
-{
- A::staticMember();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/static3.C b/gcc/testsuite/g++.old-deja/g++.brendan/static3.C
deleted file mode 100644
index 5c52f0e217d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/static3.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed static
-class foo{
-public:
- static void bar( int i ){ value = i; }
- static int value;// ERROR - .*
-};
-
-const int foo::value = 0; // should be an error.// ERROR - .*
-
-int main(){
- foo::bar( 1 );
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C b/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C
deleted file mode 100644
index 5356796094a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/synth1.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors -g -Wall
-// GROUPS passed synthetics
-// excess errors test - XFAIL sparc64-*-elf
-// Check to make sure that g++ doesn't get freaked out about the use
-// of generated methods that it supposedly "can't see".
-
-class Char {
-public:
- Char();
- Char(char v);
-
- // synthetic copy-constructor and operator=
-private:
- char value;
-};
-
-class XChar: public Char {
-public:
- XChar();
- XChar(char v, int serial);
-
- void operator=(const XChar& other);
-private:
- int serial;
-};
-
-void
-XChar::operator=(const XChar& other)
-{
- Char::operator=(other);
- // serial stays the same
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template1.C b/gcc/testsuite/g++.old-deja/g++.brendan/template1.C
deleted file mode 100644
index e6609fd323b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-// g++-2.2.1: member functions returning a template type
-
-
-template <class T> struct list { };
-
-struct A
-{
- list<int> L;
-
- list<int> get_list();
-
-};
-
-
-list<int> A::get_list() { return L; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template11.C b/gcc/testsuite/g++.old-deja/g++.brendan/template11.C
deleted file mode 100644
index 4a953a34082..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template11.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class Called>
-class aCallback
-{
-public:
- aCallback(Called& obj, int (Called::*met)());
-
- int callback();
-
-protected:
-
-private:
- // the object to call
- Called& object;
-
- // the method to apply
- int (Called::*method)();
-
-};
-
-template <class Called>
-aCallback<Called>::aCallback(Called& obj,
- int (Called::*met)()) :
-object(obj),
-method(met)
-{};
-
-template <class Called>
-int aCallback<Called>::callback()
-{
- return (object.*method)();
-}
-
-struct myStruct
-{
- int action() {return 24;};
-};
-
-int main()
-{
- myStruct toto;
-
- aCallback<myStruct> cb(toto, &myStruct::action);
-
- return cb.callback();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template12.C b/gcc/testsuite/g++.old-deja/g++.brendan/template12.C
deleted file mode 100644
index 2165ae29ee4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template12.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-inline void foo (const int &x) {}
-
-template <class type>
-inline void foo (const type &x) {x.eat_this_and_die();}
-
-int main (int argc, char **argv) {foo (argc);}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template13.C b/gcc/testsuite/g++.old-deja/g++.brendan/template13.C
deleted file mode 100644
index 653ef215e88..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template13.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<class T>
-class ListS {
-public:
- class Vix {
- public:
- Vix();
- };
-};
-
-template<class T>
-ListS<T>::Vix::Vix()
-{ }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template15.C b/gcc/testsuite/g++.old-deja/g++.brendan/template15.C
deleted file mode 100644
index b830505e209..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template15.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<class T> class Stack {
- public:
- Stack (int s = 10); //Comment out "= 10" and it will compile
- ~Stack(void); //Omitting "void" doesn't help
-};
-
-template<class T> Stack<T>::~Stack(void)
-{ }
-
-//If this definition comes before the one for ~Stack, the error message
-//about redeclaration of `void Stack<int>::~Stack()' will not occur.
-template<class T> Stack<T>::Stack(int s)
-{ }
-
-int main () {
- Stack<int> stk(10);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template16.C b/gcc/testsuite/g++.old-deja/g++.brendan/template16.C
deleted file mode 100644
index ec13a24f86e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template16.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<class T> class TList {
- typedef void (T::*TVOIDFUNT)();
- typedef T* (T::*TTPFUNT)(T*);
-};
-
-class A;
-class B : TList<A> { };
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template17.C b/gcc/testsuite/g++.old-deja/g++.brendan/template17.C
deleted file mode 100644
index e6c2652dce5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template17.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-struct Regex { int i; Regex(char *, int); };
-template<class KEY>
-class NDAMName {
-public:
- static const Regex pattern;
- static unsigned sequence_number;
-};
-
-const Regex NDAMName<'L'>::pattern("^[Ll](.*)$", 1);// ERROR - type/value.*
-unsigned NDAMName<'L'>::sequence_number = 0;// ERROR - type/value
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template18.C b/gcc/testsuite/g++.old-deja/g++.brendan/template18.C
deleted file mode 100644
index 5c6479cbffc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template18.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<class T> class X;
-typedef X<int> IX;
-
-template<class T>
-class X {
-public:
- T x;
-};
-
-struct A {
- IX c;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template19.C b/gcc/testsuite/g++.old-deja/g++.brendan/template19.C
deleted file mode 100644
index a8b33c1b4dd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template19.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-class Base
-{
-public:
- Base() { }
-};
-
-template <class memberType, class keyType>
-class Middle : public Base<memberType>
-{
-public:
- Middle (keyType const & (*ko) (memberType const &))
- {
- }
-};
-
-// EXCHANGE the following lines for this code to work.
-//template <class memberType, class keyType> class Middle;
-template <class T, class keyType> class Middle;
-
-struct Test : public Middle <int, int>
-{
- Test();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template2.C b/gcc/testsuite/g++.old-deja/g++.brendan/template2.C
deleted file mode 100644
index ca60fa7e95a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class Q>
-class Conc {
-public:
- static int body();
-};
-
-template <class Q>
-int Conc<Q>::body() {return 0;}
-
-int main () {
- Conc<int> s2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template20.C b/gcc/testsuite/g++.old-deja/g++.brendan/template20.C
deleted file mode 100644
index da26f9a756c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template20.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class A, class B> class Map;
-
-class Foo
-{
-public:
- static Map<int,int> bar;
-};
-
-template <class A, class B>
-class Map
-{
-public :
- int find();
-};
-
-int main()
-{
- int z = Foo::bar.find();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template21.C b/gcc/testsuite/g++.old-deja/g++.brendan/template21.C
deleted file mode 100644
index 9d6139191e0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template21.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<class T>
-class L {
-public:
- L();
-
- T x[30];
- int doit(int i) const;
-};
-
-#ifdef BUG
-template<class T>
-int
-L<T>::doit(int i) const
-{
- return x[i].z;
-}
-#endif
-
-class X {
-public:
- class Y {
- public:
- Y();
- Y(int);
-
- int z;
- };
-
- L<Y> ly;
-};
-
-#ifndef BUG
-template<class T>
-int
-L<T>::doit(int i) const
-{
- return x[i].z;
-}
-#endif
-
-static X x;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template22.C b/gcc/testsuite/g++.old-deja/g++.brendan/template22.C
deleted file mode 100644
index 28c70b34301..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template22.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// GROUPS passed templates
-extern "C" int printf (const char *, ...);
-
-template <class T>
-class Foo
-{
-public:
- void func (int const& i);
-};
-
-template <class T>
-void Foo<T>::
-func (int const& i)
-{}
-
-
-int main ()
-{
- Foo<int const> foo;
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template23.C b/gcc/testsuite/g++.old-deja/g++.brendan/template23.C
deleted file mode 100644
index f38d4204685..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template23.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-class T_Base
-{};
-
-template <class T>
-class T_Derived
-: public T_Base<T>
-{};
-
-
-class Base
-{
-public:
- Base (float name);
-};
-
-class Derived
-: public Base
-{
-private:
- T_Base<int>* data_; // Fix (1): Change date_ from T_Base<int>* to T_Derived<int>*
-
-public:
- Derived (float name);
-};
-
-
-Derived::
-Derived (float name)
-: Base(name),
- data_(new T_Derived<int>())
-{}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template24.C b/gcc/testsuite/g++.old-deja/g++.brendan/template24.C
deleted file mode 100644
index 34549a001d7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template24.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// GROUPS passed templates
-extern "C" void printf (char *, ...);
-
-template <class F>
-class Temp
-{
- F func_;
-public:
- Temp (F f) :func_(f) {}
-};
-
-int func (int h = 1, int z = 2) { return h+z; }
-
-int main ()
-{
- Temp<int(*)(int, int)> temp (func);
-
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template25.C b/gcc/testsuite/g++.old-deja/g++.brendan/template25.C
deleted file mode 100644
index 5939fed5b89..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template25.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-class Temp_Base
-{};
-
-template <class T>
-class Temp_Derived
-: public Temp_Base<T>
-{
-public:
- Temp_Derived (int i = 10) {}
-};
-
-
-class Base
-{
- float r_;
-public:
- Base (float r) : r_(r) {}
-};
-
-class Derived
-: public Base
-{
-private:
- Temp_Base<int>* boo_;
-public:
- Derived (float);
-};
-
-Derived::
-Derived (float form)
-: Base(form),
- boo_(new Temp_Derived<int>)
-{}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template26.C b/gcc/testsuite/g++.old-deja/g++.brendan/template26.C
deleted file mode 100644
index 6dc15551f81..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template26.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-class V {
- public:
- V();
- V(int);
- };
-
-template <int I> class AA: public virtual V {
- public:
- AA();
- AA(int);
- };
-
-template <int I> class BB : public virtual V {
- public:
- BB();
- BB(int);
- };
-
-template <int I> AA<I>::AA() {};
-template <int I> AA<I>::AA(int i): V(i) {};
-template <int I> BB<I>::BB() {};
-template <int I> BB<I>::BB(int i) {};
-
-class CC : public AA<1>, public BB<2> {
- public:
- CC();
- CC(int);
- };
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template27.C b/gcc/testsuite/g++.old-deja/g++.brendan/template27.C
deleted file mode 100644
index a2649d439e0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template27.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
- template<class K, class V> class MapLS { };
- class String {};
- class X1 { };
- class RefProto { };
- template<class REP> class Ref { };
-
- class MapLS<String, Ref<X1> >: public MapLS<String, RefProto> {
- public:
- ~MapLS();
- };
-
- MapLS<String, Ref<X1> >::~MapLS() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template28.C b/gcc/testsuite/g++.old-deja/g++.brendan/template28.C
deleted file mode 100644
index 48ae7fbf2fc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template28.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-class X {
- const char *fptr;
-public:
- X(const char *ptr) { fptr = ptr; }
- operator const char*() { return fptr; }
-};
-
-int main(){
- X x1("1234");
- X x2(x1+1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template29.C b/gcc/testsuite/g++.old-deja/g++.brendan/template29.C
deleted file mode 100644
index 2c427d912bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template29.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
- template <class ElementType> class A
- { public:
- A(ElementType) {}
- ElementType get() const ;
- };
-
- template <class ElementType> ElementType A<ElementType>::get() const
- { return ElementType(0); }
-
-int main() { const A<short> a(3); }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template3.C b/gcc/testsuite/g++.old-deja/g++.brendan/template3.C
deleted file mode 100644
index 3900421d12f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template3.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// GROUPS passed templates
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-int count = 0;
-
-void
-die (int x)
-{
- if (x != ++count)
- {
- printf ("FAIL\n");
- exit (1);
- }
-}
-
-class A {
- public:
- void f() const { die (-1); }
-};
-
-
-template <class Item>
-class B : public A {
- public:
- void f() const;
-};
-
-template <class Item>
-inline void B<Item>::f() const { die (1); }
-
-template <class Item>
-class C : public A {
- public:
- void f() const { die (2); }
-};
-
-
-int main()
-{
- B<int> b;
- C<int> c;
-
- b.f(); //- bugged, (A::f() called instead of B::f())
- c.f(); //- works fine (C::f() called)
-
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template30.C b/gcc/testsuite/g++.old-deja/g++.brendan/template30.C
deleted file mode 100644
index 97357d63a80..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template30.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-
- template<class K, class V> class MapLS { };
- class String {};
- class X1 { };
- class RefProto { };
- template<class REP> class Ref { };
-
- class MapLS<String, Ref<X1> >: public MapLS<String, RefProto> {
- public:
- ~MapLS();
- };
-
- MapLS<String, Ref<X1> >::~MapLS() { }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template31.C b/gcc/testsuite/g++.old-deja/g++.brendan/template31.C
deleted file mode 100644
index 3a1b149fb93..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template31.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-// PRMS Id: 13218
-
-struct C {
- int x;
- char y;
- double z;
-};
-C c02;
-
-template <int* ip> struct A {
- int* p;
- A() : p(ip) {}
-};
-
-template <C* cp> struct B {
- C* p;
- B() : p(cp) {}
-};
-
-int i00;
-
-int main(void)
-{
- A<&i00> a00;
-
- extern int i01;
- A<&i01> a01;
-
- B<&c02> b02;
-
- extern C c03;
- B<&c03> b03;
-}
-
-int i01;
-C c03;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template4.C b/gcc/testsuite/g++.old-deja/g++.brendan/template4.C
deleted file mode 100644
index 318cd2e10d0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template4.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-// This used to be a circularity in chainon.
-template <class ARG> struct TMPL {
- typedef int ARG::*ARG_data_member_ptr;
- typedef void (ARG::*ARG_func_member_ptr) ();
-};
-
-struct S { };
-
-TMPL<S> object;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template5.C b/gcc/testsuite/g++.old-deja/g++.brendan/template5.C
deleted file mode 100644
index 39b74d6a4df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template5.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<class T>
-class Vector
-{
-public:
- Vector(int x);
- ~Vector();
- T& operator [] (int i);
-
-private:
- T* v;
- int sz;
-} ;
-
-template<class T>
-Vector<T>::Vector(int x)
-{
- sz = x;
- v = new T (sz);
-} ;
-
-template<class T>
-Vector<T>::~Vector()
- { delete [] v; } ;
-
-template<class T>
-T &
-Vector<T>::operator [] (int i)
- { return v[i]; } ;
-
-int
-main(int, char **)
-{
- Vector<int> intvec(3);
-
- intvec[0] = 1;
- intvec[1] = 2;
- intvec[2] = 3;
-
- for (int i = 0; i < 3; i++)
- intvec[i];
-
- return 0;
-}
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template6.C b/gcc/testsuite/g++.old-deja/g++.brendan/template6.C
deleted file mode 100644
index 96459ca355d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template6.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-struct B {
-};
-
-struct X : B {
- ~X ();
-};
-
-struct Request {
- X s;
-};
-
-template <class ET> class TC {
- ET data;
-};
-
-struct TMem {
-
- ~TMem() {}
-
- TC<Request> *req;
-};
-
-struct FIO {
-
- void init ();
-
- FIO () { init(); }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template7.C b/gcc/testsuite/g++.old-deja/g++.brendan/template7.C
deleted file mode 100644
index 59dc4835632..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template7.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class ET>
-class ChainElem {
-public:
-
- ET data;
-};
-
-template <class ET>
-class Chain {
-public:
-
- ChainElem<ET> *first;
-
- virtual ~Chain() {}
-
-};
-
-struct B {
-};
-
-struct X : B {
- ~X ();
-};
-
-struct TBNFexpression {
-};
-
-struct TCaseLabelPair {
-};
-
-struct TVariant {
- Chain<TCaseLabelPair> CaseLabelList;
-};
-
-struct TCaseConstruct {
- Chain<TBNFexpression> TagFieldPrefixes;
- Chain<TVariant> Variants;
-};
-
-struct Production {
- X TypeName;
-};
-
-struct SimpleSyntax {
- Chain<Production> Productions;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template8.C b/gcc/testsuite/g++.old-deja/g++.brendan/template8.C
deleted file mode 100644
index 80adbe1a05c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template8.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-#include <stdio.h>
-
-// make sure we accept unions for templates
-template<int n>
-union Double_alignt{
- double for_alignt;
- char array[n];
-
-};
-
-int main(){
-
-
- Double_alignt<20000> heap;
-
- printf(" &heap.array[0] = %d, &heap.for_alignt = %d\n", &heap.array[0], &heap.for_alignt);
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template9.C b/gcc/testsuite/g++.old-deja/g++.brendan/template9.C
deleted file mode 100644
index c4c9c831157..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/template9.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// GROUPS passed templates
-// Test that the compiler will emit the definition of min given just
-// the declaration. At one point in the past, it did not.
-// Special g++ Options: -fguiding-decls
-#include <iostream.h>
-
-template <class T> inline T min(T a, T b) { return (a < b) ? a : b;};
-
-double min(double,double); // this should expand the template
-
-main () {
- int a = 1, b = 2;
- double aa = 2.0, bb = 1.2;
- cout << min(a,b) << ", " << min(aa,bb) << "\n";
- if (min (a, aa) == a)
- cout << "PASS" << endl;
- else
- cout << "FAIL" << endl;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/temporary1.C b/gcc/testsuite/g++.old-deja/g++.brendan/temporary1.C
deleted file mode 100644
index 8c6d4c38455..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/temporary1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed temporaries
-#include <stdio.h>
-
-int main ()
-{
- int a = 2;
-
- if (----a == 0)
- printf ("a = 0\n");
-
- printf ("a = %d\n", a);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/typedef1.C b/gcc/testsuite/g++.old-deja/g++.brendan/typedef1.C
deleted file mode 100644
index 2f7aa87b122..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/typedef1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-
-class baseClassA
-{
-public:
-private:
- class internalClassA
- {
- public:
- private:
- typedef int privateType;
-
- privateType memberA;
- };
-};
-
-class baseClassB
-{
-public:
-private:
- class internalClassA
- {
- public:
- private:
- typedef unsigned int privateType;
-
- privateType memberB;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/union1.C b/gcc/testsuite/g++.old-deja/g++.brendan/union1.C
deleted file mode 100644
index 7a4df261dbf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/union1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed unions
-// This is fixed by finish_anon_union doing a string_cst_equal check on
-// the DECL_SIZE of the decls, instead of comparing the DECL_SIZE nodes.
- unsigned
- hash(const double d)
- {
- static union {
- unsigned asint[2];
- double asdouble;
- };
- asdouble = d;
- return asint[0] ^ asint[1];
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/union2.C b/gcc/testsuite/g++.old-deja/g++.brendan/union2.C
deleted file mode 100644
index d913ae80321..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/union2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed unions
-class B;
-
-struct A {
- A(B* x) : i(x) {}
- A() : i(0) {}
-
- union {
- B* i;
- B* c;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/union3.C b/gcc/testsuite/g++.old-deja/g++.brendan/union3.C
deleted file mode 100644
index ad8b840b4bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/union3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed unions
-union alan {
-int a;
-char *b;
-alan();
-};
-
-alan mary;
-
-alan::alan()
-{
- a=0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility1.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility1.C
deleted file mode 100644
index 784c16772ea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-class foo {
-protected:
- int i; // ERROR - protected
-};
-
-class bar : public foo {
-public:
- friend void baz (foo *);
-};
-
-void baz (foo *f)
-{
- f->i = 1; // error: i is protected// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility10.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility10.C
deleted file mode 100644
index 4eb3cae8050..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility10.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-struct base
-{
- protected:
- void base_func() {}// ERROR - .*is protected.*
-};
-
-struct derived : public base
-{
- protected:
- void derived_func(base *ptr) { ptr->base_func(); }// ERROR - within this context
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility2.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility2.C
deleted file mode 100644
index 09e0f6591ae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-class X {
- void g (int); // ERROR - private
-public:
- void g (double);
-};
-
-class Y : public X { void f() { g (1); } }; // ERROR - private
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C
deleted file mode 100644
index 6e84da5ac51..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// Used to say:
-// manip.cc:17: member `_f' is a private member of class `B<int>'
-// manip.cc:17: member `_a' is a private member of class `B<int>'
-
-class A {};
-
-template <class TP>
-class B
-{
- A &(*_f) (A &, TP);
- TP _a;
-public:
- B (A &(*f) (A &, TP), TP a) : _f (f), _a (a) {}
- friend A &operator<< <>(A &o, const B<TP> &m);
-};
-
-template <class TP>
-inline A &
-operator<< (A &o, const B<TP> &m)
-{
- (*m._f) (o, m._a);
- return o;
-}
-
-A &setw (A &, int);
-B<int> setw (int n)
-{
- return B<int> (setw, n);
-}
-
-A x;
-
-void f ()
-{
- x << setw (2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility4.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility4.C
deleted file mode 100644
index 1e7aea1e10c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-template <class T>
-class Feld {
-public:
- Feld(const Feld&) {}
-};
-
-class Polynom : private Feld<double> {
- Polynom();
- friend Polynom f(const Polynom&);
-};
-
-Polynom f(const Polynom& p) { return p; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility5.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility5.C
deleted file mode 100644
index a53881a641e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility5.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-template<int K> class B;
-template<int K> class A {int n; friend class B<K>;};
-template<int K> class B {public: void method(A<K>) const;};
-template<int K> void B<K>::method(A<K> X) const {X.n=0;}
-typedef B<2> B2;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility6.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility6.C
deleted file mode 100644
index 85f47b5f89d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility6.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-class bottom
-{
-public:
- int b; // ERROR - private
-};
-class middle : private bottom
-{
-public:
- void foo () { b; }
-};
-class top : public middle
-{
-public:
- void bar () { b; }// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility7.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility7.C
deleted file mode 100644
index 670547dd2e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility7.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-class X
-{
-public:
- void fn ();// ERROR - .*
-};
-class Y : private X
-{};
-
-class Unrelated
-{
-public:
- void foo () { Y y; y.fn (); }// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility8.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility8.C
deleted file mode 100644
index 2d69e7bcf01..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility8.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// Make sure private inheritance affects the visibility of
-// static members used in an inherited context.
-class foo
-{
-public:
- static int y; // ERROR - private
-};
-class foo1 : private foo
-{ };
-class foo2 : public foo1
-{ public:
- void bar () { y; }// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/visibility9.C b/gcc/testsuite/g++.old-deja/g++.brendan/visibility9.C
deleted file mode 100644
index c2599291dc8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/visibility9.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-class A {
-public:
- void aMethod(void) {};// ERROR - .*
-};
-
-class AA : A { };
-
-class B {
-public:
- void thisMethod() {
- AA ana;
- ana.aMethod();// ERROR - .*
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/vtables1.C b/gcc/testsuite/g++.old-deja/g++.brendan/vtables1.C
deleted file mode 100644
index 984ce18ce6b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/vtables1.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// GROUPS passed virtual-tables
-// Check that virtual function tables are generated and used
-// even for struct's/classes which have no explicit constructors.
-
-extern "C" void printf (char *, ...);
-
-int base_func_member_1_called = 0;
-int derived_func_member_1_called = 0;
-
-struct base {
- virtual void func_member_1 ()
- {
- base_func_member_1_called++;
- }
-};
-
-struct derived : public base {
- virtual void func_member_1 ()
- {
- derived_func_member_1_called++;
- }
-
- virtual void func_member_2 ()
- {
- }
-};
-
-base* bp1;
-base* bp2;
-
-int main ()
-{
- bp1 = new base;
- bp2 = new derived;
-
- bp1->func_member_1 ();
- bp2->func_member_1 ();
-
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C
deleted file mode 100644
index 02963623a22..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed warnings
-// there should be a warning about foo only defining private methods
-class foo {
- int bar();
-};// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings10.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings10.C
deleted file mode 100644
index 78ddf77d856..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings10.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed warnings
-void foo()
-{
- int i;
- if (1) {
- for (int i = 0; i < 10; i++)
- ;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings2.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings2.C
deleted file mode 100644
index 49971d58356..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings2.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed warnings
-class K {
-public:
- void f() {
- }; // there should be no warning about this semicolon
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings3.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings3.C
deleted file mode 100644
index 14fe9978547..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O2 -Wall
-// GROUPS passed warnings
-class A {
-int i;
-public:
- void funcA(void) {
- funcB();
- }
-
- // The compiler should not emit a warning about not being
- // able to inline this function.
- void funcB(void) {
- i++;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
deleted file mode 100644
index d733522824e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed warnings
-int
-main ()
-{
- register int x;
- int * foo = &x; // in C++ it's perfectly legal to do this
-
- return 0;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings5.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings5.C
deleted file mode 100644
index 5a953fd1c54..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed warnings
-enum TypeKind { ATK, BTK } ;
-
-struct Type {
- enum TypeKind kind : 8;
- void setBTK();
-};
-
-void Type::setBTK() { kind = BTK; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings6.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings6.C
deleted file mode 100644
index 785c083464a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O2 -Wall -ansi -pedantic
-// GROUPS passed warnings
-// should not emit this warning about func:
-// x.C:2: warning: invalid storage class for function `func'
-//
-template <class T> inline void func(T)
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C
deleted file mode 100644
index 24e7a2cde0d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O2 -Wall
-// GROUPS passed warnings
-template<class T>
-class X {
-public:
- void kill(unsigned i)
- { vec[i].~T(); }
- T *vec;
-};
-
-class Y { };
-
-void
-x()
-{
- X<int> x;
- x.kill(0);
- X<Y> y;
- y.kill(0);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings8.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings8.C
deleted file mode 100644
index 5599918fd12..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings8.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-// GROUPS passed warnings
-bool foo(unsigned char c)
-{
- return (c & 17) != 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings9.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings9.C
deleted file mode 100644
index c46f2a1e45d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings9.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-// GROUPS passed warnings
-inline int foo()
-{
- return 3;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C
deleted file mode 100644
index 042096c81b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// g++ 1.36.1 bug 891229_02
-
-// g++ limits the scope of names which are declared as typedef names within
-// another type to that other type.
-
-// This conflicts with the (global) scope given to such names by cfront 2.0.
-
-// Cfront 2.0 passes this test.
-
-// Note 2/15/94: The standard has changed; this limiting of scope is correct
-// behavior. See 9.9. --jason
-
-// keywords: typedef, nested types, scope
-
-struct foo {
- foo ();
- typedef void (*function_p) (void);
-};
-
-function_p fp; // ERROR - no such type in scope
-
-foo::foo () {}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/891230_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/891230_01.C
deleted file mode 100644
index ac49e0bd444..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/891230_01.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// g++ 1.36.1 bug 891230_01
-
-// g++ gives typedefs which are nested within class declarations a scope
-// which is local to the class declaration itself. This causes examples
-// like the following to get compile-time errors.
-
-// Cfront 2.0 passes this test.
-
-// keywords: typedef, nested types, scope
-
-struct foo {
-
- typedef foo* foo_p;
- void member (foo_p);
-};
-
-void foo::member (foo_p p) { // gets bogus errors
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900107_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900107_01.C
deleted file mode 100644
index 7271f1aa71e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900107_01.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// g++ 1.36.1 bug 900107_01
-
-// Unlike GCC and Cfront 2.0, the g++ 1.36.1 compiler gives struct, union,
-// and class declarations which are nested within blocks file scope.
-
-// Cfront 2.0 passes this test.
-
-// keywords: block scope, file scope, nested types, tagged types
-
-class c1 { int c1_member1; };
-struct s1 { int s1_member1; };
-union u1 { int u1_member1; };
-enum e1 { e1_val1 };
-typedef int t1;
-
-void foo ()
-{
- class c1 { // gets bogus error
- int c1_member1;
- } c1_local_object_0;
-
- struct s1 { // gets bogus error
- int s1_member1;
- } s1_local_object_0;
-
- union u1 { // gets bogus error
- int u1_member1;
- } u1_local_object_0;
-
- enum e1 { // OK using g++ or GCC, but mishandled by Cfront 2.0.
- e1_value1
- } e1_local_object_0;
-
- typedef int t1; // OK
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C
deleted file mode 100644
index 3c93c525997..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// g++ 1.36.1 bug 900119_01
-
-// g++ allows initializers to be included in the declaration of members
-// of classes, structs, unions (even when -pedantic is used).
-
-// This is not allowed by the C++ 2.0 Reference Manual or by Cfront 2.0.
-
-// keywords: member declaration, member initialization
-
-int global_int;
-
-class class0 {
-public:
- int class0_member_0 = 99; /* ERROR - */
- static int class0_member_1 = 99; /* ERROR - */
- int &class0_member_2 = global_int; /* ERROR - */
-
- class0 () : class0_member_2 (global_int) { } /* ERROR - */
-};
-
-
-struct struct0 {
- int struct0_member_0 = 99; /* ERROR - */
- static int struct0_member_1 = 99; /* ERROR - */
- int &struct0_member_2 = global_int; /* ERROR - */
-
- struct0 () : struct0_member_2 (global_int) { } /* ERROR - */
-};
-
-// g++ does not allow unions to have more than one member with an initializer
-
-union union0 {
- int union0_member_0 = 99; /* ERROR - */
-};
-
-union union1 {
- //static int union1_member_0 = 99; /* definitely illegal (9.5) */
-};
-
-union union2 {
- int &union2_member_0 = global_int; /* ERROR - */
-
- union2 () : union2_member_0 (global_int) { } /* ERROR - */
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900121_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900121_01.C
deleted file mode 100644
index ea07968c3a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900121_01.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// g++ 1.36.1 bug 900121_01
-
-// The following file causes g++ 1.36.1 (and 1.36.2) to abort.
-
-// Cfront 2.0 passes this test.
-
-// keywords: abort, incomplete types, reference types, formal parameters
-
-struct s0; // ERROR - forward declaration
-
-void function (struct s0 &arg1, struct s0 &arg2)
-{
- arg1 = arg2; // ERROR - causes abort
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C
deleted file mode 100644
index c90dfd9aaa4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// g++ 1.36.1 bug 900121_02
-
-// Assignment of structs is defined as memberwise assignment,
-// however g++ (1.36.2) and Cfront 2.0 differ on the definition
-// of assignment for unions.
-
-// (NOTE: Stroustrup now says that assignment of unions which contain either
-// members or sub-members (base classes are not allowed for unions) which
-// have non-default assignment operators defined for them will be illegal
-// in future.)
-
-// g++ (1.36.2) on the other hand, accepts this program without errors.
-
-// keywords: unions, operator=, inheritance, members
-
-struct s0 {
-
- int i;
-
- void operator= (s0 & arg)
- {
- this->i = arg.i;
- }
-};
-
-struct s1 {
-
- double d;
-
- void operator= (s1 & arg)
- {
- this->d = arg.d;
- }
-};
-
-union u0 {
- s0 u0_member_0; // ERROR -
- s1 u0_member_1; // ERROR -
-};
-
-void function ()
-{
- u0 u0_object_0;
- u0 u0_object_1;
-
- u0_object_0 = u0_object_1;
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900121_05.C b/gcc/testsuite/g++.old-deja/g++.bugs/900121_05.C
deleted file mode 100644
index 03155abf52e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900121_05.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// g++ 1.36.1 bug 900121_05
-
-// g++ allows unions to have base types (i.e. to be "derived") and it allows
-// other types to have unions as base types. Both cases are illegal.
-
-// g++ curently does not detect such errors.
-
-// Cfront 2.0 passes this test.
-
-// keywords: unions, inheritance
-
-struct s0 {
- int s0_member;
-};
-
-union u0 : public s0 { /* ERROR - union has base class */
- int u0_member_0;
- int u0_member_1;
-};
-
-union u1 {
- int u1_member_0;
- int u1_member_1;
-};
-
-struct s1 : public u1 { /* ERROR - base class is a union */
- int s1_member_0;
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C
deleted file mode 100644
index 7c24d08bc10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// g++ 1.36.1 bug 900127_01
-
-// g++ often fails to detect (and issue errors for) ambiguous overload
-// situations. In such cases, one of the possibilities is chosen
-// (apparently arbitrarily). Errors should be issued instead.
-
-// Cfront 2.0 passes this test.
-
-// keywords: function overloading, ambiguity
-
-void foo (int);
-int foo (void);
-
-typedef int (*f_ptr_t1) (void);
-typedef void (*f_ptr_t2) (int);
-
-void bar (f_ptr_t1); // ERROR -
-void bar (f_ptr_t2); // ERROR -
-
-void function ()
-{
- bar (foo); // ERROR - ambiguous
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900127_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900127_02.C
deleted file mode 100644
index 61cd481cecc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900127_02.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// g++ 1.36.1 bug 900127_02
-
-// g++ (mostly) keeps separate name spaces for the declarations of data
-// objects and functions.
-
-// This means that a single name may be declared as both a data object and
-// a function within a given scope.
-
-// This fact allows programmers to write code which is not portable to the
-// Cfront translator (which keeps a single namespace for these entities).
-
-// This can also lead to ambiguity when the & (address-of) operator is used.
-
-// Cfront 2.0 passes this test.
-
-// keywords: name spaces, overloading
-
-int global0; // ERROR -
-int global0 (); // ERROR -
-
-int global1 (); // ERROR - xref for below
-int global1; // ERROR - caught
-
-struct struct_0 {
- int class_local (); // ERROR -
- int class_local; // ERROR -
-};
-
-struct struct_1 {
- int class_local; // ERROR -
- int class_local (); // ERROR -
-};
-
-void function_0 ()
-{
- int function_0_local; // ERROR -
- extern int function_0_local (); // ERROR -
-}
-
-void function_1 ()
-{
- int function_1_local (); // ERROR -
- extern int function_1_local; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_02.C
deleted file mode 100644
index 505792f0dfa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_02.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// g++ 1.36.1 bug 900205_02
-
-// g++ allows constructors to be defined which do not include
-// initializations for reference members of their associated classes.
-
-// Cfront 2.0 does not allow this.
-
-// keywords: reference members, constructors, member initialization
-
-int i;
-
-class c0 {
- int &int_ref;
-public:
- c0 () /* : int_ref(i) */ { // ERROR - reference needs initializer
- }
-};
-
-class c1 {
- int &int_ref;
-public:
- c1 ();
-};
-
-c1::c1() /* : int_ref(i) */ { // ERROR - reference needs initializer
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C
deleted file mode 100644
index 4c352c87ae4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// g++ 1.36.1 bug 900205_03
-
-// Section 6.6.3 of the cfront 2.0 Reference Manual says "A return statement
-// without an expression can be used only in functions that do not return
-// a value, that is, a function with the return value type void..."
-
-// Also in 6.6.3: "Flowing off the end of a function is equivalent to a
-// return with no value; this is illegal in a value returning function."
-
-// In contrast to the manual, g++ does not generate ERRORs for cases of
-// "flowing off the end" of non-void functions.
-
-// keywords: return statements, return type, void return, implicit return
-
-// Special g++ Options: -Wreturn-type -pedantic-errors
-
-struct struct00 { };
-
-int global_function_0 () {
-} // ERROR -
-
-struct00 global_function_1 () {
-} // ERROR -
-
-struct struct0 {
-
- int struct0_member_function_0 () {
- } // ERROR -
-
- struct0 struct0_member_function_1 () {
- } // ERROR -
-};
-
-struct struct1 {
-
- int struct1_member_function_0 ();
-
- struct1 struct1_member_function_1 ();
-
-};
-
-int struct1_member_function_0 () {
-} // ERROR -
-
-struct1 struct1::struct1_member_function_1 () {
-} // ERROR -
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
deleted file mode 100644
index f763480d45f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// g++ 1.36.1 bug 900205_04
-
-// g++ allows a class for which an implicit default X::X() constructor must
-// be created (implicitly by the compiler) to be derived from another class
-// which does not have its own default X::X() constructor. This is illegal.
-
-// Cfront 2.0 passes this test.
-
-// keywords: default constructor, inheritance
-
-struct struct0 {
- int data_member;
-
- struct0 (int, void *); // suppresses implicit default constructor
-};
-
-struct0::struct0 (int, void *)
-{
-}
-
-struct struct0_derived_struct_0 : public struct0 {
-}; // ERROR -
-
-// struct0_derived_struct_0 object; // would give g++ error if compiled
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900207_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900207_03.C
deleted file mode 100644
index 187c070acb8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900207_03.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// g++ 1.36.1 bug 900207_03
-
-// g++ fails to allow objects of class or struct types to be initialized
-// using "constructor syntax" in cases where an implicitly generated copy
-// constructor would be invoked for the initialization, and where there is
-// no explicitly specified constructor associated with the type of the
-// object being initialized.
-
-// Note that the type of the error changes depending upon whether or not the
-// type being initialized has any virtual functions associated with it.
-
-// Cfront 2.0 passes this test.
-
-// keywords: implicit copy constructor, initialization
-
-
-// Check construction for a type without virtual function members.
-
-struct struct0 {
- int data_member;
-};
-
-struct0 struct0_gbl_object0;
-struct0 struct0_gbl_object1 (struct0_gbl_object0); // gets bogus error
-
-void struct0_test ()
-{
- struct0 struct0_lcl_object1 (struct0_gbl_object0); // gets bogus error
-}
-
-// Check construction for a type with virtual function members.
-
-struct struct1 {
- int data_member;
-
- virtual void function_member ();
-};
-
-void struct1::function_member () { }
-
-struct1 struct1_gbl_object0;
-struct1 struct1_gbl_object1 (struct1_gbl_object0); // gets bogus error
-
-void struct1_test ()
-{
- struct1 struct1_lcl_object1 (struct1_gbl_object0); // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900208_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900208_02.C
deleted file mode 100644
index 7e99abdb00f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900208_02.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// g++ 1.36.1 bug 900208_02
-
-// g++ does not allow a static member of a class/struct/union to be
-// declared as an array without an explicit upper bound.
-
-// Cfront 2.0 passes this test.
-
-// keywords: static data members, arrays, dimension, array bound
-
-class class0 {
-public:
- static int class0_data_member_0[]; // gets bogus error
-};
-
-int class0::class0_data_member_0[3] = { 1, 2, 3 }; // gets bogus error
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900208_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900208_03.C
deleted file mode 100644
index 667a174de22..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900208_03.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// g++ 1.36.1 bug 900208_03
-
-// The Cfront 2.0 reference manual (5.3.3) says "This type must be an
-// object type; functions cannot be allocated this way...".
-
-// g++ fails to detect (at compile time) cases where an attempt is made to
-// allocate a function using new.
-
-// keywords: operator new, function types
-
-typedef void (func_type) ();
-
-void global_function_0 ()
-{
- new func_type; // ERROR - missed by both cfront 2.0 and g++ 1.36.1
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900208_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900208_04.C
deleted file mode 100644
index bcf03973f10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900208_04.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// g++ 1.36.1 bug 900208_04
-
-// The Cfront 2.0 reference manual (5.3.3) says "This type must be an
-// object type; functions cannot be allocated this way...".
-
-// g++ fails to detect (at compile time) cases where an attempt is made to
-// deallocate a function using delete.
-
-// Cfront 2.0 passes this test.
-
-// keywords: operator delete, function types
-
-typedef void (func_type) ();
-
-void global_function_1 (func_type *p)
-{
- delete p; // ERROR - caught by Cfront 2.0 but not by g++ 1.36.1
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900209_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900209_01.C
deleted file mode 100644
index 59871ab31ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900209_01.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// g++ 1.36.1 bug 900209_01
-
-// g++ implicitly casts values whose types are "void*" to other pointer
-// types (just as the language rules for C permit). Such implicit
-// conversions are not allowed by the Cfront 2.0 Reference Manual
-// however.
-
-// Cfront 2.0 passes this test.
-
-// keywords: void pointers, type conversions, pointer type conversions
-
-void * void_pointer_object;
-char * char_pointer_object;
-
-void global_function_0 ()
-{
- char_pointer_object = void_pointer_object; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C
deleted file mode 100644
index 0a98388f915..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C
+++ /dev/null
@@ -1,112 +0,0 @@
-// g++ 1.36.1 bug 900210_01
-
-// g++ allows pointer type values to be assigned to variables of integal
-// types. According to the C++ Reference Manual, this is illegal.
-
-// Cfront 2.0 passes this test.
-
-// keywords: pointer types, integral types, implicit type conversions
-
-int i;
-long l;
-short s;
-char c;
-float f;
-double d;
-long double ld;
-enum {enum_value_0} e;
-
-signed int si;
-signed long sl;
-signed short ss;
-signed char sc;
-
-unsigned int ui;
-unsigned long ul;
-unsigned short us;
-unsigned char uc;
-
-void* vp;
-char* cp;
-int* ip;
-enum {enum_value_1} * ep;
-struct { int member; } * sp;
-void (*fp) (void);
-
-void global_function ()
-{
- i = vp; /* ERROR - */
- i = cp; /* ERROR - */
- i = ip; /* ERROR - */
- i = ep; /* ERROR - */
- i = sp; /* ERROR - */
- i = fp; /* ERROR - */
- l = vp; /* ERROR - */
- l = cp; /* ERROR - */
- l = ip; /* ERROR - */
- l = ep; /* ERROR - */
- l = sp; /* ERROR - */
- l = fp; /* ERROR - */
- s = vp; /* ERROR - */
- s = cp; /* ERROR - */
- s = ip; /* ERROR - */
- s = ep; /* ERROR - */
- s = sp; /* ERROR - */
- s = fp; /* ERROR - */
- c = vp; /* ERROR - */
- c = cp; /* ERROR - */
- c = ip; /* ERROR - */
- c = ep; /* ERROR - */
- c = sp; /* ERROR - */
- c = fp; /* ERROR - */
- si = vp; /* ERROR - */
- si = cp; /* ERROR - */
- si = ip; /* ERROR - */
- si = ep; /* ERROR - */
- si = sp; /* ERROR - */
- si = fp; /* ERROR - */
- sl = vp; /* ERROR - */
- sl = cp; /* ERROR - */
- sl = ip; /* ERROR - */
- sl = ep; /* ERROR - */
- sl = sp; /* ERROR - */
- sl = fp; /* ERROR - */
- ss = vp; /* ERROR - */
- ss = cp; /* ERROR - */
- ss = ip; /* ERROR - */
- ss = ep; /* ERROR - */
- ss = sp; /* ERROR - */
- ss = fp; /* ERROR - */
- sc = vp; /* ERROR - */
- sc = cp; /* ERROR - */
- sc = ip; /* ERROR - */
- sc = ep; /* ERROR - */
- sc = sp; /* ERROR - */
- sc = fp; /* ERROR - */
- ui = vp; /* ERROR - */
- ui = cp; /* ERROR - */
- ui = ip; /* ERROR - */
- ui = ep; /* ERROR - */
- ui = sp; /* ERROR - */
- ui = fp; /* ERROR - */
- ul = vp; /* ERROR - */
- ul = cp; /* ERROR - */
- ul = ip; /* ERROR - */
- ul = ep; /* ERROR - */
- ul = sp; /* ERROR - */
- ul = fp; /* ERROR - */
- us = vp; /* ERROR - */
- us = cp; /* ERROR - */
- us = ip; /* ERROR - */
- us = ep; /* ERROR - */
- us = sp; /* ERROR - */
- us = fp; /* ERROR - */
- uc = vp; /* ERROR - */
- uc = cp; /* ERROR - */
- uc = ip; /* ERROR - */
- uc = ep; /* ERROR - */
- uc = sp; /* ERROR - */
- uc = fp; /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C
deleted file mode 100644
index f900a86db0b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C
+++ /dev/null
@@ -1,112 +0,0 @@
-// g++ 1.36.1 bug 900210_02
-
-// g++ allows integral type values to be assigned to variables of pointer
-// types. According to the C++ Reference Manual, this is illegal.
-
-// Cfront 2.0 passes this test.
-
-// keywords: integral types, pointer types, implicit type conversions
-// Special Options: -ansi -pedantic-errors
-int i;
-long l;
-short s;
-char c;
-float f;
-double d;
-long double ld;
-enum {enum_value_0} e;
-
-signed int si;
-signed long sl;
-signed short ss;
-signed char sc;
-
-unsigned int ui;
-unsigned long ul;
-unsigned short us;
-unsigned char uc;
-
-void* vp;
-char* cp;
-int* ip;
-enum {enum_value_1} * ep;
-struct { int member; } * sp;
-void (*fp) (void);
-
-void global_function ()
-{
- vp = i; /* ERROR - */
- vp = l; /* ERROR - */
- vp = s; /* ERROR - */
- vp = c; /* ERROR - */
- vp = si; /* ERROR - */
- vp = sl; /* ERROR - */
- vp = ss; /* ERROR - */
- vp = sc; /* ERROR - */
- vp = ui; /* ERROR - */
- vp = ul; /* ERROR - */
- vp = us; /* ERROR - */
- vp = uc; /* ERROR - */
- cp = i; /* ERROR - */
- cp = l; /* ERROR - */
- cp = s; /* ERROR - */
- cp = c; /* ERROR - */
- cp = si; /* ERROR - */
- cp = sl; /* ERROR - */
- cp = ss; /* ERROR - */
- cp = sc; /* ERROR - */
- cp = ui; /* ERROR - */
- cp = ul; /* ERROR - */
- cp = us; /* ERROR - */
- cp = uc; /* ERROR - */
- ip = i; /* ERROR - */
- ip = l; /* ERROR - */
- ip = s; /* ERROR - */
- ip = c; /* ERROR - */
- ip = si; /* ERROR - */
- ip = sl; /* ERROR - */
- ip = ss; /* ERROR - */
- ip = sc; /* ERROR - */
- ip = ui; /* ERROR - */
- ip = ul; /* ERROR - */
- ip = us; /* ERROR - */
- ip = uc; /* ERROR - */
- ep = i; /* ERROR - */
- ep = l; /* ERROR - */
- ep = s; /* ERROR - */
- ep = c; /* ERROR - */
- ep = si; /* ERROR - */
- ep = sl; /* ERROR - */
- ep = ss; /* ERROR - */
- ep = sc; /* ERROR - */
- ep = ui; /* ERROR - */
- ep = ul; /* ERROR - */
- ep = us; /* ERROR - */
- ep = uc; /* ERROR - */
- sp = i; /* ERROR - */
- sp = l; /* ERROR - */
- sp = s; /* ERROR - */
- sp = c; /* ERROR - */
- sp = si; /* ERROR - */
- sp = sl; /* ERROR - */
- sp = ss; /* ERROR - */
- sp = sc; /* ERROR - */
- sp = ui; /* ERROR - */
- sp = ul; /* ERROR - */
- sp = us; /* ERROR - */
- sp = uc; /* ERROR - */
- fp = i; /* ERROR - */
- fp = l; /* ERROR - */
- fp = s; /* ERROR - */
- fp = c; /* ERROR - */
- fp = si; /* ERROR - */
- fp = sl; /* ERROR - */
- fp = ss; /* ERROR - */
- fp = sc; /* ERROR - */
- fp = ui; /* ERROR - */
- fp = ul; /* ERROR - */
- fp = us; /* ERROR - */
- fp = uc; /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_03.C
deleted file mode 100644
index 8711d868a06..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_03.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// g++ 1.36.1 bug 900210_03
-
-// g++ allows void* type values to be assigned to variables of other
-// pointer types. According to the C++ Reference Manual, this is illegal.
-
-// Cfront 2.0 passes this test.
-
-// keywords: void pointers, pointer type conversions, implicit type conversions
-
-void* vp;
-char* cp;
-int* ip;
-enum {enum_value_1} * ep;
-struct { int member; } * sp;
-void (*fp) (void);
-
-void global_function ()
-{
- cp = vp; /* ERROR - */
- ip = vp; /* ERROR - */
- ep = vp; /* ERROR - */
- sp = vp; /* ERROR - */
- fp = vp; /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_05.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_05.C
deleted file mode 100644
index fc0ead9b514..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_05.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// g++ 1.36.1 bug 900210_05
-
-// Section 18.3 of the 2.0 Reference Manual says "An implementation
-// providing { anachronistic features } should also provide a way for
-// the user to ensure that they do not occur in a source file."
-
-// The *only* proper way to "ensure" an absence of anachronstic features
-// is for C++ language processors to generate errors (rather than just
-// warnings) when such features are used. These errors could perhaps be
-// triggered by some set of command line options, or by the absence of
-// certain command line options. (For g++, the -pedantic and -traditional
-// options come to mind.)
-
-// The use of errors rather than warnings is important because errors
-// usually result in non-zero exit status codes for language processors
-// and these non-zero exit stati can be automatically checked during
-// normal execution of a Makefile.
-
-// cfront 2.0 provides the +p option which causes errors to be generated for
-// all cases of anachronistic usage.
-
-// g++ generates neither errors nor warnings for such usage, even when the
-// -ansi and -pedantic options are used.
-
-// Cfront 2.0 passes this test.
-
-// keywords: anachronism, enum types, integral types, implicit type conversions
-
-enum enum0 { enum_value_0 } enum0_object;
-int int0_object;
-
-void function ()
-{
- enum0_object = int0_object; /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_06.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_06.C
deleted file mode 100644
index d52f51143de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_06.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// g++ 1.36.1 bug 900210_06
-
-// g++ allows values of pointer-to-const types to be assigned to variables
-// of pointer-to-non-const types.
-
-// Cfront 2.0 disallows such assignments.
-
-// g++ also allows values of pointer-to-volatile types to be assigned to
-// variables of pointer-to-non-volatile types.
-
-// Cfront 2.0 *would* disallow this (if it only supported "volatile").
-
-// keywords: pointer types, implicit type conversions
-
-const char *ccp;
-volatile char *vcp;
-char *cp;
-
-void function ()
-{
- cp = ccp; /* ERROR - */
- cp = vcp; /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_07.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_07.C
deleted file mode 100644
index 10130586d30..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_07.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// g++ 1.36.1 bug 900210_07
-
-// g++ allows values of pointer-to-signed types to be assigned to variables
-// of pointer-to-unsigned types, and vise versa.
-
-// Cfront 2.0 passes this test.
-
-// keyowrds: pointer types, implicit type conversions
-// Special Options: -ansi -pedantic-errors
-signed int *sip;
-unsigned int *uip;
-
-void function ()
-{
- sip = uip; // ERROR -
- uip = sip; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_08.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_08.C
deleted file mode 100644
index 40704d470c0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_08.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// g++ 1.36.1 bug 900210_08
-
-// g++ allows pointer-to-const values to be implicitly converted to
-// void* values. This causes a silent loss of the const qualifier.
-
-// Cfront 2.0 passes this test.
-
-// keywords: pointer types, implicit type conversions
-
-const char *ccp;
-void *vp;
-
-void function ()
-{
- vp = ccp; /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C
deleted file mode 100644
index ce78540565b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// g++ 1.36.1 bug 900210_09
-
-// g++ allows pointer to members (both data members and function members)
-// to be implicitly converted to void*.
-
-// Section 4.8 of the Cfront 2.0 Reference Manual disallows such implicit
-// conversions.
-
-// Cfront 2.0 passes this test.
-
-// keywords: member pointers, void pointers, implicit type conversions
-
-class class0 {
-public:
- int class0_data_member_0;
- void class0_function_member_0 ();
-};
-
-int class0::*class0_data_member_pointer;
-int (class0::*class0_function_member_pointer) ();
-
-void *vp;
-
-void global_function_0 ()
-{
- vp = class0_data_member_pointer; // ERROR -
- vp = class0_function_member_pointer; // ERROR -
-}
-
-int main () { return 0; }
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900210_10.C b/gcc/testsuite/g++.old-deja/g++.bugs/900210_10.C
deleted file mode 100644
index 26c17218e77..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900210_10.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// g++ 1.36.1 bug 900210_10
-
-// g++ allows operator[] to be declared as a static member function.
-// This is illegal.
-
-// Cfront 2.0 passes this test.
-
-// keywords: operator[], static function members
-
-struct struct0 {
- static int operator[] (); /* ERROR - */
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900211_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900211_01.C
deleted file mode 100644
index 75c99b6ee0d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900211_01.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// g++ 1.36.1 bug 900211_01
-
-// g++ issues only warnings for calls to previously undeclared functions,
-// however such calls are actually errors.
-
-// Cfront 2.0 passes this test.
-
-// keywords: undeclared, functions
-// Build don't link:
-
-void global_function_0 ()
-{
- global_function_1 (); /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900211_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900211_02.C
deleted file mode 100644
index d23a9df1ab5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900211_02.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// g++ 1.36.1 bug 900211_02
-
-// g++ allows you to explicitly specify the return type for a type conversion
-// operator.
-
-// The Cfront 2.0 Reference Manual (12.3.2) says that this in not allowed.
-
-// Cfront 2.0 passes this test.
-
-// keywords: type conversion operators, return type
-
-struct struct0 { int member_0; };
-
-struct0 struct0_object_0;
-
-struct struct1 {
- struct0 operator struct0 (); /* ERROR - */
-};
-
-struct0 struct1::operator struct0 () { // ERROR -
- return struct0_object_0;
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900211_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900211_03.C
deleted file mode 100644
index b805f78bd1f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900211_03.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// g++ 1.36.1 bug 900211_03
-
-// The following erroneous code causes g++ to segfault.
-
-// Cfront 2.0 passes this test.
-
-// keywords: segfault, operator new, arrays, undeclared, array bound
-
-void function ()
-{
- char* new_base = new char[x]; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C
deleted file mode 100644
index 81bea9ef7f1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// g++ 1.36.1 bug 900211_04
-
-// g++ fails to flag as errors attempts to compare pointer values against
-// (non-zero) integer values;
-
-// Since implicit conversions of pointer to integers (or vise versa) are
-// illegal, these comparisons are also illegal.
-
-// Cfront 2.0 passes this test.
-
-// keywords: comparison operators, pointer types, integral types
-
-int result;
-int i;
-char *p;
-
-void function ()
-{
- result = i == p; /* ERROR - caught by g++ */
- result = i != p; /* ERROR - caught by g++ */
- result = i > p; /* ERROR - missed */
- result = i < p; /* ERROR - missed */
- result = i >= p; /* ERROR - missed */
- result = i <= p; /* ERROR - missed */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900212_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900212_01.C
deleted file mode 100644
index 03c41fb0423..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900212_01.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// g++ 1.36.1 bug 900212_01
-
-// g++ fails to flag as errors all attempts to add or subtract integer values
-// from pointers-to-member values.
-
-// Some cases are detected however.
-
-// Cfront 2.0 passes this test.
-
-// keywords: pointer arithmetic, member pointers
-
-struct struct0 {
-};
-
-int struct0::*p0;
-int struct0::*p1;
-
-int (struct0::*fp0) ();
-int (struct0::*fp1) ();
-
-void global_function_0 ()
-{
- p0 = p1 + 3; // ERROR -
- p0 = p1 - 3; // ERROR -
- p1++; /* ERROR - caught by g++ */
- ++p1; /* ERROR - caught by g++ */
- p1--; /* ERROR - caught by g++ */
- --p1; /* ERROR - caught by g++ */
-
- fp0 = fp1 + 3; // ERROR -
- fp0 = fp1 - 3; // ERROR -
- fp1++; /* ERROR - */
- ++fp1; /* ERROR - */
- fp1--; /* ERROR - */
- --fp1; /* ERROR - */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900212_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900212_02.C
deleted file mode 100644
index d997b61e26e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900212_02.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// g++ 1.36.1 bug 900212_02
-
-// g++ fails to flag as errors attempts to take the difference of two values
-// of some compatible pointer-to-member type.
-
-// Cfront 2.0 passes this test.
-
-// keywords: pointer arithmetic, subtraction, member pointers
-
-struct struct0 {
-};
-
-int struct0::*p0;
-int struct0::*p1;
-
-int (struct0::*fp0) ();
-int (struct0::*fp1) ();
-
-int result;
-
-void global_function_0 ()
-{
- result = (p0 - p1); // ERROR -
- result = (fp0 - fp1); // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900212_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900212_03.C
deleted file mode 100644
index 479e32c795c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900212_03.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// g++ 1.36.1 bug 900212_03
-
-// g++ segfaults on any attempt to use the ->* operator.
-
-// Cfront 2.0 passes this test.
-
-// keywords: member pointers, operator->*
-
-struct struct0 {
- int data_member;
- void function_member ();
-};
-
-void struct0::function_member ()
-{
-}
-
-int i;
-
-int struct0::*dmp;
-void (struct0::*fmp) ();
-
-struct0 *ptr;
-
-void global_function_0 ()
-{
- i = ptr->*dmp; // causes segfault
- (ptr->*fmp) (); // causes segfault
- // i = ptr->*(&struct0::data_member); // too complicated for cfront
- // (ptr->*(&struct0::function_member)) (); // too complicated for cfront
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900213_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900213_01.C
deleted file mode 100644
index 309a41943da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900213_01.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// g++ 1.36.1 bug 900213_01
-
-// g++ incorrectly diagnoses the error when an attempt is made to reference
-// a non-static data-member without an object indication.
-
-// Similar attempts to reference non-static function-members are correctly
-// diagnosed by g++.
-
-// Cfront 2.0 passes this test.
-
-// keywords: non-static members, member pointers, scope resolution
-
-struct struct0 {
- int struct0_data_member_0; /* ERROR - gets error from below */
- int struct0_function_member_0 ();
-};
-
-int i;
-
-void global_function_0 ()
-{
- i = struct0::struct0_data_member_0; /* ERROR - mishandled by g++ */
- //i = struct0::struct0_function_member_0 (); /* gets caught by g++ */
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900213_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900213_02.C
deleted file mode 100644
index c4263f99cd9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900213_02.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// g++ 1.36.1 bug 900213_02
-
-// The following erroneous code causes g++ to abort.
-
-// Cfront 2.0 passes this test.
-
-// keywords: abort, member pointers, operator*
-
-struct struct0 {
- int data_member;
-};
-
-int i;
-int struct0::*dmp;
-
-void global_function_0 ()
-{
- i = *dmp; // ERROR - causes abort
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900213_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900213_03.C
deleted file mode 100644
index 4e15896b1c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900213_03.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// g++ 1.36.1 bug 900213_03
-
-// g++ fails to detect an error when the address of a "bound" function is
-// assigned to a pointer-to-member-function variable.
-
-// It does however correctly detect a similar errors for data-members.
-
-// keywords: bound function, operator&, member pointers
-// Build don't link:
-
-struct struct0 {
- int data_member;
- int function_member ();
-};
-
-int i;
-int struct0::*dmp;
-int (struct0::*fmp) ();
-
-struct0 *ptr;
-
-void global_function_0 ()
-{
- fmp = &ptr->function_member; // ERROR -
- //dmp = &ptr->data_member; // caught by g++, missed by cfront
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900214_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900214_01.C
deleted file mode 100644
index 09fd184f0ab..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900214_01.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// g++ 1.36.1 bug 900214_01
-
-// g++ allows function members of incomplete types to be declared to be
-// friends of other types.
-
-// Cfront 2.0 passes this test.
-
-// keywords: friends, incomplete types, function members
-
-struct A; // ERROR - forward declaration
-
-struct B {
- friend void A::foo(); // ERROR - type A is incomplete
-};
-
-void A::foo(); /* ERROR - also illegal */
-
-struct A {
- void foo() {}
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C
deleted file mode 100644
index ff16b2082e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// g++ 1.36.1 bug 900215_01
-
-// g++ allows the definition of a type conversion operator `operator void'
-// for class types, but subsequently fails to generate calls (where needed)
-// for such type conversion operators.
-
-// Cfront 2.0 does generate such calls.
-
-// The following program exits with status 0 when compiled with Cfront 2.0
-// but exits with status 1 when compiled with g++.
-
-// Cfront 2.0 passes this test.
-
-// 4/27/94 (jason): The pre-San Diego working paper prohibits operator
-// void, so we can go back to just ignoring void values.
-
-// keywords: user-defined type conversion operators, void type, explicit casts
-
-struct struct0 {
-
- operator void (); // ERROR - operator void
-};
-
-int exit_status = 1;
-
-struct0::operator void ()
-{ // ERROR - operator void
- exit_status = 0;
-}
-
-struct struct0 s0_object;
-
-int test ()
-{
- (void) s0_object;
- return exit_status;
-}
-
-int main () { return test (); }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C
deleted file mode 100644
index 269849eba23..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// g++ 1.36.1 bug 900215_02
-
-// g++ allows global objects (which happen to be pointers to members of some
-// class X) to be dereferenced without prefix object specifications within
-// member functions of class X.
-
-// In effect, g++ treats any dereference of a pointer-to-member which appears
-// within the context of a member function (and which is not preceeded by
-// either ->* or .*) as if it had been implicitly prefixed with this->*.
-
-// The 2.0 Reference Manual only provides that such implicit prefixing
-// takes place for *members* of the containing class, and *not* for
-// global objects that happen to have certain types (i.e. pointer-to-member
-// of the containing class).
-
-// Also, cfront 2.0 provides implicit this-> prefixes *only* for *members*
-// of the containing class.
-
-// Cfront 2.0 passes this test.
-
-// keywords: member pointers, this, dereference, members
-
-struct struct0 {
- int data_member;
- void function_member ();
-};
-
-int struct0::*dmp;
-int (struct0::*fmp) ();
-int i;
-
-struct struct1 {
- int data_member;
-
- void function_member ();
-};
-
-void struct0::function_member ()
-{
- i = (this->*fmp) (); // perfectly legal - for both cfront and g++
- i = this->*dmp; // perfectly legal - for both cfront and g++
-
- i = (*fmp) (); // ERROR -
- i = *dmp; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900220_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900220_01.C
deleted file mode 100644
index df7e641fe5f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900220_01.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// g++ 1.36.1 bug 900220_01
-
-// Ref: 12.8
-
-// Section 12.8 says:
-
-// "That is, X::operator=() will be generated only if no assignment
-// operation is explicitly declared and an object of class X is actually
-// assigned an object of class X (or an object of a class derived from X)
-// or if the address of X::operator= is taken.
-
-// g++ does not allow you to take the address of an implicitly generated
-// operator=
-
-// keywords: operator=, implicit copy operator, operator&
-
-struct struct0 {
- int data_member;
-};
-
-typedef struct0& (struct0::*member_func_t) (const struct0&);
-
-member_func_t member_func;
-
-void global_function_0 (member_func_t member_f)
-{ // gets bogus error - ref from below
-}
-
-void global_function_1 ()
-{
- member_func = &struct0::operator=; // gets bogus error
-
- global_function_0 (&struct0::operator=); // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900220_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900220_02.C
deleted file mode 100644
index cf039f646bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900220_02.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// g++ 1.36.1 bug 900220_02
-
-// g++ treats plain `char' and `unsigned char' as different types, however
-// it fails to treat `signed char' as being a different type from plain
-// `char' as called for by both the ANSI C standard and the C++ reference
-// manual.
-
-// keywords: plain char type, signed char type, unsigned char type, overloading
-
-void overloaded (char) {
-}
-
-void overloaded (signed char) { // gets bogus error
-}
-
-void overloaded (unsigned char) {
-}
-
-void global_function ()
-{
- char c = 0;
- signed char sc = 0;
- unsigned char uc = 0;
-
- overloaded (c);
- overloaded (sc);
- overloaded (uc);
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900220_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900220_03.C
deleted file mode 100644
index 532fc84b52e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900220_03.C
+++ /dev/null
@@ -1,51 +0,0 @@
-// g++ 1.36.1 bug 900220_03
-
-// g++ does not properly disambiguate calls to overloaded functions
-// which are nearly identical except that one take a reference to a
-// type `T' object and another takes a reference to a type `const T'
-// object.
-
-// (Note that the volatile stuff is commented out here because cfront
-// does not yet grok volatile.)
-
-// Cfront 2.0 passes this test.
-
-// keywords: references, overloading, type qualifiers, pointers
-
-int c_call_count = 0;
-int cc_call_count = 0;
-//int vc_call_count = 0;
-
-void overloaded (char&)
-{
- c_call_count++;
-}
-
-void overloaded (const char&)
-{
- cc_call_count++;
-}
-
-//void overloaded (volatile char&)
-//{
-// vc_call_count++;
-//}
-
-int test ()
-{
- char c = 0;
- const char cc = 0;
- //volatile char vc = 0;
-
- char& cr = c;
- const char& ccr = cc;
- //volatile char& vcr = vc;
-
- overloaded (c); // OK
- overloaded (cc); // gets bogus error
- //overloaded (vc); // OK
-
- return (c_call_count != 1 || cc_call_count != 1 /* || vc_call_count != 1 */);
-}
-
-int main () { return test (); }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900221_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900221_01.C
deleted file mode 100644
index 92c56fc08ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900221_01.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// g++ 1.36.1 bug 900221_01
-
-// Ref: 3.2
-//
-// Section 3.2 of the C++ 2.0 Reference Manual says:
-//
-// "Names of formal arguments for a function are treated as if they
-// were declared in the outermost block of that function"
-//
-// g++ does not enforce this treatment.
-
-// Cfront 2.0 passes this test.
-
-// keywords: scope, formal parameters
-
-void function (int arg1)
-{
- int arg1; // ERROR - redeclaration of arg1
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C
deleted file mode 100644
index 77ac1002893..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// g++ 1.37.1 bug 900227_01
-
-// g++ allows pointer type values to be converted to integral types which are
-// not actually large enough to hold the converted values.
-
-// Section 3.3.4 of the ANSI C standard says:
-
-// A pointer may be converted to an integral type. The size of the
-// integer required and the results are implementation defined. If
-// the space provided is not long enough, the behavior is undefined.
-
-// I believe that the only proper thing to do in such cases is to generate
-// errors. After all, if the converted value gets truncated, it is not
-// likely to be useful after that.
-
-// Furthermore, as the following example demonstrates, allowing pointers
-// to be converted to integral types which are not of sufficient size to
-// completely hold the converted values may cause additional troubles.
-
-// I tried the following code on 5 different machines and it failed on
-// all five (unless I also use the GNU assembler and the GNU linker). Three
-// of the five (Sun3, Sun4, and Symmetry) got link-time errors about byte
-// offset overflows. The other two (368/SystemV and AViiON) got assembly
-// time errors about relocatable names used in "constant" expressions.
-
-// keywords: casts, pointer types, integral types
-
-// Update 2/10/95: The compiler will now compute these expressions at
-// runtime. I think this is in the spirit of the GNU compilers (jason).
-
-// Special g++ Options:
-
-int main ();
-
-short s = (short) &main;
-char c = (char) &main;
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C
deleted file mode 100644
index 489671f24ae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// g++ 1.37.1 bug 900321_01
-
-// cfront flags ERRORs on each of the lines indicated below. g++ does not
-// flag either ERRORs or warnings.
-
-// Although I cannot find where in the current C++ Reference Manual this
-// topic is covered, I am sure that these statements should get ERRORs in
-// a "strongly typed" language.
-
-// Cfront 2.0 passes this test.
-
-// keywords: array types, array bound, pointers
-
-int (*ptr_to_array_of_ints)[];
-int (*ptr_to_array_of_3_ints) [3];
-int (*ptr_to_array_of_5_ints) [5];
-
-void function_0 ()
-{
- // we miss the first two because typeck.c (comp_array_types) deems
- // it okay if one of the sizes is null
- ptr_to_array_of_ints = ptr_to_array_of_3_ints; // ERROR -
- ptr_to_array_of_3_ints = ptr_to_array_of_ints; // ERROR -
-
- ptr_to_array_of_3_ints = ptr_to_array_of_5_ints; // ERROR -
- ptr_to_array_of_5_ints = ptr_to_array_of_3_ints; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900321_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900321_02.C
deleted file mode 100644
index d635ba3d1e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900321_02.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// g++ 1.37.1 bug 900321_02
-
-// The following program exits with a non-zero status because the constructor
-// is not called 3 times as it should be. This program exits with a zero
-// status when compiled with cfront 2.0.
-
-// Cfront 2.0 passes this test.
-
-// keywords: arrays, initialization, default constructor, operator new
-
-int call_count = 0;
-
-struct struct0 {
- struct0 ();
-};
-
-struct0::struct0 () { call_count++; }
-
-typedef struct0 array[3]; // known dimension
-
-int test ()
-{
- new array;
- return (call_count != 3);
-}
-
-int main () { return test (); }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900321_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900321_04.C
deleted file mode 100644
index 5f3d5a1471a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900321_04.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// g++ 1.37.1 bug 900321_04
-
-// The following code causes g++ to segfault.
-
-// Cfront 2.0 passes this test.
-
-// keywords: segfault, object declaration, pointer, array, incomplete type
-
-struct incomplete;
-
-void function ()
-{
- struct incomplete (*ptr)[]; // causes segfault
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900321_05.C b/gcc/testsuite/g++.old-deja/g++.bugs/900321_05.C
deleted file mode 100644
index 8f417e892fc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900321_05.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// g++ 1.37.1 bug 900321_05
-
-// The following code is legal as far as the ANSI C standard, GCC, and
-// cfront are concerned, however g++ issues errors for the lines indicated.
-
-// Cfront 2.0 passes this test.
-
-// keywords: operator[], pointers, index
-
-char c;
-char *cp;
-int i;
-
-void function ()
-{
- c = 3["abcdef"]; // gets bogus error
- c = i[cp]; // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900322_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900322_01.C
deleted file mode 100644
index 48ae6006f10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900322_01.C
+++ /dev/null
@@ -1,61 +0,0 @@
-// g++ 1.37.1 bug 900322_01
-
-// ** Old, obsolete commentary:
-// **************************************************************************
-// The ANSI C standard, in section 3.1.2.5 (first paragraph) differentiates
-// types into three disjoint sets, i.e object types, function types, and
-// incomplete types.
-
-// Also in 3.1.2.5 (page 24) the standard says that the element type of
-// an array type is an object type.
-
-// Later in that same section the standard also notes that array types with
-// unknown size are considered incomplete types (page 25). (Struct & union
-// types which have only been "forward declared" are also incomplete types.)
-
-// Some experts infer this to mean that it is not legal to specify or to
-// construct an array *type* whose element type is an incomplete type.
-
-// This interpretation suggests that the statements indicated below contain
-// errors.
-
-// g++ fails to flag all of the indicated statements with errors (even when
-// the -pedantic option is used).
-// **************************************************************************
-
-// The above commentary is wrong. (jason 1998/11/13)
-// In fact, the lines marked OK are well-formed; the prohibition is only
-// against forming array types with multiple unknown bounds. This prohibition
-// is found in 8.3.4 [dcl.array].
-
-// It is also ill-formed to create an object of incomplete type.
-
-// keywords: incomplete types, arrays, element types
-
-extern int extern_two_d [] []; // ERROR - invalid declaration
-int tenative_two_d [] []; // ERROR - caught by g++
-static int static_two_d [] []; // ERROR - caught by g++
-
-int (*pointer_to_two_d)[][]; // ERROR - invalid declaration
-
-void function_0 (int arg [] []) { // ERROR - invalid declaration
-}
-
-typedef int int_one_d_type [];
-typedef int_one_d_type int_two_d_type[];// ERROR - invalid declaration
-
-struct s;
-
-extern struct s extern_s_array [10]; // OK
-struct s tenative_s_array [10]; // ERROR - object with incomplete type
-static struct s static_s_array [10]; // ERROR - object with incomplete type
-
-struct s (*pointer_to_s_array) []; // OK
-
-void function_1 (struct s arg []) { // OK
-}
-
-typedef struct s s_type;
-typedef s_type s_one_d_type [10]; // OK
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900324_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900324_02.C
deleted file mode 100644
index 56ff7b738d1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900324_02.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// g++ 1.37.1 bug 900324_02
-
-// The following erroreous code causes g++ to segfault.
-
-// Cfront 2.0 passes this test.
-
-// keywords: segfault, function pointer, conditional operator ?:
-
-void function_0 (int i) { }
-
-void (*fp)(void);
-
-void function_1 ()
-{
- fp = 1 ? function_0 : fp; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900324_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900324_03.C
deleted file mode 100644
index 69d9b58f039..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900324_03.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// g++ 1.37.1 bug 900324_03
-
-// g++ is unable to correctly parse declarations of non-global function-pointer
-// variables and/or function-pointer formal parameters.
-
-// Cfront 2.0 passes this test.
-
-// keywords: syntax, function pointers, block local, formal
-
-void (*p0)(); // OK
-
-void function_0 ()
-{
- void (*p1)(); // gets bogus errors
-}
-
-void function_1 (void (*p2)()); // gets bogus errors
-
-void (*function_2 ()) (); // OK
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900324_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900324_04.C
deleted file mode 100644
index c874897e68a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900324_04.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// g++ 1.37.1 bug 900324_04
-
-// g++ implements an extension which supports the copying of array objects.
-
-// This extension is not described in the current C++ Reference Manual, and
-// it is not implemented by cfront (2.0).
-
-// g++ should generate errors for the use of this extension when -pedantic
-// is used, however it does not.
-
-// Cfront 2.0 passes this test.
-
-// keywords: extension, pedantic, arrays, copy
-
-typedef int int_array[20];
-
-int_array ia1;
-int_array ia2;
-
-void function_0 ()
-{
- ia1 = ia2; // ERROR - gnu extension
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900324_05.C b/gcc/testsuite/g++.old-deja/g++.bugs/900324_05.C
deleted file mode 100644
index 32f691d3719..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900324_05.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// g++ 1.37.1 bug 900324_05
-
-// The following erroneous code causes g++ to segfault.
-
-// Cfront 2.0 passes this test.
-
-// keywords: segfault, arrays, references, assignment operator=
-
-typedef int int_array[];
-
-extern int_array int_array_object;
-
-int_array &left = int_array_object;
-int_array &right = int_array_object;
-
-void function ()
-{
- left = right; // ERROR - causes segfault
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900324_06.C b/gcc/testsuite/g++.old-deja/g++.bugs/900324_06.C
deleted file mode 100644
index 5a1938af8b8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900324_06.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// g++ 1.37.1 bug 900324_06
-
-// g++ is unable to use context information (i.e. the required type of the
-// expression) to disambiguate a possibly overloaded function name when that
-// name is used as either the second or the third operand of a ?: operator.
-
-// It is also unable to use the fact that the given name is not in fact
-// overloaded (and has only one possible interpretation).
-
-// This results in improper errors being generated.
-
-// keywords: overloading, function pointers, disambiguation, operator?:
-
-int i;
-void (*p)();
-
-void function_0 ()
-{
-}
-
-void function_1 ()
-{
- p = i ? function_0 : 0; // gets bogus error
- p = i ? 0 : function_0; // gets bogus error
- p = i ? function_1 : function_0; // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900325_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900325_01.C
deleted file mode 100644
index f11ec189039..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900325_01.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// g++ 1.37.1 bug 900325_01
-
-// g++ fails to generate errors for attempts to declare a formal argument to
-// be of a void type.
-
-// keywords: formal parameter, void type
-
-typedef void __void;
-typedef __void Void;
-
-void function0 (void arg1) { // ERROR - missed
-}
-
-void function1 (Void arg1) { // ERROR - missed
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C
deleted file mode 100644
index 651d370ef14..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// g++ 1.37.1 bug 900330_01
-//
-// As indicated by the example at the end of the section 3.5.3 of the ANSI
-// C standard, when a type qualifier (i.e. "const" or "volatile") is applied
-// to an array type, the effect should be as if the element type had been
-// qualified with the given qualifier.
-//
-// This rule applies to C++ also.
-//
-// In section 7.1.6 of the C++ Reference Manual it says "Each element of a
-// const array is const..."
-//
-// It appears however that when a name already exists for a given array type
-// (i.e. a typedef name) and when that name is qualified by a type qualifier,
-// (i.e. "const" or "volatile"), gcc & g++ may act as if the qualifier applied
-// to the named (array) type rather that to the elements of that type.
-//
-// The result is that (even with the -ansi and -pedantic options) g++
-// generates no errors or warnings for the lines indicated (even though it
-// should).
-//
-// Due to the incorrect associations, gcc & g++ will also issue inappropriate
-// warnings in some cases (as illustrated below).
-
-// keywords: type qualifiers, arrays
-
-typedef const int const_int;
-typedef const_int array_of_const_int[3];
-array_of_const_int *ptr_to_array_of_consts;
-
-typedef int array_of_int[3];
-typedef const array_of_int const_array_of_int;
-const_array_of_int *ptr_to_const_array;
-
-void function_0 ()
-{
- ptr_to_array_of_consts = ptr_to_const_array; /* gets bogus warning */
- ptr_to_const_array = ptr_to_array_of_consts; /* gets bogus warning */
-}
-
-/* The following example is taken from ANSI 3.5.3 */
-
-typedef int A[2][3];
-const A a = {{4, 5, 6}, {7, 8, 9}};
-int *pi;
-
-void function_1 ()
-{
- pi = a[0]; // ERROR - a[0] has type "const int *"
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C
deleted file mode 100644
index 85c40f0e8d9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// g++ 1.37.1 bug 900330_02
-
-// The C++ Reference Manual says in section 13.1:
-
-// "Two function declarations of the same name refer to the same function
-// if they are in the same scope and have identical argument types. A
-// function member of a derived class is *not* in the same scope as a function
-// member of the same name in a base class."
-
-// g++ fails to correctly detect the error indicated.
-
-// Cfront 2.0 passes this test.
-
-// keywords: function, member, overloading, hiding
-
-struct B {
- int f(int);
-};
-
-struct D : public B {
- int f(struct B); // ERROR - referred to below
-};
-
-void h(D* pd)
-{
- pd->f(1); // ERROR - D::f(struct B) hides B::f(int)
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900331_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900331_02.C
deleted file mode 100644
index 11884db2e48..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900331_02.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// g++ 1.37.1 bug 900331_02
-
-// g++ fails to treat conditional expressions which yield composite type
-// (i.e. struct type, union type, or class type) lvalues as if they did
-// in fact yield lvalues in all cases.
-
-// Cfront 2.0 passes this test.
-
-// keywords: conditional operator?:, lvalues, composite types
-
-struct struct0 {
- int data_member;
-};
-
-struct0 object0;
-struct0 object1;
-struct0 object2;
-
-int i;
-
-void function0 ()
-{
- (i ? object0 : object1).data_member = 99; // gets bogus error
- (i ? object0 : object1) = object2; // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900331_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900331_03.C
deleted file mode 100644
index a73d6856040..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900331_03.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// g++ 1.37.1 bug 900331_03
-
-// Special Options: -ansi
-
-// The following code causes g++ to abort.
-
-// Curiously, the abort does not occur if the -pedantic option is used.
-
-// Cfront 2.0 passes this test.
-
-// Keywords: abort, conditional operator?:, lvalues, composite types
-
-struct struct0 {
- int data_member;
-
- virtual void function_member () {} // contributes to the abort
-};
-
-struct0 object0;
-struct0 object1;
-struct0 object2;
-
-int i;
-
-void function0 ()
-{
- object2 = (i ? object0 : object1); // OK
- (i ? object0 : object1) = object2; // causes abort
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900331_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900331_04.C
deleted file mode 100644
index f8a14c69390..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900331_04.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// g++ 1.37.1 bug 900331_04
-
-// g++ is unable to correctly parse declarations of formal parameters and
-// local objects which have pointer-to-array types or reference-to-array
-// types.
-
-// Cfront 2.0 passes this test.
-
-// keywords: syntax, arrays, pointers, references, local, formal
-
-int array[10];
-
-int (*global_array_ptr)[10] = &array;
-int (&global_array_ref)[10] = array;
-
-void function0 (int (*formal_array_ptr)[10]) { // gets bogus errors
-}
-
-void function1 (int (&formal_array_ref)[10]) { // gets bogus errors
-}
-
-void function2 ()
-{
- int (*local_array_ptr)[10] = &array; // gets bogus errors
-}
-
-void function3 ()
-{
- int (&local_array_ref)[10] = array; // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900401_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900401_01.C
deleted file mode 100644
index 18ecd614e7a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900401_01.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// g++ 1.37.1 bug 900401_01
-
-// The following erroneous code causes g++ to abort.
-
-// Cfront 2.0 passes this test.
-
-// keywords: abort, bit-fields, arrays
-
-typedef unsigned nibble_array[4];
-
-struct whole {
- nibble_array nibbles:16; // ERROR -
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900402_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900402_01.C
deleted file mode 100644
index 946e6d1e0d3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900402_01.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// g++ 1.37.1 bug 900402_01
-
-// The following erroneous code causes g++ to abort.
-
-// Cfront 2.0 passes this test.
-
-// keywords: abort, bit-fields, function types
-
-typedef void (func_type) ();
-
-struct s {
- func_type f:32; // ERROR - bitified with function type
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900402_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900402_02.C
deleted file mode 100644
index 705cbf22d01..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900402_02.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// g++ 1.37.1 bug 900402_02
-
-// g++ fails to correctly flag all attempts to construct an array type
-// of zero length as errors.
-
-// keywords: arrays, array bound, zero length
-
-typedef int array_type[0]; // ERROR - gets warning only
-
-int array_object_1[0]; // ERROR - gets warning only
-
-void function_0 (int formal_array[0])
-{ // ERROR - gets warning only
-}
-
-void function_2 ()
-{
- int local_object_array_0[0]; // ERROR - gets warning only
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900403_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900403_01.C
deleted file mode 100644
index 608d8f92bd5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900403_01.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// g++ 1.37.1 bug 900403_01
-
-// g++ allows casts to be treated as lvalues (even when the -pedantic
-// option is used). Neither the C++ Reference Manual nor cfront 2.0
-// allow this. (gcc gives warnings for such usage with -pedantic).
-
-// Cfront 2.0 passes this test.
-
-// keywords: lvalues, casts
-
-int i, j;
-
-void f ()
-{
- (int) i = j; // ERROR -
- ((int) i) = j; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900403_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900403_04.C
deleted file mode 100644
index c68e4c2d88f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900403_04.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// g++ 1.37.1 bug 900403_04
-
-// The following erroneous code causes g++ to abort.
-
-// keywords: abort, bit-fields, zero length
-
-struct s {
- unsigned int foo:0; // ERROR - This is the real line
- unsigned int field;
-};
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900404_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900404_01.C
deleted file mode 100644
index f728865961f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900404_01.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// g++ 1.37.1 bug 900404_01
-
-// g++ allows string initializers for known-length character arrays to be
-// one character longer (counting the terminating null) than the actual
-// length of the array to be initialized.
-
-// The C++ Reference Manual (section 8.4.2) expressly prohibits this.
-
-// Cfront 2.0 passes this test.
-
-// keywords: arrays, initialization, array bounds
-
-char cv[4] = "asdf"; // ERROR - missed
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900404_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900404_02.C
deleted file mode 100644
index 4099daa31e4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900404_02.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// g++ 1.37.1 bug 900404_02
-
-// g++ fails to treat multicharacter literals as type "int" as required by
-// section 2.5.2 of the C++ Reference Manual.
-
-// The result is that the following program will exit with a non-zero
-// exit status.
-
-// keywords: character literals, multi-character literals, int type
-
-int exit_status = 0;
-
-void function0 (int i) // function that should be called
-{
- i = i;
-}
-
-void function0 (char c) // function that is actually called
-{
- c = c;
- exit_status++;
-}
-
-int main () { function0 ('abcd'); return exit_status; } // WARNING -
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C
deleted file mode 100644
index 98a33d717bb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// g++ 1.37.1 bug 900404_03
-
-// g++ fails to be able to properly flag errors for even simple cases of
-// ambiguous overload resolution (such as the one shown below).
-
-// Cfront 2.0 passes this test.
-
-// keywords: overloading, ambiguity, resolution
-
-void function0 (int i, char c)
-{ // ERROR -
- i = c;
-}
-
-void function0 (char c, int i)
-{ // ERROR -
- i = c;
-}
-
-char c;
-
-void test ()
-{
- function0 (c,c); // ERROR - missed
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900404_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900404_04.C
deleted file mode 100644
index 75be8ab819a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900404_04.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// g++ 1.37.1 bug 900404_04
-
-// [dcl.dcl] explains that simple-declarations may omit the
-// init-declarator-list only if the decl-specifier-seq declares a
-// class, i.e. if it contains a class-specifier, an
-// elaborated-type-specifier with class key, or an enum-specifier. The
-// declaration below contains neither.
-
-// g++ fails to flag errors for such usage.
-
-// keywords: semicolon, vacuous, file scope, declaration
-
-int i;
-
-; // ERROR - , XFAIL *-*-*
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900404_07.C b/gcc/testsuite/g++.old-deja/g++.bugs/900404_07.C
deleted file mode 100644
index c07a5775189..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900404_07.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// g++ 1.37.1 bug 900404_07
-
-// It is illegal to use a cast to attempt to convert an object type
-// to a non-scalar type (e.g. an array type).
-
-// g++ fails to properly flag as errors such illegal uses of array types.
-
-// keywords: array types, casts, type conversion
-
-typedef int array_type[10];
-
-array_type *ap;
-
-void foo ()
-{
- int i = *((array_type) *ap); /* ERROR - missed */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900405_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900405_01.C
deleted file mode 100644
index 346db0c556d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900405_01.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// g++ 1.37.1 bug 900405_01
-
-// The C++ Reference Manual says (in section 5.4) "Types may not be defined
-// in casts."
-
-// g++ fails to flag errors for cases where an attempt is made to define
-// a struct, class, union, or enum type within a cast.
-
-// keywords: casts, type definitions, tagged types
-
-void f ()
-{
- (enum e { red, green } *) 0; // ERROR - type defined in cast
- (struct s { int member; } *) 0; // ERROR - type defined in cast
- (union u { int member; } * ) 0; // ERROR - type defined in cast
- (class c { int member; } *) 0; // ERROR - type defined in cast
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900406_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900406_01.C
deleted file mode 100644
index 93e7af3f378..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900406_01.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// g++ 1.37.1 bug 900406_01
-
-// The following code causes g++ to segfault.
-
-// cfront 2.0 passes this test.
-
-// keywords: segfault, operator new, array types, array bounds
-
-void function0 ()
-{
- new int[]; // ERROR - causes segfault
-}
-
-void function1 ()
-{
- new int (*)[]; // ERROR - no size specified
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900406_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900406_02.C
deleted file mode 100644
index daf46a14e86..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900406_02.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// g++ bug 900406_02
-
-// g++ fails to correctly parse some type specifications within casts.
-
-// This results in incorrect errors being issued.
-
-// These errors are not issued for identical code by either cfront or
-// by gcc.
-
-// cfront 2.0 passes this test.
-
-// keywords: syntax, array types, casts
-
-int (*ipp)[];
-int (**ippp)[];
-
-int function ()
-{
- ipp = (int (*)[]) 0; // OK
- ippp = (int (**)[]) 0; // gets bogus error (syntax)
- return 0;
-}
-
-int main () { return 0; }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900407_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900407_01.C
deleted file mode 100644
index 988642f4ad3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900407_01.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// g++ 1.37.1 bug 900407_01
-
-// g++ fails to flag errors for uses of anachronistic features such as the
-// invocation of a base class constructor in a ctor-initializer list without
-// explicitly giving its name.
-
-// Errors should probably be issued for such usage unless the -traditional
-// option is used.
-
-// Warnings are however issued.
-
-// Cfront 2.0 flags such usage as an error when the +p (pure-language) option
-// is used.
-
-// Cfront 2.0 passes this test.
-
-// keywords: anachronism, inheritance, initialization, mem-initializer
-
-struct s0 {
- int member;
-
- s0 ();
-};
-
-s0::s0() { }
-
-struct s1 : public s0 {
- int member;
-
- s1 ();
-};
-
-s1::s1() : () { // ERROR - anachronism used
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900407_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900407_02.C
deleted file mode 100644
index 5f6862f2fea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900407_02.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// g++ 1.37.1 bug 900407_02
-
-// g++ flags errors for attempts to assign to the "this" parameter within
-// class constructors (regardless of whether or not the -traditional)
-// option is used).
-
-// Such errors should probably not be issued when the -traditional option is
-// used.
-
-// Special g++ Options: -Wno-deprecated -fthis-is-variable
-// Special CC Options:
-
-// Cfront only flags errors for such usage whin the +p (pure language)
-// option is used.
-
-// cfront 2.0 passes this test.
-
-// keywords: anachronism, this, assignment
-
-struct s0 {
-
- int member;
-
- s0 ();
-};
-
-s0::s0 ()
-{
- this = this; // OK - anachronism allowed with -traditional
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900428_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900428_01.C
deleted file mode 100644
index c2eb3071352..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900428_01.C
+++ /dev/null
@@ -1,51 +0,0 @@
-// g++ 1.37.1 bug 900428_01
-
-// g++ fails to issue error messages for cases where an incomplete type
-// object must be evaluated if the value of such an evaluation is not
-// actually used in the given context.
-
-// In the case where such an object is volatile, it is obvious that this
-// could be a problem, however I believe that errors should be issued
-// for such cases regardless of whether or not such values are volatile
-// because the abstract semantics seem to require the evaluation of such
-// values whether they are volatile or not.
-
-// keywords: incomplete types, evaluation, volatile qualifier
-// Build don't link:
-
-int i;
-
-void *pv;
-volatile void *pvv;
-struct s; // ERROR - forward declaration
-extern struct s es, *ps; // ERROR - defined here
-extern volatile struct s evs, *pvs; // ERROR - defined here
-
-void pv_test ()
-{
- *pv; // ERROR - invalid void
- (i ? *pv : *pv); // ERROR - invalid void
- *pv, *pv; // ERROR - invalid void
-
- *pvv; // ERROR - invalid void
- (i ? *pvv : *pvv); // ERROR - invalid void
- *pvv, *pvv; // ERROR - invalid void
-
- es; // ERROR - incomplete
- (i ? es : es); // ERROR - undefined type
- es, es; // ERROR - incomplete
-
- evs; // ERROR - incomplete
- (i ? evs : evs); // ERROR - undefined type
- evs, evs; // ERROR - incomplete
-
- *ps; // ERROR - undefined type
- (i ? *ps : *ps); // ERROR - undefined type
- *ps, *ps; // ERROR - undefined type
-
- *pvs; // ERROR - undefined type
- (i ? *pvs : *pvs); // ERROR - undefined type
- *pvs, *pvs; // ERROR - undefined type
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900428_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900428_02.C
deleted file mode 100644
index 9da709fdc81..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900428_02.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// g++ 1.37.1 bug 900428_02
-
-// g++ fails to issue either errors or warnings (even with -pedantic) for
-// attempts to perform either pre or post increment or decrement operations
-// on variables which have either pointer-to-void types or pointer-to-function
-// types.
-
-// cfront 2.0 passes this test.
-
-// keywords: pointer arithmetic, increment, decrement
-// Build don't link:
-
-void *vp;
-void (*fp) ();
-
-void test ()
-{
- vp++; /* ERROR - */
- ++vp; /* ERROR - */
- vp--; /* ERROR - */
- --vp; /* ERROR - */
-
- fp++; /* ERROR - */
- ++fp; /* ERROR - */
- fp--; /* ERROR - */
- --fp; /* ERROR - */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900428_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900428_03.C
deleted file mode 100644
index 74e55860d29..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900428_03.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// g++ 1.37.1 bug 900428_03
-
-// g++ fails to detect cases where a constructor for a derived class invokes
-// (either explicitly or implicitly) a private constructor for a base class.
-
-// cfront 2.0 passes this test.
-
-// keywords: inheritance, private, accessability, constructors
-
-struct struct_0 {
- int struct_0_data_member;
-
-private:
- struct_0 (int, int);
-public:
- struct_0 (int);
-};
-
-struct_0::struct_0 (int i) { }
-struct_0::struct_0 (int, int) { } // ERROR - xref from below
-
-struct struct_1 : public struct_0 {
-
- struct_1 ();
-};
-
-struct_1::struct_1 () : struct_0 (8,9)
-{ // ERROR -
-}
-
-struct struct_2 {
- struct_0 struct_2_data_member;
-
- struct_2 ();
-};
-
-// g++ catches the following error (but does so only at the line with the
-// closing curly brace).
-
-struct_2::struct_2 () : struct_2_data_member (8,9)
-{ // ERROR - should be up one line
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900511_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900511_01.C
deleted file mode 100644
index e4488d9bad1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900511_01.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// g++ 1.37.1 bug 900511_01
-
-// g++ fails to properly apply user-defined type conversion operators
-// in cases where is it not obvious that the given conversion is
-// appropriate for the context (i.e. operator and other operands)
-// where the conversion should take place.
-
-// cfront 2.0 passes this test.
-
-struct struct_1 {
- int member;
-
- operator int ();
-};
-
-struct_1::operator int ()
-{
- return 0;
-}
-
-struct struct_2 {
- int member;
-
- operator float ();
-};
-
-struct_2::operator float ()
-{
- return 0.0;
-}
-
-struct_1 struct_1_object;
-struct_2 struct_2_object;
-double d;
-
-void test ()
-{
- d = struct_2_object + struct_1_object; // OK
- d = struct_1_object + struct_2_object; // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C
deleted file mode 100644
index cef71c0a12e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// g++ 1.37.1 bug 900511_02
-
-// g++ does not properly shadow names of types with names of data members
-// in cases where the type names in question are used in the context of
-// formal parameters lists for member functions.
-
-// keywords: typedef names, shadowing, scope, formal parameter list
-
-// cfront 2.0 passes this test.
-
-enum enum0 { enum0_value_0 };
-
-struct struct0 {
- int enum0;
- void member_function (enum0 e); // ERROR - invalid use of struct-local member
-};
-
-void class0::member_function (enum0 e) { // ERROR - syntax error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900511_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900511_03.C
deleted file mode 100644
index 849bdf34486..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900511_03.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// g++ 1.37.1 bug 900511_03
-
-// g++ does not properly shadow names of types with names of data members
-// in cases where the type names in question are used in the context of
-// formal parameters lists for member functions.
-
-// keywords: typedef names, shadowing, scope, formal parameter list
-
-class class0;
-
-struct struct1 {
- int class0;
- void member_function (class0 *); // ERROR - invalid use of struct-local member
-};
-
-void class1::member_function (class0 *p) { // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C
deleted file mode 100644
index 54123f2bb19..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C
+++ /dev/null
@@ -1,112 +0,0 @@
-// g++ 1.37.1 bug 900514_03
-
-// g++ fails to flag ERRORs on the following erroneous code.
-
-// In Section 12.3.2 it says "Defining conversion by both a constructor and
-// a conversion function can lead to ambiguities." However in the case below,
-// the explicit cast syntax disambiguates the constructor as one which
-// invokes the type conversion operator rather than the conversion.
-
-// cfront 2.0 passes this test.
-
-// keywords: user-defined type conversion operator, constructor
-
-struct t_0_st_0;
-
-struct t_0_st_1 {
- int member;
-
- t_0_st_1 (t_0_st_0&);// ERROR -
- t_0_st_1 ();
-};// ERROR -
-
-struct t_0_st_0 {
- int member;
-
- operator t_0_st_1 ();// ERROR -
-};
-
-t_0_st_0 t_0_st_0_obj0;
-
-void t_0_assignment ()
-{
- t_0_st_1 t_0_st_1_obj0;
- t_0_st_1 t_0_st_1_obj1;
- t_0_st_1 t_0_st_1_obj2;
-
- t_0_st_1_obj0 = t_0_st_0_obj0; // ERROR - caught
- t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0);
-}
-
-void t_0_local_init ()
-{
- t_0_st_1 t_0_st_1_obj0 = t_0_st_0_obj0; // ERROR -
- t_0_st_1 t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0);
-}
-
-struct t_1_st_0;
-
-struct t_1_st_1 {
- int member;
-
- t_1_st_1 (t_1_st_0&); // ERROR -
- t_1_st_1 ();
- void operator= (t_1_st_1&); // ERROR -
-};
-
-struct t_1_st_0 {
- int member;
-
- operator t_1_st_1 (); // ERROR -
-};
-
-t_1_st_0 t_1_st_0_obj0;
-
-void t_1_assignment ()
-{
- t_1_st_1 t_1_st_1_obj0;
- t_1_st_1 t_1_st_1_obj1;
- t_1_st_1 t_1_st_1_obj2;
-
- t_1_st_1_obj0 = t_1_st_0_obj0; // ERROR -
- t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0); // ERROR -
-}
-
-void t_1_local_init ()
-{
- t_1_st_1 t_1_st_1_obj0 = t_1_st_0_obj0; // ERROR -
- t_1_st_1 t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0);
-}
-
-struct t_2_st_0;
-
-struct t_2_st_1 {
- int member;
-
- t_2_st_1 (t_2_st_0); // ERROR - candidate
- t_2_st_1 ();
-}; // ERROR - candidate
-
-struct t_2_st_0 {
- int member;
-
- operator t_2_st_1 (); // ERROR - candidate
-};
-
-t_2_st_0 t_2_st_0_obj0;
-
-void t_2_assignment ()
-{
- t_2_st_1 t_2_st_1_obj0;
- t_2_st_1 t_2_st_1_obj1;
- t_2_st_1 t_2_st_1_obj2;
-
- t_2_st_1_obj0 = t_2_st_0_obj0; // ERROR - caught
- t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0);
-}
-
-void t_2_local_init ()
-{
- t_2_st_1 t_2_st_1_obj0 = t_2_st_0_obj0; // ERROR -
- t_2_st_1 t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_01.C
deleted file mode 100644
index 9641d1d615c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_01.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// g++ 1.37.1 bug 900519_01
-
-// g++ fails to flag errors for some attempts to declare or define non-member
-// type conversion operators.
-
-// cfront 2.0 passes this test.
-
-// keywords: user-defined type conversion operator, non-member
-
-extern operator int (); // ERROR -
-
-extern operator int () { // ERROR -
- return 0;
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_02.C
deleted file mode 100644
index 90dc16a42ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_02.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// g++ 1.37.1 bug 900519_02
-
-// The C++ Reference Manual says (in section 8.4.3) "A reference to a plain
-// T can only be initialized with a plain T" however g++ allows the
-// initialization of plain references with qualified objects in many cases.
-
-// keywords: references, initialization, type qualifiers
-
-extern const int cint_obj = 9;
-volatile int vint_obj = 9;
-
-void take_int_ref (int& arg) { } // ERROR - referenced by errors below
-
-int& global_int_ref0 = cint_obj; // ERROR -
-int& global_int_ref1 = vint_obj; // ERROR -
-
-extern const int& cint_ref;
-extern volatile int& vint_ref;
-
-void test_0 ()
-{
- int& local_int_ref0 = cint_obj; // ERROR -
- int& local_int_ref1 = vint_obj; // ERROR -
-
- take_int_ref (cint_obj); // ERROR - caught
- take_int_ref (vint_obj); // ERROR -
-
- take_int_ref (cint_ref); // ERROR -
- take_int_ref (vint_ref); // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_03.C
deleted file mode 100644
index 114d90960bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_03.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// g++ 1.37.1 bug 900519_03
-
-// The C++ Reference Manual says (in section 8.4.3) "A reference to a
-// volatile T can be initialized with a volatile T or a plain T but not a
-// const T. A reference to a const T can be initialized with a const T or
-// a plain T or something that can be converted into a plain T, but not a
-// volatile T."
-
-// g++ fails to disgnose such errors in most cases.
-
-// keywords: references, initialization, type qualifiers
-
-extern const int cint_obj;
-extern volatile int vint_obj;
-
-void take_cint_ref (const int& arg) { } // ERROR -
-void take_vint_ref (volatile int& arg) { } // ERROR -
-
-const int& global_cint_ref2 = vint_obj; // ERROR -
-
-volatile int& global_vint_ref1 = cint_obj; // ERROR -
-
-extern const int& extern_cint_ref;
-extern volatile int& extern_vint_ref;
-
-void test_0 ()
-{
- const int& local_cint_ref2 = vint_obj; // ERROR -
-
- volatile int& local_vint_ref1 = cint_obj; // ERROR -
-}
-
-void test_1 ()
-{
- take_cint_ref (vint_obj); // ERROR -
-
- take_vint_ref (cint_obj); // ERROR - caught
-}
-
-void test_2 ()
-{
- take_cint_ref (extern_vint_ref); // ERROR -
-
- take_vint_ref (extern_cint_ref); // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_04.C
deleted file mode 100644
index 53867a1b2b0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_04.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// g++ 1.37.1 bug 900519_04
-
-// The following legal code causes g++ to segfault.
-
-// cfront 2.0 passes this test.
-
-// keywords: segfault, references, initialization
-
-int cint_obj = 9;
-
-void take_cint_ref (int& arg) { }
-
-int& cint_ref_0 = cint_obj;
-int& cint_ref_1 = cint_obj;
-
-void test_0 ()
-{
- take_cint_ref (cint_ref_1); // causes segfault
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_05.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_05.C
deleted file mode 100644
index 9a2a4cffaa2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_05.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// g++ 1.37.1 bug 900519_05
-
-// g++ fails to allow the use of function-reference types.
-
-// cfront 2.0 passes this test.
-
-// keywords: function types, reference types
-
-typedef void (func_type) (int, int);
-typedef func_type& func_ref_type;
-
-void function (int arg1, int arg2)
-{
-}
-
-func_type& global_func_ref1 = function;
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_06.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_06.C
deleted file mode 100644
index 5704c3f9520..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_06.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// g++ 1.37.1 bug 900519_06
-
-// g++ allows the type given in an invocation of operator new to be a
-// reference type.
-
-// Since pointers to reference types are illegal, the required return type
-// from such an invocation (of operator new) is illegal, and thus (it seems)
-// the entire call to new should be treated as being illegal.
-
-typedef int& int_ref;
-
-void test (int n)
-{
- new int&; // ERROR - missed
- new int_ref; // ERROR - missed
- new int&[n]; // ERROR - missed
- new int_ref[n]; // ERROR - missed
- new int&[3]; // ERROR - missed
- new int_ref[3]; // ERROR - missed
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_07.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_07.C
deleted file mode 100644
index f5ea6bcb8d8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_07.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// g++ 1.37.1 bug 900519_07
-
-// It is illegal to specify or to use array-of-reference types, yet g++
-// allows them to be specified (in typedef statements and in declarations)
-// and to be used (in declarations).
-
-// keywords: reference types, array types
-
-int i;
-int j;
-
-typedef int& int_ref;
-typedef int_ref int_ref_array_type[2]; // ERROR - missed
-
-int& int_ref_array_obj0[2] = { i, j }; // ERROR - missed
-int_ref int_ref_array_obj1[2] = { i, j }; // ERROR - missed
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_09.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_09.C
deleted file mode 100644
index 3bff70eed74..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_09.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// g++ 1.37.1 bug 900519_09
-
-// g++ allows the allocation of const objects via operator new even when
-// these uses of operator new do not include initializations.
-
-// This is inconsistant within the restrictions placed on the construction
-// of class, struct, and union types which have constant members.
-
-// Since there is no completely valid way of initializing such objects
-// after the invocation of new, these cases should all be illegal.
-
-// keywords: operator new, initialization, const qualifier
-
-struct struct_0 {
- int member;
-};
-
-typedef const int const_int;
-typedef const struct struct_0 const_struct_0;
-
-void test ()
-{
- new const int; // ERROR -
- new const_int; // ERROR -
- new const struct_0; // ERROR -
- new const_struct_0; // ERROR -
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_12.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_12.C
deleted file mode 100644
index 112b989b805..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_12.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// g++ 1.37.1 bug 900519_12
-
-// The following erroneous code causes g++ to segfault.
-
-// cfront 2.0 passes this test.
-
-// keywords: segfault, typedef, pointer type, function type
-
-typedef eek void (*)(); // ERROR -
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900519_13.C b/gcc/testsuite/g++.old-deja/g++.bugs/900519_13.C
deleted file mode 100644
index b4bebda6588..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900519_13.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// g++ 1.37.1 bug 900519_13
-
-// If multiple inheritance creates a situation in which a given name is
-// inherited from more than one base class, and if the inherited declarations
-// for the name are for different categories of members (e.g. object members,
-// function members, enumeral members), then g++ will (in some cases) fail
-// to flag errors when the ambiguous name is used.
-
-// cfront 2.0 passes this test.
-
-// keywords: inheritance, ambiguity resolution, members
-
-struct base_0 {
- enum { base_member }; // ERROR - candidate (26, 30)
-};
-
-struct base_1 {
- int base_member; // ERROR - candidate (26, 34)
-};
-
-struct base_2 {
- int base_member (); // ERROR - candidate (30, 34)
-};
-
-struct derived_0 : public base_0, public base_1 {
- void member () { base_member; } // ERROR -
-};
-
-struct derived_1 : public base_0, public base_2 {
- void member () { base_member; } // ERROR - missed
-};
-
-struct derived_2 : public base_1, public base_2 {
- void member () { base_member; } // ERROR - missed
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C
deleted file mode 100644
index 80543b67913..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// g++ 1.37.1 bug 900520_02
-
-// keywords: reference types, initialization, parameter passing
-
-typedef int b_array[3];
-typedef int u_array[];
-
-typedef b_array &b_array_ref;
-typedef u_array &u_array_ref;
-
-void take_b_array_ref (b_array_ref arg) { } // ERROR - passed to here
-
-extern u_array u_array_gbl_obj;
-
-u_array_ref u_array_ref_gbl_obj0 = u_array_gbl_obj;
-
-b_array_ref b_array_ref_gbl_obj0 = u_array_ref_gbl_obj0; // ERROR - invalid declaration
-
-void test_passing ()
-{
- take_b_array_ref (u_array_ref_gbl_obj0); // ERROR - invalid call
-}
-
-b_array u_array_gbl_obj;
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C
deleted file mode 100644
index b1f05c95b14..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// g++ 1.37.1 bug 900520_03
-
-// The C++ Reference Manual says (in section 8.2.4):
-
-// When an identifier of array type appears in an expression, except
-// as the operand of sizeof or & or used to initialize a reference,
-// it is converted into a pointer to the first member of the array.
-
-// One must assume from the verbage, that when the name of a non-const array
-// object appears in one of the exempted contexts mentioned in this passage,
-// that it is *not* automatically converted into a pointer value, but rather
-// that it remains as an array type value, and that it may therefore also
-// still be an lvalue, and may be used to initialize references.
-
-// As the following code demonstrates, g++ does in fact treat the names
-// of non-const array objects as valid initializers for reference-to-array
-// type object in some (but not all) contexts.
-
-// The exception is that g++ does not allow names which designate objects
-// on incomplete array types to be used as actual parameters in function
-// calls where the corresponding formal parameter is of a reference-to-array
-// type.
-
-// g++ does however allow other similar sorts of initializations of non-formal
-// reference objects.
-
-// 5/16/94 (jason): The 1/25/94 WP explicitly states in section 8.3.5 that
-// parameter types may not contain pointers or references to arrays of unknown
-// bound. g++ is correct.
-
-// keywords: reference types, array types, initialization, parameter passing
-
-typedef int u_array[];
-typedef u_array &u_array_ref;
-
-void take_u_array_ref (u_array_ref arg) { } // ERROR - reference to array of unknown bound in parmtype
-
-extern u_array u_array_gbl_obj;
-u_array_ref u_array_ref_gbl_obj0 = u_array_gbl_obj; // OK
-
-void test_local_initialization ()
-{
- u_array_ref u_array_ref_lcl_obj0 = u_array_gbl_obj; // OK
-}
-
-void test_passing ()
-{
- take_u_array_ref (u_array_gbl_obj);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C
deleted file mode 100644
index d9488cf9b53..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// g++ 1.37.1 bug 900520_04
-
-// g++ does not yet support the initialization of scalar type objects
-// (including built-in arithmetic types, enum types, and pointer types)
-// via constructor initialization syntax except within a call to operator
-// new.
-
-// keywords: unimplemented, syntax, initialization, scalar types
-
-enum e_type { e_value };
-
-typedef char *charp;
-
-charp cp;
-
-int global_i (1); // gets bogus error
-double global_d (9.9); // gets bogus error
-charp global_cp0 (cp); // gets bogus error
-charp global_cp1 (0); // gets bogus error
-enum e_type global_e (e_value); // gets bogus error
-
-void func0 ()
-{
- int local_i (1); // gets bogus error
- double local_d (9.9); // gets bogus error
- charp local_cp0 (cp); // gets bogus error
- charp local_cp1 (0); // gets bogus error
- enum e_type local_e (e_value); // gets bogus error
-}
-
-void func1 ()
-{
- int* ip = new int (1); // gets bogus error
- double* dp = new double (9.9); // gets bogus error
- charp* cpp0 = new charp (cp); // gets bogus error
- charp* cpp1 = new charp (0); // gets bogus error
- enum e_type* ep = new e_type (e_value); // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900520_05.C b/gcc/testsuite/g++.old-deja/g++.bugs/900520_05.C
deleted file mode 100644
index d628ae37f9f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900520_05.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// g++ 1.37.1 bug 900520_05
-
-// The following legal code gets syntax errors from g++.
-
-// keywords: syntax, unimplemented, operator new, initialization, pointer types
-
-struct struct_0 {
-};
-
-char *cp;
-static struct_0 *sp;
-
-void test0 ()
-{
- new char * (cp); // gets bogus error
-}
-
-void test1 ()
-{
- new struct_0 * (sp); // gets bogus error
-}
-
-int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900520_06.C b/gcc/testsuite/g++.old-deja/g++.bugs/900520_06.C
deleted file mode 100644
index aa4ec9a320e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900520_06.C
+++ /dev/null
@@ -1,78 +0,0 @@
-// g++ 1.37.1 bug 900520_06
-
-// When an object of a class type is passed into a formal parameter of the
-// same class type (in a function call) the language definition calls for
-// this action to be treated like any other form of an initialization of
-// an object of the given class type.
-
-// g++ fails however to invoke the (compiler-supplied) copy constructor for
-// the class type when a parameter of the class type is passed as an
-// actual parameter.
-
-// This causes the following program to exit with a non-zero exit status.
-
-// cfront 2.0 passes this test.
-
-int base_copy_ctor_called = 0;
-int member_copy_ctor_called = 0;
-
-struct struct_0 {
- struct_0 ();
- struct_0 (const struct_0&);
-};
-
-struct_0::struct_0 ()
-{
-}
-
-struct_0::struct_0 (const struct_0&)
-{
- base_copy_ctor_called++;
-}
-
-struct struct_1 {
- struct_1 ();
- struct_1 (const struct_1&);
-};
-
-struct_1::struct_1 ()
-{
-}
-
-struct_1::struct_1 (const struct_1&)
-{
- member_copy_ctor_called++;
-}
-
-struct struct_2 : public struct_0 {
- struct_2 ();
- struct_1 struct_1_member;
-#ifdef MAKE_COPY_CONSTRUCTOR_EXPLICIT
- struct_2 (const struct_2&);
-#endif
-};
-
-struct_2::struct_2 ()
-{
-}
-
-#ifdef MAKE_COPY_CONSTRUCTOR_EXPLICIT
-struct_2::struct_2 (const struct_2& arg) :
- struct_0 ((struct_0&)arg),
- struct_1_member (arg.struct_1_member)
-{
-}
-#endif
-
-void take_struct_2 (struct_2 arg)
-{
-}
-
-int test ()
-{
- struct_2 struct_2_object0;
- take_struct_2 (struct_2_object0);
- return (base_copy_ctor_called != 1 || member_copy_ctor_called != 1);
-}
-
-int main () { return test (); }
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/cleanup1.C b/gcc/testsuite/g++.old-deja/g++.eh/cleanup1.C
deleted file mode 100644
index 6faea269c9d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/cleanup1.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Bug: obj gets destroyed twice because the fixups for the return are
-// inside its cleanup region.
-
-extern "C" int printf (const char *, ...);
-
-int d;
-
-struct myExc { };
-
-struct myExcRaiser {
- ~myExcRaiser() { throw myExc(); }
-};
-
-struct stackObj {
- ~stackObj() { ++d; printf ("stackObj::~stackObj()\n"); };
-};
-
-int test()
-{
- myExcRaiser rais;
- stackObj obj;
- return 0;
-}
-
-int main()
-{
- try {
- test();
- }
- catch (myExc &) {
- return d != 1;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C b/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C
deleted file mode 100644
index 9874131a44d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-struct A
-{
- A();
- A(A&); // ERROR - referenced below
-};
-
-int
-main ()
-{
- try
- {
- throw A(); // ERROR - can't copy
- }
- catch (...) { }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/flow1.C b/gcc/testsuite/g++.old-deja/g++.eh/flow1.C
deleted file mode 100644
index 024670cf347..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/flow1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <stdio.h>
-
-int bar ()
-{
- throw 100;
-}
-
-int main ()
-{
- int i = 0; // this gets deleted after flow analysis
- try
- {
- i = bar ();
- }
- catch (...)
- {
- }
-
- printf ("i = %d\n", i);
- return i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new1.C b/gcc/testsuite/g++.old-deja/g++.eh/new1.C
deleted file mode 100644
index 1671dbbe7de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/new1.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Test that a throw in foo destroys the A, but does not free the memory.
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <new.h>
-
-struct A {
- A();
- ~A();
-};
-
-struct B {
- B (A);
-};
-
-void foo (B*);
-
-int newed, created;
-
-int main ()
-{
- try {
- foo (new B (A ()));
- } catch (...) { }
-
- return !(newed && !created);
-}
-
-A::A() { created = 1; }
-A::~A() { created = 0; }
-B::B(A) { }
-void foo (B*) { throw 1; }
-
-void* operator new (size_t size) throw (std::bad_alloc)
-{
- ++newed;
- return (void *) malloc (size);
-}
-
-void operator delete (void *p) throw ()
-{
- --newed;
- free (p);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new2.C b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
deleted file mode 100644
index ddc8ba82e58..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/new2.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Test that a throw in B's constructor destroys the A and frees the memory.
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <new.h>
-
-struct A {
- A();
- ~A();
-};
-
-struct B {
- B (A);
-};
-
-void foo (B*);
-
-int newed, created;
-
-int main ()
-{
- newed = 0; // The libraries might call new before main starts.
- try {
- foo (new B (A ()));
- } catch (...) { }
-
- return !(!newed && !created);
-}
-
-A::A() { created = 1; }
-A::~A() { created = 0; }
-B::B(A) { throw 1; }
-void foo (B*) { }
-
-void* operator new (size_t size) throw (std::bad_alloc)
-{
- ++newed;
- return (void *) malloc (size);
-}
-
-void operator delete (void *p) throw ()
-{
- --newed;
- free (p);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/pdel1.C b/gcc/testsuite/g++.old-deja/g++.eh/pdel1.C
deleted file mode 100644
index b8e553c0e2f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/pdel1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Test for calling placement delete.
-
-#include <new>
-#include <stddef.h>
-
-int r = 1;
-
-struct A {
- A() { throw 1; }
- void operator delete (void *p, int, int) { r = 0; ::operator delete (p); }
-};
-
-void * operator new (size_t size, int, int) { return operator new (size); }
-
-int main ()
-{
- try {
- A* ap = new (1, 5) A;
- } catch (...) { }
-
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/pdel2.C b/gcc/testsuite/g++.old-deja/g++.eh/pdel2.C
deleted file mode 100644
index 12efcd386cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/pdel2.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Test for not calling mismatched placement delete.
-
-#include <new>
-#include <stddef.h>
-
-int r = 0;
-
-struct A {
- A() { throw 1; }
- void operator delete (void *p, int, long) { r = 1; ::operator delete (p); }
-};
-
-void * operator new (size_t size, int, int) { return operator new (size); }
-
-int main ()
-{
- try {
- A* ap = new (1, 5) A;
- } catch (...) { }
-
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C b/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C
deleted file mode 100644
index 9101e9e3010..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Bug: catching pointers by reference doesn't work right.
-
-extern "C" int printf (const char *, ...);
-
-struct E {
- int x;
- E(int i) { x = i; };
-};
-
-int main()
-{
- try {
- E *p = new E(5);
- throw p;
- }
-
- catch (E *&e) {
- printf ("address of e is 0x%lx\n", (long)e);
- return !(long(e) != 5 && e->x == 5);
- }
- return 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/rethrow1.C b/gcc/testsuite/g++.old-deja/g++.eh/rethrow1.C
deleted file mode 100644
index ef4dcb4f19d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/rethrow1.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Testcase for proper handling of rethrow.
-
-#include <stdio.h>
-
-int c, d;
-
-struct A
-{
- int i;
- A () { i = ++c; printf ("A() %d\n", i); }
- A (const A&) { i = ++c; printf ("A(const A&) %d\n", i); }
- ~A() { printf ("~A() %d\n", i); ++d; }
-};
-
-int
-main ()
-{
- try
- {
- try
- {
- printf ("Throwing 1...\n");
- throw A();
- }
- catch (A)
- {
- try
- {
- printf ("Throwing 2...\n");
- throw A();
- }
- catch (A)
- {
- printf ("Throwing 3...\n");
- throw;
- }
- }
- }
- catch (A)
- {
- printf ("Caught.\n");
- }
- printf ("c == %d, d == %d\n", c, d);
- return c != d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/rethrow2.C b/gcc/testsuite/g++.old-deja/g++.eh/rethrow2.C
deleted file mode 100644
index 2d2583b7219..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/rethrow2.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Testcase for proper handling of rethrow.
-
-#include <stdio.h>
-
-int c, d;
-
-struct A
-{
- int i;
- A () { i = ++c; printf ("A() %d\n", i); }
- A (const A&) { i = ++c; printf ("A(const A&) %d\n", i); }
- ~A() { printf ("~A() %d\n", i); ++d; }
-};
-
-int
-main ()
-{
- try
- {
- try
- {
- printf ("Throwing 1...\n");
- throw A();
- }
- catch (A)
- {
- try
- {
- printf ("Throwing 2...\n");
- throw;
- }
- catch (A)
- {
- printf ("Throwing 3...\n");
- throw;
- }
- }
- }
- catch (A)
- {
- printf ("Caught.\n");
- }
- printf ("c == %d, d == %d\n", c, d);
- return c != d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C b/gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C
deleted file mode 100644
index 5da2081b1b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdio.h>
-#include <exception>
-
-static void
-eh_terminate ()
-{
- printf ("CALLING TERMINATE\n");
- exit (1);
-}
-
-void
-eh_test (int level)
-{
- try
- {
- if (level < 2)
- eh_test (level + 1);
- else
- {
- printf ("%d: Throwing\n", level);
- throw (level);
- }
- }
- catch (int &x)
- {
- printf ("%d: Got level %d\n",
- level, x);
-
- if (level > 0)
- throw;
- }
-}
-
-int main ()
-{
- std::set_terminate (&eh_terminate);
- eh_test (0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/rethrow4.C b/gcc/testsuite/g++.old-deja/g++.eh/rethrow4.C
deleted file mode 100644
index c5dcd2314a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/rethrow4.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Testcase for proper handling of rethrow.
-
-#include <stdio.h>
-
-int c, d;
-
-struct A
-{
- int i;
- A () { i = ++c; printf ("A() %d\n", i); }
- A (const A&) { i = ++c; printf ("A(const A&) %d\n", i); }
- ~A() { printf ("~A() %d\n", i); ++d; }
-};
-
-int
-main ()
-{
- try
- {
- try
- {
- printf ("Throwing 1...\n");
- throw A();
- }
- catch (A)
- {
- try
- {
- printf ("Throwing 2...\n");
- throw;
- }
- catch (A)
- {
- printf ("Throwing 3...\n");
- throw A();
- }
- }
- }
- catch (A)
- {
- printf ("Caught.\n");
- }
- printf ("c == %d, d == %d\n", c, d);
- return c != d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/rethrow5.C b/gcc/testsuite/g++.old-deja/g++.eh/rethrow5.C
deleted file mode 100644
index f137d1841cd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/rethrow5.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Testcase for proper handling of rethrow.
-
-#include <stdio.h>
-
-int c, d;
-
-struct A
-{
- int i;
- A () { i = ++c; printf ("A() %d\n", i); }
- A (const A&) { i = ++c; printf ("A(const A&) %d\n", i); }
- ~A() { printf ("~A() %d\n", i); ++d; }
-};
-
-int
-main ()
-{
- try
- {
- try
- {
- printf ("Throwing 1...\n");
- throw A();
- }
- catch (A)
- {
- try
- {
- printf ("Throwing 2...\n");
- throw;
- }
- catch (A)
- {
- printf ("Falling out...\n");
- }
- }
- }
- catch (A)
- {
- printf ("Caught.\n");
- }
- printf ("c == %d, d == %d\n", c, d);
- return c != d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec1.C b/gcc/testsuite/g++.old-deja/g++.eh/spec1.C
deleted file mode 100644
index 044af8cdb9b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/spec1.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Testing exception specifications.
-// Test 1: the original exception succeeds.
-
-#include <stdlib.h>
-#include <exception>
-
-void my_term () { exit (1); }
-void my_unexp () { throw 42; }
-
-void
-f () throw (char, int, std::bad_exception)
-{
- throw 'a';
-}
-
-int main ()
-{
- std::set_terminate (my_term);
- std::set_unexpected (my_unexp);
-
- try
- {
- f ();
- }
- catch (char)
- {
- return 0;
- }
- catch (int)
- {
- return 3;
- }
- catch (std::bad_exception)
- {
- return 4;
- }
- return 5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec2.C b/gcc/testsuite/g++.old-deja/g++.eh/spec2.C
deleted file mode 100644
index d0269b3a4be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/spec2.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Testing exception specifications.
-// Test 2: the second throw succeeds.
-
-#include <stdlib.h>
-#include <exception>
-
-void my_term () { exit (1); }
-void my_unexp () { throw 42; }
-
-void
-f () throw (int, std::bad_exception)
-{
- throw 'a';
-}
-
-int main ()
-{
- std::set_terminate (my_term);
- std::set_unexpected (my_unexp);
-
- try
- {
- f ();
- }
- catch (char)
- {
- return 2;
- }
- catch (int)
- {
- return 0;
- }
- catch (std::bad_exception)
- {
- return 4;
- }
- return 5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec3.C b/gcc/testsuite/g++.old-deja/g++.eh/spec3.C
deleted file mode 100644
index 57b29d48908..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/spec3.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Testing exception specifications.
-// Test 3: the bad_exception throw succeeds.
-
-#include <stdlib.h>
-#include <exception>
-
-void my_term () { exit (1); }
-void my_unexp () { throw 42; }
-
-void
-f () throw (std::bad_exception)
-{
- throw 'a';
-}
-
-int main ()
-{
- std::set_terminate (my_term);
- std::set_unexpected (my_unexp);
-
- try
- {
- f ();
- }
- catch (char)
- {
- return 2;
- }
- catch (int)
- {
- return 3;
- }
- catch (std::bad_exception)
- {
- return 0;
- }
- return 5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec4.C b/gcc/testsuite/g++.old-deja/g++.eh/spec4.C
deleted file mode 100644
index a92f7f06469..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/spec4.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Testing exception specifications.
-// Test 4: all throws fail, call terminate.
-
-#include <stdlib.h>
-#include <exception>
-
-void my_term () { exit (0); }
-void my_unexp () { throw 42; }
-
-void
-f () throw (short)
-{
- throw 'a';
-}
-
-int main ()
-{
- std::set_terminate (my_term);
- std::set_unexpected (my_unexp);
-
- try
- {
- f ();
- }
- catch (char)
- {
- return 2;
- }
- catch (int)
- {
- return 3;
- }
- catch (std::bad_exception)
- {
- return 4;
- }
- return 5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec5.C b/gcc/testsuite/g++.old-deja/g++.eh/spec5.C
deleted file mode 100644
index 56154f973ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/spec5.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-
-extern void *f(unsigned int k) throw();
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec6.C b/gcc/testsuite/g++.old-deja/g++.eh/spec6.C
deleted file mode 100644
index e9e3e770012..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/spec6.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Build don't link:
-
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 19 Jan 1999 <nathan@acm.org>
-
-// Determine that throw specifiers are checked correctly.
-
-// [except.spec] 1, a type in an exception specifier shall not be incomplete,
-// or pointer or ref to incomplete
-struct X; // ERROR - forward declaration - XFAIL
-void fn1() throw(X); // ERROR - incomplete type - XFAIL
-void fn2() throw(X *); // ERROR - incomplete type - XFAIL
-void fn3() throw(X &); // ERROR - incomplete type - XFAIL
-void fn4() throw(void); // ERROR - incomplete type - XFAIL
-// except for cv pointer to void
-void fn5() throw(void *);
-
-// [except.spec] 2, exception specifiers must be the same set of types (but
-// can be reordered)
-void fn() throw(int, char); // gets bogus error - XFAIL
-void fn() throw(char, int){} // gets bogus error - ordering is irrelevant - XFAIL
-
-// [except.spec] 3, virtual function overriders shall throw a subset of the
-// overridden function
-struct E {};
-struct F : public E {};
-struct A
-{
- virtual void foo() throw();
- virtual void baz() throw(double, int);
- virtual void bar();
- virtual void qux() throw(E);
- virtual void quux() throw(F);
-};
-
-struct B : A
-{
- virtual void foo() throw(int); // ERROR - not in base function - XFAIL
- virtual void baz() throw(double);
- virtual void bar(int) throw(int);
- virtual void qux() throw(F);
- virtual void quux() throw(E); // ERROR - not in base function - XFAIL
-};
-
-// [except.spec] 5, types shall not be defined in exception specifiers
-void fn6() throw(struct Z {}); // ERROR - types shall not be defined - XFAIL
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/throw1.C b/gcc/testsuite/g++.old-deja/g++.eh/throw1.C
deleted file mode 100644
index 49a7d1e68fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/throw1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-void athrow(const int & e) throw(int)
-{
- throw e;
-}
-
-int main(void)
-{
- athrow(int());
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/throw2.C b/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
deleted file mode 100644
index fbf0cec9c35..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-// Submitted by Sebastian Ritterbusch <uabp@rz.uni-karlsruhe.de>
-
-#define ANY int // a class with a public constructor
-
-void athrow(const ANY & e) throw(ANY)
-{
- throw e; // gets bogus error - discarding const
-}
-
-int main(void)
-{
- athrow(ANY());
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C b/gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
deleted file mode 100644
index cdbd6e1feeb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-template <class T>
-void f() throw (T)
-{
- throw 7;
-}
-
-
-int main()
-{
- try {
- f<int>();
- } catch (...) {
- return 0;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C b/gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C
deleted file mode 100644
index af3dc7bc12a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-// Special g++ flags: -O
-// crash test - XFAIL i*86-*-linux*
-
-// Posted by H. J. Lu <hjl@lucon.org>
-
-template<class T>
-class FixSeq
-{
-public:
- void append(const T&);
-};
-class foo
-{
-public:
- void setupIR();
-};
-typedef FixSeq<foo *> bar;
-extern void dummy (foo *);
-void *
-foobar (bar &x, foo *p)
-{
- try
- {
- p -> setupIR();
- }
- catch(...)
- {
- dummy (p);
- }
- x.append(p);
- return p;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C b/gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
deleted file mode 100644
index 521315e17e2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-// Posted by Trevor Taylor <ttaylor@powerup.com.au>
-
-template<class T> struct A {
- void X() throw(T);
-};
-
-template<class T>
-inline void A<T>::X()
-throw(T) { }
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/unwind1.C b/gcc/testsuite/g++.old-deja/g++.eh/unwind1.C
deleted file mode 100644
index 617b355a6c6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.eh/unwind1.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Test that unwinding properly restores SP.
-// Contributed by Jason Merrill <jason@cygnus.com>
-
-int f (int i)
-{
- throw i;
-}
-
-int main ()
-{
- void *sp1 = __builtin_alloca (0);
-
- try
- {
- f (0);
- }
- catch (int)
- {
- }
-
- void *sp2 = __builtin_alloca (0);
-
- return (sp1 != sp2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc1.C b/gcc/testsuite/g++.old-deja/g++.ext/addrfunc1.C
deleted file mode 100644
index 3e254e6f82b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Test that taking the address of a member function name produces
-// a pointer to member function.
-// Contributed by Jason Merrill <jason@cygnus.com>
-// Special g++ Options: -fpermissive -w
-// Build don't link:
-
-struct A { };
-int (A::*p)();
-
-struct B {
- int f () { return 0; }
- void g ();
-};
-
-void B::g ()
-{
- p = (int (A::*)())&f;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc2.C b/gcc/testsuite/g++.old-deja/g++.ext/addrfunc2.C
deleted file mode 100644
index da98333d809..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Test for implicit & on methods.
-// Contributed by Jason Merrill <jason@cygnus.com>.
-// Special g++ Options: -fpermissive -w
-
-struct A {
- void f (int = 0) { }
-};
-
-int
-main ()
-{
- void (A::*p)(int) = 0;
- p = A::f;
- if (p != A::f)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc3.C b/gcc/testsuite/g++.old-deja/g++.ext/addrfunc3.C
deleted file mode 100644
index 7926eba41da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc3.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Test for overload resolution in comparison expressions.
-// Contributed by Jason Merrill <jason@cygnus.com>.
-// Special g++ Options: -fpermissive -w
-
-void f (int) { }
-void f ();
-
-int main () {
- void (*p)(int);
- p = f;
- if (p != f)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/array1.C b/gcc/testsuite/g++.old-deja/g++.ext/array1.C
deleted file mode 100644
index 808eb534403..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/array1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Testcase for assignment of non-array to array (assigns the same value to
-// each member)
-// Build don't link:
-// Special Options:
-
-typedef struct {} ct2d_rigid, ct2d_rigid_a[1];
-class ccInspection
-{
-protected:
- ct2d_rigid_a _dev2phys;
-};
-class ccBgaInspection : public ccInspection
-{
-public:
- int reinspect (unsigned long diagFlags);
-};
-int
-ccBgaInspection::reinspect (unsigned long diag_flags)
-{
- ct2d_rigid physTdev;
- _dev2phys = physTdev; // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/array2.C b/gcc/testsuite/g++.old-deja/g++.ext/array2.C
deleted file mode 100644
index 13679af63b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/array2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// This testcase used to cause a crash on the Alpha.
-// Special g++ Options:
-// Build don't link:
-
-struct A {
- int i;
- ~A() { }
-};
-
-A f (int n)
-{
- A a[n];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C b/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
deleted file mode 100644
index ef051d265a0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// PRMS Id: 4992
-// Build don't link:
-// Special g++ Options:
-
- int *f(){ return new int[1] = { 1 }; }
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C b/gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C
deleted file mode 100644
index e572081cb81..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-int *foo = new int[1](0); // gets bogus error -
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C
deleted file mode 100644
index dd14628956b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Test for using prefix attributes in a parameter decl.
-// Contributed by Jason Merrill <jason@cygnus.com>
-// Skip if not target: i?86-*-*
-// Build don't link:
-
-#define _stdcall __attribute__ ((__stdcall__))
-
-typedef void (_stdcall* pfn)();
-
-void f (void (_stdcall*) ());
-void f (void (_stdcall* pfn)());
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C
deleted file mode 100644
index 8c32d4344e5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Test that stdcall doesn't prevent us from using op delete.
-// Contributed by Jason Merrill <jason@cygnus.com>
-// Skip if not target: i?86-*-*
-
-struct A {
- void operator delete (void *) __attribute__ ((stdcall));
-};
-
-void A::operator delete (void *) { }
-
-int main()
-{
- A* ap = new A;
- delete ap;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C
deleted file mode 100644
index 18b16530bc3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Test for proper handling of attributes in template instantiation.
-// Contributed by Jason Merrill <jason@cygnus.com>
-// Skip if not target: i?86-*-*
-
-template <class T>
-struct A {
- static void f () __attribute__ ((stdcall));
-};
-
-template <class T> void
-A<T>::f () { }
-
-void g (void (__attribute__ ((stdcall)) *p)()) { }
-void g (int);
-
-int
-main ()
-{
- g (&A<int>::f);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C
deleted file mode 100644
index 5200eac9d92..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Test that attributes are really applied to function declarations under
-// various conditions.
-// Contributed by Jason Merrill (jason@cygnus.com)
-// Special g++ Options: -Wformat
-// Build don't link:
-
-#define PF __attribute__ ((format (printf, 1, 2)))
-
-struct A {
- static PF void f (char *, ...);
- friend PF void g (char *, ...);
- static void test ();
-};
-
-void PF h (char *, ...);
-void PF k (char *, ...) { }
-
-void A::test ()
-{
- f ("%f", 42); // WARNING -
- g ("%f", 42); // WARNING -
- h ("%f", 42); // WARNING -
- k ("%f", 42); // WARNING -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib5.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib5.C
deleted file mode 100644
index 85f1139b78b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/attrib5.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Test that attributes weak and alias coexist.
-
-extern "C" {
- void f () __attribute__((weak, alias ("_f")));
- void _f () { }
-}
-
-int main ()
-{
- f ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/bound1.C b/gcc/testsuite/g++.old-deja/g++.ext/bound1.C
deleted file mode 100644
index 3b926a49561..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/bound1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Testcase for cast of bound pointer to member function.
-// Special g++ Options: -Wno-pmf-conversions
-// Build don't link:
-
-struct A {
- int f ();
-};
-
-typedef int (*fptr)(A *);
-typedef void* vptr;
-typedef int (A::*pmf)();
-
-int foo (A* ap, pmf fp, int A::* ip)
-{
- fptr p;
- vptr q;
- A a;
-
- p = (fptr)(ap->*fp);
- p = (fptr)(ap->*fp);
- p = (fptr)(ap->*(&A::f));
- p = (fptr)(a.*fp);
- p = (fptr)(a.*(&A::f));
-
- q = (vptr)(ap->*fp);
- q = (vptr)(ap->*(&A::f));
- q = (vptr)(a.*fp);
- q = (vptr)(a.*(&A::f));
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/constructor.C b/gcc/testsuite/g++.old-deja/g++.ext/constructor.C
deleted file mode 100644
index cdf9f1da98b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/constructor.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Testcase for constructor expressions (GNU extension)
-// Special g++ Options:
-
-struct Any {
- int *type;
- int *addr;
-};
-
-int i, j;
-
-main () {
- struct Any *ap = (struct Any *)
- __builtin_alloca (sizeof(struct Any));
- *ap = ((struct Any){ &i, &j }) ;
-
- if (ap->type != &i || ap->addr != &j)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/default.C b/gcc/testsuite/g++.old-deja/g++.ext/default.C
deleted file mode 100644
index f434749ef33..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/default.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// PRMS Id: 5353
-// This may be an extension, but it's a very common one...
-
-extern "C" int printf (const char *, ...);
-
-class A {
-public:
- static A*func (int = 3);
- static A*(*ptr)(int = 4);
-};
-
-A*(*A::ptr)(int) = &A::func;
-
-int main()
-{
- A foo;
-
- A::ptr();
- A::ptr(47);
-}
-
-A*A::func(int i)
-{
- printf("I = %d\n",i);
- return (A*)0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/implicit1.C b/gcc/testsuite/g++.old-deja/g++.ext/implicit1.C
deleted file mode 100644
index 33b9450f6be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/implicit1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// test for implicit declaration
-// Special g++ Options: -w -fpermissive
-
-int
-main ()
-{
- return blarg ();
-}
-
-extern "C" int
-blarg (...)
-{
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/jump1.C b/gcc/testsuite/g++.old-deja/g++.ext/jump1.C
deleted file mode 100644
index 5e3dc26c876..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/jump1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Test that we can jump over the declaration of a non-POD object.
-// Contributed by Jason Merrill <jason@cygnus.com>
-// Special g++ Options: -fpermissive -w
-
-struct A { };
-union U {
- void (A::*p)();
-};
-
-int main()
-{
- goto foo;
- U u;
- foo:
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/memconst.C b/gcc/testsuite/g++.old-deja/g++.ext/memconst.C
deleted file mode 100644
index a49d3a05898..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/memconst.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// From: Ove.Ewerlid@syscon.uu.se (Ove Ewerlid)
-// Subject: ss-940630:cc1plus: internal error
-// Date: Sat, 2 Jul 1994 05:07:20 +0200
-// Special g++ Options:
-// Build don't link:
-
-class qwerty {
-public:
- qwerty (const unsigned short userkey[8]);
- ~qwerty ();
-};
-
-class foo {
-private:
- static const unsigned char * const dummy_key = (unsigned char*)"ThisIs a dummy!";
-
-public:
- void bar ();
-};
-
-void
-foo::bar ()
-{
- qwerty QWERTY ((unsigned short*)dummy_key);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/null1.C b/gcc/testsuite/g++.old-deja/g++.ext/null1.C
deleted file mode 100644
index ca1efff480f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/null1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Test for overloading with g++ NULL.
-
-void f (int *) { }
-void f (char, char);
-int main ()
-{
- f (__null);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/pretty.C b/gcc/testsuite/g++.old-deja/g++.ext/pretty.C
deleted file mode 100644
index 715837de0be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/pretty.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Test for PRETTY_FUNCTION
-// Build don't link:
-
-class SV;
-
-class SVTable // : public Debug
-{
- // It is an array to pointer to a SV.
- SV ** array;
-
- // This is the size of array.
- int maxCount;
-
- // This is the current element count.
- int count;
-
- void fatal_error (const char *f, ...);
-
-public:
- SVTable (int size, const char *d);
- SVTable ();
- SVTable (const SVTable &);
- ~SVTable () {}
-
-};
-
-
-SVTable::SVTable (int size, const char *d)
- : maxCount (size), count (0)// , Debug (d)
-{
- if (size < 0)
- {
- fatal_error ("%s: Invalid size: %d\n", __PRETTY_FUNCTION__, size);
- }
-
- array = (SV **) new SV * [size];
-
- if (array == 0)
- {
- fatal_error ("%s: Failed to allocate array\n", __PRETTY_FUNCTION__);
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/typeof1.C b/gcc/testsuite/g++.old-deja/g++.ext/typeof1.C
deleted file mode 100644
index a9c03b3ae60..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ext/typeof1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-struct inttest {
- int elem[1];
-};
-
-template <class T>
-void F(T x)
-{
- typedef __typeof (x.elem[0]) dummy;
- dummy i = 1;
-}
-
-int main() {
- inttest x;
- F(x);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/README b/gcc/testsuite/g++.old-deja/g++.gb/README
deleted file mode 100644
index db118908b26..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/README
+++ /dev/null
@@ -1,20 +0,0 @@
-These are my C++ signature and class-scoping tests.
-
-In changing my signature tests to DejaGnu style, I reduced the number
-of tests from 40 to 25. They should still test the same features,
-though. All of these tests are run. I don't have any tests yet to
-check correct reporting of errors/warnings.
-
-The class scoping tests were in part derived from Vince Russo's
-Renaissance operating system and in part written by myself in helping
-Niklas Hallqvist test his rewrite of the scoping code. I had shared
-some of these tests with Niklas, others were included in bug reports I
-had sent to {g++,gcc}@cygnus.com. It is, therefore, possible that
-these tests duplicate tests in other directories.
-
-All files in this directory, including this file, are Copyright FSF 1995
-and fall under the GPL version 2.0 or later.
-
-Gerald Baumgartner
-gb@cs.purdue.edu
-March 1, 1995
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope01.C b/gcc/testsuite/g++.old-deja/g++.gb/scope01.C
deleted file mode 100644
index e22dd394979..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope01.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-struct c { typedef int t; };
-struct d { typedef char t; };
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope02.C b/gcc/testsuite/g++.old-deja/g++.gb/scope02.C
deleted file mode 100644
index 678b73e2251..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope02.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-struct c {
- typedef int t;
- struct d {
- void foo (t &);
- };
-};
-
-void c::d::foo (t & x) { }
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope03.C b/gcc/testsuite/g++.old-deja/g++.gb/scope03.C
deleted file mode 100644
index 09fe16aed86..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope03.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-struct c {
- class t { };
- struct d {
- void foo (t &);
- };
-};
-
-void c::d::foo (t & x) { }
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope04.C b/gcc/testsuite/g++.old-deja/g++.gb/scope04.C
deleted file mode 100644
index f63775bdb49..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope04.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-struct a {
- struct c {
- struct d {
- static int foo (int);
- };
- };
-
- struct b {
- int foo (int x) { return c::d::foo (x); }
- };
-};
-
-int a::c::d::foo (int) { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope05.C b/gcc/testsuite/g++.old-deja/g++.gb/scope05.C
deleted file mode 100644
index 60f0b02a58d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope05.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-struct C {
- void foo (int);
- void foo (char);
-
- struct D {
- void foo ();
- };
-};
-
-void C::D::foo () { }
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope06.C b/gcc/testsuite/g++.old-deja/g++.gb/scope06.C
deleted file mode 100644
index 46c9d07b5da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope06.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-struct C {
- struct D {
- int x;
- void foo ();
- };
- const int Ok = 0; // ERROR - initialization forbidden
-};
-
-void C::D::foo ()
-{
- x = Ok;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope07.C b/gcc/testsuite/g++.old-deja/g++.gb/scope07.C
deleted file mode 100644
index 051bbb5fb50..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope07.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-struct D {
- friend class A;
- friend class B;
- friend class C;
-
- void foo ();
-};
-
-void D::foo () { }
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope08.C b/gcc/testsuite/g++.old-deja/g++.gb/scope08.C
deleted file mode 100644
index 2451965f053..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope08.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-template <class X> class C {
-public:
- int f (X ob) { return 0; }
- int g (X ob) { return f (ob); }
-};
-
-class D {
-public:
- class E { public: E (); };
-
- C <E> x;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope09.C b/gcc/testsuite/g++.old-deja/g++.gb/scope09.C
deleted file mode 100644
index cc17afc9fe2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope09.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-class enclose {
- int e;
-protected:
- class nested {
- int n;
- };
-};
-
-class derived : public enclose {
-protected:
- class nested_derived : public nested {
- int nd;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope10.C b/gcc/testsuite/g++.old-deja/g++.gb/scope10.C
deleted file mode 100644
index 32caa6084a1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope10.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-void Foo (void)
-{
- class C {
- public:
- virtual int foo (void) { return 0; };
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope11.C b/gcc/testsuite/g++.old-deja/g++.gb/scope11.C
deleted file mode 100644
index 19229df9f25..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope11.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-template<class T, int N> class fixed_array {
-public:
- T _array[N];
-};
-
-class Hash {
-public:
- Hash (int);
-};
-
-typedef fixed_array<char, 4> ipAddress_t;
-
-class IPAddress {
-protected:
- long _i;
-public:
- IPAddress (ipAddress_t ip) { }
- IPAddress () { }
- IPAddress netMask () { return *this; }
- operator Hash ();
-};
-
-IPAddress::operator Hash ()
-{
- return Hash (_i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope12.C b/gcc/testsuite/g++.old-deja/g++.gb/scope12.C
deleted file mode 100644
index 52916b955b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope12.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-template<class T, int N> class FixedArray_t {
-public:
- T _array[N];
-
- FixedArray_t () { }
-};
-
-typedef FixedArray_t<unsigned char, 4> IPAddress_t;
-
-class IPAddress {
-public:
- IPAddress (IPAddress_t ip) { }
-
- operator IPAddress_t ()
- {
- IPAddress_t rv;
- return rv;
- }
-
- IPAddress () { }
-};
-
-class DatagramHeader {
-public:
- IPAddress _src;
-
- void setHeader (IPAddress);
-};
-
-void
-DatagramHeader::setHeader (IPAddress)
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/scope13.C b/gcc/testsuite/g++.old-deja/g++.gb/scope13.C
deleted file mode 100644
index 9ca5ba8ac25..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/scope13.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed gb scope
-class X {
-public:
-};
-
-class Y {
-public:
- void X();
- ::X X(int);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig01.C b/gcc/testsuite/g++.old-deja/g++.gb/sig01.C
deleted file mode 100644
index a3e927743f3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig01.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment
-// Test assignment to local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
-
- p = &a;
-
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig02.C b/gcc/testsuite/g++.old-deja/g++.gb/sig02.C
deleted file mode 100644
index f739a282c1b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig02.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment
-// Test assigning objects of different classes to local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-int main (void)
-{
- C a;
- D b;
- S * p;
- int i;
-
- for (i = 0; i < 2; i++)
- {
- if (i == 0)
- p = &a;
- else
- p = &b;
- printf ("%s", p->f ());
- }
- printf ("\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig03.C b/gcc/testsuite/g++.old-deja/g++.gb/sig03.C
deleted file mode 100644
index d791c7edbef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig03.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr overloading
-// Test overloading of signature member functions.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * f (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * f (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
-
- p = &a;
-
- printf ("%s%s\n", p->f (), p->f (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig04.C b/gcc/testsuite/g++.old-deja/g++.gb/sig04.C
deleted file mode 100644
index af549591591..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig04.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr this
-// Test passing of 'this' pointer through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C;
-int inc_mod_4 (C *);
-
-class C
-{
-public:
- char * text[4];
- int i;
- int get_i (void) { return i; }
- char * msg (void) { i = inc_mod_4 (this); return text[i]; }
-};
-
-signature S
-{
- char * msg (void);
-};
-
-int inc_mod_4 (C * p)
-{
- return (p->get_i () + 1) % 4;
-}
-
-int main (void)
-{
- C o = { "P", "A", "S", "S", -1 };
- S * p;
- int i;
-
- p = &o;
-
- for (i = 0; i < 4; i++)
- printf ("%s", p->msg ());
-
- printf ("\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig05.C b/gcc/testsuite/g++.old-deja/g++.gb/sig05.C
deleted file mode 100644
index 3023e348dfb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig05.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization
-// Test initialization of a local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig06.C b/gcc/testsuite/g++.old-deja/g++.gb/sig06.C
deleted file mode 100644
index b6476d5f905..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig06.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization
-// Test initialization of a local signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-C a;
-S * p = &a;
-
-int main (void)
-{
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig07.C b/gcc/testsuite/g++.old-deja/g++.gb/sig07.C
deleted file mode 100644
index 18a47be7e6e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig07.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr default-argument
-// Test calling a signature member function with default argument.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (char * text) { return text; }
-};
-
-signature S
-{
- char * f (char * text = "PA");
-};
-
-C a;
-S * p = &a;
-
-int main (void)
-{
- printf ("%s%s\n", p->f (), p->f ("SS"));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig08.C b/gcc/testsuite/g++.old-deja/g++.gb/sig08.C
deleted file mode 100644
index 2d5d14d9970..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig08.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr argument return-value
-// Test passing a signature pointer to a function and returning it from one.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * text;
- char * get_msg (void) const { return text; }
-};
-
-const C a = { "PA" };
-const C b = { "SS" };
-
-signature S
-{
- char * get_msg (void) const;
-};
-
-char * f (const S * p)
-{
- return p->get_msg ();
-}
-
-const S * g (const C * p)
-{
- return p;
-}
-
-int main (void)
-{
- printf ("%s%s\n", f(&a), g(&b)->get_msg ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig09.C b/gcc/testsuite/g++.old-deja/g++.gb/sig09.C
deleted file mode 100644
index a2e3b33e192..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig09.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization new
-// Test assignment to/initialization of signature pointer with run-time value.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
-};
-
-signature S
-{
- int f (void);
-};
-
-S * p1 = new C;
-
-int main (void)
-{
- S * p2 = new C;
- S * p3;
-
- p3 = new C;
-
- if (p1->f () + p2->f () + p3->f () == 3)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig10.C b/gcc/testsuite/g++.old-deja/g++.gb/sig10.C
deleted file mode 100644
index e16f2eeb095..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig10.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr argument return-value new
-// Test passing a signature pointer to a function and returning it from one.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
- char * text;
-public:
- C (char * s) { text = s; }
- char * get_msg (void) const { return text; }
-};
-
-signature S
-{
- char * get_msg (void) const;
-};
-
-char * f (const S * p)
-{
- return p->get_msg ();
-}
-
-const S * g (const C * p)
-{
- return p;
-}
-
-int main (void)
-{
- printf ("%s%s\n", f(new C ("PA")), g(new C ("SS"))->get_msg ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig11.C b/gcc/testsuite/g++.old-deja/g++.gb/sig11.C
deleted file mode 100644
index 892695f3fa3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig11.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr array
-// Test a signature pointer array.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-int main (void)
-{
- S * p[2] = { new C, new D };
-
- printf ("%s%s\n", p[0]->f (), p[1]->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig12.C b/gcc/testsuite/g++.old-deja/g++.gb/sig12.C
deleted file mode 100644
index 2747a805915..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig12.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr structure
-// Test a signature pointer structure.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-struct SP
-{
- S * p;
- S * q;
-};
-
-int main (void)
-{
- SP o = { new C, new D };
-
- printf ("%s%s\n", o.p->f (), o.q->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig13.C b/gcc/testsuite/g++.old-deja/g++.gb/sig13.C
deleted file mode 100644
index f5da9f80888..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig13.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization
-// Test assignment of/initialization with same type signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
-};
-
-signature S
-{
- int f (void);
-};
-
-C a;
-S * p1 = &a;
-S * q1 = p1;
-
-int main (void)
-{
- C a;
- S * p2 = &a;
- S * q2 = p2;
- S * q3;
-
- q3 = p2;
-
- if (q1->f () + q2->f () + q3->f () == 3)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig14.C b/gcc/testsuite/g++.old-deja/g++.gb/sig14.C
deleted file mode 100644
index 6ce1d02d1bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig14.C
+++ /dev/null
@@ -1,55 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization
-// Test assignment of/initialization with different type signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
- int g (int) { return 2; }
-};
-
-signature S
-{
- int f (void);
- int g (int);
-};
-
-signature T
-{
- int f (void);
-};
-
-signature U
-{
- int g (int);
-};
-
-C a;
-S * p1 = &a;
-T * q1 = p1;
-U * r1 = p1;
-
-int main (void)
-{
- C a;
- S * p2 = &a;
- T * q2 = p2;
- U * r2 = p2;
- T * q3;
- U * r3;
-
- q3 = p2;
- r3 = p2;
-
- if (q1->f () + q2->f () + q3->f () == 3
- && r1->g (0) + r2->g (0) + r3->g (0) == 6)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig15.C b/gcc/testsuite/g++.old-deja/g++.gb/sig15.C
deleted file mode 100644
index f0ae52e9ea7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig15.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr cast
-// Test casting a signature pointer to a class pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
- C * q;
-
- p = &a;
- q = (C *) p;
-
- printf ("%s%s\n", q->f (), q->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig16.C b/gcc/testsuite/g++.old-deja/g++.gb/sig16.C
deleted file mode 100644
index 35475e9f504..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig16.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr cast
-// Test casting a class pointer to an anonymous signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "S"; }
- char * h (void) { return "FAIL"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-signature T
-{
- char * f (void);
-};
-
-C a;
-signature { char * g (int); } * r1 =
- (signature { char * h (void); char * g (int); } *) &a;
-
-int main (void)
-{
- C a;
- S * p = &a;
- T * q = p;
- signature { char * g (int); } * r2 =
- (signature { char * h (void); char * g (int); } *) &a;
-
- printf ("%s%s%s\n", q->f (), r1->g (0), r2->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig17.C b/gcc/testsuite/g++.old-deja/g++.gb/sig17.C
deleted file mode 100644
index 6d1d1d94df6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig17.C
+++ /dev/null
@@ -1,54 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr cast
-// Test casting a class pointer through a chain of signature pointers.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-class D : public C
-{
-public:
- char * h (void) { return "FAIL"; }
-};
-
-class E : public C
-{
-public:
- int foo (int) { return 0; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-signature T
-{
- char * f (void);
-};
-
-int main (void)
-{
- D a;
- S * p;
- T * q;
- signature { char * g (int); } * r;
-
- p = &a;
- q = (T*) (signature { char * f (void); int foo (int); } *) (E*) (S*) (C*) p;
- r = (signature { char * h (void); char * g (int); } *) &a;
-
- printf ("%s%s\n", q->f (), r->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig18.C b/gcc/testsuite/g++.old-deja/g++.gb/sig18.C
deleted file mode 100644
index ba0ec8689cd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig18.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment virtual
-// Test assignment of object from virtual class to signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) { return "PA"; }
- virtual char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C a;
- S * p;
-
- p = &a;
-
- printf ("%s%s\n", p->f (), p->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig19.C b/gcc/testsuite/g++.old-deja/g++.gb/sig19.C
deleted file mode 100644
index 160a4a3bd49..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig19.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization virtual
-// Test initialization of signature pointer with object from abstract class.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) = 0;
- virtual char * g (int) = 0;
-};
-
-class D : public C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C * p = new D;
- S * q = p;
-
- printf ("%s%s\n", q->f (), q->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig20.C b/gcc/testsuite/g++.old-deja/g++.gb/sig20.C
deleted file mode 100644
index a8228de74b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig20.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr initialization virtual
-// Test initialization of signature pointer with object from virtual class.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) { return "FA"; }
- virtual char * g (int) { return "IL"; }
-};
-
-class D : public C
-{
-public:
- char * f (void) { return "PA"; }
- char * g (int) { return "SS"; }
-};
-
-signature S
-{
- char * f (void);
- char * g (int);
-};
-
-int main (void)
-{
- C * p = new D;
- S * q = p;
-
- printf ("%s%s\n", q->f (), q->g (0));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig21.C b/gcc/testsuite/g++.old-deja/g++.gb/sig21.C
deleted file mode 100644
index faad45b6403..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig21.C
+++ /dev/null
@@ -1,56 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment virtual
-// Test assignment of objects of different types to same signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual char * f (void) = 0;
-};
-
-class D : public C
-{
-public:
- char * f (void) { return "P"; }
-};
-
-class E
-{
-public:
- char * f (void) { return "AS"; }
-};
-
-class F : public C
-{
-public:
- char * f (void) { return "S"; }
-};
-
-signature S
-{
- char * f (void);
-};
-
-int main (void)
-{
- E a;
- C * p = new D;
- S * q;
-
- q = p;
- printf ("%s", q->f ());
-
- q = &a;
- printf ("%s", q->f ());
-
- p = new F;
- q = p;
- printf ("%s\n", q->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig22.C b/gcc/testsuite/g++.old-deja/g++.gb/sig22.C
deleted file mode 100644
index 25b0a1aa5d1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig22.C
+++ /dev/null
@@ -1,59 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment initialization
-// Test assignment to/init of sigptr that requires copying sigtable slots.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- int f (void) { return 1; }
- int g (int) { return 2; }
- int h (void) { return 666; }
-};
-
-signature S
-{
- int f (void);
- int g (int);
- int h (void);
-};
-
-signature T
-{
- int f (void);
- int h (void);
-};
-
-signature U
-{
- int h (void);
- int g (int);
-};
-
-C a;
-S * p = &a;
-T * q1 = p;
-U * r1 = p;
-
-int main (void)
-{
- C a;
- S * p = &a;
- T * q2 = p;
- U * r2 = p;;
- T * q3;
- U * r3;
-
- q3 = p;
- r3 = p;
-
- if (q1->f () + q2->f () + q3->f () == 3
- && r1->g (0) + r2->g (0) + r3->g (0) == 6)
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig23.C b/gcc/testsuite/g++.old-deja/g++.gb/sig23.C
deleted file mode 100644
index 767cfa31281..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig23.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment local-signature
-// Test assignment to signature pointer of local signature.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-char * PA (void)
-{
- class C
- {
- public:
- char * f (void) { return "PA"; }
- };
-
- signature S
- {
- char * f (void);
- };
-
- C a;
- S * p = &a;
-
- return p->f ();
-}
-
-char * SS (void)
-{
- class C
- {
- public:
- char * f (void) { return "SS"; }
- };
-
- signature S
- {
- char * f (void);
- };
-
- C a;
- S * p = &a;
-
- return p->f ();
-}
-
-int main (void)
-{
- printf ("%s%s\n", PA (), SS ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig24.C b/gcc/testsuite/g++.old-deja/g++.gb/sig24.C
deleted file mode 100644
index 2dca6f994ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig24.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr opaque-type
-// Test calling member functions taking/returning opaque type through sigptr.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-signature S
-{
- typedef t;
- char * f (t);
- t g (void);
- t h (void);
-};
-
-class C
-{
-public:
- typedef char * t;
- char * f (t text) { return text; }
- t g (void) { return "PA"; }
- t h (void) { return "SS"; }
-};
-
-int main (void)
-{
- C a;
- S * p = &a;
- S::t w = p->h ();
-
- printf ("%s%s\n", p->f (p->g ()), p->f (w));
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig25.C b/gcc/testsuite/g++.old-deja/g++.gb/sig25.C
deleted file mode 100644
index d00ef57ca5e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig25.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr default-implementation
-// Test calling default implementation through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C { };
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void) { return "PA"; }
-};
-
-int main (void)
-{
- C a;
- D b;
- S * p = &a;
- S * q = &b;
-
- printf ("%s%s\n", p->f (), q->f ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig26.C b/gcc/testsuite/g++.old-deja/g++.gb/sig26.C
deleted file mode 100644
index 399737b4a37..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig26.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr default-implementation
-// Test calling default implementation through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C { };
-
-class D
-{
-public:
- char * f (void) { return "SS"; }
-};
-
-signature S
-{
- char * f (void) { return "PA"; }
- char * g (void) { return f (); }
-};
-
-int main (void)
-{
- C a;
- D b;
- S * p = &a;
- S * q = &b;
-
- printf ("%s%s\n", p->g (), q->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig27.C b/gcc/testsuite/g++.old-deja/g++.gb/sig27.C
deleted file mode 100644
index 7b9e7d29617..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig27.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test class defined by multiple inheritance as implementation of signature.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * f (void) { return "PA"; }
-};
-
-class D
-{
-public:
- char * g (void) { return "SS"; }
-};
-
-class E : public C, public D { };
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig28.C b/gcc/testsuite/g++.old-deja/g++.gb/sig28.C
deleted file mode 100644
index 4edff680ce8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig28.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test correct adjustment of `this' pointer in case of multiple inheritance.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
- char * text;
-public:
- C () { text = "PA"; }
- char * f (void) { return text; }
-};
-
-class D
-{
- char * text;
-public:
- D () { text = "SS"; }
- char * g (void) { return text; }
-};
-
-class E : public C, public D
-{
-public:
- E () : C (), D () { }
-};
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig29.C b/gcc/testsuite/g++.old-deja/g++.gb/sig29.C
deleted file mode 100644
index e5c5e392643..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig29.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test calling virtual function from MI class through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
- char * text;
-public:
- C () { text = "PA"; }
- virtual char * f (void) { return text; }
-};
-
-class D
-{
- char * text;
-public:
- D () { text = "SS"; }
- virtual char * g (void) { return text; }
-};
-
-class E : public C, public D
-{
-public:
- E () : C (), D () { }
-};
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig30.C b/gcc/testsuite/g++.old-deja/g++.gb/sig30.C
deleted file mode 100644
index 3e93e114b86..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig30.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr multiple-inheritance
-// Test calling overwritten virtual functions through signature pointer.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- char * text1;
- C () { text1 = "PA"; }
- virtual char * f (void) = 0;
-};
-
-class D
-{
-public:
- char * text2;
- D () { text2 = "SS"; }
- virtual char * g (void) = 0;
-};
-
-class E : public C, public D
-{
-public:
- E () : C (), D () { };
- char * f (void) { return text1; }
- char * g (void) { return text2; }
-};
-
-signature S
-{
- char * f (void);
- char * g (void);
-};
-
-int main (void)
-{
- E a;
- S * p = &a;
-
- printf ("%s%s\n", p->f (), p->g ());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.gb/sig31.C b/gcc/testsuite/g++.old-deja/g++.gb/sig31.C
deleted file mode 100644
index 90fa9e9d47a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.gb/sig31.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// Special g++ Options: -fhandle-signatures
-// GROUPS passed gb sigptr assignment sigsigtable
-// Test use of multiple signature-signature tables for same signature pair.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-class C
-{
-public:
- virtual int f (void) { return 1; }
- int g (int) { return 2; }
-};
-
-class D : public C
-{
-public:
- int f (void) { return 3; }
- int g (int) { return 4; }
-};
-
-signature S
-{
- int f (void);
- int g (int);
-};
-
-signature T
-{
- int g (int);
- int f (void);
-};
-
-int main (void)
-{
- S * p = new C;
- T * q = p;
- T * r;
-
- p = new D;
- r = p;
-
- if (q->f () == 1 && q->g (0) == 2
- && r->f () == 3 && r->g (0) == 4)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/2371.C b/gcc/testsuite/g++.old-deja/g++.jason/2371.C
deleted file mode 100644
index b11db5e0b33..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/2371.C
+++ /dev/null
@@ -1,571 +0,0 @@
-// GROUPS passed templates nested-classes
-// Special g++ Options:
-//
-// The SetLS template test
-//
-// Wendell Baker, Berkeley CAD Group, 1993 (wbaker@ic.Berkeley.EDU)
-//
-
-
-#pragma implementation "ListS.h"
-#pragma implementation "SetLS.h"
-
-#include <stdlib.h>
-#include <iostream.h>
-# 1 "../../templates/SetLS.h" 1
-// -*- C++ -*-
-
-
-
-//
-// A Set Template - implemented with an ListS
-//
-// Wendell Baker, Berkeley CAD Group, 1993 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-#pragma interface
-
-
-
-
-
-#define XTRUE true
-#define XFALSE false
-
-# 37 "../../templates/SetLS.h"
-
-
-# 1 "../../templates/ListS.h" 1
-// -*- C++ -*-
-
-
-
-//
-// A List Template - providing a singly linked capability
-//
-// Wendell Baker, Berkeley CAD Group, 1993 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-#pragma interface
-
-
-
-
-
-
-# 1 "/projects/gnu-cygnus/gnu-cygnus-14/mips/lib/gcc-lib/decstation/cygnus-reno-1/g++-include/bool.h" 1 3
-// Defining XTRUE and XFALSE is usually a Bad Idea,
-// because you will probably be inconsistent with anyone
-// else who had the same clever idea.
-// Therefore: DON'T USE THIS FILE.
-
-
-
-
-
-
-
-
-
-# 26 "../../templates/ListS.h" 2
-
-# 37 "../../templates/ListS.h"
-
-
-
-// g++ reno-1 is not yet capable of creating templates with nested
-// classes which instantiate the template arguments.
-template<class T>
-struct ListS_link {
- T item;
- ListS_link<T> *next;
-
- ListS_link(const T& i, ListS_link<T> *n = 0): item(i), next(n)
- { }
-};
-
-
-//
-// For now, errors are raised by ::abort() because exceptions
-// are not well implemented in cxx or at all in CC 3.0.1
-//
-template<class T>
-class ListS {
-public:
- ListS();
- ListS(const ListS<T>&);
- ~ListS();
-
- void operator=(const ListS<T>&);
-
- unsigned length() const
- { return count; }
-
- void prepend(const T& item);
- void append(const T& item);
- void clear();
-
- const T& head() const
- { ensure_1();
- return head_link->item; }
- T& head()
- { ensure_1();
- return head_link->item; }
- void head(T& fill) const
- { ensure_1();
- fill = head_link->item; }
- void remove_head()
- { remove_head_filling(0); }
- void remove_head(T& fill)
- { remove_head_filling(&fill); }
-
- const T& tail() const
- { ensure_1();
- return tail_link->item; }
- T& tail()
- { ensure_1();
- return tail_link->item; }
- void tail(T& fill) const
- { ensure_1();
- fill = tail_link->item; }
-
- class Vix {
- public:
- Vix(): owner(0), index(0)
- { }
-
- // These are friend functions so that v == x is the same as x == v
- friend int operator==(void *v, const Vix& x)
- { return v == x.index; }
- friend int operator==(const Vix& x, void *v)
- { return v == x.index; }
- friend int operator!=(void *v, const Vix& x)
- { return v != x.index; }
- friend int operator!=(const Vix& x, void *v)
- { return v != x.index; }
- friend int operator==(const Vix& x1, const Vix& x2)
- { return x1.owner == x2.owner && x1.index == x2.index; }
- friend int operator!=(const Vix& x1, const Vix& x2)
- { return x1.owner != x2.owner || x1.index != x2.index; }
- private:
- friend class ListS<T>;
-
-
- Vix(const ListS<T> *o, ListS_link<T> *i): owner(o), index(i)
- { }
-
-
-
-
-
- const ListS<T> *owner;
-
- ListS_link<T> *index;
-
-
-
- };
-
- Vix first() const
- { return Vix(this, head_link); }
- void next(Vix& x) const
- { check(x);
- if (x.index != 0)
- x.index = x.index->next; }
- T& operator()(const Vix& x)
- { check(x);
- return x.index->item; }
- const T& operator()(const Vix& x) const
- { check(x);
- return x.index->item; }
-protected:
-# 154 "../../templates/ListS.h"
-
-
- unsigned count;
-
- ListS_link<T> *head_link; // 0 for a zero-length list
- ListS_link<T> *tail_link; // 0 for a zero-length list
-
-
-
-
-
-private:
- // fill may be 0 (then don't fill)
- void remove_head_filling(T *fill);
-
- void ensure_1() const
- { if (0 == head_link)
- ::abort(); }
- void check(const Vix& x) const
- { if (this != x.owner)
- ::abort();
- if (0 == x.index)
- ::abort(); }
-};
-
-template<class T>
-ListS<T>::ListS():
-count(0),
-head_link(0),
-tail_link(0)
-{ }
-
-template<class T>
-ListS<T>::ListS(const ListS<T>& other):
-count(0),
-head_link(0),
-tail_link(0)
-{
- for (Vix x=other.first(); 0 != x; other.next(x))
- append(other(x));
-}
-
-template<class T>
-ListS<T>::~ListS()
-{
- clear();
-}
-
-template<class T>
-void
-ListS<T>::operator=(const ListS<T>& other)
-{
- clear();
- for (Vix x=other.first(); 0 != x; other.next(x))
- append(other(x));
-}
-
-template<class T>
-void
-ListS<T>::prepend(const T& item)
-{
-
- head_link = new ListS_link<T>(item, head_link);
-
-
-
- if (0 == tail_link)
- tail_link = head_link;
- count++;
-}
-
-template<class T>
-void
-ListS<T>::append(const T& item)
-{
-
- ListS_link<T> *new_link = new ListS_link<T>(item);
-
-
-
- if (0 == tail_link) {
- head_link = new_link;
- tail_link = new_link;
- } else {
- tail_link->next = new_link;
- tail_link = tail_link->next;
- }
- count++;
-}
-
-template<class T>
-void
-ListS<T>::clear()
-{
-
- ListS_link<T> *next, *l;
-
-
-
- for (l=head_link; 0 != l; l=next) {
- next = l->next;
- delete l;
- }
-
- count = 0;
- head_link = 0;
- tail_link = 0;
-}
-
-template<class T>
-void
-ListS<T>::remove_head_filling(T* fill)
-// fill may be 0 in which case don't assign into it
-{
- ensure_1();
-
- ListS_link<T> *ohead = head_link;
-
-
-
- if (0 != fill)
- *fill = ohead->item;
- head_link = ohead->next;
- if (0 == head_link)
- tail_link = 0;
- count--;
- delete ohead;
-}
-
-
-# 39 "../../templates/SetLS.h" 2
-
-
-# 62 "../../templates/SetLS.h"
-
-template<class T>
-class SetLS {
-public:
- SetLS();
-
- void add(const T& item);
- // There is no remove(const T& item) for this set
- bool contains(const T& item) const;
-
- unsigned length() const
- { return list.length(); }
-
- void clear()
- { list.clear(); }
-
- class Vix {
- public:
- Vix(): owner(0), vix()
- { }
-
- // These are friend functions so that v == x is the same as x == v
- friend int operator==(void *v, const Vix& x)
- { return v == x.vix; }
- friend int operator==(const Vix& x, void *v)
- { return v == x.vix; }
- friend int operator!=(void *v, const Vix& x)
- { return v != x.vix; }
- friend int operator!=(const Vix& x, void *v)
- { return v != x.vix; }
- friend int operator==(const Vix& x1, const Vix& x2)
- { return x1.owner == x2.owner && x1.vix == x2.vix; }
- friend int operator!=(const Vix& x1, const Vix& x2)
- { return x1.owner != x2.owner || x1.vix != x2.vix; }
- private:
- friend class SetLS<T>;
-
- Vix(const SetLS<T> *o, const ListS<T>::Vix& x): owner(o), vix(x)
- { }
-
- const SetLS<T> *owner;
- ListS<T>::Vix vix;
- };
- friend class Vix;
-
- Vix first() const
- { return Vix(this, list.first()); }
- void next(Vix& x) const
- { check(x);
- list.next(x.vix); }
- const T& operator()(const Vix& x) const
- { check(x);
- return list(x.vix); }
- // There is item no remove(const Vix&) for this set
-protected:
- ListS<T> list;
-
-private:
- void check(const Vix& x) const
- { if (this != x.owner)
- ::abort(); }
-};
-
-
-template<class T>
-SetLS<T>::SetLS():
-
-
-
-list()
-
-{ }
-
-template<class T>
-void
-SetLS<T>::add(const T& item)
-{
- if ( ! contains(item) ) {
-
-
-
- list.append(item);
-
- }
-}
-
-template<class T>
-bool
-SetLS<T>::contains(const T& item) const
-{
- for (Vix x=first(); 0 != x; next(x)) {
- if (operator()(x) == item)
- return XTRUE;
- }
- return XFALSE;
-}
-
-
-# 14 "SetLS.cc" 2
-
-
-
-# 1 "/projects/gnu-cygnus/gnu-cygnus-14/mips/lib/gcc-lib/decstation/cygnus-reno-1/g++-include/iostream.h" 1 3
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# 211 "/projects/gnu-cygnus/gnu-cygnus-14/mips/lib/gcc-lib/decstation/cygnus-reno-1/g++-include/iostream.h" 3
-
-# 21 "SetLS.cc" 2
-
-
-// In (most versions of) g++ 2.X, this use of typedefs has the effect
-// of causing the instantiation of the templates, thereby testing the
-// templates
-
-class test {
-public:
- test(): value(0)
- { }
- test(int v): value(v)
- { }
-
- void print(ostream& out) const
- { out << value; }
-
- friend int operator==(const test& a, const test& b);
-private:
- int value;
-};
-
-int
-operator==(const test& a, const test& b)
-{
- return a.value == b.value;
-}
-
-ostream&
-operator<<(ostream& o, const test& t)
-{
- t.print(o);
- return o;
-}
-
-typedef SetLS<test> SLS;
-
-static ostream&
-operator<<(ostream& o, const SLS& s)
-{
- o << "set of " << s.length() << " = {";
-
- bool first;
- SetLS<test>::Vix x;
- for (first=XTRUE, x=s.first(); 0 != x; s.next(x), first=XFALSE) {
- if ( ! first )
- o << ',';
- o << ' ';
- s(x).print(o);
- }
- o << '}';
-
- return o;
-}
-
-SLS gsls;
-const SLS gcsls;
-
-int foo()
-{
- const unsigned SIZE = 20;
-
- //
- // SetLS()
- // SetLS(const SetLS<T>&)
- //
- SLS sls;
- {
- // Fill sls with some interesting values
- for (unsigned i=0; i<SIZE; i++) {
- test t = i;
- sls.add(t);
- }
- }
-
- const SLS csls(sls);
-
- //
- // void operator=(const SetLS<T>&);
- //
- sls = csls;
-
- //
- // bool contains(const T& item) const
- //
- for (unsigned i=0; i<SIZE; i++) {
- test t = i;
-
- int contains = sls.contains(t);
- }
-
- //
- // void clear()
- //
- sls.clear();
- if (sls.length() != 0)
- ::abort();
-
- sls = csls;
-
- //
- // Vix first() const
- // void next(Vix& x) const
- // T& operator()(const Vix& x)
- // const T& operator()(const Vix& x) const
- //
- SetLS<test>::Vix cx;
- for (cx=csls.first(); 0 != cx; sls.next(cx)) {
- if ( ! sls.contains(csls(cx)) )
- ::abort();
- }
-
- cout << "gsls:\t" << gsls << '\n';
- cout << "gcsls:\t" << gcsls << '\n';
- cout << "sls:\t" << sls << '\n';
- cout << "csls:\t" << csls << '\n';
-}
-
-// Dummy function so it'll run
-int main()
-{
- cout << "PASS" << endl;
-}
-
-template class ListS<test>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/3523.C b/gcc/testsuite/g++.old-deja/g++.jason/3523.C
deleted file mode 100644
index f47bd7b5bf3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/3523.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Build don't link:
-// GROUPS passed assignment
-class ccUnwind
-{
-public:
- virtual ~ccUnwind (); // comment out virtual, and void diag changes
-};
-
-template<class T>
-class ccHandle : public ccUnwind // similarly comment out inheritance
-{
-public:
- ccHandle& operator = (const ccHandle& h);
-};
-
-class cc_Image;
-
-class ccImage : public ccHandle<cc_Image>
-{
-public:
-// reversing the order of the next two lines changes the diagnostic
-// printed about the def of ccDisplay::image
- ccImage (const ccImage &);
- ccImage (const cc_Image &);
-};
-
-class ccDisplay
-{
-public:
- ccImage img;
-//ccImage image ( ccImage i) {img = i; return img;}
-// above line compiles
- ccImage image ( ccImage i) { return img = i;} /* this gets void* error */
-};
-
-
-
-// vd.C: In method `class ccImage ccDisplay::image (class ccImage)':
-// vd.C:31: bad argument 1 for function `ccImage::ccImage (const class cc_Image&)' (type was void *)
-// vd.C:31: in base initialization for class `ccImage'
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access1.C b/gcc/testsuite/g++.old-deja/g++.jason/access1.C
deleted file mode 100644
index fff77f25749..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Bug: access declarations are broken.
-// Build don't link:
-
-class A {
-public:
- void foo ();
-};
-
-class B: private A {
-public:
- A::foo;
-};
-
-void foo() {
- B b;
- b.foo (); // gets bogus error -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access10.C b/gcc/testsuite/g++.old-deja/g++.jason/access10.C
deleted file mode 100644
index 6db610c5010..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access10.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// PRMS Id: 4839
-// Bug: The initializer of a static member of a class has the same acess
-// rights as a member function. g++ doesn't realize that.
-// Build don't link:
-
-class X
-{
- X (int);
- static X foo;
-public:
- void dummy();
-};
-
-X X::foo = 9;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access11.C b/gcc/testsuite/g++.old-deja/g++.jason/access11.C
deleted file mode 100644
index 31a89b2ede8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access11.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// PRMS Id: 4900
-// Bug: g++ doesn't apply access control uniformly to type conversion operators
-// Build don't link:
-
-struct A {
-protected:
- operator int * () const;
-};
-
-struct B : public A {
- int * foo () { return A::operator int *(); }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access12.C b/gcc/testsuite/g++.old-deja/g++.jason/access12.C
deleted file mode 100644
index 71e336180e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access12.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 4694
-// Bug: g++ doesn't realize that A::i refers to a member of `this' in B().
-// Build don't link:
-
-class A {
-protected:
- int i;
-};
-
-struct B : public A {
- B () { A::i = 0; }
-};
-
-struct C : public B {
- C () { B::i = 0; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access13.C b/gcc/testsuite/g++.old-deja/g++.jason/access13.C
deleted file mode 100644
index c12dd81dc87..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access13.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// PRMS Id: 4955
-// Build don't link:
-
-struct A {
- protected:
- int i;
- void f ();
-};
-
-struct B: public A {
- void g () {
- this->A::i = 1; // gets bogus error - access control failure
- this->A::f(); // gets bogus error - access control failure
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access14.C b/gcc/testsuite/g++.old-deja/g++.jason/access14.C
deleted file mode 100644
index f181906ec97..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access14.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T> struct A { T t; };
-
-template <class T> class B: private T {
- public:
- T::t; // gets bogus error - doesn't recognize access decl
-};
-
-template class B<A<int> >;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access15.C b/gcc/testsuite/g++.old-deja/g++.jason/access15.C
deleted file mode 100644
index 4380998521f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access15.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Bug: g++ complains about Z being a private base when trying to
-// initialize B::foo.
-// Build don't link:
-
-struct Z {
- Z();
- Z(int);
-};
-
-struct A : private Z { };
-struct B : public A
-{
- Z foo;
- B();
- B(const B&);
-};
-
-B::B() : foo(1) { } // gets bogus error
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access16.C b/gcc/testsuite/g++.old-deja/g++.jason/access16.C
deleted file mode 100644
index b8d43f3c4c9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access16.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: g++ uses the same binfo for the a subobject of c and the a subobject
-// of b, so basetype_paths get bashed improperly.
-// Build don't link:
-
-class a {
-protected:
- virtual void foo() { } // gets bogus error
-};
-
-class b : public virtual a {};
-
-class c : public b {
-public:
- void bar() { b::foo(); } // gets bogus error
-};
-
-int main() {
- c test;
- test.bar();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access17.C b/gcc/testsuite/g++.old-deja/g++.jason/access17.C
deleted file mode 100644
index 676eac1bcc1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access17.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Make sure definitions of static members have the right access.
-// Build don't link:
-
-struct A {
-protected:
- int i; // ERROR - private
- int f (); // ERROR -
-};
-
-struct B: public A {
- static int A::*p;
- static int (A::*fp)();
-};
-
-int A::* B::p = &A::i;
-int (A::* B::fp)() = &A::f;
-
-struct C {
- static int A::*p;
- static int (A::*fp)();
-};
-
-int A::* C::p = &A::i; // ERROR -
-int (A::* C::fp)() = &A::f; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access18.C b/gcc/testsuite/g++.old-deja/g++.jason/access18.C
deleted file mode 100644
index 11b7e10ed47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access18.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// PRMS Id: 5073
-// Bug: g++ doesn't catch access violations in base initializers.
-// Special g++ Options: -w
-
-int r = 0;
-class A {
- private:
- A() { r = 1; } // ERROR -
- ~A() {} // ERROR -
-};
-
-class B : public A {
- public:
- B(): A() {} // ERROR -
- B(const B&) {} // ERROR -
- ~B() { } // ERROR - private dtor
-};
-
-main()
-{
- B b;
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access2.C b/gcc/testsuite/g++.old-deja/g++.jason/access2.C
deleted file mode 100644
index cacfbe1c6a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: g++ doesn't deal with friends also being derived classes.
-// Build don't link:
-
-class A {
- int i;
- friend class B;
-};
-
-class B : public A {
- void f () { i = 1; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access20.C b/gcc/testsuite/g++.old-deja/g++.jason/access20.C
deleted file mode 100644
index 96093dc0190..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access20.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// PRMS Id: 6662
-// Bug: we crash trying to check the access on anglesSinesCosines.
-// Build don't link:
-
-#define Double double
-
-class GCTransform
-{
- protected:
- struct angle
- {
- Double phi1 ;
- Double phi2 ;
- } ;
-
- struct sineAndCosine
- {
- Double cosine1 ;
- Double cosine2 ;
- Double sine1 ;
- Double sine2 ;
- } ;
-
- union anglesSinesCosines
- {
- struct angle a ;
- struct sineAndCosine siCo ;
- } ;
-};
-
-class GCTransTransmit : public GCTransform
-{
- protected:
-
- struct GCTransTransmitDataTemp
- {
- union anglesSinesCosines t ; // causes abort
- } ;
-} ;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access21.C b/gcc/testsuite/g++.old-deja/g++.jason/access21.C
deleted file mode 100644
index 340ed61fe97..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access21.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// PRMS Id: 6877
-// Build don't link:
-
-typedef __SIZE_TYPE__ size_t;
-class aa {
-public:
- aa();
- ~aa();
-private:
- int iaa;
- void operator delete(void*, size_t);
-};
-
-class bb {
-public:
- aa caa;
-}; // gets bogus error - calling private delete
-
-void
-f(){
- bb abb;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access22.C b/gcc/testsuite/g++.old-deja/g++.jason/access22.C
deleted file mode 100644
index 225ef6cad5c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access22.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// PRMS Id: 8518
-// Bug: Call to foo is not checked for accessibility
-
-class A
-{
- private:
- static void foo() {} // ERROR -
- public:
- void goo() {}
-};
-
-struct B : public A
-{
- void func() { foo(); } // ERROR -
-};
-
-int main()
-{
- B b;
- b.func();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access23.C b/gcc/testsuite/g++.old-deja/g++.jason/access23.C
deleted file mode 100644
index 99e0b4565ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access23.C
+++ /dev/null
@@ -1,79 +0,0 @@
-// PRMS Id: 9127
-// Bug: members of anonymous unions are not access-controlled.
-
-#include <stdio.h>
-
-struct Foo {
-public:
- union {
- long A;
- void *pX;
- };
- union X {
- long A;
- void *pX;
- } PUB ;
- int PUB_A;
-protected:
- union {
- long B; // ERROR - protected
- void *pY; // ERROR - protected
- } ;
- union Y {
- long B;
- void *pY;
- } PRT; // ERROR - protected
- int PRT_A; // ERROR - protected
-private:
- union {
- long C; // ERROR - private
- void *pZ; // ERROR - private
- };
- union Z {
- long C;
- void *pZ;
- } PRV; // ERROR - private
- int PRV_A; // ERROR - private
-};
-
-struct Bar : public Foo {
-public:
- void DoSomething() {
- PUB_A = 0;
- Foo::A = 0;
- printf("%x\n",pX);
- Foo::PUB.A = 0;
- printf("%x\n",PUB.pX);
- B = 0;
- printf("%x\n",Foo::pY);
- PRT_A = 0;
- PRT.B = 0;
- printf("%x\n",Foo::PRT.pY);
- PRV_A = 0; // ERROR -
- Foo::C = 0; // ERROR -
- printf("%x\n",pZ); // ERROR -
- Foo::PRV.C = 0; // ERROR -
- printf("%x\n",PRV.pZ); // ERROR -
- }
-};
-
-int main()
-{
- Foo a;
-
- a.PUB_A = 0;
- a.A = 0;
- printf("%x\n",a.pX);
- a.PRT_A = 0; // ERROR -
- a.B = 0; // ERROR -
- printf("%x\n",a.pY); // ERROR -
- a.PRV_A = 0; // ERROR -
- a.C = 0; // ERROR -
- printf("%x\n",a.pZ); // ERROR -
- a.PUB.A = 0;
- printf("%x\n",a.PUB.pX);
- a.PRT.B = 0; // ERROR -
- printf("%x\n",a.PRT.pY); // ERROR -
- a.PRV.C = 0; // ERROR -
- printf("%x\n",a.PRV.pZ); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access24.C b/gcc/testsuite/g++.old-deja/g++.jason/access24.C
deleted file mode 100644
index 7c423598723..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access24.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: forward reference to friend doesn't work in template.
-// Build don't link:
-
-template <class T> class A {
- static int i;
- friend struct B;
-};
-
-struct B {
- void f () { A<int>::i = 0; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access3.C b/gcc/testsuite/g++.old-deja/g++.jason/access3.C
deleted file mode 100644
index fae6c9323e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Simple testcase for access control.
-// Build don't link:
-
-class A {
- protected:
- void f ();
-};
-
-class B : public A {
- public:
- void f () { A::f(); }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access4.C b/gcc/testsuite/g++.old-deja/g++.jason/access4.C
deleted file mode 100644
index 51f5fb10f8e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Simple testcase for access control.
-// Build don't link:
-
-class A {
-protected:
- static int i;
-};
-
-class B: public A { };
-
-class C: public B {
-public:
- void g () { B b; b.i; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access5.C b/gcc/testsuite/g++.old-deja/g++.jason/access5.C
deleted file mode 100644
index 5eec43d936e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access5.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Simple testcase for access control.
-// Build don't link:
-
-class A {
- protected:
- void f ();
-};
-
-class B : public A { };
-class C : public B {
- void f () { B::f(); }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access6.C b/gcc/testsuite/g++.old-deja/g++.jason/access6.C
deleted file mode 100644
index 24676d4050b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access6.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Simple testcase for access control.
-// Build don't link:
-
-class A {
- public:
- void f ();
-};
-
-class B: protected A { };
-class C: protected B {
- void g() { f (); }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access7.C b/gcc/testsuite/g++.old-deja/g++.jason/access7.C
deleted file mode 100644
index a1e908f8ece..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access7.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Simple testcase for access control.
-// Build don't link:
-
-class A {
- protected:
- static void f ();
-};
-
-class B: public A {};
-class C: public A {};
-class D: public C, public B {
- void g () { A::f(); } // gets bogus error - wrongly ambiguous static member call
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access8.C b/gcc/testsuite/g++.old-deja/g++.jason/access8.C
deleted file mode 100644
index c8addcd73a1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access8.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// From: smidt@dd.chalmers.se (Peter Smidt)
-// Date: 25 Jan 1994 23:41:33 -0500
-// Bug: g++ forgets access decls after the definition.
-// Build don't link:
-
-class inh {
- int a;
-protected:
- void myf(int);
-};
-
-class mel : private inh {
-protected:
- int t;
- inh::myf;
-};
-
-class top_t : protected mel {
-public:
- void myf(int);
-};
-
-void inh::myf(int i) {
- a = i;
-}
-
-void top_t::myf(int i) {
- inh::myf(i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/access9.C b/gcc/testsuite/g++.old-deja/g++.jason/access9.C
deleted file mode 100644
index f9c2797d72b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/access9.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Bug: g++ doesn't allow const objects to be constructed.
-// Build don't link:
-
-struct B { B(); };
-
-const B foo()
-{
- return B(); // gets bogus error - constructing const
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/aggregate.C b/gcc/testsuite/g++.old-deja/g++.jason/aggregate.C
deleted file mode 100644
index 8128d8de620..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/aggregate.C
+++ /dev/null
@@ -1,13 +0,0 @@
-struct A { int i; };
-
-int main()
-{
- A a1 = { 42 };
- A a2 (a1);
- A a3 = { 137 };
- a1 = a3;
-
- if (a1.i == 137 && a2.i == 42 && a3.i == 137)
- return 0;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ambig1.C b/gcc/testsuite/g++.old-deja/g++.jason/ambig1.C
deleted file mode 100644
index 4551dc7d6e4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ambig1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Testcase for ambiguity between functional cast and abstract declarator.
-// This ambiguity accounts for 6 of the r/r conflicts.
-// Special g++ Options: -pedantic-errors
-
-int i = sizeof (int ()); // ERROR - sizeof applied to fn type
-int j = sizeof (int () + 1);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ambig2.C b/gcc/testsuite/g++.old-deja/g++.jason/ambig2.C
deleted file mode 100644
index c6da7528bd3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ambig2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Testcase for ambiguity between cast and parmlist.
-// This ambiguity accounts for 1 of the r/r conflicts.
-// Do not compile with -pedantic so that the compiler will accept taking
-// the sizeof a function type.
-// Special g++ Options: -Wno-pointer-arith
-// Build don't link:
-
-void f(){
- (void)sizeof(int((int)1.2));
- (void)sizeof(int((int))); // gets bogus error -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ambig3.C b/gcc/testsuite/g++.old-deja/g++.jason/ambig3.C
deleted file mode 100644
index 3f01660bf98..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ambig3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Testcase for ambiguity between function and variable declaration (8.2).
-// Build don't link:
-
-struct A {
- A (int, int);
- int k;
-};
-
-void f ()
-{
- int i[2], j;
- A a (int (i[1]), j); // gets bogus error - late parsing XFAIL *-*-*
- A b (int (i[1]), int j); // function
- a.k = 0; // gets bogus error - late parsing XFAIL *-*-*
- b (i, j);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/anon.C b/gcc/testsuite/g++.old-deja/g++.jason/anon.C
deleted file mode 100644
index 63d17a8cb2d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/anon.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Bug: g++ has trouble copying anonymous structs.
-
-typedef struct { int i; } foo;
-struct A : public foo {
- struct { int i; } x;
-};
-
-int main ()
-{
- A a;
- a.i = 5;
- a.x.i = 42;
- A b (a);
- a = b;
- if (a.i != 5 || a.x.i != 42)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/anon2.C b/gcc/testsuite/g++.old-deja/g++.jason/anon2.C
deleted file mode 100644
index 55d68988e5c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/anon2.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// g++ should not complain about anonymous bitfields.
-// Build don't link:
-
-struct A
-{
- int : 2;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/anon3.C b/gcc/testsuite/g++.old-deja/g++.jason/anon3.C
deleted file mode 100644
index b3f05f8ad14..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/anon3.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Bug: g++ dies.
-// Build don't link:
-
-class cl {
-public:
- cl();
- void set(void *, char *, int);
-private:
- union {
- float vf;
- struct ff {
- void *ptr;
- char *name;
- int sz;
- } *vff;
- };
-};
-
-void cl::set(void *p, char *n, int sz)
-{
- vff = new ff; // This procude an internal compiler error.
- vff->ptr = p;
- vff->name = n;
- vff->sz = sz;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/anon4.C b/gcc/testsuite/g++.old-deja/g++.jason/anon4.C
deleted file mode 100644
index de0b40e2aec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/anon4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// PRMS Id: 5371
-// Bug: g++ screws up the alignment of buff and dies.
-// Build don't link:
-// Special g++ Options: -O
-
-main()
-{
- union {
- double a;
- char buff[sizeof(double)];
- };
-
- void *p = buff;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/binding.C b/gcc/testsuite/g++.old-deja/g++.jason/binding.C
deleted file mode 100644
index cc6f25c6ed9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/binding.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: g++ only looks in the current temporary binding level for a name.
-
-struct T { ~T(); };
-
-int main()
-{
- foo:
- T t; // ERROR - redeclared
- bar:
- T t; // ERROR - redeclaration
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/binding2.C b/gcc/testsuite/g++.old-deja/g++.jason/binding2.C
deleted file mode 100644
index e56a0544b47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/binding2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ screws up binding levels in a switch statement with cleanups.
-// Build don't link:
-
-struct A {
- ~A() { }
-};
-
-int f (int i)
-{
- switch (i) {
- default:
- A a;
- }
- return 1;
-} // causes compiler segfault
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/binding3.C b/gcc/testsuite/g++.old-deja/g++.jason/binding3.C
deleted file mode 100644
index 3cd358fb7af..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/binding3.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: g++ fails to clear out the IDENTIFIER_CLASS_VALUEs of various names
-// after a class definition.
-// Build don't link:
-
-struct A {
- typedef double T;
- virtual T f () = 0;
-};
-
-class B {
- B (const B&);
- void operator=(const B&);
-public:
- B ();
- typedef void * T;
-};
-
-struct C : public A {
- T f (); // gets bogus error
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool.C b/gcc/testsuite/g++.old-deja/g++.jason/bool.C
deleted file mode 100644
index e446f12fab6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Testcase for uses of bool.
-// Build don't link:
-
-int i,j,k;
-
-/* Check that types of certain expressions are bool. */
-void f ()
-{
- i ? j == k : true;
- i ? j < k : true;
- i ? j && k : true;
-}
-
-/* Check that g++ can find a conversion to bool when one exists. */
-struct A { operator char * (); } a;
-struct B { operator int (); } b;
-struct C { operator float (); } c;
-struct D { operator bool (); } d;
-struct E { operator int E::* (); } e;
-
-void g ()
-{
- a || true;
- b || true;
- c || true; // gets bogus error
- d || true;
- e || true;
-}
-
-/* Check for support in templates. */
-template <class T> struct F { };
-template class F<bool>;
-
-template <class T> void f (T, bool) { };
-template void f (bool, bool);
-
-/* Special cases. */
-void h ()
-{
- /* Used to cause infinite recursion. */
- i&1 || true;
- /* Should find conversion path to int. */
- d == true;
-}
-
-bool boo = -1;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool2.C b/gcc/testsuite/g++.old-deja/g++.jason/bool2.C
deleted file mode 100644
index 559b7d07615..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Make sure that bool bitfields promote to int properly.
-
-struct F {
- bool b1 : 1;
- bool b2 : 7;
-};
-
-int main()
-{
- F f = { true, true };
-
- if (int (f.b1) != 1)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool3.C b/gcc/testsuite/g++.old-deja/g++.jason/bool3.C
deleted file mode 100644
index d8e95147b75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool3.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// From: panisset@cae.ca (Jean-Francois Panisset)
-// Subject: Problem with constant expressions for bitfields
-// Date: Mon, 6 Jun 94 14:00:01 EDT
-
-// Bug: g++ doesn't treat boolean true and false as constant values.
-// Build don't link:
-
-enum E { e1,e2,e3,e4,e5 };
-
-struct X
-{
- unsigned int bits : ((e5 > 4) ? 8 : 4); // gets bogus error - constant expression
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool4.C b/gcc/testsuite/g++.old-deja/g++.jason/bool4.C
deleted file mode 100644
index 8c4695dec72..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Test for allowing conversion to bool.
-
-struct A { };
-
-int main ()
-{
- bool b = (void*)0;
- b = (int A::*)0;
- b = (int (A::*)())0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool5.C b/gcc/testsuite/g++.old-deja/g++.jason/bool5.C
deleted file mode 100644
index 8f8e37d4eb3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-int main ()
-{
- bool b = false;
- int i = b++;
- if (i != false || b != true)
- return 1;
- i = b++;
- if (i != true || b != true)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool6.C b/gcc/testsuite/g++.old-deja/g++.jason/bool6.C
deleted file mode 100644
index 493e25f73f3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Bug: The conversion from bool to int gets stripped.
-// Build don't link:
-
-bool b;
-
-int main ()
-{
- return ((!b) != 0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/bool7.C b/gcc/testsuite/g++.old-deja/g++.jason/bool7.C
deleted file mode 100644
index 1ecb68d4e04..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/bool7.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-
-struct A
-{
- operator bool () const;
- operator const void * () const;
-};
-
-struct B
-{
- A a;
- int foo1 ();
- int foo2 ();
-};
-
-int
-B::foo1 ()
-{
- return a ? 0 : 1; // ambiguous default type conversion for `operator !='
-}
-
-int
-B::foo2 ()
-{
- if (a)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/builtin.C b/gcc/testsuite/g++.old-deja/g++.jason/builtin.C
deleted file mode 100644
index 0e0cc48c691..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/builtin.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: g++ overloads strlen instead of bashing the builtin version.
-// Special g++ Options: -w
-// Build don't link:
-
-extern "C" void strlen (const char *);
-
-void f ()
-{
- strlen("Hi");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/builtin2.C b/gcc/testsuite/g++.old-deja/g++.jason/builtin2.C
deleted file mode 100644
index 698d0a12112..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/builtin2.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-inline void strlen (const char *) { }
-
-void f ()
-{
- strlen("Hi"); // gets bogus error - wrongful overload
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/byval.C b/gcc/testsuite/g++.old-deja/g++.jason/byval.C
deleted file mode 100644
index bd17797a181..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/byval.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Bug: a is destroyed in both foo() and main()
-
-int count;
-
-struct A {
- double a,b;
- A(int) { count++; }
- A(const A&) { count++; }
- ~A() { count--; }
-};
-
-void foo (A a)
-{ }
-
-int main()
-{
- foo (1);
- return count;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/byval2.C b/gcc/testsuite/g++.old-deja/g++.jason/byval2.C
deleted file mode 100644
index 490e625805d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/byval2.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// From: panisset@cae.ca (Jean-Francois Panisset)
-// Subject: 2.6.0 pre-rel, internal error, regression, mips-sgi-irix4
-// Date: Thu, 14 Jul 94 23:34:21 EDT
-// Build don't link:
-
-class Char
-{
-protected:
- char rep;
-public:
- Char (const char ) {};
- operator char() const;
- void operator -= (const Char );
-};
-
-inline Char operator - (const Char a, const Char b) {}
-inline char operator == (const Char a, const char b) {}
-
-char mystrcmp(Char s[31], Char t[31])
-{
- for (; *s == *t; ++s, ++t) if (*s == '\0') return 0;
- return char(*s - *t);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/byval3.C b/gcc/testsuite/g++.old-deja/g++.jason/byval3.C
deleted file mode 100644
index 7c2a798ed47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/byval3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Test to make sure that value return of classes with cleanups works; it
-// has been broken at various times on PCC_STATIC_STRUCT_RETURN targets.
-// Build don't link:
-
-struct A {};
-
-struct R : virtual A { virtual ~R(); };
-
-R g();
-
-void encode()
-{
- g();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/c-inline.C b/gcc/testsuite/g++.old-deja/g++.jason/c-inline.C
deleted file mode 100644
index 7e90c4ea027..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/c-inline.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: the compiler gets hopelessly confused.
-// Build don't link:
-
-#line 1 "c-inline.h"
-#pragma interface
-inline double abs (double) { return 0.0; }
-inline short abs (short) { return 0; }
-#line 2 "c-inline.C"
-extern "C" {
- inline int abs (int) { return 0; } // causes segfault -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/c2.C b/gcc/testsuite/g++.old-deja/g++.jason/c2.C
deleted file mode 100644
index ba7f0ed0d55..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/c2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// PRMS Id: 3134
-// g++ understands C redeclaration semantics. Sun CC 2.0.1 doesn't.
-// Special g++ Options:
-// Build don't link:
-
-extern "C" {
- int foo();
- int foo(int);
-
- int bar(int);
- int bar();
-}
-
-main()
-{
- foo (1);
- bar (1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cast1.C b/gcc/testsuite/g++.old-deja/g++.jason/cast1.C
deleted file mode 100644
index 4e987eafece..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/cast1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Bug: g++ fails to grok functional casts in all situations.
-// Build don't link:
-
-class A {
-public:
- typedef int B;
- static B foo() { return B(1); } // gets bogus error -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cast2.C b/gcc/testsuite/g++.old-deja/g++.jason/cast2.C
deleted file mode 100644
index 02495b346d1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/cast2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// The compiler tried to build up a double with a NOP_EXPR from
-// integer_zero_node, which fails.
-
-template <class T>
-class vector {
-public:
- vector (int n, const T& value = T()) {}
-};
-
-void
-foo (void)
-{
- vector<double> v (10);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cast3.C b/gcc/testsuite/g++.old-deja/g++.jason/cast3.C
deleted file mode 100644
index 5d599805aa3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/cast3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 7088
-// Build don't link:
-
-struct string
-{
- int length () const;
- string (string &);
- string (char * = 0);
- int operator [] (int);
- ~string ();
-};
-
-string _cook(const string raw, bool for_postscript)
-{
- unsigned char c = (unsigned) ((string &)raw)[1];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cleanup.C b/gcc/testsuite/g++.old-deja/g++.jason/cleanup.C
deleted file mode 100644
index d9adddec2e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/cleanup.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Bug: continue over object decl calls destructor but not constructor.
-
-int c = 0;
-int d = 0;
-extern "C" int printf(const char *,...);
-
-class Foo {
-public:
- Foo(){ c++; }
- ~Foo(){ d++; }
-};
-
-int main()
-{
- for(int i=0;i<2;i++){
- continue;
- Foo bar;
- }
- printf ("%d %d\n", c, d);
- if (c == d && d == 0)
- return 0;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cleanup2.C b/gcc/testsuite/g++.old-deja/g++.jason/cleanup2.C
deleted file mode 100644
index fdae1b72d59..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/cleanup2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// PRMS Id: 6303
-// Bug: compiler crashes processing the cleanup for arrayOfClass.
-// Build don't link:
-
-class Class {
-public:
- ~Class(); // This dtor MUST be declared to generate the error...
-};
-
-Class varOfClass;
-
-int main() {
- // This MUST be 'const' to generate the error...
- const Class arrayOfClass[1] = { varOfClass }; // causes abort
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/complete1.C b/gcc/testsuite/g++.old-deja/g++.jason/complete1.C
deleted file mode 100644
index 0f140e16114..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/complete1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// PRMS Id: 4695
-// Bug: g++ wrongly requires A to be complete here.
-// Build don't link:
-
-struct A;
-
-void foo(const A &);
-
-void bar(A *p)
-{
- foo(*p);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cond.C b/gcc/testsuite/g++.old-deja/g++.jason/cond.C
deleted file mode 100644
index b613838797d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/cond.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// Build don't link:
-// GROUPS passed rtti
-// Negative testcase for decls in conditions.
-
-int main()
-{
- float i;
-
- if (int i = 1) // ERROR - , XFAIL *-*-*
- {
- char i; // ERROR - , XFAIL *-*-*
- char j;
- }
- else
- {
- short i; // ERROR - , XFAIL *-*-*
- char j;
- }
-
- if (struct A { operator int () { return 1; } } *foo = new A) // ERROR -
- ;
-
- A bar; // ERROR -
-
- if (enum A { one, two, three } foo = one) // ERROR -
- ;
-
- struct B { operator int () { return 2; } };
-
- if (struct B * foo = new B)
- ;
-
- if (int f () = 1) // ERROR -
- ;
-
- if (int a[2] = {1, 2}) // ERROR -
- ;
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cond2.C b/gcc/testsuite/g++.old-deja/g++.jason/cond2.C
deleted file mode 100644
index 9a8e04546ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/cond2.C
+++ /dev/null
@@ -1,65 +0,0 @@
-// Positive testcase for decls in conditions.
-
-extern "C" int printf(const char *, ...);
-
-int up = 0;
-int down = 0;
-
-struct T
-{
- int i;
- T(int j) { i = j; printf("UP\n"); up++; }
- T(const T& t) { i = t.i; printf("unwanted copy\n"); }
- ~T() { printf ("DOWN\n"); down++; }
- operator int () { return i; }
-};
-
-int main ()
-{
- int t;
-
- if (T t = 1)
- ;
-
- printf ("\n");
-
- int j = 3;
- while (T t = j--)
- ;
-
- printf ("\n");
-
- j = 3;
- while (1)
- {
- T t = j--;
- if (t) continue;
- break;
- }
-
- printf ("\n");
-
- j = 3;
- for (;T t = j--;)
- ;
-
- printf ("\n");
-
- for (int k = 3; T t = k--;)
- ;
-
- printf ("\n");
-
- switch (T t = 34)
- {
- case 34:
- ;
- }
-
- printf ("\n");
-
- if (up == down && up == 18)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/condexp.C b/gcc/testsuite/g++.old-deja/g++.jason/condexp.C
deleted file mode 100644
index edfd12ef1a9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/condexp.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// PRMS id: 5629
-// Build don't link:
-
-struct String { const char *x; };
-class Pathname: public String { };
-
-String
-f(int i)
-{
- Pathname p;
- String s;
-
- return i ? p: s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/const.C b/gcc/testsuite/g++.old-deja/g++.jason/const.C
deleted file mode 100644
index 2faf8e5811e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/const.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Bug: a ends up in the text segment, so trying to initialize it causes
-// a seg fault.
-
-struct A {
- int i;
- A(): i(0) {}
- A(int j): i(j) {}
-};
-
-const A a;
-const A b(1);
-
-int main ()
-{
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/const2.C b/gcc/testsuite/g++.old-deja/g++.jason/const2.C
deleted file mode 100644
index 7dd956bc284..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/const2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Example of static member constants
-
-extern "C" int printf (const char *, ...);
-
-struct T {
- static const char letter = 'a'; // this is the new stuff!
- char x[letter];
- void f();
-};
-
-void T::f() { printf ("%p", &letter); }
-const char T::letter; // still need def after class
-
-int main() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/const3.C b/gcc/testsuite/g++.old-deja/g++.jason/const3.C
deleted file mode 100644
index 3ff8f0c89a6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/const3.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: bar isn't emitted, which causes havoc.
-
-extern int i;
-const int bar = i;
-int i = 5;
-
-int main()
-{
- return bar != 5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/const4.C b/gcc/testsuite/g++.old-deja/g++.jason/const4.C
deleted file mode 100644
index b8b8efa0ae6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/const4.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// PRMS Id: 8927
-// Bug: complex inheritance interferes with const checking
-
-class GrandParent {
-public:
- virtual void DoIt();
-protected:
- int A;
-};
-
-class Parent : virtual public GrandParent {
-public:
- virtual void DoX() const;
-};
-
-class Child : public Parent {
-public:
- void DoX() const;
-};
-
-void Child::DoX() const
-{
- A = 10; // ERROR - assignment to const
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/context.C b/gcc/testsuite/g++.old-deja/g++.jason/context.C
deleted file mode 100644
index a9a83631992..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/context.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 3988
-// Bug: DECL_CONTEXT of A::B gets clobbered in pushdecl when defining A::foo().
-// Build don't link:
-
-#pragma implementation "context.h"
-#line 1 "context.h"
-#pragma interface
-
-template <class T>
-struct A {
- inline void foo () { }
- class B { };
-};
-
-struct C : public A<int> {
- void bar (C::B&);
-};
-#line 2 "context.C"
-
-void C::bar (C::B& b) { }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion.C
deleted file mode 100644
index 80436f355a2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Bug: g++ doesn't find the conversion path from DPtr& to B*.
-// Build don't link:
-
-class B {};
-class D : public B {};
-class DPtr
-{
-public:
- operator D*() const;
-};
-
-void foo (B* bp);
-void bar (DPtr& dp)
-{
- foo (dp);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion10.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion10.C
deleted file mode 100644
index 97bb70744cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion10.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// PRMS Id: 9019
-// Bug: g++ doesn't find conversion to const char *.
-// Build don't link:
-
-struct String {
- String ();
- explicit String (const char *);
- operator const char * ();
-};
-
-int main(int argc, char **argv)
-{
- String deflt("no args");
- String useme;
-
- const char *p = (argv[1]) ? argv[1] : deflt;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C
deleted file mode 100644
index c0c6ca4159c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// PRMS Id: 8805
-// Bug: The two-level conversion is not found when calling a global fn.
-
-class Int {
-public:
- Int(int A);
-};
-
-class Ding {
-public:
- Ding(Int A);
-};
-
-class Something {
-public:
- void DoSomething(Ding A); // ERROR - referred to
-};
-
-void DoSomething(Ding A);
-
-void foo(Something* pX)
-{
- DoSomething(1); // ERROR -
- pX->DoSomething(1); // ERROR -
- (*pX).DoSomething(1); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion2.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion2.C
deleted file mode 100644
index db773d698e4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion2.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// PRMS Id: 3069
-
-void f(int&); // ERROR - referenced by error below
-void g(const int& i) {
- f(i); // ERROR - discarding const
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion3.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion3.C
deleted file mode 100644
index 0d66c1ecee1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion3.C
+++ /dev/null
@@ -1,7 +0,0 @@
-void qsort (void *, int, int, int (*)(const void *, const void *));
-int f (char *, char *);
-void g ()
-{
- typedef int (*pf)(void *, void *);
- qsort(0, 0, 0, pf(f)); // ERROR - adding const to function parms
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion4.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion4.C
deleted file mode 100644
index 7caca196d0a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-struct A {
- A (int);
-};
-struct B {
- operator int () { return 1; }
-};
-void f (const A&);
-void g()
-{
- B b;
- f ((A) b);
- f (A (b)); // gets bogus error - functional cast treated differently from C style
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C
deleted file mode 100644
index 303860b4725..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-struct A { };
-struct B: public A {
- A a;
- operator A () { return a; } // WARNING - never used implicitly
-};
-void f (const A&);
-void g()
-{
- B b;
- (A) b; // gets bogus error - trying both constructor and type conversion operator
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion6.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion6.C
deleted file mode 100644
index a8477e36864..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion6.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// PRMS Id: g++/6034
-
-extern "C" int printf (const char *, ...);
-
-class Base
-{
- char x;
-};
-
-template <class T>
-// remove the public Base inheritance and the problem goes away...
-class Container : public Base
-{
-public:
-
- Container(const T& aValue): myValue(aValue) { }
-
- operator const T&(void) const
- {
- printf("Container::const T& called\n");
- return myValue;
- }
-
-protected:
-
- T myValue;
-};
-
-typedef unsigned short Type;
-
-typedef Container<Type> TypeContainer;
-
-int main(void)
-{
- TypeContainer myTypeContainer(2);
- Type t = myTypeContainer;
-
- printf ("myType = %d\n", t);
- return t != 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion7.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion7.C
deleted file mode 100644
index 01812f5b8ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion7.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Bug: g++ tries to look inside (B*)0 for a virtual base pointer.
-
-struct A
-{
-};
-
-struct B : virtual A
-{
-};
-
-A* a;
-
-int main()
-{
- a = (B*)0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion8.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion8.C
deleted file mode 100644
index 0c3d378b47a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion8.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// PRMS id: 8279
-
-int main ()
-{
- char *const *p = 0;
- char **q = 0;
-
- (void)(p - q);
- (void)(q - p);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion9.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion9.C
deleted file mode 100644
index e0d3715dae2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/conversion9.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// PRMS Id: 8475
-
-class SomeClass {
-public:
- operator int & () {
- static int x;
- return x;
- }
-} a;
-
-int main (int, char**) {
- return a + 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash1.C b/gcc/testsuite/g++.old-deja/g++.jason/crash1.C
deleted file mode 100644
index 298273490fc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Bug: g++ dies on this input.
-// Build don't link:
-
-class Sample
- {
- public:
- int operator <<(const char *c);
- };
-
-extern Sample sample;
-
-struct Simple
- {
- int a;
- };
-
-extern "C" void get_it();
-
-class Test
- {
- private:
- void test();
- friend void get_it();
- };
-
-void Test::test()
- {
- sample << "hello";
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash10.C b/gcc/testsuite/g++.old-deja/g++.jason/crash10.C
deleted file mode 100644
index b9669449589..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash10.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// PRMS Id: 5155
-
-struct A {
- enum foo { bar };
-};
-
-typedef A::foo A::foo; // ERROR - causes compiler segfault
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash11.C b/gcc/testsuite/g++.old-deja/g++.jason/crash11.C
deleted file mode 100644
index 51d1629630e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash11.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Bug: g++ crashes on this input.
-// Build don't link:
-
-struct A {
- const char *p;
-};
-const char foo[] = "bar";
-const A a = { foo };
-extern const A* ap = &a;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash12.C b/gcc/testsuite/g++.old-deja/g++.jason/crash12.C
deleted file mode 100644
index 46d63225bab..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash12.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: g++ dies instead of flagging this invalid.
-// Build don't link:
-
-inline float max(float x, float y) { return (x>y)?x:y; }
-
-float b(float x, float y, float z)
-{
- float f = (y<x)?x:(max<y)?z:y; // ERROR -
- return f;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash3.C b/gcc/testsuite/g++.old-deja/g++.jason/crash3.C
deleted file mode 100644
index c3709c55536..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash3.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Bug: g++ tries to generate initialization semantics for a Node from an int,
-// and fails.
-// Build don't link:
-
-struct Node
-{
- Node* child[2];
-}; // ERROR -
-
-void bug(int i)
-{
- Node* q = new Node(i); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash4.C b/gcc/testsuite/g++.old-deja/g++.jason/crash4.C
deleted file mode 100644
index bf6a15c370a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash4.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// PRMS Id: 4346
-// Bug: g++ dies on redefinition of cc_Array::repInvariant.
-// Build don't link:
-
-class ccObjectInfo
-{
-public:
- virtual const ccObjectInfo& repInvariant (int =0) const;
-};
-
-template <class T>
-class cc_Array : public ccObjectInfo
-{
-public:
- virtual const ccObjectInfo& repInvariant (int =0) const ;
-};
-
-template <class T>
-const ccObjectInfo& cc_Array<T>::repInvariant(int) const
-{ return *this /* *this is required here */; } // ERROR - redefined
-
-template <class T>
-class ccArray :public ccObjectInfo
-{
- ccArray (cc_Array<T>*);
-};
-
-template <class T>
-class ccObjArray : public ccArray<T>
-{
- ccObjArray();
-};
-
-template <class T>
-const ccObjectInfo& cc_Array<T>::repInvariant(int) const
-{ return 0; } // ERROR - causes compiler segfault
-
-typedef ccObjArray< double> ccROIRuns;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash5.C b/gcc/testsuite/g++.old-deja/g++.jason/crash5.C
deleted file mode 100644
index b67376fe261..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash5.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Bug: g++ doesn't deal well with abstract declarators used inappropriately.
-// Build don't link:
-
-void (*)(); // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash6.C b/gcc/testsuite/g++.old-deja/g++.jason/crash6.C
deleted file mode 100644
index 8e0a9c861f2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Bug: g++ dies on the below.
-// Build don't link:
-
-class A { };
-void f ()
-{
- A a;
- a.~a(); // ERROR - causes segfault
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash7.C b/gcc/testsuite/g++.old-deja/g++.jason/crash7.C
deleted file mode 100644
index e7dd8f75aad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash7.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Bug: g++ can't deal.
-
-typedef unsigned size_t; // ERROR - previous declaration
-typedef unsigned long size_t; // ERROR - redefining size_t
-void f (size_t); // causes compiler segfault -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash8.C b/gcc/testsuite/g++.old-deja/g++.jason/crash8.C
deleted file mode 100644
index cadda2f4764..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash8.C
+++ /dev/null
@@ -1,9 +0,0 @@
-struct A {
- A();
- A(A); // ERROR - copy ctor must take reference
-};
-int main()
-{
- A a;
- A b(a); // causes compiler segfault
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash9.C b/gcc/testsuite/g++.old-deja/g++.jason/crash9.C
deleted file mode 100644
index 6cacb11a541..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/crash9.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// PRMS Id: 5085
-// Bug: TYPE_POINTER_TO wasn't set.
-// Build don't link:
-
-class A {
- A(const A &);
- void operator=(const A &);
-public:
- inline A();
-};
-
-class B {
- A a;
-public:
- B();
- virtual void f() const;
-};
-
-class C : public B { };
-
-class D : C {
-public:
- void f() const;
-};
-
-void D::f() const
-{
- C::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ctor1.C b/gcc/testsuite/g++.old-deja/g++.jason/ctor1.C
deleted file mode 100644
index 123295dc409..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ctor1.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// PRMS Id: 5584
-
-extern "C"
-{
- struct xx {
- void (*xx)(void); // ERROR - field with name of class
- int x,y;
- };
-}
-
-int r = 1;
-
-void f(void)
-{
- r = 0;
-}
-
-int main()
-{
- struct xx p;
-
- p.xx = f;
- p.xx();
-
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ctor2.C b/gcc/testsuite/g++.old-deja/g++.jason/ctor2.C
deleted file mode 100644
index bf37c114be1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ctor2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Bug: the reference to c in the initializer list doesn't get fixed up.
-// Build don't link:
-
-struct AP {
- AP(unsigned char);
-};
-
-struct AI : AP {
- AI(unsigned char);
-};
-
-AI::AI(unsigned char c)
-: AP(c)
-{
- &c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dcast1.C b/gcc/testsuite/g++.old-deja/g++.jason/dcast1.C
deleted file mode 100644
index f4d93c3c068..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dcast1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 7162
-// Build don't link:
-
-struct B {
- int i;
- B() : i(1) {}
-};
-
-struct D : B {
- int i;
- D() : i(2) {}
-};
-
-void ch()
-{
- D od2;
- D &rd2 = od2;
-
- B &rd1 = dynamic_cast<B&>(rd2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dcast2.C b/gcc/testsuite/g++.old-deja/g++.jason/dcast2.C
deleted file mode 100644
index e42c71da2f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dcast2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-struct A { virtual void f() { } };
-struct B { virtual void g() { } };
-struct C : public A, public B { };
-
-int main ()
-{
- C* cp = 0;
- B* bp = 0;
-
- if (dynamic_cast <B*> (cp) != 0)
- return 1;
-
- if (dynamic_cast <void *> (bp) != 0)
- return 1;
-
- if (dynamic_cast <C*> (bp) != 0)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dcast3.C b/gcc/testsuite/g++.old-deja/g++.jason/dcast3.C
deleted file mode 100644
index 6d333f098bc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dcast3.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Testcase for tricky dynamic cast situations.
-
-struct A {
- virtual void f () { }
-};
-
-struct B : public A { };
-struct C : public B { };
-struct D : public B { };
-struct E : public C, public D { };
-
-struct B2 : public virtual A { };
-struct C2 : public B2 { };
-struct D2 : public B2 { };
-struct E2 : public C2, public D2 { };
-
-int main ()
-{
- E e;
- E2 e2;
-
- A* ap = (C*)&e;
-
- // ap points to base subobject of unique B; succeeds
- if (dynamic_cast <B*> (ap) == 0)
- return 1;
-
- ap = (C2*)&e2;
- // ap points to base subobject shared by two Bs; fails
- if (dynamic_cast <B2*> (ap) != 0)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/default1.C b/gcc/testsuite/g++.old-deja/g++.jason/default1.C
deleted file mode 100644
index 0372d91b7da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/default1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 5204
-// Bug: g++ bashes the type of add_sym with the type of add, so calling it
-// with one parameter generates an error.
-// Build don't link:
-
-int add(int const &symbol,
- const unsigned char flags=(void*)0); // ERROR - invalid default arg
-
-int add_sym(int const &symbol,
- const unsigned char flags=0);
-
-int main()
-{
- int fname;
- add_sym(fname); // Guarantee a symbol exists
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/default2.C b/gcc/testsuite/g++.old-deja/g++.jason/default2.C
deleted file mode 100644
index f50ee2f151b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/default2.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// PRMS Id: 5921
-// Build don't link:
-// Bug: default arguments containing constructor calls persist incorrectly.
-
-class foo
-{
- public:
- foo();
- foo(int x);
- public:
- int iamamember;
-};
-
-class bar
-{
- public:
- bar();
- int memberfunction(int i, char *j, double k, foo foo1 = foo(0));
-};
-
-int
-pain(bar *bar1)
-{
- return bar1->memberfunction(1, "x", 0.0);
-}
-
-int
-pain2(bar *bar1)
-{
- return bar1->memberfunction(1, "x", 0.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/default3.C b/gcc/testsuite/g++.old-deja/g++.jason/default3.C
deleted file mode 100644
index 05af3b68b27..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/default3.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug: type_list_equal aborts when it sees lang-specific tree nodes.
-// Build don't link:
-
-struct A { };
-void f (A a = A());
-void g (A a = A());
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/defctor.C b/gcc/testsuite/g++.old-deja/g++.jason/defctor.C
deleted file mode 100644
index 68cf25c3ab6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/defctor.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ doesn't generate default constructor.
-
-class A {
-public:
- int i;
-};
-
-extern "C" int printf(const char *, ...);
-
-int main () {
- A a;
- a.i = 1;
- A b (a);
- printf("%d\n",b.i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/delete1.C b/gcc/testsuite/g++.old-deja/g++.jason/delete1.C
deleted file mode 100644
index a176652df71..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/delete1.C
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <stddef.h>
-struct A {
- virtual void operator delete (void *); // ERROR - virtual delete
- virtual void * operator new (size_t); // ERROR - virtual new
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/delete2.C b/gcc/testsuite/g++.old-deja/g++.jason/delete2.C
deleted file mode 100644
index 7748e2b9cb5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/delete2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 5003
-// Bug: g++ complains about calling the destructor for a const object.
-// Build don't link:
-
-struct A {
-public:
- ~A();
-};
-
-const A foo ();
-
-void bar()
-{
- A n;
- n = foo(); // gets bogus error - deleting const
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/delete3.C b/gcc/testsuite/g++.old-deja/g++.jason/delete3.C
deleted file mode 100644
index 8bffb9aca86..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/delete3.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// PRMS Id: 6093
-
-class A {
-public:
- A();
- ~A();
-protected:
- void operator delete(void *); // ERROR - protected
-};
-
-A::~A()
-{
-}
-
-void foo(A *p)
-{
- delete p; // ERROR - in this context
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/destruct.C b/gcc/testsuite/g++.old-deja/g++.jason/destruct.C
deleted file mode 100644
index c5b3be61004..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/destruct.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Exhaustive test for destructors of simple types.
-// PRMS Id: 2744, 3308
-// Build don't link:
-
-template <class T> class A {
- T q;
-public:
- ~A() {
- q.T::~T();
- q.~T();
- (&q)->T::~T();
- (&q)->~T();
- }
-};
-
-typedef char * cp;
-
-int main ()
-{
- A<int> a;
- A<cp> b;
- int i;
- cp c;
-
- i.~int();
- i.int::~int();
- (&i)->~int();
- (&i)->int::~int();
- c.~cp();
- c.cp::~cp();
- (&c)->~cp();
- (&c)->cp::~cp();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/destruct2.C b/gcc/testsuite/g++.old-deja/g++.jason/destruct2.C
deleted file mode 100644
index 09b6bdd7991..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/destruct2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 4342
-// Bug: g++ does not massage things enough to allow calling ~X().
-// Build don't link:
-
-struct X
-{
- virtual ~X ();
-};
-
-struct Y : public X
-{};
-
-struct Z : public Y, public X
-{}; // WARNING -
-
-void foo ()
-{
- Z* f = new Z;
- delete f; // gets bogus error -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/destruct3.C b/gcc/testsuite/g++.old-deja/g++.jason/destruct3.C
deleted file mode 100644
index d4bbf9ad790..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/destruct3.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Special g++ Options: -w
-// PRMS Id: 4342 (second testcase)
-// Bug: g++ still can't deal with ambiguous inheritance in destructor calls.
-// Build don't link:
-
-struct ccUnwind
-{
- ccUnwind ();
- virtual ~ccUnwind ();
-};
-
-struct ccPersistent
-{
- virtual void bar();
-};
-
-struct ccImpExp : public ccPersistent, public ccUnwind
-{};
-
-struct ccTool : public ccImpExp
-{};
-
-struct ccScreenTool : public ccTool
-{};
-
-struct ccVTool : public ccScreenTool
-{};
-
-struct ccScreenObjRep : public ccUnwind
-{};
-
-struct ccScreenObj : public ccScreenObjRep
-{};
-
-struct ccVSTool : public ccImpExp, public ccUnwind
-{};
-
-struct ccSCCP : public ccVSTool
-{};
-
-void foo ()
-{
- ccSCCP* foo = new ccSCCP;
- delete foo;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/destruct4.C b/gcc/testsuite/g++.old-deja/g++.jason/destruct4.C
deleted file mode 100644
index 3ce7d765505..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/destruct4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// PRMS Id: 4342
-// Bug: g++ fails to massage ambiguity in calling virtual destructor.
-// Build don't link:
-
-class A { public: virtual ~A();};
-class B: public A { };
-class C: public A { };
-class D: public B, public C { };
-
-void foo ()
-{
- D* p = new D;
- delete p;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dot.C b/gcc/testsuite/g++.old-deja/g++.jason/dot.C
deleted file mode 100644
index 3870eead449..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dot.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 4143
-// Bug: Pointer is silently dereferenced in method call.
-// Build don't link:
-
-extern "C" int printf (const char *, ...);
-
-class Test
-{
- char ch;
- public:
- Test(char c) : ch(c) {}
- void Print() { printf("%c", ch); }
-};
-
-int main()
-{
- Test *p = new Test('x');
-
- p.Print(); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor.C
deleted file mode 100644
index db76e171349..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dtor.C
+++ /dev/null
@@ -1,13 +0,0 @@
-struct A {
- ~A();
-};
-
-struct B {
- ~B();
-};
-
-int main()
-{
- A a;
- a.~B(); // ERROR - wrong name
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor2.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor2.C
deleted file mode 100644
index c088e3f3d2e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dtor2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// PRMS Id: 5163
-// Bug: g++ doesn't accept the explicit destructor call syntax for templates.
-
-template <class T> struct A { };
-A<int> a;
-
-int main()
-{
- a.~A(); // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C
deleted file mode 100644
index 0c5e68abb47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dtor3.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// PRMS Id: 5341
-// Bug: g++ complains about the explicit destructor notation.
-// Build don't link:
-
-#include <stddef.h>
-
-void *operator new(size_t Size, void* pThing) { return pThing; };
-
-template <class T> class Stack {
-public:
- Stack() { new (Data) T(); }
- ~Stack() { ((T*)Data)->~T(); }
-private:
- char Data[sizeof(T)];
-};
-
-Stack<int> a;
-Stack<Stack<int> > c;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor4.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor4.C
deleted file mode 100644
index dfdc3aafd6c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dtor4.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// PRMS Id: 5420
-// Bug: g++ gets mixed up calling destructors for references.
-// Build don't link:
-
-template<class X>
-class Z {
-public:
- char space[100];
- void kill()
- { X& x = (X&) space[0];
- x.~X(); }
-};
-
-class C { int i; };
-
-void
-f()
-{
- Z<int> r;
- r.kill();
- Z<C> s;
- s.kill();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/dtor5.C b/gcc/testsuite/g++.old-deja/g++.jason/dtor5.C
deleted file mode 100644
index 4761bedf2cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/dtor5.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// PRMS Id: 5286
-// Bug: g++ forgets side-effects of object in call to nonexistent destructor.
-
-#include <new>
-
-int r;
-
-template <class T> struct A {
- T *p;
- int i;
- A() { i = 0; p = (T*) new char[sizeof (T)]; new (p + i++) T; }
- ~A() { p[--i].~T(); r = i; }
-};
-
-int main()
-{
- { A<int> a; }
-
- int* p = (int*) new char[sizeof (int)];
- new (p + r++) int;
- p[--r].~int();
-
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum.C b/gcc/testsuite/g++.old-deja/g++.jason/enum.C
deleted file mode 100644
index 6dd24e61811..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// PRMS Id: 4337
-// Bug: Enums are not looked up to arbitrary depth.
-// Build don't link:
-
-struct W {
- enum A { B };
-};
-
-struct X : public W
-{};
-
-struct Y : public X
-{};
-
-struct S
-{
- X::A a1;
- Y::A a2; // gets bogus error -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum2.C b/gcc/testsuite/g++.old-deja/g++.jason/enum2.C
deleted file mode 100644
index 8fb75386878..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum2.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-enum tristate { no = -1, maybe, yes };
-
-void foobar ()
-{
- tristate var = no; // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum3.C b/gcc/testsuite/g++.old-deja/g++.jason/enum3.C
deleted file mode 100644
index 9e25570ab42..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-
-enum tristate { no = -1, maybe, yes };
-
-tristate
-tristate_satisfies (register tristate const t1, register tristate const t2)
-{
- switch (t1)
- {
- case no:
- return (tristate) -t2;
- case maybe:
- return yes;
- case yes:
- return t2;
- }
- return maybe;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum4.C b/gcc/testsuite/g++.old-deja/g++.jason/enum4.C
deleted file mode 100644
index ab8b69f4aa7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-
-enum tristate { no = -1, maybe, yes };
-
-tristate
-definite_tristate (int truth)
-{
- return (truth) ? yes : no;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum5.C b/gcc/testsuite/g++.old-deja/g++.jason/enum5.C
deleted file mode 100644
index bbaa6747461..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum5.C
+++ /dev/null
@@ -1,8 +0,0 @@
-enum { a = 1 };
-
-int main(void)
-{
- int l = -1;
-
- return ! (l < a); // testcase fails if a is unsigned
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum6.C b/gcc/testsuite/g++.old-deja/g++.jason/enum6.C
deleted file mode 100644
index 4097e2db1eb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Special g++ Options: -fshort-enums
-
-#include <limits.h>
-
-enum A { a1 = 0x7fffffff };
-enum B { b1 = 0x80000000 };
-enum C { c1 = -1, c2 = 0x80000000 };
-enum D { d1 = CHAR_MIN, d2 = CHAR_MAX };
-enum E { e1 = CHAR_MIN, e2 = CHAR_MIN };
-
-main()
-{
- return (sizeof (A) != 4 || sizeof (B) != 4 || sizeof (C) != 8
- || sizeof (D) != 1 || sizeof (E) != 1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum7.C b/gcc/testsuite/g++.old-deja/g++.jason/enum7.C
deleted file mode 100644
index 0f683047aec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum7.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Yet Another testcase for signed/unsigned enums.
-// Build don't link:
-
-enum A { AA = 0, AB = 1};
-enum B { BA = -1, BB = 1};
-
-void set(int a);
-void set(long a);
-
-void
-foo()
-{
- set(AA); // gets bogus error - why is this ambiguous
- set(BA); // when this is not amibguous
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum8.C b/gcc/testsuite/g++.old-deja/g++.jason/enum8.C
deleted file mode 100644
index 0a3220f7faa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum8.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: the switch fails on the Alpha because folding ef - 1 fails.
-
-enum foo { one=1, thirty=30 };
-
-int f (enum foo ef)
-{
- switch (ef)
- {
- case one:
- case thirty:
- return 0;
- default:
- return 1;
- }
-}
-
-int main ()
-{
- return f (one);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/explicit.C b/gcc/testsuite/g++.old-deja/g++.jason/explicit.C
deleted file mode 100644
index 9fcecfd81ae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/explicit.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Testcase for explicit instantiation of templates.
-// Build don't link:
-
-template <class T>
-class A {
- T t;
-public:
- void f () { }
-};
-
-template class A<int>;
-
-template <class T> T min (T a, T b) { return (a < b ? a : b); }
-
-template int min (int, int);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/expr1.C b/gcc/testsuite/g++.old-deja/g++.jason/expr1.C
deleted file mode 100644
index 89d719fddd9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/expr1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: g++ doesn't figure out what to do.
-// Build don't link:
-
-struct A {
- operator char *();
-};
-
-char foo(A a)
-{
- char c = a[0]; // gets bogus error
- return c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/friend.C b/gcc/testsuite/g++.old-deja/g++.jason/friend.C
deleted file mode 100644
index 4c517cbeee4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/friend.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Bug: g++ doesn't keep track of the lexical context of friends properly.
-
-extern "C" void exit(int);
-
-struct B;
-struct A {
- static void f () { exit (1); }
-};
-
-struct B {
- static void f () { exit (0); }
- friend void g () { f (); }
-};
-
-int main ()
-{
- g ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/friend2.C b/gcc/testsuite/g++.old-deja/g++.jason/friend2.C
deleted file mode 100644
index 02ccb5c59dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/friend2.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// PRMS Id: 5189
-// Bug: g++ fails to collapse the several declarations of freefoo, so it isn't
-// recognized as a friend.
-// Build don't link:
-
-extern "C"
-void freefoo(void);
-
-class foo {
- friend void freefoo(void);
- protected:
- static void foomem();
- public:
- foo();
- ~foo();
-};
-
-void freefoo(void)
-{
- foo::foomem();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/groff1.C b/gcc/testsuite/g++.old-deja/g++.jason/groff1.C
deleted file mode 100644
index 7ce697b0d77..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/groff1.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// PRMS Id: 3744
-// Bug: unswitching a COND_EXPR initializer fails to set SIDE_EFFECTS on the
-// result, so expand_expr ignores it.
-
-extern "C" {
- int printf(const char *,...);
- void exit(int);
-}
-
-struct A {
- int x;
- int y;
-
- A() : x(0), y(0) { }
-};
-
-struct S {
- S() : flags(0) { }
- unsigned flags;
- A from;
- void foo(const A &pos);
-};
-
-void S::foo(const A &pos)
-{
- A a = flags ? from : pos;
- printf("%d %d\n", a.x, a.y);
- if (a.x != 17 || a.y != 12)
- exit (1);
-}
-
-int main()
-{
- A pos;
- pos.x = 17;
- pos.y = 12;
- S s;
- s.foo(pos);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/hmc1.C b/gcc/testsuite/g++.old-deja/g++.jason/hmc1.C
deleted file mode 100644
index fec94879950..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/hmc1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed templates default-arguments
-template <class I>
-class Class {
-public:
- void func1(int n=1);
- void func2(int d) {}
-};
-template <class I>
-void Class<I>::func1(int n) {}
-
-//if this is replaced by:
-//void Class<I>::func1(int n=1) {}
-//the code compiles.
-
-int main() {
- Class<int> C;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/incomplete1.C b/gcc/testsuite/g++.old-deja/g++.jason/incomplete1.C
deleted file mode 100644
index 8b738d9f606..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/incomplete1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// The reference parameter to fred isn't dereferenced properly.
-// Build don't link:
-
-class Gump {};
-Gump operator & (const Gump x){return x;}
-
-class B;
-
-void *sam(int &x)
-{return &x;}
-
-const void *fred(const B& x)
-{return &x;} // "&x" causes the compilation error.
-
-class B {};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/incomplete2.C b/gcc/testsuite/g++.old-deja/g++.jason/incomplete2.C
deleted file mode 100644
index 66423215a92..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/incomplete2.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-struct A {
- int foo(A a) { return a.bar(); }
- int bar();
- int n;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/init.C b/gcc/testsuite/g++.old-deja/g++.jason/init.C
deleted file mode 100644
index 032d172e160..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/init.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Bug: g++ uses an empty initializer list for its own devious purpose
-// internally, and gets confused if it shows up in the input.
-// Build don't link:
-
-struct A { int i; };
-
-A a = { };
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/init2.C b/gcc/testsuite/g++.old-deja/g++.jason/init2.C
deleted file mode 100644
index c85adc385ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/init2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// PRMS Id: 5126
-
-extern int i, j;
-static const int foo [] = { i, j };
-int i = 5, j = 42;
-int main()
-{
- return foo[1] != 42;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/init3.C b/gcc/testsuite/g++.old-deja/g++.jason/init3.C
deleted file mode 100644
index ae8693195ca..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/init3.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// PRMS Id: 5652
-// Bug: strings does not get initialized.
-
-extern "C" void * memcpy (void *, const void *, __SIZE_TYPE__);
-extern "C" int strcmp (const char *, const char *);
-
-class My_string {
- char *str;
- int len;
-public:
- My_string(const char* string);
- My_string(const My_string &);
- ~My_string() { delete str; }
- char* char_p() { return str; }
-};
-
-const My_string strings[4] = {
- "first string",
- "second string",
- "third string",
- "fourth string"
-};
-
-My_string::My_string(const char* string)
-{
- len = strlen(string) + 1;
- str = new char[len];
- memcpy(str, string, len);
-}
-
-My_string::My_string(const My_string &string)
-{
- len = string.len;
- str = new char[len];
- memcpy(str, string.str, len);
-}
-
-int main()
-{
- My_string str1 = strings[0];
- return strcmp ("first string", str1.char_p ()) != 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/init4.C b/gcc/testsuite/g++.old-deja/g++.jason/init4.C
deleted file mode 100644
index aa9417c642f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/init4.C
+++ /dev/null
@@ -1,3 +0,0 @@
-struct A { int i; };
-
-A a = {{{1}}}; // ERROR - causes abort
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/inline.C b/gcc/testsuite/g++.old-deja/g++.jason/inline.C
deleted file mode 100644
index d6cb9e9a924..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/inline.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// PRMS Id: 4341
-// Bug: Instantiating a template in the middle of processing the functions
-// from another template screws up lineno/input_filename.
-
-#pragma implementation "C.h"
-#line 1 "A.h"
-#pragma interface
-template <class T> class A {};
-#line 1 "C.h"
-#pragma interface
-template <class T> class C
-{
-public:
- C() { A<T> *ap; }
- ~C() { }
-};
-#line 18 "inline.C"
-int main()
-{
- C<int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/inline2.C b/gcc/testsuite/g++.old-deja/g++.jason/inline2.C
deleted file mode 100644
index 7dea476d373..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/inline2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: the lang-specific bits of the decl for g aren't being copied when
-// inlining.
-// Special g++ Options: -O
-// Build don't link:
-
-inline void f () {
- void g ();
-}
-
-void h() {
- f(); // causes compiler segfault -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/inline3.C b/gcc/testsuite/g++.old-deja/g++.jason/inline3.C
deleted file mode 100644
index 00d57eb3ea1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/inline3.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Testcase for order of destruction.
-// Special g++ Options: -O2
-
-extern "C" int printf( char const*, ... );
-int c;
-int r;
-
-struct B {
- B();
- B( B const& );
- ~B();
-};
-
-struct A {
- A();
- A( A const& );
- ~A();
- operator B ();
-};
-
-inline A::operator B () { printf( "operator B ()\n"); return B(); }
-
-A f();
-void g( B const& );
-
-int
-main()
-{
- g( f() );
- return r;
-}
-
-B::B() { printf( "B::B()\n" ); if (++c != 2) r = 1; }
-B::B( B const& ) { printf( "B::B( B const& )\n" ); r = 1; }
-B::~B() { printf( "B::~B()\n" ); if (--c != 1) r = 1; }
-
-A::A() { printf( "A::A()\n" ); if (++c != 1) r = 1; }
-A::A( A const& ) { printf( "A::A( A const& )\n" ); r = 1; }
-A::~A() { printf( "A::~A()\n" ); if (--c != 0) r = 1; }
-
-A f() { printf( "f()\n"); return A(); }
-void g( B const& ) { printf( "g()\n"); }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/jump.C b/gcc/testsuite/g++.old-deja/g++.jason/jump.C
deleted file mode 100644
index e59de36fa41..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/jump.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// PRMS Id: 6036
-
-extern int a;
-
-int main() {
- switch (a) {
- case 1:
- int v2 = 3; // ERROR - referenced below
- case 2: // ERROR - jumping past initializer
- if (v2 == 7)
- ;
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lex1.C b/gcc/testsuite/g++.old-deja/g++.jason/lex1.C
deleted file mode 100644
index 174ec77b97f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lex1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-int main()
-{
- char c = '\351';
- if (c != '\351')
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lineno.C b/gcc/testsuite/g++.old-deja/g++.jason/lineno.C
deleted file mode 100644
index 6878f75b61a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lineno.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug; g++ binds a function definition to the line number of a later decl.
-// Build don't link:
-
-void foo () { } // ERROR - redeclared
-void foo (); // gets bogus error - invalid binding
-void foo () { } // ERROR - redeclared
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lineno2.C b/gcc/testsuite/g++.old-deja/g++.jason/lineno2.C
deleted file mode 100644
index 6c278036b9a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lineno2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed error-reporting
-// Special g++ Options:
-// Bug: # line directive gets ignored immediately after text.
-template <class T> class A
-{
-public:
-# 200 "lineno2.C"
-};
-
-main()
-{
- undef1(); // ERROR - , LINE 204
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lineno3.C b/gcc/testsuite/g++.old-deja/g++.jason/lineno3.C
deleted file mode 100644
index f2688635437..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lineno3.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-// GROUPS passed error-reporting
-// potential bug: # line directive does not get reproduced in template
-// expansion
-template <class T> class A
-{
-public:
-# 200 "lineno3.C"
- int foo () { undef1(); } // ERROR - , LINE 200
-};
-
-template class A<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lineno4.C b/gcc/testsuite/g++.old-deja/g++.jason/lineno4.C
deleted file mode 100644
index a570edf313c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lineno4.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-// GROUPS passed error-reporting
-// Bug: # line directive in template definition interferes with growing obstack
-template <class T> class A
-{
-public:
-
-# 200 "lineno4.C"
- int foo () { undef1(); } // ERROR - , LINE 200
-};
-
-template class A<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lineno5.C b/gcc/testsuite/g++.old-deja/g++.jason/lineno5.C
deleted file mode 100644
index 95ff218cbb2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lineno5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed error-reporting
-// Bug: incomplete instantiation messes with lineno
-template <class T> class A;
-
-int main()
-{
- A<int> *p;
- undef1();// ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/local.C b/gcc/testsuite/g++.old-deja/g++.jason/local.C
deleted file mode 100644
index 6159db0c613..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/local.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// General testcase for local classes.
-
-int x;
-void f ()
-{
- static int s;
- int x; // ERROR - referenced below
- extern int q();
-
- struct local {
- int g() { return x; } // ERROR - automatic variable
- int h() { return s; } // gets bogus error - local class
- int k() { return ::x; } // OK
- int l() { return q(); } // OK
- int m(); // OK - not defined
- static int foo; // ERROR - static data member of local class
- };
-}
-
-local* p = 0; // ERROR - no such type in scope
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lookup.C b/gcc/testsuite/g++.old-deja/g++.jason/lookup.C
deleted file mode 100644
index c6c44c373d9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lookup.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// PRMS Id: 4357
-// Bug: g++ forgets to clear out push/popclass cache stuff when instantiating
-// templates.
-// Build don't link:
-
-template <class T> class ccHandle { };
-
-class cc_GStack
-{
- static cc_GStack* freeList;
-};
-
-// OK if ccGStack is not derived from ccHandle<something>
-class ccGStack : public ccHandle<int> { };
-
-struct S { };
-
-S* freeList;
-
-class X
-{
-public:
- void foo();
-};
-
-void X::foo()
-{
- S m;
- freeList = &m;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lookup2.C b/gcc/testsuite/g++.old-deja/g++.jason/lookup2.C
deleted file mode 100644
index e44b1dcb057..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lookup2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-struct A {
- struct B {
- B ();
- };
-};
-void f (A::B);
-void g ()
-{
- A::B b;
- f (b); // gets bogus error - can't find nested constructor
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lookup3.C b/gcc/testsuite/g++.old-deja/g++.jason/lookup3.C
deleted file mode 100644
index 7be731ef0f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lookup3.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// [class.ambig]: A single function, object, type, or enumerator may be
-// reached through more than one path through the DAG of base classes. This
-// is not an ambiguity.
-// Build don't link:
-
-struct A {
- typedef long T;
-};
-
-struct B : public A { };
-struct C : public A { };
-
-struct D : public C , public B {
- void f (T&); // gets bogus error - ambiguous lookup
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/loverload.C b/gcc/testsuite/g++.old-deja/g++.jason/loverload.C
deleted file mode 100644
index 2d1a9b36ae6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/loverload.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: g++ can't deal with multi-language overloading.
-// Build don't link:
-
-extern void foo (int, int);
-extern "C" void foo (int);
-
-void bar ()
-{
- foo (1);
- foo (1, 2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/loverload3.C b/gcc/testsuite/g++.old-deja/g++.jason/loverload3.C
deleted file mode 100644
index c9cc3bfbe57..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/loverload3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// PRMS Id: 2010
-// Bug: g++ doesn't deal with overloads involving C-language fns properly.
-// Build don't link:
-
-extern "C" double pow (double, double);
-inline double pow (double d, int e) { return pow (d, (double) e); }
-
-void foo ()
-{
- pow (1.0, 1);
- pow (1.0, 1.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/loverload4.C b/gcc/testsuite/g++.old-deja/g++.jason/loverload4.C
deleted file mode 100644
index c689bf5169d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/loverload4.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Bug: g++ dies on this input.
-// Build don't link:
-
-inline char abs (char x) { return 0; }
-
-extern "C" {
- inline int abs (int x) { return 1; }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lvalue.C b/gcc/testsuite/g++.old-deja/g++.jason/lvalue.C
deleted file mode 100644
index c85e6fe5f28..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lvalue.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Bug: Scoped method calls don't propagate the constness of `this'.
-// PRMS Id: 4181 (second testcase)
-// Build don't link:
-
-class D;
-
-class Bptr
-{
-public:
- Bptr& operator=(D*);
- const Bptr& operator=(const D*) const;
-};
-
-class Dptr : public Bptr
-{
-public:
- const Dptr& operator=(const D* rep) const
- {
- Bptr::operator=(rep);
- return *this;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lvalue2.C b/gcc/testsuite/g++.old-deja/g++.jason/lvalue2.C
deleted file mode 100644
index 2fba73c9c87..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lvalue2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 4892
-// Bug: COND_EXPRs, MODIFY_EXPRs and COMPOUND_EXPRs aren't properly recognized
-// as lvalues.
-// Build don't link:
-
-extern int foo;
-int& f (int& a, int& b)
-{
- return (foo ? a : b); // gets bogus error -
-}
-
-int& g (int& a)
-{
- return (a = 0); // gets bogus error -
-}
-
-int& h (int& a, int& b)
-{
- return (a = 1, b); // gets bogus error -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lvalue3.C b/gcc/testsuite/g++.old-deja/g++.jason/lvalue3.C
deleted file mode 100644
index a3edaac6557..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lvalue3.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Bug: C++ semantics for assignment don't match the backend semantics for
-// MODIFY_EXPR.
-// Build don't link:
-
-void
-foo (int j)
-{
- (j = 1)++; // causes compiler segfault
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lvalue4.C b/gcc/testsuite/g++.old-deja/g++.jason/lvalue4.C
deleted file mode 100644
index 79a02d8a5c0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/lvalue4.C
+++ /dev/null
@@ -1,6 +0,0 @@
-int main() {
- int i = 2;
- int *pi = &(++i);
-
- return i != 3;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/mangle1.C b/gcc/testsuite/g++.old-deja/g++.jason/mangle1.C
deleted file mode 100644
index 59b83b9c361..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/mangle1.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Bug: numeric_outputed_need_bar is not cleared properly, adding random '_'s
-// to mangled names.
-
-// Build don't link:
-
-template <int seed_length>
-class rand1
-{
-public:
- rand1 ();
-};
-
-class codes
-{
-public:
- rand1<32> * randgen;
- codes (int ptr);
-
-};
-
-codes::codes (int ptr)
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/mangle2.C b/gcc/testsuite/g++.old-deja/g++.jason/mangle2.C
deleted file mode 100644
index b1876b71249..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/mangle2.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// I guess this was broken once.
-// Build don't link:
-
-template <class C, int D> class X { };
-typedef X<int, 0> T;
-
-class Y
-{
- public:
- ~Y();
-};
-
-class Z
-{
- public:
- void f(T**);
-};
-
-void Z::f(T** t)
-{ }
-
-Y::~Y()
-{ }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/mangle3.C b/gcc/testsuite/g++.old-deja/g++.jason/mangle3.C
deleted file mode 100644
index 5a82107bfef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/mangle3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// PRMS Id: 7563
-// Bug: declaration at function scope causes mismangling.
-
-int main()
-{
- char ArrA[10][10][20][30],
- ArrB[10][10][20][30];
-
- void HitMe(char [10][10][20][30], char [10][10][20][30]);
-
- HitMe(ArrA, ArrB);
-
- return 0;
-}
-
-void HitMe(char A[10][10][20][30], char B[10][10][20][30])
-{
- return;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/member.C b/gcc/testsuite/g++.old-deja/g++.jason/member.C
deleted file mode 100644
index 3518811967c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/member.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed member-pointers error-reporting
-struct Y
-{
- struct X
- {
- int A;
- int Y::X::* foo () { undef1(1); return &Y::X::A; }// ERROR - foo().*
- int bar () { return A; }
- };
-};
-
-int Y::X::* foo ()
-{
- undef2(1);// ERROR - foo().*
- return &Y::X::A;
-}
-
-int Y::X::* (* foo2 ())()
-{
- undef3(1);// ERROR - foo().*
- return foo;
-}
-
-int (Y::X::* bar2 ()) ()
-{
- undef4(1);// ERROR - foo\(\).*
- return Y::X::bar;// ERROR - foo\(\).*
-}
-
-int Y::X::* (Y::X::* foo3 ())()
-{
- undef5(1);// ERROR - foo().*
- return Y::X::foo;// ERROR - foo().*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/method.C b/gcc/testsuite/g++.old-deja/g++.jason/method.C
deleted file mode 100644
index e9496b82861..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/method.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: pointer to pointer is treated as plain pointer.
-// PRMS Id: 1767
-// Build don't link:
-
-class Foo {
-public:
- void method();
-};
-
-void func(Foo ** ppFoo) {
- ppFoo->method(); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/mi.C b/gcc/testsuite/g++.old-deja/g++.jason/mi.C
deleted file mode 100644
index de805dd4f1c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/mi.C
+++ /dev/null
@@ -1,16 +0,0 @@
-int status;
-
-struct A { virtual void foo () { status = 1; } };
-struct B { };
-struct C : public A, public B { };
-struct D { virtual void baz () { } };
-struct E : public D, public C { void foo () { status = 0; } };
-
-int main ()
-{
- E* ep = new E;
-
- ep->foo();
-
- return status;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/mutable1.C b/gcc/testsuite/g++.old-deja/g++.jason/mutable1.C
deleted file mode 100644
index 5311a871be2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/mutable1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-struct X
-{
- X () { }
- mutable int x;
-};
-
-int main ()
-{
- const X x;
- x.x = 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/nested1.C b/gcc/testsuite/g++.old-deja/g++.jason/nested1.C
deleted file mode 100644
index 4405f3d0649..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/nested1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: g++ can't deal with function-local classes that talk about themselves.
-// Build don't link:
-
-void foo() {
- class Wrapper {
- public:
- void F (void * Wrapperptr)
- {
- Wrapper * wrapptr = ( Wrapper *) Wrapperptr; // gets bogus error
- }
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/nested2.C b/gcc/testsuite/g++.old-deja/g++.jason/nested2.C
deleted file mode 100644
index 24020a2dd24..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/nested2.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// PRMS Id: 3764 (c/h)
-// Bug: g++ gets into an infinite loop trying to find the top-level context
-// Build don't link:
-
-class Menu;
-class MenuItem;
-
-class MenuAction {
-public:
- virtual void execute (Menu& menu, MenuItem& menuItem) = 0;
-protected:
- MenuAction () {}
-};
-
-class Test {
- class MenuCBA : public MenuAction {
- public:
- typedef void (Test::* MenuCBA_Member) (Menu& menu, MenuItem& menuItem);
- MenuCBA (Test& instance, MenuCBA_Member member)
- : _instance(&instance), _member(member) { }
- void execute (Menu& menu, MenuItem& menuItem);
- private:
- MenuCBA_Member _member;
- Test* _instance;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/nested4.C b/gcc/testsuite/g++.old-deja/g++.jason/nested4.C
deleted file mode 100644
index cd5a8393eb0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/nested4.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// From: quipu@ulrik.uio.no
-// Subject: extern "C" nested class
-// Date: Fri, 13 Aug 1993 15:33:53 +0200
-// Build don't link:
-
-extern "C" {
- struct A {
- struct B { int j; } *x;
- };
-}
-
-void
-foo () {
- A a;
- struct A::B *b;
- b = a.x; // gets bogus error - type `B' is not a base type for type `B'
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/nested5.C b/gcc/testsuite/g++.old-deja/g++.jason/nested5.C
deleted file mode 100644
index 1b0e35c9b91..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/nested5.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-struct A {
- struct B { };
-};
-
-struct C : public A {
- struct D
- : public B // gets bogus error - can't find B
- { };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/nested6.C b/gcc/testsuite/g++.old-deja/g++.jason/nested6.C
deleted file mode 100644
index b98c643d3fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/nested6.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-union A {
- struct B { };
- A::B b; // gets bogus error
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/nested7.C b/gcc/testsuite/g++.old-deja/g++.jason/nested7.C
deleted file mode 100644
index 43cce238546..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/nested7.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Testcase for defining nested types separately.
-// Build don't link:
-
-class remote
-{
- class remote_file;
-};
-
-class remote::remote_file
-{
-public:
- ~remote_file();
-};
-
-remote::remote_file::~remote_file()
-{}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/nested8.C b/gcc/testsuite/g++.old-deja/g++.jason/nested8.C
deleted file mode 100644
index ff2d659a3fc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/nested8.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-struct A { };
-struct B: public A {
- struct C {
-friend struct B; // gets bogus error - base clause w/o members
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/net.C b/gcc/testsuite/g++.old-deja/g++.jason/net.C
deleted file mode 100644
index be8b962ad80..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/net.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: g++ doesn't instantiate function templates in instantiate_type.
-// Build don't link:
-
-template <class T> void fn (T t) { }
-template <class T> struct A {
- void (*p)(T);
- A() { p = fn; }
-};
-
-A<int> a;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/net2.C b/gcc/testsuite/g++.old-deja/g++.jason/net2.C
deleted file mode 100644
index 8738eade438..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/net2.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Test of various ?: problems.
-
-class D
-{
-public:
- void a();
- void b();
- D(int i):x(i) {}
-private:
- int x;
-};
-
-void D::a() {++x;}
-void D::b() {--x;}
-
-
-int aa=1, bb=0;
-
-int fa() {return 0;}
-int fb() {return 2;}
-
-int main(int argc, char* argv[])
-{
- typedef int* pi;
- int* p = (argc == 1)? &aa: &bb;
- *p = 0;
-
- typedef int (*ifptr)();
- ifptr fp = (argc == 1)? fa: fb;
- aa = fp();
-
- D d(0);
- typedef void (D::*dmem)();
- dmem mfp = (argc == 1)? &D::a: &D::b;
- (d.*mfp)();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/new.C b/gcc/testsuite/g++.old-deja/g++.jason/new.C
deleted file mode 100644
index ce865696078..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/new.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Bug: new doesn't make sure that the count is an integral value.
-
-#include <new>
-extern "C" int printf (const char *, ...);
-extern "C" void *malloc (size_t);
-size_t s;
-
-void * operator new (size_t siz) throw (std::bad_alloc) {
- if (s == 0)
- s = siz;
- else
- s = (s != siz);
- return malloc (siz);
-}
-
-int main()
-{
- s = 0;
-
- float f = 3;
- int* b1 = new int[(int)f];
- int* b2 = new int[f]; // ERROR - new requires integral size
-
- return s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/new2.C b/gcc/testsuite/g++.old-deja/g++.jason/new2.C
deleted file mode 100644
index ed4f68d9f31..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/new2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// PRMS Id: 6267
-// Special g++ Options: -Wno-deprecated -fthis-is-variable -fno-exceptions
-
-struct A {
- int i;
- A() { i = 2; }
-};
-
-main()
-{
- A *p = new A ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/new3.C b/gcc/testsuite/g++.old-deja/g++.jason/new3.C
deleted file mode 100644
index 9bf944c8c08..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/new3.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// PRMS Id: 6037
-// Special g++ Options: -fcheck-new -pedantic
-
-extern "C" void * malloc (__SIZE_TYPE__);
-
-int ena = 0;
-
-struct A {
- int i;
- A () { i = 2; }
- void * operator new (__SIZE_TYPE__ s)
- {
- if (ena)
- return 0; // WARNING - returning NULL
- return malloc (s);
- }
-};
-
-struct B {
- int i;
- B () { i = 2; }
- void * operator new (__SIZE_TYPE__ s) throw()
- {
- if (ena)
- return 0;
- return malloc (s);
- }
-};
-
-int main ()
-{
- ena = 1;
- A *ap = new A;
- B *bp = new B;
-
- return ap || bp ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/new4.C b/gcc/testsuite/g++.old-deja/g++.jason/new4.C
deleted file mode 100644
index ba8af272cb5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/new4.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Special g++ Options: -fcheck-new
-
-struct A {
- A(): i(42) { }
- A(int j): i(j) { }
- int i;
-};
-
-A* ap = new A (1);
-A* ap2 = new A[3];
-
-main ()
-{
- if (ap->i != 1 || ap2[0].i != 42 || ap2[1].i != 42 || ap2[2].i != 42)
- return 1;
-
- A* ap = new A (1);
- A* ap2 = new A[3];
-
- if (ap->i != 1 || ap2[0].i != 42 || ap2[1].i != 42 || ap2[2].i != 42)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/new5.C b/gcc/testsuite/g++.old-deja/g++.jason/new5.C
deleted file mode 100644
index 87279fd7009..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/new5.C
+++ /dev/null
@@ -1,5 +0,0 @@
-int main ()
-{
- const int *p = new const int (0);
- delete p;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/offset1.C b/gcc/testsuite/g++.old-deja/g++.jason/offset1.C
deleted file mode 100644
index d4fd38b70dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/offset1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// PRMS Id: 5070 (testcase 1)
-// Build don't link:
-
-struct foo {
- foo(int x = 0) {};
- int IsAlive(void) { return 1; }
-};
-
-struct xx {
- int IsOk(int X);
- foo a;
-};
-
-int xx::IsOk(int X)
-{
- return ((xx::a).IsAlive()); // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/offset2.C b/gcc/testsuite/g++.old-deja/g++.jason/offset2.C
deleted file mode 100644
index a598d433431..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/offset2.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// PRMS Id: 5070 (testcase 2)
-
-int status = 1;
-
-struct foo {
- foo& operator= (const foo&) { status = 0; }
-};
-
-struct xx {
- foo a;
-};
-
-struct yy : public xx {
- yy(foo& a) { xx::a = a; }
-};
-
-int main()
-{
- foo f;
- yy y (f);
-
- return status;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/offset3.C b/gcc/testsuite/g++.old-deja/g++.jason/offset3.C
deleted file mode 100644
index d980ba1fcd0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/offset3.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// PRMS Id: 5070 (bug 2)
-// Build don't link:
-
-struct A {
- void f ();
-};
-
-struct Ptr {
- A* operator->();
-};
-
-struct B {
- Ptr p;
-};
-
-struct C: public B {
- void g ();
-};
-
-void C::g() {
- B::p->f(); // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/offset4.C b/gcc/testsuite/g++.old-deja/g++.jason/offset4.C
deleted file mode 100644
index 2a5049105a4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/offset4.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ complains about the use of A::p below.
-// Build don't link:
-
-struct A {
- void *p;
-};
-
-struct B: public A {
- int f ()
- {
- if (A::p)
- return 1;
- return 0;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq.C
deleted file mode 100644
index ac099a4a667..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/opeq.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// PRMS Id: 4297 (related to 3525)
-// Bug: Generating default op= didn't set TYPE_HAS_ASSIGNMENT, so it wasn't
-// found.
-
-extern "C" int printf (char *, ...);
-
-class Y
-{
-public:
- Y(char*) {}
- Y& operator = (const Y&) {}
-};
-
-
-class X
-{
-public:
- X(int v, char* m) : _v(v), _m (m) {}
- X () : _v(0), _m("Unknown") {}
- // Defining our own op= here makes things work correctly.
-
-private:
- int _v;
- int _m4;
- // Adding more members here increases the count on u.
- Y _m;
-};
-
-const X sPassed (1, "Passed"), sFailed (-1, "Failed");
-
-int main (int, char**)
-{
- X result;
- int u = 0;
- result = (u++ ? sPassed : sFailed);
- if (u == 1)
- return 0;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq2.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq2.C
deleted file mode 100644
index 9e91ab3ae0f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/opeq2.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Bug: default operator= is not being generated properly.
-// PRMS Id: 3525
-// Build don't link:
-
-struct ccUnwind
-{
- ccUnwind& operator = (const ccUnwind&);
-};
-
-struct ccEllipseUnit
-{
- ccEllipseUnit () {}
-};
-
-struct ccEllipse : ccUnwind
-{
- ccEllipse ();
- ccEllipse (const ccEllipseUnit&);
-
-};
-
-void foo ()
-{
- ccEllipse e;
- e = ccEllipseUnit(); // gets bogus error - assignment not defined
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C
deleted file mode 100644
index e290f7a21ba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ generates code for assignment in invalid situations.
-// Build don't link:
-
-class X {
- int& a;
-public:
- X(int& i): a(i) { };
-};
-
-void foo ()
-{
- int one=1, two=2;
- X a(one), b(two);
- a = b; // ERROR - no assignment semantics defined
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq4.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq4.C
deleted file mode 100644
index d993d83ab9d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/opeq4.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// PRMS Id: 4329
-// Bug: default op= gives an warning about casting away volatile.
-// Build don't link:
-
-struct foo
-{
- volatile int bar[2];
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq5.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq5.C
deleted file mode 100644
index 90996e96998..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/opeq5.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Testcase for tricky synthesized op= in complex inheritance situation.
-// This used to test whether the virtual base was copy-assigned only once.
-// That feature is not required by ISO C++, so the test now only checks
-// whether the vbase is assigned at all.
-
-int count = 0;
-extern "C" int printf (const char *, ...);
-
-class A {
- public:
- A& operator = (const A&) { count++; return *this; }
-};
-
-class B: virtual private A { };
-class C: virtual public A { };
-class D: public B, public C { };
-
-int main()
-{
- D a, b;
- a = b;
- printf ("%d\n",count);
- if (count == 0)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq6.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq6.C
deleted file mode 100644
index 62be499c56d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/opeq6.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Testcase for wrongful generation of operator =.
-// Build don't link:
-
-class ivResource {
-public:
- ivResource ();
-private:
- ivResource & operator =(const ivResource &);
-};
-
-class ivButtonState : virtual public ivResource {
-public:
- void operator=(ivButtonState &);
-};
-
-class ivPrintBS : public ivButtonState {
-};
-
-void f ()
-{
- ivPrintBS a, b;
- a = b;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/operator.C b/gcc/testsuite/g++.old-deja/g++.jason/operator.C
deleted file mode 100644
index bd21e378e14..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/operator.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// General test for operator overloading permissiveness.
-// Build don't link:
-// Special g++ Options:
-
-typedef __SIZE_TYPE__ size_t;
-
-struct A {
- int operator?:(int a, int b); // WARNING -
- static int operator()(int a); // ERROR - must be nonstatic
- static int operator+(A,A); // ERROR - must be nonstatic
- int operator+(int a, int b = 1); // ERROR - two errors on this line
- int operator++(char); // ERROR - must take 'int'
- void operator delete (void *);
- void operator delete (void *, unsigned long);
-};
-
-struct B {
- void * operator new (size_t, void *);
- int operator++(int = 0);
- int operator+ (int);
- void operator()();
- char * operator[](int);
- B * operator->();
-};
-
-int operator-(int a, int b); // ERROR - no class argument
-
-void * operator new (A a); // ERROR - invalid first argument
-void operator delete (A a); // ERROR - ditto
-
-char * operator char * (int); // ERROR - return value, nonmember
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/operator2.C b/gcc/testsuite/g++.old-deja/g++.jason/operator2.C
deleted file mode 100644
index 477616086a2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/operator2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// PRMS Id: 6018
-// Build don't link:
-
-class string {
- char *p;
-public:
- string(const char* s) ;// { p == s; }
- operator const char*() ;// { return s; }
-};
-
-void f4(string& s)
-{
- *s; // implies "s.operator const char*()"
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opover.C b/gcc/testsuite/g++.old-deja/g++.jason/opover.C
deleted file mode 100644
index f4a3213f0d3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/opover.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ prefers a non-matching operator== over user-defined conversions
-// and a default operator==.
-// Build don't link:
-
-struct A {
- operator int ();
-};
-
-struct B {
- friend int operator== (B, int);
-};
-
-int foo (A& a) {
- return a == 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/optimize.C b/gcc/testsuite/g++.old-deja/g++.jason/optimize.C
deleted file mode 100644
index 1f554e21935..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/optimize.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Bug: g++ claims that control can fall off the end of these functions.
-// PRMS Id: 4943
-// Special g++ Options: -O -pedantic-errors
-// Build don't link:
-
-struct A {
- A();
- A(const A&);
- A& operator= (const A&);
- ~A();
-};
-
-int f ()
-{
- A a[2];
- return 1;
-} // gets bogus error - jump_optimize
-
-int g ()
-{
- A a;
- return 1;
-} // gets bogus error - jump_optimize
-
-struct B {
- B();
- B(const B&);
- B& operator= (const B&);
- ~B();
-};
-
-inline B::~B()
-{
- int i = 2;
- while (i--) ;
-}
-
-int h ()
-{
- B b;
- return 1;
-} // gets bogus error - jump_optimize
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/optimize2.C b/gcc/testsuite/g++.old-deja/g++.jason/optimize2.C
deleted file mode 100644
index 0d4e17752c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/optimize2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Used to crash on the alpha with optimization.
-// Special g++ Options: -w
-
-struct Fix {
- unsigned short l;
-};
-
-static inline void f (int len)
-{
- if (len > 65535)
- abort ();
-}
-
-struct Fix a = { 33 };
-
-main()
-{
- f (a.l);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload.C b/gcc/testsuite/g++.old-deja/g++.jason/overload.C
deleted file mode 100644
index bc41672c3e5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed overloading
-enum bar {};
-
-void operator+ (int, int);// ERROR - .*
-void operator+ (bar&, int);
-
-template <class T> void operator+ (int b, T& t) { return b; }
-void operator+ (int, bar&);
-
-template <class T> class foo
-{
-public:
- friend void operator+ <> (int, T&);
-};
-
-class baz;
-
-class foo<int>;
-class foo<baz>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload1.C b/gcc/testsuite/g++.old-deja/g++.jason/overload1.C
deleted file mode 100644
index e29a7c16b91..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: g++ thinks there is a conversion from void * to B *.
-// Build don't link:
-
-struct A {
- operator void* ();
-};
-
-struct B: public A { };
-
-void bar (A& a) {
- B* bp = (B*)a; // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload10.C b/gcc/testsuite/g++.old-deja/g++.jason/overload10.C
deleted file mode 100644
index cd18382b79f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload10.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// PRMS Id: 4257 (second bug)
-// Bug: g++ fails to recognize multiple previous instantiations of a function
-// template.
-// Build don't link:
-// Special g++ Options: -fguiding-decls
-
-template <class T>
-class A {
- int i;
-
- friend int foo (A<T>&);
-};
-
-template <class T> int foo (A<T>& a) { return a.i; }
-
-A<int> a;
-A<char> dummy;
-
-void bar ()
-{
- foo (a); // gets bogus error - two foo(A<int>&)'s
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload11.C b/gcc/testsuite/g++.old-deja/g++.jason/overload11.C
deleted file mode 100644
index f5ed01ef1b4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload11.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// PRMS Id: 4697
-// Bug: g++ calls the non-const method for a const object.
-
-class A {
-public:
- void foo(int &i) const { i = 0; }
- void foo(int &i) { i = 1; }
-};
-
-int main()
-{
- A a;
- const A& b = a;
- int i = 2;
- b.foo (i);
- return i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload12.C b/gcc/testsuite/g++.old-deja/g++.jason/overload12.C
deleted file mode 100644
index 61d3740ed41..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload12.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// PRMS Id: 4066
-// Bug: g++ doesn't notice the const on reference returns.
-
-struct B {
- int foo() { return 1; }
- int foo() const { return 0; }
-};
-
-B b_;
-const B &b () { return b_; }
-
-int main()
-{
- return b().foo();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload13.C b/gcc/testsuite/g++.old-deja/g++.jason/overload13.C
deleted file mode 100644
index 6b5ca0fa93d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload13.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Bug: g++ screws up derived->base conversions when calling a global function
-// in the presence of matching members in the base. Whew.
-
-struct xios {
- virtual ~xios() { }
-};
-
-struct xistream: virtual public xios {
- int j;
- void operator>>(char&);
-};
-
-struct xfstreambase: virtual public xios { };
-
-struct xifstream: public xfstreambase, public xistream { };
-
-void operator>>(xistream& i, int j)
-{
- i.j = 0;
-}
-
-int main() {
- int i;
- xifstream ifs;
-
- ifs >> i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload14.C b/gcc/testsuite/g++.old-deja/g++.jason/overload14.C
deleted file mode 100644
index 6a5d3dc2d5a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload14.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: g++ fails to recognize that the template matches the target type.
-// Build don't link:
-
-template <class T> void foo (T *, int);
-
-struct A;
-void bar ()
-{
- void (*p)(A *, int) = &foo;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload15.C b/gcc/testsuite/g++.old-deja/g++.jason/overload15.C
deleted file mode 100644
index 779de722c41..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload15.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: g++ thinks that int->long is a promotion.
-// Build don't link:
-
-long f (long, long);
-double f (double, double);
-
-void g (double d)
-{
- f (d, 0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload16.C b/gcc/testsuite/g++.old-deja/g++.jason/overload16.C
deleted file mode 100644
index 34237bc4c67..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload16.C
+++ /dev/null
@@ -1,6 +0,0 @@
-void f (int); // ERROR -
-void f (long); // ERROR -
-int main()
-{
- f (1 & 0xffffff00UL); // ERROR - ambiguous
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload17.C b/gcc/testsuite/g++.old-deja/g++.jason/overload17.C
deleted file mode 100644
index 65738482844..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload17.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: g++ fails to prefer UDC's alone to UDC's plus standard conversions.
-// Build don't link:
-
-struct B { };
-struct D: public B { };
-struct DP {
- operator D * () const;
- operator double () const;
-};
-
-void f (B *);
-void f (D *);
-void g (double);
-void g (float);
-
-void h (DP p)
-{
- f (p);
- g (p);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload18.C b/gcc/testsuite/g++.old-deja/g++.jason/overload18.C
deleted file mode 100644
index d4d9ec14b7e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload18.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// pushdecl gets confused by this.
-// Build don't link:
-
-void f ();
-void f (int, int);
-template <class T> T f (T) { }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload19.C b/gcc/testsuite/g++.old-deja/g++.jason/overload19.C
deleted file mode 100644
index ad5817565fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload19.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// PRMS Id: 4689
-// Bug: g++ doesn't notice operators overloaded on enumeral types.
-
-enum E { A=5, B=32, C=100 };
-
-E operator|(E a, E b) { return C; };
-
-int main()
-{
- return (A|B) != C;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload2.C b/gcc/testsuite/g++.old-deja/g++.jason/overload2.C
deleted file mode 100644
index 56419425383..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: foo and bar are considered to be overloaded (i.e. their
-// IDENTIFIER_GLOBAL_VALUES are TREE_LISTs) even though they aren't,
-// so ?: thinks it can't resolve the names.
-// Build don't link:
-
-void foo ();
-void bar ();
-
-void baz ()
-{
- void (*p)() = 1 ? foo : bar; // gets bogus error - wrongful overloading
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload20.C b/gcc/testsuite/g++.old-deja/g++.jason/overload20.C
deleted file mode 100644
index 998f6a7466c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload20.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: this code causes an internal compiler error 4.
-
-void f (char *);
-void f (int);
-struct A {
- void f (); // ERROR - candidate
- void f (int); // ERROR - candidate
- void g () {
- void (*p)(char *) = f; // ERROR - no matching function in scope
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload21.C b/gcc/testsuite/g++.old-deja/g++.jason/overload21.C
deleted file mode 100644
index dc2f69ee908..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload21.C
+++ /dev/null
@@ -1,12 +0,0 @@
-struct X {
- void f (int = 4, char = 'r'); // ERROR -
- void g (int = 4, char = 'r'); // ERROR -
-};
-
-void
-X::f (int i = 4, char x = 'r')
-{ } // ERROR - duplicate default args
-
-void
-X::g (int i = 9, char x = 's')
-{ } // ERROR - duplicate default args
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload22.C b/gcc/testsuite/g++.old-deja/g++.jason/overload22.C
deleted file mode 100644
index fd7276a473b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload22.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// PRMS Id: 4574
-// Bug: g++ prefers int to double for float& argument
-// Build don't link:
-
-inline double abs (double x) { return x;}
-inline int abs (int i) { return i; }
-
-float& fn(float& f)
-{
- return f;
-}
-
-void foo()
-{
- float f = 23.45;
- abs(fn(f)); // gets bogus warning
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload23.C b/gcc/testsuite/g++.old-deja/g++.jason/overload23.C
deleted file mode 100644
index 21cda3a14dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload23.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// From: panisset@cae.ca (Jean-Francois Panisset)
-// Date: Mon, 6 Jun 94 13:39:25 EDT
-// Subject: Problem with operator overloading
-
-// Build don't link:
-
-class ostream {
-public:
- ostream& operator<<(double n);
- ostream& operator<<(float n);
-};
-
-class X
-{
-public:
- operator long() const;
- operator double() const;
-};
-ostream& operator<< (ostream& os, const X& x);
-
-
-int main()
-{
- X x;
- ostream os;
- os << x; // gets bogus error - converting to float
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload24.C b/gcc/testsuite/g++.old-deja/g++.jason/overload24.C
deleted file mode 100644
index 0a12b001f78..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload24.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// PRMS Id: 5124
-// Bug: g++ promotes bar to int* too soon and the call to f fails.
-// Build don't link:
-
-typedef int arr[1];
-
-struct A {
- void f(void);
- void f(arr &);
-
- void g(void);
- void g(int *);
-
- void h(void);
-};
-
-
-void A::h(void)
-{
- arr bar;
- f(bar);
- g(bar);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload26.C b/gcc/testsuite/g++.old-deja/g++.jason/overload26.C
deleted file mode 100644
index 0c15668af6b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload26.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Bug: g++ tries to build up a mangled name for its ideal match, which
-// fails for one call below.
-// Build don't link:
-
-extern const char foo[];
-extern const char baz[10];
-extern const char *fred;
-
-struct A {
- void f(const char *);
-} *a;
-
-void bing(const char *);
-int main ()
-{
- a->f(foo); // gets bogus error because foo's size unknown.
- a->f(baz);
- a->f(fred);
- bing(fred);
- bing(foo);
- bing(baz);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload27.C b/gcc/testsuite/g++.old-deja/g++.jason/overload27.C
deleted file mode 100644
index 123018dd1b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload27.C
+++ /dev/null
@@ -1,7 +0,0 @@
-void f(const int &) { }
-void f(const float &);
-
-int main()
-{
- f(false); // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload28.C b/gcc/testsuite/g++.old-deja/g++.jason/overload28.C
deleted file mode 100644
index 265c523f816..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload28.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// PRMS Id: 6056
-
-struct Foo {
- Foo() { } // ERROR - candidate
- Foo(int i = 25) { } // ERROR - candidate
-};
-
-int main()
-{
- Foo* f1 = new Foo(); // ERROR - ambiguous
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload29.C b/gcc/testsuite/g++.old-deja/g++.jason/overload29.C
deleted file mode 100644
index ecd43592b08..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload29.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Bug: we get an error trying to build up our ideal candidate.
-// Build don't link:
-
-class C {
- public:
- C( const char * );
-};
-
- extern const char c1[];
-
-void f2( const char * );
-
-void f1() {
- C *fntp = new C(c1); // Line 10
- f2( c1 );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload3.C b/gcc/testsuite/g++.old-deja/g++.jason/overload3.C
deleted file mode 100644
index 63b175e70df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: bar is considered to be overloaded (i.e. its
-// IDENTIFIER_GLOBAL_VALUES are TREE_LISTs) even though it isn't,
-// so default_conversion thinks it can't resolve the name.
-// Build don't link:
-
-void foo ();
-void bar ();
-
-void baz ()
-{
- void (*p)() = 1 ? (void (*)()) &foo : bar;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload30.C b/gcc/testsuite/g++.old-deja/g++.jason/overload30.C
deleted file mode 100644
index 24485c5851d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload30.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// PRMS Id: 6412
-// Build don't link:
-
-class Foo;
-
-template <class F>
-class Temp
-{
- F func_;
-public:
- Temp (F f) : func_(f) {}
-};
-
-template <class T>
-T* func1 (T* t) { return t; }
-
-Temp<Foo*(*)(Foo*)> temp2(func1);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload31.C b/gcc/testsuite/g++.old-deja/g++.jason/overload31.C
deleted file mode 100644
index e45d802033f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload31.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// PRMS Id: 6568
-// Bug: g++ complains about the ambiguous conversion to bool even though
-// we wouldn't end up using it anyway.
-// Build don't link:
-
-class AString
-{
-public:
- AString (unsigned len);
- operator char *() const;
- operator char const *() const;
-};
-
-void
-foo(unsigned t, AString const & handle)
-{
-}
-
-void
-foo(AString const & handle, bool includeSpecials)
-{
- unsigned t;
- foo(t, handle);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload32.C b/gcc/testsuite/g++.old-deja/g++.jason/overload32.C
deleted file mode 100644
index 95f251d6664..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload32.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// PRMS Id: 7128
-// Build don't link:
-
-class B {};
-
-class D : public B {};
-
-class X {
- public:
- operator const B & () const;
- operator const D & () const;
-};
-
-void f( const D & );
-
-void g( const X & x )
-{
- f( x );
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload33.C b/gcc/testsuite/g++.old-deja/g++.jason/overload33.C
deleted file mode 100644
index 8b5bb4a34ae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload33.C
+++ /dev/null
@@ -1,78 +0,0 @@
-// PRMS ID: 7507
-// Build don't link:
-
-/* ------------------------------------------------------------ */
-
-class Base0
-{
-public:
- Base0() {}
- virtual ~Base0() {}
-};
-
-class Base1
-{
-public:
- Base1() {}
- virtual ~Base1() {}
-};
-
-class Derived : public Base0, public Base1
-{
-public:
- Derived() {}
- virtual ~Derived() {}
-};
-
-/* ------------------------------------------------------------ */
-
-class Dummy
-{
- public:
- Dummy(Base0 * theBase) {}
- ~Dummy() {}
-};
-
-/* ------------------------------------------------------------ */
-
-template<class T>
-class ConstSmartPtr
-{
- T* myItem; // private
-
- public:
- ConstSmartPtr(T const* theItem);
-
- operator T const*() const
- { return myItem; }
- protected:
- T* _item() const
- { return myItem; }
-};
-
-template<class T>
-class SmartPtr : public ConstSmartPtr<T>
-{
- public:
- SmartPtr(T* theItem)
- : ConstSmartPtr<T>(theItem) {}
-
- T* item() const
- { return _item(); }
-
- operator T*() const
- { return _item(); }
-};
-
-/* ------------------------------------------------------------ */
-
-void
-function()
-{
- SmartPtr<Derived> myObj = new Derived();
-
- Dummy th1(myObj); // Doesn't work under Cygnus
- Dummy th2((Base0 *) myObj); // Doesn't work either
-}
-
-/* ------------------------------------------------------------ */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload34.C b/gcc/testsuite/g++.old-deja/g++.jason/overload34.C
deleted file mode 100644
index 871c35aea93..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload34.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// PRMS ID: 8010
-// Build don't link:
-
-class X {
- int & flag;
-public:
- void f(){ flag++ ; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload35.C b/gcc/testsuite/g++.old-deja/g++.jason/overload35.C
deleted file mode 100644
index bb6e436f2dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload35.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// PRMS Id: 9647
-// Build don't link:
-
-class castBug
-{
-public:
- operator int *();
- operator const int *() const;
-};
-
-class castBug2
-{
-public:
- operator const int *() const;
-};
-
-void voidfn(void *);
-
-void test()
-{
- castBug b;
- castBug2 b2;
- voidfn(b); // gets bogus error
- voidfn(b2); // ERROR - discarding const
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload36.C b/gcc/testsuite/g++.old-deja/g++.jason/overload36.C
deleted file mode 100644
index f5e6fb61dc3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload36.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Test for subsequence checking in overload resolution.
-
-class foo {
-public:
- void operator <<(char *) { }
- void operator <<(const char * const &);
-};
-
-int
-main()
-{
- char s[20];
- foo f;
- f << s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload4.C b/gcc/testsuite/g++.old-deja/g++.jason/overload4.C
deleted file mode 100644
index 1da0ff0a454..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload4.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Testcase for simple overloading resolution.
-// Build don't link:
-
-void foo (int);
-void foo (int, int);
-
-void bar ()
-{
- foo (1);
- foo (1, 2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload5.C b/gcc/testsuite/g++.old-deja/g++.jason/overload5.C
deleted file mode 100644
index 8702bbb26ea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload5.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Testcase for simple overloading resolution.
-
-int foo (); // ERROR -
-void foo (); // ERROR - disallowed overload
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload6.C b/gcc/testsuite/g++.old-deja/g++.jason/overload6.C
deleted file mode 100644
index 3ae96428389..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ thinks there is a default conversion from void* to B*.
-// There isn't.
-// Build don't link:
-
-struct A {
- operator void* ();
-};
-
-struct B { };
-
-void foo (B* bp);
-
-void bar (A& a) {
- foo (a); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload7.C b/gcc/testsuite/g++.old-deja/g++.jason/overload7.C
deleted file mode 100644
index 361150569c9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload7.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ thinks there is a default conversion from A& to B*.
-// There isn't.
-// Build don't link:
-
-struct A {
- operator A* ();
-};
-
-struct B: public A { };
-
-void foo (B* bp);
-
-void bar (A& a) {
- foo (a); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload8.C b/gcc/testsuite/g++.old-deja/g++.jason/overload8.C
deleted file mode 100644
index 9b605f8bce7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload8.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Bug: g++ fails to catch the ambiguity below.
-// Build don't link:
-
-struct A {
- operator int () { return 1; };
- operator int &() { return 1; }; // ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload9.C b/gcc/testsuite/g++.old-deja/g++.jason/overload9.C
deleted file mode 100644
index 5b832fbc5f1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/overload9.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// PRMS Id: 4257
-// Bug: g++ ignores non-member possibilities (ideal_candidate_ansi bug)
-// Build don't link:
-
-class ostream
-{
-public:
-#ifdef EITHER_ONE_A
- ostream& operator<<(unsigned long n);
- ostream& operator<<(long n);
-#else
- ostream& operator<<(short n);
- ostream& operator<<(unsigned short n);
-#endif
-};
-
-class ccObjectInfo {};
-
-ostream& operator << (ostream& out, const ccObjectInfo& obj);
-
-class ccString : public ccObjectInfo
-{
-#ifdef EITHER_ONE_B
- operator int () const;
-#else
- operator long () const;
-#endif
-};
-
-// Should pick this one!!
-ostream& operator << (ostream& o, const ccString & s);
-
-extern ostream cout;
-
-void f ()
-{
- ccString foo;
- cout << foo;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse1.C b/gcc/testsuite/g++.old-deja/g++.jason/parse1.C
deleted file mode 100644
index a5ba83c78eb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Bug: g++ parses the declaration of r as a function declaration.
-// Build don't link:
-
-void foo (int i)
-{
- int &r (i);
- r = 1; // gets bogus error -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse10.C b/gcc/testsuite/g++.old-deja/g++.jason/parse10.C
deleted file mode 100644
index b67633695c3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse10.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Testcase for precedence of ?: wrt =
-
-extern "C" int printf (const char *, ...);
-
-int main()
-{
- int j = 0, k = 0;
- 1 ? j : k = 5; // should be parsed 1 ? j : (k = 5)
- (void) (1 ? k = 5 : 0);
- k = 5 ? 1 : 0; // should be parsed k = (5 ? 1 : 0)
-
- printf ("%d %d\n", j, k);
-
- return j == 5 || k == 5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse11.C b/gcc/testsuite/g++.old-deja/g++.jason/parse11.C
deleted file mode 100644
index e9f285cee8d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse11.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// PRMS Id: 6825
-// Build don't link:
-
-class aClass
-{
- ;
-private:
- ; // This line causes problems
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse12.C b/gcc/testsuite/g++.old-deja/g++.jason/parse12.C
deleted file mode 100644
index eb71775bcf0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse12.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// PRMS Id: 6821
-
-struct A {
- int operator()(int i) { return i; }
-};
-
-struct B {
- A* p;
- int f () { return (*p)(42); } // gets bogus error
-};
-
-int main ()
-{
- B b = { new A };
-
- return b.f () != 42;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse13.C b/gcc/testsuite/g++.old-deja/g++.jason/parse13.C
deleted file mode 100644
index 0ffef983e70..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse13.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-struct A {
- struct B {};
- struct C;
-};
-
-struct A :: C : A :: B {}; // gets bogus error - parse error before `:'
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse14.C b/gcc/testsuite/g++.old-deja/g++.jason/parse14.C
deleted file mode 100644
index 20fcc47dbf8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse14.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: g++ decides that A::foo is introducing a constructor declarator.
-// Build don't link:
-
-struct A {
- typedef bool foo;
-};
-
-A::foo (*bar) ();
-
-struct B {
- A::foo (*bar) ();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse2.C b/gcc/testsuite/g++.old-deja/g++.jason/parse2.C
deleted file mode 100644
index 71be1f4aa22..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse2.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug: g++ doesn't understand constructor syntax for pointers.
-// Build don't link:
-
-void f () {
- char * p (0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse3.C b/gcc/testsuite/g++.old-deja/g++.jason/parse3.C
deleted file mode 100644
index 16f99aaa2de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse3.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// PRMS Id: 4484 (bug 2)
-// Bug: g++ does not grok abstract declarator syntax for method pointers.
-// Build don't link:
-
-template <class T> class A { };
-void (A<int>::*p)() = (void (A<int>::*)())0; // gets bogus error - abstract declarator failure
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse4.C b/gcc/testsuite/g++.old-deja/g++.jason/parse4.C
deleted file mode 100644
index 95e0f441c73..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse4.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Bug: g++ doesn't handle superfluous parentheses when redeclaring a TYPENAME.
-// Build don't link:
-
-typedef int foo;
-class A {
- typedef int ((foo)); // gets bogus error -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse5.C b/gcc/testsuite/g++.old-deja/g++.jason/parse5.C
deleted file mode 100644
index 519deb2867a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse5.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: foo (bar) should be a declaration of a static data member, not a
-// function; it's getting caught by the rules for constructors.
-// Build don't link:
-
-typedef int foo;
-typedef int bar;
-struct A {
- static foo (bar); // gets bogus error
-};
-
-int i = A::bar; // gets bogus error
-int (*fp)(bar) = A::foo; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse6.C b/gcc/testsuite/g++.old-deja/g++.jason/parse6.C
deleted file mode 100644
index 677dbe2cb3f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// PRMS id: 4653
-// Bug: g++ tries to resolve declarator/expression ambiguities too soon.
-// Build don't link:
-
-template<class T> struct A { };
-
-void f () {
- void (A<int>::*pmf) (); // gets bogus error - late binding
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse7.C b/gcc/testsuite/g++.old-deja/g++.jason/parse7.C
deleted file mode 100644
index bd9744c8315..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse7.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Bug: g++ tries to parse this as a constructor.
-// Build don't link:
-
-typedef int foo;
-struct A {
- foo (*bar)();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse8.C b/gcc/testsuite/g++.old-deja/g++.jason/parse8.C
deleted file mode 100644
index 1ed9de76040..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse8.C
+++ /dev/null
@@ -1,2 +0,0 @@
-// Build don't link:
-void foo(const int* const); // gets bogus error
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/parse9.C b/gcc/testsuite/g++.old-deja/g++.jason/parse9.C
deleted file mode 100644
index da66fea7887..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/parse9.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// PRMS Id: 5720
-// Bug: the extra set of parens confuses the expr/declarator disambiguation.
-
-class Fu
-{
- int val;
-public:
- Fu(int i) : val(i) { };
- void print() { }
-};
-
-int main(int argc, char * argv[])
-{
- int * i = &argc;
-
- Fu((*i)).print(); // gets bogus error
- Fu((*j));
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmem.C b/gcc/testsuite/g++.old-deja/g++.jason/pmem.C
deleted file mode 100644
index 76e873255ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmem.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: g++ parses the declaration of 'char A::* foo' below as a
-// declaration of 'char A'.
-// Build don't link:
-
-class A { };
-typedef int foo;
-void f ()
-{
- char A::* foo;
- foo = 0; // gets bogus error - parsing blunder
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmem2.C b/gcc/testsuite/g++.old-deja/g++.jason/pmem2.C
deleted file mode 100644
index 99adf1c143f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmem2.C
+++ /dev/null
@@ -1,43 +0,0 @@
-template <class Called>
-class aCallback
-{
-public:
- aCallback(Called& obj, int (Called::*met)());
-
- int callback();
-
-protected:
-
-private:
- Called& object;
-
- int (Called::*method)();
-
-};
-
-template <class Called>
-aCallback<Called>::aCallback(Called& obj,
- int (Called::*met)()) :
-object(obj),
-method(met)
-{};
-
-template <class Called>
-int aCallback<Called>::callback()
-{
- return (object.*method)();
-}
-
-struct myStruct
-{
- int action() {return 0;};
-};
-
-int main()
-{
- myStruct toto;
-
- aCallback<myStruct> cb(toto, &myStruct::action);
-
- return cb.callback();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmem3.C b/gcc/testsuite/g++.old-deja/g++.jason/pmem3.C
deleted file mode 100644
index a780c2371d8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmem3.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Test that comparison of pointers to members does not complain about
-// contravariance violation.
-
-struct A { int i; };
-struct B : public A { int j; int f (); };
-int main ()
-{
- int A::*apm = &A::i;
- int B::*bpm = apm;
- return apm != bpm;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmem4.C b/gcc/testsuite/g++.old-deja/g++.jason/pmem4.C
deleted file mode 100644
index 3ce2bb9fc0b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmem4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-struct X {};
-X& X::*PTM_1; // ERROR - pointer to reference member
-void X::*PTM_2; // ERROR - pointer to void member
-
-struct A {
- static int& ir;
-};
-
-int i;
-int& A::ir = i; // not an error
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf.C
deleted file mode 100644
index 677363995b7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// PRMS Id: 4333
-// Bug: g++ can't deal with casts to pointer to member function.
-// Build don't link:
-
-class A { };
-typedef void (A::* pmf)();
-void foo () { (pmf) 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf2.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf2.C
deleted file mode 100644
index 7ebb23b095f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// PRMS Id: 4484 (bug 3)
-// Bug: g++ does implicitly take the address of methods passed to fns.
-// Build don't link:
-
-struct A {
- void f ();
-};
-
-void g (void (A::*)());
-
-void h () {
- g (A::f); // ERROR - failed conversion to method pointer
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf3.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf3.C
deleted file mode 100644
index 4d4d6ef237f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// From: enewton@uunet.uu.NET
-// Subject: g++ 2.5.8: cannot cast member function pointers
-// Date: 27 Jan 1994 01:22:56 -0500
-// Build don't link:
-
-struct A {
- void f(char);
- void g(int);
-};
-
-typedef void (A::*Ptr)(char);
-
-void q() {
- Ptr p;
-
- p = (Ptr) &A::f;
- p = (Ptr) &A::g;
- p = &A::f;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf4.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf4.C
deleted file mode 100644
index a0af9f41289..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf4.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// PRMS Id: 4484 (bug 5)
-// Bug: g++ can't convert between pmf types.
-// Build don't link:
-
-class A;
-typedef void (A::*pmf)();
-typedef void (A::*pmfc)() const;
-
-pmfc p = (pmfc)(pmf)0; // gets bogus error - pmf conversion
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C
deleted file mode 100644
index c27bec10f9e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// PRMS Id: 4985
-// Build don't link:
-// Special g++ Options:
-
-struct Thing {
- int OverloadFn() const;
- void FunctionA(char* restOfLine);
- void OverloadFn(char* restOfLine);
-};
-
-struct ThingEntry {
- void (Thing::*_handler)(char* restOfLine);
-};
-
-static ThingEntry KeyWordTable[] = {
- &Thing::FunctionA,
- Thing::OverloadFn,
-}; // WARNING - implicit &
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf6.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf6.C
deleted file mode 100644
index 08e425b7931..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf6.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// PRMS Id: 5656
-// Bug: g++ tries (which is a bug) and fails (which is a bug) to initialize
-// var at runtime.
-// Build don't link:
-
-struct A
-{
- int func(int);
- int func() const;
-};
-int (A::* var) () const = & A::func;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf7.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf7.C
deleted file mode 100644
index 8ef92fbb679..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf7.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// PRMS Id: 6486
-// Make sure that no confused handling of COND_EXPRs and SAVE_EXPRs messes
-// with the number of calls to foo.
-
-int c;
-
-struct A {
- void f () {}
- virtual void g () {}
-};
-
-A& foo ()
-{
- static A a;
- ++c;
- return a;
-}
-
-int main ()
-{
- void (A::*p)() = &A::f;
- (foo ().*p)();
- p = &A::g;
- (foo ().*p)();
-
- return 2 - c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf8.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf8.C
deleted file mode 100644
index 7fccb31cb43..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf8.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// PRMS Id: 6905
-
-class Parent {
-public:
- void DoSomething() { return; };
- int i;
-};
-
-class Child : public Parent {
-public:
-};
-
-class User {
-public:
- void DoAnyThing(void (Parent::*)(void)) { return; }
- void DoAThing(void (Child::*)(void)) { return; }
- void DoAThing(int Child::*) { return; }
-};
-
-
-int main()
-{
- User a;
-
- a.DoAnyThing(&Child::DoSomething);
- a.DoAThing(&Child::DoSomething);
- a.DoAThing(&Parent::DoSomething);
- a.DoAThing(&Parent::i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf9.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf9.C
deleted file mode 100644
index 335cfccb8c0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmf9.C
+++ /dev/null
@@ -1,57 +0,0 @@
-// PRMS id: g++/13340
-// Build don't link:
-
-class rectangle {
-
-public:
- rectangle();
- int overlaps() const;
-
-};
-
-class region
-{
- friend class region_impl;
-
-public:
- region();
- typedef int (region::* region_func)() const;
-
-};
-
-class region_impl {
- friend class region;
-
-private:
- rectangle content, mbb;
- region_impl *link_p;
- region_impl(const rectangle &content);
-
-public:
- int iterate(region *region_p, region::region_func what,
- const rectangle &clip_rect) const;
- int iterate(region *region_p, region::region_func what,
- const region_impl &clip_rgn) const;
-};
-
-
-int
-region_impl::iterate (region *region_p, region::region_func what,
- const rectangle &clip_rect) const
-{
- for (const region_impl *p = this; p != 0 && p->mbb.overlaps();
- p = p->link_p)
- if (p->content.overlaps())
- if (!(region_p->*what)()) return 0;
- return 1;
-}
-
-int
-region_impl::iterate (region *region_p, region::region_func what,
- const region_impl &clip_rgn) const
-{
- for (const region_impl *p = this; p != 0 && p->mbb.overlaps();
- p = p->link_p)
- if (!clip_rgn.iterate(region_p, what, p->content)) return 0;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmftemp.C b/gcc/testsuite/g++.old-deja/g++.jason/pmftemp.C
deleted file mode 100644
index 87d2ed11464..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/pmftemp.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 4484 (bug 1)
-// Bug: g++ does not support templates involving method pointers.
-// Build don't link:
-
-struct A {
- void f ();
-};
-
-template <class T> void
-f (void (T::*p)()) // gets bogus error - use of template parm as aggregate
-{ }
-
-void g ()
-{
- f (&A::f); // gets bogus error - templates and method pointers
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/precedence.C b/gcc/testsuite/g++.old-deja/g++.jason/precedence.C
deleted file mode 100644
index af2dcde85a5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/precedence.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Bug: g++ groups ->* before casts.
-// PRMS Id: 4484 (bug 4)
-// Build don't link:
-
-struct A { };
-struct B : public A { void f (); };
-
-void g ()
-{
- A* ap = new B;
- void (B::*p)() = &B::f;
-
- ((B*)ap->*p)(); // gets bogus error - incorrect precedence
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/redecl1.C b/gcc/testsuite/g++.old-deja/g++.jason/redecl1.C
deleted file mode 100644
index fecace37af4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/redecl1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-class A
-{
-public:
- A (const A& ccref);
- friend A const re (const A& v1); // ERROR -
-};
-
-A // const
-re (const A& ref)
-{ // ERROR - mismatched decls
- return A (ref);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref1.C b/gcc/testsuite/g++.old-deja/g++.jason/ref1.C
deleted file mode 100644
index 590ddf507c9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Bug: g++ tries to call a constructor for a reference. Doh!
-// Build don't link:
-
-class B;
-struct A {
- B & b;
- A (B & x) : b (x) { } // gets bogus error -
-}; // gets bogus error -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref10.C b/gcc/testsuite/g++.old-deja/g++.jason/ref10.C
deleted file mode 100644
index 876ca45dd1e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref10.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Test that conversion from D* to B*& works properly.
-
-extern "C" int printf (const char *, ...);
-
-struct V {
- int a;
-};
-
-struct B: virtual V {
- int b;
-};
-
-struct D: B {
- int c;
-};
-
-V* gp = 0;
-
-void foo(V * const &r) {
- gp = r;
-}
-
-int bar(V *r) {
- return (r != gp);
-}
-
-int main() {
- D *p = new D;
- foo(p);
- return bar(p);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref11.C b/gcc/testsuite/g++.old-deja/g++.jason/ref11.C
deleted file mode 100644
index b8c6f317a10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref11.C
+++ /dev/null
@@ -1,17 +0,0 @@
-int main(int argc, char ** argv) {
-
- int (&var_field_ref)[] = * (int (*)[]) new int [42];
- int (&fix_field_ref)[1] = * (int (*)[1]) new int [42];
-
- int static_field[42];
-
- int *const &var_field_ptr_ref = var_field_ref; // gets bogus error
- int *const &fix_field_ptr_ref = fix_field_ref;
- int *const &static_field_ptr_ref = static_field;
-
- int * var_field_ptr = var_field_ref; // gets bogus error
- int * fix_field_ptr = fix_field_ref;
- int * static_field_ptr = static_field;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref12.C b/gcc/testsuite/g++.old-deja/g++.jason/ref12.C
deleted file mode 100644
index 30e963398cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref12.C
+++ /dev/null
@@ -1,5 +0,0 @@
-void f (char *const &) { }
-int main ()
-{
- f ("hi");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref2.C b/gcc/testsuite/g++.old-deja/g++.jason/ref2.C
deleted file mode 100644
index fe97990cd92..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref2.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug: g++ can't deal with references to arrays.
-// Build don't link:
-
-typedef float Matrix[4][4];
-Matrix m;
-Matrix& f () { return m; }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref3.C b/gcc/testsuite/g++.old-deja/g++.jason/ref3.C
deleted file mode 100644
index 2bdd023383f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref3.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// PRMS Id: ????
-// Build don't link:
-
-void f (const int& i)
-{
- &(int&)i; // gets bogus error - references ARE lvalues
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref4.C b/gcc/testsuite/g++.old-deja/g++.jason/ref4.C
deleted file mode 100644
index 5c62d6a10d2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref4.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-
-void f ();
-void (&fr)() = f;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref5.C b/gcc/testsuite/g++.old-deja/g++.jason/ref5.C
deleted file mode 100644
index 07895223350..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-int i;
-int &const j = i; // ERROR - invalid const
-int &const f(); // ERROR - invalid const
-void g ()
-{
- j = 1;
- f() = 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref6.C b/gcc/testsuite/g++.old-deja/g++.jason/ref6.C
deleted file mode 100644
index afebb6bab98..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref6.C
+++ /dev/null
@@ -1,2 +0,0 @@
-const int &f();
-int &a = f(); // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref7.C b/gcc/testsuite/g++.old-deja/g++.jason/ref7.C
deleted file mode 100644
index af64d6a7521..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref7.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Testcase for the lifetime of a temporary object which is used to
-// initialize a reference.
-
-int destroyed = 0;
-
-struct A {
- A() { }
- A(int) { }
- ~A() { destroyed++; }
-};
-
-A a;
-A foo () { return a; }
-
-int main()
-{
- const A& ar = foo();
- const A& ar2 = A();
- const A& ar3 = (A)1;
- return destroyed;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref8.C b/gcc/testsuite/g++.old-deja/g++.jason/ref8.C
deleted file mode 100644
index 10e335e9976..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref8.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// PRMS Id: 5184
-// Bug: cast to C& below does not adjust address
-
-struct A {};
-struct B {
- virtual void foo () {};
-};
-struct C : public B, public A {};
-
-int main() {
- C c;
-
- A& ar = c;
- C& cr = (C&)ar;
-
- cr.foo(); // this line causes core dump
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref9.C b/gcc/testsuite/g++.old-deja/g++.jason/ref9.C
deleted file mode 100644
index 099d3421cf8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/ref9.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Bug: g++ re-evaluates the initializer for r before calling f(); since i has
-// changed to an invalid index, this breaks.
-
-class C
-{
-public:
- void f () { }
-};
-
-void foo (C * objs[])
-{
- int i = 0;
- C & r = * objs[i]; /* make reference to element */
-
- i = 666;
- r.f (); /* core dumps here */
-}
-
-int
-main ()
-{
- C * objs[1] = { new C };
-
- foo (objs);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/report.C b/gcc/testsuite/g++.old-deja/g++.jason/report.C
deleted file mode 100644
index d3d3392e451..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/report.C
+++ /dev/null
@@ -1,68 +0,0 @@
-// Build don't link:
-// GROUPS passed error-reporting
-template <char C>
-class badoo
-{
-};
-
-template <int (*F) (int)>
-class doowop
-{
-};
-
-struct A
-{
- int a;
- ~A () { a = 0; }
- operator int () { return a; }
-};
-
-extern "C" int atoi (char *);
-
-int (*fee)(char *) = atoi;
-int (**bar)(char *) = &fee;
-
-char *s = "4";
-char **sp = &s;
-char ***spp = &sp;
-
-int foo (int a = (**bar) (s))
-{
- return doowop<foo>::bar; // ERROR - not a member
-} // ERROR - non-void
-
-int foo2 (int (*a)(int) = &foo)
-{
- undef4 (1); // ERROR - implicit declaration
- return 1;
-}
-
-class X{
- class Y{};
-};
-
-typedef int const * bart ();
-typedef bart const * const * bar2;
-
-bar2 baz (X::Y y)
-{
- X::Y f;
- bar2 wa [5];
- wa[0] = baz(f);
- undef2 (1); // ERROR - implicit declaration
-} // ERROR - non-void
-
-int ninny ()
-{
- struct A
- {
- static int ninny2 () { return badoo<'\001'>::foo; } // ERROR - not a member
- };
-
- return A::ninny2();
-}
-
-int darg (char X::*p)
-{
- undef3 (1); // ERROR - implicit declaration
-} // ERROR - non-void
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/return.C b/gcc/testsuite/g++.old-deja/g++.jason/return.C
deleted file mode 100644
index c737a3ea8bd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/return.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// PRMS Id: 5331
-// Bug: the return value of foo is constructed in a temporary and then
-// copied into the return slot. This is not necessary.
-
-int c = 0;
-
-struct X {
- X(int i) { }
- X(X const &XX) { c = 1; }
- ~X() { }
-};
-
-const X foo() {
- return X(3);
-};
-
-int main()
-{
- foo();
- return c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/return2.C b/gcc/testsuite/g++.old-deja/g++.jason/return2.C
deleted file mode 100644
index 272390903e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/return2.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// PRMS Id: 5368
-// Bug: the X temporary in foo() is not destroyed.
-
-int c = 0;
-
-struct X {
- X (int) { c++; }
- ~X() { c--; }
-};
-
-struct Y {
- Y(const X &) { }
-};
-
-Y foo() {
- return X(3);
-};
-
-int main()
-{
- foo();
- return c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/return3.C b/gcc/testsuite/g++.old-deja/g++.jason/return3.C
deleted file mode 100644
index ac52bc3e463..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/return3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// PRMS id: 10912
-
-struct A {
- A() { i=10; };
- int i;
-};
-struct B : public A {};
-B b;
-
-A f()
-{
- return b;
-}
-
-int main ()
-{
- A a = f ();
- return a.i != 10;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg1.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg1.C
deleted file mode 100644
index a9b581f2751..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Bug: g++ parses the declaration of i as a functional cast.
-// Build don't link:
-
-void take_int (int arg) { }
-
-void
-test ()
-{
- int (i);
-
- i = 0;
- take_int (i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg10.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg10.C
deleted file mode 100644
index 8e7d2d1349d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg10.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Bug: g++ doesn't notice the overflow in the enum values.
-
-#include <limits.h>
-
-enum COLOR
-{
- red,
- green = ULONG_MAX, blue
-}; // ERROR - enum overflow
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg11.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg11.C
deleted file mode 100644
index 2b3e4cc02d0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg11.C
+++ /dev/null
@@ -1 +0,0 @@
-typedef int int; /* ERROR - trying to redefine int */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg12.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg12.C
deleted file mode 100644
index e33404dfc1b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg12.C
+++ /dev/null
@@ -1 +0,0 @@
-int array[3] = { 1, 2, 3, 4 }; /* ERROR - excess initializer elements */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg13.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg13.C
deleted file mode 100644
index 77560b33865..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg13.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: g++ does overloading on a function-by-function basis.
-
-void
-f ()
-{
- void (*fp)(void);
- {
- extern void g ();
- }
- fp = g; /* ERROR - no 'g' in scope */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg14.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg14.C
deleted file mode 100644
index 8475ecd6c81..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg14.C
+++ /dev/null
@@ -1,15 +0,0 @@
-void *vp;
-int (*ap)[];
-struct S *sp;
-union U *up;
-int (*fp)();
-
-void
-test ()
-{
- vp++; /* ERROR - incrementing void * */
- ap++; /* ERROR - incrementing ptr to incomplete type */
- sp++; /* ERROR - incrementing ptr to incomplete type */
- up++; /* ERROR - incrementing ptr to incomplete type */
- fp++; /* ERROR - incrementing ptr to function */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg16.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg16.C
deleted file mode 100644
index 75d87a5f0f2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg16.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Bug: g++ doesn't push parameter decls as they are parsed.
-// Build don't link:
-
-void (*ptr) (int foo, int array[sizeof(foo)]); // gets bogus error XFAIL *-*-*
-void test2 (int bar, int array[sizeof(bar)]) { } // gets bogus error XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg17.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg17.C
deleted file mode 100644
index 8291650b7d6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg17.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// The default assignment operator for B uses array assignment, so we can't
-// just disallow it...
-
-struct A { A& operator=(const A&); };
-struct B { A f[20]; };
-
-int a1[20], a2[20];
-B b1, b2;
-
-void
-test ()
-{
- b1 = b2; /* OK */
- a1 = a2; /* ERROR - array assignment */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg18.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg18.C
deleted file mode 100644
index 53c3dd1628f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg18.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Any expression may be explicitly converted to type void.
-// Build don't link:
-
-struct S { int m[10]; } object;
-struct S f () { return object; }
-
-void
-test ()
-{
- (void) f().m; /* OK - cast to void; see constraints in 3.8.1 */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg2.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg2.C
deleted file mode 100644
index 9c30c3640a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg2.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug: g++ complains about a class definition containing a const member
-// but no constructor; it shouldn't complain at that point, since this is
-// valid use.
-// Build don't link:
-
-struct S { const int member; } object = { 0 };
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg20.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg20.C
deleted file mode 100644
index 33b4858b758..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg20.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-typedef void func_type ();
-func_type *fp;
-void *vp;
-
-void example ()
-{
- vp != fp; // gets bogus error - nuttin' wrong wit dat
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg21.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg21.C
deleted file mode 100644
index d6389bebfa7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg21.C
+++ /dev/null
@@ -1 +0,0 @@
-char array0[4] = "abcde"; /* ERROR - initializer too long */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg22.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg22.C
deleted file mode 100644
index 7be8ba03fc0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg22.C
+++ /dev/null
@@ -1,6 +0,0 @@
-static void f (); // ERROR - used but not defined
-
-void g ()
-{
- f ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg23.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg23.C
deleted file mode 100644
index 73bcfc0f0e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg23.C
+++ /dev/null
@@ -1,2 +0,0 @@
- signed char *ptr2 = "hello"; /* ERROR - changing sign */
-unsigned char *ptr3 = "hello"; /* ERROR - changing sign */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg24.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg24.C
deleted file mode 100644
index e5987a149c1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg24.C
+++ /dev/null
@@ -1,8 +0,0 @@
-typedef int Int;
-
-Int Int_object_1;
-
-void test ()
-{
- ((Int) Int_object_1) = Int_object_1; /* ERROR - not an lvalue*/
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg25.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg25.C
deleted file mode 100644
index deb319d7057..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg25.C
+++ /dev/null
@@ -1 +0,0 @@
-struct { int :0; }; /* ERROR - anon struct not used to declare objects */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg26.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg26.C
deleted file mode 100644
index 1ad204e8ad4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg26.C
+++ /dev/null
@@ -1,9 +0,0 @@
-typedef void (FTYPE) ();
-
-FTYPE f; /* ok */
-
-void
-test_0 ()
-{
- (FTYPE) f; /* ERROR - casting to function type */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg27.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg27.C
deleted file mode 100644
index 8fb85e80f52..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg27.C
+++ /dev/null
@@ -1,4 +0,0 @@
-short volatile short var_0_2; /* ERROR - duplicate short */
-long volatile long var_0_3; /* ERROR - duplicate long */
-signed volatile signed var_0_7; /* ERROR - duplicate signed */
-unsigned volatile unsigned var_0_8; /* ERROR - duplicate unsigned */
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg28.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg28.C
deleted file mode 100644
index 246c7e69b31..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg28.C
+++ /dev/null
@@ -1,9 +0,0 @@
-/* From 01/25/94 working paper (7.1.3):
-
- If, in a decl-specifier-seq containing the decl-specifier typedef,
- there is no type-specifier, or the only type-specifiers are cv-
- qualifiers, the typedef declaration is ill-formed.
-*/
-
-typedef foo; // ERROR - invalid typedef
-typedef const bar; // ERROR - invalid typedef
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg3.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg3.C
deleted file mode 100644
index fc254511cfe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg3.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ remembers the members of OUTER and complains about the second
-// definition.
-// Build don't link:
-
-void
-test ()
-{
- {
- struct OUTER { struct INNER { int mbr; } member; };
- }
-
- {
- struct OUTER { struct INNER { int mbr; } member; };
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg4.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg4.C
deleted file mode 100644
index 978b3634aab..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg4.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: f1 and f2 are treated as overloaded when they aren't.
-// Build don't link:
-
-int i;
-void f1(double) { }
-void f2(double) { }
-
-void
-test ()
-{
- i ? f1 : f2; // gets bogus error - improper overloading
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg5.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg5.C
deleted file mode 100644
index 700fae36294..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: func is treated as an overloaded function when it isn't.
-// Build don't link:
-
-int *func () { return 0; }
-
-void
-test ()
-{
- *func; // gets bogus error - improper overloading
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg6.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg6.C
deleted file mode 100644
index 0f3c9c3823c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg6.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-
-wchar_t *single = L"xyz" ;
-wchar_t *(array[]) = { L"xyz" };
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg7.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg7.C
deleted file mode 100644
index 8f3835fffcc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg7.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug: fixincludes and/or cpp mangle the definition of wchar_t so that this
-// doesn't work.
-// Build don't link:
-
-#include <stdlib.h>
-wchar_t array[] = L"xxx"; // gets bogus error - wchar_t
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg8.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg8.C
deleted file mode 100644
index 401d05de590..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg8.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Bug: g++ is wrongfully pedantic about union initializers.
-// Build don't link:
-
-union U { int mbr; } array[1] = { 0 };
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg9.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg9.C
deleted file mode 100644
index abf6335fa97..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg9.C
+++ /dev/null
@@ -1,9 +0,0 @@
-int cond;
-int i;
-int *ip;
-
-void
-test ()
-{
- cond ? i : ip; /* ERROR - pointer/integer mismatch */
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C b/gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C
deleted file mode 100644
index 01cd497b1c0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C
+++ /dev/null
@@ -1,51 +0,0 @@
-// PRMS Id: 6000
-// Bug: g++ gets confused trying to build up a reference to a cast.
-
-class String {
-protected:
- char *cp;
-public:
- String(char *incp);
- String(const String &constStringRef);
- virtual void virtualFn1(void) const {;}
-};
-
-String::String(char *incp)
-{
- cp = incp;
-}
-
-String::String(const String &constStringRef)
-{
-// Right here, do an 'info args', and look at the virtual function table
-// pointer: typically junk! Calling the function through that table could
-// do anything, since we're really leaping off into the void. This example
-// goes down with 'SIGBUS', but I've seen 'SIGSEGV' too, and 'SIGILL' is
-// possible.
-
- cp = constStringRef.cp;
- constStringRef.virtualFn1();
-}
-
-void foofun(String string)
-{
- ;
-}
-
-class Class1 {
-public:
- Class1(const String & constStringRef);
-};
-
-Class1 :: Class1 (const String & constStringRef)
-{
-// If instead of calling the function 'foofun()' here, we just assign
-// 'constStringRef' to a local variable, then the vptr is typically == 0!
-
- foofun(String(constStringRef));
-}
-
-int main(void)
-{
- Class1 *class1 = new Class1("Hi!");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C b/gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C
deleted file mode 100644
index 71f59bc68b3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Test for undesired aliasing.
-
-struct A {
- const A * get_this () const { return this; }
-};
-
-int main ()
-{
- A a;
- int r = 0;
- const A& ar1 = (A)a;
- if (&ar1 == &a)
- r |= 1;
- if (A(a).get_this () == &a)
- r |= 2;
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rvalue3.C b/gcc/testsuite/g++.old-deja/g++.jason/rvalue3.C
deleted file mode 100644
index 4e18cfbadaf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/rvalue3.C
+++ /dev/null
@@ -1,5 +0,0 @@
-int main ()
-{
- int i;
- int &ir = (int&)(int)i; // ERROR - casting rvalue to reference type
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping.C
deleted file mode 100644
index 49715be0a9a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// PRMS Id: 3977
-// Bug: A member function is not hidden properly by a later use of its name.
-// Build don't link:
-
-struct A {
- void index ();
-};
-
-struct B: A {
- int index;
- B(): index(4) {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping10.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping10.C
deleted file mode 100644
index 9119951978c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping10.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Test for scope-based hiding of functions.
-
-void f (char *);
-struct A {
- void f (); // ERROR - referred to
-};
-struct B : public A {
- void g (char *);
- void h () {
- extern void g (); // ERROR -
- f("foo"); // ERROR - hidden
- g("foo"); // ERROR - hidden
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping11.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping11.C
deleted file mode 100644
index 870b9d5b566..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping11.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-void f ();
-void g ()
-{
- int f;
- {
- void f ();
- f (); // gets bogus error - trying to call integer
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping12.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping12.C
deleted file mode 100644
index 96e4ab73033..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping12.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-void f ()
-{
- struct A {
- friend void g ();
- };
-}
-void h () {
- g (); // ERROR - no g in scope
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping13.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping13.C
deleted file mode 100644
index 2fd1707627b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping13.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-struct A { typedef int foo; };
-struct B: public A {
- typedef int bar;
- struct C {
- void g (B::bar); // gets bogus error - nested type failure
- void f (B::foo);
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping14.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping14.C
deleted file mode 100644
index d8c19388151..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping14.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// [class.scope0]: The scope of a name declared in a class consists
-// ... also of all ... default arguments ... in that class ....
-// Build don't link:
-
-struct A {
- void f (int A::* = &A::i);
- int i;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping15.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping15.C
deleted file mode 100644
index bfebf240984..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping15.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: g++ ignores the :: qualification and dies trying to treat an integer
-// variable as a list of functions.
-// Build don't link:
-
-class DComplex {
-public:
- friend double imag(const DComplex& a);
-};
-
-class FComplex {
-public:
- friend float imag(const FComplex& a);
-};
-
-void
-scnrm2(FComplex cx[])
-{
- int imag;
- ::imag( cx[0] );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping16.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping16.C
deleted file mode 100644
index d88501e67a4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping16.C
+++ /dev/null
@@ -1,4 +0,0 @@
-struct A {
- int a(); // ERROR -
- int a; // ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping17.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping17.C
deleted file mode 100644
index 26fb45656da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping17.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Test that the integer hides the struct in block scope.
-
-int main ()
-{
- int A;
- struct A { };
- A = 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping2.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping2.C
deleted file mode 100644
index 68c8c754a80..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: A function is not hidden properly by a use of its name in an
-// inner scope.
-// Build don't link:
-
-struct A
-{
- struct B
- {
- int f;
- B() : f(0) {};
- void g() { f = 0; };
- };
- void f();
- void f(int);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping3.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping3.C
deleted file mode 100644
index 578de7a7e8e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping3.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Bug: g++ does not grok nested types very well.
-// Build don't link:
-
-class A {
- class B;
- friend class B;
- class B { }; // gets bogus error -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping4.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping4.C
deleted file mode 100644
index 94a49bfc77a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping4.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// PRMS Id: 4375
-// Bug: g++ fails to keep track of nested typedefs properly.
-// Build don't link:
-
-class A {
-public:
- typedef char * Ptr;
- Ptr s;
- Ptr get_string();
- A(Ptr string); // { s = string; };
-};
-
-class B {
-public:
- typedef A * Ptr;
- Ptr a;
- Ptr get_A();
- B(Ptr a_ptr);
-};
-
-A::A(Ptr string) { // gets bogus error -
- s = string; // gets bogus error -
-}
-
-int main() {
- A a("testing");
- A *a_ptr;
- B b(&a);
- a_ptr = b.get_A();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping5.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping5.C
deleted file mode 100644
index 4572da7652a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping5.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug: g++ thinks that A defines operator delete, and tries to call it.
-// Build don't link:
-
-struct A {
- ~A () { ::operator delete (0); }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping6.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping6.C
deleted file mode 100644
index 161cc4762f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping6.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Testcase for all uses of explicit global scope.
-// Build don't link:
-
-int a, B;
-
-struct A { };
-int operator+(A&, int);
-
-struct B {
- struct C {
- static int a;
- static int f () { A a; return ::operator+ (a, ::a); } // gets bogus error
- };
-};
-
-int B::C::a = 0;
-
-struct D : public ::B::C { }; // gets bogus error
-
-void f ()
-{
- int B;
- ::B::C b;
-
- B = ::B::C::a; // gets bogus error
- B = ::B::C::f(); // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping7.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping7.C
deleted file mode 100644
index 6ffa907f62a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping7.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Bug: g++ doesn't flag name collisions between types and non-types as
-// errors. It shouldn't for class names, but it should for typedefs.
-// Build don't link:
-
-int bar; // ERROR -
-typedef int bar; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping8.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping8.C
deleted file mode 100644
index de023d1c3e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping8.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Bug: g++ allows two different meanings of a name in the same scope.
-
-typedef int foo; // ERROR -
-struct A {
- A (foo);
- int foo (); // ERROR - foo already used in scope
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping9.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping9.C
deleted file mode 100644
index 3d8a1555ff2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/scoping9.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: g++ silently mangles the second 'B' to 'A::B', so the definition is
-// lost.
-// Build don't link:
-
-struct A {
- enum B { };
-};
-
-struct C: public A {
- enum B { };
- void foo (C::B);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/shadow1.C b/gcc/testsuite/g++.old-deja/g++.jason/shadow1.C
deleted file mode 100644
index 59ffcbd15c3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/shadow1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Special g++ Options: -Wshadow
-// Build don't link:
-
-class x {
-public:
- void fun();
-private:
- int foo;
-};
-
-void x::fun() { };
-
-main ()
-{
- float foo;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/soverload.C b/gcc/testsuite/g++.old-deja/g++.jason/soverload.C
deleted file mode 100644
index 793e37f33c1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/soverload.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: dfs_pushdecls doesn't create an overload list for member functions,
-// like it claims to.
-// Build don't link:
-
-struct A
-{
- static int foo (int);
- static int foo (int, int);
- void bar () { foo (1, 2); } // gets bogus error - broken overloading
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/special.C b/gcc/testsuite/g++.old-deja/g++.jason/special.C
deleted file mode 100644
index 9f6202ecf44..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/special.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Make sure that forward declarations of specializations work...
-
-template <class T> class A { };
-class A<int>;
-A<int> a; // ERROR - incomplete type
-class A<int> { };
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/static1.C b/gcc/testsuite/g++.old-deja/g++.jason/static1.C
deleted file mode 100644
index 8c5bdff359b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/static1.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// PRMS id: 6863
-
-extern "C" int printf(const char *, ...);
-extern "C" void abort();
-
-enum ENUM {E1=0, E2 };
-int d;
-
-class AAA{
-public:
- AAA() {a = new char[10];printf("constructor AAA() called\n");}
- AAA(int) {printf("constructor AAA(int) called\n");}
- ~AAA(){ printf("destructor ~AAA() called\n"); d = 1; }
- operator int () { return 1;}
- char *a;
- int i;
-};
-
-struct sentinel {
- ~sentinel () { if (d == 0) abort (); }
-} s;
-
-/* forward decl here causes gcc not to execute ct and dt for arr1 */
-extern AAA arr1[];
-
-AAA arr1[] = {(int)E1 };
-
-int main()
-{
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth.C b/gcc/testsuite/g++.old-deja/g++.jason/synth.C
deleted file mode 100644
index 733243cf363..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Bug: the synthesized copy constructor for A is not found.
-// Build don't link:
-
-struct A {
- // A (const A& a): i(a.i) {}
- int i;
-};
-
-struct B {
- A a;
- B (const B& b): a(b.a), j(b.j) { } // gets bogus error -
- int j;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth10.C b/gcc/testsuite/g++.old-deja/g++.jason/synth10.C
deleted file mode 100644
index d94e6bdebe9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth10.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// Special g++ Options: -O
-// Build don't link:
-// Bug: Synthesizing methods for the nested class screwed up current_class_decl
-// for the outer class.
-
-class A;
-class AH
-{
- public:
- inline AH ( A * p = 0 );
- AH ( const AH & from )
- : pointer( from.pointer ) { inc(); }
- ~ AH () { dec(); }
- private:
- A * pointer;
- inline void inc() const;
- inline void dec() const;
-};
-
-class A
-{
- protected:
- struct AttrTable
- {
- struct Row
- {
- };
- };
-
- public:
-
- class Attributes
- {
- public:
- class iterator
- {
- public:
- iterator() : mo(0), attr(0) {}
- iterator& operator++() { ++attr; return *this; }
- iterator operator++(int)
- { iterator tmp = *this; ++*this; return tmp; }
-
- private:
- AH mo;
- const AttrTable::Row* attr;
- };
-
- Attributes(AH mo)
- : mo(mo) {}
- AH mo;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth2.C b/gcc/testsuite/g++.old-deja/g++.jason/synth2.C
deleted file mode 100644
index 3094b8e55cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth2.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// PRMS Id: 4623
-// Bug: g++ tries and fails to synthesize a copy constructor for D.
-// Build don't link:
-
-class A { };
-class B: public virtual A { };
-class C: public A { };
-class D: public B, public C { }; // gets bogus error - bad synthesis
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth3.C b/gcc/testsuite/g++.old-deja/g++.jason/synth3.C
deleted file mode 100644
index 26af8aed3b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth3.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Testcase for wrongful generation of copy constructor.
-// Build don't link:
-
-class A { };
-class B: virtual private A { };
-class D: public B { }; // gets bogus error
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth4.C b/gcc/testsuite/g++.old-deja/g++.jason/synth4.C
deleted file mode 100644
index 89ecf2dc074..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth4.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-struct X {
- X();
-};
-typedef void (X::*mfp)();
-struct Y {
- Y();
- mfp memfp;
-};
-void f()
-{
- Y *y1, *y2 ;
- *y1 = *y2; // gets bogus error - failed to synthesize op=
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth5.C b/gcc/testsuite/g++.old-deja/g++.jason/synth5.C
deleted file mode 100644
index 2905da72639..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth5.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Bug: generated B::operator= tries to call A::operator=
-
-#pragma implementation
-#line 1 "synth5.h"
-#pragma interface
-
-struct A {
- virtual A& operator= (const A&) = 0;
-};
-
-struct B: public A {
-};
-#line 5 "synth5.C"
-int main() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth6.C b/gcc/testsuite/g++.old-deja/g++.jason/synth6.C
deleted file mode 100644
index f3a95db44f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: g++ tries to generate an op= for DbmItem and fails.
-// Build don't link:
-
-class RefCount{
-public:
- RefCount();
-
-private:
- RefCount& operator=(const RefCount);
-};
-
-class DbmItem: public RefCount{
-public:
- DbmItem(): RefCount() {};
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth7.C b/gcc/testsuite/g++.old-deja/g++.jason/synth7.C
deleted file mode 100644
index 05953779880..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth7.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Testcase to make sure that synthesized methods are found when needed.
-
-struct B { ~B() { } };
-struct A { B b; };
-
-int main()
-{
- A a, b (a), c = A();
- A& (A::*afp)(const A&) = &A::operator=;
- (a.*afp) (b);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth8.C b/gcc/testsuite/g++.old-deja/g++.jason/synth8.C
deleted file mode 100644
index f7e82a9e8a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth8.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: the synthesized constructor for A tries to use the mem-initializer
-// list for the B constructor.
-// Build don't link:
-
-struct A
-{
- virtual ~A();
-};
-
-struct B
-{
- B();
- char* x;
- A* a;
-};
-
-B::B()
-: x(0), a(new A())
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/synth9.C b/gcc/testsuite/g++.old-deja/g++.jason/synth9.C
deleted file mode 100644
index 6886feb6e21..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/synth9.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 6837
-// Bug: anonymous union confuses g++.
-// Build don't link:
-
-struct my_key {
- my_key(const my_key&);
- my_key(const char* n);
-};
-
-struct my_node {
- my_node(my_key&);
- union {
- long cnt;
- my_node* next;
- };
- my_key a;
-};
-
-extern my_node n;
-my_node a(n);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tempargs.C b/gcc/testsuite/g++.old-deja/g++.jason/tempargs.C
deleted file mode 100644
index 749e02cbd19..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tempargs.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed templates overloading
-template<class T> class Vector { };
-template<class T> struct Sort { static void sort (Vector<typename T::foo> &); };
-template<class T> void Sort<T>::sort (Vector<typename T::foo> &) { }
-struct whee { typedef int foo; };
-
-void f (Vector<int> &vi) { Sort<whee>::sort (vi); }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tempcons.C b/gcc/testsuite/g++.old-deja/g++.jason/tempcons.C
deleted file mode 100644
index 77cc732090e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tempcons.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Bug: member initializers are allowed where they shouldn't be.
-// Build don't link:
-
-template <class T>
-struct A {
- int i;
- Blarg () : i(0) { } // ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tempdest.C b/gcc/testsuite/g++.old-deja/g++.jason/tempdest.C
deleted file mode 100644
index 04fae56a740..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tempdest.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed templates destructors
-// Example of PR 3308 workaround
-
-template <class T>
-class A
-{
- T q;
-public:
- ~A() { (&q)->T::~T(); }
-};
-
-typedef unsigned int ui;
-
-int main()
-{
- A<ui> *ap = new A<ui>;
-
- delete ap;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tempinst1.C b/gcc/testsuite/g++.old-deja/g++.jason/tempinst1.C
deleted file mode 100644
index 0a8a6cc378c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tempinst1.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Bug: g++ fails to instantiate operator<<.
-// Build don't run:
-// Special g++ Options: -g
-
-struct ostream {
- ostream& operator<< (const char *) { return *this; };
-};
-
-template <class T> class foo;
-
-template <class T> ostream& operator<< (ostream& ios, foo<T>&obj) { };
-
-template <class T> class foo {
- friend ostream& operator<<<>(ostream&, foo<T>&);
-};
-
-int main()
-{
- ostream cout;
- foo<int> foo_obj;
- cout << foo_obj; // causes linker error
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template1.C b/gcc/testsuite/g++.old-deja/g++.jason/template1.C
deleted file mode 100644
index f3aa571483e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 4688
-// Bug: g++ can't deal with templates instantiated within extern "C".
-// Build don't link:
-
-class Gnaf {
-public:
- virtual int invariant ();
-};
-
-template <class T> class Array : public Gnaf {
-public:
- virtual int invariant();
-};
-
-extern "C"
-int foo()
-{
- Array<int> toConv;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template10.C b/gcc/testsuite/g++.old-deja/g++.jason/template10.C
deleted file mode 100644
index 18a574a28eb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template10.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Bug: member operator shadows global template in tsubst.
-// Build don't link:
-
-class ostream;
-
-template <class TP> class smanip {
-public:
- friend ostream& operator<< <>(ostream &o, const smanip<TP>&m);
-};
-
-template<class TP>
-ostream& operator<<(ostream& o, const smanip<TP>& m)
-{ return o;}
-
-class X
-{
-public:
- X operator<<(int); // commenting out this line makes it work!
- void print(ostream& os);
-};
-
-void X::print(ostream& os)
-{
- smanip<double> smd;
- os << smd; // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template11.C b/gcc/testsuite/g++.old-deja/g++.jason/template11.C
deleted file mode 100644
index d58bdfe9e03..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template11.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Bug: initializers for static data members of templates don't get run.
-
-template <class T> struct A {
- static T t;
-};
-
-int foo () { return 1; }
-
-int A<int>::t = foo ();
-
-int main ()
-{
- return (A<int>::t != 1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template12.C b/gcc/testsuite/g++.old-deja/g++.jason/template12.C
deleted file mode 100644
index 93c19b63571..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template12.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Testcase for 'this is a type' syntax.
-// Build don't link:
-
-struct B {
- typedef int A;
-};
-
-template <class T> struct Y {
- void f() {
- typename T::A *d;
- }
-};
-
-template class Y<B>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template13.C b/gcc/testsuite/g++.old-deja/g++.jason/template13.C
deleted file mode 100644
index fbd16a9995e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template13.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: g++ fails to actually instantiate templates to the specifications of
-// guiding decls.
-// Special g++ Options: -g -ansi -pedantic-errors -fguiding-decls
-
-template <class T> inline T min (T a, T b) { return a<b?a:b; }
-double min (double, double);
-
-int main () {
- return (int) min (0, 1.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template14.C b/gcc/testsuite/g++.old-deja/g++.jason/template14.C
deleted file mode 100644
index ecd99bc5eaa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template14.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 4745
-// Bug: g++ gets the constructor and destructor confused because the default
-// parm prevents the two constructor types from satisfying ==.
-
-template <class T> struct A {
- A(int = 1);
- ~A();
-};
-
-template <class T> A<T>::A(int) { } // causes compiler abort
-template <class T> A<T>::~A() { }
-
-int main()
-{
- A<int> a;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template15.C b/gcc/testsuite/g++.old-deja/g++.jason/template15.C
deleted file mode 100644
index 9779ca024b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template15.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// PRMS Id: 2139
-// Bug: g++ tries to instantiate the template with types on the function
-// obstack and fails.
-
-template<class T>
-class X {
-public:
- X(int) { }
-
- T x;
-};
-
-class A { };
-
-int main()
-{
- int i;
- X<int> xi(i);
- X<double> xd(i);
-
- X<int (*)(int, void *)> fp0(i);
- X<int (*)(int, char, double)> fp1(i);
- X<int (*)(int, double**, void *)> fp2(i);
-
- X<int (A::*)()> mp0 (i);
- X<int A::*> mp1 (i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template16.C b/gcc/testsuite/g++.old-deja/g++.jason/template16.C
deleted file mode 100644
index 3241f981f35..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template16.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// PRMS Id: 1502
-// Bug: g++ fails to resolve 'gnc' in the call to 'grid'.
-
-template<class T> class foo {
-public:
- foo() { }
-};
-
-template<class T> class bar : public foo<T> {
-public:
- bar() : foo<T>() {}
-};
-
-template<class T> class ben : public foo<T> {
-public:
- ben() : foo<T>() {}
- void grid(T (*f)(bar<T>&),bar<T>& x,bar<T>& y,bar<T>& param);
-};
-
-template<class T> void ben<T>::grid(T (*f)(bar<T>&),bar<T>& x,bar<T>& y,bar<T>& param) { }
-
-template<class T> T gnc(bar<T>& a)
-{
- return 0;
-}
-
-int main()
-{
- ben<double> a;
- bar<double> x,y,p;
- a.grid(gnc,x,y,p);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template17.C b/gcc/testsuite/g++.old-deja/g++.jason/template17.C
deleted file mode 100644
index 27e4d047ccd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template17.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Caught by Booch Components.
-// Bug: g++ tries to instantiate nested enums.
-// Build don't link:
-
-template <class T> struct A
-{
- struct B { };
- enum C { c };
-};
-
-template struct A<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template18.C b/gcc/testsuite/g++.old-deja/g++.jason/template18.C
deleted file mode 100644
index 38224bfd5ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template18.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// GROUPS passed templates
-// Bug: g++ emits template instances when it shouldn't.
-// Special g++ Options: -g -Wno-deprecated -fexternal-templates
-
-// We mark this XFAIL because we can't test for expected linker errors.
-// If we get an XPASS for this testcase, that's a bug.
-// (OK) excess errors test - XFAIL *-*-*
-
-#pragma implementation "irrelevant_file"
-#line 1 "template18.h"
-#pragma interface
-template <class T> inline T min (T a, T b) { return a<b?a:b; }
-#line 13 "template18.C"
-
-main()
-{
- min (1, 1); // should produce an undefined symbol error.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template19.C b/gcc/testsuite/g++.old-deja/g++.jason/template19.C
deleted file mode 100644
index 68ea9a9fbf7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template19.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Make sure type deduction isn't confused by top-level cv-quals.
-template <class T> T max (const T a, const T b) { return a>b?a:b; }
-
-int main()
-{
- int a = 0, b = 1;
- int c = max (a, b);
- int d = max ((const int)a, (const int)b);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template2.C b/gcc/testsuite/g++.old-deja/g++.jason/template2.C
deleted file mode 100644
index d3950e9b2b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: instantiation of member templates breaks.
-// Build don't link:
-
-template <class T> struct A {
- static void f ();
- void g ();
-};
-
-template <class T> void A<T>::f () { }
-template <class T> void A<T>::g () { }
-
-A<int> a;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template20.C b/gcc/testsuite/g++.old-deja/g++.jason/template20.C
deleted file mode 100644
index ee4daa0b826..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template20.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Make sure type deduction works for both types of array parameters.
-template <class T> void f (T (&a)[2]) { }
-template <class T> void g (T a[2]) { }
-int main()
-{
- int a[2] = { 0, 0 };
- f (a);
- g (a);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template21.C b/gcc/testsuite/g++.old-deja/g++.jason/template21.C
deleted file mode 100644
index 817d1da8828..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template21.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Gosh, this works!
-// Build don't link:
-
-template<class T>
-struct A
-{
- struct B
- {
- void bar();
- };
- struct C { };
-};
-
-template<class T> void A<T>::B::bar() { }
-
-template class A<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template22.C b/gcc/testsuite/g++.old-deja/g++.jason/template22.C
deleted file mode 100644
index ce247e80752..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template22.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Testcase for proper unification of code involving references.
-// Build don't link:
-
-template<class T>
-struct A
-{
- void foo();
-};
-
-template<class T> void A<T>::foo() { }
-
-template class A<int&>;
-
-const int& f1 ();
-int& f2 ();
-int f3 ();
-
-template <class T> void g1 (const T&);
-template <class T> void g2 (T&);
-template <class T> void g3 (T);
-
-int main()
-{
- g1 (f1 ());
- g1 (f2 ());
- g1 (f3 ());
- g2 (f2 ());
- g3 (f1 ());
- g3 (f2 ());
- g3 (f3 ());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template23.C b/gcc/testsuite/g++.old-deja/g++.jason/template23.C
deleted file mode 100644
index 1d257a2e7df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template23.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Testcase for instantiation with cv-qualified type
-// Build don't link:
-
-template<class T>
-struct A
-{
- void foo();
-};
-
-template<class T> void A<T>::foo() { }
-
-template class A<const int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template24.C b/gcc/testsuite/g++.old-deja/g++.jason/template24.C
deleted file mode 100644
index 120b717eddd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template24.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Bug: g++ doesn't find the conversion from ostream_withassign to ostream.
-
-#include <iostream.h>
-
-template <class T>
-struct A {
- T t;
-};
-
-template <class T>
-ostream & operator<< (ostream & os, A<T> & a)
-{
- os << a.t;
- return os;
-}
-
-int main ()
-{
- A<int> a = { 1 };
- cout << a << endl;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template25.C b/gcc/testsuite/g++.old-deja/g++.jason/template25.C
deleted file mode 100644
index 9704412263e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template25.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// PRMS Id: 6393
-// Bug: g++ is too lax in considering UPTs to be the same.
-
-template <class R, class T>
-class Bar
-{
-public:
- R do_bar (T arg);
-};
-
-
-template <class T>
-class Foo
-{
- T i;
-
-public:
- void do_foo () {}
- void do_foo (T const & t) {}
- void do_foo (Bar<char, T> const & bar); // {} Put the body here and it works
- void do_foo (Bar<T, T> const & bar); // {} Put the body here and it works
-};
-
-// These definitions don't work
-
-template <class T>
-inline void Foo<T>::
-do_foo (Bar<char, T> const & bar)
-{}
-
-template <class T>
-inline void Foo<T>::
-do_foo (Bar<T, T> const & bar)
-{}
-
-
-int main ()
-{ int i;
- Bar<char, int> bar1;
- Bar<int, int> bar2;
- Foo<int> foo;
- foo.do_foo();
- foo.do_foo(i);
- foo.do_foo(bar1);
- foo.do_foo(bar2);
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template26.C b/gcc/testsuite/g++.old-deja/g++.jason/template26.C
deleted file mode 100644
index fcd598dda84..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template26.C
+++ /dev/null
@@ -1,114 +0,0 @@
-// PRMS Id: 6275
-// Bug: unification fails for call to find_parameter_in_stack.
-
-#include <stdio.h>
-#include <stdlib.h>
-
-const int max_stack_size = 20;
-
-template <class T>
-class Stack {
- private:
- T objects[max_stack_size];
- int nobjects;
- public:
- Stack(): nobjects(0) {}
- void push(const T&a) {
- if (nobjects >= max_stack_size) {
- fprintf(stderr,"Stack: overflow\n");
- abort();
- }
- objects[nobjects++] = a;
- }
- T pop() {
- if (!nobjects) {
- fprintf(stderr,"Stack: underflow\n");
- abort();
- }
- nobjects -= 1;
- T result = objects[nobjects];
- return result;
- }
- T top() const {
- if (!nobjects) {
- fprintf(stderr,"Stack: underflow\n");
- abort();
- }
- return objects[nobjects - 1];
- }
- int n() const { return nobjects; }
- T operator[](int i) { return objects[i]; }
-};
-
-template <class T>
-class Parameter {
- T parameter_;
- int is_set_;
- int overrides_;
- public:
- Parameter(): is_set_(0), overrides_(0) {}
- void set(const T& a) { parameter_ = a; is_set_ = 1; }
- void override(int overrides = 1) { overrides_ = overrides; }
- const T& value() const { return parameter_; }
- int overrides() const { return overrides_; }
- int is_set() const { return is_set_; }
-};
-
-template <class T1, class T2>
-T2
-find_parameter_in_stack(Stack<T1>& stack, Parameter<T2>& (T1::*access)())
-{
- T2 result;
- int have_result = 0;
- for (int i=stack.n()-1; i>=0; i--) {
- if ((stack[i].*access)().is_set()) {
- if (!have_result || (stack[i].*access)().overrides()) {
- result = (stack[i].*access)().value();
- have_result = 1;
- }
- }
- }
- return result;
-}
-
-class A {
- private:
- Parameter<int> a_;
- public:
- A() { }
- Parameter<int>& a() { return a_; }
-};
-
-int
-main(int, char**)
-{
- Stack<A> A_stack;
- A a1;
- A a2;
- a1.a().set(1);
- a2.a().set(2);
- A_stack.push(a1);
- A_stack.push(a2);
-
- int val = find_parameter_in_stack(A_stack, &A::a);
-
- printf("val = %d\n", val);
- if (val != 2)
- return 1;
-
- A_stack.pop();
- A_stack.pop();
-
- a1.a().override();
-
- A_stack.push(a1);
- A_stack.push(a2);
-
- val = find_parameter_in_stack(A_stack, &A::a);
-
- printf("val = %d\n", val);
- if (val != 1)
- return 1;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template27.C b/gcc/testsuite/g++.old-deja/g++.jason/template27.C
deleted file mode 100644
index be90aca8d75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template27.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// PRMS Id: 6826
-// Check that unnecessary templates are not instantiated.
-
-template <class T>
-class Test
-{
- public:
- void doThiss();
- void doThat();
-};
-
-template <class T>
-void Test<T>::doThiss()
-{
- T x;
-
- x.thiss();
-}
-
-template <class T>
-void Test<T>::doThat()
-{
- T x;
-
- x.that();
-}
-
-class A
-{
- public:
- void thiss() {};
-};
-
-class B
-{
- public:
- void that() {};
-};
-
-int main()
-{
- Test<A> a;
- a.doThiss(); // a.doThat() is not well formed, but then
- // it's not used so needn't be instantiated.
-
- Test<B> b;
- b.doThat(); // simillarly b.doThiss();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template28.C b/gcc/testsuite/g++.old-deja/g++.jason/template28.C
deleted file mode 100644
index c5501d91e61..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template28.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// PRMS Id: 7179
-
-template <class T>
-class Car{
-public:
- Car();
-} ;
-
-class Wheels{
-public:
- Wheels();
-} ;
-
-class Shop
-{
-public:
- Shop();
-private:
- Car<Wheels> car ;
-} ;
-
-Wheels::Wheels() {}
-
-Shop::Shop() {}
-
-int main()
-{
- Shop shop ;
- return 0 ;
-}
-
-template <class T>
-Car<T>::Car() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template29.C b/gcc/testsuite/g++.old-deja/g++.jason/template29.C
deleted file mode 100644
index d4212e2e5e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template29.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// PRMS Id: 9500
-// Build don't link:
-
-template <int S>
-class base
- {
-public:
- inline base();
- };
-
-template <class T>
-class derived : public base<sizeof(T)>
- {
-public:
- inline derived();
- };
-
-template <class T>
-inline derived<T>::derived() : base<sizeof(T)>(){}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template3.C b/gcc/testsuite/g++.old-deja/g++.jason/template3.C
deleted file mode 100644
index 1cd65531757..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// PRMS Id: 4679
-// Bug: g++ doesn't re-instantiate templates after definition is seen.
-
-template <class T> struct A;
-
-A<int> *a;
-
-template <class T> struct A { T t; };
-
-int main()
-{
- if (a)
- a->t = 1; // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template30.C b/gcc/testsuite/g++.old-deja/g++.jason/template30.C
deleted file mode 100644
index 98bad49a3ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template30.C
+++ /dev/null
@@ -1,13 +0,0 @@
-template <class T, class U>
-int func(U, T); // ERROR - ref below
-
-template <class T, class U>
-int func(T, U)
-{ // ERROR - ref below
- return 2;
-}
-
-int main ()
-{
- func (0, 1); // ERROR - ambiguous
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template31.C b/gcc/testsuite/g++.old-deja/g++.jason/template31.C
deleted file mode 100644
index 1148e278da2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template31.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// PRMS Id: 8569
-
-#include <iostream.h>
-#include <vector>
-
-using std::vector;
-
-class Component {
- int george;
- char mabel[128];
-};
-class CopyMe {
-public:
- CopyMe(){;}
-private:
- vector<Component> strvec;
-};
-
-class IncludeIt {
-public:
- IncludeIt() {}
- ~IncludeIt() {}
- IncludeIt(const IncludeIt& i) {
- myStrvec = i.myStrvec;
- }
- IncludeIt& operator=(const IncludeIt& i) {
- myStrvec = i.myStrvec;
- }
-private:
- CopyMe myStrvec;
-};
-
-int main(int argc, char**argv) {
- IncludeIt foo;
- IncludeIt* bar;
- exit(0);
-}
-
-template class std::__malloc_alloc_template<0>;
-template class std::__default_alloc_template<false, 0>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template32.C b/gcc/testsuite/g++.old-deja/g++.jason/template32.C
deleted file mode 100644
index d510e93c492..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template32.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Bug: Instantiating A<int> screws with class bindings for B
-// Build don't link:
-
-template <class T> struct A { };
-struct B {
- typedef int foo;
- void f ();
-};
-
-void B::f () { A<int> a; foo i; }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template33.C b/gcc/testsuite/g++.old-deja/g++.jason/template33.C
deleted file mode 100644
index 35a63aad3da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template33.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Test nested enums in templates.
-// Build don't link:
-
-template <class T>
-class A
-{
-public:
- enum muni {X, Y};
-
- muni e() { return X; };
- muni f();
-};
-
-template <class T>
-A<T>::muni A<T>::f() { return X; }
-
-template class A<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template34.C b/gcc/testsuite/g++.old-deja/g++.jason/template34.C
deleted file mode 100644
index 177286f4abb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template34.C
+++ /dev/null
@@ -1,24 +0,0 @@
-template<class T>
-class Set {
- public:
- typedef int (*Compare)(const T&, const T&);
- static Compare cmp1;
- static int (*cmp2)(const T&, const T&);
-};
-
-template<class T>
-int gen_cmp(const T& a, const T& b) {
- if (a<b) return -1;
- else if (a==b) return 0;
- else return 1;
-}
-
-template<class T>
-Set<T>::Compare Set<T>::cmp1 = &gen_cmp;
-
-template<class T>
-int (*Set<T>::cmp2)(const T&, const T&) = &gen_cmp;
-
-int main() {
- Set<int> s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template35.C b/gcc/testsuite/g++.old-deja/g++.jason/template35.C
deleted file mode 100644
index be3f808252c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template35.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Bug: instantiation of D() corrupts declaration of basis[].
-// Build don't link:
-
-struct B { };
-template <int t>
-struct D : public B
-{
- D() : B () { }
-};
-
-B const * basis[] =
-{
- new D<0>,
- new D<1>,
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template36.C b/gcc/testsuite/g++.old-deja/g++.jason/template36.C
deleted file mode 100644
index 807af75e0d2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template36.C
+++ /dev/null
@@ -1,51 +0,0 @@
-// Testcase for implicit 'typename' and resolution of 'typename's in the
-// current scope.
-
-class base1 {
-public:
- int bar() const
- { return 1; }
-};
-
-class base2 {
-public:
- int bar() const
- { return 0; }
-};
-
-template<class X>
-struct base_trait {
- typedef base1 base;
-};
-
-struct base_trait<float> {
- typedef base2 base;
-};
-
-template<class T>
-class weird : public base_trait<T>::base {
-public:
- typedef base_trait<T>::base base;
-
- base f ();
- int base::* g ();
-
- int zowee() const
- { return bar(); }
-};
-
-template <class T>
-weird<T>::base weird<T>::f ()
-{
- return base();
-}
-
-template <class T>
-int weird<T>::base::* weird<T>::g ()
-{ return 0; }
-
-int main()
-{
- weird<float> z;
- return z.zowee() || z.f().bar();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template37.C b/gcc/testsuite/g++.old-deja/g++.jason/template37.C
deleted file mode 100644
index 53607ee7fbe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template37.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// PRMS Id: 9930
-// Test of -fexternal-templates hackery in new template code
-// Special g++ options: -Wno-deprecated -fexternal-templates
-
- #pragma implementation "foo.hh"
- #pragma interface "foo.hh"
-
- template<class T>
- class ONE
- {
- public:
- static void func();
- };
-
- template<class T>
- void ONE<T>::func()
- {
- }
-
- class ONE<int>
- {
- public:
- static void func();
- };
-
- void ONE<int>::func()
- {
- }
-
-int main()
- {
- ONE<char>::func();
- ONE<int>::func();
-
- return 0;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template38.C b/gcc/testsuite/g++.old-deja/g++.jason/template38.C
deleted file mode 100644
index 3870cbc5c14..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template38.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Special g++ Options: -fguiding-decls
-
-struct A {
- friend int operator== (const A&, const A&);
- A (int) { }
-};
-
-template <class T> int
-operator== (const T&, const T&)
-{
- return 0;
-}
-
-main ()
-{
- A a (1);
- return a == 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template39.C b/gcc/testsuite/g++.old-deja/g++.jason/template39.C
deleted file mode 100644
index dc76889e4e0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template39.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// PRMS Id: 10283
-// Build don't link:
-
-template <class T> struct B {
- static void (*p)();
- static void f ();
-};
-
-template <class T>
-void (*B<T>::p)() = &B<T>::f;
-
-B<int> b;
-
-template <int i> struct A {
- static const int j = i;
- int k[j];
-};
-
-A<1> a;
-
-template <int i>
-const int A<i>::j;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template4.C b/gcc/testsuite/g++.old-deja/g++.jason/template4.C
deleted file mode 100644
index 7fcb45c3f9a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template4.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Bug: g++ tries to instantiate ccList twice, and fails.
-// Build don't link:
-
-template<class T> class ccHandle{ };
-template <class T> class ccList;
-template <class T> class cc_List {
-public:
- ccList <T> copy ();
-};
-
-template <class T> class ccList : public ccHandle < cc_List <T> > {
-public:
- ccList (int);
-};
-
-template <class T>
-ccList <T> cc_List<T>::copy (){}
-
-int main (int, char **) {
- ccList <int> size1();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template40.C b/gcc/testsuite/g++.old-deja/g++.jason/template40.C
deleted file mode 100644
index a8803920a29..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template40.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// PRMS id: 11315
-// Bug: g++ doesn't recognize the copy ctor for Array<long>.
-
-template <class Type>
-class Array {
-public:
- Array(int sz=12)
- : ia (new Type[sz]), size(sz) {}
- ~Array() { delete[] ia;}
- Array(const Array<long>& r) : size(0) {} // just for testing
-private:
- Type *ia;
- int size;
-};
-
-int main(int argc, char *argv[])
-{
- Array<long> ia; // looping occurs on this line
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template41.C b/gcc/testsuite/g++.old-deja/g++.jason/template41.C
deleted file mode 100644
index 62d03b67372..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template41.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// PRMS Id: 11420
-// Bug: Can't handle indirect virtual template base init.
-
-extern "C" int printf (const char *, ...);
-
-template<class T>
-class Vbase {
- public:
- Vbase(T i) { printf ("%d\n", i); }
-};
-
-template<class T>
-class D1 : virtual public Vbase<T> {
- public:
- D1(T i) : Vbase<T>(i) {}
-};
-
-template<class T>
-class D2 : virtual public Vbase<T> {
- public:
- D2(T i) : Vbase<T>(i) {}
-};
-
-template<class T>
-class Most : public D1<T>, public D2<T> {
- public:
- Most(T i) : D1<T>(i), D2<T>(i), Vbase<T>(i) {}
-};
-
-int main () {
- Most<int> x(2);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template42.C b/gcc/testsuite/g++.old-deja/g++.jason/template42.C
deleted file mode 100644
index 2bd62670f22..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template42.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Testcase for not evaluating template default args if they are
-// never used.
-
-struct X {
- X(int) { }
-};
-
-template <class T>
-struct A {
- void f (T t = T()) { }
-};
-
-int main ()
-{
- A<X> a;
- X x (1);
- a.f (x);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template43.C b/gcc/testsuite/g++.old-deja/g++.jason/template43.C
deleted file mode 100644
index d9b3f85fc3a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template43.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Test matching of partial specializations.
-
-template <int* x, int* y>
-class EQUAL {
-public:
- enum { value = 0 };
-};
-template <int* x>
-class EQUAL<x,x> {
-public:
- enum { value = 1 };
-};
-
-int x;
-int y;
-
-int equals_x_x = EQUAL<&x,&x>::value; // expected value: 1
-int equals_x_y = EQUAL<&x,&y>::value; // expected value: 0
-int equals_y_x = EQUAL<&y,&x>::value; // expected value: 0
-int equals_y_y = EQUAL<&y,&y>::value; // expected value: 1
-
-int main ()
-{
- if (equals_x_x == 1
- && equals_x_y == 0
- && equals_y_x == 0
- && equals_y_y == 1)
- return 0;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template44.C b/gcc/testsuite/g++.old-deja/g++.jason/template44.C
deleted file mode 100644
index 93b47bd23e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template44.C
+++ /dev/null
@@ -1,61 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-
-template <class T>
-class List {
-public:
- int len;
- T *array;
-
- int length() const { return( len ); }
-
- List() : len( 0 ), array( 0 ) {}
-};
-
-template <class T>
-int AlgoStdCompare(const T* a, const T* b) {
- if (*a < *b)
- return -1;
- else
- return (*a > *b); // 0 if equal, 1 if greater
-}
-
-int AlgoStdCompare(const char* const* a, const char * const*b)
-{
- return strcmp(*a,*b);
-}
-
-template <class T>
-void AlgoFixupSort(List< T >* , int, int ) {
-}
-
-template <class T>
-void AlgoSort(int (*compare)(const T *, const T *),
- void (*fixup)( List<T> *, int first, int last),
- List< T >* theList, int first, int last) {
- if (last < 0)
- last = theList->length()-1;
-
- qsort(theList->array+first, last-first+1, sizeof(T),
- (int (*)(const void *, const void *))compare);
- if (fixup)
- fixup(theList, first, last);
-}
-
-template <class T>
-void AlgoSort(List< T >* theList, int first = 0, int last = -1) {
- int (*compare)(const T*, const T*) = AlgoStdCompare;
- void (*fixup)( List<T> *, int first, int last) = AlgoFixupSort;
-
- AlgoSort(compare, fixup, theList, first, last);
-}
-
-int
-main()
-{
- List<const char *> slist;
- AlgoSort( &slist );
-
- List<int> ilist;
- AlgoSort( &ilist );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template5.C b/gcc/testsuite/g++.old-deja/g++.jason/template5.C
deleted file mode 100644
index 3c1e4cd04c6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template5.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Bug: g++ fails to compare integer constants properly.
-// Build don't link:
-
-template <int X, int Y>
-struct Matrix {
- int base [X] [Y];
-};
-
-template <int M,int H,int N>
-Matrix<M,N>& Mul(Matrix<M,N>& Q,Matrix<M,H>& A,Matrix<H,N>& B) {
- for(int i=0;i<M;i++) {
- for(int j=0;j<N;j++) {
- Q.base[i][j]=0;
- for(int k=0;k<H;k++) {
- Q.base[i][j]+=A.base[i][k]*B.base[k][j];
- }
- }
- }
- return Q;
-}
-
-void f ()
-{
- Matrix<2, 3> q;
- Matrix<2, 4> a;
- Matrix<4, 3> b;
- q = Mul (q, a, b);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template6.C b/gcc/testsuite/g++.old-deja/g++.jason/template6.C
deleted file mode 100644
index c42426a1908..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template6.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PRMS Id: 4656
-// Testcase for use of member pointers in template resolution
-
-template <class T> class A {
- public:
- A() : a(1) {}
- T a;
-};
-
-template <class T>
-int foo (T A<int>::*p)
-{
- return 0;
-}
-int main()
-{
- int A<int>::*pm = &A<int>::a; // gets bogus error - failed temp resolution
- foo (pm);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template7.C b/gcc/testsuite/g++.old-deja/g++.jason/template7.C
deleted file mode 100644
index 87d79a8ab7b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template7.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// PRMS Id: 4826
-// Build don't link:
-
-class A;
-template <class T> void f(const T&, const T&);
-
-void g (const A& a, A& b) {
- f (a, b); // gets bogus error - failed unification
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template8.C b/gcc/testsuite/g++.old-deja/g++.jason/template8.C
deleted file mode 100644
index 586fb61a02e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template8.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// PRMS Id: 4827
-// Build don't link:
-
-class A;
-template <class T> int f (const T&, const A *);
-
-int g (const int& a)
-{
- return f (a, (A *)0); // gets bogus error - failed unification
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template9.C b/gcc/testsuite/g++.old-deja/g++.jason/template9.C
deleted file mode 100644
index 80fd8c9775b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/template9.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// PRMS Id: 4864
-// Bug: g++ can't deal with a guiding declaration which comes before the
-// template.
-// Build don't link:
-
-void f (const int&, const int&);
-template <class T> void f (const T&, const T&) { }
-
-void g (int a)
-{
- f (a,a); // gets bogus error - two identical candidates
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary.C
deleted file mode 100644
index 168bfe9103e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// From: bruno@isoft.com.ar (Bruno R. Depascale)
-// Subject: No destructor bug
-// Date: Mon, 14 Feb 1994 12:49:45 -0300 (Arg)
-
-// Bug: temporaries created with constructor notation aren't destroyed.
-
-int count = 0;
-
-class A {
-public:
- A() { ++count; }
- ~A() { --count; }
-};
-
-int main()
-{
- A();
- return count;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary2.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary2.C
deleted file mode 100644
index 36c8e8e5d5b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-class X // Indentation has been done so to see the similarities.
-{
-public:
- X() {} // ERROR - referenced below
- X(X& x) {x.i=7;} // ERROR - Both functions modify the
- void bar(X& x) {x.i=7;} // ERROR - reference parameter x.
- int i;
-};
-
-X foo() { X x; return x; }
-
-int main()
-{
- X x(foo()); // ERROR - Compiler doesn't warn about temporary reference.
- x.bar(foo()); // ERROR - The same mistake is warned about in this case.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary3.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary3.C
deleted file mode 100644
index 3ffeec79d93..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary3.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Bug: the temporary returned from f is elided, causing a to be constructed
-// twice but only destroyed once.
-
-extern "C" int printf (const char *, ...);
-
-int c,d;
-
-struct A {
- A (int) { c++; }
- ~A () { d++; }
- A (const A&) { c++; }
- int i;
-};
-
-A f ()
-{ return 1; }
-
-int main ()
-{
- {
- A a (1);
- a = f ();
- }
- printf ("%d %d\n", c, d);
- return c != d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary4.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary4.C
deleted file mode 100644
index bb7e56f1a75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary4.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Bug: g++ initializes both B::i and B::j before destroying any temps.
-
-extern "C" int printf (const char *, ...);
-
-int c = 0;
-int d = 0;
-int r = 0;
-
-struct A {
- A() { if (c != d) r = 1; ++c; }
- A(const A&); // declare so g++ returns A on the stack
- ~A() { ++d; }
- operator int () { return 0; }
-};
-
-A foo ()
-{
- return A();
-}
-
-struct B {
- int i;
- int j;
- B(): i(foo()), j(foo()) { }
-};
-
-int main()
-{
- B b;
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary5.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary5.C
deleted file mode 100644
index 6a2469e3627..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary5.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 6604
-// Bug: Scoped constructor call is not properly recognized as a functional cast
-
-int c;
-
-struct A {
- A() { ++c; }
- ~A() { --c; }
- operator int () { return 1; }
-};
-
-int main ()
-{
- A::A();
- return c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary6.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary6.C
deleted file mode 100644
index ce6a92e586a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary6.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Bug: the temporary from the default parameter to f2 is reused.
-// Build don't link:
-
-struct A {};
-int f2 (int i, const A& ar = A());
-void f (int i, int j = f2(1));
-void g () { f (1); }
-void h () { f (1); }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary7.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary7.C
deleted file mode 100644
index 8b91fe1324d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary7.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// PRMS ID: 7304
-
-struct V {
- int n;
- V() : n(0) { }
- V(int x) : n(x) { }
-};
-
-V baz(const V &x)
-{
- return x;
-}
-
-int bar(V v1, V v2, V v3)
-{
- return v1.n;
-}
-
-struct A {
- A(): n(7) { }
- int foo();
- V n;
-};
-
-int A::foo()
-{
- V v1, v2;
- return bar(n, baz(v1), v2);
-}
-
-int main()
-{
- A a;
- return (a.foo() != 7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary8.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary8.C
deleted file mode 100644
index bb0698e2e3c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/temporary8.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Test for proper handling of temporaries in ?: exprs.
-
-extern "C" int printf (const char *, ...);
-int c = 0, d = 0;
-
-class A {
-public:
- A() { ++c; }
- A(const A&) { ++c; }
- ~A() { ++d; }
-};
-
-A f (const A& a)
-{
- return (c ? A() : A());
-}
-
-int main()
-{
- {
- f (c ? A() : A());
- }
- printf ("%d %d\n", c, d);
- return c != d || c != 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tempover.C b/gcc/testsuite/g++.old-deja/g++.jason/tempover.C
deleted file mode 100644
index 0998f692a59..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tempover.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed templates overloading
-#define TEMPL template <class T>
-
-class B {};
-
-TEMPL class A : virtual public B {
- public:
- A(int);
-};
-
-TEMPL A<T>::A(int){}
-
-A<double> a(1);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tempparse.C b/gcc/testsuite/g++.old-deja/g++.jason/tempparse.C
deleted file mode 100644
index 68f67adc473..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tempparse.C
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- PRMS Id: 3631
- Bug is: g++ mangles template class names in a way that it won't accept,
- and then tries to feed them to itself.
-*/
-// Build don't link:
-
-template<class T>
-struct A {
- A();
-};
-
-template<class T>
-struct B : A<T> {
- B();
-}; // gets bogus error - B<C<char>>
-
-template<class T>
-struct C {
- C();
-};
-
-template<class T>
-struct D {
- D();
- B<C<T> > p_f;
-};
-
-typedef D<char> Dummy;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tempsub.C b/gcc/testsuite/g++.old-deja/g++.jason/tempsub.C
deleted file mode 100644
index 4b69d888d36..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tempsub.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Distillation of crash1.C problem (PR 3633)
-// Build don't link:
-
-template<class P>
-class A
-{
- P p;
-};
-
-template<class Q>
-class B
-{
- A<Q> a; // bogus error - temp parm name propagating
-};
-
-template<class R>
-class C
-{
- B<R> b;
-};
-
-template<class S>
-class D
-{
- S s;
-};
-
-C< D<int> > c;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/this.C b/gcc/testsuite/g++.old-deja/g++.jason/this.C
deleted file mode 100644
index 544db6c361a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/this.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// PRMS Id: 5190
-// Bug: g++ fails to build up a const reference to `this'.
-// Build don't link:
-
-class X
-{
-public:
- void member ();
-};
-
-void print (const X* const &);
-
-void X::member ()
-{
- print (this);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk1.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk1.C
deleted file mode 100644
index 22c0516f1b3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/thunk1.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// Test that non-variadic function calls using thunks work right.
-// Special g++ Options: -fvtable-thunks
-
-struct A {
- void* p;
- A (void* q): p (q) { }
- A (const A& a): p (a.p) { }
-};
-
-class CBase {
-public:
- void BaseFunc();
-};
-
-class MMixin {
-public:
- virtual A MixinFunc(int arg, A arg2) = 0;
-};
-
-class CExample : public CBase, public MMixin {
-public:
- A MixinFunc(int arg, A arg2);
-};
-
-void CBase::BaseFunc()
-{
-}
-
-A CExample::MixinFunc(int arg, A arg2)
-{
- if (arg != 1 || arg2.p != 0)
- return 0;
- return this;
-}
-
-void* test(MMixin& anExample)
-{
- return anExample.MixinFunc(1,A(0)).p;
-}
-
-main ()
-{
- CExample c;
-
- if (test(c) != &c)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk2.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk2.C
deleted file mode 100644
index 73bb0ff33b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/thunk2.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// Test that non-variadic function calls using thunks and PIC work right.
-// Skip if not native
-// Special g++ Options: -fvtable-thunks -fPIC
-// excess errors test - XFAIL m68k-motorola-sysv m88k-motorola-sysv3
-
-struct A {
- void* p;
- A (void* q): p (q) { }
- A (const A& a): p (a.p) { }
-};
-
-class CBase {
-public:
- void BaseFunc();
-};
-
-class MMixin {
-public:
- virtual A MixinFunc(int arg, A arg2) = 0;
-};
-
-class CExample : public CBase, public MMixin {
-public:
- A MixinFunc(int arg, A arg2);
-};
-
-void CBase::BaseFunc()
-{
-}
-
-A CExample::MixinFunc(int arg, A arg2)
-{
- if (arg != 1 || arg2.p != 0)
- return 0;
- return this;
-}
-
-void* test(MMixin& anExample)
-{
- return anExample.MixinFunc(1,A(0)).p;
-}
-
-main ()
-{
- CExample c;
-
- if (test(c) != &c)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
deleted file mode 100644
index 66ac8f9529c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
+++ /dev/null
@@ -1,59 +0,0 @@
-// Test that variadic function calls using thunks work right.
-// Note that this will break on any target that uses the generic thunk
-// support, because it doesn't support variadic functions.
-
-// Special g++ Options: -fvtable-thunks
-// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3
-
-#include <stdarg.h>
-
-struct A {
- void* p;
- A (void* q): p (q) { }
- A (const A& a): p (a.p) { }
-};
-
-class CBase {
-public:
- void BaseFunc();
-};
-
-class MMixin {
-public:
- virtual A MixinFunc(int arg, ...) = 0;
-};
-
-class CExample : public CBase, public MMixin {
-public:
- A MixinFunc(int arg, ...);
-};
-
-void CBase::BaseFunc()
-{
-}
-
-A CExample::MixinFunc(int arg, ...)
-{
- va_list ap;
- va_start (ap, arg);
-
- if (arg != 1 || va_arg (ap, int) != 2 || va_arg (ap, int) != 3
- || va_arg (ap, int) != 4 || va_arg (ap, int) != 5
- || va_arg (ap, int) != 6 || va_arg (ap, int) != 7
- || va_arg (ap, int) != 8 || va_arg (ap, int) != 9)
- return 0;
- return this;
-}
-
-void* test(MMixin& anExample)
-{
- return anExample.MixinFunc(1,2,3,4,5,6,7,8,9).p;
-}
-
-main ()
-{
- CExample c;
-
- if (test(c) != &c)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc b/gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc
deleted file mode 100644
index 15095200d01..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// Testcase for use of template parms as types for other template parms.
-
-template <class T, T t>
-class A {
- T a;
-public:
- A(): a(t) {}
-
- operator T () { return a; }
-};
-
-template <class S, S s>
-class B {
- A<S,s> a;
-public:
- B(A<S,s>& b): a(b) {}
-
- operator S () { return a*20; }
-};
-
-main()
-{
- A<int, 5> a;
- B<int, 5> b(a);
-
- if (b * a == 500)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tredecl.C b/gcc/testsuite/g++.old-deja/g++.jason/tredecl.C
deleted file mode 100644
index 72cbae7a6ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tredecl.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Bug: Foo<Bar> *p semi-instantiates Foo<Bar> in local scope, so
-// when Foo<Bar> f tries to instantiate it later, it only finds the partial
-// instantiation from before.
-//
-// No PR; distilled from James Clark's SGML project.
-//
-// Build don't link:
-
-class Bar { };
-
-template<class T> class Foo;
-
-Foo<Bar> *p;
-
-template<class T> class Foo { };
-
-Foo<Bar> f; // gets bogus error - hosed binding levels
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C b/gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C
deleted file mode 100644
index faaf8624f27..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// No bug; making sure my fix for tredecl.C doesn't break other cases
-// Build don't link:
-
-template<class T> struct Foo { Foo<T> * me() { return this; } };
-Foo<int> i;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tredecl3.C b/gcc/testsuite/g++.old-deja/g++.jason/tredecl3.C
deleted file mode 100644
index bcc25ba484f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tredecl3.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// PRMS Id: 4679
-// Bug: redeclaration of templates erases the definition.
-// Build don't link:
-
-template <class T> class Foo { public: void h(); };
-template <class T> class Foo;
-
-void g()
-{
- Foo<int> f;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C b/gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C
deleted file mode 100644
index 64ba4b8ff8b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// It is illegal to use the name of a class template for anything else,
-// including another class template.
-
-template <class T> class A { }; // ERROR -
-template <class U, class V> class A { }; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/trivial.C b/gcc/testsuite/g++.old-deja/g++.jason/trivial.C
deleted file mode 100644
index f5a535541cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/trivial.C
+++ /dev/null
@@ -1,71 +0,0 @@
-// PRMS Id: 3665
-// Build don't link:
-
-//-------------------------------------------------------------
-// Referential declaration within class
-//
-// Imbeded below is the invocation of the compiler and the error
-// message
-//
-// This compiles successfully with both the xlC and CFRONT compilers
-// This was reviewed with Clem Dickey and we agree that it appears to
-// be a Cygnus compiler problem.
-//-------------------------------------------------------------
-/*
-$ make bug.reference.o
- /usr/p3/bin/i960-vxworks-g++ `getsrc bug.reference.C` -I. -Iinc1 -Iinc2
- -I/vw5.0.3/h -I/vw5.0.3/h/i960 -I/usr/p3/lib/gcc-lib/i960-vxworks/cygnus-2.3.3
-/include -I/usr/p3/lib/gcc-lib/i960-vxworks/cygnus-2.3.3-930417/include -I/usr/p
-3/lib/i960-vxworks/include -I/usr/p3/i960-vxworks/include -c -DCPU_FAMILY=I960
--DCPU=I960CA -mca -mold-align -g3 -O1 -DASSERT_ON -nostdinc -nostdinc++ -MD
-./bug.reference.C: In method `class1::class1 (long unsigned int, long unsigned i
-nt **&)':
-./bug.reference.C:43: cannot convert type `long unsigned int **'
-./bug.reference.C:43: to type `long unsigned int *[]&'
-make: 1254-004 The error code from the last command is 1.
-*/
-
-// typedefs
-typedef unsigned long u32;
-typedef u32 *ul[16];
-
-// class defs
-class class1 {
- u32 var1;
- class1(const class1 &); // Copy constructor
- class1& operator=(const class1 &); // operator= member function
-public:
- class1(u32, ul&);
- ul &ulref;
- ~class1() {}
-};
-
-
-// member function defs
-class1::class1(u32 u, ul &l) : var1(u), ulref(l)
-{}
-
-/* ===========================================================================
-Note: The following is a "work around" that allows the successful compilation.
-
-
-// typedefs
-typedef unsigned long u32;
-typedef u32 *ul[16];
-
-// class defs
-class class1 {
- u32 var1;
- class1(const class1 &); // Copy constructor
- class1& operator=(const class1 &); // operator= member function
-public:
- class1(u32, ul*);
- ul &ulref;
- ~class1() {}
-};
-
-
-// member function defs
-class1::class1(u32 u, ul *l) : var1(u), ulref(*l)
-{}
-============================================================================*/
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/typeck.C b/gcc/testsuite/g++.old-deja/g++.jason/typeck.C
deleted file mode 100644
index cffbc87bbce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/typeck.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Bug: g++ fails to catch incompatibilities in the parameter lists when
-// assigning.
-// Build don't link:
-
-typedef struct S *type_p;
-typedef struct S const *ctype_p;
-
-typedef ctype_p (*PF) (int);
-
-type_p callee (type_p arg) { return 0; }
-
-void foobar ()
-{
- static PF p = callee; // ERROR -
-
- p = callee; // ERROR -
-}
-
-PF pp = callee; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/typedef.C b/gcc/testsuite/g++.old-deja/g++.jason/typedef.C
deleted file mode 100644
index fac78cebeaf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/typedef.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// PRMS Id: 4687
-// Bug: g++ misinterprets typedefs of function type in class scope.
-// Build don't link:
-
-struct A {
- typedef int F();
- F *fp;
- void* g() { return fp; } // gets bogus error - typing
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/typedef2.C b/gcc/testsuite/g++.old-deja/g++.jason/typedef2.C
deleted file mode 100644
index 44a32de3925..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/typedef2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// PRMS Id: 5367
-// Bug: the nested name of C::func gets hosed.
-
-struct C {
- typedef int func(int *, int *);
-};
-
-int
-main()
-{
- C::func *handler;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/typedef3.C b/gcc/testsuite/g++.old-deja/g++.jason/typedef3.C
deleted file mode 100644
index 5b96451ccc9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/typedef3.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Test that inheriting from a type typedefed to itself works.
-// Build don't link:
-
-typedef struct class1 {
- class1& operator=(const class1&);
-} class1;
-
-class class2 : public class1 { };
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/typeid1.C b/gcc/testsuite/g++.old-deja/g++.jason/typeid1.C
deleted file mode 100644
index f6cd45bc664..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/typeid1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <typeinfo>
-#include <iostream.h>
-
-struct foo { double f(int); };
-
-int main() {
- double f (int);
- const std::type_info &r = typeid (f);
- cout << typeid(f).name() << endl;
- cout << typeid(foo::f).name() << endl;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/typeid2.C b/gcc/testsuite/g++.old-deja/g++.jason/typeid2.C
deleted file mode 100644
index 64ecc5a17f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/typeid2.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// PRMS Id: 11596
-
-#include <typeinfo>
-extern "C" int printf (const char *, ...);
-
-class Chicken
-{
-public:
- int eggs_per_day;
-};
-
-template <class Bird>
-class Flock
-{
-public:
- Bird * flock_head;
- int head_count;
- void print_self() {
- printf ("A flock of %d %ss\n", head_count, typeid (Bird).name ());
- printf ("A flock of %d %ss\n", head_count, typeid (*flock_head).name ());
- }
-};
-
-int main()
-{
- Flock<Chicken> x;
- printf ("%s\n", typeid(x).name());
- x.head_count = 42;
- x.print_self();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/union.C b/gcc/testsuite/g++.old-deja/g++.jason/union.C
deleted file mode 100644
index b145390efcc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/union.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Bug: g++ doesn't insert anon union members into class scope.
-// Breaks groff.
-// Build don't link:
-
-struct A {
- union {
- int i;
- };
-
- void foo () { i = 1; } // gets bogus error -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/vecdel.C b/gcc/testsuite/g++.old-deja/g++.jason/vecdel.C
deleted file mode 100644
index 717e9678898..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/vecdel.C
+++ /dev/null
@@ -1,19 +0,0 @@
-__SIZE_TYPE__ newsize = 0;
-__SIZE_TYPE__ delsize = 0;
-
-struct A {
- int i;
- void * operator new [] (__SIZE_TYPE__ i)
- { newsize = i; return ::operator new [](i); }
- void operator delete [] (void *p, __SIZE_TYPE__ i)
- { delsize = i; ::operator delete [](p); }
-};
-
-int main()
-{
- A* ap = new A [2];
- delete [] ap;
- if (!newsize || newsize != delsize)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/virtual.C b/gcc/testsuite/g++.old-deja/g++.jason/virtual.C
deleted file mode 100644
index 3fa952b164f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/virtual.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// From: chw@bellcore.com (Charlie Woloszynski,MRE 2J-278,8295228,,27143)
-// Newsgroups: gnu.g++.bug
-// Subject: gcc-2.5.5 bug in multiple inheritance and pure virtual functions
-// Date: 25 Jan 1994 23:41:36 -0500
-
-// Bug: g++ fails to notice definitions of abstract virtuals.
-// Build don't link:
-
-class A
-{
-public:
- virtual void a1() = 0;
- virtual void a2() = 0;
-};
-
-class B
-{
-public:
- virtual void b1() = 0;
- virtual void b2() = 0;
-};
-
-
-class C: public A, public B
-{
-public:
- virtual void a2() {};
- virtual void b2() {};
-};
-
-class D : public C
-{
-public:
- virtual void a1() {};
- virtual void b1() {};
-};
-
-int main()
-{
- D d; // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/virtual2.C b/gcc/testsuite/g++.old-deja/g++.jason/virtual2.C
deleted file mode 100644
index ef42f8b19b7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/virtual2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-struct A {
- virtual A* f () { return this; }
-};
-
-struct B: public A {
- virtual B* f () { return 0; }
-};
-
-int main ()
-{
- A* ap = new B;
- return (ap->f () != 0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning1.C b/gcc/testsuite/g++.old-deja/g++.jason/warning1.C
deleted file mode 100644
index 86a2160e764..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Bug: g++ protests that foo was never defined.
-// Build don't link:
-
-static void foo ();
-static void foo ();
-static void foo () { }
-void bar () { foo(); } // gets bogus error -
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning10.C b/gcc/testsuite/g++.old-deja/g++.jason/warning10.C
deleted file mode 100644
index 8dbf5ed3217..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning10.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Don't warn about these comparisons.
-// Build don't link:
-// Special g++ Options: -W -Wall
-
-struct A {
- unsigned int b : 28;
-};
-
-int f (int i, unsigned char u, A a, unsigned long ul)
-{
- if ((u & 0x10) == 0)
- return 1;
- if (i == 0U)
- return 1;
- if (a.b > ul)
- return 1;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning2.C b/gcc/testsuite/g++.old-deja/g++.jason/warning2.C
deleted file mode 100644
index 6b51dd05219..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// g++ ought to warn about casting a base pointer to a derived reference.
-// Build don't link:
-
-struct A {
- virtual int f () = 0;
-};
-
-struct B: public A { int f () { } };
-
-int main()
-{
- B* bp;
- A& ar = (A&)bp; // WARNING -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning3.C b/gcc/testsuite/g++.old-deja/g++.jason/warning3.C
deleted file mode 100644
index b63b9cac148..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Bug: overloading of 'A' for template causes bogus shadowing warnings.
-// Special g++ Options: -Wshadow
-// Build don't link:
-
-template<class T>
-class A
-{
- public:
- virtual ~A() {}
-};
-
-template class A<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning4.C b/gcc/testsuite/g++.old-deja/g++.jason/warning4.C
deleted file mode 100644
index a4eb4ac7d41..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning4.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Bug: a virtual function with the same name in an unrelated class will
-// cause a bogus overloading warning.
-// Special g++ Options: -Woverloaded-virtual
-// Build don't link:
-
-struct A {
- virtual void foo ();
-};
-
-struct B {
- virtual void bar ();
-};
-
-struct C: public A {
- virtual void bar ();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning5.C b/gcc/testsuite/g++.old-deja/g++.jason/warning5.C
deleted file mode 100644
index 239d867b52f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning5.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// PRMS Id: 5135
-// Bug: g++ complains that the result of the new expression is not used.
-// Special g++ Options: -Wall
-
-extern "C" int printf (const char *, ...);
-inline void * operator new (__SIZE_TYPE__, void *p) { return p; }
-
-class foo {
-public:
- foo() : a(42) {};
- int a;
-};
-
-int
-main()
-{
- char buffer[1024];
-
- new (buffer) foo;
-
- foo* pY = (foo *)buffer;
-
- return pY->a != 42;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning6.C b/gcc/testsuite/g++.old-deja/g++.jason/warning6.C
deleted file mode 100644
index 920a4694acd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning6.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Special g++ Options: -Wunused
-// Build don't link:
-
-struct A {
- int i:8;
- virtual ~A() {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning7.C b/gcc/testsuite/g++.old-deja/g++.jason/warning7.C
deleted file mode 100644
index 1fe03f89ce9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning7.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// PRMS Id: 5481
-// Special g++ Options: -Wunused
-// Build don't link:
-
-struct A { };
-static A a = A();
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning8.C b/gcc/testsuite/g++.old-deja/g++.jason/warning8.C
deleted file mode 100644
index d6ea821eb90..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning8.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-struct A {
- A();
- ~A();
-};
-
-struct B {
- B (const A&);
- ~B ();
-};
-
-const B& f ()
-{
- A a;
- return a; // WARNING - returning reference to temporary
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/warning9.C b/gcc/testsuite/g++.old-deja/g++.jason/warning9.C
deleted file mode 100644
index d46ba37650c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.jason/warning9.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Special g++ Options: -Wsynth
-
-struct A {
- operator int ();
- A& operator= (int); // WARNING - not used below
-};
-
-main()
-{
- A a, b;
-
- a = b; // WARNING - uses synthesized op=
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/access1.C b/gcc/testsuite/g++.old-deja/g++.law/access1.C
deleted file mode 100644
index 75b7ec39808..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/access1.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Build don't link:
-// GROUPS passed access
-// access file
-// Message-Id: <9211281852.AA24557@cove.cis.ufl.edu>
-// From: Robert Forsman <thoth@cove.cis.ufl.edu>
-// Subject: method access bug in gcc-2.3.1 on a sparc-sun-sunos4.1.2
-// Date: Sat, 28 Nov 92 13:52:14 EST
-
-extern "C" {
- int atoi(const char*);
-}
-
-struct thingus;
-
-class foo {
-public:
- static const foo alpha;
- static const foo beta;
-
-private:
- int i;
- foo(thingus * s);
-public:
- foo() {i=0;}
-};
-
-struct thingus {
- int i;
-};
-
-static thingus blah, blah2;
-
-const foo foo::alpha(&blah);
-const foo foo::beta(&blah2);
diff --git a/gcc/testsuite/g++.old-deja/g++.law/access2.C b/gcc/testsuite/g++.old-deja/g++.law/access2.C
deleted file mode 100644
index 22f91845016..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/access2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed access
-// access file
-// Message-Id: <9306301534.AA05072@sparc1.cnm.us.es>
-// From: juando@cnm.us.es (Juan D. Martin)
-// Subject: Compiler lets access to private constructor in template.
-// Date: Wed, 30 Jun 93 17:34:10 +0200
-
-template <class T> class Foo
-{
-private:
- friend class Bar; // To avoid warning.
- Foo(const T &v) {}; // ERROR - private
-};
-
-
-int main()
-{
- Foo<int>(1);// ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/access3.C b/gcc/testsuite/g++.old-deja/g++.law/access3.C
deleted file mode 100644
index 7836fe55edd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/access3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed access
-// unsorted.2 file
-// Date: Sat, 6 Jun 1992 18:23:03 -0400
-// From: Brendan Kehoe <brendan@cs.widener.edu>
-// Message-Id: <199206062223.AA22653@betty.cs.widener.edu>
-// Subject: bug with access control to member functions
-
- class X {
- void g (int); // ERROR - is private
- public:
- void g (double);
- };
-
- class Y : public X { void f() { g (1); } };// ERROR -
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/access4.C b/gcc/testsuite/g++.old-deja/g++.law/access4.C
deleted file mode 100644
index 994a6109bde..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/access4.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// GROUPS passed access
-// (Message bugs/access:3)
-// From: jamshid@ses.com (Jamshid Afshar)
-// Date: Wed, 2 Mar 94 18:24:22 CST
-// Subject: g++ 2.5.5 doesn't warn about inaccessible virtual base ctor
-// Message-ID: <9403030024.AA04534@ses.com>
-
-class ForceLeafSterile {
- friend class Sterile;
- ForceLeafSterile() {} // ERROR -
-};
-
-class Sterile : private virtual ForceLeafSterile {
-public:
- Sterile() {}
- Sterile(const char* /*blah*/) {}
-};
-
-class Illegitimate : public Sterile {
-public:
- Illegitimate() {} // ERROR - can't access virtual base deflt ctor
- Illegitimate(const char* /*blah*/)
- : ForceLeafSterile() {} // ERROR - can't access default ctor
- Illegitimate(const Illegitimate&)
- {} // ERROR - can't access default ctor
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/access5.C b/gcc/testsuite/g++.old-deja/g++.law/access5.C
deleted file mode 100644
index 8d25ed2c6a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/access5.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed access
-// access file
-// From: Jeffrey C. Gealow <jgealow@mtl.mit.edu>
-// Date: Thu, 18 Feb 93 10:22:23 -0500
-// Subject: nested class access control bug
-// Message-ID: <9302181522.AA29209@mtl.mit.edu>
-
-
-class enclose {
-public:
- class nested_public { int x; };
-protected:
- class nested_protected { int x; };
-private:
- class nested_private { int x; };
-};
-
-class derived : public enclose {
- nested_public obj1; // ok
- nested_protected obj2; // ok
- nested_private obj3; // error// ERROR - .* , XFAIL *-*-*
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg1.C b/gcc/testsuite/g++.old-deja/g++.law/arg1.C
deleted file mode 100644
index 1712f932f13..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-// arg-matching file
-// Subject: argument matching depending on the def order
-// From: kondo@akane.mech.ibaraki.ac.jp
-// Date: Fri, 04 Sep 92 17:41:05 JST
-
-#include <iostream.h>
-// check the order of declarations
-class A {
-public:
- void f(double* p) { cout << "A(double*)\n"; } // ERROR - candidate
- void f(int* p) { cout << "A(int*)\n"; } // ERROR - candidate
-};
-
-class B {
-public:
- void f(int* p) { cout << "B(int*)\n"; } // ERROR - candidate
- void f(double* p) { cout << "B(double*)\n"; } // ERROR - candidate
-};
-
-int main()
-{
- A a;
- B b;
-
- a.f(0);// ERROR - .*
- b.f(0);// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg10.C b/gcc/testsuite/g++.old-deja/g++.law/arg10.C
deleted file mode 100644
index 2c21ced1638..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg10.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-// arg-matching file
-// From: Terry Lee <terry@uivlsisd.csl.uiuc.edu>
-// Date: Sat, 14 May 1994 02:46:15 -0500
-// Subject: g++ 2.5.8 template<const void*> bug
-// Message-ID: <199405140746.AA03993@uivlsisd.csl.uiuc.edu>
-
-template<class T>
-class A {
-public:
- void func(const T& val) { }
-};
-
-int main()
-{
- A<const void*> a;
- int* ptr = 0;
- a.func(ptr);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg11.C b/gcc/testsuite/g++.old-deja/g++.law/arg11.C
deleted file mode 100644
index 4f0868e68a6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg11.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-// From: gustavo@cpqd.br (Gustavo Chaves)
-// Date: Wed, 25 May 94 09:38:00 EST
-// Subject: problem with user defined conversions in initialization
-// Message-ID: <9405251238.AA19815@moon.cpqd.br>
-
-struct String { String(const char*); };
-
-struct Ack { Ack(String); };
-
-struct S { void method(Ack); }; // ERROR - referenced below
-
-void function(Ack);
-
-int
-foo(S *o)
-{ // Neither call has a usable constructor for conversions of char[5] to Ack.
- function("adsf");// ERROR -
- o->method("adsf");// ERROR -
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg2.C b/gcc/testsuite/g++.old-deja/g++.law/arg2.C
deleted file mode 100644
index 5dbf48389ca..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg2.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-// arg-matching file
-// Message-Id: <199303032114.AA03574@kolvir.Boulder.ParcPlace.COM>
-// From: Warner Losh <imp@boulder.parcplace.com>
-// Subject: Overloading bug in g++ 2.3.3 (sparc) compiled by GNU C version 2.3.3
-// Date: Wed, 03 Mar 1993 14:14:02 MST
-
-class c1 { };
-
-typedef void (*fnp)(void *);
-typedef void (c1::*memfnp)(void *);
-extern void fn1( fnp );
-extern void fn1( c1*, memfnp );
-
-void f3(void *) { }
-
-void fn2()
-{
- fn1((fnp) &f3); // Everybody likes this
- fn1(&f3); // g++ complains here line 13
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg3.C b/gcc/testsuite/g++.old-deja/g++.law/arg3.C
deleted file mode 100644
index c984d3aa23e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg3.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-typedef void* Ptr;
-
-
-void func(int, const Ptr& p);
-
-template <class T> void func(T, const Ptr& p);
-
-
-Ptr& return_ref();
-
-
-int main()
-{
- char* x;
-
- func(x,return_ref()); // bug:
- // call of func(int, const Ptr&)
- // instead of func(char*,const Ptr&)
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg4.C b/gcc/testsuite/g++.old-deja/g++.law/arg4.C
deleted file mode 100644
index 2d4479deebc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg4.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-// arg-matching file
-// Message-Id: <14t4tyk@rpi.edu>
-// From: jorgej@colossus.cs.rpi.edu (Joaquim Jorge)
-// Subject: g++ 2.3.3 Doesn't check function types in initializer lists ?
-// Date: Tue, 9 Mar 1993 21:39:08 GMT
-
-typedef void (*FuncPtr)(int a, float b);
-class Amazing { int a; int b; int c; };
-
-extern void *Wrong1(char *a, int *b);
-extern void *Wrong2(Amazing a, int *b);
-extern void *Wrong3(char *a, Amazing *b);
-extern void Wrong4(char *a, int *b);
-extern Amazing Wrong5(char *a, int *b);
-
-FuncPtr p = &Wrong5;// ERROR - .*
-FuncPtr func_ptr_array[] = { &Wrong1, &Wrong2, &Wrong3, &Wrong4, &Wrong5, 0 };// ERROR - .*
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg5.C b/gcc/testsuite/g++.old-deja/g++.law/arg5.C
deleted file mode 100644
index 276068aa8b6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg5.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-extern double pow(double,int*);
-
-extern "C" {
- extern int printf(char*,...);
- extern double pow(double, double);
-}
-
-int main()
-{
- if (pow (2.0, 3.0) != 8.0)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg6.C b/gcc/testsuite/g++.old-deja/g++.law/arg6.C
deleted file mode 100644
index 2ad7732c156..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-// arg-matching file
-// Message-Id: <9305032310.AA03900@malachite.bbn.com>
-// From: Dan Franklin <dan@diamond.bbn.com>
-// Subject: overloaded function bug
-// Date: Mon, 3 May 93 19:10:10 EDT
-
-
- typedef int (*fnp)(int, void*);
- void dispatch_insert(int, int, fnp, void* = 0);
- void dispatch_insert(int, int, long*, char*);
- typedef void (*InsertFunP)(int, int, fnp, void*);
- extern void f(InsertFunP);
- void g() { f(dispatch_insert); }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg7.C b/gcc/testsuite/g++.old-deja/g++.law/arg7.C
deleted file mode 100644
index 7ea89ec15fa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg7.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// GROUPS passed arg-matching
-// arg-matching file
-// Message-Id: <9305041759.AA04913@malachite.bbn.com>
-// From: Dan Franklin <dan@diamond.bbn.com>
-// Subject: overloaded function resolved incorrectly
-// Date: Tue, 4 May 93 13:59:18 EDT
-
-#include <stdio.h>
-
-// Given the following overloaded function definitions
-
-void ovf(unsigned long, short, short) { printf ("PASS\n"); }
-void ovf( int, short, unsigned long) { printf ("FAIL\n"); }
-
-// and the call
-//
-// ovf(unsigned long, unsigned int, unsigned int)
-//
-// it seems to me (and to cfront) that this should resolve to ovf #1 above,
-// but g++ resolves it to ovf #2. Resolving to ovf #1 requires two conversions
-// (unsigned int => short) while resolving to ovf #2 takes two conversions
-// (unsigned long => int, unsigned int => short) and a promotion
-// (unsigned int => unsigned long).
-
-int main(int, char**)
-{
- unsigned long pixmap = 0;
- unsigned int x = 0;
- unsigned int y = 0;
-
- ovf(pixmap, x, y);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg8.C b/gcc/testsuite/g++.old-deja/g++.law/arg8.C
deleted file mode 100644
index 802471bae47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg8.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// GROUPS passed arg-matching
-// arg-matching file
-// Message-Id: <9307081747.AA14030@tnt>
-// From: mclaugh@tnt.acsys.com (Mark A. McLaughlin)
-// Subject: g++ bug
-// Date: Thu, 8 Jul 93 11:47:28 MDT
-
-
-#include <iostream.h>
-#include <stdio.h>
-
-// With this declaration the program will not link.
-template <class Type> ostream & save(ostream & os, Type T);
-
- template <class Type> ostream &
-save(ostream & os, Type T) {
- return os << T;
-} // save
-
- int
-main() {
- int i = 10;
- save((ostream &)cout, i) << endl;
- short int s = 5;
- save((ostream &)cout, s) << endl;
- printf ("PASS\n");
-} // main
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg9.C b/gcc/testsuite/g++.old-deja/g++.law/arg9.C
deleted file mode 100644
index 6f5e4b80914..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arg9.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// Build don't link:
-// GROUPS passed arg-matching
-// arg-matching file
-// Message-Id: <199405132049.QAA06835@elan.cs.UMD.EDU>
-// Subject: Bug in g++ 2.4.5 and 2.5.8
-// Date: Fri, 13 May 1994 16:49:22 -0400
-// From: Evan Rosser <ejr@cs.umd.edu>
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-class TupleIterator {
-public:
- TupleIterator(int *tpl);
- int& operator*();
- int live() const;
-// The compile fails with "no post-increment operator for type" at "TI++"
-// below.
-// It succeeds with the same declarations if set_position does not take an int.
-// This occurs with G++ 2.4.5 and 2.5.8.
-// Sun CC works OK with either case.
- void operator++(int);
- void set_position(int);
-private:
-};
-
-int main() {
-
-int t[5];
-t[1] = 1; t[2] = 2;t[3] = 3;t[4] = 4;
-TupleIterator TI(t);
-
- while(TI.live()){
- printf("%d", *TI);
- TI++;
- }
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm1.C b/gcc/testsuite/g++.old-deja/g++.law/arm1.C
deleted file mode 100644
index 112c6d80155..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <9211191128.AA14718@us-es.sel.de>
-// From: dcb@us-es.sel.de
-// Subject: ARM p79 trivial bug
-// Date: Thu, 19 Nov 92 12:28:24 +0100
-
-extern "C" int printf( const char *, ...);
-
-int main()
-{
- int a = 1 ;
- int b = 2 ;
- int c = 3 ;
-
- (a = b) = c ;
- printf( " %d %d %d\n", a, b, c);
- return 0 ;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm10.C b/gcc/testsuite/g++.old-deja/g++.law/arm10.C
deleted file mode 100644
index a57785e55e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm10.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <1oab2hINN7m@gap.caltech.edu>
-// From: tll@cco.caltech.edu (Tal Lewis Lancaster)
-// Subject: ARM Page 65
-// Date: 18 Mar 1993 17:21:21 GMT
-
-int(*p)[10]=new int[20][10];
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm11.C b/gcc/testsuite/g++.old-deja/g++.law/arm11.C
deleted file mode 100644
index 14f6b9d4832..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm11.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <9302181055.AA12522@slsvitt>
-// From: dcb@us-es.sel.de (David Binderman 3841)
-// Subject: Page 81 of the ARM
-// Date: Thu, 18 Feb 93 11:55:15 +0100
-
-
-int main() {
- int x[ 10, 11]; // ERROR - .*
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm12.C b/gcc/testsuite/g++.old-deja/g++.law/arm12.C
deleted file mode 100644
index 89e2a4d2c82..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm12.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// From: belley@cae.ca (Benoit Belley 3218)
-// Subject: Bad access control with private constructor and derivation
-// Date: Fri, 28 May 1993 12:39:57 -0400 (EDT)
-
-#include <iostream.h>
-
-class X
-{
-public:
- void f();
-
-private:
- X();
-};
-
-class Y : public X
-{
-public:
- Y();
-};
-
-X::X()
-{// ERROR - .*
- cout << "X::X()" << endl;
-}
-
-void X::f()
-{
- cout << "X::f()" << endl;
-}
-
-Y::Y()
-{// ERROR - within this
- cout << "Y::Y()" << endl;
-}
-
-
-int main()
-{
- Y y;
- y.f();
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm13.C b/gcc/testsuite/g++.old-deja/g++.law/arm13.C
deleted file mode 100644
index cf6227830af..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm13.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// GROUPS passed ARM-compliance
-#include <stdio.h>
-#include <stdlib.h>
-
-inline void *operator new(size_t, void *place) { return place; }
-
-int main()
-{
- int* p = (int*) malloc(sizeof(int));
- (void) new (p) int(1);
- p->int::~int();
- free(p);
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm14.C b/gcc/testsuite/g++.old-deja/g++.law/arm14.C
deleted file mode 100644
index d50b3cdfd9b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm14.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// unsorted.2 file
-// Message-Id: <BpBu19.GrF@math.waterloo.edu>
-// Date: Thu, 4 Jun 1992 15:07:56 GMT
-// Subject: access control
-// From: gjditchf@plg.waterloo.edu (Glen Ditchfield)
-
-
-class X {
- private:
- enum E1 {a1, b1}; // ERROR - private
- public:
- enum E2 {a2, b2};
- };
-
-void h(X* p) {
- X::E2 e2;
- int x2 = X::a2;
-
- X::E1 e1; // Should be rejected, but isn't.// ERROR - .* , XFAIL *-*-*
- int x1 = X::a1; // ERROR - Should be rejected, and is.
- }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm15.C b/gcc/testsuite/g++.old-deja/g++.law/arm15.C
deleted file mode 100644
index 639c1fc5e8b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm15.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// GROUPS passed ARM-compliance
-// arm file
-// From: Johan Bengtsson <jbn@lulea.trab.se>
-// Date: Thu, 21 Oct 93 16:10:25 +0100
-// Subject: gcc 2.4.5 initializes base classes in mem-initializer order
-// Message-ID: <9310211510.AA14943@holden.lulea.trab.se>
-
-#include <stdio.h>
-
-int state = 0;
-
-class A { public:
- A() {
- if (state == 0)
- state = 1;
- else {
- printf ("FAIL\n");
- exit (1);
- }
- }
-};
-
-class B { public:
- B() {
- if (state == 1)
- state = 2;
- else {
- printf ("FAIL\n");
- exit (1);
- }
- }
-};
-
-class AB : public A, public B { public:
- AB() : B(), A() {
- if (state == 2)
- state = 3;
- else {
- printf ("FAIL\n");
- exit (1);
- }
- }
-};
-
-int main()
-{
- AB ab;
- if (state == 3)
- printf("PASS\n");
- else
- printf("FAIL\n");
- exit (state != 3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm16.C b/gcc/testsuite/g++.old-deja/g++.law/arm16.C
deleted file mode 100644
index 894c37c44e9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm16.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -ansi -Wall -pedantic
-// GROUPS passed ARM-compliance
-// arm file
-// From: Olaf.Weber@cwi.nl
-// Date: Fri, 2 Dec 1994 09:14:25 +0100
-// Subject: Omitting & when obtaining a pointer to member function.
-// Message-ID: <9412020814.AA00604=olaf@havik.cwi.nl>
-
-struct C {
- void foo();
-};
-
-void (C::*pfm)() = C::foo;// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm2.C b/gcc/testsuite/g++.old-deja/g++.law/arm2.C
deleted file mode 100644
index b679c93c951..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <199301260140.AA13734@world.std.com>
-// From: gparker@world.std.com (Glenn P Parker)
-// Subject: gcc bug
-// Date: Mon, 25 Jan 1993 20:40:44 -0500
-
-int f() { return 1; }
-
-int main()
-{
- int (&fr)() = f;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm3.C b/gcc/testsuite/g++.old-deja/g++.law/arm3.C
deleted file mode 100644
index 3c888bafd7b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm3.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <199301260139.AA13555@world.std.com>
-// From: gparker@world.std.com (Glenn P Parker)
-// Subject: gcc bug
-// Date: Mon, 25 Jan 1993 20:39:19 -0500
-
-class X {
- enum S { blue, pink };
- int S;
-public:
- void f (enum S arg) ;
-};
-
-void X::f (enum S arg)
-{
- S = arg; // g++ gives error on this line.
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm4.C b/gcc/testsuite/g++.old-deja/g++.law/arm4.C
deleted file mode 100644
index 2fa43c3fc17..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm4.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <199301272139.AA25489@world.std.com>
-// From: kol@world.std.com (Nikolay Yatsenko)
-// Subject: g++ bug
-// Date: Wed, 27 Jan 1993 16:39:10 -0500
-
-extern "C" int printf(const char*,...);
-int count = 0;
-
-struct S {
- int i;
- S(int b) {
- i = b;
- count++; }
-};
-
-int main(void)
-{
- double a = 2.0;
-
- S x(int (a));
- if (count > 0)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm5.C b/gcc/testsuite/g++.old-deja/g++.law/arm5.C
deleted file mode 100644
index d39b476a840..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm5.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <9212072127.AA24243@us-es.sel.de>
-// From: dcb@us-es.sel.de
-// Subject: page 78 of the ARM
-// Date: Mon, 7 Dec 92 22:27:09 +0100
-
-extern "C" int printf( const char *, ...);
-
-int & max( int & a, int & b) {
- return (a < b) ? b : a;
-}
-
-int main( void) {
- int a = 1;
- int b = 2;
- int & c = max( a, b);
-
- if (&c == &b)
- printf( "PASS\n");
- else
- printf( "FAIL\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm6.C b/gcc/testsuite/g++.old-deja/g++.law/arm6.C
deleted file mode 100644
index e1715ee4bea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm6.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <9211231051.AA11287@us-es.sel.de>
-// From: dcb@us-es.sel.de
-// Subject: ARM page 87
-// Date: Mon, 23 Nov 92 11:51:38 +0100
-
-
-int main() {
- int a;
-
- switch (a) {
- case 1:
- int v2 = 3;// ERROR - crosses.*
- case 2:// ERROR - jump.*
- if (v2 == 7) // error not flagged by 2.3.1
- ;
- }
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm7.C b/gcc/testsuite/g++.old-deja/g++.law/arm7.C
deleted file mode 100644
index 1f3d43056ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm7.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// Special g++ Options: -w
-// GROUPS passed ARM-compliance
-// arm file (also in cvt file)
-// Message-Id: <9303061246.AA09402@gjetost.cs.wisc.edu>
-// From: solomon@cs.wisc.edu (Marvin Solomon)
-// Subject: Incorrect resolution of conversion path
-// Date: Sat, 6 Mar 93 06:46:27 -0600
-
-
-extern "C" void printf(const char *,...);
-
-class Base {
-public:
- int i;
- Base(int ii) : i(ii) {}
-};
-
-class Derived : public Base {
-public:
- Derived(int ii) : Base(ii) {}
- operator Base&();
-};
-
-Derived::operator Base&() {
- Base *b = new Base(100*i);
- return *b;
-}
-
-void f(Base &b) {
- if (b.i == 99)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
-
-int main() {
- Derived d(99);
- f(d);
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm8.C b/gcc/testsuite/g++.old-deja/g++.law/arm8.C
deleted file mode 100644
index ef340c6b24e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm8.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-// arm file
-// Message-Id: <9303161105.AA29336@slsvitt>
-// From: dcb@us-es.sel.de (David Binderman 3841)
-// Subject: Page 141 of the ARM
-// Date: Tue, 16 Mar 93 12:05:24 +0100
-
-struct K {
- void f( int *p = 0); // ERROR - previous specification
-};
-
-extern int * q;
-
-void K::f( int *p = q);// ERROR - .*
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm9.C b/gcc/testsuite/g++.old-deja/g++.law/arm9.C
deleted file mode 100644
index 35658b17cbc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/arm9.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-// GROUPS passed ARM-compliance
-#include <iostream.h>
-enum f1 {
- F1
-};
-
-enum f2 {
- F2
-};
-
-class A {
-public:
- void set (f1 f);
-};
-void A::set (f1 f) { cout << "called A f1\n";}
-
-class B : public A {
-public:
- void set (f2 f);
-};
-void B::set (f2 f) { cout << "called B\n";} // ERROR - candidate
-
-int main() {
- B b;
- b.set(F1); // ARM page 309: should call A.set(f1) and that what g++ does,// ERROR - .*
- // but 13.1 of ARM clearly states that it should call B::set()
- // or generate an error because overloading works only for
- // functions within the same scope (first page of chapter 13)
- // while member of derived and base classes are considered to
- // belong to different scopes. Thus B::set() should have
- // hidden (completely) the A::set() function.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/array1.C b/gcc/testsuite/g++.old-deja/g++.law/array1.C
deleted file mode 100644
index 13250c63420..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/array1.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// GROUPS passed arrays
-// array file
-// Message-Id: <9204120353.AA06266@cs.rice.edu>
-// From: dougm@cs.rice.edu (Doug Moore)
-// Subject: constructors not called on new'ed array elements
-// Date: Sat, 11 Apr 92 22:53:35 CDT
-
-#include <stdio.h>
-
-int i = 0;
-
-class foo
-{
-private:
- static foo *array;
-public:
- foo()
- {
- i++;
- }
-};
-
-foo* foo::array = new foo [5];
-
-int main()
-{
- if (i != 5)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/array2.C b/gcc/testsuite/g++.old-deja/g++.law/array2.C
deleted file mode 100644
index 0147a4a2bae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/array2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed arrays
-// excess errors test - XFAIL *-*-*
-// array file
-// Message-Id: <"nac.no.188:05.10.92.14.37.45"@nac.no>
-// From: frode@auticon.no
-// Subject: prototype bug ?
-// Date: Thu, 5 Nov 92 15:37:34 PST
-
- extern unsigned char * (*trt_def(int))[][2];
- extern unsigned char * (trt_rplst(unsigned char *(*)[][2]));
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bad-error1.C b/gcc/testsuite/g++.old-deja/g++.law/bad-error1.C
deleted file mode 100644
index 09a68788549..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bad-error1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed bad-errors
-// bad-error file
-// Message-Id: <9301081103.AA29469@jclark.com>
-// From: jjc@jclark.com (James Clark)
-// Subject: initializer for static class member array
-// Date: Fri, 8 Jan 93 11:03:05 GMT
-
-struct A {
- static int v[];
-};
-
-int A::v[1] = { 1 };
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bad-error3.C b/gcc/testsuite/g++.old-deja/g++.law/bad-error3.C
deleted file mode 100644
index c5ce1188d00..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bad-error3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed bad-errors
-// bad-error file
-// Date: Sun, 31 Jul 1994 11:37:43 +1000 (EST)
-// From: Rohan LENARD <rjl@iassf.easams.com.au>
-// Subject: g++-2.6.0 gives wrong warning for placement syntax new
-// Message-Id: <0iCk1b0000000z0VY0@iassf.easams.com.au>
-
-
-#include <stddef.h>
-
-void * operator new(size_t, int *);
-void * operator new(size_t, void *);
-
-int *x = 0;
-int foo(){
-new (x) int *;
-new (&x) int *;
-new (x) int *; // This is identical to line 8 !!!
-return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bad-error4.C b/gcc/testsuite/g++.old-deja/g++.law/bad-error4.C
deleted file mode 100644
index 09461c8db7c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bad-error4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed bad-errors
-#include <stddef.h>
-
-void * operator new(size_t, int *);
-void * operator new(size_t, void *);
-
-int *x = 0;
-int foo(){
-new (x) int *;
-new (&x) int *;
-new (x) int *; // This is identical to line 8 !!!
-return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bad-error6.C b/gcc/testsuite/g++.old-deja/g++.law/bad-error6.C
deleted file mode 100644
index 497a49d8700..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bad-error6.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed bad-errors
-typedef __SIZE_TYPE__ size_t;
-
-class tt {
- public:
- tt(int);
-
- private:
- void *operator new(size_t a); // Forbid object creation in heap memory.
-};
-
-void st(const tt&, int);
-
-void ff(int i, int j)
-{
- if( i > 0 ) {
- // This work ok.
- tt a_tt(i);
- st(a_tt, j);
- }
- else {
- // This triggers an error because of private operator new ????.
- st(tt(-i), j);
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bad-error7.C b/gcc/testsuite/g++.old-deja/g++.law/bad-error7.C
deleted file mode 100644
index 434921dd72d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bad-error7.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed bad-errors
-#include <iostream.h>
-
-class ParX
- {
- public:
- ParX() {}
- };
-
-class X : public ParX
- {
- public:
- void fn2() { cout << "hi" << endl; }
- };
-
-int main()
- {
- X x;
- ParX* pParX = &x;
- void (ParX::*p)() = (void (ParX::*)()) &X::fn2; // line 19
-
- (pParX->*p)();
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bit-fields1.C b/gcc/testsuite/g++.old-deja/g++.law/bit-fields1.C
deleted file mode 100644
index ed100af3816..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bit-fields1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed bit-fields
-typedef int A;
-
-struct B
-{
- int A : 2;
-} ;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bit-fields2.C b/gcc/testsuite/g++.old-deja/g++.law/bit-fields2.C
deleted file mode 100644
index beb34d05ba1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bit-fields2.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// GROUPS passed bit-fields
-// bitfield file
-// Message-Id: <92Oct29.191913est.62@jarvis.csri.toronto.edu>
-// From: mdivax1!robinson@ai.mit.edu (Jim Robinson)
-// Subject: gcc 2.2.2 C++ bug in handling :0 bit fields
-// Date: Thu, 29 Oct 1992 19:18:28 -0500
-//
-// Also applies to:
-// bitfield file
-// From: Jaimie Wilson/MSL <Jaimie_Wilson@msl.isis.org>
-// Date: Fri, 28 Jan 1994 06:11:43 -0500
-// Subject: GCC bug report
-
-
-#include <stdio.h>
-#include <stddef.h>
-
-struct foo {
- char a;
- char b;
- unsigned int : 0; /* force word alignment */
- char c;
-};
-
-int
-main(int argc, char **argv)
-{
- struct foo bar;
-
- if (offsetof (struct foo, c) > sizeof (unsigned int))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bit-fields3.C b/gcc/testsuite/g++.old-deja/g++.law/bit-fields3.C
deleted file mode 100644
index 7c7e6940e82..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/bit-fields3.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed bit-fields
- class t {
- short :(sizeof(short)-2);
- public:
- t();
- };
diff --git a/gcc/testsuite/g++.old-deja/g++.law/builtin1.C b/gcc/testsuite/g++.old-deja/g++.law/builtin1.C
deleted file mode 100644
index e9b465422cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/builtin1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// GROUPS passed builtins
-// Apparently not in g++ bug snapshot (was originally sent to bug-gcc)
-// Message-Id: <m0p74Fh-0002fCC@neal.ctd.comsat.com>
-// Date: Tue, 7 Dec 93 10:23 EST
-// From: neal@ctd.comsat.com (Neal Becker)
-// Subject: builtin_alloca on hpux (gcc-2.5.6)
-// We have to avoid using -ansi, which results in a call to alloca instead of
-// the use of __builtin_alloca, and thus ends up being unresolved.
-// Special g++ Options:
-
-extern "C" void* alloca( __SIZE_TYPE__ );
-extern "C" int printf (const char *, ...);
-
-void* junk() {
- return alloca(10);
-}
-main() { printf ("PASS\n");}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/casts1.C b/gcc/testsuite/g++.old-deja/g++.law/casts1.C
deleted file mode 100644
index 9cfeaa1a42d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/casts1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed casts
-// casts file
-// From: dcb@us-es.sel.de (David Binderman 3841)
-// Date: Thu, 18 Feb 93 14:42:48 +0100
-// Subject: Page 67 of the ARM
-// Message-ID: <9302181342.AA14050@slsvitt>
-
-int main() {
- (struct T { int b; } *) 0; // ERROR -
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/casts2.C b/gcc/testsuite/g++.old-deja/g++.law/casts2.C
deleted file mode 100644
index 11a36b9f5c2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/casts2.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// Build don't link:
-// GROUPS passed casts
-class VObject;
-
-typedef int boolean;
-
-typedef boolean (VObject::*method)();
-typedef boolean (VObject::*method0)();
-typedef boolean (VObject::*method1)(long);
-
-#define methodOf(o,m) (method)(&o::m)
-
-
-class VObject {
- public:
- boolean perform(method );
- boolean perform(method , long);
- void affectMethod(method );
- void dummy(){};
-};
-
-
-boolean VObject::perform(method m)
-{
- method0 q = (method0)m;
- return(this->*q)();
-}
-
-
-boolean VObject::perform(method m, long param)
-{
- method1 q = (method1)m;
- return(this->*q)(param);
- }
-
-void VObject::affectMethod(method m)
-{
- m = methodOf(VObject, dummy);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/casts3.C b/gcc/testsuite/g++.old-deja/g++.law/casts3.C
deleted file mode 100644
index e76f61c998d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/casts3.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed casts
-// casts file
-// From: fjh@cs.mu.oz.au
-// Message-Id: <9310121939.29641@munta.cs.mu.OZ.AU>
-// Subject: should emit diagnostic for `int *p = (void *)0;'
-// Date: Wed, 13 Oct 93 5:39:35 EST
- int *p = (void *)0;// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.law/code-gen1.C b/gcc/testsuite/g++.old-deja/g++.law/code-gen1.C
deleted file mode 100644
index 0f7c6102164..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/code-gen1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// GROUPS passed code-generation
-// code-gen file
-// From: Jeffrey C. Gealow <jgealow@mtl.mit.edu>
-// Date: Sun, 4 Jul 93 18:57:53 -0400
-// Subject: increment bug (0 + 1 + 1 = 3)
-// Message-ID: <9307042257.AA23538@mtl.mit.edu>
-
-#include <stdio.h>
-
-int main()
-{
- int i = 0;
- (++i)++;
- if (i == 2)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/code-gen2.C b/gcc/testsuite/g++.old-deja/g++.law/code-gen2.C
deleted file mode 100644
index 88dd13fd7ef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/code-gen2.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// GROUPS passed code-generation
-// code-gen file
-// From: Gunther Seitz <Gunther.Seitz@regent.e-technik.tu-muenchen.dbp.de>
-// Date: Thu, 18 Mar 1993 10:45:29 +0100
-// Message-ID: <93Mar18.104538met.1094@regatta.regent.e-technik.tu-muenchen.de>
-
-
-#include <stdio.h>
-
-class X {
-
-public:
- double x;
- X () { x=3.5; } // Here we go. This assignment fails because
- // of X::x being aligned on a doubleword
- // boundary, not a quadword one.
- };
-
-
-class A : public virtual X {}; // Only way to produce the
-class B : public virtual X {}; // error is to use this
-class C : public virtual X {}; // construct of virtual
- // base classes.
-
-class Y : public A, public B, public C {};
-
-
-int main ()
-{
- Y y; // To call the constructor
- printf ("PASS\n");
- }
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/code-gen4.C b/gcc/testsuite/g++.old-deja/g++.law/code-gen4.C
deleted file mode 100644
index c060d660300..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/code-gen4.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// GROUPS passed code-generation
-// code-gen file
-// From: david.binderman@pmsr.philips.co.uk
-// Date: Tue, 17 Aug 93 10:09:38 BST
-// Subject: .* broken in 2.4.5
-// Message-ID: <9308170909.AA05509@pmsr.philips.co.uk>
-
-class A {
-public:
- char c;
-};
-
-typedef char A::*PMA;
-
-PMA pmA = &A::c;
-
-A oA;
-
-extern "C" int printf( const char *, ...);
-
-int main()
-{
- oA.c = 'q';
-
- if ( (oA .* pmA))
- printf( "PASS\n");
- else
- printf(" FAIL\n");
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C b/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
deleted file mode 100644
index 023b6237808..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
+++ /dev/null
@@ -1,283 +0,0 @@
-// GROUPS passed code-generation
-// code-gen file
-// From: "David" <norman@pi14.arc.umn.edu>
-// Date: Mon, 15 Nov 1993 20:59:14 -0600 (CST)
-// Subject: An error!
-// Message-ID: <9311160259.AA03353@pi14.arc.umn.edu>
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include <fstream.h>
-#include <iostream.h>
-#include <math.h>
-
-#define ANSI_C
-
-typedef double VEC ;
-
-class Vector;
-
-class VectorInt
-{
- public:
-
- /* Nothing public!! Only Vector can use this class */
-
- private:
-
- VectorInt( int );
- VectorInt( int, double *, int = 0 );
- VectorInt( const VectorInt & );
- ~VectorInt();
-
- VectorInt *refer();
- void unrefer();
- int count; /* Number of Vector's refering to me */
-
- VEC *vec;
-
- friend class Vector;
- friend class VecElem;
-};
-
-class VecElem
-{
- public:
-
- operator double();
- double operator=( double );
-
- private:
-
- VecElem( Vector &, int );
- VecElem( const VecElem & );
-
- Vector &v;
- int row; /* Row element refers to */
-
- friend class Vector;
-};
-
-class Vector
-{
- public:
-
- Vector(); // Must be assigned to before used
- Vector( VectorInt * );
- Vector( int );
- Vector( int, double *, int beg = 0 );
- Vector( const Vector & );
- Vector &operator=( const Vector & );
- ~Vector() { if(r) r->unrefer(); };
-
- int row() const { return 19; }
- int dim() const { return 10; }
-
- double operator()( int ) const;
- VecElem operator()( int );
-
- double assign( int, double );
-
- friend ostream& operator<<( ostream&, const Vector& m );
-
- private:
-
- VectorInt *r; /* Reference to real data */
-
- friend class VecElem;
- friend class LUDecom;
- friend class SVD;
-};
-
-
-Vector::
-Vector()
- : r(0)
-{}
-
-Vector::
-Vector( VectorInt *vi )
- : r(vi)
-{
- r->refer();
-}
-
-Vector::
-Vector( int row )
-{
- assert( row > 0 );
-
- r = new VectorInt( row );
-
- r->refer();
-}
-
-Vector::
-Vector( int row, double *d, int beg )
-{
- assert( row > 0 );
-
- r = new VectorInt( row, d, beg );
-
- r->refer();
-}
-
-Vector::
-Vector( const Vector &A )
- : r( A.r->refer() )
-{}
-
-Vector& Vector::
-operator=( const Vector &A )
-{
- if( r )
- r->unrefer();
-
- r = A.r->refer();
-
- return *this;
-}
-
-double Vector::
-operator()( int row ) const
-{
- assert( r );
-
- return *r->vec;
-}
-
-VecElem Vector::
-operator()( int r )
-{
- assert(r);
-
- return VecElem( *this, r );
-}
-
- /* assign changes the matrix, it does not create a new one! */
-double Vector::
-assign( int rownum, double d )
-{
- assert(r);
-
- if( rownum > row() || rownum <= 0 ) {
- cerr << "Warning: trying to assign out of bounds" << endl;
- cerr << "row " << rownum << endl;
- cerr << "Vector size " << row() << endl;
- abort();
- }
-
- if( r->count == 1 ) {
- /* Don't need to create a new matrix, since we are the only */
- /* one pointing to ours */
- }
- else {
- VectorInt *vi = new VectorInt( *r );
- r->unrefer();
- r = vi->refer();
- }
-
- return d;
-}
-
-
-VectorInt::
-VectorInt( int sx )
- : vec( new double[sx] ), count(0)
-{ }
-
-VectorInt::
-VectorInt( int sx, double *, int )
- : vec( new double[sx] ), count(0)
-{
-}
-
-VectorInt::
-VectorInt( const VectorInt & )
- : vec( new double[10] ), count(0)
-{
-}
-
-VectorInt * VectorInt::
-refer()
-{
- count ++;
- return this;
-
- // cout << "Refering vec" << endl;
-}
-
-void VectorInt::
-unrefer()
-{
- count--;
-
- if( count == 0 ) {
- delete this;
- }
-
- // cout << "Unrefering vec" << endl;
-}
-
-VectorInt::
-~VectorInt()
-{
- delete vec;
- vec = 0;
-}
-
-VecElem::
-VecElem( Vector &vec, int r )
- : v(vec), row(r)
-{
- if( r < 1 || r > vec.row() ) {
- cerr << "Trying to access vector element out of bounds" << endl;
- abort();
- }
-}
-
-VecElem::
-VecElem( const VecElem &elem )
- : v(elem.v), row(elem.row)
-{}
-
-VecElem::
-operator double()
-{
- assert( v.r->vec );
- return *v.r->vec;
-};
-
-double VecElem::
-operator=( double d )
-{
- return v.assign( row, d );
-}
-
-
-
-
-
-int makeforms( Vector cen, Vector **a, Vector **b );
-
-int main()
-{
- Vector *a[8], *b[8], disp(3);
- Vector cen(3), cen2(3);
- int i, j;
-
- if (makeforms (cen,a,b) != 10)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-
-
-}
-
-int
-makeforms( Vector cen, Vector **a, Vector **b)
-{
- return 10;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/copy1.C b/gcc/testsuite/g++.old-deja/g++.law/copy1.C
deleted file mode 100644
index 5cea11ab38a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/copy1.C
+++ /dev/null
@@ -1,66 +0,0 @@
-// GROUPS passed copy-ctors
-#include <stdio.h>
-
-int pass = 0;
-class name {
- int namestuff;
-public:
- name() {
- namestuff = 111;
- }
- name(const name& subject);
-
- name & operator = (const name& right) {
- this->namestuff = right.namestuff;
- return *this;
- }
-
- ~name() {
- ;
- }
-};
-
-name::name(const name& subject) {
- pass = 1;
-}
-
-class person {
- int personstuff;
- name personname;
-public:
- person() {
- ;
- personstuff = 222;
- }
- ~person() {
- ;
- }
- void print() {
- ;
- }
-
-};
-
-void
-test(person argp)
-{
- person testp;
-
- ;
- argp.print();
- testp = argp;
- argp.print();
- testp.print();
- ;
-}
-
-int main()
-{
- person mainp;
- test(mainp);
- if (pass)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/copy2.C b/gcc/testsuite/g++.old-deja/g++.law/copy2.C
deleted file mode 100644
index 3935cfd557d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/copy2.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed copy-ctors
-// copy file
-// From: Vivek Khera <khera@cs.duke.edu>
-// Date: Mon, 15 Nov 1993 16:02:18 -0500
-// Subject: g++ 2.5.3 fails to automatically generate default initializer
-// Message-ID: <9311152102.AA21248@thneed.cs.duke.edu>
-
-class String
-{
- private:
- char a[100];
- int len;
- public:
- String();
-};
-
-String::String()
-{
- len = 0;
-}
-
-
-struct List
-{
- String item[100];
- int num_items;
-// List(); // uncomment this line to let compile work
-};
-
-int
-main(int argc, char **argv)
-{
- List a;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors1.C b/gcc/testsuite/g++.old-deja/g++.law/ctors1.C
deleted file mode 100644
index 79ca94aa9b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// From: rac@qedinc.com (Robert Clark)
-// Date: Tue, 14 Dec 93 10:45:50 PST
-// Subject: bug in g++ 2.5.7 Array of objects
-// Message-ID: <9312141845.AA09188@annapurna.qedinc.com>
-
-
-class POOL {
-public:
- POOL();
-};
-
-struct VAL_LIST {
- POOL pool[2];
-};
-
-VAL_LIST baz;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors10.C b/gcc/testsuite/g++.old-deja/g++.law/ctors10.C
deleted file mode 100644
index 213b7988b48..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors10.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <9302052351.AA10789@harvey>
-// From: greg@qualcomm.com (Greg Noel)
-// Subject: bug019.cc
-// Date: Fri, 5 Feb 93 15:51:42 -0800
-
-#include <iostream.h>
-
-class Class
-{
- class Err : public ostream
- {
- public:
- Err(void) : ostream() { }
- ~Err(void) { }
- };
-public:
- //template<class T> Err& operator << (const T x) { return Err() << x; }
- Err& operator << (const char *x) { return Err() << x; }// ERROR - .*
-private:
- char x;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors11.C b/gcc/testsuite/g++.old-deja/g++.law/ctors11.C
deleted file mode 100644
index 3c393561f6a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors11.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <9302081631.AA14744@tera.com>
-// From: rrh@tera.com (Robert R. Henry)
-// Date: Mon, 8 Feb 93 08:31:39 PST
-extern "C" void printf(const char *,...);
-class A{
-public:
- inline A(int x){printf("constructing A with %d\n", x);}
-};
-
-class B:public A{
-private:
-public:
-}; // ERROR - non-default constructor
-
-int main()
-{
- B(10);// ERROR - B doesn't have a constructor taking int
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors12.C b/gcc/testsuite/g++.old-deja/g++.law/ctors12.C
deleted file mode 100644
index 32bf5c6ba90..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors12.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// GROUPS passed constructors
-#include <stdio.h>
-#include <stdlib.h>
-#include <iostream.h>
-
-#define MAGIC 7654
-
-class complex {
- double re;
- double im;
- int magic;
- static int count;
-public:
- complex() { re=im=0; magic=MAGIC; }
- complex(double d) { re=d; im=0; magic=MAGIC; }
- complex(double d, double d2) {re=d; im=d2; magic=MAGIC; }
- ~complex() {if(magic!=MAGIC) {printf("FAIL\n");exit(0);}}
- friend ostream& operator << (ostream& o, const complex& c)
- { return o << "(" << c.re << "," << c.im << ")"; }
-};
-
-int complex::count=0;
-
-int main()
-{
- complex v[6] = {1, complex(1,2), complex(), 2 }; // ARM Sect. 12.6.1
- int i; // page 289
-
- for(i=0; i<6; i++) ;
- printf ("PASS\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors13.C b/gcc/testsuite/g++.old-deja/g++.law/ctors13.C
deleted file mode 100644
index aef721be7ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors13.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-#include <iostream.h>
-
-class A {
- A() {} // private constructor// ERROR - .*
-};
-
-int main() {
- A* a = new A();// ERROR - .*
- if (a) {
- cout << "a != NULL\n";
- } else {
- cout << "a == NULL\n";
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors14.C b/gcc/testsuite/g++.old-deja/g++.law/ctors14.C
deleted file mode 100644
index 49abdf79edb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors14.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <199301310203.AA22417@oak.ucsc.edu>
-// From: "Dean R. E. Long" <dlong@cse.ucsc.edu>
-// Subject: problems with default constructors
-// Date: Sat, 30 Jan 1993 18:03:32 -0800
-
-class A0 {
-};
-
-class A1 {
-public:
- A1(void) {}
-};
-
-class A2 {
- A1 a;
-};
-
-class B0 : public A0 {
-public:
- B0(void) {}
- B0(int) {}
- B0(char) : A0() {}
- B0(short) : A0() {}
-};
-
-class B1 : public A1 {
-public:
-};
-
-class B2 : public A2 {
-public:
- B2(void) : A2() {}
- B2(int) : A2() {}
-};
-
-class C : public B1 {
-public:
- C(void) : B1() {}
- C(int) : B1() {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors15.C b/gcc/testsuite/g++.old-deja/g++.law/ctors15.C
deleted file mode 100644
index 32da1418f3d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors15.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <9303270404.28207@munta.cs.mu.OZ.AU>
-// From: fjh@cs.mu.oz.au
-// Subject: bug with new/delete of multidimensional array
-// Date: Sat, 27 Mar 93 14:04:52 EST
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int construct = 0;
-
-class Element {
-public:
- Element() { construct++; if (construct > 6) {printf ("FAIL\n"); exit(1);}}
- ~Element() { }
-};
-
-typedef Element array[2];
-
-int main() {
- array *x;
- x = new array[3];
- delete x;
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors16.C b/gcc/testsuite/g++.old-deja/g++.law/ctors16.C
deleted file mode 100644
index 8a3982b15e0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors16.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <9306021533.AA14347@icepick.jts.com>
-// From: roland@jts.com (Roland Knight )
-// Subject: gcc 2.4.1 bug
-// Date: Wed, 2 Jun 1993 11:33:34 -0400
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-char stuff[50];
-char *p = stuff;
-
-class A {
-public:
- A() { *p++ = 'A';}
-};
-
-class B {
-public:
- B() { *p++ = 'B'; }
-};
-
-class C : public A, public B {
-public:
- C() : B(), A() { *p++ = 'C'; }
-};
-
-class D : public A, public B {
-public:
- D() : B() { *p++ = 'D'; }
-};
-
-class E : public A, public B {
-public:
- E() { *p++ = 'E'; }
-};
-
-
-int main() {
- C c;
- D d;
- E e;
- if (strncmp ("ABCABDABE", stuff, 9))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors17.C b/gcc/testsuite/g++.old-deja/g++.law/ctors17.C
deleted file mode 100644
index eab071c1248..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors17.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <199306151813.gD28471@mail.Germany.EU.net>
-// From: stephan@ifconnection.de (Stephan Muehlstrasser)
-// Subject: gcc 2.4.3.1: illegal constructor call not rejected
-// Date: Tue, 15 Jun 1993 18:34:14 +0200 (MET DST)
-
-
-#include <fstream.h>
-
-class X : public ifstream {
- public:
- X(int a, char *b) {} // ERROR - candidate
-}; // ERROR - candidate
-int main()
-{
- X *y = new X(10, "123");
- // the compiler must reject this constructor call:
- X *x = new X("abc");// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors18.C b/gcc/testsuite/g++.old-deja/g++.law/ctors18.C
deleted file mode 100644
index e7a666e3e80..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors18.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-class test1 {
-};
-
-template<class T>
-class GC_PTR {
-public:
- GC_PTR(T &a) {}
-};
-
-
-void
-gotPtrs(GC_PTR<test1> r1)
-{
-}
-
-static void
-short_alloc(int n)
-{
- test1 here;
- GC_PTR<test1> foo = here; // This works fine.
-
- gotPtrs(here); // Compile error from this
- // No constructor named `GC_PTR` in visible scope
- // conversion between incompatible aggregate types requested
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors19.C b/gcc/testsuite/g++.old-deja/g++.law/ctors19.C
deleted file mode 100644
index 25c58d6954f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors19.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// From: mkohtala@vinkku.hut.fi
-// Date: Tue, 5 Oct 1993 19:31:16 +0200
-// Message-Id: <199310051731.AA12260@lk-hp-11.hut.fi>
-// Subject: Nested class constructor calling bug
-
-class X
-{
- public:
- class Y
- {
- public:
- Y(int i) : a(i) {}
- int a;
- };
- static void f(Y y);
-};
-
-void X::f(X::Y y)
-{
-}
-
-int
-main()
-{
- X::Y y = X::Y(1); // Tries to call ctor Y instead of X::Y
- X::f(X::Y(2)); // Tries to call Y instead of X::Y
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors2.C b/gcc/testsuite/g++.old-deja/g++.law/ctors2.C
deleted file mode 100644
index d4f2d9cdabb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors2.C
+++ /dev/null
@@ -1,69 +0,0 @@
-// GROUPS passed constructors
-// Message-Id: <m0p8Am6-0002fCC@neal.ctd.comsat.com>
-// Date: Fri, 10 Dec 93 11:33 EST
-// From: neal@ctd.comsat.com (Neal Becker)
-// Subject: serious problems with static constructors
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define CONST const
-
-class Sig {
-
-public:
-
- enum Type { Byte_t, Word_t, Long_t, Float_t, Double_t, Complex_t, ComplexLong_t, Bad_t };
-
-private:
-
- Type T;
-
-public:
-
- static CONST char *ByteMagic, *WordMagic, *LongMagic,
- *FloatMagic, *DoubleMagic, *ComplexMagic, *ComplexLongMagic, *BadMagic;
-
- struct SigTable {
- Type T;
- CONST char* Magic;
- };
-
- static CONST SigTable sigTable[];
-
-};
-
-CONST char
-*Sig::ByteMagic = "BYTE",
-*Sig::WordMagic = "WORD",
-*Sig::LongMagic = "LONG",
-*Sig::FloatMagic = "FLOA",
-*Sig::DoubleMagic = "DOUB",
-*Sig::ComplexMagic = "COMP",
-*Sig::ComplexLongMagic = "CMPL",
-*Sig::BadMagic = NULL;
-
-
-CONST Sig::SigTable Sig::sigTable[] = {
- { Byte_t, ByteMagic },
- { Word_t, WordMagic },
- { Long_t, LongMagic },
- { Float_t, FloatMagic },
- { Double_t, DoubleMagic },
- { Complex_t, ComplexMagic },
- { ComplexLong_t, ComplexLongMagic },
- { Bad_t, BadMagic }
-};
-
-int main() {
- if (strcmp (Sig::sigTable[0].Magic, "BYTE")
- || strcmp (Sig::sigTable[1].Magic, "WORD")
- || strcmp (Sig::sigTable[2].Magic, "LONG")
- || strcmp (Sig::sigTable[3].Magic, "FLOA")
- || strcmp (Sig::sigTable[4].Magic, "DOUB")
- || strcmp (Sig::sigTable[5].Magic, "COMP"))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors20.C b/gcc/testsuite/g++.old-deja/g++.law/ctors20.C
deleted file mode 100644
index 34dbf7bf023..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors20.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <9311011758.AA25157@thneed.cs.duke.edu>
-// From: Vivek Khera <khera@cs.duke.edu>
-// Subject: g++ 2.5.0 fails to automatically generate default initializer
-// Date: Mon, 01 Nov 1993 12:58:34 -0500
-
-class String
-{
- private:
- char a[100];
- int len;
- public:
- String();
-};
-
-String::String()
-{
- len = 0;
-}
-
-
-struct List
-{
- String item[100];
- int num_items;
-// List(); // uncomment this line to let compile work
-};
-
-int
-main(int argc, char **argv)
-{
- List a;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors21.C b/gcc/testsuite/g++.old-deja/g++.law/ctors21.C
deleted file mode 100644
index 3f3b3df522a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors21.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// From: mln@tera.com (Mark Niehaus)
-// Subject: g++-2.5.2 -- private copy ctor hides public ctor
-// Date: Mon, 8 Nov 93 10:14:50 PST
-
-class A {
- A(A&);
- public:
- A();
-};
-
-class B {
- A a;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors3.C b/gcc/testsuite/g++.old-deja/g++.law/ctors3.C
deleted file mode 100644
index 6658764fe47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors3.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <m0oxRi1-0002fPC@nesmith.pactitle.com>
-// From: genehi@nesmith.pactitle.com (Gene Hightower)
-// Subject: Apparent bug in g++ 2.5.2
-// Date: Wed, 10 Nov 93 18:24 PST
-
-class One {
- public:
- One() {}
-};
-
-template<class T> class Two : public One {
-};
-
-class Three {
-};
-
-class Four {
- Two<Three> x[1];
-};
-
-class Five {
- Four y;
-
- public:
- Five() {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors4.C b/gcc/testsuite/g++.old-deja/g++.law/ctors4.C
deleted file mode 100644
index dc1f08beaf2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors4.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Special g++ Options: -w
-// GROUPS passed constructors
-// ctors file
-// Message-Id: <ACHILLES.92Nov25192123@i90s8.ira.uka.de>
-// From: Alf-Christian Achilles <achilles@ira.uka.de>
-// Subject: g++ 2.3.1 rejects initialization with object of derived class
-// Date: 25 Nov 92 19:21:23
-
-extern "C" int printf (const char *, ...);
-
-class A {
-public:
- virtual void foo() {};
-};
-
-class B : public A {
-public:
- void foo() {};
-};
-
-main ()
-{
- B b;
- A a = b; //unjustified error: unexpected argument to constructor `A'
- printf ("PASS\n");
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors5.C b/gcc/testsuite/g++.old-deja/g++.law/ctors5.C
deleted file mode 100644
index 3fc58041192..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors5.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctors file
-// Subject: bug in handling static const object of the enclosing class
-// Date: Tue, 1 Sep 92 10:38:44 EDT
-
-class X
-{
- private:
- int x;
- public:
- static const X x0;
- X( int );
-}; // ERROR - candidate
-
-class Y
-{
- private:
- X xx;
- public:
- Y();
-}
-X::X( int xi )
-{// ERROR - return.*
- x = xi;
-}
-
-const X X::x0( 0 );
-
-Y::Y()
-{// ERROR - no mat
- xx = X::x0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors6.C b/gcc/testsuite/g++.old-deja/g++.law/ctors6.C
deleted file mode 100644
index a46f4e89bdb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-#include <complex.h>
-
-double foo(double_complex *a)
-{
- return 0.0;
-}
-
-
-double bar(void)
-{
- double_complex v[10];
- return foo(v);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors7.C b/gcc/testsuite/g++.old-deja/g++.law/ctors7.C
deleted file mode 100644
index 4f056cc072c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors7.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed constructors
-// ctors file
-// Message-Id: <3JUL199214462623@envmsa.eas.asu.edu>
-// From: peckham@envmsa.eas.asu.edu (Bill)
-// Subject: const constructor causes crash
-// Date: Fri, 3 Jul 1992 21:46:00 GMT
-
-class base_t {
-public:
- virtual char *name () { return "base_t"; }
-
- base_t ();
- virtual ~base_t ();
-};
-
-class d1_t : public base_t {
-public:
- virtual char *name () { return "d1_t"; }
-
- // The const keyword on this constructor is an error, but it shouldn't
- // cause the compiler to crash.
-
- d1_t () const;// ERROR - .*const.*
- virtual ~d1_t ();
-};
-
-class d2_t : public base_t {
-public:
- virtual char *name () { return "d2_t"; }
-
- d2_t (int);
- virtual ~d2_t ();
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors8.C b/gcc/testsuite/g++.old-deja/g++.law/ctors8.C
deleted file mode 100644
index ef40d354b69..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors8.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// GROUPS passed constructors
-// ctor file
-// Message-Id: <199212160609.AA18247@phecda.cs.sfu.ca>
-// From: Taj Khattra <khattra@cs.sfu.ca>
-// Subject: gcc 2.3.1 global ctor bug ?
-// Date: Tue, 15 Dec 92 22:09:37 PST
-
-#include <stdio.h>
-
-struct foo {
- foo() : index(-1) {}
- int index;
-};
-
-foo *arr = new foo[2];
-
-int main()
-{
- if (arr[0].index == -1
- && arr[1].index == -1)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors9.C b/gcc/testsuite/g++.old-deja/g++.law/ctors9.C
deleted file mode 100644
index d926e64a075..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors9.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed constructors
-// ctors file
-// Message-Id: <9301132030.AA05210@cs.rice.edu>
-// From: dougm@cs.rice.edu (Doug Moore)
-// Subject: 2.3.3: accepts ctor-less derived class of ctor-ful base class
-// Date: Wed, 13 Jan 93 14:30:21 CST
-// Note: It gives an error now. But not a very good one.
-
-struct Foo
-{
- Foo(int aa);
- int a;
- const Foo* operator-> () const {return this;}
-};
-
-Foo::Foo(int aa)
-:a(aa)
-{ }
-
-
-struct var_Foo: public Foo
-{
- var_Foo* operator-> () {return this;}
-};// ERROR - base.*// ERROR - in class.*
-
-int blort(Foo& f)
-{
- return f->a;
-};
-
-int main()
-{
- var_Foo b(2);// ERROR -
- b->a = 0;
- int x = blort(b);
- return x;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt1.C b/gcc/testsuite/g++.old-deja/g++.law/cvt1.C
deleted file mode 100644
index 3f0866ea42e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// From: dak@pool.informatik.rwth-aachen.de
-// Date: Sun, 21 Nov 93 17:40:32 +0100
-// Subject: g++ mixes up array dimensions with new
-// Message-ID: <9311211640.AA11787@messua>
-
-int main()
-{
- int (*a)[5] = new int[6][5];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt10.C b/gcc/testsuite/g++.old-deja/g++.law/cvt10.C
deleted file mode 100644
index c943a391b97..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt10.C
+++ /dev/null
@@ -1,60 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <CC7oHn.B4F@izf.tno.nl>
-// From: tom@izfcs.izf.tno.nl (Tom Vijlbrief)
-// Subject: g++ 2.4.5 has problems with NON virtual shared base classes
-// Date: Mon, 23 Aug 1993 12:10:34 GMT
-
-
-#include <stdio.h>
-
-#define FAIL
-
-class Base {
-public:
- Base() { printf("Base::Base\n"); }
- virtual ~Base() { printf("Base::~Base\n"); }
- virtual void v() { printf("Base::v\n"); }
-};
-
-class Base2 {
-public:
- Base2() { printf("Base2::Base2\n"); }
- virtual ~Base2() { printf("Base2::~Base2\n"); }
- virtual void v() { printf("Base2::v\n"); }
-};
-
-class A: public Base {
-public:
- A() { printf("A::A\n"); }
- ~A() { printf("A::~A\n"); }
- virtual void va() { printf("A::va\n"); }
-};
-
-#ifdef FAIL
-class B: public Base {
-#else
-class B: public Base2 {
-#endif
-public:
- B() { printf("B::B\n"); }
- ~B() { printf("B::~B\n"); }
- virtual void vb() { printf("B::vb\n"); }
-};
-
-class C: public A, public B {
-public:
- C() { printf("C::C\n"); }
- ~C() { printf("C::~C\n"); }
- void va() { printf("C::va\n"); }
-};
-
-
-int main()
-{
- C *cp= new C;
- cp->va();
- delete cp;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt11.C b/gcc/testsuite/g++.old-deja/g++.law/cvt11.C
deleted file mode 100644
index 7394c1b9e5a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt11.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Date: Tue, 10 Nov 92 11:08:08 PST
-// From: rrh@tera.com (Robert R. Henry)
-// Message-Id: <9211101908.AA13557@tera.com>
-// Subject: type cast of qualified const member breaks g++2.3.1
-
-#include <stdio.h>
-
-class Thing{
-private: int x;
- public: const int N = -1; // ERROR - bad initialization
- Thing(int y);
-};
-
-class Bar{ public: void doit(void); };
-
-void Bar::doit(void)
-{
- int i, j;
- i = Thing::N;
- printf("i = %d\n", i);
-
- j = (int)Thing::N;
- printf("i = %d\n", j);
-}
-Thing::Thing(int y) { x = y; }
-int main(){ Bar x; x.doit(); }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt12.C b/gcc/testsuite/g++.old-deja/g++.law/cvt12.C
deleted file mode 100644
index 5ea83dbbee1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt12.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9301071708.AA03432@muresh.et.tudelft.nl>
-// From: stravers@muresh.et.tudelft.nl (Paul Stravers)
-// Subject: conversion method never called
-// Date: Thu, 7 Jan 93 18:08:33 +0100
-
-#include <stdio.h>
-
-class test
-{
- double d;
- int i;
-public:
- test(double dd,int ii) {d=dd; i=ii;} // constructor
- operator int&() {return i;} // define a conversion from test to int&
- int& geti() {return i;} // same thing, but different
-};
-
-int main()
-{
- test t(3.14, 5); // Create an object t of class "test"
- int x = (int&)t; // This should call operator int&() but it does not ...
- int y = t.geti(); // x and y should both be 5 ...
- if (x == 5 && y == 5)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt13.C b/gcc/testsuite/g++.old-deja/g++.law/cvt13.C
deleted file mode 100644
index c7b09e97b8d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt13.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <ISHAI.93Mar26102509@cs73.technion.ac.il>
-// From: ishai@cs.technion.ac.il (& Ben-Aroya)
-// Subject: Type conversion problem.
-// Date: Fri, 26 Mar 1993 08:25:09 GMT
-
-typedef int array[10];
-
-void f(array &arg)
-{
-}
-
-int main()
-{
- array var;
- f(var);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt14.C b/gcc/testsuite/g++.old-deja/g++.law/cvt14.C
deleted file mode 100644
index e2b9bada124..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt14.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9303241504.AA25988@spock.orl.mmc.com>
-// Subject: internal compiler error
-// Date: Wed, 24 Mar 1993 10:04:06 -0500
-// From: "Malcolm C. Strickland" <chucks@orl.mmc.com>
-
-
-int main()
- {
- double *d;
- d = new double(10);
- return 1;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt15.C b/gcc/testsuite/g++.old-deja/g++.law/cvt15.C
deleted file mode 100644
index 967cbb6a6a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt15.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9308051530.AA05922@NeoSoft.Com>
-// From: daniels@sugar.neosoft.com (Brad Daniels)
-// Subject: g++ 2.4.5: Conversion operators to complex types don't work either
-// Date: Thu, 5 Aug 93 15:30:04 CDT
-
-class bar { int x; public: bar() : x(1){} };
-
-class foo {
- bar a, b;
-public:
- foo(bar i, bar j) : a(i),b(j) {}
- operator const bar() const { return a; }
- const bar f() { return *this; }
- void g(foo &c) { b = c; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt16.C b/gcc/testsuite/g++.old-deja/g++.law/cvt16.C
deleted file mode 100644
index c539c96e536..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt16.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9304121647.AA25819@tnt>
-// From: mclaugh@tnt.acsys.com (Mark A. McLaughlin)
-// Subject: g++ bug
-// Date: Mon, 12 Apr 93 10:47:01 MDT
-
-#include <iostream.h>
-
-class B {
-};
-
-class A : public B {
- short s;
-public:
- A(short _s = 0) { s = _s; }
- operator const short &() const { return s; }
-};
-
- int
-main() {
- A a(37);
- //cout << a << endl;
- cout << (short)a << endl;
-
- return 0;
-} // main
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt17.C b/gcc/testsuite/g++.old-deja/g++.law/cvt17.C
deleted file mode 100644
index b746c98488e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt17.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9305210124.AA02409@kato.cs.brown.edu>
-// From: pcm@cs.brown.edu (Peter C. McCluskey)
-// Subject: illegal code compiles silently
-// Date: Thu, 20 May 93 21:24:22 -0400
-
-
-
-class Point {};
-class Line_Segment{ public: Line_Segment(const Point&){} };
-class Node { public: Point Location(){ Point p; return p; } };
-
-int main()
-{
- Node** node1;
- Line_Segment(node1->Location()); // intended (*node1)// ERROR - .*
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt18.C b/gcc/testsuite/g++.old-deja/g++.law/cvt18.C
deleted file mode 100644
index 79ea67985d5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt18.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9307090042.AA28565@uluru.Stanford.EDU>
-// From: interran@uluru.stanford.edu (John Interrante)
-// Subject: gcc 2.4.5 on sparc-sun-sunos4.1.2: automatic conversion functions
-// Date: Thu, 8 Jul 93 17:42:12 PDT
-
-class Token {
-public:
- operator const void*() const;
- int operator !=(int code) const;
-private:
- int code_;
-};
-
-extern Token next_token();
-
-void foo(Token token) {
- if (token && token != '{') {}
-
- const int inside_body = 1;
- if (inside_body && (token = next_token())) {}
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt19.C b/gcc/testsuite/g++.old-deja/g++.law/cvt19.C
deleted file mode 100644
index ae07a385a00..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt19.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <1166.9307131600@ace.eng.cam.ac.uk>
-// From: ajp@eng.cam.ac.uk
-// Date: Tue, 13 Jul 93 17:00:44 BST
-
-
-class B {};
-
-class A {
- public:
- operator const B*() const {
- return b;
- }
- private:
- B* b;
-};
-
-
-int main()
-{
- A a;
- if (a!=0) {
- }
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt2.C b/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
deleted file mode 100644
index 4c28a7e6bd0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// GROUPS passed conversions
-#include <stdio.h>
-#include <stdlib.h>
-#include <iostream.h>
-#include <fstream.h>
-
-extern "C" {
-int strncmp (const char *, const char *, size_t);
-}
-
-class cvec {
-public:
- ~cvec(){ delete s; }
- cvec(const char*x) { s = new char[strlen(x)+1]; strcpy(s, x); }
- cvec(const cvec& c) { s = new char[strlen(c.s)+1]; strcpy(s, c.s); }
- operator const char*() { return s; }
-private:
- char *s;
-};
-
-cvec
-B(const char* a)
-{
- return a;
-}
-
-void
-A(const char* s)
-{
- // s still ok here
- ifstream inf(s);
- if (strncmp ("aaa", s, 3))
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
-
-int main()
-{
- A(B("aaa"));
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt20.C b/gcc/testsuite/g++.old-deja/g++.law/cvt20.C
deleted file mode 100644
index 1ecbfa2447a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt20.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9307152250.AA24812@volterra>
-// From: rst@ai.mit.edu (Robert S. Thau)
-// Subject: g++ won't convert char[] to char*&
-// Date: Thu, 15 Jul 93 18:50:59 EDT
-
-
-// Compiles fine with Sun CC 2.1
-
-void f(char *& x)
-{// ERROR - location of error
- x++;
-}
-
-int main()
-{
- f ("foo");// ERROR - init of non-const ref from char*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt21.C b/gcc/testsuite/g++.old-deja/g++.law/cvt21.C
deleted file mode 100644
index 8cdd1507650..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt21.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9307200528.AA02094@legolas>
-// From: Mark Kuzmycz <kuzmycz@deakin.edu.au>
-// Subject: int & conversion operator
-// Date: Tue, 20 Jul 93 15:28:47 EST
-
-class Int
-{
- public:
- Int(void);
- Int(int);
- Int(const Int&);
-
- Int* copy(void) const;
-
- operator int&();
-
- Int& operator ++(void);
- Int& operator --(void);
-
- private:
- int value;
-};
-
-int main()
-{
- Int data = 2;
- Int test;
-
- test = data * 12;
- data += 1;
-}
-
-// UNKNOWN "FAIL"
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt22.C b/gcc/testsuite/g++.old-deja/g++.law/cvt22.C
deleted file mode 100644
index c9a80baa617..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt22.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <93Aug2.163542pdt.26892@franklin.parc.xerox.com>
-// From: Jesse Hull <jhull@parc.xerox.com>
-// Subject: typedef bug
-// Date: Mon, 2 Aug 1993 16:35:28 PDT
-
-typedef int A[10];
-
-int main()
-{
- int* a1 = new A;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt23.C b/gcc/testsuite/g++.old-deja/g++.law/cvt23.C
deleted file mode 100644
index 626d01c5932..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt23.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9308051209.AA15962@NeoSoft.Com>
-// From: daniels@sugar.neosoft.com (Brad Daniels)
-// Subject: Bug in g++ 2.4.5: Conversion operators to enumerated types don't wor
-// Date: Thu, 5 Aug 93 12:09:09 CDT
-
-enum bar { AAA, BBB };
-
-class foo {
- bar a, b;
-public:
- foo(bar i, bar j) : a(i),b(j) {}
- operator const bar() const { return a; }
- bar f() { return *this; }
- void g(foo &c) { b = c; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt3.C b/gcc/testsuite/g++.old-deja/g++.law/cvt3.C
deleted file mode 100644
index 357dd32f254..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9308122113.AA14119@tnt.acsys.com>
-// From: mclaugh@tnt.acsys.com (Mark A. McLaughlin)
-// Subject: g++ bug
-// Date: Thu, 12 Aug 93 15:13:23 MDT
-
-
-class C { };
-
-void f(C) { }
-
-void g(const C & c) { f(c); }
-
-void h(const C & c) { f(C(c)); }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt4.C b/gcc/testsuite/g++.old-deja/g++.law/cvt4.C
deleted file mode 100644
index d45d7898986..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt4.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9308091213.AA11572@emmy.Mathematik.Uni-Dortmund.DE>
-// From: Michael Strauch <strauch@emmy.mathematik.uni-dortmund.de>
-// Subject: Bug in GCC 2.4.5
-// Date: Mon, 9 Aug 93 14:13:50 MESZ
-
-extern "C" int printf (const char *, ...);
-
-int destruct = 2;
-
- class Test{
- protected:
- long x;
- public:
- Test(){;}
- Test(long l) {x=l;}
- ~Test() {if (--destruct == 0) printf ("PASS\n");}
- };
-
-int main()
- {
- long i=1;
- Test t;
-
- t=(Test)i;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt5.C b/gcc/testsuite/g++.old-deja/g++.law/cvt5.C
deleted file mode 100644
index a7a04703f96..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt5.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <1992Jul31.142856.10082@ericsson.se>
-// From: jonas@ericsson.se (Jonas Nygren)
-// Subject: g++ bug
-// Date: Fri, 31 Jul 1992 14:28:56 GMT
-
-class A {};
-class B : public A {};
-
-B b;
-
-class R{
-public:
- R() {}
- operator B&() { return b; }
-};
-
-void f(A&) {}
-
-int main(){
- R r;
-
- f(r); // problem to cast to B& and then to A&
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt6.C b/gcc/testsuite/g++.old-deja/g++.law/cvt6.C
deleted file mode 100644
index fd0a83e457a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt6.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <9208261851.AA16997@josquin.media.mit.edu>
-// From: bilmes@media.mit.edu
-// Subject: gcc (g++) 2.2.2 constructing nested class from external scope
-// Date: Wed, 26 Aug 92 14:51:17 -0400
-
-
-class foo {
-
- class bar {
- int i;
- public:
- bar(int j) { i = j; }
- };
-
- bar b;
-public:
- foo() : b(3) {}
- void test(bar lb) { b = lb; }
-};
-
-
-int main() {
- foo f;
- f.test(34); // line 18
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt7.C b/gcc/testsuite/g++.old-deja/g++.law/cvt7.C
deleted file mode 100644
index c9cc1b5cd6d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt7.C
+++ /dev/null
@@ -1,74 +0,0 @@
-// GROUPS passed conversions
-// cvt file
-// From: krste@icsi.berkeley.edu (Krste Asanovic)
-// Date: Mon, 24 Aug 92 19:05:10 PDT
-// Message-Id: <9208250205.AA26351@icsib43.ICSI.Berkeley.EDU>
-// Subject: implicit int. convs. from member refs. in switch expressions
-
-#include <stream.h>
-#include <stdio.h>
-
-class A
-{
-public:
- A(int j) { i = j; }
- A(A& a) { i = a.i; }
- operator int() { return i; }
-
- void assign(int v) { i = v; }
- int i;
-};
-
-class B
-{
-public:
- B(A& inArg) : in(inArg), out(0) {}
-
- A& in;
- A out;
-
- void run();
-};
-
-void
-B::run()
-{
- // I get a "switch quantity not an integer" error for this statement.
- switch (in)
- // Replacing above with "switch (int(in))" removes the error.
- {
- case 0:
- out = 1;
- break;
- default:
- out = 0;
- break;
- }
-}
-
-int main()
-{
- A a(1);
-
- A& ar = a;
-
- A& ar2 = ar;
-
- // ....but no errors for this switch statement.
- switch (ar2)
- {
- case 1:
- printf ("PASS\n");
- break;
- default:
- printf ("FAIL\n");
- }
-
- B b(a);
- a.assign(3);
- b.run();
- a.assign(0);
- b.run();
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt8.C b/gcc/testsuite/g++.old-deja/g++.law/cvt8.C
deleted file mode 100644
index f97790a19e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt8.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed conversions
-// cvt file
-// From: solomon@cs.wisc.edu (Marvin Solomon)
-// Message-Id: <9209141509.AA23124@gjetost.cs.wisc.edu>
-// Subject: g++ 2.2.2 seems to be forgetting a "const"
-// Date: Mon, 14 Sep 92 10:09:58 -0500
-
-extern "C" void printf(...);
-
-struct A {
- int i;
-};
-
-struct B {
- int i;
- operator const A&() const;
-};
-
-B::operator const A&() const {
- static A a;
- a.i = i;
- printf("convert B to A at %x\n", &a);
- return a;
-}
-
-void f(A &a) { // ERROR - in passing argument
- printf("A at %x is %d\n", &a, a.i);
-}
-
-int main() {
- B b;
- b.i = 99;
- f(b);// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt9.C b/gcc/testsuite/g++.old-deja/g++.law/cvt9.C
deleted file mode 100644
index e98508d8482..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt9.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed conversions
-// cvt file
-// Message-Id: <m0mVSRj-0000cEC@mobius.veritas.com>
-// From: joe@veritas.com (Joe Fasano)
-// Subject: gcc-2.2.2 bug report
-// Date: Thu, 17 Sep 92 13:27 PDT
-
-typedef int (*widget) ();
-
-class window {
-public:
- int Isopen ();
-};
-
-widget fp = (widget) &window::Isopen; // ERROR - // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dossier1.C b/gcc/testsuite/g++.old-deja/g++.law/dossier1.C
deleted file mode 100644
index 2977f156ecf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/dossier1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options: -frtti
-// GROUPS passed rtti
-// dossier file
-// Message-Id: <9212021501.AA02484@olympia.miro.com>
-// From: rme@miro.com (Richard M. Emberson)
-// Subject: bug
-// Date: Wed, 2 Dec 92 07:01:30 PST
-
-class Vector {
- int *p;
- int sz;
-public:
- Vector(int );
- ~Vector();
-
- int& operator[](int i);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors1.C b/gcc/testsuite/g++.old-deja/g++.law/dtors1.C
deleted file mode 100644
index 5c0999c1763..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/dtors1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed destructors
-// friends file
-// From: offline!marc@ai.mit.edu (Marc Duponcheel) (Marc Duponcheel)
-// Date: Sat, 6 Feb 93 23:31:22 PST
-// Subject: some 2.2.2 bugs
-// Message-ID: <9302070731.AA002jw@offline.UUCP>
-
-void f()
-{
- int i;
- i.i::~i();// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors2.C b/gcc/testsuite/g++.old-deja/g++.law/dtors2.C
deleted file mode 100644
index ebf96123996..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/dtors2.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// GROUPS passed destructors
-#include <stdio.h>
-
-int destruct = 0;
-
-class bla {
-
-public:
-
- inline bla(char * jim) { ; };
-
- inline ~bla() { destruct++; if (destruct == 2) printf ("PASS\n");};
-};
-
-class ulk {
-
-public:
-
- inline ulk() {};
- inline ~ulk() {};
-
- void funk(const bla & bob) { ;};
- // ^ interestingly, the code compiles right if
- // this & is deleted (and therefore the parameter
- // passed as value)
-};
-
-int main() {
-
- ulk dumm;
-
- dumm.funk(bla("laberababa")); // this compiles correctly
-
- dumm.funk((bla)"laberababa"); // this produces incorrect code -
- // the temporary instance of
- // the class "bla" is constructed
- // but never destructed...
-
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors3.C b/gcc/testsuite/g++.old-deja/g++.law/dtors3.C
deleted file mode 100644
index 7ed92fcedb9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/dtors3.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// GROUPS passed destructors
-// dtor file
-// Message-Id: <9301242117.AA04053@cs.rice.edu>
-// From: dougm@cs.rice.edu (Doug Moore)
-// Subject: 2.3.3: premature dtor of temp?
-// Date: Sun, 24 Jan 93 15:17:07 CST
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int killed = 0;
-
-class Foo
-{
- int a;
-public:
- Foo()
- :a(0) {;}
- ~Foo() { killed++;}
- Foo& operator << (int b)
- {
- a += b;
- if (killed)
- {
- printf ("FAIL\n");
- exit (0);
- }
- return *this;
- }
-};
-
-int main()
-{
- Foo() << 1 << 3 << 5 << 7;
- printf ("PASS\n");
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors4.C b/gcc/testsuite/g++.old-deja/g++.law/dtors4.C
deleted file mode 100644
index 6168c0dd21c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/dtors4.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// GROUPS passed destructors
-#include <stdio.h>
-
-int destruct = 2;
-
-class a {
- public:
- char *p;
- a(){ ; }
- ~a(){ destruct--; if (! destruct) printf ("PASS\n");}
-};
-
-a test(){
- return a();
-}
-
-int main(){
- a ai;
-
- ai = test();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors5.C b/gcc/testsuite/g++.old-deja/g++.law/dtors5.C
deleted file mode 100644
index 3c54561501e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/dtors5.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// GROUPS passed destructors
-// dtor file:
-// Message-Id: <1992Jun25.181845.18886@leland.Stanford.EDU>
-// From: niz@leland.stanford.edu (Jim Nisbet)
-// Subject: gcc 2.2.2 -- c++ bug: destructor called twice (example)
-// Date: 25 Jun 92 18:18:45 GMT
-
-#include <stdio.h>
-
-int things = 0;
-
-class foo {
-public:
- foo() { things++; }
- foo(const foo&) { things++; }
- ~foo() { things--; }
-
- int i;
-};
-
-void
-sub(foo f) {
- ;
-};
-
-
-int main() {
- sub(foo());
- if (things == 0)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum1.C b/gcc/testsuite/g++.old-deja/g++.law/enum1.C
deleted file mode 100644
index c3ef73d5c4b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-class X {
- struct X1;
- enum { A= sizeof(X1 *) }; //Causes a problem.
- struct X1 { int i; };
- X1 *f(X1 *);
-public:
- X(void);
-};
-
-X::X1 *X::f(X1 *x) {
- return x;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum2.C b/gcc/testsuite/g++.old-deja/g++.law/enum2.C
deleted file mode 100644
index 902d8ed56c5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum2.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fshort-enums
-// GROUPS passed enums
-// enum file
-// From: Jeff Gehlhaar <jbg@qualcomm.com>
-// Date: Mon, 4 Jan 1993 09:20:50 -0700
-// Subject: Enum bug, affects library
-// Message-ID: <9301041720.AA17340@harvey>
-
-typedef unsigned long __fmtflags;
-class ios {
- public:
- typedef __fmtflags fmtflags;
- enum { skipws=01, left=02, right=04, internal=010,
- dec=020, oct=040, hex=0100,
- showbase=0200, showpoint=0400, uppercase=01000, showpos=02000,
- scientific=04000, fixed=010000, unitbuf=020000, stdio=040000,
- dont_close=0x80000000 //Don't delete streambuf on stream destruction
- };
-
- fmtflags setf (fmtflags, fmtflags);
-};
-
-// from <iostream.h>
-inline ios& dec(ios& i)
-{ i.setf(ios::dec, ios::dec|ios::hex|ios::oct); return i; }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum3.C b/gcc/testsuite/g++.old-deja/g++.law/enum3.C
deleted file mode 100644
index 43845e2edec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-// enum file
-// From: frode@auticon.no
-// Date: Wed, 13 Jan 93 9:24:50 PST
-// Subject: enum trouble
-// Message-ID: <"nac.no.001:13.00.93.18.40.52"@nac.no>
-
-typedef enum{on, off} TOGGLE;
-
-class field {
-private:
- TOGGLE toggle;
-public:
- virtual void on(void) { toggle = 3; };// ERROR - .*
- virtual void off(void) { toggle = on; };// ERROR - .*
-};
-
-int main()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum4.C b/gcc/testsuite/g++.old-deja/g++.law/enum4.C
deleted file mode 100644
index f763656441f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum4.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-// enum file
-// From: dougm@cs.rice.edu (Doug Moore)
-// Date: Thu, 18 Mar 93 00:14:57 CST
-// Subject: 2.3.3:Inconsistent behavior for enum conversions
-// Message-ID: <9303180614.AA12123@cs.rice.edu>
-
-enum Enum {enumerator1, enumerator2};
-
-struct Struct
-{
- int i;
- int getI(Enum) {return i;} // ERROR - candidates
-};
-
-int funct (Enum)
-{
- return 0;
-}
-
-int main()
-{
- Enum e = enumerator1;
- Struct s;
- int x = funct(e+1);// ERROR - .*
- int y = s.getI(e+1);// ERROR - .*
- return x+y;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum5.C b/gcc/testsuite/g++.old-deja/g++.law/enum5.C
deleted file mode 100644
index 0c8b0dc5bef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum5.C
+++ /dev/null
@@ -1,236 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-// excess errors test - XFAIL *-*-*
-// enum file
-// From: Peter Samuelson <psamuels@osiris.ac.hmc.edu>
-// Date: Tue, 2 Nov 1993 23:44:34 -0800 (PST)
-// Subject: compiler error 192
-// Message-ID: <199311030744.XAA23409@osiris.ac.hmc.edu>
-
-#include <iostream.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* My program to generate D&D characters
-* 10/25/93
-*/
-
-//prototypes
-int rndshift();
-int dice(int times, int sides);
-void initialize(struct Crctr &character);
-void cleararray(char thearray[24]);
-void input(struct Crctr &character);
-void rollscores(struct Crctr &character);
-void output(struct Crctr &character);
-
-int main()
-{
- enum goopes
- {
- cleric, druid, fighter, knight, paladin, avenger, magicuser, thief,
- dwarf, halfelf, elf, halfling, mystic, ranger, scout, monster,
- immortal, special
- };
-
- enum alignments
- {
- lawful, neutral, chaotic
- };
-
- struct savingthrows
- {
- int psn_dth, wands, petr_paral, breath, rod_staff_spell;
- };
-
- struct abilities
- {
- int str, ite, wis, dex, con, cha;
- };
- struct valuables
- {
- char type[16];
- int value;
- };
- struct money
- {
- int pp, gp, ep, sp, cp;
- valuables gems[24], jewelry[24];
- };
-
- struct Crctr
- {
- Crctr() : goop(fighter) {}
-
- char dm[24], campaign[24], name[24], player[24];
- goopes goop;
- alignments alignment;
- int level, maxhit, hitpoints, ac;
- abitities scores;// ERROR - .*
- savingthrows saves;
- money wealth;
- int experience;
- float bonus;
- };
-
- Crctr character;
-
- cout << "The D&D Character generator!!" << endl;
-
- rndshift();
-
- initialize(character);// ERROR - .*
- input(character);
- rollscores(character);
- output(character);
-
- cout << "Thank you for using this program." << endl;
- cout << "Copyright 1993, Chase Enterprises, Inc." << endl;
- cout << "D&D and Dungeons and Dragons are registered trademarks" << endl;
- cout << "of TSR, Inc." << endl;
-} //end of main
-
-
-void initialize(Crctr &character)
-{
- cleararray(character.dm);
- cleararray(character.campaign);
- cleararray(character.name);
- cleararray(character.player);
- character.level = 0;
- character.maxhit = 0;
- character.hitpoints = 0;
- character.ac = 9;
- character.experience = 0;
- character.bonus = 0.0;
-} //end of initialize
-
-void cleararray(char thearray[])
-{
- for (int i = 0 ; i < 24 ; i++)
- thearray[i] = 0;
-} //end of cleararray
-
-void input(Crctr &character)
-{
- cout << "Please input name of the Dungeon Master." << endl;
- cin >> character.dm;
- cout << endl << "Pleas input the name of the campaign." << endl;
- cin >> character.campaign;
- cout << endl << "Please input the name of the character." << endl;
- cin >> character.name;
- cout << endl << "Please input player name." << endl;
- cin >> character.player;
- cout << endl << "Enter desired goop." << endl;
- cin >> character.goop;
- cout << endl << "Enter desired alignment." << endl;
-} //end of input
-
-void rollscores(Crctr &character)
-{
- character.scores.str = dice(3,6);
- character.scores.ite = dice(3,6);
- character.scores.wis = dice(3,6);
- character.scores.dex = dice(3,6);
- character.scores.con = dice(3,6);
- character.scores.cha = dice(3,6);
- character.level = 1;
-
- switch (character.goop)
- {
- case fighter:
- case dwarf:
- case half-elf:
- character.maxhit = dice(1,8);
- character.hitpoints = character.maxhit;
- break;
- case cleric:
- case elf:
- case halfling:
- case mystic:
- case scout:
- character.maxhit = dice(1,6);
- character.hitpoints = character.maxhit;
- break;
- case magic-user:
- case thief:
- character.maxhit = dice(1,4);
- character.hitpoints = character.maxhit;
- break;
- default:
- character.maxhit = 1;
- character.hitpoints = character.maxhit;
- break;
- }
-} //end of rollscores
-
-
-void output(Crctr &character)
-{
- cout << "Your character is:" << endl;
- cout << "Your DM:\t" << character.dm << "\t\t\t" << "Campaign: "
- << character.campaign << endl;
- cout << "Player's name:\t" << character.player << endl;
- cout << "Character Name:\t" << character.name << endl;
- cout << "goop:\t" << character.goop << "\t\t\t" << "Alignment:\t"
- << character.alignment << endl;
- cout << "level:\t" << character.level << endl;
- cout << "Max. HP:\t" << character.maxhit << "\t\t\t" << "Current HP:\t"
- << character.hitpoints << endl;
- cout << "Abilities" << "\t\t\t" << "Saves" << endl;
- cout << endl;
- cout << "Str:\t" << character.scores.str << "\t\t" << "Poison/Death Ray:\t"
- << character.saves.psn_dth << endl;
- cout << "Int:\t" << character.scores.ite << "\t\t" << "Wands: \t"
- << character.saves.wands << endl;
- cout << "Wis:\t" << character.scores.wis << "\t\t" << "Petrification"
- << "/Paralysis" << character.saves.petr_paral << endl;
-
-/* abitities scores;
- savingthrows saves;
- money wealth;
- int experience;
- float bonus;
-*/
-}
-
-
-int rndshift()
-{
-//Chase Tsang 10/25/93
-//cheap way to shift the random number generator sequence
-//because I can't change the randomseed
-//requires <stdlib.h> and <iostream.h>
-
-int shiftnumber;
-int date;
-int luckynumber;
-
-cout << "Please input the date in 8 digits, no spaces, no other" << endl;
-cout << "characters. (ex 10041974 for October 4, 1974)" << endl;
-cin >> date;
-cout << "Please input your lucky number for today (7 or less" << endl;
-cout << "digits, and positive integer, please)" << endl;
-cin >> luckynumber;
-
-shiftnumber = date / luckynumber;
-
-for (int i = 0; i < shiftnumber; i++)
- rand();
-return 0;
-}
-
-
-
-int dice(int times, int sides)
-{
- //dice rolling function, Chase Tsang 10/25/93
- //requires #include <stdlib.h>
-
- int total = 0;
-
- for (int i = 0; i < times; i++)
- total = total + (rand() % sides) + 1;
-
- return total;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum6.C b/gcc/testsuite/g++.old-deja/g++.law/enum6.C
deleted file mode 100644
index 65950e9ab0a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum6.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-// enum file
-// From: polstra!jdp@uunet.uu.net (John Polstra)
-// Date: Mon, 15 Nov 93 12:14 PST
-// Subject: GCC 2.5.3 Enum Bitfield Causes Bogus Warning
-// Message-ID: <m0ozAJo-0001EgC@seattle.polstra.uucp>
-
- enum Color { Red, Green, Blue };
-
- struct S {
- Color c : 8;
- } s;
-
- void foo()
- {
- s.c = Red; // <== This statement produces the warning message.
- }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum7.C b/gcc/testsuite/g++.old-deja/g++.law/enum7.C
deleted file mode 100644
index 444fa489b8b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum7.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-// friends file
-// From: offline!marc@ai.mit.edu (Marc Duponcheel) (Marc Duponcheel)
-// Date: Sat, 6 Feb 93 23:31:22 PST
-// Subject: some 2.2.2 bugs
-// Message-ID: <9302070731.AA002jw@offline.UUCP>
-
-class X
-{
- enum E { A, B };
-static enum E e;
-};
-enum X::E X::e = A;
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum8.C b/gcc/testsuite/g++.old-deja/g++.law/enum8.C
deleted file mode 100644
index 192a2b4c468..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum8.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fshort-enums
-// GROUPS passed enums
- enum E { A = 0x80000000 };
diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum9.C b/gcc/testsuite/g++.old-deja/g++.law/enum9.C
deleted file mode 100644
index 0a3531e1f3b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/enum9.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Special g++ Options: -fshort-enums
-// GROUPS passed enums
- extern "C" int printf (const char *, ...);
-
- enum E { A = 0x80000000, B = 0 };
-
- main()
- {
- if (sizeof (E) != 4)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
- return 0;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except1.C b/gcc/testsuite/g++.old-deja/g++.law/except1.C
deleted file mode 100644
index edfb85f7ce9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/except1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-// GROUPS passed exceptions
-// except file
-// Message-Id: <9207221230.AA08566@life.ai.mit.edu>
-// From: EWALLACE@endvmtkl.vnet.ibm.com
-// Subject: Bugs
-// Date: Wed, 22 Jul 92 08:29:30 EDT
-
-extern "C" void puts(const char *);
-
-class foo {
-public:
- class error {};
-
- void cause_error(void) { throw error(); }
-};
-
-int main(void)
-{
- foo f;
- try {
- f.cause_error();
- }
- catch (foo::error) {
- puts("Caught it.");
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except2.C b/gcc/testsuite/g++.old-deja/g++.law/except2.C
deleted file mode 100644
index 1bf7108146b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/except2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions -g
-// GROUPS passed exceptions
-// except file
-// Message-Id: <9211061330.AA29334@ifad.dk>
-// From: erik@ifad.dk (Erik Toubro Nielsen)
-// Subject: g++-2.3.1 gets fatal signal with -g and -fhandle-exceptions
-// Date: Fri, 6 Nov 92 14:30:33 +0100
-
-int main()
-{
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except3.C b/gcc/testsuite/g++.old-deja/g++.law/except3.C
deleted file mode 100644
index 553da6b6d68..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/except3.C
+++ /dev/null
@@ -1,50 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-// GROUPS passed exceptions
-// except file
-// Message-Id: <9211301118.AA09810@ss670mp.geco.slb.com>
-// From: willoch@ss670mp.oslo.sgp.slb.com (thorbjorn willoch)
-// Subject: -fansi-exceptions bug
-// Date: Mon, 30 Nov 92 11:18:05 GMT
-
-extern "C" int printf(const char *, ...);
-
-class Vector
-{
- int* p;
- int sz;
- public:
- Vector(int s) { p = new int[sz=s]; }
- ~Vector() {delete [] p; }
- int size() {return sz; }
- class Range{};
-
-
- int& operator[](int i);
-};
-
-int& Vector::operator[](int i)
-{
- if(0<=i && i<sz) return p[i];
- throw Range();
-}
-
-void do_something(Vector& v)
-{
- int i = v[v.size()+10];
-}
-
-main()
-{
- Vector v(10);
-
- try
- {
- do_something(v);
- }
-
- catch (Vector::Range)
- {
- printf("Range error exception\n");
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except4.C b/gcc/testsuite/g++.old-deja/g++.law/except4.C
deleted file mode 100644
index c108c48bf74..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/except4.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-// GROUPS passed exceptions
-// except file
-// Message-Id: <9307071456.AA05275@davinci.hio.hen.nl>
-// From: akkersdi@hio.hen.nl
-// Subject: exceptions broken
-// Date: Wed, 7 Jul 1993 16:56:52 +0200 (MET DST)
-
-class ball {
-public: int dummy;
- ball() : dummy(0) { ; }
-};
-
-void pitcher()
-{
- throw ball();
-}
-
-void catcher()
-{
- try // <=== gcc 2.* fails here
- {
- pitcher();
- }
- catch (ball) {
- /* sleepy catcher doing nothing */ ;
- }
-}
-
-int main()
-{
- catcher();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except5.C b/gcc/testsuite/g++.old-deja/g++.law/except5.C
deleted file mode 100644
index 623d0d8587f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/except5.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-// GROUPS passed exceptions
-// except file
-// Message-Id: <199311101607.AA11803@hsi86.hsi.com>
-// From: Grigory Tsipenyuk <grigory@hsi.com>
-// Subject: exception's bug?
-// Date: Wed, 10 Nov 1993 11:07:12 -0500
-
-#include <stream.h>
-class X {
- int *a;
- int sz;
-public:
- class range { }; // exception class
- X(int s) { a=new int[sz=s]; }
- int& operator[](int i);
-};
-
-int& X::operator[](int i)
-{
- if (i < 0 || i >= sz) {
- throw range();
- }
- return a[i];
-}
-
-int
-main()
-{
- X c(10);
- try {
- for (int i = 0; i < 12; i++)
- c[i] = 1;
- } catch (X::range) {
- cerr << "invalid range\n";
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except6.C b/gcc/testsuite/g++.old-deja/g++.law/except6.C
deleted file mode 100644
index cca167c10fa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/except6.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-// GROUPS passed exceptions
-// except file
-// From: GUSTAVO%DRAGON@orion.cpqd.ansp.br
-// Date: 15 Dec 1993 09:33:30 +0000 (C)
-// Subject: exception handling problem
-// Message-ID: <01H6I5GEAF5UPBJ0UV@VENUS.CPQD.ANSP.BR>
-
-struct Exception
- {
- int v;
- Exception(int i) { v = i; };
- };
-
-void inc(int &i)
- {
- try {
- if (i == 0)
- throw Exception(i);
- else
- i++;
- }
- catch (Exception v) {
- i = v.v;
- }
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/friend1.C b/gcc/testsuite/g++.old-deja/g++.law/friend1.C
deleted file mode 100644
index 5628e0b4074..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/friend1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed friends
-// friends file
-// From: rwave!myersn%rwave.roguewave@cs.orst.edu (Nathan Myers)
-// Date: Thu, 17 Dec 92 16:33 PST
-// Subject: 2.3.2: friend decl of new confuses constructor
-// Message-ID: <m0n2Vec-0000GrC@rwave.roguewave.com>
-
-#include <stddef.h>
-#include <new>
-struct Foo {
- friend void* operator new(size_t) throw (std::bad_alloc);
- friend void operator delete(void*) throw ();
- Foo();
- ~Foo();
-};
-Foo::Foo() { }
-Foo::~Foo() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/friend4.C b/gcc/testsuite/g++.old-deja/g++.law/friend4.C
deleted file mode 100644
index a734fc419df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/friend4.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed friends
-// friends file
-// From: osinski@cs.nyu.edu (Ed Osinski)
-// Date: Fri, 05 Jun 92 20:47:37 -0400
-// Subject: parameter name forgotten in certain friends
-// Message-ID: <9206060047.AA05594@MURRAY.CS.NYU.EDU>
-
-class T2;
-
-class T {
- friend void f (int&);
-};
-
-class T2 {
- friend void f (int& i) { // BOGUS -
- i = 1;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/friend5.C b/gcc/testsuite/g++.old-deja/g++.law/friend5.C
deleted file mode 100644
index 2ecc31347b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/friend5.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed friends
- extern "C" int good_friend(int);
- extern "C" int bad_friend();
-
- class assembler {
- friend int good_friend(int);
- friend int bad_friend();
- void *parts;
- };
-
- assembler obj;
-
- int good_friend(int)
- {
- obj.parts = 0;
- } // ERROR - non-void
-
- int bad_friend()
- {
- obj.parts = 0;
- } // ERROR - non-void
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/global-init1.C b/gcc/testsuite/g++.old-deja/g++.law/global-init1.C
deleted file mode 100644
index 17dc9c5cdf1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/global-init1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// GROUPS passed initialization
-// global-init file
-// Message-Id: <9212021756.AA12639@grumpy.pocs.com>
-// From: wp@pocs.com (Wolfgang Polak)
-// Subject: Initializers - gcc 2.2.2 (g++), Sparc, SunOS 4.1.1
-// Date: Wed, 2 Dec 92 09:56:01 PST
-
-#include <stdio.h>
-struct S { int a; int c; };
-int i = 3;
-S s = {6, i};
-S * the_s () { return &s; };
-int main ()
-{
- S * cls = the_s ();
- if (cls->a != 6)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/incdec1.C b/gcc/testsuite/g++.old-deja/g++.law/incdec1.C
deleted file mode 100644
index ce5903c3c78..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/incdec1.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w -O3
-// GROUPS passed incdec
-typedef void* Pix;
-class ndbArtPtrVec
-{
-public:
- ndbArtPtrVec (ndbArtPtrVec&);
-};
-class intndbArtPtrVecMap
-{
-protected:
- int count;
- ndbArtPtrVec def;
- intndbArtPtrVecMap(ndbArtPtrVec& dflt);
- virtual ndbArtPtrVec& operator [] (int key) = 0;
- virtual void del(int key) = 0;
-public:
- virtual Pix first() = 0;
- virtual void next(Pix& i) = 0;
- virtual int& key(Pix i) = 0;
- virtual ndbArtPtrVec& contents(Pix i) = 0;
-};
-struct intndbArtPtrVecAVLNode
-{
- ndbArtPtrVec cont;
- intndbArtPtrVecAVLNode(int h, ndbArtPtrVec& c,
- intndbArtPtrVecAVLNode* l=0, intndbArtPtrVecAVLNode* r=0);
-};
-class intndbArtPtrVecAVLMap : intndbArtPtrVecMap
-{
-protected:
- intndbArtPtrVecAVLNode* root;
-public:
- ndbArtPtrVec& operator [] (int key);
- intndbArtPtrVecAVLMap(intndbArtPtrVecAVLMap&);
-};
-ndbArtPtrVec& intndbArtPtrVecAVLMap::operator [] (int item)
-{
- ++count;
- root = new intndbArtPtrVecAVLNode(item, def);
-}
-intndbArtPtrVecAVLMap::intndbArtPtrVecAVLMap(intndbArtPtrVecAVLMap& b) :intndbArtPtrVecMap(b.def)
-{
- for (Pix i = b.first(); i != 0; b.next(i))
- (*this)[b.key(i)] = b.contents(i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init1.C b/gcc/testsuite/g++.old-deja/g++.law/init1.C
deleted file mode 100644
index 1f23d78936d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init1.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-class foo {
-public:
- int data;
- foo(int dat) { data = dat; }
-};
-
-class bar {
-public:
- foo f[3] = { 1, 2, 3 }; // works: f[0] = 1, f[1] = 2, f[2] = 3 // ERROR - ANSI C++ forbids initialization of member f;
-};
-
-class bar2 {
-public:
- foo f[3] = { foo(1), foo(2), foo(3) }; // ERROR - ANSI C++ forbids initialization of member f;
- // does not compile -- error: field initializer is not constant
-};
-
-int main(void)
-{
- foo f[3] = { foo(1), foo(2), foo(3) };
- // standard C++ ... and it works too! :)
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init10.C b/gcc/testsuite/g++.old-deja/g++.law/init10.C
deleted file mode 100644
index b6f2085bfc5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init10.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-// init file
-// From: Ingo Donasch <ingo@specs.de>
-// Date: Wed, 16 Jun 93 13:28:55 +01:00
-// Subject: g++-2.4.2 bug report
-// Message-ID: <199306161128.AA22079@opamp.specs.de>
-
-class b;
-
-class a {
-public:
- a(const b*); // needs this parameter
-};
-
-class b {
-private:
- a three[3];
-public:
- b();
-};
-
-b::b() : three(this)
-{ // ERROR - bad array initializer
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init11.C b/gcc/testsuite/g++.old-deja/g++.law/init11.C
deleted file mode 100644
index a6d6f01487d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init11.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// GROUPS passed initialization
-// init file
-// From: hansen@srd.ull.rdc.toshiba.co.jp
-// Date: Mon, 13 Dec 93 18:27:51 +0900
-// Subject: g++ Bug
-// Message-ID: <9312130927.AA08192@VLCS151.noname>
-
-#include <stdio.h>
-
-int X = 7;
-
-struct foo {
- int a,b,c;
-};
-
-struct foo Ack = {5, X, 3};
-
-int main()
-{
- if (Ack.a == 5 && Ack.b == 7 && Ack.c == 3)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init13.C b/gcc/testsuite/g++.old-deja/g++.law/init13.C
deleted file mode 100644
index 40917c8917d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init13.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// GROUPS passed initialization
-// init file
-// Message-Id: <9306280834.AA20921@slsvitt.us-es.sel.de>
-// From: David Binderman 3841 <dcb@us-es.sel.de>
-// Subject: Page 289 of the ARM
-// Date: Mon, 28 Jun 93 10:34:37 +0200
-
-struct T {
- int m;
-
- T( int g):m(g){}
-};
-
-// T s1[2][2] = {1,2,3,4};
-
-int main() {
- T s1[2][2] = {1,2,3,4};
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init14.C b/gcc/testsuite/g++.old-deja/g++.law/init14.C
deleted file mode 100644
index 3a9e3e1369f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init14.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// GROUPS passed initialization
-// init file
-// From: hansen@srd.ull.rdc.toshiba.co.jp
-// Message-Id: <9312130927.AA08192@VLCS151.noname>
-// Subject: g++ Bug
-// Date: Mon, 13 Dec 93 18:27:51 +0900
-
-#include <stdio.h>
-
-int X = 7;
-
-struct foo {
- int a,b,c;
-};
-
-struct foo Ack = {5, X, 3};
-
-int main()
-{
- if (Ack.a != 5
- || Ack.b != 7
- || Ack.c != 3)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init2.C b/gcc/testsuite/g++.old-deja/g++.law/init2.C
deleted file mode 100644
index bfc9014acd6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-// init file
-// From: lupine!segfault!rfg@uunet.UU.NET
-// Date: Sun, 27 Sep 92 14:06:22 MDT
-// Subject: Bug in g++ (920220) handling reference initializers.
-// Message-ID: <15409.717627982@segfault>
-
-int * const & fiddle = 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init3.C b/gcc/testsuite/g++.old-deja/g++.law/init3.C
deleted file mode 100644
index 72b9de8e01d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-// init file
-// From: thayer@moose.cs.columbia.edu (Charles Thayer)
-// Date: Wed, 30 Sep 92 02:38:17 EDT
-// Subject: small bug
-// Message-ID: <9209300638.AA22334@moose.cs.columbia.edu>
-
-int main() {
-int offset;
-char buf[offset]=""; // ERROR - ansi forbids variable arrays
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init4.C b/gcc/testsuite/g++.old-deja/g++.law/init4.C
deleted file mode 100644
index 084876296d1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init4.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed initialization
-class Time;
-class TimeNote;
-
-class SvTime
-{
-public:
- static TimeNote *time_events = 0;// ERROR - .*
-};
-
-SvTime CurrentTime = {0};// ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init5.C b/gcc/testsuite/g++.old-deja/g++.law/init5.C
deleted file mode 100644
index e5882341afb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init5.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-// GROUPS passed initialization
-// init file
-// From: dcb@us-es.sel.de
-// Date: Mon, 12 Oct 92 07:51:52 +0100
-// Subject: G++, ARM Page 141
-// Message-ID: <9210120651.AA15257@us-es.sel.de>
-
-extern int fred( int);
-
-class X {
- public :
- void f( int = fred( 0) ) ; // ERROR - previous spec
-} ;
-
-void X::f( int x = fred( 0) ) {// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init6.C b/gcc/testsuite/g++.old-deja/g++.law/init6.C
deleted file mode 100644
index bcebd6cef8a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init6.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-class Vector {
- double *v;
- int size;
-
-public:
- Vector(int n);
- ~Vector();
-};
-
-exmpl() { Vector x(8)[16]; }// ERROR - .*
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init7.C b/gcc/testsuite/g++.old-deja/g++.law/init7.C
deleted file mode 100644
index 2ec97c4fd11..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init7.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-class test
- {
- public:
- int x;
- int y;
- test (int val) { x = val; y = 0;}
- };
-
-test ar(34)[5];// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init8.C b/gcc/testsuite/g++.old-deja/g++.law/init8.C
deleted file mode 100644
index 6b52bdcdeea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init8.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed initialization
-// init file
-// From: kol@world.std.com (Nikolay Yatsenko)
-// Date: Wed, 27 Jan 1993 16:39:13 -0500
-// Subject: g++ bug
-// Message-ID: <199301272139.AA25514@world.std.com>
-
-
-const int ic = 1;
-void f(int& arg)
-{ // ERROR - argument 1
- if (arg) ;
-}
-const int& icr = ic;
-
-int main(void)
-{
- f(icr); // g++ does not give error here// ERROR - .*
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init9.C b/gcc/testsuite/g++.old-deja/g++.law/init9.C
deleted file mode 100644
index d6cec1b27aa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/init9.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// GROUPS passed initialization
-// init file
-// From: Richard Speed <speed@cs.montana.edu>
-// Date: Sun, 6 Jun 1993 15:19:41 -0600 (MDT)
-// Subject: excess elements in aggr initzer
-// Message-ID: <Pine.3.07.9306061541.A10267-b100000@fubar.cs.montana.edu>
-
-extern "C" void printf (char *, ...);
-
-class samp {
- int a;
-public:
- samp(int n) { a = n; }
- int get_a() { return a; }
-};
-
-int main() {
- samp ob[4] [2] = { // Generated Error
- 1, 2,
- 3, 4,
- 5, 6,
- 7, 8,
- };
- int i;
-
- if (ob[0][0].get_a() == 1 && ob[0][1].get_a() == 2
- && ob[1][0].get_a() == 3 && ob[1][1].get_a() == 4
- && ob[2][0].get_a() == 5 && ob[2][1].get_a() == 6
- && ob[3][0].get_a() == 7 && ob[3][1].get_a() == 8)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/inline1.C b/gcc/testsuite/g++.old-deja/g++.law/inline1.C
deleted file mode 100644
index 11e8d0a6c5d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/inline1.C
+++ /dev/null
@@ -1,3598 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fno-for-scope
-// GROUPS passed inlining
-# 1 "NISTImages.cc"
-# 1 "Vision.h" 1
-
-
-
-
-
-
-
-
-
-extern "C" {
-# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/_G_config.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 33 "/sym/gnu/lib/g++-include/stdio.h" 2 3
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 1 3
-
-# 1 "/sym/gnu/lib/g++-include/stdarg.h" 1 3
-extern "C" {
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-typedef char * __gnuc_va_list;
-
-
-
-
-
-
-
-
-
-# 79 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 3
-
-
-# 32 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 2 3
-
-# 77 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3
-
-
-
-
-
-
-# 140 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3
-
-
-
-
-
-# 2 "/sym/gnu/lib/g++-include/stdarg.h" 2 3
-
-}
-# 2 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 2 3
-
-
-
-
-
-
-extern struct _iobuf {
- int _cnt;
- unsigned char *_ptr;
- unsigned char *_base;
- int _bufsiz;
- short _flag;
- char _file;
-} _iob[];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern struct _iobuf *__hide_fopen ();
-extern struct _iobuf *__hide_fdopen ();
-extern struct _iobuf *__hide_freopen ();
-extern struct _iobuf *__hide_popen ();
-extern struct _iobuf *tmpfile();
-extern long __hide_ftell ();
-extern char *fgets();
-extern char *gets();
-extern char *__hide_sprintf ();
-extern char *ctermid();
-extern char *cuserid();
-extern char *__hide_tempnam ();
-extern char *tmpnam();
-
-
-
-
-
-
-# 69 "/sym/gnu/lib/g++-include/stdio.h" 2 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-extern "C" {
-
-int fclose(struct _iobuf *);
-struct _iobuf * fdopen(int, const char*);
-int fflush(struct _iobuf *);
-int fgetc(struct _iobuf *);
-char* fgets(char*, int, struct _iobuf *);
-struct _iobuf * fopen(const char*, const char*);
-int fprintf(struct _iobuf *, const char* ...);
-int fputc(int, struct _iobuf *);
-int fputs(const char*, struct _iobuf *);
-int fread(void*, int , int , struct _iobuf *);
-
-
-
-struct _iobuf * freopen(const char*, const char*, struct _iobuf *);
-
-int fscanf(struct _iobuf *, const char* ...);
-int fseek(struct _iobuf *, long, int);
-long ftell(struct _iobuf *);
-int fwrite(const void*, int , int , struct _iobuf *);
-char* gets(char*);
-int getw(struct _iobuf *);
-int pclose(struct _iobuf *);
-void perror(const char*);
-struct _iobuf * popen(const char*, const char*);
-int printf(const char* ...);
-int puts(const char*);
-int putw(int, struct _iobuf *);
-int rewind(struct _iobuf *);
-int scanf(const char* ...);
-void setbuf(struct _iobuf *, char*);
-void setbuffer(struct _iobuf *, char*, int);
-int setlinebuf(struct _iobuf *);
-int setvbuf(struct _iobuf *, char*, int, int );
-int sscanf(char*, const char* ...);
-struct _iobuf * tmpfile();
-int ungetc(int, struct _iobuf *);
-int vfprintf (...) ;
-int vprintf (...) ;
-char* sprintf (...) ;
-char* vsprintf (...) ;
-
-extern int _filbuf (...) ;
-extern int _flsbuf (...) ;
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 11 "Vision.h" 2
-
-# 1 "/usr/include/floatingpoint.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-enum fp_direction_type
- {
- fp_nearest = 0,
- fp_tozero = 1,
- fp_positive = 2,
- fp_negative = 3
- } ;
-
-# 34 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-# 43 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-
-# 53 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-enum fp_precision_type
- {
- fp_extended = 0,
- fp_single = 1,
- fp_double = 2,
- fp_precision_3 = 3
- } ;
-
-
-# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-enum fp_exception_type
- {
- fp_inexact = 0,
- fp_division = 1,
- fp_underflow = 2,
- fp_overflow = 3,
- fp_invalid = 4
- } ;
-
-
-enum fp_class_type
- {
- fp_zero = 0,
- fp_subnormal = 1,
- fp_normal = 2,
- fp_infinity = 3,
- fp_quiet = 4,
- fp_signaling = 5
- } ;
-
-
-# 18 "/usr/include/floatingpoint.h" 2 3
-
-
-
-
-typedef float single;
-typedef unsigned long extended[3];
-
-typedef long double quadruple;
-
-
-
-
-
-
-
-
-typedef unsigned fp_exception_field_type;
-
-
-
-
-typedef int sigfpe_code_type;
-
-typedef void (*sigfpe_handler_type) ();
-
-
-
-
-
-
-
-
-extern enum fp_direction_type fp_direction;
-
-
-
-
-extern enum fp_precision_type fp_precision;
-
-
-
-
-extern fp_exception_field_type fp_accrued_exceptions;
-
-
-
-
-
-
-
-
-
-
-
-typedef char decimal_string[512 ];
-
-
-typedef struct {
- enum fp_class_type fpclass;
- int sign;
- int exponent;
- decimal_string ds;
-
-
- int more;
-
-
- int ndigits;
-
-
-}
- decimal_record;
-
-enum decimal_form {
- fixed_form,
-
-
-
- floating_form
-
-};
-
-typedef struct {
- enum fp_direction_type rd;
-
- enum decimal_form df;
- int ndigits;
-}
- decimal_mode;
-
-enum decimal_string_form {
- invalid_form,
- whitespace_form,
- fixed_int_form,
- fixed_intdot_form,
- fixed_dotfrac_form,
- fixed_intdotfrac_form,
- floating_int_form,
- floating_intdot_form,
- floating_dotfrac_form,
- floating_intdotfrac_form,
- inf_form,
- infinity_form,
- nan_form,
- nanstring_form
-};
-
-
-
-extern void double_to_decimal();
-extern void quadruple_to_decimal();
-extern char *econvert();
-extern char *fconvert();
-extern char *gconvert();
-extern char *qeconvert();
-extern char *qfconvert();
-extern char *qgconvert();
-
-
-
-
-
-extern sigfpe_handler_type ieee_handlers[5 ];
-
-
-
-
-
-
-
-extern sigfpe_handler_type sigfpe();
-
-extern void single_to_decimal();
-extern void extended_to_decimal();
-
-extern void decimal_to_single();
-extern void decimal_to_double();
-extern void decimal_to_extended();
-extern void decimal_to_quadruple();
-
-extern char *seconvert();
-extern char *sfconvert();
-extern char *sgconvert();
-
-extern void string_to_decimal();
-extern void file_to_decimal();
-extern void func_to_decimal();
-
-
-
-extern double atof();
-
-
-
-extern int errno;
-
-extern double strtod();
-
-
-# 12 "Vision.h" 2
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/malloc.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct mallinfo {
- int arena;
- int ordblks;
- int smblks;
- int hblks;
- int hblkhd;
- int usmblks;
- int fsmblks;
- int uordblks;
- int fordblks;
- int keepcost;
-
- int mxfast;
- int nlblks;
- int grain;
- int uordbytes;
- int allocated;
- int treeoverhead;
-};
-
-typedef void * malloc_t;
-
-extern malloc_t calloc( );
-extern void free( );
-extern malloc_t malloc( );
-extern malloc_t realloc( );
-extern int mallopt();
-extern struct mallinfo mallinfo();
-
-
-# 13 "Vision.h" 2
-
-long time(long *);
-int ieee_handler();
-}
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/stddef.h" 1 3
-
-
-extern "C" {
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 41 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int ptrdiff_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __wchar_t wchar_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 7 "/sym/gnu/lib/g++-include/stddef.h" 2 3
-
-
-
-
-}
-
-# 24 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/stdlib.h" 1 3
-
-
-
-
-
-
-
-extern "C" {
-
-int abs(int);
-
-
-void abort(void);
-
-
-
-
-double atof(const char*);
-int atoi(const char*);
-long atol(const char*);
-
-int atexit(auto void (*p) (void));
-int bsearch (const void *, const void *, int ,
- int , auto int (*ptf)(const void*, const void*));
-void* calloc(int , int );
-void cfree(void*);
-
-
-void exit(int);
-
-
-
-
-char* fcvt(double, int, int*, int*);
-void free(void*);
-char* getenv(const char*);
-int getopt(int, char * const *, const char*);
-int getpw(int, char*);
-char* gcvt(double, int, char*);
-char* ecvt(double, int, int*, int*);
-extern char** environ;
-
-long labs(long);
-void* malloc(int );
-int malloc_usable_size(void*);
-int putenv(const char*);
-extern char* optarg;
-extern int opterr;
-extern int optind;
-void qsort(void*, int , int , auto int (*ptf)(void*,void*));
-int rand(void);
-void* realloc(void*, int );
-int setkey(const char*);
-int srand(unsigned int);
-double strtod(const char*, char**);
-long strtol(const char*, char**, int);
-unsigned long stroul(const char**, int);
-int system(const char*);
-
-long random(void);
-void srandom(int);
-char* setstate(char*);
-char* initstate(unsigned, char*, int);
-
-double drand48(void);
-void lcong48(short*);
-long jrand48(short*);
-long lrand48(void);
-long mrand48(void);
-long nrand48(short*);
-short* seed48(short*);
-void srand48(long);
-
-char* ctermid(char*);
-char* cuserid(char*);
-char* tempnam(const char*, const char*);
-char* tmpnam(char*);
-
-}
-
-# 25 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/string.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-char* strcat(char*, const char*);
-char* strchr(const char*, int);
-int strcmp(const char*, const char*);
-int strcoll(const char*, const char*);
-char* strcpy(char*, const char*);
-int strcspn(const char*, const char*);
-char* strdup(const char*);
-
-
-
-
-char* strncat(char*, const char*, int );
-int strncmp(const char*, const char*, int );
-char* strncpy(char*, const char*, int );
-char* strpbrk(const char*, const char*);
-char* strrchr(const char*, int);
-int strspn(const char*, const char*);
-char* strstr(const char*, const char *);
-char* strtok(char*, const char*);
-int strxfrm(char*, const char*, int );
-
-char* index(const char*, int);
-char* rindex(const char*, int);
-}
-
-# 1 "/sym/gnu/lib/g++-include/memory.h" 1 3
-
-
-
-
-
-
-
-extern "C" {
-
-void* memalign (...) ;
-void* memccpy (...) ;
-void* memchr (...) ;
-int memcmp (...) ;
-void* memcpy (...) ;
-void* memmove (...) ;
-void* memset (...) ;
-int ffs (...) ;
-int getpagesize (...) ;
-void* valloc (...) ;
-
-void bcopy (...) ;
-int bcmp (...) ;
-void bzero (...) ;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 43 "/sym/gnu/lib/g++-include/string.h" 2 3
-
-
-
-# 26 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-
-# 1 "/sym/gnu/lib/g++-include/unistd.h" 1 3
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/sys/types.h" 1 3
-
-
-extern "C"
-{
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/stdtypes.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int sigset_t;
-
-typedef unsigned int speed_t;
-typedef unsigned long tcflag_t;
-typedef unsigned char cc_t;
-typedef int pid_t;
-
-typedef unsigned short mode_t;
-typedef short nlink_t;
-
-typedef long clock_t;
-typedef long time_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 16 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3
-
-
-
-# 1 "/usr/include/sys/sysmacros.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 19 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3
-
-
-
-
-
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _physadr_t { int r[1]; } *physadr_t;
-typedef struct label_t {
- int val[2];
-} label_t;
-
-
-
-
-
-
-
-typedef struct _quad_t { long val[2]; } quad_t;
-typedef long daddr_t;
-typedef char * caddr_t;
-typedef unsigned long ino_t;
-typedef short dev_t;
-typedef long off_t;
-typedef unsigned short uid_t;
-typedef unsigned short gid_t;
-typedef long key_t;
-typedef char * addr_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef long fd_mask;
-
-
-
-
-
-
-
-
-
-typedef struct fd_set {
- fd_mask fds_bits[(((256 )+(( (sizeof (fd_mask) * 8 ) )-1))/( (sizeof (fd_mask) * 8 ) )) ];
-} fd_set;
-
-
-
-
-
-
-
-# 113 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 3
-
-
-
-# 15 "/sym/gnu/lib/g++-include/sys/types.h" 2 3
-
-
-
-
-
-
-}
-
-
-
-
-# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 2 3
-
-
-extern int access( );
-extern unsigned alarm( );
-extern int chdir( );
-extern int __hide_chmod ( );
-extern int __hide_chown ( );
-extern int close( );
-extern char *ctermid( );
-extern char *cuserid( );
-extern int dup( );
-extern int dup2( );
-extern int __hide_execl ( );
-extern int __hide_execle ( );
-extern int __hide_execlp ( );
-extern int execv( );
-extern int execve( );
-extern int execvp( );
-extern pid_t fork( );
-extern long fpathconf( );
-extern char *getcwd( );
-extern gid_t getegid( );
-extern uid_t geteuid( );
-extern gid_t getgid( );
-extern int getgroups( );
-extern char *getlogin( );
-extern pid_t getpgrp( );
-extern pid_t getpid( );
-extern pid_t getppid( );
-extern uid_t getuid( );
-extern int isatty( );
-extern int link( );
-extern off_t lseek( );
-extern long pathconf( );
-extern int pause( );
-extern int pipe( );
-extern int read( );
-extern int rmdir( );
-extern int __hide_setgid ( );
-extern int setpgid( );
-extern pid_t setsid( );
-extern int __hide_setuid ( );
-extern unsigned sleep( );
-extern long sysconf( );
-extern pid_t tcgetpgrp( );
-extern int tcsetpgrp( );
-extern char *ttyname( );
-extern int unlink( );
-extern int write( );
-
-
-
-# 25 "/sym/gnu/lib/g++-include/unistd.h" 2 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 59 "/sym/gnu/lib/g++-include/unistd.h" 3
-
-
-
-extern void _exit(int);
-
-
-
-
-extern unsigned alarm (...) ;
-extern int brk (...) ;
-extern int chdir (...) ;
-extern int chmod (...) ;
-extern int chown (const char*, unsigned short , unsigned short );
-extern int close (...) ;
-extern char* crypt (...) ;
-extern int dup (...) ;
-extern int dup2 (...) ;
-extern void encrypt (...) ;
-extern int execl (const char*, const char *, ...);
-extern int execle (const char*, const char *, ...);
-extern int execlp (const char*, const char*, ...);
-extern int exect (...) ;
-extern int execv (...) ;
-extern int execve (...) ;
-extern int execvp (...) ;
-extern int fchown (int, unsigned short , unsigned short );
-extern int fork (...) ;
-extern int fsync (...) ;
-extern int ftruncate (...) ;
-extern char* getcwd (...) ;
-extern int getdomainname (...) ;
-extern int getdtablesize (...) ;
-extern int getgroups (...) ;
-extern unsigned short geteuid (...) ;
-extern unsigned short getegid (...) ;
-extern unsigned short getgid (...) ;
-extern long gethostid (...) ;
-extern int gethostname (...) ;
-extern int getpgrp (...) ;
-extern int getpid (...) ;
-extern int getppid (...) ;
-extern char* getlogin (...) ;
-extern char* getpass (...) ;
-extern unsigned short getuid (...) ;
-extern int ioctl (int, int, ... );
-extern int isatty (...) ;
-extern int link (...) ;
-extern int mkstemp (...) ;
-extern char* mktemp (...) ;
-extern int nice (...) ;
-extern int pause (...) ;
-extern int pipe (...) ;
-extern int readlink (...) ;
-extern int rename (...) ;
-extern int rmdir (...) ;
-extern void* sbrk (...) ;
-extern int syscall (...) ;
-extern int setgid (unsigned short );
-extern int sethostname (...) ;
-
-
-
-
-extern int setpgrp (...) ;
-
-extern int setregid (...) ;
-extern int setreuid (...) ;
-extern int setuid (unsigned short );
-extern unsigned sleep (...) ;
-extern void swab (...) ;
-extern int symlink (...) ;
-extern long sysconf (...) ;
-extern int truncate (...) ;
-extern char* ttyname (...) ;
-extern int ttyslot (...) ;
-
-extern int unlink (...) ;
-extern int vfork (...) ;
-extern int vadvise (...) ;
-extern int vhangup (...) ;
-extern long lseek (...) ;
-extern int read (...) ;
-extern int write (...) ;
-extern int access (...) ;
-
-extern int flock (...) ;
-
-
-}
-
-
-# 28 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 174 "/sym/gnu/lib/g++-include/stdio.h" 3
-
-# 29 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/errno.h" 1 3
-
-
-extern "C" {
-
-
-
-
-
-# 1 "/usr/include/errno.h" 1 3
-
-
-
-
-
-
-
-
-
-# 1 "/usr/include/sys/errno.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 10 "/usr/include/errno.h" 2 3
-
-extern int errno;
-
-
-# 9 "/sym/gnu/lib/g++-include/errno.h" 2 3
-
-
-
-
-extern char* sys_errlist[];
-extern int sys_nerr;
-
-extern int errno;
-
-void perror(const char*);
-char* strerr(int);
-
-
-}
-
-
-# 30 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/fcntl.h" 1 3
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-# 1 "/usr/include/fcntl.h" 1 3
-
-
-
-
-
-# 1 "/usr/include/sys/fcntlcom.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct flock {
- short l_type;
- short l_whence;
- long l_start;
- long l_len;
- short l_pid;
- short l_xxx;
-};
-
-
-
-struct eflock {
- short l_type;
- short l_whence;
- long l_start;
- long l_len;
- short l_pid;
- short l_xxx;
- long l_rpid;
- long l_rsys;
-};
-
-
-
-# 1 "/sym/gnu/lib/g++-include/sys/stat.h" 1 3
-
-
-extern "C"
-{
-
-
-
-
-
-
-
-
-
-# 1 "/usr/include/sys/stat.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-struct stat {
- dev_t st_dev;
- ino_t st_ino;
- mode_t st_mode;
- short st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- off_t st_size;
- time_t st_atime;
- int st_spare1;
- time_t st_mtime;
- int st_spare2;
- time_t st_ctime;
- int st_spare3;
- long st_blksize;
- long st_blocks;
- long st_spare4[2];
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-int __hide_chmod ( );
-int fstat( );
-int mkdir( );
-int mkfifo( );
-int stat( );
-mode_t umask( );
-
-
-
-# 14 "/sym/gnu/lib/g++-include/sys/stat.h" 2 3
-
-
-
-
-
-
-extern int chmod (...) ;
-extern int stat (...) ;
-extern int lstat (...) ;
-extern int fstat (...) ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-# 149 "/usr/include/sys/fcntlcom.h" 2 3
-
-
-int __hide_open ( );
-int __hide_creat ( );
-int __hide_fcntl ( );
-
-
-# 6 "/usr/include/fcntl.h" 2 3
-
-
-
-
-
-# 14 "/sym/gnu/lib/g++-include/fcntl.h" 2 3
-
-
-
-
-
-
-
-
-int fcntl(int, int, ...);
-int creat (...) ;
-
-int open (...) ;
-
-
-}
-
-# 31 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-
-extern "C" {
-int strcasecmp (...) ;
-}
-
-
-# 18 "Vision.h" 2
-
-# 1 "/sym/gnu/lib/g++-include/math.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-
-
-
-
-
-
-
-
-
-
-# 64 "/sym/gnu/lib/g++-include/math.h" 3
-
-extern "C" {
-
-double acos(double);
-double acosh(double);
-double asin(double);
-double asinh(double);
-double atan(double);
-double atan2(double, double);
-double atanh(double);
-double cbrt(double);
-double ceil(double);
-double copysign(double,double);
-double cos(double);
-double cosh(double);
-double drem(double,double);
-double erf(double);
-double erfc(double);
-double exp(double);
-double expm1(double);
-double fabs(double);
-double finite(double);
-double floor(double);
-double fmod(double, double);
-double frexp(double, int*);
-double gamma(double);
-double hypot(double,double);
-double infnan(int);
-
-
-int isinf(double);
-int isnan(double);
-
-double j0(double);
-double j1(double);
-double jn(int, double);
-double ldexp(double, int);
-double lgamma(double);
-double log(double);
-double log10(double);
-double log1p(double);
-double logb(double);
-double modf(double, double*);
-double pow(double, double);
-double rint(double);
-double scalb(double, int);
-double sin(double);
-double sinh(double);
-double sqrt(double);
-double tan(double);
-double tanh(double);
-double y0(double);
-double y1(double);
-double yn(int, double);
-
-double aint(double);
-double anint(double);
-int irint(double);
-int nint(double);
-}
-
-
-
-
-
-
-
-
-struct libm_exception
-{
- int type;
- char* name;
- double arg1, arg2, retval;
-};
-
-
-
-
-
-
-
-
-extern "C" int matherr(libm_exception*);
-
-
-
-# 1 "/sym/gnu/lib/g++-include/values.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 57 "/sym/gnu/lib/g++-include/values.h" 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 166 "/sym/gnu/lib/g++-include/values.h" 3
-
-
-
-
-
-
-
-
-
-# 150 "/sym/gnu/lib/g++-include/math.h" 2 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 19 "Vision.h" 2
-
-
-# 1 "MiscUtilities.h" 1
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 37 "/sym/gnu/lib/g++-include/std.h" 3
-
-# 6 "MiscUtilities.h" 2
-
-
-
-
-
-
-
-
-
-inline int used_mem() {
- struct mallinfo mi = mallinfo();
- return mi.usmblks+mi.uordblks;
-}
-inline void abort(void) {
- fprintf((&_iob[2]) ,"abort\n");
- exit(1);
-}
-
-inline volatile void error(char *s) {
- fprintf((&_iob[2]) ,"FATAL ERROR: ");
- fprintf((&_iob[2]) ,"%s\n",s);
- exit(1);
-}
-template <class Y>
-struct NameValuePair {
- char *name;
- Y y;
-};
-
-template <class Y>
-Y lookup(NameValuePair<Y> *data,char *name) {
- while(data->name) {
- if(!strcmp(data->name,name)) return data->y;
- data++;
- }
- abort();
- return data->y;
-}
-
-template <class T>
-void swap(T &x,T &y) {
- T temp = x;
- x = y;
- y = temp;
-}
-
-
-# 21 "Vision.h" 2
-
-# 1 "Counted.h" 1
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 37 "/sym/gnu/lib/g++-include/std.h" 3
-
-# 6 "Counted.h" 2
-
-
-template <class T>
-struct Counted {
- private:
- int *count;
- T *object;
- T *operator&() {
- return object;
- }
- void dec_count() {
- if(!count) return;
- (*count)--;
- if(*count<=0) {
- delete count;
- delete object;
- count=0;
- object=0;
- }
- }
- void inc_count() {
- if(!count) return;
- (*count)++;
- }
- public:
- Counted() {
- count=0;
- object=0;
- }
- Counted(T *object):object(object) {
- count = new int(1);
- }
- ~Counted() {
- dec_count();
- }
- Counted(Counted &other) {
- count=other.count;
- object=other.object;
- inc_count();
- }
- Counted &operator=(Counted &other) {
- other.inc_count();
- dec_count();
- count=other.count;
- object=other.object;
- return *this;
- }
-
- T &operator*() {if(!object) abort(); else return *object; return *object;}
- T *operator->() {if(!object) abort(); else return object; return object;}
- operator T&() {if(!object) abort(); else return *object; return *object;}
-
-
-};
-
-
-# 22 "Vision.h" 2
-
-# 1 "Art.h" 1
-
-
-
-
-
-
-extern "C" { void abort(); }
-
-
-
-
-
-
-
-
-
-
-
-
-template <class X>
-inline void art_initialize(X *,int) {}
-
-# 39 "Art.h"
-
-
-
-
-
-
-template <class T>
-class Art {
-protected:
- int mark_temp;
- T *data;
- int dims[1];
- void constructor(int d) {
- if(d<0) abort() ;
- mark_temp=0;
- dims[0]=d;
- if(d>0) {
- data=new T[d];
- if(!data) abort() ;
- } else data=0;
- art_initialize(data,d);
- }
- void destructor() {
- if(!data) return;
- delete [] data;
- mark_temp=0;
- data=0;
- dims[0]=0;
- }
- void copy(Art &other) {
- int d0=dims[0]<?other.dims[0];
- for(int i=0;i<d0;i++) data[i]=other.data[i];
- }
-public:
- void copyclear(Art &other) {
- dims[0]=other.dims[0];
- data=other.data;
- other.dims[0]=0;
- other.data=0;
- }
-private:
- void copyconstructor(Art &other) {
- mark_temp=0;
- if(other.mark_temp) {
- copyclear(other);
- } else {
- constructor(other.dims[0]);
- copy(other);
- }
- }
- public:
- Art() {constructor(0);}
- Art(int d) {constructor(d);}
- Art(Art &other) {copyconstructor(other);}
- ~Art() {destructor();}
-
- Art &operator=(Art &other) {
- destructor();
- copyconstructor(other);
- return *this;
- }
- int dim(int i) {return dims[i];}
- T &operator()(int i) {
- if(unsigned(i)>=unsigned(dims[0])) abort() ;
- return data[i];
- }
- T &sub(int i) {return data[i];}
- void resize(int nd) {
- if(nd<0) abort() ;
- Art t(nd);
- int limit=nd<?dims[0];
- for(int i=0;i<limit;i++) t.data[i]=data[i];
- t.mark_temp=1;
- *this=t;
- }
- Art &temp() { mark_temp=1; return *this; }
- T *pointer() {return data;}
- void fill(T value) {for(int i=0;i<dims[0];i++) data[i]=value;}
-
- int length() {return dims[0];}
- T &operator[](int i) {return operator()(i);}
-};
-
-
-
-
-
-
-
-
-template <class T>
-class Stk {
-protected:
- Art<T> stack;
- int fill;
-public:
- Stk() {stack.resize(4); fill=0;}
- Stk(Stk &other) {
- stack=other.stack;
- fill=other.fill;
- }
- int dim(int i) {return stack.dim(i);}
- void push(const T &element) {
- if(fill>=stack.dim(0)) stack.resize(2*fill);
- stack.sub(fill++)=element;
- }
- T &tos() {
- return stack(fill-1);
- }
- T &pop() {
- return stack(--fill);
- }
- T &operator()(int i) {return stack(i);}
- T &sub(int i) {return stack.sub(i);}
- void clear() {
- stack.resize(0);
- stack.resize(4);
- fill=0;
- }
- void compact() {
- stack.resize(fill+1);
- }
- Stk temp() { stack.temp(); return *this; }
- T *pointer() {return stack.pointer();}
- operator Art<T>&() {return stack;}
-
- int length() {return fill;}
- T &operator[](int i) {return operator()(i);}
-};
-
-
-
-
-
-template <class T>
-class Art2 {
-protected:
- int mark_temp;
- T **data;
- int dims[2];
- int total_length;
- void constructor(int d0,int d1) {
- if(d0<0||d1<0) abort() ;
- mark_temp=0;
- dims[0]=d0;
- dims[1]=d1;
- total_length=dims[0]*dims[1];
- if(d0>0) {
- data=new T*[d0];
- if(!data) abort() ;
- } else data=0;
- if(d0>0&&d1>0) {
- T *p=new T[d0*d1];
- if(!p) abort() ;
- for(int i=0;i<d0;i++) data[i]=p+i*d1;
- art_initialize(data[0],d0*d1);
- }
- }
- void destructor() {
- if(dims[0]<1) return;
- if(!data) return;
- delete [] data[0];
- delete [] data;
- mark_temp=0;
- data=0;
- dims[0]=0;
- dims[1]=0;
- }
- void copy(Art2 &other) {
- int d0=dims[0]<?other.dims[0];
- int d1=dims[1]<?other.dims[1];
- for(int i=0;i<d0;i++) for(int j=0;j<d1;j++)
- data[i][j]=other.data[i][j];
- }
-public:
- void copyclear(Art2 &other) {
- dims[0]=other.dims[0];
- dims[1]=other.dims[1];
- total_length=dims[0]*dims[1];
- data=other.data;
- other.dims[0]=0;
- other.dims[1]=0;
- other.total_length=0;
- other.data=0;
- }
-private:
- void copyconstructor(Art2 &other) {
- mark_temp=0;
- if(other.mark_temp) {
- copyclear(other);
- } else {
- constructor(other.dims[0],other.dims[1]);
- copy(other);
- }
- }
- public:
- Art2() {constructor(0,0);}
- Art2(int d0,int d1) {constructor(d0,d1);}
- Art2(const Art2 &other) {copyconstructor((Art2&)other);}
- ~Art2() {destructor();}
-
- Art2 &operator=(Art2 &other) {
- destructor();
- copyconstructor(other);
- return *this;
- }
- int dim(int i) {return dims[i];}
- T &operator()(int i,int j) {
- if(unsigned(i)>=unsigned(dims[0])||unsigned(j)>=unsigned(dims[1]))
- abort() ;
- return data[i][j];
- }
- T &sub(int i,int j) {return data[i][j];}
- void resize(int nd0,int nd1) {
- if(nd0<0||nd1<0) abort() ;
- Art2 t(nd0,nd1);
- int limit0=nd0<?dims[0];
- int limit1=nd1<?dims[1];
- for(int i=0;i<limit0;i++) for(int j=0;j<limit1;j++) t.data[i][j]=data[i][j];
- t.mark_temp=1;
- *this=t;
- }
- Art2 &temp() { mark_temp=1; return *this; }
- T **pointer() {return data;}
- void fill(T value) {
- for(int i=0;i<dims[0];i++) for(int j=0;j<dims[1];j++)
- data[i][j]=value;
- }
-
-
-
- int length() {return total_length;}
- T &sub(int i) {return data[0][i];}
- T &operator()(int i) {
- if(unsigned(i)>=total_length) abort() ;
- return data[0][i];
- }
-};
-
-template <class T>
-inline void art_swap(T &x,T &y) {
- T temp = x;
- x = y;
- y = temp;
-}
-
-template <class T>
-inline void reverse(Art<T> &a) {
- int i;
- for(i=a.length()/2;i>=0;i--) art_swap(a.sub(i),a.sub(a.length()-i-1));
-}
-
-template <class T>
-inline void reverse(Stk<T> &a) {
- reverse(a.stack);
-}
-
-template <class T>
-inline void bag_remove(Stk<T> &a,T &element) {
- for(int i=0;i<a.length()-1;i++) {
- if(a(i)==element) {
- a.sub(i)=a.tos();
- a.pop();
- }
- }
- if(i<a.length()&&a.sub(i)==element) a.pop();
-}
-
-template <class T>
-inline void ordered_remove(Stk<T> &a,T &element) {
- int source=0,dest=0;
- while(source<a.length()) {
- if(a(source)!=element) {
- a(dest)=a(source);
- dest++;
- }
- source++;
- }
- a.stack.resize(dest);
-}
-
-template <class T>
-inline Art<T> concatenate(Art<T> &a,Art<T> &b) {
- int i,k;
- k=a.length();
- Art<T> result(k+b.length());
- for(i=0;i<a.length();i++) result.sub(i)=a.sub(i);
- for(i=0;i<b.length();i++) result.sub(i+k)=b.sub(i);
- return result.temp();
-}
-
-template <class T>
-inline Stk<T> concatenate(Stk<T> &a,Stk<T> &b) {
- int i;
- Stk<T> result;
- for(i=0;i<a.length();i++) result.push(a.sub(i));
- for(i=0;i<b.length();i++) result.push(b.sub(i));
- return result.temp();
-}
-
-
-# 23 "Vision.h" 2
-
-# 1 "Geo.h" 1
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/math.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 215 "/sym/gnu/lib/g++-include/math.h" 3
-
-# 6 "Geo.h" 2
-
-
-extern "C" {
-void abort(void);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-template <class T,int n>
-class vec {
-protected:
- T v[n];
-public:
- int length() {return n;}
- int dim(int) {return n;}
- vec() {}
- vec(T v0) { v[0]=v0; }
- vec(T v0,T v1) { v[0]=v0; v[1]=v1; }
- vec(T v0,T v1,T v2) { v[0]=v0; v[1]=v1; v[2]=v2; }
- vec(T v0,T v1,T v2,T v3) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; }
- vec(T v0,T v1,T v2,T v3,T v4) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; v[4]=v4; }
-
- T &operator[](int i) {return v[i];}
- T &sub(int i) {return v[i];}
- T &operator()(int i) {
- if(unsigned(i)>=n) abort();
- return v[i];
- }
-
-
-
-
-
-
-
-
-
-
-
-
- T operator*(vec &other) {
- T result=0;
- for(int i=0;i<n;i++) result=result+sub(i)*other.sub(i);
- return result;
- }
-
-
- vec operator-() {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)= -sub(i);
- return result;
- }
- vec operator*(T other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)*other;
- return result;
- }
- vec operator/(T other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)/other;
- return result;
- }
- vec operator+(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)+other.sub(i);
- return result;
- }
- vec operator-(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)-other.sub(i);
- return result;
- }
- vec operator<?(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)<?other.sub(i);
- return result;
- }
- vec operator>?(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)>?other.sub(i);
- return result;
- }
-
-
- int operator==(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)!=other.sub(i)) return 0;
- return 1;
- }
- int operator!=(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)!=other.sub(i)) return 1;
- return 0;
- }
- int operator<(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)>=other.sub(i)) return 0;
- return 1;
- }
- int operator>(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)<=other.sub(i)) return 0;
- return 1;
- }
- int operator<=(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)>other.sub(i)) return 0;
- return 1;
- }
- int operator>=(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)<other.sub(i)) return 0;
- return 1;
- }
-};
-
-template <class T>
-inline float euclidean_norm(T &v) {
- float total=0.0;
- for(int i=0;i<v.dim(0);i++) total+=v(i)*v(i);
- return sqrt(total);
-}
-
-template <class T>
-inline float euclidean_distance(T &u,T &v) {
- float total=0.0;
- for(int i=0;i<u.dim(0);i++) {
- float d=u(i)-v(i);
- total+=d*d;
- }
- return sqrt(total);
-}
-
-
-
-
-
-template <class T,int n>
-class mat:vec<T,n*n> {
-protected:
-public:
- int dim(int) {return n;}
- T &operator[](int i) {return v[i];}
- T &sub(int i,int j) {return v[i*n+j];}
- T &operator()(int i,int j) {
- if(unsigned(i)>=n||unsigned(j)>=n) abort();
- return sub(i,j);
- }
- mat operator*(mat &other) {
- mat result;
- for(int i=0;i<n;i++) for(int j=0;j<n;j++) {
- T total=0;
- for(int k=0;k<n;k++) total=total+sub(i,k)*other.sub(k,j);
- result.sub(i,j)=total;
- }
- return result;
- }
- vec<T,n> operator*(vec<T,n> &other) {
- vec<T,n> result;
- for(int i=0;i<n;i++) {
- T total=0;
- for(int k=0;k<n;k++) total=total+sub(i,k)*other.sub(k);
- result.sub(i)=total;
- }
- return result;
- }
-};
-
-
-
-
-
-typedef vec<float,2> vec2;
-typedef vec<float,3> vec3;
-typedef vec<float,4> vec4;
-
-typedef mat<float,2> mat2;
-typedef mat<float,3> mat3;
-typedef mat<float,4> mat4;
-
-typedef vec<int,2> ivec2;
-
-
-
-
-
-
-
-inline float norm_angle(float p) {
- while(p<0) p+=2* 3.14159265358979323846 ; while(p>=2* 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p;
-}
-inline float norm_angle0(float p) {
- while(p<- 3.14159265358979323846 ) p+=2* 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p;
-}
-inline float norm_orientation(float p) {
- while(p<0) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-= 3.14159265358979323846 ; return p;
-}
-inline float norm_orientation0(float p) {
- while(p<- 3.14159265358979323846 /2) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 /2) p-= 3.14159265358979323846 ; return p;
-}
-inline float orientation_difference(float p,float q) {
- fabs(norm_orientation0(p-q));
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline vec2 cmul(vec2 &p,vec2 &q) {
- return vec2(p.sub(0)*q.sub(0)-p.sub(1)*q.sub(1),
- p.sub(0)*q.sub(1)+p.sub(1)*q.sub(0));
-}
-
-inline vec2 cdiv(vec2 &p,vec2 &q) {
- float n=q*q;
- return vec2((p.sub(0)*q.sub(0)+p.sub(1)*q.sub(1))/n,
- (p.sub(1)*q.sub(0)-p.sub(0)*q.sub(1))/n);
-}
-
-inline vec2 csqrt(vec2 &x) {
- if (x.sub(0)==0.0&&x.sub(1)==0.0)
- return vec2(0.0,0.0);
- else {
- float a=sqrt((fabs(x.sub(0))+hypot(x.sub(0),x.sub(1)))*0.5);
- float b=0.5*(x.sub(1)/a);
- if(x.sub(0)>0.0) return vec2(a, b);
- else if(x.sub(1)>=0.0) return vec2(a,b);
- else return vec2(-a,-b);
- }
-}
-inline vec2 cpow(vec2& x, double p) {
- float h=hypot(x.sub(0),x.sub(1));
- if (h<=0.0) abort();
- float lr=pow(h,p);
- float a=atan2(x.sub(1),x.sub(0));
- float li=p*a;
- return vec2(lr*cos(li),lr*sin(li));
-}
-
-
-
-inline float cross(vec2 p,vec2 q) {
- return p.sub(0)*q.sub(1)-p.sub(1)*q.sub(0);
-}
-
-
-
-
-
-struct TRS2 {
- vec2 t;
- vec2 r;
- TRS2(vec2 t=vec2(0.0,0.0),vec2 r=vec2(1.0,0.0)):t(t),r(r) {
- }
- vec2 operator()(vec2 &arg) {
- return cmul(r,arg)+t;
- }
- float rotation() {
- return atan2(r(1),r(0));
- }
-};
-
-
-
-# 24 "Vision.h" 2
-
-
-
-
-# 1 "VisionTypes.h" 1
-
-
-
-
-typedef Art2<float> FImage;
-typedef Art2<int> IImage;
-typedef Art2<unsigned char> CImage;
-
-struct FImageOp {virtual FImage operator()(FImage &) = 0;};
-struct FImageOp2 {virtual FImage operator()(FImage &,FImage &) = 0;};
-struct CImageOp {virtual CImage operator()(CImage &) = 0;};
-struct CImageOp2 {virtual CImage operator()(CImage &,CImage &) = 0;};
-
-
-
-
-
-struct PFeature {
- ivec2 p;
- float a;
- short group;
- short type;
- PFeature() {}
- PFeature(ivec2 p,float a,int group,int type):p(p),a(a),group(group),type(type) {}
-};
-
-typedef Stk<PFeature> PFeatureStk;
-
-struct FIExtractor {virtual PFeatureStk operator()(FImage &) = 0;};
-struct CIExtractor {virtual PFeatureStk operator()(CImage &) = 0;};
-# 28 "Vision.h" 2
-
-# 1 "ImageDatabase.h" 1
-
-
-
-
-
-# 1 "Art.h" 1
-
-
-# 339 "Art.h"
-
-# 6 "ImageDatabase.h" 2
-
-
-typedef Art2<unsigned char> CImage;
-
-
-
-
-
-
-
-
-struct ImageDatabase {
-
-
-
-
- virtual int length() = 0;
- virtual int nclassifications() = 0;
- virtual int nusers() = 0;
-
-
-
-
- virtual int classification(int offset) = 0;
- virtual int user(int offset) = 0;
-
- virtual CImage cimage(int offset) {abort();}
- virtual PFeatureStk features(int offset) {abort();}
-
-
-
-
-
-
- virtual int user_offset(int user) = 0;
- virtual int user_length(int user) = 0;
-};
-
-ImageDatabase *make_NISTDigitImages();
-
-
-
-
-
-struct ImageDatabaseIterator {
- virtual int done() = 0;
- virtual void next() = 0;
- virtual operator int() = 0;
- virtual void mark_upto_here() {}
-};
-
-ImageDatabaseIterator *make_IDI_Sequential(ImageDatabase *digits,int current,int stride);
-ImageDatabaseIterator *make_IDI_OnePerUser(ImageDatabase *digits,int current);
-ImageDatabaseIterator *make_IDI_FromFile(char *name);
-
-
-# 29 "Vision.h" 2
-
-
-
-# 1 "NISTImages.cc" 2
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 37 "/sym/gnu/lib/g++-include/std.h" 3
-
-# 11 "NISTImages.cc" 2
-
-# 1 "Art.h" 1
-
-
-# 339 "Art.h"
-
-# 12 "NISTImages.cc" 2
-
-
-extern "C" {
-# 1 "./nist/ihead.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct ihead{
- char id[ 80 ];
- char created[ 26 ];
- char width[ 8 ];
- char height[ 8 ];
- char depth[ 8 ];
- char density[ 8 ];
- char compress[ 8 ];
- char complen[ 8 ];
- char align[ 8 ];
- char unitsize[ 8 ];
- char sigbit;
- char byte_order;
- char pix_offset[ 8 ];
- char whitepix[ 8 ];
- char issigned;
- char rm_cm;
- char tb_bt;
- char lr_rl;
- char parent[ 80 ];
- char par_x[ 8 ];
- char par_y[ 8 ];
-}IHEAD;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 15 "NISTImages.cc" 2
-
-int readihdrfile();
-
-}
-
-typedef Art2<unsigned char> CImage;
-
-Stk<char*> mis_files;
-
-extern "C" {
- char *re_comp(char *);
- int re_exec(char *);
-}
-
-struct NISTCharFile {
- private:
- NISTCharFile(NISTCharFile &);
- void operator=(NISTCharFile &);
- public:
- IHEAD *bit_header;
- int bit_w,bit_h;
- char *bit_data;
- int field_w,field_h;
- Stk<int> classes;
-
- static void maybe_read_mis_files() {
- if(mis_files.length()>0) return;
- struct _iobuf *stream = fopen("/com/nist/mis-files" ,"r");
- if(!stream) abort() ;
- char buf[1024];
- while(fgets(buf,sizeof buf,stream)) {
- buf[strlen(buf)-1]='\0';
- mis_files.push(strdup(buf));
- }
- fclose(stream);
- }
-
- static char *find_matching_mis_file_prefix(char *pattern) {
- if(re_comp(pattern)) abort() ;
- int i;
- for(i=0;i<mis_files.length();i++) {
- if(re_exec(mis_files(i))) break;
- }
- if(i<mis_files.length()) return mis_files(i);
- else return 0;
- }
-
- static int part_of_user(int user) {
- int part;
- if(user<500) part=0;
- else if(user<1000) part=1;
- else if(user<1500) part=2;
- else part=3;
- return part;
- }
-
- static char type_of_itype(int itype) {
- char type;
- switch(itype) {
- case 0: type='d'; break;
- case 1: type='u'; break;
- case 2: type='l'; break;
- default: abort() ;
- };
- return type;
- }
-
- NISTCharFile(int user,char itype) {
- maybe_read_mis_files();
- int type = type_of_itype(itype);
- int part = part_of_user(user);
-
- char buf[512];
- sprintf(buf,"/com/nist3/data/" "hsf_%d/f%04d_.*/%c%04d_.*",part,user,type,user);
- char *prefix = find_matching_mis_file_prefix(buf);
- ;
-
- if(!prefix) {
- bit_w = 0;
- bit_h = 0;
- field_w = 0;
- field_h = 0;
- return;
- }
-
- char file[512];
-
- strcpy(file,prefix); strcat(file,".mis");
- if(!readihdrfile(file,&bit_header,&bit_data,&bit_w,&bit_h))
- abort() ;
- field_w=atoi(bit_header->par_x);
- field_h=atoi(bit_header->par_y);
-
- strcpy(file,prefix); strcat(file,".cls");
- struct _iobuf *stream = fopen(file,"r");
- if(!stream)
- abort() ;
- int total=atoi(fgets(buf,sizeof buf,stream));
- if(total!=bit_h/field_h)
- abort() ;
- while(fgets(buf,sizeof buf,stream)) classes.push(strtol(buf,0,16));
- fclose(stream);
- }
-
- ~NISTCharFile() {
- free(bit_header);
- free(bit_data);
- }
-
- int length() {
- return bit_h/field_h;
- }
-
- CImage image(int i0) {
- ;
- CImage result(field_w,field_h);
- int bit_w8=bit_w/8;
- int offset=i0*field_h;
- if(offset>=bit_h) abort() ;
- int i,j;
-
-
- for(i=0;i<field_w;i++) for(j=0;j<field_h;j++) {
- int jj=j+offset;
- result(i,field_h-j-1)=(!!(bit_data[bit_w8*jj+(i>>3)]&(1<<(7-i&7)))) ;
- }
-
- return result.temp();
- }
-
- int classification(int i) {
- return classes(i);
- }
-};
-
-int *NISTDigitImages_table;
-
-struct NISTDigitImages:ImageDatabase {
- private:
- NISTDigitImages(NISTDigitImages&);
- void operator=(NISTDigitImages&);
- public:
- enum {table_size=2101};
-
- int nclassifications() {return 10;}
- int nusers() {return 2200;}
-
- static void init_table() {
- struct _iobuf *stream=fopen("/com/nist/nist-digits" ,"r");
- NISTDigitImages_table = new int[table_size];
- if(!stream) abort() ;
- int i=1;
- while(fscanf(stream,"%d",&NISTDigitImages_table[i])==1) i++;
- if(i!=table_size) abort() ;
- fclose(stream);
- int total=0;
- for(i=1;i<table_size;i++) NISTDigitImages_table[i]+=NISTDigitImages_table[i-1];
- }
-
- static int locate(int v) {
- int low=0;
- int high=table_size;
- if(v>=NISTDigitImages_table[table_size-1]) abort() ;
- while(low+1<high) {
- int mid=(low+high)/2;
- if(NISTDigitImages_table[mid]<=v) low=mid;
- else high=mid;
- }
- while(low<table_size-1&&NISTDigitImages_table[low+1]<=v) low++;
- return low;
- }
-
- int user_offset(int user) {
- if(unsigned(user)>=2100) abort() ;
- return NISTDigitImages_table[user];
- }
-
- int user_length(int user) {
- if(unsigned(user)>=2100) abort() ;
- return NISTDigitImages_table[user+1]-NISTDigitImages_table[user];
- }
-
- int current_user;
- NISTCharFile *current_file;
-
- private:
- void get_cache(int user) {
- if(user!=current_user) {
- delete current_file;
- current_file = new NISTCharFile(user,0);
- current_user = user;
- }
- }
-
- public:
- NISTDigitImages() {
- ;
- if(!NISTDigitImages_table) init_table();
- current_user=0;
- current_file=new NISTCharFile(0,0);
- ;
- }
-
- ~NISTDigitImages() {
- delete current_file;
- }
-
- int length() {return NISTDigitImages_table[table_size-1];}
-
- int user(int i) {
- return locate(i);
- }
-
- CImage image(int i) {
- int user = locate(i);
- get_cache(user);
- int offset = i-NISTDigitImages_table[user];
- return current_file->image(offset);
- }
-
- int classification(int i) {
- int user = locate(i);
- get_cache(user);
- int offset = i-NISTDigitImages_table[user];
- return current_file->classification(offset);
- }
-};
-
-ImageDatabase *make_NISTDigitImages() {
- return new NISTDigitImages();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/inline2.C b/gcc/testsuite/g++.old-deja/g++.law/inline2.C
deleted file mode 100644
index 2eb5b38f7e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/inline2.C
+++ /dev/null
@@ -1,3601 +0,0 @@
-// excess errors test - XFAIL - *-*-*
-// Build don't link:
-// Special g++ Options: -O2
-// GROUPS passed inlining
-# 1 "NISTImages.cc"
-# 1 "Vision.h" 1
-
-
-
-
-
-
-
-
-
-extern "C" {
-# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/_G_config.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 33 "/sym/gnu/lib/g++-include/stdio.h" 2 3
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 1 3
-
-# 1 "/sym/gnu/lib/g++-include/stdarg.h" 1 3
-extern "C" {
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-typedef char * __gnuc_va_list;
-
-
-
-
-
-
-
-
-
-# 79 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 3
-
-
-# 32 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 2 3
-
-# 77 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3
-
-
-
-
-
-
-# 140 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3
-
-
-
-
-
-# 2 "/sym/gnu/lib/g++-include/stdarg.h" 2 3
-
-}
-# 2 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 2 3
-
-
-
-
-
-
-extern struct _iobuf {
- int _cnt;
- unsigned char *_ptr;
- unsigned char *_base;
- int _bufsiz;
- short _flag;
- char _file;
-} _iob[];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern struct _iobuf *__hide_fopen ();
-extern struct _iobuf *__hide_fdopen ();
-extern struct _iobuf *__hide_freopen ();
-extern struct _iobuf *__hide_popen ();
-extern struct _iobuf *tmpfile();
-extern long __hide_ftell ();
-extern char *fgets();
-extern char *gets();
-extern char *__hide_sprintf ();
-extern char *ctermid();
-extern char *cuserid();
-extern char *__hide_tempnam ();
-extern char *tmpnam();
-
-
-
-
-
-
-# 69 "/sym/gnu/lib/g++-include/stdio.h" 2 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-extern "C" {
-
-int fclose(struct _iobuf *);
-struct _iobuf * fdopen(int, const char*);
-int fflush(struct _iobuf *);
-int fgetc(struct _iobuf *);
-char* fgets(char*, int, struct _iobuf *);
-struct _iobuf * fopen(const char*, const char*);
-int fprintf(struct _iobuf *, const char* ...);
-int fputc(int, struct _iobuf *);
-int fputs(const char*, struct _iobuf *);
-int fread(void*, int , int , struct _iobuf *);
-
-
-
-struct _iobuf * freopen(const char*, const char*, struct _iobuf *);
-
-int fscanf(struct _iobuf *, const char* ...);
-int fseek(struct _iobuf *, long, int);
-long ftell(struct _iobuf *);
-int fwrite(const void*, int , int , struct _iobuf *);
-char* gets(char*);
-int getw(struct _iobuf *);
-int pclose(struct _iobuf *);
-void perror(const char*);
-struct _iobuf * popen(const char*, const char*);
-int printf(const char* ...);
-int puts(const char*);
-int putw(int, struct _iobuf *);
-int rewind(struct _iobuf *);
-int scanf(const char* ...);
-void setbuf(struct _iobuf *, char*);
-void setbuffer(struct _iobuf *, char*, int);
-int setlinebuf(struct _iobuf *);
-int setvbuf(struct _iobuf *, char*, int, int );
-int sscanf(char*, const char* ...);
-struct _iobuf * tmpfile();
-int ungetc(int, struct _iobuf *);
-int vfprintf (...) ;
-int vprintf (...) ;
-char* sprintf (...) ;
-char* vsprintf (...) ;
-
-extern int _filbuf (...) ;
-extern int _flsbuf (...) ;
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 11 "Vision.h" 2
-
-# 1 "/usr/include/floatingpoint.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-enum fp_direction_type
- {
- fp_nearest = 0,
- fp_tozero = 1,
- fp_positive = 2,
- fp_negative = 3
- } ;
-
-# 34 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-# 43 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-
-# 53 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-enum fp_precision_type
- {
- fp_extended = 0,
- fp_single = 1,
- fp_double = 2,
- fp_precision_3 = 3
- } ;
-
-
-# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3
-
-enum fp_exception_type
- {
- fp_inexact = 0,
- fp_division = 1,
- fp_underflow = 2,
- fp_overflow = 3,
- fp_invalid = 4
- } ;
-
-
-enum fp_class_type
- {
- fp_zero = 0,
- fp_subnormal = 1,
- fp_normal = 2,
- fp_infinity = 3,
- fp_quiet = 4,
- fp_signaling = 5
- } ;
-
-
-# 18 "/usr/include/floatingpoint.h" 2 3
-
-
-
-
-typedef float single;
-typedef unsigned long extended[3];
-
-typedef long double quadruple;
-
-
-
-
-
-
-
-
-typedef unsigned fp_exception_field_type;
-
-
-
-
-typedef int sigfpe_code_type;
-
-typedef void (*sigfpe_handler_type) ();
-
-
-
-
-
-
-
-
-extern enum fp_direction_type fp_direction;
-
-
-
-
-extern enum fp_precision_type fp_precision;
-
-
-
-
-extern fp_exception_field_type fp_accrued_exceptions;
-
-
-
-
-
-
-
-
-
-
-
-typedef char decimal_string[512 ];
-
-
-typedef struct {
- enum fp_class_type fpclass;
- int sign;
- int exponent;
- decimal_string ds;
-
-
- int more;
-
-
- int ndigits;
-
-
-}
- decimal_record;
-
-enum decimal_form {
- fixed_form,
-
-
-
- floating_form
-
-};
-
-typedef struct {
- enum fp_direction_type rd;
-
- enum decimal_form df;
- int ndigits;
-}
- decimal_mode;
-
-enum decimal_string_form {
- invalid_form,
- whitespace_form,
- fixed_int_form,
- fixed_intdot_form,
- fixed_dotfrac_form,
- fixed_intdotfrac_form,
- floating_int_form,
- floating_intdot_form,
- floating_dotfrac_form,
- floating_intdotfrac_form,
- inf_form,
- infinity_form,
- nan_form,
- nanstring_form
-};
-
-
-
-extern void double_to_decimal();
-extern void quadruple_to_decimal();
-extern char *econvert();
-extern char *fconvert();
-extern char *gconvert();
-extern char *qeconvert();
-extern char *qfconvert();
-extern char *qgconvert();
-
-
-
-
-
-extern sigfpe_handler_type ieee_handlers[5 ];
-
-
-
-
-
-
-
-extern sigfpe_handler_type sigfpe();
-
-extern void single_to_decimal();
-extern void extended_to_decimal();
-
-extern void decimal_to_single();
-extern void decimal_to_double();
-extern void decimal_to_extended();
-extern void decimal_to_quadruple();
-
-extern char *seconvert();
-extern char *sfconvert();
-extern char *sgconvert();
-
-extern void string_to_decimal();
-extern void file_to_decimal();
-extern void func_to_decimal();
-
-
-
-extern double atof();
-
-
-
-extern int errno;
-
-extern double strtod();
-
-
-# 12 "Vision.h" 2
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/malloc.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct mallinfo {
- int arena;
- int ordblks;
- int smblks;
- int hblks;
- int hblkhd;
- int usmblks;
- int fsmblks;
- int uordblks;
- int fordblks;
- int keepcost;
-
- int mxfast;
- int nlblks;
- int grain;
- int uordbytes;
- int allocated;
- int treeoverhead;
-};
-
-typedef void * malloc_t;
-
-extern malloc_t calloc( );
-extern void free( );
-extern malloc_t malloc( );
-extern malloc_t realloc( );
-extern int mallopt();
-extern struct mallinfo mallinfo();
-
-
-# 13 "Vision.h" 2
-
-long time(long *);
-int ieee_handler();
-}
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/stddef.h" 1 3
-
-
-extern "C" {
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 41 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int ptrdiff_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int int ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __wchar_t wchar_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 7 "/sym/gnu/lib/g++-include/stddef.h" 2 3
-
-
-
-
-}
-
-# 24 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/stdlib.h" 1 3
-
-
-
-
-
-
-
-extern "C" {
-
-int abs(int);
-
-
-void volatile abort(void);
-
-
-
-
-double atof(const char*);
-int atoi(const char*);
-long atol(const char*);
-
-int atexit(auto void (*p) (void));
-int bsearch (const void *, const void *, int ,
- int , auto int (*ptf)(const void*, const void*));
-void* calloc(int , int );
-void cfree(void*);
-
-
-void volatile exit(int);
-
-
-
-
-char* fcvt(double, int, int*, int*);
-void free(void*);
-char* getenv(const char*);
-int getopt(int, char * const *, const char*);
-int getpw(int, char*);
-char* gcvt(double, int, char*);
-char* ecvt(double, int, int*, int*);
-extern char** environ;
-
-long labs(long);
-void* malloc(int );
-int malloc_usable_size(void*);
-int putenv(const char*);
-extern char* optarg;
-extern int opterr;
-extern int optind;
-void qsort(void*, int , int , auto int (*ptf)(void*,void*));
-int rand(void);
-void* realloc(void*, int );
-int setkey(const char*);
-int srand(unsigned int);
-double strtod(const char*, char**);
-long strtol(const char*, char**, int);
-unsigned long stroul(const char**, int);
-int system(const char*);
-
-long random(void);
-void srandom(int);
-char* setstate(char*);
-char* initstate(unsigned, char*, int);
-
-double drand48(void);
-void lcong48(short*);
-long jrand48(short*);
-long lrand48(void);
-long mrand48(void);
-long nrand48(short*);
-short* seed48(short*);
-void srand48(long);
-
-char* ctermid(char*);
-char* cuserid(char*);
-char* tempnam(const char*, const char*);
-char* tmpnam(char*);
-
-}
-
-# 25 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/string.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-char* strcat(char*, const char*);
-char* strchr(const char*, int);
-int strcmp(const char*, const char*);
-int strcoll(const char*, const char*);
-char* strcpy(char*, const char*);
-int strcspn(const char*, const char*);
-char* strdup(const char*);
-
-
-
-
-int strlen(const char*);
-char* strncat(char*, const char*, int );
-int strncmp(const char*, const char*, int );
-char* strncpy(char*, const char*, int );
-char* strpbrk(const char*, const char*);
-char* strrchr(const char*, int);
-int strspn(const char*, const char*);
-char* strstr(const char*, const char *);
-char* strtok(char*, const char*);
-int strxfrm(char*, const char*, int );
-
-char* index(const char*, int);
-char* rindex(const char*, int);
-}
-
-# 1 "/sym/gnu/lib/g++-include/memory.h" 1 3
-
-
-
-
-
-
-
-extern "C" {
-
-void* memalign (...) ;
-void* memccpy (...) ;
-void* memchr (...) ;
-int memcmp (...) ;
-void* memcpy (...) ;
-void* memmove (...) ;
-void* memset (...) ;
-int ffs (...) ;
-int getpagesize (...) ;
-void* valloc (...) ;
-
-void bcopy (...) ;
-int bcmp (...) ;
-void bzero (...) ;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 43 "/sym/gnu/lib/g++-include/string.h" 2 3
-
-
-
-# 26 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-
-# 1 "/sym/gnu/lib/g++-include/unistd.h" 1 3
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/sys/types.h" 1 3
-
-
-extern "C"
-{
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/stdtypes.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int sigset_t;
-
-typedef unsigned int speed_t;
-typedef unsigned long tcflag_t;
-typedef unsigned char cc_t;
-typedef int pid_t;
-
-typedef unsigned short mode_t;
-typedef short nlink_t;
-
-typedef long clock_t;
-typedef long time_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 16 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3
-
-
-
-# 1 "/usr/include/sys/sysmacros.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 19 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3
-
-
-
-
-
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _physadr_t { int r[1]; } *physadr_t;
-typedef struct label_t {
- int val[2];
-} label_t;
-
-
-
-
-
-
-
-typedef struct _quad_t { long val[2]; } quad_t;
-typedef long daddr_t;
-typedef char * caddr_t;
-typedef unsigned long ino_t;
-typedef short dev_t;
-typedef long off_t;
-typedef unsigned short uid_t;
-typedef unsigned short gid_t;
-typedef long key_t;
-typedef char * addr_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef long fd_mask;
-
-
-
-
-
-
-
-
-
-typedef struct fd_set {
- fd_mask fds_bits[(((256 )+(( (sizeof (fd_mask) * 8 ) )-1))/( (sizeof (fd_mask) * 8 ) )) ];
-} fd_set;
-
-
-
-
-
-
-
-# 113 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 3
-
-
-
-# 15 "/sym/gnu/lib/g++-include/sys/types.h" 2 3
-
-
-
-
-
-
-}
-
-
-
-
-# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 2 3
-
-
-extern void _exit( );
-extern int access( );
-extern unsigned alarm( );
-extern int chdir( );
-extern int __hide_chmod ( );
-extern int __hide_chown ( );
-extern int close( );
-extern char *ctermid( );
-extern char *cuserid( );
-extern int dup( );
-extern int dup2( );
-extern int __hide_execl ( );
-extern int __hide_execle ( );
-extern int __hide_execlp ( );
-extern int execv( );
-extern int execve( );
-extern int execvp( );
-extern pid_t fork( );
-extern long fpathconf( );
-extern char *getcwd( );
-extern gid_t getegid( );
-extern uid_t geteuid( );
-extern gid_t getgid( );
-extern int getgroups( );
-extern char *getlogin( );
-extern pid_t getpgrp( );
-extern pid_t getpid( );
-extern pid_t getppid( );
-extern uid_t getuid( );
-extern int isatty( );
-extern int link( );
-extern off_t lseek( );
-extern long pathconf( );
-extern int pause( );
-extern int pipe( );
-extern int read( );
-extern int rmdir( );
-extern int __hide_setgid ( );
-extern int setpgid( );
-extern pid_t setsid( );
-extern int __hide_setuid ( );
-extern unsigned sleep( );
-extern long sysconf( );
-extern pid_t tcgetpgrp( );
-extern int tcsetpgrp( );
-extern char *ttyname( );
-extern int unlink( );
-extern int write( );
-
-
-
-# 25 "/sym/gnu/lib/g++-include/unistd.h" 2 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 59 "/sym/gnu/lib/g++-include/unistd.h" 3
-
-
-
-extern void volatile _exit(int);
-
-
-
-
-extern unsigned alarm (...) ;
-extern int brk (...) ;
-extern int chdir (...) ;
-extern int chmod (...) ;
-extern int chown (const char*, unsigned short , unsigned short );
-extern int close (...) ;
-extern char* crypt (...) ;
-extern int dup (...) ;
-extern int dup2 (...) ;
-extern void encrypt (...) ;
-extern int execl (const char*, const char *, ...);
-extern int execle (const char*, const char *, ...);
-extern int execlp (const char*, const char*, ...);
-extern int exect (...) ;
-extern int execv (...) ;
-extern int execve (...) ;
-extern int execvp (...) ;
-extern int fchown (int, unsigned short , unsigned short );
-extern int fork (...) ;
-extern int fsync (...) ;
-extern int ftruncate (...) ;
-extern char* getcwd (...) ;
-extern int getdomainname (...) ;
-extern int getdtablesize (...) ;
-extern int getgroups (...) ;
-extern unsigned short geteuid (...) ;
-extern unsigned short getegid (...) ;
-extern unsigned short getgid (...) ;
-extern long gethostid (...) ;
-extern int gethostname (...) ;
-extern int getpgrp (...) ;
-extern int getpid (...) ;
-extern int getppid (...) ;
-extern char* getlogin (...) ;
-extern char* getpass (...) ;
-extern unsigned short getuid (...) ;
-extern int ioctl (int, int, ... );
-extern int isatty (...) ;
-extern int link (...) ;
-extern int mkstemp (...) ;
-extern char* mktemp (...) ;
-extern int nice (...) ;
-extern int pause (...) ;
-extern int pipe (...) ;
-extern int readlink (...) ;
-extern int rename (...) ;
-extern int rmdir (...) ;
-extern void* sbrk (...) ;
-extern int syscall (...) ;
-extern int setgid (unsigned short );
-extern int sethostname (...) ;
-
-
-
-
-extern int setpgrp (...) ;
-
-extern int setregid (...) ;
-extern int setreuid (...) ;
-extern int setuid (unsigned short );
-extern unsigned sleep (...) ;
-extern void swab (...) ;
-extern int symlink (...) ;
-extern long sysconf (...) ;
-extern int truncate (...) ;
-extern char* ttyname (...) ;
-extern int ttyslot (...) ;
-
-extern int unlink (...) ;
-extern int vfork (...) ;
-extern int vadvise (...) ;
-extern int vhangup (...) ;
-extern long lseek (...) ;
-extern int read (...) ;
-extern int write (...) ;
-extern int access (...) ;
-
-extern int flock (...) ;
-
-
-}
-
-
-# 28 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 174 "/sym/gnu/lib/g++-include/stdio.h" 3
-
-# 29 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/errno.h" 1 3
-
-
-extern "C" {
-
-
-
-
-
-# 1 "/usr/include/errno.h" 1 3
-
-
-
-
-
-
-
-
-
-# 1 "/usr/include/sys/errno.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 10 "/usr/include/errno.h" 2 3
-
-extern int errno;
-
-
-# 9 "/sym/gnu/lib/g++-include/errno.h" 2 3
-
-
-
-
-extern char* sys_errlist[];
-extern int sys_nerr;
-
-extern int errno;
-
-void perror(const char*);
-char* strerr(int);
-
-
-}
-
-
-# 30 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-# 1 "/sym/gnu/lib/g++-include/fcntl.h" 1 3
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-# 1 "/usr/include/fcntl.h" 1 3
-
-
-
-
-
-# 1 "/usr/include/sys/fcntlcom.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct flock {
- short l_type;
- short l_whence;
- long l_start;
- long l_len;
- short l_pid;
- short l_xxx;
-};
-
-
-
-struct eflock {
- short l_type;
- short l_whence;
- long l_start;
- long l_len;
- short l_pid;
- short l_xxx;
- long l_rpid;
- long l_rsys;
-};
-
-
-
-# 1 "/sym/gnu/lib/g++-include/sys/stat.h" 1 3
-
-
-extern "C"
-{
-
-
-
-
-
-
-
-
-
-# 1 "/usr/include/sys/stat.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-struct stat {
- dev_t st_dev;
- ino_t st_ino;
- mode_t st_mode;
- short st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- off_t st_size;
- time_t st_atime;
- int st_spare1;
- time_t st_mtime;
- int st_spare2;
- time_t st_ctime;
- int st_spare3;
- long st_blksize;
- long st_blocks;
- long st_spare4[2];
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-int __hide_chmod ( );
-int fstat( );
-int mkdir( );
-int mkfifo( );
-int stat( );
-mode_t umask( );
-
-
-
-# 14 "/sym/gnu/lib/g++-include/sys/stat.h" 2 3
-
-
-
-
-
-
-extern int chmod (...) ;
-extern int stat (...) ;
-extern int lstat (...) ;
-extern int fstat (...) ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-# 149 "/usr/include/sys/fcntlcom.h" 2 3
-
-
-int __hide_open ( );
-int __hide_creat ( );
-int __hide_fcntl ( );
-
-
-# 6 "/usr/include/fcntl.h" 2 3
-
-
-
-
-
-# 14 "/sym/gnu/lib/g++-include/fcntl.h" 2 3
-
-
-
-
-
-
-
-
-int fcntl(int, int, ...);
-int creat (...) ;
-
-int open (...) ;
-
-
-}
-
-# 31 "/sym/gnu/lib/g++-include/std.h" 2 3
-
-
-extern "C" {
-int strcasecmp (...) ;
-}
-
-
-# 18 "Vision.h" 2
-
-# 1 "/sym/gnu/lib/g++-include/math.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-
-
-
-
-
-
-
-
-
-
-# 64 "/sym/gnu/lib/g++-include/math.h" 3
-
-extern "C" {
-
-double acos(double);
-double acosh(double);
-double asin(double);
-double asinh(double);
-double atan(double);
-double atan2(double, double);
-double atanh(double);
-double cbrt(double);
-double ceil(double);
-double copysign(double,double);
-double cos(double);
-double cosh(double);
-double drem(double,double);
-double erf(double);
-double erfc(double);
-double exp(double);
-double expm1(double);
-double fabs(double);
-double finite(double);
-double floor(double);
-double fmod(double, double);
-double frexp(double, int*);
-double gamma(double);
-double hypot(double,double);
-double infnan(int);
-
-
-int isinf(double);
-int isnan(double);
-
-double j0(double);
-double j1(double);
-double jn(int, double);
-double ldexp(double, int);
-double lgamma(double);
-double log(double);
-double log10(double);
-double log1p(double);
-double logb(double);
-double modf(double, double*);
-double pow(double, double);
-double rint(double);
-double scalb(double, int);
-double sin(double);
-double sinh(double);
-double sqrt(double);
-double tan(double);
-double tanh(double);
-double y0(double);
-double y1(double);
-double yn(int, double);
-
-double aint(double);
-double anint(double);
-int irint(double);
-int nint(double);
-}
-
-
-
-
-
-
-
-
-struct libm_exception
-{
- int type;
- char* name;
- double arg1, arg2, retval;
-};
-
-
-
-
-
-
-
-
-extern "C" int matherr(libm_exception*);
-
-
-
-# 1 "/sym/gnu/lib/g++-include/values.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 57 "/sym/gnu/lib/g++-include/values.h" 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 166 "/sym/gnu/lib/g++-include/values.h" 3
-
-
-
-
-
-
-
-
-
-# 150 "/sym/gnu/lib/g++-include/math.h" 2 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 19 "Vision.h" 2
-
-
-# 1 "MiscUtilities.h" 1
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 37 "/sym/gnu/lib/g++-include/std.h" 3
-
-# 6 "MiscUtilities.h" 2
-
-
-
-
-
-
-
-
-
-inline int used_mem() {
- struct mallinfo mi = mallinfo();
- return mi.usmblks+mi.uordblks;
-}
-inline volatile void abort() {
- fprintf((&_iob[2]) ,"abort\n");
- exit(1);
-}
-
-inline volatile void error(char *s) {
- fprintf((&_iob[2]) ,"FATAL ERROR: ");
- fprintf((&_iob[2]) ,"%s\n",s);
- exit(1);
-}
-template <class Y>
-struct NameValuePair {
- char *name;
- Y y;
-};
-
-template <class Y>
-Y lookup(NameValuePair<Y> *data,char *name) {
- while(data->name) {
- if(!strcmp(data->name,name)) return data->y;
- data++;
- }
- abort();
- return data->y;
-}
-
-template <class T>
-void swap(T &x,T &y) {
- T temp = x;
- x = y;
- y = temp;
-}
-
-
-# 21 "Vision.h" 2
-
-# 1 "Counted.h" 1
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 37 "/sym/gnu/lib/g++-include/std.h" 3
-
-# 6 "Counted.h" 2
-
-
-template <class T>
-struct Counted {
- private:
- int *count;
- T *object;
- T *operator&() {
- return object;
- }
- void dec_count() {
- if(!count) return;
- (*count)--;
- if(*count<=0) {
- delete count;
- delete object;
- count=0;
- object=0;
- }
- }
- void inc_count() {
- if(!count) return;
- (*count)++;
- }
- public:
- Counted() {
- count=0;
- object=0;
- }
- Counted(T *object):object(object) {
- count = new int(1);
- }
- ~Counted() {
- dec_count();
- }
- Counted(Counted &other) {
- count=other.count;
- object=other.object;
- inc_count();
- }
- Counted &operator=(Counted &other) {
- other.inc_count();
- dec_count();
- count=other.count;
- object=other.object;
- return *this;
- }
-
- T &operator*() {if(!object) abort(); else return *object; return *object;}
- T *operator->() {if(!object) abort(); else return object; return object;}
- operator T&() {if(!object) abort(); else return *object; return *object;}
-
-
-};
-
-
-# 22 "Vision.h" 2
-
-# 1 "Art.h" 1
-
-
-
-
-
-
-extern "C" { void abort(); }
-
-
-
-
-
-
-
-
-
-
-
-
-template <class X>
-inline void art_initialize(X *,int) {}
-
-# 39 "Art.h"
-
-
-
-
-
-
-template <class T>
-class Art {
-protected:
- int mark_temp;
- T *data;
- int dims[1];
- void constructor(int d) {
- if(d<0) abort() ;
- mark_temp=0;
- dims[0]=d;
- if(d>0) {
- data=new T[d];
- if(!data) abort() ;
- } else data=0;
- art_initialize(data,d);
- }
- void destructor() {
- if(!data) return;
- delete [] data;
- mark_temp=0;
- data=0;
- dims[0]=0;
- }
- void copy(Art &other) {
- int d0=dims[0]<?other.dims[0];
- for(int i=0;i<d0;i++) data[i]=other.data[i];
- }
-public:
- void copyclear(Art &other) {
- dims[0]=other.dims[0];
- data=other.data;
- other.dims[0]=0;
- other.data=0;
- }
-private:
- void copyconstructor(Art &other) {
- mark_temp=0;
- if(other.mark_temp) {
- copyclear(other);
- } else {
- constructor(other.dims[0]);
- copy(other);
- }
- }
- public:
- Art() {constructor(0);}
- Art(int d) {constructor(d);}
- Art(Art &other) {copyconstructor(other);}
- ~Art() {destructor();}
-
- Art &operator=(Art &other) {
- destructor();
- copyconstructor(other);
- return *this;
- }
- int dim(int i) {return dims[i];}
- T &operator()(int i) {
- if(unsigned(i)>=unsigned(dims[0])) abort() ;
- return data[i];
- }
- T &sub(int i) {return data[i];}
- void resize(int nd) {
- if(nd<0) abort() ;
- Art t(nd);
- int limit=nd<?dims[0];
- for(int i=0;i<limit;i++) t.data[i]=data[i];
- t.mark_temp=1;
- *this=t;
- }
- Art &temp() { mark_temp=1; return *this; }
- T *pointer() {return data;}
- void fill(T value) {for(int i=0;i<dims[0];i++) data[i]=value;}
-
- int length() {return dims[0];}
- T &operator[](int i) {return operator()(i);}
-};
-
-
-
-
-
-
-
-
-template <class T>
-class Stk {
-protected:
- Art<T> stack;
- int fill;
-public:
- Stk() {stack.resize(4); fill=0;}
- Stk(Stk &other) {
- stack=other.stack;
- fill=other.fill;
- }
- int dim(int i) {return stack.dim(i);}
- void push(T &element) {
- if(fill>=stack.dim(0)) stack.resize(2*fill);
- stack.sub(fill++)=element;
- }
- T &tos() {
- return stack(fill-1);
- }
- T &pop() {
- return stack(--fill);
- }
- T &operator()(int i) {return stack(i);}
- T &sub(int i) {return stack.sub(i);}
- void clear() {
- stack.resize(0);
- stack.resize(4);
- fill=0;
- }
- void compact() {
- stack.resize(fill+1);
- }
- Stk temp() { stack.temp(); return *this; }
- T *pointer() {return stack.pointer();}
- operator Art<T>&() {return stack;}
-
- int length() {return fill;}
- T &operator[](int i) {return operator()(i);}
-};
-
-
-
-
-
-template <class T>
-class Art2 {
-protected:
- int mark_temp;
- T **data;
- int dims[2];
- int total_length;
- void constructor(int d0,int d1) {
- if(d0<0||d1<0) abort() ;
- mark_temp=0;
- dims[0]=d0;
- dims[1]=d1;
- total_length=dims[0]*dims[1];
- if(d0>0) {
- data=new T*[d0];
- if(!data) abort() ;
- } else data=0;
- if(d0>0&&d1>0) {
- T *p=new T[d0*d1];
- if(!p) abort() ;
- for(int i=0;i<d0;i++) data[i]=p+i*d1;
- art_initialize(data[0],d0*d1);
- }
- }
- void destructor() {
- if(dims[0]<1) return;
- if(!data) return;
- delete [] data[0];
- delete [] data;
- mark_temp=0;
- data=0;
- dims[0]=0;
- dims[1]=0;
- }
- void copy(Art2 &other) {
- int d0=dims[0]<?other.dims[0];
- int d1=dims[1]<?other.dims[1];
- for(int i=0;i<d0;i++) for(int j=0;j<d1;j++)
- data[i][j]=other.data[i][j];
- }
-public:
- void copyclear(Art2 &other) {
- dims[0]=other.dims[0];
- dims[1]=other.dims[1];
- total_length=dims[0]*dims[1];
- data=other.data;
- other.dims[0]=0;
- other.dims[1]=0;
- other.total_length=0;
- other.data=0;
- }
-private:
- void copyconstructor(Art2 &other) {
- mark_temp=0;
- if(other.mark_temp) {
- copyclear(other);
- } else {
- constructor(other.dims[0],other.dims[1]);
- copy(other);
- }
- }
- public:
- Art2() {constructor(0,0);}
- Art2(int d0,int d1) {constructor(d0,d1);}
- Art2(Art2 &other) {copyconstructor(other);}
- ~Art2() {destructor();}
-
- Art2 &operator=(Art2 &other) {
- destructor();
- copyconstructor(other);
- return *this;
- }
- int dim(int i) {return dims[i];}
- T &operator()(int i,int j) {
- if(unsigned(i)>=unsigned(dims[0])||unsigned(j)>=unsigned(dims[1]))
- abort() ;
- return data[i][j];
- }
- T &sub(int i,int j) {return data[i][j];}
- void resize(int nd0,int nd1) {
- if(nd0<0||nd1<0) abort() ;
- Art2 t(nd0,nd1);
- int limit0=nd0<?dims[0];
- int limit1=nd1<?dims[1];
- for(int i=0;i<limit0;i++) for(int j=0;j<limit1;j++) t.data[i][j]=data[i][j];
- t.mark_temp=1;
- *this=t;
- }
- Art2 &temp() { mark_temp=1; return *this; }
- T **pointer() {return data;}
- void fill(T value) {
- for(int i=0;i<dims[0];i++) for(int j=0;j<dims[1];j++)
- data[i][j]=value;
- }
-
-
-
- int length() {return total_length;}
- T &sub(int i) {return data[0][i];}
- T &operator()(int i) {
- if(unsigned(i)>=total_length) abort() ;
- return data[0][i];
- }
-};
-
-template <class T>
-inline void art_swap(T &x,T &y) {
- T temp = x;
- x = y;
- y = temp;
-}
-
-template <class T>
-inline void reverse(Art<T> &a) {
- int i;
- for(i=a.length()/2;i>=0;i--) art_swap(a.sub(i),a.sub(a.length()-i-1));
-}
-
-template <class T>
-inline void reverse(Stk<T> &a) {
- reverse(a.stack);
-}
-
-template <class T>
-inline void bag_remove(Stk<T> &a,T &element) {
- for(int i=0;i<a.length()-1;i++) {
- if(a(i)==element) {
- a.sub(i)=a.tos();
- a.pop();
- }
- }
- if(i<a.length()&&a.sub(i)==element) a.pop();
-}
-
-template <class T>
-inline void ordered_remove(Stk<T> &a,T &element) {
- int source=0,dest=0;
- while(source<a.length()) {
- if(a(source)!=element) {
- a(dest)=a(source);
- dest++;
- }
- source++;
- }
- a.stack.resize(dest);
-}
-
-template <class T>
-inline Art<T> concatenate(Art<T> &a,Art<T> &b) {
- int i,k;
- k=a.length();
- Art<T> result(k+b.length());
- for(i=0;i<a.length();i++) result.sub(i)=a.sub(i);
- for(i=0;i<b.length();i++) result.sub(i+k)=b.sub(i);
- return result.temp();
-}
-
-template <class T>
-inline Stk<T> concatenate(Stk<T> &a,Stk<T> &b) {
- int i;
- Stk<T> result;
- for(i=0;i<a.length();i++) result.push(a.sub(i));
- for(i=0;i<b.length();i++) result.push(b.sub(i));
- return result.temp();
-}
-
-
-# 23 "Vision.h" 2
-
-# 1 "Geo.h" 1
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/math.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 215 "/sym/gnu/lib/g++-include/math.h" 3
-
-# 6 "Geo.h" 2
-
-
-extern "C" {
-void abort();
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-template <class T,int n>
-class vec {
-protected:
- T v[n];
-public:
- int length() {return n;}
- int dim(int) {return n;}
- vec() {}
- vec(T v0) { v[0]=v0; }
- vec(T v0,T v1) { v[0]=v0; v[1]=v1; }
- vec(T v0,T v1,T v2) { v[0]=v0; v[1]=v1; v[2]=v2; }
- vec(T v0,T v1,T v2,T v3) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; }
- vec(T v0,T v1,T v2,T v3,T v4) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; v[4]=v4; }
-
- T &operator[](int i) {return v[i];}
- T &sub(int i) {return v[i];}
- T &operator()(int i) {
- if(unsigned(i)>=n) abort();
- return v[i];
- }
-
-
-
-
-
-
-
-
-
-
-
-
- T operator*(vec &other) {
- T result=0;
- for(int i=0;i<n;i++) result=result+sub(i)*other.sub(i);
- return result;
- }
-
-
- vec operator-() {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)= -sub(i);
- return result;
- }
- vec operator*(T other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)*other;
- return result;
- }
- vec operator/(T other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)/other;
- return result;
- }
- vec operator+(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)+other.sub(i);
- return result;
- }
- vec operator-(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)-other.sub(i);
- return result;
- }
- vec operator<?(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)<?other.sub(i);
- return result;
- }
- vec operator>?(vec &other) {
- vec result;
- for(int i=0;i<n;i++) result.sub(i)=sub(i)>?other.sub(i);
- return result;
- }
-
-
- int operator==(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)!=other.sub(i)) return 0;
- return 1;
- }
- int operator!=(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)!=other.sub(i)) return 1;
- return 0;
- }
- int operator<(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)>=other.sub(i)) return 0;
- return 1;
- }
- int operator>(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)<=other.sub(i)) return 0;
- return 1;
- }
- int operator<=(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)>other.sub(i)) return 0;
- return 1;
- }
- int operator>=(vec &other) {
- for(int i=0;i<n;i++) if(sub(i)<other.sub(i)) return 0;
- return 1;
- }
-};
-
-template <class T>
-inline float euclidean_norm(T &v) {
- float total=0.0;
- for(int i=0;i<v.dim(0);i++) total+=v(i)*v(i);
- return sqrt(total);
-}
-
-template <class T>
-inline float euclidean_distance(T &u,T &v) {
- float total=0.0;
- for(int i=0;i<u.dim(0);i++) {
- float d=u(i)-v(i);
- total+=d*d;
- }
- return sqrt(total);
-}
-
-
-
-
-
-template <class T,int n>
-class mat:vec<T,n*n> {
-protected:
-public:
- int dim(int) {return n;}
- T &operator[](int i) {return v[i];}
- T &sub(int i,int j) {return v[i*n+j];}
- T &operator()(int i,int j) {
- if(unsigned(i)>=n||unsigned(j)>=n) abort();
- return sub(i,j);
- }
- mat operator*(mat &other) {
- mat result;
- for(int i=0;i<n;i++) for(int j=0;j<n;j++) {
- T total=0;
- for(int k=0;k<n;k++) total=total+sub(i,k)*other.sub(k,j);
- result.sub(i,j)=total;
- }
- return result;
- }
- vec<T,n> operator*(vec<T,n> &other) {
- vec<T,n> result;
- for(int i=0;i<n;i++) {
- T total=0;
- for(int k=0;k<n;k++) total=total+sub(i,k)*other.sub(k);
- result.sub(i)=total;
- }
- return result;
- }
-};
-
-
-
-
-
-typedef vec<float,2> vec2;
-typedef vec<float,3> vec3;
-typedef vec<float,4> vec4;
-
-typedef mat<float,2> mat2;
-typedef mat<float,3> mat3;
-typedef mat<float,4> mat4;
-
-typedef vec<int,2> ivec2;
-
-
-
-
-
-
-
-inline float norm_angle(float p) {
- while(p<0) p+=2* 3.14159265358979323846 ; while(p>=2* 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p;
-}
-inline float norm_angle0(float p) {
- while(p<- 3.14159265358979323846 ) p+=2* 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p;
-}
-inline float norm_orientation(float p) {
- while(p<0) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-= 3.14159265358979323846 ; return p;
-}
-inline float norm_orientation0(float p) {
- while(p<- 3.14159265358979323846 /2) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 /2) p-= 3.14159265358979323846 ; return p;
-}
-inline float orientation_difference(float p,float q) {
- fabs(norm_orientation0(p-q));
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline vec2 cmul(vec2 &p,vec2 &q) {
- return vec2(p.sub(0)*q.sub(0)-p.sub(1)*q.sub(1),
- p.sub(0)*q.sub(1)+p.sub(1)*q.sub(0));
-}
-
-inline vec2 cdiv(vec2 &p,vec2 &q) {
- float n=q*q;
- return vec2((p.sub(0)*q.sub(0)+p.sub(1)*q.sub(1))/n,
- (p.sub(1)*q.sub(0)-p.sub(0)*q.sub(1))/n);
-}
-
-inline vec2 csqrt(vec2 &x) {
- if (x.sub(0)==0.0&&x.sub(1)==0.0)
- return vec2(0.0,0.0);
- else {
- float a=sqrt((fabs(x.sub(0))+hypot(x.sub(0),x.sub(1)))*0.5);
- float b=0.5*(x.sub(1)/a);
- if(x.sub(0)>0.0) return vec2(a, b);
- else if(x.sub(1)>=0.0) return vec2(a,b);
- else return vec2(-a,-b);
- }
-}
-inline vec2 cpow(vec2& x, double p) {
- float h=hypot(x.sub(0),x.sub(1));
- if (h<=0.0) abort();
- float lr=pow(h,p);
- float a=atan2(x.sub(1),x.sub(0));
- float li=p*a;
- return vec2(lr*cos(li),lr*sin(li));
-}
-
-
-
-inline float cross(vec2 p,vec2 q) {
- return p.sub(0)*q.sub(1)-p.sub(1)*q.sub(0);
-}
-
-
-
-
-
-struct TRS2 {
- vec2 t;
- vec2 r;
- TRS2(vec2 t=vec2(0.0,0.0),vec2 r=vec2(1.0,0.0)):t(t),r(r) {
- }
- vec2 operator()(vec2 &arg) {
- return cmul(r,arg)+t;
- }
- float rotation() {
- return atan2(r(1),r(0));
- }
-};
-
-
-
-# 24 "Vision.h" 2
-
-
-
-
-# 1 "VisionTypes.h" 1
-
-
-
-
-typedef Art2<float> FImage;
-typedef Art2<int> IImage;
-typedef Art2<unsigned char> CImage;
-
-struct FImageOp {virtual FImage operator()(FImage &) = 0;};
-struct FImageOp2 {virtual FImage operator()(FImage &,FImage &) = 0;};
-struct CImageOp {virtual CImage operator()(CImage &) = 0;};
-struct CImageOp2 {virtual CImage operator()(CImage &,CImage &) = 0;};
-
-
-
-
-
-struct PFeature {
- ivec2 p;
- float a;
- short group;
- short type;
- PFeature() {}
- PFeature(ivec2 p,float a,int group,int type):p(p),a(a),group(group),type(type) {}
-};
-
-typedef Stk<PFeature> PFeatureStk;
-
-struct FIExtractor {virtual PFeatureStk operator()(FImage &) = 0;};
-struct CIExtractor {virtual PFeatureStk operator()(CImage &) = 0;};
-# 28 "Vision.h" 2
-
-# 1 "ImageDatabase.h" 1
-
-
-
-
-
-# 1 "Art.h" 1
-
-
-# 339 "Art.h"
-
-# 6 "ImageDatabase.h" 2
-
-
-typedef Art2<unsigned char> CImage;
-
-
-
-
-
-
-
-
-struct ImageDatabase {
-
-
-
-
- virtual int length() = 0;
- virtual int nclassifications() = 0;
- virtual int nusers() = 0;
-
-
-
-
- virtual int classification(int offset) = 0;
- virtual int user(int offset) = 0;
-
- virtual CImage cimage(int offset) {abort();}
- virtual PFeatureStk features(int offset) {abort();}
-
-
-
-
-
-
- virtual int user_offset(int user) = 0;
- virtual int user_length(int user) = 0;
-};
-
-ImageDatabase *make_NISTDigitImages();
-
-
-
-
-
-struct ImageDatabaseIterator {
- virtual int done() = 0;
- virtual void next() = 0;
- virtual operator int() = 0;
- virtual void mark_upto_here() {}
-};
-
-ImageDatabaseIterator *make_IDI_Sequential(ImageDatabase *digits,int current,int stride);
-ImageDatabaseIterator *make_IDI_OnePerUser(ImageDatabase *digits,int current);
-ImageDatabaseIterator *make_IDI_FromFile(char *name);
-
-
-# 29 "Vision.h" 2
-
-
-
-# 1 "NISTImages.cc" 2
-
-
-
-
-
-
-
-
-
-
-# 1 "/sym/gnu/lib/g++-include/std.h" 1 3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 37 "/sym/gnu/lib/g++-include/std.h" 3
-
-# 11 "NISTImages.cc" 2
-
-# 1 "Art.h" 1
-
-
-# 339 "Art.h"
-
-# 12 "NISTImages.cc" 2
-
-
-extern "C" {
-# 1 "./nist/ihead.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct ihead{
- char id[ 80 ];
- char created[ 26 ];
- char width[ 8 ];
- char height[ 8 ];
- char depth[ 8 ];
- char density[ 8 ];
- char compress[ 8 ];
- char complen[ 8 ];
- char align[ 8 ];
- char unitsize[ 8 ];
- char sigbit;
- char byte_order;
- char pix_offset[ 8 ];
- char whitepix[ 8 ];
- char issigned;
- char rm_cm;
- char tb_bt;
- char lr_rl;
- char parent[ 80 ];
- char par_x[ 8 ];
- char par_y[ 8 ];
-}IHEAD;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 15 "NISTImages.cc" 2
-
-int readihdrfile();
-
-}
-
-typedef Art2<unsigned char> CImage;
-
-Stk<char*> mis_files;
-
-extern "C" {
- char *re_comp(char *);
- int re_exec(char *);
-}
-
-struct NISTCharFile {
- private:
- NISTCharFile(NISTCharFile &);
- void operator=(NISTCharFile &);
- public:
- IHEAD *bit_header;
- int bit_w,bit_h;
- char *bit_data;
- int field_w,field_h;
- Stk<int> classes;
-
- static void maybe_read_mis_files() {
- if(mis_files.length()>0) return;
- struct _iobuf *stream = fopen("/com/nist/mis-files" ,"r");
- if(!stream) abort() ;
- char buf[1024];
- while(fgets(buf,sizeof buf,stream)) {
- buf[strlen(buf)-1]='\0';
- mis_files.push(strdup(buf));
- }
- fclose(stream);
- }
-
- static char *find_matching_mis_file_prefix(char *pattern) {
- if(re_comp(pattern)) abort() ;
- for(int i=0;i<mis_files.length();i++) {
- if(re_exec(mis_files(i))) break;
- }
- if(i<mis_files.length()) return mis_files(i);
- else return 0;
- }
-
- static int part_of_user(int user) {
- int part;
- if(user<500) part=0;
- else if(user<1000) part=1;
- else if(user<1500) part=2;
- else part=3;
- return part;
- }
-
- static char type_of_itype(int itype) {
- char type;
- switch(itype) {
- case 0: type='d'; break;
- case 1: type='u'; break;
- case 2: type='l'; break;
- default: abort() ;
- };
- return type;
- }
-
- NISTCharFile(int user,char itype) {
- maybe_read_mis_files();
- int type = type_of_itype(itype);
- int part = part_of_user(user);
-
- char buf[512];
- sprintf(buf,"/com/nist3/data/" "hsf_%d/f%04d_.*/%c%04d_.*",part,user,type,user);
- char *prefix = find_matching_mis_file_prefix(buf);
- ;
-
- if(!prefix) {
- bit_w = 0;
- bit_h = 0;
- field_w = 0;
- field_h = 0;
- return;
- }
-
- char file[512];
-
- strcpy(file,prefix); strcat(file,".mis");
- if(!readihdrfile(file,&bit_header,&bit_data,&bit_w,&bit_h))
- abort() ;
- field_w=atoi(bit_header->par_x);
- field_h=atoi(bit_header->par_y);
-
- strcpy(file,prefix); strcat(file,".cls");
- struct _iobuf *stream = fopen(file,"r");
- if(!stream)
- abort() ;
- int total=atoi(fgets(buf,sizeof buf,stream));
- if(total!=bit_h/field_h)
- abort() ;
- while(fgets(buf,sizeof buf,stream)) classes.push(strtol(buf,0,16));
- fclose(stream);
- }
-
- ~NISTCharFile() {
- free(bit_header);
- free(bit_data);
- }
-
- int length() {
- return bit_h/field_h;
- }
-
- CImage image(int i) {
- ;
- CImage result(field_w,field_h);
- int bit_w8=bit_w/8;
- int offset=i*field_h;
- if(offset>=bit_h) abort() ;
- int i,j;
-
-
- for(i=0;i<field_w;i++) for(j=0;j<field_h;j++) {
- int jj=j+offset;
- result(i,field_h-j-1)=(!!(bit_data[bit_w8*jj+(i>>3)]&(1<<(7-i&7)))) ;
- }
-
- return result.temp();
- }
-
- int classification(int i) {
- return classes(i);
- }
-};
-
-int *NISTDigitImages_table;
-
-struct NISTDigitImages:ImageDatabase {
- private:
- NISTDigitImages(NISTDigitImages&);
- void operator=(NISTDigitImages&);
- public:
- enum {table_size=2101};
-
- int nclassifications() {return 10;}
- int nusers() {return 2200;}
-
- static void init_table() {
- struct _iobuf *stream=fopen("/com/nist/nist-digits" ,"r");
- NISTDigitImages_table = new int[table_size];
- if(!stream) abort() ;
- int i=1;
- while(fscanf(stream,"%d",&NISTDigitImages_table[i])==1) i++;
- if(i!=table_size) abort() ;
- fclose(stream);
- int total=0;
- for(i=1;i<table_size;i++) NISTDigitImages_table[i]+=NISTDigitImages_table[i-1];
- }
-
- static int locate(int v) {
- int low=0;
- int high=table_size;
- if(v>=NISTDigitImages_table[table_size-1]) abort() ;
- while(low+1<high) {
- int mid=(low+high)/2;
- if(NISTDigitImages_table[mid]<=v) low=mid;
- else high=mid;
- }
- while(low<table_size-1&&NISTDigitImages_table[low+1]<=v) low++;
- return low;
- }
-
- int user_offset(int user) {
- if(unsigned(user)>=2100) abort() ;
- return NISTDigitImages_table[user];
- }
-
- int user_length(int user) {
- if(unsigned(user)>=2100) abort() ;
- return NISTDigitImages_table[user+1]-NISTDigitImages_table[user];
- }
-
- int current_user;
- NISTCharFile *current_file;
-
- private:
- void get_cache(int user) {
- if(user!=current_user) {
- delete current_file;
- current_file = new NISTCharFile(user,0);
- current_user = user;
- }
- }
-
- public:
- NISTDigitImages() {
- ;
- if(!NISTDigitImages_table) init_table();
- current_user=0;
- current_file=new NISTCharFile(0,0);
- ;
- }
-
- ~NISTDigitImages() {
- delete current_file;
- }
-
- int length() {return NISTDigitImages_table[table_size-1];}
-
- int user(int i) {
- return locate(i);
- }
-
- CImage image(int i) {
- int user = locate(i);
- get_cache(user);
- int offset = i-NISTDigitImages_table[user];
- return current_file->image(offset);
- }
-
- int classification(int i) {
- int user = locate(i);
- get_cache(user);
- int offset = i-NISTDigitImages_table[user];
- return current_file->classification(offset);
- }
-};
-
-ImageDatabase *make_NISTDigitImages() {
- return new NISTDigitImages();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/inline4.C b/gcc/testsuite/g++.old-deja/g++.law/inline4.C
deleted file mode 100644
index e7c664cf936..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/inline4.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// GROUPS passed inlining
-// inline file
-// Message-Id: <9306020823.AA14027@joker>
-// From: stefan@mpi-sb.mpg.de
-// Subject: gcc-2.4.2 template function bug (1)
-// Date: Wed, 2 Jun 93 10:23:14 +0200
-
-extern "C" int printf (const char *, ...);
-
-template <class T> inline T func(const T& x) { return x; }
-
-inline int func(const int& x) { return x; }
-
-
-int main()
-{ int x;
- func(x);
- printf ("PASS\n");
- }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/inline6.C b/gcc/testsuite/g++.old-deja/g++.law/inline6.C
deleted file mode 100644
index f5306798bde..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/inline6.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed inlining
-// inline file
-// Message-Id: <199307162240.AA04019@world.std.com>
-// From: kol@world.std.com (Nikolay Yatsenko)
-// Subject: g++ bug: crash with extern C friend
-// Date: Fri, 16 Jul 1993 18:40:48 -0400
-
-inline void Ignore(){}
-
-extern "C" void foo() {} // but without extern C g++ compiles it
-
-struct A
-{
- void f() {Ignore();}
- friend void foo ();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/inline7.C b/gcc/testsuite/g++.old-deja/g++.law/inline7.C
deleted file mode 100644
index 0a1d373d44e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/inline7.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed inlining
- template <class Type>
-struct A {
- typedef int X;
- A() {}
- virtual ~A() { }
-};
- template <class Type>
-struct B : public A<Type> {
- B() { }
-};
-B<int>::X x;
diff --git a/gcc/testsuite/g++.old-deja/g++.law/memoized1.C b/gcc/testsuite/g++.old-deja/g++.law/memoized1.C
deleted file mode 100644
index 16e63e2161f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/memoized1.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fsave-memoized
-// GROUPS passed memoized
-class CArray
-{
-public:
- CArray();
-};
-class CBTree : public CArray
-{
-};
-class CData
-{
-public:
- virtual ~CData();
-};
-class CStr : public CData
-{
- inline int Read();
- inline int Write() const;
-};
-class CResource : private CBTree
-{
- struct SResourceNode
- {
- CStr xKey;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/mentor1.C b/gcc/testsuite/g++.old-deja/g++.law/mentor1.C
deleted file mode 100644
index a9362e07da8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/mentor1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O
-// GROUPS passed mentor
-struct Word {
- struct S1 *p1;
-};
-struct S1 {
- Word o;
- void shift_left(int delta, int ct);
-};
-inline void S1::shift_left(int delta, int ct)
-{
- int cnt = ct;
- for (S1 *to_p = this, *from_p = to_p + delta; cnt--;) *to_p++ = *from_p++;
-}
-
-void dispose_t(S1 *tp, int from_index, int ct, const int d_last_t)
-{
- int new_ct = d_last_t + 1 - ct;
- tp[0].o.p1[from_index].shift_left(ct, new_ct - from_index);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/missed-error1.C b/gcc/testsuite/g++.old-deja/g++.law/missed-error1.C
deleted file mode 100644
index 5091e7d7b61..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/missed-error1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed missed-error
-// missed-error file
-// From: John Carr <jfc@Athena.MIT.EDU>
-// Date: Tue, 02 Feb 1993 07:38:53 EST
-// Subject: Re: g++ ignores language context of function pointers
-// Message-ID: <9302021238.AA01513@Achates.MIT.EDU>
-
-typedef void (*pfv)();
-void f ();
-
-extern "C"
-{
- typedef void (*pcfv)(void);
- void cf (void);
-}
-
-pfv p = f;
-pfv p2 = cf; // ERROR - mismatch XFAIL *-*-*
-pcfv p3 = f; // ERROR - mismatch XFAIL *-*-*
-pcfv p4 = cf;
diff --git a/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C b/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C
deleted file mode 100644
index 18a026d1502..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed missed-error
-// missed-error file
-// From: ndc!don@csvax.cs.caltech.edu (Don Erway)
-// Date: Thu, 21 May 92 15:40:45 PDT
-// Subject: More on [g++ 2.1 : overloaded function selection incorrect]
-// Message-ID: <9205212240.AA17934@ndc.com>
-
-#include <iostream.h>
-
-inline int max(int a, int b) {return a > b ? a : b;}; // ERROR - candidate
-inline double max(double a, double b) {return a > b ? a : b;}; // ERROR - candidate
-
-int main() {
- static void foo(int i, int j, double x, double y) ;// ERROR - .*
-
- foo(4, -37, 14.39, 14.38);
-}
-
-// 971006 we no longer give an error for this since we emit a hard error
-// about the declaration above
-static void foo(int i, int j, double x, double y) {
-
- cout << "Max(int): " << max(i,j) << " Max(double): " <<
-max(x,y) << '\n';
- cout << "Max(int, double): " << max(i, y) << '\n';// ERROR -
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/missed-error3.C b/gcc/testsuite/g++.old-deja/g++.law/missed-error3.C
deleted file mode 100644
index 017ce5dd420..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/missed-error3.C
+++ /dev/null
@@ -1,124 +0,0 @@
-// Build don't link:
-// GROUPS passed missed-error
-// missed-error file
-// From: Neil Wilson <csf004@cch.coventry.ac.uk>
-// Date: Tue, 28 Apr 92 13:53:54 WET DST
-// Subject: g++ version 2.1 bugs
-// Message-ID: <15717.9204281253@cch.coventry.ac.uk>
-
-
-// enum bool { FALSE = 0, TRUE = 1 };
-
-typedef int T;
-
-class Traversable {
-public:
- virtual const T item() const = 0;
- virtual const bool off() const = 0;
- virtual ~Traversable() { };
-};
-
-class Chain : public Traversable {
-public:
- virtual const int count() const = 0;
- virtual const bool empty() const = 0;
- virtual void forth() const = 0;
- virtual const bool isfirst() const = 0;
- virtual const bool islast() const = 0;
- virtual const int position() const = 0;
- virtual const T first() const = 0;
- virtual const T last() const = 0;
- virtual const T i_th(const int index) const = 0;
- virtual void start() const = 0;
- virtual void back() const = 0;
- virtual void finish() const = 0;
- virtual void move(const int index) const = 0;
- virtual void go(const int index) const = 0;
- virtual void put(const T value) = 0;
- virtual void put_i_th(const T value, const int index) = 0;
- virtual void swap(const int index) = 0;
- virtual void wipe_out() = 0;
-};
-class List : public Chain {
-protected:
- int item_count;
- int cursor_position;
- virtual void go_offleft() const = 0;
- virtual void go_offright() const = 0;
- virtual void copy(const List& other) = 0;
-public:
- List() : item_count(0), cursor_position(0) { };
- virtual const int count() const;
- virtual const bool empty() const;
- virtual const bool isfirst() const;
- virtual const bool islast() const;
- virtual const bool offleft() const;
- virtual const bool offright() const;
- virtual const bool off() const;
- virtual const int position() const;
- virtual const T first() const;
- virtual const T last() const;
- virtual const T i_th(const int index) const;
- virtual void start() const;
- virtual void forth() const;
- virtual void back() const;
- virtual void finish() const;
- virtual void move(const int index) const;
- virtual void go(const int index) const;
- friend const bool operator==(const List& left,
- const List& right);
- friend const bool operator!=(const List& left,
- const List& right);
- virtual void put_i_th(const T value, const int index);
- virtual void swap(const int index);
-};
-typedef int T;
-class Array {
-private:
- int lower_index;
- int upper_index;
- T *array;
-protected:
- virtual void allocate(const int minindex, const int maxindex);
- virtual void copy(const Array&other);
-public:
- Array(const int minindex, const int maxindex);
- Array(const Array& other);
- virtual const int count() const;
- virtual const int lower() const;
- virtual const int upper() const;
- virtual const T item(const int index) const;
- const T Array::operator[](const int index); // ERROR - qualification ignored
- virtual const bool valid_index(const int index) const;
- virtual const bool empty() const;
- friend const bool operator==(const Array& left, const Array& right);
- friend const bool operator!=(const Array& left, const Array& right);
- virtual void put(const T value, const int index);
- virtual void wipe_out();
- Array& operator=(const Array& other);
- virtual ~Array();
-};
-class Fixed_List: public List, private Array {
-protected:
- virtual void go_offleft() const;
- virtual void go_offright() const;
- virtual void copy(const List& other);
-public:
- Fixed_List(const List& other);
- Fixed_List(const int size): Array(1, size) { };
- virtual const bool empty() const;
- virtual const int count() const;
- virtual const T item() const;
- virtual const T i_th(const int index) const;
- virtual void move(const int index) const;
- virtual void put(const T value);
- virtual void put_i_th(const T value, const int index);
- virtual void wipe_out() { };
- Fixed_List& operator=(const List& other);
-};
-
-void Fixed_List::go_offleft() const
-{
- cursor_position = 0;// ERROR -
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/missing1.C b/gcc/testsuite/g++.old-deja/g++.law/missing1.C
deleted file mode 100644
index e6505f578a5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/missing1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed missing
-// missing file
-// Message-Id: <9207100259.AA11702@quaestor>
-// From: adam@inference.com (David Adam)
-// Subject: G++ does not allow parens around declarators.
-// Date: Thu, 9 Jul 92 19:59:51 PDT
-
-void foo()
-{
- long (bar)[5];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/nest1.C b/gcc/testsuite/g++.old-deja/g++.law/nest1.C
deleted file mode 100644
index e8fa80ca9f4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/nest1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed nest
-// nest file
-// From: gs4t@virginia.edu (Gnanasekaran Swaminathan)
-// Date: Wed, 30 Dec 1992 20:38:07 GMT
-// Subject: Local type names bug in g++ 2.3.3
-// Message-ID: <1992Dec30.203807.17504@murdoch.acc.Virginia.EDU>
-
-typedef char* T; // ERROR - previous declaration
-
-struct Y {
- T a;
- typedef long T; // error. See ARM p189-191 for details// ERROR -
- T b;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/nest2.C b/gcc/testsuite/g++.old-deja/g++.law/nest2.C
deleted file mode 100644
index adc05568332..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/nest2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed nest
-struct B
-{
- class B_I { };
-};
-
-struct D : public B
-{
- B_I foo;
- class I : public B_I { };
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/nest3.C b/gcc/testsuite/g++.old-deja/g++.law/nest3.C
deleted file mode 100644
index eac308e566a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/nest3.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed nest
-#include <iostream.h>
-
-struct inner {
- static void f() { cout << "inner::f()\n";}
-};
-
-struct outer {
-
- struct inner {
- static void f() { cout << "outer::inner::f()\n";}
- };
-
- static void f() {
- inner::f(); //call of outer::inner::f()
- ::inner::f(); //(try to) call inner::f() => parse error
- }
-};
-
-int main() {
- outer::f();
- cout << endl;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/nest4.C b/gcc/testsuite/g++.old-deja/g++.law/nest4.C
deleted file mode 100644
index 98b085fba0e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/nest4.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed nest
-// nest file
-// From: Neal Young <ney@princeton.edu>
-// Date: Mon, 11 Oct 93 17:03:59 EDT
-// Subject: g++ 2.4.5 bug report: local class decl can't access local static var
-// Message-ID: <9310112103.AA06326@cs>
-
-void f()
-{
- static int s;
-
- struct local {
- int j() { return s; } // should be okay, see 1991 ref. man. r.9.8
- };
-}
-
-int main()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/nest5.C b/gcc/testsuite/g++.old-deja/g++.law/nest5.C
deleted file mode 100644
index 99e8508e852..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/nest5.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed nest
-// nest file
-// From: tal@vlsi.cs.caltech.edu
-// Date: Mon, 11 Oct 93 16:26:02 -0700
-// Subject: Serious bug: g++2.4.5 -Doesn't support local classes
-// Message-ID: <9310112325.AA13386@vlsi.cs.caltech.edu>
-
-void foo() {
- class Wrapper {
- public:
- void F (void * Wrapperptr)
- {
- Wrapper * wrapptr = ( Wrapper *) Wrapperptr;
- }
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators10.C b/gcc/testsuite/g++.old-deja/g++.law/operators10.C
deleted file mode 100644
index c87880fb9a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators10.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-eq file
-// Message-Id: <9306040324.AA22954@balder.cs.wisc.edu>
-// From: so@cs.wisc.edu (Bryan So)
-// Subject: g++ bug
-// Date: Thu, 3 Jun 93 22:24:13 -0500
-
-template <class T>
-struct Test {
- int data;
- Test& operator=(int i) { data = i; return *this; }
-};
-
-
-int main()
-{
- Test<int> i, j;
-
- i = j;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators11.C b/gcc/testsuite/g++.old-deja/g++.law/operators11.C
deleted file mode 100644
index 16eccea6e40..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators11.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-eq file
-// Message-Id: <CCJrut.9M7@csc.ti.com>
-// From: rowlands@hc.ti.com (Jon Rowlands)
-// Subject: g++ 2.4.5: assignment operator in base class
-// Date: Mon, 30 Aug 1993 00:54:29 GMT
-
-class B {
-public:
- B & operator = (B); // delete this line and problem goes away
-};
-
-class D : public B {
-public:
- D();
- D(int);
- D(B);
-};
-
-int
-main() {
- B b;
- D d;
-
- d = d;
-
- d = 0; // t.cxx:20: assignment not defined for type `D'
- d = D(0);
-
- d = b; // t.cxx:23: assignment not defined for type `D'
- d = D(b);
-
- return(0);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators12.C b/gcc/testsuite/g++.old-deja/g++.law/operators12.C
deleted file mode 100644
index cd5312bc093..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators12.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-eq file
-// Message-Id: <199311181618.AA27761@oil.cs.columbia.edu>
-// From: Sam Fenster <fenster@cs.columbia.edu>
-// Subject: g++ 2.5.3 can't disable assignment
-// Date: Thu, 18 Nov 1993 11:18:18 -0500
-
-class B
- {
- B &operator = (const B &); //Disable assignment!
- public:
- virtual ~B () {}
- };
-
-class D: public B
- {
- public:
- D () {}
- };
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators13.C b/gcc/testsuite/g++.old-deja/g++.law/operators13.C
deleted file mode 100644
index f423238b824..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators13.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-eq file
-// Message-Id: <1993Nov18.210502.28842@midway.uchicago.edu>
-// From: mps@dent.uchicago.edu (Michael Spertus)
-// Subject: g++ 2.5.4 bug : operator=
-// Date: Thu, 18 Nov 1993 21:05:02 GMT
-
-class T {
-};
-
-class EP {
-public:
- void operator=(T *);
-};
-
-
-void EP::operator=(T *) { }
-
-int main()
-{
- EP ep1, ep2;
- ep1 = ep2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators14.C b/gcc/testsuite/g++.old-deja/g++.law/operators14.C
deleted file mode 100644
index 22e12565329..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators14.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-void foo (int * a, int * b, int * c) {}
-
-int main() {
- int a,b,c;
- foo (&a, &b, &c);
- (a = b) = c;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators15.C b/gcc/testsuite/g++.old-deja/g++.law/operators15.C
deleted file mode 100644
index 0b0623c94c5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators15.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// GROUPS passed operators
-// opr-del file
-// Message-Id: <199301272137.AA25213@world.std.com>
-// From: kol@world.std.com (Nikolay Yatsenko)
-// Subject: bug report
-// Date: Wed, 27 Jan 1993 16:37:30 -0500
-
-extern "C" int printf(const char* ...);
-
-int delete_counter = -1;
-
-struct T{
- void operator delete (void * p) {delete_counter ++; ::operator delete(p);}
-};
-
-int main(void)
-{
- T * ps1 = new T;
-
- ::delete ps1; // Wrong T::operator delete() is called here
-
- if (delete_counter != -1)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators16.C b/gcc/testsuite/g++.old-deja/g++.law/operators16.C
deleted file mode 100644
index 3298e3090b8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators16.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// GROUPS passed operators
-// copy file
-// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
-// Date: Thu, 29 Apr 93 20:53:07 EST
-// Subject: 4 bugs in g++ 2.3.3
-// Message-ID: <9304291053.AA00090@mencon>
-
-#include <stdio.h>
-
-int pass = 0;
-struct A {
- A(void) {}
- A(const A& a) { ; }
- A& operator = (const A& a) { pass = 1; }
-};
-
-struct B {
- B(const A& aa) { B::a = aa; }
- A a;
-};
-
-int main(void)
-{
- B(A());
- if (pass)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators17.C b/gcc/testsuite/g++.old-deja/g++.law/operators17.C
deleted file mode 100644
index e652d9cdd79..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators17.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall -pedantic-errors
-// GROUPS passed operators
-// copy file
-// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
-// Date: Thu, 29 Apr 93 20:53:07 EST
-// Subject: 4 bugs in g++ 2.3.3
-// Message-ID: <9304291053.AA00090@mencon>
-
- struct A {
- A& operator = (const A& a) {}// ERROR -
- };
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators18.C b/gcc/testsuite/g++.old-deja/g++.law/operators18.C
deleted file mode 100644
index 74ea15915f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators18.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-ampr file
-// From: mecklen@oops.cs.utah.edu (Robert Mecklenburg)
-// Date: Thu, 8 Oct 92 16:33:08 -0600
-// Subject: Type conversion and overloading bugs in 2.2.2
-// Message-ID: <9210082233.AA28203@hellgate.utah.edu>
-
- enum E { a, b, c };
- struct Estr {
- E value;
- Estr() {}
- Estr( int i ) : value( (E)i ) {}
- operator E() { return value; }
- };
- extern Estr baz();
- int bazz() { return baz() & 2; }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators19.C b/gcc/testsuite/g++.old-deja/g++.law/operators19.C
deleted file mode 100644
index 37560411151..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators19.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-ampr file
-// From: Jarkko Sonninen <Jarkko.Sonninen@lut.fi>
-// Date: Thu, 7 Oct 1993 08:25:26 +0200
-// Subject: type of base class member
-// Message-ID: <199310070625.AA18653@kaisa.it.lut.fi>
-
-class A {
- public:
- int j;
-};
-
-class B: public A {
- public:
- B () {
- !(A::j);
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators2.C b/gcc/testsuite/g++.old-deja/g++.law/operators2.C
deleted file mode 100644
index 82954ff7abe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-conv file
-// Message-Id: <199301260142.AA13995@world.std.com>
-// From: gparker@world.std.com (Glenn P Parker)
-// Subject: gcc bug
-// Date: Mon, 25 Jan 1993 20:42:35 -0500
-
-int main(void)
-{
- int i = int(); // g++ 2.3.3 cannot compile it.
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators21.C b/gcc/testsuite/g++.old-deja/g++.law/operators21.C
deleted file mode 100644
index a4aac7d3143..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators21.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-
-struct A {
- int x;
-};
-
-int operator()(A x,float y) {// ERROR - .*
- return 1;
-}
-
-int main() {
- A x;
- x(1.0); // ERROR - no match
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators22.C b/gcc/testsuite/g++.old-deja/g++.law/operators22.C
deleted file mode 100644
index e550dac48a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators22.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-template <class T>
-class t {
-public:
- t() {}
-};
-
-class m {
- t<int> c;
-public:
- m() : c() {}
-};
-
-m *p() {return new m;}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators23.C b/gcc/testsuite/g++.old-deja/g++.law/operators23.C
deleted file mode 100644
index 7271840baa9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators23.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// GROUPS passed operators
-// opr-new file
-// From: (The Crossjammer) <xjam@cork.cs.berkeley.edu>
-// Date: Mon, 23 Nov 92 23:35:26 PST
-// Subject: g++-2.3.1 : Incorrectly calls overloaded operator new
-// Message-ID: <9211240735.AA06872@cork.CS.Berkeley.EDU>
-
-
-#include <stdio.h>
-#include <stdlib.h>
-
-class blah {
- int j;
- public:
- blah();
- void *operator new(size_t size) throw();
-};
-
-inline blah::blah() : j(0) {
-
-}
-
-
-void *blah::operator new(size_t size) throw(){
- printf ("FAIL\n");
- exit (1);
- return NULL;
-}
-
-int main(int arg, char** argv) {
- blah* blahPtr;
-
- blahPtr = new blah[100];
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators24.C b/gcc/testsuite/g++.old-deja/g++.law/operators24.C
deleted file mode 100644
index 46346e5942c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators24.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-new file
-// From: rwave!myersn%rwave.roguewave@cs.orst.edu (Nathan Myers)
-// Date: Wed, 16 Dec 92 11:55 PST
-// Subject: 2.3.2: friend decl breaks member op new
-// Message-ID: <m0n24qP-0000GmC@rwave.roguewave.com>
-
-#include <stddef.h>
-struct Link {
- void* operator new(size_t, int);
- friend void* __builtin_new(size_t); // This declaration triggers the bug
-};
-void f() { new(2) Link; }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators25.C b/gcc/testsuite/g++.old-deja/g++.law/operators25.C
deleted file mode 100644
index 4b701b6136f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators25.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-new file
-// From: gparker@world.std.com (Glenn P Parker)
-// Date: Mon, 25 Jan 1993 20:43:43 -0500
-// Subject: gcc bug
-// Message-ID: <199301260143.AA14133@world.std.com>
-
-typedef int (**PPF)(int);
-
-int main(void)
-{
- PPF pf2 = new (int (*) (int)); // internal compiler error on this line.
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators27.C b/gcc/testsuite/g++.old-deja/g++.law/operators27.C
deleted file mode 100644
index 6a07176ba3a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators27.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// GROUPS passed operators
-// opr-new file
-// From: David Binderman 3841 <dcb@us-es.sel.de>
-// Date: Mon, 21 Jun 93 11:42:11 +0200
-// Subject: G++ 2.4.3 and operator new
-// Message-ID: <9306210942.AA10276@slsvitt.us-es.sel.de>
-
-int FLAG=0;
-
-#include <new>
-
-extern "C" int printf( const char *, ...);
-
-void * operator new(size_t, const std::nothrow_t&) throw() { FLAG=1; return 0; }
-
-class K {
-private:
- int i;
-public:
- K( int j) {
- i = j;
- }
-};
-
-int main(void)
-{
- K * pK = new (std::nothrow) K( 10);
- if ( FLAG != 1 )
- printf ("FAIL\n");
- else
- printf ("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators28.C b/gcc/testsuite/g++.old-deja/g++.law/operators28.C
deleted file mode 100644
index 3600fb27418..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators28.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-#include <sys/types.h>
-#include <stdio.h>
-
-class new_test
-{
- int type;
-public:
- void* operator new(size_t sz, int count, int type);
-};
-
-void* new_test::operator new(size_t sz, int count, int type)
-{
- void *p;
-
- printf("%d %d %d\n", sz, count, type);
-
- p = new char[sz * count];
- ((new_test *)p)->type = type;
- return p;
-};
-
-int main()
-{
- new_test *test;
- int count = 13;
-
- test = new(count, 1) new_test;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators29.C b/gcc/testsuite/g++.old-deja/g++.law/operators29.C
deleted file mode 100644
index c24bbe4b577..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators29.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// (Message bugs/opr-del:4)
-// From: jamshid@ses.com (Jamshid Afshar)
-// Date: Fri, 25 Feb 94 18:44:01 CST
-// Subject: Re: delete on "smart pointers"
-// Message-ID: <9402262328.AA16321@pancake>
-//
-// Who was apparently replying to kuhlins@hawk.wifo.uni-mannheim.de
-
-
-template<class T> class Ptr {
-public:
- Ptr(T*);
- operator T*();
-};
-
-int main() {
- Ptr<int> ip = new int(2);
- delete ip;
- operator delete(ip);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators3.C b/gcc/testsuite/g++.old-deja/g++.law/operators3.C
deleted file mode 100644
index e4a8341cca9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators3.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-pl file
-// Message-Id: <9212010409.AA24967@zeus.research.otc.com.au>
-// From: grahamd@zeus.research.otca.oz.au (Graham Dumpleton)
-// Subject: Failure to use conversion operator.
-// Date: Tue, 1 Dec 92 15:11:18 EST
-
-class BUG1
-{
- public:
-
- operator char*() const { return myData; }
- char* myData;
-};
-
-void bug1()
-{
- BUG1 bug1;
- bug1.myData = "0123456789";
- char* s = bug1 + 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators30.C b/gcc/testsuite/g++.old-deja/g++.law/operators30.C
deleted file mode 100644
index 4236dc519a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators30.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// GROUPS passed operators
-// opr-mm file
-// Date: Thu, 2 Jun 94 10:00:29 +0200
-// From: chatty@cenatls.cena.dgac.fr (Stephane Chatty)
-// Message-Id: <9406020800.AA14201@geant.cenatls.cena.dgac.fr>
-// Subject: result of operator -- with g++-2.5.8
-
-#include <stdio.h>
-
-void nop()
-{
-}
-
-int main ()
-{
- int a = 2;
-
- if (----a == 0)
- nop ();
-
- if (a == 0)
- printf("PASS\n");
- else
- printf("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators31.C b/gcc/testsuite/g++.old-deja/g++.law/operators31.C
deleted file mode 100644
index a2ba7201d6b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators31.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-del file
-// From: Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
-// Date: Thu, 4 Aug 94 08:19:20 +0200
-// Subject: delete [] A::s
-// Message-ID: <9408040619.AA27602@azu.informatik.uni-stuttgart.de>
-
-class A
-{
- char *s;
-public:
- void f ();
-};
-
-void A::f ()
-{
- delete [] A::s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators32.C b/gcc/testsuite/g++.old-deja/g++.law/operators32.C
deleted file mode 100644
index 26e439876a9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators32.C
+++ /dev/null
@@ -1,55 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-#include <iostream.h>
-
-//
-// frees space allocated for N-D array
-//
-
-template <class T>
-void free(long rows, T** array)
-{
-for( long i = 0; i < rows; i++ )
- delete [] array[i]; // delete row
-delete [] array; // delete outer array
-}
-
-template <class T>
-T* allocate1d(long size, T*& array)
-{
-return array = new T[size];
-}
-
-template <class T>
-T** allocate2d(long d1, long d2, T**& array)
-{
-if( allocate1d(d1, array) != 0 )
- {
- for( long i = 0; i < d1; i++ )
- {
- if( allocate1d(d2, array[i]) == 0 )
- {
- free(i,array);
- return array;
- }
- }
- }
-return array;
-}
-
-int main()
-{
-long d1 = 3, d2 = 4;
-class foo
-{
-public:
-foo() {cout << "foo created" << endl; }
-
-~foo() {cout << "foo deleted" << endl; }
-};
-
-foo **f2;
-allocate2d(d1, d2, f2);// ERROR - type.*// ERROR - trying to.*
-free(d1, f2);// ERROR - type.*// ERROR - trying to.*
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators33.C b/gcc/testsuite/g++.old-deja/g++.law/operators33.C
deleted file mode 100644
index bdf5147b875..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators33.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-new file
-// From: flisakow@cae.wisc.edu
-// Date: Thu, 1 Sep 94 18:21:09 CDT
-// Subject: g++ bug?
-// Message-ID: <9409012321.AA05346@hprisc-19.cae.wisc.edu>
-
-#include <stdio.h>
-
-
-struct fcell {
- FILE *fd;
- struct fcell *next;
-};
-
-
-class FStack {
-public:
- struct fcell *top;
- FStack() { top = NULL ; } ;
- inline void push(FILE * fd1, int line_num, char *fname = NULL) {
- struct fcell *tmp = new struct fcell;
- tmp->fd = fd1;
- tmp->next = top;
- top = tmp ;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators34.C b/gcc/testsuite/g++.old-deja/g++.law/operators34.C
deleted file mode 100644
index 316500e5841..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators34.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-class A {
- public:
- A() {
- }
-};
-
-static class A *A_new_() {
- return new class A;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators4.C b/gcc/testsuite/g++.old-deja/g++.law/operators4.C
deleted file mode 100644
index 044249fa8b7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators4.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// GROUPS passed operators
-// opr-del file
-// From: rollins@bart.ee.queensu.ca (Mark Rollins)
-// Date: Thu, 3 Sep 1992 22:01:03 -0400 Fri, 4 Sep 1992 02:00:25 GMT
-// Subject: delete [size] pointer; Problem
-// Message-ID: <92Sep3.220137edt.30@jarvis.csri.toronto.edu>
-
-#include <complex>
-typedef complex<double> Complex;
-#include <stdio.h>
-
-class Vector {
- int size;
- Complex *v;
- public:
- Vector(int s=1) { size = s; v = new Complex[size];};
- ~Vector() { delete [size] v;}// ERROR - warning
-};
-
-void foo(int s)
-{
- Vector junk(s);
-}
-
-int main()
-{
- Vector* test;
- for (int i=0;i<40;i++) // was 100000
- foo(1000);
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators6.C b/gcc/testsuite/g++.old-deja/g++.law/operators6.C
deleted file mode 100644
index f66f6496f39..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators6.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-as file
-// From: Klaus Ahrens <ahrens@informatik.hu-berlin.de>
-// Date: Fri, 26 Mar 93 12:50:37 mez
-// Subject: no default assignment
-// Message-ID: <199303261149.TA23114@mail.Germany.EU.net>
-
-class A {
-public:
- A(int){}
- A& operator=(const A&){return *this;}
-};
-
-class B: public A {
-public:
- B(int i): A(i) {}
-};
-
-int main()
-{
- B b=1;
- b=1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators8.C b/gcc/testsuite/g++.old-deja/g++.law/operators8.C
deleted file mode 100644
index 5fd94bdd685..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators8.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// GROUPS passed operators
-#include <stdio.h>
-
-class shape {
- public:
- virtual void vDisplay(void) const = 0;
- protected:
- int X;
- int Y;
-};
-
-class square :public shape {
- public:
- square(int x, int y, int width_) {
- X = x;
- Y = y;
- width = width_;
- }
- void vDisplay(void) const {
- printf ("PASS\n");
- }
- protected:
- int width;
-};
-
-
-class triangle :public shape {
- public:
- triangle(int x, int y, int width_, int height_) {
- X = x;
- Y = y;
- width = width_;
- height = height_;
- }
- void vDisplay(void) const {
- printf ("FAIL\n");
- }
- protected:
- int width;
- int height;
-};
-
-int main() {
- shape* s1 = new square(4,4,5);
- shape* s2 = new triangle(6,6,2,3);
- *s1 = *s2;
- s1->vDisplay();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators9.C b/gcc/testsuite/g++.old-deja/g++.law/operators9.C
deleted file mode 100644
index 8aeac843b7b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/operators9.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// opr-eq file
-// Message-Id: <9301141514.AA05925@mi.el.utwente.nl>
-// From: klamer@mi.el.utwente.nl (Klamer Schutte)
-// Subject: 2.3.3: failed to detect error
-// Date: Thu, 14 Jan 93 16:14:21 +0100
-
-class B
-{
-public:
- operator=(B &); // ERROR - no type or storage class
-};
-
-void
-test(B &b1, const B &b2)
-{
- b1 = b2;// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing1.C b/gcc/testsuite/g++.old-deja/g++.law/parsing1.C
deleted file mode 100644
index 7b032e3eb57..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: hendrik%vedge.UUCP@iro.umontreal.ca
-// Date: Wed, 23 Sep 92 17:10:28 -0400
-// Subject: parenthesized method
-// Message-ID: <9209232110.AA02533@.>
-
-
-class goo{
-public:
- void noo_bloo();
-};
-
-void choo(goo* too)
-{ (too->noo_bloo)();
-}
-
-void choo_too(goo* too)
-{ too->noo_bloo();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing10.C b/gcc/testsuite/g++.old-deja/g++.law/parsing10.C
deleted file mode 100644
index 9fee9ebc808..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing10.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: Eirik Fuller <eirik@elf.ithaca.ny.us>
-// Date: Wed, 15 Dec 1993 17:06:11 -0500
-// Subject: parse error
-// Message-ID: <199312152206.AA06584@tonttu.TC.Cornell.EDU>
-
-
-class s;
-
-template <class T>
-class t
-{
-public:
- void f(T *t);
-};
-
-class l
-{
-public:
- void s() {};
-};
-
-extern t<l> g;
-
-class p
-{
-public:
- void *h;
- s *a() {return (s *) h;};
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing2.C b/gcc/testsuite/g++.old-deja/g++.law/parsing2.C
deleted file mode 100644
index 5570ad93832..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: jonathan@Pescadero.Stanford.EDU
-// Date: Tue, 15 Sep 92 14:15:29 PDT
-// Subject: Function taking as argument a pointer to a pointer to a function
-// that returns int causes coredump in cc1plus
-// Message-ID: <9209152115.AA07423@Pescadero.Stanford.EDU>
-
- unsigned char FindMdc ( int (**)() );
- unsigned char FindMdc2 ( int (**funcname)() );
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing3.C b/gcc/testsuite/g++.old-deja/g++.law/parsing3.C
deleted file mode 100644
index 8efee5b0f23..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing3.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: tll@cco.caltech.edu (Tal Lewis Lancaster)
-// Date: 18 Mar 1993 17:09:43 GMT
-// Subject: Re: unexpected difference between gcc and g++ (both 2.3.3)
-// Message-ID: <1oaacnINNt20@gap.caltech.edu>
-
-/* Notice that this case parses fine */
-int (* volatile y)[10];
-
-void foo2() {
- /* The parser can't handle it now */
- int (* volatile x)[10];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing4.C b/gcc/testsuite/g++.old-deja/g++.law/parsing4.C
deleted file mode 100644
index e834d6f939e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: Glenn Engel <glenne@lsid.hp.com>
-// Date: Fri, 29 Jan 93 18:42:03 PST
-// Subject: Parse Error
-// Message-ID: <9301300242.AA15550@hplslk.lsid.hp.com>
-
-int test1(void (**roc)(int,int)); // parse error
-int test2(int id,void (**orc)(int,int)); // works
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing5.C b/gcc/testsuite/g++.old-deja/g++.law/parsing5.C
deleted file mode 100644
index f3f847302c4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing5.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// From: Teemu Torma <Teemu.Torma@frend.fi>
-// Date: Mon, 15 Jun 92 18:42:25 +0300
-// Subject: G++ 2.2.2: Strange parse error
-// Message-ID: <"relay.fren.501:15.05.92.15.42.30"@frend.fi>
-
-long (*foo1 ()) (); // This is ok.
-
-typedef long INT;
-INT (*foo2 ()) (); // This is not, g++ says "parse error before `('"
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing6.C b/gcc/testsuite/g++.old-deja/g++.law/parsing6.C
deleted file mode 100644
index 63a660eef36..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: "James S. Vera" <vera@fanaraaken.stanford.edu>
-// Date: Thu, 01 Jul 1993 16:36:32 -0700
-// Subject: Mildly complicated type not understood, 2.4.5
-// Message-ID: <9307012336.AA13841@fanaraaken.Stanford.EDU>
-
-typedef int (*cow[3])(...);
-
-int main() {
- cow fs;
- int (*pig[3])(...); // line 5
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing7.C b/gcc/testsuite/g++.old-deja/g++.law/parsing7.C
deleted file mode 100644
index 1b73c951dd4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing7.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: szahn%Robinie@goesser.sie.siemens.co.at (Hr. Zahn)
-// Date: Mon, 5 Jul 93 10:45:51 +0200
-// Subject: Bug report g++ 2.4.5, unexpected syntax errors
-// Message-ID: <9307050845.AA00499@ets5.uebemc.siemens.de>
-
-int f1(
- int (**a1)()
- );
-
-int f2(
- int (**a1)()
- );
-
-
-int f3(
- int (**a1)( int a, int b )
- );
-
-int f4(
- int (**a1)( int a, int b )
- );
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing8.C b/gcc/testsuite/g++.old-deja/g++.law/parsing8.C
deleted file mode 100644
index d897849faa4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing8.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// parsing folder
-// From: nag@soft.flab.fujitsu.co.jp
-// Date: Thu, 08 Jul 1993 10:54:59 +0900
-// Subject: g++ cannot understand `void (**f)()'
-// Message-ID: <9307080155.AA00496@kumade.soft.flab.fujitsu.co.jp>
-
- void
- func() {
- int ( * * i )[ 2 ];
- }
-
-// Looks like this is probably the same problem
-// parsing folder
-// From: nag@soft.flab.fujitsu.co.jp
-// Date: Thu, 08 Jul 1993 10:54:59 +0900
-// Subject: g++ cannot understand `void (**f)()'
-// Message-ID: <9307080155.AA00496@kumade.soft.flab.fujitsu.co.jp>
-int main()
-{
- void (**f)();
-}
-
-
-// Same as
-// From: Chris Dodd <dodd@csl.sri.com>
-// Date: Fri, 16 Jul 93 17:05:04 -0700
-// Subject: bug in declaration parsing in g++ 2.4.5
-// Message-ID: <9307170005.AA03857@pekoe.csl.sri.com>
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/parsing9.C b/gcc/testsuite/g++.old-deja/g++.law/parsing9.C
deleted file mode 100644
index 0cd22fd81af..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/parsing9.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-// GROUPS passed parsing
-// From: Jason Merrill <jason@cygnus.com>
-// Date: Fri, 13 Aug 93 12:49:11 PDT
-// Subject: 2.4.5 won't compile array of pointers to functions returning T
-// Message-ID: <9308131949.AA26348@cygnus.com>
-// From: "Robert M. Keller" <keller@jarthur.Claremont.EDU>
-// Subject: g++ bug
-// Date: Fri, 13 Aug 93 10:09:27 PDT
-
-/* Testing declaration of "array of pointers to functions returning T" */
-
-typedef int T;
-
-T foo()
-{ return 10; }
-
-T bar()
-{ return 20; }
-
-T baz()
-{ return 30; }
-
-int main()
-{
-T (*apfrt[10])();
-
-apfrt[0] = foo;
-apfrt[1] = bar;
-apfrt[2] = baz;
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/patches1.C b/gcc/testsuite/g++.old-deja/g++.law/patches1.C
deleted file mode 100644
index 3ec9321c336..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/patches1.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed patches
-// patches file
-// From: david.binderman@pmsr.philips.co.uk
-// Date: Wed, 6 Oct 93 17:05:54 BST
-// Subject: Reno 1.2 bug fix
-// Message-ID: <9310061605.AA04160@pmsr.philips.co.uk>
-
-int type(float) { return 1; }
-int type(double) { return 2; }
-int type(long double) { return 3; }
-
-extern "C" int printf( const char *, ...);
-
-int main()
-{
- int i = 0;
- if (type(0.0) != 2)
- ++i;
- if (i > 0)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/pic1.C b/gcc/testsuite/g++.old-deja/g++.law/pic1.C
deleted file mode 100644
index 818d3d0dd82..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/pic1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed operators
-// pic file
-// Message-Id: <199406132030.NAA23508@dewitt.eecs.berkeley.edu>
-// Subject: gcc-2.5.8 -fpic fails to compile extern const char static initializer
-// Date: Mon, 13 Jun 1994 13:30:14 -0700
-// From: Christopher Hylands <cxh@dewitt.eecs.berkeley.edu>
-
-extern const char SDFdomainName[] = "SDF";
diff --git a/gcc/testsuite/g++.old-deja/g++.law/profile1.C b/gcc/testsuite/g++.old-deja/g++.law/profile1.C
deleted file mode 100644
index 3c671a2db54..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/profile1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Special g++ Options: -pg
-// GROUPS passed profiling
-// Skip if not native
-// excess errors test - XFAIL m68k-motorola-sysv m88k-motorola-sysv3 mips*-*-* i[3456]86-*-sco3.2v5*
-#include <stdio.h>
-main()
-{
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/refs1.C b/gcc/testsuite/g++.old-deja/g++.law/refs1.C
deleted file mode 100644
index 0efe9db3ff4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/refs1.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// GROUPS passed references
-// (Message bugs/refs:1)
-// From: tal@vlsi.cs.caltech.edu
-// Date: Fri, 25 Feb 94 23:55:50 -0800
-// Subject: g++-2.5.8 produces incorrect code for references
-// Message-ID: <9402260755.AA27693@vlsi.cs.caltech.edu>
-
-#include <stdio.h>
-
-class C {
-private:
- char** list;
-public:
- C(char** );
- void count (int&);
-};
-
-C::C (char** l) {
- list = l;
-}
-
-void C::count (int& total) {
- if (*list == NULL)
- return;
- else {
- list++;
- count (++total); // THIS IS WHERE THE TROUBLE STARTS
- }
-}
-
-char * foo[] = {
- "one", "two", "three", NULL};
-
-int main() {
- C c(foo);
- int i = 0;
- c.count(i);
- if (i == 3)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/refs2.C b/gcc/testsuite/g++.old-deja/g++.law/refs2.C
deleted file mode 100644
index b310bf63317..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/refs2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed references
-int func(int& i)
-{
- static int& v = i;
- return v;
-}
-
-int main()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/refs3.C b/gcc/testsuite/g++.old-deja/g++.law/refs3.C
deleted file mode 100644
index e77dd7fad49..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/refs3.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed references
-const int& min(const int& n, const int& m)
-{
- return n < m ? n : m;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/refs4.C b/gcc/testsuite/g++.old-deja/g++.law/refs4.C
deleted file mode 100644
index 40e199a6858..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/refs4.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// GROUPS passed references
-extern "C" void printf (char *, ...);
-
-const int& min(const int& tX, const int& tY)
-{
- return tX < tY ? tX : tY;
-}
-
-void foo(const int m, const int n)
-{
- if (m == 1 && n == 100)
- printf("PASS\n");
- else
- printf("FAIL\n");
-}
-
-int main()
-{
- foo(min(2, 1), min(100, 200));
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/scope1.C b/gcc/testsuite/g++.old-deja/g++.law/scope1.C
deleted file mode 100644
index aa70fde059c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/scope1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-// scoping file
-// From: kol@world.std.com (Nikolay Yatsenko)
-// Date: Fri, 16 Jul 1993 18:48:32 -0400
-// Subject: g++ gives wrong error for local structure
-// Message-ID: <199307162248.AA05360@world.std.com>
-
-int main(void)
-{
- struct A{
- public: int i;
- void set (int i)
- {A::i = i;} // g++ gives wrong error
- };
-
- A a;
- a.set(17);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/scope2.C b/gcc/testsuite/g++.old-deja/g++.law/scope2.C
deleted file mode 100644
index bfefb61fc45..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/scope2.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// GROUPS passed scoping
-// scoping file
-// From: svkakkad@cs.utexas.edu (Sheetal V. Kakkad)
-// Date: Tue, 5 Oct 93 12:38:49 -0500
-// Subject: G++ 2.4.5 - global delete operator not called when using "::delete"
-// Message-ID: <9310051738.AA14586@boogie.cs.utexas.edu>
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-
-class foo
-{
- public:
- foo () { ; }
- ~foo () { ; }
- void *operator new (size_t);
- void operator delete (void *);
-};
-
-void *foo::operator new (size_t size)
-{
- return malloc (size);
-}
-
-int overloaded_delete = 0;
-
-void foo::operator delete (void *data)
-{
- free ((char *) data);
- overloaded_delete++;
-}
-
-int main ()
-{
- foo *f = new foo;
- foo *ff = ::new foo;
- ::delete ff; // should call the default delete operator
- delete f;
- if (overloaded_delete == 1)
- printf ("PASS\n");
- else
- printf ("FAIL\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/scope3.C b/gcc/testsuite/g++.old-deja/g++.law/scope3.C
deleted file mode 100644
index 0f36e1b16e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/scope3.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-// local-class file
-// From: dcb@us-es.sel.de
-// Date: Fri, 27 Nov 92 15:34:28 +0100
-// Subject: GNU G++ 2.3.1 bug report
-// Message-ID: <9211271434.AA15612@us-es.sel.de>
-
-
-void f()
-{
- {
- struct A {
- A() {};
- } a;
- };
- {
- struct A {
- A() {};
- } a ;
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/scope4.C b/gcc/testsuite/g++.old-deja/g++.law/scope4.C
deleted file mode 100644
index 1cfb54e9c34..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/scope4.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-// local-class file
-// From: daniels@sugar.neosoft.com (Brad Daniels)
-// Date: Thu, 5 Aug 93 15:36:36 CDT
-// Subject: Bug in g++ 2.4.5: Can't touch nested class identifier inside its members
-// Message-ID: <9308051536.AA06115@NeoSoft.Com>
-
-void f() {
- class foo {
- int x;
- public:
- foo() : x(1) {}
- int bar() { foo p; return p.x; }
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/scope5.C b/gcc/testsuite/g++.old-deja/g++.law/scope5.C
deleted file mode 100644
index d7bcb63ac41..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/scope5.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed scoping
-// local-class file
-// From: schlaege@methusalix.ert.rwth-aachen.de (Chris Schlaeger H Zivojnovic)
-// Date: Tue, 10 Aug 93 16:50:33 +0200
-// Subject: Bug report
-// Message-ID: <9308101450.AA28016@methusalix.ert.rwth-aachen.de>
-
-int main()
-{
- class foo
- {
- int i;
- } ;
- class bar
- {
- public:
- bar() { y = 0; }
- void f() { foo x; }
- private:
- int y;
- } ;
-
- bar c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/shadow1.C b/gcc/testsuite/g++.old-deja/g++.law/shadow1.C
deleted file mode 100644
index 5338bea3c98..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/shadow1.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wshadow
-// GROUPS passed shadow-warnings
-// shadow file
-// Message-Id: <9211061827.AA03517@harvey>
-// From: Jeff Gehlhaar <jbg@qualcomm.com>
-// Subject: GCC Bug..
-// Date: Fri, 6 Nov 1992 10:27:10 -0700
-
-class Class
-{
-public:
- Class(void); // constructor
- int Shadow(void); // member function
-private:
- long value;
-};
-
-Class::Class(void)
-{
- value = 0;
-}
-
-static inline unsigned char
-Function(int Shadow)
-{
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/shadow2.C b/gcc/testsuite/g++.old-deja/g++.law/shadow2.C
deleted file mode 100644
index 899fe938640..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/shadow2.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wshadow
-// GROUPS passed shadow-warnings
-// (Message bugs/shadow:2)
-// From: michael@utex.rni.sub.org (Michael Utech)
-// Date: Sat, 22 Jan 1994 04:28:00 +0100
-// Subject: very minor problem/bug in gcc-2.5.4, -Wshadow
-// Message-ID: <m0pNZ1T-0008QUC@utex.rni.sub.org>
-
-class X
-{
- int count;
-public:
- X() {} // necessary to produce the `count' warning
-};
-
-template <class T>
-class Y
-{
- T t;
-public:
- int f (int count) { return (count); }
-};
-
-main ()
-{
- Y<char> y;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/static-mem2.C b/gcc/testsuite/g++.old-deja/g++.law/static-mem2.C
deleted file mode 100644
index 3a4489e618f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/static-mem2.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// GROUPS passed static-mem
-
-class desc;
-
-class a_desc {
- public:
-
- static desc the_desc;
-
- virtual desc *get_desc();
-};
-
-class desc : public a_desc {
- public:
-
- static desc the_desc;
-
- desc(int);
-
- desc *get_desc();
-};
-
-
-desc desc::the_desc(1);
-
-desc a_desc::the_desc(0);
diff --git a/gcc/testsuite/g++.old-deja/g++.law/static-mem3.C b/gcc/testsuite/g++.old-deja/g++.law/static-mem3.C
deleted file mode 100644
index 39e4fc2d454..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/static-mem3.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed static-mem
-// static-mem file
-// Message-Id: <9406021639.AA00789@oz.NeXT.COM>
-// From: Sumana Srinivasan <Sumana_Srinivasan@next.com>
-// Date: Thu, 2 Jun 94 09:39:09 -0700
-// Subject: static members function pointers
-
-class CRTFooBar;
-
-class CRTFoo {
-public:
- static const CRTFooBar & defaultFooBar( );
-
- CRTFoo( const CRTFoo & );
- CRTFoo( );
- CRTFoo( const char *,
- const CRTFooBar &tp = CRTFoo::defaultFooBar(),
- int = 0 );
- CRTFoo &setFoo( double,
- const CRTFooBar & = CRTFoo::defaultFooBar() );
-
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/static-mem4.C b/gcc/testsuite/g++.old-deja/g++.law/static-mem4.C
deleted file mode 100644
index 09e16371d3d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/static-mem4.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed static-mem
-struct test {
- void test_member() {
- static test& ds = *this; // FIX: static test* ds = this;
- }
-};
-
-
-int main()
-{
- test t;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/static-mem5.C b/gcc/testsuite/g++.old-deja/g++.law/static-mem5.C
deleted file mode 100644
index 2ce0df16f3e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/static-mem5.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w
-// GROUPS passed static-mem
-// static-mem file
-// From: bunch@tazboy.jpl.nasa.gov (Walt Bunch)
-// Date: Thu, 23 Jun 94 14:58:35 UNI
-// Subject: bug report
-// Message-ID: <9406232258.AA03897@tazboy.JPL.NASA.GOV>
-
-
-class A
-{
-public:
- static void F (int i) {}
- static void A::G (int i) {}
-};
-
-main ()
-{
- A::F (17);
- A::G (42);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/template1.C b/gcc/testsuite/g++.old-deja/g++.law/template1.C
deleted file mode 100644
index bde15370309..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/template1.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-
-class String {
- char s[100];
-};
-
-template <class Element>
-class Art {
-public:
- Element *data;
- Art() { data=new Element[100]; }
-};
-
-template <class Key,class Value>
-class Assoc {
-public:
- struct KeyValue {
- Key key;
- Value value;
- int filled;
- };
-
- Art<KeyValue> data;
- int fill;
-};
-
-int main() {
- Assoc<String,String> table;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/template2.C b/gcc/testsuite/g++.old-deja/g++.law/template2.C
deleted file mode 100644
index 7fa2c766b83..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/template2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// GROUPS passed templates
-// Special g++ Options: -fguiding-decls
-extern "C" void printf (char *, ...);
-
-template<class T> T max(T a, T b) { return a > b ? a : b; }
-
-int max(int, int);
-
-main()
-{
- int j;
-
- j = max(1,2);
- j = max (1, 'c');
- printf ("PASS\n");
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/template3.C b/gcc/testsuite/g++.old-deja/g++.law/template3.C
deleted file mode 100644
index 7523824864e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/template3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template< class R, class T1 = R, class T2 = T1 >
-struct plus
- {
- R operator()( const T1& x, const T2& y ) const
- {
- return x + y;
- }
- };
-
-int
-main()
- {
- plus< int > p;
- return 0;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps1.C b/gcc/testsuite/g++.old-deja/g++.law/temps1.C
deleted file mode 100644
index aa3e8e83bbe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/temps1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed temps
-// temps file
-// Date: Mon, 07 Sep 1992 13:12:28 EDT
-// From: richard@ttt.kth.se
-struct foo
-{
- char *s;
- foo(char *x) { s=x; }
-};
-
-struct cookie
-{
- foo * v;
- cookie ( foo * x) { v=x; }
-};
-
-cookie cat(&foo("apabepa"));// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps2.C b/gcc/testsuite/g++.old-deja/g++.law/temps2.C
deleted file mode 100644
index 4e216720c7b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/temps2.C
+++ /dev/null
@@ -1,54 +0,0 @@
-// GROUPS passed temps
-// temps file
-// Message-Id: <9212181914.AA05066@sparc1.cnm.us.es>
-// From: juando@cnm.us.es (Juan Domingo Martin Gomez)
-// Subject: Temporaries destroyed too soon
-// Date: Fri, 18 Dec 92 20:14:45 +0100
-
-#include <stdio.h>
-
-int status = 0;
-int fail = 0;
-
-class Foo
-{
-public:
- Foo();
- ~Foo();
-
- Foo &method();
-};
-
-Foo f1()
-{
- return Foo();
-}
-
-Foo::Foo()
-{
-}
-
-Foo::~Foo()
-{
- if (status == 2)
- fail = 0;
- else
- fail = 1;
-}
-
-Foo &Foo::method()
-{
- status++;
- return *this;
-}
-
-int main()
-{
- // f1() returns a temporary object. The member function
- // method() returns a reference to the same object.
- f1().method().method();
- if (fail)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps3.C b/gcc/testsuite/g++.old-deja/g++.law/temps3.C
deleted file mode 100644
index 48e449813b4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/temps3.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// GROUPS passed temps
-// temps file
-// Message-Id: <9308231535.AA19432@geant.cenatls.cena.dgac.fr>
-// From: chatty@geant.cenatls.cena.dgac.fr (Stephane CHATTY)
-// Subject: g++ 2.4.5 does not destroy temporaries
-// Date: Mon, 23 Aug 93 17:35:34 +0200
-
-#include <stdio.h>
-
-class A {
-public:
- int a;
- A (int i) : a (i) { ;}
- A (const A& aa) : a (aa.a) { ;}
- ~A () { printf ("PASS\n");; }
-};
-
-A
-foo ()
-{
- return A (10);
-}
-
-int main ()
-{
- int x = foo ().a;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps4.C b/gcc/testsuite/g++.old-deja/g++.law/temps4.C
deleted file mode 100644
index 2abf56d8214..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/temps4.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Special g++ Options: -felide-constructors
-// GROUPS passed temps
-// temps file
-// Message-Id: <9311102043.AA22871@ses.com>
-// From: jamshid@ses.com (Jamshid Afshar)
-// Subject: elide-constructors (aka return value optimization)
-// Date: Wed, 10 Nov 93 14:43:54 CST
-
-#include <stdio.h>
-
-class X {
- int i;
- public:
- X();
- X(const X&);
- X(int);
- ~X();
-};
-
-int did_it = 0;
-
-X::X() { ; }
-X::X(const X&) { did_it = 1; }
-X::X(int) { ; }
-X::~X() { ; }
-
-X foo() {
- X x(1);
- return x;
-}
-
-main() {
- X x = foo();
- if (did_it)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps5.C b/gcc/testsuite/g++.old-deja/g++.law/temps5.C
deleted file mode 100644
index 7c591a409e9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/temps5.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// GROUPS passed temps
-// temps file
-// Message-Id: <9311171029.AA00592@mencon>
-// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
-// Subject: gcc 2.5.3 - bug deleting object that is still referred to
-// Date: Wed, 17 Nov 93 21:29:23 EST
-
-#include <stdio.h>
-
-class C {
-public:
- C(int i) : val(i) { ; }
- C(const C& c) : val(c.val) { ; }
- ~C(void) { val = 999; }
- C& operator = (const C& c) { val = c.val; return *this; }
-
- C& inc(int i) { val += i; return *this; }
-
- int val;
-};
-
-C
-f(void)
-{
- return C(3);
-}
-
-C
-f(int i)
-{
- return f().inc(i);
-}
-
-int
-main(void)
-{
- if (f (2).val != 5)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps6.C b/gcc/testsuite/g++.old-deja/g++.law/temps6.C
deleted file mode 100644
index 7d2952a0c83..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/temps6.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// GROUPS passed temps
-// Date: Tue, 22 Mar 94 12:46:28 +0100
-// From: dak@pool.informatik.rwth-aachen.de
-// Message-Id: <9403221146.AA07815@messua>
-// Subject: Bad code for pointer to member use as reference in g++ 2.5.8
-
-#include <stdio.h>
-struct str {
- int i;
-} xxx = {0};
-
-int& test(str *arg1, int str::*arg2)
-{
- return (arg1->*arg2);
-}
-
-int main()
-{
- test(&xxx, &str::i) = 5;
- if (xxx.i == 0)
- printf ("FAIL\n");
- else
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps7.C b/gcc/testsuite/g++.old-deja/g++.law/temps7.C
deleted file mode 100644
index ddf028e31fa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/temps7.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed temps
-
-template <class B >
-class A {
-public:
- class C {};
-};
-
-template class A<int>::C;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/typeck1.C b/gcc/testsuite/g++.old-deja/g++.law/typeck1.C
deleted file mode 100644
index f0ee7734962..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/typeck1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed typeck
-// typeck file
-// From: vern@daffy.ee.lbl.gov (Vern Paxson)
-// Date: 24 Sep 1992 23:11:22 GMT
-// Subject: 2.2.2 type-checking error (?) when comparing pointers
-// Message-ID: <26475@dog.ee.lbl.gov>
-
-
- class a { };
- class foo : a { };
- class bar : a { };
-
- int test( const foo* f, const bar* b )
- {
- return f == b;// ERROR -
- }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/typeck2.C b/gcc/testsuite/g++.old-deja/g++.law/typeck2.C
deleted file mode 100644
index 24f3cb19fad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/typeck2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed typeck
-// typeck file
-// From: Jutta Degener <jutta@cs.tu-berlin.de>
-// Date: Wed, 9 Jun 1993 17:58:35 +0200 (MET DST)
-// Subject: 2.4.3: Type of new <typedef'ed array>
-// Message-ID: <199306091558.AA19075@mail.cs.tu-berlin.de>
-
- typedef int arr[10];
-int main()
- {
- int * p = new int[10];
- int * q = new arr; /* g++ complains, but shouldn't */
- int (* r)[10] = new arr; /* g++ doesn't complain, but should */// ERROR -
- }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/typeck3.C b/gcc/testsuite/g++.old-deja/g++.law/typeck3.C
deleted file mode 100644
index 76c36843fd6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/typeck3.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed typeck
-// typeck file
-// From: Dror Caspi <dror@fibronics.co.il>
-// Date: Wed, 9 Jun 1993 17:43:48 +0300
-// Subject: function typedefs in classes
-// Message-ID: <199306091443.AA03735@zorba.fibronics.co.il>
-
-class a
-{
- public:
- typedef void (X)();
-
- X x; // Member function of type X
-};
-
-class b
-{
- public:
- typedef void (X)(); //!!!!!! g++ says : syntax error before `;'
-
- X x; // Member function of type X
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/typeck4.C b/gcc/testsuite/g++.old-deja/g++.law/typeck4.C
deleted file mode 100644
index 9b510c05725..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/typeck4.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed typeck
-class A {
- public:
- const int &operator[]( int i );
- private:
- int k;
-};
-
-const int& A::operator[]( int i )
-{
- return k;
-}
-
-
-void ff( A &anA )
-{
- int &ani = anA[0];// ERROR -
-
- ani = 7;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/union1.C b/gcc/testsuite/g++.old-deja/g++.law/union1.C
deleted file mode 100644
index ce7c3d7442c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/union1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-// GROUPS passed unions
-// anon-union file
-// From: "Terry R. Coley" <terry@wag.caltech.edu>
-// Date: Tue, 25 Aug 1992 17:33:29 -0700
-// Subject: possible bug in gcc/g++
-// Message-ID: <199208260033.AA19417@brahms.wag.caltech.edu>
-
-typedef enum { BADBINOP = 0, PLUS, MINUS, MULT, DIV, POWR } binoptype;
-typedef enum { BADUNOP = 0, NEG = POWR+1, SIN, COS, TAN } unoptype;
-
-typedef struct {
- char *s;
- union {
- binoptype bop;
- unoptype uop;
- };
-}
-op_to_charp;
-
-op_to_charp BINOPS[] = { {"+", PLUS},
- {"-", MINUS},
- {"*", MULT},
- {"/", DIV},
- {"^", POWR} };
-
-int main() {
- int dummy;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/union2.C b/gcc/testsuite/g++.old-deja/g++.law/union2.C
deleted file mode 100644
index 66c2c665cab..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/union2.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed unions
-// anon-union file
-// From: gerlek@dat.cse.ogi.edu (Michael Gerlek)
-// Date: Tue, 8 Dec 92 12:56 PST
-// Subject: private anonymous unions have public members? (gcc-2.3.1)
-// Message-ID: <m0mzByL-0000hoC@dat.cse.ogi.edu>
-
-class A {
-public:
- int x;
-private:
- int y; // ERROR - private
- union {
- int z; // ERROR - private
- };
-};
-
-void f() {
- A a;
-
- a.x = 0;
- a.y = 1;// ERROR - .*
- a.z = 2;// ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/union3.C b/gcc/testsuite/g++.old-deja/g++.law/union3.C
deleted file mode 100644
index 62e894727df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/union3.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed unions
-// anon-union file
-// From: dcb@us-es.sel.de (David Binderman 3841)
-// Date: Tue, 30 Mar 93 09:06:15 +0200
-// Subject: Page 183 of the ARM
-// Message-ID: <9303300706.AA17079@slsvitt>
-
-static union {
- char* uC;
-private:
- int uI;// ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/union4.C b/gcc/testsuite/g++.old-deja/g++.law/union4.C
deleted file mode 100644
index 2178697f8ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/union4.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed unions
-// anon-union file
-// From: hossein@veritas.com (Hossein Raassi)
-// Date: Wed, 15 Dec 93 13:52 PST
-// Subject: Internal Error
-// Message-ID: <m0pA49A-0000LdC@piano.veritas.com>
-
-static union {
- struct SS {
- int ss;
- };
-};// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.law/unsorted1.C b/gcc/testsuite/g++.old-deja/g++.law/unsorted1.C
deleted file mode 100644
index eae69e8e94e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/unsorted1.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O
-// GROUPS passed unsorted
-// unsorted.2 file
-// From: skipnyc!skipsun!skip@fsg.com (Skip Gilbrech)
-// Date: Wed, 10 Jun 92 6:55:18 EDT
-// Subject: Problem with derived class access adjustment and -O
-// Message-ID: <9206101055.AA20593@skipsun.UUCP>
-
-
-class A {
- public:
- virtual void func() = 0;
-};
-
-class B : public A {
- public:
- void func() {}
-};
-
-class C : private B {
- public:
- B::func;
-};
-
-class D {
- C c;
- public:
- void func() { c.func(); }
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/unsorted2.C b/gcc/testsuite/g++.old-deja/g++.law/unsorted2.C
deleted file mode 100644
index b3c13a456b0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/unsorted2.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed unsorted
-// code-gen file
-// From: klaus@steinitz.mathematik.uni-dortmund.de
-// Date: Mon, 15 Nov 1993 16:51:11 +0100
-// Message-ID: <9311151551.AA17761@steinitz.mathematik.uni-dortmund.de>
-
-template <int A,int B>
-class X
-{
-};
-
-template <int A,int B,int C>
-X<A,C> f(X<A,B>,X<B,C>)
-{
- X<A,C> result;
- return result;
-}
-
-int main()
-{
- X<1,3> x;
- X<1,2> y;
- X<2,3> z;
- x=f(y,z);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/vbase1.C b/gcc/testsuite/g++.old-deja/g++.law/vbase1.C
deleted file mode 100644
index 42282d57df8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/vbase1.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed vbase
-// vbase file
-// From: pino@hubble.eecs.berkeley.edu (Jose Luis Pino)
-// Date: 28 Jul 1994 05:17:39 GMT
-// Subject: g++ 2.6 bug: virtual base class & protected methods
-// Message-ID: <317f1j$o9c@agate.berkeley.edu>
-
-
-#include <iostream.h>
-
-class a {
-protected:
- virtual void foo() { cout << "Class A\n";}
-};
-
-class b : public virtual a {};
-
-class c : public b {
-public:
- void bar() { b::foo();}
-};
-
-int main() {
- c test;
- test.bar();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/virtual1.C b/gcc/testsuite/g++.old-deja/g++.law/virtual1.C
deleted file mode 100644
index 8192273f0a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/virtual1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Woverloaded-virtual
-// GROUPS passed virtual-warnings
-// copy file
-// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
-// Date: Thu, 29 Apr 93 20:53:07 EST
-// Subject: 4 bugs in g++ 2.3.3
-// Message-ID: <9304291053.AA00090@mencon>
-
- struct A {
- virtual ~A(void);
- };
-
- struct B {
- friend class A;
- virtual void f(void);
- };
-
- struct C : public A {
- virtual void f(void);
- };
diff --git a/gcc/testsuite/g++.old-deja/g++.law/virtual2.C b/gcc/testsuite/g++.old-deja/g++.law/virtual2.C
deleted file mode 100644
index fa9bb69a4a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/virtual2.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// GROUPS passed virtual-functions
-// Not in g++ bugs snapshot
-// From: grande@isi.edu (Jim Grande)
-// Subject: g++ 2.3.3 (HPPA) virt class definition dumps core
-// Date: 5 Mar 1993 22:51:14 -0500
-// Message-ID: <23611@venera.isi.edu>
-
-#include <stdio.h>
-
-class doubleclass
-{
- public:
- double d;
- doubleclass(double x = 0) { d = x; };
-};
-
-class test
-{
- doubleclass doublec;
-};
-
-class vderived : virtual public test
-{
-};
-
-int main()
-{
- vderived v;
-
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/virtual3.C b/gcc/testsuite/g++.old-deja/g++.law/virtual3.C
deleted file mode 100644
index d131da4696d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/virtual3.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// GROUPS passed virtual-functions
-// virtual file
-// From: allan@ramjet.multinet.DE (Allan Brighton)
-// Subject: pos. bug in gcc-2.5.2 on hp
-// Date: 4 Nov 1993 22:57:36 -0500
-// Message-ID: <9311041820.AA05942@ramjet.multinet.DE>
-
-#include <iostream.h>
-#include <strstream.h>
-
-
-class BugStream : public ostrstream {
-public:
- BugStream() {}
- BugStream& eval();
-};
-
-
-static struct Eval_ { } eval;
-BugStream& operator<<(ostream& os, Eval_);
-
-BugStream& BugStream::eval()
-{
- // make sure str is null terminated
- *this << ends;
-
- // eval the command and set the status
- char* s = str();
- cerr << s << endl;
-
- // reset the stream for the next command
- clear(0);
- rdbuf()->freeze(0);
- seekp(0);
-
- return *this;
-}
-
-BugStream& operator<<(ostream& os, Eval_)
-{
- return ((BugStream&)os).eval();
-}
-
-int main() {
- BugStream bs;
- bs << "PASS" << eval;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/virtual4.C b/gcc/testsuite/g++.old-deja/g++.law/virtual4.C
deleted file mode 100644
index 47af3aa9de9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/virtual4.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// GROUPS passed virtual-functions
-#include <stdio.h>
-#include <stdlib.h>
-
-int aset = 0;
-class A
-{
- public:
- void Set() { SetProp(); }
- virtual void SetProp() { aset++;}
-};
-
-class B:public A
-{
- public:
- void SetProp() { if (!aset) { printf ("FAIL\n"); exit (0);} aset--;}
-};
-
-int main()
-{
- A a;
- B b;
- A *c=new A;
- A *d=new B;
-
- a.Set();
- b.Set();
- c->Set();
- d->Set();
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility1.C b/gcc/testsuite/g++.old-deja/g++.law/visibility1.C
deleted file mode 100644
index 67f4bcd9919..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility1.C
+++ /dev/null
@@ -1,68 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-#include <iostream.h>
-
-
-
-class base {
-//==========
-
- void base_priv(char * n)
- { cout << "base_priv called from: " << n << "\n"; };
-
-protected:
-
- void base_prot(char * n)
- { cout << "base_prot called from: " << n << "\n"; };
-
-public:
-
- void base_publ(char * n)
- { cout << "base_publ called from: " << n << "\n"; };
-
- void test(char * n) { base_publ(n); base_prot(n); base_priv(n); }
-
-}; // class base
-
-
-
-class derived : private base { // Make this public,
-//============================ // and we don't get an error
-
-friend void derived_friend();
-
-public :
-
- void test(char * n) { base_publ(n); base_prot(n);}
-
-}; // class derived
-
-
-
-void
-derived_friend()
-//--------------
-{
- derived pd;
-
- pd.base_publ("friend of derived class"); // Compiler error here
- pd.base_prot("friend of derived class");
-}
-
-
-
-int main(int argc, char *argv[])
-//==========================
-{
- base b;
- b.base_publ("base class object");
- b.test("member of base class object");
- cout << "\n";
-
- derived pd;
- pd.test("member of derived class object");
- derived_friend();
- cout << "\n";
-
-} /* main */
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility10.C b/gcc/testsuite/g++.old-deja/g++.law/visibility10.C
deleted file mode 100644
index 14dfa333dea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility10.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-
-#include <iostream.h>
-
-class base {
-public:
- void f1 () { cout << "f1" << endl; };
- void f2 () { cout << "f2" << endl; };
-};
-
-class deriv : public base {
- void base :: f1();// ERROR - .*
-};
-
-int main ()
-{
- deriv d;
-
- d.f2();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility11.C b/gcc/testsuite/g++.old-deja/g++.law/visibility11.C
deleted file mode 100644
index eeda777e116..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility11.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w
-// GROUPS passed visibility
-// visibility file
-// From: Alan Shepherd <a.shepherd@nexor.co.uk>
-// Date: Tue, 22 Jun 1993 14:53:23 +0100
-// Subject: bug with MI in gcc-2.4.5
-// Message-ID: <9659.740757203@nexor.co.uk>
-
-class A
-{
- int a;
-
-protected:
-
- virtual void State(int b) { a = b; }
-
-};
-
-class B : public A
-{
- char* foo;
-
-public:
-
- B(const char*);
-};
-
-class C : public A
-{
- char* foo2;
-
-public:
-
- C(const char*);
-};
-
-class D : public B, public C
-{
-public:
- D();
-protected:
-
- virtual void State(int a)
- {
- B::State(a);
- C::State(a);
- }
-};
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility12.C b/gcc/testsuite/g++.old-deja/g++.law/visibility12.C
deleted file mode 100644
index 3aa6d6b26b8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility12.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: Mark Rawling <Mark.Rawling@mel.dit.csiro.au>
-// Date: Wed, 30 Jun 93 15:28:34 +1000
-// Subject: member access rule bug
-// Message-ID: <9306300528.AA17185@coda.mel.dit.CSIRO.AU>
-struct a {
- int aa; // ERROR - private
- };
-
-class b : private a {
- };
-
-class c : public b {
- int xx(void) { return (aa); } // aa should be invisible// ERROR - .*
- };
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility13.C b/gcc/testsuite/g++.old-deja/g++.law/visibility13.C
deleted file mode 100644
index 7f634e20cd8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility13.C
+++ /dev/null
@@ -1,108 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: dinh@cs.ucla.edu (Dinh Le)
-// Date: Mon, 12 Jul 93 22:21:06 -0700
-// Subject: class, template and their scoping problem
-// Message-ID: <9307130521.AA18312@oahu.cs.ucla.edu>
-
-#include <iostream.h>
-#include <assert.h>
-
-// --------------- Array.h && Array.cc ------------------
-
-const int ArraySize = 12;
-
-template <class Type>
-class Array { // ERROR - .struct Array_RC redecl.*
-friend class Array_RC;
-public:
- Array(const Type *ar, int sz) { init(ar,sz); }
- virtual ~Array() { delete [] ia; }
- virtual void print(ostream& = cout);
- virtual Type& operator[](int ix) { return ia[ix]; }
-private:
- void init(const Type*, int);
- int size; // ERROR - private
- int *ia; // ERROR - private
-};
-
-template <class Type>
-ostream& operator<<( ostream& os, Array<Type>& ar )
-{
- ar.print(os);
- return os;
-}
-
-template <class Type>
-void Array<Type>::print(ostream& os)
-{
- const int lineLength = 12;
-
- os << "( " << size << " )< ";
- for (int ix = 0; ix < size; ++ix) {
- if (ix % lineLength == 0 && ix) os << "\n\t";
- os << ia[ ix ];
-
- if (ix % lineLength != lineLength-1 &&
- ix != size-1)
- os << ", ";
- }
- os << " >\n";
-}
-
-template <class Type>
-void Array<Type>::init(const Type *array, int sz)
-{
- ia = new Type[size = sz];
-
- for (int ix = 0; ix < size; ++ix)
- ia[ix] = (array!=0) ? array[ix] : (Type)0;
-}
-
-// --------------- Array_RC.h && Array_RC.cc ----------------
-
-template <class Type>
-class Array_RC : public Array<Type> {// ERROR - previous declaration.*
-public:
- Array_RC(const Type *ar, int sz);
- Type& operator[](int ix);
-};
-
-template <class Type>
-Array_RC<Type>::Array_RC(const Type *ar, int sz) : Array<Type>(ar, sz) {}
-
-template <class Type>
-Type &Array_RC<Type>::operator[](int ix) {
- assert(ix >= 0 && ix < size);// ERROR - member .size.*
- return ia[ix];// ERROR - member .ia.*
-}
-
-// ------------------- Test routine ----------------------
-
-template <class Type>
-void try_array( Array<Type> &iA )
-{
- cout << "try_array: initial array values:\n";
- cout << iA << endl;
-}
-
-template <class Type>
-inline void
-try_array( Array_RC<Type> &rc )
-{
- try_array( ((Array<Type>&)rc) );
-}
-
-int main()
-{
- static int ia[10] = { 12, 7, 14, 9, 128, 17, 6, 3, 27, 5 };
- Array_RC<int> iA(ia, 10);// ERROR - instantiated from here
-
- cout << "template Array_RC class" << endl;
- try_array(iA);
-
- return 0;
-}
-
-template class Array_RC<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility14.C b/gcc/testsuite/g++.old-deja/g++.law/visibility14.C
deleted file mode 100644
index 7f2251bdf4b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility14.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: ajp@eng.cam.ac.uk
-// Date: Tue, 13 Jul 93 17:15:11 BST
-// Message-ID: <1171.9307131615@ace.eng.cam.ac.uk
-
-class A {
- static A* list;
-
- protected:
- struct AA {
- AA();
- ~AA();
- };
-};
-
-A::AA::~AA()
-{
- A* d=list;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility15.C b/gcc/testsuite/g++.old-deja/g++.law/visibility15.C
deleted file mode 100644
index 33fdb176e4a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility15.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: wpsun4!xinforms!johnjo@uunet.uu.net (John D. Johnson)
-// Date: Wed, 4 Aug 93 13:25:25 MDT
-// Subject: Access to private 'operator new()'
-// Message-ID: <9308041925.AA09825@xinforms.wpunix
-#include <stdio.h>
-#include <sys/types.h>
-
-class X {
-private:
- void* operator new(size_t) throw(){// ERROR - .*
- printf("Inside private new().\n");
- return NULL;
- }
-public:
- X() {}
-};
-
-
-int main(void)
-{
- X* p = new X;// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility16.C b/gcc/testsuite/g++.old-deja/g++.law/visibility16.C
deleted file mode 100644
index 5291d7c8961..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility16.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: Marie Trapp <Marie.Trapp@analog.com>
-// Date: Thu, 5 Aug 93 11:55:15 EDT
-// Subject: access of protected members
-// Message-ID: <9308051553.AA07639@nwd2sun1.analog.com>
-class A {
- protected:
- int astuff; // ERROR - protected
- A() {
- astuff = 3;
- }
-};
-
-class B : public A {
- int bstuff;
- public:
- B( A *p) {
- bstuff = p->astuff;// ERROR - .*
- }
-};
-
-class C : public A {
- int cstuff;
- public:
- C() {
- cstuff = 5;
- }
-};
-
-int main() {
- C cvar;
- B bvar(&cvar);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility17.C b/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
deleted file mode 100644
index 125bf00f067..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
+++ /dev/null
@@ -1,63 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: Sandeep Shroff <ss@caere.com>
-// Date: Thu, 05 Aug 1993 17:23:20 -0700
-// Subject: Access to private constructor.
-// Message-ID: <9308060023.AA10283@neptune.caere.com>
-#include <iostream.h>
-
-class Base
-{
-public:
- char* getName() {return name_;}
-
-private:
- Base();
- Base(char* str);
-
- char* name_;
-};
-
-class Derived : public Base
-{
-public:
- Derived(int n, char* str);
- Derived(int n);
-
- int getNum() {return num_;}
-private:
- int num_;
-};
-
-Base::Base()
-{ // ERROR - private
- name_ = strcpy(new char[strlen(" ") + 1], " ");
-}
-
-Base::Base(char* str)
-{ // ERROR - private
- if(str != NULL)
- name_ = strcpy(new char[strlen(str) + 1], str);
-}
-
-Derived::Derived(int n, char* str) : Base(str)
-{// ERROR - .*
- num_ = n;
-}
-
-Derived::Derived(int n) : Base()
-{// ERROR - .*
- num_ = n;
-}
-
-
-
-int main()
-{
- // Derived* d = new Derived(10, "test");
- Derived* d = new Derived(10);
-
- cerr << d->getNum() << "\t" << d->getName() << endl;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility18.C b/gcc/testsuite/g++.old-deja/g++.law/visibility18.C
deleted file mode 100644
index a1ec468f521..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility18.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: cmwang@iis.sinica.edu.tw (Chien-Min Wang)
-// Date: Fri, 6 Aug 93 19:42:31 CST
-// Subject: A bug in g++ 2.4.5
-// Message-ID: <9308061142.AA08533@iiserv>
-struct T1 { int i; };
-
-struct T2 { int j; }; // ERROR - private
-
-struct T3 : public T1, private T2 {
-} x;
-
-int main ()
-{
- x.i = 1;
- x.j = 2; // error: x.j is private// ERROR - .*
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility19.C b/gcc/testsuite/g++.old-deja/g++.law/visibility19.C
deleted file mode 100644
index 82a1dc5b79b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility19.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: mclaugh@tnt.acsys.com (Mark A. McLaughlin)
-// Date: Wed, 25 Aug 93 14:30:47 MDT
-// Subject: g++ bug
-// Message-ID: <9308252030.AA02352@tnt.acsys.com>
-class B {
-protected:
- int i; // ERROR - protected
-};
-
-class D1 : public B {
-};
-
-class D2 : public B {
- friend void fr(B*,D1*,D2*);
- void mem(B*,D1*);
-};
-
-void fr(B* pb, D1* p1, D2* p2)
-{
- pb->i = 1; // illegal// ERROR - .*
- p1->i = 2; // illegal// ERROR - .*
- p2->i = 3; // ok (access through D2)
-}
-
-void D2::mem(B* pb, D1* p1)
-{
- pb->i = 1; // illegal// ERROR - .*
- p1->i = 2; // illegal// ERROR - .*
- i = 3; // ok (access through `this')
-}
-
-void g(B* pb, D1* p1, D2* p2)
-{
- pb->i = 1; // illegal// ERROR - .*
- p1->i = 2; // illegal// ERROR - .*
- p2->i = 3; // illegal// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility2.C b/gcc/testsuite/g++.old-deja/g++.law/visibility2.C
deleted file mode 100644
index 5806fc564b7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility2.C
+++ /dev/null
@@ -1,68 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-#include <iostream.h>
-
-
-
-class base {
-//==========
-
- void base_priv(char * n)
- { cout << "base_priv called from: " << n << "\n"; };
-
-protected:
-
- void base_prot(char * n)
- { cout << "base_prot called from: " << n << "\n"; };
-
-public:
-
- void base_publ(char * n)
- { cout << "base_publ called from: " << n << "\n"; };
-
- void test(char * n) { base_publ(n); base_prot(n); base_priv(n); }
-
-}; // class base
-
-
-
-class derived : public base { // Make this public,
-//============================ // and we don't get an error
-
-friend void derived_friend();
-
-public :
-
- void test(char * n) { base_publ(n); base_prot(n);}
-
-}; // class derived
-
-
-
-void
-derived_friend()
-//--------------
-{
- derived pd;
-
- pd.base_publ("friend of derived class"); // Compiler error here
- pd.base_prot("friend of derived class");
-}
-
-
-
-int main(int argc, char *argv[])
-//==========================
-{
- base b;
- b.base_publ("base class object");
- b.test("member of base class object");
- cout << "\n";
-
- derived pd;
- pd.test("member of derived class object");
- derived_friend();
- cout << "\n";
-
-} /* main */
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility20.C b/gcc/testsuite/g++.old-deja/g++.law/visibility20.C
deleted file mode 100644
index 82ecaee4d34..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility20.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott)
-// Date: Tue, 10 Aug 93 10:06:33 PDT
-// Subject: G++ 2.4.5 allows access to protected base members
-// Message-ID: <9308101706.AA04485@foxtrot.ccmrc.ucsb.edu>
-
-class Base {
-protected:
- void protectedBaseFunction() {} // ERROR - protected
-public:
- Base() {}
-};
-
-
-class Derived : public Base {
-public:
- Derived() {}
- void noticeThisFunction(Base *);
-};
-
-
-void
-Derived::noticeThisFunction(Base *b) {
- b->protectedBaseFunction(); // ARM says this is not allowed// ERROR - .*
- // since it is not called on 'this'
-}
-
-int main() {
- Base b;
- Derived d;
- d.noticeThisFunction(&b);
- printf("gpptest run\n");// ERROR - .*
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility21.C b/gcc/testsuite/g++.old-deja/g++.law/visibility21.C
deleted file mode 100644
index 845854029bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility21.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: klamer@mi.el.utwente.nl (Klamer Schutte)
-// Date: Thu, 12 Aug 93 12:03:09 +0200
-// Subject: g++ 2.4.5 failed to report a bug
-// Message-ID: <9308121003.AA02294@mi.el.utwente.nl>
-class A {
-protected:
- void foo(); // ERROR - protected
-};
-
-class B : public A
-{
- void bar(A &a)
- { a.foo(); }// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility22.C b/gcc/testsuite/g++.old-deja/g++.law/visibility22.C
deleted file mode 100644
index a9448c07fee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility22.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: Robert Carden <carden@thoth.ics.uci.edu>
-// Date: Thu, 12 Aug 1993 13:48:05 -0700
-// Subject: bug 8/12/93 -- #5
-// Message-ID: <9308121348.aa26256@Paris.ics.uci.edu>
-
-// 5.cc
-#include <stream.h>
-
-class A {
- int x;
-public:
- void f(int);
- void f(float);
- void g(void *);
-};
-
-class B : private A {
-protected:
- A::f;
-public:
- A::g;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility24.C b/gcc/testsuite/g++.old-deja/g++.law/visibility24.C
deleted file mode 100644
index dab2148cc64..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility24.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: joe@consolve.com (Joe Shapiro)
-// Date: Fri, 20 Aug 93 17:18:18 EDT
-// Subject: Template classes seem to allow users to get at private members
-// Message-ID: <9308202118.AA25599@ghana.consolve>
-/*
- * private.cc
- */
-extern "C" void printf(...);
-
-template <class T>
-class A
-{
-public:
- void Fun() { printf( "Fun fun fun!\n" ); } // ERROR - private
-};
-
-
-template <class T>
-class B: private A<T>
-{
-};
-
-
-class C
-{
-public:
- C() { _b.Fun(); }// ERROR - .*
-
-private:
- B<int> _b;
-};
-
-
-int main()
-{
- C c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility25.C b/gcc/testsuite/g++.old-deja/g++.law/visibility25.C
deleted file mode 100644
index 76ca8d8b402..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility25.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
-// Date: Wed, 17 Nov 93 21:30:32 EST
-// Subject: gcc 2.5.3 - can't privately inherit and contain same class
-// Message-ID: <9311171030.AA00604@mencon>
-#include <iostream.h>
-
-class A {
-public:
- A(void);
-};
-
-class B : private A {
-public:
- B(void) : A() {}
-};
-
-class C : public B {
-public:
- C(void) : B(), a() {}
-
-private:
- A a;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility26.C b/gcc/testsuite/g++.old-deja/g++.law/visibility26.C
deleted file mode 100644
index 54fc43e2053..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility26.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: jamshid@ses.com (Jamshid Afshar)
-// Date: Sun, 12 Dec 93 03:09:15 CST
-// Subject: Missed access declaration error
-// Message-ID: <9312120909.AA22135@ses.com>
-
-class X {
- public:
- void f();
-};
-
-class Y : private X {
- public:
- void f(int);// ERROR - because.*
- X::f; // g++ 2.5.5 doesn't flag this misuse
-};// ERROR - cannot adjust.*
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility27.C b/gcc/testsuite/g++.old-deja/g++.law/visibility27.C
deleted file mode 100644
index 4092624f712..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility27.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: jbuck@synopsys.com (Joe Buck)
-// Date: 3 Aug 1994 01:52:04 GMT
-// Subject: 2.6.0 bug with protected members and virtual baseclasses
-// Message-ID: <31mt84$lfq@hermes.synopsys.com>
-
-struct R {
-protected:
- virtual void foo();
-};
-
-struct A : public R {
-};
-
-struct B : virtual public A {
- void bletch() { foo();}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility28.C b/gcc/testsuite/g++.old-deja/g++.law/visibility28.C
deleted file mode 100644
index e92c299960f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility28.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-extern "C" int printf( const char *, ...);
-
-class B {
-public:
- B() { };
- virtual ~B() { printf( "B::~B\n"); };
-};
-
-class D : public B {
-public:
- virtual ~D() { printf( "D::~D\n"); };
- void operator = ( int i) { this->~B(); }// ERROR - D has no ~B part to it
-};
-
-int
-main()
-{
- D * pd = new D;
- B * pb = pd;
- delete pb;
- return 0;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility3.C b/gcc/testsuite/g++.old-deja/g++.law/visibility3.C
deleted file mode 100644
index 1e02a4bd9e5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility3.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: kol@world.std.com (Nikolay Yatsenko)
-// Date: Wed, 27 Jan 1993 16:39:00 -0500
-// Subject: g++ bug
-// Message-ID: <199301272139.AA25442@world.std.com>
-
-int x;
-
-int main(void)
-{
- static int s;
- int x; // ERROR - declared
- extern int g();
-
- struct local {
- int g() { return x; } // illegal (non-static x); g++ does not give error// ERROR -
- int h() { return s; } // ok, but g++ give error
- };
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility4.C b/gcc/testsuite/g++.old-deja/g++.law/visibility4.C
deleted file mode 100644
index 2d7079eed2b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility4.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: dcb@us-es.sel.de (David Binderman 3841)
-// Date: Tue, 30 Mar 93 15:48:47 +0200
-// Subject: page 242 of the ARM
-// Message-ID: <9303301348.AA20751@slsvitt>
-
-class A {
-public:
- int b; // ERROR - private
-};
-
-class C : private A { // NOTE WELL. private, not public
-public:
- int d;
-};
-
-extern "C" int printf( const char *, ...);
-
-class E : public C {
- void f() {
- printf( "%d\n", b);// ERROR - .*
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility5.C b/gcc/testsuite/g++.old-deja/g++.law/visibility5.C
deleted file mode 100644
index a68e360026d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility5.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-
-class a {
-
-private:
- a (int i);// ERROR - .*
-
-public:
- a ();
-};
-
-void test ()
-{
- a *ap = new a;
- a *ap2 = new a (3);// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility6.C b/gcc/testsuite/g++.old-deja/g++.law/visibility6.C
deleted file mode 100644
index 7e8b7c744f8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility6.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: Rob Hasker <hasker@sparc0a.cs.uiuc.edu>
-// Date: Sat, 3 Apr 1993 13:19:05 -0600
-// Subject: no privacy
-// Message-ID: <199304031919.AA20554@sparc17.cs.uiuc.edu
-class Top {
-public:
- Top() {}
- void val() {} // ERROR - private base class
-};
-
-class Derived : private Top {
-public:
- Derived() {}
-};
-
-class Unrelated {
- Derived derived;
-public:
- void oops() { derived.val(); }// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility7.C b/gcc/testsuite/g++.old-deja/g++.law/visibility7.C
deleted file mode 100644
index 764da35d9db..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility7.C
+++ /dev/null
@@ -1,71 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: Gordon Joly <G.Joly@cs.ucl.ac.uk>
-// Date: Wed, 21 Apr 93 09:42:07 +0100
-// Subject: /*** BUG REPORT : THE MYTH OF PRIVATE INHERITANCE ***/
-// Message-ID: <9304210842.AA01815@life.ai.mit.edu>
-#include <iostream.h>
-
-class A {
- private:
- int number;
- public:
- A(int i) : number(i)
- {}
- virtual ~A()
- {}
- virtual void Number(int c)
- { number = c; } // ERROR - private
- virtual int Number()
- { return number; } // ERROR - private
-};
-
-class B : private A {
- private:
- int second_number;
- public:
- B(int c, int i) : second_number(c), A(i)
- {}
- virtual ~B()
- {}
-
- virtual void firstNumber(int b) // renames member function Number(int) of class A
- { A::Number(b); }
- virtual int firstNumber() // renames member function Number() of class A
- { return A::Number(); }
-};
-
-
-
-
-class C {
- private:
- B* bobject;
- public:
- C(B* bp) : bobject(bp)
- {}
- virtual ~C()
- {}
- //
- // the following two functions access
- // private member functions of class B
- // and they should not be able to do so
- //
- virtual void setBValue(int i)
- { if (bobject) bobject->Number(i); }// ERROR - .*
- virtual int getBValue()
- { if (bobject) { return bobject->Number(); } return 0; }// ERROR - .*
-};
-
-
-int main()
-{
- B* bobject = new B(2, 1);
- C* cobject = new C(bobject);
- cobject->setBValue(8);
- cout << cobject->getBValue() << endl;
- delete bobject;
- delete cobject;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility8.C b/gcc/testsuite/g++.old-deja/g++.law/visibility8.C
deleted file mode 100644
index 8b36e804312..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility8.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// From: roland@jts.com (Roland Knight )
-// Date: Thu, 29 Apr 1993 16:17:00 -0400
-// Subject: gcc 2.3.3 bug
-// Message-ID: <m0nof3E-0021ifC@jts.com
-class t1 {
-protected:
- int a; // ERROR - protected
-};
-
-
-class t2 : private t1 {
-public:
- int b;
-};
-
-
-class t3 : public t2 {
-public:
- int ttt();
-};
-
-
-int t3::ttt() { return a; }// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility9.C b/gcc/testsuite/g++.old-deja/g++.law/visibility9.C
deleted file mode 100644
index 4b0ab333be0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility9.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed visibility
-// visibility file
-// rom: roland@jts.com (Roland Knight )
-// Date: Sat, 8 May 1993 17:27:35 -0400
-// Subject: gcc 2.3.3 protected member access bug
-// Message-ID: <9305082127.AA19577@icepick.jts.com>
-
-class A {
-protected:
- int a; // ERROR - protected
-};
-
-class B : public A {
-public:
- void f1(A* pa);
-};
-
-
-void B::f1(A* pa) {
- pa->a = 1; // illegal but allowed by gcc// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/vtable1.C b/gcc/testsuite/g++.old-deja/g++.law/vtable1.C
deleted file mode 100644
index 32a546a2827..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/vtable1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w
-// GROUPS passed vtable
-// vtable file
-// From: mrs@cygnus.com (Mike Stump)
-// Date: Wed, 20 Apr 1994 17:46:11 -0700
-// Subject: vtable name generation is wrong
-// Message-ID: <199404210046.RAA25652@rtl.cygnus.com>
-
-// prepare_fresh_vtable doesn't build the names of
-// vtables very well.
-
-struct B {
- virtual void vf() { }
-};
-
-struct Main {
- virtual void vf() { }
-};
-
-struct Other : public Main, public B {
- virtual void vf() { }
-};
-
-struct D : public Main, public B, public Other {
- virtual void vf() { }
-} a;
diff --git a/gcc/testsuite/g++.old-deja/g++.law/vtable2.C b/gcc/testsuite/g++.old-deja/g++.law/vtable2.C
deleted file mode 100644
index bbc8074de91..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/vtable2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fvtable-thunks
-// GROUPS passed vtable
-struct C1
-{
- virtual ~C1();
-};
-
-struct C2 : public virtual C1
-{
- virtual ~C2();
-};
-
-struct C3 : public virtual C2
-{
- virtual ~C3();
-};
-
-C3::~C3() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/vtable3.C b/gcc/testsuite/g++.old-deja/g++.law/vtable3.C
deleted file mode 100644
index 9a6e4a28508..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/vtable3.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// GROUPS passed vtable
-// vtable file
-// From: Pete Bevin <pete@deng.icl.co.uk>
-// Date: Mon, 28 Nov 1994 19:57:53 +0000 (GMT)
-// Subject: g++-2.6.2: Virtual inheritance causes incorrect padding
-// Message-ID: <Pine.SOL.3.91.941128194453.7510A-100000@gabriel>
-
-extern "C" void printf (char *, ...);
-
-struct A {
-};
-
-
-struct B : virtual A {
- public:
- int b;
-};
-
-
-int main()
-{
- B blist[10];
- printf ("PASS\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/weak.C b/gcc/testsuite/g++.old-deja/g++.law/weak.C
deleted file mode 100644
index 98465acf9b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.law/weak.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: g++ fails to instantiate operator<<.
-// Build don't run:
-// Special g++ Options: -static
-// Skip if not target: i?86-*-linux*
-
-// libc-5.4.xx has __IO_putc in its static C library, which can conflict
-// with the copy of __IO_putc in the libstdc++ library built by egcs.
-#include <iostream.h>
-#include <streambuf.h>
-
-istream x;
-extern "C" int putc(), fgets();
-
-main () {
- x.get();
- putc();
- fgets();
- x.gets(0, 0);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/access1.C b/gcc/testsuite/g++.old-deja/g++.martin/access1.C
deleted file mode 100644
index a4e0f63168d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/access1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-class A{
- public:
- enum Foo{f1,f2};
-
- class B{
- friend class A;
- Foo f;
- public:
- B():f(f1){}
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/ambig1.C b/gcc/testsuite/g++.old-deja/g++.martin/ambig1.C
deleted file mode 100644
index 9886991e29b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/ambig1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-//Build don't link:
-//Based on a report by Bill Currie <bcurrie@tssc.co.nz>
-struct foo {
- protected:
- int x; // ERROR - candidate
-};
-
-struct bar {
- public:
- int x(); // ERROR - candidate
-};
-
-struct foobar: public foo, public bar {
- foobar();
-};
-
-int func(int);
-
-foobar::foobar()
-{
- func(x); // ERROR - ambiguous member access
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/conv1.C b/gcc/testsuite/g++.old-deja/g++.martin/conv1.C
deleted file mode 100644
index 0227800d3cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/conv1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-struct S{
- operator bool()
- {
- return true;
- }
-};
-
-int main()
-{
- S a;
- if (S &b = a);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/lookup1.C b/gcc/testsuite/g++.old-deja/g++.martin/lookup1.C
deleted file mode 100644
index d45a02e0ec3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/lookup1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-//Build don't link:
-//In the base class list, the context of the current is used
-//reported by Stephen Vavasis <vavasis@CS.Cornell.EDU>
-
-namespace N1 {
- namespace N2 {
- class A{};
- class B;
- }
-}
-
-class N1::N2::B : public A {
-};
-
-
-class C1 {
- class A{};
- class B;
-};
-
-class C1::B : A {
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/new1.C b/gcc/testsuite/g++.old-deja/g++.martin/new1.C
deleted file mode 100644
index 835b42659b8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/new1.C
+++ /dev/null
@@ -1,121 +0,0 @@
-//Lifetime of temporaries:
-//egcs 2.92 performs cleanup for temporaries inside new expressions
-//after the new is complete, not at the end of the full expression.
-
-#include <new>
-#include <cstdlib>
-#include <cstdio>
-
-bool new_throws;
-bool ctor_throws;
-
-int new_done;
-int ctor_done;
-int func_done;
-int dtor_done;
-int delete_done;
-
-int count;
-
-void init()
-{
- new_throws = ctor_throws = false;
- new_done = ctor_done = func_done = dtor_done = delete_done = count = 0;
-}
-
-struct line_error{
- int line;
- line_error(int i):line(i){}
-};
-
-#define CHECK(cond) if(!(cond))throw std::line_error(__LINE__);
-
-struct A{
- A(int){
- ctor_done = ++count;
- if(ctor_throws)
- throw 1;
- }
- A(const A&){
- CHECK(false); //no copy constructors in this code
- }
- ~A(){
- dtor_done = ++count;
- }
- A* addr(){return this;}
-};
-
-struct B{
- B(A*){}
- void* operator new(size_t s){
- new_done = ++count;
- if(new_throws)
- throw 1;
- return malloc(s);
- }
- void operator delete(void *){
- delete_done = ++count;
- }
-};
-
-void func(B* )
-{
- func_done = ++count;
-}
-
-void test1()
-{
- init();
- try{
- func(new B(A(10).addr()));
- }catch(int){
- }
- CHECK(new_done==1);
- CHECK(ctor_done==2);
- CHECK(func_done==3);
- CHECK(dtor_done==4);
- CHECK(delete_done==0);
-}
-
-void test2()
-{
- init();
- new_throws = true;
- try{
- func(new B(A(10).addr()));
- }catch(int){
- }
- CHECK(new_done==1);
- CHECK(ctor_done==0);
- CHECK(func_done==0);
- CHECK(dtor_done==0);
- CHECK(delete_done==0);
-}
-
-void test3()
-{
- init();
- ctor_throws = true;
- try{
- func(new B(A(10).addr()));
- }catch(int){
- }
- CHECK(new_done==1);
- CHECK(ctor_done==2);
- CHECK(func_done==0);
- CHECK(dtor_done==0);
- CHECK(delete_done==3);
-}
-
-int main()
-{
- try{
- test1();
- test2();
- test3();
- }catch(line_error e){
- printf("Got error in line %d\n",e.line);
- return 1;
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/overload1.C b/gcc/testsuite/g++.old-deja/g++.martin/overload1.C
deleted file mode 100644
index 8464fba6f9b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/overload1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-//Overload resolution should consider both declarations of func identically.
-
-struct S{};
-void func(S&){}
-
-int main()
-{
- void func(S&);
- S s;
- func(s);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/sts_conv.C b/gcc/testsuite/g++.old-deja/g++.martin/sts_conv.C
deleted file mode 100644
index 7717561c5cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/sts_conv.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// ecgs-bugs 1999-02-22 14:21, Stefan Schwarzer
-// sts@ica1.uni-stuttgart.de
-// this code should compile quietly
-
-class CArray
-{
-public:
- operator double* (){ return a; }
- // works if we comment this line:
- operator double* () const { return const_cast<double *>(a); }
-private:
- double a[2];
-};
-
-int main(){
- CArray a;
- double *pa = a + 1; // gets bogus error - should convert
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/sts_iarr.C b/gcc/testsuite/g++.old-deja/g++.martin/sts_iarr.C
deleted file mode 100644
index a2b63b82a3c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/sts_iarr.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// egcs-bugs 999-02-22 14:26 Stefan Schwarzer
-// sts@ica1.uni-stuttgart.de
-// should compile and return 0
-
-template <int N>
-struct Outer{
- struct Inner{
- Inner(int n): sum(n){}
-
- typename Outer<N-1>::Inner operator[](int n) const
- { return typename Outer<N-1>::Inner(sum + n); }
-
- int sum;
- };
-
- typename Outer<N-1>::Inner operator[](int n) const
- { return typename Outer<N-1>::Inner(n); }
-};
-
-
-// specializations for N==1
-template<>
-struct Outer<1> {
- struct Inner {
- Inner(int n): sum(n){}
-
- int operator[](int n) const
- { return sum+n; }
-
- int sum;
- };
-
- int operator[](int n) const
- { return n; }
-};
-
-
-int main()
-{
- Outer<1> sum1;
- //std::cout << sum1[1] << "\n";
- Outer<2> sum2;
- //std::cout << sum2[1][1] << "\n";
- return sum1[1] + sum2[1][1] - 3;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/sts_partial.C b/gcc/testsuite/g++.old-deja/g++.martin/sts_partial.C
deleted file mode 100644
index c2dc9411b54..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/sts_partial.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// excess errors test - XFAIL
-// ecgs-bugs 1999-02-22 14:26 Stefan Schwarzer
-// sts@ica1.uni-stuttgart.de
-// partial ordering problem in egcs <= 1.1.1
-
-template<class T>
-int f(T &){ return 1; }
-
-template<class T>
-int f( T[] ){ return 0; }
-
-int main(){
- int d[] ={2};
- return f(d);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/sts_vectini.C b/gcc/testsuite/g++.old-deja/g++.martin/sts_vectini.C
deleted file mode 100644
index 56f7a1c6a5e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/sts_vectini.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// Special g++ Options: -O2
-// egcs-bugs 1999-02-22 14:24 Stefan Schwarzer
-// sts@ica1.uni-stuttgart.de
-// optimizer problem in egcs <= 1.1.1
-
-struct XTVec{
- XTVec(){x[0]=x[1] =x[2] =0;}
- XTVec(int ax,int y=0.,int z=0.){x[0]=ax;x[1]=y; x[2]=z; }
- int& operator[](int);
-
- int x[3];
-};
-
-inline
-int & XTVec::operator[](int i){
- return x[i];
-}
-
-inline
-XTVec& operator+=(XTVec& lhs, XTVec& rhs){
- lhs[0]+=rhs[0];
- lhs[1]+=rhs[1];
- lhs[2]+=rhs[2];
- return lhs;
-}
-
-inline
-XTVec operator+(XTVec& lhs, XTVec& rhs){
- XTVec result(lhs);
- return result += rhs;
-}
-
-int main()
-{
- XTVec ur(4.,0.,1.);
- XTVec ll(0.,2.,0.);
- XTVec initsum(ur + ll);
-
- // sum of components should be 7
- return (initsum[0] + initsum[1] + initsum[2] - 7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/typedef1.C b/gcc/testsuite/g++.old-deja/g++.martin/typedef1.C
deleted file mode 100644
index b1561f21da5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/typedef1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 31 Mar 1999 <nathan@acm.org>
-
-// Make sure we see through typedefs.
-
-typedef int Int;
-
-void fn()
-{
- int *p;
- Int *&pr2 = p;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/typedef2.C b/gcc/testsuite/g++.old-deja/g++.martin/typedef2.C
deleted file mode 100644
index b9bbcb537c9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.martin/typedef2.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Testcase from Alexander Zvyagin <zvyagin@mx.ihep.su>
-// Check implicit conversion from string constants into typedefs
-
-typedef char CHAR;
-void f2(CHAR *s="");
-
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/.cvsignore b/gcc/testsuite/g++.old-deja/g++.mike/.cvsignore
deleted file mode 100644
index 7abff1dbead..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-config.status
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/align1.C b/gcc/testsuite/g++.old-deja/g++.mike/align1.C
deleted file mode 100644
index df6faa6ed01..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/align1.C
+++ /dev/null
@@ -1,56 +0,0 @@
-// Check to make sure we align virtual base classes properly
-
-class eel_base {
-public:
-};
-
-class markable_eel_base : public eel_base {
-private:
- int mark;
-};
-
-class eel_edge : public markable_eel_base {
-public:
-private:
- int foo;
-};
-
-class edge : public virtual eel_edge {
-public:
- edge() {
- _weight = 0.0;
- }
-private:
- double _weight;
-};
-class eel_branch_edge : public virtual edge {
-};
-class branch_edge : public eel_branch_edge {
-};
-
-class eel_interproc_branch_edge : public branch_edge {
-};
-
-class interproc_edge : public virtual edge {
-};
-
-class eel_jump_edge : public virtual edge {
-protected:
-};
-
-class jump_edge : public eel_jump_edge {
-public:
-};
-
-class eel_interproc_jump_edge : public jump_edge {
-protected:
-};
-
-class interproc_jump_edge : public eel_interproc_jump_edge,
- public interproc_edge {
-public:
-};
-
-int main () {
- void *vp = new interproc_jump_edge();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/align2.C b/gcc/testsuite/g++.old-deja/g++.mike/align2.C
deleted file mode 100644
index 758e43cdda6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/align2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-class Foo {
-};
-
-class Bar : virtual Foo {
-public:
- int b;
-} x;
-
-int main()
-{
- // printf("Foo offset %d\n", (int)(Foo*)&x - (int)&x);
- // printf("b offset %d\n", (int)&x.b - (int)&x);
- // printf("sizeof is %d\n", sizeof(Bar));
- // This core dumps on a SPARC is alignment is wrong.
- Bar blist[10];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ambig1.C b/gcc/testsuite/g++.old-deja/g++.mike/ambig1.C
deleted file mode 100644
index 4552791ad5e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ambig1.C
+++ /dev/null
@@ -1,32 +0,0 @@
-extern "C" int printf(const char *, ...);
-
-struct VB {
- virtual void f() {
- printf("VB\n");
- }
-};
-
-class M : public virtual VB {
-public:
- int i;
- void f() {
- printf("M(%d)\n", i);
- }
-};
-
-class lM : public M {
-};
-
-class rM : public M {
-};
-
-class D : public lM, rM {
-} d; // ERROR - ambiguous function
-
-int main() {
- ((lM*)&d)->i = 1;
- ((rM*)&d)->i = 2;
- ((rM*)&d)->f();
- ((lM*)&d)->f();
- ((VB*)&d)->f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/asm1.C b/gcc/testsuite/g++.old-deja/g++.mike/asm1.C
deleted file mode 100644
index f6c4fe5feff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/asm1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-struct A {
- static void foo() asm("_my_routine");
-};
-
-void A::foo() {
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/asm2.C b/gcc/testsuite/g++.old-deja/g++.mike/asm2.C
deleted file mode 100644
index 59771d6c6a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/asm2.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Compile with -S, there should be no references to
-// LTRAMP in the output.
-
-extern "C"
-{
- int printf (char *, ...);
-}
-
-void
-sub2 (void (*func) ())
-{
- (*func) ();
-}
-
-int
-main(void)
-{
- extern void sub (void);
-
- sub2 (sub);
-}
-
-void
-sub (void)
-{
- printf ("hello world\n");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/bool1.C b/gcc/testsuite/g++.old-deja/g++.mike/bool1.C
deleted file mode 100644
index c8ff0e8416a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/bool1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// bool test case
-
-// Build don't link:
-
-void foo(int i) {
- foo (true);
-}
-
-struct C {
- void foo(int i) {
- foo(true);
- }
- void bar(bool b) {
- bar(0);
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/bool2.C b/gcc/testsuite/g++.old-deja/g++.mike/bool2.C
deleted file mode 100644
index ce2a1f86024..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/bool2.C
+++ /dev/null
@@ -1,57 +0,0 @@
-// Special g++ Options:
-class A {
-public:
- operator bool () {
- return true;
- }
-} a;
-class A1 {
-public:
- operator int () {
- return true;
- }
-} a1;
-class A2 {
-public:
- operator char * () {
- return "";
- }
-} a2;
-class A3 {
-public:
- operator unsigned long long int () {
- return true;
- }
-} a3;
-class A4 {
-public:
- operator char * () {
- return "";
- }
- operator unsigned long long int () {
- return true;
- }
-} a4;
-class A5 {
-public:
- operator double () {
- return 256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0
- *256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0
- *256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0
- *256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0;
- }
-} a5;
-int i = true;
-bool b = true;
-bool c = (bool)(void (A::*)())0;
-bool d = 256;
-main() {
- if (!d) return 1;
- if (!a) return 1;
- if (!(bool)a) return 1;
- // if (!(long long)a) return 1;
- if (!a1) return 1;
- if (!a2) return 1;
- if (!a3) return 1;
- if (!a5) return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/bool4.C b/gcc/testsuite/g++.old-deja/g++.mike/bool4.C
deleted file mode 100644
index 96e4a6c2a52..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/bool4.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-
-void foo(bool arg = (1==0)) {}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/conv1.C b/gcc/testsuite/g++.old-deja/g++.mike/conv1.C
deleted file mode 100644
index 468bc423130..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/conv1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-enum E { C };
-
-E foo() {
- return C;
-}
-
-int main() {
- if (foo() != C)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/debug1.C b/gcc/testsuite/g++.old-deja/g++.mike/debug1.C
deleted file mode 100644
index 9f7bc39a3ba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/debug1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -g -O -fkeep-inline-functions
-
-class c {
-public:
- ~c () { };
-};
-
-int
-foo (const c& lhs)
-{
- c str (lhs);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast1.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast1.C
deleted file mode 100644
index 3bddb3ce1e4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Special g++ Options: -fexceptions -w
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe
-
-#include <typeinfo>
-
-struct B {
- virtual int f() { }
-};
-
-struct D {
- virtual int f() { }
-};
-
-main() {
- B b;
- try {
- (void)dynamic_cast<D&>(b);
- } catch (std::bad_cast) {
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast2.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast2.C
deleted file mode 100644
index fcf625e8c69..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast2.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Special g++ Options: -fexceptions -w
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe
-
-// Ensure reference handling works.
-
-#include <typeinfo>
-
-struct B {
- virtual int f() { }
-} ob;
-
-struct D : public B {
- virtual int f() { }
-} od;
-
-main() {
- B *b=&ob;
- try {
- void *vp = &dynamic_cast<D&>(*b);
- return 1;
- } catch (std::bad_cast) {
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast3.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast3.C
deleted file mode 100644
index 627a7da23b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Special g++ Options: -fexceptions -w
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-// Ensure that the return type of dynamic_cast is the real type.
-
-struct B {
- virtual int f() { }
-};
-
-struct D : public B {
- virtual int f() { }
- int i;
-} od;
-
-main() {
- B *b=&od;
- if (dynamic_cast<D*>(b)->i)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast4.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast4.C
deleted file mode 100644
index 43cb6ef5292..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast4.C
+++ /dev/null
@@ -1,4 +0,0 @@
-int main() {
- int* d;
- dynamic_cast<void*>(d); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast5.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast5.C
deleted file mode 100644
index f46d81e4935..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast5.C
+++ /dev/null
@@ -1,71 +0,0 @@
-#include <stddef.h>
-
-void *p;
-int fail;
-
-class HeapTracked {
-public:
- virtual ~HeapTracked() = 0;
- void *operator new(size_t size);
- void operator delete(void *ptr);
- static bool isObjectAllocation(const HeapTracked *ptr);
-};
-
-HeapTracked::~HeapTracked(){}
-void * HeapTracked::operator new(size_t size)
-{
- void * memPtr = ::operator new(size);
- p = memPtr;
- return memPtr;
-}
-
-void HeapTracked::operator delete(void *ptr)
-{
- if (p != ptr)
- fail = 1;
- ::operator delete(ptr);
-}
-
-bool HeapTracked::isObjectAllocation(const HeapTracked *ptr)
-{
- if (p != const_cast<void*>(dynamic_cast<const void*>(ptr)))
- fail = 1;
- return false;
-}
-
-class Mumble1: public virtual HeapTracked {
- double d;
-public:
- virtual ~Mumble1(){}
-};
-
-class Mumble2: public virtual HeapTracked {
- double d;
-public:
- virtual ~Mumble2(){}
-};
-
-class Foo: virtual public HeapTracked,
- virtual public Mumble1,
- virtual public Mumble2 {
-public:
- ~Foo(){}
-};
-
-int main()
-{
- Foo *pf = new Foo;
- pf->isObjectAllocation(pf);
-
- Mumble1 *pm1 = pf;
- pm1->isObjectAllocation(pm1);
-
- Mumble2 *pm2 = pf;
- pm2->isObjectAllocation(pm2);
-
- // delete pf;
- // delete pm1;
- delete pm2;
-
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast6.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast6.C
deleted file mode 100644
index 546561dda50..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast6.C
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <typeinfo>
-
-class A {
-public:
- virtual void j () {}
-};
-
-class B : public A { };
-
-void x (A& a) {
- const B& b1 = dynamic_cast<B&>((const A&)a); // ERROR - opps
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C
deleted file mode 100644
index b1a55a43592..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Special g++ Options: -fexceptions
-
-#include <typeinfo>
-#include <stdexcept>
-
-class A {
-public:
- virtual void j () {}
-};
-
-class B : public A { };
-
-void x (A& a) {
- // These should all work.
- const B& b2 = dynamic_cast<B&>(a);
- const B& b3 = dynamic_cast<const B&>((const A&)a);
- const B& b4 = dynamic_cast<const B&>(a);
-}
-
-int main() {
- try {
- B b;
- x (b);
- } catch (std::exception& e) {
- // If we get a bad_cast, it is wrong.
- return 1;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast8.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast8.C
deleted file mode 100644
index 5addfe07e73..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast8.C
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <typeinfo>
-
-class Base
-{
-public:
- virtual ~Base() { }
-};
-
-class Derived : public Base { };
-
-int main()
-{
- const Derived b;
- const Base* ap = &b;
-
- const Derived* p1 = dynamic_cast<const Derived*>(ap);
- return p1 == 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast9.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast9.C
deleted file mode 100644
index 23db8c912bc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast9.C
+++ /dev/null
@@ -1,16 +0,0 @@
-class S1 { int i; };
-class S2 { int i; };
-class VB {
-public:
- virtual void foo() { }
-};
-
-class D : public S1, virtual public VB {
-} d;
-
-class E : public S2, public D {
-} e;
-
-int main() {
- return (char *)&e - (char *)dynamic_cast<E*>((D*)&e);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh1.C b/gcc/testsuite/g++.old-deja/g++.mike/eh1.C
deleted file mode 100644
index 95da594c2fc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh1.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions -O -S
-
-extern "C" void printf (char *, ...);
-extern "C" int atoi (const char *);
-extern "C" void exit (int);
-
-struct Exception
- {
- int v;
- Exception(int i) { v = i; };
- };
-
- void inc(int &i)
- {
- try {
- if (i == 0)
- throw Exception(i);
- else
- i++;
- }
- catch (Exception v) {
- i = v.v;
- }
- }
-
-main (int argc, const char *argv[])
-{
- if (argc != 2)
- {
- printf ("usage: a.out <num>\n");
- exit (1);
- }
- int count = atoi (argv[1]);
- inc (count);
- printf ("success\n");
- exit (0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh10.C b/gcc/testsuite/g++.old-deja/g++.mike/eh10.C
deleted file mode 100644
index 2541f2799c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh10.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-void foo() {
- int i;
- i = 42;
- throw i;
-}
-
-void ee(int *);
-
-void bar() {
- int i = 2;
- ee(&i);
-}
-
-void ee(int *) { }
-
-main() {
- try {
- foo();
- return 3;
- } catch (int& i) {
- bar();
- return i != 42;
- }
- return 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh11.C b/gcc/testsuite/g++.old-deja/g++.mike/eh11.C
deleted file mode 100644
index 781521f8fee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh11.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Special g++ Options: -fexceptions
-// Build don't link:
-
-struct A {
- ~A();
-};
-
-int main(int argc, char** argv) {
- A a;
- return 0;
-}
-
-
-A::~A() {
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh12.C b/gcc/testsuite/g++.old-deja/g++.mike/eh12.C
deleted file mode 100644
index 1a42e52c82c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh12.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-class MyError { };
-
-int main (int argc, char **argv) {
- try {
- throw MyError();
- }
- catch (MyError x) {
- }
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh13.C b/gcc/testsuite/g++.old-deja/g++.mike/eh13.C
deleted file mode 100644
index 841202f349c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh13.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sh-*-* arm-*-pe**-*
-
-#include <string>
-
-main() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh14.C b/gcc/testsuite/g++.old-deja/g++.mike/eh14.C
deleted file mode 100644
index e7c321397a2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh14.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-class arghh {
-public:
- int n;
- arghh (int v) { n = v; }
-};
-
-int main () {
- try {
- throw arghh (11);
- }
- catch (arghh& a) {
- if (a.n != 11)
- return 1;
- }
- try {
- throw arghh (22);
- }
- catch (arghh& a) {
- if (a.n != 22)
- return 2;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh15.C b/gcc/testsuite/g++.old-deja/g++.mike/eh15.C
deleted file mode 100644
index 9ed673fc87d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh15.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-
-struct A {
- A() throw (int);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh16.C b/gcc/testsuite/g++.old-deja/g++.mike/eh16.C
deleted file mode 100644
index 2a986d54466..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh16.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int err = 1;
-
-struct A {
- ~A() {
- --err;
- }
-};
-
-struct B {
- A a;
- B() {
- throw 1;
- }
-};
-
-main() {
- try {
- B b;
- } catch (...) {
- return err;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh17.C b/gcc/testsuite/g++.old-deja/g++.mike/eh17.C
deleted file mode 100644
index 482ea0434f9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh17.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int err = 1;
-
-struct A {
- ~A() {
- --err;
- }
-};
-
-struct B : public A {
- B() {
- throw 1;
- }
-};
-
-main() {
- try {
- B b;
- } catch (...) {
- return err;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh18.C b/gcc/testsuite/g++.old-deja/g++.mike/eh18.C
deleted file mode 100644
index cf98bce4902..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh18.C
+++ /dev/null
@@ -1,63 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-class VB {
-public:
- int n;
- VB (int v) { n = v; }
- VB (const VB& o) {
- n = o.n;
-// printf("copying VB from %d to %d\n", &o, this);
- }
-};
-
-class D : public virtual VB {
- int j;
-public:
- D(int i1, int i2) : VB(i2) { j = i1; }
- VB& vb() { return *(VB*)this; }
- const VB& vb() const { return *(const VB*)this; }
-};
-
-class pD : private virtual VB {
- int j;
-public:
- pD(int i1, int i2) : VB(i2) { j = i1; }
- VB& vb() { return *(VB*)this; }
- const VB& vb() const { return *(const VB*)this; }
-};
-
-
-int main () {
- D d(1943, 4279);
- pD pd(3621, 9527);
- VB *vb = &d.vb();
- VB *pvb = &pd.vb();
-
- // A catch of a public virtual base.
- try {
-// printf("Throwing D at %d (VB at %d)\n", &d, vb);
- throw d;
- }
- catch (VB& vb) {
-// printf("Catching VB at %d\n", &vb);
- if (vb.n != 4279)
- return 1;
- }
- catch (...) {
- return 1;
- }
-
- // A catch of a private virtual base.
- try {
-// printf("Throwing D at %d (VB at %d)\n", &pd, pvb);
- throw pd;
- }
- catch (VB& vb) {
-// printf("Catching VB at %d\n", &vb);
- // This was a private base of the throw object, don't catch it.
- return 1;
- }
- catch (...) {
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh19.C b/gcc/testsuite/g++.old-deja/g++.mike/eh19.C
deleted file mode 100644
index 6e4fe155a48..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh19.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Special g++ Options: -fexceptions
-// Build don't link:
-
-class test1 {
-public:
- class fehler{public:fehler(){};};
- void func(int a) {
- if( a == 0 )
- throw fehler();
- }
-};
-
-int main() {
- test1 var;
-
- try {
- var.func(1);
- var.func(0);
- } catch(test1::fehler()) // function type promoted to pointer
- {
- ;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh2.C b/gcc/testsuite/g++.old-deja/g++.mike/eh2.C
deleted file mode 100644
index d808a65d135..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh2.C
+++ /dev/null
@@ -1,71 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <stdlib.h>
-#include <iostream.h>
-
-class Vector {
-private:
- int *p;
- int sz;
-
-public:
- // Exception class
- class Range {
- private:
- int value_i;
-
- public:
- Range( int i ) { value_i = i; };
- int value() { return value_i; };
- };
-
- Vector( int s );
- ~Vector();
- int size() { return sz; };
- int& operator []( int i );
-};
-
-Vector::Vector(int s) {
- sz = s;
- p = new int[sz];
-}
-
-Vector::~Vector() {
- delete [] p;
-}
-
-int&
-Vector::operator [](int i) {
- if (0<=i && i<sz) {
- return p[i];
- } else {
- throw Range( i );
- }
-}
-
-void crash(Vector& v ) {
- v[v.size()+10]; // Triggers range error!
-}
-
-void do_something(Vector& v) {
- crash( v );
-}
-
-void
-f(Vector& v) {
- try {
- do_something( v );
- } catch (Vector::Range& r) {
- cout << "Invalid vector range " << r.value()
- << " caught in f()" << endl;
- exit(0);
- }
-}
-
-main() {
- Vector v(10);
-
- f( v );
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh20.C b/gcc/testsuite/g++.old-deja/g++.mike/eh20.C
deleted file mode 100644
index 10535bb9609..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh20.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions -Wall
-
-int
-main() {
- throw 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh21.C b/gcc/testsuite/g++.old-deja/g++.mike/eh21.C
deleted file mode 100644
index 261e6ea5c6e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh21.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int main () {
- try {
- try {
- throw 1;
- } catch ( char * ) {
- }
- } catch ( int ) {
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh23.C b/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
deleted file mode 100644
index 27fc53d8eeb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh23.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <exception>
-
-struct double_fault { };
-int fault_now;
-
-class E {
-public:
- E() { }
- E(const E&) {
- if (fault_now)
- throw double_fault();
- }
-};
-
-void foo() {
- try {
- throw E();
- } catch (...) {
- fault_now = 1;
- throw;
- }
-}
-
-void bar() {
- try {
- foo();
- } catch (E e) { // double fault here
- }
-}
-
-void my_terminate() {
- exit (0); // double faults should call terminate
-}
-
-main() {
- std::set_terminate (my_terminate);
- try {
- bar();
- } catch (...) {
- return 1;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh24.C b/gcc/testsuite/g++.old-deja/g++.mike/eh24.C
deleted file mode 100644
index c9dd382f469..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh24.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int fail = 0;
-
-struct A {
- int ok;
- A() {
- ok = 1;
- }
- ~A() {
- if (! ok)
- fail = 1;
- ok = 0;
- }
-};
-
-main() {
- try {
- try {
- A a;
- throw 1.0;
- } catch (double i) {
- A a1;
- throw 1; // make sure both a1 and a2 are not destroyed when we throw!
- } catch (int i) {
- A a2;
- throw 1.0;
- }
- } catch (int i) {
- }
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh25.C b/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
deleted file mode 100644
index 52754b53359..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh25.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <exception>
-
-void my_terminate() {
- exit (0); // Double faults should call terminate
-}
-
-struct A {
- A() { }
- ~A() {
- std::set_terminate (my_terminate);
- throw 1; // This throws from EH dtor, should call my_terminate
- }
-};
-
-main() {
- try {
- try {
- throw 1;
- } catch (int i) {
- A a; // A hit on this EH dtor went to the wrong place
- throw 1;
- }
- } catch (...) {
- return 1;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh26.C b/gcc/testsuite/g++.old-deja/g++.mike/eh26.C
deleted file mode 100644
index 35cafa4286a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh26.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-class MyExceptionHandler { };
-
-main() {
- try {
- throw MyExceptionHandler();
- } catch(const MyExceptionHandler& eh) {
- return 0;
- } catch(...) {
- return 1;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh27.C b/gcc/testsuite/g++.old-deja/g++.mike/eh27.C
deleted file mode 100644
index bd07138c753..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh27.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <typeinfo>
-
-class MyExceptionHandler { };
-
-main() {
- try {
- throw MyExceptionHandler();
- } catch(const MyExceptionHandler& eh) {
- return 0;
- } catch(...) {
- return 1;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh28.C b/gcc/testsuite/g++.old-deja/g++.mike/eh28.C
deleted file mode 100644
index 3f2d0a6d68b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh28.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <typeinfo>
-
-int fail = 1;
-
-class X { public: virtual void p() { } };
-class Y : public X { public: virtual void p() { fail = 0; } };
-
-main()
-{
- try { Y y; throw y; }
- catch (X& x) { x.p(); }
- catch (...) { }
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh29.C b/gcc/testsuite/g++.old-deja/g++.mike/eh29.C
deleted file mode 100644
index 58c1f0b3f82..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh29.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int count;
-
-class A {
-public:
- A() {
-// printf("ctor %x\n", (int)this);
- if (count==3)
- throw 1;
- ++count;
- }
- ~A() {
- --count;
-// printf("dtor %x\n", (int)this);
- }
-};
-
-main() {
- try {
- A a[5];
- } catch (...) {
- return count;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh3.C b/gcc/testsuite/g++.old-deja/g++.mike/eh3.C
deleted file mode 100644
index e8b87bf30f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-class foo {
-public:
- class error {};
-
- void cause_error(void) { throw error(); }
-};
-
-int main(void)
-{
- foo f;
- try {
- f.cause_error();
- }
- catch (foo::error&) {
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh30.C b/gcc/testsuite/g++.old-deja/g++.mike/eh30.C
deleted file mode 100644
index 61a30c8ddda..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh30.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// Skip if not native
-// Special g++ Options: -fexceptions -fPIC -S
-
-main() { throw 1; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh31.C b/gcc/testsuite/g++.old-deja/g++.mike/eh31.C
deleted file mode 100644
index 65e683cf8fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh31.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int count;
-
-class Foo {
-public:
- Foo() { ++count; }
- Foo(const Foo&) { ++count; }
- ~Foo() { --count; }
-};
-
-
-main() {
- try {
- throw Foo();
- }
- catch (Foo& object) {
- if (count == 1)
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh32.C b/gcc/testsuite/g++.old-deja/g++.mike/eh32.C
deleted file mode 100644
index 12d601c883f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh32.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-
-class Base {
-public:
- virtual ~Base() throw();
-};
-
-Base::~Base() throw()
-{
-}
-
-class Foo : public Base {
-public:
- virtual ~Foo() throw();
-};
-
-Foo::~Foo() throw()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh33.C b/gcc/testsuite/g++.old-deja/g++.mike/eh33.C
deleted file mode 100644
index 234b745f3a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh33.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL hppa*-*-* a29k-*-* sparc64-*-elf sh-*-* z8k-*-* arm-*-pe**-*
-
-#include <exception>
-
-void my_unexpected() {
- throw 42;
-}
-
-void foo() throw (int) { throw "Hi"; }
-
-int main() {
- std::set_unexpected (my_unexpected);
- try {
- foo();
- } catch (int i) {
- if (i == 42)
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh34.C b/gcc/testsuite/g++.old-deja/g++.mike/eh34.C
deleted file mode 100644
index 9c7e985bbea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh34.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <exception>
-
-void my_unexpected() {
- exit (0);
-}
-
-void foo() throw () { throw "Hi"; }
-
-int main() {
- std::set_unexpected (my_unexpected);
- foo();
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh35.C b/gcc/testsuite/g++.old-deja/g++.mike/eh35.C
deleted file mode 100644
index d9bd34c58e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh35.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-main() {
- try {
- throw 'a';
- } catch (char a) {
- try {
- throw 'a';
- } catch (int i) {
- return 1;
- } catch (char c) {
- return 0;
- }
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh36.C b/gcc/testsuite/g++.old-deja/g++.mike/eh36.C
deleted file mode 100644
index fbb639204a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh36.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <typeinfo>
-
-class A {
- int space;
-};
-class B {
-public:
- int data;
- B(int i) : data(i) {
- }
-};
-class D : public A, public B {
-public:
- D(int i) : B(i) {
- }
-} d(42);
-
-main() {
- try {
- throw &d;
- } catch (B* b) {
- if (b->data == 42)
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh37.C b/gcc/testsuite/g++.old-deja/g++.mike/eh37.C
deleted file mode 100644
index 75f6523a3a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh37.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <typeinfo>
-
-class B {
-public:
- int data;
- B(int i) : data(i) {
- }
-} b(42);
-
-main() {
- try {
- throw &b;
- } catch (B* b) {
- if (b->data == 42)
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh38.C b/gcc/testsuite/g++.old-deja/g++.mike/eh38.C
deleted file mode 100644
index 915ef4c89e4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh38.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <typeinfo>
-
-class B {
-public:
- int data;
- B(int i) : data(i) {
- }
-} b(42);
-
-main() {
- try {
- throw &b;
- } catch (const B* bptr) {
- if (bptr->data == 42)
- {
- try {
- throw &b;
- } catch (void *bptr) {
- if (((B*)bptr)->data == 42)
- return 0;
- }
- }
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh39.C b/gcc/testsuite/g++.old-deja/g++.mike/eh39.C
deleted file mode 100644
index 54d10959a57..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh39.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int fail = 1;
-class B {
-public:
- B() { throw 1; }
-};
-class D : public B {
-public:
- D();
-};
-
-D::D() try : B() {
- fail = 1;
-} catch (...) {
- fail = 0;
- throw;
-}
-
-main() {
- try {
- D d;
- fail = 1;
- } catch (...) {
- }
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh4.C b/gcc/testsuite/g++.old-deja/g++.mike/eh4.C
deleted file mode 100644
index c87ab293b36..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh4.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-
-void foo() {
- throw 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh40.C b/gcc/testsuite/g++.old-deja/g++.mike/eh40.C
deleted file mode 100644
index 16badc2d911..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh40.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int fail = 1;
-class B {
-public:
- B() { throw 1; }
-};
-class D : public B {
-public:
- D() try : B() {
- fail = 1;
- } catch (char c) {
- fail = 1;
- throw;
- } catch (...) {
- fail = 0;
- throw;
- }
-};
-
-main() {
- try {
- D d;
- fail = 1;
- } catch (...) {
- }
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh41.C b/gcc/testsuite/g++.old-deja/g++.mike/eh41.C
deleted file mode 100644
index 4127402d09e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh41.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-int fail = 0;
-
-struct A {
- A () { a = 'a'; b = 'b'; c = 'c'; }
- ~ A () {
- if ( a != 'a' ) fail = 1;
- if ( b != 'b' ) fail = 1;
- if ( c != 'c' ) fail = 1;
- }
- char a, b, c;
-};
-
-void some_init () { throw 1; }
-
-struct C : A {
- C () { some_init (); }
-};
-
-int main () {
- try {
- C c;
- } catch (int i) {
- return 0;
- }
- return 1;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh42.C b/gcc/testsuite/g++.old-deja/g++.mike/eh42.C
deleted file mode 100644
index 6da9bd51c96..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh42.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-struct none { int i[50]; };
-
-class my_ex { } a;
-
-none throw_it() {
- throw 1;
-}
-
-int main() {
- try {
- none n = throw_it();
- } catch (int ex) {
- return 0;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh43.C b/gcc/testsuite/g++.old-deja/g++.mike/eh43.C
deleted file mode 100644
index c5fbde939d0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh43.C
+++ /dev/null
@@ -1,741 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-
-// testcase to check obstack allocation for cleanups
-
-typedef unsigned char byte;
-typedef unsigned short word16;
-typedef unsigned long word32;
-typedef unsigned char boolean;
-enum {FALSE, TRUE};
-extern "C" {
-extern void __eprintf (const char *, const char *, unsigned, const char *);
-}
-extern "C" {
-typedef unsigned int size_t;
-extern void *memccpy(void *, const void *, int, size_t);
-extern void *memchr(const void *, int, size_t);
-extern void *memset(void *, int, size_t);
-}
-template <class T> struct SecBlock
-{
-public:
- SecBlock(unsigned int size)
- : size(size), ptr((new T [( size )]) ) {}
- ~SecBlock()
- {(memset(( ptr ), 0, ( size )*sizeof(*( ptr ))), delete [] ( ptr )) ;}
- operator T *() const
- {return ptr;}
- T *operator +(unsigned int offset)
- {return ptr+offset;}
- T& operator[](int index)
- {((void) (( index<size ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "misc.h" , 31 , "index<size" ), 0) )) ; return ptr[index];}
- const T& operator[](int index) const
- {((void) (( index<size ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "misc.h" , 33 , "index<size" ), 0) )) ; return ptr[index];}
- const unsigned int size;
- T *const ptr;
-};
-typedef SecBlock<byte> SecByteBlock;
-void xorbuf(byte *buf, const byte *mask, unsigned int count);
-void byteReverse(word16 *out, const word16 *in, unsigned int byteCount);
-void byteReverse(word32 *out, const word32 *in, unsigned int byteCount);
-inline word16 Invert(const word16 value)
-{
- return (value << 8) | (value >> 8);
-}
-inline word32 Invert(const word32 value)
-{
- word32 work = ((value & 0xFF00FF00L) >> 8) | ((value & 0x00FF00FFL) << 8);
- return (work << 16) | (work >> 16);
-}
-template <class T> inline T min (const T t1, const T t2)
-{
- return (t1 < t2 ? t1 : t2);
-}
-template <class T> inline T max (const T t1, const T t2)
-{
- return (t1 > t2 ? t1 : t2);
-}
-template <class T> inline void swap (T &a, T &b)
-{
- T temp = a;
- a = b;
- b = temp;
-}
-template <class T> inline T rotl(T x, unsigned int y)
-{
- return ((x<<y) | (x>>(sizeof(T)*8-y)));
-}
-template <class T> inline T rotr(T x, unsigned int y)
-{
- return ((x>>y) | (x<<(sizeof(T)*8-y)));
-}
-int BytePrecision(unsigned long);
-int BitPrecision(unsigned long);
-unsigned long Crop(unsigned long, int size);
-enum CipherDir {ENCRYPTION, DECRYPTION};
-class BlockTransformation
-{
-public:
- virtual ~BlockTransformation() {}
- virtual void ProcessBlock(byte *inoutBlock) =0;
- virtual void ProcessBlock(const byte *inBlock, byte *outBlock) =0;
- virtual unsigned int BlockSize() const =0;
-};
-class StreamCipher
-{
-public:
- virtual ~StreamCipher() {}
- virtual byte ProcessByte(byte input) =0;
- virtual void ProcessString(byte *outString, const byte *inString, unsigned int length);
- virtual void ProcessString(byte *inoutString, unsigned int length);
-};
-class RandomAccessStreamCipher : public StreamCipher
-{
-public:
- virtual ~RandomAccessStreamCipher() {}
- virtual void Seek(unsigned long position) =0;
-};
-class RandomNumberGenerator
-{
-public:
- virtual ~RandomNumberGenerator() {}
- virtual byte GetByte() =0;
- virtual int GetBit();
- virtual word32 GetLong(word32 min=0, word32 max=0xffffffffL);
- virtual word16 GetShort(word16 min=0, word16 max=0xffff)
- {return (word16)GetLong(min, max);}
- virtual void GetBlock(byte *output, unsigned int size);
-};
-template <class T> void Shuffle(RandomNumberGenerator &rng, T *array, unsigned int size)
-{
- while (--size)
- swap(array[size], array[(unsigned int)rng.GetLong(0, size)]);
-}
-class HashModule
-{
-public:
- virtual ~HashModule() {}
- virtual void Update(const byte *input, unsigned int length) =0;
- virtual void Final(byte *digest) =0;
- virtual int DigestSize() const =0;
- virtual void CalculateDigest(byte *digest, const byte *input, int length)
- {Update(input, length); Final(digest);}
-};
-class BufferedTransformation
-{
-public:
- virtual ~BufferedTransformation() {}
- virtual unsigned long MaxRetrieveable() =0;
- virtual void TransferTo(BufferedTransformation &target);
- virtual boolean Attachable() {return FALSE;}
- virtual void Detach(BufferedTransformation *) {}
- virtual void Attach(BufferedTransformation *) {}
- virtual void Close() {InputFinished();}
- virtual void Put(byte inByte) =0;
- virtual void Put(const byte *inString, unsigned int length) =0;
- virtual void InputFinished() {}
- void PutShort(word16 value, boolean highFirst=TRUE);
- void PutLong(word32 value, boolean highFirst=TRUE);
- virtual int Get(byte &outByte) =0;
- virtual unsigned int Get(byte *outString, unsigned int getMax) =0;
- int GetShort(word16 &value, boolean highFirst=TRUE);
- int GetLong(word32 &value, boolean highFirst=TRUE);
- unsigned int Skip(unsigned int skipMax);
-};
-class PK_CryptoSystem
-{
-public:
- virtual ~PK_CryptoSystem() {};
- virtual unsigned int MaxPlainTextLength() const =0;
- virtual unsigned int CipherTextLength() const =0;
-};
-class PK_Encryptor : public PK_CryptoSystem
-{
-public:
- virtual void Encrypt(RandomNumberGenerator &rng, const byte *plainText, unsigned int plainTextLength, byte *cipherText) =0;
-};
-class PK_Decryptor : public PK_CryptoSystem
-{
-public:
- virtual unsigned int Decrypt(const byte *cipherText, byte *plainText) =0;
-};
-class PK_SignatureSystem
-{
-public:
- virtual ~PK_SignatureSystem() {};
- virtual unsigned int MaxMessageLength() const =0;
- virtual unsigned int SignatureLength() const =0;
-};
-class PK_Signer : public PK_SignatureSystem
-{
-public:
- virtual void Sign(RandomNumberGenerator &rng, const byte *message, unsigned int messageLen, byte *signature) =0;
-};
-class PK_Verifier : public PK_SignatureSystem
-{
-public:
- virtual boolean Verify(const byte *message, unsigned int messageLen, const byte *signature) =0;
-};
-class ByteQueueNode;
-class ByteQueue : public BufferedTransformation
-{
-public:
- ByteQueue();
- ~ByteQueue();
- unsigned long CurrentSize() const;
- unsigned long MaxRetrieveable()
- {return CurrentSize();}
- void Put(byte inByte);
- void Put(const byte *inString, unsigned int length);
- int Get(byte &outByte);
- unsigned int Get(byte *outString, unsigned int getMax);
-private:
- ByteQueueNode *head, *tail;
-};
-enum ASNTag {INTEGER=0x02, BIT_STRING=0x03, SEQUENCE=0x10};
-enum ASNIdFlag {CONSTRUCTED = 0x20};
-unsigned int DERLengthEncode(unsigned int length, byte *output);
-unsigned int DERLengthEncode(unsigned int length, BufferedTransformation &);
-class BERDecodeErr {};
-boolean BERLengthDecode(BufferedTransformation &, unsigned int &);
-class BERSequenceDecoder : public BufferedTransformation
-{
-public:
- BERSequenceDecoder(BufferedTransformation &inQueue);
- ~BERSequenceDecoder();
- void Put(byte inByte) {}
- void Put(const byte *, unsigned int) {}
- unsigned long MaxRetrieveable()
- {return inQueue.MaxRetrieveable();}
- int Get(byte &outByte)
- {return inQueue.Get(outByte);}
- unsigned int Get(byte *outString, unsigned int getMax)
- {return inQueue.Get(outString, getMax);}
-private:
- BufferedTransformation &inQueue;
- boolean definiteLength;
- unsigned int length;
-};
-class DERSequenceEncoder : public ByteQueue
-{
-public:
- DERSequenceEncoder(BufferedTransformation &outQueue);
- ~DERSequenceEncoder();
-private:
- BufferedTransformation &outQueue;
-};
-extern "C" {
-}
-extern "C" {
-extern void *memmove(void *, const void *, size_t);
-extern char *strcpy(char *, const char *);
-extern char *strncpy(char *, const char *, size_t);
-extern char *strcat(char *, const char *);
-extern char *strncat(char *, const char *, size_t);
-extern int strcmp(const char *, const char *);
-extern int strcoll(const char *, const char *);
-extern int strncmp(const char *, const char *, size_t);
-extern size_t strxfrm(char *, const char *, size_t);
-extern void * __hide_memchr (const void *, int, size_t);
-extern char * __hide_strchr (const char *, int);
-extern size_t strcspn(const char *, const char *);
-extern char * __hide_strpbrk (const char *, const char *);
-extern char * __hide_strrchr (const char *, int);
-extern size_t strspn(const char *, const char *);
-extern char * __hide_strstr (const char *, const char *);
-extern char *strtok(char *, const char *);
-extern void *memset(void *, int, size_t);
-extern char *strerror(int);
-extern void *memccpy(void *, const void *, int, size_t);
-extern char *strdup(const char *);
-extern char *strsignal(int);
-extern int ffs(const int);
-extern int strcasecmp(const char *, const char *);
-extern int strncasecmp(const char *, const char *, size_t);
-}
-typedef int ptrdiff_t;
-extern "C" const char *strchr (const char *, int);
-inline char *
-strchr (char *s, int c)
-{
- return (char*) strchr ((const char *) s, c);
-}
-extern "C" const char *strpbrk (const char *, const char *);
-inline char *
-strpbrk (char *s1, const char *s2)
-{
- return (char *) strpbrk ((const char *) s1, s2);
-}
-extern "C" const char *strrchr (const char *, int);
-inline char *
-strrchr (char *s, int c)
-{
- return (char *) strrchr ((const char *) s, c);
-}
-extern "C" const char *strstr (const char *, const char *);
-inline char *
-strstr (char *s1, const char *s2)
-{
- return (char *) strstr ((const char *) s1, s2);
-}
-extern "C" void *memchr (const void *, int, size_t);
-inline void *
-memchr (void *s, int c, size_t n)
-{
- return (void *) memchr ((const void *) s, c, n);
-}
-typedef word16 unit;
-typedef short signedunit;
-typedef unit *unitptr;
-extern short global_precision;
-boolean mp_addc
- (register unitptr r1,const unit * r2,register boolean carry);
-boolean mp_subb
- (register unitptr r1,const unit * r2,register boolean borrow);
-boolean mp_rotate_left(register unitptr r1,register boolean carry);
-void mp_shift_right_bits(register unitptr r1,register short bits);
-short mp_compare(const unit * r1,const unit * r2);
-boolean mp_inc(register unitptr r);
-boolean mp_dec(register unitptr r);
-void mp_neg(register unitptr r);
-void mp_init(register unitptr r, word16 value);
-short significance(const unit * r);
-int mp_udiv(register unitptr remainder,register unitptr quotient,
- const unit * dividend,const unit * divisor);
-int mp_recip(register unitptr quotient,const unit * divisor);
-int mp_div(register unitptr remainder,register unitptr quotient,
- unit * dividend, unit * divisor);
-word16 mp_shortdiv(register unitptr quotient,
- const unit * dividend,register word16 divisor);
-int mp_mod(register unitptr remainder,
- const unit * dividend,const unit * divisor);
-word16 mp_shortmod(register unitptr dividend,register word16 divisor);
-int mp_mult(register unitptr prod,
- const unit * multiplicand,const unit * multiplier);
-int countbits(const unit * r);
-int stage_peasant_modulus(const unit * n);
-int stage_merritt_modulus(const unit * n);
-int stage_upton_modulus(const unit * n);
-int stage_smith_modulus(const unit * n);
-int peasant_modmult(register unitptr prod,
- const unit * multiplicand,const unit * multiplier);
-int merritt_modmult(register unitptr prod,
- const unit * multiplicand,const unit * multiplier);
-int upton_modmult(register unitptr prod,
- const unit * multiplicand,const unit * multiplier);
-int smith_modmult(register unitptr prod,
- const unit * multiplicand,const unit * multiplier);
-void peasant_burn();
-void merritt_burn();
-void upton_burn();
-void smith_burn();
-int mp_modexp(register unitptr expout,const unit * expin,
- const unit * exponent,const unit * modulus);
-int mp_modexp_crt(unitptr expout, const unit * expin,
- const unit * p, const unit * q, const unit * ep, const unit * eq, const unit * u);
-word16 fetch_word16(byte *buf);
-byte *put_word16(word16 w, byte *buf);
-word32 fetch_word32(byte *buf);
-byte *put_word32(word32 w, byte *buf);
-int string_length(const char *s);
-int str2reg(unit * reg,const char* digitstr);
-int reg2str(char * s,const unit * n,short radix);
-void mp_display(char * s,unitptr r);
-word16 checksum(register byte * buf, register word16 count);
-void cbc_xor(register unitptr dst, register unitptr src, word16 bytecount);
-void hiloswap(byte * r1,short numbytes);
-short mpi2reg(register unitptr r, register byte * buf);
-short reg2mpi(register byte * buf, register unitptr r);
-enum RandomNumberType {ANY, ODD, PRIME, BLUMINT};
-class MPIRegister : public SecBlock<unit>
-{
-public:
- MPIRegister() : SecBlock<unit>((2048 / 16 ) ) {}
-};
-class ostream;
-class bignum
-{
-public:
- bignum()
- {}
- bignum(unsigned long value);
- bignum(const char *str)
- {str2reg(reg, str);}
- enum Signedness{UNSIGNED, SIGNED};
- bignum(const byte *encodedBignum, unsigned int byteCount, Signedness s=UNSIGNED)
- {Decode(encodedBignum, byteCount, s);}
- bignum(const byte *BEREncodedInteger)
- {BERDecode(BEREncodedInteger);}
- bignum(BufferedTransformation &bt)
- {BERDecode(bt);}
- bignum(RandomNumberGenerator &rng, unsigned int bitcount)
- {Randomize(rng, bitcount);}
- bignum(RandomNumberGenerator &rng, const bignum &min, const bignum &max, RandomNumberType rnType=ANY)
- {Randomize(rng, min, max, rnType);}
- bignum(const bignum& t)
- {memcpy(reg, t.reg, (2048 /8) );}
- unsigned int Encode(byte *output) const;
- unsigned int Encode(byte *output, unsigned int outputLen) const;
- void Decode(const byte *input, unsigned int inputLen, Signedness=UNSIGNED);
- unsigned int DEREncode(byte *output) const;
- unsigned int DEREncode(BufferedTransformation &bt) const;
- void BERDecode(const byte *input);
- void BERDecode(BufferedTransformation &bt);
- void Randomize(RandomNumberGenerator &rng, unsigned int bitcount);
- void Randomize(RandomNumberGenerator &rng, const bignum &min, const bignum &max);
- void Randomize(RandomNumberGenerator &rng, const bignum &min, const bignum &max, RandomNumberType rnType);
- unsigned int ByteCount() const
- {
- return ((countbits( reg )+7)>>3) ;
- }
- int BitCount() const
- {
- return countbits(reg);
- }
- bignum& operator++()
- {
- mp_inc(reg);
- return *this;
- }
- bignum& operator--()
- {
- mp_dec(reg);
- return *this;
- }
- int operator!() const
- {
- return ( ((* (( reg.ptr )+( global_precision )-1) ) ==( 0 )) && (significance( reg.ptr )<=1) ) ;
- }
- bignum& operator=(const bignum& t)
- {
- memcpy(reg, t.reg, (2048 /8) );
- return *this;
- }
- bignum& operator+=(const bignum& t)
- {
- mp_addc( reg , t.reg ,(boolean)0) ;
- return *this;
- }
- bignum& operator-=(const bignum& t)
- {
- mp_subb( reg , t.reg ,(boolean)0) ;
- return *this;
- }
- bignum& operator*=(const bignum& t)
- {
- *this = (*this) * t;
- return *this;
- }
- bignum& operator/=(const bignum& t)
- {
- *this = (*this) / t;
- return *this;
- }
- bignum& operator%=(const bignum& t)
- {
- *this = (*this) % t;
- return *this;
- }
- bignum& operator<<=(unsigned int);
- bignum& operator>>=(unsigned int);
- unsigned MaxBitPrecision() const {return 2048 ;}
- int operator[](unsigned int n) const;
- friend bignum operator+(bignum a, const bignum &b)
- {
- return (a+=b);
- }
- friend bignum operator-(bignum a, const bignum &b)
- {
- return (a-=b);
- }
- friend bignum operator*(const bignum &a, const bignum &b);
- friend bignum operator/(const bignum &a, const bignum &b);
- friend bignum operator%(const bignum &a, const bignum &b);
- friend bignum operator/(const bignum &a, word16 b);
- friend word16 operator%(const bignum &a, word16 b);
- friend bignum operator>>(bignum a, unsigned int n)
- {return (a>>=n);}
- friend bignum operator<<(bignum a, unsigned int n)
- {return (a<<=n);}
- void Negate() {mp_neg(reg);}
- friend bignum operator-(bignum a)
- {
- a.Negate();
- return a;
- }
- friend int operator==(const bignum &a, const bignum &b)
- {
- return (memcmp(a.reg.ptr, b.reg.ptr, (2048 /8) )==0);
- }
- friend int operator!=(const bignum& a, const bignum& b)
- {
- return (memcmp(a.reg.ptr, b.reg.ptr, (2048 /8) )!=0);
- }
- friend int operator>(const bignum& a, const bignum& b)
- {
- return (mp_compare(a.reg, b.reg)>0);
- }
- friend int operator>=(const bignum& a, const bignum& b)
- {
- return (mp_compare(a.reg, b.reg)>=0);
- }
- friend int operator<(const bignum& a, const bignum& b)
- {
- return (mp_compare(a.reg, b.reg)<0);
- }
- friend int operator<=(const bignum& a, const bignum& b)
- {
- return (mp_compare(a.reg, b.reg)<=0);
- }
- friend bignum a_times_b_mod_c(const bignum &x, const bignum& y, const bignum& m);
- friend bignum a_exp_b_mod_c(const bignum &x, const bignum& e, const bignum& m);
- class DivideErr {};
- friend void Divide(bignum &r, bignum &q,
- const bignum &a, const bignum &d,
- Signedness s=SIGNED);
- friend boolean Negative(const bignum &a)
- {
- return ((signedunit) (* ( a.reg.ptr ) ) < 0) ;
- }
- friend bignum Abs(bignum a)
- {
- (((signedunit) (* ( a.reg.ptr ) ) < 0) ? (mp_neg( a.reg.ptr ),TRUE) : FALSE) ;
- return a;
- }
- friend ostream& operator<<(ostream& out, const bignum &a);
- unit lsUnit() {return (* (( reg.ptr )+( global_precision )-1) ) ;}
-private:
- MPIRegister reg;
-};
-class RSAPublicKey : public PK_Encryptor, public PK_Decryptor,
- public PK_Verifier
-{
-public:
- RSAPublicKey(const bignum &n, const bignum &e);
- RSAPublicKey(BufferedTransformation &bt);
- void DEREncode(BufferedTransformation &bt) const;
- void Encrypt(RandomNumberGenerator &rng, const byte *plainText, unsigned int plainTextLength, byte *cipherText);
- unsigned int Decrypt(const byte *cipherText, byte *plainText);
- boolean Verify(const byte *message, unsigned int messageLen, const byte *signature);
- unsigned int MaxPlainTextLength() const {return modulusLen-11;}
- unsigned int CipherTextLength() const {return modulusLen;}
- unsigned int MaxMessageLength() const {return modulusLen-11;}
- unsigned int SignatureLength() const {return modulusLen;}
- const bignum& Exponent() const {return e;}
- const bignum& Modulus() const {return n;}
-protected:
- void RawEncrypt(const bignum &in, bignum &out) const;
-private:
- friend class RSAPrivateKey;
- RSAPublicKey() {}
- bignum n;
- bignum e;
- unsigned int modulusLen;
-};
-class RSAPrivateKey : public RSAPublicKey, public PK_Signer
-{
-public:
- RSAPrivateKey(const bignum &n, const bignum &e, const bignum &d,
- const bignum &p, const bignum &q, const bignum &dp, const bignum &dq, const bignum &u);
- RSAPrivateKey(RandomNumberGenerator &rng, int keybits, bignum eStart=17);
- RSAPrivateKey(BufferedTransformation &bt);
- void DEREncode(BufferedTransformation &bt) const;
- void Encrypt(const byte *plainText, unsigned int plainTextLength, byte *cipherText);
- unsigned int Decrypt(const byte *cipherText, byte *plainText);
- void Encrypt(RandomNumberGenerator &, const byte *plainText, unsigned int plainTextLength, byte *cipherText)
- {Encrypt(plainText, plainTextLength, cipherText);}
- void Sign(const byte *message, unsigned int messageLen, byte *signature)
- {Encrypt(message, messageLen, signature);}
- void Sign(RandomNumberGenerator &, const byte *message, unsigned int messageLen, byte *signature)
- {Encrypt(message, messageLen, signature);}
- unsigned int MaxMessageLength() const {return modulusLen-11;}
- unsigned int SignatureLength() const {return modulusLen;}
-protected:
- void RawEncrypt(const bignum &in, bignum &out) const;
-private:
- bignum d;
- bignum p;
- bignum q;
- bignum dp;
- bignum dq;
- bignum u;
-};
-bignum Gcd(const bignum &a, const bignum &b);
-bignum Inverse(const bignum &a, const bignum &m);
-boolean IsSmallPrime(const bignum &p);
-boolean SmallDivisorsTest(const bignum &p);
-boolean FermatTest(const bignum &p, unsigned int rounds);
-boolean RabinMillerTest(RandomNumberGenerator &rng, const bignum &w, unsigned int rounds);
-inline boolean IsPrime(const bignum &p)
-{
- return (IsSmallPrime(p) || (SmallDivisorsTest(p) && FermatTest(p, 2)));
-}
-boolean NextPrime(bignum &p, const bignum &max, boolean blumInt=FALSE);
-bignum a_exp_b_mod_pq(const bignum &a, const bignum &ep, const bignum &eq,
- const bignum &p, const bignum &q, const bignum &u);
-class PrimeAndGenerator
-{
-public:
- PrimeAndGenerator(RandomNumberGenerator &rng, unsigned int pbits);
- PrimeAndGenerator(RandomNumberGenerator &rng, unsigned int pbits, unsigned qbits);
- const bignum& Prime() const {return p;}
- const bignum& SubPrime() const {return q;}
- const bignum& Generator() const {return g;}
-private:
- bignum p, q, g;
-};
-extern "C" {
-extern void __eprintf (const char *, const char *, unsigned, const char *);
-}
-RSAPublicKey::RSAPublicKey(const bignum &n, const bignum &e)
- : n(n), e(e), modulusLen(n.ByteCount())
-{
-}
-RSAPublicKey::RSAPublicKey(BufferedTransformation &bt)
-{
- BERSequenceDecoder seq(bt);
- n.BERDecode(seq);
- modulusLen = n.ByteCount();
- e.BERDecode(seq);
-}
-void RSAPublicKey::DEREncode(BufferedTransformation &bt) const
-{
- DERSequenceEncoder seq(bt);
- n.DEREncode(seq);
- e.DEREncode(seq);
-}
-void RSAPublicKey::Encrypt(RandomNumberGenerator &rng, const byte *input, unsigned int inputLen, byte *output)
-{unsigned int i;
- ((void) (( inputLen <= MaxPlainTextLength() ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "rsa.cpp" , 30 , "inputLen <= MaxPlainTextLength()" ), 0) )) ;
- SecByteBlock pkcsBlock(modulusLen);
- pkcsBlock[0] = 0;
- pkcsBlock[1] = 2;
- for (i = 2; i < modulusLen - inputLen - 1; i++)
- {
- do
- pkcsBlock[i] = rng.GetByte();
- while (pkcsBlock[i] == 0);
- }
- pkcsBlock[i++] = 0;
- memcpy(pkcsBlock+i, input, inputLen);
- bignum c;
- RawEncrypt(bignum(pkcsBlock, modulusLen), c);
- c.Encode(output, modulusLen);
-}
-unsigned int RSAPublicKey::Decrypt(const byte *input, byte *output)
-{unsigned int i;
- bignum m;
- RawEncrypt(bignum(input, modulusLen), m);
- SecByteBlock pkcsBlock(modulusLen);
- m.Encode(pkcsBlock, modulusLen);
- if ((pkcsBlock[0] != 0) || (pkcsBlock[1] != 1))
- return 0;
- for (i = 2; i < modulusLen-1; i++)
- if (pkcsBlock[i] != 0xff)
- break;
- if (pkcsBlock[i++] != 0)
- return 0;
- unsigned int outputLen = modulusLen - i;
- if (outputLen > MaxPlainTextLength())
- return 0;
- memcpy (output, pkcsBlock+i, outputLen);
- return outputLen;
-}
-boolean RSAPublicKey::Verify(const byte *message, unsigned int messageLen, const byte *signature)
-{
- ((void) (( messageLen <= MaxMessageLength() ) ? 0 : (__eprintf ("%s:%u: failed assertion `%s'\n", "rsa.cpp" , 83 , "messageLen <= MaxMessageLength()" ), 0) )) ;
- SecByteBlock m(MaxMessageLength());
- unsigned int mLen = RSAPublicKey::Decrypt(signature, m);
- return (mLen==messageLen && memcmp(message, m, mLen)==0);
-}
-void RSAPublicKey::RawEncrypt(const bignum &in, bignum &out) const
-{
- out = a_exp_b_mod_c(in, e, n);
-}
-RSAPrivateKey::RSAPrivateKey(const bignum &nIn, const bignum &eIn, const bignum &dIn,
- const bignum &pIn, const bignum &qIn,
- const bignum &dpIn, const bignum &dqIn, const bignum &uIn)
- : RSAPublicKey(nIn, eIn)
-{
- d=dIn;
- if (pIn < qIn)
- {
- p=pIn;
- q=qIn;
- dp=dpIn;
- dq=dqIn;
- }
- else
- {
- p=qIn;
- q=pIn;
- dp=dqIn;
- dq=dpIn;
- }
- u=uIn;
-}
-RSAPrivateKey::RSAPrivateKey(RandomNumberGenerator &rng, int keybits, bignum eStart)
-{
- p = bignum(rng, keybits/2, PRIME);
- const bignum minQ = ((bignum(1) << (keybits-1)) / p) + 1;
- const bignum maxQ = (bignum(1) << keybits) / p;
- do
- {
- bignum temp(rng, minQ, maxQ, PRIME);
- if (p>temp && p.BitCount()-(p-temp).BitCount() < 7)
- {
- q=p;
- p=temp;
- break;
- }
- if (p<temp && temp.BitCount()-(temp-p).BitCount() < 7)
- {
- q=temp;
- break;
- }
- } while (1);
- bignum phi = (p-1)*(q-1);
- for (e = eStart; Gcd(e, phi)!=1; ++e, ++e);
- d = Inverse(e, phi/Gcd(p-1, q-1));
- dp = d % (p-1);
- dq = d % (q-1);
- u = Inverse(p, q);
- n = p * q;
- modulusLen = n.ByteCount();
-}
-RSAPrivateKey::RSAPrivateKey(BufferedTransformation &bt)
-{
- BERSequenceDecoder seq(bt);
- bignum version(seq);
- if (!!version)
- throw BERDecodeErr() ;
- n.BERDecode(seq);
- modulusLen = n.ByteCount();
- e.BERDecode(seq);
- d.BERDecode(seq);
- p.BERDecode(seq);
- q.BERDecode(seq);
- dp.BERDecode(seq);
- dq.BERDecode(seq);
- u.BERDecode(seq);
- if (p>q)
- {
- swap(p, q);
- swap(dp, dq);
- }
-}
-void RSAPrivateKey::DEREncode(BufferedTransformation &bt) const
-{
- DERSequenceEncoder seq(bt);
- byte version[] = {INTEGER, 1, 0};
- seq.Put(version, sizeof(version));
- n.DEREncode(seq);
- e.DEREncode(seq);
- d.DEREncode(seq);
- q.DEREncode(seq);
- p.DEREncode(seq);
- dq.DEREncode(seq);
- dp.DEREncode(seq);
- u.DEREncode(seq);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh44.C b/gcc/testsuite/g++.old-deja/g++.mike/eh44.C
deleted file mode 100644
index e612aeb793b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh44.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-// prms-id: 9159
-
-static unsigned int iCounter = 0;
-static unsigned int iMax;
-int fail = 0;
-
-class ca {
-public:
- ca(int) {
- if (iCounter++ == iMax)
- throw (const char*)"iCounter";
- }
- virtual ~ca() {
- }
-};
-
-class cc {
-public:
- cc(const ca &rca1, const ca &rca2) {
- }
- virtual ~cc() {
- fail = 1;
- }
-};
-
-
-int main(int argc, char **argv) {
- iMax = 1;
- try {
- cc sc(ca(1), ca(1));
- } catch (const char *pMsg) {
- }
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh45.C b/gcc/testsuite/g++.old-deja/g++.mike/eh45.C
deleted file mode 100644
index bed0b921d6b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh45.C
+++ /dev/null
@@ -1,34 +0,0 @@
-int i;
-int fail;
-
-class ca {
-public:
- ca() {
- if (++i != 1)
- fail = 1;
- }
- virtual ~ca() {
- if (++i != 4)
- fail = 4;
- }
-};
-
-class cb {
-public:
- cb(const ca &rca) {
- if (++i != 2)
- fail = 2;
- }
- virtual ~cb() {
- if (++i != 3)
- fail = 3;
- }
-};
-
-void foo(const cb &rcb) {
-}
-
-int main(int argc, char **argv) {
- foo(cb(ca()));
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh46.C b/gcc/testsuite/g++.old-deja/g++.mike/eh46.C
deleted file mode 100644
index e0e6553f7c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh46.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sh-*-* arm-*-pe**-*
-
-int atoi(const char *);
-
-struct ios {
- virtual ~ios();
-};
-
-class fstreambase : virtual public ios {
-};
-
-class ifstream : public fstreambase {
-};
-
-class ofstream : public fstreambase {
-};
-
-extern const short O;
-extern const short D;
-
-const short O= 0;
-const short D= -3;
-
-
-short glc(const char* const * const l,
- short& n,short& x,short& y,
- ifstream* i,ofstream* o)
-
-{
- n=atoi(l[1]);
-
- x=atoi(l[2]);
- y=atoi(l[3]);
-
- if((x < 0)||(y <0))
- {
- return D;
- }
-
- i = new ifstream[n];
- o = new ofstream[2];
-
- return O;
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh47.C b/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
deleted file mode 100644
index 043a6174a6f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <cstdlib>
-#include <exception>
-
-void myterm() {
- exit (0);
-}
-
-main() {
- try {
- throw "";
- } catch (...) {
- }
- try {
- std::set_terminate (myterm);
- throw;
- } catch (...) {
- return 1;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh48.C b/gcc/testsuite/g++.old-deja/g++.mike/eh48.C
deleted file mode 100644
index 351fc4f60a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh48.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <exception>
-using std::uncaught_exception;
-class A {
-public:
- ~A() {
- if (uncaught_exception ())
- exit (0);
- }
-};
-
-int main() {
- if (uncaught_exception ())
- return 1;
- try {
- throw "";
- } catch (...) {
- if (uncaught_exception ())
- return 1;
- }
- if (uncaught_exception ())
- return 1;
- try {
- A a;
- throw "";
- } catch (...) {
- return 1;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh49.C b/gcc/testsuite/g++.old-deja/g++.mike/eh49.C
deleted file mode 100644
index 0505db168b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh49.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Special g++ Options: -fexceptions -O9
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-void main1() {
- throw 1;
-}
-
-int main() {
- try {
- main1();
- } catch (...) {
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh5.C b/gcc/testsuite/g++.old-deja/g++.mike/eh5.C
deleted file mode 100644
index 3289d975d58..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh5.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-class foo {
-public:
- class error {};
-
- void cause_error(void) { throw "Hello World!"; }
-};
-
-int main(void)
-{
- foo f;
- try {
- f.cause_error();
- }
- catch (const char cp[]) {
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh50.C b/gcc/testsuite/g++.old-deja/g++.mike/eh50.C
deleted file mode 100644
index 0747e1032ef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh50.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL hppa*-*-* a29k-*-* sparc64-*-elf sh-*-* z8k-*-* arm-*-pe**-*
-
-#include <exception>
-
-void my_unexpected() {
- throw 42;
-}
-
-template <class T> int foo(T) throw (int) { throw "Hi"; }
-
-main() {
- std::set_unexpected (my_unexpected);
- try {
- foo(1);
- } catch (int i) {
- if (i == 42)
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh51.C b/gcc/testsuite/g++.old-deja/g++.mike/eh51.C
deleted file mode 100644
index ac7f620df42..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh51.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* z8k-*-* arm-*-pe**-*
-
-#include <exception>
-
-void my_unexpected() {
- throw 42;
-}
-
-template <class T> int foo(T) throw (T) { throw "Hi"; }
-
-main() {
- std::set_unexpected (my_unexpected);
- try {
- foo(1);
- } catch (int i) {
- if (i == 42)
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh52.C b/gcc/testsuite/g++.old-deja/g++.mike/eh52.C
deleted file mode 100644
index 475070caebf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh52.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Special g++ Options: -fexceptions -O9
-
-int promote_mode (int mode, int *punsignedp)
-{
- int unsignedp = *punsignedp;
- *punsignedp = unsignedp;
- return mode;
-}
-
-int main() {
- int i;
- i = promote_mode (42, &i);
- return i != 42;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh53.C b/gcc/testsuite/g++.old-deja/g++.mike/eh53.C
deleted file mode 100644
index 7d47c6d1461..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh53.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Special g++ Options: -fexceptions -g
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-class zeroset {
-public:
- ~zeroset () { }
-};
-
-int main () {
- zeroset a;
- try {
- ;
- } catch( zeroset ) {
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh54.C b/gcc/testsuite/g++.old-deja/g++.mike/eh54.C
deleted file mode 100644
index 9c2d206f092..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh54.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Special g++ Options: -fexceptions
-
-int main() { try { 1; } } // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh55.C b/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
deleted file mode 100644
index e64bcf82374..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh55.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-#include <exception>
-
-void my_terminate_handler() {
- exit(0);
-}
-
-void throw_an_unexpected_exception() throw() {
- throw 1;
-}
-
-int main() {
- std::set_terminate(my_terminate_handler);
- throw_an_unexpected_exception();
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh56.C b/gcc/testsuite/g++.old-deja/g++.mike/eh56.C
deleted file mode 100644
index 674a82df450..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh56.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Special g++ Options: -fexceptions
-
-struct A {
- A() { }
- A(const char *) { }
- A(const A&) { }
- ~A() { }
-};
-
-struct bmf {
- bmf (const A n) { }
- ~bmf (void) { }
- A name;
-};
-
-void imf (void) {
- bmf Sabs ("abs");
-}
-
-int main(void) {
- imf ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh57.C b/gcc/testsuite/g++.old-deja/g++.mike/eh57.C
deleted file mode 100644
index 545a85fdfa9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh57.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fno-exceptions
-
-class Calendar_Time {
-public:
- ~Calendar_Time ();
- int operator <= (const Calendar_Time& t) const;
-};
-
-class Temporal_Model_Interval {
-public:
- Calendar_Time start_time ();
-};
-
-int intersects_p (Temporal_Model_Interval* i1, Temporal_Model_Interval* i2) {
- return ((i1->start_time() <= i2->start_time())
- || (i1->start_time() <= i2->start_time()));
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh58.C b/gcc/testsuite/g++.old-deja/g++.mike/eh58.C
deleted file mode 100644
index 967e74ab12d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh58.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-
-struct C {
- bool mem;
- ~C();
-};
-
-C genTemp();
-
-int foo_notok(int arg) {
- switch (arg) {
- case 0:
- return genTemp().mem;
- default:
- return 3;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh6.C b/gcc/testsuite/g++.old-deja/g++.mike/eh6.C
deleted file mode 100644
index b9e7c8cc46c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh6.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-extern "C" int printf(const char *, ...);
-
-void main1() {
- throw 1;
-}
-
-
-int main() {
- try {
- main1();
- } catch (...) {
- printf("Unwind works!\n");
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh7.C b/gcc/testsuite/g++.old-deja/g++.mike/eh7.C
deleted file mode 100644
index 3e2c75a67f2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh7.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-main() {
- if (0)
- throw 1 | 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh8.C b/gcc/testsuite/g++.old-deja/g++.mike/eh8.C
deleted file mode 100644
index a9f7a902f2c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh8.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-
-extern "C" int printf(const char *, ...);
-
-int i;
-
-main() {
- try {
- try {
- throw i;
- } catch (char *) {
- return 1;
- }
- return 1;
- } catch (int i) {
- return 0;
- }
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh9.C b/gcc/testsuite/g++.old-deja/g++.mike/eh9.C
deleted file mode 100644
index febd1dc4b96..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh9.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe*
-
-main() throw () { }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/enum1.C b/gcc/testsuite/g++.old-deja/g++.mike/enum1.C
deleted file mode 100644
index 89e8542b779..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/enum1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Warn if a enum cannot fit into a small bit-field.
-
-enum TypeKind { ATK, BTK, CTK, DTK } ;
-
-struct Type {
- enum TypeKind kind : 1; // WARNING -
- void setBTK();
-};
-
-void Type::setBTK() { kind = DTK; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/err1.C b/gcc/testsuite/g++.old-deja/g++.mike/err1.C
deleted file mode 100644
index 8748c7860b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/err1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-struct gorf {
- int stuff;
- void snarf();
-};
-
-template <class T> void gorf::snarf() { return; } // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/err2.C b/gcc/testsuite/g++.old-deja/g++.mike/err2.C
deleted file mode 100644
index c3af5b47fe2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/err2.C
+++ /dev/null
@@ -1,6 +0,0 @@
-class foo {
-public:
- void apply(foo *(foo::*memptr)()) {
- this->*memptr(); // ERROR - wrong
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/err3.C b/gcc/testsuite/g++.old-deja/g++.mike/err3.C
deleted file mode 100644
index b42a4a908d8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/err3.C
+++ /dev/null
@@ -1,9 +0,0 @@
-class cb {
-};
-
-class cc {
-public:
- cc()
- : cb() { // ERROR -
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/explicit1.C b/gcc/testsuite/g++.old-deja/g++.mike/explicit1.C
deleted file mode 100644
index 28213ba377d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/explicit1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-struct A1 {
- explicit A1(int) { }
-} a1(1);
-
-struct A {
- explicit A(int);
-} a(1);
-
-A::A(int) {
-}
-
-void foo(A a) {
- foo(a);
- foo(1); // ERROR - not allowed
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/explicit2.C b/gcc/testsuite/g++.old-deja/g++.mike/explicit2.C
deleted file mode 100644
index a2077bffc2f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/explicit2.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-class string {
-public:
- string(const char*) { }
- explicit string(int size) { }
-};
-
-void foo(string) { }
-
-string bar() {
- foo("hello"); // ok
- foo(string(2)); // ok
- foo(2); // ERROR - no implicit conversion from int to string
- string x = 2; // ERROR - no implicit conversion from int to string
- string y(2); // ok
- foo((string)2); // ok
- return 2; // ERROR - no implicit conversion from int to string
-}
-
-class A : string {
-public:
- A() : string(2) { } // ok
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/for1.C b/gcc/testsuite/g++.old-deja/g++.mike/for1.C
deleted file mode 100644
index e46213035bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/for1.C
+++ /dev/null
@@ -1,3 +0,0 @@
-int main() {
- for( {int i = 0; int j = 0;} i < 10; ++i ) ; // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/for2.C b/gcc/testsuite/g++.old-deja/g++.mike/for2.C
deleted file mode 100644
index fd01804d86b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/for2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-void foo() {
- for (class C {};;)
- ;
- C c; // ERROR -
-}
-
-void bar() {
- for (enum E {num};;)
- ;
- E e; // ERROR -
-}
-
-void bee () {
- int i = 0;
- for (int fun() = 0; i != 2; ++i) { // ERROR -
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/fresco1.C b/gcc/testsuite/g++.old-deja/g++.mike/fresco1.C
deleted file mode 100644
index 16fa1dbcbe9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/fresco1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-// This is a Fresco found bug.
-
-class WhoCares {};
-
-typedef float Coord;
-
-class BugDemo : public WhoCares {
-public:
- typedef Coord Matrix[4][4];
- virtual void vf1(BugDemo::Matrix m) = 0;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/hog1.C b/gcc/testsuite/g++.old-deja/g++.mike/hog1.C
deleted file mode 100644
index 8627100f2de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/hog1.C
+++ /dev/null
@@ -1,187 +0,0 @@
-class dummy { public: void operator++(void) {}
- };
-class dummy_000 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_001 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_002 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_003 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_004 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_005 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_006 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_007 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_008 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_009 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_010 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_011 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_012 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_013 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_014 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_015 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_016 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_017 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_018 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_019 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_020 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_021 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_022 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_023 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_024 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_025 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_026 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_027 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_028 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_029 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_030 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_031 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_032 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_033 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_034 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_035 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_036 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_037 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_038 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_039 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_040 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_041 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_042 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_043 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_044 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_045 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_046 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_047 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_048 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-class dummy_049 : private virtual dummy { public: void operator++(void) {
-dummy::operator++(); } };
-
-class super :
- private dummy_000, private dummy_001, private dummy_002, private
-dummy_003, private dummy_004,
- private dummy_005, private dummy_006, private dummy_007, private
-dummy_008, private dummy_009,
- private dummy_010, private dummy_011, private dummy_012, private
-dummy_013, private dummy_014,
- private dummy_015, private dummy_016, private dummy_017, private
-dummy_018, private dummy_019,
- private dummy_020, private dummy_021, private dummy_022, private
-dummy_023, private dummy_024,
- private dummy_025, private dummy_026, private dummy_027, private
-dummy_028, private dummy_029,
- private dummy_030, private dummy_031, private dummy_032, private
-dummy_033, private dummy_034,
- private dummy_035, private dummy_036, private dummy_037, private
-dummy_038, private dummy_039,
- private dummy_040, private dummy_041, private dummy_042, private
-dummy_043, private dummy_044,
- private dummy_045, private dummy_046, private dummy_047, private
-dummy_048, private dummy_049
-{
-public:
- void operator++(void);
-};
-
-void super::operator++(void)
-{
- dummy_000::operator++();
- dummy_001::operator++();
- dummy_002::operator++();
- dummy_003::operator++();
- dummy_004::operator++();
- dummy_005::operator++();
- dummy_006::operator++();
- dummy_007::operator++();
- dummy_008::operator++();
- dummy_009::operator++();
- dummy_010::operator++();
- dummy_011::operator++();
- dummy_012::operator++();
- dummy_013::operator++();
- dummy_014::operator++();
- dummy_015::operator++();
- dummy_016::operator++();
- dummy_017::operator++();
- dummy_018::operator++();
- dummy_019::operator++();
- dummy_020::operator++();
- dummy_021::operator++();
- dummy_022::operator++();
- dummy_023::operator++();
- dummy_024::operator++();
- dummy_025::operator++();
- dummy_026::operator++();
- dummy_027::operator++();
- dummy_028::operator++();
- dummy_029::operator++();
- dummy_030::operator++();
- dummy_031::operator++();
- dummy_032::operator++();
- dummy_033::operator++();
- dummy_034::operator++();
- dummy_035::operator++();
- dummy_036::operator++();
- dummy_037::operator++();
- dummy_038::operator++();
- dummy_039::operator++();
- dummy_040::operator++();
- dummy_041::operator++();
- dummy_042::operator++();
- dummy_043::operator++();
- dummy_044::operator++();
- dummy_045::operator++();
- dummy_046::operator++();
- dummy_047::operator++();
- dummy_048::operator++();
- dummy_049::operator++();
-}
-
-
-int main(void)
-{
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/init1.C b/gcc/testsuite/g++.old-deja/g++.mike/init1.C
deleted file mode 100644
index 8d591865d10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/init1.C
+++ /dev/null
@@ -1,25 +0,0 @@
-int count;
-
-extern "C" void _exit(int);
-
-struct C {
- ~C() { if (count != 1) _exit(1); }
-} c;
-
-class A {
-public:
- ~A () { ++count; }
-};
-
-void f() {
- static A a;
-}
-
-void g() {
- // Since this isn't constructed, we can't destruct it.
- static A a;
-}
-
-int main () {
- f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/init2.C b/gcc/testsuite/g++.old-deja/g++.mike/init2.C
deleted file mode 100644
index 343d76f88cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/init2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct Foo {
- Foo (int);
-};
-
-int bar (Foo);
-
-int x = bar (3);
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/leak1.C b/gcc/testsuite/g++.old-deja/g++.mike/leak1.C
deleted file mode 100644
index 2a6c33779d3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/leak1.C
+++ /dev/null
@@ -1,38 +0,0 @@
-int count = 0;
-
-class T {
- int i;
-public:
- T() {
- i = 1;
- ++count;
- }
- T(const T& o) {
- i = o.i;
- ++count;
- }
- T operator +(const T& o) {
- T r;
- r.i = this->i + o.i;
- return r;
- }
- operator int () {
- return i;
- }
- ~T() {
- --count;
- }
-} s, b;
-
-void bar() {
- static int j = int(s+b);
- int i = int(s+b);
-}
-
-int i = int(s+b);
-
-int main() {
- bar();
- bar();
- return count != 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/mangle1.C b/gcc/testsuite/g++.old-deja/g++.mike/mangle1.C
deleted file mode 100644
index ac7d6cf92fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/mangle1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-// Make sure the typedef name is used in name mangling, not some random
-// anonymous name
-
-struct foo {
- typedef enum { red } color;
- void bar(color r) {
- }
-} f;
-
-#ifdef sparc
-void f1() asm("bar__3fooQ23foo3$_0");
-void f1() {
-}
-void f2() asm("_bar__3fooQ23foo3$_0");
-void f2() {
-}
-void f3() asm("__bar__3fooQ23foo3$_0");
-void f3() {
-}
-#endif
-
-main() {
- f.bar(foo::red);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/mangle2.C b/gcc/testsuite/g++.old-deja/g++.mike/mangle2.C
deleted file mode 100644
index 174cacc6f3b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/mangle2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-typedef struct {
-} color;
-
-void foo(color) {
-}
-
-#ifdef sparc
-void f1() asm("foo__FG3$_0");
-void f1() { }
-void f2() asm("_foo__FG3$_0");
-void f2() { }
-void f3() asm("__foo__FG3$_0");
-void f3() { }
-#endif
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/mangle3.C b/gcc/testsuite/g++.old-deja/g++.mike/mangle3.C
deleted file mode 100644
index 77b92eca166..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/mangle3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-struct ZZ {
- int p;
-};
-
-
-template <int ZZ::* ptr>
-struct YY {
- ZZ qq;
- YY() { }
-};
-
-int main() {
- YY<&ZZ::p> ww;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/memoize1.C b/gcc/testsuite/g++.old-deja/g++.mike/memoize1.C
deleted file mode 100644
index 9b7aadc5081..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/memoize1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fsave-memoized
-
-#include <iostream.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/mi1.C b/gcc/testsuite/g++.old-deja/g++.mike/mi1.C
deleted file mode 100644
index 0f5880dc145..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/mi1.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Special g++ Options: -w
-
-class A {
-public:
- virtual ~A(){};
- virtual int type(void) {
- return -1;
- }
-};
-
-class B : public A {
-public:
- virtual ~B(){};
-};
-
-
-class C0 : public B, public virtual A {
-public:
- virtual int type(void) {
- return 0;
- }
-};
-
-class C1 : public C0
-{
-public:
- virtual int type(void) {
- return 1;
- }
-};
-
-class C2 : public C0 {
-public:
- virtual int type(void) {
- return 2;
- }
-};
-
-main() {
- C1 *one = new C1;
-
- if (one->type() != 1)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/mi2.C b/gcc/testsuite/g++.old-deja/g++.mike/mi2.C
deleted file mode 100644
index f3c01e383e5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/mi2.C
+++ /dev/null
@@ -1,46 +0,0 @@
-class A {
- char a;
-public:
- A(char x) : a(x) { }
- virtual ~A() { }
-};
-
-class B : virtual public A {
- char b;
-public:
- B(char x) : A('b'), b(x) { }
- ~B() { }
-};
-
-class C : virtual public A {
- char c;
-public:
- C(char x) : A('c'), c(x) { }
- ~C() { }
-};
-
-class D : virtual public A, public B, public C {
- char d;
-public:
- D(char x) : A('d'), B('d'), C('d'), d(x) { }
- ~D() { }
-};
-
-class E : virtual public A, public B, public C {
- char e;
-public:
- E(char x) : A('e'), B('e'), C('e'), e(x) { }
- ~E() { }
-};
-
-class F : virtual public A, public D, public E {
- char f;
-public:
- F(char x) : A('f'), D('f'), E('f'), f(x) { }
- ~F() { }
-};
-
-int main() {
- F f('x');
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc1.C b/gcc/testsuite/g++.old-deja/g++.mike/misc1.C
deleted file mode 100644
index 0604eac63ac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc1.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// GROUPS passed construct-destruct
-/* g++ constructs j 13 times, and destructs it once. */
-
-extern "C" {
- int printf(...);
- void exit(int);
-}
-
-void foo() {
-}
-
-class C {
- int val;
- public:
- static int count;
- C(int ii) {
- val = ii;
- ++count;
- printf("up\n");
- }
- ~C() {
- --count;
- printf("down\n");
- }
- int operator ++() {
- return ++val;
- }
- operator int() {
- return val;
- }
-};
-
-int C::count = 0;
-
-void bar() {
- for (int ii=0; ii<13; ++ii)
- for (C j=1; j<9; ++j)
- foo();
-}
-
-int main() {
- bar();
- if (C::count)
- {
- printf("FAIL\n");
- exit(1);
- }
- else
- {
- printf("PASS\n");
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc11.C b/gcc/testsuite/g++.old-deja/g++.mike/misc11.C
deleted file mode 100644
index 642fd2e474a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc11.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed pt coredump
-template<class T> class A;
-void f () { A<int> *a; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc12.C b/gcc/testsuite/g++.old-deja/g++.mike/misc12.C
deleted file mode 100644
index b342bb5f6c9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc12.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed
-struct A { virtual void f(); };
-struct B { virtual void f() ; };
-struct C : virtual A , virtual B { virtual void f(); };
-
-/* This used to get an error because the DECL_CONTEXT was blown away. */
-void g(A *ptr) { ptr->f(); }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc13.C b/gcc/testsuite/g++.old-deja/g++.mike/misc13.C
deleted file mode 100644
index 166e33dce6a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc13.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// GROUPS passed vtable
-extern "C" int printf(...);
-enum { vf_request, vf_event } want;
-
-int errs = 0;
-
-class ivResource {
-public:
- virtual ~ivResource () { }
-};
-
-class ivHandler : public ivResource {
-public:
- virtual void event() { }
-};
-
-class ivGlyph : public ivResource {
-public:
- virtual ~ivGlyph () { }
- virtual void request () {
- if (want!=vf_request)
- ++errs;
- }
-};
-
-class ItemView : public ivGlyph, public ivHandler {
-public:
- virtual void event () {
- if (want!=vf_event)
- ++errs;
- }
-} a;
-
-ivGlyph *bar() {
- return &a;
-}
-
-ivHandler *bar2() {
- return &a;
-}
-
-int main() {
- want=vf_request;
- bar()->request();
- want=vf_event;
- bar2()->event();
- if (errs) {
- printf("FAIL\n");
- return 1;
- }
- printf("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc14.C b/gcc/testsuite/g++.old-deja/g++.mike/misc14.C
deleted file mode 100644
index 4886dcc9274..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc14.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// GROUPS passed
-extern "C" int printf(...);
-extern "C" void exit(int);
-
-class A {
-public:
- virtual ~A() {
- printf("FAIL\n");
- exit (1);
- }
-};
-
-class B : public A {
-public:
- virtual ~B() {
- printf("PASS\n");
- exit (0);
- }
-};
-
-int main() {
- B b;
- A *ap = &b;
- ap->~A(); // This should call the destructor virtually.
- printf("FAIL\n");
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc2.C b/gcc/testsuite/g++.old-deja/g++.mike/misc2.C
deleted file mode 100644
index d916651e164..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Special g++ Options: -ansi -pedantic
-// GROUPS passed
-/* -ansi -pedantic-errors should catch this. */
-
-class C {
- public:
- extern inline int A() {// ERROR - .*
- return 1;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc3.C b/gcc/testsuite/g++.old-deja/g++.mike/misc3.C
deleted file mode 100644
index 5ac7a3b4884..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc3.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS uncaught
-int a;// ERROR - .*
-int a;// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc5.C b/gcc/testsuite/g++.old-deja/g++.mike/misc5.C
deleted file mode 100644
index a0761b24818..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc5.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS uncaught
-// Cfront bug A.3 (See Language System Release Notes for the
-// SPARCompiler C++ version 3.0)
-
-struct S1 {
- static int S1; // ERROR - uses same name 9.3
-};
-struct S2 {
- union { int ii; float S2; }; // ERROR - uses same name 9.3
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc6.C b/gcc/testsuite/g++.old-deja/g++.mike/misc6.C
deleted file mode 100644
index e3697527dc9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc6.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS uncaught
-// Cfront bug A.4 (See Language System Release Notes for the
-// SPARCompiler C++ version 3.0)
-
-struct assign {
- assign& operator = (const assign&);
-};
-union U {
- assign a; // ERROR - member of union cannot have op= 9.4// ERROR - .*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc7.C b/gcc/testsuite/g++.old-deja/g++.mike/misc7.C
deleted file mode 100644
index e613ad9e6ba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc7.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed MI
-struct S1 { };
-
-struct S2 : S1 { };
-struct S3 : S1 { };
-
-struct S4 : S3, S2 { };
-
-struct S1 *p1;
-struct S4 *p4;
-
-void foobar ()
-{
- p1 = p4; // ERROR - this is illegal// ERROR - .*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc8.C b/gcc/testsuite/g++.old-deja/g++.mike/misc8.C
deleted file mode 100644
index cf15c82c761..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc8.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed vtable
-class T { public: virtual ~T() {} };
-template<class P> class X : public virtual T {};
-int main() { X<int> x; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc9.C b/gcc/testsuite/g++.old-deja/g++.mike/misc9.C
deleted file mode 100644
index ec02d1e63c1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/misc9.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall -pedantic
-// GROUPS passed qualifiers
-class bee {
- public:
- int bee::bar; // WARNING - there is an extra bee:: here
-};
-
-class foo {
- public:
- int bee::bar; // ERROR - you cannot do this
- int me();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net1.C b/gcc/testsuite/g++.old-deja/g++.mike/net1.C
deleted file mode 100644
index 9b2bbb835ff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Here is a net bug
-
-class ivAllocation {
-public:
- ivAllocation();
- int x_;
-};
-
-class TBScrollBoxInfo {
-public:
- ivAllocation allocation_;
-};
-
-TBScrollBoxInfo* items_;
-
-inline TBScrollBoxInfo item() {
- return items_[0];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net10.C b/gcc/testsuite/g++.old-deja/g++.mike/net10.C
deleted file mode 100644
index 4546bf1bd0b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net10.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-
-const int ci=10, *pc = &ci, *const cpc = pc, **ppc;
-int i, *p, *const cp = &i;
-
-int main()
-{
- i = ci;
- *cp = ci;
- pc++;
- pc = cpc;
- pc = p;
- ppc = &pc;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net11.C b/gcc/testsuite/g++.old-deja/g++.mike/net11.C
deleted file mode 100644
index 2030796a126..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net11.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-
-struct Foo {
- char *p;
- const char *q;
- void m() const;
-};
-
-void other(char &x);
-
-void
-Foo::m() const
-{
- other(*p); // this is legal
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net12.C b/gcc/testsuite/g++.old-deja/g++.mike/net12.C
deleted file mode 100644
index b5fbf64ddec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net12.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-
-struct Foo {
- char *p;
- const char *q;
- void m() const;
-};
-
-void other(char &x); // ERROR - reference below
-
-void
-Foo::m() const
-{
- other(*q); // ERROR - this is bad
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net13.C b/gcc/testsuite/g++.old-deja/g++.mike/net13.C
deleted file mode 100644
index d56e87270e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net13.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-// make sure extern "C" friends work.
-
-extern "C" { void func(); }
-
-struct crash {
- int i;
- friend void func();
-} a;
-
-void func() {
- a.i = 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net14.C b/gcc/testsuite/g++.old-deja/g++.mike/net14.C
deleted file mode 100644
index 4f32fdd52ea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net14.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// this probably does not have correct debugging info generated.
-
-typedef struct Thing {
- Thing();
- int x;
-} Thing;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net15.C b/gcc/testsuite/g++.old-deja/g++.mike/net15.C
deleted file mode 100644
index dfe4dc5e085..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net15.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// InterViews (ibuild) requires this to work.
-
-extern "C" void exit(int);
-
-void *old;
-
-class c1
-{
- int i;
-public:
- c1 () {}
-};
-
-class c2
-{
- int j;
-public:
- c2 () {}
-};
-
-class c3 : public c1, public c2
-{
-public:
- c3 ()
- {
- old = this;
- // printf("new object c3 at %x\n", (int)this); }
- }
-};
-
-c2* f ()
-{
- c2* n = new c3 ();
- // printf ("new object c3 casted to c2 at %x\n", (int)n);
- return n;
-}
-
-int main ()
-{
- c3* o = (c3*)f ();
- // printf("new object c3, upcasted from c2 at %x\n", (int)o);
- // if old and o are not the same, fail the test case.
- if (old != o)
- exit(1);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net16.C b/gcc/testsuite/g++.old-deja/g++.mike/net16.C
deleted file mode 100644
index 5da97a8607f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net16.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// On an i386, this core dumps because the reg-stack.c code is wrong, and
-// pops an fp register that it thinks is not used, but it is.
-
-extern "C" int printf (const char*, ...);
-struct S { ~S () { } };
-double f (S) { return 5; }
-int main() { S s; double dist = f (s); printf ("%g\n", dist); return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net17.C b/gcc/testsuite/g++.old-deja/g++.mike/net17.C
deleted file mode 100644
index 5befc4fd41f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net17.C
+++ /dev/null
@@ -1,58 +0,0 @@
-// example from the ARM page 292 and 293
-
-extern "C" int printf(const char *, ...);
-extern "C" void exit(int);
-
-int i = 0;
-
-class A {
-public:
- A() {
- printf("Doing A\n");
- if (++i != 1)
- exit(1);
- }
-};
-
-class B {
-public:
- B() {
- printf("Doing B\n");
- if (++i != 2)
- exit(1);
- }
-};
-
-class C : public virtual A, public virtual B {
-public:
- C() {
- printf("Doing C\n");
- if (++i != 3)
- exit(1);
- }
-};
-
-class D : public virtual B, public virtual A {
-public:
- D() {
- printf("Doing D\n");
- if (++i != 4)
- exit(1);
- }
-};
-
-class E : public C, public D {
-public:
- E() {
- printf("Doing E\n");
- if (++i != 5)
- exit(1);
- }
-} e;
-
-
-int main() {
- if (++i != 6)
- exit(1);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net18.C b/gcc/testsuite/g++.old-deja/g++.mike/net18.C
deleted file mode 100644
index 81e38d370e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net18.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-class ClassA {
-public:
- typedef ClassA& (*PMFV)(const char*);
- static PMFV setMapper(PMFV);
- static PMFV _mapper;
-};
-
-class ClassB {
-public:
- typedef ClassB& (*PMFV)(const char*);
-};
-
-ClassA::PMFV ClassA::setMapper(ClassA::PMFV newFunc)
-{
- PMFV oldFunc = _mapper;
- _mapper = newFunc;
-
- return oldFunc;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net19.C b/gcc/testsuite/g++.old-deja/g++.mike/net19.C
deleted file mode 100644
index 68c47533a68..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net19.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Test to make sure &<incomplete record type> works in c++
-// Build don't link:
-
-struct FILE {
- int _flags;
-};
-
-extern struct _fake_filebuf __std_filebuf_2;
-
-class Value {
- int width;
-public:
- Value();
- friend Value operator&( __const Value&, __const Value&);
-};
-
-FILE* Foo ()
-{
- return ((FILE*)&__std_filebuf_2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net2.C b/gcc/testsuite/g++.old-deja/g++.mike/net2.C
deleted file mode 100644
index ffc14ef2115..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Here is another program from the net.
-
-class B;
-
-class A {
- private:
- A(B *); // ERROR -
- public:
- A(long); // ERROR -
-};
-
-A a(0); // ERROR - should be ambigious
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net20.C b/gcc/testsuite/g++.old-deja/g++.mike/net20.C
deleted file mode 100644
index 916ba434b37..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net20.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// A pointer to member function test case.
-
-struct X
-{
-};
-
-void (X::* fee ())()
-{
- lab: goto lab;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net21.C b/gcc/testsuite/g++.old-deja/g++.mike/net21.C
deleted file mode 100644
index 02e40b0b935..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net21.C
+++ /dev/null
@@ -1,59 +0,0 @@
-// Make sure we can initialize complex (MI ambiguous) vtables.
-
-extern "C" int printf(const char *, ...);
-
-struct a
-{
- virtual void f() = 0;
-};
-
-struct b
-{
- virtual void g() { };
-};
-
-struct c: public a, public b
-{
- virtual void f();
- virtual void g();
-};
-
-void c::f()
-{
- printf("c::f()\n");
-}
-
-void c::g()
-{
- printf("c::g()\n");
-}
-
-struct e: public b
-{
-};
-
-struct h
-{
-};
-
-struct d: public c, public e, public h
-{
- virtual void f();
- virtual void g();
-};
-void d::f()
-{
- printf("d::f()\n");
-}
-
-void d::g()
-{
- printf("d::g()\n");
-}
-
-int main(int argc, char* argv[])
-{
- a* tmp = new d;
- tmp->f();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net22.C b/gcc/testsuite/g++.old-deja/g++.mike/net22.C
deleted file mode 100644
index f18d0563f9f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net22.C
+++ /dev/null
@@ -1,13 +0,0 @@
-class Parent {
-public:
- Parent() {}
- Parent( char *s ) {}
-};
-
-class Child : public Parent {
-}; // ERROR - called
-
-int main() {
- Child c( "String initializer" ); // ERROR - bad
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net23.C b/gcc/testsuite/g++.old-deja/g++.mike/net23.C
deleted file mode 100644
index 2fe7d4c8c01..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net23.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-class environment {
-public:
- int get_font() ;
-};
-
-typedef int (environment::*INT_FUNCP)();
-
-void myfoo(INT_FUNCP a);
-
-void init_env_requests()
-{
- myfoo(&environment::get_font);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net24.C b/gcc/testsuite/g++.old-deja/g++.mike/net24.C
deleted file mode 100644
index 682fb08b17a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net24.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-
- char HexDigit(unsigned char ch) { return ch < 'f'; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net25.C b/gcc/testsuite/g++.old-deja/g++.mike/net25.C
deleted file mode 100644
index 56356779042..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net25.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-void shake_zero()
-{
-}
-
-void shake_one()
-{
-}
-
-void (*foo)();
-
-int main(int a)
-{
- foo = a ? shake_zero : shake_one;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net26.C b/gcc/testsuite/g++.old-deja/g++.mike/net26.C
deleted file mode 100644
index 753c5f6cd2b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net26.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// A test case found by InterViews testing...
-
-extern "C" int printf(const char *, ...);
-
-class A {
-public:
- int foo() { printf("ok nv\n"); }
- virtual int vfoo() { printf("ok v\n"); }
-};
-
-struct S {
- int (A::*pfn1)();
- int (A::*pfn2)();
- int (A::*pfn3)();
-};
-
-// This failed before.
-S s = { &A::foo, &A::vfoo, &A::foo };
-
-A a;
-
-int main() {
- (a.*s.pfn1)();
- (a.*s.pfn2)();
- printf("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net27.C b/gcc/testsuite/g++.old-deja/g++.mike/net27.C
deleted file mode 100644
index afe975cc44f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net27.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-class path {
-public:
- path (const path& r)
- { "\"";
- '\'';
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net28.C b/gcc/testsuite/g++.old-deja/g++.mike/net28.C
deleted file mode 100644
index 3b724820fbd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net28.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// From reinhard@ifki50.informatik.fh-muenchen.de against gcc 2.5.0.
-// shows an InterViews problem on RS6000 and i386. Doesn't happen on
-// SPARC.
-
-// From fbrowser.c.
-
-// Build don't link:
-
-class test {
-};
-
-
-typedef int ( test ::* test2)(int fd);
-
-class ivFileBrowserImpl_IOCallback
-{
- public:
-
- int inputReady(int fd);
- test * _obj;
- test2 _input;
-};
-
-
-int ivFileBrowserImpl_IOCallback ::inputReady(int fd)
-{
- return (_obj->*_input)(fd);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net29.C b/gcc/testsuite/g++.old-deja/g++.mike/net29.C
deleted file mode 100644
index 6635241eb89..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net29.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// This is a test case for the recent libg++ make check problem.
-// Build don't link:
-
-class SubString {
-public:
- SubString();
- SubString(const SubString& x);
-};
-
-class String {
-public:
- String();
- String(const SubString& x);
-};
-
-int operator!=(const String& x, const SubString& y);
-int operator!=(const String& x, const String& y);
-
-int operator!=(const SubString& x, const String& y);
-int operator!=(const SubString& x, const SubString& y);
-
-void comparetest()
-{
- String x;
- SubString s;
- x != s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net3.C b/gcc/testsuite/g++.old-deja/g++.mike/net3.C
deleted file mode 100644
index e6dbdcbe786..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Here is another program from the net.
-
-class BOOL {
- public:
- int val;
-
- BOOL(int i =0);
- operator int();
-};
-
-BOOL& foo()
-{
- static BOOL status;
- return status;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net30.C b/gcc/testsuite/g++.old-deja/g++.mike/net30.C
deleted file mode 100644
index 52f7b28fe24..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net30.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-class X {
-public:
- void x(void);
-};
-
-class Y : public X {
-};
-
-class Z : private Y {
-public:
- void y(void);
-};
-
-void Z::y(void) {
- x(); // should be OK
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net31.C b/gcc/testsuite/g++.old-deja/g++.mike/net31.C
deleted file mode 100644
index 3ecf81c7349..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net31.C
+++ /dev/null
@@ -1,68 +0,0 @@
-// Build don't link:
-
-class foo_a {
- protected:
- double func(int xi) {return 0.0;}
- public:
- foo_a() {}
-};
-
-class foo_b {
- public:
- foo_b(int);
- foo_b();
- ~foo_b();
- foo_b(const foo_b&);
- inline double& operator()(int);
- foo_b& operator=(foo_b&);
- void bar_a(int);
-};
-
-foo_b& operator*(foo_b&, foo_b&);
-foo_b& operator*(double, foo_b&);
-
-template <class TP>
-class foo_c {
- typedef double (TP::* Tmatf)(int);
- int m;
- Tmatf* a;
- void foo_cinst (int mm);
- public:
- foo_c(int mm);
- foo_c() {m = 0; a = 0;}
- ~foo_c() {delete a;}
- double (TP::*& operator()(int i))(int) {return a[i];}
- foo_b& bug_func(int);
-};
-
-template <class TP>
-foo_b& foo_c<TP>::bug_func(int x) {
- static foo_b retval(m);
- retval.bar_a(m);
- for (register int i = 0; i < m; i++)
- retval(i) = (*(operator()(i)))(x); // ERROR -
- return retval;
-}
-
-template <class TP>
-class foo_d {
- protected:
- foo_c<TP> bar_b;
- public:
- foo_d() {}
- virtual ~foo_d() {}
- virtual void setfoo_c();
-};
-
-class foo_e : public foo_a, public foo_d<foo_a> {
- public:
- foo_e();
- ~foo_e() {}
- void setfoo_c();
-};
-
-void foo_e::setfoo_c() {
- bar_b(0) = func; // ERROR -
-}
-
-template class foo_c<foo_a>;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net32.C b/gcc/testsuite/g++.old-deja/g++.mike/net32.C
deleted file mode 100644
index 4ac8a94816f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net32.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-class Co_obj {
-public:
- Co_obj() {}
- };
-class Linear_list_node : virtual public Co_obj { };
-class M1 : public Linear_list_node { };
-class M2 : public Linear_list_node { };
-class New_node : public M1, public M2 { };
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net34.C b/gcc/testsuite/g++.old-deja/g++.mike/net34.C
deleted file mode 100644
index 51266a35d48..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net34.C
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <iostream.h>
-
-class foo {
-public:
- foo(int i) {k = i;}
-protected:
- int k;
-};
-
-class bar_1 : public foo {
-public:
- bar_1(int i) : foo(i) {}
- int get_k() {return k;}
-};
-
-class bar_2 : public foo {
-public:
- bar_2(int i) : foo(i) {};
- int get_k() {return k;}
-};
-
-class multiple : public bar_1, public bar_2 {
-public:
- multiple(int i1, int i2) : bar_1(i1), bar_2(i2) {}
- void print() {
- cout << "bar_1::k -> " << bar_1::k << "\n";
- cout << "bar_2::k -> " << bar_2::k << "\n";
- cout << "bar_1::get_k() -> " << bar_1::get_k() << "\n";
- cout << "bar_2::get_k() -> " << bar_2::get_k() << "\n";
- }
-};
-
-int main() {
- multiple m(1,2);
- m.print();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net35.C b/gcc/testsuite/g++.old-deja/g++.mike/net35.C
deleted file mode 100644
index 332bf429f3e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net35.C
+++ /dev/null
@@ -1,27 +0,0 @@
-extern "C" int printf(const char *, ...);
-
-class A {
- public:
- char *x;
-};
-
-class B1:public virtual A { };
-
-class B2:public virtual A { };
-
-class C:public B1, public B2 {
-public:
- C() { }
-};
-
-int main() {
- C c;
- printf("&c.x = %x\n", &c.x);
- printf("&c.B1::x = %x\n", &c.B1::x);
- printf("&c.B2::x = %x\n", &c.B2::x);
- printf("&c.A::x = %x\n", &c.A::x);
- if (&c.x != &c.B1::x
- || &c.x != &c.B2::x
- || &c.x != &c.A::x)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net36.C b/gcc/testsuite/g++.old-deja/g++.mike/net36.C
deleted file mode 100644
index 843c31421ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net36.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-class X;
-
-class A {
-public:
- void handlerFn(X*);
-};
-
-typedef void (A::*handler) (X*);
-
-class B {
-public:
- void setHandler(handler);
-};
-
-void f(B* b) {
- b->setHandler(A::handlerFn); // ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net37.C b/gcc/testsuite/g++.old-deja/g++.mike/net37.C
deleted file mode 100644
index 1ce7834a5e2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net37.C
+++ /dev/null
@@ -1,39 +0,0 @@
-class B {
-public:
- int bi;
- void bProc ( void ) { bi = 39; }
- };
-
-class D : public B {
-public:
- int di;
- void dProc (void ){ di = 42; }
- };
-
-typedef void (B::*BPROC)(void);
-typedef void (D::*DPROC)(void);
-
-union AFX_PMSG {
-public:
-
- AFX_PMSG () {};
- AFX_PMSG ( BPROC bpr ) { bfn = bpr ; }
-
- operator BPROC() { return bfn; }
-
- BPROC bfn;
- DPROC dfn;
-};
-
-
-int main(int argc, char *argv[]) {
- B b;
- D d;
-
- BPROC bpr = &B::bProc;
- AFX_PMSG pmsg(bpr);
-
- BPROC ppr = pmsg;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net38.C b/gcc/testsuite/g++.old-deja/g++.mike/net38.C
deleted file mode 100644
index 2b7c0c4f940..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net38.C
+++ /dev/null
@@ -1,28 +0,0 @@
-struct A {
- virtual int a () { return 0; }
-};
-
-struct B {
- virtual int b () { return 0; }
- virtual int b2 () { return 0; }
-};
-
-struct C : public A, public B {
- virtual int a () { return 1; }
- virtual int b () { return 2; }
- virtual int b2 () { return 3; }
-};
-
-int (C::*vmpb) () = &C::b;
-int (C::*vmpb2) () = &C::b2;
-int (C::*vmpa) () = &C::a;
-
-int main () {
- C c;
- if ((c.*vmpa)() != 1)
- return 1;
- if ((c.*vmpb)() != 2)
- return 1;
- if ((c.*vmpb2)() != 3)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net39.C b/gcc/testsuite/g++.old-deja/g++.mike/net39.C
deleted file mode 100644
index 00ad1c6bc02..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net39.C
+++ /dev/null
@@ -1,30 +0,0 @@
-void *vp;
-
-class silly {
-public:
- virtual int b() { return 1; }
-};
-class solly : silly {
-public:
- virtual int b() { return 2; }
-};
-class thing {
-public:
- virtual int a() { return 3; }
-};
-class thong : public solly, public thing {
-public:
- virtual int a() {
- if (this != vp) return 4;
- else return 0;
- }
-};
-
-typedef int(thing::*ping)();
-ping qq = &thing::a;
-
-int main() {
- thong b;
- vp = &b;
- return (b.*qq)();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net4.C b/gcc/testsuite/g++.old-deja/g++.mike/net4.C
deleted file mode 100644
index 4cf8e7a1387..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net4.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Message-Id: <m0lLuUK-0000fRC@nix.appli.se>
-// Date: Wed, 4 Mar 92 12:50 MET
-// From: niklas@appli.se (Niklas Hallqvist)
-// To: eichin@cygnus.com, tiemann@cygnus.com
-// Cc: gcc2@cygnus.com
-// Subject: nested type handling
-//
-// The last couple of days I've been struggling with nested types in the
-// C++ compiler. Frankly, it's a mess! Was it impossible to put the stuff
-// into the parser instead of the lexer? Well, anyway, to get the following
-// code to compile:
-//
-// struct O {
-// struct M {
-// struct I
-// {};
-// };
-// };
-// O::M::I s;
-//
-// a patch enclosed below is needed. I'm not sure if it causes any
-// unanticipated side-effects, but it seem to work well for me.
-
-// Build don't link:
-
-struct O {
- struct M {
- struct I
- {};
- };
-};
-O::M::I s;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net40.C b/gcc/testsuite/g++.old-deja/g++.mike/net40.C
deleted file mode 100644
index 10e16e685b7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net40.C
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stddef.h>
-extern "C" void abort();
-
-class toto {
-public:
- void * operator new (size_t t) {
- abort();
- }
- void operator delete (void*p, size_t t) {
- abort();
- }
-};
-
-int main() {
- toto * p;
- p = new toto[5];
- delete [] p;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net41.C b/gcc/testsuite/g++.old-deja/g++.mike/net41.C
deleted file mode 100644
index 2c29e9b4410..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net41.C
+++ /dev/null
@@ -1,3 +0,0 @@
-int main() {
- int i = ~ false;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net42.C b/gcc/testsuite/g++.old-deja/g++.mike/net42.C
deleted file mode 100644
index 178a0bbf5ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net42.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-typedef void (*__sighandler_t)(int);
-
-struct sigaction {
- __sighandler_t sa_handler;
-};
-
-struct task_struct {
- struct sigaction sigaction[32];
-};
-
-void
-get_stat() {
- struct task_struct ** p = 0;
- unsigned long bit = 1;
- unsigned long sigignore = 0;
- int i = 0;
- switch((unsigned long) (*p)->sigaction[i].sa_handler)
- {
- case 1:
- sigignore |= bit;
- break;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net43.C b/gcc/testsuite/g++.old-deja/g++.mike/net43.C
deleted file mode 100644
index 3a34c8f7e2f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net43.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-class foo {
- public:
- friend int operator ^(const foo&, const foo&);
-};
-
-int main ()
-{
- int (*funptr) (const foo &, const foo &) = operator ^;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net44.C b/gcc/testsuite/g++.old-deja/g++.mike/net44.C
deleted file mode 100644
index 5b6a0ad4bfe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net44.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Make sure we don't dump core
-
-enum request { q, w, e}; // ERROR -
-
-class request { // ERROR -
-public:
- int a;
- request( int b) {
- a = b;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net45.C b/gcc/testsuite/g++.old-deja/g++.mike/net45.C
deleted file mode 100644
index 388af8fe82f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net45.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-template <class T1, class T2>
-struct pair {
- T1 first;
- T2 second;
- pair(const T1& a, const T2& b) : first(a), second(b) {}
-};
-
-struct myint {
- myint() {
- }
- myint(const myint& mi) {
- }
- myint& operator=(const myint& mi) {
- }
-};
-
-extern pair<const myint, myint> a;
-pair<const myint, myint> b(a);
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net46.C b/gcc/testsuite/g++.old-deja/g++.mike/net46.C
deleted file mode 100644
index ac7950117f9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net46.C
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <iostream.h>
-#include <stddef.h>
-#include <new>
-
-int fail = 1;
-
-static void *operator new(size_t size) throw (std::bad_alloc) {
- --fail;
- return (void*) 0;
-}
-
-int main() {
- cout << "";
- new int;
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net47.C b/gcc/testsuite/g++.old-deja/g++.mike/net47.C
deleted file mode 100644
index fc4a81f1266..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net47.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w -fpermissive
-
-class foo {};
-class bar : foo {
-public:
- bar () : () {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net48.C b/gcc/testsuite/g++.old-deja/g++.mike/net48.C
deleted file mode 100644
index a2d674383b6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net48.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-char *a="aê";
-
-class A
-{
-public:
- A()
- {
- char *b="aê";
- }
-};
-
-char *c="aê";
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net5.C b/gcc/testsuite/g++.old-deja/g++.mike/net5.C
deleted file mode 100644
index e9144320479..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net5.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-volatile void abort();
-volatile void oink() {
- abort() ;
-} // gets bogus error -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net6.C b/gcc/testsuite/g++.old-deja/g++.mike/net6.C
deleted file mode 100644
index 6a3aef1d919..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net6.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-struct X {};
-X x = X(); // gets bogus error
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net7.C b/gcc/testsuite/g++.old-deja/g++.mike/net7.C
deleted file mode 100644
index 14655028ea7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net7.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-// This should compile.
-
-int foo (signed char *);
-int foo (char *);
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net8.C b/gcc/testsuite/g++.old-deja/g++.mike/net8.C
deleted file mode 100644
index 12823175a24..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net8.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-
-class Base {
-public:
- int foo;
-};
-
-class Derived : public Base {
-public:
- int bar;
-};
-
-void func(Base&); // ERROR -
-
-void func2(const Derived& d) {
- func(d); // ERROR - this is bad
-}
-
-void
-foo (int& a)
-{ // ERROR -
-}
-
-int main ()
-{
- int b;
- const int*const a = &b;
- *a = 10; // ERROR - it's const
- foo (*a); // ERROR - it's const
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net9.C b/gcc/testsuite/g++.old-deja/g++.mike/net9.C
deleted file mode 100644
index 7d876dc95f4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/net9.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-
-const int ci=10, *pc = &ci, *const cpc = pc, **ppc;
-int i, *p, *const cp = &i;
-
-int main()
-{
- ci = 1; // ERROR - bad
- ci++; // ERROR - bad
- *pc = 2; // ERROR - bad
- cp = &ci; // ERROR - bad
- cpc++; // ERROR - bad
- p = pc; // ERROR - bad
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns1.C b/gcc/testsuite/g++.old-deja/g++.mike/ns1.C
deleted file mode 100644
index c347d2d93a4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace Foo {
- int bar() {
- return 0;
- }
-}
-
-using namespace Foo;
-
-int main() {
- bar();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns10.C b/gcc/testsuite/g++.old-deja/g++.mike/ns10.C
deleted file mode 100644
index a6b1c3aedd3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns10.C
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace Foo {
- int bar() {
- return 0;
- }
-}
-
-int main() {
- return Foo::bar();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns11.C b/gcc/testsuite/g++.old-deja/g++.mike/ns11.C
deleted file mode 100644
index bde7723bd7c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns11.C
+++ /dev/null
@@ -1,18 +0,0 @@
-class Foo {
-};
-
-namespace A {
- namespace Foo {
- int bar() {
- return 0;
- }
- }
-
- int mymain() {
- return Foo::bar();
- }
-}
-
-int main() {
- return A::mymain();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns12.C b/gcc/testsuite/g++.old-deja/g++.mike/ns12.C
deleted file mode 100644
index 38978109623..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns12.C
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace {
- int i = 10;
- enum fish { one = 1, two = 2, red = 3, blue = 4 };
-}
-extern "C" void printf (const char *, ...);
-int main(void)
-{
- if (i != 10) {
- return 1;
- }
- if (one != 1) {
- return 2;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns13.C b/gcc/testsuite/g++.old-deja/g++.mike/ns13.C
deleted file mode 100644
index 5482a43c72f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns13.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-namespace N {
- struct C {
- C();
- };
-}
-
-namespace M {
- struct C {
- C();
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns14.C b/gcc/testsuite/g++.old-deja/g++.mike/ns14.C
deleted file mode 100644
index 3c3ad3fc20b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns14.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-namespace Jazz {
- int horn( int h ) { return 1; }
-}
-
-using Jazz::horn;
-
-namespace Jazz {
- int horn ( char c ) { return 0; }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C b/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
deleted file mode 100644
index 39440526190..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#define MAX 256
-#define MAXSTATE 1000000
-
-struct R {
- int count;
- int state1;
- int state2;
-};
-
-int cmp_d(const R* a, const R* b) {
- return a->count > b->count;
-}
-
-namespace CXX {
- template<class T, int i1, int i2>
- inline void qsort (T b[i1][i2], int (*cmp)(const T*, const T*)) {
- ::qsort ((void*)b, i1*i2, sizeof(T), (int (*)(const void *, const void *))cmp);
- }
-}
-
-using namespace CXX;
-
-void sort_machine() {
- struct R d[MAX][MAX];
- qsort<R,MAX> (d, cmp_d);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns2.C b/gcc/testsuite/g++.old-deja/g++.mike/ns2.C
deleted file mode 100644
index 365eb8c0923..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace N {
- int i;
-};
-
-using namespace N;
-
-int main() {
- return i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns3.C b/gcc/testsuite/g++.old-deja/g++.mike/ns3.C
deleted file mode 100644
index 77da5af7f1c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns3.C
+++ /dev/null
@@ -1,4 +0,0 @@
-int i; // ERROR -
-
-namespace i { // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns4.C b/gcc/testsuite/g++.old-deja/g++.mike/ns4.C
deleted file mode 100644
index 7c359cf5c03..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns4.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-namespace i {
-}
-namespace i {
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns5.C b/gcc/testsuite/g++.old-deja/g++.mike/ns5.C
deleted file mode 100644
index d138ff3c8fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns5.C
+++ /dev/null
@@ -1,5 +0,0 @@
-namespace A {
- int i = 1;
-}
-
-int j = i; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns6.C b/gcc/testsuite/g++.old-deja/g++.mike/ns6.C
deleted file mode 100644
index dc082472ada..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-namespace A {
- int i = 1;
-}
-
-namespace A {
- int j = i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns7.C b/gcc/testsuite/g++.old-deja/g++.mike/ns7.C
deleted file mode 100644
index ff7cda6e5ab..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns7.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-namespace A {
- int i = 1;
-}
-
-namespace B {
- int j = i; // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns8.C b/gcc/testsuite/g++.old-deja/g++.mike/ns8.C
deleted file mode 100644
index dc082472ada..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns8.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-namespace A {
- int i = 1;
-}
-
-namespace A {
- int j = i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns9.C b/gcc/testsuite/g++.old-deja/g++.mike/ns9.C
deleted file mode 100644
index 8d640e70fed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns9.C
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace Foo {
- int bar() {
- return 0;
- }
-}
-
-using Foo::bar;
-
-int main() {
- return bar();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/offset1.C b/gcc/testsuite/g++.old-deja/g++.mike/offset1.C
deleted file mode 100644
index 6a259d8967a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/offset1.C
+++ /dev/null
@@ -1,38 +0,0 @@
-extern "C" int printf(const char *, ...);
-void *vp;
-int fail = 0;
-
-class Foo {
-public:
- virtual void setName() {
- printf("Foo at %x\n", this);
- if (vp != (void*)this)
- fail = 1;
- }
-};
-
-class Bar : public Foo {
-public:
- virtual void init(int argc, char **argv) {
- printf("Bar's Foo at %x\n", (Foo*)this);
- vp = (void*)(Foo*)this;
- setName();
- }
-};
-
-class Barf : virtual public Bar {
-public:
- virtual void init(int argc, char **argv) { Bar::init(argc, argv); }
-};
-
-class Baz : virtual public Bar, virtual public Barf {
-public:
- virtual void init(int argc, char **argv) { Barf::init(argc, argv); }
-};
-
-Bar *theBar = new Baz();
-
-int main(int argc, char **argv) {
- theBar->init(argc, argv);
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/opr-as1.C b/gcc/testsuite/g++.old-deja/g++.mike/opr-as1.C
deleted file mode 100644
index 935b0bac85c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/opr-as1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Shows a problem with the default op= not being an implementation...
-
-class C {
- int i;
-};
-
-C a, b;
-
-int main() {
- a = b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/opr-dot1.C b/gcc/testsuite/g++.old-deja/g++.mike/opr-dot1.C
deleted file mode 100644
index acef6ad9c2b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/opr-dot1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-typedef struct base1 {
- int x;
-} base1_t;
-
-typedef struct base2 {
- int x;
-} base2_t;
-
-class derived1 : public base1 {
-};
-
-class derived2 : public derived1, public base2 {
-};
-
-struct test {
- derived2& fails;
- void test1() {
- fails.base1::x = 5;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10148.C b/gcc/testsuite/g++.old-deja/g++.mike/p10148.C
deleted file mode 100644
index 074724a5646..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10148.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// prms-id: 10148
-
-int fail = 1;
-void ok() { fail = 0; }
-
-class TC {
- int s_;
-};
-
-class TIRD {
- public:
- void (*itc)();
- TIRD() { itc = ok; }
-};
-
-class TCCB : public TC, public TIRD {
-};
-
-class TCRCB : public TCCB {
-public:
- virtual void eat ();
-};
-
-void TCRCB::eat () {
- void *vp = (TIRD*)this->itc;
- this->itc();
-}
-
-int main() {
- TCRCB a;
- a.eat();
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10247.C b/gcc/testsuite/g++.old-deja/g++.mike/p10247.C
deleted file mode 100644
index c69bc90afdf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10247.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// prms-id: 10247
-
-class a {
-public:
- int operator++(int) { return operator()++ ; } // ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10416.C b/gcc/testsuite/g++.old-deja/g++.mike/p10416.C
deleted file mode 100644
index aa56b5ffc2a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10416.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe*
-// prms-id: 10416
-
-class not_ok {
-public:
- void f() throw(int) { }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10511.C b/gcc/testsuite/g++.old-deja/g++.mike/p10511.C
deleted file mode 100644
index b92b4f7d7fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10511.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// prms-id: 10511
-
-class S {
-public:
- enum E {a, b, c};
-};
-
-class C {
-public:
- bool f (S::E()) { }
- virtual void foo();
-};
-
-void C::foo() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C b/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C
deleted file mode 100644
index f5ff345a3fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C
+++ /dev/null
@@ -1,45 +0,0 @@
-// Special g++ Options: -Wno-pmf-conversions
-// prms-id: 10769
-
-#define PMF2PF(PMF) ((void (*)())(PMF))
-
-int ok = 0;
-
-class A {
-public:
- void f1a() { ok += 3; }
- void f1b() { ok += 5; }
- void f2a() { ok += 7; } // gets bogus error XFAIL *-*-*
- void f2b() { }
- const static void (*table[2][2])();
- void main();
-} a;
-
-const void (*A::table[2][2])()
- = { { PMF2PF(&A::f1a), PMF2PF(&A::f1b) },
- { PMF2PF(&A::f2a), PMF2PF(&A::f1b) },
- };
-
-void
-dispatch (A *obj, int i, int j)
-{
- (*(void (*)(A *))A::table[i][j])(obj);
-}
-
-void A::main() {
- dispatch (&a, 0, 0);
- void (A::*mPtr)() = &A::f1a;
-
- (*(void (*)(A*))PMF2PF(mPtr))(&a);
- (*(void (*)(A*))PMF2PF(f2a))(&a); // gets bogus error XFAIL *-*-*
-}
-
-int main() {
- a.A::main();
- dispatch (&a, 0, 1);
- void (A::*mPtr)() = &A::f1b;
-
- (*(void (*)(A*))PMF2PF(a.*mPtr))(&a);
- (*(void (*)(A*))PMF2PF(a.f2a))(&a); // gets bogus error XFAIL *-*-*
- return ok != 3+3+5+5+7+7;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C b/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C
deleted file mode 100644
index c9f859d9319..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Special g++ Options:
-// prms-id: 10769
-
-#define PMF2PF(PMF) ((void (*)())(PMF))
-
-class A {
-public:
- void f1a() { }
- void main();
-} a;
-
-class B {
-public:
- void bf1() { }
-} b;
-
-void A::main() {
- void (B::*mPtrB)(B*);
- (*(void (*)(A*))PMF2PF(mPtrB))(&b); // ERROR -
-}
-
-int main() {
- void (A::*mPtr)() = &A::f1a;
- (*(void (*)(A*))PMF2PF(mPtr))(&a); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10849a.C b/gcc/testsuite/g++.old-deja/g++.mike/p10849a.C
deleted file mode 100644
index d6d46569b87..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10849a.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// prms-id: 10849
-
-struct A
-{
- int comm;
- A(int i) : comm(i) { }
-};
-
-struct S1 { char c1; };
-
-struct B : public S1, public A
-{
- B(int i) : A(i) { }
-};
-
-struct C : public A
-{
- C(int i) : A(i) { }
-};
-
-struct D : public B, public C
-{
- virtual int g() {
- int D::*pmd = (int C::*)&C::comm;
- return (this->*pmd) == 42;
- }
- D() : B(41), C(42) { }
-} d;
-
-int main() {
- if (! d.g())
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10951.C b/gcc/testsuite/g++.old-deja/g++.mike/p10951.C
deleted file mode 100644
index d53775fecc4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10951.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// prms-id: 10951
-
-inline int m1(const int& a) {
- return 1;
-}
-
-template <class T>
-class A {
-public:
- typedef int st;
-
- static int m2t() {
- return m1(1);
- }
-};
-
-A<int>::st i;
-int m3() {
- return A<int>::m2t();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11012.C b/gcc/testsuite/g++.old-deja/g++.mike/p11012.C
deleted file mode 100644
index aca77d42607..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11012.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wno-pmf-conversions
-// prms-id: 11012
-
-class Foo {
-public:
- int f(){}
-};
-
-void foo() {
- void *p1 = &Foo::f;
- const void *p2 = &Foo::f;
- int (*p3)() = &Foo::f;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11110.C b/gcc/testsuite/g++.old-deja/g++.mike/p11110.C
deleted file mode 100644
index 428486a5042..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11110.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// prms-id: 11110
-
-class data;
-
-class conatiner {
-public:
- virtual void* first ();
- virtual data* contents (void* i); // ERROR - candidates
-};
-
-class user {
-public:
- data* data1 () const;
-private:
- conatiner& _c;
-};
-
-data* user::data1() const {
- return (_c.contents (_c.first)); // ERROR -
-} // ERROR - control reaches end
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11116.C b/gcc/testsuite/g++.old-deja/g++.mike/p11116.C
deleted file mode 100644
index 9beff46e827..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11116.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wno-pmf-conversions
-// prms-id: 11116
-
-class Bar {
-public:
- int f(int a) { val = a; return val; }
-private:
- int val;
-};
-
-typedef int (Bar::*BarPtr)(int);
-
-void foo() {
- int a;
- int (Bar::*bp)(int) = &Bar::f;
- Bar bar;
- int (*p)(void *, int);
-
- p = (int (*)(void*,int))((void (*)())((bp).__pfn_or_delta2.__pfn));
- a = (*p)(&bar, 4);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11142.C b/gcc/testsuite/g++.old-deja/g++.mike/p11142.C
deleted file mode 100644
index a22ca45bbd7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11142.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions -O -g
-// prms-id: 11142
-
-class RWxmsg {
-public:
- RWxmsg();
- virtual ~RWxmsg();
-};
-
-class RWTHRInternalError : public RWxmsg {
-public:
- virtual ~RWTHRInternalError() { }
-};
-
-void setCount(int count) {
- throw RWTHRInternalError();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11144.C b/gcc/testsuite/g++.old-deja/g++.mike/p11144.C
deleted file mode 100644
index 98b9fb04ef9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11144.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Special g++ Options: -O
-// prms-id: 11144
-
-class Id {
-public:
- int d_i;
- Id(int i) : d_i(i) {}
- int value() {return d_i;}
-} id(1);
-
-Id foo() { return id; }
-
-int main() {
- const Id &id1 = foo();
- const Id &id2 = foo();
- return &id1 == &id2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11482.C b/gcc/testsuite/g++.old-deja/g++.mike/p11482.C
deleted file mode 100644
index f03a4229eca..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11482.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// prms-id: 11482
-
-void *vp;
-
-enum E { bad, ok } e;
-
-void foo() {
- e = (E)vp; // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11667.C b/gcc/testsuite/g++.old-deja/g++.mike/p11667.C
deleted file mode 100644
index 89ab3132f47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p11667.C
+++ /dev/null
@@ -1,62 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-// prms-id: 11667
-
-extern "C" int printf(const char *,...);
-
-template < class T >
-class LIST {
-public:
-
- LIST() { nitems = 16; items = new T[nitems]; };
-
- LIST(int u) { nitems = u; items = new T[nitems]; };
-
- T& operator[](int i) const {
- return items[i];
- }
-
- void grow(int n) {
- T* newlist = new T[n];
- T* src = items;
- T* dst = newlist;
- int i = nitems;
-
- try {
- while (i--) *dst++ = *src++;
- } catch (...) {
- delete[] newlist;
- throw;
- }
-
- if (items) delete[] items;
- nitems = n;
- items = newlist;
- }
-
-private:
- int nitems;
- T *items;
-};
-
-int main(int argc, char **argv) {
- int i;
- LIST<int> mylist(10);
-
- printf("Start dumping initial 10 item list\n");
- for (i = 0; i < 10 ; i++) {
- mylist[i] = i;
- printf("%d\n", mylist[i]);
- }
-
- printf("Growing list to 20\n");
- mylist.grow(20);
-
- printf("Start dumping grown 20 item list\n");
- for (i = 0; i < 20; i++) {
- mylist[i] = i;
- printf("%d\n", mylist[i]);
- }
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p12306.C b/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
deleted file mode 100644
index 12b4a453b9a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
+++ /dev/null
@@ -1,75 +0,0 @@
-// prms-id: 12306
-
-void *ptr1, *ptr2;
-int fail = 0;
-
-extern "C" int printf(const char *...);
-
-class RWSlist { };
-
-class RWSlistIterator {
-public:
- RWSlist *slist;
- RWSlistIterator(RWSlist& s) { }
- void toLast() {
- if (ptr1 != (RWSlistIterator*)this)
- fail = 5;
- if (ptr2 != &(*this).slist)
- fail = 6;
-
- if (0) printf("at %x %x\n", (RWSlistIterator*)this, &(*this).slist);
- }
-};
-
-class RWCollectable {
-};
-
-class RWSlistCollectables : public RWSlist {
-public:
- RWSlistCollectables() { }
- RWSlistCollectables(RWCollectable* a) { }
-};
-
-class RWIterator { };
-
-class RWSlistCollectablesIterator : public RWIterator, public RWSlistIterator {
-public:
- RWSlistCollectablesIterator(RWSlistCollectables& s) : RWSlistIterator(s) { }
-};
-
-class Sim_Event_Manager {
-public:
- RWSlistCollectables scheduled_events_;
- RWSlistCollectablesIterator last_posted_event_position_;
- Sim_Event_Manager();
- void post_event();
-};
-
-Sim_Event_Manager::Sim_Event_Manager ()
- :last_posted_event_position_(scheduled_events_)
-{
-}
-
-void Sim_Event_Manager::post_event () {
- ptr1 = (RWSlistIterator*)&last_posted_event_position_;
- ptr2 = &((RWSlistIterator*)&last_posted_event_position_)->slist;
- if (0) printf("at %x %x\n", (RWSlistIterator*)&last_posted_event_position_,
- &((RWSlistIterator*)&last_posted_event_position_)->slist);
- if (ptr1 != (RWSlistIterator*)&last_posted_event_position_)
- fail = 1;
- if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist)
- fail = 2;
- if (0) printf("at %x ?%x\n", (RWSlistIterator*)&last_posted_event_position_,
- &((RWSlistIterator&)last_posted_event_position_).slist);
- if (ptr1 != (RWSlistIterator*)&last_posted_event_position_)
- fail = 3;
- if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist)
- fail = 4;
- last_posted_event_position_.toLast();
-}
-
-int main(int argc, char **argv) {
- Sim_Event_Manager foo;
- foo.post_event();
- return fail;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p12306a.C b/gcc/testsuite/g++.old-deja/g++.mike/p12306a.C
deleted file mode 100644
index bbcade4f9be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p12306a.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// prms-id: 12306
-// a net report of the same problem as 12306
-
-class a {
-public:
- int i;
-};
-
-class g : virtual public a {
-};
-
-class b : virtual public a {
- int j;
-};
-
-class c : public g, public b {
-};
-
-class d {
-public:
- virtual class b* get() {return 0;}
-};
-
-class f : public d {
-public:
- virtual class b* get() {return &_c;}
- c _c;
-};
-
-int main(void) {
- f D;
- b* bp=D.get();
- D._c.i = 42;
- return &D._c.i != &bp->i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p1248.C b/gcc/testsuite/g++.old-deja/g++.mike/p1248.C
deleted file mode 100644
index 035e8e1828f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p1248.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// GROUPS passed pure-virt
-extern "C" { void printf(const char *, ...); }
-class Base {
-public:
- virtual ~Base() =0;
-};
-
-class Deranged : public Base {
-public:
- int value;
- virtual ~Deranged();
-};
-
-
-Deranged::~Deranged(){}
-
-void foo() {
- Deranged d;
-}
-
-int main()
-{
- foo();
- printf("PASS\n");
- return 0;
-}
-
-Base::~Base () { }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p1567.C b/gcc/testsuite/g++.old-deja/g++.mike/p1567.C
deleted file mode 100644
index 0b35bd972e0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p1567.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// GROUPS passed vtable
-extern "C" int printf (const char *, ...);
-extern "C" void exit(int);
-
-class A {
-public:
- virtual const char* f1() { return "A::f1"; }
- virtual const char* f2() { return "A::f2"; }
- virtual const char* f3() { printf("FAIL\n"); exit(1); return "A::f3"; }
-};
-
-class B {
-public:
- virtual const char* f2() { return "B::f2"; }
- virtual const char* f3() { return "B::f3"; }
-};
-
-class C: public A, public B {
-public:
- const char* f2() { return B::f2(); }
- const char* f1() { return f2(); }
- const char* f3() { return A::f3(); }
-};
-
-class D: public A, public B {
-public:
- const char* f2() { return B::f2(); }
- const char* f1() { return D :: f2(); }
- const char* f3() { return A::f3(); }
-};
-
-int main() {
- C* tempC = new C;
- D* tempD = new D;
- A* a = tempC;
- printf("calling f1 on a C gives %s\n", a->f1());
- a = tempD;
- printf("calling f1 on a D gives %s\n", a->f1());
- printf("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p16146.C b/gcc/testsuite/g++.old-deja/g++.mike/p16146.C
deleted file mode 100644
index 070dc2ea4b8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p16146.C
+++ /dev/null
@@ -1,89 +0,0 @@
-// prms-id: 16146
-
-extern "C" int printf (const char *, ...);
-
-class myFoundation {
-protected:
- myFoundation () { count = 0; };
- virtual ~myFoundation () {};
-
-public:
- void addRef () { ++count; }
- void removeRef () { if (count > 0) --count; }
-
-private:
- long count;
-};
-
-
-class firstIntermediate :virtual public myFoundation {
-public:
- firstIntermediate () {};
- ~firstIntermediate () {};
-
- void bar () { printf ("Bar\n"); }
-};
-
-
-class firstBase : public firstIntermediate {
-public:
- firstBase () {};
- ~firstBase () {};
-
- virtual void g () {};
-};
-
-
-class secondIntermediate : virtual public myFoundation {
-public:
- secondIntermediate () {};
- ~secondIntermediate () {};
-
- virtual void h () {};
-};
-
-
-class secondBase : public secondIntermediate {
-public:
- secondBase () {};
- ~secondBase () {};
-
- virtual void h () {};
-};
-
-
-class typeInterface : virtual public firstBase {
-public:
- typeInterface () {};
- ~typeInterface () {};
-
- virtual void i () {};
-};
-
-class classServices : virtual public firstBase,
- public secondBase {
-public:
- classServices () {};
- ~classServices () {};
-
- virtual void j () {};
-};
-
-class classImplementation : public typeInterface,
- public classServices {
-public:
- classImplementation () {};
- ~classImplementation () {};
-
- void g () {};
- void h () {};
- void i () {};
- void j () {};
-};
-
-int main () {
- firstBase* fbp = new classImplementation;
- classImplementation* cip = dynamic_cast <classImplementation*> (fbp);
- cip->addRef();
- myFoundation* mfp = cip;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p1862.C b/gcc/testsuite/g++.old-deja/g++.mike/p1862.C
deleted file mode 100644
index 401b3700777..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p1862.C
+++ /dev/null
@@ -1,62 +0,0 @@
-// GROUPS vtable
-extern "C" int printf (const char *, ...);
-
-class A
-{
-public:
- virtual ~A(){};
- virtual int type(void)
- {
- return -1;
- }
-};
-
-class B
-{
-public:
- virtual ~B(){};
-};
-
-
-class C0 : public B, public A
-{
-public:
- virtual int type(void)
- {
- return 0;
- }
-};
-
-class C1 : public C0
-{
-public:
- virtual int type(void)
- {
- return 1;
- }
-};
-
-class C2 : public C0
-{
-public:
- virtual int type(void)
- {
- return 2;
- }
-};
-
-int main()
-{
- C1 *one = new C1;
-
- if (one->type() == 1)
- {
- printf ("PASS\n");
- return 0;
- }
- else
- {
- printf ("FAIL\n");
- return 1;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p1989.C b/gcc/testsuite/g++.old-deja/g++.mike/p1989.C
deleted file mode 100644
index 7e1886922eb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p1989.C
+++ /dev/null
@@ -1,494 +0,0 @@
-// Build don't link:
-// prms-id: 1989
-
-#define TRUE true
-#define FALSE false
-typedef void *Pix;
-
-template<class T>
-struct link {
- T item;
- link *next;
- link *prev;
-
- link(const T& t): item(t), prev(0), next(0)
- { };
- link(const T& t, link<T> *p, link<T> *n): item(t), prev(p), next(n)
- { };
-};
-
-template<class T>
-class List_DL {
-public:
- List_DL();
- List_DL(const List_DL&);
- ~List_DL();
-
- void append(const T& item);
- void prepend(const T& item);
- void insert(const T& item, Pix x, bool before);
-
- void remove(Pix& x)
- { T tmp; remove(x, tmp); }
- void remove(Pix& x, T& item);
-
- void clear();
-
- unsigned length() const
- { return count; }
-
-private:
-
- unsigned count;
- link<T> *head;
- link<T> *tail;
-
-public:
- Pix first() const
- { return Pix(head); }
- Pix last() const
- { return Pix(tail); }
- void next(Pix& x) const
- { if (0 != x) x = ((link<T> *) x)->next; }
- void prev(Pix& x) const
- { if (0 != x) x = ((link<T> *) x)->prev; }
- T& operator()(Pix x) const
- { return ((link<T> *) x)->item; }
-};
-
-template<class T>
-List_DL<T>::List_DL():
-count(0),
-head(0)
-{ }
-
-template<class T>
-List_DL<T>::List_DL(const List_DL& other):
-count(0),
-head(0)
-{
- for (Pix x=other.first(); 0 != x; other.next(x))
- append(other(x));
-}
-
-template<class T>
-List_DL<T>::~List_DL()
-{
- clear();
-}
-
-template<class T>
-void
-List_DL<T>::append(const T& item)
-{
- count++;
- if (0 == head) {
- head = new link<T>(item);
- tail = head;
- } else {
- tail->next = new link<T>(item, tail, 0);
- tail = tail->next;
- }
-}
-
-template<class T>
-void
-List_DL<T>::prepend(const T& item)
-{
- count++;
- if (0 == head) {
- head = new link<T>(item);
- tail = head;
- } else {
- head = new link<T>(item, 0, head);
- if (tail == head)
- tail = tail->next;
- }
-}
-
-template<class T>
-void
-List_DL<T>::insert(const T& item, Pix x, bool before = TRUE)
-{
- link<T> *l = (link<T> *) x;
-
- if (before) {
- if (0 == l || l == head) {
- prepend(item);
- } else {
- link<T> *n = new link<T>(item, l->prev, l);
- l->prev->next = n;
- l->prev = n;
- }
- } else {
- if (0 == l || l == tail) {
- append(item);
- } else {
- link<T> *n = new link<T>(item, l, l->next);
- l->next->prev = n;
- l->prev = n;
- }
- }
-}
-
-template<class T>
-void
-List_DL<T>::remove(Pix& x, T& item)
-{
- link<T> *l = (link<T> *) x;
-
- if (0 == l)
- return;
-
- item = l->item;
- if (1 == count) {
- delete head;
- head = 0;
- tail = 0;
- } else {
- // more than one item in the list
- if (l == head) {
- link<T> *old = head;
- head = head->next;
- head->prev = 0;
- delete old;
- } else if (l == tail) {
- link<T> *old = tail;
- tail = tail->prev;
- tail->next = 0;
- delete old;
- } else {
- l->next->prev = l->prev;
- l->prev->next = l->next;
- delete l;
- }
- }
-}
-
-template<class T>
-void
-List_DL<T>::clear()
-{
- link<T> *l, *succ;
- for (l=head; 0 != l; l=succ) {
- succ = l->next;
- delete l;
- }
- head = 0;
- tail = 0;
-}
-
-template<class T>
-class List_DLS: public List_DL<T> {
-public:
- List_DLS(): List_DL<T>()
- { };
- List_DLS(const List_DLS& other): List_DL<T>(other)
- { };
-
- bool contains(const T& item) const
- { return search(item) != 0 ? TRUE: FALSE; }
- Pix search(const T&) const;
-};
-
-template<class T>
-Pix
-List_DLS<T>::search(const T& item) const
-{
- for (Pix x=first(); 0 != x; next(x)) {
- if (item == operator()(x)) // ERROR - const subversion
- return x;
- }
- return 0;
-}
-
-template<class T>
-class List_DLSp: public List_DL<T> {
-public:
- List_DLSp(): List_DL<T>()
- { };
- List_DLSp(const List_DLSp& other): List_DL<T>(other)
- { };
-
- bool contains(const T& item) const
-#ifndef INTERNAL_ERROR
- ;
-#else
- { return search(item) != 0 ? TRUE: FALSE; }
-#endif
- Pix search(const T&) const;
-};
-
-template<class T>
-bool
-List_DLSp<T>::contains(const T& item) const
-{
- for (Pix x=first(); 0 != x; next(x)) {
- if (*item == *operator()(x))
- return TRUE;
- }
- return FALSE;
-}
-
-template<class T>
-class Set {
-public:
- Set();
- Set(const Set& other);
-
- virtual void add(const T& item);
-
- void remove(const T& item)
- { Pix x = search(item); remove(x); }
- void remove(Pix& x)
- { T tmp; remove(x, tmp); }
- virtual void remove(Pix& x, T& item);
-
- virtual void clear();
-
- virtual bool contains(const T&) const;
- virtual Pix search(const T&) const;
-
- virtual unsigned length() const;
-
- virtual Pix first() const;
- virtual void next(Pix& x) const;
- virtual T& operator()(Pix x) const;
-};
-
-template<class T>
-Set<T>::Set()
-{ }
-
-template<class T>
-Set<T>::Set(const Set& other)
-{ }
-
-
-template<class T>
-class Set_DL: public List_DLS<T> {
-public:
- Set_DL();
- Set_DL(const Set_DL& other);
-
- void add(const T& item)
- { list.append(item); }
- void remove(Pix& x, T& item)
- { list.remove(x, item); }
-
- void clear()
- { list.clear(); }
-
- bool contains(const T& item) const
- { return list.contains(item); }
- Pix search(const T& item) const
- { return list.search(item); }
-
- unsigned length() const
- { return list.length(); }
-
- Pix first() const
- { return list.first(); }
- void next(Pix& x) const
- { list.next(x); }
- T& operator()(Pix x) const
- { return list(x); }
-private:
- List_DLS<T> list;
-};
-
-template<class T>
-class Set_DLp: public List_DLSp<T> {
-public:
- Set_DLp();
- Set_DLp(const Set_DLp& other);
-
- void add(const T& item)
- { list.append(item); }
- void remove(Pix& x, T& item)
- { list.remove(x, item); }
-
- void clear()
- { list.clear(); }
-
- bool contains(const T& item) const
- { return list.contains(item); }
- Pix search(const T& item) const
- { return list.search(item); }
-
- unsigned length() const
- { return list.length(); }
-
- Pix first() const
- { return list.first(); }
- void next(Pix& x) const
- { list.next(x); }
- T& operator()(Pix x) const
- { return list(x); }
-private:
- List_DLSp<T> list;
-};
-
-template<class T>
-struct vertex {
- T item;
- List_DL<vertex<T> *> fanout;
-
- vertex(): item(), fanout() // gets bogus error
- { };
- vertex(const T& i): item(), fanout() // gets bogus error
- { };
-};
-
-template<class T>
-class Graph {
-public:
- Graph();
- Graph(const Graph&);
- ~Graph();
-
- void add(const T& from, const T& to);
- bool contains(const T& from, const T& to) const;
-
- void clear()
- { vertices.clear(); }
-
- unsigned lengthV() const
- { return vertices.length(); }
-
- Pix firstV() const
- { return vertices.first(); }
- void nextV(Pix& x) const
- { vertices.next(x); }
- T& V(Pix x) const
- { return vertices(x).item; }
-
- Pix firstV1(Pix vx) const;
- void nextV1(Pix vx, Pix& x) const;
- T& V1(Pix vx, Pix x) const;
-private:
- vertex<T> *lookup(const T& from) const;
- vertex<T> *lookup_new(const T& from);
-
- List_DLS<vertex<T> > vertices;
-};
-
-template<class T>
-Graph<T>::Graph():
-vertices()
-{ }
-
-template<class T>
-Graph<T>::Graph(const Graph& other):
-vertices()
-{
- for (Pix vx=firstV(); 0 != vx; nextV(vx)) {
- for (Pix vx1=firstV1(vx); 0 != vx1; nextV1(vx, vx1)) {
- add(V(vx), V1(vx, vx1));
- }
- }
-}
-
-template<class T>
-Graph<T>::~Graph()
-{
- clear();
-}
-
-template<class T>
-void
-Graph<T>::add(const T& from, const T& to)
-{
- vertex<T> *fromv = lookup_new(from);
- if (from == to)
- return;
- vertex<T> *tov = lookup_new(to);
- fromv->fanout.append(tov);
-}
-
-template<class T>
-bool
-Graph<T>::contains(const T& from, const T& to) const
-{
- vertex<T> *fromv = lookup(from);
- if (0 == fromv)
- return FALSE;
-
- for (Pix x=fromv->fanout.first(); 0 != x; fromv->fanout.next(x)) {
- if (fromv->fanout(x)->item == to)
- return TRUE;
- }
-
- return FALSE;
-}
-
-template<class T>
-vertex<T> *
-Graph<T>::lookup(const T& from) const
-{
- for (Pix x=vertices.first(); 0 != x; vertices.next(x)) {
- if (vertices(x).item == from)
- return &vertices(x);
- }
- return 0;
-}
-
-template<class T>
-vertex<T> *
-Graph<T>::lookup_new(const T& from)
-{
- vertex<T> *v = lookup(from);
- if (0 == v) {
- vertices.append(from);
- return &vertices(vertices.last());
- }
- return v;
-}
-
-template<class T>
-Pix
-Graph<T>::firstV1(Pix vx) const
-{
- vertex<T> *v = (vertex<T> *) vx;
- return v->fanout.first();
-}
-
-template<class T>
-void
-Graph<T>::nextV1(Pix vx, Pix& x) const
-{
- vertex<T> *v = (vertex<T> *) vx;
- return v->fanout.next(x);
-}
-
-template<class T>
-T&
-Graph<T>::V1(Pix vx, Pix x) const
-{
- vertex<T> *v = (vertex<T> *) vx;
- static T x1;
- return x1;
-}
-
-class STRLIdentifier;
-
-extern int x(List_DL<STRLIdentifier *>);
-extern int x(List_DLS<STRLIdentifier *>);
-
-extern int x(Set<STRLIdentifier *>);
-extern int x(Set_DL<STRLIdentifier *>);
-extern int x(Set_DLp<STRLIdentifier *>);
-
-extern int x(Graph<STRLIdentifier *>);
-
-class STRLIdentifier {
- char buf[10];
-};
-
-extern int operator==(vertex<STRLIdentifier*>&, vertex<STRLIdentifier*>&); // ERROR - const subversion
-extern int operator==(STRLIdentifier&, STRLIdentifier&); // ERROR - fn ref in err msg
-
-extern int x(List_DLSp<STRLIdentifier *>);
-
-template class Graph<STRLIdentifier *>;
-template class List_DLS<vertex<STRLIdentifier *> >;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2394.C b/gcc/testsuite/g++.old-deja/g++.mike/p2394.C
deleted file mode 100644
index ce335c40183..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2394.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// prms-id: 2394
-
-class Foo {
- public:
- int x;
- int y;
- Foo(int i, int j) { x = i; y = j; }
-} foo(10, 11);
-
-class Wasted { int unsed; };
-
-class Bar : Wasted, public Foo {
-public:
- Bar() : Foo(12, 13) { }
-} bar;
-
-int
-test0() {
- int Foo::* pmi = &Foo::y;
- return (int)(foo.*pmi);
-}
-
-int
-test1() {
- int Foo::* pmi = &Foo::y;
- return (int)(bar.*pmi);
-}
-
-int
-main() {
- if (test0() != 11)
- return 1;
- if (test1() != 13)
- return 2;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2431.C b/gcc/testsuite/g++.old-deja/g++.mike/p2431.C
deleted file mode 100644
index 17a76fa7c18..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2431.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// GROUPS passed infinite_loop
-class A
-{
- public:
- A(A &); // ERROR - candidates are
-};
-
-class B
-{
- public:
- operator A ();
-};
-
-class C
-{
- public :
- C()
- {
- B b;
- A a = b;// ERROR -
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2573.C b/gcc/testsuite/g++.old-deja/g++.mike/p2573.C
deleted file mode 100644
index 9e3ddeed9de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2573.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// prms-id: 2573
-
-class X {
-public:
- int key();
- virtual int vkey();
- char *add();
-};
-
-char *X::add() {
- char *f1 = (char *) &key; // ERROR -
- char *f2 = (char *) &vkey; // ERROR -
- return f1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2736.C b/gcc/testsuite/g++.old-deja/g++.mike/p2736.C
deleted file mode 100644
index 7a0405196ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2736.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// This is a poor test case, it is meant to ensure that function local
-// statics are destroyed at the right time. See PR 2736 for details.
-// prms-id: 2736
-
-int count;
-
-struct A {
- int which;
- A(int i) :which(i) {
- // printf("ctor %x\n", this);
- }
- ~A() {
- // printf("dtor %x\n", this);
- if (++count != which)
- abort ();
- }
-};
-
-void
-foo() {
- static A a(1);
-}
-
-A a(2);
-
-int main() {
- foo();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2746.C b/gcc/testsuite/g++.old-deja/g++.mike/p2746.C
deleted file mode 100644
index fdc37d137f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2746.C
+++ /dev/null
@@ -1,156 +0,0 @@
-// Build don't link:
-// GROUPS passed scope pt
-class Link {
-public:
- Link();
- Link(Link *);
-private:
- Link *next_;
-
-friend class IListBase;
-friend class IListIterBase;
-};
-
-inline
-Link::Link() : next_(0)
-{
-}
-
-inline
-Link::Link(Link *next) : next_(next)
-{
-}
-
-class IListBase {
-public:
- IListBase();
- IListBase(Link *);
- void append(Link *);
- void insert(Link *);
- Link *head();
- int empty();
- Link *get();
- void remove(Link *);
-private:
- Link *head_;
-friend class IListIterBase;
-};
-
-inline
-IListBase::IListBase() : head_(0)
-{
-}
-
-inline
-IListBase::IListBase(Link *head) : head_(head)
-{
-}
-
-inline
-void IListBase::insert(Link *p)
-{
- p->next_ = head_;
- head_ = p;
-}
-
-inline
-Link *IListBase::head()
-{
- return head_;
-}
-
-inline
-int IListBase::empty()
-{
- return head_ == 0;
-}
-
-inline
-Link *IListBase::get()
-{
- Link *tem = head_;
- head_ = head_->next_;
- return tem;
-}
-
-template<class T> class IListIter;
-
-template<class T>
-class IList : private IListBase {
-public:
- IList() { }
- IList(T *p) : IListBase(p) { }
- ~IList();
- void append(T *p) { IListBase::append(p); }
- void insert(T *p) { IListBase::insert(p); }
- void remove(T *p) { IListBase::remove(p); }
- T *head() { return (T *)IListBase::head(); }
- T *get() { return (T *)IListBase::get(); }
- IListBase::empty;
-friend class IListIter<T>;
-};
-
-template<class T>
-IList<T>::~IList()
-{
- while (!empty())
- delete get();
-}
-
-class IListIterBase {
-public:
- IListIterBase(const IListBase &);
- int done();
- Link *cur();
- void next();
-private:
- Link *p_;
-};
-
-inline
-IListIterBase::IListIterBase(const IListBase &list) : p_(list.head_)
-{
-}
-
-inline
-int IListIterBase::done()
-{
- return p_ == 0;
-}
-
-inline
-Link *IListIterBase::cur()
-{
- return p_;
-}
-
-inline
-void IListIterBase::next()
-{
- p_ = p_->next_;
-}
-
-
-template<class T>
-class IListIter : private IListIterBase {
-public:
- IListIter(const IList<T> &list) : IListIterBase(list) { }
- T *cur() { return (T *)IListIterBase::cur(); }
- IListIterBase::next;
- IListIterBase::done;
-};
-
-
-struct A {
- IList<Link> list;
- int x;
- void foo();
-};
-
-
-void A::foo()
-{
- for (IListIter<Link> iter(list); !iter.done(); iter.next())
- ;
- x = 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2793.C b/gcc/testsuite/g++.old-deja/g++.mike/p2793.C
deleted file mode 100644
index 73bf23f7349..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2793.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// prms-id: 2793
-
-void f(char&) { // ERROR - referenced by error below
- f('c'); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2806.C b/gcc/testsuite/g++.old-deja/g++.mike/p2806.C
deleted file mode 100644
index 401b5ecd488..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2806.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed
-template<class T>
-class List
-{
- public:
- List();
- void f() const;
-};
-
-template<class T>
-void List<T>::f() const
-{
-}
-
-void func()
-{
- List<int> list;
- list.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2846.C b/gcc/testsuite/g++.old-deja/g++.mike/p2846.C
deleted file mode 100644
index b9a44c43c1e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2846.C
+++ /dev/null
@@ -1,55 +0,0 @@
-// prms-id: 2846
-
-extern "C" int printf(const char *, ...);
-extern "C" void exit(int);
-
-class A;
-class B;
-
-class A {
-public:
-
- A(void){}
- A(const A&){}
- A(const B&);
-
- virtual ~A(void){}
-
- virtual void print(void) const {
- printf("A::print\n");
- printf("FAIL\n");
- exit(1);
- }
- B compute(void) const;
-};
-
-class B : private A {
-friend class A;
-public:
-
- virtual ~B(void){}
-
- void print(void) const {
- printf("B::print\n");
- }
-
-private:
- B(const A& x, int){}
-};
-
-A::A(const B& s) {
- s.print();
-}
-
-B A::compute(void) const {
- B sub(*this, 1);
- return sub;
-}
-
-int main ()
-{
- A titi;
- A toto = titi.compute();
- printf("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2846a.C b/gcc/testsuite/g++.old-deja/g++.mike/p2846a.C
deleted file mode 100644
index 8606e4233e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2846a.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Shows that problem of initializing one object's vtable pointer from
-// another object's vtable pointer when doing a default copy of it
-// and the vtable pointer involved is the main one.
-
-// Correct answer is B::print.
-// g++ prints D::print, which is wrong. Cfront gets is right.
-
-// prms-id: 2846
-
-extern "C" int printf(const char *, ...);
-extern "C" void exit(int);
-
-class B {
-public:
- virtual void print(void) const { printf("B::print\n"); }
-};
-
-class D : public B {
-public:
- void print(void) const { printf("D::print\n"); exit(1); }
- B compute(void) const;
-};
-
-B D::compute(void) const
-{
- B sub(*(B*)this);
- return sub;
-}
-
-int main () {
- D titi;
- titi.compute().print();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2846b.C b/gcc/testsuite/g++.old-deja/g++.mike/p2846b.C
deleted file mode 100644
index acba70d6e2a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2846b.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// Shows that problem of initializing one object's secondary base from
-// another object via a user defined copy constructor for that base,
-// the pointer for the secondary vtable is not set after implicit
-// copying of the outer class, but rather has the pointer to the main
-// vtable for the secondary base left over from the user defined copy
-// constructor for that base.
-
-// Correct answer is B::beefy.
-// g++ prints A::beefy, which is wrong. Cfront gets it right.
-
-// prms-id: 2846
-
-extern "C" int printf(const char *, ...);
-extern "C" void exit(int);
-
-class B;
-
-class A {
- public:
-
- A(void){}
- A(const A&){}
-
- virtual void print(void) const { }
- B compute(void) const;
-};
-
-class C {
-public:
- C() { }
- C(C& o) { } // with it, things are wrong, without it, they're ok
- virtual void beefy(void) const { printf("A::beefy\n"); exit(1); }
-};
-
-class B : private A, public C {
-public:
- B(const A& x, int){}
- void beefy(void) const { printf("B::beefy\n"); }
-};
-
-B A::compute(void) const
-{
- B sub(*this, 1);
- return sub;
-}
-
-int main ()
-{
- A titi;
- titi.compute().beefy();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2855.C b/gcc/testsuite/g++.old-deja/g++.mike/p2855.C
deleted file mode 100644
index 9c99bd72835..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2855.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wcast-qual
-// prms-id: 2855
-
-class Ctest {
-private:
- char* data;
-public:
- operator const char *() const;
-};
-
-Ctest::operator const char *() const
-{
- return data;
-}
-int main()
-{
- Ctest obj;
- char* temp = (char *)obj; // WARNING -
- temp[0] = '\0';
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2960.C b/gcc/testsuite/g++.old-deja/g++.mike/p2960.C
deleted file mode 100644
index 4206e75b3ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2960.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// prms-id: 2960
-
-extern "C" int printf(const char *, ...);
-
-class Test0 {
-public:
- virtual void f0() { } // works fine if this virtual removed
-};
-
-class Test1 : public Test0 {
-public:
- void f1() { f2(); } // generates bus error here
- virtual void f2() { printf("Test1::f2\n"); }
-};
-
-class Test2 {
-public:
- virtual void f3() { }
-};
-
-class Test3 : public Test2, public Test1 { // works fine if Test1 first
-public:
- virtual ~Test3() { f1(); } // calling f2 directly works
- virtual void f2() { printf("Test3::f2\n"); }
-};
-
-int main() {
- Test3 t3;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3041.C b/gcc/testsuite/g++.old-deja/g++.mike/p3041.C
deleted file mode 100644
index fd83eaf7f2f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3041.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// prms-id: 3041
-
-class A {
-public:
- A() { }
- virtual void a() = 0;
- static int b(A * p) {
- p->a();
- return 1;
- }
-};
-
-class B : virtual public A {
-public:
- B() {
- static int installed = b(this);
- }
- void a() { }
-};
-
-class C : virtual public B {
-public:
- C() {
- static int installed = b(this);
- }
- void a() { }
-};
-
-int main()
-{
- C c;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3060c.C b/gcc/testsuite/g++.old-deja/g++.mike/p3060c.C
deleted file mode 100644
index e26b8024db6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3060c.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// A new problem with my pointer to member function work.
-// Build don't link:
-// prms-id: 3060
-
-class Foo
-{
- public:
- int x;
- int y;
- Foo (int i, int j) { x = i; y = j; }
- operator int ();
-};
-
-int Foo::operator int() { return x; } // WARNING - can't specify return type
-
-Foo foo(10, 11);
-
-int
-main()
-{
- int Foo::* pmi = &Foo::y;
- return foo.*pmi;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3060d.C b/gcc/testsuite/g++.old-deja/g++.mike/p3060d.C
deleted file mode 100644
index 5cf4fdd10d1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3060d.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// This is a test case to make sure the explicit cast on a pointer to
-// a member function works ok.
-// prms-id: 3060
-
-extern "C" int printf(const char *, ...);
-
-class Object;
-
-typedef void (Object::*VoidObjMemberFunc)(Object *, ...);
-
-class Object {
-public:
- int foo;
-};
-
-class Clipper: public Object {
-public:
- int bar;
- void Feedback(Object*, void*);
-};
-void Clipper::Feedback(Object *tracker, void *ap) {
- printf("Doing feedback\n");
-}
-
-void vfunc(VoidObjMemberFunc of, Object *op, void *v1) {
- (op->*of)(op, v1);
-}
-
-int main() {
- Object o;
-
- vfunc((VoidObjMemberFunc)&Clipper::Feedback, &o, 0);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3068.C b/gcc/testsuite/g++.old-deja/g++.mike/p3068.C
deleted file mode 100644
index 2436c8b7fa2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3068.C
+++ /dev/null
@@ -1,60 +0,0 @@
-// prms-id: 3068
-
-extern "C" int printf(const char *, ...);
-extern "C" void exit(int);
-
-class LB {
-public:
- virtual int test() { return 0; }
- virtual ~LB() { }
-protected:
- LB() { }
-};
-
-class RRB {
-public:
- virtual ~RRB() { }
- virtual void test2(int a) { }
-};
-
-class RR : public RRB {
-public:
- virtual ~RR() { }
-};
-
-class RL {
-public:
- virtual void real(int a) {
- printf("RL::real\n");
- }
-};
-
-
-class R : public RL, public RR {
-public:
- virtual void test3(int a) { }
- virtual void test2(int a) { }
-};
-
-class L : public LB {
-};
-
-class C : public L, public R {
-public:
- C() { }
- virtual ~C() {
- printf("C::~C\n");
- exit(1);
- }
- virtual void real(int a) {
- printf("RL::real\n");
- }
-};
-
-int main() {
- C& bb = *new C;
- R& mv = bb;
- bb.real(0);
- mv.real(0);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3070.C b/gcc/testsuite/g++.old-deja/g++.mike/p3070.C
deleted file mode 100644
index c9278736d2c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3070.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-// Caused an Internal Compiler Error. Works now.
-// prms-id: 3070
-
-class Object {
-public:
- virtual ~Object() {}
-};
-
-class BaseView {
-protected:
- virtual void _forwardReceiveUpdate() = 0;
-};
-
-
-class View : public BaseView {
-public:
- virtual ~View();
-};
-
-class TestViewBaseUpdate {
-protected:
- virtual void _receiveUpdate();
-};
-
-class TestViewBase : public TestViewBaseUpdate, private View {
-};
-
-class TestView : public Object, public TestViewBase {
-protected:
- virtual void _receiveUpdate();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3139.C b/gcc/testsuite/g++.old-deja/g++.mike/p3139.C
deleted file mode 100644
index 192fa7251b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3139.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// prms-id: 3139
-
-extern "C" int printf(const char *, ...);
-
-class A {
- public:
- A() { }
- virtual int a() = 0;
-};
-
-class B : virtual public A {
- public:
- virtual int a() = 0;
-};
-
-class C : public B {
- public:
- int a() { return 42; }
-};
-
-int main() {
- B * b = new C;
- printf("%d.\n", b->a());
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3524a.C b/gcc/testsuite/g++.old-deja/g++.mike/p3524a.C
deleted file mode 100644
index 0995f3530a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3524a.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Make sure we can initialize a reference to a templated type, that
-// requires a conversion from a derived type to a base type.
-
-// Build don't link:
-// prms-id: 3524
-
-struct cc2Vector
-{};
-
-template <class T>
-struct ccPair
-{
- ccPair (const cc2Vector&);
-};
-
-struct ccLine : cc2Vector
-{
- double distToPoint (const ccPair <float> &);
-};
-
-void foo ()
-{
- ccLine l2;
- l2.distToPoint (l2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3524b.C b/gcc/testsuite/g++.old-deja/g++.mike/p3524b.C
deleted file mode 100644
index c645d4cdea4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3524b.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Make sure we can cast to a templated type, that requires a conversion by
-// constructor, from a derived type to a base type.
-
-// Build don't link:
-// prms-id: 3524
-
-template <class T>
-struct ccPair {
- ccPair () { }
-};
-
-template <class T>
-struct ccO : ccPair<T> {
- ccO () { }
-};
-
-void foo ()
-{
- ccO<float> r;
- (ccPair<float>)r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3524c.C b/gcc/testsuite/g++.old-deja/g++.mike/p3524c.C
deleted file mode 100644
index d901e19a265..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3524c.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Make sure we can cast to a templated type, that requires a conversion by
-// constructor, from a non-aggregate type.
-
-// Build don't link:
-// prms-id: 3524
-
-template <class T>
-struct ccPair {
- ccPair (int i) { }
-};
-
-void foo ()
-{
- (ccPair<float>)1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3538a.C b/gcc/testsuite/g++.old-deja/g++.mike/p3538a.C
deleted file mode 100644
index ea1a6cc53a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3538a.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-// This tests for the compiler_error in binfo_value.
-// prms-id: 3538
-
-class ccObjectInfo
-{
-public:
- virtual const ccObjectInfo& repInvariant (int);
-};
-
-template<class T>
-class ccHandle : public ccObjectInfo
-{
-protected:
- T* p;
-public:
- virtual const ccObjectInfo& repInvariant (int);
-};
-
-template <class T>
-const ccObjectInfo& ccHandle<T>::repInvariant (int)
-{ return p->ri(1); }
-
-class ccHandleBase : public ccObjectInfo
-{};
-
-class cc_CircleHdl : public virtual ccHandleBase, public ccObjectInfo
-{
-public:
- virtual const ccObjectInfo& ri (int);
-}; // WARNING -
-
-class ccCircleHdl : public ccHandle <cc_CircleHdl> {};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3538b.C b/gcc/testsuite/g++.old-deja/g++.mike/p3538b.C
deleted file mode 100644
index 4dcd60b3d10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3538b.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// prms-id: 3538
-
-// This tests for an ambiguous conversion of the this pointer (going
-// down to DECL_CONTEXT of a FUNCTION_DECL.
-
-class ccObjectInfo
-{
-public:
- virtual const ccObjectInfo& repInvariant (int);
-};
-
-template<class T>
-class ccHandle : public ccObjectInfo
-{
-protected:
- T* p;
-public:
- virtual const ccObjectInfo& repInvariant (int);
-};
-
-template <class T>
-const ccObjectInfo& ccHandle<T>::repInvariant (int)
-{ return p->repInvariant(1); }
-
-class ccHandleBase : public ccObjectInfo
-{};
-
-class cc_CircleHdl : public virtual ccHandleBase, public ccObjectInfo
-{
-public:
- virtual const ccObjectInfo& repInvariant (int);
-}; // WARNING -
-
-class ccCircleHdl : public ccHandle <cc_CircleHdl> {};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3570.C b/gcc/testsuite/g++.old-deja/g++.mike/p3570.C
deleted file mode 100644
index 1213a960b6e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3570.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// prms-id: 3570
-
-extern "C" int printf(const char *, ...);
-
-struct A {
- void print() {printf("A");};
-};
-
-struct B : A {
- typedef A superB;
- void print() {superB::print(); printf("B");};
-};
-
-struct C : B {
- typedef B superC;
- void print() {superC::print(); printf("C");};
-};
-
-int main ()
-{
- A a;
- B b;
- C c;
-
- a.print(); printf("\n");
- b.print(); printf("\n");
- c.print(); printf("\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3579.C b/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
deleted file mode 100644
index d960599450f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// prms-id: 3579
-
-extern "C" int printf(const char *, ...);
-
-int num_x;
-
-class Y {
-public:
- Y () { printf("Y() this: %x\n", this); }
- ~Y () { printf("~Y() this: %x\n", this); }
-};
-
-class X {
-public:
- X () {
- ++num_x;
- printf("X() this: %x\n", this);
- Y y;
- *this = (X) y;
- }
-
- X (const Y & yy) { printf("X(const Y&) this: %x\n", this); ++num_x; }
- X & operator = (const X & xx) {
- printf("X.op=(X&) this: %x\n", this);
- return *this;
- }
-
- ~X () { printf("~X() this: %x\n", this); --num_x; }
-};
-
-int main (int, char **) {
- { X anX; }
- if (num_x) {
- printf("FAIL\n");
- return 1;
- }
- printf("PASS\n");
- return 0;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3708.C b/gcc/testsuite/g++.old-deja/g++.mike/p3708.C
deleted file mode 100644
index cda1108d629..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3708.C
+++ /dev/null
@@ -1,86 +0,0 @@
-// prms-id: 3708
-
-extern "C" void printf (char *, ...);
-extern "C" int atoi (char *);
-
-void *ptr;
-
-class A {
-public:
- A() { printf ("A is constructed.\n"); }
- virtual void xx(int doit) { printf ("A is destructed.\n"); }
-};
-
-class A1 {
-public:
- A1() { printf ("A1 is constructed.\n"); }
- virtual void xx(int doit) { printf ("A1 is destructed.\n"); }
-};
-
-class B : public virtual A, public A1 {
-public:
- B() { printf ("B is constructed.\n"); }
- virtual void xx(int doit) {
- printf ("B is destructed.\n");
- A1::xx (1);
- if (doit) A::xx (1);
- }
-};
-
-int num;
-
-class C : public virtual A, public B {
-public:
- C() { ++num; printf ("C is constructed.\n");
- ptr = this;
- }
- virtual void xx(int doit) {
- --num;
- if (ptr != this)
- printf("FAIL\n%x != %x\n", ptr, this);
- printf ("C is destructed.\n");
- B::xx (0);
- if (doit) A::xx (1);
- }
-};
-
-void fooA(A *a) {
- printf ("Casting to A!\n");
- a->xx (1);
-}
-void fooA1(A1 *a) {
- printf ("Casting to A1!\n");
- a->xx (1);
-}
-
-void fooB(B *b) {
- printf ("Casting to B!\n");
- b->xx (1);
-}
-
-void fooC(C *c) {
- printf ("Casting to C!\n");
- c->xx (1);
-}
-
-int main(int argc, char *argv[]) {
- printf ("*** Construct C object!\n");
- C *c = new C();
-
- int i = 0;
-
- printf ("*** Try to delete the casting pointer!\n");
- switch (i)
- {
- case 0: fooA1(c);
- break;
- case 1: fooA(c);
- break;
- case 2: fooB(c);
- break;
- case 3: fooC(c);
- break;
- }
-
- return num!=0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C b/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
deleted file mode 100644
index 03fd1a18c74..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
+++ /dev/null
@@ -1,86 +0,0 @@
-// prms-id: 3708
-
-extern "C" void printf (char *, ...);
-extern "C" int atoi (char *);
-
-void *ptr;
-
-class A {
-public:
- A() { printf ("A is constructed.\n"); }
- virtual void xx(int doit) { printf ("A is destructed.\n"); }
-};
-
-class A1 {
-public:
- A1() { printf ("A1 is constructed.\n"); }
- virtual void xx(int doit) { printf ("A1 is destructed.\n"); }
-};
-
-class B : public A1, public virtual A {
-public:
- B() { printf ("B is constructed.\n"); }
- virtual void xx(int doit) {
- printf ("B is destructed.\n");
- A1::xx (1);
- if (doit) A::xx (1);
- }
-};
-
-int num;
-
-class C : public virtual A, public B {
-public:
- C() { ++num; printf ("C is constructed.\n");
- ptr = this;
- }
- virtual void xx(int doit) {
- --num;
- if (ptr != this)
- printf("FAIL\n%x != %x\n", ptr, this);
- printf ("C is destructed.\n");
- B::xx (0);
- if (doit) A::xx (1);
- }
-};
-
-void fooA(A *a) {
- printf ("Casting to A!\n");
- a->xx (1);
-}
-void fooA1(A1 *a) {
- printf ("Casting to A1!\n");
- a->xx (1);
-}
-
-void fooB(B *b) {
- printf ("Casting to B!\n");
- b->xx (1);
-}
-
-void fooC(C *c) {
- printf ("Casting to C!\n");
- c->xx (1);
-}
-
-int main(int argc, char *argv[]) {
- printf ("*** Construct C object!\n");
- C *c = new C();
-
- int i = 0;
-
- printf ("*** Try to delete the casting pointer!\n");
- switch (i)
- {
- case 0: fooA1(c);
- break;
- case 1: fooA(c);
- break;
- case 2: fooB(c);
- break;
- case 3: fooC(c);
- break;
- }
-
- return num!=0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C b/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
deleted file mode 100644
index 42510074be3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
+++ /dev/null
@@ -1,85 +0,0 @@
-// prms-id: 3708
-
-extern "C" void printf (char *, ...);
-extern "C" void exit(int);
-
-void *ptr;
-
-class A {
-public:
- A() { printf ("A is constructed.\n"); }
- virtual void xx(int doit) { printf ("A is destructed.\n"); }
-};
-
-class A1 {
-public:
- A1() { printf ("A1 is constructed.\n"); }
- virtual void xx(int doit) { printf ("A1 is destructed.\n"); }
-};
-
-class B : public virtual A, public A1 {
-public:
- B() { printf ("B is constructed.\n"); }
- virtual void xx(int doit) {
- printf ("B is destructed.\n");
- A1::xx (1);
- if (doit) A::xx (1);
- }
-};
-
-int num;
-
-class C : public virtual A {
-public:
- C() { printf ("C is constructed.\n");
- }
- virtual void xx(int doit) {
- printf ("C is destructed.\n");
- if (doit) A::xx (1);
- }
-};
-
-class D : public C, public B {
-public:
- D() { ++num; printf ("D is constructed.\n");
- ptr = this;
- }
- virtual void xx(int doit) {
- --num;
- if (ptr != this) {
- printf("FAIL\n%x != %x\n", ptr, this);
- exit(1);
- }
- printf ("D is destructed.\n");
- C::xx (0);
- B::xx (0);
- }
-};
-
-void fooA(A *a) {
- printf ("Casting to A!\n");
- a->xx (1);
-}
-void fooA1(A1 *a) {
- printf ("Casting to A1!\n");
- a->xx (1);
-}
-
-void fooB(B *b) {
- printf ("Casting to B!\n");
- b->xx (1);
-}
-
-void fooC(C *c) {
- printf ("Casting to C!\n");
- c->xx (1);
-}
-
-int main(int argc, char *argv[]) {
- printf ("*** Construct D object!\n");
- D *d = new D();
-
- printf ("*** Try to delete the casting pointer!\n");
- fooA1(d);
- return num!=0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3764.C b/gcc/testsuite/g++.old-deja/g++.mike/p3764.C
deleted file mode 100644
index d0527555563..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3764.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// prms-id: 3764
-
-class Menu;
-class MenuItem;
-
-class MenuAction {
-public:
- virtual void execute (Menu& menu, MenuItem& menuItem) = 0;
-protected:
- MenuAction () {}
-};
-
-class Test {
- class MenuCBA : public MenuAction {
- public:
- typedef void (Test::* MenuCBA_Member) (Menu& menu, MenuItem& menuItem) ;
- MenuCBA(Test& instance, MenuCBA_Member member)
- : _instance(&instance), _member(member) { }
- void execute(Menu& menu, MenuItem& menuItem);
- private:
- MenuCBA_Member _member;
- Test *_instance;
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3836.C b/gcc/testsuite/g++.old-deja/g++.mike/p3836.C
deleted file mode 100644
index c62530f6906..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p3836.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// prms-id: 3836
-
-void f(int &i) { // ERROR - ref line
- i = 10;
-}
-
-int main()
-{
- int i=1, j=2;
- f(i);
- f((int)j); // ERROR - passing in to non-const
- if (j != 2)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4068.C b/gcc/testsuite/g++.old-deja/g++.mike/p4068.C
deleted file mode 100644
index fbdf02e2a9e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4068.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// prms-id: 4068
-
-struct A {
- A();
- typedef void (A::*F)();
- void d();
- void foo() { }
- F& f() { return f_; }
- F f_;
-};
-
-A::A() : f_(&A::foo) {
-}
-
-void A::d() {
- (this->*(f()))();
-}
-
-int main() {
- A a;
- a.d();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4104.C b/gcc/testsuite/g++.old-deja/g++.mike/p4104.C
deleted file mode 100644
index 7559034779a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4104.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// prms-id: 4104
-
-template <class T>
-void F(T &a, void (*P)(T &temp)) {
- (*P)(a);
-}
-
-template <class T>
-void G(T &a) {
-}
-
-int main() {
- int a;
- F(a, G);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4173.C b/gcc/testsuite/g++.old-deja/g++.mike/p4173.C
deleted file mode 100644
index 7d07ffd26b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4173.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// This error happens because lvalue is not done well in the C++ front-end.
-// NOPs should be lvalues if their arguments are.
-// NON_LVALUE_EXPRs shouldn't be.
-
-// Special g++ Options: -Wall -ansi -pedantic-errors
-// Build don't link:
-// prms-id: 4173
-
-enum TypeKind {
- RecordTypeKind
-};
-struct Type
-{
- enum TypeKind kind : 8;
- unsigned char prefixLen;
-};
-
-Type a;
-Type b;
-TypeKind c;
-
-int
-main() {
- a.kind = b.kind = c;
- (a.kind = c) = b.kind; // gets bogus error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p418.C b/gcc/testsuite/g++.old-deja/g++.mike/p418.C
deleted file mode 100644
index 6e868c7ec0d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p418.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// prms-id: 418
-
-class Base {
-public:
- int foo;
-};
-
-class Derived : public Base {
-public:
- int bar;
-};
-
-void func(Base&); // ERROR - referenced by error below
-
-void func2(const Derived& d) {
- func(d); // ERROR - should be error because of const
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4238.C b/gcc/testsuite/g++.old-deja/g++.mike/p4238.C
deleted file mode 100644
index 2499a6d4015..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4238.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// This showed a problem with default op=
-// Build don't link:
-// prms-id: 4238
-
-struct sigcontext {
- int sc_wbuf[31][25];
-}; // gets bogus error - default op= seems broken
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4246.C b/gcc/testsuite/g++.old-deja/g++.mike/p4246.C
deleted file mode 100644
index a610f70717b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4246.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// prms-id: 4246
-
-extern "C" void abort ();
-int num_d;
-
-class A
-{
- public:
- A() { }
- virtual ~A() { }
- virtual void id() { }
-};
-
-class B
-{
- public:
- B() { }
- virtual ~B() { }
- virtual void id() { }
-};
-
-class C : public A, public B
-{
- public:
- C() { }
- virtual ~C() { }
- void id() { abort(); }
-};
-
-class D : public C
-{
- public:
- D() { ++num_d; }
- virtual ~D() { -- num_d; }
- void id() { }
-};
-
-int main()
-{
- D* dp2 = new D;
- ((B*)dp2)->id();
- delete (B*) dp2;
-
- B* bp1 = new D;
- bp1->id();
- delete bp1;
- return num_d != 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4263.C b/gcc/testsuite/g++.old-deja/g++.mike/p4263.C
deleted file mode 100644
index 65d5150c751..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4263.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// prms-id: 4263
-
-enum OT {A_type, B_Type};
-enum AT {A, B};
-
-/* These are not ok. */
-OT t = A; // ERROR -
-OT e2 = 1; // ERROR -
-OT e3 = 1.1; // ERROR -
-
-/* These are ok. */
-int i = A;
-double d = A;
-OT e4 = A_type;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p438.C b/gcc/testsuite/g++.old-deja/g++.mike/p438.C
deleted file mode 100644
index 9afab638abc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p438.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// prms-id: 438
-
-class D;
-
-class C
-{
- public:
- void test() const;
-};
-
-class D
-{
- public:
- void a(C& b); // ERROR - referenced below
-};
-
-void C::test() const
-{
- D d;
-
- d.a(*this); // ERROR - *this is const, so should get error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4484.C b/gcc/testsuite/g++.old-deja/g++.mike/p4484.C
deleted file mode 100644
index 64aab160965..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4484.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// prms-id: 4484
-
-class A {
- char buf[64];
-};
-
-typedef void (A::*pmf)();
-typedef void (A::*pmfc)() const;
-
-pmfc p = (pmfc)(pmf)0;
-
-class B {
-};
-
-class D : public A, public B {
-};
-
-typedef int (B::*bmfp)();
-typedef int (D::*dmfp)();
-
-bmfp foo;
-
-void bar(dmfp a) {
- bar(foo);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4511.C b/gcc/testsuite/g++.old-deja/g++.mike/p4511.C
deleted file mode 100644
index e8555da88d7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4511.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// prms-id: 4511
-
-int bad;
-
-class A {
-public:
- virtual void dummy (){};
-};
-
-class B {
-public:
- virtual void f(void) = 0;
-};
-
-class C : public A, public B {
-public:
- void f(void) { bad=1; };
-};
-
-class D : public C {
-public:
- void f(void) { };
-};
-
-class E : public D { };
-
-int main() {
- E e;
- e.f();
- E * ep = &e;
- ep->f();
- return bad;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4619.C b/gcc/testsuite/g++.old-deja/g++.mike/p4619.C
deleted file mode 100644
index 8b772581c66..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4619.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// prms-id: 4619
-
-int main() {
- int i = 3;
- int (*p)[10] = new int [20][10];
- int (*p1)[5][7][13][10] = new int [i][5][7][13][10];
- delete [] p1;
- delete [] p;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4623.C b/gcc/testsuite/g++.old-deja/g++.mike/p4623.C
deleted file mode 100644
index 00ab5761116..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4623.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// prms-id: 4623
-
-class base {
-public:
- int b_data;
- base( int i=0 ) { b_data = i; }
- void b_print() { }
-};
-
-class base1: virtual public base {
-public:
- int b1_data;
- base1( int i = 0 ) { b1_data = i; b_data++; }
- void b1_print() { }
-};
-
-class base2: virtual public base {
-public:
- int b2_data;
- base2( int i = 0 ) { b2_data = i; b_data++; }
- void b2_print() { }
-};
-
-class base3: public base {};
-
-class derived: public base3, public base1, public base2 {
-public:
- int d_data;
- derived( int i ) { d_data = i; base3::b_data++; }
- void d_print() { }
-};
-
-int main() {
- derived d(1); d.d_print(); return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4667.C b/gcc/testsuite/g++.old-deja/g++.mike/p4667.C
deleted file mode 100644
index 751a5666103..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4667.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// prms-id: 4667
-
-int counter = 0;
-int a = 0;
-int b = 0;
-int c = 0;
-
-struct A {
- A() { a = counter++; }
-};
-
-struct B {
- B() { b = counter++; }
-};
-
-struct C : public virtual B {
- C() { c = counter++; }
-};
-
-struct D : public virtual A, public virtual C { };
-
-extern "C" int printf(const char*,...);
-int main(void) {
- D d;
-
- if (!(a == 0 && b == 1 && c == 2)) {
- return 1;
- }
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4671.C b/gcc/testsuite/g++.old-deja/g++.mike/p4671.C
deleted file mode 100644
index 68f3ee16c0c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4671.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// prms-id: 4671
-
-class ccUnwind {
-public:
- virtual void _c_getInfo() const;
- virtual ~ccUnwind ();
-};
-class ccTransmittable {
-public:
- virtual ~ccTransmittable();
-};
-class ccCommand : public ccUnwind, public ccTransmittable {
-};
-class foo : public ccCommand {
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4677.C b/gcc/testsuite/g++.old-deja/g++.mike/p4677.C
deleted file mode 100644
index 463033caec3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4677.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// prms-id: 4677
-
-struct A {
- A(double d) { }
-};
-
-struct B { B(A) { } } bad = 1; // ERROR -
-B good (1);
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4693.C b/gcc/testsuite/g++.old-deja/g++.mike/p4693.C
deleted file mode 100644
index b0d0d88fad3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4693.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// prms-id: 4693
-
-class a {
-public:
- virtual ~a();
-};
-
-class b {
-public:
- virtual void set_var() = 0;
-};
-
-class c : public b, public a { };
-
-class d : public c {
-public:
- void set_var() { }
-};
-
-int main() {
- d * test;
- test = new d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4736a.C b/gcc/testsuite/g++.old-deja/g++.mike/p4736a.C
deleted file mode 100644
index a6e3aef88e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4736a.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// prms-id: 4736
-
-int did_fail = 1;
-
-class O {
-public:
- virtual void of() { }
-};
-
-class A : public O {
-public:
- virtual void vf() { }
-};
-
-class W {
-public:
- virtual void vf() { }
-};
-
-class X : public W, public A {
-public:
- virtual void vf() { }
-};
-
-class Z : public X {
-public:
- virtual void vf() { did_fail = 0; }
-};
-
-Z sz;
-
-void fail1(W* w) {
- w->vf();
-}
-
-int main() {
- fail1 (&sz);
- return did_fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C b/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C
deleted file mode 100644
index 0978f0bb63b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4736b.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// prms-id: 4736
-
-class Rep {
-public:
- virtual int foo() { return 1; }
-};
-
-class Rep_1 : public Rep {
-};
-
-class VBaseMain {
-public:
- virtual int foo() { return 2; }
-};
-
-class OtherVBase {
-public:
- virtual int foo() { return 3; }
-};
-
-class Rep_2 : public Rep {
-};
-
-class DVBase : public VBaseMain, public Rep_2, public OtherVBase {
-public:
- virtual int foo() { return 4; }
-};
-
-class Main : public Rep_1, virtual public DVBase {
-public:
- virtual int foo() { return 5; }
-};
-
-int main() {
- Main m;
- if (m.foo() != 5)
- return 1;
- if (((Rep*)(Rep_1*)&m)->foo() != 5)
- return 2;
- if (((DVBase*)&m)->foo() != 5)
- return 3;
- if (((VBaseMain*)(DVBase*)&m)->foo() != 5)
- return 4;
- if (((Rep*)(Rep_2*)(DVBase*)&m)->foo() != 5)
- return 5;
- if (((OtherVBase*)(DVBase*)&m)->foo() != 5)
- return 6;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4736c.C b/gcc/testsuite/g++.old-deja/g++.mike/p4736c.C
deleted file mode 100644
index f76b06af1cd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4736c.C
+++ /dev/null
@@ -1,62 +0,0 @@
-// prms-id: 4736
-
-int did_fail;
-
-class Rep {
-public:
- virtual ~Rep() { }
-};
-
-class Rep_1 : public Rep {
-};
-
-class VBaseMain {
-public:
- virtual ~VBaseMain() { }
-};
-
-class OtherVBase {
-public:
- virtual ~OtherVBase() { }
-};
-
-class Rep_2 : public Rep {
-};
-
-class DVBase : public VBaseMain, public Rep_2, public OtherVBase {
-public:
- virtual ~DVBase() { }
-};
-
-class Main : public Rep_1, virtual public DVBase {
-public:
- virtual ~Main() { did_fail = 0; }
-};
-
-int main() {
- Main* m;
- did_fail = 1;
- delete new Main;
- if (did_fail)
- return 1;
- did_fail = 1;
- delete (Rep*)(Rep_1*)new Main;
- if (did_fail)
- return 2;
- did_fail = 1;
- delete (DVBase*)new Main;
- if (did_fail)
- return 3;
- did_fail = 1;
- delete (VBaseMain*)(DVBase*)new Main;
- if (did_fail)
- return 4;
- did_fail = 1;
- delete (Rep*)(Rep_2*)(DVBase*)new Main;
- if (did_fail)
- return 5;
- did_fail = 1;
- delete (OtherVBase*)(DVBase*)new Main;
- if (did_fail)
- return 6;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4750.C b/gcc/testsuite/g++.old-deja/g++.mike/p4750.C
deleted file mode 100644
index b404cc05ff4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p4750.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Skip if not native
-// Special g++ Options: -fpic -pedantic-errors -S
-// prms-id: 4750
-
-extern const int FRAME_VEC_MAX;
-
-const int FRAME_VEC_MAX = 12;
-int frame_vec_sizes[FRAME_VEC_MAX+1] = {
- 0, 1, 3, 3, 6, 6, 6, 9, 9, 9, 12, 12, 12
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5469.C b/gcc/testsuite/g++.old-deja/g++.mike/p5469.C
deleted file mode 100644
index 9af20101171..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5469.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// prms-id: 5469
-
-int count;
-
-class A {
- A();
- A(const A&);
-public:
- A(int) { ++count; }
- ~A() { --count; }
- int operator== (const A& r) { return 0; }
-};
-
-int main() {
- {
- A a (1);
- if (a == 2 && a == 1)
- ;
- }
- return count;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5469a.C b/gcc/testsuite/g++.old-deja/g++.mike/p5469a.C
deleted file mode 100644
index 0783f77dffe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5469a.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// prms-id: 5469
-
-int count;
-
-class A {
- A();
- A(const A&);
-public:
- A(int) { ++count; }
- ~A() { --count; }
- int operator== (const A& r) { return 1; }
-};
-
-int main() {
- {
- A a (1);
- if (a == 2 || a == 1)
- ;
- }
- return count;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5571.C b/gcc/testsuite/g++.old-deja/g++.mike/p5571.C
deleted file mode 100644
index ec350eacb3a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5571.C
+++ /dev/null
@@ -1,70 +0,0 @@
-// prms-id: 5571
-
-int err = 0;
-void *vp = 0;
-
-class ParentOne {
-public:
- ParentOne() {};
-#ifdef MAKE_WORK
- virtual ~ParentOne() {};
-#endif
-private:
- char SomeData[101];
-};
-
-class ParentTwo {
-public:
- ParentTwo() {};
- virtual ~ParentTwo() {};
-private:
- int MoreData[12];
- virtual int foo() { return 0; }
-};
-
-struct Child : public ParentOne, public ParentTwo {
- int ChildsToy;
- virtual void PrintThis() = 0;
-};
-
-struct Student : public Child {
- int StudentsBook;
- void PrintThis() {
- if (vp == 0)
- vp = (void *)this;
- else
- {
- if (vp != (void *)this)
- ++err;
- }
- }
- void LocalPrintThis() {
- if (vp == 0)
- vp = (void *)this;
- else
- {
- if (vp != (void *)this)
- ++err;
- }
- PrintThis();
- }
- void ForcedPrintThis() {
- if (vp == 0)
- vp = (void *)this;
- else
- {
- if (vp != (void *)this)
- ++err;
- }
- Student::PrintThis();
- }
-};
-
-int main() {
- Student o;
- o.LocalPrintThis();
- o.ForcedPrintThis();
- Child* pX = &o;
- pX->PrintThis();
- return err;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5611.C b/gcc/testsuite/g++.old-deja/g++.mike/p5611.C
deleted file mode 100644
index 557d2cc2baf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5611.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// prms-id: 5611
-
-int main(void)
-{
- struct B
- {
- virtual void b1() { };
- };
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5673.C b/gcc/testsuite/g++.old-deja/g++.mike/p5673.C
deleted file mode 100644
index d972ab0ceeb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5673.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// prms-id: 5673
-
-class A {
-public:
- operator int () {
- return 7;
- }
- ~A();
-};
-
-int foo() {
- return A();
-}
-
-int main() {
- return foo() != 7;
-}
-
-A::~A() {
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5718.C b/gcc/testsuite/g++.old-deja/g++.mike/p5718.C
deleted file mode 100644
index 8858d389ef7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5718.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// prms-id: 5718
-
-class Base {
- int i;
-public:
- Base() { i = 42; };
-};
-
-
-class Mixin {
- int j;
-public:
- Mixin() { j = 42; }
-};
-
-
-class Derived : public Base, public Mixin {
-public:
- Derived() { };
- Derived & operator=(Mixin & m) { return *this; };
-};
-
-
-void
-testFunct(Derived * arg) {
- Mixin temp;
-
- (Mixin &)(*arg) = temp; // gets bogus error
-}
-
-
-int
-main(int argc, char *argv[]) {
- Derived temp;
-
- testFunct(&temp);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5793.C b/gcc/testsuite/g++.old-deja/g++.mike/p5793.C
deleted file mode 100644
index 53469cdf07a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5793.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// prms-id: 5793
-
-class temp_string {
- public:
- temp_string (const int);
- temp_string (const char * const);
-};
-
-class Range {
- public:
- Range ( const int);
- operator int () const ;
-};
-
-int operator == (const int, temp_string );
-
-void CheckArrayConstraints(void) {
- if (Range(0L) == 0L)
- ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5840.C b/gcc/testsuite/g++.old-deja/g++.mike/p5840.C
deleted file mode 100644
index 34dd37df6c3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5840.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// prms-id: 5840
-
-class Signal {
-public:
- int Name(void) { return 1; }
-};
-
-class Derived : public Signal {
-public:
- int Name(void) { return 2; }
-};
-
-template <class Foo , int (Foo::*Id)(void)>
-class Bar
-{
-public:
- int value (Foo* a) { return (a->*Id)(); }
-};
-
-/* The following line is illegal under the new rules for non-type
- template arguments in the standard, so it is commented out. */
-/* template class Bar <Derived, &Signal::Name>; */
-template class Bar <Signal, &Signal::Name>;
-template class Bar <Derived, &Derived::Name>;
-
-Derived a;
-
-/* Bar<Derived, &Signal::Name> dispatcher1; */
-Bar<Derived, &Derived::Name> dispatcher2;
-
-int main() {
- /* int i1 = dispatcher1.value(&a); */
- int i2 = dispatcher2.value(&a);
- return /* i1 != 1 || */ i2 != 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p5958.C b/gcc/testsuite/g++.old-deja/g++.mike/p5958.C
deleted file mode 100644
index 20d45f264d0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p5958.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Special g++ Options: -ansi
-// prms-id: 5958
-
-class A { };
-
-main() {
- int i = 1;
- if (1 not_eq 1)
- return 1;
- if (not (1 and 1))
- return 1;
- if (not (1 or 1))
- return 1;
- if (compl ~0)
- return 1;
- if (1 bitand 2)
- return 1;
- if (not (1 bitor 2))
- return 1;
- if (1 xor 1)
- return 1;
- i and_eq 1;
- i or_eq 2;
- i xor_eq 4;
- if (i not_eq 7)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6004.C b/gcc/testsuite/g++.old-deja/g++.mike/p6004.C
deleted file mode 100644
index b692365b12e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6004.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Special g++ Options:
-// prms-id: 6004
-
-class A {
-public:
- static int foo() asm("_my_routine");
-};
-
-int bar1() asm("foo__1A");
-int bar2() asm("_foo__1A");
-int bar3() asm("__foo__1A");
-int bar1() { return 45; }
-int bar2() { return 44; }
-int bar3() { return 43; }
-
-int A::foo() { return 42; }
-
-main() {
- return A::foo() - 42;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6058.C b/gcc/testsuite/g++.old-deja/g++.mike/p6058.C
deleted file mode 100644
index 1c0c6224ebc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6058.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fexceptions -pedantic-errors
-// prms-id: 6058
-
-void bar(struct s1 { } a) { (void)a; } // ERROR -
-
-struct s2*fooey()
-{
- try {
- static_cast<struct s3 { } *>(0); // ERROR -
- const_cast<struct s4 { } *>((s4*)0); // ERROR -
- reinterpret_cast<struct s5 { } *>((s3*)0); // ERROR -
- dynamic_cast<struct s6 { } *>((s6*)0); // ERROR -
- (struct s7 { } *)(int*)0xffedec; // ERROR -
- } catch (struct s8 { } s) { // ERROR -
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6149.C b/gcc/testsuite/g++.old-deja/g++.mike/p6149.C
deleted file mode 100644
index 578ee8b643c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6149.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// prms-id: 6149
-
-int a[3 - sizeof(double)]; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6311.C b/gcc/testsuite/g++.old-deja/g++.mike/p6311.C
deleted file mode 100644
index a0ef8c8c1fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6311.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// prms-id: 6311
-
-struct Foo {
- int member;
-} a = { 42 }, *ptra = &a;
-
-int Foo::*pmd = &Foo::member;
-
-int main() {
- if (pmd == 0)
- return 1;
- if (a.*pmd != 42)
- return 2;
- if (ptra->*pmd != 42)
- return 3;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p646.C b/gcc/testsuite/g++.old-deja/g++.mike/p646.C
deleted file mode 100644
index 2644c1b43df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p646.C
+++ /dev/null
@@ -1,175 +0,0 @@
-// GROUPS passed i960
-/*
- Bug Id: bnr
- PMRS Id: p0000646
- Bug is: Urgent Code Generation Problem in gcc-i960 V 1.95
-*/
-
-
-// Special g++ Options:
-
-extern "C"
-{
- void printf (char *, ...);
- void abort ();
-}
-
-struct foo
-{
- static int si;
- int i;
- foo ();
- foo (const foo&);
- ~foo ();
-};
-
-int
-foo_parm_returns_i (foo foo_arg)
-{
- return foo_arg.i;
-}
-
-int foo::si = 0;
-
-foo::foo ()
-{
- si++;
- printf ("new foo @ 0x%x; now %d foos\n", this, si);
-}
-
-foo::foo (const foo &other)
-{
- si++;
- printf ("another foo @ 0x%x; now %d foos\n", this, si);
- *this = other;
-}
-
-foo::~foo ()
-{
- si--;
- printf ("deleted foo @ 0x%x; now %d foos\n", this, si);
-}
-
-int
-return_1 ()
-{
- foo f;
- printf ("returning 1\n");
- return 1;
-}
-
-int
-return_arg (int arg)
-{
- foo f;
- printf ("returning %d\n", arg);
- return arg;
-}
-
-int
-return_sum (int x, int y)
-{
- foo f;
- printf ("returning %d+%d\n", x, y);
- return x + y;
-}
-
-foo
-return_foo ()
-{
- foo f;
- printf ("returning foo\n");
- return f;
-}
-
-foo
-return_named_foo () return f
-{
- printf ("returning named foo\n");
- return f;
-}
-
-foo
-foo_parm_returns_foo (foo f)
-{
- return f;
-}
-
-void
-abort_because (char *str)
-{
- printf ("aborting because %s\n", str);
- abort ();
-}
-
-int
-warn_return_1 ()
-{
- foo f;
- printf ("returning 1\n");
-}
-
-int
-warn_return_arg (int arg)
-{
- foo f;
- printf ("returning %d\n", arg);
- arg;
-}
-
-int
-warn_return_sum (int x, int y)
-{
- foo f;
- printf ("returning %d+%d\n", x, y);
- x + y;
-}
-
-foo
-warn_return_foo ()
-{
- foo f;
- printf ("returning foo\n");
-}
-
-foo
-nowarn_return_named_foo () return f
-{
- printf ("returning named foo\n");
-}
-
-foo
-warn_foo_parm_returns_foo (foo f)
-{
- f;
-}
-
-main ()
-{
- int ii = return_1 ();
- if (ii != 1)
- abort_because ("wrong value returned");
- int j = return_arg (42);
- if (j != 42)
- abort_because ("wrong value returned");
- int k = return_sum (-69, 69);
- if (k != 0)
- abort_because ("wrong value returned");
- foo f1 = return_named_foo ();
- if (foo::si != 1)
- abort_because ("wrong number of foos");
- f1.i = 5;
- int l = foo_parm_returns_i (f1);
- if (l != 5)
- abort_because ("l != 5");
- foo f2 = foo_parm_returns_foo (f1);
- if (foo::si != 2)
- abort_because ("wrong number of foos");
- if (f2.i != 5)
- abort_because ("f2.i != 5");
- foo f3 = return_foo ();
- if (foo::si != 3)
- abort_because ("wrong number of foos");
- printf("PASS\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6578.C b/gcc/testsuite/g++.old-deja/g++.mike/p6578.C
deleted file mode 100644
index 2b19e86ddfb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6578.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// prms-id: 6578
-
-struct A {
- operator int ();
-};
-
-int i = A();
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p658.C b/gcc/testsuite/g++.old-deja/g++.mike/p658.C
deleted file mode 100644
index 14658f04956..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p658.C
+++ /dev/null
@@ -1,101 +0,0 @@
-// prms-id: 658
-
-#include <ostream.h>
-
-extern "C" void abort();
-
-/* We may not find the libg++ <bool.h>. */
-#ifndef FALSE
-#define FALSE false
-#endif
-#ifndef TRUE
-#define TRUE true
-#endif
-
-class Object {
-public:
- Object();
- Object(const Object&);
- ~Object();
-
- void OK() const;
-private:
- bool _destructed;
-};
-
-class Char: public Object {
-public:
- Char();
- Char(char);
- Char(const Char&);
- ~Char();
-
- operator char () const;
-private:
- char _c;
-};
-
-int main()
-{
- Char r, s;
-
- r = Char('r');
- s = Char('s');
-}
-
-//
-// Object stuff
-//
-Object::Object():
-_destructed(FALSE)
-{}
-
-Object::Object(const Object& other):
-_destructed(FALSE)
-{
- other.OK();
-}
-
-Object::~Object()
-{
- OK();
- _destructed = TRUE;
-}
-
-void
-Object::OK() const
-{
- if (_destructed) {
- cerr << "FAILURE - reference was made to a destructed object\n";
- abort();
- }
-}
-
-//
-// Char stuff
-//
-
-Char::Char():
-Object(),
-_c('a')
-{ }
-
-Char::Char(char c):
-Object(),
-_c(c)
-{ }
-
-Char::Char(const Char& other):
-Object(other),
-_c(other._c)
-{ }
-
-Char::~Char()
-{
- OK();
-}
-
-Char::operator char () const
-{
- return _c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6610a.C b/gcc/testsuite/g++.old-deja/g++.mike/p6610a.C
deleted file mode 100644
index b9ea4b769bb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6610a.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// prms-id: 6610
-// There is a bug in vtable thunks with multiple/virtual inheritance.
-// execution test - XFAIL *-*-linux-gnu *-*-linux
-int fail = 1;
-struct B;
-struct A { virtual int f(const B*) = 0; int g(const B*); };
-int A::g(const B* t) { return f(t); }
-struct B : virtual A { B(); int f(const B*); B* B_this; };
-B::B() { if (g(this)) fail = 0; }
-int B::f(const B* t) { return t == this; }
-struct C : B { int f(const B*); int x; };
-int C::f(const B*) { return 0; }
-
-int main() { C c; return fail; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6610b.C b/gcc/testsuite/g++.old-deja/g++.mike/p6610b.C
deleted file mode 100644
index 8ec637eef02..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6610b.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// prms-id: 6610
-
-int fail = 1;
-struct B;
-struct A { virtual int f(const B*) = 0; int g(const B*); };
-int A::g(const B* t) { return f(t); }
-struct B : virtual A { int f(const B*); B* B_this; };
-int B::f(const B* t) { return t == this; }
-struct S1 { };
-struct C : virtual S1, virtual B, virtual A { C(); };
-C::C() { if (g(this)) fail = 0; }
-struct D : virtual B, virtual A, C { };
-
-int main() { D d; return fail; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6611.C b/gcc/testsuite/g++.old-deja/g++.mike/p6611.C
deleted file mode 100644
index 3d972cb8643..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6611.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// prms-id: 6611
-
-class COMPLEX {
-public:
- COMPLEX(double a, double b=0) { re = a; im = b; }
- void print() const { }
-private:
- double re;
- double im;
-};
-
-int main(void)
-{
- COMPLEX a[3][3] = {
- { 1, COMPLEX(2,3), COMPLEX(3,4), },
- { 1, COMPLEX(2,3), COMPLEX(3,4), },
- { 1, COMPLEX(2,3), COMPLEX(3,4), },
- };
- int i,j;
-
- for (i = 0; i < 3; i++) {
- for (j = 0; j < 3; j++) {
- a[i][j].print();
- }
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6746.C b/gcc/testsuite/g++.old-deja/g++.mike/p6746.C
deleted file mode 100644
index 764310fc05b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6746.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// prms-id: 6746
-
-class call_trace {
-public:
- call_trace(char* fcn_name);
- ~call_trace();
-};
-
-static char * last_tree;
-extern "C" void prt();
-
-char * smt_mark_stree() {
- char* _my_name = "smt_mark_stree" ;
- call_trace _t(_my_name);
-
- return last_tree = 0 ? (char*)0 : (prt(), (char*)0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6901.C b/gcc/testsuite/g++.old-deja/g++.mike/p6901.C
deleted file mode 100644
index 83292949ca8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6901.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// prms-id: 6901
-
-void green() {
- for (int i = 0; i < 10; i++) {}
- for (int i = 0; i < 10; i++) {}
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p6927.C b/gcc/testsuite/g++.old-deja/g++.mike/p6927.C
deleted file mode 100644
index 7a0ec4229c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p6927.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// prms-id: 6927
-
-class Object {
-public:
- Object();
- int Value;
-};
-
-Object::Object() : Value(-1) { }
-
-Object *pArr = new Object[2];
-
-int main() {
- if (pArr[0].Value != -1 || pArr[1].Value != -1)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p700.C b/gcc/testsuite/g++.old-deja/g++.mike/p700.C
deleted file mode 100644
index 580895e557b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p700.C
+++ /dev/null
@@ -1,2387 +0,0 @@
-// Special g++ Options:
-// prms-id: 700
-
-//# 1 "../../../../libg++/etc/benchmarks/dhrystone.cc"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "../../../../libg++/etc/benchmarks/Int.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class Int
-{
-protected:
- int rep;
-
-
-
-public:
- Int ();
- Int (const int b);
- Int (const Int& b);
- ~Int();
-
- operator int() const;
-
- inline virtual int val() const;
-
- inline virtual void operator = (const int);
- inline virtual void operator = (const Int&);
-
- inline virtual void negate();
- inline virtual void complement();
- inline virtual void operator ++ ();
- inline virtual void operator -- ();
-
- inline virtual void operator += (const Int & );
- inline virtual void operator -= (const Int & );
- inline virtual void operator *= (const Int & );
- inline virtual void operator /= (const Int & );
- inline virtual void operator %= (const Int & );
- inline virtual void operator |= (const Int & );
- inline virtual void operator &= (const Int & );
- inline virtual void operator ^= (const Int & );
- inline virtual void operator <<=(const Int & );
- inline virtual void operator >>=(const Int & );
-
-
- inline virtual void operator += (const int);
- inline virtual void operator -= (const int);
- inline virtual void operator *= (const int);
- inline virtual void operator /= (const int);
- inline virtual void operator %= (const int);
- inline virtual void operator |= (const int);
- inline virtual void operator &= (const int);
- inline virtual void operator ^= (const int);
- inline virtual void operator <<=(const int);
- inline virtual void operator >>=(const int);
-
-
-};
-
-inline int Int::val() const { return rep; }
-inline Int::operator int() const { return val(); }
-
-inline Int::Int () :rep(0) {}
-inline Int::Int (const int b) :rep(b) {}
-inline Int::Int (const Int& b) :rep(b.Int::val()) {}
-inline Int::~Int() {}
-
-inline void Int::operator = (const int b)
-{ rep = b; ; }
-inline void Int::operator = (const Int& b)
-{ rep = b.Int::val(); ; }
-
-inline void Int::complement()
-{ rep = ~rep; ; }
-inline void Int::negate()
-{ rep = -rep; ; }
-inline void Int::operator ++ ()
-{ ++rep; ; }
-inline void Int::operator -- ()
-{ --rep; ; }
-
-inline void Int::operator += (const Int & b)
-{ rep += b.Int::val(); ; }
-inline void Int::operator -= (const Int & b)
-{ rep -= b.Int::val(); ; }
-inline void Int::operator *= (const Int & b)
-{ rep *= b.Int::val(); ; }
-inline void Int::operator /= (const Int & b)
-{ rep /= b.Int::val(); ; }
-inline void Int::operator %= (const Int & b)
-{ rep %= b.Int::val(); ; }
-inline void Int::operator |= (const Int & b)
-{ rep |= b.Int::val(); ; }
-inline void Int::operator &= (const Int & b)
-{ rep &= b.Int::val(); ; }
-inline void Int::operator ^= (const Int & b)
-{ rep ^= b.Int::val(); ; }
-inline void Int::operator <<=(const Int & b)
-{ rep <<= b.Int::val(); ; }
-inline void Int::operator >>=(const Int & b)
-{ rep >>= b.Int::val(); ; }
-
-
-
-inline void Int::operator += (const int b)
-{ rep += b; ; }
-inline void Int::operator -= (const int b)
-{ rep -= b; ; }
-inline void Int::operator *= (const int b)
-{ rep *= b; ; }
-inline void Int::operator /= (const int b)
-{ rep /= b; ; }
-inline void Int::operator %= (const int b)
-{ rep %= b; ; }
-inline void Int::operator |= (const int b)
-{ rep |= b; ; }
-inline void Int::operator &= (const int b)
-{ rep &= b; ; }
-inline void Int::operator ^= (const int b)
-{ rep ^= b; ; }
-inline void Int::operator <<=(const int b)
-{ rep <<= b; ; }
-inline void Int::operator >>=(const int b)
-{ rep >>= b; ; }
-
-
-inline int& operator = (int& a, const Int & b)
-{ a = b.Int::val(); return a;} // WARNING -
-inline int& operator += (int& a, const Int & b)
-{ a += b.Int::val(); return a; }
-inline int& operator -= (int& a, const Int & b)
-{ a -= b.Int::val(); return a;}
-inline int& operator *= (int& a, const Int & b)
-{ a *= b.Int::val(); return a;}
-inline int& operator /= (int& a, const Int & b)
-{ a /= b.Int::val(); return a;}
-inline int& operator %= (int& a, const Int & b)
-{ a %= b.Int::val(); return a;}
-inline int& operator |= (int& a, const Int & b)
-{ a |= b.Int::val(); return a;}
-inline int& operator &= (int& a, const Int & b)
-{ a &= b.Int::val(); return a;}
-inline int& operator ^= (int& a, const Int & b)
-{ a ^= b.Int::val(); return a;}
-inline int& operator <<=(int& a, const Int & b)
-{ a <<= b.Int::val(); return a;}
-inline int& operator >>=(int& a, const Int & b)
-{ a >>= b.Int::val(); return a;}
-
-
-
-//# 289 "../../../../libg++/etc/benchmarks/Int.h"
-
-
-inline Int operator - (const Int & a) return r(a)
-{ r.negate(); }
-inline Int operator ~ (const Int & a) return r(a)
-{ r.complement(); }
-
-inline Int operator + (const Int & a, const Int & b) return r(a)
-{ r += b.Int::val(); }
-inline Int operator - (const Int & a, const Int & b) return r(a)
-{ r -= b.Int::val(); }
-inline Int operator * (const Int & a, const Int & b) return r(a)
-{ r *= b.Int::val(); }
-inline Int operator / (const Int & a, const Int & b) return r(a)
-{ r /= b.Int::val(); }
-inline Int operator % (const Int & a, const Int & b) return r(a)
-{ r %= b.Int::val(); }
-inline Int operator << (const Int & a, const Int & b) return r(a)
-{ r <<= b.Int::val(); }
-inline Int operator >> (const Int & a, const Int & b) return r(a)
-{ r >>= b.Int::val(); }
-inline Int operator & (const Int & a, const Int & b) return r(a)
-{ r &= b.Int::val(); }
-inline Int operator | (const Int & a, const Int & b) return r(a)
-{ r |= b.Int::val(); }
-inline Int operator ^ (const Int & a, const Int & b) return r(a)
-{ r ^= b.Int::val(); }
-
-inline Int operator + (const Int & a, const int b) return r(a)
-{ r += b; }
-inline Int operator - (const Int & a, const int b) return r(a)
-{ r -= b; }
-inline Int operator * (const Int & a, const int b) return r(a)
-{ r *= b; }
-inline Int operator / (const Int & a, const int b) return r(a)
-{ r /= b; }
-inline Int operator % (const Int & a, const int b) return r(a)
-{ r %= b; }
-inline Int operator << (const Int & a, const int b) return r(a)
-{ r <<= b; }
-inline Int operator >> (const Int & a, const int b) return r(a)
-{ r >>= b; }
-inline Int operator & (const Int & a, const int b) return r(a)
-{ r &= b; }
-inline Int operator | (const Int & a, const int b) return r(a)
-{ r |= b; }
-inline Int operator ^ (const Int & a, const int b) return r(a)
-{ r ^= b; }
-
-inline Int operator + (const int a, const Int & b) return r(a)
-{ r += b.Int::val(); }
-inline Int operator - (const int a, const Int & b) return r(a)
-{ r -= b.Int::val(); }
-inline Int operator * (const int a, const Int & b) return r(a)
-{ r *= b.Int::val(); }
-inline Int operator / (const int a, const Int & b) return r(a)
-{ r /= b.Int::val(); }
-inline Int operator % (const int a, const Int & b) return r(a)
-{ r %= b.Int::val(); }
-inline Int operator << (const int a, const Int & b) return r(a)
-{ r <<= b.Int::val(); }
-inline Int operator >> (const int a, const Int & b) return r(a)
-{ r >>= b.Int::val(); }
-inline Int operator & (const int a, const Int & b) return r(a)
-{ r &= b.Int::val(); }
-inline Int operator | (const int a, const Int & b) return r(a)
-{ r |= b.Int::val(); }
-inline Int operator ^ (const int a, const Int & b) return r(a)
-{ r ^= b.Int::val(); }
-
-
-
-inline int operator ! (const Int & a) { return !a.Int::val(); }
-
-inline int operator == (const Int & a, const Int & b)
-{ return a.Int::val() == b.Int::val(); }
-inline int operator != (const Int & a, const Int & b)
-{ return a.Int::val() != b.Int::val(); }
-inline int operator < (const Int & a, const Int & b)
-{ return a.Int::val() < b.Int::val(); }
-inline int operator <= (const Int & a, const Int & b)
-{ return a.Int::val() <= b.Int::val(); }
-inline int operator > (const Int & a, const Int & b)
-{ return a.Int::val() > b.Int::val(); }
-inline int operator >= (const Int & a, const Int & b)
-{ return a.Int::val() >= b.Int::val(); }
-
-inline int operator == (const Int & a, const int b)
-{ return a.Int::val() == b; }
-inline int operator != (const Int & a, const int b)
-{ return a.Int::val() != b; }
-inline int operator < (const Int & a, const int b)
-{ return a.Int::val() < b; }
-inline int operator <= (const Int & a, const int b)
-{ return a.Int::val() <= b; }
-inline int operator > (const Int & a, const int b)
-{ return a.Int::val() > b; }
-inline int operator >= (const Int & a, const int b)
-{ return a.Int::val() >= b; }
-
-inline int operator == (const int a, const Int & b)
-{ return a == b.Int::val(); }
-inline int operator != (const int a, const Int & b)
-{ return a != b.Int::val(); }
-inline int operator < (const int a, const Int & b)
-{ return a < b.Int::val(); }
-inline int operator <= (const int a, const Int & b)
-{ return a <= b.Int::val(); }
-inline int operator > (const int a, const Int & b)
-{ return a > b.Int::val(); }
-inline int operator >= (const int a, const Int & b)
-{ return a >= b.Int::val(); }
-
-
-
-//# 26 "../../../../libg++/etc/benchmarks/dhrystone.cc" 2
-
-//# 1 "../../../../libg++/etc/benchmarks/Char.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class Char
-{
-protected:
- char rep;
-
-
-
-public:
- Char ();
- Char (const char b);
- Char (const Char& b);
- ~Char();
-
- operator char() const;
-
- inline virtual char val() const;
-
- inline virtual void operator = (const char);
- inline virtual void operator = (const Char&);
-
- inline virtual void negate();
- inline virtual void complement();
- inline virtual void operator ++ ();
- inline virtual void operator -- ();
-
- inline virtual void operator += (const Char & );
- inline virtual void operator -= (const Char & );
- inline virtual void operator *= (const Char & );
- inline virtual void operator /= (const Char & );
- inline virtual void operator %= (const Char & );
- inline virtual void operator |= (const Char & );
- inline virtual void operator &= (const Char & );
- inline virtual void operator ^= (const Char & );
- inline virtual void operator <<=(const Char & );
- inline virtual void operator >>=(const Char & );
-
-
- inline virtual void operator += (const char);
- inline virtual void operator -= (const char);
- inline virtual void operator *= (const char);
- inline virtual void operator /= (const char);
- inline virtual void operator %= (const char);
- inline virtual void operator |= (const char);
- inline virtual void operator &= (const char);
- inline virtual void operator ^= (const char);
- inline virtual void operator <<=(const char);
- inline virtual void operator >>=(const char);
-
-
-};
-
-inline char Char::val() const { return rep; }
-inline Char::operator char() const { return val(); }
-
-inline Char::Char () :rep(0) {}
-inline Char::Char (const char b) :rep(b) {}
-inline Char::Char (const Char& b) :rep(b.Char::val()) {}
-inline Char::~Char() {}
-
-inline void Char::operator = (const char b)
-{ rep = b; ; }
-inline void Char::operator = (const Char& b)
-{ rep = b.Char::val(); ; }
-
-inline void Char::complement()
-{ rep = ~rep; ; }
-inline void Char::negate()
-{ rep = -rep; ; }
-inline void Char::operator ++ ()
-{ ++rep; ; }
-inline void Char::operator -- ()
-{ --rep; ; }
-
-inline void Char::operator += (const Char & b)
-{ rep += b.Char::val(); ; }
-inline void Char::operator -= (const Char & b)
-{ rep -= b.Char::val(); ; }
-inline void Char::operator *= (const Char & b)
-{ rep *= b.Char::val(); ; }
-inline void Char::operator /= (const Char & b)
-{ rep /= b.Char::val(); ; }
-inline void Char::operator %= (const Char & b)
-{ rep %= b.Char::val(); ; }
-inline void Char::operator |= (const Char & b)
-{ rep |= b.Char::val(); ; }
-inline void Char::operator &= (const Char & b)
-{ rep &= b.Char::val(); ; }
-inline void Char::operator ^= (const Char & b)
-{ rep ^= b.Char::val(); ; }
-inline void Char::operator <<=(const Char & b)
-{ rep <<= b.Char::val(); ; }
-inline void Char::operator >>=(const Char & b)
-{ rep >>= b.Char::val(); ; }
-
-
-
-inline void Char::operator += (const char b)
-{ rep += b; ; }
-inline void Char::operator -= (const char b)
-{ rep -= b; ; }
-inline void Char::operator *= (const char b)
-{ rep *= b; ; }
-inline void Char::operator /= (const char b)
-{ rep /= b; ; }
-inline void Char::operator %= (const char b)
-{ rep %= b; ; }
-inline void Char::operator |= (const char b)
-{ rep |= b; ; }
-inline void Char::operator &= (const char b)
-{ rep &= b; ; }
-inline void Char::operator ^= (const char b)
-{ rep ^= b; ; }
-inline void Char::operator <<=(const char b)
-{ rep <<= b; ; }
-inline void Char::operator >>=(const char b)
-{ rep >>= b; ; }
-
-
-inline char& operator = (char& a, const Char & b)
-{ a = b.Char::val(); return a;} // WARNING -
-inline char& operator += (char& a, const Char & b)
-{ a += b.Char::val(); return a; }
-inline char& operator -= (char& a, const Char & b)
-{ a -= b.Char::val(); return a;}
-inline char& operator *= (char& a, const Char & b)
-{ a *= b.Char::val(); return a;}
-inline char& operator /= (char& a, const Char & b)
-{ a /= b.Char::val(); return a;}
-inline char& operator %= (char& a, const Char & b)
-{ a %= b.Char::val(); return a;}
-inline char& operator |= (char& a, const Char & b)
-{ a |= b.Char::val(); return a;}
-inline char& operator &= (char& a, const Char & b)
-{ a &= b.Char::val(); return a;}
-inline char& operator ^= (char& a, const Char & b)
-{ a ^= b.Char::val(); return a;}
-inline char& operator <<=(char& a, const Char & b)
-{ a <<= b.Char::val(); return a;}
-inline char& operator >>=(char& a, const Char & b)
-{ a >>= b.Char::val(); return a;}
-
-
-
-//# 291 "../../../../libg++/etc/benchmarks/Char.h"
-
-
-inline Char operator - (const Char & a) return r(a)
-{ r.negate(); }
-inline Char operator ~ (const Char & a) return r(a)
-{ r.complement(); }
-
-inline Char operator + (const Char & a, const Char & b) return r(a)
-{ r += b.Char::val(); }
-inline Char operator - (const Char & a, const Char & b) return r(a)
-{ r -= b.Char::val(); }
-inline Char operator * (const Char & a, const Char & b) return r(a)
-{ r *= b.Char::val(); }
-inline Char operator / (const Char & a, const Char & b) return r(a)
-{ r /= b.Char::val(); }
-inline Char operator % (const Char & a, const Char & b) return r(a)
-{ r %= b.Char::val(); }
-inline Char operator << (const Char & a, const Char & b) return r(a)
-{ r <<= b.Char::val(); }
-inline Char operator >> (const Char & a, const Char & b) return r(a)
-{ r >>= b.Char::val(); }
-inline Char operator & (const Char & a, const Char & b) return r(a)
-{ r &= b.Char::val(); }
-inline Char operator | (const Char & a, const Char & b) return r(a)
-{ r |= b.Char::val(); }
-inline Char operator ^ (const Char & a, const Char & b) return r(a)
-{ r ^= b.Char::val(); }
-
-inline Char operator + (const Char & a, const char b) return r(a)
-{ r += b; }
-inline Char operator - (const Char & a, const char b) return r(a)
-{ r -= b; }
-inline Char operator * (const Char & a, const char b) return r(a)
-{ r *= b; }
-inline Char operator / (const Char & a, const char b) return r(a)
-{ r /= b; }
-inline Char operator % (const Char & a, const char b) return r(a)
-{ r %= b; }
-inline Char operator << (const Char & a, const char b) return r(a)
-{ r <<= b; }
-inline Char operator >> (const Char & a, const char b) return r(a)
-{ r >>= b; }
-inline Char operator & (const Char & a, const char b) return r(a)
-{ r &= b; }
-inline Char operator | (const Char & a, const char b) return r(a)
-{ r |= b; }
-inline Char operator ^ (const Char & a, const char b) return r(a)
-{ r ^= b; }
-
-inline Char operator + (const char a, const Char & b) return r(a)
-{ r += b.Char::val(); }
-inline Char operator - (const char a, const Char & b) return r(a)
-{ r -= b.Char::val(); }
-inline Char operator * (const char a, const Char & b) return r(a)
-{ r *= b.Char::val(); }
-inline Char operator / (const char a, const Char & b) return r(a)
-{ r /= b.Char::val(); }
-inline Char operator % (const char a, const Char & b) return r(a)
-{ r %= b.Char::val(); }
-inline Char operator << (const char a, const Char & b) return r(a)
-{ r <<= b.Char::val(); }
-inline Char operator >> (const char a, const Char & b) return r(a)
-{ r >>= b.Char::val(); }
-inline Char operator & (const char a, const Char & b) return r(a)
-{ r &= b.Char::val(); }
-inline Char operator | (const char a, const Char & b) return r(a)
-{ r |= b.Char::val(); }
-inline Char operator ^ (const char a, const Char & b) return r(a)
-{ r ^= b.Char::val(); }
-
-
-
-inline char operator ! (const Char & a) { return !a.Char::val(); }
-
-inline char operator == (const Char & a, const Char & b)
-{ return a.Char::val() == b.Char::val(); }
-inline char operator != (const Char & a, const Char & b)
-{ return a.Char::val() != b.Char::val(); }
-inline char operator < (const Char & a, const Char & b)
-{ return a.Char::val() < b.Char::val(); }
-inline char operator <= (const Char & a, const Char & b)
-{ return a.Char::val() <= b.Char::val(); }
-inline char operator > (const Char & a, const Char & b)
-{ return a.Char::val() > b.Char::val(); }
-inline char operator >= (const Char & a, const Char & b)
-{ return a.Char::val() >= b.Char::val(); }
-
-inline char operator == (const Char & a, const char b)
-{ return a.Char::val() == b; }
-inline char operator != (const Char & a, const char b)
-{ return a.Char::val() != b; }
-inline char operator < (const Char & a, const char b)
-{ return a.Char::val() < b; }
-inline char operator <= (const Char & a, const char b)
-{ return a.Char::val() <= b; }
-inline char operator > (const Char & a, const char b)
-{ return a.Char::val() > b; }
-inline char operator >= (const Char & a, const char b)
-{ return a.Char::val() >= b; }
-
-inline char operator == (const char a, const Char & b)
-{ return a == b.Char::val(); }
-inline char operator != (const char a, const Char & b)
-{ return a != b.Char::val(); }
-inline char operator < (const char a, const Char & b)
-{ return a < b.Char::val(); }
-inline char operator <= (const char a, const Char & b)
-{ return a <= b.Char::val(); }
-inline char operator > (const char a, const Char & b)
-{ return a > b.Char::val(); }
-inline char operator >= (const char a, const Char & b)
-{ return a >= b.Char::val(); }
-
-
-
-//# 27 "../../../../libg++/etc/benchmarks/dhrystone.cc" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "/giga/hgs/lib/g++-include/sys/types.h" 1
-
-
-//# 1 "/giga/hgs/lib/g++-include/stddef.h" 1
-
-extern "C" {
-//# 1 "/giga/hgs/lib/gcc/sun4/cygnus-1.96/include/stddef.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int ptrdiff_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int size_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef short unsigned int wchar_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 3 "/giga/hgs/lib/g++-include/stddef.h" 2
-
-}
-//# 73 "/giga/hgs/lib/g++-include/stddef.h"
-
-//# 3 "/giga/hgs/lib/g++-include/sys/types.h" 2
-
-
-
-
-extern "C"
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "/usr/include/sys/types.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "/usr/include/sys/stdtypes.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int sigset_t;
-
-typedef unsigned int speed_t;
-typedef unsigned long tcflag_t;
-typedef unsigned char cc_t;
-typedef int pid_t;
-
-typedef unsigned short mode_t;
-typedef short nlink_t;
-
-typedef long clock_t;
-typedef long time_t;
-
-typedef int size_t;
-typedef int ptrdiff_t;
-
-typedef unsigned short wchar_t;
-
-
-//# 16 "/usr/include/sys/types.h" 2
-
-
-
-//# 1 "/usr/include/sys/sysmacros.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 19 "/usr/include/sys/types.h" 2
-
-
-
-
-
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _physadr_t { int r[1]; } *physadr_t;
-typedef struct label_t {
- int val[2];
-} label_t;
-
-
-
-
-
-
-
-typedef struct _quad_t { long val[2]; } quad_t;
-typedef long daddr_t;
-typedef char * caddr_t;
-typedef unsigned long ino_t;
-typedef short dev_t;
-typedef long off_t;
-typedef unsigned short uid_t;
-typedef unsigned short gid_t;
-typedef long key_t;
-typedef char * addr_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef long fd_mask;
-
-
-
-
-
-
-
-
-
-typedef struct fd_set {
- fd_mask fds_bits[(((256 )+(( (sizeof (fd_mask) * 8 ) )-1))/( (sizeof (fd_mask) * 8 ) )) ];
-} fd_set;
-
-
-
-
-
-
-
-//# 113 "/usr/include/sys/types.h"
-
-
-
-//# 35 "/giga/hgs/lib/g++-include/sys/types.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-//# 310 "../../../../libg++/etc/benchmarks/dhrystone.cc" 2
-
-//# 1 "/giga/hgs/lib/g++-include/sys/times.h" 1
-//# 1 "/giga/hgs/lib/g++-include/time.h" 1
-
-
-
-
-
-//# 1 "/giga/hgs/lib/g++-include/stddef.h" 1
-
-extern "C" {
-//# 1 "/giga/hgs/lib/gcc/sun4/cygnus-1.96/include/stddef.h" 1
-//# 94 "/giga/hgs/lib/gcc/sun4/cygnus-1.96/include/stddef.h"
-
-//# 3 "/giga/hgs/lib/g++-include/stddef.h" 2
-
-}
-//# 73 "/giga/hgs/lib/g++-include/stddef.h"
-
-//# 6 "/giga/hgs/lib/g++-include/time.h" 2
-
-//# 1 "/giga/hgs/lib/g++-include/stdio.h" 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//#pragma interface
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 80 "/giga/hgs/lib/g++-include/stdio.h"
-
-
-
-//# 117 "/giga/hgs/lib/g++-include/stdio.h"
-
-
-
-
-
-//# 153 "/giga/hgs/lib/g++-include/stdio.h"
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "/usr/include/stdio.h" 1
-
-
-
-
-
-extern struct _iobuf {
- int _cnt;
- unsigned char *_ptr;
- unsigned char *_base;
- int _bufsiz;
- short _flag;
- char _file;
-} _iob[];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern struct _iobuf *c_proto_fopen ();
-extern struct _iobuf *c_proto_fdopen ();
-extern struct _iobuf *c_proto_freopen ();
-extern struct _iobuf *c_proto_popen ();
-extern struct _iobuf *tmpfile();
-extern long ftell();
-extern char *fgets();
-extern char *gets();
-extern char *c_proto_sprintf ();
-extern char *ctermid();
-extern char *cuserid();
-extern char *c_proto_tempnam ();
-extern char *tmpnam();
-
-
-
-
-
-
-//# 185 "/giga/hgs/lib/g++-include/stdio.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-//# 417 "/giga/hgs/lib/g++-include/stdio.h"
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-int _doprnt(const char*, void*, struct _iobuf *);
-int _doscan(struct _iobuf *, const char*, ...);
-int _filbuf(struct _iobuf *);
-int _flsbuf(unsigned, struct _iobuf *);
-
-int fclose(struct _iobuf *);
-struct _iobuf * fdopen(int, const char*);
-int fflush(struct _iobuf *);
-int fgetc(struct _iobuf *);
-char* fgets(char*, int, struct _iobuf *);
-struct _iobuf * fopen(const char*, const char*);
-int fprintf(struct _iobuf *, const char* ...);
-int fputc(int, struct _iobuf *);
-int fputs(const char*, struct _iobuf *);
-int fread(void*, int, int, struct _iobuf *);
-
-
-
-struct _iobuf * freopen(const char*, const char*, struct _iobuf *);
-
-int fscanf(struct _iobuf *, const char* ...);
-int fseek(struct _iobuf *, long, int);
-long ftell(struct _iobuf *);
-int fwrite(const void*, int, int, struct _iobuf *);
-char* gets(char*);
-int getw(struct _iobuf *);
-int pclose(struct _iobuf *);
-void perror(const char*);
-struct _iobuf * popen(const char*, const char*);
-int printf(const char* ...);
-int puts(const char*);
-int putw(int, struct _iobuf *);
-int rewind(struct _iobuf *);
-int scanf(const char* ...);
-int setbuf(struct _iobuf *, char*);
-int setbuffer(struct _iobuf *, char*, int);
-int setlinebuf(struct _iobuf *);
-int setvbuf(struct _iobuf *, char*, int, int);
-int sscanf(char*, const char* ...);
-struct _iobuf * tmpfile();
-int ungetc(int, struct _iobuf *);
-int vfprintf(struct _iobuf *, const char*, ...);
-
-
-
-
-int vprintf(const char*, ... );
-
-
-
-
-
-char* sprintf(char*, const char*, ...);
-char* vsprintf(char*, const char*, ...);
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 7 "/giga/hgs/lib/g++-include/time.h" 2
-
-
-//# 1 "/giga/hgs/lib/g++-include/sys/types.h" 1
-
-
-//# 1 "/giga/hgs/lib/g++-include/stddef.h" 1
-
-extern "C" {
-//# 1 "/giga/hgs/lib/gcc/sun4/cygnus-1.96/include/stddef.h" 1
-//# 94 "/giga/hgs/lib/gcc/sun4/cygnus-1.96/include/stddef.h"
-
-//# 3 "/giga/hgs/lib/g++-include/stddef.h" 2
-
-}
-//# 73 "/giga/hgs/lib/g++-include/stddef.h"
-
-//# 3 "/giga/hgs/lib/g++-include/sys/types.h" 2
-
-
-
-
-extern "C"
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "/usr/include/sys/types.h" 1
-
-
-
-
-
-
-
-
-//# 115 "/usr/include/sys/types.h"
-
-//# 35 "/giga/hgs/lib/g++-include/sys/types.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-//# 9 "/giga/hgs/lib/g++-include/time.h" 2
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 42 "/giga/hgs/lib/g++-include/time.h"
-
-
-
-
-
-
-
-//# 1 "/usr/include/time.h" 1
-
-
-
-
-
-//# 1 "/usr/include/sys/stdtypes.h" 1
-
-
-
-
-
-
-
-
-
-
-//# 32 "/usr/include/sys/stdtypes.h"
-
-//# 6 "/usr/include/time.h" 2
-
-
-
-
-struct tm {
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon;
- int tm_year;
- int tm_wday;
- int tm_yday;
- int tm_isdst;
- char *tm_zone;
- long tm_gmtoff;
-};
-
-extern struct tm *c_proto_gmtime (), *c_proto_localtime ();
-extern char *c_proto_asctime (), *c_proto_ctime ();
-extern void c_proto_tzset (), c_proto_tzsetwall ();
-extern int dysize();
-extern time_t timelocal(), timegm();
-
-
-//# 49 "/giga/hgs/lib/g++-include/time.h" 2
-
-
-//# 1 "/usr/include/sys/times.h" 1
-
-
-
-
-
-
-
-
-
-//# 1 "/giga/hgs/lib/g++-include/sys/types.h" 1
-
-
-//# 1 "/giga/hgs/lib/g++-include/stddef.h" 1
-
-extern "C" {
-//# 1 "/giga/hgs/lib/gcc/sun4/cygnus-1.96/include/stddef.h" 1
-//# 94 "/giga/hgs/lib/gcc/sun4/cygnus-1.96/include/stddef.h"
-
-//# 3 "/giga/hgs/lib/g++-include/stddef.h" 2
-
-}
-//# 73 "/giga/hgs/lib/g++-include/stddef.h"
-
-//# 3 "/giga/hgs/lib/g++-include/sys/types.h" 2
-
-
-
-
-extern "C"
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "/usr/include/sys/types.h" 1
-
-
-
-
-
-
-
-
-//# 115 "/usr/include/sys/types.h"
-
-//# 35 "/giga/hgs/lib/g++-include/sys/types.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-//# 10 "/usr/include/sys/times.h" 2
-
-
-struct tms {
- clock_t tms_utime;
- clock_t tms_stime;
- clock_t tms_cutime;
- clock_t tms_cstime;
-};
-
-
-clock_t times( );
-
-
-
-//# 51 "/giga/hgs/lib/g++-include/time.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern struct tm* localtime(long*);
-extern struct tm* gmtime(long*);
-extern char* ctime(long*);
-extern char* asctime(struct tm*);
-extern void tzset();
-extern void tzsetwall();
-
-
-
-
-
-
-extern long times(struct tms*);
-
-
-//# 97 "/giga/hgs/lib/g++-include/time.h"
-
-extern char* timezone(int, int);
-extern int getitimer(int, struct itimerval*);
-extern int setitimer(int, struct itimerval*, struct itimerval*);
-extern int gettimeofday(struct timeval*, struct timezone*);
-extern int settimeofday(struct timeval*, struct timezone*);
-extern int stime(long*);
-int dysize(int);
-
-
-
-
-
-
-
-
-long clock(void);
-
-long time(long*);
-unsigned ualarm(unsigned, unsigned);
-unsigned usleep(unsigned);
-int profil(char*, int, int, int);
-
-}
-
-
-
-//# 1 "/giga/hgs/lib/g++-include/sys/times.h" 2
-
-//# 311 "../../../../libg++/etc/benchmarks/dhrystone.cc" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum {Ident1, Ident2, Ident3, Ident4, Ident5} Enumeration;
-
-
-
-
-typedef Int OneToThirty;
-typedef Int OneToFifty;
-typedef Char CapitalLetter;
-typedef Char String30[31];
-typedef Int Array1Dim[51];
-typedef Int Array2Dim[51][51];
-
-struct Record
-{
- struct Record *PtrComp;
- Enumeration Discr;
- Enumeration EnumComp;
- OneToFifty IntComp;
- String30 StringComp;
-};
-
-typedef struct Record RecordType;
-typedef RecordType * RecordPtr;
-typedef int boolean;
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-extern int printf(const char* ...);
-extern void exit(int);
-}
-
-void Proc0();
-void Proc1(RecordPtr PtrParIn);
-void Proc2(OneToFifty *IntParIO);
-void Proc3(RecordPtr *PtrParOut);
-void Proc4();
-void Proc5();
-boolean Func3(Enumeration EnumParIn);
-void Proc6( Enumeration EnumParIn, Enumeration *EnumParOut);
-void Proc7(OneToFifty IntParI1, OneToFifty IntParI2, OneToFifty *IntParOut);
-void Proc8(Array1Dim Array1Par,
- Array2Dim Array2Par,
- OneToFifty IntParI1,
- OneToFifty IntParI2);
-Enumeration Func1(CapitalLetter CharPar1, CapitalLetter CharPar2);
-boolean Func2(String30 StrParI1, String30 StrParI2);
-boolean Func3(Enumeration EnumParIn);
-
-void mystrcpy(String30 s, char* t)
-{
- for (; *t != '\0'; ++s, ++t) *s = *t;
- *s = '\0';
-}
-
-char mystrcmp(String30 s, String30 t)
-{
- for (; *s == *t; ++s, ++t) if (*s == '\0') return 0;
- return char(*s - *t);
-}
-
-
-
-main()
-{
- Proc0();
- exit(0);
-}
-
-
-
-
-Int IntGlob;
-boolean BoolGlob;
-char Char1Glob;
-char Char2Glob;
-Array1Dim Array1Glob;
-Array2Dim Array2Glob;
-RecordPtr PtrGlb;
-RecordPtr PtrGlbNext;
-
-void Proc0()
-{
- OneToFifty IntLoc1;
- OneToFifty IntLoc2;
- OneToFifty IntLoc3;
- char CharLoc;
- char CharIndex;
- Enumeration EnumLoc;
- String30 String1Loc;
- String30 String2Loc;
-
-//# 445 "../../../../libg++/etc/benchmarks/dhrystone.cc"
-
-
- time_t starttime;
- time_t benchtime;
- time_t nulltime;
- struct tms Tms;
- register unsigned int i;
-
- times(&Tms); starttime = Tms.tms_utime;
- for (i = 0; i < 500000 ; ++i);
- times(&Tms);
- nulltime = Tms.tms_utime - starttime;
-
-
- PtrGlbNext = new Record;
- PtrGlb = new Record;
- PtrGlb->PtrComp = PtrGlbNext;
- PtrGlb->Discr = Ident1;
- PtrGlb->EnumComp = Ident3;
- PtrGlb->IntComp = 40;
- mystrcpy(PtrGlb->StringComp, "DHRYSTONE PROGRAM, SOME STRING");
- mystrcpy(String1Loc, "JUST INITIALIZED TO SOME JUNK.");
-
-
-
-
-
-
-
-
- times(&Tms); starttime = Tms.tms_utime;
-
- for (i = 0; i < 500000 ; ++i)
- {
-
- Proc5();
- Proc4();
- IntLoc1 = 2;
- IntLoc2 = 3;
- mystrcpy(String2Loc, "DHRYSTONE PROGRAM, 2'ND STRING");
- EnumLoc = Ident2;
- BoolGlob = ! Func2(String1Loc, String2Loc);
- while (IntLoc1 < IntLoc2)
- {
- IntLoc3 = 5 * IntLoc1 - IntLoc2;
- Proc7(IntLoc1, IntLoc2, &IntLoc3);
- ++IntLoc1;
- }
- Proc8(Array1Glob, Array2Glob, IntLoc1, IntLoc3);
- Proc1(PtrGlb);
- for (CharIndex = 'A'; CharIndex <= Char2Glob; ++CharIndex)
- if (EnumLoc == Func1(CharIndex, 'C'))
- Proc6(Ident1, &EnumLoc);
- IntLoc3 = IntLoc2 * IntLoc1;
- IntLoc2 = IntLoc3 / IntLoc1;
- IntLoc2 = 7 * (IntLoc3 - IntLoc2) - IntLoc1;
- Proc2(&IntLoc1);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
- times(&Tms);
- benchtime = Tms.tms_utime - starttime - nulltime;
- printf("Dhrystone time for %ld passes = %ld\n",
- (long) 500000 , benchtime/60 );
- printf("This machine benchmarks at %ld dhrystones/second\n",
- ((long) 500000 ) * 60 / benchtime);
-
-
-}
-
-void Proc1(RecordPtr PtrParIn)
-{
-
-
- (*(PtrParIn->PtrComp)) = *PtrGlb ;
- PtrParIn->IntComp = 5;
- (*(PtrParIn->PtrComp)) .IntComp = PtrParIn->IntComp;
- (*(PtrParIn->PtrComp)) .PtrComp = PtrParIn->PtrComp;
-
- Proc3(&((*(PtrParIn->PtrComp)) .PtrComp));
- if ((*(PtrParIn->PtrComp)) .Discr == Ident1)
- {
- (*(PtrParIn->PtrComp)) .IntComp = 6;
- Proc6(PtrParIn->EnumComp, &(*(PtrParIn->PtrComp)) .EnumComp);
- (*(PtrParIn->PtrComp)) .PtrComp = PtrGlb->PtrComp;
- Proc7((*(PtrParIn->PtrComp)) .IntComp, 10, &(*(PtrParIn->PtrComp)) .IntComp);
- }
- else
- *PtrParIn = (*(PtrParIn->PtrComp)) ;
-
-
-}
-
-void Proc2(OneToFifty *IntParIO)
-{
- OneToFifty IntLoc;
- Enumeration EnumLoc;
-
- IntLoc = *IntParIO + 10;
- for(;;)
- {
- if (Char1Glob == 'A')
- {
- --IntLoc;
- *IntParIO = IntLoc - IntGlob;
- EnumLoc = Ident1;
- }
- if (EnumLoc == Ident1)
- break;
- }
-}
-
-void Proc3(RecordPtr *PtrParOut)
-{
- if (PtrGlb != 0 )
- *PtrParOut = PtrGlb->PtrComp;
- else
- IntGlob = 100;
- Proc7(10, IntGlob, &PtrGlb->IntComp);
-}
-
-void Proc4()
-{
- boolean BoolLoc;
-
- BoolLoc = Char1Glob == 'A';
- BoolLoc |= BoolGlob;
- Char2Glob = 'B';
-}
-
-void Proc5()
-{
- Char1Glob = 'A';
- BoolGlob = 0 ;
-}
-
-
-
-
-void Proc6( Enumeration EnumParIn, Enumeration *EnumParOut)
-{
- *EnumParOut = EnumParIn;
- if (! Func3(EnumParIn) )
- *EnumParOut = Ident4;
- switch (EnumParIn)
- {
- case Ident1: *EnumParOut = Ident1; break;
- case Ident2: if (IntGlob > 100) *EnumParOut = Ident1;
- else *EnumParOut = Ident4;
- break;
- case Ident3: *EnumParOut = Ident2; break;
- case Ident4: break;
- case Ident5: *EnumParOut = Ident3;
- }
-}
-
-void Proc7(OneToFifty IntParI1, OneToFifty IntParI2, OneToFifty *IntParOut)
-{
- OneToFifty IntLoc;
-
- IntLoc = IntParI1 + 2;
- *IntParOut = IntParI2 + IntLoc;
-}
-
-void Proc8(Array1Dim Array1Par,
- Array2Dim Array2Par,
- OneToFifty IntParI1,
- OneToFifty IntParI2)
-{
- OneToFifty IntLoc;
- OneToFifty IntIndex;
-
- IntLoc = IntParI1 + 5;
- Array1Par[IntLoc] = IntParI2;
- Array1Par[IntLoc+1] = Array1Par[IntLoc];
- Array1Par[IntLoc+30] = IntLoc;
- for (IntIndex = IntLoc; IntIndex <= (IntLoc+1); ++IntIndex)
- Array2Par[IntLoc][IntIndex] = IntLoc;
- ++Array2Par[IntLoc][IntLoc-1];
- Array2Par[IntLoc+20][IntLoc] = Array1Par[IntLoc];
- IntGlob = 5;
-}
-
-Enumeration Func1(CapitalLetter CharPar1, CapitalLetter CharPar2)
-{
- CapitalLetter CharLoc1;
- CapitalLetter CharLoc2;
-
- CharLoc1 = CharPar1;
- CharLoc2 = CharLoc1;
- if (CharLoc2 != CharPar2)
- return (Ident1);
- else
- return (Ident2);
-}
-
-boolean Func2(String30 StrParI1, String30 StrParI2)
-{
- OneToThirty IntLoc;
- CapitalLetter CharLoc;
-
- IntLoc = 1;
- while (IntLoc <= 1)
- if (Func1(StrParI1[IntLoc], StrParI2[IntLoc+1]) == Ident1)
- {
- CharLoc = 'A';
- ++IntLoc;
- }
- if (CharLoc >= 'W' && CharLoc <= 'Z')
- IntLoc = 7;
- if (CharLoc == 'X')
- return( 1 );
- else
- {
- if (mystrcmp(StrParI1, StrParI2) > 0)
- {
- IntLoc += 7;
- return ( 1 );
- }
- else
- return ( 0 );
- }
-}
-
-boolean Func3(Enumeration EnumParIn)
-{
- Enumeration EnumLoc;
-
- EnumLoc = EnumParIn;
- if (EnumLoc == Ident3) return ( 1 );
- return ( 0 );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p701.C b/gcc/testsuite/g++.old-deja/g++.mike/p701.C
deleted file mode 100644
index c222ea1e888..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p701.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Build don't link:
-// prms-id: 701
-
-extern "C"
-{
- int printf(const char *, ...);
-};
-
-
-void Munge(int& x)
-{ // ERROR - referenced below
- x = 2;
-}
-
-
-class A
-{
- public:
- int i;
- A(int x) : i(x) {}
- void Safe() const;
-};
-
-void
-A::Safe() const
-{
- Munge(i); // ERROR - should not be able to modify a const object
-}
-
-int main()
-{
- const A a(1);
- a.Safe();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p710.C b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
deleted file mode 100644
index 62dffe9ff8e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p710.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Build don't link:
-// GROUPS passed delete
-/*
- Bug Id:
- PRMS Id: p0000710
- Bug is : overloading operator delete in class def not allowed
-*/
-
-/*
- In addition to this bug, the compiler permits overloading operator
- delete in the class definition. This is verboten, and should be
- caught by a regression suite. In other words, the following is also a
- bug that's not caught:
-*/
-
-
-#include <stdlib.h>
-
-extern "C"
-{
- int printf(const char*, ...);
-};
-
-
-
-class B
-{
- public:
- int x;
- virtual ~B() {}
- void operator delete(void*,size_t s)
- {
- printf("B::delete() %d\n",s);
- }
- void operator delete(void*){}
-};
-
-int main()
-{
- B* p = new B;
- delete p;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7180.C b/gcc/testsuite/g++.old-deja/g++.mike/p7180.C
deleted file mode 100644
index da75bd6d4ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7180.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// prms-id: 7180
-
-class String {
-public:
- String(const char*);
- ~String();
-};
-
-String::String(const char* str = "") {
-}
-
-String::~String(void) {
-}
-
-int main() {
- const String array[] = {"3"};
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7325.C b/gcc/testsuite/g++.old-deja/g++.mike/p7325.C
deleted file mode 100644
index e6d76f5321e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7325.C
+++ /dev/null
@@ -1,55 +0,0 @@
-// I hate this type of test case. I'm not sure how to code it better.
-// See the PR for what this tests.
-// prms-id: 7325
-// execution test - XFAIL *-*-*
-
-int fail = 0;
-
-struct A {
- int i;
- static const A* match_this;
- static const A* match_arg;
- A(): i(7) {
- if (match_this)
- if (match_this != this)
- fail = 1;
- }
- A* get_this() { return this; }
- A& operator = (const A& o) {
- if (match_this)
- if (match_this != this)
- fail = 1;
- if (match_arg)
- if (match_arg != &o)
- fail = 1;
- match_arg = &o;
- }
-};
-
-const A* A::match_this;
-const A* A::match_arg;
-A a;
-
-A foo() { return a; }
-void f ()
-{
- A a;
- A::match_this = &a;
- a = foo ();
- a = foo ();
- A::match_this = 0;
-}
-
-void g ()
-{
- A::match_this = A().get_this();
- A();
- A();
- A::match_this = 0;
-}
-
-int main() {
- f();
- g();
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7476.C b/gcc/testsuite/g++.old-deja/g++.mike/p7476.C
deleted file mode 100644
index acddf05ee13..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7476.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// prms-id: 7476
-
-class HeapTracked {
-public:
- virtual ~HeapTracked() { }
- static void isObjectAllocation(const HeapTracked *ptr);
- static void isObjectAllocation(HeapTracked *ptr);
-};
-
-void HeapTracked::isObjectAllocation(HeapTracked *ptr)
-{
- dynamic_cast<const void*>(ptr);
- dynamic_cast<void*>(ptr);
-}
-void HeapTracked::isObjectAllocation(const HeapTracked *ptr)
-{
- const_cast<void*>(dynamic_cast<const void*>(ptr));
- dynamic_cast<void*>(ptr); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p755.C b/gcc/testsuite/g++.old-deja/g++.mike/p755.C
deleted file mode 100644
index 256c985e271..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p755.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// It checks to see if you can define your own global new operator.
-// prms-id: 755
-
-#include <new>
-extern "C" void exit(int);
-
-void* operator new(size_t sz) throw (std::bad_alloc) {
- void* p = 0;
- exit(0);
- return p;
-}
-
-int main () {
- int* i = new int;
- delete i;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p755a.C b/gcc/testsuite/g++.old-deja/g++.mike/p755a.C
deleted file mode 100644
index 73172c159ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p755a.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// It checks to see if you can define your own global delete operator.
-// prms-id: 755
-
-extern "C" void exit(int);
-
-void operator delete(void *p) throw() {
- exit(0);
-}
-
-int main () {
- int* i = new int;
- delete i;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7626.C b/gcc/testsuite/g++.old-deja/g++.mike/p7626.C
deleted file mode 100644
index 8e38667ca67..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7626.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Build don't link:
-// prms-id: 7626
-
-int fail;
-
-typedef unsigned int UINT;
-
-class CObject{};
-
-class CCmdTarget : public CObject {
-};
-
-typedef void (CCmdTarget::*AFX_PMSG)(void);
-
-struct AFX_MSGMAP_ENTRY {
- AFX_PMSG pfn;
-};
-
-class CWnd : public CCmdTarget {
-public:
- void OnMyMsg() { fail = 1; } // If this one is called, something is wrong.
- static AFX_MSGMAP_ENTRY _messageEntries[];
-};
-
-typedef void (CWnd::*AFX_PMSGW)(void);
-
-class CDialog : public CWnd
-{
-public:
- void OnMyMsg() { }
- static AFX_MSGMAP_ENTRY _messageEntries[];
-};
-
-AFX_MSGMAP_ENTRY CDialog ::_messageEntries[] = {
- { (AFX_PMSG)(AFX_PMSGW)(void (CWnd::*)())&CDialog::OnMyMsg },
- { (AFX_PMSG)0 }
-};
-
-int main() {
- CDialog d;
- (d.*((CDialog::_messageEntries)[0]).pfn)(); // This should call CDialog::OnMyMsg
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7635.C b/gcc/testsuite/g++.old-deja/g++.mike/p7635.C
deleted file mode 100644
index 4cafa0e46fa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7635.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// prms-id: 7635
-
-class DaycountBasis {
- mutable const int * p;
- mutable int * const q; // ERROR -
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7651.C b/gcc/testsuite/g++.old-deja/g++.mike/p7651.C
deleted file mode 100644
index 487b0d57664..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7651.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// prms-id: 7651
-
-int fail = 0;
-
-class Foo {
-public:
- Foo(double i) : data(i) { if (data != 1.0) fail = 1; }
- ~Foo() { if (data != 1.0) fail = 1; }
-private:
- volatile double data;
-};
-
-int DingDong(double A) {
- volatile Foo a(A);
-
- if ( A != 0.0 ) {
- return 1;
- }
- return 0;
-}
-
-
-int main() {
- DingDong(1.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p783.C b/gcc/testsuite/g++.old-deja/g++.mike/p783.C
deleted file mode 100644
index 4194fa8b2ba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p783.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// prms-id: 783
-
-extern "C" void printf (char *, ...);
-
-class C {
-public:
- C() { }
- ~C() { }
-};
-
-int main(int argc, char**argv) {
- C c,d;
- c = (argc&1) ? C() : d;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p783a.C b/gcc/testsuite/g++.old-deja/g++.mike/p783a.C
deleted file mode 100644
index 6321a7b3eb5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p783a.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copying into an object directly is a lose according to tiemann.
-// Deleting an object many times is a lose.
-// prms-id: 783
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-class C {
- int i;
-public:
- C() {
- i = 1;
- }
- ~C() {
- if (i != 1) {
- exit(1);
- }
- i = 0;
- }
-};
-
-int main(int argc, char**argv) {
- C c;
- c = C();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p783b.C b/gcc/testsuite/g++.old-deja/g++.mike/p783b.C
deleted file mode 100644
index 35a18f3f99b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p783b.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// This one check for objects being destroyed twice. The bug it is
-// looking for is the extra dtor call on C() even though it is never
-// built.
-// prms-id: 783
-
-extern "C" void printf (char *, ...);
-extern "C" void exit (int);
-
-class C {
- int i;
-public:
-// C() {printf ("C ctor at %x\n", this);}
-// ~C() {printf ("C dtor at %x\n", this);}
- C() {
- i = 1;
- }
- ~C() {
- if (i != 1) {
- exit(1);
- }
- i = 0;
- }
-};
-
-C g;
-
-C func() {
- return g;
-}
-
-int main(int argc, char**argv) {
- C c,d;
-// printf ("\n");
- c = (argc != 1) ? C() : d;
-// printf ("\n");
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p784.C b/gcc/testsuite/g++.old-deja/g++.mike/p784.C
deleted file mode 100644
index ce6104977f1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p784.C
+++ /dev/null
@@ -1,3658 +0,0 @@
-// Build don't link:
-// Special g++ Options: -w
-// prms-id: 784
-
-//# 1 "GctSymbol.GctSymbol.CHMap.cc"
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-//#pragma implementation
-
-//# 1 "GctSymbol.GctSymbol.CHMap.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "GctSymbol.GctSymbol.Map.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/Pix.h" 1
-
-
-
-typedef void* Pix;
-
-//# 26 "GctSymbol.GctSymbol.Map.h" 2
-
-//# 1 "GctSymbol.defs.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-
-
-
-//# 1 "../../GctSymbol.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctSymbol class
-//
-// Expects to be included by Gct.h
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-
-
-//# 25 "../../GctSymbol.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stream.h" 1
-
-
-
-// Compatibility with old library.
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-
-//#pragma interface
-
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/streambuf.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-
-
-//#pragma interface
-
-
-/* KLUDGES!! */
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-
-
-extern "C" {
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/mips/lib/gcc/decstatn/cygnus-1.96/include/stddef.h" 1
-
-
-
-
-
-
-/* This avoids lossage on Sunos but only if stdtypes.h comes first.
- There's no way to win with the other order! Sun lossage. */
-
-/* In case nobody has defined these types, but we aren't running under
- GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE__TYPE__, and
- __WCHAR_TYPE__ have reasonable values. This can happen if the
- parts of GCC is compiled by an older compiler, that actually
- include gstddef.h, such as collect2. */
-
-/* Signed type of difference of two pointers. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef long int ptrdiff_t;
-
-
-
-
-
-
-/* Unsigned type of `sizeof' something. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned int size_t;
-
-
-
-
-
-
-/* Data type for wide chars. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int wchar_t;
-
-
-
-
-
-
-
-
-/* A null pointer constant. */
-
-
-
-
-/* Offset of member MEMBER in a struct of type TYPE. */
-
-
-
-
-
-//# 7 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 2
-
-
-
-
-}
-
-//# 25 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/streambuf.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class ostream; class streambuf;
-
-typedef long streamoff, streampos;
-
-struct _ios_fields { // The data members of an ios.
- streambuf *_strbuf;
- ostream* _tie;
- long _width;
- unsigned long _flags;
- char _fill;
- unsigned char _state;
- unsigned short _precision;
-};
-
-
-enum state_value { _good = 0, _eof = 1, _fail = 2, _bad = 4 };
-
-
-class ios : public _ios_fields {
- public:
- enum io_state { goodbit=0, eofbit=1, failbit=2, badbit=4 };
- enum open_mode {
- in=1,
- out=2,
- ate=4,
- app=8,
- trunc=16,
- nocreate=32,
- noreplace=64 };
- enum seek_dir { beg, cur, end};
- enum { skipws=01, left=02, right=04, internal=010,
- dec=020, oct=040, hex=0100,
- showbase=0200, showpoint=0400, uppercase=01000, showpos=02000,
- scientific=04000, fixed=0100000, unitbuf=020000, stdio=040000,
- dont_close=0x80000000 //Don't close streambuf when destroying stream
- };
-
- ostream* tie() { return _tie; }
- ostream* tie(ostream* val) { ostream* save=_tie; _tie=val; return save; }
-
- // Methods to change the format state.
- char fill() { return _fill; }
- char fill(char newf) { char oldf = _fill; _fill = newf; return oldf; }
- unsigned long flags() { return _flags; }
- unsigned long flags(unsigned long new_val) {
- unsigned long old_val = _flags; _flags = new_val; return old_val; }
- unsigned short precision() { return _precision; }
- unsigned short precision(int newp) {
- unsigned short oldp = _precision; _precision = (unsigned short)newp;
- return oldp; }
- unsigned long setf(unsigned long val) {
- unsigned long oldbits = _flags;
- _flags |= val; return oldbits; }
- unsigned long setf(unsigned long val, unsigned long mask) {
- unsigned long oldbits = _flags;
- _flags = (_flags & ~mask) | (val & mask); return oldbits; }
- unsigned long unsetf(unsigned long mask) {
- unsigned long oldbits = _flags & mask;
- _flags &= ~mask; return oldbits; }
- long width() { return _width; }
- long width(long val) { long save = _width; _width = val; return save; }
-
- static const unsigned long basefield;
- static const unsigned long adjustfield;
- static const unsigned long floatfield;
-
- streambuf* rdbuf() { return _strbuf; }
- void clear(int state = 0) { _state = state; }
- int good() { return _state == 0; }
- int eof() { return _state & ios::eofbit; }
- int fail() { return _state & (ios::badbit|ios::failbit); }
- int bad() { return _state & ios::badbit; }
- int rdstate() { return _state; }
- void set(int flag) { _state |= flag; }
- operator void*() { return fail() ? (void*)0 : (void*)this; }
- int operator!() { return fail(); }
-
-
- void unset(state_value flag) { _state &= ~flag; }
- void close();
- int is_open();
- int readable();
- int writable();
-
-
- protected:
- ios(streambuf*sb) { _strbuf=sb; _state=0; _width=0; _fill=' ';
- _flags=ios::skipws; _precision=6; }
-};
-
-
-
-
-typedef ios::seek_dir _seek_dir;
-
-
-// Magic numbers and bits for the _flags field.
-// The magic numbers use the high-order bits of _flags;
-// the remaining bits are abailable for variable flags.
-// Note: The magic numbers must all be negative if stdio
-// emulation is desired.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct __streambuf {
- // NOTE: If this is changed, also change __FILE in stdio/stdio.h!
- int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
- char* _gptr; /* Current get pointer */
- char* _egptr; /* End of get area. */
- char* _eback; /* Start of putback+get area. */
- char* _pbase; /* Start of put area. */
- char* _pptr; /* Current put pointer. */
- char* _epptr; /* End of put area. */
- char* _base; /* Start of reserve area. */
- char* _ebuf; /* End of reserve area. */
- struct streambuf *_chain;
-};
-
-struct streambuf : private __streambuf {
- friend class ios;
- friend class istream;
- friend class ostream;
- protected:
- static streambuf* _list_all; /* List of open streambufs. */
- streambuf*& xchain() { return _chain; }
- void _un_link();
- void _link_in();
- char* gptr() const { return _gptr; }
- char* pptr() const { return _pptr; }
- char* egptr() const { return _egptr; }
- char* epptr() const { return _epptr; }
- char* pbase() const { return _pbase; }
- char* eback() const { return _eback; }
- char* ebuf() const { return _ebuf; }
- char* base() const { return _base; }
- void xput_char(char c) { *_pptr++ = c; }
- int xflags() { return _flags; }
- int xflags(int f) { int fl = _flags; _flags = f; return fl; }
- void xsetflags(int f) { _flags |= f; }
- void gbump(int n) { _gptr += n; }
- void pbump(int n) { _pptr += n; }
- void setb(char* b, char* eb, int a=0);
- void setp(char* p, char* ep) { _pbase=_pptr=p; _epptr=ep; }
- void setg(char* eb, char* g, char *eg) { _eback=eb; _gptr=g; _egptr=eg; }
- public:
- static int flush_all();
- static void flush_all_linebuffered(); // Flush all line buffered files.
- virtual int underflow(); // Leave public for now
- virtual int overflow(int c = (-1) ); // Leave public for now
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
- int sputbackc(char c);
- int sungetc();
- streambuf();
- virtual ~streambuf();
- int unbuffered() { return _flags & 2 ? 1 : 0; }
- int linebuffered() { return _flags & 0x4000 ? 1 : 0; }
- void unbuffered(int i)
- { if (i) _flags |= 2 ; else _flags &= ~2 ; }
- void linebuffered(int i)
- { if (i) _flags |= 0x4000 ; else _flags &= ~0x4000 ; }
- int allocate() {
- if (base() || unbuffered()) return 0;
- else return doallocate(); }
- virtual int sync();
- virtual int pbackfail(int c);
- virtual int ungetfail();
- virtual streambuf* setbuf(char* p, int len);
- int in_avail() { return _egptr - _gptr; }
- int out_waiting() { return _pptr - _pbase; }
- virtual int sputn(const char* s, int n);
- virtual int sgetn(char* s, int n);
- long sgetline(char* buf, size_t n, char delim, int putback_delim);
- int sbumpc() {
- if (_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr++; }
- int sgetc() {
- if (_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr; }
- int snextc() {
- if (++_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr; }
- int sputc(int c) {
- if (_pptr >= _epptr) return overflow(c);
- return *_pptr++ = c, (unsigned char)c; }
- int vscan(char const *fmt0, char* ap);
- int vform(char const *fmt0, char* ap);
-};
-
-struct __file_fields {
- char _fake;
- char _shortbuf[1];
- short _fileno;
- int _blksize;
- char* _save_gptr;
- char* _save_egptr;
- long _offset;
-};
-
-class filebuf : public streambuf {
- struct __file_fields _fb;
- void init();
- public:
- filebuf();
- filebuf(int fd);
- filebuf(int fd, char* p, int len);
- ~filebuf();
- filebuf* attach(int fd);
- filebuf* open(const char *filename, const char *mode);
- filebuf* open(const char *filename, int mode, int prot = 0664);
- virtual int underflow();
- virtual int overflow(int c = (-1) );
- int is_open() { return _fb._fileno >= 0; }
- int fd() { return is_open() ? _fb._fileno : (-1) ; }
- filebuf* close();
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- int sputn(const char* s, int n);
- int sgetn(char* s, int n);
- protected: // See documentation in filebuf.C.
- virtual int pbackfail(int c);
- virtual int sync();
- int is_reading() { return eback() != egptr(); }
- char* cur_ptr() { return is_reading() ? gptr() : pptr(); }
- /* System's idea of pointer */
- char* file_ptr() { return _fb._save_gptr ? _fb._save_egptr : egptr(); }
- int do_flush();
- // Low-level operations (Usually invoke system calls.)
- virtual int sys_read(char* buf, size_t size);
- virtual long sys_seek(long , _seek_dir);
- virtual long sys_write(const void*, long);
- virtual int sys_stat(void*); // Actually, a (struct stat*)
- virtual int sys_close();
-};
-
-
-inline int ios::readable() { return rdbuf()->_flags & 4 ; }
-inline int ios::writable() { return rdbuf()->_flags & 8 ; }
-inline int ios::is_open() {return rdbuf()->_flags & 4 +8 ;}
-
-
-
-
-//# 25 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 2
-
-
-class istream; class ostream;
-typedef istream& (*__imanip)(istream&);
-typedef ostream& (*__omanip)(ostream&);
-
-extern istream& ws(istream& ins);
-extern ostream& flush(ostream& outs);
-extern ostream& endl(ostream& outs);
-extern ostream& ends(ostream& outs);
-
-class ostream : public ios
-{
- void do_osfx();
- public:
- ostream();
- ostream(streambuf* sb, ostream* tied=(__null) );
- ~ostream();
-
- int opfx() { if (!good()) return 0; if (_tie) _tie->flush(); return 1; }
- void osfx() { if (flags() & (ios::unitbuf|ios::stdio))
- do_osfx(); }
- streambuf* ostreambuf() const { return _strbuf; }
- ostream& flush();
- ostream& put(char c);
- ostream& write(const char *s, int n);
- ostream& write(const unsigned char *s, int n) { return write((char*)s, n);}
- ostream& write(const void *s, int n) { return write((char*)s, n);}
- ostream& seekp(streampos);
- ostream& seekp(streamoff, _seek_dir);
- streampos tellp();
- ostream& form(const char *format ...);
- ostream& vform(const char *format, char* args);
-};
-
-ostream& operator<<(ostream&, char c);
-ostream& operator<<(ostream& os, unsigned char c) { return os << (char)c; }
-//ostream& operator<<(ostream &os, signed char c) { return os << (char)c; }
-extern ostream& operator<<(ostream&, const char *s);
-inline ostream& operator<<(ostream& os, const unsigned char *s)
-{ return os << (const char*)s; }
-//inline ostream& operator<<(ostream& os, const signed char *s)
-//{ return os << (const char*)s; }
-ostream& operator<<(ostream&, void *p);
-ostream& operator<<(ostream&, int n);
-ostream& operator<<(ostream&, long n);
-ostream& operator<<(ostream&, unsigned int n);
-ostream& operator<<(ostream&, unsigned long n);
-ostream& operator<<(ostream& os, short n) {return os << (int)n;}
-ostream& operator<<(ostream& os, unsigned short n)
-{return os << (unsigned int)n;}
-ostream& operator<<(ostream&, float n);
-ostream& operator<<(ostream&, double n);
-ostream& operator<<(ostream& os, __omanip func) { return (*func)(os); }
-ostream& operator<<(ostream&, streambuf*);
-
-class istream : public ios
-{
- size_t _gcount;
- public:
- istream();
- istream(streambuf* sb, ostream*tied=(__null) );
- ~istream();
- streambuf* istreambuf() const { return _strbuf; }
- istream& get(char& c);
- istream& get(unsigned char& c);
- istream& read(char *ptr, int n);
- istream& read(unsigned char *ptr, int n) { return read((char*)ptr, n); }
- istream& read(void *ptr, int n) { return read((char*)ptr, n); }
- int get() { return _strbuf->sbumpc(); }
- istream& getline(char* ptr, int len, char delim = '\n');
- istream& get(char* ptr, int len, char delim = '\n');
- istream& gets(char **s, char delim = '\n');
- int ipfx(int need) {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && (need == 0 || rdbuf()->in_avail())) ; //??? THIS LINE IS QUESTIONABLE */
- if (!need && (flags() & ios::skipws) && !ws(*this)) return 0;
- return 1;
- }
- int ipfx0() { // Optimized version of ipfx(0).
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie) _tie->flush();
- if ((flags() & ios::skipws) && !ws(*this)) return 0;
- return 1;
- }
- int ipfx1() { // Optimized version of ipfx(1).
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && rdbuf()->in_avail() == 0) _tie->flush();
- return 1;
- }
- size_t gcount() { return _gcount; }
- istream& seekg(streampos);
- istream& seekg(streamoff, _seek_dir);
- streampos tellg();
- istream& putback(char ch) {
- if (good() && _strbuf->sputbackc(ch) == (-1) ) clear(ios::badbit);
- return *this;}
- istream& unget() {
- if (good() && _strbuf->sungetc() == (-1) ) clear(ios::badbit);
- return *this;}
-
- istream& unget(char ch) { return putback(ch); }
- int skip(int i);
-
-};
-
-istream& operator>>(istream&, char*);
-istream& operator>>(istream& is, unsigned char* p) { return is >> (char*)p; }
-//istream& operator>>(istream& is, signed char* p) { return is >> (char*)p; }
-istream& operator>>(istream&, char& c);
-istream& operator>>(istream&, unsigned char& c);
-//istream& operator>>(istream&, signed char& c);
-istream& operator>>(istream&, int&);
-istream& operator>>(istream&, long&);
-istream& operator>>(istream&, short&);
-istream& operator>>(istream&, unsigned int&);
-istream& operator>>(istream&, unsigned long&);
-istream& operator>>(istream&, unsigned short&);
-istream& operator>>(istream&, float&);
-istream& operator>>(istream&, double&);
-istream& operator>>(istream& is, __imanip func) { return (*func)(is); }
-
-class iostream : public ios {
- size_t _gcount;
- public:
- iostream();
- operator istream&() { return *(istream*)this; }
- operator ostream&() { return *(ostream*)this; }
- ~iostream();
- // NOTE: These duplicate istream methods.
- istream& get(char& c) { return ((istream*)this)->get(c); }
- istream& get(unsigned char& c) { return ((istream*)this)->get(c); }
- istream& read(char *ptr, int n) { return ((istream*)this)->read(ptr, n); }
- istream& read(unsigned char *ptr, int n)
- { return ((istream*)this)->read((char*)ptr, n); }
- istream& read(void *ptr, int n)
- { return ((istream*)this)->read((char*)ptr, n); }
- int get() { return _strbuf->sbumpc(); }
- istream& getline(char* ptr, int len, char delim = '\n')
- { return ((istream*)this)->getline(ptr, len, delim); }
- istream& get(char* ptr, int len, char delim = '\n')
- { return ((istream*)this)->get(ptr, len, delim); }
- istream& gets(char **s, char delim = '\n')
- { return ((istream*)this)->gets(s, delim); }
- int ipfx(int need) { return ((istream*)this)->ipfx(need); }
- int ipfx0() { return ((istream*)this)->ipfx0(); }
- int ipfx1() { return ((istream*)this)->ipfx1(); }
- size_t gcount() { return _gcount; }
- istream& putback(char ch) { return ((istream*)this)->putback(ch); }
- istream& unget() { return ((istream*)this)->unget(); }
- istream& seekg(streampos pos) { return ((istream*)this)->seekg(pos); }
- istream& seekg(streamoff off, _seek_dir dir)
- { return ((istream*)this)->seekg(off, dir); }
- streampos tellg() { return ((istream*)this)->tellg(); }
-
- istream& unget(char ch) { return putback(ch); }
-
-
- // NOTE: These duplicate ostream methods.
- int opfx() { return ((ostream*)this)->opfx(); }
- void osfx() { ((ostream*)this)->osfx(); }
- ostream& flush() { return ((ostream*)this)->flush(); }
- ostream& put(char c) { return ((ostream*)this)->put(c); }
- ostream& write(const char *s, int n)
- { return ((ostream*)this)->write(s, n); }
- ostream& write(const unsigned char *s, int n)
- { return ((ostream*)this)->write((char*)s, n); }
- ostream& write(const void *s, int n)
- { return ((ostream*)this)->write((char*)s, n); }
- ostream& form(const char *format ...);
- ostream& vform(const char *format, char* args)
- { return ((ostream*)this)->vform(format, args); }
- ostream& seekp(streampos pos) { return ((ostream*)this)->seekp(pos); }
- ostream& seekp(streamoff off, _seek_dir dir)
- { return ((ostream*)this)->seekp(off, dir); }
- streampos tellp() { return ((ostream*)this)->tellp(); }
-};
-
-extern istream cin;
-extern ostream cout, cerr, clog; // clog->rdbuf() == cerr->rdbuf()
-
-inline ostream& ostream::put(char c) { _strbuf->sputc(c); return *this; }
-
-struct Iostream_init { } ; // Compatibility hack for AT&T libraray.
-
-
-//# 7 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stream.h" 2
-
-
-extern char* form(char*, ...);
-
-extern char* dec(long, int=0);
-extern char* dec(int, int=0);
-extern char* dec(unsigned long, int=0);
-extern char* dec(unsigned int, int=0);
-
-extern char* hex(long, int=0);
-extern char* hex(int, int=0);
-extern char* hex(unsigned long, int=0);
-extern char* hex(unsigned int, int=0);
-
-extern char* oct(long, int=0);
-extern char* oct(int, int=0);
-extern char* oct(unsigned long, int=0);
-extern char* oct(unsigned int, int=0);
-
-inline istream& WS(istream& str) { return ws(str); }
-
-
-//# 26 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/Regex.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-//#pragma interface
-
-
-
-
-
-
-
-
-
-struct re_pattern_buffer; // defined elsewhere
-struct re_registers;
-
-class Regex
-{
-private:
-
- Regex(const Regex&) {} // no X(X&)
- void operator = (const Regex&) {} // no assignment
-
-protected:
- re_pattern_buffer* buf;
- re_registers* reg;
-
-public:
- Regex(const char* t,
- int fast = 0,
- int bufsize = 40,
- const char* transtable = 0);
-
- ~Regex();
-
- int match(const char* s, int len, int pos = 0) const;
- int search(const char* s, int len,
- int& matchlen, int startpos = 0) const;
- int match_info(int& start, int& length, int nth = 0) const;
-
- int OK() const; // representation invariant
-};
-
-// some built in regular expressions
-
-extern const Regex RXwhite; // = "[ \n\t\r\v\f]+"
-extern const Regex RXint; // = "-?[0-9]+"
-extern const Regex RXdouble; // = "-?\\(\\([0-9]+\\.[0-9]*\\)\\|
- // \\([0-9]+\\)\\|\\(\\.[0-9]+\\)\\)
- // \\([eE][---+]?[0-9]+\\)?"
-extern const Regex RXalpha; // = "[A-Za-z]+"
-extern const Regex RXlowercase; // = "[a-z]+"
-extern const Regex RXuppercase; // = "[A-Z]+"
-extern const Regex RXalphanum; // = "[0-9A-Za-z]+"
-extern const Regex RXidentifier; // = "[A-Za-z_][A-Za-z0-9_]*"
-
-
-
-//# 27 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h" 2
-
-
-struct StrRep // internal String representations
-{
- unsigned short len; // string length
- unsigned short sz; // allocated space
- char s[1]; // the string starts here
- // (at least 1 char for trailing null)
- // allocated & expanded via non-public fcts
-};
-
-// primitive ops on StrReps -- nearly all String fns go through these.
-
-StrRep* Salloc(StrRep*, const char*, int, int);
-StrRep* Scopy(StrRep*, StrRep*);
-StrRep* Sresize(StrRep*, int);
-StrRep* Scat(StrRep*, const char*, int, const char*, int);
-StrRep* Scat(StrRep*, const char*, int,const char*,int, const char*,int);
-StrRep* Sprepend(StrRep*, const char*, int);
-StrRep* Sreverse(StrRep*, StrRep*);
-StrRep* Supcase(StrRep*, StrRep*);
-StrRep* Sdowncase(StrRep*, StrRep*);
-StrRep* Scapitalize(StrRep*, StrRep*);
-
-// These classes need to be defined in the order given
-
-class String;
-class SubString;
-
-class SubString
-{
- friend class String;
-protected:
-
- String& S; // The String I'm a substring of
- unsigned short pos; // starting position in S's rep
- unsigned short len; // length of substring
-
- void assign(StrRep*, const char*, int = -1);
- SubString(String& x, int p, int l);
- SubString(const SubString& x);
-
-public:
-
-// Note there are no public constructors. SubStrings are always
-// created via String operations
-
- ~SubString();
-
- void operator = (const String& y);
- void operator = (const SubString& y);
- void operator = (const char* t);
- void operator = (char c);
-
-// return 1 if target appears anywhere in SubString; else 0
-
- int contains(char c) const;
- int contains(const String& y) const;
- int contains(const SubString& y) const;
- int contains(const char* t) const;
- int contains(const Regex& r) const;
-
-// return 1 if target matches entire SubString
-
- int matches(const Regex& r) const;
-
-// IO
-
- friend ostream& operator<<(ostream& s, const SubString& x);
-
-// status
-
- unsigned int length() const;
- int empty() const;
- const char* chars() const;
-
- int OK() const;
-
-};
-
-
-class String
-{
- friend class SubString;
-
-protected:
- StrRep* rep; // Strings are pointers to their representations
-
-// some helper functions
-
- int search(int, int, const char*, int = -1) const;
- int search(int, int, char) const;
- int match(int, int, int, const char*, int = -1) const;
- int _gsub(const char*, int, const char* ,int);
- int _gsub(const Regex&, const char*, int);
- SubString _substr(int, int);
-
-public:
-
-// constructors & assignment
-
- String();
- String(const String& x);
- String(const SubString& x);
- String(const char* t);
- String(const char* t, int len);
- String(char c);
-
- ~String();
-
- void operator = (const String& y);
- void operator = (const char* y);
- void operator = (char c);
- void operator = (const SubString& y);
-
-// concatenation
-
- void operator += (const String& y);
- void operator += (const SubString& y);
- void operator += (const char* t);
- void operator += (char c);
-
- void prepend(const String& y);
- void prepend(const SubString& y);
- void prepend(const char* t);
- void prepend(char c);
-
-
-// procedural versions:
-// concatenate first 2 args, store result in last arg
-
- friend void cat(const String&, const String&, String&);
- friend void cat(const String&, const SubString&, String&);
- friend void cat(const String&, const char*, String&);
- friend void cat(const String&, char, String&);
-
- friend void cat(const SubString&, const String&, String&);
- friend void cat(const SubString&, const SubString&, String&);
- friend void cat(const SubString&, const char*, String&);
- friend void cat(const SubString&, char, String&);
-
- friend void cat(const char*, const String&, String&);
- friend void cat(const char*, const SubString&, String&);
- friend void cat(const char*, const char*, String&);
- friend void cat(const char*, char, String&);
-
-// double concatenation, by request. (yes, there are too many versions,
-// but if one is supported, then the others should be too...)
-// Concatenate first 3 args, store in last arg
-
- friend void cat(const String&,const String&, const String&,String&);
- friend void cat(const String&,const String&,const SubString&,String&);
- friend void cat(const String&,const String&, const char*, String&);
- friend void cat(const String&,const String&, char, String&);
- friend void cat(const String&,const SubString&,const String&,String&);
- friend void cat(const String&,const SubString&,const SubString&,String&);
- friend void cat(const String&,const SubString&, const char*, String&);
- friend void cat(const String&,const SubString&, char, String&);
- friend void cat(const String&,const char*, const String&, String&);
- friend void cat(const String&,const char*, const SubString&, String&);
- friend void cat(const String&,const char*, const char*, String&);
- friend void cat(const String&,const char*, char, String&);
-
- friend void cat(const char*, const String&, const String&,String&);
- friend void cat(const char*,const String&,const SubString&,String&);
- friend void cat(const char*,const String&, const char*, String&);
- friend void cat(const char*,const String&, char, String&);
- friend void cat(const char*,const SubString&,const String&,String&);
- friend void cat(const char*,const SubString&,const SubString&,String&);
- friend void cat(const char*,const SubString&, const char*, String&);
- friend void cat(const char*,const SubString&, char, String&);
- friend void cat(const char*,const char*, const String&, String&);
- friend void cat(const char*,const char*, const SubString&, String&);
- friend void cat(const char*,const char*, const char*, String&);
- friend void cat(const char*,const char*, char, String&);
-
-
-// searching & matching
-
-// return position of target in string or -1 for failure
-
- int index(char c, int startpos = 0) const;
- int index(const String& y, int startpos = 0) const;
- int index(const SubString& y, int startpos = 0) const;
- int index(const char* t, int startpos = 0) const;
- int index(const Regex& r, int startpos = 0) const;
-
-// return 1 if target appears anyhere in String; else 0
-
- int contains(char c) const;
- int contains(const String& y) const;
- int contains(const SubString& y) const;
- int contains(const char* t) const;
- int contains(const Regex& r) const;
-
-// return 1 if target appears anywhere after position pos
-// (or before, if pos is negative) in String; else 0
-
- int contains(char c, int pos) const;
- int contains(const String& y, int pos) const;
- int contains(const SubString& y, int pos) const;
- int contains(const char* t, int pos) const;
- int contains(const Regex& r, int pos) const;
-
-// return 1 if target appears at position pos in String; else 0
-
- int matches(char c, int pos = 0) const;
- int matches(const String& y, int pos = 0) const;
- int matches(const SubString& y, int pos = 0) const;
- int matches(const char* t, int pos = 0) const;
- int matches(const Regex& r, int pos = 0) const;
-
-// return number of occurences of target in String
-
- int freq(char c) const;
- int freq(const String& y) const;
- int freq(const SubString& y) const;
- int freq(const char* t) const;
-
-// SubString extraction
-
-// Note that you can't take a substring of a const String, since
-// this leaves open the possiblility of indirectly modifying the
-// String through the SubString
-
- SubString at(int pos, int len);
- SubString operator () (int pos, int len); // synonym for at
-
- SubString at(const String& x, int startpos = 0);
- SubString at(const SubString& x, int startpos = 0);
- SubString at(const char* t, int startpos = 0);
- SubString at(char c, int startpos = 0);
- SubString at(const Regex& r, int startpos = 0);
-
- SubString before(int pos);
- SubString before(const String& x, int startpos = 0);
- SubString before(const SubString& x, int startpos = 0);
- SubString before(const char* t, int startpos = 0);
- SubString before(char c, int startpos = 0);
- SubString before(const Regex& r, int startpos = 0);
-
- SubString through(int pos);
- SubString through(const String& x, int startpos = 0);
- SubString through(const SubString& x, int startpos = 0);
- SubString through(const char* t, int startpos = 0);
- SubString through(char c, int startpos = 0);
- SubString through(const Regex& r, int startpos = 0);
-
- SubString from(int pos);
- SubString from(const String& x, int startpos = 0);
- SubString from(const SubString& x, int startpos = 0);
- SubString from(const char* t, int startpos = 0);
- SubString from(char c, int startpos = 0);
- SubString from(const Regex& r, int startpos = 0);
-
- SubString after(int pos);
- SubString after(const String& x, int startpos = 0);
- SubString after(const SubString& x, int startpos = 0);
- SubString after(const char* t, int startpos = 0);
- SubString after(char c, int startpos = 0);
- SubString after(const Regex& r, int startpos = 0);
-
-
-// deletion
-
-// delete len chars starting at pos
- void del(int pos, int len);
-
-// delete the first occurrence of target after startpos
-
- void del(const String& y, int startpos = 0);
- void del(const SubString& y, int startpos = 0);
- void del(const char* t, int startpos = 0);
- void del(char c, int startpos = 0);
- void del(const Regex& r, int startpos = 0);
-
-// global substitution: substitute all occurrences of pat with repl
-
- int gsub(const String& pat, const String& repl);
- int gsub(const SubString& pat, const String& repl);
- int gsub(const char* pat, const String& repl);
- int gsub(const char* pat, const char* repl);
- int gsub(const Regex& pat, const String& repl);
-
-// friends & utilities
-
-// split string into array res at separators; return number of elements
-
- friend int split(const String& x, String res[], int maxn,
- const String& sep);
- friend int split(const String& x, String res[], int maxn,
- const Regex& sep);
-
- friend String common_prefix(const String& x, const String& y,
- int startpos = 0);
- friend String common_suffix(const String& x, const String& y,
- int startpos = -1);
- friend String replicate(char c, int n);
- friend String replicate(const String& y, int n);
- friend String join(String src[], int n, const String& sep);
-
-// simple builtin transformations
-
- friend String reverse(const String& x);
- friend String upcase(const String& x);
- friend String downcase(const String& x);
- friend String capitalize(const String& x);
-
-// in-place versions of above
-
- void reverse();
- void upcase();
- void downcase();
- void capitalize();
-
-// element extraction
-
- char& operator [] (int i);
- char elem(int i) const;
- char firstchar() const;
- char lastchar() const;
-
-// conversion
-
- operator const char*() const;
- const char* chars() const;
-
-
-// IO
-
- friend ostream& operator<<(ostream& s, const String& x);
- friend ostream& operator<<(ostream& s, const SubString& x);
- friend istream& operator>>(istream& s, String& x);
-
- friend int readline(istream& s, String& x,
- char terminator = '\n',
- int discard_terminator = 1);
-
-// status
-
- unsigned int length() const;
- int empty() const;
-
-// preallocate some space for String
- void alloc(int newsize);
-
-// report current allocation (not length!)
-
- int allocation() const;
-
-
- volatile void error(const char* msg) const;
-
- int OK() const;
-};
-
-typedef String StrTmp; // for backward compatibility
-
-// other externs
-
-int compare(const String& x, const String& y);
-int compare(const String& x, const SubString& y);
-int compare(const String& x, const char* y);
-int compare(const SubString& x, const String& y);
-int compare(const SubString& x, const SubString& y);
-int compare(const SubString& x, const char* y);
-int fcompare(const String& x, const String& y); // ignore case
-
-extern StrRep _nilStrRep;
-extern String _nilString;
-
-// other inlines
-
-String operator + (const String& x, const String& y);
-String operator + (const String& x, const SubString& y);
-String operator + (const String& x, const char* y);
-String operator + (const String& x, char y);
-String operator + (const SubString& x, const String& y);
-String operator + (const SubString& x, const SubString& y);
-String operator + (const SubString& x, const char* y);
-String operator + (const SubString& x, char y);
-String operator + (const char* x, const String& y);
-String operator + (const char* x, const SubString& y);
-
-int operator==(const String& x, const String& y);
-int operator!=(const String& x, const String& y);
-int operator> (const String& x, const String& y);
-int operator>=(const String& x, const String& y);
-int operator< (const String& x, const String& y);
-int operator<=(const String& x, const String& y);
-int operator==(const String& x, const SubString& y);
-int operator!=(const String& x, const SubString& y);
-int operator> (const String& x, const SubString& y);
-int operator>=(const String& x, const SubString& y);
-int operator< (const String& x, const SubString& y);
-int operator<=(const String& x, const SubString& y);
-int operator==(const String& x, const char* t);
-int operator!=(const String& x, const char* t);
-int operator> (const String& x, const char* t);
-int operator>=(const String& x, const char* t);
-int operator< (const String& x, const char* t);
-int operator<=(const String& x, const char* t);
-int operator==(const SubString& x, const String& y);
-int operator!=(const SubString& x, const String& y);
-int operator> (const SubString& x, const String& y);
-int operator>=(const SubString& x, const String& y);
-int operator< (const SubString& x, const String& y);
-int operator<=(const SubString& x, const String& y);
-int operator==(const SubString& x, const SubString& y);
-int operator!=(const SubString& x, const SubString& y);
-int operator> (const SubString& x, const SubString& y);
-int operator>=(const SubString& x, const SubString& y);
-int operator< (const SubString& x, const SubString& y);
-int operator<=(const SubString& x, const SubString& y);
-int operator==(const SubString& x, const char* t);
-int operator!=(const SubString& x, const char* t);
-int operator> (const SubString& x, const char* t);
-int operator>=(const SubString& x, const char* t);
-int operator< (const SubString& x, const char* t);
-int operator<=(const SubString& x, const char* t);
-
-
-
-
-// status reports, needed before defining other things
-
-inline unsigned int String::length() const { return rep->len; }
-inline int String::empty() const { return rep->len == 0; }
-inline const char* String::chars() const { return &(rep->s[0]); }
-inline int String::allocation() const { return rep->sz; }
-inline void String::alloc(int newsize) { rep = Sresize(rep, newsize); }
-
-inline unsigned int SubString::length() const { return len; }
-inline int SubString::empty() const { return len == 0; }
-inline const char* SubString::chars() const { return &(S.rep->s[pos]); }
-
-
-// constructors
-
-inline String::String()
- : rep(&_nilStrRep) {}
-inline String::String(const String& x)
- : rep(Scopy(0, x.rep)) {}
-inline String::String(const char* t)
- : rep(Salloc(0, t, -1, -1)) {}
-inline String::String(const char* t, int tlen)
- : rep(Salloc(0, t, tlen, tlen)) {}
-inline String::String(const SubString& y)
- : rep(Salloc(0, y.chars(), y.length(), y.length())) {}
-inline String::String(char c)
- : rep(Salloc(0, &c, 1, 1)) {}
-
-inline String::~String() { if (rep != &_nilStrRep) delete rep; }
-
-inline SubString::SubString(const SubString& x)
- :S(x.S), pos(x.pos), len(x.len) {}
-inline SubString::SubString(String& x, int first, int l)
- :S(x), pos(first), len(l) {}
-
-inline SubString::~SubString() {}
-
-// assignment
-
-inline void String::operator = (const String& y)
-{
- rep = Scopy(rep, y.rep);
-}
-
-inline void String::operator=(const char* t)
-{
- rep = Salloc(rep, t, -1, -1);
-}
-
-inline void String::operator=(const SubString& y)
-{
- rep = Salloc(rep, y.chars(), y.length(), y.length());
-}
-
-inline void String::operator=(char c)
-{
- rep = Salloc(rep, &c, 1, 1);
-}
-
-
-inline void SubString::operator = (const char* ys)
-{
- assign(0, ys);
-}
-
-inline void SubString::operator = (char ch)
-{
- assign(0, &ch, 1);
-}
-
-inline void SubString::operator = (const String& y)
-{
- assign(y.rep, y.chars(), y.length());
-}
-
-inline void SubString::operator = (const SubString& y)
-{
- assign(y.S.rep, y.chars(), y.length());
-}
-
-// Zillions of cats...
-
-inline void cat(const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y, -1);
-}
-
-inline void cat(const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, &y, 1);
-}
-
-inline void cat(const String& a, const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& a, const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const String& a, const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& a, const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const String& a, const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());
-}
-
-inline void cat(const String& a, const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());
-}
-
-inline void cat(const String& a, const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y, -1);
-}
-
-inline void cat(const String& a, const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, &y, 1);
-}
-
-
-inline void cat(const char* a, const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const char* a, const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* a, const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const char* a, const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* a, const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* a, const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* a, const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y, -1);
-}
-
-inline void cat(const char* a, const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, &y, 1);
-}
-
-
-// operator versions
-
-inline void String::operator +=(const String& y)
-{
- cat(*this, y, *this);
-}
-
-inline void String::operator +=(const SubString& y)
-{
- cat(*this, y, *this);
-}
-
-inline void String::operator += (const char* y)
-{
- cat(*this, y, *this);
-}
-
-inline void String:: operator +=(char y)
-{
- cat(*this, y, *this);
-}
-
-// constructive concatenation
-
-
-
-inline String operator + (const String& x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, const char* y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, char y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const char* y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, char y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const char* x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const char* x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String reverse(const String& x) return r;
-{
- r.rep = Sreverse(x.rep, r.rep);
-}
-
-inline String upcase(const String& x) return r;
-{
- r.rep = Supcase(x.rep, r.rep);
-}
-
-inline String downcase(const String& x) return r;
-{
- r.rep = Sdowncase(x.rep, r.rep);
-}
-
-inline String capitalize(const String& x) return r;
-{
- r.rep = Scapitalize(x.rep, r.rep);
-}
-
-//# 883 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h"
-
-
-// prepend
-
-inline void String::prepend(const String& y)
-{
- rep = Sprepend(rep, y.chars(), y.length());
-}
-
-inline void String::prepend(const char* y)
-{
- rep = Sprepend(rep, y, -1);
-}
-
-inline void String::prepend(char y)
-{
- rep = Sprepend(rep, &y, 1);
-}
-
-inline void String::prepend(const SubString& y)
-{
- rep = Sprepend(rep, y.chars(), y.length());
-}
-
-// misc transformations
-
-
-inline void String::reverse()
-{
- rep = Sreverse(rep, rep);
-}
-
-
-inline void String::upcase()
-{
- rep = Supcase(rep, rep);
-}
-
-
-inline void String::downcase()
-{
- rep = Sdowncase(rep, rep);
-}
-
-
-inline void String::capitalize()
-{
- rep = Scapitalize(rep, rep);
-}
-
-// element extraction
-
-inline char& String::operator [] (int i)
-{
- if (((unsigned)i) >= length()) error("invalid index");
- return rep->s[i];
-}
-
-inline char String::elem (int i) const
-{
- if (((unsigned)i) >= length()) error("invalid index");
- return rep->s[i];
-}
-
-inline char String::firstchar() const
-{
- return elem(0);
-}
-
-inline char String::lastchar() const
-{
- return elem(length() - 1);
-}
-
-// searching
-
-inline int String::index(char c, int startpos) const
-{
- return search(startpos, length(), c);
-}
-
-inline int String::index(const char* t, int startpos) const
-{
- return search(startpos, length(), t);
-}
-
-inline int String::index(const String& y, int startpos) const
-{
- return search(startpos, length(), y.chars(), y.length());
-}
-
-inline int String::index(const SubString& y, int startpos) const
-{
- return search(startpos, length(), y.chars(), y.length());
-}
-
-inline int String::index(const Regex& r, int startpos) const
-{
- int unused; return r.search(chars(), length(), unused, startpos);
-}
-
-inline int String::contains(char c) const
-{
- return search(0, length(), c) >= 0;
-}
-
-inline int String::contains(const char* t) const
-{
- return search(0, length(), t) >= 0;
-}
-
-inline int String::contains(const String& y) const
-{
- return search(0, length(), y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const SubString& y) const
-{
- return search(0, length(), y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(char c, int p) const
-{
- return match(p, length(), 0, &c, 1) >= 0;
-}
-
-inline int String::contains(const char* t, int p) const
-{
- return match(p, length(), 0, t) >= 0;
-}
-
-inline int String::contains(const String& y, int p) const
-{
- return match(p, length(), 0, y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const SubString& y, int p) const
-{
- return match(p, length(), 0, y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const Regex& r) const
-{
- int unused; return r.search(chars(), length(), unused, 0) >= 0;
-}
-
-inline int String::contains(const Regex& r, int p) const
-{
- return r.match(chars(), length(), p) >= 0;
-}
-
-
-inline int String::matches(const SubString& y, int p) const
-{
- return match(p, length(), 1, y.chars(), y.length()) >= 0;
-}
-
-inline int String::matches(const String& y, int p) const
-{
- return match(p, length(), 1, y.chars(), y.length()) >= 0;
-}
-
-inline int String::matches(const char* t, int p) const
-{
- return match(p, length(), 1, t) >= 0;
-}
-
-inline int String::matches(char c, int p) const
-{
- return match(p, length(), 1, &c, 1) >= 0;
-}
-
-inline int String::matches(const Regex& r, int p) const
-{
- int l = (p < 0)? -p : length() - p;
- return r.match(chars(), length(), p) == l;
-}
-
-
-inline int SubString::contains(const char* t) const
-{
- return S.search(pos, pos+len, t) >= 0;
-}
-
-inline int SubString::contains(const String& y) const
-{
- return S.search(pos, pos+len, y.chars(), y.length()) >= 0;
-}
-
-inline int SubString::contains(const SubString& y) const
-{
- return S.search(pos, pos+len, y.chars(), y.length()) >= 0;
-}
-
-inline int SubString::contains(char c) const
-{
- return S.search(pos, pos+len, 0, c) >= 0;
-}
-
-inline int SubString::contains(const Regex& r) const
-{
- int unused; return r.search(chars(), len, unused, 0) >= 0;
-}
-
-inline int SubString::matches(const Regex& r) const
-{
- return r.match(chars(), len, 0) == len;
-}
-
-
-inline int String::gsub(const String& pat, const String& r)
-{
- return _gsub(pat.chars(), pat.length(), r.chars(), r.length());
-}
-
-inline int String::gsub(const SubString& pat, const String& r)
-{
- return _gsub(pat.chars(), pat.length(), r.chars(), r.length());
-}
-
-inline int String::gsub(const Regex& pat, const String& r)
-{
- return _gsub(pat, r.chars(), r.length());
-}
-
-inline int String::gsub(const char* pat, const String& r)
-{
- return _gsub(pat, -1, r.chars(), r.length());
-}
-
-inline int String::gsub(const char* pat, const char* r)
-{
- return _gsub(pat, -1, r, -1);
-}
-
-
-
-inline ostream& operator<<(ostream& s, const String& x)
-{
- s << x.chars(); return s;
-}
-
-// a zillion comparison operators
-
-inline int operator==(const String& x, const String& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const String& x, const String& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const String& x, const String& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const String& x, const String& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const String& x, const String& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const String& x, const String& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const String& x, const SubString& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const String& x, const SubString& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const String& x, const SubString& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const String& x, const SubString& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const String& x, const SubString& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const String& x, const SubString& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const String& x, const char* t)
-{
- return compare(x, t) == 0;
-}
-
-inline int operator!=(const String& x, const char* t)
-{
- return compare(x, t) != 0;
-}
-
-inline int operator>(const String& x, const char* t)
-{
- return compare(x, t) > 0;
-}
-
-inline int operator>=(const String& x, const char* t)
-{
- return compare(x, t) >= 0;
-}
-
-inline int operator<(const String& x, const char* t)
-{
- return compare(x, t) < 0;
-}
-
-inline int operator<=(const String& x, const char* t)
-{
- return compare(x, t) <= 0;
-}
-
-inline int operator==(const SubString& x, const String& y)
-{
- return compare(y, x) == 0;
-}
-
-inline int operator!=(const SubString& x, const String& y)
-{
- return compare(y, x) != 0;
-}
-
-inline int operator>(const SubString& x, const String& y)
-{
- return compare(y, x) < 0;
-}
-
-inline int operator>=(const SubString& x, const String& y)
-{
- return compare(y, x) <= 0;
-}
-
-inline int operator<(const SubString& x, const String& y)
-{
- return compare(y, x) > 0;
-}
-
-inline int operator<=(const SubString& x, const String& y)
-{
- return compare(y, x) >= 0;
-}
-
-inline int operator==(const SubString& x, const SubString& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const SubString& x, const SubString& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const SubString& x, const SubString& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const SubString& x, const SubString& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const SubString& x, const SubString& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const SubString& x, const SubString& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const SubString& x, const char* t)
-{
- return compare(x, t) == 0;
-}
-
-inline int operator!=(const SubString& x, const char* t)
-{
- return compare(x, t) != 0;
-}
-
-inline int operator>(const SubString& x, const char* t)
-{
- return compare(x, t) > 0;
-}
-
-inline int operator>=(const SubString& x, const char* t)
-{
- return compare(x, t) >= 0;
-}
-
-inline int operator<(const SubString& x, const char* t)
-{
- return compare(x, t) < 0;
-}
-
-inline int operator<=(const SubString& x, const char* t)
-{
- return compare(x, t) <= 0;
-}
-
-
-// a helper needed by at, before, etc.
-
-inline SubString String::_substr(int first, int l)
-{
- if (first >= length() ) // ??? THIS LINE IS QUESTIONABLE
- return SubString(_nilString, 0, 0) ;
- else
- return SubString(*this, first, l);
-}
-
-
-
-
-
-//# 26 "../../GctSymbol.h" 2
-
-
-//# 1 "../../../../../../mips/include/Gct/Object/GctHashObject.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctHashObject class (is abstract)
-//
-// Expects to be included by Object.h or where needed explicitly.
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "../../../../../../mips/include/Gct/Object/GctObject.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctObject class (is abstract)
-//
-// Expects to be included by Object.h or where needed explicitly.
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-
-
-
-//
-// tostrstream class
-//
-// A terminated oststream - an ostsrstream that auto-terminates on str()
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/strstream.h" 1
-// This is part of the iostream library, providing input/output for C++.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-
-
-//#pragma interface
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 23 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/strstream.h" 2
-
-
-class strstreambuf : public streambuf {
- size_t *lenp; /* current (logical) length (i.e. valid data bytes) */
- size_t *sizep; /* allocated (physical) buffer size */
- char **bufp;
- size_t _len;
- size_t _size;
- char *buf;
- int _frozen;
- protected:
- virtual int overflow(int = (-1) );
- public:
- strstreambuf();
- strstreambuf(int initial);
- strstreambuf(char *ptr, int size, char *pstart = (__null) );
- ~strstreambuf();
- int frozen() { return _frozen; }
- void freeze(int n=1) { _frozen = n != 0; }
- size_t pcount();
- char *str();
-};
-
-class istrstream : public istream {
- public:
- istrstream(char*);
- istrstream(char*, int);
- strstreambuf* rdbuf() { return (strstreambuf*)_strbuf; }
-};
-
-class ostrstream : public ostream {
- public:
- ostrstream();
- ostrstream(char *cp, int n, int mode=ios::out);
- size_t pcount() { return ((strstreambuf*)_strbuf)->pcount(); }
- char *str() { return ((strstreambuf*)_strbuf)->str(); }
- void freeze(int n = 1) { ((strstreambuf*)_strbuf)->freeze(n); }
- int frozen() { return ((strstreambuf*)_strbuf)->frozen(); }
- strstreambuf* rdbuf() { return (strstreambuf*)_strbuf; }
-};
-
-
-//# 25 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 2
-
-
-//
-// tostrstream class
-//
-// An isteam class that doesn't have that nasty skipws parameter that
-// you have to remember to set. This class simply provides the istream
-// functionality with a set of constructors which defaults skipws to
-// FALSE (instead of defaulting to TRUE as is the case with plain istream).
-//
-class tostrstream: public ostrstream {
-public:
- tostrstream(): ostrstream()
- { }
- // This constructor defines cp as the buffer to use for the
- // stream (instead of one of its own devising); it does NOT
- // initialize the ostrstream to contain cp (of length n).
- tostrstream(char *cp, int n, int mode=ios::out): ostrtream(cp, n, mode) // ERROR -
- { }
- char *str()
- {
- char *s = ostrstream::str();
- s[ostrstream::pcount()] = '\0';
- return s;
- }
-};
-
-
-//# 25 "../../../../../../mips/include/Gct/Object/GctObject.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GttObject class (is abstract)
-//
-// Expects to be included where needed explicitly.
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-//# 52 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h"
-
-//# 25 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GttErrorHandler class
-//
-// Expects to be included by Gtt.h
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 25 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 1
-// -*- C++ -*-
-
-
-
-//
-// Fake up a libstuff++
-//
-// This is done as a complete and utter hack; this library has no function
-// at all being in the boot area; it is here solely in order to provide a
-// libstuff++ against which the Makefiles can resolve link lines.
-//
-// The only reason that this is done is to allow the STANDARD_C++_LIBRARIES
-// as provided by the Makefile templates in the boot area to be the same
-// ones that are used by the tools outside this hierarchy.
-//
-// The tools outside this hierarchy use a different libstuff++; one that is
-// written in C++. This one is not written in C++ in order to be simpler.
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-extern "C" {
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h" 1
-
-
-
-/*
- * Useful stuff
- */
-
-/*
- */
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/ansi.h" 1
-
-
-
-
-/*
- * ANSI Compiler Support
- *
- * David Harrison
- * University of California, Berkeley
- * 1988
- *
- * ANSI compatible compilers are supposed to define the preprocessor
- * directive __STDC__. Based on this directive, this file defines
- * certain ANSI specific macros.
- *
- * ARGS:
- * Used in function prototypes. Example:
- * extern int foo
- * ARGS((char *blah, double threshold));
- */
-
-/*
- *
- * Modifications
- * Wendell C Baker
- * University of California, Berkeley
- */
-
-/* Function prototypes */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 15 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h" 2
-
-
-
-/*
- * If g++, then we stub out part of this thing and let the C++ types take
- * over and do the same job; some compatibility must be given however
- */
-
-/*
- * Use the GNU libg++ definition
- */
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 26 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h" 2
-
-//# 35 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h"
-
-
-/*
- * Make various pieces of C code that use the old ``Boolean''
- * be compatible by faking up the definition of Boolean using
- * the new bool type.
- */
-
-
-//# 58 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h"
-
-
-typedef long FitAny; /* can fit any integral type */
-
-/*
- * typedef char *String; - DO NOT USE THIS - it conflicts with C++
- * typedef char **Stringv; - just use char* and char** instead.
- * - void* can be used for arbitrary pointers
- */
-
-
-
-
-extern int nocase_strcmp (char *, char *) ;
-extern int nocase_strncmp (char *, char *, int) ;
-
-extern bool nocase_strequal (char *, char *) ;
-extern bool nocase_strnequal (char *, char *, int) ;
-
-extern bool lead_strequal (char *, char *) ;
-extern bool nocase_lead_strequal (char *, char *) ;
-
-extern int strhash (char *, int) ;
-extern int nocase_strhash (char *, int) ;
-
-extern int sign (int) ;
-
-/*
- * Some useful macros.
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 33 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-}
-
-//
-// This is here because we wish to provide externs for the two
-// functions btoa(bool, unsigned = 0) and operator<<(ostream&, bool)
-// because they are not provided in bool.h.
-//
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 41 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-extern const char *stringify(bool b);
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 43 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-extern ostream& operator<<(ostream&, bool);
-
-// Should this be kept separate? bool isn't, but then is
-// included here only to define ostream& operator<<(ostream&, bool)
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/unit.h" 1
-// -*- C++ -*-
-
-
-
-//
-// unit enum
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-//
-// unit enum
-//
-// This _looks_ silly, but it has an important theoretical basis in category
-// theory. For the pragmatic reason for its existence, see the example below.
-//
-enum unit {
- UNIT = 1,
-};
-
-extern const char *stringify(unit u);
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 28 "/sandbox/wbaker/wbaker0/source/mips/include/unit.h" 2
-
-extern ostream& operator<<(ostream&, unit);
-
-//
-// A unit is used in cases where the type signature of an overloaded
-// function must be differentiated in some stronger way than can be
-// denoted unambiguously in the C++ syntax. This enum is used to give
-// one of the functions a different type signature, thereby allowing
-// the overloading.
-//
-// The use of ``unit'' instead of int or bool is important because a unit
-// has only one possible value; therefore it adds no more information to
-// the code. For example, say a bool was used instead, then in the testing
-// phase, would have to ask: what if TRUE was given, what if FALSE was given.
-// The problem is compounded if char or int is used.
-//
-// Example:
-//
-// class ID {
-// public:
-// ID(); // construct a null ID
-// ID(unit); // alloc a ID with a new id
-// private:
-// static unsigned high_water;
-// unsigned id;
-// };
-//
-// Try working this example save that ID implements all of the generic
-// features of the identifier object, but the high_water is stored
-// in the heir. That is what originally motivated the creation of unit.
-//
-
-
-//# 48 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-
-//
-// In the spirit of the standard GNU error handler functions
-// as described in
-// typedef void (*one_arg_error_handler_t)(const char*);
-// a one argument error handler function pointer
-// typedef void (*two_arg_error_handler_t)(const char*, const char*);
-// a two argument error handler function pointer
-//
-// And now the NEW
-//
-// typedef void (*zero_arg_error_handler_t)();
-// a zero argument error handler function pointer
-//
-typedef void (*zero_arg_error_handler_t)();
-
-//
-// In the spirit of the default GNU error handler functions
-// as described in
-// extern void default_one_arg_error_handler(const char *message);
-// print out message on stderr, and do the default thing (abort)
-// extern void default_two_arg_error_handler(const char *kind, const char *message);
-// print out kind and message on stderr, and do the default thing (abort)
-//
-// And now the NEW
-//
-// extern void default_zero_arg_error_handler(const char *message);
-// do the default thing (abort)
-//
-extern void default_zero_arg_error_handler();
-
-// Guaranteed to exit (1)
-extern void exit_zero_arg_error_handler();
-extern void exit_one_arg_error_handler(const char *message);
-extern void exit_two_arg_error_handler(const char *kind, const char *message);
-
-// Guaranteed to abort()
-extern void abort_zero_arg_error_handler();
-extern void abort_one_arg_error_handler(const char *message);
-extern void abort_two_arg_error_handler(const char *kind, const char *message);
-
-//
-// In the spirit of the standard GNU error handlers
-// as described in
-// extern void verbose_File_error_handler(const char*);
-// perror and set errno = 0
-// extern void quiet_File_error_handler(const char*);
-// set errno = 0
-// extern void fatal_File_error_handler(const char*);
-// perror and exit 1
-//
-// And now the NEW
-//
-// extern void preserve_File_error_handler(const char *message);
-// no perror, no assignment to errno.
-//
-extern void preserve_File_error_handler(const char *message);
-
-
-//# 27 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 2
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-//# 52 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h"
-
-//# 28 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 2
-
-
-//
-// It is expected that this will be virtually multiply inherited
-// into all of the classes that need error reporting services.
-//
-// The typical way to have that done is by inheriting the GttObject
-// as a virtual base class.
-//
-
-//
-// GttErrorHandler class
-//
-class GttErrorHandler {
-public:
- GttErrorHandler();
- GttErrorHandler(const char *program);
- virtual ~GttErrorHandler();
-
- //
- // Error messages
- // - an unacceptable, but expected and recoverable condition
- // was detected (but the test fails)
- // - errors are for ``the expected environment was not found''
- // rather than for ``file couldn't be opened''
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void error(const char *message);
- static void error(tostrstream& message);
-
- static void error(const char *function, const char *message);
- static void error(const char *function, tostrstream& message);
-
- static void error(const char *class_name, const char *method, const char *message);
- static void error(const char *class_name, const char *method, tostrstream& message);
-
- //
- // Fatal messages
- // - an unacceptable and unexpected error was detected
- // the data invariants were violated, there is no recovery
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void fatal(const char *message);
- static void fatal(tostrstream& message);
-
- static void fatal(const char *function, const char *message);
- static void fatal(const char *function, tostrstream& message);
-
- static void fatal(const char *class_name, const char *method, const char *message);
- static void fatal(const char *class_name, const char *method, tostrstream& message);
-private:
- //
- // Two underscores are used here in order to prevent confusion of these
- // private variables with any of the heir's private variables. Note that
- // access control is different than visibility in C++, so all the variable
- // names in a class hierarchy must be unique.
- //
-
- static bool __partial_init;
- static void __partial_initialize();
- static bool __full_init;
- static void __full_initialize(const char *program);
- static char *__program;
-
- static void __handle_error();
- static void __handle_fatal();
- static void __add_newline(const char *message);
-
- static bool __output_valid();
- static ostream *__output;
-};
-
-
-//# 27 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 2
-
-
-//
-// GttObject class (is abstract)
-//
-class GttObject: virtual public GttErrorHandler {
-protected:
- GttObject();
- GttObject(const GttObject&);
- virtual ~GttObject(); // ensure descendants have virtual destructors
-
-public:
- //
- // I/O Support
- //
- // The value typically persists only long enough for an i/o operation
- // to be performed (see the defintion of output via operator<<(... ) below)
- virtual const char *stringify();
-protected:
- // This is the buffer into which the printed representation of this
- // object will be put when the time comes. It is associated with the
- // object so it will never go away (so long as the object exists).
- // Use a pointer so that you only pay for the space when I/O is used
- tostrstream *stringbuf;
- void clear_stringbuf();
-
-public:
- //
- // Consistency
- //
- // The global data invariant for the whole object (heirs included).
- // This OK function will call the local invariant function ok() if
- // necessary and in addition the OK functions of the heirs
- // This is expected to compute the data invariant of the object.
- // It will execute GctErrorHandler::fatal if there is wrong.
- virtual void OK() const;
-
-protected:
- //
- // consistency
- //
- // This function computes the invariant which is local to this object.
- // It does not call any of the ancestor's OK() or ok() functions.
- // It is not a virtual function so that it can be called from within a
- // constructor with impunity. Thus this function MUST NOT call any
- // virtual functions either; it should call them by their full name if
- // that is necessary. The global OK() function will call this function
- // as necessary.
- //
- // This function must NOT NEVER EVER be made virtual.
- void ok() const;
-
-protected:
- //
- // Class Name
- //
- // This must return a static (constant) string which is the name
- // of the class being declared. By convention, not all classes
- // must have one of these, but the major root abstract class must
- // have one in order to allow the stringify() to work approximately
- // correctly.
- virtual const char *class_name() const = 0;
-};
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 91 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 2
-
-extern ostream& operator<<(ostream&, GttObject&);
-
-// There may be other X& operator<<(X&, GttObject&) defined in the
-// packages defining class X. For example see the definition of
-// GttUnitObject& operator<<(GttUnitObject&, GttObject&) in Unit.
-
-
-//# 27 "../../../../../../mips/include/Gct/Object/GctObject.h" 2
-
-
-//# 1 "../../../../../../mips/include/Gct/GctErrorHandler.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctErrorHandler class
-//
-// Expects to be included by Gct.h
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 25 "../../../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-//# 1321 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h"
-
-//# 26 "../../../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 27 "../../../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 1
-// -*- C++ -*-
-//# 107 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h"
-
-//# 29 "../../../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-//# 52 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h"
-
-//# 30 "../../../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 1
-// -*- C++ -*-
-//# 98 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h"
-
-//# 32 "../../../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-
-//
-// It is expected that this will be virtually multiply inherited
-// into all of the classes that need error reporting services.
-//
-// The typical way to have that done is by inheriting the GctObject
-// as a virtual base class.
-//
-
-//
-// GctErrorHandler class
-//
-// GPP_1_96_BUG
-// NOTE - virtual public GttObject should be MI into GctObject - but that
-// causes g++ 1.96 to segfault; so we must inherit GttObject here and use SI
-// GPP_1_96_BUG
-class GctErrorHandler: virtual public GttObject {
-public:
- GctErrorHandler();
- GctErrorHandler(const String& program);
- virtual ~GctErrorHandler();
-
- //
- // Debugging messages
- // - these are turned off for production code.
- // - these messages can be shut off
- //
- static void debug(const char *message);
- static void debug(tostrstream& message);
-
- static void debug(const char *function, const char *message);
- static void debug(const char *function, tostrstream& message);
-
- static void debug(const char *class_name, const char *method, const char *message);
- static void debug(const char *class_name, const char *method, tostrstream& message);
-
- static bool debug(); // current debug switch
- static void debug(bool value); // change the debug switch
-
- //
- // Informational messages
- // - these correspond to a ``verbose'' mode
- // - these are not errors, just chatty progress reports
- // - these messages can be shut off
- //
- static void note(const char *message);
- static void note(tostrstream& message);
-
- static void note(const char *function, const char *message);
- static void note(const char *function, tostrstream& message);
-
- static void note(const char *class_name, const char *method, const char *message);
- static void note(const char *class_name, const char *method, tostrstream& message);
-
- static bool note(); // current note switch
- static void note(bool value); // change the note switch
-
- //
- // Warning messages
- // - warnings are system-recoverable errors
- // - the system has noticed something and taken some
- // corrective action
- // - these messages can be shut off
- //
- static void warning(const char *message);
- static void warning(tostrstream& message);
-
- static void warning(const char *function, const char *message);
- static void warning(const char *function, tostrstream& message);
-
- static void warning(const char *class_name, const char *method, const char *message);
- static void warning(const char *class_name, const char *method, tostrstream& message);
-
- static bool warning(); // current warning switch
- static void warning(bool value); // change the warning switch
-
- //
- // Error messages
- // - an unacceptable, but expected and recoverable
- // condition was detected
- // - errors are for ``the expected environment was not found''
- // rather than for ``file couldn't be opened''
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void error(const char *message);
- static void error(tostrstream& message);
-
- static void error(const char *function, const char *message);
- static void error(const char *function, tostrstream& message);
-
- static void error(const char *class_name, const char *method, const char *message);
- static void error(const char *class_name, const char *method, tostrstream& message);
-
- // can't turn off errors - no ``static void error(bool value);''
- static zero_arg_error_handler_t error(); // current error handler
- static void error(zero_arg_error_handler_t handler);// change the error handler
-
- static void error_is_lib_error_handler(); // change the error handler
- static void error_is_exit(); // change the error handler
-
- // Describes the fatal handler - WATCHOUT - implicitly uses AllocRing
- static const char *error_handler_description();
-
- //
- // Fatal messages
- // - an unacceptable and unexpected error was detected
- // the data invariants were violated, there is no recovery
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void fatal(const char *message);
- static void fatal(tostrstream& message);
-
- static void fatal(const char *function, const char *message);
- static void fatal(const char *function, tostrstream& message);
-
- static void fatal(const char *class_name, const char *method, const char *message);
- static void fatal(const char *class_name, const char *method, tostrstream& message);
-
- // can't turn off fatals - no ``static void fatal(bool value);''
- static zero_arg_error_handler_t fatal(); // return the fatal handler
- static void fatal(zero_arg_error_handler_t handler); // change the fatal handler
-
- static void fatal_is_exit(); // change the fatal handler
- static void fatal_is_abort(); // change the fatal handler
-
- // Describes the fatal handler - WATCHOUT - implicitly uses AllocRing
- static const char *fatal_handler_description();
-private:
- //
- // Two underscores are used here in order to prevent confusion of these
- // private variables with any of the heir's private variables. Note that
- // access control is different than visibility in C++, so all the variable
- // names in a class hierarchy must be unique.
- //
- static bool __debug;
- static bool __note;
- static bool __warning;
- static void (*__error_handler)(); // can't turn off errors
- static void (*__fatal_handler)(); // can't turn off fatals
-
- static bool __partial_init;
- static void __partial_initialize();
- static bool __full_init;
- static void __full_initialize(const char *program);
- static char *__program;
-
- static void __handle_error();
- static void __handle_fatal();
- static void __add_newline(const char *message);
- static void __message_switch(bool value, bool& flag, const char *description);
- static void __message_switch(bool value, bool& flag);
- static const char *__describe_handler(zero_arg_error_handler_t handler);
-
- static bool __output_valid();
- static ostream *__output;
-
- // GPP_1_96_BUG
- const char *class_name() const;
- // GPP_1_96_BUG
-};
-
-
-//# 29 "../../../../../../mips/include/Gct/Object/GctObject.h" 2
-
-
-//
-// GctObject class (is abstract)
-//
-class GctObject: virtual public GctErrorHandler /*, virtual public GttObject*/ {
-protected:
- GctObject();
- GctObject(const GctObject&);
- virtual ~GctObject(); // ensure descendants have virtual destructors
-
-public:
- //
- // I/O Support
- //
- // The value typically persists only long enough for an i/o operation
- // to be performed (see the defintion of output via operator<<(... ) below)
- virtual const char *stringify();
-protected:
- // This is the buffer into which the printed representation of this
- // object will be put when the time comes. It is associated with the
- // object so it will never go away (so long as the object exists).
- // Use a pointer so that you only pay for the space when I/O is used
- tostrstream *stringbuf;
- void clear_stringbuf();
-
-public:
- //
- // Consistency (global consistency)
- //
- // The global data invariant for the whole object (heirs included).
- // This OK function will call the local invariant function ok() if
- // necessary and in addition the OK functions of the heirs
- // This is expected to compute the data invariant of the object.
- // It will execute GctErrorHandler::fatal if there is wrong.
- virtual void OK() const;
-
-protected:
- //
- // consistency (local consistency)
- //
- // This function computes the invariant which is local to this object.
- // It does not call any of the ancestor's OK() or ok() functions.
- // It is not a virtual function so that it can be called from within a
- // constructor with impunity. Thus this function MUST NOT call any
- // virtual functions either; it should call them by their full name if
- // that is necessary. The global OK() function will call this function
- // as necessary.
- //
- // This function must NOT NEVER EVER be made virtual.
- void ok() const;
-protected:
- //
- // Class Name
- //
- // This must return a static (constant) string which is the name
- // of the class being declared. By convention, not all classes
- // must have one of these, but the major root abstract class must
- // have one in order to allow the stringify() to work approximately
- // correctly.
- virtual const char *class_name() const = 0;
-
-public:
- //
- // The ``id'' of this object
- //
- // NOTE - we explicitly allow the situation where this function
- // can return the address of the object - the ``this'' pointer
- // instead of a computed id field (the __object_id field below).
- //
- // This function is protected because we don't want too much dependence
- // on this notion of object identity. I want to be able to rip it
- // out if it becomes to cumbersome.
- unsigned objectId() const;
-private:
- //
- // Symbolic ID
- //
- // NOTE - Normally this would be implemented by the `this' pointer.
- // TODO - remove this for production code
- //
- // However, in order to make the test suites run on all machines, we
- // make this into a symbolic id that is maintained with each object.
- // Thus the valid outputs are always consistent across all machines.
- unsigned __object_id;
- static unsigned __next_id;
-};
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 117 "../../../../../../mips/include/Gct/Object/GctObject.h" 2
-
-extern ostream& operator<<(ostream&, GctObject&);
-
-
-//# 25 "../../../../../../mips/include/Gct/Object/GctHashObject.h" 2
-
-
-//
-// GctHashObject class (is abstract)
-//
-class GctHashObject: virtual public GctObject {
-protected:
- GctHashObject();
- GctHashObject(const GctHashObject&);
-
-public:
- //
- // hash support
- //
- virtual unsigned hash() const;
-};
-
-
-//# 28 "../../GctSymbol.h" 2
-
-
-//
-// GctSymbol
-//
-class GctSymbol: virtual public GctHashObject, String {
-public:
- GctSymbol(); // vacuous symbol required for genclass usage
- GctSymbol(const char*);
- GctSymbol(const String&);
- GctSymbol(const GctSymbol&);
-
- operator const char *() const;
-
- bool operator==(const GctSymbol&) const;
- bool operator!=(const GctSymbol&) const;
-
- bool operator<=(const GctSymbol&) const;
- bool operator<(const GctSymbol&) const;
- bool operator>=(const GctSymbol&) const;
- bool operator>(const GctSymbol&) const;
-
- unsigned hash() const;
-
- // I/O Support
- const char *stringify();
-
- // Consistency
- void OK() const;
-private:
- const char *class_name() const;
-};
-
-extern unsigned hash(GctSymbol&); // genclass support (no const)
-
-//
-// Inline functions
-//
-// Note - none of the String operators save for operator const char *()
-// are String member functions, instead, they are anonymous functions
-// which work by overloading.
-//
-
-
-
-
-
-GctSymbol::operator const char *() const
-{
-
-
-
-
-
- return String::operator const char *();
-}
-
-bool
-GctSymbol::operator==(const GctSymbol& other) const
-{
-
-
-
-
-
- return (bool)::operator==(*this, other);
-}
-
-bool
-GctSymbol::operator!=(const GctSymbol& other) const
-{
-
-
-
-
-
- return (bool)::operator!=(*this, other);
-}
-
-bool
-GctSymbol::operator<=(const GctSymbol& other) const
-{
-
-
-
-
-
- return (bool)::operator<=(*this, other);
-}
-
-bool
-GctSymbol::operator<(const GctSymbol& other) const
-{
-
-
-
-
-
- return (bool)::operator<(*this, other);
-}
-
-bool
-GctSymbol::operator>=(const GctSymbol& other) const
-{
-
-
-
-
-
- return (bool)::operator>=(*this, other);
-}
-
-bool
-GctSymbol::operator>(const GctSymbol& other) const
-{
-
-
-
-
-
- return (bool)::operator>(*this, other);
-}
-
-
-//# 25 "GctSymbol.defs.h" 2
-
-
-// equality operator
-
-
-
-
-// less-than-or-equal
-
-
-
-
-// comparison : less-than -> 0
-
-
-
-
-// hash function
-
-extern unsigned int hash(GctSymbol&);
-
-
-
-// initial capacity for structures requiring one
-
-
-
-
-
-
-
-//# 27 "GctSymbol.GctSymbol.Map.h" 2
-
-
-class GctSymbolGctSymbolMap
-{
-protected:
- int count;
- GctSymbol def;
-
-public:
- GctSymbolGctSymbolMap(GctSymbol& dflt);
- virtual ~GctSymbolGctSymbolMap();
-
- int length(); // current number of items
- int empty();
-
- virtual int contains(GctSymbol& key); // is key mapped?
-
- virtual void clear(); // delete all items
-
- virtual GctSymbol& operator [] (GctSymbol& key) = 0; // access contents by key
-
- virtual void del(GctSymbol& key) = 0; // delete entry
-
- virtual Pix first() = 0; // Pix of first item or 0
- virtual void next(Pix& i) = 0; // advance to next or 0
- virtual GctSymbol& key(Pix i) = 0; // access key at i
- virtual GctSymbol& contents(Pix i) = 0; // access contents at i
-
- virtual int owns(Pix i); // is i a valid Pix ?
- virtual Pix seek(GctSymbol& key); // Pix of key
-
- GctSymbol& dflt(); // access default val
-
- void error(const char* msg);
- virtual int OK() = 0; // rep invariant
-};
-
-
-
-inline GctSymbolGctSymbolMap::~GctSymbolGctSymbolMap() {}
-
-inline int GctSymbolGctSymbolMap::length()
-{
- return count;
-}
-
-inline int GctSymbolGctSymbolMap::empty()
-{
- return count == 0;
-}
-
-inline GctSymbol& GctSymbolGctSymbolMap::dflt()
-{
- return def;
-}
-
-inline GctSymbolGctSymbolMap::GctSymbolGctSymbolMap(GctSymbol& dflt) :def(dflt)
-{
- count = 0;
-}
-
-
-
-
-//# 26 "GctSymbol.GctSymbol.CHMap.h" 2
-
-
-
-
-
-struct GctSymbolGctSymbolCHNode
-{
- GctSymbolGctSymbolCHNode* tl;
- GctSymbol hd;
- GctSymbol cont;
- GctSymbolGctSymbolCHNode();
- GctSymbolGctSymbolCHNode(GctSymbol& h, GctSymbol& c, GctSymbolGctSymbolCHNode* t = 0);
- ~GctSymbolGctSymbolCHNode();
-};
-
-
-
-inline GctSymbolGctSymbolCHNode::GctSymbolGctSymbolCHNode() {}
-
-inline GctSymbolGctSymbolCHNode::GctSymbolGctSymbolCHNode(GctSymbol& h, GctSymbol& c, GctSymbolGctSymbolCHNode* t)
- : hd(h), cont(c), tl(t) {}
-
-inline GctSymbolGctSymbolCHNode::~GctSymbolGctSymbolCHNode() {}
-
-
-
-
-typedef GctSymbolGctSymbolCHNode* GctSymbolGctSymbolCHNodePtr;
-
-
-
-
-class GctSymbolGctSymbolCHMap : public GctSymbolGctSymbolMap
-{
-protected:
- GctSymbolGctSymbolCHNode** tab;
- unsigned int size;
-
-public:
- GctSymbolGctSymbolCHMap(GctSymbol& dflt,unsigned int sz=100 );
- GctSymbolGctSymbolCHMap(GctSymbolGctSymbolCHMap& a);
- ~GctSymbolGctSymbolCHMap();
-
- GctSymbol& operator [] (GctSymbol& key);
-
- void del(GctSymbol& key);
-
- Pix first();
- void next(Pix& i);
- GctSymbol& key(Pix i);
- GctSymbol& contents(Pix i);
-
- Pix seek(GctSymbol& key);
- int contains(GctSymbol& key);
-
- void clear();
- int OK();
-};
-
-
-
-inline GctSymbolGctSymbolCHMap::~GctSymbolGctSymbolCHMap()
-{
- clear();
- delete tab;
-}
-
-inline int GctSymbolGctSymbolCHMap::contains(GctSymbol& key)
-{
- return seek(key) != 0;
-}
-
-inline GctSymbol& GctSymbolGctSymbolCHMap::key(Pix p)
-{
- if (p == 0) error("null Pix");
- return ((GctSymbolGctSymbolCHNode*)p)->hd;
-}
-
-inline GctSymbol& GctSymbolGctSymbolCHMap::contents(Pix p)
-{
- if (p == 0) error("null Pix");
- return ((GctSymbolGctSymbolCHNode*)p)->cont;
-}
-
-
-
-
-//# 22 "GctSymbol.GctSymbol.CHMap.cc" 2
-
-
-// The nodes are linked together serially via a version
-// of a trick used in some vtables: odd pointers are
-// actually links to the next table entry.
-// Not terrible, but not wonderful either
-
-static inline int goodCHptr(GctSymbolGctSymbolCHNode* t)
-{
- return ((((unsigned)t) & 1) == 0);
-}
-
-static inline GctSymbolGctSymbolCHNode* index_to_CHptr(int i)
-{
- return (GctSymbolGctSymbolCHNode*)((i << 1) + 1);
-}
-
-static inline int CHptr_to_index(GctSymbolGctSymbolCHNode* t)
-{
- return ( ((unsigned) t) >> 1);
-}
-
-GctSymbolGctSymbolCHMap::GctSymbolGctSymbolCHMap(GctSymbol& dflt, unsigned int sz)
- :GctSymbolGctSymbolMap(dflt)
-{
- tab = (GctSymbolGctSymbolCHNode**)(new GctSymbolGctSymbolCHNodePtr[size = sz]);
- for (unsigned int i = 0; i < size; ++i) tab[i] = index_to_CHptr(i+1);
- count = 0;
-}
-
-GctSymbolGctSymbolCHMap::GctSymbolGctSymbolCHMap(GctSymbolGctSymbolCHMap& a) :GctSymbolGctSymbolMap(a.def)
-{
- tab = (GctSymbolGctSymbolCHNode**)(new GctSymbolGctSymbolCHNodePtr[size = a.size]);
- for (unsigned int i = 0; i < size; ++i) tab[i] = index_to_CHptr(i+1);
- count = 0;
- for (Pix p = a.first(); p; a.next(p)) (*this)[a.key(p)] = a.contents(p); // gets bogus error - type `GctSymbol' is derived from private `String'
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p785.C b/gcc/testsuite/g++.old-deja/g++.mike/p785.C
deleted file mode 100644
index 7d61b093edd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p785.C
+++ /dev/null
@@ -1,8074 +0,0 @@
-// Special g++ Options: -w
-// Build don't link:
-// prms-id: 785
-
-//# 1 "GctNameRef.List.cc"
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine++.h" 1
-// -*- C++ -*-
-#ifndef FALSE
-#define FALSE false
-#endif
-#ifndef TRUE
-#define TRUE true
-#endif
-
-
-//
-// WATCHOUT - CC 2.1 uses regular old cpp as its #ifdef processor
-// whereas GNU uses a special preprocessor (actually ``gcc-cpp -+'')
-// This implies that there can be no C++ comments on lines which are
-// to be understood by cpp. Actually it turns out that only lines
-// with grammatical structures (such as ``#if defined( ... )'') are
-// affected, but this is probably a good rule to follow elsewhere too.
-//
-
-//
-// Define a ``Standard C++ Unix Machine''
-//
-// By whatever means are available in sumachine and elsewhere,
-// figure out what type of C++ world we are on.
-//
-// See also "sumachine.h"
-//
-//
-// This file is expected to be included as the first #include file in
-// all .cc files This file should be included in each and every src file
-// compiled b/c it ensures that the environment which those src files
-// expect exists either by fiat or by faking it.
-//
-
-
-//
-// Its GNU C++
-//
-// This pragma only works under g++ 1 (it no longer works for gcc2)
-
-
-
-
-// Because between releases of Cygnus' stuff, the definitions keep bouncing
-// around between so fast that one can't
-// keep one's code compiling ... Just include them all and be done with it.
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdlib.h" 1
-
-
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-
-
-extern "C" {
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/mips/lib/gcc/decstatn/cygnus-1.96/include/stddef.h" 1
-
-
-
-
-
-
-/* This avoids lossage on Sunos but only if stdtypes.h comes first.
- There's no way to win with the other order! Sun lossage. */
-
-/* In case nobody has defined these types, but we aren't running under
- GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE__TYPE__, and
- __WCHAR_TYPE__ have reasonable values. This can happen if the
- parts of GCC is compiled by an older compiler, that actually
- include gstddef.h, such as collect2. */
-
-/* Signed type of difference of two pointers. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef long int ptrdiff_t;
-
-
-
-
-
-
-/* Unsigned type of `sizeof' something. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int size_t;
-
-
-
-
-
-
-/* Data type for wide chars. */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int wchar_t;
-
-
-
-
-
-
-
-
-/* A null pointer constant. */
-
-
-
-
-/* Offset of member MEMBER in a struct of type TYPE. */
-
-
-
-
-
-//# 7 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 2
-
-
-
-
-}
-
-//# 6 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdlib.h" 2
-
-
-extern "C" {
-
-int abs(int);
-
-
-void abort(void);
-
-
-
-
-double atof(const char*);
-int atoi(const char*);
-long atol(const char*);
-
-int atexit(auto void (*p) (void));
-int bsearch (const void *, const void *, size_t,
- size_t, auto int (*ptf)(const void*, const void*));
-void* calloc(size_t, size_t);
-void cfree(void*);
-
-
-void exit(int);
-
-
-
-
-char* fcvt(double, int, int*, int*);
-void free(void*);
-char* getenv(const char*);
-int getopt(int, const char**, const char*);
-int getpw(int, char*);
-char* gcvt(double, int, char*);
-char* ecvt(double, int, int*, int*);
-extern char** environ;
-
-long labs(long);
-void* malloc(size_t);
-size_t malloc_usable_size(void*);
-int putenv(const char*);
-extern char* optarg;
-extern int opterr;
-extern int optind;
-void qsort(void*, size_t, size_t, auto int (*ptf)(void*,void*));
-int rand(void);
-void* realloc(void*, size_t);
-int setkey(const char*);
-int srand(unsigned int);
-double strtod(const char*, char**);
-long strtol(const char*, char**, int);
-unsigned long stroul(const char**, int);
-int system(const char*);
-
-long random(void);
-void srandom(int);
-char* setstate(char*);
-char* initstate(unsigned, char*, int);
-
-double drand48(void);
-void lcong48(short*);
-long jrand48(short*);
-long lrand48(void);
-long mrand48(void);
-long nrand48(short*);
-short* seed48(short*);
-void srand48(long);
-
-char* ctermid(char*);
-char* cuserid(char*);
-char* tempnam(const char*, const char*);
-char* tmpnam(char*);
-
-}
-
-//# 44 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine++.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988, 1992 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-//# 12 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h"
-
-//# 23 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdlib.h" 1
-
-
-//# 80 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdlib.h"
-
-//# 24 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/string.h" 1
-
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-//# 12 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h"
-
-//# 5 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/string.h" 2
-
-
-
-extern "C" {
-
-char* strcat(char*, const char*);
-char* strchr(const char*, int);
-int strcmp(const char*, const char*);
-int strcoll(const char*, const char*);
-char* strcpy(char*, const char*);
-size_t strcspn(const char*, const char*);
-char* strdup(const char*);
-
-char* strncat(char*, const char*, size_t);
-int strncmp(const char*, const char*, size_t);
-char* strncpy(char*, const char*, size_t);
-char* strpbrk(const char*, const char*);
-char* strrchr(const char*, int);
-size_t strspn(const char*, const char*);
-char* strstr(const char*, const char *);
-char* strtok(char*, const char*);
-size_t strxfrm(char*, const char*, size_t);
-
-}
-
-
-
-
-
-
-
-extern "C" {
-char* index(const char*, int);
-char* rindex(const char*, int);
-}
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/memory.h" 1
-
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-//# 12 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h"
-
-//# 5 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/memory.h" 2
-
-
-extern "C" {
-
-void* memalign(size_t, size_t);
-void* memccpy(void*, const void*, int, size_t);
-void* memchr(const void*, int, size_t);
-
-
-void* memset(void*, int, size_t);
-int ffs(int);
-size_t getpagesize(void);
-void* valloc(size_t);
-
-}
-
-
-
-
-
-
-
-
-
-extern "C" {
-void bcopy(const void*, void*, size_t); // USG uses version in bcopy.c
-int bcmp(const void*, const void*, int);
-void bzero(void*, int);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 43 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/string.h" 2
-
-
-
-//# 25 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/memory.h" 1
-
-//# 49 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/memory.h"
-
-//# 26 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/unistd.h" 1
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-//# 12 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h"
-
-//# 4 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/unistd.h" 2
-
-
-extern "C" {
-
-
-void _exit(int);
-
-
-
-
-unsigned alarm(unsigned);
-int brk(void*);
-int chdir(const char*);
-int chmod(const char*, int);
-int chown(const char*, int, int);
-int close(int);
-char* crypt(const char*, const char*);
-int dup(int);
-int dup2(int, int);
-char* encrypt(char*, int);
-int execl(const char*, const char *, ...);
-int execle(const char*, const char *, ...);
-int execlp(const char*, const char*, ...);
-int exect(const char*, const char**, char**);
-int execv(const char*, const char**);
-int execve(const char*, const char**, char**);
-int execvp(const char*, const char**);
-int fchown(int, int, int);
-int fork(void);
-int fsync(int);
-int ftruncate(int, unsigned long);
-char* getcwd(char*, int);
-int getdomainname(char*, int);
-int getdtablesize(void);
-
-int getgroups(int, int*);
-int geteuid(void);
-int getegid(void);
-int getgid(void);
-long gethostid(void);
-int gethostname(char*, int);
-int getpgrp(...);
-int getpid(void);
-int getppid(void);
-char* getlogin(void);
-char* getpass(const char*);
-unsigned getuid(void);
-int ioctl(int, int, void*);
-int isatty(int);
-int link(const char*, const char*);
-int mkstemp(char*);
-char* mktemp(char*);
-int nice(int);
-
-void volatile pause(void);
-
-
-
-int pipe(int*);
-int readlink(const char*, char*, int);
-int rename(const char*, const char*);
-int rmdir(const char*);
-void* sbrk(int);
-int syscall(int, ...);
-int setgid(int);
-int sethostname(const char*, int);
-int setpgrp(...);
-int setregid(int, int);
-int setreuid(int, int);
-int setuid(int);
-unsigned sleep(unsigned);
-void swab(void*, void*, int);
-int symlink(const char*, const char*);
-int truncate(const char*, unsigned long);
-char* ttyname(int);
-int ttyslot(void);
-// int umask(int); /* commented out for now; wrong for SunOs4.1 */
-int unlink(const char*);
-int vfork(void);
-int vadvise(int);
-int vhangup(void);
-
-long lseek(int, long, int);
-int read(int, void*, size_t);
-int write(int, const void*, size_t);
-int access(const char*, int);
-
-int flock(int, int);
-
-
-}
-
-
-
-
-//# 27 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdio.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-/*
- * Please check the following before installing this file:
- *
- * Make sure USG is #defined if you are on a USG system!
- *
- * Check the value of _NFILE against the one in your /usr/include/stdio.h.
- * (USG only)
- *
- * Check whether your libc.a sprintf function returns
- * an int (as do most) versus a char* (BSD), and (un)comment
- * the corresponding SPRINTF_RETURNS_INT line.
- *
- * Check the value of BUFSIZ against the one in your /usr/include/stdio.h.
- *
- * Carefully check the fields and order of _iobuf declaration against
- * the one in your /usr/include/stdio.h. Xenix-based systems
- * may need some re-ordering of _iobuf. fields.
- *
- * Note that some _IOXXX #defines may not be present in your
- * /usr/include/stdio.h. This is ok, so long as the ones that
- * are present in both are set to the same values.
- *
- * Some of the prototypes refer to functions that may not be
- * present in your libc.a. This is ok so long as you do not
- * actually call such functions.
- *
- */
-
-
-
-//#pragma interface
-
-
-
-
-
-
-
-// Note: The #define _stdio_h is at the end of this file,
-// in case #include_next finds an installed version of this
-// same file -- we want it to continue until it finds the C version.
-
-/*
- HAVE_VPRINTF should be set if vprintf is in libc.a
- HAVE_SETVBUF should be set if setvbuf is in libc.a
- HAVE_SETLINEBUF should be set if setlinebuf in libc.a
-
- The following are probably correct for the listed systems
-
-*/
-
-
-
-
-
-//# 85 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdio.h"
-
-
-
-//# 158 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdio.h"
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 1 "/usr/include/stdio.h" 1
-/* @(#)stdio.h 4.6 (ULTRIX) 3/1/91 */
-/************************************************************************
- * *
- * Copyright (c) 1985 by *
- * Digital Equipment Corporation, Maynard, MA *
- * All rights reserved. *
- * *
- * This software is furnished under a license and may be used and *
- * copied only in accordance with the terms of such license and *
- * with the inclusion of the above copyright notice. This *
- * software or any other copies thereof may not be provided or *
- * otherwise made available to any other person. No title to and *
- * ownership of the software is hereby transferred. *
- * *
- * This software is derived from software received from the *
- * University of California, Berkeley, and from Bell *
- * Laboratories. Use, duplication, or disclosure is subject to *
- * restrictions under license agreements with University of *
- * California and with AT&T. *
- * *
- * The information in this software is subject to change without *
- * notice and should not be construed as a commitment by Digital *
- * Equipment Corporation. *
- * *
- * Digital assumes no responsibility for the use or reliability *
- * of its software on equipment which is not supplied by Digital. *
- * *
- ************************************************************************/
-/************************************************************************
- * Modification History
- *
- * Mitch Condylis 28-Feb-1991
- * Changed _file member of FILE structure from char to short
- * as part of work to increase max number of open file descriptors.
- *
- * Mike Thomas, 7-Sep-1990
- * 016 Back out most of 015. Leave in explicit declarations.
- *
- * Mike Thomas, 21-Aug-1990
- * 015 DECwest ANSI - change _filbuf to __filbuf for ANSI compliance.
- * Explicitly declare __filbuf under __STDC__.
- * Likewise flsbuf.
- *
- * 014 Mike Thomas, 08-Jun-90
- * Changed _POSIX_SOURCE reference back to POSIX.
- *
- * 013 Dan Smith, 23-Feb-90
- * Added const to several prototypes. More namespace protection.
- * Changed reference of POSIX to _POSIX_SOURCE.
- *
- * Jon Reeves, 07-Dec-1989
- * 012 Namespace protection.
- *
- * Jon Reeves, 09-Nov-1989
- * 011 Fix putc properly: could still sign-extend in some cases before.
- *
- * Linda Wilson, 06-Oct-1989
- * 010 Declare sprintf as int for std conformance
- *
- * Jon Reeves, 25-Aug-1989
- * 009 Fix putc[har] for 8-bit mode (unsigned int->char)
- *
- * Jon Reeves, 18-Jul-1989
- * 008 Add getw, putw for X/Open conformance.
- *
- * Jon Reeves, 31-May-1989
- * 007 ANSI conformance; clean up rogue comments. sprintf is still
- * wrong.
- *
- * Lu Anne Van de Pas, 02-Jun-1986
- * 006 Added ending "/" to P_tmpdir string.
- *
- * David L Ballenger, 22-Nov-1985
- * 005 Correct definition of sprintf() for System V environment.
- *
- * David L Ballenger, 01-Aug-1985
- * 004 Add _IOAPPEND flag for files opened with "A" or "A+".
- *
- * David L Ballenger, 26-Jun-1985
- * 003 Add changes so that FILE structures are allocated dynamically.
- *
- * Larry Cohen, 23-April-1985
- * - change NFILE from 20 to 64
- *
- * David L Ballenger, 13-Mar-1985
- * 0001 Add System V definitions.
- ************************************************************************/
-
-//# 1 "/usr/include/ansi_compat.h" 1
-/*
- * @(#)ansi_compat.h 4.4 (ULTRIX) 10/8/90
- */
-
-/************************************************************************
- * *
- * Copyright (c) 1990 by *
- * Digital Equipment Corporation, Maynard, MA *
- * All rights reserved. *
- * *
- * This software is furnished under a license and may be used and *
- * copied only in accordance with the terms of such license and *
- * with the inclusion of the above copyright notice. This *
- * software or any other copies thereof may not be provided or *
- * otherwise made available to any other person. No title to and *
- * ownership of the software is hereby transferred. *
- * *
- * The information in this software is subject to change without *
- * notice and should not be construed as a commitment by Digital *
- * Equipment Corporation. *
- * *
- * Digital assumes no responsibility for the use or reliability *
- * of its software on equipment which is not supplied by Digital. *
- * *
- ************************************************************************/
-
-/*
- * To avoid namespace pollution when using the ULTRIX header files under the
- * DEC ANSI compiler, all user-visible header files were modifed to reference
- * ANSI-style predefined macro name rather than their traditional names
- * (__ultrix vice ultrix). Every file which accesses a predefined macro name
- * must include this file before any other files are included or the macros
- * are tested.
- *
- * In strict ANSI mode, the appropriate ANSI-style macros are already
- * defined and the redefinitions in this file will not be seen. When using
- * pcc, the traditional macro names are defined and this file will define
- * ANSI-style equivalents of the traditional names. When using the DEC C
- * compiler, both the traditional and ANSI predefined macro names are
- * available so the definitions in this file are not made visible.
- *
- */
-
-
-//# 116 "/usr/include/ansi_compat.h"
-
-//# 89 "/usr/include/stdio.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
- /* Note: spacing must match, too, to avoid warnings */
-
-
-
-
-extern struct _iobuf {
- int _cnt;
- char *_ptr;
- char *_base;
- int _bufsiz;
- short _flag;
- short _file;
-} _iob[3 ];
-typedef struct _iobuf FILE;
-
-typedef long fpos_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* fseek() values */
-
-
-
-
-
-
-
-/*
- * prototype
- *
- */
-extern int getc( FILE *__stream );
-extern int getchar( void );
-extern int putc( int __c, FILE *__stream);
-extern int putchar( int __c);
-extern int feof( FILE *__stream );
-extern int ferror( FILE *__stream );
-extern int fileno( FILE *__stream );
-extern int _filbuf( FILE *p);
-extern int _flsbuf( unsigned char x , FILE *p);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef char *va_list;
-
-/*
- * prototypes
- *
- */
-extern void clearerr( FILE *__stream);
-extern int fclose( FILE *__stream );
-extern FILE * c_proto_fdopen ( int __filedes, char *__type );
-extern int fflush( FILE *__stream );
-extern int fgetc( FILE *__stream );
-extern int fgetpos( FILE *__stream, fpos_t *__pos );
-extern char * fgets( char *__s, int __n, FILE *__stream );
-extern FILE * c_proto_fopen ( const char *__filename, const char *__type );
-extern int c_proto_fprintf ( FILE *__stream, const char *__format, ... );
-extern int fputc( int __c, FILE *__stream );
-extern int c_proto_fputs ( const char *__s, FILE *__stream );
-extern size_t fread( void *__ptr, size_t __size,
- size_t __nitems, FILE *__stream );
-extern FILE * c_proto_freopen ( const char *__filename, const char *__type,
- FILE *__stream );
-extern int c_proto_fscanf ( FILE *__stream, const char *__format, ... );
-extern int fseek( FILE *__stream, long __offset, int __ptrname );
-extern int fsetpos( FILE *__stream, const fpos_t *__pos );
-extern long ftell( FILE *__stream );
-extern size_t c_proto_fwrite ( const void *__ptr, size_t __size,
- size_t __nitems, FILE *__stream );
-extern char * gets( char *__s );
-extern void c_proto_perror ( const char *__s );
-extern FILE * c_proto_popen (const char *__command, const char *__type );
-extern int c_proto_printf ( const char *__format, ... );
-extern int c_proto_puts ( const char *__s );
-extern int remove( const char *__filename );
-extern int rename( const char *__from, const char *__to );
-extern void c_proto_rewind ( FILE *__stream );
-extern int c_proto_scanf ( const char *__format, ... );
-extern void c_proto_setbuf ( FILE *__stream, char *__buf );
-extern int c_proto_setvbuf ( FILE *__stream, char *__buf,
- int __type, size_t __size );
-extern int c_proto_sscanf ( const char *__s, const char *__format, ... );
-extern FILE * tmpfile( void );
-extern char * tmpnam( char *__s );
-extern int ungetc( int __c, FILE *__stream );
-extern int c_proto_vfprintf ( FILE *__stream, const char *__format, va_list __ap );
-extern int c_proto_vprintf ( const char *__format, va_list __ap );
-extern int c_proto_vsprintf ( char *__s, const char *__format, va_list __ap);
-
-
-extern char * c_proto_tempnam ( const char *__dir, const char *__pfx);
-extern int c_proto_putw ( int __w, FILE *__stream );
-extern int getw(FILE *__stream);
-extern int pclose( FILE *__stream );
-
-
-//# 298 "/usr/include/stdio.h"
-
-
-
-/* function prototype */
-extern int c_proto_sprintf ( char *__s, const char *__format, ... );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 189 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdio.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-extern "C" {
-
-//# 239 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stdio.h"
-
-int fclose(FILE*);
-FILE* fdopen(int, const char*);
-int fflush(FILE*);
-int fgetc(FILE*);
-char* fgets(char*, int, FILE *);
-FILE* fopen(const char*, const char*);
-int fprintf(FILE*, const char* ...);
-int fputc(int, FILE*);
-int fputs(const char*, FILE*);
-size_t fread(void*, size_t, size_t, FILE*);
-
-
-
-FILE* freopen(const char*, const char*, FILE*);
-
-int fscanf(FILE*, const char* ...);
-int fseek(FILE*, long, int);
-long ftell(FILE *);
-unsigned int fwrite(const void*, unsigned int, unsigned int, FILE*);
-char* gets(char*);
-int getw(FILE*);
-int pclose(FILE*);
-void perror(const char*);
-FILE* popen(const char*, const char*);
-int printf(const char* ...);
-int puts(const char*);
-int putw(int, FILE*);
-int rewind(FILE*);
-int scanf(const char* ...);
-int setbuf(FILE*, char*);
-int setbuffer(FILE*, char*, int);
-int setlinebuf(FILE*);
-int setvbuf(FILE*, char*, int, unsigned int);
-int sscanf(char*, const char* ...);
-FILE* tmpfile();
-int ungetc(int, FILE*);
-int vfprintf(FILE*, const char*, ...);
-
-// Third arg to vprintf must be '...' for some machines, & doesn't
-// hurt for others.
-
-int vprintf(const char*, ... );
-
-
-
-
-
-char* sprintf(char*, const char*, ...);
-char* vsprintf(char*, const char*, ...);
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 28 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/errno.h" 1
-
-
-extern "C" {
-
-
-
-
-
-//# 1 "/usr/include/errno.h" 1
-/* @(#)errno.h 2.4 (ULTRIX) 11/10/89 */
-
-/************************************************************************
- * *
- * Copyright (c) 1984, 1987 by *
- * Digital Equipment Corporation, Maynard, MA *
- * All rights reserved. *
- * *
- * This software is furnished under a license and may be used and *
- * copied only in accordance with the terms of such license and *
- * with the inclusion of the above copyright notice. This *
- * software or any other copies thereof may not be provided or *
- * otherwise made available to any other person. No title to and *
- * ownership of the software is hereby transferred. *
- * *
- * This software is derived from software received from the *
- * University of California, Berkeley, and from Bell *
- * Laboratories. Use, duplication, or disclosure is subject to *
- * restrictions under license agreements with University of *
- * California and with AT&T. *
- * *
- * The information in this software is subject to change without *
- * notice and should not be construed as a commitment by Digital *
- * Equipment Corporation. *
- * *
- * Digital assumes no responsibility for the use or reliability *
- * of its software on equipment which is not supplied by Digital. *
- * *
- ************************************************************************/
-/*
- *
- * Modification history:
- *
- * 10 Jul 89 -- jlr
- * Added ENOSYS for POSIX
- *
- * 13 Jan 88 -- map
- * Added ENOLCK for POSIX
- *
- * 4 Aug 86 -- chet
- * Moved NFS error codes to match SUN's.
- *
- * 24 Feb 86 -- depp
- * Added EALIGN error code
- *
- * 28-Mar-85 -- David L Ballenger
- * Add mapping of System V error numbers from BRL package.
- *
- * 01 Mar 85 -- depp
- * Added System V IPC error codes error codes.
- *
- */
-
-/*
- * Error codes
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* math software */
-
-
-
-/* non-blocking and interrupt i/o */
-
-
-
-/* ipc/network software */
-
- /* argument errors */
-
-
-
-
-
-
-
-
-
-
-
-
-
- /* operational errors */
-
-
-
-
-
-
-
-
-
-
-
-
-
- /* */
-
-
-
-/* should be rearranged */
-
-
-
-
-/* quotas & mush */
-
-
-
-
-/* NFS error codes */
-
-
-
-/* IPC errors
- */
-
-
-
-/* Alignment error of some type (i.e., cluster, page, block ...) */
-
-
-/* System V mappings from BRL package
- */
-
-
-/* POSIX errnos
- */
-
-
-
-/*
- * DUP (Diagnostic/Utilities Protocol) related error numbers.
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* External definition of errno from System V
- */
-
-extern int errno;
-
-//# 9 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/errno.h" 2
-
-
-
-
-extern char* sys_errlist[];
-extern int sys_nerr;
-extern int errno;
-void perror(const char*);
-char* strerr(int);
-
-
-}
-
-
-//# 29 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 2
-
-
-
-//# 45 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine++.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/builtin.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-
-/*
-Copyright (C) 1988, 1992 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-/*
- arithmetic, etc. functions on built in types
-*/
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-//# 12 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h"
-
-//# 31 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/builtin.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988, 1992 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-//# 31 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/std.h"
-
-//# 32 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/builtin.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/math.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-//#pragma interface
-
-
-
-
-
-
-
-
-
-
-
-//# 64 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/math.h"
-
-extern "C" {
-
-double acos(double);
-double acosh(double);
-double asin(double);
-double asinh(double);
-double atan(double);
-double atan2(double, double);
-double atanh(double);
-double cbrt(double);
-double ceil(double);
-double copysign(double,double);
-double cos(double);
-double cosh(double);
-double drem(double,double);
-double erf(double);
-double erfc(double);
-double exp(double);
-double expm1(double);
-double fabs(double);
-double finite(double);
-double floor(double);
-double frexp(double, int*);
-double gamma(double);
-double hypot(double,double);
-double infnan(int);
-
-/* see below */
-int isinf(double);
-int isnan(double);
-
-double j0(double);
-double j1(double);
-double jn(int, double);
-double ldexp(double, int);
-double lgamma(double);
-double log(double);
-double log10(double);
-double log1p(double);
-double logb(double);
-double modf(double, double*);
-double pow(double, double);
-double rint(double);
-double scalb(double, int);
-double sin(double);
-double sinh(double);
-double sqrt(double);
-double tan(double);
-double tanh(double);
-double y0(double);
-double y1(double);
-double yn(int, double);
-
-double aint(double);
-double anint(double);
-int irint(double);
-int nint(double);
-}
-
-
-
-/* libg++ doesn't use this since it is not available on some systems */
-
-/* the following ifdef is just for compiling OOPS */
-
-
-struct libm_exception
-{
- int type;
- char* name;
- double arg1, arg2, retval;
-};
-
-
-
-
-
-
-
-
-extern "C" int matherr(libm_exception*);
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/values.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 150 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/values.h"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 149 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/math.h" 2
-
-
-/* On some systems, HUGE ought to be MAXFLOAT or IEEE infinity */
-
-
-
-
-
-
-/* sequents don't supply these. The following should suffice */
-
-
-
-
-
-
-
-
-
-/* These seem to be sun & sysV names of these constants */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 33 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/builtin.h" 2
-
-
-typedef void (*one_arg_error_handler_t)(const char*);
-typedef void (*two_arg_error_handler_t)(const char*, const char*);
-
-long gcd(long, long);
-long lg(unsigned long);
-double pow(double, long);
-long pow(long, long);
-
-double start_timer();
-double return_elapsed_time(double last_time = 0.0);
-
-char* itoa(long x, int base = 10, int width = 0);
-char* itoa(unsigned long x, int base = 10, int width = 0);
-
-char* itoa(long long x, int base = 10, int width = 0);
-char* itoa(unsigned long long x, int base = 10, int width = 0);
-
-char* dtoa(double x, char cvt = 'g', int width = 0, int prec = 6);
-
-char* hex(long x, int width);
-char* hex(unsigned long x, int width);
-char* hex(int x, int width);
-char* hex(short x, int width);
-char* hex(unsigned int x, int width);
-char* hex(unsigned short x, int width);
-
-char* oct(long x, int width);
-char* oct(unsigned long x, int width);
-char* oct(int x, int width);
-char* oct(short x, int width);
-char* oct(unsigned int x, int width) ;
-char* oct(unsigned short x, int width);
-
-char* dec(long x, int width);
-char* dec(unsigned long x, int width);
-char* dec(int x, int width);
-char* dec(short x, int width);
-char* dec(unsigned int x, int width) ;
-char* dec(unsigned short x, int width);
-
-char* form(const char* fmt ...);
-char* chr(char ch, int width = 0);
-char* str(const char* s, int width = 0);
-
-unsigned int hashpjw(const char*);
-unsigned int multiplicativehash(int);
-unsigned int foldhash(double);
-
-extern void default_one_arg_error_handler(const char*);
-extern void default_two_arg_error_handler(const char*, const char*);
-
-extern two_arg_error_handler_t lib_error_handler;
-
-extern two_arg_error_handler_t
- set_lib_error_handler(two_arg_error_handler_t f);
-
-
-double abs(double arg);
-float abs(float arg);
-short abs(short arg);
-long abs(long arg);
-int sign(long arg);
-int sign(double arg);
-long sqr(long arg);
-double sqr(double arg);
-int even(long arg);
-int odd(long arg);
-long lcm(long x, long y);
-void setbit(long& x, long b);
-void clearbit(long& x, long b);
-int testbit(long x, long b);
-
-signed char min(signed char a, signed char b);
-unsigned char min(unsigned char a, unsigned char b);
-
-signed short min(signed short a, signed short b);
-unsigned short min(unsigned short a, unsigned short b);
-
-signed int min(signed int a, signed int b);
-unsigned int min(unsigned int a, unsigned int b);
-
-signed long min(signed long a, signed long b);
-unsigned long min(unsigned long a, unsigned long b);
-
-float min(float a, float b);
-
-double min(double a, double b);
-
-signed char max(signed char a, signed char b);
-unsigned char max(unsigned char a, unsigned char b);
-
-signed short max(signed short a, signed short b);
-unsigned short max(unsigned short a, unsigned short b);
-
-signed int max(signed int a, signed int b);
-unsigned int max(unsigned int a, unsigned int b);
-
-signed long max(signed long a, signed long b);
-unsigned long max(unsigned long a, unsigned long b);
-
-float max(float a, float b);
-
-double max(double a, double b);
-
-
-
-
-inline double abs(double arg)
-{
- return (arg < 0.0)? -arg : arg;
-}
-
-inline float abs(float arg)
-{
- return (arg < 0.0)? -arg : arg;
-}
-
-inline short abs(short arg)
-{
- return (arg < 0)? -arg : arg;
-}
-
-inline long abs(long arg)
-{
- return (arg < 0)? -arg : arg;
-}
-
-inline int sign(long arg)
-{
- return (arg == 0) ? 0 : ( (arg > 0) ? 1 : -1 );
-}
-
-inline int sign(double arg)
-{
- return (arg == 0.0) ? 0 : ( (arg > 0.0) ? 1 : -1 );
-}
-
-inline long sqr(long arg)
-{
- return arg * arg;
-}
-
-inline double sqr(double arg)
-{
- return arg * arg;
-}
-
-inline int even(long arg)
-{
- return !(arg & 1);
-}
-
-inline int odd(long arg)
-{
- return (arg & 1);
-}
-
-inline long lcm(long x, long y)
-{
- return x / gcd(x, y) * y;
-}
-
-inline void setbit(long& x, long b)
-{
- x |= (1 << b);
-}
-
-inline void clearbit(long& x, long b)
-{
- x &= ~(1 << b);
-}
-
-inline int testbit(long x, long b)
-{
- return ((x & (1 << b)) != 0);
-}
-
-
-
-
-//# 46 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine++.h" 2
-
-
-//# 65 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine++.h"
-
-
-// Take the nice stuff that the regular sumachine.h provides
-extern "C" {
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h" 1
-
-
-
-/*
- * Define a ``Standard Unix Machine''
- *
- * By whatever means are available in /lib/cpp, figure out
- * what type of operating system, maker, machine architecture
- * and architecture instance we are on.
- *
- * OPSYS_TYPE - the type of operating system (e.g. vms)
- * OPSYS_SUBTYPE - the subtype of operating system (e.g. bsd, sys5, etc)
- * OPSYS_MFR - the manufacturer (e.g. Hewlett-Packard)
- * OPSYS_VERS - the operating system version (e.g. sun 4.0)
- *
- * CPU_TYPE - the architecture (e.g. 68K)
- * CPU_MODEL - the architecture instance (e.g. 68010)
- *
- *
- * This file should be #included as the 1st line of each and every .c file
- *
- * It ensures that the environment which those src files expect exists
- * either by fiat or by faking it where the host operating system is not
- * up to snuff.
- */
-
-/*
- * The OPSYS specifics
- *
- * Parameterized with the best known /lib/cpp predefines
- */
-
-
-
-
-
-
-
-
-
-/*
- * Note that everyone defines the symbol unix except IBM's AIX 3.1
- * which doesn't define unix but DOES define the symbol _AIX
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*
- * WATCHOUT - the newer gcc doesn't define __GNU__
- * So we may have to define __GNU__ ourselves
- *
- * __GNU__ is the old way
- * __GNUC__ is the new way
- *
- * Use gcc -v somefile.c to determine what is being passed.
- */
-
-/*
- * GNU doesn't know about any opsys-specific
- * cpp tokens, so we must figure them out for it.
- * GNU does however know about architecture-tokens
- */
-//# 93 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-
-
-/* then if defined(vax) || defined(mips) */
-/* then if >= ultrix 4.2 => defined(__vax) || defined(__mips) */
-
-
-/*
- * gcc 1.39 uses the words mips and __mips__ while Ultrix 4.2 has
- * been coded in terms of __mips (only!) - so we have to hack it.
- *
- * See from Ultrix 4.2
- *
- * Unfortunately also, is turned on only if __STDC__
- * is undefined. gcc defines __STDC__ and you can't undef it. So
- * We are forced here (as with math.h) to copy and
- * strip off the #if !defined(__STDC__).
- *
- * Further unfortunateness occurs in that the only way we have of
- * discovering that we're in Ultrix 4.2 is to #include
- * and check for the vector unit support #defined there. However
- * we need the workarounds to be defined first in
- * order to get the full effect of .
- *
- * So we have to do all this stuff under any and all Ultrix versions.
- *
- * We also have to work around the fact that the GNU (gcc 1.95.0 and later)
- * compilers may be defining this stuff already
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* end of fakeout */
-
-
-/*
- * The r2000 and r3000 are indistinguishable (so far)
- */
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/sys/types.h" 1
-
-
-extern "C"
-{
-
-
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-//# 12 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h"
-
-//# 10 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/sys/types.h" 2
-
-
-
-
-
-//# 1 "/usr/include/sys/types.h" 1
-/* @(#)types.h 4.3 (ULTRIX) 2/28/91 */
-
-/************************************************************************
- * *
- * Copyright (c) 1984 - 1989 by *
- * Digital Equipment Corporation, Maynard, MA *
- * All rights reserved. *
- * *
- * This software is furnished under a license and may be used and *
- * copied only in accordance with the terms of such license and *
- * with the inclusion of the above copyright notice. This *
- * software or any other copies thereof may not be provided or *
- * otherwise made available to any other person. No title to and *
- * ownership of the software is hereby transferred. *
- * *
- * This software is derived from software received from the *
- * University of California, Berkeley, and from Bell *
- * Laboratories. Use, duplication, or disclosure is subject to *
- * restrictions under license agreements with University of *
- * California and with AT&T. *
- * *
- * The information in this software is subject to change without *
- * notice and should not be construed as a commitment by Digital *
- * Equipment Corporation. *
- * *
- * Digital assumes no responsibility for the use or reliability *
- * of its software on equipment which is not supplied by Digital. *
- * *
- ************************************************************************/
-
-/* ------------------------------------------------------------------------
- * Modification History: /sys/h/types.h
- *
- * 20-Dec-1989 Larry Scott
- * added #ifdef's for compliance
- *
- * 16-Jun-1989 Jon Reeves
- * size_t must be unsigned, per ANSI and X/Open
- *
- * 05-Jun-1989 Jon Reeves
- * Change latch name for size_t; it's in lots of headers.
- *
- * 12-May-1989 Todd M. Katz TMK0001
- * Added volatile type definitions: vu_long, vu_short, vu_char,
- * v_long, v_short, and v_char.
- *
- * 08-May-1989 -- Ken Lesniak
- * Conditionalize items also defined in time.h.
- *
- * 1-Feb-89 -- jmartin
- * typedef s_char
- *
- * 15-Jan-88 lp
- * Merge of final 43BSD changes.
- *
- * 31-August-1987 -- Mark Parenti
- * Add definitions needed for POSIX compliance
- *
- * 27-April-1987 -- Larry Cohen
- * Modify the typedef "fd_set" to accomodate 64 file descriptors.
- *
- * David L Ballenger, 8-Mar-1985
- * 0002 Add types for System V compatibility.
- *
- * 23 Oct 84 -- jrs
- * Add ifdef so we can be nested without problem
- * Derived from 4.2BSD, labeled:
- * types.h 6.2 84/06/09
- *
- * -----------------------------------------------------------------------
- */
-
-
-
-
-
-
-
-//# 1 "/usr/include/ansi_compat.h" 1
-/*
- * @(#)ansi_compat.h 4.4 (ULTRIX) 10/8/90
- */
-
-/************************************************************************
- * *
- * Copyright (c) 1990 by *
- * Digital Equipment Corporation, Maynard, MA *
- * All rights reserved. *
- * *
- * This software is furnished under a license and may be used and *
- * copied only in accordance with the terms of such license and *
- * with the inclusion of the above copyright notice. This *
- * software or any other copies thereof may not be provided or *
- * otherwise made available to any other person. No title to and *
- * ownership of the software is hereby transferred. *
- * *
- * The information in this software is subject to change without *
- * notice and should not be construed as a commitment by Digital *
- * Equipment Corporation. *
- * *
- * Digital assumes no responsibility for the use or reliability *
- * of its software on equipment which is not supplied by Digital. *
- * *
- ************************************************************************/
-
-/*
- * To avoid namespace pollution when using the ULTRIX header files under the
- * DEC ANSI compiler, all user-visible header files were modifed to reference
- * ANSI-style predefined macro name rather than their traditional names
- * (__ultrix vice ultrix). Every file which accesses a predefined macro name
- * must include this file before any other files are included or the macros
- * are tested.
- *
- * In strict ANSI mode, the appropriate ANSI-style macros are already
- * defined and the redefinitions in this file will not be seen. When using
- * pcc, the traditional macro names are defined and this file will define
- * ANSI-style equivalents of the traditional names. When using the DEC C
- * compiler, both the traditional and ANSI predefined macro names are
- * available so the definitions in this file are not made visible.
- *
- */
-
-
-//# 116 "/usr/include/ansi_compat.h"
-
-//# 79 "/usr/include/sys/types.h" 2
-
-
-
-
-/*
- * Basic system types and major/minor device constructing/busting macros.
- */
-
-/* major part of a device */
-
-
-/* minor part of a device */
-
-
-/* make a device number */
-
-
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned int uint; /* sys V compatibility */
-typedef unsigned long u_long;
-typedef unsigned short ushort; /* sys III compat */
-
-typedef volatile char v_char;
-typedef volatile short v_short;
-typedef volatile long v_long;
-typedef volatile unsigned char vu_char;
-typedef volatile unsigned short vu_short;
-typedef volatile unsigned long vu_long;
-
-typedef
-
- signed
-
- char s_char;
-
-
-
-
-
-
-
-
-
-typedef struct _physadr { int r[1]; } *physadr;
-/*
- * WARNING:
- * this must match the definition of kernel jmpbuf's in machine/pcb.h
- */
-typedef struct label_t {
- int val[12];
-} label_t;
-
-
-typedef struct _quad { long val[2]; } quad;
-typedef long daddr_t;
-typedef char * caddr_t;
-typedef u_long gno_t;
-typedef short cnt_t; /* sys V compatibility */
-typedef long swblk_t;
-typedef long paddr_t; /* sys V compatibility */
-typedef long audit_ID_t;
-
-
-typedef short dev_t;
-typedef short gid_t; /* POSIX compliance */
-typedef unsigned long ino_t;
-typedef unsigned short mode_t; /* POSIX compliance */
-typedef short nlink_t; /* POSIX compliance */
-typedef int off_t;
-
-
-typedef int pid_t; /* POSIX compliance */
-
-typedef short uid_t; /* POSIX compliance */
-
-
-typedef int time_t;
-
-
-
-
-
-
-
-
-
-typedef int clock_t; /* POSIX compliance */
-
-typedef long key_t; /* sys V compatibility */
-
-
-
-
-/*
- * The maximum number of file descriptors is now a configurable option
- * (max_nofile variable in /sys/conf/{mips|vax}/param.c).
- * The getdtablesize(2) system call should be used to obtain the
- * current limit. The value returned by getdtablesize() must be greater
- * than 64, and less than or equal to MAX_NOFILE in types.h . The
- * MAX_NOFILE define is needed for backward compatability with broken
- * programs that need a static sized array for selecting. These programs
- * should be modified to use the getdtablesize() interface for sizing.
- */
-
-
-/*
- * Select uses bit masks of file descriptors in longs.
- * These macros manipulate such bit fields (the filesystem macros use chars).
- * FD_SETSIZE may be defined by the user, but the default here
- * should be >= NOFILE (param.h).
- */
-
-
-
-
-/* How many things we'll allow select to use. 0 if unlimited */
-
-typedef long fd_mask;
-
-
-
-
-
-
-typedef struct fd_set {
- fd_mask fds_bits[(((4096 )+(( (sizeof(fd_mask) * 8 ) )-1))/( (sizeof(fd_mask) * 8 ) )) ];
-} fd_set;
-
-
-
-
-
-
-
-
-//# 15 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/sys/types.h" 2
-
-
-
-
-
-
-}
-
-
-
-
-//# 199 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/signal.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1989 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-extern "C" {
-
-
-
-
-//# 1 "/usr/include/signal.h" 1
-/* @(#)signal.h 2.8 (ULTRIX) 11/9/89 */
-
-/************************************************************************
- * *
- * Copyright (c) 1987-1989 by *
- * Digital Equipment Corporation, Maynard, MA *
- * All rights reserved. *
- * *
- * This software is furnished under a license and may be used and *
- * copied only in accordance with the terms of such license and *
- * with the inclusion of the above copyright notice. This *
- * software or any other copies thereof may not be provided or *
- * otherwise made available to any other person. No title to and *
- * ownership of the software is hereby transferred. *
- * *
- * This software is derived from software received from the *
- * University of California, Berkeley, and from Bell *
- * Laboratories. Use, duplication, or disclosure is subject to *
- * restrictions under license agreements with University of *
- * California and with AT&T. *
- * *
- * The information in this software is subject to change without *
- * notice and should not be construed as a commitment by Digital *
- * Equipment Corporation. *
- * *
- * Digital assumes no responsibility for the use or reliability *
- * of its software on equipment which is not supplied by Digital. *
- * *
- ************************************************************************/
-/************************************************************************
- * Modification History *
- * *
- * Debby Haeck 11/14/90 *
- * added new Vector Arithmetic Exception handling codes *
- * Debby Haeck 9/4/90 *
- * added new u_code for vector support *
- * ILL_VECOP_FAULT, ILL_VECINST_FAULT, TERM_VECT_HARD and *
- * TERM_VECT_TOOMANY *
- * Tak Yin Wong 3/390 *
- * Add ifdef's for POSIX and XOPEN *
- * Linda Wilson 9/12/89 *
- * typedef sigset_t for X/OPEN *
- * Linda Wilson 9/12/89 *
- * ifdef out sigmask for POSIX *
- * Jon Reeves 7/14/89 *
- * Add X/Open mandated function declarations. *
- * Jon Reeves 5/16/89 *
- * Add new BRK_STACKOVERFLOW def from MIPS 2.0 cmplrs *
- * Jon Reeves 5/12/89 *
- * Add raise() and sig_atomic_t for ANSI *
- * Mark Parenti 2/06/88 *
- * Change SA_CLDSTOP to SA_NOCLDSTOP per POSIX change *
- * Fred Glover 1/12/88 *
- * Add SIGLOST - server crash Sys-V lock notification *
- * *
- * Larry Cohen 10/1/85 *
- * Add SIGWINCH - window change signal *
- * *
- * Greg Depp 25 Jun 85 *
- * Moved SIGUSR1 and SIGUSR2 to 30 and 31 to conform with Berkeley *
- * *
- * David L Ballenger, 28-Mar-1985 *
- * 0001 Add definitions for System V compatibility *
- * *
- ************************************************************************/
-
-
-
-
-
-
-
-
-//# 1 "/usr/include/ansi_compat.h" 1
-/*
- * @(#)ansi_compat.h 4.4 (ULTRIX) 10/8/90
- */
-
-/************************************************************************
- * *
- * Copyright (c) 1990 by *
- * Digital Equipment Corporation, Maynard, MA *
- * All rights reserved. *
- * *
- * This software is furnished under a license and may be used and *
- * copied only in accordance with the terms of such license and *
- * with the inclusion of the above copyright notice. This *
- * software or any other copies thereof may not be provided or *
- * otherwise made available to any other person. No title to and *
- * ownership of the software is hereby transferred. *
- * *
- * The information in this software is subject to change without *
- * notice and should not be construed as a commitment by Digital *
- * Equipment Corporation. *
- * *
- * Digital assumes no responsibility for the use or reliability *
- * of its software on equipment which is not supplied by Digital. *
- * *
- ************************************************************************/
-
-/*
- * To avoid namespace pollution when using the ULTRIX header files under the
- * DEC ANSI compiler, all user-visible header files were modifed to reference
- * ANSI-style predefined macro name rather than their traditional names
- * (__ultrix vice ultrix). Every file which accesses a predefined macro name
- * must include this file before any other files are included or the macros
- * are tested.
- *
- * In strict ANSI mode, the appropriate ANSI-style macros are already
- * defined and the redefinitions in this file will not be seen. When using
- * pcc, the traditional macro names are defined and this file will define
- * ANSI-style equivalents of the traditional names. When using the DEC C
- * compiler, both the traditional and ANSI predefined macro names are
- * available so the definitions in this file are not made visible.
- *
- */
-
-
-//# 116 "/usr/include/ansi_compat.h"
-
-//# 74 "/usr/include/signal.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /* absent or non-vector capable sys */
-/* CHME, CHMS, CHMU are not yet given back to users reasonably */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* the following are used to for Vector Arithmetic Exception handling */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* Add System V signal definitions (DLB001) */
-
-
-
-
-
-
-
-/*
- * Codes for the mips break instruction.
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* Accesses to sig_atomic_t are atomic, even with async interrupts.
- Not an issue for us, but ANSI requires the definition. */
-typedef long sig_atomic_t;
-typedef int sigset_t; /* type used for sigsetops() functions */
-
-
-/*
- * Signal vector "template" used in sigvec call.
- */
-struct sigvec {
- void (*sv_handler)(); /* signal handler */
- sigset_t sv_mask; /* signal mask to apply */
- int sv_flags; /* see signal options below */
-};
-
-
-/*
- * The following structure must be exactly the same as the above structure
- * with the names changed for POSIX compliance.
- */
-struct sigaction {
- void (*sa_handler)(); /* signal handler */
- sigset_t sa_mask; /* signal mask to apply */
- int sa_flags; /* see signal options below */
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* Defines for sigprocmask() call. POSIX.
- */
-
-
-
-
-
-
-/*
- * Structure used in sigstack call.
- */
-struct sigstack {
- char *ss_sp; /* signal stack pointer */
- int ss_onstack; /* current status */
-};
-
-/*
- * Information pushed on stack when a signal is delivered.
- * This is used by the kernel to restore state following
- * execution of the signal handler. It is also made available
- * to the handler to allow it to properly restore state if
- * a non-standard exit is performed.
- *
-//#ifdef __vax
- * XXX - sigcontext needs updating per 4.3BSD - rr
- *
-//#endif __vax
-//#ifdef __mips
- * WARNING: THE sigcontext MUST BE KEPT CONSISTENT WITH /usr/include/setjmp.h
- * AND THE LIBC ROUTINES setjmp() AND longjmp()
-//#endif __mips
- */
-struct sigcontext {
-
- /*
- * BEGIN REGION THAT MUST CORRESPOND WITH setjmp.h
- * BEGIN REGION THAT MUST CORRESPOND WITH A jmp_buf
- */
-
- int sc_onstack; /* sigstack state to restore */
- int sc_mask; /* signal mask to restore */
-
-
-
-
-
-
- int sc_pc; /* pc at time of signal */
- /*
- * General purpose registers
- */
- int sc_regs[32]; /* processor regs 0 to 31 */
- int sc_mdlo; /* mul/div low */
- int sc_mdhi; /* mul/div high */
- /*
- * Floating point coprocessor state
- */
- int sc_ownedfp; /* fp has been used */
- int sc_fpregs[32]; /* fp regs 0 to 31 */
- int sc_fpc_csr; /* floating point control and status reg */
- int sc_fpc_eir; /* floating point exception instruction reg */
- /*
- * END OF REGION THAT MUST AGREE WITH setjmp.h
- * END OF jmp_buf REGION
- */
- /*
- * System coprocessor registers at time of signal
- */
- int sc_cause; /* cp0 cause register */
- int sc_badvaddr; /* cp0 bad virtual address */
- int sc_badpaddr; /* cpu bd bad physical address */
-
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*
- * prototypes
- *
- */
-extern void (*signal(int __sig, void(*__func)(int)))(int);
-int raise( int __sig );
-int kill( pid_t __pid, int __sig );
-int sigemptyset( sigset_t *__set );
-int sigfillset( sigset_t *__set );
-int sigaddset( sigset_t *__set, int __signo );
-int sigdelset( sigset_t *__set, int __signo );
-int sigismember( const sigset_t *__set, int __signo );
-int sigaction( int __sig, const struct sigaction *__act,
- struct sigaction *__oact );
-int sigprocmask( int __how, const sigset_t *__set, sigset_t *__oset );
-int sigpending( sigset_t *__set );
-int sigsuspend( const sigset_t *__sigmask );
-
-
-
-
-
-
-
-
-
-
-
-/*
- * Macro for converting signal number to a mask suitable for
- * sigblock().
- */
-
-
-
-
-
-
-//# 26 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/signal.h" 2
-
-
-
-
-// The Interviews folks call this SignalHandler. Might as well conform.
-// Beware: some systems think that SignalHandler returns int.
-typedef void (*SignalHandler) (int);
-
-extern SignalHandler signal(int sig, SignalHandler action);
-extern SignalHandler sigset(int sig, SignalHandler action);
-extern SignalHandler ssignal(int sig, SignalHandler action);
-extern int gsignal (int sig);
-extern int kill (int pid, int sig);
-extern int killpg(int, int);
-extern int siginterrupt(int, int);
-extern void psignal(unsigned, char*);
-
-
-extern int sigsetmask(int mask);
-extern int sigblock(int mask);
-extern int sigpause(int mask);
-extern int sigvec(int sig, struct sigvec* v, struct sigvec* prev);
-
-
-// The Interviews version also has these ...
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-//# 200 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h" 2
-
-
-/*
- * Note that in Ultrix 4.2 renames all of the
- * previously-predefined cpp names to __names. Also there is
- * new support for vector processors - TERM_VECT_HARD etc.
- */
-
-//# 244 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-//# 263 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-//# 283 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-/* { */
-//# 298 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-//# 319 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-//# 328 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-//# 345 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 387 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-
-
-
-
-
-/*
- * THE CPU specifics
- *
- * Parameterized with the best known /lib/cpp predefines
- * Set up for a middle-of-the-road machine.
- */
-
-/*
- * DECstation Processor
- * 2100 R2000 (slower clock)
- * 3100 R2000
- * 5000 R3000
- * 5400 R3000
- * ???? R6000
- */
-/*
- * We might be on the R3000 machine, but there is really
- * no way of distinguishing that from the src-code level.
- * The GNU people define some stuff, but its usually wrong.
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 453 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-
-
-
-
-
-
-
-//# 471 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 512 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-/* will we be porting to this? */
-//# 522 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-//# 537 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-/*
- * The following MUST be literals else /lib/cpp cannot do
- * == operations on them. Remember cpp does strcmps, not MATH
- *
- * OPSYS_TYPE
- *
- * #if OPSYS_TYPE == MD_opsystype
- * #endif
- */
-
-
-
-
-
-
-/*
- * OPSYS_SUBTYPE
- *
- * #if OPSYS_SUBTYPE == MD_opsyssubtype
- * #endif
- */
-
-
-
-
-
-
-
-
-
-
-
-/*
- * OPSYS_MFR
- *
- * #if OPSYS_MFR == MD_opsysmfr
- * #endif
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*
- * OPSYS_VERS
- *
- * #if OPSYS_VERS == MD_opsysvers
- * #endif
- * #if OPSYS_MFR == MD_opsysmfr && OPSYS_VERS <= MD_opsysvers
- * #endif
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*
- * CPU_TYPE
- *
- * #if CPU_TYPE == MD_cputype
- * #endif
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*
- * CPU_MODEL
- *
- * #if CPU_MODEL == MD_modelname
- * #endif
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* don't add this stuff in if the query program display.sh is being run */
-
-//# 1754 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine.h"
-
-
-
-
-
-//# 69 "/sandbox/wbaker/wbaker0/source/mips/include/sumachine++.h" 2
-
-}
-
-// Always turn this stuff on b/c otherwise nothing works
-
-
-
-
-
-//# 1 "GctNameRef.List.cc" 2
-
-//# 1 "../../../../mips/include/Gct/genclasses.h" 1
-// -*- C++ -*-
-
-
-
-//
-// genclasses - The GNU Container Classes
-//
-// Expects to be included by Gct.h or where appropriate
-// especially before any genclass class headerfile is included.
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-// Make sure that we get all of the inline functions too but prevent duplicate
-// definition warnings.
-
-
-
-
-
-
-
-
-
-
-//
-// Turn off the definitions of these hash functions
-//
-// unsigned hash(GctAstRef&)
-//
-// So that the following will match and be used instead:
-//
-// unsigned hash(GctRef&)
-//
-// The idea is to not allow the various header files to
-// create (say) ``unsigned hash(GctAstRef&)'' but to use
-// ``hash(x)'' for the hash function anyway. We just want
-// the hash() function used to be ``unsigned hash(GctRef&)''
-//
-
-
-//# 1 "../../../../mips/include/Gct/Reference.h" 1
-// -*- C++ -*-
-
-
-
-//
-// Classes:
-// GctRef
-// GctReferenceObject
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "../../../../mips/include/Gct/Reference/GctReferenceCount.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctReferenceCount class
-//
-// Expects to be included by Gct/Reference.h
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-
-
-//# 25 "../../../../mips/include/Gct/Reference/GctReferenceCount.h" 2
-
-
-//# 1 "../../../../mips/include/Gct/GctErrorHandler.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctErrorHandler class
-//
-// Expects to be included by Gct.h
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 25 "../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stream.h" 1
-
-
-
-// Compatibility with old library.
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-
-//#pragma interface
-
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/streambuf.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-
-
-//#pragma interface
-
-
-/* KLUDGES!! */
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h" 1
-//# 12 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stddef.h"
-
-//# 25 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/streambuf.h" 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class ostream; class streambuf;
-
-typedef long streamoff, streampos;
-
-struct _ios_fields { // The data members of an ios.
- streambuf *_strbuf;
- ostream* _tie;
- long _width;
- unsigned long _flags;
- char _fill;
- unsigned char _state;
- unsigned short _precision;
-};
-
-
-enum state_value { _good = 0, _eof = 1, _fail = 2, _bad = 4 };
-
-
-class ios : public _ios_fields {
- public:
- enum io_state { goodbit=0, eofbit=1, failbit=2, badbit=4 };
- enum open_mode {
- in=1,
- out=2,
- ate=4,
- app=8,
- trunc=16,
- nocreate=32,
- noreplace=64 };
- enum seek_dir { beg, cur, end};
- enum { skipws=01, left=02, right=04, internal=010,
- dec=020, oct=040, hex=0100,
- showbase=0200, showpoint=0400, uppercase=01000, showpos=02000,
- scientific=04000, fixed=0100000, unitbuf=020000, stdio=040000,
- dont_close=0x80000000 //Don't close streambuf when destroying stream
- };
-
- ostream* tie() { return _tie; }
- ostream* tie(ostream* val) { ostream* save=_tie; _tie=val; return save; }
-
- // Methods to change the format state.
- char fill() { return _fill; }
- char fill(char newf) { char oldf = _fill; _fill = newf; return oldf; }
- unsigned long flags() { return _flags; }
- unsigned long flags(unsigned long new_val) {
- unsigned long old_val = _flags; _flags = new_val; return old_val; }
- unsigned short precision() { return _precision; }
- unsigned short precision(int newp) {
- unsigned short oldp = _precision; _precision = (unsigned short)newp;
- return oldp; }
- unsigned long setf(unsigned long val) {
- unsigned long oldbits = _flags;
- _flags |= val; return oldbits; }
- unsigned long setf(unsigned long val, unsigned long mask) {
- unsigned long oldbits = _flags;
- _flags = (_flags & ~mask) | (val & mask); return oldbits; }
- unsigned long unsetf(unsigned long mask) {
- unsigned long oldbits = _flags & mask;
- _flags &= ~mask; return oldbits; }
- long width() { return _width; }
- long width(long val) { long save = _width; _width = val; return save; }
-
- static const unsigned long basefield;
- static const unsigned long adjustfield;
- static const unsigned long floatfield;
-
- streambuf* rdbuf() { return _strbuf; }
- void clear(int state = 0) { _state = state; }
- int good() { return _state == 0; }
- int eof() { return _state & ios::eofbit; }
- int fail() { return _state & (ios::badbit|ios::failbit); }
- int bad() { return _state & ios::badbit; }
- int rdstate() { return _state; }
- void set(int flag) { _state |= flag; }
- operator void*() { return fail() ? (void*)0 : (void*)this; }
- int operator!() { return fail(); }
-
-
- void unset(state_value flag) { _state &= ~flag; }
- void close();
- int is_open();
- int readable();
- int writable();
-
-
- protected:
- ios(streambuf*sb) { _strbuf=sb; _state=0; _width=0; _fill=' ';
- _flags=ios::skipws; _precision=6; }
-};
-
-
-
-
-typedef ios::seek_dir _seek_dir;
-
-
-// Magic numbers and bits for the _flags field.
-// The magic numbers use the high-order bits of _flags;
-// the remaining bits are abailable for variable flags.
-// Note: The magic numbers must all be negative if stdio
-// emulation is desired.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct __streambuf {
- // NOTE: If this is changed, also change __FILE in stdio/stdio.h!
- int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
- char* _gptr; /* Current get pointer */
- char* _egptr; /* End of get area. */
- char* _eback; /* Start of putback+get area. */
- char* _pbase; /* Start of put area. */
- char* _pptr; /* Current put pointer. */
- char* _epptr; /* End of put area. */
- char* _base; /* Start of reserve area. */
- char* _ebuf; /* End of reserve area. */
- struct streambuf *_chain;
-};
-
-struct streambuf : private __streambuf {
- friend class ios;
- friend class istream;
- friend class ostream;
- protected:
- static streambuf* _list_all; /* List of open streambufs. */
- streambuf*& xchain() { return _chain; }
- void _un_link();
- void _link_in();
- char* gptr() const { return _gptr; }
- char* pptr() const { return _pptr; }
- char* egptr() const { return _egptr; }
- char* epptr() const { return _epptr; }
- char* pbase() const { return _pbase; }
- char* eback() const { return _eback; }
- char* ebuf() const { return _ebuf; }
- char* base() const { return _base; }
- void xput_char(char c) { *_pptr++ = c; }
- int xflags() { return _flags; }
- int xflags(int f) { int fl = _flags; _flags = f; return fl; }
- void xsetflags(int f) { _flags |= f; }
- void gbump(int n) { _gptr += n; }
- void pbump(int n) { _pptr += n; }
- void setb(char* b, char* eb, int a=0);
- void setp(char* p, char* ep) { _pbase=_pptr=p; _epptr=ep; }
- void setg(char* eb, char* g, char *eg) { _eback=eb; _gptr=g; _egptr=eg; }
- public:
- static int flush_all();
- static void flush_all_linebuffered(); // Flush all line buffered files.
- virtual int underflow(); // Leave public for now
- virtual int overflow(int c = (-1) ); // Leave public for now
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
- int sputbackc(char c);
- int sungetc();
- streambuf();
- virtual ~streambuf();
- int unbuffered() { return _flags & 2 ? 1 : 0; }
- int linebuffered() { return _flags & 0x4000 ? 1 : 0; }
- void unbuffered(int i)
- { if (i) _flags |= 2 ; else _flags &= ~2 ; }
- void linebuffered(int i)
- { if (i) _flags |= 0x4000 ; else _flags &= ~0x4000 ; }
- int allocate() {
- if (base() || unbuffered()) return 0;
- else return doallocate(); }
- virtual int sync();
- virtual int pbackfail(int c);
- virtual int ungetfail();
- virtual streambuf* setbuf(char* p, int len);
- int in_avail() { return _egptr - _gptr; }
- int out_waiting() { return _pptr - _pbase; }
- virtual int sputn(const char* s, int n);
- virtual int sgetn(char* s, int n);
- long sgetline(char* buf, size_t n, char delim, int putback_delim);
- int sbumpc() {
- if (_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr++; }
- int sgetc() {
- if (_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr; }
- int snextc() {
- if (++_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr; }
- int sputc(int c) {
- if (_pptr >= _epptr) return overflow(c);
- return *_pptr++ = c, (unsigned char)c; }
- int vscan(char const *fmt0, char* ap);
- int vform(char const *fmt0, char* ap);
-};
-
-struct __file_fields {
- char _fake;
- char _shortbuf[1];
- short _fileno;
- int _blksize;
- char* _save_gptr;
- char* _save_egptr;
- long _offset;
-};
-
-class filebuf : public streambuf {
- struct __file_fields _fb;
- void init();
- public:
- filebuf();
- filebuf(int fd);
- filebuf(int fd, char* p, int len);
- ~filebuf();
- filebuf* attach(int fd);
- filebuf* open(const char *filename, const char *mode);
- filebuf* open(const char *filename, int mode, int prot = 0664);
- virtual int underflow();
- virtual int overflow(int c = (-1) );
- int is_open() { return _fb._fileno >= 0; }
- int fd() { return is_open() ? _fb._fileno : (-1) ; }
- filebuf* close();
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- int sputn(const char* s, int n);
- int sgetn(char* s, int n);
- protected: // See documentation in filebuf.C.
- virtual int pbackfail(int c);
- virtual int sync();
- int is_reading() { return eback() != egptr(); }
- char* cur_ptr() { return is_reading() ? gptr() : pptr(); }
- /* System's idea of pointer */
- char* file_ptr() { return _fb._save_gptr ? _fb._save_egptr : egptr(); }
- int do_flush();
- // Low-level operations (Usually invoke system calls.)
- virtual int sys_read(char* buf, size_t size);
- virtual long sys_seek(long , _seek_dir);
- virtual long sys_write(const void*, long);
- virtual int sys_stat(void*); // Actually, a (struct stat*)
- virtual int sys_close();
-};
-
-
-inline int ios::readable() { return rdbuf()->_flags & 4 ; }
-inline int ios::writable() { return rdbuf()->_flags & 8 ; }
-inline int ios::is_open() {return rdbuf()->_flags & 4 +8 ;}
-
-
-
-
-//# 25 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 2
-
-
-class istream; class ostream;
-typedef istream& (*__imanip)(istream&);
-typedef ostream& (*__omanip)(ostream&);
-
-extern istream& ws(istream& ins);
-extern ostream& flush(ostream& outs);
-extern ostream& endl(ostream& outs);
-extern ostream& ends(ostream& outs);
-
-class ostream : public ios
-{
- void do_osfx();
- public:
- ostream();
- ostream(streambuf* sb, ostream* tied=0 );
- ~ostream();
-
- int opfx() { if (!good()) return 0; if (_tie) _tie->flush(); return 1; }
- void osfx() { if (flags() & (ios::unitbuf|ios::stdio))
- do_osfx(); }
- streambuf* ostreambuf() const { return _strbuf; }
- ostream& flush();
- ostream& put(char c);
- ostream& write(const char *s, int n);
- ostream& write(const unsigned char *s, int n) { return write((char*)s, n);}
- ostream& write(const void *s, int n) { return write((char*)s, n);}
- ostream& seekp(streampos);
- ostream& seekp(streamoff, _seek_dir);
- streampos tellp();
- ostream& form(const char *format ...);
- ostream& vform(const char *format, char* args);
-};
-
-ostream& operator<<(ostream&, char c);
-ostream& operator<<(ostream& os, unsigned char c) { return os << (char)c; }
-//ostream& operator<<(ostream &os, signed char c) { return os << (char)c; }
-extern ostream& operator<<(ostream&, const char *s);
-inline ostream& operator<<(ostream& os, const unsigned char *s)
-{ return os << (const char*)s; }
-//inline ostream& operator<<(ostream& os, const signed char *s)
-//{ return os << (const char*)s; }
-ostream& operator<<(ostream&, void *p);
-ostream& operator<<(ostream&, int n);
-ostream& operator<<(ostream&, long n);
-ostream& operator<<(ostream&, unsigned int n);
-ostream& operator<<(ostream&, unsigned long n);
-ostream& operator<<(ostream& os, short n) {return os << (int)n;}
-ostream& operator<<(ostream& os, unsigned short n)
-{return os << (unsigned int)n;}
-ostream& operator<<(ostream&, float n);
-ostream& operator<<(ostream&, double n);
-ostream& operator<<(ostream& os, __omanip func) { return (*func)(os); }
-ostream& operator<<(ostream&, streambuf*);
-
-class istream : public ios
-{
- size_t _gcount;
- public:
- istream();
- istream(streambuf* sb, ostream*tied=0 );
- ~istream();
- streambuf* istreambuf() const { return _strbuf; }
- istream& get(char& c);
- istream& get(unsigned char& c);
- istream& read(char *ptr, int n);
- istream& read(unsigned char *ptr, int n) { return read((char*)ptr, n); }
- istream& read(void *ptr, int n) { return read((char*)ptr, n); }
- int get() { return _strbuf->sbumpc(); }
- istream& getline(char* ptr, int len, char delim = '\n');
- istream& get(char* ptr, int len, char delim = '\n');
- istream& gets(char **s, char delim = '\n');
- int ipfx(int need) {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && (need == 0 || rdbuf()->in_avail())) ; /* THIS IS BAD */
- if (!need && (flags() & ios::skipws) && !ws(*this)) return 0;
- return 1;
- }
- int ipfx0() { // Optimized version of ipfx(0).
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie) _tie->flush();
- if ((flags() & ios::skipws) && !ws(*this)) return 0;
- return 1;
- }
- int ipfx1() { // Optimized version of ipfx(1).
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && rdbuf()->in_avail() == 0) _tie->flush();
- return 1;
- }
- size_t gcount() { return _gcount; }
- istream& seekg(streampos);
- istream& seekg(streamoff, _seek_dir);
- streampos tellg();
- istream& putback(char ch) {
- if (good() && _strbuf->sputbackc(ch) == (-1) ) clear(ios::badbit);
- return *this;}
- istream& unget() {
- if (good() && _strbuf->sungetc() == (-1) ) clear(ios::badbit);
- return *this;}
-
- istream& unget(char ch) { return putback(ch); }
- int skip(int i);
-
-};
-
-istream& operator>>(istream&, char*);
-istream& operator>>(istream& is, unsigned char* p) { return is >> (char*)p; }
-//istream& operator>>(istream& is, signed char* p) { return is >> (char*)p; }
-istream& operator>>(istream&, char& c);
-istream& operator>>(istream&, unsigned char& c);
-//istream& operator>>(istream&, signed char& c);
-istream& operator>>(istream&, int&);
-istream& operator>>(istream&, long&);
-istream& operator>>(istream&, short&);
-istream& operator>>(istream&, unsigned int&);
-istream& operator>>(istream&, unsigned long&);
-istream& operator>>(istream&, unsigned short&);
-istream& operator>>(istream&, float&);
-istream& operator>>(istream&, double&);
-istream& operator>>(istream& is, __imanip func) { return (*func)(is); }
-
-class iostream : public ios {
- size_t _gcount;
- public:
- iostream();
- operator istream&() { return *(istream*)this; }
- operator ostream&() { return *(ostream*)this; }
- ~iostream();
- // NOTE: These duplicate istream methods.
- istream& get(char& c) { return ((istream*)this)->get(c); }
- istream& get(unsigned char& c) { return ((istream*)this)->get(c); }
- istream& read(char *ptr, int n) { return ((istream*)this)->read(ptr, n); }
- istream& read(unsigned char *ptr, int n)
- { return ((istream*)this)->read((char*)ptr, n); }
- istream& read(void *ptr, int n)
- { return ((istream*)this)->read((char*)ptr, n); }
- int get() { return _strbuf->sbumpc(); }
- istream& getline(char* ptr, int len, char delim = '\n')
- { return ((istream*)this)->getline(ptr, len, delim); }
- istream& get(char* ptr, int len, char delim = '\n')
- { return ((istream*)this)->get(ptr, len, delim); }
- istream& gets(char **s, char delim = '\n')
- { return ((istream*)this)->gets(s, delim); }
- int ipfx(int need) { return ((istream*)this)->ipfx(need); }
- int ipfx0() { return ((istream*)this)->ipfx0(); }
- int ipfx1() { return ((istream*)this)->ipfx1(); }
- size_t gcount() { return _gcount; }
- istream& putback(char ch) { return ((istream*)this)->putback(ch); }
- istream& unget() { return ((istream*)this)->unget(); }
- istream& seekg(streampos pos) { return ((istream*)this)->seekg(pos); }
- istream& seekg(streamoff off, _seek_dir dir)
- { return ((istream*)this)->seekg(off, dir); }
- streampos tellg() { return ((istream*)this)->tellg(); }
-
- istream& unget(char ch) { return putback(ch); }
-
-
- // NOTE: These duplicate ostream methods.
- int opfx() { return ((ostream*)this)->opfx(); }
- void osfx() { ((ostream*)this)->osfx(); }
- ostream& flush() { return ((ostream*)this)->flush(); }
- ostream& put(char c) { return ((ostream*)this)->put(c); }
- ostream& write(const char *s, int n)
- { return ((ostream*)this)->write(s, n); }
- ostream& write(const unsigned char *s, int n)
- { return ((ostream*)this)->write((char*)s, n); }
- ostream& write(const void *s, int n)
- { return ((ostream*)this)->write((char*)s, n); }
- ostream& form(const char *format ...);
- ostream& vform(const char *format, char* args)
- { return ((ostream*)this)->vform(format, args); }
- ostream& seekp(streampos pos) { return ((ostream*)this)->seekp(pos); }
- ostream& seekp(streamoff off, _seek_dir dir)
- { return ((ostream*)this)->seekp(off, dir); }
- streampos tellp() { return ((ostream*)this)->tellp(); }
-};
-
-extern istream cin;
-extern ostream cout, cerr, clog; // clog->rdbuf() == cerr->rdbuf()
-
-inline ostream& ostream::put(char c) { _strbuf->sputc(c); return *this; }
-
-struct Iostream_init { } ; // Compatibility hack for AT&T libraray.
-
-
-//# 7 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/stream.h" 2
-
-
-extern char* form(char*, ...);
-
-extern char* dec(long, int=0);
-extern char* dec(int, int=0);
-extern char* dec(unsigned long, int=0);
-extern char* dec(unsigned int, int=0);
-
-extern char* hex(long, int=0);
-extern char* hex(int, int=0);
-extern char* hex(unsigned long, int=0);
-extern char* hex(unsigned int, int=0);
-
-extern char* oct(long, int=0);
-extern char* oct(int, int=0);
-extern char* oct(unsigned long, int=0);
-extern char* oct(unsigned int, int=0);
-
-inline istream& WS(istream& str) { return ws(str); }
-
-
-//# 26 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/Regex.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-
-
-
-//#pragma interface
-
-
-
-
-
-
-
-
-
-struct re_pattern_buffer; // defined elsewhere
-struct re_registers;
-
-class Regex
-{
-private:
-
- Regex(const Regex&) {} // no X(X&)
- void operator = (const Regex&) {} // no assignment
-
-protected:
- re_pattern_buffer* buf;
- re_registers* reg;
-
-public:
- Regex(const char* t,
- int fast = 0,
- int bufsize = 40,
- const char* transtable = 0);
-
- ~Regex();
-
- int match(const char* s, int len, int pos = 0) const;
- int search(const char* s, int len,
- int& matchlen, int startpos = 0) const;
- int match_info(int& start, int& length, int nth = 0) const;
-
- int OK() const; // representation invariant
-};
-
-// some built in regular expressions
-
-extern const Regex RXwhite; // = "[ \n\t\r\v\f]+"
-extern const Regex RXint; // = "-?[0-9]+"
-extern const Regex RXdouble; // = "-?\\(\\([0-9]+\\.[0-9]*\\)\\|
- // \\([0-9]+\\)\\|\\(\\.[0-9]+\\)\\)
- // \\([eE][---+]?[0-9]+\\)?"
-extern const Regex RXalpha; // = "[A-Za-z]+"
-extern const Regex RXlowercase; // = "[a-z]+"
-extern const Regex RXuppercase; // = "[A-Z]+"
-extern const Regex RXalphanum; // = "[0-9A-Za-z]+"
-extern const Regex RXidentifier; // = "[A-Za-z_][A-Za-z0-9_]*"
-
-
-
-//# 27 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h" 2
-
-
-struct StrRep // internal String representations
-{
- unsigned short len; // string length
- unsigned short sz; // allocated space
- char s[1]; // the string starts here
- // (at least 1 char for trailing null)
- // allocated & expanded via non-public fcts
-};
-
-// primitive ops on StrReps -- nearly all String fns go through these.
-
-StrRep* Salloc(StrRep*, const char*, int, int);
-StrRep* Scopy(StrRep*, StrRep*);
-StrRep* Sresize(StrRep*, int);
-StrRep* Scat(StrRep*, const char*, int, const char*, int);
-StrRep* Scat(StrRep*, const char*, int,const char*,int, const char*,int);
-StrRep* Sprepend(StrRep*, const char*, int);
-StrRep* Sreverse(StrRep*, StrRep*);
-StrRep* Supcase(StrRep*, StrRep*);
-StrRep* Sdowncase(StrRep*, StrRep*);
-StrRep* Scapitalize(StrRep*, StrRep*);
-
-// These classes need to be defined in the order given
-
-class String;
-class SubString;
-
-class SubString
-{
- friend class String;
-protected:
-
- String& S; // The String I'm a substring of
- unsigned short pos; // starting position in S's rep
- unsigned short len; // length of substring
-
- void assign(StrRep*, const char*, int = -1);
- SubString(String& x, int p, int l);
- SubString(const SubString& x);
-
-public:
-
-// Note there are no public constructors. SubStrings are always
-// created via String operations
-
- ~SubString();
-
- void operator = (const String& y);
- void operator = (const SubString& y);
- void operator = (const char* t);
- void operator = (char c);
-
-// return 1 if target appears anywhere in SubString; else 0
-
- int contains(char c) const;
- int contains(const String& y) const;
- int contains(const SubString& y) const;
- int contains(const char* t) const;
- int contains(const Regex& r) const;
-
-// return 1 if target matches entire SubString
-
- int matches(const Regex& r) const;
-
-// IO
-
- friend ostream& operator<<(ostream& s, const SubString& x);
-
-// status
-
- unsigned int length() const;
- int empty() const;
- const char* chars() const;
-
- int OK() const;
-
-};
-
-
-class String
-{
- friend class SubString;
-
-protected:
- StrRep* rep; // Strings are pointers to their representations
-
-// some helper functions
-
- int search(int, int, const char*, int = -1) const;
- int search(int, int, char) const;
- int match(int, int, int, const char*, int = -1) const;
- int _gsub(const char*, int, const char* ,int);
- int _gsub(const Regex&, const char*, int);
- SubString _substr(int, int);
-
-public:
-
-// constructors & assignment
-
- String();
- String(const String& x);
- String(const SubString& x);
- String(const char* t);
- String(const char* t, int len);
- String(char c);
-
- ~String();
-
- void operator = (const String& y);
- void operator = (const char* y);
- void operator = (char c);
- void operator = (const SubString& y);
-
-// concatenation
-
- void operator += (const String& y);
- void operator += (const SubString& y);
- void operator += (const char* t);
- void operator += (char c);
-
- void prepend(const String& y);
- void prepend(const SubString& y);
- void prepend(const char* t);
- void prepend(char c);
-
-
-// procedural versions:
-// concatenate first 2 args, store result in last arg
-
- friend void cat(const String&, const String&, String&);
- friend void cat(const String&, const SubString&, String&);
- friend void cat(const String&, const char*, String&);
- friend void cat(const String&, char, String&);
-
- friend void cat(const SubString&, const String&, String&);
- friend void cat(const SubString&, const SubString&, String&);
- friend void cat(const SubString&, const char*, String&);
- friend void cat(const SubString&, char, String&);
-
- friend void cat(const char*, const String&, String&);
- friend void cat(const char*, const SubString&, String&);
- friend void cat(const char*, const char*, String&);
- friend void cat(const char*, char, String&);
-
-// double concatenation, by request. (yes, there are too many versions,
-// but if one is supported, then the others should be too...)
-// Concatenate first 3 args, store in last arg
-
- friend void cat(const String&,const String&, const String&,String&);
- friend void cat(const String&,const String&,const SubString&,String&);
- friend void cat(const String&,const String&, const char*, String&);
- friend void cat(const String&,const String&, char, String&);
- friend void cat(const String&,const SubString&,const String&,String&);
- friend void cat(const String&,const SubString&,const SubString&,String&);
- friend void cat(const String&,const SubString&, const char*, String&);
- friend void cat(const String&,const SubString&, char, String&);
- friend void cat(const String&,const char*, const String&, String&);
- friend void cat(const String&,const char*, const SubString&, String&);
- friend void cat(const String&,const char*, const char*, String&);
- friend void cat(const String&,const char*, char, String&);
-
- friend void cat(const char*, const String&, const String&,String&);
- friend void cat(const char*,const String&,const SubString&,String&);
- friend void cat(const char*,const String&, const char*, String&);
- friend void cat(const char*,const String&, char, String&);
- friend void cat(const char*,const SubString&,const String&,String&);
- friend void cat(const char*,const SubString&,const SubString&,String&);
- friend void cat(const char*,const SubString&, const char*, String&);
- friend void cat(const char*,const SubString&, char, String&);
- friend void cat(const char*,const char*, const String&, String&);
- friend void cat(const char*,const char*, const SubString&, String&);
- friend void cat(const char*,const char*, const char*, String&);
- friend void cat(const char*,const char*, char, String&);
-
-
-// searching & matching
-
-// return position of target in string or -1 for failure
-
- int index(char c, int startpos = 0) const;
- int index(const String& y, int startpos = 0) const;
- int index(const SubString& y, int startpos = 0) const;
- int index(const char* t, int startpos = 0) const;
- int index(const Regex& r, int startpos = 0) const;
-
-// return 1 if target appears anyhere in String; else 0
-
- int contains(char c) const;
- int contains(const String& y) const;
- int contains(const SubString& y) const;
- int contains(const char* t) const;
- int contains(const Regex& r) const;
-
-// return 1 if target appears anywhere after position pos
-// (or before, if pos is negative) in String; else 0
-
- int contains(char c, int pos) const;
- int contains(const String& y, int pos) const;
- int contains(const SubString& y, int pos) const;
- int contains(const char* t, int pos) const;
- int contains(const Regex& r, int pos) const;
-
-// return 1 if target appears at position pos in String; else 0
-
- int matches(char c, int pos = 0) const;
- int matches(const String& y, int pos = 0) const;
- int matches(const SubString& y, int pos = 0) const;
- int matches(const char* t, int pos = 0) const;
- int matches(const Regex& r, int pos = 0) const;
-
-// return number of occurences of target in String
-
- int freq(char c) const;
- int freq(const String& y) const;
- int freq(const SubString& y) const;
- int freq(const char* t) const;
-
-// SubString extraction
-
-// Note that you can't take a substring of a const String, since
-// this leaves open the possiblility of indirectly modifying the
-// String through the SubString
-
- SubString at(int pos, int len);
- SubString operator () (int pos, int len); // synonym for at
-
- SubString at(const String& x, int startpos = 0);
- SubString at(const SubString& x, int startpos = 0);
- SubString at(const char* t, int startpos = 0);
- SubString at(char c, int startpos = 0);
- SubString at(const Regex& r, int startpos = 0);
-
- SubString before(int pos);
- SubString before(const String& x, int startpos = 0);
- SubString before(const SubString& x, int startpos = 0);
- SubString before(const char* t, int startpos = 0);
- SubString before(char c, int startpos = 0);
- SubString before(const Regex& r, int startpos = 0);
-
- SubString through(int pos);
- SubString through(const String& x, int startpos = 0);
- SubString through(const SubString& x, int startpos = 0);
- SubString through(const char* t, int startpos = 0);
- SubString through(char c, int startpos = 0);
- SubString through(const Regex& r, int startpos = 0);
-
- SubString from(int pos);
- SubString from(const String& x, int startpos = 0);
- SubString from(const SubString& x, int startpos = 0);
- SubString from(const char* t, int startpos = 0);
- SubString from(char c, int startpos = 0);
- SubString from(const Regex& r, int startpos = 0);
-
- SubString after(int pos);
- SubString after(const String& x, int startpos = 0);
- SubString after(const SubString& x, int startpos = 0);
- SubString after(const char* t, int startpos = 0);
- SubString after(char c, int startpos = 0);
- SubString after(const Regex& r, int startpos = 0);
-
-
-// deletion
-
-// delete len chars starting at pos
- void del(int pos, int len);
-
-// delete the first occurrence of target after startpos
-
- void del(const String& y, int startpos = 0);
- void del(const SubString& y, int startpos = 0);
- void del(const char* t, int startpos = 0);
- void del(char c, int startpos = 0);
- void del(const Regex& r, int startpos = 0);
-
-// global substitution: substitute all occurrences of pat with repl
-
- int gsub(const String& pat, const String& repl);
- int gsub(const SubString& pat, const String& repl);
- int gsub(const char* pat, const String& repl);
- int gsub(const char* pat, const char* repl);
- int gsub(const Regex& pat, const String& repl);
-
-// friends & utilities
-
-// split string into array res at separators; return number of elements
-
- friend int split(const String& x, String res[], int maxn,
- const String& sep);
- friend int split(const String& x, String res[], int maxn,
- const Regex& sep);
-
- friend String common_prefix(const String& x, const String& y,
- int startpos = 0);
- friend String common_suffix(const String& x, const String& y,
- int startpos = -1);
- friend String replicate(char c, int n);
- friend String replicate(const String& y, int n);
- friend String join(String src[], int n, const String& sep);
-
-// simple builtin transformations
-
- friend String reverse(const String& x);
- friend String upcase(const String& x);
- friend String downcase(const String& x);
- friend String capitalize(const String& x);
-
-// in-place versions of above
-
- void reverse();
- void upcase();
- void downcase();
- void capitalize();
-
-// element extraction
-
- char& operator [] (int i);
- char elem(int i) const;
- char firstchar() const;
- char lastchar() const;
-
-// conversion
-
- operator const char*() const;
- const char* chars() const;
-
-
-// IO
-
- friend ostream& operator<<(ostream& s, const String& x);
- friend ostream& operator<<(ostream& s, const SubString& x);
- friend istream& operator>>(istream& s, String& x);
-
- friend int readline(istream& s, String& x,
- char terminator = '\n',
- int discard_terminator = 1);
-
-// status
-
- unsigned int length() const;
- int empty() const;
-
-// preallocate some space for String
- void alloc(int newsize);
-
-// report current allocation (not length!)
-
- int allocation() const;
-
-
- volatile void error(const char* msg) const;
-
- int OK() const;
-};
-
-typedef String StrTmp; // for backward compatibility
-
-// other externs
-
-int compare(const String& x, const String& y);
-int compare(const String& x, const SubString& y);
-int compare(const String& x, const char* y);
-int compare(const SubString& x, const String& y);
-int compare(const SubString& x, const SubString& y);
-int compare(const SubString& x, const char* y);
-int fcompare(const String& x, const String& y); // ignore case
-
-extern StrRep _nilStrRep;
-extern String _nilString;
-
-// other inlines
-
-String operator + (const String& x, const String& y);
-String operator + (const String& x, const SubString& y);
-String operator + (const String& x, const char* y);
-String operator + (const String& x, char y);
-String operator + (const SubString& x, const String& y);
-String operator + (const SubString& x, const SubString& y);
-String operator + (const SubString& x, const char* y);
-String operator + (const SubString& x, char y);
-String operator + (const char* x, const String& y);
-String operator + (const char* x, const SubString& y);
-
-int operator==(const String& x, const String& y);
-int operator!=(const String& x, const String& y);
-int operator> (const String& x, const String& y);
-int operator>=(const String& x, const String& y);
-int operator< (const String& x, const String& y);
-int operator<=(const String& x, const String& y);
-int operator==(const String& x, const SubString& y);
-int operator!=(const String& x, const SubString& y);
-int operator> (const String& x, const SubString& y);
-int operator>=(const String& x, const SubString& y);
-int operator< (const String& x, const SubString& y);
-int operator<=(const String& x, const SubString& y);
-int operator==(const String& x, const char* t);
-int operator!=(const String& x, const char* t);
-int operator> (const String& x, const char* t);
-int operator>=(const String& x, const char* t);
-int operator< (const String& x, const char* t);
-int operator<=(const String& x, const char* t);
-int operator==(const SubString& x, const String& y);
-int operator!=(const SubString& x, const String& y);
-int operator> (const SubString& x, const String& y);
-int operator>=(const SubString& x, const String& y);
-int operator< (const SubString& x, const String& y);
-int operator<=(const SubString& x, const String& y);
-int operator==(const SubString& x, const SubString& y);
-int operator!=(const SubString& x, const SubString& y);
-int operator> (const SubString& x, const SubString& y);
-int operator>=(const SubString& x, const SubString& y);
-int operator< (const SubString& x, const SubString& y);
-int operator<=(const SubString& x, const SubString& y);
-int operator==(const SubString& x, const char* t);
-int operator!=(const SubString& x, const char* t);
-int operator> (const SubString& x, const char* t);
-int operator>=(const SubString& x, const char* t);
-int operator< (const SubString& x, const char* t);
-int operator<=(const SubString& x, const char* t);
-
-
-
-
-// status reports, needed before defining other things
-
-inline unsigned int String::length() const { return rep->len; }
-inline int String::empty() const { return rep->len == 0; }
-inline const char* String::chars() const { return &(rep->s[0]); }
-inline int String::allocation() const { return rep->sz; }
-inline void String::alloc(int newsize) { rep = Sresize(rep, newsize); }
-
-inline unsigned int SubString::length() const { return len; }
-inline int SubString::empty() const { return len == 0; }
-inline const char* SubString::chars() const { return &(S.rep->s[pos]); }
-
-
-// constructors
-
-inline String::String()
- : rep(&_nilStrRep) {}
-inline String::String(const String& x)
- : rep(Scopy(0, x.rep)) {}
-inline String::String(const char* t)
- : rep(Salloc(0, t, -1, -1)) {}
-inline String::String(const char* t, int tlen)
- : rep(Salloc(0, t, tlen, tlen)) {}
-inline String::String(const SubString& y)
- : rep(Salloc(0, y.chars(), y.length(), y.length())) {}
-inline String::String(char c)
- : rep(Salloc(0, &c, 1, 1)) {}
-
-inline String::~String() { if (rep != &_nilStrRep) delete rep; }
-
-inline SubString::SubString(const SubString& x)
- :S(x.S), pos(x.pos), len(x.len) {}
-inline SubString::SubString(String& x, int first, int l)
- :S(x), pos(first), len(l) {}
-
-inline SubString::~SubString() {}
-
-// assignment
-
-inline void String::operator = (const String& y)
-{
- rep = Scopy(rep, y.rep);
-}
-
-inline void String::operator=(const char* t)
-{
- rep = Salloc(rep, t, -1, -1);
-}
-
-inline void String::operator=(const SubString& y)
-{
- rep = Salloc(rep, y.chars(), y.length(), y.length());
-}
-
-inline void String::operator=(char c)
-{
- rep = Salloc(rep, &c, 1, 1);
-}
-
-
-inline void SubString::operator = (const char* ys)
-{
- assign(0, ys);
-}
-
-inline void SubString::operator = (char ch)
-{
- assign(0, &ch, 1);
-}
-
-inline void SubString::operator = (const String& y)
-{
- assign(y.rep, y.chars(), y.length());
-}
-
-inline void SubString::operator = (const SubString& y)
-{
- assign(y.S.rep, y.chars(), y.length());
-}
-
-// Zillions of cats...
-
-inline void cat(const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y, -1);
-}
-
-inline void cat(const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, &y, 1);
-}
-
-inline void cat(const String& a, const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& a, const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const String& a, const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& a, const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const String& a, const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());
-}
-
-inline void cat(const String& a, const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());
-}
-
-inline void cat(const String& a, const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y, -1);
-}
-
-inline void cat(const String& a, const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, &y, 1);
-}
-
-
-inline void cat(const char* a, const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const char* a, const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* a, const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const char* a, const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* a, const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* a, const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* a, const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y, -1);
-}
-
-inline void cat(const char* a, const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, &y, 1);
-}
-
-
-// operator versions
-
-inline void String::operator +=(const String& y)
-{
- cat(*this, y, *this);
-}
-
-inline void String::operator +=(const SubString& y)
-{
- cat(*this, y, *this);
-}
-
-inline void String::operator += (const char* y)
-{
- cat(*this, y, *this);
-}
-
-inline void String:: operator +=(char y)
-{
- cat(*this, y, *this);
-}
-
-// constructive concatenation
-
-
-
-inline String operator + (const String& x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, const char* y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, char y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const char* y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, char y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const char* x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const char* x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String reverse(const String& x) return r;
-{
- r.rep = Sreverse(x.rep, r.rep);
-}
-
-inline String upcase(const String& x) return r;
-{
- r.rep = Supcase(x.rep, r.rep);
-}
-
-inline String downcase(const String& x) return r;
-{
- r.rep = Sdowncase(x.rep, r.rep);
-}
-
-inline String capitalize(const String& x) return r;
-{
- r.rep = Scapitalize(x.rep, r.rep);
-}
-
-//# 883 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h"
-
-
-// prepend
-
-inline void String::prepend(const String& y)
-{
- rep = Sprepend(rep, y.chars(), y.length());
-}
-
-inline void String::prepend(const char* y)
-{
- rep = Sprepend(rep, y, -1);
-}
-
-inline void String::prepend(char y)
-{
- rep = Sprepend(rep, &y, 1);
-}
-
-inline void String::prepend(const SubString& y)
-{
- rep = Sprepend(rep, y.chars(), y.length());
-}
-
-// misc transformations
-
-
-inline void String::reverse()
-{
- rep = Sreverse(rep, rep);
-}
-
-
-inline void String::upcase()
-{
- rep = Supcase(rep, rep);
-}
-
-
-inline void String::downcase()
-{
- rep = Sdowncase(rep, rep);
-}
-
-
-inline void String::capitalize()
-{
- rep = Scapitalize(rep, rep);
-}
-
-// element extraction
-
-inline char& String::operator [] (int i)
-{
- if (((unsigned)i) >= length()) error("invalid index");
- return rep->s[i];
-}
-
-inline char String::elem (int i) const
-{
- if (((unsigned)i) >= length()) error("invalid index");
- return rep->s[i];
-}
-
-inline char String::firstchar() const
-{
- return elem(0);
-}
-
-inline char String::lastchar() const
-{
- return elem(length() - 1);
-}
-
-// searching
-
-inline int String::index(char c, int startpos) const
-{
- return search(startpos, length(), c);
-}
-
-inline int String::index(const char* t, int startpos) const
-{
- return search(startpos, length(), t);
-}
-
-inline int String::index(const String& y, int startpos) const
-{
- return search(startpos, length(), y.chars(), y.length());
-}
-
-inline int String::index(const SubString& y, int startpos) const
-{
- return search(startpos, length(), y.chars(), y.length());
-}
-
-inline int String::index(const Regex& r, int startpos) const
-{
- int unused; return r.search(chars(), length(), unused, startpos);
-}
-
-inline int String::contains(char c) const
-{
- return search(0, length(), c) >= 0;
-}
-
-inline int String::contains(const char* t) const
-{
- return search(0, length(), t) >= 0;
-}
-
-inline int String::contains(const String& y) const
-{
- return search(0, length(), y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const SubString& y) const
-{
- return search(0, length(), y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(char c, int p) const
-{
- return match(p, length(), 0, &c, 1) >= 0;
-}
-
-inline int String::contains(const char* t, int p) const
-{
- return match(p, length(), 0, t) >= 0;
-}
-
-inline int String::contains(const String& y, int p) const
-{
- return match(p, length(), 0, y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const SubString& y, int p) const
-{
- return match(p, length(), 0, y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const Regex& r) const
-{
- int unused; return r.search(chars(), length(), unused, 0) >= 0;
-}
-
-inline int String::contains(const Regex& r, int p) const
-{
- return r.match(chars(), length(), p) >= 0;
-}
-
-
-inline int String::matches(const SubString& y, int p) const
-{
- return match(p, length(), 1, y.chars(), y.length()) >= 0;
-}
-
-inline int String::matches(const String& y, int p) const
-{
- return match(p, length(), 1, y.chars(), y.length()) >= 0;
-}
-
-inline int String::matches(const char* t, int p) const
-{
- return match(p, length(), 1, t) >= 0;
-}
-
-inline int String::matches(char c, int p) const
-{
- return match(p, length(), 1, &c, 1) >= 0;
-}
-
-inline int String::matches(const Regex& r, int p) const
-{
- int l = (p < 0)? -p : length() - p;
- return r.match(chars(), length(), p) == l;
-}
-
-
-inline int SubString::contains(const char* t) const
-{
- return S.search(pos, pos+len, t) >= 0;
-}
-
-inline int SubString::contains(const String& y) const
-{
- return S.search(pos, pos+len, y.chars(), y.length()) >= 0;
-}
-
-inline int SubString::contains(const SubString& y) const
-{
- return S.search(pos, pos+len, y.chars(), y.length()) >= 0;
-}
-
-inline int SubString::contains(char c) const
-{
- return S.search(pos, pos+len, 0, c) >= 0;
-}
-
-inline int SubString::contains(const Regex& r) const
-{
- int unused; return r.search(chars(), len, unused, 0) >= 0;
-}
-
-inline int SubString::matches(const Regex& r) const
-{
- return r.match(chars(), len, 0) == len;
-}
-
-
-inline int String::gsub(const String& pat, const String& r)
-{
- return _gsub(pat.chars(), pat.length(), r.chars(), r.length());
-}
-
-inline int String::gsub(const SubString& pat, const String& r)
-{
- return _gsub(pat.chars(), pat.length(), r.chars(), r.length());
-}
-
-inline int String::gsub(const Regex& pat, const String& r)
-{
- return _gsub(pat, r.chars(), r.length());
-}
-
-inline int String::gsub(const char* pat, const String& r)
-{
- return _gsub(pat, -1, r.chars(), r.length());
-}
-
-inline int String::gsub(const char* pat, const char* r)
-{
- return _gsub(pat, -1, r, -1);
-}
-
-
-
-inline ostream& operator<<(ostream& s, const String& x)
-{
- s << x.chars(); return s;
-}
-
-// a zillion comparison operators
-
-inline int operator==(const String& x, const String& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const String& x, const String& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const String& x, const String& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const String& x, const String& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const String& x, const String& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const String& x, const String& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const String& x, const SubString& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const String& x, const SubString& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const String& x, const SubString& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const String& x, const SubString& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const String& x, const SubString& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const String& x, const SubString& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const String& x, const char* t)
-{
- return compare(x, t) == 0;
-}
-
-inline int operator!=(const String& x, const char* t)
-{
- return compare(x, t) != 0;
-}
-
-inline int operator>(const String& x, const char* t)
-{
- return compare(x, t) > 0;
-}
-
-inline int operator>=(const String& x, const char* t)
-{
- return compare(x, t) >= 0;
-}
-
-inline int operator<(const String& x, const char* t)
-{
- return compare(x, t) < 0;
-}
-
-inline int operator<=(const String& x, const char* t)
-{
- return compare(x, t) <= 0;
-}
-
-inline int operator==(const SubString& x, const String& y)
-{
- return compare(y, x) == 0;
-}
-
-inline int operator!=(const SubString& x, const String& y)
-{
- return compare(y, x) != 0;
-}
-
-inline int operator>(const SubString& x, const String& y)
-{
- return compare(y, x) < 0;
-}
-
-inline int operator>=(const SubString& x, const String& y)
-{
- return compare(y, x) <= 0;
-}
-
-inline int operator<(const SubString& x, const String& y)
-{
- return compare(y, x) > 0;
-}
-
-inline int operator<=(const SubString& x, const String& y)
-{
- return compare(y, x) >= 0;
-}
-
-inline int operator==(const SubString& x, const SubString& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const SubString& x, const SubString& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const SubString& x, const SubString& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const SubString& x, const SubString& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const SubString& x, const SubString& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const SubString& x, const SubString& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const SubString& x, const char* t)
-{
- return compare(x, t) == 0;
-}
-
-inline int operator!=(const SubString& x, const char* t)
-{
- return compare(x, t) != 0;
-}
-
-inline int operator>(const SubString& x, const char* t)
-{
- return compare(x, t) > 0;
-}
-
-inline int operator>=(const SubString& x, const char* t)
-{
- return compare(x, t) >= 0;
-}
-
-inline int operator<(const SubString& x, const char* t)
-{
- return compare(x, t) < 0;
-}
-
-inline int operator<=(const SubString& x, const char* t)
-{
- return compare(x, t) <= 0;
-}
-
-
-// a helper needed by at, before, etc.
-
-inline SubString String::_substr(int first, int l)
-{
- if (first >= length() )
- return SubString(_nilString, 0, 0) ;
- else
- return SubString(*this, first, l);
-}
-
-
-
-
-
-//# 26 "../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 27 "../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 1
-// -*- C++ -*-
-
-
-
-//
-// Fake up a libstuff++
-//
-// This is done as a complete and utter hack; this library has no function
-// at all being in the boot area; it is here solely in order to provide a
-// libstuff++ against which the Makefiles can resolve link lines.
-//
-// The only reason that this is done is to allow the STANDARD_C++_LIBRARIES
-// as provided by the Makefile templates in the boot area to be the same
-// ones that are used by the tools outside this hierarchy.
-//
-// The tools outside this hierarchy use a different libstuff++; one that is
-// written in C++. This one is not written in C++ in order to be simpler.
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-extern "C" {
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h" 1
-
-
-
-/*
- * Useful stuff
- */
-
-/*
- */
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/ansi.h" 1
-
-
-
-
-/*
- * ANSI Compiler Support
- *
- * David Harrison
- * University of California, Berkeley
- * 1988
- *
- * ANSI compatible compilers are supposed to define the preprocessor
- * directive __STDC__. Based on this directive, this file defines
- * certain ANSI specific macros.
- *
- * ARGS:
- * Used in function prototypes. Example:
- * extern int foo
- * ARGS((char *blah, double threshold));
- */
-
-/*
- *
- * Modifications
- * Wendell C Baker
- * University of California, Berkeley
- */
-
-/* Function prototypes */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 15 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h" 2
-
-
-
-/*
- * If g++, then we stub out part of this thing and let the C++ types take
- * over and do the same job; some compatibility must be given however
- */
-
-/*
- * Use the GNU libg++ definition
- */
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 26 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h" 2
-
-//# 35 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h"
-
-
-/*
- * Make various pieces of C code that use the old ``Boolean''
- * be compatible by faking up the definition of Boolean using
- * the new bool type.
- */
-
-
-//# 58 "/sandbox/wbaker/wbaker0/source/mips/include/stuff.h"
-
-
-typedef long FitAny; /* can fit any integral type */
-
-/*
- * typedef char *String; - DO NOT USE THIS - it conflicts with C++
- * typedef char **Stringv; - just use char* and char** instead.
- * - void* can be used for arbitrary pointers
- */
-
-
-
-
-extern int nocase_strcmp (char *, char *) ;
-extern int nocase_strncmp (char *, char *, int) ;
-
-extern bool nocase_strequal (char *, char *) ;
-extern bool nocase_strnequal (char *, char *, int) ;
-
-extern bool lead_strequal (char *, char *) ;
-extern bool nocase_lead_strequal (char *, char *) ;
-
-extern int strhash (char *, int) ;
-extern int nocase_strhash (char *, int) ;
-
-extern int sign (int) ;
-
-/*
- * Some useful macros.
- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 33 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-}
-
-//
-// This is here because we wish to provide externs for the two
-// functions btoa(bool, unsigned = 0) and operator<<(ostream&, bool)
-// because they are not provided in bool.h.
-//
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 41 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-extern const char *stringify(bool b);
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 43 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-extern ostream& operator<<(ostream&, bool);
-
-// Should this be kept separate? bool isn't, but then is
-// included here only to define ostream& operator<<(ostream&, bool)
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/unit.h" 1
-// -*- C++ -*-
-
-
-
-//
-// unit enum
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-//
-// unit enum
-//
-// This _looks_ silly, but it has an important theoretical basis in category
-// theory. For the pragmatic reason for its existence, see the example below.
-//
-enum unit {
- UNIT = 1,
-};
-
-extern const char *stringify(unit u);
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 28 "/sandbox/wbaker/wbaker0/source/mips/include/unit.h" 2
-
-extern ostream& operator<<(ostream&, unit);
-
-//
-// A unit is used in cases where the type signature of an overloaded
-// function must be differentiated in some stronger way than can be
-// denoted unambiguously in the C++ syntax. This enum is used to give
-// one of the functions a different type signature, thereby allowing
-// the overloading.
-//
-// The use of ``unit'' instead of int or bool is important because a unit
-// has only one possible value; therefore it adds no more information to
-// the code. For example, say a bool was used instead, then in the testing
-// phase, would have to ask: what if TRUE was given, what if FALSE was given.
-// The problem is compounded if char or int is used.
-//
-// Example:
-//
-// class ID {
-// public:
-// ID(); // construct a null ID
-// ID(unit); // alloc a ID with a new id
-// private:
-// static unsigned high_water;
-// unsigned id;
-// };
-//
-// Try working this example save that ID implements all of the generic
-// features of the identifier object, but the high_water is stored
-// in the heir. That is what originally motivated the creation of unit.
-//
-
-
-//# 48 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 2
-
-
-//
-// In the spirit of the standard GNU error handler functions
-// as described in
-// typedef void (*one_arg_error_handler_t)(const char*);
-// a one argument error handler function pointer
-// typedef void (*two_arg_error_handler_t)(const char*, const char*);
-// a two argument error handler function pointer
-//
-// And now the NEW
-//
-// typedef void (*zero_arg_error_handler_t)();
-// a zero argument error handler function pointer
-//
-typedef void (*zero_arg_error_handler_t)();
-
-//
-// In the spirit of the default GNU error handler functions
-// as described in
-// extern void default_one_arg_error_handler(const char *message);
-// print out message on stderr, and do the default thing (abort)
-// extern void default_two_arg_error_handler(const char *kind, const char *message);
-// print out kind and message on stderr, and do the default thing (abort)
-//
-// And now the NEW
-//
-// extern void default_zero_arg_error_handler(const char *message);
-// do the default thing (abort)
-//
-extern void default_zero_arg_error_handler();
-
-// Guaranteed to exit (1)
-extern void exit_zero_arg_error_handler();
-extern void exit_one_arg_error_handler(const char *message);
-extern void exit_two_arg_error_handler(const char *kind, const char *message);
-
-// Guaranteed to abort()
-extern void abort_zero_arg_error_handler();
-extern void abort_one_arg_error_handler(const char *message);
-extern void abort_two_arg_error_handler(const char *kind, const char *message);
-
-//
-// In the spirit of the standard GNU error handlers
-// as described in
-// extern void verbose_File_error_handler(const char*);
-// perror and set errno = 0
-// extern void quiet_File_error_handler(const char*);
-// set errno = 0
-// extern void fatal_File_error_handler(const char*);
-// perror and exit 1
-//
-// And now the NEW
-//
-// extern void preserve_File_error_handler(const char *message);
-// no perror, no assignment to errno.
-//
-extern void preserve_File_error_handler(const char *message);
-
-
-//# 29 "../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-
-
-
-//
-// tostrstream class
-//
-// A terminated oststream - an ostsrstream that auto-terminates on str()
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/strstream.h" 1
-// This is part of the iostream library, providing input/output for C++.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-
-
-//#pragma interface
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 23 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/strstream.h" 2
-
-
-class strstreambuf : public streambuf {
- size_t *lenp; /* current (logical) length (i.e. valid data bytes) */
- size_t *sizep; /* allocated (physical) buffer size */
- char **bufp;
- size_t _len;
- size_t _size;
- char *buf;
- int _frozen;
- protected:
- virtual int overflow(int = (-1) );
- public:
- strstreambuf();
- strstreambuf(int initial);
- strstreambuf(char *ptr, int size, char *pstart = 0 );
- ~strstreambuf();
- int frozen() { return _frozen; }
- void freeze(int n=1) { _frozen = n != 0; }
- size_t pcount();
- char *str();
-};
-
-class istrstream : public istream {
- public:
- istrstream(char*);
- istrstream(char*, int);
- strstreambuf* rdbuf() { return (strstreambuf*)_strbuf; }
-};
-
-class ostrstream : public ostream {
- public:
- ostrstream();
- ostrstream(char *cp, int n, int mode=ios::out);
- size_t pcount() { return ((strstreambuf*)_strbuf)->pcount(); }
- char *str() { return ((strstreambuf*)_strbuf)->str(); }
- void freeze(int n = 1) { ((strstreambuf*)_strbuf)->freeze(n); }
- int frozen() { return ((strstreambuf*)_strbuf)->frozen(); }
- strstreambuf* rdbuf() { return (strstreambuf*)_strbuf; }
-};
-
-
-//# 25 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 2
-
-
-//
-// tostrstream class
-//
-// An isteam class that doesn't have that nasty skipws parameter that
-// you have to remember to set. This class simply provides the istream
-// functionality with a set of constructors which defaults skipws to
-// FALSE (instead of defaulting to TRUE as is the case with plain istream).
-//
-class tostrstream: public ostrstream {
-public:
- tostrstream(): ostrstream()
- { }
- // This constructor defines cp as the buffer to use for the
- // stream (instead of one of its own devising); it does NOT
- // initialize the ostrstream to contain cp (of length n).
- tostrstream(char *cp, int n, int mode=ios::out): ostrstream(cp, n, mode)
- { }
- char *str()
- {
- char *s = ostrstream::str();
- s[ostrstream::pcount()] = '\0';
- return s;
- }
-};
-
-
-//# 30 "../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GttObject class (is abstract)
-//
-// Expects to be included where needed explicitly.
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-//# 52 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h"
-
-//# 25 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GttErrorHandler class
-//
-// Expects to be included by Gtt.h
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 25 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h" 1
-// -*- C++ -*-
-//# 107 "/sandbox/wbaker/wbaker0/source/mips/include/stuff++.h"
-
-//# 27 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 2
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-//# 52 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h"
-
-//# 28 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttErrorHandler.h" 2
-
-
-//
-// It is expected that this will be virtually multiply inherited
-// into all of the classes that need error reporting services.
-//
-// The typical way to have that done is by inheriting the GttObject
-// as a virtual base class.
-//
-
-//
-// GttErrorHandler class
-//
-class GttErrorHandler {
-public:
- GttErrorHandler();
- GttErrorHandler(const char *program);
- virtual ~GttErrorHandler();
-
- //
- // Error messages
- // - an unacceptable, but expected and recoverable condition
- // was detected (but the test fails)
- // - errors are for ``the expected environment was not found''
- // rather than for ``file couldn't be opened''
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void error(const char *message);
- static void error(tostrstream& message);
-
- static void error(const char *function, const char *message);
- static void error(const char *function, tostrstream& message);
-
- static void error(const char *class_name, const char *method, const char *message);
- static void error(const char *class_name, const char *method, tostrstream& message);
-
- //
- // Fatal messages
- // - an unacceptable and unexpected error was detected
- // the data invariants were violated, there is no recovery
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void fatal(const char *message);
- static void fatal(tostrstream& message);
-
- static void fatal(const char *function, const char *message);
- static void fatal(const char *function, tostrstream& message);
-
- static void fatal(const char *class_name, const char *method, const char *message);
- static void fatal(const char *class_name, const char *method, tostrstream& message);
-private:
- //
- // Two underscores are used here in order to prevent confusion of these
- // private variables with any of the heir's private variables. Note that
- // access control is different than visibility in C++, so all the variable
- // names in a class hierarchy must be unique.
- //
-
- static bool __partial_init;
- static void __partial_initialize();
- static bool __full_init;
- static void __full_initialize(const char *program);
- static char *__program;
-
- static void __handle_error();
- static void __handle_fatal();
- static void __add_newline(const char *message);
-
- static bool __output_valid();
- static ostream *__output;
-};
-
-
-//# 27 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 2
-
-
-//
-// GttObject class (is abstract)
-//
-class GttObject: virtual public GttErrorHandler {
-protected:
- GttObject();
- GttObject(const GttObject&);
- virtual ~GttObject(); // ensure descendants have virtual destructors
-
-public:
- //
- // I/O Support
- //
- // The value typically persists only long enough for an i/o operation
- // to be performed (see the defintion of output via operator<<(... ) below)
- virtual const char *stringify();
-protected:
- // This is the buffer into which the printed representation of this
- // object will be put when the time comes. It is associated with the
- // object so it will never go away (so long as the object exists).
- // Use a pointer so that you only pay for the space when I/O is used
- tostrstream *stringbuf;
- void clear_stringbuf();
-
-public:
- //
- // Consistency
- //
- // The global data invariant for the whole object (heirs included).
- // This OK function will call the local invariant function ok() if
- // necessary and in addition the OK functions of the heirs
- // This is expected to compute the data invariant of the object.
- // It will execute GctErrorHandler::fatal if there is wrong.
- virtual void OK() const;
-
-protected:
- //
- // consistency
- //
- // This function computes the invariant which is local to this object.
- // It does not call any of the ancestor's OK() or ok() functions.
- // It is not a virtual function so that it can be called from within a
- // constructor with impunity. Thus this function MUST NOT call any
- // virtual functions either; it should call them by their full name if
- // that is necessary. The global OK() function will call this function
- // as necessary.
- //
- // This function must NOT NEVER EVER be made virtual.
- void ok() const;
-
-protected:
- //
- // Class Name
- //
- // This must return a static (constant) string which is the name
- // of the class being declared. By convention, not all classes
- // must have one of these, but the major root abstract class must
- // have one in order to allow the stringify() to work approximately
- // correctly.
- virtual const char *class_name() const = 0;
-};
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 91 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 2
-
-extern ostream& operator<<(ostream&, GttObject&);
-
-// There may be other X& operator<<(X&, GttObject&) defined in the
-// packages defining class X. For example see the definition of
-// GttUnitObject& operator<<(GttUnitObject&, GttObject&) in Unit.
-
-
-//# 32 "../../../../mips/include/Gct/GctErrorHandler.h" 2
-
-
-//
-// It is expected that this will be virtually multiply inherited
-// into all of the classes that need error reporting services.
-//
-// The typical way to have that done is by inheriting the GctObject
-// as a virtual base class.
-//
-
-//
-// GctErrorHandler class
-//
-// GPP_1_96_BUG
-// NOTE - virtual public GttObject should be MI into GctObject - but that
-// causes g++ 1.96 to segfault; so we must inherit GttObject here and use SI
-// GPP_1_96_BUG
-class GctErrorHandler: virtual public GttObject {
-public:
- GctErrorHandler();
- GctErrorHandler(const String& program);
- virtual ~GctErrorHandler();
-
- //
- // Debugging messages
- // - these are turned off for production code.
- // - these messages can be shut off
- //
- static void debug(const char *message);
- static void debug(tostrstream& message);
-
- static void debug(const char *function, const char *message);
- static void debug(const char *function, tostrstream& message);
-
- static void debug(const char *class_name, const char *method, const char *message);
- static void debug(const char *class_name, const char *method, tostrstream& message);
-
- static bool debug(); // current debug switch
- static void debug(bool value); // change the debug switch
-
- //
- // Informational messages
- // - these correspond to a ``verbose'' mode
- // - these are not errors, just chatty progress reports
- // - these messages can be shut off
- //
- static void note(const char *message);
- static void note(tostrstream& message);
-
- static void note(const char *function, const char *message);
- static void note(const char *function, tostrstream& message);
-
- static void note(const char *class_name, const char *method, const char *message);
- static void note(const char *class_name, const char *method, tostrstream& message);
-
- static bool note(); // current note switch
- static void note(bool value); // change the note switch
-
- //
- // Warning messages
- // - warnings are system-recoverable errors
- // - the system has noticed something and taken some
- // corrective action
- // - these messages can be shut off
- //
- static void warning(const char *message);
- static void warning(tostrstream& message);
-
- static void warning(const char *function, const char *message);
- static void warning(const char *function, tostrstream& message);
-
- static void warning(const char *class_name, const char *method, const char *message);
- static void warning(const char *class_name, const char *method, tostrstream& message);
-
- static bool warning(); // current warning switch
- static void warning(bool value); // change the warning switch
-
- //
- // Error messages
- // - an unacceptable, but expected and recoverable
- // condition was detected
- // - errors are for ``the expected environment was not found''
- // rather than for ``file couldn't be opened''
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void error(const char *message);
- static void error(tostrstream& message);
-
- static void error(const char *function, const char *message);
- static void error(const char *function, tostrstream& message);
-
- static void error(const char *class_name, const char *method, const char *message);
- static void error(const char *class_name, const char *method, tostrstream& message);
-
- // can't turn off errors - no ``static void error(bool value);''
- static zero_arg_error_handler_t error(); // current error handler
- static void error(zero_arg_error_handler_t handler);// change the error handler
-
- static void error_is_lib_error_handler(); // change the error handler
- static void error_is_exit(); // change the error handler
-
- // Describes the fatal handler - WATCHOUT - implicitly uses AllocRing
- static const char *error_handler_description();
-
- //
- // Fatal messages
- // - an unacceptable and unexpected error was detected
- // the data invariants were violated, there is no recovery
- // - these messages cannot be shut off
- // - the error handler determines the recovery action
- // TODO - one day exceptions will be used here
- //
- static void fatal(const char *message);
- static void fatal(tostrstream& message);
-
- static void fatal(const char *function, const char *message);
- static void fatal(const char *function, tostrstream& message);
-
- static void fatal(const char *class_name, const char *method, const char *message);
- static void fatal(const char *class_name, const char *method, tostrstream& message);
-
- // can't turn off fatals - no ``static void fatal(bool value);''
- static zero_arg_error_handler_t fatal(); // return the fatal handler
- static void fatal(zero_arg_error_handler_t handler); // change the fatal handler
-
- static void fatal_is_exit(); // change the fatal handler
- static void fatal_is_abort(); // change the fatal handler
-
- // Describes the fatal handler - WATCHOUT - implicitly uses AllocRing
- static const char *fatal_handler_description();
-private:
- //
- // Two underscores are used here in order to prevent confusion of these
- // private variables with any of the heir's private variables. Note that
- // access control is different than visibility in C++, so all the variable
- // names in a class hierarchy must be unique.
- //
- static bool __debug;
- static bool __note;
- static bool __warning;
- static void (*__error_handler)(); // can't turn off errors
- static void (*__fatal_handler)(); // can't turn off fatals
-
- static bool __partial_init;
- static void __partial_initialize();
- static bool __full_init;
- static void __full_initialize(const char *program);
- static char *__program;
-
- static void __handle_error();
- static void __handle_fatal();
- static void __add_newline(const char *message);
- static void __message_switch(bool value, bool& flag, const char *description);
- static void __message_switch(bool value, bool& flag);
- static const char *__describe_handler(zero_arg_error_handler_t handler);
-
- static bool __output_valid();
- static ostream *__output;
-
- // GPP_1_96_BUG
- const char *class_name() const;
- // GPP_1_96_BUG
-};
-
-
-//# 27 "../../../../mips/include/Gct/Reference/GctReferenceCount.h" 2
-
-
-class GctReferenceCount: virtual public GctErrorHandler {
-public:
- GctReferenceCount();
-
- void inc();
- void dec();
- bool zero() const;
-private:
- unsigned _count;
-};
-
-inline
-GctReferenceCount::GctReferenceCount()
-{
- this->_count = 0;
-}
-
-inline void
-GctReferenceCount::inc()
-{
- this->_count++;
-}
-
-inline void
-GctReferenceCount::dec()
-{
- if (this->debug()) {
- if (this->_count == 0)
- this->error("GctReferenceCount", "dec()",
- "attempt to decrement a zero refcount");
- }
-
- // Protect against decrementing off zero in case
- // this->debug() is not turned on to signal the error.
- if (this->_count)
- this->_count--;
-}
-
-inline bool
-GctReferenceCount::zero() const
-{
- return (bool)(this->_count == 0);
-}
-
-
-//# 25 "../../../../mips/include/Gct/Reference.h" 2
-
-//# 1 "../../../../mips/include/Gct/Reference/GctReferenceObject.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctReferenceObject class
-//
-// Expects to be included by Gct/Reference.h
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 25 "../../../../mips/include/Gct/Reference/GctReferenceObject.h" 2
-
-
-//# 1 "../../../../mips/include/Gct/Object/GctHashObject.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctHashObject class (is abstract)
-//
-// Expects to be included by Object.h or where needed explicitly.
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "../../../../mips/include/Gct/Object/GctObject.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctObject class (is abstract)
-//
-// Expects to be included by Object.h or where needed explicitly.
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h" 1
-// -*- C++ -*-
-//# 52 "/sandbox/wbaker/wbaker0/source/mips/include/tostrstream.h"
-
-//# 25 "../../../../mips/include/Gct/Object/GctObject.h" 2
-
-
-//# 1 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h" 1
-// -*- C++ -*-
-//# 98 "/sandbox/wbaker/wbaker0/source/mips/include/Gtt/GttObject.h"
-
-//# 27 "../../../../mips/include/Gct/Object/GctObject.h" 2
-
-
-//# 1 "../../../../mips/include/Gct/GctErrorHandler.h" 1
-// -*- C++ -*-
-//# 198 "../../../../mips/include/Gct/GctErrorHandler.h"
-
-//# 29 "../../../../mips/include/Gct/Object/GctObject.h" 2
-
-
-//
-// GctObject class (is abstract)
-//
-class GctObject: virtual public GctErrorHandler /*, virtual public GttObject*/ {
-protected:
- GctObject();
- GctObject(const GctObject&);
- virtual ~GctObject(); // ensure descendants have virtual destructors
-
-public:
- //
- // I/O Support
- //
- // The value typically persists only long enough for an i/o operation
- // to be performed (see the defintion of output via operator<<(... ) below)
- virtual const char *stringify();
-protected:
- // This is the buffer into which the printed representation of this
- // object will be put when the time comes. It is associated with the
- // object so it will never go away (so long as the object exists).
- // Use a pointer so that you only pay for the space when I/O is used
- tostrstream *stringbuf;
- void clear_stringbuf();
-
-public:
- //
- // Consistency (global consistency)
- //
- // The global data invariant for the whole object (heirs included).
- // This OK function will call the local invariant function ok() if
- // necessary and in addition the OK functions of the heirs
- // This is expected to compute the data invariant of the object.
- // It will execute GctErrorHandler::fatal if there is wrong.
- virtual void OK() const;
-
-protected:
- //
- // consistency (local consistency)
- //
- // This function computes the invariant which is local to this object.
- // It does not call any of the ancestor's OK() or ok() functions.
- // It is not a virtual function so that it can be called from within a
- // constructor with impunity. Thus this function MUST NOT call any
- // virtual functions either; it should call them by their full name if
- // that is necessary. The global OK() function will call this function
- // as necessary.
- //
- // This function must NOT NEVER EVER be made virtual.
- void ok() const;
-protected:
- //
- // Class Name
- //
- // This must return a static (constant) string which is the name
- // of the class being declared. By convention, not all classes
- // must have one of these, but the major root abstract class must
- // have one in order to allow the stringify() to work approximately
- // correctly.
- virtual const char *class_name() const = 0;
-
-public:
- //
- // The ``id'' of this object
- //
- // NOTE - we explicitly allow the situation where this function
- // can return the address of the object - the ``this'' pointer
- // instead of a computed id field (the __object_id field below).
- //
- // This function is protected because we don't want too much dependence
- // on this notion of object identity. I want to be able to rip it
- // out if it becomes to cumbersome.
- unsigned objectId() const;
-private:
- //
- // Symbolic ID
- //
- // NOTE - Normally this would be implemented by the `this' pointer.
- // TODO - remove this for production code
- //
- // However, in order to make the test suites run on all machines, we
- // make this into a symbolic id that is maintained with each object.
- // Thus the valid outputs are always consistent across all machines.
- unsigned __object_id;
- static unsigned __next_id;
-};
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 117 "../../../../mips/include/Gct/Object/GctObject.h" 2
-
-extern ostream& operator<<(ostream&, GctObject&);
-
-
-//# 25 "../../../../mips/include/Gct/Object/GctHashObject.h" 2
-
-
-//
-// GctHashObject class (is abstract)
-//
-class GctHashObject: virtual public GctObject {
-protected:
- GctHashObject();
- GctHashObject(const GctHashObject&);
-
-public:
- //
- // hash support
- //
- virtual unsigned hash() const;
-};
-
-
-//# 27 "../../../../mips/include/Gct/Reference/GctReferenceObject.h" 2
-
-
-class GctRef;
-
-//
-// GctReferenceObject class
-//
-class GctReferenceObject: virtual public GctHashObject {
-public:
- // Aid in using operator new() to allocate dynamic
- // instances of heirs to GctReferenceObject.
- // An error is reported if result_of_new is nil.
- static void ensure_new_succeeded(GctReferenceObject *result_of_new,
- const char *class_name,
- const char *args_supplied = "");
-
- // the stringify() is standard
- void OK() const;
-protected:
- GctReferenceObject(const bool refcounting = FALSE);
- GctReferenceObject(const GctReferenceObject&,
- const bool refcounting = FALSE);
- virtual ~GctReferenceObject();
-
- void operator=(const GctReferenceObject&);
-
- void ok() const;
-
- // Disallowed (create pointers to objects via new only)
- // It is kept protected so that heirs can do *-cast-& tricks to work
- // around the contravariance of abstract virtuals. This operator should
- // never be used to return an address of a GctReferenceObject.
- GctReferenceObject *operator&() const;
-private:
- const char *class_name() const;
-
- bool _destructed; // ensure no use of destructed objects
- // this bit guards against the destruct-before-copy g++ bug
-
- bool _refcounting; // was allocated via operator new()
- GctReferenceCount _refcount;
-
- // TODO - these names can never be used again in a derived
- // class; should they be obfuscated some to free up the
- // names (these are good, commonly-used names).
- void reference();
- void dereference(GctReferenceObject *&);
- void kill();
-
- bool refcounted() const;
- void refcounting(); // as if given in the constructor
-
- // Using this scheme, only GctRef can manipulate the
- // reference count via reference(), dereference(). The derived
- // classes cannot do such, and the _refcount field is not
- // available to be tweaked by GctRef in any way other
- // way than the inc/dec/zero interface.
- friend class GctRef;
-};
-
-
-//# 26 "../../../../mips/include/Gct/Reference.h" 2
-
-//# 1 "../../../../mips/include/Gct/Reference/GctRef.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctRef class
-//
-// Expects to be included by Gct/Reference.h
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/bool.h" 1
-
-
-
-
-
-
-
-//# 25 "../../../../mips/include/Gct/Reference/GctRef.h" 2
-
-
-//# 1 "../../../../mips/include/Gct/Object/GctHashObject.h" 1
-// -*- C++ -*-
-//# 42 "../../../../mips/include/Gct/Object/GctHashObject.h"
-
-//# 27 "../../../../mips/include/Gct/Reference/GctRef.h" 2
-
-
-class GctReferenceObject;
-
-class GctRef: virtual public GctHashObject {
-public:
- GctRef();
- GctRef(const GctRef&);
- virtual ~GctRef();
-
- void operator=(GctRef&);
-
- // Accessor functions
- bool valid() const; // the managed pointer is !null
- bool null() const; // the managed pointer is null
-
- GctReferenceObject *ref() const; // faults if not valid
- operator void*() const; // unchecked reference
-
- void nullify(); // set the managed pointer to null
- void invalidate(); // set the managed pointer to null
-
- unsigned hash() const;
-
- // the stringify() is standard
- void OK() const;
-protected:
- void ok() const;
-
- // We want to make sure pointers do not float around for very long.
- // This constructor is used by descendants of this class only; it is
- // expected that such descendants will have friend functions which
- // will call ``new MumbleObject()'' and return a GctRef to THAT.
- // MumbleObject would be a descendant of GctReferenceObject
- GctRef(GctReferenceObject *);
- friend class GctReferenceObject;
-private:
- const char *class_name() const;
-
- GctReferenceObject *_pointer; // may store 0
-
- bool _destructed; // ensure no use of destructed objects
- // this bit guards against the destruct-before-copy g++ bug
-};
-
-inline
-GctRef::operator void*() const
-{ return this->_pointer; }
-
-inline bool
-GctRef::valid() const
-{ return (bool)(this->_pointer != 0); }
-
-inline bool
-GctRef::null() const
-{ return (bool)(this->_pointer == 0); }
-
-//
-// Required operations for the container classes
-//
-// NOTE: we can't use const here because the genclass code doesn't
-// That is the ONLY reason for not using const reference args here.
-//
-extern int operator==(GctRef&, GctRef&);
-extern int operator!=(GctRef&, GctRef&);
-
-extern int operator<=(GctRef&, GctRef&);
-extern int operator<(GctRef&, GctRef&);
-
-extern int operator>=(GctRef&, GctRef&);
-extern int operator>(GctRef&, GctRef&);
-
-extern unsigned hash(GctRef&);
-
-
-//# 27 "../../../../mips/include/Gct/Reference.h" 2
-
-
-
-//# 47 "../../../../mips/include/Gct/genclasses.h" 2
-
-
-//# 1 "../../../../mips/include/Gct/Ast/GctAstRef.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctAstRef class
-//
-// Expects to be included by Gct/Ast.h
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "../../../../mips/include/Gct/Reference.h" 1
-// -*- C++ -*-
-//# 29 "../../../../mips/include/Gct/Reference.h"
-
-//# 25 "../../../../mips/include/Gct/Ast/GctAstRef.h" 2
-
-
-//# 1 "../../../../mips/include/Gct/Ast/GctAstType.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctAstType enum
-//
-// Wendell Baker, Berkeley CAD Group, 1992 (wbaker@ic.Berkeley.EDU)
-//
-
-
-//
-// GctAstType enum
-//
-enum GctAstType {
- Gct_Leaf,
- Gct_Tree
-};
-
-extern const char *stringify(GctAstType a);
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 26 "../../../../mips/include/Gct/Ast/GctAstType.h" 2
-
-extern ostream& operator<<(ostream&, GctAstType);
-
-
-//# 27 "../../../../mips/include/Gct/Ast/GctAstRef.h" 2
-
-
-class GctAst;
-class GctTree;
-class GctLeaf;
-
-class GctAstRef: public GctRef {
-public:
- GctAstRef();
- GctAstRef(const GctAstRef&);
-
- GctAst *ref() const; // may return 0 (not requires valid)
-
- GctAstType concrete_type() const; // requires valid()
- GctTree *tree() const; // never return 0 - typechecked
- GctLeaf *leaf() const; // never return 0 - typechecked
-protected:
- // We make sure pointers do not float around for very long.
- // This constructor cooperates with Gct{Leaf,Tree}::New
- // (all flavors) to allow for the creation of new dynamic structures.
- GctAstRef(GctAst *);
- friend class GctLeaf;
- friend class GctTree;
-};
-
-
-//# 49 "../../../../mips/include/Gct/genclasses.h" 2
-
-
-
-//# 2 "GctNameRef.List.cc" 2
-
-//# 1 "../../../../mips/include/Gct/Name/GctNameRef.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctNameRef class
-//
-// Expects to be included by Gct/Name.h
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-
-
-
-//#pragma interface
-
-
-
-//# 1 "../../../../mips/include/Gct/Reference.h" 1
-// -*- C++ -*-
-//# 29 "../../../../mips/include/Gct/Reference.h"
-
-//# 25 "../../../../mips/include/Gct/Name/GctNameRef.h" 2
-
-
-//# 1 "../../../../mips/include/Gct/Name/GctNameType.h" 1
-// -*- C++ -*-
-
-
-
-//
-// GctNameType enum
-//
-// Wendell Baker, Berkeley CAD Group, 1991 (wbaker@ic.Berkeley.EDU)
-//
-
-
-//
-// GctNameType enum
-//
-enum GctNameType {
- Gct_Identifier,
- Gct_Signature,
-};
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h" 1
-// This is part of the iostream library, providing -*- C++ -*- input/output.
-// Copyright (C) 1991 Per Bothner.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free
-// Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-//# 210 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/iostream.h"
-
-//# 24 "../../../../mips/include/Gct/Name/GctNameType.h" 2
-
-
-extern char *ntoa(GctNameType n, unsigned width = 0);
-extern ostream& operator<<(ostream&, GctNameType);
-
-
-//# 27 "../../../../mips/include/Gct/Name/GctNameRef.h" 2
-
-
-class GctName;
-class GctIdentifier;
-class GctSignature;
-
-class GctNameRef: public GctRef {
-public:
- GctNameRef();
- GctNameRef(const GctNameRef&);
-
- GctName *ref() const; // may return 0 (not requires valid())
-
- GctNameType concrete_type() const; // requires valid()
- GctIdentifier *identifier() const; // never return 0 - typechecked
- GctSignature *signature() const; // never return 0 - typechecked
-protected:
- // We make sure pointers do not float around for very long.
- // This constructor cooperates with GctIdentifier::New and
- // GctSignature::New (all flavors) to allow for the creation of new
- // dynamic structures.
- GctNameRef(GctName *);
- friend class GctIdentifier;
- friend class GctSignature;
-
-private:
- const char *class_name() const;
-};
-
-//
-// Required operations for use by genclass container classes
-//
-// These are more specific than the ones supplied by GctRef
-// because they use the name of the attribute as the key for
-// comparison instead of the pointer stored as a void* value.
-//
-// NOTE: we can't use const here because the genclass code doesn't
-// That is the ONLY reason for not using const reference args here.
-//
-extern int operator==(GctNameRef&, GctNameRef&);
-extern int operator!=(GctNameRef&, GctNameRef&);
-
-extern int operator<=(GctNameRef&, GctNameRef&);
-extern int operator<(GctNameRef&, GctNameRef&);
-
-extern int operator>=(GctNameRef&, GctNameRef&);
-extern int operator>(GctNameRef&, GctNameRef&);
-
-// extern unsigned hash(GctNameRef&)
-// is handled by the previous declaration of
-// extern unsigned hash(GctRef&);
-
-
-//# 3 "GctNameRef.List.cc" 2
-
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of GNU CC.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY. No author or distributor
-accepts responsibility to anyone for the consequences of using it
-or for whether it serves any particular purpose or works at all,
-unless he says so in writing. Refer to the GNU CC General Public
-License for full details.
-
-Everyone is granted permission to copy, modify and redistribute
-GNU CC, but only under the conditions described in the
-GNU CC General Public License. A copy of this license is
-supposed to have been given to you along with GNU CC so you
-can know your rights and responsibilities. It should be in a
-file named COPYING. Among other things, the copyright notice
-and this notice must be preserved on all copies.
-*/
-
-
-//#pragma implementation
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/builtin.h" 1
-// This may look like C code, but it is really -*- C++ -*-
-
-/*
-Copyright (C) 1988, 1992 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-/*
- arithmetic, etc. functions on built in types
-*/
-
-
-//# 214 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/builtin.h"
-
-//# 30 "GctNameRef.List.cc" 2
-
-//# 1 "genclasses/GctNameRef.List.h" 1
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/Pix.h" 1
-
-
-
-typedef void* Pix;
-
-//# 1 "genclasses/GctNameRef.List.h" 2
-
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of GNU CC.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY. No author or distributor
-accepts responsibility to anyone for the consequences of using it
-or for whether it serves any particular purpose or works at all,
-unless he says so in writing. Refer to the GNU CC General Public
-License for full details.
-
-Everyone is granted permission to copy, modify and redistribute
-GNU CC, but only under the conditions described in the
-GNU CC General Public License. A copy of this license is
-supposed to have been given to you along with GNU CC so you
-can know your rights and responsibilities. It should be in a
-file named COPYING. Among other things, the copyright notice
-and this notice must be preserved on all copies.
-*/
-
-
-
-
-//#pragma once
-//#pragma interface
-
-
-
-
-
-typedef void (*GctNameRefProcedure)(GctNameRef&);
-typedef GctNameRef (*GctNameRefMapper)(GctNameRef&);
-typedef GctNameRef& (*GctNameRefCombiner)(const GctNameRef&,
- const GctNameRef&);
-typedef int (*GctNameRefPredicate)(GctNameRef&);
-typedef int (*GctNameRefComparator)(GctNameRef&, GctNameRef&);
-
-
-//# 1 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/Pix.h" 1
-
-
-
-
-
-//# 42 "genclasses/GctNameRef.List.h" 2
-
-
-struct GctNameRefListNode
-{
- GctNameRefListNode* tl;
- short ref;
- GctNameRef hd;
-};
-
-extern GctNameRefListNode NilGctNameRefListNode;
-
-class GctNameRefList
-{
-protected:
- GctNameRefListNode* P;
-
- GctNameRefList(GctNameRefListNode* p);
-public:
- GctNameRefList();
- GctNameRefList(GctNameRef& head);
- GctNameRefList(GctNameRef& head, GctNameRefList& tl);
- GctNameRefList(const GctNameRefList& a);
- GctNameRefList(Pix p);
- ~GctNameRefList();
-
- GctNameRefList& operator = (const GctNameRefList& a);
-
- int null();
- int valid();
- operator const void* ();
- int operator ! ();
-
- int length() const;
- int list_length();
-
- GctNameRef& get();
- GctNameRef& head();
- GctNameRef& operator [] (int n);
-
- GctNameRefList nth(int n);
- GctNameRefList tail();
- GctNameRefList last() const;
-
- GctNameRefList find(GctNameRef& targ);
- GctNameRefList find(GctNameRefList& targ);
- int contains(GctNameRef& targ) const;
- int contains(GctNameRefList& targ) const;
- int position(GctNameRef& targ);
-
- friend GctNameRefList copy(GctNameRefList& a);
- friend GctNameRefList concat(GctNameRefList& a, GctNameRefList& b);
- friend GctNameRefList append(GctNameRefList& a, GctNameRefList& b);
- friend GctNameRefList map(GctNameRefMapper f, GctNameRefList& a);
- friend GctNameRefList merge(GctNameRefList& a, GctNameRefList& b, GctNameRefComparator f);
- friend GctNameRefList combine(GctNameRefCombiner f, GctNameRefList& a, GctNameRefList& b);
- friend GctNameRefList reverse(GctNameRefList& a);
- friend GctNameRefList select(GctNameRefPredicate f, GctNameRefList& a);
- friend GctNameRefList remove(GctNameRef& targ, GctNameRefList& a);
- friend GctNameRefList remove(GctNameRefPredicate f, GctNameRefList& a);
- friend GctNameRefList subst(GctNameRef& old, GctNameRef& repl, GctNameRefList& a);
-
- void push(GctNameRef& x);
- GctNameRef pop();
-
- void set_tail(GctNameRefList& p);
- void append(GctNameRefList& p);
- void prepend(GctNameRefList& p);
- void del(GctNameRef& targ);
- void del(GctNameRefPredicate f);
- void select(GctNameRefPredicate f);
- void subst(GctNameRef& old, GctNameRef& repl);
- void reverse();
- void sort(GctNameRefComparator f);
-
- void apply(GctNameRefProcedure f);
- GctNameRef reduce(GctNameRefCombiner f, GctNameRef& base);
-
- friend int operator == (GctNameRefList& a, GctNameRefList& b);
- friend int operator != (GctNameRefList& a, GctNameRefList& b);
-
- Pix first() const;
- void next(Pix& p) const;
- Pix seek(GctNameRef& item) const;
- GctNameRef& operator () (Pix p) const;
- int owns(Pix p) const;
-
- void error(const char*) const;
- int OK() const;
-};
-
-
-
-inline void reference(GctNameRefListNode* p)
-{
- if (p->ref >= 0) ++p->ref;
-}
-
-inline void dereference(GctNameRefListNode* p)
-{
- while (p->ref > 0 && --p->ref == 0)
- {
- GctNameRefListNode* n = p->tl;
- delete(p);
- p = n;
- }
-}
-
-
-inline GctNameRefListNode* newGctNameRefListNode(const GctNameRef& h)
-{
- GctNameRefListNode* p = new GctNameRefListNode;
- p->ref = 1;
- p->hd = (GctNameRef&) h;
- return p;
-}
-
-inline GctNameRefListNode* newGctNameRefListNode(GctNameRef& h, GctNameRefListNode* t)
-{
- GctNameRefListNode* p = new GctNameRefListNode;
- p->ref = 1;
- p->hd = h;
- p->tl = t;
- return p;
-}
-
-
-inline GctNameRefList::~GctNameRefList()
-{
- dereference(P);
-}
-
-inline GctNameRefList::GctNameRefList()
-{
- P = &NilGctNameRefListNode;
-}
-
-inline GctNameRefList::GctNameRefList(GctNameRefListNode* p)
-{
- P = p;
-}
-
-inline GctNameRefList::GctNameRefList(GctNameRef& head)
-{
- P = newGctNameRefListNode(head);
- P->tl = &NilGctNameRefListNode;
-}
-
-inline GctNameRefList::GctNameRefList(GctNameRef& head, GctNameRefList& tl)
-{
- P = newGctNameRefListNode(head, tl.P);
- reference(P->tl);
-}
-
-inline GctNameRefList::GctNameRefList(const GctNameRefList& a)
-{
- GctNameRefList& gl = (GctNameRefList&) a;
- reference(gl.P);
- P = a.P;
-}
-
-
-inline GctNameRef& GctNameRefList::get()
-{
- return P->hd;
-}
-
-inline GctNameRef& GctNameRefList::head()
-{
- return P->hd;
-}
-
-
-inline GctNameRefList GctNameRefList::tail()
-{
- reference(P->tl);
- return GctNameRefList(P->tl);
-}
-
-
-
-inline int GctNameRefList::null()
-{
- return P == &NilGctNameRefListNode;
-}
-
-inline int GctNameRefList::valid()
-{
- return P != &NilGctNameRefListNode;
-}
-
-inline GctNameRefList::operator const void* ()
-{
- return (P == &NilGctNameRefListNode)? 0 : this;
-}
-
-inline int GctNameRefList::operator ! ()
-{
- return (P == &NilGctNameRefListNode);
-}
-
-
-inline void GctNameRefList::push(GctNameRef& head)
-{
- GctNameRefListNode* oldp = P;
- P = newGctNameRefListNode(head, oldp);
-}
-
-
-inline int operator != (GctNameRefList& x, GctNameRefList& y)
-{
- return !(x == y);
-}
-
-inline Pix GctNameRefList::first() const
-{
- return (P == &NilGctNameRefListNode)? 0 : Pix(P);
-}
-
-inline GctNameRef& GctNameRefList::operator () (Pix p) const
-{
- return ((GctNameRefListNode*)p)->hd;
-}
-
-inline void GctNameRefList::next(Pix& p) const
-{
- if (p != 0)
- {
- p = Pix(((GctNameRefListNode*)p)->tl);
- if (p == &NilGctNameRefListNode) p = 0;
- }
-}
-
-inline GctNameRefList::GctNameRefList(Pix p)
-{
- P = (GctNameRefListNode*)p;
- reference(P);
-}
-
-
-
-//# 31 "GctNameRef.List.cc" 2
-
-
-GctNameRefListNode NilGctNameRefListNode;
-
-class init_NilGctNameRefListNode
-{
-public:
- inline init_NilGctNameRefListNode()
- {
- NilGctNameRefListNode.tl = &NilGctNameRefListNode;
- NilGctNameRefListNode.ref = -1;
- }
-};
-
-static init_NilGctNameRefListNode NilGctNameRefListNode_initializer;
-
-GctNameRefList& GctNameRefList::operator = (const GctNameRefList& a)
-{
- reference(a.P);
- dereference(P);
- P = a.P;
- return *this;
-}
-
-GctNameRef GctNameRefList::pop()
-{
- GctNameRef res = P->hd;
- GctNameRefListNode* tail = P->tl;
- reference(tail);
- dereference(P);
- P = tail;
- return res;
-}
-
-void GctNameRefList::set_tail(GctNameRefList& a)
-{
- reference(a.P);
- dereference(P->tl);
- P->tl = a.P;
-}
-
-GctNameRefList GctNameRefList::nth(int n)
-{
- GctNameRefListNode* p;
- for (p = P; n-- > 0; p = p->tl);
- reference(p);
- return GctNameRefList(p);
-}
-
-GctNameRefList GctNameRefList::last() const
-{
- GctNameRefListNode* p = P;
- if (p != &NilGctNameRefListNode) while (p->tl != &NilGctNameRefListNode) p = p->tl;
- reference(p);
- return GctNameRefList(p);
-}
-
-void GctNameRefList::append(GctNameRefList& l)
-{
- GctNameRefListNode* p = P;
- GctNameRefListNode* a = l.P;
- reference(a);
- if (p != &NilGctNameRefListNode)
- {
- while (p->tl != &NilGctNameRefListNode) p = p->tl;
- p->tl = a;
- }
- else
- P = a;
-}
-
-int GctNameRefList::length() const
-{
- int l = 0;
- for (GctNameRefListNode* p = P; p != &NilGctNameRefListNode; p = p->tl) ++l;
- return l;
-}
-
-GctNameRef& GctNameRefList::operator [] (int n)
-{
- GctNameRefListNode* p;
- for (p = P; n-- > 0; p = p->tl);
- return (p->hd);
-}
-
-int operator == (GctNameRefList& x, GctNameRefList& y)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* b = y.P;
-
- for (;;)
- {
- if (a == &NilGctNameRefListNode)
- return b == &NilGctNameRefListNode;
- else if (b == &NilGctNameRefListNode)
- return 0;
- else if (a->hd == b->hd)
- {
- a = a->tl;
- b = b->tl;
- }
- else
- return 0;
- }
-}
-
-
-void GctNameRefList::apply(GctNameRefProcedure f)
-{
- for(GctNameRefListNode* p = P; p != &NilGctNameRefListNode; p = p->tl)
- (*f)((p->hd));
-}
-
-void GctNameRefList::subst(GctNameRef& old, GctNameRef& repl)
-{
- for(GctNameRefListNode* p = P; p != &NilGctNameRefListNode; p = p->tl)
- if (p->hd == old)
- p->hd = repl;
-}
-
-GctNameRef GctNameRefList::reduce(GctNameRefCombiner f, GctNameRef& base)
-{
- GctNameRef r = base;
- for(GctNameRefListNode* p = P; p != &NilGctNameRefListNode; p = p->tl)
- r = (*f)(r, (p->hd));
- return r;
-}
-
-int GctNameRefList::position(GctNameRef& targ)
-{
- int l = 0;
- GctNameRefListNode* p = P;
- for (;;)
- {
- if (p == &NilGctNameRefListNode)
- return -1;
- else if (p->hd == targ)
- return l;
- else
- {
- ++l;
- p = p->tl;
- }
- }
-}
-
-int GctNameRefList::contains(GctNameRef& targ) const
-{
- GctNameRefListNode* p = P;
- for (;;)
- {
- if (p == &NilGctNameRefListNode)
- return 0;
- else if (p->hd == targ)
- return 1;
- else
- p = p->tl;
- }
-}
-
-GctNameRefList GctNameRefList::find(GctNameRef& targ)
-{
- GctNameRefListNode* p;
- for (p = P; p != &NilGctNameRefListNode && !(p->hd == targ); p=p->tl);
- reference(p);
- return GctNameRefList(p);
-}
-
-Pix GctNameRefList::seek(GctNameRef& targ) const
-{
- GctNameRefListNode* p = P;
- for (;;)
- {
- if (p == &NilGctNameRefListNode)
- return 0;
- else if (p->hd == targ)
- return Pix(p);
- else
- p = p->tl;
- }
-}
-
-int GctNameRefList::owns(Pix i) const
-{
- GctNameRefListNode* p = P;
- for (;;)
- {
- if (p == &NilGctNameRefListNode)
- return 0;
- else if (Pix(p) == i)
- return 1;
- else
- p = p->tl;
- }
-}
-
-GctNameRefList GctNameRefList::find(GctNameRefList& target)
-{
- GctNameRefListNode* targ = target.P;
- if (targ == &NilGctNameRefListNode)
- return GctNameRefList(targ);
-
- GctNameRefListNode* p = P;
- while (p != &NilGctNameRefListNode)
- {
- if (p->hd == targ->hd)
- {
- GctNameRefListNode* a = p->tl;
- GctNameRefListNode* t = targ->tl;
- for(;;)
- {
- if (t == &NilGctNameRefListNode)
- {
- reference(p);
- return GctNameRefList(p);
- }
- else if (a == &NilGctNameRefListNode || !(a->hd == t->hd))
- break;
- else
- {
- a = a->tl;
- t = t->tl;
- }
- }
- }
- p = p->tl;
- }
- return GctNameRefList(&NilGctNameRefListNode);
-}
-
-int GctNameRefList::contains(GctNameRefList& target) const
-{
- GctNameRefListNode* targ = target.P;
- if (targ == &NilGctNameRefListNode)
- return 0;
-
- GctNameRefListNode* p = P;
- while (p != &NilGctNameRefListNode)
- {
- if (p->hd == targ->hd)
- {
- GctNameRefListNode* a = p->tl;
- GctNameRefListNode* t = targ->tl;
- for(;;)
- {
- if (t == &NilGctNameRefListNode)
- return 1;
- else if (a == &NilGctNameRefListNode || !(a->hd == t->hd))
- break;
- else
- {
- a = a->tl;
- t = t->tl;
- }
- }
- }
- p = p->tl;
- }
- return 0;
-}
-
-void GctNameRefList::del(GctNameRef& targ)
-{
- GctNameRefListNode* h = P;
-
- for (;;)
- {
- if (h == &NilGctNameRefListNode)
- {
- P = h;
- return;
- }
- else if (h->hd == targ)
- {
- GctNameRefListNode* nxt = h->tl;
- reference(nxt);
- dereference(h);
- h = nxt;
- }
- else
- break;
- }
-
- GctNameRefListNode* trail = h;
- GctNameRefListNode* p = h->tl;
- while (p != &NilGctNameRefListNode)
- {
- if (p->hd == targ)
- {
- GctNameRefListNode* nxt = p->tl;
- reference(nxt);
- dereference(p);
- trail->tl = nxt;
- p = nxt;
- }
- else
- {
- trail = p;
- p = p->tl;
- }
- }
- P = h;
-}
-
-void GctNameRefList::del(GctNameRefPredicate f)
-{
- GctNameRefListNode* h = P;
- for (;;)
- {
- if (h == &NilGctNameRefListNode)
- {
- P = h;
- return;
- }
- else if ((*f)(h->hd))
- {
- GctNameRefListNode* nxt = h->tl;
- reference(nxt);
- dereference(h);
- h = nxt;
- }
- else
- break;
- }
-
- GctNameRefListNode* trail = h;
- GctNameRefListNode* p = h->tl;
- while (p != &NilGctNameRefListNode)
- {
- if ((*f)(p->hd))
- {
- GctNameRefListNode* nxt = p->tl;
- reference(nxt);
- dereference(p);
- trail->tl = nxt;
- p = nxt;
- }
- else
- {
- trail = p;
- p = p->tl;
- }
- }
- P = h;
-}
-
-void GctNameRefList::select(GctNameRefPredicate f)
-{
- GctNameRefListNode* h = P;
- for (;;)
- {
- if (h == &NilGctNameRefListNode)
- {
- P = h;
- return;
- }
- else if (!(*f)(h->hd))
- {
- GctNameRefListNode* nxt = h->tl;
- reference(nxt);
- dereference(h);
- h = nxt;
- }
- else
- break;
- }
- GctNameRefListNode* trail = h;
- GctNameRefListNode* p = h->tl;
- while (p != &NilGctNameRefListNode)
- {
- if (!(*f)(p->hd))
- {
- GctNameRefListNode* nxt = p->tl;
- reference(nxt);
- dereference(p);
- trail->tl = nxt;
- p = nxt;
- }
- else
- {
- trail = p;
- p = p->tl;
- }
- }
- P = h;
-}
-
-void GctNameRefList::reverse()
-{
- GctNameRefListNode* l = &NilGctNameRefListNode;
- GctNameRefListNode* p = P;
- while (p != &NilGctNameRefListNode)
- {
- GctNameRefListNode* nxt = p->tl;
- p->tl = l;
- l = p;
- p = nxt;
- }
- P = l;
-}
-
-
-GctNameRefList copy(GctNameRefList& x)
-{
- GctNameRefListNode* a = x.P;
- if (a == &NilGctNameRefListNode)
- return GctNameRefList(a);
- else
- {
- GctNameRefListNode* h = newGctNameRefListNode(a->hd);
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode(a->hd);
- trail->tl = n;
- trail = n;
- }
- trail->tl = &NilGctNameRefListNode;
- return GctNameRefList(h);
- }
-}
-
-
-GctNameRefList subst(GctNameRef& old, GctNameRef& repl, GctNameRefList& x)
-{
- GctNameRefListNode* a = x.P;
- if (a == &NilGctNameRefListNode)
- return GctNameRefList(a);
- else
- {
- GctNameRefListNode* h = new GctNameRefListNode;
- h->ref = 1;
- if (a->hd == old)
- h->hd = repl;
- else
- h->hd = a->hd;
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- GctNameRefListNode* n = new GctNameRefListNode;
- n->ref = 1;
- if (a->hd == old)
- n->hd = repl;
- else
- n->hd = a->hd;
- trail->tl = n;
- trail = n;
- }
- trail->tl = &NilGctNameRefListNode;
- return GctNameRefList(h);
- }
-}
-
-GctNameRefList combine(GctNameRefCombiner f, GctNameRefList& x, GctNameRefList& y)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* b = y.P;
- if (a == &NilGctNameRefListNode || b == &NilGctNameRefListNode)
- return GctNameRefList(&NilGctNameRefListNode);
- else
- {
- GctNameRefListNode* h = newGctNameRefListNode((*f)(a->hd, b->hd));
- GctNameRefListNode* trail = h;
- a = a->tl;
- b = b->tl;
- while (a != &NilGctNameRefListNode && b != &NilGctNameRefListNode)
- {
- GctNameRefListNode* n = newGctNameRefListNode((*f)(a->hd, b->hd));
- trail->tl = n;
- trail = n;
- a = a->tl;
- b = b->tl;
- }
- trail->tl = &NilGctNameRefListNode;
- return GctNameRefList(h);
- }
-}
-
-GctNameRefList reverse(GctNameRefList& x)
-{
- GctNameRefListNode* a = x.P;
- if (a == &NilGctNameRefListNode)
- return GctNameRefList(a);
- else
- {
- GctNameRefListNode* l = newGctNameRefListNode(a->hd);
- l->tl = &NilGctNameRefListNode;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode(a->hd);
- n->tl = l;
- l = n;
- }
- return GctNameRefList(l);
- }
-}
-
-GctNameRefList append(GctNameRefList& x, GctNameRefList& y)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* b = y.P;
- reference(b);
- if (a != &NilGctNameRefListNode)
- {
- GctNameRefListNode* h = newGctNameRefListNode(a->hd);
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode(a->hd);
- trail->tl = n;
- trail = n;
- }
- trail->tl = b;
- return GctNameRefList(h);
- }
- else
- return GctNameRefList(b);
-}
-
-void GctNameRefList::prepend(GctNameRefList& y)
-{
- GctNameRefListNode* b = y.P;
- if (b != &NilGctNameRefListNode)
- {
- GctNameRefListNode* h = newGctNameRefListNode(b->hd);
- GctNameRefListNode* trail = h;
- for(b = b->tl; b != &NilGctNameRefListNode; b = b->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode(b->hd);
- trail->tl = n;
- trail = n;
- }
- trail->tl = P;
- P = h;
- }
-}
-
-GctNameRefList concat(GctNameRefList& x, GctNameRefList& y)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* b = y.P;
- if (a != &NilGctNameRefListNode)
- {
- GctNameRefListNode* h = newGctNameRefListNode(a->hd);
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode(a->hd);
- trail->tl = n;
- trail = n;
- };
- for(;b != &NilGctNameRefListNode; b = b->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode(b->hd);
- trail->tl = n;
- trail = n;
- }
- trail->tl = &NilGctNameRefListNode;
- return GctNameRefList(h);
- }
- else if (b != &NilGctNameRefListNode)
- {
- GctNameRefListNode* h = newGctNameRefListNode(b->hd);
- GctNameRefListNode* trail = h;
- for(b = b->tl; b != &NilGctNameRefListNode; b = b->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode(b->hd);
- trail->tl = n;
- trail = n;
- }
- trail->tl = &NilGctNameRefListNode;
- return GctNameRefList(h);
- }
- else
- return GctNameRefList(&NilGctNameRefListNode);
-}
-
-GctNameRefList select(GctNameRefPredicate f, GctNameRefList& x)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* h = &NilGctNameRefListNode;
- while (a != &NilGctNameRefListNode)
- {
- if ((*f)(a->hd))
- {
- h = newGctNameRefListNode(a->hd);
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- if ((*f)(a->hd))
- {
- GctNameRefListNode* n = newGctNameRefListNode(a->hd);
- trail->tl = n;
- trail = n;
- }
- }
- trail->tl = &NilGctNameRefListNode;
- break;
- }
- else
- a = a->tl;
- }
- return GctNameRefList(h);
-}
-
-GctNameRefList remove(GctNameRefPredicate f, GctNameRefList& x)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* h = &NilGctNameRefListNode;
- while (a != &NilGctNameRefListNode)
- {
- if (!(*f)(a->hd))
- {
- h = newGctNameRefListNode(a->hd);
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- if (!(*f)(a->hd))
- {
- GctNameRefListNode* n = newGctNameRefListNode(a->hd);
- trail->tl = n;
- trail = n;
- }
- }
- trail->tl = &NilGctNameRefListNode;
- break;
- }
- else
- a = a->tl;
- }
- return GctNameRefList(h);
-}
-
-GctNameRefList remove(GctNameRef& targ, GctNameRefList& x)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* h = &NilGctNameRefListNode;
- while (a != &NilGctNameRefListNode)
- {
- if (!(a->hd == targ))
- {
- h = newGctNameRefListNode(a->hd);
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- if (!(a->hd == targ))
- {
- GctNameRefListNode* n = newGctNameRefListNode(a->hd);
- trail->tl = n;
- trail = n;
- }
- }
- trail->tl = &NilGctNameRefListNode;
- break;
- }
- else
- a = a->tl;
- }
- return GctNameRefList(h);
-}
-
-GctNameRefList map(GctNameRefMapper f, GctNameRefList& x)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* h = &NilGctNameRefListNode;
- if (a != &NilGctNameRefListNode)
- {
- h = newGctNameRefListNode((*f)(a->hd));
- GctNameRefListNode* trail = h;
- for(a = a->tl; a != &NilGctNameRefListNode; a = a->tl)
- {
- GctNameRefListNode* n = newGctNameRefListNode((*f)(a->hd));
- trail->tl = n;
- trail = n;
- }
- trail->tl = &NilGctNameRefListNode;
- }
- return GctNameRefList(h);
-}
-
-
-GctNameRefList merge(GctNameRefList& x, GctNameRefList& y, GctNameRefComparator f)
-{
- GctNameRefListNode* a = x.P;
- GctNameRefListNode* b = y.P;
-
- if (a == &NilGctNameRefListNode)
- {
- if (b == &NilGctNameRefListNode)
- return GctNameRefList(&NilGctNameRefListNode);
- else
- return copy(y);
- }
- else if (b == &NilGctNameRefListNode)
- return copy(x);
-
- GctNameRefListNode* h = new GctNameRefListNode;
- h->ref = 1;
- if ((*f)(a->hd, b->hd) <= 0)
- {
- h->hd = a->hd;
- a = a->tl;
- }
- else
- {
- h->hd = b->hd;
- b = b->tl;
- }
-
- GctNameRefListNode* r = h;
-
- for(;;)
- {
- if (a == &NilGctNameRefListNode)
- {
- while (b != &NilGctNameRefListNode)
- {
- GctNameRefListNode* n = new GctNameRefListNode;
- n->ref = 1;
- n->hd = b->hd;
- r->tl = n;
- r = n;
- b = b->tl;
- }
- r->tl = &NilGctNameRefListNode;
- return GctNameRefList(h);
- }
- else if (b == &NilGctNameRefListNode)
- {
- while (a != &NilGctNameRefListNode)
- {
- GctNameRefListNode* n = new GctNameRefListNode;
- n->ref = 1;
- n->hd = a->hd;
- r->tl = n;
- r = n;
- a = a->tl;
- }
- r->tl = &NilGctNameRefListNode;
- return GctNameRefList(h);
- }
- else if ((*f)(a->hd, b->hd) <= 0)
- {
- GctNameRefListNode* n = new GctNameRefListNode;
- n->ref = 1;
- n->hd = a->hd;
- r->tl = n;
- r = n;
- a = a->tl;
- }
- else
- {
- GctNameRefListNode* n = new GctNameRefListNode;
- n->ref = 1;
- n->hd = b->hd;
- r->tl = n;
- r = n;
- b = b->tl;
- }
- }
-}
-
-void GctNameRefList::sort(GctNameRefComparator f)
-{
- // strategy: place runs in queue, merge runs until done
- // This is often very fast
-
- if (P == &NilGctNameRefListNode || P->tl == &NilGctNameRefListNode)
- return;
-
- int qlen = 250; // guess a good queue size, realloc if necessary
-
- GctNameRefListNode** queue = (GctNameRefListNode**)malloc(qlen * sizeof(GctNameRefListNode*));
-
- GctNameRefListNode* h = P;
- GctNameRefListNode* a = h;
- GctNameRefListNode* b = a->tl;
- int qin = 0;
-
- while (b != &NilGctNameRefListNode)
- {
- if ((*f)(a->hd, b->hd) > 0)
- {
- if (h == a) // minor optimization: ensure runlen >= 2
- {
- h = b;
- a->tl = b->tl;
- b->tl = a;
- b = a->tl;
- }
- else
- {
- if (qin >= qlen)
- {
- qlen *= 2;
- queue = (GctNameRefListNode**)realloc(queue, qlen * sizeof(GctNameRefListNode*));
- }
- queue[qin++] = h;
- a->tl = &NilGctNameRefListNode;
- h = a = b;
- b = b->tl;
- }
- }
- else
- {
- a = b;
- b = b->tl;
- }
- }
-
- int count = qin;
- queue[qin] = h;
- if (++qin >= qlen) qin = 0;
- int qout = 0;
-
- while (count-- > 0)
- {
- a = queue[qout];
- if (++qout >= qlen) qout = 0;
- b = queue[qout];
- if (++qout >= qlen) qout = 0;
-
- if ((*f)(a->hd, b->hd) <= 0)
- {
- h = a;
- a = a->tl;
- }
- else
- {
- h = b;
- b = b->tl;
- }
- queue[qin] = h;
- if (++qin >= qlen) qin = 0;
-
- for (;;)
- {
- if (a == &NilGctNameRefListNode)
- {
- h->tl = b;
- break;
- }
- else if (b == &NilGctNameRefListNode)
- {
- h->tl = a;
- break;
- }
- else if ((*f)(a->hd, b->hd) <= 0)
- {
- h->tl = a;
- h = a;
- a = a->tl;
- }
- else
- {
- h->tl = b;
- h = b;
- b = b->tl;
- }
- }
- }
- P = queue[qout];
- free(queue);
-}
-
-int GctNameRefList::list_length()
-{
- GctNameRefListNode* fast = P;
- if (fast == &NilGctNameRefListNode)
- return 0;
-
- GctNameRefListNode* slow = fast->tl;
- if (slow == &NilGctNameRefListNode)
- return 1;
-
- fast = slow->tl;
- int n = 2;
-
- for (;;)
- {
- if (fast == &NilGctNameRefListNode)
- return n;
- else if (fast->tl == &NilGctNameRefListNode)
- return n+1;
- else if (fast == slow)
- return -1;
- else
- {
- n += 2;
- fast = fast->tl->tl;
- slow = slow->tl;
- }
- }
-}
-
-void GctNameRefList::error(const char* msg) const
-{
- (*lib_error_handler)("List", msg);
-}
-
-int GctNameRefList::OK() const
-{
- int v = P != 0; // have a node
- // check that all nodes OK, even if circular:
-
- GctNameRefListNode* fast = P;
- if (fast != &NilGctNameRefListNode)
- {
- v &= fast->ref != 0;
- GctNameRefListNode* slow = fast->tl;
- v &= slow->ref != 0;
- if (v && slow != &NilGctNameRefListNode)
- {
- fast = slow->tl;
- v &= fast->ref != 0;
- while (v)
- {
- if (fast == &NilGctNameRefListNode)
- break;
- else if (fast->tl == &NilGctNameRefListNode)
- break;
- else if (fast == slow)
- break;
- else
- {
- v &= fast->ref != 0 && slow->ref != 0;
- fast = fast->tl->tl;
- slow = slow->tl;
- }
- }
- }
- }
- if (!v) error ("invariant failure");
- return v;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p786.C b/gcc/testsuite/g++.old-deja/g++.mike/p786.C
deleted file mode 100644
index c55d0c07f88..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p786.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// prms-id: 786
-
-extern "C" void printf (char *, ...);
-extern "C" void exit(int);
-class C
- {
- int a;
-public:
- C() {a = 1;}
- };
-
-void func(const C& a, C& b)
-{
- printf ("in const func\n");
- exit(1);
-}
-
-void func(C& a, C& b)
-{
- printf ("in non-const func\n");
-}
-
-void testit(const C& a, C& b)
-{
- func(a,b);
-}
-
-int main()
-{
- C a;
- C b;
-
- func(a,b);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7865.C b/gcc/testsuite/g++.old-deja/g++.mike/p7865.C
deleted file mode 100644
index 2cac1d57a8c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7865.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// prms-id: 7865
-
-int count;
-
-struct A {
- A() { ++count; }
- ~A() { --count; }
-};
-
-int foo() { return 1; }
-
-int bar()
-{
- A a;
- for (;;) {
- A b;
- if (foo())
- return 0;
- if (foo())
- return 0;
- }
- return 0;
-}
-
-int main() {
- bar();
- return count;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7868.C b/gcc/testsuite/g++.old-deja/g++.mike/p7868.C
deleted file mode 100644
index d79e2aa3de2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7868.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// prms-id: 7868
-
-struct DIAGTYP {
-};
-struct DIAGTYP1 {
- struct DIAGTYP; // ERROR - forward declaration
- void bar() { new struct DIAGTYP; } // ERROR - undefined
- void foo() { new struct DIAGTYP1; }
-};
-
-int main () {
- struct DIAGTYP; // ERROR - forward declaration
- struct DIAGTYP *lerror_desc;
- lerror_desc= new struct DIAGTYP; // ERROR - undefined
-}
-
-void foo () {
- struct DIAGTYP *lerror_desc;
- lerror_desc= new struct DIAGTYP;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p789.C b/gcc/testsuite/g++.old-deja/g++.mike/p789.C
deleted file mode 100644
index 9cad4fd805f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p789.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// prms-id: 789
-
-extern "C" void printf (char *, ...);
-struct foo
-{
- static int count;
- virtual void print (int i, int j) { printf ("foo[%d][%d] = %d\n", i, j, x); }
- int x;
- foo () { x = count++; }
-};
-int foo::count;
-struct bar : virtual public foo
-{
- virtual void print (int i, int j) { printf ("bar[%d][%d] = %d\n", i, j, x); }
-};
-
-// bar array[3][3];
-foo array[3][3];
-
-int main ()
-{
- for (int i = 0; i < 3; i++)
- for (int j = 0; j < 3; j++) {
-// printf("&a[%d][%d] = %x\n", i, j, (void *)&array[i][j]);
- array[i][j].print (i, j);
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p789a.C b/gcc/testsuite/g++.old-deja/g++.mike/p789a.C
deleted file mode 100644
index b0df9f646de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p789a.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// global and local multidimensional array objects are not getting
-// constructors called on any dimension, other than the first. Also,
-// the destructors are not being called. Seems odd, they probably
-// used to work. :-(
-// prms-id: 789
-
-extern "C" void printf (char *, ...);
-struct foo
-{
- static int count;
- void print (int i, int j) { printf ("foo[%d][%d] = %d\n", i, j, x); }
- int x;
- foo () {
- x = count++;
- printf("this %d = %x\n", x, (void *)this);
- }
- virtual ~foo () {
- printf("this %d = %x\n", x, (void *)this);
- --count;
- }
-};
-int foo::count;
-
-
-int main ()
-{
- {
- foo array[3][3];
- for (int i = 0; i < 3; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- printf("&a[%d][%d] = %x\n", i, j, (void *)&array[i][j]);
- }
- }
- // The count should be nine, if not, fail the test.
- if (foo::count != 9)
- return 1;
- }
- if (foo::count != 0)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p7912.C b/gcc/testsuite/g++.old-deja/g++.mike/p7912.C
deleted file mode 100644
index 40f45c48c12..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p7912.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-// prms-id: 7912
-
-int count = 0;
-
-class Foo {
-public:
- Foo() { ++count; };
- Foo(const Foo&) { ++count; };
- ~Foo() { --count; };
-};
-
-
-main()
-{
- try {
- throw Foo();
- }
- catch (Foo object) {
- }
- return count;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8009.C b/gcc/testsuite/g++.old-deja/g++.mike/p8009.C
deleted file mode 100644
index e8a124b40cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8009.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// prms-id: 8009
-
-class A {
-public:
- int i;
-};
-
-class B : public A {
- B();
-};
-
-B::B() : i (-1) {} // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8018.C b/gcc/testsuite/g++.old-deja/g++.mike/p8018.C
deleted file mode 100644
index 37035bcd591..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8018.C
+++ /dev/null
@@ -1,85 +0,0 @@
-// prms-id: 8018
-
-class RefCount {
-private:
- int nref;
-
-public:
- RefCount() : nref(0) {}
- ~RefCount() {}
-
- int nrefs() const { return nref; }
- int reference() {
- nref++;
- return nref;
- }
- int unreference() {
- nref--;
- return nref;
- }
-};
-
-class A : public RefCount {
-public:
- A() {}
- ~A() {}
-};
-
-class RefA {
-private:
- A *p;
-
- void clear() {
- if (p) {
- p->unreference();
- if (!p->nrefs())
- delete p;
- }
- }
-
-public:
- RefA(A* a) : p(a) { if (p) p->reference(); }
- RefA(const RefA& a) : p(a.p) { if (p) p->reference(); }
- ~RefA() { clear(); }
-
- A* operator->() { return p; }
-
- RefA& operator=(const RefA& a) {
- clear();
- p=a.p;
- if (p)
- p->reference();
- return *this;
- }
-
- RefA& operator=(A* a) {
- clear();
- p=a;
- if (p)
- p->reference();
- return *this;
- }
-};
-
-class AccRefA {
-private:
- RefA a;
-
-public:
- AccRefA(A* ap) : a(ap) {}
- AccRefA(const RefA& ar) : a(ar) {}
- ~AccRefA() {}
-
- operator RefA&() { return a; }
- RefA& result() { return a; }
-};
-
-int
-main() {
- RefA a1 = new A;
- AccRefA aa1(a1);
- RefA a3 = aa1;
-
- if (a1->nrefs() != 3)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8039.C b/gcc/testsuite/g++.old-deja/g++.mike/p8039.C
deleted file mode 100644
index fe58d09a6dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8039.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// prms-id: 8039
-
-class C {
-public:
- int func ();
-};
-
-extern void bar(int*);
-
-int main()
-{
- int (C::*mfp)() = &C::func;
- bar((int*)mfp); // ERROR - no clear semantics
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p807.C b/gcc/testsuite/g++.old-deja/g++.mike/p807.C
deleted file mode 100644
index 00c49e72ece..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p807.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// prms-id: 807
-
-extern "C" int printf(const char*, ...);
-
-class B;
-
-class AX
-{
- protected:
- int x;
-
- public:
- operator B();
-};
-
-
-class B
-{
- private:
- int x;
- public:
- B(const AX&);
-};
-
-
-int foo(B& b); // ERROR - referenced below
-
-
-int main()
-{
- AX a;
- foo(a); // ERROR - Ambiguous B(a) or a.operator B() // See ARM 12.3.2
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p807a.C b/gcc/testsuite/g++.old-deja/g++.mike/p807a.C
deleted file mode 100644
index d7b797af8e0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p807a.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// prms-id: 807
-
-// See ARM page 275 Section 12.3.2
-
-extern "C" void printf (char *, ...);
-extern "C" void exit(int);
-
-class B;
-
-class A {
-public:
- A(B&); // ERROR - fn ref in err msg
-};
-
-class B {
-public:
- operator A(); // ERROR - fn ref in err msg
-};
-
-B b;
-A a = b; // ERROR - should fail as it is ambigious.
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p811.C b/gcc/testsuite/g++.old-deja/g++.mike/p811.C
deleted file mode 100644
index 07ab9408055..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p811.C
+++ /dev/null
@@ -1,549 +0,0 @@
-// This test case caused the compiler to abort at one point in time.
-// Build don't link:
-// Special g++ Options:
-// prms-id: 811
-
-class ostream; class streambuf;
-
-typedef long streamoff, streampos;
-
-struct _ios_fields {
- streambuf *_strbuf;
- ostream* _tie;
- int _width;
- unsigned long _flags;
- char _fill;
- unsigned char _state;
- unsigned short _precision;
-};
-
-
-enum state_value { _good = 0, _eof = 1, _fail = 2, _bad = 4 };
-enum open_mode { input=1, output=2, append=8 };
-
-
-class ios : public _ios_fields {
- public:
- enum io_state { goodbit=0, eofbit=1, failbit=2, badbit=4 };
- enum open_mode {
- in=1,
- out=2,
- ate=4,
- app=8,
- trunc=16,
- nocreate=32,
- noreplace=64 };
- enum seek_dir { beg, cur, end};
- enum { skipws=01, left=02, right=04, internal=010,
- dec=020, oct=040, hex=0100,
- showbase=0200, showpoint=0400, uppercase=01000, showpos=02000,
- scientific=04000, fixed=0100000, unitbuf=020000, stdio=040000,
- dont_close=0x80000000
- };
-
- ostream* tie() const { return _tie; }
- ostream* tie(ostream* val) { ostream* save=_tie; _tie=val; return save; }
-
-
- char fill() const { return _fill; }
- char fill(char newf) { char oldf = _fill; _fill = newf; return oldf; }
- unsigned long flags() const { return _flags; }
- unsigned long flags(unsigned long new_val) {
- unsigned long old_val = _flags; _flags = new_val; return old_val; }
- unsigned short precision() const { return _precision; }
- unsigned short precision(int newp) {
- unsigned short oldp = _precision; _precision = (unsigned short)newp;
- return oldp; }
- unsigned long setf(unsigned long val) {
- unsigned long oldbits = _flags;
- _flags |= val; return oldbits; }
- unsigned long setf(unsigned long val, unsigned long mask) {
- unsigned long oldbits = _flags;
- _flags = (_flags & ~mask) | (val & mask); return oldbits; }
- unsigned long unsetf(unsigned long mask) {
- unsigned long oldbits = _flags & mask;
- _flags &= ~mask; return oldbits; }
- int width() const { return _width; }
- int width(long val) { long save = _width; _width = val; return save; }
-
- static const unsigned long basefield;
- static const unsigned long adjustfield;
- static const unsigned long floatfield;
-
- streambuf* rdbuf() const { return _strbuf; }
- void clear(int state = 0) { _state = state; }
- int good() const { return _state == 0; }
- int eof() const { return _state & ios::eofbit; }
- int fail() const { return _state & (ios::badbit|ios::failbit); }
- int bad() const { return _state & ios::badbit; }
- int rdstate() const { return _state; }
- void set(int flag) { _state |= flag; }
- operator void*() const { return fail() ? (void*)0 : (void*)this; }
- int operator!() const { return fail(); }
-
-
- void unset(state_value flag) { _state &= ~flag; }
- void close();
- int is_open();
- int readable();
- int writable();
-
-
- protected:
- ios(streambuf*sb) { _strbuf=sb; _state=0; _width=0; _fill=' ';
- _flags=ios::skipws; _precision=6; }
-};
-
-
-
-
-typedef ios::seek_dir _seek_dir;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//# 168 "/usr/latest/lib/g++-include/streambuf.h" 3
-
-
-struct __streambuf {
-
- int _flags;
- char* _gptr;
- char* _egptr;
- char* _eback;
- char* _pbase;
- char* _pptr;
- char* _epptr;
- char* _base;
- char* _ebuf;
- struct streambuf *_chain;
-
-
-
-
-};
-
-struct streambuf : private __streambuf {
- friend class ios;
- friend class istream;
- friend class ostream;
- protected:
- static streambuf* _list_all;
- streambuf*& xchain() { return _chain; }
- void _un_link();
- void _link_in();
- char* gptr() const { return _gptr; }
- char* pptr() const { return _pptr; }
- char* egptr() const { return _egptr; }
- char* epptr() const { return _epptr; }
- char* pbase() const { return _pbase; }
- char* eback() const { return _eback; }
- char* ebuf() const { return _ebuf; }
- char* base() const { return _base; }
- void xput_char(char c) { *_pptr++ = c; }
- int xflags() { return _flags; }
- int xflags(int f) { int fl = _flags; _flags = f; return fl; }
- void xsetflags(int f) { _flags |= f; }
- void gbump(int n) { _gptr += n; }
- void pbump(int n) { _pptr += n; }
- void setb(char* b, char* eb, int a=0);
- void setp(char* p, char* ep) { _pbase=_pptr=p; _epptr=ep; }
- void setg(char* eb, char* g, char *eg) { _eback=eb; _gptr=g; _egptr=eg; }
- public:
- static int flush_all();
- static void flush_all_linebuffered();
- virtual int underflow();
- virtual int overflow(int c = (-1) );
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
- int sputbackc(char c);
- int sungetc();
- streambuf();
- virtual ~streambuf();
- int unbuffered() { return _flags & 2 ? 1 : 0; }
- int linebuffered() { return _flags & 0x4000 ? 1 : 0; }
- void unbuffered(int i)
- { if (i) _flags |= 2 ; else _flags &= ~2 ; }
- void linebuffered(int i)
- { if (i) _flags |= 0x4000 ; else _flags &= ~0x4000 ; }
- int allocate() {
- if (base() || unbuffered()) return 0;
- else return doallocate(); }
- virtual int sync();
- virtual int pbackfail(int c);
- virtual int ungetfail();
- virtual streambuf* setbuf(char* p, int len);
- int in_avail() { return _egptr - _gptr; }
- int out_waiting() { return _pptr - _pbase; }
- virtual int sputn(const char* s, int n);
- virtual int sgetn(char* s, int n);
- long sgetline(char* buf, int n, char delim, int putback_delim);
- int sbumpc() {
- if (_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr++; }
- int sgetc() {
- if (_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr; }
- int snextc() {
- if (++_gptr >= _egptr && underflow() == (-1) ) return (-1) ;
- else return *(unsigned char*)_gptr; }
- int sputc(int c) {
- if (_pptr >= _epptr) return overflow(c);
- return *_pptr++ = c, (unsigned char)c; }
- int vscan(char const *fmt0, char* ap);
- int vform(char const *fmt0, char* ap);
-
-
-
-
-
-
-};
-
-struct __file_fields {
- char _fake;
- char _shortbuf[1];
- short _fileno;
- int _blksize;
- char* _save_gptr;
- char* _save_egptr;
- long _offset;
-};
-
-class filebuf : public streambuf {
- struct __file_fields _fb;
- void init();
- public:
- filebuf();
- filebuf(int fd);
- filebuf(int fd, char* p, int len);
- ~filebuf();
- filebuf* attach(int fd);
- filebuf* open(const char *filename, const char *mode);
- filebuf* open(const char *filename, int mode, int prot = 0664);
- virtual int underflow();
- virtual int overflow(int c = (-1) );
- int is_open() { return _fb._fileno >= 0; }
- int fd() { return is_open() ? _fb._fileno : (-1) ; }
- filebuf* close();
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- int sputn(const char* s, int n);
- int sgetn(char* s, int n);
- virtual int sync();
- protected:
- virtual int pbackfail(int c);
- int is_reading() { return eback() != egptr(); }
- char* cur_ptr() { return is_reading() ? gptr() : pptr(); }
-
- char* file_ptr() { return _fb._save_gptr ? _fb._save_egptr : egptr(); }
- int do_flush();
-
- virtual int sys_read(char* buf, int size);
- virtual long sys_seek(long , _seek_dir);
- virtual long sys_write(const void*, long);
- virtual int sys_stat(void*);
- virtual int sys_close();
-};
-
-
-inline int ios::readable() { return rdbuf()->_flags & 4 ; }
-inline int ios::writable() { return rdbuf()->_flags & 8 ; }
-inline int ios::is_open() {return rdbuf()->_flags & 4 +8 ;}
-
-
-
-
-//# 25 "/usr/latest/lib/g++-include/iostream.h" 2 3
-
-
-class istream; class ostream;
-typedef istream& (*__imanip)(istream&);
-typedef ostream& (*__omanip)(ostream&);
-
-extern istream& ws(istream& ins);
-extern ostream& flush(ostream& outs);
-extern ostream& endl(ostream& outs);
-extern ostream& ends(ostream& outs);
-
-class ostream : public ios
-{
- void do_osfx();
- public:
- ostream();
- ostream(streambuf* sb, ostream* tied=__null );
- ~ostream();
-
- int opfx() { if (!good()) return 0; if (_tie) _tie->flush(); return 1; }
- void osfx() { if (flags() & (ios::unitbuf|ios::stdio))
- do_osfx(); }
- streambuf* ostreambuf() const { return _strbuf; }
- ostream& flush();
- ostream& put(char c);
- ostream& write(const char *s, int n);
- ostream& write(const unsigned char *s, int n) { return write((char*)s, n);}
- ostream& write(const void *s, int n) { return write((char*)s, n);}
- ostream& seekp(streampos);
- ostream& seekp(streamoff, _seek_dir);
- streampos tellp();
- ostream& form(const char *format ...);
- ostream& vform(const char *format, char* args);
-};
-
-extern ostream& operator<<(ostream&, char c);
-inline ostream& operator<<(ostream& os, unsigned char c)
-{ return os << (char)c; }
-
-extern ostream& operator<<(ostream&, const char *s);
-inline ostream& operator<<(ostream& os, const unsigned char *s)
-{ return os << (const char*)s; }
-
-
-extern ostream& operator<<(ostream&, void *p);
-extern ostream& operator<<(ostream&, int n);
-extern ostream& operator<<(ostream&, long n);
-extern ostream& operator<<(ostream&, unsigned int n);
-extern ostream& operator<<(ostream&, unsigned long n);
-inline ostream& operator<<(ostream& os, short n) {return os << (int)n;}
-inline ostream& operator<<(ostream& os, unsigned short n)
-{return os << (unsigned int)n;}
-extern ostream& operator<<(ostream&, float n);
-extern ostream& operator<<(ostream&, double n);
-inline ostream& operator<<(ostream& os, __omanip func) { return (*func)(os); }
-extern ostream& operator<<(ostream&, streambuf*);
-
-class istream : public ios
-{
- int _gcount;
- public:
- istream();
- istream(streambuf* sb, ostream*tied=__null );
- ~istream();
- streambuf* istreambuf() const { return _strbuf; }
- istream& get(char& c);
- istream& get(unsigned char& c);
- istream& read(char *ptr, int n);
- istream& read(unsigned char *ptr, int n) { return read((char*)ptr, n); }
- istream& read(void *ptr, int n) { return read((char*)ptr, n); }
-
- istream& getline(char* ptr, int len, char delim = '\n');
- istream& get(char* ptr, int len, char delim = '\n');
- istream& gets(char **s, char delim = '\n');
- int ipfx(int need) {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && (need == 0 || rdbuf()->in_avail() < need)) _tie->flush();
- if (!need && (flags() & ios::skipws) && !ws(*this)) return 0;
- return 1;
- }
- int ipfx0() {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie) _tie->flush();
- if ((flags() & ios::skipws) && !ws(*this)) return 0;
- return 1;
- }
- int ipfx1() {
- if (!good()) { set(ios::failbit); return 0; }
- if (_tie && rdbuf()->in_avail() == 0) _tie->flush();
- return 1;
- }
- int get() { if (!ipfx1()) return (-1) ;
- int ch = _strbuf->sbumpc();
- if (ch == (-1) ) set(ios::eofbit);
- return ch; }
- int peek() { if (!ipfx1()) return (-1) ;
- int ch = _strbuf->sgetc();
- if (ch == (-1) ) set(ios::eofbit);
- return ch; }
- int gcount() { return _gcount; }
- istream& ignore(int n=1, int delim = (-1) );
- istream& seekg(streampos);
- istream& seekg(streamoff, _seek_dir);
- streampos tellg();
- istream& putback(char ch) {
- if (good() && _strbuf->sputbackc(ch) == (-1) ) clear(ios::badbit);
- return *this;}
- istream& unget() {
- if (good() && _strbuf->sungetc() == (-1) ) clear(ios::badbit);
- return *this;}
-
- istream& unget(char ch) { return putback(ch); }
- int skip(int i);
-
-};
-
-extern istream& operator>>(istream&, char*);
-inline istream& operator>>(istream& is, unsigned char* p)
-{ return is >> (char*)p; }
-
-extern istream& operator>>(istream&, char& c);
-extern istream& operator>>(istream&, unsigned char& c);
-
-extern istream& operator>>(istream&, int&);
-extern istream& operator>>(istream&, long&);
-extern istream& operator>>(istream&, short&);
-extern istream& operator>>(istream&, unsigned int&);
-extern istream& operator>>(istream&, unsigned long&);
-extern istream& operator>>(istream&, unsigned short&);
-extern istream& operator>>(istream&, float&);
-extern istream& operator>>(istream&, double&);
-inline istream& operator>>(istream& is, __imanip func) { return (*func)(is); }
-
-inline ostream& ostream::put(char c) { _strbuf->sputc(c); return *this; }
-
-class iostream : public ios {
- int _gcount;
- public:
- iostream();
- iostream(streambuf* sb, ostream*tied=__null );
- operator istream&() { return *(istream*)this; }
- operator ostream&() { return *(ostream*)this; }
- ~iostream();
-
- istream& get(char& c) { return ((istream*)this)->get(c); }
- istream& get(unsigned char& c) { return ((istream*)this)->get(c); }
- istream& read(char *ptr, int n) { return ((istream*)this)->read(ptr, n); }
- istream& read(unsigned char *ptr, int n)
- { return ((istream*)this)->read((char*)ptr, n); }
- istream& read(void *ptr, int n)
- { return ((istream*)this)->read((char*)ptr, n); }
- istream& getline(char* ptr, int len, char delim = '\n')
- { return ((istream*)this)->getline(ptr, len, delim); }
- istream& get(char* ptr, int len, char delim = '\n')
- { return ((istream*)this)->get(ptr, len, delim); }
- istream& gets(char **s, char delim = '\n')
- { return ((istream*)this)->gets(s, delim); }
- istream& ignore(int n=1, int delim = (-1) )
- { return ((istream*)this)->ignore(n, delim); }
- int ipfx(int need) { return ((istream*)this)->ipfx(need); }
- int ipfx0() { return ((istream*)this)->ipfx0(); }
- int ipfx1() { return ((istream*)this)->ipfx1(); }
- int get() { return _strbuf->sbumpc(); }
- int peek() { return ipfx1() ? _strbuf->sgetc() : (-1) ; }
- int gcount() { return _gcount; }
- istream& putback(char ch) { return ((istream*)this)->putback(ch); }
- istream& unget() { return ((istream*)this)->unget(); }
- istream& seekg(streampos pos) { return ((istream*)this)->seekg(pos); }
- istream& seekg(streamoff off, _seek_dir dir)
- { return ((istream*)this)->seekg(off, dir); }
- streampos tellg() { return ((istream*)this)->tellg(); }
-
- istream& unget(char ch) { return putback(ch); }
-
-
-
- int opfx() { return ((ostream*)this)->opfx(); }
- void osfx() { ((ostream*)this)->osfx(); }
- ostream& flush() { return ((ostream*)this)->flush(); }
- ostream& put(char c) { return ((ostream*)this)->put(c); }
- ostream& write(const char *s, int n)
- { return ((ostream*)this)->write(s, n); }
- ostream& write(const unsigned char *s, int n)
- { return ((ostream*)this)->write((char*)s, n); }
- ostream& write(const void *s, int n)
- { return ((ostream*)this)->write((char*)s, n); }
- ostream& form(const char *format ...);
- ostream& vform(const char *format, char* args)
- { return ((ostream*)this)->vform(format, args); }
- ostream& seekp(streampos pos) { return ((ostream*)this)->seekp(pos); }
- ostream& seekp(streamoff off, _seek_dir dir)
- { return ((ostream*)this)->seekp(off, dir); }
- streampos tellp() { return ((ostream*)this)->tellp(); }
-};
-
-extern istream cin;
-extern ostream cout, cerr, clog;
-
-struct Iostream_init { } ;
-
-inline ios& dec(ios& i)
-{ i.setf(ios::dec, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& hex(ios& i)
-{ i.setf(ios::hex, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& oct(ios& i)
-{ i.setf(ios::oct, ios::dec|ios::hex|ios::oct); return i; }
-
-
-//# 7 "/usr/latest/lib/g++-include/stream.h" 2 3
-
-
-extern char* form(const char*, ...);
-
-extern char* dec(long, int=0);
-extern char* dec(int, int=0);
-extern char* dec(unsigned long, int=0);
-extern char* dec(unsigned int, int=0);
-
-extern char* hex(long, int=0);
-extern char* hex(int, int=0);
-extern char* hex(unsigned long, int=0);
-extern char* hex(unsigned int, int=0);
-
-extern char* oct(long, int=0);
-extern char* oct(int, int=0);
-extern char* oct(unsigned long, int=0);
-extern char* oct(unsigned int, int=0);
-
-inline istream& WS(istream& str) { return ws(str); }
-
-
-//# 9 "test.C" 2
-
-
-class Y {
-public:
- Y() {}
- virtual const char *stringify() = 0;
- virtual char *stringify2() const = 0; // ERROR -
-};
-
-class X: public Y {
-public:
- X(): Y() {}
- char *stringify(); // ERROR - ok
- const char *stringify2() const; // ERROR - ok
-};
-
-char *
-X::stringify() const
-{ // ERROR - ok
- return "stringify";
-}
-
-const char *
-X::stringify2()
-{ // ERROR - ok
- return "stringify2";
-}
-
-main()
-{
- X x;
- Y& y = x;
-
- cout << "x\n";
- cout << x.stringify() << '\n';
- cout << x.stringify2() << '\n';
-
- cout << "y\n";
- cout << y.stringify() << '\n';
- cout << y.stringify2() << '\n';
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8154.C b/gcc/testsuite/g++.old-deja/g++.mike/p8154.C
deleted file mode 100644
index b68ea5dd194..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8154.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-// prms-id: 8154
-
-class QvFieldData;
-class QvNode {
- QvFieldData *fieldData;
-};
-class QvGroup : public QvNode {
- static QvFieldData *fieldData;
-};
-class QvUnknownNode : public QvGroup
-{
-public:
- QvUnknownNode :: QvUnknownNode ();
-private:
- static QvFieldData *fieldData;
- virtual QvFieldData *getFieldData() { return fieldData; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8155.C b/gcc/testsuite/g++.old-deja/g++.mike/p8155.C
deleted file mode 100644
index 5be14913a6a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8155.C
+++ /dev/null
@@ -1,147 +0,0 @@
-// prms-id: 8155
-
-int fail = 1;
-
-class CMainWindow;
-class CFrameWnd;
-class CWnd;
-class CCmdTarget;
-
-typedef void (CCmdTarget::*AFX_PMSG)( void);
-typedef void (CWnd::*AFX_PMSGW)( void);
-
-struct AFX_MSGMAP_ENTRY {
- unsigned int nMessage;
- AFX_PMSG pfn;
-};
-
-struct AFX_MSGMAP {
- const AFX_MSGMAP* pBaseMap;
- const AFX_MSGMAP_ENTRY* lpEntries;
-};
-
-class CCmdTarget {
-public:
- CCmdTarget();
-private:
- static AFX_MSGMAP_ENTRY _messageEntries[];
-protected:
- static const AFX_MSGMAP messageMap;
- virtual const AFX_MSGMAP* GetMessageMap() const;
-};
-
-const AFX_MSGMAP CCmdTarget::messageMap = {
- 0, &CCmdTarget::_messageEntries[0]
-};
-
-const AFX_MSGMAP* CCmdTarget::GetMessageMap() const {
- return &CCmdTarget::messageMap;
-}
-
-AFX_MSGMAP_ENTRY CCmdTarget::_messageEntries[] =
-{
- { 0, 0 }
-};
-
-CCmdTarget :: CCmdTarget() { }
-
-class CWnd : public CCmdTarget {
-public:
- CWnd();
-
-protected:
- void OnPaint();
-private:
- static AFX_MSGMAP_ENTRY _messageEntries[];
-protected:
- static const AFX_MSGMAP messageMap;
- virtual const AFX_MSGMAP* GetMessageMap() const;
-};
-
-CWnd :: CWnd() {
-}
-
-void CWnd :: OnPaint() {
-}
-
-const AFX_MSGMAP* CWnd ::GetMessageMap() const {
- return & CWnd ::messageMap;
-}
-const AFX_MSGMAP CWnd ::messageMap = {
- & CCmdTarget ::messageMap, & CWnd ::_messageEntries[0]
- };
-AFX_MSGMAP_ENTRY CWnd ::_messageEntries[] = {
- {0, (AFX_PMSG)0 } };
-
-class CFrameWnd : public CWnd {
-public:
- CFrameWnd();
-protected:
-private:
- static AFX_MSGMAP_ENTRY _messageEntries[];
-protected:
- static const AFX_MSGMAP messageMap;
- virtual const AFX_MSGMAP* GetMessageMap() const;
-};
-
-CFrameWnd :: CFrameWnd() { }
-
-const AFX_MSGMAP* CFrameWnd ::GetMessageMap() const {
- return & CFrameWnd ::messageMap;
-}
-const AFX_MSGMAP CFrameWnd ::messageMap = {
- & CWnd ::messageMap, & CFrameWnd ::_messageEntries[0]
- };
-AFX_MSGMAP_ENTRY CFrameWnd ::_messageEntries[] = {
- {0, (AFX_PMSG)0 } };
-
-class CMainWindow : public CFrameWnd {
-public:
- CMainWindow();
- void OnPaint();
- void callProc();
-private:
- static AFX_MSGMAP_ENTRY _messageEntries[];
-protected:
- static const AFX_MSGMAP messageMap;
- virtual const AFX_MSGMAP* GetMessageMap() const;
-};
-
-CMainWindow :: CMainWindow()
-{
-}
-void CMainWindow :: OnPaint()
-{
- fail = 0;
-}
-
-void CMainWindow :: callProc()
-{
- const AFX_MSGMAP* pMessageMap;
- const AFX_MSGMAP_ENTRY *lpEntry;
-
- pMessageMap = GetMessageMap();
- lpEntry = pMessageMap->lpEntries;
-
- if( lpEntry->nMessage == 100) {
- (this->*lpEntry->pfn)();
- }
-}
-
-const AFX_MSGMAP* CMainWindow ::GetMessageMap() const {
- return & CMainWindow ::messageMap;
-}
-const AFX_MSGMAP CMainWindow ::messageMap = {
- & CFrameWnd ::messageMap, & CMainWindow ::_messageEntries[0]
- };
-AFX_MSGMAP_ENTRY CMainWindow ::_messageEntries[] = {
- { 100, (AFX_PMSG)(AFX_PMSGW)(void (CWnd::*)(void))&CMainWindow::OnPaint },
- {0, (AFX_PMSG)0 }
-};
-
-int main( int argc, char **argv) {
- CMainWindow myWindow;
-
- myWindow.callProc();
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8175.C b/gcc/testsuite/g++.old-deja/g++.mike/p8175.C
deleted file mode 100644
index 8ae40588ad8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8175.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// prms-id: 8175
-
-class AtoBoolC {
-public:
- AtoBoolC(const AtoBoolC& aBool);
-private:
- int myValue;
-};
-
-struct TestCase {
- AtoBoolC is_call_on_unack;
-};
-
-static TestCase the_cases[] = { { 0 } }; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8269.C b/gcc/testsuite/g++.old-deja/g++.mike/p8269.C
deleted file mode 100644
index f886fe78fca..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8269.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// prms-id: 8269
-
-typedef char* const char_ptr;
-
-class Foo_Bar {
-public:
- static char* const counter;
-};
-
-char_ptr Foo_Bar::counter = 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8460.C b/gcc/testsuite/g++.old-deja/g++.mike/p8460.C
deleted file mode 100644
index d4b3e8fb14f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8460.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// prms-id: 8460
-
-class A {
-public:
- A();
- A(int) { }
- A(const A&) { }
-private:
-};
-
-int main()
-{
- A a;
-
- a.A(1); // ERROR - cannot find name this way
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8483.C b/gcc/testsuite/g++.old-deja/g++.mike/p8483.C
deleted file mode 100644
index 8e6293f5b1f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8483.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// prms-id: 8483
-
-int count;
-
-class A {
-public:
- A() { ++count; }
- ~A() { }
-};
-
-class B {
-private:
- A b[2];
-};
-
-class C {
-public:
-private:
- A c[2][2];
-};
-
-class D {
-public:
-private:
- A d[2][2][2];
-};
-
-int main() {
- { A a; }
- { B b; }
- { C c; }
- { D d; }
- if (count != 15)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8620.C b/gcc/testsuite/g++.old-deja/g++.mike/p8620.C
deleted file mode 100644
index dc6f017adff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8620.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// prms-id: 8620
-
-struct S {
- long l;
-};
-
-typedef unsigned long l;
-
-void f() {
- S* p;
- if (p->l < 0)
- return;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8785.C b/gcc/testsuite/g++.old-deja/g++.mike/p8785.C
deleted file mode 100644
index e10f4cfd40e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8785.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// prms-id: 8785
-
-class Outer {
-private:
- int x; // ERROR - private
-public:
- struct Inner {
- int y;
- void f( Outer * p, int i) {
- p->x = i; // ERROR -
- };
- void f( Outer & p) {
- p.x = y; // ERROR -
- };
- };
-};
-
-int main() {
- Outer::Inner A;
- Outer Thing;
-
- A.f(Thing);
- A.f(&Thing,2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8786.C b/gcc/testsuite/g++.old-deja/g++.mike/p8786.C
deleted file mode 100644
index b5443c0fa6b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8786.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O
-// prms-id: 8786
-
-class B {
-public:
- inline ~B();
-};
-
-class D : public B {
-public:
- D(int);
-};
-
-int foo() {
- D t(0);
-
- bool h = 1;
- if (h) {
- D p(0);
- return 0;
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8804.C b/gcc/testsuite/g++.old-deja/g++.mike/p8804.C
deleted file mode 100644
index df787b8fee9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8804.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// prms-id: 8804
-
-extern "C" int printf (const char *, ...);
-
-struct Fails {
- int i;
- union {
- union {
- int c;
- };
- };
-};
-
-Fails d;
-
-int main() {
- return &d.i == &d.c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8825.C b/gcc/testsuite/g++.old-deja/g++.mike/p8825.C
deleted file mode 100644
index 11de74e78d2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p8825.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// prms-id: 8825
-
-class A {
- typedef A x;
-};
-
-class B {
- typedef B x;
-};
-
-class C : public A, public B {
- typedef C x;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9068.C b/gcc/testsuite/g++.old-deja/g++.mike/p9068.C
deleted file mode 100644
index 67e879fbd94..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9068.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// prms-id: 9068
-
-struct ostream {
- void operator<< (int); // ERROR - fn ref in err msg
-};
-
-class C {
-public:
- static int& i ();
- static int& i (int signatureDummy);
-};
-
-void foo (ostream& lhs, const C& rhs)
-{
- lhs << rhs.i; // ERROR - no such i for any opr << ()
-}
-
-int& C::i () {
- static int _i = 4711;
- return _i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9129.C b/gcc/testsuite/g++.old-deja/g++.mike/p9129.C
deleted file mode 100644
index d66dab52d09..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9129.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Special g++ Options: -ansi -pedantic-errors
-// prms-id: 9129
-
-class Foo {
-public:
- int DoSomething();
-};
-
-int (Foo::*pA)() = { &Foo::DoSomething };
-int (Foo::*X[1])(int) = { { &Foo::DoSomething } }; // ERROR -
-int (Foo::*Y[])(int) = { { &Foo::DoSomething, &Foo::DoSomething, 0 } }; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9206.C b/gcc/testsuite/g++.old-deja/g++.mike/p9206.C
deleted file mode 100644
index 5c4b578b866..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9206.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// prms-id: 9206
-
-class X {
-public:
- void xtest() { }
-};
-
-class Y { };
-
-typedef void (X::*Xptr)();
-typedef void (Y::*Yptr)();
-
-int main() {
- X xx;
-
- Xptr xp = &X::xtest;
- Yptr yp = reinterpret_cast<Yptr>(xp);
- xp = reinterpret_cast<Xptr>(yp);
-
- (xx.*xp)();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9506.C b/gcc/testsuite/g++.old-deja/g++.mike/p9506.C
deleted file mode 100644
index 7c6e47b8e47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9506.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// prms-id: 9506
-
-char * volatile p;
-void foo() {
- --p = 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9706.C b/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
deleted file mode 100644
index c21f6c6585c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Special g++ Options: -fexceptions
-// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
-// prms-id: 9706
-
-#include <stdlib.h>
-
-int count, acount;
-
-void *operator new(size_t sz) { ++count; return malloc (sz); }
-void operator delete(void *p) throw() { --count; free (p); }
-
-class A {
-public:
- A() { ++acount; }
- A(const A&) { ++acount; }
- ~A() { --acount; }
-};
-
-int main() {
- int i;
-
- for( i = 0; i < 10; i++ ) {
- try {
- throw A();
- }
- catch (A& a) {
- }
- }
- if (acount)
- return 1;
- if (count)
- return 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9732a.C b/gcc/testsuite/g++.old-deja/g++.mike/p9732a.C
deleted file mode 100644
index 13c89892b84..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9732a.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// prms-id: 9732
-
-class A {
- int i;
-public:
- A() { i = 1; }
- ~A() { }
-};
-
-struct value {
- A x,y,z;
-};
-
-int crash(const value* capt, value* jet) {
- return capt == jet;
-}
-
-class euler {
-public:
- value number() const { return _value; }
- int distance();
-
-private:
- value _value;
-};
-
-int euler::distance() {
- const value& capt = number();
- value jet;
- return crash (&capt, &jet);
-}
-
-int main() {
- euler e;
- return e.distance();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9732b.C b/gcc/testsuite/g++.old-deja/g++.mike/p9732b.C
deleted file mode 100644
index 59cfe4c578d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9732b.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// prms-id: 9732
-
-int count;
-int bail = 0;
-
-extern "C" void _exit (int);
-
-struct base {
- base () { ++count; }
- ~base () { --count; }
- base(const base&o) { ++count; }
-};
-
-class D {
-public:
- ~D() {
- if (bail++)
- {
- // On some Linux boxes, we run the dtor for d twice,
- // once before exit, and once after!
- abort ();
- }
- else
- {
- if (count != 0)
- _exit (1);
- _exit (0);
- }
- }
-} d;
-
-base base_object;
-
-base base_returning_function ();
-
-const base& base_ref = base_returning_function ();
-
-int main () {
-}
-
-base base_returning_function () {
- base local_base_object;
- return local_base_object;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9732c.C b/gcc/testsuite/g++.old-deja/g++.mike/p9732c.C
deleted file mode 100644
index 9ec773cc9af..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9732c.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// prms-id: 9732
-
-struct foo {};
-foo& x() { return foo(); } // WARNING -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p991.C b/gcc/testsuite/g++.old-deja/g++.mike/p991.C
deleted file mode 100644
index 037227c4f3e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p991.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// prms-id: 991
-
-class Complex {
-public:
- double re;
- double im;
- Complex(double r,double i) : re(r), im(i) {}
-};
-
-Complex cos(const Complex&);
-
-extern "C" double cos (double); // not the same as the above
-extern "C" double cosh (double);
-extern "C" double sin (double);
-extern "C" double sinh (double);
-
-Complex cos(const Complex& arg) {
- double nr = cos(arg.re)*cosh(arg.im);
- double ni = -sin(arg.re)*sinh(arg.im);
- return Complex(nr,ni);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/parse1.C b/gcc/testsuite/g++.old-deja/g++.mike/parse1.C
deleted file mode 100644
index 12e26cf26ea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/parse1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-enum { name1 };
-struct name0 { };
-struct name1 { };
-struct derived1 : public name1 { };
-struct derived2 : public name0, public name1 { };
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmd1.C b/gcc/testsuite/g++.old-deja/g++.mike/pmd1.C
deleted file mode 100644
index 260dc095eba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmd1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-class A;
-struct XX { int A::*py; };
-
-class A {
-public:
- int p;
- void setp(XX *xp);
-};
-
-void A::setp(XX *xp) { xp->py = &A::p; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf1.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf1.C
deleted file mode 100644
index a39512f42d4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf1.C
+++ /dev/null
@@ -1,90 +0,0 @@
-// extern "C" printf(const char *, ...);
-
-class X
-{
-public:
- int a;
- int f(int);
-};
-
-class Y
-{
-public:
- int b;
- int c;
- int g(int);
-};
-
-class MD : public X, public Y
-{
-public:
- int c;
- int hf(int);
-};
-
-int MD::* pmi0 = &MD::a;
-int MD::* pmi1 = &MD::b;
-int MD::* pmi2 = &MD::c;
-
-int (MD::* pmf0)(int) = &MD::f;
-int (MD::* pmf1)(int) = &MD::g;
-int (MD::* pmf2)(int) = &MD::hf;
-
-int main()
-{
- MD obj;
- int fail = 0;
-
- obj.a = 1;
- obj.b = 2;
- obj.c = 3;
-
- obj.*pmi0 = 7;
- obj.*pmi1 = 8;
- obj.*pmi2 = 9;
-
- fail += (obj.*pmf0)(7);
- fail += (obj.*pmf1)(8);
- fail += (obj.*pmf2)(9);
-
-#if 0
- if (fail != 0)
- printf ("failed %d tests\n", fail);
- else
- printf ("passed\n");
-
- printf ("sizeof(X) = %d, sizeof(Y) = %d, sizeof(MD) = %d\n",
- sizeof(X), sizeof(Y), sizeof(MD));
-#endif
- return fail;
-}
-
-int X::f(int v)
-{
- if (v != a)
- {
-// printf ("failed in X::f, a = %d\n", a);
- return 1;
- }
- return 0;
-}
-
-int Y::g(int v)
-{
- if (v != b)
- {
-// printf ("failed in Y::g, b = %d\n", b);
- return 1;
- }
- return 0;
-}
-
-int MD::hf(int v)
-{
- if (v != c)
- {
-// printf ("failed in MD::hf, c = %d\n", c);
- return 1;
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
deleted file mode 100644
index 5a5aa0667b6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
+++ /dev/null
@@ -1,54 +0,0 @@
-extern "C" int printf(const char *, ...);
-
-class A_table {
- int c;
-public:
- A_table() { c = 3;}
- virtual void func2(int &item) { printf("func2(%d,) c=%d\n",item,c);}
-};
-
-class B_table : private A_table {
- typedef void (B_table::* B_ti_fn) (int &item);
-public:
- B_table() { j = 0x4321;}
- virtual void call_fn_fn1(int &item, void *pfn1);
- void func1(int &item) { printf("func1(%d)\n",item);}
- virtual void func2(int &item) { printf("func2(%d) j=%d\n",item,j);}
- int j;
-};
-
-class foo : public A_table {
-public:
- int i;
- virtual ~foo();
- virtual void func2(int &item) { printf("func2(%d) i=%d\n",item,i);}
-};
-foo::~foo() { i = 0;}
-
-class bar :public foo,public B_table {
-public:
- int w;
- virtual ~bar();
- virtual void func2(int &item) { printf("func2(%d) w=%d\n",item,w);}
-};
-bar::~bar() { w = 0;}
-
-void B_table::call_fn_fn1(int &item, void *pfn1) {
- (this->*(*(B_ti_fn*)pfn1))(item);
-}
-
-B_table b;
-bar jar;
-
-int main() {
- printf("ptr to B_table=%x, ptr to A_table=%x\n",&b,(A_table*)&b);
- B_table::B_ti_fn z = &B_table::func1;
- int j = 1;
- jar.call_fn_fn1(j,(void *)&z);
- j++;
- z = &B_table::func2;
- b.call_fn_fn1(j,(void *)&z);
- j++;
- jar.call_fn_fn1(j,(void *)&z);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf3.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf3.C
deleted file mode 100644
index b38f0b7d16b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-struct Fooey {
- void f(char* pX);
- void f(int in);
- void f(float fx);
- void h(double dx);
-};
-
-void Fooey::f(char*) { } // ERROR - candidate
-void Fooey::f(int) { } // ERROR - candidate
-void Fooey::f(float) { } // ERROR - candidate
-void Fooey::h(double zahl) { }
-
-int main() {
- Fooey Blah;
- void (Fooey::*pointer)(double);
- pointer = &Fooey::f; // ERROR - don't call Fooey::h
- (Blah.*pointer)(42.5);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf4.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf4.C
deleted file mode 100644
index 02e5b10c1ac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf4.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-class NF { };
-
-struct QF {
- NF nf;
-
- typedef float(NF::* const NPF)() const;
-
- void p (NPF npf) const {
- float q = (nf.*npf)();
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf5.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf5.C
deleted file mode 100644
index 685801a8591..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf5.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Special g++ Options: -w
-
-class A {
- int j;
-};
-
-class Space {
- int j;
-};
-
-typedef int (A::*pma)();
-
-class B : public Space, virtual public A {
-public:
- int i;
- int foo () {
- return i!=42;
- }
- B() {
- i = 42;
- }
-};
-
-int call_base (A* ap, pma pmf) {
- return (ap->*pmf)();
-}
-
-int main() {
- B b;
- return call_base ((A*)&b, (pma)&B::foo);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf6.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf6.C
deleted file mode 100644
index 6848781aca3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf6.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Special g++ Options:
-
-class S {
-public:
- void (S::*pmf)();
- void foo() {
- pmf(); // WARNING -
- }
- static void foo1(S* sp) {
- (sp->pmf)(); // ERROR -
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf7.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf7.C
deleted file mode 100644
index b238171ba5f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf7.C
+++ /dev/null
@@ -1,29 +0,0 @@
-class A;
-typedef int (A::*f_ptr) (void);
-
-class B {
-public:
- B() {}; ~B() {};
- B& dummy(f_ptr cb) { return *this; };
-};
-
-template<class SP, class CB> SP& call_dummy(SP* sp, CB cb) {
- sp->dummy(cb);
- return *sp;
-};
-
-class A {
-public:
- A() {}; ~A() {};
- int ok() { return 0; };
- A& call_it(B* s) {
- call_dummy(s, &A::ok);
- return *this;
- };
-};
-
-int main() {
- A a; B b;
- a.call_it(&b);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf8.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf8.C
deleted file mode 100644
index 41a4c0194fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf8.C
+++ /dev/null
@@ -1,31 +0,0 @@
-int fail;
-
-class A *ptr_a;
-
-class A {
-public:
- char space1[24];
- virtual void foo() {
- if (this != ptr_a)
- fail = 1;
- }
-};
-
-class Space {
- char space2[36];
-};
-
-class B : public Space, public A {
-} b;
-
-void (B::*pmf1)() = &A::foo;
-void (A::*pmf2)() = &A::foo;
-
-int main() {
- ptr_a = &b;
- (b .* (void (B::*) ()) &A::foo) ();
- (b .* pmf1) ();
- (b .* pmf2) ();
- (b .* &A::foo) ();
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf9.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf9.C
deleted file mode 100644
index 800618ff6c6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pmf9.C
+++ /dev/null
@@ -1,23 +0,0 @@
-class K {
-public:
- int f(int i) { return i; }
-};
-
-class Q {
-public:
- Q() { kp = new K; }
- int g();
-private:
- K * kp;
-};
-
-int Q::g() {
- return (kp->f)(42);
-};
-
-
-int main () {
- Q q;
- if (q.g() != 42)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pt1.C b/gcc/testsuite/g++.old-deja/g++.mike/pt1.C
deleted file mode 100644
index 2ef8556b13d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pt1.C
+++ /dev/null
@@ -1,36 +0,0 @@
-template <class T, class V>
-class A {
-public:
- A (T at, V av);
- void print () { }
-protected:
- T t;
- V v;
-};
-
-template <class T, class V>
-A<T, V>::A (T at, V av) {
- t = at;
- v = av;
-}
-
-
-template <class T, class V>
-class B: public virtual A<T, V> {
-public:
- B (T at, V av);
- void print () { }
-};
-
-template <class T, class V>
-B<T, V>::B (T at, V av) : A<T, V> (at, av) { } // gets bogus error -
-
-int main () {
- int i = 2;
- double x = 2;
-
- B<int, double> ab(i, x);
- ab.print();
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pt2.C b/gcc/testsuite/g++.old-deja/g++.mike/pt2.C
deleted file mode 100644
index 7c96cabff4d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pt2.C
+++ /dev/null
@@ -1,22 +0,0 @@
-class A {
-public:
-};
-
-template <class T>
-class B: public virtual A {
-public:
- B ();
- ~B ();
-};
-
-template <class T>
-B<T>::B () { }
-
-template <class T>
-B<T>::~B () { }
-
-int main () {
- B<int> ab;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pt3.C b/gcc/testsuite/g++.old-deja/g++.mike/pt3.C
deleted file mode 100644
index a61d9023f8c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pt3.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-
-template<class Repr>
-class syHandle
-{
-protected:
- syHandle();
- ~syHandle();
- Repr *_repr;
-};
-
-template<class Repr>
-syHandle<Repr>::~syHandle()
-{
-}
-
-typedef char * char_ptr_t;
-
-template <>
-syHandle<char_ptr_t>::syHandle()
-{
- _repr = 0;
-}
-
-template <>
-syHandle<char_ptr_t>::~syHandle()
-{
- _repr = 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pt4.C b/gcc/testsuite/g++.old-deja/g++.mike/pt4.C
deleted file mode 100644
index 7c1563e93a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/pt4.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-
-template <char* c> struct B { B() { } };
-B<0> bnull; // ERROR - could not convert template argument
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ref1.C b/gcc/testsuite/g++.old-deja/g++.mike/ref1.C
deleted file mode 100644
index 054c9850c67..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/ref1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-int count;
-
-struct base {
- base () { ++count; }
- ~base () { --count; }
- base(const base&o) { ++count; }
-};
-
-base base_returning_function ();
-
-const base& base_ref = base_returning_function ();
-
-int main () {
- if (count != 1)
- return 1;
-}
-
-base base_returning_function () {
- base local_base_object;
- return local_base_object;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/rtti1.C b/gcc/testsuite/g++.old-deja/g++.mike/rtti1.C
deleted file mode 100644
index e44c5fafdc5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/rtti1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-
-#include <typeinfo>
-#include <iostream.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/rtti2.C b/gcc/testsuite/g++.old-deja/g++.mike/rtti2.C
deleted file mode 100644
index 0c8b8b0c24c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/rtti2.C
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <typeinfo>
-
-int main() {
- typeid(bool);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/rtti3.C b/gcc/testsuite/g++.old-deja/g++.mike/rtti3.C
deleted file mode 100644
index a250a26b0f4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/rtti3.C
+++ /dev/null
@@ -1,23 +0,0 @@
-class base {
-public:
- virtual ~base() {}
- virtual void m1() = 0;
- virtual void m2() = 0;
-};
-
-class intermediate : public virtual base {
-public:
- virtual ~intermediate() {}
- virtual void m1() {}
- virtual void m2() {}
-};
-
-class derived : public intermediate {
-public:
- virtual int IwantedThisMethod() { return 0; }
- virtual int ButIgotThisOne() { return 1; }
-};
-
-int main() {
- return derived().IwantedThisMethod();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/s9959.C b/gcc/testsuite/g++.old-deja/g++.mike/s9959.C
deleted file mode 100644
index 654f7d57dd5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/s9959.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-class A {
-protected:
- int aData;
-};
-
-class B : public A {
-public:
- virtual void func1() {
- A::aData = 1;
- }
-};
-
-class C : virtual public B {
-public:
- virtual void func1(void) {
- A::aData = 2;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/scast1.C b/gcc/testsuite/g++.old-deja/g++.mike/scast1.C
deleted file mode 100644
index 11666b45430..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/scast1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-class A {};
-class C {};
-
-int main() {
- A* a = 0;
- C* c = static_cast<C*>(a); // ERROR - bad static cast
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/temp.C b/gcc/testsuite/g++.old-deja/g++.mike/temp.C
deleted file mode 100644
index 5a1ce6754a9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/temp.C
+++ /dev/null
@@ -1,31 +0,0 @@
-extern "C" int printf(const char *, ...);
-extern "C" const char *getenv(const char *);
-
-class T {
- int i;
-public:
- T() {
- i = 1;
- printf("T() at %x\n", this);
- }
- T(const T& o) {
- i = o.i;
- printf("T(const T&) at %x <-- %x\n", this, &o);
- }
- T operator +(const T& o) {
- T r;
- r.i = this->i + o.i;
- return r;
- }
- operator int () {
- return i;
- }
- ~T() { printf("~T() at %x\n", this); }
-} s, b;
-
-int foo() { return getenv("TEST") == 0; }
-
-int main() {
- int i = foo() ? s+b : s;
- return i != 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/thunk1.C b/gcc/testsuite/g++.old-deja/g++.mike/thunk1.C
deleted file mode 100644
index 9780c05bc97..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/thunk1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fvtable-thunks
-
-struct C1
-{
- virtual ~C1();
-};
-
-struct C2 : public virtual C1
-{
- virtual ~C2();
-};
-
-struct C3 : public virtual C2
-{
- virtual ~C3();
-};
-
-C3::~C3() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/thunk2.C b/gcc/testsuite/g++.old-deja/g++.mike/thunk2.C
deleted file mode 100644
index 9bc4558d9f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/thunk2.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// Special g++ Options: -fvtable-thunks
-
-#include <typeinfo>
-
-int state;
-int fail;
-
-class A {
-public:
- A() {
- if (++state != 1)
- fail = 1;
- }
- virtual int foo() {
- if (++state != 2)
- fail = 1;
- }
- virtual ~A() {
- if (++state != 3)
- fail = 1;
- }
-};
-
-A* bar() {
- return new A;
-}
-
-main() {
- A *aptr = bar();
- aptr->foo();
- if (dynamic_cast <void*> (aptr) != aptr)
- fail = 1;
- if (typeid (*aptr) != typeid (A))
- fail = 1;
- delete aptr;
- if (++state != 4)
- fail = 1;
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/thunk3.C b/gcc/testsuite/g++.old-deja/g++.mike/thunk3.C
deleted file mode 100644
index 9a52c9d6916..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/thunk3.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Special g++ Options: -fvtable-thunks
-
-int state;
-int fail;
-
-class A {
-public:
- A() {
- if (++state != 1)
- fail = 1;
- }
- virtual int foo() {
- if (++state != 2)
- fail = 1;
- }
- virtual ~A() {
- if (++state != 3)
- fail = 1;
- }
-};
-
-A* bar() {
- return new A;
-}
-
-main() {
- A *aptr = bar();
- aptr->foo();
- if (dynamic_cast <void*> (aptr) != aptr)
- fail = 1;
- delete aptr;
- if (++state != 4)
- fail = 1;
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/unroll1.C b/gcc/testsuite/g++.old-deja/g++.mike/unroll1.C
deleted file mode 100644
index 90f37f1ef92..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/unroll1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Special g++ Options: -g -O -funroll-loops
-
-struct A {
- inline ~A() { }
-};
-
-void foo (A) {
- while (1)
- A bar;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/virt1.C b/gcc/testsuite/g++.old-deja/g++.mike/virt1.C
deleted file mode 100644
index 28483177bf9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/virt1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-struct S0 { virtual void f1 () { } };
-
-struct S1 : virtual public S0 { virtual void f1 () { } };
-
-struct S2 : public S1 { virtual void f1 () { } };
-
-struct S3 : virtual public S0 { virtual void f1 () { } };
-
-struct S4 : public S3 { };
-
-void creator () { new S4; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/virt2.C b/gcc/testsuite/g++.old-deja/g++.mike/virt2.C
deleted file mode 100644
index 612d07e49e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/virt2.C
+++ /dev/null
@@ -1,25 +0,0 @@
-struct S0 {
- virtual int is_kind_of_S1 () const { return 0; }
- virtual void dummy () { }
-};
-
-struct S1 : virtual public S0 {
- virtual int is_kind_of_S1 () const { return 1; }
- virtual void dummy () { }
-};
-
-struct S2 : virtual public S0 {
- virtual void dummy () { }
-};
-
-struct S3 : public S2, public S1 {
- virtual void dummy () { }
-};
-
-static struct S0 *var = new S3 ();
-
-int main () {
- if (var->is_kind_of_S1() != 1)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/virt3.C b/gcc/testsuite/g++.old-deja/g++.mike/virt3.C
deleted file mode 100644
index de3ea3d07e2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/virt3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-class B {
-public:
- int Bi;
- virtual int g() { };
-};
-
-class D : private B {
- int Di;
-};
-
-class E : public virtual D, public B {
- int Ei;
-}; // WARNING - direct base inaccessible due to ambiguity
-
-E e;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/virt4.C b/gcc/testsuite/g++.old-deja/g++.mike/virt4.C
deleted file mode 100644
index 9750af6b0b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/virt4.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Special g++ Options:
-
-void Foo () {}
-
-class B {
-public:
- virtual void foo() = 0;
-};
-
-class D: virtual public B {
-public:
- void foo() { Foo(); }
-};
-
-class D1: public D {};
-
-class D2: public D {};
-
-class D1_2: public D1, public D2 {
-public:
- void foo() { D1::foo(); D2::foo(); }
-};
-
-main() {
- D1_2 h;
- h.foo();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/virt5.C b/gcc/testsuite/g++.old-deja/g++.mike/virt5.C
deleted file mode 100644
index dac85cc2dba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/virt5.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// Ensure that virtual base upcast and downcasting works on this
-// conversions during virtual function dispatch at ctor/dtor time
-// when dynamic vtable fixups for deltas are needed.
-
-int fail = 0;
-
-struct BASE1 {
- virtual ~BASE1 () { }
-};
-
-class MID;
-
-class BASE2 {
-public:
- virtual MID *VFN (){ return 0; }
-};
-
-class MIBASE : public BASE1, public BASE2 { };
-
-class VBB : public MIBASE {
-public:
- virtual long get_STATE () const = 0;
- void print_STATE() { if (get_STATE () != 87654321) fail = 1; }
-};
-
-class VBD : public virtual VBB {
- long STATE;
-public:
- long get_STATE() const { return STATE; }
- VBD() { STATE = 87654321; }
- ~VBD() { STATE = 87654321; }
-};
-
-class MID : public virtual VBD {
-public:
- MID () { print_STATE(); }
- ~MID () { print_STATE(); }
- virtual MID *VFN() { return this; }
-};
-
-class LAST : public MID {
-public:
- LAST () { print_STATE(); }
- ~LAST () { print_STATE(); }
-};
-
-int main() {
- MIBASE *o = new LAST;
- MID *p = o->VFN();
- p->print_STATE();
- delete o;
- return fail;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/virt6.C b/gcc/testsuite/g++.old-deja/g++.mike/virt6.C
deleted file mode 100644
index 61491cede48..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/virt6.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// This testcase ensures that we can build vtable names for complex MI
-// classes.
-
-class C_A {
-public:
- virtual int foo(void *) { }
-} a;
-
-class C_B : public C_A {
-} b;
-
-class C_C : public C_A {
-} c;
-
-class C_D : public C_A {
-} d;
-
-class C_E : public C_C, public C_B {
-public:
- virtual int foo(void *) { }
-} e;
-
-class C_F : public C_D, public C_B {
-public:
- virtual int foo(void *) { }
-} f;
-
-class C_G : public C_A {
-public:
- virtual int foo(void *) { }
-} g;
-
-class C_H : public C_G, public C_E, public C_F {
-public:
- virtual int foo(void *) { }
-} h;
-
-int main() {
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/vtable1.C b/gcc/testsuite/g++.old-deja/g++.mike/vtable1.C
deleted file mode 100644
index 260f93de048..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/vtable1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// Special g++ Options: -fno-implement-inlines
-struct type {
- virtual void m1();
- virtual void m2() { }
-};
-
-void type::m1() { }
-
-int main() {
- type t;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn1.C b/gcc/testsuite/g++.old-deja/g++.mike/warn1.C
deleted file mode 100644
index 206042cb962..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-
-typedef char * charptr;
-char c[]={'A','B','C','D'};
-int i=int(&c);
-int *pp=&i;
-void foo() { }
-int main()
-{
- charptr(*pp)++; // WARNING -
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn2.C b/gcc/testsuite/g++.old-deja/g++.mike/warn2.C
deleted file mode 100644
index f865f1e52d9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn2.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-
-enum Boolean {
- Ok = 0,
- NotOk = 1,
-};
-
-enum OpResult {
- Succeeded = 0,
- TempFail = 1,
- PermFail = 2,
-};
-
-OpResult fn1() {
- return TempFail;
-}
-
-extern void foo();
-
-int
-main () {
- if (fn1() == Ok) { // WARNING -
- foo();
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn3.C b/gcc/testsuite/g++.old-deja/g++.mike/warn3.C
deleted file mode 100644
index 7adc8a1c37f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-
-class B {
-public:
- B(int) { }
-};
-
-class D : public B {
- int member;
- D() : member(0), B(member) { } // WARNING - reordered
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn4.C b/gcc/testsuite/g++.old-deja/g++.mike/warn4.C
deleted file mode 100644
index 9b959b0316f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn4.C
+++ /dev/null
@@ -1 +0,0 @@
-void foo (int a, int a) { } // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn5.C b/gcc/testsuite/g++.old-deja/g++.mike/warn5.C
deleted file mode 100644
index 742c4bc1807..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn5.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wpointer-arith
-
-double X(const double x) { return x; }
-double Y() { return 1.0; }
-double Z() { return 2.0; }
-
-struct A {
- void bar() { }
- void foo() { }
-};
-
-typedef void (A::*pmf)();
-
-static int mememe = &A::foo - &A::bar; // WARNING -
-pmf b = &A::foo-1; // WARNING -
-
-int main() {
- double y;
- y=X(Y-Z); // WARNING -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn6.C b/gcc/testsuite/g++.old-deja/g++.mike/warn6.C
deleted file mode 100644
index 381a3424da2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn6.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Woverloaded-virtual
-
-struct B4 {
- virtual void bothfardiff(float); // WARNING - was hidden
-};
-
-struct B3 : public B4 {
-};
-
-struct B2 {
-};
-
-struct B {
- virtual void baseonly(int);
-
- virtual void bothsame(int);
-
- virtual void bothdiff(float); // WARNING - was hidden
-
- virtual void both2same(int);
- virtual void both2same(float);
-
- virtual void both12diff(int);
- virtual void both12diff(float); // WARNING - was hidden
-};
-
-struct D : public B, public B2, public B3 {
- virtual void derivedonly(int);
-
- virtual void bothsame(int);
-
- virtual void bothdiff(int); // WARNING -
-
- virtual void both2same(int);
- virtual void both2same(float);
-
- virtual void both12diff(int); // WARNING -
-
- virtual void bothfardiff(int); // WARNING -
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn7.C b/gcc/testsuite/g++.old-deja/g++.mike/warn7.C
deleted file mode 100644
index 6772f9585f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn7.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-
-const int& foo() {
- extern int bar;
-
- return bar;
-}
-
-const int* baz() {
- extern int bar;
-
- return &bar;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn8.C b/gcc/testsuite/g++.old-deja/g++.mike/warn8.C
deleted file mode 100644
index 3c61c8e0afb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/warn8.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-struct foo {
- bool test();
-};
-bool func();
-
-void test() {
- foo A;
- bool (foo::* pmf)() = &foo::test;
- bool (*pf)() = func;
-
- if (A.test) ; // WARNING -
- if (func) ; // WARNING -
- if (bool(A.test)) ; // WARNING -
- if (bool(func)) ;
- if (pmf) ;
- if (pf) ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/.cvsignore b/gcc/testsuite/g++.old-deja/g++.niklas/.cvsignore
deleted file mode 100644
index 7abff1dbead..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-config.status
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/Makefile.in b/gcc/testsuite/g++.old-deja/g++.niklas/Makefile.in
deleted file mode 100644
index d5eb149dbee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/README b/gcc/testsuite/g++.old-deja/g++.niklas/README
deleted file mode 100644
index b729b9a0cd0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/README
+++ /dev/null
@@ -1,18 +0,0 @@
-Date: Fri, 22 Jan 93 15:20:55 +0100
-From: niklas@della.appli.se (Niklas Hallqvist)
-Message-Id: <9301221420.AA18489@della.appli.se>
-Subject: g++.niklas DejaGnu sharfile
-
-These are my test-cases in DejaGnu format.
-
-The tests which have "passed" in the groups variable do actually pass
-on my local G++ so if there is a specific "passed" test you'd like to
-see working in your version of G++ but it doesn't pass, contact me and
-I'll dig up the specific patches you'll need.
-
-I have about a hundred or so unsorted test-cases which are not
-included in this archive, due to lack of time and boredom stemming
-from writing .exp-files. But they will show up eventually.
-
-All these files, and this file are Copyright FSF 1993, and fall under
-the GPL version 2.0 or later.
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/configure.in b/gcc/testsuite/g++.old-deja/g++.niklas/configure.in
deleted file mode 100644
index 2ec1354c91f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=t131.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t113.C b/gcc/testsuite/g++.old-deja/g++.niklas/t113.C
deleted file mode 100644
index fdbf4550dce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t113.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas explicit-construct virtual-base
-struct A {};
-struct B : virtual A { B(); };
-struct C : B {};
-struct D { D(C&); };
-D d(C());
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t114.C b/gcc/testsuite/g++.old-deja/g++.niklas/t114.C
deleted file mode 100644
index c5b458a4e15..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t114.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas explicit-construct
-struct A { A(); };
-struct B { B(A&); };
-B b(A());
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t115.C b/gcc/testsuite/g++.old-deja/g++.niklas/t115.C
deleted file mode 100644
index 7ec5b4699dd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t115.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas virtual-base
-struct A { A(); virtual void f(); };
-struct B : virtual A { B(); };
-struct C : B {};
-C *c = new C;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t118.C b/gcc/testsuite/g++.old-deja/g++.niklas/t118.C
deleted file mode 100644
index 255747f5498..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t118.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS niklas pt
-template <class T> class C1 {};
-class C1<int> C1_int_object;
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t119.C b/gcc/testsuite/g++.old-deja/g++.niklas/t119.C
deleted file mode 100644
index 522e514f811..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t119.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas i386
-unsigned long foo(unsigned long x)
-{
- return x & ~0104000;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t120.C b/gcc/testsuite/g++.old-deja/g++.niklas/t120.C
deleted file mode 100644
index c04158047be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t120.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas ellipsis
-typedef void (*T) (...);
-void f ();
-struct S { void g (T); void h() { g(f); } };// ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t121.C b/gcc/testsuite/g++.old-deja/g++.niklas/t121.C
deleted file mode 100644
index e99c940110d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t121.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas ellipsis
-void f ();
-void g1 (void (*) (...)); void h1 () { g1 (f); }// ERROR - .*
-struct S { void g2 (void (*) (...)); void h2 () { g2 (f); } };// ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t122.C b/gcc/testsuite/g++.old-deja/g++.niklas/t122.C
deleted file mode 100644
index a4ec0454712..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t122.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas dwarf
-struct S { S(); };
-
-inline void
-foo (
- S a,
- S b
- )
-{}
-
-void
-bar (S s1, S s2)
-{ foo (s1, s2); }
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t123.C b/gcc/testsuite/g++.old-deja/g++.niklas/t123.C
deleted file mode 100644
index 37db7875eb8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t123.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas dwarf
-struct S { S(); };
-void f(S) {}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t124.C b/gcc/testsuite/g++.old-deja/g++.niklas/t124.C
deleted file mode 100644
index ba1aa55cc7d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t124.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types static-members
-struct A
-{
- static void f ();
- struct B
- {
- static void g () { f (); }
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t125.C b/gcc/testsuite/g++.old-deja/g++.niklas/t125.C
deleted file mode 100644
index e5947ef9ce1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t125.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types static-members
-struct A
-{
- static void f ();
- struct B
- {
- void h () { f (); }
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t126.C b/gcc/testsuite/g++.old-deja/g++.niklas/t126.C
deleted file mode 100644
index 7313a6abab1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t126.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types static-members
-struct A
-{
- static void f ();
- struct B
- {
- void g () {}
- void h () {}
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t127.C b/gcc/testsuite/g++.old-deja/g++.niklas/t127.C
deleted file mode 100644
index a53d2d4a3b7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t127.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types
-struct A { struct B { ~B (); }; };
-A::B::~B () {}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t128.C b/gcc/testsuite/g++.old-deja/g++.niklas/t128.C
deleted file mode 100644
index 7ada1dc685e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t128.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS niklas uncaught default-construct
-struct A { A (int); };
-struct B : A {}; // ERROR -
-void f () { B (0); }// ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t129.C b/gcc/testsuite/g++.old-deja/g++.niklas/t129.C
deleted file mode 100644
index 11e316aef21..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t129.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types
-struct X {
-struct A { A (int); };
-struct B : A { B (int a) : A (a) {} };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t130.C b/gcc/testsuite/g++.old-deja/g++.niklas/t130.C
deleted file mode 100644
index 7b2fb433b85..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t130.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types
-struct A;
-struct B { struct A { A(int); }; struct C : A { C() : A (0) {} }; };
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t131.C b/gcc/testsuite/g++.old-deja/g++.niklas/t131.C
deleted file mode 100644
index 75283a828a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t131.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas static-members
-struct A { static A a; };
-A f () { return A::a; }
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t132.C b/gcc/testsuite/g++.old-deja/g++.niklas/t132.C
deleted file mode 100644
index 18cd01c4b5e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t132.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas construct-destruct
-struct S { S (); ~S (); };
-void f () { while (1) S s; }
-
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t133.C b/gcc/testsuite/g++.old-deja/g++.niklas/t133.C
deleted file mode 100644
index f79c6dbdef1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t133.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types
-struct A { struct B { void operator = (const B&); }; };
-void A::B::operator = (const B&) {}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t134.C b/gcc/testsuite/g++.old-deja/g++.niklas/t134.C
deleted file mode 100644
index faa15555e22..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t134.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas static-members
-extern "C" int f ();
-struct A { static void f () {} };
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t135.C b/gcc/testsuite/g++.old-deja/g++.niklas/t135.C
deleted file mode 100644
index 138c27802c9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t135.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS niklas pt friend
-// excess errors test - XFAIL *-*-*
-template <class T> class C1
-{
-public:
- void diddle_C2 ();
-};
-
-class C2
-{
- int data_member;
- friend class C1;
-};
-
-class C2 C2_object;
-
-template <class T> void C1<T>::diddle_C2 ()
-{
- C2_object.data_member = 99;
-}
-
-C1<int> C1_int_object;
-
-void foobar ()
-{
- C1_int_object.diddle_C2 ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t136.C b/gcc/testsuite/g++.old-deja/g++.niklas/t136.C
deleted file mode 100644
index 4890f61e25f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t136.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-// GROUPS niklas overloading
-extern "C" void f (char*);
-void f (const char*) {}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t137.C b/gcc/testsuite/g++.old-deja/g++.niklas/t137.C
deleted file mode 100644
index 9a64f0fe154..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t137.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas nested-types
-struct A {
- struct B { void f (); };
- struct C : B { void f () { B::f (); } };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t138.C b/gcc/testsuite/g++.old-deja/g++.niklas/t138.C
deleted file mode 100644
index 0f30d953420..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t138.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// GROUPS passed niklas hiding
-struct A;
-void f (A*);
-A* A;
-void g () { f (A); }
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t139.C b/gcc/testsuite/g++.old-deja/g++.niklas/t139.C
deleted file mode 100644
index 702d065f2ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t139.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// GROUPS passed niklas hiding ARM
-// Build don't link:
-// Special g++ Options: -w
-struct stat {};
-stat gstat;
-int stat (struct stat*);
-void f () { struct stat* ps; stat (ps); }
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t140.C b/gcc/testsuite/g++.old-deja/g++.niklas/t140.C
deleted file mode 100644
index f840c62a82e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t140.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// GROUPS passed niklas hiding local-types
-extern "C" int printf (const char*, ...);
-int val = 1;
-void S () { printf ("FAIL\n"); }
-void f () { printf ("PASS\n"); val = 0; }
-int main ()
-{
- struct S { S () { f (); } };
- S ();
- return val;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t141.C b/gcc/testsuite/g++.old-deja/g++.niklas/t141.C
deleted file mode 100644
index d85e97edb97..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.niklas/t141.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wshadow
-// GROUPS passed niklas scoping ARM
-class X { X (int); };
-void X (int);// ERROR - .*hides constructor.*
-void f () { X (1); }
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias1.C b/gcc/testsuite/g++.old-deja/g++.ns/alias1.C
deleted file mode 100644
index 797e2b2d244..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-namespace foo{
- int eine_funktion(int)
- {
- return 0;
- }
-}
-
-namespace foo{
- void eine_funktion(int,int)
- {}
-}
-
-namespace bar = foo;
-
-int main()
-{
- return bar::eine_funktion(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias2.C b/gcc/testsuite/g++.old-deja/g++.ns/alias2.C
deleted file mode 100644
index 95b2a2354df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias2.C
+++ /dev/null
@@ -1,8 +0,0 @@
-//Build don't link:
-namespace NS1
-{
- int a;
-}
-
-namespace NS2 = NonExistant; //ERROR -
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias3.C b/gcc/testsuite/g++.old-deja/g++.ns/alias3.C
deleted file mode 100644
index 3b8de0cf1a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias3.C
+++ /dev/null
@@ -1,30 +0,0 @@
-namespace A{
- struct X{};
- void f(X&);
- extern int i;
- namespace a_very_long_namespace_name{
- int k;
- }
-}
-
-namespace B = A;
-namespace B = A;
-namespace B = B;
-
-namespace avl = A::a_very_long_namespace_name;
-
-void B::f(A::X& x)
-{
- B::f(x);
- f(x);
- avl::k = 1;
-}
-
-int B::i = 0;
-
-int main()
-{
- B::X x;
- if (B::i)
- A::f(x);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias4.C b/gcc/testsuite/g++.old-deja/g++.ns/alias4.C
deleted file mode 100644
index 16c4dca02d4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias4.C
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace A = B; // ERROR - unknown namespace
-
-namespace C{}
-namespace D = C;
-namespace D { // ERROR - reopening namespace with alias
- void f();
-}
-
-void C::f(){} // ERROR - previous definition
-
-void D::f(){} // ERROR - redefinition
-
-namespace E = C::F; // ERROR - unknown namespace
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias5.C b/gcc/testsuite/g++.old-deja/g++.ns/alias5.C
deleted file mode 100644
index 797e2b2d244..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias5.C
+++ /dev/null
@@ -1,18 +0,0 @@
-namespace foo{
- int eine_funktion(int)
- {
- return 0;
- }
-}
-
-namespace foo{
- void eine_funktion(int,int)
- {}
-}
-
-namespace bar = foo;
-
-int main()
-{
- return bar::eine_funktion(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias6.C b/gcc/testsuite/g++.old-deja/g++.ns/alias6.C
deleted file mode 100644
index b0799abf775..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias6.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Check namespace aliases inside blocks
-namespace A {
- int i;
- void f(){
- i = 0;
- }
-}
-
-int g();
-
-int main ()
-{
- namespace B = A;
- B::i=42;
- B::f();
- using namespace B;
- f();
- // A::i is now 0, B::i is 1
- return g();
-}
-
-namespace B {
- int i = 1;
-}
-
-int g()
-{
- namespace x = A;
- if (x::i)
- {
- namespace x = B;
- return x::i;
- }
- return x::i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias7.C b/gcc/testsuite/g++.old-deja/g++.ns/alias7.C
deleted file mode 100644
index ce1ebb86755..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias7.C
+++ /dev/null
@@ -1,11 +0,0 @@
-//Build don't link:
-namespace A{
- namespace B{int i;}
- using namespace B;
-}
-
-namespace C=A;
-
-void f(){
- C::i = 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/anon1.C b/gcc/testsuite/g++.old-deja/g++.ns/anon1.C
deleted file mode 100644
index c4a242a5078..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/anon1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace{
- void f();
-}
-
-int main()
-{
- f();
-}
-
-namespace{
- void f(){}
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/bogus1.C b/gcc/testsuite/g++.old-deja/g++.ns/bogus1.C
deleted file mode 100644
index c61dea8e77e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/bogus1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-namespace N {}
-
-void f(int N::k); // ERROR - cannot use `::' in parameter declaration
-
-class Foo
-{
- int N::j; // ERROR - invalid use of `::'
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/crash1.C b/gcc/testsuite/g++.old-deja/g++.ns/crash1.C
deleted file mode 100644
index 5a002bd7bf9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/crash1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1 {};
-
-namespace N {
-}
-
-struct S2
-{
- typedef N::S1<int> S2_T; // ERROR - parse error
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/crash2.C b/gcc/testsuite/g++.old-deja/g++.ns/crash2.C
deleted file mode 100644
index d49189bfbe1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/crash2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-// Submitted by bjornw@fairplay.no
-
-// crash test - XFAIL *-*-*
-
-namespace hei {
- class CSomeClass {};
- extern CSomeClass SomeClass;
-};
-
-hei::CSomeClass hei::CSomeClass; // ERROR - should be hei::SomeClass
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/crash3.C b/gcc/testsuite/g++.old-deja/g++.ns/crash3.C
deleted file mode 100644
index 842ed090bcc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/crash3.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-namespace N {
- template <class T> struct S;
-};
-
-void f()
-{
- N::S(); // ERROR - invalid use of template
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/extern1.C b/gcc/testsuite/g++.old-deja/g++.ns/extern1.C
deleted file mode 100644
index 906b97b8f06..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/extern1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't run:
-
-// Based on a testcase by eyal.ben-david@aks.com
-
-// An extern declaration of an undeclared object within a function
-// introduces the object into the enclosing namespace [basic.link]/7
-
-namespace {
- void foo() {
- extern int xx;
- xx = 0;
- }
- int xx = 1;
-}
-
-int main() {
- xx = 2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/friend1.C b/gcc/testsuite/g++.old-deja/g++.ns/friend1.C
deleted file mode 100644
index 859a84ec3ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/friend1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-namespace A{
- void f(int);
-}
-
-class X{
- friend void A::f(int);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/friend2.C b/gcc/testsuite/g++.old-deja/g++.ns/friend2.C
deleted file mode 100644
index 7d4a6c87d87..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/friend2.C
+++ /dev/null
@@ -1,11 +0,0 @@
-//Build don't link:
-namespace A{
- void foo();
-}
-
-
-namespace B{
-class B{
- friend void A::foo();
-};
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/invalid1.C b/gcc/testsuite/g++.old-deja/g++.ns/invalid1.C
deleted file mode 100644
index 76d3d70db38..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/invalid1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-//Build don't link:
-namespace x { };
-
-void f(int);
-
-int main()
-{
- x(); // ERROR - calling a namespace
- x=4; // ERROR - assigning to a namespace
- f(x); // ERROR - passing a namespace as parameter
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig1.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig1.C
deleted file mode 100644
index bd721fe94e2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/koenig1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-class ostream;
-extern ostream cout;
-namespace foo
-{
- struct S
- {
- int i;
- };
-
- extern ostream &operator<<(ostream &, const S &);
-}
-
-
-void bar(foo::S s)
-{
- cout << s ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig2.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig2.C
deleted file mode 100644
index 629cd388af8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/koenig2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Check association of {error} for Koenig lookup
-// Special g++ Options:
-
-struct QString { operator void * (); };
-int foo()
-{
- QString bar;
- return (bar == __null );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig3.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig3.C
deleted file mode 100644
index e039df69557..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/koenig3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-//Check association of member pointer in overload resolution.
-struct A {
- int m_val;
- friend int operator ->* (A & other, int A::*pm)
- { return 31; }
-};
-
-int A::*pi = & A::m_val;
-
-int
-main(void)
-{
- A c;
- c.m_val = 42;
- int j = c ->* pi;
-
- if (j == 31)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig4.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig4.C
deleted file mode 100644
index 009327c3463..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/koenig4.C
+++ /dev/null
@@ -1,24 +0,0 @@
-void f();
-void f(int);
-
-namespace A{
- struct S{
- void f();
- void f(S);
- };
- void f(S&){}
- void h(S&){}
-}
-
-template<class T>
-void g(T t){
- f(t);
-}
-
-int main()
-{
- A::S s;
- f(s);
- g(s);
- h(s);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C
deleted file mode 100644
index e5500cbea8b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/koenig5.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// To find function pointers in Koenig lookup is ok as long as we only find one.
-namespace A{
- void foo(); // ERROR -
- struct X{};
- void (*bar)(X*)=0;
-}
-using A::X;
-
-void (*foo)(X*)=0; // ERROR -
-
-void g()
-{
- foo(new X); // ERROR - both objects and functions found
- bar(new X); // ok
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig6.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig6.C
deleted file mode 100644
index dc549038500..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/koenig6.C
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace A{
- struct X{};
-
- X foo(X a){return a;}
- void bar(X*){}
-}
-
-int main()
-{
- A::X x;
- bar(&foo(x)); // WARNING - address of temporary
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig7.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig7.C
deleted file mode 100644
index 2565a9e849d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/koenig7.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Test for Koenig lookup involving overloaded functions.
-
-namespace N1 {
- struct A { };
- void f1(A) {}
- void f2(float) {}
- void g(void (*)(float)) {}
-}
-
-using N1::f1;
-void f1(float) {}
-
-using N1::f2;
-template <class T>
-void f2(N1::A, T) {}
-
-void g(void (*)(int)) {}
-
-int main() {
- g(&f1); // Works?
- g(f2); // Works?
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/lookup1.C b/gcc/testsuite/g++.old-deja/g++.ns/lookup1.C
deleted file mode 100644
index 6b6f0cc9b0d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/lookup1.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-typedef int __quad_t;
-typedef __quad_t __qaddr_t;
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/lookup2.C b/gcc/testsuite/g++.old-deja/g++.ns/lookup2.C
deleted file mode 100644
index 0143290a67f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/lookup2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-template <class charT>
-struct basic_string
-{
- charT append (charT c)
- { return c; }
-};
-typedef char c;
-template class basic_string <char>;
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/lookup3.C b/gcc/testsuite/g++.old-deja/g++.ns/lookup3.C
deleted file mode 100644
index 3ace233c1b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/lookup3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace A{
- int i;
- int f();
-}
-
-int A::f()
-{
- return i;
-}
-
-int main()
-{
- return A::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/lookup4.C b/gcc/testsuite/g++.old-deja/g++.ns/lookup4.C
deleted file mode 100644
index 208a9d68459..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/lookup4.C
+++ /dev/null
@@ -1,23 +0,0 @@
-//Build don't link:
-namespace X{
- typedef int foo;
- const int bar=2;
- namespace Y{
- void f(foo);
- extern int g;
- extern int g1;
- struct h{
- void i(foo);
- };
- }
-}
-
-void X::Y::f(foo)
-{
-}
-
-int X::Y::g = bar;
-int X::Y::g1(bar);
-
-void X::Y::h::i(foo)
-{}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/lookup5.C b/gcc/testsuite/g++.old-deja/g++.ns/lookup5.C
deleted file mode 100644
index c83b50a9779..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/lookup5.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-namespace A{
- void f();
-}
-
-namespace B{
- using namespace A;
- void f(int); // ERROR - referenced below
-}
-
-using namespace B;
-
-void g()
-{
- ::f(); // ERROR - A::f is not found
-}
-
-using namespace A;
-
-void g1()
-{
- ::f(); // ok, it is found now
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/main1.C b/gcc/testsuite/g++.old-deja/g++.ns/main1.C
deleted file mode 100644
index 0e5a07f6aae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/main1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-// main is only reserved in the global namespace [basic.start.main]/3
-
-// submitted by Gerald Gutierrez <gutier@intergate.bc.ca>
-
-namespace A { void main () { } }
-namespace B { void main () { } }
-namespace C {
- void main () { }
- namespace D {
- void main () { }
- }
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns1.C b/gcc/testsuite/g++.old-deja/g++.ns/ns1.C
deleted file mode 100644
index f835716d2c3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace foo{
- int eine_funktion(int)
- {
- return 0;
- }
-
- int eine_funktion(int,int)
- {
- return 1;
- }
-}
-
-int main(int,char**)
-{
- return foo::eine_funktion(1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns10.C b/gcc/testsuite/g++.old-deja/g++.ns/ns10.C
deleted file mode 100644
index 3eb70a8de60..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns10.C
+++ /dev/null
@@ -1,13 +0,0 @@
-//Build don't link:
-namespace bb
-{
- int f(int);
-
- namespace k
- {
- void foo(int bar)
- {
- int i=bb:f(bar); // ERROR - namespace
- }
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns11.C b/gcc/testsuite/g++.old-deja/g++.ns/ns11.C
deleted file mode 100644
index ffc5acbb839..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns11.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link
-// Check [namespace.memdef]/2
-
-namespace A{
- void f(int);
- void f(int,int);
- int i; // ERROR - .*
-}
-
-void A::f(){} // ERROR - should have been declared before
-
-namespace B{
- void A::f(int){} // ERROR - B does not surround A
-}
-
-int A::i; // ERROR - redefinition
-
-void A::f(int,int){} // ok
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns12.C b/gcc/testsuite/g++.old-deja/g++.ns/ns12.C
deleted file mode 100644
index 40f5b7cfe25..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns12.C
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace fred
-{
- int barney();
- extern int wilma;
-}
-
-int fred::barney()
-{
- return fred::wilma;
-}
-
-int fred::wilma;
-
-int barney()
-{
- return 1;
-}
-
-int main()
-{
- return fred::barney();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns13.C b/gcc/testsuite/g++.old-deja/g++.ns/ns13.C
deleted file mode 100644
index 0b8c38a1cbb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns13.C
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace std{
- void f(){}
- void g();
- int i=5;
-}
-
-void std::g()
-{}
-
-int main()
-{
- return std::i-5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns14.C b/gcc/testsuite/g++.old-deja/g++.ns/ns14.C
deleted file mode 100644
index 5a3cc701074..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns14.C
+++ /dev/null
@@ -1,16 +0,0 @@
-//Special g++ Options: -fhonor-std
-namespace std{
- int f(){
- return 0;
- }
-}
-
-int f()
-{
- return 1;
-}
-
-int main()
-{
- return std::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns15.C b/gcc/testsuite/g++.old-deja/g++.ns/ns15.C
deleted file mode 100644
index cbb6292e284..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns15.C
+++ /dev/null
@@ -1,2 +0,0 @@
-//Build don't link:
-namespace std {}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns16.C b/gcc/testsuite/g++.old-deja/g++.ns/ns16.C
deleted file mode 100644
index 1f04ae82ffb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns16.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-class Y {
-public:
- void operator +(int) const;
-};
-
-namespace X {
- extern Y const& z;
-}
-
-void f(void) {
- X::z + 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns17.C b/gcc/testsuite/g++.old-deja/g++.ns/ns17.C
deleted file mode 100644
index 8d1fdd7e2ac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns17.C
+++ /dev/null
@@ -1,13 +0,0 @@
-//Build don't link:
-namespace foo
-{
- class c
- {
- };
-};
-
-int
-foo::c:fn () // ERROR - syntax error
-{
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns2.C b/gcc/testsuite/g++.old-deja/g++.ns/ns2.C
deleted file mode 100644
index e0d1bdade04..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns2.C
+++ /dev/null
@@ -1,26 +0,0 @@
-namespace foo{
- struct X{
- int i;
- void f();
- static int k1,k2;
- };
- void X::f(){}
- int var;
- int X::k1;
-}
-
-using namespace foo;
-X zzz;
-int X::k2;
-
-void andere_funktion()
-{
- zzz.f();
- var=4;
-}
-
-int main(int,char**)
-{
- andere_funktion();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns3.C b/gcc/testsuite/g++.old-deja/g++.ns/ns3.C
deleted file mode 100644
index a1c8f536d4b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-namespace foo{
- void eine_funktion(int)
- {}
-}
-
-using namespace foo;
-
-namespace foo{
- void eine_funktion(int,int)
- {}
-}
-
-void andere_funktion()
-{
- eine_funktion(3,4);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns4.C b/gcc/testsuite/g++.old-deja/g++.ns/ns4.C
deleted file mode 100644
index f720da30fc2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns4.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-namespace A{
- enum foo{a,b,c};
-}
-using A::foo;
-using A::b;
-void g()
-{
- foo x;
- x=b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns5.C b/gcc/testsuite/g++.old-deja/g++.ns/ns5.C
deleted file mode 100644
index f35b2474588..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns5.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-namespace X{
- class Y{};
-}
-
-X::Y z;
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns6.C b/gcc/testsuite/g++.old-deja/g++.ns/ns6.C
deleted file mode 100644
index ba2508c6ded..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns6.C
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace A{
- int i;
- namespace B{
- void f(){i++;}
- int i;
- void g(){i++;}
- }
-}
-
-int main()
-{
- return A::i-A::B::i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns7.C b/gcc/testsuite/g++.old-deja/g++.ns/ns7.C
deleted file mode 100644
index 9afc97c410f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns7.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-namespace A{
- struct X{
- int i;
- X(){}
- X(int j);
- void operator=(const X&);
- virtual ~X(){}
- };
- void X::operator=(const X&o)
- {
- i=o.i;
- }
-}
-
-A::X::X(int j):i(j){}
-
-namespace A{
- struct Y:public X{
- int j;
- Y(int,int);
- };
-}
-
-A::Y::Y(int a,int b):X(a),j(b)
-{}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns8.C b/gcc/testsuite/g++.old-deja/g++.ns/ns8.C
deleted file mode 100644
index 4d1ab40592d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns8.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-namespace B{
- void f();
-}
-
-using namespace B;
-
-void g()
-{
- ::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/ns9.C b/gcc/testsuite/g++.old-deja/g++.ns/ns9.C
deleted file mode 100644
index a8803b89326..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/ns9.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-namespace bb
-{
- int f(int);
-
- namespace k
- {
- void foo(int bar)
- {
- return bb:f(bar); //ERROR - syntax error
- }
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/overload1.C b/gcc/testsuite/g++.old-deja/g++.ns/overload1.C
deleted file mode 100644
index 55d66a1de09..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/overload1.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Unqualified lookup should find all functions.
-// Duplicates are ignored as long as they lose during overload resolution.
-namespace A{
- int f(){
- return 1;
- }
- int f(double);
-}
-namespace B{
- int f(int){
- return 2;
- }
- int f(double);
-}
-
-int f(int,int)
-{
- return 3;
-}
-
-using namespace A;
-using namespace B;
-
-int main()
-{
- if(f() != 1)
- return 1;
- if(f(1) != 2)
- return 1;
- if(f(0,0) != 3)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/overload2.C b/gcc/testsuite/g++.old-deja/g++.ns/overload2.C
deleted file mode 100644
index 500d7804850..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/overload2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace A{
- void f(); // ERROR - .*
-}
-
-using namespace A;
-
-void f(); // ERROR - .*
-
-void g()
-{
- f(); // ERROR - ambiguous, ::f or A::f ?
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/overload3.C b/gcc/testsuite/g++.old-deja/g++.ns/overload3.C
deleted file mode 100644
index 945f9488511..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/overload3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Declarations after the first one don't affect the set of used decls.
-
-namespace A{
- void f(); // ERROR - .*
-}
-
-using A::f;
-
-namespace A{
- void f(int);
-}
-
-using A::f;
-
-void g()
-{
- f(4); // ERROR - too many arguments
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/overload4.C b/gcc/testsuite/g++.old-deja/g++.ns/overload4.C
deleted file mode 100644
index ad961576419..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/overload4.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-namespace A{
- void f();
-}
-
-using A::f;
-void f(); // ERROR - duplicate declaration
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/overload5.C b/gcc/testsuite/g++.old-deja/g++.ns/overload5.C
deleted file mode 100644
index 24a0a6df4da..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/overload5.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-namespace A{
- void f(){}
-}
-
-using A::f;
-
-void f(int);
-void f(){} // ERROR - conflict
-
-void g()
-{
- f(4);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template1.C b/gcc/testsuite/g++.old-deja/g++.ns/template1.C
deleted file mode 100644
index 593df9e8d06..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-namespace foo {
-
- template <class T>
- class x {};
-
-}
-
-foo::x<int> y;
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template2.C b/gcc/testsuite/g++.old-deja/g++.ns/template2.C
deleted file mode 100644
index bb7c1dced71..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-//Build don't link:
-//Inheritance from templates which are namespace members
-namespace foo {
-
- template <class T>
- struct x {
- x(){}
- };
-
-}
-
-class y : public foo::x<int> {};
-
-y r;
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template3.C b/gcc/testsuite/g++.old-deja/g++.ns/template3.C
deleted file mode 100644
index 761656f5a69..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-//Check instantiation of templates outside their namespace
-namespace A{
-template <class T>void g(){}
-template <class T> struct B {
- B(){
- f();
- }
- void f()
- {
- g<T>();
- }
-};
-}
-
-template class A::B<int>;
-A::B<int> s;
-
-int main()
-{
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template4.C b/gcc/testsuite/g++.old-deja/g++.ns/template4.C
deleted file mode 100644
index dd3244449f0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template4.C
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace NS
-{
-template <typename T>
-void solver (){}
-
-}
-
-template<typename T>
-void solver(){}
-
-int main()
-{
- solver<double>();
- NS::solver<double>();
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template5.C b/gcc/testsuite/g++.old-deja/g++.ns/template5.C
deleted file mode 100644
index 9dc7a396a7e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template5.C
+++ /dev/null
@@ -1,33 +0,0 @@
-//Check whether namespace-scoped template instantiations
-//are mangled differently.
-
-namespace X{
- template<class T>
- struct Y{
- int f(T){
- return 1;
- }
- template<class X>void g(){}
- };
-}
-
-template<class T>
-struct Y{
- int f(T){
- return 2;
- }
-};
-
-int main()
-{
- X::Y<int> z;
- if (z.f(4) != 1)
- return 1;
- z.template g<long>();
-
- Y<int> z1;
- if (z1.f(5) != 2)
- return 1;
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template6.C b/gcc/testsuite/g++.old-deja/g++.ns/template6.C
deleted file mode 100644
index 324b4d22a59..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template6.C
+++ /dev/null
@@ -1,24 +0,0 @@
-//Build don't link:
-//reported by Theodore Papadopoulo (Theodore.Papadopoulo@sophia.inria.fr)
-
-namespace A {
-
- namespace B {
-
- template <class T1,class T2>
- struct B {
- static const unsigned count = 0;
- template <class ForwardIter>
- void SetError(ForwardIter it,const T1& p1,const T2& p2) const { }
- };
-
- template <>
- const unsigned B<int,int>::count = 2; // ERROR - duplicate init
- }
-};
-
-int
-main()
-{
- unsigned kk = A::B<int,int>::count; // ERROR - not a template: syntax error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template7.C b/gcc/testsuite/g++.old-deja/g++.ns/template7.C
deleted file mode 100644
index 3c857355a50..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template7.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-// crash test - XFAIL *-*-*
-
-// Based on bug report by Eric NICOLAS <nicolas@bnp-eng.remcomp.com>
-
-namespace foo {
- template<class F> struct bar {};
-}
-
-void baz() {
- foo::bar(); // ERROR - template used as expression
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template8.C b/gcc/testsuite/g++.old-deja/g++.ns/template8.C
deleted file mode 100644
index 758f1927653..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template8.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-namespace X {
- template <class T> class foo;
-}
-
-template <class T>
-class X::foo {
- T worthless;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template9.C b/gcc/testsuite/g++.old-deja/g++.ns/template9.C
deleted file mode 100644
index 1b50a5f626a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/template9.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Produces ICE 980519.
-// Test case from Dirk Engelmann <Dirk.Engelmann@IWR.Uni-Heidelberg.De>
-
-namespace vector {
-
- // allocate memory for vector
-
- template <class T>
- inline T* alloc(const int aWidth)
- {
- // allocate memory
- return new T[aWidth];
- }
-
-}
-
-namespace matrix {
-
- // allocate memory for matrix
- template <class T>
- T** alloc(const int aWidth,const int aHeight)
- {
- // allocate memory
- T **mat = vector::alloc<T*>(aHeight);
- T *data = vector::alloc<T> (aWidth*aHeight);
- // set pointer
- for (int i=0; i<aHeight; i++)
- mat[i] = &data[aWidth*i];
- // ok
- return mat;
- }
-
-}
-
-int main(void)
-{
- // sample
- double **m=matrix::alloc<double>(10,20);
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/undef1.C b/gcc/testsuite/g++.old-deja/g++.ns/undef1.C
deleted file mode 100644
index d13b8e7063d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/undef1.C
+++ /dev/null
@@ -1,5 +0,0 @@
-//Build don't link:
-namespace A{
-}
-
-struct Y: A::S<int>{}; //ERROR - no such type
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using1.C b/gcc/testsuite/g++.old-deja/g++.ns/using1.C
deleted file mode 100644
index 489faac4e93..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using1.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-using namespace bb; // ERROR - .*
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using10.C b/gcc/testsuite/g++.old-deja/g++.ns/using10.C
deleted file mode 100644
index cd5cd47627a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using10.C
+++ /dev/null
@@ -1,9 +0,0 @@
-//Build don't link:
-//Based on a report by Helmut Jarausch <jarausch@IGPM.Rwth-Aachen.DE>
-template<class>
-class foo{};
-
-namespace ABC
-{
- using ::foo;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using11.C b/gcc/testsuite/g++.old-deja/g++.ns/using11.C
deleted file mode 100644
index 23943f22a1a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using11.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-class joey {
-public:
- typedef int SVec;
-};
-
-using joey::SVec; // ERROR - joey is not a namespace
-
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using12.C b/gcc/testsuite/g++.old-deja/g++.ns/using12.C
deleted file mode 100644
index edc863b08bf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using12.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Origin: Brendan Kehoe <brendan@cygnus.com>
-
-namespace foo
-{
- void x (bool); // ERROR - candidates
- void x (char); // ERROR - candidates
- void x (int); // ERROR - candidates
- void x (double); // ERROR - candidates
-}
-
-namespace baz { void x (int); } // ERROR - candidates
-
-void fn (int i)
-{
- using foo::x;
- using baz::x;
- x(i); // ERROR - ambiguous
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using13.C b/gcc/testsuite/g++.old-deja/g++.ns/using13.C
deleted file mode 100644
index c1e96adcc96..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using13.C
+++ /dev/null
@@ -1,23 +0,0 @@
-namespace A{
- void foo(int){}
-}
-namespace B{
- void foo(bool){}
-}
-
-void bar()
-{
- using B::foo;
- using A::foo;
- foo(true);
-}
-
-namespace Foo {
- template<class N> void Hello(N) {}
-}
-
-int main() {
- using Foo::Hello;
- Hello(4);
- bar();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using2.C b/gcc/testsuite/g++.old-deja/g++.ns/using2.C
deleted file mode 100644
index 879e0c5ef67..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using2.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-void f();
-namespace A{
- using ::f;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using3.C b/gcc/testsuite/g++.old-deja/g++.ns/using3.C
deleted file mode 100644
index a8c1761f6f5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-typedef unsigned int atypedef;
-struct astruct{};
-void afunction();
-void aovlfunction();
-void aovlfunction(int);
-int avariable;
-
-namespace foo {
- using ::atypedef;
- using ::astruct;
- using ::afunction;
- using ::aovlfunction;
- using ::avariable;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using4.C b/gcc/testsuite/g++.old-deja/g++.ns/using4.C
deleted file mode 100644
index f3197be1f9d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using4.C
+++ /dev/null
@@ -1,5 +0,0 @@
-//Build don't link
-#include <vector>
-namespace csp {
-using namespace std::vector; // ERROR - vector is not a namespace
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using5.C b/gcc/testsuite/g++.old-deja/g++.ns/using5.C
deleted file mode 100644
index 37fc6a85981..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using5.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-namespace a {
- class b {
- using std::c; //ERROR - namespace using on class level
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using6.C b/gcc/testsuite/g++.old-deja/g++.ns/using6.C
deleted file mode 100644
index b770950cc64..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-//Build don't link:
-#include <vector>
-
-namespace csp {
- using namespace std;
- struct X {
- vector<int> v;
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using7.C b/gcc/testsuite/g++.old-deja/g++.ns/using7.C
deleted file mode 100644
index a449284a532..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using7.C
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace X{
- void f(int){}
-}
-
-void f();
-
-int main()
-{
- using X::f;
- f(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using8.C b/gcc/testsuite/g++.old-deja/g++.ns/using8.C
deleted file mode 100644
index 2234f589f34..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using8.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-namespace M {
- int i;
-}
-namespace N {
- using namespace M;
-}
-
-using namespace N;
-int j = i;
-
-namespace O{
- int k;
-}
-
-namespace N {
- using namespace O;
-}
-
-int l = k;
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using9.C b/gcc/testsuite/g++.old-deja/g++.ns/using9.C
deleted file mode 100644
index 547ae3101fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.ns/using9.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Test for proper merging of functions from multiple using directives.
-
-// Build don't link:
-
-namespace standard
-{ void print(int) {};
- void dump(int) {};
-}
-namespace A { using standard::print; }
-namespace B { using namespace standard; }
-namespace User
-{ using namespace standard;
- using namespace A;
- void test()
- { print(1); }
- // egcs-1.1: call of overloaded `print (int)' is ambiguous
-}
-namespace User2
-{ using namespace standard;
- using namespace B;
- void test()
- { print(1); } // egcs has no problems here
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/.cvsignore b/gcc/testsuite/g++.old-deja/g++.other/.cvsignore
deleted file mode 100644
index 7abff1dbead..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-config.status
diff --git a/gcc/testsuite/g++.old-deja/g++.other/900403_04.C b/gcc/testsuite/g++.old-deja/g++.other/900403_04.C
deleted file mode 100644
index 9d55a37976b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/900403_04.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// GROUPS passed abort
-// Build don't link:
-// g++ 1.37.1 bug 900403_04
-
-// The following erroneous code causes g++ to abort.
-
-// keywords: abort, bit-fields, zero length
-
-struct s {
- unsigned int foo:0; // ERROR - causes abort
- unsigned int field;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/900519_12.C b/gcc/testsuite/g++.old-deja/g++.other/900519_12.C
deleted file mode 100644
index 1170b068b2f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/900519_12.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// GROUPS abort
-// Build don't link:
-// g++ 1.37.1 bug 900519_12
-
-// The following erroneous code causes g++ to segfault.
-
-// cfront 2.0 passes this test.
-
-// keywords: segfault, typedef, pointer type, function type
-
-typedef eek void (*)(); // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.other/Makefile.in b/gcc/testsuite/g++.old-deja/g++.other/Makefile.in
deleted file mode 100644
index d5eb149dbee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access1.C b/gcc/testsuite/g++.old-deja/g++.other/access1.C
deleted file mode 100644
index 43aff60a161..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/access1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-class X{
- unsigned int i;
- public:
- void f();
-};
-
-void X::f()
-{
- union {
- int foo[sizeof (i)];
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access2.C b/gcc/testsuite/g++.old-deja/g++.other/access2.C
deleted file mode 100644
index beb02a1f7d8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/access2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Based on a test-case in the Standard, submitted by several people
-
-class Outer {
- typedef int T;
- struct Inner {
- T i; // ERROR - not accessible - XFAIL *-*-*
- void f() {
- T j; // ERROR - not accessible - XFAIL *-*-*
- }
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access3.C b/gcc/testsuite/g++.old-deja/g++.other/access3.C
deleted file mode 100644
index 2ba2c0c51d6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/access3.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// The standard sez that a use of a name gets the most access it can through
-// the various paths that can reach it. Here, the access decl in B gives
-// us access.
-
-struct A
-{
- void f ();
-};
-
-struct B: private virtual A
-{
- A::f;
-};
-
-struct C: private virtual A, public B
-{
-};
-
-int
-main ()
-{
- C c;
-
- c.f ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access4.C b/gcc/testsuite/g++.old-deja/g++.other/access4.C
deleted file mode 100644
index 75f3a6191a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/access4.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-struct A {
- static int i;
-};
-
-struct B : private A { };
-
-struct C : public B {
- int f () { return A::i; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access5.C b/gcc/testsuite/g++.old-deja/g++.other/access5.C
deleted file mode 100644
index 0d58ea0b3f3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/access5.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-class A
-{
-protected:
- int i;
-};
-
-class B : private A
-{
-protected:
- A::i;
-};
-
-struct C : public B {
- friend int f(C *p);
-};
-
-int f(C *p) {
- return p->i;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/access6.C b/gcc/testsuite/g++.old-deja/g++.other/access6.C
deleted file mode 100644
index 7a7c7ff5941..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/access6.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-template <int I>
-struct S {
- void g();
-};
-
-class C {
- static const int i = 3; // gets bogus error - private - XFAIL *-*-*
-public:
- S<C::i>* f(); // gets bogus error - redeclared - XFAIL *-*-*
-};
-
-S<C::i>* C::f() { // gets bogus error - private - XFAIL *-*-*
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/addrof1.C b/gcc/testsuite/g++.old-deja/g++.other/addrof1.C
deleted file mode 100644
index b4d55f6a21b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/addrof1.C
+++ /dev/null
@@ -1,30 +0,0 @@
-typedef struct st {
- unsigned char a;
- unsigned char b;
- unsigned char c;
- unsigned char d;
-} __attribute__((aligned(4))) st;
-
-void testme(int, int, int);
-
-static inline void
-stupid_func(st s)
-{
- testme(s.a, s.b, s.c);
-}
-
-int main()
-{
- st s;
-
- s.a = s.b = s.c = 216;
- stupid_func(s);
-
- return 0;
-}
-
-void testme(int a, int b, int c)
-{
- if (a != 216 || b != 216 || c != 216)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/ambig1.C b/gcc/testsuite/g++.old-deja/g++.other/ambig1.C
deleted file mode 100644
index d6574a2b79c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/ambig1.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-
-struct A {
- int operator ++(); // ERROR - candidates
- void operator ()(); // ERROR - candidates
- void operator delete(void*); // ERROR - candidates
-};
-
-struct B {
- int operator ++(int); // ERROR - candidates
- void operator ()(); // ERROR - candidates
- void operator delete(void*); // ERROR - candidates
- void f();
-};
-
-struct C : public A, public B {
-};
-
-void f()
-{
- C c;
- C* cp;
-
- delete cp; // ERROR - ambiguous
- c(); // ERROR - ambiguous
- c++; // ERROR - ambiguous
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/anon1.C b/gcc/testsuite/g++.old-deja/g++.other/anon1.C
deleted file mode 100644
index 87948481d2b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/anon1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-static union {
- union {
- };
-}; // ERROR - anonymous union with no members
diff --git a/gcc/testsuite/g++.old-deja/g++.other/anon2.C b/gcc/testsuite/g++.old-deja/g++.other/anon2.C
deleted file mode 100644
index 49a7b2c35d6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/anon2.C
+++ /dev/null
@@ -1,31 +0,0 @@
-extern "C" void abort (void);
-
-static union {
- int x1;
- long x2;
- short x3;
- long x4;
-};
-
-static union {
- union {
- union {
- int z;
- };
- };
- union {
- union {
- double d;
- int i;
- };
- };
-};
-
-
-int main()
-{
- z = 3;
- if (i != 3)
- abort ();
- d = 2.5;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/array1.C b/gcc/testsuite/g++.old-deja/g++.other/array1.C
deleted file mode 100644
index 0ecba7778aa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/array1.C
+++ /dev/null
@@ -1,26 +0,0 @@
-int i;
-
-struct S {
- S (int) {
- ++i;
- if (i == 3)
- throw 3;
- };
-
- S () {}
-
- ~S() {
- --i;
- }
-};
-
-int main()
-{
- try {
- S s[5] = { 0, 1, 2, 3, 4 };
- } catch (...) {
- }
-
- if (i != 1)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/array2.C b/gcc/testsuite/g++.old-deja/g++.other/array2.C
deleted file mode 100644
index 255d8cce2d3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/array2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-int i;
-
-struct S {
- S () {
- ++i;
- };
-
- S (int) {
- };
-};
-
-int main()
-{
- S s[3][3] = { 2 };
-
- if (i != 8)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/badarrow.C b/gcc/testsuite/g++.old-deja/g++.other/badarrow.C
deleted file mode 100644
index e5946fd7768..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/badarrow.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-struct S {
- int i;
-} s;
-
-void f()
-{
- s->i = 3; // ERROR - base operand
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/badopt1.C b/gcc/testsuite/g++.old-deja/g++.other/badopt1.C
deleted file mode 100644
index 096770e77ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/badopt1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Based on a testcase by Bryan Weston <bryanw@bluemoon.sps.mot.com>
-// egcs 1.1 fails to increment count
-
-#include <cstdlib>
-
-struct Base { Base() {} }; // removing the constructor fixes the problem
-struct Derived : Base {}; // so does removing the base class
-
-int main() {
- int count = 0;
- Derived* array[1]; // making this Base*[1] does not fix the problem
- array[count++] = new Derived (); // but then new Base() does
- if (count!=1)
- std::abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/bitfld1.C b/gcc/testsuite/g++.old-deja/g++.other/bitfld1.C
deleted file mode 100644
index ad21fd7fb85..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/bitfld1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Based on a bug report by Stephen Vavasis <vavasis@CS.Cornell.EDU>
-
-// excess errors test - XFAIL *-*-*
-
-// declares template operator!=
-#include <utility>
-
-struct foo {
- enum e { bar } baz:1;
- void test() {
- baz != bar;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/cast1.C b/gcc/testsuite/g++.old-deja/g++.other/cast1.C
deleted file mode 100644
index 7cd805975aa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/cast1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-struct S0 { };
-struct S1 : virtual public S0 { };
-struct S2 : virtual public S0 { };
-
-struct S3 : public S1, public S2, virtual public S0
-{
-};
-
-void f(const S0*) {}
-
-void g()
-{
- f(static_cast<S3*>(0));
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/cast2.C b/gcc/testsuite/g++.old-deja/g++.other/cast2.C
deleted file mode 100644
index 80cf7dc1864..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/cast2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-struct A {
-};
-
-int main()
-{
- A a;
- typedef void (A::*F)();
- F p;
-
- const_cast<const A>(a); // ERROR - const_cast requires pointer/ref types
- const_cast<F>(p); // ERROR - const_cast requires pointer/ref types
- const_cast<int (*)()>(&main); // ERROR - function type in const_cast
- const_cast<int (&)()>(main); // ERROR - function type in const_cast
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/cleanup1.C b/gcc/testsuite/g++.old-deja/g++.other/cleanup1.C
deleted file mode 100644
index fd4dc6e4db0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/cleanup1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Bug: fold is too eager about pushing down CLEANUP_POINT_EXPR.
-
-int d;
-
-struct A {
- A() { }
- ~A() { d = 1; }
-};
-
-int f (const A& a)
-{
- return 1;
-}
-
-int main ()
-{
- if (f (A()) && d == 0)
- return 0;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/configure.in b/gcc/testsuite/g++.old-deja/g++.other/configure.in
deleted file mode 100644
index e198b4f0d45..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=g++-03.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/g++.old-deja/g++.other/const1.C b/gcc/testsuite/g++.old-deja/g++.other/const1.C
deleted file mode 100644
index 7c26da1aea3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/const1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct S
-{
- void f()
- {
- const int i; // ERROR - uninitialized const
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/const2.C b/gcc/testsuite/g++.old-deja/g++.other/const2.C
deleted file mode 100644
index 90b70d16619..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/const2.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-struct S {
- static const char* cp = "abc"; // ERROR - initialization of non-const
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv1.C b/gcc/testsuite/g++.old-deja/g++.other/conv1.C
deleted file mode 100644
index a558c5eba64..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/conv1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-class X {
-public:
- const operator int (); // ERROR - invalid declaration.
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv2.C b/gcc/testsuite/g++.old-deja/g++.other/conv2.C
deleted file mode 100644
index e713304c575..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/conv2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options: -pedantic-errors
-
-void cheat( int* i ) { ++(*i); }
-
-struct t {
- void cheat( int& i ) { ++i; }
-};
-
-int main()
-{
- void (t::*member)( const int& ) = &t::cheat; // ERROR - conversion
- void (*cheater)( const int* ) = &cheat; // ERROR - converting
- t t2;
- const int i=1;
- int j=1;
- (t2.*member)( i );
- (t2.*member)( j );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv3.C b/gcc/testsuite/g++.old-deja/g++.other/conv3.C
deleted file mode 100644
index 7690f56ee94..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/conv3.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-// submitted by David C Binderman <dcb@pncl.co.uk>
-
-typedef const int ci;
-typedef ci aci[ 10];
-aci var = { 2, 3, 5, 7, 11, 13 };
-
-void
-f()
-{
- int * ip = var; // ERROR - requires const_cast
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv4.C b/gcc/testsuite/g++.old-deja/g++.other/conv4.C
deleted file mode 100644
index 0ed0ee86563..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/conv4.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Testcase for proper hiding of base conversion ops.
-
-struct A
-{
- operator const char *();
-};
-
-struct B : public A
-{
- operator const char *() { return 0; }
-};
-
-int main( void )
-{
- B b;
- const char *p = b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv5.C b/gcc/testsuite/g++.old-deja/g++.other/conv5.C
deleted file mode 100644
index 97bf23889a9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/conv5.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-// Based on bug report by Thomas Kunert <kunert@physik.tu-dresden.de>
-
-// Special g++ Options:
-
-int foo();
-const int (*bar)() = foo; // ERROR - adding const - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv6.C b/gcc/testsuite/g++.old-deja/g++.other/conv6.C
deleted file mode 100644
index 918e69742d8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/conv6.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Test for composite pointer types, as defined in [expr.rel],
-// and common pointer to member types, as defined in [expr.eq].
-
-struct A { int i; };
-struct B : public A { };
-
-int main ()
-{
- B b;
-
- // The composite type is `A const *'
- A* ap = &b;
- const B* bp = &b;
- if (ap != bp) // gets bogus error - distinct types XFAIL *-*-*
- return 1;
-
- // The composite type is `B const *const *'
- B *const * p = 0;
- B const * * q = 0;
- if (p != q) // gets bogus error - distinct types XFAIL *-*-*
- return 1;
-
- // The common type is `int const B::*'
- const int A::*apm = &A::i;
- int B::*bpm = &A::i;
- if (apm != bpm) // gets bogus error - distinct types XFAIL *-*-*
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/copy1.C b/gcc/testsuite/g++.old-deja/g++.other/copy1.C
deleted file mode 100644
index 5cc68a5623e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/copy1.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Bug: expand_vec_init doesn't copy arrays of builtin types.
-
-struct B {
- B() { }
- B(const B&) { }
-};
-
-struct A
-{
- B b;
- int ar[5];
-};
-
-int main()
-{
- A a;
- for (int i = 0; i < 5; ++i)
- a.ar[i] = i;
-
- A a2 = a;
-
- for (int i = 0; i < 5; ++i)
- if (a2.ar[i] != a.ar[i])
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash1.C b/gcc/testsuite/g++.old-deja/g++.other/crash1.C
deleted file mode 100644
index f7caa2f00ba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-class A
-{
- enum B { ONE, TWO, THREE };
-};
-
-class A::B; // ERROR - A::B is not a class type
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash2.C b/gcc/testsuite/g++.old-deja/g++.other/crash2.C
deleted file mode 100644
index 93e0a6e3bcc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct A {
- int rep;
- static const A a(0); // ERROR - initialization
- static const A b = 3; // ERROR - initialization
- static const A& c = 2; // ERROR - initialization
- A(int x) : rep(x) {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash3.C b/gcc/testsuite/g++.old-deja/g++.other/crash3.C
deleted file mode 100644
index 01148434535..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -g -O2
-
-inline void f() {
- struct S {};
- S s;
-}
-
-int g()
-{
- for (int i = 0; i < 2; ++i)
- f();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash4.C b/gcc/testsuite/g++.old-deja/g++.other/crash4.C
deleted file mode 100644
index d86a6bb3f66..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash4.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-struct T {
- struct S __attribute__ ((packed)) { // ERROR - parse error
- int i;
- };
-}; // ERROR - parse error
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash5.C b/gcc/testsuite/g++.old-deja/g++.other/crash5.C
deleted file mode 100644
index 761ec0d960f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash5.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-class TecMesh {};
-
-extern TecMesh& m;
-
-struct X {
- X(TecMesh&);
-};
-
-struct D {
- D();
- TecMesh& Mesh;
-};
-
-
-D::D ()
- : Mesh(m)
-{
- X x(D::Mesh);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash6.C b/gcc/testsuite/g++.old-deja/g++.other/crash6.C
deleted file mode 100644
index 498c9833501..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash6.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O2
-
-struct E
-{
- int f(int);
-};
-
-int ha()
-{
- enum {X = 0};
-
- int A, C;
-
- E vList[10];
-
- A = (C + 1) % 3;
- vList[1].f(A);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash7.C b/gcc/testsuite/g++.old-deja/g++.other/crash7.C
deleted file mode 100644
index 0f581988b1f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash7.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-void f()
-{
- union {
- private:
- int i; // ERROR - private
- } u;
-
- u.i = 3; // ERROR - within this context
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash8.C b/gcc/testsuite/g++.old-deja/g++.other/crash8.C
deleted file mode 100644
index 22b27ef9b12..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash8.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-int main()
-{
- void f();
- class A {
- friend void f();
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash9.C b/gcc/testsuite/g++.old-deja/g++.other/crash9.C
deleted file mode 100644
index d3c23977abf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/crash9.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-struct A { };
-struct B : public A
-{
- int A;
-};
-struct C : public B { };
diff --git a/gcc/testsuite/g++.old-deja/g++.other/cvt1.C b/gcc/testsuite/g++.old-deja/g++.other/cvt1.C
deleted file mode 100644
index f448cc1a31b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/cvt1.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-
-typedef int Array_T[2];
-
-struct S1 {
- S1(const Array_T&);
-};
-
-struct S2 {
- S1 g();
- Array_T a;
-};
-
-S1 S2::g()
-{
- return S1(a);
-}
-
-void h()
-{
- S2 s2;
- s2.g();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dcast1.C b/gcc/testsuite/g++.old-deja/g++.other/dcast1.C
deleted file mode 100644
index d9dd6575aec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dcast1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-class C {
-public:
- virtual void f();
-};
-
-extern volatile C* cp;
-extern volatile C& cr;
-
-void f ()
-{
- dynamic_cast<void*>(cp); // ERROR - cannot dynamic_cast
- dynamic_cast<C&>(cr); // ERROR - cannot dynamic_cast
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dcast2.C b/gcc/testsuite/g++.old-deja/g++.other/dcast2.C
deleted file mode 100644
index bd343a7e61d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dcast2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-// Based on a testcase by Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>
-
-struct B {
- virtual ~B();
-};
-
-struct D : public B {
-};
-
-void foo() {
- B x;
- dynamic_cast<D*>(&x); // WARNING - will never succeed
- B* p = &x;
- dynamic_cast<D*>(p);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/debug1.C b/gcc/testsuite/g++.old-deja/g++.other/debug1.C
deleted file mode 100644
index 84858957a79..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/debug1.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Build don't link:
-// Special g++ Options: -g
-
-typedef unsigned int size_t;
-
-
-struct dummy { };
-
-struct arrrrrgh { };
-
-
-template<class Par,class Rand = arrrrrgh>
-struct whyyyyyyy { };
-
-
-
-
-template<class T, class S =dummy>
-struct grrrrrrrr { };
-
-
-template<class Par, class Par2 =Par, class Rand =arrrrrgh>
-class no_future
-{
-public:
-
-
- template<class S>
- no_future(const grrrrrrrr<whyyyyyyy<Par,Rand>*,S>& man ) { }
-
- ~no_future( ) { }
-
-private:
-
-
- no_future(const no_future&);
- no_future& operator=(const no_future&);
-};
-
-
-int main( )
-{
- grrrrrrrr<whyyyyyyy<double>*> man;
-
- no_future<double> here(man);
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/debug2.C b/gcc/testsuite/g++.old-deja/g++.other/debug2.C
deleted file mode 100644
index 200aeb3cffc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/debug2.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-// Special g++ Options: -funroll-loops -O2 -g
-
-inline void f()
-{
- typedef int T;
-}
-
-inline void g()
-{
- typedef double U;
-}
-
-int n;
-
-struct B
-{
- ~B() {
- for (int i = 0; i < n; ++i)
- g();
- }
-};
-
-struct D : public B {
- ~D() {
- for (int j = 0; j < n; ++j)
- f();
- }
-};
-
-D d;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl1.C b/gcc/testsuite/g++.old-deja/g++.other/decl1.C
deleted file mode 100644
index 7a55ce0cdeb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/decl1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Based on a test case by Phil Blecker <tmwg@inxservices.com>
-
-// excess errors test - XFAIL *-*-*
-
-int foo(int);
-int bar() {
- int baz(int(foo(0)));
- int foo = baz;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl2.C b/gcc/testsuite/g++.old-deja/g++.other/decl2.C
deleted file mode 100644
index 1da75406d9f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/decl2.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Based on a test-case by Maciej Radziejewski <maciejr@iws.uni-stuttgart.de>
-
-int i(0)(1); // ERROR - multiple initialization
-int j(2) = 3; // ERROR - multiple initialization
-int k(4)(5)(6); // ERROR - multiple initialization
-int m, n(7)(8); // ERROR - multiple initialization
diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl3.C b/gcc/testsuite/g++.old-deja/g++.other/decl3.C
deleted file mode 100644
index 6068e3105dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/decl3.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-// Origin: Adapted by Nathan Sidwell 29 Apr 1999 <nathan@acm.org>
-// from a test case submitted by Corey Kosak <kosak@cs.cmu.edu>
-// http://egcs.cygnus.com/ml/egcs-bugs/1999-04/msg00502.html
-
-// We should not allow arrays of abstract type. [class.abstract/2]
-
-struct cow_t {
- virtual void f()=0; // ERROR - abstract
-};
-
-
-int main()
-{
- cow_t cow[2]; // ERROR - abstract class
- cow[0].f();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/defarg1.C b/gcc/testsuite/g++.old-deja/g++.other/defarg1.C
deleted file mode 100644
index 68b07a510cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/defarg1.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-
-int f (int x)
-{
- extern void g (int i = f (x)); // ERROR - default argument uses local
-
- g();
-
- return 0;
-}
-
-int f (void);
-
-int h1 (int (*)(int) = f);
-int h2 (int (*)(double) = f); // ERROR - no matching f
-
-template <class T>
-int j (T t)
-{
- extern void k (int i = j (t)); // ERROR - default argument uses local
-
- k ();
-
- return 0;
-}
-
-template int j (double); // ERROR - instantiated from here
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/defarg2.C b/gcc/testsuite/g++.old-deja/g++.other/defarg2.C
deleted file mode 100644
index edb0770c7d6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/defarg2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Test that default args don't mess up pmf type comparisons.
-// Contributed by Jason Merrill <jason@cygnus.com>.
-
-struct A {
- void f (int = 0) { }
-};
-
-int
-main ()
-{
- void (A::*p)(int) = 0;
- p = &A::f;
- if (p != &A::f)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete1.C b/gcc/testsuite/g++.old-deja/g++.other/delete1.C
deleted file mode 100644
index 6386fe1883b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/delete1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-//Build don't link:
-struct cl_heap_ring{
- void operator delete (void* ptr) { }
- cl_heap_ring ()
- { }
-};
-
-struct cl_heap_null_ring : public cl_heap_ring {
- void operator delete (void* ptr) { }
-};
-
-void f()
-{
- new cl_heap_null_ring();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete2.C b/gcc/testsuite/g++.old-deja/g++.other/delete2.C
deleted file mode 100644
index d90def03a3f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/delete2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-struct foo {
- operator char*() const;
-};
-
-void bar(foo a) {
- delete a; // should be accepted
- delete[] a; // should be accepted
- char b[1];
- delete b; // ERROR - expecting pointer type
- delete[] b; // ERROR - expecting pointer type
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete3.C b/gcc/testsuite/g++.old-deja/g++.other/delete3.C
deleted file mode 100644
index eb56350371b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/delete3.C
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <new>
-
-int i;
-
-extern "C" void printf(const char*, ...);
-
-template <class T, class U>
-struct map {
- ~map ();
-};
-
-template <class T, class U>
-map<T, U>::~map ()
-{}
-
-struct SomeClass { };
-
-void* operator new(size_t numBytes, SomeClass&, const nothrow_t&) throw()
-{
- return operator new(numBytes, nothrow);
-}
-
-void operator delete(void* pMemory, SomeClass&, const nothrow_t&) throw()
-{
- i = 7;
- return operator delete(pMemory);
-}
-
-int
-main()
-{
- map< int, int>* pMap = new map< int, int>;
-
- delete pMap;
-
- if (i == 7)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete4.C b/gcc/testsuite/g++.old-deja/g++.other/delete4.C
deleted file mode 100644
index 74ddcdd1545..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/delete4.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// Build don't link:
-
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 15 Apr 1999 <nathan@acm.org>
-
-// delete (void *)e and delete[] (void *)e result in undefined behaviour
-// [expr.delete/3]. Check we warn about them
-// operator new functions can only return NULL, if their exceptions
-// specification is `throw()'. All other cases must return a non-null pointer
-// [expr.new/13].
-
-typedef __SIZE_TYPE__ size_t;
-
-void *operator new(size_t)
-{
- return 0; // ERROR - cannot return NULL
-}
-void *operator new[](size_t)
-{
- return 0; // ERROR - cannot return NULL
-}
-
-struct X
-{
- void *operator new(size_t)
- {
- return 0; // ERROR - cannot return NULL
- }
- void *operator new[](size_t)
- {
- return 0; // ERROR - cannot return NULL
- }
-};
-
-struct Y
-{
- void *operator new(size_t) throw()
- {
- return 0; // ok
- }
- void *operator new[](size_t) throw()
- {
- return 0; // ok
- }
-};
-
-void fn(double *d, void *v)
-{
- delete d; // ok
- delete v; // WARNING - deleting void
- delete[] d; // ok
- delete[] v; // WARNING - deleting void
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete5.C b/gcc/testsuite/g++.old-deja/g++.other/delete5.C
deleted file mode 100644
index e9cc493d668..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/delete5.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 15 Apr 1999 <nathan@acm.org>
-
-typedef __SIZE_TYPE__ size_t;
-
-struct X
-{
- int i;
-
- X():i(){}
- void *operator new(size_t)
- {
- return 0; // WARNING - cannot return NULL
- }
- void *operator new[](size_t)
- {
- return 0; // WARNING - cannot return NULL
- }
-};
-
-struct Y
-{
- int i;
-
- Y():i(){}
- void *operator new(size_t) throw()
- {
- return 0; // ok
- }
- void *operator new[](size_t) throw()
- {
- return 0; // ok
- }
-};
-
-int main()
-{
- Y *yp = new Y;
-
- return yp != 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dll-1.C b/gcc/testsuite/g++.old-deja/g++.other/dll-1.C
deleted file mode 100644
index 0c66b7faf4b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dll-1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Special g++ Options: -mno-nop-fun-dllimport
-// Skip if not target: arm-*pe
-// declspec test #1
-// set compiler_result "__imp_imp.*\.section${spaces}.drectve\n\[^\n\]*-export:exp"
-// set not_compiler_result "__imp_exp"
-
-__declspec (dllimport) void imp ();
-
-__declspec (dllexport) void exp () { imp (); }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dll-2.C b/gcc/testsuite/g++.old-deja/g++.other/dll-2.C
deleted file mode 100644
index f5c7b2eb8e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dll-2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Skip if not target: arm-*pe
-// Build don't link:
-// Microsoft's MSVC 2.0 allows dllimport followed by dllexport for variables,
-// but does not allow dllexport followed by dllimport.
-//
-// Switching between dll{export,import} works for functions.
-// We test for that too (by ensuring no error is produced).
-
-__declspec (dllimport) int foo1 ();
-__declspec (dllexport) int foo1 ();
-
-__declspec (dllexport) int foo2 ();
-__declspec (dllimport) int foo2 ();
-
-__declspec (dllimport) int bar1;
-__declspec (dllexport) int bar1;
-
-__declspec (dllexport) int bar2; // ERROR - previously declared
-__declspec (dllimport) int bar2; // ERROR - redefinition
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dll-3.C b/gcc/testsuite/g++.old-deja/g++.other/dll-3.C
deleted file mode 100644
index 469ea1c6b78..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dll-3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// Skip if not target: arm-*pe
-// Special g++ Options: -mno-nop-fun-dllimport
-// set compiler_result "__imp_f1.*\.section${spaces}.drectve\n\[^\n\]*-export:f2"
-// set not_compiler_result "__imp_f2"
-
-class aClass
-{
-public:
- __declspec(dllimport) int f1();
- __declspec(dllexport) int f2();
-};
-
-__declspec(dllexport) int aClass::f2()
-{
- return f1();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dll-4.C b/gcc/testsuite/g++.old-deja/g++.other/dll-4.C
deleted file mode 100644
index 322f003dbde..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dll-4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Skip if not target: arm-*pe
-// Ensure dllexport overrides dllimport.
-// set compiler_result "\.section${spaces}\.drectve\n\[^\n\]*-export:foo1.*\.section${spaces}\.drectve\n\[^\n\]*-export:foo2"
-// set not_compiler_result "(__imp_foo1|__imp_foo2)"
-
-__declspec (dllimport) int foo1 ();
-__declspec (dllexport) int foo1 ();
-
-__declspec (dllexport) int foo2 ();
-__declspec (dllimport) int foo2 ();
-
-__declspec (dllexport) int foo1 () { return foo2 (); }
-__declspec (dllexport) int foo2 () { return foo1 (); }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dll-5.C b/gcc/testsuite/g++.old-deja/g++.other/dll-5.C
deleted file mode 100644
index b2ad9f51bac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dll-5.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Skip if not target: arm-*pe
-// dllimport is "sorta like" to "extern".
-// set compiler_result "(\nfoo1:.*\nfoo2:|\nfoo2:.*\nfoo1:)"
-// set not_compiler_result "__imp_"
-
-__declspec (dllimport) int foo1;
-int foo1;
-
-__declspec (dllimport) int foo2;
-int foo2 = 5;
-
-int f () { return foo1 + foo2; }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dll-6.C b/gcc/testsuite/g++.old-deja/g++.other/dll-6.C
deleted file mode 100644
index b4e0b42edbf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dll-6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Skip if not target: arm-*pe
-// set not_compiler_result "__imp_"
-// dll.h
-class aClass
- {
-public:
- __declspec(dllimport) aClass();
- };
-
-// dll.cpp
-
-__declspec(dllexport) aClass::aClass()
- {
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dtor1.C b/gcc/testsuite/g++.old-deja/g++.other/dtor1.C
deleted file mode 100644
index 3f9803c39a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dtor1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Test for use of typedef in explicit destructor call.
-
-#include <new>
-
-struct X {
- typedef X foo;
-};
-
-X x;
-unsigned char bar[sizeof (X)];
-
-int
-main ()
-{
- X* p = new (bar) X;
- p->~foo();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dtor2.C b/gcc/testsuite/g++.old-deja/g++.other/dtor2.C
deleted file mode 100644
index 201068c415b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dtor2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-class K {
-public:
- friend class C;
-
-private:
- static K qwe;
- K();
- ~K();
-};
-
-K K::qwe;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dtor3.C b/gcc/testsuite/g++.old-deja/g++.other/dtor3.C
deleted file mode 100644
index a2ad16dfdb3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dtor3.C
+++ /dev/null
@@ -1,51 +0,0 @@
-// Build don't link:
-
-struct S1
-{
- ~S1(int); // ERROR - destructors may not have parameters
-};
-
-
-template <class T>
-struct S2
-{
- ~S2(int); // ERROR - destructors may not have parameters
-};
-
-
-struct S3
-{
- ~S3(double) {} // ERROR - destructors may not have parameters
-};
-
-
-template <class T>
-struct S4
-{
- ~S4(double) {} // ERROR - destructors may not have parameters
-};
-
-
-struct S5
-{
- ~S5();
-};
-
-S5::~S5(float)
-{ // ERROR - destructors may not have parameters
-}
-
-
-template <class T>
-struct S6
-{
- ~S6();
-};
-
-template <class T>
-S6<T>::~S6(float)
-{ // ERROR - destructors may not have parameters
-}
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dtor4.C b/gcc/testsuite/g++.old-deja/g++.other/dtor4.C
deleted file mode 100644
index f23ab782560..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/dtor4.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-
-struct S1 {
- ~S1(); // ERROR - candidate
-};
-
-S1::~S1() const
-{ // ERROR - prototype does not match
-}
-
-
-struct S2 {
- ~S2() volatile; // ERROR - destructors may not be volatile
-};
-
-
-template <class T>
-struct S3 {
- ~S3(); // ERROR - candidate
-};
-
-template <class T>
-S3<T>::~S3() volatile
-{ // ERROR - prototype does not match
-}
-
-
-template <class T>
-struct S4 {
- ~S4() const; // ERROR - destructors may not be const
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/elab1.C b/gcc/testsuite/g++.old-deja/g++.other/elab1.C
deleted file mode 100644
index 614e73bac53..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/elab1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-typedef struct {} S;
-
-S s1;
-struct S* s2; // ERROR - S is a typedef name
-
-template <class T>
-struct X {
- friend class T; // ERROR - T is a template type parameter
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/empty1.C b/gcc/testsuite/g++.old-deja/g++.other/empty1.C
deleted file mode 100644
index 0789884079b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/empty1.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-extern "C" void abort();
-extern "C" void printf(const char*, ...);
-
-int i;
-
-struct A;
-
-struct A* as[10];
-
-struct A {
- A () { as[i++] = this; }
- A (const A&) { as[i++] = this; }
- ~A() { if (i == 0 || as[--i] != this) abort(); }
-};
-
-A f() { return A(); }
-
-int main ()
-{
- A a (f ());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/enum1.C b/gcc/testsuite/g++.old-deja/g++.other/enum1.C
deleted file mode 100644
index f692991a442..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/enum1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-extern "C" void abort();
-
-struct A
-{
- enum { a = 3}* p;
- int f() { return (int) a; }
-};
-
-int main()
-{
- A a;
-
- if (a.f() != 3)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/expr1.C b/gcc/testsuite/g++.old-deja/g++.other/expr1.C
deleted file mode 100644
index fece8d48c29..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/expr1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-// Simplified from bug report by Trevor Taylor <ttaylor@powerup.com.au>
-
-struct T {
- int operator()(int) { } // ERROR - candidate
-};
-
-int main() {
- T()(); // ERROR - no such operator
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/field1.C b/gcc/testsuite/g++.old-deja/g++.other/field1.C
deleted file mode 100644
index e734830a1c4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/field1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-struct X
-{
- static const bool b = true;
- static const int i = b ? 1 : 2;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/field2.C b/gcc/testsuite/g++.old-deja/g++.other/field2.C
deleted file mode 100644
index 5eb67554fdf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/field2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Test for proper handling of field calls.
-// Contributed by Jason Merrill <jason@cygnus.com>
-
-struct A {
- inline A* operator()() { return this; }
-};
-
-struct B {
- int i;
- union { A a; };
-};
-
-int
-main ()
-{
- B b;
- A* ap = &b.a;
- A* ap2 = b.a();
- return (ap != ap2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/for1.C b/gcc/testsuite/g++.old-deja/g++.other/for1.C
deleted file mode 100644
index 31cd741a366..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/for1.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// Build don't link:
-
-int i;
-int j;
-
-struct S {
- int operator()(int)
- {
- i = 1;
- }
-
- typedef int I;
-
- void f() {
- for (S I; false; )
- ;
- int k = I(3);
- }
-};
-
-typedef int J;
-
-struct T {
- int operator()(int)
- {
- j = 1;
- }
-
- void f() {
- for (T J; false; )
- ;
- int k = J(3);
- }
-};
-
-int main()
-{
- S s;
- s.f();
- return 2 * i + j;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend1.C b/gcc/testsuite/g++.old-deja/g++.other/friend1.C
deleted file mode 100644
index 76fcebe1fae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/friend1.C
+++ /dev/null
@@ -1,85 +0,0 @@
-// Build don't link:
-// f() should be able to access B::j, as of FDIS [class.protected]/1
-
-// Subject: Re: [bug] Inheritance and friend access control broken
-// References: <199803032141.WAA09332@piano.dptmaths.ens-cachan.fr>
-// <orhg5ff544.fsf@iguacu.dcc.unicamp.br>
-// <199803041125.MAA06937@cor.dptmaths.ens-cachan.fr>
-// <orn2f6ek92.fsf@iguacu.dcc.unicamp.br> <19980304102900.46897@dgii.com>
-// From: Alexandre Oliva <oliva@dcc.unicamp.br>
-// Date: 06 Mar 1998 01:43:18 -0300
-
-template <int*>
-class X {};
-
-template <typename T>
-void g();
-
-struct S;
-
-template <typename T>
-struct R;
-
-class B {
-protected:
- int i; // ERROR - in this context
- static int j;
-};
-
-class D : public B {
- friend void f();
- template <typename T>
- friend void g();
- friend struct S;
- template <typename T>
- friend struct R;
-};
-
-struct S {
- void h();
- X<&B::j> x;
-};
-
-template <typename T>
-struct R {
- void h();
- X<&B::j> x;
-};
-
-void f()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template <typename T>
-void g()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template void g<int>();
-
-void S::h()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template <typename T>
-void R<T>::h()
-{
- ((B*)0)->i = 3; // ERROR - protected
- ((D*)0)->i = 4;
- B::j = 5;
- D::j = 6;
-}
-
-template struct R<double>;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend2.C b/gcc/testsuite/g++.old-deja/g++.other/friend2.C
deleted file mode 100644
index 32a0a285fc6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/friend2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-void
-f()
-{
- class Local_2 {
- friend class Friend;
-
- int i;
- };
-
- class Friend {
- public:
- void g() {
- Local_2 l2;
- l2.i = 3;
- }
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend3.C b/gcc/testsuite/g++.old-deja/g++.other/friend3.C
deleted file mode 100644
index 84c6b2d3b7c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/friend3.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-
-class foo {
-public:
- class bar;
- void func(bar *);
- class bar {
- int st;
- friend void foo::func(bar *);
- };
-};
-
-
-void foo::func(bar *obj) {
- obj->st++;
-}
-
-void test02() {
- foo obj_f;
- foo::bar obj_b;
-
- obj_f.func( &obj_b);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend4.C b/gcc/testsuite/g++.old-deja/g++.other/friend4.C
deleted file mode 100644
index 07969cd5487..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/friend4.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-
-// by Alexandre Oliva <oliva@dcc.unicamp.br>
-
-// I'm not 100% sure this program is correct, but g++ shouldn't just
-// crash.
-
-// The idea is to give privileged access to bar<A> only to
-// specializations foo<A,B>, for all B.
-
-template <class A, class B> void foo();
-template <class C> class bar {
- int i; // ERROR - private
- template <class B> friend void foo<C,B>(); // ERROR - bogus declaration
-};
-template <class A, class B> void foo() {
- bar<A> baz; baz.i = 1; // ERROR - foo cannot access bar<int>::i
- bar<int> buz; buz.i = 1; // ERROR - foo cannot access bar<int>::i
-}
-int main() {
- foo<void,void>();
- foo<int,void>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend5.C b/gcc/testsuite/g++.old-deja/g++.other/friend5.C
deleted file mode 100644
index ab15fa58c5b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/friend5.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// submitted by David C Binderman <dcb@pncl.co.uk>
-
-struct A {
- friend bool(); // ERROR - invalid declaration
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/incomplete.C b/gcc/testsuite/g++.old-deja/g++.other/incomplete.C
deleted file mode 100644
index 0c230c18777..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/incomplete.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-struct S;
-
-void f(S s) {} // ERROR - incomplete type
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init1.C b/gcc/testsuite/g++.old-deja/g++.other/init1.C
deleted file mode 100644
index a87f14bc4d3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-extern "C" void abort();
-
-int i;
-int j = i++;
-
-int main()
-{
- if (i != 1)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init10.C b/gcc/testsuite/g++.old-deja/g++.other/init10.C
deleted file mode 100644
index fa238132f3f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init10.C
+++ /dev/null
@@ -1,22 +0,0 @@
-int i;
-
-struct D {
- D () {
- i++;
- }
-};
-
-struct C {
- C() {}
-
- D d[1];
-};
-
-
-int main ()
-{
- C c;
-
- if (i != 1)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init11.C b/gcc/testsuite/g++.old-deja/g++.other/init11.C
deleted file mode 100644
index 79d7d6caa71..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init11.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Check that elements for which no explicit initializer was given are
-// default-initialized properly.
-
-extern "C" int printf (const char *, ...);
-
-struct A
-{
- int i;
- A(): i (42) { }
- A(int j): i(j) { }
-};
-
-A ar[4] = { 1, 2 };
-
-struct B
-{
- A a1, a2, a3, a4;
-};
-
-B b = { 1, 2 };
-
-struct C
-{
- A ar[4];
-};
-
-C c = { 1, 2 };
-
-int
-main ()
-{
- printf ("%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n",
- ar[0].i, ar[1].i, ar[2].i, ar[3].i,
- b.a1.i, b.a2.i, b.a3.i, b.a4.i,
- c.ar[1-1].i, c.ar[2-1].i, c.ar[3-1].i, c.ar[4-1].i);
-
- return (b.a4.i != 42 || c.ar[3].i != 42);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init12.C b/gcc/testsuite/g++.old-deja/g++.other/init12.C
deleted file mode 100644
index ee0a029253a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init12.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't run:
-// Special g++ Options: -O3
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-typedef int (*fp)();
-
-struct S
-{
- fp f;
-};
-
-struct T
-{
- static int f() {}
-};
-
-static const S s = { &T::f };
-
-int main()
-{
- return (*s.f)();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init13.C b/gcc/testsuite/g++.old-deja/g++.other/init13.C
deleted file mode 100644
index 1213a5c5622..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init13.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't run:
-// Special g++ Options: -O3
-// Origin: Gabriel Dos_Reis <Gabriel.Dos_Reis@sophia.inria.fr>
-
-void f() {}
-
-struct X {
- ~X() { f (); }
-};
-
-X x;
-
-int main () {}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init2.C b/gcc/testsuite/g++.old-deja/g++.other/init2.C
deleted file mode 100644
index c17427a7643..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Special g++ Options: -O3
-
-typedef int (*fp)();
-
-struct S
-{
- fp f;
-};
-
-static int f()
-{
- return 0;
-}
-
-static const S s = { &f };
-
-int main()
-{
- return (*s.f)();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init3.C b/gcc/testsuite/g++.old-deja/g++.other/init3.C
deleted file mode 100644
index a4c6e761e66..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init3.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-struct X
-{
- static const bool is_signed = true ;
- static const int digits = is_signed ? 8 *sizeof(wchar_t)-1 : 0;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init4.C b/gcc/testsuite/g++.old-deja/g++.other/init4.C
deleted file mode 100644
index 9bc473fb9d7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init4.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-class error {
-public:
- error(int) {}
-};
-
-class foo {
- const error x = 1; // ERROR - initialization of non-static data member
-};
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init5.C b/gcc/testsuite/g++.old-deja/g++.other/init5.C
deleted file mode 100644
index 3f4785e360e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init5.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Objects must be destructed in decreasing cnt order
-// Original test attributed to James Kanze <jkanze@otelo.ibmmail.com>
-// execution test - XFAIL *-*-*
-
-static int cnt;
-
-class A {
- int myCnt;
-public:
- A() : myCnt(cnt++) {}
- ~A() { if (--cnt != myCnt) abort(); }
-};
-
-void f() { static A a; /* a.myCnt == 1 */ }
-
-class B {
- int myCnt;
-public:
- B() : myCnt(cnt+1) { f(); ++cnt; }
- ~B() { if (--cnt != myCnt) abort(); }
-};
-
-static A a1; // a1.myCnt == 0
-static B b1; // b1.myCnt == 2
-static A a2; // a2.myCnt == 3
-
-int main() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init6.C b/gcc/testsuite/g++.old-deja/g++.other/init6.C
deleted file mode 100644
index a684ae10740..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init6.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Test for default-initialization of POD-structs in functional cast notation.
-
-struct foo { int a[10]; };
-
-int main()
-{
- foo f = foo();
- int r = 0;
- for (int i = 0; i < 10; ++i)
- r |= f.a[i];
- return r;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init7.C b/gcc/testsuite/g++.old-deja/g++.other/init7.C
deleted file mode 100644
index 3b17da029e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init7.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// simplified from testcase in Windows Developer Journal,
-// submitted by eyal.ben-david@aks.com
-
-// The initialization of a static local variable must be retried if a
-// previous try finished by throwing an exception [stmt.dcl]/4
-
-struct foo {
- foo() { throw true; }
-};
-
-void bar() {
- static foo baz;
-}
-
-int main() {
- try {
- bar(); // must throw
- }
- catch (bool) {
- try {
- bar(); // must throw again!
- }
- catch (bool) {
- return 0;
- }
- }
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init8.C b/gcc/testsuite/g++.old-deja/g++.other/init8.C
deleted file mode 100644
index 80df498e6e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init8.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-// submitted by David C Binderman <dcb@pncl.co.uk>
-
-// According to [dcl.init]/9, this should be ill-formed
-
-void
-f()
-{
- const int var [ 10 ]; // ERROR - missing initializer
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init9.C b/gcc/testsuite/g++.old-deja/g++.other/init9.C
deleted file mode 100644
index 5626174bbe4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/init9.C
+++ /dev/null
@@ -1,40 +0,0 @@
-// Build don't link:
-
-// Based on a testcase submitted by Tudor Hulubei <tudor@cs.unh.edu>
-
-// X is not a POD because it has a user-defined destructor.
-// Therefore, we can't cross its initialization.
-
-// vector<int> is not even an aggregate; nevertheless, no error is
-// reported...
-
-struct A {
- A() {}
-};
-
-void a() {
- goto bar; // ERROR - jump from here
- A x; // ERROR - jump crosses initialization
- bar: // ERROR - jump to here
- ;
-}
-
-struct X {
- ~X() {}
-};
-
-void b() {
- goto bar; // ERROR - jump from here
- X x; // ERROR - jump crosses initialization
- bar: // ERROR - jump to here
- ;
-}
-
-#include <vector>
-
-void c() {
- goto bar; // ERROR - jump from here
- vector<int> x; // ERROR - jump crosses initialization
- bar: // ERROR - jump to here
- ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lineno1.C b/gcc/testsuite/g++.old-deja/g++.other/lineno1.C
deleted file mode 100644
index ab003e0ff95..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lineno1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Submitted by Nathan Sidwell <nathan@acm.org>
-// Bug: g++ was giving the wrong line number for statics.
-// Special g++ Options: -w
-
-class A
-{
- A(); // ERROR - private
- ~A(); // ERROR - private
-};
-
-static A a; // ERROR - here
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lineno2.C b/gcc/testsuite/g++.old-deja/g++.other/lineno2.C
deleted file mode 100644
index 4d64d1abf1a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lineno2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Submitted by Nathan Sidwell <nathan@acm.org>
-// Bug: g++ wasn't listing candidates for a failed conversion.
-
-void f(int, double); // ERROR - candidate
-void f(double, int); // ERROR - candidate
-void f(int); // ERROR - candidate
-
-int
-main ()
-{
- void (*ptr)(int, int);
-
- ptr = &f; // ERROR - no match
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/linkage1.C b/gcc/testsuite/g++.old-deja/g++.other/linkage1.C
deleted file mode 100644
index 65a2848a2b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/linkage1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-typedef struct {
- int i;
-} *p;
-
-void f (p) { } // ERROR - function uses anonymous type
-p q;
-
-int main()
-{
- extern p j;
- struct A { int j; };
- extern A a; // ERROR - extern uses local type
- extern void f (A); // ERROR - extern uses local type
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/linkage2.C b/gcc/testsuite/g++.old-deja/g++.other/linkage2.C
deleted file mode 100644
index c9b6e2a3d62..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/linkage2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-extern "C"
-{
-typedef struct {int dummy[10];} *GDBM_FILE;
-extern GDBM_FILE gdbm_open();
-}
-
-typedef struct { int dummy[10]; } *FAIL_FILE;
-extern FAIL_FILE fail_open(); // ERROR - non-local function
-
-typedef struct { int dummy[10]; } *SUCCESS_FILE, S;
-extern SUCCESS_FILE success_open();
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/local1.C b/gcc/testsuite/g++.old-deja/g++.other/local1.C
deleted file mode 100644
index d0ed4f04e2e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/local1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't run:
-
-struct Outer {
- virtual ~Outer() {}
-};
-
-int
-main()
-{
- { struct Inner : virtual public Outer {} inner; }
- { struct Inner : virtual public Outer {} inner; }
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/local2.C b/gcc/testsuite/g++.old-deja/g++.other/local2.C
deleted file mode 100644
index 2d17b33e601..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/local2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Special g++ Options: -O2
-
-void f ()
-{
- struct Init {
- Init () {
- }
- };
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup1.C b/gcc/testsuite/g++.old-deja/g++.other/lookup1.C
deleted file mode 100644
index f3ea5ebbb72..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// simple test for id from base class during class defn
-// Build don't link:
-
-struct foo {
- enum { blah = 1 };
-};
-struct bar : public foo {
- char cache[blah];
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup10.C b/gcc/testsuite/g++.old-deja/g++.other/lookup10.C
deleted file mode 100644
index da2b485c5d3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup10.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-struct A {
- struct B {
- static int i;
- };
- enum { a };
-};
-
-int A::B::i = a;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup11.C b/gcc/testsuite/g++.old-deja/g++.other/lookup11.C
deleted file mode 100644
index 61a6e91d545..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup11.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-namespace A {
- int i;
-}
-using namespace A;
-namespace B {
- int i;
-}
-using namespace B;
-
-int i;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup12.C b/gcc/testsuite/g++.old-deja/g++.other/lookup12.C
deleted file mode 100644
index 5c3143cdf33..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup12.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-struct B {
- struct X {};
-};
-
-
-struct D : public B {
- void X();
-
- struct X x;
-
- void f();
-};
-
-
-void D::f()
-{
- struct X y;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup13.C b/gcc/testsuite/g++.old-deja/g++.other/lookup13.C
deleted file mode 100644
index 0c1e5460c4f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup13.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-int main()
-{
- typedef double I;
-
- struct S1 {
- typedef char I;
-
- struct S2;
- };
-
- struct S1::S2 {
- typedef I J;
- };
-
- return !(sizeof (S1::S2::J) == 1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup14.C b/gcc/testsuite/g++.old-deja/g++.other/lookup14.C
deleted file mode 100644
index 5c81c44815a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup14.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-union U {
- typedef int I;
-
- struct S {
- void f();
- };
-};
-
-void U::S::f() {
- I i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup15.C b/gcc/testsuite/g++.old-deja/g++.other/lookup15.C
deleted file mode 100644
index be9096a3be1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup15.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Build don't link:
-// Origin: Benjamin Kosnik <bkoz@cygnus.com>
-
-class b
-{
- int j;
-public:
- b(int a = 6): j(a) {}
- void imbue(int a) {++j;}
-};
-
-class d: public b
-{
- int k;
-public:
- d(int a = 7): b(a), k(a) {}
- void imbue(int a) {++k;}
-};
-
-//virtual public kills, public ok
-class mostd: virtual public d
-{
- int l;
-public:
- mostd(int a = 9): d(a), l(a) {}
-};
-
-int main() {
-
- d dobj;
- dobj.imbue(5);
-
- mostd mobj;
- mobj.imbue(5);
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup2.C b/gcc/testsuite/g++.old-deja/g++.other/lookup2.C
deleted file mode 100644
index 0772399222d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-struct B {
- int i;
-};
-
-struct D: virtual public B {
- int i;
-};
-
-struct D2 : public D {
- void f() { i = 3; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup3.C b/gcc/testsuite/g++.old-deja/g++.other/lookup3.C
deleted file mode 100644
index 347be4e295a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Test to make sure that the use of __typeof__ in WIFEXITED works.
-
-int main ()
-{
- int stat_loc = 0;
- (__extension__
- ({
- union
- {
- __typeof__ (stat_loc) __in;
- int __i;
- } __u;
- __u.__in = (stat_loc);
- __u.__i;
- })
- );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup4.C b/gcc/testsuite/g++.old-deja/g++.other/lookup4.C
deleted file mode 100644
index 59b7a75b2bd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup4.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Test for proper handling of references to overloaded member functions.
-
-struct A {
- static void f (int) { }
- void f ();
-};
-
-void (*p)(int) = &A::f;
-
-void A::f ()
-{
- p = f;
-}
-
-int main()
-{
- A a;
- p = &a.f;
- (a.f)();
- (a.f)(42);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup5.C b/gcc/testsuite/g++.old-deja/g++.other/lookup5.C
deleted file mode 100644
index 9fe04151142..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup5.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Simplified from bug report by Paris Smaragdis <paris@media.mit.edu>
-
-// crash test - XFAIL *-*-*
-
-template <class T> class vector {};
-class foo {};
-int main() {
- foo f;
- f.vector(); // ERROR - not a method
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup6.C b/gcc/testsuite/g++.old-deja/g++.other/lookup6.C
deleted file mode 100644
index 08f5ac521ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup6.C
+++ /dev/null
@@ -1,25 +0,0 @@
-int f(int i)
-{
- struct C {
- int i;
- C () : i(1) {}
- int f() {
- struct D {
- int i;
- D () : i(2) {}
- int g() { return i; }
- } d;
-
- return d.g();
- }
- } c;
-
- return c.f();
-}
-
-
-int main()
-{
- if (f(0) != 2)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup7.C b/gcc/testsuite/g++.old-deja/g++.other/lookup7.C
deleted file mode 100644
index 55726a5d613..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup7.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Test for handling of type shadowing in function scope.
-
-int main()
-{
- int A = 42;
- struct A
- {
- enum { a };
- };
- A = A::a;
- return A;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup8.C b/gcc/testsuite/g++.old-deja/g++.other/lookup8.C
deleted file mode 100644
index f81572ab260..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup8.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-struct S {
- int A;
- struct A {
- enum { a = 0 };
- };
-
- void f();
-};
-
-void S::f() {
- A = A::a;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup9.C b/gcc/testsuite/g++.old-deja/g++.other/lookup9.C
deleted file mode 100644
index 250040071d2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/lookup9.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct S {
- typedef long I;
-};
-
-struct D : virtual public S {
- I i;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/loop1.C b/gcc/testsuite/g++.old-deja/g++.other/loop1.C
deleted file mode 100644
index 3380dd4d74d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/loop1.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Test for bad loop optimization of goto fixups.
-// Special g++ Options: -O2
-
-typedef bool (*ftype) ();
-
-int c, d;
-struct A {
- A() { ++c; }
- A(const A&) { ++c; }
- ~A() { ++d; }
-};
-
-void f (ftype func)
-{
- A a;
- do {
- if ((*func)()) return;
- } while (true);
-}
-
-bool test ()
-{
- return true;
-}
-
-main ()
-{
- f (test);
- return (c != d);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/main1.C b/gcc/testsuite/g++.old-deja/g++.other/main1.C
deleted file mode 100644
index 09ab4113f9d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/main1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't linK:
-
-int main()
-{ // ERROR - invalid redeclaration of
- return 0;
-}
-
-
-int main(int, const char**)
-{ // ERROR - as
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/mangle1.C b/gcc/testsuite/g++.old-deja/g++.other/mangle1.C
deleted file mode 100644
index 0ffc5d1a262..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/mangle1.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Test for proper mangling by setting up name clashes.
-// Special g++ Options: -fno-squangle
-
-class A { };
-typedef A A2;
-typedef int I;
-typedef void V;
-typedef I I2;
-
-void f (const A2&, int, const A2&, const A&) { } // ERROR - name clash
-int f__FRC1AiT0T0 = 0; // ERROR - name clash
-
-void f (int, long, int, I) { } // ERROR - name clash
-int f__Filii = 0; // ERROR - name clash
-
-void f (I, float, I, I2) { } // ERROR - name clash
-int f__Fifii = 0; // ERROR - name clash
-
-void f (void*, float, void*, V*) { } // ERROR - name clash
-int f__FPvfT0T0 = 0; // ERROR - name clash
-
-void f (wchar_t) { } // ERROR - name clash
-int f__Fw = 0; // ERROR - name clash
-
-void f(int, A, A2, A) { } // ERROR - name clash
-int f__FiG1AN21 = 0; // ERROR - name clash
-
-void f(const A2&, const A2&, const A2&, const A2&,
- int&) { } // ERROR - name clash
-int f__FRC1AN30Ri = 0; // ERROR - name clash
-
-void f(const A2&, int, const A2&, const A2&, const A2&,
- int&) { } // ERROR - name clash
-int f__FRC1AiT0N20Ri = 0; // ERROR - name clash
-
-void f(const A2&, int, const A2&, const A2&, const A2&, int&, int&,
- int&) { } // ERROR - name clash
-int f__FRC1AiT0N20RiN25 = 0; // ERROR - name clash
-
-void f(const A2&, int, const A2&, const A2&, const A2&, int, int,
- int) { } // ERROR - name clash
-int f__FRC1AiT0N20iii = 0; // ERROR - name clash
diff --git a/gcc/testsuite/g++.old-deja/g++.other/mangle2.C b/gcc/testsuite/g++.old-deja/g++.other/mangle2.C
deleted file mode 100644
index 873cb369e76..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/mangle2.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Test for proper mangling by setting up name clashes.
-// Special g++ Options: -fsquangle
-
-class A;
-typedef A A2;
-typedef int I;
-typedef void V;
-typedef I I2;
-
-void f (const A2&, int, const A2&, const A&) { } // ERROR - name clash
-int f__FRC1AiRCB0n1 = 0; // ERROR - name clash
-
-void f (int, long, int, I) { } // ERROR - name clash
-int f__Filii = 0; // ERROR - name clash
-
-void f (I, float, I, I2) { } // ERROR - name clash
-int f__Fifii = 0; // ERROR - name clash
-
-void f (void*, float, void*, V*) { } // ERROR - name clash
-int f__FPvfPvn1 = 0; // ERROR - name clash
-
-void f (wchar_t) { } // ERROR - name clash
-int f__Fw = 0; // ERROR - name clash
-
-void f(int, A, A2, A) { } // ERROR - name clash
-int f__FiG1An2 = 0; // ERROR - name clash
-
-void f(const A2&, const A2&, const A2&, const A2&,
- int&) { } // ERROR - name clash
-int f__FRC1An3Ri = 0; // ERROR - name clash
-
-void f(const A2&, int, const A2&, const A2&, const A2&,
- int&) { } // ERROR - name clash
-int f__FRC1AiRCB0n2Ri = 0; // ERROR - name clash
-
-void f(const A2&, int, const A2&, const A2&, const A2&, int&, int&,
- int&) { } // ERROR - name clash
-int f__FRC1AiRCB0n2Rin2 = 0; // ERROR - name clash
-
-void f(const A2&, int, const A2&, const A2&, const A2&, int, int,
- int) { } // ERROR - name clash
-int f__FRC1AiRCB0n2in2 = 0; // ERROR - name clash
diff --git a/gcc/testsuite/g++.old-deja/g++.other/mutable1.C b/gcc/testsuite/g++.old-deja/g++.other/mutable1.C
deleted file mode 100644
index 3fd0c3e6b7c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/mutable1.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 14 Jan 1999 <nathan@acm.org>
-
-// Make sure objects with mutable members are never placed in a read only
-// section.
-
-// All these are POD structs, and hence do not need ctors
-struct A { mutable int i; };
-struct B { A a; };
-struct C { A a[1]; };
-struct D { static A const a; };
-
-// all these are static consts and hence naively suitable for a read only
-// section. But they contain a mutable, so must be in a writable section.
-static int const i = 0;
-static A const a = {0};
-static B const b = {{0}};
-static C const c = {{{0}}};
-static A const aa[] = {{0}};
-static B const bb[] = {{{0}}};
-static C const cc[] = {{{{0}}}};
-A const D::a = {0};
-
-int main()
-{
- a.i = 05;
- b.a.i = 05;
- c.a[0].i = 05;
- aa[0].i = 05;
- bb[0].a.i = 05;
- cc[0].a[0].i = 05;
- D::a.i = 05;
-
- if(!a.i) return 1;
- if(!b.a.i) return 1;
- if(!c.a[0].i) return 1;
- if(!aa[0].i) return 1;
- if(!bb[0].a.i) return 1;
- if(!cc[0].a[0].i) return 1;
- if(!D::a.i) return 1;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/nested1.C b/gcc/testsuite/g++.old-deja/g++.other/nested1.C
deleted file mode 100644
index 0c038561d66..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/nested1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-struct C
-{
- struct D
- {
- };
-};
-
-struct E
-{
- C& c;
- void g();
-};
-
-void E::g()
-{
- c.D().f(); // ERROR - no matching function
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/nested2.C b/gcc/testsuite/g++.old-deja/g++.other/nested2.C
deleted file mode 100644
index 5492b536b43..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/nested2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// by Bert Bril <bert@dgb.nl>
-
-struct M1 {
- struct I {};
-};
-
-struct M2 {
- struct I {};
- struct J : virtual public M2::I,
- virtual public M1::I {};
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/nested3.C b/gcc/testsuite/g++.old-deja/g++.other/nested3.C
deleted file mode 100644
index 783caadd285..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/nested3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Origin: Chip Salzenberg <chip@perlsupport.com>
-
-class Foo {
- public:
- class Bar;
-};
-
-class Foo::Bar {
- public:
- Bar() {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/new.C b/gcc/testsuite/g++.old-deja/g++.other/new.C
deleted file mode 100644
index e2839578d15..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/new.C
+++ /dev/null
@@ -1,57 +0,0 @@
-// Build don't link:
-
-typedef __SIZE_TYPE__ size_t;
-inline void *
-operator new(size_t alloc_sz, const char *fname, unsigned lineno)
-{
-}
-inline void *
-operator new[](size_t alloc_sz, const char *fname, unsigned lineno)
-{
-}
-inline void
-operator delete(void *ptr, const char *fname, unsigned lineno)
-{
-}
-inline void
-operator delete[](void *ptr, const char *fname, unsigned lineno)
-{
-}
-
-class DEF {
-public:
- DEF( DEF *parent=0, const char *name=0 );
-};
-
-class ABC
-{
-public:
- enum stuff { ID0, ID1 };
- ABC( stuff, DEF *parent=0, const char *name=0 );
-};
-
-class GHI : public DEF
-{
-};
-
-class LMNFrame;
-class LMN : public DEF
-{
- friend class LMNFrame;
- public:
-public:
- LMN();
-private:
- LMNFrame *draw_area;
-
- ABC *scroll_h;
-};
-class LMNFrame : public GHI {
-};
-LMN::LMN()
-{
- draw_area = new ("abc", 69) LMNFrame;
-
- scroll_h = new ("def", 71) ABC(ABC::ID0, this);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/new2.C b/gcc/testsuite/g++.old-deja/g++.other/new2.C
deleted file mode 100644
index 9a6e0514ff4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/new2.C
+++ /dev/null
@@ -1,21 +0,0 @@
-//Build don't link:
-typedef __SIZE_TYPE__ size_t;
-void *operator new(size_t, unsigned int);
-
-struct X{
- X();
- X(int);
-};
-
-
-void f(X *x = new X); // ERROR -
-
-void f(X *x = new X(4)); // ERROR -
-
-void f(X *x = new X[4]); // ERROR -
-
-void f(X *x = new (3) X(6)); // ERROR -
-
-void f(X *x = new (2) X[10]); // ERROR -
-
-void f(X *x = new X[10][5]); // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.other/new3.C b/gcc/testsuite/g++.old-deja/g++.other/new3.C
deleted file mode 100644
index fa32cdde6cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/new3.C
+++ /dev/null
@@ -1,25 +0,0 @@
-typedef __SIZE_TYPE__ size_t;
-
-template <class T>
-struct A
-{
- int size;
- A ()
- {
- T *p;
- p = new T[size];
- int foo;
- foo = 5 * size;
- };
-};
-
-struct B
-{
- virtual ~B() { }
- void operator delete [] (void *ptr, size_t size) { }
-};
-
-int main ()
-{
- A<B> *p = new A<B>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/null1.C b/gcc/testsuite/g++.old-deja/g++.other/null1.C
deleted file mode 100644
index 22d08a40aef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/null1.C
+++ /dev/null
@@ -1,41 +0,0 @@
-// Build don't run:
-
-#include <cstddef>
-
-void g(int) {}
-void g(long) {}
-extern void g(void*);
-
-template <int I>
-void h() {}
-
-void k(int) {}
-
-template <class T>
-void l(T);
-
-template <>
-void l(int) {}
-
-int main()
-{
- int i = NULL; // WARNING - converting NULL to non-pointer type
- float z = NULL; // WARNING - converting NULL to non-pointer type
- int a[2];
-
- i != NULL; // WARNING - NULL used in arithmetic
- NULL != z; // WARNING - NULL used in arithmetic
- k != NULL; // No warning: decay conversion
- NULL != a; // Likewise.
- -NULL; // WARNING - converting NULL to non-pointer type
- +NULL; // WARNING - converting NULL to non-pointer type
- ~NULL; // WARNING - converting NULL to non-pointer type
- a[NULL] = 3; // WARNING - converting NULL to non-pointer-type
- i = NULL; // WARNING - converting NULL to non-pointer type
- z = NULL; // WARNING - converting NULL to non-pointer type
- k(NULL); // WARNING - converting NULL to int
- g(NULL); // WARNING - converting NULL to int
- h<NULL>(); // WARNING - NULL bound to integer template parameter
- l(NULL); // WARNING - converting NULL to int
- NULL && NULL; // No warning: converting NULL to bool is OK
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/null2.C b/gcc/testsuite/g++.old-deja/g++.other/null2.C
deleted file mode 100644
index 9dc5b130914..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/null2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Based on a testcase by Eric Dumazet <Eric.Dumazet@COSMOSBAY.COM>
-
-#include <cstdlib>
-
-const char * const foo = ""; // foo is not NULL
-
-int main() {
- if ((foo == 0) ? 0 : foo) // so this should evaluate to `foo'
- return 0;
- else
- std::abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/null3.C b/gcc/testsuite/g++.old-deja/g++.other/null3.C
deleted file mode 100644
index aef456e974a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/null3.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-void x()
-{
- int* p = 1==0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overcnv1.C b/gcc/testsuite/g++.old-deja/g++.other/overcnv1.C
deleted file mode 100644
index 05941df5ff0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overcnv1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-class A {
-public:
- void f(const char * const * );
-};
-void f(const char * const *) {}
-
-void g()
-{
- char *ar[10];
- A a;
- f(ar);
- a.f(ar);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload1.C b/gcc/testsuite/g++.old-deja/g++.other/overload1.C
deleted file mode 100644
index 59191d501e2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-struct A {
- A operator+ (int) const { return *this; }
-};
-
-A operator+ (A, float);
-
-int main ()
-{
- A a;
- a + 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload2.C b/gcc/testsuite/g++.old-deja/g++.other/overload2.C
deleted file mode 100644
index 598f71c821e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload2.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't run:
-
-template <class T>
-class ConstArray {
-};
-
-template <class T1, class T2>
-void operator+(const ConstArray<T1>&, const ConstArray<T2>&)
-{
-}
-
-template <class T1, class T2>
-void operator+(const ConstArray<T1>&, T2);
-
-template <class T1, class T2>
-void operator+(T1, const ConstArray<T2>&);
-
-const ConstArray<int> cai() { return ConstArray<int>(); }
-const ConstArray<double> cad() { return ConstArray<double>(); }
-
-int main()
-{
- cai () + cad ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload3.C b/gcc/testsuite/g++.old-deja/g++.other/overload3.C
deleted file mode 100644
index fc1d5c09d61..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't run:
-
-void f(const int *);
-void f(int *) {}
-
-void f2(const volatile int *);
-void f2(volatile int *) {}
-
-int i;
-
-int main()
-{
- f(&i);
- f2(&i);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload4.C b/gcc/testsuite/g++.old-deja/g++.other/overload4.C
deleted file mode 100644
index 22478531b95..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload4.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't run:
-
-void f(int* const volatile * const * const*);
-void f(int* const * const * const*) {}
-
-int main()
-{
- int*** ip;
- f(&ip);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload5.C b/gcc/testsuite/g++.old-deja/g++.other/overload5.C
deleted file mode 100644
index 5f5e11f9dd1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload5.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't run:
-
-struct S {};
-
-struct T : public S {};
-
-struct U : public T {};
-
-void f(int T::*) {}
-void f(int U::*);
-
-void g(void (T::*)(int)) {}
-void g(void (U::*)(int));
-
-int main()
-{
- int S::*ip;
- void (S::*fp)(int);
-
- f(ip);
- g(fp);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload6.C b/gcc/testsuite/g++.old-deja/g++.other/overload6.C
deleted file mode 100644
index fae26c34824..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload6.C
+++ /dev/null
@@ -1,18 +0,0 @@
-extern "C" void abort();
-
-struct S1
-{
- int f() { return 0; }
- int f() const { return 1; }
-};
-
-struct S2 : public S1
-{
-};
-
-int main()
-{
- S2 s2;
- if (s2.f() != 0)
- abort ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload7.C b/gcc/testsuite/g++.old-deja/g++.other/overload7.C
deleted file mode 100644
index 57bec8bed2d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload7.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Check that object call works when there are multiple conversion ops
-// returning the same type.
-
-typedef int (*pfn)();
-
-int zero () { return 0; }
-int one () { return 1; }
-int two () { return 2; }
-
-struct A {
- A() { }
- operator pfn () { return one; }
- operator pfn () const { return zero; }
- operator pfn () volatile { return two; }
-};
-
-int
-main ()
-{
- const A a;
- return a();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload8.C b/gcc/testsuite/g++.old-deja/g++.other/overload8.C
deleted file mode 100644
index d2c1483a9b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload8.C
+++ /dev/null
@@ -1,22 +0,0 @@
-class a {
-public:
- int f() { return 0; }
- int f() const { return 1; }
-};
-
-class b : public a {
-};
-
-int main()
-{
- int (b::* ptr1)() = &b::f;
- int (b::* ptr2)() const = &b::f;
-
- b ao;
-
- if ((ao.*ptr1)() != 0)
- return 1;
- if ((ao.*ptr2)() != 1)
- return 1;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload9.C b/gcc/testsuite/g++.old-deja/g++.other/overload9.C
deleted file mode 100644
index 521f4bd4d06..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/overload9.C
+++ /dev/null
@@ -1,31 +0,0 @@
-struct T { ~T() {}; };
-
-int g ()
-{
- foo:
- T t;
- int f(int);
- bar:
- T t2;
- int f(double);
- return f(3);
-}
-
-
-int f(int)
-{
- return 0;
-}
-
-
-int f(double)
-{
- return 1;
-}
-
-
-int main()
-{
- return g();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/parse1.C b/gcc/testsuite/g++.old-deja/g++.other/parse1.C
deleted file mode 100644
index d81751289f0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/parse1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Test that we save declspecs before a class defn properly.
-// Build don't link:
-
-static volatile union {
- void f() { }
-} u;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/pmf1.C b/gcc/testsuite/g++.old-deja/g++.other/pmf1.C
deleted file mode 100644
index e84a39a03f1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/pmf1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-struct foo {};
-typedef long unsigned int & (foo::*pmf)(void);
-void fn (...) {}
-int main ()
-{
- pmf y = 0;
- fn (y);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/pmf2.C b/gcc/testsuite/g++.old-deja/g++.other/pmf2.C
deleted file mode 100644
index 92935c0e451..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/pmf2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-// submitted by David C Binderman <dcb@pncl.co.uk>
-
-struct S
-{
- void f();
-};
-
-void (S ::* pmf) ();
-
-S * pf;
-
-void
-f()
-{
- pmf = & pf->f; // ERROR - not a valid pmf expression
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/pmf3.C b/gcc/testsuite/g++.old-deja/g++.other/pmf3.C
deleted file mode 100644
index 237812246e5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/pmf3.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Submitted by Nathan Sidwell <nathan@acm.org>
-// Bug: g++ was crashing after giving errors.
-
-template<class T>
- void connect_to_method(
- T *receiver,
- void (T::*method)())
- {}
-
-class Gtk_Base
-{
-public:
- void expose();
- void show();
- void show(int);
- Gtk_Base();
-};
-
-
-Gtk_Base::Gtk_Base()
-{
- connect_to_method(this,&show); // ERROR - invalid pmf expression
- connect_to_method(this,&expose); // ERROR - invalid pmf expression
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/printf1.C b/gcc/testsuite/g++.old-deja/g++.other/printf1.C
deleted file mode 100644
index 04c4d9f8de5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/printf1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wall
-
-struct a
-{
- void x(char *f,...) __attribute__((format(printf,2,3)));
-};
-
-int main()
-{
- a A;
- A.x("%d"); // WARNING - too few arguments for format
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/ptrmem1.C b/gcc/testsuite/g++.old-deja/g++.other/ptrmem1.C
deleted file mode 100644
index 1b5d5df8e39..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/ptrmem1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-class x
-{
-public:
- virtual int is_constant();
-};
-
-void foo()
-{
- x* y;
- if (y->is_constant) // ERROR - assuming &
- {
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/ptrmem2.C b/gcc/testsuite/g++.old-deja/g++.other/ptrmem2.C
deleted file mode 100644
index 85730952d0c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/ptrmem2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-class cow {
-public:
- void moo (char *);
-};
-
-void f()
-{
- cow* c;
-
- void (cow::*fp0)(char*) = &cow::moo; // OK
- void (cow::*fp1)(int) = &cow::moo; // ERROR - conversion
- int (cow::*fp2)(char*) = &cow::moo; // ERROR - conversion
- int (cow::*fp3)(char*, void*) = fp2; // ERROR - conversion
- int (cow::*fp4)(double) = (int (cow::*)(double)) fp2; // OK
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/ptrmem3.C b/gcc/testsuite/g++.old-deja/g++.other/ptrmem3.C
deleted file mode 100644
index 3f6a2afca0e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/ptrmem3.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-class c {
- void (c::*x)();
-public:
- void f() { this->x(); } // ERROR - pointer-to-member
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/ptrmem4.C b/gcc/testsuite/g++.old-deja/g++.other/ptrmem4.C
deleted file mode 100644
index dc378b23e6f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/ptrmem4.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Test to make sure g++ can handle target types that aren't identical
-// with pointers to members.
-
-struct A { int i; };
-struct B : public A { };
-
-int main ()
-{
- int A::*p = &A::i;
- const int B::*q = &A::i;
- return p != q;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/realloc.C b/gcc/testsuite/g++.old-deja/g++.other/realloc.C
deleted file mode 100644
index 1e1c6db8aa4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/realloc.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-extern "C" void realloc();
-
-class bug {
-public:
- void realloc(int foo,int bar);
-};
-
-void f() {
- bug c;
- c.realloc(50,50);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/redecl1.C b/gcc/testsuite/g++.old-deja/g++.other/redecl1.C
deleted file mode 100644
index d08e5aa9088..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/redecl1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-//Build don't link:
-struct X{
- void i();
- void i(int); // ERROR -
- int i; // ERROR - conflict
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/redecl2.C b/gcc/testsuite/g++.old-deja/g++.other/redecl2.C
deleted file mode 100644
index 7dcdeb4cbe8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/redecl2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct S {
- S(int);
- S(int); // ERROR - already declared
-
- ~S();
- ~S(); // ERROR - already declared
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/ref1.C b/gcc/testsuite/g++.old-deja/g++.other/ref1.C
deleted file mode 100644
index b6d82aa25ca..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/ref1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-int f();
-
-void g()
-{
- const int& i = f(); // OK
- int& j = f(); // ERROR - initialization of non-const reference
- const volatile int& k = f(); // ERROR - initialization of volatile ref
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rtti1.C b/gcc/testsuite/g++.old-deja/g++.other/rtti1.C
deleted file mode 100644
index 7377e156dba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rtti1.C
+++ /dev/null
@@ -1,121 +0,0 @@
-// test of rtti of non-class types
-// Special g++ Options: -frtti
-
-#include <typeinfo>
-
-extern "C" {
- int printf(const char *, ...);
- void exit(int);
-}
-
-int i;
-short s;
-char c;
-long l;
-
-unsigned int ui;
-unsigned short us;
-unsigned char uc;
-unsigned long ul;
-
-float f;
-double d;
-
-int& ri = i;
-const volatile int cvi = 10;
-volatile const int vci = 20;
-const int ci = 100;
-
-int *pi;
-int ai[10];
-
-enum color { red, blue, green, yellow};
-
-int (*fp)();
-int (*gp)();
-int (*hp)(int);
-
-class XX {
-public:
- int xxi;
- float xxf;
- int xxf1 () {};
- int xxf2 (int k) {};
-};
-
-class YY {
-public:
- int yyi;
- double yyd;
- int yyf1 (float f) {};
- double yyf2 () {return yyd;};
-};
-
-int XX::*ptmd1;
-int XX::*ptmd2;
-float XX::*ptmd3;
-int YY::*ptmd4;
-
-int (XX::*ptmf1) ();
-int (XX::*ptmf2) ();
-int (XX::*ptmf3) (int);
-int (YY::*ptmf4) ();
-
-int func1 ()
-{ return 0;}
-
-int func2 ()
-{ return 1;}
-
-int func3 (int i)
-{ return i;}
-
-short func4 ()
-{ return 99;}
-
-void error (int i)
-{
- exit(i);
-}
-
-int main ()
-{
- if (typeid(i) != typeid(int)) error(1);
- if (typeid(s) != typeid(short)) error(2);
- if (typeid(c) != typeid(char)) error(3);
- if (typeid(l) != typeid(long)) error(4);
- if (typeid(ui) != typeid(unsigned int)) error(5);
- if (typeid(us) != typeid(unsigned short)) error(6);
- if (typeid(uc) != typeid(unsigned char)) error(7);
- if (typeid(ul) != typeid(unsigned long)) error(8);
- if (typeid(f) != typeid(float)) error(9);
- if (typeid(d) != typeid(double)) error(10);
-
- if (typeid(*pi) != typeid(int)) error(51);
- if (typeid(pi) == typeid(ai)) error(52);
- if (typeid(ri) != typeid(i)) error(53);
- if (typeid(cvi) != typeid(vci)) error (54);
- if (typeid(vci) != typeid(i)) error(55);
- if (typeid(ci) != typeid(cvi)) error (56);
- if (typeid(ci) != typeid(const int)) error(57);
-
- if (typeid(func1) != typeid(func2)) error (81);
- if (typeid(func2) == typeid(func3)) error (82);
- if (typeid(func1) == typeid(func4)) error (83);
- if (typeid(func3) == typeid(func4)) error (84);
-
- if (typeid(red) != typeid(color)) error (101);
- if (typeid(green) != typeid(blue)) error (102);
-
- if (typeid(fp) != typeid(gp)) error (103);
- if (typeid(gp) == typeid(hp)) error (104);
-
- if (typeid(ptmd1) != typeid(ptmd2)) error (105);
- if (typeid(ptmd1) == typeid(ptmd3)) error (106);
- if (typeid(ptmd2) == typeid(ptmd4)) error (107);
-
- if (typeid(ptmf1) != typeid(ptmf2)) error (108);
- if (typeid(ptmf2) == typeid(ptmf3)) error (109);
- if (typeid(ptmf1) == typeid(ptmf4)) error (110);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rtti2.C b/gcc/testsuite/g++.old-deja/g++.other/rtti2.C
deleted file mode 100644
index a7a218b06e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rtti2.C
+++ /dev/null
@@ -1,88 +0,0 @@
-// test of rtti of single inheritance and multiple inheritance classes
-// Special g++ Options: -frtti
-
-#include <typeinfo>
-
-extern "C" {
- int printf(const char *, ...);
- void exit(int);
-}
-
-class X {
- public:
- int xi;
-};
-
-class Y : public X {
- short ys;
-};
-
-class Z : public Y {
- int zi;
-};
-
-Z z;
-Y y;
-Y *yp = &z;
-X *xp = &z;
-Z *zp = &z;
-
-class A {
- public:
- int Ai;
-};
-
-class B {
- public:
- int Bi;
-};
-
-class D : public A, public B {
- int Di;
-};
-
-/*
-class E : public D, public B {
- int Ei;
-};
-*/
-class E {
- int Ei;
-};
-
-class F : public E, public D {
- int Fi;
-};
-
-D d;
-A *ap = &d;
-B *bp = &d;
-F f;
-A *aap = &f;
-D *dp = &f;
-B *bbp = dp;
-
-void *vp = zp;
-
-void error (int i)
-{
- exit(i);
-}
-
-int main ()
-{
- if (typeid(z) != typeid(Z)) error(1);
- if (typeid(*yp) == typeid(Z)) error(2);
- if (typeid(*yp) == typeid(*zp)) error(3);
- if (typeid(xp) == typeid(yp)) error(4);
-
- xp = (X *)&y;
- if (typeid(*xp) == typeid(*yp)) error(5);
- if (typeid(*xp) == typeid(Y)) error(6);
-
- if (typeid(*ap) == typeid(*bp)) error (31);
- if (typeid(*ap) == typeid(D)) error(32);
-
- if (typeid(*aap) == typeid(*bbp)) error(33);
- if (typeid(*dp) == typeid(*aap)) error(34);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rtti3.C b/gcc/testsuite/g++.old-deja/g++.other/rtti3.C
deleted file mode 100644
index fdb1f9e090d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rtti3.C
+++ /dev/null
@@ -1,96 +0,0 @@
-// test of rtti of single inheritance and multiple inheritance with
-// virtual functions
-// Special g++ Options: -frtti
-
-#include <typeinfo>
-
-extern "C" {
- int printf(const char *, ...);
- void exit(int);
-}
-
-class X {
- public:
- int xi;
- virtual int f() {};
-};
-
-class Y : public X {
- short ys;
-};
-
-class Z : public Y {
- int zi;
-};
-
-Z z;
-Y y;
-Y *yp = &z;
-X *xp = &z;
-Z *zp = &z;
-
-class A {
- public:
- int Ai;
- virtual int a() {};
-};
-
-class B {
- public:
- int Bi;
- virtual int g() {};
-};
-
-class D : public A, public B {
- int Di;
-};
-
-/*
-class E : public D, public B {
- int Ei;
-};
-*/
-class E {
- int Ei;
-};
-
-class F : public E, public D {
- int Fi;
-};
-
-D d;
-A *ap = &d;
-B *bp = &d;
-D *dp = &d;
-F f;
-A *aap = &f;
-B *bbp = &f;
-
-void *vp = zp;
-
-void error (int i)
-{
- exit(i);
-}
-
-int main ()
-{
- if (typeid(z) != typeid(Z)) error(1);
- if (typeid(*yp) != typeid(Z)) error(2);
- if (typeid(*yp) != typeid(*zp)) error(3);
- if (typeid(xp) == typeid(yp)) error(4);
-
- xp = (X *)&y;
- if (typeid(*xp) == typeid(*yp)) error(5);
- if (typeid(*xp) != typeid(Y)) error(6);
-
- if (typeid(*ap) != typeid(*bp)) error (31);
- if (typeid(*ap) != typeid(D)) error(32);
- vp = dp;
- vp = dynamic_cast<void*> ((B *)vp);
- if (dp != (D *)vp) error(35);
-
- dp = (D *)&f;
- if (typeid(*aap) != typeid(*bbp)) error(37);
- if (typeid(*dp) != typeid(*aap)) error(38);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rtti4.C b/gcc/testsuite/g++.old-deja/g++.other/rtti4.C
deleted file mode 100644
index 571ed68fd9f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rtti4.C
+++ /dev/null
@@ -1,86 +0,0 @@
-// test of rtti of single inheritance and multiple inheritance with
-// virtual inheritance
-// Special g++ Options: -frtti -w
-
-#include <typeinfo>
-
-extern "C" {
- int printf(const char *, ...);
- void exit(int);
-}
-
-class X {
- public:
- int xi;
- virtual int f() {};
-};
-
-class Y : public virtual X {
- short ys;
-};
-
-class Z : public virtual Y {
- int zi;
-};
-
-Z z;
-Y y;
-Y *yp = &z;
-X *xp = &z;
-Z *zp = &z;
-
-class A {
-public:
- int Ai;
- virtual int a() {};
-};
-
-class B {
-public:
- int Bi;
- virtual int g() {};
-};
-
-class D : public virtual A, private B {
- int Di;
-};
-
-class E : public virtual D, public B {
- int Ei;
-};
-
-class F : public E, public virtual D {
- int Fi;
-};
-
-D d;
-A *ap = &d;
-B *bp = (B *)&d;
-F f;
-A *aap = &f;
-D *dp = &f;
-B *bbp = (B *)dp;
-
-void *vp = zp;
-
-void error (int i)
-{
- exit(i);
-}
-
-int main ()
-{
- if (typeid(z) != typeid(Z)) error(1);
- if (typeid(*yp) != typeid(Z)) error(2);
- if (typeid(*yp) != typeid(*zp)) error(3);
- if (typeid(xp) == typeid(yp)) error(4);
-
- xp = (X *)&y;
- if (typeid(*xp) == typeid(*yp)) error(5);
- if (typeid(*xp) != typeid(Y)) error(6);
-
- if (typeid(*ap) != typeid(*bp)) error (31);
- if (typeid(*ap) != typeid(D)) error(32);
- if (typeid(*aap) != typeid(*bbp)) error(33);
- if (typeid(*dp) != typeid(*aap)) error(34);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rtti5.C b/gcc/testsuite/g++.old-deja/g++.other/rtti5.C
deleted file mode 100644
index 38a5146e8c9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rtti5.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options: -fno-rtti
-
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 9 Apr 1999 <nathan@acm.org>
-// derrived from bug report from Alexander Zvyagin <zvyagin@mx.ihep.su>
-
-// check we don't die with disabled rtti
-
-
-int main(void) {
- int i;
- typeid(i); // ERROR - rtti disabled
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rttid2.C b/gcc/testsuite/g++.old-deja/g++.other/rttid2.C
deleted file mode 100644
index 50c1867c267..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rttid2.C
+++ /dev/null
@@ -1,100 +0,0 @@
-// test of rtti of single inheritance and multiple inheritance classes
-// dynamic casting
-// Special g++ Options: -frtti
-
-#include <typeinfo>
-
-extern "C" {
- int printf(const char *, ...);
- void exit(int);
-}
-
-class X {
- public:
- int xi;
-};
-
-class Y : public X {
- short ys;
-};
-
-class Z : public Y {
- int zi;
-};
-
-Z z;
-Y y;
-Y *yp = &z;
-X *xp = &z;
-Z *zp = &z;
-
-class A {
- public:
- int Ai;
-};
-
-class B {
- public:
- int Bi;
-};
-
-class D : public A, public B {
- int Di;
-};
-
-/*
-class E : public D, public B {
- int Ei;
-};
-*/
-class E {
- int Ei;
-};
-
-class F : public E, public D {
- int Fi;
-};
-
-D d;
-A *ap = &d;
-B *bp = &d;
-F f;
-F *fp = &f;
-A *aap = &f;
-D *dp = &f;
-B *bbp = dp;
-
-void *vp = zp;
-
-/*
-void error (int i)
-{
- printf("FAIL\n");
- exit(i);
-}
-*/
-
-void error (int i)
-{
- exit(i);
-}
-
-int main ()
-{
-
- vp = (void *)0;
-
- vp = dynamic_cast<Y *> (&z);
- if (vp == 0) error(11);
-
- vp = dynamic_cast<X *> (yp);
- if (vp == 0) error(12);
-
- vp = dynamic_cast<D *> (dp);
- if (vp != (void *)dp) error(21);
-
- vp = dynamic_cast<B *> (fp);
- if (vp != (void *)bbp) error(22);
-
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rttid3.C b/gcc/testsuite/g++.old-deja/g++.other/rttid3.C
deleted file mode 100644
index 69b7fc5c38a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rttid3.C
+++ /dev/null
@@ -1,115 +0,0 @@
-// test of rtti of single inheritance and multiple inheritance with
-// virtual functions
-// dynamic casting
-// Special g++ Options: -frtti
-
-#include <typeinfo>
-
-extern "C" {
- int printf(const char *, ...);
- void exit(int);
-}
-
-class X {
- public:
- int xi;
- virtual int f() {};
-};
-
-class Y : public X {
- short ys;
-};
-
-class Z : public Y {
- int zi;
-};
-
-Z z;
-Y y;
-Y *yp = &z;
-X *xp = &z;
-Z *zp = &z;
-
-class A {
- public:
- int Ai;
- virtual int a() {};
-};
-
-class B {
- public:
- int Bi;
- virtual int g() {};
-};
-
-class D : public A, public B {
- int Di;
-};
-
-/*
-class E : public D, public B {
- int Ei;
-};
-*/
-class E {
- int Ei;
-};
-
-class F : public E, public D {
- int Fi;
-};
-
-D d;
-A *ap = &d;
-B *bp = &d;
-D *dp = &d;
-F f;
-F *fp = &f;
-A *aap = &f;
-B *bbp = &f;
-
-void *vp = zp;
-
-/*
-void error (int i)
-{
- printf("FAIL\n");
- exit(i);
-}
-*/
-
-void error (int i)
-{
- exit(i);
-}
-
-int main ()
-{
- vp = (void *)0;
-
- vp = dynamic_cast<Y *> (&z);
- if (vp == 0) error(11);
-
- vp = dynamic_cast<Z *> (yp);
- if (vp == 0) error(11);
-
- vp = dynamic_cast<X *> (yp);
- if (vp == 0) error(12);
-
- vp = dynamic_cast<D *> (dp);
- if (vp != (void *)dp) error(21);
-
- vp = dynamic_cast<B *> (dp);
- if (vp == (void *)dp) error(21);
-
- vp = dynamic_cast<B *> (fp);
- if (vp != (void *)bbp) error(22);
-
- vp = dynamic_cast<void *> (aap);
- if (vp != (void *)fp) error(23);
-
- vp = dynamic_cast<B *> (aap);
- if (vp != (void *)bbp) error(24);
-
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/rttid4.C b/gcc/testsuite/g++.old-deja/g++.other/rttid4.C
deleted file mode 100644
index 0b72bae1ee3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/rttid4.C
+++ /dev/null
@@ -1,111 +0,0 @@
-// test of rtti of single inheritance and multiple inheritance with
-// virtual inheritance
-// dynamic casting
-// Special g++ Options: -w
-
-#include <typeinfo>
-
-extern "C" {
- int printf(const char *, ...);
- void exit(int);
-}
-
-class X {
- public:
- int xi;
- virtual int f() {};
-};
-
-class Y : public virtual X {
- short ys;
-};
-
-class Z : public virtual Y {
- int zi;
-};
-
-Z z;
-Y y;
-Y *yp = &z;
-X *xp = &z;
-Z *zp = &z;
-
-class A {
-public:
- int Ai;
- virtual int a() {};
-};
-
-class B {
-public:
- int Bi;
- virtual int g() {};
-};
-
-class D : public virtual A, private B {
- int Di;
-};
-
-class E : public virtual D, public B {
- int Ei;
-};
-
-class F : public E, public virtual D {
- int Fi;
-};
-
-D d;
-A *ap = &d;
-B *bp = (B *)&d;
-F f;
-F *fp = &f;
-A *aap = &f;
-D *dp = &f;
-E *ep = &f;
-B *bbp = (B *)dp;
-
-void *vp = zp;
-
-/*
-void error (int i)
-{
- printf("FAIL\n");
- exit(i);
-}
-*/
-
-void error (int i)
-{
- exit(i);
-}
-
-int main ()
-{
- vp = (void *)0;
-
- vp = dynamic_cast<Y *> (&z);
- if (vp == 0) error(11);
-
- vp = dynamic_cast<Z *> (yp);
- if (vp == 0) error(11);
-
- vp = dynamic_cast<X *> (yp);
- if (vp == 0) error(12);
-
- vp = dynamic_cast<D *> (dp);
- if (vp != (void *)dp) error(21);
-
- // Ill-formed: dynamic_cast to private or ambiguous base
- // vp = dynamic_cast<B *> (dp);
- // if (vp == (void *)dp) error(21);
-
- // vp = dynamic_cast<B *> (fp);
- // if (vp == (void *)bbp) error(22);
-
- vp = dynamic_cast<void *> (aap);
- if (vp != (void *)fp) error(23);
-
- vp = dynamic_cast<B *> (aap);
- if (vp == (void *)bbp) error(24);
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/signed.C b/gcc/testsuite/g++.old-deja/g++.other/signed.C
deleted file mode 100644
index 3bdce03a3e4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/signed.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 24 Mar 1999 <nathan@acm.org>
-
-// Determine that function style casts are groked
-
-void fn()
-{
- +char(5);
- +short(5);
- +int(5);
- +long(5);
- +signed(5);
- +unsigned(5);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/singleton.C b/gcc/testsuite/g++.old-deja/g++.other/singleton.C
deleted file mode 100644
index 075d83ac79a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/singleton.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// This tests two things:
-// 1. there is an annoying warning.
-// singleton.C:26: warning: `class singleton' only defines private constructors and has no friends
-// egcs fails to see that there is a public static accessor function.
-// 2. the program crashes, because apparently the static variable s in
-// singleton::instance() is considered constructed although the ctor
-// exited via an exception. (crash changed to non-zero return here)
-
-class singleton {
-public:
- static singleton& instance() {
- static singleton s;
- return s;
- }
- int check() {return initialized;}
-
-private:
- singleton() : initialized(1) {
- if ( counter++ == 0 ) throw "just for the heck of it";
- initialized = 2;
- }
- singleton( const singleton& rhs );
- void operator=( const singleton& rhs );
- int initialized;
- static int counter;
-};
-
-int singleton::counter;
-
-int main()
-{
- while (1) {
- try {
- return singleton::instance().check()-2;
- } catch (...) { }
- }
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/sizeof1.C b/gcc/testsuite/g++.old-deja/g++.other/sizeof1.C
deleted file mode 100644
index 6b547ae912e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/sizeof1.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-struct X {
- int f ();
- int f (int);
-};
-
-void f(int i)
-{
- i = sizeof(X::f); // ERROR - cannot take sizeof a member function
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/static1.C b/gcc/testsuite/g++.old-deja/g++.other/static1.C
deleted file mode 100644
index c18e55c63dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/static1.C
+++ /dev/null
@@ -1,8 +0,0 @@
-extern "C" void abort();
-
-struct S
-{
- static const int i = 3;
-};
-
-const int S::i = 2; // ERROR - duplicate initialization
diff --git a/gcc/testsuite/g++.old-deja/g++.other/static2.C b/gcc/testsuite/g++.old-deja/g++.other/static2.C
deleted file mode 100644
index 471448d3300..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/static2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Based on a test case by Koos Vriezen <koos@polder.ubc.kun.nl>
-
-struct foo {
- static void (*mystatic) ();
-};
-
-void bar(foo& t) {
- t.mystatic ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/static3.C b/gcc/testsuite/g++.old-deja/g++.other/static3.C
deleted file mode 100644
index b75771e76e2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/static3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-class S
-{
- ~S();
-public:
- friend void f();
-};
-
-
-S::~S()
-{
- static S s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/static4.C b/gcc/testsuite/g++.old-deja/g++.other/static4.C
deleted file mode 100644
index 70213370b07..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/static4.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Origin: Andrew Pollard <andrew@odie.demon.co.uk>
-// Special g++ Options: -O
-
-struct A {
- A(int, int);
-};
-A::A(int, int) {}
-static A _A(0, 0);
-int main() { return(0); }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/string1.C b/gcc/testsuite/g++.old-deja/g++.other/string1.C
deleted file mode 100644
index 425e9bf817c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/string1.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// Origin: mrs@wrs.com (Mike Stump)
-
-class Wrapper {
-public:
- static const char msgPtr[];
- static const char *JunkFunc() {
- return &msgPtr[0];
- }
-};
-
-const char Wrapper::msgPtr[] = "Hello world.";
-
-int main() {
- const char *p1 = &Wrapper::msgPtr[0];
- const char *p2 = Wrapper::JunkFunc();
-
- if (p1 != p2)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/temporary1.C b/gcc/testsuite/g++.old-deja/g++.other/temporary1.C
deleted file mode 100644
index 93cd7097783..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/temporary1.C
+++ /dev/null
@@ -1,40 +0,0 @@
-extern "C" int printf(char*, ...);
-
-int c, d;
-class Foo
-{
-public:
- Foo() { printf("Foo() 0x%08lx\n", (unsigned long)this); ++c; }
- Foo(Foo const &) { printf("Foo(Foo const &) 0x%08lx\n", (unsigned long)this); }
- ~Foo() { printf("~Foo() 0x%08lx\n", (unsigned long)this); ++d; }
-};
-
-// Bar creates constructs a temporary Foo() as a default
-class Bar
-{
-public:
- Bar(Foo const & = Foo()) { printf("Bar(Foo const &) 0x%08lx\n", (unsigned long)this); }
-};
-
-void fakeRef(Bar *)
-{
-}
-
-int main()
-{
- // Create array of Bar. Will use default argument on constructor.
- // The old compiler will loop constructing Bar. Each loop will
- // construct a temporary Foo() but will not destruct the Foo().
- // The Foo() temporary is destructed only once after the loop
- // completes. This could lead to a memory leak if the constructor
- // of Foo() allocates memory.
- Bar bar[2];
-
- fakeRef(bar);
-
- printf("Done\n");
-
- if (c == d && c == 2)
- return 0;
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typeck1.C b/gcc/testsuite/g++.old-deja/g++.other/typeck1.C
deleted file mode 100644
index 6dd5fed5c25..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typeck1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-extern int a[][]; // ERROR - invalid multidimensional array
-extern int b[7][]; // ERROR - invalid multidimensional array
-extern int c[][7]; // OK
-
-extern int (*i)[]; // ERROR - previous declaration
-extern int (*i)[7]; // ERROR - conflicting types for `i'
-
-extern int m[];
-extern int m[7]; // OK
-
-void f(int (*j)[3])
-{
- extern int (*k)[];
- f(k); // ERROR - passing wrong type
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typedef1.C b/gcc/testsuite/g++.old-deja/g++.other/typedef1.C
deleted file mode 100644
index d44772932ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typedef1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-typedef const struct {
- int x;
-} Test;
-
-void foo(Test);
-
-void foo(Test t)
-{
- t.x = 0; // ERROR - assignment of read-only member
- return;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typedef2.C b/gcc/testsuite/g++.old-deja/g++.other/typedef2.C
deleted file mode 100644
index b12ed13c406..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typedef2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-//Build don't link:
-struct S{
-
- static const int i;
- static const int j;
-};
-
-typedef S T;
-const int T::i = 4;
-const int T::j = 4;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typedef3.C b/gcc/testsuite/g++.old-deja/g++.other/typedef3.C
deleted file mode 100644
index 465e9a00e7a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typedef3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-//Build don't link:
-template<class T>
-struct X{
- T v;
- X(){}
- virtual ~X(){}
- virtual inline T f(T x){return x;}
-};
-
-void f()
-{
- typedef int H;
- X<H> y;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typedef4.C b/gcc/testsuite/g++.old-deja/g++.other/typedef4.C
deleted file mode 100644
index 8b5ba499406..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typedef4.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct A {
- void f ();
-};
-
-typedef A foo;
-
-void foo::f() { }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typedef5.C b/gcc/testsuite/g++.old-deja/g++.other/typedef5.C
deleted file mode 100644
index d8f74aee938..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typedef5.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-// by Alexandre Oliva <oliva@dcc.unicamp.br>
-
-typedef int t;
-typedef t* u;
-typedef u v;
-typedef v* (*w)(t);
-typedef int t;
-typedef t* u;
-typedef u v;
-typedef v* (*w)(t const); // this is ok
-typedef v* (*w)(t); // ERROR - covers message `previously declared here'
-typedef v* (*const w)(t); // ERROR - invalid redeclaration
-typedef v const* (*w)(t); // ERROR - invalid redeclaration
-typedef v* const (*w)(t); // ERROR - invalid redeclaration
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typedef6.C b/gcc/testsuite/g++.old-deja/g++.other/typedef6.C
deleted file mode 100644
index 53b81669172..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typedef6.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Submitted by Jason Merrill <jason@cygnus.com>.
-// Bug: g++ fails to see through the T typedef in the C ctor.
-// Build don't link:
-
-struct A {
- A (int) { }
-};
-
-typedef A T;
-
-struct B: public virtual T {
- B (): T(1) { }
-};
-
-struct C: public B {
- C (): T(1) { }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typeinfo1.C b/gcc/testsuite/g++.old-deja/g++.other/typeinfo1.C
deleted file mode 100644
index 070e885fe91..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typeinfo1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-#include <typeinfo>
-
-struct S {
- S (const char*);
-};
-
-void f(S s);
-void f(type_info);
-
-void g()
-{
- f("abc");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/typename1.C b/gcc/testsuite/g++.old-deja/g++.other/typename1.C
deleted file mode 100644
index 2921b3d3c02..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/typename1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// This code snippet should be rejected with -pedantic
-// Based on a test case by Louidor Erez <s3824888@techst02.technion.ac.il>
-
-// Build don't link:
-// Special g++ Options: -pedantic
-
-template<class T>
-class Vector {
-public:
- typedef T* iterator;
-};
-
-template<class T>
-void f()
-{
- Vector<T>::iterator i = 0; // ERROR - missing typename - XFAIL *-*-*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/union1.C b/gcc/testsuite/g++.old-deja/g++.other/union1.C
deleted file mode 100644
index 6573b4d055f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/union1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-class A
-{
- private:
- int myInt;
-
- public:
- A& operator = (int right) {myInt = right; return *this;}
-};
-
-union B
-{
- char f1;
- A f2; // gets bogus error - non-copy assignment op is OK
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/using1.C b/gcc/testsuite/g++.old-deja/g++.other/using1.C
deleted file mode 100644
index d22d512f64b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/using1.C
+++ /dev/null
@@ -1,26 +0,0 @@
-class D2;
-
-class B {
-private:
- int a; // ERROR - B::a is private
-protected:
- int b;
-
- friend class D2;
-};
-
-class D : public B {
-public:
- using B::a;
- using B::b;
-}; // ERROR - within this context
-
-class D2 : public B {
-public:
- using B::a;
- using B::b;
-
-private:
- using B::b;
-}; // ERROR - conflicting access specifications
-
diff --git a/gcc/testsuite/g++.old-deja/g++.other/using2.C b/gcc/testsuite/g++.old-deja/g++.other/using2.C
deleted file mode 100644
index 2924498e35a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/using2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-struct X{
- void f();
-};
-
-struct Y:X{
- void f(int);
- void f(); // ERROR - conflict
- using X::f;
-}; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.other/using3.C b/gcc/testsuite/g++.old-deja/g++.other/using3.C
deleted file mode 100644
index 7d75d8a8794..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/using3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-struct A{
- A();
-};
-
-typedef struct {
- A i;
-} S;
-
-struct B: S{
- using S::S; // ERROR - no such field
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/using4.C b/gcc/testsuite/g++.old-deja/g++.other/using4.C
deleted file mode 100644
index 218ffe2a85c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/using4.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-// Based on a testcase by Martin Bachtold <martinb@coyotesystems.com>
-
-// excess errors test - XFAIL *-*-*
-
-struct foo {
- void m();
-};
-
-struct bar : foo {
- using foo::m;
- void m(int);
-};
-
-void f() {
- bar b;
- b.m();
- b.m(1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/using5.C b/gcc/testsuite/g++.old-deja/g++.other/using5.C
deleted file mode 100644
index 65dc9522a76..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/using5.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-// Based on bug report by Klaus-Georg Adams
-// <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-
-struct bar {
- typedef bar t;
-};
-
-struct foo : bar {
- using bar::t;
- t field;
- t meth();
- void baz(t arg);
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/virtual1.C b/gcc/testsuite/g++.old-deja/g++.other/virtual1.C
deleted file mode 100644
index 28483177bf9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/virtual1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-struct S0 { virtual void f1 () { } };
-
-struct S1 : virtual public S0 { virtual void f1 () { } };
-
-struct S2 : public S1 { virtual void f1 () { } };
-
-struct S3 : virtual public S0 { virtual void f1 () { } };
-
-struct S4 : public S3 { };
-
-void creator () { new S4; }
diff --git a/gcc/testsuite/g++.old-deja/g++.other/virtual2.C b/gcc/testsuite/g++.old-deja/g++.other/virtual2.C
deleted file mode 100644
index a3ebbcd40e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/virtual2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-struct B
-{
- virtual int f() volatile
- { return 0; }
-};
-
-
-struct D : public B
-{
- virtual int f()
- { return 1; }
-};
-
-int main()
-{
- volatile D d;
- volatile B& b = d;
- return b.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/virtual3.C b/gcc/testsuite/g++.old-deja/g++.other/virtual3.C
deleted file mode 100644
index b9a77191030..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/virtual3.C
+++ /dev/null
@@ -1,24 +0,0 @@
-struct B
-{
- virtual int f() volatile
- { return 1; }
-};
-
-struct D : public B
-{
- int f()
- { return 0; }
-};
-
-struct D2 : public D
-{
- int f()
- { return 2; }
-};
-
-int main()
-{
- D2 d2;
- D& d = d2;
- return d.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/virtual4.C b/gcc/testsuite/g++.old-deja/g++.other/virtual4.C
deleted file mode 100644
index 8a44ee14135..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/virtual4.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-class A {
-public:
- virtual int foo() = 0; // ERROR - original definition
-};
-
-class B {
-public:
- virtual double foo() = 0;
-};
-
-class C
- : public A, public B
-{
-public:
- virtual double foo() { return 2; } // ERROR - conflicting return type
-};
-
-class D
- : public B, public A
-{
-public:
- virtual double foo() { return 2; } // ERROR - conflicting return type
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.other/vtbl1.C b/gcc/testsuite/g++.old-deja/g++.other/vtbl1.C
deleted file mode 100644
index 4724ee1b497..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/vtbl1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't run:
-// Origin: DJ Delorie <dj@delorie.com>
-
-class X {
-public:
- int i;
- X() { i = 0; }
- ~X();
- virtual int foo() { return i; }
- virtual void bar();
-};
-
-int main()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/warn01.C b/gcc/testsuite/g++.old-deja/g++.other/warn01.C
deleted file mode 100644
index 229363a3ec0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/warn01.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options: -W -Wall
-
-typedef unsigned long size_t;
-extern void* malloc (size_t);
-extern void free (void*);
-extern void* realloc (void*, size_t);
-
-struct vtable {
- void* (* _malloc) (size_t);
- void (* _free) (void*);
- void* (* _realloc) (void*, size_t);
-};
-
-struct vtable mtable = { malloc, free }; // WARNING - _realloc
diff --git a/gcc/testsuite/g++.old-deja/g++.other/warn3.C b/gcc/testsuite/g++.old-deja/g++.other/warn3.C
deleted file mode 100644
index 4827c5645f2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.other/warn3.C
+++ /dev/null
@@ -1,54 +0,0 @@
-// Build don't link:
-
-class A {
-};
-
-
-class B {
-public:
- void f();
-
-private:
- B ();
- B (const B&);
-}; // WARNING - only private constructors
-
-
-class C {
-public:
- void f();
-
-private:
- ~C ();
-}; // WARNING - only private destructors
-
-
-class D {
-private:
- void f();
-}; // WARNING - all member functions are private
-
-
-template <class T>
-class X {
-private:
- ~X ();
-}; // WARNING - only private destructors
-
-template class X<int>;
-template class X<double>;
-
-
-template <class T>
-class Y {
-private:
- Y ();
- Y (const Y&);
-}; // WARNING - only private constructors
-
-
-template <class T>
-class Z {
-private:
- void f();
-}; // WARNING - all member functions are private
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/alignof.C b/gcc/testsuite/g++.old-deja/g++.pt/alignof.C
deleted file mode 100644
index 0cfeed4084c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/alignof.C
+++ /dev/null
@@ -1,21 +0,0 @@
-extern "C" void abort();
-
-struct S
-{
- char c;
- double d;
-};
-
-
-template <class T>
-void foo(T)
-{
- if (__alignof__(T) != __alignof__(S))
- abort();
-}
-
-
-int main()
-{
- foo(S());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/array1.C b/gcc/testsuite/g++.old-deja/g++.pt/array1.C
deleted file mode 100644
index 669600f0443..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/array1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-template <class T, unsigned N>
- unsigned size(T (&)[N]) { return N; }
-template <class T, unsigned N>
- unsigned size(T const (&)[N]) { return N; }
-
-int main() {
- short iarray[] = { 1, 2, 3, 4, 5 };
- const short carray[] = { 1, 2, 3, 4, 5 };
- return size(iarray) - size(carray);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/array2.C b/gcc/testsuite/g++.old-deja/g++.pt/array2.C
deleted file mode 100644
index 6c5810ed77b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/array2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template<int N, class C>
-class Bar {};
-
-template<class C>
-class Huh {};
-
-template<int N>
-void foo(const Bar<N,Huh<float[1]> > &x) {}
-
-int main() {
- foo(Bar<3,Huh<float[1]> >());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/array3.C b/gcc/testsuite/g++.old-deja/g++.pt/array3.C
deleted file mode 100644
index ec5e1e0e3a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/array3.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-// Origin: Brendan Kehoe <brendan@cygnus.com>
-
- template <int x> int foo(char[4][x]) { return x; }
- int (*bar)(char[4][3]) = &foo;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/array4.C b/gcc/testsuite/g++.old-deja/g++.pt/array4.C
deleted file mode 100644
index fab2d5b1527..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/array4.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Test to make sure that the array bounds are treated as an expression
-// in template parm substitution.
-
-// Written by Jason Merrill <jason@cygnus.com>
-
-// Build don't link:
-
-template <class T> void f (T t) { int ar[sizeof (T)]; }
-
-int
-main ()
-{
- f (1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/assign1.C b/gcc/testsuite/g++.old-deja/g++.pt/assign1.C
deleted file mode 100644
index dfdaab27010..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/assign1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-struct S {
- S();
- T t;
-};
-
-void f()
-{
- S<const int> s;
- s = s; // ERROR - generated assignment operator is illegal
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C b/gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C
deleted file mode 100644
index dd5b988b316..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C
+++ /dev/null
@@ -1,54 +0,0 @@
-template <typename Y> struct auto_ptr_ref {
- Y* py;
- auto_ptr_ref(Y* p) : py(p) {}
-};
-template<typename X> struct auto_ptr {
- X* px;
- public:
- typedef X element_type;
-
- explicit auto_ptr(X* p =0) throw() : px(p) {}
- auto_ptr(auto_ptr& r) throw() : px(r.release()) {}
- template<typename Y>
- auto_ptr(auto_ptr<Y>& r) throw() : px(r.release()) {}
-
- auto_ptr& operator=(auto_ptr& r) throw() {
- reset(r.release());
- return *this;
- }
- template<typename Y> auto_ptr& operator=(auto_ptr<Y>& r) throw() {
- reset(r.release());
- return *this;
- }
-
- ~auto_ptr() { delete px; }
-
- X& operator*() const throw() { return *px; }
- X* operator->() const throw() { return px; }
- X* get() const throw() { return px; }
- X* release() throw() { X* p=px; px=0; return p; }
- void reset(X* p=0) throw() { if (px != p) delete px, px = p; }
-
- auto_ptr(auto_ptr_ref<X> r) throw() : px(r.py) {}
- template<typename Y> operator auto_ptr_ref<Y>() throw() {
- return auto_ptr_ref<Y>(release());
- }
- template<typename Y> operator auto_ptr<Y>() throw() {
- return auto_ptr<Y>(release());
- }
-};
-
-struct Base { Base() {} virtual ~Base() {} };
-struct Derived : Base { Derived() {}; };
-
-auto_ptr<Derived> f() { auto_ptr<Derived> null(0); return null; }
-void g(auto_ptr<Derived>) { }
-void h(auto_ptr<Base>) { }
-
-int main() {
- auto_ptr<Base> x(f());
- auto_ptr<Derived> y(f());
- x = y;
- g(f());
- h(f());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/bad-type.C b/gcc/testsuite/g++.old-deja/g++.pt/bad-type.C
deleted file mode 100644
index 6b22b86a30f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/bad-type.C
+++ /dev/null
@@ -1,19 +0,0 @@
-template<class Type>
-class A
-{
-public:
- Type m;
-};
-
-template<class Type>
-void f(A<Type>& a, Type d)
-{
- A.m=d; // ERROR - invalid use of template
-}
-
-int main()
-{
- A<int> a;
- f(a,2);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/call1.C b/gcc/testsuite/g++.old-deja/g++.pt/call1.C
deleted file mode 100644
index b9836bbcc5a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/call1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-struct IsCompressed { };
-struct Field {
- bool IsCompressed() const { return true; }
-};
-
-template<class C>
-inline bool
-for_each(const Field& p, IsCompressed, C)
-{
- return p.IsCompressed();
-}
-
-template bool for_each<int>(const Field& p, IsCompressed, int);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/call2.C b/gcc/testsuite/g++.old-deja/g++.pt/call2.C
deleted file mode 100644
index 51b246948ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/call2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-struct IsCompressed { };
-struct Field {
-};
-
-template<class C>
-inline bool
-for_each(const Field& p, IsCompressed, C)
-{
- return p.IsCompressed(); // ERROR - calling type like a method
-}
-
-template bool for_each<int>(const Field& p, IsCompressed, int); // ERROR - instantiated from here
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/cast1.C b/gcc/testsuite/g++.old-deja/g++.pt/cast1.C
deleted file mode 100644
index e37b1693155..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/cast1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-void f (T t) {
- const_cast<T>(t);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/const1.C b/gcc/testsuite/g++.old-deja/g++.pt/const1.C
deleted file mode 100644
index 8ac8a51bf9d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/const1.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-template <class T> struct B { static const int i = 3; };
-template <class T> struct A { static const int i = B<T>::i; };
-enum { i = A<int>::i };
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/conv1.C b/gcc/testsuite/g++.old-deja/g++.pt/conv1.C
deleted file mode 100644
index 19e433e2f70..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/conv1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1 {};
-
-struct S2
-{
- template <class T>
- operator S1<T>*();
-};
-
-struct D: public S1<int> {
-};
-
-void f()
-{
- S2 s;
- (D*) s; // ERROR - cannot convert
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/conv2.C b/gcc/testsuite/g++.old-deja/g++.pt/conv2.C
deleted file mode 100644
index f3e0b359e19..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/conv2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template<class T>
-class A {
-public:
- operator const T*() const;
- const T* cast() const;
-};
-
-template<class T>
-const T* A<T>::cast() const {
- return operator const T*();
-}
-
-template class A<char>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/copy1.C b/gcc/testsuite/g++.old-deja/g++.pt/copy1.C
deleted file mode 100644
index 7981530f697..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/copy1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-int i = 0;
-
-template <class T>
-class F
-{
-public:
- F() {}
-
- template <class T2> F(F<T2>)
- {
- i = 1;
- }
-};
-
-
-F<int>
-foo()
-{
- F<int> f1;
- F<int> f2(f1);
- return f1;
-}
-
-int
-main()
-{
- return i;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash1.C b/gcc/testsuite/g++.old-deja/g++.pt/crash1.C
deleted file mode 100644
index 3d3dd5e09b6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash1.C
+++ /dev/null
@@ -1,11 +0,0 @@
-template<class T> class A {
- public:
- class subA {};
-};
-
-
-template<class T> class B : public A<T> {
- public:
- class subB : public A::subA {}; // ERROR - not a class or namespace
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash10.C b/gcc/testsuite/g++.old-deja/g++.pt/crash10.C
deleted file mode 100644
index 033e2341c24..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash10.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-template<int M, int N>
-class GCD {
-public:
- enum { val = (N == 0) ? M : GCD<N, M % N>::val };
-};
-
-int main() {
- GCD< 1, 0 >::val; // ERROR - division
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash11.C b/gcc/testsuite/g++.old-deja/g++.pt/crash11.C
deleted file mode 100644
index 30c72a679f2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash11.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-class A
-{
- class A_impl;
- public:
- A(){}
-};
-
-
-template <class j> class A::A_impl
-{ // ERROR - does not declare a template
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash12.C b/gcc/testsuite/g++.old-deja/g++.pt/crash12.C
deleted file mode 100644
index ade8139c45d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash12.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Special g++ Options: -g
-
-template <class C>
-class CenteringTag {
-};
-
-struct S {
- template <class B, class C>
- static void f() {
- CenteringTag<C> ctag;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash13.C b/gcc/testsuite/g++.old-deja/g++.pt/crash13.C
deleted file mode 100644
index f3de38e6be1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash13.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-template <class T> struct A {};
-template <class T> struct A<T>; // ERROR - does not specialize args
-template <class T> const struct A; // ERROR - parse error
-template <class T> template A<int>; // ERROR - .*
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash14.C b/gcc/testsuite/g++.old-deja/g++.pt/crash14.C
deleted file mode 100644
index f698316b511..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash14.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-template <class T> struct A {};
-template <class T> struct A<T*>;
-A<int*> ai; // ERROR - incomplete type
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash15.C b/gcc/testsuite/g++.old-deja/g++.pt/crash15.C
deleted file mode 100644
index 75b10544ac9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash15.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T>
-template <class U>
-struct A { // ERROR - too many template parameter lists
-public:
- A() {}
-
- A(const A<T>& b) {} // ERROR - invalid use of template
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash16.C b/gcc/testsuite/g++.old-deja/g++.pt/crash16.C
deleted file mode 100644
index ed12b909ca2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash16.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-extern "C" void qsort();
-
-struct R {
- int count;
- int state1;
- int state2;
-};
-
-int cmp_d(const R* a, const R* b) {
- return a->count > b->count;
-}
-
-namespace CXX {
- template<class T, int i1, int i2>
- inline void qsort (T b[i1][i2], int (*cmp)(const T*, const T*)) {
- ::qsort ((void*)b, i1*i2, sizeof(T), (int (*)(const void *, const void *))cmp);
- }
-}
-
-using namespace CXX;
-
-void sort_machine() {
- struct R d[256][256];
- qsort<R,256> (d, cmp_d);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash17.C b/gcc/testsuite/g++.old-deja/g++.pt/crash17.C
deleted file mode 100644
index c4dd969d1e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash17.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <int B>
-class foo;
-
-template <class U>
-class bar
-{
- typedef foo<(U::id > 0)> foobar;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash18.C b/gcc/testsuite/g++.old-deja/g++.pt/crash18.C
deleted file mode 100644
index b12c702e856..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash18.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't run:
-
-template<class T>
-class foo {
- T deft;
-
- template<class U> int priv (U u, T t) { return u - t; }
-public:
- foo (T t) : deft (t) {}
-
- template<class U> int pub (U u) {
- int (foo::*fn) (U, T);
- fn = &foo<T>::template priv<U>;
- return (this->*fn) (u, deft);
- }
-};
-
-int
-main ()
-{
- foo<long> fff (5);
- return fff.pub (3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash19.C b/gcc/testsuite/g++.old-deja/g++.pt/crash19.C
deleted file mode 100644
index 2da6dd9bbbf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash19.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-template <int I>
-void f()
-{
- class C { public: int c; };
-
- struct S {
- void g() {
- C e;
- e.c = 3;
- };
- };
-
- S s;
- s.g();
-}
-
-template void f<7>();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash2.C b/gcc/testsuite/g++.old-deja/g++.pt/crash2.C
deleted file mode 100644
index 3b900c77de7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1
-{
- T* t;
- static int foo;
-};
-
-
-struct S2 : public S1<S2>
-{
- S2* s;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash20.C b/gcc/testsuite/g++.old-deja/g++.pt/crash20.C
deleted file mode 100644
index 29b4281c76e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash20.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class T = int>
-struct A { const T x; A() : x(0) { } A(T x) : x(x) { } };
-
-template <class B>
-void func () { B y; y = B(); } // ERROR - can't use default assignment
-
-int main (void) { func< A<> >(); } // ERROR - instantiated from here
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash21.C b/gcc/testsuite/g++.old-deja/g++.pt/crash21.C
deleted file mode 100644
index c84809b38dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash21.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-class Pooled
-{
-};
-
-class RefCounted
-{
-};
-
-class BrickExpressionBase : public RefCounted, public Pooled
-{
-};
-
-template<unsigned Dim, class LHS, class RHS, class OP>
-class BrickExpression : public BrickExpressionBase
-{
-};
-
-template <unsigned Dim, class T>
-void f()
-{
- typedef BrickExpression<Dim, T, T, T> ExprT;
- ExprT(3).apply;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash22.C b/gcc/testsuite/g++.old-deja/g++.pt/crash22.C
deleted file mode 100644
index e947ef3ffe4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash22.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1 {};
-
-template <class T, class U = S1<T> >
-struct S2 {};
-
-template struct S2<100>; // ERROR - type/value mismatch
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash23.C b/gcc/testsuite/g++.old-deja/g++.pt/crash23.C
deleted file mode 100644
index ac4fae02b0b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash23.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class A, class B> void foo();
-template <class C> class bar {
-public:
- int i;
- template <class B> friend void foo<C,B>(); // ERROR - template-id
-};
-template <class A, class B> void foo() {
- bar<A> baz; baz.i = 1;
- bar<int> buz; buz.i = 1;
-}
-int main() {
- foo<void,void>();
- foo<int,void>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash24.C b/gcc/testsuite/g++.old-deja/g++.pt/crash24.C
deleted file mode 100644
index 9c31af6017f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash24.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-template<typename T, template <class> class U> void template_fn (T);
-template<typename T> void callme ( void (*)(T));
-
-template<typename T> struct S1;
-
-int main()
-{
- callme(&template_fn<double, S1>);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash25.C b/gcc/testsuite/g++.old-deja/g++.pt/crash25.C
deleted file mode 100644
index f5875854562..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash25.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f()
-{
- int i[1 << 3];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash26.C b/gcc/testsuite/g++.old-deja/g++.pt/crash26.C
deleted file mode 100644
index d2101bd3b63..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash26.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Origin: Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
-double f(double);
-typedef double (*M)(double);
-
-class A {
-public:
- template <const M n> void g();
-};
-
-class B: public A {
-public:
- void g() { A::g<f>(); }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash27.C b/gcc/testsuite/g++.old-deja/g++.pt/crash27.C
deleted file mode 100644
index f52f1ba9e02..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash27.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-template<int i> int f (void)
-{
- if (__extension__ ({ 1; }))
- return 0;
- return 1;
-}
-
-void g (void)
-{
- f<1> ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash28.C b/gcc/testsuite/g++.old-deja/g++.pt/crash28.C
deleted file mode 100644
index 752c9706990..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash28.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class ARRY>
-inline unsigned int asize(ARRY &a)
-{
- return sizeof(a) / sizeof(a[0]);
-}
-
-int f(unsigned int n) {
- int x[n];
-
- asize(x); // ERROR - no matching function
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash29.C b/gcc/testsuite/g++.old-deja/g++.pt/crash29.C
deleted file mode 100644
index 05bef969836..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash29.C
+++ /dev/null
@@ -1,69 +0,0 @@
-// Build don't link:
-// Origin: Steven Parkes <parkes@sierravista.com>
-
-typedef __SIZE_TYPE__ size_t;
-
-class UUId {};
-
-template <class T> class MetaClass;
-
-class TypeInfo;
-
-struct MetaClassGeneric
-{
- MetaClassGeneric( TypeInfo& );
-};
-
-struct TypeInfo
-{
- void (*constructor)( void* );
- void initialize( void* );
-};
-
-template <class T>
-class TypeIDInit {
-public:
- TypeIDInit();
- static void initialize();
- static TypeInfo info;
- static int storage[];
- static void metaclassConstructor( void* );
-};
-
-template <class T>
-TypeInfo TypeIDInit<T>::info =
-{
- TypeIDInit<T>::metaclassConstructor
-};
-
-template <class T>
-inline
-TypeIDInit<T>::TypeIDInit()
-{
- info.initialize(storage);
-}
-
-template <class T>
-class NameInfo : public MetaClassGeneric {
-public:
- NameInfo()
- : MetaClassGeneric( TypeIDInit<T>::info ) {}
-};
-
-class MetaClass<UUId>
-: public NameInfo<UUId>
-{
-};
-
-extern "C++"
-inline void *operator new(size_t, void *place) throw() { return place; }
-
-template <class T>
-void
-TypeIDInit<T>::metaclassConstructor( void* place )
-{
- new ( place ) MetaClass<T>;
-}
-
-template class TypeIDInit<UUId> ;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash3.C b/gcc/testsuite/g++.old-deja/g++.pt/crash3.C
deleted file mode 100644
index 0d2a7cd935d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class Type>
-class CVector {
-public:
- CVector<int> f() const
- {
- CVector<int> v(n);
- return v;
- }
- CVector<long> g() const
- {
- CVector<long> v(n);
- return v;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash30.C b/gcc/testsuite/g++.old-deja/g++.pt/crash30.C
deleted file mode 100644
index 13dc37af68d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash30.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-extern "C" int printf(const char *, ...);
-template <class T> struct A {
- typedef typename T::X B; // ERROR - not a class
- A(double);
-};
-
-template <class T> void xxx(typename A<T>::B);
-
-template <class T> struct B {
- friend void xxx<T>(T); // ERROR - does not match any template
-};
-
-template struct B<double>; // ERROR -
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash31.C b/gcc/testsuite/g++.old-deja/g++.pt/crash31.C
deleted file mode 100644
index 34758967c2e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash31.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Origin: Corey Kosak
-
-struct cow_t {
- template<bool Q>
- static void tfunc(cow_t *cowp) {}
-
- void moo() {
- cow_t *cowp;
- cow_t::tfunc<true>(cowp);
- }
-};
-
-
-int main()
-{
- cow_t *cowp;
- cow_t::tfunc<true>(cowp);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash32.C b/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
deleted file mode 100644
index 68cf4df6fb2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-template <class T> struct A
-{
- struct B;
-};
-
-template<class T> struct C
-{
- friend typename A<T>::B;
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash33.C b/gcc/testsuite/g++.old-deja/g++.pt/crash33.C
deleted file mode 100644
index bc7dcf5c4c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash33.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// Origin: Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
-class A {
-public:
- template <class T> T& f(T& t) const;
-};
-
-class B {
-public:
- template <class T> T& f(T& t) const;
-};
-
-class C: public A,B {
-public:
- template <class T> T& f(T& t) const;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash34.C b/gcc/testsuite/g++.old-deja/g++.pt/crash34.C
deleted file mode 100644
index d178a406fb2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash34.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// Origin: Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
-template <class T>
-class A {
-public:
- class B { };
- class C: public B {
- public:
- C(A&):B() { }
- };
- C f() { return C(*this); }
-};
-
-int
-main()
-{
- A<int> a;
- a.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash35.C b/gcc/testsuite/g++.old-deja/g++.pt/crash35.C
deleted file mode 100644
index d4084fea2fb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash35.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Origin: Miniussi <miniussi@ilog.fr>
-
-template <class O>
-struct Str {
- Str(int& val= (*new int()));
-};
-
-template<class O>
-Str<O>::Str(int& val) {}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash36.C b/gcc/testsuite/g++.old-deja/g++.pt/crash36.C
deleted file mode 100644
index b5281c32b61..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash36.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// Origin: Andreas Kloeckner <ak@ixion.net>
-
-template<class Iterator> struct iterator_traits {
- typedef typename Iterator::iterator_category
- iterator_category; // ERROR - no type iterator_category
-};
-
-template<class Category>
-struct iterator {
- typedef Category iterator_category;
-};
-
-
-template <class Iterator>
-struct reverse_iterator : public
-iterator<typename iterator_traits<Iterator>::iterator_category> {
- protected:
- Iterator current;
-
-};
-class tag { };
-
-template <class T>
-struct list {
- template <class Item>
- struct list_iterator {
- };
-
- reverse_iterator<list_iterator<T> > rbegin()
- { return reverse_iterator<list_iterator<T> > // ERROR - no type
- (list_iterator<T>(Head->next())); } // ERROR - instantiated here
-};
-
-template class list<int>; // ERROR - instantiated from here
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash37.C b/gcc/testsuite/g++.old-deja/g++.pt/crash37.C
deleted file mode 100644
index c2325bffa8a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash37.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// Origin: Jens Maurer <jmaurer@menuett.rhein-main.de>
-
-template<class T, void (T::*f)(int)>
-class C { };
-
-template<class T>
-C<T, &T::output> call(T& obj)
-{ return C<T, &T::output>();
-}
-
-class Test {
-public:
- void output(int);
-};
-
-void sub()
-{
- Test t;
- call(t);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash38.C b/gcc/testsuite/g++.old-deja/g++.pt/crash38.C
deleted file mode 100644
index 49270644395..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash38.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-struct S {
- typedef typename T::Y<T>::Z X; // ERROR - No Y in A
- X x; // ERROR - No Y in A
-};
-
-struct A {
- struct Y {
- typedef A Z;
- };
-};
-
-template struct S<A>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash39.C b/gcc/testsuite/g++.old-deja/g++.pt/crash39.C
deleted file mode 100644
index 2c4bb5a4115..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash39.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Origin: Ian Nixon <ian@tharas.com>
-
-class Action {
-public:
- virtual void action () = 0;
-};
-
-class Var {
-public:
-
- template<class Base> void Add() {
- struct tmp : public Action {
- void action () {}
- };
- tmp *tp = new tmp;
- }
-
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash4.C b/gcc/testsuite/g++.old-deja/g++.pt/crash4.C
deleted file mode 100644
index 510d4cdd836..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash4.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-template <unsigned rank>
-class Tensor
-{
-};
-
-template <unsigned rank>
-class Tensor<2> : Tensor<rank> { // ERROR - template parameters not used
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash40.C b/gcc/testsuite/g++.old-deja/g++.pt/crash40.C
deleted file mode 100644
index da828d98510..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash40.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Origin: rch@larissa.sd.bi.ruhr-uni-bochum.de
-
-template< class X >
-struct VB: public virtual X
-{};
-
-template< class MOPTerm1, class MOPTerm2 >
-struct MOPTermUnify
-{
- struct MO:
- public VB<MOPTerm1>,
- public VB<MOPTerm2>
- {
- void fix()
- {
- }
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash5.C b/gcc/testsuite/g++.old-deja/g++.pt/crash5.C
deleted file mode 100644
index 5797eee23e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash5.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class T, int i>
-struct K {
- void f();
-}; // ERROR - forward declaration
-
-template <class T>
-void
-K<T, i>::f()
-{ // ERROR - template parameters
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash6.C b/gcc/testsuite/g++.old-deja/g++.pt/crash6.C
deleted file mode 100644
index 09e8df07973..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash6.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-
-template <class T> class List;
-
-template <class T>
-struct ListIterator
-{
- ListIterator ();
- ListIterator (const ListIterator<T>& rhs);
-};
-
-template <class T>
-struct List
-{
- void length () const {
- for (ListIterator<T> li; li; ); // ERROR - used where a `bool'
- }
-};
-
-void test(List<int>& vals)
-{
- vals.length(); // ERROR - instantiated from here
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash7.C b/gcc/testsuite/g++.old-deja/g++.pt/crash7.C
deleted file mode 100644
index 9ee7b2c665d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash7.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-class foo
-{
-};
-
-template <class T : public foo> // ERROR - base clause
-struct bar
-{
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash8.C b/gcc/testsuite/g++.old-deja/g++.pt/crash8.C
deleted file mode 100644
index deff42dba89..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash8.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Build don't link:
-
-template<class T>
-class TestClass1 {
-public:
- TestClass1() { }
-};
-
-template<class T>
-class TestClass2 {
-public:
- TestClass2() { }
- T operator()(int) { }
-};
-
-template<class T>
-void doit(T x) {
- TestClass1<T> q1;
- q1 = TestClass1<T>();
- TestClass2<T> q2;
- q2 = TestClass2<T>();
-
- TestClass1<T> p1;
- p1 = TestClass1(); // ERROR - template used as expression
-
- TestClass2<T> p2;
- p2 = TestClass2(); // ERROR - template used as expression
-}
-
-int main() {
- double x;
- doit(x);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash9.C b/gcc/testsuite/g++.old-deja/g++.pt/crash9.C
deleted file mode 100644
index 297b8accaad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash9.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f(T) {} // ERROR - parameter has incomplete type
-
-class C;
-
-void g(const C& c)
-{
- f(c); // ERROR - invalid use of undefined type
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ctor1.C b/gcc/testsuite/g++.old-deja/g++.pt/ctor1.C
deleted file mode 100644
index 9e36706711a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ctor1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <typename _CharT>
- struct moneypunct
-{
- moneypunct ();
-};
-
-template <>
- moneypunct<char>::moneypunct ();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ctor2.C b/gcc/testsuite/g++.old-deja/g++.pt/ctor2.C
deleted file mode 100644
index c2554a2ce56..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ctor2.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Test for use of template parms in constructor name.
-// Submitted by Jason Merrill <jason@cygnus.com>
-// Build don't link:
-
-template <class T>
-struct A {
- A<T>();
-};
-
-template <class T>
-A<T>::A<T>()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/decl1.C b/gcc/testsuite/g++.old-deja/g++.pt/decl1.C
deleted file mode 100644
index 5814251f95e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/decl1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-struct S {
- template <class T>
- int f(T), g(T); // ERROR - more than one declarator
-};
-
-template <class T>
-void x(T), y(T); // ERROR - more than one declarator
-
-template <class T>
-struct S2
-{
- static int i, j; // OK.
-};
-
-template <class T>
-int S2<T>::i, S2<T>::j; // ERROR - more than one declarator
-
-template <>
-int S2<int>::i, S2<double>::i; // ERROR - more than one declarator
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/decl2.C b/gcc/testsuite/g++.old-deja/g++.pt/decl2.C
deleted file mode 100644
index 3b4825b6cda..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/decl2.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// crash test - XFAIL *-*-*
-
-// Simplified from testcase by Christophe Boyanique <boyan@imac.u-paris2.fr>
-
-template <class T> struct foo { foo(); };
-template<class T> foo<T>::foo() {}
-T; // ERROR - ICE - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/deduct1.C b/gcc/testsuite/g++.old-deja/g++.pt/deduct1.C
deleted file mode 100644
index a87b2a7566e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/deduct1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-template<class CoordinateSystem, class MeshTag>
-struct Mesh { };
-
-struct RectGrid { };
-
-struct RectMesh { };
-
-struct Cartesian { };
-
-template<class CS>
-struct Mesh<CS, RectGrid> { };
-
-template<class CS>
-struct Mesh<CS, RectMesh> : public Mesh<CS, RectGrid> { };
-
-template<class CS>
-void foo(const Mesh<CS, RectGrid> &)
-{
-}
-
-int main()
-{
- Mesh<Cartesian, RectMesh> m;
- foo(m);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg.C
deleted file mode 100644
index 314339d1965..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg.C
+++ /dev/null
@@ -1,10 +0,0 @@
-template <class T>
-void f(T t, int i = 10);
-
-template <class T>
-void f(T t, int i) {}
-
-int main()
-{
- f(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg2.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg2.C
deleted file mode 100644
index 444ecc40b50..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-template <int S=0, class T=int>
-struct X
-{};
-
-template <>
-struct X<0,int>
-{};
-
-template <int S>
-struct X<S,int>
-: X<>
-{};
-
-int main()
-{
- X<1,int> x;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg3.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg3.C
deleted file mode 100644
index 9a7e0460497..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S;
-
-template <class T = int>
-struct S {};
-
-template <class T>
-struct S;
-
-void f()
-{
- S<> s;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg4.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg4.C
deleted file mode 100644
index 9d5df8cf2a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg4.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1
-{
- void foo(T = t());
-
- static T t();
-};
-
-
-template <class T>
-struct S2
-{
- void bar();
-};
-
-
-template <class T>
-void S2<T>::bar ()
-{
- S1<T> st;
- st.foo();
-}
-
-
-int main()
-{
- S2<int> s2i;
- s2i.bar();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg5.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg5.C
deleted file mode 100644
index 6a68bad8251..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg5.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-template <int dim>
-class Point {
- public:
- Point (Point<dim> &);
- Point<dim> & operator = (Point<dim> &);
-};
-
-
-
-template <int dim>
-class bar{
- public:
- void foo (Point<dim> p = Point<dim>());
-};
-
-
-
-template <>
-void bar<2>::foo (Point<2> p) {
- const int dim = 2;
- Point<dim> q = p;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg6.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg6.C
deleted file mode 100644
index 0094c5ca7e0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg6.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct C {
- template <class U>
- void f(U); // OK
-
- template <class V = int>
- struct I {}; // OK
-
- template <class W = int>
- void h(W); // ERROR - default argument
-
- template <class Y>
- void k(Y);
-};
-
-template <class T>
-template <class U = double>
-void C<T>::f(U) {} // ERROR - default argument
-
-template <class X = void*>
-void g(X); // ERROR - default argument
-
-template <class T = double>
-template <class Y>
-void C<T>::k(Y) {} // ERROR - default argument
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg7.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg7.C
deleted file mode 100644
index 0db043fb633..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg7.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-template <int Dim, class T, class EngineTag>
-class Engine {};
-
-struct Brick;
-
-template<int Dim, class T = double , class EngineTag = Brick >
-struct ConstArray {
- static const int dimensions = Engine<Dim, T, EngineTag>::dimensions;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/defarg8.C b/gcc/testsuite/g++.old-deja/g++.pt/defarg8.C
deleted file mode 100644
index 6bb1125259c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/defarg8.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-// Default arguments containing more than one non-nested explicit
-// template argument leads to parse error
-
-template <class T> class foo1;
-template <class T, class U> class foo2;
-
-struct bar {
- template <class T, class U>
- bar(int i = foo1<T>::baz, // ok
- int j = int(foo2<T, U>::baz), // ok
- int k = foo2<T, U>::baz) {} // gets bogus error - before > - XFAIL *-*-*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/derived1.C b/gcc/testsuite/g++.old-deja/g++.pt/derived1.C
deleted file mode 100644
index e2275f4328d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/derived1.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-class A
-{
-public:
- typedef int Info;
-};
-
-template <class T>
-class B : public A
-{
-public:
- typedef struct{
- int a;
- int b;
- } Info;
-};
-
-void f()
-{
- B<A>::Info ie;
- ie.a=1;
- ie.b=2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/derived2.C b/gcc/testsuite/g++.old-deja/g++.pt/derived2.C
deleted file mode 100644
index 737792cab9f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/derived2.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <typename T>
-void f(T);
-template <>
-void f(int) {}
-
-struct B {
- typedef int I;
-};
-
-template <typename T>
-struct D1 : virtual public B {
- typedef T I;
-};
-
-
-template <typename T>
-struct D : virtual public B, public D1<T>
-{
- void g()
- {
- I i;
- f(i);
- }
-};
-
-int
-main()
-{
- D<double> d;
- d.g();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/eichin01.C b/gcc/testsuite/g++.old-deja/g++.pt/eichin01.C
deleted file mode 100644
index 154587b0ac9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/eichin01.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't run:
-
-/*
-
-
-*/
-
-
-template <class X> class TC {
-public:
- X aaa;
- static X sss;
- TC(X a) { aaa = a; }
- TC(X a, X s) { aaa = a; sss = s; }
- void sz(X s) { sss = s; }
-};
-
-float TC<float>::sss;
-long TC<long>::sss;
-
-TC<long> xjj(1,2);
-
-int main(int,char*) {
- TC<float> xff(9.9,3.14);
- xjj.sz(123);
- xff.sz(2.71828);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C b/gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C
deleted file mode 100644
index 1a37eebfc23..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C
+++ /dev/null
@@ -1,21 +0,0 @@
-template <class X> class TC {
-public:
- X aaa;
- static X sss;
- TC(X a) {aaa = a; }
- TC(X a, X s) {aaa = a; sss = s; }
- void sz(X s) { sss = s; }
-};
-
-
-long TC<long>::sss;
-float TC<float>::sss;
-
-TC<long> xjj(1,2);
-
-int main(int,char*) {
- TC<float> xff(9.9,3.14);
- xjj.sz(123);
- xff.sz(2.71828);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C b/gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C
deleted file mode 100644
index 51bb4474c8f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C
+++ /dev/null
@@ -1,21 +0,0 @@
-template <class X> class TC {
-public:
- X aaa;
- static X sss;
- TC(X a) {aaa = a; }
- TC(X a, X s) {aaa = a; sss = s; }
- void sz(X s) { sss = s; }
- void syy(X syarg) { sss = syarg; }
-};
-
-long TC<long>::sss;
-float TC<float>::sss;
-
-TC<long> xjj(1,2);
-
-int main(int,char*) {
- TC<float> xff(9.9,3.14);
- xjj.sz(123);
- xff.sz(2.71828);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum.C b/gcc/testsuite/g++.old-deja/g++.pt/enum.C
deleted file mode 100644
index 4fe84a4a8a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// GROUPS passed enums
-template<class T>
-struct templ
-{
- enum { val = 0 };
-};
-struct Foo
-{
- enum {
- bar = 0,
- len = templ<int>::val
- };
-};
-void func()
-{
- int s = Foo::bar; // Ensure that expansion of templ did not erase bar
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum10.C b/gcc/testsuite/g++.old-deja/g++.pt/enum10.C
deleted file mode 100644
index 713c11c33d5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum10.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S {
- enum E { a = (int) T::b };
-};
-
-struct S2 {
- enum E2 { b };
-};
-
-template class S<S2>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum11.C b/gcc/testsuite/g++.old-deja/g++.pt/enum11.C
deleted file mode 100644
index 77631c41c6f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum11.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T> void f1()
-{
- struct foo { enum T2 {
- un, du, toi };
- };
-}
-
-void f2() { f1<int>(); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum12.C b/gcc/testsuite/g++.old-deja/g++.pt/enum12.C
deleted file mode 100644
index b1c2b169d57..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum12.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <int I>
-struct S1 { };
-
-template <class T>
-struct S2 {
- enum { x = 3 };
-
- void f(S1<x>&);
-};
-
-template <class T>
-void S2<T>::f(S1<x>&)
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum2.C b/gcc/testsuite/g++.old-deja/g++.pt/enum2.C
deleted file mode 100644
index 5a2d7f32007..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-struct U {
- static int STATIC;
-};
-
-template <int* x> class FOO {
-public:
- enum { n = 0 };
-};
-
-template <class A> class BAR {
-public:
- enum { n = FOO<&A::STATIC>::n };
-};
-
-int n = BAR<U>::n;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum3.C b/gcc/testsuite/g++.old-deja/g++.pt/enum3.C
deleted file mode 100644
index d39da3a2b91..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-struct S { enum en { s0, s1, s2 }; };
-
-template<typename S::en e>
-int val( )
-{
- return e;
-}
-
-
-int main()
-{
- return val<S::s0>( );
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum4.C b/gcc/testsuite/g++.old-deja/g++.pt/enum4.C
deleted file mode 100644
index 28f4b2949df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum4.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct U
-{
- T mT;
-};
-
-template <class H>
-struct M
-{
- enum FLAG {On, Off};
- U<FLAG> mUF;
-};
-
-M<char> gm;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum5.C b/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
deleted file mode 100644
index f6feefb5608..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum5.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-
-template <>
-enum E {e}; // ERROR - template declaration of enum
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum6.C b/gcc/testsuite/g++.old-deja/g++.pt/enum6.C
deleted file mode 100644
index acfd681ec92..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum6.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct vector {};
-
-template<class T>
-void fn(T)
-{
- enum tern { H, L, X, U };
-
- vector<tern> ternvec; // ERROR - composed from a local type
-}
-
-template void fn(int);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum7.C b/gcc/testsuite/g++.old-deja/g++.pt/enum7.C
deleted file mode 100644
index 47dcbfa6761..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum7.C
+++ /dev/null
@@ -1,27 +0,0 @@
-template <int I>
-int f()
-{
- enum E { a = I };
-
- struct S {
- int g() {
- E e;
- e = a;
- return (int) e;
- };
- };
-
- S s;
-
- return s.g();
-}
-
-
-int main()
-{
- if (f<7>() != 7)
- return 1;
- if (f<-3>() != -3)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum8.C b/gcc/testsuite/g++.old-deja/g++.pt/enum8.C
deleted file mode 100644
index e5cc58a4a2d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum8.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template <int I>
-void f();
-
-template <>
-void f<4>() {}
-
-template <class T>
-struct S
-{
- enum E { a = 1, b = a + 3 };
-};
-
-int main()
-{
- f<S<int>::b>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum9.C b/gcc/testsuite/g++.old-deja/g++.pt/enum9.C
deleted file mode 100644
index 5ab8e8b58bc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum9.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-template <typename _CharT>
-class _Format_cache
-{
-public:
- enum {
- _S_digits, _S_digits_end = _S_digits+10,
- _S_xdigits = _S_digits_end
- };
-};
-
-template class _Format_cache<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit1.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit1.C
deleted file mode 100644
index d218474ec8b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit1.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t) {}
-
-void bar()
-{
- (void (*)(double)) &foo<double>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit10.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit10.C
deleted file mode 100644
index d90b8d05197..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit10.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t);
-
-int main()
-{
- foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit11.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit11.C
deleted file mode 100644
index fb7834f1a20..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit11.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t);
-
-template <class T>
-struct S {};
-
-int main()
-{
- S<int> si;
-
- foo<S<int> >(si);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit12.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit12.C
deleted file mode 100644
index 0defb196116..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit12.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class U>
-struct S
-{
- template <class T>
- void foo(T t);
-};
-
-
-template <>
-template <>
-void S<char*>::foo<int>(int) {}
-
-int main()
-{
- S<char*> s;
- s.template foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit13.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit13.C
deleted file mode 100644
index fbb79013038..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit13.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-
-template <class U>
-struct S
-{
- template <class T>
- void foo(T t);
-
- template <class T>
- void bar(T t) { this->template foo<U>(3.74); }
-};
-
-template <>
-template <>
-void S<int>::foo(int) { }
-
-int main()
-{
- S<int> s;
- s.bar(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit14.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit14.C
deleted file mode 100644
index aa9d03fca75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit14.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-struct S
-{
- template <class U>
- typename U::R foo(U u);
-};
-
-
-void bar()
-{
- S<int> si;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit15.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit15.C
deleted file mode 100644
index 290da42192d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit15.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<int N_rank>
-class Array;
-
-
-template<class T>
-class ArraySectionInfo {
-public:
- enum { rank = 0 };
-};
-
-
-template<class T1>
-class SliceInfo {
-public:
- enum {
- rank = ArraySectionInfo<T1>::rank
- };
-
- typedef Array<rank> T_slice;
-};
-
-template<class T2>
-typename SliceInfo<T2>::T_slice
-foo(T2 r2)
-{
- return SliceInfo<T2>::T_slice();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit16.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit16.C
deleted file mode 100644
index c7a87339ca1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit16.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template<int N_rank>
-class Array;
-
-
-template<class T>
-class ArraySectionInfo {
-public:
- enum { rank = 0 };
-};
-
-
-template<class T1>
-class SliceInfo {
-public:
- static const int rank = ArraySectionInfo<T1>::rank;
-
- typedef Array<rank> T_slice;
-};
-
-template<class T2>
-typename SliceInfo<T2>::T_slice
-foo(T2 r2)
-{
- return SliceInfo<T2>::T_slice();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit17.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit17.C
deleted file mode 100644
index 8e8688df321..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit17.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T, class U>
-void foo(U u, T t);
-
-template <class T>
-void foo(T t);
-
-template <class T>
-struct S {};
-
-template <class T>
-void foo(const S<T>&);
-
-void bar()
-{
- void (*fn)(double, int) =
- (void (*)(double, int)) &foo<int>;
- void (*fn2)(double) = foo<double>;
- foo<int>(3, 3.0);
- foo<int>(S<int>());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit18.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit18.C
deleted file mode 100644
index 20c4b75d11e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit18.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-int foo(T t) { return 0; }
-
-int foo(int i);
-
-int main()
-{
- return foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit19.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit19.C
deleted file mode 100644
index b209bbe8672..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit19.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-int foo(T t);
-
-template <>
-int foo<int>(int i) { return 0; }
-
-int main()
-{
- return foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit2.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit2.C
deleted file mode 100644
index 73880315b64..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t) {}
-
-void bar()
-{
- (void (*)(int)) (void (*)(double)) &foo<double>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit20.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit20.C
deleted file mode 100644
index 918ff3a44f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit20.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-T foo(T t);
-
-template <>
-int foo<char>(char c); // ERROR - does not match any template declaration
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit21.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit21.C
deleted file mode 100644
index a99a49bae4b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit21.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-T foo(T* t);
-
-template <>
-int foo<char>(char c); // ERROR - does not match declaration.
-
-template <>
-int bar<char>(); // ERROR - no template bar.
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit22.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit22.C
deleted file mode 100644
index 0f06c53f8fc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit22.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T, class U>
-T foo(T t, U* u);
-
-template <class T>
-T foo(T t, T* u);
-
-template <>
-int foo<int>(int, int*);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit23.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit23.C
deleted file mode 100644
index cdffb15bc66..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit23.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-int foo(T t) { return 1; }
-
-template <>
-int foo<int>(int i) { return 0; }
-
-int main()
-{
- return foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit24.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit24.C
deleted file mode 100644
index 42f4c3cb1a2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit24.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-int foo(T t);
-
-int foo<int>(int i) { return 0; } // ERROR - missing template <>
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit25.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit25.C
deleted file mode 100644
index 022521695f8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit25.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <int I>
-class S {};
-
-template <int I, class T>
-void foo(T t, S<I>);
-
-void bar()
-{
- S<3> s3;
- foo<3>("abc", s3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit26.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit26.C
deleted file mode 100644
index 7d1616255b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit26.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-int foo(T t) { return 1; }
-
-template <>
-int foo(int i) { return 0; }
-
-int main()
-{
- (int (*)(int)) &foo<int>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit27.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit27.C
deleted file mode 100644
index a8d82211fc2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit27.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-void foo(T t);
-
-template <>
-void foo(int i) {}
-
-int main()
-{
- (void (*)(int)) &foo<int>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit28.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit28.C
deleted file mode 100644
index 0133f16c5af..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit28.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-int foo(T t) { return 1; }
-
-template <>
-int foo(int i) { return 0; }
-
-int main()
-{
- return (*((int (*)(int)) &foo<int>))(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit29.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit29.C
deleted file mode 100644
index a247779f8b3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit29.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-int foo(T) { return 0; }
-
-int foo(int);
-
-int main()
-{
- return foo<int>(3);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit3.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit3.C
deleted file mode 100644
index 2a5309fb4ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit3.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T, class U>
-void foo(T t, U u) {}
-
-void bar()
-{
- (void (*)(double, int)) &foo<double>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit30.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit30.C
deleted file mode 100644
index 468dd7914b6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit30.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T, T*);
-
-
-void bar()
-{
- double d;
- (*((void (*)(int, double*)) (void (*)(int, int*)) &foo<int>))(3, &d);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit31.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit31.C
deleted file mode 100644
index 61190f7f5f1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit31.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-struct S
-{
- template <class U>
- static double foo(U u) { return (double) u; }
-};
-
-
-int main()
-{
- double d = S<int>::template foo<char>(3.3);
-
- return (d >= 3.1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit32.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit32.C
deleted file mode 100644
index 5942fe744b6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit32.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-struct S
-{
-};
-
-
-template <>
-struct S<int>
-{
- void foo();
-};
-
-
-void S<int>::foo()
-{
-}
-
-
-void bar()
-{
- S<int> si;
- si.foo();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit33.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit33.C
deleted file mode 100644
index 048a3565be8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit33.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t);
-
-template <>
-void foo(int) {};
-
-void foo(int) {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit34.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit34.C
deleted file mode 100644
index 0aede3824bd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit34.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t);
-
-template <>
-void foo(int) {}; // ERROR - previously defined here.
-
-template <>
-void foo<int>(int) {} // ERROR - duplicate specialization.
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit35.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit35.C
deleted file mode 100644
index c9282632aa1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit35.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-struct S
-{
- template <class T>
- void foo(T t);
-};
-
-template <>
-void S::foo<int>(int i) { }
-
-int main()
-{
- S s;
- s.template foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit36.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit36.C
deleted file mode 100644
index 6f9e7c6b468..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit36.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-void foo(T);
-
-class S {
- friend void foo<>(int);
-
- int i;
-};
-
-
-template <>
-void foo(int)
-{
- S s;
- s.i = 3;
-}
-
-
-int main()
-{
- foo(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit37.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit37.C
deleted file mode 100644
index 4d911a43f2a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit37.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-class ostream {};
-
-template <class T>
-class S;
-
-template <class T>
-void operator<<(ostream&, S<T>) {}
-
-template <class T>
-class S
-{
- friend void operator<<<>(ostream&, const S<T>);
-};
-
-
-int main()
-{
- ostream o;
-
- o << S<int>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit38.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit38.C
deleted file mode 100644
index 27121b667b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit38.C
+++ /dev/null
@@ -1,7 +0,0 @@
-template <int I>
-void f(int j);
-
-void g()
-{
- f<7, 12>(3); // ERROR - no matching function.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit39.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit39.C
deleted file mode 100644
index 906ef30aab1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit39.C
+++ /dev/null
@@ -1,7 +0,0 @@
-template <class T>
-void f(int i);
-
-void g()
-{
- f<7>(3); // ERROR - no matching function.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit4.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit4.C
deleted file mode 100644
index 911e7b3a20a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit4.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t);
-
-template <class T>
-struct S {};
-
-template <class T>
-void bar(T t)
-{
- void (*f)(S<T> ) = &foo<S<T> >;
-}
-
-
-void baz()
-{
- bar(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit40.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit40.C
deleted file mode 100644
index d237924902e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit40.C
+++ /dev/null
@@ -1,27 +0,0 @@
-extern "C" void abort();
-
-template <void* P>
-void f(int j);
-
-template <unsigned int I>
-void f(int j);
-
-
-template <void* P>
-void f(int j)
-{
- abort();
-}
-
-
-template <unsigned int I>
-void f(int j)
-{
-}
-
-
-int main()
-{
- f<3>(7);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit41.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit41.C
deleted file mode 100644
index b5ca475462a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit41.C
+++ /dev/null
@@ -1,8 +0,0 @@
-template <int I>
-void f(int i);
-
-void g()
-{
- int i;
- f<i>(7); // ERROR - template argument 1 is invalid.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit42.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit42.C
deleted file mode 100644
index c19ffd02563..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit42.C
+++ /dev/null
@@ -1,17 +0,0 @@
-extern "C" void abort(void);
-
-template <int I>
-void f(int i)
-{
-}
-
-template <void*>
-void f(int i)
-{
- abort();
-}
-
-int main()
-{
- f<0>(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit43.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit43.C
deleted file mode 100644
index 6396f09dde6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit43.C
+++ /dev/null
@@ -1,23 +0,0 @@
-extern "C" void abort(void);
-
-void F(int)
-{
-}
-
-
-void F(double)
-{
- abort();
-}
-
-template <void (*F)(int)>
-void g()
-{
- (*F)(3);
-}
-
-
-int main()
-{
- g<&F>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit5.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit5.C
deleted file mode 100644
index 2c2b7637421..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit5.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T>
-void foo(T t) {}
-
-template <class T>
-struct S {};
-
-template <class T>
-void bar(T t)
-{
- void (*f)(S<T> ) = &foo<S<T> >;
-}
-
-
-void baz()
-{
- bar(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit50.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit50.C
deleted file mode 100644
index 8c424cc744c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit50.C
+++ /dev/null
@@ -1,15 +0,0 @@
-extern "C" void abort ();
-
-template <class T> int f ()
-{
- return sizeof(T);
-}
-
-int main ()
-{
- if (f<long> () != sizeof(long)
- || f<char> () != sizeof(char)
- || f<long> () != sizeof(long)
- || f<long int> () != sizeof(long int))
- abort ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit51.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit51.C
deleted file mode 100644
index e4a0a64c46e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit51.C
+++ /dev/null
@@ -1,18 +0,0 @@
-extern "C" void abort ();
-
-template <int a> int fact ()
-{
- return 0;
-}
-
-template <> int fact<1> ()
-{
- return 1;
-}
-
-int main()
-{
- if (fact<3> () != 0 || fact<1> () != 1
- || fact<3> () != 0 || fact<1> () != 1 || fact<1+0> () != 1)
- abort ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit52.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit52.C
deleted file mode 100644
index 368573e5b85..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit52.C
+++ /dev/null
@@ -1,18 +0,0 @@
-extern "C" void abort ();
-
-template <int a> inline int fact ()
-{
- return a * fact<a-1> ();
-}
-
-template <> inline int fact<1> ()
-{
- return 1;
-}
-
-int main()
-{
- if (fact<3> () != 6 || fact<1> () != 1
- || fact<3> () != 6 || fact<1> () != 1 || fact<1+0> () != 1)
- abort ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit53.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit53.C
deleted file mode 100644
index e66cca99d5c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit53.C
+++ /dev/null
@@ -1,21 +0,0 @@
-extern "C" void abort ();
-
-template <int a> inline int fact ();
-template <> inline int fact<1> ();
-
-template <int a> inline int fact ()
-{
- return a * fact<a-1> ();
-}
-
-template <> inline int fact<1> ()
-{
- return 1;
-}
-
-int main()
-{
- if (fact<3> () != 6 || fact<1> () != 1
- || fact<3> () != 6 || fact<1> () != 1 || fact<1+0> () != 1)
- abort ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit54.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit54.C
deleted file mode 100644
index 9d185be24ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit54.C
+++ /dev/null
@@ -1,35 +0,0 @@
-extern "C" void abort ();
-
-template <int a> inline int fact2 ();
-
-template <int a> inline int fact ()
-{
- return a * fact2<a-1> ();
-}
-
-template <> inline int fact<1> ()
-{
- return 1;
-}
-
-template <int a> inline int fact2 ()
-{
- return a*fact<a-1>();
-}
-
-template <> inline int fact2<1> ()
-{
- return 1;
-}
-
-int main()
-{
- if (fact<3> () != 6 || fact<1> () != 1
- || fact<3> () != 6 || fact<1> () != 1 || fact<1+0> () != 1)
- abort ();
- if (fact2<3> () != 6 || fact2<1> () != 1
- || fact2<3> () != 6 || fact2<1> () != 1 || fact2<1+0> () != 1)
- abort ();
- if (fact2<4> () != 24 || fact<4> () != 24)
- abort ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit55.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit55.C
deleted file mode 100644
index c9d312520a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit55.C
+++ /dev/null
@@ -1,14 +0,0 @@
-template <class T> T* create ()
-{
- return new T;
-}
-
-template <class T> T* create2()
-{
- return create<T>();
-}
-
-int main()
-{
- int *p = create2<int>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit56.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit56.C
deleted file mode 100644
index d202160be16..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit56.C
+++ /dev/null
@@ -1,16 +0,0 @@
-template <class T> T* create ();
-
-template <class T> T* create2()
-{
- return create<T>();
-}
-
-template <class T> T* create ()
-{
- return new T;
-}
-
-int main()
-{
- int *p = create2<int>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit57.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit57.C
deleted file mode 100644
index d1f0ea870dc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit57.C
+++ /dev/null
@@ -1,42 +0,0 @@
-extern "C" void abort ();
-
-int a = 0;
-
-template <class T> void f ();
-template <class T> void g ()
-{
- if (a)
- abort ();
-}
-
-template <> void g<char> ()
-{
-}
-
-template <class T> class C
-{
- public:
- void ff () { f<T> (); }
- void gg () { g<T> (); }
-};
-
-template <class T> void f ()
-{
- if (a)
- abort ();
-}
-
-template <> void f<char> ()
-{
-}
-
-int main ()
-{
- C<int> c;
- c.ff();
- c.gg();
- a = 1;
- C<char> d;
- d.ff();
- d.gg();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit58.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit58.C
deleted file mode 100644
index 7193d2d84bd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit58.C
+++ /dev/null
@@ -1,41 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ();
-template <class T> void g ()
-{
- abort ();
-}
-
-template <> void g<char> ()
-{
- abort ();
-}
-
-template <class T> class C
-{
- public:
- template <class U> void f () {}
- template <class U> void g () {}
- void ff () { f<T> (); }
- void gg () { g<T> (); }
-};
-
-template <class T> void f ()
-{
- abort ();
-}
-
-template <> void f<char> ()
-{
- abort ();
-}
-
-int main ()
-{
- C<int> c;
- c.ff();
- c.gg();
- C<char> d;
- d.ff();
- d.gg();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit59.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit59.C
deleted file mode 100644
index 847a80acca6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit59.C
+++ /dev/null
@@ -1,41 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ();
-template <class T> void g ()
-{
- abort ();
-}
-
-template <> void g<char> ()
-{
- abort ();
-}
-
-template <class T> class C
-{
- public:
- void ff () { f<T> (); }
- void gg () { g<T> (); }
- template <class U> void f () {}
- template <class U> void g () {}
-};
-
-template <class T> void f ()
-{
- abort ();
-}
-
-template <> void f<char> ()
-{
- abort ();
-}
-
-int main ()
-{
- C<int> c;
- c.ff();
- c.gg();
- C<char> d;
- d.ff();
- d.gg();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit6.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit6.C
deleted file mode 100644
index 1ee7751b555..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit6.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't run:
-// GROUPS passed templates
-template <class T>
-int foo(T t);
-
-template <>
-int foo(int i) { return 0; }
-
-int main()
-{
- return foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit60.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit60.C
deleted file mode 100644
index 5fda3335585..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit60.C
+++ /dev/null
@@ -1,43 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ();
-template <class T> void g ()
-{
- abort ();
-}
-
-template <> void g<char> ()
-{
- abort ();
-}
-
-template <class T> class C
-{
- public:
- void ff () { f<T> (); }
- void gg () { g<T> (); }
- template <class U> void f () {}
- template <class U> void g () {}
- template <class U> void f (int) { abort(); }
- template <class U> void g (int) { abort(); }
-};
-
-template <class T> void f ()
-{
- abort ();
-}
-
-template <> void f<char> ()
-{
- abort ();
-}
-
-int main ()
-{
- C<int> c;
- c.ff();
- c.gg();
- C<char> d;
- d.ff();
- d.gg();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit61.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit61.C
deleted file mode 100644
index 69b78914742..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit61.C
+++ /dev/null
@@ -1,43 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ();
-template <class T> void g ()
-{
- abort ();
-}
-
-template <> void g<char> ()
-{
- abort ();
-}
-
-template <class T> class C
-{
- public:
- void ff () { f<T> (0); }
- void gg () { g<T> (1); }
- template <class U> void f () { abort(); }
- template <class U> void g () { abort(); }
- template <class U> void f (int) {}
- template <class U> void g (int) {}
-};
-
-template <class T> void f ()
-{
- abort ();
-}
-
-template <> void f<char> ()
-{
- abort ();
-}
-
-int main ()
-{
- C<int> c;
- c.ff();
- c.gg();
- C<char> d;
- d.ff();
- d.gg();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit62.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit62.C
deleted file mode 100644
index 5917ce01cf3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit62.C
+++ /dev/null
@@ -1,19 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ()
-{
-}
-
-
-template <class T> class C
-{
- friend void f<char> ();
- public:
- void ff () { f<char> (); }
-};
-
-int main ()
-{
- C<int> c;
- c.ff();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit63.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit63.C
deleted file mode 100644
index ce4d99af1e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit63.C
+++ /dev/null
@@ -1,19 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ()
-{
-}
-
-
-template <class T> class C
-{
- friend void f<T> ();
- public:
- void ff () { f<T> (); }
-};
-
-int main ()
-{
- C<int> c;
- c.ff();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit64.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit64.C
deleted file mode 100644
index 2208b30eae7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit64.C
+++ /dev/null
@@ -1,23 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ()
-{
- abort ();
-}
-
-template <> void f<char> ()
-{
-}
-
-template <class T> class C
-{
- friend void f<char> ();
- public:
- void ff () { f<char> (); }
-};
-
-int main ()
-{
- C<int> c;
- c.ff();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit65.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit65.C
deleted file mode 100644
index a026e8ee3f3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit65.C
+++ /dev/null
@@ -1,33 +0,0 @@
-extern "C" void abort ();
-
-template <class T> void f ()
-{
- abort ();
-}
-
-template <> void f<char> ()
-{
- abort ();
-}
-
-template <class T> void f (int)
-{
- abort ();
-}
-
-template <> void f<char> (int)
-{
-}
-
-template <class T> class C
-{
- friend void f<char> (int);
- public:
- void ff () { f<char> (0); }
-};
-
-int main ()
-{
- C<int> c;
- c.ff();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit66.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit66.C
deleted file mode 100644
index d4a3c627a97..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit66.C
+++ /dev/null
@@ -1,11 +0,0 @@
-void f(int) {}
-void f(double);
-
-template <void (*fn)(int)>
-void foo() {}
-
-int main()
-{
- foo<f>();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit67.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit67.C
deleted file mode 100644
index c8705f42564..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit67.C
+++ /dev/null
@@ -1,20 +0,0 @@
-struct S
-{
- void f(int);
- void f(double);
-};
-
-void g(int);
-void g(double);
-
-template <int* IP>
-void foo();
-template <long l>
-void foo();
-
-void bar()
-{
- foo<S::f>(); // ERROR - no matching function
- foo<g>(); // ERROR - no matching function
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit68.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit68.C
deleted file mode 100644
index bc47c6c8f11..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit68.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-template <bool B>
-struct S
-{
- static void g();
-};
-
-template <bool B>
-void g();
-
-template<unsigned Length>
-void f()
-{
- const bool b = true;
- g<b>();
- const bool b1 = (Length == 2);
- S<b1>::g();
-}
-
-void h()
-{
- f<3>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit69.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit69.C
deleted file mode 100644
index 671cf005de5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit69.C
+++ /dev/null
@@ -1,2 +0,0 @@
-//Build don't link:
-template class x {}; // ERROR - not a template instantiation
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C
deleted file mode 100644
index ade83fdc443..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f(T) {}
-
-template <class T>
-struct S {
- static T t;
-};
-
-template <class T>
-T S<T>::t;
-
-template void f(int);
-template void f(int); // ERROR - duplicate explicit instantiation
-template int S<int>::t;
-template int S<int>::t; // ERROR - duplicate explicit instantiation
-template class S<double>;
-template class S<double>; // ERROR - duplicate explicit instantiation
-
-extern template void f(double); // WARNING - extern not allowed
-inline template class S<float>; // WARNING - inline not allowed
-
-template <class T>
-struct S<T*> {};
-
-template class S<void*>; // OK - explicit instantiation of partial
- // specialization
-
-template <>
-struct S<long double> {}; // ERROR - explicit specialization
-
-template class S<long double>; // ERROR - explicit instantiation after
-
-template <>
-void f(long double) {} // ERROR - explicit specialization
-
-template void f(long double); // ERROR - explicit instantiation after
-
-template <class T>
-void g(T);
-
-template void g(int); // ERROR - no definition of g.
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit71.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit71.C
deleted file mode 100644
index c84eebcc428..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit71.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// by Alexandre Oliva <oliva@dcc.unicamp.br>
-// Based on a testcase by Reid M. Pinchback <reidmp@MIT.EDU>
-// According to the C++ Standard [temp.expl.spec]/17-18, explicit
-// specializations are only valid if all enclosing template classes
-// of the specialized template are fully specialized too
-
-template <class X>
-class bug {
- template <class Y>
- class a {};
-};
-template <class X>
-template <> // ERROR - invalid specialization
-class bug<X>::a<char> {}; // ERROR - ""
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit72.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit72.C
deleted file mode 100644
index bc9edfb4de7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit72.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Contributed by Reid M. Pinchback <reidmp@MIT.EDU>
-// Adapted by Alexandre Oliva <oliva@dcc.unicamp.br>
-// plain char, signed char and unsigned char are distinct types
-
-template <class X, class Y> class bug {};
-template <class X> class bug<X,char> { typedef char t; };
-template <class X> class bug<X,unsigned char> { typedef unsigned char t; };
-template <class X> class bug<X,signed char> { typedef signed char t; };
-template <class X> class bug<char,X> { typedef char t; };
-template <class X> class bug<unsigned char,X> { typedef unsigned char t; };
-template <class X> class bug<signed char,X> { typedef signed char t; };
-
-void foo() {
- bug<int,char>::t();
- bug<int,signed char>::t();
- bug<int,unsigned char>::t();
- bug<char,int>::t();
- bug<signed char,int>::t();
- bug<unsigned char,int>::t();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit73.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit73.C
deleted file mode 100644
index 1dd0f69ab22..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit73.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-// by Alexandre Oliva <oliva@dcc.unicamp.br>
-
-// According to [temp.expl.spec]/2, a template explicit specialization
-// must be declared in the namespace that contains the declaration of
-// the template
-
-namespace N {
- template <class T> class foo; // ERROR - referenced below
-}
-
-using namespace N;
-
-template <> class foo<void>; // ERROR - invalid specialization
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit74.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit74.C
deleted file mode 100644
index c49d16919a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit74.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Reduced from a testcase by Yotam Medini <yotam@avanticorp.com>
-
-// egcs 1.1 seems to generate code that deletes a NULL pointer.
-
-template <class bar> struct foo { void fuz(); ~foo(); };
-struct baz { int i; foo<baz> j; } *p = 0;
-template <class bar> void foo<bar>::fuz() { delete p; }
-template <class bar> foo<bar>::~foo() { delete p; }
-template class foo<baz>;
-int main() { foo<baz>(); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit75.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit75.C
deleted file mode 100644
index 433f0b193e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit75.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Test for not complaining about mismatches during unification.
-// Build don't link:
-
-template <void (*F)(int)> void f();
-template <void (*F)(double)> void f();
-extern void g(double);
-
-void h ()
-{
- f<g>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit76.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit76.C
deleted file mode 100644
index 18c161c6e27..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit76.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-// Based on bug report by Simon A. Crase <s.crase@ieee.org>
-
-// crash test - XFAIL *-*-*
-
-struct foo {
- template <class T> void bar();
-};
-
-template void foo::bar<void>(); // gets bogus error - ICE - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit77.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit77.C
deleted file mode 100644
index 5a07f8e0168..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit77.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template <int I, int J, int K>
-struct S {};
-
-template <int I, int J>
-struct S<I, J, 2> : public S<I, I, I>, S<J, J, J> {};
-
-template <int I, int J, int K>
-void f(S<I, J, K>, S<I, I, I>);
-
-void g() {
- S<0, 0, 0> s0;
- S<0, 1, 2> s2;
-
- f<0>(s0, s2);
- f(s0, s2); // ERROR - no matching function
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit78.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit78.C
deleted file mode 100644
index 2375816af87..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit78.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-
-template <int I>
-struct A {
-};
-
-template <int I, int J>
-struct B {
- operator A<3> ();
- operator B<3, 7> ();
-};
-
-
-template <int I, int J>
-void f(B<I, J>);
-
-template <int I>
-void f(A<I>)
-{
-}
-
-int main()
-{
- // Deduction fails with the first `f'. Since `3' is explicitly
- // specified, we don't try any deduction with the second `f'. So,
- // we call the second `f'.
- f<3>(B<2, 7>());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit79.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit79.C
deleted file mode 100644
index 16429ba6213..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit79.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <int I>
-void f(int (*)[I] = 0);
-
-template <int J>
-void f();
-
-void g()
-{
- f<-1>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit8.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit8.C
deleted file mode 100644
index 777c5d4afc2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit8.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-template <class T, class U>
-void foo(T t, U u);
-
-template <class U>
-void foo(double, U) {}
-
-void baz()
-{
- foo<char*>(3.0, "abc");
- foo<char*, double>("abc", 3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit9.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit9.C
deleted file mode 100644
index 908374b720a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit9.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// GROUPS passed templates
-void foo(int);
-
-void bar()
-{
- foo<int>(3); // ERROR - foo is not a template.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr1.C b/gcc/testsuite/g++.old-deja/g++.pt/expr1.C
deleted file mode 100644
index cdb868770bc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/expr1.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template <int n> class vec {
- double x[n];
-
- public:
- vec() {
- for (int i=0; i<n-1; ++i) x[i]=0;
- }
-
- vec(const vec<n>& v) {
- for (int i=0; i<n; ++i) x[i]=v(i);
- }
-
- vec(const vec<n-1>& v, const double& y) {
- for (int i=0; i<n-1; ++i) x[i]=v(i);
- x[n-1]=y;
- }
-
- inline double operator()(const int i) const {
- return x[i];
- }
-};
-
-
-template <int n> vec<n + 1>& operator,(const vec<n>& v, const double& y) {
- return *(new vec<n + 1>(v, y));
-}
-
-
-int main() {
- vec<4> v;
- vec<5> w;
- w=(v,3.);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr2.C b/gcc/testsuite/g++.old-deja/g++.pt/expr2.C
deleted file mode 100644
index d6e5593b242..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/expr2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <int I>
-struct S {};
-
-template <int J>
-void foo(S<J + 2>);
-
-void bar()
-{
- foo(S<3>()); // ERROR - no way to deduce J from this.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr3.C b/gcc/testsuite/g++.old-deja/g++.pt/expr3.C
deleted file mode 100644
index 4d77370e186..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/expr3.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-template <int I>
-struct S {};
-
-template <int J>
-void foo(S<J - 1>);
-
-template <class T>
-void baz(S<sizeof(T)>);
-
-template <int J>
-void fun(S<J>, S<J * 2>);
-
-void bar()
-{
- foo<5>(S<4>()); // OK - 4 is 5 - 1.
- baz<int>(S<sizeof(int)>()); // OK
- fun(S<4>(), S<8>()); // OK - deduce J from first argument.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr4.C b/gcc/testsuite/g++.old-deja/g++.pt/expr4.C
deleted file mode 100644
index 13298febe4d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/expr4.C
+++ /dev/null
@@ -1,373 +0,0 @@
-template<class View, class W>
-class TinyContainer {
-public:
-
- typedef W T_Wrapped;
-
- TinyContainer() { }
- TinyContainer(View data) : m_data(data) { }
-
- T_Wrapped &unwrap()
- {
- return *static_cast<T_Wrapped *>(this);
- }
- const T_Wrapped &unwrap() const
- {
- return *static_cast<const T_Wrapped *>(this);
- }
-
-protected:
-
- mutable View m_data;
-};
-
-template<class Op, class Left, class Right>
-class TinyBinaryExpr :
- public TinyContainer< Op, TinyBinaryExpr<Op, Left, Right> > {
-public:
-
- typedef typename Left::T_Return T_Return;
- typedef TinyBinaryExpr<Op, Left, Right> T_Expr;
-
- T_Expr makeExpr() const { return *this; }
-
- TinyBinaryExpr(const Op &op, const Left &left, const Right &right)
- : TinyContainer< Op, TinyBinaryExpr<Op, Left, Right> >(op),
- m_left(left), m_right(right)
- { }
-
- TinyBinaryExpr(const Left &left, const Right &right)
- : m_left(left), m_right(right)
- { }
-
- Op op() const { return m_data; }
- Left left() const { return m_left; }
- Right right() const { return m_right; }
-
-private:
-
- Left m_left;
- Right m_right;
-};
-
-struct OpAdd {
-
- template<class T1, class T2>
- static T1 apply(const T1 &l, const T2 &r)
- {
- return l + r;
- }
-
-};
-
-template<class V1, class T1, class V2, class T2>
-inline TinyBinaryExpr<OpAdd, typename T1::T_Expr, typename T2::T_Expr>
-operator+(const TinyContainer<V1,T1>& l, const TinyContainer<V2,T2>& r)
-{
- typedef TinyBinaryExpr<OpAdd, typename T1::T_Expr, typename T2::T_Expr> ret;
- return ret(l.unwrap().makeExpr(), r.unwrap().makeExpr());
-}
-
-
-template<class Op, class T1, class T2, class Functor>
-inline
-typename T1::T_Return
-for_each(const TinyBinaryExpr<Op,T1,T2>& node, Functor f)
-{
- return Op::apply(for_each(node.left(),f), for_each(node.right(),f));
-}
-
-template<class T, unsigned Nrows, unsigned Ncols, unsigned S1, unsigned S2>
-class DenseDataView
- : public TinyContainer< T*, DenseDataView<T, Nrows, Ncols, S1, S2> > {
-public:
-
- typedef T T_Return;
- typedef DenseDataView<T, Nrows, Ncols, S1, S2> T_Expr;
-
- T_Expr makeExpr() const { return *this; }
-
- T *beginLoc(unsigned i, unsigned j) const
- { return m_data + S1 * i + S2 * j; }
-
- DenseDataView(T *pData)
- : TinyContainer< T*, DenseDataView<T, Nrows, Ncols, S1, S2> >(pData) { }
-
- T &offset(unsigned i, unsigned j)
- {
- return m_data[S1 * i + S2 * j];
- }
-
- T offset(unsigned i, unsigned j) const
- {
- return m_data[S1 * i + S2 * j];
- }
-
- template<unsigned I, unsigned J>
- struct Offset {
-
- static T &apply(DenseDataView<T, Nrows, Ncols, S1, S2> &d)
- {
- return d.m_data[S1 * I + S2 * J];
- }
-
- static T constApply(const DenseDataView<T, Nrows, Ncols, S1, S2> &d)
- {
- return d.m_data[S1 * I + S2 * J];
- }
-
- };
-
-};
-
-template<unsigned I, unsigned J>
-struct Eval2 { };
-
-template<class T, unsigned Nrows, unsigned Ncols, unsigned S1, unsigned S2,
- unsigned I, unsigned J>
-inline T
-for_each(const DenseDataView<T, Nrows, Ncols, S1, S2> &d,
- const Eval2<I,J> &e)
-{
- return d.offset(I, J);
-}
-
-template<class T, unsigned Nrows, unsigned Ncols>
-class DenseData
- : public TinyContainer< T[Nrows * Ncols], DenseData<T, Nrows, Ncols> > {
-public:
-
- typedef T T_Return;
- typedef DenseDataView<T, Nrows, Ncols, 1, Nrows> T_Expr;
-
- T_Expr makeExpr() const { return T_Expr(m_data); }
-
- T *beginLoc(unsigned i, unsigned j) const
- { return &m_data[i + Nrows * j]; }
-
- T &operator[](unsigned i)
- {
- return m_data[i];
- }
-
- T operator[](unsigned i) const
- {
- return m_data[i];
- }
-
- T &offset(unsigned i, unsigned j)
- {
- return m_data[i + Nrows * j];
- }
-
- T offset(unsigned i, unsigned j) const
- {
- return m_data[i + Nrows * j];
- }
-
- template<unsigned I, unsigned J>
- struct Offset {
-
- static T &apply(DenseData<T, Nrows, Ncols> &d)
- {
- return d.m_data[I + Nrows * J];
- }
-
- static T constApply(const DenseData<T, Nrows, Ncols> &d)
- {
- return d.m_data[I + Nrows * J];
- }
-
- };
-
-};
-
-template<class T, unsigned Nrc>
-class DiagonalData {
-public:
-
- T &offset(unsigned i, unsigned j)
- {
- assert(i == j);
- return m_data[i];
- }
-
- T offset(unsigned i, unsigned j) const
- {
- return (i == j) ? m_data[i] : T(0);
- }
-
- template<unsigned I, unsigned J>
- struct Offset {
-
- static T &apply(DiagonalData<T,Nrc> &d)
- {
- assert(I == J);
- return d.m_data[I];
- }
-
- static T constApply(const DiagonalData<T,Nrc> &d)
- {
- return (I == J) ? d.m_data[I] : T(0);
- }
-
- };
-
-private:
-
- T m_data[Nrc];
-};
-
-template<unsigned I, unsigned J, unsigned C1>
-struct InnerLoop {
-
- template<class LHS, class RHS>
- static inline void eval(LHS &l, const RHS &r)
- {
- l.offset(I,J) = for_each(r, Eval2<I,J>());
- InnerLoop<I + 1, J, C1 - 1>::eval(l, r);
- }
-
-};
-
-template<unsigned I, unsigned J>
-struct InnerLoop<I, J, 0> {
-
- template<class LHS, class RHS>
- static inline void eval(LHS &, const RHS &) { }
-
-};
-
-template<unsigned I, unsigned J, unsigned C1, unsigned C2>
-struct Loop2 {
-
- template<class LHS, class RHS>
- static inline void eval(LHS &l, const RHS &r)
- {
- InnerLoop<I, J, C1>::eval(l, r);
- Loop2<I, J + 1, C1, C2 - 1>::eval(l, r);
- }
-};
-
-template<unsigned I, unsigned J, unsigned C1>
-struct Loop2<I, J, C1, 0> {
-
- template<class LHS, class RHS>
- static inline void eval(LHS &l, const RHS &r) { }
-
-};
-
-
-template<unsigned Begin, unsigned End, unsigned Stride = 1>
-class TinyRange {
-public:
-
- static const unsigned b = Begin;
- static const unsigned e = End;
- static const unsigned s = Stride;
- static const unsigned n = (End - Begin) / Stride + 1;
-
- static unsigned index(unsigned i)
- {
- return b + s * i;
- }
-};
-
-template<class Range1, class Range2, class Data>
-struct Merge { };
-
-template<class Range1, class Range2, class T, unsigned Nrows, unsigned Ncols>
-struct Merge<Range1, Range2, DenseData<T, Nrows, Ncols> >
-{
- static const unsigned s2 = Nrows * Range2::s;
- typedef
- DenseDataView<T, Range1::n, Range2::n, Range1::s, s2> type;
-};
-
-template<class Range1, class Range2, class T, unsigned Nrows, unsigned Ncols,
- unsigned S1, unsigned S2>
-struct Merge<Range1, Range2, DenseDataView<T, Nrows, Ncols, S1, S2> >
-{
- static const unsigned s1 = S1 * Range1::s;
- static const unsigned s2 = S2 * Range2::s;
-
- typedef
- DenseDataView<T, Range1::n, Range2::n, s1, s2> type;
-};
-
-template<class T, unsigned Nrows, unsigned Ncols,
- class Data = DenseData<T, Nrows, Ncols> >
-class TinyMatrix :
- public TinyContainer< Data, TinyMatrix<T, Nrows, Ncols, Data> > {
-public:
-
- typedef T T_Return;
- typedef typename Data::T_Expr T_Expr;
- typedef TinyContainer< Data, TinyMatrix<T, Nrows, Ncols, Data> > T_Base;
-
- T_Expr makeExpr() const { return m_data.makeExpr(); }
-
- TinyMatrix() { }
-
- TinyMatrix(const T &a0, const T &a1, const T &a2,
- const T &a3, const T &a4, const T &a5)
- {
- m_data[0] = a0; m_data[1] = a1; m_data[2] = a2;
- m_data[3] = a3; m_data[4] = a4; m_data[5] = a5;
- }
-
- TinyMatrix(const T &a0, const T &a1)
- {
- m_data[0] = a0; m_data[1] = a1;
- }
-
- TinyMatrix(const Data &d) : T_Base(d) { }
-
- T operator()(unsigned i, unsigned j) const
- {
- return m_data.offset(i, j);
- }
-
- template<unsigned B1, unsigned E1, unsigned S1,
- unsigned B2, unsigned E2, unsigned S2>
- TinyMatrix<T, TinyRange<B1, E1, S1>::n,
- TinyRange<B2, E2, S2>::n,
- typename
- Merge< TinyRange<B1, E1, S1>, TinyRange<B2, E2, S2>, Data>::type>
- operator()(const TinyRange<B1, E1, S1> &r1, const TinyRange<B2, E2, S2> &r2)
- {
- typedef typename
- Merge< TinyRange<B1, E1, S1>, TinyRange<B2, E2, S2>, Data>::type
- T_DataType;
- typedef TinyMatrix<T, TinyRange<B1, E1, S1>::n,
- TinyRange<B2, E2, S2>::n, T_DataType> T_RetType;
-
- return T_RetType(T_DataType(m_data.beginLoc(B1, B2)));
- }
-
- template<class V1, class T1>
- void operator=(const TinyContainer<V1, T1> &rhs)
- {
- Loop2<0, 0, Nrows, Ncols>::eval(m_data, rhs.unwrap().makeExpr());
- }
-
-};
-
-
-int main()
-{
- TinyMatrix<double, 2, 3> a, b(1.0, 2.0, 3.0, 4.0, 5.0, 6.0),
- c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6), d(0.01, 0.02, 0.03, 0.04, 0.05, 0.06);
- TinyMatrix<double, 1, 2> e, f(17.0, 48.3);
-
- a = b + c + d;
-
- a(TinyRange<0,1>(), TinyRange<0,2,2>());
-
- a(TinyRange<0,1>(), TinyRange<0,2,2>())
- (TinyRange<0,0>(), TinyRange<0,1>());
-
- e = f + a(TinyRange<0,1>(), TinyRange<0,2,2>())
- (TinyRange<0,0>(), TinyRange<0,1>());
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr5.C b/gcc/testsuite/g++.old-deja/g++.pt/expr5.C
deleted file mode 100644
index 4cb5078702f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/expr5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T, int i>
-struct S1;
-
-template <class T, int i, int j>
-struct S2
-{
- typedef typename S1<T, (i >= j ? 0 : 1) >::type type;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr6.C b/gcc/testsuite/g++.old-deja/g++.pt/expr6.C
deleted file mode 100644
index e1d38de7e56..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/expr6.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-// Based on a bug report by tveldhui <tveldhui@extreme.indiana.edu>
-
-// excess errors test - XFAIL *-*-*
-
-template <int X> class foo {};
-
-foo< true ? 1 : 0 > bar;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/expr7.C b/gcc/testsuite/g++.old-deja/g++.pt/expr7.C
deleted file mode 100644
index 5fb567b5b77..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/expr7.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template<int I> struct A { };
-template<int I, int J> int f(A<I+J>);
-int g() {
- A<3> a;
- return f<1,2>(a);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend1.C b/gcc/testsuite/g++.old-deja/g++.pt/friend1.C
deleted file mode 100644
index ba642ba5c5a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend1.C
+++ /dev/null
@@ -1,24 +0,0 @@
-template <class T>
-void f(T);
-
-class C
-{
- template <class T>
- friend void f(T);
-
- int i;
-};
-
-
-template <class T>
-void f(T)
-{
- C c;
- c.i = 3;
-}
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend10.C b/gcc/testsuite/g++.old-deja/g++.pt/friend10.C
deleted file mode 100644
index bff432b5620..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend10.C
+++ /dev/null
@@ -1,29 +0,0 @@
-template <class T>
-void f(T);
-
-template <class U>
-class C
-{
- template <class T>
- friend void f(T)
- {
- C<U> c;
- c.i = 3;
- }
-
-public:
-
- void g()
- {
- f(3.0);
- }
-
- int i;
-};
-
-int main()
-{
- f(7);
- C<double> c;
- c.g();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend11.C b/gcc/testsuite/g++.old-deja/g++.pt/friend11.C
deleted file mode 100644
index 1aeba3a1018..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend11.C
+++ /dev/null
@@ -1,31 +0,0 @@
-template <class T>
-class C;
-
-template <class T>
-struct S
-{
- template <class U>
- void f(U u)
- {
- C<U> cu;
- cu.i = 3; // ERROR - S<double>::f<U> is a friend, but this is
- // S<int>::f<double>.
- }
-};
-
-
-template <class T>
-class C
-{
- template <class U>
- friend void S<T>::f(U);
-
- int i; // ERROR - private
-};
-
-
-int main()
-{
- S<int> si;
- si.f(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend12.C b/gcc/testsuite/g++.old-deja/g++.pt/friend12.C
deleted file mode 100644
index ef9bfc8a02c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend12.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template <class T>
-class C;
-
-template <class T>
-struct S
-{
- template <class U>
- void f(U u1, U u2) {}
-
- template <class U>
- void f(U u)
- {
- C<T> ct;
- ct.i = 3;
- }
-};
-
-
-template <class T>
-class C
-{
- template <class U>
- friend void S<T>::f(U);
-
- int i;
-};
-
-
-int main()
-{
- S<int> si;
- si.f(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend13.C b/gcc/testsuite/g++.old-deja/g++.pt/friend13.C
deleted file mode 100644
index 251d52a47bc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend13.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template <class T>
-class C;
-
-template <class U>
-struct S
-{
- template <class V>
- void f(V v)
- {
- C<V> cv;
- cv.i = 3;
- }
-};
-
-
-template <class T>
-class C
-{
- template <class U>
- template <class V>
- friend void S<U>::f(V);
-
- int i;
-};
-
-
-int main()
-{
- S<int> si;
- si.f(3.0);
- S<long> sl;
- sl.f('c');
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend14.C b/gcc/testsuite/g++.old-deja/g++.pt/friend14.C
deleted file mode 100644
index 4ed5fcc47a8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend14.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-template <class U>
-class S1
-{
- template <class T>
- friend class S2;
-
- static int i;
-};
-
-
-template <class T>
-class S2
-{
-public:
- static void f() { S1<T>::i = 3; }
-};
-
-
-void g()
-{
- S2<double>::f();
- S2<long>::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend15.C b/gcc/testsuite/g++.old-deja/g++.pt/friend15.C
deleted file mode 100644
index 8d49f6a2be0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend15.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-class S1
-{
- template <class T>
- friend class S2;
-
- static int i;
-};
-
-
-template <class T>
-class S2
-{
-public:
- static void f() { S1::i = 3; }
-};
-
-
-void g()
-{
- S2<double>::f();
- S2<char>::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend16.C b/gcc/testsuite/g++.old-deja/g++.pt/friend16.C
deleted file mode 100644
index 7f13e5b90b3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend16.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-
-template <class T>
-class S2
-{
-public:
- static void f();
-};
-
-
-template <class U>
-class S1
-{
- template <class T>
- friend class S2;
-
- static int i;
-};
-
-
-template <class T>
-void S2<T>::f()
-{
- S1<T>::i = 3;
-}
-
-void g()
-{
- S2<double>::f();
- S2<char>::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend17.C b/gcc/testsuite/g++.old-deja/g++.pt/friend17.C
deleted file mode 100644
index cb12ce8e793..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend17.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-
-template <class T>
-class S2
-{
-public:
- static void f();
-};
-
-class S1
-{
- template <class T>
- friend class S2;
-
- static int i;
-};
-
-template <class T>
-void S2<T>::f()
-{
- S1::i = 3;
-}
-
-void g()
-{
- S2<double>::f();
- S2<char>::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend18.C b/gcc/testsuite/g++.old-deja/g++.pt/friend18.C
deleted file mode 100644
index 998e1639fe6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend18.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-
-template <class U>
-class S1
-{
- template <class T>
- friend class S2;
-
- static int i;
-};
-
-
-template <class T>
-class S2
-{
-public:
- static void f() { S1<T>::i = 3; }
-};
-
-
-void g()
-{
- S2<double>::f();
- S2<long>::f();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend19.C b/gcc/testsuite/g++.old-deja/g++.pt/friend19.C
deleted file mode 100644
index 998e1639fe6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend19.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-
-template <class U>
-class S1
-{
- template <class T>
- friend class S2;
-
- static int i;
-};
-
-
-template <class T>
-class S2
-{
-public:
- static void f() { S1<T>::i = 3; }
-};
-
-
-void g()
-{
- S2<double>::f();
- S2<long>::f();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend20.C b/gcc/testsuite/g++.old-deja/g++.pt/friend20.C
deleted file mode 100644
index 40d5370a810..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend20.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T = int> struct A;
-
-template <class T> struct B
-{
- friend class A<T>;
-};
-
-template class B<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend21.C b/gcc/testsuite/g++.old-deja/g++.pt/friend21.C
deleted file mode 100644
index 3f690a4404a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend21.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-
-template <class T> struct A {
- static void f();
-};
-
-template <class T> class B
-{
- friend class A<T>;
- static int i; // ERROR - private
-};
-
-template <class T> class C
-{
- template <class U>
- friend class A;
-
- static int i;
-};
-
-template <class T>
-void A<T>::f()
-{
- B<T>::i = 3;
- C<T>::i = 3;
- C<double>::i = 3;
- B<double>::i = 3; // ERROR - member `i' is private
-}
-
-template void A<int>::f(); // ERROR - instantiated from here
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend22.C b/gcc/testsuite/g++.old-deja/g++.pt/friend22.C
deleted file mode 100644
index ed459d71fe2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend22.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T = int>
-struct S
-{
- template <class U>
- friend class S;
-};
-
-template struct S<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend23.C b/gcc/testsuite/g++.old-deja/g++.pt/friend23.C
deleted file mode 100644
index 21065f1cac1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend23.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T = int> // ERROR - original definition
-struct S
-{ // ERROR - redefinition of default arg
- template <class U = int>
- friend class S;
-};
-
-template struct S<int>; // ERROR - instantiated from here
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend24.C b/gcc/testsuite/g++.old-deja/g++.pt/friend24.C
deleted file mode 100644
index d312b3854ea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend24.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S
-{
- template <class U = T>
- friend class S;
-
- void f(T);
-};
-
-template struct S<int>;
-
-void g()
-{
- S<> s;
- s.f(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend25.C b/gcc/testsuite/g++.old-deja/g++.pt/friend25.C
deleted file mode 100644
index f93e73bc396..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend25.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template <class T> struct A;
-
-struct B
-{
- template <class U>
- friend class A<U>; // ERROR - does not specialize any args
-};
-
-struct C
-{
- template <class U>
- friend class A<U*>; // ERROR - partial specialization
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend26.C b/gcc/testsuite/g++.old-deja/g++.pt/friend26.C
deleted file mode 100644
index a426f8b775f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend26.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-struct S
-{
- friend void f<>(int); // ERROR - does not match any template
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend27.C b/gcc/testsuite/g++.old-deja/g++.pt/friend27.C
deleted file mode 100644
index 0f11a49c060..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend27.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-class S
-{
- friend void f<>(int); // ERROR - does not match any template
- int i;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend28.C b/gcc/testsuite/g++.old-deja/g++.pt/friend28.C
deleted file mode 100644
index f86d0b67b95..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend28.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-class mystream;
-
-template <class T> class a {
-public:
- friend mystream& operator>> <>( mystream&, a<T>& thea );
-private:
- T amember;
-};
-
-template <class T> mystream& operator>>( mystream& s, a<T>& thea );
-
-template<> mystream& operator>> <int>( mystream& s, a<int>& thea );
-
-template class a<int>;
-
-template<> mystream& operator>> <int>( mystream& s, a<int>& thea )
-{
- thea.amember = 0;
- return s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend29.C b/gcc/testsuite/g++.old-deja/g++.pt/friend29.C
deleted file mode 100644
index e141aaa363f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend29.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class T> class a {
-public:
- friend void foo<>( a<T>& thea );
-private:
- T amember;
-};
-
-template <class T> void foo( a<T>& thea )
-{
- thea.amember = 0;
-}
-
-template class a<int>;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend3.C b/gcc/testsuite/g++.old-deja/g++.pt/friend3.C
deleted file mode 100644
index 74d0e06699c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend3.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f(T);
-
-class C
-{
- friend void f<>(double);
-
- int i; // ERROR - private
-};
-
-
-template <class T>
-void f(T)
-{
- C c;
- c.i = 3; // ERROR - f<double> is a friend, this is f<int>.
-}
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend30.C b/gcc/testsuite/g++.old-deja/g++.pt/friend30.C
deleted file mode 100644
index 61dd8fcb8e9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend30.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template <class T, class U>
-struct S {
- template <class X, class Y, class Z>
- friend X f(X, Y, Z);
-};
-
-template <class X, class Y, class Z>
-X f(X x, Y, Z) {
- return x;
-}
-
-template char f(char, long, short);
-template char* f(char*, long*, short*);
-template class S<int, double>;
-template class S<void*, double>;
-template double* f(double*, long*, short*);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend31.C b/gcc/testsuite/g++.old-deja/g++.pt/friend31.C
deleted file mode 100644
index 15a380b462a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend31.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1 {
-};
-
-template <>
-struct S1<int> {};
-
-struct S2 {
- friend class S1<int>;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend32.C b/gcc/testsuite/g++.old-deja/g++.pt/friend32.C
deleted file mode 100644
index b1f173a4623..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend32.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class T, class U>
-struct S {
- template <class X, class Y, class Z>
- friend X f(X, Y, Z);
-};
-
-template class S<int, double>;
-template char f(char, long, short);
-template char* f(char*, long*, short*);
-
-template <class X, class Y, class Z>
-X f(X x, Y, Z) {
- return x;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend33.C b/gcc/testsuite/g++.old-deja/g++.pt/friend33.C
deleted file mode 100644
index 5feec1a06d7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend33.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't run:
-// Special g++ Options: -g
-
-template <class P1>
-struct S1
-{
- struct SS1
- {
- };
- friend void Foo (const SS1& ss1)
- {
- }
-};
-
-template <class P1>
-void Foo(const S1<P1>& s1)
-{
- typedef typename S1<P1>::SS1 TYPE;
- TYPE t;
- Foo(t);
-}
-
-int main ()
-{
- S1<double> obj;
- Foo(obj);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend34.C b/gcc/testsuite/g++.old-deja/g++.pt/friend34.C
deleted file mode 100644
index 56eb80a5056..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend34.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// excess errors test
-
-// This testcase won't fail if class ::foo is forward-declared in the
-// global namespace, nor if class bar is not a template class.
-
-template <typename T = void>
-class bar {
-public:
- friend class foo; // this is not bar::foo, it forward-declares ::foo
- class foo {};
- bar() { foo(); } // but this should refer to bar::foo
-};
-
-bar<> baz;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend35.C b/gcc/testsuite/g++.old-deja/g++.pt/friend35.C
deleted file mode 100644
index c2c22c7634e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend35.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-class foo {
- friend void bar<int>(int); // ERROR - must be declared first
-};
-
-template <typename T> void bar(T);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend36.C b/gcc/testsuite/g++.old-deja/g++.pt/friend36.C
deleted file mode 100644
index 4a9042ad3ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend36.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f(T) {} // ERROR - previously defined here
-
-template <class U>
-struct S {
- template <class T>
- friend void f(T) {} // ERROR - redeclaration
-};
-
-S<int> si;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend37.C b/gcc/testsuite/g++.old-deja/g++.pt/friend37.C
deleted file mode 100644
index c3ee4c7aaef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend37.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// Simplified from report by Volker Dobler <volker@hugo.physik.uni-konstanz.de>
-
-template <class T> class A {
- friend int ice<>( int k=0 ); // ERROR - default argument
- friend inline int f<>(double); // ERROR - inline
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend38.C b/gcc/testsuite/g++.old-deja/g++.pt/friend38.C
deleted file mode 100644
index e3a6a060ef6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend38.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-// Overly simplified from testcase by "B. K. Oxley" <binkley@bigfoot.com>
-
-template<class P> struct foo {
- typedef P parent_type;
- friend parent_type; // ERROR - template parameters cannot be friends - XFAIL *-*-*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend39.C b/gcc/testsuite/g++.old-deja/g++.pt/friend39.C
deleted file mode 100644
index 836c83054bb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend39.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S;
-
-template <class T>
-class C
-{
- friend void S<T>::f();
-
- int i;
-};
-
-template <class T>
-struct S
-{
- void f() {
- C<T> c;
- c.i = 3;
- }
-};
-
-template void S<int>::f();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend4.C b/gcc/testsuite/g++.old-deja/g++.pt/friend4.C
deleted file mode 100644
index ea439277c5a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend4.C
+++ /dev/null
@@ -1,21 +0,0 @@
-class C
-{
- template <class T>
- friend void f(T);
-
- int i;
-};
-
-
-template <class T>
-void f(T)
-{
- C c;
- c.i = 3;
-}
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend40.C b/gcc/testsuite/g++.old-deja/g++.pt/friend40.C
deleted file mode 100644
index 90288e8a336..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend40.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-// Special g++ Options: -Wno-non-template-friend
-
-template<class T> struct A
-{
- friend void f ();
-};
-
-A<short> a;
-A<int> b;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend41.C b/gcc/testsuite/g++.old-deja/g++.pt/friend41.C
deleted file mode 100644
index d6b74a084d7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend41.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-class S {
-public:
- template <class U>
- class C {
- public:
- void f() { S::i = 3; }
- };
-
- template <class U>
- friend class C;
-
-private:
- static int i;
-};
-
-
-template void S<int>::C<double>::f();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend42.C b/gcc/testsuite/g++.old-deja/g++.pt/friend42.C
deleted file mode 100644
index dcbfd462bac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend42.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-struct S {
- template <class U>
- friend struct S2;
-};
-
-template struct S<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend5.C b/gcc/testsuite/g++.old-deja/g++.pt/friend5.C
deleted file mode 100644
index 516be4dd018..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend5.C
+++ /dev/null
@@ -1,17 +0,0 @@
-class C
-{
- template <class T>
- friend void f(T)
- {
- C c;
- c.i = 3;
- }
-
- int i;
-};
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend6.C b/gcc/testsuite/g++.old-deja/g++.pt/friend6.C
deleted file mode 100644
index 5651421e6cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend6.C
+++ /dev/null
@@ -1,28 +0,0 @@
-template <class T>
-void f(T);
-
-class C
-{
- template <class T>
- friend void f(T)
- {
- C c;
- c.i = 3;
- }
-
-public:
-
- void g()
- {
- f(3.0);
- }
-
- int i;
-};
-
-int main()
-{
- f(7);
- C c;
- c.g();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend7.C b/gcc/testsuite/g++.old-deja/g++.pt/friend7.C
deleted file mode 100644
index 2962d924531..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend7.C
+++ /dev/null
@@ -1,25 +0,0 @@
-template <class T>
-void f(T);
-
-template <class U>
-class C
-{
- template <class T>
- friend void f(T);
-
- int i;
-};
-
-
-template <class T>
-void f(T)
-{
- C<T> c;
- c.i = 3;
-}
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend8.C b/gcc/testsuite/g++.old-deja/g++.pt/friend8.C
deleted file mode 100644
index ffa9122728f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend8.C
+++ /dev/null
@@ -1,18 +0,0 @@
-template <class T>
-class C
-{
- friend void f (C<T> c)
- {
- c.i = 3;
- }
-
- int i;
-};
-
-
-int main()
-{
- C<int> ci;
-
- f(ci);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend9.C b/gcc/testsuite/g++.old-deja/g++.pt/friend9.C
deleted file mode 100644
index 63455d01a52..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend9.C
+++ /dev/null
@@ -1,22 +0,0 @@
-template <class U>
-class C
-{
- template <class T>
- friend void f(T);
-
- int i;
-};
-
-
-template <class T>
-void f(T)
-{
- C<int> c;
- c.i = 3;
-}
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/goto.C b/gcc/testsuite/g++.old-deja/g++.pt/goto.C
deleted file mode 100644
index c6c1a569cf2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/goto.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template<class T>
-void compute(T) {
- goto Exit;
-Exit: ;
- }
-
-int main()
-{
- compute(0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/inherit1.C b/gcc/testsuite/g++.old-deja/g++.pt/inherit1.C
deleted file mode 100644
index 6ae70c1bb9e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/inherit1.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Origin: Wolfgang Bangerth <wolf@gaia.iwr.uni-heidelberg.de>
-
-int i = 1;
-
-struct Base1 { int local1; };
-struct Base2 { int local2; };
-
-template <int dim> class Derived;
-
-template <>
-class Derived<1> : public Base1, public Base2 {};
-
-template <int dim>
-class FinalClass : public Derived<dim> {
-public:
- FinalClass () {
- if (&local1 != &local2)
- i = 0;
- }
-};
-
-int main () {
- FinalClass<1> a1;
- return i;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C
deleted file mode 100644
index 11f9c781988..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f(T t) {}
-
-template void f<int>(int);
-template void f<>(long);
-
-template <class T>
-struct S
-{
- void bar(int) {}
-
- template <class U>
- void baz(U u) {}
-};
-
-
-template S<char>;
-template void S<int>::bar(int);
-template void S<double>::baz<short>(short);
-template void S<long>::baz<>(char);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate2.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate2.C
deleted file mode 100644
index a5c6c49d16f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template<class T>
-struct X_two {
- template <class T2> T2 conv_compare_ge(T2 test) {
- T2 tmp_value = T2 (0);
- return (tmp_value > test ? tmp_value : test);
- }
-};
-
-template int X_two<double>::conv_compare_ge(int);
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate3.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate3.C
deleted file mode 100644
index 62062f7bfe9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate3.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S
-{
- S(const T&) {}
- S(int, long);
-};
-
-template S<double>::S(const double&);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
deleted file mode 100644
index 296356b713f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build then link:
-
-// Special g++ Options: -frepo -Werror
-
-// Submitted by Melissa O'Neill <oneill@cs.sfu.ca>
-// the vtable of Foo<int> wouldn't be generated
-
-template <typename A>
-struct Foo {
- virtual void foo() {}
-};
-
-template <typename A>
-struct Bar {
- void bar();
-};
-
-template <typename A>
-void Bar<A>::bar() {
- Foo<A> oof;
-}
-
-int main () {
- Bar<int> rab;
-
- rab.bar();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc
deleted file mode 100644
index be64bdbc4c2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc
+++ /dev/null
@@ -1,3 +0,0 @@
-// this file is part of testcase instantiate5.C
-
-int main() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C
deleted file mode 100644
index 70eefcbb455..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't run:
-
-// Additional sources: instantiate5.cc instantiate5-main.cc
-
-// `global constructors' are given the same name, based on foo(), on
-// both translation units, which is wrong, because it must be possible
-// to define template functions in multiple translation units, as long
-// as they're given the same definition
-
-// simplified from test case submitted by Daniel X. Pape <dpape@canis.uiuc.edu>
-
-template <class T> void foo() { }
-inline int bar() { foo<void>(); return 1; }
-static int i = bar();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc b/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc
deleted file mode 100644
index fc86e0f8309..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-// this file is part of testcase instantiate5.C
-
-template <class T> void foo() { }
-inline int bar() { foo<void>(); return 1; }
-static int i = bar();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
deleted file mode 100644
index e896ed32570..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build then link:
-// Special g++ Options: -frepo
-
-// Simplified from testcase by Erez Louidor Lior <s3824888@techst02.technion.ac.il>
-// excess errors test - XFAIL *-*-*
-
-template <class T>
-class foo{
-public:
- void g();
- void h();
-};
-
-template <class T>
-void foo<T>::g() {
- h();
-}
-
-template <class T>
-void foo<T>::h() {
-}
-
-int main() {
- foo<int> f;
- f.g();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/label1.C b/gcc/testsuite/g++.old-deja/g++.pt/label1.C
deleted file mode 100644
index 964d1d7afc3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/label1.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S {};
-
-template <class T>
-inline void g(T t)
-{
- here:
- S<T> st;
- goto here;
-}
-
-template <class T>
-void f(T t)
-{
- here:
- g(t);
- goto here;
-}
-
-void h()
-{
- f(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/link1.C b/gcc/testsuite/g++.old-deja/g++.pt/link1.C
deleted file mode 100644
index b1991f62106..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/link1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't run:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-int f(T);
-
-template <class T>
-struct S {
- template <class U>
- friend int f(U) { return 0; }
-};
-
-int k = f(2);
-
-template <class T>
-int g(T);
-
-int h = g(7);
-
-template <class T>
-int g(T) {
- S<T> si;
- return 0;
-}
-
-int main()
-{
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/local1.C b/gcc/testsuite/g++.old-deja/g++.pt/local1.C
deleted file mode 100644
index 1b9e5155b52..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/local1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-template <class STRUCT, class MEMBER> inline STRUCT *
-setback(MEMBER *bp, MEMBER STRUCT::*offset)
-{
- if(!bp) return 0;
- union { int i; MEMBER STRUCT::*of; } u;
- u.of = offset;
- return (STRUCT *) ((int) bp - u.i);
-}
-
-
-struct S
-{
- int i;
-};
-
-int main()
-{
- S s;
-
- S* sp = setback (&s.i, &S::i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/local2.C b/gcc/testsuite/g++.old-deja/g++.pt/local2.C
deleted file mode 100644
index 4aafc695486..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/local2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-void f(T)
-{
- struct S {
- int i;
- } s;
-
- s.i = 3;
-
- if (s.i != 3)
- abort();
-}
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/local3.C b/gcc/testsuite/g++.old-deja/g++.pt/local3.C
deleted file mode 100644
index ea1b386b254..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/local3.C
+++ /dev/null
@@ -1,26 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-void f(T)
-{
- int j;
-
- j = 6;
-
- struct S {
- int i;
- };
-
- S s;
-
- s.i = j;
-
- if (s.i != 6)
- abort();
-}
-
-
-int main()
-{
- f(7);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/local4.C b/gcc/testsuite/g++.old-deja/g++.pt/local4.C
deleted file mode 100644
index 6a7eb341e5b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/local4.C
+++ /dev/null
@@ -1,25 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-struct S {};
-
-S<int> si;
-
-template <class T>
-int f(T t)
-{
- struct S {
- int g(int i) { return i + 2; }
- };
-
- S s;
-
- return s.g(t) + s.g(t);
-}
-
-
-int main()
-{
- if (f(3) != 10)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/local5.C b/gcc/testsuite/g++.old-deja/g++.pt/local5.C
deleted file mode 100644
index b49525c3484..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/local5.C
+++ /dev/null
@@ -1,24 +0,0 @@
-template <class INT>
-class b
-{
-private:
- char a(int x)
- {
- union {
- int i;
- char c;
- } val;
- val.i = x;
- return val.c;
- };
-
-public:
- b() {
- }
-};
-
-int main() {
- b<int> n;
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/local6.C b/gcc/testsuite/g++.old-deja/g++.pt/local6.C
deleted file mode 100644
index d3f2f4c6f06..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/local6.C
+++ /dev/null
@@ -1,24 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-int f(T)
-{
- struct S1 {
- virtual int foo() { return 1; }
- };
-
- struct S2 : public S1 {
- int foo() { return 2; }
- };
-
- S1* s2 = new S2;
-
- return s2->foo();
-}
-
-
-int main()
-{
- if (f(3) != 2)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup1.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup1.C
deleted file mode 100644
index 359915cb6d7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template <class T, class Allocator>
- struct __vector_alloc_base
-{
- typedef int allocator_type;
-};
-
-template <class T>
- struct vector : __vector_alloc_base<T,int>
-{
- typedef short allocator_type;
- explicit vector(const allocator_type& a = allocator_type()) {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup2.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup2.C
deleted file mode 100644
index 169aee09ca3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-class A
-{
-protected:
- void f1() {};
-};
-
-template <class T> class B : private A {
-protected:
- using A::f1;
-};
-
-template <class T> class D : private B<T>
-{
-public:
- void f2() { f1(); };
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup3.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup3.C
deleted file mode 100644
index 9ada72f87b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup3.C
+++ /dev/null
@@ -1,17 +0,0 @@
-template<class T>
-class A {
-public:
- void f() { }
-};
-
-class B : public A<int> {
-public:
- void f();
-};
-
-int main()
-{
- B b;
- B& b1 = b;
- b1.A<int>::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup4.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup4.C
deleted file mode 100644
index fe152526b69..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup4.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-void h(int);
-
-template <class T>
-class i {};
-
-struct B
-{
- int i;
-};
-
-template <class T>
-struct D : public B
-{
- void f();
- void g() { h(i); }
-};
-
-template <class T>
-void D<T>::f()
-{
- h(i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup5.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup5.C
deleted file mode 100644
index e38b2227487..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup5.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-struct B {
- int i;
-};
-
-struct D: public B {
- int i;
-};
-
-template <class T>
-struct D2 : public D {
- void f() { i = 3; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup6.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup6.C
deleted file mode 100644
index ae1f5ca2c5b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup6.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-// Based on bug report by Miniussi <miniussi@ilog.fr>
-
-class t {};
-
-template <class T> struct A { typedef T t; typedef T u; };
-
-template <class T> struct B : public A<T> {
- // according to [temp.dep.type], `t' and `u' cannot be dependent types,
- // and so there's no reason to delay lookup to specialization time.
- void f(t p); // this is ::t [temp.dep]/3
- void f(typename A<T>::t p); // gets bogus error - redefinition
- void g(u p); // ERROR - unknown type name
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup7.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup7.C
deleted file mode 100644
index 9cc0d616d63..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup7.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-struct A { typedef int B; };
-template <int B> struct C : public A {
- B b;
- void f();
-};
-
-
-template <int B>
-void C<B>::f() {
- B b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup8.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup8.C
deleted file mode 100644
index cc562bf5d75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup8.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-class X{};
-
-class Y : public X<int>
-{
- void f();
-};
-
-void Y::f()
-{
- X x; // ERROR - X is not a type.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lookup9.C b/gcc/testsuite/g++.old-deja/g++.pt/lookup9.C
deleted file mode 100644
index d81ffb63a96..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/lookup9.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Origin: "Artem Hodyush" <artem@duma.gov.ru>
-
-struct B { int m; };
-
-template< class T >
-void
-q( T& t ) {
- t.T::m=1;
-}
-
-void f() {
- B b;
- b.B::m=1;
- q( b );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m1.C b/gcc/testsuite/g++.old-deja/g++.pt/m1.C
deleted file mode 100644
index 7de0e0cd58e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-int f1 () {
- struct A {
- A() : b (2) { }
- int fred () { return b.hi_mom; }
- struct B {
- int hi_mom;
- B (int a) { hi_mom = a; }
- };
- B b;
- };
- A aa;
- return aa.fred();
-}
-/* crashes with signal 11 */
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m2.C b/gcc/testsuite/g++.old-deja/g++.pt/m2.C
deleted file mode 100644
index 00fdbadea0b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m2.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct A { A() { a = 2; } int a; };
-
-int f1 () {
- struct A { A() { a = 2; } int a; };
- A aa;
- return aa.a;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m3.C b/gcc/testsuite/g++.old-deja/g++.pt/m3.C
deleted file mode 100644
index 492b2611a31..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m3.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-struct A { A() { a = 2; } int a; };
-
-struct B {
- struct A { A() { a = 2; } int a; };
- A aa;
-};
-char xx[]="../tests/m3.cc:4: redefinition of `struct A'";
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m4.C b/gcc/testsuite/g++.old-deja/g++.pt/m4.C
deleted file mode 100644
index bbfb2272e61..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m4.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-struct A1 { struct B { B(); } b; };
-struct A2 { struct B { ~B(); } b; };
-char xx[] ="../tests/m4.cc:1: warning: return type specification for constructor invalid";
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m5.C b/gcc/testsuite/g++.old-deja/g++.pt/m5.C
deleted file mode 100644
index e8349704cae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m5.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-struct B { struct A { A(); int a; } aa; };
-struct A { A(); int a; };
-B::A::A () { a = 37; }
-char xx[]="../tests/m5.cc:3: Segmentation violation";
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m6.C b/gcc/testsuite/g++.old-deja/g++.pt/m6.C
deleted file mode 100644
index 5d0c81e0d1e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m6.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-struct B { struct A { A(); int a; } aa; };
-B::A::A () { a = 37; }
-char* xx[] = {
-"../tests/m6.cc:1: warning: return type specification for constructor invalid",
-"../tests/m6.cc:2: semicolon missing after declaration of `A'",
-"../tests/m6.cc:2: warning: empty declaration",
-"../tests/m6.cc: In function int A ():",
-"../tests/m6.cc:2: `a' undeclared (first use this function)",
-"../tests/m6.cc:2: (Each undeclared identifier is reported only once",
-"../tests/m6.cc:2: for each function it appears in.)",
-"../tests/m6.cc:2: warning: control reaches end of non-void function" };
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m7.C b/gcc/testsuite/g++.old-deja/g++.pt/m7.C
deleted file mode 100644
index 06d2ba337a2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m7.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-struct B { struct A { A(); int a; }; A aa; };
-B::A::A () { a = 37; }
-char *xx[]= {"/*",
-"../tests/m7.cc:1: warning: return type specification for constructor invalid",
-"../tests/m7.cc: In function struct A A ():",
-"../tests/m7.cc:2: `a' undeclared (first use this function)",
-"../tests/m7.cc:2: (Each undeclared identifier is reported only once",
-"../tests/m7.cc:2: for each function it appears in.)",
-"../tests/m7.cc:2: warning: control reaches end of non-void function",
- "*/" };
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m8.C b/gcc/testsuite/g++.old-deja/g++.pt/m8.C
deleted file mode 100644
index 22d01441bb1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m8.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-class A {
- int a;
- public:
- A (int aa = 3);
-};
-
-class B {
- class A {
- public:
- A (int, int);
- };
- A aa;
- public:
- B (int);
-};
-
-extern void foo();
-B::B (int z) : aa (1, z) {
- foo ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m9.C b/gcc/testsuite/g++.old-deja/g++.pt/m9.C
deleted file mode 100644
index d519dbdc728..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m9.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-struct A { A() { a = 1; } int a; };
-struct Q {
- struct A { A() { a = 2; } int a; };
- struct R {
- struct A { A() { a = 3; } int a; };
- A aaz;
- };
- R rrr;
- A aay;
-}
-;
-
-Q qqq;
-A aav;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/m9a.C b/gcc/testsuite/g++.old-deja/g++.pt/m9a.C
deleted file mode 100644
index 9118306d697..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/m9a.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-struct A { A() { a = 1; } int a; }; // ERROR -
-struct A { A() { a = 2; } int a; }; // ERROR -
-A aavv;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass1.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass1.C
deleted file mode 100644
index 5ad839c231e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-template <class T> struct A {
- template <class U> struct B {
- template <class V> void f (V) { }
- void g () { }
- };
-};
-
-int main ()
-{
- A<int>::B<char> b;
- b.f (42);
- b.g ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass10.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass10.C
deleted file mode 100644
index 1deb38054cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass10.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-struct S1
-{
- template <class T>
- struct S2 {}; // ERROR - previous definition
-
- template <class T>
- struct S2 {}; // ERROR - redefinition
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass11.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass11.C
deleted file mode 100644
index 6eee67a6e3d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass11.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-struct S1
-{
- template <class T>
- struct S2;
-
- template <class T>
- struct S2 {
- enum E { a };
- };
-};
-
-int i = (int) S1::S2<double>::a;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass12.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass12.C
deleted file mode 100644
index f4d035481a0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass12.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-struct outer {
- template <class T> struct inner;
-} o;
-template <class T> struct outer::inner {};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass13.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass13.C
deleted file mode 100644
index 7eddc278b25..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass13.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class X, class Y>
-struct Inner;
-
-template <class T>
-struct S
-{
- template <class U>
- struct Inner
- {
- };
-};
-
-
-S<double>::Inner<int> si;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass14.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass14.C
deleted file mode 100644
index ad1b2b4b5ac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass14.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template <class X, class Y>
-struct Inner;
-
-struct S
-{
- template <class U>
- struct Inner
- {
- };
-};
-
-
-S::Inner<int> si;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass15.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass15.C
deleted file mode 100644
index 52f92bf5221..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass15.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1
-{
- template <class U>
- struct S2 {};
-
- template <class X, class Y, class Z>
- void f(X, Y, Z)
- {
- S2<Z> s2z;
- }
-
- template <class X, class Z>
- void g(X, Z)
- {
- S2<Z> s2z;
- }
-};
-
-
-void h()
-{
- S1<int> si;
- si.g(3, 4);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass16.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass16.C
deleted file mode 100644
index e8e564369e9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass16.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-template <class Q>
-class A {
-public:
-
- typedef enum { X, Y } B;
- template <B c> class Traits{ };
-};
-
-
-template class A<int>;
-template class A<double>::Traits<A<double>::X>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass17.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass17.C
deleted file mode 100644
index 96024e21859..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass17.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-template <class T> struct S
-{
- template <class U> struct I
- {
- };
-
- S();
- S(S& s);
- S(I<T>);
-
- template <class U> operator I<U>();
-};
-
-S<int> f();
-void g(S<int>);
-
-void h()
-{
- g(f());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass18.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass18.C
deleted file mode 100644
index bb7f6f12b99..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass18.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class T> struct A {
- template <class U> struct B;
-};
-
-template <class T> template <class U> struct A<T>::B { };
-
-A<int>::B<int> b;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass19.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass19.C
deleted file mode 100644
index 6a8b0a7d11c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass19.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class T> struct A {
- template <class U> struct B;
-};
-
-template <class T> template <class U> struct A<T>::B<U*> { };
-
-A<int>::B<int*> b;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass2.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass2.C
deleted file mode 100644
index 895fd6128e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-template <class T> struct A {
- template <class U> struct B {
- template <class V> void f (V) { }
- void g () { }
- };
- template <class W> struct B<W*> {
- void h () { }
- };
-};
-
-int main ()
-{
- A<int>::B<char> b;
- b.f (42);
- b.g ();
- A<double>::B<void*> b2;
- b2.h ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass20.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass20.C
deleted file mode 100644
index c57c27dfe09..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass20.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class X, class Y>
-struct S{};
-
-template <class X>
-struct S<int, X> {
- template <class W>
- struct I {};
-};
-
-template <class T>
-void f() {
- typename S<T, T>::I<T> si;
-}
-
-template void f<int>();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass3.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass3.C
deleted file mode 100644
index 77744f854a9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-template <class T> struct A {
- template <class U> struct B {
- template <class V> struct C {
- template <class W> struct D {
- template <class X> struct E {
- template <class Y> struct F {
- template <class Z> void f (Z) { }
- void g () { }
- };
- };
- };
- };
- };
-};
-
-int main ()
-{
- A<int>::B<int>::C<int>::D<int>::E<int>::F<int> b;
- b.f (42);
- b.g ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass4.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass4.C
deleted file mode 100644
index 4c101c6609d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass4.C
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <typeinfo>
-
-template <class T>
-struct allocator {
- typedef T* pointer;
-
- template <class U> struct rebind {
- typedef allocator<U> other;
- };
-};
-
-template <class T, class Allocator>
-struct alloc_traits
-{
- typedef typename Allocator::template rebind<T>::other allocator_type;
-};
-
-int main ()
-{
- typedef alloc_traits<int, allocator<void> >::allocator_type at;
-
- return typeid (at) != typeid (allocator <int>);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
deleted file mode 100644
index 06a1413eb0e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
+++ /dev/null
@@ -1,22 +0,0 @@
-template <class T> struct A {
- template <class U> struct B {
- template <class V> static void f () { }
- void g () { }
- };
-};
-
-template <class T, class U>
-void f ()
-{
- A<T>::template B<U>::template f<T> ();
- typename A<T>::B<U> b;
- typename A<T>::template B<U> b2;
- b.A<T>::template B<U>::~B();
-}
-
-template <class T> struct C: public A<T>::B<T> { };
-
-int main ()
-{
- f<int, char>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass6.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass6.C
deleted file mode 100644
index 65de1d1bd99..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass6.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Compiler: egcs-2.91.12 980302
-// Error: compiler error in ctor of 'foo::bar<T>::bar(T const &)'
-
-struct foo
-{
- template <typename T>
- struct bar
- {
- bar(T const &t) : tt(t) {}
- T tt;
- };
-};
-
-int main()
-{
- foo::bar<int> fb(3);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass7.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass7.C
deleted file mode 100644
index 1a5cabe67a1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass7.C
+++ /dev/null
@@ -1,18 +0,0 @@
-struct S
-{
- template <class U>
- struct Y {
- template <class T>
- void foo(T t);
- };
-};
-
-template <>
-template <>
-void S::Y<char>::foo<int>(int i) { }
-
-int main()
-{
- S::Y<char> s;
- s.template foo<int>(3.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass8.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass8.C
deleted file mode 100644
index 431d41d64e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass8.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-template <class T>
-class S
-{
- template <class U>
- struct S2 {
- S2(const S2<U>& s2u) {}
- };
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memclass9.C b/gcc/testsuite/g++.old-deja/g++.pt/memclass9.C
deleted file mode 100644
index 824ee76f0c5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memclass9.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1
-{
- template <class U>
- struct S2
- {
- S2(U);
-
- void g()
- {
- S2<U> s2u (u);
- }
-
- U& u;
- };
-
- template <class U>
- void f(U u)
- {
- S2<U> s2u(u);
- s2u.g();
- }
-};
-
-void g()
-{
- S1<int> s1;
- s1.f(3.0);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp1.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp1.C
deleted file mode 100644
index 94274e5003d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-struct S {
- template <class T>
- void foo(T&);
-};
-
-
-template <class T>
-void S::foo(T&)
-{
-}
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp10.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp10.C
deleted file mode 100644
index 9e97b5e72f9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp10.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S {
- template <class T>
- operator T*();
-};
-
-
-template <class T>
-S::operator T*()
-{
- printf("Hello, world.\n");
- return 0;
-}
-
-
-int main()
-{
- S s;
-
- char* cp = s.operator char*();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp11.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp11.C
deleted file mode 100644
index a0d681dc199..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp11.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S
-{
- template <class U>
- S(U u, int i) {}
-
- template <class T>
- T foo(T t)
- {
- printf("Hello, world.\n");
- return t;
- }
-};
-
-
-int main()
-{
- S s(3, 4);
- int i = s.foo(3);
- s.foo("hello");
- s.foo(s);
-
- S s2("hello", 5);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp12.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp12.C
deleted file mode 100644
index 94a8c3c3026..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp12.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class T>
-struct S
-{
- template <class U>
- void foo(U);
-};
-
-void f()
-{
- S<int> s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp13.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp13.C
deleted file mode 100644
index d6bc7b967fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp13.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class T>
-struct S
-{
- template <class U>
- void foo(U);
-};
-
-void f()
-{
- S<int> s;
- s.foo(3);
- s.foo("hello");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp14.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp14.C
deleted file mode 100644
index e24a3a7f0de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp14.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" const char* printf(const char*, ...);
-
-template <class T>
-struct S
-{
- template <class U, class V>
- void foo(U, V);
-};
-
-
-template <class T>
-template <class U, class V>
-void S<T>::foo(U, V)
-{
- printf("Hello, world.\n");
-}
-
-
-int main()
-{
- S<int> s;
- s.foo(3, 3);
- s.foo("hello", s);
-
- S<char*> s2;
- s2.foo(3, 3);
- s2.foo("hello", s);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp15.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp15.C
deleted file mode 100644
index 140730ba725..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp15.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class T>
-struct S
-{
- template <class U>
- void foo(U) {}
-};
-
-
-void f()
-{
- S<int> s;
- s.foo(3);
- s.foo("hello");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C
deleted file mode 100644
index cfa66aac0ce..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class U>
-struct S {
- template <class T>
- void operator+(T);
-};
-
-template <class U>
-template <class T>
-void S<U>::operator+(T)
-{
- printf("Hello, world.\n");
-}
-
-
-int main()
-{
- S<int> s;
- s + 3;
- s + s;
- s.operator+("Hi");
-
- S<S<int> > s2;
- s2 + 3;
- s2 + s;
- s2.operator+("Hi");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp17.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp17.C
deleted file mode 100644
index 0816b3665b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp17.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class V>
-struct S {
- template <class T, class U>
- S(T, U, T);
-};
-
-
-template <class V>
-template <class T, class U>
-S<V>::S(T t1, U u1, T t2)
-{
- printf("Hello, world.\n");
-}
-
-
-int main()
-{
- S<int> s1(3, "abc", 3);
- S<int> s2('a', s1, 'a');
-
- S<char> s3("abc", 3, "abc");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp18.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp18.C
deleted file mode 100644
index 638e5e33852..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp18.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-struct S
-{
- template <class T>
- void foo(T) {}
-};
-
-template void S::foo(int);
-
-int main()
-{
- S s;
- s.foo(3);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp19.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp19.C
deleted file mode 100644
index 8551531b5cd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp19.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S {
- template <class T>
- operator T();
-};
-
-template <class T>
-S::operator T()
-{
- printf("Hello, world.\n");
- return T();
-}
-
-
-template S::operator int();
-
-int main()
-{
- S s;
-
- int i = s.operator int();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp2.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp2.C
deleted file mode 100644
index e000ffaed1e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-struct S {
- template <class T>
- void foo(T&);
-};
-
-
-template <class U>
-void S::foo(U&)
-{
-}
-
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp20.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp20.C
deleted file mode 100644
index a79c53467d5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp20.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S
-{
- template <class T, class U>
- void foo(T t, U u);
-
- template <class U>
- void foo(char*, U);
-
- void foo(int i);
-};
-
-template <class T, class U>
-void S::foo(T t, U u)
-{
- printf ("T,U version\n");
-}
-
-
-template <class U>
-void S::foo(char*, U u)
-{
- printf ("char*,U version\n");
-}
-
-
-void S::foo(int i)
-{
- printf ("int version\n");
-}
-
-
-int main()
-{
- S s;
- s.foo(3);
- s.foo(3, 3);
- s.foo("abc", s);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
deleted file mode 100644
index 5310b624fae..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- S()
- { printf ("In S::S()\n"); f(3); }
-
- S(char)
- { printf ("In S::S(char)\n"); f(*this); }
-
- template <class U>
- void f(U u)
- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); }
-
- int c[16];
-};
-
-int main()
-{
- S<char*> s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
deleted file mode 100644
index b1bfac17cdf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- S()
- { printf ("In S::S()\n"); f(3); }
-
- S(char)
- { printf ("In S::S(char)\n"); f(*this); }
-
- template <class U>
- void f(U u)
- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); }
-
- int c[16];
-};
-
-int main()
-{
- S<char*> s;
- S<char*> s2('a');
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
deleted file mode 100644
index 672a9c8e28d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- template <class U>
- void f(U u) { printf ("%d\n", sizeof (U)); }
-
- int i[4];
-};
-
-
-int main()
-{
- S<char*> s;
- s.f(3);
- s.f(s);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
deleted file mode 100644
index cbfc93eb2cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- template <class U>
- void f(U u);
-
- int i[4];
-};
-
-
-template <class X>
-template <class U>
-void S<X>::f(U u)
-{
- printf ("%d\n", sizeof (U));
-}
-
-
-int main()
-{
- S<char*> s;
- s.f(3);
- s.f(s);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp27.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp27.C
deleted file mode 100644
index b1bfac17cdf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp27.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- S()
- { printf ("In S::S()\n"); f(3); }
-
- S(char)
- { printf ("In S::S(char)\n"); f(*this); }
-
- template <class U>
- void f(U u)
- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); }
-
- int c[16];
-};
-
-int main()
-{
- S<char*> s;
- S<char*> s2('a');
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp28.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp28.C
deleted file mode 100644
index 37e79c8cfef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp28.C
+++ /dev/null
@@ -1,27 +0,0 @@
-extern "C" void abort();
-
-int k;
-
-template <class X>
-struct S
-{
- template <class U>
- void f(U u)
- { ++k; g(u); }
-
- template <class U>
- void g(U u)
- { ++k; }
-
- int c[16];
-};
-
-int main()
-{
- S<char*> s;
- s.f(3);
- s.f("adf");
-
- if (k != 4)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp29.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp29.C
deleted file mode 100644
index 4000070c30a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp29.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- template <class U>
- void f(U u);
-
- template <class U>
- void g(U U);
-
- int c[16];
-};
-
-template <class X>
-template <class U>
-void S<X>::f(U u)
- { printf ("In S::f(U)\n"); g(u); }
-
-template <class X>
-template <class U>
-void S<X>::g(U u)
- { printf ("In S::g(U)\n"); }
-
-int main()
-{
- S<char*> s;
- s.f(3);
- s.f("adf");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp3.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp3.C
deleted file mode 100644
index 2a4dbb85c31..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp3.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S {
- template <class T>
- void foo(T);
-};
-
-
-template <class T>
-void S::foo(T)
-{
- printf("Hello, world.\n");
-}
-
-
-
-int main()
-{
- S s;
- s.foo(3);
- s.foo(s);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp30.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp30.C
deleted file mode 100644
index 923ec85a738..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp30.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- template <class U>
- void g(U u) { this; }
-};
-
-
-int main()
-{
- S<char*> s;
- s.g(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp31.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp31.C
deleted file mode 100644
index 3bb1cd3dd99..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp31.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S
-{
- template <class U>
- void g(U u)
- { this; }
-};
-
-int main()
-{
- S s;
- s.g(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp32.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp32.C
deleted file mode 100644
index 3f0bfc7729f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp32.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S
-{
- template <class U>
- void g(U u)
- { i = 3; }
-
- int i;
-};
-
-int main()
-{
- S s;
- s.g(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp33.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp33.C
deleted file mode 100644
index 500abe0a30e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp33.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class T>
-struct S
-{
- template <class U>
- void g(U u)
- { i; }
-
- int i;
-};
-
-int main()
-{
- S<char> s;
- s.g(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp34.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp34.C
deleted file mode 100644
index 29e11017acf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp34.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-template <class T>
-struct S
-{
- template <class U>
- static void f(U u)
- {}
-};
-
-int main()
-{
- S<int>::f(3);
- S<char>::f("abc");
- S<int>::f("abc");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp35.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp35.C
deleted file mode 100644
index 7603d947b88..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp35.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class T>
-struct S
-{
- S(const S& s) {}
-
- template <class U>
- S(S<U>& s)
- {
- S<U> s2(s);
- }
-};
-
-
-extern S<int>& si;
-
-void foo()
-{
- S<char*> sc(si);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp36.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp36.C
deleted file mode 100644
index 6c57a97c0ea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp36.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class X>
-struct R
-{
-};
-
-
-template <class T>
-struct S
-{
- template <class U>
- S(R<U> r);
-};
-
-
-void foo()
-{
- R<int> r;
- S<char*> s(r);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp37.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp37.C
deleted file mode 100644
index 186083b8009..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp37.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class T>
-struct S
-{
- template <class U>
- void f(U u);
-};
-
-
-template <class T>
-template <class U>
-void S<T>::f(U)
-{
-}
-
-enum
-{
- a = 3
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp39.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp39.C
deleted file mode 100644
index 146d329de68..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp39.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class T>
-struct S
-{
- template <class U>
- void f(U u) { g(u); }
-
- template <class U>
- void g(U u) { f(u); }
-};
-
-void foo()
-{
- S<int> si;
- si.f(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp4.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp4.C
deleted file mode 100644
index b9f9c16a8e5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp4.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-struct S {
- template <class T>
- void operator+(T);
-};
-
-
-template <class T>
-void S::operator+(T)
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp40.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp40.C
deleted file mode 100644
index 70506f000ed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp40.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class T>
-struct R
-{
- template <class U>
- void g(U u) {}
-};
-
-template <class T>
-struct S
-{
- template <class U>
- void f(U u) { R<T> r; r.g(u); }
-};
-
-void foo()
-{
- S<int> si;
- si.f("abc");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp41.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp41.C
deleted file mode 100644
index 603f702c4d1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp41.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <int i>
-struct S
-{
- static void foo() {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp42.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp42.C
deleted file mode 100644
index 3c11dd4229c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp42.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-template<class T, int N>
-class Foo {
-
-public:
- template<int N2>
- Foo<T,N> operator=(const Foo<T,N2>& z)
- {
- return Foo<T,N>();
- }
-};
-
-int main()
-{
- Foo<double,4> x;
- Foo<double,7> y;
- x = y;
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp43.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp43.C
deleted file mode 100644
index 3d8e3ad7cff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp43.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-template<class T, int N>
-class A
-{
-public:
- template<class U>
- void operator=(A<U, N> const & a) { return; }
-};
-
-int main()
-{
- A<float, 3> a;
- A<double, 3> b;
- a = b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp44.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp44.C
deleted file mode 100644
index c8d6f163c4d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp44.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-template<class T>
-class A
-{
-};
-
-template<>
-class A<float>
-{
-public:
- template<class U>
- void func(U v1) {}
-};
-
-int main()
-{
- A<float> a;
- a.func(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp45.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp45.C
deleted file mode 100644
index d71f25d07d5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp45.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-template<class T>
-class A
-{
-};
-
-template<>
-class A<float>
-{
-public:
- template<class U>
- void func(U v1 = 0) {}
-};
-
-int main()
-{
- A<float> a;
- a.func(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp46.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp46.C
deleted file mode 100644
index 2212a52123f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp46.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-template<class T, class U>
-class A
-{
-};
-
-template<class U>
-class A<float, U>
-{
-public:
- template <class V>
- void func(V v1 = 0) {}
-};
-
-int main()
-{
- A<float, int> a;
- a.func("abc");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp47.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp47.C
deleted file mode 100644
index e4f7ebf4922..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp47.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-template <class X>
-struct S
-{
- template <class U>
- void g(U u)
- { printf ("In S::g(U)\n"); }
-
- int c[16];
-};
-
-
-template <class X>
-struct T : public S<X>
-{
- template <class U>
- void f(U u)
- { printf ("In T::f(U)\n"); g(u); }
-};
-
-int main()
-{
- T<char*> t;
- t.f(3);
- t.f("adf");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp48.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp48.C
deleted file mode 100644
index 8ce6f668467..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp48.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-struct S
-{
- template <class T>
- void f(T t1, T t = T())
- {}
-};
-
-
-void foo()
-{
- S si;
- si.f(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp49.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp49.C
deleted file mode 100644
index f2d610fdc44..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp49.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <class X>
-struct S
-{
- template <class T>
- void f(T t1, T t = T())
- {}
-};
-
-
-void foo()
-{
- S<int> si;
- si.f(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp5.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp5.C
deleted file mode 100644
index 14647a30560..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp5.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S {
- template <class T>
- void operator+(T);
-};
-
-
-template <class T>
-void S::operator+(T)
-{
- printf("Hello, world.\n");
-}
-
-
-
-int main()
-{
- S s;
- s + 3;
- s + s;
- s.operator+("Hi");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp52.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp52.C
deleted file mode 100644
index 25dc7e752be..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp52.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template<class T, int N>
-class A { };
-
-template<int N>
-struct X {
- template<class T2, int N2>
- void f(A<T2,N>&, A<int,N2>&)
- { }
-};
-
-
-void foo()
-{
- X<3> x;
- A<char*, 3> a1;
- A<int, 2> a2;
- x.f(a1, a2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp53.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp53.C
deleted file mode 100644
index 4fd65b9f1cc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp53.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-template<int N>
-struct I {
-};
-
-template<class T>
-struct A {
-
- int r;
-
- template<class T1, class T2>
- void operator()(T1, T2)
- { r = 0; }
-
- template<int N1, int N2>
- void operator()(I<N1>, I<N2>)
- { r = 1; }
-};
-
-int main()
-{
- A<float> x;
- I<0> a;
- I<1> b;
-
- x(a,b);
- if (x.r != 1)
- return 1;
-
- x(float(), double());
- if (x.r != 0)
- return 1;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp55.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp55.C
deleted file mode 100644
index b955189a2c2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp55.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template<class X> class _bz_update { };
-
-template<class T>
-struct S {
-template<int N_destRank>
-void foo() { _bz_update<int>(); }
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp56.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp56.C
deleted file mode 100644
index ef6b286a6fd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp56.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template<class P_numtype, int N_length>
-class TinyVector {};
-
-template<class P_numtype, int N_rank>
-struct Array
-{
- template<int N_rank2>
- Array() {}
-
- template<int N_rank2>
- P_numtype operator()(const TinyVector<int,N_rank2>& index) const {}
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C
deleted file mode 100644
index 38c295388d0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template<int N, class T>
-struct B {
-};
-
-template<int N1, int N2, int N3>
-struct D {
- struct E {
- template<int N4, class T>
- static void f(B<N4,T>)
- { }
- };
-};
-
-template<int N>
-struct A {
- template<int N2, class T, int N3>
- static void f(B<N2,T>, B<N3,T> b)
- {
- typedef typename D<N2,N3,N>::E E;
- E::f(b);
- }
-};
-
-void foo()
-{
- A<5>::f(B<5,float>(),B<3,float>());
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp59.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp59.C
deleted file mode 100644
index fbdc0d850a2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp59.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-template <int N>
-struct IndexPlaceholder {};
-
-template <int N1, int N2, int N3>
-struct ArrayIndexMapping {};
-
-template <class T_numtype, int N_rank>
-struct Array
-{
- template<int N0, int N1>
- ArrayIndexMapping<N_rank, N0, N1>
- f(IndexPlaceholder<N0>, IndexPlaceholder<N1>);
-};
-
-
-template <class T_numtype>
-void foo(T_numtype)
-{
- Array<T_numtype, 1> t;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp6.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp6.C
deleted file mode 100644
index 6989a7df735..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp6.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-struct S {
- template <class T, class U>
- S(T, U, T);
-};
-
-
-template <class T, class U>
-S::S(T, U, T)
-{
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp60.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp60.C
deleted file mode 100644
index 7358d7225f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp60.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// GROUPS passed membertemplates
-template <class T>
-struct S
-{
- S(const S<T>& x) {}
-
- template <class U>
- S(const S<U>& x) {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp61.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp61.C
deleted file mode 100644
index 1fdb055b357..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp61.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't run:
-// GROUPS passed membertemplates
-struct S
-{
- template <class T>
- void foo(T t);
-};
-
-
-template <>
-void S::foo(int i)
-{
-}
-
-
-int main()
-{
- S s;
- s.foo(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp62.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp62.C
deleted file mode 100644
index 8cfadeffd3e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp62.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't run:
-// GROUPS passed membertemplates
-struct S
-{
- template <class T>
- void foo(T t);
-};
-
-
-template <>
-void S::foo<int>(int i)
-{
-}
-
-
-int main()
-{
- S s;
- s.foo(3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp63.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp63.C
deleted file mode 100644
index 4f793d40e53..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp63.C
+++ /dev/null
@@ -1,13 +0,0 @@
-template <class T> struct A {
- template <class U> void f (U u);
-};
-
-A<int> a;
-
-template <class T> template <class U> void A<T>::f (U u) { }
-
-int main()
-{
- a.f (24);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp64.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp64.C
deleted file mode 100644
index 6185d3d6058..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp64.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1 {};
-
-template <class T>
-void f(T);
-
-template <class C>
-struct S2
-{
- template <class T>
- void f<S1<T> >(T) {} // ERROR - bad specialization.
-};
-
-
-template <class T>
-struct S3
-{
- friend class S2<T>;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp65.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp65.C
deleted file mode 100644
index ef49d84317e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp65.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-
-template<unsigned int n> struct PartialDotProduct {
- template<class T>
- static T Expand(T* a, T* b) { return T(); }
-};
-
-const int N = 10;
-
-template<class In1, class In2>
-void
-dot(In1 f1, In2 f2)
-{
- PartialDotProduct<N>::Expand(f1, f2);
-
-}
-
-int main()
-{
- double a[N], b[N];
-
- dot(&a[0], &b[0]);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp66.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp66.C
deleted file mode 100644
index d7c1f57fc6c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp66.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S
-{
- template <class U>
- void f(U u) { this->template f<>(3); }
-};
-
-
-void g()
-{
- S<char> s;
- s.f(1.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp67.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp67.C
deleted file mode 100644
index 7170c9027b8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp67.C
+++ /dev/null
@@ -1,19 +0,0 @@
-template <class T>
-struct A
-{
- template <class T2>
- operator A<T2>() const { return A<T2>(); }
-};
-
-int main()
-{
- A<int> a1;
- A<long> a2;
- A<double> a3;
- A<char> a4;
-
- a2 = a1.operator A<long>();
- a3 = (A<double>) a1;
- a4 = a1;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp68.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp68.C
deleted file mode 100644
index 96a08145c00..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp68.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
- struct locale
- {
- template<class _Facet>
- locale (const locale&, _Facet*);
- locale(int*) throw();
- };
- void f(int* p) { locale keep (p); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C
deleted file mode 100644
index 4c9a2a91ca7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C
+++ /dev/null
@@ -1,35 +0,0 @@
-struct S
-{
- template <class T>
- void f(T (&i)[7])
- {}
-
- void g()
- {
- int i[] = {1, 2, 3, 4, 5, 6, 7};
- f(i);
- int j[7];
- f(j);
- }
-};
-
-struct foo {
- template <typename T, int N>
- static T* array_end(T(&array)[N]) { return &array[N]; }
-};
-
-struct X
-{
- template <class T1>
- void f(const T1&) {}
-};
-
-int main(int ac, char* av[]) {
- S s;
- s.g();
- int i[] = {1,2,3,4,5};
- int* e = foo::array_end(i);
- X x;
- x.f("hello");
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp7.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp7.C
deleted file mode 100644
index 2dee05834f9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp7.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S {
- template <class T, class U>
- S(T, U, T);
-};
-
-
-template <class T, class U>
-S::S(T t1, U u1, T t2)
-{
- printf("Hello, world.\n");
-}
-
-
-int main()
-{
- S s1(3, "abc", 3);
- S s2('a', s1, 'a');
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp70.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp70.C
deleted file mode 100644
index 2a9fe8a2c35..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp70.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-template <class T>
-class X {
-public:
- T x;
-};
-
-class Y {
-public:
- template <class T> static void f(X<T>& a) {}
-
- void g(void);
-};
-
-void
-Y::g(void)
-{
- X<int> a;
-
- f(a);
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp71.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp71.C
deleted file mode 100644
index 38cf5c78549..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp71.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-class A
-{
- template<class T>T epsilon; // ERROR - invalid member template
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C
deleted file mode 100644
index 52332c63c61..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-template<class P> struct B
-{
- template<class T> void f(T& t) { t = T(); }
-};
-
-enum ptype { t1, t2};
-
-struct D : public B<ptype>
-{
- void g(double& d) { f(d); }
-};
-
-
-D d;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp73.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp73.C
deleted file mode 100644
index 5732d49756e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp73.C
+++ /dev/null
@@ -1,18 +0,0 @@
-template <class T> struct A {
- template <class U> void f(U);
-};
-
-template <int i> struct B { };
-
-template <class T> template <class U>
-void A<T>::f (U)
-{
- enum { foo };
- B<foo> b;
-}
-
-int main ()
-{
- A<char> a;
- a.f (42);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp74.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp74.C
deleted file mode 100644
index e99103f40e6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp74.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-template <class T>
-class S
-{
-protected:
- template <class U>
- void f(U); // ERROR - is protected
-
-private:
- template <class U>
- void g(U); // ERROR - is private
-};
-
-
-void f()
-{
- S<double> s;
- s.f(3); // ERROR - within this context
- s.g(2.0); // ERROR - within this context
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C
deleted file mode 100644
index 4ff38b6c04c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-void
-print(const int& i)
-{
-}
-
-template<class A>
-class bar
-{
-public:
- template<void (*B)(const A& a)>
- void doit(const A& a)
- {
- B(a);
- }
-};
-
-
-int
-main()
-{
- bar<int> b;
- b.template doit<print>(2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp76.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp76.C
deleted file mode 100644
index b2028511a11..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp76.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-class base
-{
-public:
- virtual void method()=0;
-};
-
-class der: public base
-{
-public:
- template<class C>
- void method()
- {
- C foo;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C
deleted file mode 100644
index ca4cf20e7df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C
+++ /dev/null
@@ -1,25 +0,0 @@
-extern "C" int strcmp(const char*, const char*);
-
-template <class T>
-struct S3
-{
- template <class U>
- static char* h(U);
-};
-
-template <>
-template <>
-char* S3<double>::h(int) { return __PRETTY_FUNCTION__; }
-
-template <>
-template <>
-char* S3<char>::h(int) { return __PRETTY_FUNCTION__; }
-
-int main()
-{
- if (strcmp (S3<double>::h(7),
- "static char * S3<double>::h<int>(int)") == 0)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp78.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp78.C
deleted file mode 100644
index 945e7ff68f0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp78.C
+++ /dev/null
@@ -1,56 +0,0 @@
-// Build don't link:
-
-struct A
-{
- void f() {}
-
- template <class U>
- void f() {}
-};
-
-
-template <class T>
-struct B
-{
- void f() {}
-
- template <class U>
- void f() {}
-};
-
-template struct B<int>;
-
-struct C
-{
- template <class U>
- void f() {}
-
- template <class U>
- void f() {} // ERROR - redeclaration
-};
-
-
-template <class T, class U>
-struct D
-{
- void f(T);
- void f(U);
-};
-
-template struct D<int, double>;
-
-template <class T, class U>
-struct D2
-{
- void f(T);
- void f(U); // ERROR - redeclaration
-};
-
-template struct D2<int, int>;
-
-struct E
-{
- void f();
- void f(); // ERROR - redeclaration
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C
deleted file mode 100644
index 4eeffde4e7c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-struct foo {
- template<typename T> static void bar( foo* );
- template<typename T> void bar() const; // gets bogus error - quals XFAIL *-*-*
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp8.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp8.C
deleted file mode 100644
index 1bf08908790..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp8.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// GROUPS passed templates membertemplates
-struct S {
- template <class T>
- operator T();
-};
-
-
-template <class T>
-S::operator T()
-{
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp80.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp80.C
deleted file mode 100644
index 61a2fb87033..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp80.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template<typename T> T baz() { return 0; }
-
-struct foo {
- template<typename T> static T staticbar() { return 0; }
- template<typename T> T bar() { return 0; }
-};
-
-void f()
-{
- foo t;
- int i = baz<int>();
- int j = foo::staticbar<int>();
- int k = t.bar<int>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C
deleted file mode 100644
index 1584f88b802..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-template <int i> class a
-{
-public :
-int k;
-
-template <int j> int f() const { return this->f<j-1>(); }
-
-int g() const { return f<i>(); };
-};
-
-template <>
-template <>
-int a<2>::f<0>() const {
- return 0;
-}
-
-int main()
-{
-a<2> x;
-return x.g();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp82.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp82.C
deleted file mode 100644
index d4bb37aa410..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp82.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-// excess errors test
-
-struct foo {
- template<typename T> T bar() { return staticbar<T>( this ); }
- template<typename T> static T staticbar( foo* ) { return 0; }
-};
-
-void f()
-{
- foo t;
- int k = t.bar<int>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp83.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp83.C
deleted file mode 100644
index 69ab94820b0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp83.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Origin: Corey Kosak <kosak@cs.cmu.edu>
-
-struct cow_t {
- template<bool Q>
- static void tfunc(cow_t *cowp) {}
-
- void moo() {
- cow_t *cowp;
- tfunc<true>(cowp);
- }
-};
-
-
-int main()
-{
- cow_t *cowp;
- cow_t::tfunc<true>(cowp);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp9.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp9.C
deleted file mode 100644
index 943dbfb7767..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp9.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't run:
-// GROUPS passed templates membertemplates
-extern "C" int printf(const char*, ...);
-
-struct S {
- template <class T>
- operator T();
-};
-
-template <class T>
-S::operator T()
-{
- printf("Hello, world.\n");
- return T();
-}
-
-int main()
-{
- S s;
-
- int i = s.operator int();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/mi1.C b/gcc/testsuite/g++.old-deja/g++.pt/mi1.C
deleted file mode 100644
index 82822611a4b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/mi1.C
+++ /dev/null
@@ -1,75 +0,0 @@
-// Test that binfos aren't erroneously shared between instantiations.
-
-class PK_CryptoSystem
-{
-};
-class PK_Encryptor : public virtual PK_CryptoSystem
-{
-};
-class PK_FixedLengthCryptoSystem : public virtual PK_CryptoSystem
-{
-public:
- virtual unsigned int CipherTextLength() const =0;
-};
-class PK_FixedLengthEncryptor : public virtual PK_Encryptor, public virtual PK_FixedLengthCryptoSystem
-{
-};
-class PK_SignatureSystem
-{
-public:
- virtual ~PK_SignatureSystem() {};
-};
-class PK_Signer : public virtual PK_SignatureSystem
-{
-public:
- virtual void Sign() = 0;
-};
-class PK_Verifier : public virtual PK_SignatureSystem
-{
-};
-class PK_Precomputation
-{
-};
-template <class T> class
-PK_WithPrecomputation : public T, public virtual PK_Precomputation
-{
-};
-typedef PK_WithPrecomputation<PK_FixedLengthEncryptor> PKWPFLE;
-typedef PK_WithPrecomputation<PK_Signer> PKWPS;
-template <class EC> class
-ECPublicKey : public PKWPFLE
-{
-public:
- unsigned int CipherTextLength() const { return 1; }
- EC ec;
-};
-template <class EC>
-class ECPrivateKey : public ECPublicKey<EC>, public PKWPS
-{
- void Sign() {}
- int d;
-};
-template <class EC>
-class ECKEP : public ECPrivateKey<EC>
-{
-};
-class GF2NT : public PK_CryptoSystem
-{
- int t1;
-};
-class EC2N : public PK_CryptoSystem
-{
- GF2NT field;
- int a;
-};
-template class ECKEP<EC2N>;
-template class ECKEP<int>;
-
-int
-main ()
-{
- ECKEP<EC2N> foo;
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nested1.C b/gcc/testsuite/g++.old-deja/g++.pt/nested1.C
deleted file mode 100644
index 3df7c47abb6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nested1.C
+++ /dev/null
@@ -1,47 +0,0 @@
-// Build don't link:
-
-template <class T1,class T2>
-struct X
-{
- T1 a;
-
- struct Y
- {
- T2 x;
- Y (T2 _x) { x=_x; }
- };
-
-};
-
-template <class T1>
-struct X<T1,int>
-{
- T1 a;
-
- struct Y
- {
- int x;
- Y (int _x) { x=_x; }
- };
-
-};
-
-template <>
-struct X<int,int>
-{
- int a;
-
- struct Y
- {
- int x;
- Y (int _x) { x=_x; }
- };
-
-};
-
-void f ()
-{
- X<char,char> t1;
- X<char,int> t2;
- X<int,int> t3;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nested2.C b/gcc/testsuite/g++.old-deja/g++.pt/nested2.C
deleted file mode 100644
index ce52b4e5cea..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nested2.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Origin: Mathias Doreille <Mathias.Doreille@imag.fr>
-
-template<class T>
-struct a {
- struct b {
- T operator()();
- };
-};
-
-
-template<class T>
-T a<T>::b::operator()() { return T(0); }
-
-template<> int a<int>::b::operator()() { return 1; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/niklas01.C b/gcc/testsuite/g++.old-deja/g++.pt/niklas01.C
deleted file mode 100644
index 6dcf9d3efaf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/niklas01.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-template <class T> struct A {};
-template <class T> struct B : A<B<T> > {};
-
-B<int> x;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C b/gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C
deleted file mode 100644
index 027f2ae9595..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-struct A {
- friend struct B : A { // ERROR -
- int x;
- };
- int y;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/niklas01b.C b/gcc/testsuite/g++.old-deja/g++.pt/niklas01b.C
deleted file mode 100644
index fa2e5ac884a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/niklas01b.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-template <class T> struct A { T *t; inline A() { t = 0; } };
-template <class T> struct B : A<B<T> > { int x; inline B() { x = 3; } };
-
-B<int> x;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/niklas02.C b/gcc/testsuite/g++.old-deja/g++.pt/niklas02.C
deleted file mode 100644
index b4d300deaed..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/niklas02.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-struct B { int foo (); };
-int B::foo() { return 37; }
-
-template <class A> struct X {
- void f(int);
-};
-
-template <class A> void X<A>::f (int jj)
-{}
-
-X<int> x;
-
-void xxx () { x.f (1); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/niklas03.C b/gcc/testsuite/g++.old-deja/g++.pt/niklas03.C
deleted file mode 100644
index 29b19726a2d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/niklas03.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class A> struct X {
- A operator[] (int);
-};
-
-template <class A> A X<A>::operator[] (int i)
-{
- return A(); // gets bogus error
-}
-
-X<int> x;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nontype1.C b/gcc/testsuite/g++.old-deja/g++.pt/nontype1.C
deleted file mode 100644
index 120282a7a45..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nontype1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-template<int N_length>
-struct B
-{
- B();
- ~B();
-};
-template<class P, int N>
-struct D
-{
- D(int r0);
- D(B<N-1> &, int);
-};
-template<class T>
-void func()
-{
- D<T,1> tmp;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nontype2.C b/gcc/testsuite/g++.old-deja/g++.pt/nontype2.C
deleted file mode 100644
index e18141191a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nontype2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-enum E { };
-
-template <const E* ep>
-struct S1
-{
-};
-
-
-struct S2
-{
- static E es[1];
-};
-
-
-struct S3
-{
- typedef S1<S2::es> S3_Type;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nontype3.C b/gcc/testsuite/g++.old-deja/g++.pt/nontype3.C
deleted file mode 100644
index d6f339453ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nontype3.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-
-enum E { e };
-
-template <const E* ep>
-struct S1
-{
- static char* s;
-};
-
-template <int D>
-struct S2 {};
-
-template <>
-struct S2<1>
-{
- static E es[1];
-};
-
-struct S3
-{
- typedef S1<S2<1>::es> S3_Type;
-};
-
-E S2<1>::es[1] = {e};
-
-template <>
-char* S1<S2<1>::es>::s = "abc";
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nontype4.C b/gcc/testsuite/g++.old-deja/g++.pt/nontype4.C
deleted file mode 100644
index 2aa38b1cd67..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nontype4.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-
-template <class R, void (R::* A) (void)>
-class s
-{
-public:
- s (R &r) : _r (r) {}
-
- void e (void) { (_r.*A) (); }
-
-private:
- R &_r;
-};
-
-class x
-{
-public:
- void test1 (void) { int j = 0; }
- void test2 (void) { int j = 1; }
-};
-
-int
-main (void)
-{
- x r;
-
- s<x, &x::test1> c4 (r);
- s<x, &x::test2> c5 (r);
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nttp1.C b/gcc/testsuite/g++.old-deja/g++.pt/nttp1.C
deleted file mode 100644
index 36b743848c4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nttp1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Test for nested template template parameter feature
-
-template <template<template <class> class> class TTT> struct C
-{
- int f();
-};
-
-template <template<template <class> class> class TTT> int C<TTT>::f()
-{
- return 0;
-}
-
-template <template <class> class TT> struct D
-{
-};
-
-int main()
-{
- C<D> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/nttp2.C b/gcc/testsuite/g++.old-deja/g++.pt/nttp2.C
deleted file mode 100644
index 08781daf516..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/nttp2.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Test for nested template template parameter feature
-
-template <template<template <class> class> class TTT> struct C
-{
- int f() { return 0; }
-};
-
-template <template <class> class TT> struct D
-{
- int a;
-};
-
-template <template <class> class TT> struct E
-{
- int a;
- int b;
-};
-
-template <template <template <template<class> class> class> class TTT>
-int g(TTT<E> t)
-{
- TTT<D> tt;
- return tt.f();
-}
-
-int main()
-{
- C<E> c;
- g(c);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload1.C b/gcc/testsuite/g++.old-deja/g++.pt/overload1.C
deleted file mode 100644
index 25a40b13f02..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload1.C
+++ /dev/null
@@ -1,15 +0,0 @@
-template <class T> struct B { };
-
-template <class T> struct A {
- template <class U, class V> int operator () (U u, V v);
- template <class U, class V> void operator () (B<U> u, B<V> v) { }
-};
-
-int
-main ()
-{
- A<int> a;
- B<char> b1;
- B<short> b2;
- a (b1, b2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload10.C b/gcc/testsuite/g++.old-deja/g++.pt/overload10.C
deleted file mode 100644
index 19dd174a019..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload10.C
+++ /dev/null
@@ -1,16 +0,0 @@
-struct B {
- int f(int) { return 1; }
-};
-
-struct D {
- template <class T>
- int f(T) { return 0; }
-};
-
-int main()
-{
- int (D::*g)(int) = &D::f;
-
- D d;
- return (d.*g)(0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload11.C b/gcc/testsuite/g++.old-deja/g++.pt/overload11.C
deleted file mode 100644
index 300d91ea2b8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload11.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't run:
-
-template <class T>
-int f(int (*fn)(T))
-{
- return (*fn)(3);
-}
-
-struct S {
- static int g(int) { return 1; }
- static void g();
-
- int h();
-};
-
-int S::h()
-{
- return f(&g);
-}
-
-
-int main()
-{
- S s;
- if (s.h () != 1)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload12.C b/gcc/testsuite/g++.old-deja/g++.pt/overload12.C
deleted file mode 100644
index bf37bb66867..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload12.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Testcase for not trying a candidate that would generate an ill-formed
-// instantiation.
-
-template <int N> struct A {
- int ar[N];
-};
-
-template <int N> struct B {
- B () { };
- B (const A<N> &) { };
- B (const A<N-1> &, int);
-};
-
-int
-main ()
-{
- A<1> a;
- B<1> b1;
- B<1> b2 (a);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload2.C b/gcc/testsuite/g++.old-deja/g++.pt/overload2.C
deleted file mode 100644
index 809fac4eeda..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload2.C
+++ /dev/null
@@ -1,16 +0,0 @@
-//Build don't link:
-template<class T>
-class C
-{
-public:
- C<T*> O();
- C<T*> O() const;
-};
-
-
-int
-main()
-{
- C<char*> c;
- char* p = Z(c.O); //ERROR - ambiguous c.O
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload3.C b/gcc/testsuite/g++.old-deja/g++.pt/overload3.C
deleted file mode 100644
index a716917bc0a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload3.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template <class T>
-void g(T, T);
-
-template <class T>
-void g(int*, T);
-
-struct S
-{
- void f() const
- {
- g(X, X+3);
- }
-
- double X[3];
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload4.C b/gcc/testsuite/g++.old-deja/g++.pt/overload4.C
deleted file mode 100644
index f4e58e27fc7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload4.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class T> void foo(T);
-
-template <class T> void bar(void (*)(T), T);
-
-void baz() {
- bar<int>(foo, 1);
- bar(foo<int>, 1);
- bar<int>(foo<int>, 1);
- bar(foo, 1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload5.C b/gcc/testsuite/g++.old-deja/g++.pt/overload5.C
deleted file mode 100644
index 058f4f4325c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload5.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-template <class T> void foo(); // ERROR - candidate
-
-void (*bar)() = foo<void>;
-void (*baz)() = foo; // ERROR - can't deduce T
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload6.C b/gcc/testsuite/g++.old-deja/g++.pt/overload6.C
deleted file mode 100644
index 10f793a8633..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload6.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Check that foo<int> isn't resolved too early.
-
-template <class T> void foo(T*);
-template <class T, class U> void foo(T*, U) { }
-
-template <class T, class U> void bar(void (*)(T, U), U) { }
-
-int main() {
- bar<int*>(&foo, 1);
- bar<int*>(&foo<int>, 1);
- bar<int*>(foo, 1);
- bar<int*>(foo<int>, 1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload7.C b/gcc/testsuite/g++.old-deja/g++.pt/overload7.C
deleted file mode 100644
index bfd8b5a5eb4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload7.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-// Adapted from testcase by Corey Kosak <kosak@cs.cmu.edu>
-
-template<class T>
-struct moo_t {
- struct cow_t {};
-};
-
-template<class T> void foo(typename moo_t<T>::cow_t) {}
-
-template<class T> void foo(moo_t<T>) {
- typename moo_t<T>::cow_t p;
- foo(p); // gets bogus error - no matching function for call - XFAIL *-*-*
-}
-
-int main() {
- moo_t<int> x;
- foo(x); // gets bogus error - instantiated from here - XFAIL *-*-*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload8.C b/gcc/testsuite/g++.old-deja/g++.pt/overload8.C
deleted file mode 100644
index 9f38a5cb256..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload8.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-// Simplified from bug report by Tim Rowley <tor@cs.brown.edu>
-
-struct baz;
-
-void operator*(baz&, double);
-
-template <class T> inline T operator*(double s, const T &p)
- ; // gets bogus error - must have argument of class type - XFAIL *-*-*
-
-void m(baz& a) { a * .5; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload9.C b/gcc/testsuite/g++.old-deja/g++.pt/overload9.C
deleted file mode 100644
index bd9eeb1791a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/overload9.C
+++ /dev/null
@@ -1,21 +0,0 @@
-template <class T>
-int f(T)
-{
- return 1;
-}
-
-
-template <class T>
-int f(T*)
-{
- return 0;
-}
-
-
-int main()
-{
- int (*h)(int*) = &f;
- int (&k)(int*) = f;
-
- return (*h)(0) || (*k)(0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/parse2.C b/gcc/testsuite/g++.old-deja/g++.pt/parse2.C
deleted file mode 100644
index f7b737e6915..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/parse2.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-template <class T> struct A {
- A (const A&) { }
-};
-
-template A<int>::A (const A&);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/partial1.C b/gcc/testsuite/g++.old-deja/g++.pt/partial1.C
deleted file mode 100644
index 7a929962fd4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/partial1.C
+++ /dev/null
@@ -1,26 +0,0 @@
-template<class T_type, int N>
-class foo {
-public:
- enum bar { z = 0 };
-};
-
-template<int N>
-class foo<double, N> {
-public:
- enum bar { z = 1 };
-};
-
-template<class T_type>
-class foo<T_type, 2> {
-public:
- enum bar { z = 2 };
-};
-
-int main()
-{
- if ((foo<int,3>::z == 0) && (foo<double,3>::z == 1)
- && (foo<float,2>::z == 2))
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/partial2.C b/gcc/testsuite/g++.old-deja/g++.pt/partial2.C
deleted file mode 100644
index cdf2199b012..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/partial2.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// Tests partial specialization
-template<class T> struct foo1 {};
-template<class T, int n> struct foo1<T[n]>;
-foo1<char> bar1;
-foo1<char[10]> baz1; // ERROR - incomplete type
-
-template<class T> struct foo2 {};
-template<class T, unsigned n> struct foo2<T[n]>;
-foo2<char> bar2;
-foo2<char[10]> baz2; // ERROR - incomplete type
-
-typedef unsigned int other1_t;
-template<class T> struct foo3 {};
-template<class T, other1_t n> struct foo3<T[n]>;
-foo3<char> bar3;
-foo3<char[10]> baz3; // ERROR - incomplete type -
-
-typedef int other2_t;
-template<class T> struct foo4 {};
-template<class T, other1_t n> struct foo4<T[n]>;
-foo4<char> bar4;
-foo4<char[10]> baz4; // ERROR - incomplete type -
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/partial3.C b/gcc/testsuite/g++.old-deja/g++.pt/partial3.C
deleted file mode 100644
index 49820db532c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/partial3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Test that partial ordering works between conversion ops from different
-// classes.
-// From Jason Merrill <jason@cygnus.com>
-
-struct A {
- template <class T> operator T*() { return 0; }
-};
-struct B : public A {
- template <class T> operator T();
-};
-
-int main()
-{
- B b;
- (void*) b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/pointer1.C b/gcc/testsuite/g++.old-deja/g++.pt/pointer1.C
deleted file mode 100644
index f85497674df..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/pointer1.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1
-{
-};
-
-template <class T>
-struct S2
-{
- typedef T* pointer_t;
-};
-
-int f(S2<S1<int> >::pointer_t p1, S2<S1<int> >::pointer_t p2)
-{
- return (int) (p1 - p2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C
deleted file mode 100644
index e14c726c1d7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-class foo
-{
-public:
- template<class T>
- T bar() { return 7; }
-};
-
-int
-main()
-{
- foo f;
-
- int (foo::*s)() = &foo::template bar<int>;
- if ((f.*s)() == 7)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem2.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem2.C
deleted file mode 100644
index c6927d19472..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem2.C
+++ /dev/null
@@ -1,43 +0,0 @@
-struct S;
-
-template <S* (S::*p)()>
-struct F {
- S* f (S& s)
- {
- return (s.*p)();
- }
-};
-
-template <int S::*p>
-struct D {
- void d (S& s)
- {
- (s.*p) = 3;
- }
-};
-
-struct S {
- S* g ();
- int i;
- F<&S::g> fg;
- D<&S::i> di;
- S* h(), k(F<&S::h>);
- F<&S::g> fg2;
- D<&S::i> di2;
-};
-
-S* S::g()
-{
- return this;
-}
-
-int main()
-{
- S s;
- s.i = 2;
- s.di.d (s);
- if (s.i != 3)
- return 1;
- if (s.fg2.f(s) != &s)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem3.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem3.C
deleted file mode 100644
index 8b7c373c1b7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S : public S<T*> {};
-template <>
-struct S<int**> {};
-
-void g()
-{
- int S<int*>::*p;
- int S<int>::*q = p;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem4.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem4.C
deleted file mode 100644
index 139be923550..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem4.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't run:
-
-template<class T,class T1>
-int connect_to_method(T* receiver,
- int (T1::*method)())
-{
- return (receiver->*method)();
-}
-
-class Gtk_Container
-{
-public:
- int remove_callback() { return 1; }
- void remove_callback(int);
- int f();
-};
-
-int Gtk_Container::f()
-{
- return connect_to_method(this, &Gtk_Container::remove_callback);
-}
-
-int main()
-{
- Gtk_Container gc;
- if (gc.f () != 1)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
deleted file mode 100644
index c9e6c9b9841..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-// Based on testcase by adriang@campbellsoft.com
-
-struct Null {
- template <typename T> operator T*() { return 0; }
- template <typename C, typename T> operator T C::*() { return 0; }
-#if WORK_AROUND
- typedef int pmf();
- template <typename C> operator pmf C::* () { return 0; }
-#endif
-} NULL;
-
-int *pd = NULL;
-int (*pf)() = NULL;
-int Null::*pmd = NULL;
-int (Null::*pmf)() = NULL; // gets bogus error - cannot convert - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C
deleted file mode 100644
index 946e6244f4a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Build don't link:
-
-class A {
-public:
- virtual void f();
- int i;
-};
-
-class B : public A {
-public:
- void f();
- int j;
-};
-
-template <void (A::*)() >
-void g() {}
-template <int A::*>
-void h() {}
-
-
-int main() {
- g<&A::f>();
- h<&A::i>();
- g<&B::f>(); // ERROR -
- h<&B::j>(); // ERROR -
- g<(void (A::*)()) &A::f>(); // ERROR - XFAIL *-*-*
- h<(int A::*) &A::i>(); // ERROR -
- g<(void (A::*)()) &B::f>(); // ERROR -
- h<(int A::*) &B::j>(); // ERROR -
- g<(void (A::*)()) 0>(); // ERROR -
- h<(int A::*) 0>(); // ERROR -
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem7.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem7.C
deleted file mode 100644
index 9efeec87a68..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem7.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-struct A {
- int i;
-};
-
-template<const int A::* P>
-struct B { };
-
-int main()
-{
- B<&A::i> b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/recursion.C b/gcc/testsuite/g++.old-deja/g++.pt/recursion.C
deleted file mode 100644
index 7efaeb059c0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/recursion.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-
-const double M_PI=3.14159265358979323846;
-
-template<int N,int I,int J,int K>
-inline double SineSeries()
-{
- const double x=I*2*M_PI/N;
- const bool go=K+1!=J;
- return 1.0-x*x/(2*K+2)/(2*K+3)*SineSeries<N*go,I*go,J*go,(K+1)*go>();
-}
-
-template<>
-inline double SineSeries<0,0,0,0>()
-{
- return 1.0;
-}
-
-template<int N,int I>
-inline double Sine()
-{
- const double x=(I*2*M_PI/N);
- return x * SineSeries<N,I,10,0>();
-}
-
-int main()
-{
- double f=Sine<32,5>();
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/recursion2.C b/gcc/testsuite/g++.old-deja/g++.pt/recursion2.C
deleted file mode 100644
index 8cb3a2b30c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/recursion2.C
+++ /dev/null
@@ -1,25 +0,0 @@
-template< int i > struct T :
-public T< i-1 >
-{
-};
-
-template<> struct T< 0 >
-{
-};
-
-template< class F > struct T1 :
-public T< F::dim >
-{
-};
-
-template< int i > struct S
-{
- enum { dim = i } ;
-};
-
-int main()
-{
- T1< S< 4 > > t ;
- return( 0 ) ;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C b/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C
deleted file mode 100644
index 283d83f2aff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1; // ERROR - previous declaration
-
-template <class T, class U>
-struct S1 {}; // ERROR - used 1 template parameter
-
-template <class T = int> // ERROR - original def of default
-struct S2;
-
-template <class T = int>
-struct S2; // ERROR - redefinition of default
-
-template <class T> // ERROR - template parameter
-struct S3;
-
-template <int I>
-struct S3; // ERROR - redeclared here
-
-template <template <class T> class C>
-struct S3; // ERROR - redeclared here
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/redecl2.C b/gcc/testsuite/g++.old-deja/g++.pt/redecl2.C
deleted file mode 100644
index 0b65e1ec957..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/redecl2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-struct A
-{
- template <class A>
- void f(A) {}
-};
-
-void g()
-{
- A a;
- a.f(3);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ref1.C b/gcc/testsuite/g++.old-deja/g++.pt/ref1.C
deleted file mode 100644
index 8b117a5fffb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ref1.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-int i;
-
-template <void (&FN)()>
-void g ()
-{
- FN ();
-}
-
-void h ()
-{
- i = 7;
-}
-
-template void g<h>();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/scope1.C b/gcc/testsuite/g++.old-deja/g++.pt/scope1.C
deleted file mode 100644
index cfd9cdffb32..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/scope1.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-
-template<class X, class Z>
-class foo
-{
-public:
- typedef X y;
-
- class bar {
- public:
- void blah () { y Y; }
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/shadow1.C b/gcc/testsuite/g++.old-deja/g++.pt/shadow1.C
deleted file mode 100644
index dfe99c7b22d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/shadow1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S {
- typedef T X;
-
- class C {
- typedef T X;
- };
-};
-
-template <int I>
-struct S2 {
- enum { A = I };
-
- void f() {
- int A;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/shadow2.C b/gcc/testsuite/g++.old-deja/g++.pt/shadow2.C
deleted file mode 100644
index 452e8ca63b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/shadow2.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Origin: Jason Merrill <jason@cygnus.com>
-
-template <class T> struct A { // ERROR - shadowed parameter
- struct B {
- void T(); // ERROR - shadows template parameter
- };
-};
-A<int> a;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/sizeof.C b/gcc/testsuite/g++.old-deja/g++.pt/sizeof.C
deleted file mode 100644
index 41915b30927..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/sizeof.C
+++ /dev/null
@@ -1,17 +0,0 @@
-extern "C" void abort();
-
-template <int I>
-int bar() { return I; }
-
-template <class T>
-int foo(T)
-{
- return bar<sizeof(T) + 4>() + bar<sizeof(long) + 7>();
-}
-
-
-int main()
-{
- if (foo(2) != sizeof(int) + 4 + sizeof(long) + 7)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/sizeof2.C b/gcc/testsuite/g++.old-deja/g++.pt/sizeof2.C
deleted file mode 100644
index 566665af23c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/sizeof2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Although template class B is not used at all, it causes the
-// incorrect specialization of A to be selected
-
-// Adapted from testcase by Oskar Enoksson <osken393@student.liu.se>
-
-extern "C" void abort();
-
-template<int N, class T> // Base class
-class A { public: static int n() { return sizeof(T); } };
-
-template<int N> // Derived #1
-class B: public A<N,char[N]> {};
-
-template<int N, int M> // Derived #2 (wrong!)
-class C: public A<N,char[M]> {};
-
-int main() {
- if (C<1,2>::n() != 2)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/sizeof3.C b/gcc/testsuite/g++.old-deja/g++.pt/sizeof3.C
deleted file mode 100644
index cd5f701f20f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/sizeof3.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Adapted from testcase by Oskar Enoksson <osken393@student.liu.se>
-
-extern "C" void abort();
-
-template<class T0>
-class A {
-public:
- typedef T0 T;
-};
-
-template<int K>
-class B {
- typedef A<char[K]> BC;
-};
-
-template<int N, int M>
-class C {
-public:
- typedef A<char[M]> AC;
-};
-
-int main() {
- if (sizeof(C<3,7>::AC::T) != 7)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec1.C b/gcc/testsuite/g++.old-deja/g++.pt/spec1.C
deleted file mode 100644
index 7467293e145..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-template <class S, class T>
-class mem_fun1_t {
-public:
- mem_fun1_t(S (T::*pf)(double)) {}
-};
-
-template <class T>
-class mem_fun1_t<void, T> {
-public:
- mem_fun1_t(void (T::*pf)(double)) {}
-};
-
-struct Operation {
- double eval(double) {}
-};
-
-int main() {
- mem_fun1_t<double, Operation> m(&Operation::eval);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec10.C b/gcc/testsuite/g++.old-deja/g++.pt/spec10.C
deleted file mode 100644
index 5d53e2d76b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec10.C
+++ /dev/null
@@ -1,27 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-struct S
-{
- template <int i>
- int f(int j) { abort(); return 0; }
-};
-
-template <>
-template <>
-int S<double>::f<7>(int j) { return j + 7; }
-
-template <>
-template <>
-int S<double>::f<8>(int j) { return j + 8; }
-
-int main()
-{
- S<double> s;
-
- if (s.template f<7>(3) != 10)
- abort();
-
- if (s.template f<8>(3) != 11)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec11.C b/gcc/testsuite/g++.old-deja/g++.pt/spec11.C
deleted file mode 100644
index 340b58e73ec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec11.C
+++ /dev/null
@@ -1,20 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-struct S
-{
- template <class U>
- int f(U u);
-};
-
-template <>
-template <>
-int S<char>::f(int i) { return 1; }
-
-int main()
-{
- S<char> sc;
-
- if (sc.f(3) != 1)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec12.C b/gcc/testsuite/g++.old-deja/g++.pt/spec12.C
deleted file mode 100644
index d9c39654e93..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec12.C
+++ /dev/null
@@ -1,21 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-struct S
-{
- template <class U>
- int f(U u);
-};
-
-
-template <>
-template <>
-int S<char>::f<int>(int i) { return 1; }
-
-int main()
-{
- S<char> sc;
-
- if (sc.f(3) != 1)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec13.C b/gcc/testsuite/g++.old-deja/g++.pt/spec13.C
deleted file mode 100644
index e5748f56c14..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec13.C
+++ /dev/null
@@ -1,43 +0,0 @@
-template <class T>
-void f(T t);
-
-template <class T>
-void f(T* t);
-
-template <>
-void f(int* ip) {}
-
-struct S1
-{
- template <class T>
- void f(T t);
-
- template <class T>
- void f(T* t);
-};
-
-template <>
-void S1::f(int* ip) {}
-
-template <class U>
-struct S2
-{
- template <class T>
- void f(T t);
-
- template <class T>
- void f(T* t);
-};
-
-template <>
-template <>
-void S2<double>::f(int* ip) {}
-
-int main()
-{
- int* ip;
- S1 s1;
- s1.f(ip);
- S2<double> s2;
- s2.f(ip);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec14.C b/gcc/testsuite/g++.old-deja/g++.pt/spec14.C
deleted file mode 100644
index 0380c61f619..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec14.C
+++ /dev/null
@@ -1,9 +0,0 @@
-class X
-{
-public:
- template <typename A, typename B, typename C>
- X() {}
-
- template <typename A, typename B>
- X::X<A, void, B>() {} // ERROR - non-template type used as a template
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec15.C b/gcc/testsuite/g++.old-deja/g++.pt/spec15.C
deleted file mode 100644
index 2e97b046265..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec15.C
+++ /dev/null
@@ -1,49 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-struct S1
-{
- static void f();
-};
-
-template <>
-void S1<int>::f() {}
-
-struct S2
-{
- template <class T>
- static void g(T);
-};
-
-template <>
-void S2::g(double) {}
-
-template <>
-void S2::g<int>(int) {}
-
-template <class T>
-struct S3
-{
- template <class U>
- static int h(U);
-};
-
-template <>
-template <>
-int S3<double>::h(int) { return 0; }
-
-template <>
-template <>
-int S3<char>::h(int) { return 1; }
-
-int main()
-{
- S1<int>::f();
- S2::g(3.0);
- S2::g(7);
-
- if (S3<double>::h(7) != 0)
- abort();
- if (S3<char>::h(7) != 1)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec16.C b/gcc/testsuite/g++.old-deja/g++.pt/spec16.C
deleted file mode 100644
index 9f6da97c771..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec16.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-template<class K>
-struct A {
- int foo(const K&);
- int bar(const K&);
-};
-
-template<class K>
-int
-A<K>::bar(const K& k)
-{
- return(foo(k));
-}
-
-template<>
-int
-A<const char*>::foo(const char*const& k)
-{
- return((int)k);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec17.C b/gcc/testsuite/g++.old-deja/g++.pt/spec17.C
deleted file mode 100644
index 3e3dd63751a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec17.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Build don't link:
-
-template<class T>
-struct Foo { };
-
-template<class T1, class T2>
-struct BT { };
-
-template<class T1, class T2>
-struct BT< Foo<T1>, Foo<T2> > { static const int i = 1; };
-
-template<class T1, class T2>
-struct BT< T1, Foo<T2> > { static const int i = 2; };
-
-template<class T1, class T2>
-struct BT< Foo<T1>, T2 > { static const int i = 3; };
-
-template<class T1, class T2>
-int foo(Foo<T1>, Foo<T2>)
-{
- return 1;
-}
-
-template<class T1, class T2>
-int foo(T1, Foo<T2>)
-{
- return 2;
-}
-
-template<class T1, class T2>
-int foo(Foo<T1>, T2)
-{
- return 3;
-}
-
-void f()
-{
- BT< double, Foo<int> >::i;
- BT< Foo<int>, Foo<int> >::i;
- BT< Foo<int>, float >::i;
- foo(1.0, Foo<int>());
- foo(Foo<int>(), Foo<int>());
- foo(Foo<int>(), 1.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec18.C b/gcc/testsuite/g++.old-deja/g++.pt/spec18.C
deleted file mode 100644
index d7d034d6f7f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec18.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-
-template<class A, class B>
-void foo(const A& a, const B& b)
-{
-}
-
-template<class A, class B>
-void foo(const A& a, const int& b)
-{
-}
-
-template<class A*, class B>
-void foo(const A*& a, const B& b)
-{
-}
-
-template<>
-void foo(const int&, const double&)
-{
-}
-
-
-int
-main()
-{
- foo("98239", 23);
- foo(232, 1.022);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec19.C b/gcc/testsuite/g++.old-deja/g++.pt/spec19.C
deleted file mode 100644
index f9b601125b4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec19.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-template<class T> T f(T o) { return o; }
-template<> int f(int o) { return o; } // ERROR - after specialization
-template int f(int); // ERROR - explicit instantiation
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec2.C b/gcc/testsuite/g++.old-deja/g++.pt/spec2.C
deleted file mode 100644
index 338c69ef31c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec2.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-class X
-{
- public:
- virtual void f() const = 0;
-};
-
-template <class T>
-class Y: public X
-{
- public:
- virtual void f() const;
-};
-
-template <class T>
-void Y<T>::f() const
-{
-}
-
-template <>
-void Y<bool>::f() const;
-
-template <>
-void Y<bool>::f() const
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec20.C b/gcc/testsuite/g++.old-deja/g++.pt/spec20.C
deleted file mode 100644
index c6b699d9411..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec20.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-// According to the non-normative example in
-// [temp.class.spec.mfunc]/2, these should be valid, but the grammar
-// in the Standard does not allow partial nor full specializations as
-// member-declarations, so we'd better not support them.
-
-template <class T>
-struct S {
- template <class U> void f(U);
- template <> void f<int>(int); // ERROR - invalid specialization
-
- template <class V> struct I {};
- template <class V> struct I<V*> {};
- template <> struct I<int>; // ERROR - invalid specialization
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec21.C b/gcc/testsuite/g++.old-deja/g++.pt/spec21.C
deleted file mode 100644
index 95e12d2f923..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec21.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class T> struct S {};
-template <class T = int> struct S<T*> {}; // ERROR - default argument
-
-template <int I, int J> struct A {};
-template <int I> struct A<I+5, I*2> {}; // ERROR - argument involves parameter
-
-template <class T, T t> struct C {};
-template <class T> struct C<T, 1>; // ERROR - type depends on parameter
-int i;
-template <class T> struct C<T*, &i>; // ERROR - type depends on parameter
-
-template< int X, int (*array_ptr)[X] > class B {};
-int array[5];
-template< int X > class B<X,&array> { }; // ERROR - type depends on parameter
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec22.C b/gcc/testsuite/g++.old-deja/g++.pt/spec22.C
deleted file mode 100644
index e170b6e3476..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec22.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S
-{
- template <class U>
- void f();
-};
-
-
-template <class T>
-template <> // ERROR - enclosing classes not specialized
-void S<T>::f<int> ()
-{ // ERROR - template does not match any declaration
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec23.C b/gcc/testsuite/g++.old-deja/g++.pt/spec23.C
deleted file mode 100644
index 0e9ee61d253..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec23.C
+++ /dev/null
@@ -1,10 +0,0 @@
-/* [temp.expl.spec] p18. */
-
-template<class T>
-struct A {
- template <class U> class B { };
-};
-
-template<class T>
-class A<T>::B<void> { // ERROR - only one template header
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec24.C b/gcc/testsuite/g++.old-deja/g++.pt/spec24.C
deleted file mode 100644
index 2b7d336698f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec24.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-template <class T> class A;
-// template <>
-class A<int>; // ERROR - missing template header - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec25.C b/gcc/testsuite/g++.old-deja/g++.pt/spec25.C
deleted file mode 100644
index 884abf07dee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec25.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template <class T, int I>
-struct S {
-};
-
-template <int I>
-struct S <double, I> {
-};
-
-template <class T>
-void f ()
-{
- S<double, T::x> s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec26.C b/gcc/testsuite/g++.old-deja/g++.pt/spec26.C
deleted file mode 100644
index 1bd40b6083c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec26.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// From: lat@iki.fi (Lassi A. Tuura)
-// Test that a specialization without an initializer is not a definition,
-// as specified in [temp.expl.spec].
-
-// Build don't link:
-
-struct X;
-template <class T> struct Y { static const X array[]; };
-template <> const X Y<int>::array [];
-struct X { int i; };
-template <> const X Y<int>::array [] = { 0, 1, 2, 3 };
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec27.C b/gcc/testsuite/g++.old-deja/g++.pt/spec27.C
deleted file mode 100644
index 63aae4c9bf6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec27.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template <class T, class U>
-struct Y {};
-
-template <class T>
-struct X {};
-
-template <class T, class U>
-void f()
-{
- typename X<Y<T, U> >::A a;
-}
-
-template <class T, class U>
-struct X<Y<T, U> >
-{
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec28.C b/gcc/testsuite/g++.old-deja/g++.pt/spec28.C
deleted file mode 100644
index d63e7967672..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec28.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S1 {
- friend bool f<>(const S1&);
- typedef T X;
-};
-
-template <class T>
-struct S2 {
-};
-
-template <class T>
-struct S2<S1<T> > {
- typedef typename S1<T>::X Y;
-};
-
-template <class T>
-bool f(T);
-
-template <class T>
-typename S2<S1<T> >::Y
-f(const S1<T>&);
-
-template struct S1<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec29.C b/gcc/testsuite/g++.old-deja/g++.pt/spec29.C
deleted file mode 100644
index 9f27a8e53a3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec29.C
+++ /dev/null
@@ -1,31 +0,0 @@
-char c;
-
-struct S {
- template <typename T>
- operator T*();
-
- template <typename T>
- operator T();
-};
-
-template <>
-S::operator int()
-{
- return 2;
-}
-
-template <>
-S::operator char*()
-{
- return &c;
-}
-
-int main()
-{
- S s;
- int i = s;
- char* cp = s;
-
- if (i != 2 || cp != &c)
- return 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec3.C b/gcc/testsuite/g++.old-deja/g++.pt/spec3.C
deleted file mode 100644
index b0e710f3b01..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec3.C
+++ /dev/null
@@ -1,37 +0,0 @@
-extern "C" void abort();
-
-class X
-{
- public:
- virtual int f() const = 0;
-};
-
-template <class T>
-class Y: public X
-{
- public:
- virtual int f() const;
-};
-
-template <class T>
-int Y<T>::f() const
-{
- abort();
- return 0;
-}
-
-template <>
-int Y<bool>::f() const;
-
-template <>
-int Y<bool>::f() const
-{
- return 0;
-}
-
-int main()
-{
- Y<bool> yb;
-
- yb.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec30.C b/gcc/testsuite/g++.old-deja/g++.pt/spec30.C
deleted file mode 100644
index 5d36e254a40..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec30.C
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <cstddef>
-
-template <class T>
-struct S {
- void *operator new (size_t);
- void *operator new (size_t, int);
- void operator delete (void*);
-};
-
-static void* s[2];
-
-template <>
-void* S<int>::operator new (size_t b)
-{
- s[0] = ::operator new(b);
- return s[0];
-}
-
-template <>
-void* S<int>::operator new (size_t b, int)
-{
- s[1] = ::operator new(b);
- return s[1];
-}
-
-template <>
-void S<int>::operator delete (void*)
-{
-}
-
-int main()
-{
- S<int>* s1 = new S<int>;
- S<int>* s2 = new(3) S<int>;
-
- if (s1 != s[0] || s2 != s[1])
- return 1;
-
- delete s1;
- delete s2;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec31.C b/gcc/testsuite/g++.old-deja/g++.pt/spec31.C
deleted file mode 100644
index a66e03f62eb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec31.C
+++ /dev/null
@@ -1,2 +0,0 @@
-template <> struct A {}; // ERROR - not a specialization
-template <> void f (); // ERROR - not a specialization
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec4.C b/gcc/testsuite/g++.old-deja/g++.pt/spec4.C
deleted file mode 100644
index b6e6858e0a0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec4.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S {};
-
-template <>
-struct S<int>
-{
- void f();
- void g();
-};
-
-void S<int>::f() {}
-
-template <>
-void S<int>::g() {} // ERROR - does not match any template declaration
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec5.C b/gcc/testsuite/g++.old-deja/g++.pt/spec5.C
deleted file mode 100644
index 553d95659f0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec5.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f(T t1, T t2);
-
-template <>
-void f(int i, int j);
-
-template <class T>
-void g(T t1, T t2) {}
-
-template void g(int i, int j);
-
-void h()
-{
- f(3, 'c'); // ERROR - no matching function
- g(3, 'c'); // ERROR - no matching function
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec6.C b/gcc/testsuite/g++.old-deja/g++.pt/spec6.C
deleted file mode 100644
index 4ef8e651594..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec6.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't link:
-
-struct S1
-{
- template <class T>
- void f(T t1, T t2);
-};
-
-
-template <>
-void S1::f(int i1, int i2);
-
-template <class U>
-struct S2
-{
- template <class T>
- void f(T t1, T t2);
-};
-
-template <>
-template <>
-void S2<char>::f(int i1, int i2);
-
-void h()
-{
- S1 s1;
- s1.f(3, 'c'); // ERROR - no matching function
-
- S2<char> s2;
- s2.f(3, 'c'); // ERROR - no matching function
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec7.C b/gcc/testsuite/g++.old-deja/g++.pt/spec7.C
deleted file mode 100644
index 81358d9ccca..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec7.C
+++ /dev/null
@@ -1,19 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-void f(T t1, T t2);
-
-template <>
-void f(int i, int j)
-{
- abort();
-}
-
-void f(short s, char c)
-{
-}
-
-int main()
-{
- f(3, 'c');
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec8.C b/gcc/testsuite/g++.old-deja/g++.pt/spec8.C
deleted file mode 100644
index 966f69f2ee4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec8.C
+++ /dev/null
@@ -1,27 +0,0 @@
-extern "C" void abort();
-
-template <void* P>
-void f(int j);
-
-template <int I>
-void f(int j);
-
-
-template <void* P>
-void f(int j)
-{
- abort();
-}
-
-
-template <int I>
-void f(int j)
-{
-}
-
-
-int main()
-{
- f<3>(7);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec9.C b/gcc/testsuite/g++.old-deja/g++.pt/spec9.C
deleted file mode 100644
index e2a220819a1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/spec9.C
+++ /dev/null
@@ -1,21 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-inline int f(T t)
-{
- return 0;
-}
-
-int main()
-{
- if (!f(3))
- abort();
-}
-
-template <>
-int f(int i)
-{ // ERROR - specialization of f<int>(int) after instantiation
- return 1;
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static1.C b/gcc/testsuite/g++.old-deja/g++.pt/static1.C
deleted file mode 100644
index 67e23631600..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static1.C
+++ /dev/null
@@ -1,21 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-class A
-{
- public:
- static int foo(int);
-};
-
-template <>
-int A<int>::foo(int i)
-{
- return i;
-}
-
-
-int main()
-{
- if (A<int>::foo(22) != 22)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static2.C b/gcc/testsuite/g++.old-deja/g++.pt/static2.C
deleted file mode 100644
index 5060cfdfb9e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static2.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-template <class A>
-class TEST
-{
-public:
- TEST (A) {}
-};
-
-template <class A>
-class TEST2
-{
- static A i;
-};
-
-template <class A>
-A TEST2 <A>::i (0);
-
-TEST2 <TEST <int> > a;
-
-template class TEST2 <TEST <int> >;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static3.C b/gcc/testsuite/g++.old-deja/g++.pt/static3.C
deleted file mode 100644
index 6fe33f9ead9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static3.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// On targets that don't support weak symbols, we require an explicit
-// instantiation of arr.
-// excess errors test - XFAIL *-*-aout *-*-coff *-*-hpux*
-
-template<class T>
-struct A {
- static T arr[5];
-};
-
-template <class T>
-T A<T>::arr[5] = { 0, 1, 2, 3, 4 };
-
-int main ()
-{
- return A<int>::arr[0];
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static4.C b/gcc/testsuite/g++.old-deja/g++.pt/static4.C
deleted file mode 100644
index 2ff32215437..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static4.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S
-{
- static const T t = 3;
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static5.C b/gcc/testsuite/g++.old-deja/g++.pt/static5.C
deleted file mode 100644
index f6e125dbfb7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static5.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S
-{
- static const T t = 3; // ERROR - initializing non-integral type
-};
-
-double d = S<double>::t;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static6.C b/gcc/testsuite/g++.old-deja/g++.pt/static6.C
deleted file mode 100644
index c52c3cb2af5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static6.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't run:
-
-// Simplified from testcase by Erez Louidor Lior <s3824888@techst02.technion.ac.il>
-
-template <class T> struct A {
- static const int l[1];
-};
-
-template<class T>
-const int A<T>::l[1] = {1};
-
-int i = A<int>::l[0];
-
-int main(){}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static7.C b/gcc/testsuite/g++.old-deja/g++.pt/static7.C
deleted file mode 100644
index 282f78fe8f8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static7.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-struct S {
- S() {}
-
- static S s;
-};
-
-template <class T>
-S<T> S<T>::s;
-
-S<int> si;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static8.C b/gcc/testsuite/g++.old-deja/g++.pt/static8.C
deleted file mode 100644
index 172c3c3fe7d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static8.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-int i;
-
-template <class T>
-struct S {
- S() { ++i; }
-
- virtual void g() {}
- virtual void f();
-
- static S s;
-};
-
-template <class T>
-void S<T>::f() {
- s.f();
-}
-
-S<int> si;
-
-template <class T>
-S<T> S<T>::s;
-
-int main ()
-{
- si.g();
- if (i != 2)
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static_cast.C b/gcc/testsuite/g++.old-deja/g++.pt/static_cast.C
deleted file mode 100644
index 26f26c56fc9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/static_cast.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-template <class InputIterator, class BinaryOperation>
-void accumulate(InputIterator first,
- BinaryOperation binary_op) {
-}
-
-
-template<class R> int p( int val, R& r )
-{
- return val + r;
-}
-
-template<class R> void f(R)
-{
- accumulate(0, static_cast<int (*)(int, R&)>(p) );
-}
-
-int main()
-{
- f(0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/stmtexpr.C b/gcc/testsuite/g++.old-deja/g++.pt/stmtexpr.C
deleted file mode 100644
index 57ef7e3ab38..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/stmtexpr.C
+++ /dev/null
@@ -1,16 +0,0 @@
-extern "C" void abort();
-
-template <class T>
-T f(T)
-{
- T t = __extension__ ({ T j = 4; j + 3; });
- return t;
-}
-
-
-int main()
-{
- if (f(3) != 7)
- abort();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/stmtexpr2.C b/gcc/testsuite/g++.old-deja/g++.pt/stmtexpr2.C
deleted file mode 100644
index 475ad72dda1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/stmtexpr2.C
+++ /dev/null
@@ -1,24 +0,0 @@
-extern "C" void abort();
-
-int i;
-
-void g()
-{
- i++;
-}
-
-template <class T>
-void f(T)
-{
- __extension__ ({g();});
-}
-
-int main()
-{
- f(3.0);
- if (i != 1)
- abort();
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t00.C b/gcc/testsuite/g++.old-deja/g++.pt/t00.C
deleted file mode 100644
index 14bfcf82ca6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t00.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-
-int f1 () {
- struct A { A() { a = 2; } int a; } ;
- A aa;
- return aa.a;
-}
-int f2 () {
- struct A { A() { a = 2; } int a; } ;
- A ab;
- return ab.a;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t01.C b/gcc/testsuite/g++.old-deja/g++.pt/t01.C
deleted file mode 100644
index b1d7d386cd9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t01.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-template <class A> class B { public: A a; };
-static B<int> b_int;
-
-int foo () { return b_int.a; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t03.C b/gcc/testsuite/g++.old-deja/g++.pt/t03.C
deleted file mode 100644
index 29f687ae1bc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t03.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-template <class A> class B { public: A a; };
-static B<int> b_int;
-static B<char> b_char;
-
-int foo () { return b_int.a + b_char.a; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t04.C b/gcc/testsuite/g++.old-deja/g++.pt/t04.C
deleted file mode 100644
index faa04fc5771..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t04.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class A> class B { public: A a; };
-static B<int> b_int;
-static B<char> b_char;
-static B<unsigned char> b_uchar;
-
-int foo () { return b_int.a + b_char.a + b_uchar.a; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t05.C b/gcc/testsuite/g++.old-deja/g++.pt/t05.C
deleted file mode 100644
index 5c99f772ad9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t05.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class A> class B {
- A a;
- public:
- B(A&aa); // ERROR - near match
- ~B();
-}; // ERROR - candidates
-static B<int> b_int (3); // ERROR - no matching function
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t06.C b/gcc/testsuite/g++.old-deja/g++.pt/t06.C
deleted file mode 100644
index 8681f5332fa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t06.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-typedef int I;
-int i;
-
-template <class A> class B {
- A a;
- public:
- B(A&aa);
- B();
- ~B();
-};
-
-template <class B> class C { public: B b; };
-
-template <class I, class i> class D : I { public: i ii; };
-
-typedef B<int> b_int;
-typedef C<int> c_int;
-typedef C<b_int> c_b_int2;
-
-c_b_int2 x2;
-int z;
-D<c_b_int2,b_int> d;
-int q;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t07.C b/gcc/testsuite/g++.old-deja/g++.pt/t07.C
deleted file mode 100644
index 3cdb3dafdb2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t07.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class A> class B {
- A a;
- public:
- const A& value () { return a; }
-};
-static B<int> b_int;
-
-int foo () { return b_int.value(); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t08.C b/gcc/testsuite/g++.old-deja/g++.pt/t08.C
deleted file mode 100644
index ce24cca7e36..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t08.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class A> class B {
- A a;
- public:
- B ();
- ~B ();
-};
-B<int> b_int;
-B<int> *bp = &b_int;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t09.C b/gcc/testsuite/g++.old-deja/g++.pt/t09.C
deleted file mode 100644
index dab4730e091..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t09.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-struct bs_1 {
- typedef int (*pfi) (void);
-};
-static bs_1::pfi fp;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t10.C b/gcc/testsuite/g++.old-deja/g++.pt/t10.C
deleted file mode 100644
index 4f3fc182e04..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t10.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-template <class A> class B { public: A a; B(); };
-class B<char> { public: int y[10]; };
-static B<int> bi;
-static B<char> bc;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t11.C b/gcc/testsuite/g++.old-deja/g++.pt/t11.C
deleted file mode 100644
index 81373498df8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t11.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class A>
-class B {
-public:
- A a;
- B() { x = 2; } // ERROR - no x
-};
-static B<int> bi;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t11a.C b/gcc/testsuite/g++.old-deja/g++.pt/t11a.C
deleted file mode 100644
index 0dcd297fa15..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t11a.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <class A>
-class B {
-public:
- A a;
- B() { a = 2; }
-};
-static B<int> bi;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t12.C b/gcc/testsuite/g++.old-deja/g++.pt/t12.C
deleted file mode 100644
index 0ebb0451f79..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t12.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-class OBJECT {int a;};
-class STDFILE {int b;};
-
-template <class T> class VECTOR {
- T *v;
- int sz;
-public:
- T& elem(int i) { return v[i]; }
- T& operator[] (int i);
-};
-
-template <class T>
-class PVECTOR : VECTOR<void *> {
-public:
- T*& elem(int i)
- {return (T*&) VECTOR<void *>::elem(i); }
- T*& operator[] (int i)
- {return (T*&) VECTOR<void *>::operator[](i);}
-};
-
-PVECTOR<OBJECT *> *foo;
-
-PVECTOR<STDFILE *> *goo;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t12a.C b/gcc/testsuite/g++.old-deja/g++.pt/t12a.C
deleted file mode 100644
index e0f1e65d50b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t12a.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-int a (void * x) { return 1; }
-typedef void *T;
-int b (T x) { return 2; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t13.C b/gcc/testsuite/g++.old-deja/g++.pt/t13.C
deleted file mode 100644
index 2f589a7d227..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t13.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-template <class A> class B {
-public:
- B();
- A a;
- int i;
-};
-
-void *f () {
- return new B<char *>;
-}
-
-struct foo { int i[10]; };
-extern B<foo> *foop;
-
-void f2 () {
- foop = new B<foo>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t14.C b/gcc/testsuite/g++.old-deja/g++.pt/t14.C
deleted file mode 100644
index 8532f2b3501..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t14.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Build don't link:
-
-class OBJECT
-{
- int a;
-};
-
-
-
-template <class T> class TESTA
-{
-public:
- TESTA();
- T foo(int i) {T t = 0; return t}; // ERROR - no semi
-};
-
-
-
-void foo()
-{
- TESTA<OBJECT *> *foo;
-
- foo = new TESTA<OBJECT *>;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t14a.C b/gcc/testsuite/g++.old-deja/g++.pt/t14a.C
deleted file mode 100644
index 694f846fbe5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t14a.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-class OBJECT
-{
- int a;
-};
-
-
-
-template <class T> class TESTA
-{
-public:
- TESTA();
- T foo(int i) {T t = 0; return t;}
-};
-
-
-
-void foo()
-{
- TESTA<OBJECT *> *foo;
-
- foo = new TESTA<OBJECT *>;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t16.C b/gcc/testsuite/g++.old-deja/g++.pt/t16.C
deleted file mode 100644
index 4cdf3a26803..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t16.C
+++ /dev/null
@@ -1,30 +0,0 @@
-extern "C" void printf (char *, ...);
-template <class T> T max (const T&x, const T&y)
-{
- return (x>y)?x:y;
-}
-int min (const float&, const float&);
-int min (const int& i1, const int& i2) {
- return (i1 < i2) ? i1 : i2;
-}
-
-class complex
-{
- double re, im;
- public:
- complex (double r, double i=0) { re = r; im = i; }
- friend int operator > (const complex& x, const complex &y) { return 0; }
- void print () { }
-};
-
-int main ()
-{
- complex c1 (1, 0);
- complex c2 (2, 0);
-
- int j = max (1, 37);
- complex m1 = max (c1, c2);
- m1.print ();
- printf ("j=%d\n", j);
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t18.C b/gcc/testsuite/g++.old-deja/g++.pt/t18.C
deleted file mode 100644
index 760747eeceb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t18.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-
-extern void byebye ();
-template <class T1, class T2>
-struct A
-{
- T1 t1;
- T2 t2;
- A() { t1 = 0; t2 = 0; }
- ~A() { byebye(); }
-};
-
-template <class Q>
-int f (A<int, Q> a) {
- return a.t1;
-}
-
-extern A<int,double*> aa;
-int foop () { return f(aa); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t20.C b/gcc/testsuite/g++.old-deja/g++.pt/t20.C
deleted file mode 100644
index 07a86fa2d6e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t20.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template <class X> class A {
-public:
- X aaa;
- int foo();
-};
-
-template <class X> A<X> f(X);
-
-void frep() {
- int x;
- x = f(6.4).foo();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t21.C b/gcc/testsuite/g++.old-deja/g++.pt/t21.C
deleted file mode 100644
index f05f89ff4c2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t21.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class X> class A { public: int a; X x; };
-template <class X> X f (A<X> a) { return a.x; }
-
-extern A<double> a_dbl;
-
-double fred () { return f (a_dbl); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t22.C b/gcc/testsuite/g++.old-deja/g++.pt/t22.C
deleted file mode 100644
index 1102baabef3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t22.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-class AA { public: static int xx; };
-template <class X> class A {
- public:
- static int x;
-};
-
-int AA::xx;
-template <class Y> int A<Y>::x; // gets bogus error
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t23.C b/gcc/testsuite/g++.old-deja/g++.pt/t23.C
deleted file mode 100644
index 82221b32715..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t23.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template <class T> class temp1
-{
-public:
- T tvar;
-};
-
-
-template <class T2> class temp2
-{
-public :
- temp1<T2> t1var;
-};
-
-
-temp1<int> temp1var;
-temp2<int> temp2var;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t24.C b/gcc/testsuite/g++.old-deja/g++.pt/t24.C
deleted file mode 100644
index 60322706389..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t24.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class X> int f (X x, X y) { return 23; }
-
-int foo () {
- return f (7); // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t25.C b/gcc/testsuite/g++.old-deja/g++.pt/t25.C
deleted file mode 100644
index 23197746825..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t25.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class X> int f (X x, X y) { return 23; }
-template <class X> int f (X x, int j = 3) { return 29; }
-
-int foo () {
- return f (7); // gets bogus error -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t26.C b/gcc/testsuite/g++.old-deja/g++.pt/t26.C
deleted file mode 100644
index cfc1591df2d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t26.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class X> int f (X x, unsigned int j = 3) { return 29; }
-template <class X> int f (X x, X y) { return 23; }
-
-int foo () {
- return f (7.0, 9.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t27.C b/gcc/testsuite/g++.old-deja/g++.pt/t27.C
deleted file mode 100644
index f3246e81204..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t27.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class X> int f (X x, int * j) { return 29; }
-template <class X> int f (X x, ...) { return 23; }
-
-int foo () {
- return f (7.0, 9.0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t28.C b/gcc/testsuite/g++.old-deja/g++.pt/t28.C
deleted file mode 100644
index dd524cb781a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t28.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-template <class X> class B;
-template <class X> int f (B<X> b) { return 37; }
-template <class Y> class B { public: Y y; B() { y = 1; } };
-
-int foo () {
- B<double> bd;
- return f(bd);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t29.C b/gcc/testsuite/g++.old-deja/g++.pt/t29.C
deleted file mode 100644
index 54a5052ff02..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t29.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class X, int n> X f (auto X (*x)[n]) { return (*x)[n/2]; }
-extern int i[30];
-extern double d[99];
-
-int foo (int ii) { return f (&i); } // causes abort
-double foo (double dd) { return f (&d); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t30.C b/gcc/testsuite/g++.old-deja/g++.pt/t30.C
deleted file mode 100644
index 42d88eaee29..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t30.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class X, int n> X f (auto X (*x)[n]) { return (*x)[n/2]; }
-extern int i[30], i2[33];
-extern double d[99];
-
-int foo (int ii) { return f (&i) + f(&i2); } // causes abort
-double foo (double dd) { return f (&d); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t31.C b/gcc/testsuite/g++.old-deja/g++.pt/t31.C
deleted file mode 100644
index 8800ebe7ca8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t31.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-struct B { int foo (); };
-int B::foo() { return 37; }
-
-template <class A> struct X {
- void f();
-};
-
-template <class A> void X<A>::f ()
-{}
-
-X<int> x;
-
-void xyzzy () {
- x.f ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t32.C b/gcc/testsuite/g++.old-deja/g++.pt/t32.C
deleted file mode 100644
index 89f8db19108..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t32.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template <class X> struct A {
- int fooo (int x);
- int x;
- inline int y () { return 3; }
- inline int z () { return 5; }
-};
-
-template <class Y> int A<Y>::fooo (int t) { return (this->*(x?&A<Y>::y : &A<Y>::z))() + t; }; // gets bogus error
-
-A<int> ai;
-
-int frop () { return ai.fooo (100); }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t32a.C b/gcc/testsuite/g++.old-deja/g++.pt/t32a.C
deleted file mode 100644
index 13dfda122b6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t32a.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-
-struct A {
- int x;
- int y ();
- int z ();
- int foo (int j);
-};
-
-int A::foo (int q) { return q + (this->*(x ? &A::y : &A::z)) (); } // gets bogus error
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t34.C b/gcc/testsuite/g++.old-deja/g++.pt/t34.C
deleted file mode 100644
index acf858adf93..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t34.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-template <class X> struct A { int operator [] (int); };
-template <class Y> int A<Y>::operator[] (int j) { return j * j; }
-
-extern A<void **> avpp;
-
-int q () { return avpp[99]; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t34a.C b/gcc/testsuite/g++.old-deja/g++.pt/t34a.C
deleted file mode 100644
index 7d5aebf598a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t34a.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-struct A {
- int operator[] (int);
-};
-
-//int A::operator[] (int);
-
-int A::operator[] (int j)
-{
- return j * j;
-}
-
-extern A a;
-
-int q () { return a[99]; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t35.C b/gcc/testsuite/g++.old-deja/g++.pt/t35.C
deleted file mode 100644
index f0ed971ae47..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t35.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-template<class X> struct A {
- A ();
- ~A();
- int x, y, z;
-};
-
-template <class Y> inline A<Y>::A () { x = y = 3; z = 99; }
-template <class Z> inline A<Z>::~A() { y = 9999; }
-
-A<int> ai;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t35a.C b/gcc/testsuite/g++.old-deja/g++.pt/t35a.C
deleted file mode 100644
index 40fba4d0997..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t35a.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-
-template <class X> struct A { };
-struct A<int> { int foo (); };
-int A<int>::foo () { return 37; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t36.C b/gcc/testsuite/g++.old-deja/g++.pt/t36.C
deleted file mode 100644
index bb791b9df75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t36.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-
-void * foo () {
- typedef int * ip;
- return new ip;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t37.C b/gcc/testsuite/g++.old-deja/g++.pt/t37.C
deleted file mode 100644
index 434dadd8228..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t37.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-class A {
-public:
- A(int); // ERROR - referenced below
- A(float); // ERROR - referenced below
- ~A();
-}; // ERROR - synthesized copy ctor
-
-A::A() { // ERROR -
-}
-
-A::A(int) {
-}
-
-A::~A() {
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t37a.C b/gcc/testsuite/g++.old-deja/g++.pt/t37a.C
deleted file mode 100644
index 797b78df5ac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t37a.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-class A {
-public:
- A(int);
- A(float);
- ~A();
-};
-
-A::A(float f) {
-}
-
-A::A(int i) {
-}
-
-A::~A() {
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t38.C b/gcc/testsuite/g++.old-deja/g++.pt/t38.C
deleted file mode 100644
index cd892822b14..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t38.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-extern "C" int printf (const char *, ...);
-
-template<class X> struct A {
- A (int, char);
- ~A ();
- A (X *, float);
-};
-
-template<class Y> inline A<Y>::A (int i, char c) {
- printf ("%d, %d\n", i, c);
-}
-template<class Z> A<Z>::~A() {}
-template<class W> A<W>::A (W * d, float f) {
- printf ("%x, %e\n", d, f);
-}
-
-A<void> avoid (9, 0);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t39.C b/gcc/testsuite/g++.old-deja/g++.pt/t39.C
deleted file mode 100644
index d12ef814063..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t39.C
+++ /dev/null
@@ -1,25 +0,0 @@
-extern "C" int printf (const char *, ...);
-
-template <class T>
-struct frob {
- T *ptr;
- void print ();
- frob (T* init) { ptr = init; }
-};
-
-template <class T>
-void frob<T>::print () {
- printf ("this = %08x\n", this);
- printf (" ptr = %08x\n", ptr);
- printf (" values = %x %x %x ...\n", ptr[0], ptr[1], ptr[2]);
-}
-
- static int x[10];
- frob<char> fc ("hello");
- frob<int> fi (x);
-
-int main () {
- fc.print ();
- fi.print ();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t40.C b/gcc/testsuite/g++.old-deja/g++.pt/t40.C
deleted file mode 100644
index 34768a995ff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t40.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-struct A {
- struct B {
- B (int);
- };
- static int foop (B);
- static int splat () {
- return foop (B (1));
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t41.C b/gcc/testsuite/g++.old-deja/g++.pt/t41.C
deleted file mode 100644
index c02f6779a39..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t41.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-
-struct A {
- struct B {
- B (int);
- };
- static int foop (B);
- int splat () {
- return foop (B (1));
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t42.C b/gcc/testsuite/g++.old-deja/g++.pt/t42.C
deleted file mode 100644
index 55459949b77..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/t42.C
+++ /dev/null
@@ -1,17 +0,0 @@
-extern "C" void abort ();
-
-struct A {
- struct stat {
- int x;
- stat (int j) { abort (); }
- };
- static int stat (double d) { return 0; } // gets bogus error - cfront takes it
- static int zap () {
- stat (0);
- return stat (1); // gets bogus error - this should work
- }
-};
-
-int main () {
- return A::zap ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/test4.C b/gcc/testsuite/g++.old-deja/g++.pt/test4.C
deleted file mode 100644
index f4c2a205fdf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/test4.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-
-class B { };
-template <class x, int b> class X : public B { int y[b]; };
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/test5.C b/gcc/testsuite/g++.old-deja/g++.pt/test5.C
deleted file mode 100644
index dc74c2d88f7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/test5.C
+++ /dev/null
@@ -1,3 +0,0 @@
-// Build don't link:
-
-template <char *a, const char *b, char *const c> class A{int x;};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/tiemann1r.C b/gcc/testsuite/g++.old-deja/g++.pt/tiemann1r.C
deleted file mode 100644
index 65e6807da98..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/tiemann1r.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-
-struct bs_1
-{
- typedef int (*p_user_hashf)(int);
-};
-
-bs_1::p_user_hashf i_user_hashf;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/tiemann2.C b/gcc/testsuite/g++.old-deja/g++.pt/tiemann2.C
deleted file mode 100644
index 4c71541cee2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/tiemann2.C
+++ /dev/null
@@ -1,34 +0,0 @@
-extern "C" void printf (char *, ...);
-template <class T> T max (const T&x, const T&y)
-{
- return (x>y)?x:y;
-}
-
-class complex
-{
- double re, im;
- public:
- complex (double r, double i=0) { re = r; im = i; }
- friend int operator > (const complex& x, const complex &y);
- void print () { printf ("re = %g; im = %g;\n", re, im); }
-};
-int operator >(const complex& x, const complex &y)
-{
- double c1 = x.re * x.re + x.im * x.im;
- double c2 = y.re * y.re + y.im * y.im;
- return c1 > c2;
-}
-
-int main ()
-{
- complex c1 (1, 0);
- complex c2 (2, 0);
- complex c3 (2, 3);
- complex c4 (2, 1);
-
- complex m1 = max (c1, c2);
- complex m2 = max (c3, c4);
- m1.print ();
- m2.print ();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/to2.C b/gcc/testsuite/g++.old-deja/g++.pt/to2.C
deleted file mode 100644
index 936729c6b18..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/to2.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-template <class A> class B { public: A a; };
-static B<int> b_int;
-static B<int> b_int2;
-
-int foo () { return b_int.a + b_int2.a; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/tt.C b/gcc/testsuite/g++.old-deja/g++.pt/tt.C
deleted file mode 100644
index e597875a05a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/tt.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-
-#define DEF_A struct A { A() { a = 2; } int a; }
-
-#if 1
-int f1 () {
- DEF_A;
- A aa;
- return aa.a;
-}
-
-int f2 () {
- DEF_A;
- A ab;
- return ab.a;
-}
-/* results:
-tt.cc: In function int f2 ():
-tt.cc:9: conflicting types for `A::A ()'
-tt.cc:3: previous declaration of `A::A ()'
-/u2/projects/gcc2/src/cplus-cvt.c:1149: failed assertion `distance >= 0'
-gcc2: Program cc1plus got fatal signal 6.
-*/
-#else
-
-struct B1 { DEF_A; A aa; };
-
-struct B2 { DEF_A; A aa; };
-/* results:
-/u2/projects/gcc2/src/cplus-decl.c:5469: failed assertion `return_type == return_ctor'
-gcc2: Program cc1plus got fatal signal 6.
-*/
-#endif
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/tt2.C b/gcc/testsuite/g++.old-deja/g++.pt/tt2.C
deleted file mode 100644
index f6c435b1cdc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/tt2.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-int f1 () {
- struct A {
- A() : b (2) { }
- int fred () { return b.hi_mom; }
- struct B {
- int hi_mom;
- B (int a) { hi_mom = a; }
- };
- B b;
- };
- A aa;
- return aa.fred();
-}
-
-int f2 () {
- struct A {
- ~A() { a = 3; }
- int a;
- int fred () { return a + 1; }
- };
-
- A ab;
- ab.a = 12;
- return ab.fred();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp1.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp1.C
deleted file mode 100644
index 4c6bac0cdfd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template<class E> class D
-{
-};
-
-template<template<class> class D,class E> class C
-{
-};
-
-int main()
-{
- C<int,D> c; // ERROR - args not match
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp10.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp10.C
deleted file mode 100644
index ca0c9b636e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp10.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D d; // ERROR - D is a template
- public:
- int f();
-};
-
-template<template<class> class D,class E> int C<D,E>::f()
-{
- return d.f(); // ERROR - d not properly declared
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp11.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp11.C
deleted file mode 100644
index 213eb40d75f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp11.C
+++ /dev/null
@@ -1,25 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { return d.f(); }
-};
-
-int main()
-{
- C<D,int> c;
- C<D,char> d;
- c.f();
- d.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp12.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp12.C
deleted file mode 100644
index c9bc9f3a909..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp12.C
+++ /dev/null
@@ -1,28 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class E,class D> class C
-{
- E<D> d;
- public:
- int f();
-};
-
-template<template<class> class E,class D> int C<E,D>::f()
-{
- return d.f();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp13.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp13.C
deleted file mode 100644
index 2745c7acfd2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp13.C
+++ /dev/null
@@ -1,28 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f();
-};
-
-template<template<class> class D,class E> int C<D,E>::f()
-{
- return d.f();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp14.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp14.C
deleted file mode 100644
index 04877d65b75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp14.C
+++ /dev/null
@@ -1,30 +0,0 @@
-template<class T> class D
-{
- T a;
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<class E,template<class> class DD = D> class C
-{
- DD<E> d;
- public:
- int f();
-};
-
-template<class E,template<class> class DD> int C<E,DD>::f()
-{
- DD<E> d2;
- return d2.f();
-}
-
-int main()
-{
- C<int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp15.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp15.C
deleted file mode 100644
index 25f3c4d0cf7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp15.C
+++ /dev/null
@@ -1,29 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f();
-};
-
-template<template<class> class D,class E> int C<D,E>::f()
-{
- D<E> d2;
- return d2.f();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp16.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp16.C
deleted file mode 100644
index ac736fabd79..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp16.C
+++ /dev/null
@@ -1,30 +0,0 @@
-template<class T> class D
-{
- T a;
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f();
-};
-
-template<template<class> class D,class E> int C<D,E>::f()
-{
- D<E> d2;
- return d2.f();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp17.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp17.C
deleted file mode 100644
index 685240490b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp17.C
+++ /dev/null
@@ -1,30 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f();
- int g() { return 0; }
-};
-
-template<template<class> class D,class E> int C<D,E>::f()
-{
- C<D,E> d2;
- return d2.g();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp18.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp18.C
deleted file mode 100644
index 6c9e579281a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp18.C
+++ /dev/null
@@ -1,30 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f();
- int g() { return 0; }
-};
-
-template<template<class> class D,class E> int C<D,E>::f()
-{
- C<D,char> d2;
- return d2.g();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp19.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp19.C
deleted file mode 100644
index 8a249467abd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp19.C
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <vector>
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int size() { return d.size(); }
-};
-
-template<template<class> class D,class E> int size(D<E> &d1)
-{
- d1.size();
- C<D,E> d2;
- d2.size();
- return 0;
-}
-
-int main()
-{
- std::vector<int> c1;
- std::vector<char> c2;
- size(c1);
- size(c2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp2.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp2.C
deleted file mode 100644
index 5badbe22fe0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp2.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template<class E> class D
-{
-};
-
-template<template<class> class D,int> class C
-{
-};
-
-int main()
-{
- C<1,D> c; // ERROR - args not match
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp20.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp20.C
deleted file mode 100644
index e3b26c65fc2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp20.C
+++ /dev/null
@@ -1,27 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C : D<E>
-{
- public:
- int g();
-};
-
-template<template<class> class D,class E> int C<D,E>::g()
-{
- return f();
-}
-
-int main()
-{
- C<D,int> c;
- c.g();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp21.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp21.C
deleted file mode 100644
index c6cc24b3d87..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp21.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C : D<E>
-{
- public:
- int g();
-};
-
-template<template<class> class D,class E> int C<D,E>::g()
-{
- return f();
-}
-
-class E : C<D,int>
-{
- public:
- int h() { return g(); }
-};
-
-int main()
-{
- E c;
- c.h();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp22.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp22.C
deleted file mode 100644
index 7eac0ed4261..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp22.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class DD,class EE> class C : DD<EE>
-{
- public:
- int f();
-};
-
-template<template<class> class DD,class EE> int C<DD,EE>::f()
-{
- return DD<EE>::f();
-}
-
-class E : C<D,int>
-{
- public:
- int f() { return C<D,int>::f(); }
-};
-
-int main()
-{
- E c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp23.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp23.C
deleted file mode 100644
index 636bb1cae26..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp23.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class E,class D> class C : E<D>
-{
- public:
- int f();
-};
-
-template<template<class> class E,class D> int C<E,D>::f()
-{
- return E<D>::f();
-}
-
-class E : C<D,int>
-{
- public:
- int f() { return C<D,int>::f(); }
-};
-
-int main()
-{
- E c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp24.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp24.C
deleted file mode 100644
index 1e6278f6b80..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp24.C
+++ /dev/null
@@ -1,22 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> int f()
-{
- D<E> d;
- return d.f();
-};
-
-int main()
-{
- f<D,int>();
- f<D,char>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp25.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp25.C
deleted file mode 100644
index c30905ed4c5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp25.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<class> class D,class E> int f(D<E> &d1)
-{
- d1.f();
- C<D,E> d2;
- d2.f();
- return 0;
-}
-
-int main()
-{
- D<int> c1;
- D<char> c2;
- f(c1);
- f(c2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp26.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp26.C
deleted file mode 100644
index 6e6425e99dd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp26.C
+++ /dev/null
@@ -1,33 +0,0 @@
-template<class T, class U = int> class D
-{
- public:
- int f();
-};
-
-template<class T, class U> int D<T,U>::f()
-{
- return sizeof(T)+sizeof(U);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<class> class D,class E> int f(D<E> &d1)
-{
- d1.f();
- C<D,E> d2;
- d2.f();
- return 0;
-}
-
-int main()
-{
- D<int> c1;
- D<char> c2;
- f(c1);
- f(c2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp27.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp27.C
deleted file mode 100644
index 7ecf30197b5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp27.C
+++ /dev/null
@@ -1,35 +0,0 @@
-template<class T> class D
-{
- public:
- int f() const;
-};
-
-template<class T> int D<T>::f() const
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() const { return d.f(); }
-};
-
-template<template<class> class D,class E> int f(const D<E> &d1)
-{
- d1.f();
- C<D,E> d2;
- d2.f();
- return 0;
-}
-
-int main()
-{
- D<const int> c1;
- D<char> c2;
- const D<char> c3(c2);
- f(c1);
- f(c2);
- f(c3);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp28.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp28.C
deleted file mode 100644
index 5948dc5d99a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp28.C
+++ /dev/null
@@ -1,39 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<class> class D,class E> int f(D<E> &d1)
-{
- d1.f();
- C<D,E> d2;
- d2.f();
- return 0;
-}
-
-template<> int f<>(D<char> &d1)
-{
- d1.f();
- return 0;
-}
-
-int main()
-{
- D<int> c1;
- D<char> c2;
- f(c1);
- f(c2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp29.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp29.C
deleted file mode 100644
index b431ad0e38c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp29.C
+++ /dev/null
@@ -1,32 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-extern "C" void abort();
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { abort(); return 0; }
-};
-
-template<class E> class C<D,E>
-{
- D<E> d;
- public:
- int f() { return d.f(); }
-};
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp3.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp3.C
deleted file mode 100644
index 322dd1991e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp3.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-
-template<class E,class F> class D
-{
-};
-
-template<template<class> class D,class E> class C
-{
-};
-
-int main()
-{
- C<D,int> c; // ERROR - param list not match// WARNING - sees it as not having a type
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp30.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp30.C
deleted file mode 100644
index c47b15758ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp30.C
+++ /dev/null
@@ -1,37 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-extern "C" void abort();
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { abort(); return 0; }
-};
-
-template<class E> class C<D,E>
-{
- D<E> d;
- public:
- int f();
-};
-
-template<class E> int C<D,E>::f()
-{
- return d.f();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp31.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp31.C
deleted file mode 100644
index 4e1acf20720..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp31.C
+++ /dev/null
@@ -1,32 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-extern "C" void abort();
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { abort(); return 0; }
-};
-
-template<template <class> class F> class C<F,int>
-{
- F<int> d;
- public:
- int f() { return d.f(); }
-};
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp32.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp32.C
deleted file mode 100644
index 5c7a63a151f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp32.C
+++ /dev/null
@@ -1,37 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-extern "C" void abort();
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { abort(); return 0; }
-};
-
-template<template <class> class F> class C<F,int>
-{
- F<int> d;
- public:
- int f();
-};
-
-template<template<class>class F> int C<F,int>::f()
-{
- return d.f();
-}
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp33.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp33.C
deleted file mode 100644
index 3755ff34377..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp33.C
+++ /dev/null
@@ -1,31 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- template<template<class> class F> int f(F<int>);
-};
-
-template<template<class> class D,class E>
-template<template<class> class F> int C<D,E>::f(F<int>)
-{
- F<E> d2;
- return d2.f();
-}
-
-int main()
-{
- C<D,int> c;
- D<int> d;
- c.f(d);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp34.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp34.C
deleted file mode 100644
index d605043d686..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp34.C
+++ /dev/null
@@ -1,31 +0,0 @@
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- return sizeof(T);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f();
-};
-
-template<template<class> class D,class E> int C<D,E>::f()
-{
- D<E> d2;
- return d2.f();
-}
-
-template class C<D,int>;
-
-int main()
-{
- C<D,int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp35.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp35.C
deleted file mode 100644
index 655f406ed80..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp35.C
+++ /dev/null
@@ -1,35 +0,0 @@
-template<int T, class U = int> class D
-{
- public:
- int f();
-};
-
-template<int T, class U> int D<T,U>::f()
-{
- return T+sizeof(U);
-}
-
-template<template<int> class D,class E> class C
-{
- D<1> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<int> class D> int f(D<2> &d1)
-{
- d1.f();
- return 0;
-}
-
-template<template<int> class D> int f(D<1> &d1)
-{
- d1.f();
- return 0;
-}
-
-int main()
-{
- D<1> c1;
- f(c1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp36.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp36.C
deleted file mode 100644
index 976bc0e603d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp36.C
+++ /dev/null
@@ -1,29 +0,0 @@
-template<int T, class U = int> class D
-{
- public:
- int f();
-};
-
-template<int T, class U> int D<T,U>::f()
-{
- return T+sizeof(U);
-}
-
-template<template<int> class D,class E> class C
-{
- D<1> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<int> class D> int f(D<1> &d1)
-{
- d1.f();
- return 0;
-}
-
-int main()
-{
- D<1> c1;
- f(c1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp37.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp37.C
deleted file mode 100644
index 01b0d29b0b2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp37.C
+++ /dev/null
@@ -1,29 +0,0 @@
-template<int T, class U = int> class D
-{
- public:
- int f();
-};
-
-template<int T, class U> int D<T,U>::f()
-{
- return T+sizeof(U);
-}
-
-template<template<int> class D,class E> class C
-{
- D<1> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<int> class D, int T> int f(D<T> &d1)
-{
- d1.f();
- return T;
-}
-
-int main()
-{
- D<1> c1;
- f(c1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp38.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp38.C
deleted file mode 100644
index 00c663c9d60..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp38.C
+++ /dev/null
@@ -1,29 +0,0 @@
-template<class T, class U = int> class D
-{
- public:
- int f();
-};
-
-template<class T, class U> int D<T,U>::f()
-{
- return sizeof(T)+sizeof(U);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<class> class D> int f(D<int> &d1)
-{
- d1.f();
- return 0;
-}
-
-int main()
-{
- D<int> c1;
- f(c1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp39.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp39.C
deleted file mode 100644
index 24ff6c00372..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp39.C
+++ /dev/null
@@ -1,29 +0,0 @@
-template<class T, class U = T> class D
-{
- public:
- int f();
-};
-
-template<class T, class U> int D<T,U>::f()
-{
- return sizeof(T)+sizeof(U);
-}
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
- public:
- int f() { return d.f(); }
-};
-
-template<template<class> class D> int f(D<int> &d1)
-{
- d1.f();
- return 0;
-}
-
-int main()
-{
- D<int> c1;
- f(c1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp4.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp4.C
deleted file mode 100644
index 249ad9c35fa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp4.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template<class E> class D
-{
-};
-
-template<template<class> class D,class E> class C
-{
- D<1> d; // ERROR - arg not match
-};
-
-int main()
-{
- C<D,int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp40.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp40.C
deleted file mode 100644
index d30b4d6a00e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp40.C
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <vector>
-
-template<class E,template<class> class DD = std::vector> class C
-{
- DD<E> d;
- public:
- int f();
-};
-
-template<class E,template<class> class DD> int C<E,DD>::f()
-{
- DD<E> d2;
- return d2.size();
-}
-
-int main()
-{
- C<int> c;
- c.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp41.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp41.C
deleted file mode 100644
index f206c03c291..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp41.C
+++ /dev/null
@@ -1,23 +0,0 @@
-template<template<class> class D,class E> class C
-{
- public:
- int g() { return 1; }
-};
-
-template<class T> class D
-{
- public:
- int f();
-};
-
-template<class T> int D<T>::f()
-{
- C<D,D> c;
- return c.g();
-}
-
-int main()
-{
- D<char> d;
- d.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp42.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp42.C
deleted file mode 100644
index b2610dfb123..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp42.C
+++ /dev/null
@@ -1,21 +0,0 @@
-template <class T, template <class T> class C>
-struct X
-{};
-
-template <class T>
-struct Y
-{};
-
-template <class T>
-struct Z
-{};
-
-template <class T>
-struct X<T,Y>
-{};
-
-int main()
-{
- X<int,Y> a;
- X<int,Z> b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp43.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp43.C
deleted file mode 100644
index a020655b131..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp43.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-
-template < class T, template <class> class E1, template <class> class E2 >
-struct Add {
- Add(const E1<T>& e1, const E2<T>& e2) {}
-};
-
-
-template < class T, template <class> class E1, template <class> class E2 >
-struct Mul {
- Mul(const E1<T>& e1, const E2<T>& e2) {}
-};
-
-
-template < class T >
-struct Lit {
- Lit(const T& t) {}
-};
-
-
-template < class T >
-struct Id {
- Add < T, Id, Lit > operator+(const T& t) const {
- return Add < T, Id, Lit >(*this, Lit<T>(t));
- }
-
- Mul < T, Id, Lit > operator*(const T& t) const {
- return Mul < T, Id, Lit >(*this, Lit<T>(t));
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp44.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp44.C
deleted file mode 100644
index 7f797e6dd86..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp44.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-
-template < class T, template < class > class E1, template < class > class E2 >
-class Add {
-public:
- Add(const E1<T>& e1, const E2<T>& e2) {}
-};
-
-template < class T >
-struct Id {
- template < template < class > class E >
- Add < T, Id, E > operator+(const E<T>& e) const {
- return Add < T, Id, E >(*this, e);
- }
-};
-
-template struct Id<double>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp45.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp45.C
deleted file mode 100644
index 05fcd9d399a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp45.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-template<class M, class T> struct temp2;
-template<template<class> class M, class T> struct temp2<M<T>, T> {};
-
-template<class M> struct temp1;
-template<template<class> class M, class T> struct temp1<M<T> > {};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp46.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp46.C
deleted file mode 100644
index 23a32a8434d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp46.C
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build don't link:
-
-template <template<class> class TT> void f() {}
-template <template<class,class> class TT> void f() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp47.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp47.C
deleted file mode 100644
index 731ce40cede..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp47.C
+++ /dev/null
@@ -1,16 +0,0 @@
-template <template<class,class> class TT, class T> void f(T)
-{
-}
-
-template <template<class> class TT, class T> void f(T)
-{
-}
-
-template <class T> class C {};
-template <class T,class U> class D {};
-
-int main()
-{
- f<C>(1);
- f<D>(1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp48.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp48.C
deleted file mode 100644
index 33d0d47296c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp48.C
+++ /dev/null
@@ -1,16 +0,0 @@
-template <template<int> class TT, class T> void f(T)
-{
-}
-
-template <template<class> class TT, class T> void f(T)
-{
-}
-
-template <class T> class C {};
-template <int> class D {};
-
-int main()
-{
- f<C>(1);
- f<D>(1);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp49.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp49.C
deleted file mode 100644
index b0a02d2c6c4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp49.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Build don't link:
-
-template <int i> class C {};
-template <template <long> class TT> class D {};
-
-int main()
-{
- D<C> d; // ERROR - args not match
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp5.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp5.C
deleted file mode 100644
index 4b835e88821..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp5.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template<int> class D
-{
-};
-
-template<template<int> class D,class E> class C
-{
- D<int> d; // ERROR - arg not match
-};
-
-int main()
-{
- C<D,int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp50.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp50.C
deleted file mode 100644
index 4892e0c86e9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp50.C
+++ /dev/null
@@ -1,7 +0,0 @@
-template <class T, template <T> class TT> class C {};
-template <int> class D {};
-
-int main()
-{
- C<int,D> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp51.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp51.C
deleted file mode 100644
index 9a497b797c8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp51.C
+++ /dev/null
@@ -1,13 +0,0 @@
-template<class E, int i, class F, class G=int, int j=i, class H=E> class D
-{
-};
-
-template<template<class,int,class,class> class D,class E> class C
-{
- D<E,2,char,bool> d;
-};
-
-int main()
-{
- C<D,int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp52.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp52.C
deleted file mode 100644
index fb841b96ea7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp52.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-template<class A,class B> class mymap {};
-
-template<class Key,
- class Value,
- template<class, class > class MapT>
-class base
-{
-
-};
-
-// specialization
-template<class Key, class Value>
-class base<Key, Value, mymap<int, int > >
-{ // ERROR - type/value mismatch
-
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp53.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp53.C
deleted file mode 100644
index e5e87b46089..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp53.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build don't link:
-
-// Submitted by Erez Louidor Lior <s3824888@techst02.technion.ac.il>
-
-template <typename> class H;
-template <typename Target, typename Source>
-H<Target> foo(const H<Source>&);
-
-template <typename Type>
-class H{
-
-#ifdef OK
-public:
-#endif
- template<template<class, class> class Caster, typename Source>
- static H<Type> cast(const H<Source>& s);
-
-#ifndef OK
- template <typename Target, typename Source>
- friend H<Target> foo(const H<Source>&);
-#endif
-
-};
-
-template <class, class> class caster;
-
-template <typename Target, typename Source>
-H<Target> foo(const H<Source>& s){
- return H<Target>::template cast<caster, Source>(s);
-}
-
-int main(){
- H<int> i;
- foo<const int>(i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp54.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp54.C
deleted file mode 100644
index bae649a3dfa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp54.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-// Reported by Bruce Eckel <Bruce@EckelObjects.com>
-
-// [temp.deduct.type]
-// Make sure we treat <T> in the construct TT<T> as any type containing T.
-
-template <class T> class C
-{
-};
-
-template <class T, template <class> class TT> void f (TT<T *> &t)
-{
-}
-
-int main ()
-{
- C<char *> c;
- f(c);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp55.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp55.C
deleted file mode 100644
index 10af608bcba..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp55.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-
-// Testing overloading of function argument involving template template
-// parameters
-
-// Reported by Thomus Kunert <kunert@physik.tu-dresden.de>
-
-template<class A>
-class H{};
-
-template <class T>
-void f( const T& ){} // #1
-
-template< template<class, class> class X,
- class A, class B>
-void f( const X<A,B> & x ) // #2
-{}
-
-int main()
-{
- H<int> h;
- f(h); // #3
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp6.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp6.C
deleted file mode 100644
index cdea182849e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp6.C
+++ /dev/null
@@ -1,13 +0,0 @@
-template<int> class F
-{
-};
-
-template<template<int> class D,class E> class C
-{
- D<1> d;
-};
-
-int main()
-{
- C<F,int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp7.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp7.C
deleted file mode 100644
index 0b982170e78..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp7.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-
-template<class E> class D
-{
-};
-
-template<template<class> class D,class E> class C // ERROR - ref below
-{
- D<int,int> d; // ERROR - arg not match
-};
-
-int main()
-{
- C<D,int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp8.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp8.C
deleted file mode 100644
index fd2a67c1b4a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp8.C
+++ /dev/null
@@ -1,17 +0,0 @@
-template<class E> class DD
-{
-};
-
-template<int> class D
-{
-};
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
-};
-
-int main()
-{
- C<DD,int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ttp9.C b/gcc/testsuite/g++.old-deja/g++.pt/ttp9.C
deleted file mode 100644
index 3892b6e9fec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/ttp9.C
+++ /dev/null
@@ -1,13 +0,0 @@
-template<class E,class F=int> class D
-{
-};
-
-template<template<class> class D,class E> class C
-{
- D<E> d;
-};
-
-int main()
-{
- C<D,int> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typedef1.C b/gcc/testsuite/g++.old-deja/g++.pt/typedef1.C
deleted file mode 100644
index 8d674c9f127..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typedef1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Testcase for handling of typedef wierdness.
-// Build don't link:
-
-template <class T>
-struct A
-{
- typedef enum
- {
- foo
- } B;
-
- A (B b);
-};
-
-template <class T>
-A<T>::A (B b)
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typedef2.C b/gcc/testsuite/g++.old-deja/g++.pt/typedef2.C
deleted file mode 100644
index 18802fcd7bc..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typedef2.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-typedef const int cint;
-
-template<class T>
-class A
-{
-public:
- T f(cint i);
-};
-
-template <class T>
-T A<T>::f(cint i)
-{
-}
-
-int main()
-{
- A<int> a;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typedef3.C b/gcc/testsuite/g++.old-deja/g++.pt/typedef3.C
deleted file mode 100644
index 110e4814515..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typedef3.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-
-template <class T>
-void f(T, T)
-{
-}
-
-struct A {
- typedef enum {
- VAL1
- } result_t;
-};
-
-struct B {
- typedef enum {
- VAL2
- } result_t;
-};
-
-
-void g()
-{
- f(A::VAL1, A::VAL1);
- f(B::VAL2, B::VAL2);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typedef4.C b/gcc/testsuite/g++.old-deja/g++.pt/typedef4.C
deleted file mode 100644
index 4b1c5d82598..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typedef4.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-struct B1 {
- typedef int X;
-};
-
-struct B2 {
- typedef int X;
-};
-
-template <class T>
-struct D : public B1, public B2 {
- typedef int X;
-};
-
-template struct D<int>;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename1.C b/gcc/testsuite/g++.old-deja/g++.pt/typename1.C
deleted file mode 100644
index c34eff12cdd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-template<class T>
-struct A {
- typedef T T1;
-};
-
-template<class T>
-struct B {
- typedef T T2;
-};
-
-template<class T>
-struct C {
-};
-
-template<class E>
-C<typename E::T2::T1>
-foo (E)
-{
- return C<typename E::T2::T1>();
-}
-
-void test()
-{
- foo(B<A<int> >());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename10.C b/gcc/testsuite/g++.old-deja/g++.pt/typename10.C
deleted file mode 100644
index 1b122b22901..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename10.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-
-struct S {
- typedef int I;
-};
-
-void f(typename S::I); // ERROR - using typename outside of template
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename11.C b/gcc/testsuite/g++.old-deja/g++.pt/typename11.C
deleted file mode 100644
index 1b4a1d51a69..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename11.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class T, int I>
-struct S {
- struct X {};
-};
-
-template <class T, class U, int I>
-S<T,I>::X f(T, U)
-{
- S<T, I>::X();
-}
-
-template S<int, 3>::X f<int, double, 3>(int, double);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename12.C b/gcc/testsuite/g++.old-deja/g++.pt/typename12.C
deleted file mode 100644
index cef670089c1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename12.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Special g++ Options:
-// execution test - XFAIL *-*-*
-// excess errors test - XFAIL *-*-*
-
-int i = 0;
-
-template <class T>
-struct S {
- struct X {};
-};
-
-template <class T>
-void f(T)
-{
- S<T>::X();
-}
-
-template <>
-struct S<int> {
- static void X() { i = 1; }
-};
-
-int main()
-{
- f(3);
- if (i != 1)
- return 1;
- else
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename13.C b/gcc/testsuite/g++.old-deja/g++.pt/typename13.C
deleted file mode 100644
index 48d12e6351e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename13.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-// excess errors test - XFAIL *-*-*
-
-template <class T>
-struct B
-{
- typedef int I;
-};
-
-
-template <class T>
-struct D : public B<T>
-{
- void f();
-};
-
-
-template <class T>
-void D<T>::f()
-{
- I();
-}
-
-
-template <>
-struct B<int>
-{
- void I();
-};
-
-
-int main()
-{
- D<int> di;
- di.f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename14.C b/gcc/testsuite/g++.old-deja/g++.pt/typename14.C
deleted file mode 100644
index 7365b66801d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename14.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class T>
-struct B {
- typedef T X;
-};
-
-template <class T>
-struct S : public B<T>
-{
- struct I {
- void f(X x);
- };
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename15.C b/gcc/testsuite/g++.old-deja/g++.pt/typename15.C
deleted file mode 100644
index 8e26057922e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename15.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class T, bool B>
-struct R {
- struct X {};
-};
-
-template <class T, bool B = false>
-struct S : public R <T, B> {
-};
-
-template <class T> void f()
-{
- S<T>::X();
-}
-
-template void f<int>();
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename16.C b/gcc/testsuite/g++.old-deja/g++.pt/typename16.C
deleted file mode 100644
index 51a8765e9ac..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename16.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Build don't run:
-// Special g++ Options:
-
-struct B {
- typedef int I;
-};
-
-template <class T>
-struct D1 : public B {
-};
-
-template <class T>
-struct D2 : public D1<T> {
- I i;
-};
-
-template <>
-struct D1<int> {
- typedef double I;
-};
-
-template <class T>
-void f(T);
-template <>
-void f(double) {}
-
-int main()
-{
- D2<int> d2i;
- f(d2i.i);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename17.C b/gcc/testsuite/g++.old-deja/g++.pt/typename17.C
deleted file mode 100644
index 87b0ab3b905..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename17.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct A
-{
- typedef T A_Type;
-};
-
-
-template <class U>
-struct B : public A<U>
-{
- typename B<U>::A_Type Func();
-};
-
-
-template <class U>
-typename B<U>::A_Type B<U>::Func()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename18.C b/gcc/testsuite/g++.old-deja/g++.pt/typename18.C
deleted file mode 100644
index ed423e77bec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename18.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-void X();
-
-template <class T>
-struct J {
- typedef T X;
-};
-
-template <class T>
-struct S {
- typedef T X;
-
- struct I : public J<X> {
- static X* f();
- };
-};
-
-S<int> si;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename19.C b/gcc/testsuite/g++.old-deja/g++.pt/typename19.C
deleted file mode 100644
index be93a983267..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename19.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Special g++ Options:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-struct O {
- typedef char X;
-};
-
-template <class T>
-struct S {
- typedef double X;
-
- template <class U>
- struct I : public O<U> {
- static X x; // WARNING - lookup finds S<T>::X
- };
-};
-
-template <class T>
-template <class U>
-typename S<T>::X S<T>::I<U>::x;
-
-int main()
-{
- return sizeof (S<int>::I<double>::x) == 1;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename2.C b/gcc/testsuite/g++.old-deja/g++.pt/typename2.C
deleted file mode 100644
index f2f22657eb5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename2.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-
-class Base {
-public:
- class Bar { public: virtual ~Bar() {}; };
-};
-
-class Derived : public Base {
-public:
- class Bar : public Base::Bar {};
-};
-
-template <class T>
-struct XYZ : public T::Bar {
- XYZ(): T::Bar() { }
-};
-
-void test() {
- XYZ<Base> b;
- XYZ<Derived> d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename20.C b/gcc/testsuite/g++.old-deja/g++.pt/typename20.C
deleted file mode 100644
index 0f6c4fc1ef4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename20.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-// Special g++ Options:
-
-template <class T>
-struct B {
- typedef int I;
-};
-
-template <class T, class X = int>
-struct S : public B <T> {
- struct I {
- };
-
- void f(int i = true) {}
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename21.C b/gcc/testsuite/g++.old-deja/g++.pt/typename21.C
deleted file mode 100644
index 2dc52aa429a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename21.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-// Special g++ Options:
-
-template <class T>
-struct S1 {
- typedef T X;
-};
-
-template <class T>
-struct B {
- typedef T I;
-};
-
-template <class T>
-struct S2 : public B<T> {
- struct I {};
-
- typedef typename S1<I>::X IX;
-
- void f(IX);
-};
-
-template <class T>
-void S2<T>::f(IX) {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename22.C b/gcc/testsuite/g++.old-deja/g++.pt/typename22.C
deleted file mode 100644
index 86a82df65cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename22.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <class T>
-struct S {
- template <class U>
- struct I {
- typedef U X;
-
- X f();
- };
-};
-
-
-template <class T>
-template <class U>
-typename S<T>::I<U>::X S<T>::I<U>::f() {}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename3.C b/gcc/testsuite/g++.old-deja/g++.pt/typename3.C
deleted file mode 100644
index 55d6430f2ef..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class T>
-struct A
-{
- typedef T A_Type;
-};
-
-
-template <class U>
-struct B : public A<U>
-{
- A_Type Func();
-};
-
-
-template <class U>
-B<U>::A_Type B<U>::Func()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename4.C b/gcc/testsuite/g++.old-deja/g++.pt/typename4.C
deleted file mode 100644
index 6f9362fe8e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename4.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class T>
-struct A
-{
- typedef T A_Type;
-};
-
-
-template <class U>
-struct B : public A<U>
-{
-};
-
-
-template <class U>
-struct C : public B<U>
-{
- A_Type Func();
-};
-
-
-template <class U>
-C<U>::A_Type C<U>::Func()
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename5.C b/gcc/testsuite/g++.old-deja/g++.pt/typename5.C
deleted file mode 100644
index e967d143f37..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename5.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// Special g++ Options:
-
-template <class T>
-struct A
-{
- typedef T A_Type;
-};
-
-
-template <class U>
-struct B : public A<U>
-{
-};
-
-
-template <class U>
-struct C : public B<U>
-{
- void Func(A_Type);
-};
-
-
-template <class U>
-void C<U>::Func(A_Type)
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename6.C b/gcc/testsuite/g++.old-deja/g++.pt/typename6.C
deleted file mode 100644
index a3df71840e7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename6.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// We don't try to make implicit typename handle this case.
-
-// Build don't link:
-// Special g++ Options:
-
-template <class T>
-struct A
-{
- typedef T A_Type;
-};
-
-
-template <class U>
-struct B : public A<U>
-{
- A_Type Func(); // ERROR - candidate
-};
-
-template <class U>
-A<U>::A_Type B<U>::Func()
-{ // ERROR - no match
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename7.C b/gcc/testsuite/g++.old-deja/g++.pt/typename7.C
deleted file mode 100644
index 5c89603c8aa..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename7.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Test for implicit typename
-// Build don't link:
-// Special g++ Options:
-
-template <class T>
-struct A {
-protected:
- typedef struct B { } B;
-};
-
-template <class T>
-struct C { };
-
-template <class T>
-struct D : public A <C <T> > {
- void f ()
- {
- B* new_entries = (B *) 0;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename8.C b/gcc/testsuite/g++.old-deja/g++.pt/typename8.C
deleted file mode 100644
index 86881f51127..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename8.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-template < class T > class A
-{
-public:
- typedef typename T::myT anotherT; // ERROR - undefined type
-
- anotherT t; // ERROR - undefined type
-
- A(anotherT _t) { // ERROR - undefined type
- t=_t;
- }
-
- anotherT getT() {
- return t;
- }
-};
-
-class B : public A< B > // ERROR - forward declaration
-{
-public:
- typedef int myT;
-};
-
-int main() {
- B b;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename9.C b/gcc/testsuite/g++.old-deja/g++.pt/typename9.C
deleted file mode 100644
index 027d0a00043..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/typename9.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Test to make sure that implicit typename doesn't break name binding rules.
-// Special g++ Options: -w
-
-typedef double A;
-template<class T> class B {
- typedef char A;
-};
-template<class T> struct X : B<T> {
- A a;
-};
-
-int main()
-{
- X<char*> x;
- return sizeof (x.a) != sizeof (double);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/unify1.C b/gcc/testsuite/g++.old-deja/g++.pt/unify1.C
deleted file mode 100644
index 283e2f50f8a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/unify1.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Tests non-unification of parms that don't use template parms.
-// Build don't link:
-
-enum kind {a, b};
-
-class C { public: C () {} };
-
-template<class P>
-void f (P c, kind k) {}
-
-template<class P>
-void f (P c, P d, kind k) {}
-
-template void f (C c, C c, kind k);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/unify2.C b/gcc/testsuite/g++.old-deja/g++.pt/unify2.C
deleted file mode 100644
index 89b043d7901..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/unify2.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-
-template <class T>
-struct S
-{
- typedef T S_Type;
-};
-
-
-template <class T>
-void foo(typename S<T>::S_Type)
-{
-}
-
-
-template <class T>
-void foo(T)
-{
-}
-
-
-struct S2 {};
-
-void bar()
-{
- foo(S2()); // We can't unify with the first foo, so we get the second.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/unify3.C b/gcc/testsuite/g++.old-deja/g++.pt/unify3.C
deleted file mode 100644
index 847dc0eda38..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/unify3.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-
-template <class T1, class T2>
-struct ComputeBinaryType
-{
-};
-
-template<class T1>
-struct ComputeBinaryType<T1, double> {
- void g();
-};
-
-template<class T1>
-struct ComputeBinaryType<T1&, double> {
- void h();
-};
-
-void f()
-{
- ComputeBinaryType<double, double> cb;
- cb.g();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/unify4.C b/gcc/testsuite/g++.old-deja/g++.pt/unify4.C
deleted file mode 100644
index 259920d4565..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/unify4.C
+++ /dev/null
@@ -1,11 +0,0 @@
-template <class T> void f (T);
-
-void g ();
-void g (int);
-
-int
-main ()
-{
- f (g); // ERROR - ambiguous unification
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/union1.C b/gcc/testsuite/g++.old-deja/g++.pt/union1.C
deleted file mode 100644
index a1da446e570..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/union1.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-
-union Un {int i;};
-
-template<class T1, class T2> struct St1 {};
-template<class T> struct St1<Un,T> {};
-
-template<class T> struct St2 {};
-template<> struct St2<Un> {};
-
-template<class T1, class T2> struct St3 {};
-template<> struct St3<Un,int> {};
-
-void f() {
- St1<int,int> s1;
- St2<int> s2;
- St3<int,int> s3;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/union2.C b/gcc/testsuite/g++.old-deja/g++.pt/union2.C
deleted file mode 100644
index f064e4ecefd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/union2.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// Build don't link:
-// Origin: David Mazieres <dm@amsterdam.lcs.mit.edu>
-
-template<class T> struct vector_base {
- typedef T elm_t;
-protected:
- union {
- double alignment_hack;
- char defbuf_space[2 * sizeof (elm_t)];
- };
- elm_t *def_basep () { return reinterpret_cast<elm_t *> (defbuf_space); }
-};
-
-template<class T> struct vector : public vector_base<T> {
- vector () { def_basep (); }
-};
-
-vector<int> iv;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/vaarg.C b/gcc/testsuite/g++.old-deja/g++.pt/vaarg.C
deleted file mode 100644
index 56ae0d411c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/vaarg.C
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <stdarg.h>
-
-extern "C" void abort();
-
-template <class T>
-T* f(T t, ...)
-{
- va_list ap;
-
- va_start(ap, t);
- T* r = va_arg(ap, T*);
- va_end(ap);
-
- return r;
-}
-
-
-struct S
-{
-};
-
-int main()
-{
- S s;
-
- if (f(s, &s) != &s)
- abort();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/vbase1.C b/gcc/testsuite/g++.old-deja/g++.pt/vbase1.C
deleted file mode 100644
index 58d26fcf2ad..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/vbase1.C
+++ /dev/null
@@ -1,31 +0,0 @@
-// Check that template classes handle inherited virtual bases
-// properly, initializing them before direct non-virtual bases.
-
-int aflag;
-
-struct A
-{
- A() { aflag = 1; }
-};
-
-struct B : virtual public A
-{
- B() { }
-};
-
-struct C
-{
- C() { if (!aflag) exit (1); }
-};
-
-template<class Parent>
-struct D : public C, public Parent
-{
- D() { }
-};
-
-int
-main ()
-{
- D<B> c;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/virtual1.C b/gcc/testsuite/g++.old-deja/g++.pt/virtual1.C
deleted file mode 100644
index efa97b7f41b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/virtual1.C
+++ /dev/null
@@ -1,6 +0,0 @@
- struct V { virtual ~V() {} };
- template <class T> struct A : virtual V { };
- template <class T> struct B {
- virtual void f() { T foo; }
- };
- int main() { B< A<int> > bar; }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/warn1.C b/gcc/testsuite/g++.old-deja/g++.pt/warn1.C
deleted file mode 100644
index 96ed1485226..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.pt/warn1.C
+++ /dev/null
@@ -1,27 +0,0 @@
-// Build don't link:
-// Special g++ Options: -Wunused
-
-template <class T>
-struct S
-{
- struct R
- {
- R();
- ~R();
- };
-
- void foo()
- {
- R r; // no warning
- int i; // WARNING - unused
- }
-
- S();
- ~S();
-};
-
-void f()
-{
- S<int> si;
- si.foo();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.rfg/00321_01-.C b/gcc/testsuite/g++.old-deja/g++.rfg/00321_01-.C
deleted file mode 100644
index d7e08a3876f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.rfg/00321_01-.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Here is a simple one. GCC correctly gives errors for this code when the
-// - -pedantic-errors option is used, whereas g++ doesn't.
-
-// Build don't link:
-
-int (*p1)[3];
-int (*p2)[5];
-
-void
-test ()
-{
- p1 == p2; // ERROR - comparison.*
- p1 > p2; // ERROR - comparison.*
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.rfg/00324_02-.C b/gcc/testsuite/g++.old-deja/g++.rfg/00324_02-.C
deleted file mode 100644
index 4055ba8432e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.rfg/00324_02-.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Another simple one. GCC corerctly gives errors for this code when the
-// - -pedantic-errors options is used. g++ doesn't.
-
-// Build don't link:
-
-void f (int i) { }
-
-void (*fp)(void);
-
-int i;
-
-void
-test ()
-{
- i ? f : fp; // ERROR -
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C b/gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C
deleted file mode 100644
index ee558f41221..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C
+++ /dev/null
@@ -1,43 +0,0 @@
-// Special g++ Options: -g
-// Internal compiler error on egcs 1.0.1 i586-pc-linux-gnulibc1.
-// From: Max Lawson <mlawson@drfmc.ceng.cea.fr>
-// Message-Id: <9803091022.AA07520@drfmc.ceng.cea.fr>
-
-
-typedef __SIZE_TYPE__ size_t;
-
-struct dummy { };
-
-struct arrrrrgh { };
-
-template<class Par,class Rand = arrrrrgh>
-struct whyyyyyyy { };
-
-template<class T, class S =dummy>
-struct grrrrrrrr { };
-
-template<class Par, class Par2 =Par, class Rand =arrrrrgh>
-class no_future
-{
-public:
-
- template<class S>
- no_future(const grrrrrrrr<whyyyyyyy<Par,Rand>*,S>& man ) { }
-
- ~no_future( ) { }
-
-private:
-
- no_future(const no_future&);
- no_future& operator=(const no_future&);
-};
-
-int main( )
-{
- grrrrrrrr<whyyyyyyy<double>*> man;
-
- no_future<double> here(man);
-
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/README b/gcc/testsuite/g++.old-deja/g++.robertl/README
deleted file mode 100644
index 36029c7d9c7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/README
+++ /dev/null
@@ -1,18 +0,0 @@
-This directory contains a hodgepodge of problem reports that appeared on
-the egcs-bugs or egcs mailing lists. Just like the reports themselves,
-they tend to be poorly understood and poorly organized. However, we
-drop them into the testsuite on the premise that internal compiler errors
-are always bad - no matter how bogus the source.
-
-If you really understand C++ (and you know who you are) if you find
-entries in this area that are bogus, feel free to just fix them or nuke
-them. You don't need my permission.
-
-Many of the first entries in this area were done in "block mode" by
-whipping through many months of archives. In hindsight, some important
-information was lost, but being picky on over 8,000 messages is a sure
-way to never get out of the gate.
-
-We'll do better now.
-
-Robert Lipe
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb10.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb10.C
deleted file mode 100644
index 7da5d7562ee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb10.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Build don't link:
-template <int object_size>
-class _fixed_size_allocator
-{
- private:
-
- struct something { };
- static something * asdf;
-
- public:
-
- static void delete_object ();
-};
-
-
-template <class T>
-class object_allocator
-{
- private:
-
- typedef _fixed_size_allocator<sizeof (T)> allocator;
-
- public:
-
- static void deallocate (T * p)
- {
- allocator::delete_object (reinterpret_cast<void *> (p));
- }
-};
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb101.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb101.C
deleted file mode 100644
index 74c6cbb8141..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb101.C
+++ /dev/null
@@ -1,3886 +0,0 @@
-// Special g++ Options: -fcheck-memory-usage
-// Build don't link:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-#define _IOSTREAM_H
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define _STREAMBUF_H
-
-#pragma interface
-
-
-
-
-#define _IO_NEW_STREAMS
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define _IO_STDIO_H
-
-
-
-#define _G_config_h
-#define _G_LIB_VERSION "0.67"
-#define _G_NAMES_HAVE_UNDERSCORE 1
-#define _G_VTABLE_LABEL_HAS_LENGTH 1
-#define _G_VTABLE_LABEL_PREFIX "__vt$"
-#define _G_HAVE_ST_BLKSIZE 1
-typedef long _G_clock_t;
-typedef short _G_dev_t;
-typedef long _G_fpos_t;
-typedef unsigned short _G_gid_t;
-typedef unsigned long _G_ino_t;
-typedef unsigned short _G_mode_t;
-typedef short _G_nlink_t;
-typedef long _G_off_t;
-typedef int _G_pid_t;
-
-
-
-typedef int _G_ptrdiff_t;
-typedef int _G_sigset_t;
-
-
-
-typedef unsigned int _G_size_t;
-typedef long _G_time_t;
-typedef unsigned short _G_uid_t;
-
-
-
-typedef __wchar_t _G_wchar_t;
-typedef int _G_ssize_t;
-typedef int _G_wint_t;
-typedef char * _G_va_list;
-#define _G_signal_return_type void
-#define _G_sprintf_return_type char*
-
-typedef signed char _G_int8_t;
-
-typedef unsigned char _G_uint8_t;
-typedef short _G_int16_t;
-typedef unsigned short _G_uint16_t;
-typedef long _G_int32_t;
-typedef unsigned long _G_uint32_t;
-
-#define HAVE_INT64
-typedef long long _G_int64_t;
-typedef unsigned long long _G_uint64_t;
-
-#define _G_BUFSIZ 1024
-#define _G_FOPEN_MAX 32
-#define _G_FILENAME_MAX 1024
-#define _G_NULL 0
-
-#define _G_ARGS(ARGLIST) ARGLIST
-
-
-
-
-
-
-
-
-
-#define _G_HAVE_ATEXIT 0
-#define _G_HAVE_SYS_RESOURCE 1
-#define _G_HAVE_SYS_SOCKET 1
-#define _G_HAVE_SYS_WAIT 1
-#define _G_HAVE_UNISTD 1
-#define _G_HAVE_DIRENT 1
-#define _G_HAVE_CURSES 1
-#define _G_MATH_H_INLINES 0
-#define _G_HAVE_BOOL 1
-
-
-#define _IO_pos_t _G_fpos_t
-#define _IO_fpos_t _G_fpos_t
-#define _IO_size_t _G_size_t
-#define _IO_ssize_t _G_ssize_t
-#define _IO_off_t _G_off_t
-#define _IO_pid_t _G_pid_t
-#define _IO_uid_t _G_uid_t
-#define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT
-#define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
-#define _IO_BUFSIZ _G_BUFSIZ
-#define _IO_va_list _G_va_list
-
-
-
-
-
-
-
-
-#define __P(protos) protos
-
-
-
-
-
-
-
-
-#define _PARAMS(protos) __P(protos)
-
-
-
-
-
-#define _IO_UNIFIED_JUMPTABLES 1
-
-#define _IO_USE_DTOA 1
-
-
-
-#define EOF (-1)
-
-
-
-
-#define NULL (__null)
-
-
-
-
-
-
-
-
-
-#define _IOS_INPUT 1
-#define _IOS_OUTPUT 2
-#define _IOS_ATEND 4
-#define _IOS_APPEND 8
-#define _IOS_TRUNC 16
-#define _IOS_NOCREATE 32
-#define _IOS_NOREPLACE 64
-#define _IOS_BIN 128
-
-
-
-
-
-
-
-#define _IO_MAGIC 0xFBAD0000
-#define _OLD_STDIO_MAGIC 0xFABC0000
-#define _IO_MAGIC_MASK 0xFFFF0000
-#define _IO_USER_BUF 1
-#define _IO_UNBUFFERED 2
-#define _IO_NO_READS 4
-#define _IO_NO_WRITES 8
-#define _IO_EOF_SEEN 0x10
-#define _IO_ERR_SEEN 0x20
-#define _IO_DELETE_DONT_CLOSE 0x40
-#define _IO_LINKED 0x80
-#define _IO_IN_BACKUP 0x100
-#define _IO_LINE_BUF 0x200
-#define _IO_TIED_PUT_GET 0x400
-#define _IO_CURRENTLY_PUTTING 0x800
-#define _IO_IS_APPENDING 0x1000
-#define _IO_IS_FILEBUF 0x2000
-#define _IO_BAD_SEEN 0x4000
-
-
-#define _IO_SKIPWS 01
-#define _IO_LEFT 02
-#define _IO_RIGHT 04
-#define _IO_INTERNAL 010
-#define _IO_DEC 020
-#define _IO_OCT 040
-#define _IO_HEX 0100
-#define _IO_SHOWBASE 0200
-#define _IO_SHOWPOINT 0400
-#define _IO_UPPERCASE 01000
-#define _IO_SHOWPOS 02000
-#define _IO_SCIENTIFIC 04000
-#define _IO_FIXED 010000
-#define _IO_UNITBUF 020000
-#define _IO_STDIO 040000
-#define _IO_DONT_CLOSE 0100000
-#define _IO_BOOLALPHA 0200000
-
-
-struct _IO_jump_t; struct _IO_FILE;
-
-
-
-
-
-
-
-
-
-
-
- typedef void _IO_lock_t;
-
-
-
-
-
-
-
-struct _IO_marker {
- struct _IO_marker *_next;
- struct _IO_FILE *_sbuf;
-
-
-
- int _pos;
-
-};
-
-struct _IO_FILE {
- int _flags;
-#define _IO_file_flags _flags
-
-
-
- char* _IO_read_ptr;
- char* _IO_read_end;
- char* _IO_read_base;
- char* _IO_write_base;
- char* _IO_write_ptr;
- char* _IO_write_end;
- char* _IO_buf_base;
- char* _IO_buf_end;
-
- char *_IO_save_base;
- char *_IO_backup_base;
- char *_IO_save_end;
-
- struct _IO_marker *_markers;
-
- struct _IO_FILE *_chain;
-
- int _fileno;
- int _blksize;
- _G_off_t _offset;
-
-#define __HAVE_COLUMN
-
- unsigned short _cur_column;
- char _unused;
- char _shortbuf[1];
-
-
-
-
-
-
-};
-
-
-
-
-
-struct _IO_FILE_plus;
-extern struct _IO_FILE_plus _IO_stdin_, _IO_stdout_, _IO_stderr_;
-#define _IO_stdin ((_IO_FILE*)(&_IO_stdin_))
-#define _IO_stdout ((_IO_FILE*)(&_IO_stdout_))
-#define _IO_stderr ((_IO_FILE*)(&_IO_stderr_))
-
-
-
-typedef struct
-{
- _G_ssize_t (*read) (struct _IO_FILE *, void *, _G_ssize_t ) ;
- _G_ssize_t (*write) (struct _IO_FILE *, const void *, _G_ssize_t ) ;
- _G_fpos_t (*seek) (struct _IO_FILE *, _G_off_t , int) ;
- int (*close) (struct _IO_FILE *) ;
-} _IO_cookie_io_functions_t;
-
-
-struct _IO_cookie_file
-{
- struct _IO_FILE file;
- const void *vtable;
- void *cookie;
- _IO_cookie_io_functions_t io_functions;
-};
-
-
-
-extern "C" {
-
-
-extern int __underflow (_IO_FILE *) ;
-extern int __uflow (_IO_FILE *) ;
-extern int __overflow (_IO_FILE *, int) ;
-
-#define _IO_getc_unlocked(_fp) ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
-
-
-#define _IO_peekc_unlocked(_fp) ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr)
-
-
-
-
-#define _IO_putc_unlocked(_ch, _fp) (((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
-
-
-
-
-#define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
-#define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
-
-extern int _IO_getc (_IO_FILE *__fp) ;
-extern int _IO_putc (int __c, _IO_FILE *__fp) ;
-extern int _IO_feof (_IO_FILE *__fp) ;
-extern int _IO_ferror (_IO_FILE *__fp) ;
-
-extern int _IO_peekc_locked (_IO_FILE *__fp) ;
-
-
-#define _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
-
-
-extern void _IO_flockfile (_IO_FILE *) ;
-extern void _IO_funlockfile (_IO_FILE *) ;
-extern int _IO_ftrylockfile (_IO_FILE *) ;
-
-
-
-
-#define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
-#define _IO_flockfile(_fp)
-#define _IO_funlockfile(_fp)
-#define _IO_ftrylockfile(_fp)
-#define _IO_cleanup_region_start(_fct, _fp)
-#define _IO_cleanup_region_end(_Doit)
-
-
-
-extern int _IO_vfscanf (_IO_FILE *, const char *, _G_va_list , int *) ;
-extern int _IO_vfprintf (_IO_FILE *, const char *, _G_va_list ) ;
-extern _G_ssize_t _IO_padn (_IO_FILE *, int, _G_ssize_t ) ;
-extern _G_size_t _IO_sgetn (_IO_FILE *, void *, _G_size_t ) ;
-
-extern _G_fpos_t _IO_seekoff (_IO_FILE *, _G_off_t , int, int) ;
-extern _G_fpos_t _IO_seekpos (_IO_FILE *, _G_fpos_t , int) ;
-
-extern void _IO_free_backup_area (_IO_FILE *) ;
-
-
-}
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define _IO_wchar_t short
-
-
-extern "C++" {
-class istream;
-class ostream; class streambuf;
-
-
-
-
-
-typedef _G_off_t streamoff;
-typedef _G_fpos_t streampos;
-typedef _G_ssize_t streamsize;
-
-typedef unsigned long __fmtflags;
-typedef unsigned char __iostate;
-
-struct _ios_fields
-{
- streambuf *_strbuf;
- ostream* _tie;
- int _width;
- __fmtflags _flags;
- short _fill;
- __iostate _state;
- __iostate _exceptions;
- int _precision;
-
- void *_arrays;
-};
-
-#define _IOS_GOOD 0
-#define _IOS_EOF 1
-#define _IOS_FAIL 2
-#define _IOS_BAD 4
-
-#define _IO_INPUT 1
-#define _IO_OUTPUT 2
-#define _IO_ATEND 4
-#define _IO_APPEND 8
-#define _IO_TRUNC 16
-#define _IO_NOCREATE 32
-#define _IO_NOREPLACE 64
-#define _IO_BIN 128
-
-
-
-class ios : public _ios_fields {
- ios& operator=(ios&);
- ios (const ios&);
- public:
- typedef __fmtflags fmtflags;
- typedef int iostate;
- typedef int openmode;
- typedef int streamsize;
- enum io_state {
- goodbit = 0 ,
- eofbit = 1 ,
- failbit = 2 ,
- badbit = 4 };
- enum open_mode {
- in = 1 ,
- out = 2 ,
- ate = 4 ,
- app = 8 ,
- trunc = 16 ,
- nocreate = 32 ,
- noreplace = 64 ,
- bin = 128 ,
- binary = 128 };
- enum seek_dir { beg, cur, end};
- typedef enum seek_dir seekdir;
-
- enum { skipws= 01 ,
- left= 02 , right= 04 , internal= 010 ,
- dec= 020 , oct= 040 , hex= 0100 ,
- showbase= 0200 , showpoint= 0400 ,
- uppercase= 01000 , showpos= 02000 ,
- scientific= 04000 , fixed= 010000 ,
- unitbuf= 020000 , stdio= 040000
-
-
-
- };
- enum {
- basefield=dec+oct+hex,
- floatfield = scientific+fixed,
- adjustfield = left+right+internal
- };
-
-
-
- ostream* tie() const { return _tie; }
- ostream* tie(ostream* val) { ostream* save=_tie; _tie=val; return save; }
-
-
- short fill() const { return (short )_fill; }
- short fill(short newf)
- {short oldf = (short )_fill; _fill = (char)newf; return oldf;}
- fmtflags flags() const { return _flags; }
- fmtflags flags(fmtflags new_val) {
- fmtflags old_val = _flags; _flags = new_val; return old_val; }
- int precision() const { return _precision; }
- int precision(int newp) {
- unsigned short oldp = _precision; _precision = (unsigned short)newp;
- return oldp; }
- fmtflags setf(fmtflags val) {
- fmtflags oldbits = _flags;
- _flags |= val; return oldbits; }
- fmtflags setf(fmtflags val, fmtflags mask) {
- fmtflags oldbits = _flags;
- _flags = (_flags & ~mask) | (val & mask); return oldbits; }
- fmtflags unsetf(fmtflags mask) {
- fmtflags oldbits = _flags;
- _flags &= ~mask; return oldbits; }
- int width() const { return _width; }
- int width(int val) { int save = _width; _width = val; return save; }
-
-
-
-
- void _throw_failure() const { }
-
- void clear(iostate state = 0) {
- _state = _strbuf ? state : state|badbit;
- if (_state & _exceptions) _throw_failure(); }
- void set(iostate flag) { _state |= flag;
- if (_state & _exceptions) _throw_failure(); }
- void setstate(iostate flag) { _state |= flag;
- if (_state & _exceptions) _throw_failure(); }
- int good() const { return _state == 0; }
- int eof() const { return _state & ios::eofbit; }
- int fail() const { return _state & (ios::badbit|ios::failbit); }
- int bad() const { return _state & ios::badbit; }
- iostate rdstate() const { return _state; }
- operator void*() const { return fail() ? (void*)0 : (void*)(-1); }
- int operator!() const { return fail(); }
- iostate exceptions() const { return _exceptions; }
- void exceptions(iostate enable) {
- _exceptions = enable;
- if (_state & _exceptions) _throw_failure(); }
-
- streambuf* rdbuf() const { return _strbuf; }
- streambuf* rdbuf(streambuf *_s) {
- streambuf *_old = _strbuf; _strbuf = _s; clear (); return _old; }
-
- static int sync_with_stdio(int on);
- static void sync_with_stdio() { sync_with_stdio(1); }
- static fmtflags bitalloc();
- static int xalloc();
- void*& pword(int);
- void* pword(int) const;
- long& iword(int);
- long iword(int) const;
-
-
-
-
-
-
-
-
-
-
- class Init {
- public:
- Init () { }
- };
-
- protected:
- inline ios(streambuf* sb = 0, ostream* tie_to = 0);
- inline virtual ~ios();
- inline void init(streambuf* sb, ostream* tie = 0);
-};
-
-
-
-
-typedef ios::seek_dir _seek_dir;
-
-
-
-
-
-
-
-
-
-
-class streammarker : private _IO_marker {
- friend class streambuf;
- void set_offset(int offset) { _pos = offset; }
- public:
- streammarker(streambuf *sb);
- ~streammarker();
- int saving() { return 1; }
- int delta(streammarker&);
- int delta();
-};
-
-struct streambuf : public _IO_FILE {
- friend class ios;
- friend class istream;
- friend class ostream;
- friend class streammarker;
- const void *&_vtable() { return *(const void**)((_IO_FILE*)this + 1); }
- protected:
- static streambuf* _list_all;
- _IO_FILE*& xchain() { return _chain; }
- void _un_link();
- void _link_in();
- char* gptr() const
- { return _flags & 0x100 ? _IO_save_base : _IO_read_ptr; }
- char* pptr() const { return _IO_write_ptr; }
- char* egptr() const
- { return _flags & 0x100 ? _IO_save_end : _IO_read_end; }
- char* epptr() const { return _IO_write_end; }
- char* pbase() const { return _IO_write_base; }
- char* eback() const
- { return _flags & 0x100 ? _IO_save_base : _IO_read_base;}
- char* base() const { return _IO_buf_base; }
- char* ebuf() const { return _IO_buf_end; }
- int blen() const { return _IO_buf_end - _IO_buf_base; }
- void xput_char(char c) { *_IO_write_ptr++ = c; }
- int xflags() { return _flags ; }
- int xflags(int f) {int fl = _flags ; _flags = f; return fl;}
- void xsetflags(int f) { _flags |= f; }
- void xsetflags(int f, int mask)
- { _flags = (_flags & ~mask) | (f & mask); }
- void gbump(int n)
- { _flags & 0x100 ? (_IO_save_base+=n):(_IO_read_ptr+=n);}
- void pbump(int n) { _IO_write_ptr += n; }
- void setb(char* b, char* eb, int a=0);
- void setp(char* p, char* ep)
- { _IO_write_base=_IO_write_ptr=p; _IO_write_end=ep; }
- void setg(char* eb, char* g, char *eg) {
- if (_flags & 0x100 ) _IO_free_backup_area(this);
- _IO_read_base = eb; _IO_read_ptr = g; _IO_read_end = eg; }
- char *shortbuf() { return _shortbuf; }
-
- int in_backup() { return _flags & 0x100 ; }
-
- char *Gbase() { return in_backup() ? _IO_save_base : _IO_read_base; }
-
- char *eGptr() { return in_backup() ? _IO_save_end : _IO_read_end; }
-
- char *Bbase() { return in_backup() ? _IO_read_base : _IO_save_base; }
- char *Bptr() { return _IO_backup_base; }
-
- char *eBptr() { return in_backup() ? _IO_read_end : _IO_save_end; }
- char *Nbase() { return _IO_save_base; }
- char *eNptr() { return _IO_save_end; }
- int have_backup() { return _IO_save_base != (__null) ; }
- int have_markers() { return _markers != (__null) ; }
- void free_backup_area();
- void unsave_markers();
- int put_mode() { return _flags & 0x800 ; }
- int switch_to_get_mode();
-
- streambuf(int flags=0);
- public:
- static int flush_all();
- static void flush_all_linebuffered();
- virtual ~streambuf();
- virtual int overflow(int c = (-1) );
- virtual int underflow();
- virtual int uflow();
- virtual int pbackfail(int c);
-
- virtual streamsize xsputn(const char* s, streamsize n);
- virtual streamsize xsgetn(char* s, streamsize n);
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
-
- streampos pubseekoff(streamoff o, _seek_dir d, int mode=ios::in|ios::out)
- { return _IO_seekoff (this, o, d, mode); }
- streampos pubseekpos(streampos pos, int mode = ios::in|ios::out)
- { return _IO_seekpos (this, pos, mode); }
- streampos sseekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- streampos sseekpos(streampos pos, int mode = ios::in|ios::out);
- virtual streambuf* setbuf(char* p, int len);
- virtual int sync();
- virtual int doallocate();
-
- int seekmark(streammarker& mark, int delta = 0);
- int sputbackc(char c);
- int sungetc();
- int unbuffered() { return _flags & 2 ? 1 : 0; }
- int linebuffered() { return _flags & 0x200 ? 1 : 0; }
- void unbuffered(int i)
- { if (i) _flags |= 2 ; else _flags &= ~2 ; }
- void linebuffered(int i)
- { if (i) _flags |= 0x200 ; else _flags &= ~0x200 ; }
- int allocate() {
- if (base() || unbuffered()) return 0;
- else return doallocate(); }
-
- void allocbuf() { if (base() == (__null) ) doallocbuf(); }
- void doallocbuf();
- int in_avail() { return _IO_read_end - _IO_read_ptr; }
- int out_waiting() { return _IO_write_ptr - _IO_write_base; }
- streamsize sputn(const char* s, streamsize n) { return xsputn(s, n); }
- streamsize padn(char pad, streamsize n) { return _IO_padn(this, pad, n); }
- streamsize sgetn(char* s, streamsize n) { return _IO_sgetn(this, s, n); }
- int ignore(int);
- int get_column();
- int set_column(int);
- long sgetline(char* buf, _G_size_t n, char delim, int putback_delim);
- int sputc(int c) { return _IO_putc(c, this); }
- int sbumpc() { return _IO_getc(this); }
- int sgetc() { return (( this )->_IO_read_ptr >= ( this )->_IO_read_end && __underflow ( this ) == (-1) ? (-1) : *(unsigned char *) ( this )->_IO_read_ptr) ; }
- int snextc() {
- if (_IO_read_ptr >= _IO_read_end && __underflow(this) == (-1) )
- return (-1) ;
- else return _IO_read_ptr++, sgetc(); }
- void stossc() { if (_IO_read_ptr < _IO_read_end) _IO_read_ptr++; }
- int vscan(char const *fmt0, _G_va_list ap, ios* stream = (__null) );
- int scan(char const *fmt0 ...);
- int vform(char const *fmt0, _G_va_list ap);
- int form(char const *fmt0 ...);
-
-
-
-
- virtual streamsize sys_read(char* buf, streamsize size);
- virtual streamsize sys_write(const char*, streamsize);
- virtual streampos sys_seek(streamoff, _seek_dir);
- virtual int sys_close();
- virtual int sys_stat(void*);
-};
-
-
-
-
-class filebuf : public streambuf {
- protected:
- void init();
- public:
- static const int openprot;
- filebuf();
- filebuf(int fd);
- filebuf(int fd, char* p, int len);
-
-
-
- ~filebuf();
- filebuf* attach(int fd);
- filebuf* open(const char *filename, const char *mode);
- filebuf* open(const char *filename, ios::openmode mode, int prot = 0664);
- virtual int underflow();
- virtual int overflow(int c = (-1) );
- int is_open() const { return _fileno >= 0; }
- int fd() const { return is_open() ? _fileno : (-1) ; }
- filebuf* close();
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streambuf* setbuf(char* p, int len);
- streamsize xsputn(const char* s, streamsize n);
- streamsize xsgetn(char* s, streamsize n);
- virtual int sync();
- protected:
-
- int is_reading() { return eback() != egptr(); }
- char* cur_ptr() { return is_reading() ? gptr() : pptr(); }
-
- char* file_ptr() { return eGptr(); }
-
- virtual streamsize sys_read(char* buf, streamsize size);
- virtual streampos sys_seek(streamoff, _seek_dir);
- virtual streamsize sys_write(const char*, streamsize);
- virtual int sys_stat(void*);
- virtual int sys_close();
-
-
-
-
-};
-
-inline void ios::init(streambuf* sb, ostream* tie_to) {
- _state = sb ? ios::goodbit : ios::badbit; _exceptions=0;
- _strbuf=sb; _tie = tie_to; _width=0; _fill=' ';
-
- _flags=ios::skipws|ios::dec;
-
-
-
- _precision=6; _arrays = 0; }
-
-inline ios::ios(streambuf* sb, ostream* tie_to) { init(sb, tie_to); }
-
-inline ios::~ios() {
-
-
-
- operator delete(_arrays);
-}
-}
-
-
-
-extern "C++" {
-class istream; class ostream;
-typedef ios& (*__manip)(ios&);
-typedef istream& (*__imanip)(istream&);
-typedef ostream& (*__omanip)(ostream&);
-
-extern istream& ws(istream& ins);
-extern ostream& flush(ostream& outs);
-extern ostream& endl(ostream& outs);
-extern ostream& ends(ostream& outs);
-
-class ostream : virtual public ios
-{
-
- void do_osfx();
- public:
- ostream() { }
- ostream(streambuf* sb, ostream* tied= (__null) );
- int opfx() {
- if (!good()) return 0;
- else { if (_tie) _tie->flush(); ; return 1;} }
- void osfx() { ;
- if (flags() & (ios::unitbuf|ios::stdio))
- do_osfx(); }
- ostream& flush();
- ostream& put(char c) { _strbuf->sputc(c); return *this; }
-
-
-
-
-
- ostream& write(const char *s, streamsize n);
- ostream& write(const unsigned char *s, streamsize n)
- { return write((const char*)s, n);}
- ostream& write(const signed char *s, streamsize n)
- { return write((const char*)s, n);}
- ostream& write(const void *s, streamsize n)
- { return write((const char*)s, n);}
- ostream& seekp(streampos);
- ostream& seekp(streamoff, _seek_dir);
- streampos tellp();
- ostream& form(const char *format ...);
- ostream& vform(const char *format, _G_va_list args);
-
- ostream& operator<<(char c);
- ostream& operator<<(unsigned char c) { return (*this) << (char)c; }
- ostream& operator<<(signed char c) { return (*this) << (char)c; }
- ostream& operator<<(const char *s);
- ostream& operator<<(const unsigned char *s)
- { return (*this) << (const char*)s; }
- ostream& operator<<(const signed char *s)
- { return (*this) << (const char*)s; }
- ostream& operator<<(const void *p);
- ostream& operator<<(int n);
- ostream& operator<<(unsigned int n);
- ostream& operator<<(long n);
- ostream& operator<<(unsigned long n);
-
- __extension__ ostream& operator<<(long long n);
- __extension__ ostream& operator<<(unsigned long long n);
-
- ostream& operator<<(short n) {return operator<<((int)n);}
- ostream& operator<<(unsigned short n) {return operator<<((unsigned int)n);}
-
- ostream& operator<<(bool b) { return operator<<((int)b); }
-
- ostream& operator<<(double n);
- ostream& operator<<(float n) { return operator<<((double)n); }
-
-
-
- ostream& operator<<(long double n) { return operator<<((double)n); }
-
- ostream& operator<<(__omanip func) { return (*func)(*this); }
- ostream& operator<<(__manip func) {(*func)(*this); return *this;}
- ostream& operator<<(streambuf*);
-
-
-
-};
-
-class istream : virtual public ios
-{
-
-protected:
- _G_size_t _gcount;
-
- int _skip_ws();
- public:
- istream(): _gcount (0) { }
- istream(streambuf* sb, ostream*tied= (__null) );
- istream& get(char* ptr, int len, char delim = '\n');
- istream& get(unsigned char* ptr, int len, char delim = '\n')
- { return get((char*)ptr, len, delim); }
- istream& get(char& c);
- istream& get(unsigned char& c) { return get((char&)c); }
- istream& getline(char* ptr, int len, char delim = '\n');
- istream& getline(unsigned char* ptr, int len, char delim = '\n')
- { return getline((char*)ptr, len, delim); }
- istream& get(signed char& c) { return get((char&)c); }
- istream& get(signed char* ptr, int len, char delim = '\n')
- { return get((char*)ptr, len, delim); }
- istream& getline(signed char* ptr, int len, char delim = '\n')
- { return getline((char*)ptr, len, delim); }
- istream& read(char *ptr, streamsize n);
- istream& read(unsigned char *ptr, streamsize n)
- { return read((char*)ptr, n); }
- istream& read(signed char *ptr, streamsize n)
- { return read((char*)ptr, n); }
- istream& read(void *ptr, streamsize n)
- { return read((char*)ptr, n); }
- istream& get(streambuf& sb, char delim = '\n');
- istream& gets(char **s, char delim = '\n');
- int ipfx(int need = 0) {
- if (!good()) { set(ios::failbit); return 0; }
- else {
- ;
- if (_tie && (need == 0 || rdbuf()->in_avail() < need)) _tie->flush();
- if (!need && (flags() & ios::skipws)) return _skip_ws();
- else return 1;
- }
- }
- int ipfx0() {
- if (!good()) { set(ios::failbit); return 0; }
- else {
- ;
- if (_tie) _tie->flush();
- if (flags() & ios::skipws) return _skip_ws();
- else return 1;
- }
- }
- int ipfx1() {
- if (!good()) { set(ios::failbit); return 0; }
- else {
- ;
- if (_tie && rdbuf()->in_avail() == 0) _tie->flush();
- return 1;
- }
- }
- void isfx() { ; }
- int get() { if (!ipfx1()) return (-1) ;
- else { int ch = _strbuf->sbumpc();
- if (ch == (-1) ) set(ios::eofbit);
- return ch;
- } }
- int peek();
- _G_size_t gcount() { return _gcount; }
- istream& ignore(int n=1, int delim = (-1) );
- int sync ();
- istream& seekg(streampos);
- istream& seekg(streamoff, _seek_dir);
- streampos tellg();
- istream& putback(char ch) {
- if (good() && _strbuf->sputbackc(ch) == (-1) ) clear(ios::badbit);
- return *this;}
- istream& unget() {
- if (good() && _strbuf->sungetc() == (-1) ) clear(ios::badbit);
- return *this;}
- istream& scan(const char *format ...);
- istream& vscan(const char *format, _G_va_list args);
-
-
-
-
-
-
- istream& operator>>(char*);
- istream& operator>>(unsigned char* p) { return operator>>((char*)p); }
- istream& operator>>(signed char*p) { return operator>>((char*)p); }
- istream& operator>>(char& c);
- istream& operator>>(unsigned char& c) {return operator>>((char&)c);}
- istream& operator>>(signed char& c) {return operator>>((char&)c);}
- istream& operator>>(int&);
- istream& operator>>(long&);
-
- __extension__ istream& operator>>(long long&);
- __extension__ istream& operator>>(unsigned long long&);
-
- istream& operator>>(short&);
- istream& operator>>(unsigned int&);
- istream& operator>>(unsigned long&);
- istream& operator>>(unsigned short&);
-
- istream& operator>>(bool&);
-
- istream& operator>>(float&);
- istream& operator>>(double&);
- istream& operator>>(long double&);
- istream& operator>>( __manip func) {(*func)(*this); return *this;}
- istream& operator>>(__imanip func) { return (*func)(*this); }
- istream& operator>>(streambuf*);
-};
-
-class iostream : public istream, public ostream
-{
- public:
- iostream() { }
- iostream(streambuf* sb, ostream*tied= (__null) );
-};
-
-class _IO_istream_withassign : public istream {
-public:
- _IO_istream_withassign& operator=(istream&);
- _IO_istream_withassign& operator=(_IO_istream_withassign& rhs)
- { return operator= (static_cast<istream&> (rhs)); }
-};
-
-class _IO_ostream_withassign : public ostream {
-public:
- _IO_ostream_withassign& operator=(ostream&);
- _IO_ostream_withassign& operator=(_IO_ostream_withassign& rhs)
- { return operator= (static_cast<ostream&> (rhs)); }
-};
-
-extern _IO_istream_withassign cin;
-
-extern _IO_ostream_withassign cout, cerr;
-
-extern _IO_ostream_withassign clog
-
-
-
-;
-
-extern istream& lock(istream& ins);
-extern istream& unlock(istream& ins);
-extern ostream& lock(ostream& outs);
-extern ostream& unlock(ostream& outs);
-
-struct Iostream_init { } ;
-
-inline ios& dec(ios& i)
-{ i.setf(ios::dec, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& hex(ios& i)
-{ i.setf(ios::hex, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& oct(ios& i)
-{ i.setf(ios::oct, ios::dec|ios::hex|ios::oct); return i; }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-#define _IOMANIP_H
-
-
-
-extern "C++" {
-
-
-
-
-
-
-
-
-template<class TP> class smanip;
-
-template<class TP> class sapp {
- ios& (*_f)(ios&, TP);
-public:
- sapp(ios& (*f)(ios&, TP)) : _f(f) {}
-
- smanip<TP> operator()(TP a)
- { return smanip<TP>(_f, a); }
-};
-
-template<class TP>
-inline istream& operator>>(istream& i, const smanip<TP>& m);
-template<class TP>
-inline ostream& operator<<(ostream& o, const smanip<TP>& m);
-
-template <class TP> class smanip {
- ios& (*_f)(ios&, TP);
- TP _a;
-public:
- smanip(ios& (*f)(ios&, TP), TP a) : _f(f), _a(a) {}
-
- friend
- istream& operator>> <>(istream& i, const smanip<TP>& m);
- friend
- ostream& operator<< <>(ostream& o, const smanip<TP>& m);
-};
-
-
-extern template class smanip<int>;
-extern template class smanip<ios::fmtflags>;
-
-
-template<class TP>
-inline istream& operator>>(istream& i, const smanip<TP>& m)
-{ (*m._f)(i, m._a); return i; }
-
-template<class TP>
-inline ostream& operator<<(ostream& o, const smanip<TP>& m)
-{ (*m._f)(o, m._a); return o;}
-
-
-extern template istream& operator>>(istream&, const smanip<int>&);
-extern template istream& operator>>(istream&, const smanip<ios::fmtflags>&);
-extern template ostream& operator<<(ostream&, const smanip<int>&);
-extern template ostream& operator<<(ostream&, const smanip<ios::fmtflags>&);
-
-
-
-
-
-
-template<class TP> class imanip;
-
-template<class TP> class iapp {
- istream& (*_f)(istream&, TP);
-public:
- iapp(istream& (*f)(istream&,TP)) : _f(f) {}
-
- imanip<TP> operator()(TP a)
- { return imanip<TP>(_f, a); }
-};
-
-template <class TP>
-inline istream& operator>>(istream&, const imanip<TP>&);
-
-template <class TP> class imanip {
- istream& (*_f)(istream&, TP);
- TP _a;
-public:
- imanip(istream& (*f)(istream&, TP), TP a) : _f(f), _a(a) {}
-
- friend
- istream& operator>> <>(istream& i, const imanip<TP>& m);
-};
-
-template <class TP>
-inline istream& operator>>(istream& i, const imanip<TP>& m)
-{ return (*m._f)( i, m._a); }
-
-
-
-
-
-template<class TP> class omanip;
-
-template<class TP> class oapp {
- ostream& (*_f)(ostream&, TP);
-public:
- oapp(ostream& (*f)(ostream&,TP)) : _f(f) {}
-
- omanip<TP> operator()(TP a)
- { return omanip<TP>(_f, a); }
-};
-
-template <class TP>
-inline ostream& operator<<(ostream&, const omanip<TP>&);
-
-template <class TP> class omanip {
- ostream& (*_f)(ostream&, TP);
- TP _a;
-public:
- omanip(ostream& (*f)(ostream&, TP), TP a) : _f(f), _a(a) {}
-
- friend
- ostream& operator<< <>(ostream& o, const omanip<TP>& m);
-};
-
-template <class TP>
-inline ostream& operator<<(ostream& o, const omanip<TP>& m)
-{ return (*m._f)(o, m._a); }
-
-
-
-
-
-
-
-
-
-#define __DEFINE_IOMANIP_FN1(type,param,function) extern ios& __iomanip_##function (ios&, param); inline type<param> function (param n) { return type<param> (__iomanip_##function, n); }
-
-
-
-
-extern ios& __iomanip_setbase (ios&, int ); inline smanip < int > setbase ( int n) { return smanip < int > (__iomanip_setbase , n); }
-extern ios& __iomanip_setfill (ios&, int ); inline smanip < int > setfill ( int n) { return smanip < int > (__iomanip_setfill , n); }
-extern ios& __iomanip_setprecision (ios&, int ); inline smanip < int > setprecision ( int n) { return smanip < int > (__iomanip_setprecision , n); }
-extern ios& __iomanip_setw (ios&, int ); inline smanip < int > setw ( int n) { return smanip < int > (__iomanip_setw , n); }
-
-extern ios& __iomanip_resetiosflags (ios&, ios::fmtflags ); inline smanip < ios::fmtflags > resetiosflags ( ios::fmtflags n) { return smanip < ios::fmtflags > (__iomanip_resetiosflags , n); }
-extern ios& __iomanip_setiosflags (ios&, ios::fmtflags ); inline smanip < ios::fmtflags > setiosflags ( ios::fmtflags n) { return smanip < ios::fmtflags > (__iomanip_setiosflags , n); }
-}
-
-
-
-
-#define LS_hh
-
-
-#define Mouvement_hh
-
-
-
-#define usuel_hh
-
-
-
-
-
-
-#define _MATH_H
-
-
-extern "C" {
-
-
-#pragma ident "@(#)math.h 2.5 95/02/07"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef union _h_val {
- unsigned long _i[2];
- double _d;
-} _h_val;
-
-
-extern const _h_val __huge_val;
-
-
-
-
-
-#define HUGE_VAL __huge_val._d
-
-
-
-
-
-
-
-#define M_E 2.7182818284590452354
-#define M_LOG2E 1.4426950408889634074
-#define M_LOG10E 0.43429448190325182765
-#define M_LN2 0.69314718055994530942
-#define M_LN10 2.30258509299404568402
-#define M_PI 3.14159265358979323846
-#define M_PI_2 1.57079632679489661923
-#define M_PI_4 0.78539816339744830962
-#define M_1_PI 0.31830988618379067154
-#define M_2_PI 0.63661977236758134308
-#define M_2_SQRTPI 1.12837916709551257390
-#define M_SQRT2 1.41421356237309504880
-#define M_SQRT1_2 0.70710678118654752440
-
-extern int signgam;
-
-#define MAXFLOAT ((float)3.40282346638528860e+38)
-
-
-
-
-
-enum version {libm_ieee = -1, c_issue_4, ansi_1, strict_ansi};
-
-
-extern const enum version _lib_version;
-
-
-
-
-
-#define exception __math_exception
-
-struct __math_exception {
-
-#undef exception
-
- int type;
- char *name;
- double arg1;
- double arg2;
- double retval;
-};
-
-#define HUGE MAXFLOAT
-
-#define _ABS(x) ((x) < 0 ? -(x) : (x))
-
-#define _REDUCE(TYPE, X, XN, C1, C2) { double x1 = (double)(TYPE)X, x2 = X - x1; X = x1 - (XN) * (C1); X += x2; X -= (XN) * (C2); }
-
-
-
-#define DOMAIN 1
-#define SING 2
-#define OVERFLOW 3
-#define UNDERFLOW 4
-#define TLOSS 5
-#define PLOSS 6
-
-#define _POLY1(x, c) ((c)[0] * (x) + (c)[1])
-#define _POLY2(x, c) (_POLY1((x), (c)) * (x) + (c)[2])
-#define _POLY3(x, c) (_POLY2((x), (c)) * (x) + (c)[3])
-#define _POLY4(x, c) (_POLY3((x), (c)) * (x) + (c)[4])
-#define _POLY5(x, c) (_POLY4((x), (c)) * (x) + (c)[5])
-#define _POLY6(x, c) (_POLY5((x), (c)) * (x) + (c)[6])
-#define _POLY7(x, c) (_POLY6((x), (c)) * (x) + (c)[7])
-#define _POLY8(x, c) (_POLY7((x), (c)) * (x) + (c)[8])
-#define _POLY9(x, c) (_POLY8((x), (c)) * (x) + (c)[9])
-
-
-
-
-
-
-extern double acos (double) ;
-extern double asin (double) ;
-extern double atan (double) ;
-extern double atan2 (double, double) ;
-extern double cos (double) ;
-extern double sin (double) ;
-extern double tan (double) ;
-
-extern double cosh (double) ;
-extern double sinh (double) ;
-extern double tanh (double) ;
-
-extern double exp (double) ;
-extern double frexp (double, int *) ;
-extern double ldexp (double, int) ;
-extern double log (double) ;
-extern double log10 (double) ;
-extern double modf (double, double *) ;
-
-extern double pow (double, double) ;
-extern double sqrt (double) ;
-
-extern double ceil (double) ;
-extern double fabs (double) ;
-extern double floor (double) ;
-extern double fmod (double, double) ;
-
-
-
-
-
-
-extern double erf (double) ;
-extern double erfc (double) ;
-extern double gamma (double) ;
-extern double hypot (double, double) ;
-extern int isnan (double) ;
-extern double j0 (double) ;
-extern double j1 (double) ;
-extern double jn (int, double) ;
-extern double lgamma (double) ;
-extern double y0 (double) ;
-extern double y1 (double) ;
-extern double yn (int, double) ;
-
-
-
-
-
-
-extern double acosh (double) ;
-extern double asinh (double) ;
-extern double atanh (double) ;
-extern double cbrt (double) ;
-extern double logb (double) ;
-extern double nextafter (double, double) ;
-extern double remainder (double, double) ;
-extern double scalb (double, double) ;
-
-
-
-
-extern double expm1 (double) ;
-extern int ilogb (double) ;
-extern double log1p (double) ;
-extern double rint (double) ;
-
-
-
-
-
-
-
-#define exception __math_exception
-
-extern int matherr (struct __math_exception *) ;
-
-#undef exception
-
-
-
-
-
-extern double significand (double) ;
-
-
-
-
-extern double copysign (double, double) ;
-extern double scalbn (double, int) ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern float modff (float, float *) ;
-
-
-
-
-
-
-
-
-
-#define _FLOATINGPOINT_H
-
-
-extern "C" {
-
-
-#pragma ident "@(#)floatingpoint.h 2.4 94/06/09"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define _STDIO_H
-
-#pragma ident "@(#)stdio.h 1.39 95/12/04 SMI"
-
-
-
-
-
-
-
-
-
-#define _SYS_FEATURE_TESTS_H
-
-#pragma ident "@(#)feature_tests.h 1.7 94/12/06 SMI"
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-#define _SYS_VA_LIST_H
-
-#pragma ident "@(#)va_list.h 1.6 96/01/26 SMI"
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-typedef void *__va_list;
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-extern "C" {
-
-
-
-#define _SIZE_T
-typedef unsigned int size_t;
-
-
-typedef long fpos_t;
-
-
-
-
-
-
-
-
-
-
-#define BUFSIZ 1024
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define _NFILE 20
-
-
-
-#define _SBFSIZ 8
-
-#define _IOFBF 0000
-#define _IOLBF 0100
-#define _IONBF 0004
-#define _IOEOF 0020
-#define _IOERR 0040
-
-#define _IOREAD 0001
-#define _IOWRT 0002
-#define _IORW 0200
-#define _IOMYBUF 0010
-
-
-
-
-
-#define FOPEN_MAX _NFILE
-#define FILENAME_MAX 1024
-
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-#define TMP_MAX 17576
-
-
-
-
-#define L_ctermid 9
-#define L_cuserid 9
-
-
-
-
-
-#define P_tmpdir "/var/tmp/"
-
-
-#define L_tmpnam 25
-
-
-#define stdin (&__iob[0])
-#define stdout (&__iob[1])
-#define stderr (&__iob[2])
-
-
-
-
-
-
-typedef struct
-{
-
-
-
-
- int _cnt;
- unsigned char *_ptr;
-
- unsigned char *_base;
- unsigned char _flag;
- unsigned char _file;
-} FILE;
-
-
-extern FILE __iob[20 ];
-
-
-
-extern FILE *_lastbuf;
-extern unsigned char *_bufendtab[];
-
-extern unsigned char _sibuf[], _sobuf[];
-
-
-
-
-extern int remove(const char *);
-extern int rename(const char *, const char *);
-extern FILE *tmpfile(void);
-extern char *tmpnam(char *);
-
-
-
-extern int fclose(FILE *);
-extern int fflush(FILE *);
-extern FILE *fopen(const char *, const char *);
-extern FILE *freopen(const char *, const char *, FILE *);
-extern void setbuf(FILE *, char *);
-extern int setvbuf(FILE *, char *, int, size_t);
-
-extern int fprintf(FILE *, const char *, ...);
-
-extern int fscanf(FILE *, const char *, ...);
-
-extern int printf(const char *, ...);
-
-extern int scanf(const char *, ...);
-
-extern int sprintf(char *, const char *, ...);
-
-extern int sscanf(const char *, const char *, ...);
-extern int vfprintf(FILE *, const char *, __va_list);
-extern int vprintf(const char *, __va_list);
-extern int vsprintf(char *, const char *, __va_list);
-extern int fgetc(FILE *);
-extern char *fgets(char *, int, FILE *);
-extern int fputc(int, FILE *);
-extern int fputs(const char *, FILE *);
-extern int getc(FILE *);
-extern int getchar(void);
-extern char *gets(char *);
-extern int putc(int, FILE *);
-extern int putchar(int);
-extern int puts(const char *);
-extern int ungetc(int, FILE *);
-extern size_t fread(void *, size_t, size_t, FILE *);
-extern size_t fwrite(const void *, size_t, size_t, FILE *);
-extern int fgetpos(FILE *, fpos_t *);
-extern int fseek(FILE *, long, int);
-extern int fsetpos(FILE *, const fpos_t *);
-extern long ftell(FILE *);
-extern void rewind(FILE *);
-extern void clearerr(FILE *);
-extern int feof(FILE *);
-extern int ferror(FILE *);
-extern void perror(const char *);
-
-extern int __filbuf(FILE *);
-extern int __flsbuf(int, FILE *);
-
-
-
-
-
-
-
-extern FILE *fdopen(int, const char *);
-extern char *ctermid(char *);
-extern int fileno(FILE *);
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern FILE *popen(const char *, const char *);
-extern char *cuserid(char *);
-extern char *tempnam(const char *, const char *);
-extern int getopt(int, char *const *, const char *);
-
-extern int getsubopt(char **, char *const *, char **);
-
-extern char *optarg;
-extern int optind, opterr, optopt;
-extern int getw(FILE *);
-extern int putw(int, FILE *);
-extern int pclose(FILE *);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define getc(p) (--(p)->_cnt < 0 ? __filbuf(p) : (int)*(p)->_ptr++)
-#define putc(x, p) (--(p)->_cnt < 0 ? __flsbuf((unsigned char) (x), (p)) : (int)(*(p)->_ptr++ = (x)))
-
-
-
-
-
-
-
-#define getchar() getc(stdin)
-#define putchar(x) putc((x), stdout)
-#define clearerr(p) ((void)((p)->_flag &= ~(_IOERR | _IOEOF)))
-#define feof(p) ((p)->_flag & _IOEOF)
-#define ferror(p) ((p)->_flag & _IOERR)
-
-
-
-
-#define fileno(p) ((p)->_file)
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-#define _SYS_IEEEFP_H
-
-#pragma ident "@(#)ieeefp.h 2.7 94/11/09"
-
-
-extern "C" {
-
-
-
-
-
-
-enum fp_direction_type {
- fp_nearest = 0,
- fp_tozero = 1,
- fp_positive = 2,
- fp_negative = 3
-};
-
-enum fp_precision_type {
- fp_extended = 0,
- fp_single = 1,
- fp_double = 2,
- fp_precision_3 = 3
-};
-
-enum fp_exception_type {
- fp_inexact = 0,
- fp_division = 1,
- fp_underflow = 2,
- fp_overflow = 3,
- fp_invalid = 4
-};
-
-enum fp_trap_enable_type {
- fp_trap_inexact = 0,
- fp_trap_division = 1,
- fp_trap_underflow = 2,
- fp_trap_overflow = 3,
- fp_trap_invalid = 4
-};
-
-
-
-
-
-
-enum fp_class_type {
- fp_zero = 0,
- fp_subnormal = 1,
- fp_normal = 2,
- fp_infinity = 3,
- fp_quiet = 4,
- fp_signaling = 5
-};
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#define N_IEEE_EXCEPTION 5
-
-typedef int sigfpe_code_type;
-
-typedef void (*sigfpe_handler_type)();
-
-#define SIGFPE_DEFAULT (void (*)())0
-#define SIGFPE_IGNORE (void (*)())1
-#define SIGFPE_ABORT (void (*)())2
-
-extern sigfpe_handler_type sigfpe (sigfpe_code_type, sigfpe_handler_type) ;
-
-
-
-
-typedef float single;
-
-
-#define _EXTENDED
-typedef unsigned extended[3];
-
-
-typedef long double quadruple;
-
-typedef unsigned fp_exception_field_type;
-
-
-
-
-
-
-
-#define DECIMAL_STRING_LENGTH 512
-
-typedef char decimal_string[512 ];
-
-
-typedef struct {
- enum fp_class_type fpclass;
- int sign;
- int exponent;
- decimal_string ds;
-
-
- int more;
-
-
- int ndigits;
-
-
-} decimal_record;
-
-enum decimal_form {
- fixed_form,
-
-
- floating_form
-
-};
-
-typedef struct {
- enum fp_direction_type rd;
-
- enum decimal_form df;
-
- int ndigits;
-} decimal_mode;
-
-enum decimal_string_form {
- invalid_form,
- whitespace_form,
- fixed_int_form,
- fixed_intdot_form,
- fixed_dotfrac_form,
- fixed_intdotfrac_form,
- floating_int_form,
- floating_intdot_form,
- floating_dotfrac_form,
- floating_intdotfrac_form,
- inf_form,
- infinity_form,
- nan_form,
- nanstring_form
-};
-
-extern void single_to_decimal (single *, decimal_mode *, decimal_record *,
- fp_exception_field_type *) ;
-extern void double_to_decimal (double *, decimal_mode *, decimal_record *,
- fp_exception_field_type *) ;
-extern void extended_to_decimal (extended *, decimal_mode *,
- decimal_record *, fp_exception_field_type *) ;
-extern void quadruple_to_decimal (quadruple *, decimal_mode *,
- decimal_record *, fp_exception_field_type *) ;
-
-extern void decimal_to_single (single *, decimal_mode *, decimal_record *,
- fp_exception_field_type *) ;
-extern void decimal_to_double (double *, decimal_mode *, decimal_record *,
- fp_exception_field_type *) ;
-extern void decimal_to_extended (extended *, decimal_mode *,
- decimal_record *, fp_exception_field_type *) ;
-extern void decimal_to_quadruple (quadruple *, decimal_mode *,
- decimal_record *, fp_exception_field_type *) ;
-
-extern void string_to_decimal (char **, int, int, decimal_record *,
- enum decimal_string_form *, char **) ;
-extern void func_to_decimal (char **, int, int, decimal_record *,
- enum decimal_string_form *, char **,
- int (*)(void), int *, int (*)(int)) ;
-extern void file_to_decimal (char **, int, int, decimal_record *,
- enum decimal_string_form *, char **,
- FILE *, int *) ;
-
-extern char *seconvert (single *, int, int *, int *, char *) ;
-extern char *sfconvert (single *, int, int *, int *, char *) ;
-extern char *sgconvert (single *, int, int, char *) ;
-extern char *econvert (double, int, int *, int *, char *) ;
-extern char *fconvert (double, int, int *, int *, char *) ;
-extern char *gconvert (double, int, int, char *) ;
-extern char *qeconvert (quadruple *, int, int *, int *, char *) ;
-extern char *qfconvert (quadruple *, int, int *, int *, char *) ;
-extern char *qgconvert (quadruple *, int, int, char *) ;
-
-extern char *ecvt (double, int, int *, int *) ;
-extern char *fcvt (double, int, int *, int *) ;
-extern char *gcvt (double, int, char *) ;
-
-
-
-
-
-extern double atof (const char *) ;
-extern double strtod (const char *, char **) ;
-
-
-}
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-#define _String_h 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma interface
-
-#define _Regex_h 1
-
-
-
-
-
-
-
-struct re_pattern_buffer;
-struct re_registers;
-
-class Regex
-{
-private:
-
- Regex(const Regex&) {}
- void operator = (const Regex&) {}
-
-protected:
- re_pattern_buffer* buf;
- re_registers* reg;
-
-public:
- Regex(const char* t,
- int fast = 0,
- int bufsize = 40,
- const char* transtable = 0);
-
- ~Regex();
-
- int match(const char* s, int len, int pos = 0) const;
- int search(const char* s, int len,
- int& matchlen, int startpos = 0) const;
- int match_info(int& start, int& length, int nth = 0) const;
-
- int OK() const;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct StrRep
-{
- unsigned short len;
- unsigned short sz;
- char s[1];
-
-
-};
-
-
-
-StrRep* Salloc(StrRep*, const char*, int, int);
-StrRep* Scopy(StrRep*, const StrRep*);
-StrRep* Scat(StrRep*, const char*, int, const char*, int);
-StrRep* Scat(StrRep*, const char*, int,const char*,int, const char*,int);
-StrRep* Sprepend(StrRep*, const char*, int);
-StrRep* Sreverse(const StrRep*, StrRep*);
-StrRep* Supcase(const StrRep*, StrRep*);
-StrRep* Sdowncase(const StrRep*, StrRep*);
-StrRep* Scapitalize(const StrRep*, StrRep*);
-
-
-
-class String;
-class SubString;
-
-class SubString
-{
- friend class String;
-protected:
-
- String& S;
- unsigned short pos;
- unsigned short len;
-
- void assign(const StrRep*, const char*, int = -1);
- SubString(String& x, int p, int l);
-
-public:
- SubString(const SubString& x);
-
-
-
-
- ~SubString();
-
- SubString& operator = (const String& y);
- SubString& operator = (const SubString& y);
- SubString& operator = (const char* t);
- SubString& operator = (char c);
-
-
-
- int contains(char c) const;
- int contains(const String& y) const;
- int contains(const SubString& y) const;
- int contains(const char* t) const;
- int contains(const Regex& r) const;
-
-
-
- int matches(const Regex& r) const;
-
-
-
- friend ostream& operator<<(ostream& s, const SubString& x);
-
-
-
- unsigned int length() const;
- int empty() const;
- const char* chars() const;
-
- int OK() const;
-
-};
-
-
-class String
-{
- friend class SubString;
-
-protected:
- StrRep* rep;
-
-
-
- int search(int, int, const char*, int = -1) const;
- int search(int, int, char) const;
- int match(int, int, int, const char*, int = -1) const;
- int _gsub(const char*, int, const char* ,int);
- int _gsub(const Regex&, const char*, int);
- SubString _substr(int, int);
-
-public:
-
-
-
- String();
- String(const String& x);
- String(const SubString& x);
- String(const char* t);
- String(const char* t, int len);
- String(char c);
-
- ~String();
-
- String& operator = (const String& y);
- String& operator = (const char* y);
- String& operator = (char c);
- String& operator = (const SubString& y);
-
-
-
- String& operator += (const String& y);
- String& operator += (const SubString& y);
- String& operator += (const char* t);
- String& operator += (char c);
-
- void prepend(const String& y);
- void prepend(const SubString& y);
- void prepend(const char* t);
- void prepend(char c);
-
-
-
-
-
- friend inline void cat(const String&, const String&, String&);
- friend inline void cat(const String&, const SubString&, String&);
- friend inline void cat(const String&, const char*, String&);
- friend inline void cat(const String&, char, String&);
-
- friend inline void cat(const SubString&, const String&, String&);
- friend inline void cat(const SubString&, const SubString&, String&);
- friend inline void cat(const SubString&, const char*, String&);
- friend inline void cat(const SubString&, char, String&);
-
- friend inline void cat(const char*, const String&, String&);
- friend inline void cat(const char*, const SubString&, String&);
- friend inline void cat(const char*, const char*, String&);
- friend inline void cat(const char*, char, String&);
-
-
-
-
-
- friend inline void cat(const String&,const String&, const String&,String&);
- friend inline void cat(const String&,const String&,const SubString&,String&);
- friend inline void cat(const String&,const String&, const char*, String&);
- friend inline void cat(const String&,const String&, char, String&);
- friend inline void cat(const String&,const SubString&,const String&,String&);
- inline friend void cat(const String&,const SubString&,const SubString&,String&);
- friend inline void cat(const String&,const SubString&, const char*, String&);
- friend inline void cat(const String&,const SubString&, char, String&);
- friend inline void cat(const String&,const char*, const String&, String&);
- friend inline void cat(const String&,const char*, const SubString&, String&);
- friend inline void cat(const String&,const char*, const char*, String&);
- friend inline void cat(const String&,const char*, char, String&);
-
- friend inline void cat(const char*, const String&, const String&,String&);
- friend inline void cat(const char*,const String&,const SubString&,String&);
- friend inline void cat(const char*,const String&, const char*, String&);
- friend inline void cat(const char*,const String&, char, String&);
- friend inline void cat(const char*,const SubString&,const String&,String&);
- friend inline void cat(const char*,const SubString&,const SubString&,String&);
- friend inline void cat(const char*,const SubString&, const char*, String&);
- friend inline void cat(const char*,const SubString&, char, String&);
- friend inline void cat(const char*,const char*, const String&, String&);
- friend inline void cat(const char*,const char*, const SubString&, String&);
- friend inline void cat(const char*,const char*, const char*, String&);
- friend inline void cat(const char*,const char*, char, String&);
-
-
-
-
-
-
- int index(char c, int startpos = 0) const;
- int index(const String& y, int startpos = 0) const;
- int index(const SubString& y, int startpos = 0) const;
- int index(const char* t, int startpos = 0) const;
- int index(const Regex& r, int startpos = 0) const;
-
-
-
- int contains(char c) const;
- int contains(const String& y) const;
- int contains(const SubString& y) const;
- int contains(const char* t) const;
- int contains(const Regex& r) const;
-
-
-
-
- int contains(char c, int pos) const;
- int contains(const String& y, int pos) const;
- int contains(const SubString& y, int pos) const;
- int contains(const char* t, int pos) const;
- int contains(const Regex& r, int pos) const;
-
-
-
- int matches(char c, int pos = 0) const;
- int matches(const String& y, int pos = 0) const;
- int matches(const SubString& y, int pos = 0) const;
- int matches(const char* t, int pos = 0) const;
- int matches(const Regex& r, int pos = 0) const;
-
-
-
- int freq(char c) const;
- int freq(const String& y) const;
- int freq(const SubString& y) const;
- int freq(const char* t) const;
-
-
-
-
-
-
-
- SubString at(int pos, int len);
- SubString operator () (int pos, int len);
-
- SubString at(const String& x, int startpos = 0);
- SubString at(const SubString& x, int startpos = 0);
- SubString at(const char* t, int startpos = 0);
- SubString at(char c, int startpos = 0);
- SubString at(const Regex& r, int startpos = 0);
-
- SubString before(int pos);
- SubString before(const String& x, int startpos = 0);
- SubString before(const SubString& x, int startpos = 0);
- SubString before(const char* t, int startpos = 0);
- SubString before(char c, int startpos = 0);
- SubString before(const Regex& r, int startpos = 0);
-
- SubString through(int pos);
- SubString through(const String& x, int startpos = 0);
- SubString through(const SubString& x, int startpos = 0);
- SubString through(const char* t, int startpos = 0);
- SubString through(char c, int startpos = 0);
- SubString through(const Regex& r, int startpos = 0);
-
- SubString from(int pos);
- SubString from(const String& x, int startpos = 0);
- SubString from(const SubString& x, int startpos = 0);
- SubString from(const char* t, int startpos = 0);
- SubString from(char c, int startpos = 0);
- SubString from(const Regex& r, int startpos = 0);
-
- SubString after(int pos);
- SubString after(const String& x, int startpos = 0);
- SubString after(const SubString& x, int startpos = 0);
- SubString after(const char* t, int startpos = 0);
- SubString after(char c, int startpos = 0);
- SubString after(const Regex& r, int startpos = 0);
-
-
-
-
-
- void del(int pos, int len);
-
-
-
- void del(const String& y, int startpos = 0);
- void del(const SubString& y, int startpos = 0);
- void del(const char* t, int startpos = 0);
- void del(char c, int startpos = 0);
- void del(const Regex& r, int startpos = 0);
-
-
-
- int gsub(const String& pat, const String& repl);
- int gsub(const SubString& pat, const String& repl);
- int gsub(const char* pat, const String& repl);
- int gsub(const char* pat, const char* repl);
- int gsub(const Regex& pat, const String& repl);
-
-
-
-
-
- friend int split(const String& x, String res[], int maxn,
- const String& sep);
- friend int split(const String& x, String res[], int maxn,
- const Regex& sep);
-
- friend String common_prefix(const String& x, const String& y,
- int startpos = 0);
- friend String common_suffix(const String& x, const String& y,
- int startpos = -1);
- friend String replicate(char c, int n);
- friend String replicate(const String& y, int n);
- friend String join(String src[], int n, const String& sep);
-
-
-
- friend inline String reverse(const String& x);
- friend inline String upcase(const String& x);
- friend inline String downcase(const String& x);
- friend inline String capitalize(const String& x);
-
-
-
- void reverse();
- void upcase();
- void downcase();
- void capitalize();
-
-
-
- char& operator [] (int i);
- const char& operator [] (int i) const;
- char elem(int i) const;
- char firstchar() const;
- char lastchar() const;
-
-
-
- operator const char*() const;
- const char* chars() const;
-
-
-
-
- friend inline ostream& operator<<(ostream& s, const String& x);
- friend ostream& operator<<(ostream& s, const SubString& x);
- friend istream& operator>>(istream& s, String& x);
-
- friend int readline(istream& s, String& x,
- char terminator = '\n',
- int discard_terminator = 1);
-
-
-
- unsigned int length() const;
- int empty() const;
-
-
- void alloc(int newsize);
-
-
-
- int allocation() const;
-
-
- void error(const char* msg) const;
-
- int OK() const;
-};
-
-typedef String StrTmp;
-
-
-
-int compare(const String& x, const String& y);
-int compare(const String& x, const SubString& y);
-int compare(const String& x, const char* y);
-int compare(const SubString& x, const String& y);
-int compare(const SubString& x, const SubString& y);
-int compare(const SubString& x, const char* y);
-int fcompare(const String& x, const String& y);
-
-extern StrRep _nilStrRep;
-extern String _nilString;
-
-
-
-inline unsigned int String::length() const { return rep->len; }
-inline int String::empty() const { return rep->len == 0; }
-inline const char* String::chars() const { return &(rep->s[0]); }
-inline int String::allocation() const { return rep->sz; }
-
-inline unsigned int SubString::length() const { return len; }
-inline int SubString::empty() const { return len == 0; }
-inline const char* SubString::chars() const { return &(S.rep->s[pos]); }
-
-
-
-
-inline String::String()
- : rep(&_nilStrRep) {}
-inline String::String(const String& x)
- : rep(Scopy(0, x.rep)) {}
-inline String::String(const char* t)
- : rep(Salloc(0, t, -1, -1)) {}
-inline String::String(const char* t, int tlen)
- : rep(Salloc(0, t, tlen, tlen)) {}
-inline String::String(const SubString& y)
- : rep(Salloc(0, y.chars(), y.length(), y.length())) {}
-inline String::String(char c)
- : rep(Salloc(0, &c, 1, 1)) {}
-
-inline String::~String() { if (rep != &_nilStrRep) delete rep; }
-
-inline SubString::SubString(const SubString& x)
- :S(x.S), pos(x.pos), len(x.len) {}
-inline SubString::SubString(String& x, int first, int l)
- :S(x), pos(first), len(l) {}
-
-inline SubString::~SubString() {}
-
-
-
-inline String& String::operator = (const String& y)
-{
- rep = Scopy(rep, y.rep);
- return *this;
-}
-
-inline String& String::operator=(const char* t)
-{
- rep = Salloc(rep, t, -1, -1);
- return *this;
-}
-
-inline String& String::operator=(const SubString& y)
-{
- rep = Salloc(rep, y.chars(), y.length(), y.length());
- return *this;
-}
-
-inline String& String::operator=(char c)
-{
- rep = Salloc(rep, &c, 1, 1);
- return *this;
-}
-
-
-inline SubString& SubString::operator = (const char* ys)
-{
- assign(0, ys);
- return *this;
-}
-
-inline SubString& SubString::operator = (char ch)
-{
- assign(0, &ch, 1);
- return *this;
-}
-
-inline SubString& SubString::operator = (const String& y)
-{
- assign(y.rep, y.chars(), y.length());
- return *this;
-}
-
-inline SubString& SubString::operator = (const SubString& y)
-{
- assign(y.S.rep, y.chars(), y.length());
- return *this;
-}
-
-
-
-inline void cat(const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, y, -1);
-}
-
-inline void cat(const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, x, -1, &y, 1);
-}
-
-inline void cat(const String& a, const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& a, const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const String& a, const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const String& a, const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const String& a, const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const String& a, const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());
-}
-
-inline void cat(const String& a, const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());
-}
-
-inline void cat(const String& a, const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y, -1);
-}
-
-inline void cat(const String& a, const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, &y, 1);
-}
-
-
-inline void cat(const char* a, const String& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const String& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const String& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const char* a, const String& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* a, const SubString& x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const SubString& x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());
-}
-
-inline void cat(const char* a, const SubString& x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);
-}
-
-inline void cat(const char* a, const SubString& x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);
-}
-
-inline void cat(const char* a, const char* x, const String& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* a, const char* x, const SubString& y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());
-}
-
-inline void cat(const char* a, const char* x, const char* y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, y, -1);
-}
-
-inline void cat(const char* a, const char* x, char y, String& r)
-{
- r.rep = Scat(r.rep, a, -1, x, -1, &y, 1);
-}
-
-
-
-
-inline String& String::operator +=(const String& y)
-{
- cat(*this, y, *this);
- return *this;
-}
-
-inline String& String::operator +=(const SubString& y)
-{
- cat(*this, y, *this);
- return *this;
-}
-
-inline String& String::operator += (const char* y)
-{
- cat(*this, y, *this);
- return *this;
-}
-
-inline String& String:: operator +=(char y)
-{
- cat(*this, y, *this);
- return *this;
-}
-
-
-
-
-
-inline String operator + (const String& x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, const char* y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const String& x, char y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, const char* y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const SubString& x, char y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const char* x, const String& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String operator + (const char* x, const SubString& y) return r;
-{
- cat(x, y, r);
-}
-
-inline String reverse(const String& x) return r;
-{
- r.rep = Sreverse(x.rep, r.rep);
-}
-
-inline String upcase(const String& x) return r;
-{
- r.rep = Supcase(x.rep, r.rep);
-}
-
-inline String downcase(const String& x) return r;
-{
- r.rep = Sdowncase(x.rep, r.rep);
-}
-
-inline String capitalize(const String& x) return r;
-{
- r.rep = Scapitalize(x.rep, r.rep);
-}
-
-
-
-
-
-inline void String::prepend(const String& y)
-{
- rep = Sprepend(rep, y.chars(), y.length());
-}
-
-inline void String::prepend(const char* y)
-{
- rep = Sprepend(rep, y, -1);
-}
-
-inline void String::prepend(char y)
-{
- rep = Sprepend(rep, &y, 1);
-}
-
-inline void String::prepend(const SubString& y)
-{
- rep = Sprepend(rep, y.chars(), y.length());
-}
-
-
-
-
-inline void String::reverse()
-{
- rep = Sreverse(rep, rep);
-}
-
-
-inline void String::upcase()
-{
- rep = Supcase(rep, rep);
-}
-
-
-inline void String::downcase()
-{
- rep = Sdowncase(rep, rep);
-}
-
-
-inline void String::capitalize()
-{
- rep = Scapitalize(rep, rep);
-}
-
-
-
-inline char& String::operator [] (int i)
-{
- if (((unsigned)i) >= length()) error("invalid index");
- return rep->s[i];
-}
-
-inline const char& String::operator [] (int i) const
-{
- if (((unsigned)i) >= length()) error("invalid index");
- return rep->s[i];
-}
-
-inline char String::elem (int i) const
-{
- if (((unsigned)i) >= length()) error("invalid index");
- return rep->s[i];
-}
-
-inline char String::firstchar() const
-{
- return elem(0);
-}
-
-inline char String::lastchar() const
-{
- return elem(length() - 1);
-}
-
-
-
-inline int String::index(char c, int startpos) const
-{
- return search(startpos, length(), c);
-}
-
-inline int String::index(const char* t, int startpos) const
-{
- return search(startpos, length(), t);
-}
-
-inline int String::index(const String& y, int startpos) const
-{
- return search(startpos, length(), y.chars(), y.length());
-}
-
-inline int String::index(const SubString& y, int startpos) const
-{
- return search(startpos, length(), y.chars(), y.length());
-}
-
-inline int String::index(const Regex& r, int startpos) const
-{
- int unused; return r.search(chars(), length(), unused, startpos);
-}
-
-inline int String::contains(char c) const
-{
- return search(0, length(), c) >= 0;
-}
-
-inline int String::contains(const char* t) const
-{
- return search(0, length(), t) >= 0;
-}
-
-inline int String::contains(const String& y) const
-{
- return search(0, length(), y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const SubString& y) const
-{
- return search(0, length(), y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(char c, int p) const
-{
- return match(p, length(), 0, &c, 1) >= 0;
-}
-
-inline int String::contains(const char* t, int p) const
-{
- return match(p, length(), 0, t) >= 0;
-}
-
-inline int String::contains(const String& y, int p) const
-{
- return match(p, length(), 0, y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const SubString& y, int p) const
-{
- return match(p, length(), 0, y.chars(), y.length()) >= 0;
-}
-
-inline int String::contains(const Regex& r) const
-{
- int unused; return r.search(chars(), length(), unused, 0) >= 0;
-}
-
-inline int String::contains(const Regex& r, int p) const
-{
- return r.match(chars(), length(), p) >= 0;
-}
-
-
-inline int String::matches(const SubString& y, int p) const
-{
- return match(p, length(), 1, y.chars(), y.length()) >= 0;
-}
-
-inline int String::matches(const String& y, int p) const
-{
- return match(p, length(), 1, y.chars(), y.length()) >= 0;
-}
-
-inline int String::matches(const char* t, int p) const
-{
- return match(p, length(), 1, t) >= 0;
-}
-
-inline int String::matches(char c, int p) const
-{
- return match(p, length(), 1, &c, 1) >= 0;
-}
-
-inline int String::matches(const Regex& r, int p) const
-{
- int l = (p < 0)? -p : length() - p;
- return r.match(chars(), length(), p) == l;
-}
-
-
-inline int SubString::contains(const char* t) const
-{
- return S.search(pos, pos+len, t) >= 0;
-}
-
-inline int SubString::contains(const String& y) const
-{
- return S.search(pos, pos+len, y.chars(), y.length()) >= 0;
-}
-
-inline int SubString::contains(const SubString& y) const
-{
- return S.search(pos, pos+len, y.chars(), y.length()) >= 0;
-}
-
-inline int SubString::contains(char c) const
-{
- return S.search(pos, pos+len, c) >= 0;
-}
-
-inline int SubString::contains(const Regex& r) const
-{
- int unused; return r.search(chars(), len, unused, 0) >= 0;
-}
-
-inline int SubString::matches(const Regex& r) const
-{
- return r.match(chars(), len, 0) == len;
-}
-
-
-inline int String::gsub(const String& pat, const String& r)
-{
- return _gsub(pat.chars(), pat.length(), r.chars(), r.length());
-}
-
-inline int String::gsub(const SubString& pat, const String& r)
-{
- return _gsub(pat.chars(), pat.length(), r.chars(), r.length());
-}
-
-inline int String::gsub(const Regex& pat, const String& r)
-{
- return _gsub(pat, r.chars(), r.length());
-}
-
-inline int String::gsub(const char* pat, const String& r)
-{
- return _gsub(pat, -1, r.chars(), r.length());
-}
-
-inline int String::gsub(const char* pat, const char* r)
-{
- return _gsub(pat, -1, r, -1);
-}
-
-
-
-inline ostream& operator<<(ostream& s, const String& x)
-{
- s << x.chars(); return s;
-}
-
-
-
-inline int operator==(const String& x, const String& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const String& x, const String& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const String& x, const String& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const String& x, const String& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const String& x, const String& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const String& x, const String& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const String& x, const SubString& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const String& x, const SubString& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const String& x, const SubString& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const String& x, const SubString& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const String& x, const SubString& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const String& x, const SubString& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const String& x, const char* t)
-{
- return compare(x, t) == 0;
-}
-
-inline int operator!=(const String& x, const char* t)
-{
- return compare(x, t) != 0;
-}
-
-inline int operator>(const String& x, const char* t)
-{
- return compare(x, t) > 0;
-}
-
-inline int operator>=(const String& x, const char* t)
-{
- return compare(x, t) >= 0;
-}
-
-inline int operator<(const String& x, const char* t)
-{
- return compare(x, t) < 0;
-}
-
-inline int operator<=(const String& x, const char* t)
-{
- return compare(x, t) <= 0;
-}
-
-inline int operator==(const SubString& x, const String& y)
-{
- return compare(y, x) == 0;
-}
-
-inline int operator!=(const SubString& x, const String& y)
-{
- return compare(y, x) != 0;
-}
-
-inline int operator>(const SubString& x, const String& y)
-{
- return compare(y, x) < 0;
-}
-
-inline int operator>=(const SubString& x, const String& y)
-{
- return compare(y, x) <= 0;
-}
-
-inline int operator<(const SubString& x, const String& y)
-{
- return compare(y, x) > 0;
-}
-
-inline int operator<=(const SubString& x, const String& y)
-{
- return compare(y, x) >= 0;
-}
-
-inline int operator==(const SubString& x, const SubString& y)
-{
- return compare(x, y) == 0;
-}
-
-inline int operator!=(const SubString& x, const SubString& y)
-{
- return compare(x, y) != 0;
-}
-
-inline int operator>(const SubString& x, const SubString& y)
-{
- return compare(x, y) > 0;
-}
-
-inline int operator>=(const SubString& x, const SubString& y)
-{
- return compare(x, y) >= 0;
-}
-
-inline int operator<(const SubString& x, const SubString& y)
-{
- return compare(x, y) < 0;
-}
-
-inline int operator<=(const SubString& x, const SubString& y)
-{
- return compare(x, y) <= 0;
-}
-
-inline int operator==(const SubString& x, const char* t)
-{
- return compare(x, t) == 0;
-}
-
-inline int operator!=(const SubString& x, const char* t)
-{
- return compare(x, t) != 0;
-}
-
-inline int operator>(const SubString& x, const char* t)
-{
- return compare(x, t) > 0;
-}
-
-inline int operator>=(const SubString& x, const char* t)
-{
- return compare(x, t) >= 0;
-}
-
-inline int operator<(const SubString& x, const char* t)
-{
- return compare(x, t) < 0;
-}
-
-inline int operator<=(const SubString& x, const char* t)
-{
- return compare(x, t) <= 0;
-}
-
-
-
-
-inline SubString String::_substr(int first, int l)
-{
- if (first < 0 || (unsigned)(first + l) > length() )
- return SubString(_nilString, 0, 0) ;
- else
- return SubString(*this, first, l);
-}
-
-
-
-
-
-#define booleen_hh
-
-
-typedef int booleen;
-
-const booleen VRAI=1;
-const booleen FAUX=0;
-
-
-
-
-#define valeur_bidon 12345678
-
-#define fors(type, i, imin, imax) for(type i=imin; i< imax; i++)
-#define fore(type, i, imin, imax) for(type i=imin; i<=imax; i++)
-
-void verif_nb_param(int argc, char* argv[], int nb_params);
-
-booleen f_exists(String nom);
-
-
-template<class Type>
-inline Type carre(const Type x)
-{
- return x*x;
-}
-
-template<class Type>
-inline Type cube(const Type x)
-{
- return x*x*x;
-}
-
-template<class Type>
-inline Type rac3(const Type x)
-{
- if(fabs(x)<1E-5)
- return 0;
- else
- if(x>0)
- return exp(log(x)/3);
- else
- return -exp(log(-x)/3);
-}
-
-template<class Type>
-inline Type min(const Type a,const Type b)
-{
- return (a>b)?b:a;
-}
-
-template<class Type>
-inline Type max(const Type a,const Type b)
-{
- return (a<b)?b:a;
-}
-
-template<class Type>
-inline Type min(const Type a,const Type b,const Type c)
-{
- return min(a,min(b,c));
-}
-
-template<class Type>
-inline Type max(const Type a,const Type b,const Type c)
-{
- return max(a,max(b,c));
-}
-
-template <class Type>
-inline void echange(Type& a,Type& b)
-{
- Type t=a;
- a=b;
- b=t;
-}
-
-
-String i2S(int n,int l=0);
-
-template <class Type>
-inline booleen dans(Type x, Type a, Type b)
-{
- return (a<=x) && (x<=b);
-}
-
-template <class Type>
-inline Type mabs(Type x)
-{
- return (x<0) ? -x : x ;
-}
-
-template <class Type>
-inline booleen dans2(Type x, Type a, Type b)
-
-{
- return mabs(x-(a+b)/2) <= mabs((a-b)/2) ;
-}
-
-template <class Type>
-inline booleen proche(Type x, Type y, Type eps)
-{
- return mabs(x-y)<eps;
-}
-
-template <class Type>
-inline int arrondi(Type x)
-{
- return int(x+0.5);
-}
-
-template<class Type>
-unsigned char arrondi_ng(Type x)
-{
- if((-0.5<x) && (x<255.5))
- return (unsigned char)(x+0.5);
- else
- {
- if(x<-3.0 || x>268.0)
- cerr<<"arrondi_ng : attention x= "<<x<<endl;
-
- if(x<0.0)
- return 0;
- else
- return 255;
- }
-}
-
-template<class Type>
-unsigned char arrondi_ng_err(Type x)
-{
- if((-0.5<x) && (x<255.5))
- return (unsigned char)(x+0.5);
- else
- {
- if(x<0.0)
- return 0;
- else
- return 255;
- }
-}
-
-inline int nb_diff2(int a,int b)
-{
- if(a==b)
- return 1;
- else
- return 2;
-}
-
-inline int nb_diff3(int a,int b,int c)
-{
- if(a==b || a==c)
- return nb_diff2(b,c);
- else
- return 1+nb_diff2(b,c);
-}
-
-inline int nb_diff4(int a,int b,int c,int d)
-{
- if(a==b || a==c || a==d)
- return nb_diff3(b,c,d);
- else
- return 1+nb_diff3(b,c,d);
-}
-
-float echMSB(float a);
-
-void plante();
-void arrete();
-
-void touche();
-
-template<class Type>
-void lis_param(istream& f, Type& param)
-{
- f>>param;
- f.ignore(20000,'\n');
-}
-
-void lis_chaine(istream& s, String chaine);
-
-template<class Type_dest, class Type_source>
-void convert(Type_dest& dest, const Type_source& source)
-{
- dest=source;
-}
-
-
-
-
-struct Vect2Dent
-{
- int di;
- int dj;
-};
-
-
-
-
-
-
-struct depl2D
-{
- double x;
- double y;
- depl2D() : x(0.0), y(0.0)
- { }
-
-
- depl2D(double xx, double yy) : x(xx), y(yy)
- { }
- double amplitude()
- {
- return max(mabs(x),mabs(y));
- }
-};
-
-ostream& operator<<(ostream& s, depl2D m);
-
-class Mouvement
-{
-private:
- Mouvement* read_mv(istream& s);
-protected:
- double t_x;
- double t_y;
- double centre_x;
- double centre_y;
-public:
- Mouvement();
- Mouvement(double i_t_x, double i_t_y, double i_centre_x, double i_centre_y);
- virtual void Id()=0;
- virtual void centre(double x,double y)=0;
- virtual void applique(double& xx, double& yy, double x, double y) const=0;
- virtual void applique(float& xx, float& yy, float x, float y) const=0;
- virtual depl2D calc_depl(double x, double y)=0;
- double Centre_x() const
- {
- return centre_x;
- }
- double Centre_y() const
- {
- return centre_y;
- }
-
- virtual int nb_param() const=0;
-
-
- virtual void init_from_vect_d(const double param[])=0;
- virtual void init_vect_d(double param[]) const=0;
- virtual void init_from_vect_f(const float param[])=0;
- virtual void init_vect_f(float param[]) const=0;
-
- virtual Mouvement* clone() const=0;
- virtual String nom() const=0;
- virtual void dump(ostream& s) const=0;
-
- virtual booleen trop_grand(float seuil) const=0;
- booleen trop_grand2(float seuil, float seuil_t) const;
-};
-
-ostream& operator<<(ostream& s, const Mouvement& m);
-Mouvement* read_mv(istream& s);
-
-
-
-
-class AFF;
-
-class LS : public Mouvement
-{
-protected:
- double k;
- double theta;
-public:
- LS();
- LS(double i_t_x, double i_t_y, double i_k, double i_theta, double i_centre_x, double i_centre_y);
- LS(istream& s);
- LS(const AFF& aff);
- int nb_param() const;
- void update(double d_t_x, double d_t_y, double d_k, double d_theta);
- void init_from_vect_d(const double param[]);
- void init_vect_d(double param[]) const;
- void init_from_vect_f(const float param[]);
- void init_vect_f(float param[]) const;
- friend class AFF;
- void dump(ostream& s) const;
-};
-
-ostream& operator<<(ostream& s, const LS& m);
-
-
-
-
-#define AFF_hh
-
-
-
-class LS;
-
-class AFF: public Mouvement
-{
-protected:
- double a;
- double b;
- double c;
- double d;
-public:
- AFF();
- AFF(double i_t_x, double i_t_y,
- double i_a, double i_b, double i_c, double i_d,
- double i_centre_x, double i_centre_y);
- AFF(istream& s);
- AFF(const LS& ls);
- int nb_param() const;
- void init_from_vect_d(const double param[]);
- void init_vect_d(double param[]) const;
- void init_from_vect_f(const float param[]);
- void init_vect_f(float param[]) const;
-
- friend class LS;
- void dump(ostream& s) const;
-};
-
-ostream& operator<<(ostream& s, const AFF& m);
-
-
-
-
-
-
-
-
-
-LS::LS() :
- k(0.0), theta(0.0)
-{ }
-
-LS::LS(double i_t_x, double i_t_y,
- double i_k, double i_theta,
- double i_centre_x, double i_centre_y) :
- Mouvement(i_t_x, i_t_y, i_centre_x, i_centre_y),
- k(i_k),
- theta(i_theta)
-{ }
-
-LS::LS(istream& s)
-{
- s>>k>>theta>>t_x>>theta>>k>>t_y>>centre_x>>centre_y;
-}
-
-LS::LS(const AFF& aff): Mouvement(aff.t_x, aff.t_y, aff.centre_x, aff.centre_y)
-{
- const double eps_k=1E-6;
- if(mabs(aff.a-aff.d)>eps_k)
- {
- cout<<"AFF_2_LS : delta k < "<<eps_k<<endl;
- cout<<aff.a<<endl<<aff.d<<endl;
- plante();
- }
- else
- k=(aff.a+aff.d)/2;
-
- const double eps_theta=1E-6;
- if(mabs(aff.c+aff.b)>eps_theta)
- {
- cout<<"AFF_2_LS : delta theta < "<<eps_theta<<endl;
- plante();
- }
- else
- theta=(aff.c-aff.b)/2;
-}
-
-int LS::nb_param() const
-{
- return 4;
-}
-
-void LS::update(double d_t_x,
- double d_t_y,
- double d_k,
- double d_theta)
-{
- t_x+=d_t_x;
- t_y+=d_t_y;
- k+=d_k;
- theta+=d_theta;
-}
-
-void LS::init_from_vect_d(const double param[])
-{
- t_x=param[0];
- t_y=param[1];
- k=param[2];
- theta=param[3];
-}
-
-void LS::init_vect_d(double param[]) const
-{
- param[0]=t_x;
- param[1]=t_y;
- param[2]=k;
- param[3]=theta;
-}
-
-void LS::init_from_vect_f(const float param[])
-{
- t_x=param[0];
- t_y=param[1];
- k=param[2];
- theta=param[3];
-}
-
-void LS::init_vect_f(float param[]) const
-{
- param[0]=t_x;
- param[1]=t_y;
- param[2]=k;
- param[3]=theta;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void LS::dump(ostream& s) const
-{
- const int largeur=14;
- s.setf(ios::left,ios::adjustfield);
- s<<nom()<<endl
- <<setw(largeur)<<k<<setw(largeur)<<-theta<<setw(largeur)<<t_x<<endl
- <<setw(largeur)<<theta<<setw(largeur)<<k<<setw(largeur)<<t_y<<endl
- <<centre_x<<' '<<centre_y<<endl;
-}
-
-ostream& operator<<(ostream& s, const LS& m)
-{
- m.dump(s);
- return s;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb102.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb102.C
deleted file mode 100644
index 9bbd47fdb33..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb102.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Error: intenral compiler error on 1998/05/28 snapshot.
-#include <stdio.h>
-#include <stdlib.h>
-
-void evilRises (void **ptr)
-{
- int *pi;
-
- pi = new int;
-
- *pi = 0;
-
- *ptr = (void *)pi;
-}
-
-int main (int argc, char *argv[])
-{
-#ifdef WORKAROUND
- union foo
-#else
- union
-#endif
- {
- int a;
- int b;
- int c;
- } *fred, barney;
-
- evilRises((void **)&fred);
-
- barney = *fred;
-
- return EXIT_SUCCESS;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb103.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb103.C
deleted file mode 100644
index ef25fb46634..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb103.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Error: Internal compiler error in 2.7.2 & EGCS 1.0.0
-
-template <int nlimb, int i>
-inline unsigned f (unsigned* ptr);
-template <int nlimb>
-inline unsigned f<nlimb,nlimb> (unsigned* ptr)
-{ //ERROR - partial specialization of function?
- return 1;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb104.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb104.C
deleted file mode 100644
index 10c5945bb15..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb104.C
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <string.h>
-
-class SomeClass_t {
-public:
- SomeClass_t () : x (11) {}
-protected:
- float x;
-};
-
-class DynamicOnly_t {
-public:
- static DynamicOnly_t* create (const char* name = "UNDEF",
- const SomeClass_t& somec = *(new SomeClass_t
-())) {
- return new DynamicOnly_t (name, somec);
- }
- DynamicOnly_t (const char* name, const SomeClass_t& somec) :
- m_somec (somec) {
- strncpy (m_Name, name, sizeof (m_Name));
- }
-private:
- SomeClass_t m_somec;
- char m_Name[255];
-};
-
-int main (int argc, char* argv[]) {
- DynamicOnly_t* ptr = DynamicOnly_t::create ();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb105.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb105.C
deleted file mode 100644
index f431fba88d8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb105.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-template< class T >
-void sort( T* t, int n )
- {
- struct
-/*line5*/ {
- int operator()(T i, T j)
- {
- return (i < j) ? -1 : ((j < i) ? 1 : 0) ;
- }
- } c ;
- sort(t, n, c, 0) ;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
deleted file mode 100644
index 93631715869..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Skip if not native
-// Special g++ Options: -O2 -fPIC
-// Build don't link:
-struct T
-{
- char* f1;
- int f2;
-};
-
-void f(T*);
-int g();
-
-extern char a1[];
-
-inline int m(int a, int b) {return b < a ? 2 : 1;}
-
-void
-h()
-{
- T a[10];
- int i(0);
-
- bool c;
- if (c)
- {
- a[i++].f1 = "asf";
- f(a);
- i = 0;
- }
-
- a[i].f1 = &a1[1];
- a[i].f2 = m(1, g());
- i++;
-
- a[i].f1 = "zxv";
- a[i].f2 = 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb107.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb107.C
deleted file mode 100644
index 8d0f3cbe5b1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb107.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-template <class T>
-struct X
-{
- virtual void f(int) const;
-};
-
-template <class T>
-struct Y: public X<T>
-{
- virtual void f(int) const;
-};
-
-template <class T>
-void Y<T>::f(int) const
-{
-}
-
-template <>
-void Y<bool>::f(int) const;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb108.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb108.C
deleted file mode 100644
index 3bf71b06dee..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb108.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-class X
-{
- public:
- virtual void f() const = 0;
-};
-
-template <class T>
-class Y: public X
-{
- public:
- virtual void f() const;
-};
-
-template <class T>
-void Y<T>::f() const
-{
-}
-
-template <>
-void Y<bool>::f() const;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
deleted file mode 100644
index ccd206b0e2c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
+++ /dev/null
@@ -1,71 +0,0 @@
-#include<map>
-#include<iostream.h>
-#include<vector>
-#include<string>
-
-// empty parameter class with a minimal set of operations
-// if there are no weights for edges necessary
-struct Empty
-{
- public:
- Empty(int=0) {}
- bool operator<(const Empty&) const { return true;}
-};
-inline ostream& operator<<(ostream& os, const Empty&) { return os;}
-inline istream& operator>>(istream& is, Empty& ) { return is;}
-
-
-template<class VertexType, class EdgeType>
-class Graph
-{
- public:
- // public type interface
- typedef map<int, EdgeType > Successor;
- typedef pair<VertexType, Successor> vertex;
- typedef vector<vertex> GraphType;
- typedef typename GraphType::iterator iterator;
- typedef typename GraphType::const_iterator const_iterator;
-
- // a lot of stuff deleted ....
-
- private:
- bool directed;
- GraphType C; // container
- ostream* pOut;
-}; // ERROR - candidates
-
-// all graph-methods delet
-template<class VertexType, class EdgeType>
-ostream& operator<<(ostream& os, Graph<VertexType,EdgeType>& G)
-{
- // display of vertices with successors
- for(int i = 0; i < G.size(); ++i) // ERROR - no size function
- {
- os << G[i].first << " <"; // ERROR - no index operator
-
- // The compiler does not like this line!!!!!!
- typename Graph<VertexType, EdgeType>::Successor::iterator
- startN = G[i].second.begin(), // ERROR - no index operator
- endN = G[i].second.end(); // ERROR - no index operator
-
- while(startN != endN)
- {
- os << G[(*startN).first].first << ' ' // vertex
- << (*startN).second << ' '; // ERROR - no index operator
- ++startN;
- }
- os << ">\n";
- }
- return os;
-}
-
-int main()
-{
- // no edge weighting, therefore type Empty:
- Graph<string, Empty> V(true); // ERROR - no bool constructor
- // ReadGraph(V, "gra1.dat");
-
- // display of vertices with successors
- cout << V;
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb11.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb11.C
deleted file mode 100644
index 307aa6a9568..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb11.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// Build don't link:
-
-template<int N1, int N2>
-struct meta_max {
- enum { max = (N1 > N2) ? N1 : N2 };
-};
-
-struct X {
- enum {
- a = 0,
- n = 0
- };
-};
-
-template<class T1, class T2>
-struct Y {
-
- enum {
- a = T1::a + T2::a,
-
- // NB: if the next line is changed to
- // n = (T1::n > T2::n) ? T1::n : T2::n
- // the problem goes away.
-
- n = meta_max<T1::n,T2::n>::max
- };
-};
-
-int z = Y<X,X>::a;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb110.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb110.C
deleted file mode 100644
index 54a1c8bbb86..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb110.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-class X
-{
- public:
- virtual void f() const = 0;
-};
-
-template <class T>
-class Y: public X
-{
- public:
- virtual void f() const;
-};
-
-template <class T>
-void Y<T>::f() const
-{
-}
-
-template <>
-void Y<bool>::f() const;
-
-template <>
-void Y<bool>::f() const
-{
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb111.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb111.C
deleted file mode 100644
index 8afc921e109..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb111.C
+++ /dev/null
@@ -1,6 +0,0 @@
- int main() {
- for(int i=1; i < 9; i++);
- for(int i=1; i < 9; i++);
-
- return 0;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb112.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb112.C
deleted file mode 100644
index 3233287ff10..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb112.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-template <class STRUCT, class MEMBER> inline STRUCT *
-setback(MEMBER *bp, MEMBER STRUCT::*offset)
-{
- // The implementation of this function may be platform dependend
- if(!bp) return 0; // NULL pointers remain NULL
- union { int i; MEMBER STRUCT::*of; } u; // Switch types. Casting won't
-+work.
- u.of = offset;
- return (STRUCT *) ((int) bp - u.i);
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb113.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb113.C
deleted file mode 100644
index f3c28b9ac65..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb113.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-#include <iostream.h>
-
-class X : public std::streambuf
-{
-} ;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb114.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb114.C
deleted file mode 100644
index 020b88bb775..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb114.C
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <string.h>
-
-class SomeClass_t {
-public:
- SomeClass_t () : x (11) {}
-protected:
- float x;
-};
-
-class DynamicOnly_t {
-public:
- static DynamicOnly_t* create (const char* name = "UNDEF",
- const SomeClass_t& somec = *(new SomeClass_t
-())) {
- return new DynamicOnly_t (name, somec);
- }
- DynamicOnly_t (const char* name, const SomeClass_t& somec) :
- m_somec (somec) {
- strncpy (m_Name, name, sizeof (m_Name));
- }
-private:
- SomeClass_t m_somec;
- char m_Name[255];
-};
-
-int main (int argc, char* argv[]) {
- DynamicOnly_t* ptr = DynamicOnly_t::create (); //*
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb115.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb115.C
deleted file mode 100644
index 30eab786f34..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb115.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Special g++ Options: -O
-
-#include <iostream.h>
-#include <typeinfo>
-
-int main() {
- int *i1, *i2;
- cerr << (typeid(i1)==typeid(i2)) << endl;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb116.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb116.C
deleted file mode 100644
index 63f5e79c062..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb116.C
+++ /dev/null
@@ -1,23 +0,0 @@
-template <class INT>
-class b
-{
-private:
- char a(int x)
- {
- union {
- int i;
- char c;
- } val;
- val.i = x;
- return val.c;
- };
-
-public:
- b() {
- }
-};
-
-int main() {
- b<int> n;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb118.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb118.C
deleted file mode 100644
index 23498c78554..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb118.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Test for obsolete specialization syntax. Turn off -pedantic.
-// Special g++ Options:
-
-#include <iostream.h>
-#include <typeinfo>
-
-template <typename T>
-class A {
-public:
- void test ();
-};
-
-template <typename T>
-void
-A<T>::test(){
- cerr << "test for " << typeid(*this).name() << endl;
-}
-// Specialization declaration
-void
-A<double>::test();
-
-// Specialization definition
-void
-A<double>::test(){
- cerr << "specialization for " << typeid(*this).name() << endl;
-}
-
-
-int
-main(){
- A<int> ai;
- A<double> ad;
- ai.test();
- ad.test();
- return 0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb119.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb119.C
deleted file mode 100644
index cecea834f8a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb119.C
+++ /dev/null
@@ -1,10 +0,0 @@
-template<bool B>
-void f()
-{
-}
-
-int main()
-{
- f<bool>(); // ERROR - .*
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb12.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb12.C
deleted file mode 100644
index 5c948f11b58..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb12.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// Build don't link:
-// Error: Internal Compiler Error in 2.7.2. & egcs 1.0.0
-
-#ifndef NO_META_MAX
-template<int N1, int N2>
-struct meta_max {
- enum { max = (N1 > N2) ? N1 : N2 };
-};
-#endif
-
-struct X {
- enum {
- a = 0,
- n = 0
- };
-};
-
-template<class T1, class T2>
-struct Y {
-
- enum {
- a = T1::a + T2::a,
-
- // NB: if the next line is changed to
- // n = (T1::n > T2::n) ? T1::n : T2::n
- // the problem goes away.
-
- n = meta_max<T1::n,T2::n>::max
- };
-};
-
-int z = Y<X,X>::a;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb120.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb120.C
deleted file mode 100644
index b94820cdfec..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb120.C
+++ /dev/null
@@ -1,22 +0,0 @@
-template<double functionToIntegrate(double)>
-double integrate(double a, double b, int numSamplePoints)
-{
- // PRECONDITION(numSamplePoints > 1);
- double delta = (b-a) / (numSamplePoints-1);
- double sum = 0.;
- for (int i=0; i < numSamplePoints; ++i)
- sum += functionToIntegrate(a + i*delta);
- return sum * (b-a) / numSamplePoints;
-}
-
-inline double myFunction(double x)
-{
- return 1 / (1 + x);
-}
-
-// Example use
-int main() {
-double z = integrate<myFunction>(0.0, 1.0, 50);
- return 0 ;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb121.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb121.C
deleted file mode 100644
index 456615d67c5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb121.C
+++ /dev/null
@@ -1,21 +0,0 @@
-//Build don't link:
-class A {
-private:
- int i1_;
-public:
- void f(int const i1 = 1); // ERROR - previous specification
-};
-
-void
-A::f(int const i1 = 1)
-{ // ERROR - duplicate default argument
- i1_ = i1;
-}
-
-int
-main()
-{
- A a;
- a.f();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb122.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb122.C
deleted file mode 100644
index 9cf30333312..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb122.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-// Disable -ansi -pedantic-errors because of GNU extension
-// Special g++ Options:
-template<class foo>
-class bar {
-public:
- void baz() { (({ while( foo::baz() );})); }
-};
-template<class foo>
-void baz() { (({ while( foo::baz() );})); }
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb123.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb123.C
deleted file mode 100644
index dd729d48ae9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb123.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Special g++ Options: -O2 -W
-// Build don't link:
-#include "stdio.h"
-
-void writeNote() throw( int )
-{
- printf( "hello world\n" );
- try { }
- catch( int ){ throw; }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb124.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb124.C
deleted file mode 100644
index c9c7395b5de..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb124.C
+++ /dev/null
@@ -1,3 +0,0 @@
-//Build don't link:
-#include <stdexcept>
-class X : public std::runtime_error {};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb125.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb125.C
deleted file mode 100644
index aff6ae61007..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb125.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// This is a crash test; we don't care how many normal errors we get.
-// excess errors test - XFAIL *-*-*
-
-struct test_box
- {
- void print(void);
- };
-
-void test<class BOX> (test_box *); // ERROR - illegal code
-
-class test_square
- {
- friend void test<class BOX> (test_box *); // ERROR - does not match
- }
-
-
-
-template <class BOX> void test(BOX *the_box) // ERROR - semicolon missing
- {
- the_box->print();
- };
-
-template void test<> (test_box *);
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb126.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb126.C
deleted file mode 100644
index 8c634e87201..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb126.C
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <string.h>
-
-class SomeClass_t {
-public:
- SomeClass_t () : x (11) {}
-protected:
- float x;
-};
-
-class DynamicOnly_t {
-public:
- static DynamicOnly_t* create (const char* name = "UNDEF",
- const SomeClass_t& somec = *(new SomeClass_t
-())) {
- return new DynamicOnly_t (name, somec);
- }
- DynamicOnly_t (const char* name, const SomeClass_t& somec) :
- m_somec (somec) {
- strncpy (m_Name, name, sizeof (m_Name));
- }
-private:
- SomeClass_t m_somec;
- char m_Name[255];
-};
-
-int main (int argc, char* argv[]) {
- DynamicOnly_t* ptr = DynamicOnly_t::create ();
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C
deleted file mode 100644
index cf5f69fc1a6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C
+++ /dev/null
@@ -1,59 +0,0 @@
-// Gets ICE 40.
-
-#include <vector>
-#include<string>
-
-using namespace std;
-
-class ODEsolver
-{
- private:
- void eulerODE(vector<double>& y, double& t, double& dt);
- void midpointODE(vector<double>& y, double& t, double& dt);
-
- protected:
- void (ODEsolver::*useMethod)(vector<double>&, double&, double&);
- void init();
-
- public:
- ODEsolver();
- void timeloop(vector<double>& y, double ts, double te, double dt);
-};
-
-
-ODEsolver::ODEsolver()
-{
- init();
-}
-
-
-void ODEsolver::eulerODE(vector<double>& y, double& t, double& dt)
-{
- y[0] = dt * 2.;
-}
-
-void ODEsolver::midpointODE(vector<double>& y, double& t, double& dt)
-{
- y[0] = dt * 3.;
-}
-
-
-
-void ODEsolver::init()
-{
- ODEsolver::useMethod = &ODEsolver::midpointODE;
-}
-
-void ODEsolver::timeloop(vector<double>& y, double ts, double te, double dt)
-{
- (ODEsolver::useMethod)(y,ts,dt);
-}
-
-int main (int nargs, char** args)
-{
- ODEsolver solver;
- vector<double> y(2); double t_start=5.; double t_end=7.; double dt=2.;
- solver.timeloop(y,t_start,t_end,dt);
- cout << y[0] << endl;
- return(0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb128.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb128.C
deleted file mode 100644
index d056e39012e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb128.C
+++ /dev/null
@@ -1,11 +0,0 @@
-template<class T>
-struct A {
- typedef T* iterator; // ERROR - pointer to reference
-public:
- A(){}
-};
-
-void f()
-{
- A<int&> a; // ERROR - instantiated from here
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb129.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb129.C
deleted file mode 100644
index a39d0c5b4cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb129.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Build don't link:
-// Gives ICE on EGCS release branch as of 98/06/08 on i686-pc-linux-gnulibc1)
-// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-// Message-Id: <199806081358.PAA02505@achibm5.chemie.uni-karlsruhe.de>
-#include <list>
-#include <functional>
-#include <algorithm>
-#include <cassert>
-int main()
-{
- list<int> l;
- l.push_back(1);
- l.push_back(2);
-
- list<int>::iterator it =
- find_if( l.begin(), l.end(),
- // This is a typo, it should be bind2nd, but an
- // ICE is not a very helpful diagnostic!
- binder2nd( equal_to<int>(), 2 ) ); // ERROR -
- assert( *(it) == 2 );
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb13.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb13.C
deleted file mode 100644
index f0e48484302..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb13.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-template<class T>
-class Array {
-public:
- typedef T T_numtype;
-};
-
-template<class T_array>
-void f(T_array, typename T_array::T_numtype)
-{
-}
-
-void g()
-{
- f(Array<float>(), float());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb130.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb130.C
deleted file mode 100644
index 48bbb8f9898..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb130.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-// Gives spurious warnings when compiled with -Wall
-// EGCS 06/08/98 i686-pc-linux-gnulibc1
-// Special g++ Options: -Wall
-// Message-Id: <199806081358.PAA02505@achibm5.chemie.uni-karlsruhe.de>
-// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-
-
-#include <hash_set>
-std::hash_set<int> foo;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C
deleted file mode 100644
index d966fd9c01f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-// Reported against EGCS snaps 98/06/18.
-
-struct a {
- a();
- void junk( float );
- void junk( double );
-
- void bar( double );
- void bar( float );
-
- void foo( void (a::*member)(float) ); // ERROR - candidate
-};
-
-a::a()
-{
- foo( &junk ); // ERROR - junk is an unqualified-id.
- foo( &bar ); // ERROR - bar is an unqualified-id.
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb132.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb132.C
deleted file mode 100644
index 5b6bc6a5842..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb132.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// Build don't link:
-// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-// Reported against EGCS snaps 98/06/28.
-// Special g++ Options: -O -Wall -fgcse -frerun-loop-opt
-//
-// Compilation of this program with the flags g++ -Wall -O -fgcse
-// -frerun-loop-opt or -O2 produces spurious warnings in the standard
-// header <std/bastring.h>.
-//
-// They vanish if the declaration of a::b is taken out.
-
-#include <string>
-
-string foo();
-struct a {
- void bar();
- enum b { c, d };
- b theb;
- string baz;
-};
-
-void
-a::bar()
-{
- baz += foo() + foo();
- baz += foo() + foo() + "foo";
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb133.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb133.C
deleted file mode 100644
index 5ffdf9e6afe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb133.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-// Gives ICE 109
-// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
-// Reported against EGCS snaps 98/06/28.
-
-int main()
-{
- try {
- }
- catch (bad_alloc) { // ERROR - parse error
- return 1;
- }
- return 0;
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb14.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb14.C
deleted file mode 100644
index de00e7baa6b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb14.C
+++ /dev/null
@@ -1,36 +0,0 @@
-template<int N>
-struct I {
-};
-
-template<class T>
-struct A {
-
- int r;
-
- template<class T1, class T2>
- void operator()(T1, T2)
- { r = 0; }
-
- template<int N1, int N2>
- void operator()(I<N1>, I<N2>)
- { r = 1; }
-};
-
-int main()
-{
- A<float> x;
- I<0> a;
- I<1> b;
-
- x(a,b);
- if (x.r != 1)
- abort();
-
- x(float(), double());
- if (x.r != 0)
- abort();
-
- return 0;
-}
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb15.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb15.C
deleted file mode 100644
index 902d4631ac1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb15.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-#include<iostream.h>
-#include<stddef.h>
-
-struct A {
- A() {
- cerr<<"A constructing\n";
- throw 1;
- }
- void *operator new(size_t sz) {
- cerr<<"A allocated\n";
- return ::operator new(sz);
- }
- void operator delete (void *p) {
- cerr<<"A deleted\n";
- ::operator delete (p);
- }
-};
-
-int main() {
- try {
- new A();
- } catch (...) {
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb16.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb16.C
deleted file mode 100644
index 5dc259d2822..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb16.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-template<class T>
-struct A {
- typedef T T1;
-};
-
-template<class T>
-struct B : T::T1 { // insert `typename' before T::T1
-};
-
-struct C { };
-
-B<A<C> > z;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
deleted file mode 100644
index f32dadba9a5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
+++ /dev/null
@@ -1,56 +0,0 @@
-// excess errors test - XFAIL
-// covariant return types in are currently not support for complex inheritance
-#include <stdio.h>
-
-class A {
-public:
- virtual void print();
- virtual A * clone();
-};
-
-class B : virtual public A {
-public:
- void print();
- B * clone();
-};
-
-void A::print()
-{
- printf("A\n");
-}
-
-void B::print()
-{
- printf("B\n");
-}
-
-
-A * A::clone()
-{
- return this;
-}
-
-B * B::clone()
-{
- return this;
-}
-
-
-int main()
-{
- A * a = new B;
- B * b = dynamic_cast<B *>(a);
-
- printf("%p\n",b); // (*2*)
- b->print();
-
- a = b;
- printf("%p\n",a);
- a->print();
-
- a = a->clone();
- printf("%p\n",a);
- a->print(); // (*1*)
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb18.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb18.C
deleted file mode 100644
index fd953fe0710..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb18.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-class C { };
-
-void foo()
-{
- C c;
- void * v = static_cast<void *>(c); // ERROR - illegal cast
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb19.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb19.C
deleted file mode 100644
index a5ddd36c7bd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb19.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-
-#define CRASH 1
-#ifdef CRASH
-#define VIRTUAL virtual
-#else
-#define VIRTUAL
-#endif
-
-class A {};
-class B : public VIRTUAL A {};
-template <class Imp> class C : public /*virtual*/ Imp {};
-// define CRASH and uncomment here ^^^^^^^^^^^
-// and the crash goes away!!!!
-
-template class C<B>;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb2.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb2.C
deleted file mode 100644
index b20002121a1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb2.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Build don't link:
-typedef __SIZE_TYPE__ size_t;
-inline void *operator new(size_t, void *place) throw() { return place; }
-
-struct A
-{
- A();
- ~A();
-};
-
-void testfunc( void )
-{
- A* mybuf;
- A v[1];
-
- new (mybuf) A();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb20.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb20.C
deleted file mode 100644
index 08c76d0f97e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb20.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Error: ICE on 2.7.2.3 and EGCS 1.0.0.
-// Build don't link:
-
-template<int N1, int N2>
-struct meta_max {
- enum { max = (N1 > N2) ? N1 : N2 };
-};
-
-struct X {
- enum {
- a = 0,
- n = 0
- };
-};
-
-template<class T1, class T2, class T3>
-struct Y {
-
- enum {
- a = T1::a + T2::a + T3::a,
- n = meta_max<meta_max<T1::n,T2::n>::max, T3::n>::max
- };
-};
-
-template<class T>
-struct Z {
- enum {
- a = T::a,
- n = T::n
- };
-};
-
-Z<Y<X,X,X> > z;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb21.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb21.C
deleted file mode 100644
index b3468d9e82f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb21.C
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <vector>
-
-#include <strstream.h>
-
-/*----------------------------------------*/
-
-struct connection_t {
- connection_t() {}
-};
-
-vector<connection_t> connections;
-
-/*----------------------------------------*/
-
-int
-main() {
- ostrstream str;
-
- connections.insert(connections.end(), connection_t());
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C
deleted file mode 100644
index bfe513b46db..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Ambiguous conversion, three candidates:
-// builtin == (int, int), and the two user-defined operators
-// Each one requires a user-defined ICS where another uses builtin conversions,
-// so none is the best viable function.
-
-class MyInt
-{
-public:
- MyInt(int = 0) {}
- operator int() const {return 2;}
-};
-
-bool operator==(const MyInt& a, const int& b)
-{ // ERROR - candidate
- return (int)a == b;
-}
-
-bool operator==(const MyInt& a, const MyInt& b)
-{ // ERROR - candidate
- return (int)a == (int)b;
-}
-
-bool f()
-{
- return 3 == MyInt(); // ERROR - ambiguous
-} // ERROR - no return value
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb23.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb23.C
deleted file mode 100644
index 8a0602a8235..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb23.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// Build don't link:
-class foo {
-protected:
- void __duplicate ();
-
-};
-
-class bar : public virtual foo {
-protected:
- void __duplicate() {
- foo::__duplicate ();
- }
-};
-
-class oops : public virtual bar {
-protected:
- void __duplicate() {
- foo::__duplicate ();
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb24.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb24.C
deleted file mode 100644
index b1f01043817..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb24.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-#include <iostream.h>
-
-template < class T >
-class X
-{
- protected:
-
- union {
- int x;
- double y;
- };
-};
-
-template < class T >
-class Y : public X<T>
-{
- public:
-
- using X<T>::x;
-
- void f () { cout << x << endl; }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb26.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb26.C
deleted file mode 100644
index 2374b557346..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb26.C
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// egcs-2.90.06
-// cannot declare friend of enclosing class using its scope, works fine
-// without scope or for definition of foo::bar::f
-//
-
-class foo
-{
-public:
- static int f();
- class bar {
- friend int foo::f();
-// friend int f();
- static int x;
- public:
- static int f() {return foo::f();};
- };
-};
-
-int foo::bar::x;
-
-int foo::f() {
- return bar::x;
-}
-
-int
-main ()
-{
- return foo::bar::f ();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
deleted file mode 100644
index 9e44f3af8b9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
+++ /dev/null
@@ -1,39 +0,0 @@
-/* bug.cc */
-/* simple program to demonstrate the bug with named return values in gcc
-*/
-/* (w) 4.9.97 by Kurt Garloff <K.Garloff@ping.de> */
-// Special g++ Options:
-// 8/28/1998 - This dies in add_conversions from dfs_walk, null CLASSTYPE_METHOD_VEC
-// for the test<T> record_type. This is marked as an expected failure for now,
-// until we actually fix it.
-
-#include <iostream.h>
-
-template <class T> class test;
-template <class T> test<T> operator + (const test<T>& a, const test<T>& b);
-
-// A simple numerical class
-template <class T>
-class test
-{
- T elem;
- public:
- test () { elem = 0; };
- test (const T& a) { elem = a; };
- test<T>& operator += (const test<T>& a) { elem += a.elem; return *this; };
- friend test<T> operator + <> (const test<T>&, const test<T>&);
- friend ostream& operator << (ostream& os, const test<T>& a)
- { return os << a.elem; };
-};
-
-// named return value version
-template <class T>
-test<T> operator + (const test<T>& a, const test<T>& b) return c(a);
-{ c += b; };
-
-int main()
-{
- test<int> x, y;
- x += 5; cout << x << endl;
- y = x + test<int>(2); cout << y << endl;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb28.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb28.C
deleted file mode 100644
index 6c3130eafa5..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb28.C
+++ /dev/null
@@ -1,17 +0,0 @@
-//Build don't link:
-#include <vector.h>
-enum s { S };
-class a
-{
- vector<s> vs;
- friend class b;
-};
-struct b
-{
- vector<a> va;
- operator vector< vector<s> >()
- {
- vector< vector<s> > vvs(va.size());
- return vvs;
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb29.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb29.C
deleted file mode 100644
index f1017a774a7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb29.C
+++ /dev/null
@@ -1,16 +0,0 @@
-//Build don't link:
-#include <vector.h>
-enum s { S };
-class a
-{
- vector<s> vs;
- friend class b;
-};
-struct b
-{
- vector<a> va;
- operator vector< vector<s> >()
- {
- return vector< vector<s> >(va.size());
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb3.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb3.C
deleted file mode 100644
index d257043e46a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb3.C
+++ /dev/null
@@ -1,11 +0,0 @@
-// Build don't link:
-#include <complex.h>
-template<class T>
-class Vec {
-public:
- Vec() { data = new T; }
- Vec<T> split() { Vec<T> tmp; operator=(tmp); return tmp; }
- void operator=(const Vec<T> &v) { data = new T; }
- T *data;
-};
-template class Vec<complex<double> >;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb30.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb30.C
deleted file mode 100644
index c116ab4cd4d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb30.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-#include <fstream.h>
-
-class bifstream : public ifstream {
-public:
- bifstream();
-// ~bifstream();
-};
-
-void load_bin()
-{
- bifstream InFile;
-
- if (!InFile)
- return;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb31.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb31.C
deleted file mode 100644
index 1a18af5b4c8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb31.C
+++ /dev/null
@@ -1,17 +0,0 @@
-#include<iostream.h>
-
-int main() {
- try {
- throw 1;
- } catch(...) {
- try {
- throw;
- } catch(int) {
- }
- try {
- throw;
- } catch(int) {
- }
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb32.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb32.C
deleted file mode 100644
index 95e16178298..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb32.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-class A {
-public:
- void malloc(unsigned int);
-};
-
-void A::malloc(unsigned int) {}
-
-void foo() {
- A a;
- a.malloc(3); // <-- line 10
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb33.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb33.C
deleted file mode 100644
index 3797ab3740f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb33.C
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <fstream.h>
-#include <stdio.h>
-
-int
-main()
-{
- printf("If you see this, you don't have a problem!\n");
-#ifdef EXPOSE_BUG
- ifstream a;
-#endif
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb34.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb34.C
deleted file mode 100644
index 08167b5d981..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb34.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-class Base {
-public:
- class Bar { public: virtual ~Bar() {}; };
-};
-
-class Derived : public Base {
-public:
- class Bar : public Base::Bar {};
-};
-
-template <class T>
-class XYZ : public T::Bar {
-};
-
-void test() {
- XYZ<Base> b;
- XYZ<Derived> d;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb35.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb35.C
deleted file mode 100644
index e28fb4925f6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb35.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// Build don't link:
-
-class string
-{
-public:
- string();
- string(const string& x);
- string(const char* t);
-
- ~string();
-};
-
-void set_status(string message);
-
-class StatusDelay {
-private:
- string cause;
-
-public:
- StatusDelay(const string& c)
- : cause(c)
- {
- set_status(cause);
- }
-
- ~StatusDelay()
- {
- set_status(cause);
- }
-};
-
-static char delay_message[] = "Filtering files";
-
-static void searchRemote()
-{
- StatusDelay delay(delay_message);
- return;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb36.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb36.C
deleted file mode 100644
index 415e5bdf6f4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb36.C
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <vector>
-
-template <typename T=float> class foo {
-public:
- foo();
- foo(vector<int> v);
-private:
- vector<int> v;
- T t;
-};
-
-template <typename T>
-foo<T>::foo() :v(), t() {}
-template <typename T=float>
-foo<T>::foo(vector<int> v_) :v(v_), t() {} // ERROR - default arg for member template
-
-foo<float> a;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb37.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb37.C
deleted file mode 100644
index be4b57d8751..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb37.C
+++ /dev/null
@@ -1,26 +0,0 @@
-// Build don't link:
-template<class T>
-struct A {
- typedef T T1;
-};
-
-template<class T>
-struct B {
- typedef T T2;
-};
-
-template<class T>
-struct C {
-};
-
-template<class E>
-C<typename E::T2::T1>
-foo (E)
-{
- return C<typename E::T2::T1>();
-}
-
-void test()
-{
- foo(B<A<int> >());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb38.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb38.C
deleted file mode 100644
index 9a75405d129..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb38.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Build don't link:
-class string
-{
-public:
- string();
- string(const string& x);
- string(const char* t);
-
- ~string();
-};
-
-void set_status(string message);
-
-class StatusDelay {
-private:
- string cause;
-
-public:
- StatusDelay(const string& c)
- : cause(c)
- {
- set_status(cause);
- }
-
- ~StatusDelay()
- {
- set_status(cause);
- }
-};
-
-static char delay_message[] = "Filtering files";
-
-static void searchRemote()
-{
- StatusDelay delay(delay_message);
- return;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
deleted file mode 100644
index feefca77ad9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-#include <ctype.h>
-#include <iostream.h>
-// #include <streambuf.h>
-#include <libio.h>
-#include <strstream.h>
-
-extern bool foo2 (ostream &out, istream &in);
-
-bool
-foo1 (ostream &out, const char *in)
-{
- strstreambuf sb (in, (int) strlen (in));
- istream fmt (&sb);
- return foo2 (out, fmt);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C
deleted file mode 100644
index b51d3eafb98..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C
+++ /dev/null
@@ -1,48 +0,0 @@
-// Error: Internal Compiler Error in GCC 2.7.2 and EGCS 1998/05/28 snapshot.
-
-#include <iostream.h>
-
-class some_base
- {
-public:
- class base_func_args;
- virtual void func(base_func_args &) = 0; // ERROR - referenced below
- };
-
-class some_base::base_func_args
- {
-public:
- int i;
- };
-
-class some_derived : public some_base
- {
-public:
- class derived_func_args;
- void func(derived_func_args &);
- };
-
-
-class derived_func_args : public some_base::base_func_args
- {
-public:
- float f;
- };
-
-class some_derived::func(derived_func_args &a) // ERROR - illegal member syntax
- {
- cout << a.i << ' ' << a.f << endl;
- }
-
-int
-main()
- {
- some_derived d; // ERROR - abstract class
- some_derived::derived_func_args dfa; // ERROR - incomplete class
- some_base *b = &d;
-
- dfa.i = 10;
- dfa.f = 20;
- b->func(dfs); // ERROR - dfs not declared
- return 0;
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb41.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb41.C
deleted file mode 100644
index 3c97e01844e..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb41.C
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <iostream.h>
-#include <iterator.h>
-#include <string>
-
-ostream_iterator<string> oo(cout);
-
-int main()
-{
- *oo = "Hello, ";
- ++oo;
- *oo = "world!\n";
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb42.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb42.C
deleted file mode 100644
index 8850f9fa639..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb42.C
+++ /dev/null
@@ -1,19 +0,0 @@
-//Build don't link:
-#include <vector.h>
-#include <algo.h>
-
-template <class T> class Expr
-{
-public :
-Expr(){};
-Expr(const T&){};
-};
-
-template <class T >
-inline bool compare(const Expr<T> a, const Expr<T> b){ return true; };
-
-int main()
-{
-vector<int> a(3);
-sort( a.begin(), a.end(), compare ); // ERROR - no matching function
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
deleted file mode 100644
index 7f8647226c8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
+++ /dev/null
@@ -1,38 +0,0 @@
-// All the pointer_to_binary_function cases used to fail because g++
-// couldn't handle converting an overloaded function to a class type.
-// The first one should still fail because it requires an implicit conversion
-// to pointer_to_binary_function, which has an `explicit' constructor.
-
-#include <vector.h>
-#include <algo.h>
-
-template <class T> class Expr
-{
-public :
- Expr(){};
- Expr(const T&){};
-};
-
-template <class T >
-inline bool compare(const Expr<T> a, const Expr<T> b){ return true; };
-
-int main()
-{
- vector<int> a(3);
- sort( a.begin(), a.end(),
- static_cast<bool (*)(const Expr<int>,const Expr<int>)>(compare) );
- sort( a.begin(), a.end(), compare<int> );
- sort<vector<int>::iterator,
- pointer_to_binary_function<const Expr<int>, const Expr<int>, bool> >
- ( a.begin(), a.end(), compare ); // ERROR - constructor is explicit
- sort( a.begin(), a.end(),
- ptr_fun<const Expr<int>, const Expr<int>, bool> (compare) );
- sort( a.begin(), a.end(),
- ptr_fun(compare<int>) );
- sort( a.begin(), a.end(),
- pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare) );
- sort( a.begin(), a.end(),
- pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare<int>) );
- sort( a.begin(), a.end(),
- pointer_to_binary_function<const Expr<int>, const Expr<int>, bool>(compare<>) );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
deleted file mode 100644
index 54eab153609..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
+++ /dev/null
@@ -1,35 +0,0 @@
-// spurious 'const' in error.
-// For egcs-2.91.34, the warning message refers to
-// class ostream & operator <<(class ostream &, const class Vector<T> &)
-// Also, the template instantiation does not provide the missing
-// friend function, the non-template function does
-
-#include <stdio.h>
-#include <iostream.h>
-
-template <class T>
-class Vector
-{
- friend ostream& operator<< (ostream& out, const Vector<T> & vec); // WARNING -
-};
-
-template <class T>
-ostream& operator<< (ostream& out, const Vector<T> & vec)
-{
- abort(); // this should not be called
-}
-
-template class Vector<char>;
-template ostream& operator<< (ostream& out, const Vector<char> &);
-
-ostream& operator<< (ostream& out, const Vector<char>&)
-{
- return out;
-}
-
-int main()
-{
- Vector<char> vc;
- ostream out;
- out << vc;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb45.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb45.C
deleted file mode 100644
index 9e2642c2a42..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb45.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-class A {};
-class B : public virtual A {};
-template <class Imp> class C : public Imp {};
-
-template class C<B>;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb46.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb46.C
deleted file mode 100644
index ad077e38dc3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb46.C
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <iostream.h>
-
-class A1 {
- friend class B;
- public:
- virtual void foo() {};
-};
-
-class A2 : public virtual A1 {friend class B;};
-
-class A3 : public virtual A1, private A2 {friend class B;};
-
-class B
-{
- public:
- B(A1* a) : itsA(dynamic_cast<A2*>(a)) {};
- A2* itsA;
-};
-
-int main()
-{
- A1* a=new A3;
- B b(a);
-
- if (b.itsA) cout << "cast ok" << endl; else cout << "cast failed" << endl;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb48.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb48.C
deleted file mode 100644
index 1d10bed5c03..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb48.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// Build don't link:
-char *t1 (const char *s)
-{
- return const_cast<char *>(s);
-}
-
-char *&t1 (const char *&s)
-{
- return const_cast<char *&>(s);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb49.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb49.C
deleted file mode 100644
index 95c454eaef1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb49.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// Build don't link:
-// excess errors test
-
-// Here we declare ::S
-typedef struct s1 *S;
-
-struct s1
-{
- int s;
-};
-
-struct A
-{
- // Here we declare A::S
- typedef struct s1 *S;
-};
-
-template<class T, class U> class XX;
-
-template<class T, class U>
-class X
-{
-public:
- static T *do_something ();
- friend class T; // ERROR - `T' is a template parameter
- friend class XX<T, U>;
-};
-
-struct N
-{
- // Here we declare N::S
- class S
- {
- };
-
- // Should use N::S and A::S.
- typedef X<S, A::S> X_S;
-
- void bug ();
-};
-
-void
-N::bug ()
-{
- // X_S is template class X<N::S, A::S>
- // `s' is N::S.
- S *s = X_S::do_something ();
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb5.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb5.C
deleted file mode 100644
index 6609be8c0dd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb5.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// Build don't link:
-enum { a, b };
-
-class Bug {
- int pri:8;
- int flags:24;
-public:
- void bug() {
- flags |= a; // this does not work
- }
-};
-
-void dummy(Bug x) { x.bug(); }
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb50.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb50.C
deleted file mode 100644
index c7f90766af2..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb50.C
+++ /dev/null
@@ -1,16 +0,0 @@
-struct foo { };
-int f(int a, int b)
-{
- if (b == 0)
- throw foo();
- return a / b;
-}
-int main()
-{
- try {
- f(0, 0);
- return 1;
- } catch (foo x) {
- return 0;
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb51.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb51.C
deleted file mode 100644
index 0357f92ba66..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb51.C
+++ /dev/null
@@ -1,36 +0,0 @@
-// Build don't link:
-typedef unsigned long Xv_opaque;
-
-class DynaString
-{
-public:
- DynaString();
- DynaString( const DynaString& dynaStr );
- DynaString( const long n );
- ~DynaString();
-
- int operator ==( const char* const string ) const;
-};
-
-class DDE_Defaults
-{
-public:
- DynaString GetHost();
- DynaString GetService();
- DynaString GetDatabase();
-};
-
-extern DDE_Defaults* ddeDefaults;
-
-void
-f()
-{
- DynaString tempHost, tempService, tempDatabase;
- if( (tempHost = ddeDefaults->GetHost()) == 0
- || (tempService = ddeDefaults->GetService()) == 0
- || (tempDatabase = ddeDefaults->GetDatabase()) == 0
- )
- {
- }
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb52.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb52.C
deleted file mode 100644
index 50b45169ab8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb52.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Build don't link:
-class base {
-protected:
- virtual void f();
-};
-
-class d1 : public virtual base {
-protected:
- void f();
-};
-
-void d1::f()
-{
- base::f();
-}
-
-class dd1 : public virtual d1 {
-protected:
- void f();
-};
-
-void dd1::f()
-{
- d1::f();
- base::f();
-}
-
-class d1_and_base : public virtual d1, public virtual base {
-protected:
- void f();
-};
-
-void d1_and_base::f()
-{
- d1::f();
- base::f();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
deleted file mode 100644
index dfcf3a9e927..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <iomanip.h>
-
-int main()
-{
- cout << setbase(3) << endl;
- exit (0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb55.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb55.C
deleted file mode 100644
index 4ba4b54eff0..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb55.C
+++ /dev/null
@@ -1,12 +0,0 @@
-// Build don't link:
-// Since the constructor is in streambuf.h, additional diagnostics are
-// produced, which are not really supported in the old-deja framework
-// excess errors test - XFAIL *-*-*
-#include <strstream.h>
-
-void
-t( char* buf )
-{
- istrstream str = buf; //ERROR - inaccessible copy constructor
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb56.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb56.C
deleted file mode 100644
index 2d497f8b4e3..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb56.C
+++ /dev/null
@@ -1,9 +0,0 @@
-// Error: Internal compiler error on 1998/05/28 snapshot.
-// Build don't link:
-
-class foo {
- typedef int sometype;
-};
-
-struct die : public foo::sometype { // ERROR - invalid base type
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb57.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb57.C
deleted file mode 100644
index 5f7de55559d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb57.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-#include <exception>
-//using namespace std;
-class A {
- class B : public std::exception {}
- ;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb58.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb58.C
deleted file mode 100644
index 3612034bf70..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb58.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Special g++ Options:
-// Test for g++ array init extension
-
-class A {
-public:
- A(int i) {}
-private:
- A( const A & ) {}
-};
-
-main()
-{
- A *list = new A[10](4);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb59.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb59.C
deleted file mode 100644
index 7c0c1534ae4..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb59.C
+++ /dev/null
@@ -1,28 +0,0 @@
-#define INC_FUNCTIONAL 1
-#define USE_STATIC_CAST 1
-
-#include <vector>
-#include <numeric>
-#ifdef INC_FUNCTIONAL
-#include <functional>
-#endif
-
-template<class R> int p( int val, R& r )
-{
- return val + r;
-}
-
-template<class R> void f( vector<R>& v )
-{
-#ifdef USE_STATIC_CAST
- accumulate( v.begin(), v.end(), 0, static_cast<int (*)(int, R&)>(p) );
-#else
- accumulate( v.begin(), v.end(), 0, p<R> );
-#endif
-}
-
-int main()
-{
- vector<int> r;
- f( r );
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb6.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb6.C
deleted file mode 100644
index 157bf472f1a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb6.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Build don't link:
-class A {
-public:
- A() { t=0; }
- double t;
-};
-template <class T>
-class B {
-public:
- void f1() { new T; f2(); }
- void f2() { new T; }
-};
-template class B<A>;
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb60.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb60.C
deleted file mode 100644
index 64ca71d9606..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb60.C
+++ /dev/null
@@ -1,18 +0,0 @@
-//Build don't link:
-#include <string>
-
-class t {
-public:
- t(const string& s) : s_(s) {}
- string s_;
- static t* t_;
-};
-
-t* t::t_;
-
-t* makeT()
-{
- return new t("test");
- return t::t_ ? t::t_ :
- t::t_ = new t("test");
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb61.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb61.C
deleted file mode 100644
index 370273ae26d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb61.C
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build don't link:
-void
-action0(float& arg1)
-{
- long cn0 = 1;
-
- arg1 = cn0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb62.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb62.C
deleted file mode 100644
index 02646b2fb8a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb62.C
+++ /dev/null
@@ -1,7 +0,0 @@
-//Build don't link:
-#include <vector>
-
-void f(void)
-{
- vector<int> l(5, 0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
deleted file mode 100644
index 0e8559124d6..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
+++ /dev/null
@@ -1,15 +0,0 @@
-//Special g++ Options:
-//This uses GNU extensions, so disable -ansi
-#include <stdio.h>
-
-class A {
-public:
- A(bool b) { abort(); }
- A(int a, bool b) { printf("cool\n"); }
-};
-
-main() {
- A* a;
- a = new A[2] = { A(1,false), A(1,false) } ;
- a = new A[2](1,false);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb64.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb64.C
deleted file mode 100644
index da043af5191..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb64.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// Build don't link:
-template <class A>
-class B:public A {
- B(){}
-};
-
-template <class A>
-class C:public B<A> {
- C(){}
-};
-
-/*
-g++ bugsol.C
-bugsol.C:9: Internal compiler error.
-bugsol.C:9: Please submit a full bug report to `egcs-bugs@cygnus.com'.
-
-g++ -v
-Reading specs from
-/home/pierre/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.16/specs
-gcc version egcs-2.90.16 971105 (gcc2-970802 experimental)
-
-egcc compiled with gcc version 2.7.2.1 on debian 1.3.1
-
-*/
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb65.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb65.C
deleted file mode 100644
index 94be7ecbdb7..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb65.C
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <iterator>
-
-template<size_t n, size_t i> struct PartialDotProduct {
- template<class T>
- static T Expand(T* a, T* b) { return T(); }
-};
-
-const int N = 10;
-
-template<class In1, class In2>
-typename iterator_traits<In1>::value_type
-dot(In1 f1, In2 f2)
-{
- return PartialDotProduct<N, 0>::Expand(f1, f2); // line 14
-}
-
-int main()
-{
- double a[N], b[N];
-
- double s = dot(&a[0], &b[0]);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb66.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb66.C
deleted file mode 100644
index d79865f21d9..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb66.C
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <assert.h>
-#include <iostream.h>
-
-int bar ()
-{
- throw 100;
-}
-
-int main ()
-{
- int i = 0;
- try
- {
- i = bar ();
- }
- catch (...)
- {
- }
-
-// cout << "i = " << i << endl;
- assert (i == 0) ;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb67.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb67.C
deleted file mode 100644
index 45cdedd995c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb67.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// Build don't link:
-/*
-Check whether a typedef for a basic type as a baseclass is diagnosed.
-*/
-typedef int an_int;
-class bar : public an_int {}; // ERROR - not an aggregate
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C
deleted file mode 100644
index 9cc5f4a3ffe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C
+++ /dev/null
@@ -1,9 +0,0 @@
- #include <iostream.h>
- struct foo {
- foo(int x) { cerr << "foo's int constructor (" << x << ")\n"; };
- };
- struct bar : foo {
- typedef int an_int;
- bar() : bar::an_int(3) {}; // will call foo::foo(3)
- };
-int main() { bar b; }
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb7.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb7.C
deleted file mode 100644
index fc43aab4179..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb7.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Build don't link:
-#include <vector>
-
-class T
-{
- public:
- T();
-
-};
-
-vector <T> tp;
-
-void f()
-{
- tp.insert(tp.begin(), 10 , T());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb70.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb70.C
deleted file mode 100644
index 30da1845973..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb70.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// conversion ops should be treated as coming from the most derived class
-// for overload resolution. See [over.match.funcs].
-// Build don't link:
-
-class X {
-public:
- operator bool() const;
-};
-
-class Y : public X {
-private:
- operator void*() const;
-};
-
-int f(Y const& y) {
- return bool(y);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb71.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb71.C
deleted file mode 100644
index 1417c4ab891..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb71.C
+++ /dev/null
@@ -1,37 +0,0 @@
-// Build don't link:
-typedef __SIZE_TYPE__ size_t;
-
-class A {
-
-public:
- void operator delete(void*, size_t);
- void* operator new(size_t);
-};
-
-class B : public A {
-friend class D;
-
- B();
- unsigned counter;
-};
-
-class D {
-
- int ins( B*&);
-}; //WARNING - only private members
-
-int
-D::ins( B*& tempN)
-{
- unsigned i;
-
- if (i == 10) {
- }
- else {
- }
-
- tempN = new B();
- tempN->counter = 20;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb73.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb73.C
deleted file mode 100644
index b5aae397a8a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb73.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Special g++ Options: -O -Wall
-// Depeletes VM.
-
-#include <iostream.h>
-#include <list>
-#include <algorithm>
-using namespace std;
-
-int main()
-{
- int daten [16] = { 1, 4, 4, 6, 1, 2, 2, 3, 6, 6, 6, 5, 7, 5, 4, 4};
- list<int> menge;
- copy (daten, daten+16, back_inserter(menge));
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb74.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb74.C
deleted file mode 100644
index 1ec7da6cc71..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb74.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// Build don't link:
-class base {
-public:
- virtual ~base();
-};
-
-
-class foo : public base {
-
-public :
-
- foo (char *cs);
-
- virtual void op (unsigned char dummy = false);
- unsigned char m_dummy;
-};
-
-
-void foo :: op ( unsigned char dummy)
-
-{
- bool bar;
-
- if (dummy) {
- foo IT_tempPhase( 0 );
- return;
- }
-
- if ((m_dummy || bar)) {
-
- }
-
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb75.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb75.C
deleted file mode 100644
index 41ad816bddd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb75.C
+++ /dev/null
@@ -1,19 +0,0 @@
-// Build don't link:
-int*& foo (int const *& x)
-{
- return const_cast<int*&> (x);
-}
-
-/*
-If the references in this example are changed to pointers (change
-all `&''s to `*'), no warnings result.
-
-I think this is incorrect according to CD2 5.2.11, para 4:
-
-4 An lvalue of type T1 can be explicitly converted to an lvalue of type
- T2 using the cast const_cast<T2&> (where T1 and T2 are object types)
- if a pointer to T1 can be explicitly converted to the type pointer to
- T2 using a const_cast. The result of a reference const_cast refers to
- the original object.
-
-*/
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb76.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb76.C
deleted file mode 100644
index e2817eefd09..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb76.C
+++ /dev/null
@@ -1,19 +0,0 @@
-//Build don't link:
-// the template operator!= interferes. It should be in a namespace.
-// excess errors test - XFAIL *-*-*
-
-#include <utility>
-
-enum T {
- V1
-};
-
-struct X {
- T t : 31;
-};
-
-void
-f(X& v) {
- if( v.t != V1 ) { // complains about taking address of bitfield
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C
deleted file mode 100644
index 206b27dbf22..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stream.h>
-#include <strstream.h>
-
-int
-main(int, char* [])
-{
- strstream s;
-
- s << "line 1\nline 2\n\nline 4";
- s << ends;
-
- int nLine = 0;
-
- while( true ) {
- char* line = 0;
- s.gets(&line);
-
- if( ! line ) {
- break;
- }
-
- ++nLine;
- cout << nLine << ": " << line << endl;
-
- if( nLine > 10 ) { // stop infinite loop
- break;
- }
- }
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb78.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb78.C
deleted file mode 100644
index 3baea64743d..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb78.C
+++ /dev/null
@@ -1,136 +0,0 @@
-// Special g++ Options: -W -Wall -O
-
-//This is the source code from FAQ-259, found in chapter 20 of "C++ FAQs."
-//Copyright (C) 1994, Addison-Wesley Publishers, Inc.; All rights reserved.
-//
-//The book, "C++ FAQs" is by Marshall P. Cline and Greg A. Lomow,
-//Copyright (C) 1994, Addison-Wesley Publishers, Inc.; All rights reserved.
-//
-//This code is presented for its instructional value. It has been tested with
-//care, but it is not guaranteed for any particular purpose. Neither the
-//publisher nor the authors offer any warranties or representations, nor do
-//they accept any liabilities with respect to this code.
-
-#include <string.h>
-#include <iostream.h>
-
-class BadIndex { };
-
-class String {
-public:
-
- String()
- : len_(0), data_(new char[1])
- { data_[0] = '\0'; }
-
- String(const char* s)
- : len_(strlen(s)), data_(new char[len_ + 1])
- { memcpy(data_, s, len_ + 1); }
-
- ~String()
- { delete [] data_; }
-
- String(const String& s)
- : len_(s.len_), data_(new char[s.len_ + 1])
- { memcpy(data_, s.data_, len_ + 1); }
-
- String& operator= (const String& s)
- {
- if (len_ != s.len_) { //makes self-assignment harmless
- char* newData = new char[s.len_ + 1];
- delete [] data_;
- data_ = newData;
- len_ = s.len_;
- }
- memcpy(data_, s.data_, len_ + 1);
- return *this;
- }
-
- unsigned len() const
- { return len_; }
-
- char& operator[] (unsigned i)
- { indexTest(i); return data_[i]; }
- char operator[] (unsigned i) const
- { indexTest(i); return data_[i]; }
-
- friend ostream& operator<< (ostream& o, const String& s)
- { return o.write(s.data_, s.len_); }
-
- friend int operator== (const String& a, const String& b)
- { return a.len_ == b.len_ &&
- memcmp(a.data_, b.data_, a.len_) == 0; }
- friend int operator!= (const String& a, const String& b)
- { return ! (a == b); }
-
-private:
- void indexTest(unsigned i) const
- { if (i >= len_) throw BadIndex(); }
- unsigned len_; //ORDER DEPENDENCY; see FAQ-190
- char* data_; //ORDER DEPENDENCY; see FAQ-190
-};
-
-class AccessViolation { };
-class BadFileName { };
-
-class File {
-public:
- File(const String& filename)
- throw(AccessViolation, BadFileName)
- {
- cout << "Open " << filename << "\n";
- if (filename == "badAccess.txt")
- throw AccessViolation();
- if (filename == "badName.txt")
- throw BadFileName();
- }
-};
-
-class UserClass {
-public:
- void f(const String& filename) throw(BadFileName);
-};
-
-void
-UserClass::f(const String& filename) throw(BadFileName)
-{
- try {
- File f(filename); // WARNING - unused
- }
- catch (const AccessViolation& e) {
- cout << " FULLY recover from access-violation\n";
- }
- catch (const BadFileName& e) {
- cout << " PARTIALLY recover from bad-file-name\n";
- throw;
- }
-}
-
-void
-tryIt(const String& filename)
-{
- try {
- UserClass u;
- u.f(filename);
- cout << " OK\n";
- }
- catch (const BadFileName& e) {
- cout << " Finish recovering from bad-file-name\n";
- }
-}
-
-int
-main()
-{
- tryIt("goodFile.txt");
- tryIt("badAccess.txt");
- tryIt("badName.txt");
-}
-
-// g++ -O -o warn warn.C -W -Wall
-// warn.C: In method `void UserClass::f(const class String &)':
-// warn.C:96: warning: unused variable `class File f'
-// warn.C:101: warning: `struct cp_eh_info * __exception_info' might
-// be used uninitialized in this function
-
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
deleted file mode 100644
index 5691532b99f..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Makes bogus x86 assembly code.
-#include <iostream.h>
-
-template<class T>
-T max(T a, T b)
-{
- return (a > b) ? a : b;
-}
-
-// Prototypes (enable one or the other)
-double max<>(double, double); // ERROR - bogus code
-// int max(int, int);
-
-int main()
-{
- int i = 123;
- double d = 1234.5678;
-
- cout.precision(12);
- cout << max(d, i) << endl; // #1
- cout << max(i, d) << endl; // #2
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb8.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb8.C
deleted file mode 100644
index 213bb6de90b..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb8.C
+++ /dev/null
@@ -1,13 +0,0 @@
-
-class foo {
-public:
- operator <<(const void *); //ERROR - no return type
- operator <<(char *); //ERROR - no return type
-};
-
-void main()
-{ //ERROR - wrong return type for main
- foo f;
- f << (void*)0;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb80.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb80.C
deleted file mode 100644
index 71614236558..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb80.C
+++ /dev/null
@@ -1,7 +0,0 @@
-// Build don't link:
-#include <exception>
-
-class A {
- class B : public std::exception {}
- ;
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb81.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb81.C
deleted file mode 100644
index 919fd58b0fe..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb81.C
+++ /dev/null
@@ -1,42 +0,0 @@
-// Build don't link:
-class x
-{
-public:
- x (int init_buffer_size=0);
- ~x ();
-};
-
-
-
-class xSequence
-{
-public:
- xSequence ();
- ~xSequence ();
- x Get(int index)const;
-};
-
-
-
-class foo
-{
-public:
- bool bar(const x & name, x & value);
-
-};
-
-
-
-bool foo::bar(const x & name, x & value)
-{
- bool result = false;
-
- xSequence seq;
- x v1, v2;
- if(result ? bar(seq.Get(1),v2) : bar(seq.Get(2),v2))
-
- ;
-
- return result;
-}
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb82.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
deleted file mode 100644
index 1e4d8c6249c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-template <int n1>
-double val <int> ()
-{ // ERROR - bogus code
- return (double) n1;
-};
-
-int main ()
-{
- printf ("%d\n", val<(int)3> ());
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
deleted file mode 100644
index 7121e140078..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
+++ /dev/null
@@ -1,16 +0,0 @@
-// Skip if not native
-// Special g++ Options: -fprofile-arcs -ftest-coverage
-void
-swap(int& x, int& y) throw()
-{
- int tmp = x;
- x = y;
- y = tmp;
-}
-
-main()
-{
- int i = 5;
- int j = 7;
- swap(i, j);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb84.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb84.C
deleted file mode 100644
index dce51d86d52..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb84.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Error: Internal Compiler error on GCC 2.7.2.3 & EGCS 1998/05/23 snapshot.
-
-class A {
-public:
- enum { ONE, TWO, THREE };
-};
-
-template <const unsigned c1,const unsigned c2,const unsigned c3>
-void f() {
-
-}
-
-int
-main()
-{
- f<A::ONE,A::TWO,A::THREE>();
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb86.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
deleted file mode 100644
index 463d2d1cb60..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
+++ /dev/null
@@ -1,5 +0,0 @@
-// Build don't link:
-template <class T>
-class Q {
- friend void foo<T> ();
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb87.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb87.C
deleted file mode 100644
index eee6ff67a75..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb87.C
+++ /dev/null
@@ -1,6 +0,0 @@
-template <unsigned X, class T> struct Foo {
- friend void operator<<(int, Foo const &) {}
-};
-template <unsigned X> class Bar : public Foo<X,int> {};
-inline Bar<0> bar(int,int,int) { return Bar<3>(); } // ERROR - no conversion
-
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb88.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb88.C
deleted file mode 100644
index 006fe568e51..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb88.C
+++ /dev/null
@@ -1,15 +0,0 @@
-// Another magic NULL problem.
-// Special g++ Options: -w
-
-#include <stddef.h>
-
-int main()
-{
- try
- {
- throw(NULL);
- }
- catch (...)
- {
- }
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb9.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb9.C
deleted file mode 100644
index cec700220cb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb9.C
+++ /dev/null
@@ -1,21 +0,0 @@
-// Build don't link:
-template <class Key>
-class d0om_Hashmap
-{
-public:
- typedef int value_type;
-
- class iterator
- {
- public:
- value_type* operator-> () const;
- };
-
-};
-
-
-template <class Key>
-d0om_Hashmap<Key>::value_type* d0om_Hashmap<Key>::iterator::operator-> () const
-{
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb90.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb90.C
deleted file mode 100644
index 2a43645d017..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb90.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Special g++ Options: -O2
-// Build don't link:
-
-#ifdef HIDE_BUG
-#define realloc Realloc
-#endif
-
-class TmpRgn {
-public:
- void
- realloc();
-};
-
-class TmpActor {
- TmpRgn tmpRgn;
-
-public:
- void
- realloc() {
- tmpRgn.realloc();
- }
-};
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb91.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb91.C
deleted file mode 100644
index 8262b7939e1..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb91.C
+++ /dev/null
@@ -1,85 +0,0 @@
-#include <sys/types.h>
-#include <algorithm>
-typedef short _eb91_int16_t;
-typedef char _eb91_int8_t;
-typedef unsigned char _eb91_u_int8_t;
-typedef unsigned short _eb91_u_int16_t;
-
-template <class INT>
-class other_endian
-{
-private:
-
- INT value;
-
-
- _eb91_u_int16_t change_endian(_eb91_u_int16_t x)
- {
- union {
- _eb91_u_int16_t i;
- _eb91_u_int8_t c[2];
- } val;
- val.i = x;
- swap(val.c[0], val.c[1]);
- return val.i;
- };
-
- _eb91_int16_t change_endian(_eb91_int16_t x)
- {
- union {
- _eb91_int16_t i;
- _eb91_int8_t c[2];
- } val;
- val.i = x;
- swap(val.c[0], val.c[1]);
- return val.i;
- };
-public:
- other_endian(const INT i = 0)
- {
- value = change_endian(i);
- }
-
- operator INT()
- {
- return change_endian(value);
- }
-};
-
-template <class INT>
-class same_endian
-{
- INT value;
-
-public:
- same_endian(const INT i = 0)
- {
- value = i;
- }
-
- operator INT()
- {
- return value;
- }
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-int main() {
- other_endian <_eb91_u_int16_t> little_endian_16_bit_int;
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb92.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb92.C
deleted file mode 100644
index 8cb1639323c..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb92.C
+++ /dev/null
@@ -1 +0,0 @@
-template<int N> f<0>(){} // ERROR - invalid code
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb93.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb93.C
deleted file mode 100644
index 988e65d7321..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb93.C
+++ /dev/null
@@ -1,30 +0,0 @@
-// Error: Internal compiler error on egcs 1998/05/28 snapshot.
-
-const double M_PI=3.14159265358979323846;
-
-template<int N,int I,int J,int K>
-inline double SineSeries()
-{
- const double x=I*2*M_PI/N;
- const bool go=K+1!=J;
- return 1.0-x*x/(2*K+2)/(2*K+3)*SineSeries<N*go,I*go,J*go,(K+1)*go>();
-}
-
-template<>
-inline double SineSeries<0,0,0,0>()
-{
- return 1.0;
-}
-
-template<int N,int I>
-inline double Sine()
-{
- const double x=(I*2*M_PI/N);
- return x * SineSeries<N,I,10,0>();
-}
-
-int main()
-{
- double f=Sine<32,5>()
- return 0; // ERROR - parse error
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb94.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb94.C
deleted file mode 100644
index 7f7c0b4e8eb..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb94.C
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-class baseClass
-{
-private:
-static int variable;
-};
-
-class myClass : public baseClass
-{
-private:
-static int variable; // this is intentionally duplicated
-};
-
-myClass::variable = 0; //ERROR - no type
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb95.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb95.C
deleted file mode 100644
index 0d8e405c80a..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb95.C
+++ /dev/null
@@ -1,17 +0,0 @@
-struct A {};
-
-template <class T>
-void operator+ (A &i, T &b) {}
-
-template<class T>
-void func (A &a, T &b) {}
-
-int main()
-{
- A a;
-
-#if STRANGE
- func(a, "egcs");
-#endif
- a+"egcs";
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb97.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb97.C
deleted file mode 100644
index e05cc415b66..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb97.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// Creates bad assembly on sparc and x86
-template<unsigned long SIZE>
-struct Array { };
-
-template<unsigned long SIZE>
-Array<SIZE> test_ok(const Array<SIZE>& a) {
- Array<SIZE> result;
- return(result);
-}
-
-template<unsigned long SIZE>
-Array<SIZE + 1> test_error(const Array<SIZE>& a) {
- Array<SIZE + 1> result;
- return(result);
-}
-
-int main(int argc, char* argv[]) {
- Array<2> a;
-
- test_ok(a);
- test_error(a); // <<< MARKED LINE!
-
- return(0);
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb98.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb98.C
deleted file mode 100644
index cc19f0997cd..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb98.C
+++ /dev/null
@@ -1,17 +0,0 @@
-// Error: Internal compiler error in egcs 1998/05/28 snapshot.
-
-
- template<class T, unsigned int Length>
- inline
- unsigned int
- extent(T (&x)[Length])
- {
- return Length;
- }
-
- extern int b[];
-
- void f()
- {
- extent(b); // ERROR - no matching function
- }
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb99.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb99.C
deleted file mode 100644
index 4cced8b0a09..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb99.C
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class ref_counted
-{
-
-protected:
- ref_counted( void ) : _count( 0 ) {}
-
-public:
-
- unsigned int add_ref( void ) { return ++_count; }
- unsigned int release( void ) { return --_count; }
- unsigned int count( void ) const { return _count; }
-
-
-protected:
- unsigned int _count;
-};
-
-
-
-
-
-template < class T >
-class ref_ptr
-{
-
-public:
- ref_ptr( T* ptr = 0 ) : _ptr( ptr )
- {
- add_ref();
- }
-
- ref_ptr( const ref_ptr & rptr ) : _ptr( rptr.get() )
- {
- add_ref();
- }
-
- ~ref_ptr( void ) { release(); }
-
-
- T* get( void ) const { return _ptr; }
- T* operator->( void ) const { return get(); }
- T& operator*( void ) const { return *get(); }
-
- bool operator!( void ) const { return get() == 0; }
- bool operator==( const ref_ptr & rptr ) const { return *get() == *rptr;
-}
- bool operator<( const ref_ptr & rptr ) const { return *get() < *rptr; }
-
-
- bool operator==( T* ptr ) const { return *get() == *ptr; }
- bool operator<( T* ptr ) const { return *get() < *ptr; }
-
- const ref_ptr & operator=( const ref_ptr & rptr )
- {
- release();
- _ptr = rptr.get();
- add_ref();
-
- return *this;
- }
-
- T* operator=( T* ptr )
- {
- release();
- _ptr = ptr;
- add_ref();
-
- return _ptr;
- }
-
-protected:
- void add_ref( void )
- {
- if( _ptr )
- _ptr->add_ref();
- }
-
- void release( void )
- {
- if( _ptr && 0 == _ptr->release() )
- {
- delete _ptr;
- _ptr = 0;
- }
- }
-
-
-protected:
- T * _ptr;
-};
-
-
-template< class T >
-bool operator==( T* ptr, const ref_ptr< T > & rptr )
-{
- return *ptr == *rptr;
-}
-
-template< class T >
-bool operator<( T* ptr, const ref_ptr< T > & rptr )
-{
- return *ptr < *rptr;
-}
-
-
-
-class Baz : public ref_counted {
- int dummy;
-};
-
-
-class Bar;
-
-int main() {
- ref_ptr<Baz> foo;
- static_cast<Bar *> (foo)->DoSomething; //ERROR - invalid cast
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/ebnull-cast.C b/gcc/testsuite/g++.old-deja/g++.robertl/ebnull-cast.C
deleted file mode 100644
index d220e9089cf..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/ebnull-cast.C
+++ /dev/null
@@ -1,18 +0,0 @@
-class null {
- null (null const&);
- void operator& ();
-
- public:
- null () {}
-
- template <typename T>
- operator T* () const { return 0; }
-} const null;
-
-
-int main ()
-{
- int *p = static_cast<int*>(null);
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/ebnull-oldcast.C b/gcc/testsuite/g++.old-deja/g++.robertl/ebnull-oldcast.C
deleted file mode 100644
index cf6c21b6012..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/ebnull-oldcast.C
+++ /dev/null
@@ -1,17 +0,0 @@
-class null {
- null (null const&);
- void operator& ();
-
- public:
- null () {}
-
- template <typename T>
- operator T* () const { return 0; }
-} const null;
-
-int main ()
-{
- int *p = (int*) null;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/ebnull.C b/gcc/testsuite/g++.old-deja/g++.robertl/ebnull.C
deleted file mode 100644
index e6eea2d6a54..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.robertl/ebnull.C
+++ /dev/null
@@ -1,17 +0,0 @@
-class null {
- null (null const&);
- void operator& ();
-
- public:
- null () {}
-
- template <typename T>
- operator T* () const { return 0; }
-} const null;
-
-int main ()
-{
- int *p = null;
-
- return 0;
-}
diff --git a/gcc/testsuite/g++.old-deja/old-deja.exp b/gcc/testsuite/g++.old-deja/old-deja.exp
deleted file mode 100644
index 70b822abc80..00000000000
--- a/gcc/testsuite/g++.old-deja/old-deja.exp
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright (C) 1988, 90, 91, 92, 1994, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-g++@prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-
-#
-# these tests come from the original DejaGnu test suite
-# developed at Cygnus Support. If this isn't deja gnu, I
-# don't know what is...
-#
-
-# load support procs
-load_lib old-dejagnu.exp
-load_lib g++.exp
-
-
-# When a testcase doesn't have any special options, use these.
-if ![info exists DEFAULT_CXXFLAGS] {
- set DEFAULT_CXXFLAGS "-ansi -pedantic-errors"
-
-}
-
-old-dejagnu-init
-global GXX_UNDER_TEST
-
-#
-# main test loop
-#
-
-set dirlen [expr [string length "$srcdir/$subdir"] + 1];
-foreach file [lsort [find $srcdir/$subdir *.C]] {
- # If we're only testing specific files and this isn't one of them, skip it.
- set tfile [string range $file $dirlen end];
- if ![runtest_file_p $runtests $tfile] then {
- continue
- }
- verbose "Testing $file"
-
- # We don't want old-dejagnu.exp to have to know about all the global
- # variables we use. For now we tell it about CXXFLAGS and LIBS and
- # leave LDFLAGS alone.
- old-dejagnu $GXX_UNDER_TEST "$file" "$tfile" "" "$DEFAULT_CXXFLAGS" "-lstdc++"
-}
-
-# The framework doesn't like to see any error remnants,
-# so remove them.
-if [info exists errorInfo] then {
- unset errorInfo
-}
diff --git a/gcc/testsuite/g77.f-torture/compile/19990218-0.f b/gcc/testsuite/g77.f-torture/compile/19990218-0.f
deleted file mode 100644
index 3e34117ec69..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/19990218-0.f
+++ /dev/null
@@ -1,13 +0,0 @@
- program test
- double precision a,b,c
- data a,b/1.0d-46,1.0d0/
- c=fun(a,b)
- print*,'in main: fun=',c
- end
- double precision function fun(a,b)
- double precision a,b
- print*,'in sub: a,b=',a,b
- fun=a*b
- print*,'in sub: fun=',fun
- return
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/19990305-0.f b/gcc/testsuite/g77.f-torture/compile/19990305-0.f
deleted file mode 100644
index 32c656d90a6..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/19990305-0.f
+++ /dev/null
@@ -1,55 +0,0 @@
-* Date: Fri, 5 Mar 1999 00:35:44 -0500 (EST)
-* From: Denes Molnar <molnard@phys.columbia.edu>
-* To: fortran@gnu.org
-* Subject: f771 gets fatal signal 6
-* Content-Type: TEXT/PLAIN; charset=US-ASCII
-* X-UIDL: 8d81e9cbdcc96209c6e9b298d966ba7f
-*
-* Hi,
-*
-*
-* Comiling object from the source code below WORKS FINE with
-* 'g77 -o hwuci2 -c hwuci2.F'
-* but FAILS with fatal signal 6
-* 'g77 -o hwuci2 -O -c hwuci2.F'
-*
-* Any explanations?
-*
-* I am running GNU Fortran 0.5.23 with GCC 2.8.1 (glibc1).
-*
-*
-* Denes Molnar
-*
-* %%%%%%%%%%%%%%%%%%%%%%%%%
-* %the source:
-* %%%%%%%%%%%%%%%%%%%%%%%%%
-*
-CDECK ID>, HWUCI2.
-*CMZ :- -23/08/94 13.22.29 by Mike Seymour
-*-- Author : Ulrich Baur & Nigel Glover, adapted by Ian Knowles
-C-----------------------------------------------------------------------
- FUNCTION HWUCI2(A,B,Y0)
-C-----------------------------------------------------------------------
-C Integral LOG(A-EPSI-BY(1-Y))/(Y-Y0)
-C-----------------------------------------------------------------------
- IMPLICIT NONE
- DOUBLE COMPLEX HWUCI2,HWULI2,EPSI,Y1,Y2,Z1,Z2,Z3,Z4
- DOUBLE PRECISION A,B,Y0,ZERO,ONE,FOUR,HALF
- EXTERNAL HWULI2
- COMMON/SMALL/EPSI
- PARAMETER (ZERO=0.D0, ONE =1.D0, FOUR= 4.D0, HALF=0.5D0)
- IF(B.EQ.ZERO)THEN
- HWUCI2=CMPLX(ZERO,ZERO)
- ELSE
- Y1=HALF*(ONE+SQRT(ONE-FOUR*(A+EPSI)/B))
- Y2=ONE-Y1
- Z1=Y0/(Y0-Y1)
- Z2=(Y0-ONE)/(Y0-Y1)
- Z3=Y0/(Y0-Y2)
- Z4=(Y0-ONE)/(Y0-Y2)
- HWUCI2=HWULI2(Z1)-HWULI2(Z2)+HWULI2(Z3)-HWULI2(Z4)
- ENDIF
- RETURN
- END
-*
-* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/gcc/testsuite/g77.f-torture/compile/19990419-0.f b/gcc/testsuite/g77.f-torture/compile/19990419-0.f
deleted file mode 100644
index 084e7a254bf..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/19990419-0.f
+++ /dev/null
@@ -1,7 +0,0 @@
-* Test case Toon submitted, cut down to expose the one bug.
-* Belongs in compile/.
- SUBROUTINE INIERS1
- IMPLICIT LOGICAL(L)
- COMMON/COMIOD/ NHIERS1, LERS1
- inquire(nhiers1, exist=lers1)
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/19990502-0.f b/gcc/testsuite/g77.f-torture/compile/19990502-0.f
deleted file mode 100644
index 3c5cdc6ee61..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/19990502-0.f
+++ /dev/null
@@ -1,351 +0,0 @@
- SUBROUTINE TRF2F2(QDERIV,QPRINT,
- @ XRH,XRK,XRL,FCALC,FOBS,FPART,WEIGHT,TEST,FOM,
- @ ITEST)
-C
-C Computes the standard linear correlation coefficient between
-C F(obs)^2 and F(calc)^2 or between |F(obs)| and |F(calc)|
-C
-C Author: Axel T. Brunger
-C =======================
- IMPLICIT NONE
-C I/O
-C*
-C* BEGINNING OF INCLUDE FILE: xrefin.fcm
-C*
-C
-C XREFIN.FCM
-C
-C data structure for XREFIN.FLX
-C crystallographic restraints
-C
-C update flags
- LOGICAL XRQCHK, XRUPAT, XRREUP
-C
-C method flag
- LOGICAL QFFT, QLOOK
-C target function string
- CHARACTER*4 XRTRGT
-C
-C tolerance for linear approximation
- DOUBLE PRECISION XRLTOL
-C
-C x-ray diffraction data
-C XRMREF: max. allocation for reflections
-C XRNREF: current number of reflections
-C XRIREF: number of reflections within limits (resolution, f_window...)
-C XRNPHA: number of phase specifications
-C XRH, XRK, XRL: reflection indices
-C FOBS: observed structure factor
-C FOM: figure of merit for observed phases (zero if not used)
-C WEIGHT: individual weight
-C FCALC: calculated structure factor
-C FPART: partial structure factor to be added to FCALC
-C TEST: integer array for cross-validation tests
- INTEGER XRMREF, XRNREF, XRIREF, XRNPHA
- INTEGER HPH, HPK, HPL, HPFOBS, HPFCAL, HPFPAR, HPFOM
- INTEGER HPWEIG, HPTEST, HPSIGM
-C scattering tables
- INTEGER XRSM, XRSN
- PARAMETER (XRSM=20)
- DOUBLE PRECISION XRSA(XRSM,4), XRSB(XRSM,4), XRSC(XRSM)
- DOUBLE PRECISION XRF(XRSM), XRSI(XRSM)
-C unit cell
- DOUBLE PRECISION XRCELL(9), XRTR(3,3), XRINTR(3,3), XRVOL
-C symmetry operators
- INTEGER XRNSYM, XRMSYM, XRSYTH
- PARAMETER (XRMSYM=192, XRSYTH=24)
- INTEGER XRSYMM(XRMSYM,3,4), XRITSY(XRMSYM,3,3)
- LOGICAL QHERM
-C reciprocal resolution limits
- DOUBLE PRECISION XRHIGH, XRLOW
-C fobs limits
- DOUBLE PRECISION XRFLOW, XRFHIG
-C XREFIN atom lists
- INTEGER XRMATO, XRNATO, XRNATF, HPFLAG, HPATOM, HPINDX
- INTEGER HPATOF, HPINDF, HPFX, HPFY, HPFZ, HPFB, HPFQ, HPFQS
- INTEGER HPDX, HPDY, HPDZ, HPDT, HPDQ
-C scale factor
- DOUBLE PRECISION XRSCAL
-C phase potential scale factor and exponent
- DOUBLE PRECISION XRPSCA
- INTEGER XRPEXP
-C Fobs/Fcalc scale factor
- DOUBLE PRECISION XRFFK
- LOGICAL XRFFKQ
-C unscaled restraint energies
- DOUBLE PRECISION XRE, XREPHA
-C number of bins for R factor analysis
- INTEGER MBINS
-C logical flag indicating the presence of TEST sets (for
-C cross-validation)
- LOGICAL XCVTEST
-C
-C double precision common block
-C
- COMMON /XREFI/ XRLTOL,
- @ XRSA, XRSB, XRSC, XRF, XRSI,
- @ XRCELL, XRTR, XRINTR, XRHIGH, XRLOW,
- @ XRSCAL, XRPSCA,
- @ XRFFK, XRE, XREPHA,
- @ XRFLOW, XRFHIG, XRVOL
-C
-C integer common block
-C
- COMMON /IXREFI/
- @ XRMREF, XRNREF, XRIREF, XRNPHA, HPH, HPK, HPL,
- @ HPFOBS, HPFCAL, HPFPAR, HPFOM, HPWEIG, HPTEST,
- @ HPSIGM, XRSN, HPFLAG,
- @ XRMATO, XRNATO, HPATOM, HPINDX, XRNATF, HPATOF,
- @ HPINDF, HPFX, HPFY, HPFZ, HPFB, HPFQ, HPFQS,
- @ HPDX, HPDY, HPDZ, HPDT, HPDQ,
- @ XRPEXP,
- @ XRNSYM, XRSYMM, MBINS, XRITSY
-C
-C logical common block
-C
- COMMON /LXREFI/ XRQCHK, XRUPAT, XRFFKQ,
- @ QFFT, QLOOK, XRREUP, QHERM, XCVTEST
-C
-C character string common block
-C
- COMMON /CXREFI/ XRTRGT
-C
- SAVE /XREFI/
- SAVE /IXREFI/
- SAVE /LXREFI/
- SAVE /CXREFI/
-C*
-C* BEGINNING OF INCLUDE FILE: consta.fcm
-C*
-C CONSTA.FCM
-C
-C this file contains all physical and mathematical constants
-C and conversion factors.
-C
-C at present the following units are used:
-C
-C length: Angstroms
-C time: ps
-C energy: Kcal/mol
-C mass: atomic-mass-unit
-C charge: electron-charge
-C
-C
- DOUBLE PRECISION RSMALL
- PARAMETER (RSMALL=1.0D-10)
- DOUBLE PRECISION R4SMAL,R4BIG
- PARAMETER (R4SMAL=0.0001D0,R4BIG=1.0D+10)
-C
-C physical constants in SI units
-C ------------------------------
-C Kb = 1.380662 E-23 J/K
-C Na = 6.022045 E23 1/mol
-C e = 1.6021892 E-19 C
-C eps = 8.85418782 E-12 F/m
-C
-C 1 Kcal = 4184.0 J
-C 1 amu = 1.6605655 E-27 Kg
-C 1 A = 1.0 E-10 m
-C
-C reference: CRC Handbook for Chemistry and Physics, 1983/84
-C
-C
- DOUBLE PRECISION PI
- PARAMETER(PI=3.1415926535898D0)
-C
-C TIMFAC is the conversion factor from AKMA time to picoseconds.
-C (TIMFAC = SQRT ( ( 1A )**2 * 1amu * Na / 1Kcal )
-C this factor is used only intrinsically, all I/O is in ps.
-C
- DOUBLE PRECISION TIMFAC
- PARAMETER (TIMFAC=0.04888821D0)
-C
-C KBOLTZ is Boltzman constant AKMA units (KBOLTZ = N *K / 1 Kcal)
-C a b
- DOUBLE PRECISION KBOLTZ
- PARAMETER (KBOLTZ=1.987191D-03)
-C
-C CCELEC is 1/ (4 pi eps ) in AKMA units, conversion from SI
-C units: CCELEC = e*e*Na / (4*pi*eps*1Kcal*1A)
-C
- DOUBLE PRECISION CCELEC
- PARAMETER (CCELEC=332.0636D0)
-C
-C CDEBHU is used in the Debye-Hueckel approximation:
-C DIV GRAD phi = kappa**2 phi
-C kappa**2 = CDEBHU * ionic_strength [M] / ( T [K] eps )
-C ext
-C where CDEBHU is defined as CDEBHU=2E+3 Na e**2 / (eps0 Kb )
-C (in SI units, ref: Gordon M.Barrow, Physical Chemistry,
-C McGraw Hill (1979) ) and ionic_strength is given in molar units.
-C The conversion to AKMA units brings another factor 1.0E-20.
-C
- DOUBLE PRECISION CDEBHU
- PARAMETER (CDEBHU=2529.09702D0)
- LOGICAL QDERIV, QPRINT
- INTEGER XRH(*), XRK(*), XRL(*)
- DOUBLE COMPLEX FCALC(*), FOBS(*), FPART(*)
- DOUBLE PRECISION WEIGHT(*)
- INTEGER TEST(*)
- DOUBLE PRECISION FOM(*)
- INTEGER ITEST
-C local
- INTEGER REFLCT
- DOUBLE PRECISION CI, CJ, CII, CJJ, CIJ, IFCALC, IFOBS
- DOUBLE PRECISION WSUM, DSUM, CSUM, DERIV, CORR
- CHARACTER*30 LINE
- INTEGER LLINE
- DOUBLE COMPLEX DBCOMP
-C parameters
- DOUBLE PRECISION ZERO, ONE, TWO, THREE, FOUR
- PARAMETER (ZERO=0.0D0, ONE=1.0D0, TWO=2.0D0, THREE=3.0D0)
- PARAMETER (FOUR=4.0D0)
-C begin
-C
-C initialize correlation coefficients
- WSUM=ZERO
- CI=ZERO
- CJ=ZERO
- CII=ZERO
- CJJ=ZERO
- CIJ=ZERO
- IF (XRTRGT.EQ.'F2F2') THEN
- DO 17790 REFLCT=1,XRIREF
- IF (TEST(REFLCT).EQ.ITEST) THEN
-C
-C compute F^2's
- IFOBS=DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2
- IFCALC=DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
- @ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2
-C
-C accumulate information for weighted correlation coefficients
- WSUM=WSUM+WEIGHT(REFLCT)
- CI=CI+WEIGHT(REFLCT)*IFOBS
- CJ=CJ+WEIGHT(REFLCT)*IFCALC
- CII=CII+WEIGHT(REFLCT)*IFOBS**2
- CJJ=CJJ+WEIGHT(REFLCT)*IFCALC**2
- CIJ=CIJ+WEIGHT(REFLCT)*IFOBS*IFCALC
- END IF
-17790 CONTINUE
- ELSE
- DO 17791 REFLCT=1,XRIREF
- IF (TEST(REFLCT).EQ.ITEST) THEN
-C
-C compute |F|'s
- IFOBS=SQRT(DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2)
- IFCALC=SQRT(DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
- @ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2)
-C
-C accumulate information for weighted correlation coefficients
- WSUM=WSUM+WEIGHT(REFLCT)
- CI=CI+WEIGHT(REFLCT)*IFOBS
- CJ=CJ+WEIGHT(REFLCT)*IFCALC
- CII=CII+WEIGHT(REFLCT)*IFOBS**2
- CJJ=CJJ+WEIGHT(REFLCT)*IFCALC**2
- CIJ=CIJ+WEIGHT(REFLCT)*IFOBS*IFCALC
- END IF
-17791 CONTINUE
- END IF
-C
-C do some checking
- IF (ABS(CI).LT.RSMALL) THEN
- WRITE(6,'(A,I3,A)')
- @ ' %TRF2F2-error: sum over WEIGHT*FOBS is zero (for TEST=',
- @ ITEST,')'
- ELSE IF (ABS(CJ).LT.RSMALL) THEN
- WRITE(6,'(A,I3,A)')
- @' %TRF2F2-error: sum over WEIGHT*(FCALC+FPART) is 0 (for TEST=',
- @ ITEST,')'
- ELSE
-C
-C compute weighted correlation coefficient
- DSUM=(CII-CI**2/WSUM)*(CJJ-CJ**2/WSUM)
- CSUM=CIJ - CI*CJ/WSUM
- IF (DSUM.GT.RSMALL) THEN
- DSUM=SQRT(DSUM)
- CORR=CSUM/DSUM
- ELSE
- CORR=ZERO
- END IF
-C
-C store in energy term
- XRE=XRSCAL*(ONE-CORR)
-C
-C compute derivatives if required
- IF (QDERIV) THEN
-C
-C compute derivatives for F's
- IF (XRTRGT.EQ.'F2F2') THEN
- DO 17792 REFLCT=1,XRIREF
- IF (TEST(REFLCT).EQ.ITEST) THEN
-C
-C compute amplitudes
- IFOBS=DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2
- IFCALC=DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
- @ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2
-C
-C compute derivative with respect to FCALC(H)
- IF (DSUM.GT.RSMALL) THEN
- DERIV=-TWO*XRSCAL*WEIGHT(REFLCT)*( (IFOBS-CI/WSUM)/DSUM -
- @ (CORR/DSUM**2)*(CII-CI**2/WSUM)*(IFCALC-CJ/WSUM) )
- ELSE
- DERIV=ZERO
- END IF
- FCALC(REFLCT)=(FCALC(REFLCT)+FPART(REFLCT))*DERIV
- ELSE
- FCALC(REFLCT)=ZERO
- END IF
-17792 CONTINUE
- ELSE
- DO 17793 REFLCT=1,XRIREF
- IF (TEST(REFLCT).EQ.ITEST) THEN
-C
-C compute amplitudes
- IFOBS=SQRT(DREAL(FOBS(REFLCT))**2+DIMAG(FOBS(REFLCT))**2)
- IFCALC=SQRT(DREAL(FCALC(REFLCT)+FPART(REFLCT))**2
- @ +DIMAG(FCALC(REFLCT)+FPART(REFLCT))**2)
-C
-C compute derivative with respect to |FCALC|(H)
- IF (DSUM.GT.RSMALL.AND.IFCALC.GT.RSMALL) THEN
- DERIV=-XRSCAL*WEIGHT(REFLCT)*( (IFOBS-CI/WSUM)/DSUM -
- @ (CORR/DSUM**2)*(CII-CI**2/WSUM)*(IFCALC-CJ/WSUM) ) /
- @ IFCALC
- ELSE
- DERIV=ZERO
- END IF
- FCALC(REFLCT)=(FCALC(REFLCT)+FPART(REFLCT))*DERIV
- ELSE
- FCALC(REFLCT)=ZERO
- END IF
-17793 CONTINUE
- END IF
- END IF
-C
- IF (QPRINT) THEN
- IF (XCVTEST.AND.ITEST.EQ.0) THEN
- CALL DECLAR( 'CORR', 'DP', ' ', DBCOMP, CORR )
- LINE=' ->[WORKING SET (TEST=0)]'
- LLINE=25
- ELSEIF (XCVTEST.AND.ITEST.EQ.1) THEN
- CALL DECLAR( 'TEST_CORR', 'DP', ' ', DBCOMP, CORR )
- LINE=' ->[TEST SET (TEST=1)] '
- LLINE=22
- ELSE
- CALL DECLAR( 'CORR', 'DP', ' ', DBCOMP, CORR )
- LINE=' '
- LLINE=1
- END IF
- IF (XRTRGT.EQ.'F2F2') THEN
- WRITE(6,'(3A,F12.3)')
- @ ' TRF2F2:',LINE(1:LLINE),
- @ ' Corr<F(obs)^2, F(calc)^2> =',CORR
- ELSE
- WRITE(6,'(3A,F12.3)')
- @ ' TRF2F2:',LINE(1:LLINE),
- @ ' Corr<|F(obs)|, |F(calc)|> =',CORR
- END IF
- END IF
-C
- END IF
- RETURN
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/19990502-1.f b/gcc/testsuite/g77.f-torture/compile/19990502-1.f
deleted file mode 100644
index b7238fcd881..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/19990502-1.f
+++ /dev/null
@@ -1,6 +0,0 @@
- SUBROUTINE G(IGAMS,IWRK,NADC,NCellsInY)
- INTEGER*2 IGAMS(2,NADC)
- in = 1
- do while (in.le.nadc.and.IGAMS(2,in).le.in)
- enddo
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/960317-1.f b/gcc/testsuite/g77.f-torture/compile/960317-1.f
deleted file mode 100644
index 4bb0a37278e..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/960317-1.f
+++ /dev/null
@@ -1,103 +0,0 @@
-* Date: Sat, 16 Mar 1996 19:58:37 -0500 (EST)
-* From: Kate Hedstrom <kate@ahab.Rutgers.EDU>
-* To: burley@gnu.ai.mit.edu
-* Subject: g77 bug in assign
-*
-* I found some files in the NCAR graphics source code which used to
-* compile with g77 and now don't. All contain the following combination
-* of "save" and "assign". It fails on a Sun running SunOS 4.1.3 and a
-* Sun running SunOS 5.5 (slightly older g77), but compiles on an
-* IBM/RS6000:
-*
-C
- SUBROUTINE QUICK
- SAVE
-C
- ASSIGN 101 TO JUMP
- 101 Continue
-C
- RETURN
- END
-*
-* Everything else in the NCAR distribution compiled, including quite a
-* few C routines.
-*
-* Kate
-*
-*
-* nemo% g77 -v -c quick.f
-* gcc -v -c -xf77 quick.f
-* Reading specs from /usr/local/lib/gcc-lib/sparc-sun-sunos4.1.3/2.7.2/specs
-* gcc version 2.7.2
-* /usr/local/lib/gcc-lib/sparc-sun-sunos4.1.3/2.7.2/f771 quick.f -fset-g77-defaults -quiet -dumpbase quick.f -version -fversion -o /usr/tmp/cca24166.s
-* GNU F77 version 2.7.2 (sparc) compiled by GNU C version 2.7.1.
-* GNU Fortran Front End version 0.5.18-960314 compiled: Mar 16 1996 14:28:11
-* gcc: Internal compiler error: program f771 got fatal signal 11
-*
-*
-* nemo% gdb /usr/local/lib/gcc-lib/*/*/f771 core
-* GDB is free software and you are welcome to distribute copies of it
-* under certain conditions; type "show copying" to see the conditions.
-* There is absolutely no warranty for GDB; type "show warranty" for details.
-* GDB 4.14 (sparc-sun-sunos4.1.3),
-* Copyright 1995 Free Software Foundation, Inc...
-* Core was generated by `f771'.
-* Program terminated with signal 11, Segmentation fault.
-* Couldn't read input and local registers from core file
-* find_solib: Can't read pathname for load map: I/O error
-*
-* Couldn't read input and local registers from core file
-* #0 0x21aa4 in ffecom_sym_transform_assign_ (s=???) at f/com.c:7881
-* 7881 if ((ffesymbol_save (s) || ffe_is_saveall ())
-* (gdb) where
-* #0 0x21aa4 in ffecom_sym_transform_assign_ (s=???) at f/com.c:7881
-* Error accessing memory address 0xefffefcc: Invalid argument.
-* (gdb)
-*
-*
-* ahab% g77 -v -c quick.f
-* gcc -v -c -xf77 quick.f
-* Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/specs
-* gcc version 2.7.2
-* /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/f771 quick.f -quiet -dumpbase quick.f -version -fversion -o /var/tmp/cca003D2.s
-* GNU F77 version 2.7.2 (sparc) compiled by GNU C version 2.7.2.
-* GNU Fortran Front End version 0.5.18-960304 compiled: Mar 5 1996 16:12:46
-* gcc: Internal compiler error: program f771 got fatal signal 11
-*
-*
-* ahab% !gdb
-* gdb /usr/local/lib/gcc-lib/*/*/f771 core
-* GDB is free software and you are welcome to distribute copies of it
-* under certain conditions; type "show copying" to see the conditions.
-* There is absolutely no warranty for GDB; type "show warranty" for details.
-* GDB 4.15.1 (sparc-sun-solaris2.4),
-* Copyright 1995 Free Software Foundation, Inc...
-* Core was generated by
-* `/usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/f771 quick.f -quiet -dumpbase'.
-* Program terminated with signal 11, Segmentation fault.
-* Reading symbols from /usr/lib/libc.so.1...done.
-* Reading symbols from /usr/lib/libdl.so.1...done.
-* #0 0x43e04 in ffecom_sym_transform_assign_ (s=0x3a22f8) at f/com.c:7963
-* Source file is more recent than executable.
-* 7963 assert (st != NULL);
-* (gdb) where
-* #0 0x43e04 in ffecom_sym_transform_assign_ (s=0x3a22f8) at f/com.c:7963
-* #1 0x38044 in ffecom_expr_ (expr=0x3a23c0, dest_tree=0x0, dest=0x0, dest_used=0x0, assignp=true) at f/com.c:2100
-* #2 0x489c8 in ffecom_expr_assign_w (expr=0x3a23c0) at f/com.c:10238
-* #3 0xe9228 in ffeste_R838 (label=0x3a1ba8, target=0x3a23c0) at f/ste.c:2769
-* #4 0xdae60 in ffestd_stmt_pass_ () at f/std.c:840
-* #5 0xdc090 in ffestd_exec_end () at f/std.c:1405
-* #6 0xcb534 in ffestc_shriek_subroutine_ (ok=true) at f/stc.c:4849
-* #7 0xd8f00 in ffestc_R1225 (name=0x0) at f/stc.c:12307
-* #8 0xcc808 in ffestc_end () at f/stc.c:5572
-* #9 0x9fa84 in ffestb_end3_ (t=0x3a19c8) at f/stb.c:3216
-* #10 0x9f30c in ffestb_end (t=0x3a19c8) at f/stb.c:2995
-* #11 0x98414 in ffesta_save_ (t=0x3a19c8) at f/sta.c:453
-* #12 0x997ec in ffesta_second_ (t=0x3a19c8) at f/sta.c:1178
-* #13 0x8ed84 in ffelex_send_token_ () at f/lex.c:1614
-* #14 0x8cab8 in ffelex_finish_statement_ () at f/lex.c:946
-* #15 0x91684 in ffelex_file_fixed (wf=0x397780, f=0x37a560) at f/lex.c:2946
-* #16 0x107a94 in ffe_file (wf=0x397780, f=0x37a560) at f/top.c:456
-* #17 0x96218 in yyparse () at f/parse.c:77
-* #18 0x10beac in compile_file (name=0xdffffaf7 "quick.f") at toplev.c:2239
-* #19 0x110dc0 in main (argc=9, argv=0xdffff994, envp=0xdffff9bc) at toplev.c:3927
diff --git a/gcc/testsuite/g77.f-torture/compile/970125-0.f b/gcc/testsuite/g77.f-torture/compile/970125-0.f
deleted file mode 100644
index 004f5584f3e..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/970125-0.f
+++ /dev/null
@@ -1,40 +0,0 @@
-C JCB comments:
-C g77 doesn't accept the added line "integer(kind=7) ..." --
-C it crashes!
-C
-C It's questionable that g77 DTRT with regarding to passing
-C %LOC() as an argument (thus by reference) and the new global
-C analysis. I need to look into that further; my feeling is that
-C passing %LOC() as an argument should be treated like passing an
-C INTEGER(KIND=7) by reference, and no more specially than that
-C (and that INTEGER(KIND=7) should be permitted as equivalent to
-C INTEGER(KIND=1), INTEGER(KIND=2), or whatever, depending on the
-C system's pointer size).
-C
-C The back end *still* has a bug here, which should be fixed,
-C because, currently, what g77 is passing to it is, IMO, correct.
-
-C No options:
-C ../../egcs/gcc/f/info.c:259: failed assertion `ffeinfo_types_[basictype][kindtype] != NULL'
-C -fno-globals -O:
-C ../../egcs/gcc/expr.c:7291: Internal compiler error in function expand_expr
-
-c Frontend bug fixed by JCB 1998-06-01 com.c &c changes.
-
- integer*4 i4
- integer*8 i8
- integer*8 max4
- data max4/2147483647/
- i4 = %loc(i4)
- i8 = %loc(i8)
- print *, max4
- print *, i4, %loc(i4)
- print *, i8, %loc(i8)
- call foo(i4, %loc(i4), i8, %loc(i8))
- end
- subroutine foo(i4, i4a, i8, i8a)
- integer(kind=7) i4a, i8a
- integer*8 i8
- print *, i4, i4a
- print *, i8, i8a
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/970915-0.f b/gcc/testsuite/g77.f-torture/compile/970915-0.f
deleted file mode 100644
index 9ac3cf8aa97..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/970915-0.f
+++ /dev/null
@@ -1,20 +0,0 @@
-* fixed by patch to safe_from_p to avoid visiting any SAVE_EXPR
-* node twice in a given top-level call to it.
-* (JCB com.c patch of 1998-06-04.)
-
- SUBROUTINE TSTSIG11
- IMPLICIT COMPLEX (A-Z)
- EXTERNAL gzi1,gzi2
- branch3 = sw2 / cw
- . * ( rdw * (epsh*gzi1(A,B)-gzi2(A,B))
- . + rdw * (epsh*gzi1(A,B)-gzi2(A,B)) )
- . + (-1./2. + 2.*sw2/3.) / (sw*cw)
- . * rdw * (epsh*gzi1(A,B)-gzi2(A,B)
- . + rdw * (epsh*gzi1(A,B)-gzi2(A,B))
- . + rdw * (epsh*gzi1(A,B)-gzi2(A,B)) )
- . * rup * (epsh*gzi1(A,B)-gzi2(A,B)
- . + rup * (epsh*gzi1(A,B)-gzi2(A,B)) )
- . * 4.*(3.-tw**2) * gzi2(A,B)
- . + ((1.+2./tauw)*tw**2-(5.+2./tauw))* gzi1(A,B)
- RETURN
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/980310-1.f b/gcc/testsuite/g77.f-torture/compile/980310-1.f
deleted file mode 100644
index bc8aa85c14a..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980310-1.f
+++ /dev/null
@@ -1,28 +0,0 @@
-C Causes internal compiler error on egcs 1.0.1 on i586-pc-sco3.2v5.0.4
-C To: egcs-bugs@cygnus.com
-C Subject: backend case range problem/fix
-C From: Dave Love <d.love@dl.ac.uk>
-C Date: 02 Dec 1997 18:11:35 +0000
-C Message-ID: <rzqpvnfboo8.fsf@djlvig.dl.ac.uk>
-C
-C The following Fortran test case aborts the compiler because
-C tree_int_cst_lt dereferences a null tree; this is a regression from
-C gcc 2.7.
-
- INTEGER N
- READ(*,*) N
- SELECT CASE (N)
- CASE (1:)
- WRITE(*,*) 'case 1'
- CASE (0)
- WRITE(*,*) 'case 0'
- END SELECT
- END
-
-C The relevant change to cure this is:
-C
-C Thu Dec 4 06:34:40 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-C
-C * stmt.c (pushcase_range): Clean up handling of "infinite" values.
-C
-
diff --git a/gcc/testsuite/g77.f-torture/compile/980310-2.f b/gcc/testsuite/g77.f-torture/compile/980310-2.f
deleted file mode 100644
index 5077c552da8..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980310-2.f
+++ /dev/null
@@ -1,43 +0,0 @@
-C unable to confirm this bug on egcs 1.0.1 for i586-pc-sco3.2v5.0.4 robertl
-C
-C Date: Sat, 23 Aug 1997 00:47:53 -0400 (EDT)
-C From: David Bristow <dbristow@lynx.dac.neu.edu>
-C To: egcs-bugs@cygnus.com
-C Subject: g77 crashes compiling Dungeon
-C Message-ID: <Pine.OSF.3.91.970823003521.11281A-100000@lynx.dac.neu.edu>
-C
-C The following small segment of Dungeon (the adventure that became the
-C commercial hit Zork) causes an internal error in f771. The platform is
-C i586-pc-linux-gnulibc1, the compiler is egcs-ss-970821 (g77-GNU Fortran
-C 0.5.21-19970811)
-C
-C --cut here--cut here--cut here--cut here--cut here--cut here--
-C g77 --verbose -fugly -fvxt -c subr_.f
-C g77 version 0.5.21-19970811
-C gcc --verbose -fugly -fvxt -xf77 subr_.f -xnone -lf2c -lm
-C Reading specs from /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.01/specs
-C gcc version egcs-2.90.01 970821 (gcc2-970802 experimental)
-C /usr/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.01/f771 subr_.f -fset-g77-defaults -quiet -dumpbase subr_.f -version -fversion -fugly -fvxt -o /tmp/cca23974.s
-C f771: warning: -fugly is overloaded with meanings and likely to be removed;
-C f771: warning: use only the specific -fugly-* options you need
-C GNU F77 version egcs-2.90.01 970821 (gcc2-970802 experimental) (i586-pc-linux-gnulibc1) compiled by GNU C version egcs-2.90.01 970821 (gcc2-970802 experimental).
-C GNU Fortran Front End version 0.5.21-19970811
-C f/com.c:941: failed assertion `TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (e))'
-C gcc: Internal compiler error: program f771 got fatal signal 6
-C --cut here--cut here--cut here--cut here--cut here--cut here--
-C
-C Here's the FORTRAN code, it's basically a single subroutine from subr.f
-C in the Dungeon source, slightly altered (the original calls RAN(), which
-C doesn't exist in the g77 runtime)
-C
-C RND - Return a random integer mod n
-C
- INTEGER FUNCTION RND (N)
- IMPLICIT INTEGER (A-Z)
- REAL RAND
- COMMON /SEED/ RNSEED
-
- RND = RAND(RNSEED)*FLOAT(N)
- RETURN
-
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/980310-3.f b/gcc/testsuite/g77.f-torture/compile/980310-3.f
deleted file mode 100644
index ddfb4c4bb9f..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980310-3.f
+++ /dev/null
@@ -1,259 +0,0 @@
-c
-c This demonstrates a problem with g77 and pic on x86 where
-c egcs 1.0.1 and earlier will generate bogus assembler output.
-c unfortunately, gas accepts the bogus acssembler output and
-c generates code that almost works.
-c
-
-
-C Date: Wed, 17 Dec 1997 23:20:29 +0000
-C From: Joao Cardoso <jcardoso@inescn.pt>
-C To: egcs-bugs@cygnus.com
-C Subject: egcs-1.0 f77 bug on OSR5
-C When trying to compile the Fortran file that I enclose bellow,
-C I got an assembler error:
-C
-C ./g77 -B./ -fpic -O -c scaleg.f
-C /usr/tmp/cca002D8.s:123:syntax error at (
-C
-C ./g77 -B./ -fpic -O0 -c scaleg.f
-C /usr/tmp/cca002EW.s:246:invalid operand combination: leal
-C
-C Compiling without the -fpic flag runs OK.
-
- subroutine scaleg (n,ma,a,mb,b,low,igh,cscale,cperm,wk)
-c
-c *****parameters:
- integer igh,low,ma,mb,n
- double precision a(ma,n),b(mb,n),cperm(n),cscale(n),wk(n,6)
-c
-c *****local variables:
- integer i,ir,it,j,jc,kount,nr,nrp2
- double precision alpha,basl,beta,cmax,coef,coef2,coef5,cor,
- * ew,ewc,fi,fj,gamma,pgamma,sum,t,ta,tb,tc
-c
-c *****fortran functions:
- double precision dabs, dlog10, dsign
-c float
-c
-c *****subroutines called:
-c none
-c
-c ---------------------------------------------------------------
-c
-c *****purpose:
-c scales the matrices a and b in the generalized eigenvalue
-c problem a*x = (lambda)*b*x such that the magnitudes of the
-c elements of the submatrices of a and b (as specified by low
-c and igh) are close to unity in the least squares sense.
-c ref.: ward, r. c., balancing the generalized eigenvalue
-c problem, siam j. sci. stat. comput., vol. 2, no. 2, june 1981,
-c 141-152.
-c
-c *****parameter description:
-c
-c on input:
-c
-c ma,mb integer
-c row dimensions of the arrays containing matrices
-c a and b respectively, as declared in the main calling
-c program dimension statement;
-c
-c n integer
-c order of the matrices a and b;
-c
-c a real(ma,n)
-c contains the a matrix of the generalized eigenproblem
-c defined above;
-c
-c b real(mb,n)
-c contains the b matrix of the generalized eigenproblem
-c defined above;
-c
-c low integer
-c specifies the beginning -1 for the rows and
-c columns of a and b to be scaled;
-c
-c igh integer
-c specifies the ending -1 for the rows and columns
-c of a and b to be scaled;
-c
-c cperm real(n)
-c work array. only locations low through igh are
-c referenced and altered by this subroutine;
-c
-c wk real(n,6)
-c work array that must contain at least 6*n locations.
-c only locations low through igh, n+low through n+igh,
-c ..., 5*n+low through 5*n+igh are referenced and
-c altered by this subroutine.
-c
-c on output:
-c
-c a,b contain the scaled a and b matrices;
-c
-c cscale real(n)
-c contains in its low through igh locations the integer
-c exponents of 2 used for the column scaling factors.
-c the other locations are not referenced;
-c
-c wk contains in its low through igh locations the integer
-c exponents of 2 used for the row scaling factors.
-c
-c *****algorithm notes:
-c none.
-c
-c *****history:
-c written by r. c. ward.......
-c modified 8/86 by bobby bodenheimer so that if
-c sum = 0 (corresponding to the case where the matrix
-c doesn't need to be scaled) the routine returns.
-c
-c ---------------------------------------------------------------
-c
- if (low .eq. igh) go to 410
- do 210 i = low,igh
- wk(i,1) = 0.0d0
- wk(i,2) = 0.0d0
- wk(i,3) = 0.0d0
- wk(i,4) = 0.0d0
- wk(i,5) = 0.0d0
- wk(i,6) = 0.0d0
- cscale(i) = 0.0d0
- cperm(i) = 0.0d0
- 210 continue
-c
-c compute right side vector in resulting linear equations
-c
- basl = dlog10(2.0d0)
- do 240 i = low,igh
- do 240 j = low,igh
- tb = b(i,j)
- ta = a(i,j)
- if (ta .eq. 0.0d0) go to 220
- ta = dlog10(dabs(ta)) / basl
- 220 continue
- if (tb .eq. 0.0d0) go to 230
- tb = dlog10(dabs(tb)) / basl
- 230 continue
- wk(i,5) = wk(i,5) - ta - tb
- wk(j,6) = wk(j,6) - ta - tb
- 240 continue
- nr = igh-low+1
- coef = 1.0d0/float(2*nr)
- coef2 = coef*coef
- coef5 = 0.5d0*coef2
- nrp2 = nr+2
- beta = 0.0d0
- it = 1
-c
-c start generalized conjugate gradient iteration
-c
- 250 continue
- ew = 0.0d0
- ewc = 0.0d0
- gamma = 0.0d0
- do 260 i = low,igh
- gamma = gamma + wk(i,5)*wk(i,5) + wk(i,6)*wk(i,6)
- ew = ew + wk(i,5)
- ewc = ewc + wk(i,6)
- 260 continue
- gamma = coef*gamma - coef2*(ew**2 + ewc**2)
- + - coef5*(ew - ewc)**2
- if (it .ne. 1) beta = gamma / pgamma
- t = coef5*(ewc - 3.0d0*ew)
- tc = coef5*(ew - 3.0d0*ewc)
- do 270 i = low,igh
- wk(i,2) = beta*wk(i,2) + coef*wk(i,5) + t
- cperm(i) = beta*cperm(i) + coef*wk(i,6) + tc
- 270 continue
-c
-c apply matrix to vector
-c
- do 300 i = low,igh
- kount = 0
- sum = 0.0d0
- do 290 j = low,igh
- if (a(i,j) .eq. 0.0d0) go to 280
- kount = kount+1
- sum = sum + cperm(j)
- 280 continue
- if (b(i,j) .eq. 0.0d0) go to 290
- kount = kount+1
- sum = sum + cperm(j)
- 290 continue
- wk(i,3) = float(kount)*wk(i,2) + sum
- 300 continue
- do 330 j = low,igh
- kount = 0
- sum = 0.0d0
- do 320 i = low,igh
- if (a(i,j) .eq. 0.0d0) go to 310
- kount = kount+1
- sum = sum + wk(i,2)
- 310 continue
- if (b(i,j) .eq. 0.0d0) go to 320
- kount = kount+1
- sum = sum + wk(i,2)
- 320 continue
- wk(j,4) = float(kount)*cperm(j) + sum
- 330 continue
- sum = 0.0d0
- do 340 i = low,igh
- sum = sum + wk(i,2)*wk(i,3) + cperm(i)*wk(i,4)
- 340 continue
- if(sum.eq.0.0d0) return
- alpha = gamma / sum
-c
-c determine correction to current iterate
-c
- cmax = 0.0d0
- do 350 i = low,igh
- cor = alpha * wk(i,2)
- if (dabs(cor) .gt. cmax) cmax = dabs(cor)
- wk(i,1) = wk(i,1) + cor
- cor = alpha * cperm(i)
- if (dabs(cor) .gt. cmax) cmax = dabs(cor)
- cscale(i) = cscale(i) + cor
- 350 continue
- if (cmax .lt. 0.5d0) go to 370
- do 360 i = low,igh
- wk(i,5) = wk(i,5) - alpha*wk(i,3)
- wk(i,6) = wk(i,6) - alpha*wk(i,4)
- 360 continue
- pgamma = gamma
- it = it+1
- if (it .le. nrp2) go to 250
-c
-c end generalized conjugate gradient iteration
-c
- 370 continue
- do 380 i = low,igh
- ir = wk(i,1) + dsign(0.5d0,wk(i,1))
- wk(i,1) = ir
- jc = cscale(i) + dsign(0.5d0,cscale(i))
- cscale(i) = jc
- 380 continue
-c
-c scale a and b
-c
- do 400 i = 1,igh
- ir = wk(i,1)
- fi = 2.0d0**ir
- if (i .lt. low) fi = 1.0d0
- do 400 j =low,n
- jc = cscale(j)
- fj = 2.0d0**jc
- if (j .le. igh) go to 390
- if (i .lt. low) go to 400
- fj = 1.0d0
- 390 continue
- a(i,j) = a(i,j)*fi*fj
- b(i,j) = b(i,j)*fi*fj
- 400 continue
- 410 continue
- return
-c
-c last line of scaleg
-c
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/980310-4.f b/gcc/testsuite/g77.f-torture/compile/980310-4.f
deleted file mode 100644
index b169845e634..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980310-4.f
+++ /dev/null
@@ -1,348 +0,0 @@
-
-C To: egcs-bugs@cygnus.com
-C Subject: -fPIC problem showing up with fortran on x86
-C From: Dave Love <d.love@dl.ac.uk>
-C Date: 19 Dec 1997 19:31:41 +0000
-C
-C
-C This illustrates a long-standing problem noted at the end of the g77
-C `Actual Bugs' info node and thought to be in the back end. Although
-C the report is against gcc 2.7 I can reproduce it (specifically on
-C redhat 4.2) with the 971216 egcs snapshot.
-C
-C g77 version 0.5.21
-C gcc -v -fnull-version -o /tmp/gfa00415 -xf77-cpp-input /tmp/gfa00415.f -xnone
-C -lf2c -lm
-C
-
-C ------------
- subroutine dqage(f,a,b,epsabs,epsrel,limit,result,abserr,
- * neval,ier,alist,blist,rlist,elist,iord,last)
-C --------------------------------------------------
-C
-C Modified Feb 1989 by Barry W. Brown to eliminate key
-C as argument (use key=1) and to eliminate all Fortran
-C output.
-C
-C Purpose: to make this routine usable from within S.
-C
-C --------------------------------------------------
-c***begin prologue dqage
-c***date written 800101 (yymmdd)
-c***revision date 830518 (yymmdd)
-c***category no. h2a1a1
-c***keywords automatic integrator, general-purpose,
-c integrand examinator, globally adaptive,
-c gauss-kronrod
-c***author piessens,robert,appl. math. & progr. div. - k.u.leuven
-c de doncker,elise,appl. math. & progr. div. - k.u.leuven
-c***purpose the routine calculates an approximation result to a given
-c definite integral i = integral of f over (a,b),
-c hopefully satisfying following claim for accuracy
-c abs(i-reslt).le.max(epsabs,epsrel*abs(i)).
-c***description
-c
-c computation of a definite integral
-c standard fortran subroutine
-c double precision version
-c
-c parameters
-c on entry
-c f - double precision
-c function subprogram defining the integrand
-c function f(x). the actual name for f needs to be
-c declared e x t e r n a l in the driver program.
-c
-c a - double precision
-c lower limit of integration
-c
-c b - double precision
-c upper limit of integration
-c
-c epsabs - double precision
-c absolute accuracy requested
-c epsrel - double precision
-c relative accuracy requested
-c if epsabs.le.0
-c and epsrel.lt.max(50*rel.mach.acc.,0.5d-28),
-c the routine will end with ier = 6.
-c
-c key - integer
-c key for choice of local integration rule
-c a gauss-kronrod pair is used with
-c 7 - 15 points if key.lt.2,
-c 10 - 21 points if key = 2,
-c 15 - 31 points if key = 3,
-c 20 - 41 points if key = 4,
-c 25 - 51 points if key = 5,
-c 30 - 61 points if key.gt.5.
-c
-c limit - integer
-c gives an upperbound on the number of subintervals
-c in the partition of (a,b), limit.ge.1.
-c
-c on return
-c result - double precision
-c approximation to the integral
-c
-c abserr - double precision
-c estimate of the modulus of the absolute error,
-c which should equal or exceed abs(i-result)
-c
-c neval - integer
-c number of integrand evaluations
-c
-c ier - integer
-c ier = 0 normal and reliable termination of the
-c routine. it is assumed that the requested
-c accuracy has been achieved.
-c ier.gt.0 abnormal termination of the routine
-c the estimates for result and error are
-c less reliable. it is assumed that the
-c requested accuracy has not been achieved.
-c error messages
-c ier = 1 maximum number of subdivisions allowed
-c has been achieved. one can allow more
-c subdivisions by increasing the value
-c of limit.
-c however, if this yields no improvement it
-c is rather advised to analyze the integrand
-c in order to determine the integration
-c difficulties. if the position of a local
-c difficulty can be determined(e.g.
-c singularity, discontinuity within the
-c interval) one will probably gain from
-c splitting up the interval at this point
-c and calling the integrator on the
-c subranges. if possible, an appropriate
-c special-purpose integrator should be used
-c which is designed for handling the type of
-c difficulty involved.
-c = 2 the occurrence of roundoff error is
-c detected, which prevents the requested
-c tolerance from being achieved.
-c = 3 extremely bad integrand behaviour occurs
-c at some points of the integration
-c interval.
-c = 6 the input is invalid, because
-c (epsabs.le.0 and
-c epsrel.lt.max(50*rel.mach.acc.,0.5d-28),
-c result, abserr, neval, last, rlist(1) ,
-c elist(1) and iord(1) are set to zero.
-c alist(1) and blist(1) are set to a and b
-c respectively.
-c
-c alist - double precision
-c vector of dimension at least limit, the first
-c last elements of which are the left
-c end points of the subintervals in the partition
-c of the given integration range (a,b)
-c
-c blist - double precision
-c vector of dimension at least limit, the first
-c last elements of which are the right
-c end points of the subintervals in the partition
-c of the given integration range (a,b)
-c
-c rlist - double precision
-c vector of dimension at least limit, the first
-c last elements of which are the
-c integral approximations on the subintervals
-c
-c elist - double precision
-c vector of dimension at least limit, the first
-c last elements of which are the moduli of the
-c absolute error estimates on the subintervals
-c
-c iord - integer
-c vector of dimension at least limit, the first k
-c elements of which are pointers to the
-c error estimates over the subintervals,
-c such that elist(iord(1)), ...,
-c elist(iord(k)) form a decreasing sequence,
-c with k = last if last.le.(limit/2+2), and
-c k = limit+1-last otherwise
-c
-c last - integer
-c number of subintervals actually produced in the
-c subdivision process
-c
-c***references (none)
-c***routines called d1mach,dqk15,dqk21,dqk31,
-c dqk41,dqk51,dqk61,dqpsrt
-c***end prologue dqage
-c
- double precision a,abserr,alist,area,area1,area12,area2,a1,a2,b,
- * blist,b1,b2,dabs,defabs,defab1,defab2,dmax1,d1mach,elist,epmach,
- * epsabs,epsrel,errbnd,errmax,error1,error2,erro12,errsum,f,
- * resabs,result,rlist,uflow
- integer ier,iord,iroff1,iroff2,k,last,limit,maxerr,neval,
- * nrmax
-c
- dimension alist(limit),blist(limit),elist(limit),iord(limit),
- * rlist(limit)
-c
- external f
-c
-c list of major variables
-c -----------------------
-c
-c alist - list of left end points of all subintervals
-c considered up to now
-c blist - list of right end points of all subintervals
-c considered up to now
-c rlist(i) - approximation to the integral over
-c (alist(i),blist(i))
-c elist(i) - error estimate applying to rlist(i)
-c maxerr - pointer to the interval with largest
-c error estimate
-c errmax - elist(maxerr)
-c area - sum of the integrals over the subintervals
-c errsum - sum of the errors over the subintervals
-c errbnd - requested accuracy max(epsabs,epsrel*
-c abs(result))
-c *****1 - variable for the left subinterval
-c *****2 - variable for the right subinterval
-c last - index for subdivision
-c
-c
-c machine dependent constants
-c ---------------------------
-c
-c epmach is the largest relative spacing.
-c uflow is the smallest positive magnitude.
-c
-c***first executable statement dqage
- epmach = d1mach(4)
- uflow = d1mach(1)
-c
-c test on validity of parameters
-c ------------------------------
-c
- ier = 0
- neval = 0
- last = 0
- result = 0.0d+00
- abserr = 0.0d+00
- alist(1) = a
- blist(1) = b
- rlist(1) = 0.0d+00
- elist(1) = 0.0d+00
- iord(1) = 0
- if(epsabs.le.0.0d+00.and.
- * epsrel.lt.dmax1(0.5d+02*epmach,0.5d-28)) ier = 6
- if(ier.eq.6) go to 999
-c
-c first approximation to the integral
-c -----------------------------------
-c
- neval = 0
- call dqk15(f,a,b,result,abserr,defabs,resabs)
- last = 1
- rlist(1) = result
- elist(1) = abserr
- iord(1) = 1
-c
-c test on accuracy.
-c
- errbnd = dmax1(epsabs,epsrel*dabs(result))
- if(abserr.le.0.5d+02*epmach*defabs.and.abserr.gt.errbnd) ier = 2
- if(limit.eq.1) ier = 1
- if(ier.ne.0.or.(abserr.le.errbnd.and.abserr.ne.resabs)
- * .or.abserr.eq.0.0d+00) go to 60
-c
-c initialization
-c --------------
-c
-c
- errmax = abserr
- maxerr = 1
- area = result
- errsum = abserr
- nrmax = 1
- iroff1 = 0
- iroff2 = 0
-c
-c main do-loop
-c ------------
-c
- do 30 last = 2,limit
-c
-c bisect the subinterval with the largest error estimate.
-c
- a1 = alist(maxerr)
- b1 = 0.5d+00*(alist(maxerr)+blist(maxerr))
- a2 = b1
- b2 = blist(maxerr)
- call dqk15(f,a1,b1,area1,error1,resabs,defab1)
- call dqk15(f,a2,b2,area2,error2,resabs,defab2)
-c
-c improve previous approximations to integral
-c and error and test for accuracy.
-c
- neval = neval+1
- area12 = area1+area2
- erro12 = error1+error2
- errsum = errsum+erro12-errmax
- area = area+area12-rlist(maxerr)
- if(defab1.eq.error1.or.defab2.eq.error2) go to 5
- if(dabs(rlist(maxerr)-area12).le.0.1d-04*dabs(area12)
- * .and.erro12.ge.0.99d+00*errmax) iroff1 = iroff1+1
- if(last.gt.10.and.erro12.gt.errmax) iroff2 = iroff2+1
- 5 rlist(maxerr) = area1
- rlist(last) = area2
- errbnd = dmax1(epsabs,epsrel*dabs(area))
- if(errsum.le.errbnd) go to 8
-c
-c test for roundoff error and eventually set error flag.
-c
- if(iroff1.ge.6.or.iroff2.ge.20) ier = 2
-c
-c set error flag in the case that the number of subintervals
-c equals limit.
-c
- if(last.eq.limit) ier = 1
-c
-c set error flag in the case of bad integrand behaviour
-c at a point of the integration range.
-c
- if(dmax1(dabs(a1),dabs(b2)).le.(0.1d+01+0.1d+03*
- * epmach)*(dabs(a2)+0.1d+04*uflow)) ier = 3
-c
-c append the newly-created intervals to the list.
-c
- 8 if(error2.gt.error1) go to 10
- alist(last) = a2
- blist(maxerr) = b1
- blist(last) = b2
- elist(maxerr) = error1
- elist(last) = error2
- go to 20
- 10 alist(maxerr) = a2
- alist(last) = a1
- blist(last) = b1
- rlist(maxerr) = area2
- rlist(last) = area1
- elist(maxerr) = error2
- elist(last) = error1
-c
-c call subroutine dqpsrt to maintain the descending ordering
-c in the list of error estimates and select the subinterval
-c with the largest error estimate (to be bisected next).
-c
- 20 call dqpsrt(limit,last,maxerr,errmax,elist,iord,nrmax)
-c ***jump out of do-loop
- if(ier.ne.0.or.errsum.le.errbnd) go to 40
- 30 continue
-c
-c compute final result.
-c ---------------------
-c
- 40 result = 0.0d+00
- do 50 k=1,last
- result = result+rlist(k)
- 50 continue
- abserr = errsum
- 60 neval = 30*neval+15
- 999 return
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/980310-6.f b/gcc/testsuite/g77.f-torture/compile/980310-6.f
deleted file mode 100644
index fd91500eea8..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980310-6.f
+++ /dev/null
@@ -1,21 +0,0 @@
-C From: Norbert Conrad <Norbert.Conrad@hrz.uni-giessen.de>
-C Message-Id: <199711131008.LAA12272@marvin.hrz.uni-giessen.de>
-C Subject: 971105 g77 bug
-C To: egcs-bugs@cygnus.com
-C Date: Thu, 13 Nov 1997 11:08:19 +0100 (CET)
-
-C I found a bug in g77 in snapshot 971105
-
- subroutine ai (a)
- dimension a(-1:*)
- return
- end
-C ai.f: In subroutine `ai':
-C ai.f:1:
-C subroutine ai (a)
-C ^
-C Array `a' at (^) is too large to handle
-C
-C This happens whenever the lower index boundary is negative and the upper index
-C boundary is '*'.
-
diff --git a/gcc/testsuite/g77.f-torture/compile/980310-7.f b/gcc/testsuite/g77.f-torture/compile/980310-7.f
deleted file mode 100644
index 9cfbaed692a..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980310-7.f
+++ /dev/null
@@ -1,50 +0,0 @@
-C From: "David C. Doherty" <doherty@networkcs.com>
-C Message-Id: <199711171846.MAA27947@uh.msc.edu>
-C Subject: g77: auto arrays + goto = no go
-C To: egcs-bugs@cygnus.com
-C Date: Mon, 17 Nov 1997 12:46:27 -0600 (CST)
-
-C I sent the following to fortran@gnu.ai.mit.edu, and Dave Love
-C replied that he was able to reproduce it on rs6000-aix; not on
-C others. He suggested that I send it to egcs-bugs.
-
-C Hi - I've observed the following behavior regarding
-C automatic arrays and gotos. Seems similar to what I found
-C in the docs about computed gotos (but not exactly the same).
-C
-C I suspect from the nature of the error msg that it's in the GBE.
-C
-C I'm using egcs-971105, under linux-ppc.
-C
-C I also observed the same in g77-0.5.19 (and gcc 2.7.2?).
-C
-C I'd appreciate any advice on this. thanks for the great work.
-C --
-C >cat testg77.f
- subroutine testg77(n, a)
-c
- implicit none
-c
- integer n
- real a(n)
- real b(n)
- integer i
-c
- do i = 1, 10
- if (i .gt. 4) goto 100
- write(0, '(i2)')i
- enddo
-c
- goto 200
-100 continue
-200 continue
-c
- return
- end
-C >g77 -c testg77.f
-C testg77.f: In subroutine `testg77':
-C testg77.f:19: label `200' used before containing binding contour
-C testg77.f:18: label `100' used before containing binding contour
-C --
-C If I comment out the b(n) line or replace it with, e.g., b(10),
-C it compiles fine.
diff --git a/gcc/testsuite/g77.f-torture/compile/980310-8.f b/gcc/testsuite/g77.f-torture/compile/980310-8.f
deleted file mode 100644
index 9501012f60a..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980310-8.f
+++ /dev/null
@@ -1,39 +0,0 @@
-C To: egcs-bugs@cygnus.com
-C Subject: egcs-g77 and array indexing
-C Reply-To: etseidl@jutland.ca.sandia.gov
-C Date: Wed, 26 Nov 1997 10:38:27 -0800
-C From: Edward Seidl <etseidl@jutland.ca.sandia.gov>
-C
-C I have some horrible spaghetti code I'm trying compile with egcs-g77,
-C but it's puking on code like the example below. I have no idea if it's
-C legal fortran or not, and I'm in no position to change it. All I do know
-C is it compiles with a number of other compilers, including f2c and
-C g77-0.5.19.1/gcc-2.7.2.1. When I try to compile with egcs-2.90.18 971122
-C I get the following (on both i686-pc-linux-gnu and alphaev56-unknown-linux-gnu):
-C
-C foo.f: In subroutine `foobar':
-C foo.f:11:
-C subroutine foobar(norb,nnorb)
-C ^
-C Array `norb' at (^) is too large to handle
-
- program foo
- implicit integer(A-Z)
- dimension norb(6)
- nnorb=6
-
- call foobar(norb,nnorb)
-
- stop
- end
-
- subroutine foobar(norb,nnorb)
- implicit integer(A-Z)
- dimension norb(-1:*)
-
- do 10 i=-1,nnorb-2
- norb(i) = i+999
- 10 continue
-
- return
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/980419-2.f b/gcc/testsuite/g77.f-torture/compile/980419-2.f
deleted file mode 100644
index ac9134dc8a7..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980419-2.f
+++ /dev/null
@@ -1,48 +0,0 @@
-c SEGVs in loop.c with -O2.
-
- character*80 function nxtlin(lun,ierr,itok)
- character onechr*1,twochr*2,thrchr*3
- itok=0
- do while (.true.)
- read (lun,'(a)',iostat=ierr) nxtlin
- if (nxtlin(1:1).ne.'#') then
- ito=0
- do 10 it=1,79
- if (nxtlin(it:it).ne.' ' .and. nxtlin(it+1:it+1).eq.' ')
- $ then
- itast=0
- itstrt=0
- do itt=ito+1,it
- if (nxtlin(itt:itt).eq.'*') itast=itt
- enddo
- itstrt=ito+1
- do while (nxtlin(itstrt:itstrt).eq.' ')
- itstrt=itstrt+1
- enddo
- if (itast.gt.0) then
- nchrs=itast-itstrt
- if (nchrs.eq.1) then
- onechr=nxtlin(itstrt:itstrt)
- read (onechr,*) itokn
- elseif (nchrs.eq.2) then
- twochr=nxtlin(itstrt:itstrt+1)
- read (twochr,*) itokn
- elseif (nchrs.eq.3) then
- thrchr=nxtlin(itstrt:itstrt+2)
- read (thrchr,*) itokn
- elseif (nchrs.eq.4) then
- thrchr=nxtlin(itstrt:itstrt+3)
- read (thrchr,*) itokn
- endif
- itok=itok+itokn
- else
- itok=itok+1
- endif
- ito=it+1
- endif
- 10 continue
- return
- endif
- enddo
- return
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/980424-0.f b/gcc/testsuite/g77.f-torture/compile/980424-0.f
deleted file mode 100644
index 5df45bb79a9..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980424-0.f
+++ /dev/null
@@ -1,6 +0,0 @@
-C crashes in subst_stack_regs_pat on x86-linux, in the "abort();"
-C within the switch statement.
- SUBROUTINE C(A)
- COMPLEX A
- WRITE(*,*) A.NE.CMPLX(0.0D0)
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/980427-0.f b/gcc/testsuite/g77.f-torture/compile/980427-0.f
deleted file mode 100644
index d5d7d74c57b..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980427-0.f
+++ /dev/null
@@ -1,8 +0,0 @@
-c ../../egcs/gcc/f/com.c:938: failed assertion `TREE_CODE (TREE_TYPE (e)) == REAL_TYPE'
-c Fixed by 28-04-1998 global.c (ffeglobal_ref_progunit_) change.
- external b
- call y(b)
- end
- subroutine x
- a = b()
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/980729-0.f b/gcc/testsuite/g77.f-torture/compile/980729-0.f
deleted file mode 100644
index 07789441d41..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/980729-0.f
+++ /dev/null
@@ -1,5 +0,0 @@
-c Got ICE on Alpha only with -mieee (currently not tested).
-c Fixed by rth 1998-07-30 alpha.md change.
- subroutine a(b,c)
- b = max(b,c)
- end
diff --git a/gcc/testsuite/g77.f-torture/compile/981117-1.f b/gcc/testsuite/g77.f-torture/compile/981117-1.f
deleted file mode 100644
index 019167064fa..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/981117-1.f
+++ /dev/null
@@ -1,23 +0,0 @@
-* egcs-bugs:
-* From: Martin Kahlert <martin.kahlert@mchp.siemens.de>
-* Subject: ICE in g77 from egcs-19981109
-* Message-Id: <199811101134.MAA29838@keksy.mchp.siemens.de>
-
-* As of 1998-11-17, fails -O2 -fomit-frame-pointer with
-* egcs/gcc/testsuite/g77.f-torture/compile/981117-1.f:8: internal error--insn does not satisfy its constraints:
-* (insn 31 83 32 (set (reg:SF 8 %st(0))
-* (mult:SF (reg:SF 8 %st(0))
-* (const_double:SF (mem/u:SF (symbol_ref/u:SI ("*.LC1")) 0) 0 0 1073643520))) 350 {strlensi-3} (nil)
-* (nil))
-* ../../egcs/gcc/toplev.c:1390: Internal compiler error in function fatal_insn
-
-* Fixed sometime before 1998-11-21 -- don't know by which change.
-
- SUBROUTINE SSPTRD
- PARAMETER (HALF = 0.5 )
- DO I = 1, N
- CALL SSPMV(TAUI)
- ALPHA = -HALF*TAUI
- CALL SAXPY(ALPHA)
- ENDDO
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/990115-1.f b/gcc/testsuite/g77.f-torture/compile/990115-1.f
deleted file mode 100644
index 187e1b463b5..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/990115-1.f
+++ /dev/null
@@ -1,8 +0,0 @@
-C Derived from lapack
- SUBROUTINE ZGELSX( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK,
- $ WORK, RWORK, INFO )
- COMPLEX*16 WORK( * )
- DO 20 I = 1, RANK
- WORK( ISMAX+I-1 ) = S2*WORK( ISMAX+I-1 )
- 20 CONTINUE
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/alpha1.f b/gcc/testsuite/g77.f-torture/compile/alpha1.f
deleted file mode 100644
index 7cda74ebd45..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/alpha1.f
+++ /dev/null
@@ -1,10 +0,0 @@
- REAL*8 A,B,C
- REAL*4 RARRAY(19)/19*(-1)/
- INTEGER BOTTOM,RIGHT
- INTEGER IARRAY(19)/0,0,0,0,0,0,0,0,0,0,0,0,13,14,0,0,0,0,0/
- EQUIVALENCE (RARRAY(13),BOTTOM),(RARRAY(14),RIGHT)
-C
- IF(I.NE.0) call exit(1)
-C gcc: Internal compiler error: program f771 got fatal signal 11
-C at this point!
- END
diff --git a/gcc/testsuite/g77.f-torture/compile/compile.exp b/gcc/testsuite/g77.f-torture/compile/compile.exp
deleted file mode 100644
index a2a2177a94f..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/compile.exp
+++ /dev/null
@@ -1,44 +0,0 @@
-# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993, 1995, 1997 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# These tests come from Torbjorn Granlund's (tege@cygnus.com)
-# F torture test suite, and other contributors.
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib f-torture.exp
-
-foreach testcase [glob -nocomplain $srcdir/$subdir/*.f] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $testcase] then {
- continue
- }
-
- f-torture $testcase
-}
-
-foreach testcase [glob -nocomplain $srcdir/$subdir/*.F] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $testcase] then {
- continue
- }
-
- f-torture $testcase
-}
diff --git a/gcc/testsuite/g77.f-torture/compile/toon_1.f b/gcc/testsuite/g77.f-torture/compile/toon_1.f
deleted file mode 100644
index 6b6847c4de5..00000000000
--- a/gcc/testsuite/g77.f-torture/compile/toon_1.f
+++ /dev/null
@@ -1,3 +0,0 @@
- SUBROUTINE AAP(NOOT)
- DIMENSION NOOT(*)
- END
diff --git a/gcc/testsuite/g77.f-torture/execute/19981119-0.f b/gcc/testsuite/g77.f-torture/execute/19981119-0.f
deleted file mode 100644
index 5cfab57a5fc..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19981119-0.f
+++ /dev/null
@@ -1,40 +0,0 @@
-* X-Delivered: at request of burley on mescaline.gnu.org
-* Date: Sat, 31 Oct 1998 18:26:29 +0200 (EET)
-* From: "B. Yanchitsky" <yan@im.imag.kiev.ua>
-* To: fortran@gnu.org
-* Subject: Bug report
-* MIME-Version: 1.0
-* Content-Type: TEXT/PLAIN; charset=US-ASCII
-*
-* There is a trouble with g77 on Alpha.
-* My configuration:
-* Digital Personal Workstation 433au,
-* Digital Unix 4.0D,
-* GNU Fortran 0.5.23 and GNU C 2.8.1.
-*
-* The following program treated successfully but crashed when running.
-*
-* C --- PROGRAM BEGIN -------
-*
- subroutine sub(N,u)
- integer N
- double precision u(-N:N,-N:N)
-
-C vvvv CRASH HERE vvvvv
- u(-N,N)=0d0
- return
- end
-
-
- program bug
- integer N
- double precision a(-10:10,-10:10)
- data a/441*1d0/
- N=10
- call sub(N,a)
- if (a(-N,N) .ne. 0d0) call abort
- end
-*
-* C --- PROGRAM END -------
-*
-* Good luck!
diff --git a/gcc/testsuite/g77.f-torture/execute/19990313-0.f b/gcc/testsuite/g77.f-torture/execute/19990313-0.f
deleted file mode 100644
index abf898fb793..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19990313-0.f
+++ /dev/null
@@ -1,33 +0,0 @@
-* To: craig@jcb-sc.com
-* Subject: Re: G77 and KIND=2
-* Content-Type: text/plain; charset=us-ascii
-* From: Dave Love <d.love@dl.ac.uk>
-* Date: 03 Mar 1999 18:20:11 +0000
-* In-Reply-To: craig@jcb-sc.com's message of "1 Mar 1999 21:04:38 -0000"
-* User-Agent: Gnus/5.07007 (Pterodactyl Gnus v0.70) Emacs/20.3
-* X-UIDL: d442bafe961c2a6ec6904f492e05d7b0
-*
-* ISTM that there is a real problem printing integer*8 (on x86):
-*
-* $ cat x.f
-*[modified for test suite]
- integer *8 foo, bar
- data r/4e10/
- foo = 4e10
- bar = r
- if (foo .ne. bar) call abort
- end
-* $ g77 x.f && ./a.out
-* 1345294336
-* 123
-* $ f2c x.f && g77 x.c && ./a.out
-* x.f:
-* MAIN:
-* 40000000000
-* 123
-* $
-*
-* Gdb shows the upper half of the buffer passed to do_lio is zeroed in
-* the g77 case.
-*
-* I've forgotten how the code generation happens.
diff --git a/gcc/testsuite/g77.f-torture/execute/19990313-1.f b/gcc/testsuite/g77.f-torture/execute/19990313-1.f
deleted file mode 100644
index d99c72f2fde..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19990313-1.f
+++ /dev/null
@@ -1,7 +0,0 @@
- integer *8 foo, bar
- double precision r
- data r/4d10/
- foo = 4d10
- bar = r
- if (foo .ne. bar) call abort
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/19990313-2.f b/gcc/testsuite/g77.f-torture/execute/19990313-2.f
deleted file mode 100644
index ffb7549d413..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19990313-2.f
+++ /dev/null
@@ -1,7 +0,0 @@
- integer *8 foo, bar
- complex c
- data c/(4e10,0)/
- foo = 4e10
- bar = c
- if (foo .ne. bar) call abort
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/19990313-3.f b/gcc/testsuite/g77.f-torture/execute/19990313-3.f
deleted file mode 100644
index 6366dccd890..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19990313-3.f
+++ /dev/null
@@ -1,7 +0,0 @@
- integer *8 foo, bar
- double complex c
- data c/(4d10,0)/
- foo = 4d10
- bar = c
- if (foo .ne. bar) call abort
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/19990325-0.f b/gcc/testsuite/g77.f-torture/execute/19990325-0.f
deleted file mode 100644
index a230362fdde..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19990325-0.f
+++ /dev/null
@@ -1,313 +0,0 @@
-* test whether complex operators properly handle
-* full and partial aliasing.
-* (libf2c/libF77 routines used to assume no aliasing,
-* then were changed to accommodate full aliasing, while
-* the libg2c/libF77 versions were changed to accommodate
-* both full and partial aliasing.)
-*
-* NOTE: this (19990325-0.f) is the single-precision version.
-* See 19990325-1.f for the double-precision version.
-
- program complexalias
- implicit none
-
-* Make sure non-aliased cases work. (Catch roundoff/precision
-* problems, etc., here. Modify subroutine check if they occur.)
-
- call tryfull (1, 3, 5)
-
-* Now check various combinations of aliasing.
-
-* Full aliasing.
- call tryfull (1, 1, 5)
-
-* Partial aliasing.
- call trypart (2, 3, 5)
- call trypart (2, 1, 5)
- call trypart (2, 5, 3)
- call trypart (2, 5, 1)
-
- end
-
- subroutine tryfull (xout, xin1, xin2)
- implicit none
- integer xout, xin1, xin2
-
-* out, in1, and in2 are the desired indexes into the REAL array (array).
-
- complex expect
- integer pwr
- integer out, in1, in2
-
- real array(6)
- complex carray(3)
- equivalence (carray(1), array(1))
-
-* Make sure the indexes can be accommodated by the equivalences above.
-
- if (mod (xout, 2) .ne. 1) call abort
- if (mod (xin1, 2) .ne. 1) call abort
- if (mod (xin2, 2) .ne. 1) call abort
-
-* Convert the indexes into ones suitable for the COMPLEX array (carray).
-
- out = (xout + 1) / 2
- in1 = (xin1 + 1) / 2
- in2 = (xin2 + 1) / 2
-
-* Check some open-coded stuff, just in case.
-
- call prepare1 (carray(in1))
- expect = + carray(in1)
- carray(out) = + carray(in1)
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = - carray(in1)
- carray(out) = - carray(in1)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) + carray(in2)
- carray(out) = carray(in1) + carray(in2)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) - carray(in2)
- carray(out) = carray(in1) - carray(in2)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) * carray(in2)
- carray(out) = carray(in1) * carray(in2)
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 2
- carray(out) = carray(in1) ** 2
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 3
- carray(out) = carray(in1) ** 3
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = abs (carray(in1))
- array(out*2-1) = abs (carray(in1))
- array(out*2) = 0
- call check (expect, carray(out))
-
-* Now check the stuff implemented in libF77.
-
- call prepare1 (carray(in1))
- expect = cos (carray(in1))
- carray(out) = cos (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = exp (carray(in1))
- carray(out) = exp (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = log (carray(in1))
- carray(out) = log (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = sin (carray(in1))
- carray(out) = sin (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = sqrt (carray(in1))
- carray(out) = sqrt (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = conjg (carray(in1))
- carray(out) = conjg (carray(in1))
- call check (expect, carray(out))
-
- call prepare1i (carray(in1), pwr)
- expect = carray(in1) ** pwr
- carray(out) = carray(in1) ** pwr
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) / carray(in2)
- carray(out) = carray(in1) / carray(in2)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) ** carray(in2)
- carray(out) = carray(in1) ** carray(in2)
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** .2
- carray(out) = carray(in1) ** .2
- call check (expect, carray(out))
-
- end
-
- subroutine trypart (xout, xin1, xin2)
- implicit none
- integer xout, xin1, xin2
-
-* out, in1, and in2 are the desired indexes into the REAL array (array).
-
- complex expect
- integer pwr
- integer out, in1, in2
-
- real array(6)
- complex carray(3), carrayp(2)
- equivalence (carray(1), array(1))
- equivalence (carrayp(1), array(2))
-
-* Make sure the indexes can be accommodated by the equivalences above.
-
- if (mod (xout, 2) .ne. 0) call abort
- if (mod (xin1, 2) .ne. 1) call abort
- if (mod (xin2, 2) .ne. 1) call abort
-
-* Convert the indexes into ones suitable for the COMPLEX array (carray).
-
- out = xout / 2
- in1 = (xin1 + 1) / 2
- in2 = (xin2 + 1) / 2
-
-* Check some open-coded stuff, just in case.
-
- call prepare1 (carray(in1))
- expect = + carray(in1)
- carrayp(out) = + carray(in1)
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = - carray(in1)
- carrayp(out) = - carray(in1)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) + carray(in2)
- carrayp(out) = carray(in1) + carray(in2)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) - carray(in2)
- carrayp(out) = carray(in1) - carray(in2)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) * carray(in2)
- carrayp(out) = carray(in1) * carray(in2)
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 2
- carrayp(out) = carray(in1) ** 2
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 3
- carrayp(out) = carray(in1) ** 3
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = abs (carray(in1))
- array(out*2) = abs (carray(in1))
- array(out*2+1) = 0
- call check (expect, carrayp(out))
-
-* Now check the stuff implemented in libF77.
-
- call prepare1 (carray(in1))
- expect = cos (carray(in1))
- carrayp(out) = cos (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = exp (carray(in1))
- carrayp(out) = exp (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = log (carray(in1))
- carrayp(out) = log (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = sin (carray(in1))
- carrayp(out) = sin (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = sqrt (carray(in1))
- carrayp(out) = sqrt (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = conjg (carray(in1))
- carrayp(out) = conjg (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1i (carray(in1), pwr)
- expect = carray(in1) ** pwr
- carrayp(out) = carray(in1) ** pwr
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) / carray(in2)
- carrayp(out) = carray(in1) / carray(in2)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) ** carray(in2)
- carrayp(out) = carray(in1) ** carray(in2)
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** .2
- carrayp(out) = carray(in1) ** .2
- call check (expect, carrayp(out))
-
- end
-
- subroutine prepare1 (in)
- implicit none
- complex in
-
- in = (3.2, 4.2)
-
- end
-
- subroutine prepare1i (in, i)
- implicit none
- complex in
- integer i
-
- in = (2.3, 2.5)
- i = 4
-
- end
-
- subroutine prepare2 (in1, in2)
- implicit none
- complex in1, in2
-
- in1 = (1.3, 2.4)
- in2 = (3.5, 7.1)
-
- end
-
- subroutine check (expect, got)
- implicit none
- complex expect, got
-
- if (aimag(expect) .ne. aimag(got)) call abort
- if (real(expect) .ne. real(got)) call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/19990325-1.f b/gcc/testsuite/g77.f-torture/execute/19990325-1.f
deleted file mode 100644
index 802f375b33d..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19990325-1.f
+++ /dev/null
@@ -1,313 +0,0 @@
-* test whether complex operators properly handle
-* full and partial aliasing.
-* (libf2c/libF77 routines used to assume no aliasing,
-* then were changed to accommodate full aliasing, while
-* the libg2c/libF77 versions were changed to accommodate
-* both full and partial aliasing.)
-*
-* NOTE: this (19990325-1.f) is the double-precision version.
-* See 19990325-0.f for the single-precision version.
-
- program doublecomplexalias
- implicit none
-
-* Make sure non-aliased cases work. (Catch roundoff/precision
-* problems, etc., here. Modify subroutine check if they occur.)
-
- call tryfull (1, 3, 5)
-
-* Now check various combinations of aliasing.
-
-* Full aliasing.
- call tryfull (1, 1, 5)
-
-* Partial aliasing.
- call trypart (2, 3, 5)
- call trypart (2, 1, 5)
- call trypart (2, 5, 3)
- call trypart (2, 5, 1)
-
- end
-
- subroutine tryfull (xout, xin1, xin2)
- implicit none
- integer xout, xin1, xin2
-
-* out, in1, and in2 are the desired indexes into the REAL array (array).
-
- double complex expect
- integer pwr
- integer out, in1, in2
-
- double precision array(6)
- double complex carray(3)
- equivalence (carray(1), array(1))
-
-* Make sure the indexes can be accommodated by the equivalences above.
-
- if (mod (xout, 2) .ne. 1) call abort
- if (mod (xin1, 2) .ne. 1) call abort
- if (mod (xin2, 2) .ne. 1) call abort
-
-* Convert the indexes into ones suitable for the COMPLEX array (carray).
-
- out = (xout + 1) / 2
- in1 = (xin1 + 1) / 2
- in2 = (xin2 + 1) / 2
-
-* Check some open-coded stuff, just in case.
-
- call prepare1 (carray(in1))
- expect = + carray(in1)
- carray(out) = + carray(in1)
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = - carray(in1)
- carray(out) = - carray(in1)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) + carray(in2)
- carray(out) = carray(in1) + carray(in2)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) - carray(in2)
- carray(out) = carray(in1) - carray(in2)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) * carray(in2)
- carray(out) = carray(in1) * carray(in2)
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 2
- carray(out) = carray(in1) ** 2
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 3
- carray(out) = carray(in1) ** 3
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = abs (carray(in1))
- array(out*2-1) = abs (carray(in1))
- array(out*2) = 0
- call check (expect, carray(out))
-
-* Now check the stuff implemented in libF77.
-
- call prepare1 (carray(in1))
- expect = cos (carray(in1))
- carray(out) = cos (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = exp (carray(in1))
- carray(out) = exp (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = log (carray(in1))
- carray(out) = log (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = sin (carray(in1))
- carray(out) = sin (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = sqrt (carray(in1))
- carray(out) = sqrt (carray(in1))
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = conjg (carray(in1))
- carray(out) = conjg (carray(in1))
- call check (expect, carray(out))
-
- call prepare1i (carray(in1), pwr)
- expect = carray(in1) ** pwr
- carray(out) = carray(in1) ** pwr
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) / carray(in2)
- carray(out) = carray(in1) / carray(in2)
- call check (expect, carray(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) ** carray(in2)
- carray(out) = carray(in1) ** carray(in2)
- call check (expect, carray(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** .2
- carray(out) = carray(in1) ** .2
- call check (expect, carray(out))
-
- end
-
- subroutine trypart (xout, xin1, xin2)
- implicit none
- integer xout, xin1, xin2
-
-* out, in1, and in2 are the desired indexes into the REAL array (array).
-
- double complex expect
- integer pwr
- integer out, in1, in2
-
- double precision array(6)
- double complex carray(3), carrayp(2)
- equivalence (carray(1), array(1))
- equivalence (carrayp(1), array(2))
-
-* Make sure the indexes can be accommodated by the equivalences above.
-
- if (mod (xout, 2) .ne. 0) call abort
- if (mod (xin1, 2) .ne. 1) call abort
- if (mod (xin2, 2) .ne. 1) call abort
-
-* Convert the indexes into ones suitable for the COMPLEX array (carray).
-
- out = xout / 2
- in1 = (xin1 + 1) / 2
- in2 = (xin2 + 1) / 2
-
-* Check some open-coded stuff, just in case.
-
- call prepare1 (carray(in1))
- expect = + carray(in1)
- carrayp(out) = + carray(in1)
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = - carray(in1)
- carrayp(out) = - carray(in1)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) + carray(in2)
- carrayp(out) = carray(in1) + carray(in2)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) - carray(in2)
- carrayp(out) = carray(in1) - carray(in2)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) * carray(in2)
- carrayp(out) = carray(in1) * carray(in2)
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 2
- carrayp(out) = carray(in1) ** 2
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** 3
- carrayp(out) = carray(in1) ** 3
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = abs (carray(in1))
- array(out*2) = abs (carray(in1))
- array(out*2+1) = 0
- call check (expect, carrayp(out))
-
-* Now check the stuff implemented in libF77.
-
- call prepare1 (carray(in1))
- expect = cos (carray(in1))
- carrayp(out) = cos (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = exp (carray(in1))
- carrayp(out) = exp (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = log (carray(in1))
- carrayp(out) = log (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = sin (carray(in1))
- carrayp(out) = sin (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = sqrt (carray(in1))
- carrayp(out) = sqrt (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = conjg (carray(in1))
- carrayp(out) = conjg (carray(in1))
- call check (expect, carrayp(out))
-
- call prepare1i (carray(in1), pwr)
- expect = carray(in1) ** pwr
- carrayp(out) = carray(in1) ** pwr
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) / carray(in2)
- carrayp(out) = carray(in1) / carray(in2)
- call check (expect, carrayp(out))
-
- call prepare2 (carray(in1), carray(in2))
- expect = carray(in1) ** carray(in2)
- carrayp(out) = carray(in1) ** carray(in2)
- call check (expect, carrayp(out))
-
- call prepare1 (carray(in1))
- expect = carray(in1) ** .2
- carrayp(out) = carray(in1) ** .2
- call check (expect, carrayp(out))
-
- end
-
- subroutine prepare1 (in)
- implicit none
- double complex in
-
- in = (3.2d0, 4.2d0)
-
- end
-
- subroutine prepare1i (in, i)
- implicit none
- double complex in
- integer i
-
- in = (2.3d0, 2.5d0)
- i = 4
-
- end
-
- subroutine prepare2 (in1, in2)
- implicit none
- double complex in1, in2
-
- in1 = (1.3d0, 2.4d0)
- in2 = (3.5d0, 7.1d0)
-
- end
-
- subroutine check (expect, got)
- implicit none
- double complex expect, got
-
- if (dimag(expect) .ne. dimag(got)) call abort
- if (dble(expect) .ne. dble(got)) call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/19990419-1.f b/gcc/testsuite/g77.f-torture/execute/19990419-1.f
deleted file mode 100644
index 7449bac2b95..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/19990419-1.f
+++ /dev/null
@@ -1,21 +0,0 @@
-* Test DO WHILE, to make sure it fully reevaluates its expression.
-* Belongs in execute/.
- common /x/ ival
- j = 0
- do while (i() .eq. 1)
- j = j + 1
- if (j .gt. 5) call abort
- end do
- if (j .ne. 4) call abort
- if (ival .ne. 5) call abort
- end
- function i()
- common /x/ ival
- ival = ival + 1
- i = 10
- if (ival .lt. 5) i = 1
- end
- block data
- common /x/ ival
- data ival/0/
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/970625-2.f b/gcc/testsuite/g77.f-torture/execute/970625-2.f
deleted file mode 100644
index 3ef6f46cb79..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/970625-2.f
+++ /dev/null
@@ -1,84 +0,0 @@
-* Date: Wed, 25 Jun 1997 12:48:26 +0200 (MET DST)
-* MIME-Version: 1.0
-* From: R.Hooft@EuroMail.com (Rob Hooft)
-* To: g77-alpha@gnu.ai.mit.edu
-* Subject: Re: testing 970624.
-* In-Reply-To: <199706251027.GAA07892@churchy.gnu.ai.mit.edu>
-* References: <199706251018.MAA21538@nu>
-* <199706251027.GAA07892@churchy.gnu.ai.mit.edu>
-* X-Mailer: VM 6.30 under Emacs 19.34.1
-* Content-Type: text/plain; charset=US-ASCII
-*
-* >>>>> "CB" == Craig Burley <burley@gnu.ai.mit.edu> writes:
-*
-* CB> but OTOH I'd like to see more problems like this on other
-* CB> applications, and especially other systems
-*
-* How about this one: An application that prints "112." on all
-* compilers/platforms I have tested, except with the new g77 on ALPHA (I
-* don't have the new g77 on any other platform here to test)?
-*
-* Application Appended. Source code courtesy of my boss.....
-* Disclaimer: I do not know the right answer, or even whether there is a
-* single right answer.....
-*
-* Regards,
-* --
-* ===== R.Hooft@EuroMail.com http://www.Sander.EMBL-Heidelberg.DE/rob/ ==
-* ==== In need of protein modeling? http://www.Sander.EMBL-Heidelberg.DE/whatif/
-* Validation of protein structures? http://biotech.EMBL-Heidelberg.DE:8400/ ====
-* == PGPid 0xFA19277D == Use Linux! Free Software Rules The World! =============
-*
-* nu[152]for% cat humor.f
- PROGRAM SUBROUTINE
- LOGICAL ELSE IF
- INTEGER REAL, GO TO PROGRAM, WHILE
- REAL FORMAT(2)
- DATA IF,REAL,END DO,WHILE,FORMAT(2),I2/2,6,7,1,112.,1/
- DO THEN=1, END DO, WHILE
- CALL = END DO - IF
- PROGRAM = THEN - IF
- ELSE IF = THEN .GT. IF
- IF (THEN.GT.REAL) THEN
- CALL FUNCTION PROGRAM (ELSE IF, GO TO PROGRAM, THEN)
- ELSE IF (ELSE IF) THEN
- REAL = THEN + END DO
- END IF
- END DO
- 10 FORMAT(I2/I2) = WHILE*REAL*THEN
- IF (FORMAT(I2) .NE. FORMAT(I2+I2)) CALL ABORT
- END ! DO
- SUBROUTINE FUNCTION PROGRAM (REAL,INTEGER, LOGICAL)
- LOGICAL REAL
- REAL LOGICAL
- INTEGER INTEGER, STOP, RETURN, GO TO
- ASSIGN 9 TO STOP
- ASSIGN = 9 + LOGICAL
- ASSIGN 7 TO RETURN
- ASSIGN 9 TO GO TO
- GO TO = 5
- STOP = 8
- IF (.NOT.REAL) GOTO STOP
- IF (LOGICAL.GT.INTEGER) THEN
- IF = LOGICAL +5
- IF (LOGICAL.EQ.5) ASSIGN 5 TO IF
- INTEGER=IF
- ELSE
- IF (ASSIGN.GT.STOP) ASSIGN 9 TO GOTO
- ELSE = GO TO
- END IF = ELSE + GO TO
- IF (.NOT.REAL.AND.GOTO.GT.ELSE) GOTO RETURN
- END IF
- 5 CONTINUE
- 7 LOGICAL=LOGICAL+STOP
- 9 RETURN
- END ! IF
-* nu[153]for% f77 humor.f
-* nu[154]for% ./a.out
-* 112.0000
-* nu[155]for% f90 humor.f
-* nu[156]for% ./a.out
-* 112.0000
-* nu[157]for% g77 humor.f
-* nu[158]for% ./a.out
-* 40.
diff --git a/gcc/testsuite/g77.f-torture/execute/970816-3.f b/gcc/testsuite/g77.f-torture/execute/970816-3.f
deleted file mode 100644
index 6398600f059..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/970816-3.f
+++ /dev/null
@@ -1,20 +0,0 @@
-* Date: Wed, 13 Aug 1997 15:34:23 +0200 (METDST)
-* From: Claus Denk <denk@cica.es>
-* To: g77-alpha@gnu.ai.mit.edu
-* Subject: 970811 report - segfault bug on alpha still there
-*[...]
-* Now, the bug that I reported some weeks ago is still there, I'll post
-* the test program again:
-*
- PROGRAM TEST
-C a bug in g77-0.5.21 - alpha. Works with NSTART=0 and segfaults with
-C NSTART=1 on the second write.
- PARAMETER (NSTART=1,NADD=NSTART+1)
- REAL AB(NSTART:NSTART)
- AB(NSTART)=1.0
- I=1
- J=2
- IND=I-J+NADD
- write(*,*) AB(IND)
- write(*,*) AB(I-J+NADD)
- END
diff --git a/gcc/testsuite/g77.f-torture/execute/971102-1.f b/gcc/testsuite/g77.f-torture/execute/971102-1.f
deleted file mode 100644
index 6b0c2f3b3a9..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/971102-1.f
+++ /dev/null
@@ -1,11 +0,0 @@
- i=3
- j=0
- do i=i,5
- j = j+i
- end do
- do i=3,i
- j = j+i
- end do
- if (i.ne.7) call abort()
- print *, i,j
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980520-1.f b/gcc/testsuite/g77.f-torture/execute/980520-1.f
deleted file mode 100644
index 6d05c6767fd..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980520-1.f
+++ /dev/null
@@ -1,6 +0,0 @@
-c Produced a link error through not eliminating the unused statement
-c function after 1998-05-15 change to gcc/toplev.c. It's in
-c `execute' since it needs to link.
-c Fixed by 1998-05-23 change to f/com.c.
- values(i,j) = val((i-1)*n+j)
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-0.f b/gcc/testsuite/g77.f-torture/execute/980628-0.f
deleted file mode 100644
index c36b1efc052..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-0.f
+++ /dev/null
@@ -1,61 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
- equivalence (r1(2), d1)
- equivalence (r2(2), d2)
- equivalence (r3(2), d3)
-
- r1(1) = 1.
- d1 = 10.
- r1(4) = 1.
- r1(5) = 1.
- i1 = 1
- r2(1) = 2.
- d2 = 20.
- r2(4) = 2.
- r2(5) = 2.
- i2 = 2
- r3(1) = 3.
- d3 = 30.
- r3(4) = 3.
- r3(5) = 3.
- i3 = 3
-
- call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
-
- end
-
- subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
- implicit none
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
-
- if (r1(1) .ne. 1.) call abort
- if (d1 .ne. 10.) call abort
- if (r1(4) .ne. 1.) call abort
- if (r1(5) .ne. 1.) call abort
- if (i1 .ne. 1) call abort
- if (r2(1) .ne. 2.) call abort
- if (d2 .ne. 20.) call abort
- if (r2(4) .ne. 2.) call abort
- if (r2(5) .ne. 2.) call abort
- if (i2 .ne. 2) call abort
- if (r3(1) .ne. 3.) call abort
- if (d3 .ne. 30.) call abort
- if (r3(4) .ne. 3.) call abort
- if (r3(5) .ne. 3.) call abort
- if (i3 .ne. 3) call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-1.f b/gcc/testsuite/g77.f-torture/execute/980628-1.f
deleted file mode 100644
index 6ab0a0a81a8..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-1.f
+++ /dev/null
@@ -1,62 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
- save
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
- equivalence (r1(2), d1)
- equivalence (r2(2), d2)
- equivalence (r3(2), d3)
-
- r1(1) = 1.
- d1 = 10.
- r1(4) = 1.
- r1(5) = 1.
- i1 = 1
- r2(1) = 2.
- d2 = 20.
- r2(4) = 2.
- r2(5) = 2.
- i2 = 2
- r3(1) = 3.
- d3 = 30.
- r3(4) = 3.
- r3(5) = 3.
- i3 = 3
-
- call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
-
- end
-
- subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
- implicit none
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
-
- if (r1(1) .ne. 1.) call abort
- if (d1 .ne. 10.) call abort
- if (r1(4) .ne. 1.) call abort
- if (r1(5) .ne. 1.) call abort
- if (i1 .ne. 1) call abort
- if (r2(1) .ne. 2.) call abort
- if (d2 .ne. 20.) call abort
- if (r2(4) .ne. 2.) call abort
- if (r2(5) .ne. 2.) call abort
- if (i2 .ne. 2) call abort
- if (r3(1) .ne. 3.) call abort
- if (d3 .ne. 30.) call abort
- if (r3(4) .ne. 3.) call abort
- if (r3(5) .ne. 3.) call abort
- if (i3 .ne. 3) call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-10.f b/gcc/testsuite/g77.f-torture/execute/980628-10.f
deleted file mode 100644
index 427f635add9..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-10.f
+++ /dev/null
@@ -1,57 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
- save
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
- equivalence (r1, c1(2))
- equivalence (r2, c2(2))
- equivalence (r3, c3(2))
-
- c1(1) = '1'
- r1 = 1.
- c1(11) = '1'
- c4 = '4'
- c2(1) = '2'
- r2 = 2.
- c2(11) = '2'
- c5 = '5'
- c3(1) = '3'
- r3 = 3.
- c3(11) = '3'
- c6 = '6'
-
- call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
-
- end
-
- subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
- implicit none
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
-
- if (c1(1) .ne. '1') call abort
- if (r1 .ne. 1.) call abort
- if (c1(11) .ne. '1') call abort
- if (c4 .ne. '4') call abort
- if (c2(1) .ne. '2') call abort
- if (r2 .ne. 2.) call abort
- if (c2(11) .ne. '2') call abort
- if (c5 .ne. '5') call abort
- if (c3(1) .ne. '3') call abort
- if (r3 .ne. 3.) call abort
- if (c3(11) .ne. '3') call abort
- if (c6 .ne. '6') call abort
-
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-2.f b/gcc/testsuite/g77.f-torture/execute/980628-2.f
deleted file mode 100644
index a140e7db611..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-2.f
+++ /dev/null
@@ -1,55 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
- equivalence (c1(2), r1)
- equivalence (c2(2), r2)
- equivalence (c3(2), r3)
-
- c1(1) = '1'
- r1 = 1.
- c1(11) = '1'
- c4 = '4'
- c2(1) = '2'
- r2 = 2.
- c2(11) = '2'
- c5 = '5'
- c3(1) = '3'
- r3 = 3.
- c3(11) = '3'
- c6 = '6'
-
- call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
-
- end
-
- subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
- implicit none
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
-
- if (c1(1) .ne. '1') call abort
- if (r1 .ne. 1.) call abort
- if (c1(11) .ne. '1') call abort
- if (c4 .ne. '4') call abort
- if (c2(1) .ne. '2') call abort
- if (r2 .ne. 2.) call abort
- if (c2(11) .ne. '2') call abort
- if (c5 .ne. '5') call abort
- if (c3(1) .ne. '3') call abort
- if (r3 .ne. 3.) call abort
- if (c3(11) .ne. '3') call abort
- if (c6 .ne. '6') call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-3.f b/gcc/testsuite/g77.f-torture/execute/980628-3.f
deleted file mode 100644
index 47e6ea57301..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-3.f
+++ /dev/null
@@ -1,56 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
- save
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
- equivalence (c1(2), r1)
- equivalence (c2(2), r2)
- equivalence (c3(2), r3)
-
- c1(1) = '1'
- r1 = 1.
- c1(11) = '1'
- c4 = '4'
- c2(1) = '2'
- r2 = 2.
- c2(11) = '2'
- c5 = '5'
- c3(1) = '3'
- r3 = 3.
- c3(11) = '3'
- c6 = '6'
-
- call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
-
- end
-
- subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
- implicit none
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
-
- if (c1(1) .ne. '1') call abort
- if (r1 .ne. 1.) call abort
- if (c1(11) .ne. '1') call abort
- if (c4 .ne. '4') call abort
- if (c2(1) .ne. '2') call abort
- if (r2 .ne. 2.) call abort
- if (c2(11) .ne. '2') call abort
- if (c5 .ne. '5') call abort
- if (c3(1) .ne. '3') call abort
- if (r3 .ne. 3.) call abort
- if (c3(11) .ne. '3') call abort
- if (c6 .ne. '6') call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-4.f b/gcc/testsuite/g77.f-torture/execute/980628-4.f
deleted file mode 100644
index 40bd6e6df51..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-4.f
+++ /dev/null
@@ -1,27 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system,
-* including when initial values are provided (e.g. DATA).
-
- program test
- implicit none
-
- real r
- double precision d
- common /cmn/ r, d
-
- if (r .ne. 1.) call abort
- if (d .ne. 10.) call abort
-
- end
-
- block data init
- implicit none
-
- real r
- double precision d
- common /cmn/ r, d
-
- data r/1./, d/10./
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-5.f b/gcc/testsuite/g77.f-torture/execute/980628-5.f
deleted file mode 100644
index 14f39e3c51e..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-5.f
+++ /dev/null
@@ -1,27 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system,
-* including when initial values are provided (e.g. DATA).
-
- program test
- implicit none
-
- character c
- double precision d
- common /cmn/ c, d
-
- if (c .ne. '1') call abort
- if (d .ne. 10.) call abort
-
- end
-
- block data init
- implicit none
-
- character c
- double precision d
- common /cmn/ c, d
-
- data c/'1'/, d/10./
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-6.f b/gcc/testsuite/g77.f-torture/execute/980628-6.f
deleted file mode 100644
index c5ade65ed39..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-6.f
+++ /dev/null
@@ -1,26 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system,
-* including when initial values are provided (e.g. DATA).
-
- program test
- implicit none
-
- character c
- double precision d(100)
- common /cmn/ c, d
-
- if (d(80) .ne. 10.) call abort
-
- end
-
- block data init
- implicit none
-
- character c
- double precision d(100)
- common /cmn/ c, d
-
- data d(80)/10./
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-7.f b/gcc/testsuite/g77.f-torture/execute/980628-7.f
deleted file mode 100644
index c81ba31fc26..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-7.f
+++ /dev/null
@@ -1,62 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
- equivalence (d1, r1(2))
- equivalence (d2, r2(2))
- equivalence (d3, r3(2))
-
- r1(1) = 1.
- d1 = 10.
- r1(4) = 1.
- r1(5) = 1.
- i1 = 1
- r2(1) = 2.
- d2 = 20.
- r2(4) = 2.
- r2(5) = 2.
- i2 = 2
- r3(1) = 3.
- d3 = 30.
- r3(4) = 3.
- r3(5) = 3.
- i3 = 3
-
- call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
-
- end
-
- subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
- implicit none
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
-
- if (r1(1) .ne. 1.) call abort
- if (d1 .ne. 10.) call abort
- if (r1(4) .ne. 1.) call abort
- if (r1(5) .ne. 1.) call abort
- if (i1 .ne. 1) call abort
- if (r2(1) .ne. 2.) call abort
- if (d2 .ne. 20.) call abort
- if (r2(4) .ne. 2.) call abort
- if (r2(5) .ne. 2.) call abort
- if (i2 .ne. 2) call abort
- if (r3(1) .ne. 3.) call abort
- if (d3 .ne. 30.) call abort
- if (r3(4) .ne. 3.) call abort
- if (r3(5) .ne. 3.) call abort
- if (i3 .ne. 3) call abort
-
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-8.f b/gcc/testsuite/g77.f-torture/execute/980628-8.f
deleted file mode 100644
index 8940d009954..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-8.f
+++ /dev/null
@@ -1,63 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
- save
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
- equivalence (d1, r1(2))
- equivalence (d2, r2(2))
- equivalence (d3, r3(2))
-
- r1(1) = 1.
- d1 = 10.
- r1(4) = 1.
- r1(5) = 1.
- i1 = 1
- r2(1) = 2.
- d2 = 20.
- r2(4) = 2.
- r2(5) = 2.
- i2 = 2
- r3(1) = 3.
- d3 = 30.
- r3(4) = 3.
- r3(5) = 3.
- i3 = 3
-
- call x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
-
- end
-
- subroutine x (r1, d1, i1, r2, d2, i2, r3, d3, i3)
- implicit none
-
- real r1(5), r2(5), r3(5)
- double precision d1, d2, d3
- integer i1, i2, i3
-
- if (r1(1) .ne. 1.) call abort
- if (d1 .ne. 10.) call abort
- if (r1(4) .ne. 1.) call abort
- if (r1(5) .ne. 1.) call abort
- if (i1 .ne. 1) call abort
- if (r2(1) .ne. 2.) call abort
- if (d2 .ne. 20.) call abort
- if (r2(4) .ne. 2.) call abort
- if (r2(5) .ne. 2.) call abort
- if (i2 .ne. 2) call abort
- if (r3(1) .ne. 3.) call abort
- if (d3 .ne. 30.) call abort
- if (r3(4) .ne. 3.) call abort
- if (r3(5) .ne. 3.) call abort
- if (i3 .ne. 3) call abort
-
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/980628-9.f b/gcc/testsuite/g77.f-torture/execute/980628-9.f
deleted file mode 100644
index 54e6552d628..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980628-9.f
+++ /dev/null
@@ -1,56 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
- equivalence (r1, c1(2))
- equivalence (r2, c2(2))
- equivalence (r3, c3(2))
-
- c1(1) = '1'
- r1 = 1.
- c1(11) = '1'
- c4 = '4'
- c2(1) = '2'
- r2 = 2.
- c2(11) = '2'
- c5 = '5'
- c3(1) = '3'
- r3 = 3.
- c3(11) = '3'
- c6 = '6'
-
- call x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
-
- end
-
- subroutine x (c1, r1, c2, r2, c3, r3, c4, c5, c6)
- implicit none
-
- character c1(11), c2(11), c3(11)
- real r1, r2, r3
- character c4, c5, c6
-
- if (c1(1) .ne. '1') call abort
- if (r1 .ne. 1.) call abort
- if (c1(11) .ne. '1') call abort
- if (c4 .ne. '4') call abort
- if (c2(1) .ne. '2') call abort
- if (r2 .ne. 2.) call abort
- if (c2(11) .ne. '2') call abort
- if (c5 .ne. '5') call abort
- if (c3(1) .ne. '3') call abort
- if (r3 .ne. 3.) call abort
- if (c3(11) .ne. '3') call abort
- if (c6 .ne. '6') call abort
-
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/980701-0.f b/gcc/testsuite/g77.f-torture/execute/980701-0.f
deleted file mode 100644
index a3ddd55473a..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980701-0.f
+++ /dev/null
@@ -1,72 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
-
- real r1(5), r2(5), r3(5)
- real s1(2), s2(2), s3(2)
- double precision d1, d2, d3
- integer i1, i2, i3
- equivalence (r1, s1(2))
- equivalence (d1, r1(2))
- equivalence (r2, s2(2))
- equivalence (d2, r2(2))
- equivalence (r3, s3(2))
- equivalence (d3, r3(2))
-
- s1(1) = 1.
- r1(1) = 1.
- d1 = 10.
- r1(4) = 1.
- r1(5) = 1.
- i1 = 1
- s2(1) = 2.
- r2(1) = 2.
- d2 = 20.
- r2(4) = 2.
- r2(5) = 2.
- i2 = 2
- s3(1) = 3.
- r3(1) = 3.
- d3 = 30.
- r3(4) = 3.
- r3(5) = 3.
- i3 = 3
-
- call x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
-
- end
-
- subroutine x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
- implicit none
-
- real r1(5), r2(5), r3(5)
- real s1(2), s2(2), s3(2)
- double precision d1, d2, d3
- integer i1, i2, i3
-
- if (s1(1) .ne. 1.) call abort
- if (r1(1) .ne. 1.) call abort
- if (d1 .ne. 10.) call abort
- if (r1(4) .ne. 1.) call abort
- if (r1(5) .ne. 1.) call abort
- if (i1 .ne. 1) call abort
- if (s2(1) .ne. 2.) call abort
- if (r2(1) .ne. 2.) call abort
- if (d2 .ne. 20.) call abort
- if (r2(4) .ne. 2.) call abort
- if (r2(5) .ne. 2.) call abort
- if (i2 .ne. 2) call abort
- if (s3(1) .ne. 3.) call abort
- if (r3(1) .ne. 3.) call abort
- if (d3 .ne. 30.) call abort
- if (r3(4) .ne. 3.) call abort
- if (r3(5) .ne. 3.) call abort
- if (i3 .ne. 3) call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/980701-1.f b/gcc/testsuite/g77.f-torture/execute/980701-1.f
deleted file mode 100644
index fba78564572..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/980701-1.f
+++ /dev/null
@@ -1,72 +0,0 @@
-* g77 0.5.23 and previous had bugs involving too little space
-* allocated for EQUIVALENCE and COMMON areas needing initial
-* padding to meet alignment requirements of the system.
-
- call subr
- end
-
- subroutine subr
- implicit none
-
- real r1(5), r2(5), r3(5)
- real s1(2), s2(2), s3(2)
- double precision d1, d2, d3
- integer i1, i2, i3
- equivalence (d1, r1(2))
- equivalence (r1, s1(2))
- equivalence (d2, r2(2))
- equivalence (r2, s2(2))
- equivalence (d3, r3(2))
- equivalence (r3, s3(2))
-
- s1(1) = 1.
- r1(1) = 1.
- d1 = 10.
- r1(4) = 1.
- r1(5) = 1.
- i1 = 1
- s2(1) = 2.
- r2(1) = 2.
- d2 = 20.
- r2(4) = 2.
- r2(5) = 2.
- i2 = 2
- s3(1) = 3.
- r3(1) = 3.
- d3 = 30.
- r3(4) = 3.
- r3(5) = 3.
- i3 = 3
-
- call x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
-
- end
-
- subroutine x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
- implicit none
-
- real r1(5), r2(5), r3(5)
- real s1(2), s2(2), s3(2)
- double precision d1, d2, d3
- integer i1, i2, i3
-
- if (s1(1) .ne. 1.) call abort
- if (r1(1) .ne. 1.) call abort
- if (d1 .ne. 10.) call abort
- if (r1(4) .ne. 1.) call abort
- if (r1(5) .ne. 1.) call abort
- if (i1 .ne. 1) call abort
- if (s2(1) .ne. 2.) call abort
- if (r2(1) .ne. 2.) call abort
- if (d2 .ne. 20.) call abort
- if (r2(4) .ne. 2.) call abort
- if (r2(5) .ne. 2.) call abort
- if (i2 .ne. 2) call abort
- if (s3(1) .ne. 3.) call abort
- if (r3(1) .ne. 3.) call abort
- if (d3 .ne. 30.) call abort
- if (r3(4) .ne. 3.) call abort
- if (r3(5) .ne. 3.) call abort
- if (i3 .ne. 3) call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/alpha2.f b/gcc/testsuite/g77.f-torture/execute/alpha2.f
deleted file mode 100644
index d7b9d39da4b..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/alpha2.f
+++ /dev/null
@@ -1,19 +0,0 @@
-c This was originally a compile test.
- IMPLICIT REAL*8 (A-H,O-Z)
- COMMON /C/ A(9), INT
- DATA A /
- 1 0.49999973986348730D01, 0.40000399113084100D01,
- 2 0.29996921166596490D01, 0.20016917082678680D01,
- 3 0.99126390351864390D00, 0.97963256554443300D-01,
- 4 -0.87360964813570100D-02, 0.16917082678692080D-02,
- 5 7./
-C Data values were once mis-compiled on (OSF/1 ?) Alpha with -O2
-c such that, for instance, `7.' appeared as `4.' in the assembler
-c output.
- call test(a(9), 7)
- END
- subroutine test(r, i)
- double precision r
- if (nint(r)/=i) call abort
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/auto0.f b/gcc/testsuite/g77.f-torture/execute/auto0.f
deleted file mode 100644
index 4b6b2f51a8e..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/auto0.f
+++ /dev/null
@@ -1,80 +0,0 @@
-* Test automatic arrays.
- program auto0
- implicit none
- integer i
- integer j0(40)
- integer j1(40)
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- data j0/40*3/
- data j1/40*4/
-
- i = 40
- call a1 (j0, j1, i)
-
- do i = 1, 40
- if (j0(i) .ne. 4) call abort
- if (j1(i) .ne. 3) call abort
- if (jc0(i) .ne. 6) call abort
- if (jc1(i) .ne. 5) call abort
- end do
-
- end
-
- block data jc
- implicit none
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- data jc0/40*5/
- data jc1/40*6/
-
- end
-
- subroutine a1 (j0, j1, n)
- implicit none
- integer j0(40), j1(40), n
- integer k0(n), k1(n)
- integer i
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- do i = 1, 40
- j0(i) = j1(i) - j0(i)
- jc0(i) = jc1(i) - jc0(i)
- end do
-
- n = -1
-
- do i = 1, 40
- k0(i) = n
- k1(i) = n
- end do
-
- do i = 1, 40
- j1(i) = j1(i) + k0(i) * j0(i)
- jc1(i) = jc1(i) + k1(i) * jc0(i)
- end do
-
- n = 500
-
- do i = 1, 40
- if (k0(i) .ne. -1) call abort
- k0(i) = n
- if (k1(i) .ne. -1) call abort
- k1(i) = n
- end do
-
- do i = 1, 40
- j0(i) = j1(i) + j0(i)
- jc0(i) = jc1(i) + jc0(i)
- end do
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/auto1.f b/gcc/testsuite/g77.f-torture/execute/auto1.f
deleted file mode 100644
index ab9044ceca5..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/auto1.f
+++ /dev/null
@@ -1,88 +0,0 @@
-* Test automatic arrays.
- program auto1
- implicit none
- integer i
- integer j0(40)
- integer j1(40)
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- data j0/40*3/
- data j1/40*4/
-
- i = 40
- call a1 (j0, j1, i)
-
- do i = 1, 40
- if (j0(i) .ne. 4) call abort
- if (j1(i) .ne. 3) call abort
- if (jc0(i) .ne. 6) call abort
- if (jc1(i) .ne. 5) call abort
- end do
-
- end
-
- block data jc
- implicit none
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- data jc0/40*5/
- data jc1/40*6/
-
- end
-
- subroutine a1 (j0, j1, n)
- implicit none
- integer j0(40), j1(40), n
- integer k0(n,3,2), k1(n,3,2)
- integer i,j,k
- integer jc0(40)
- integer jc1(40)
- common /jc0/ jc0
- common /jc1/ jc1
-
- do i = 1, 40
- j0(i) = j1(i) - j0(i)
- jc0(i) = jc1(i) - jc0(i)
- end do
-
- n = -1
-
- do k = 1, 2
- do j = 1, 3
- do i = 1, 40
- k0(i, j, k) = n
- k1(i, j, k) = n
- end do
- end do
- end do
-
- do i = 1, 40
- j1(i) = j1(i) + k0(i, 3, 2) * j0(i)
- jc1(i) = jc1(i) + k1(i, 1, 1) * jc0(i)
- end do
-
- n = 500
-
- do k = 1, 2
- do j = 1, 3
- do i = 1, 40
- if (k0(i, j, k) .ne. -1) call abort
- k0(i, j, k) = n
- if (k1(i, j, k) .ne. -1) call abort
- k1(i, j, k) = n
- end do
- end do
- end do
-
- do i = 1, 40
- j0(i) = j1(i) + j0(i)
- jc0(i) = jc1(i) + jc0(i)
- end do
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/cabs.f b/gcc/testsuite/g77.f-torture/execute/cabs.f
deleted file mode 100644
index 61fd263620b..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/cabs.f
+++ /dev/null
@@ -1,14 +0,0 @@
- program cabs_1
- complex z0
- real r0
- complex*16 z1
- real*8 r1
-
- z0 = cmplx(3.,4.)
- r0 = cabs(z0)
- if (r0 .ne. 5.) call abort
-
- z1 = dcmplx(3.d0,4.d0)
- r1 = zabs(z1)
- if (r1 .ne. 5.d0) call abort
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/claus.f b/gcc/testsuite/g77.f-torture/execute/claus.f
deleted file mode 100644
index bccef7f4090..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/claus.f
+++ /dev/null
@@ -1,13 +0,0 @@
- PROGRAM TEST
- REAL AB(3)
- do i=1,3
- AB(i)=i
- enddo
- k=1
- n=2
- ind=k-n+2
- if (ind /= 1) call abort
- if (ab(ind) /= 1) call abort
- if (k-n+2 /= 1) call abort
- if (ab(k-n+2) /= 1) call abort
- END
diff --git a/gcc/testsuite/g77.f-torture/execute/complex_1.f b/gcc/testsuite/g77.f-torture/execute/complex_1.f
deleted file mode 100644
index 77da6359f72..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/complex_1.f
+++ /dev/null
@@ -1,18 +0,0 @@
- program complex_1
- complex z0, z1, z2
-
- z0 = cmplx(0.,.5)
- z1 = 1./z0
- if (z1 .ne. cmplx(0.,-2)) call abort
-
- z0 = 10.*z0
- if (z0 .ne. cmplx(0.,5.)) call abort
-
- z2 = cmplx(1.,2.)
- z1 = z0/z2
- if (z1 .ne. cmplx(2.,1.)) call abort
-
- z1 = z0*z2
- if (z1 .ne. cmplx(-10.,5.)) call abort
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/cpp.F b/gcc/testsuite/g77.f-torture/execute/cpp.F
deleted file mode 100644
index fc9386b5c92..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/cpp.F
+++ /dev/null
@@ -1,5 +0,0 @@
-! Some versions of cpp will delete "//'World' as a C++ comment.
- character*40 title
- title = 'Hello '//'World'
- if (title .ne. 'Hello World') call abort
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/dcomplex.f b/gcc/testsuite/g77.f-torture/execute/dcomplex.f
deleted file mode 100644
index a46f03aabef..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/dcomplex.f
+++ /dev/null
@@ -1,18 +0,0 @@
- program foo
- complex*16 z0, z1, z2
-
- z0 = dcmplx(0.,.5)
- z1 = 1./z0
- if (z1 .ne. dcmplx(0.,-2)) call abort
-
- z0 = 10.*z0
- if (z0 .ne. dcmplx(0.,5.)) call abort
-
- z2 = cmplx(1.,2.)
- z1 = z0/z2
- if (z1 .ne. dcmplx(2.,1.)) call abort
-
- z1 = z0*z2
- if (z1 .ne. dcmplx(-10.,5.)) call abort
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/dnrm2.f b/gcc/testsuite/g77.f-torture/execute/dnrm2.f
deleted file mode 100644
index c69608786b9..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/dnrm2.f
+++ /dev/null
@@ -1,74 +0,0 @@
-CCC g77 0.5.21 `Actual Bugs':
-CCC * A code-generation bug afflicts Intel x86 targets when `-O2' is
-CCC specified compiling, for example, an old version of the `DNRM2'
-CCC routine. The x87 coprocessor stack is being somewhat mismanaged
-CCC in cases where assigned `GOTO' and `ASSIGN' are involved.
-CCC
-CCC Version 0.5.21 of `g77' contains an initial effort to fix the
-CCC problem, but this effort is incomplete, and a more complete fix is
-CCC planned for the next release.
-
-C Currently this test fails with (at least) `-O2 -funroll-loops' on
-C i586-unknown-linux-gnulibc1.
-
-C (This is actually an obsolete version of dnrm2 -- consult the
-c current Netlib BLAS.)
-
- integer i
- double precision a(1:100), dnrm2
- do i=1,100
- a(i)=0.D0
- enddo
- if (dnrm2(100,a,1) .ne. 0.0) call abort
- end
-
- double precision function dnrm2 ( n, dx, incx)
- integer i, incx, ix, j, n, next
- double precision dx(1), cutlo, cuthi, hitest, sum, xmax,zero,one
- data zero, one /0.0d0, 1.0d0/
- data cutlo, cuthi / 8.232d-11, 1.304d19 /
- j = 0
- if(n .gt. 0 .and. incx.gt.0) go to 10
- dnrm2 = zero
- go to 300
- 10 assign 30 to next
- sum = zero
- i = 1
- ix = 1
- 20 go to next,(30, 50, 70, 110)
- 30 if( dabs(dx(i)) .gt. cutlo) go to 85
- assign 50 to next
- xmax = zero
- 50 if( dx(i) .eq. zero) go to 200
- if( dabs(dx(i)) .gt. cutlo) go to 85
- assign 70 to next
- go to 105
- 100 continue
- ix = j
- assign 110 to next
- sum = (sum / dx(i)) / dx(i)
- 105 xmax = dabs(dx(i))
- go to 115
- 70 if( dabs(dx(i)) .gt. cutlo ) go to 75
- 110 if( dabs(dx(i)) .le. xmax ) go to 115
- sum = one + sum * (xmax / dx(i))**2
- xmax = dabs(dx(i))
- go to 200
- 115 sum = sum + (dx(i)/xmax)**2
- go to 200
- 75 sum = (sum * xmax) * xmax
- 85 hitest = cuthi/float( n )
- do 95 j = ix,n
- if(dabs(dx(i)) .ge. hitest) go to 100
- sum = sum + dx(i)**2
- i = i + incx
- 95 continue
- dnrm2 = dsqrt( sum )
- go to 300
- 200 continue
- ix = ix + 1
- i = i + incx
- if( ix .le. n ) go to 20
- dnrm2 = xmax * dsqrt(sum)
- 300 continue
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/erfc.f b/gcc/testsuite/g77.f-torture/execute/erfc.f
deleted file mode 100644
index e5e0412f587..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/erfc.f
+++ /dev/null
@@ -1,38 +0,0 @@
-c============================================== test.f
- real x, y
- real*8 x1, y1
- x=0.
- y = erfc(x)
- if (y .ne. 1.) call abort
-
- x=1.1
- y = erfc(x)
- if (abs(y - .1197949) .ge. 1.e-6) call abort
-
-* modified from x=10, y .gt. 1.5e-44 to avoid lack of -mieee on Alphas.
- x=8
- y = erfc(x)
- if (y .gt. 1.2e-28) call abort
-
- x1=0.
- y1 = erfc(x1)
- if (y1 .ne. 1.) call abort
-
- x1=1.1d0
- y1 = erfc(x1)
- if (abs(y1 - .1197949d0) .ge. 1.d-6) call abort
-
- x1=10
- y1 = erfc(x1)
- if (y1 .gt. 1.5d-44) call abort
- end
-c=================================================
-!output:
-! 0. 1.875
-! 1.10000002 1.48958981
-! 10. 5.00220949E-06
-!
-!The values should be:
-!erfc(0)=1
-!erfc(1.1)= 0.1197949
-!erfc(10)<1.543115467311259E-044
diff --git a/gcc/testsuite/g77.f-torture/execute/execute.exp b/gcc/testsuite/g77.f-torture/execute/execute.exp
deleted file mode 100644
index 31608eed4f9..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/execute.exp
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-g77@prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-# Modified and maintained by Jeffrey Wheat (cassidy@cygnus.com)
-
-#
-# These tests come from Torbjorn Granlund (tege@cygnus.com)
-# Fortran torture test suite.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib f-torture.exp
-
-#
-# main test loop
-#
-
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.f]] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $src] then {
- continue
- }
-
- f-torture-execute $src
-}
-
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.F]] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $src] then {
- continue
- }
-
- f-torture-execute $src
-}
diff --git a/gcc/testsuite/g77.f-torture/execute/exp.f b/gcc/testsuite/g77.f-torture/execute/exp.f
deleted file mode 100644
index de388f181b0..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/exp.f
+++ /dev/null
@@ -1,3 +0,0 @@
- a = 2**-2*1.
- if (a .ne. .25) call abort
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/io0.f b/gcc/testsuite/g77.f-torture/execute/io0.f
deleted file mode 100644
index c56c9919077..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/io0.f
+++ /dev/null
@@ -1,46 +0,0 @@
-* Preliminary tests for a few things in the i/o library.
-* Thrown together by Dave Love not from specific bug reports --
-* other ideas welcome.
-
- character *(*) fmt
- parameter (fmt='(1x,i3,f5.1)')
-* Scratch file makes sure we can use one and avoids dealing with
-* explicit i/o in the testsuite.
- open(90, status='scratch') ! try a biggish unit number
- write(90, '()') ! extra record for interest
-* Formatted i/o can go wild (endless loop AFAIR) if we're wrongly
-* assuming an ANSI sprintf.
- write(90, fmt) 123, 123.0
- backspace 90 ! backspace problems reported on DOSish systems
- read(90, fmt) i, r
- endfile 90
- if (i/=123 .or. nint(r)/=123) call abort
- rewind 90 ! make sure we can rewind too
- read(90, '()')
- read(90, fmt) i, r
- if (i/=123 .or. nint(r)/=123) call abort
- close(90)
-* Make sure we can do unformatted i/o OK. This might be
-* problematic on DOS-like systems if we've done an fopen in text
-* mode, not binary.
- open(90, status='scratch', access='direct', form='unformatted',
- + recl=8)
- write(90, rec=1) 123, 123.0
- read(90, rec=1) i, r
- if (i/=123 .or. nint(r)/=123) call abort
- close(90)
- open(90, status='scratch', form='unformatted')
- write(90) 123, 123.0
- backspace 90
- read(90) i, r
- if (i/=123 .or. nint(r)/=123) call abort
- close(90)
-* Fails at 1998-09-01 on spurious recursive i/o check (fixed by
-* 1998-09-06 libI77 change):
- open(90, status='scratch', form='formatted', recl=16,
- + access='direct')
- write(90, '(i8,f8.1)',rec=1) 123, 123.0
- read(90, '(i8,f8.1)', rec=1) i, r
- if (i/=123 .or. nint(r)/=123) call abort
- close(90)
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/io1.f b/gcc/testsuite/g77.f-torture/execute/io1.f
deleted file mode 100644
index c5242446a49..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/io1.f
+++ /dev/null
@@ -1,10 +0,0 @@
-* Fixed by 1998-09-28 libI77/open.c change.
- open(90,status='scratch')
- write(90, '(1X, I1 / 1X, I1)') 1, 2
- rewind 90
- write(90, '(1X, I1)') 1
- rewind 90 ! implicit ENDFILE expected
- read(90, *) i
- read(90, *, end=10) j
- call abort()
- 10 end
diff --git a/gcc/testsuite/g77.f-torture/execute/labug1.f b/gcc/testsuite/g77.f-torture/execute/labug1.f
deleted file mode 100644
index 032fa41f899..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/labug1.f
+++ /dev/null
@@ -1,57 +0,0 @@
- PROGRAM LABUG1
-
-* This program core dumps on mips-sgi-irix6.2 when compiled
-* with egcs-19981101, egcs-19981109 and egcs-19981122 snapshots
-* with -O2
-*
-* Originally derived from LAPACK test suite.
-* Almost any change allows it to run.
-*
-* David Billinghurst, (David.Billinghurst@riotinto.com.au)
-* 25 November 1998
-*
-* .. Parameters ..
- INTEGER LDA, LDE
- PARAMETER ( LDA = 2500, LDE = 50 )
- COMPLEX CZERO
- PARAMETER ( CZERO = ( 0.0E+0, 0.0E+0 ) )
-
- INTEGER I, J, M, N
- REAL V
- COMPLEX A(LDA),B(LDA),C(LDA),E(LDE,LDE),F(LDE,LDE)
- COMPLEX Z
-
- N=2
- M=1
-*
- do i = 1, m
- do j = 1, n
- e(i,j) = czero
- f(i,j) = czero
- end do
- end do
-*
- DO J = 1, N
- DO I = 1, M
- V = ABS( E(I,J) - F(I,J) )
- END DO
- END DO
-
- CALL SUB2(M,Z)
-
- END
-
- subroutine SUB2(I,A)
- integer i
- complex a
- end
-
-
-
-
-
-
-
-
-
-
diff --git a/gcc/testsuite/g77.f-torture/execute/large_vec.f b/gcc/testsuite/g77.f-torture/execute/large_vec.f
deleted file mode 100644
index 0af5b1b0b3f..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/large_vec.f
+++ /dev/null
@@ -1,3 +0,0 @@
- parameter (nmax=165000)
- double precision x(nmax)
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/le.f b/gcc/testsuite/g77.f-torture/execute/le.f
deleted file mode 100644
index 74e42750d55..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/le.f
+++ /dev/null
@@ -1,29 +0,0 @@
- program fool
-
- real foo
- integer n
- logical t
-
- foo = 2.5
- n = 5
-
- t = (n > foo)
- if (t .neqv. .true.) call abort
- t = (n >= foo)
- if (t .neqv. .true.) call abort
- t = (n < foo)
- if (t .neqv. .false.) call abort
- t = (n <= 5)
- if (t .neqv. .true.) call abort
- t = (n >= 5 )
- if (t .neqv. .true.) call abort
- t = (n == 5)
- if (t .neqv. .true.) call abort
- t = (n /= 5)
- if (t .neqv. .false.) call abort
- t = (n /= foo)
- if (t .neqv. .true.) call abort
- t = (n == foo)
- if (t .neqv. .false.) call abort
-
- end
diff --git a/gcc/testsuite/g77.f-torture/execute/short.f b/gcc/testsuite/g77.f-torture/execute/short.f
deleted file mode 100644
index 89ae273891c..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/short.f
+++ /dev/null
@@ -1,57 +0,0 @@
- program short
-
- parameter ( N=2 )
- common /chb/ pi,sig(0:N)
- common /parm/ h(2,2)
-
-c initialize some variables
- h(2,2) = 1117
- h(2,1) = 1178
- h(1,2) = 1568
- h(1,1) = 1621
- sig(0) = -1.
- sig(1) = 0.
- sig(2) = 1.
-
- call printout
- stop
- end
-
-c ******************************************************************
-
- subroutine printout
- parameter ( N=2 )
- common /chb/ pi,sig(0:N)
- common /parm/ h(2,2)
- dimension yzin1(0:N), yzin2(0:N)
-
-c function subprograms
- z(i,j,k) = 0.5*h(i,j)*(sig(k)-1.)
-
-c a four-way average of rhobar
- do 260 k=0,N
- yzin1(k) = 0.25 *
- & ( z(2,2,k) + z(1,2,k) +
- & z(2,1,k) + z(1,1,k) )
- 260 continue
-
-c another four-way average of rhobar
- do 270 k=0,N
- rtmp1 = z(2,2,k)
- rtmp2 = z(1,2,k)
- rtmp3 = z(2,1,k)
- rtmp4 = z(1,1,k)
- yzin2(k) = 0.25 *
- & ( rtmp1 + rtmp2 + rtmp3 + rtmp4 )
- 270 continue
-
- do k=0,N
- if (yzin1(k) .ne. yzin2(k)) call abort
- enddo
- if (yzin1(0) .ne. -1371.) call abort
- if (yzin1(1) .ne. -685.5) call abort
- if (yzin1(2) .ne. 0.) call abort
-
- return
- end
-
diff --git a/gcc/testsuite/g77.f-torture/execute/u77-test.f b/gcc/testsuite/g77.f-torture/execute/u77-test.f
deleted file mode 100644
index 198d48b460c..00000000000
--- a/gcc/testsuite/g77.f-torture/execute/u77-test.f
+++ /dev/null
@@ -1,421 +0,0 @@
-*** Some random stuff for testing libU77. Should be done better. It's
-* hard to test things where you can't guarantee the result. Have a
-* good squint at what it prints, though detected errors will cause
-* starred messages.
-*
-* Currently not tested:
-* ALARM
-* CHDIR (func)
-* CHMOD (func)
-* FGET (func/subr)
-* FGETC (func)
-* FPUT (func/subr)
-* FPUTC (func)
-* FSTAT (subr)
-* GETCWD (subr)
-* HOSTNM (subr)
-* IRAND
-* KILL
-* LINK (func)
-* LSTAT (subr)
-* RENAME (func/subr)
-* SIGNAL (subr)
-* SRAND
-* STAT (subr)
-* SYMLNK (func/subr)
-* UMASK (func)
-* UNLINK (func)
-*
-* NOTE! This is the testsuite version, so it should compile and
-* execute on all targets, and either run to completion (with
-* success status) or fail (by calling abort). The *other* version,
-* which is a bit more interactive and tests a couple of things
-* this one cannot, should be generally the same, and is in
-* libf2c/libU77/u77-test.f. Please keep it up-to-date.
-
- implicit none
-
- external hostnm
-* intrinsic hostnm
- integer hostnm
-
- integer i, j, k, ltarray (9), idat (3), count, rate, count_max,
- + pid, mask
- real tarray1(2), tarray2(2), r1, r2
- double precision d1
- integer(kind=2) bigi
- logical issum
- intrinsic getpid, getuid, getgid, ierrno, gerror, time8,
- + fnum, isatty, getarg, access, unlink, fstat, iargc,
- + stat, lstat, getcwd, gmtime, etime, chmod, itime, date,
- + chdir, fgetc, fputc, system_clock, second, idate, secnds,
- + time, ctime, fdate, ttynam, date_and_time, mclock, mclock8,
- + cpu_time, dtime, ftell, abort
- external lenstr, ctrlc
- integer lenstr
- logical l
- character gerr*80, c*1
- character ctim*25, line*80, lognam*20, wd*100, line2*80, ddate*8,
- + ttime*10, zone*5, ctim2*25
- integer fstatb (13), statb (13)
- integer *2 i2zero
- integer values(8)
- integer(kind=7) sigret
-
- i = time ()
- ctim = ctime (i)
- WRITE (6,'(A/)') '1 GNU libU77 test at: ' // ctim(:lenstr (ctim))
- write (6,'(A,I3,'', '',I3)')
- + ' Logical units 5 and 6 correspond (FNUM) to'
- + // ' Unix i/o units ', fnum(5), fnum(6)
- if (lnblnk('foo ').ne.3 .or. len_trim('foo ').ne.3) then
- print *, 'LNBLNK or LEN_TRIM failed'
- call abort
- end if
-
- bigi = time8 ()
-
- call ctime (i, ctim2)
- if (ctim .ne. ctim2) then
- write (6, *) '*** CALL CTIME disagrees with CTIME(): ',
- + ctim2(:lenstr (ctim2)), ' vs. ', ctim(:lenstr (ctim))
- call doabort
- end if
-
- j = time ()
- if (i .gt. bigi .or. bigi .gt. j) then
- write (6, *) '*** TIME/TIME8/TIME sequence failures: ',
- + i, bigi, j
- call doabort
- end if
-
- print *, 'Command-line arguments: ', iargc ()
- do i = 0, iargc ()
- call getarg (i, line)
- print *, 'Arg ', i, ' is: ', line(:lenstr (line))
- end do
-
- l= isatty(6)
- line2 = ttynam(6)
- if (l) then
- line = 'and 6 is a tty device (ISATTY) named '//line2
- else
- line = 'and 6 isn''t a tty device (ISATTY)'
- end if
- write (6,'(1X,A)') line(:lenstr(line))
- call ttynam (6, line)
- if (line .ne. line2) then
- print *, '*** CALL TTYNAM disagrees with TTYNAM: ',
- + line(:lenstr (line))
- call doabort
- end if
-
-* regression test for compiler crash fixed by JCB 1998-08-04 com.c
- sigret = signal(2, ctrlc)
-
- pid = getpid()
- WRITE (6,'(A,I10)') ' Process id (GETPID): ', pid
- WRITE (6,'(A,I10)') ' User id (GETUID): ', GETUID ()
- WRITE (6,'(A,I10)') ' Group id (GETGID): ', GETGID ()
- WRITE (6, *) 'If you have the `id'' program, the following call'
- write (6, *) 'of SYSTEM should agree with the above:'
- call flush(6)
- CALL SYSTEM ('echo " " `id`')
- call flush
-
- lognam = 'blahblahblah'
- call getlog (lognam)
- write (6,*) 'Login name (GETLOG): ', lognam(:lenstr (lognam))
-
- wd = 'blahblahblah'
- call getenv ('LOGNAME', wd)
- write (6,*) 'Login name (GETENV of LOGNAME): ', wd(:lenstr (wd))
-
- call umask(0, mask)
- write(6,*) 'UMASK returns', mask
- call umask(mask)
-
- ctim = fdate()
- write (6,*) 'FDATE returns: ', ctim(:lenstr (ctim))
- call fdate (ctim)
- write (6,*) 'CALL FDATE returns: ', ctim(:lenstr (ctim))
-
- j=time()
- call ltime (j, ltarray)
- write (6,'(1x,a,9i4)') 'LTIME returns:', ltarray
- call gmtime (j, ltarray)
- write (6,'(1x,a,9i4)') 'GMTIME returns:', ltarray
-
- call system_clock(count) ! omitting optional args
- call system_clock(count, rate, count_max)
- write(6,*) 'SYSTEM_CLOCK returns: ', count, rate, count_max
-
- call date_and_time(ddate) ! omitting optional args
- call date_and_time(ddate, ttime, zone, values)
- write(6, *) 'DATE_AND_TIME returns: ', ddate, ' ', ttime, ' ',
- + zone, ' ', values
-
- write (6,*) 'Sleeping for 1 second (SLEEP) ...'
- call sleep (1)
-
-c consistency-check etime vs. dtime for first call
- r1 = etime (tarray1)
- r2 = dtime (tarray2)
- if (abs (r1-r2).gt.1.0) then
- write (6,*)
- + 'Results of ETIME and DTIME differ by more than a second:',
- + r1, r2
- call doabort
- end if
- if (.not. issum (r1, tarray1(1), tarray1(2))) then
- write (6,*) '*** ETIME didn''t return sum of the array: ',
- + r1, ' /= ', tarray1(1), '+', tarray1(2)
- call doabort
- end if
- if (.not. issum (r2, tarray2(1), tarray2(2))) then
- write (6,*) '*** DTIME didn''t return sum of the array: ',
- + r2, ' /= ', tarray2(1), '+', tarray2(2)
- call doabort
- end if
- write (6, '(A,3F10.3)')
- + ' Elapsed total, user, system time (ETIME): ',
- + r1, tarray1
-
-c now try to get times to change enough to see in etime/dtime
- write (6,*) 'Looping until clock ticks at least once...'
- do i = 1,1000
- do j = 1,1000
- end do
- call dtime (tarray2, r2)
- if (tarray2(1) .ne. 0. .or. tarray2(2) .ne. 0.) exit
- end do
- call etime (tarray1, r1)
- if (.not. issum (r1, tarray1(1), tarray1(2))) then
- write (6,*) '*** ETIME didn''t return sum of the array: ',
- + r1, ' /= ', tarray1(1), '+', tarray1(2)
- call doabort
- end if
- if (.not. issum (r2, tarray2(1), tarray2(2))) then
- write (6,*) '*** DTIME didn''t return sum of the array: ',
- + r2, ' /= ', tarray2(1), '+', tarray2(2)
- call doabort
- end if
- write (6, '(A,3F10.3)')
- + ' Differences in total, user, system time (DTIME): ',
- + r2, tarray2
- write (6, '(A,3F10.3)')
- + ' Elapsed total, user, system time (ETIME): ',
- + r1, tarray1
- write (6, *) '(Clock-tick detected after ', i, ' 1K loops.)'
-
- call idate (i,j,k)
- call idate (idat)
- write (6,*) 'IDATE (date,month,year): ',idat
- print *, '... and the VXT version (month,date,year): ', i,j,k
- if (i/=idat(2) .or. j/=idat(1) .or. k/=mod(idat(3),100)) then
- print *, '*** VXT and U77 versions don''t agree'
- call doabort
- end if
-
- call date (ctim)
- write (6,*) 'DATE (dd-mmm-yy): ', ctim(:lenstr (ctim))
-
- call itime (idat)
- write (6,*) 'ITIME (hour,minutes,seconds): ', idat
-
- call time(line(:8))
- print *, 'TIME: ', line(:8)
-
- write (6,*) 'SECNDS(0.0) returns: ',secnds(0.0)
-
- write (6,*) 'SECOND returns: ', second()
- call dumdum(r1)
- call second(r1)
- write (6,*) 'CALL SECOND returns: ', r1
-
-* compiler crash fixed by 1998-10-01 com.c change
- if (rand(0).lt.0.0 .or. rand(0).gt.1.0) then
- write (6,*) '*** rand(0) error'
- call doabort()
- end if
-
- i = getcwd(wd)
- if (i.ne.0) then
- call perror ('*** getcwd')
- call doabort
- else
- write (6,*) 'Current directory is "'//wd(:lenstr(wd))//'"'
- end if
- call chdir ('.',i)
- if (i.ne.0) then
- write (6,*) '***CHDIR to ".": ', i
- call doabort
- end if
-
- i=hostnm(wd)
- if(i.ne.0) then
- call perror ('*** hostnm')
- call doabort
- else
- write (6,*) 'Host name is ', wd(:lenstr(wd))
- end if
-
- i = access('/dev/null ', 'rw')
- if (i.ne.0) write (6,*) '***Read/write ACCESS to /dev/null: ', i
- write (6,*) 'Creating file "foo" for testing...'
- open (3,file='foo',status='UNKNOWN')
- rewind 3
- call fputc(3, 'c',i)
- call fputc(3, 'd',j)
- if (i+j.ne.0) write(6,*) '***FPUTC: ', i
-C why is it necessary to reopen? (who wrote this?)
-C the better to test with, my dear! (-- burley)
- close(3)
- open(3,file='foo',status='old')
- call fseek(3,0,0,*10)
- go to 20
- 10 write(6,*) '***FSEEK failed'
- call doabort
- 20 call fgetc(3, c,i)
- if (i.ne.0) then
- write(6,*) '***FGETC: ', i
- call doabort
- end if
- if (c.ne.'c') then
- write(6,*) '***FGETC read the wrong thing: ', ichar(c)
- call doabort
- end if
- i= ftell(3)
- if (i.ne.1) then
- write(6,*) '***FTELL offset: ', i
- call doabort
- end if
- call ftell(3, i)
- if (i.ne.1) then
- write(6,*) '***CALL FTELL offset: ', i
- call doabort
- end if
- call chmod ('foo', 'a+w',i)
- if (i.ne.0) then
- write (6,*) '***CHMOD of "foo": ', i
- call doabort
- end if
- i = fstat (3, fstatb)
- if (i.ne.0) then
- write (6,*) '***FSTAT of "foo": ', i
- call doabort
- end if
- i = stat ('foo', statb)
- if (i.ne.0) then
- write (6,*) '***STAT of "foo": ', i
- call doabort
- end if
- write (6,*) ' with stat array ', statb
- if (statb(6) .ne. getgid ()) then
- write (6,*) 'Note: FSTAT gid wrong (happens on some systems).'
- end if
- if (statb(5) .ne. getuid () .or. statb(4) .ne. 1) then
- write (6,*) '*** FSTAT uid or nlink is wrong'
- call doabort
- end if
- do i=1,13
- if (fstatb (i) .ne. statb (i)) then
- write (6,*) '*** FSTAT and STAT don''t agree on '// '
- + array element ', i, ' value ', fstatb (i), statb (i)
- call abort
- end if
- end do
- i = lstat ('foo', fstatb)
- do i=1,13
- if (fstatb (i) .ne. statb (i)) then
- write (6,*) '*** LSTAT and STAT don''t agree on '//
- + 'array element ', i, ' value ', fstatb (i), statb (i)
- call abort
- end if
- end do
-
-C in case it exists already:
- call unlink ('bar',i)
- call link ('foo ', 'bar ',i)
- if (i.ne.0) then
- write (6,*) '***LINK "foo" to "bar" failed: ', i
- call doabort
- end if
- call unlink ('foo',i)
- if (i.ne.0) then
- write (6,*) '***UNLINK "foo" failed: ', i
- call doabort
- end if
- call unlink ('foo',i)
- if (i.eq.0) then
- write (6,*) '***UNLINK "foo" again: ', i
- call doabort
- end if
-
- call gerror (gerr)
- i = ierrno()
- write (6,'(A,I3,A/1X,A)') ' The current error number is: ',
- + i,
- + ' and the corresponding message is:', gerr(:lenstr(gerr))
- write (6,*) 'This is sent to stderr prefixed by the program name'
- call getarg (0, line)
- call perror (line (:lenstr (line)))
- call unlink ('bar')
-
- print *, 'MCLOCK returns ', mclock ()
- print *, 'MCLOCK8 returns ', mclock8 ()
-
- call cpu_time (d1)
- print *, 'CPU_TIME returns ', d1
-
-C WRITE (6,*) 'You should see exit status 1'
- CALL EXIT(0)
- 99 END
-
-* Return length of STR not including trailing blanks, but always > 0.
- integer function lenstr (str)
- character*(*) str
- if (str.eq.' ') then
- lenstr=1
- else
- lenstr = lnblnk (str)
- end if
- end
-
-* Just make sure SECOND() doesn't "magically" work the second time.
- subroutine dumdum(r)
- r = 3.14159
- end
-
-* Test whether sum is approximately left+right.
- logical function issum (sum, left, right)
- implicit none
- real sum, left, right
- real mysum, delta, width
- mysum = left + right
- delta = abs (mysum - sum)
- width = abs (left) + abs (right)
- issum = (delta .le. .0001 * width)
- end
-
-* Signal handler
- subroutine ctrlc
- print *, 'Got ^C'
- call doabort
- end
-
-* A problem has been noticed, so maybe abort the test.
- subroutine doabort
-* For this version, call the ABORT intrinsic.
- intrinsic abort
- call abort
- end
-
-* Testsuite version only.
-* Don't actually reference the HOSTNM intrinsic, because some targets
-* need -lsocket, which we don't have a mechanism for supplying.
- integer function hostnm(nm)
- character*(*) nm
- nm = 'not determined by this version of u77-test.f'
- hostnm = 0
- end
diff --git a/gcc/testsuite/g77.f-torture/noncompile/19981216-0.f b/gcc/testsuite/g77.f-torture/noncompile/19981216-0.f
deleted file mode 100644
index 0cc9087d6cb..00000000000
--- a/gcc/testsuite/g77.f-torture/noncompile/19981216-0.f
+++ /dev/null
@@ -1,89 +0,0 @@
-* Resent-From: Craig Burley <burley@gnu.org>
-* Resent-To: craig@jcb-sc.com
-* X-Delivered: at request of burley on mescaline.gnu.org
-* Date: Wed, 16 Dec 1998 18:31:24 +0100
-* From: Dieter Stueken <stueken@conterra.de>
-* Organization: con terra GmbH
-* To: fortran@gnu.org
-* Subject: possible bug
-* Content-Type: text/plain; charset=iso-8859-1
-* X-Mime-Autoconverted: from 8bit to quoted-printable by mescaline.gnu.org id KAA09085
-* X-UIDL: 72293bf7f9fac8378ec7feca2bccbce2
-*
-* Hi,
-*
-* I'm about to compile a very old, very ugly Fortran program.
-* For one part I got:
-*
-* f77: Internal compiler error: program f771 got fatal signal 6
-*
-* instead of any detailed error message. I was able to break down the
-* problem to the following source fragment:
-*
-* -------------------------------------------
- PROGRAM WAP
-
- integer*2 ios
- character*80 name
-
- name = 'blah'
- open(unit=8,status='unknown',file=name,form='formatted',
- F iostat=ios)
-
- END
-* -------------------------------------------
-*
-* The problem seems to be caused by the "integer*2 ios" declaration.
-* So far I solved it by simply using a plain integer instead.
-*
-* I'm running gcc on a Linux system compiled/installed
-* with no special options:
-*
-* -> g77 -v
-* g77 version 0.5.23
-* Driving: g77 -v -c -xf77-version /dev/null -xnone
-* Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnulibc1/2.8.1/specs
-* gcc version 2.8.1
-* /usr/lib/gcc-lib/i686-pc-linux-gnulibc1/2.8.1/cpp -lang-c -v -undef
-* -D__GNUC__=2 -D__GNUC_MINOR__=8 -D__ELF__ -D__unix__ -D__linux__
-* -D__unix -D__linux -Asystem(posix) -D_LANGUAGE_FORTRAN -traditional
-* -Di386 -Di686 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__
-* -D__i686__ -Asystem(unix) -Acpu(i386) -Amachine(i386) /dev/null
-* /dev/null
-* GNU CPP version 2.8.1 (i386 GNU/Linux with ELF)
-* #include "..." search starts here:
-* #include <...> search starts here:
-* /usr/local/include
-* /usr/i686-pc-linux-gnulibc1/include
-* /usr/lib/gcc-lib/i686-pc-linux-gnulibc1/2.8.1/include
-* /usr/include
-* End of search list.
-* /usr/lib/gcc-lib/i686-pc-linux-gnulibc1/2.8.1/f771 -fnull-version
-* -quiet -dumpbase g77-version.f -version -fversion -o /tmp/cca24911.s
-* /dev/null
-* GNU F77 version 2.8.1 (i686-pc-linux-gnulibc1) compiled by GNU C version
-* 2.8.1.
-* GNU Fortran Front End version 0.5.23
-* as -V -Qy -o /tmp/cca24911.o /tmp/cca24911.s
-* GNU assembler version 2.8.1 (i486-linux), using BFD version 2.8.1
-* ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.1 -o /tmp/cca24911
-* /tmp/cca24911.o /usr/lib/crt1.o /usr/lib/crti.o
-* /usr/lib/gcc-lib/i686-pc-linux-gnulibc1/2.8.1/crtbegin.o
-* -L/usr/lib/gcc-lib/i686-pc-linux-gnulibc1/2.8.1 -L/usr -lg2c -lm -lgcc
-* -lc -lgcc /usr/lib/gcc-lib/i686-pc-linux-gnulibc1/2.8.1/crtend.o
-* /usr/lib/crtn.o
-* /tmp/cca24911
-* __G77_LIBF77_VERSION__: 0.5.23
-* @(#)LIBF77 VERSION 19970919
-* __G77_LIBI77_VERSION__: 0.5.23
-* @(#) LIBI77 VERSION pjw,dmg-mods 19980405
-* __G77_LIBU77_VERSION__: 0.5.23
-* @(#) LIBU77 VERSION 19970919
-*
-*
-* Regards, Dieter.
-* --
-* Dieter Stüken, con terra GmbH, Münster
-* stueken@conterra.de stueken@qgp.uni-muenster.de
-* http://www.conterra.de/ http://qgp.uni-muenster.de/~stueken
-* (0)251-980-2027 (0)251-83-334974
diff --git a/gcc/testsuite/g77.f-torture/noncompile/19990218-1.f b/gcc/testsuite/g77.f-torture/noncompile/19990218-1.f
deleted file mode 100644
index 25b7c5b2b52..00000000000
--- a/gcc/testsuite/g77.f-torture/noncompile/19990218-1.f
+++ /dev/null
@@ -1,13 +0,0 @@
- double precision function fun(a,b)
- double precision a,b
- print*,'in sub: a,b=',a,b
- fun=a*b
- print*,'in sub: fun=',fun
- return
- end
- program test
- double precision a,b,c
- data a,b/1.0d-46,1.0d0/
- c=fun(a,b)
- print*,'in main: fun=',c
- end
diff --git a/gcc/testsuite/g77.f-torture/noncompile/980615-0.f b/gcc/testsuite/g77.f-torture/noncompile/980615-0.f
deleted file mode 100644
index 316969f6aa8..00000000000
--- a/gcc/testsuite/g77.f-torture/noncompile/980615-0.f
+++ /dev/null
@@ -1,10 +0,0 @@
-* Fixed by JCB 1998-07-25 change to stc.c.
-
-* Date: Thu, 11 Jun 1998 22:35:20 -0500
-* From: Ian A Watson <WATSON_IAN_A@lilly.com>
-* Subject: crash
-*
- CaLL foo(W)
- END
- SUBROUTINE foo(W)
- yy(I)=A(I)Q(X)
diff --git a/gcc/testsuite/g77.f-torture/noncompile/980616-0.f b/gcc/testsuite/g77.f-torture/noncompile/980616-0.f
deleted file mode 100644
index bd5e74022a3..00000000000
--- a/gcc/testsuite/g77.f-torture/noncompile/980616-0.f
+++ /dev/null
@@ -1,8 +0,0 @@
-* Fixed by 1998-07-11 equiv.c change.
-* ../../gcc/f/equiv.c:666: failed assertion `ffebld_op (subscript) == FFEBLD_opCONTER'
-
-* Date: Mon, 15 Jun 1998 21:54:32 -0500
-* From: Ian A Watson <WATSON_IAN_A@lilly.com>
-* Subject: Mangler Crash
- EQUIVALENCE(I,glerf(P))
- COMMON /foo/ glerf(3)
diff --git a/gcc/testsuite/g77.f-torture/noncompile/check0.f b/gcc/testsuite/g77.f-torture/noncompile/check0.f
deleted file mode 100644
index fc3c6ca730e..00000000000
--- a/gcc/testsuite/g77.f-torture/noncompile/check0.f
+++ /dev/null
@@ -1,11 +0,0 @@
-CCC Abort fixed by:
-CCC1998-04-21 Jim Wilson <wilson@cygnus.com>
-CCC
-CCC * stmt.c (check_seenlabel): When search for line number note for
-CCC warning, handle case where there is no such note.
- logical l(10)
- integer i(10)
- goto (10,20),l
- goto (10,20),i
- 10 stop
- 20 end
diff --git a/gcc/testsuite/g77.f-torture/noncompile/noncompile.exp b/gcc/testsuite/g77.f-torture/noncompile/noncompile.exp
deleted file mode 100644
index 7087aa2eb4d..00000000000
--- a/gcc/testsuite/g77.f-torture/noncompile/noncompile.exp
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 1988, 90, 91, 92, 97, 1998 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# This file was written by Jeff Law. (law@cs.utah.edu)
-
-#
-# These tests come from Torbjorn Granlund (tege@cygnus.com)
-# C torture test suite.
-#
-
-load_lib mike-g77.exp
-
-# Test check0.f
-prebase
-
-set src_code check0.f
-# Not really sure what the error should be here...
-set compiler_output ".*:8.*:9"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
diff --git a/gcc/testsuite/gcc.c-torture/ChangeLog b/gcc/testsuite/gcc.c-torture/ChangeLog
deleted file mode 100644
index 2d435aac668..00000000000
--- a/gcc/testsuite/gcc.c-torture/ChangeLog
+++ /dev/null
@@ -1,821 +0,0 @@
-Wed Apr 7 23:08:59 1999 Jim Wilson <wilson@cygnus.com>
-
- * execute/920501-7.c (main): Delete __I960__ ifndef.
-
-Mon Mar 22 14:55:58 1999 Jim Wilson <wilson@cygnus.com>
-
- * execute/bf-sign-2.c (main): Replace struct sizeof test with 4.
-
-Wed Mar 17 12:22:39 1999 Richard Henderson <rth@cygnus.com>
-
- * gcc.c-torture/execute/ieee/980619-1.x: New. Expected fail on x86.
-
-Fri Mar 12 16:17:28 1999 Jim Wilson <wilson@cygnus.com>
-
- * execute/970312-1.c, execute/980605-1.c (f): Change printf to sprintf.
- * execute/bf-sign-2.c (struct X): Add u15 field.
- (main): Add check for u15. Conditionalize u31 check depending on
- whether ints are <32 bits or >=32 bits.
-
-1999-03-01 Zack Weinberg <zack@rabi.columbia.edu>
-
- * noncompile/noncompile.exp (951025-1.c): Accept an error
- message on line 1 or line 2; cccp and cpplib do this differently.
-
-1999-02-03 Nick Clifton <nickc@cygnus.com>
-
- * execute/memcheck/blkarg.c (foo): Use 10 leading arguments in
- order to force structure S onto the stack even on the alpha.
- (test): Pass 10 leading arguments to function foo as well as the
- structure S.
-
- * execute/memcheck/blkarg.x: New file: Expected failure for all
- targets.
-
- * execute/memcheck/driver.c (main): Use exit or abort to terminate
- program execution.
-
-1999-01-28 Michael Meissner <meissner@cygnus.com>
-
- * execute/990128-1.c: New test.
-
-1999-01-27 Michael Meissner <meissner@cygnus.com>
-
- * execute/990127-{1,2}.c: New tests.
-
-1998-12-14 Nick Clifton <nickc@cygnus.com>
-
- * execute/920501-4.c (main): Fix typo: replace | with ||.
-
-1998-11-30 Nick Clifton <nickc@cygnus.com>
-
- * execute/981130-1.c: New test.
- * execute/981130-1.x: New test failure expectations.
-
-Sun Oct 11 05:04:28 1998 Ken Raeburn <raeburn@cygnus.com>
-
- * execute/memcheck: New directory of tests for
- -fcheck-memory-usage.
-
-1998-10-06 Ken Raeburn <raeburn@cygnus.com>
-
- * special/981006-1.c: New test. Make sure gcc doesn't lose track
- of the possible targets of tablejump insns.
- * special/special.exp: Run it.
-
-Thu Oct 1 17:15:26 1998 Nick Clifton <nickc@cygnus.com>
-
- * compile/981001-1.c: New test.
- * execute/981001-1.c: New test.
-
-Mon Aug 31 12:00:00 1998 Catherine Moore <clm@cygnus.com>
-
- * execute/941014-1.x: New file.
-
-Wed Aug 26 16:10:00 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * execute/loop-4b.c: New test.
-
-Mon Aug 24 14:20:32 1998 Nick Clifton <nickc@cygnus.com>
-
- * execute/bcp-1.c (main): Fix optimize test loop to count number
- tests in opt_t0 not good_t0.
-
-Thu Aug 13 00:13:55 1998 Jeffrey A Law (law@cygnus.com)
-
- * execute/ieee/ieee.exp: Pass -ffloat-store to compiler for
- ieee tests.
-
-Mon Jul 27 11:05:07 1998 Nick Clifton <nickc@cygnus.com>
-
- * execute/ieee/930529-1.c (main): Check to see if __thumb__ is
- defined, and test for ARM style doubles if so.
-
-Fri Jul 24 11:02:43 1998 Nick Clifton <nickc@cygnus.com>
-
- * execute/comp-goto-1.c (main): Make main() return an int.
-
-Thu Jun 18 15:12:30 1998 Michael Meissner <meissner@cygnus.com>
-
- * execute/980618-{1,2}.c: New tests that showed up m32r bugs.
-
-Fri Jun 5 21:54:26 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * execute/980605-1.c: New test.
-
-Sun May 31 23:23:29 1998 Michael Meissner <meissner@cygnus.com>
-
- * execute/ieee/mzero2.c: New test to better test IEEE -0 support.
-
-Wed Apr 8 13:09:15 1998 Jim Wilson <wilson@cygnus.com>
-
- * execute/980407-1.c: Delete test. Is duplicate of loop-4.c.
-
-Tue Apr 7 12:01:24 1998 Jim Wilson <wilson@cygnus.com>
-
- * execute/980407-1.c: New test from Joern Rennecke.
-
-Fri Apr 3 12:27:49 1998 Jim Wilson <wilson@cygnus.com>
-
- * compile/980329-1.c: New test.
-
-Mon Feb 23 15:16:53 1998 Robert Lipe <robertl@dgii.com>
- From Bruno Haible <haible@ilog.fr>:
- * execute/980223.c: New test.
-
-Fri Feb 6 14:30:48 1998 Jim Wilson <wilson@cygnus.com>
-
- * execute/980205.c: New test.
-
-Mon Dec 8 23:55:26 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * noncompile/noncompile.exp (921102-1.c): Fixed comment.
- (940510-1.c): Removed duplicate.
- (971104-1.c): New test.
-
-Wed Nov 19 14:27:04 1997 Michael Meissner <meissner@cygnus.com>
-
- * execute/950221-1.c (filler): If STACK_SIZE is defined, use that
- to size the filler array.
-
-Wed Sep 3 17:29:35 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * execute/ieee/ieee.exp: Check for ieee_multilib_flags target
- feature; pass this to c-torture-execute as needed.
-
-Fri Aug 29 12:48:09 1997 Jeffrey A Law (law@cygnus.com)
-
- * execute/921007-1.c: Make strcmp static.
-
-Tue Jul 29 00:40:38 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * conversion.c (test_float_to_integer): Make double precision tests
- dependent on sizeof (double).
-
-Tue Jun 17 22:11:16 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * compile/961203-1.cexp: New script.
-
-Wed Jun 4 03:38:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * execute/ieee/ieee.exp: Set -mieee for SH.
-
-Thu May 15 14:00:04 1997 Mike Meissner <meissner@cygnus.com>
-
- * execute/va-arg-3.c: If NO_VARARGS is defined, nop test.
-
- * execute/strct-varg-1.c: If NO_VARARGS is defined, use stdargs.h
- interface.
-
-Fri Mar 21 16:34:52 1997 Michael Meissner <meissner@cygnus.com>
-
- * execute/920501-7.c (main,x): If NO_LABELS_VALUES is defined,
- don't do test.
-
-Wed Mar 19 13:06:26 1997 Michael Meissner <meissner@cygnus.com>
-
- * execute/ieee/rbug.c (main): Don't do long long to double
- conversion if double isn't at least 8 bytes.
-
- * execute/cvt-1.c: Make all functions use long, not int to work
- with targets where int is 16 bits.
-
- * execute/920715-1.c (main): If double isn't at least 8 bytes,
- just exit, since 4 byte doubles don't have enough bits of
- precision for the test to complete.
-
-Fri Mar 14 17:51:02 1997 Michael Meissner <meissner@cygnus.com>
-
- * execute/920715-1.cexp (d10v-*-*): Expect to fail if d10v is not
- compiled with the -mdouble64 flag.
- * execute/ieee/rbug.cexp (d10v-*-*): Ditto.
-
- * execute/cvt-1.cexp (d10v-*-*): Expect to fail if d10v is not
- compiled with the -mint32 flag.
-
-Wed Mar 12 01:23:08 1997 Torbjorn Granlund <tege@pdc.kth.se>
-
- * execute/961213-1.c: New test (from hjl@lucon.org).
-
- * execute/complex-5.c: New test (from moshier@world.std.com).
-
- * execute/970217-1.c: New test (from eggert@twinsun.com).
-
- * execute/970214-[12].c: New tests (from eggert@twinsun.com).
-
- * compile/970214-1.c: New test (from wilson@cygnus.com).
-
- * execute/ieee/930529-1.c: Also handle arm's unusual byte/word
- ordering (from amylaar@cygnus.com).
-
- * execute/index-1.c: Make large vars and values `long'
- (from law@cygnus.com).
-
- * execute/941014-2.c: Declare malloc.
-
- * compile/970206-1.c: New test (from dje@cygnus.com).
-
- * execute/960521-1.c: Rewrite to take STACK_SIZE into account
- (from amylaar@cygnus.co.uk).
-
- * execute/961223-1.c: New test (from wilson@cygnus.com).
-
- * compile/961203-1.c: New test (from amylaar@cygnus.co.uk).
-
- * compile/961126-1.c: New test (from wilson@cygnus.com).
-
- * execute/961125-1.c: New test (from meyering@asic.sc.ti.com).
-
- * execute/961122-2.c: New test (from
- schwab@issan.informatik.uni-dortmund.de).
-
- * execute/961122-1.c: New test (from Philippe De Muyter).
-
- * execute/loop-2[ef].c: Default MAP_FIXED to 0 (from
- amylaar@cygnus.co.uk).
-
- Changes from meissner@cygnus.com:
- * execute/920501-9.c (print_longlong): Print pieces as a long, not int.
- * execute/950915-1.c: (a,b): Make types long to prevent implicit
- overflow on 16-bit systems.
- * execute/dbra-1.c: Pass long values to functions expecting
- long values.
- * execute/950607-2.c: (Point): Make field type long, since 23250 -
- (-23250) is larger than 16 bits.
- * execute/960416-1.c: Make st type unsigned long, not unsigned int.
- * execute/bf-sign-2.c: Make bitfields whose size is > 16 bits
- long, not int for 16-bit hosts.
- * execute/961017-2.c: Make z unsigned long, not unsigned int.
-
- * execute/cmpsi-1.c: Rewrite not to depend on type sizes.
-
- * execute/960909-1.c (ffs): New function (from law@cygnus.com).
-
- * execute/fp-cmp-1.c: Add test for SIGNAL_SUPPRESS around signal call.
- Move to execute/ieee.
-
- * execute/970312-1.c: New test.
- * execute/cvt-1.c: New test.
-
-Thu Feb 13 13:52:23 1997 Michael Meissner <meissner@cygnus.com>
-
- * compile/920301-1.c: If NO_LABEL_VALUES is defined, nop test
- using labels as values extension.
- * compile/920415-1.c: Ditto.
- * compile/920428-3.c: Ditto.
- * compile/920501-1.c: Ditto.
- * compile/920501-7.c: Ditto.
- * compile/941014-4.c: Ditto.
- * compile/950613-1.c: Ditto.
- * compile/labels-1.c: Ditto.
- * execute/920302-1.c: Ditto.
- * execute/920415-1.c: Ditto.
- * execute/920428-2.c: Ditto.
- * execute/920501-3.c: Ditto.
- * execute/920501-4.c: Ditto.
- * execute/920501-5.c: Ditto.
- * execute/920721-4.c: Ditto.
- * execute/comp-goto-1.c: Ditto.
-
- * compile/930506-2.c: If NO_TRAMPOLINES is defined, nop the test.
- * execute/921215-1.c: Ditto.
- * execute/931002-1.c: Ditto.
- * execute/nestfunc-1.c: Ditto.
-
-Wed Jan 22 00:04:53 1997 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/961017-1.c: Add missing exit (0).
-
-Fri Dec 6 19:38:57 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/961206-1.c: New test.
-
-Wed Nov 13 17:13:05 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/loop-2[ef].c: Misc portability changes
- (from amylaar@cygnus.co.uk).
-
-Tue Nov 12 15:00:42 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/961112-1.c: New test (based on a test by wilson@cygnus.com).
-
- * execute/ieee/DESC: New file.
-
- * execute/{loop-2[bcdef].c,loop-3[bc].c}:
- New tests (from amylaar@cygnus.co.uk).
-
- * execute/ieee/nan.c: Delete test.
-
- * execute/fp-cmp-1.c: Disable for Cray and VAX.
-
- * execute/960416-1.c: Make it work for big-endian machines (from
- amylaar@cygnus.co.uk).
-
-Mon Nov 11 18:00:35 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/960830-1.c: Make it work for non-x86 machines.
-
- * execute/961017-2.c: Call exit(0).
-
-Fri Nov 8 19:19:17 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/960311-3.c: #include <stdio.h>.
- * execute/920501-8.c: Likewise.
- * execute/920501-9.c: Likewise.
- * execute/941014-2.c: Likewise.
- * execute/960311-1.c: Likewise.
- * execute/960311-2.c: Likewise.
-
- * execute/961017-[12].c: New test (from wilson@cygnus.com).
- * compile/961031-1.c: New test (from wilson@cygnus.com).
- * compile/961019-1.c: New test (from wilson@cygnus.com).
- * utils/ctest.c: Print and pass (to run_a_test) all arguments.
- * execute/{920711-1.c,920810-1.c,920922-1.c,930603-3.c,931018-1.c}
- * execute/{941025-1.c,950221-1.c,950426-2.c,960209-1.c,960321-1.c}
- * execute/{960327-1.c,arith-rand.c,bf-pack-1.c,cbrt.c,divconst-2.c}
- * execute/memcpy-1.c: 16-bit changes (from law@cygnus.com).
-
- * compile/960514-1.c: New test (from rwilhelm@physik.tu-muenchen.de).
-
- * execute/960512-1.c: New test (from amylaar@meolyon.hanse.de).
-
- * execute/960513-1.c: New test (from amylaar@meolyon.hanse.de).
-
- * execute/960405-1.c: New test (from moshier@world.std.com).
-
-Fri Nov 1 13:06:28 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/dbra-1.c: New test.
-
-Mon Oct 28 02:31:10 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/961026-1.c: New test (from rankin@eql.caltech.edu).
-
- * execute/enum-1.c: New test (from law@cygnus.com).
-
-Tue Oct 22 22:13:12 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/960801-1.c: Generalize.
-
-Fri Oct 18 04:14:01 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * utils/ctest.c (run_a_test): Don't call `fatal' when the compiler
- returns non-zero, but there is no error message from the compiler.
-
-Wed Oct 16 01:39:57 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/arith-rand.c (main): Decrease the number of iteration to
- 1000.
-
-Fri Oct 11 16:40:44 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * compile/961010-1.c: New test (from ian@cygnus.com).
-
-Fri Oct 4 18:29:00 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/961004-1.c: New test (from wilson@cygnus.com).
-
- * compile/961004-1.c: New test (from amylaar@cygnus.co.uk).
-
-Thu Oct 3 02:51:24 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/fp-cmp-1.c: Move signal handler setup to after == and !=
- compares.
-
-Wed Oct 2 04:53:54 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/fp-cmp-1.c: New test.
-
-Mon Sep 30 01:11:06 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * compile/960620-1.c: Delete test.
-
-Fri Sep 13 12:12:30 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * execute/ieee/920810-1.c: Include <stdio.h>.
-
-Mon Sep 9 18:56:33 1996 Torbjorn Granlund <tege@quiet.matematik.su.se>
-
- * execute/960909-1.c: New test.
-
-Fri Aug 30 06:31:25 1996 Torbjorn Granlund <tege@quiet.tmg.se>
-
- * execute/960830-1.c: New test.
-
-Thu Aug 29 22:06:49 1996 Torbjorn Granlund <tege@quiet.tmg.se>
-
- * compile/960829-1.c: New test.
-
-Tue Aug 13 19:23:06 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * utils/ctest.c (run_a_test): Call wait repeatedly until
- we get back the right pid.
-
-Sat Aug 3 16:36:43 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * execute/960416-1.c: New test (from amylaar@meolyon.hanse.de).
-
- * execute/960419-[12].c: New tests (from jtc@cygnus.com).
-
- * execute/960416-1.c: New test (from amylaar@meolyon.hanse.de).
-
- * execute/920721-1.c: Make it work for 16-bit systems
- (from law@cygnus.com).
- * execute/920728-1.c: Likewise.
-
- * compile/960201-1.c: New test (from eggert@twinsun.com).
- * compile/960130-1.c: New test (from eggert@twinsun.com).
-
-Sat Aug 3 16:10:20 1996 Andrew Cagney <cagney@highland.com.au>
-
- * utils/ctest.c (run_a_test): Flush output before first fork to
- avoid later duplication.
-
- * utils/ctest.c (run_a_test): If really verbose, and a run command
- was specified (-run), print the command to be executed out.
- * (run_a_test): For the -run option, accept an argument list.
-
- * utils/ctest.c (main): Change verbose flag so it increments the
- verbosity instead of just setting it. Backward compatible hack
- that allows multiple levels of tracing. Perhaphs a separate flag
- would be better.
- (main): If really verbose, print the GCC command that is to be executed.
- (run_a_test): If really verbose, print the output from compiler
- and allow the output from the run to be displayed.
-
- * utils/ctest.c (main): New option -postopts added. This allows
- the user to specify arguments that should be appended to the GCC
- command (in addition to the -options flag that specfies arguments
- that are to be prepended).
- (usage): Adjust.
-
-Sat Aug 3 16:10:20 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- From Mike Meissner:
- * utils/ctest.c: Sort test files by calling `ls -r'.
- * utils/ctest.c: Flush stdout after each printf.
- * utils/ctest.c: When `-run', up timeout to 1000. Allow
- explicit setting of timeout through new -cc-timeout option.
-
-Fri Aug 2 19:53:27 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * execute/960521-1.c: New test
- (from eggert@twinsun.com and Andreas Schwab).
-
- * compile/960620-1.c: New test (from rwilhelm@physik.tu-muenchen.de).
-
- * compile/960704-1.c: New test (from wilson@cygnus.com).
-
- * execute/bf-sign-2.c: New test (from gavin@nando.net).
-
- * execute/960802-1.c: New test (from law@cygnus.com).
-
- * execute/960801-1.c: New test (from dje@cygnus.com).
-
-Sun Jun 9 17:35:56 1996 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * execute/960608-1.c: New test (from law@cygnus.com).
-
-Tue Apr 2 23:18:51 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/900409-1.c: Change types from int to long
- (from law@cygnus.com).
-
- * execute/960402-1.c: New test.
-
-Fri Mar 29 23:40:01 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/960327-1.c: New test (from law@cygnus.com).
-
-Tue Mar 26 22:57:34 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/960326-1.c: New test (from wilson@cygnus.com).
- * execute/960321-1.c: New test (from law@cygnus.com).
- * compile/960319-1.c: New test (from amylaar@meolyon.hanse.de).
- * execute/960317-1.c: New test (from amylaar@meolyon.hanse.de).
- * execute/960312-1.c: New test (from amylaar@meolyon.hanse.de).
- * execute/960311-[123].c: New tests (from dje@cygnus.com).
- * execute/960302-1.c: New test (from law@cygnus.com).
- * execute/960215-1.c: New test (from moshier@world.std.com).
-
-Fri Mar 1 06:01:58 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/regstack-1.c: New test (from moshier@world.std.com).
- * execute/960301-1.c: New test (from rankin@eql.caltech.edu).
- * execute/struct-ini-4.c: New test (from wilson@cygnus.com).
-
-Sun Feb 25 01:10:12 1996 Paul Eggert <eggert@twinsun.com>
-
- * special/doit (960224-1, 960224-2): New tests.
-
-Wed Feb 21 07:18:19 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * compile/960221-1.c: New test (from law@cygnus.com).
- * compile/960220-1.c: New test.
-
-Mon Feb 19 03:14:18 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/960219-1.c: New test.
- * compile/960218-1.c: New test (from eggert@twinsun.com).
-
-Sun Feb 18 04:01:54 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/960218-1.c: New test.
-
-Sat Feb 10 03:07:04 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/960209-1.c: New test (from law@cygnus.com).
-
-Wed Jan 24 23:23:05 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/960117-1.c: New test (from dje@cygnus.com).
- * execute/960116-1.c: New test (from Philippe De Muyter).
-
-Mon Jan 22 23:46:17 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * noncompile/930714-1.c: Moved from compile.
-
-Mon Jan 22 19:08:04 1996 Paul Eggert <eggert@twinsun.com>
-
- * special/doit (920717-1): Make sure `not found' message is ignored
- when invoking cc.
-
-Tue Jan 16 14:24:36 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * noncompile/951227-1.c: New test (from eggert).
- * special/doit (951130-1): New test (from eggert).
- * noncompile/951025-1.c: New test.
-
-Thu Jan 11 09:36:49 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * execute/widechar-1.c: New test (from eggert).
-
-Tue Jan 9 12:44:21 1996 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * compile/960106-1.c: New test.
-
-Mon Dec 25 19:21:08 1995 Torbjorn Granlund <tege@noisy.matematik.su.se>
-
- * compile/951222-1.c: New test (from kenner).
-
-Wed Dec 20 14:45:42 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * compile/951220-1.c: New test.
-
-Wed Dec 6 13:46:17 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- From Alan Modra:
- * utils/ctest.c (main): mktemp needs 6 X's on some systems.
-
-Mon Dec 4 21:39:39 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * compile/widechar-1.c: New test.
-
- * unsorted/{bugx.c,bugy.c,inline.c}: Delete huge/duplicate tests.
-
- * execute/951204-1.c: New test.
- * compile/951128-1.c: New test.
-
-Mon Nov 27 00:16:37 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * execute/bf-layout-1.c: New test.
-
-Wed Nov 22 21:38:25 1995 Torbjorn Granlund <tege@noisy.tmg.se>
-
- * noncompile/951123-1.c: New test.
-
-Wed Nov 16 23:31:23 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compile/951116-1.c: New test.
-
-Wed Nov 15 20:34:03 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * utils/ctest.c: New name for runtests.c (not to confuse it with
- DejaGNU runtest).
-
- * utils/runtests.c (RLIMIT_CORE): Default to 4.
-
- * execute/951115-1.c: New test (PA delay slot filling bug).
-
-Tue Nov 14 00:27:10 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * utils/runtests.c (run_a_test): Read from errmess pipe before
- blocking on child process. Also, loop calling read(2) until pipe
- is empty or 8000 chars are read.
- (usage): New function.
- (main): Call usage for -help.
-
-Sun Nov 7 17:15:12 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compile/951106-1.c: New test (MIPS3).
-
-Sun Nov 5 12:22:20 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * utils/runtests.c (run_a_test): Don't print exit status for failing
- noncompile test.
-
-Thu Oct 26 00:45:43 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * utils/runtests.c (run_a_test): Save and restore filedesc for
- stdout, so that failure in execve is reported properly.
- From Arne Juul:
- (run_a_test): To work around NetBSD bug, don't pass NULL as 2nd
- execve argument.
-
-Wed Oct 25 16:13:46 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * utils/runtests.c (main): Fix typo testing `execute_these_files'.
-
-Tue Oct 10 17:41:47 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/950714-1.c (main): Call exit(0).
-
- * compile/951004-1.c: New test.
-
-Tue Oct 3 22:59:13 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/950929-1.c: New test (from ian@cygnus.com).
-
- * execute/951003-1.c: New test (from dje@cygnus.com).
-
-Tue Sep 26 15:31:49 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/950714-1.c: New test (from wilson@cygnus.com).
-
- * execute/950706-1.c: New test (from rearnsha)
-
- * execute/ieee/{minuszero.c,rbug.c,nan.c}: New tests (from moshier).
-
- * execute/scope-2.c: New test (from rfg).
-
- * execute/bf-sign-1.c: New test (from jtc@cygnus.com).
-
- * noncompile/930927-1.c: Delete this duplicated test.
-
- * unsorted/gdb.c: Delete this test.
- * */*.c: Delete whitespace at the end of lines.
-
- * execute/loop-3.c: New test (from amylaar@meolyon.hanse.de).
-
-Mon Sep 25 14:08:32 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * Make file permissions be regular.
-
- * utils/runtests.c (main): Combine `flag_execute' and
- `execute_these_files' into the latter.
- (run_a_test): Test only `execute_these_files'.
-
- * execute/920411-1.c: Generalize to work even for big-endian
- 64-bit machines (from amylaar@meolyon.hanse.de).
-
-Sun Sep 24 16:26:03 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * utils/runtests.c (set_watchdog): Actually use `seconds' parameter.
-
-Sat Sep 23 00:08:33 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compile/950922-1.c: New test.
-
-Thu Sep 21 12:25:40 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * utils/runtests.c (environ): Declare.
- (run_a_test): Pass environ to execve calls.
- (main): Don't NULL-terminate `passes' array.
- (main): Make ii loop's termination condition depend on n_passes.
- (run_a_test): Check result from read; '\0'-terminate buf.
- (main): Avoid d_namlen, use strlen of d_name instead (from meyering).
-
- * compile/950919-1.c: New test.
-
- * execute/conversion.c (test_longlong_integer_to_float): Modify
- some tests conditionally for __HAVE_68881__.
-
- * execute/950915-1.c: New test.
-
- * utils/runtests.c: New file to run tests faster.
- * {execute/compile/unsorted/noncompile}/DESC: New files.
-
- * compile/950921-1.c: New test (from Ian Taylor).
-
-Wed Sep 20 14:53:33 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * execute/920501-7.c (STACK_SIZE): Check for and use to limit
- depth of recursion.
-
-Mon Sep 18 23:43:28 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compile/gcc-failure/940409-1.c: Moved from compile.
-
- * execute/920411-1.c: Moved from execute/gcc_failure.
- * execute/gcc_failure/920627-2.c: Delete spurious test.
-
- * utils/runtests.c: New program.
-
-Tue Sep 12 22:05:15 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/divconst-3.c: New test.
-
-Mon Sep 11 12:48:04 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compat/struct-ret-1.c: Add prototype for f.
- * compat/strct-layout.c: Conditionalize main.
-
-Sun Sep 10 20:47:34 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/strct-pack-5.c: Delete, test is useless because of
- lack of 68k structure packing.
-
-Thu Sep 7 13:07:40 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/{930628-1.c,941202-1.c,arith-1.c,gofast.c,struct-ret-1.c,
- va-arg-4.c}: Call exit(0), don't do return 0.
-
-Tue Sep 5 15:23:14 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compat/strct-layout.c (main): Add missing call to exit.
-
-Tue Sep 5 15:23:14 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- 1.35 Released.
-
- * noncompile/doit (case $arg): Fix typo.
-
- * execute/compndlit-1.c: New test.
- * execute/loop-2.c: New test.
- * execute/950809-1.c: New test.
- * execute/va-arg-5.c: New test.
- * execute/va-arg-6.c: New test.
- * execute/ptr-arith-1.c: New test.
- * execute/cmpsi-1.c: New test.
-
- * compile/cmpdi-1.c: New test.
- * compile/950719-1.c: New test.
- * compile/950729-1.c: New test.
- * compile/950816-[123].c: New test.
- * compile/: New test.
- * compile/: New test.
- * compile/: New test.
- * compile/: New test.
-
-Fri Sep 5 09:30:32 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * */doit: Add -run <cmd> option to allow the use of a simulator to
- run commands in the execute subdirectory. Accept the switch in
- the other doit commands.
-
-Tue Jul 11 01:02:21 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/950710-1.c: New test (from meyering).
-
-Wed Jul 5 16:03:45 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compile/950618-1.c: New test.
- * execute/scope-1.c: New test.
- * execute/950621-1.c: New test.
- * execute/950704-1.c: New test.
- * execute/950628-1.c: New test.
-
-Wed Jun 14 15:20:44 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/950612-1.c: New test.
- * execute/cmpdi-1.c: New test.
- * execute/tstdi-1.c: New test.
- * compile/950613-1.c: New test.
- * compile/950530-1.c: New test.
- * compile/950610-1.c: New test.
- * compile/950612-1.c: New test.
-
- * execute/strct-pack-5.c: Clean up, use defined type s2_t.
- * execute/strct-pack-4.c: Clean up.
-
-Sat Jun 10 12:37:22 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/cbrt.c: Disable for vax.
-
-Fri Jun 9 21:49:58 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/940115-1.c: Cast parameters to char *.
-
-Thu Jun 8 00:33:51 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * compile/950607-1.c: New test.
- * execute/cbrt.c: New test.
- * execute/950607-[12].c: New tests.
- * execute/memcpy-1.c: Try more cases.
- * execute/struct-ret-2.c: New test.
- * execute/complex-4.c: New test.
-
-Wed Jun 7 12:40:05 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/950601.c: Delete this messy and redundant test.
-
- * compile/funcptr-1.c: Clean up.
-
- * execute/950512-1.c (main): Call f1 and f2 with 0 too.
- (f2): Use type `long long', not `long'.
-
- * execute/950605-1.c: New test.
-
-Wed Jun 1 01:57:45 1995 Torbjorn Granlund <tege@bozo.matematik.su.se>
-
- * execute/divconst-[12].c: New tests.
diff --git a/gcc/testsuite/gcc.c-torture/code_quality/920608-1.c b/gcc/testsuite/gcc.c-torture/code_quality/920608-1.c
deleted file mode 100644
index cae1978e6c0..00000000000
--- a/gcc/testsuite/gcc.c-torture/code_quality/920608-1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-foo (p)
- int *p;
-{
- int x;
- int a;
-
- a = p[0];
- x = a + 5;
- a = -1;
- p[0] = x - 5;
- return a;
-}
-
-bar (p)
-{
- short x;
- int a;
-
- x = ((short *) p)[1];
-#if INHIBIT_COMBINE
- ((short *) p)[0] = x;
-#endif
-
- return (x < 45);
-}
diff --git a/gcc/testsuite/gcc.c-torture/code_quality/Makefile.in b/gcc/testsuite/gcc.c-torture/code_quality/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/code_quality/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/code_quality/code_quality.exp b/gcc/testsuite/gcc.c-torture/code_quality/code_quality.exp
deleted file mode 100644
index b8b72ea1bcb..00000000000
--- a/gcc/testsuite/gcc.c-torture/code_quality/code_quality.exp
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993, 1997 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Written by Jeffrey Wheat (cassidy@cygnus.com)
-#
-
-#
-# These tests come from Torbjorn Granlund's (tege@cygnus.com)
-# C torture test suite, and other contributors.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib c-torture.exp
-
-#
-# This loop will run c-torture on any *.c file found in this directory.
-# If a *.c has a corresponding *.exp file, then the test is skipped as
-# as the *.exp will drive the test itself. I did things this way so that
-# generic tests did not need a seperate .exp for it. Only the tests that
-# required unique options would need it's own .exp file.
-#
-
-foreach testcase [glob -nocomplain $srcdir/$subdir/*.c] {
- if [file exists [file rootname $testcase].exp] then {
- verbose "INFO:\"[file rootname $testcase].exp\" exists, skipping test" 3
- continue
- }
-
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $testcase] then {
- continue
- }
-
- c-torture $testcase
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/code_quality/configure.in b/gcc/testsuite/gcc.c-torture/code_quality/configure.in
deleted file mode 100644
index 0fb5342a5d6..00000000000
--- a/gcc/testsuite/gcc.c-torture/code_quality/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=code_quality.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/compat/Makefile.in b/gcc/testsuite/gcc.c-torture/compat/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/compat/configure.in b/gcc/testsuite/gcc.c-torture/compat/configure.in
deleted file mode 100644
index a4a5810eb96..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=struct-big.c
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/compat/strct-layout.c b/gcc/testsuite/gcc.c-torture/compat/strct-layout.c
deleted file mode 100644
index b77e1636dd2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/strct-layout.c
+++ /dev/null
@@ -1,69 +0,0 @@
-typedef struct
-{
- char a;
- int b;
- char c;
- short d;
- double e;
- char f;
-} T;
-
-#if COMPILER != 1
-f (T *x)
-{
- x[0].a = 'a';
- x[0].b = 47114711;
- x[0].c = 'c';
- x[0].d = 1234;
- x[0].e = 3.141592897932;
- x[0].f = '*';
-
- x[1].a = 'A';
- x[1].b = 71417141;
- x[1].c = 'C';
- x[1].d = 4321;
- x[1].e = 2.718281828459;
- x[1].f = '?';
-}
-#endif
-
-#if COMPILER != 2
-g (T *x)
-{
- if (x[0].a != 'a')
- abort ();
- if (x[0].b != 47114711)
- abort ();
- if (x[0].c != 'c')
- abort ();
- if (x[0].d != 1234)
- abort ();
- if (x[0].e != 3.141592897932)
- abort ();
- if (x[0].f != '*')
- abort ();
-
- if (x[1].a != 'A')
- abort ();
- if (x[1].b != 71417141)
- abort ();
- if (x[1].c != 'C')
- abort ();
- if (x[1].d != 4321)
- abort ();
- if (x[1].e != 2.718281828459)
- abort ();
- if (x[1].f != '?')
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-main ()
-{
- T x[2];
- f (x);
- g (x);
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compat/struct-align.c b/gcc/testsuite/gcc.c-torture/compat/struct-align.c
deleted file mode 100644
index 69fe6b335ca..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/struct-align.c
+++ /dev/null
@@ -1,52 +0,0 @@
-typedef union
-{
- struct {int a; int b;} s;
- double d;
-} T;
-
-int h (T *);
-T g (T);
-
-#if COMPILER != 1
-h (T *x)
-{
- if (x->s.a != 0 || x->s.b != 1)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-T
-g (T x)
-{
- if (x.s.a != 13 || x.s.b != 47)
- abort ();
- x.s.a = 0;
- x.s.b = 1;
- h (&x);
- return x;
-}
-#endif
-
-#if COMPILER != 1
-f ()
-{
- T x;
- x.s.a = 13;
- x.s.b = 47;
- g (x);
- if (x.s.a != 13 || x.s.b != 47)
- abort ();
- x = g (x);
- if (x.s.a != 0 || x.s.b != 1)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-main ()
-{
- f ();
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compat/struct-big.c b/gcc/testsuite/gcc.c-torture/compat/struct-big.c
deleted file mode 100644
index e1d5c6a6b37..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/struct-big.c
+++ /dev/null
@@ -1,54 +0,0 @@
-typedef struct {int a, b, c, d, e;} T;
-
-int h (T *);
-T g (T);
-
-#if COMPILER != 1
-h (T *x)
-{
- if (x->a != 0 || x->b != 1 || x->c != 2 || x->d != 3 || x->e != 4)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-T
-g (T x)
-{
- if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2)
- abort ();
- x.a = 0;
- x.b = 1;
- x.c = 2;
- x.d = 3;
- x.e = 4;
- h (&x);
- return x;
-}
-#endif
-
-#if COMPILER != 1
-f ()
-{
- T x;
- x.a = 13;
- x.b = 47;
- x.c = 123456;
- x.d = -4711;
- x.e = -2;
- g (x);
- if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2)
- abort ();
- x = g (x);
- if (x.a != 0 || x.b != 1 || x.c != 2 || x.d != 3 || x.e != 4)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-main ()
-{
- f ();
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compat/struct-i.c b/gcc/testsuite/gcc.c-torture/compat/struct-i.c
deleted file mode 100644
index 25cbee6071e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/struct-i.c
+++ /dev/null
@@ -1,46 +0,0 @@
-typedef struct {int a;} T;
-
-int h (T *);
-T g (T);
-
-#if COMPILER != 1
-h (T *x)
-{
- if (x->a != 47114711)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-T
-g (T x)
-{
- if (x.a != 13)
- abort ();
- x.a = 47114711;
- h (&x);
- return x;
-}
-#endif
-
-#if COMPILER != 1
-f ()
-{
- T x;
- x.a = 13;
- g (x);
- if (x.a != 13)
- abort ();
- x = g (x);
- if (x.a != 47114711)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-main ()
-{
- f ();
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compat/struct-ic.c b/gcc/testsuite/gcc.c-torture/compat/struct-ic.c
deleted file mode 100644
index 7c5fa79e142..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/struct-ic.c
+++ /dev/null
@@ -1,48 +0,0 @@
-typedef struct {int a; char b;} T;
-
-int h (T *);
-T g (T);
-
-#if COMPILER != 1
-h (T *x)
-{
- if (x->a != 0 || x->b != 1)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-T
-g (T x)
-{
- if (x.a != 13 || x.b != 47)
- abort ();
- x.a = 0;
- x.b = 1;
- h (&x);
- return x;
-}
-#endif
-
-#if COMPILER != 1
-f ()
-{
- T x;
- x.a = 13;
- x.b = 47;
- g (x);
- if (x.a != 13 || x.b != 47)
- abort ();
- x = g (x);
- if (x.a != 0 || x.b != 1)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-main ()
-{
- f ();
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compat/struct-ii.c b/gcc/testsuite/gcc.c-torture/compat/struct-ii.c
deleted file mode 100644
index 11ebc37edbd..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/struct-ii.c
+++ /dev/null
@@ -1,48 +0,0 @@
-typedef struct {int a, b;} T;
-
-int h (T *);
-T g (T);
-
-#if COMPILER != 1
-h (T *x)
-{
- if (x->a != 0 || x->b != 1)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-T
-g (T x)
-{
- if (x.a != 13 || x.b != 47)
- abort ();
- x.a = 0;
- x.b = 1;
- h (&x);
- return x;
-}
-#endif
-
-#if COMPILER != 1
-f ()
-{
- T x;
- x.a = 13;
- x.b = 47;
- g (x);
- if (x.a != 13 || x.b != 47)
- abort ();
- x = g (x);
- if (x.a != 0 || x.b != 1)
- abort ();
-}
-#endif
-
-#if COMPILER != 2
-main ()
-{
- f ();
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compat/struct-ret-1.c b/gcc/testsuite/gcc.c-torture/compat/struct-ret-1.c
deleted file mode 100644
index a585c8fdb40..00000000000
--- a/gcc/testsuite/gcc.c-torture/compat/struct-ret-1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-typedef struct { int re; int im; } T;
-
-T f (int, int);
-
-#if COMPILER != 1
-T
-f (int arg1, int arg2)
-{
- T x;
- x.re = arg1;
- x.im = arg2;
- return x;
-}
-#endif
-
-#if COMPILER != 2
-main ()
-{
- T result;
- result = f (3, 4);
- if (result.re != 3 || result.im != 4)
- abort ();
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/900116-1.c b/gcc/testsuite/gcc.c-torture/compile/900116-1.c
deleted file mode 100644
index 37c7eb789b9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/900116-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-struct st {char a, b, c, d; }
-
-zloop (struct st *s, int *p, int *q)
-{
- int i;
- struct st ss;
-
- for (i = 0; i < 100; i++)
- {
- ss = s[i];
- p[i] = ss.c;
- q[i] = ss.b;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/900216-1.c b/gcc/testsuite/gcc.c-torture/compile/900216-1.c
deleted file mode 100644
index 8a4bfb74e78..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/900216-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (p, a, b)
- unsigned short *p;
-{
- unsigned int x;
-
- x = p[0];
-
- return (x == 134U);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/900313-1.c b/gcc/testsuite/gcc.c-torture/compile/900313-1.c
deleted file mode 100644
index f2bc40d7242..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/900313-1.c
+++ /dev/null
@@ -1,172 +0,0 @@
-main ()
-{
- char *a;
- foo (alloca (10000));
- foo (alloca (100000));
- foo (alloca ((int) &main));
-}
-
-many_par (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-{
- char *x;
- int aa, ba, ca, da, ea, fa, ga, ha, ia, ja, ka, la, ma, na, oa, pa;
-
- aa = bar ();
- ba = bar ();
- ca = bar ();
- da = bar ();
- ea = bar ();
- fa = bar ();
- ga = bar ();
- ha = bar ();
- ia = bar ();
- ja = bar ();
- ka = bar ();
- la = bar ();
- ma = bar ();
- na = bar ();
- oa = bar ();
- pa = bar ();
- foobar (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, aa, ba, ca,
- da, ea, fa, ga, ha, ia, ja, ka, la, ma, na, oa, pa);
-
-}
-
-foobar (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, aa, ba, ca,
- da, ea, fa, ga, ha, ia, ja, ka, la, ma, na, oa, pa)
-{
- int ab, bb, cb, db, eb, fb, gb, hb, ib, jb, kb, lb, mb, nb, ob, pb;
- int qb, rb, sb, tb, ub, vb, xb, yb;
-
- ab = bar ();
- bb = bar ();
- cb = bar ();
- db = bar ();
- eb = bar ();
- fb = bar ();
- gb = bar ();
- hb = bar ();
- ib = bar ();
- jb = bar ();
- kb = bar ();
- lb = bar ();
- mb = bar ();
- nb = bar ();
- ob = bar ();
- pb = bar ();
- qb = bar ();
- rb = bar ();
- sb = bar ();
- tb = bar ();
- ub = bar ();
- vb = bar ();
- xb = bar ();
- yb = bar ();
-
- boofar (a);
- boofar (b);
- boofar (c);
- boofar (d);
- boofar (e);
- boofar (f);
- boofar (g);
- boofar (h);
- boofar (i);
- boofar (j);
- boofar (k);
- boofar (l);
- boofar (m);
- boofar (n);
- boofar (o);
- boofar (p);
- boofar (aa);
- boofar (ba);
- boofar (ca);
- boofar (da);
- boofar (ea);
- boofar (fa);
- boofar (ga);
- boofar (ha);
- boofar (ia);
- boofar (ja);
- boofar (ka);
- boofar (la);
- boofar (ma);
- boofar (na);
- boofar (oa);
- boofar (pa);
-
- boofar (ab);
- boofar (bb);
- boofar (cb);
- boofar (db);
- boofar (eb);
- boofar (fb);
- boofar (gb);
- boofar (hb);
- boofar (ib);
- boofar (jb);
- boofar (kb);
- boofar (lb);
- boofar (mb);
- boofar (nb);
- boofar (ob);
- boofar (pb);
-
- boofar (a);
- boofar (b);
- boofar (c);
- boofar (d);
- boofar (e);
- boofar (f);
- boofar (g);
- boofar (h);
- boofar (i);
- boofar (j);
- boofar (k);
- boofar (l);
- boofar (m);
- boofar (n);
- boofar (o);
- boofar (p);
- boofar (aa);
- boofar (ba);
- boofar (ca);
- boofar (da);
- boofar (ea);
- boofar (fa);
- boofar (ga);
- boofar (ha);
- boofar (ia);
- boofar (ja);
- boofar (ka);
- boofar (la);
- boofar (ma);
- boofar (na);
- boofar (oa);
- boofar (pa);
-
- boofar (ab);
- boofar (bb);
- boofar (cb);
- boofar (db);
- boofar (eb);
- boofar (fb);
- boofar (gb);
- boofar (hb);
- boofar (ib);
- boofar (jb);
- boofar (kb);
- boofar (lb);
- boofar (mb);
- boofar (nb);
- boofar (ob);
- boofar (pb);
-
-}
-
-test_exit_ignore_stack ()
-{
- foobar (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/900407-1.c b/gcc/testsuite/gcc.c-torture/compile/900407-1.c
deleted file mode 100644
index fdf47791cd7..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/900407-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-foo (a, b, p)
- int *p;
-{
- int c;
- p[1] = a + 0x1000;
- c = b + 0xffff0000;
- if ((b + 0xffff0000) == 0)
- c++;
- p[2] = c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/900516-1.c b/gcc/testsuite/gcc.c-torture/compile/900516-1.c
deleted file mode 100644
index 69e96144745..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/900516-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(c){return!(c?2.0:1.0);}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920301-1.c b/gcc/testsuite/gcc.c-torture/compile/920301-1.c
deleted file mode 100644
index c4d663eb8a7..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920301-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef NO_LABEL_VALUES
-f(){static void*t[]={&&x};x:;}
-#endif
-g(){static unsigned p[5];}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920409-1.c b/gcc/testsuite/gcc.c-torture/compile/920409-1.c
deleted file mode 100644
index b96ec53d595..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920409-1.c
+++ /dev/null
@@ -1 +0,0 @@
-x(){int y;y>0.0?y:y-1;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920409-2.c b/gcc/testsuite/gcc.c-torture/compile/920409-2.c
deleted file mode 100644
index ef2bdb8b7e7..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920409-2.c
+++ /dev/null
@@ -1,2 +0,0 @@
-double x(){int x1,x2;double v;
-if(((long)(x1-x2))<1)return -1.0;v=t(v);v=y(1,v>0.0?(int)v:((int)v-1));}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920410-1.c b/gcc/testsuite/gcc.c-torture/compile/920410-1.c
deleted file mode 100644
index 4bfa7a665a3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920410-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-int alloc_float(f)
- float f;
-{ union
- {
- float f;
- int i;
- }
- u;
- u.f=f;
- return u.i&~1;
-}
-
-float c_float(int obj)
-{ union
- {
- float f;
- int i;
- } u;
-
- u.i=obj;
- return u.f;
-}
-
-main()
-{ int x=alloc_float(1.2);
- int y=alloc_float(5.7);
- int z=alloc_float(c_float(x)*c_float(y));
-
- printf("%g\n",(double)c_float(z));
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920410-2.c b/gcc/testsuite/gcc.c-torture/compile/920410-2.c
deleted file mode 100644
index 958aae9cb0f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920410-2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-joe()
-{
- int j;
-
- while( 1 )
- {
- for( j = 0; j < 4; j++ )
- ;
- for( j = 0; j < 4; j++ )
- ;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920411-2.c b/gcc/testsuite/gcc.c-torture/compile/920411-2.c
deleted file mode 100644
index 0cc13c8436a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920411-2.c
+++ /dev/null
@@ -1 +0,0 @@
-x(){int n;double x;n=x<1?n:n+1;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920413-1.c b/gcc/testsuite/gcc.c-torture/compile/920413-1.c
deleted file mode 100644
index 45b5fc5d09c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920413-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-union u {double d;long long ll;};
-f(double x, int n){union u v;v.d=x;if(n>=0){v.ll<<=63;}else{v.ll+=1<<-n;v.ll>>=-n;}return v.ll;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920415-1.c b/gcc/testsuite/gcc.c-torture/compile/920415-1.c
deleted file mode 100644
index 8d9bc065349..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920415-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef NO_LABEL_VALUES
-f ()
-{
- __label__ l;
- void *x()
- {
- return &&l;
- }
- goto *x ();
- abort ();
- return;
- l:
- exit (0);
-}
-#else
-int x;
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-1.c b/gcc/testsuite/gcc.c-torture/compile/920428-1.c
deleted file mode 100644
index fdc478a382c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920428-1.c
+++ /dev/null
@@ -1 +0,0 @@
-x(){char*q;return(long)q>>8&0xff;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-2.c b/gcc/testsuite/gcc.c-torture/compile/920428-2.c
deleted file mode 100644
index 23f32a83a9d..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920428-2.c
+++ /dev/null
@@ -1,531 +0,0 @@
-double sin(double x);
-double cos(double x);
-double tan(double x);
-double asin(double x);
-double acos(double x);
-double atan(double x);
-double atan2(double y, double x);
-double sinh(double x);
-double cosh(double x);
-double tanh(double x);
-double exp(double x);
-double expm1(double x);
-double log(double x);
-double log10(double x);
-double log1p(double x);
-double pow(double x, double y);
-double sqrt(double x);
-double cbrt(double x);
-double ceil(double x);
-double floor(double x);
-double fabs(double x);
-double frexp(double value, int *eptr);
-double ldexp(double value, int exp);
-double modf(double value, double *iptr);
-double erf(double x);
-double erfc(double x);
-double atof(const char *nptr);
-double hypot(double x, double y);
-double lgamma(double x);
-double j0(double x);
-double j1(double x);
-double jn(int n, double x);
-double y0(double x);
-double y1(double x);
-double yn(int n, double x);
-extern struct _iobuf {
- int _cnt;
- char *_ptr;
- char *_base;
- int _bufsiz;
- short _flag;
- char _file;
-} _iob[];
-typedef unsigned long size_t;
-typedef char *va_list;
-struct _iobuf *fopen(const char *filename, const char *type);
-struct _iobuf *freopen(const char *filename, const char *type, struct _iobuf *stream);
-struct _iobuf *fdopen(int fildes, const char *type);
-struct _iobuf *popen(const char *command, const char *type);
-int pclose(struct _iobuf *stream);
-int fflush(struct _iobuf *stream);
-int fclose(struct _iobuf *stream);
-int remove(const char *path);
-int rename(const char *from, const char *to);
-struct _iobuf *tmpfile(void);
-char *tmpnam(char *s);
-int setvbuf(struct _iobuf *iop, char *buf, int type, size_t size);
-int setbuf(struct _iobuf *stream, char *buf);
-int setbuffer(struct _iobuf *stream, char *buf, size_t size);
-int setlinebuf(struct _iobuf *stream);
-int fprintf(struct _iobuf *stream, const char *format, ...);
-int printf(const char *format, ...);
-char *sprintf(char *s, const char *format, ...);
-int vfprintf(struct _iobuf *stream, const char *format, va_list arg);
-int vprintf(const char *format, va_list arg);
-int vsprintf(char *s, const char *format, va_list arg);
-int fscanf(struct _iobuf *stream, const char *format, ...);
-int scanf(const char *format, ...);
-int sscanf(char *s, const char *format, ...);
-int fgetc(struct _iobuf *stream);
-int getw(struct _iobuf *stream);
-char *fgets(char *s, int n, struct _iobuf *stream);
-char *gets(char *s);
-int fputc(int c, struct _iobuf *stream);
-int putw(int w, struct _iobuf *stream);
-int fputs(const char *s, struct _iobuf *stream);
-int puts(const char *s);
-int ungetc(int c, struct _iobuf *stream);
-int fread(void *ptr, size_t size, size_t count, struct _iobuf *iop);
-int fwrite(const void *ptr, size_t size, size_t count, struct _iobuf *iop);
-int fseek(struct _iobuf *stream, long offset, int ptrname);
-long ftell(struct _iobuf *stream);
-void rewind(struct _iobuf *stream);
-int fgetpos(struct _iobuf *stream, long *pos);
-int fsetpos(struct _iobuf *stream, const long *pos);
-void perror(const char *s);
-typedef unsigned char byte;
-typedef unsigned char uchar;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-typedef unsigned long ulong;
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-typedef unsigned short ushort_;
-typedef struct _physadr { int r[1]; } *physadr;
-typedef struct label_t {
- int val[11];
-} label_t;
-typedef struct _quad { long val[2]; } quad;
-typedef long daddr_t;
-typedef char * caddr_t;
-typedef u_long ino_t;
-typedef long swblk_t;
-typedef long time_t;
-typedef short dev_t;
-typedef long off_t;
-typedef u_short uid_t;
-typedef u_short gid_t;
-typedef signed char prio_t;
-typedef long fd_mask;
-typedef struct fd_set {
- fd_mask fds_bits[(((256 )+(( (sizeof(fd_mask) * 8 ) )-1))/( (sizeof(fd_mask) * 8 ) )) ];
-} fd_set;
-typedef struct qhdr {
- struct qhdr *link, *rlink;
-} *queue_t;
-typedef char *ptr_ord_t;
-typedef double floatp;
-typedef char *(*proc_alloc_t)(unsigned num_elements, unsigned element_size, const char *client_name );
-typedef void (*proc_free_t)(char *data, unsigned num_elements, unsigned element_size, const char *client_name );
-extern struct _iobuf *gs_out;
-typedef struct gs_point_s {
- double x, y;
-} gs_point;
-typedef struct gs_int_point_s {
- int x, y;
-} gs_int_point;
-typedef struct gs_rect_s {
- gs_point p, q;
-} gs_rect;
-typedef struct gs_int_rect_s {
- gs_int_point p, q;
-} gs_int_rect;
-typedef struct gs_state_s gs_state;
-typedef struct {
- proc_alloc_t alloc;
- proc_free_t free;
-} gs_memory_procs;
-char *gs_malloc(uint, uint, const char * );
-void gs_free(char *, uint, uint, const char * );
-extern char gs_debug[128];
-extern int gs_log_error(int, const char *, int );
-typedef long fixed;
-typedef struct gs_fixed_point_s {
- fixed x, y;
-} gs_fixed_point;
-typedef struct gs_fixed_rect_s {
- gs_fixed_point p, q;
-} gs_fixed_rect;
-typedef struct gs_matrix_s {
- long _xx; float xx; long _xy; float xy; long _yx; float yx; long _yy; float yy; long _tx; float tx; long _ty; float ty;
-} gs_matrix;
-void gs_make_identity(gs_matrix * );
-int gs_make_translation(floatp, floatp, gs_matrix * ),
- gs_make_scaling(floatp, floatp, gs_matrix * ),
- gs_make_rotation(floatp, gs_matrix * );
-int gs_matrix_multiply(const gs_matrix *, const gs_matrix *, gs_matrix * ),
- gs_matrix_invert(const gs_matrix *, gs_matrix * ),
- gs_matrix_rotate(const gs_matrix *, floatp, gs_matrix * );
-int gs_point_transform(floatp, floatp, const gs_matrix *, gs_point * ),
- gs_point_transform_inverse(floatp, floatp, const gs_matrix *, gs_point * ),
- gs_distance_transform(floatp, floatp, const gs_matrix *, gs_point * ),
- gs_distance_transform_inverse(floatp, floatp, const gs_matrix *, gs_point * ),
- gs_bbox_transform_inverse(gs_rect *, gs_matrix *, gs_rect * );
-typedef struct gs_matrix_fixed_s {
- long _xx; float xx; long _xy; float xy; long _yx; float yx; long _yy; float yy; long _tx; float tx; long _ty; float ty;
- fixed tx_fixed, ty_fixed;
-} gs_matrix_fixed;
-extern void gs_update_matrix_fixed(gs_matrix_fixed * );
-int gs_point_transform2fixed(gs_matrix_fixed *, floatp, floatp, gs_fixed_point * ),
- gs_distance_transform2fixed(gs_matrix_fixed *, floatp, floatp, gs_fixed_point * );
-typedef struct {
- long xx, xy, yx, yy;
- int skewed;
- int shift;
- int max_bits;
- fixed round;
-} fixed_coeff;
-
-typedef enum {
- gs_cap_butt = 0,
- gs_cap_round = 1,
- gs_cap_square = 2
-} gs_line_cap;
-typedef enum {
- gs_join_miter = 0,
- gs_join_round = 1,
- gs_join_bevel = 2
-} gs_line_join;
-gs_state *gs_state_alloc(proc_alloc_t, proc_free_t );
-int gs_state_free(gs_state * );
-int gs_gsave(gs_state * ),
- gs_grestore(gs_state * ),
- gs_grestoreall(gs_state * );
-gs_state *gs_gstate(gs_state * );
-int gs_currentgstate(gs_state * , const gs_state * ),
- gs_setgstate(gs_state * , const gs_state * );
-gs_state *gs_state_swap_saved(gs_state *, gs_state * );
-void gs_state_swap(gs_state *, gs_state * );
-int gs_initgraphics(gs_state * );
-typedef struct gx_device_s gx_device;
-int gs_flushpage(gs_state * );
-int gs_copypage(gs_state * );
-int gs_output_page(gs_state *, int, int );
-int gs_copyscanlines(gx_device *, int, byte *, uint, int *, uint * );
-gx_device * gs_getdevice(int );
-int gs_copydevice(gx_device **, gx_device *, proc_alloc_t );
-int gs_makeimagedevice(gx_device **, gs_matrix *, uint, uint, byte *, int, proc_alloc_t );
-void gs_nulldevice(gs_state * );
-int gs_setdevice(gs_state *, gx_device * );
-gx_device * gs_currentdevice(gs_state * );
-const char * gs_devicename(gx_device * );
-void gs_deviceinitialmatrix(gx_device *, gs_matrix * );
-int gs_closedevice(gx_device * );
-int gs_setlinewidth(gs_state *, floatp );
-float gs_currentlinewidth(const gs_state * );
-int gs_setlinecap(gs_state *, gs_line_cap );
-gs_line_cap gs_currentlinecap(const gs_state * );
-int gs_setlinejoin(gs_state *, gs_line_join );
-gs_line_join gs_currentlinejoin(const gs_state * );
-int gs_setmiterlimit(gs_state *, floatp );
-float gs_currentmiterlimit(const gs_state * );
-int gs_setdash(gs_state *, const float *, uint, floatp );
-uint gs_currentdash_length(const gs_state * );
-int gs_currentdash_pattern(const gs_state *, float * );
-float gs_currentdash_offset(const gs_state * );
-int gs_setflat(gs_state *, floatp );
-float gs_currentflat(const gs_state * );
-int gs_setstrokeadjust(gs_state *, int );
-int gs_currentstrokeadjust(const gs_state * );
-typedef enum {
- gs_color_space_DeviceGray = 0,
- gs_color_space_DeviceRGB,
- gs_color_space_DeviceCMYK
-} gs_color_space;
-typedef struct gs_color_s gs_color;
-extern const uint gs_color_sizeof;
-int gs_setgray(gs_state *, floatp );
-float gs_currentgray(gs_state * );
-int gs_sethsbcolor(gs_state *, floatp, floatp, floatp ),
- gs_currenthsbcolor(gs_state *, float [3] ),
- gs_setrgbcolor(gs_state *, floatp, floatp, floatp ),
- gs_currentrgbcolor(gs_state *, float [3] );
-int gs_currentcolorspace(gs_state *, gs_color_space * );
-typedef float (*gs_transfer_proc)(gs_state *, floatp );
-int gs_settransfer(gs_state *, gs_transfer_proc ),
- gs_settransfer_remap(gs_state *, gs_transfer_proc, int );
-gs_transfer_proc gs_currenttransfer(gs_state * );
-int gs_setcolortransfer(gs_state *, gs_transfer_proc ,
- gs_transfer_proc , gs_transfer_proc ,
- gs_transfer_proc ),
- gs_setcolortransfer_remap(gs_state *, gs_transfer_proc ,
- gs_transfer_proc , gs_transfer_proc ,
- gs_transfer_proc , int );
-void gs_currentcolortransfer(gs_state *, gs_transfer_proc [4] );
-int gs_setscreen(gs_state *, floatp, floatp, float (*)(floatp, floatp ) );
-int gs_currentscreen(gs_state *, float *, float *, float (**)(floatp, floatp ) );
-int gs_sethalftonephase(gs_state *, int, int );
-int gs_currenthalftonephase(gs_state *, gs_int_point * );
-typedef struct gs_screen_enum_s gs_screen_enum;
-extern const uint gs_screen_enum_sizeof;
-int gs_screen_init(gs_screen_enum *, gs_state *, floatp, floatp );
-int gs_screen_currentpoint(gs_screen_enum *, gs_point * );
-int gs_screen_next(gs_screen_enum *, floatp );
-struct gs_state_s {
- gs_state *saved;
- gs_memory_procs memory_procs;
- gs_matrix_fixed ctm;
- gs_matrix ctm_inverse;
- int inverse_valid;
- struct gx_path_s *path;
- struct gx_clip_path_s *clip_path;
- int clip_rule;
- struct line_params_s *line_params;
- struct halftone_params_s *halftone;
- float (*ht_proc)(floatp, floatp );
- gs_int_point ht_phase;
- gs_int_point phase_mod;
- struct gs_color_s *color;
- struct gx_device_color_s *dev_color;
- struct gx_transfer_s *transfer;
- struct gs_font_s *font;
- gs_matrix char_tm;
- int char_tm_valid;
- byte in_cachedevice;
- byte in_charpath;
-
-
-
-
- int level;
- float flatness;
- int stroke_adjust;
- struct device_s *device;
- int device_is_shared;
-
-};
-typedef unsigned long gx_bitmap_id;
-typedef struct gx_bitmap_s {
- byte *data;
- int raster;
- gs_int_point size;
- gx_bitmap_id id;
- ushort rep_width, rep_height;
-} gx_bitmap;
-typedef unsigned long gx_color_index;
-typedef unsigned short gx_color_value;
-typedef struct gx_device_color_info_s {
- int num_components;
-
- int depth;
- gx_color_value max_gray;
- gx_color_value max_rgb;
-
- gx_color_value dither_gray;
- gx_color_value dither_rgb;
-
-} gx_device_color_info;
-typedef struct gx_device_procs_s gx_device_procs;
-struct gx_device_s {
- int params_size; gx_device_procs *procs; const char *dname; int width; int height; float x_pixels_per_inch; float y_pixels_per_inch; float l_margin, b_margin, r_margin, t_margin; gx_device_color_info color_info; int is_open;
-};
-typedef struct gs_prop_item_s gs_prop_item;
-struct gx_device_procs_s {
- int (*open_device)(gx_device *dev );
- void (*get_initial_matrix)(gx_device *dev, gs_matrix *pmat );
- int (*sync_output)(gx_device *dev );
- int (*output_page)(gx_device *dev, int num_copies, int flush );
- int (*close_device)(gx_device *dev );
- gx_color_index (*map_rgb_color)(gx_device *dev, gx_color_value red, gx_color_value green, gx_color_value blue );
- int (*map_color_rgb)(gx_device *dev, gx_color_index color, gx_color_value rgb[3] );
- int (*fill_rectangle)(gx_device *dev, int x, int y, int width, int height, gx_color_index color );
- int (*tile_rectangle)(gx_device *dev, gx_bitmap *tile, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1, int phase_x, int phase_y );
- int (*copy_mono)(gx_device *dev, unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1 );
- int (*copy_color)(gx_device *dev, unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height );
- int (*draw_line)(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index color );
- int (*get_bits)(gx_device *dev, int y, unsigned char *data, unsigned int size, int pad_to_word );
- int (*get_props)(gx_device *dev, gs_prop_item *plist );
-
- int (*put_props)(gx_device *dev, gs_prop_item *plist, int count );
-
-};
-extern unsigned int gx_device_bytes_per_scan_line(gx_device *dev, int pad_to_word );
-int gx_default_open_device(gx_device *dev );
-void gx_default_get_initial_matrix(gx_device *dev, gs_matrix *pmat );
-int gx_default_sync_output(gx_device *dev );
-int gx_default_output_page(gx_device *dev, int num_copies, int flush );
-int gx_default_close_device(gx_device *dev );
-gx_color_index gx_default_map_rgb_color(gx_device *dev, gx_color_value red, gx_color_value green, gx_color_value blue );
-int gx_default_map_color_rgb(gx_device *dev, gx_color_index color, gx_color_value rgb[3] );
-int gx_default_tile_rectangle(gx_device *dev, gx_bitmap *tile, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1, int phase_x, int phase_y );
-int gx_default_copy_color(gx_device *dev, unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height );
-int gx_default_draw_line(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index color );
-int gx_default_get_bits(gx_device *dev, int y, unsigned char *data, unsigned int size, int pad_to_word );
-int gx_default_get_props(gx_device *dev, gs_prop_item *plist );
-int gx_default_put_props(gx_device *dev, gs_prop_item *plist, int count );
-typedef struct device_s {
- gx_device *info;
- int is_band_device;
- gx_color_index white, black;
-} device;
-int gs_initmatrix(gs_state * ),
- gs_defaultmatrix(const gs_state *, gs_matrix * ),
- gs_currentmatrix(const gs_state *, gs_matrix * ),
- gs_setmatrix(gs_state *, const gs_matrix * ),
- gs_translate(gs_state *, floatp, floatp ),
- gs_scale(gs_state *, floatp, floatp ),
- gs_rotate(gs_state *, floatp ),
- gs_concat(gs_state *, const gs_matrix * );
-int gs_transform(gs_state *, floatp, floatp, gs_point * ),
- gs_dtransform(gs_state *, floatp, floatp, gs_point * ),
- gs_itransform(gs_state *, floatp, floatp, gs_point * ),
- gs_idtransform(gs_state *, floatp, floatp, gs_point * );
-static int
-ctm_set_inverse(gs_state *pgs)
-{ int code = gs_matrix_invert(&*(gs_matrix *)&(pgs)->ctm , &pgs->ctm_inverse);
- 0;
- if ( code < 0 ) return code;
- pgs->inverse_valid = 1;
- return 0;
-}
-void
-gs_update_matrix_fixed(gs_matrix_fixed *pmat)
-{ (*pmat). tx = ((float)(((*pmat). tx_fixed = ((fixed)(((*pmat). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (*pmat). ty = ((float)(((*pmat). ty_fixed = ((fixed)(((*pmat). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) )));
-}
-int
-gs_initmatrix(gs_state *pgs)
-{ gx_device *dev = pgs->device->info;
- (*dev->procs->get_initial_matrix)(dev, &*(gs_matrix *)&(pgs)->ctm );
- (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
- return 0;
-}
-int
-gs_defaultmatrix(const gs_state *pgs, gs_matrix *pmat)
-{ gx_device *dev = pgs->device->info;
- (*dev->procs->get_initial_matrix)(dev, pmat);
- return 0;
-}
-int
-gs_currentmatrix(const gs_state *pgs, gs_matrix *pmat)
-{ *pmat = *(gs_matrix *)&(pgs)->ctm;
- return 0;
-}
-int
-gs_setmatrix(gs_state *pgs, const gs_matrix *pmat)
-{ *(gs_matrix *)&(pgs)->ctm = *pmat;
- (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
- return 0;
-}
-int
-gs_translate(gs_state *pgs, floatp dx, floatp dy)
-{ gs_point pt;
- int code;
- if ( (code = gs_distance_transform(dx, dy, &*(gs_matrix *)&(pgs)->ctm , &pt)) < 0 )
- return code;
- pgs->ctm.tx += pt.x;
- pgs->ctm.ty += pt.y;
- (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
- return 0;
-}
-int
-gs_scale(gs_state *pgs, floatp sx, floatp sy)
-{ pgs->ctm.xx *= sx;
- pgs->ctm.xy *= sx;
- pgs->ctm.yx *= sy;
- pgs->ctm.yy *= sy;
- pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
- return 0;
-}
-int
-gs_rotate(gs_state *pgs, floatp ang)
-{ int code = gs_matrix_rotate(&*(gs_matrix *)&(pgs)->ctm , ang, &*(gs_matrix *)&(pgs)->ctm );
- pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
- return code;
-}
-int
-gs_concat(gs_state *pgs, const gs_matrix *pmat)
-{ int code = gs_matrix_multiply(pmat, &*(gs_matrix *)&(pgs)->ctm , &*(gs_matrix *)&(pgs)->ctm );
- (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
- return code;
-}
-int
-gs_transform(gs_state *pgs, floatp x, floatp y, gs_point *pt)
-{ return gs_point_transform(x, y, &*(gs_matrix *)&(pgs)->ctm , pt);
-}
-int
-gs_dtransform(gs_state *pgs, floatp dx, floatp dy, gs_point *pt)
-{ return gs_distance_transform(dx, dy, &*(gs_matrix *)&(pgs)->ctm , pt);
-}
-int
-gs_itransform(gs_state *pgs, floatp x, floatp y, gs_point *pt)
-{
-
- if ( !!(((*(long *)(&((&pgs->ctm)->xy)) | *(long *)(&( (&pgs->ctm)->yx)) ) << 1) == 0) )
- { return gs_point_transform_inverse(x, y, &*(gs_matrix *)&(pgs)->ctm , pt);
- }
- else
- { if ( !pgs->inverse_valid ) { int code = ctm_set_inverse(pgs); if ( code < 0 ) return code; };
- return gs_point_transform(x, y, &pgs->ctm_inverse, pt);
- }
-}
-int
-gs_idtransform(gs_state *pgs, floatp dx, floatp dy, gs_point *pt)
-{
-
- if ( !!(((*(long *)(&((&pgs->ctm)->xy)) | *(long *)(&( (&pgs->ctm)->yx)) ) << 1) == 0) )
- { return gs_distance_transform_inverse(dx, dy,
- &*(gs_matrix *)&(pgs)->ctm , pt);
- }
- else
- { if ( !pgs->inverse_valid ) { int code = ctm_set_inverse(pgs); if ( code < 0 ) return code; };
- return gs_distance_transform(dx, dy, &pgs->ctm_inverse, pt);
- }
-}
-int
-gs_translate_to_fixed(register gs_state *pgs, fixed px, fixed py)
-{ pgs->ctm.tx = ((float)((pgs->ctm.tx_fixed = px)*(1.0/(1<<12 ) )));
- pgs->ctm.ty = ((float)((pgs->ctm.ty_fixed = py)*(1.0/(1<<12 ) )));
- pgs->inverse_valid = 0;
- pgs->char_tm_valid = 1;
- return 0;
-}
-int
-gx_matrix_to_fixed_coeff(const gs_matrix *pmat, register fixed_coeff *pfc,
- int max_bits)
-{ gs_matrix ctm;
- int scale = -10000;
- int expt, shift;
- ctm = *pmat;
- pfc->skewed = 0;
- if ( !((*(long *)(&(ctm.xx)) << 1) == 0) )
- { (void)frexp(ctm.xx, &scale);
- }
- if ( !((*(long *)(&(ctm.xy)) << 1) == 0) )
- { (void)frexp(ctm.xy, &expt);
- if ( expt > scale ) scale = expt;
- pfc->skewed = 1;
- }
- if ( !((*(long *)(&(ctm.yx)) << 1) == 0) )
- { (void)frexp(ctm.yx, &expt);
- if ( expt > scale ) scale = expt;
- pfc->skewed = 1;
- }
- if ( !((*(long *)(&(ctm.yy)) << 1) == 0) )
- { (void)frexp(ctm.yy, &expt);
- if ( expt > scale ) scale = expt;
- }
- scale = sizeof(long) * 8 - 1 - max_bits - scale;
- shift = scale - 12;
- if ( shift > 0 )
- { pfc->shift = shift;
- pfc->round = (fixed)1 << (shift - 1);
- }
- else
- { pfc->shift = 0;
- pfc->round = 0;
- scale -= shift;
- }
- pfc->xx = (((*(long *)(&(ctm.xx)) << 1) == 0) ? 0 : (long)ldexp(ctm.xx, scale));
- pfc->yy = (((*(long *)(&(ctm.yy)) << 1) == 0) ? 0 : (long)ldexp(ctm.yy, scale));
- if ( pfc->skewed )
- { pfc->xy = (((*(long *)(&(ctm.xy)) << 1) == 0) ? 0 : (long)ldexp(ctm.xy, scale));
- pfc->yx = (((*(long *)(&(ctm.yx)) << 1) == 0) ? 0 : (long)ldexp(ctm.yx, scale));
- }
- else
- pfc->xy = pfc->yx = 0;
- pfc->max_bits = max_bits;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-3.c b/gcc/testsuite/gcc.c-torture/compile/920428-3.c
deleted file mode 100644
index 13640c98ad2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920428-3.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef NO_LABEL_VALUES
-x(a){static void*j[]={&&l1,&&l2};goto*j[a];l1:return 0;l2:return 1;}
-#else
-main(){ exit (0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-4.c b/gcc/testsuite/gcc.c-torture/compile/920428-4.c
deleted file mode 100644
index cc5e30c2a80..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920428-4.c
+++ /dev/null
@@ -1 +0,0 @@
-x(a){struct{int p[a],i;}l;l.i;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-5.c b/gcc/testsuite/gcc.c-torture/compile/920428-5.c
deleted file mode 100644
index ff313799280..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920428-5.c
+++ /dev/null
@@ -1 +0,0 @@
-typedef struct{unsigned b0:1;}*t;x(a,b)t a,b;{b->b0=a->b0;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-6.c b/gcc/testsuite/gcc.c-torture/compile/920428-6.c
deleted file mode 100644
index e43af7ed3a7..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920428-6.c
+++ /dev/null
@@ -1,22 +0,0 @@
-typedef struct x
-{
- struct x *type;
- struct x *chain;
- struct x *value;
-} *tree;
-
-int
-func (new, old)
- register tree new, old;
-{
- if (old->type == 0 || new->type == 0)
- {
- register tree t = old->type;
- if (t == 0)
- t = new->type;
- for (; t; t = t->chain )
- if (t->value)
- return 1;
- }
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920428-7.c b/gcc/testsuite/gcc.c-torture/compile/920428-7.c
deleted file mode 100644
index 69b1d979aa9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920428-7.c
+++ /dev/null
@@ -1 +0,0 @@
-x(float*x){int a[4],i=0,j;for(j=0;j<2;j++){f(a[i++]);f(a[i++]);}}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-1.c b/gcc/testsuite/gcc.c-torture/compile/920501-1.c
deleted file mode 100644
index a84956417b0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* CYGNUS LOCAL -- meissner/no label values */
-#ifndef NO_LABEL_VALUES
-a(){int**b[]={&&c};c:;}
-#else
-int x;
-#endif
-/* END CYGNUS LOCAL -- meissner/no label values */
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-10.c b/gcc/testsuite/gcc.c-torture/compile/920501-10.c
deleted file mode 100644
index ecb5bb4151c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-10.c
+++ /dev/null
@@ -1 +0,0 @@
-x(y){return 8193*y;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-11.c b/gcc/testsuite/gcc.c-torture/compile/920501-11.c
deleted file mode 100644
index d636357e867..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-11.c
+++ /dev/null
@@ -1 +0,0 @@
-typedef struct{int s;}S;foo(){int i=(int)&(S){(void*)((int)&(S){1})};}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-12.c b/gcc/testsuite/gcc.c-torture/compile/920501-12.c
deleted file mode 100644
index 594e14178b9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-12.c
+++ /dev/null
@@ -1,5 +0,0 @@
-x(x){ return 3 + x;}
-a(x){int y[994]; return 3 + x;}
-b(x){int y[999]; return 2*(x + 3);}
-A(x){int y[9999];return 2*(x + 3);}
-B(x){int y[9949];return 3 + x;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-13.c b/gcc/testsuite/gcc.c-torture/compile/920501-13.c
deleted file mode 100644
index b5a6798ecc2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-13.c
+++ /dev/null
@@ -1 +0,0 @@
-typedef struct{int i;}t;inline y(t u){}x(){t u;y(u);}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-15.c b/gcc/testsuite/gcc.c-torture/compile/920501-15.c
deleted file mode 100644
index 81fd66401d5..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-15.c
+++ /dev/null
@@ -1 +0,0 @@
-x(a)double a;{int i;return i>a?i:i+1;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-16.c b/gcc/testsuite/gcc.c-torture/compile/920501-16.c
deleted file mode 100644
index f82b7524b24..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-16.c
+++ /dev/null
@@ -1 +0,0 @@
-f(n){struct z{int a,b[n],c[n];};}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-17.c b/gcc/testsuite/gcc.c-torture/compile/920501-17.c
deleted file mode 100644
index 05a4d408d50..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-17.c
+++ /dev/null
@@ -1 +0,0 @@
-x(){static const char x[]="x";char y[2];y[0]=x[1];}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-18.c b/gcc/testsuite/gcc.c-torture/compile/920501-18.c
deleted file mode 100644
index 70f7c0af505..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-18.c
+++ /dev/null
@@ -1,2 +0,0 @@
-union u{int i;float f;};
-x(p)int p;{union u x;for(x.i=0;x.i<p;x.i++)if(x.f>(float)3.0)break;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-19.c b/gcc/testsuite/gcc.c-torture/compile/920501-19.c
deleted file mode 100644
index 1671cc37e68..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-19.c
+++ /dev/null
@@ -1 +0,0 @@
-long long x=0;y(){x=0;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-2.c b/gcc/testsuite/gcc.c-torture/compile/920501-2.c
deleted file mode 100644
index 905f5ddb627..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-extern short distdata[64][64], taxidata[64][64];
-extern short PieceList[2][64];
-
-int
-ScoreKBNK (short int winner, short int king1, short int king2)
-{
- register short s;
-
- s = taxidata[king1][king2] + distdata[PieceList[winner][1]][king2];
- return s;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-20.c b/gcc/testsuite/gcc.c-torture/compile/920501-20.c
deleted file mode 100644
index 170d0501761..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-20.c
+++ /dev/null
@@ -1 +0,0 @@
-int*f(x)int*x;{if(x[4]){int h[1];if(setjmp(h))return x;}}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-21.c b/gcc/testsuite/gcc.c-torture/compile/920501-21.c
deleted file mode 100644
index 4a9f05a1b20..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-21.c
+++ /dev/null
@@ -1,3 +0,0 @@
-typedef unsigned short t;
-struct foo{t d;};
-int bar(d)t d;{struct foo u;u.d=d;return(int)(&u);}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-22.c b/gcc/testsuite/gcc.c-torture/compile/920501-22.c
deleted file mode 100644
index b15d7984b1b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-22.c
+++ /dev/null
@@ -1 +0,0 @@
-x(){int y[]={};}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-23.c b/gcc/testsuite/gcc.c-torture/compile/920501-23.c
deleted file mode 100644
index 291d93e6c5d..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-23.c
+++ /dev/null
@@ -1,16 +0,0 @@
-typedef unsigned char qi;
-typedef unsigned short hi;
-typedef unsigned long si;
-typedef unsigned long long di;
-subi(a){return 100-a;}
-add(a,b){return a+b;}
-mul(a){return 85*a;}
-memshift(p)unsigned*p;{unsigned x;for(;;){x=*p++>>16;if(x)return x;}}
-ldw(xp)si*xp;{return xp[4];}
-ldws_m(xp)si*xp;{si x;do{x=xp[3];xp+=3;}while(x);}
-postinc_si(p)si*p;{si x;for(;;){x=*p++;if(x)return x;}}
-preinc_si(p)si*p;{si x;for(;;){x=*++p;if(x)return x;}}
-postinc_di(p)di*p;{di x;for(;;){x=*p++;if(x)return x;}}
-preinc_di(p)di*p;{di x;for(;;){x=*++p;if(x)return x;}}
-inc_overlap(p,a)di*p;{do{p=*(di**)p;p=(di*)((int)p+4);}while(*p);}
-di move_di(p,p2)di*p,*p2;{di x=p;p2=((di*)x)[1];return p2[1];}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-24.c b/gcc/testsuite/gcc.c-torture/compile/920501-24.c
deleted file mode 100644
index ae9c145ef1b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-24.c
+++ /dev/null
@@ -1,221 +0,0 @@
-char *malloc ();
-
-main ()
-{
- char *buf1;
- int i;
- int cnt;
-
- buf1 = malloc (8193);
-
- read (0, buf1, 8192);
-
- for (i = 500; i > 0; i--)
- cnt = shift (buf1, 8192, '\n');
- printf ("%d ", cnt);
-
- for (i = 500; i > 0; i--)
- cnt = shift_xor (buf1, 8192, '\n');
- printf ("%d ", cnt);
-
- for (i = 500; i > 0; i--)
- cnt = bitfield (buf1, 8192, '\n');
- printf ("%d ", cnt);
-
- for (i = 500; i > 0; i--)
- cnt = char_autoincr (buf1, 8192, '\n');
- printf ("%d ", cnt);
-
- for (i = 500; i > 0; i--)
- cnt = xorand (buf1, 8192, '\n');
- printf ("%d ", cnt);
-}
-
-shift (b1, n, c)
- int *b1;
- int n;
- char c;
-{
- int nn;
- int cnt = 0;
- int w1;
-
- for (nn = n / (4 * 4); nn > 0; nn--)
- {
- w1 = *b1++;
- if ((char)w1 == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- w1 = *b1++;
- if ((char)w1 == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- w1 = *b1++;
- if ((char)w1 == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- w1 = *b1++;
- if ((char)w1 == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- if ((char)(w1 >>= 8) == c) cnt++;
- }
- return cnt;
-}
-
-shift_xor (b1, n, c)
- int *b1;
- int n;
- char c;
-{
- int nn;
- int cnt = 0;
- int w1;
- int cccc = (c << 24) | (c << 16) | (c << 8) | c;
-
- for (nn = n / (4 * 4); nn > 0; nn--)
- {
- w1 = *b1++ ^ cccc;
- if ((char)w1 == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- w1 = *b1++ ^ cccc;
- if ((char)w1 == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- w1 = *b1++ ^ cccc;
- if ((char)w1 == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- w1 = *b1++ ^ cccc;
- if ((char)w1 == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- if ((char)(w1 >>= 8) == 0) cnt++;
- }
- return cnt;
-}
-
-typedef
-struct
-{
- unsigned b0:8;
- unsigned b1:8;
- unsigned b2:8;
- unsigned b3:8;
-} foo;
-
-bitfield (b1, n, c)
- foo *b1;
- int n;
- char c;
-{
- int nn;
- int cnt = 0;
- register foo w1;
-
- for (nn = n / (4 * 4); nn > 0; nn--)
- {
- w1 = *b1++;
- if (w1.b0 == c) cnt++;
- if (w1.b1 == c) cnt++;
- if (w1.b2 == c) cnt++;
- if (w1.b3 == c) cnt++;
- w1 = *b1++;
- if (w1.b0 == c) cnt++;
- if (w1.b1 == c) cnt++;
- if (w1.b2 == c) cnt++;
- if (w1.b3 == c) cnt++;
- w1 = *b1++;
- if (w1.b0 == c) cnt++;
- if (w1.b1 == c) cnt++;
- if (w1.b2 == c) cnt++;
- if (w1.b3 == c) cnt++;
- w1 = *b1++;
- if (w1.b0 == c) cnt++;
- if (w1.b1 == c) cnt++;
- if (w1.b2 == c) cnt++;
- if (w1.b3 == c) cnt++;
- }
- return cnt;
-}
-
-
-char_autoincr (b1, n, c)
- char *b1;
- int n;
- char c;
-{
- int cnt = 0;
- char *bend = b1 + n;
- *bend = c;
-
- for (;;)
- {
- while (*b1++ != c)
- ;
- cnt++;
- if (b1 > bend)
- break;
- }
- return cnt;
-}
-
-typedef unsigned int uint;
-
-xorand (b1, n, c)
- int *b1;
- int n;
- unsigned char c;
-{
- int xm = ((int) c << 24) | ((int) c << 16) | ((int) c << 8) | ((int) c);
- byte_match_count2 (b1, n, xm, 0xff000000, 0xff0000, 0xff00, 0xff);
-}
-
-byte_match_count2 (buf, n, xm, m1, m2, m3, m4)
- int *buf;
- int n;
- uint m1, m2, m3, m4;
-{
- int w, cnt = 0;
- int *bp;
-
- n /= 4;
-
- buf[n] = xm;
-
- bp = buf;
- while (bp < buf + n)
- {
- w = *bp++ ^ xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
-
- w = *bp++ ^ xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
-
- w = *bp++ ^ xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
-
- w = *bp++ ^ xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
- }
- return cnt;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-3.c b/gcc/testsuite/gcc.c-torture/compile/920501-3.c
deleted file mode 100644
index 41ef87fbf7f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-struct{long long x:24,y:40;}v;
-x(){v.y=0;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-4.c b/gcc/testsuite/gcc.c-torture/compile/920501-4.c
deleted file mode 100644
index 9cd2fd7bd7a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-4.c
+++ /dev/null
@@ -1,49 +0,0 @@
-foo ()
-{
- int r0[8186 ];
- int r1[2 ];
- int r2[2 ];
- int bitm0[2 ];
- int bitm1[2 ];
- int bitm2[2 ];
-
- int i,j,k,m,n,m_max;
- int f;
- double fm,ft;
-
- while (1) {
-
- if (m%4 == 2)
- ++m;
-
- if (m_max != 0 && m > m_max)
- break;
-
- fm=m;
-
- r0[k=1]=0;
- bitm0[0] = 0;
-
- while ( n%f == 0 ) {
- while ( (ft != 0) && (ft < fm )) {
- bitm1[i] = 0;
- r1[i]=0;
- }
-
- while ( r0[i] != 0 && r1[i] != 0 ) {
- if ( r0[i] < r1[i] ) {
- bitm2[k] = bitm0[i];
- r2[k++]=0;
- }
- else if ( r0[i] > r1[j] ) {
- bitm2[k] = bitm1[j];
- r2[k++]=r1[j++];
- }
- else {
- bitm1[k] = bitm0[i];
- r2[k++]=r0[i++];
- }
- }
- }
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-6.c b/gcc/testsuite/gcc.c-torture/compile/920501-6.c
deleted file mode 100644
index d0a406381ff..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-6.c
+++ /dev/null
@@ -1 +0,0 @@
-x(y,z)float*y;{*y=z;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-7.c b/gcc/testsuite/gcc.c-torture/compile/920501-7.c
deleted file mode 100644
index ee193f78a4a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-7.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* CYGNUS LOCAL -- meissner/no label values */
-#ifndef NO_LABEL_VALUES
-x(){if(&&e-&&b<0)x();b:goto*&&b;e:;}
-#else
-int x;
-#endif
-/* END CYGNUS LOCAL -- meissner/no label values */
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-8.c b/gcc/testsuite/gcc.c-torture/compile/920501-8.c
deleted file mode 100644
index 68e33934d21..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-8.c
+++ /dev/null
@@ -1 +0,0 @@
-x(int*p){int x=p;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-9.c b/gcc/testsuite/gcc.c-torture/compile/920501-9.c
deleted file mode 100644
index 98a06000bf2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920501-9.c
+++ /dev/null
@@ -1 +0,0 @@
-short x(a)unsigned a;{a=32987799;return a;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920502-1.c b/gcc/testsuite/gcc.c-torture/compile/920502-1.c
deleted file mode 100644
index b576c6c990c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920502-1.c
+++ /dev/null
@@ -1 +0,0 @@
-extern void*t[];x(i){goto*t[i];}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920502-2.c b/gcc/testsuite/gcc.c-torture/compile/920502-2.c
deleted file mode 100644
index d3aa1e26d81..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920502-2.c
+++ /dev/null
@@ -1 +0,0 @@
-x(c){1LL<<c;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920529-1.c b/gcc/testsuite/gcc.c-torture/compile/920529-1.c
deleted file mode 100644
index 0f50309a27c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920529-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-void
-f (a, b, m, n)
- unsigned short *a, *b;
- int m, n;
-{
- unsigned long acc;
- int qn;
- int j;
-
- abort ();
-
- acc = a[m - 1];
- a += 0;
- for (j = qn - 1; j >= 0; j = j - 1)
- {
- acc = (acc << 16) | a[j];
- acc = acc % *b;
- }
-
- return;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920611-2.c b/gcc/testsuite/gcc.c-torture/compile/920611-2.c
deleted file mode 100644
index e54b1cda5fc..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920611-2.c
+++ /dev/null
@@ -1,53 +0,0 @@
-typedef unsigned char uchar;
-typedef unsigned short ushort;
-typedef unsigned int uint;
-typedef unsigned long ulong;
-
-static unsigned long S[1][1]={0x00820200};
-
-static int body(out0,out1,ks,Eswap0,Eswap1)
-ulong *out0,*out1;
-int *ks;
-ulong Eswap0,Eswap1;
-{
- register unsigned long l,r,t,u,v;
- register unsigned long *s;
- register int i,j;
- register unsigned long E0,E1;
-
- l=0;
- r=0;
-
- s=(ulong *)ks;
- E0=Eswap0;
- E1=Eswap1;
-
- for (i=0; i<(16 *2); i+=4)
- {
- v=(r^(r>>16));
- u=(v&E0);
- v=(v&E1);
- u=(u^(u<<16))^r^s[ i ];
- t=(v^(v<<16))^r^s[ i+1];
- t=(t>>4)|(t<<28);
- l^=S[1][(t)&0x3f]| S[3][(t>> 8)&0x3f]| S[5][(t>>16)&0x3f]| S[7][(t>>24)&0x3f]| S[0][(u)&0x3f]| S[2][(u>> 8)&0x3f]| S[4][(u>>16)&0x3f]| S[6][(u>>24)&0x3f];
- v=(l^(l>>16));
- u=(v&E0);
- v=(v&E1);
- u=(u^(u<<16))^l^s[ i+2 ];
- t=(v^(v<<16))^l^s[ i+2+1];
- t=(t>>4)|(t<<28);
- r^= S[1][(t )&0x3f];
- }
- t=l;
- l=r;
- r=t;
-
- t=r;
- r=(l>>1)|(l<<31);
- l=(t>>1)|(t<<31);
-
- *out0=l;
- *out1=r;
- return(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920615-1.c b/gcc/testsuite/gcc.c-torture/compile/920615-1.c
deleted file mode 100644
index 9b1c6aceef3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920615-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f()
-{
- int x[20] = {[0] = 5, [10] = 12};
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920617-1.c b/gcc/testsuite/gcc.c-torture/compile/920617-1.c
deleted file mode 100644
index 2d84e8d84f8..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920617-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(){double*xp,y;*xp++=sqrt(y);}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920617-2.c b/gcc/testsuite/gcc.c-torture/compile/920617-2.c
deleted file mode 100644
index 3a5450982c0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920617-2.c
+++ /dev/null
@@ -1 +0,0 @@
-f(a,b,c,d)float a[],d;int b[],c;{}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920623-1.c b/gcc/testsuite/gcc.c-torture/compile/920623-1.c
deleted file mode 100644
index 9b6ad51e102..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920623-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-int f(int c){return f(c--);}
-g(){}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920624-1.c b/gcc/testsuite/gcc.c-torture/compile/920624-1.c
deleted file mode 100644
index 8b4d2979d26..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920624-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-int B[],Q[];
-f(){int s;for(s=0;s<=1;s++)switch(s){case 2:case 3:++B[s];case 4:case 5:++Q[s];}}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920625-1.c b/gcc/testsuite/gcc.c-torture/compile/920625-1.c
deleted file mode 100644
index 720d43fd42f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920625-1.c
+++ /dev/null
@@ -1,279 +0,0 @@
-typedef unsigned long int unsigned_word;
-typedef signed long int signed_word;
-typedef unsigned_word word;
-
-typedef enum { ADD, ADD_CI, ADD_CO, ADD_CIO, SUB, SUB_CI, SUB_CO,
-SUB_CIO, ADC_CI, ADC_CO, ADC_CIO, AND, IOR, XOR, ANDC, IORC, EQV,
-NAND, NOR, AND_RC, IOR_RC, XOR_RC, ANDC_RC, IORC_RC, EQV_RC, NAND_RC,
-NOR_RC, AND_CC, IOR_CC, XOR_CC, ANDC_CC, IORC_CC, EQV_CC, NAND_CC,
-NOR_CC, LSHIFTR, ASHIFTR, SHIFTL, LSHIFTR_CO, ASHIFTR_CO, SHIFTL_CO,
-ROTATEL, ROTATEL_CO, ROTATEXL_CIO, ASHIFTR_CON, EXTS1, EXTS2, EXTU1,
-EXTU2, CLZ, CTZ, FF1, FF0, ABSVAL, NABSVAL, CMP, CPEQ, CPGE, CPGEU,
-CPGT, CPGTU, CPLE, CPLEU, CPLT, CPLTU, CPNEQ, CMPPAR, DOZ, COPY,
-EXCHANGE, COMCY, } opcode_t;
-
-typedef struct
-{
- opcode_t opcode:8;
- unsigned int s1:8;
- unsigned int s2:8;
- unsigned int d:8;
-} insn_t;
-
-enum prune_flags
-{
- NO_PRUNE = 0,
- CY_0 = 1,
- CY_1 = 2,
- CY_JUST_SET = 4,
-};
-
-int flag_use_carry = 1;
-
-inline
-recurse(opcode_t opcode,
- int d,
- int s1,
- int s2,
- word v,
- int cost,
- insn_t *sequence,
- int n_insns,
- word *values,
- int n_values,
- const word goal_value,
- int allowed_cost,
- int cy,
- int prune_flags)
-{
- insn_t insn;
-
- allowed_cost -= cost;
-
- if (allowed_cost > 0)
- {
- word old_d;
-
- old_d = values[d];
- values[d] = v;
-
- insn.opcode = opcode;
- insn.s1 = s1;
- insn.s2 = s2;
- insn.d = d;
- sequence[n_insns] = insn;
-
- synth(sequence, n_insns + 1, values, n_values,
- goal_value, allowed_cost, cy, prune_flags);
-
- values[d] = old_d;
- }
- else if (goal_value == v)
- {
- insn.opcode = opcode;
- insn.s1 = s1;
- insn.s2 = s2;
- insn.d = d;
- sequence[n_insns] = insn;
- test_sequence(sequence, n_insns + 1);
- }
-}
-
-synth(insn_t *sequence,
- int n_insns,
- word *values,
- int n_values,
- word goal_value,
- int allowed_cost,
- int ci,
- int prune_hint)
-{
- int s1, s2;
- word v, r1, r2;
- int co;
- int last_dest;
-
- if (n_insns > 0)
- last_dest = sequence[n_insns - 1].d;
- else
- last_dest = -1;
- if (ci >= 0 && flag_use_carry)
- {
- for (s1 = n_values - 1; s1 >= 0; s1--)
- {
- r1 = values[s1];
- for (s2 = s1 - 1; s2 >= 0; s2--)
- {
- r2 = values[s2];
-
- if (allowed_cost <= 1 && (prune_hint & CY_JUST_SET) == 0)
- {
- if (last_dest >= 0 && s1 != last_dest && s2 != last_dest)
- continue;
- }
- do { word __d = ( r1) + ( r2) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CIO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- do { word __d = ( r1) + ( r2) + (( ci)); ( co) = ( ci); (v) = __d; } while (0);
- recurse(ADD_CI, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- do { word __d = ( r1) - ( r2) - (( ci)); ( co) = ( ci) ? __d >= ( r1) : __d > ( r1); (v) = __d; } while (0);
- recurse(SUB_CIO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- do { word __d = ( r2) - ( r1) - (( ci)); ( co) = ( ci) ? __d >= ( r2) : __d > ( r2); (v) = __d; } while (0);
- recurse(SUB_CIO, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
-
- do { word __d = ( r1) - ( r2) - (( ci)); ( co) = ( ci); (v) = __d; } while (0);
- recurse(SUB_CI, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- do { word __d = ( r2) - ( r1) - (( ci)); ( co) = ( ci); (v) = __d; } while (0);
- recurse(SUB_CI, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- }
- }
- }
- for (s1 = n_values - 1; s1 >= 0; s1--)
- {
- r1 = values[s1];
- for (s2 = s1 - 1; s2 >= 0; s2--)
- {
- r2 = values[s2];
-
- if (allowed_cost <= 1)
- {
- if (last_dest >= 0 && s1 != last_dest && s2 != last_dest)
- continue;
- }
-
- do { word __d = ( r1) + ( r2); ( co) = __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
-
- ((v) = ( r1) + ( r2), ( co) = ( ci));
- recurse(ADD, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- do { word __d = ( r1) - ( r2); ( co) = __d > ( r1); (v) = __d; } while (0);
- recurse(SUB_CO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- do { word __d = ( r2) - ( r1); ( co) = __d > ( r2); (v) = __d; } while (0);
- recurse(SUB_CO, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- ((v) = ( r1) - ( r2), ( co) = ( ci));
- recurse(SUB, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ( r2) - ( r1), ( co) = ( ci));
- recurse(SUB, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( r1) & ( r2), ( co) = ( ci));
- recurse(AND, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( r1) | ( r2), ( co) = ( ci));
- recurse(IOR, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( r1) ^ ( r2), ( co) = ( ci));
- recurse(XOR, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( r1) & ~( r2), ( co) = ( ci));
- recurse(ANDC, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ( r2) & ~( r1), ( co) = ( ci));
- recurse(ANDC, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ( r1) | ~( r2), ( co) = ( ci));
- recurse(IORC, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ( r2) | ~( r1), ( co) = ( ci));
- recurse(IORC, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ( r1) ^ ~( r2), ( co) = ( ci));
- recurse(EQV, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- }
- }
- if (ci >= 0 && flag_use_carry)
- {
- for (s1 = n_values - 1; s1 >= 0; s1--)
- {
- r1 = values[s1];
-
- if (allowed_cost <= 1 && (prune_hint & CY_JUST_SET) == 0)
- {
-
- if (last_dest >= 0 && s1 != last_dest)
- continue;
- }
-
- do { word __d = ( r1) + ( r1) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CIO, n_values, s1, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
-
- do { word __d = ( r1) + ( r1) + (( ci)); ( co) = ( ci); (v) = __d; } while (0);
- recurse(ADD_CI, n_values, s1, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- do { word __d = ( r1) + ( -1 ) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CIO, n_values, s1, (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
-
- do { word __d = ( r1) + ( 0 ) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CIO, n_values, s1, (0x20 + 0) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- do { word __d = ( 0 ) - ( r1) - (( ci)); ( co) = ( ci) ? __d >= ( 0 ) : __d > ( 0 ); (v) = __d; } while (0);
- recurse(SUB_CIO, n_values, (0x20 + 0) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
-
- }
- }
- for (s1 = n_values - 1; s1 >= 0; s1--)
- {
- r1 = values[s1];
-
- if (allowed_cost <= 1)
- {
- if (last_dest >= 0 && s1 != last_dest)
- continue;
- }
- do { word __d = ( r1) + ( r1); ( co) = __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CO, n_values, s1, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
-
- ((v) = ( r1) & ( 1 ), ( co) = ( ci));
- recurse(AND, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( r1) ^ ( 1 ), ( co) = ( ci));
- recurse(XOR, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( -1 ) - ( r1), ( co) = ( ci));
- recurse(SUB, n_values, (0x20 + -1) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- do { word __d = ( r1) + ( 1 ); ( co) = __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CO, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- ((v) = ( r1) + ( 1 ), ( co) = ( ci));
- recurse(ADD, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- do { word __d = ( r1) + ( -1 ); ( co) = __d < ( r1); (v) = __d; } while (0);
- recurse(ADD_CO, n_values, s1, (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- do { word __d = ( r1) - ( 1 ); ( co) = __d > ( r1); (v) = __d; } while (0);
- recurse(SUB_CO, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- do { word __d = ( 0 ) - ( r1); ( co) = __d > ( 0 ); (v) = __d; } while (0);
- recurse(SUB_CO, n_values, (0x20 + 0) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
- ((v) = ( 0 ) - ( r1), ( co) = ( ci));
- recurse(SUB, n_values, (0x20 + 0) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ((unsigned_word) ( r1) >> (( 1 ) & (32 - 1)) ), ( co) = ( ci));
- recurse(LSHIFTR, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ((signed_word) ( r1) >> (( 1 ) & (32 - 1)) ), ( co) = ( ci));
- recurse(ASHIFTR, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ((signed_word) ( r1) << (( 1 ) & (32 - 1)) ), ( co) = ( ci));
- recurse(SHIFTL, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ((unsigned_word) ( r1) >> (( 32 -1 ) & (32 - 1)) ), ( co) = ( ci));
- recurse(LSHIFTR, n_values, s1, (0x20 + 32 -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- ((v) = ((signed_word) ( r1) >> (( 32 -1 ) & (32 - 1)) ), ( co) = ( ci));
- recurse(ASHIFTR, n_values, s1, (0x20 + 32 -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- }
- if (ci >= 0 && flag_use_carry
- && (allowed_cost <= 1 ? ((prune_hint & CY_JUST_SET) != 0) : 1))
- {
- do { word __d = ( 0 ) + ( 0 ) + (( ci)); ( co) = ( ci) ? __d <= ( 0 ) : __d < ( 0 ); (v) = __d; } while (0);
- recurse(ADD_CIO, n_values, (0x20 + 0) , (0x20 + 0) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET | CY_0);
- do { word __d = ( 0 ) - ( 0 ) - (( ci)); ( co) = ( ci) ? __d >= ( 0 ) : __d > ( 0 ); (v) = __d; } while (0);
- recurse(SUB_CIO, n_values, (0x20 + 0) , (0x20 + 0) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- do { word __d = ( 0 ) - ( -1 ) - (( ci)); ( co) = ( ci) ? __d >= ( 0 ) : __d > ( 0 ); (v) = __d; } while (0);
- recurse(SUB_CIO, n_values, (0x20 + 0) , (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET | CY_1);
- do { word __d = ( 0 ) + ( -1 ) + (( ci)); ( co) = ( ci) ? __d <= ( 0 ) : __d < ( 0 ); (v) = __d; } while (0);
- recurse(ADD_CIO, n_values, (0x20 + 0) , (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- }
-
- if (allowed_cost > 1)
- {
- ((v) = ( 0x80000000 ), ( co) = ( ci));
- recurse(COPY, n_values, (0x20 - 2) , 0, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( -1 ), ( co) = ( ci));
- recurse(COPY, n_values, (0x20 + -1) , 0, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
-
- ((v) = ( 1 ), ( co) = ( ci));
- recurse(COPY, n_values, (0x20 + 1) , 0, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920625-2.c b/gcc/testsuite/gcc.c-torture/compile/920625-2.c
deleted file mode 100644
index 1466285f88e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920625-2.c
+++ /dev/null
@@ -1,103 +0,0 @@
-typedef char * caddr_t;
-typedef unsigned Cursor;
-typedef char *String;
-typedef struct _WidgetRec *Widget;
-typedef char Boolean;
-typedef unsigned int Cardinal;
-typedef struct _XedwListReturnStruct {
- String string;
- int xedwList_index;
- struct _XedwListReturnStruct *next;
-} XedwListReturnStruct;
-static XedwListReturnStruct *return_list;
-static String srcdir, dstdir;
-char *strcpy();
- extern void setCursor(Cursor);
- extern void query_dialog(String, Boolean);
- extern Boolean directoryManagerNewDirectory(String);
-trashQueryResult(Widget w, Boolean delete, caddr_t call_data)
-{
- int execute(String, String, String, Boolean);
- extern void destroy_button_dialog(void);
- extern void changestate(Boolean);
-
- extern Cursor busy, left_ptr;
- extern String cwd;
- static void freeReturnStruct(void);
- String rmstring;
- int status;
- XedwListReturnStruct *tmp;
- setCursor(busy);
- destroy_button_dialog();
- if (delete == 1) {
- rmstring = (("rm -fr") != ((void *)0) ? (strcpy((char*)XtMalloc((unsigned)strlen("rm -fr") + 1), "rm -fr")) : ((void *)0));
- tmp = return_list;
- while (tmp != ((void *)0)) {
- rmstring = (String) XtRealloc (rmstring, sizeof(char) *
- (strlen(rmstring) +
- strlen(tmp->string) + 5));
- sprintf(rmstring, "%s '%s'", rmstring, tmp->string);
- tmp = tmp->next;
- }
- if ((status = execute(((void *)0), "rm", rmstring, 1)) != 0) {
- XBell(XtDisplay(w), 100);
- query_dialog("Can't remove file", 0);
- }
- XtFree(rmstring);
-
- directoryManagerNewDirectory(cwd);
- } else {
- changestate(1);
- }
- setCursor(left_ptr);
- freeReturnStruct();
-}
-
-copyQueryResult(Widget w, Boolean copy, caddr_t call_data)
-{
- extern void destroy_button_dialog();
- extern void changestate(Boolean);
- extern Cursor busy, left_ptr;
- static void freeReturnStruct(void);
- int execute(String, String, String, Boolean);
- extern String cwd;
- String copystring;
- int status;
- Cardinal srclen, dstlen;
- XedwListReturnStruct *tmp;
- destroy_button_dialog();
- setCursor(busy);
- if (copy == 1) {
- srclen = strlen(srcdir);
- dstlen = strlen(dstdir);
- copystring = (("cp -r") != ((void *)0) ? (strcpy((char*)XtMalloc((unsigned)strlen("cp -r") + 1), "cp -r")) : ((void *)0));
- tmp = return_list;
- while (tmp != ((void *)0)) {
- copystring = (String) XtRealloc (copystring, sizeof(char) *
- (strlen(copystring) +
- strlen(tmp->string) +
- srclen + 6));
- sprintf(copystring, "%s '%s/%s'", copystring, srcdir, tmp->string);
- tmp = tmp->next;
- }
- copystring = (String) XtRealloc (copystring, sizeof(char) *
- (strlen(copystring) +
- dstlen + 5));
- sprintf(copystring, "%s '%s'", copystring, dstdir);
- if ((status = execute(((void *)0), "cp", copystring, 1)) != 0) {
- XBell(XtDisplay(w), 100);
- query_dialog("Can't copy file!", 0);
- }
- XtFree(copystring);
-
- directoryManagerNewDirectory(cwd);
- } else {
- changestate(1);
- }
- XtFree(srcdir);
- XtFree(dstdir);
- setCursor(left_ptr);
- freeReturnStruct();
-}
-
-freeReturnStruct(){}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920626-1.c b/gcc/testsuite/gcc.c-torture/compile/920626-1.c
deleted file mode 100644
index 54419866a1f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920626-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(x)unsigned x;{return x>>-5;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920701-1.c b/gcc/testsuite/gcc.c-torture/compile/920701-1.c
deleted file mode 100644
index 4302f9ea331..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920701-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(char*c){extern char a[],b[];return a+(b-c);}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920702-1.c b/gcc/testsuite/gcc.c-torture/compile/920702-1.c
deleted file mode 100644
index 23a5395b0cd..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920702-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-int somevar;
-void
-yylex ()
-{
- register int result = 0;
- int num_bits = -1;
-
- if (((result >> -1) & 1))
- somevar = 99;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920706-1.c b/gcc/testsuite/gcc.c-torture/compile/920706-1.c
deleted file mode 100644
index 13b0ff1e0ba..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920706-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(){float i[2],o[1];g(o);return*o;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920710-2.c b/gcc/testsuite/gcc.c-torture/compile/920710-2.c
deleted file mode 100644
index dcaf1bea3cf..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920710-2.c
+++ /dev/null
@@ -1,36 +0,0 @@
-union u
-{
- struct {unsigned h, l;} i;
- double d;
-};
-
-foo (union u x)
-{
- while (x.i.h++)
- {
- while (x.i.l-- > 0)
- ;
- while (x.d++ > 0)
- ;
- }
-}
-
-union n
-{
- long long unsigned i;
- double d;
-};
-
-bar (union n x)
-{
- int i;
- for (i = 0; i < 100; i++)
- {
- while (--x.i > 0)
- ;
- while (++x.d > 0)
- ;
- }
- return x.i;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/920711-1.c b/gcc/testsuite/gcc.c-torture/compile/920711-1.c
deleted file mode 100644
index a5aa7df1127..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920711-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(a){a=(1,1)/2;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920721-1.c b/gcc/testsuite/gcc.c-torture/compile/920721-1.c
deleted file mode 100644
index 7ced611eb6f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920721-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-typedef struct{short ttype;float s;}T;
-short t[8][8];
-
-T f(T t2,T t1)
-{
- T x;
- if (t1.ttype == 1)
- x.ttype = t[t2.ttype][t1.ttype],
- x.s = 1;
- return x;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920723-1.c b/gcc/testsuite/gcc.c-torture/compile/920723-1.c
deleted file mode 100644
index af0cf76f42c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920723-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef struct {
- double x, y;
-} vector_t;
-double sqrt();
-f(int count,vector_t*pos,double r,double *rho)
-{
- int i, j, miny, maxy, hy;
- float help, d;
- int gitt[150][150];
- int *data = (int *)malloc(count*sizeof(int));
- for (i = 0; i < count; i++)
- rho[i] = 0;
- for (i = 1; i < count; i++)
- for (hy = miny; hy<= maxy; hy++)
- while(j >=0) {
- d = pos[i].y - pos[j].y;
- if ( d <= r) {
- d = sqrt(d);
- rho[i] += help;
- }
- }
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/920729-1.c b/gcc/testsuite/gcc.c-torture/compile/920729-1.c
deleted file mode 100644
index 96676e95307..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920729-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-extern int i;extern volatile int i;
-f(){int j;for(;;)j = i;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920806-1.c b/gcc/testsuite/gcc.c-torture/compile/920806-1.c
deleted file mode 100644
index 0928fe8a784..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920806-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(){short x=32000;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920808-1.c b/gcc/testsuite/gcc.c-torture/compile/920808-1.c
deleted file mode 100644
index 17510a96821..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920808-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(i){for(i=1;i<=2;({;}),i++){({;}),g();}}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920809-1.c b/gcc/testsuite/gcc.c-torture/compile/920809-1.c
deleted file mode 100644
index ad35e121003..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920809-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(x,y){memcpy (&x,&y,8192);}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920817-1.c b/gcc/testsuite/gcc.c-torture/compile/920817-1.c
deleted file mode 100644
index 31a57339ea9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920817-1.c
+++ /dev/null
@@ -1 +0,0 @@
-int v;static inline f(){return 0;}g(){return f();}void h(){return v++;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920820-1.c b/gcc/testsuite/gcc.c-torture/compile/920820-1.c
deleted file mode 100644
index 2bc0dbea07b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920820-1.c
+++ /dev/null
@@ -1 +0,0 @@
-long long f(double y){return y;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920821-1.c b/gcc/testsuite/gcc.c-torture/compile/920821-1.c
deleted file mode 100644
index 40a8c178f10..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920821-1.c
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/gcc/testsuite/gcc.c-torture/compile/920821-2.c b/gcc/testsuite/gcc.c-torture/compile/920821-2.c
deleted file mode 100644
index a69c0a901ba..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920821-2.c
+++ /dev/null
@@ -1,4 +0,0 @@
-typedef struct{int p[25];}t1;
-struct{t1 x,y;}y;
-t1 x[1];
-f(){y.x=*x;y.y=*x;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920825-1.c b/gcc/testsuite/gcc.c-torture/compile/920825-1.c
deleted file mode 100644
index 514d63f977f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920825-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma pack(1)
-struct{unsigned short f1:5;unsigned short f2:6;}x;
-f(){x.f2=1;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920825-2.c b/gcc/testsuite/gcc.c-torture/compile/920825-2.c
deleted file mode 100644
index 9834aac1783..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920825-2.c
+++ /dev/null
@@ -1,3 +0,0 @@
-f(double*a,int m){int j;for(j=0;j<m;j++)a[j]=1;}
-g(double*a){int j;for(j=0;j<4;j++)a[j]=1;}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/920826-1.c b/gcc/testsuite/gcc.c-torture/compile/920826-1.c
deleted file mode 100644
index d19eff2cec6..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920826-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(int*x){goto*(char)*x;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920828-1.c b/gcc/testsuite/gcc.c-torture/compile/920828-1.c
deleted file mode 100644
index 4893173423b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920828-1.c
+++ /dev/null
@@ -1 +0,0 @@
-char a[]={4,5};f(n){return a[n<2?n:0];}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920829-1.c b/gcc/testsuite/gcc.c-torture/compile/920829-1.c
deleted file mode 100644
index 593400bac92..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920829-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(double x){double y;y=x/0.5;if(y<0.1)y=1.0;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920831-1.c b/gcc/testsuite/gcc.c-torture/compile/920831-1.c
deleted file mode 100644
index ff2fd6360bf..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920831-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(x){goto*(char)x;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920902-1.c b/gcc/testsuite/gcc.c-torture/compile/920902-1.c
deleted file mode 100644
index 6f6dcd5bf30..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920902-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-void f(int);
-void f(x)unsigned char x;{}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920909-1.c b/gcc/testsuite/gcc.c-torture/compile/920909-1.c
deleted file mode 100644
index 939aaf789e8..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920909-1.c
+++ /dev/null
@@ -1 +0,0 @@
-long long f(long long a,long long b){return a<<b;}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920917-1.c b/gcc/testsuite/gcc.c-torture/compile/920917-1.c
deleted file mode 100644
index ebe8200d48b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920917-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-inline f(x){switch(x){case 6:case 4:case 3:case 1:;}return x;}
-g(){f(sizeof("xxxxxx"));}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920928-1.c b/gcc/testsuite/gcc.c-torture/compile/920928-1.c
deleted file mode 100644
index 137363dc120..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920928-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-struct{int c;}v;
-static long i=((char*)&(v.c)-(char*)&v);
diff --git a/gcc/testsuite/gcc.c-torture/compile/920928-2.c b/gcc/testsuite/gcc.c-torture/compile/920928-2.c
deleted file mode 100644
index a0964f90f44..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920928-2.c
+++ /dev/null
@@ -1,19 +0,0 @@
-typedef struct{struct{char*d;int b;}*i;}*t;
-double f();
-g(p)t p;
-{
- short x,y,delta,s,w,h,fx,fy,tx,ty;
- int q1,q2,q3,q4;
- h=f((ty-fy)/2.0+0.5);
- s=(((int)((short)(tx-fx))<(int)((short)(ty-fy)))?((short)(tx-fx)):((short)(ty-fy)))%2;
- delta=(((int)(w)<(int)(h))?(w):(h))-s;
- for(x=0;x<=delta;x++)
- for(y=1-s;y<=delta;y++){
- q1=((int)((*(p->i->d+(fx+w+x)/8+(fy+h+y)*p->i->b)&(1<<((fx+w+x)%8)))?1:0));
- q2=((int)((*(p->i->d+(fx+w+y)/8+(fy+h-s-x)*p->i->b)&(1<<((fx+w+y)%8)))?1:0));
- q3=((int)((*(p->i->d+(fx+w-s-x)/8+(fy+h-s-y)*p->i->b)&(1<<((fx+w-s-x)%8)))?1:0));
- q4=((int)((*(p->i->d+(fx+w-s-y)/8+(fy+h+x)*p->i->b)&(1<<((fx+w-s-y)%8)))?1:0));
- if(q4!=q1)
- ff(p,fx+w-s-y,fy+h+x);
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920928-3.c b/gcc/testsuite/gcc.c-torture/compile/920928-3.c
deleted file mode 100644
index 583dc69b74c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920928-3.c
+++ /dev/null
@@ -1,19 +0,0 @@
-f (int phaseone)
-{
- typedef struct
- {
- unsigned char *p;
- }
- FILE;
- FILE b[2];
- static unsigned char xchr[2];
- int j;
- int for_end;
- if (phaseone)
- {
- if (j <= for_end)
- do
- *(b[1].p) = xchr[j];
- while (j++ < 10);
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/920928-4.c b/gcc/testsuite/gcc.c-torture/compile/920928-4.c
deleted file mode 100644
index 348de654f30..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920928-4.c
+++ /dev/null
@@ -1,113 +0,0 @@
-typedef unsigned char unsigned8;
-typedef unsigned short int unsigned16;
-typedef unsigned long int unsigned32;
-typedef char signed8;
-typedef short int signed16;
-typedef long int signed32;
-typedef unsigned32 boolean32;
-typedef unsigned long int error_status_t;
-typedef struct {
- unsigned32 time_low;
- unsigned16 time_mid;
- unsigned16 time_hi_and_version;
- unsigned8 clock_seq_hi_and_reserved;
- unsigned8 clock_seq_low;
- unsigned char node[6];
-} uuid_t;
-
-typedef unsigned32 bitset;
-typedef signed32 sec_timeval_sec_t;
-typedef struct {
- signed32 sec;
- signed32 usec;
-} sec_timeval_t;
-typedef signed32 sec_timeval_period_t;
-typedef signed32 sec_rgy_acct_key_t;
-
-typedef struct {
- uuid_t source;
- signed32 handle;
- boolean32 valid;
-} sec_rgy_cursor_t;
-typedef unsigned char sec_rgy_pname_t[257];
-typedef unsigned char sec_rgy_name_t[1025];
-
-typedef signed32 sec_rgy_override_t;
-typedef signed32 sec_rgy_mode_resolve_t;
-typedef unsigned char sec_rgy_unix_gecos_t[292];
-typedef unsigned char sec_rgy_unix_login_name_t[1025];
-typedef unsigned char sec_rgy_member_t[1025];
-typedef unsigned char sec_rgy_unix_passwd_buf_t[16];
-typedef struct sec_rgy_sid_t {
- uuid_t person;
- uuid_t group;
- uuid_t org;
-} sec_rgy_sid_t;
-typedef struct {
- signed32 person;
- signed32 group;
- signed32 org;
-} sec_rgy_unix_sid_t;
-typedef struct {
- sec_rgy_unix_login_name_t name;
- sec_rgy_unix_passwd_buf_t passwd;
- signed32 uid;
- signed32 gid;
- signed32 oid;
- sec_rgy_unix_gecos_t gecos;
- sec_rgy_pname_t homedir;
- sec_rgy_pname_t shell;
-} sec_rgy_unix_passwd_t;
-typedef unsigned char sec_rgy_member_buf_t[10250];
-typedef struct {
- sec_rgy_name_t name;
- signed32 gid;
- sec_rgy_member_buf_t members;
-} sec_rgy_unix_group_t;
-
-typedef struct {
- uuid_t site_id;
- sec_timeval_sec_t person_dtm;
- sec_timeval_sec_t group_dtm;
- sec_timeval_sec_t org_dtm;
-} rs_cache_data_t;
-
-typedef enum {
- rs_unix_query_name,
- rs_unix_query_unix_num,
- rs_unix_query_none
-} rs_unix_query_t;
-
-typedef struct {
- rs_unix_query_t query;
- union {
- struct {
- long int name_len;
- sec_rgy_name_t name;
- } name;
- long int unix_num;
- } tagged_union;
-} rs_unix_query_key_t;
-
-static unsigned long int IDL_offset_vec[] =
-{
- 0,
- sizeof(sec_rgy_unix_group_t),
- (unsigned long int) ((unsigned char *) &((sec_rgy_unix_group_t *) 0)->name - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((sec_rgy_unix_group_t *) 0)->gid - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((sec_rgy_unix_group_t *) 0)->members - (unsigned char *) 0),
- sizeof(rs_cache_data_t),
- (unsigned long int) ((unsigned char *) &((rs_cache_data_t *) 0)->site_id.time_low - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((rs_cache_data_t *) 0)->site_id.time_mid - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((rs_cache_data_t *) 0)->site_id.time_hi_and_version - (unsigned char *) 0),
- sizeof(sec_rgy_unix_passwd_t),
- (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->source.clock_seq_hi_and_reserved - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->source.clock_seq_low - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->source.node - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->handle - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->valid - (unsigned char *) 0),
- sizeof(struct {long int name_len; sec_rgy_name_t name;}),
- (unsigned long int) ((unsigned char *) &((struct {long int name_len; sec_rgy_name_t name;} *)0)->name_len
- - (unsigned char *) 0),
- (unsigned long int) ((unsigned char *) &((struct {long int name_len; sec_rgy_name_t name;} *)0)->name - (unsigned char *) 0),
-};
diff --git a/gcc/testsuite/gcc.c-torture/compile/920928-5.c b/gcc/testsuite/gcc.c-torture/compile/920928-5.c
deleted file mode 100644
index 8c975f0c051..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920928-5.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* REPRODUCED:CC1:SIGNAL MACHINE:m68k OPTIONS:-fpcc-struct-return */
-struct b{};
-f(struct b(*f)())
-{
-struct b d=f();
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/920928-6.c b/gcc/testsuite/gcc.c-torture/compile/920928-6.c
deleted file mode 100644
index 692191b1245..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/920928-6.c
+++ /dev/null
@@ -1,2 +0,0 @@
-struct{int c;}v;
-static short i=((char*)&(v.c)-(char*)&v);
diff --git a/gcc/testsuite/gcc.c-torture/compile/921004-1.c b/gcc/testsuite/gcc.c-torture/compile/921004-1.c
deleted file mode 100644
index a947229089f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921004-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-/* REPRODUCED:CC1:SIGNAL MACHINE:i386 OPTIONS: */
-long long f()
-{
-long long*g,*s;
-return*g+*s;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921011-1.c b/gcc/testsuite/gcc.c-torture/compile/921011-1.c
deleted file mode 100644
index 6cc707dc74c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921011-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-void
-fun (nb)
- int nb;
-{
- int th, h, em, nlwm, nlwS, nlw, sy;
-
- while (nb--)
- while (h--)
- {
- nlw = nlwm;
- while (nlw)
- {
- if (nlwS == 1)
- {
- }
- else
- if (nlwS == 1)
- {
- }
- nlwS--; nlw--;
- }
- if (em)
- nlwS--;
- if (++sy == th)
- sy = 0;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921011-2.c b/gcc/testsuite/gcc.c-torture/compile/921011-2.c
deleted file mode 100644
index bf11dad979f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921011-2.c
+++ /dev/null
@@ -1,65 +0,0 @@
-extern int foobar1 ();
-
-typedef struct
- {
- unsigned long colormap;
- unsigned long red_max;
- unsigned long red_mult;
- unsigned long green_max;
- unsigned long green_mult;
- unsigned long blue_max;
- unsigned long blue_mult;
- unsigned long base_pixel;
- unsigned long visualid;
- unsigned long killid;
- }
-frotz;
-
-int
-foobar (stdcmap, count)
- frotz **stdcmap;
- int *count;
-{
- register int i;
- frotz *data = ((void *) 0);
-
- unsigned long nitems;
- int ncmaps;
- int old_style = 0;
- unsigned long def_visual = 0L;
- frotz *cmaps;
-
-
- if ( foobar1 (&data) != 0)
- return 0;
- if (nitems < 10)
- {
- ncmaps = 1;
- if (nitems < 9)
- {
- }
- }
- else
- ncmaps = (nitems / 10);
-
- {
- register frotz *map;
- register frotz *prop;
-
- for (i = ncmaps, map = cmaps, prop = data; i > 0; i--, map++, prop++)
- {
- map->colormap = prop->colormap;
- map->red_max = prop->red_max;
- map->red_mult = prop->red_mult;
- map->green_max = prop->green_max;
- map->green_mult = prop->green_mult;
- map->blue_max = prop->blue_max;
- map->blue_mult = prop->blue_mult;
- map->base_pixel = prop->base_pixel;
- map->visualid = (def_visual ? def_visual : prop->visualid);
- map->killid = (old_style ? 0L : prop->killid);
- }
- }
- *stdcmap = cmaps;
- *count = ncmaps;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921012-1.c b/gcc/testsuite/gcc.c-torture/compile/921012-1.c
deleted file mode 100644
index 7b5cb6b9f17..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921012-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f()
-{
-g(({int x;0;}));
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921012-2.c b/gcc/testsuite/gcc.c-torture/compile/921012-2.c
deleted file mode 100644
index 6f4de779549..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921012-2.c
+++ /dev/null
@@ -1,7 +0,0 @@
-struct foo {
-int a,b,c;
-};
-f(struct foo*a,struct foo*b)
-{
-*a=*b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921013-1.c b/gcc/testsuite/gcc.c-torture/compile/921013-1.c
deleted file mode 100644
index 0d14cbc6bb6..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921013-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f(int x,short y)
-{
-long z=y<0?x>0?x:0:y;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921019-1.c b/gcc/testsuite/gcc.c-torture/compile/921019-1.c
deleted file mode 100644
index 227bdc276fa..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921019-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-struct
-{
-int n:1,c:1;
-}p;
-
-f()
-{
-p.c=p.n=0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921021-1.c b/gcc/testsuite/gcc.c-torture/compile/921021-1.c
deleted file mode 100644
index 18dffeb9dd3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921021-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-void g();
-
-f()
-{
-int x=1;
-while(x)
-{
-x=h();
-if(x)
-g();
-}
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921024-1.c b/gcc/testsuite/gcc.c-torture/compile/921024-1.c
deleted file mode 100644
index e723246d6b2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921024-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-long long f(s,r)
-{
- return *(long long*)(s+r);
-}
-
-g(s,r)
-{
- *(long long*)(s+r)=0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921026-1.c b/gcc/testsuite/gcc.c-torture/compile/921026-1.c
deleted file mode 100644
index 18238de8332..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921026-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f(unsigned short*a)
-{
-a[0]=65535;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921103-1.c b/gcc/testsuite/gcc.c-torture/compile/921103-1.c
deleted file mode 100644
index 578e91aaf83..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921103-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-struct {
- unsigned int f1, f2;
-} s;
-
-f()
-{
- unsigned x, y;
- x = y = 0;
- while (y % 4)
- y++;
- g(&s.f2, s.f1 + x, 4);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921109-1.c b/gcc/testsuite/gcc.c-torture/compile/921109-1.c
deleted file mode 100644
index eda43451f25..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921109-1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-typedef struct { double x, y; } p;
-typedef struct { int s; float r; } t;
-t *e, i;
-int i1;
-
-f(t *op)
-{
-int i2 = e->r;
-p pt;
-int c = g();
-t p;
-
-if (c)
-{
-i = *e;
-e -= 3;
-return 8;
-}
-if (op > e)
-return 1;
-op->r = pt.x;
-op->r = pt.y;
-p = *e;
-++e;
-e->r = i1, e->s = i1;
-*++e = p;
-return 3;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921109-3.c b/gcc/testsuite/gcc.c-torture/compile/921109-3.c
deleted file mode 100644
index 40e63f26ed6..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921109-3.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* EXTRA_OPTIONS: -fcaller-saves */
-
-extern char *malloc();
-
-main()
-{
- char w[1000];
- int i, j, nres, t[1000];
- float dv, (**dmat)[4][4];
- short at1, at2;
-
- nres = 200;
-
- for (i = 0; i < nres; i++)
- {
- w[i] = rand() & 15;
- t[i] = 0;
- }
-
- dmat = (float (**)[4][4]) malloc(nres * sizeof(*dmat));
- if (!dmat)
- return 1;
- for (i = 0; i < nres; i++)
- {
- dmat[i] = (float (*)[4][4]) malloc(nres * sizeof(**dmat));
- if (!dmat[i])
- return 1;
- }
-
- for (i = 0; i < nres; i++)
- for (j = i; j < nres; j++)
- for (at1 = 0; at1 <= 3; at1++)
- for (at2 = 0; at2 <= 3; at2++)
- if (i != j || at1 != at2)
- if ((w[i] & (1 << at1)) && (w[j] & (1 << at2)))
- {
- dv = 20.0 * (rand() & 32767) / 32768.0;
- dmat[i][j][at1][at2] = dmat[j][i][at2][at1] = dv;
- }
- else
- dmat[i][j][at1][at2] = dmat[j][i][at2][at1] = 999.0;
- else
- dmat[i][j][at1][at2] = 0.0;
-
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921111-1.c b/gcc/testsuite/gcc.c-torture/compile/921111-1.c
deleted file mode 100644
index 11b467460b3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921111-1.c
+++ /dev/null
@@ -1,40 +0,0 @@
-int ps;
-struct vp {
- int wa;
-};
-typedef struct vp *vpt;
-typedef struct vc {
- int o;
- vpt py[8];
-} *vct;
-struct n {
- int a;
-};
-struct nh {
- int x;
-};
-typedef struct np *npt;
-struct np {
- vct d;
- int di;
-};
-struct nh xhp;
-struct n np[3];
-
-f(dp)
- npt dp;
-{
- vpt *py;
- int a, l, o = 0;
- a = dp->d->o;
- if (dp->di < 0)
- l = ps;
-
- if ((int)o & 3)
- g();
-
- xhp.x = a;
- py = &dp->d->py[dp->di];
- if (o + l > ps)
- np[2].a = (int)(py[1])->wa;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921116-2.c b/gcc/testsuite/gcc.c-torture/compile/921116-2.c
deleted file mode 100644
index 9eac91cb5c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921116-2.c
+++ /dev/null
@@ -1,9 +0,0 @@
-typedef struct {
- long l[5];
-} t;
-
-f(size)
-{
- t event;
- g(&(event.l[2 + size]), (3 - size) * 4);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921118-1.c b/gcc/testsuite/gcc.c-torture/compile/921118-1.c
deleted file mode 100644
index 857c74e74f1..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921118-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-inline f(i)
-{
- h((long long) i * 2);
-}
-g()
-{
- f(9);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921126-1.c b/gcc/testsuite/gcc.c-torture/compile/921126-1.c
deleted file mode 100644
index a7b908b2ef0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921126-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f()
-{
- long long a0, a1, a0s, val;
- int width;
- float d;
- if (d)
- ;
- if (a0s & (1LL << width))
- ;
- return a0 / a1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921202-1.c b/gcc/testsuite/gcc.c-torture/compile/921202-1.c
deleted file mode 100644
index 1287edc57b8..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921202-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-f ()
-{
- long dx[2055];
- long dy[2055];
- long s1[2055];
- int x, y;
- int i;
- long s;
-
- for (;;)
- {
- s = 2055;
- g (s1, s);
- for (i = 0; i < 1; i++);
- dy[s] = 0x12345;
- for (i = 0; i < 1; i++);
- if (x != y || h (dx, dy, s) || dx[s] != 0x12345)
- {
- j (y);k (dy);
- }
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921202-2.c b/gcc/testsuite/gcc.c-torture/compile/921202-2.c
deleted file mode 100644
index 97d482b633c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921202-2.c
+++ /dev/null
@@ -1,8 +0,0 @@
-f(x, c)
-{
- for (;;)
- {
- if (x << c) break;
- x++;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921203-1.c b/gcc/testsuite/gcc.c-torture/compile/921203-1.c
deleted file mode 100644
index 50fe3eb0b6f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921203-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-char dispstr[];
-f()
-{
- strcpy(dispstr,"xxxxxxxxxxx");
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921203-2.c b/gcc/testsuite/gcc.c-torture/compile/921203-2.c
deleted file mode 100644
index 929afb1bdde..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921203-2.c
+++ /dev/null
@@ -1,13 +0,0 @@
-typedef struct
-{
- char x;
-} s1;
-
-s1 f (int arg0,...)
-{
- int args;
- s1 back;
- va_start (args, arg0);
- va_end (args);
- return back;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921206-1.c b/gcc/testsuite/gcc.c-torture/compile/921206-1.c
deleted file mode 100644
index b18709dd8d1..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921206-1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-double sqrt(double),fabs(double),sin(double);
-int sxs;
-int sys;
-f()
-{
- int l;
- int sm = -52, sx = 52;
- char *smap;
- for (l = 0; l < 9; l++)
- {
- double g;
- int cx, cy, gx, gy, x, y;
- gx = 2 > g / 3 ? 2 : g / 3;
- gy = 2 > g / 3 ? 2 : g / 3;
- for (y = 0 > cy - gy ? 0 : cy - gy; y <= (sys - 1 < cy + gy ? sys : cy + gy); y++)
- {
- int sx = 0 > cx - gx ? 0 : cx - gx;
- short *ax = (short *) (y * sxs + sx);
-
- for (x = sx; x <= (sxs - 1 < cx + gx ? sxs - 1 : cx + gx); x++)
- {
- double c=2.25, z=sqrt(fabs(1-c)), cz=(c>1?0.0:-10)>z?c>1?0:1:z;
- }
- }
- }
- for (l = sm; l <= sx; l++)
- smap[l] = l > 0 ? 1 + pow(sin(.1 * l / sx)) : 1 - pow(sin(.1 * l / sm));
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/921227-1.c b/gcc/testsuite/gcc.c-torture/compile/921227-1.c
deleted file mode 100644
index a49750c81af..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/921227-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#define k(a) #a
-char *s = k(k(1,2));
-char *t = k(#) k(#undef k) k(x);
-
-f(){}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930109-1.c b/gcc/testsuite/gcc.c-torture/compile/930109-1.c
deleted file mode 100644
index dbd15a1bd0a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930109-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-f(x)
- unsigned x;
-{
- static short c;
- return x>>c;
-}
-g(x)
- unsigned x;
-{
- static char c;
- return x>>c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930109-2.c b/gcc/testsuite/gcc.c-torture/compile/930109-2.c
deleted file mode 100644
index 61e3a4df99f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930109-2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f(r)
-{
- int i;
- for (i = 0; i < 2; i++)
- {
- r+= (4 >> i*2);
- r+= (2 >> i*2);
- r+= (1 >> i*2);
- }
- return r;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930111-1.c b/gcc/testsuite/gcc.c-torture/compile/930111-1.c
deleted file mode 100644
index 28574191d13..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930111-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* 2.3.3 crashes on 386 with -traditional */
-f(a)
- char *a;
-{
- int d = strcmp(a,"-");
-
- while (vfork() < 0)
- ;
- return d;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930117-1.c b/gcc/testsuite/gcc.c-torture/compile/930117-1.c
deleted file mode 100644
index 83317cdd07b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930117-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f(x)
-{
- (*(void (*)())&x)();
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930118-1.c b/gcc/testsuite/gcc.c-torture/compile/930118-1.c
deleted file mode 100644
index b29543c529e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930118-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-f()
-{
-__label__ l;
-l:p();
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/930120-1.c b/gcc/testsuite/gcc.c-torture/compile/930120-1.c
deleted file mode 100644
index 95ac43c07ed..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930120-1.c
+++ /dev/null
@@ -1,138 +0,0 @@
-union {
- short I[2];
- long int L;
- char C[4];
-} itolws;
-char *errflg;
-long int dot;
-short dotinc;
-long int expvf;
-
-char *
-f(fcount,ifp,itype,ptype)
- short fcount;
- char *ifp;
-{
- unsigned w;
- long int savdot, wx;
- char *fp;
- char c, modifier, longpr;
- union {
- double dval;
- struct {
- int i1;
- int i2;
- } ival;
- } dw;
- union {
- float fval;
- int ival;
- } fw;
- int gotdot = 0;
- while (fcount > 0) {
- fp = ifp;
- c = *fp;
- longpr = ((c >= 'A') & (c <= 'Z') | (c == 'f') | (c == '4') | (c == 'p') | (c == 'i'));
- if ((itype == 0) || (*fp == 'a')) {
- wx = dot;
- w = dot;
- } else {
- gotdot = 1;
- wx = get((int)dot, itype);
- if (!longpr) {
- w = (itolws.L=(wx), itolws.I[((dot)&3)>>1]);
- }
- }
- if (c == 'F') {
- dw.ival.i1 = wx;
- if (itype == 0) {
- dw.ival.i2 = expvf;
- }
- }
-
- modifier = *fp++;
- switch(modifier) {
- case ' ' :
- case '\t' :
- break;
- case 't':
- case 'T':
- printf("%T",fcount);
- return(fp);
- case 'r':
- case 'R':
- printf("%M",fcount);
- return(fp);
- case 'k':
- printf("%k",w);
- break;
- case 'K':
- printf("%K",wx);
- break;
- case 'a':
- psymoff(dot,ptype,":%16t");
- dotinc = 0;
- break;
- case 'p':
- psymoff(0,ptype,"%16t");
- break;
- case 'u':
- printf("%-8u",w);
- break;
- case 'U':
- printf("%-16U",wx); break;
- case 'c':
- case 'C':
- if (modifier == 'C') {
- printesc((int)(itolws.L=(wx), itolws.C[(dot)&3]));
- } else {
- printc((char)(itolws.L=(wx), itolws.C[(dot)&3]));
- }
- dotinc = 1;
- break;
- case 'b':
- printf("%-8x", (itolws.L=(wx), itolws.C[(dot)&3]));
- dotinc = 1;
- break;
- case 'B':
- printf("%-8o", (itolws.L=(wx), itolws.C[(dot)&3]));
- dotinc = 1;
- break;
- case 's':
- case 'S':
- savdot = dot;
- dotinc = 1;
- while ((c = (itolws.L=(wx), itolws.C[(dot)&3])) && (errflg == 0)) {
- dot = inkdot(1);
- if (modifier == 'S') {
- printesc(c);
- } else {
- printc(c);
- }
- endline();
- if (!(dot & 3))
- wx = get((int)dot, itype);
- }
- dotinc = dot - savdot + 1;
- dot = savdot;
- break;
- case 'i':
- if (gotdot) {
- wx = get((int)(dot & ~3), itype);
- }
- iDasm((int)(wx), (unsigned int)0, (unsigned int)(dot&~3));
- printc('\n');
- break;
- case 'f':
- fw.ival = wx;
- printf("%-16.9f", fw.fval);
- dotinc = 4;
- break;
- case 'F':
- printf("%-32.18F", dw.dval);
- dotinc = 8;
- break;
- }
- }
- return(fp);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930126-1.c b/gcc/testsuite/gcc.c-torture/compile/930126-1.c
deleted file mode 100644
index 8313c5c450b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930126-1.c
+++ /dev/null
@@ -1,74 +0,0 @@
-typedef unsigned T;
-typedef char Tchar;
-T mt (long, char *);
-T ms (long, char *);
-T mv (long, T, char);
-T cons (T, T);
-T decl (T * (*) (T *), char *);
-
-T*L92(T*),*L15(T*),*L14(T*),*L13(T*),*L12(T*),*L11(T*),*L10(T*),*L9(T*),*L8(T*),*L7(T*),*L6(T*),*L5(T*),*L4(T*),*L3(T*),*L2(T*),*L1(T*);
-
-static T *
-Ldata (T * my_pc)
-{
-int cc = (((* ((T *) (my_pc))) >> 16) & 0xFF);
-T B92, B91, B90, B15, B14, B13, B12, B11, B10, B9, B8, B7, B6, B5, B4, B3, B2, B1, tO7, tO6, tO5, tO4, tO3, tO2, tO1, tO0;
-T object = mv (168, 0, ((Tchar) 1));
-T * cb = (T *) (((T) (object & 0x3FF)) | 0x400);
-tO0 = mv (92, 0, ((Tchar) 1));
-B92 = decl (L92, "");
-B15 = decl (L15, "");
-B14 = decl (L14, "");
-B13 = decl (L13, "");
-B12 = decl (L12, "");
-B11 = decl (L11, "");
-B10 = decl (L10, "");
-B9 = decl (L9, "");
-B8 = decl (L8, "");
-B7 = decl (L7, "");
-B6 = decl (L6, "");
-B5 = decl (L5, "");
-B4 = decl (L4, "");
-B3 = decl (L3, "");
-B2 = decl (L2, "");
-B1 = decl (L1, "");
-cb[19] = ((((cc) & 0xFF) << 16) | (9 & 0xFF));
-cb[21] = ((((cc) & 0xFF) << 16) | ((10) & 0xFF));
-cb[23] = ((((cc) & 0xFF) << 16) | (11 & 0xFF));
-cb[25] = ((((cc) & 0xFF) << 16) | (12 & 0xFF));
-cb[27] = ((((cc) & 0xFF) << 16) | (13 & 0xFF));
-cb[29] = ((((cc) & 0xFF) << 16) | (14 & 0xFF));
-cb[31] = ((((cc) & 0xFF) << 16) | (15 & 0xFF));
-cb[35] = ((((cc) & 0xFF) << 16) | (17 & 0xFF));
-cb[36] = ((0x1A) << 26) | (((0x39) << 26) | 1) & 0x3FF;
-cb[39] = ms (24, ((char *) ""));
-cb[41] = ((0x1A) << 26) | (((0x39) << 26) | 1) & 0x3FF;
-cb[44] = 3;
-cb[46] = 2;
-cb[48] = 3;
-cb[50] = 6;
-cb[52] = 4;
-cb[146] = tO0;
-((T *) (((tO0 & 0x3FF)) | 0x400))[92] = B1;
-((T *) (((tO0 & 0x3FF)) | 0x400))[91] = B2;
-((T *) (((tO0 & 0x3FF)) | 0x400))[2] = B90;
-((T *) (((tO0 & 0x3FF)) | 0x400))[2] = B91;
-((T *) (((tO0 & 0x3FF)) | 0x400))[1] = B92;
-cb[58] = 0x2800 | (T) ((T *) ((B6 & 0x3FF) | 0x400) + 3);
-cb[57] = 0x2800 | (T) ((T *) ((B7 & 0x3FF) | 0x400) + 3) & ~0xC00;
-cb[56] = 0x2800 | (T) ((T *) ((B8 & 0x3FF) | 0x400) + 3) & ~0xC00;
-cb[55] = 0x2800 | (T) ((T *) ((B9 & 0x3FF) | 0x400) + 3) & ~0xC00;
-tO7 = mv (8, 0, ((Tchar) 1));
-tO4 = ms (9, ((char *) ""));
-tO3 = mv (58, 0, ((Tchar) 1));
-tO6 = ms (4, ((char *) ""));
-tO2 = mv (4, 0, ((Tchar) 1));
-tO5 = ms (4, ((char *) ""));
-tO1 = mv (28, 0, ((Tchar) 1));
-cb[165] = tO1;
-cb[163] = cons (((ms (10, ((char *) "")))), (cons (tO5, 0)));
-cb[162] = cons (1, (cons (2, 0)));
-cb[150] = cons (1, (cons (2, (cons (3, (cons (4, (cons (5, (cons (6, 0)))))))))));
-cb[148] = tO7;
-return cb;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930210-1.c b/gcc/testsuite/gcc.c-torture/compile/930210-1.c
deleted file mode 100644
index 47d2da2aca5..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930210-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f()
-{
- char c1, c2;
- char *p1, *p2;
-
- do {
- c1 = c2 = *p1++;
- while (c1--)
- *p2++ = *p1++;
- } while (c2);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930217-1.c b/gcc/testsuite/gcc.c-torture/compile/930217-1.c
deleted file mode 100644
index 70f4a4897c4..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930217-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-double g ();
-typedef union {
- struct {
- unsigned s:1, e:8, f:23;
- } u;
- float f;
-} s;
-
-f(x, n)
- float x;
-{
- ((s *)&x)->u.e -= n;
- x = g((double)x, -n);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930222-1.c b/gcc/testsuite/gcc.c-torture/compile/930222-1.c
deleted file mode 100644
index c6d6aa3b47d..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930222-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-typedef struct
- {
- long i;
- double f;
- } T;
-
-f (T *n1, T *n2)
-{
- if (g (n2))
- return n1->i - n2->i;
- else
- {
- double f = n1->f - n2->i;
- return f == 0.0 ? 0 : (f > 0.0 ? 1 : -1);
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930325-1.c b/gcc/testsuite/gcc.c-torture/compile/930325-1.c
deleted file mode 100644
index 24cea5027ab..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930325-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef unsigned uint;
-
-inline
-g (uint *s, uint *d, uint c)
-{
- while (c != 0)
- {
- *--d = *--s;
- c--;
- }
-}
-
-f (uint *p1, uint c, uint *p2)
-{
- while (c > 0 && *p1 == 0)
- {
- p1++;
- c--;
- }
- if (c == 0)
- return 1;
- g (p2, p1, c);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930326-1.c b/gcc/testsuite/gcc.c-torture/compile/930326-1.c
deleted file mode 100644
index 97313d86aa9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930326-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-struct
-{
- char a, b, f[3];
-} s;
-
-long i = s.f-&s.b;
diff --git a/gcc/testsuite/gcc.c-torture/compile/930326-1.x b/gcc/testsuite/gcc.c-torture/compile/930326-1.x
deleted file mode 100644
index 622145638d1..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930326-1.x
+++ /dev/null
@@ -1,7 +0,0 @@
-# This doesn't work on mn10200
-
-if { [istarget "mn10200*-*-*"] } {
- set torture_compile_xfail "mn10200*-*-*"
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/930411-1.c b/gcc/testsuite/gcc.c-torture/compile/930411-1.c
deleted file mode 100644
index bb03c13fa07..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930411-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-int heap;
-
-g(){}
-
-f(int i1, int i2)
-{
- i1 = *(int*)(i1 + 4);
- if (i1 == 0)
- goto L4;
- else
- goto L9;
- L3:
- i2 = heap - 8;
- *(int*)i2 = 3;
- *(int*)(i2 + 4) = i1;
- heap -= 8;
- return i2;
- L4:
- i1 = g(i2);
- goto L5;
- L5:
- i1 = *(int*)(i1 + 4);
- if (i1 == 0)
- goto L7;
- else
- goto L8;
- L7:
- i1 = 0;
- goto L3;
- L8:
- i1 = 1;
- goto L3;
- L9:
- i1 = 1;
- goto L3;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930421-1.c b/gcc/testsuite/gcc.c-torture/compile/930421-1.c
deleted file mode 100644
index 01b465f7fec..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930421-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-double q(double);
-
-f (int **x, int *r, int *s, int a, int b, int c, int d)
-{
- int i, j, k, m, e, f, g, z[1024], y[2];
-
- e = g = 0;
- for (i = 0; i < a; i++)
- for (j = 0; j < b; j++)
- if (x[i][j])
- for (k = 0; k < c; k++)
- {
- f = q(1.5) + q(2.5);
- if (g < y[f])
- g = e;
- }
- for (m = 0; m < 1; m++)
- z[0] = m*2*d/3.0 - d;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930427-2.c b/gcc/testsuite/gcc.c-torture/compile/930427-2.c
deleted file mode 100644
index 53b633785ae..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930427-2.c
+++ /dev/null
@@ -1,9 +0,0 @@
-struct s {
- int f;
-};
-
-f (w, v0, v1, v2, v3)
- struct s *w;
-{
- g (v0 ? 1 : w->f, v1 ? v3 : v2);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930503-1.c b/gcc/testsuite/gcc.c-torture/compile/930503-1.c
deleted file mode 100644
index 6889e8b7aed..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930503-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-f (const char *s, char *d, unsigned l)
-{
- if (0)
- while (1);
- else
- while (--l >= 0)
- *d++ = *s++;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930503-2.c b/gcc/testsuite/gcc.c-torture/compile/930503-2.c
deleted file mode 100644
index 1b0ea34f038..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930503-2.c
+++ /dev/null
@@ -1,5 +0,0 @@
-f()
-{
- struct { char x; } r;
- g(r);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930506-1.c b/gcc/testsuite/gcc.c-torture/compile/930506-1.c
deleted file mode 100644
index 8c26ea3670c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930506-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-long long
-f (a)
- double a;
-{
- double b;
- unsigned long long v;
-
- b = a / 2.0;
- v = (unsigned) b;
- a -= (double) v;
- return v;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930506-2.c b/gcc/testsuite/gcc.c-torture/compile/930506-2.c
deleted file mode 100644
index e11e62f026f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930506-2.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef NO_TRAMPOLINES
-int f1()
-{
- { int ___() { foo(1); } bar(___); }
- return( { int ___() { foo(2); } bar(___);} );
-}
-
-int f2(int j)
-{
- { int ___() { foo(j); } bar(___); }
- return( { int ___() { foo(j); } bar(___);} );
-}
-#else
-int x;
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/930510-1.c b/gcc/testsuite/gcc.c-torture/compile/930510-1.c
deleted file mode 100644
index 8c46282626c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930510-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-typedef long time_t;
-static __const int mon_lengths[2][12] = {
- 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
- 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
-};
-static time_t
-f (janfirst, year, rulep, offset)
- __const time_t janfirst;
- __const int year;
- register __const struct rule * __const rulep;
- __const long offset;
-{
- register int leapyear;
- register time_t value;
- register int i;
-
- value += mon_lengths[leapyear][i] * ((long) (60 * 60) * 24);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930513-1.c b/gcc/testsuite/gcc.c-torture/compile/930513-1.c
deleted file mode 100644
index 2e106ae43a9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930513-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-struct s {
- int f1 : 26;
- int f2 : 8;
-};
-
-f (struct s *x)
-{
- return x->f2++ == 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930513-2.c b/gcc/testsuite/gcc.c-torture/compile/930513-2.c
deleted file mode 100644
index a7f508c8266..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930513-2.c
+++ /dev/null
@@ -1,9 +0,0 @@
-double g ();
-
-f (x)
- double x;
-{
- x = .85;
- while (g () < x)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930513-3.c b/gcc/testsuite/gcc.c-torture/compile/930513-3.c
deleted file mode 100644
index f8d4e60341c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930513-3.c
+++ /dev/null
@@ -1,9 +0,0 @@
-test ()
-{
- short *p, q[3];
- int x;
-
- p = q;
- for (x = 0; x < 3; x++)
- *p++ = 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930523-1.c b/gcc/testsuite/gcc.c-torture/compile/930523-1.c
deleted file mode 100644
index 5f2b5b5d7e3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930523-1.c
+++ /dev/null
@@ -1,54 +0,0 @@
-int v;
-
-f ()
-{
- unsigned long *a1, *a2;
- int vertex2;
- int c, x1, x2, dx1, dx2, dy1, dy2, e1, e2, s2;
- unsigned long m, b;
- int n;
- unsigned long r;
- int aba;
-
- do
- {
- if (dx2 >= dy2)
- dx2 = dx2 % dy2;
-
- if (dx2 >= dy2)
- {
- s2 = - (dx2 / dy2);
- dx2 = dx2 % dy2;
- }
- }
- while (vertex2 / 65536);
-
- for (;;)
- {
- c = x2;
- a2 = a1;
- if (v)
- a2 = 0;
-
- if (c + n)
- {
- m = b << (c * 8);
- *a2 = (*a2 & ~m) | (r & m);
- n += c;
-
- while (--n)
- {
- {
- }
- }
- }
-
- a1 = 0;
- x1 += 0;
- if (e1 += dx1)
- e1 -= dy1;
- x2 += s2;
- if (e2 += dx2)
- e2 -= dy2;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930525-1.c b/gcc/testsuite/gcc.c-torture/compile/930525-1.c
deleted file mode 100644
index 00c2e263b82..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930525-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-typedef struct foo foo_t;
-foo_t x;
-struct foo {
- int i;
-};
-
-foo_t x = { 10 };
diff --git a/gcc/testsuite/gcc.c-torture/compile/930527-1.c b/gcc/testsuite/gcc.c-torture/compile/930527-1.c
deleted file mode 100644
index 53e00e65ed1..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930527-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-enum {e0, e1};
-
-int x[] =
-{
- [e0] = 0
-};
-
-f ()
-{
- switch (1)
- {
- case e0:
- case e1:
- break;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930529-1.c b/gcc/testsuite/gcc.c-torture/compile/930529-1.c
deleted file mode 100644
index 70b2cb8f90c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930529-1.c
+++ /dev/null
@@ -1,83 +0,0 @@
-struct r
-{
- int d1, d2;
-};
-
-struct km
-{
- int d;
-};
-
-struct f1
-{
- char *fn;
- char *fd;
- char *fs;
- char *ic;
- void (*ff) ();
-};
-
-int g ();
-
-int y;
-struct r *bs;
-int bv;
-
-void b ();
-char *w ();
-
-struct km **q;
-char **mns;
-int nm;
-struct f1 **z;
-
-f (char *km, char *h)
-{
- struct f1 *t;
- int map = midn(km, strlen(km));
- int V;
- int c;
- struct r r;
- struct f1 *cm;
-
- if (!g(&V, &cm, h, strlen(h)))
- {
- c = (cm - z[V]);
- goto L;
- }
-
- for (c = 0; c < nm; c++)
- if (!strcmp (h, mns[c]))
- {
- V = -1;
- goto L;
- }
-
- for (c = 0; c < y; c++)
- {
- if (!memcmp (&bs[c], &r, 8))
- goto L;
- }
-
- h = w (&r);
- if (!bv)
- {
- bs = g (8);
- t = (struct f1 *)g (20);
- }
- else
- {
- bs = g (bs, y * 8);
- z[bv] = cr (z[bv], (1 + y) * 20);
- t = &z[bv][y - 1];
- }
- bs[y - 1] = r;
- t->fs[0] = sp (y - 1);
- t->fs[1] = 0;
- t->ic = 0;
- t->fd = 0;
- t->fn = cs (h);
- t->ff = b;
- L:
- g (q[map], V, c);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930530-1.c b/gcc/testsuite/gcc.c-torture/compile/930530-1.c
deleted file mode 100644
index 848e0400ece..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930530-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-f ()
-{
- struct { char a, b; } x;
- g (x, x, x, x);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930602-1.c b/gcc/testsuite/gcc.c-torture/compile/930602-1.c
deleted file mode 100644
index 5a0eb2189ba..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930602-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-typedef struct {
- int f[8];
-} T;
-
-f (w, l, r)
- T *w;
- unsigned short l, r;
-{
- int i;
-
- for (i = l; i < r; i++)
- g (w->f[i]);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930603-1.c b/gcc/testsuite/gcc.c-torture/compile/930603-1.c
deleted file mode 100644
index 643cc52d4c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930603-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-union u { union u *a; double d; };
-union u *s, g();
-
-f()
-{
- union u x = g();
-
- s[0] = *x.a;
- s[1] = g();
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930607-1.c b/gcc/testsuite/gcc.c-torture/compile/930607-1.c
deleted file mode 100644
index 97c94b25ec3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930607-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-typedef void f ();
-typedef f *pf;
-long long i;
-
-g ()
-{
- long long p = i;
- ((pf) (long) p) ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930609-1.c b/gcc/testsuite/gcc.c-torture/compile/930609-1.c
deleted file mode 100644
index d50d3c97def..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930609-1.c
+++ /dev/null
@@ -1,104 +0,0 @@
-const int h (double value);
-const double scalb (double x, int n);
-const double logb (double x);
-static const double a = 0;
-
-double f (y, x)
- double y, x;
-{
- static const double zero=0, one=1, small=1.0E-9, big=1.0E18;
- double t,z,sy,sx,hi,lo;
- int k,m;
-
- if (x!=x)
- return x;
- if (y!=y)
- return y;
-
- sy = g (one);
- sx = g (one);
-
- if (x==1)
- {
- y=g (y);
- t=y;
- if (h (t))
- goto begin;
- }
-
- if (y==zero)
- return (sx==one)?y:g (a);
-
- if (x==zero)
- return g (a);
-
- if (!h (x))
- if (!h (y))
- return g ((sx==one)?a:3*a);
- else
- return g ((sx==one)?zero:a);
-
- if (!h (y))
- return g (a);
-
- x=g (x);
- y=g (y);
- if ((m=(k=logb (y))- logb (x)) > 60)
- t=big+big;
- else if (m < -80)
- t=y/x;
- else
- {
- t = y/x;
- y = scalb (y,-k);
- x=scalb (x,-k);
- }
-
- begin:
- if (t < 2.4375)
- {
- k = 4 * (t+0.0625);
- switch (k)
- {
- case 0:
- case 1:
- if (t < small)
- {
- big + small;
- return g ((sx>zero)?t:a-t);
- }
- hi = zero; lo = zero; break;
-
- case 2:
- hi = a; lo = a;
- z = x+x;
- t = ((y+y) - x) / (z + y); break;
-
- case 3:
- case 4:
- hi = a; lo = zero;
- t = (y - x) / (x + y); break;
-
- default:
- hi = a; lo = a;
- z = y-x; y=y+y+y; t = x+x;
- t = ((z+z)-x) / (t + y); break;
- }
- }
- else
- {
- hi = a; lo = zero;
-
- if (t <= big)
- t = - x / y;
- else
- {
- big+small;
- t = zero;
- }
- }
-
- z = t*(z*(a+z*(a+z*(a+z*(a+z*(a+z*(a+z*(a+z*(a+z*(a+z*(a+z*a)))))))))));
-
- return g ((sx>zero)?z:a-z);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930611-1.c b/gcc/testsuite/gcc.c-torture/compile/930611-1.c
deleted file mode 100644
index c216c096523..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930611-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-float
-f (float a1)
-{
- union { float f; int l; } fl1;
- fl1.f = a1;
- return fl1.l ? 1.0 : a1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930618-1.c b/gcc/testsuite/gcc.c-torture/compile/930618-1.c
deleted file mode 100644
index 74c21572550..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930618-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-f (s)
-{
- int r;
-
- r = (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s));
-
- return r;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930621-1.c b/gcc/testsuite/gcc.c-torture/compile/930621-1.c
deleted file mode 100644
index 3679cf1d3de..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930621-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-int bytestart[5000 + 1];
-unsigned char modtext[400 + 1];
-unsigned char bytemem[2][45000L + 1];
-
-long
-modlookup (int l)
-{
- signed char c;
- long j;
- long k;
- signed char w;
- long p;
- while (p != 0)
- {
- while ((k < bytestart[p + 2]) && (j <= l) && (modtext[j] == bytemem[w][k]))
- {
- k = k + 1;
- j = j + 1;
- }
- if (k == bytestart[p + 2])
- if (j > l)
- c = 1;
- else c = 4;
- else if (j > l)
- c = 3;
- else if (modtext[j] < bytemem[w][k])
- c = 0;
- else c = 2;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930623-1.c b/gcc/testsuite/gcc.c-torture/compile/930623-1.c
deleted file mode 100644
index 4b5b90bd848..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930623-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-g (a, b) {}
-
-f (xx)
- void* xx;
-{
- __builtin_apply ((void*)g, xx, 200);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930623-2.c b/gcc/testsuite/gcc.c-torture/compile/930623-2.c
deleted file mode 100644
index 8b61fc14149..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930623-2.c
+++ /dev/null
@@ -1,91 +0,0 @@
-extern unsigned short statesCount;
-extern short cn_cadrstates[38][37];
-extern short coutstate[38][37][5];
-extern short ccostate[38][37][5];
-extern short cdel_E[38][37][5];
-extern short cn[38][37][5][3];
-extern short cd[38][37][5][3];
-
-extern short c[4][37];
-
-extern double vrandNext[64];
-
-f (unsigned long long maddrOutState[37][8 * 8],
- int maddrIndices[8 * 8],
- int delta_E[8 * 8],
- int after_x_hash[8 * 8],
- int after_y_hash[8 * 8],
- int after_z_hash[8 * 8],
- int nActivePlane)
-{
- int class[8 * 8];
- int ccoeff[8 * 8];
- int nx[8 * 8];
- int ny[8 * 8];
- int nz[8 * 8];
- int phat[8 * 8];
- int i;
- int inState;
-
- for (inState = 0; inState < statesCount; inState++) {
- long long Nf[8 * 8];
- long long Ns[8 * 8];
- long long Nb[8 * 8];
- int bbState[8 * 8];
- int not_flag_p[8 * 8];
- int j;
- int max_cadrstates = 0;
-
- for (i = 0; i < nActivePlane; i++) {
- int in = maddrIndices[i];
- int k = cn_cadrstates[class[in]][inState];
-
- if (k > max_cadrstates)
- max_cadrstates = k;
- }
-
- for (j = 0; j < max_cadrstates; j++) {
- int coState[8 * 8];
- int N_co[8 * 8];
- for (i = 0; i < nActivePlane; i++) {
- int in = maddrIndices[i];
- int k = cn_cadrstates[class[in]][inState];
-
- if (j < k-1) {
- long long numer = (nx[in] * cn[class[in]][inState][j][0] +
- ny[in] * cn[class[in]][inState][j][1] +
- nz[in] * cn[class[in]][inState][j][2]);
- long long denom = (nx[in] * cd[class[in]][inState][j][0] +
- ny[in] * cd[class[in]][inState][j][1] +
- nz[in] * cd[class[in]][inState][j][2]);
- long long Nj = ((denom == 0) ? 0 : (((((long long)(const64(0,0x10000)) * numer * Ns[in]) / denom) + (long long)(((unsigned) vrandNext[in]) & 0xffff)) >> 16));
- int outState = coutstate[class[in]][inState][j];
- int this_coState = ccostate[class[in]][inState][j];
- int del_E = cdel_E[class[in]][inState][j];
- int old_Ns = Ns[in];
-
- maddrOutState[outState][in] += Nj;
- Ns[in] -= Nj;
- delta_E[in] += Nj * del_E;
- if (not_flag_p[in]) {
- after_x_hash[in] += Nj * c[0][outState];
- after_y_hash[in] += Nj * c[1][outState];
- after_z_hash[in] += Nj * c[2][outState];
- }
- coState[in] = this_coState;
- N_co[in] = Nj;
- }
- else if (j == k-1) {
- long long Nj = Ns[in];
- int outState = coutstate[class[in]][inState][j];
- int this_coState = ccostate[class[in]][inState][j];
- int del_E = cdel_E[class[in]][inState][j];
- maddrOutState[outState][in] += Nj;
- delta_E[in] += Nj * del_E;
- coState[in] = this_coState;
- N_co[in] = Nj;
- }
- }
- }
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930702-1.c b/gcc/testsuite/gcc.c-torture/compile/930702-1.c
deleted file mode 100644
index 9f51dd876ee..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930702-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-f ()
-{
- {({});}
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930926-1.c b/gcc/testsuite/gcc.c-torture/compile/930926-1.c
deleted file mode 100644
index fcfa4fbc499..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930926-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-int f () { return 0; }
-
-void
-test ()
-{
- int j = { f() };
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/930927-1.c b/gcc/testsuite/gcc.c-torture/compile/930927-1.c
deleted file mode 100644
index 81a4979f482..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/930927-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stddef.h>
-
-wchar_t s[5] = L"abcd";
diff --git a/gcc/testsuite/gcc.c-torture/compile/931003-1.c b/gcc/testsuite/gcc.c-torture/compile/931003-1.c
deleted file mode 100644
index 922b14379c9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931003-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f (n, a)
- int n;
- double a[];
-{
- double b[51];
- int i, j;
-
- i = 0;
-
- for (j = n - 1; j > 0; j--)
- b[i++] = 0;
-
- if (b[0] > b[i - 1])
- a[i] = b[i - 1];
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931004-1.c b/gcc/testsuite/gcc.c-torture/compile/931004-1.c
deleted file mode 100644
index 0e741fd4ac0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931004-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#define A "This is a long test that tests the structure initialization"
-#define B A,A
-#define C B,B,B,B
-#define D C,C,C,C
-int main()
-{
- char *subs[]={ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D};
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931013-1.c b/gcc/testsuite/gcc.c-torture/compile/931013-1.c
deleted file mode 100644
index c237c0b7341..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931013-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-g ();
-
-f ()
-{
- long ldata[2];
- int seed;
-
- seed = (ldata[0]) + (ldata[1] << 16);
- g (seed);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931013-2.c b/gcc/testsuite/gcc.c-torture/compile/931013-2.c
deleted file mode 100644
index 8fc0db492ab..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931013-2.c
+++ /dev/null
@@ -1,20 +0,0 @@
-f (unsigned short Z[48])
-{
- int j;
- unsigned short t1, t2, t3, T[48];
- unsigned short *p = T + 48;
-
- for (j = 1; j < 8; j++)
- {
- t1 = *Z++;
- *--p = *Z++;
- *--p = t1;
- t1 = inv(*Z++);
- t2 = -*Z++;
- t3 = -*Z++;
- *--p = inv(*Z++);
- *--p = t2;
- *--p = t3;
- *--p = t1;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931013-3.c b/gcc/testsuite/gcc.c-torture/compile/931013-3.c
deleted file mode 100644
index e663b9acc1c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931013-3.c
+++ /dev/null
@@ -1,11 +0,0 @@
-struct s
-{
- int f;
-};
-
-struct s
-f ()
-{
- int addr;
- return *(struct s *) &addr;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931018-1.c b/gcc/testsuite/gcc.c-torture/compile/931018-1.c
deleted file mode 100644
index 7efe40ec094..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931018-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-typedef struct
-{
- int a, b;
-} T;
-
-f (T *bs)
-{
- long long x;
- x = ({
- union { T s; long long l; } u;
- u.s = *bs;
- u.l;
- });
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931031-1.c b/gcc/testsuite/gcc.c-torture/compile/931031-1.c
deleted file mode 100644
index 9015f54f7bf..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931031-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-struct s
-{
- int pad:1, no:1;
-};
-
-f (struct s *b, int c)
-{
- char d = b->no && c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931102-1.c b/gcc/testsuite/gcc.c-torture/compile/931102-1.c
deleted file mode 100644
index a039c26331c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931102-1.c
+++ /dev/null
@@ -1,111 +0,0 @@
-char *e ();
-
-#define SET \
- if (d > *b++) d |= a; \
- if (b) b = e(b);
-
-xxx()
-{
- int a, d;
- char *b, *c;
-
- while (1) {
- while (1) {
- while (1) {
- if (a) {
- switch (a) {
- case 1:
- while (1) {
- SET
- do {
- SET
- } while (1);
- }
- case 2:
- while (1) {
- if (d) {
- do {
- SET
- } while (1);
- }
- else {
- do {
- SET
- } while (1);
- }
- }
- case 3:
- while (1) {
- if (d) {
- do {
- SET
- } while (1);
- }
- else {
- do {
- SET
- } while (1);
- }
- }
- case 4:
- while (1) {
- if (d) {
- do {
- SET
- } while (1);
- }
- else {
- do {
- SET
- } while (1);
- }
- }
- }
- }
- else {
- switch (a) {
- case 2:
- while (1) {
- if (d) {
- do {
- SET
- } while (1);
- }
- else {
- do {
- SET
- } while (1);
- }
- }
- case 3:
- while (1) {
- if (d) {
- do {
- SET
- } while (1);
- }
- else {
- do {
- SET
- } while (1);
- }
- }
- case 4:
- while (1) {
- if (d) {
- do {
- SET
- } while (1);
- }
- else {
- do {
- SET
- } while (1);
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931102-2.c b/gcc/testsuite/gcc.c-torture/compile/931102-2.c
deleted file mode 100644
index f39b271645d..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931102-2.c
+++ /dev/null
@@ -1,21 +0,0 @@
-typedef struct {
- int a;
-} VCR;
-
-typedef struct {
- VCR vcr[8];
-} VCRC;
-
-typedef struct {
- char vcr;
-} OWN;
-
-OWN Own[16];
-
-f (x, own)
- VCRC *x;
- OWN *own;
-{
- x[own->vcr / 8].vcr[own->vcr % 8].a--;
- x[own->vcr / 8].vcr[own->vcr % 8].a = x[own->vcr / 8].vcr[own->vcr % 8].a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/931203-1.c b/gcc/testsuite/gcc.c-torture/compile/931203-1.c
deleted file mode 100644
index 3007ff582e0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/931203-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-v (a, i)
- unsigned *a, i;
-{
- a++[i] = 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/940611-1.c b/gcc/testsuite/gcc.c-torture/compile/940611-1.c
deleted file mode 100644
index 90f72486ada..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/940611-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-f ()
-{
- do
-L:;
- while (0);
- do
- ;
- while (0);
- goto L;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/940712-1.c b/gcc/testsuite/gcc.c-torture/compile/940712-1.c
deleted file mode 100644
index 10a6961dcb7..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/940712-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f ()
-{
- return (*(volatile unsigned int *)8000) / 3;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/940718-1.c b/gcc/testsuite/gcc.c-torture/compile/940718-1.c
deleted file mode 100644
index 505280fa91e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/940718-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-extern double log (double) __attribute__ ((const));
-
-f (double x)
-{
- for (;;)
- exp(log(x));
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/941014-1.c b/gcc/testsuite/gcc.c-torture/compile/941014-1.c
deleted file mode 100644
index d31701572fc..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/941014-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f (to)
- char *to;
-{
- unsigned int wch;
- register length;
- unsigned char tmp;
- unsigned int mult = 10;
-
- tmp = (wch>>(unsigned int)(length * mult));
- *to++ = (unsigned char)tmp;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/941014-2.c b/gcc/testsuite/gcc.c-torture/compile/941014-2.c
deleted file mode 100644
index 01e9a672e88..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/941014-2.c
+++ /dev/null
@@ -1,37 +0,0 @@
-void
-f (n, ppt, xrot)
-{
- int tileWidth;
- int nlwSrc;
- int srcx;
- int v3, v4;
- register unsigned long ca1, cx1, ca2, cx2;
- unsigned long *pSrcLine;
- register unsigned long *pDst;
- register unsigned long *pSrc;
- register unsigned long b, tmp;
- unsigned long tileEndMask;
- int v1, v2;
- int tileEndPart;
- int needFirst;
- tileEndPart = 0;
- v1 = tileEndPart << 5;
- v2 = 32 - v1;
- while (n--)
- {
- if ((srcx = (ppt - xrot) % tileWidth) < 0)
- if (needFirst)
- if (nlwSrc == 1)
- {
- tmp = b;
- if (tileEndPart)
- b = (*pSrc & tileEndMask) | (*pSrcLine >> v1);
- }
- if (tileEndPart)
- b = (tmp << v1) | (b >> v2);
- if (v4 != 32)
- *pDst = (*pDst & ((tmp << v3) | (b >> v4) & ca1 ^ cx1)
- ^ (((tmp << v3) | (b >> v4)) & ca2 ^ cx2));
- *pDst = *pDst & tmp;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/941014-3.c b/gcc/testsuite/gcc.c-torture/compile/941014-3.c
deleted file mode 100644
index 6dcb89395e3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/941014-3.c
+++ /dev/null
@@ -1,72 +0,0 @@
-typedef unsigned char byte;
-typedef unsigned int uint;
-typedef unsigned long ulong;
-typedef ulong gs_char;
-typedef struct gs_show_enum_s gs_show_enum;
-typedef struct gs_font_s gs_font;
-typedef struct gx_font_stack_item_s {
- gs_font *font;
-} gx_font_stack_item;
-typedef struct gx_font_stack_s {
- gx_font_stack_item items[1 + 5 ];
-} gx_font_stack;
-struct gs_show_enum_s {
- gx_font_stack fstack;
-};
-typedef enum {
- ft_composite = 0,
-} font_type;
-struct gs_font_s {
- font_type FontType;
-};
-typedef enum {
- fmap_escape = 3,
- fmap_shift = 8
- } fmap_type;
-typedef struct gs_type0_data_s {
- fmap_type FMapType;
-} gs_type0_data;
-gs_type0_next_char(register gs_show_enum *penum)
-{
- const byte *p;
- int fdepth;
- gs_font *pfont;
- gs_type0_data *pdata;
- uint fidx;
- gs_char chr;
- for (; pfont->FontType == ft_composite; )
- {
- fmap_type fmt;
- switch ( fmt )
- {
- do {} while (0);
- rdown:
- continue;
- case fmap_shift:
- p++;
- do {} while (0);
- goto rdown;
- }
- break;
- }
- up:
- while ( fdepth > 0 )
- {
- switch ( pdata->FMapType )
- {
- default:
- continue;
- case fmap_escape:
- fidx = *++p;
- do {} while (0);
- if ( fidx == chr && fdepth > 1 )
- goto up;
- down:
- fdepth--;
- do {} while (0);
- }
- break;
- }
- while ( (pfont = penum->fstack.items[fdepth].font)->FontType == ft_composite )
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/941014-4.c b/gcc/testsuite/gcc.c-torture/compile/941014-4.c
deleted file mode 100644
index 9e673f37833..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/941014-4.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef NO_LABEL_VALUES
-f (int *re)
-{
- int *loops = 0, *loope = 0;
- unsigned dat0 = 0;
- static void *debug = &&firstdebug;
-
- firstdebug:
- g (loops, loope);
-
- if (dat0 & 1)
- re[(dat0 >> 2) & 3] = 0;
-}
-#else
-int x;
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/941019-1.c b/gcc/testsuite/gcc.c-torture/compile/941019-1.c
deleted file mode 100644
index 257b594c1b6..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/941019-1.c
+++ /dev/null
@@ -1 +0,0 @@
-__complex__ long double sub (__complex__ long double cld) { return cld; }
diff --git a/gcc/testsuite/gcc.c-torture/compile/941111-1.c b/gcc/testsuite/gcc.c-torture/compile/941111-1.c
deleted file mode 100644
index 3f0c28bef12..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/941111-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-main ()
-{
- struct S { int i; char c; } obj1, obj2;
-
- foo ();
- if (obj1.c != obj2.c)
- bar ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/941113-1.c b/gcc/testsuite/gcc.c-torture/compile/941113-1.c
deleted file mode 100644
index 5c2e0b68c56..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/941113-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-typedef void foo (void);
-
-f (x)
-{
- if (x)
- {
- const foo* v;
- (*v)();
- }
- else
- g (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950122-1.c b/gcc/testsuite/gcc.c-torture/compile/950122-1.c
deleted file mode 100644
index 8dea7905093..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950122-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int
-foo (int i, unsigned short j)
-{
- return j *= i;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950124-1.c b/gcc/testsuite/gcc.c-torture/compile/950124-1.c
deleted file mode 100644
index e723954a0c1..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950124-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f ()
-{
- if (g ())
- h ();
- else
- {
- do
- {
- return 0;
- break;
- }
- while (1);
- }
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950221-1.c b/gcc/testsuite/gcc.c-torture/compile/950221-1.c
deleted file mode 100644
index 14147638668..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950221-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-short v = -1;
-
-typedef struct
-{
- short network;
-} atype;
-
-void f ()
-{
- static atype config;
- atype *cp;
- short net;
- cp = &config;
- cp->network = (v == -1) ? 100 : v;
- net = cp->network;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950329-1.c b/gcc/testsuite/gcc.c-torture/compile/950329-1.c
deleted file mode 100644
index 7c047f5a59c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950329-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-f ()
-{
- int i;
- for (i = 1;; i = 0)
- {
- if (h ())
- {
- if (i)
- g ();
- g (h ());
- g (h ());
- }
- else
- {
- g ();
- break;
- }
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950512-1.c b/gcc/testsuite/gcc.c-torture/compile/950512-1.c
deleted file mode 100644
index e43ec48d165..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950512-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-typedef unsigned short uint16;
-f (unsigned char *w)
-{
- w[2] = (uint16) ((((g (0) % 10000 + 42) & 0xFF) << 8) | (((g (0) % 10000 + 42) >> 8) & 0xFF)) & 0xFF,
- w[3] = (uint16) ((((g (0) % 10000 + 42) & 0xFF) << 8) | (((g (0) % 10000 + 42) >> 8) & 0xFF)) >> 8;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950530-1.c b/gcc/testsuite/gcc.c-torture/compile/950530-1.c
deleted file mode 100644
index 2b714e059bc..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950530-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f (int *s, int *t)
-{
- return (t - s) / 2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950607-1.c b/gcc/testsuite/gcc.c-torture/compile/950607-1.c
deleted file mode 100644
index 851defce34c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950607-1.c
+++ /dev/null
@@ -1,38 +0,0 @@
-typedef struct {
- int component_id;
- int component_index;
- int h_samp_factor;
- int v_samp_factor;
-} jpeg_component_info;
-struct jpeg_common_struct {
- struct jpeg_error_mgr * err;
-};
-typedef struct jpeg_common_struct * j_common_ptr;
-typedef struct jpeg_compress_struct * j_compress_ptr;
-struct jpeg_compress_struct {
- struct jpeg_error_mgr * err;
- int num_components;
- jpeg_component_info * comp_info;
- int max_h_samp_factor;
- int max_v_samp_factor;
-};
-struct jpeg_error_mgr {
- int msg_code;
-};
-
-void
-jinit_downsampler (j_compress_ptr cinfo)
-{
- int ci;
- jpeg_component_info * compptr;
-
- for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
- ci++, compptr++) {
- if (compptr->h_samp_factor == cinfo->max_h_samp_factor &&
- compptr->v_samp_factor == cinfo->max_v_samp_factor) {
- } else if ((cinfo->max_h_samp_factor % compptr->h_samp_factor) == 0 &&
- (cinfo->max_v_samp_factor % compptr->v_samp_factor) == 0) {
- } else
- cinfo->err->msg_code = 0;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950610-1.c b/gcc/testsuite/gcc.c-torture/compile/950610-1.c
deleted file mode 100644
index 16d0d0e60f5..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950610-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f (int n, int a[2][n]) {}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950612-1.c b/gcc/testsuite/gcc.c-torture/compile/950612-1.c
deleted file mode 100644
index cb3cb0a59d6..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950612-1.c
+++ /dev/null
@@ -1,134 +0,0 @@
-typedef enum
-{
- LODI,
- STO,
- ADDI,
- ADD,
- SUBI,
- SUB,
- MULI,
- MUL,
- DIVI,
- DIV,
- INC,
- DEC
-} INSN;
-
-f (pc)
- short *pc;
-{
- long long stack[16], *sp = &stack[16], acc = 0;
-
- for (;;)
- {
- switch ((INSN)*pc++)
- {
- case LODI:
- *--sp = acc;
- acc = ((long long)*pc++) << 32;
- break;
- case STO:
- return (acc >> 32) + (((((unsigned long long) acc) & 0xffffffff) & (1 << 31)) != 0);
- break;
- case ADDI:
- acc += ((long long)*pc++) << 32;
- break;
- case ADD:
- acc = *sp++ + acc;
- break;
- case SUBI:
- acc -= ((long long)*pc++) << 32;
- break;
- case SUB:
- acc = *sp++ - acc;
- break;
- case MULI:
- acc *= *pc++;
- break;
- case MUL:
- {
- long long aux;
- unsigned char minus;
-
- minus = 0;
- aux = *sp++;
- if (aux < 0)
- {
- minus = ~minus;
- aux = -aux;
- }
- if (acc < 0)
- {
- minus = ~minus;
- acc = -acc;
- }
- acc = ((((((unsigned long long) acc) & 0xffffffff) * (((unsigned long long) aux) & 0xffffffff)) >> 32)
- + ((((unsigned long long) acc) >> 32) * (((unsigned long long) aux) & 0xffffffff) + (((unsigned long long) acc) & 0xffffffff) + (((unsigned long long) aux) >> 32))
- + (((((unsigned long long) acc) >> 32) * (((unsigned long long) aux) >> 32)) << 32));
- if (minus)
- acc = -acc;
- }
- break;
- case DIVI:
- {
- short aux;
-
- aux = *pc++;
- acc = (acc + aux / 2) / aux;
- }
- break;
- case DIV:
- {
- long long aux;
- unsigned char minus;
-
- minus = 0;
- aux = *sp++;
- if (aux < 0)
- {
- minus = ~minus;
- aux = -aux;
- }
- if (acc < 0)
- {
- minus = ~minus;
- acc = -acc;
- }
-
- if (((unsigned long long)acc) == 0)
- acc = (unsigned long long)-1 / 2;
- else if ((((unsigned long long) ((unsigned long long)acc)) & 0xffffffff) == 0)
- acc = ((unsigned long long)aux) / (((unsigned long long) ((unsigned long long)acc)) >> 32);
- else if ((((unsigned long long) ((unsigned long long)acc)) >> 32) == 0)
- acc = ((((unsigned long long)aux) / ((unsigned long long)acc)) << 32)
- + ((((unsigned long long)aux) % ((unsigned long long)acc)) << 32) / ((unsigned long long)acc);
- else
- {
- unsigned char shift;
- unsigned long hi;
-
- shift = 32;
- hi = (((unsigned long long) ((unsigned long long)acc)) >> 32);
- do {
- if (hi & ((unsigned long)1 << (shift - 1)))
- break;
- } while (--shift != 0);
- printf("shift = %d\n", shift);
- acc = ((((unsigned long long)aux) / ((unsigned long long)acc)) << 32)
- + (((((unsigned long long)aux) % ((unsigned long long)acc)) << (32 - shift)) + ((((unsigned long long)acc) >> shift) / 2)) / (((unsigned long long)acc) >> shift);
- }
-
- if (minus)
- acc = -acc;
- }
- break;
- case INC:
- acc += 1;
- break;
- case DEC:
- acc -= 1;
- break;
- }
- printf("%08lx.%08lx\n", (long)(((unsigned long long) acc) >> 32) , (long)(((unsigned long long) acc) & 0xffffffff));
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950613-1.c b/gcc/testsuite/gcc.c-torture/compile/950613-1.c
deleted file mode 100644
index 8aa757f476c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950613-1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef NO_LABEL_VALUES
-f ()
-{
- long *sp;
- long *pc;
-
- static void *dummy[] =
- {
- &&L1,
- &&L2,
- };
-
- L1:
- {
- float val;
- val = *(float *) sp;
- val = -val;
- *(float *) sp = val;
- goto *pc++;
- }
-
- L2:
- {
- float from;
- *(long long *) sp = from;
- goto *pc++;
- }
-}
-#else
-int x;
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/950618-1.c b/gcc/testsuite/gcc.c-torture/compile/950618-1.c
deleted file mode 100644
index 4229da4e9bf..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950618-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-static __inline__ int f () { return g (); }
-int g () { return f (); }
diff --git a/gcc/testsuite/gcc.c-torture/compile/950719-1.c b/gcc/testsuite/gcc.c-torture/compile/950719-1.c
deleted file mode 100644
index d3277fada4e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950719-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-typedef struct
-{
- int Header;
- char data[4092];
-} t_node;
-
-f (unsigned short rid, unsigned short record_length)
-{
- t_node tnode;
- g (rid, tnode.data + rid * record_length);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950729-1.c b/gcc/testsuite/gcc.c-torture/compile/950729-1.c
deleted file mode 100644
index cfdbad9206f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950729-1.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static const char * const lcset = "0123456789abcdef";
-static const char * const ucset = "0123456789ABCDEF";
-
-char *
-f (char *buffer, long long value, char type)
-{
- int base, i;
-
- i = 128 - 1;
- buffer[i--] = '\0';
-
- switch (type)
- {
- case 'u':
- case 'o':
- case 'x':
- case 'X':
- if (type == 'u')
- base = 10;
- else if (type == 'o')
- base = 8;
- else
- base = 16;
-
- while (i >= 0)
- {
- if (type == 'X')
- buffer[i--] = ucset[((unsigned long long) value) % base];
- else
- buffer[i--] = lcset[((unsigned long long) value) % base];
-
- if ((value = ((unsigned long long) value) / base) == 0)
- break;
- }
- break;
- }
-
- return &buffer[++i];
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950816-1.c b/gcc/testsuite/gcc.c-torture/compile/950816-1.c
deleted file mode 100644
index da849bbad0a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950816-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-f ()
-{
- unsigned char b[2];
- float f;
- b[0] = (unsigned char) f / 256;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950816-2.c b/gcc/testsuite/gcc.c-torture/compile/950816-2.c
deleted file mode 100644
index 41e770d177d..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950816-2.c
+++ /dev/null
@@ -1,8 +0,0 @@
-f ()
-{
- int i;
- float a,b,c;
- unsigned char val[2];
- i = func (&c);
- val[0] = c < a ? a : c >= 1.0 ? b : c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950816-3.c b/gcc/testsuite/gcc.c-torture/compile/950816-3.c
deleted file mode 100644
index b3cb0fca377..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950816-3.c
+++ /dev/null
@@ -1,8 +0,0 @@
-f ()
-{
- int i;
- short x, z;
- for (i = 0; i <= 1; i++)
- x = i;
- return x + z;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950910-1.c b/gcc/testsuite/gcc.c-torture/compile/950910-1.c
deleted file mode 100644
index 1be2aa55e68..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950910-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-f (char *p)
-{
- char c;
-
- c = *++p;
- if (c != ' ')
- return 0;
- for (;;)
- {
- c = *p;
- if (g (c))
- p++;
- else
- {
- if (c == ' ')
- break;
- else
- return 0;
- }
- }
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950919-1.c b/gcc/testsuite/gcc.c-torture/compile/950919-1.c
deleted file mode 100644
index 8320f6d025a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950919-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#define empty
-#if empty#cpu(m68k)
-#endif
-
-f (){}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950921-1.c b/gcc/testsuite/gcc.c-torture/compile/950921-1.c
deleted file mode 100644
index 371c7d569c5..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950921-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-f ()
-{
- union
- {
- signed char c;
- double d;
- } u;
-
- u.c = 1;
- u.c = 1;
- return u.c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/950922-1.c b/gcc/testsuite/gcc.c-torture/compile/950922-1.c
deleted file mode 100644
index 73574f33e68..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/950922-1.c
+++ /dev/null
@@ -1,68 +0,0 @@
-struct sw {
- const void *x;
- int r;
-};
-struct sq {
- struct sw *q_w;
- int t;
- int z;
-};
-
-int
-f (int ch, char *fp, char *ap)
-{
- register int n;
- register char *cp;
- register struct sw *p;
- register int f;
- int prec;
- double _double;
- int expt;
- int ndig;
- char expstr[7];
- unsigned long long _uquad;
- struct sq q;
- struct sw w[8];
- static char zeroes[16];
-
- for (;;) {
- switch (ch) {
- case 'd':
- _double = (double) (ap += 8, *((double *) (ap - 8)));
- break;
- case 'o':
- goto nosign;
- case 'u':
- _uquad = (f & 0x020 ? (ap += 8, *((long long *) (ap - 8))) : f & 0x010 ? (ap += 4, *((long *) (ap - 4))) : f & 0x040 ? (long)(short)(ap += 4, *((int *) (ap - 4))) : (long)(ap += 4, *((int *) (ap - 4))));
- goto nosign;
- case 'x':
- _uquad = (f & 0x020 ? (ap += 8, *((long long *) (ap - 8))) : f & 0x010 ? (ap += 4, *((long *) (ap - 4))) : f & 0x040 ? (long)(unsigned short)(ap += 4, *((int *) (ap - 4))) : (long)(ap += 4, *((int *) (ap - 4))));
- nosign:
- if (_uquad != 0 || prec != 0);
- break;
- default:
- }
- if ((f & 0x100) == 0) {
- } else {
- if (ch >= 'f') {
- if (_double == 0) {
- if (expt < ndig || (f & 0x001) != 0) {
- { if ((n = (ndig - 1)) > 0) { while (n > 16) {{ p->x = (zeroes); p->r = 16; q.z += 16; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }} n -= 16; }{ p->x = (zeroes); p->r = n; q.z += n; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}}}
- }
- } else if (expt <= 0) {
- { p->x = ("0"); p->r = 1; q.z += 1; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
- { p->x = 0; p->r = 1; q.z += 1; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
- { if ((n = (-expt)) > 0) { while (n > 16) {{ p->x = (zeroes); p->r = 16; q.z += 16; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }} n -= 16; }{ p->x = (zeroes); p->r = n; q.z += n; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }} }}
- { p->x = cp; p->r = ndig; q.z += ndig; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
- } else {
- { p->x = cp; p->r = expt; q.z += expt; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
- cp += expt;
- { p->x = ("."); p->r = 1; q.z += 1; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
- { p->x = cp; p->r = (ndig-expt); q.z += (ndig-expt); p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
- }
- }
- }
- }
-
- error:
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/951004-1.c b/gcc/testsuite/gcc.c-torture/compile/951004-1.c
deleted file mode 100644
index 1ca60819cdd..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/951004-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef struct
-{
- short v, h;
-} S;
-
-S a;
-
-f (S pnt)
-{
- S mpnt, mtp;
-
- (&pnt)->v -= 1;
- mpnt = pnt;
- mtp = a;
- if (mtp.v != mpnt.v)
- {
- S tpnt;
-
- tpnt = mtp;
- mtp = mpnt;
- mpnt = tpnt;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/951106-1.c b/gcc/testsuite/gcc.c-torture/compile/951106-1.c
deleted file mode 100644
index 09cba20c1d0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/951106-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f (double a, double b)
-{
- g (a, 0, b);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/951116-1.c b/gcc/testsuite/gcc.c-torture/compile/951116-1.c
deleted file mode 100644
index 100d6902a72..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/951116-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-f ()
-{
- long long i;
- int j;
- long long k = i = j;
-
- int inner () {return j + i;}
- return k;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/951128-1.c b/gcc/testsuite/gcc.c-torture/compile/951128-1.c
deleted file mode 100644
index 5e4dc7093c8..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/951128-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-char a[];
-f (const int i)
-{
- a[i] = 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/951220-1.c b/gcc/testsuite/gcc.c-torture/compile/951220-1.c
deleted file mode 100644
index 33e98f6221e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/951220-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f (char *x)
-{
- return (*x & 2) || (*x & 3);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/951222-1.c b/gcc/testsuite/gcc.c-torture/compile/951222-1.c
deleted file mode 100644
index b8246f5fe81..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/951222-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-extern long long foo ();
-
-long long
-sub1 ()
-{
- char junk[10000];
- register long long a, b, c;
-
- b = foo ();
-
- setjmp ();
- a = foo ();
- c = a - b;
- return c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960106-1.c b/gcc/testsuite/gcc.c-torture/compile/960106-1.c
deleted file mode 100644
index c8228aab587..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960106-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f (a)
-{
- return (a & 1) && !(a & 2 & 4);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960130-1.c b/gcc/testsuite/gcc.c-torture/compile/960130-1.c
deleted file mode 100644
index ed8dab45988..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960130-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int a[1];
-
-int
-main()
-{
- extern int a[];
- return *a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960201-1.c b/gcc/testsuite/gcc.c-torture/compile/960201-1.c
deleted file mode 100644
index adc462389d2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960201-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-union foo
-{
- char a;
- int x[2];
-} __attribute__ ((transparent_union));
diff --git a/gcc/testsuite/gcc.c-torture/compile/960218-1.c b/gcc/testsuite/gcc.c-torture/compile/960218-1.c
deleted file mode 100644
index 46fbf778524..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960218-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define X(x) x
-int main() { return X(0/* *//* */); }
diff --git a/gcc/testsuite/gcc.c-torture/compile/960220-1.c b/gcc/testsuite/gcc.c-torture/compile/960220-1.c
deleted file mode 100644
index 766a066c449..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960220-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-f ()
-{
- unsigned long long int a = 0, b;
- while (b > a)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960221-1.c b/gcc/testsuite/gcc.c-torture/compile/960221-1.c
deleted file mode 100644
index 0e02496c104..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960221-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-struct s1 { int f1; };
-
-struct s2 {
- struct s1 a;
- int f2;
-};
-
-foo (struct s2 *ptr)
-{
- *ptr = (struct s2) {{}, 0};
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960319-1.c b/gcc/testsuite/gcc.c-torture/compile/960319-1.c
deleted file mode 100644
index f3d95ab6e8e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960319-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-static void
-f()
-{
- long long a[2];
- int i;
- if (g())
- if (h())
- ;
- *a |= (long long)i << 65 ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960514-1.c b/gcc/testsuite/gcc.c-torture/compile/960514-1.c
deleted file mode 100644
index 1d38cfd1a0b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960514-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-struct s {
- unsigned long long t[5];
-};
-
-void
-f (struct s *d, unsigned long long *l)
-{
- int i;
-
- for (i = 0; i < 5; i++)
- d->t[i] += l[i];
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960704-1.c b/gcc/testsuite/gcc.c-torture/compile/960704-1.c
deleted file mode 100644
index 5a9d35cfd9a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960704-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-struct A {
- double d;
-};
-
-struct A f ();
-
-main ()
-{
- struct A a = f();
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/960829-1.c b/gcc/testsuite/gcc.c-torture/compile/960829-1.c
deleted file mode 100644
index 8c6163dfaf0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/960829-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-f ()
-{
- g (0, 0.0, 0.0, 0.0, 0.0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/961004-1.c b/gcc/testsuite/gcc.c-torture/compile/961004-1.c
deleted file mode 100644
index 6407b625d66..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/961004-1.c
+++ /dev/null
@@ -1,37 +0,0 @@
-void
-f1 (o1, o2, o3, i, j, k)
- long long *o1, *o2, *o3;
- int i, j, k;
-{
- while (--i)
- o1[i] = o2[j >>= 1] + o3[k >>= 1];
-}
-
-void
-f2 (o1, o2, o3, i, j, k)
- long long *o1, *o2, *o3;
- int i, j, k;
-{
- while (--i)
- o1[i] = o2[j >>= 1] - o3[k >>= 1];
-}
-
-void
-f3 (o1, o2, o3, i, j, k)
- long long *o1, *o3;
- unsigned *o2;
- int i, j, k;
-{
- while (--i)
- o1[i] = o2[j >>= 1] + o3[k >>= 1];
-}
-
-void
-f4 (o1, o2, o3, i, j, k)
- long long *o1, *o2;
- unsigned *o3;
- int i, j, k;
-{
- while (--i)
- o1[i] = o2[j >>= 1] - o3[k >>= 1];
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/961010-1.c b/gcc/testsuite/gcc.c-torture/compile/961010-1.c
deleted file mode 100644
index d6145bc4233..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/961010-1.c
+++ /dev/null
@@ -1 +0,0 @@
-double f (double x) { return x == 0 ? x : 0.0; }
diff --git a/gcc/testsuite/gcc.c-torture/compile/961019-1.c b/gcc/testsuite/gcc.c-torture/compile/961019-1.c
deleted file mode 100644
index 0ea6ec6e280..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/961019-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-char _hex_value[256];
-
-void
-hex_init ()
-{
- int i;
- for (i = 0; i < 256; i++)
- _hex_value[i] = 99;
- for (i = 0; i < 10; i++)
- _hex_value['0' + i] = i;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/961031-1.c b/gcc/testsuite/gcc.c-torture/compile/961031-1.c
deleted file mode 100644
index ea8718f763b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/961031-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-struct s {
- double d;
-} sd;
-
-struct s g () __attribute__ ((const));
-
-struct s
-g ()
-{
- return sd;
-}
-
-f ()
-{
- g ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/961126-1.c b/gcc/testsuite/gcc.c-torture/compile/961126-1.c
deleted file mode 100644
index f3b6af55595..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/961126-1.c
+++ /dev/null
@@ -1,107 +0,0 @@
-int *p;
-
-main()
-{
- int i = sub ();
-
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
- i = -i;
- if (*p != i)
- goto quit;
-
- i = -i;
-quit:
- sub2 (i);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/961203-1.c b/gcc/testsuite/gcc.c-torture/compile/961203-1.c
deleted file mode 100644
index 0f066ace617..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/961203-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-struct s {
- char a[0x32100000];
- int x:30, y:30;
-};
-
-int
-main ()
-{
- struct s* p;
-
- p = (struct s*) 0;
- if (p->x == p->y)
- exit (1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/961203-1.x b/gcc/testsuite/gcc.c-torture/compile/961203-1.x
deleted file mode 100644
index dad1a21aaae..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/961203-1.x
+++ /dev/null
@@ -1,7 +0,0 @@
-# This doesn't work on any host with 32 bit int or smaller.
-
-# Because this test tends to consume lots of system resources and doesn't
-# currently work, don't actually run it. Just report a failure.
-setup_xfail "*-*-*"
-fail "gcc.c-torture/compile/961203-1.c"
-return 1 ;# `1' says we handled the testcase ourselves
diff --git a/gcc/testsuite/gcc.c-torture/compile/970206-1.c b/gcc/testsuite/gcc.c-torture/compile/970206-1.c
deleted file mode 100644
index 95196cd6a54..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/970206-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-struct Rect
-{
- int iA;
- int iB;
- int iC;
- int iD;
-};
-
-void
-f (int * const this, struct Rect arect)
-{
- g (*this, arect);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/970214-1.c b/gcc/testsuite/gcc.c-torture/compile/970214-1.c
deleted file mode 100644
index 508ea9e92b6..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/970214-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stddef.h>
-#define L 264
-wchar_t c = L'X';
diff --git a/gcc/testsuite/gcc.c-torture/compile/980329-1.c b/gcc/testsuite/gcc.c-torture/compile/980329-1.c
deleted file mode 100644
index d11b49b01c7..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980329-1.c
+++ /dev/null
@@ -1,72 +0,0 @@
-typedef unsigned long int size_t;
-struct re_pattern_buffer
- {
- unsigned char *buffer;
- unsigned long int used;
- };
-struct re_registers
- {
- int *start;
- };
-
-static const char **regstart, **regend;
-static const char **old_regend;
-
-static int
-re_match_2_internal (struct re_pattern_buffer *bufp,
- struct re_registers *regs)
-{
- unsigned char *p = bufp->buffer;
- unsigned char *pend = p + bufp->used;
-
- for (;;)
- {
- int highest_active_reg = 1;
- if (bufp)
- {
- int i;
- for (i = 1;; i++)
- regs->start[i] = 0;
- }
-
- switch ((unsigned int) *p++)
- {
- case 1:
- {
- unsigned char r = *p;
- if (r)
- highest_active_reg = r;
- }
- if (p + 2 == pend)
- {
- char is_a_jump_n = 0;
- int mcnt = 0;
- unsigned char *p1;
-
- p1 = p + 2;
- switch (*p1++)
- {
- case 2:
- is_a_jump_n = 1;
- case 1:
- do { do { mcnt = *p1; } while (0); p1 += 2; } while (0);
- if (is_a_jump_n)
- p1 = 0;
- }
-
- if (mcnt && *p1 == 0)
- {
- unsigned r;
- for (r = 0; r < (unsigned) *p + (unsigned) *(p + 1); r++)
- {
- if (regend[0] >= regstart[r])
- regend[r] = old_regend[r];
- }
- do { while (0 < highest_active_reg + 1) { } } while (0);
- }
- }
- }
- }
-
- return -1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980408-1.c b/gcc/testsuite/gcc.c-torture/compile/980408-1.c
deleted file mode 100644
index 09bf430406e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980408-1.c
+++ /dev/null
@@ -1,129 +0,0 @@
-typedef struct _RunlengthPacket
-{
- unsigned short
- red,
- green,
- blue,
- length;
- unsigned short
- index;
-} RunlengthPacket;
-typedef struct _Image
-{
- int
- status,
- temporary;
- char
- filename[1664 ];
- long int
- filesize;
- int
- pipe;
- char
- magick[1664 ],
- *comments,
- *label,
- *text;
- unsigned int
- matte;
- unsigned int
- columns,
- rows,
- depth;
- unsigned int
- scene,
- number_scenes;
- char
- *montage,
- *directory;
- unsigned int
- colors;
- double
- gamma;
- float
- x_resolution,
- y_resolution;
- unsigned int
- mean_error_per_pixel;
- double
- normalized_mean_error,
- normalized_maximum_error;
- unsigned long
- total_colors;
- char
- *signature;
- unsigned int
- packets,
- runlength,
- packet_size;
- unsigned char
- *packed_pixels;
- long int
- magick_time;
- char
- magick_filename[1664 ];
- unsigned int
- magick_columns,
- magick_rows;
- char
- *geometry,
- *page;
- unsigned int
- dispose,
- delay,
- iterations;
- unsigned int
- orphan;
- struct _Image
- *previous,
- *list,
- *next;
-} Image;
- Image *MinifyImage(Image *image)
-{
- Image
- *minified_image;
- register RunlengthPacket
- *q,
- *s,
- *s0,
- *s1,
- *s2,
- *s3;
- register unsigned int
- x;
- unsigned int
- blue,
- green,
- red;
- unsigned long
- total_matte,
- total_blue,
- total_green,
- total_red;
- unsigned short
- index;
- for (x=0; x < (image->columns-1); x+=2)
- {
- total_red=0;
- total_green=0;
- total_blue=0;
- total_matte=0;
- s=s0;
- total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ;
- s=s1;
- total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ;
- s=s2;
- total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ;
- s=s3;
- total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ;
- red=(unsigned short) ((total_red+63) >> 7);
- green=(unsigned short) ((total_green+63) >> 7);
- blue=(unsigned short) ((total_blue+63) >> 7);
- index=(unsigned short) ((total_matte+63) >> 7);
- if ((red == q->red) && (green == q->green) && (blue == q->blue) &&
- (index == q->index) && ((int) q->length < 65535L ))
- q->length++;
- }
- return(minified_image);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980504-1.c b/gcc/testsuite/gcc.c-torture/compile/980504-1.c
deleted file mode 100644
index 7b757ccd2e8..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980504-1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-typedef struct _geom_elem {
- double coeffs[6];
-} pGeomDefRec, *pGeomDefPtr;
-typedef struct _mpgeombanddef {
- int yOut;
- int in_width;
-} mpGeometryBandRec, *mpGeometryBandPtr;
-typedef void *pointer;
-typedef unsigned char CARD8;
-typedef CARD8 BytePixel;
-void BiGL_B (OUTP,srcimg,width,sline,pedpvt,pvtband) pointer OUTP;
-pointer *srcimg;
-register int width;
-int sline;
-pGeomDefPtr pedpvt; mpGeometryBandPtr pvtband;
-{
- register float s, t, st;
- register int isrcline,isrcpix;
- register int srcwidth = pvtband->in_width - 1;
- register BytePixel val;
- register BytePixel *ptrIn, *ptrJn;
- register double a = pedpvt->coeffs[0];
- register double c = pedpvt->coeffs[2];
- register double srcpix = a * ((double)(0.0000)) + pedpvt->coeffs[1] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[4];
- register double srcline = c * ((double)(0.0000)) + pedpvt->coeffs[3] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[5];
- if ( (isrcpix >= 0) && (isrcpix < srcwidth) )
- val = ptrIn[isrcpix] * ((float)1. - s - t + st) + ptrIn[isrcpix+1] * (s - st) + ptrJn[isrcpix] * (t - st) + ptrJn[isrcpix+1] * (st) + (float)0.5 ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980506-1.c b/gcc/testsuite/gcc.c-torture/compile/980506-1.c
deleted file mode 100644
index 6ef7796261f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980506-1.c
+++ /dev/null
@@ -1,63 +0,0 @@
-unsigned char TIFFFax2DMode[20][256];
-unsigned char TIFFFax2DNextState[20][256];
-unsigned char TIFFFaxUncompAction[20][256];
-unsigned char TIFFFaxUncompNextState[20][256];
-unsigned char TIFFFax1DAction[230][256];
-unsigned char TIFFFax1DNextState[230][256];
-
-typedef struct tableentry {
- unsigned short length;
- unsigned short code;
- short runlen;
-} tableentry;
-
-extern tableentry TIFFFaxWhiteCodes[];
-extern tableentry TIFFFaxBlackCodes[];
-
-static short sp_data, sp_bit;
-
-static unsigned char
-fetchByte (inbuf)
-
-unsigned char **inbuf;
-
-{
- unsigned char byte = **inbuf;
- (*inbuf)++;
- return (byte);
-}
-
-static int
-decode_white_run (inbuf)
-
-unsigned char **inbuf;
-
-{
- short state = sp_bit;
- short action;
- int runlen = 0;
-
- for (;;)
- {
- if (sp_bit == 0)
- {
- nextbyte:
- sp_data = fetchByte (inbuf);
- }
-
- action = TIFFFax1DAction[state][sp_data];
- state = TIFFFax1DNextState[state][sp_data];
- if (action == 0 )
- goto nextbyte;
- if (action == 1 )
- return (-1 );
- if (action == 210 )
- return (-3 );
- sp_bit = state;
- action = (TIFFFaxWhiteCodes[ action - 2 ].runlen) ;
- runlen += action;
- if (action < 64)
- return (runlen);
- }
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/980506-2.c b/gcc/testsuite/gcc.c-torture/compile/980506-2.c
deleted file mode 100644
index 6f6fe19270c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980506-2.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * inspired by glibc-2.0.6/sysdeps/libm-ieee754/s_nextafterf.c
- *
- * gcc -O2 -S -DOP=+ gives faddp %st(1),%st
- * gcc -O2 -S -DOP=* gives fmulp %st(1),%st
- * gcc -O2 -S -DOP=- gives fsubrp %st(1),%st
- * gcc -O2 -S -DOP=/ gives fdivrp %st(1),%st
- */
-
-#ifndef OP
-#define OP *
-#endif
-
-typedef int int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
-typedef unsigned int u_int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
-
-typedef union
-{
- float value;
- u_int32_t word;
-} ieee_float_shape_type;
-
-float __nextafterf(float x, float y)
-{
- int32_t hx,hy,ix,iy;
-
- {
- ieee_float_shape_type gf_u;
- gf_u.value = x;
- hx = gf_u.word;
- }
- {
- ieee_float_shape_type gf_u;
- gf_u.value = y;
- hy = gf_u.word;
- }
- ix = hx&0x7fffffff;
- iy = hy&0x7fffffff;
-
- if ( ix > 0x7f800000 || iy > 0x7f800000 )
- return x+y;
- if (x == y) return x;
- if (ix == 0)
- {
- {
- ieee_float_shape_type sf_u;
- sf_u.word = (hy&0x80000000) | 1;
- x = sf_u.value;
- }
- y = x*x;
- if (y == x) return y; else return x;
- }
- if (hx >= 0)
- {
- if (hx > hy)
- hx -= 1;
- else
- hx += 1;
- }
- else
- {
- if (hy >= 0 || hx > hy)
- hx -= 1;
- else
- hx += 1;
- }
- hy = hx & 0x7f800000;
- if (hy >= 0x7f800000)
- return x+x;
- if (hy < 0x00800000)
- {
- y = x OP x;
- if (y != x)
- {
- ieee_float_shape_type sf_u;
- sf_u.word = hx;
- y = sf_u.value;
- return y;
- }
- }
- {
- ieee_float_shape_type sf_u;
- sf_u.word = hx;
- x = sf_u.value;
- }
- return x;
-}
-
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/980511-1.c b/gcc/testsuite/gcc.c-torture/compile/980511-1.c
deleted file mode 100644
index f1bac0c434a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980511-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-typedef unsigned int __kernel_dev_t;
-typedef __kernel_dev_t dev_t;
-struct ustat {
-};
-typedef unsigned int kdev_t;
-static inline kdev_t to_kdev_t(int dev)
-{
- int major, minor;
- major = (dev >> 8);
- minor = (dev & 0xff);
- return ((( major ) << 22 ) | ( minor )) ;
-}
-struct super_block {
-};
-struct super_block * get_super (kdev_t dev);
-int sys_ustat(dev_t dev, struct ustat * ubuf)
-{
- struct super_block *s;
- s = get_super(to_kdev_t(dev));
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980701-1.c b/gcc/testsuite/gcc.c-torture/compile/980701-1.c
deleted file mode 100644
index 82dd16d6be2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980701-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-
-short
-func(void)
-{
- unsigned char x, y;
-
- return y | x << 8;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/980706-1.c b/gcc/testsuite/gcc.c-torture/compile/980706-1.c
deleted file mode 100644
index 214f36d5311..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980706-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-void g(long long);
-
-long long f(long long v1, long long v2, long long v3, long long v4)
-{
- g(v1);
- g(v2);
- g(v3);
- g(v4);
- return v1 && v2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980726-1.c b/gcc/testsuite/gcc.c-torture/compile/980726-1.c
deleted file mode 100644
index 3d4daa203de..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980726-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-static __inline__ unsigned char BCD(unsigned char binval)
-{
- if (binval > 99) return 0x99;
- return (((binval/10) << 4) | (binval%10));
-}
-
-void int1a(unsigned char i)
-{
- (*((unsigned char *)1)) = BCD(i);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980729-1.c b/gcc/testsuite/gcc.c-torture/compile/980729-1.c
deleted file mode 100644
index 973372b2ea3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980729-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-static int
-regex_compile ()
-{
- int c, c1;
- char str[6 + 1];
- c1 = 0;
- for (;;)
- {
- do { } while (0) ;
- if (c1 == 6 )
- break;
- str[c1++] = c;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980816-1.c b/gcc/testsuite/gcc.c-torture/compile/980816-1.c
deleted file mode 100644
index c56b6c9b92c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980816-1.c
+++ /dev/null
@@ -1,51 +0,0 @@
-typedef unsigned int size_t;
-typedef void *XtPointer;
-
-typedef struct _WidgetRec *Widget;
-typedef struct _WidgetClassRec *WidgetClass;
-
-extern WidgetClass commandWidgetClass;
-
-typedef void (*XtCallbackProc)(
- Widget ,
- XtPointer ,
- XtPointer
-);
-
-extern const char XtStrings[];
-
-
-typedef struct
-{
- char *Name,
- *Label;
- XtCallbackProc Callback;
- XtPointer ClientData;
- Widget W;
-} DialogButtonType, *DialogButtonTypePtr;
-
-
-Widget AddButtons(Widget Parent, Widget Top,
- DialogButtonTypePtr Buttons, size_t Count)
-{
- int i;
-
- for (i = 0; i < Count; i++)
- {
- if (!Buttons[i].Label)
- continue;
- Buttons[i].W = XtVaCreateManagedWidget(Buttons[i].Name,
- commandWidgetClass,
- Parent,
- ((char*)&XtStrings[429]) , Buttons[i].Label,
- "fromHoriz" , i ? Buttons[i-1].W : ((void *)0) ,
- "fromVert" , Top,
- "resizable" , 1 ,
- ((void *)0) );
-
- XtAddCallback(((char*)&XtStrings[136]),
- Buttons[i].Callback, Buttons[i].ClientData);
- }
- return(Buttons[Count-1].W);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/compile/980821-1.c b/gcc/testsuite/gcc.c-torture/compile/980821-1.c
deleted file mode 100644
index 9eb1ac4ca1c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980821-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-typedef int __int32_t;
-int __kernel_rem_pio2(int prec)
-{
- __int32_t i, jz;
- double fw, fq[20];
- switch(prec) {
- case 2:
- fw = 0.0;
- case 3:
- for (i=jz;i>0;i--) {
- fw = fq[i-1] +fq[i];
- fq[i-1] = fw;
- }
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/980825-1.c b/gcc/testsuite/gcc.c-torture/compile/980825-1.c
deleted file mode 100644
index 34e35bf83c4..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/980825-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-typedef enum { FALSE, TRUE } boolean;
-enum _errorTypes { FATAL = 1, WARNING = 2, PERROR = 4 };
-typedef struct _optionValues {
- struct _include {
- boolean classNames;
- boolean defines;
- boolean enumerators;
- } include;
-} optionValues;
-extern optionValues Option;
-static void applyTagInclusionList( list )
- const char *const list;
-{
- boolean mode = TRUE;
- const char *p;
- for (p = list ; *p != '\0' ; ++p)
- switch (*p)
- {
- case '=':
- clearTagList();
- mode = TRUE;
- break;
- case '+': mode = TRUE; break;
- case '-': mode = FALSE; break;
- case 'c': Option.include.classNames = mode; break;
- case 'd': Option.include.defines = mode; break;
- case 'e': Option.include.enumerators = mode; break;
- default: error(FATAL, "-i: Invalid tag option '%c'", *p); break;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/981001-1.c b/gcc/testsuite/gcc.c-torture/compile/981001-1.c
deleted file mode 100644
index d7cf0dc64b0..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981001-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-unsigned short code = 0x0000;
-unsigned short low = 0x4000;
-unsigned short high = 0xb000;
-
-int main (void)
-{
- if (
- (high & 0x8000) != (low & 0x8000)
- && ( low & 0x4000) == 0x4000
- && (high & 0x4000) == 0
- )
- {
- code ^= 0x4000;
- low |= 0x4000;
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/981001-2.c b/gcc/testsuite/gcc.c-torture/compile/981001-2.c
deleted file mode 100644
index 9ade1d92aef..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981001-2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#define weak_alias(func, aliasname) \
- extern __typeof (func) aliasname __attribute__ ((weak, alias (#func)));
-
-#define add3(d, m, c) ((d) + (m) + (c))
-
-int
-__add3(int d, int m, int c)
-{
- return d + m + c;
-}
-
-weak_alias (__add3, add3)
diff --git a/gcc/testsuite/gcc.c-torture/compile/981001-3.c b/gcc/testsuite/gcc.c-torture/compile/981001-3.c
deleted file mode 100644
index 5f6458757ac..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981001-3.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#define P(a, b) P1(a,b)
-#define P1(a,b) a##b
-
-#define FLT_MIN_EXP (-125)
-#define DBL_MIN_EXP (-1021)
-
-#define MIN_EXP P(FLT,_MIN_EXP)
-
-#define FLT FLT
-int f1 = MIN_EXP;
-
-#undef FLT
-#define FLT DBL
-int f2 = MIN_EXP;
diff --git a/gcc/testsuite/gcc.c-torture/compile/981001-4.c b/gcc/testsuite/gcc.c-torture/compile/981001-4.c
deleted file mode 100644
index dd3df9cce4b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981001-4.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#define P(a,b) P1(a,b)
-#define P1(a,b) a##b
-
-#define ONCE(x, y) (x ?: (x = y()))
-#define PREFIX
-
-extern int P(PREFIX, init) (void);
-
-int
-fun(void)
-{
- static int memo;
- return ONCE(memo, P(PREFIX, init));
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/981007-1.c b/gcc/testsuite/gcc.c-torture/compile/981007-1.c
deleted file mode 100644
index d41400b7832..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981007-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-extern double fabs (double);
-extern double sqrt (double);
-
-typedef struct complexm {
- double re,im;
-} complex;
-
-static complex
-setCom (double r, double i)
-{
- complex ct;
- ct.re=fabs(r)<1E-300?0.0:r;
- ct.im=fabs(i)<1E-300?0.0:i;
- return ct;
-}
-
-static complex
-csqrt_crash (double x)
-{
- return (x>=0) ? setCom(sqrt(x),0) : setCom(0,sqrt(-x));
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/981022-1.c b/gcc/testsuite/gcc.c-torture/compile/981022-1.c
deleted file mode 100644
index 6256673804a..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981022-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* This tests a combination of two gcc extensions. Omitting the middle
- operand of ?: and using ?: as an lvalue. */
-int x, y;
-
-int main ()
-{
- (x ?: y) = 0;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/981022-1.x b/gcc/testsuite/gcc.c-torture/compile/981022-1.x
deleted file mode 100644
index f41cdc29913..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981022-1.x
+++ /dev/null
@@ -1,2 +0,0 @@
-set torture_compile_xfail "*-*-*"
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/981107-1.c b/gcc/testsuite/gcc.c-torture/compile/981107-1.c
deleted file mode 100644
index 987ec180f9f..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981107-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-unsigned long seed(void)
-{
- unsigned long u;
-
- call();
-
- u = 26107 * (unsigned long)&u;
- return u;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/981211-1.c b/gcc/testsuite/gcc.c-torture/compile/981211-1.c
deleted file mode 100644
index 92c9cfb7013..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981211-1.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Basic tests of the #assert preprocessor extension. */
-
-#define fail int fail
-
-#assert abc (def)
-#assert abc (ghi)
-#assert abc (jkl)
-#assert space ( s p a c e )
-
-/* Basic: */
-#if !#abc (def) || !#abc (ghi) || !#abc (jkl)
-fail
-#endif
-
-/* any answer for #abc */
-#if !#abc
-fail
-#endif
-
-/* internal whitespace is collapsed,
- external whitespace is deleted */
-#if !#space (s p a c e) || !#space ( s p a c e ) || #space (space)
-fail
-#endif
-
-/* removing assertions */
-#unassert abc (jkl)
-#if !#abc || !#abc (def) || !#abc (ghi) || #abc (jkl)
-fail
-#endif
-
-#unassert abc
-#if #abc || #abc (def) || #abc (ghi) || #abc (jkl)
-fail
-#endif
-
-int gobble
-
-/* make sure it can succeed too.
- also check space before open paren isn't significant */
-#if #space(s p a c e)
-;
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/981223-1.c b/gcc/testsuite/gcc.c-torture/compile/981223-1.c
deleted file mode 100644
index d207ff10bb3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/981223-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-__complex__ float
-func (__complex__ float x)
-{
- if (__real__ x == 0.0)
- return 1.0;
- else
- return 0.0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/990107-1.c b/gcc/testsuite/gcc.c-torture/compile/990107-1.c
deleted file mode 100644
index a123ce9cbf3..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/990107-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-static int
-java_double_finite (d)
- double d;
-{
- long long *ip = (long long *) &d;
- return (*ip & 0x7ff0000000000000LL ) != 0x7ff0000000000000LL ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/990117-1.c b/gcc/testsuite/gcc.c-torture/compile/990117-1.c
deleted file mode 100644
index dda52205988..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/990117-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void
-__bb_init_prg ()
-{
- const char *p;
-
- {
- unsigned long l;
-
- (__extension__ (__builtin_constant_p (p) && __builtin_constant_p (l)
- ? 5 : 2));
- }
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/990203-1.c b/gcc/testsuite/gcc.c-torture/compile/990203-1.c
deleted file mode 100644
index 2c69a8fe086..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/990203-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-int
-f (f)
- float f;
-{
- long long *ip = (long long *) &f;
- return (*ip & 0x7ff0000000000000LL ) != 0x7ff0000000000000LL ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/990517-1.c b/gcc/testsuite/gcc.c-torture/compile/990517-1.c
deleted file mode 100644
index c738d4be760..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/990517-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Extracted from the sdm module in perl. */
-typedef struct {
- char *dptr;
- int dsize;
-} datum;
-extern long sdbm_hash (char *, int) ;
-extern void sdbm__putpair (char *, datum, datum) ;
-void
-sdbm__splpage (char *pag, char *New, long int sbit)
-{
- datum key;
- datum val;
- register int n;
- register int off = 1024 ;
- char cur[1024 ];
- register short *ino = (short *) cur;
- (void) memcpy(cur, pag, 1024 );
- (void) ({ void *__s = ( pag ); __builtin_memset ( __s , '\0', 1024 ) ; __s; });
- (void) ({ void *__s = ( New ); __builtin_memset ( __s , '\0', 1024 ) ; __s; });
- n = ino[0];
- for (ino++; n > 0; ino += 2) {
- key.dptr = cur + ino[0];
- key.dsize = off - ino[0];
- val.dptr = cur + ino[1];
- val.dsize = ino[0] - ino[1];
- (void) sdbm__putpair ((sdbm_hash(( key ).dptr, ( key ).dsize) & sbit) ? New : pag, key, val);
- off = ino[1];
- n -= 2;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/Makefile.in b/gcc/testsuite/gcc.c-torture/compile/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/compile/calls.c b/gcc/testsuite/gcc.c-torture/compile/calls.c
deleted file mode 100644
index 1582c0e92fa..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/calls.c
+++ /dev/null
@@ -1,22 +0,0 @@
-typedef void *(*T)(void);
-f1 ()
-{
- ((T) 0)();
-}
-f2 ()
-{
- ((T) 1000)();
-}
-f3 ()
-{
- ((T) 10000000)();
-}
-f4 (r)
-{
- ((T) r)();
-}
-f5 ()
-{
- int (*r)() = f3;
- ((T) r)();
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/cmpdi-1.c b/gcc/testsuite/gcc.c-torture/compile/cmpdi-1.c
deleted file mode 100644
index 9e1b659c7cf..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/cmpdi-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f (long long d)
-{
- int i = 0;
- if (d == 1)
- i = 1;
- return i;
-}
-
-g (long long d)
-{
- int i = 0;
- if (d <= 0)
- i = 1;
- return i;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/combine-hang.c b/gcc/testsuite/gcc.c-torture/compile/combine-hang.c
deleted file mode 100644
index 7cc57afe603..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/combine-hang.c
+++ /dev/null
@@ -1,26 +0,0 @@
-typedef union
-{
- double value;
- struct
- {
- unsigned long msw;
- unsigned long lsw;
- } parts;
-} ieee_double_shape_type;
-
-double f (int iy)
-{
- double z, t;
- ieee_double_shape_type u, v;
-
- if (iy == 1)
- return 0;
-
- u.parts.msw = iy;
- u.parts.lsw = 0;
- z = u.value;
- v.parts.msw = iy;
- v.parts.lsw = 0;
- t = v.value;
- return 1.0+z+t+t;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/compile.exp b/gcc/testsuite/gcc.c-torture/compile/compile.exp
deleted file mode 100644
index f96f0231a6c..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/compile.exp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993, 1995, 1997 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# These tests come from Torbjorn Granlund's (tege@cygnus.com)
-# C torture test suite, and other contributors.
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib c-torture.exp
-
-foreach testcase [glob -nocomplain $srcdir/$subdir/*.c] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $testcase] then {
- continue
- }
-
- c-torture $testcase
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/configure.in b/gcc/testsuite/gcc.c-torture/compile/configure.in
deleted file mode 100644
index e4cc69d249e..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=compile.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/compile/funcptr-1.c b/gcc/testsuite/gcc.c-torture/compile/funcptr-1.c
deleted file mode 100644
index 79687c9c005..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/funcptr-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-extern int (*gp)(const char*);
-
-int
-g (const char* d)
-{
- printf ("g");
- return 0;
-}
-
-f ()
-{
- int errcnt=0;
-
- if (gp != g)
- {
- printf ("f");
- errcnt++;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/goto-1.c b/gcc/testsuite/gcc.c-torture/compile/goto-1.c
deleted file mode 100644
index caeed3aa0ba..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/goto-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-f ()
-{
- do
- {
- if (0)
- {
- L1:;
- }
- else
- goto L2;
- L2:;
- }
- while (0);
-
- goto L1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/init-1.c b/gcc/testsuite/gcc.c-torture/compile/init-1.c
deleted file mode 100644
index 38db9ad87d9..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/init-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-typedef struct
-{
- char *key;
- char *value;
-} T1;
-
-typedef struct
-{
- long type;
- char *value;
-} T3;
-
-T1 a[] =
-{
- {
- "",
- ((char *)&((T3) {1, (char *) 1}))
- }
-};
diff --git a/gcc/testsuite/gcc.c-torture/compile/init-2.c b/gcc/testsuite/gcc.c-torture/compile/init-2.c
deleted file mode 100644
index 63a7f5849d6..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/init-2.c
+++ /dev/null
@@ -1,4 +0,0 @@
-struct
-{
- int e1, e2;
-} v = { e2: 0 };
diff --git a/gcc/testsuite/gcc.c-torture/compile/labels-1.c b/gcc/testsuite/gcc.c-torture/compile/labels-1.c
deleted file mode 100644
index fae6ab8f400..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/labels-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef NO_LABEL_VALUES
-f ()
-{
- void *x = &&L2;
- if (&&L3 - &&L1 > 1)
- abort();
- L1: return 1;
- L2: abort ();
- L3:;
-}
-#else
-int x;
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/compile/packed-1.c b/gcc/testsuite/gcc.c-torture/compile/packed-1.c
deleted file mode 100644
index 709fc3cb102..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/packed-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-struct s
-{
- int e;
-} x;
-
-struct rbuf
-{
- struct s *p __attribute__ ((packed));
-} *b;
-
-f ()
-{
- b->p = &x;
-}
diff --git a/gcc/testsuite/gcc.c-torture/compile/widechar-1.c b/gcc/testsuite/gcc.c-torture/compile/widechar-1.c
deleted file mode 100644
index 5d89f33a864..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/widechar-1.c
+++ /dev/null
@@ -1 +0,0 @@
-char *s = L"a" "b";
diff --git a/gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c b/gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c
deleted file mode 100644
index d3db812691b..00000000000
--- a/gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-typedef struct { } empty_t;
-
-f ()
-{
- empty_t i;
- bar (i);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/900409-1.c b/gcc/testsuite/gcc.c-torture/execute/900409-1.c
deleted file mode 100644
index 3112effaf2f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/900409-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-long f1(long a){return a&0xff000000L;}
-long f2 (long a){return a&~0xff000000L;}
-long f3(long a){return a&0x000000ffL;}
-long f4(long a){return a&~0x000000ffL;}
-long f5(long a){return a&0x0000ffffL;}
-long f6(long a){return a&~0x0000ffffL;}
-
-main ()
-{
- long a = 0x89ABCDEF;
-
- if (f1(a)!=0x89000000L||
- f2(a)!=0x00ABCDEFL||
- f3(a)!=0x000000EFL||
- f4(a)!=0x89ABCD00L||
- f5(a)!=0x0000CDEFL||
- f6(a)!=0x89AB0000L)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920202-1.c b/gcc/testsuite/gcc.c-torture/execute/920202-1.c
deleted file mode 100644
index e30ce2fd5c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920202-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static int rule_text_needs_stack_pop = 0;
-static int input_stack_pos = 1;
-
-f (void)
-{
- rule_text_needs_stack_pop = 1;
-
- if (input_stack_pos <= 0)
- return 1;
- else
- return 0;
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920302-1.c b/gcc/testsuite/gcc.c-torture/execute/920302-1.c
deleted file mode 100644
index 5fbfd9d1b9c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920302-1.c
+++ /dev/null
@@ -1,42 +0,0 @@
-short optab[5];
-char buf[10];
-execute (ip)
- register unsigned short *ip;
-{
-#ifndef NO_LABEL_VALUES
- register void *base = &&x;
- char *bp = buf;
- static void *tab[] = {&&x, &&y, &&z};
- if (ip == 0)
- {
- int i;
- for (i = 0; i < 3; ++i)
- optab[i] = (short)(tab[i] - base);
- return;
- }
-x: *bp++='x';
- goto *(base + *ip++);
-y: *bp++='y';
- goto *(base + *ip++);
-z: *bp++='z';
- *bp=0;
- return;
-#else
- strcpy (buf, "xyxyz");
-#endif
-}
-
-short p[5];
-
-main ()
-{
- execute (0);
- p[0] = optab[1];
- p[1] = optab[0];
- p[2] = optab[1];
- p[3] = optab[2];
- execute (&p);
- if (strcmp (buf, "xyxyz"))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920409-1.c b/gcc/testsuite/gcc.c-torture/execute/920409-1.c
deleted file mode 100644
index 938ce7d92d6..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920409-1.c
+++ /dev/null
@@ -1 +0,0 @@
-x(){signed char c=-1;return c<0;}main(){if(x()!=1)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920410-1.c b/gcc/testsuite/gcc.c-torture/execute/920410-1.c
deleted file mode 100644
index f5180f06a9c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920410-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#define STACK_REQUIREMENT (40000 * 4 + 256)
-#if defined (STACK_SIZE) && STACK_SIZE < STACK_REQUIREMENT
-main () { exit (0); }
-#else
-main(){int d[40000];d[0]=0;exit(0);}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/920411-1.c b/gcc/testsuite/gcc.c-torture/execute/920411-1.c
deleted file mode 100644
index e3e98100108..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920411-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-long f (w)
- char *w;
-{
- long k, i, c = 0, x;
- char *p = (char*) &x;
- for (i = 0; i < 1; i++)
- {
- for (k = 0; k < sizeof (long); k++)
- p[k] = w[k];
- c += x;
- }
- return c;
-}
-
-main ()
-{
- int i;
- char a[sizeof (long)];
-
- for (i = sizeof (long); --i >= 0;) a[i] = ' ';
- if (f (a) != ~0UL / (unsigned char) ~0 * ' ')
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920415-1.c b/gcc/testsuite/gcc.c-torture/execute/920415-1.c
deleted file mode 100644
index 25100ad5200..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920415-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* CYGNUS LOCAL -- meissner/no label values */
-#ifndef NO_LABEL_VALUES
-main(){__label__ l;void*x(){return&&l;}goto*x();abort();return;l:exit(0);}
-#else
-main(){ exit (0); }
-#endif
-/* END CYGNUS LOCAL -- meissner/no label values */
diff --git a/gcc/testsuite/gcc.c-torture/execute/920428-1.c b/gcc/testsuite/gcc.c-torture/execute/920428-1.c
deleted file mode 100644
index 154af763a50..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920428-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-x(const char*s){char a[1];const char*ss=s;a[*s++]|=1;return(int)ss+1==(int)s;}
-main(){if(x("")!=1)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920428-2.c b/gcc/testsuite/gcc.c-torture/execute/920428-2.c
deleted file mode 100644
index 118ba968314..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920428-2.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef NO_LABEL_VALUES
-s(i){if(i>0){__label__ l1;int f(int i){if(i==2)goto l1;return 0;}return f(i);l1:;}return 1;}
-x(){return s(0)==1&&s(1)==0&&s(2)==1;}
-main(){if(x()!=1)abort();exit(0);}
-#else
-main(){ exit (0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/920428-2.x b/gcc/testsuite/gcc.c-torture/execute/920428-2.x
deleted file mode 100644
index c7d9f030049..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920428-2.x
+++ /dev/null
@@ -1,6 +0,0 @@
-# This doesn't work on sparc's with -mflat.
-
-if { [istarget "sparc-*-*"] && [string match "*mflat*" $CFLAGS] } {
- set torture_execute_xfail "sparc-*-*"
-}
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/920429-1.c b/gcc/testsuite/gcc.c-torture/execute/920429-1.c
deleted file mode 100644
index f37bf68bdd4..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920429-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-typedef unsigned char t;int i,j;
-t*f(t*p){t c;c=*p++;i=((c&2)?1:0);j=(c&7)+1;return p;}
-main(){t*p0="ab",*p1;p1=f(p0);if(p0+1!=p1)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-1.c b/gcc/testsuite/gcc.c-torture/execute/920501-1.c
deleted file mode 100644
index 6f757cac59c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-int s[2];
-x(){if(!s[0]){s[1+s[1]]=s[1];return 1;}}
-main(){s[0]=s[1]=0;if(x(0)!=1)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-2.c b/gcc/testsuite/gcc.c-torture/execute/920501-2.c
deleted file mode 100644
index d99eef289e5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-2.c
+++ /dev/null
@@ -1,114 +0,0 @@
-unsigned long
-gcd_ll (unsigned long long x, unsigned long long y)
-{
- for (;;)
- {
- if (y == 0)
- return (unsigned long) x;
- x = x % y;
- if (x == 0)
- return (unsigned long) y;
- y = y % x;
- }
-}
-
-unsigned long long
-powmod_ll (unsigned long long b, unsigned e, unsigned long long m)
-{
- unsigned t;
- unsigned long long pow;
- int i;
-
- if (e == 0)
- return 1;
-
- /* Find the most significant bit in E. */
- t = e;
- for (i = 0; t != 0; i++)
- t >>= 1;
-
- /* The most sign bit in E is handled outside of the loop, by beginning
- with B in POW, and decrementing I. */
- pow = b;
- i -= 2;
-
- for (; i >= 0; i--)
- {
- pow = pow * pow % m;
- if ((1 << i) & e)
- pow = pow * b % m;
- }
-
- return pow;
-}
-
-unsigned long factab[10];
-
-void
-facts (t, a_int, x0, p)
- unsigned long long t;
- int a_int;
- int x0;
- unsigned p;
-{
- unsigned long *xp = factab;
- unsigned long long x, y;
- unsigned long q = 1;
- unsigned long long a = a_int;
- int i;
- unsigned long d;
- int j = 1;
- unsigned long tmp;
- int jj = 0;
-
- x = x0;
- y = x0;
-
- for (i = 1; i < 10000; i++)
- {
- x = powmod_ll (x, p, t) + a;
- y = powmod_ll (y, p, t) + a;
- y = powmod_ll (y, p, t) + a;
-
- if (x > y)
- tmp = x - y;
- else
- tmp = y - x;
- q = (unsigned long long) q * tmp % t;
-
- if (i == j)
- {
- jj += 1;
- j += jj;
- d = gcd_ll (q, t);
- if (d != 1)
- {
- *xp++ = d;
- t /= d;
- if (t == 1)
- {
- return;
- *xp = 0;
- }
- }
- }
- }
-}
-
-main ()
-{
- unsigned long long t;
- unsigned x0, a;
- unsigned p;
-
- p = 27;
- t = (1ULL << p) - 1;
-
- a = -1;
- x0 = 3;
-
- facts (t, a, x0, p);
- if (factab[0] != 7 || factab[1] != 73 || factab[2] != 262657)
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-3.c b/gcc/testsuite/gcc.c-torture/execute/920501-3.c
deleted file mode 100644
index 1031d7378cb..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-3.c
+++ /dev/null
@@ -1,35 +0,0 @@
-int tab[9];
-execute(oip, ip)
- unsigned short *oip, *ip;
-{
-#ifndef NO_LABEL_VALUES
- int x = 0;
- int *xp = tab;
-base:
- x++;
- if (x == 4)
- {
- *xp = 0;
- return;
- }
- *xp++ = ip - oip;
- goto *(&&base + *ip++);
-#else
- tab[0] = 0;
- tab[1] = 1;
- tab[2] = 2;
- tab[3] = 0;
-#endif
-}
-
-main()
-{
- unsigned short ip[10];
- int i;
- for (i = 0; i < 10; i++)
- ip[i] = 0;
- execute(ip, ip);
- if (tab[0] != 0 || tab[1] != 1 || tab[2] != 2 || tab[3] != 0)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-4.c b/gcc/testsuite/gcc.c-torture/execute/920501-4.c
deleted file mode 100644
index 3524dd5c8b2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-4.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef NO_LABEL_VALUES
-int
-x (int i)
-{
- static const void *j[] = {&& x, && y, && z};
-
- goto *j[i];
-
- x: return 2;
- y: return 3;
- z: return 5;
-}
-
-int
-main (void)
-{
- if ( x (0) != 2
- || x (1) != 3
- || x (2) != 5)
- abort ();
-
- exit (0);
-}
-#else
-int
-main (void) { exit (0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-5.c b/gcc/testsuite/gcc.c-torture/execute/920501-5.c
deleted file mode 100644
index 09740747712..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-5.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef NO_LABEL_VALUES
-x (int i)
-{
- void *j[] = {&&x, &&y, &&z};
- goto *j[i];
- x:return 2;
- y:return 3;
- z:return 5;
-
-}
-main ()
-{
- if (x (0) != 2 || x (1) != 3 | x (2) != 5)
- abort();
- exit(0);
-}
-#else
-main(){ exit (0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-6.c b/gcc/testsuite/gcc.c-torture/execute/920501-6.c
deleted file mode 100644
index 833624ff3f7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-6.c
+++ /dev/null
@@ -1,91 +0,0 @@
-#include <stdio.h>
-
-/* Convert a decimal string to a long long unsigned. No error check is
- performed. */
-
-long long unsigned
-str2llu (str)
- char *str;
-{
- long long unsigned acc;
- int d;
- acc = *str++ - '0';
- for (;;)
- {
- d = *str++;
- if (d == '\0')
- break;
- d -= '0';
- acc = acc * 10 + d;
- }
-
- return acc;
-}
-
-/* isqrt(t) - computes the square root of t. (tege 86-10-27) */
-
-long unsigned
-sqrtllu (long long unsigned t)
-{
- long long unsigned s;
- long long unsigned b;
-
- for (b = 0, s = t; b++, (s >>= 1) != 0; )
- ;
-
- s = 1LL << (b >> 1);
-
- if (b & 1)
- s += s >> 1;
-
- do
- {
- b = t / s;
- s = (s + b) >> 1;
- }
- while (b < s);
-
- return s;
-}
-
-
-int plist (p0, p1, tab)
- long long unsigned p0, p1;
- long long unsigned *tab;
-{
- long long unsigned p;
- long unsigned d;
- long unsigned s;
- long long unsigned *xp = tab;
-
- for (p = p0; p <= p1; p += 2)
- {
- s = sqrtllu (p);
-
- for (d = 3; d <= s; d += 2)
- {
- long long unsigned q = p % d;
- if (q == 0)
- goto not_prime;
- }
-
- *xp++ = p;
- not_prime:;
- }
- *xp = 0;
- return xp - tab;
-}
-
-main (argc, argv)
- int argc;
- char *argv[];
-{
- long long tab[10];
- int nprimes;
- nprimes = plist (str2llu ("1234111111"), str2llu ("1234111127"), tab);
-
- if(tab[0]!=1234111117LL||tab[1]!=1234111121LL||tab[2]!=1234111127LL||tab[3]!=0)
- abort();
-
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-7.c b/gcc/testsuite/gcc.c-torture/execute/920501-7.c
deleted file mode 100644
index f6bc0de3a15..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-7.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* CYGNUS LOCAL -- meissner/no label values */
-#ifdef STACK_SIZE
-#define DEPTH ((STACK_SIZE) / 512 + 1)
-#else
-#define DEPTH 1000
-#endif
-
-#ifndef NO_LABEL_VALUES
-x(a)
-{
- __label__ xlab;
- void y(a)
- {
- if (a==0)
- goto xlab;
- y (a-1);
- }
- y (a);
- xlab:;
- return a;
-}
-#endif
-
-main ()
-{
-#ifndef NO_LABEL_VALUES
- if (x (DEPTH) != DEPTH)
- abort ();
-#endif
- exit (0);
-}
-/* END CYGNUS LOCAL -- meissner/no label values */
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-7.x b/gcc/testsuite/gcc.c-torture/execute/920501-7.x
deleted file mode 100644
index c7d9f030049..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-7.x
+++ /dev/null
@@ -1,6 +0,0 @@
-# This doesn't work on sparc's with -mflat.
-
-if { [istarget "sparc-*-*"] && [string match "*mflat*" $CFLAGS] } {
- set torture_execute_xfail "sparc-*-*"
-}
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-8.c b/gcc/testsuite/gcc.c-torture/execute/920501-8.c
deleted file mode 100644
index 62780a08cc7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-8.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdio.h>
-#include <stdarg.h>
-
-char buf[50];
-int
-va (int a, double b, int c, ...)
-{
- va_list ap;
- int d, e, f, g, h, i, j, k, l, m, n, o, p;
- va_start (ap, c);
-
- d = va_arg (ap, int);
- e = va_arg (ap, int);
- f = va_arg (ap, int);
- g = va_arg (ap, int);
- h = va_arg (ap, int);
- i = va_arg (ap, int);
- j = va_arg (ap, int);
- k = va_arg (ap, int);
- l = va_arg (ap, int);
- m = va_arg (ap, int);
- n = va_arg (ap, int);
- o = va_arg (ap, int);
- p = va_arg (ap, int);
-
- sprintf (buf,
- "%d,%f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
- a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);
- va_end (ap);
-}
-
-main()
-{
- va (1, 1.0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- if (strcmp ("1,1.000000,2,3,4,5,6,7,8,9,10,11,12,13,14,15", buf))
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920501-9.c b/gcc/testsuite/gcc.c-torture/execute/920501-9.c
deleted file mode 100644
index f585ac6e0f4..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920501-9.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <stdio.h>
-
-long long proc1(){return 1LL;}
-long long proc2(){return 0x12345678LL;}
-long long proc3(){return 0xaabbccdd12345678LL;}
-long long proc4(){return -1LL;}
-long long proc5(){return 0xaabbccddLL;}
-
-print_longlong(x,buf)
- long long x;
- char *buf;
-{
- unsigned long l;
- l= (x >> 32) & 0xffffffff;
- if (l != 0)
- sprintf(buf,"%lx%08.lx",l,((unsigned long)x & 0xffffffff));
- else
- sprintf(buf,"%lx",((unsigned long)x & 0xffffffff));
-}
-
-main(){char buf[100];
-print_longlong(proc1(),buf);if(strcmp("1",buf))abort();
-print_longlong(proc2(),buf);if(strcmp("12345678",buf))abort();
-print_longlong(proc3(),buf);if(strcmp("aabbccdd12345678",buf))abort();
-print_longlong(proc4(),buf);if(strcmp("ffffffffffffffff",buf))abort();
-print_longlong(proc5(),buf);if(strcmp("aabbccdd",buf))abort();
-exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920506-1.c b/gcc/testsuite/gcc.c-torture/execute/920506-1.c
deleted file mode 100644
index 9a646a30fc2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920506-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-int l[]={0,1};
-main(){int*p=l;switch(*p++){case 0:exit(0);case 1:break;case 2:break;case 3:case 4:break;}abort();}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920520-1.c b/gcc/testsuite/gcc.c-torture/execute/920520-1.c
deleted file mode 100644
index 068a12e9249..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920520-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-foo(int *bar)
-{
- *bar = 8;
-}
-
-bugger()
-{
- int oldDepth, newDepth;
-
- foo(&oldDepth);
-
- switch (oldDepth)
- {
- case 8:
- case 500:
- newDepth = 8;
- break;
-
- case 5000:
- newDepth = 500;
- break;
-
- default:
- newDepth = 17;
- break;
- }
-
- return newDepth - oldDepth;
-}
-
-main()
-{
- if (bugger() != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920603-1.c b/gcc/testsuite/gcc.c-torture/execute/920603-1.c
deleted file mode 100644
index bd27ca6196e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920603-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-f(got){if(got!=0xffff)abort();}
-main(){signed char c=-1;unsigned u=(unsigned short)c;f(u);exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920604-1.c b/gcc/testsuite/gcc.c-torture/execute/920604-1.c
deleted file mode 100644
index d7d9be13fd8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920604-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-long long
-mod (a, b)
- long long a, b;
-{
- return a % b;
-}
-
-int
-main ()
-{
- mod (1LL, 2LL);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920612-1.c b/gcc/testsuite/gcc.c-torture/execute/920612-1.c
deleted file mode 100644
index a70c0d2e078..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920612-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-f(j)int j;{return++j>0;}
-main(){if(f((~0U)>>1))abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920612-2.c b/gcc/testsuite/gcc.c-torture/execute/920612-2.c
deleted file mode 100644
index 2667093491f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920612-2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-main ()
-{
- int i = 0;
- int a (int x)
- {
- while (x)
- i++, x--;
- return x;
- }
- a (2);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920618-1.c b/gcc/testsuite/gcc.c-torture/execute/920618-1.c
deleted file mode 100644
index 224f7208953..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920618-1.c
+++ /dev/null
@@ -1 +0,0 @@
-main(){if(1.17549435e-38F<=1.1)exit(0);abort();}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920625-1.c b/gcc/testsuite/gcc.c-torture/execute/920625-1.c
deleted file mode 100644
index ae2f415dec7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920625-1.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdarg.h>
-
-typedef struct{double x,y;}point;
-point pts[]={{1.0,2.0},{3.0,4.0},{5.0,6.0},{7.0,8.0}};
-static int va1(int nargs,...)
-{
- va_list args;
- int i;
- point pi;
- va_start(args,nargs);
- for(i=0;i<nargs;i++){
- pi=va_arg(args,point);
- if(pts[i].x!=pi.x||pts[i].y!=pi.y)abort();
- }
- va_end(args);
-}
-
-typedef struct{int x,y;}ipoint;
-ipoint ipts[]={{1,2},{3,4},{5,6},{7,8}};
-static int va2(int nargs,...)
-{
- va_list args;
- int i;
- ipoint pi;
- va_start(args,nargs);
- for(i=0;i<nargs;i++){
- pi=va_arg(args,ipoint);
- if(ipts[i].x!=pi.x||ipts[i].y!=pi.y)abort();
- }
- va_end(args);
-}
-
-main()
-{
-va1(4,pts[0],pts[1],pts[2],pts[3]);
-va2(4,ipts[0],ipts[1],ipts[2],ipts[3]);
-exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920710-1.c b/gcc/testsuite/gcc.c-torture/execute/920710-1.c
deleted file mode 100644
index 7c6f871e2ac..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920710-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-main()
-{
- if ((double) 18446744073709551615ULL < 1.84467440737095e+19 ||
- (double) 18446744073709551615ULL > 1.84467440737096e+19)
- abort();
-
- if (16777217L != (float)16777217e0)
- abort();
-
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920711-1.c b/gcc/testsuite/gcc.c-torture/execute/920711-1.c
deleted file mode 100644
index aa83452dafe..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920711-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-f(long a){return (--a > 0);}
-main(){if(f(0x80000000L)==0)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920715-1.c b/gcc/testsuite/gcc.c-torture/execute/920715-1.c
deleted file mode 100644
index 8b0f54b081c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920715-1.c
+++ /dev/null
@@ -1,67 +0,0 @@
-double ran(int *idum);
-main ()
-{
- double vp = 0.0048;
- double vx;
- double vy;
- double vz;
-
- /* CYGNUS LOCAL -- meissner/32bit doubles */
- /* This test requires double precision, so for hosts that don't offer
- that much precision, just ignore this test. */
- if (sizeof (double) < 8)
- exit (0);
- /* END CYGNUS LOCAL -- meissner/32bit doubles */
-
- maxbol(vp, &vx , &vy , &vz );
- if (vx < 0.001316505673 || vx > 0.001316505674)
- abort();
- if (vy < 0.002731492112 || vy > 0.002731492113)
- abort();
- if (vz < 0.001561454099 || vz > 0.001561454100)
- abort();
- exit(0);
-}
-maxbol(double vp , double *vx , double *vy , double *vz)
-{
- int idum=0;
- int i;
- double temp;
-
- *vx=vp*ran( &idum );
- *vy=vp*ran( &idum );
- *vz=vp*ran( &idum );
-}
-
-double ran(int *idum)
-{
- static long ix1,ix2,ix3;
- static double r[97];
- double temp;
- static int iff=0;
- int j;
-
- if(*idum<0 || iff==0){
- iff=1;
- ix1=(54773-(*idum))%259200;
- ix1=(7141*ix1+54773)%259200;
- ix2=ix1 %134456;
- ix1=(7141*ix1+54773)%259200;
- ix3=ix1 %243000;
- for(j=0; j<97; j++){
- ix1=(7141*ix1+54773)%259200;
- ix2=(8121*ix2+28411)%134456;
- r[j]=(ix1+ix2*(1.0/134456))*(1.0/259200);
- }
- *idum=1;
- }
- ix1=(7141*ix1+54773)%259200;
- ix2=(8121*ix2+28411)%134456;
- ix3=(4561*ix3+51349)%243000;
- j=((97*ix3)/243000);
- if(j >= 97 && j < 0)
- abort();
- temp=r[j];
- r[j]=(ix1+ix2*(1.0/134456))*(1.0/259200);
- return temp;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920715-1.x b/gcc/testsuite/gcc.c-torture/execute/920715-1.x
deleted file mode 100644
index e6ecdff07d8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920715-1.x
+++ /dev/null
@@ -1,7 +0,0 @@
-# It doesn't work on d10v if doubles are not 64 bits
-
-if { [istarget "d10v-*-*"] && ! [string-match "*-mdouble64*" $CFLAGS] } {
- set torture_execute_xfail "d10v-*-*"
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/920721-1.c b/gcc/testsuite/gcc.c-torture/execute/920721-1.c
deleted file mode 100644
index 086b5463f7f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920721-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-long f(short a,short b){return (long)a/b;}
-main(){if(f(-32768,-1)!=32768L)abort();else exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920721-2.c b/gcc/testsuite/gcc.c-torture/execute/920721-2.c
deleted file mode 100644
index ed4e0bf8700..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920721-2.c
+++ /dev/null
@@ -1,2 +0,0 @@
-f(){}
-main(){int n=2;double x[n];f();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920721-3.c b/gcc/testsuite/gcc.c-torture/execute/920721-3.c
deleted file mode 100644
index 61f605d0ad9..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920721-3.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static inline fu (unsigned short data)
-{
- return data;
-}
-ru(i)
-{
- if(fu(i++)!=5)abort();
- if(fu(++i)!=7)abort();
-}
-static inline fs (signed short data)
-{
- return data;
-}
-rs(i)
-{
- if(fs(i++)!=5)abort();
- if(fs(++i)!=7)abort();
-}
-
-
-main()
-{
- ru(5);
- rs(5);
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920721-4.c b/gcc/testsuite/gcc.c-torture/execute/920721-4.c
deleted file mode 100644
index 3cccc5b3024..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920721-4.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef NO_LABEL_VALUES
-int try (int num) {
- __label__ lab1, lab2, lab3, lab4, lab5, lab6, default_lab;
-
- void *do_switch (int num) {
- switch(num) {
- case 1:
- return &&lab1;
- case 2:
- return &&lab2;
- case 3:
- return &&lab3;
- case 4:
- return &&lab4;
- case 5:
- return &&lab5;
- case 6:
- return &&lab6;
- default:
- return &&default_lab;
- }
- }
-
- goto *do_switch (num);
-
- lab1:
- return 1;
-
- lab2:
- return 2;
-
- lab3:
- return 3;
-
- lab4:
- return 4;
-
- lab5:
- return 5;
-
- lab6:
- return 6;
-
- default_lab:
- return -1;
-}
-
-main()
-{
- int i;
- for (i = 1; i <= 6; i++)
- {
- if (try (i) != i)
- abort();
- }
- exit(0);
-}
-#else
-main(){ exit (0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/920726-1.c b/gcc/testsuite/gcc.c-torture/execute/920726-1.c
deleted file mode 100644
index d6042c9f5d1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920726-1.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <stdio.h>
-#include <stdarg.h>
-
-struct spurious
-{
- int anumber;
-};
-
-int first(char *buf, char *fmt, ...)
-{
- int pos, number;
- va_list args;
- int dummy;
- char *bp = buf;
-
- va_start(args, fmt);
- for (pos = 0; fmt[pos]; pos++)
- if (fmt[pos] == 'i')
- {
- number = va_arg(args, int);
- sprintf(bp, "%d", number);
- bp += strlen(bp);
- }
- else
- *bp++ = fmt[pos];
-
- va_end(args);
- *bp = 0;
- return dummy;
-}
-
-struct spurious second(char *buf,char *fmt, ...)
-{
- int pos, number;
- va_list args;
- struct spurious dummy;
- char *bp = buf;
-
- va_start(args, fmt);
- for (pos = 0; fmt[pos]; pos++)
- if (fmt[pos] == 'i')
- {
- number = va_arg(args, int);
- sprintf(bp, "%d", number);
- bp += strlen(bp);
- }
- else
- *bp++ = fmt[pos];
-
- va_end(args);
- *bp = 0;
- return dummy;
-}
-
-main()
-{
- char buf1[100], buf2[100];
- first(buf1, "i i ", 5, 20);
- second(buf2, "i i ", 5, 20);
- if (strcmp ("5 20 ", buf1) || strcmp ("5 20 ", buf2))
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920728-1.c b/gcc/testsuite/gcc.c-torture/execute/920728-1.c
deleted file mode 100644
index 7a2968b71be..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920728-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-typedef struct {int dims[0]; } *A;
-
-f(unsigned long obj)
-{
- unsigned char y = obj >> 24;
- y &= ~4;
-
- if ((y==0)||(y!=251 ))
- abort();
-
- if(((int)obj&7)!=7)return;
-
- REST_OF_CODE_JUST_HERE_TO_TRIGGER_THE_BUG:
-
- {
- unsigned char t = obj >> 24;
- if (!(t==0)&&(t<=0x03))
- return 0;
- return ((A)(obj&0x00FFFFFFL))->dims[1];
- }
-}
-
-long g(){return 0xff000000L;}
-main (){int x;f(g());exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920731-1.c b/gcc/testsuite/gcc.c-torture/execute/920731-1.c
deleted file mode 100644
index de0fb58fcde..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920731-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-f(x){int i;for(i=0;i<8&&(x&1)==0;x>>=1,i++);return i;}
-main(){if(f(4)!=2)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920810-1.c b/gcc/testsuite/gcc.c-torture/execute/920810-1.c
deleted file mode 100644
index 9565bfc1a2b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920810-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-typedef struct{void*super;int name;int size;}t;
-t*f(t*clas,int size)
-{
- t*child=(t*)malloc(size);
- memcpy(child,clas,clas->size);
- child->super=clas;
- child->name=0;
- child->size=size;
- return child;
-}
-main()
-{
- t foo,*bar;
- memset(&foo,37,sizeof(t));
- foo.size=sizeof(t);
- bar=f(&foo,sizeof(t));
- if(bar->super!=&foo||bar->name!=0||bar->size!=sizeof(t))abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920812-1.c b/gcc/testsuite/gcc.c-torture/execute/920812-1.c
deleted file mode 100644
index b49ab425b21..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920812-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-typedef int t;
-f(t y){switch(y){case 1:return 1;}return 0;}
-main(){if(f((t)1)!=1)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920829-1.c b/gcc/testsuite/gcc.c-torture/execute/920829-1.c
deleted file mode 100644
index ed2c2271caa..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920829-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-long long c=2863311530LL,c3=2863311530LL*3;
-main(){if(c*3!=c3)abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920908-1.c b/gcc/testsuite/gcc.c-torture/execute/920908-1.c
deleted file mode 100644
index 98fbb5eaa6d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920908-1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* REPRODUCED:RUN:SIGNAL MACHINE:mips OPTIONS: */
-
-#include <stdarg.h>
-
-typedef struct{int A;}T;
-
-T f(int x,...)
-{
-va_list ap;
-T X;
-va_start(ap,x);
-X=va_arg(ap,T);
-if(X.A!=10)abort();
-X=va_arg(ap,T);
-if(X.A!=20)abort();
-va_end(ap);
-return X;
-}
-
-main()
-{
-T X,Y;
-int i;
-X.A=10;
-Y.A=20;
-f(2,X,Y);
-exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920908-2.c b/gcc/testsuite/gcc.c-torture/execute/920908-2.c
deleted file mode 100644
index 66a6d86a7e7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920908-2.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-CONF:m68k-sun-sunos4.1.1
-OPTIONS:-O
-*/
-struct T
-{
-unsigned i:8;
-unsigned c:24;
-};
-f(struct T t)
-{
-struct T s[1];
-s[0]=t;
-return(char)s->c;
-}
-main()
-{
-struct T t;
-t.i=0xff;
-t.c=0xffff11;
-if(f(t)!=0x11)abort();
-exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920909-1.c b/gcc/testsuite/gcc.c-torture/execute/920909-1.c
deleted file mode 100644
index c8880348c12..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920909-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-f(a){switch(a){case 0x402:return a+1;case 0x403:return a+2;case 0x404:return a+3;case 0x405:return a+4;case 0x406:return 1;case 0x407:return 4;}return 0;}
-main(){if(f(1))abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920922-1.c b/gcc/testsuite/gcc.c-torture/execute/920922-1.c
deleted file mode 100644
index 4fae192bb90..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920922-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-unsigned long*
-f(p)unsigned long*p;
-{
- unsigned long a = (*p++) >> 24;
- return p + a;
-}
-
-main ()
-{
- unsigned long x = 0x80000000UL;
- if (f(&x) != &x + 0x81)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/920929-1.c b/gcc/testsuite/gcc.c-torture/execute/920929-1.c
deleted file mode 100644
index e43444e31d7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/920929-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* REPRODUCED:RUN:SIGNAL MACHINE:sparc OPTIONS: */
-f(int n)
-{
-int i;
-double v[n];
-for(i=0;i<n;i++)
-v[i]=0;
-}
-main()
-{
-f(100);
-exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921006-1.c b/gcc/testsuite/gcc.c-torture/execute/921006-1.c
deleted file mode 100644
index 50fbdb71125..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921006-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-/* REPRODUCED:RUN:SIGNAL MACHINE:i386 OPTIONS:-O */
-main()
-{
-if(strcmp("X","")<0)abort();
-exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921007-1.c b/gcc/testsuite/gcc.c-torture/execute/921007-1.c
deleted file mode 100644
index 23ab52e7ae8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921007-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-static int strcmp(){return-1;}
-#define strcmp __builtin_strcmp
-main()
-{
-if(strcmp("X","X\376")>=0)abort();
-exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921013-1.c b/gcc/testsuite/gcc.c-torture/execute/921013-1.c
deleted file mode 100644
index d041beb257a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921013-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-f(d,x,y,n)
-int*d;
-float*x,*y;
-int n;
-{
- while(n--){*d++=*x++==*y++;}
-}
-
-main()
-{
- int r[4];
- float a[]={5,1,3,5};
- float b[]={2,4,3,0};
- int i;
- f(r,a,b,4);
- for(i=0;i<4;i++)
- if((a[i]==b[i])!=r[i])
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921016-1.c b/gcc/testsuite/gcc.c-torture/execute/921016-1.c
deleted file mode 100644
index 46f8a838765..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921016-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-main()
-{
-int j=1081;
-struct
-{
-signed int m:11;
-}l;
-if((l.m=j)==j)abort();
-exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921017-1.c b/gcc/testsuite/gcc.c-torture/execute/921017-1.c
deleted file mode 100644
index 3a0db5c4d56..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921017-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f(n)
-{
- int a[n];
- int g(i)
- {
- return a[i];
- }
- a[1]=4711;
- return g(1);
-}
-main()
-{
- if(f(2)!=4711)abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921019-1.c b/gcc/testsuite/gcc.c-torture/execute/921019-1.c
deleted file mode 100644
index f48613a8ba9..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921019-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-void *foo[]={(void *)&("X"[0])};
-
-main ()
-{
- if (((char*)foo[0])[0] != 'X')
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921019-2.c b/gcc/testsuite/gcc.c-torture/execute/921019-2.c
deleted file mode 100644
index 9003e7b64d5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921019-2.c
+++ /dev/null
@@ -1,8 +0,0 @@
-main()
-{
- double x,y=0.5;
- x=y/0.2;
- if(x!=x)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921029-1.c b/gcc/testsuite/gcc.c-torture/execute/921029-1.c
deleted file mode 100644
index 76fc974c2f0..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921029-1.c
+++ /dev/null
@@ -1,42 +0,0 @@
-typedef unsigned long long ULL;
-ULL back;
-ULL hpart, lpart;
-ULL
-build(long h, long l)
-{
- hpart = h;
- hpart <<= 32;
- lpart = l;
- lpart &= 0xFFFFFFFFLL;
- back = hpart | lpart;
- return back;
-}
-
-main()
-{
- if (build(0, 1) != 0x0000000000000001LL)
- abort();
- if (build(0, 0) != 0x0000000000000000LL)
- abort();
- if (build(0, 0xFFFFFFFF) != 0x00000000FFFFFFFFLL)
- abort();
- if (build(0, 0xFFFFFFFE) != 0x00000000FFFFFFFELL)
- abort();
- if (build(1, 1) != 0x0000000100000001LL)
- abort();
- if (build(1, 0) != 0x0000000100000000LL)
- abort();
- if (build(1, 0xFFFFFFFF) != 0x00000001FFFFFFFFLL)
- abort();
- if (build(1, 0xFFFFFFFE) != 0x00000001FFFFFFFELL)
- abort();
- if (build(0xFFFFFFFF, 1) != 0xFFFFFFFF00000001LL)
- abort();
- if (build(0xFFFFFFFF, 0) != 0xFFFFFFFF00000000LL)
- abort();
- if (build(0xFFFFFFFF, 0xFFFFFFFF) != 0xFFFFFFFFFFFFFFFFLL)
- abort();
- if (build(0xFFFFFFFF, 0xFFFFFFFE) != 0xFFFFFFFFFFFFFFFELL)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921104-1.c b/gcc/testsuite/gcc.c-torture/execute/921104-1.c
deleted file mode 100644
index 4b6f4bcfb5b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921104-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-main ()
-{
- unsigned long val = 1;
-
- if (val > (unsigned long) ~0)
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921110-1.c b/gcc/testsuite/gcc.c-torture/execute/921110-1.c
deleted file mode 100644
index 27ff96f18fb..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921110-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-extern int abort();
-typedef int (*frob)();
-frob f[] = {abort};
-main()
-{
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921112-1.c b/gcc/testsuite/gcc.c-torture/execute/921112-1.c
deleted file mode 100644
index 5946398e3c0..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921112-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-union u {
- struct { int i1, i2; } t;
- double d;
-} x[2], v;
-
-f (x, v)
- union u *x, v;
-{
- *++x = v;
-}
-
-main()
-{
- x[1].t.i1 = x[1].t.i2 = 0;
- v.t.i1 = 1;
- v.t.i2 = 2;
- f (x, v);
- if (x[1].t.i1 != 1 || x[1].t.i2 != 2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921113-1.c b/gcc/testsuite/gcc.c-torture/execute/921113-1.c
deleted file mode 100644
index 78972bc975e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921113-1.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#define STACK_REQUIREMENT (128 * 128 * 4 + 1024)
-#if defined (STACK_SIZE) && STACK_SIZE < STACK_REQUIREMENT
-main () { exit (0); }
-#else
-
-typedef struct {
- float wsx;
-} struct_list;
-
-typedef struct_list *list_t;
-
-typedef struct {
- float x, y;
-} vector_t;
-
-w(float x, float y) {}
-
-f1(float x, float y)
-{
- if (x != 0 || y != 0)
- abort();
-}
-f2(float x, float y)
-{
- if (x != 1 || y != 1)
- abort();
-}
-
-gitter(int count, vector_t pos[], list_t list, int *nww, vector_t limit[2], float r)
-{
- float d;
- int gitt[128][128];
-
- f1(limit[0].x, limit[0].y);
- f2(limit[1].x, limit[1].y);
-
- *nww = 0;
-
- d = pos[0].x;
- if (d <= 0.)
- {
- w(d, r);
- if (d <= r * 0.5)
- {
- w(d, r);
- list[0].wsx = 1;
- }
- }
-}
-
-vector_t pos[1] = {{0., 0.}};
-vector_t limit[2] = {{0.,0.},{1.,1.}};
-
-main()
-{
- int nww;
- struct_list list;
-
- gitter(1, pos, &list, &nww, limit, 1.);
- exit(0);
-}
-
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/921117-1.c b/gcc/testsuite/gcc.c-torture/execute/921117-1.c
deleted file mode 100644
index 2ed30fbeeef..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921117-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-struct s {
- char text[11];
- int flag;
-} cell;
-
-int
-check (struct s p)
-{
- if (p.flag != 99)
- return 1;
- return strcmp (p.text, "0123456789");
-}
-
-main ()
-{
- cell.flag = 99;
- strcpy (cell.text, "0123456789");
-
- if (check (cell))
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921123-1.c b/gcc/testsuite/gcc.c-torture/execute/921123-1.c
deleted file mode 100644
index d3daf120f0a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921123-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-f(short *p)
-{
- short x = *p;
- return (--x < 0);
-}
-
-main()
-{
- short x = -10;
- if (!f(&x))
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921123-2.c b/gcc/testsuite/gcc.c-torture/execute/921123-2.c
deleted file mode 100644
index 3028717cf5a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921123-2.c
+++ /dev/null
@@ -1,24 +0,0 @@
-typedef struct
-{
- unsigned short b0, b1, b2, b3;
-} four_quarters;
-
-four_quarters x;
-int a, b;
-
-void f (four_quarters j)
-{
- b = j.b2;
- a = j.b3;
-}
-
-main ()
-{
- four_quarters x;
- x.b0 = x.b1 = x.b2 = 0;
- x.b3 = 38;
- f(x);
- if (a != 38)
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921124-1.c b/gcc/testsuite/gcc.c-torture/execute/921124-1.c
deleted file mode 100644
index 51b090b4de1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921124-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-f(x, d1, d2, d3)
- double d1, d2, d3;
-{
- return x;
-}
-
-g(b,s,x,y,i,j)
- char *b,*s;
- double x,y;
-{
- if (x != 1.0 || y != 2.0 || i != 3 || j != 4)
- abort();
-}
-
-main()
-{
- g("","", 1.0, 2.0, f(3, 0.0, 0.0, 0.0), f(4, 0.0, 0.0, 0.0));
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921202-1.c b/gcc/testsuite/gcc.c-torture/execute/921202-1.c
deleted file mode 100644
index d42fc74403c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921202-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-main ()
-{
- long dx[2055];
- long dy[2055];
- long s1[2055];
- int cyx, cyy;
- int i;
- long size;
-
- for (;;)
- {
- size = 2055;
- mpn_random2 (s1, size);
-
- for (i = 0; i < 1; i++)
- ;
-
- dy[size] = 0x12345678;
-
- for (i = 0; i < 1; i++)
- cyy = mpn_mul_1 (dy, s1, size);
-
- if (cyx != cyy || mpn_cmp (dx, dy, size + 1) != 0 || dx[size] != 0x12345678)
- {
- foo ("", 8, cyy); mpn_print (dy, size);
- }
- exxit();
- }
-}
-
-foo (){}
-mpn_mul_1(){}
-mpn_print (){}
-mpn_random2(){}
-mpn_cmp(){}
-exxit(){exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921202-2.c b/gcc/testsuite/gcc.c-torture/execute/921202-2.c
deleted file mode 100644
index 48d4a412d1b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921202-2.c
+++ /dev/null
@@ -1,13 +0,0 @@
-int
-f(long long x)
-{
- x >>= 8;
- return x & 0xff;
-}
-
-main()
-{
- if (f(0x0123456789ABCDEFLL) != 0xCD)
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921204-1.c b/gcc/testsuite/gcc.c-torture/execute/921204-1.c
deleted file mode 100644
index 9e4f4a6bae7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921204-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-typedef struct {
- unsigned b0:1, f1:17, b18:1, b19:1, b20:1, f2:11;
-} bf;
-
-typedef union {
- bf b;
- unsigned w;
-} bu;
-
-bu
-f(bu i)
-{
- bu o = i;
-
- if (o.b.b0)
- o.b.b18 = 1,
- o.b.b20 = 1;
- else
- o.b.b18 = 0,
- o.b.b20 = 0;
-
- return o;
-}
-
-main()
-{
- bu a;
- bu r;
-
- a.w = 0x4000000;
- a.b.b0 = 0;
- r = f(a);
- if (a.w != r.w)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921207-1.c b/gcc/testsuite/gcc.c-torture/execute/921207-1.c
deleted file mode 100644
index 5ee9d27cc2f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921207-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f()
-{
- unsigned b = 0;
-
- if (b > ~0U)
- b = ~0U;
-
- return b;
-}
-main()
-{
- if (f()!=0)
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921208-1.c b/gcc/testsuite/gcc.c-torture/execute/921208-1.c
deleted file mode 100644
index 143ef63b0c9..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921208-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-double
-f(double x)
-{
- return x*x;
-}
-
-double
-Int(double (*f)(double), double a)
-{
- return (*f)(a);
-}
-
-main()
-{
- if (Int(&f,2.0) != 4.0)
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921208-2.c b/gcc/testsuite/gcc.c-torture/execute/921208-2.c
deleted file mode 100644
index d5edcf97c66..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921208-2.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#define STACK_REQUIREMENT (100000 * 4 + 1024)
-#if defined (STACK_SIZE) && STACK_SIZE < STACK_REQUIREMENT
-main () { exit (0); }
-#else
-
-g(){}
-
-f()
-{
- int i;
- float a[100000];
-
- for (i = 0; i < 1; i++)
- {
- g(1.0, 1.0 + i / 2.0 * 3.0);
- g(2.0, 1.0 + i / 2.0 * 3.0);
- }
-}
-
-main ()
-{
- f();
- exit(0);
-}
-
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/921215-1.c b/gcc/testsuite/gcc.c-torture/execute/921215-1.c
deleted file mode 100644
index 4fa3b7dfccc..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921215-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-main()
-{
-#ifndef NO_TRAMPOLINES
- void p(void ((*f) (void ())))
- {
- void r()
- {
- foo ();
- }
-
- f(r);
- }
-
- void q(void ((*f)()))
- {
- f();
- }
-
- p(q);
-#endif
- exit(0);
-}
-
-foo(){}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921218-1.c b/gcc/testsuite/gcc.c-torture/execute/921218-1.c
deleted file mode 100644
index ab7bc19cc15..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921218-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f()
-{
- return (unsigned char)("\377"[0]);
-}
-
-main()
-{
- if (f() != (unsigned char)(0377))
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/921218-2.c b/gcc/testsuite/gcc.c-torture/execute/921218-2.c
deleted file mode 100644
index b5d57e9c3c8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/921218-2.c
+++ /dev/null
@@ -1,17 +0,0 @@
-f()
-{
- long l2;
- unsigned short us;
- unsigned long ul;
- short s2;
-
- ul = us = l2 = s2 = -1;
- return ul;
-}
-
-main()
-{
- if (f()!=(unsigned short)-1)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930106-1.c b/gcc/testsuite/gcc.c-torture/execute/930106-1.c
deleted file mode 100644
index 8081f926013..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930106-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#if defined (STACK_SIZE)
-#define DUMMY_SIZE 9
-#else
-#define DUMMY_SIZE 399999
-#endif
-
-double g()
-{
- return 1.0;
-}
-
-f()
-{
- char dummy[DUMMY_SIZE];
- double f1, f2, f3;
- f1 = g();
- f2 = g();
- f3 = g();
- return f1 + f2 + f3;
-}
-
-main()
-{
- if (f() != 3.0)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930111-1.c b/gcc/testsuite/gcc.c-torture/execute/930111-1.c
deleted file mode 100644
index e908f14f67f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930111-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-main()
-{
- if (wwrite((long long) 0) != 123)
- abort();
- exit(0);
-}
-
-int
-wwrite(long long i)
-{
- switch(i)
- {
- case 3:
- case 10:
- case 23:
- case 28:
- case 47:
- return 0;
- default:
- return 123;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930123-1.c b/gcc/testsuite/gcc.c-torture/execute/930123-1.c
deleted file mode 100644
index 7365bae5200..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930123-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-f(int *x)
-{
- *x = 0;
-}
-
-main()
-{
- int s, c, x;
- char a[] = "c";
-
- f(&s);
- a[c = 0] = s == 0 ? (x=1, 'a') : (x=2, 'b');
- if (a[c] != 'a')
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930126-1.c b/gcc/testsuite/gcc.c-torture/execute/930126-1.c
deleted file mode 100644
index ff08e7d6131..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930126-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-struct s {
- unsigned long long a:8, b:32;
-};
-
-struct s
-f(struct s x)
-{
- x.b = 0xcdef1234;
- return x;
-}
-
-main()
-{
- static struct s i;
- i.a = 12;
- i = f(i);
- if (i.a != 12 || i.b != 0xcdef1234)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930208-1.c b/gcc/testsuite/gcc.c-torture/execute/930208-1.c
deleted file mode 100644
index 464b69d437e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930208-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef union {
- long l;
- struct { char b3, b2, b1, b0; } c;
-} T;
-
-f (T u)
-{
- ++u.c.b0;
- ++u.c.b3;
- return (u.c.b1 != 2 || u.c.b2 != 2);
-}
-
-main ()
-{
- T u;
- u.c.b1 = 2;
- u.c.b2 = 2;
- u.c.b0 = ~0;
- u.c.b3 = ~0;
- if (f (u))
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930406-1.c b/gcc/testsuite/gcc.c-torture/execute/930406-1.c
deleted file mode 100644
index 1546f5150dd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930406-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-f()
-{
- int x = 1;
- char big[0x1000];
-
- ({
- __label__ mylabel;
- mylabel:
- x++;
- if (x != 3)
- goto mylabel;
- });
- exit(0);
-}
-
-main()
-{
- f();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930408-1.c b/gcc/testsuite/gcc.c-torture/execute/930408-1.c
deleted file mode 100644
index 42ffc098f80..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930408-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-typedef enum foo E;
-enum foo { e0, e1 };
-
-struct {
- E eval;
-} s;
-
-p()
-{
- abort();
-}
-
-f()
-{
- switch (s.eval)
- {
- case e0:
- p();
- }
-}
-
-main()
-{
- s.eval = e1;
- f();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930429-1.c b/gcc/testsuite/gcc.c-torture/execute/930429-1.c
deleted file mode 100644
index 656d928ebd7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930429-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-char *
-f (char *p)
-{
- short x = *p++ << 16;
- return p;
-}
-
-main ()
-{
- char *p = "";
- if (f (p) != p + 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930429-2.c b/gcc/testsuite/gcc.c-torture/execute/930429-2.c
deleted file mode 100644
index e52c8b4d723..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930429-2.c
+++ /dev/null
@@ -1,14 +0,0 @@
-int
-f (b)
-{
- return (b >> 1) > 0;
-}
-
-main ()
-{
- if (!f (9))
- abort ();
- if (f (-9))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930513-1.c b/gcc/testsuite/gcc.c-torture/execute/930513-1.c
deleted file mode 100644
index 4544471ec7d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930513-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-char buf[2];
-
-f (fp)
- int (*fp)(char *, const char *, ...);
-{
- (*fp)(buf, "%.0f", 5.0);
-}
-
-main ()
-{
- f (&sprintf);
- if (buf[0] != '5' || buf[1] != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930513-2.c b/gcc/testsuite/gcc.c-torture/execute/930513-2.c
deleted file mode 100644
index 3731f620497..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930513-2.c
+++ /dev/null
@@ -1,27 +0,0 @@
-sub3 (i)
- const int *i;
-{
-}
-
-eq (a, b)
-{
- static int i = 0;
- if (a != i)
- abort ();
- i++;
-}
-
-main ()
-{
- int i;
-
- for (i = 0; i < 4; i++)
- {
- const int j = i;
- int k;
- sub3 (&j);
- k = j;
- eq (k, k);
- }
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930518-1.c b/gcc/testsuite/gcc.c-torture/execute/930518-1.c
deleted file mode 100644
index 44bdf96afb7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930518-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-int bar = 0;
-
-f (p)
- int *p;
-{
- int foo = 2;
-
- while (foo > bar)
- {
- foo -= bar;
- *p++ = foo;
- bar = 1;
- }
-}
-
-main ()
-{
- int tab[2];
- tab[0] = tab[1] = 0;
- f (tab);
- if (tab[0] != 2 || tab[1] != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930526-1.c b/gcc/testsuite/gcc.c-torture/execute/930526-1.c
deleted file mode 100644
index bbf63c6009a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930526-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-inline
-f (x)
-{
- int *(p[25]);
- int m[25*7];
- int i;
-
- for (i = 0; i < 25; i++)
- p[i] = m + x*i;
-
- p[1][0] = 0;
-}
-
-main ()
-{
- f (7);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930527-1.c b/gcc/testsuite/gcc.c-torture/execute/930527-1.c
deleted file mode 100644
index fef34bf6b7f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930527-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f (unsigned char x)
-{
- return (0x50 | (x >> 4)) ^ 0xff;
-}
-
-main ()
-{
- if (f (0) != 0xaf)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930529-1.c b/gcc/testsuite/gcc.c-torture/execute/930529-1.c
deleted file mode 100644
index 906338e6e9a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930529-1.c
+++ /dev/null
@@ -1,45 +0,0 @@
-dd (x,d) { return x / d; }
-
-main ()
-{
- int i;
- for (i = -3; i <= 3; i++)
- {
- if (dd (i, 1) != i / 1)
- abort ();
- if (dd (i, 2) != i / 2)
- abort ();
- if (dd (i, 3) != i / 3)
- abort ();
- if (dd (i, 4) != i / 4)
- abort ();
- if (dd (i, 5) != i / 5)
- abort ();
- if (dd (i, 6) != i / 6)
- abort ();
- if (dd (i, 7) != i / 7)
- abort ();
- if (dd (i, 8) != i / 8)
- abort ();
- }
- for (i = ((unsigned) ~0 >> 1) - 3; i <= ((unsigned) ~0 >> 1) + 3; i++)
- {
- if (dd (i, 1) != i / 1)
- abort ();
- if (dd (i, 2) != i / 2)
- abort ();
- if (dd (i, 3) != i / 3)
- abort ();
- if (dd (i, 4) != i / 4)
- abort ();
- if (dd (i, 5) != i / 5)
- abort ();
- if (dd (i, 6) != i / 6)
- abort ();
- if (dd (i, 7) != i / 7)
- abort ();
- if (dd (i, 8) != i / 8)
- abort ();
- }
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930603-1.c b/gcc/testsuite/gcc.c-torture/execute/930603-1.c
deleted file mode 100644
index 6a84de03562..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930603-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-float fx (x)
- float x;
-{
- return 1.0 + 3.0 / (2.302585093 * x);
-}
-
-main ()
-{
- float fx (), inita (), initc (), a, b, c;
- a = inita ();
- c = initc ();
- f ();
- b = fx (c) + a;
- f ();
- if (a != 3.0 || b < 4.3257 || b > 4.3258 || c != 4.0)
- abort ();
- exit (0);
-}
-
-float inita () { return 3.0; }
-float initc () { return 4.0; }
-f () {}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930603-2.c b/gcc/testsuite/gcc.c-torture/execute/930603-2.c
deleted file mode 100644
index 8cf06a21139..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930603-2.c
+++ /dev/null
@@ -1,19 +0,0 @@
-int w[2][2];
-
-f ()
-{
- int i, j;
-
- for (i = 0; i < 2; i++)
- for (j = 0; j < 2; j++)
- if (i == j)
- w[i][j] = 1;
-}
-
-main ()
-{
- f ();
- if (w[0][0] != 1 || w[1][1] != 1 || w[1][0] != 0 || w[0][1] != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930603-3.c b/gcc/testsuite/gcc.c-torture/execute/930603-3.c
deleted file mode 100644
index 22e5aed4a8b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930603-3.c
+++ /dev/null
@@ -1,30 +0,0 @@
-f (b, c)
- unsigned char *b;
- int c;
-{
- unsigned long v = 0;
- switch (c)
- {
- case 'd':
- v = ((unsigned long)b[0] << 8) + b[1];
- v >>= 9;
- break;
-
- case 'k':
- v = b[3] >> 4;
- break;
-
- default:
- abort ();
- }
-
- return v;
-}
-main ()
-{
- char buf[4];
- buf[0] = 170; buf[1] = 5;
- if (f (buf, 'd') != 85)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930608-1.c b/gcc/testsuite/gcc.c-torture/execute/930608-1.c
deleted file mode 100644
index 004a4400709..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930608-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-double f (double a) {}
-double (* const a[]) (double) = {&f};
-
-main ()
-{
- double (*p) ();
- p = &f;
- if (p != a[0])
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930614-1.c b/gcc/testsuite/gcc.c-torture/execute/930614-1.c
deleted file mode 100644
index 7b206344b3a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930614-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-f (double *ty)
-{
- *ty = -1.0;
-}
-
-main ()
-{
- double foo[6];
- double tx = 0.0, ty, d;
-
- f (&ty);
-
- if (ty < 0)
- ty = -ty;
- d = (tx > ty) ? tx : ty;
- if (ty != d)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930614-2.c b/gcc/testsuite/gcc.c-torture/execute/930614-2.c
deleted file mode 100644
index ab83a7e3bb9..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930614-2.c
+++ /dev/null
@@ -1,20 +0,0 @@
-main ()
-{
- int i, j, k, l;
- float x[8][2][8][2];
-
- for (i = 0; i < 8; i++)
- for (j = i; j < 8; j++)
- for (k = 0; k < 2; k++)
- for (l = 0; l < 2; l++)
- {
- if ((i == j) && (k == l))
- x[i][k][j][l] = 0.8;
- else
- x[i][k][j][l] = 0.8;
- if (x[i][k][j][l] < 0.0)
- abort ();
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930621-1.c b/gcc/testsuite/gcc.c-torture/execute/930621-1.c
deleted file mode 100644
index 6131301df2f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930621-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-f ()
-{
- struct {
- int x : 18;
- int y : 14;
- } foo;
-
- foo.x = 10;
- foo.y = 20;
-
- return foo.y;
-}
-
-main ()
-{
- if (f () != 20)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930622-1.c b/gcc/testsuite/gcc.c-torture/execute/930622-1.c
deleted file mode 100644
index d733e133d35..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930622-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-int a = 1, b;
-
-g () { return 0; }
-h (x) {}
-
-f ()
-{
- if (g () == -1)
- return 0;
- a = g ();
- if (b >= 1)
- h (a);
- return 0;
-}
-
-main ()
-{
- f ();
- if (a != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930622-2.c b/gcc/testsuite/gcc.c-torture/execute/930622-2.c
deleted file mode 100644
index d049b002a19..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930622-2.c
+++ /dev/null
@@ -1,24 +0,0 @@
-long double
-ll_to_ld (long long n)
-{
- return n;
-}
-
-long long
-ld_to_ll (long double n)
-{
- return n;
-}
-
-main ()
-{
- long long n;
-
- if (ll_to_ld (10LL) != 10.0)
- abort ();
-
- if (ld_to_ll (10.0) != 10)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930628-1.c b/gcc/testsuite/gcc.c-torture/execute/930628-1.c
deleted file mode 100644
index 58c612d1a1c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930628-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-f (double x[2], double y[2])
-{
- if (x == y)
- abort ();
-}
-
-main ()
-{
- struct { int f[3]; double x[1][2]; } tp[4][2];
- int i, j, ki, kj, mi, mj;
- float bdm[4][2][4][2];
-
- for (i = 0; i < 4; i++)
- for (j = i; j < 4; j++)
- for (ki = 0; ki < 2; ki++)
- for (kj = 0; kj < 2; kj++)
- if ((j == i) && (ki == kj))
- bdm[i][ki][j][kj] = 1000.0;
- else
- {
- for (mi = 0; mi < 1; mi++)
- for (mj = 0; mj < 1; mj++)
- f (tp[i][ki].x[mi], tp[j][kj].x[mj]);
- bdm[i][ki][j][kj] = 1000.0;
- }
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930630-1.c b/gcc/testsuite/gcc.c-torture/execute/930630-1.c
deleted file mode 100644
index 4befa835d0d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930630-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-main ()
-{
- struct
- {
- signed int bf0:17;
- signed int bf1:7;
- } bf;
-
- bf.bf1 = 7;
- f (bf.bf1);
- exit (0);
-}
-
-f (x)
- int x;
-{
- if (x != 7)
- abort ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930702-1.c b/gcc/testsuite/gcc.c-torture/execute/930702-1.c
deleted file mode 100644
index 8828a701cb9..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930702-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-fp (double a, int b)
-{
- if (a != 33 || b != 11)
- abort ();
-}
-
-main ()
-{
- int (*f) (double, int) = fp;
-
- fp (33, 11);
- f (33, 11);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930713-1.c b/gcc/testsuite/gcc.c-torture/execute/930713-1.c
deleted file mode 100644
index 6b4d5ab796a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930713-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef struct
-{
- char x;
-} T;
-
-T
-f (s1)
- T s1;
-{
- T s1a;
- s1a.x = 17;
- return s1a;
-}
-
-main ()
-{
- T s1a, s1b;
- s1a.x = 13;
- s1b = f (s1a);
- if (s1a.x != 13 || s1b.x != 17)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930718-1.c b/gcc/testsuite/gcc.c-torture/execute/930718-1.c
deleted file mode 100644
index a8eacc2d222..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930718-1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-typedef struct rtx_def
-{
- int f1 :1;
- int f2 :1;
-} *rtx;
-
-static rtx
-f (orig)
- register rtx orig;
-{
- if (orig->f1 || orig->f2)
- return orig;
- orig->f2 = 1;
- return orig;
-}
-
-void
-f2 ()
-{
- abort ();
-}
-
-main ()
-{
- struct rtx_def foo;
- rtx bar;
-
- foo.f1 = 1;
- foo.f2 = 0;
- bar = f (&foo);
- if (bar != &foo || bar->f2 != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930719-1.c b/gcc/testsuite/gcc.c-torture/execute/930719-1.c
deleted file mode 100644
index c6557efc735..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930719-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-int
-f (foo, bar, com)
-{
- unsigned align;
- if (foo)
- return 0;
- while (1)
- {
- switch (bar)
- {
- case 1:
- if (com != 0)
- return align;
- *(char *) 0 = 0;
- }
- }
-}
-
-main ()
-{
- f (0, 1, 1);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930725-1.c b/gcc/testsuite/gcc.c-torture/execute/930725-1.c
deleted file mode 100644
index 3bd738ca08a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930725-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-int v;
-
-char *
-g ()
-{
- return "";
-}
-
-char *
-f ()
-{
- return (v == 0 ? g () : "abc");
-}
-
-main ()
-{
- v = 1;
- if (!strcmp (f (), "abc"))
- exit (0);
- abort();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930818-1.c b/gcc/testsuite/gcc.c-torture/execute/930818-1.c
deleted file mode 100644
index 710e3ce2fbe..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930818-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static double one = 1.0;
-
-f()
-{
- int colinear;
- colinear = (one == 0.0);
- if (colinear)
- abort ();
- return colinear;
-}
-main()
-{
- if (f()) abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930916-1.c b/gcc/testsuite/gcc.c-torture/execute/930916-1.c
deleted file mode 100644
index 6302614a8c8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930916-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-f (n)
- unsigned n;
-{
- if ((int) n >= 0)
- abort ();
-}
-
-main ()
-{
- unsigned x = ~0;
- f (x);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930921-1.c b/gcc/testsuite/gcc.c-torture/execute/930921-1.c
deleted file mode 100644
index 12e04e30954..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930921-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f (x)
- unsigned x;
-{
- return (unsigned) (((unsigned long long) x * 0xAAAAAAAB) >> 32) >> 1;
-}
-
-main ()
-{
- unsigned i;
-
- for (i = 0; i < 10000; i++)
- if (f (i) != i / 3)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930929-1.c b/gcc/testsuite/gcc.c-torture/execute/930929-1.c
deleted file mode 100644
index 31f695442f5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930929-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-sub1 (i)
- int i;
-{
- return i - (5 - i);
-}
-
-sub2 (i)
- int i;
-{
- return i + (5 + i);
-}
-
-sub3 (i)
- int i;
-{
- return i - (5 + i);
-}
-
-sub4 (i)
- int i;
-{
- return i + (5 - i);
-}
-
-main()
-{
- if (sub1 (20) != 35)
- abort ();
- if (sub2 (20) != 45)
- abort ();
- if (sub3 (20) != -5)
- abort ();
- if (sub4 (20) != 5)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930930-1.c b/gcc/testsuite/gcc.c-torture/execute/930930-1.c
deleted file mode 100644
index 68fdbbfe851..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930930-1.c
+++ /dev/null
@@ -1,35 +0,0 @@
-long *wm_TR;
-long *wm_HB;
-long *wm_SPB;
-
-long mem[100];
-
-f (mr_TR, mr_SPB, mr_HB, reg1, reg2)
- long *mr_TR;
- long *mr_SPB;
- long *mr_HB;
- long *reg1;
- long *reg2;
-{
- long *x = mr_TR;
-
- for (;;)
- {
- if (reg1 < reg2)
- goto out;
- if ((long *) *reg1 < mr_HB && (long *) *reg1 >= mr_SPB)
- *--mr_TR = *reg1;
- reg1--;
- }
- out:
-
- if (x != mr_TR)
- abort ();
-}
-
-main ()
-{
- mem[99] = (long) mem;
- f (mem + 100, mem + 6, mem + 8, mem + 99, mem + 99);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/930930-2.c b/gcc/testsuite/gcc.c-torture/execute/930930-2.c
deleted file mode 100644
index eb34d11fe22..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/930930-2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-int
-test_endianness()
-{
- union doubleword
- {
- double d;
- unsigned long u[2];
- } dw;
- dw.d = 10;
- return dw.u[0] != 0 ? 1 : 0;
-}
-
-int
-test_endianness_vol()
-{
- union doubleword
- {
- volatile double d;
- volatile long u[2];
- } dw;
- dw.d = 10;
- return dw.u[0] != 0 ? 1 : 0;
-}
-
-main ()
-{
- if (test_endianness () != test_endianness_vol ())
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931002-1.c b/gcc/testsuite/gcc.c-torture/execute/931002-1.c
deleted file mode 100644
index 6a02b234394..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931002-1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-f (void (*func) ())
-{
- func ();
-}
-
-main ()
-{
-#ifndef NO_TRAMPOLINES
- void t0 ()
- {
- }
-
- void t1 ()
- {
- f (t0);
- }
-
- void t2 ()
- {
- t1 ();
- }
-
- t1 ();
- t1 ();
- t2 ();
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-1.c b/gcc/testsuite/gcc.c-torture/execute/931004-1.c
deleted file mode 100644
index 9c89afdae35..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-struct tiny
-{
- int c;
-};
-
-f (int n, struct tiny x, struct tiny y, struct tiny z, long l)
-{
- if (x.c != 10)
- abort();
-
- if (y.c != 11)
- abort();
-
- if (z.c != 12)
- abort();
-
- if (l != 123)
- abort ();
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-10.c b/gcc/testsuite/gcc.c-torture/execute/931004-10.c
deleted file mode 100644
index cf0125dba62..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-10.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- char c;
- char d;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- if (x.d != i + 20)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-11.c b/gcc/testsuite/gcc.c-torture/execute/931004-11.c
deleted file mode 100644
index b6047025ce9..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-11.c
+++ /dev/null
@@ -1,50 +0,0 @@
-struct tiny
-{
- char c;
- char d;
- char e;
-};
-
-f (int n, struct tiny x, struct tiny y, struct tiny z, long l)
-{
- if (x.c != 10)
- abort();
- if (x.d != 20)
- abort();
- if (x.e != 30)
- abort();
-
- if (y.c != 11)
- abort();
- if (y.d != 21)
- abort();
- if (y.e != 31)
- abort();
-
- if (z.c != 12)
- abort();
- if (z.d != 22)
- abort();
- if (z.e != 32)
- abort();
-
- if (l != 123)
- abort ();
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- x[0].e = 30;
- x[1].e = 31;
- x[2].e = 32;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-12.c b/gcc/testsuite/gcc.c-torture/execute/931004-12.c
deleted file mode 100644
index d3fc71e0cb0..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-12.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- char c;
- char d;
- char e;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- if (x.d != i + 20)
- abort();
- if (x.e != i + 30)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- x[0].e = 30;
- x[1].e = 31;
- x[2].e = 32;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-13.c b/gcc/testsuite/gcc.c-torture/execute/931004-13.c
deleted file mode 100644
index 60422af8eb7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-13.c
+++ /dev/null
@@ -1,60 +0,0 @@
-struct tiny
-{
- char c;
- char d;
- char e;
- char f;
-};
-
-f (int n, struct tiny x, struct tiny y, struct tiny z, long l)
-{
- if (x.c != 10)
- abort();
- if (x.d != 20)
- abort();
- if (x.e != 30)
- abort();
- if (x.f != 40)
- abort();
-
- if (y.c != 11)
- abort();
- if (y.d != 21)
- abort();
- if (y.e != 31)
- abort();
- if (y.f != 41)
- abort();
-
- if (z.c != 12)
- abort();
- if (z.d != 22)
- abort();
- if (z.e != 32)
- abort();
- if (z.f != 42)
- abort();
-
- if (l != 123)
- abort ();
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- x[0].e = 30;
- x[1].e = 31;
- x[2].e = 32;
- x[0].f = 40;
- x[1].f = 41;
- x[2].f = 42;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-14.c b/gcc/testsuite/gcc.c-torture/execute/931004-14.c
deleted file mode 100644
index 55c71bbc42a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-14.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- char c;
- char d;
- char e;
- char f;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- if (x.d != i + 20)
- abort();
- if (x.e != i + 30)
- abort();
- if (x.f != i + 40)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- x[0].e = 30;
- x[1].e = 31;
- x[2].e = 32;
- x[0].f = 40;
- x[1].f = 41;
- x[2].f = 42;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-2.c b/gcc/testsuite/gcc.c-torture/execute/931004-2.c
deleted file mode 100644
index 83bdea67b0c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-2.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- int c;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-3.c b/gcc/testsuite/gcc.c-torture/execute/931004-3.c
deleted file mode 100644
index 1e7a0fdcd53..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-3.c
+++ /dev/null
@@ -1,30 +0,0 @@
-struct tiny
-{
- short c;
-};
-
-f (int n, struct tiny x, struct tiny y, struct tiny z, long l)
-{
- if (x.c != 10)
- abort();
-
- if (y.c != 11)
- abort();
-
- if (z.c != 12)
- abort();
-
- if (l != 123)
- abort ();
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-4.c b/gcc/testsuite/gcc.c-torture/execute/931004-4.c
deleted file mode 100644
index f0d2331e5cc..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-4.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- short c;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-5.c b/gcc/testsuite/gcc.c-torture/execute/931004-5.c
deleted file mode 100644
index 9bef779e6ed..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-5.c
+++ /dev/null
@@ -1,40 +0,0 @@
-struct tiny
-{
- short c;
- short d;
-};
-
-f (int n, struct tiny x, struct tiny y, struct tiny z, long l)
-{
- if (x.c != 10)
- abort();
- if (x.d != 20)
- abort();
-
- if (y.c != 11)
- abort();
- if (y.d != 21)
- abort();
-
- if (z.c != 12)
- abort();
- if (z.d != 22)
- abort();
-
- if (l != 123)
- abort ();
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-6.c b/gcc/testsuite/gcc.c-torture/execute/931004-6.c
deleted file mode 100644
index 6dca48f38ef..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-6.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- short c;
- short d;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- if (x.d != i + 20)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-7.c b/gcc/testsuite/gcc.c-torture/execute/931004-7.c
deleted file mode 100644
index 8ab2fcb2ab2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-7.c
+++ /dev/null
@@ -1,30 +0,0 @@
-struct tiny
-{
- char c;
-};
-
-f (int n, struct tiny x, struct tiny y, struct tiny z, long l)
-{
- if (x.c != 10)
- abort();
-
- if (y.c != 11)
- abort();
-
- if (z.c != 12)
- abort();
-
- if (l != 123)
- abort ();
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-8.c b/gcc/testsuite/gcc.c-torture/execute/931004-8.c
deleted file mode 100644
index 5fb97f64a6b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-8.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- char c;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931004-9.c b/gcc/testsuite/gcc.c-torture/execute/931004-9.c
deleted file mode 100644
index 07247f7adfa..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931004-9.c
+++ /dev/null
@@ -1,40 +0,0 @@
-struct tiny
-{
- char c;
- char d;
-};
-
-f (int n, struct tiny x, struct tiny y, struct tiny z, long l)
-{
- if (x.c != 10)
- abort();
- if (x.d != 20)
- abort();
-
- if (y.c != 11)
- abort();
- if (y.d != 21)
- abort();
-
- if (z.c != 12)
- abort();
- if (z.d != 22)
- abort();
-
- if (l != 123)
- abort ();
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931005-1.c b/gcc/testsuite/gcc.c-torture/execute/931005-1.c
deleted file mode 100644
index 5a7e031cbfe..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931005-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef struct
-{
- char x;
-} T;
-
-T
-f (s1)
- T s1;
-{
- T s1a;
- s1a.x = s1.x;
- return s1a;
-}
-
-main ()
-{
- T s1a, s1b;
- s1a.x = 100;
- s1b = f (s1a);
- if (s1b.x != 100)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931009-1.c b/gcc/testsuite/gcc.c-torture/execute/931009-1.c
deleted file mode 100644
index 292228014e7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931009-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-main ()
-{
- f ();
- exit (0);
-}
-
-static
-g (out, size, lo, hi)
- int *out, size, lo, hi;
-{
- int j;
-
- for (j = 0; j < size; j++)
- out[j] = j * (hi - lo);
-}
-
-
-f ()
-{
- int a[2];
-
- g (a, 2, 0, 1);
-
- if (a[0] != 0 || a[1] != 1)
- abort ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931012-1.c b/gcc/testsuite/gcc.c-torture/execute/931012-1.c
deleted file mode 100644
index d9c958ddb90..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931012-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-f (int b, int c)
-{
- if (b != 0 && b != 1 && c != 0)
- b = 0;
- return b;
-}
-
-main ()
-{
- if (!f (1, 2))
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931017-1.c b/gcc/testsuite/gcc.c-torture/execute/931017-1.c
deleted file mode 100644
index 5917bd95b76..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931017-1.c
+++ /dev/null
@@ -1,54 +0,0 @@
-int v;
-
-main ()
-{
- f ();
- exit (0);
-}
-
-h1 ()
-{
- return 0;
-}
-
-h2 (e)
- int *e;
-{
- if (e != &v)
- abort ();
- return 0;
-}
-
-g (c)
- char *c;
-{
- int i;
- int b;
-
- do
- {
- i = h1 ();
- if (i == -1)
- return 0;
- else if (i == 1)
- h1 ();
- }
- while (i == 1);
-
- do
- b = h2 (&v);
- while (i == 5);
-
- if (i != 2)
- return b;
- *c = 'a';
-
- return 0;
-}
-
-
-f ()
-{
- char c;
- g (&c);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931018-1.c b/gcc/testsuite/gcc.c-torture/execute/931018-1.c
deleted file mode 100644
index d3814e699b8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931018-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-unsigned int a[0x1000];
-extern unsigned long v;
-
-main ()
-{
- f (v);
- f (v);
- exit (0);
-}
-
-f (a)
- unsigned long a;
-{
- if (a != 0xdeadbeefL)
- abort();
-}
-
-const unsigned long v = 0xdeadbeefL;
diff --git a/gcc/testsuite/gcc.c-torture/execute/931031-1.c b/gcc/testsuite/gcc.c-torture/execute/931031-1.c
deleted file mode 100644
index 761989040f4..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931031-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-struct foo
-{
- unsigned y:1;
- unsigned x:32;
-};
-
-int
-f (x)
- struct foo x;
-{
- int t = x.x;
- if (t < 0)
- return 1;
- return t+1;
-}
-
-main ()
-{
- struct foo x;
- x.x = -1;
- if (f (x) == 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931102-1.c b/gcc/testsuite/gcc.c-torture/execute/931102-1.c
deleted file mode 100644
index 489e7ebda8d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931102-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-typedef union
-{
- struct
- {
- char h, l;
- } b;
-} T;
-
-f (x)
- int x;
-{
- int num = 0;
- T reg;
-
- reg.b.l = x;
- while ((reg.b.l & 1) == 0)
- {
- num++;
- reg.b.l >>= 1;
- }
- return num;
-}
-
-main ()
-{
- if (f (2) != 1)
- abort ();
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931102-2.c b/gcc/testsuite/gcc.c-torture/execute/931102-2.c
deleted file mode 100644
index 6fc735c8bc1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931102-2.c
+++ /dev/null
@@ -1,31 +0,0 @@
-typedef union
-{
- long align;
- struct
- {
- short h, l;
- } b;
-} T;
-
-f (x)
- int x;
-{
- int num = 0;
- T reg;
-
- reg.b.l = x;
- while ((reg.b.l & 1) == 0)
- {
- num++;
- reg.b.l >>= 1;
- }
- return num;
-}
-
-main ()
-{
- if (f (2) != 1)
- abort ();
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/931110-1.c b/gcc/testsuite/gcc.c-torture/execute/931110-1.c
deleted file mode 100644
index 5b33b269a2d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931110-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-typedef struct
-{
- short f:3, g:3, h:10;
-} small;
-
-struct
-{
- int i;
- small s[10];
-} x;
-
-main ()
-{
- int i;
- for (i = 0; i < 10; i++)
- x.s[i].f = 0;
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931110-2.c b/gcc/testsuite/gcc.c-torture/execute/931110-2.c
deleted file mode 100644
index 586615b180c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931110-2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-main ()
-{
- static int a[] = {3, 4};
- register int *b;
- int c;
-
- b = a;
- c = *b++ % 8;
- if (c != 3)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931208-1.c b/gcc/testsuite/gcc.c-torture/execute/931208-1.c
deleted file mode 100644
index ee2bc9f1e04..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931208-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-f ()
-{
- unsigned long x, y = 1;
-
- x = ((y * 8192) - 216) / 16;
- return x;
-}
-
-main ()
-{
- if (f () != 498)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/931228-1.c b/gcc/testsuite/gcc.c-torture/execute/931228-1.c
deleted file mode 100644
index dcd3b65ff3b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/931228-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f (x)
-{
- x &= 010000;
- x &= 007777;
- x ^= 017777;
- x &= 017770;
- return x;
-}
-
-main ()
-{
- if (f (-1) != 017770)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/940115-1.c b/gcc/testsuite/gcc.c-torture/execute/940115-1.c
deleted file mode 100644
index d0fac9077a1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/940115-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-f (cp, end)
- char *cp;
- char *end;
-{
- return (cp < end);
-}
-
-main ()
-{
- if (! f ((char *) 0, (char *) 1))
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/940122-1.c b/gcc/testsuite/gcc.c-torture/execute/940122-1.c
deleted file mode 100644
index 9dbf6ae185b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/940122-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-char *a = 0;
-char *b = 0;
-
-g (x)
- int x;
-{
- if ((!!a) != (!!b))
- abort ();
-}
-
-f (x)
- int x;
-{
- g (x * x);
-}
-
-main ()
-{
- f (100);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941014-1.c b/gcc/testsuite/gcc.c-torture/execute/941014-1.c
deleted file mode 100644
index 98db917428f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941014-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-int f (int a, int b) { }
-
-main ()
-{
- unsigned long addr1;
- unsigned long addr2;
-
- addr1 = (unsigned long) &f;
- addr1 += 5;
- addr2 = 5 + (unsigned long) &f;
-
- if (addr1 != addr2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941014-1.x b/gcc/testsuite/gcc.c-torture/execute/941014-1.x
deleted file mode 100644
index 90775849832..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941014-1.x
+++ /dev/null
@@ -1,6 +0,0 @@
-# This doesn't work for thumb-elf
-
-if { [istarget "thumb-*-elf"] } {
- set torture_execute_xfail "thumb-*-elf"
-}
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/941014-2.c b/gcc/testsuite/gcc.c-torture/execute/941014-2.c
deleted file mode 100644
index 3932a34ce92..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941014-2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-typedef struct {
- unsigned short a;
- unsigned short b;
-} foo_t;
-
-void a1 (unsigned long offset) {}
-
-volatile foo_t *
-f ()
-{
- volatile foo_t *foo_p = (volatile foo_t *)malloc (sizeof (foo_t));
-
- a1((unsigned long)foo_p-30);
- if (foo_p->a & 0xf000)
- printf("%d\n", foo_p->a);
- foo_p->b = 0x0100;
- a1 ((unsigned long)foo_p + 2);
- a1 ((unsigned long)foo_p - 30);
- return foo_p;
-}
-
-main ()
-{
- volatile foo_t *foo_p;
-
- foo_p = f ();
- if (foo_p->b != 0x0100)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941015-1.c b/gcc/testsuite/gcc.c-torture/execute/941015-1.c
deleted file mode 100644
index 38d4796645f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941015-1.c
+++ /dev/null
@@ -1,35 +0,0 @@
-int
-foo1 (value)
- long long value;
-{
- register const long long constant = 0xc000000080000000LL;
-
- if (value < constant)
- return 1;
- else
- return 2;
-}
-
-int
-foo2 (value)
- unsigned long long value;
-{
- register const unsigned long long constant = 0xc000000080000000LL;
-
- if (value < constant)
- return 1;
- else
- return 2;
-}
-
-main ()
-{
- unsigned long long value = 0xc000000000000001LL;
- int x, y;
-
- x = foo1 (value);
- y = foo2 (value);
- if (x != y || x != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941021-1.c b/gcc/testsuite/gcc.c-torture/execute/941021-1.c
deleted file mode 100644
index 9fc1cfadf97..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941021-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-double glob_dbl;
-
-f (pdbl, value)
- double *pdbl;
- double value;
-{
- if (pdbl == 0)
- pdbl = &glob_dbl;
-
- *pdbl = value;
-}
-
-main ()
-{
- f ((void *) 0, 55.1);
-
- if (glob_dbl != 55.1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941025-1.c b/gcc/testsuite/gcc.c-torture/execute/941025-1.c
deleted file mode 100644
index 2daf0ad25cc..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941025-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-long f (x, y)
- long x,y;
-{
- return (x > 1) ? y : (y & 1);
-}
-
-main ()
-{
- if (f (2L, 0xdecadeL) != 0xdecadeL)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941031-1.c b/gcc/testsuite/gcc.c-torture/execute/941031-1.c
deleted file mode 100644
index 134f966c6f3..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941031-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-typedef long mpt;
-
-int
-f (mpt us, mpt vs)
-{
- long aus;
- long avs;
-
- aus = us >= 0 ? us : -us;
- avs = vs >= 0 ? vs : -vs;
-
- if (aus < avs)
- {
- long t = aus;
- aus = avs;
- avs = aus;
- }
-
- return avs;
-}
-
-main ()
-{
- if (f ((mpt) 3, (mpt) 17) != 17)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941101-1.c b/gcc/testsuite/gcc.c-torture/execute/941101-1.c
deleted file mode 100644
index 66b5f384a80..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941101-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-f ()
-{
- int var = 7;
-
- if ((var/7) == 1)
- return var/7;
- return 0;
-}
-
-main ()
-{
- if (f () != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941110-1.c b/gcc/testsuite/gcc.c-torture/execute/941110-1.c
deleted file mode 100644
index b78256d3c3f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941110-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-f (const int x)
-{
- int y = 0;
- y = x ? y : -y;
- {
- const int *p = &x;
- }
- return y;
-}
-
-main ()
-{
- if (f (0))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/941202-1.c b/gcc/testsuite/gcc.c-torture/execute/941202-1.c
deleted file mode 100644
index 72d0b33e924..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/941202-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-g (x, y)
-{
- if (x != 3)
- abort ();
-}
-
-static inline
-f (int i)
-{
- int *tmp;
-
- tmp = (int *) alloca (sizeof (i));
- *tmp = i;
- g (*tmp, 0);
-}
-
-main ()
-{
- f (3);
- exit (0);
-};
diff --git a/gcc/testsuite/gcc.c-torture/execute/950221-1.c b/gcc/testsuite/gcc.c-torture/execute/950221-1.c
deleted file mode 100644
index d67da5b0c8c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950221-1.c
+++ /dev/null
@@ -1,55 +0,0 @@
-struct parsefile
-{
- long fd;
- char *buf;
-};
-struct parsefile basepf;
-struct parsefile *parsefile = &basepf;
-#ifdef STACK_SIZE
-int filler[STACK_SIZE / (2*sizeof(int))];
-#else
-int filler[0x3000];
-#endif
-int el;
-
-char *
-g1 (a, b)
- int a;
- int *b;
-{
-}
-
-g2 (a)
- long a;
-{
- if (a != 0xdeadbeefL)
- abort ();
- exit (0);
-}
-
-f ()
-{
- register char *p, *q;
- register int i;
- register int something;
-
- if (parsefile->fd == 0L && el)
- {
- const char *rl_cp;
- int len;
- rl_cp = g1 (el, &len);
- strcpy (p, rl_cp);
- }
- else
- {
- alabel:
- i = g2 (parsefile->fd);
- }
-}
-
-main ()
-{
- el = 0;
- parsefile->fd = 0xdeadbeefL;
- f ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950322-1.c b/gcc/testsuite/gcc.c-torture/execute/950322-1.c
deleted file mode 100644
index 28a1469fea0..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950322-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-f (unsigned char *a)
-{
- int i, j;
- int x, y;
-
- j = a[1];
- i = a[0] - j;
- if (i < 0)
- {
- x = 1;
- y = -i;
- }
- else
- {
- x = 0;
- y = i;
- }
- return x + y;
-}
-
-
-main ()
-{
- unsigned char a[2];
- a[0] = 8;
- a[1] = 9;
- if (f (a) != 2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950426-1.c b/gcc/testsuite/gcc.c-torture/execute/950426-1.c
deleted file mode 100644
index 076032c7220..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950426-1.c
+++ /dev/null
@@ -1,32 +0,0 @@
-
-struct tag {
- int m1;
- char *m2[5];
-} s1, *p1;
-
-int i;
-
-main()
-{
- s1.m1 = -1;
- p1 = &s1;
-
- if ( func1( &p1->m1 ) == -1 )
- foo ("ok");
- else
- abort ();
-
- i = 3;
- s1.m2[3]= "123";
-
- if ( strlen( (p1->m2[i])++ ) == 3 )
- foo ("ok");
- else
- abort ();
-
- exit (0);
-}
-
-func1(int *p) { return(*p); }
-
-foo (char *s) {}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950426-2.c b/gcc/testsuite/gcc.c-torture/execute/950426-2.c
deleted file mode 100644
index a1a690469d1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950426-2.c
+++ /dev/null
@@ -1,13 +0,0 @@
-main()
-{
- long int i = -2147483647L - 1L; /* 0x80000000 */
- char ca = 1;
-
- if (i >> ca != -1073741824L)
- abort ();
-
- if (i >> i / -2000000000L != -1073741824L)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950503-1.c b/gcc/testsuite/gcc.c-torture/execute/950503-1.c
deleted file mode 100644
index 1c95b369c50..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950503-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-main ()
-{
- int tmp;
- unsigned long long utmp1, utmp2;
-
- tmp = 16;
-
- utmp1 = (~((unsigned long long) 0)) >> tmp;
- utmp2 = (~((unsigned long long) 0)) >> 16;
-
- if (utmp1 != utmp2)
- abort ();
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/950511-1.c b/gcc/testsuite/gcc.c-torture/execute/950511-1.c
deleted file mode 100644
index 6584b0c86b6..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950511-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-main ()
-{
- unsigned long long xx;
- unsigned long long *x = (unsigned long long *) &xx;
-
- *x = -3;
- *x = *x * *x;
- if (*x != 9)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950512-1.c b/gcc/testsuite/gcc.c-torture/execute/950512-1.c
deleted file mode 100644
index 8aa116d27ca..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950512-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-unsigned
-f1 (x)
-{
- return ((unsigned) (x != 0) - 3) / 2;
-}
-
-unsigned long long
-f2 (x)
-{
- return ((unsigned long long) (x != 0) - 3) / 2;
-}
-
-main ()
-{
- if (f1 (1) != (~(unsigned) 0) >> 1)
- abort ();
- if (f1 (0) != ((~(unsigned) 0) >> 1) - 1)
- abort ();
- if (f2 (1) != (~(unsigned long long) 0) >> 1)
- abort ();
- if (f2 (0) != ((~(unsigned long long) 0) >> 1) - 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950605-1.c b/gcc/testsuite/gcc.c-torture/execute/950605-1.c
deleted file mode 100644
index d89a42e49c6..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950605-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-f (c)
- unsigned char c;
-{
- if (c != 0xFF)
- abort ();
-}
-
-main ()
-{
- f (-1);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950607-1.c b/gcc/testsuite/gcc.c-torture/execute/950607-1.c
deleted file mode 100644
index 7b1503ad11d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950607-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-main ()
-{
- struct { long status; } h;
-
- h.status = 0;
- if (((h.status & 128) == 1) && ((h.status & 32) == 0))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950607-2.c b/gcc/testsuite/gcc.c-torture/execute/950607-2.c
deleted file mode 100644
index da18f7373f4..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950607-2.c
+++ /dev/null
@@ -1,41 +0,0 @@
-typedef struct {
- long int p_x, p_y;
-} Point;
-
-int
-f (Point basePt, Point pt1, Point pt2)
-{
- long long vector;
-
- vector =
- (long long) (pt1.p_x - basePt.p_x) * (long long) (pt2.p_y - basePt.p_y) -
- (long long) (pt1.p_y - basePt.p_y) * (long long) (pt2.p_x - basePt.p_x);
-
- if (vector > (long long) 0)
- return 0;
- else if (vector < (long long) 0)
- return 1;
- else
- return 2;
-}
-
-main ()
-{
- Point b, p1, p2;
- int answer;
-
- b.p_x = -23250;
- b.p_y = 23250;
-
- p1.p_x = 23250;
- p1.p_y = -23250;
-
- p2.p_x = -23250;
- p2.p_y = -23250;
-
- answer = f (b, p1, p2);
-
- if (answer != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950612-1.c b/gcc/testsuite/gcc.c-torture/execute/950612-1.c
deleted file mode 100644
index f9885279c33..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950612-1.c
+++ /dev/null
@@ -1,48 +0,0 @@
-unsigned int
-f1 (int diff)
-{
- return ((unsigned int) (diff < 0 ? -diff : diff));
-}
-
-unsigned int
-f2 (unsigned int diff)
-{
- return ((unsigned int) ((signed int) diff < 0 ? -diff : diff));
-}
-
-unsigned long long
-f3 (long long diff)
-{
- return ((unsigned long long) (diff < 0 ? -diff : diff));
-}
-
-unsigned long long
-f4 (unsigned long long diff)
-{
- return ((unsigned long long) ((signed long long) diff < 0 ? -diff : diff));
-}
-
-main ()
-{
- int i;
- for (i = 0; i <= 10; i++)
- {
- if (f1 (i) != i)
- abort ();
- if (f1 (-i) != i)
- abort ();
- if (f2 (i) != i)
- abort ();
- if (f2 (-i) != i)
- abort ();
- if (f3 ((long long) i) != i)
- abort ();
- if (f3 ((long long) -i) != i)
- abort ();
- if (f4 ((long long) i) != i)
- abort ();
- if (f4 ((long long) -i) != i)
- abort ();
- }
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950621-1.c b/gcc/testsuite/gcc.c-torture/execute/950621-1.c
deleted file mode 100644
index 5fc5a902874..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950621-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-struct s
-{
- int a;
- int b;
- struct s *dummy;
-};
-
-f (struct s *sp)
-{
- return sp && sp->a == -1 && sp->b == -1;
-}
-
-main ()
-{
- struct s x;
- x.a = x.b = -1;
- if (f (&x) == 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950628-1.c b/gcc/testsuite/gcc.c-torture/execute/950628-1.c
deleted file mode 100644
index e330ff56971..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950628-1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-typedef struct
-{
- char hours, day, month;
- short year;
-} T;
-
-T g (void)
-{
- T now;
-
- now.hours = 1;
- now.day = 2;
- now.month = 3;
- now.year = 4;
- return now;
-}
-
-T f (void)
-{
- T virk;
-
- virk = g ();
- return virk;
-}
-
-main ()
-{
- if (f ().hours != 1 || f ().day != 2 || f ().month != 3 || f ().year != 4)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950704-1.c b/gcc/testsuite/gcc.c-torture/execute/950704-1.c
deleted file mode 100644
index f11aff8cabc..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950704-1.c
+++ /dev/null
@@ -1,59 +0,0 @@
-int errflag;
-
-long long
-f (long long x, long long y)
-{
- long long r;
-
- errflag = 0;
- r = x + y;
- if (x >= 0)
- {
- if ((y < 0) || (r >= 0))
- return r;
- }
- else
- {
- if ((y > 0) || (r < 0))
- return r;
- }
- errflag = 1;
- return 0;
-}
-
-main ()
-{
- f (0, 0);
- if (errflag)
- abort ();
-
- f (1, -1);
- if (errflag)
- abort ();
-
- f (-1, 1);
- if (errflag)
- abort ();
-
- f (0x8000000000000000LL, 0x8000000000000000LL);
- if (!errflag)
- abort ();
-
- f (0x8000000000000000LL, -1LL);
- if (!errflag)
- abort ();
-
- f (0x7fffffffffffffffLL, 0x7fffffffffffffffLL);
- if (!errflag)
- abort ();
-
- f (0x7fffffffffffffffLL, 1LL);
- if (!errflag)
- abort ();
-
- f (0x7fffffffffffffffLL, 0x8000000000000000LL);
- if (errflag)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950706-1.c b/gcc/testsuite/gcc.c-torture/execute/950706-1.c
deleted file mode 100644
index 2db1915411c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950706-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-int
-f (int n)
-{
- return (n > 0) - (n < 0);
-}
-
-main ()
-{
- if (f (-1) != -1)
- abort ();
- if (f (1) != 1)
- abort ();
- if (f (0) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950710-1.c b/gcc/testsuite/gcc.c-torture/execute/950710-1.c
deleted file mode 100644
index 26ff9b2a8a0..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950710-1.c
+++ /dev/null
@@ -1,54 +0,0 @@
-struct twelve
-{
- int a;
- int b;
- int c;
-};
-
-struct pair
-{
- int first;
- int second;
-};
-
-struct pair
-g ()
-{
- struct pair p;
- return p;
-}
-
-static void
-f ()
-{
- int i;
- for (i = 0; i < 1; i++)
- {
- int j;
- for (j = 0; j < 1; j++)
- {
- if (0)
- {
- int k;
- for (k = 0; k < 1; k++)
- {
- struct pair e = g ();
- }
- }
- else
- {
- struct twelve a, b;
- if ((((char *) &b - (char *) &a) < 0
- ? (-((char *) &b - (char *) &a))
- : ((char *) &b - (char *) &a)) < sizeof (a))
- abort ();
- }
- }
- }
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950714-1.c b/gcc/testsuite/gcc.c-torture/execute/950714-1.c
deleted file mode 100644
index 5dc44a906e2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950714-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-int array[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
-
-main ()
-{
- int i, j;
- int *p;
-
- for (i = 0; i < 10; i++)
- for (p = &array[0]; p != &array[9]; p++)
- if (*p == i)
- goto label;
-
- label:
- if (i != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950809-1.c b/gcc/testsuite/gcc.c-torture/execute/950809-1.c
deleted file mode 100644
index a33d42bd7cd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950809-1.c
+++ /dev/null
@@ -1,33 +0,0 @@
-struct S
-{
- int *sp, fc, *sc, a[2];
-};
-
-f (struct S *x)
-{
- int *t = x->sc;
- int t1 = t[0];
- int t2 = t[1];
- int t3 = t[2];
- int a0 = x->a[0];
- int a1 = x->a[1];
- t[2] = t1;
- t[0] = a1;
- x->a[1] = a0;
- x->a[0] = t3;
- x->fc = t2;
- x->sp = t;
-}
-
-main ()
-{
- struct S s;
- static int sc[3] = {2, 3, 4};
- s.sc = sc;
- s.a[0] = 10;
- s.a[1] = 11;
- f (&s);
- if (s.sp[2] != 2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950906-1.c b/gcc/testsuite/gcc.c-torture/execute/950906-1.c
deleted file mode 100644
index 31997d5c257..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950906-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-g (int i)
-{
-}
-
-f (int i)
-{
- g (0);
- while ( ({ i--; }) )
- g (0);
-}
-
-main ()
-{
- f (10);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950915-1.c b/gcc/testsuite/gcc.c-torture/execute/950915-1.c
deleted file mode 100644
index cfa044757b8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950915-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-long int a = 100000;
-long int b = 21475;
-
-long
-f ()
-{
- return ((long long) a * (long long) b) >> 16;
-}
-
-main ()
-{
- if (f () < 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/950929-1.c b/gcc/testsuite/gcc.c-torture/execute/950929-1.c
deleted file mode 100644
index a35cd6a153e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/950929-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-int f (char *p) { }
-
-main ()
-{
- char c;
- char c2;
- int i = 0;
- char *pc = &c;
- char *pc2 = &c2;
- int *pi = &i;
-
- *pc2 = 1;
- *pi = 1;
- *pc2 &= *pi;
- f (pc2);
- *pc2 = 1;
- *pc2 &= *pi;
- if (*pc2 != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/951003-1.c b/gcc/testsuite/gcc.c-torture/execute/951003-1.c
deleted file mode 100644
index 269bf135386..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/951003-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-int f (i) { return 12; }
-int g () { return 0; }
-
-main ()
-{
- int i, s;
-
- for (i = 0; i < 32; i++)
- {
- s = f (i);
-
- if (i == g ())
- s = 42;
- if (i == 0 || s == 12)
- ;
- else
- abort ();
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/951115-1.c b/gcc/testsuite/gcc.c-torture/execute/951115-1.c
deleted file mode 100644
index 03520c99ca2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/951115-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-int var = 0;
-
-g ()
-{
- var = 1;
-}
-
-f ()
-{
- int f2 = 0;
-
- if (f2 == 0)
- ;
-
- g ();
-}
-
-main ()
-{
- f ();
- if (var != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/951204-1.c b/gcc/testsuite/gcc.c-torture/execute/951204-1.c
deleted file mode 100644
index c4d585b6b9e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/951204-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-f (char *x)
-{
- *x = 'x';
-}
-
-main ()
-{
- int i;
- char x = '\0';
-
- for (i = 0; i < 100; ++i)
- {
- f (&x);
- if (*(const char *) &x != 'x')
- abort ();
- }
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960116-1.c b/gcc/testsuite/gcc.c-torture/execute/960116-1.c
deleted file mode 100644
index 6d7624ca1a1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960116-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-static inline
-p (int *p)
-{
- return !((long) p & 1);
-}
-
-int
-f (int *q)
-{
- if (p (q) && *q)
- return 1;
- return 0;
-}
-
-main ()
-{
- if (f ((int*) 0xffffffff) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960117-1.c b/gcc/testsuite/gcc.c-torture/execute/960117-1.c
deleted file mode 100644
index 741455b08b9..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960117-1.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static char id_space[2] [32 +1];
-typedef short COUNT;
-
-typedef char TEXT;
-
-union T_VALS
-{
- TEXT *id __attribute__ ((aligned (2), packed)) ;
-};
-typedef union T_VALS VALS;
-
-struct T_VAL
-{
- COUNT pos __attribute__ ((aligned (2), packed)) ;
- VALS vals __attribute__ ((aligned (2), packed)) ;
-};
-typedef struct T_VAL VAL;
-
-VAL curval = {0};
-
-static short idc = 0;
-static int cur_line;
-static int char_pos;
-
-typedef unsigned short WORD;
-
-WORD
-get_id (char c)
-{
- curval.vals.id[0] = c;
-}
-
-WORD
-get_tok ()
-{
- char c = 'c';
- curval.vals.id = id_space[idc];
- curval.pos = (cur_line << 10) | char_pos;
- return get_id (c);
-}
-
-main ()
-{
- get_tok ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960209-1.c b/gcc/testsuite/gcc.c-torture/execute/960209-1.c
deleted file mode 100644
index decd2af2aab..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960209-1.c
+++ /dev/null
@@ -1,43 +0,0 @@
-struct a_struct
-{
- unsigned char a_character;
-};
-
-struct a_struct an_array[5];
-struct a_struct *a_ptr;
-int yabba = 1;
-
-int
-f (a, b)
- unsigned char a;
- unsigned long b;
-{
- long i, j, p, q, r, s;
-
- if (b != (unsigned long) 0)
- {
- if (yabba)
- return -1;
- s = 4000000 / b;
- for (i = 0; i < 11; i++)
- {
- for (j = 0; j < 256; j++)
- {
- if (((p - s < 0) ? -s : 0) < (( q - s < 0) ? -s : q))
- r = i;
- }
- }
- }
-
- if (yabba)
- return 0;
- a_ptr = &an_array[a];
- a_ptr->a_character = (unsigned char) r;
-}
-
-main ()
-{
- if (f (1, 0UL) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960215-1.c b/gcc/testsuite/gcc.c-torture/execute/960215-1.c
deleted file mode 100644
index 9502b4b2de4..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960215-1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-long double C = 2;
-long double U = 1;
-long double Y2 = 3;
-long double Y1 = 1;
-long double X, Y, Z, T, R, S;
-main ()
-{
- X = (C + U) * Y2;
- Y = C - U - U;
- Z = C + U + U;
- T = (C - U) * Y1;
- X = X - (Z + U);
- R = Y * Y1;
- S = Z * Y2;
- T = T - Y;
- Y = (U - Y) + R;
- Z = S - (Z + U + U);
- R = (Y2 + U) * Y1;
- Y1 = Y2 * Y1;
- R = R - Y2;
- Y1 = Y1 - 0.5L;
- if (Z != 6)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960218-1.c b/gcc/testsuite/gcc.c-torture/execute/960218-1.c
deleted file mode 100644
index 7301a17b00d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960218-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-int glob;
-
-g (x)
-{
- glob = x;
- return 0;
-}
-
-f (x)
-{
- int a = ~x;
- while (a)
- a = g (a);
-}
-
-main ()
-{
- f (3);
- if (glob != -4)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960219-1.c b/gcc/testsuite/gcc.c-torture/execute/960219-1.c
deleted file mode 100644
index d21bcfcad24..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960219-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f (int i)
-{
- if (((1 << i) & 1) == 0)
- abort ();
-}
-
-main ()
-{
- f (0);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960301-1.c b/gcc/testsuite/gcc.c-torture/execute/960301-1.c
deleted file mode 100644
index d75efea9844..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960301-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-struct foo {
- unsigned : 12;
- unsigned field : 4;
-} foo;
-unsigned oldfoo;
-
-int
-bar (unsigned k)
-{
- oldfoo = foo.field;
- foo.field = k;
- if (k)
- return 1;
- return 2;
-}
-
-main ()
-{
- if (bar (1U) != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960302-1.c b/gcc/testsuite/gcc.c-torture/execute/960302-1.c
deleted file mode 100644
index 7a9426a4635..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960302-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-long a = 1;
-
-foo ()
-{
- switch (a % 2 % 2 % 2 % 2 % 2 % 2 % 2 % 2)
- {
- case 0:
- return 0;
- case 1:
- return 1;
- default:
- return -1;
- }
-}
-
-main ()
-{
- if (foo () != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960311-1.c b/gcc/testsuite/gcc.c-torture/execute/960311-1.c
deleted file mode 100644
index 16579d0bbd1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960311-1.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include <stdio.h>
-
-#ifdef DEBUG
-#define abort() printf ("error, line %d\n", __LINE__)
-#endif
-
-int count;
-
-void a1() { ++count; }
-
-void
-b (unsigned char data)
-{
- if (data & 0x80) a1();
- data <<= 1;
-
- if (data & 0x80) a1();
- data <<= 1;
-
- if (data & 0x80) a1();
-}
-
-main ()
-{
- count = 0;
- b (0);
- if (count != 0)
- abort ();
-
- count = 0;
- b (0x80);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0x40);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0x20);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0xc0);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0xa0);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0x60);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0xe0);
- if (count != 3)
- abort ();
-
-#ifdef DEBUG
- printf ("Done.\n");
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960311-2.c b/gcc/testsuite/gcc.c-torture/execute/960311-2.c
deleted file mode 100644
index d5c2d07a336..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960311-2.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include <stdio.h>
-
-#ifdef DEBUG
-#define abort() printf ("error, line %d\n", __LINE__)
-#endif
-
-int count;
-
-void a1() { ++count; }
-
-void
-b (unsigned short data)
-{
- if (data & 0x8000) a1();
- data <<= 1;
-
- if (data & 0x8000) a1();
- data <<= 1;
-
- if (data & 0x8000) a1();
-}
-
-main ()
-{
- count = 0;
- b (0);
- if (count != 0)
- abort ();
-
- count = 0;
- b (0x8000);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0x4000);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0x2000);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0xc000);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0xa000);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0x6000);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0xe000);
- if (count != 3)
- abort ();
-
-#ifdef DEBUG
- printf ("Done.\n");
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960311-3.c b/gcc/testsuite/gcc.c-torture/execute/960311-3.c
deleted file mode 100644
index 755fc723f85..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960311-3.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include <stdio.h>
-
-#ifdef DEBUG
-#define abort() printf ("error, line %d\n", __LINE__)
-#endif
-
-int count;
-
-void a1() { ++count; }
-
-void
-b (unsigned long data)
-{
- if (data & 0x80000000) a1();
- data <<= 1;
-
- if (data & 0x80000000) a1();
- data <<= 1;
-
- if (data & 0x80000000) a1();
-}
-
-main ()
-{
- count = 0;
- b (0);
- if (count != 0)
- abort ();
-
- count = 0;
- b (0x80000000);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0x40000000);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0x20000000);
- if (count != 1)
- abort ();
-
- count = 0;
- b (0xc0000000);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0xa0000000);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0x60000000);
- if (count != 2)
- abort ();
-
- count = 0;
- b (0xe0000000);
- if (count != 3)
- abort ();
-
-#ifdef DEBUG
- printf ("Done.\n");
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960312-1.c b/gcc/testsuite/gcc.c-torture/execute/960312-1.c
deleted file mode 100644
index 94e67df23bd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960312-1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-struct S
-{
- int *sp, fc, *sc, a[2];
-};
-
-f (struct S *x)
-{
- int *t = x->sc;
- int t1 = t[0];
- int t2 = t[1];
- int t3 = t[2];
- int a0 = x->a[0];
- int a1 = x->a[1];
- asm("": :"r" (t2), "r" (t3));
- t[2] = t1;
- t[0] = a1;
- x->a[1] = a0;
- x->a[0] = t3;
- x->fc = t2;
- x->sp = t;
-}
-
-main ()
-{
- struct S s;
- static int sc[3] = {2, 3, 4};
- s.sc = sc;
- s.a[0] = 10;
- s.a[1] = 11;
- f (&s);
- if (s.sp[2] != 2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960317-1.c b/gcc/testsuite/gcc.c-torture/execute/960317-1.c
deleted file mode 100644
index 8d7907d751c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960317-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-int
-f (unsigned bitcount, int mant)
-{
- int mask = -1 << bitcount;
- {
- if (! (mant & -mask))
- goto ab;
- if (mant & ~mask)
- goto auf;
- }
-ab:
- return 0;
-auf:
- return 1;
-}
-
-main ()
-{
- if (f (0, -1))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960321-1.c b/gcc/testsuite/gcc.c-torture/execute/960321-1.c
deleted file mode 100644
index eafe48ff753..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960321-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-char a[10] = "deadbeef";
-
-char
-acc_a (long i)
-{
- return a[i-2000000000L];
-}
-
-main ()
-{
- if (acc_a (2000000000L) != 'd')
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960326-1.c b/gcc/testsuite/gcc.c-torture/execute/960326-1.c
deleted file mode 100644
index f2013737022..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960326-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-struct s
-{
- int a;
- int b;
- short c;
- int d[3];
-};
-
-struct s s = { .b = 3, .d = {2,0,0} };
-
-main ()
-{
- if (s.b != 3)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960327-1.c b/gcc/testsuite/gcc.c-torture/execute/960327-1.c
deleted file mode 100644
index d630a7b572c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960327-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stdio.h>
-g ()
-{
- return '\n';
-}
-
-f ()
-{
- char s[] = "abcedfg01234";
- char *sp = s + 12;
-
- switch (g ())
- {
- case '\n':
- break;
- }
-
- while (*--sp == '0')
- ;
- sprintf (sp + 1, "X");
-
- if (s[12] != 'X')
- abort ();
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960402-1.c b/gcc/testsuite/gcc.c-torture/execute/960402-1.c
deleted file mode 100644
index 601a9a3b091..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960402-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f (signed long long int x)
-{
- return x > 0xFFFFFFFFLL || x < -0x80000000LL;
-}
-
-main ()
-{
- if (f (0) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960405-1.c b/gcc/testsuite/gcc.c-torture/execute/960405-1.c
deleted file mode 100644
index d8480cc2c05..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960405-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#define X 5.9486574767861588254287966331400356538172e4931L
-
-long double x = X + X;
-long double y = 2.0L * X;
-
-main ()
-{
-#if ! defined (__vax__) && ! defined (_CRAY)
- if (x != y)
- abort ();
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960416-1.c b/gcc/testsuite/gcc.c-torture/execute/960416-1.c
deleted file mode 100644
index f7cb056802c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960416-1.c
+++ /dev/null
@@ -1,63 +0,0 @@
-typedef unsigned long int st;
-typedef unsigned long long dt;
-typedef union
-{
- dt d;
- struct
- {
- st h, l;
- }
- s;
-} t_be;
-
-typedef union
-{
- dt d;
- struct
- {
- st l, h;
- }
- s;
-} t_le;
-
-#define df(f, t) \
-int \
-f (t afh, t bfh) \
-{ \
- t hh; \
- t hp, lp, dp, m; \
- st ad, bd; \
- int s; \
- s = 0; \
- ad = afh.s.h - afh.s.l; \
- bd = bfh.s.l - bfh.s.h; \
- if (bd > bfh.s.l) \
- { \
- bd = -bd; \
- s = ~s; \
- } \
- lp.d = (dt) afh.s.l * bfh.s.l; \
- hp.d = (dt) afh.s.h * bfh.s.h; \
- dp.d = (dt) ad *bd; \
- dp.d ^= s; \
- hh.d = hp.d + hp.s.h + lp.s.h + dp.s.h; \
- m.d = (dt) lp.s.h + hp.s.l + lp.s.l + dp.s.l; \
- return hh.s.l + m.s.l; \
-}
-
-df(f_le, t_le)
-df(f_be, t_be)
-
-main ()
-{
- t_be x;
- x.s.h = 0x10000000U;
- x.s.l = 0xe0000000U;
- if (x.d == 0x10000000e0000000ULL
- && f_be ((t_be) 0x100000000ULL, (t_be) 0x100000000ULL) != -1)
- abort ();
- if (x.d == 0xe000000010000000ULL
- && f_le ((t_le) 0x100000000ULL, (t_le) 0x100000000ULL) != -1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960419-1.c b/gcc/testsuite/gcc.c-torture/execute/960419-1.c
deleted file mode 100644
index 68bd2b97dd1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960419-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static int i;
-
-void
-check(x)
- int x;
-{
- if (!x)
- abort();
-}
-
-main()
-{
- int *p = &i;
-
- check(p != (void *)0);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960419-2.c b/gcc/testsuite/gcc.c-torture/execute/960419-2.c
deleted file mode 100644
index c9526dcd779..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960419-2.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#define SIZE 8
-
-main()
-{
- int a[SIZE] = {1};
- int i;
-
- for (i = 1; i < SIZE; i++)
- if (a[i] != 0)
- abort();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960512-1.c b/gcc/testsuite/gcc.c-torture/execute/960512-1.c
deleted file mode 100644
index a7c1d5fb47c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960512-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-__complex__
-double f ()
-{
- int a[40];
- __complex__ double c;
-
- a[9] = 0;
- c = a[9];
- return c;
-}
-
-main ()
-{
- __complex__ double c;
-
- if (c = f ())
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960513-1.c b/gcc/testsuite/gcc.c-torture/execute/960513-1.c
deleted file mode 100644
index acc263ca6c8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960513-1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-long double
-f (d, i)
- long double d;
- int i;
-{
- long double e;
-
- d = -d;
- e = d;
- if (i == 1)
- d *= 2;
- d -= e * d;
- d -= e * d;
- d -= e * d;
- d -= e * d;
- d -= e * d;
- return d;
-}
-
-main ()
-{
- if (! (int) (f (2.0L, 1)))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960521-1.c b/gcc/testsuite/gcc.c-torture/execute/960521-1.c
deleted file mode 100644
index 9fc5821495a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960521-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stdlib.h>
-
-int *a, *b;
-int n;
-
-#ifdef STACK_SIZE
-#define BLOCK_SIZE (STACK_SIZE / (sizeof (*a) + sizeof (*b)))
-#else
-#define BLOCK_SIZE 32768
-#endif
-foo ()
-{
- int i;
- for (i = 0; i < n; i++)
- a[i] = -1;
- for (i = 0; i < BLOCK_SIZE - 1; i++)
- b[i] = -1;
-}
-
-main ()
-{
- n = BLOCK_SIZE;
- a = malloc (n * sizeof(*a));
- b = malloc (n * sizeof(*b));
- *b++ = 0;
- foo ();
- if (b[-1])
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960608-1.c b/gcc/testsuite/gcc.c-torture/execute/960608-1.c
deleted file mode 100644
index 1f47d02d9d5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960608-1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-typedef struct
-{
- unsigned char a : 2;
- unsigned char b : 3;
- unsigned char c : 1;
- unsigned char d : 1;
- unsigned char e : 1;
-} a_struct;
-
-foo (flags)
- a_struct *flags;
-{
- return (flags->c != 0
- || flags->d != 1
- || flags->e != 1
- || flags->a != 2
- || flags->b != 3);
-}
-
-main ()
-{
- a_struct flags;
-
- flags.c = 0;
- flags.d = 1;
- flags.e = 1;
- flags.a = 2;
- flags.b = 3;
-
- if (foo (&flags) != 0)
- abort ();
- else
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960801-1.c b/gcc/testsuite/gcc.c-torture/execute/960801-1.c
deleted file mode 100644
index 1707269189a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960801-1.c
+++ /dev/null
@@ -1,32 +0,0 @@
-unsigned
-f ()
-{
- long long l2;
- unsigned short us;
- unsigned long long ul;
- short s2;
-
- ul = us = l2 = s2 = -1;
- return ul;
-}
-
-unsigned long long
-g ()
-{
- long long l2;
- unsigned short us;
- unsigned long long ul;
- short s2;
-
- ul = us = l2 = s2 = -1;
- return ul;
-}
-
-main ()
-{
- if (f () != (unsigned short) -1)
- abort ();
- if (g () != (unsigned short) -1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960802-1.c b/gcc/testsuite/gcc.c-torture/execute/960802-1.c
deleted file mode 100644
index f9ee75260be..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960802-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-long val = 0x5e000000;
-
-long
-f1 (void)
-{
- return 0x132;
-}
-
-long
-f2 (void)
-{
- return 0x5e000000;
-}
-
-void
-f3 (long b)
-{
- val = b;
-}
-
-void
-f4 ()
-{
- long v = f1 ();
- long o = f2 ();
- v = (v & 0x00ffffff) | (o & 0xff000000);
- f3 (v);
-}
-
-main ()
-{
- f4 ();
- if (val != 0x5e000132)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960830-1.c b/gcc/testsuite/gcc.c-torture/execute/960830-1.c
deleted file mode 100644
index d87b39e2da3..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960830-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifdef __i386__
-f (rp)
- unsigned int *rp;
-{
- __asm__ ("mull %3" : "=a" (rp[0]), "=d" (rp[1]) : "%0" (7), "rm" (7));
-}
-
-main ()
-{
- unsigned int s[2];
-
- f (s);
- if (s[1] != 0 || s[0] != 49)
- abort ();
- exit (0);
-}
-#else
-main ()
-{
- exit (0);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/960909-1.c b/gcc/testsuite/gcc.c-torture/execute/960909-1.c
deleted file mode 100644
index de1ed933978..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/960909-1.c
+++ /dev/null
@@ -1,29 +0,0 @@
-int
-ffs (x)
- int x;
-{
- int bit, mask;
-
- if (x == 0)
- return 0;
-
- for (bit = 1, mask = 1; !(x & mask); bit++, mask <<= 1)
- ;
-
- return bit;
-}
-
-f (x)
- int x;
-{
- int y;
- y = ffs (x) - 1;
- if (y < 0)
- abort ();
-}
-
-main ()
-{
- f (1);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961004-1.c b/gcc/testsuite/gcc.c-torture/execute/961004-1.c
deleted file mode 100644
index 7ebba2d7b1e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961004-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-int k = 0;
-
-main()
-{
- int i;
- int j;
-
- for (i = 0; i < 2; i++)
- {
- if (k)
- {
- if (j != 2)
- abort ();
- }
- else
- {
- j = 2;
- k++;
- }
- }
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961017-1.c b/gcc/testsuite/gcc.c-torture/execute/961017-1.c
deleted file mode 100644
index 88c9d9505a1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961017-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-main ()
-{
- unsigned char z = 0;
-
- do ;
- while (--z > 0);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961017-2.c b/gcc/testsuite/gcc.c-torture/execute/961017-2.c
deleted file mode 100644
index 768ddbc6e74..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961017-2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-main ()
-{
- int i = 0;
-
-
- if (sizeof (unsigned long int) == 4)
- {
- unsigned long int z = 0;
-
- do {
- z -= 0x00004000;
- i++;
- if (i > 0x00040000)
- abort ();
- } while (z > 0);
- exit (0);
- }
- else if (sizeof (unsigned int) == 4)
- {
- unsigned int z = 0;
-
- do {
- z -= 0x00004000;
- i++;
- if (i > 0x00040000)
- abort ();
- } while (z > 0);
- exit (0);
- }
- else
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961026-1.c b/gcc/testsuite/gcc.c-torture/execute/961026-1.c
deleted file mode 100644
index 942a6eb131a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961026-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-int
-test (arg)
- int arg;
-{
- if (arg > 0 || arg == 0)
- return 0;
- return -1;
-}
-
-main ()
-{
- if (test (0) != 0)
- abort ();
- if (test (-1) != -1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961112-1.c b/gcc/testsuite/gcc.c-torture/execute/961112-1.c
deleted file mode 100644
index 4b1c31222ca..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961112-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-f (x)
-{
- if (x != 0 || x == 0)
- return 0;
- return 1;
-}
-
-main ()
-{
- if (f (3))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961122-1.c b/gcc/testsuite/gcc.c-torture/execute/961122-1.c
deleted file mode 100644
index 1f0a63463e1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961122-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-long long acc;
-
-addhi (short a)
-{
- acc += (long long) a << 32;
-}
-
-subhi (short a)
-{
- acc -= (long long) a << 32;
-}
-
-main ()
-{
- acc = 0xffff00000000ll;
- addhi (1);
- if (acc != 0x1000000000000ll)
- abort ();
- subhi (1);
- if (acc != 0xffff00000000ll)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961122-2.c b/gcc/testsuite/gcc.c-torture/execute/961122-2.c
deleted file mode 100644
index 81e404ec4f1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961122-2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-int
-f (int a)
-{
- return ((a >= 0 && a <= 10) && ! (a >= 0));
-}
-
-main ()
-{
- if (f (0))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961125-1.c b/gcc/testsuite/gcc.c-torture/execute/961125-1.c
deleted file mode 100644
index 7fe3dd45422..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961125-1.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static char *
-begfield (int tab, char *ptr, char *lim, int sword, int schar)
-{
- if (tab)
- {
- while (ptr < lim && sword--)
- {
- while (ptr < lim && *ptr != tab)
- ++ptr;
- if (ptr < lim)
- ++ptr;
- }
- }
- else
- {
- while (1)
- ;
- }
-
- if (ptr + schar <= lim)
- ptr += schar;
-
- return ptr;
-}
-
-main ()
-{
- char *s = ":ab";
- char *lim = s + 3;
- if (begfield (':', s, lim, 1, 1) != s + 2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961206-1.c b/gcc/testsuite/gcc.c-torture/execute/961206-1.c
deleted file mode 100644
index 943ac66804d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961206-1.c
+++ /dev/null
@@ -1,52 +0,0 @@
-int
-sub1 (unsigned long long i)
-{
- if (i < 0x80000000)
- return 1;
- else
- return 0;
-}
-
-int
-sub2 (unsigned long long i)
-{
- if (i <= 0x7FFFFFFF)
- return 1;
- else
- return 0;
-}
-
-int
-sub3 (unsigned long long i)
-{
- if (i >= 0x80000000)
- return 0;
- else
- return 1;
-}
-
-int
-sub4 (unsigned long long i)
-{
- if (i > 0x7FFFFFFF)
- return 0;
- else
- return 1;
-}
-
-main()
-{
- if (sub1 (0x80000000ULL))
- abort ();
-
- if (sub2 (0x80000000ULL))
- abort ();
-
- if (sub3 (0x80000000ULL))
- abort ();
-
- if (sub4 (0x80000000ULL))
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961213-1.c b/gcc/testsuite/gcc.c-torture/execute/961213-1.c
deleted file mode 100644
index 12bb27f3145..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961213-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-int
-g (unsigned long long int *v, int n, unsigned int a[], int b)
-{
- int cnt;
- *v = 0;
- for (cnt = 0; cnt < n; ++cnt)
- *v = *v * b + a[cnt];
- return n;
-}
-
-main ()
-{
- int res;
- unsigned int ar[] = { 10, 11, 12, 13, 14 };
- unsigned long long int v;
-
- res = g (&v, sizeof(ar)/sizeof(ar[0]), ar, 16);
- if (v != 0xabcdeUL)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/961223-1.c b/gcc/testsuite/gcc.c-torture/execute/961223-1.c
deleted file mode 100644
index 9bc6cfa354d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/961223-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-struct s {
- double d;
-};
-
-inline struct s
-sub (struct s s)
-{
- s.d += 1.0;
- return s;
-}
-
-main ()
-{
- struct s t = { 2.0 };
- t = sub (t);
- if (t.d != 3.0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/970214-1.c b/gcc/testsuite/gcc.c-torture/execute/970214-1.c
deleted file mode 100644
index 4a06dfebc8d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/970214-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#define L 1
-main ()
-{
- exit (L'1' != L'1');
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/970214-2.c b/gcc/testsuite/gcc.c-torture/execute/970214-2.c
deleted file mode 100644
index cb9007625dd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/970214-2.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#define m(L) (L'1' + (L))
-main ()
-{
- exit (m (0) != L'1');
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/970217-1.c b/gcc/testsuite/gcc.c-torture/execute/970217-1.c
deleted file mode 100644
index 09e716a330b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/970217-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-sub (int i, int array[i++])
-{
- return i;
-}
-
-main()
-{
- int array[10];
- exit (sub (10, array) != 11);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/970312-1.c b/gcc/testsuite/gcc.c-torture/execute/970312-1.c
deleted file mode 100644
index 6b78ee1ca60..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/970312-1.c
+++ /dev/null
@@ -1,73 +0,0 @@
-#include <stdio.h>
-
-__inline__ static int
-dummy (x)
-{
- int y;
- y = (long) (x * 4711.3);
- return y;
-}
-
-int getval (void);
-
-int
-f2 (double x)
-{
- unsigned short s;
- int a, b, c, d, e, f, g, h, i, j;
-
- a = getval ();
- b = getval ();
- c = getval ();
- d = getval ();
- e = getval ();
- f = getval ();
- g = getval ();
- h = getval ();
- i = getval ();
- j = getval ();
-
-
- s = x;
-
- return a + b + c + d + e + f + g + h + i + j + s;
-}
-
-int x = 1;
-
-int
-getval (void)
-{
- return x++;
-}
-
-char buf[10];
-
-void
-f ()
-{
- int a, b, c, d, e, f, g, h, i, j, k;
-
- a = getval ();
- b = getval ();
- c = getval ();
- d = getval ();
- e = getval ();
- f = getval ();
- g = getval ();
- h = getval ();
- i = getval ();
- j = getval ();
-
- k = f2 (17.0);
-
- sprintf (buf, "%d\n", a + b + c + d + e + f + g + h + i + j + k);
- if (a + b + c + d + e + f + g + h + i + j + k != 227)
- abort ();
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/970923-1.c b/gcc/testsuite/gcc.c-torture/execute/970923-1.c
deleted file mode 100644
index 1d78b47c724..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/970923-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-int
-ts(a)
- int a;
-{
- if (a < 1000 && a > 2000)
- return 1;
- else
- return 0;
-}
-
-int
-tu(a)
- unsigned int a;
-{
- if (a < 1000 && a > 2000)
- return 1;
- else
- return 0;
-}
-
-
-main()
-{
- if (ts (0) || tu (0))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980205.c b/gcc/testsuite/gcc.c-torture/execute/980205.c
deleted file mode 100644
index da15d3c4dd7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980205.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <stdarg.h>
-
-void fdouble (double one, ...)
-{
- double value;
- va_list ap;
-
- va_start (ap, one);
- value = va_arg (ap, double);
- va_end (ap);
-
- if (one != 1.0 || value != 2.0)
- abort ();
-}
-
-int main ()
-{
- fdouble (1.0, 2.0);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980223.c b/gcc/testsuite/gcc.c-torture/execute/980223.c
deleted file mode 100644
index eccfdfa8a39..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980223.c
+++ /dev/null
@@ -1,31 +0,0 @@
-typedef struct { long addr; long type; } object;
-
-object bar (object blah)
-{
- abort();
-}
-
-object foo (object x, object y)
-{
- object z = *(object*)(x.addr);
- if (z.type & 64)
- {
- y = *(object*)(z.addr+sizeof(object));
- z = *(object*)(z.addr);
- if (z.type & 64)
- y = bar(y);
- }
- return y;
-}
-
-int nil;
-object cons1[2] = { {(long) &nil, 0}, {(long) &nil, 0} };
-object cons2[2] = { {(long) &cons1, 64}, {(long) &nil, 0} };
-
-main()
-{
- object x = {(long) &cons2, 64};
- object y = {(long) &nil, 0};
- object three = foo(x,y);
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980424-1.c b/gcc/testsuite/gcc.c-torture/execute/980424-1.c
deleted file mode 100644
index 514e91773a5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980424-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-int i, a[99];
-
-void f (int one)
-{
- if (one != 1)
- abort ();
-}
-
-void
-g ()
-{
- f (a[i & 0x3f]);
-}
-
-int
-main ()
-{
- a[0] = 1;
- i = 0x40;
- g ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980505-1.c b/gcc/testsuite/gcc.c-torture/execute/980505-1.c
deleted file mode 100644
index 905241164dd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980505-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static int f(int) __attribute__((const));
-int main()
-{
- int f1, f2, x;
- x = 1; f1 = f(x);
- x = 2; f2 = f(x);
- if (f1 != 1 || f2 != 2)
- abort ();
- exit (0);
-}
-static int f(int x) { return x; }
diff --git a/gcc/testsuite/gcc.c-torture/execute/980505-2.c b/gcc/testsuite/gcc.c-torture/execute/980505-2.c
deleted file mode 100644
index d0d8aa8c6c0..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980505-2.c
+++ /dev/null
@@ -1,22 +0,0 @@
-typedef unsigned short Uint16;
-typedef unsigned int Uint;
-
-Uint f ()
-{
- Uint16 token;
- Uint count;
- static Uint16 values[1] = {0x9300};
-
- token = values[0];
- count = token >> 8;
-
- return count;
-}
-
-int
-main ()
-{
- if (f () != 0x93)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980506-1.c b/gcc/testsuite/gcc.c-torture/execute/980506-1.c
deleted file mode 100644
index a48b3ad4cd7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980506-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-struct decision
-{
- char enforce_mode;
- struct decision *next;
-};
-
-
-static void
-clear_modes (p)
- register struct decision *p;
-{
- goto blah;
-
-foo:
- p->enforce_mode = 0;
-blah:
- if (p)
- goto foo;
-}
-
-main()
-{
- struct decision *p = 0;
- clear_modes (p);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980506-2.c b/gcc/testsuite/gcc.c-torture/execute/980506-2.c
deleted file mode 100644
index 4dd9a2c4814..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980506-2.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void *self(void *p){ return p; }
-
-int
-f()
-{
- struct { int i; } s, *sp;
- int *ip = &s.i;
-
- s.i = 1;
- sp = self(&s);
-
- *ip = 0;
- return sp->i+1;
-}
-
-main()
-{
- if (f () != 1)
- abort ();
- else
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980506-3.c b/gcc/testsuite/gcc.c-torture/execute/980506-3.c
deleted file mode 100644
index a943e9ad62c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980506-3.c
+++ /dev/null
@@ -1,24 +0,0 @@
-unsigned char lookup_table [257];
-
-static int
-build_lookup (pattern)
- unsigned char *pattern;
-{
- int m;
-
- m = strlen (pattern) - 1;
-
- memset (lookup_table, ++m, 257);
- return m;
-}
-
-int main(argc, argv)
- int argc;
- char **argv;
-{
- if (build_lookup ("bind") != 4)
- abort ();
- else
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/980526-1.c b/gcc/testsuite/gcc.c-torture/execute/980526-1.c
deleted file mode 100644
index 57a910e4366..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980526-1.c
+++ /dev/null
@@ -1,37 +0,0 @@
-int expect_do1 = 1, expect_do2 = 2;
-
-static int doit(int x){
- __label__ lbl1;
- __label__ lbl2;
- static int jtab_init = 0;
- static void *jtab[2];
-
- if(!jtab_init) {
- jtab[0] = &&lbl1;
- jtab[1] = &&lbl2;
- jtab_init = 1;
- }
- goto *jtab[x];
-lbl1:
- return 1;
-lbl2:
- return 2;
-}
-
-static void do1(void) {
- if (doit(0) != expect_do1)
- abort ();
-}
-
-static void do2(void){
- if (doit(1) != expect_do2)
- abort ();
-}
-
-int main(void){
-#ifndef NO_LABEL_VALUES
- do1();
- do2();
-#endif
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980526-2.c b/gcc/testsuite/gcc.c-torture/execute/980526-2.c
deleted file mode 100644
index 2547147176d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980526-2.c
+++ /dev/null
@@ -1,57 +0,0 @@
-typedef unsigned int dev_t;
-typedef unsigned int kdev_t;
-
-static inline kdev_t to_kdev_t(int dev)
-{
- int major, minor;
-
- if (sizeof(kdev_t) == 16)
- return (kdev_t)dev;
- major = (dev >> 8);
- minor = (dev & 0xff);
- return ((( major ) << 22 ) | ( minor )) ;
-
-}
-
-void do_mknod(const char * filename, int mode, kdev_t dev)
-{
- if (dev==0x15800078)
- exit(0);
- else
- abort();
-}
-
-
-char * getname(const char * filename)
-{
- register unsigned int a1,a2,a3,a4,a5,a6,a7,a8,a9;
- a1 = (unsigned int)(filename) *5 + 1;
- a2 = (unsigned int)(filename) *6 + 2;
- a3 = (unsigned int)(filename) *7 + 3;
- a4 = (unsigned int)(filename) *8 + 4;
- a5 = (unsigned int)(filename) *9 + 5;
- a6 = (unsigned int)(filename) *10 + 5;
- a7 = (unsigned int)(filename) *11 + 5;
- a8 = (unsigned int)(filename) *12 + 5;
- a9 = (unsigned int)(filename) *13 + 5;
- return (char *)(a1*a2+a3*a4+a5*a6+a7*a8+a9);
-}
-
-int sys_mknod(const char * filename, int mode, dev_t dev)
-{
- int error;
- char * tmp;
-
- tmp = getname(filename);
- error = ((long)( tmp )) ;
- do_mknod(tmp,mode,to_kdev_t(dev));
- return error;
-}
-
-int main(void)
-{
- if (sizeof (int) < 4)
- exit (0);
-
- return sys_mknod("test",1,0x12345678);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980526-3.c b/gcc/testsuite/gcc.c-torture/execute/980526-3.c
deleted file mode 100644
index a564174e283..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980526-3.c
+++ /dev/null
@@ -1,20 +0,0 @@
-int compare(x, y)
-unsigned int x;
-unsigned int y;
-{
- if (x==y)
- return 0;
- else
- return 1;
-}
-
-main()
-{
- unsigned int i, j, k, l;
- i = 5; j = 2; k=0; l=2;
- if (compare(5%(~(unsigned) 2), i%~j)
- || compare(0, k%~l))
- abort();
- else
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980602-1.c b/gcc/testsuite/gcc.c-torture/execute/980602-1.c
deleted file mode 100644
index 2df7283740f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980602-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-main()
-{
- int i;
- for (i = 1; i < 100; i++)
- ;
- if (i == 100)
- exit (0);
- abort ();
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/980602-2.c b/gcc/testsuite/gcc.c-torture/execute/980602-2.c
deleted file mode 100644
index 8ef23222d62..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980602-2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-struct {
- unsigned bit : 30;
-} t;
-
-int main()
-{
- if (!(t.bit++))
- exit (0);
- else
- abort ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980604-1.c b/gcc/testsuite/gcc.c-torture/execute/980604-1.c
deleted file mode 100644
index 8992a90c643..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980604-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-int a = 1;
-int b = -1;
-
-int c = 1;
-int d = 0;
-
-main ()
-{
- double e;
- double f;
- double g;
-
- f = c;
- g = d;
- e = (a < b) ? f : g;
- if (e)
- abort ();
- exit(0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/980605-1.c b/gcc/testsuite/gcc.c-torture/execute/980605-1.c
deleted file mode 100644
index 2fc2691e535..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980605-1.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include <stdio.h>
-
-#ifndef STACK_SIZE
-#define STACK_SIZE 200000
-#endif
-
-__inline__ static int
-dummy (x)
-{
- int y;
- y = (long) (x * 4711.3);
- return y;
-}
-
-int getval (void);
-
-int
-f2 (double x)
-{
- unsigned short s;
- int a, b, c, d, e, f, g, h, i, j;
-
- a = getval ();
- b = getval ();
- c = getval ();
- d = getval ();
- e = getval ();
- f = getval ();
- g = getval ();
- h = getval ();
- i = getval ();
- j = getval ();
-
-
- s = x;
-
- return a + b + c + d + e + f + g + h + i + j + s;
-}
-
-int x = 1;
-
-int
-getval (void)
-{
- return x++;
-}
-
-char buf[10];
-
-void
-f ()
-{
- char ar[STACK_SIZE/2];
- int a, b, c, d, e, f, g, h, i, j, k;
-
- a = getval ();
- b = getval ();
- c = getval ();
- d = getval ();
- e = getval ();
- f = getval ();
- g = getval ();
- h = getval ();
- i = getval ();
- j = getval ();
-
- k = f2 (17.0);
-
- sprintf (buf, "%d\n", a + b + c + d + e + f + g + h + i + j + k);
- if (a + b + c + d + e + f + g + h + i + j + k != 227)
- abort ();
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980608-1.c b/gcc/testsuite/gcc.c-torture/execute/980608-1.c
deleted file mode 100644
index b34d1374903..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980608-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <stdarg.h>
-
-void f1(int a,int b,int c,int d,int e, int f,int g,int h,int i,int j, int k,int
-l,int m,int n,int o)
-{
- return;
-}
-
-inline void debug(const char *msg,...)
-{
- va_list ap;
- va_start( ap, msg );
-
- f1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
-
- if ( va_arg(ap,int) != 101)
- abort();
- if ( va_arg(ap,int) != 102)
- abort();
- if ( va_arg(ap,int) != 103)
- abort();
- if ( va_arg(ap,int) != 104)
- abort();
- if ( va_arg(ap,int) != 105)
- abort();
- if ( va_arg(ap,int) != 106)
- abort();
-
- va_end( ap );
-}
-
-int main(void)
-{
- debug("%d %d %d %d %d %d\n", 101, 102, 103, 104, 105, 106);
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980612-1.c b/gcc/testsuite/gcc.c-torture/execute/980612-1.c
deleted file mode 100644
index db2438731a1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980612-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-struct fd
-{
- unsigned char a;
- unsigned char b;
-} f = { 5 };
-
-struct fd *g() { return &f; }
-int h() { return -1; }
-
-int main()
-{
- struct fd *f = g();
- f->b = h();
- if (((f->a & 0x7f) & ~0x10) <= 2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980617-1.c b/gcc/testsuite/gcc.c-torture/execute/980617-1.c
deleted file mode 100644
index 5f7768aca7a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980617-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-void foo (unsigned int * p)
-{
- if ((signed char)(*p & 0xFF) == 17 || (signed char)(*p & 0xFF) == 18)
- return;
- else
- abort ();
-}
-
-int main ()
-{
- int i = 0x30011;
- foo(&i);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980618-1.c b/gcc/testsuite/gcc.c-torture/execute/980618-1.c
deleted file mode 100644
index 59db7f28b9c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980618-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-void func(int, int);
-
-int main()
-{
- int x = 7;
- func(!x, !7);
- exit (0);
-}
-
-void func(int x, int y)
-{
- if (x == y)
- return;
- else
- abort ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980618-2.c b/gcc/testsuite/gcc.c-torture/execute/980618-2.c
deleted file mode 100644
index c97e19e627f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980618-2.c
+++ /dev/null
@@ -1,66 +0,0 @@
-typedef char CHAR;
-typedef short SHORT;
-typedef int INT;
-typedef long LONG;
-typedef float FLOAT;
-typedef unsigned char UCHAR;
-typedef unsigned short USHORT;
-typedef unsigned int UINT;
-typedef unsigned long ULONG;
-typedef double DOUBLE;
-#if __STDC__
-typedef signed char SCHAR;
-typedef long double LDOUBLE;
-#endif
-
-int
-main ()
-{
- typedef union
- {
- CHAR c;
- SHORT s;
- INT i;
- UCHAR uc;
- USHORT us;
- UINT ui;
- LONG l;
- ULONG ul;
- FLOAT f;
- DOUBLE d;
-#if __STDC__
- SCHAR sc;
- LDOUBLE ld;
-#endif
- }
- D;
- auto D D1;
- D1.c = 7;
- {
- auto struct
- {
- CHAR c;
- SHORT s;
- INT i;
- UCHAR uc;
- USHORT us;
- UINT ui;
- LONG l;
- ULONG ul;
- FLOAT f;
- DOUBLE d;
-#if __STDC__
- SCHAR sc;
- LDOUBLE ld;
-#endif
- }
- F;
- F.c = 7;
- if ((D1.c && F.c) != 1)
- abort ();
- if ((F.c && D1.c) != 1)
- abort ();
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980701-1.c b/gcc/testsuite/gcc.c-torture/execute/980701-1.c
deleted file mode 100644
index 391cc0ee1c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980701-1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-ns_name_skip (unsigned char **x, unsigned char *y)
-{
- *x = 0;
- return 0;
-}
-
-unsigned char a[2];
-
-int dn_skipname(unsigned char *ptr, unsigned char *eom) {
- unsigned char *saveptr = ptr;
-
- if (ns_name_skip(&ptr, eom) == -1)
- return (-1);
- return (ptr - saveptr);
-}
-
-main()
-{
- if (dn_skipname (&a[0], &a[1]) == 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980707-1.c b/gcc/testsuite/gcc.c-torture/execute/980707-1.c
deleted file mode 100644
index 3af163a3767..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980707-1.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-
-char **
-buildargv (char *input)
-{
- static char *arglist[256];
- int numargs = 0;
-
- while (1)
- {
- while (isspace ((unsigned char)*input) && *input != 0)
- input++;
- if (*input == 0)
- break;
- arglist [numargs++] = input;
- while (!isspace ((unsigned char)*input) && *input != 0)
- input++;
- if (*input == 0)
- break;
- *(input++) = 0;
- }
- arglist [numargs] = NULL;
- return arglist;
-}
-
-
-int main()
-{
- char **args;
- char input[256];
- int i;
-
- strcpy(input, " a b");
- args = buildargv(input);
-
- if (strcmp (args[0], "a"))
- abort ();
- if (strcmp (args[1], "b"))
- abort ();
- if (args[2] != NULL)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980709-1.c b/gcc/testsuite/gcc.c-torture/execute/980709-1.c
deleted file mode 100644
index cda80765a6f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980709-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <math.h>
-
-main()
-{
- volatile double a;
- double c;
- a = 32.0;
- c = pow(a, 1.0/3.0);
- if (c + 0.1 > 3.174802
- && c - 0.1 < 3.174802)
- exit (0);
- else
- abort ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/980716-1.c b/gcc/testsuite/gcc.c-torture/execute/980716-1.c
deleted file mode 100644
index 91e5518d53f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980716-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdarg.h>
-
-void
-stub(int num, ...)
-{
- va_list ap;
- char *end;
- int i;
-
- for (i = 0; i < 2; i++) {
- va_start(ap, num);
- while ( 1 ) {
- end = va_arg(ap, char *);
- if (!end) break;
- }
- va_end(ap);
- }
-}
-
-int
-main()
-{
- stub(1, "ab", "bc", "cx", 0);
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/980929-1.c b/gcc/testsuite/gcc.c-torture/execute/980929-1.c
deleted file mode 100644
index 1d9246e01d7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/980929-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-void f(int i)
-{
- if (i != 1000)
- abort ();
-}
-
-
-int main()
-{
- int n=1000;
- int i;
-
- f(n);
- for(i=0; i<1; ++i) {
- f(n);
- n=666;
- &n;
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/981001-1.c b/gcc/testsuite/gcc.c-torture/execute/981001-1.c
deleted file mode 100644
index da63f4796b8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/981001-1.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#define NG 0x100L
-
-unsigned long flg = 0;
-
-long sub (int n)
-{
- int a, b ;
-
- if (n >= 2)
- {
- if (n % 2 == 0)
- {
- a = sub (n / 2);
-
- return (a + 2 * sub (n / 2 - 1)) * a;
- }
- else
- {
- a = sub (n / 2 + 1);
- b = sub (n / 2);
-
- return a * a + b * b;
- }
- }
- else
- return (long) n;
-}
-
-int main (void)
-{
- if (sub (30) != 832040L)
- flg |= NG;
-
- if (flg)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/981019-1.c b/gcc/testsuite/gcc.c-torture/execute/981019-1.c
deleted file mode 100644
index 5d1f009009b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/981019-1.c
+++ /dev/null
@@ -1,44 +0,0 @@
-extern int f2(void);
-extern int f3(void);
-extern void f1(void);
-
-void
-ff(int fname, int part, int nparts)
-{
- if (fname) /* bb 0 */
- {
- if (nparts) /* bb 1 */
- f1(); /* bb 2 */
- }
- else
- fname = 2; /* bb 3 */
-
- /* bb 4 is the branch to bb 10
- (bb 10 is physically at the end of the loop) */
- while (f3() /* bb 10 */)
- {
- if (nparts /* bb 5 */ && f2() /* bb 6 */)
- {
- f1(); /* bb 7 ... */
- nparts = part;
- if (f3()) /* ... bb 7 */
- f1(); /* bb 8 */
- f1(); /* bb 9 */
- break;
- }
- }
-
- if (nparts) /* bb 11 */
- f1(); /* bb 12 */
- return; /* bb 13 */
-}
-
-int main(void)
-{
- ff(0, 1, 0);
- return 0;
-}
-
-int f3(void) { static int x = 0; x = !x; return x; }
-void f1(void) { abort(); }
-int f2(void) { abort(); }
diff --git a/gcc/testsuite/gcc.c-torture/execute/981130-1.c b/gcc/testsuite/gcc.c-torture/execute/981130-1.c
deleted file mode 100644
index 72630b07ec8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/981130-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-struct s { int a; int b;};
-struct s s1;
-struct s s2 = { 1, 2, };
-
-void
-check (a, b)
- int a;
- int b;
-{
- if (a == b)
- exit (0);
- else
- abort ();
-}
-
-int
-main ()
-{
- int * p;
- int x;
-
- s1.a = 9;
- p = & s1.a;
- s1 = s2;
- x = * p;
-
- check (x, 1);
-}
-
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/981130-1.x b/gcc/testsuite/gcc.c-torture/execute/981130-1.x
deleted file mode 100644
index 1565c68adc7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/981130-1.x
+++ /dev/null
@@ -1,22 +0,0 @@
-# This test is known to fail on targets that use the instruction scheduler
-# at optimisation levels of 2 or more because the alias analysis is confused
-# by the reassignment of a variable structure to a fixed structure. The
-# failure could be suppressed by preventing instruction scheduling:
-#
-# set additional_flags "-fno-schedule-insns2";
-#
-# but this would disguise the fact that there is a problem. Instead we use
-# we generate an xfail result and explain that it is alias analysis that
-# is at fault.
-
-set torture_eval_before_execute {
-
- set compiler_conditional_xfail_data {
- "alias analysis conflicts with instruction scheduling" \
- "m32r-*-*" \
- { "-O2" "-O1" "-O0" "-Os"} \
- { "" }
- }
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/981206-1.c b/gcc/testsuite/gcc.c-torture/execute/981206-1.c
deleted file mode 100644
index 12ec0ab1897..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/981206-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Verify unaligned address aliasing on Alpha EV[45]. */
-
-static unsigned short x, y;
-
-void foo()
-{
- x = 0x345;
- y = 0x567;
-}
-
-int main()
-{
- foo ();
- if (x != 0x345 || y != 0x567)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990106-1.c b/gcc/testsuite/gcc.c-torture/execute/990106-1.c
deleted file mode 100644
index 6631bfd96cb..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990106-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-foo(bufp)
-char *bufp;
-{
- int x = 80;
- return (*bufp++ = x ? 'a' : 'b');
-}
-
-main()
-{
- char x;
-
- if (foo (&x) != 'a')
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990106-2.c b/gcc/testsuite/gcc.c-torture/execute/990106-2.c
deleted file mode 100644
index c2791efaae6..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990106-2.c
+++ /dev/null
@@ -1,22 +0,0 @@
-unsigned calc_mp(unsigned mod)
-{
- unsigned a,b,c;
- c=-1;
- a=c/mod;
- b=0-a*mod;
- if (b > mod) { a += 1; b-=mod; }
- return b;
-}
-
-int main(int argc, char *argv[])
-{
- unsigned x = 1234;
- unsigned y = calc_mp(x);
-
- if ((sizeof (y) == 4 && y != 680)
- || (sizeof (y) == 2 && y != 134))
- abort ();
- exit (0);
-}
-
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/990117-1.c b/gcc/testsuite/gcc.c-torture/execute/990117-1.c
deleted file mode 100644
index 9589ae746f8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990117-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-int
-foo (int x, int y, int i, int j)
-{
- double tmp1 = ((double) x / y);
- double tmp2 = ((double) i / j);
-
- return tmp1 < tmp2;
-}
-
-main ()
-{
- if (foo (2, 24, 3, 4) == 0)
- abort ();
- return 0;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/990127-1.c b/gcc/testsuite/gcc.c-torture/execute/990127-1.c
deleted file mode 100644
index c49584820c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990127-1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-main()
-{
- int a,b,c;
- int *pa, *pb, *pc;
- int **ppa, **ppb, **ppc;
- int i,j,k,x,y,z;
-
- a = 10;
- b = 20;
- c = 30;
- pa = &a; pb = &b; pc = &c;
- ppa = &pa; ppb = &pb; ppc = &pc;
- x = 0; y = 0; z = 0;
-
- for(i=0;i<10;i++){
- if( pa == &a ) pa = &b;
- else pa = &a;
- while( (*pa)-- ){
- x++;
- if( (*pa) < 3 ) break;
- else pa = &b;
- }
- x++;
- pa = &b;
- }
-
- if ((*pa) != -5 || (*pb) != -5 || x != 43)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990127-2.c b/gcc/testsuite/gcc.c-torture/execute/990127-2.c
deleted file mode 100644
index 0d0f495124a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990127-2.c
+++ /dev/null
@@ -1,20 +0,0 @@
-void
-fpEq (double x, double y)
-{
- if (x != y)
- abort ();
-}
-
-void
-fpTest (double x, double y)
-{
- double result1 = (35.7 * 100.0) / 45.0;
- double result2 = (x * 100.0) / y;
- fpEq (result1, result2);
-}
-
-main ()
-{
- fpTest (35.7, 45.0);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990128-1.c b/gcc/testsuite/gcc.c-torture/execute/990128-1.c
deleted file mode 100644
index cfdab3e87e5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990128-1.c
+++ /dev/null
@@ -1,50 +0,0 @@
-extern int printf (const char *,...);
-
-struct s { struct s *n; } *p;
-struct s ss;
-#define MAX 10
-struct s sss[MAX];
-int count = 0;
-
-void sub( struct s *p, struct s **pp );
-int look( struct s *p, struct s **pp );
-
-main()
-{
- struct s *pp;
- struct s *next;
- int i;
-
- p = &ss;
- next = p;
- for ( i = 0; i < MAX; i++ ) {
- next->n = &sss[i];
- next = next->n;
- }
- next->n = 0;
-
- sub( p, &pp );
- if (count != MAX+2)
- abort ();
-
- exit( 0 );
-}
-
-void sub( struct s *p, struct s **pp )
-{
- for ( ; look( p, pp ); ) {
- if ( p )
- p = p->n;
- else
- break;
- }
-}
-
-int look( struct s *p, struct s **pp )
-{
- for ( ; p; p = p->n )
- ;
- *pp = p;
- count++;
- return( 1 );
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990130-1.c b/gcc/testsuite/gcc.c-torture/execute/990130-1.c
deleted file mode 100644
index c38ecddbe59..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990130-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-int count = 0;
-int dummy;
-
-static int *
-bar(void)
-{
- ++count;
- return &dummy;
-}
-
-static void
-foo(void)
-{
- asm("" : "+r"(*bar()));
-}
-
-main()
-{
- foo();
- if (count != 1)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990208-1.c b/gcc/testsuite/gcc.c-torture/execute/990208-1.c
deleted file mode 100644
index 37a11472962..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990208-1.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* As a quality of implementation issue, we should not prevent inlining
- of function explicitly marked inline just because a label therein had
- its address taken. */
-
-#ifndef NO_LABEL_VALUES
-static void *ptr1, *ptr2;
-
-static __inline__ void doit(void **pptr, int cond)
-{
- if (cond) {
- here:
- *pptr = &&here;
- }
-}
-
-static void f(int cond)
-{
- doit (&ptr1, cond);
-}
-
-static void g(int cond)
-{
- doit (&ptr2, cond);
-}
-
-static void bar(void);
-
-int main()
-{
- f (1);
- bar();
- g (1);
-
-#ifdef __OPTIMIZE__
- if (ptr1 == ptr2)
- abort ();
-#endif
-
- exit (0);
-}
-
-void bar(void) { }
-
-#else /* NO_LABEL_VALUES */
-int main() { exit(0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/990211-1.c b/gcc/testsuite/gcc.c-torture/execute/990211-1.c
deleted file mode 100644
index e2fe7eea398..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990211-1.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc.
- Contributed by Nathan Sidwell 20 Jan 1999 <nathan@acm.org> */
-
-/* check range combining boolean operations work */
-
-extern void abort();
-
-#define N 77
-
-void func(int i)
-{
- /* fold-const does some clever things with range tests. Make sure
- we get (some of) them right */
-
- /* these must fail, regardless of the value of i */
- if ((i < 0) && (i >= 0))
- abort();
- if ((i > 0) && (i <= 0))
- abort();
- if ((i >= 0) && (i < 0))
- abort();
- if ((i <= 0) && (i > 0))
- abort();
-
- if ((i < N) && (i >= N))
- abort();
- if ((i > N) && (i <= N))
- abort();
- if ((i >= N) && (i < N))
- abort();
- if ((i <= N) && (i > N))
- abort();
-
- /* these must pass, regardless of the value of i */
- if (! ((i < 0) || (i >= 0)))
- abort();
- if (! ((i > 0) || (i <= 0)))
- abort();
- if (! ((i >= 0) || (i < 0)))
- abort();
- if (! ((i <= 0) || (i > 0)))
- abort();
-
- if (! ((i < N) || (i >= N)))
- abort();
- if (! ((i > N) || (i <= N)))
- abort();
- if (! ((i >= N) || (i < N)))
- abort();
- if (! ((i <= N) || (i > N)))
- abort();
-
- return;
-}
-
-int main()
-{
- func(0);
- func(1);
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990222-1.c b/gcc/testsuite/gcc.c-torture/execute/990222-1.c
deleted file mode 100644
index 98b94f39860..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990222-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-char line[4] = { '1', '9', '9', '\0' };
-
-int main()
-{
- char *ptr = line + 3;
-
- while ((*--ptr += 1) > '9') *ptr = '0';
- if (line[0] != '2' || line[1] != '0' || line[2] != '0')
- abort();
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990324-1.c b/gcc/testsuite/gcc.c-torture/execute/990324-1.c
deleted file mode 100644
index d9baa0885f5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990324-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-void f(long i)
-{
- if ((signed char)i < 0 || (signed char)i == 0)
- abort ();
- else
- exit (0);
-}
-
-main()
-{
- f(0xffffff01);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/990326-1.c b/gcc/testsuite/gcc.c-torture/execute/990326-1.c
deleted file mode 100644
index d7427cf8512..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990326-1.c
+++ /dev/null
@@ -1,407 +0,0 @@
-struct a {
- char a, b;
- short c;
-};
-
-int
-a1()
-{
- static struct a x = { 1, 2, ~1 }, y = { 65, 2, ~2 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-a2()
-{
- static struct a x = { 1, 66, ~1 }, y = { 1, 2, ~2 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-a3()
-{
- static struct a x = { 9, 66, ~1 }, y = { 33, 18, ~2 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-struct b {
- int c;
- short b, a;
-};
-
-int
-b1()
-{
- static struct b x = { ~1, 2, 1 }, y = { ~2, 2, 65 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-b2()
-{
- static struct b x = { ~1, 66, 1 }, y = { ~2, 2, 1 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-b3()
-{
- static struct b x = { ~1, 66, 9 }, y = { ~2, 18, 33 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-struct c {
- unsigned int c:4, b:14, a:14;
-} __attribute__ ((aligned));
-
-int
-c1()
-{
- static struct c x = { ~1, 2, 1 }, y = { ~2, 2, 65 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-c2()
-{
- static struct c x = { ~1, 66, 1 }, y = { ~2, 2, 1 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-c3()
-{
- static struct c x = { ~1, 66, 9 }, y = { ~2, 18, 33 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-struct d {
- unsigned int a:14, b:14, c:4;
-} __attribute__ ((aligned));
-
-int
-d1()
-{
- static struct d x = { 1, 2, ~1 }, y = { 65, 2, ~2 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-d2()
-{
- static struct d x = { 1, 66, ~1 }, y = { 1, 2, ~2 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-d3()
-{
- static struct d x = { 9, 66, ~1 }, y = { 33, 18, ~2 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-struct e {
- int c:4, b:14, a:14;
-} __attribute__ ((aligned));
-
-int
-e1()
-{
- static struct e x = { ~1, -2, -65 }, y = { ~2, -2, -1 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-e2()
-{
- static struct e x = { ~1, -2, -1 }, y = { ~2, -66, -1 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-e3()
-{
- static struct e x = { ~1, -18, -33 }, y = { ~2, -66, -9 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-int
-e4()
-{
- static struct e x = { -1, -1, 0 };
-
- return x.a == 0 && x.b & 0x2000;
-}
-
-struct f {
- int a:14, b:14, c:4;
-} __attribute__ ((aligned));
-
-int
-f1()
-{
- static struct f x = { -65, -2, ~1 }, y = { -1, -2, ~2 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-f2()
-{
- static struct f x = { -1, -2, ~1 }, y = { -1, -66, ~2 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-f3()
-{
- static struct f x = { -33, -18, ~1 }, y = { -9, -66, ~2 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-int
-f4()
-{
- static struct f x = { 0, -1, -1 };
-
- return x.a == 0 && x.b & 0x2000;
-}
-
-struct gx {
- int c:4, b:14, a:14;
-} __attribute__ ((aligned));
-struct gy {
- int b:14, a:14, c:4;
-} __attribute__ ((aligned));
-
-int
-g1()
-{
- static struct gx x = { ~1, -2, -65 };
- static struct gy y = { -2, -1, ~2 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-g2()
-{
- static struct gx x = { ~1, -2, -1 };
- static struct gy y = { -66, -1, ~2 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-g3()
-{
- static struct gx x = { ~1, -18, -33 };
- static struct gy y = { -66, -9, ~2 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-int
-g4()
-{
- static struct gx x = { ~1, 0x0020, 0x0010 };
- static struct gy y = { 0x0200, 0x0100, ~2 };
-
- return ((x.a & 0x00f0) == (y.a & 0x0f00) &&
- (x.b & 0x00f0) == (y.b & 0x0f00));
-}
-
-int
-g5()
-{
- static struct gx x = { ~1, 0x0200, 0x0100 };
- static struct gy y = { 0x0020, 0x0010, ~2 };
-
- return ((x.a & 0x0f00) == (y.a & 0x00f0) &&
- (x.b & 0x0f00) == (y.b & 0x00f0));
-}
-
-int
-g6()
-{
- static struct gx x = { ~1, 0xfe20, 0xfd10 };
- static struct gy y = { 0xc22f, 0xc11f, ~2 };
-
- return ((x.a & 0x03ff) == (y.a & 0x3ff0) &&
- (x.b & 0x03ff) == (y.b & 0x3ff0));
-}
-
-int
-g7()
-{
- static struct gx x = { ~1, 0xc22f, 0xc11f };
- static struct gy y = { 0xfe20, 0xfd10, ~2 };
-
- return ((x.a & 0x3ff0) == (y.a & 0x03ff) &&
- (x.b & 0x3ff0) == (y.b & 0x03ff));
-}
-
-struct hx {
- int a:14, b:14, c:4;
-} __attribute__ ((aligned));
-struct hy {
- int c:4, a:14, b:14;
-} __attribute__ ((aligned));
-
-int
-h1()
-{
- static struct hx x = { -65, -2, ~1 };
- static struct hy y = { ~2, -1, -2 };
-
- return (x.a == (y.a & ~64) && x.b == y.b);
-}
-
-int
-h2()
-{
- static struct hx x = { -1, -2, ~1 };
- static struct hy y = { ~2, -1, -66 };
-
- return (x.a == y.a && (x.b & ~64) == y.b);
-}
-
-int
-h3()
-{
- static struct hx x = { -33, -18, ~1 };
- static struct hy y = { ~2, -9, -66 };
-
- return ((x.a & ~8) == (y.a & ~32) && (x.b & ~64) == (y.b & ~16));
-}
-
-int
-h4()
-{
- static struct hx x = { 0x0010, 0x0020, ~1 };
- static struct hy y = { ~2, 0x0100, 0x0200 };
-
- return ((x.a & 0x00f0) == (y.a & 0x0f00) &&
- (x.b & 0x00f0) == (y.b & 0x0f00));
-}
-
-int
-h5()
-{
- static struct hx x = { 0x0100, 0x0200, ~1 };
- static struct hy y = { ~2, 0x0010, 0x0020 };
-
- return ((x.a & 0x0f00) == (y.a & 0x00f0) &&
- (x.b & 0x0f00) == (y.b & 0x00f0));
-}
-
-int
-h6()
-{
- static struct hx x = { 0xfd10, 0xfe20, ~1 };
- static struct hy y = { ~2, 0xc11f, 0xc22f };
-
- return ((x.a & 0x03ff) == (y.a & 0x3ff0) &&
- (x.b & 0x03ff) == (y.b & 0x3ff0));
-}
-
-int
-h7()
-{
- static struct hx x = { 0xc11f, 0xc22f, ~1 };
- static struct hy y = { ~2, 0xfd10, 0xfe20 };
-
- return ((x.a & 0x3ff0) == (y.a & 0x03ff) &&
- (x.b & 0x3ff0) == (y.b & 0x03ff));
-}
-
-int
-main()
-{
- if (!a1 ())
- abort ();
- if (!a2 ())
- abort ();
- if (!a3 ())
- abort ();
- if (!b1 ())
- abort ();
- if (!b2 ())
- abort ();
- if (!b3 ())
- abort ();
- if (!c1 ())
- abort ();
- if (!c2 ())
- abort ();
- if (!c3 ())
- abort ();
- if (!d1 ())
- abort ();
- if (!d2 ())
- abort ();
- if (!d3 ())
- abort ();
- if (!e1 ())
- abort ();
- if (!e2 ())
- abort ();
- if (!e3 ())
- abort ();
- if (!e4 ())
- abort ();
- if (!f1 ())
- abort ();
- if (!f2 ())
- abort ();
- if (!f3 ())
- abort ();
- if (!f4 ())
- abort ();
- if (!g1 ())
- abort ();
- if (!g2 ())
- abort ();
- if (!g3 ())
- abort ();
- if (g4 ())
- abort ();
- if (g5 ())
- abort ();
- if (!g6 ())
- abort ();
- if (!g7 ())
- abort ();
- if (!h1 ())
- abort ();
- if (!h2 ())
- abort ();
- if (!h3 ())
- abort ();
- if (h4 ())
- abort ();
- if (h5 ())
- abort ();
- if (!h6 ())
- abort ();
- if (!h7 ())
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990404-1.c b/gcc/testsuite/gcc.c-torture/execute/990404-1.c
deleted file mode 100644
index be917d6d292..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990404-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-
-int x[10] = { 0,1,2,3,4,5,6,7,8,9};
-
-int
-main()
-{
- int niterations = 0, i;
-
- for (;;) {
- int i, mi, max;
- max = 0;
- for (i = 0; i < 10 ; i++) {
- if (x[i] > max) {
- max = x[i];
- mi = i;
- }
- }
- if (max == 0)
- break;
- x[mi] = 0;
- niterations++;
- if (niterations > 10)
- abort ();
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990413-2.c b/gcc/testsuite/gcc.c-torture/execute/990413-2.c
deleted file mode 100644
index 262140a3fe5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990413-2.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* This tests for a bug in regstack that was breaking glibc's math library. */
-
-extern void abort (void);
-
-static __inline double
-minus_zero (void)
-{
- union { double __d; int __i[2]; } __x;
- __x.__i[0] = 0x0;
- __x.__i[1] = 0x80000000;
- return __x.__d;
-}
-
-static __inline long double
-__atan2l (long double __y, long double __x)
-{
- register long double __value;
- __asm __volatile__ ("fpatan\n\t"
- : "=t" (__value)
- : "0" (__x), "u" (__y)
- : "st(1)");
- return __value;
-}
-
-static __inline long double
-__sqrtl (long double __x)
-{
- register long double __result;
- __asm __volatile__ ("fsqrt" : "=t" (__result) : "0" (__x));
- return __result;
-}
-
-static __inline double
-asin (double __x)
-{
- return __atan2l (__x, __sqrtl (1.0 - __x * __x));
-}
-
-int
-main (void)
-{
- double x;
-
- x = minus_zero();
- x = asin (x);
-
- if (x != 0.0) /* actually -0.0, but 0.0 == -0.0 */
- abort ();
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/990413-2.x b/gcc/testsuite/gcc.c-torture/execute/990413-2.x
deleted file mode 100644
index 039cecea4aa..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990413-2.x
+++ /dev/null
@@ -1,3 +0,0 @@
-# This test is x86 specific.
-if { ! [istarget "i?86-*-*"] } { return 1 }
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/990513-1.c b/gcc/testsuite/gcc.c-torture/execute/990513-1.c
deleted file mode 100644
index 6ad228fb006..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/990513-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <string.h>
-
-void foo (int *BM_tab, int j)
-{
- int *BM_tab_base;
-
- BM_tab_base = BM_tab;
- BM_tab += 0400;
- while (BM_tab_base != BM_tab)
- {
- *--BM_tab = j;
- *--BM_tab = j;
- *--BM_tab = j;
- *--BM_tab = j;
- }
-}
-
-int main ()
-{
- int BM_tab[0400];
- memset (BM_tab, 0, sizeof (BM_tab));
- foo (BM_tab, 6);
- if (BM_tab[0] != 6)
- abort ();
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/Makefile.in b/gcc/testsuite/gcc.c-torture/execute/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/execute/arith-1.c b/gcc/testsuite/gcc.c-torture/execute/arith-1.c
deleted file mode 100644
index 58df322e68a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/arith-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-unsigned
-sat_add (unsigned i)
-{
- unsigned ret = i + 1;
- if (ret < i)
- ret = i;
- return ret;
-}
-
-main ()
-{
- if (sat_add (~0U) != ~0U)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/arith-rand.c b/gcc/testsuite/gcc.c-torture/execute/arith-rand.c
deleted file mode 100644
index 4af146a1a56..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/arith-rand.c
+++ /dev/null
@@ -1,114 +0,0 @@
-long
-simple_rand ()
-{
- static unsigned long seed = 47114711;
- unsigned long this = seed * 1103515245 + 12345;
- seed = this;
- return this >> 8;
-}
-
-unsigned long int
-random_bitstring ()
-{
- unsigned long int x;
- int n_bits;
- long ran;
- int tot_bits = 0;
-
- x = 0;
- for (;;)
- {
- ran = simple_rand ();
- n_bits = (ran >> 1) % 16;
- tot_bits += n_bits;
-
- if (n_bits == 0)
- return x;
- else
- {
- x <<= n_bits;
- if (ran & 1)
- x |= (1 << n_bits) - 1;
-
- if (tot_bits > 8 * sizeof (long) + 6)
- return x;
- }
- }
-}
-
-#define ABS(x) ((x) >= 0 ? (x) : -(x))
-
-main ()
-{
- long int i;
-
- for (i = 0; i < 1000; i++)
- {
- unsigned long x, y;
- x = random_bitstring ();
- y = random_bitstring ();
-
- if (sizeof (int) == sizeof (long))
- goto save_time;
-
- { unsigned long xx = x, yy = y, r1, r2;
- if (yy == 0) continue;
- r1 = xx / yy;
- r2 = xx % yy;
- if (r2 >= yy || r1 * yy + r2 != xx)
- abort ();
- }
- { signed long xx = x, yy = y, r1, r2;
- if ((unsigned long) xx << 1 == 0 && yy == -1)
- continue;
- r1 = xx / yy;
- r2 = xx % yy;
- if (ABS (r2) >= (unsigned long) ABS (yy) || (signed long) (r1 * yy + r2) != xx)
- abort ();
- }
- save_time:
- { unsigned int xx = x, yy = y, r1, r2;
- if (yy == 0) continue;
- r1 = xx / yy;
- r2 = xx % yy;
- if (r2 >= yy || r1 * yy + r2 != xx)
- abort ();
- }
- { signed int xx = x, yy = y, r1, r2;
- if ((unsigned int) xx << 1 == 0 && yy == -1)
- continue;
- r1 = xx / yy;
- r2 = xx % yy;
- if (ABS (r2) >= (unsigned int) ABS (yy) || (signed int) (r1 * yy + r2) != xx)
- abort ();
- }
- { unsigned short xx = x, yy = y, r1, r2;
- if (yy == 0) continue;
- r1 = xx / yy;
- r2 = xx % yy;
- if (r2 >= yy || r1 * yy + r2 != xx)
- abort ();
- }
- { signed short xx = x, yy = y, r1, r2;
- r1 = xx / yy;
- r2 = xx % yy;
- if (ABS (r2) >= (unsigned short) ABS (yy) || (signed short) (r1 * yy + r2) != xx)
- abort ();
- }
- { unsigned char xx = x, yy = y, r1, r2;
- if (yy == 0) continue;
- r1 = xx / yy;
- r2 = xx % yy;
- if (r2 >= yy || r1 * yy + r2 != xx)
- abort ();
- }
- { signed char xx = x, yy = y, r1, r2;
- r1 = xx / yy;
- r2 = xx % yy;
- if (ABS (r2) >= (unsigned char) ABS (yy) || (signed char) (r1 * yy + r2) != xx)
- abort ();
- }
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/bcp-1.c b/gcc/testsuite/gcc.c-torture/execute/bcp-1.c
deleted file mode 100644
index 38b1d3e8e93..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/bcp-1.c
+++ /dev/null
@@ -1,90 +0,0 @@
-int global;
-
-/* These must fail. */
-int bad0(void) { return __builtin_constant_p(global); }
-int bad1(void) { return __builtin_constant_p(global++); }
-inline int bad2(int x) { return __builtin_constant_p(x++); }
-inline int bad3(int x) { return __builtin_constant_p(x); }
-inline int bad4(const char *x) { return __builtin_constant_p(x); }
-int bad5(void) { return bad2(1); }
-inline int bad6(int x) { return __builtin_constant_p(x+1); }
-int bad7(void) { return __builtin_constant_p(abort()); }
-int bad8(void) { char buf[10]; return __builtin_constant_p(buf); }
-int bad9(const char *x) { return __builtin_constant_p(x[123456]); }
-int bad10(void) { return __builtin_constant_p(&global); }
-
-/* These must pass, or we've broken gcc2 functionality. */
-int good0(void) { return __builtin_constant_p(1); }
-int good1(void) { return __builtin_constant_p("hi"); }
-int good2(void) { return __builtin_constant_p((1234 + 45) & ~7); }
-
-/* These are extensions to gcc2. Failure indicates an optimization
- regression. */
-int opt0(void) { return bad3(1); }
-int opt1(void) { return bad6(1); }
-int opt2(void) { return __builtin_constant_p("hi"[0]); }
-
-/*
- * Opt3 is known to fail. It is one of the important cases that glibc
- * was interested in though, so keep this around as a reminder.
- *
- * The solution is to add bits to recover bytes from constant pool
- * elements given nothing but a constant pool label and an offset.
- * When we can do that, and we can simplify strlen after the fact,
- * then we can enable recognition of constant pool labels as constants.
- */
-
-/* int opt3(void) { return bad4("hi"); } */
-
-
-/* Call through tables so -finline-functions can't screw with us. */
-int (*bad_t0[])(void) = {
- bad0, bad1, bad5, bad7, bad8, bad10
-};
-
-int (*bad_t1[])(int x) = {
- bad2, bad3, bad6
-};
-
-int (*bad_t2[])(const char *x) = {
- bad4, bad9
-};
-
-int (*good_t0[])(void) = {
- good0, good1, good2
-};
-
-int (*opt_t0[])(void) = {
- opt0, opt1, opt2 /* , opt3 */
-};
-
-#define N(arr) (sizeof(arr)/sizeof(*arr))
-
-int main()
-{
- int i;
-
- for (i = 0; i < N(bad_t0); ++i)
- if ((*bad_t0[i])())
- abort();
-
- for (i = 0; i < N(bad_t1); ++i)
- if ((*bad_t1[i])(1))
- abort();
-
- for (i = 0; i < N(bad_t2); ++i)
- if ((*bad_t2[i])("hi"))
- abort();
-
- for (i = 0; i < N(good_t0); ++i)
- if (! (*good_t0[i])())
- abort();
-
-#ifdef __OPTIMIZE__
- for (i = 0; i < N(opt_t0); ++i)
- if (! (*opt_t0[i])())
- abort();
-#endif
-
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c b/gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c
deleted file mode 100644
index a82429ba208..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-struct { long f8:8; long f24:24; } a;
-struct { long f32:32; } b;
-
-main ()
-{
- if (sizeof (a) != sizeof (b))
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c b/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c
deleted file mode 100644
index ca3b1db763b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
-struct foo
-{
- unsigned half:16;
- unsigned long whole:32 __attribute__ ((packed));
-};
-
-f (struct foo *q)
-{
- if (q->half != 0x1234)
- abort ();
- if (q->whole != 0x56789abcL)
- abort ();
-}
-
-main ()
-{
- struct foo bar;
-
- bar.half = 0x1234;
- bar.whole = 0x56789abcL;
- f (&bar);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c b/gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c
deleted file mode 100644
index 3cc3eac15fd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-main ()
-{
- struct {
- signed int s:3;
- unsigned int u:3;
- int i:3;
- } x = {-1, -1, -1};
-
- if (x.u != 7)
- abort ();
- if (x.s != - 1)
- abort ();
-
- if (x.i != -1 && x.i != 7)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c b/gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c
deleted file mode 100644
index f0a8d52270b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- This test checks promotion of bitfields. Bitfields should be promoted
- very much like chars and shorts:
-
- Bitfields (signed or unsigned) should be promoted to signed int if their
- value will fit in a signed int, otherwise to an unsigned int if their
- value will fit in an unsigned int, otherwise we don't promote them (ANSI/ISO
- does not specify the behavior of bitfields larger than an unsigned int).
-
- We test the behavior by subtracting two from the promoted value: this will
- result in a negitive value for signed types, a positive value for unsigned
- types. This test (of course) assumes that the compiler is correctly
- implementing signed and unsigned arithmetic.
- */
-
-struct X {
- unsigned int u3:3;
- long int s31:31;
- long int s32:32;
- unsigned long int u31:31;
- unsigned long int u32:32;
- unsigned long long ull3 :3;
- unsigned long long ull35:35;
- unsigned u15:15;
-};
-
-struct X x;
-
-main ()
-{
- if ((x.u3 - 2) >= 0) /* promoted value should be signed */
- abort ();
-
- if ((x.s31 - 2) >= 0) /* promoted value should be signed */
- abort ();
-
- if ((x.s32 - 2) >= 0) /* promoted value should be signed */
- abort ();
-
- if ((x.u15 - 2) >= 0) /* promoted value should be signed */
- abort ();
-
- /* Conditionalize check on whether integers are 4 bytes or larger, i.e.
- larger than a 31 bit bitfield. */
- if (sizeof (int) >= 4)
- {
- if ((x.u31 - 2) >= 0) /* promoted value should be signed */
- abort ();
- }
- else
- {
- if ((x.u31 - 2) < 0) /* promoted value should be UNsigned */
- abort ();
- }
-
- if ((x.u32 - 2) < 0) /* promoted value should be UNsigned */
- abort ();
-
- if ((x.ull3 - 2) >= 0) /* promoted value should be signed */
- abort ();
-
- if ((x.ull35 - 2) < 0) /* promoted value should be UNsigned */
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/bf64-1.c b/gcc/testsuite/gcc.c-torture/execute/bf64-1.c
deleted file mode 100644
index 60028fb1aa8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/bf64-1.c
+++ /dev/null
@@ -1,40 +0,0 @@
-struct tmp
-{
- long long int pad : 12;
- long long int field : 52;
-};
-
-struct tmp2
-{
- long long int field : 52;
- long long int pad : 12;
-};
-
-struct tmp
-sub (struct tmp tmp)
-{
- tmp.field |= 0x0008765412345678LL;
- return tmp;
-}
-
-struct tmp2
-sub2 (struct tmp2 tmp2)
-{
- tmp2.field |= 0x0008765412345678LL;
- return tmp2;
-}
-
-main()
-{
- struct tmp tmp = {0x123, 0xFFF000FFF000FLL};
- struct tmp2 tmp2 = {0xFFF000FFF000FLL, 0x123};
-
- tmp = sub (tmp);
- tmp2 = sub2 (tmp2);
-
- if (tmp.pad != 0x123 || tmp.field != 0xFFFFFF541FFF567FLL)
- abort ();
- if (tmp2.pad != 0x123 || tmp2.field != 0xFFFFFF541FFF567FLL)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/cbrt.c b/gcc/testsuite/gcc.c-torture/execute/cbrt.c
deleted file mode 100644
index 8659cc7a723..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/cbrt.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
-*/
-
-#ifndef __vax__
-static const unsigned long
- B1 = 715094163, /* B1 = (682-0.03306235651)*2**20 */
- B2 = 696219795; /* B2 = (664-0.03306235651)*2**20 */
-
-static const double
- C = 5.42857142857142815906e-01, /* 19/35 = 0x3FE15F15, 0xF15F15F1 */
- D = -7.05306122448979611050e-01, /* -864/1225 = 0xBFE691DE, 0x2532C834 */
- E = 1.41428571428571436819e+00, /* 99/70 = 0x3FF6A0EA, 0x0EA0EA0F */
- F = 1.60714285714285720630e+00, /* 45/28 = 0x3FF9B6DB, 0x6DB6DB6E */
- G = 3.57142857142857150787e-01; /* 5/14 = 0x3FD6DB6D, 0xB6DB6DB7 */
-
-double
-cbrtl (double x)
-{
- long hx;
- double r,s,w;
- double lt;
- unsigned sign;
- typedef unsigned unsigned32 __attribute__((mode(SI)));
- union {
- double t;
- unsigned32 pt[2];
- } ut, ux;
- int n0;
-
- ut.t = 1.0;
- n0 = (ut.pt[0] == 0);
-
- ut.t = 0.0;
- ux.t = x;
-
- hx = ux.pt[n0]; /* high word of x */
- sign=hx&0x80000000; /* sign= sign(x) */
- hx ^=sign;
- if(hx>=0x7ff00000) return(x+x); /* cbrt(NaN,INF) is itself */
- if((hx| ux.pt[1-n0])==0)
- return(ux.t); /* cbrt(0) is itself */
-
- ux.pt[n0] = hx;
- /* rough cbrt to 5 bits */
- if(hx<0x00100000) /* subnormal number */
- {ut.pt[n0]=0x43500000; /* set t= 2**54 */
- ut.t*=x; ut.pt[n0]=ut.pt[n0]/3+B2;
- }
- else
- ut.pt[n0]=hx/3+B1;
-
- /* new cbrt to 23 bits, may be implemented in single precision */
- r=ut.t*ut.t/ux.t;
- s=C+r*ut.t;
- ut.t*=G+F/(s+E+D/s);
-
- /* chopped to 20 bits and make it larger than cbrt(x) */
- ut.pt[1-n0]=0; ut.pt[n0]+=0x00000001;
-
- /* one step newton iteration to 53 bits with error less than 0.667 ulps */
- s=ut.t*ut.t; /* t*t is exact */
- r=ux.t/s;
- w=ut.t+ut.t;
- r=(r-ut.t)/(w+r); /* r-s is exact */
- ut.t=ut.t+ut.t*r;
-
- /* restore the sign bit */
- ut.pt[n0] |= sign;
-
- lt = ut.t;
- lt -= (lt - (x/(lt*lt))) * 0.333333333333333333333;
- return lt;
-}
-
-main ()
-{
- if ((int) (cbrtl (27.0) + 0.5) != 3)
- abort ();
-
- exit (0);
-}
-#else
-main () { exit (0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/cmpdi-1.c b/gcc/testsuite/gcc.c-torture/execute/cmpdi-1.c
deleted file mode 100644
index e3e9c860603..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/cmpdi-1.c
+++ /dev/null
@@ -1,218 +0,0 @@
-#define F 140
-#define T 13
-
-feq (x, y)
- long long int x;
- long long int y;
-{
- if (x == y)
- return T;
- else
- return F;
-}
-
-fne (x, y)
- long long int x;
- long long int y;
-{
- if (x != y)
- return T;
- else
- return F;
-}
-
-flt (x, y)
- long long int x;
- long long int y;
-{
- if (x < y)
- return T;
- else
- return F;
-}
-
-fge (x, y)
- long long int x;
- long long int y;
-{
- if (x >= y)
- return T;
- else
- return F;
-}
-
-fgt (x, y)
- long long int x;
- long long int y;
-{
- if (x > y)
- return T;
- else
- return F;
-}
-
-fle (x, y)
- long long int x;
- long long int y;
-{
- if (x <= y)
- return T;
- else
- return F;
-}
-
-fltu (x, y)
- unsigned long long int x;
- unsigned long long int y;
-{
- if (x < y)
- return T;
- else
- return F;
-}
-
-fgeu (x, y)
- unsigned long long int x;
- unsigned long long int y;
-{
- if (x >= y)
- return T;
- else
- return F;
-}
-
-fgtu (x, y)
- unsigned long long int x;
- unsigned long long int y;
-{
- if (x > y)
- return T;
- else
- return F;
-}
-
-fleu (x, y)
- unsigned long long int x;
- unsigned long long int y;
-{
- if (x <= y)
- return T;
- else
- return F;
-}
-
-long long args[] =
-{
- 0LL,
- 1LL,
- -1LL,
- 0x7fffffffffffffffLL,
- 0x8000000000000000LL,
- 0x8000000000000001LL,
- 0x1A3F237394D36C58LL,
- 0x93850E92CAAC1B04LL
-};
-
-int correct_results[] =
-{
- T, F, F, T, F, T, F, T, F, T,
- F, T, T, F, F, T, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, F, T, T, F, F, T, T, F,
- T, F, F, T, F, T, F, T, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, F, T, T, F,
- T, F, F, T, F, T, F, T, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, T, F, F, T, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, T, F, F, T,
- T, F, F, T, F, T, F, T, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- T, F, F, T, F, T, F, T, F, T,
- F, T, T, F, F, T, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- T, F, F, T, F, T, F, T, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, T, F, F, T,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, F, T, T, F, T, F, F, T,
- T, F, F, T, F, T, F, T, F, T,
- F, T, F, T, T, F, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, F, T, T, F,
- F, T, T, F, F, T, T, F, F, T,
- F, T, T, F, F, T, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, F, T, T, F, F, T, T, F,
- F, T, T, F, F, T, F, T, T, F,
- T, F, F, T, F, T, F, T, F, T
-};
-
-main ()
-{
- int i, j, *res = correct_results;
-
- for (i = 0; i < 8; i++)
- {
- long long arg0 = args[i];
- for (j = 0; j < 8; j++)
- {
- long long arg1 = args[j];
-
- if (feq (arg0, arg1) != *res++)
- abort ();
- if (fne (arg0, arg1) != *res++)
- abort ();
- if (flt (arg0, arg1) != *res++)
- abort ();
- if (fge (arg0, arg1) != *res++)
- abort ();
- if (fgt (arg0, arg1) != *res++)
- abort ();
- if (fle (arg0, arg1) != *res++)
- abort ();
- if (fltu (arg0, arg1) != *res++)
- abort ();
- if (fgeu (arg0, arg1) != *res++)
- abort ();
- if (fgtu (arg0, arg1) != *res++)
- abort ();
- if (fleu (arg0, arg1) != *res++)
- abort ();
- }
- }
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c b/gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
deleted file mode 100644
index 9fce104fefb..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
+++ /dev/null
@@ -1,32 +0,0 @@
-f1 (unsigned int x, unsigned int y)
-{
- if (x == 0)
- dummy ();
- x -= y;
- /* 0xfffffff2 < 0x80000000? */
- if (x < ~(~(unsigned int) 0 >> 1))
- abort ();
- return x;
-}
-
-f2 (unsigned long int x, unsigned long int y)
-{
- if (x == 0)
- dummy ();
- x -= y;
- /* 0xfffffff2 < 0x80000000? */
- if (x < ~(~(unsigned long int) 0 >> 1))
- abort ();
- return x;
-}
-
-
-dummy () {}
-
-main ()
-{
- /* 0x7ffffff3 0x80000001 */
- f1 ((~(unsigned int) 0 >> 1) - 12, ~(~(unsigned int) 0 >> 1) + 1);
- f2 ((~(unsigned long int) 0 >> 1) - 12, ~(~(unsigned long int) 0 >> 1) + 1);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/comp-goto-1.c b/gcc/testsuite/gcc.c-torture/execute/comp-goto-1.c
deleted file mode 100644
index f9f6c126df3..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/comp-goto-1.c
+++ /dev/null
@@ -1,164 +0,0 @@
-#include <stdlib.h>
-
-#ifndef NO_LABEL_VALUES
-typedef unsigned int uint32;
-typedef signed int sint32;
-
-typedef uint32 reg_t;
-
-typedef unsigned long int host_addr_t;
-typedef uint32 target_addr_t;
-typedef sint32 target_saddr_t;
-
-typedef union
-{
- struct
- {
- unsigned int offset:18;
- unsigned int ignore:4;
- unsigned int s1:8;
- int :2;
- signed int simm:14;
- unsigned int s3:8;
- unsigned int s2:8;
- int pad2:2;
- } f1;
- long long ll;
- double d;
-} insn_t;
-
-typedef struct
-{
- target_addr_t vaddr_tag;
- unsigned long int rigged_paddr;
-} tlb_entry_t;
-
-typedef struct
-{
- insn_t *pc;
- reg_t registers[256];
- insn_t *program;
- tlb_entry_t tlb_tab[0x100];
-} environment_t;
-
-enum operations
-{
- LOAD32_RR,
- METAOP_DONE
-};
-
-host_addr_t
-f ()
-{
- abort ();
-}
-
-reg_t
-simulator_kernel (int what, environment_t *env)
-{
- register insn_t *pc = env->pc;
- register reg_t *regs = env->registers;
- register insn_t insn;
- register int s1;
- register reg_t r2;
- register void *base_addr = &&sim_base_addr;
- register tlb_entry_t *tlb = env->tlb_tab;
-
- if (what != 0)
- {
- int i;
- static void *op_map[] =
- {
- &&L_LOAD32_RR,
- &&L_METAOP_DONE,
- };
- insn_t *program = env->program;
- for (i = 0; i < what; i++)
- program[i].f1.offset = op_map[program[i].f1.offset] - base_addr;
- }
-
- sim_base_addr:;
-
- insn = *pc++;
- r2 = (*(reg_t *) (((char *) regs) + (insn.f1.s2 << 2)));
- s1 = (insn.f1.s1 << 2);
- goto *(base_addr + insn.f1.offset);
-
- L_LOAD32_RR:
- {
- target_addr_t vaddr_page = r2 / 4096;
- unsigned int x = vaddr_page % 0x100;
- insn = *pc++;
-
- for (;;)
- {
- target_addr_t tag = tlb[x].vaddr_tag;
- host_addr_t rigged_paddr = tlb[x].rigged_paddr;
-
- if (tag == vaddr_page)
- {
- *(reg_t *) (((char *) regs) + s1) = *(uint32 *) (rigged_paddr + r2);
- r2 = *(reg_t *) (((char *) regs) + (insn.f1.s2 << 2));
- s1 = insn.f1.s1 << 2;
- goto *(base_addr + insn.f1.offset);
- }
-
- if (((target_saddr_t) tag < 0))
- {
- *(reg_t *) (((char *) regs) + s1) = *(uint32 *) f ();
- r2 = *(reg_t *) (((char *) regs) + (insn.f1.s2 << 2));
- s1 = insn.f1.s1 << 2;
- goto *(base_addr + insn.f1.offset);
- }
-
- x = (x - 1) % 0x100;
- }
-
- L_METAOP_DONE:
- return (*(reg_t *) (((char *) regs) + s1));
- }
-}
-
-insn_t program[2 + 1];
-
-void *malloc ();
-
-int
-main ()
-{
- environment_t env;
- insn_t insn;
- int i, res;
- host_addr_t a_page = (host_addr_t) malloc (2 * 4096);
- target_addr_t a_vaddr = 0x123450;
- target_addr_t vaddr_page = a_vaddr / 4096;
- a_page = (a_page + 4096 - 1) & -4096;
-
- env.tlb_tab[((vaddr_page) % 0x100)].vaddr_tag = vaddr_page;
- env.tlb_tab[((vaddr_page) % 0x100)].rigged_paddr = a_page - vaddr_page * 4096;
- insn.f1.offset = LOAD32_RR;
- env.registers[0] = 0;
- env.registers[2] = a_vaddr;
- *(int *) (a_page + a_vaddr % 4096) = 88;
- insn.f1.s1 = 0;
- insn.f1.s2 = 2;
-
- for (i = 0; i < 2; i++)
- program[i] = insn;
-
- insn.f1.offset = METAOP_DONE;
- insn.f1.s1 = 0;
- program[2] = insn;
-
- env.pc = program;
- env.program = program;
-
- res = simulator_kernel (2 + 1, &env);
-
- if (res != 88)
- abort ();
- exit (0);
-}
-#else
-main(){ exit (0); }
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-1.c b/gcc/testsuite/gcc.c-torture/execute/complex-1.c
deleted file mode 100644
index 424fa65b150..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/complex-1.c
+++ /dev/null
@@ -1,40 +0,0 @@
-double
-g0 (double x)
-{
- return 1.0;
-}
-
-double
-g1 (double x)
-{
- return -1.0;
-}
-
-double
-g2 (double x)
-{
- return 0.0;
-}
-
-__complex__ double
-cexp (__complex__ double x)
-{
- double r;
-
- r = g0 (__real__ x);
- __real__ x = r * g1 (__imag__ x);
- __imag__ x = r * g2 (__imag__ x);
- return x;
-}
-
-main ()
-{
- __complex__ double x;
-
- x = cexp (1.0i);
- if (__real__ x != -1.0)
- abort ();
- if (__imag__ x != 0.0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-2.c b/gcc/testsuite/gcc.c-torture/execute/complex-2.c
deleted file mode 100644
index 9634c7943f3..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/complex-2.c
+++ /dev/null
@@ -1,27 +0,0 @@
-__complex__ double
-f (__complex__ double x, __complex__ double y)
-{
- x += y;
- return x;
-}
-
-__complex__ double ag = 1.0 + 1.0i;
-__complex__ double bg = -2.0 + 2.0i;
-
-main ()
-{
- __complex__ double a, b, c;
-
- a = ag;
- b = -2.0 + 2.0i;
- c = f (a, b);
-
- if (a != 1.0 + 1.0i)
- abort ();
- if (b != -2.0 + 2.0i)
- abort ();
- if (c != -1.0 + 3.0i)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-3.c b/gcc/testsuite/gcc.c-torture/execute/complex-3.c
deleted file mode 100644
index 4297cf11ebd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/complex-3.c
+++ /dev/null
@@ -1,25 +0,0 @@
-struct complex
-{
- float r;
- float i;
-};
-
-struct complex cmplx (float, float);
-
-struct complex
-f (float a, float b)
-{
- struct complex c;
- c.r = a;
- c.i = b;
- return c;
-}
-
-main ()
-{
- struct complex z = f (1.0, 0.0);
-
- if (z.r != 1.0 || z.i != 0.0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-4.c b/gcc/testsuite/gcc.c-torture/execute/complex-4.c
deleted file mode 100644
index 1c458d21fba..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/complex-4.c
+++ /dev/null
@@ -1,9 +0,0 @@
-main ()
-{
- if ((__complex__ double) 0.0 != (__complex__ double) (-0.0))
- abort ();
-
- if (0.0 != -0.0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-5.c b/gcc/testsuite/gcc.c-torture/execute/complex-5.c
deleted file mode 100644
index a3338082c46..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/complex-5.c
+++ /dev/null
@@ -1,20 +0,0 @@
-float __complex__
-p (float __complex__ a, float __complex__ b)
-{
- return a + b;
-}
-
-float __complex__ x = 1.0 + 14.0 * (1.0fi);
-float __complex__ y = 7.0 + 5.0 * (1.0fi);
-float __complex__ w = 8.0 + 19.0 * (1.0fi);
-float __complex__ z;
-
-main ()
-{
-
- z = p (x,y);
- y = p (x, 1.0f / z);
- if (z != w)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/compndlit-1.c b/gcc/testsuite/gcc.c-torture/execute/compndlit-1.c
deleted file mode 100644
index 4a8488d0ab4..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/compndlit-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S
-{
- int a:3;
- unsigned b:1, c:28;
-};
-
-struct S x = {1, 1, 1};
-
-main ()
-{
- x = (struct S) {b:0, a:0, c:({ struct S o = x; o.a == 1 ? 10 : 20;})};
- if (x.c != 10)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/configure.in b/gcc/testsuite/gcc.c-torture/execute/configure.in
deleted file mode 100644
index 7d7078dbfd2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=execute.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/execute/conversion.c b/gcc/testsuite/gcc.c-torture/execute/conversion.c
deleted file mode 100644
index fc69d6279ba..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/conversion.c
+++ /dev/null
@@ -1,380 +0,0 @@
-/* Test front-end conversions, optimizer conversions, and run-time
- conversions between different arithmetic types.
-
- Constants are specified in a non-obvious way to make them work for
- any word size. Their value on a 32-bit machine is indicated in the
- comments.
-
- Note that this code is NOT intended for testing of accuracy of fp
- conversions. */
-
-float
-u2f(u)
- unsigned int u;
-{
- return u;
-}
-
-double
-u2d(u)
- unsigned int u;
-{
- return u;
-}
-
-float
-s2f(s)
- int s;
-{
- return s;
-}
-
-double
-s2d(s)
- int s;
-{
- return s;
-}
-
-int
-fnear (float x, float y)
-{
- float t = x - y;
- return t == 0 || x / t > 1000000.0;
-}
-
-int
-dnear (double x, double y)
-{
- double t = x - y;
- return t == 0 || x / t > 100000000000000.0;
-}
-
-test_integer_to_float()
-{
- if (u2f(0U) != (float) 0U) /* 0 */
- abort();
- if (!fnear (u2f(~0U), (float) ~0U)) /* 0xffffffff */
- abort();
- if (!fnear (u2f((~0U) >> 1), (float) ((~0U) >> 1))) /* 0x7fffffff */
- abort();
- if (u2f(~((~0U) >> 1)) != (float) ~((~0U) >> 1)) /* 0x80000000 */
- abort();
-
- if (u2d(0U) != (double) 0U) /* 0 */
- abort();
- if (!dnear (u2d(~0U), (double) ~0U)) /* 0xffffffff */
- abort();
- if (!dnear (u2d((~0U) >> 1),(double) ((~0U) >> 1))) /* 0x7fffffff */
- abort();
- if (u2d(~((~0U) >> 1)) != (double) ~((~0U) >> 1)) /* 0x80000000 */
- abort();
-
- if (s2f(0) != (float) 0) /* 0 */
- abort();
- if (!fnear (s2f(~0), (float) ~0)) /* 0xffffffff */
- abort();
- if (!fnear (s2f((int)((~0U) >> 1)), (float)(int)((~0U) >> 1))) /* 0x7fffffff */
- abort();
- if (s2f((int)(~((~0U) >> 1))) != (float)(int)~((~0U) >> 1)) /* 0x80000000 */
- abort();
-
- if (s2d(0) != (double) 0) /* 0 */
- abort();
- if (!dnear (s2d(~0), (double) ~0)) /* 0xffffffff */
- abort();
- if (!dnear (s2d((int)((~0U) >> 1)), (double)(int)((~0U) >> 1))) /* 0x7fffffff */
- abort();
- if (s2d((int)~((~0U) >> 1)) != (double)(int)~((~0U) >> 1)) /* 0x80000000 */
- abort();
-}
-
-#if __GNUC__
-float
-ull2f(u)
- unsigned long long int u;
-{
- return u;
-}
-
-double
-ull2d(u)
- unsigned long long int u;
-{
- return u;
-}
-
-float
-sll2f(s)
- long long int s;
-{
- return s;
-}
-
-double
-sll2d(s)
- long long int s;
-{
- return s;
-}
-
-test_longlong_integer_to_float()
-{
- if (ull2f(0ULL) != (float) 0ULL) /* 0 */
- abort();
- if (ull2f(~0ULL) != (float) ~0ULL) /* 0xffffffff */
- abort();
- if (ull2f((~0ULL) >> 1) != (float) ((~0ULL) >> 1)) /* 0x7fffffff */
- abort();
- if (ull2f(~((~0ULL) >> 1)) != (float) ~((~0ULL) >> 1)) /* 0x80000000 */
- abort();
-
- if (ull2d(0ULL) != (double) 0ULL) /* 0 */
- abort();
-#if __HAVE_68881__
- /* Some 68881 targets return values in fp0, with excess precision.
- But the compile-time conversion to double works correctly. */
- if (! dnear (ull2d(~0ULL), (double) ~0ULL)) /* 0xffffffff */
- abort();
- if (! dnear (ull2d((~0ULL) >> 1), (double) ((~0ULL) >> 1))) /* 0x7fffffff */
- abort();
-#else
- if (ull2d(~0ULL) != (double) ~0ULL) /* 0xffffffff */
- abort();
- if (ull2d((~0ULL) >> 1) != (double) ((~0ULL) >> 1)) /* 0x7fffffff */
- abort();
-#endif
- if (ull2d(~((~0ULL) >> 1)) != (double) ~((~0ULL) >> 1)) /* 0x80000000 */
- abort();
-
- if (sll2f(0LL) != (float) 0LL) /* 0 */
- abort();
- if (sll2f(~0LL) != (float) ~0LL) /* 0xffffffff */
- abort();
- if (! fnear (sll2f((long long int)((~0ULL) >> 1)), (float)(long long int)((~0ULL) >> 1))) /* 0x7fffffff */
- abort();
- if (sll2f((long long int)(~((~0ULL) >> 1))) != (float)(long long int)~((~0ULL) >> 1)) /* 0x80000000 */
- abort();
-
- if (sll2d(0LL) != (double) 0LL) /* 0 */
- abort();
- if (sll2d(~0LL) != (double) ~0LL) /* 0xffffffff */
- abort();
- if (!dnear (sll2d((long long int)((~0ULL) >> 1)), (double)(long long int)((~0ULL) >> 1))) /* 0x7fffffff */
- abort();
- if (! dnear (sll2d((long long int)~((~0ULL) >> 1)), (double)(long long int)~((~0ULL) >> 1))) /* 0x80000000 */
- abort();
-}
-#endif
-
-unsigned int
-f2u(float f)
-{
- return (unsigned) f;
-}
-
-unsigned int
-d2u(double d)
-{
- return (unsigned) d;
-}
-
-int
-f2s(float f)
-{
- return (int) f;
-}
-
-int
-d2s(double d)
-{
- return (int) d;
-}
-
-test_float_to_integer()
-{
- if (f2u(0.0) != 0)
- abort();
- if (f2u(0.999) != 0)
- abort();
- if (f2u(1.0) != 1)
- abort();
- if (f2u(1.99) != 1)
- abort();
- if (f2u((float) ((~0U) >> 1)) != (~0U) >> 1 && /* 0x7fffffff */
- f2u((float) ((~0U) >> 1)) != ((~0U) >> 1) + 1)
- abort();
- if (f2u((float) ~((~0U) >> 1)) != ~((~0U) >> 1)) /* 0x80000000 */
- abort();
-
- /* CYGNUS LOCAL -- amylaar/32bit doubles */
- /* These tests require double precision, so for hosts that don't offer
- that much precision, just ignore these test. */
- if (sizeof (double) >= 8) {
- /* END CYGNUS LOCAL -- amylaar/32bit doubles */
- if (d2u(0.0) != 0)
- abort();
- if (d2u(0.999) != 0)
- abort();
- if (d2u(1.0) != 1)
- abort();
- if (d2u(1.99) != 1)
- abort();
- if (d2u((double) (~0U)) != ~0U) /* 0xffffffff */
- abort();
- if (d2u((double) ((~0U) >> 1)) != (~0U) >> 1) /* 0x7fffffff */
- abort();
- if (d2u((double) ~((~0U) >> 1)) != ~((~0U) >> 1)) /* 0x80000000 */
- abort();
- /* CYGNUS LOCAL -- amylaar/32bit doubles */
- }
- /* END CYGNUS LOCAL -- amylaar/32bit doubles */
-
-
- if (f2s(0.0) != 0)
- abort();
- if (f2s(0.999) != 0)
- abort();
- if (f2s(1.0) != 1)
- abort();
- if (f2s(1.99) != 1)
- abort();
- if (f2s(-0.999) != 0)
- abort();
- if (f2s(-1.0) != -1)
- abort();
- if (f2s(-1.99) != -1)
- abort();
- if (f2s((float)(int)~((~0U) >> 1)) != (int)~((~0U) >> 1)) /* 0x80000000 */
- abort();
-
- /* CYGNUS LOCAL -- amylaar/32bit doubles */
- /* These tests require double precision, so for hosts that don't offer
- that much precision, just ignore these test. */
- if (sizeof (double) >= 8) {
- /* END CYGNUS LOCAL -- amylaar/32bit doubles */
- if (d2s(0.0) != 0)
- abort();
- if (d2s(0.999) != 0)
- abort();
- if (d2s(1.0) != 1)
- abort();
- if (d2s(1.99) != 1)
- abort();
- if (d2s(-0.999) != 0)
- abort();
- if (d2s(-1.0) != -1)
- abort();
- if (d2s(-1.99) != -1)
- abort();
- if (d2s((double) ((~0U) >> 1)) != (~0U) >> 1) /* 0x7fffffff */
- abort();
- if (d2s((double)(int)~((~0U) >> 1)) != (int)~((~0U) >> 1)) /* 0x80000000 */
- abort();
- /* CYGNUS LOCAL -- amylaar/32bit doubles */
- }
- /* END CYGNUS LOCAL -- amylaar/32bit doubles */
-}
-
-#if __GNUC__
-unsigned long long int
-f2ull(float f)
-{
- return (unsigned long long int) f;
-}
-
-unsigned long long int
-d2ull(double d)
-{
- return (unsigned long long int) d;
-}
-
-long long int
-f2sll(float f)
-{
- return (long long int) f;
-}
-
-long long int
-d2sll(double d)
-{
- return (long long int) d;
-}
-
-test_float_to_longlong_integer()
-{
- if (f2ull(0.0) != 0LL)
- abort();
- if (f2ull(0.999) != 0LL)
- abort();
- if (f2ull(1.0) != 1LL)
- abort();
- if (f2ull(1.99) != 1LL)
- abort();
- if (f2ull((float) ((~0ULL) >> 1)) != (~0ULL) >> 1 && /* 0x7fffffff */
- f2ull((float) ((~0ULL) >> 1)) != ((~0ULL) >> 1) + 1)
- abort();
- if (f2ull((float) ~((~0ULL) >> 1)) != ~((~0ULL) >> 1)) /* 0x80000000 */
- abort();
-
- if (d2ull(0.0) != 0LL)
- abort();
- if (d2ull(0.999) != 0LL)
- abort();
- if (d2ull(1.0) != 1LL)
- abort();
- if (d2ull(1.99) != 1LL)
- abort();
- if (d2ull((double) ((~0ULL) >> 1)) != (~0ULL) >> 1 && /* 0x7fffffff */
- d2ull((double) ((~0ULL) >> 1)) != ((~0ULL) >> 1) + 1)
- abort();
- if (d2ull((double) ~((~0ULL) >> 1)) != ~((~0ULL) >> 1)) /* 0x80000000 */
- abort();
-
-
- if (f2sll(0.0) != 0LL)
- abort();
- if (f2sll(0.999) != 0LL)
- abort();
- if (f2sll(1.0) != 1LL)
- abort();
- if (f2sll(1.99) != 1LL)
- abort();
- if (f2sll(-0.999) != 0LL)
- abort();
- if (f2sll(-1.0) != -1LL)
- abort();
- if (f2sll(-1.99) != -1LL)
- abort();
- if (f2sll((float)(long long int)~((~0ULL) >> 1)) != (long long int)~((~0ULL) >> 1)) /* 0x80000000 */
- abort();
-
- if (d2sll(0.0) != 0LL)
- abort();
- if (d2sll(0.999) != 0LL)
- abort();
- if (d2sll(1.0) != 1LL)
- abort();
- if (d2sll(1.99) != 1LL)
- abort();
- if (d2sll(-0.999) != 0LL)
- abort();
- if (d2sll(-1.0) != -1LL)
- abort();
- if (d2sll(-1.99) != -1LL)
- abort();
- if (d2sll((double)(long long int)~((~0ULL) >> 1)) != (long long int)~((~0ULL) >> 1)) /* 0x80000000 */
- abort();
-}
-#endif
-
-main()
-{
- test_integer_to_float();
- test_float_to_integer();
-#if __GNUC__
- test_longlong_integer_to_float();
- test_float_to_longlong_integer();
-#endif
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/cvt-1.c b/gcc/testsuite/gcc.c-torture/execute/cvt-1.c
deleted file mode 100644
index d7c2b33fde1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/cvt-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* CYGNUS LOCAL -- meissner/16 bit ints */
-static inline long
-g1 (double x)
-{
- return (double) (long) x;
-}
-
-long
-g2 (double f)
-{
- return f;
-}
-
-double
-f (long i)
-{
- if (g1 (i) != g2 (i))
- abort ();
- return g2 (i);
-}
-
-main ()
-{
- if (f (123456789L) != 123456789L)
- abort ();
- if (f (123456789L) != g2 (123456789L))
- abort ();
- exit (0);
-}
-/* END CYGNUS LOCAL -- meissner/16 bit ints */
diff --git a/gcc/testsuite/gcc.c-torture/execute/cvt-1.x b/gcc/testsuite/gcc.c-torture/execute/cvt-1.x
deleted file mode 100644
index 997c8650c00..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/cvt-1.x
+++ /dev/null
@@ -1,7 +0,0 @@
-# This doesn't work on d10v if ints are not 32 bits
-
-if { [istarget "d10v-*-*"] && ! [string-match "*-mint32*" $CFLAGS] } {
- set torture_execute_xfail "d10v-*-*"
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/dbra-1.c b/gcc/testsuite/gcc.c-torture/execute/dbra-1.c
deleted file mode 100644
index 20ae8988ec8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/dbra-1.c
+++ /dev/null
@@ -1,95 +0,0 @@
-f1 (a)
- long a;
-{
- int i;
- for (i = 0; i < 10; i++)
- {
- if (--a == -1)
- return i;
- }
- return -1;
-}
-
-f2 (a)
- long a;
-{
- int i;
- for (i = 0; i < 10; i++)
- {
- if (--a != -1)
- return i;
- }
- return -1;
-}
-
-f3 (a)
- long a;
-{
- int i;
- for (i = 0; i < 10; i++)
- {
- if (--a == 0)
- return i;
- }
- return -1;
-}
-
-f4 (a)
- long a;
-{
- int i;
- for (i = 0; i < 10; i++)
- {
- if (--a != 0)
- return i;
- }
- return -1;
-}
-
-f5 (a)
- long a;
-{
- int i;
- for (i = 0; i < 10; i++)
- {
- if (++a == 0)
- return i;
- }
- return -1;
-}
-
-f6 (a)
- long a;
-{
- int i;
- for (i = 0; i < 10; i++)
- {
- if (++a != 0)
- return i;
- }
- return -1;
-}
-
-
-main()
-{
- if (f1 (5L) != 5)
- abort ();
- if (f2 (1L) != 0)
- abort ();
- if (f2 (0L) != 1)
- abort ();
- if (f3 (5L) != 4)
- abort ();
- if (f4 (1L) != 1)
- abort ();
- if (f4 (0L) != 0)
- abort ();
- if (f5 (-5L) != 4)
- abort ();
- if (f6 (-1L) != 1)
- abort ();
- if (f6 (0L) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/divconst-1.c b/gcc/testsuite/gcc.c-torture/execute/divconst-1.c
deleted file mode 100644
index ce9dd60a8e8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/divconst-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-typedef struct
-{
- unsigned a, b, c, d;
-} t1;
-
-f (t1 *ps)
-{
- ps->a = 10000;
- ps->b = ps->a / 3;
- ps->c = 10000;
- ps->d = ps->c / 3;
-}
-
-main ()
-{
- t1 s;
- f (&s);
- if (s.a != 10000 || s.b != 3333 || s.c != 10000 || s.d != 3333)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/divconst-2.c b/gcc/testsuite/gcc.c-torture/execute/divconst-2.c
deleted file mode 100644
index d3adaf3a0af..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/divconst-2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-long
-f (long x)
-{
- return x / (-0x7fffffffL - 1L);
-}
-
-main ()
-{
- if (f (-1L) != 0L || f (0x7fffffffL) != 0L || f (-0x7fffffffL - 1L) != 1l)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/divconst-3.c b/gcc/testsuite/gcc.c-torture/execute/divconst-3.c
deleted file mode 100644
index ddd687cbcfd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/divconst-3.c
+++ /dev/null
@@ -1,12 +0,0 @@
-long long
-f (long long x)
-{
- return x / 10000000000LL;
-}
-
-main ()
-{
- if (f (10000000000LL) != 1 || f (100000000000LL) != 10)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/divmod-1.c b/gcc/testsuite/gcc.c-torture/execute/divmod-1.c
deleted file mode 100644
index ade019c884e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/divmod-1.c
+++ /dev/null
@@ -1,72 +0,0 @@
-div1 (x)
- signed char x;
-{
- return x / -1;
-}
-
-div2 (x)
- signed short x;
-{
- return x / -1;
-}
-
-div3 (x, y)
- signed char x;
- signed char y;
-{
- return x / y;
-}
-
-div4 (x, y)
- signed short x;
- signed short y;
-{
- return x / y;
-}
-
-mod1 (x)
- signed char x;
-{
- return x % -1;
-}
-
-mod2 (x)
- signed short x;
-{
- return x % -1;
-}
-
-mod3 (x, y)
- signed char x;
- signed char y;
-{
- return x % y;
-}
-
-mod4 (x, y)
- signed short x;
- signed short y;
-{
- return x % y;
-}
-
-main ()
-{
- if (div1 (-(1 << 7)) != 1 << 7)
- abort ();
- if (div2 (-(1 << 15)) != 1 << 15)
- abort ();
- if (div3 (-(1 << 7), -1) != 1 << 7)
- abort ();
- if (div4 (-(1 << 15), -1) != 1 << 15)
- abort ();
- if (mod1 (-(1 << 7)) != 0)
- abort ();
- if (mod2 (-(1 << 15)) != 0)
- abort ();
- if (mod3 (-(1 << 7), -1) != 0)
- abort ();
- if (mod4 (-(1 << 15), -1) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/enum-1.c b/gcc/testsuite/gcc.c-torture/execute/enum-1.c
deleted file mode 100644
index 381e354918c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/enum-1.c
+++ /dev/null
@@ -1,43 +0,0 @@
-typedef enum
-{
- END = -1,
- EMPTY = (1 << 8 ) ,
- BACKREF,
- BEGLINE,
- ENDLINE,
- BEGWORD,
- ENDWORD,
- LIMWORD,
- NOTLIMWORD,
- QMARK,
- STAR,
- PLUS,
- REPMN,
- CAT,
- OR,
- ORTOP,
- LPAREN,
- RPAREN,
- CSET
-} token;
-
-static token tok;
-
-static int
-atom ()
-{
- if ((tok >= 0 && tok < (1 << 8 ) ) || tok >= CSET || tok == BACKREF
- || tok == BEGLINE || tok == ENDLINE || tok == BEGWORD
- || tok == ENDWORD || tok == LIMWORD || tok == NOTLIMWORD)
- return 1;
- else
- return 0;
-}
-
-main ()
-{
- tok = 0;
- if (atom () != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/execute.exp b/gcc/testsuite/gcc.c-torture/execute/execute.exp
deleted file mode 100644
index 8c896cb3e15..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/execute.exp
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-# Modified and maintained by Jeffrey Wheat (cassidy@cygnus.com)
-
-#
-# These tests come from Torbjorn Granlund (tege@cygnus.com)
-# C torture test suite.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib c-torture.exp
-
-#
-# main test loop
-#
-
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $src] then {
- continue
- }
-
- c-torture-execute $src
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c b/gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
deleted file mode 100644
index 55f0e10660f..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-static double f (float a);
-static double (*fp) (float a);
-
-main ()
-{
- fp = f;
- if (fp ((float) 1) != 1.0)
- abort ();
- exit (0);
-}
-
-static double
-f (float a)
-{
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/gofast.c b/gcc/testsuite/gcc.c-torture/execute/gofast.c
deleted file mode 100644
index f55ced22073..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/gofast.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Program to test gcc's usage of the gofast library. */
-
-/* The main guiding themes are to make it trivial to add test cases over time
- and to make it easy for a program to parse the output to see if the right
- libcalls are being made. */
-
-#include <stdio.h>
-
-float fp_add (float a, float b) { return a + b; }
-float fp_sub (float a, float b) { return a - b; }
-float fp_mul (float a, float b) { return a * b; }
-float fp_div (float a, float b) { return a / b; }
-float fp_neg (float a) { return -a; }
-
-double dp_add (double a, double b) { return a + b; }
-double dp_sub (double a, double b) { return a - b; }
-double dp_mul (double a, double b) { return a * b; }
-double dp_div (double a, double b) { return a / b; }
-double dp_neg (double a) { return -a; }
-
-double fp_to_dp (float f) { return f; }
-float dp_to_fp (double d) { return d; }
-
-int eqsf2 (float a, float b) { return a == b; }
-int nesf2 (float a, float b) { return a != b; }
-int gtsf2 (float a, float b) { return a > b; }
-int gesf2 (float a, float b) { return a >= b; }
-int ltsf2 (float a, float b) { return a < b; }
-int lesf2 (float a, float b) { return a <= b; }
-
-int eqdf2 (double a, double b) { return a == b; }
-int nedf2 (double a, double b) { return a != b; }
-int gtdf2 (double a, double b) { return a > b; }
-int gedf2 (double a, double b) { return a >= b; }
-int ltdf2 (double a, double b) { return a < b; }
-int ledf2 (double a, double b) { return a <= b; }
-
-float floatsisf (int i) { return i; }
-double floatsidf (int i) { return i; }
-int fixsfsi (float f) { return f; }
-int fixdfsi (double d) { return d; }
-unsigned int fixunssfsi (float f) { return f; }
-unsigned int fixunsdfsi (double d) { return d; }
-
-int fail_count = 0;
-
-int
-fail (char *msg)
-{
- fail_count++;
- fprintf (stderr, "Test failed: %s\n", msg);
-}
-
-int
-main()
-{
- if (fp_add (1, 1) != 2) fail ("fp_add 1+1");
- if (fp_sub (3, 2) != 1) fail ("fp_sub 3-2");
- if (fp_mul (2, 3) != 6) fail ("fp_mul 2*3");
- if (fp_div (3, 2) != 1.5) fail ("fp_div 3/2");
- if (fp_neg (1) != -1) fail ("fp_neg 1");
-
- if (dp_add (1, 1) != 2) fail ("dp_add 1+1");
- if (dp_sub (3, 2) != 1) fail ("dp_sub 3-2");
- if (dp_mul (2, 3) != 6) fail ("dp_mul 2*3");
- if (dp_div (3, 2) != 1.5) fail ("dp_div 3/2");
- if (dp_neg (1) != -1) fail ("dp_neg 1");
-
- if (fp_to_dp (1.5) != 1.5) fail ("fp_to_dp 1.5");
- if (dp_to_fp (1.5) != 1.5) fail ("dp_to_fp 1.5");
-
- if (floatsisf (1) != 1) fail ("floatsisf 1");
- if (floatsidf (1) != 1) fail ("floatsidf 1");
- if (fixsfsi (1.42) != 1) fail ("fixsfsi 1.42");
- if (fixunssfsi (1.42) != 1) fail ("fixunssfsi 1.42");
- if (fixdfsi (1.42) != 1) fail ("fixdfsi 1.42");
- if (fixunsdfsi (1.42) != 1) fail ("fixunsdfsi 1.42");
-
- if (eqsf2 (1, 1) == 0) fail ("eqsf2 1==1");
- if (eqsf2 (1, 2) != 0) fail ("eqsf2 1==2");
- if (nesf2 (1, 2) == 0) fail ("nesf2 1!=1");
- if (nesf2 (1, 1) != 0) fail ("nesf2 1!=1");
- if (gtsf2 (2, 1) == 0) fail ("gtsf2 2>1");
- if (gtsf2 (1, 1) != 0) fail ("gtsf2 1>1");
- if (gtsf2 (0, 1) != 0) fail ("gtsf2 0>1");
- if (gesf2 (2, 1) == 0) fail ("gesf2 2>=1");
- if (gesf2 (1, 1) == 0) fail ("gesf2 1>=1");
- if (gesf2 (0, 1) != 0) fail ("gesf2 0>=1");
- if (ltsf2 (1, 2) == 0) fail ("ltsf2 1<2");
- if (ltsf2 (1, 1) != 0) fail ("ltsf2 1<1");
- if (ltsf2 (1, 0) != 0) fail ("ltsf2 1<0");
- if (lesf2 (1, 2) == 0) fail ("lesf2 1<=2");
- if (lesf2 (1, 1) == 0) fail ("lesf2 1<=1");
- if (lesf2 (1, 0) != 0) fail ("lesf2 1<=0");
-
- if (fail_count != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c
deleted file mode 100644
index 7f072b2981a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-unsigned u=2147483839;float f0=2147483648e0,f1=2147483904e0;
-main()
-{
- float f=u;
- if(f==f0)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c
deleted file mode 100644
index 62d22940adc..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdio.h>
-double normalize(x)double x;{if(x==0)x=0;return x;}
-main(){char b[9];sprintf(b,"%g",normalize(-0.0));if(strcmp(b,"0"))abort();exit(0);}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c
deleted file mode 100644
index b96a3c06423..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-main ()
-{
- union {
- double d;
- unsigned char c[8];
- } d;
-
- d.d = 1.0/7.0;
-
- if (sizeof (char) * 8 == sizeof (double))
- {
- if (d.c[0] == 0x92 && d.c[1] == 0x24 && d.c[2] == 0x49 && d.c[3] == 0x92
- && d.c[4] == 0x24 && d.c[5] == 0x49 && d.c[6] == 0xc2 && d.c[7] == 0x3f)
- exit (0);
- if (d.c[7] == 0x92 && d.c[6] == 0x24 && d.c[5] == 0x49 && d.c[4] == 0x92
- && d.c[3] == 0x24 && d.c[2] == 0x49 && d.c[1] == 0xc2 && d.c[0] == 0x3f)
- exit (0);
-#if defined __arm__ || defined __thumb__
- if (d.c[4] == 0x92 && d.c[5] == 0x24 && d.c[6] == 0x49 && d.c[7] == 0x92
- && d.c[0] == 0x24 && d.c[1] == 0x49 && d.c[2] == 0xc2 && d.c[3] == 0x3f)
- exit (0);
-#endif
- abort ();
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c
deleted file mode 100644
index 0465ed51c8b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c
+++ /dev/null
@@ -1,23 +0,0 @@
- int main(void)
- {
- float reale = 1.0f;
- float oneplus;
- int i;
-
- if (sizeof (float) != 4)
- exit (0);
-
- for (i = 0; ; i++)
- {
- oneplus = 1.0f + reale;
- if (oneplus == 1.0f)
- break;
- reale=reale/2.0f;
- }
- /* Assumes ieee754 accurate arithmetic above. */
- if (i != 24)
- abort ();
- else
- exit (0);
- }
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.x b/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.x
deleted file mode 100644
index de72f0385c7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.x
+++ /dev/null
@@ -1,11 +0,0 @@
-set torture_eval_before_execute {
-
- set compiler_conditional_xfail_data {
- "ia32 fp rounding isn't pedantic" \
- "i?86-*-*" \
- { "-O3" "-O2" "-O1" "-Os"} \
- { "" }
- }
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/Makefile.in b/gcc/testsuite/gcc.c-torture/execute/ieee/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/configure.in b/gcc/testsuite/gcc.c-torture/execute/ieee/configure.in
deleted file mode 100644
index 7d7078dbfd2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=execute.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c
deleted file mode 100644
index 4794efcb53b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <signal.h>
-
-double nan = 1.0/0.0 - 1.0/0.0;
-double x = 1.0;
-
-void leave ()
-{
- exit (0);
-}
-
-main ()
-{
-#if ! defined (__vax__) && ! defined (_CRAY)
- /* Move this line earlier, for architectures (like alpha) that issue
- SIGFPE on the first comparisons. */
-#ifndef SIGNAL_SUPPRESS
- /* Some machines catches a SIGFPE when a NaN is compared.
- Let this test succeed o such machines. */
- signal (SIGFPE, leave);
-#endif
- /* NaN is an IEEE unordered operand. All these test should be false. */
- if (nan == nan)
- abort ();
- if (nan != x)
- x = 1.0;
- else
- abort ();
-
- if (nan < x)
- abort ();
- if (nan > x)
- abort ();
- if (nan <= x)
- abort ();
- if (nan >= x)
- abort ();
- if (nan == x)
- abort ();
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp b/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
deleted file mode 100644
index 903d5cef147..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993, 1996 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Written by Jeffrey Wheat (cassidy@cygnus.com)
-#
-
-#
-# These tests come from Torbjorn Granlund's (tege@cygnus.com)
-# C torture test suite, and other contributors.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-if [target_info exists ieee_multilib_flags] {
- set additional_flags [target_info ieee_multilib_flags];
-} else {
- set additional_flags "";
-}
-
-# We must use -ffloat-store to ensure that excess precision on some machines
-# does not cause problems
-lappend additional_flags "-ffloat-store"
-
-# load support procs
-load_lib c-torture.exp
-
-# initialize harness
-gcc_init
-
-#
-# main test loop
-#
-
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $src] then {
- continue
- }
-
- c-torture-execute $src $additional_flags
-}
-
-# All done.
-gcc_finish
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c b/gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
deleted file mode 100644
index 85715261d61..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
+++ /dev/null
@@ -1,22 +0,0 @@
-main ()
-{
- union
- {
- double d;
- unsigned short i[sizeof (double) / sizeof (short)];
- } u;
- int a = 0;
- int b = -5;
- int j;
-
- u.d = (double) a / b;
-
- /* Look for the right pattern, but be sloppy since
- we don't know the byte order. */
- for (j = 0; j < sizeof (double) / sizeof (short); j++)
- {
- if (u.i[j] == 0x8000)
- exit (0);
- }
- abort ();
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c b/gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c
deleted file mode 100644
index 0da53d24737..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Test IEEE +0/-0 rules */
-
-static double pzero = +0.0;
-static double nzero = -0.0;
-static double pinf = +1.0 / 0.0;
-static double ninf = -1.0 / 0.0;
-static double nan = 0.0 / 0.0;
-
-void
-expect (double value, double expected)
-{
- if (expected != expected) /* expected value is Not a number */
- {
- if (value == value) /* actual value is a number */
- abort ();
- }
-
- else if (value != value)
- abort (); /* actual value is a NaN */
-
- else if (memcmp ((void *)&value, (void *)&expected, sizeof (double)) != 0)
- abort (); /* values don't match */
-}
-
-main ()
-{
- expect (pzero + pzero, pzero);
- expect (pzero + nzero, pzero);
- expect (nzero + pzero, pzero);
- expect (nzero + nzero, nzero);
-
- expect (pzero - pzero, pzero);
- expect (pzero - nzero, pzero);
- expect (nzero - pzero, nzero);
- expect (nzero - nzero, pzero);
-
- expect (pzero * pzero, pzero);
- expect (pzero * nzero, nzero);
- expect (nzero * pzero, nzero);
- expect (nzero * nzero, pzero);
-
- expect (+1.00 * pzero, pzero);
- expect (-1.00 * pzero, nzero);
- expect (+1.00 * nzero, nzero);
- expect (-1.00 * nzero, pzero);
-
- expect (pzero / pzero, nan);
- expect (pzero / nzero, nan);
- expect (nzero / pzero, nan);
- expect (nzero / nzero, nan);
-
- expect (+1.00 / pzero, pinf);
- expect (-1.00 / pzero, ninf);
- expect (+1.00 / nzero, ninf);
- expect (-1.00 / nzero, pinf);
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
deleted file mode 100644
index a91a99e92e2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
+++ /dev/null
@@ -1,41 +0,0 @@
-double d (unsigned long long k)
-{
- double x;
-
- x = (double) k;
- return x;
-}
-
-float s (unsigned long long k)
-{
- float x;
-
- x = (float) k;
- return x;
-}
-
-main ()
-{
- unsigned long long int k;
- double x;
-
- /* CYGNUS LOCAL -- meissner/32bit doubles */
- if (sizeof (double) >= 8)
- {
- k = 0x8693ba6d7d220401ULL;
- x = d (k);
- k = (unsigned long long) x;
- if (k != 0x8693ba6d7d220800ULL)
- abort ();
- }
- /* END CYGNUS LOCAL -- meissner/32bit doubles */
-
- k = 0x8234508000000001ULL;
- x = s (k);
- k = (unsigned long long) x;
- if (k != 0x8234510000000000ULL)
- abort ();
-
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x b/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x
deleted file mode 100644
index 0ae0a35d315..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x
+++ /dev/null
@@ -1,7 +0,0 @@
-# This doesn't work on d10v if doubles are not 64 bits
-
-if { [istarget "d10v-*-*"] && ! [string-match "*-mdouble64*" $CFLAGS] } {
- set torture_execute_xfail "d10v-*-*"
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/index-1.c b/gcc/testsuite/gcc.c-torture/execute/index-1.c
deleted file mode 100644
index b00090d834a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/index-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-int a[] =
-{
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
-};
-
-int
-f (long n)
-{
- return a[n - 100000];
-}
-
-main ()
-{
- if (f (100030L) != 30)
- abort();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/inst-check.c b/gcc/testsuite/gcc.c-torture/execute/inst-check.c
deleted file mode 100644
index ff4b00d7868..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/inst-check.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-
-f(m)
-{
- int i,s=0;
- for(i=0;i<m;i++)
- s+=i;
- return s;
-}
-
-main()
-{
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/int-compare.c b/gcc/testsuite/gcc.c-torture/execute/int-compare.c
deleted file mode 100644
index 017a8cc3f15..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/int-compare.c
+++ /dev/null
@@ -1,108 +0,0 @@
-#include <limits.h>
-
-gt (a, b)
-{
- return a > b;
-}
-
-ge (a, b)
-{
- return a >= b;
-}
-
-lt (a, b)
-{
- return a < b;
-}
-
-le (a, b)
-{
- return a <= b;
-}
-
-void
-true (c)
-{
- if (!c)
- abort();
-}
-
-void
-false (c)
-{
- if (c)
- abort();
-}
-
-f ()
-{
- true (gt (2, 1));
- false (gt (1, 2));
-
- true (gt (INT_MAX, 0));
- false (gt (0, INT_MAX));
- true (gt (INT_MAX, 1));
- false (gt (1, INT_MAX));
-
- false (gt (INT_MIN, 0));
- true (gt (0, INT_MIN));
- false (gt (INT_MIN, 1));
- true (gt (1, INT_MIN));
-
- true (gt (INT_MAX, INT_MIN));
- false (gt (INT_MIN, INT_MAX));
-
- true (ge (2, 1));
- false (ge (1, 2));
-
- true (ge (INT_MAX, 0));
- false (ge (0, INT_MAX));
- true (ge (INT_MAX, 1));
- false (ge (1, INT_MAX));
-
- false (ge (INT_MIN, 0));
- true (ge (0, INT_MIN));
- false (ge (INT_MIN, 1));
- true (ge (1, INT_MIN));
-
- true (ge (INT_MAX, INT_MIN));
- false (ge (INT_MIN, INT_MAX));
-
- false (lt (2, 1));
- true (lt (1, 2));
-
- false (lt (INT_MAX, 0));
- true (lt (0, INT_MAX));
- false (lt (INT_MAX, 1));
- true (lt (1, INT_MAX));
-
- true (lt (INT_MIN, 0));
- false (lt (0, INT_MIN));
- true (lt (INT_MIN, 1));
- false (lt (1, INT_MIN));
-
- false (lt (INT_MAX, INT_MIN));
- true (lt (INT_MIN, INT_MAX));
-
- false (le (2, 1));
- true (le (1, 2));
-
- false (le (INT_MAX, 0));
- true (le (0, INT_MAX));
- false (le (INT_MAX, 1));
- true (le (1, INT_MAX));
-
- true (le (INT_MIN, 0));
- false (le (0, INT_MIN));
- true (le (INT_MIN, 1));
- false (le (1, INT_MIN));
-
- false (le (INT_MAX, INT_MIN));
- true (le (INT_MIN, INT_MAX));
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-1.c b/gcc/testsuite/gcc.c-torture/execute/loop-1.c
deleted file mode 100644
index 81aeeb6b392..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-main ()
-{
- int i, j, k[3];
-
- j = 0;
- for (i=0; i < 3; i++)
- {
- k[i] = j++;
- }
-
- for (i=2; i >= 0; i--)
- {
- if (k[i] != i)
- abort ();
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2.c b/gcc/testsuite/gcc.c-torture/execute/loop-2.c
deleted file mode 100644
index 3227734fbf8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2.c
+++ /dev/null
@@ -1,17 +0,0 @@
-int a[2];
-
-f (b)
-{
- unsigned int i;
- for (i = 0; i < b; i++)
- a[i] = i - 2;
-}
-
-main ()
-{
- a[0] = a[1] = 0;
- f (2);
- if (a[0] != -2 || a[1] != -1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2b.c b/gcc/testsuite/gcc.c-torture/execute/loop-2b.c
deleted file mode 100644
index 7f67bcd639d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2b.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <limits.h>
-
-int a[2];
-
-f (int i)
-{
- for (; i < INT_MAX; i++)
- {
- a[i] = -2;
- if (&a[i] == &a[1])
- break;
- }
-}
-
-main ()
-{
- a[0] = a[1] = 0;
- f (0);
- if (a[0] != -2 || a[1] != -2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2c.c b/gcc/testsuite/gcc.c-torture/execute/loop-2c.c
deleted file mode 100644
index 9facf3bfd92..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2c.c
+++ /dev/null
@@ -1,23 +0,0 @@
-int a[2];
-
-__inline__ f (b, o)
-{
- unsigned int i;
- int *p;
- for (p = &a[b], i = b; --i < ~0; )
- *--p = i * 3 + o;
-}
-
-g(int b)
-{
- f (b, (int)a);
-}
-
-main ()
-{
- a[0] = a[1] = 0;
- g (2);
- if (a[0] != (int)a || a[1] != (int)a + 3)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2d.c b/gcc/testsuite/gcc.c-torture/execute/loop-2d.c
deleted file mode 100644
index 19272bf0183..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2d.c
+++ /dev/null
@@ -1,18 +0,0 @@
-int a[2];
-
-f (b)
-{
- unsigned int i;
- int *p;
- for (p = &a[b], i = b; --i < ~0; )
- *--p = i * 3 + (int)a;
-}
-
-main ()
-{
- a[0] = a[1] = 0;
- f (2);
- if (a[0] != (int)a || a[1] != (int)a + 3)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2e.c b/gcc/testsuite/gcc.c-torture/execute/loop-2e.c
deleted file mode 100644
index b6ee6501501..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2e.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <limits.h>
-
-#ifdef __unix__ /* ??? Is that good enough? */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#ifndef MAP_ANON
-#ifdef MAP_ANONYMOUS
-#define MAP_ANON MAP_ANONYMOUS
-#else
-#define MAP_ANON MAP_FILE
-#endif
-#endif
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-#ifndef MAP_FIXED
-#define MAP_FIXED 0
-#endif
-#endif
-
-#define MAP_START (void *)0x7fff8000
-#define MAP_LEN 0x10000
-
-#define OFFSET (MAP_LEN/2 - 2 * sizeof (int));
-
-f (int *p, int **q)
-{
- int i;
- for (i = 0; i < 40; i++)
- {
- *q++ = &p[i];
- }
-}
-
-main ()
-{
-#ifdef MAP_ANON
- void *p;
- int *q[40];
- int dev_zero;
-
- dev_zero = open ("/dev/zero", O_RDONLY);
- /* -1 is OK when we have MAP_ANON; else mmap will flag an error. */
- if (INT_MAX != 0x7fffffffL || sizeof (char *) != sizeof (int))
- exit (0);
- p = mmap (MAP_START, MAP_LEN, PROT_READ|PROT_WRITE,
- MAP_ANON|MAP_FIXED|MAP_PRIVATE, dev_zero, 0);
- if (p != (void *)-1)
- {
- p = (char *)p + OFFSET;
- q[39] = 0;
- f (p, q);
- if (q[39] != (int *)p + 39)
- abort ();
- }
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2e.x b/gcc/testsuite/gcc.c-torture/execute/loop-2e.x
deleted file mode 100644
index e68b8fbb8d2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2e.x
+++ /dev/null
@@ -1,9 +0,0 @@
-# This doesn't work on m68k-motorola-sysv
-# It also doesn't work on m88k-motorola-sysv3
-
-global target_triplet
-if { [istarget "m68k-motorola-sysv"] || [istarget "m88k-motorola-sysv3"] } {
- set torture_compile_xfail "$target_triplet"
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2f.c b/gcc/testsuite/gcc.c-torture/execute/loop-2f.c
deleted file mode 100644
index 9f544b9fcbd..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2f.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <limits.h>
-
-#ifdef __unix__ /* ??? Is that good enough? */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#ifndef MAP_ANON
-#ifdef MAP_ANONYMOUS
-#define MAP_ANON MAP_ANONYMOUS
-#else
-#define MAP_ANON MAP_FILE
-#endif
-#endif
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-#ifndef MAP_FIXED
-#define MAP_FIXED 0
-#endif
-#endif
-
-#define MAP_START (void *)0x7fff8000
-#define MAP_LEN 0x10000
-
-#define OFFSET (MAP_LEN/2 - 2 * sizeof (char));
-
-f (int s, char *p)
-{
- int i;
- for (i = s; i >= 0 && &p[i] < &p[40]; i++)
- {
- p[i] = -2;
- }
-}
-
-main ()
-{
-#ifdef MAP_ANON
- char *p;
- int dev_zero;
-
- dev_zero = open ("/dev/zero", O_RDONLY);
- /* -1 is OK when we have MAP_ANON; else mmap will flag an error. */
- if (INT_MAX != 0x7fffffffL || sizeof (char *) != sizeof (int))
- exit (0);
- p = mmap (MAP_START, MAP_LEN, PROT_READ|PROT_WRITE,
- MAP_ANON|MAP_FIXED|MAP_PRIVATE, dev_zero, 0);
- if (p != (char *)-1)
- {
- p += OFFSET;
- p[39] = 0;
- f (0, p);
- if (p[39] != (char)-2)
- abort ();
- p[39] = 0;
- f (-1, p);
- if (p[39] != 0)
- abort ();
- }
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2f.x b/gcc/testsuite/gcc.c-torture/execute/loop-2f.x
deleted file mode 100644
index e68b8fbb8d2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2f.x
+++ /dev/null
@@ -1,9 +0,0 @@
-# This doesn't work on m68k-motorola-sysv
-# It also doesn't work on m88k-motorola-sysv3
-
-global target_triplet
-if { [istarget "m68k-motorola-sysv"] || [istarget "m88k-motorola-sysv3"] } {
- set torture_compile_xfail "$target_triplet"
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2g.c b/gcc/testsuite/gcc.c-torture/execute/loop-2g.c
deleted file mode 100644
index 8792dbf586b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2g.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <limits.h>
-
-#ifdef __unix__ /* ??? Is that good enough? */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#ifndef MAP_ANON
-#ifdef MAP_ANONYMOUS
-#define MAP_ANON MAP_ANONYMOUS
-#else
-#define MAP_ANON MAP_FILE
-#endif
-#endif
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-#ifndef MAP_FIXED
-#define MAP_FIXED 0
-#endif
-#endif
-
-#define MAP_START (void *)0x7fff8000
-#define MAP_LEN 0x10000
-
-#define OFFSET (MAP_LEN/2 - 2 * sizeof (char));
-
-f (int s, char *p)
-{
- int i;
- for (i = s; &p[i] < &p[40] && i >= 0; i++)
- {
- p[i] = -2;
- }
-}
-
-main ()
-{
-#ifdef MAP_ANON
- char *p;
- int dev_zero;
-
- dev_zero = open ("/dev/zero", O_RDONLY);
- /* -1 is OK when we have MAP_ANON; else mmap will flag an error. */
- if (INT_MAX != 0x7fffffffL || sizeof (char *) != sizeof (int))
- exit (0);
- p = mmap (MAP_START, MAP_LEN, PROT_READ|PROT_WRITE,
- MAP_ANON|MAP_FIXED|MAP_PRIVATE, dev_zero, 0);
- if (p != (char *)-1)
- {
- p += OFFSET;
- p[39] = 0;
- f (0, p);
- if (p[39] != (char)-2)
- abort ();
- p[39] = 0;
- f (-1, p);
- if (p[39] != 0)
- abort ();
- }
-#endif
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-2g.x b/gcc/testsuite/gcc.c-torture/execute/loop-2g.x
deleted file mode 100644
index e68b8fbb8d2..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-2g.x
+++ /dev/null
@@ -1,9 +0,0 @@
-# This doesn't work on m68k-motorola-sysv
-# It also doesn't work on m88k-motorola-sysv3
-
-global target_triplet
-if { [istarget "m68k-motorola-sysv"] || [istarget "m88k-motorola-sysv3"] } {
- set torture_compile_xfail "$target_triplet"
-}
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-3.c b/gcc/testsuite/gcc.c-torture/execute/loop-3.c
deleted file mode 100644
index e314a01b1f1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-3.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <limits.h>
-
-int n = 0;
-
-g (i)
-{
- n++;
-}
-
-f (m)
-{
- int i;
- i = m;
- do
- {
- g (i * INT_MAX / 2);
- }
- while (--i > 0);
-}
-
-main ()
-{
- f (4);
- if (n != 4)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-3b.c b/gcc/testsuite/gcc.c-torture/execute/loop-3b.c
deleted file mode 100644
index 3de322cf146..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-3b.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <limits.h>
-
-int n = 0;
-
-g (i)
-{
- n++;
-}
-
-f (m)
-{
- int i;
- i = m;
- do
- {
- g (i * 4);
- i -= INT_MAX / 8;
- }
- while (i > 0);
-}
-
-main ()
-{
- f (INT_MAX/8*4);
- if (n != 4)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-3c.c b/gcc/testsuite/gcc.c-torture/execute/loop-3c.c
deleted file mode 100644
index bc74c2e6d9b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-3c.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <limits.h>
-
-void * a[255];
-
-f (m)
-{
- int i;
- int sh = 0x100;
- i = m;
- do
- {
- a[sh >>= 1] = ((unsigned)i << 3) + (char*)a;
- i += 4;
- }
- while (i < INT_MAX/2 + 1 + 4 * 4);
-}
-
-main ()
-{
- a[0x10] = 0;
- a[0x08] = 0;
- f (INT_MAX/2 + INT_MAX/4 + 2);
- if (a[0x10] || a[0x08])
- abort ();
- a[0x10] = 0;
- a[0x08] = 0;
- f (INT_MAX/2 + 1);
- if (! a[0x10] || a[0x08])
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-4.c b/gcc/testsuite/gcc.c-torture/execute/loop-4.c
deleted file mode 100644
index b308aa27689..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-4.c
+++ /dev/null
@@ -1,16 +0,0 @@
-int
-f()
-{
- int j = 1;
- long i;
- for (i = -0x70000000L; i < 0x60000000L; i += 0x10000000L) j <<= 1;
- return j;
-}
-
-int
-main ()
-{
- if (f () != 8192)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-4b.c b/gcc/testsuite/gcc.c-torture/execute/loop-4b.c
deleted file mode 100644
index eaf7f30c4c5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/loop-4b.c
+++ /dev/null
@@ -1,21 +0,0 @@
-int
-f()
-{
- int j = 1;
- long i;
- i = 0x60000000L;
- do
- {
- j <<= 1;
- i += 0x10000000L;
- } while (i < -0x60000000L);
- return j;
-}
-
-int
-main ()
-{
- if (f () != 2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.c
deleted file mode 100644
index 4f448d661d6..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-/* Test permissions of BLKmode arguments constructed purely on the
- stack.
-
- Maybe we can't guarantee that we'll always wind up with stack args,
- but if we don't, they're in registers, and permissions should just
- always yield success. So while this test may not be effective on
- all platforms, failure probably does indicate a real bug.
-
- Note that because of the implementation, we do want to test BLKmode
- arguments that live purely on the stack and are constructed there.
- We want to test other situations of function arguments, of course,
- but don't assume this case would be covered by using one monster
- argument that is read from memory (including using constructor
- syntax but constant values), or may live partially in registers. */
-
-int expect_error = 0;
-
-/* Must be BLKmode. Using only two fields gets TImode on Alpha. */
-struct S
-{
- unsigned long long ll;
- long xx;
- long yy;
-};
-
-unsigned long long x = 0x12345689ULL;
-#define I2 42
-
-static int first_time = 1;
-
-/* Leading ten arguments force struct S onto the stack on both Alpha and MIPS. */
-int
-foo (int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10,
- struct S s)
-{
- if (a1 != 1 || a2 != 2 || a3 != 3 || a4 != 4 || a5 != 5 || a6 != 6 || a7 != 7
- || a8 != 8 || a9 !=9 || a10 != 10)
- abort ();
-
- if (first_time)
- {
- if (s.ll != x || s.xx != I2 || s.yy != 0)
- abort ();
-
- first_time = 0;
- }
- else
- {
- if (s.ll != 0 || s.xx != 0 || s.yy != 0)
- abort ();
- }
-
- return 0;
-}
-
-void
-test ()
-{
- foo (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, (struct S) { x, I2 });
- foo (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, (struct S) { 0 });
-}
-
-void
-setup () /* NOCHECK */
-{
- mark_region (&x, sizeof (x), ACCESS_RO);
- mark_region (&first_time, sizeof (first_time), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.x b/gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.x
deleted file mode 100644
index 52b53fe2163..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.x
+++ /dev/null
@@ -1,9 +0,0 @@
-# The memeory checking code does not mark the stack as readable or writable
-# so this test fails. Ideally the memory checking library ought to
-# cooperate with the host OS to mark the stack as it is used or individual
-# function prologues and epilogues ought to mark their pieces of stack as
-# writable and readable-after-written.
-
-set torture_execute_xfail "*-*-*"
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/driver.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/driver.c
deleted file mode 100644
index 1da22e7a222..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/driver.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/* GNU C dependencies:
- Checker support hooks
- ISO C 9x array element initialization
- void-pointer arithmetic */
-
-#include "driver.h"
-
-int verbose = 0;
-int debug = 0;
-int bad_accesses = 0;
-
-const char *const memory_use_strings[] =
-{
-#define INIT(x) [x] = #x
- INIT (MEMORY_USE_BAD),
- INIT (MEMORY_USE_DONT),
- INIT (MEMORY_USE_RO),
- INIT (MEMORY_USE_RW),
- INIT (MEMORY_USE_TW),
- INIT (MEMORY_USE_WO),
-#undef INIT
-};
-
-/* This won't be used for any really huge test cases, so a simple
- linked list is adequate. We won't even worry about overlapping
- regions; the matching entry that comes up first wins. */
-const char *const access_mode_strings[] =
-{
- "none", "ro", "wo", "rw",
-};
-struct access_node
-{
- struct access_node *next;
- const void *addr;
- size_t sz;
- enum access_mode mode;
-};
-
-static struct access_node *access_list;
-
-void
-mark_region (const void *addr, size_t sz, enum access_mode mode)
-{
- struct access_node *a;
- if (debug)
- printf ("mark_region (%p, %ld, %s)\n", addr, (long) sz,
- access_mode_strings[mode]);
- a = malloc (sizeof (struct access_node));
- a->next = access_list;
- a->addr = addr;
- a->sz = sz;
- a->mode = mode;
- access_list = a;
-}
-
-void report_bad_access (void *, size_t, enum memory_use_mode) NOCHECK;
-void
-report_bad_access (void *addr, size_t sz, enum memory_use_mode mode)
-{
- if (++bad_accesses > 100)
- bad_accesses = 100;
- if (verbose)
- {
- static char x[100];
- const char *mode_str;
- if (mode >= 0
- && mode < sizeof (memory_use_strings) / sizeof (*memory_use_strings)
- && memory_use_strings[mode] != 0)
- mode_str = memory_use_strings[mode];
- else
- {
- sprintf (x, "<bad mode %d>", mode);
- mode_str = x;
- }
- printf ("bad access (%p, %ld, %s)\n", addr, (long) sz, mode_str);
- }
-}
-
-int verify1 (void *, size_t, enum access_mode, struct access_node *) NOCHECK;
-int
-verify1 (void *addr, size_t sz, enum access_mode mode,
- struct access_node *a)
-{
- while (a && (addr + sz <= a->addr || addr >= a->addr + a->sz))
- a = a->next;
- if (a == 0)
- return 0;
-
- if (debug)
- printf ("verify1 (%p, %ld, %s)\n", addr, (long) sz,
- access_mode_strings[mode]);
-
- if (mode & ~a->mode)
- return 0;
-
- if (addr < a->addr)
- if (verify1 (a, a->addr - addr, mode, a->next) == 0)
- return 0;
- if (addr + sz > a->addr + a->sz)
- if (verify1 (a->addr + a->sz, (addr + sz) - (a->addr + a->sz), mode, a->next) == 0)
- return 0;
-
- /* All regions okay. */
- return 1;
-}
-
-int verify_range_permission (void *, size_t, enum access_mode) NOCHECK;
-int
-verify_range_permission (void *addr, size_t sz, enum access_mode mode)
-{
- if (debug)
- printf ("verify_range_permission (%p, %ld, %s)\n", addr, (long) sz,
- access_mode_strings[mode]);
- return verify1 (addr, sz, mode, access_list);
-}
-
-void chkr_check_addr (void *, size_t, int) NOCHECK;
-void
-chkr_check_addr (void *addr, size_t sz, int mode)
-{
- switch (mode)
- {
- case MEMORY_USE_BAD:
- case MEMORY_USE_DONT:
- default:
- report_bad_access (addr, sz, mode);
- return;
- case MEMORY_USE_RO:
- /* verify range readable */
- if (!verify_range_permission (addr, sz, ACCESS_RO))
- report_bad_access (addr, sz, mode);
- return;
- case MEMORY_USE_WO:
- /* verify writeable, set writeable and readable */
- if (!verify_range_permission (addr, sz, ACCESS_WO))
- report_bad_access (addr, sz, mode);
- mark_region (addr, sz, ACCESS_RW);
- return;
- case MEMORY_USE_RW:
- /* verify readable and writeable, no change */
- if (!verify_range_permission (addr, sz, ACCESS_RW))
- report_bad_access (addr, sz, mode);
- return;
- case MEMORY_USE_TW:
- /* verify writeable, no change */
- if (!verify_range_permission (addr, sz, ACCESS_WO))
- report_bad_access (addr, sz, mode);
- return;
- }
- /* All branches should return. */
- abort ();
-}
-
-void copy1 (void *, void *, size_t, struct access_node *) NOCHECK;
-void
-copy1 (void *dest, void *src, size_t sz, struct access_node *a)
-{
- while (a && (src + sz <= a->addr || src >= a->addr + a->sz))
- a = a->next;
- if (a == 0)
- {
- report_bad_access (src, sz, MEMORY_USE_RO);
- return;
- }
-
- if (debug)
- printf ("copy1 (%p, %p, %ld)\n", dest, src, (long) sz);
-
- {
- void *start, *end;
- start = src;
- if (start < a->addr)
- start = a->addr;
- end = src + sz;
- if (end > a->addr + a->sz)
- end = a->addr + a->sz;
- mark_region (dest + (start - src), end - start, a->mode);
- }
-
- if (src < a->addr)
- copy1 (dest, src, a->addr - src, a->next);
- if (src + sz > a->addr + a->sz)
- copy1 (dest + (a->addr + a->sz - src), a->addr + a->sz,
- (src + sz) - (a->addr + a->sz), a->next);
-}
-
-void chkr_copy_bitmap (void *, void *, size_t) NOCHECK;
-void
-chkr_copy_bitmap (void *dest, void *src, size_t sz)
-{
- if (verify_range_permission (dest, sz, MEMORY_USE_WO) == 0)
- report_bad_access (dest, sz, MEMORY_USE_WO);
- copy1 (dest, src, sz, access_list);
-}
-
-void chkr_set_right (void *, size_t, enum access_mode) NOCHECK;
-void
-chkr_set_right (void *addr, size_t sz, enum access_mode mode)
-{
- mark_region (addr, sz, mode);
-}
-
-int main () NOCHECK;
-int
-main ()
-{
- setup ();
- test ();
- bad_accesses = !!bad_accesses; /* get 0 or 1 */
-
- if (bad_accesses == expect_error)
- exit (0);
- else
- abort ();
-
- return 0;
-}
-
-struct malloc_node
-{
- struct malloc_node *next;
- void *addr;
- size_t sz;
- unsigned is_free : 1;
-};
-static struct malloc_node *malloc_list;
-
-void *
-c_malloc (size_t sz)
-{
- void *p;
- struct malloc_node *m;
- if (sz == 0)
- return 0;
- p = malloc (sz);
- if (p == 0)
- {
- if (verbose)
- printf ("malloc(%ld) failed\n", (long) sz);
- exit (1);
- }
- m = malloc (sizeof (struct malloc_node));
- if (m == 0)
- {
- if (verbose)
- printf ("malloc(%ld) failed\n", (long) sizeof (struct malloc_node));
- exit (1);
- }
- mark_region (p, sz, ACCESS_WO);
- m->addr = p;
- m->sz = sz;
- m->is_free = 0;
- m->next = malloc_list;
- malloc_list = m;
- return p;
-}
-
-void
-c_free (void *p)
-{
- struct malloc_node *m;
- if (p == 0)
- return;
- for (m = malloc_list; m; m = m->next)
- if (m->addr == p)
- break;
- if (m == 0 || m->is_free)
- /* Test is broken. */
- abort ();
- m->is_free = 1;
- free (p);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/driver.h b/gcc/testsuite/gcc.c-torture/execute/memcheck/driver.h
deleted file mode 100644
index d8d22d2496a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/driver.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* GNU C dependencies:
- Checker support hooks
- ISO C 9x array element initialization
- void-pointer arithmetic */
-
-typedef __SIZE_TYPE__ size_t;
-
-extern void *malloc (size_t);
-extern int printf (const char *, ...);
-
-/* This comes from gcc internals. Should be exported. */
-enum memory_use_mode {MEMORY_USE_BAD = 0, MEMORY_USE_RO = 1,
- MEMORY_USE_WO = 2, MEMORY_USE_RW = 3,
- MEMORY_USE_TW = 6, MEMORY_USE_DONT = 99};
-
-enum access_mode {
- ACCESS_NONE = 0, ACCESS_RO = 1, ACCESS_WO = 2, ACCESS_RW = 3
-};
-
-#define NOCHECK __attribute__ ((no_check_memory_usage))
-
-void mark_region (const void *, size_t, enum access_mode) NOCHECK;
-void setup () NOCHECK;
-void test ();
-extern int expect_error;
-
-void *c_malloc (size_t) NOCHECK;
-void c_free (void *) NOCHECK;
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/memcheck.exp b/gcc/testsuite/gcc.c-torture/execute/memcheck/memcheck.exp
deleted file mode 100644
index 7fb756b4f5c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/memcheck.exp
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (C) 1991, 92-93, 95, 97, 1998 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-# Modified and maintained by Jeffrey Wheat (cassidy@cygnus.com)
-
-#
-# These tests come from Torbjorn Granlund (tege@cygnus.com)
-# C torture test suite.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib c-torture.exp
-
-#
-# main test loop
-#
-
-set tests [lsort [glob -nocomplain $srcdir/$subdir/*.c]]
-set idx [lsearch $tests */driver.c]
-if $idx>=0 {
- set tests [lreplace $tests $idx $idx]
-} else {
- error "list can't find driver.c in $srcdir/$subdir"
-}
-gcc_target_compile $srcdir/$subdir/driver.c driver.o object {additional_flags=-w additional_flags=-g}
-foreach src $tests {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $src] then {
- continue
- }
-
- c-torture-execute $src "-fcheck-memory-usage driver.o"
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t1.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t1.c
deleted file mode 100644
index 03b6acc1335..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup (); -- NOCHECK */
-
-#include "driver.h"
-
-int expect_error = 0;
-
-int *ip;
-
-void test ()
-{
- ip = c_malloc (sizeof (int));
- *ip = 42;
- t2 ();
-}
-
-int t2 ()
-{
- return *ip;
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&ip, sizeof (ip), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t2.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t2.c
deleted file mode 100644
index d386eb7ebb1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t2.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 1;
-
-int *ip;
-
-void test ()
-{
- ip = c_malloc (sizeof (int));
- t2 ();
-}
-
-int t2 ()
-{
- return *ip;
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&ip, sizeof (ip), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t3.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t3.c
deleted file mode 100644
index 5b6333d4e8e..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t3.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 0;
-
-int *ip;
-
-void test ()
-{
- ip = c_malloc (sizeof (int));
- t2 (ip);
-}
-
-int t2 (int *ip)
-{
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&ip, sizeof (ip), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t4.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t4.c
deleted file mode 100644
index 25010a06818..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t4.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 0;
-
-struct s {
- char c;
- int a, b;
-};
-
-struct s *sp;
-
-void test ()
-{
- sp = c_malloc (sizeof (struct s));
- sp->c = 0;
- sp->a = 12;
- sp->b = 47;
- foo (sp);
-}
-
-int foo (struct s *sp)
-{
- return sp->c + sp->a + sp->b;
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&sp, sizeof (sp), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t5.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t5.c
deleted file mode 100644
index c3bbf640517..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t5.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 1;
-
-struct s {
- char c;
- int a, b;
-};
-
-struct s *sp;
-
-void test ()
-{
- sp = c_malloc (sizeof (struct s));
- sp->c = 0;
- sp->b = 47;
- foo (sp);
-}
-
-int foo (struct s *sp)
-{
- return sp->c + sp->a + sp->b;
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&sp, sizeof (sp), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t6.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t6.c
deleted file mode 100644
index 652d33d0f8c..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t6.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 1;
-
-struct s {
- char c;
- int a, b;
-};
-
-struct s *sp;
-
-void test ()
-{
- sp = c_malloc (sizeof (struct s) * 2);
- sp->c = 0;
- sp->b = 47;
- cp (sp);
- foo (sp);
-}
-
-int foo (struct s *sp)
-{
- return sp[1].c + sp[1].a + sp[1].b;
-}
-
-int cp (struct s *sp)
-{
- sp[1] = sp[0];
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&sp, sizeof (sp), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t7.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t7.c
deleted file mode 100644
index a7c6f5127ed..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t7.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 0;
-
-struct s {
- char c;
- int a, b;
-};
-
-struct s *sp;
-
-void test ()
-{
- sp = c_malloc (sizeof (struct s) * 2);
- sp->c = 0;
- sp->a = 13;
- sp->b = 47;
- cp (sp);
- foo (sp);
-}
-
-int foo (struct s *sp)
-{
- return sp[1].c + sp[1].a + sp[1].b;
-}
-
-int cp (struct s *sp)
-{
- sp[1] = sp[0];
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&sp, sizeof (sp), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t8.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t8.c
deleted file mode 100644
index 01c167247f8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t8.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 0;
-
-typedef struct {
- short a;
- char b;
-} S1;
-typedef struct {
- struct { int x; S1 *s1p; } *p;
-} S2;
-
-S1 *s1;
-S2 *s2;
-
-void test ()
-{
- s1 = c_malloc (sizeof (S1));
- s2 = c_malloc (sizeof (S2));
- s2->p = c_malloc (sizeof (*s2->p));
- s2->p->s1p = s1;
- s1->a = 47;
- s1->b = 3;
- foo ();
-}
-
-int foo ()
-{
- return s2->p->s1p->b;
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&s1, sizeof (s1), ACCESS_RW);
- mark_region (&s2, sizeof (s2), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/t9.c b/gcc/testsuite/gcc.c-torture/execute/memcheck/t9.c
deleted file mode 100644
index f32ca011dd8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/t9.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = 1;
-
-typedef struct {
- short a;
- char b;
-} S1;
-typedef struct {
- struct { int x; S1 *s1p; } *p;
-} S2;
-
-S1 *s1;
-S2 *s2;
-
-void test ()
-{
- s1 = c_malloc (sizeof (S1));
- s2 = c_malloc (sizeof (S2));
- s2->p = c_malloc (sizeof (*s2->p));
- s2->p->s1p = s1;
- s1->a = 47;
- foo ();
-}
-
-int foo ()
-{
- return s2->p->s1p->b;
-}
-
-void setup () /* NOCHECK */
-{
- mark_region (&s1, sizeof (s1), ACCESS_RW);
- mark_region (&s2, sizeof (s2), ACCESS_RW);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcheck/template b/gcc/testsuite/gcc.c-torture/execute/memcheck/template
deleted file mode 100644
index 37ebb137c87..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcheck/template
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Must define:
- int expect_error;
- void test ();
- void setup () NOCHECK; */
-
-#include "driver.h"
-
-int expect_error = ;
-
-void test ()
-{
-}
-
-void setup () /* NOCHECK */
-{
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcpy-1.c b/gcc/testsuite/gcc.c-torture/execute/memcpy-1.c
deleted file mode 100644
index 684854b66dc..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcpy-1.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <string.h>
-
-#if defined (STACK_SIZE)
-#define MEMCPY_SIZE (STACK_SIZE / 3)
-#else
-#define MEMCPY_SIZE (1 << 17)
-#endif
-
-
-void *copy (void *o, const void *i, unsigned l)
-{
- return memcpy (o, i, l);
-}
-
-main ()
-{
- unsigned i;
- unsigned char src[MEMCPY_SIZE];
- unsigned char dst[MEMCPY_SIZE];
-
- for (i = 0; i < MEMCPY_SIZE; i++)
- src[i] = (unsigned char) i, dst[i] = 0;
-
- (void) memcpy (dst, src, MEMCPY_SIZE / 128);
-
- for (i = 0; i < MEMCPY_SIZE / 128; i++)
- if (dst[i] != (unsigned char) i)
- abort ();
-
- (void) memset (dst, 1, MEMCPY_SIZE / 128);
-
- for (i = 0; i < MEMCPY_SIZE / 128; i++)
- if (dst[i] != 1)
- abort ();
-
- (void) memcpy (dst, src, MEMCPY_SIZE);
-
- for (i = 0; i < MEMCPY_SIZE; i++)
- if (dst[i] != (unsigned char) i)
- abort ();
-
- (void) memset (dst, 0, MEMCPY_SIZE);
-
- for (i = 0; i < MEMCPY_SIZE; i++)
- if (dst[i] != 0)
- abort ();
-
- (void) copy (dst, src, MEMCPY_SIZE / 128);
-
- for (i = 0; i < MEMCPY_SIZE / 128; i++)
- if (dst[i] != (unsigned char) i)
- abort ();
-
- (void) memset (dst, 0, MEMCPY_SIZE);
-
- (void) copy (dst, src, MEMCPY_SIZE);
-
- for (i = 0; i < MEMCPY_SIZE; i++)
- if (dst[i] != (unsigned char) i)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c b/gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c
deleted file mode 100644
index c6d6e035346..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Test builtin-memcpy (which may emit different code for different N). */
-
-#define TESTSIZE 80
-
-char src[TESTSIZE] __attribute__ ((aligned));
-char dst[TESTSIZE] __attribute__ ((aligned));
-
-void
-check (char *test, char *match, int n)
-{
- if (memcmp (test, match, n))
- abort ();
-}
-
-#define TN(n) \
-{ memset (dst, 0, n); memcpy (dst, src, n); check (dst, src, n); }
-#define T(n) \
-TN (n) \
-TN ((n) + 1) \
-TN ((n) + 2) \
-TN ((n) + 3)
-
-main ()
-{
- int i,j;
-
- for (i = 0; i < sizeof (src); ++i)
- src[i] = 'a' + i % 26;
-
- T (0);
- T (4);
- T (8);
- T (12);
- T (16);
- T (20);
- T (24);
- T (28);
- T (32);
- T (36);
- T (40);
- T (44);
- T (48);
- T (52);
- T (56);
- T (60);
- T (64);
- T (68);
- T (72);
- T (76);
-
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/mod-1.c b/gcc/testsuite/gcc.c-torture/execute/mod-1.c
deleted file mode 100644
index b460df5cdb1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/mod-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-f (x, y)
-{
- if (x % y != 0)
- abort ();
-}
-
-main ()
-{
- f (-5, 5);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c b/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c
deleted file mode 100644
index 2c6108b52e6..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdarg.h>
-
-main ()
-{
- static double f (int x, ...)
- {
- va_list args;
- double a;
-
- va_start (args, x);
- a = va_arg (args, double);
- va_end (args);
- return a;
- }
-
- if (f (1, (double)1) != 1.0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c b/gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c
deleted file mode 100644
index e34a56b3f57..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-int
-g (int a, int b, int (*gi) (int, int))
-{
- if ((*gi) (a, b))
- return a;
- else
- return b;
-}
-
-f ()
-{
-#ifndef NO_TRAMPOLINES
- int i, j;
- int f2 (int a, int b)
- {
- return a > b;
- }
-
- if (g (1, 2, f2) != 2)
- abort ();
-#endif
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/packed-1.c b/gcc/testsuite/gcc.c-torture/execute/packed-1.c
deleted file mode 100644
index 9b226aeab9b..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/packed-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-short x1 = 17;
-
-struct
-{
- short i __attribute__ ((packed));
-} t;
-
-f ()
-{
- t.i = x1;
- if (t.i != 17)
- abort ();
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pending-4.c b/gcc/testsuite/gcc.c-torture/execute/pending-4.c
deleted file mode 100644
index 8000621e6b6..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/pending-4.c
+++ /dev/null
@@ -1,33 +0,0 @@
-
-void dummy (x, y)
- int *x;
- int y;
-{}
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int number_columns=9;
- int cnt0 = 0;
- int cnt1 = 0;
- int i,A1;
-
- for (i = number_columns-1; i != 0; i--)
- {
- if (i == 1)
- {
- dummy(&A1, i);
- cnt0++;
- }
- else
- {
- dummy(&A1, i-1);
- cnt1++;
- }
- }
- if (cnt0 != 1 || cnt1 != 7)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c b/gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
deleted file mode 100644
index 46162b8964d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-char *
-f (char *s, unsigned int i)
-{
- return &s[i + 3 - 1];
-}
-
-main ()
-{
- char *str = "abcdefghijkl";
- char *x2 = f (str, 12);
- if (str + 14 != x2)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/regstack-1.c b/gcc/testsuite/gcc.c-torture/execute/regstack-1.c
deleted file mode 100644
index 51fb858cf92..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/regstack-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-long double C = 5;
-long double U = 1;
-long double Y2 = 11;
-long double Y1 = 17;
-long double X, Y, Z, T, R, S;
-main ()
-{
- X = (C + U) * Y2;
- Y = C - U - U;
- Z = C + U + U;
- T = (C - U) * Y1;
- X = X - (Z + U);
- R = Y * Y1;
- S = Z * Y2;
- T = T - Y;
- Y = (U - Y) + R;
- Z = S - (Z + U + U);
- R = (Y2 + U) * Y1;
- Y1 = Y2 * Y1;
- R = R - Y2;
- Y1 = Y1 - 0.5L;
- if (Z != 68. || Y != 49. || X != 58. || Y1 != 186.5 || R != 193. || S != 77.
- || T != 65. || Y2 != 11.)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/scope-1.c b/gcc/testsuite/gcc.c-torture/execute/scope-1.c
deleted file mode 100644
index cedd0b48ccb..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/scope-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-int v = 3;
-
-f ()
-{
- int v = 4;
- {
- extern int v;
- if (v != 3)
- abort ();
- }
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/scope-2.c b/gcc/testsuite/gcc.c-torture/execute/scope-2.c
deleted file mode 100644
index c9a4775f6f5..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/scope-2.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static int v = 3;
-
-f ()
-{
- int v = 4;
- {
- extern int v;
- if (v != 3)
- abort ();
- }
-}
-
-main ()
-{
- f ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c b/gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
deleted file mode 100644
index 7b702f2cd68..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-typedef struct
-{
- short s __attribute__ ((aligned(2), packed));
- double d __attribute__ ((aligned(2), packed));
-} TRIAL;
-
-int
-check (TRIAL *t)
-{
- if (t->s != 1 || t->d != 16.0)
- return 1;
- return 0;
-}
-
-main ()
-{
- TRIAL trial;
-
- trial.s = 1;
- trial.d = 16.0;
-
- if (check (&trial) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c b/gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c
deleted file mode 100644
index be76c764521..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c
+++ /dev/null
@@ -1,13 +0,0 @@
-typedef struct
-{
- short a __attribute__ ((aligned (2),packed));
- short *ap[2] __attribute__ ((aligned (2),packed));
-} A;
-
-main ()
-{
- short i, j = 1;
- A a, *ap = &a;
- ap->ap[j] = &i;
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-pack-3.c b/gcc/testsuite/gcc.c-torture/execute/strct-pack-3.c
deleted file mode 100644
index 8f91b040ca8..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/strct-pack-3.c
+++ /dev/null
@@ -1,28 +0,0 @@
-typedef struct
-{
- short i __attribute__ ((aligned (2),packed));
- int f[2] __attribute__ ((aligned (2),packed));
-} A;
-
-f (ap)
- A *ap;
-{
- short i, j = 1;
-
- i = ap->f[1];
- i += ap->f[j];
- for (j = 0; j < 2; j++)
- i += ap->f[j];
-
- return i;
-}
-
-main ()
-{
- A a;
- a.f[0] = 100;
- a.f[1] = 13;
- if (f (&a) != 139)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c b/gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c
deleted file mode 100644
index 56d315f47ff..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c
+++ /dev/null
@@ -1,29 +0,0 @@
-typedef struct
-{
- unsigned char a __attribute__((packed));
- unsigned short b __attribute__((packed));
-} three_char_t;
-
-unsigned char
-my_set_a (void)
-{
- return 0xab;
-}
-
-unsigned short
-my_set_b (void)
-{
- return 0x1234;
-}
-
-main ()
-{
- three_char_t three_char;
-
- three_char.a = my_set_a ();
- three_char.b = my_set_b ();
- if (three_char.a != 0xab || three_char.b != 0x1234)
- abort ();
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c b/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c
deleted file mode 100644
index 508c954705a..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include <stdarg.h>
-
-struct tiny
-{
- char c;
- char d;
- char e;
- char f;
- char g;
-};
-
-f (int n, ...)
-{
- struct tiny x;
- int i;
-
- va_list ap;
- va_start (ap,n);
- for (i = 0; i < n; i++)
- {
- x = va_arg (ap,struct tiny);
- if (x.c != i + 10)
- abort();
- if (x.d != i + 20)
- abort();
- if (x.e != i + 30)
- abort();
- if (x.f != i + 40)
- abort();
- if (x.g != i + 50)
- abort();
- }
- {
- long x = va_arg (ap, long);
- if (x != 123)
- abort();
- }
- va_end (ap);
-}
-
-main ()
-{
- struct tiny x[3];
- x[0].c = 10;
- x[1].c = 11;
- x[2].c = 12;
- x[0].d = 20;
- x[1].d = 21;
- x[2].d = 22;
- x[0].e = 30;
- x[1].e = 31;
- x[2].e = 32;
- x[0].f = 40;
- x[1].f = 41;
- x[2].f = 42;
- x[0].g = 50;
- x[1].g = 51;
- x[2].g = 52;
- f (3, x[0], x[1], x[2], (long) 123);
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c b/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c
deleted file mode 100644
index f76bb368409..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifdef NO_VARARGS
-#include <stdarg.h>
-#define va_alist int x_attr, ...
-#define va_dcl
-#else
-#include <varargs.h>
-#endif
-
-struct s { int x, y; };
-
-f (va_alist)
- va_dcl
-{
- struct s va_values;
- va_list va;
- int attr;
- int i;
-
-#ifdef NO_VARARGS
- va_start (va, x_attr);
- attr = x_attr;
-#else
- va_start (va);
- attr = va_arg (va, int);
-#endif
-
- if (attr != 2)
- abort ();
-
- va_values = va_arg (va, struct s);
- if (va_values.x != 0xaaaa || va_values.y != 0x5555)
- abort ();
-
- attr = va_arg (va, int);
- if (attr != 3)
- abort ();
-
- va_values = va_arg (va, struct s);
- if (va_values.x != 0xffff || va_values.y != 0x1111)
- abort ();
-
- va_end (va);
-}
-
-main ()
-{
- struct s a, b;
-
- a.x = 0xaaaa;
- a.y = 0x5555;
- b.x = 0xffff;
- b.y = 0x1111;
-
- f (2, a, 3, b);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x b/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x
deleted file mode 100644
index 22e08efa977..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x
+++ /dev/null
@@ -1,10 +0,0 @@
-# This doesn't work on mn10200
-
-if { [istarget "mn10200*-*-*"] } {
- set torture_execute_xfail "mn10200*-*-*"
-}
-
-if { [istarget "h8300*-*-*"] } {
- set torture_execute_xfail "h8300*-*-*"
-}
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c
deleted file mode 100644
index ab2d178a751..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-struct S
-{
- char f1;
- int f2[2];
-};
-
-struct S object = {'X', 8, 9};
-
-main ()
-{
- if (object.f1 != 'X' || object.f2[0] != 8 || object.f2[1] != 9)
- abort ();
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c
deleted file mode 100644
index c785257ccba..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c
+++ /dev/null
@@ -1,17 +0,0 @@
-struct {
- int a:4;
- int :4;
- int b:4;
- int c:4;
-} x = { 2,3,4 };
-
-main ()
-{
- if (x.a != 2)
- abort ();
- if (x.b != 3)
- abort ();
- if (x.c != 4)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c
deleted file mode 100644
index 7d282ecb8af..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c
+++ /dev/null
@@ -1,11 +0,0 @@
-struct
-{
- unsigned int f1:1, f2:1, f3:3, f4:3, f5:2, f6:1, f7:1;
-} result = {1, 1, 7, 7, 3, 1, 1};
-
-main ()
-{
- if ((result.f3 & ~7) != 0 || (result.f4 & ~7) != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c b/gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c
deleted file mode 100644
index 3342439e54d..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c
+++ /dev/null
@@ -1,15 +0,0 @@
-struct s {
- int a[3];
- int c[3];
-};
-
-struct s s = {
- c: {1, 2, 3}
-};
-
-main()
-{
- if (s.c[0] != 1)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c b/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c
deleted file mode 100644
index e5274ec4c15..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-
-char out[100];
-
-typedef struct { double d; int i[3]; } B;
-typedef struct { char c[33],c1; } X;
-
-char c1 = 'a';
-char c2 = 127;
-char c3 = (char)128;
-char c4 = (char)255;
-char c5 = -1;
-
-double d1 = 0.1;
-double d2 = 0.2;
-double d3 = 0.3;
-double d4 = 0.4;
-double d5 = 0.5;
-double d6 = 0.6;
-double d7 = 0.7;
-double d8 = 0.8;
-double d9 = 0.9;
-
-B B1 = {0.1,{1,2,3}};
-B B2 = {0.2,{5,4,3}};
-X X1 = {"abcdefghijklmnopqrstuvwxyzABCDEF", 'G'};
-X X2 = {"123",'9'};
-X X3 = {"return-return-return",'R'};
-
-X f (B a, char b, double c, B d)
-{
- static X xr = {"return val", 'R'};
- X r;
- r = xr;
- r.c1 = b;
- sprintf (out, "X f(B,char,double,B):({%g,{%d,%d,%d}},'%c',%g,{%g,{%d,%d,%d}})",
- a.d, a.i[0], a.i[1], a.i[2], b, c, d.d, d.i[0], d.i[1], d.i[2]);
- return r;
-}
-
-X (*fp) (B, char, double, B) = &f;
-
-main ()
-{
- X Xr;
- char tmp[100];
-
- Xr = f (B1, c2, d3, B2);
- strcpy (tmp, out);
- Xr.c[0] = Xr.c1 = '\0';
- Xr = (*fp) (B1, c2, d3, B2);
- if (strcmp (tmp, out))
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c b/gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c
deleted file mode 100644
index 06a40a72099..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c
+++ /dev/null
@@ -1,29 +0,0 @@
-typedef struct
-{
- unsigned char a __attribute__ ((packed));
- unsigned short b __attribute__ ((packed));
-} three_byte_t;
-
-unsigned char
-f (void)
-{
- return 0xab;
-}
-
-unsigned short
-g (void)
-{
- return 0x1234;
-}
-
-main ()
-{
- three_byte_t three_byte;
-
- three_byte.a = f ();
- three_byte.b = g ();
- if (three_byte.a != 0xab || three_byte.b != 0x1234)
- abort ();
- exit (0);
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/execute/tstdi-1.c b/gcc/testsuite/gcc.c-torture/execute/tstdi-1.c
deleted file mode 100644
index 3e31fdf5934..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/tstdi-1.c
+++ /dev/null
@@ -1,139 +0,0 @@
-#define FALSE 140
-#define TRUE 13
-
-feq (x)
- long long int x;
-{
- if (x == 0)
- return TRUE;
- else
- return FALSE;
-}
-
-fne (x)
- long long int x;
-{
- if (x != 0)
- return TRUE;
- else
- return FALSE;
-}
-
-flt (x)
- long long int x;
-{
- if (x < 0)
- return TRUE;
- else
- return FALSE;
-}
-
-fge (x)
- long long int x;
-{
- if (x >= 0)
- return TRUE;
- else
- return FALSE;
-}
-
-fgt (x)
- long long int x;
-{
- if (x > 0)
- return TRUE;
- else
- return FALSE;
-}
-
-fle (x)
- long long int x;
-{
- if (x <= 0)
- return TRUE;
- else
- return FALSE;
-}
-
-main ()
-{
- if (feq (0LL) != TRUE)
- abort ();
- if (feq (-1LL) != FALSE)
- abort ();
- if (feq (0x8000000000000000LL) != FALSE)
- abort ();
- if (feq (0x8000000000000001LL) != FALSE)
- abort ();
- if (feq (1LL) != FALSE)
- abort ();
- if (feq (0x7fffffffffffffffLL) != FALSE)
- abort ();
-
- if (fne (0LL) != FALSE)
- abort ();
- if (fne (-1LL) != TRUE)
- abort ();
- if (fne (0x8000000000000000LL) != TRUE)
- abort ();
- if (fne (0x8000000000000001LL) != TRUE)
- abort ();
- if (fne (1LL) != TRUE)
- abort ();
- if (fne (0x7fffffffffffffffLL) != TRUE)
- abort ();
-
- if (flt (0LL) != FALSE)
- abort ();
- if (flt (-1LL) != TRUE)
- abort ();
- if (flt (0x8000000000000000LL) != TRUE)
- abort ();
- if (flt (0x8000000000000001LL) != TRUE)
- abort ();
- if (flt (1LL) != FALSE)
- abort ();
- if (flt (0x7fffffffffffffffLL) != FALSE)
- abort ();
-
- if (fge (0LL) != TRUE)
- abort ();
- if (fge (-1LL) != FALSE)
- abort ();
- if (fge (0x8000000000000000LL) != FALSE)
- abort ();
- if (fge (0x8000000000000001LL) != FALSE)
- abort ();
- if (fge (1LL) != TRUE)
- abort ();
- if (fge (0x7fffffffffffffffLL) != TRUE)
- abort ();
-
- if (fgt (0LL) != FALSE)
- abort ();
- if (fgt (-1LL) != FALSE)
- abort ();
- if (fgt (0x8000000000000000LL) != FALSE)
- abort ();
- if (fgt (0x8000000000000001LL) != FALSE)
- abort ();
- if (fgt (1LL) != TRUE)
- abort ();
- if (fgt (0x7fffffffffffffffLL) != TRUE)
- abort ();
-
- if (fle (0LL) != TRUE)
- abort ();
- if (fle (-1LL) != TRUE)
- abort ();
- if (fle (0x8000000000000000LL) != TRUE)
- abort ();
- if (fle (0x8000000000000001LL) != TRUE)
- abort ();
- if (fle (1LL) != FALSE)
- abort ();
- if (fle (0x7fffffffffffffffLL) != FALSE)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c
deleted file mode 100644
index 3f3b141a931..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdarg.h>
-
-typedef unsigned long L;
-f (L p0, L p1, L p2, L p3, L p4, L p5, L p6, L p7, L p8, ...)
-{
- va_list select;
-
- va_start (select, p8);
-
- if (va_arg (select, L) != 10)
- abort ();
- if (va_arg (select, L) != 11)
- abort ();
- if (va_arg (select, L) != 0)
- abort ();
-
- va_end (select);
-}
-
-main ()
-{
- f (1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 0L);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c
deleted file mode 100644
index 7675b3f7603..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/* The purpose of this test is to catch edge cases when arguments are passed
- in regs and on the stack. We test 16 cases, trying to catch multiple
- targets (some use 3 regs for argument passing, some use 12, etc.).
- We test both the arguments and the `lastarg' (the argument to va_start). */
-
-#include <stdarg.h>
-
-extern __SIZE_TYPE__ strlen ();
-
-int
-to_hex (unsigned int a)
-{
- static char hex[] = "0123456789abcdef";
-
- if (a > 15)
- abort ();
- return hex[a];
-}
-
-void
-f0 (char* format, ...)
-{
- va_list ap;
-
- va_start (ap, format);
- if (strlen (format) != 16 - 0)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f1 (int a1, char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 1)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f2 (int a1, int a2, char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 2)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f3 (int a1, int a2, int a3, char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 3)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f4 (int a1, int a2, int a3, int a4, char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 4)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f5 (int a1, int a2, int a3, int a4, int a5,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 5)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f6 (int a1, int a2, int a3, int a4, int a5,
- int a6,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 6)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f7 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 7)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f8 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 8)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f9 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8, int a9,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 9)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f10 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8, int a9, int a10,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 10)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f11 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8, int a9, int a10,
- int a11,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 11)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f12 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8, int a9, int a10,
- int a11, int a12,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 12)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f13 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8, int a9, int a10,
- int a11, int a12, int a13,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 13)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f14 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8, int a9, int a10,
- int a11, int a12, int a13, int a14,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 14)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f15 (int a1, int a2, int a3, int a4, int a5,
- int a6, int a7, int a8, int a9, int a10,
- int a11, int a12, int a13, int a14, int a15,
- char* format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- if (strlen (format) != 16 - 15)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-main ()
-{
- char *f = "0123456789abcdef";
-
- f0 (f+0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f1 (0, f+1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f2 (0, 1, f+2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f3 (0, 1, 2, f+3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f4 (0, 1, 2, 3, f+4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f5 (0, 1, 2, 3, 4, f+5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f6 (0, 1, 2, 3, 4, 5, f+6, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f7 (0, 1, 2, 3, 4, 5, 6, f+7, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f8 (0, 1, 2, 3, 4, 5, 6, 7, f+8, 8, 9, 10, 11, 12, 13, 14, 15);
- f9 (0, 1, 2, 3, 4, 5, 6, 7, 8, f+9, 9, 10, 11, 12, 13, 14, 15);
- f10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, f+10, 10, 11, 12, 13, 14, 15);
- f11 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, f+11, 11, 12, 13, 14, 15);
- f12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, f+12, 12, 13, 14, 15);
- f13 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, f+13, 13, 14, 15);
- f14 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, f+14, 14, 15);
- f15 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, f+15, 15);
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c
deleted file mode 100644
index 7b0a0b0cf36..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c
+++ /dev/null
@@ -1,339 +0,0 @@
-/* Same as va-arg-2.c but using varargs.h. */
-/* The purpose of this test is to catch edge cases when arguments are passed
- in regs and on the stack. We test 16 cases, trying to catch multiple
- targets (some use 3 regs for argument passing, some use 12, etc.).
- We test both the arguments and the `lastarg' (the argument to va_start). */
-
-#ifdef NO_VARARGS
-int main()
-{
- exit (0);
-}
-
-#else
-#include <varargs.h>
-
-extern __SIZE_TYPE__ strlen ();
-
-int
-to_hex (unsigned int a)
-{
- static char hex[] = "0123456789abcdef";
-
- if (a > 15)
- abort ();
- return hex[a];
-}
-
-void
-f0 (va_alist)
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 0)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f1 (a1, va_alist)
- int a1;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 1)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f2 (a1, a2, va_alist)
- int a1, a2;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 2)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f3 (a1, a2, a3, va_alist)
- int a1, a2, a3;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 3)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f4 (a1, a2, a3, a4, va_alist)
- int a1, a2, a3, a4;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 4)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f5 (a1, a2, a3, a4, a5, va_alist)
- int a1, a2, a3, a4, a5;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 5)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f6 (a1, a2, a3, a4, a5, a6, va_alist)
- int a1, a2, a3, a4, a5, a6;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 6)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f7 (a1, a2, a3, a4, a5, a6, a7, va_alist)
- int a1, a2, a3, a4, a5, a6, a7;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 7)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f8 (a1, a2, a3, a4, a5, a6, a7, a8, va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 8)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f9 (a1, a2, a3, a4, a5, a6, a7, a8, a9, va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8, a9;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 9)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f10 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 10)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f11 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
- va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 11)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f12 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 12)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f13 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 13)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f14 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 14)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-void
-f15 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, va_alist)
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
- va_dcl
-{
- va_list ap;
- char *format;
-
- va_start (ap);
- format = va_arg (ap, char *);
- if (strlen (format) != 16 - 15)
- abort ();
- while (*format)
- if (*format++ != to_hex (va_arg (ap, int)))
- abort ();
- va_end(ap);
-}
-
-main ()
-{
- char *f = "0123456789abcdef";
-
- f0 (f+0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f1 (0, f+1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f2 (0, 1, f+2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f3 (0, 1, 2, f+3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f4 (0, 1, 2, 3, f+4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f5 (0, 1, 2, 3, 4, f+5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f6 (0, 1, 2, 3, 4, 5, f+6, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f7 (0, 1, 2, 3, 4, 5, 6, f+7, 7, 8, 9, 10, 11, 12, 13, 14, 15);
- f8 (0, 1, 2, 3, 4, 5, 6, 7, f+8, 8, 9, 10, 11, 12, 13, 14, 15);
- f9 (0, 1, 2, 3, 4, 5, 6, 7, 8, f+9, 9, 10, 11, 12, 13, 14, 15);
- f10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, f+10, 10, 11, 12, 13, 14, 15);
- f11 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, f+11, 11, 12, 13, 14, 15);
- f12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, f+12, 12, 13, 14, 15);
- f13 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, f+13, 13, 14, 15);
- f14 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, f+14, 14, 15);
- f15 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, f+15, 15);
-
- exit (0);
-}
-#endif /* ! NO_VARARGS */
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-3.x b/gcc/testsuite/gcc.c-torture/execute/va-arg-3.x
deleted file mode 100644
index 865aaf81c54..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-3.x
+++ /dev/null
@@ -1,12 +0,0 @@
-# This doesn't work on mn10200
-
-if { [istarget "mn10200*-*-*"] } {
- set torture_execute_xfail "mn10200*-*-*"
-}
-
-if { [istarget "h8300*-*-*"] } {
- set torture_execute_xfail "h8300*-*-*"
-}
-
-
-return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c
deleted file mode 100644
index a824f64ffa1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* On the i960 any arg bigger than 16 bytes causes all subsequent args
- to be passed on the stack. We test this. */
-
-#include <stdarg.h>
-
-typedef struct {
- char a[32];
-} big;
-
-void
-f (big x, char *s, ...)
-{
- va_list ap;
-
- if (x.a[0] != 'a' || x.a[1] != 'b' || x.a[2] != 'c')
- abort ();
- va_start (ap, s);
- if (va_arg (ap, int) != 42)
- abort ();
- if (va_arg (ap, int) != 'x')
- abort ();
- if (va_arg (ap, int) != 0)
- abort ();
- va_end (ap);
-}
-
-main ()
-{
- static big x = { "abc" };
-
- f (x, "", 42, 'x', 0);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c
deleted file mode 100644
index 3d8b1a79ad1..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <stdarg.h>
-
-va_double (int n, ...)
-{
- va_list args;
-
- va_start (args, n);
-
- if (va_arg (args, double) != 3.141592)
- abort ();
- if (va_arg (args, double) != 2.71827)
- abort ();
- if (va_arg (args, double) != 2.2360679)
- abort ();
- if (va_arg (args, double) != 2.1474836)
- abort ();
-
- va_end (args);
-}
-
-va_long_double (int n, ...)
-{
- va_list args;
-
- va_start (args, n);
-
- if (va_arg (args, long double) != 3.141592L)
- abort ();
- if (va_arg (args, long double) != 2.71827L)
- abort ();
- if (va_arg (args, long double) != 2.2360679L)
- abort ();
- if (va_arg (args, long double) != 2.1474836L)
- abort ();
-
- va_end (args);
-}
-
-main ()
-{
- va_double (4, 3.141592, 2.71827, 2.2360679, 2.1474836);
- va_long_double (4, 3.141592L, 2.71827L, 2.2360679L, 2.1474836L);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c
deleted file mode 100644
index e8d495d66e7..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <stdarg.h>
-
-f (int n, ...)
-{
- va_list args;
-
- va_start (args, n);
-
- if (va_arg (args, int) != 10)
- abort ();
- if (va_arg (args, long long) != 10000000000LL)
- abort ();
- if (va_arg (args, int) != 11)
- abort ();
- if (va_arg (args, long double) != 3.14L)
- abort ();
- if (va_arg (args, int) != 12)
- abort ();
- if (va_arg (args, int) != 13)
- abort ();
- if (va_arg (args, long long) != 20000000000LL)
- abort ();
- if (va_arg (args, int) != 14)
- abort ();
- if (va_arg (args, double) != 2.72)
- abort ();
-
- va_end(args);
-}
-
-main ()
-{
- f (4, 10, 10000000000LL, 11, 3.14L, 12, 13, 20000000000LL, 14, 2.72);
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/widechar-1.c b/gcc/testsuite/gcc.c-torture/execute/widechar-1.c
deleted file mode 100644
index 45b9d89b4b4..00000000000
--- a/gcc/testsuite/gcc.c-torture/execute/widechar-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#define C L'\400'
-
-#if C
-#define zero (!C)
-#else
-#define zero C
-#endif
-
-main()
-{
- if (zero != 0)
- abort ();
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/920507-1.c b/gcc/testsuite/gcc.c-torture/noncompile/920507-1.c
deleted file mode 100644
index e1bd9934de3..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/920507-1.c
+++ /dev/null
@@ -1 +0,0 @@
-x(){register*a asm("fr1");int*v[1]={a};}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/920616-2.c b/gcc/testsuite/gcc.c-torture/noncompile/920616-2.c
deleted file mode 100644
index ddfa0de1ba1..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/920616-2.c
+++ /dev/null
@@ -1 +0,0 @@
-f(void a,...){}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/920721-2.c b/gcc/testsuite/gcc.c-torture/noncompile/920721-2.c
deleted file mode 100644
index 4621983e037..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/920721-2.c
+++ /dev/null
@@ -1 +0,0 @@
-f(int n){int s;for(s=0;s<n;s++)s==5?1 n=1;}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/920824-1.c b/gcc/testsuite/gcc.c-torture/noncompile/920824-1.c
deleted file mode 100644
index 36661f63c17..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/920824-1.c
+++ /dev/null
@@ -1 +0,0 @@
-struct s{struct s{int i;}x;};
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/920923-1.c b/gcc/testsuite/gcc.c-torture/noncompile/920923-1.c
deleted file mode 100644
index 52f8338abf3..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/920923-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-typedef BYTE unsigned char;typedef int item_n;typedef int perm_set;struct
-PENT{caddr_t v_addr;};typedef struct PENT prec;typedef struct PENT*
-prec_t;prec_t mem_hash;BYTE*mem_base;struct PTE{BYTE*p_page;perm_set
-p_perms;};typedef struct PTE pte;struct PTP{union{struct*PTP
-p_tablep;struct*PTE p_entry;}u;int valid;};typedef struct PTP
-(u.p_tablep);int pfree=0;int pcount=0;void mmu_walk_find(va)caddr_t va;{
-BYTE*page_addr;if(mmu_base[Level1(va)]->valid==0x0){l1_base=
-mmu_base[Level1(va)]->(u.p_tablep)=p_alloc();mmu_base[Level1(va)]->valid=
-0x3;for(idx=0;idx<LEVEL1_ENTRIES;idx++)l1_base[idx]->valid=0x0;goto
-build_level2;}else l1_base=mmu_base[Level1(va)]->(u.p_tablep);if
-(l1_base[Level2(va)]->valid==0x0){build_level2:l2_base=
-l1_base[Level2(va)]->(u.p_tablep)=p_alloc();l1_base[Level2(va)]->valid=
-0x3;for(idx=0;idx<LEVEL2_ENTRIES;idx++)l2_base[idx]->valid=0x0;goto
-build_page;}else l2_base=mmu_base[Level2(va)]->(u.p_tablep);
-page_addr=l2_base[Level2(va)]->valid;}void*a_translate(va_op,v_addr)int
-va_op;caddr_t v_addr;{register prec_t bucket;register caddr_t p_addr;
-bucket=mem_hash+((((v_addr)>>ITEMBITS))&hash_mask);do{if
-(bucket->v_addr==((v_addr)>>ITEMBITS){if(!(bucket->perm_set&va_op))
-goto prot_fault;return mem_base+v_addr;}}while((bucket++)->v_addr!=
-((caddr_t)0));page_miss:p_addr=(--bucket)->p_addr;page_type:switch
-(p_addr){case BUCKET_FULL:enlarge_hash_table(mem_hash);case((caddr_t)0):
-p_addr=fill_item_entry(va_op,v_addr);goto page_type;case((caddr_t)1):
-default:((void)(((0))?0:(__eprintf("Failed assertion`%s'at line%d
-of`%s'.\n","FALSE",327,"b.c"),0)));}}void flush_hash(hasht,
-hash_size)prec_t hasht;int hash_size;{register prec_t bucket;register int
-idx;bucket=hasht;for(idx=(hash_size*3)-1;idx>=0;idx--){
-bucket->v_addr=((caddr_t)0);bucket->p_addr=((caddr_t)0);
-bucket->perm_set=VA_EMPTY;}}void init_mem(){mem_base=(BYTE*)calloc(1024
-,(1<<13));((void)((mem_base!=(BYTE*)0)?0:(__eprintf("Failed
-assertion`%s'at line%d of`%s'.\n","mem_base!=(BYTE*)0",366,"b.c"),
-0)));hash_num=INIT_NUM_ENTRIES*3;mem_hash=(prec_t)calloc(hash_num,
-sizeof(prec));((void)((mem_hash!=(prec_t)0)?0:(__eprintf("Failed
-assertion`%s'at line%d of`%s'.\n","mem_hash!=(prec_t)0",370,"b.c"),
-0)));flush_hash(mem_hash,32);build_ptables(mem_base,1024*(1<<13));}
-struct tm{int tm_sec;int tm_min;int tm_hour;int tm_mday;int tm_mon;int
-tm_year;int tm_wday;int tm_yday;int tm_isdst;char*tm_zone;long tm_gmtoff;};
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/921102-1.c b/gcc/testsuite/gcc.c-torture/noncompile/921102-1.c
deleted file mode 100644
index 3fb42f19b56..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/921102-1.c
+++ /dev/null
@@ -1 +0,0 @@
-int x[]={[0.3 ... 4.6]9};
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/921116-1.c b/gcc/testsuite/gcc.c-torture/noncompile/921116-1.c
deleted file mode 100644
index 78a75ea8193..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/921116-1.c
+++ /dev/null
@@ -1 +0,0 @@
-void a (void x) {}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/930301-1.c b/gcc/testsuite/gcc.c-torture/noncompile/930301-1.c
deleted file mode 100644
index de4271415e9..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/930301-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-struct a *q;
-f()
-{
- q++;
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/930622-1.c b/gcc/testsuite/gcc.c-torture/noncompile/930622-1.c
deleted file mode 100644
index 27bb9ebd2f2..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/930622-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-f ()
-{
- double b;
- b = b * 10;
- goto c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/930622-2.c b/gcc/testsuite/gcc.c-torture/noncompile/930622-2.c
deleted file mode 100644
index a75e0c43889..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/930622-2.c
+++ /dev/null
@@ -1,6 +0,0 @@
-f ()
-{
- int i;
- for (i--)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/930714-1.c b/gcc/testsuite/gcc.c-torture/noncompile/930714-1.c
deleted file mode 100644
index d940c550f57..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/930714-1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-typedef union _yystype
-{
- int i;
- int *iptr;
- int (*ifunc)(int);
- void (*vfunc)(int);
-}
-YYSTYPE;
-
-extern int f1(int k);
-
-void test()
-{
- YYSTYPE a;
- int (*iptr)(int);
- int foo[5];
-
- a = f1;
- a = (YYSTYPE)f1;
- a = (YYSTYPE)foo;
- a = (YYSTYPE)(int *)foo;
- iptr = f1;
- a = iptr;
- a = (YYSTYPE)iptr;
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/931203-1.c b/gcc/testsuite/gcc.c-torture/noncompile/931203-1.c
deleted file mode 100644
index 1f5a8c3d7ad..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/931203-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-typedef struct
-{
- int x, y;
-} point_t;
-
-
-point_t
-f ()
-{
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/940112-1.c b/gcc/testsuite/gcc.c-torture/noncompile/940112-1.c
deleted file mode 100644
index 17dda8be54a..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/940112-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-double
-f (int x)
-{
- double e = 1;
- e = 1;
- return (e)
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/940227-1.c b/gcc/testsuite/gcc.c-torture/noncompile/940227-1.c
deleted file mode 100644
index 21bba6c9cfe..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/940227-1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-struct font {
- struct {
- char *line,*ulmask;
- } c[2];
-} character[1] = { { {"", ""}, {"", ""} } };
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/940510-1.c b/gcc/testsuite/gcc.c-torture/noncompile/940510-1.c
deleted file mode 100644
index 9882d155e97..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/940510-1.c
+++ /dev/null
@@ -1 +0,0 @@
-struct { int a[]; } x = { 0 };
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/940712-1.c b/gcc/testsuite/gcc.c-torture/noncompile/940712-1.c
deleted file mode 100644
index b1b82347483..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/940712-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/* PR 4713 */
-
-#include "940712-1.h"
-#include "940712-1a.h"
-#include "940712-1b.h"
-
-/* comment start in comment error
-/* in a .c file */
-
-int main ()
-{
- return 0;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/940712-1.h b/gcc/testsuite/gcc.c-torture/noncompile/940712-1.h
deleted file mode 100644
index 183821334b1..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/940712-1.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* comment start in comment error
-/* in a .h file */
-
-#if 0
-#endif /* comment start in comment error
-/* after a cpp directive */
-
-/* comment start in comment error
-
-
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/940712-1a.h b/gcc/testsuite/gcc.c-torture/noncompile/940712-1a.h
deleted file mode 100644
index 55ab6b844ec..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/940712-1a.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* spanning a .h file */
-
-#if 0
-#endif /* comment start in comment error
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/940712-1b.h b/gcc/testsuite/gcc.c-torture/noncompile/940712-1b.h
deleted file mode 100644
index d75156c04b9..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/940712-1b.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* spanning a .h file */
-
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/950825-1.c b/gcc/testsuite/gcc.c-torture/noncompile/950825-1.c
deleted file mode 100644
index 6104444da3b..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/950825-1.c
+++ /dev/null
@@ -1 +0,0 @@
-main() { return (struct x) {{y: 0}}; }
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/950921-1.c b/gcc/testsuite/gcc.c-torture/noncompile/950921-1.c
deleted file mode 100644
index bcf2f05e44f..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/950921-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-typedef enum
-{
- a = (X) 0,
- b
-} c;
-
-typedef enum
-{
- d = (X) 0
-} e;
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/951025-1.c b/gcc/testsuite/gcc.c-torture/noncompile/951025-1.c
deleted file mode 100644
index 694887290dd..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/951025-1.c
+++ /dev/null
@@ -1 +0,0 @@
-#include /\
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/951123-1.c b/gcc/testsuite/gcc.c-torture/noncompile/951123-1.c
deleted file mode 100644
index e9ed3dcd246..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/951123-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-struct S { int a; int b[2]; };
-struct S x = { 0, [0]; };
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/951227-1.c b/gcc/testsuite/gcc.c-torture/noncompile/951227-1.c
deleted file mode 100644
index 7c449c8579c..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/951227-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#if 0xe-1
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/971104-1.c b/gcc/testsuite/gcc.c-torture/noncompile/971104-1.c
deleted file mode 100644
index 3f0996dfb30..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/971104-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-typedef unsigned short ushort;
-struct sembuf {
- ushort sem_num;
- short sem_op;
- short sem_flg;
-};
-union semun {
- int val;
- struct semid_ds *buf;
- ushort *array;
- struct seminfo *__buf;
- void *__pad;
-};
-static union semun semctl_arg;
-static int semid;
-static void up(int sem){
- struct sembuf sb;
- sb.sem_num = (unsigned short) sem;
- sb.sem_op = 1;
- sb.sem_flg = 0x1000 ;
- if(semop(semid, &sb, 1) == -1) error("up failure");
- if(semctl(semid, sb.sem_num, 12 , semctl_arg) == 0)
- printf("%s had processes sleeping on it!\n",
- ({ "MUTEX ", "BARB_SEM 1", "BARB_SEM 2", "CUST_SEM 1", "CUST_SEM 2", "WA
-IT_SEM 1", "WAIT_SEM 2", "WAIT_SEM 3", "WAIT_SEM 4"} [( sb.sem_num )]) );
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/990416-1.c b/gcc/testsuite/gcc.c-torture/noncompile/990416-1.c
deleted file mode 100644
index 9d4323ba1cd..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/990416-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-typedef int word_type;
-
-static void
-copy_reg (unsigned int reg, frame_state *udata, frame_state *target_udata)
-{
- word_type *preg = get_reg_addr (reg, udata, 0);
- word_type *ptreg = get_reg_addr (reg, target_udata, 0);
-
- memcpy (ptreg, preg, __builtin_dwarf_reg_size (reg));
-}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/Makefile.in b/gcc/testsuite/gcc.c-torture/noncompile/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/configure.in b/gcc/testsuite/gcc.c-torture/noncompile/configure.in
deleted file mode 100644
index 19f62f2dfe5..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=noncompile.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/init-1.c b/gcc/testsuite/gcc.c-torture/noncompile/init-1.c
deleted file mode 100644
index 52f43e81a4f..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/init-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-struct a
-{ double a, b, c; };
-
-struct b
-{
- struct a arr[6];
-};
-
-static struct b a_b =
-{
- {0,0,0},
- {0,0,0},
- {0,0,0},
- {0,0,0},
- {0,0,0},
- {0,0,0},
-};
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/init-2.c b/gcc/testsuite/gcc.c-torture/noncompile/init-2.c
deleted file mode 100644
index 52ee17b019f..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/init-2.c
+++ /dev/null
@@ -1 +0,0 @@
-int d[][] = { {1}, {2}, {3} };
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/invalid_asm.c b/gcc/testsuite/gcc.c-torture/noncompile/invalid_asm.c
deleted file mode 100644
index bb017f4315e..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/invalid_asm.c
+++ /dev/null
@@ -1 +0,0 @@
-asm_invalid_register_name(){asm("":::"this_is_an_invalid_register_name");}
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/noncompile.exp b/gcc/testsuite/gcc.c-torture/noncompile/noncompile.exp
deleted file mode 100644
index c4808b949cb..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/noncompile.exp
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright (C) 1988, 1990, 1991, 1992, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# This file was written by Jeff Law. (law@cs.utah.edu)
-
-#
-# These tests come from Torbjorn Granlund (tege@cygnus.com)
-# C torture test suite.
-#
-
-load_lib mike-gcc.exp
-
-# Test 920507-1.c
-prebase
-
-set src_code 920507-1.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 920616-2.c
-prebase
-
-set src_code 920616-2.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 920721-2.c
-prebase
-
-set src_code 920721-2.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 920824-1.c
-prebase
-
-set src_code 920824-1.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 920923-1.c
-prebase
-
-set src_code 920923-1.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 921102-1.c
-prebase
-
-set src_code 921102-1.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 921116-1.c
-prebase
-
-set src_code 921116-1.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 930301-1.c
-prebase
-
-set src_code 930301-1.c
-set compiler_output ".*:4:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 930622-1.c
-prebase
-
-set src_code 930622-1.c
-set compiler_output ".*:5:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 930622-2.c
-prebase
-
-set src_code 930622-2.c
-set compiler_output ".*:4:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 930714-1.c
-prebase
-
-set src_code 930714-1.c
-# Not really sure what the error should be here...
-set compiler_output ".*:18.*:23"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-# Test 931203-1.c
-prebase
-
-set src_code 931203-1.c
-set compiler_output ".*:10"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 940112-1.c
-prebase
-
-set src_code 940112-1.c
-set compiler_output ".*:7"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 940227-1.c
-prebase
-
-set src_code 940227-1.c
-set compiler_output ".*:5.*:5"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 940510-1.c
-prebase
-
-set src_code 940510-1.c
-set compiler_output ".*:1.*:1"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 940712-1.c
-prebase
-
-set src_code 940712-1.c
-set compiler_output ".*:8.*:4"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 950825-1.c
-prebase
-set src_code 950825-1.c
-set compiler_output ".*:1.*:1.*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 950921-1.c
-prebase
-set src_code 950921-1.c
-set compiler_output ".*:3.*:3.*:9.*:9:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 951025-1.c
-prebase
-set src_code 951025-1.c
-set compiler_output ".*:\[12\]:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 951123-1.c
-prebase
-set src_code 951123-1.c
-set compiler_output ".*:2:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 951227-1.c
-prebase
-set src_code 951227-1.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test 971104-1.c
-prebase
-set src_code 971104-1.c
-set compiler_output ".*:25:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-# Test 990416-1.c
-prebase
-set src_code 990416-1.c
-set compiler_output ".*:4:.*:6:.*:6:.*:6:.*:6:.*:6:.*:7:.*:7:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-# Test init-1.c
-prebase
-set src_code init-1.c
-set compiler_output ".*:12.*:12.*:13.*:13.*:14.*:14.*:15.*:15.*:16.*:16:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test init-2.c
-prebase
-set src_code init-2.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test invalid_asm.c
-prebase
-set src_code invalid_asm.c
-set compiler_output ".*:1:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
-
-
-# Test va-arg-1.c
-# It is debatable if this test should be included at all.
-# varags may be implemented by macros, which may not actually
-# reference the bogus argument.
-prebase
-
-set src_code va-arg-1.c
-set compiler_output ".*:6:"
-
-set groups {passed gcc-noncompile}
-
-postbase $src_code $run $groups
diff --git a/gcc/testsuite/gcc.c-torture/noncompile/va-arg-1.c b/gcc/testsuite/gcc.c-torture/noncompile/va-arg-1.c
deleted file mode 100644
index 0285872860d..00000000000
--- a/gcc/testsuite/gcc.c-torture/noncompile/va-arg-1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdarg.h>
-
-f (int x, ...)
-{
- va_list args;
- va_start (args, bogus_variable);
- va_end (args);
-}
diff --git a/gcc/testsuite/gcc.c-torture/special/920413-1.c b/gcc/testsuite/gcc.c-torture/special/920413-1.c
deleted file mode 100644
index a3e06139a5d..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/920413-1.c
+++ /dev/null
@@ -1 +0,0 @@
-x(b){unsigned long c;c=4294967295U/(unsigned long)b;}
diff --git a/gcc/testsuite/gcc.c-torture/special/920520-1.c b/gcc/testsuite/gcc.c-torture/special/920520-1.c
deleted file mode 100644
index 6b1cd7b17c4..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/920520-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(){asm("%0"::"r"(1.5F));}g(){asm("%0"::"r"(1.5));}
diff --git a/gcc/testsuite/gcc.c-torture/special/920521-1.c b/gcc/testsuite/gcc.c-torture/special/920521-1.c
deleted file mode 100644
index 95b949798dc..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/920521-1.c
+++ /dev/null
@@ -1 +0,0 @@
-f(){asm("f":::"cc");}g(x,y){asm("g"::"%r"(x), "r"(y));}
diff --git a/gcc/testsuite/gcc.c-torture/special/920717-x.c b/gcc/testsuite/gcc.c-torture/special/920717-x.c
deleted file mode 100644
index 07601e397f0..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/920717-x.c
+++ /dev/null
@@ -1,3 +0,0 @@
-/* 920717-1.c */
-
-const char s[]="foo";
diff --git a/gcc/testsuite/gcc.c-torture/special/920717-y.c b/gcc/testsuite/gcc.c-torture/special/920717-y.c
deleted file mode 100644
index eaffa5e4bb7..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/920717-y.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* 920717-y.c */
-
-extern const char s[];
-
-main()
-{
- puts(s);
-}
diff --git a/gcc/testsuite/gcc.c-torture/special/920730-1.c b/gcc/testsuite/gcc.c-torture/special/920730-1.c
deleted file mode 100644
index d97d873634d..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/920730-1.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 920730-1.c */
-
-f1()
-{
- int b=0x80000000;
- return b>=0x80000000;
-}
-
-f2()
-{
- int b=0x80000001;
- return b>=0x80000001;
-}
-
-f3()
-{
- int b=0x7fffffff;
- return b>=0x7fffffff;
-}
-
-f4()
-{
- int b=0xffffffff;
- return b>=0xffffffff;
-}
-
-main ()
-{
- if((f1()&f2()&f3()&f4())!=1)
- abort();
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/special/921210-1.c b/gcc/testsuite/gcc.c-torture/special/921210-1.c
deleted file mode 100644
index bbbf39a314b..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/921210-1.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#define a1(y) (y+1)
-#define a2(y) a1(y)+1
-#define f a->f
-a2(f)
diff --git a/gcc/testsuite/gcc.c-torture/special/930510-1.c b/gcc/testsuite/gcc.c-torture/special/930510-1.c
deleted file mode 100644
index 54ad858a5e2..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/930510-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#define ugly 3
-#ugly "foobar" 3 /* { dg-error "invalid" "invalid directive" } */
-int main() { exit (0); }
diff --git a/gcc/testsuite/gcc.c-torture/special/951130-1.c b/gcc/testsuite/gcc.c-torture/special/951130-1.c
deleted file mode 100644
index c06ba075ff6..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/951130-1.c
+++ /dev/null
@@ -1,2 +0,0 @@
-unsigned long long x = -(unsigned long long)(-(long long)(((unsigned long
-long)0 - 1) >> 1) - 1);
diff --git a/gcc/testsuite/gcc.c-torture/special/960224-1.c b/gcc/testsuite/gcc.c-torture/special/960224-1.c
deleted file mode 100644
index de0a6ae7227..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/960224-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#if 0
-#if 0
-#endif \
-\
-
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/special/960224-2.c b/gcc/testsuite/gcc.c-torture/special/960224-2.c
deleted file mode 100644
index 3d696940640..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/960224-2.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#if 0
-#if 0
-#endif /
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/special/981006-1.c b/gcc/testsuite/gcc.c-torture/special/981006-1.c
deleted file mode 100644
index 6af6d9a8ea5..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/981006-1.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Test that tablejump insns are correctly handled. If the compiler
- loses track of the jump targets, it will report that x and y can be
- used uninitialized.
-
- This is broken in egcs 1998/10/06 for mips in pic mode. */
-/* { dg-do compile } */
-
-int foo (int a, int b)
-{
- __label__ z;
- int x; /* { dg-bogus "warning: `.' might be used uninitialized in this function" } */
- int y; /* { dg-bogus "warning: `.' might be used uninitialized in this function" } */
- static void *p;
-
- switch (a) {
- case 2:
- x = 4;
- break;
- case 4:
- x = 6;
- break;
- case 8: case 10: case 13: case 11: case 17: case 19:
- x = 7;
- break;
- default:
- x = -1;
- break;
- }
- switch (b) {
- case 2:
- y = 4;
- break;
- case 4:
- y = 6;
- break;
- case 8: case 10: case 13: case 11: case 17: case 19:
- y = 7;
- break;
- default:
- y = -1;
- break;
- }
- z:
- p = &&z;
- return x * y;
-}
-int main (int argc, char *argv[])
-{
- return 1 == foo (argc, argc + 1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/special/Makefile.in b/gcc/testsuite/gcc.c-torture/special/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/special/configure.in b/gcc/testsuite/gcc.c-torture/special/configure.in
deleted file mode 100644
index b9cbac3fd77..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=special.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/special/eeprof-1.c b/gcc/testsuite/gcc.c-torture/special/eeprof-1.c
deleted file mode 100644
index 6dad7ec5a73..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/eeprof-1.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#define ASSERT(X) if (!(X)) abort ();
-#define NOCHK __attribute__ ((no_instrument_function))
-
-int entry_calls, exit_calls;
-void (*last_fn_entered)();
-void (*last_fn_exited)();
-
-int main () NOCHK;
-
-void foo ()
-{
- ASSERT (last_fn_entered == foo);
-}
-
-static void foo2 ()
-{
- ASSERT (entry_calls == 1 && exit_calls == 0);
- ASSERT (last_fn_entered == foo2);
- foo ();
- ASSERT (entry_calls == 2 && exit_calls == 1);
- ASSERT (last_fn_entered == foo);
- ASSERT (last_fn_exited == foo);
-}
-
-void nfoo (void) NOCHK;
-void nfoo ()
-{
- ASSERT (entry_calls == 2 && exit_calls == 2);
- ASSERT (last_fn_entered == foo);
- ASSERT (last_fn_exited == foo2);
- foo ();
- ASSERT (entry_calls == 3 && exit_calls == 3);
- ASSERT (last_fn_entered == foo);
- ASSERT (last_fn_exited == foo);
-}
-
-int main ()
-{
- ASSERT (entry_calls == 0 && exit_calls == 0);
-
- foo2 ();
-
- ASSERT (entry_calls == 2 && exit_calls == 2);
- ASSERT (last_fn_entered == foo);
- ASSERT (last_fn_exited == foo2);
-
- nfoo ();
-
- ASSERT (entry_calls == 3 && exit_calls == 3);
- ASSERT (last_fn_entered == foo);
-
- return 0;
-}
-
-void __cyg_profile_func_enter (void (*fn)(), void (*parent)()) NOCHK;
-void __cyg_profile_func_exit (void (*fn)(), void (*parent)()) NOCHK;
-
-void __cyg_profile_func_enter (void (*fn)(), void (*parent)())
-{
- entry_calls++;
- last_fn_entered = fn;
-}
-void __cyg_profile_func_exit (void (*fn)(), void (*parent)())
-{
- exit_calls++;
- last_fn_exited = fn;
-}
diff --git a/gcc/testsuite/gcc.c-torture/special/special.exp b/gcc/testsuite/gcc.c-torture/special/special.exp
deleted file mode 100644
index d37d18c8a1d..00000000000
--- a/gcc/testsuite/gcc.c-torture/special/special.exp
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright (C) 1988, 90-96, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-
-#
-# These tests come from Torbjorn Granlund (tege@cygnus.com)
-# C torture test suite.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib c-torture.exp
-load_lib gcc-dg.exp
-
-################## ADD NEXT CASE HERE (NOT AT THE END) ##################
-
-# 981006-1
-# For MIPS at least, pic is needed to trigger the problem.
-dg-init
-if { [istarget rs6000-*-aix*]
- || [istarget powerpc*-*-aix*]
- || [istarget arm*-*-*]
-} {
- set extra_flags ""
-} else {
- set extra_flags "-fpic"
-}
-dg-runtest $srcdir/$subdir/981006-1.c "-Wuninitialized -O2 $extra_flags" ""
-dg-finish
-
-# 921210-1
-set lines [gcc_target_compile $srcdir/$subdir/921210-1.c "" preprocess ""]
-set lines [prune [split [prune_warnings [prune_gcc_output $lines]] "\n"] ""]
-set line [lindex $lines [expr [llength $lines]-1]]
-regsub -all " " $line "" clean
-if [expr [string compare $clean "(a->f+1)+1"]==0] then {
- pass "921210-1.c"
-} else {
- fail "921210-1.c"
-}
-
-# 920521-1
-c-torture 920521-1.c "-S"
-
-# 920520-1
-c-torture 920520-1.c "-S"
-
-# 920717-1
-if [isnative] then {
- set lines [gcc_target_compile "$srcdir/$subdir/920717-x.c" "920717-x.o" object {additional_flags="-w"}]
- if ![string match "" $lines] then {
- fail "920717-x.c"
- } else {
- # This is a completely bogus test. Sorry.
- catch exec "rm -f 920717-y.o"
- send_log "cc -c $srcdir/$subdir/920717-y.c 2>/dev/null >/dev/null\n"
- catch exec "cc -c $srcdir/$subdir/920717-y.c 2>/dev/null >/dev/null"
- if ![file exists "920717-y.o"] then {
- send_log "c89 -c $srcdir/$subdir/920717-y.c 2>/dev/null >/dev/null\n"
- catch exec "c89 -c $srcdir/$subdir/920717-y.c 2>/dev/null >/dev/null"
- }
- if [file exists "920717-y.o"] then {
- set lines [gcc_target_compile "920717-y.o x.o" "x" executable ""]
- if [string match "" $lines] then {
- pass "920717-1.c"
- } else {
- fail "920717-1.c"
- }
- }
- }
-}
-
-# 920730-1
-if [isnative] then {
- c-torture "920730-1.c"
- c-torture "920730-1.c" "-traditional"
-}
-
-# 920413-1
-c-torture 920413-1.c "-Wtraditional"
-
-# 930510-1
-dg-init
-dg-runtest $srcdir/$subdir/930510-1.c "" ""
-dg-finish
-
-# 951130-1
-c-torture 951130-1.c "-Werror"
-
-# 960224-1
-c-torture 960224-1.c "-E -ansi -pedantic-errors"
-
-# 960224-2
-#c-torture 960224-2.c "-E -ansi -pedantic-errors"
-
-c-torture-execute $srcdir/$subdir/eeprof-1.c "-finstrument-functions"
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/386.c b/gcc/testsuite/gcc.c-torture/unsorted/386.c
deleted file mode 100644
index 432cdaddd12..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/386.c
+++ /dev/null
@@ -1,23 +0,0 @@
-foo (a, p)
- int *p;
-{
- p[0] = a;
- a = (short) a;
- return a;
-}
-
-main ()
-{
- int i;
- foobar (i, &i);
-}
-
-
-foobar (a, b)
-{
- int c;
-
- c = a % b;
- a = a / b;
- return a + b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/86.c b/gcc/testsuite/gcc.c-torture/unsorted/86.c
deleted file mode 100644
index deea85ee2f4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/86.c
+++ /dev/null
@@ -1,19 +0,0 @@
-m32 (a)
- int *a;
-{
- a[1] = a[0];
-}
-
-m16 (a)
- short *a;
-{
- a[1] = a[0];
-}
-
-
-m8 (a)
- char *a;
-{
- a[1] = a[0];
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG1.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG1.c
deleted file mode 100644
index ada8eaf49c7..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG1.c
+++ /dev/null
@@ -1,37 +0,0 @@
-struct _XtTextSource {
- /* ... */
- void (* SetSelection)();
- /* ... */
- };
-
-typedef struct _XtTextSource *XtTextSource;
-
-typedef struct _TextPart {
- XtTextSource source;
- /* ... */
-} TextPart;
-
-typedef struct _TextRec {
- /* ... */
- TextPart text;
-} TextRec;
-
-typedef struct _TextRec *TextWidget;
-
-
-void XtTextUnsetSelection(w)
- TextWidget w; /* original is: Widget w; */
-{
- register TextWidget ctx = (TextWidget) w;
- void (*nullProc)() = 0;
-
-/*
- * the following line causes the error, when optimizing:
- */
-
- if (ctx->text.source->SetSelection != nullProc) {
-
- foo();
-
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG11.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG11.c
deleted file mode 100644
index fe2923a97f0..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG11.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#define DD 2410065408
-
-unsigned
-foo (d)
- double d;
-{
- return d;
-}
-
-#if foobar
-
-main ()
-{
-#if bar
- unsigned u = DD;
- double d = (double) u;
-#else
- double d = (double) DD;
-#endif
- printf ("%u = %u = %lf\n", foo ((double) DD), foo (d), d);
-}
-#else
-
-main ()
-{
- printf ("%lf\n", (double) ((unsigned) DD));
- foo ((double) DD);
-}
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG12.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG12.c
deleted file mode 100644
index b32fa607176..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG12.c
+++ /dev/null
@@ -1,5 +0,0 @@
-long long
-main ()
-{
- return 1.1e10;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG13.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG13.c
deleted file mode 100644
index 9a302b95152..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG13.c
+++ /dev/null
@@ -1,19 +0,0 @@
-struct tree_common
-{
- int uid;
- unsigned int code : 8;
- unsigned int code2 : 8;
- unsigned external_attr : 1;
- unsigned public_attr : 1;
-
-};
-
-static int
-duplicate_decls (x)
- register struct tree_common *x;
-{
- if (x->external_attr)
- if (x->code)
- if (x->code2)
- x->public_attr = 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG16.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG16.c
deleted file mode 100644
index daeae2ca562..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG16.c
+++ /dev/null
@@ -1,6 +0,0 @@
-setgetlen (a)
- int *a;
-{
- while (*a++ & 0x80000000)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG17.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG17.c
deleted file mode 100644
index 920587046ed..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG17.c
+++ /dev/null
@@ -1,8 +0,0 @@
-double d;
-
-main()
-{
- int i;
-
- i = (int) d;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG18.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG18.c
deleted file mode 100644
index ed586a7f9d6..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG18.c
+++ /dev/null
@@ -1,5 +0,0 @@
-main()
-{
- if ((signed int) 1 < (signed int) -2147483648)
- printf("true\n");
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG2.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG2.c
deleted file mode 100644
index 6dc30be6502..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG2.c
+++ /dev/null
@@ -1,8 +0,0 @@
-BUG2 (p) int *p;
-{
- int a = 0;
- if (*p == a)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG21.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG21.c
deleted file mode 100644
index c8a1157cc46..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG21.c
+++ /dev/null
@@ -1,22 +0,0 @@
-typedef struct {
- int knock_on_wood; /* leave it out and it works. */
- int f1;
-} FOO;
-
-typedef struct {
- FOO *b1;
-} BAR;
-
-Nase ()
-{
- int i, j;
- FOO *foop;
- BAR *barp;
-
- for (i = 0; i < 2; i++) {
- foop = &barp->b1[i];
- for (j = 0; j < foop->f1; j++) {
- /* dummy() */; /* put it in and it works. */
- }
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG22.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG22.c
deleted file mode 100644
index 9fd95254d3d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG22.c
+++ /dev/null
@@ -1,6 +0,0 @@
-
-void
-Rotate (float angle)
-{
- float mag = (angle < 0) ? -angle : angle;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG23.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG23.c
deleted file mode 100644
index 1ff429ef0ac..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG23.c
+++ /dev/null
@@ -1,18 +0,0 @@
-main()
-{
- static char static_char_array[1];
- static char *static_char_pointer;
- static char static_char;
- char char_array[1];
- char *char_pointer;
- char character;
-
- char *cp, c;
-
- c = cp - static_char_array; /* error */
- c = cp - static_char_pointer;
- c = cp - &static_char; /* error */
- c = cp - char_array;
- c = cp - char_pointer;
- c = cp - &character;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG24.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG24.c
deleted file mode 100644
index 7627a3ddcdd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG24.c
+++ /dev/null
@@ -1,15 +0,0 @@
-struct ack {
- char a, b, c;
-};
-
-main()
-{
- struct ack bad;
-
- foo(bad);
-}
-
-foo(c)
- struct ack c;
-{
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG25.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG25.c
deleted file mode 100644
index 57441706125..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG25.c
+++ /dev/null
@@ -1,5 +0,0 @@
-
-foo (a)
-{
- __builtin_ffs (a);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG3.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG3.c
deleted file mode 100644
index 30e6622a566..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG3.c
+++ /dev/null
@@ -1,8 +0,0 @@
-BUG2 (p) char *p;
-{
- int a = 0;
- if (*p == a)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG4.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG4.c
deleted file mode 100644
index be6a14989c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG4.c
+++ /dev/null
@@ -1,20 +0,0 @@
-int foo()
-{
- char c;
-
- return (c ^ 30 ) > (c ^ 40 );
-/*
- these also get the signal :
- return (c ^ 30 ) == (c ^ 40 );
- return ((int)c ^ 30 ) > (c ^ 40 );
- also fails if c is "extern char"
-
- these are ok :
- return (c + 30 ) > (c ^ 40 );
- return (c ^ 30 ) > (c + 40 );
- return (c ^ 30 ) + (c ^ 40 );
- return ('a' ^ 30 ) > (c ^ 40 );
- return (c ^ 40 );
- return (c ^ 30 ) > (c ^ 40 );
-*/
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG5.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG5.c
deleted file mode 100644
index 9bed7136f59..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG5.c
+++ /dev/null
@@ -1,18 +0,0 @@
-enum bar
-{
- one,
- two
-};
-
-enum bar foo;
-
-void bar()
-{
- switch (foo)
- {
- case one:
- case two:
- printf ("one to two\n");
- break;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/BUG6.c b/gcc/testsuite/gcc.c-torture/unsorted/BUG6.c
deleted file mode 100644
index b1394650964..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/BUG6.c
+++ /dev/null
@@ -1,8 +0,0 @@
-main()
-{
- unsigned long L;
- double D;
- D = L = -3;
- printf("L=%lu, D=%g\n", L, D);
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/DFcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/DFcmp.c
deleted file mode 100644
index b32b0ecc6ab..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/DFcmp.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#define type double
-
-type glob0, glob1;
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)((int)&glob0))
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)((int)&glob1))
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-reg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= reg1) return 1; else return 0;}
-
-reg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= indreg1) return 1; else return 0;}
-
-reg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= imm1) return 1; else return 0;}
-
-reg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= limm1) return 1; else return 0;}
-
-reg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adr1) return 1; else return 0;}
-
-reg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrreg1) return 1; else return 0;}
-
-reg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrx1) return 1; else return 0;}
-
-reg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= regx1) return 1; else return 0;}
-
-indreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= reg1) return 1; else return 0;}
-
-indreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= indreg1) return 1; else return 0;}
-
-indreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= imm1) return 1; else return 0;}
-
-indreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= limm1) return 1; else return 0;}
-
-indreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adr1) return 1; else return 0;}
-
-indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrreg1) return 1; else return 0;}
-
-indreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrx1) return 1; else return 0;}
-
-indreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= regx1) return 1; else return 0;}
-
-imm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= reg1) return 1; else return 0;}
-
-imm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= indreg1) return 1; else return 0;}
-
-imm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= imm1) return 1; else return 0;}
-
-imm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= limm1) return 1; else return 0;}
-
-imm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adr1) return 1; else return 0;}
-
-imm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrreg1) return 1; else return 0;}
-
-imm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrx1) return 1; else return 0;}
-
-imm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= regx1) return 1; else return 0;}
-
-limm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= reg1) return 1; else return 0;}
-
-limm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= indreg1) return 1; else return 0;}
-
-limm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= imm1) return 1; else return 0;}
-
-limm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= limm1) return 1; else return 0;}
-
-limm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adr1) return 1; else return 0;}
-
-limm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrreg1) return 1; else return 0;}
-
-limm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrx1) return 1; else return 0;}
-
-limm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= regx1) return 1; else return 0;}
-
-adr0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= reg1) return 1; else return 0;}
-
-adr0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= indreg1) return 1; else return 0;}
-
-adr0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= imm1) return 1; else return 0;}
-
-adr0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= limm1) return 1; else return 0;}
-
-adr0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adr1) return 1; else return 0;}
-
-adr0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrreg1) return 1; else return 0;}
-
-adr0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrx1) return 1; else return 0;}
-
-adr0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= regx1) return 1; else return 0;}
-
-adrreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= reg1) return 1; else return 0;}
-
-adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= indreg1) return 1; else return 0;}
-
-adrreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= imm1) return 1; else return 0;}
-
-adrreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= limm1) return 1; else return 0;}
-
-adrreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adr1) return 1; else return 0;}
-
-adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrreg1) return 1; else return 0;}
-
-adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrx1) return 1; else return 0;}
-
-adrreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= regx1) return 1; else return 0;}
-
-adrx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= reg1) return 1; else return 0;}
-
-adrx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= indreg1) return 1; else return 0;}
-
-adrx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= imm1) return 1; else return 0;}
-
-adrx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= limm1) return 1; else return 0;}
-
-adrx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adr1) return 1; else return 0;}
-
-adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrreg1) return 1; else return 0;}
-
-adrx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrx1) return 1; else return 0;}
-
-adrx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= regx1) return 1; else return 0;}
-
-regx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= reg1) return 1; else return 0;}
-
-regx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= indreg1) return 1; else return 0;}
-
-regx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= imm1) return 1; else return 0;}
-
-regx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= limm1) return 1; else return 0;}
-
-regx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adr1) return 1; else return 0;}
-
-regx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrreg1) return 1; else return 0;}
-
-regx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrx1) return 1; else return 0;}
-
-regx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= regx1) return 1; else return 0;}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/HIcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/HIcmp.c
deleted file mode 100644
index eea39841b95..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/HIcmp.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#define type short
-
-type glob0, glob1;
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-reg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= reg1) return 1; else return 0;}
-
-reg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= indreg1) return 1; else return 0;}
-
-reg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= imm1) return 1; else return 0;}
-
-reg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= limm1) return 1; else return 0;}
-
-reg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adr1) return 1; else return 0;}
-
-reg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrreg1) return 1; else return 0;}
-
-reg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrx1) return 1; else return 0;}
-
-reg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= regx1) return 1; else return 0;}
-
-indreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= reg1) return 1; else return 0;}
-
-indreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= indreg1) return 1; else return 0;}
-
-indreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= imm1) return 1; else return 0;}
-
-indreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= limm1) return 1; else return 0;}
-
-indreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adr1) return 1; else return 0;}
-
-indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrreg1) return 1; else return 0;}
-
-indreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrx1) return 1; else return 0;}
-
-indreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= regx1) return 1; else return 0;}
-
-imm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= reg1) return 1; else return 0;}
-
-imm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= indreg1) return 1; else return 0;}
-
-imm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= imm1) return 1; else return 0;}
-
-imm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= limm1) return 1; else return 0;}
-
-imm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adr1) return 1; else return 0;}
-
-imm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrreg1) return 1; else return 0;}
-
-imm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrx1) return 1; else return 0;}
-
-imm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= regx1) return 1; else return 0;}
-
-limm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= reg1) return 1; else return 0;}
-
-limm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= indreg1) return 1; else return 0;}
-
-limm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= imm1) return 1; else return 0;}
-
-limm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= limm1) return 1; else return 0;}
-
-limm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adr1) return 1; else return 0;}
-
-limm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrreg1) return 1; else return 0;}
-
-limm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrx1) return 1; else return 0;}
-
-limm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= regx1) return 1; else return 0;}
-
-adr0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= reg1) return 1; else return 0;}
-
-adr0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= indreg1) return 1; else return 0;}
-
-adr0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= imm1) return 1; else return 0;}
-
-adr0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= limm1) return 1; else return 0;}
-
-adr0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adr1) return 1; else return 0;}
-
-adr0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrreg1) return 1; else return 0;}
-
-adr0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrx1) return 1; else return 0;}
-
-adr0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= regx1) return 1; else return 0;}
-
-adrreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= reg1) return 1; else return 0;}
-
-adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= indreg1) return 1; else return 0;}
-
-adrreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= imm1) return 1; else return 0;}
-
-adrreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= limm1) return 1; else return 0;}
-
-adrreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adr1) return 1; else return 0;}
-
-adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrreg1) return 1; else return 0;}
-
-adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrx1) return 1; else return 0;}
-
-adrreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= regx1) return 1; else return 0;}
-
-adrx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= reg1) return 1; else return 0;}
-
-adrx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= indreg1) return 1; else return 0;}
-
-adrx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= imm1) return 1; else return 0;}
-
-adrx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= limm1) return 1; else return 0;}
-
-adrx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adr1) return 1; else return 0;}
-
-adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrreg1) return 1; else return 0;}
-
-adrx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrx1) return 1; else return 0;}
-
-adrx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= regx1) return 1; else return 0;}
-
-regx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= reg1) return 1; else return 0;}
-
-regx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= indreg1) return 1; else return 0;}
-
-regx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= imm1) return 1; else return 0;}
-
-regx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= limm1) return 1; else return 0;}
-
-regx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adr1) return 1; else return 0;}
-
-regx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrreg1) return 1; else return 0;}
-
-regx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrx1) return 1; else return 0;}
-
-regx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= regx1) return 1; else return 0;}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/HIset.c b/gcc/testsuite/gcc.c-torture/unsorted/HIset.c
deleted file mode 100644
index 8108fbb27c4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/HIset.c
+++ /dev/null
@@ -1,216 +0,0 @@
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)(int)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)(int)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-int glob0, glob1;
-
-#define type short
-
-reg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = reg1; }
-
-reg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = indreg1; }
-
-reg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = imm1; }
-
-reg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = limm1; }
-
-reg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adr1; }
-
-reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrreg1; }
-
-reg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrx1; }
-
-reg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = regx1; }
-
-indreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = reg1; }
-
-indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = indreg1; }
-
-indreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = imm1; }
-
-indreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = limm1; }
-
-indreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adr1; }
-
-indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrreg1; }
-
-indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrx1; }
-
-indreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = regx1; }
-
-adr0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = reg1; }
-
-adr0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = indreg1; }
-
-adr0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = imm1; }
-
-adr0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = limm1; }
-
-adr0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adr1; }
-
-adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrreg1; }
-
-adr0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrx1; }
-
-adr0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = regx1; }
-
-adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = reg1; }
-
-adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = indreg1; }
-
-adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = imm1; }
-
-adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = limm1; }
-
-adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adr1; }
-
-adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrreg1; }
-
-adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrx1; }
-
-adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = regx1; }
-
-adrx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = reg1; }
-
-adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = indreg1; }
-
-adrx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = imm1; }
-
-adrx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = limm1; }
-
-adrx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adr1; }
-
-adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrreg1; }
-
-adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrx1; }
-
-adrx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = regx1; }
-
-regx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = reg1; }
-
-regx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = indreg1; }
-
-regx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = imm1; }
-
-regx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = limm1; }
-
-regx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adr1; }
-
-regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrreg1; }
-
-regx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrx1; }
-
-regx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = regx1; }
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/Makefile.in b/gcc/testsuite/gcc.c-torture/unsorted/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/PYRBUG.c b/gcc/testsuite/gcc.c-torture/unsorted/PYRBUG.c
deleted file mode 100644
index c64c3f5e1b2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/PYRBUG.c
+++ /dev/null
@@ -1,17 +0,0 @@
-typedef struct
-{
- int v;
- int h;
-} Point;
-
-typedef struct
-{
- int top, left, bottom, right;
-} Rect;
-
-int
-x_PtInRect (Point pt, Rect *r)
-{
- return pt.v >= r->top && pt.v < r->bottom
- && pt.h >= r->left && pt.h < r->right;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/QIcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/QIcmp.c
deleted file mode 100644
index c5161646f2c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/QIcmp.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#define type signed char
-
-type glob0, glob1;
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-reg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= reg1) return 1; else return 0;}
-
-reg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= indreg1) return 1; else return 0;}
-
-reg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= imm1) return 1; else return 0;}
-
-reg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= limm1) return 1; else return 0;}
-
-reg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adr1) return 1; else return 0;}
-
-reg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrreg1) return 1; else return 0;}
-
-reg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrx1) return 1; else return 0;}
-
-reg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= regx1) return 1; else return 0;}
-
-indreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= reg1) return 1; else return 0;}
-
-indreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= indreg1) return 1; else return 0;}
-
-indreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= imm1) return 1; else return 0;}
-
-indreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= limm1) return 1; else return 0;}
-
-indreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adr1) return 1; else return 0;}
-
-indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrreg1) return 1; else return 0;}
-
-indreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrx1) return 1; else return 0;}
-
-indreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= regx1) return 1; else return 0;}
-
-imm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= reg1) return 1; else return 0;}
-
-imm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= indreg1) return 1; else return 0;}
-
-imm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= imm1) return 1; else return 0;}
-
-imm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= limm1) return 1; else return 0;}
-
-imm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adr1) return 1; else return 0;}
-
-imm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrreg1) return 1; else return 0;}
-
-imm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrx1) return 1; else return 0;}
-
-imm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= regx1) return 1; else return 0;}
-
-limm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= reg1) return 1; else return 0;}
-
-limm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= indreg1) return 1; else return 0;}
-
-limm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= imm1) return 1; else return 0;}
-
-limm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= limm1) return 1; else return 0;}
-
-limm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adr1) return 1; else return 0;}
-
-limm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrreg1) return 1; else return 0;}
-
-limm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrx1) return 1; else return 0;}
-
-limm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= regx1) return 1; else return 0;}
-
-adr0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= reg1) return 1; else return 0;}
-
-adr0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= indreg1) return 1; else return 0;}
-
-adr0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= imm1) return 1; else return 0;}
-
-adr0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= limm1) return 1; else return 0;}
-
-adr0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adr1) return 1; else return 0;}
-
-adr0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrreg1) return 1; else return 0;}
-
-adr0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrx1) return 1; else return 0;}
-
-adr0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= regx1) return 1; else return 0;}
-
-adrreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= reg1) return 1; else return 0;}
-
-adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= indreg1) return 1; else return 0;}
-
-adrreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= imm1) return 1; else return 0;}
-
-adrreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= limm1) return 1; else return 0;}
-
-adrreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adr1) return 1; else return 0;}
-
-adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrreg1) return 1; else return 0;}
-
-adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrx1) return 1; else return 0;}
-
-adrreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= regx1) return 1; else return 0;}
-
-adrx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= reg1) return 1; else return 0;}
-
-adrx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= indreg1) return 1; else return 0;}
-
-adrx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= imm1) return 1; else return 0;}
-
-adrx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= limm1) return 1; else return 0;}
-
-adrx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adr1) return 1; else return 0;}
-
-adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrreg1) return 1; else return 0;}
-
-adrx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrx1) return 1; else return 0;}
-
-adrx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= regx1) return 1; else return 0;}
-
-regx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= reg1) return 1; else return 0;}
-
-regx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= indreg1) return 1; else return 0;}
-
-regx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= imm1) return 1; else return 0;}
-
-regx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= limm1) return 1; else return 0;}
-
-regx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adr1) return 1; else return 0;}
-
-regx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrreg1) return 1; else return 0;}
-
-regx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrx1) return 1; else return 0;}
-
-regx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= regx1) return 1; else return 0;}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/QIset.c b/gcc/testsuite/gcc.c-torture/unsorted/QIset.c
deleted file mode 100644
index 212609dc864..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/QIset.c
+++ /dev/null
@@ -1,216 +0,0 @@
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)(int)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)(int)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-int glob0, glob1;
-
-#define type char
-
-reg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = reg1; }
-
-reg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = indreg1; }
-
-reg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = imm1; }
-
-reg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = limm1; }
-
-reg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adr1; }
-
-reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrreg1; }
-
-reg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrx1; }
-
-reg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = regx1; }
-
-indreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = reg1; }
-
-indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = indreg1; }
-
-indreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = imm1; }
-
-indreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = limm1; }
-
-indreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adr1; }
-
-indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrreg1; }
-
-indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrx1; }
-
-indreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = regx1; }
-
-adr0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = reg1; }
-
-adr0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = indreg1; }
-
-adr0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = imm1; }
-
-adr0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = limm1; }
-
-adr0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adr1; }
-
-adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrreg1; }
-
-adr0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrx1; }
-
-adr0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = regx1; }
-
-adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = reg1; }
-
-adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = indreg1; }
-
-adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = imm1; }
-
-adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = limm1; }
-
-adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adr1; }
-
-adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrreg1; }
-
-adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrx1; }
-
-adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = regx1; }
-
-adrx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = reg1; }
-
-adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = indreg1; }
-
-adrx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = imm1; }
-
-adrx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = limm1; }
-
-adrx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adr1; }
-
-adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrreg1; }
-
-adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrx1; }
-
-adrx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = regx1; }
-
-regx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = reg1; }
-
-regx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = indreg1; }
-
-regx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = imm1; }
-
-regx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = limm1; }
-
-regx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adr1; }
-
-regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrreg1; }
-
-regx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrx1; }
-
-regx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = regx1; }
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/SFset.c b/gcc/testsuite/gcc.c-torture/unsorted/SFset.c
deleted file mode 100644
index ad3e41b834b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/SFset.c
+++ /dev/null
@@ -1,216 +0,0 @@
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)(int)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)(int)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-int glob0, glob1;
-
-#define type float
-
-reg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = reg1; }
-
-reg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = indreg1; }
-
-reg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = imm1; }
-
-reg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = limm1; }
-
-reg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adr1; }
-
-reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrreg1; }
-
-reg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrx1; }
-
-reg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = regx1; }
-
-indreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = reg1; }
-
-indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = indreg1; }
-
-indreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = imm1; }
-
-indreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = limm1; }
-
-indreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adr1; }
-
-indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrreg1; }
-
-indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrx1; }
-
-indreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = regx1; }
-
-adr0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = reg1; }
-
-adr0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = indreg1; }
-
-adr0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = imm1; }
-
-adr0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = limm1; }
-
-adr0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adr1; }
-
-adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrreg1; }
-
-adr0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrx1; }
-
-adr0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = regx1; }
-
-adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = reg1; }
-
-adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = indreg1; }
-
-adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = imm1; }
-
-adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = limm1; }
-
-adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adr1; }
-
-adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrreg1; }
-
-adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrx1; }
-
-adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = regx1; }
-
-adrx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = reg1; }
-
-adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = indreg1; }
-
-adrx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = imm1; }
-
-adrx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = limm1; }
-
-adrx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adr1; }
-
-adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrreg1; }
-
-adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrx1; }
-
-adrx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = regx1; }
-
-regx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = reg1; }
-
-regx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = indreg1; }
-
-regx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = imm1; }
-
-regx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = limm1; }
-
-regx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adr1; }
-
-regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrreg1; }
-
-regx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrx1; }
-
-regx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = regx1; }
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/SIcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/SIcmp.c
deleted file mode 100644
index 30e07392467..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/SIcmp.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#define type int
-
-type glob0, glob1;
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-reg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= reg1) return 1; else return 0;}
-
-reg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= indreg1) return 1; else return 0;}
-
-reg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= imm1) return 1; else return 0;}
-
-reg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= limm1) return 1; else return 0;}
-
-reg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adr1) return 1; else return 0;}
-
-reg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrreg1) return 1; else return 0;}
-
-reg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrx1) return 1; else return 0;}
-
-reg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= regx1) return 1; else return 0;}
-
-indreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= reg1) return 1; else return 0;}
-
-indreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= indreg1) return 1; else return 0;}
-
-indreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= imm1) return 1; else return 0;}
-
-indreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= limm1) return 1; else return 0;}
-
-indreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adr1) return 1; else return 0;}
-
-indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrreg1) return 1; else return 0;}
-
-indreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrx1) return 1; else return 0;}
-
-indreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= regx1) return 1; else return 0;}
-
-imm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= reg1) return 1; else return 0;}
-
-imm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= indreg1) return 1; else return 0;}
-
-imm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= imm1) return 1; else return 0;}
-
-imm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= limm1) return 1; else return 0;}
-
-imm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adr1) return 1; else return 0;}
-
-imm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrreg1) return 1; else return 0;}
-
-imm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrx1) return 1; else return 0;}
-
-imm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= regx1) return 1; else return 0;}
-
-limm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= reg1) return 1; else return 0;}
-
-limm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= indreg1) return 1; else return 0;}
-
-limm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= imm1) return 1; else return 0;}
-
-limm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= limm1) return 1; else return 0;}
-
-limm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adr1) return 1; else return 0;}
-
-limm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrreg1) return 1; else return 0;}
-
-limm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrx1) return 1; else return 0;}
-
-limm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= regx1) return 1; else return 0;}
-
-adr0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= reg1) return 1; else return 0;}
-
-adr0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= indreg1) return 1; else return 0;}
-
-adr0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= imm1) return 1; else return 0;}
-
-adr0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= limm1) return 1; else return 0;}
-
-adr0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adr1) return 1; else return 0;}
-
-adr0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrreg1) return 1; else return 0;}
-
-adr0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrx1) return 1; else return 0;}
-
-adr0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= regx1) return 1; else return 0;}
-
-adrreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= reg1) return 1; else return 0;}
-
-adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= indreg1) return 1; else return 0;}
-
-adrreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= imm1) return 1; else return 0;}
-
-adrreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= limm1) return 1; else return 0;}
-
-adrreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adr1) return 1; else return 0;}
-
-adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrreg1) return 1; else return 0;}
-
-adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrx1) return 1; else return 0;}
-
-adrreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= regx1) return 1; else return 0;}
-
-adrx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= reg1) return 1; else return 0;}
-
-adrx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= indreg1) return 1; else return 0;}
-
-adrx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= imm1) return 1; else return 0;}
-
-adrx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= limm1) return 1; else return 0;}
-
-adrx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adr1) return 1; else return 0;}
-
-adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrreg1) return 1; else return 0;}
-
-adrx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrx1) return 1; else return 0;}
-
-adrx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= regx1) return 1; else return 0;}
-
-regx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= reg1) return 1; else return 0;}
-
-regx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= indreg1) return 1; else return 0;}
-
-regx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= imm1) return 1; else return 0;}
-
-regx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= limm1) return 1; else return 0;}
-
-regx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adr1) return 1; else return 0;}
-
-regx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrreg1) return 1; else return 0;}
-
-regx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrx1) return 1; else return 0;}
-
-regx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= regx1) return 1; else return 0;}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/SIset.c b/gcc/testsuite/gcc.c-torture/unsorted/SIset.c
deleted file mode 100644
index 74a51cd0fb4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/SIset.c
+++ /dev/null
@@ -1,216 +0,0 @@
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)(int)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)(int)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-int glob0, glob1;
-
-#define type int
-
-reg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = reg1; }
-
-reg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = indreg1; }
-
-reg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = imm1; }
-
-reg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = limm1; }
-
-reg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adr1; }
-
-reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrreg1; }
-
-reg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = adrx1; }
-
-reg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{reg0 = regx1; }
-
-indreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = reg1; }
-
-indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = indreg1; }
-
-indreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = imm1; }
-
-indreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = limm1; }
-
-indreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adr1; }
-
-indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrreg1; }
-
-indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = adrx1; }
-
-indreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{indreg0 = regx1; }
-
-adr0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = reg1; }
-
-adr0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = indreg1; }
-
-adr0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = imm1; }
-
-adr0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = limm1; }
-
-adr0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adr1; }
-
-adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrreg1; }
-
-adr0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = adrx1; }
-
-adr0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adr0 = regx1; }
-
-adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = reg1; }
-
-adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = indreg1; }
-
-adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = imm1; }
-
-adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = limm1; }
-
-adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adr1; }
-
-adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrreg1; }
-
-adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = adrx1; }
-
-adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrreg0 = regx1; }
-
-adrx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = reg1; }
-
-adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = indreg1; }
-
-adrx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = imm1; }
-
-adrx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = limm1; }
-
-adrx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adr1; }
-
-adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrreg1; }
-
-adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = adrx1; }
-
-adrx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{adrx0 = regx1; }
-
-regx0reg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = reg1; }
-
-regx0indreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = indreg1; }
-
-regx0imm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = imm1; }
-
-regx0limm1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = limm1; }
-
-regx0adr1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adr1; }
-
-regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrreg1; }
-
-regx0adrx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = adrx1; }
-
-regx0regx1_set (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{regx0 = regx1; }
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/UHIcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/UHIcmp.c
deleted file mode 100644
index 1e969e7103a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/UHIcmp.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#define type unsigned short
-
-type glob0, glob1;
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-reg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= reg1) return 1; else return 0;}
-
-reg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= indreg1) return 1; else return 0;}
-
-reg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= imm1) return 1; else return 0;}
-
-reg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= limm1) return 1; else return 0;}
-
-reg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adr1) return 1; else return 0;}
-
-reg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrreg1) return 1; else return 0;}
-
-reg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrx1) return 1; else return 0;}
-
-reg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= regx1) return 1; else return 0;}
-
-indreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= reg1) return 1; else return 0;}
-
-indreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= indreg1) return 1; else return 0;}
-
-indreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= imm1) return 1; else return 0;}
-
-indreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= limm1) return 1; else return 0;}
-
-indreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adr1) return 1; else return 0;}
-
-indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrreg1) return 1; else return 0;}
-
-indreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrx1) return 1; else return 0;}
-
-indreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= regx1) return 1; else return 0;}
-
-imm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= reg1) return 1; else return 0;}
-
-imm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= indreg1) return 1; else return 0;}
-
-imm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= imm1) return 1; else return 0;}
-
-imm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= limm1) return 1; else return 0;}
-
-imm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adr1) return 1; else return 0;}
-
-imm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrreg1) return 1; else return 0;}
-
-imm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrx1) return 1; else return 0;}
-
-imm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= regx1) return 1; else return 0;}
-
-limm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= reg1) return 1; else return 0;}
-
-limm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= indreg1) return 1; else return 0;}
-
-limm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= imm1) return 1; else return 0;}
-
-limm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= limm1) return 1; else return 0;}
-
-limm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adr1) return 1; else return 0;}
-
-limm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrreg1) return 1; else return 0;}
-
-limm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrx1) return 1; else return 0;}
-
-limm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= regx1) return 1; else return 0;}
-
-adr0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= reg1) return 1; else return 0;}
-
-adr0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= indreg1) return 1; else return 0;}
-
-adr0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= imm1) return 1; else return 0;}
-
-adr0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= limm1) return 1; else return 0;}
-
-adr0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adr1) return 1; else return 0;}
-
-adr0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrreg1) return 1; else return 0;}
-
-adr0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrx1) return 1; else return 0;}
-
-adr0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= regx1) return 1; else return 0;}
-
-adrreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= reg1) return 1; else return 0;}
-
-adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= indreg1) return 1; else return 0;}
-
-adrreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= imm1) return 1; else return 0;}
-
-adrreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= limm1) return 1; else return 0;}
-
-adrreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adr1) return 1; else return 0;}
-
-adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrreg1) return 1; else return 0;}
-
-adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrx1) return 1; else return 0;}
-
-adrreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= regx1) return 1; else return 0;}
-
-adrx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= reg1) return 1; else return 0;}
-
-adrx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= indreg1) return 1; else return 0;}
-
-adrx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= imm1) return 1; else return 0;}
-
-adrx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= limm1) return 1; else return 0;}
-
-adrx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adr1) return 1; else return 0;}
-
-adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrreg1) return 1; else return 0;}
-
-adrx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrx1) return 1; else return 0;}
-
-adrx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= regx1) return 1; else return 0;}
-
-regx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= reg1) return 1; else return 0;}
-
-regx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= indreg1) return 1; else return 0;}
-
-regx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= imm1) return 1; else return 0;}
-
-regx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= limm1) return 1; else return 0;}
-
-regx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adr1) return 1; else return 0;}
-
-regx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrreg1) return 1; else return 0;}
-
-regx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrx1) return 1; else return 0;}
-
-regx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= regx1) return 1; else return 0;}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/UQIcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/UQIcmp.c
deleted file mode 100644
index 3e9cdebc903..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/UQIcmp.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#define type unsigned char
-
-type glob0, glob1;
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-reg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= reg1) return 1; else return 0;}
-
-reg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= indreg1) return 1; else return 0;}
-
-reg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= imm1) return 1; else return 0;}
-
-reg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= limm1) return 1; else return 0;}
-
-reg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adr1) return 1; else return 0;}
-
-reg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrreg1) return 1; else return 0;}
-
-reg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrx1) return 1; else return 0;}
-
-reg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= regx1) return 1; else return 0;}
-
-indreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= reg1) return 1; else return 0;}
-
-indreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= indreg1) return 1; else return 0;}
-
-indreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= imm1) return 1; else return 0;}
-
-indreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= limm1) return 1; else return 0;}
-
-indreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adr1) return 1; else return 0;}
-
-indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrreg1) return 1; else return 0;}
-
-indreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrx1) return 1; else return 0;}
-
-indreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= regx1) return 1; else return 0;}
-
-imm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= reg1) return 1; else return 0;}
-
-imm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= indreg1) return 1; else return 0;}
-
-imm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= imm1) return 1; else return 0;}
-
-imm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= limm1) return 1; else return 0;}
-
-imm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adr1) return 1; else return 0;}
-
-imm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrreg1) return 1; else return 0;}
-
-imm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrx1) return 1; else return 0;}
-
-imm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= regx1) return 1; else return 0;}
-
-limm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= reg1) return 1; else return 0;}
-
-limm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= indreg1) return 1; else return 0;}
-
-limm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= imm1) return 1; else return 0;}
-
-limm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= limm1) return 1; else return 0;}
-
-limm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adr1) return 1; else return 0;}
-
-limm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrreg1) return 1; else return 0;}
-
-limm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrx1) return 1; else return 0;}
-
-limm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= regx1) return 1; else return 0;}
-
-adr0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= reg1) return 1; else return 0;}
-
-adr0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= indreg1) return 1; else return 0;}
-
-adr0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= imm1) return 1; else return 0;}
-
-adr0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= limm1) return 1; else return 0;}
-
-adr0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adr1) return 1; else return 0;}
-
-adr0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrreg1) return 1; else return 0;}
-
-adr0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrx1) return 1; else return 0;}
-
-adr0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= regx1) return 1; else return 0;}
-
-adrreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= reg1) return 1; else return 0;}
-
-adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= indreg1) return 1; else return 0;}
-
-adrreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= imm1) return 1; else return 0;}
-
-adrreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= limm1) return 1; else return 0;}
-
-adrreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adr1) return 1; else return 0;}
-
-adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrreg1) return 1; else return 0;}
-
-adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrx1) return 1; else return 0;}
-
-adrreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= regx1) return 1; else return 0;}
-
-adrx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= reg1) return 1; else return 0;}
-
-adrx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= indreg1) return 1; else return 0;}
-
-adrx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= imm1) return 1; else return 0;}
-
-adrx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= limm1) return 1; else return 0;}
-
-adrx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adr1) return 1; else return 0;}
-
-adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrreg1) return 1; else return 0;}
-
-adrx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrx1) return 1; else return 0;}
-
-adrx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= regx1) return 1; else return 0;}
-
-regx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= reg1) return 1; else return 0;}
-
-regx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= indreg1) return 1; else return 0;}
-
-regx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= imm1) return 1; else return 0;}
-
-regx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= limm1) return 1; else return 0;}
-
-regx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adr1) return 1; else return 0;}
-
-regx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrreg1) return 1; else return 0;}
-
-regx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrx1) return 1; else return 0;}
-
-regx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= regx1) return 1; else return 0;}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/USIcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/USIcmp.c
deleted file mode 100644
index e2175262a42..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/USIcmp.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#define type unsigned int
-
-type glob0, glob1;
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-reg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= reg1) return 1; else return 0;}
-
-reg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= indreg1) return 1; else return 0;}
-
-reg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= imm1) return 1; else return 0;}
-
-reg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= limm1) return 1; else return 0;}
-
-reg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adr1) return 1; else return 0;}
-
-reg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrreg1) return 1; else return 0;}
-
-reg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= adrx1) return 1; else return 0;}
-
-reg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (reg0 <= regx1) return 1; else return 0;}
-
-indreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= reg1) return 1; else return 0;}
-
-indreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= indreg1) return 1; else return 0;}
-
-indreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= imm1) return 1; else return 0;}
-
-indreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= limm1) return 1; else return 0;}
-
-indreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adr1) return 1; else return 0;}
-
-indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrreg1) return 1; else return 0;}
-
-indreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= adrx1) return 1; else return 0;}
-
-indreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (indreg0 <= regx1) return 1; else return 0;}
-
-imm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= reg1) return 1; else return 0;}
-
-imm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= indreg1) return 1; else return 0;}
-
-imm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= imm1) return 1; else return 0;}
-
-imm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= limm1) return 1; else return 0;}
-
-imm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adr1) return 1; else return 0;}
-
-imm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrreg1) return 1; else return 0;}
-
-imm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= adrx1) return 1; else return 0;}
-
-imm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (imm0 <= regx1) return 1; else return 0;}
-
-limm0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= reg1) return 1; else return 0;}
-
-limm0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= indreg1) return 1; else return 0;}
-
-limm0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= imm1) return 1; else return 0;}
-
-limm0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= limm1) return 1; else return 0;}
-
-limm0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adr1) return 1; else return 0;}
-
-limm0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrreg1) return 1; else return 0;}
-
-limm0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= adrx1) return 1; else return 0;}
-
-limm0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (limm0 <= regx1) return 1; else return 0;}
-
-adr0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= reg1) return 1; else return 0;}
-
-adr0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= indreg1) return 1; else return 0;}
-
-adr0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= imm1) return 1; else return 0;}
-
-adr0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= limm1) return 1; else return 0;}
-
-adr0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adr1) return 1; else return 0;}
-
-adr0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrreg1) return 1; else return 0;}
-
-adr0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= adrx1) return 1; else return 0;}
-
-adr0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adr0 <= regx1) return 1; else return 0;}
-
-adrreg0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= reg1) return 1; else return 0;}
-
-adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= indreg1) return 1; else return 0;}
-
-adrreg0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= imm1) return 1; else return 0;}
-
-adrreg0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= limm1) return 1; else return 0;}
-
-adrreg0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adr1) return 1; else return 0;}
-
-adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrreg1) return 1; else return 0;}
-
-adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= adrx1) return 1; else return 0;}
-
-adrreg0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrreg0 <= regx1) return 1; else return 0;}
-
-adrx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= reg1) return 1; else return 0;}
-
-adrx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= indreg1) return 1; else return 0;}
-
-adrx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= imm1) return 1; else return 0;}
-
-adrx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= limm1) return 1; else return 0;}
-
-adrx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adr1) return 1; else return 0;}
-
-adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrreg1) return 1; else return 0;}
-
-adrx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= adrx1) return 1; else return 0;}
-
-adrx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (adrx0 <= regx1) return 1; else return 0;}
-
-regx0reg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= reg1) return 1; else return 0;}
-
-regx0indreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= indreg1) return 1; else return 0;}
-
-regx0imm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= imm1) return 1; else return 0;}
-
-regx0limm1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= limm1) return 1; else return 0;}
-
-regx0adr1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adr1) return 1; else return 0;}
-
-regx0adrreg1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrreg1) return 1; else return 0;}
-
-regx0adrx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= adrx1) return 1; else return 0;}
-
-regx0regx1 (r0, r1, x0, x1, p0, p1)
-type r0, r1; type *p0, *p1;
-{if (regx0 <= regx1) return 1; else return 0;}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/a.c b/gcc/testsuite/gcc.c-torture/unsorted/a.c
deleted file mode 100644
index 47fb1f493f2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/a.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a & 65535;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/a1.c b/gcc/testsuite/gcc.c-torture/unsorted/a1.c
deleted file mode 100644
index 654781d05ea..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/a1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-int
-foo (a, p)
- int *p;
-{
- p[0] = 85 * a;
- p[1] = -86 * a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/a3.c b/gcc/testsuite/gcc.c-torture/unsorted/a3.c
deleted file mode 100644
index 85d2a242630..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/a3.c
+++ /dev/null
@@ -1,12 +0,0 @@
-foo (a)
-{
- int i;
-
- for (i = 1; i < a; i++)
- ;
- {
- int b = (int) &foo;
-
- return (a & b) == 0;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/aa.c b/gcc/testsuite/gcc.c-torture/unsorted/aa.c
deleted file mode 100644
index 61a4147afa6..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/aa.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#define w 20
-#define c 1
-
-foo (a)
- unsigned a;
-{
- return ((a & ((1 << w) - 1)) << c) > 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/aaa.c b/gcc/testsuite/gcc.c-torture/unsorted/aaa.c
deleted file mode 100644
index e31fb567c1c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/aaa.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (a, b)
-{
- int t;
- while (b < 0)
- {
- t = a;
- a = b;
- b = t;
- }
- return a + b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/abs.c b/gcc/testsuite/gcc.c-torture/unsorted/abs.c
deleted file mode 100644
index 6a746b12639..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/abs.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (a)
-{
- return __builtin_abs (a);
-}
-
-main ()
-{
- printf ("%d %d\n", foo (0x80000000), foo (12));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ac.c b/gcc/testsuite/gcc.c-torture/unsorted/ac.c
deleted file mode 100644
index 1d3c085eec1..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ac.c
+++ /dev/null
@@ -1,30 +0,0 @@
-barfoo (a)
-{
- return (a << 16) & ~0xffff;
-}
-
-foobar (a)
-{
- return ((unsigned short) a) << 15;}
-
-foo (a)
-{
- return (a & 0x121) << 31;
-}
-
-bar (a)
-{
- return (a & ~0xffff) << 16;
-}
-
-main ()
-{
- int a;
-
- for (a = 1; a; a += a)
- {
- printf ("%d", (foo (a)));
- }
- puts ("");
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/acc.c b/gcc/testsuite/gcc.c-torture/unsorted/acc.c
deleted file mode 100644
index a4a027a5fce..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/acc.c
+++ /dev/null
@@ -1,8 +0,0 @@
-foo (a)
-{
- int b = a + 1;
- int c = (short) a;
- if (b)
- return b;
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/add.c b/gcc/testsuite/gcc.c-torture/unsorted/add.c
deleted file mode 100644
index d796e41c712..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/add.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a, b, p)
- int *p;
-{
- return 34 + *p;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/add386.c b/gcc/testsuite/gcc.c-torture/unsorted/add386.c
deleted file mode 100644
index bfdffbfe2f2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/add386.c
+++ /dev/null
@@ -1,4 +0,0 @@
-main (a)
-{
- return a + 128;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/addcc.c b/gcc/testsuite/gcc.c-torture/unsorted/addcc.c
deleted file mode 100644
index cf52307aa97..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/addcc.c
+++ /dev/null
@@ -1,18 +0,0 @@
-foo (p, a, b)
- int *p;
- int a;
- int b;
-{
-
- a += p[0];
- b += p[1];
- if (a == 0)
- return b;
- return a;
-}
-
-
-bar (a)
-{
- return -a > 0 ? 1 : 2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/andm.c b/gcc/testsuite/gcc.c-torture/unsorted/andm.c
deleted file mode 100644
index 17101ae3050..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/andm.c
+++ /dev/null
@@ -1,15 +0,0 @@
-foo (p)
- int *p;
-{
- return (*p & 255) == 0;
-}
-
-bar (a)
-{
- return (a & 0xfff00000) == 0;
-}
-
-main ()
-{
- printf ("%d%d\n", bar (-1), bar(0));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/andmem.c b/gcc/testsuite/gcc.c-torture/unsorted/andmem.c
deleted file mode 100644
index 10bad00f445..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/andmem.c
+++ /dev/null
@@ -1,22 +0,0 @@
-void p1 (p) int *p;
-{ *p &= ~0xff;
-}
-void p2 (p) int *p;
-{ *p &= ~0xff00;
-}
-void p3 (p) int *p;
-{ *p &= ~0xffff0000;
-}
-void p4 (p) int *p;
-{ *p &= ~0xffff;
-}
-
-main ()
-{
- int a;
-
- a = 0x12345678; p1 (&a); printf ("%x\n", a);
- a = 0x12345678; p2 (&a); printf ("%x\n", a);
- a = 0x12345678; p3 (&a); printf ("%x\n", a);
- a = 0x12345678; p4 (&a); printf ("%x\n", a);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/andn.c b/gcc/testsuite/gcc.c-torture/unsorted/andn.c
deleted file mode 100644
index 2e38dd0e36e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/andn.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a)
-{
- int b = 0x1fff;
- return a & ~b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/andok.c b/gcc/testsuite/gcc.c-torture/unsorted/andok.c
deleted file mode 100644
index d55bd01b70d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/andok.c
+++ /dev/null
@@ -1,6 +0,0 @@
-foo (a, b, p)
- int *p;
-{
- p[1] = a & 0xfff0000;
- p[2] = b & 0xfff0000;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/andsi.c b/gcc/testsuite/gcc.c-torture/unsorted/andsi.c
deleted file mode 100644
index b9c3c76de03..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/andsi.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo ()
-{
- return (int)&foo;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/andsparc.c b/gcc/testsuite/gcc.c-torture/unsorted/andsparc.c
deleted file mode 100644
index 62f0de003b2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/andsparc.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (int *p)
-{
- int a, b;
-
- a = 123456;
- a += p[0];
- b = p[0];
- if (a == 0)
- return b;
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/aos.c b/gcc/testsuite/gcc.c-torture/unsorted/aos.c
deleted file mode 100644
index 77c92f677e4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/aos.c
+++ /dev/null
@@ -1,8 +0,0 @@
-foo (p)
- int *p;
-{
- if ((int) p > 0)
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/arr.c b/gcc/testsuite/gcc.c-torture/unsorted/arr.c
deleted file mode 100644
index ed56667dd75..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/arr.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (a, b, c)
-{
- bar (a, b);
- {
- int arr[10];
- arr[c] = b;
- bar (arr[0], arr[1]);
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/as.c b/gcc/testsuite/gcc.c-torture/unsorted/as.c
deleted file mode 100644
index 172f88355d9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/as.c
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#define S 31
-#define A 17
-
-foo (a)
- unsigned a;
-{
- return (a >> S) & ((1 << A) - 1);
-}
-
-main ()
-{
- printf ("%d%d\n", foo (-1), foo (0));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ase.c b/gcc/testsuite/gcc.c-torture/unsorted/ase.c
deleted file mode 100644
index 2d3d8edbd0b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ase.c
+++ /dev/null
@@ -1,10 +0,0 @@
-ase (p)
- short *p;
-{
- int a;
- a = p[1];
- p[2] = a;
- if ((short) a)
- p[a]++;
- return (a == 0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/b.c b/gcc/testsuite/gcc.c-torture/unsorted/b.c
deleted file mode 100644
index 498d7552af9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/b.c
+++ /dev/null
@@ -1,4 +0,0 @@
-main ()
-{
- *(short *) 25 = 123;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/b1.c b/gcc/testsuite/gcc.c-torture/unsorted/b1.c
deleted file mode 100644
index b6737594cb1..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/b1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (long long x)
-{
- if (x--)
- return 255;
- return 0;
-}
-
-main ()
-{
- printf ("%d\n", foo (0));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/b2.c b/gcc/testsuite/gcc.c-torture/unsorted/b2.c
deleted file mode 100644
index 96e4556a53a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/b2.c
+++ /dev/null
@@ -1,24 +0,0 @@
-
-struct s
-{
- unsigned a : 8;
- unsigned b : 8;
- unsigned c : 8;
- unsigned d : 8;
-};
-
-/*
-struct
-{
- unsigned a : 8;
- unsigned b : 16;
- unsigned c : 8;
-};
-*/
-
-struct s
-foo (struct s s, int i)
-{
- s.b = i;
- return s;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/b3.c b/gcc/testsuite/gcc.c-torture/unsorted/b3.c
deleted file mode 100644
index af693f77931..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/b3.c
+++ /dev/null
@@ -1,12 +0,0 @@
-struct tree_common
-{
- unsigned int code : 9;
- unsigned int code2 : 7;
-};
-
-static int
-duplicate_decls (x)
- register struct tree_common x;
-{
- return x.code2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/b88.c b/gcc/testsuite/gcc.c-torture/unsorted/b88.c
deleted file mode 100644
index 971c7c76d92..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/b88.c
+++ /dev/null
@@ -1,12 +0,0 @@
-foo (double d)
-{
- d = -d;
- if (d < 0.0)
- return 1;
- return 2;
-}
-
-main ()
-{
- foo (0.0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bad.c b/gcc/testsuite/gcc.c-torture/unsorted/bad.c
deleted file mode 100644
index 8cc84973b72..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bad.c
+++ /dev/null
@@ -1,26 +0,0 @@
-typedef union longlong
-{
- struct {unsigned short h0, h1, h2, h3;} h;
- struct {signed long low, high;} si;
- struct {unsigned long low, high;} ui;
- signed long long sll;
- unsigned long long ull;
-} long_long;
-
-
-long long
-__negdi2 (u)
- long long u;
-{
- long_long uu;
-
- uu.sll = u;
-
- uu.si.low = -uu.si.low;
- if (uu.si.low == 0)
- uu.si.high = -uu.si.high;
- else
- uu.si.high = ~uu.si.high;
-
- return uu.sll;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/band.c b/gcc/testsuite/gcc.c-torture/unsorted/band.c
deleted file mode 100644
index 74b02fd3b34..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/band.c
+++ /dev/null
@@ -1,16 +0,0 @@
-foo (a)
-{
- return (a & (1 << 31)) != 0;
-}
-
-main ()
-{
- if (foo (0))
- puts ("foo");
- else
- puts ("bar");
- if (foo (~0))
- puts ("foo");
- else
- puts ("bar");
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bb0.c b/gcc/testsuite/gcc.c-torture/unsorted/bb0.c
deleted file mode 100644
index aab6d683fbd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bb0.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a)
-{
- return (a & 0xfff000) != 0;
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bb1.c b/gcc/testsuite/gcc.c-torture/unsorted/bb1.c
deleted file mode 100644
index 3f9aebe0364..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bb1.c
+++ /dev/null
@@ -1,8 +0,0 @@
-foo (a)
-{
- int b = 32;
- if (b & a)
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bbb.c b/gcc/testsuite/gcc.c-torture/unsorted/bbb.c
deleted file mode 100644
index 837dd9ecf93..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bbb.c
+++ /dev/null
@@ -1,12 +0,0 @@
-struct looksets
- {
- int lset[10];
- };
-
-struct looksets lkst[];
-
-flset( p )
-struct looksets *p;
-{
- p-- > lkst;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bc.c b/gcc/testsuite/gcc.c-torture/unsorted/bc.c
deleted file mode 100644
index c713bb61b3d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bc.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a % (1 << b);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bcopy.c b/gcc/testsuite/gcc.c-torture/unsorted/bcopy.c
deleted file mode 100644
index 1732b349e4d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bcopy.c
+++ /dev/null
@@ -1,64 +0,0 @@
-void
-bcopy1 (s, d, c)
- long long *s;
- long long *d;
- int c;
-{
- int i;
- c = c / 8;
- for (i = 0; i < c; i++)
- d[i] = s[i];
-}
-
-void
-bcopy2 (s, d, c)
- long *s;
- long *d;
- int c;
-{
- int i;
- c = c / 4;
- for (i = 0; i < c; i++)
- d[i] = s[i];
-}
-
-
-void
-bcopy3 (s, d, c)
- char *s;
- char *d;
- int c;
-{
- long long z0, z1;
- int r = d - s;
-
- int i;
-
- c /= 16;
-
- z0 = *((long long *) s);
- s += 8;
- z1 = *((long long *) s);
- s += 8;
- for (i = 0; i < c; i++)
- {
- *(long long *)(s + r) = z0;
- z0 = *((long long *) s);
- s += 8;
- *(long long *)(s + r) = z1;
- z1 = *((long long *) s);
- s += 8;
- }
-}
-
-#define BYTES 16384
-
-main ()
-{
- long long s[BYTES / 8];
- long long d[BYTES / 8];
- int i;
-
- for (i = 1; i < 67108864 / BYTES; i++)
- bcopy (s, d, BYTES);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bf.c b/gcc/testsuite/gcc.c-torture/unsorted/bf.c
deleted file mode 100644
index 821623df09c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bf.c
+++ /dev/null
@@ -1,31 +0,0 @@
-typedef unsigned long uint32;
-typedef signed long sint32;
-
-uint32
-ext (sint32 src, unsigned o5, unsigned w5)
-{
- return (w5 == 0) ? src >> o5 : (src << (( - o5 - w5) & 31)) >> (32 - w5);
-}
-
-uint32
-extu (uint32 src, unsigned o5, unsigned w5)
-{
- return (w5 == 0) ? src >> o5 : (src << (( - o5 - w5) & 31)) >> (32 - w5);
-}
-
-uint32
-mak (uint32 src, unsigned o5, unsigned w5)
-{
- return (w5 == 0) ? src << o5 : (src << (32 - w5)) >> (( - o5 - w5) & 31);
-}
-
-uint32
-rot (uint32 src, unsigned o5)
-{
- return (src >> o5) | (src << (( - o5) & 31));
-}
-
-main (int argc, char **argv)
-{
- printf ("%x\n", clr (0xffffffff, atoi (argv[2]), atoi (argv[1])));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bfins.c b/gcc/testsuite/gcc.c-torture/unsorted/bfins.c
deleted file mode 100644
index e626d82b3cb..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bfins.c
+++ /dev/null
@@ -1,15 +0,0 @@
-struct foo
-{
- unsigned j : 16;
- unsigned i : 16;
-};
-
-struct foo
-foo (a, b)
- struct foo a;
- int b;
-{
- a.j = 123;
- a.i = b;
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bfx.c b/gcc/testsuite/gcc.c-torture/unsorted/bfx.c
deleted file mode 100644
index d47bd7d18bc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bfx.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (x, c)
-{
- return x << -c;
-}
-
-main ()
-{
- printf ("%x\n", foo (0xf05, -4));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bge.c b/gcc/testsuite/gcc.c-torture/unsorted/bge.c
deleted file mode 100644
index 55f4788299a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bge.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (a)
- double a;
-{
- if (a >= 0)
- return 1;
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bit.c b/gcc/testsuite/gcc.c-torture/unsorted/bit.c
deleted file mode 100644
index e76bb45e7cd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bit.c
+++ /dev/null
@@ -1,13 +0,0 @@
-bar (a)
-{
- return (a == 0);
-}
-
-foo (a)
- int a;
-{
- if ((a & (1 << 26)) >= 0)
- return 1;
- else
- return 2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bitf.c b/gcc/testsuite/gcc.c-torture/unsorted/bitf.c
deleted file mode 100644
index 5b0aefc83d4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bitf.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#define int unsigned
-
-struct foo
-{
- int aa : 1;
- int a : 9;
- int c : 16;
- int d : 6;
-};
-
-
-int
-foo (a, b)
- struct foo a;
-{
- return a.d == 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bitw.c b/gcc/testsuite/gcc.c-torture/unsorted/bitw.c
deleted file mode 100644
index 585cd32e603..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bitw.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (a)
- unsigned a;
-{
- unsigned b = 0;
-
- if ((a & 12345678) > b)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/blk.c b/gcc/testsuite/gcc.c-torture/unsorted/blk.c
deleted file mode 100644
index 18a9545cc28..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/blk.c
+++ /dev/null
@@ -1,18 +0,0 @@
-struct
-{
- double a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t;
-} foo, bar;
-
-foobar ()
-{
- foo = bar;
- xxx (&foo, &bar);
-}
-
-main ()
-{
- bar.g = 1.0;
- foo.g = 2.0;
- foobar ();
- printf ("%lf\n", foo.g);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bt.c b/gcc/testsuite/gcc.c-torture/unsorted/bt.c
deleted file mode 100644
index ac20c05674d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bt.c
+++ /dev/null
@@ -1,7 +0,0 @@
-main ()
-{
- int i;
-
- for (i = 1000000; --i;)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bt386.c b/gcc/testsuite/gcc.c-torture/unsorted/bt386.c
deleted file mode 100644
index 283ab5fa64a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bt386.c
+++ /dev/null
@@ -1,18 +0,0 @@
-foo (a, b)
-{
- return (a & (1 << b)) != 0;
-}
-
-bar (a, b)
-{
- a ^= (1 << b);
- return a != 0;
-}
-
-main ()
-{
- int i;
- for (i = 0; i < 32; i++)
- printf ("%d ", foo (0x8000000f, i));
- puts ("");
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bug.c b/gcc/testsuite/gcc.c-torture/unsorted/bug.c
deleted file mode 100644
index 447eb7af297..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bug.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a - 65536;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bugc.c b/gcc/testsuite/gcc.c-torture/unsorted/bugc.c
deleted file mode 100644
index b2ce1fad8ac..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bugc.c
+++ /dev/null
@@ -1,7 +0,0 @@
-
-int
-reg0indreg1 (r0, p1)
- short r0; short *p1;
-{
- return (r0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/buns.c b/gcc/testsuite/gcc.c-torture/unsorted/buns.c
deleted file mode 100644
index f206bfaed0c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/buns.c
+++ /dev/null
@@ -1,12 +0,0 @@
-foo (a)
-{
- int bar = 0;
-
- return (unsigned) (a - 1) <= (unsigned) bar;
-}
-
-main ()
-{
- if (foo (-1))
- puts ("The largest possible unsigned <= 0 on this machine...");
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/bx.c b/gcc/testsuite/gcc.c-torture/unsorted/bx.c
deleted file mode 100644
index 274fb015cf5..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/bx.c
+++ /dev/null
@@ -1,12 +0,0 @@
-unsigned
-good (unsigned src, unsigned o5, unsigned w5)
-{
- return src & ~((w5 == 0) ? (~0 << o5) : (1 << o5));
-}
-
-unsigned
-bad (unsigned src, unsigned o5, unsigned w5)
-{
- return src & ((w5 == 0) ? ~(~0 << o5) : ~(1 << o5));
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/c.c b/gcc/testsuite/gcc.c-torture/unsorted/c.c
deleted file mode 100644
index 384ee3e3cf3..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/c.c
+++ /dev/null
@@ -1,17 +0,0 @@
-foo (a, b)
- long long a, b;
-{
- if (a & ~b)
- return 1;
- else
- return 0;
-}
-
-bar (a, b)
- long long a, b;
-{
- if (a & ~b & ((long long) 87612378))
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/c1.c b/gcc/testsuite/gcc.c-torture/unsorted/c1.c
deleted file mode 100644
index f50d437f60b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/c1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-unsigned
-rec (a, b)
- unsigned a;
- unsigned b;
-{
- return a * rec (a - 1, b + 1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/c2.c b/gcc/testsuite/gcc.c-torture/unsorted/c2.c
deleted file mode 100644
index ef5a71188d3..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/c2.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a)
-{
- bar (a);
- bar (a);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/call.c b/gcc/testsuite/gcc.c-torture/unsorted/call.c
deleted file mode 100644
index c8106038371..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/call.c
+++ /dev/null
@@ -1,7 +0,0 @@
-int foo () {}
-
-main (a, b)
-{
- foo (foo (a, b), foo (b, a));
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/call386.c b/gcc/testsuite/gcc.c-torture/unsorted/call386.c
deleted file mode 100644
index 18498932c5b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/call386.c
+++ /dev/null
@@ -1,20 +0,0 @@
-
-foo () {}
-
-main ()
-{
- int i;
- for (i = 100000; i >= 0; i--)
- {
- foo ();
- foo ();
- foo ();
- foo ();
- foo ();
- foo ();
- foo ();
- foo ();
- foo ();
- foo ();
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/callind.c b/gcc/testsuite/gcc.c-torture/unsorted/callind.c
deleted file mode 100644
index 74c0f1f9cef..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/callind.c
+++ /dev/null
@@ -1,8 +0,0 @@
-call (foo, a)
- int (**foo) ();
-{
-
- (foo)[1] = call;
-
- foo[a] (1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cc.c b/gcc/testsuite/gcc.c-torture/unsorted/cc.c
deleted file mode 100644
index e29bec49d41..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cc.c
+++ /dev/null
@@ -1,96 +0,0 @@
-cc8 (a, b)
-{
- if (a < 0)
- goto L1;
- if (a == 0)
- goto L2;
- L1:b++;
- L2:b++;
- return b;
-}
-
-cc7 (a)
- long long a;
-{
- if (a < 0)
- return 1;
- else
- return 0;
-}
-
-cc6 (float a, double p)
-{
- p = a;
- if (p < 0)
- return p;
- else
- return p + 1;
-}
-
-cc5 (p, a)
- char *p;
- char a;
-{
- p[2] = a;
- if (a)
- return 0;
- else
- return 1;
-}
-
-
-cc4 (a, b, p)
- int a, b;
- int *p;
-{
- a = (int short)b;
- *p = a;
- if ((int) a < 0)
- return 0;
- else
- return 1;
-}
-
-
-cc1 (a, b)
-{
- int x = 0;
-
- if ((int) a < (int) b)
- {
- if ((unsigned) a < (unsigned) b)
- x++;
- x++;
- }
-
- return x;
-}
-
-cc2 (a, b)
-{
- int x = 0;
-
- if ((int) a <= (int) b)
- {
- if ((int) a < (int) b)
- x++;
- x++;
- }
-
- return x;
-}
-
-cc3 (a, b)
-{
- int x = 0;
-
- a += b;
- if ((unsigned) a > 0)
- {
- if (a == 0)
- x++;
- x++;
- }
-
- return x;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/charmtst.c b/gcc/testsuite/gcc.c-torture/unsorted/charmtst.c
deleted file mode 100644
index 2945f198e5e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/charmtst.c
+++ /dev/null
@@ -1,15 +0,0 @@
-c_move_tst (char b)
-{
- char a;
-
- a = b;
- b = 'b';
- foo (a);
- foo (b);
- foo (a);
- bar (a, b);
- b = a;
- if (b == 0)
- a++;
- return a + b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cmb.c b/gcc/testsuite/gcc.c-torture/unsorted/cmb.c
deleted file mode 100644
index 1fd946182ba..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cmb.c
+++ /dev/null
@@ -1,6 +0,0 @@
-foo (p1, p2)
- short p1, *p2;
-{
- int a;
- return (int) p1 + (int) *p2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cmp.c b/gcc/testsuite/gcc.c-torture/unsorted/cmp.c
deleted file mode 100644
index a82fe424735..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cmp.c
+++ /dev/null
@@ -1,11 +0,0 @@
-struct fooalign {char x; double d;};
-union fooround {long x; double d;};
-
-int
-foo ()
-{
- int extra = 4;
- if (extra < sizeof (union fooround))
- extra = sizeof (union fooround);
- return extra;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cmphi.c b/gcc/testsuite/gcc.c-torture/unsorted/cmphi.c
deleted file mode 100644
index 1ffc2140fba..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cmphi.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (short *p, short a)
-{
- return a < *p;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cmpsi386.c b/gcc/testsuite/gcc.c-torture/unsorted/cmpsi386.c
deleted file mode 100644
index 50b08d7126d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cmpsi386.c
+++ /dev/null
@@ -1,14 +0,0 @@
-foo (a, p)
- register int a;
- int *p;
-{
-
- for (a = 10000000; a >= *p; a--)
- ;
-}
-
-main ()
-{
- int a;
- foo (a, a);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cmul.c b/gcc/testsuite/gcc.c-torture/unsorted/cmul.c
deleted file mode 100644
index cce20bc358d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cmul.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a * 84;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cn1.c b/gcc/testsuite/gcc.c-torture/unsorted/cn1.c
deleted file mode 100644
index 866778ca199..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cn1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int
-foo ()
-{
- return 7561;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/comb.c b/gcc/testsuite/gcc.c-torture/unsorted/comb.c
deleted file mode 100644
index a4689079b79..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/comb.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (a, b)
-{
- int c = a & b;
- if ((a & b) == 0)
- return 0;
- return c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/configure.in b/gcc/testsuite/gcc.c-torture/unsorted/configure.in
deleted file mode 100644
index 7810172c29e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=unsorted.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/consec.c b/gcc/testsuite/gcc.c-torture/unsorted/consec.c
deleted file mode 100644
index fd76cd2eec4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/consec.c
+++ /dev/null
@@ -1,17 +0,0 @@
-int glob;
-
-conseq (a, b, c, d)
- int *a, *b;
-{
- a[2] = d;
- a[1] = c;
- sequence (a, b, c, d);
- sequence (d, c, b, a);
- b[0] = 0;
- b[1] = 123;
- a[0] = 321;
- a[1] = 0;
- sequence (111, 0, 0, 222, 0, 333);
- ((int *)glob)[2] = c;
- ((int *)glob)[3] = d;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/const.c b/gcc/testsuite/gcc.c-torture/unsorted/const.c
deleted file mode 100644
index 209fc768887..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/const.c
+++ /dev/null
@@ -1,4 +0,0 @@
-main (a)
-{
- return a + (~0 - 240);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/conv.c b/gcc/testsuite/gcc.c-torture/unsorted/conv.c
deleted file mode 100644
index 70fc024127c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/conv.c
+++ /dev/null
@@ -1,32 +0,0 @@
-double
-u2d (unsigned int u)
-{
- return u;
-}
-
-double
-i2d (signed int i)
-{
- return i;
-}
-
-unsigned int
-d2u (double d)
-{
- return d;
-}
-
-signed int
-d2i (double d)
-{
- return d;
-}
-
-main ()
-{
- printf ("%lf, %lf, %lf\n", u2d (~0), u2d (1 << 31), u2d (1));
- printf ("%lf, %lf, %lf\n", i2d (~0), i2d (1 << 31), i2d (1));
-
- printf ("%u, %u, %u\n", d2u (u2d (~0)), d2u (u2d (1 << 31)), d2u (u2d (1)));
- printf ("%d, %d, %d\n", d2i (i2d (~0)), d2i (i2d (1 << 31)), d2i (i2d (1)));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/conv_tst.c b/gcc/testsuite/gcc.c-torture/unsorted/conv_tst.c
deleted file mode 100644
index 513d6a2471e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/conv_tst.c
+++ /dev/null
@@ -1,66 +0,0 @@
-#define ID_1 2400000000.0
-#define ID_2 1.7
-#define ID_3 -1.7
-
-unsigned ui;
-int si;
-
-conv_i1 ()
-{
-/*
- ui = (unsigned) ID_1;
- si = (int) ID_1;
-*/
-}
-
-conv_i2 ()
-{
- ui = (unsigned) ID_2;
- si = (int) ID_2;
-}
-
-conv_i3 ()
-{
-/* ui = (unsigned) ID_3;*/
- si = (int) ID_3;
-}
-
-conv_1 (d)
- double d;
-{
- ui = (unsigned) d;
-/*
- si = (int) d;
-*/
-}
-
-double
-foo (u)
- unsigned u;
-{
- return u;
-}
-
-main ()
-{
- printf ("%lf\n", foo (2400000000));
-
- conv_i1 ();
- printf ("%lf, %u, %d\n", ID_1, ui, si);
-
- conv_i2 ();
- printf ("%lf, %u, %d\n", ID_2, ui, si);
-
- conv_i3 ();
- printf ("%lf, %u, %d\n", ID_3, ui, si);
-
- conv_1 (ID_1);
- printf ("%lf, %u, %d\n", ID_1, ui, si);
-
- conv_1 (ID_2);
- printf ("%lf, %u, %d\n", ID_2, ui, si);
-
- conv_1 (ID_3);
- printf ("%lf, %u, %d\n", ID_3, ui, si);
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cp.c b/gcc/testsuite/gcc.c-torture/unsorted/cp.c
deleted file mode 100644
index 04b1420cb30..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cp.c
+++ /dev/null
@@ -1,42 +0,0 @@
-struct _obstack_chunk
-{
- char *limit;
- struct _obstack_chunk *prev;
- char contents[4];
-};
-
-struct obstack
-{
- long chunk_size;
- struct _obstack_chunk* chunk;
- char *object_base;
- char *next_free;
- char *chunk_limit;
- int temp;
- int alignment_mask;
- struct _obstack_chunk *(*chunkfun) ();
- void (*freefun) ();
-};
-
-struct fooalign {char x; double d;};
-union fooround {long x; double d;};
-
-void
-_obstack_begin (h, size, alignment, chunkfun, freefun)
- struct obstack *h;
- int size;
- int alignment;
- void * (*chunkfun) ();
- void (*freefun) ();
-{
- register struct _obstack_chunk* chunk;
-
- if (alignment == 0)
- alignment = ((char *)&((struct fooalign *) 0)->d - (char *)0);
- if (size == 0)
- {
- int extra = 4;
- if (extra < (sizeof (union fooround)))
- extra = (sizeof (union fooround));
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/csebug.c b/gcc/testsuite/gcc.c-torture/unsorted/csebug.c
deleted file mode 100644
index f49f6842c1a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/csebug.c
+++ /dev/null
@@ -1,7 +0,0 @@
-
-int
-reg0indreg1 (r0, p1)
- short r0; short *p1;
-{
- return (r0 + *p1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/cvt.c b/gcc/testsuite/gcc.c-torture/unsorted/cvt.c
deleted file mode 100644
index 716659c4798..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/cvt.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (p)
- unsigned char *p;
-{
- unsigned char a = 0;
-
- if (*p > 0)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/d.c b/gcc/testsuite/gcc.c-torture/unsorted/d.c
deleted file mode 100644
index 5fca120d85a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/d.c
+++ /dev/null
@@ -1,19 +0,0 @@
-long long unsigned
-str2llu (str)
- char *str;
-{
- long long unsigned acc;
- long long b = 10;
- char d;
- acc = *str++ - '0';
- for (;;)
- {
- d = *str++;
- if (d == '\0')
- break;
- d -= '0';
- acc = acc * 10 + d;
- }
-
- return acc;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dbl_parm.c b/gcc/testsuite/gcc.c-torture/unsorted/dbl_parm.c
deleted file mode 100644
index ce5ba4f16d5..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dbl_parm.c
+++ /dev/null
@@ -1,10 +0,0 @@
-foo (a, b, c)
- double a;
- int b;
- double c;
-{
- if (b)
- return a + c;
- else
- return a - c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dblbug.c b/gcc/testsuite/gcc.c-torture/unsorted/dblbug.c
deleted file mode 100644
index cd13b796297..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dblbug.c
+++ /dev/null
@@ -1,21 +0,0 @@
-union real_extract
-{
- double d;
- int i[sizeof (double ) / sizeof (int)];
-};
-
-typedef struct
-{
- int zzzz;
-} *rtx;
-
-rtx
-immed_real_const_1 (d)
- double d;
-{
- union real_extract u;
- register rtx r;
-
- u.d = d;
- foo (&(r->zzzz), &u);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ddd.c b/gcc/testsuite/gcc.c-torture/unsorted/ddd.c
deleted file mode 100644
index b0b6809dd69..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ddd.c
+++ /dev/null
@@ -1,7 +0,0 @@
-int foo;
-int bar;
-
-main ()
-{
- return foo + bar;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dead.c b/gcc/testsuite/gcc.c-torture/unsorted/dead.c
deleted file mode 100644
index 795f7c7e467..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dead.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a)
-{
- ++a;
- return a == 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/delay.c b/gcc/testsuite/gcc.c-torture/unsorted/delay.c
deleted file mode 100644
index c776383520a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/delay.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (a, b)
-{
- if (a == 1)
- goto foo1;
- if (a == 2)
- goto foo2;
- foo1:
- return 2;
- foo2:
- return 3;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/di.c b/gcc/testsuite/gcc.c-torture/unsorted/di.c
deleted file mode 100644
index 476bf700fb3..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/di.c
+++ /dev/null
@@ -1,12 +0,0 @@
-long long
-foo (a, b)
- long long a, b;
-{
- return a * b;
-}
-
-main ()
-{
- int a = foo ((long long) 2, (long long) 3);
- printf ("%d\n", a);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dic.c b/gcc/testsuite/gcc.c-torture/unsorted/dic.c
deleted file mode 100644
index 9c2c9f90fd6..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dic.c
+++ /dev/null
@@ -1,5 +0,0 @@
-unsigned long long
-main ()
-{
- return (unsigned long long) 7816234 << 671111;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dilayout.c b/gcc/testsuite/gcc.c-torture/unsorted/dilayout.c
deleted file mode 100644
index 4bba661c0a4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dilayout.c
+++ /dev/null
@@ -1,33 +0,0 @@
-struct ii
-{
- int a;
- int b;
-};
-
-struct foo
-{
- int a;
- struct ii ab;
- int b;
-};
-
-struct ii
-foo (int *p, struct foo a)
-{
- p[0] = a.a;
- p[1] = a.ab.a;
- p[2] = a.ab.b;
- p[3] = a.b;
- return a.ab;
-}
-
-str (struct ii ab, struct ii *p)
-{
- *p = ab;
-}
-
-ll (long long ab, long long *p)
-{
- *p = ab;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dimove.c b/gcc/testsuite/gcc.c-torture/unsorted/dimove.c
deleted file mode 100644
index 7caf3fa468b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dimove.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (long long *p)
-{
- p[0] = p[1];
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dimul.c b/gcc/testsuite/gcc.c-torture/unsorted/dimul.c
deleted file mode 100644
index c8529565fa9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dimul.c
+++ /dev/null
@@ -1,6 +0,0 @@
-long long
-foo (a, b)
- long long a, b;
-{
- return a * b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/div.c b/gcc/testsuite/gcc.c-torture/unsorted/div.c
deleted file mode 100644
index 1f0904a649d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/div.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a / b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/divdf.c b/gcc/testsuite/gcc.c-torture/unsorted/divdf.c
deleted file mode 100644
index 5ea89ae3ddc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/divdf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-double
-foo (float a, float b)
-{
- return (double)a / (double)b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dm.c b/gcc/testsuite/gcc.c-torture/unsorted/dm.c
deleted file mode 100644
index 67c60ee9820..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dm.c
+++ /dev/null
@@ -1,24 +0,0 @@
-struct dm
-{
- unsigned q;
- unsigned r;
-};
-
-struct dm
-dm (a, b)
- unsigned a, b;
-{
- struct dm qr;
-
- qr.q = a / b;
- qr.r = a % b;
- return qr;
-}
-
-main ()
-{
- struct dm qr;
-
- qr = dm (100, 30);
- printf ("%u, %u\n", qr.q, qr.r);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/dshift.c b/gcc/testsuite/gcc.c-torture/unsorted/dshift.c
deleted file mode 100644
index 94750cc3cbc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/dshift.c
+++ /dev/null
@@ -1,10 +0,0 @@
-foo (b, c)
- unsigned b, c;
-{
- return (b << 12) | (c >> 20);
-}
-
-main ()
-{
- printf ("0x%x\n", foo (0x11223344, 0xaabbccdd));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/e.c b/gcc/testsuite/gcc.c-torture/unsorted/e.c
deleted file mode 100644
index fa20e00ef8f..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/e.c
+++ /dev/null
@@ -1,10 +0,0 @@
-foo (short a, int *p, short *s)
-{
- int i;
- for (i = 10; i >= 0; i--)
- {
- a = (short) bar ();
- p[i] = a;
- s[i] = a;
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ex.c b/gcc/testsuite/gcc.c-torture/unsorted/ex.c
deleted file mode 100644
index f5d90fd2e65..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ex.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (a, b)
-{
- if ((a & (1 << b)) == 0)
- return 1;
- return 0;
-}
-
-main ()
-{
- printf ("%d\n", foo ());
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ext.c b/gcc/testsuite/gcc.c-torture/unsorted/ext.c
deleted file mode 100644
index 8fa8cd73363..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ext.c
+++ /dev/null
@@ -1,13 +0,0 @@
-struct foo
-{
- unsigned b31 : 1;
- unsigned b30 : 1;
- unsigned b29 : 1;
- unsigned b28 : 1;
- unsigned rest : 28;
-};
-foo(a)
- struct foo a;
-{
- return a.b30;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/f1.c b/gcc/testsuite/gcc.c-torture/unsorted/f1.c
deleted file mode 100644
index 446acc6e1a1..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/f1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-double
-foo ()
-{
- return 1.2587624368724;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/f2.c b/gcc/testsuite/gcc.c-torture/unsorted/f2.c
deleted file mode 100644
index 8bb384902b9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/f2.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (double *p)
-{
- p[0] = p[1];
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/fdmul.c b/gcc/testsuite/gcc.c-torture/unsorted/fdmul.c
deleted file mode 100644
index 711707b51fc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/fdmul.c
+++ /dev/null
@@ -1,2 +0,0 @@
-double
-foo (float a, float b) { return (double) a * (double) b; }
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/flo.c b/gcc/testsuite/gcc.c-torture/unsorted/flo.c
deleted file mode 100644
index 2a213b7ab79..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/flo.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (a)
- double a;
-{
- double b = 0.0;
-
- return (a == 0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/float.c b/gcc/testsuite/gcc.c-torture/unsorted/float.c
deleted file mode 100644
index b6789203b5d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/float.c
+++ /dev/null
@@ -1,6 +0,0 @@
-double
-foo (a, b, c)
- double a, b, c;
-{
- return a * b + c * a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/flt_const.c b/gcc/testsuite/gcc.c-torture/unsorted/flt_const.c
deleted file mode 100644
index 65700ba7730..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/flt_const.c
+++ /dev/null
@@ -1,5 +0,0 @@
-double
-foo ()
-{
- return 3.141592653589793238462643;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/fnul.c b/gcc/testsuite/gcc.c-torture/unsorted/fnul.c
deleted file mode 100644
index b0c9816adf7..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/fnul.c
+++ /dev/null
@@ -1,23 +0,0 @@
-main ()
-{
- int i;
- int f;
-
- for (i = 0;; i--)
- {
- f = 0;
-
- if ((i & (i - 1)) == 0)
- {
- printf ("d");
- f = 1;
- }
- if ((i & -i) == i)
- {
- printf ("t");
- f = 1;
- }
- if (f)
- printf ("%d\n", i);
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/foo.c b/gcc/testsuite/gcc.c-torture/unsorted/foo.c
deleted file mode 100644
index 762d7e457d0..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/foo.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int *
-main (s1, s2)
- int *s1; int *s2;
-{
- while ((*s1++ = *s2++) != '\0')
- ;
- return s1 - 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/forgetcc.c b/gcc/testsuite/gcc.c-torture/unsorted/forgetcc.c
deleted file mode 100644
index 4105408a050..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/forgetcc.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (hp, p, a)
- short *hp;
- int *p;
- int a;
-{
- hp[10] = a;
- p[0] = 10;
- if (hp[10] > 0)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/fq.c b/gcc/testsuite/gcc.c-torture/unsorted/fq.c
deleted file mode 100644
index c4ac3696096..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/fq.c
+++ /dev/null
@@ -1,25 +0,0 @@
-expand_to_ascii (int *i, int *o)
-{
- unsigned x, y, out;
- unsigned x1;
-
- /* Big endian code. */
-
- x = *i++;
-
- y = x >> (32 - 13);
- out = (y / 91);
- out = (out << 8) | (y % 91);
-
- x <<= 13;
- y = x >> (32 - 13);
- out = (out << 8) | (y / 91);
- out = (out << 8) | (y % 91);
-
- *o++ = out + 0x20202020;
-
- /* 6 bits left in x. */
-
- x1 = *i++;
- x = (x << 26) | (x1 >> 6);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/g.c b/gcc/testsuite/gcc.c-torture/unsorted/g.c
deleted file mode 100644
index e00f1244fc4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/g.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (a, b)
- long long a, b;
-
-{
- if (a == b)
- return 0;
- else
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c b/gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c
deleted file mode 100644
index 5a7a3763a3a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Compiler Test Generator Program.
- Copyright (C) 1989 FSF. */
-
-
-#define E0 ((type *)10000000)
-#define reg0 r0
-#define indreg0 (*p0)
-#define imm0 22
-#define limm0 ((type)(int)&glob0)
-#define adr0 (*E0)
-#define adrreg0 (p0[10000000])
-#define adrx0 (E0[x0])
-#define regx0 (p0[x0])
-
-#define E1 ((type *)11111111)
-#define reg1 r1
-#define indreg1 (*p1)
-#define imm1 33
-#define limm1 ((type)(int)&glob1)
-#define adr1 (*E1)
-#define adrreg1 (p1[1111111/4])
-#define adrx1 (E1[x1])
-#define regx1 (p1[x1])
-
-int glob0, glob1;
-
-#define type double
-
-char *a0[] = {"reg0", "indreg0", "imm0", "limm0",
- "adr0", "adrreg0", "adrx0", "regx0"};
-char *a1[] = {"reg1", "indreg1", "imm1", "limm1",
- "adr1", "adrreg1", "adrx1", "regx1"};
-
-main_compare ()
-{
- int i0, i1;
-
- for (i0 = 0; i0 < 8; i0++)
- {
- for (i1 = 0; i1 < 8; i1++)
- {
- printf ("%s%s_cmp (r0, r1, x0, x1, p0, p1)\n", a0[i0], a1[i1]);
- printf ("type r0, r1; type *p0, *p1;\n");
- printf ("{if (%s <= %s) return 1; else return 0;}\n\n",
- a0[i0], a1[i1], a0[i0]);
- }
- }
-}
-
-main_assign ()
-{
- int i0, i1;
-
- for (i0 = 0; i0 < 8; i0++)
- {
- if (i0 < 2 || i0 > 3)
- for (i1 = 0; i1 < 8; i1++)
- {
- printf ("%s%s_set (r0, r1, x0, x1, p0, p1)\n", a0[i0], a1[i1]);
- printf ("type r0, r1; type *p0, *p1;\n");
- printf ("{%s = %s; }\n\n",
- a0[i0], a1[i1]);
- }
- }
-}
-
-main () {main_assign ();}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/glob.c b/gcc/testsuite/gcc.c-torture/unsorted/glob.c
deleted file mode 100644
index e3206154fd9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/glob.c
+++ /dev/null
@@ -1,12 +0,0 @@
-typedef int tt;
-
-tt a1;
-tt a2;
-tt a3;
-
-foo ()
-{
- a1++;
- a2++;
- a1++;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/gronk.c b/gcc/testsuite/gcc.c-torture/unsorted/gronk.c
deleted file mode 100644
index c1bb767e576..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/gronk.c
+++ /dev/null
@@ -1,8 +0,0 @@
-test_opt (a, b)
- unsigned a, b;
-{
- a = a / b;
- if (a == 0)
- a++;
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/hi.c b/gcc/testsuite/gcc.c-torture/unsorted/hi.c
deleted file mode 100644
index 1624f777995..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/hi.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a, b)
- short a, b;
-{
- return a < b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/hibug.c b/gcc/testsuite/gcc.c-torture/unsorted/hibug.c
deleted file mode 100644
index ad5c8267994..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/hibug.c
+++ /dev/null
@@ -1,15 +0,0 @@
-struct foo
-{
- short d;
- int a;
-};
-
-int
-bar (d, u)
- short d;
- struct foo u;
-{
-
- u.d = d;
- return (int) (&u);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/i++.c b/gcc/testsuite/gcc.c-torture/unsorted/i++.c
deleted file mode 100644
index 01d9ca95a8a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/i++.c
+++ /dev/null
@@ -1,7 +0,0 @@
-int main ()
-{
- int i = 2;
-
- i = i++;
- printf ("%d\n",i);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/i.c b/gcc/testsuite/gcc.c-torture/unsorted/i.c
deleted file mode 100644
index 3bee8eacb80..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/i.c
+++ /dev/null
@@ -1,8 +0,0 @@
-ase (p)
- short *p;
-{
- int a;
-
- a = *p;
- *p = a + 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/i386bug.c b/gcc/testsuite/gcc.c-torture/unsorted/i386bug.c
deleted file mode 100644
index 395bfa6c3e2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/i386bug.c
+++ /dev/null
@@ -1,51 +0,0 @@
-typedef union {
- struct {
- long RH, LH;
- } v;
- struct {
- unsigned char B1;
- } u;
-} twohalves;
-
-
-typedef union {
- long cint;
- twohalves hhfield;
-
-} memoryword;
-
-
-extern memoryword mem[262];
-
-long znewstructure ( p )
-long p;
-{
- long q, r;
- {
- q = mem [ p + 2 ] .hhfield .v.RH;
- r = mem [ q + 1 ] .hhfield .v.LH;
- do {
- q = r;
- r = mem [ r ] .hhfield .v.RH;
- } while ( ! ( r == p ) );
- r = foo((long) ( 3 ));
- mem [ q ] .hhfield .v.RH = r;
- mem [ r + 2 ] = mem [ p + 2 ];
- if ( mem [ p + 2 ] .hhfield .v.LH == 0 )
- {
- q = mem [ p + 2 ] .hhfield .v.RH + 1;
- while ( mem [ q ] .hhfield .v.RH != p ) q = mem [ q ] .hhfield .v.RH;
- mem [ q ] .hhfield .v.RH = r;
- }
- }
- mem [ r ] .hhfield .u.B1 = mem [ p ] .hhfield .u.B1;
- mem [ r + 1 ] .hhfield .v.LH = p;
-
- q = foo((long) ( 3 ));
-
- mem [ r + 1 ] .hhfield .v.RH = q;
- mem [ q + 2 ] .hhfield .v.RH = r;
-
-
- return(r);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ic.c b/gcc/testsuite/gcc.c-torture/unsorted/ic.c
deleted file mode 100644
index 150e1e8ed7e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ic.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (int *ip, int a)
-{
- a++;
- if (a < ip[a])
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/icmp.c b/gcc/testsuite/gcc.c-torture/unsorted/icmp.c
deleted file mode 100644
index dc9678ec335..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/icmp.c
+++ /dev/null
@@ -1,10 +0,0 @@
-foo (a, b)
-{
- b++;
- if (a <= b)
- if ((int) a < (int) b)
- b--;
- else
- b++;
- return b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ifreg.c b/gcc/testsuite/gcc.c-torture/unsorted/ifreg.c
deleted file mode 100644
index 9e2f9562e38..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ifreg.c
+++ /dev/null
@@ -1,12 +0,0 @@
-union foo
-{
- float f;
- int i;
-};
-
-foo (int a, float c)
-{
- union foo b;
- b.i = a;
- return b.f + c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/imm.c b/gcc/testsuite/gcc.c-torture/unsorted/imm.c
deleted file mode 100644
index c3efba45eee..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/imm.c
+++ /dev/null
@@ -1,7 +0,0 @@
-int
-imm ()
-
-{
- return 11234;
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/isinf.c b/gcc/testsuite/gcc.c-torture/unsorted/isinf.c
deleted file mode 100644
index 12a8283747f..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/isinf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int
-isinf ()
-{
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/jmp.c b/gcc/testsuite/gcc.c-torture/unsorted/jmp.c
deleted file mode 100644
index 474206a1f5e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/jmp.c
+++ /dev/null
@@ -1,20 +0,0 @@
-foo (a)
-{
- if (a)
- goto a1;
- goto a2;
- a1: goto a3;
- a2: goto a4;
- a3: goto a5;
- a4: goto a6;
- a5: goto a7;
- a6: goto a8;
- a7: goto a9;
- a8: goto a10;
- a9: goto a11;
- a10: goto a12;
- a11: goto a13;
- a12:;
- a13:;
- return -a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/jumptab.c b/gcc/testsuite/gcc.c-torture/unsorted/jumptab.c
deleted file mode 100644
index d86c30e40d6..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/jumptab.c
+++ /dev/null
@@ -1,20 +0,0 @@
-jumptab (a)
-{
- int b;
- switch (a)
- {
- case 0:
- b = 6;break;
- case 1:
- b = 5;break;
- case 2:
- b = 4;break;
- case 3:
- b = 3;break;
- case 4:
- b = 2;break;
- case 5:
- b = 1;break;
- }
- return b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/l.c b/gcc/testsuite/gcc.c-torture/unsorted/l.c
deleted file mode 100644
index cc23b190b1d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/l.c
+++ /dev/null
@@ -1,4 +0,0 @@
-main (a)
-{
- return - 256 + a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/layout.c b/gcc/testsuite/gcc.c-torture/unsorted/layout.c
deleted file mode 100644
index 04c825df645..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/layout.c
+++ /dev/null
@@ -1,13 +0,0 @@
-struct foo
-{
- char a;
-};
-
-foo ()
-{
- struct foo bar[3];
- bar[0].a = '0';
- bar[1].a = '1';
- bar[2].a = '2';
- foof (bar);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/lbug.c b/gcc/testsuite/gcc.c-torture/unsorted/lbug.c
deleted file mode 100644
index 0440a0a7a9d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/lbug.c
+++ /dev/null
@@ -1,7 +0,0 @@
-long long x = 0;
-main()
-{
- if (x--)
- return 255;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ll1.c b/gcc/testsuite/gcc.c-torture/unsorted/ll1.c
deleted file mode 100644
index 9009e77b6f4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ll1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-long long
-foo (long long a)
-{
- return a + ((long long) 10230101 << 32) + 7561;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/llbug.c b/gcc/testsuite/gcc.c-torture/unsorted/llbug.c
deleted file mode 100644
index 8c56dfbe70d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/llbug.c
+++ /dev/null
@@ -1,13 +0,0 @@
-union foo
-{
- long long d;
-};
-
-int
-bar (long long d)
-{
- union foo u;
-
- u.d = d;
- return (int) &u;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/lll.c b/gcc/testsuite/gcc.c-torture/unsorted/lll.c
deleted file mode 100644
index dee9dc37d15..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/lll.c
+++ /dev/null
@@ -1,45 +0,0 @@
-
-byte_match_count2 (buf, n, xm, m1, m2, m3, m4)
- unsigned *buf;
- unsigned n;
- unsigned xm;
- unsigned m1, m2, m3, m4;
-{
- unsigned w, cnt = 0;
- unsigned *bp;
-
- n /= 4;
-
- bp = buf;
- while (bp < buf + n)
- {
- w = *bp++;
- w ^= xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
-
- w = *bp++;
- w ^= xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
-
- w = *bp++;
- w ^= xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
-
- w = *bp++;
- w ^= xm;
- cnt += ((m1 & w) == 0);
- cnt += ((m2 & w) == 0);
- cnt += ((m3 & w) == 0);
- cnt += ((m4 & w) == 0);
- }
- return cnt;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/load8.c b/gcc/testsuite/gcc.c-torture/unsorted/load8.c
deleted file mode 100644
index 947a8165c29..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/load8.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo ()
-{
- return *(short *) 126;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/loadhicc.c b/gcc/testsuite/gcc.c-torture/unsorted/loadhicc.c
deleted file mode 100644
index a7540894f5e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/loadhicc.c
+++ /dev/null
@@ -1,15 +0,0 @@
-typedef int xtype;
-
-foo (p, pc)
- xtype *p;
- char *pc;
-{
- xtype a;
- unsigned b = 0;
-
- a = *p;
- p[1] = a;
- if ((unsigned) p[1] > 0)
- return 1;
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/log2.c b/gcc/testsuite/gcc.c-torture/unsorted/log2.c
deleted file mode 100644
index 39b85784069..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/log2.c
+++ /dev/null
@@ -1,6 +0,0 @@
-log2 (a, b)
-{
- int c;
- c = ~(~a & ~b);
- return c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/logic.c b/gcc/testsuite/gcc.c-torture/unsorted/logic.c
deleted file mode 100644
index a9d6e9d0c2d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/logic.c
+++ /dev/null
@@ -1,37 +0,0 @@
-logic (a, b)
- int *a, b;
-{
- if (*a & 123)
- b = 1;
- if (*a & ~222)
- b = 2;
- if (124 & *a)
- b = 3;
- if (~111 & *a)
- b = 4;
-
- if (~*a & 23)
- b = 1;
- if (~*a & ~22)
- b = 2;
- if (24 & ~*a)
- b = 3;
- if (~11 & ~*a)
- b = 4;
-
- if (~*a & b)
- b = 1;
- if (~*a & ~b)
- b = 2;
- if (*a & ~*a)
- b = 3;
- return b;
-}
-
-x (a, b, c)
-{
- for (a = 0; --a > 0;);
- for (b = -1; --b > 0;);
- for (c = -65536; --c > 0;);
- return a + b + c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/loop-1.c b/gcc/testsuite/gcc.c-torture/unsorted/loop-1.c
deleted file mode 100644
index e50687a9fdd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/loop-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (a)
-{
- while ((a -= 1) != -1)
- bar (270000);
- putchar ('\n');
-}
-
-main ()
-{
- foo (5);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/loop386.c b/gcc/testsuite/gcc.c-torture/unsorted/loop386.c
deleted file mode 100644
index 429a320abbd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/loop386.c
+++ /dev/null
@@ -1,15 +0,0 @@
-foo (a)
-{
- do
- {
- puts ("a");
- a -= 1;
- }
- while (a != 0);
-}
-
-main ()
-{
- int p[100];
- printf ("%d\n", foo (3));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/lop.c b/gcc/testsuite/gcc.c-torture/unsorted/lop.c
deleted file mode 100644
index 72464111d4d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/lop.c
+++ /dev/null
@@ -1,6 +0,0 @@
-lop (a)
-{
- do
- a--;
- while (a >= -1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/m1.c b/gcc/testsuite/gcc.c-torture/unsorted/m1.c
deleted file mode 100644
index 8660f60c950..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/m1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (p)
- int *p;
-{
- *p = 1234;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/m2.c b/gcc/testsuite/gcc.c-torture/unsorted/m2.c
deleted file mode 100644
index 203c855b5eb..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/m2.c
+++ /dev/null
@@ -1,44 +0,0 @@
-void
-store16 (p, a)
- short *p;
- short a;
-{
- *p = a;
-}
-
-signed int
-sign_extend16 (p)
- signed short *p;
-{
- return *p;
-}
-
-unsigned int
-zero_extend16 (p)
- unsigned short *p;
-{
- return *p;
-}
-
-void
-store8 (p, a)
- char *p;
- char a;
-{
- *p = a;
-}
-
-signed int
-sign_extend8 (p)
- signed char *p;
-{
- return *p;
-}
-
-unsigned int
-zero_extend8 (p)
- unsigned char *p;
-{
- return *p;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/m5.c b/gcc/testsuite/gcc.c-torture/unsorted/m5.c
deleted file mode 100644
index 23ad8445d32..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/m5.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a * 5 + 12;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/m68.c b/gcc/testsuite/gcc.c-torture/unsorted/m68.c
deleted file mode 100644
index a1ee486d4c2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/m68.c
+++ /dev/null
@@ -1,14 +0,0 @@
-foo (a)
-{
- return a | 12345;
-}
-
-bar (a)
-{
- return a & (0xffff0000 | 12345);
-}
-
-foobar (a)
-{
- return a - 128;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mbyte.c b/gcc/testsuite/gcc.c-torture/unsorted/mbyte.c
deleted file mode 100644
index a8a23eab90a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mbyte.c
+++ /dev/null
@@ -1,14 +0,0 @@
-foo1 (p)
- char *p;
-{
- p[0] = p[1];
- return p[0];
-}
-
-foo2 (p, x)
- char *p;
-{
- p[0] = x;
- return p[0];
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mchar.c b/gcc/testsuite/gcc.c-torture/unsorted/mchar.c
deleted file mode 100644
index a1b106037f7..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mchar.c
+++ /dev/null
@@ -1,11 +0,0 @@
-int
-foo (char *a, char *b)
-{
- int x;
- *a = *b;
- x = *b;
- if ((char) x)
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mcmp.c b/gcc/testsuite/gcc.c-torture/unsorted/mcmp.c
deleted file mode 100644
index 6008008e164..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mcmp.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (ip, a, x)
- int a;
- int *ip;
- int x;
-{
- if (a >= 1)
- x++;
- return x;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mdouble.c b/gcc/testsuite/gcc.c-torture/unsorted/mdouble.c
deleted file mode 100644
index 992db2205f2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mdouble.c
+++ /dev/null
@@ -1,6 +0,0 @@
-double
-foo (double a)
-{
-
- return 1.123486712;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/memtst.c b/gcc/testsuite/gcc.c-torture/unsorted/memtst.c
deleted file mode 100644
index b5ef2607073..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/memtst.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifdef STACK_SIZE
-#define SIZE STACK_SIZE / 8
-#else
-#define SIZE 65536
-#endif
-
-memtst (int *p, int a)
-{
- do
- {
- if (p[a] == 1)
- break;
- }
- while (--a);
-}
-
-main ()
-{
- int a[SIZE];
- int i;
- bzero (a, SIZE * 4);
- for (i = 0; i < 100; i++)
- {
- memtst (a, SIZE);
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/miscomp.c b/gcc/testsuite/gcc.c-torture/unsorted/miscomp.c
deleted file mode 100644
index 0bcb568d54b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/miscomp.c
+++ /dev/null
@@ -1,15 +0,0 @@
-unsigned char foo(unsigned long);
-main()
-{
- unsigned char AChar;
- unsigned long ALong = 0x12345678;
-
- AChar = foo(ALong);
-
- printf("AChar = %x\n",(int)AChar);
-}
-unsigned char
-foo( unsigned long TheLong)
-{
- return( (unsigned char) (TheLong & 0xff) );
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mm.c b/gcc/testsuite/gcc.c-torture/unsorted/mm.c
deleted file mode 100644
index a8efaae21cb..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mm.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a * 2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mod.c b/gcc/testsuite/gcc.c-torture/unsorted/mod.c
deleted file mode 100644
index c33211dc7fc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mod.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a % b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/modcc.c b/gcc/testsuite/gcc.c-torture/unsorted/modcc.c
deleted file mode 100644
index 2574090e96c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/modcc.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return (a % b) == 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/move.c b/gcc/testsuite/gcc.c-torture/unsorted/move.c
deleted file mode 100644
index 78e00ff2100..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/move.c
+++ /dev/null
@@ -1,9 +0,0 @@
-typedef char type;
-
-type
-foo (b)
-{
- type a;
- for (a = 10; a < b; a++)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/move_qhi.c b/gcc/testsuite/gcc.c-torture/unsorted/move_qhi.c
deleted file mode 100644
index 9bc9cb6630c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/move_qhi.c
+++ /dev/null
@@ -1,12 +0,0 @@
-move (a, b)
- char a, b;
-{
- char s;
- s = a;
- if (s)
- gurka (s);
- foo (b, a);
- a = bar ();
- b = bar ();
- gra (s);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mregtst.c b/gcc/testsuite/gcc.c-torture/unsorted/mregtst.c
deleted file mode 100644
index b6bb6c21f55..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mregtst.c
+++ /dev/null
@@ -1,17 +0,0 @@
-foo (a, p)
- int *p;
-{
- int old, new, i;
-
- old = 0;
- for (i = 1; i < 100; i++)
- {
- new = p[i];
- if (new < old)
- a++;
- old = new;
- if (old == 0)
- return 0;
- }
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/msp.c b/gcc/testsuite/gcc.c-torture/unsorted/msp.c
deleted file mode 100644
index c73cedd294c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/msp.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo ()
-{
- int a[16384];
- bar (a);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mtst.c b/gcc/testsuite/gcc.c-torture/unsorted/mtst.c
deleted file mode 100644
index 4f43137b705..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mtst.c
+++ /dev/null
@@ -1,17 +0,0 @@
-foo (int *p, int c)
-{
- int a, b;
- a = p[0];
- b = p[1];
- c = p[2];
- if (b == 0)
- goto foo1;
- if (b < 0)
- goto foo2;;
-
- return a + b + c;
- foo1:
- return 1;
- foo2:
- return 2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mu.c b/gcc/testsuite/gcc.c-torture/unsorted/mu.c
deleted file mode 100644
index c469a6e3a9b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mu.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a * b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mul.c b/gcc/testsuite/gcc.c-torture/unsorted/mul.c
deleted file mode 100644
index cc5d06b5fac..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mul.c
+++ /dev/null
@@ -1,5 +0,0 @@
-void
-mulqi (char *p, char a, char b)
-{
- p[0] = a/b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mword.c b/gcc/testsuite/gcc.c-torture/unsorted/mword.c
deleted file mode 100644
index 873e08868c5..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mword.c
+++ /dev/null
@@ -1,29 +0,0 @@
-int
-foo (a, b)
-int *a, *b;
-{
- int x, y;
- x++;
- *a = *b;
- y = *b;
-
- if ((int) x)
- return 1;
- else
- return y;
-}
-
-foo1 (p)
- int *p;
-{
- p[0] = p[1];
- return p[0];
-}
-
-foo2 (p, x)
- int *p;
-{
- p[0] = x;
- return p[0];
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/mword1.c b/gcc/testsuite/gcc.c-torture/unsorted/mword1.c
deleted file mode 100644
index 690703eb8bf..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/mword1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-int
-foo (a, b)
-int *a, *b;
-{
- int x;
- *a = (*b + 1);
- x = *b;
- if ((int) x)
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/n.c b/gcc/testsuite/gcc.c-torture/unsorted/n.c
deleted file mode 100644
index 1a9a8697417..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/n.c
+++ /dev/null
@@ -1,6 +0,0 @@
-char_autoincr (b1, c)
- short *b1;
- short c;
-{
- *b1 = c;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/n1.c b/gcc/testsuite/gcc.c-torture/unsorted/n1.c
deleted file mode 100644
index dfa93cebed4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/n1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-foo (a, p)
- long long a;
- int *p;
-{
- int b = (int)-a;
- if (b > 32)
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/nand.c b/gcc/testsuite/gcc.c-torture/unsorted/nand.c
deleted file mode 100644
index 8228a3c3a42..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/nand.c
+++ /dev/null
@@ -1,4 +0,0 @@
-nadn (a, b)
-{
- return (~a) | (~b);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/neg.c b/gcc/testsuite/gcc.c-torture/unsorted/neg.c
deleted file mode 100644
index c005b1327dd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/neg.c
+++ /dev/null
@@ -1 +0,0 @@
-foo (a) {return -a;}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/o.c b/gcc/testsuite/gcc.c-torture/unsorted/o.c
deleted file mode 100644
index e8b78e383cb..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/o.c
+++ /dev/null
@@ -1,12 +0,0 @@
-foo (a, p)
- char a;
- int *p;
-{
- int b = a;
- *p = b;
- a = (char) a;
- if (a)
- return b;
- else
- return b + 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/omit.c b/gcc/testsuite/gcc.c-torture/unsorted/omit.c
deleted file mode 100644
index f59d6ee8f27..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/omit.c
+++ /dev/null
@@ -1,11 +0,0 @@
-omit (a, b)
- char a;
- char *b;
-{
- char x;
- int i;
- x = *b;
- b[1] = x;
- foo ((int)x);
- return x + 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/opout.c b/gcc/testsuite/gcc.c-torture/unsorted/opout.c
deleted file mode 100644
index 6d3736e059a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/opout.c
+++ /dev/null
@@ -1,10 +0,0 @@
-x ()
-{}
-
-y ()
-{}
-
-z (a, b)
-{
- return (int) &a + (int) &b + (int) x + (int) z;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/opt.c b/gcc/testsuite/gcc.c-torture/unsorted/opt.c
deleted file mode 100644
index faad10e48fe..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/opt.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int
-foo (a)
-{
- return (a == 2);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/or.c b/gcc/testsuite/gcc.c-torture/unsorted/or.c
deleted file mode 100644
index 2a2e3b668b7..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/or.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a | 0xffff0101;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/or386.c b/gcc/testsuite/gcc.c-torture/unsorted/or386.c
deleted file mode 100644
index ad49f35043c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/or386.c
+++ /dev/null
@@ -1,13 +0,0 @@
-typedef int xtype;
-
-xtype
-foo (a)
- xtype a;
-{
- return a | 0x7f;
-}
-
-main ()
-{
- printf ("%08x\n", foo (-1));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/p.c b/gcc/testsuite/gcc.c-torture/unsorted/p.c
deleted file mode 100644
index 465e741592a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/p.c
+++ /dev/null
@@ -1,6 +0,0 @@
-foo (a, b, p)
- short *p;
-{
- p[0] = a;
- p[1] = b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/parms.c b/gcc/testsuite/gcc.c-torture/unsorted/parms.c
deleted file mode 100644
index 26c2c701756..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/parms.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#define alloca __builtin_alloca
-
-x (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, x, y)
-{
- foo (alloca (8));
- return a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+x+y;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/pass.c b/gcc/testsuite/gcc.c-torture/unsorted/pass.c
deleted file mode 100644
index 6b663828aee..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/pass.c
+++ /dev/null
@@ -1,13 +0,0 @@
-int
-foo (a, b, c)
-{
- return a + b + c;
-}
-
-int
-bar ()
-{
- int q, w, e, r, t, y;
-
- return foo ((int) & q, q, w, e, q, (int) &w);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/pmt.c b/gcc/testsuite/gcc.c-torture/unsorted/pmt.c
deleted file mode 100644
index b6aced6ec81..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/pmt.c
+++ /dev/null
@@ -1,6 +0,0 @@
-long long
-foo (a, b)
- long long a, b;
-{
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/poor.c b/gcc/testsuite/gcc.c-torture/unsorted/poor.c
deleted file mode 100644
index 66d584aff43..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/poor.c
+++ /dev/null
@@ -1,34 +0,0 @@
-typedef struct
-{
- char c[510];
-} s510;
-
-typedef struct
-{
- char c[511];
-} s511;
-
-s510 G510, s1;
-s511 G511;
-int I, J;
-double D;
-
-void main(void);
-void f0(double D, ...);
-s510 f1(double D, ...);
-void f2a(s510 S);
-void f2b(s511 S);
-
-
-void main(void)
-{
-
- f0(D, I, J);
-
- s1 = f1(D, I, D);
-
- f2a(G510);
-
- f2b(G511);
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/pp.c b/gcc/testsuite/gcc.c-torture/unsorted/pp.c
deleted file mode 100644
index 7d38d53de0f..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/pp.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (a, b, c, d, e, i0, f, i1)
- double a, b, c, d, e, f;
- int i0, i1;
-{}
-
-main ()
-{
- foo (1.0, 2.0, 3.0, 4.0, 5.0, 1, 6.0, 2);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/pret-arg.c b/gcc/testsuite/gcc.c-torture/unsorted/pret-arg.c
deleted file mode 100644
index a7fa8562830..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/pret-arg.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a, b, c, d, e, f, g, h, i, j, xx)
- double xx;
-{
- return xx + 1.2345;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/pyr.c b/gcc/testsuite/gcc.c-torture/unsorted/pyr.c
deleted file mode 100644
index d25b2a99aa5..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/pyr.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (char *a)
-{
- char b;
- int c;
- b = *a;
- c = b;
- if (c < 0)
- return 1;
- a[1] = b;
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/pyr2.c b/gcc/testsuite/gcc.c-torture/unsorted/pyr2.c
deleted file mode 100644
index 12e2ccd24b2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/pyr2.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return ((int *)0)[a];
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/q.c b/gcc/testsuite/gcc.c-torture/unsorted/q.c
deleted file mode 100644
index fa08e758a52..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/q.c
+++ /dev/null
@@ -1,7 +0,0 @@
-
-unsigned
-reg0indreg1 (r0, p1)
- unsigned short r0; unsigned short p1;
-{
- return (r0 + p1);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/r.c b/gcc/testsuite/gcc.c-torture/unsorted/r.c
deleted file mode 100644
index 19eeda7ab44..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/r.c
+++ /dev/null
@@ -1,7 +0,0 @@
-r (a, b)
-{
- if (a < b)
- return 1;
- else
- return 2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/r1.c b/gcc/testsuite/gcc.c-torture/unsorted/r1.c
deleted file mode 100644
index 0b277b0f8dc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/r1.c
+++ /dev/null
@@ -1,29 +0,0 @@
-void assert (a) {if (a != 1) abort ();}
-
-int h1 (int *p) {return *p & 255;}
-
-void p1 () {int a = 0x01020304; assert (h1 (&a) == 0x04);}
-
-
-int h2 (a) {return a > 0;}
-
-p2 () {assert (h2 (1));}
-
-h3 (int *p)
-{
- *p |= 255;
-}
-
-p3 ()
-{
- int *p;
- h3 (p);
-}
-
-main ()
-{
- p1 ();
- p2 ();
- p3 ();
- puts ("Compiler test passed.");
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/rel.c b/gcc/testsuite/gcc.c-torture/unsorted/rel.c
deleted file mode 100644
index 54d36052ed3..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/rel.c
+++ /dev/null
@@ -1,8 +0,0 @@
-foo (int *c, int b)
-{
- int a;
-
- a = *c + b;
- c[1] = a;
- return b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/rmsc.c b/gcc/testsuite/gcc.c-torture/unsorted/rmsc.c
deleted file mode 100644
index 5c97c6dae14..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/rmsc.c
+++ /dev/null
@@ -1,46 +0,0 @@
-
-cc1 (x, y)
- int x, y;
-{
- int z;
- z = x - y;
- if (x >= y)
- return z + 1;
- else
- return z + 0;
-}
-
-cc2 (x, y)
- int x, y;
-{
- int z;
-
- z = x - y;
- if (z >= 0)
- return z + 1;
- else
- return z + 0;
-}
-
-cc3 (x, y)
- unsigned x, y;
-{
- unsigned z;
- z = x - y;
- if (x >= y)
- return z + 1;
- else
- return z + 0;
-}
-
-cc4 (x, y)
- unsigned x, y;
-{
- unsigned z;
-
- z = x - y;
- if (z >= 0)
- return z + 1;
- else
- return z + 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/round.c b/gcc/testsuite/gcc.c-torture/unsorted/round.c
deleted file mode 100644
index 5233e65ea90..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/round.c
+++ /dev/null
@@ -1,13 +0,0 @@
-foo (a)
- double a;
-{
- printf ("%d\n", (int) a);
-}
-
-main ()
-{
- foo (1.6);
- foo (1.4);
- foo (-1.4);
- foo (-1.6);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/run.c b/gcc/testsuite/gcc.c-torture/unsorted/run.c
deleted file mode 100644
index 40892f6037f..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/run.c
+++ /dev/null
@@ -1,11 +0,0 @@
-main ()
-{
- typedef short int xtype;
-
- xtype i;
- xtype ii;
-
- for (i = 0; i < 100; i++)
- for (ii = 65535; --ii;)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/s.c b/gcc/testsuite/gcc.c-torture/unsorted/s.c
deleted file mode 100644
index e0c84262208..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/s.c
+++ /dev/null
@@ -1,24 +0,0 @@
-struct foo
-{
- int a, b, c, d;
- double doubl;
-} s1, s2;
-
-struct foo
-structret (s1, i1, i2, s2)
- struct foo s1, s2;
- int i1, i2;
-{
- if (i1 != i2)
- {
- if (i1 < i2)
- return s1;
- else
- return s2;
- }
- s2.a = 11;
- s2.b = 22;
- s2.c = s1.c;
- s2.d = s1.d;
- return s2;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sar.c b/gcc/testsuite/gcc.c-torture/unsorted/sar.c
deleted file mode 100644
index 9bf9bec0625..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sar.c
+++ /dev/null
@@ -1,10 +0,0 @@
-struct foo
-{
- char a;
-} foo[100];
-
-main ()
-{
- foo[1].a = '1';
- foo[2].a = '2';
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sc.c b/gcc/testsuite/gcc.c-torture/unsorted/sc.c
deleted file mode 100644
index 84dc60f7e90..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sc.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a, b)
- int a, b;
-{
- return (a < 0) | (a <= 0) | (a == 0) | (a != 0) | (a >= 0) | (a > 0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/scal.c b/gcc/testsuite/gcc.c-torture/unsorted/scal.c
deleted file mode 100644
index 94e22aa80f5..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/scal.c
+++ /dev/null
@@ -1,19 +0,0 @@
-int g1, g2;
-
-void
-write_at (addr, off, val)
- int *addr;
- int off;
- int val;
-{
- g2 = 1;
- addr[off] = val;
- g2++;
-}
-
-main ()
-{
- g2 = 12;
- write_at (&g1, &g2 - &g1, 12345);
- printf ("%d\n", g2);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/scc.c b/gcc/testsuite/gcc.c-torture/unsorted/scc.c
deleted file mode 100644
index 79ae4e12f45..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/scc.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (a, b)
-{
- if (a < 0)
- goto ret1;
- if (a == 0)
- return 2;
- return 3;
- ret1:
- return 1;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/scond.c b/gcc/testsuite/gcc.c-torture/unsorted/scond.c
deleted file mode 100644
index 087b0a66e94..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/scond.c
+++ /dev/null
@@ -1,4 +0,0 @@
-scond (a, b, c, d)
-{
- return (a > b) & (c < d);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/selfrec.c b/gcc/testsuite/gcc.c-torture/unsorted/selfrec.c
deleted file mode 100644
index c7aaca552a0..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/selfrec.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int
-foo (a)
-{
- return foo (a - 1) * a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/seq.c b/gcc/testsuite/gcc.c-torture/unsorted/seq.c
deleted file mode 100644
index 0793228b491..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/seq.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a < 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/set386.c b/gcc/testsuite/gcc.c-torture/unsorted/set386.c
deleted file mode 100644
index c16ae8dbdfe..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/set386.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a, p)
- int *p;
-{
- *p = a > 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/set88.c b/gcc/testsuite/gcc.c-torture/unsorted/set88.c
deleted file mode 100644
index 8069ea622a3..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/set88.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (a)
-{
- return -1 << a;
-}
-
-bar (a, b)
-{
- return b | (-1 << a);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sh.c b/gcc/testsuite/gcc.c-torture/unsorted/sh.c
deleted file mode 100644
index 8d3265f83f7..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sh.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a << b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/shand.c b/gcc/testsuite/gcc.c-torture/unsorted/shand.c
deleted file mode 100644
index 5a401961355..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/shand.c
+++ /dev/null
@@ -1,11 +0,0 @@
-int
-foo (x, c)
- int x;
-{
- return x >> 24 & 0xff;
-}
-
-bar (x)
-{
- return (int)(x & 0xfffff) << 13;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/shft.c b/gcc/testsuite/gcc.c-torture/unsorted/shft.c
deleted file mode 100644
index 7d318c863c5..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/shft.c
+++ /dev/null
@@ -1,15 +0,0 @@
-foo (a)
- int a;
-{
- int b = 8;
-
- if ((a << b) >= 0)
- return 1;
- return a;
-}
-
-main ()
-{
- if (foo (0x00ffffff) == 1)
- puts ("y");
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/shift.c b/gcc/testsuite/gcc.c-torture/unsorted/shift.c
deleted file mode 100644
index 1ed1879c616..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/shift.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (a)
-{
- if (a >= 0)
- return (unsigned) a << 10;
- else
- return (int) a << 10;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/shloop.c b/gcc/testsuite/gcc.c-torture/unsorted/shloop.c
deleted file mode 100644
index f4c9366394a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/shloop.c
+++ /dev/null
@@ -1,7 +0,0 @@
-main ()
-{
- int volatile p;
- int i;
- for (i = 10000000; i > 0; i--)
- p = i >> 10;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/shm.c b/gcc/testsuite/gcc.c-torture/unsorted/shm.c
deleted file mode 100644
index b667b26abe9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/shm.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (int *p)
-{
- int a = *p;
- return a >> 24;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/signext.c b/gcc/testsuite/gcc.c-torture/unsorted/signext.c
deleted file mode 100644
index 2724098d031..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/signext.c
+++ /dev/null
@@ -1,27 +0,0 @@
-void longprint (x)
- long long x;
-{
- printf (" %d, %d\n", (unsigned) ((unsigned long long) x >> 32),
- (unsigned) x);
-}
-
-void
-k_min (p, qa, d)
- int d;
-{
- int s = 1;
- long long x;
-
- if (s >= d)
- s -= d;
-
- x = ((long long)((8 * s) % 3) + qa) % d;
- longprint (x);
-}
-
-int
-main ()
-{
- k_min (100003, -600017, 3);
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/signext2.c b/gcc/testsuite/gcc.c-torture/unsorted/signext2.c
deleted file mode 100644
index d2eb6370df8..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/signext2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-long long
-foo (a)
- int a;
-{
- return a;
-}
-
-main ()
-{
- printf ("%d\n", (int) (foo (-1) >> 32));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sim.c b/gcc/testsuite/gcc.c-torture/unsorted/sim.c
deleted file mode 100644
index e8c4fb42f53..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sim.c
+++ /dev/null
@@ -1,7 +0,0 @@
-main ()
-{
- int i;
-
- for (i = 1; i < 10000; i++)
- ;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/simple.c b/gcc/testsuite/gcc.c-torture/unsorted/simple.c
deleted file mode 100644
index 614acba82d9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/simple.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sne.c b/gcc/testsuite/gcc.c-torture/unsorted/sne.c
deleted file mode 100644
index 6844a6e53b9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sne.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (double a)
-{
- return (a != 0);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sound.c b/gcc/testsuite/gcc.c-torture/unsorted/sound.c
deleted file mode 100644
index be727e3febb..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sound.c
+++ /dev/null
@@ -1,13 +0,0 @@
-
-main ()
-{
- char audio[8192];
- int i;
-
- for (i = 0; i < 4095; i += 1)
- audio[i] = i / 8,
- audio[8191 - i] = i / 8;
-
- for (;;)
- write (1, audio, 8192);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sparcbug.c b/gcc/testsuite/gcc.c-torture/unsorted/sparcbug.c
deleted file mode 100644
index cd42a86cccc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sparcbug.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a)
-{
- int b = a;
- return b + 8762345;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/speed.c b/gcc/testsuite/gcc.c-torture/unsorted/speed.c
deleted file mode 100644
index d61407e321d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/speed.c
+++ /dev/null
@@ -1,8 +0,0 @@
-main ()
-{
- int i;
-
- for (i = 5000000; i >=0; i--)
- {
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/stor.c b/gcc/testsuite/gcc.c-torture/unsorted/stor.c
deleted file mode 100644
index 57981eff5a6..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/stor.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#define C 1
-
-foo (p)
- int *p;
-{
- p[0] = C;
- p[1] = C;
- p[2] = C;
- p[3] = C;
- p[4] = C;
- p[5] = C;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/store0.c b/gcc/testsuite/gcc.c-torture/unsorted/store0.c
deleted file mode 100644
index 3b7b16ef3bc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/store0.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (int *p)
-{
- p[10] = 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/storecc.c b/gcc/testsuite/gcc.c-torture/unsorted/storecc.c
deleted file mode 100644
index 11634691091..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/storecc.c
+++ /dev/null
@@ -1,6 +0,0 @@
-foo (char *p, int a)
-{
- *p = a;
- if ((char) a)
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/str.c b/gcc/testsuite/gcc.c-torture/unsorted/str.c
deleted file mode 100644
index d2dec4b2303..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/str.c
+++ /dev/null
@@ -1,13 +0,0 @@
-typedef struct
-{
- char a;
- char b;
-} foo;
-
-bar ()
-{
- foo foobar[100];
- foobar[1].a = 'a';
- foobar[2].a = 'b';
- barfoo (foobar);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/stru.c b/gcc/testsuite/gcc.c-torture/unsorted/stru.c
deleted file mode 100644
index 042c5221784..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/stru.c
+++ /dev/null
@@ -1,9 +0,0 @@
-struct foo
-{
- int a, b, c;
-};
-
-foo (struct foo *a)
-{
- a[0] = a[1];
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/structret.c b/gcc/testsuite/gcc.c-torture/unsorted/structret.c
deleted file mode 100644
index 9c705d4c0a2..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/structret.c
+++ /dev/null
@@ -1,69 +0,0 @@
-struct foo
-{
- int a, b, c, d;
- double doubl;
-} s1, s2;
-
-#ifndef ONLY2
-
-struct foo
-structret (s1, i1, i2, s2)
- struct foo s1, s2;
- int i1, i2;
-{
- if (i1 != i2)
- {
- if (i1 < i2)
- return s1;
- else
- return s2;
- }
- s2.a = 11;
- s2.b = 22;
- s2.c = s1.c;
- s2.d = s1.d;
- return s2;
-}
-
-#endif
-
-#ifndef ONLY1
-
-struct foo
-mani (a, b)
-{
- return structret (s1, a, b, s2);
-}
-
-init ()
-{
- s1.a = 1;
- s1.b = 2;
- s1.c = 3;
- s1.d = 4;
- s1.doubl = 3.1415;
- s2.a = -1;
- s2.b = -2;
- s2.c = -3;
- s2.d = -4;
- s2.doubl = 2.71818;
-}
-
-main ()
-{
- struct foo s;
-
- init ();
- s = mani (1, 1);
- printf ("%d, %d, %d, %d : %f\n", s.a, s.b, s.c, s.d, s.doubl);
-
- init ();
- s = mani (2, 1);
- printf ("%d, %d, %d, %d : %f\n", s.a, s.b, s.c, s.d, s.doubl);
-
- init ();
- s = mani (1, 2);
- printf ("%d, %d, %d, %d : %f\n", s.a, s.b, s.c, s.d, s.doubl);
-}
-
-#endif
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/stuct.c b/gcc/testsuite/gcc.c-torture/unsorted/stuct.c
deleted file mode 100644
index deb838d8099..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/stuct.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifdef STACK_SIZE
-#define SIZE STACK_SIZE / 8
-#else
-#define SIZE 10000000
-#endif
-
-struct foo
-{
- int a, b, c;
- int arr[SIZE];
-};
-
-struct foo s, ss;
-
-main ()
-{
-
- s.b = 2;
- s.c = 3;
- ss.b = 2;
- ss.c = 3;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sub32.c b/gcc/testsuite/gcc.c-torture/unsorted/sub32.c
deleted file mode 100644
index 93114d96cd7..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sub32.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a + 32;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/subcc.c b/gcc/testsuite/gcc.c-torture/unsorted/subcc.c
deleted file mode 100644
index d50114eee42..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/subcc.c
+++ /dev/null
@@ -1,31 +0,0 @@
-foo (a, c)
-{
- int b;
-
- if (a + c >= 0) /* b < 0 ==== a < 10? */
- return a | 0x80000000;
- return 0;
-}
-
-bar (a)
-{
- if (foo (a, 10) & 0x80000000)
- printf ("y");
- else
- printf ("n");
-}
-
-main ()
-{
- bar (0);
- bar (1);
- bar (-1);
- bar (10);
- bar (-10);
- bar (11);
- bar (-11);
- bar (0x7fffffff);
- bar (-0x7fffffff);
-
- puts ("");
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/subcse.c b/gcc/testsuite/gcc.c-torture/unsorted/subcse.c
deleted file mode 100644
index 0a10991f18a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/subcse.c
+++ /dev/null
@@ -1,6 +0,0 @@
-foo (a, b, p)
- int *p;
-{
- p[0] = 1230 - a;
- p[1] = 1230 - b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/sym.c b/gcc/testsuite/gcc.c-torture/unsorted/sym.c
deleted file mode 100644
index 8a0fe323b03..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/sym.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo ()
-{
- return (int) &foo;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/symconst.c b/gcc/testsuite/gcc.c-torture/unsorted/symconst.c
deleted file mode 100644
index 7add218108e..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/symconst.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo ()
-{
- return (int)foo;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/t.c b/gcc/testsuite/gcc.c-torture/unsorted/t.c
deleted file mode 100644
index 48095e7c38b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/t.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#define B 95
-
-foo (a, b, p)
- unsigned a, b;
- int *p;
-{
- p[1] = a % B;
- p[0] = a / B;
-}
-
-bar (a, b, p)
- unsigned a, b;
- int *p;
-{
- p[0] = a / B;
- p[1] = a % B;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/test-flow.c b/gcc/testsuite/gcc.c-torture/unsorted/test-flow.c
deleted file mode 100644
index 01ec724eb2f..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/test-flow.c
+++ /dev/null
@@ -1,12 +0,0 @@
-foo (a, b, c, d)
-{
- if (a < 0)
- {
- b = c;
- }
- else
- {
- b = d;
- }
- return b + 75;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/test-loop.c b/gcc/testsuite/gcc.c-torture/unsorted/test-loop.c
deleted file mode 100644
index d441dde0ca9..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/test-loop.c
+++ /dev/null
@@ -1,7 +0,0 @@
-main ()
-{
- int i;
- for (i = 100; i >= -1; i--)
- foo ();
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/test.c b/gcc/testsuite/gcc.c-torture/unsorted/test.c
deleted file mode 100644
index 46e830a3521..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/test.c
+++ /dev/null
@@ -1,6 +0,0 @@
-foo (a)
-{
- if (a & 38)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/time.c b/gcc/testsuite/gcc.c-torture/unsorted/time.c
deleted file mode 100644
index 7e22681d98b..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/time.c
+++ /dev/null
@@ -1,7 +0,0 @@
-main ()
-{
- int i;
- for (i = 3000000; --i;)
- {
- }
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/tmp.c b/gcc/testsuite/gcc.c-torture/unsorted/tmp.c
deleted file mode 100644
index 463d9fb530d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/tmp.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a, b)
-{
- return (a - b) == 0;
-}
-
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/trivial.c b/gcc/testsuite/gcc.c-torture/unsorted/trivial.c
deleted file mode 100644
index e9665cd8dd7..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/trivial.c
+++ /dev/null
@@ -1 +0,0 @@
-foo () {}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/trunc.c b/gcc/testsuite/gcc.c-torture/unsorted/trunc.c
deleted file mode 100644
index dee0e158728..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/trunc.c
+++ /dev/null
@@ -1,11 +0,0 @@
-main ()
-{
- printf ("%x, %x\n", (unsigned char) main, main);
-}
-
-foo (p)
- char *p;
-{
- p[0] = (char)foo;
- p[1] = (char)foo;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/u.c b/gcc/testsuite/gcc.c-torture/unsorted/u.c
deleted file mode 100644
index 7fc0dda3784..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/u.c
+++ /dev/null
@@ -1 +0,0 @@
-foo (a, b) { return a % b; }
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/udconvert.c b/gcc/testsuite/gcc.c-torture/unsorted/udconvert.c
deleted file mode 100644
index 31b494fe08a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/udconvert.c
+++ /dev/null
@@ -1,30 +0,0 @@
-double
-unsigned_to_double1 (u)
- unsigned u;
-{
- double d;
- d = (int) u; /* convert as from a *signed* integer */
- return ((int) u < 0)
- ? d + 4294967296.0
- : d;
-}
-
-/* Alternatively */
-
-double
-unsigned_to_double2 (u)
- unsigned u;
-{
- double d;
- u -= 2147483648; /* complement sign bit */
- d = (int) u; /* convert as from a *signed* integer */
- return d + 2147483648.0;
-}
-
-unsigned
-double_to_unsigned (d)
- double d;
-{
- d += 2147483648.0;
- return ((int) d) - 2147483648;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/udivmod4.c b/gcc/testsuite/gcc.c-torture/unsorted/udivmod4.c
deleted file mode 100644
index 40d2fa8d07c..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/udivmod4.c
+++ /dev/null
@@ -1,56 +0,0 @@
-long long
-xlrandom ()
-{
- long long x;
- unsigned a;
- int bits = 64;
- unsigned b;
-
- do
- {
- a = random ();
- b = (a & 15) + 1;
- x <<= b; /* shift up 1-16 steps */
- a = (a >> 18) & 1;
- if (a)
- x |= (unsigned) (1 << b) - 1;
- bits -= b;
- }
- while (bits >= 0);
- return x;
-}
-
-
-unsigned long long __udivmoddi4();
-
-main ()
-{
- int i;
- unsigned long long n, d, q, r, rr;
-
- for (i = 0; ;i++)
- {
- n = xlrandom ();
- d = xlrandom ();
- if (d == 0)
- continue;
-
- q = __udivmoddi4 (n, d, &r);
-
- if (i % 1000000 == 0)
- printf ("Testing udivmoddi4: %d iterations made\n", i);
-
- rr = n - q * d;
- if (rr != r || r >= d)
- {
- printf ("Testing udivmoddi4: failure after %d iterations\n", i);
- printf ("n=%lX%08lX\n", (unsigned) (n >> 32), (unsigned) n);
- printf ("d=%lX%08lX\n", (unsigned) (d >> 32), (unsigned) d);
- printf ("q=%lX%08lX\n", (unsigned) (q >> 32), (unsigned) q);
- printf ("r=%lX%08lX\n", (unsigned) (r >> 32), (unsigned) r);
- printf ("rr=%lX%08lX\n", (unsigned) (rr >> 32), (unsigned) rr);
- abort ();
- }
- }
-
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/uns.c b/gcc/testsuite/gcc.c-torture/unsorted/uns.c
deleted file mode 100644
index 314704f89d3..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/uns.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a)
-{
- if ((unsigned) a < 234)
- return 1;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c b/gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c
deleted file mode 100644
index e34ffaf30eb..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c
+++ /dev/null
@@ -1,19 +0,0 @@
-a (c)
- unsigned char c;
-{
- unsigned u = c;
- if ((int)u < 0)
- return 1;
- else
- return 0;
-}
-
-b (x, y)
- unsigned x, y;
-{
- x /= y;
- if ((int)x < 0)
- return 1;
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp b/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
deleted file mode 100644
index a586170a48a..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993, 1997 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Written by Jeffrey Wheat (cassidy@cygnus.com)
-#
-
-#
-# These tests come from Torbjorn Granlund's (tege@cygnus.com)
-# C torture test suite, and other contributors.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib c-torture.exp
-
-#
-# This loop will run c-torture on any *.c file found in this directory.
-# If a *.c has a corresponding *.exp file, then the test is skipped as
-# as the *.exp will drive the test itself. It is done this way so that
-# generic tests do not need a seperate .exp for it. Only the tests that
-# require unique options need their own .exp file.
-#
-
-foreach testcase [glob -nocomplain $srcdir/$subdir/*.c] {
- if [file exists [file rootname $testcase].exp] then {
- verbose "INFO:\"[file rootname $testcase].exp\" exists, skipping test" 3
- continue
- }
-
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $testcase] then {
- continue
- }
-
- c-torture $testcase
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/uuarg.c b/gcc/testsuite/gcc.c-torture/unsorted/uuarg.c
deleted file mode 100644
index 8928b3e0768..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/uuarg.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b, c, d, e, f, g, h, i)
-{
- return foo () + i;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/v.c b/gcc/testsuite/gcc.c-torture/unsorted/v.c
deleted file mode 100644
index 87ac00aef64..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/v.c
+++ /dev/null
@@ -1,11 +0,0 @@
-main (int *p)
-{
- int a;
-
- a = 0;
- p[1] = a;
- a = 0;
- p[2] = a;
- a = 123456;
- p[3] = a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/w.c b/gcc/testsuite/gcc.c-torture/unsorted/w.c
deleted file mode 100644
index 1acfe1512a5..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/w.c
+++ /dev/null
@@ -1 +0,0 @@
-int foo (unsigned short a, unsigned short b) { return a + b; }
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/ww.c b/gcc/testsuite/gcc.c-torture/unsorted/ww.c
deleted file mode 100644
index 657f8c6b839..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/ww.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (p)
- short *p;
-{
- static int *foo;
- *p = 1234;
- *foo = 1234;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/x.c b/gcc/testsuite/gcc.c-torture/unsorted/x.c
deleted file mode 100644
index baf98960cfd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/x.c
+++ /dev/null
@@ -1 +0,0 @@
-f(m){int i,s=0;for(i=0;i<m;i++)s+=i;return s;}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xb.c b/gcc/testsuite/gcc.c-torture/unsorted/xb.c
deleted file mode 100644
index 09087ccf387..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xb.c
+++ /dev/null
@@ -1,17 +0,0 @@
-foo (a, b)
-{
- unsigned x = 1;
-
- a += b;
- a += x;
- if (a <= 0)
- return 1;
- return 0;
-}
-
-main ()
-{
- printf ("%d\n", foo (1, ~0));
- printf ("%d\n", foo (0, ~0));
- printf ("%d\n", foo (-1, ~0));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xbg.c b/gcc/testsuite/gcc.c-torture/unsorted/xbg.c
deleted file mode 100644
index b600964d420..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xbg.c
+++ /dev/null
@@ -1,14 +0,0 @@
-typedef short type;
-
-short
-foo (type *sp, int a)
-{
- type t;
- int i;
-
- t = sp[a];
- i = (int)(type)sp[a];
- if (i)
- return 0;
- return t;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xc.c b/gcc/testsuite/gcc.c-torture/unsorted/xc.c
deleted file mode 100644
index aed06a04ecd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xc.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (a, p)
- int *p;
-{
- int b;
-
- a++;
- b = *p;
- if (a)
- return 1;
- return b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xcsebug.c b/gcc/testsuite/gcc.c-torture/unsorted/xcsebug.c
deleted file mode 100644
index 614a6e80ebf..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xcsebug.c
+++ /dev/null
@@ -1,14 +0,0 @@
-int g1;
-int g2;
-
-foo ()
-{
- int i = 1;
- int x;
-
- x = g1;
- (*(&g1 + i - 1)) = x + 1;
- x = g1;
- (*(&g1 + i - 1)) = x + 1;
- g1++;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xdi.c b/gcc/testsuite/gcc.c-torture/unsorted/xdi.c
deleted file mode 100644
index 413dd6cf84d..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xdi.c
+++ /dev/null
@@ -1,15 +0,0 @@
-foo (long long *p, int a, int b)
-{
- *(p + a + b) = 876243243874343LL;
-}
-
-bar (p, pp)
- long long *p, *pp;
-{
- long long a;
- *p++ = a;
- fee (*p);
- *p++ = *pp--;
- *p++ = *pp--;
- return (int) p;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xfoo.c b/gcc/testsuite/gcc.c-torture/unsorted/xfoo.c
deleted file mode 100644
index da879d2aa13..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xfoo.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return (a & ~0xfff) == 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xi.c b/gcc/testsuite/gcc.c-torture/unsorted/xi.c
deleted file mode 100644
index 54b42c5a377..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xi.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (a)
-{
- int r = 0;
- if (a)
- r = 1;
- return r;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xlop.c b/gcc/testsuite/gcc.c-torture/unsorted/xlop.c
deleted file mode 100644
index 6506bfd3415..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xlop.c
+++ /dev/null
@@ -1,11 +0,0 @@
-foo (a)
-{
- int b;
- do
- {
- b = bar ();
- a = b - 10;
- }
- while (a > 10);
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xmtst.c b/gcc/testsuite/gcc.c-torture/unsorted/xmtst.c
deleted file mode 100644
index ca78fcaac12..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xmtst.c
+++ /dev/null
@@ -1,26 +0,0 @@
-p1 (int b, int *p, int a)
-{
- p[0] = p[1];
- return p[0];
-}
-p2 (int b, int *p, int a)
-{
- p[0] = p[1];
- return p[0] == 0;
-}
-p3 (int b, int *p, int a)
-{
- p[0] = p[1];
- a = p[0];
- if (a)
- return 0;
- return a;
-}
-p4 (int b, int *p, int a)
-{
- a = p[1];
- p[0] = p[1];
- if (a)
- return 0;
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xneg.c b/gcc/testsuite/gcc.c-torture/unsorted/xneg.c
deleted file mode 100644
index ff5b8503482..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xneg.c
+++ /dev/null
@@ -1,5 +0,0 @@
-foo (a)
- double a;
-{
- return -a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xopt.c b/gcc/testsuite/gcc.c-torture/unsorted/xopt.c
deleted file mode 100644
index b1a50f86cef..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xopt.c
+++ /dev/null
@@ -1,35 +0,0 @@
-proc1 (a)
- unsigned a;
-{
- return (a >> 20) & 0x010fffff;
-}
-
-proc2 (a)
- unsigned a;
-{
- return (a << 17) & 0xfffff001;
-}
-
-proc3 (a)
- unsigned a;
-{
- return (a & 0xff00000a) >> 25;
-}
-
-proc4 (a)
- unsigned a;
-{
- return (a & 0x100000ff) << 25;
-}
-
-proc5 (a)
- unsigned a;
-{
- return (unsigned char) (a >> 24);
-}
-
-proc6 (a)
- unsigned a;
-{
- return ((unsigned char) a) << 30;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xor.c b/gcc/testsuite/gcc.c-torture/unsorted/xor.c
deleted file mode 100644
index 435f2231e64..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xor.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return ~(a ^ ~123);
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xorn.c b/gcc/testsuite/gcc.c-torture/unsorted/xorn.c
deleted file mode 100644
index d7b75f936bd..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xorn.c
+++ /dev/null
@@ -1,31 +0,0 @@
-int
-xorn (a, b)
- int a, b;
-{
- return a ^ ~b;
-}
-
-int
-not (a)
- int a;
-{
- return ~a;
-}
-
-int
-xor (a, b)
- int a, b;
-{
- return a ^ b;
-}
-
-main ()
-{
- int i, j;
-
- for (i = 0; i <= 1; i++)
- for (j = 0; j <= 1; j++)
- printf ("%d op %d = %d = %d?\n", i, j,
- 1 & xor (i, not (j)),
- 1 & xorn (i, j));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xp.c b/gcc/testsuite/gcc.c-torture/unsorted/xp.c
deleted file mode 100644
index 139335c0287..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xp.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a)
-{
- return a & 255;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xpp.c b/gcc/testsuite/gcc.c-torture/unsorted/xpp.c
deleted file mode 100644
index daf3399a3f4..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xpp.c
+++ /dev/null
@@ -1,12 +0,0 @@
-foo (a)
-{
- a++;
- if (a < 10)
- return 1;
- return a;
-}
-
-main ()
-{
- printf ("%d\n", foo ((1 << 31) - 1));
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xs.c b/gcc/testsuite/gcc.c-torture/unsorted/xs.c
deleted file mode 100644
index 24f773e7577..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xs.c
+++ /dev/null
@@ -1,9 +0,0 @@
-foo (a, b)
-{
- for (b = 0; b < 10; b++)
- ;
- for (a = 0; a < 10; a++)
- ;
- a = b << 1;
- return a;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xsh.c b/gcc/testsuite/gcc.c-torture/unsorted/xsh.c
deleted file mode 100644
index 9ba0b6c9e02..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xsh.c
+++ /dev/null
@@ -1,7 +0,0 @@
-foo (a, b)
-{
- a = b + b;
- if (a)
- return a;
- return b;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xxs.c b/gcc/testsuite/gcc.c-torture/unsorted/xxs.c
deleted file mode 100644
index 1757f976008..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xxs.c
+++ /dev/null
@@ -1,202 +0,0 @@
-void *malloc ();
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-struct timezone {
- int tz_minuteswest;
- int tz_dsttime;
-};
-struct itimerval {
- struct timeval it_interval;
- struct timeval it_value;
-};
-typedef int sigset_t;
-typedef unsigned int speed_t;
-typedef unsigned long tcflag_t;
-typedef unsigned char cc_t;
-typedef int pid_t;
-typedef unsigned short mode_t;
-typedef short nlink_t;
-typedef long clock_t;
-typedef long time_t;
-typedef int size_t;
-typedef int ptrdiff_t;
-typedef unsigned short wchar_t;
-struct tm {
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon;
- int tm_year;
- int tm_wday;
- int tm_yday;
- int tm_isdst;
- char *tm_zone;
- long tm_gmtoff;
-};
-extern struct tm *gmtime(), *localtime();
-extern char *asctime(), *ctime();
-extern void tzset(), tzsetwall();
-extern int dysize();
-extern time_t timelocal(), timegm();
-struct rusage {
- struct timeval ru_utime;
- struct timeval ru_stime;
- long ru_maxrss;
- long ru_ixrss;
- long ru_idrss;
- long ru_isrss;
- long ru_minflt;
- long ru_majflt;
- long ru_nswap;
- long ru_inblock;
- long ru_oublock;
- long ru_msgsnd;
- long ru_msgrcv;
- long ru_nsignals;
- long ru_nvcsw;
- long ru_nivcsw;
-};
-struct rlimit {
- int rlim_cur;
- int rlim_max;
-};
-unsigned long
-cputime ()
-{
- struct rusage rus;
- getrusage (0, &rus);
- return (((rus.ru_utime.tv_sec + rus.ru_stime.tv_sec) * 1000000) +
- rus.ru_utime.tv_usec + rus.ru_stime.tv_usec) / 1000;
-}
-int
-do_assoc_test (mem, start, cc)
- register char *mem;
- register int start;
- register int cc;
-{
- register int j;
- register int ind = start;
- register int x;
- for (j = 0x100000; --j >= 0; )
- {
- int x = ((volatile char *) mem)[ind];
- ind -= cc;
- if (ind < 0)
- ind = start;
- }
- return x;
-}
-int
-determine_assoc (size)
-{
- register char *mem = malloc (size * (1 << 5 ));
- int cc = size;
- int lbsets;
- int times[5 + 1];
- for (lbsets = 0; lbsets <= 5; lbsets++)
- {
- int t = cputime ();
- do_assoc_test (mem, (cc << lbsets) - cc, cc);
- t = cputime () - t;
- times[lbsets] = t;
- printf ("sets = %2u: %u ms\n", 1 << lbsets, t);
- }
- free (mem);
- {
- int max = 1000 * times[1] / times[0];
- int maxindex = 0;
- int min = 1000 * times[1] / times[0];
- int minindex = 0;
- for (lbsets = 1; lbsets < 4; lbsets++)
- {
- int x = 1000 * times[lbsets + 1] / times[lbsets];
- if (x > max)
- {
- max = x;
- maxindex = lbsets;
- }
- if (x < min)
- {
- min = x;
- minindex = lbsets;
- }
- }
- if (min * 100 > max * 75)
- return 0;
- return 1 << maxindex;
- }
-}
-do_size_test(mem, size, reps)
- register int *mem;
- register int size;
- register int reps;
-{
- register int j, i, x;
- mem += size;
- for (j = reps; --j >= 0;)
- for (i = -size; i < 0; i++)
- x = ((volatile int *) mem)[i];
-}
-int
-determine_size()
-{
- register int *mem = malloc (1 << 20 );
- int lbsize;
- int times[20 ];
- for (lbsize = 12; lbsize < 20; lbsize++)
- {
- int t = cputime ();
- do_size_test (mem, (1 << lbsize) / sizeof (int) - 64,
- 0x1000000 >> lbsize);
- t = cputime () - t;
- times[lbsize] = t;
- printf ("size = %2u: %u ms\n", 1 << lbsize, t);
- }
- free (mem);
- {
- int max = 1000 * times[12 + 1] / times[12 ];
- int maxindex = 0;
- int min = 1000 * times[12 + 1] / times[12 ];
- int minindex = 0;
- for (lbsize = 12; lbsize < 20 - 1; lbsize++)
- {
- int x = 1000 * times[lbsize + 1] / times[lbsize];
- if (x > max)
- {
- max = x;
- maxindex = lbsize;
- }
- if (x < min)
- {
- min = x;
- minindex = lbsize;
- }
- }
- if (min * 100 > max * 75)
- return 0;
- return 1 << maxindex;
- }
-}
-int
-main()
-{
- int size, assoc;
- size = determine_size();
- if (size)
- printf ("I guess this cache is %d bytes.\n", size);
- else
- printf ("I can't determine the size from this run.\n");
- if (size == 0)
- size = 65536;
- assoc = determine_assoc(size);
- if (assoc > 1)
- printf ("I guess this cache is %d-way set associative.\n", assoc);
- else if (assoc == 1)
- printf ("I guess this cache is direct mapped.\n");
- else
- printf ("I can't determine the associativity from this run.\n");
- return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xz.c b/gcc/testsuite/gcc.c-torture/unsorted/xz.c
deleted file mode 100644
index 97a1d1e2cdc..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xz.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (int *p)
-{
- *p = (unsigned short) *p;
-}
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/xzz.c b/gcc/testsuite/gcc.c-torture/unsorted/xzz.c
deleted file mode 100644
index f1972b6c618..00000000000
--- a/gcc/testsuite/gcc.c-torture/unsorted/xzz.c
+++ /dev/null
@@ -1,4 +0,0 @@
-foo (a, b)
-{
- return a >> (char) b;
-}
diff --git a/gcc/testsuite/gcc.dg/980211-1.c b/gcc/testsuite/gcc.dg/980211-1.c
deleted file mode 100644
index 6332b7e7e3f..00000000000
--- a/gcc/testsuite/gcc.dg/980211-1.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Test long double on x86. */
-
-/* { dg-do run { target i?86-*-* } } */
-/* { dg-options -O2 } */
-
-__inline int
-__signbitl (long double __x)
-{
- union { long double __l; int __i[3]; } __u = { __l: __x };
-
- return (__u.__i[2] & 0x8000) != 0;
-}
-
-void
-foo (long double x, long double y)
-{
- long double z = x / y;
- if (__signbitl (x) && __signbitl (z))
- abort ();
-}
-
-int main()
-{
- if (sizeof (long double) > sizeof (double))
- foo (-0.0, -1.0);
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/980217-1.c b/gcc/testsuite/gcc.dg/980217-1.c
deleted file mode 100644
index 2236e848d03..00000000000
--- a/gcc/testsuite/gcc.dg/980217-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Test float on alpha. */
-
-/* { dg-do run { target alpha*-*-* } } */
-/* { dg-options "-mieee -O2" } */
-
-typedef int int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
-typedef union
-{
- float value;
- int32_t word;
-} ieee_float_shape_type;
-
-int isinff(float x)
-{
- int32_t ix,t;
- ieee_float_shape_type gf_u;
- gf_u.value = x;
- ix = gf_u.word;
- printf ("%x\n", ix);
- t = ix & 0x7fffffff;
- t ^= 0x7f800000;
- t |= -t;
- return ~(t >> 31) & (1 - ((ix & 0x80000000) >> 30));
-}
-
-main ()
-{
- float x = 1.0 / 0.0;
- int i = isinff (x);
-
- if (i == 0)
- abort ();
-
- printf ("%d\n", i);
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/980226-1.c b/gcc/testsuite/gcc.dg/980226-1.c
deleted file mode 100644
index f66e9e2a9f7..00000000000
--- a/gcc/testsuite/gcc.dg/980226-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-options -O2 } */
-
-extern double bar (double);
-
-int
-baz (double d)
-{
- double e = bar (d);
- asm volatile ("" : : : "st");
- return printf ("%lg\n", e);
-}
diff --git a/gcc/testsuite/gcc.dg/980312-1.c b/gcc/testsuite/gcc.dg/980312-1.c
deleted file mode 100644
index 8f72c31d341..00000000000
--- a/gcc/testsuite/gcc.dg/980312-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* { dg-do link { target i?86-*-* } } */
-/* { dg-options "-O2 -march=pentiumpro" } */
-
-extern __inline double
-__expm1 (double __x)
-{
- double __temp;
- __temp = 1.0;
- return __temp;
-}
-extern __inline double
-__sgn1 (double __x)
-{
- return __x >= 0.0 ? 1.0 : -1.0;
-}
-double
-tanh (double __x)
-{
- return __expm1 (__x) * __sgn1 (-__x);
-}
-main ()
-{
- return tanh (3.45) != 0;
-}
diff --git a/gcc/testsuite/gcc.dg/980313-1.c b/gcc/testsuite/gcc.dg/980313-1.c
deleted file mode 100644
index 1036339b076..00000000000
--- a/gcc/testsuite/gcc.dg/980313-1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* { dg-do link { target i?86-*-* } } */
-/* { dg-options "-O2 -march=pentiumpro" } */
-
-extern __inline double
-__expm1 (double __x)
-{
- double __temp;
- __temp -= 1.0;
- return __temp;
-}
-extern __inline double
-__sgn1 (double __x)
-{
- return __x >= 0.0 ? 1.0 : -1.0;
-}
-double
-tanh (double __x)
-{
- register double __exm1 = __expm1 (__x);
- return __exm1 / (__exm1 + 2.0) * __sgn1 (-__x);
-}
-main ()
-{
- return tanh (3.45) != 0;
-}
diff --git a/gcc/testsuite/gcc.dg/980414-1.c b/gcc/testsuite/gcc.dg/980414-1.c
deleted file mode 100644
index 8fd0e127296..00000000000
--- a/gcc/testsuite/gcc.dg/980414-1.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Test double on x86. */
-
-/* { dg-do run { target i?86-*-* } } */
-/* { dg-options -O2 } */
-
-static __inline double
-mypow (double __x, double __y)
-{
- register double __value, __exponent;
- long __p = (long) __y;
- if (__y == (double) __p)
- {
- double __r = 1.0;
- if (__p == 0)
- return 1.0;
- if (__p < 0)
- {
- __p = -__p;
- __x = 1.0 / __x;
- }
- while (1)
- {
- if (__p & 1)
- __r *= __x;
- __p >>= 1;
- if (__p == 0)
- return __r;
- __x *= __x;
- }
- }
- __asm __volatile__
- ("fmul %%st(1),%%st\n\t" /* y * log2(x) */
- "fst %%st(1)\n\t"
- "frndint\n\t" /* int(y * log2(x)) */
- "fxch\n\t"
- "fsub %%st(1),%%st\n\t" /* fract(y * log2(x)) */
- "f2xm1\n\t" /* 2^(fract(y * log2(x))) - 1 */
- : "=t" (__value), "=u" (__exponent) : "0" (__x), "1" (__y));
- __value += 1.0;
- __asm __volatile__
- ("fscale"
- : "=t" (__value) : "0" (__value), "u" (__exponent));
- return __value;
-}
-
-const double E1 = 2.71828182845904523536028747135;
-
-double fact (double x)
-{
- double corr;
- corr = 1.0;
- return corr * mypow(x/E1, x);
-}
-
-int main ()
-{
- double y, z;
-
- y = fact (46.2);
- z = mypow (46.2/E1, 46.2);
-
-#if 0
- printf ("%26.19e, %26.19e\n", y, z);
-#endif
-
- if (y > z)
- y -= z;
- else
- y = z - y;
-
- y /= z;
- if (y > 0.1)
- abort ();
-
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/980502-1.c b/gcc/testsuite/gcc.dg/980502-1.c
deleted file mode 100644
index f06491cd96c..00000000000
--- a/gcc/testsuite/gcc.dg/980502-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* { dg-do compile }*/
-/* { dg-options "-O2" } */
-
-char *const f(void)
-{
- char *const line = "/dev/ptyXX";
- line[8] = 1;
- return line;
-}
diff --git a/gcc/testsuite/gcc.dg/980520-1.c b/gcc/testsuite/gcc.dg/980520-1.c
deleted file mode 100644
index e1401824f54..00000000000
--- a/gcc/testsuite/gcc.dg/980520-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-options -O2 } */
-
-int bug(void)
-{
- unsigned long a, b;
-
- __asm__(""
- : "=d" (a)
- :
- : "memory");
- __asm__ __volatile__(""
- :
- : "g" (b)
- : "memory");
- return a;
-}
diff --git a/gcc/testsuite/gcc.dg/980523-1.c b/gcc/testsuite/gcc.dg/980523-1.c
deleted file mode 100644
index 6265a733780..00000000000
--- a/gcc/testsuite/gcc.dg/980523-1.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* { dg-do run { target rs6000-*-linux* powerpc-*-linux*} } */
-/* { dg-options "-O2 -fpic" } */
-
-void foo1(int a, char *b, int c)
-{
- c =a+c+234;
-}
-
-int foo2(int d)
-{
- return d*d;
-}
-
-int bar1, bar2, bar3;
-char * bar4;
-
-int main(void) {
- int h;
- bar1 = foo2(1);
- bar2 = foo2(1);
-
- h = foo2(1);
- foo1(1, "a", foo2(1));
- foo1(bar1, "a", foo2(1));
- foo2(1);
-
- h = foo2(1);
- bar3 = 1;
- bar4 = "a";
- foo1(1, "n", foo2(1));
- foo1(1, "o", foo2(1));
- foo1(1, "p", foo2(1));
- foo1(bar1, "a", foo2(1));
-
- bar3 = h;
- bar4 = "b"; foo1(bar1, "b", foo2(1));
- foo1(1, "q", foo2(1));
- bar4 = "c"; foo1(1, "c", foo2(1));
- bar4 = "d"; foo1(1, "d", foo2(1));
- bar4 = "e"; foo1(1, "e", foo2(1));
- bar4 = "f"; foo1(1, "f", foo2(1));
- bar4 = "g"; foo1(1, "g", foo2(1));
- bar4 = "h"; foo1(1, "h", foo2(1));
- bar4 = "i"; foo1(1, "i", foo2(1));
- bar4 = "j"; foo1(1, "j", foo2(1));
- bar4 = "k"; foo1(1, "k", foo2(1));
- bar4 = "l"; foo1(1, "l", foo2(1));
- bar4 = "m";
- foo1(bar2, "m", foo2(1));
- exit(0);
-}
diff --git a/gcc/testsuite/gcc.dg/980526-1.c b/gcc/testsuite/gcc.dg/980526-1.c
deleted file mode 100644
index 08ef6e285a1..00000000000
--- a/gcc/testsuite/gcc.dg/980526-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* { dg-do compile { target rs6000-*-linux* powerpc-*-linux* } } */
-/* { dg-options "-O2 -fpic" } */
-
-int
-test(void)
-{
- double value, maxValue = - (__extension__ ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) { __l: 0x7ff0000000000000ULL }).__d) ;
- int idx, maxIdx = 1;
-
- for (idx = 1; idx < 22; idx++) {
- if (value > maxValue) {
- maxValue = value;
- maxIdx = idx;
- }
- }
- return 0 ;
-}
diff --git a/gcc/testsuite/gcc.dg/980709-1.c b/gcc/testsuite/gcc.dg/980709-1.c
deleted file mode 100644
index a4359300587..00000000000
--- a/gcc/testsuite/gcc.dg/980709-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-options -O2 } */
-
-extern __inline__ int test_and_set_bit(int nr, volatile void * addr)
-{
- int oldbit;
- __asm__ __volatile__( ""
- "btsl %2,%1\n\tsbbl %0,%0"
- :"=r" (oldbit),"=m" (addr)
- :"ir" (nr));
- return oldbit;
-}
-struct buffer_head {
- unsigned long b_state;
-};
-extern void lock_buffer(struct buffer_head * bh)
-{
- while (test_and_set_bit(2 , &bh->b_state))
- __wait_on_buffer(bh);
-}
diff --git a/gcc/testsuite/gcc.dg/980816-1.c b/gcc/testsuite/gcc.dg/980816-1.c
deleted file mode 100644
index 2a96ef4bcc9..00000000000
--- a/gcc/testsuite/gcc.dg/980816-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options -fno-force-mem } */
-
-int
-div_and_round_double (lden_orig, hden_orig)
- int lden_orig, hden_orig;
-{
- int quo[4];
- register int i;
- unsigned int work;
- register unsigned int carry = 0;
- int lden = lden_orig;
- int hden = hden_orig;
- neg_double (&lden, &hden);
- for (i = 4 - 1; i >= 0; i--)
- {
- quo[i] = work / (unsigned int ) lden;
- carry = work % (unsigned int ) lden;
- }
-}
diff --git a/gcc/testsuite/gcc.dg/980827-1.c b/gcc/testsuite/gcc.dg/980827-1.c
deleted file mode 100644
index 0de02ccc58f..00000000000
--- a/gcc/testsuite/gcc.dg/980827-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* { dg-do run { target rs6000-*-linux* powerpc-*-linux*} } */
-/* { dg-options -O2 } */
-
-double dval = 0;
-
-void splat (double d);
-
-int main(void)
-{
- splat(0);
- if (dval == 0)
- abort();
- exit (0);
-}
-
-void splat (double d)
-{
- union {
- double f;
- unsigned int l[2];
- } u;
-
- u.f = d + d;
- u.l[1] |= 1;
- asm volatile ("stfd %0,dval@sdarel(13)" : : "f" (u.f));
-}
diff --git a/gcc/testsuite/gcc.dg/990117-1.c b/gcc/testsuite/gcc.dg/990117-1.c
deleted file mode 100644
index 2e7ea5a1551..00000000000
--- a/gcc/testsuite/gcc.dg/990117-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-options "-O2 -march=pentiumpro" } */
-
-extern __inline double
-fabs (double __x)
-{
- register double __value;
- __asm __volatile__
- ("fabs"
- : "=t" (__value) : "0" (__x));
- return __value;
-}
-int
-foo ()
-{
- int i, j, k;
- double x = 0, y = ((i == j) ? 1 : 0);
- for (i = 0; i < 10; i++)
- ;
- fabs (x - y);
-}
diff --git a/gcc/testsuite/gcc.dg/990119-1.c b/gcc/testsuite/gcc.dg/990119-1.c
deleted file mode 100644
index 7e33518a35c..00000000000
--- a/gcc/testsuite/gcc.dg/990119-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* This checks for two things:
- - an obscure corner case in the standard rules for __LINE__
- - regression of an associated bug in cpplib where the semicolon got lost */
-/* { dg-do run } */
-
-int i = __LINE__\
-;
-
-int main (void) /* { dg-bogus "parse error" "semicolon eaten" } */
-{
- if (i != 6)
- abort();
- else
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/990130-1.c b/gcc/testsuite/gcc.dg/990130-1.c
deleted file mode 100644
index 3e711c2febb..00000000000
--- a/gcc/testsuite/gcc.dg/990130-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-options -O0 } */
-
-typedef int SItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-DItype
-__muldi3 (DItype u, DItype v)
-{
- DIunion w;
- DIunion uu, vv;
- uu.ll = u,
- vv.ll = v;
- w.ll = ({DIunion __w; __asm__ ("mull %3" : "=a" ((USItype) ( __w.s.low )), "=d" ((USItype) ( __w.s.high )) : "%0" ((USItype) ( uu.s.low )), "rm" ((USItype) ( vv.s.low ))) ; __w.ll; }) ;
- w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
- + (USItype) uu.s.high * (USItype) vv.s.low);
- return w.ll;
-}
diff --git a/gcc/testsuite/gcc.dg/990213-1.c b/gcc/testsuite/gcc.dg/990213-1.c
deleted file mode 100644
index a7c9f24898a..00000000000
--- a/gcc/testsuite/gcc.dg/990213-1.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-W -Wall -Werror" } */
-
-static inline int unused_fn(int dummyarg)
-{
- return dummyarg*dummyarg;
-}
-
-int main()
-{
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/990213-2.c b/gcc/testsuite/gcc.dg/990213-2.c
deleted file mode 100644
index 6e6b924ed89..00000000000
--- a/gcc/testsuite/gcc.dg/990213-2.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-options "-fPIC" } */
-
-struct normal_encoding {};
-struct unknown_encoding {};
-static const struct normal_encoding latin1_encoding = {};
-
-struct encoding*
-XmlInitUnknownEncoding(void *mem)
-{
- int i;
- struct unknown_encoding *e = mem;
- for (i = 0; i < sizeof(struct normal_encoding); i++)
- ((char *)mem)[i] = ((char *)&latin1_encoding)[i];
-}
diff --git a/gcc/testsuite/gcc.dg/990214-1.c b/gcc/testsuite/gcc.dg/990214-1.c
deleted file mode 100644
index 5701b5df713..00000000000
--- a/gcc/testsuite/gcc.dg/990214-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-options "-fPIC" } */
-
-typedef int int64_t __attribute__ ((__mode__ ( __DI__ ))) ;
-unsigned *
-bar (int64_t which)
-{
- switch (which & 15 ) {
- case 0 :
- break;
- case 1 :
- case 5 :
- case 2 :
- }
-}
diff --git a/gcc/testsuite/gcc.dg/990228-1.c b/gcc/testsuite/gcc.dg/990228-1.c
deleted file mode 100644
index 4b846ea219f..00000000000
--- a/gcc/testsuite/gcc.dg/990228-1.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Regression test for cpp. The following input may cause core dumps
- or # line markers in the middle of the line. */
-/* { dg-do preprocess } */
-
-#define foo(string, arg) bar(2, string, arg)
-
-foo ("\
-\
-\
-\
-\
-\
-\
-\
-\
-\
-\
-",
-NULL);
-
-/*
- { dg-final { if ![file exists 990228-1.i] { return } } }
- { dg-final { set tmp [grep 990228-1.i ".#"] } }
- { dg-final { if { [string length $tmp] == 0 } \{ } }
- { dg-final { pass "990228-1.c: linemarkers in middle of line" } }
- { dg-final { \} else \{ } }
- { dg-final { fail "990228-1.c: linemarkers in middle of line" } }
- { dg-final { \} } }
- */
diff --git a/gcc/testsuite/gcc.dg/990407-1.c b/gcc/testsuite/gcc.dg/990407-1.c
deleted file mode 100644
index 96b3f862639..00000000000
--- a/gcc/testsuite/gcc.dg/990407-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Regression test for a cpplib macro-expansion bug where
- `@' becomes `@@' when stringified. */
-
-/* { dg-do run } */
-
-#include <string.h>
-
-#define STR(x) #x
-
-char *a = STR(@foo), *b = "@foo";
-
-int
-main(void)
-{
- if (strcmp (a, b))
- abort ();
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/990409-1.c b/gcc/testsuite/gcc.dg/990409-1.c
deleted file mode 100644
index cda9dd87ad8..00000000000
--- a/gcc/testsuite/gcc.dg/990409-1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Test that __LINE__ works when embedded in a macro. */
-/* { dg-do run } */
-
-#define XLINE __LINE__
-
-void
-bar(int x, int y)
-{
- if (x != y)
- abort();
-}
-
-int
-main(void)
-{
- bar(XLINE, __LINE__);
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/990413-1.c b/gcc/testsuite/gcc.dg/990413-1.c
deleted file mode 100644
index 591159abc67..00000000000
--- a/gcc/testsuite/gcc.dg/990413-1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Verify that cpp doesn't screw up the line numbering when a macro argument
- extends over multiple lines. */
-/* { dg-do compile } */
-
-#define FOO(x) /* nothing */
-
-void
-func(void)
-{
- FOO(i
- = 4)
- else; /* { dg-error "parse error" "error on this line" { target native } { 12 } } */
-}
diff --git a/gcc/testsuite/gcc.dg/990424-1.c b/gcc/testsuite/gcc.dg/990424-1.c
deleted file mode 100644
index 589e0468e76..00000000000
--- a/gcc/testsuite/gcc.dg/990424-1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Test that stack alignment is preserved with pending_stack_adjust
- with stdcall functions. */
-
-/* { dg-do run { target i?86-*-* } } */
-/* { dg-options -mpreferred-stack-boundary=4 } */
-
-void __attribute__((stdcall)) foo(int a, int b, int c);
-
-int
-main ()
-{
- foo(1, 2, 3);
- foo(1, 2, 3);
- exit (0);
-}
-
-void __attribute__((stdcall))
-foo(int a, int b, int c)
-{
- static int last_align = -1;
- int dummy, align = (int)&dummy & 15;
- if (last_align < 0)
- last_align = align;
- else if (align != last_align)
- abort ();
-}
diff --git a/gcc/testsuite/gcc.dg/990506-0.c b/gcc/testsuite/gcc.dg/990506-0.c
deleted file mode 100644
index 7db7215721a..00000000000
--- a/gcc/testsuite/gcc.dg/990506-0.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Verify that a diagnostic is issued without crashing due to
- --enable-checking catching a bug in the C front end. */
-/* { dg-do compile } */
-x()
-{
- foo (i);
- /* { dg-error "undeclared" "undeclared-variable message" { target native } { 6 } } */
- /* { dg-error "function it appears in" "reminder message" { target native } { 6 } } */
-}
diff --git a/gcc/testsuite/gcc.dg/README b/gcc/testsuite/gcc.dg/README
deleted file mode 100644
index 6f14899edf9..00000000000
--- a/gcc/testsuite/gcc.dg/README
+++ /dev/null
@@ -1,16 +0,0 @@
-Notes for testsuite/gcc.dg.
-
-1) There should be only one driver, dg.exp.
-
-2) Try to organize the tests by topic using file name prefixes.
-
- Eg: All bitfield tests are named "bf-*.c".
-
- This lets the person running the tests choose particular sets of tests to
- run easily (using wildcards).
-
- Eg: make check RUNTESTFLAGS='dg.exp=bf-*.c'
-
-3) Remember DOS file name restrictions (8.3). Sigh.
-
-4) Send bugs, comments, etc. to dje@cygnus.com. \ No newline at end of file
diff --git a/gcc/testsuite/gcc.dg/bf-spl1.c b/gcc/testsuite/gcc.dg/bf-spl1.c
deleted file mode 100644
index df3f4817043..00000000000
--- a/gcc/testsuite/gcc.dg/bf-spl1.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* { dg-do run { target m68k-*-* sparc-*-* } } */
-/* { dg-options { -m68000 -O2 } { target m68k-*-* } } */
-/* { dg-options { -O2 } { target sparc-*-* } } */
-
-typedef SFtype __attribute__ ((mode (SF)));
-typedef DFtype __attribute__ ((mode (DF)));
-
-typedef int HItype __attribute__ ((mode (HI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-
-typedef unsigned int UHItype __attribute__ ((mode (HI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-
-typedef UDItype fractype;
-typedef USItype halffractype;
-typedef DFtype FLO_type;
-typedef DItype intfrac;
-
-
-typedef union
-{
- long long foo;
- FLO_type value;
- struct
- {
- fractype fraction:52 __attribute__ ((packed));
- unsigned int exp:11 __attribute__ ((packed));
- unsigned int sign:1 __attribute__ ((packed));
- }
- bits;
-} FLO_union_type;
-
-void foo (long long a);
-long long x;
-
-void
-pack_d ()
-{
- FLO_union_type dst = { 0x0123456789abcdefLL };
-
- x = dst.bits.fraction;
-}
-
-main ()
-{
- pack_d ();
- foo (x);
- return 0;
-}
-
-void
-foo (long long a)
-{
- if (a != 0x0123456789abcLL)
- abort ();
-}
diff --git a/gcc/testsuite/gcc.dg/cast-qual-1.c b/gcc/testsuite/gcc.dg/cast-qual-1.c
deleted file mode 100644
index a7a34700bd5..00000000000
--- a/gcc/testsuite/gcc.dg/cast-qual-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Incorrect `cast discards `const'' warnings. There should be warnings
- in bad_cast and bad_assign; bad_assign gets the correct warning, but
- good_cast may get the warning instead of bad_cast.
- gcc 2.7.2.3 passes, egcs-1.1.2 and egcs-ss-19990428 fail.
- http://www.cygnus.com/ml/egcs-bugs/1998-Aug/0635.html */
-/* { dg-do compile } */
-/* { dg-options "-Wcast-qual" } */
-void
-good_cast(const void *bar)
-{
- (char *const *)bar; /* { dg-bogus "cast discards" "discarding `const' warning" } */
-}
-
-void
-bad_cast(const void *bar)
-{
- (const char **)bar; /* { dg-warning "cast discards" "discarding `const' warning" } */
-}
-
-void
-good_assign(const void *bar)
-{
- char *const *foo = bar;
-}
-
-void
-bad_assign(const void *bar)
-{
- const char **foo = bar; /* { dg-warning "initialization discards" "discarding `const' warning" } */
-}
diff --git a/gcc/testsuite/gcc.dg/clobbers.c b/gcc/testsuite/gcc.dg/clobbers.c
deleted file mode 100644
index 0eddc14f953..00000000000
--- a/gcc/testsuite/gcc.dg/clobbers.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Test asm clobbers on x86. */
-
-/* { dg-do run { target i?86-*-* } } */
-
-int main ()
-{
- int i;
- __asm__ ("movl $1,%0\n\txorl %%eax,%%eax" : "=r" (i) : : "eax");
- if (i != 1)
- abort ();
- __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx");
- if (i != 1)
- abort ();
- __asm__ ("movl $1,%0\n\txorl %%ecx,%%ecx" : "=r" (i) : : "ecx");
- if (i != 1)
- abort ();
- __asm__ ("movl $1,%0\n\txorl %%edx,%%edx" : "=r" (i) : : "edx");
- if (i != 1)
- abort ();
- __asm__ ("movl $1,%0\n\txorl %%esi,%%esi" : "=r" (i) : : "esi");
- if (i != 1)
- abort ();
- __asm__ ("movl $1,%0\n\txorl %%edi,%%edi" : "=r" (i) : : "edi");
- if (i != 1)
- abort ();
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/compare1.c b/gcc/testsuite/gcc.dg/compare1.c
deleted file mode 100644
index bba5f1d1dce..00000000000
--- a/gcc/testsuite/gcc.dg/compare1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Test for a bogus warning on comparison between signed and unsigned.
- This was inspired by code in gcc. */
-
-/* { dg-do compile } */
-/* { dg-options "-Wsign-compare" } */
-
-int target_flags = 1;
-
-enum machine_mode
-{
- VOIDmode , PQImode , QImode , PHImode , HImode ,
- PSImode , SImode , PDImode , DImode , TImode , OImode , QFmode ,
- HFmode , TQFmode , SFmode , DFmode , XFmode , TFmode , QCmode ,
- HCmode , SCmode , DCmode , XCmode , TCmode , CQImode , CHImode ,
- CSImode , CDImode , CTImode , COImode , BLKmode , CCmode , CCXmode,
- CC_NOOVmode, CCX_NOOVmode, CCFPmode, CCFPEmode , MAX_MACHINE_MODE
-};
-
-#define Pmode ( target_flags ? DImode : SImode )
-
-int main()
-{
- enum machine_mode mode = DImode;
-
- return (mode == Pmode); /* dg-bogus "warning:" "comparison between signed and unsigned" } */
-}
diff --git a/gcc/testsuite/gcc.dg/cpp-if1.c b/gcc/testsuite/gcc.dg/cpp-if1.c
deleted file mode 100644
index d3b078fc3c6..00000000000
--- a/gcc/testsuite/gcc.dg/cpp-if1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* { dg-do preprocess } */
-/* { dg-options "-pedantic-errors" } */
-
-#if 0xa != 10
-#error 0xa != 10 /* { dg-bogus "#error" "normal conversion" } */
-#endif
-
-#if 077 != 63
-#error 077 != 63 /* { dg-bogus "#error" "normal conversion" } */
-#endif
-
-#if 12wrt /* { dg-error "nvalid number|missing white" "invalid number" } */
-#endif
-
-#if 0abc /* { dg-error "nvalid number|missing white" "invalid number" } */
-#endif
-
-#if 42abc /* { dg-error "nvalid number|missing white" "invalid number" } */
-#endif
-
-#if 1.2 /* { dg-error "loating point numbers" "floating point in #if" } */
-#endif
-
-#if 4uu /* { dg-error "(too many|two) `u'" "too many suffixes" } */
-#endif
-
-#if 124123231lll /* { dg-error "too many `l'" "too many suffixes" } */
-#endif
-
-#if 099 /* { dg-error "digits beyond the radix" "decimal in octal constant" } */
-#endif
-
-#if 0xfffffffffffffffff /* { dg-error "integer constant out of range" "range error" } */
-#endif
diff --git a/gcc/testsuite/gcc.dg/cpp-if2.c b/gcc/testsuite/gcc.dg/cpp-if2.c
deleted file mode 100644
index 60e8ffd22dc..00000000000
--- a/gcc/testsuite/gcc.dg/cpp-if2.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* { dg-do preprocess } */
-/* { dg-options -pedantic-errors } */
-
-#if 'a' != 'a' || '\001' != 1 || '\x12' != 0x12
-#error a,1,0x12 /* { dg-bogus "#error" "basic charconst recognition" } */
-#endif
-
-#if 'a' != L'a' || L'\xfeed' != 0xfeed
-#error L'a',0xfeed /* { dg-bogus "#error" "wide charconst recognition" } */
-#endif
-
-#if 'abcd' /* { dg-warning "multi-character character constant" "multi-character charconst" } */
-#endif
-
-#if 'abcdefghi' /* { dg-error "character constant (is )?too long" "charconst too long" } */
-#endif
-
-#if '' /* { dg-error "empty character constant" "empty charconst" } */
-#endif
diff --git a/gcc/testsuite/gcc.dg/cpp-if3.c b/gcc/testsuite/gcc.dg/cpp-if3.c
deleted file mode 100644
index c46f5633761..00000000000
--- a/gcc/testsuite/gcc.dg/cpp-if3.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Test that the preprocessor is capable of 64-bit arithmetic.
- (Must turn off -pedantic, since `LL' constants are only in C9x.) */
-/* { dg-do preprocess } */
-/* { dg-options "" } */
-
-#define U_MAX 4294967295U
-#define ULL_MAX 18446744073709551615ULL
-#define LL_MAX 9223372036854775807LL
-#define LL_MIN (-LL_MAX-1)
-
-/* Check simple truncation. */
-#if U_MAX == ULL_MAX || LL_MIN == 0 || LL_MAX == -1
-#error "simple truncation" /* { dg-bogus "trunc" "simple truncation" } */
-#endif
-
-/* Check left/right shifting with all bits set and with one bit set. */
-#if !(~0ULL >> 63) || !(~0ULL << 63) || !(~0LL >> 63) || !(~0LL << 63) || \
- !(LL_MIN >> 63) || !(1LL << 62) || !(ULL_MAX >> 63) || !(1ULL << 63)
-#error "bit shift truncation" /* { dg-bogus "trunc" "bit shift truncation" } */
-#endif
-
-/* Check math expressions. */
-#if (2ULL * U_MAX < U_MAX) || (1ULL + U_MAX < U_MAX)
-#error "math truncation" /* { dg-bogus "trunc" "math truncation" } */
-#endif
diff --git a/gcc/testsuite/gcc.dg/cpp-mi.c b/gcc/testsuite/gcc.dg/cpp-mi.c
deleted file mode 100644
index f667d0c4b9d..00000000000
--- a/gcc/testsuite/gcc.dg/cpp-mi.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Test "ignore redundant include" facility.
- This doesn't test for the case where the file is opened, and then ignored
- (the file shouldn't have even been opened). That would require tracing
- system calls. It could be done on some systems however. */
-
-/* We have to test two cases: C comments at the top and C++ comments
- at the top. */
-
-/*
-{ dg-do preprocess }
-{ dg-options "-Wp,-lang-c-c++-comments" }
-*/
-
-#include "cpp-mic.h"
-#include "cpp-mic.h"
-
-#include "cpp-micc.h"
-#include "cpp-micc.h"
-
-main ()
-{
-}
-
-/*
- { dg-final { if ![file exists cpp-mi.i] { return } } }
-
- { dg-final { set tmp [grep cpp-mi.i cpp-micc? line] } }
- { dg-final { # send_user "$tmp\n" } }
- { dg-final { if [regexp "^{\[0-9\]+ cpp-mic} {\[0-9\]+ cpp-micc}$" $tmp] \{ } }
- { dg-final { pass "cpp-mi.c: redundant include check" } }
- { dg-final { \} else \{ } }
- { dg-final { fail "cpp-mi.c: redundant include check" } }
- { dg-final { \} } }
-*/
diff --git a/gcc/testsuite/gcc.dg/cpp-mic.h b/gcc/testsuite/gcc.dg/cpp-mic.h
deleted file mode 100644
index bae9d8b6db7..00000000000
--- a/gcc/testsuite/gcc.dg/cpp-mic.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Redundant header include test with C comments at top. */
-
-#ifndef CPP_MIC_H
-#define CPP_MIC_H
-
-int a;
-
-#endif
-
-/* And at the end too! */
diff --git a/gcc/testsuite/gcc.dg/cpp-micc.h b/gcc/testsuite/gcc.dg/cpp-micc.h
deleted file mode 100644
index 52c9dccca89..00000000000
--- a/gcc/testsuite/gcc.dg/cpp-micc.h
+++ /dev/null
@@ -1,10 +0,0 @@
-// Redundant header include test with C comments at top.
-
-#ifndef CPP_MICC_H
-#define CPP_MICC_H
-
-int a;
-
-#endif
-
-// And at the end too!
diff --git a/gcc/testsuite/gcc.dg/dg.exp b/gcc/testsuite/gcc.dg/dg.exp
deleted file mode 100644
index 6edb5dcae01..00000000000
--- a/gcc/testsuite/gcc.dg/dg.exp
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# GCC testsuite that uses the `dg.exp' driver.
-
-# Load support procs.
-load_lib gcc-dg.exp
-
-# Utility for scanning compiler result, invoked via dg-final.
-# Call pass if pattern is present, otherwise fail.
-proc scan-assembler { testcase pattern } {
- global subdir
-
- set fd [open [file rootname $testcase].s r]
- set text [read $fd]
- close $fd
-
- if [regexp -- $pattern $text] {
- pass "$subdir/$testcase scan-assembler"
- } else {
- fail "$subdir/$testcase scan-assembler"
- }
-}
-
-# Call pass if pattern is not present, otherwise fail.
-proc scan-assembler-not { testcase pattern } {
- global subdir
-
- set fd [open [file rootname $testcase].s r]
- set text [read $fd]
- close $fd
-
- if ![regexp -- $pattern $text] {
- pass "$subdir/$testcase scan-assembler-not"
- } else {
- fail "$subdir/$testcase scan-assembler-not"
- }
-}
-
-# If a testcase doesn't have special options, use these.
-global DEFAULT_CFLAGS
-if ![info exists DEFAULT_CFLAGS] then {
- set DEFAULT_CFLAGS " -ansi -pedantic-errors"
-}
-
-# Initialize `dg'.
-dg-init
-
-# Main loop.
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.c]] "" $DEFAULT_CFLAGS
-
-# All done.
-dg-finish
diff --git a/gcc/testsuite/gcc.dg/dll-1.c b/gcc/testsuite/gcc.dg/dll-1.c
deleted file mode 100644
index eb3b9b867f0..00000000000
--- a/gcc/testsuite/gcc.dg/dll-1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do compile { target arm*-*-pe* } } */
-/* { dg-do compile { target thumb*-*-pe* } } */
-/* { dg-options -mno-nop-fun-dllimport } */
-
-__declspec (dllimport) void imp ();
-
-__declspec (dllexport) void exp () { imp (); }
-
-/* { dg-final { scan-assembler dll-1.c "\.section\[ \t\]*.drectve\n\[^\n\]*-export:exp.*__imp_imp" } } */
-/* { dg-final { scan-assembler-not dll-1.c "__imp_exp" } } */
diff --git a/gcc/testsuite/gcc.dg/dll-2.c b/gcc/testsuite/gcc.dg/dll-2.c
deleted file mode 100644
index c55e9209359..00000000000
--- a/gcc/testsuite/gcc.dg/dll-2.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* These dllimport and dllexport appearing for a symbol.
- The desired behaviour is that if both dllimport
- and dllexport appear (in either order) the result is dllexport.
-
- Microsoft's MSVC 2.0 allows dllimport followed by dllexport for variables,
- but does not allow dllexport followed by dllimport.
-
- In C, it's ok to redeclare a variable so this works for variables
- and functions. In C++, it only works for functions. */
-
-/* { dg-do compile { target arm*-*-pe* } } */
-/* { dg-do compile { target thumb*-*-pe* } } */
-
-__declspec (dllimport) int foo1 ();
-__declspec (dllexport) int foo1 ();
-
-__declspec (dllexport) int foo2 ();
-__declspec (dllimport) int foo2 ();
-
-__declspec (dllimport) int bar1;
-__declspec (dllexport) int bar1;
-
-__declspec (dllexport) int bar2;
-__declspec (dllimport) int bar2;
diff --git a/gcc/testsuite/gcc.dg/dll-3.c b/gcc/testsuite/gcc.dg/dll-3.c
deleted file mode 100644
index 0f7818f1e5c..00000000000
--- a/gcc/testsuite/gcc.dg/dll-3.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Ensure dllexport overrides dllimport. */
-
-/* { dg-do compile { target arm*-*-pe* } } */
-/* { dg-do compile { target thumb*-*-pe* } } */
-
-__declspec (dllimport) int foo1 ();
-__declspec (dllexport) int foo1 ();
-
-__declspec (dllexport) int foo2 ();
-__declspec (dllimport) int foo2 ();
-
-__declspec (dllexport) int foo1 () { return foo2 (); }
-__declspec (dllexport) int foo2 () { return foo1 (); }
-
-/* { dg-final { scan-assembler dll-3.c "\.section\[ \t\]*\.drectve\n\[^\n\]*-export:foo1.*\.section\[ \t\]*\.drectve\n\[^\n\]*-export:foo2" } } */
-/* { dg-final { scan-assembler-not dll-3.c "(__imp_foo1|__imp_foo2)" } } */
diff --git a/gcc/testsuite/gcc.dg/dll-4.c b/gcc/testsuite/gcc.dg/dll-4.c
deleted file mode 100644
index b708790baa5..00000000000
--- a/gcc/testsuite/gcc.dg/dll-4.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/* { dg-do compile { target arm*-*-pe* } } */
-/* { dg-do compile { target thumb*-*-pe* } } */
-
-__declspec (dllimport) int foo1;
-int foo1;
-
-__declspec (dllimport) int foo2;
-int foo2 = 5;
-
-int f () { return foo1 + foo2; }
-
-/* FIXME: We should scan the output of nm for this case. */
-/* { dg-final { scan-assembler dll-4.c "(foo2:.*\.comm\[ \t_\]*foo1)" } } */
-/* { dg-final { scan-assembler-not dll-4.c "__imp_" } } */
diff --git a/gcc/testsuite/gcc.dg/ifelse-1.c b/gcc/testsuite/gcc.dg/ifelse-1.c
deleted file mode 100644
index 2dd2208b01f..00000000000
--- a/gcc/testsuite/gcc.dg/ifelse-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-{ dg-do compile }
-{ dg-options "-W -Wall" }
-*/
-
-
-extern int bar ();
-extern int com ();
-extern int baz ();
-void
-foo (a,b)
- int a, b;
-{
- if (a)
- if (b)
- bar ();
- else
- com (); /* { dg-bogus ".*warning.*" "bogus warning" } */
- else
- baz ();
-}
diff --git a/gcc/testsuite/gcc.dg/noreturn-1.c b/gcc/testsuite/gcc.dg/noreturn-1.c
deleted file mode 100644
index 3d68cbcf500..00000000000
--- a/gcc/testsuite/gcc.dg/noreturn-1.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Check for various valid and erroneous "noreturn" cases. */
-/* { dg-do compile } */
-/* { dg-options "-O -Wmissing-noreturn" } */
-
-extern void foo1(void) __attribute__ ((__noreturn__));
-void
-foo1(void)
-{
-} /* { dg-warning "`noreturn' function does return" "detect falling off end of noreturn" } */
-
-extern void foo2(void) __attribute__ ((__noreturn__));
-void
-foo2(void)
-{
- exit(0);
-} /* { dg-bogus "warning:" "this function should not get any warnings" } */
-
-extern void foo3(void);
-void
-foo3(void)
-{
-} /* { dg-bogus "warning:" "this function should not get any warnings" } */
-
-extern void foo4(void);
-void
-foo4(void)
-{
- exit(0);
-} /* { dg-warning "candidate for attribute `noreturn'" "detect noreturn candidate" } */
-
-extern void foo5(void) __attribute__ ((__noreturn__));
-void
-foo5(void)
-{
- return; /* { dg-warning "`noreturn' has a `return' statement" "detect invalid return" } */
-} /* { dg-warning "`noreturn' function does return" "detect return from noreturn" } */
-
-extern void foo6(void);
-void
-foo6(void)
-{
- return;
-} /* { dg-bogus "warning:" "this function should not get any warnings" } */
diff --git a/gcc/testsuite/gcc.dg/return-type-1.c b/gcc/testsuite/gcc.dg/return-type-1.c
deleted file mode 100644
index 4b245533ac9..00000000000
--- a/gcc/testsuite/gcc.dg/return-type-1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Missing warning for falling off the end of a non-void function.
- egcs-1.1.2 passes, egcs-ss-19990428 fails.
- http://egcs.cygnus.com/ml/egcs-bugs/1999-03/msg00220.html */
-/* { dg-do compile } */
-/* { dg-options "-O -Wreturn-type" } */
-int
-foo(void)
-{
-} /* { dg-warning "control reaches end of non-void function" "warning for falling off end of non-void function" } */
diff --git a/gcc/testsuite/gcc.dg/setjmp-1.c b/gcc/testsuite/gcc.dg/setjmp-1.c
deleted file mode 100644
index 85e0fb4261f..00000000000
--- a/gcc/testsuite/gcc.dg/setjmp-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Test for bogus "variable `x' may be clobbered by longjmp" warnings.
- Inspired by cse.c:simplify_relational_operation. */
-
-/* { dg-do compile } */
-/* { dg-options "-O -W -Wall" } */
-
-#include <setjmp.h>
-
-extern void set_float_handler (jmp_buf *);
-
-#define EQ 0x01
-#define LT 0x02
-#define GT 0x04
-
-int
-compare_float (double a, double b) /* { dg-bogus "clobbered" "spurious clobbered warning" { xfail *-*-* } } */
-{
- jmp_buf handler;
- int result;
-
- a += 1.0;
-
- if (setjmp (handler))
- {
- set_float_handler (0);
- return 0;
- }
-
- set_float_handler (&handler);
- if (a == b) result = EQ;
- else if (a > b) result = LT;
- else if (a < b) result = GT;
- else result = 0;
- set_float_handler (0);
- return result;
-}
diff --git a/gcc/testsuite/gcc.dg/special/alias-1.c b/gcc/testsuite/gcc.dg/special/alias-1.c
deleted file mode 100644
index 347e1745630..00000000000
--- a/gcc/testsuite/gcc.dg/special/alias-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do link } */
-
-extern int foo(void) __attribute__((alias("bar")));
-
-int bar(void) {
- return 1;
-}
-
-int main(void) {
-
- if (foo())
- exit(0);
- else
- abort();
-}
diff --git a/gcc/testsuite/gcc.dg/special/ecos.exp b/gcc/testsuite/gcc.dg/special/ecos.exp
deleted file mode 100644
index dc54df6eea1..00000000000
--- a/gcc/testsuite/gcc.dg/special/ecos.exp
+++ /dev/null
@@ -1,214 +0,0 @@
-# Copyright (C) 1999 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# jlarmour@cygnus.co.uk
-
-# This file was written by Jonathan Larmour (jlarmour@cygnus.co.uk).
-
-# GCC testsuite that uses the `dg.exp' driver.
-
-# Load support procs.
-load_lib gcc-dg.exp
-
-###################################
-# proc gcc_target_object_format { }
-###################################
-
-proc gcc_target_object_format { } {
- global gcc_target_object_format_saved
-
- if [info exists gcc_target_object_format_saved] {
- verbose "gcc_target_object_format returning saved $gcc_target_object_format_saved" 2
- return $gcc_target_object_format_saved
- } else {
-
- set objdump_name [find_binutils_prog objdump]
- set open_file [open objfmtst.c w]
- puts $open_file "void foo(void) { }"
- close $open_file
-
- gcc_target_compile objfmtst.c objfmtst.o object ""
-
- set output [exec $objdump_name --file-headers objfmtst.o ]
-
- file delete objfmtst.o
-
- if ![ regexp "file format (.*)arch" $output dummy objformat ] {
- verbose "Could not parse objdump output" 2
- set gcc_target_object_format_saved unknown
- } else {
- switch -regexp $objformat {
- elf {
- verbose "gcc_target_object_format returning elf" 2
- set gcc_target_object_format_saved elf
- }
- ecoff {
- verbose "gcc_target_object_format returning ecoff" 2
- set gcc_target_object_format_saved ecoff
- }
- coff {
- verbose "gcc_target_object_format returning coff" 2
- set gcc_target_object_format_saved coff
- }
- a\.out {
- verbose "gcc_target_object_format returning a.out" 2
- set gcc_target_object_format_saved a.out
- }
- default {
- verbose "gcc_target_object_format returning unknown" 2
- set gcc_target_object_format_saved unknown
- }
- }
- }
- return $gcc_target_object_format_saved
- }
-}
-
-###############################
-# proc check_weak_available { }
-###############################
-
-# weak symbols are only supported in some configs/object formats
-# this proc returns 1 if they're support, 0 if they're not, or -1 if unsure
-
-proc check_weak_available { } {
- global target_cpu
-
- # All mips targets should support it
-
- if { [ string first "mips" $target_cpu ] >= 0 } {
- return 1
- }
-
- # ELF and ECOFF support it. a.out does with gas/gld but may also with
- # other linkers, so we should try it
-
- set objformat [gcc_target_object_format]
-
- switch $objformat {
- elf { return 1 }
- ecoff { return 1 }
- a.out { return 1 }
- unknown { return -1 }
- default { return 0 }
- }
-}
-
-##########
-# weak-1.c
-##########
-
-if { [ check_weak_available ] == 1 } {
- dg-init
-
- set lines [gcc_target_compile "$srcdir/$subdir/weak-1a.c" "weak-1a.o" object ""]
- if ![string match "" $lines] then {
- fail "weak-1a.o"
- } else {
- dg-runtest "$srcdir/$subdir/weak-1.c" "weak-1a.o" ""
- file delete weak-1a.o
- }
- dg-finish
-} elseif { [ check_weak_available ] == 0 } {
- unsupported "weak-1.c"
-} else {
- unresolved "weak-1.c"
-}
-
-##########
-# weak-2.c
-##########
-
-if { [ check_weak_available ] == 1 } {
- dg-init
-
- set lines [gcc_target_compile "$srcdir/$subdir/weak-2a.c" "weak-2a.o" object ""]
- if ![string match "" $lines] then {
- fail "weak-2a.o"
- } else {
- set lines [gcc_target_compile "$srcdir/$subdir/weak-2b.c" "weak-2b.o" object ""]
- if ![string match "" $lines] then {
- fail "weak-2b.o"
- } else {
- dg-runtest "$srcdir/$subdir/weak-2.c" "weak-2a.o weak-2b.o" ""
- file delete weak-2a.o weak-2b.o
- }
- }
- dg-finish
-} elseif { [ check_weak_available ] == 0 } {
- unsupported "weak-2.c"
-} else {
- unresolved "weak-2.c"
-}
-
-###########
-# alias-1.c
-###########
-
-dg-init
-dg-runtest "$srcdir/$subdir/alias-1.c" "" ""
-dg-finish
-
-###########
-# wkali-1.c
-###########
-
-dg-init
-dg-runtest "$srcdir/$subdir/wkali-1.c" "" ""
-dg-finish
-
-###########
-# wkali-2.c
-###########
-
-if { [ check_weak_available ] == 1 } {
- dg-init
- set lines [gcc_target_compile "$srcdir/$subdir/wkali-2a.c" "wkali-2a.o" object ""]
- if ![string match "" $lines] then {
- fail "wkali-2a.o"
- } else {
- set lines [gcc_target_compile "$srcdir/$subdir/wkali-2b.c" "wkali-2b.o" object ""]
- if ![string match "" $lines] then {
- fail "wkali-2b.o"
- } else {
- dg-runtest "$srcdir/$subdir/wkali-2.c" "wkali-2a.o wkali-2b.o" ""
- file delete wkali-2a.o wkali-2b.o
- }
- }
- dg-finish
-} elseif { [ check_weak_available ] == 0 } {
- unsupported "wkali-2.c"
-} else {
- unresolved "wkali-2.c"
-}
-
-###########
-# gcsec-1.c
-###########
-
-set ld_output [ exec [ find_ld ] --help ]
-
-if { [ string first "--gc-sections" $ld_output ] >= 0 } {
-
- dg-init
- dg-runtest "$srcdir/$subdir/gcsec-1.c" "-ffunction-sections -fdata-sections -Wl,--gc-sections" ""
- dg-finish
-} else {
- unsupported "gcsec-1.c"
-}
-
-### EOF ecos.exp
diff --git a/gcc/testsuite/gcc.dg/special/gcsec-1.c b/gcc/testsuite/gcc.dg/special/gcsec-1.c
deleted file mode 100644
index fa3f884fcbf..00000000000
--- a/gcc/testsuite/gcc.dg/special/gcsec-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* { dg-do run } */
-
-static int unusedint=5;
-
-static int usedint=1;
-
-int unused(void) {
- return 1;
-}
-
-int foo(void) {
- return usedint;
-}
-
-int main(void) {
-
- if (foo())
- exit(0);
- else
- abort();
-}
diff --git a/gcc/testsuite/gcc.dg/special/weak-1.c b/gcc/testsuite/gcc.dg/special/weak-1.c
deleted file mode 100644
index ccf2b087a94..00000000000
--- a/gcc/testsuite/gcc.dg/special/weak-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do run } */
-
-int foo(void) __attribute__((weak));
-
-int foo(void) {
- return 0;
-}
-
-int main(void) {
-
- if (foo())
- exit(0);
- else
- abort();
-}
diff --git a/gcc/testsuite/gcc.dg/special/weak-1a.c b/gcc/testsuite/gcc.dg/special/weak-1a.c
deleted file mode 100644
index 2a7dbba3d89..00000000000
--- a/gcc/testsuite/gcc.dg/special/weak-1a.c
+++ /dev/null
@@ -1,3 +0,0 @@
-int foo(void) {
- return 1;
-}
diff --git a/gcc/testsuite/gcc.dg/special/weak-2.c b/gcc/testsuite/gcc.dg/special/weak-2.c
deleted file mode 100644
index 74259cf9bca..00000000000
--- a/gcc/testsuite/gcc.dg/special/weak-2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do run } */
-
-extern int foo(void);
-
-int main(void) {
-
- if (foo())
- exit(0);
- else
- abort();
-}
diff --git a/gcc/testsuite/gcc.dg/special/weak-2a.c b/gcc/testsuite/gcc.dg/special/weak-2a.c
deleted file mode 100644
index 52d3e08a2d7..00000000000
--- a/gcc/testsuite/gcc.dg/special/weak-2a.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int foo(void) __attribute__((weak));
-
-int foo(void) {
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/special/weak-2b.c b/gcc/testsuite/gcc.dg/special/weak-2b.c
deleted file mode 100644
index 2a7dbba3d89..00000000000
--- a/gcc/testsuite/gcc.dg/special/weak-2b.c
+++ /dev/null
@@ -1,3 +0,0 @@
-int foo(void) {
- return 1;
-}
diff --git a/gcc/testsuite/gcc.dg/special/wkali-1.c b/gcc/testsuite/gcc.dg/special/wkali-1.c
deleted file mode 100644
index d33c8d1d601..00000000000
--- a/gcc/testsuite/gcc.dg/special/wkali-1.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do link } */
-
-extern int foo(void) __attribute__((weak, alias("bar")));
-
-int bar(void) {
- return 1;
-}
-
-int main(void) {
-
- if (foo())
- exit(0);
- else
- abort();
-}
diff --git a/gcc/testsuite/gcc.dg/special/wkali-2.c b/gcc/testsuite/gcc.dg/special/wkali-2.c
deleted file mode 100644
index 74259cf9bca..00000000000
--- a/gcc/testsuite/gcc.dg/special/wkali-2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do run } */
-
-extern int foo(void);
-
-int main(void) {
-
- if (foo())
- exit(0);
- else
- abort();
-}
diff --git a/gcc/testsuite/gcc.dg/special/wkali-2a.c b/gcc/testsuite/gcc.dg/special/wkali-2a.c
deleted file mode 100644
index 79dde145540..00000000000
--- a/gcc/testsuite/gcc.dg/special/wkali-2a.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* { dg-do run } */
-
-extern int foo(void) __attribute__((weak, alias("bar_a")));
-
-int bar_a(void) {
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/special/wkali-2b.c b/gcc/testsuite/gcc.dg/special/wkali-2b.c
deleted file mode 100644
index 84f389e846d..00000000000
--- a/gcc/testsuite/gcc.dg/special/wkali-2b.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* { dg-do run } */
-
-extern int foo(void) __attribute__((alias("bar_b")));
-
-int bar_b(void) {
- return 1;
-}
diff --git a/gcc/testsuite/gcc.dg/splet-1.c b/gcc/testsuite/gcc.dg/splet-1.c
deleted file mode 100644
index 03dbb2e3a3c..00000000000
--- a/gcc/testsuite/gcc.dg/splet-1.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Test inl-sparc.h. */
-
-/* { dg-do run { target sparclet-*-* } } */
-/* { dg-options -mcpu=sparclet } */
-
-#include <inl-sparc.h>
-
-main ()
-{
- int a,b;
-
- a = scan (1, 2);
- if (a != 3)
- abort ();
-
- b = shuffle (4, 5);
- if (b != 6)
- abort ();
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.dg/struct-ret-1.c b/gcc/testsuite/gcc.dg/struct-ret-1.c
deleted file mode 100644
index f581aad07d2..00000000000
--- a/gcc/testsuite/gcc.dg/struct-ret-1.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* { dg-do run { target hppa*-*-* } } */
-/* { dg-options { -O2 } { target hppa*-*-* } } */
-typedef struct {
- int x;
- int y;
-} point_t;
-
-int main(int argc, char *argv[]);
-int printPoints(point_t a, point_t b);
-point_t toPoint(int x1, int y1);
-
-int
-main(int argc, char *argv[])
-{
-
- if (printPoints(toPoint(0, 0), toPoint(1000, 1000)) != 1)
- abort();
- else
- exit();
-
- return 0;
-}
-
-int
-printPoints(point_t a, point_t b)
-{
- if (a.x != 0
- || a.y != 0
- || b.x != 1000
- || b.y != 1000)
- return 0;
- else
- return 1;
-}
-
-point_t
-toPoint(int x1, int y1)
-{
- point_t p;
-
- p.x = x1;
- p.y = y1;
-
- return p;
-}
diff --git a/gcc/testsuite/gcc.dg/switch-1.c b/gcc/testsuite/gcc.dg/switch-1.c
deleted file mode 100644
index 457c5205388..00000000000
--- a/gcc/testsuite/gcc.dg/switch-1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* { dg-do compile { target rs6000-*-linux* powerpc-*-linux*} } */
-/* { dg-options "-fpic -O2" } */
-
-void f (char *s)
-{
- for (;;)
- {
- int t = 6;
- switch (t)
- {
- case 2:
- *s = '2';
- case 6: case 4: case 3: case 1:
- break;
- }
- }
-}
diff --git a/gcc/testsuite/gcc.dg/ultrasp1.c b/gcc/testsuite/gcc.dg/ultrasp1.c
deleted file mode 100644
index 853c72d35ab..00000000000
--- a/gcc/testsuite/gcc.dg/ultrasp1.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Simplified from testcase by David Staepelaere <staapa@ultimatech.com> */
-
-/* { dg-do compile { xfail sparc-*-* } } */
-/* { dg-options "" } */
-/* { dg-options -mcpu=ultrasparc { target sparc-*-*-* } } */
-
-int foo(long long y) {
- return -1 * y;
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-1.c b/gcc/testsuite/gcc.dg/uninit-1.c
deleted file mode 100644
index 91838810fda..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Spurious uninitialized variable warnings, case 1.
- Taken from cppfiles.c (merge_include_chains) */
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-struct list
-{
- struct list *next;
- int id;
-};
-
-extern void free (void *);
-
-void remove_dupes (struct list *el)
-{
- struct list *p, *q, *r; /* { dg-bogus "r" "uninitialized variable warning" { xfail *-*-* } } */
-
- for (p = el; p; p = p->next)
- {
- for (q = el; q != p; q = q->next)
- if (q->id == p->id)
- {
- r->next = p->next;
- free (p);
- p = r;
- break;
- }
- r = p;
- }
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-2.c b/gcc/testsuite/gcc.dg/uninit-2.c
deleted file mode 100644
index 5035a309ebd..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-2.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Spurious uninitialized variable warnings, case 2.
- Taken from cpphash.c (macroexpand) */
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-struct definition
-{
- int nargs;
- int rest_args;
-};
-
-struct cpp_reader;
-
-enum cpp_token
-{
- CPP_EOF, CPP_POP, CPP_COMMA, CPP_RPAREN
-};
-
-extern enum cpp_token macarg (struct cpp_reader *, int);
-
-void
-macroexpand (struct cpp_reader *pfile, struct definition *defn)
-{
- int nargs = defn->nargs;
-
- if (nargs >= 0)
- {
- enum cpp_token token; /* { dg-bogus "token" "uninitialized variable warning" { xfail *-*-* } } */
- int i, rest_args;
- i = 0;
- rest_args = 0;
- do
- {
- if (rest_args)
- continue;
- if (i < nargs || (nargs == 0 && i == 0))
- {
- /* if we are working on last arg which absorbs rest of args... */
- if (i == nargs - 1 && defn->rest_args)
- rest_args = 1;
- token = macarg (pfile, rest_args);
- }
- else
- token = macarg (pfile, 0);
- if (token == CPP_EOF || token == CPP_POP)
- return;
-
- i++;
- }
- while (token == CPP_COMMA);
- }
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-3.c b/gcc/testsuite/gcc.dg/uninit-3.c
deleted file mode 100644
index 78c4254dea5..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-3.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Spurious uninit variable warnings, case 3.
- Inspired by cppexp.c (parse_charconst) */
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-extern void error (char *);
-
-int
-parse_charconst (const char *start, const char *end)
-{
- int c; /* { dg-bogus "c" "uninitialized variable warning" { xfail *-*-* } } */
- int nchars, retval;
-
- nchars = 0;
- retval = 0;
- while (start < end)
- {
- c = *start++;
- if (c == '\'')
- break;
- nchars++;
- retval += c;
- retval <<= 8;
- }
-
- if (nchars == 0)
- return 0;
-
- if (c != '\'')
- error ("malformed character constant");
-
- return retval;
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-4.c b/gcc/testsuite/gcc.dg/uninit-4.c
deleted file mode 100644
index 34973532c57..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-4.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Spurious uninit variable warnings, case 4.
- Simplified version of cppexp.c (cpp_parse_expr).
-
- This one is really fragile, it gets it right if you take out case
- 1, or if the structure is replaced by an int, or if the structure
- has fewer members (!) */
-
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-struct operation {
- short op;
- char rprio;
- char flags;
- char unsignedp;
- long value;
-};
-
-extern struct operation cpp_lex (void);
-
-void
-cpp_parse_expr (void)
-{
- int rprio; /* { dg-bogus "rprio" "uninitialized variable warning" { xfail *-*-* } } */
- struct operation op;
-
- for (;;)
- {
- op = cpp_lex ();
-
- switch (op.op)
- {
- case 0:
- break;
- case 1:
- return;
- case 2:
- rprio = 1;
- break;
- default:
- return;
- }
-
- if (op.op == 0)
- return;
-
- if (rprio != 1)
- abort();
- }
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-5.c b/gcc/testsuite/gcc.dg/uninit-5.c
deleted file mode 100644
index ac760d69e03..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-5.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Spurious uninitialized-variable warnings.
- These cases are documented as not working in the gcc manual. */
-
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-extern void use(int);
-extern void foo(void);
-
-void
-func1(int cond)
-{
- int x; /* { dg-bogus "x" "uninitialized variable warning" { xfail *-*-* } } */
-
- if(cond)
- x = 1;
-
- foo();
-
- if(cond)
- use(x);
-}
-
-void
-func2 (int cond)
-{
- int x; /* { dg-bogus "x" "uninitialized variable warning" { xfail *-*-* } } */
- int flag = 0;
-
- if(cond)
- {
- x = 1;
- flag = 1;
- }
-
- foo();
-
- if(flag)
- use(x);
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-6.c b/gcc/testsuite/gcc.dg/uninit-6.c
deleted file mode 100644
index 2c428df79b6..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-6.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Spurious uninitialized variable warnings.
- This one inspired by java/class.c:build_utf8_ref. */
-
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-#include <stddef.h>
-
-struct tree
-{
- struct tree *car;
- struct tree *cdr;
- int type, data;
-};
-
-extern void *malloc(size_t);
-
-#define INTEGER_T 1
-#define PTR_T 2
-
-#define APPEND(TREE, LAST, TYPE, VALUE) \
-do { \
- struct tree *tmp = malloc (sizeof (struct tree)); \
- tmp->car = 0; tmp->cdr = 0; tmp->type = TYPE; \
- tmp->data = VALUE; \
- if (TREE->car) \
- LAST->cdr = tmp; \
- else \
- TREE->car = tmp; \
- LAST = tmp; \
-} while(0)
-
-struct tree *
-make_something(int a, int b, int c)
-{
- struct tree *rv;
- struct tree *field; /* { dg-bogus "field" "uninitialized variable warning" { xfail *-*-* } } */
-
- rv = malloc (sizeof (struct tree));
- rv->car = 0;
-
- APPEND(rv, field, INTEGER_T, a);
- APPEND(rv, field, PTR_T, b);
- APPEND(rv, field, INTEGER_T, c);
-
- return rv;
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-8.c b/gcc/testsuite/gcc.dg/uninit-8.c
deleted file mode 100644
index 94117da37c9..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-8.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Uninitialized variable warning tests...
- Inspired by part of optabs.c:expand_binop.
- May be the same as uninit-1.c. */
-
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-#include <limits.h>
-
-void
-add_bignums (int *out, int *x, int *y)
-{
- int p, sum;
- int carry; /* { dg-bogus "carry" "uninitialized variable warning" { xfail *-*-* } } */
-
- p = 0;
- for (; *x; x++, y++, out++, p++)
- {
- if (p)
- sum = *x + *y + carry;
- else
- sum = *x + *y;
-
- if (sum < 0)
- {
- carry = 1;
- sum -= INT_MAX;
- }
- else
- carry = 0;
- }
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-9.c b/gcc/testsuite/gcc.dg/uninit-9.c
deleted file mode 100644
index 62681f9e0fd..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-9.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Spurious uninitialized variable warnings. Slight variant on the
- documented case, inspired by reg-stack.c:record_asm_reg_life. */
-
-/* { dg-do compile } */
-/* { dg-options "-O -Wuninitialized" } */
-
-struct foo
-{
- int type;
- struct foo *car;
- struct foo *cdr;
- char *data;
- int data2;
-};
-
-extern void use(struct foo *);
-
-#define CLOBBER 6
-#define PARALLEL 3
-
-void
-func(struct foo *list, int count)
-{
- int n_clobbers = 0;
- int i;
- struct foo **clob_list; /* { dg-bogus "clob_list" "uninitialized variable warning" { xfail *-*-* } } */
-
- if(list[0].type == PARALLEL)
- {
- clob_list = __builtin_alloca(count * sizeof(struct foo *));
-
- for(i = 1; i < count; i++)
- {
- if(list[i].type == CLOBBER)
- clob_list[n_clobbers++] = &list[i];
- }
- }
-
- for(i = 0; i < n_clobbers; i++)
- use(clob_list[i]);
-}
diff --git a/gcc/testsuite/gcc.dg/uninit-A.c b/gcc/testsuite/gcc.dg/uninit-A.c
deleted file mode 100644
index 119ed6902aa..00000000000
--- a/gcc/testsuite/gcc.dg/uninit-A.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Inspired by part of java/parse.y.
- May be a real bug in CSE. */
-
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wall" } */
-
-struct tree
-{
- struct tree *car, *cdr, *wfl;
- int code;
- struct { int renp:1; int rtnp:1; int rpnp:1; } flags;
-};
-typedef struct tree *tree;
-#define NULL_TREE ((tree)0)
-
-/* Codes */
-enum
-{
- CALL_EXPR, NEW_ARRAY_EXPR, NEW_CLASS_EXPR, CONVERT_EXPR,
- ARRAY_REF, CONDITIONAL_EXPR, STRING_CST, EXPR_WITH_FILE_LOCATION
-};
-
-/* Flags */
-#define RESOLVE_EXPRESSION_NAME_P(t) ((t)->flags.renp)
-#define RESOLVE_TYPE_NAME_P(t) ((t)->flags.rtnp)
-#define RESOLVE_PACKAGE_NAME_P(t) ((t)->flags.rpnp)
-
-/* Macros */
-#define EXPR_WFL_QUALIFICATION(t) ((t)->wfl)
-#define QUAL_WFL(t) ((t)->wfl)
-#define EXPR_WFL_NODE(t) ((t)->wfl)
-#define TREE_CODE(t) ((t)->code)
-#define TREE_OPERAND(t,x) ((t)->car)
-#define CLASSTYPE_SUPER(t) ((t)->car)
-#define IDENTIFIER_LOCAL_VALUE(t) ((t)->car)
-#define TREE_CHAIN(t) ((t)->cdr)
-#define QUAL_RESOLUTION(t) ((t)->cdr)
-
-extern tree current_class, this_identifier_node;
-extern tree super_identifier_node, length_identifier_node;
-
-tree resolve_and_layout (tree, tree);
-tree lookup_field_wrapper (tree, tree);
-
-void
-qualify_ambiguous_name (id)
- tree id;
-{
- tree qual, qual_wfl, decl;
- tree name; /* { dg-bogus "name" "uninitialized variable warning" { xfail *-*-* } } */
- tree ptr_type; /* { dg-bogus "ptr_type" "uninitialized variable warning" { xfail *-*-* } } */
- int again, new_array_found = 0;
- int super_found = 0, this_found = 0;
-
- qual = EXPR_WFL_QUALIFICATION (id);
- do {
- qual_wfl = QUAL_WFL (qual);
- switch (TREE_CODE (qual_wfl))
- {
- case CALL_EXPR:
- qual_wfl = TREE_OPERAND (qual_wfl, 0);
- if (TREE_CODE (qual_wfl) != EXPR_WITH_FILE_LOCATION)
- {
- qual = EXPR_WFL_QUALIFICATION (qual_wfl);
- qual_wfl = QUAL_WFL (qual);
- }
- break;
- case NEW_ARRAY_EXPR:
- qual = TREE_CHAIN (qual);
- new_array_found = again = 1;
- continue;
- case NEW_CLASS_EXPR:
- case CONVERT_EXPR:
- qual_wfl = TREE_OPERAND (qual_wfl, 0);
- break;
- case ARRAY_REF:
- while (TREE_CODE (qual_wfl) == ARRAY_REF)
- qual_wfl = TREE_OPERAND (qual_wfl, 0);
- break;
- default:
- break;
- }
-
- name = EXPR_WFL_NODE (qual_wfl);
- ptr_type = current_class;
- again = 0;
-
- } while (again);
-
- /* If you put straightforward uses of name and ptr_type here
- instead of the if-else sequence below, the warnings go away.
- Therefore I suspect a real bug. */
-
- if (!this_found && !super_found && (decl = IDENTIFIER_LOCAL_VALUE (name)))
- {
- RESOLVE_EXPRESSION_NAME_P (qual_wfl) = 1;
- QUAL_RESOLUTION (qual) = decl;
- }
- else if ((decl = lookup_field_wrapper (ptr_type, name))
- || (new_array_found && name == length_identifier_node))
- {
- RESOLVE_EXPRESSION_NAME_P (qual_wfl) = 1;
- QUAL_RESOLUTION (qual) = (new_array_found ? NULL_TREE : decl);
- }
- else if ((decl = resolve_and_layout (name, NULL_TREE)))
- {
- RESOLVE_TYPE_NAME_P (qual_wfl) = 1;
- QUAL_RESOLUTION (qual) = decl;
- }
- else if (TREE_CODE (QUAL_WFL (qual)) == CALL_EXPR
- || TREE_CODE (QUAL_WFL (qual)) == ARRAY_REF)
- RESOLVE_EXPRESSION_NAME_P (qual_wfl) = 1;
- else
- RESOLVE_PACKAGE_NAME_P (qual_wfl) = 1;
-}
diff --git a/gcc/testsuite/gcc.dg/unused-1.c b/gcc/testsuite/gcc.dg/unused-1.c
deleted file mode 100644
index be941860e49..00000000000
--- a/gcc/testsuite/gcc.dg/unused-1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Missing `unused parameter' warning.
- egcs-1.1.2 fails, egcs-ss-19990418 passes.
- http://www.cygnus.com/ml/egcs-bugs/1998-Sep/0199.html */
-/* { dg-do compile } */
-/* { dg-options "-O -Wall -W" } */
-int
-f(c)
- char c; /* { dg-warning "unused parameter" "unused parameter warning" } */
-{
- return 0;
-}
diff --git a/gcc/testsuite/gcc.failure/940409-1.c b/gcc/testsuite/gcc.failure/940409-1.c
deleted file mode 100644
index 3d5b58864e8..00000000000
--- a/gcc/testsuite/gcc.failure/940409-1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-struct S { volatile int field; };
-int f (register struct S arg);
-int g (register struct S);
diff --git a/gcc/testsuite/gcc.failure/940409-1.x b/gcc/testsuite/gcc.failure/940409-1.x
deleted file mode 100644
index aac01277616..00000000000
--- a/gcc/testsuite/gcc.failure/940409-1.x
+++ /dev/null
@@ -1,6 +0,0 @@
-# gcc doesn't handle compile/940409-1.cexp properly, but it's an obscure bug
-# so rather than constantly seeing it fail, just record it as expected to
-# fail.
-
-set torture_compile_xfail "*-*-*"
-return 0 ;# `0' says we didn't handle the testcase ourselves so continue
diff --git a/gcc/testsuite/gcc.failure/failure.exp b/gcc/testsuite/gcc.failure/failure.exp
deleted file mode 100644
index bfd9f3487ea..00000000000
--- a/gcc/testsuite/gcc.failure/failure.exp
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Expect driver script for GCC Regression Tests
-# Copyright (C) 1993, 1997 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Written by Jeffrey Wheat (cassidy@cygnus.com)
-#
-
-#
-# These tests come from Torbjorn Granlund's (tege@cygnus.com)
-# C torture test suite, and other contributors.
-#
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib c-torture.exp
-
-#
-# This loop will run c-torture on any *.c file found in this directory.
-# If a *.c has a corresponding *.exp file, then the test is skipped as
-# as the *.exp will drive the test itself. I did things this way so that
-# generic tests did not need a seperate .exp for it. Only the tests that
-# required unique options would need it's own .exp file.
-#
-
-#
-# The main logic is in ../lib/c-torture.exp. This was done to eliminate
-# redundant code that otherwise lived in each of these driver files.
-#
-foreach testcase [glob -nocomplain $srcdir/$subdir/*.c] {
-
- # let c-torture.exp figure out the path. this lets users add new
- # special tests without having to remeber to use $srcdir/$subdir
-
- if [file exists [file rootname $testcase].exp] then {
- verbose "INFO:\"[file rootname $testcase].exp\"exists, skipping test" 1
- continue
- } else {
- c-torture [file tail $testcase]
- }
-}
-
diff --git a/gcc/testsuite/gcc.misc-tests/Makefile.in b/gcc/testsuite/gcc.misc-tests/Makefile.in
deleted file mode 100644
index e6209dbc6c2..00000000000
--- a/gcc/testsuite/gcc.misc-tests/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#### host, target, and site specific Makefile frags come in here.
-
-srcdir = .
-
-# Nothing to do...
-all:
-
-clean:
- -rm -f *.o *.diff *~ *.bad core *.x
-
-distclean: clean
- -rm -f Makefile config.status
diff --git a/gcc/testsuite/gcc.misc-tests/acker1.c b/gcc/testsuite/gcc.misc-tests/acker1.c
deleted file mode 100644
index 9e77e42bedd..00000000000
--- a/gcc/testsuite/gcc.misc-tests/acker1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-int acker(int, int);
-
-void main()
-{
- acker(3,6);
- /* */
- exit(0);
- /* */
-}
-
-int
-acker(int x,int y)
-{
- if (x==0)
- return(y+1);
- else if (y==0)
- return(acker(x-1,1));
- else
- return(acker(x-1, acker(x, y-1)));
-}
diff --git a/gcc/testsuite/gcc.misc-tests/acker1.exp b/gcc/testsuite/gcc.misc-tests/acker1.exp
deleted file mode 100644
index 3462d66bbc4..00000000000
--- a/gcc/testsuite/gcc.misc-tests/acker1.exp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-global PERF_TEST
-if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } {
- return
-}
-
-load_lib mike-gcc.exp
-
-prebase
-set actions run
-set compiler_output "^$"
-set program_output "^$"
-postbase acker1.c $run $groups
diff --git a/gcc/testsuite/gcc.misc-tests/configure.in b/gcc/testsuite/gcc.misc-tests/configure.in
deleted file mode 100644
index e4cc69d249e..00000000000
--- a/gcc/testsuite/gcc.misc-tests/configure.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script appropriate for this directory. For more information, check
-# any existing configure script.
-
-srctrigger=compile.exp
-srcname="DejaGnu"
-
-# per-host:
-
-# per-target:
-
-target_makefile_frag=../config/mt-${target_alias}
-
-# post-target:
diff --git a/gcc/testsuite/gcc.misc-tests/dg-1.c b/gcc/testsuite/gcc.misc-tests/dg-1.c
deleted file mode 100644
index 319f8a20a7b..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-1.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do compile } */
-
-main () { return 0; }
-
-/* { dg-final { if ![file exists dg-1.s] { fail "dg-1.c (compile)"; return; } } } */
-
-/* { dg-final { set tmp [grep dg-1.s main line] } } */
-/* { dg-final { if ![string match "" $tmp] \{ } } */
-/* { dg-final { pass "dg-1.c (main function present)" } } */
-/* { dg-final { \} else \{ } } */
-/* { dg-final { fail "dg-1.c (main function not present)" } } */
-/* { dg-final { \} } } */
diff --git a/gcc/testsuite/gcc.misc-tests/dg-10.c b/gcc/testsuite/gcc.misc-tests/dg-10.c
deleted file mode 100644
index 6d7b3441623..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-10.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-options "-Wall" } */
-
-/* FIXME: we want to test dg-lose here. Anyone know of a good way to
- crash the compiler? */
-
-int
-main (int argc, char *argv[])
-{
- return 0;
-}
diff --git a/gcc/testsuite/gcc.misc-tests/dg-11.c b/gcc/testsuite/gcc.misc-tests/dg-11.c
deleted file mode 100644
index e4f86ba2b12..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-11.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do run { target sparc-sun-solaris2* } } */
-/* The \n is left out of the pattern because tcl's exec will remove it. */
-/* { dg-output {^Hello world[.]$} } */
-
-#include <stdio.h>
-
-main () { printf ("Hello world.\n"); return 0; }
diff --git a/gcc/testsuite/gcc.misc-tests/dg-12.c b/gcc/testsuite/gcc.misc-tests/dg-12.c
deleted file mode 100644
index ad0870d88cc..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-12.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do run { target foo-bar-eh } } */
-/* The \n is left out of the pattern because tcl's exec will remove it. */
-/* { dg-output {^Hello world[.]$} } */
-
-#include <stdio.h>
-
-main () { printf ("Hello world.\n"); return 0; }
diff --git a/gcc/testsuite/gcc.misc-tests/dg-2.c b/gcc/testsuite/gcc.misc-tests/dg-2.c
deleted file mode 100644
index bb40387e632..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do assemble } */
-
-main () { return 0; }
-
-/* { dg-final { if [file exists dg-2.o] \{ } } */
-/* { dg-final { pass "dg-2.c (assemble: produce .o test)" } } */
-/* { dg-final { \} else \{ } } */
-/* { dg-final { fail "dg-2.c (assemble: produce .o test)" } } */
-/* { dg-final { \} } } */
diff --git a/gcc/testsuite/gcc.misc-tests/dg-3.c b/gcc/testsuite/gcc.misc-tests/dg-3.c
deleted file mode 100644
index 017ab279f8e..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-3.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do link } */
-
-main () { return 0; }
-
-/* { dg-final { if [file exists a.out] \{ } } */
-/* { dg-final { pass "dg-2.c (link: produce a.out test)" } } */
-/* { dg-final { \} else \{ } } */
-/* { dg-final { fail "dg-2.c (link: produce a.out test)" } } */
-/* { dg-final { \} } } */
diff --git a/gcc/testsuite/gcc.misc-tests/dg-4.c b/gcc/testsuite/gcc.misc-tests/dg-4.c
deleted file mode 100644
index 806bdfbf91a..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-4.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do run } */
-
-main () { return 0; }
diff --git a/gcc/testsuite/gcc.misc-tests/dg-5.c b/gcc/testsuite/gcc.misc-tests/dg-5.c
deleted file mode 100644
index 33a5b4e893b..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-5.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do run } */
-/* The \n is left out of the pattern because tcl's exec will remove it. */
-/* { dg-output {^Hello world[.]$} } */
-
-#include <stdio.h>
-
-main () { printf ("Hello world.\n"); return 0; }
diff --git a/gcc/testsuite/gcc.misc-tests/dg-6.c b/gcc/testsuite/gcc.misc-tests/dg-6.c
deleted file mode 100644
index f9273f873ee..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-6.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do run { target *-*-* } } */
-/* The \n is left out of the pattern because tcl's exec will remove it. */
-/* { dg-output {^Hello world[.]$} { xfail *-*-* } } */
-
-#include <stdio.h>
-
-main () { printf ("Hello world (oops).\n"); return 0; }
diff --git a/gcc/testsuite/gcc.misc-tests/dg-7.c b/gcc/testsuite/gcc.misc-tests/dg-7.c
deleted file mode 100644
index 068749f71b2..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-7.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-do run { xfail *-*-* } } */
-
-main () { abort (); return 0; }
diff --git a/gcc/testsuite/gcc.misc-tests/dg-8.c b/gcc/testsuite/gcc.misc-tests/dg-8.c
deleted file mode 100644
index 63a5b0e73fa..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-8.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-options "-Wall" } */
-/* { dg-do run } */
-/* { dg-excess-errors "excess errors" } */
-
-/* should get warning about defaulting return type - excess error */
-
-main () { return 0; }
diff --git a/gcc/testsuite/gcc.misc-tests/dg-9.c b/gcc/testsuite/gcc.misc-tests/dg-9.c
deleted file mode 100644
index 43b7ab34b0d..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-9.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Test the tester. */
-/* { dg-prms-id 42 } */
-/* { dg-options "-Wall" } */
-
-f ()
-{ /* { dg-warning "return-type" "warning test" } */
-} /* { dg-warning "control reaches end" "warning test" } */
-
-main (int argc, char *argv[])
-{ /* { dg-warning "return-type" "warning test" } */
- foo a; /* { dg-error "syntax" "error test" } */
- /* { dg-bogus "foobar" "bogus fail test" } */
-
- return a; /* { dg-bogus "undeclared|identifier|appears" "bogus pass test" { xfail *-*-* } } */
-} /* { dg-warning "control reaches end" "warning test" } */
diff --git a/gcc/testsuite/gcc.misc-tests/dg-test.exp b/gcc/testsuite/gcc.misc-tests/dg-test.exp
deleted file mode 100644
index 42364252b63..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dg-test.exp
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# Test the dg.exp driver.
-# This is a testsuite tester tester. As such we *want* to test things like
-# expected failure handling. But expected failures must continually be
-# monitored and so in the normal case we create unnecessary work. So only
-# run these tests if DG_TEST is defined to "yes".
-
-global DG_TEST
-if { ![info exists DG_TEST] || "$DG_TEST" != "yes" } {
- return
-}
-
-# Load support procs.
-load_lib gcc-dg.exp
-
-# Initialize harness.
-dg-init
-
-# Main loop.
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/dg-*.c]] "" ""
-
-# All done.
-dg-finish
diff --git a/gcc/testsuite/gcc.misc-tests/dhry.c b/gcc/testsuite/gcc.misc-tests/dhry.c
deleted file mode 100644
index ae29a693654..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dhry.c
+++ /dev/null
@@ -1,602 +0,0 @@
-/*
- ****************************************************************************
- *
- * "DHRYSTONE" Benchmark Program
- * -----------------------------
- *
- * Version: C, Version 2.1
- *
- * File: dhry_1.c (part 2 of 3)
- *
- * Date: May 25, 1988
- *
- * Author: Reinhold P. Weicker
- *
- ****************************************************************************
- */
-
-#include "dhry.h"
-
-/* Global Variables: */
-
-Rec_Pointer Ptr_Glob,
- Next_Ptr_Glob;
-int Int_Glob;
-Boolean Bool_Glob;
-char Ch_1_Glob,
- Ch_2_Glob;
-int Arr_1_Glob [50];
-int Arr_2_Glob [50] [50];
-
-extern char *malloc ();
-Enumeration Func_1 ();
- /* forward declaration necessary since Enumeration may not simply be int */
-
-#ifndef REG
- Boolean Reg = false;
-#define REG
- /* REG becomes defined as empty */
- /* i.e. no register variables */
-#else
- Boolean Reg = true;
-#endif
-
-/* variables for time measurement: */
-
-/*
-#ifdef TIMES
-struct tms time_info;
-extern int times ();
-#endif
-*/
-/*
-#ifdef TIME
-extern long time();
-#endif
-*/
-#define Too_Small_Time 2
- /* Measurements should last at least 2 seconds */
-
-long Begin_Time,
- End_Time,
- User_Time;
-float Microseconds,
- Dhrystones_Per_Second;
-
-/* end of variables for time measurement */
-
-
-main ()
-/*****/
-
- /* main program, corresponds to procedures */
- /* Main and Proc_0 in the Ada version */
-{
- One_Fifty Int_1_Loc;
- REG One_Fifty Int_2_Loc;
- One_Fifty Int_3_Loc;
- REG char Ch_Index;
- Enumeration Enum_Loc;
- Str_30 Str_1_Loc;
- Str_30 Str_2_Loc;
- REG int Run_Index;
- REG int Number_Of_Runs;
-
- /* Initializations */
-
- Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
- Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
-
- Ptr_Glob->Ptr_Comp = Next_Ptr_Glob;
- Ptr_Glob->Discr = Ident_1;
- Ptr_Glob->variant.var_1.Enum_Comp = Ident_3;
- Ptr_Glob->variant.var_1.Int_Comp = 40;
- strcpy (Ptr_Glob->variant.var_1.Str_Comp,
- "DHRYSTONE PROGRAM, SOME STRING");
- strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING");
-
- Arr_2_Glob [8][7] = 10;
- /* Was missing in published program. Without this statement, */
- /* Arr_2_Glob [8][7] would have an undefined value. */
- /* Warning: With 16-Bit processors and Number_Of_Runs > 32000, */
- /* overflow may occur for this array element. */
-
-/*
- printf ("\n");
- printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n");
- printf ("\n");
-*/
- if (Reg)
- {
-/*
- printf ("Program compiled with 'register' attribute\n");
- printf ("\n");
-*/
- }
- else
- {
-/*
- printf ("Program compiled without 'register' attribute\n");
- printf ("\n");
-*/
- }
-/*
- printf ("Please give the number of runs through the benchmark: ");
-*/
- {
- int n;
-/*
- scanf ("%d", &n);
-*/
- Number_Of_Runs = n=1000;
- }
-/*
- printf ("\n");
-
- printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs);
-*/
-
- /***************/
- /* Start timer */
- /***************/
-
-/*
-#ifdef TIMES
- times (&time_info);
- Begin_Time = (long) time_info.tms_utime;
-#endif
-#ifdef TIME
- Begin_Time = time ( (long *) 0);
-#endif
-*/
-
- for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index)
- {
-
- Proc_5();
- Proc_4();
- /* Ch_1_Glob == 'A', Ch_2_Glob == 'B', Bool_Glob == true */
- Int_1_Loc = 2;
- Int_2_Loc = 3;
- strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING");
- Enum_Loc = Ident_2;
- Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc);
- /* Bool_Glob == 1 */
- while (Int_1_Loc < Int_2_Loc) /* loop body executed once */
- {
- Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc;
- /* Int_3_Loc == 7 */
- Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc);
- /* Int_3_Loc == 7 */
- Int_1_Loc += 1;
- } /* while */
- /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
- Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc);
- /* Int_Glob == 5 */
- Proc_1 (Ptr_Glob);
- for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index)
- /* loop body executed twice */
- {
- if (Enum_Loc == Func_1 (Ch_Index, 'C'))
- /* then, not executed */
- {
- Proc_6 (Ident_1, &Enum_Loc);
- strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING");
- Int_2_Loc = Run_Index;
- Int_Glob = Run_Index;
- }
- }
- /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
- Int_2_Loc = Int_2_Loc * Int_1_Loc;
- Int_1_Loc = Int_2_Loc / Int_3_Loc;
- Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc;
- /* Int_1_Loc == 1, Int_2_Loc == 13, Int_3_Loc == 7 */
- Proc_2 (&Int_1_Loc);
- /* Int_1_Loc == 5 */
-
- } /* loop "for Run_Index" */
-
- /**************/
- /* Stop timer */
- /**************/
-
-/*
-#ifdef TIMES
- times (&time_info);
- End_Time = (long) time_info.tms_utime;
-#endif
-#ifdef TIME
- End_Time = time ( (long *) 0);
-#endif
-*/
-
-/*
- printf ("Execution ends\n");
- printf ("\n");
- printf ("Final values of the variables used in the benchmark:\n");
- printf ("\n");
- printf ("Int_Glob: %d\n", Int_Glob);
- printf (" should be: %d\n", 5);
- printf ("Bool_Glob: %d\n", Bool_Glob);
- printf (" should be: %d\n", 1);
- printf ("Ch_1_Glob: %c\n", Ch_1_Glob);
- printf (" should be: %c\n", 'A');
- printf ("Ch_2_Glob: %c\n", Ch_2_Glob);
- printf (" should be: %c\n", 'B');
- printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]);
- printf (" should be: %d\n", 7);
- printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]);
- printf (" should be: Number_Of_Runs + 10\n");
- printf ("Ptr_Glob->\n");
- printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp);
- printf (" should be: (implementation-dependent)\n");
- printf (" Discr: %d\n", Ptr_Glob->Discr);
- printf (" should be: %d\n", 0);
- printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp);
- printf (" should be: %d\n", 2);
- printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp);
- printf (" should be: %d\n", 17);
- printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp);
- printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n");
- printf ("Next_Ptr_Glob->\n");
- printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp);
- printf (" should be: (implementation-dependent), same as above\n");
- printf (" Discr: %d\n", Next_Ptr_Glob->Discr);
- printf (" should be: %d\n", 0);
- printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp);
- printf (" should be: %d\n", 1);
- printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp);
- printf (" should be: %d\n", 18);
- printf (" Str_Comp: %s\n",
- Next_Ptr_Glob->variant.var_1.Str_Comp);
- printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n");
- printf ("Int_1_Loc: %d\n", Int_1_Loc);
- printf (" should be: %d\n", 5);
- printf ("Int_2_Loc: %d\n", Int_2_Loc);
- printf (" should be: %d\n", 13);
- printf ("Int_3_Loc: %d\n", Int_3_Loc);
- printf (" should be: %d\n", 7);
- printf ("Enum_Loc: %d\n", Enum_Loc);
- printf (" should be: %d\n", 1);
- printf ("Str_1_Loc: %s\n", Str_1_Loc);
- printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n");
- printf ("Str_2_Loc: %s\n", Str_2_Loc);
- printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n");
- printf ("\n");
-*/
-
- User_Time = End_Time - Begin_Time;
-
- if (User_Time < Too_Small_Time)
- {
-/*
- printf ("Measured time too small to obtain meaningful results\n");
- printf ("Please increase number of runs\n");
- printf ("\n");
-*/
- }
- else
- {
-#ifdef TIME
-/*
- Microseconds = (float) User_Time * Mic_secs_Per_Second
- / (float) Number_Of_Runs;
- Dhrystones_Per_Second = (float) Number_Of_Runs / (float) User_Time;
-*/
-#else
-/*
- Microseconds = (float) User_Time * Mic_secs_Per_Second
- / ((float) HZ * ((float) Number_Of_Runs));
- Dhrystones_Per_Second = ((float) HZ * (float) Number_Of_Runs)
- / (float) User_Time;
-*/
-#endif
-/*
- printf ("Microseconds for one run through Dhrystone: ");
- printf ("%6.1f \n", Microseconds);
- printf ("Dhrystones per Second: ");
- printf ("%6.1f \n", Dhrystones_Per_Second);
- printf ("\n");
-*/
- }
-
- exit (0);
-}
-
-
-Proc_1 (Ptr_Val_Par)
-/******************/
-
-REG Rec_Pointer Ptr_Val_Par;
- /* executed once */
-{
- REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;
- /* == Ptr_Glob_Next */
- /* Local variable, initialized with Ptr_Val_Par->Ptr_Comp, */
- /* corresponds to "rename" in Ada, "with" in Pascal */
-
- structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob);
- Ptr_Val_Par->variant.var_1.Int_Comp = 5;
- Next_Record->variant.var_1.Int_Comp
- = Ptr_Val_Par->variant.var_1.Int_Comp;
- Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp;
- Proc_3 (&Next_Record->Ptr_Comp);
- /* Ptr_Val_Par->Ptr_Comp->Ptr_Comp
- == Ptr_Glob->Ptr_Comp */
- if (Next_Record->Discr == Ident_1)
- /* then, executed */
- {
- Next_Record->variant.var_1.Int_Comp = 6;
- Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp,
- &Next_Record->variant.var_1.Enum_Comp);
- Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp;
- Proc_7 (Next_Record->variant.var_1.Int_Comp, 10,
- &Next_Record->variant.var_1.Int_Comp);
- }
- else /* not executed */
- structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp);
-} /* Proc_1 */
-
-
-Proc_2 (Int_Par_Ref)
-/******************/
- /* executed once */
- /* *Int_Par_Ref == 1, becomes 4 */
-
-One_Fifty *Int_Par_Ref;
-{
- One_Fifty Int_Loc;
- Enumeration Enum_Loc;
-
- Int_Loc = *Int_Par_Ref + 10;
- do /* executed once */
- if (Ch_1_Glob == 'A')
- /* then, executed */
- {
- Int_Loc -= 1;
- *Int_Par_Ref = Int_Loc - Int_Glob;
- Enum_Loc = Ident_1;
- } /* if */
- while (Enum_Loc != Ident_1); /* true */
-} /* Proc_2 */
-
-
-Proc_3 (Ptr_Ref_Par)
-/******************/
- /* executed once */
- /* Ptr_Ref_Par becomes Ptr_Glob */
-
-Rec_Pointer *Ptr_Ref_Par;
-
-{
- if (Ptr_Glob != Null)
- /* then, executed */
- *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp;
- Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp);
-} /* Proc_3 */
-
-
-Proc_4 () /* without parameters */
-/*******/
- /* executed once */
-{
- Boolean Bool_Loc;
-
- Bool_Loc = Ch_1_Glob == 'A';
- Bool_Glob = Bool_Loc | Bool_Glob;
- Ch_2_Glob = 'B';
-} /* Proc_4 */
-
-
-Proc_5 () /* without parameters */
-/*******/
- /* executed once */
-{
- Ch_1_Glob = 'A';
- Bool_Glob = false;
-} /* Proc_5 */
-
-
- /* Procedure for the assignment of structures, */
- /* if the C compiler doesn't support this feature */
-#ifdef NOSTRUCTASSIGN
-memcpy (d, s, l)
-register char *d;
-register char *s;
-register int l;
-{
- while (l--) *d++ = *s++;
-}
-#endif
-
-
-/*
- ****************************************************************************
- *
- * "DHRYSTONE" Benchmark Program
- * -----------------------------
- *
- * Version: C, Version 2.1
- *
- * File: dhry_2.c (part 3 of 3)
- *
- * Date: May 25, 1988
- *
- * Author: Reinhold P. Weicker
- *
- ****************************************************************************
- */
-
-#ifndef REG
-#define REG
- /* REG becomes defined as empty */
- /* i.e. no register variables */
-#endif
-
-extern int Int_Glob;
-extern char Ch_1_Glob;
-
-
-Proc_6 (Enum_Val_Par, Enum_Ref_Par)
-/*********************************/
- /* executed once */
- /* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */
-
-Enumeration Enum_Val_Par;
-Enumeration *Enum_Ref_Par;
-{
- *Enum_Ref_Par = Enum_Val_Par;
- if (! Func_3 (Enum_Val_Par))
- /* then, not executed */
- *Enum_Ref_Par = Ident_4;
- switch (Enum_Val_Par)
- {
- case Ident_1:
- *Enum_Ref_Par = Ident_1;
- break;
- case Ident_2:
- if (Int_Glob > 100)
- /* then */
- *Enum_Ref_Par = Ident_1;
- else *Enum_Ref_Par = Ident_4;
- break;
- case Ident_3: /* executed */
- *Enum_Ref_Par = Ident_2;
- break;
- case Ident_4: break;
- case Ident_5:
- *Enum_Ref_Par = Ident_3;
- break;
- } /* switch */
-} /* Proc_6 */
-
-
-Proc_7 (Int_1_Par_Val, Int_2_Par_Val, Int_Par_Ref)
-/**********************************************/
- /* executed three times */
- /* first call: Int_1_Par_Val == 2, Int_2_Par_Val == 3, */
- /* Int_Par_Ref becomes 7 */
- /* second call: Int_1_Par_Val == 10, Int_2_Par_Val == 5, */
- /* Int_Par_Ref becomes 17 */
- /* third call: Int_1_Par_Val == 6, Int_2_Par_Val == 10, */
- /* Int_Par_Ref becomes 18 */
-One_Fifty Int_1_Par_Val;
-One_Fifty Int_2_Par_Val;
-One_Fifty *Int_Par_Ref;
-{
- One_Fifty Int_Loc;
-
- Int_Loc = Int_1_Par_Val + 2;
- *Int_Par_Ref = Int_2_Par_Val + Int_Loc;
-} /* Proc_7 */
-
-
-Proc_8 (Arr_1_Par_Ref, Arr_2_Par_Ref, Int_1_Par_Val, Int_2_Par_Val)
-/*********************************************************************/
- /* executed once */
- /* Int_Par_Val_1 == 3 */
- /* Int_Par_Val_2 == 7 */
-Arr_1_Dim Arr_1_Par_Ref;
-Arr_2_Dim Arr_2_Par_Ref;
-int Int_1_Par_Val;
-int Int_2_Par_Val;
-{
- REG One_Fifty Int_Index;
- REG One_Fifty Int_Loc;
-
- Int_Loc = Int_1_Par_Val + 5;
- Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val;
- Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc];
- Arr_1_Par_Ref [Int_Loc+30] = Int_Loc;
- for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index)
- Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc;
- Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1;
- Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc];
- Int_Glob = 5;
-} /* Proc_8 */
-
-
-Enumeration Func_1 (Ch_1_Par_Val, Ch_2_Par_Val)
-/*************************************************/
- /* executed three times */
- /* first call: Ch_1_Par_Val == 'H', Ch_2_Par_Val == 'R' */
- /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */
- /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */
-
-Capital_Letter Ch_1_Par_Val;
-Capital_Letter Ch_2_Par_Val;
-{
- Capital_Letter Ch_1_Loc;
- Capital_Letter Ch_2_Loc;
-
- Ch_1_Loc = Ch_1_Par_Val;
- Ch_2_Loc = Ch_1_Loc;
- if (Ch_2_Loc != Ch_2_Par_Val)
- /* then, executed */
- return (Ident_1);
- else /* not executed */
- {
- Ch_1_Glob = Ch_1_Loc;
- return (Ident_2);
- }
-} /* Func_1 */
-
-
-Boolean Func_2 (Str_1_Par_Ref, Str_2_Par_Ref)
-/*************************************************/
- /* executed once */
- /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */
- /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */
-
-Str_30 Str_1_Par_Ref;
-Str_30 Str_2_Par_Ref;
-{
- REG One_Thirty Int_Loc;
- Capital_Letter Ch_Loc;
-
- Int_Loc = 2;
- while (Int_Loc <= 2) /* loop body executed once */
- if (Func_1 (Str_1_Par_Ref[Int_Loc],
- Str_2_Par_Ref[Int_Loc+1]) == Ident_1)
- /* then, executed */
- {
- Ch_Loc = 'A';
- Int_Loc += 1;
- } /* if, while */
- if (Ch_Loc >= 'W' && Ch_Loc < 'Z')
- /* then, not executed */
- Int_Loc = 7;
- if (Ch_Loc == 'R')
- /* then, not executed */
- return (true);
- else /* executed */
- {
- if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0)
- /* then, not executed */
- {
- Int_Loc += 7;
- Int_Glob = Int_Loc;
- return (true);
- }
- else /* executed */
- return (false);
- } /* if Ch_Loc */
-} /* Func_2 */
-
-
-Boolean Func_3 (Enum_Par_Val)
-/***************************/
- /* executed once */
- /* Enum_Par_Val == Ident_3 */
-Enumeration Enum_Par_Val;
-{
- Enumeration Enum_Loc;
-
- Enum_Loc = Enum_Par_Val;
- if (Enum_Loc == Ident_3)
- /* then, executed */
- return (true);
- else /* not executed */
- return (false);
-} /* Func_3 */
-
diff --git a/gcc/testsuite/gcc.misc-tests/dhry.exp b/gcc/testsuite/gcc.misc-tests/dhry.exp
deleted file mode 100644
index 890f25018a8..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dhry.exp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-global PERF_TEST
-if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } {
- return
-}
-
-load_lib mike-gcc.exp
-
-prebase
-set actions run
-set compiler_output "^$"
-set program_output "^$"
-postbase dhry.c $run $groups
diff --git a/gcc/testsuite/gcc.misc-tests/dhry.h b/gcc/testsuite/gcc.misc-tests/dhry.h
deleted file mode 100644
index 8d42da0094d..00000000000
--- a/gcc/testsuite/gcc.misc-tests/dhry.h
+++ /dev/null
@@ -1,431 +0,0 @@
-/*
- ****************************************************************************
- *
- * "DHRYSTONE" Benchmark Program
- * -----------------------------
- *
- * Version: C, Version 2.1
- *
- * File: dhry.h (part 1 of 3)
- *
- * Date: May 25, 1988
- *
- * Author: Reinhold P. Weicker
- * Siemens AG, AUT E 51
- * Postfach 3220
- * 8520 Erlangen
- * Germany (West)
- * Phone: [+49]-9131-7-20330
- * (8-17 Central European Time)
- * Usenet: ..!mcsun!unido!estevax!weicker
- *
- * Original Version (in Ada) published in
- * "Communications of the ACM" vol. 27., no. 10 (Oct. 1984),
- * pp. 1013 - 1030, together with the statistics
- * on which the distribution of statements etc. is based.
- *
- * In this C version, the following C library functions are used:
- * - strcpy, strcmp (inside the measurement loop)
- * - printf, scanf (outside the measurement loop)
- * In addition, Berkeley UNIX system calls "times ()" or "time ()"
- * are used for execution time measurement. For measurements
- * on other systems, these calls have to be changed.
- *
- * Collection of Results:
- * Reinhold Weicker (address see above) and
- *
- * Rick Richardson
- * PC Research. Inc.
- * 94 Apple Orchard Drive
- * Tinton Falls, NJ 07724
- * Phone: (201) 389-8963 (9-17 EST)
- * Usenet: ...!uunet!pcrat!rick
- *
- * Please send results to Rick Richardson and/or Reinhold Weicker.
- * Complete information should be given on hardware and software used.
- * Hardware information includes: Machine type, CPU, type and size
- * of caches; for microprocessors: clock frequency, memory speed
- * (number of wait states).
- * Software information includes: Compiler (and runtime library)
- * manufacturer and version, compilation switches, OS version.
- * The Operating System version may give an indication about the
- * compiler; Dhrystone itself performs no OS calls in the measurement loop.
- *
- * The complete output generated by the program should be mailed
- * such that at least some checks for correctness can be made.
- *
- ***************************************************************************
- *
- * History: This version C/2.1 has been made for two reasons:
- *
- * 1) There is an obvious need for a common C version of
- * Dhrystone, since C is at present the most popular system
- * programming language for the class of processors
- * (microcomputers, minicomputers) where Dhrystone is used most.
- * There should be, as far as possible, only one C version of
- * Dhrystone such that results can be compared without
- * restrictions. In the past, the C versions distributed
- * by Rick Richardson (Version 1.1) and by Reinhold Weicker
- * had small (though not significant) differences.
- *
- * 2) As far as it is possible without changes to the Dhrystone
- * statistics, optimizing compilers should be prevented from
- * removing significant statements.
- *
- * This C version has been developed in cooperation with
- * Rick Richardson (Tinton Falls, NJ), it incorporates many
- * ideas from the "Version 1.1" distributed previously by
- * him over the UNIX network Usenet.
- * I also thank Chaim Benedelac (National Semiconductor),
- * David Ditzel (SUN), Earl Killian and John Mashey (MIPS),
- * Alan Smith and Rafael Saavedra-Barrera (UC at Berkeley)
- * for their help with comments on earlier versions of the
- * benchmark.
- *
- * Changes: In the initialization part, this version follows mostly
- * Rick Richardson's version distributed via Usenet, not the
- * version distributed earlier via floppy disk by Reinhold Weicker.
- * As a concession to older compilers, names have been made
- * unique within the first 8 characters.
- * Inside the measurement loop, this version follows the
- * version previously distributed by Reinhold Weicker.
- *
- * At several places in the benchmark, code has been added,
- * but within the measurement loop only in branches that
- * are not executed. The intention is that optimizing compilers
- * should be prevented from moving code out of the measurement
- * loop, or from removing code altogether. Since the statements
- * that are executed within the measurement loop have NOT been
- * changed, the numbers defining the "Dhrystone distribution"
- * (distribution of statements, operand types and locality)
- * still hold. Except for sophisticated optimizing compilers,
- * execution times for this version should be the same as
- * for previous versions.
- *
- * Since it has proven difficult to subtract the time for the
- * measurement loop overhead in a correct way, the loop check
- * has been made a part of the benchmark. This does have
- * an impact - though a very minor one - on the distribution
- * statistics which have been updated for this version.
- *
- * All changes within the measurement loop are described
- * and discussed in the companion paper "Rationale for
- * Dhrystone version 2".
- *
- * Because of the self-imposed limitation that the order and
- * distribution of the executed statements should not be
- * changed, there are still cases where optimizing compilers
- * may not generate code for some statements. To a certain
- * degree, this is unavoidable for small synthetic benchmarks.
- * Users of the benchmark are advised to check code listings
- * whether code is generated for all statements of Dhrystone.
- *
- * Version 2.1 is identical to version 2.0 distributed via
- * the UNIX network Usenet in March 1988 except that it corrects
- * some minor deficiencies that were found by users of version 2.0.
- * The only change within the measurement loop is that a
- * non-executed "else" part was added to the "if" statement in
- * Func_3, and a non-executed "else" part removed from Proc_3.
- *
- ***************************************************************************
- *
- * Defines: The following "Defines" are possible:
- * -DREG=register (default: Not defined)
- * As an approximation to what an average C programmer
- * might do, the "register" storage class is applied
- * (if enabled by -DREG=register)
- * - for local variables, if they are used (dynamically)
- * five or more times
- * - for parameters if they are used (dynamically)
- * six or more times
- * Note that an optimal "register" strategy is
- * compiler-dependent, and that "register" declarations
- * do not necessarily lead to faster execution.
- * -DNOSTRUCTASSIGN (default: Not defined)
- * Define if the C compiler does not support
- * assignment of structures.
- * -DNOENUMS (default: Not defined)
- * Define if the C compiler does not support
- * enumeration types.
- * -DTIMES (default)
- * -DTIME
- * The "times" function of UNIX (returning process times)
- * or the "time" function (returning wallclock time)
- * is used for measurement.
- * For single user machines, "time ()" is adequate. For
- * multi-user machines where you cannot get single-user
- * access, use the "times ()" function. If you have
- * neither, use a stopwatch in the dead of night.
- * "printf"s are provided marking the points "Start Timer"
- * and "Stop Timer". DO NOT use the UNIX "time(1)"
- * command, as this will measure the total time to
- * run this program, which will (erroneously) include
- * the time to allocate storage (malloc) and to perform
- * the initialization.
- * -DHZ=nnn
- * In Berkeley UNIX, the function "times" returns process
- * time in 1/HZ seconds, with HZ = 60 for most systems.
- * CHECK YOUR SYSTEM DESCRIPTION BEFORE YOU JUST APPLY
- * A VALUE.
- *
- ***************************************************************************
- *
- * Compilation model and measurement (IMPORTANT):
- *
- * This C version of Dhrystone consists of three files:
- * - dhry.h (this file, containing global definitions and comments)
- * - dhry_1.c (containing the code corresponding to Ada package Pack_1)
- * - dhry_2.c (containing the code corresponding to Ada package Pack_2)
- *
- * The following "ground rules" apply for measurements:
- * - Separate compilation
- * - No procedure merging
- * - Otherwise, compiler optimizations are allowed but should be indicated
- * - Default results are those without register declarations
- * See the companion paper "Rationale for Dhrystone Version 2" for a more
- * detailed discussion of these ground rules.
- *
- * For 16-Bit processors (e.g. 80186, 80286), times for all compilation
- * models ("small", "medium", "large" etc.) should be given if possible,
- * together with a definition of these models for the compiler system used.
- *
- **************************************************************************
- *
- * Dhrystone (C version) statistics:
- *
- * [Comment from the first distribution, updated for version 2.
- * Note that because of language differences, the numbers are slightly
- * different from the Ada version.]
- *
- * The following program contains statements of a high level programming
- * language (here: C) in a distribution considered representative:
- *
- * assignments 52 (51.0 %)
- * control statements 33 (32.4 %)
- * procedure, function calls 17 (16.7 %)
- *
- * 103 statements are dynamically executed. The program is balanced with
- * respect to the three aspects:
- *
- * - statement type
- * - operand type
- * - operand locality
- * operand global, local, parameter, or constant.
- *
- * The combination of these three aspects is balanced only approximately.
- *
- * 1. Statement Type:
- * ----------------- number
- *
- * V1 = V2 9
- * (incl. V1 = F(..)
- * V = Constant 12
- * Assignment, 7
- * with array element
- * Assignment, 6
- * with record component
- * --
- * 34 34
- *
- * X = Y +|-|"&&"|"|" Z 5
- * X = Y +|-|"==" Constant 6
- * X = X +|- 1 3
- * X = Y *|/ Z 2
- * X = Expression, 1
- * two operators
- * X = Expression, 1
- * three operators
- * --
- * 18 18
- *
- * if .... 14
- * with "else" 7
- * without "else" 7
- * executed 3
- * not executed 4
- * for ... 7 | counted every time
- * while ... 4 | the loop condition
- * do ... while 1 | is evaluated
- * switch ... 1
- * break 1
- * declaration with 1
- * initialization
- * --
- * 34 34
- *
- * P (...) procedure call 11
- * user procedure 10
- * library procedure 1
- * X = F (...)
- * function call 6
- * user function 5
- * library function 1
- * --
- * 17 17
- * ---
- * 103
- *
- * The average number of parameters in procedure or function calls
- * is 1.82 (not counting the function values as implicit parameters).
- *
- *
- * 2. Operators
- * ------------
- * number approximate
- * percentage
- *
- * Arithmetic 32 50.8
- *
- * + 21 33.3
- * - 7 11.1
- * * 3 4.8
- * / (int div) 1 1.6
- *
- * Comparison 27 42.8
- *
- * == 9 14.3
- * /= 4 6.3
- * > 1 1.6
- * < 3 4.8
- * >= 1 1.6
- * <= 9 14.3
- *
- * Logic 4 6.3
- *
- * && (AND-THEN) 1 1.6
- * | (OR) 1 1.6
- * ! (NOT) 2 3.2
- *
- * -- -----
- * 63 100.1
- *
- *
- * 3. Operand Type (counted once per operand reference):
- * ---------------
- * number approximate
- * percentage
- *
- * Integer 175 72.3 %
- * Character 45 18.6 %
- * Pointer 12 5.0 %
- * String30 6 2.5 %
- * Array 2 0.8 %
- * Record 2 0.8 %
- * --- -------
- * 242 100.0 %
- *
- * When there is an access path leading to the final operand (e.g. a record
- * component), only the final data type on the access path is counted.
- *
- *
- * 4. Operand Locality:
- * -------------------
- * number approximate
- * percentage
- *
- * local variable 114 47.1 %
- * global variable 22 9.1 %
- * parameter 45 18.6 %
- * value 23 9.5 %
- * reference 22 9.1 %
- * function result 6 2.5 %
- * constant 55 22.7 %
- * --- -------
- * 242 100.0 %
- *
- *
- * The program does not compute anything meaningful, but it is syntactically
- * and semantically correct. All variables have a value assigned to them
- * before they are used as a source operand.
- *
- * There has been no explicit effort to account for the effects of a
- * cache, or to balance the use of long or short displacements for code or
- * data.
- *
- ***************************************************************************
- */
-
-/* Compiler and system dependent definitions: */
-/*
-#ifndef TIME
-#define TIMES
-#endif
-*/ /* Use times(2) time function unless */
- /* explicitly defined otherwise */
-
-/*
- #ifndef HZ
- #define HZ 60
- #endif
-*/
-
-/*
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-*/ /* for "times" */
-/*
-#endif
-*/
-#define Mic_secs_Per_Second 1000000.0
- /* Berkeley UNIX C returns process times in seconds/HZ */
-
-#ifdef NOSTRUCTASSIGN
-#define structassign(d, s) memcpy(&(d), &(s), sizeof(d))
-#else
-#define structassign(d, s) d = s
-#endif
-
-#ifdef NOENUM
-#define Ident_1 0
-#define Ident_2 1
-#define Ident_3 2
-#define Ident_4 3
-#define Ident_5 4
- typedef int Enumeration;
-#else
- typedef enum {Ident_1, Ident_2, Ident_3, Ident_4, Ident_5}
- Enumeration;
-#endif
- /* for boolean and enumeration types in Ada, Pascal */
-
-/* General definitions: */
-
-#include <stdio.h>
- /* for strcpy, strcmp */
-
-#define Null 0
- /* Value of a Null pointer */
-#define true 1
-#define false 0
-
-typedef int One_Thirty;
-typedef int One_Fifty;
-typedef char Capital_Letter;
-typedef int Boolean;
-typedef char Str_30 [31];
-typedef int Arr_1_Dim [50];
-typedef int Arr_2_Dim [50] [50];
-
-typedef struct record
- {
- struct record *Ptr_Comp;
- Enumeration Discr;
- union {
- struct {
- Enumeration Enum_Comp;
- int Int_Comp;
- char Str_Comp [31];
- } var_1;
- struct {
- Enumeration E_Comp_2;
- char Str_2_Comp [31];
- } var_2;
- struct {
- char Ch_1_Comp;
- char Ch_2_Comp;
- } var_3;
- } variant;
- } Rec_Type, *Rec_Pointer;
-
-
diff --git a/gcc/testsuite/gcc.misc-tests/gcov-1.c b/gcc/testsuite/gcc.misc-tests/gcov-1.c
deleted file mode 100644
index 99a02790dee..00000000000
--- a/gcc/testsuite/gcc.misc-tests/gcov-1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test Gcov basics. */
-
-/* { dg-options "-fprofile-arcs -ftest-coverage" } */
-/* { dg-do run { target native } } */
-
-void noop ()
-{
-}
-
-int main ()
-{
- int i;
-
- for (i = 0; i < 10; i++) /* count(11) */
- noop (); /* count(10) */
-
- return 0; /* count(1) */
-}
-
-/* { dg-final { run-gcov gcov-1.c } } */
diff --git a/gcc/testsuite/gcc.misc-tests/gcov-2.c b/gcc/testsuite/gcc.misc-tests/gcov-2.c
deleted file mode 100644
index 0cfeaec9d34..00000000000
--- a/gcc/testsuite/gcc.misc-tests/gcov-2.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Test Gcov basics. */
-
-/* { dg-prms-id 8294 } */
-/* { dg-options "-fprofile-arcs -ftest-coverage -g" } */
-/* { dg-do run { target native } } */
-
-void noop ()
-{
-}
-
-int main ()
-{
- int i;
-
- for (i = 0; i < 10; i++) /* count(11) */
- noop (); /* count(10) */
-
- return 0; /* count(1) */
-}
-
-int a_variable = 0;
diff --git a/gcc/testsuite/gcc.misc-tests/gcov.exp b/gcc/testsuite/gcc.misc-tests/gcov.exp
deleted file mode 100644
index 747465d82ce..00000000000
--- a/gcc/testsuite/gcc.misc-tests/gcov.exp
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# Gcov test driver.
-
-# Load support procs.
-load_lib gcc-dg.exp
-
-global GCC_UNDER_TEST
-
-# For now find gcov in the same directory as $GCC_UNDER_TEST.
-if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } {
- set GCOV [file dirname [lindex $GCC_UNDER_TEST 0]]/gcov
-} else {
- set GCOV gcov
-}
-
-# Proc to delete the working files created by the compiler for gcov.
-
-proc clean-gcov { testcase } {
- set basename [file tail $testcase]
- set base [file rootname $basename]
- remote_file host delete $base.bb $base.bbg $base.da $basename.gcov
-}
-
-# Called by dg-final to run gcov and analyze the results.
-
-proc run-gcov { testcase } {
- global GCOV
-
- verbose "Running $GCOV $testcase" 2
- set testcase [remote_download host $testcase];
- set result [remote_exec host $GCOV $testcase];
- if { [lindex $result 0] != 0 } {
- fail "gcov failed: [lindex $result 1]"
- clean-gcov $testcase
- return
- }
-
- remote_upload host $testcase.gcov $testcase.gcov;
- set output [grep $testcase.gcov ".*count\\(\[0-9\]+\\)" line]
- #send_user "output:$output\n"
- set failed 0
- foreach line $output {
- verbose "Processing count line: $line" 3
- #send_user "line:$line\n"
- if [regexp "(\[0-9\]+) *(\[0-9\]+).*count\\((\[0-9\]+)\\)" "$line" all n is shouldbe] {
- #send_user "n $n:is $is:shouldbe $shouldbe\n"
- if { $is == "" } {
- fail "$testcase:$n:no data available for this line"
- incr failed
- } elseif { $is != $shouldbe } {
- fail "$testcase:$n:is $is:should be $shouldbe"
- incr failed
- }
- } else {
- fail "$testcase: can't parse $line (in wrong place?)"
- incr failed
- }
- }
- clean-gcov $testcase
- if !$failed {
- pass "gcov $testcase"
- }
-}
-
-# Initialize harness.
-dg-init
-
-# Delete old .da files.
-set files [glob -nocomplain gcov-*.da];
-if { $files != "" } {
- eval "remote_file build delete $files";
-}
-
-# Main loop.
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/gcov-*.c]] "" ""
-
-dg-finish
diff --git a/gcc/testsuite/gcc.misc-tests/m-un-1.c b/gcc/testsuite/gcc.misc-tests/m-un-1.c
deleted file mode 100644
index ad84d44ca15..00000000000
--- a/gcc/testsuite/gcc.misc-tests/m-un-1.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* m-un-1.c: "un" for "uninitialized" */
-
-/*
-From: Jim Wilson <wilson@cygnus.com>
-Date: Wed, 6 Jul 1994 13:11:47 -0700
-To: dje@cygnus.com
-Subject: Re: devo/gcc ChangeLog.fsf stmt.c
-Cc: cvs-gcc@cygnus.com, tege@cygnus.com
-
- How about a test case? :-)
-
-Compile with -O -Wall and the broken compiler gives you:
-tmp.c:6: warning: `k' might be used uninitialized in this function
-The fixed compiler (and gcc 2.5.8) gives no warning.
-
-This happens to fix a performance regression in the code generated for
-while loops, but that is presumably much much harder to test for.
-*/
-
-/* { dg-do compile } */
-/* { dg-options "-O -Wall" } */
-
-int
-sub ()
-{
- int i = 0;
- int j = 0;
- int k; /* { dg-bogus "`k' might be used uninitialized" "uninitialized warning regression" } */
-
- while (i == 0 && j == 0)
- {
- k = 10;
- i = sub ();
- }
-
- return k;
-}
diff --git a/gcc/testsuite/gcc.misc-tests/m-un-2.c b/gcc/testsuite/gcc.misc-tests/m-un-2.c
deleted file mode 100644
index 81d6dca363f..00000000000
--- a/gcc/testsuite/gcc.misc-tests/m-un-2.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-W -Wall" } */
-
-typedef unsigned long size_t;
-extern void* malloc (size_t);
-extern void free (void*);
-extern void* realloc (void*, size_t);
-
-struct vtable {
- void* (* _malloc) (size_t);
- void (* _free) (void*);
- void* (* _realloc) (void*, size_t);
-};
-
-struct vtable mtable = {
- malloc,
- free
-}; /* { dg-warning "missing initializer" "warning regression" { target native } {18} } */
- /* { dg-warning "initialization for `mtable._realloc'" "warning regression" { target native } {18} } */
-
-struct vtable mtable2 = {
- ._malloc = malloc,
- ._realloc = realloc
-}; /* { dg-warning "missing initializer" "warning regression" { target native } {24} } */
- /* { dg-warning "initialization for `mtable2._free'" "warning regression" { target native } {24} } */
-
-struct vtable mtable3 = {
- ._free = free,
- ._malloc = malloc,
- ._realloc = realloc
-};
diff --git a/gcc/testsuite/gcc.misc-tests/matrix1.c b/gcc/testsuite/gcc.misc-tests/matrix1.c
deleted file mode 100644
index 62c71150791..00000000000
--- a/gcc/testsuite/gcc.misc-tests/matrix1.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Matrix operations */
-
-#define BOUND 100
-
-int a[BOUND][BOUND],b[BOUND][BOUND],c[BOUND][BOUND];
-
-main()
-{
-int i,j,k;
-
-
-
- for (i=0; i<BOUND; i++)
- {
- for (j=0; j<BOUND; j++)
- {
- a[i][j] = 1;
- b[i][j] = 1;
- }
- }
- for (i=0; i<BOUND; i++)
- {
- for (j=0; j<BOUND; j++)
- {
- c[i][j] = 0;
- for (k=0; k<BOUND; k++)
- {
- c[i][j] = c[i][j] + a[i][k] * b[k][j];
- }
- }
- }
- for (i=0; i<BOUND; i++)
- {
- for (j=0; j<BOUND; j++)
- {
- if (c[i][j] != BOUND)
- {
- /*printf("ERROR\n");*/
- return 0;
- }
- }
- }
- i=5;
-
- exit (0);
-}
diff --git a/gcc/testsuite/gcc.misc-tests/matrix1.exp b/gcc/testsuite/gcc.misc-tests/matrix1.exp
deleted file mode 100644
index a90ae5c64fe..00000000000
--- a/gcc/testsuite/gcc.misc-tests/matrix1.exp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-global PERF_TEST
-if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } {
- return
-}
-
-load_lib mike-gcc.exp
-
-prebase
-set actions run
-set compiler_output "^$"
-set program_output "^$"
-postbase matrix1.c $run $groups
diff --git a/gcc/testsuite/gcc.misc-tests/mg.c b/gcc/testsuite/gcc.misc-tests/mg.c
deleted file mode 100644
index 5359714572f..00000000000
--- a/gcc/testsuite/gcc.misc-tests/mg.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* PR 2981 */
-
-#include "nonexist.h"
-int
-main ()
-{
- return 0;
-}
diff --git a/gcc/testsuite/gcc.misc-tests/mg.exp b/gcc/testsuite/gcc.misc-tests/mg.exp
deleted file mode 100644
index 845e3e6eb6c..00000000000
--- a/gcc/testsuite/gcc.misc-tests/mg.exp
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# Test the -MG flag.
-
-load_lib mike-gcc.exp
-
-prebase
-set actions none-of-the-above
-set compiler_output "mg.o ?: .*mg.c \[ \\\n\]*nonexist.h"
-postbase mg.c "" "" "-MM -MG 2>/dev/null"
diff --git a/gcc/testsuite/gcc.misc-tests/msgs.exp b/gcc/testsuite/gcc.misc-tests/msgs.exp
deleted file mode 100644
index dbe3f24a78e..00000000000
--- a/gcc/testsuite/gcc.misc-tests/msgs.exp
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# Test gcc warning and error messages.
-# Our testcases are named m-*.c ("m" and not "msg" to avoid DOS problems).
-
-# Load support procs.
-load_lib gcc-dg.exp
-
-# Initialize harness.
-dg-init
-
-# Main loop.
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/m-*.c]] "" ""
-
-# All done.
-dg-finish
diff --git a/gcc/testsuite/gcc.misc-tests/optbench.c b/gcc/testsuite/gcc.misc-tests/optbench.c
deleted file mode 100644
index 9cee4305b64..00000000000
--- a/gcc/testsuite/gcc.misc-tests/optbench.c
+++ /dev/null
@@ -1,288 +0,0 @@
-/* ----------------------------------------------------- *
- | |
- | PC Tech Journal Benchmark Series |
- | C Code Optimization Benchmark |
- | |
- | Copyright (c) 1988 Ziff-Davis Publishing Company |
- | |
- | This benchmark code is designed to test the |
- | code optimization techniques applied by a C |
- | compiler. It does not produce meaningful results |
- | when executed, or represent good style. |
- | |
- * ----------------------------------------------------- */
-
-#include <string.h>
-
-#define max_vector 2
-#define constant5 5
-
-typedef unsigned char uchar;
-
-int i, j, k , l, m;
-int i2, j2, k2;
-int g3, h3, i3, k3, m3;
-int i4, j4;
-int i5, j5, k5;
-
-double flt_1, flt_2, flt_3, flt_4, flt_5, flt_6;
-
-int ivector[ 3 ];
-uchar ivector2[ 3 ];
-short ivector4[ 6 ];
-int ivector5[ 203 ];
-
-#ifndef NO_PROTOTYPES
-void dead_code( int, char * );
-void unnecessary_loop( void );
-void loop_jamming( int );
-void loop_unrolling( int );
-int jump_compression ( int, int, int, int, int );
-#else
-void dead_code();
-void unnecessary_loop();
-void loop_jamming();
-void loop_unrolling();
-int jump_compression();
-#endif
-
-
-int main( argc, argv ) /* optbench */
- int argc;
- char **argv;
- {
- /* ------------------------------ *
- | Constant and copy propagation |
- * ------------------------------ */
-
- j4 = 2;
- if( i2 < j4 && i4 < j4 )
- i5 = 2;
-
- j4 = k5;
- if( i2 < j4 && i4 < j4 )
- i5 = 3;
-
- /* ---------------------------------------- *
- | Constant folding, arithmetic identities |
- | and redundant load/store operations |
- * ---------------------------------------- */
-
- i3 = 1 + 2;
- flt_1 = 2.4 + 6.3;
- i2 = 5;
- j2 = i + 0;
- k2 = i / 1;
- i4 = i * 1;
- i5 = i * 0;
-
-#ifndef NO_ZERO_DIVIDE
- /*
- * Some compilers correctly recognize a zero divide
- * error and do not generate any object code.
- */
-/*
- i2 = i / 0;
- flt_2 = flt_1 / 0.0;
-*/
-#else
-/*
- printf( "This compiler handles divide-by-zero as an
-error\n");
-*/;
-#endif
- flt_3 = 2.4 / 1.0;
- flt_4 = 1.0 + 0.0000001;
- flt_5 = flt_6 * 0.0;
- flt_6 = flt_2 * flt_3;
-
- /* ------------ *
- | Dead store |
- * ------------ */
-
- k3 = 1;
- k3 = 1;
-
- /* --------------------- *
- | Strength reduction |
- * --------------------- */
-
- k2 = 4 * j5;
- for( i = 0; i <= 5; i++ )
- ivector4[ i ] = i * 2;
-
- /* ----------- *
- | Simple loop |
- * ----------- */
-
- j5 = 0;
- k5 = 10000;
- do {
- k5 = k5 - 1;
- j5 = j5 + 1;
- i5 = ( k5 * 3 ) / ( j5 * constant5 );
- } while ( k5 > 0 );
-
- /* ----------------------------------- *
- | Loop induction variable handling |
- * ----------------------------------- */
-
- for( i = 0; i < 100; i++)
- ivector5[ i * 2 + 3 ] = 5;
-
- /* ----------------------------- *
- | Very busy expression handling |
- * ----------------------------- */
-
- if( i < 10 )
- j5 = i5 + i2;
- else
- k5 = i5 + i2;
-
- /* -------------------------------------------- *
- | Check how the compiler generates the address |
- | of a variable with a constant subscript, |
- | copy propagation, and register propagation. |
- * -------------------------------------------- */
-
- ivector[ 0 ] = 1; /* constant address generation */
- ivector[ i2 ] = 2; /* i2 should be a propagated value
-*/
- ivector[ i2 ] = 2; /* register propagation */
- ivector[ 2 ] = 3; /* constant address generation */
-
-
- /* ---------------------------------- *
- | Common subexpression elimination |
- * ---------------------------------- */
-
- if(( h3 + k3 ) < 0 || ( h3 + k3 ) > 5 )
- /*
- printf("Common subexpression elimination\n");
-
- */;
- else {
- m3 = ( h3 + k3 ) / i3;
- g3 = i3 + (h3 + k3);
- }
- /* --------------------------------------- *
- | Invariant code motion |
- | (j * k) can be moved outside the loop. |
- * --------------------------------------- */
-
- for( i4 = 0; i4 <= max_vector; i4++ )
- ivector2[ i4 ] = j * k;
-
- /* ---------------------------- *
- | Function call with arguments |
- * ---------------------------- */
-
- dead_code( 1, "This line should not be printed" );
-
- /* ------------------------------- *
- | Function call without arguments |
- * ------------------------------- */
-
- unnecessary_loop();
-
- exit (0);
-
- } /* end of main */
-
-
-/* --------------------------------------------- *
- | Function: dead_code |
- | Test for dead code and dead stores. |
- | NO code should be generated. |
- * ----------------------------------------------*/
-
-void dead_code( a, b )
- int a;
- char *b;
- {
- int idead_store;
-
- idead_store = a;
- if( 0 )
- /*
- printf( "%s\n", b );
- */;
- } /* end of dead_code */
-
-/* ----------------------------------------------- *
- | Function: unnecessary_loop |
- | The loop in the following function is |
- | not necessary since the value of the |
- | assignment is constant. Ideally, the |
- | loop should be optimized out. |
- * ----------------------------------------------- */
-
-void unnecessary_loop()
- {
- int x;
-
- x = 0;
- for( i = 0; i < 5; i++ ) /* loop should not be generated */
- k5 = x + j5;
- } /* end of unnecessary_loop */
-
-/* --------------------------------------------- *
- | Function: loop_jamming |
- | The two loop in this function share |
- | the same loop conditions and could |
- | be coalesced together. |
- * --------------------------------------------- */
-
-void loop_jamming( x )
- int x;
- {
- for( i = 0; i < 5; i++ )
- k5 = x + j5 * i;
- for( i = 0; i < 5; i++ )
- i5 = x * k5 * i;
- } /* end of loop_jamming */
-
-/* ------------------------------------------------ *
- | Function: loop_unrolling |
- | The loop in this function should be |
- | replaced with three inline word stores |
- | using constant array arithmetic or by |
- | specialized machine instructions used |
- | for block memory initializiation. |
- * ------------------------------------------------ */
-
-void loop_unrolling( x )
- int x;
- {
- for( i = 0; i < 6; i++ )
- ivector4[ i ] = 0;
- } /* end of loop_unrolling */
-
-/* ------------------------------------------------------ *
- | Function: jump_compression |
- | This awkward code is useful to illustrate |
- | jump chain compression. The goto 'end_1' can |
- | be replaced by a direct jump to 'beg_1'. |
- *------------------------------------------------------ */
-
-int jump_compression ( i, j, k, l, m )
-int i,j ,l, m;
- {
-beg_1:
- if( i < j )
- if( j < k )
- if( k < l )
- if ( l < m )
- l += m;
- else
- goto end_1;
- else
- k += l;
- else {
- j += k;
-end_1: goto beg_1;
- }
- else
- i += j;
- return( i + j + k + l + m );
- } /* end of jump_compression */
diff --git a/gcc/testsuite/gcc.misc-tests/optbench.exp b/gcc/testsuite/gcc.misc-tests/optbench.exp
deleted file mode 100644
index a54fd2dc468..00000000000
--- a/gcc/testsuite/gcc.misc-tests/optbench.exp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-global PERF_TEST
-if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } {
- return
-}
-
-load_lib mike-gcc.exp
-
-prebase
-set actions run
-set compiler_output "^$"
-set program_output "^$"
-postbase optbench.c $run $groups
diff --git a/gcc/testsuite/gcc.misc-tests/sieve.c b/gcc/testsuite/gcc.misc-tests/sieve.c
deleted file mode 100644
index 41897f178c4..00000000000
--- a/gcc/testsuite/gcc.misc-tests/sieve.c
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#define TRUE 1
-#define FALSE 0
-#define SIZE 8190
-
-char flags[SIZE+1];
-
-main()
-{
- register int i, prime, k, count, iter;
- for (iter=1;iter<=100;iter++) {
- count=0;
- for (i=0;i<=SIZE;i++)
- flags[i]=TRUE;
- for (i=0;i<=SIZE;i++) {
- if (flags[i]) {
- prime=i+i+3;
- for (k=i+prime;k<=SIZE;k+=prime)
- flags[k]=FALSE;
- count++;
- }
- }
- }
-/* */ exit(0); /* */
-}
-
diff --git a/gcc/testsuite/gcc.misc-tests/sieve.exp b/gcc/testsuite/gcc.misc-tests/sieve.exp
deleted file mode 100644
index a6c7665bc52..00000000000
--- a/gcc/testsuite/gcc.misc-tests/sieve.exp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-global PERF_TEST
-if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } {
- return
-}
-
-load_lib mike-gcc.exp
-
-prebase
-set actions run
-set compiler_output "^$"
-set program_output "^$"
-postbase sieve.c $run $groups
diff --git a/gcc/testsuite/gcc.misc-tests/sort2.c b/gcc/testsuite/gcc.misc-tests/sort2.c
deleted file mode 100644
index 3d86e1ecc24..00000000000
--- a/gcc/testsuite/gcc.misc-tests/sort2.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Simple test program: bubble sort of a fixed table. */
-/* This demonstrates some of the compiler's common-subexpression*/
-/* elimination capabilities. For example, inspect the code */
-/* generated for procedure Sort_array. See the Programmer's */
-/* Guide for how to request an assembly listing on your host. */
-
-typedef unsigned char boolean;
-
-void Sort_array();
-int Tab[100];
-
-main () {
- int I,J,K,L;
-
-for (L = 0; L < 1000; L++) {
- /* Initialize the table that will be sorted. */
- K = 0;
- for (I = 9; I >= 0; I--)
- for (J = I*10; J < (I+1)*10; J++)
- Tab[K++] = J&1 ? J+1 : J-1;
-
-/* Print_array(); */
- Sort_array(Tab,99); /* Sort it. */
-/* Print_array(); */
-}
-/* */ exit(0); /* */
-}
-
-void Sort_array(Tab,Last) int Tab[]; int Last; {
- boolean Swap;
- int Temp,I;
- do {
- Swap = 0;
- for (I = 0; I<Last; I++)
- if (Tab[I] > Tab[I+1]) {
- Temp = Tab[I];
- Tab[I] = Tab[I+1];
- Tab[I+1] = Temp;
- Swap = 1;
- }
- }
- while (Swap);
-}
-
-
-void Print_array() {
- int I,J;
- /*printf("\nArray Contents:\n");*/
- for (I=0; I<=9; I++) {
- /*printf("%5d:",10*I); */
- for (J=0; J<=9; J++); /*printf("%5d",Tab[10*I+J]); */
- /* printf("\n");*/
- }
-}
diff --git a/gcc/testsuite/gcc.misc-tests/sort2.exp b/gcc/testsuite/gcc.misc-tests/sort2.exp
deleted file mode 100644
index ab5f0996426..00000000000
--- a/gcc/testsuite/gcc.misc-tests/sort2.exp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-global PERF_TEST
-if { ![info exists PERF_TEST] || "$PERF_TEST" != "yes" } {
- return
-}
-
-load_lib mike-gcc.exp
-
-prebase
-set actions run
-set compiler_output "^$"
-set program_output "^$"
-postbase sort2.c $run $groups
diff --git a/gcc/testsuite/lib/c-torture.exp b/gcc/testsuite/lib/c-torture.exp
deleted file mode 100644
index e2031d87bcd..00000000000
--- a/gcc/testsuite/lib/c-torture.exp
+++ /dev/null
@@ -1,288 +0,0 @@
-# Copyright (C) 1992-1998, 1999 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@gnu.org.
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-
-# The default option list can be overridden by
-# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
-
-if ![info exists TORTURE_OPTIONS] {
- # It is theoretically beneficial to group all of the O2/O3 options together,
- # as in many cases the compiler will generate identical executables for
- # all of them--and the c-torture testsuite will skip testing identical
- # executables multiple times.
- # Also note that -finline-functions is explicitly included in one of the
- # items below, even though -O3 is also specified, because some ports may
- # choose to disable inlining functions by default, even when optimizing.
- set TORTURE_OPTIONS [list \
- { -O0 } \
- { -O1 } \
- { -O2 } \
- { -O3 -fomit-frame-pointer } \
- { -O3 -fomit-frame-pointer -funroll-loops } \
- { -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions } \
- { -O3 -g } \
- { -Os } ]
-}
-
-
-# Split TORTURE_OPTIONS into two choices: one for testcases with loops and
-# one for testcases without loops.
-
-set torture_with_loops $TORTURE_OPTIONS
-set torture_without_loops ""
-foreach option $TORTURE_OPTIONS {
- if ![string match "*loop*" $option] {
- lappend torture_without_loops $option
- }
-}
-
-#
-# c-torture-compile -- runs the Tege C-torture test
-#
-# SRC is the full pathname of the testcase.
-# OPTION is the specific compiler flag we're testing (eg: -O2).
-#
-proc c-torture-compile { src option } {
- global output
- global srcdir tmpdir
- global host_triplet
-
- set output "$tmpdir/[file tail [file rootname $src]].o"
-
- regsub "^$srcdir/?" $src "" testcase
- # If we couldn't rip $srcdir out of `src' then just do the best we can.
- # The point is to reduce the unnecessary noise in the logs. Don't strip
- # out too much because different testcases with the same name can confuse
- # `test-tool'.
- if [string match "/*" $testcase] {
- set testcase "[file tail [file dirname $src]]/[file tail $src]"
- }
-
- verbose "Testing $testcase, $option" 1
-
- # Run the compiler and analyze the results.
- set options ""
- lappend options "additional_flags=-w $option"
-
- set comp_output [gcc_target_compile "$src" "$output" object $options];
- gcc_check_compile $testcase $option $output $comp_output
- remote_file build delete $output
-}
-
-#
-# c-torture-execute -- utility to compile and execute a testcase
-#
-# SRC is the full pathname of the testcase.
-#
-# If the testcase has an associated .x file, we source that to run the
-# test instead. We use .x so that we don't lengthen the existing filename
-# to more than 14 chars.
-#
-proc c-torture-execute { src args } {
- global tmpdir tool srcdir output
-
- if { [llength $args] > 0 } {
- set additional_flags [lindex $args 0];
- } else {
- set additional_flags "";
- }
- # Check for alternate driver.
- if [file exists [file rootname $src].x] {
- verbose "Using alternate driver [file rootname [file tail $src]].x" 2
- set done_p 0
- catch "set done_p \[source [file rootname $src].x\]"
- if { $done_p } {
- return
- }
- }
-
- # Look for a loop within the source code - if we don't find one,
- # don't pass -funroll[-all]-loops.
- global torture_with_loops torture_without_loops
- if [expr [search_for $src "for*("]+[search_for $src "while*("]] then {
- set option_list $torture_with_loops
- } else {
- set option_list $torture_without_loops
- }
-
- set executable $tmpdir/[file tail [file rootname $src].x]
-
- regsub "^$srcdir/?" $src "" testcase
- # If we couldn't rip $srcdir out of `src' then just do the best we can.
- # The point is to reduce the unnecessary noise in the logs. Don't strip
- # out too much because different testcases with the same name can confuse
- # `test-tool'.
- if [string match "/*" $testcase] {
- set testcase "[file tail [file dirname $src]]/[file tail $src]"
- }
-
- set count 0;
- set oldstatus "foo";
- foreach option $option_list {
- if { $count > 0 } {
- set oldexec $execname;
- }
- set execname "${executable}${count}";
- incr count;
-
- # torture_{compile,execute}_xfail are set by the .x script
- # (if present)
- if [info exists torture_compile_xfail] {
- setup_xfail $torture_compile_xfail
- }
-
- # torture_execute_before_{compile,execute} can be set by the .x script
- # (if present)
- if [info exists torture_eval_before_compile] {
- set ignore_me [eval $torture_eval_before_compile]
- }
-
- remote_file build delete $execname;
- verbose "Testing $testcase, $option" 1
-
- set options ""
- lappend options "additional_flags=-w $option"
- if { $additional_flags != "" } {
- lappend options "additional_flags=$additional_flags";
- }
- set comp_output [gcc_target_compile "$src" "${execname}" executable $options];
-
- if ![gcc_check_compile "$testcase compilation" $option $execname $comp_output] {
- unresolved "$testcase execution, $option"
- remote_file build delete $execname
- continue
- }
-
- # See if this source file uses "long long" types, if it does, and
- # no_long_long is set, skip execution of the test.
- if [target_info exists no_long_long] then {
- if [expr [search_for $src "long long"]] then {
- unsupported "$testcase execution, $option"
- continue
- }
- }
-
- if [info exists torture_execute_xfail] {
- setup_xfail $torture_execute_xfail
- }
-
- if [info exists torture_eval_before_execute] {
- set ignore_me [eval $torture_eval_before_execute]
- }
-
- set skip 0;
- if [info exists oldexec] {
- if { [remote_file build cmp $oldexec $execname] == 0 } {
- set skip 1;
- }
- }
- if { $skip == 0 } {
- set result [gcc_load "$execname" "" ""]
- set status [lindex $result 0];
- set output [lindex $result 1];
- }
- if { $oldstatus == "pass" } {
- remote_file build delete $oldexec;
- }
- $status "$testcase execution, $option"
- set oldstatus $status;
- }
- if [info exists status] {
- if { $status == "pass" } {
- remote_file build delete $execname;
- }
- }
-}
-
-#
-# search_for -- looks for a string match in a file
-#
-proc search_for { file pattern } {
- set fd [open $file r]
- while { [gets $fd cur_line]>=0 } {
- if [string match "*$pattern*" $cur_line] then {
- close $fd
- return 1
- }
- }
- close $fd
- return 0
-}
-
-#
-# c-torture -- the c-torture testcase source file processor
-#
-# This runs compilation only tests (no execute tests).
-# SRC is the full pathname of the testcase, or just a file name in which case
-# we prepend $srcdir/$subdir.
-#
-# If the testcase has an associated .x file, we source that to run the
-# test instead. We use .x so that we don't lengthen the existing filename
-# to more than 14 chars.
-#
-proc c-torture { args } {
- global srcdir subdir
-
- set src [lindex $args 0];
- if { [llength $args] > 1 } {
- set options [lindex $args 1];
- } else {
- set options ""
- }
-
- # Prepend $srdir/$subdir if missing.
- if ![string match "*/*" $src] {
- set src "$srcdir/$subdir/$src"
- }
-
- # Check for alternate driver.
- if [file exists [file rootname $src].x] {
- verbose "Using alternate driver [file rootname [file tail $src]].x" 2
- set done_p 0
- catch "set done_p \[source [file rootname $src].x\]"
- if { $done_p } {
- return
- }
- }
-
- # Look for a loop within the source code - if we don't find one,
- # don't pass -funroll[-all]-loops.
- global torture_with_loops torture_without_loops
- if [expr [search_for $src "for*("]+[search_for $src "while*("]] then {
- set option_list $torture_with_loops
- } else {
- set option_list $torture_without_loops
- }
-
- # loop through all the options
- foreach option $option_list {
- # torture_compile_xfail is set by the .x script (if present)
- if [info exists torture_compile_xfail] {
- setup_xfail $torture_compile_xfail
- }
-
- # torture_execute_before_compile is set by the .x script (if present)
- if [info exists torture_eval_before_compile] {
- set ignore_me [eval $torture_eval_before_compile]
- }
-
- c-torture-compile $src "$option $options"
- }
-}
diff --git a/gcc/testsuite/lib/chill.exp b/gcc/testsuite/lib/chill.exp
deleted file mode 100644
index 586e5c8cffd..00000000000
--- a/gcc/testsuite/lib/chill.exp
+++ /dev/null
@@ -1,365 +0,0 @@
-#
-# Expect script for Chill Regression Tests
-# Copyright (C) 1993, 1996, 1997 Free Software Foundation
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# Written by Jeffrey Wheat (cassidy@cygnus.com)
-#
-
-#
-# chill support library procedures and testsuite specific instructions
-#
-
-#
-# default_chill_version
-# extract and print the version number of the chill compiler
-# exits if compiler does not exist
-#
-proc default_chill_version { } {
- global GCC_UNDER_TEST
-
- # ignore any arguments after the command
- set compiler [lindex $GCC_UNDER_TEST 0]
-
- # verify that the compiler exists
- if {[which $compiler] != 0} then {
- set tmp [ exec $compiler -v ]
- regexp "version.*$" $tmp version
-
- if [info exists version] then {
- clone_output "[which $compiler] $version\n"
- }
- } else {
- warning "$compiler does not exist"
- exit -1
- }
-}
-
-#
-# chill_compile
-# compile the specified file
-#
-# returns values:
-# return 0 on success
-# return 1 on failure with $result containing compiler output
-# exit with -1 if compiler doesn't exist
-#
-# verbosity output:
-# 1 - indicate compile in progress
-# 2 - indicate compile, target name
-# 3 - indicate compile, target name, exec command, and result
-#
-proc chill_compile { src obj } {
- global GCC_UNDER_TEST
- global CFLAGS
-
- global errno
- global result
- global verbose
-
- global subdir
- global tmpdir
-
- set errno 0
- set cflags $CFLAGS
- set dumpfile [file rootname $obj].cmp ;# name of file to dump stderr in
-
- # verify that the compiler exists
- if { [which $GCC_UNDER_TEST] == 0 } then {
- warning "$GCC_UNDER_TEST does not exist"
- exit -1
- }
-
- if { $verbose == 1 } then {
- send_user "Compiling... "
- } else {
- verbose " - CMPL: Compiling [file tail $src]" 2
- }
-
- # if object type is a grt file, then only build a grant file
- if [string match "*.grt" $obj] then {
- set cflags [concat $cflags -fgrant-only]
- }
-
- # build command line
- set commandline "$GCC_UNDER_TEST $cflags -I$subdir -c $src"
-
- # write command line to logfile
- send_log "\n### EXEC: $commandline\n"
-
- # tell us whats going on if verbose
- verbose "### EXEC: $commandline" 3
-
- # exec the compiler with the appropriate flags
- set errno [catch "exec $commandline" result]
-
- # dump compiler's stderr output into $dumpfile - this is a gross hack
- set dumpfile [open $dumpfile w+]; puts $dumpfile $result; close $dumpfile
-
- # log any compiler output unless its null
- if ![string match "" $result] then { send_log "\n$result\n" }
- unset cflags
- return
-}
-
-#
-# chill_link
-# link the specified files
-#
-# returns values:
-# return 0 on success
-# return 1 on failure with $result containing compiler output
-# exit with -1 if compiler doesn't exist
-#
-# verbosity output:
-# 1 - indicate linking in progress
-# 2 - indicate linking, target name
-# 3 - indicate linking, target name, exec command, and result
-#
-proc chill_link { target } {
- global GCC_UNDER_TEST
- global CFLAGS
-
- global errno
- global result
- global verbose
- global tmptarget
-
- global crt0
- global libs
- global objs
-
- set errno 0
-
- # verify that the compiler exists
- if { [which $GCC_UNDER_TEST] == 0 } then {
- warning "$GCC_UNDER_TEST does not exist"
- exit -1
- }
-
- if { $verbose == 1 } then {
- send_user "Linking... "
- } else {
- verbose " - LINK: Linking [file tail $target]" 2
- }
-
- # verify that the object exists
- if ![file exists $target.o] then {
- set errno 1
- set result "file $target.o doesn't exist"
- return
- }
-
- # build command line
- set commandline "$GCC_UNDER_TEST $CFLAGS -o $target $target.o $objs $crt0 $libs"
-
- # write command line to logfile
- send_log "\n### EXEC: $commandline\n"
-
- # tell us whats going on if we are verbose
- verbose "### EXEC: $commandline" 3
-
- # link the objects, sending any linker output to $result
- set errno [catch "exec $commandline > $tmptarget.lnk" result]
-
- # log any linker output unless its null
- if ![string match "" $result] then { send_log "\n$result\n" }
- return
-}
-
-#
-# default_chill_start
-#
-proc default_chill_start { } {
- global srcdir
- global subdir
- global tmpdir
- global verbose
-
- if { $verbose > 1 } then { send_user "Configuring testsuite... " }
-
- # tmpdir is obtained from $objdir/site.exp. if not, set it to /tmp
- if ![info exists tmpdir] then { set tmpdir /tmp }
-
- # save and convert $srcdir to an absolute pathname, stomp on the old value
- # stomp on $subdir and set to the absolute path to the subdirectory
- global osrcdir; set osrcdir $srcdir; set srcdir [cd $srcdir; pwd]
- global osubdir; set osubdir $subdir; set subdir $srcdir/$subdir
-
- # cd the temporary directory, $tmpdir
- cd $tmpdir; verbose "### PWD: [pwd]" 5
-
- # copy init files to the tmpdir
- foreach initfile [glob -nocomplain $subdir/*.init] {
- set targfile $tmpdir/[file tail [file rootname $initfile]]
- verbose "### EXEC: cp $initfile $targfile" 5
- if [catch "exec cp $initfile $targfile"] then {
- send_user "\nConfigure failed.\n"
- exit -1
- }
- }
- if { $verbose > 1 } then { send_user "Configuring finished.\n" }
-}
-
-#
-# default_chill_exit
-#
-#
-proc default_chill_exit { } {
- global srcdir
- global objdir
- global tmpdir
- global osrcdir
- global osubdir
-
- # reset directory variables
- set srcdir $osrcdir; set subdir $osubdir
-
- # remove all generated targets and objects
- verbose "### EXEC: rm -f $tmpdir/*" 3
- catch "exec rm -f $tmpdir/*" result
-
- # change back to the main object directory
- cd $objdir
- verbose "### SANITY: [pwd]" 5
-}
-
-#
-# chill_diff
-# compare two files line-by-line
-#
-# returns values:
-# return 0 on success
-# return 1 if different
-# return -1 if output file doesn't exist
-#
-# verbosity output:
-# 1 - indicate diffing in progress
-# 2 - indicate diffing, target names
-# 3 - indicate diffing, target names, and result
-#
-proc chill_diff { file_1 file_2 } {
- global errno
- global result
- global target
- global tmptarget
-
- global verbose
-
- set eof -1
- set errno 0
- set differences 0
-
- if { $verbose == 1 } then {
- send_user "Diffing... "
- } else {
- verbose " - DIFF: Diffing [file tail $file_1] [file tail $file_2]" 2
- }
-
- # write command line to logfile
- send_log "### EXEC: diff $file_1 $file_2\n"
-
- # tell us whats going on if we are verbose
- verbose "### EXEC: diff $file_1 $file_2" 3
-
- # verify file exists and open it
- if [file exists $file_1] then {
- set file_a [open $file_1 r]
- } else {
- set errno -1; set result "$file_1 doesn't exist"
- return
- }
-
- # verify file exists and is not zero length, and then open it
- if [file exists $file_2] then {
- if [file size $file_2]!=0 then {
- set file_b [open $file_2 r]
- } else {
- set errno -1; set result "$file_2 is zero bytes"; return
- }
- } else {
- set errno -1; set result "$file_2 doesn't exist"; return
- }
-
- # spoof the diff routine
- lappend list_a $target
-
- while { [gets $file_a line] != $eof } {
- if [regexp "^#.*$" $line] then {
- continue
- } else {
- lappend list_a $line
- }
- }
- close $file_a
-
- # spoof the diff routine
- lappend list_b $target
-
- while { [gets $file_b line] != $eof } {
- if [regexp "^#.*$" $line] then {
- continue
- } else {
- # use [file tail $line] to strip off pathname
- lappend list_b [file tail $line]
- }
- }
- close $file_b
-
- for { set i 0 } { $i < [llength $list_a] } { incr i } {
- set line_a [lindex $list_a $i]
- set line_b [lindex $list_b $i]
-
- if [string compare $line_a $line_b] then {
- set errno 1
- set count [expr $i+1]
- set linenum [format %dc%d $count $count]
- verbose "$linenum" 3
- verbose "< $line_a" 3
- verbose "---" 3
- verbose "> $line_b" 3
-
- send_log "$file_1: < $count: $line_a\n"
- send_log "$file_2: > $count: $line_b\n"
- set result "differences found"
- }
- }
- return
-}
-
-#
-# chill_fail
-# a wrapper around the framework fail proc
-#
-proc chill_fail { target result } {
- global verbose
-
- if { $verbose == 1 } then { send_user "\n" }
- fail $target
- verbose "--------------------------------------------------" 3
- verbose "### RESULT: $result" 3
-}
-
-#
-# chill_pass
-# a wrapper around the framework fail proc
-#
-proc chill_pass { target } {
- global verbose
-
- if { $verbose == 1 } then { send_user "\n" }
- pass $target
-}
diff --git a/gcc/testsuite/lib/f-torture.exp b/gcc/testsuite/lib/f-torture.exp
deleted file mode 100644
index 6596b6f2354..00000000000
--- a/gcc/testsuite/lib/f-torture.exp
+++ /dev/null
@@ -1,317 +0,0 @@
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@gnu.org.
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-
-# The default option list can be overridden by
-# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
-
-if ![info exists TORTURE_OPTIONS] {
- # FIXME: We should test -g at least once.
- set TORTURE_OPTIONS [list \
- { -O0 } { -O1 } { -O2 } \
- { -O2 -fomit-frame-pointer -finline-functions } \
- { -O2 -fomit-frame-pointer -finline-functions -funroll-loops } \
- { -O2 -fomit-frame-pointer -finline-functions -funroll-all-loops } \
- { -Os }]
-}
-
-
-# Split TORTURE_OPTIONS into two choices: one for testcases with loops and
-# one for testcases without loops.
-
-set torture_with_loops $TORTURE_OPTIONS
-set torture_without_loops ""
-foreach option $TORTURE_OPTIONS {
- if ![string match "*loop*" $option] {
- lappend torture_without_loops $option
- }
-}
-
-#
-# f-torture-compile -- runs the Tege C-torture test
-#
-# SRC is the full pathname of the testcase.
-# OPTION is the specific compiler flag we're testing (eg: -O2).
-#
-proc f-torture-compile { src option } {
- global output
- global srcdir tmpdir
- global host_triplet
-
- set output "$tmpdir/[file tail [file rootname $src]].o"
-
- regsub "^$srcdir/?" $src "" testcase
- # If we couldn't rip $srcdir out of `src' then just do the best we can.
- # The point is to reduce the unnecessary noise in the logs. Don't strip
- # out too much because different testcases with the same name can confuse
- # `test-tool'.
- if [string match "/*" $testcase] {
- set testcase "[file tail [file dirname $src]]/[file tail $src]"
- }
-
- verbose "Testing $testcase, $option" 1
-
- # Run the compiler and analyze the results.
- set options ""
- lappend options "additional_flags=-w $option"
-
- set comp_output [g77_target_compile "$src" "$output" object $options];
-
- # Set a few common compiler messages.
- set fatal_signal "*77*: Internal compiler error: program*got fatal signal"
-
- if [string match "$fatal_signal 6" $comp_output] then {
- g77_fail $testcase "Got Signal 6, $option"
- remote_file build delete $output
- return
- }
-
- if [string match "$fatal_signal 11" $comp_output] then {
- g77_fail $testcase "Got Signal 11, $option"
- remote_file build delete $output
- return
- }
-
- # We shouldn't get these because of -w, but just in case.
- if [string match "*77*:*warning:*" $comp_output] then {
- warning "$testcase: (with warnings) $option"
- send_log "$comp_output\n"
- unresolved "$testcase, $option"
- remote_file build delete $output
- return
- }
-
- set comp_output [prune_warnings $comp_output]
-
- set unsupported_message [g77_check_unsupported_p $comp_output]
- if { $unsupported_message != "" } {
- unsupported "$testcase: $unsupported_message"
- remote_file build delete $output
- return
- }
-
- # remove any leftover LF/CR to make sure any output is legit
- regsub -all -- "\[\r\n\]*" $comp_output "" comp_output
- # If any message remains, we fail.
- if ![string match "" $comp_output] then {
- g77_fail $testcase $option
- remote_file build delete $output
- return
- }
-
- g77_pass $testcase $option
- remote_file build delete $output
-}
-
-#
-# f-torture-execute -- utility to compile and execute a testcase
-#
-# SRC is the full pathname of the testcase.
-#
-# If the testcase has an associated .x file, we source that to run the
-# test instead. We use .x so that we don't lengthen the existing filename
-# to more than 14 chars.
-#
-proc f-torture-execute { src } {
- global tmpdir tool srcdir output
-
- # Check for alternate driver.
- if [file exists [file rootname $src].x] {
- verbose "Using alternate driver [file rootname [file tail $src]].x" 2
- set done_p 0
- catch "set done_p \[source [file rootname $src].x\]"
- if { $done_p } {
- return
- }
- }
-
- # Look for a loop within the source code - if we don't find one,
- # don't pass -funroll[-all]-loops.
- global torture_with_loops torture_without_loops
- if [expr [search_for $src "do *\[0-9\]"]+[search_for $src "end *do"]] then {
- set option_list $torture_with_loops
- } else {
- set option_list $torture_without_loops
- }
-
- set executable $tmpdir/[file tail [file rootname $src].x]
-
- regsub "^$srcdir/?" $src "" testcase
- # If we couldn't rip $srcdir out of `src' then just do the best we can.
- # The point is to reduce the unnecessary noise in the logs. Don't strip
- # out too much because different testcases with the same name can confuse
- # `test-tool'.
- if [string match "/*" $testcase] {
- set testcase "[file tail [file dirname $src]]/[file tail $src]"
- }
-
- foreach option $option_list {
- # torture_{compile,execute}_xfail are set by the .x script
- # (if present)
- if [info exists torture_compile_xfail] {
- setup_xfail $torture_compile_xfail
- }
- remote_file build delete $executable
- verbose "Testing $testcase, $option" 1
-
- set options ""
- lappend options "additional_flags=-w $option"
- set comp_output [g77_target_compile "$src" "$executable" executable $options];
-
- # Set a few common compiler messages.
- set fatal_signal "*77*: Internal compiler error: program*got fatal signal"
-
- if [string match "$fatal_signal 6" $comp_output] then {
- g77_fail $testcase "Got Signal 6, $option"
- remote_file build delete $executable
- continue
- }
-
- if [string match "$fatal_signal 11" $comp_output] then {
- g77_fail $testcase "Got Signal 11, $option"
- remote_file build delete $executable
- continue
- }
-
- # We shouldn't get these because of -w, but just in case.
- if [string match "*77*:*warning:*" $comp_output] then {
- warning "$testcase: (with warnings) $option"
- send_log "$comp_output\n"
- unresolved "$testcase, $option"
- remote_file build delete $executable
- continue
- }
-
- set comp_output [prune_warnings $comp_output]
-
- set unsupported_message [g77_check_unsupported_p $comp_output]
-
- if { $unsupported_message != "" } {
- unsupported "$testcase: $unsupported_message"
- continue
- } elseif ![file exists $executable] {
- if ![is3way] {
- fail "$testcase compilation, $option"
- untested "$testcase execution, $option"
- continue
- } else {
- # FIXME: since we can't test for the existance of a remote
- # file without short of doing an remote file list, we assume
- # that since we got no output, it must have compiled.
- pass "$testcase compilation, $option"
- }
- } else {
- pass "$testcase compilation, $option"
- }
-
- # See if this source file uses "long long" types, if it does, and
- # no_long_long is set, skip execution of the test.
- if [target_info exists no_long_long] then {
- if [expr [search_for $src "integer\*8"]] then {
- untested "$testcase execution, $option"
- continue
- }
- }
-
- if [info exists torture_execute_xfail] {
- setup_xfail $torture_execute_xfail
- }
-
- set result [g77_load "$executable" "" ""]
- set status [lindex $result 0];
- set output [lindex $result 1];
- if { $status == "pass" } {
- remote_file build delete $executable
- }
- $status "$testcase execution, $option"
- }
-}
-
-#
-# search_for -- looks for a string match in a file
-#
-proc search_for { file pattern } {
- set fd [open $file r]
- while { [gets $fd cur_line]>=0 } {
- set lower [string tolower $cur_line]
- if [regexp "$pattern" $lower] then {
- close $fd
- return 1
- }
- }
- close $fd
- return 0
-}
-
-#
-# f-torture -- the f-torture testcase source file processor
-#
-# This runs compilation only tests (no execute tests).
-# SRC is the full pathname of the testcase, or just a file name in which case
-# we prepend $srcdir/$subdir.
-#
-# If the testcase has an associated .x file, we source that to run the
-# test instead. We use .x so that we don't lengthen the existing filename
-# to more than 14 chars.
-#
-proc f-torture { args } {
- global srcdir subdir
-
- set src [lindex $args 0];
- if { [llength $args] > 1 } {
- set options [lindex $args 1];
- } else {
- set options ""
- }
-
- # Prepend $srdir/$subdir if missing.
- if ![string match "*/*" $src] {
- set src "$srcdir/$subdir/$src"
- }
-
- # Check for alternate driver.
- if [file exists [file rootname $src].x] {
- verbose "Using alternate driver [file rootname [file tail $src]].x" 2
- set done_p 0
- catch "set done_p \[source [file rootname $src].x\]"
- if { $done_p } {
- return
- }
- }
-
- # Look for a loop within the source code - if we don't find one,
- # don't pass -funroll[-all]-loops.
- global torture_with_loops torture_without_loops
- if [expr [search_for $src "do *\[0-9\]"]+[search_for $src "end *do"]] then {
- set option_list $torture_with_loops
- } else {
- set option_list $torture_without_loops
- }
-
- # loop through all the options
- foreach option $option_list {
- # torture_compile_xfail is set by the .x script (if present)
- if [info exists torture_compile_xfail] {
- setup_xfail $torture_compile_xfail
- }
-
- f-torture-compile $src "$option $options"
- }
-}
diff --git a/gcc/testsuite/lib/g++-dg.exp b/gcc/testsuite/lib/g++-dg.exp
deleted file mode 100644
index cad429e729e..00000000000
--- a/gcc/testsuite/lib/g++-dg.exp
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright (C) 1997, 1999 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-g++@prep.ai.mit.edu
-
-# Define g++ callbacks for dg.exp.
-
-load_lib dg.exp
-
-proc g++-dg-test { prog do_what extra_tool_flags } {
- # Set up the compiler flags, based on what we're going to do.
-
- switch $do_what {
- "preprocess" {
- set compile_type "preprocess"
- set output_file "[file rootname [file tail $prog]].i"
- }
- "compile" {
- set compile_type "assembly"
- set output_file "[file rootname [file tail $prog]].s"
- }
- "assemble" {
- set compile_type "object"
- set output_file "[file rootname [file tail $prog]].o"
- }
- "link" {
- set compile_type "executable"
- set output_file "a.out"
- # The following line is needed for targets like the i960 where
- # the default output file is b.out. Sigh.
- }
- "run" {
- set compile_type "executable"
- # FIXME: "./" is to cope with "." not being in $PATH.
- # Should this be handled elsewhere?
- # YES.
- set output_file "./a.out"
- # This is the only place where we care if an executable was
- # created or not. If it was, dg.exp will try to run it.
- remote_file build delete $output_file;
- }
- default {
- perror "$do_what: not a valid dg-do keyword"
- return ""
- }
- }
- set options ""
- if { $extra_tool_flags != "" } {
- lappend options "additional_flags=$extra_tool_flags"
- }
-
- set comp_output [g++_target_compile "$prog" "$output_file" "$compile_type" $options];
-
- return [list $comp_output $output_file]
-}
-
-
-proc g++-dg-prune { system text } {
-
- # If we see "region xxx is full" then the testcase is too big for ram.
- # This is tricky to deal with in a large testsuite like c-torture so
- # deal with it here. Just mark the testcase as unsupported.
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $text] {
- # The format here is important. See dg.exp.
- return "::unsupported::memory full"
- }
-
- return $text
-}
diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp
deleted file mode 100644
index 0cc681f3293..00000000000
--- a/gcc/testsuite/lib/g++.exp
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-g++@prep.ai.mit.edu
-
-# This file was written by Rob Savoye (rob@cygnus.com)
-# Many modifications by Jeffrey Wheat (cassidy@cygnus.com)
-# With modifications by Mike Stump <mrs@cygnus.com>.
-
-#
-# g++ support library routines
-#
-
-#
-# GXX_UNDER_TEST is the compiler under test.
-#
-
-
-set gpp_compile_options ""
-
-#
-# g++_version -- extract and print the version number of the compiler
-#
-proc g++_version { } {
- global GXX_UNDER_TEST
-
- # ignore any arguments after the command
- set compiler [lindex $GXX_UNDER_TEST 0]
-
- # verify that the compiler exists
- if { [is_remote host] || [which $compiler] != 0 } then {
- set tmp [remote_exec host "$compiler -v"]
- set status [lindex $tmp 0];
- set output [lindex $tmp 1];
- regexp "version.*$" $output version
- if { $status == 0 && [info exists version] } then {
- if [is_remote host] {
- clone_output "$compiler $version\n"
- } else {
- clone_output "[which $compiler] $version\n"
- }
- } else {
- clone_output "Couldn't determine version of [which $compiler]\n"
- }
- } else {
- # compiler does not exist (this should have already been detected)
- warning "$compiler does not exist"
- }
-}
-
-#
-# g++_init -- called at the start of each subdir of tests
-#
-
-proc g++_init { args } {
- global subdir
- global gpp_initialized
- global base_dir
- global tmpdir
- global libdir
- global gluefile wrap_flags;
- global objdir srcdir
- global ALWAYS_CXXFLAGS
- global TOOL_EXECUTABLE TOOL_OPTIONS
- global GXX_UNDER_TEST
-
- if ![info exists GXX_UNDER_TEST] then {
- if [info exists TOOL_EXECUTABLE] {
- set GXX_UNDER_TEST $TOOL_EXECUTABLE;
- } else {
- if [is_remote host] {
- set GXX_UNDER_TEST [transform c++]
- } else {
- set GXX_UNDER_TEST [findfile $base_dir/../xgcc "$base_dir/../xgcc -B$base_dir/../" [findfile $base_dir/xgcc "$base_dir/xgcc -B$base_dir/" [transform c++]]]
- }
- }
- }
-
- # Bleah, nasty. Bad taste.
- if [ishost "*-dos-*" ] {
- regsub "c\\+\\+" "$GXX_UNDER_TEST" "gcc" GXX_UNDER_TEST
- }
-
- if ![is_remote host] {
- if { [which $GXX_UNDER_TEST] == 0 } then {
- perror "GXX_UNDER_TEST does not exist"
- exit 1
- }
- }
- if ![info exists tmpdir] {
- set tmpdir "/tmp"
- }
-
- if [info exists gluefile] {
- unset gluefile
- }
-
- if { [target_info needs_status_wrapper] != "" } {
- set gluefile ${tmpdir}/testglue.o;
- set result [build_wrapper $gluefile];
- if { $result != "" } {
- set gluefile [lindex $result 0];
- set wrap_flags [lindex $result 1];
- } else {
- unset gluefile
- }
- }
-
- set ALWAYS_CXXFLAGS ""
-
- if ![is_remote host] {
- lappend ALWAYS_CXXFLAGS "additional_flags=[g++_include_flags]";
- lappend ALWAYS_CXXFLAGS "ldflags=[g++_link_flags]";
- }
-
- if [info exists TOOL_OPTIONS] {
- lappend ALWAYS_CXXFLAGS "additional_flags=$TOOL_OPTIONS";
- }
-
- verbose -log "ALWAYS_CXXFLAGS set to $ALWAYS_CXXFLAGS"
-
- verbose "g++ is initialized" 3
-}
-
-
-proc g++_target_compile { source dest type options } {
- global tmpdir;
- global gpp_compile_options
- global gluefile wrap_flags
- global ALWAYS_CXXFLAGS;
- global GXX_UNDER_TEST;
-
- if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
- lappend options "libs=${gluefile}"
- lappend options "ldflags=${wrap_flags}"
- }
-
- lappend options "additional_flags=[libio_include_flags]"
- lappend options "compiler=$GXX_UNDER_TEST";
-
- set options [concat $options $gpp_compile_options]
-
- set options [concat $options "$ALWAYS_CXXFLAGS"];
-
- if { [regexp "(^| )-frepo( |$)" $options] && \
- [regexp "\.o(|bj)$" $dest] } then {
- regsub "\.o(|bj)$" $dest ".rpo" rponame
- exec rm -f $rponame
- }
-
- return [target_compile $source $dest $type $options]
-}
-
-proc g++_exit { args } {
- global gluefile;
-
- if [info exists gluefile] {
- file_on_build delete $gluefile;
- unset gluefile;
- }
-}
-
-# If this is an older version of dejagnu (without runtest_file_p),
-# provide one and assume the old syntax: foo1.exp bar1.c foo2.exp bar2.c.
-# This can be deleted after the next dejagnu release.
-
-if { [info procs runtest_file_p] == "" } then {
- proc runtest_file_p { runtests testcase } {
- if { $runtests != "" && [regexp "\[.\]\[cC\]" $runtests] } then {
- if { [lsearch $runtests [file tail $testcase]] >= 0 } then {
- return 1
- } else {
- return 0
- }
- }
- return 1
- }
-}
-
-# Provide a definition of this if missing (delete after next dejagnu release).
-
-if { [info procs prune_warnings] == "" } then {
- proc prune_warnings { text } {
- return $text
- }
-}
-
-# Utility used by mike-g++.exp and old-dejagnu.exp.
-# Check the compiler(/assembler/linker) output for text indicating that
-# the testcase should be marked as "unsupported".
-#
-# When dealing with a large number of tests, it's difficult to weed out the
-# ones that are too big for a particular cpu (eg: 16 bit with a small amount
-# of memory). There are various ways to deal with this. Here's one.
-# Fortunately, all of the cases where this is likely to happen will be using
-# gld so we can tell what the error text will look like.
-
-proc ${tool}_check_unsupported_p { output } {
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
- return "memory full"
- }
- return ""
-}
-
-proc ${tool}_option_help { } {
- send_user "--additional_options,OPTIONS\t\tUse OPTIONS to compile the testcase files. OPTIONS should be comma-separated."
-}
-
-proc ${tool}_option_proc { option } {
- if[regexp "^--additional_options," $option] {
- global gpp_compile_options
- regsub "--additional_options," $option "" option
- foreach x [split $option ","] {
- lappend gpp_compile_options "additional_flags=$x"
- }
- return 1;
- } else {
- return 0
- }
-}
diff --git a/gcc/testsuite/lib/g77.exp b/gcc/testsuite/lib/g77.exp
deleted file mode 100644
index 3b2beb34b56..00000000000
--- a/gcc/testsuite/lib/g77.exp
+++ /dev/null
@@ -1,274 +0,0 @@
-# Copyright (C) 1992, 1993, 1994, 1996, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-g77@prep.ai.mit.edu
-
-# This file was written by Rob Savoye (rob@cygnus.com)
-# Currently maintained by Doug Evans (dje@cygnus.com)
-
-# This file is loaded by the tool init file (eg: unix.exp). It provides
-# default definitions for g77_start, etc. and other supporting cast members.
-
-# These globals are used by g77_start if no compiler arguments are provided.
-# They are also used by the various testsuites to define the environment:
-# where to find stdio.h, libc.a, etc.
-
-#
-# G77_UNDER_TEST is the compiler under test.
-#
-
-#
-# default_g77_version -- extract and print the version number of the compiler
-#
-
-proc default_g77_version { } {
- global G77_UNDER_TEST
-
- g77_init;
-
- # ignore any arguments after the command
- set compiler [lindex $G77_UNDER_TEST 0]
-
- if ![is_remote host] {
- set compiler_name [which $compiler];
- } else {
- set compiler_name $compiler;
- }
-
- # verify that the compiler exists
- if { $compiler_name != 0 } then {
- set options ""
-
- lappend options "additional_flags=-v"
- set tmp [g77_target_compile "" "" "none" $options]
- regexp "g77 version\[^\n\]*" $tmp version
- if { [info exists version] } then {
- clone_output "$compiler_name $version\n"
- } else {
- clone_output "Couldn't determine version of $compiler_name: $tmp\n"
- }
- } else {
- # compiler does not exist (this should have already been detected)
- warning "$compiler does not exist"
- }
-}
-
-#
-# Call g77_version. We do it this way so we can override it if needed.
-#
-proc g77_version { } {
- default_g77_version;
-}
-
-#
-# g77_init -- called at the start of each .exp script.
-#
-# There currently isn't much to do, but always using it allows us to
-# make some enhancements without having to go back and rewrite the scripts.
-#
-
-set g77_initialized 0
-
-proc g77_init { args } {
- global tmpdir
- global libdir
- global gluefile wrap_flags
- global g77_initialized
- global G77_UNDER_TEST
- global TOOL_EXECUTABLE
-
- if { $g77_initialized == 1 } { return; }
-
- if ![info exists G77_UNDER_TEST] then {
- if [info exists TOOL_EXECUTABLE] {
- set G77_UNDER_TEST $TOOL_EXECUTABLE;
- } else {
- set G77_UNDER_TEST [find_g77]
- }
- }
-
- if ![info exists tmpdir] then {
- set tmpdir /tmp
- }
- if { [target_info needs_status_wrapper]!="" && ![info exists gluefile] } {
- set gluefile ${tmpdir}/testglue.o;
- set result [build_wrapper $gluefile];
- if { $result != "" } {
- set gluefile [lindex $result 0];
- set wrap_flags [lindex $result 1];
- } else {
- unset gluefile
- }
- }
-}
-
-proc g77_target_compile { source dest type options } {
- global tmpdir;
- global gluefile wrap_flags;
- global G77_UNDER_TEST
- global TOOL_OPTIONS
-
- if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
- lappend options "libs=${gluefile}"
- lappend options "ldflags=$wrap_flags"
- }
-
- if [target_info exists g77,stack_size] {
- lappend options "additional_flags=-DSTACK_SIZE=[target_info g77,stack_size]"
- }
- if [target_info exists g77,no_trampolines] {
- lappend options "additional_flags=-DNO_TRAMPOLINES"
- }
- if [target_info exists g77,no_label_values] {
- lappend options "additional_flags=-DNO_LABEL_VALUES"
- }
- if [info exists TOOL_OPTIONS] {
- lappend options "additional_flags=$TOOL_OPTIONS"
- }
- if [target_info exists g77,no_varargs] {
- lappend options "additional_flags=-DNO_VARARGS"
- }
- if ![is_remote host] {
- set gccpath "[get_multilibs]"
- set libg2c_dir [lookfor_file ${gccpath} libf2c/libg2c.a]
- if { $libg2c_dir != "" } {
- set libg2c_link_flags "-L[file dirname ${libg2c_dir}]"
- lappend options "additional_flags=${libg2c_link_flags}"
- }
- }
- lappend options "compiler=$G77_UNDER_TEST"
- return [target_compile $source $dest $type $options]
-}
-
-#
-# g77_pass -- utility to record a testcase passed
-#
-
-proc g77_pass { testcase cflags } {
- if { "$cflags" == "" } {
- pass "$testcase"
- } else {
- pass "$testcase, $cflags"
- }
-}
-
-#
-# g77_fail -- utility to record a testcase failed
-#
-
-proc g77_fail { testcase cflags } {
- if { "$cflags" == "" } {
- fail "$testcase"
- } else {
- fail "$testcase, $cflags"
- }
-}
-
-#
-# g77_finish -- called at the end of every .exp script that calls g77_init
-#
-# The purpose of this proc is to hide all quirks of the testing environment
-# from the testsuites. It also exists to undo anything that g77_init did
-# (that needs undoing).
-#
-
-proc g77_finish { } {
- # The testing harness apparently requires this.
- global errorInfo;
-
- if [info exists errorInfo] then {
- unset errorInfo
- }
-
- # Might as well reset these (keeps our caller from wondering whether
- # s/he has to or not).
- global prms_id bug_id
- set prms_id 0
- set bug_id 0
-}
-
-proc g77_exit { } {
- global gluefile;
-
- if [info exists gluefile] {
- file_on_build delete $gluefile;
- unset gluefile;
- }
-}
-
-# If this is an older version of dejagnu (without runtest_file_p),
-# provide one and assume the old syntax: foo1.exp bar1.c foo2.exp bar2.c.
-# This can be deleted after next dejagnu release.
-
-if { [info procs runtest_file_p] == "" } then {
- proc runtest_file_p { runtests testcase } {
- if { $runtests != "" && [regexp "\[.\]\[cC\]" $runtests] } then {
- if { [lsearch $runtests [file tail $testcase]] >= 0 } then {
- return 1
- } else {
- return 0
- }
- }
- return 1
- }
-}
-
-# Provide a definition of this if missing (delete after next dejagnu release).
-
-if { [info procs prune_warnings] == "" } then {
- proc prune_warnings { text } {
- return $text
- }
-}
-
-# Utility used by mike-gcc.exp and c-torture.exp.
-# Check the compiler(/assembler/linker) output for text indicating that
-# the testcase should be marked as "unsupported".
-#
-# When dealing with a large number of tests, it's difficult to weed out the
-# ones that are too big for a particular cpu (eg: 16 bit with a small amount
-# of memory). There are various ways to deal with this. Here's one.
-# Fortunately, all of the cases where this is likely to happen will be using
-# gld so we can tell what the error text will look like.
-
-proc ${tool}_check_unsupported_p { output } {
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
- return "memory full"
- }
- return ""
-}
-
-# Prune messages from g77 that aren't useful.
-
-proc prune_g77_output { text } {
- #send_user "Before:$text\n"
- regsub -all "(^|\n)\[^\n\]*: In (function|method) \[^\n\]*" $text "" text
- regsub -all "(^|\n)\[^\n\]*: At top level:\[^\n\]*" $text "" text
-
- # It would be nice to avoid passing anything to g77 that would cause it to
- # issue these messages (since ignoring them seems like a hack on our part),
- # but that's too difficult in the general case. For example, sometimes
- # you need to use -B to point g77 at crt0.o, but there are some targets
- # that don't have crt0.o.
- regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $text "" text
- regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $text "" text
-
- #send_user "After:$text\n"
-
- return $text
-}
-
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
deleted file mode 100644
index 04cb8b798d1..00000000000
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# Define gcc callbacks for dg.exp.
-
-load_lib dg.exp
-
-proc gcc-dg-test { prog do_what extra_tool_flags } {
- # Set up the compiler flags, based on what we're going to do.
-
- switch $do_what {
- "preprocess" {
- set compile_type "preprocess"
- set output_file "[file rootname [file tail $prog]].i"
- }
- "compile" {
- set compile_type "assembly"
- set output_file "[file rootname [file tail $prog]].s"
- }
- "assemble" {
- set compile_type "object"
- set output_file "[file rootname [file tail $prog]].o"
- }
- "link" {
- set compile_type "executable"
- set output_file "a.out"
- # The following line is needed for targets like the i960 where
- # the default output file is b.out. Sigh.
- }
- "run" {
- set compile_type "executable"
- # FIXME: "./" is to cope with "." not being in $PATH.
- # Should this be handled elsewhere?
- # YES.
- set output_file "./a.out"
- # This is the only place where we care if an executable was
- # created or not. If it was, dg.exp will try to run it.
- remote_file build delete $output_file;
- }
- default {
- perror "$do_what: not a valid dg-do keyword"
- return ""
- }
- }
- set options ""
- if { $extra_tool_flags != "" } {
- lappend options "additional_flags=$extra_tool_flags"
- }
-
- set comp_output [gcc_target_compile "$prog" "$output_file" "$compile_type" $options];
-
- return [list $comp_output $output_file]
-}
-
-
-proc gcc-dg-prune { system text } {
- set text [prune_gcc_output $text]
-
- # If we see "region xxx is full" then the testcase is too big for ram.
- # This is tricky to deal with in a large testsuite like c-torture so
- # deal with it here. Just mark the testcase as unsupported.
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $text] {
- # The format here is important. See dg.exp.
- return "::unsupported::memory full"
- }
-
- return $text
-}
diff --git a/gcc/testsuite/lib/gcc.exp b/gcc/testsuite/lib/gcc.exp
deleted file mode 100644
index e9ad6782aef..00000000000
--- a/gcc/testsuite/lib/gcc.exp
+++ /dev/null
@@ -1,325 +0,0 @@
-# Copyright (C) 1992, 1993, 1994, 1996, 1997, 1999 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# This file was written by Rob Savoye (rob@cygnus.com)
-# Currently maintained by Doug Evans (dje@cygnus.com)
-
-# This file is loaded by the tool init file (eg: unix.exp). It provides
-# default definitions for gcc_start, etc. and other supporting cast members.
-
-# These globals are used by gcc_start if no compiler arguments are provided.
-# They are also used by the various testsuites to define the environment:
-# where to find stdio.h, libc.a, etc.
-
-# we want to use libgloss so we can get find_gcc.
-load_lib libgloss.exp
-
-#
-# GCC_UNDER_TEST is the compiler under test.
-#
-
-#
-# default_gcc_version -- extract and print the version number of the compiler
-#
-
-proc default_gcc_version { } {
- global GCC_UNDER_TEST
-
- gcc_init;
-
- # ignore any arguments after the command
- set compiler [lindex $GCC_UNDER_TEST 0]
-
- if ![is_remote host] {
- set compiler_name [which $compiler];
- } else {
- set compiler_name $compiler;
- }
-
- # verify that the compiler exists
- if { $compiler_name != 0 } then {
- set tmp [remote_exec host "$compiler -v"]
- set status [lindex $tmp 0];
- set output [lindex $tmp 1];
- regexp "version.*$" $output version
- if { $status == 0 && [info exists version] } then {
- clone_output "$compiler_name $version\n"
- } else {
- clone_output "Couldn't determine version of $compiler_name: $output\n"
- }
- } else {
- # compiler does not exist (this should have already been detected)
- warning "$compiler does not exist"
- }
-}
-
-#
-# Call gcc_version. We do it this way so we can override it if needed.
-#
-proc gcc_version { } {
- default_gcc_version;
-}
-
-#
-# gcc_init -- called at the start of each .exp script.
-#
-# There currently isn't much to do, but always using it allows us to
-# make some enhancements without having to go back and rewrite the scripts.
-#
-
-set gcc_initialized 0
-
-proc gcc_init { args } {
- global tmpdir
- global libdir
- global gluefile wrap_flags
- global gcc_initialized
- global GCC_UNDER_TEST
- global TOOL_EXECUTABLE
-
- if { $gcc_initialized == 1 } { return; }
-
- if ![info exists GCC_UNDER_TEST] {
- if [info exists TOOL_EXECUTABLE] {
- set GCC_UNDER_TEST $TOOL_EXECUTABLE;
- } else {
- set GCC_UNDER_TEST "[find_gcc]"
- }
- }
-
- if ![info exists tmpdir] then {
- set tmpdir /tmp
- }
- if { [target_info needs_status_wrapper]!="" && ![info exists gluefile] } {
- set gluefile ${tmpdir}/testglue.o;
- set result [build_wrapper $gluefile];
- if { $result != "" } {
- set gluefile [lindex $result 0];
- set wrap_flags [lindex $result 1];
- } else {
- unset gluefile
- }
- }
-}
-
-proc gcc_target_compile { source dest type options } {
- global tmpdir;
- global gluefile wrap_flags;
- global GCC_UNDER_TEST
- global TOOL_OPTIONS
-
- if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
- lappend options "libs=${gluefile}"
- lappend options "ldflags=$wrap_flags"
- }
-
- if [target_info exists gcc,stack_size] {
- lappend options "additional_flags=-DSTACK_SIZE=[target_info gcc,stack_size]"
- }
- if [target_info exists gcc,no_trampolines] {
- lappend options "additional_flags=-DNO_TRAMPOLINES"
- }
- if [target_info exists gcc,no_label_values] {
- lappend options "additional_flags=-DNO_LABEL_VALUES"
- }
- if [info exists TOOL_OPTIONS] {
- lappend options "additional_flags=$TOOL_OPTIONS"
- }
- if [target_info exists gcc,no_varargs] {
- lappend options "additional_flags=-DNO_VARARGS"
- }
- if [target_info exists gcc,timeout] {
- lappend options "timeout=[target_info gcc,timeout]"
- }
- lappend options "compiler=$GCC_UNDER_TEST"
- return [target_compile $source $dest $type $options]
-}
-
-
-# Reports pass/fail for a gcc compilation and returns true/false.
-proc gcc_check_compile {testcase option objname gcc_output} {
-
- set fatal_signal "*cc: Internal compiler error: program*got fatal signal"
-
- if [string match "$fatal_signal 6" $gcc_output] then {
- gcc_fail $testcase "Got Signal 6, $option"
- return 0
- }
-
- if [string match "$fatal_signal 11" $gcc_output] then {
- gcc_fail $testcase "Got Signal 11, $option"
- return 0
- }
-
- # We shouldn't get these because of -w, but just in case.
- if [string match "*cc:*warning:*" $gcc_output] then {
- warning "$testcase: (with warnings) $option"
- send_log "$gcc_output\n"
- unresolved "$testcase, $option"
- return 0
- }
-
- set gcc_output [prune_warnings $gcc_output]
-
- set unsupported_message [gcc_check_unsupported_p $gcc_output]
- if { $unsupported_message != "" } {
- unsupported "$testcase: $unsupported_message"
- return 0
- }
-
- # remove any leftover LF/CR to make sure any output is legit
- regsub -all -- "\[\r\n\]*" $gcc_output "" gcc_output
-
- # If any message remains, we fail.
- if ![string match "" $gcc_output] then {
- gcc_fail $testcase $option
- return 0
- }
-
- # fail if the desired object file doesn't exist.
- # FIXME: there's no way of checking for existence on a remote host.
- if {$objname != "" && ![is3way] && ![file exists $objname]} {
- gcc_fail $testcase $option
- return 0
- }
-
- gcc_pass $testcase $option
- return 1
-}
-
-
-
-#
-# gcc_pass -- utility to record a testcase passed
-#
-
-proc gcc_pass { testcase cflags } {
- if { "$cflags" == "" } {
- pass "$testcase"
- } else {
- pass "$testcase, $cflags"
- }
-}
-
-#
-# gcc_fail -- utility to record a testcase failed
-#
-
-proc gcc_fail { testcase cflags } {
- if { "$cflags" == "" } {
- fail "$testcase"
- } else {
- fail "$testcase, $cflags"
- }
-}
-
-#
-# gcc_finish -- called at the end of every .exp script that calls gcc_init
-#
-# The purpose of this proc is to hide all quirks of the testing environment
-# from the testsuites. It also exists to undo anything that gcc_init did
-# (that needs undoing).
-#
-
-proc gcc_finish { } {
- # The testing harness apparently requires this.
- global errorInfo;
-
- if [info exists errorInfo] then {
- unset errorInfo
- }
-
- # Might as well reset these (keeps our caller from wondering whether
- # s/he has to or not).
- global prms_id bug_id
- set prms_id 0
- set bug_id 0
-}
-
-proc gcc_exit { } {
- global gluefile;
-
- if [info exists gluefile] {
- file_on_build delete $gluefile;
- unset gluefile;
- }
-}
-
-# If this is an older version of dejagnu (without runtest_file_p),
-# provide one and assume the old syntax: foo1.exp bar1.c foo2.exp bar2.c.
-# This can be deleted after next dejagnu release.
-
-if { [info procs runtest_file_p] == "" } then {
- proc runtest_file_p { runtests testcase } {
- if { $runtests != "" && [regexp "\[.\]\[cC\]" $runtests] } then {
- if { [lsearch $runtests [file tail $testcase]] >= 0 } then {
- return 1
- } else {
- return 0
- }
- }
- return 1
- }
-}
-
-# Provide a definition of this if missing (delete after next dejagnu release).
-
-if { [info procs prune_warnings] == "" } then {
- proc prune_warnings { text } {
- return $text
- }
-}
-
-# Utility used by mike-gcc.exp and c-torture.exp.
-# Check the compiler(/assembler/linker) output for text indicating that
-# the testcase should be marked as "unsupported".
-#
-# When dealing with a large number of tests, it's difficult to weed out the
-# ones that are too big for a particular cpu (eg: 16 bit with a small amount
-# of memory). There are various ways to deal with this. Here's one.
-# Fortunately, all of the cases where this is likely to happen will be using
-# gld so we can tell what the error text will look like.
-
-proc ${tool}_check_unsupported_p { output } {
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
- return "memory full"
- }
- return ""
-}
-
-# Prune messages from gcc that aren't useful.
-
-proc prune_gcc_output { text } {
- #send_user "Before:$text\n"
- regsub -all "(^|\n)\[^\n\]*: In (function|method) \[^\n\]*" $text "" text
- regsub -all "(^|\n)\[^\n\]*: At top level:\[^\n\]*" $text "" text
-
- # It would be nice to avoid passing anything to gcc that would cause it to
- # issue these messages (since ignoring them seems like a hack on our part),
- # but that's too difficult in the general case. For example, sometimes
- # you need to use -B to point gcc at crt0.o, but there are some targets
- # that don't have crt0.o.
- regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $text "" text
- regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $text "" text
-
- #send_user "After:$text\n"
-
- return $text
-}
-
diff --git a/gcc/testsuite/lib/mike-g++.exp b/gcc/testsuite/lib/mike-g++.exp
deleted file mode 100644
index 10a1d2bcbb9..00000000000
--- a/gcc/testsuite/lib/mike-g++.exp
+++ /dev/null
@@ -1,264 +0,0 @@
-# Copyright (C) 1988, 90, 91, 92, 95, 96, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# This file was written by Mike Stump <mrs@cygnus.com>
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-g++@prep.ai.mit.edu
-
-#
-# mike_cleanup -- remove any files that are created by the testcase
-#
-proc mike_cleanup { src_code output_file assembly_file } {
- remote_file build delete $output_file $assembly_file;
-}
-
-#
-# prebase -- sets up a Mike Stump (mrs@cygnus.com) style G++ test
-#
-proc prebase { } {
- global compiler_output
- global not_compiler_output
- global compiler_result
- global not_compiler_result
- global program_output
- global groups
- global run
- global actions
- global target_regexp
-
- set compiler_output "^$"
- set not_compiler_output ".*Internal compiler error.*"
- set compiler_result ""
- set not_compiler_result ""
- set program_output ".*PASS.*"
- set groups {}
- set run no
- set actions assemble
- set target_regexp ".*"
-}
-
-#
-# run the test
-#
-proc postbase { src_code run groups args } {
- global verbose
- global srcdir
- global subdir
- global not_compiler_output
- global compiler_output
- global compiler_result
- global not_compiler_result
- global program_output
- global actions
- global target_regexp
- global host_triplet
- global target_triplet
- global tool
- global tmpdir
- global objdir
- global base_dir
-
- if ![regexp $target_regexp $target_triplet] {
- unsupported $subdir/$src_code
- return
- }
-
- if { [llength $args] > 0 } {
- set comp_options [lindex $args 0];
- } else {
- set comp_options ""
- }
-
- set fail_message $subdir/$src_code
- set pass_message $subdir/$src_code
-
- if [info exists GROUP] {
- if {[lsearch $groups $GROUP] == -1} {
- return
- }
- }
-
- if [string match $run yes] {
- set actions run
- }
-
- set output_file "$tmpdir/[file tail [file rootname $src_code]]"
- set assembly_file "$output_file"
- append assembly_file ".S"
-
- set compile_type "none"
-
- case $actions {
- compile
- {
- set compile_type "assembly";
- set output_file $assembly_file;
- }
- assemble
- {
- set compile_type "object";
- append output_file ".o";
- }
- link
- {
- set compile_type "executable";
- set output_file "$tmpdir/a.out";
- }
- run
- {
- set compile_type "executable";
- set output_file "$tmpdir/a.out";
- set run yes;
- }
- default
- {
- set output_file "";
- set compile_type "none";
- }
- }
-
- set src_file "$srcdir/$subdir/$src_code"
- set options ""
-
- if { $comp_options != "" } {
- lappend options "additional_flags=$comp_options"
- }
-
- if ![ishost "*-dos-*"] {
- lappend options "libs=-lstdc++ -lg++"
- } else {
- lappend options "libs=-lstdcxx -lgxx"
- }
-
- set comp_output [g++_target_compile $src_file $output_file $compile_type $options]
-
- set pass no
-
- # Delete things like "ld.so warning" messages.
- set comp_output [prune_warnings $comp_output]
-
- if [regexp -- $not_compiler_output $comp_output] {
- if { $verbose > 1 } {
- send_user "\nChecking:\n$not_compiler_output\nto make sure it does not match:\n$comp_output\nbut it does.\n\n"
- } else {
- send_log "\nCompiler output:\n$comp_output\n\n"
- }
- fail $fail_message
- # The framework doesn't like to see any error remnants,
- # so remove them.
- uplevel {
- if [info exists errorInfo] {
- unset errorInfo
- }
- }
- mike_cleanup $src_code $output_file $assembly_file
- return
- }
-
- # remove any leftover CRs.
- regsub -all -- "\r" $comp_output "" comp_output
-
- regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $comp_output "" comp_output
-
- set unsupported_message [${tool}_check_unsupported_p $comp_output]
- if { $unsupported_message != "" } {
- unsupported "$subdir/$src_code: $unsupported_message"
- mike_cleanup $src_code $output_file $assembly_file
- return
- }
-
- if { $verbose > 1 } {
- send_user "\nChecking:\n$compiler_output\nto see if it matches:\n$comp_output\n"
- } else {
- send_log "\nCompiler output:\n$comp_output\n\n"
- }
- if [regexp -- $compiler_output $comp_output] {
- if { $verbose > 1 } {
- send_user "Yes, it matches.\n\n"
- }
- set pass yes
- if [file exists [file rootname [file tail $src_code]].s] {
- set fd [open [file rootname [file tail $src_code]].s r]
- set dot_s [read $fd]
- close $fd
- if { $compiler_result != "" } {
- verbose "Checking .s file for $compiler_result" 2
- if [regexp -- $compiler_result $dot_s] {
- verbose "Yes, it matches." 2
- } else {
- verbose "Nope, doesn't match." 2
- verbose $dot_s 4
- set pass no
- }
- }
- if { $not_compiler_result != "" } {
- verbose "Checking .s file for not $not_compiler_result" 2
- if ![regexp -- $not_compiler_result $dot_s] {
- verbose "Nope, not found (that's good)." 2
- } else {
- verbose "Uh oh, it was found." 2
- verbose $dot_s 4
- set pass no
- }
- }
- }
- if [string match $run yes] {
- set result [g++_load $output_file]
- set status [lindex $result 0];
- set output [lindex $result 1];
-
- if { $status == -1 } {
- mike_cleanup $src_code $output_file $assembly_file;
- return;
- }
- if { $verbose > 1 } {
- send_user "Checking:\n$program_output\nto see if it matches:\n$output\n\n"
- }
- if ![regexp -- $program_output $output] {
- set pass no
- if { $verbose > 1 } {
- send_user "Nope, does not match.\n\n"
- }
- } else {
- if { $verbose > 1 } {
- send_user "Yes, it matches.\n\n"
- }
- }
- }
- } else {
- if { $verbose > 1 } {
- send_user "Nope, does not match.\n\n"
- }
- }
-
- if [string match $pass "yes"] {
- pass $pass_message
- } else {
- fail $fail_message
- }
-
- # The framework doesn't like to see any error remnants,
- # so remove them.
- uplevel {
- if [info exists errorInfo] {
- unset errorInfo
- }
- }
-
- mike_cleanup $src_code $output_file $assembly_file
-}
diff --git a/gcc/testsuite/lib/mike-g77.exp b/gcc/testsuite/lib/mike-g77.exp
deleted file mode 100644
index a3e12d429f0..00000000000
--- a/gcc/testsuite/lib/mike-g77.exp
+++ /dev/null
@@ -1,262 +0,0 @@
-# Copyright (C) 1988, 90, 91, 92, 95, 96, 97, 1998 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# This file was derived from mike-g++.exp written by Mike Stump <mrs@cygnus.com>
-
-# Please email any bugs, comments, and/or additions to this file to:
-# fortran@gnu.org
-
-#
-# mike_cleanup -- remove any files that are created by the testcase
-#
-proc mike_cleanup { src_code output_file assembly_file } {
- remote_file build delete $output_file $assembly_file;
-}
-
-#
-# prebase -- sets up a Mike Stump (mrs@cygnus.com) style g77 test
-#
-proc prebase { } {
- global compiler_output
- global not_compiler_output
- global compiler_result
- global not_compiler_result
- global program_output
- global groups
- global run
- global actions
- global target_regexp
-
- set compiler_output "^$"
- set not_compiler_output ".*Internal compiler error.*"
- set compiler_result ""
- set not_compiler_result ""
- set program_output ".*PASS.*"
- set groups {}
- set run no
- set actions assemble
- set target_regexp ".*"
-}
-
-#
-# run the test
-#
-proc postbase { src_code run groups args } {
- global verbose
- global srcdir
- global subdir
- global not_compiler_output
- global compiler_output
- global compiler_result
- global not_compiler_result
- global program_output
- global actions
- global target_regexp
- global host_triplet
- global target_triplet
- global tool
- global tmpdir
- global G77_UNDER_TEST
- global GROUP
-
- if ![info exists G77_UNDER_TEST] {
- error "No compiler specified for testing."
- }
-
- if ![regexp $target_regexp $target_triplet] {
- unsupported $subdir/$src_code
- return
- }
-
- if { [llength $args] > 0 } {
- set comp_options [lindex $args 0];
- } else {
- set comp_options ""
- }
-
- set fail_message $subdir/$src_code
- set pass_message $subdir/$src_code
-
- if [info exists GROUP] {
- if {[lsearch $groups $GROUP] == -1} {
- return
- }
- }
-
- if [string match $run yes] {
- set actions run
- }
-
- set output_file "$tmpdir/[file tail [file rootname $src_code]]"
- set assembly_file "$output_file"
- append assembly_file ".S"
-
- set compile_type "none"
-
- case $actions {
- compile
- {
- set compile_type "assembly";
- set output_file $assembly_file;
- }
- assemble
- {
- set compile_type "object";
- append output_file ".o";
- }
- link
- {
- set compile_type "executable";
- set output_file "$tmpdir/a.out";
- }
- run
- {
- set compile_type "executable";
- set output_file "$tmpdir/a.out";
- set run yes;
- }
- default
- {
- set output_file "";
- set compile_type "none";
- }
- }
-
- set src_file "$srcdir/$subdir/$src_code"
- set options ""
- lappend options "compiler=$G77_UNDER_TEST"
-
- if { $comp_options != "" } {
- lappend options "additional_flags=$comp_options"
- }
-
- set comp_output [g77_target_compile $src_file $output_file $compile_type $options];
-
- set pass no
-
- # Delete things like "ld.so warning" messages.
- set comp_output [prune_warnings $comp_output]
-
- if [regexp -- $not_compiler_output $comp_output] {
- if { $verbose > 1 } {
- send_user "\nChecking:\n$not_compiler_output\nto make sure it does not match:\n$comp_output\nbut it does.\n\n"
- } else {
- send_log "\nCompiler output:\n$comp_output\n\n"
- }
- fail $fail_message
- # The framework doesn't like to see any error remnants,
- # so remove them.
- uplevel {
- if [info exists errorInfo] {
- unset errorInfo
- }
- }
- mike_cleanup $src_code $output_file $assembly_file
- return
- }
-
- # remove any leftover CRs.
- regsub -all -- "\r" $comp_output "" comp_output
-
- regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $comp_output "" comp_output
-
- set unsupported_message [${tool}_check_unsupported_p $comp_output]
- if { $unsupported_message != "" } {
- unsupported "$subdir/$src_code: $unsupported_message"
- mike_cleanup $src_code $output_file $assembly_file
- return
- }
-
- if { $verbose > 1 } {
- send_user "\nChecking:\n$compiler_output\nto see if it matches:\n$comp_output\n"
- } else {
- send_log "\nCompiler output:\n$comp_output\n\n"
- }
- if [regexp -- $compiler_output $comp_output] {
- if { $verbose > 1 } {
- send_user "Yes, it matches.\n\n"
- }
- set pass yes
- if [file exists [file rootname [file tail $src_code]].s] {
- set fd [open [file rootname [file tail $src_code]].s r]
- set dot_s [read $fd]
- close $fd
- if { $compiler_result != "" } {
- verbose "Checking .s file for $compiler_result" 2
- if [regexp -- $compiler_result $dot_s] {
- verbose "Yes, it matches." 2
- } else {
- verbose "Nope, doesn't match." 2
- verbose $dot_s 4
- set pass no
- }
- }
- if { $not_compiler_result != "" } {
- verbose "Checking .s file for not $not_compiler_result" 2
- if ![regexp -- $not_compiler_result $dot_s] {
- verbose "Nope, not found (that's good)." 2
- } else {
- verbose "Uh oh, it was found." 2
- verbose $dot_s 4
- set pass no
- }
- }
- }
- if [string match $run yes] {
- set result [g77_load $output_file]
- set status [lindex $result 0];
- set output [lindex $result 1];
- if { $status == -1 } {
- mike_cleanup $src_code $output_file $assembly_file;
- return;
- }
- if { $verbose > 1 } {
- send_user "Checking:\n$program_output\nto see if it matches:\n$output\n\n"
- }
- if ![regexp -- $program_output $output] {
- set pass no
- if { $verbose > 1 } {
- send_user "Nope, does not match.\n\n"
- }
- } else {
- if { $verbose > 1 } {
- send_user "Yes, it matches.\n\n"
- }
- }
- }
- } else {
- if { $verbose > 1 } {
- send_user "Nope, does not match.\n\n"
- }
- }
-
- if [string match $pass "yes"] {
- pass $pass_message
- } else {
- fail $fail_message
- }
-
- # The framework doesn't like to see any error remnants,
- # so remove them.
- uplevel {
- if [info exists errorInfo] {
- unset errorInfo
- }
- }
-
- mike_cleanup $src_code $output_file $assembly_file
-}
diff --git a/gcc/testsuite/lib/mike-gcc.exp b/gcc/testsuite/lib/mike-gcc.exp
deleted file mode 100644
index f9c766a9026..00000000000
--- a/gcc/testsuite/lib/mike-gcc.exp
+++ /dev/null
@@ -1,262 +0,0 @@
-# Copyright (C) 1988, 90, 91, 92, 95, 96, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# This file was derived from mike-g++.exp written by Mike Stump <mrs@cygnus.com>
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-#
-# mike_cleanup -- remove any files that are created by the testcase
-#
-proc mike_cleanup { src_code output_file assembly_file } {
- remote_file build delete $output_file $assembly_file;
-}
-
-#
-# prebase -- sets up a Mike Stump (mrs@cygnus.com) style gcc test
-#
-proc prebase { } {
- global compiler_output
- global not_compiler_output
- global compiler_result
- global not_compiler_result
- global program_output
- global groups
- global run
- global actions
- global target_regexp
-
- set compiler_output "^$"
- set not_compiler_output ".*Internal compiler error.*"
- set compiler_result ""
- set not_compiler_result ""
- set program_output ".*PASS.*"
- set groups {}
- set run no
- set actions assemble
- set target_regexp ".*"
-}
-
-#
-# run the test
-#
-proc postbase { src_code run groups args } {
- global verbose
- global srcdir
- global subdir
- global not_compiler_output
- global compiler_output
- global compiler_result
- global not_compiler_result
- global program_output
- global actions
- global target_regexp
- global host_triplet
- global target_triplet
- global tool
- global tmpdir
- global GCC_UNDER_TEST
- global GROUP
-
- if ![info exists GCC_UNDER_TEST] {
- error "No compiler specified for testing."
- }
-
- if ![regexp $target_regexp $target_triplet] {
- unsupported $subdir/$src_code
- return
- }
-
- if { [llength $args] > 0 } {
- set comp_options [lindex $args 0];
- } else {
- set comp_options ""
- }
-
- set fail_message $subdir/$src_code
- set pass_message $subdir/$src_code
-
- if [info exists GROUP] {
- if {[lsearch $groups $GROUP] == -1} {
- return
- }
- }
-
- if [string match $run yes] {
- set actions run
- }
-
- set output_file "$tmpdir/[file tail [file rootname $src_code]]"
- set assembly_file "$output_file"
- append assembly_file ".S"
-
- set compile_type "none"
-
- case $actions {
- compile
- {
- set compile_type "assembly";
- set output_file $assembly_file;
- }
- assemble
- {
- set compile_type "object";
- append output_file ".o";
- }
- link
- {
- set compile_type "executable";
- set output_file "$tmpdir/a.out";
- }
- run
- {
- set compile_type "executable";
- set output_file "$tmpdir/a.out";
- set run yes;
- }
- default
- {
- set output_file "";
- set compile_type "none";
- }
- }
-
- set src_file "$srcdir/$subdir/$src_code"
- set options ""
- lappend options "compiler=$GCC_UNDER_TEST"
-
- if { $comp_options != "" } {
- lappend options "additional_flags=$comp_options"
- }
-
- set comp_output [gcc_target_compile $src_file $output_file $compile_type $options];
-
- set pass no
-
- # Delete things like "ld.so warning" messages.
- set comp_output [prune_warnings $comp_output]
-
- if [regexp -- $not_compiler_output $comp_output] {
- if { $verbose > 1 } {
- send_user "\nChecking:\n$not_compiler_output\nto make sure it does not match:\n$comp_output\nbut it does.\n\n"
- } else {
- send_log "\nCompiler output:\n$comp_output\n\n"
- }
- fail $fail_message
- # The framework doesn't like to see any error remnants,
- # so remove them.
- uplevel {
- if [info exists errorInfo] {
- unset errorInfo
- }
- }
- mike_cleanup $src_code $output_file $assembly_file
- return
- }
-
- # remove any leftover CRs.
- regsub -all -- "\r" $comp_output "" comp_output
-
- regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $comp_output "" comp_output
-
- set unsupported_message [${tool}_check_unsupported_p $comp_output]
- if { $unsupported_message != "" } {
- unsupported "$subdir/$src_code: $unsupported_message"
- mike_cleanup $src_code $output_file $assembly_file
- return
- }
-
- if { $verbose > 1 } {
- send_user "\nChecking:\n$compiler_output\nto see if it matches:\n$comp_output\n"
- } else {
- send_log "\nCompiler output:\n$comp_output\n\n"
- }
- if [regexp -- $compiler_output $comp_output] {
- if { $verbose > 1 } {
- send_user "Yes, it matches.\n\n"
- }
- set pass yes
- if [file exists [file rootname [file tail $src_code]].s] {
- set fd [open [file rootname [file tail $src_code]].s r]
- set dot_s [read $fd]
- close $fd
- if { $compiler_result != "" } {
- verbose "Checking .s file for $compiler_result" 2
- if [regexp -- $compiler_result $dot_s] {
- verbose "Yes, it matches." 2
- } else {
- verbose "Nope, doesn't match." 2
- verbose $dot_s 4
- set pass no
- }
- }
- if { $not_compiler_result != "" } {
- verbose "Checking .s file for not $not_compiler_result" 2
- if ![regexp -- $not_compiler_result $dot_s] {
- verbose "Nope, not found (that's good)." 2
- } else {
- verbose "Uh oh, it was found." 2
- verbose $dot_s 4
- set pass no
- }
- }
- }
- if [string match $run yes] {
- set result [gcc_load $output_file]
- set status [lindex $result 0];
- set output [lindex $result 1];
- if { $status == -1 } {
- mike_cleanup $src_code $output_file $assembly_file;
- return;
- }
- if { $verbose > 1 } {
- send_user "Checking:\n$program_output\nto see if it matches:\n$output\n\n"
- }
- if ![regexp -- $program_output $output] {
- set pass no
- if { $verbose > 1 } {
- send_user "Nope, does not match.\n\n"
- }
- } else {
- if { $verbose > 1 } {
- send_user "Yes, it matches.\n\n"
- }
- }
- }
- } else {
- if { $verbose > 1 } {
- send_user "Nope, does not match.\n\n"
- }
- }
-
- if [string match $pass "yes"] {
- pass $pass_message
- } else {
- fail $fail_message
- }
-
- # The framework doesn't like to see any error remnants,
- # so remove them.
- uplevel {
- if [info exists errorInfo] {
- unset errorInfo
- }
- }
-
- mike_cleanup $src_code $output_file $assembly_file
-}
diff --git a/gcc/testsuite/lib/objc-torture.exp b/gcc/testsuite/lib/objc-torture.exp
deleted file mode 100644
index a3cc7d6fe9f..00000000000
--- a/gcc/testsuite/lib/objc-torture.exp
+++ /dev/null
@@ -1,316 +0,0 @@
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu.prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-
-# The default option list can be overridden by
-# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
-
-if ![info exists TORTURE_OPTIONS] {
- # FIXME: We should test -g at least once.
- set TORTURE_OPTIONS [list { -O }]
-}
-
-
-# Split TORTURE_OPTIONS into two choices: one for testcases with loops and
-# one for testcases without loops.
-
-set torture_with_loops $TORTURE_OPTIONS
-set torture_without_loops ""
-foreach option $TORTURE_OPTIONS {
- if ![string match "*loop*" $option] {
- lappend torture_without_loops $option
- }
-}
-
-#
-# objc-torture-compile -- runs the Tege C-torture test
-#
-# SRC is the full pathname of the testcase.
-# OPTION is the specific compiler flag we're testing (eg: -O2).
-#
-proc objc-torture-compile { src option } {
- global output
- global srcdir tmpdir
- global host_triplet
-
- set output "$tmpdir/[file tail [file rootname $src]].o"
-
- regsub "^$srcdir/?" $src "" testcase
- # If we couldn't rip $srcdir out of `src' then just do the best we can.
- # The point is to reduce the unnecessary noise in the logs. Don't strip
- # out too much because different testcases with the same name can confuse
- # `test-tool'.
- if [string match "/*" $testcase] {
- set testcase "[file tail [file dirname $src]]/[file tail $src]"
- }
-
- verbose "Testing $testcase, $option" 1
-
- # Run the compiler and analyze the results.
- set options ""
- lappend options "additional_flags=-w $option"
-
- set comp_output [objc_target_compile "$src" "$output" object $options];
-
- # Set a few common compiler messages.
- set fatal_signal "*Obj-C*: Internal compiler error: program*got fatal signal"
-
- if [string match "$fatal_signal 6" $comp_output] then {
- objc_fail $testcase "Got Signal 6, $option"
- remote_file build delete $output
- return
- }
-
- if [string match "$fatal_signal 11" $comp_output] then {
- objc_fail $testcase "Got Signal 11, $option"
- remote_file build delete $output
- return
- }
-
- # We shouldn't get these because of -w, but just in case.
- if [string match "*Obj-C*:*warning:*" $comp_output] then {
- warning "$testcase: (with warnings) $option"
- send_log "$comp_output\n"
- unresolved "$testcase, $option"
- remote_file build delete $output
- return
- }
-
- set comp_output [prune_warnings $comp_output]
-
- set unsupported_message [objc_check_unsupported_p $comp_output]
- if { $unsupported_message != "" } {
- unsupported "$testcase: $unsupported_message"
- remote_file build delete $output
- return
- }
-
- # remove any leftover LF/CR to make sure any output is legit
- regsub -all -- "\[\r\n\]*" $comp_output "" comp_output
- # If any message remains, we fail.
- if ![string match "" $comp_output] then {
- objc_fail $testcase $option
- remote_file build delete $output
- return
- }
-
- objc_pass $testcase $option
- remote_file build delete $output
-}
-
-#
-# objc-torture-execute -- utility to compile and execute a testcase
-#
-# SRC is the full pathname of the testcase.
-#
-# If the testcase has an associated .cexp file, we source that to run the
-# test instead. We use .cexp instead of .exp so that the testcase is still
-# controlled by the main .exp driver (this is useful when one wants to only
-# run the compile.exp tests for example - one need only pass compile.exp to
-# dejagnu, and not compile.exp, foo1.exp, foo2.exp, etc.).
-#
-proc objc-torture-execute { src } {
- global tmpdir tool srcdir output
-
- # Check for alternate driver.
- if [file exists [file rootname $src].cexp] {
- verbose "Using alternate driver [file rootname [file tail $src]].cexp" 2
- set done_p 0
- catch "set done_p \[source [file rootname $src].cexp\]"
- if { $done_p } {
- return
- }
- }
-
- # Look for a loop within the source code - if we don't find one,
- # don't pass -funroll[-all]-loops.
- global torture_with_loops torture_without_loops
- if [expr [search_for $src "do *\[0-9\]"]+[search_for $src "end *do"]] then {
- set option_list $torture_with_loops
- } else {
- set option_list $torture_without_loops
- }
-
- set executable $tmpdir/[file tail [file rootname $src].x]
-
- regsub "^$srcdir/?" $src "" testcase
- # If we couldn't rip $srcdir out of `src' then just do the best we can.
- # The point is to reduce the unnecessary noise in the logs. Don't strip
- # out too much because different testcases with the same name can confuse
- # `test-tool'.
- if [string match "/*" $testcase] {
- set testcase "[file tail [file dirname $src]]/[file tail $src]"
- }
-
- foreach option $option_list {
- # torture_{compile,execute}_xfail are set by the .cexp script
- # (if present)
- if [info exists torture_compile_xfail] {
- setup_xfail $torture_compile_xfail
- }
- remote_file build delete $executable
- verbose "Testing $testcase, $option" 1
-
- set options ""
- lappend options "additional_flags=-w $option -I${srcdir}/../../libobjc"
- set comp_output [objc_target_compile "$src" "$executable" executable $options];
-
- # Set a few common compiler messages.
- set fatal_signal "*Obj-C*: Internal compiler error: program*got fatal signal"
-
- if [string match "$fatal_signal 6" $comp_output] then {
- objc_fail $testcase "Got Signal 6, $option"
- remote_file build delete $executable
- continue
- }
-
- if [string match "$fatal_signal 11" $comp_output] then {
- objc_fail $testcase "Got Signal 11, $option"
- remote_file build delete $executable
- continue
- }
-
- # We shouldn't get these because of -w, but just in case.
- if [string match "*Obj-C*:*warning:*" $comp_output] then {
- warning "$testcase: (with warnings) $option"
- send_log "$comp_output\n"
- unresolved "$testcase, $option"
- remote_file build delete $executable
- continue
- }
-
- set comp_output [prune_warnings $comp_output]
-
- set unsupported_message [objc_check_unsupported_p $comp_output]
-
- if { $unsupported_message != "" } {
- unsupported "$testcase: $unsupported_message"
- continue
- } elseif ![file exists $executable] {
- if ![is3way] {
- fail "$testcase compilation, $option"
- untested "$testcase execution, $option"
- continue
- } else {
- # FIXME: since we can't test for the existance of a remote
- # file without short of doing an remote file list, we assume
- # that since we got no output, it must have compiled.
- pass "$testcase compilation, $option"
- }
- } else {
- pass "$testcase compilation, $option"
- }
-
- # See if this source file uses "long long" types, if it does, and
- # no_long_long is set, skip execution of the test.
- if [target_info exists no_long_long] then {
- if [expr [search_for $src "integer\*8"]] then {
- untested "$testcase execution, $option"
- continue
- }
- }
-
- if [info exists torture_execute_xfail] {
- setup_xfail $torture_execute_xfail
- }
-
- set result [objc_load "$executable" "" ""]
- set status [lindex $result 0];
- set output [lindex $result 1];
- if { $status == "pass" } {
- remote_file build delete $executable
- }
- $status "$testcase execution, $option"
- }
-}
-
-#
-# search_for -- looks for a string match in a file
-#
-proc search_for { file pattern } {
- set fd [open $file r]
- while { [gets $fd cur_line]>=0 } {
- set lower [string tolower $cur_line]
- if [regexp "$pattern" $lower] then {
- close $fd
- return 1
- }
- }
- close $fd
- return 0
-}
-
-#
-# objc-torture -- the objc-torture testcase source file processor
-#
-# This runs compilation only tests (no execute tests).
-# SRC is the full pathname of the testcase, or just a file name in which case
-# we prepend $srcdir/$subdir.
-#
-# If the testcase has an associated .cexp file, we source that to run the
-# test instead. We use .cexp instead of .exp so that the testcase is still
-# controlled by the main .exp driver (this is useful when one wants to only
-# run the compile.exp tests for example - one need only pass compile.exp to
-# dejagnu, and not compile.exp, foo1.exp, foo2.exp, etc.).
-#
-proc objc-torture { args } {
- global srcdir subdir
-
- set src [lindex $args 0];
- if { [llength $args] > 1 } {
- set options [lindex $args 1];
- } else {
- set options ""
- }
-
- # Prepend $srdir/$subdir if missing.
- if ![string match "*/*" $src] {
- set src "$srcdir/$subdir/$src"
- }
-
- # Check for alternate driver.
- if [file exists [file rootname $src].cexp] {
- verbose "Using alternate driver [file rootname [file tail $src]].cexp" 2
- set done_p 0
- catch "set done_p \[source [file rootname $src].cexp\]"
- if { $done_p } {
- return
- }
- }
-
- # Look for a loop within the source code - if we don't find one,
- # don't pass -funroll[-all]-loops.
- global torture_with_loops torture_without_loops
- if [expr [search_for $src "do *\[0-9\]"]+[search_for $src "end *do"]] then {
- set option_list $torture_with_loops
- } else {
- set option_list $torture_without_loops
- }
-
- # loop through all the options
- foreach option $option_list {
- # torture_compile_xfail is set by the .cexp script (if present)
- if [info exists torture_compile_xfail] {
- setup_xfail $torture_compile_xfail
- }
-
- objc-torture-compile $src "$option $options"
- }
-}
diff --git a/gcc/testsuite/lib/objc.exp b/gcc/testsuite/lib/objc.exp
deleted file mode 100644
index d67ef04d72e..00000000000
--- a/gcc/testsuite/lib/objc.exp
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright (C) 1992, 1993, 1994, 1996, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# This file was written by Rob Savoye (rob@cygnus.com)
-# Currently maintained by Doug Evans (dje@cygnus.com)
-
-# This file is loaded by the tool init file (eg: unix.exp). It provides
-# default definitions for objc_start, etc. and other supporting cast members.
-
-# These globals are used by objc_start if no compiler arguments are provided.
-# They are also used by the various testsuites to define the environment:
-# where to find stdio.h, libc.a, etc.
-
-#
-# OBJC_UNDER_TEST is the compiler under test.
-#
-
-#
-# default_objc_version -- extract and print the version number of the compiler
-#
-
-proc default_objc_version { } {
- global OBJC_UNDER_TEST
-
- objc_init;
-
- # ignore any arguments after the command
- set compiler [lindex $OBJC_UNDER_TEST 0]
-
- if ![is_remote host] {
- set compiler_name [which $compiler];
- } else {
- set compiler_name $compiler;
- }
-
- # verify that the compiler exists
- if { $compiler_name != 0 } then {
- set tmp [remote_exec host "$compiler -v"]
- set status [lindex $tmp 0];
- set output [lindex $tmp 1];
- regexp "version.*$" $output version
- if { $status == 0 && [info exists version] } then {
- clone_output "$compiler_name $version\n"
- } else {
- clone_output "Couldn't determine version of $compiler_name: $output\n"
- }
- } else {
- # compiler does not exist (this should have already been detected)
- warning "$compiler does not exist"
- }
-}
-
-#
-# Call objc_version. We do it this way so we can override it if needed.
-#
-proc objc_version { } {
- default_objc_version;
-}
-
-#
-# objc_init -- called at the start of each .exp script.
-#
-# There currently isn't much to do, but always using it allows us to
-# make some enhancements without having to go back and rewrite the scripts.
-#
-
-set objc_initialized 0
-
-proc objc_init { args } {
- global tmpdir
- global libdir
- global gluefile wrap_flags
- global objc_initialized
- global OBJC_UNDER_TEST
- global TOOL_EXECUTABLE
-
- if { $objc_initialized == 1 } { return; }
-
- if ![info exists OBJC_UNDER_TEST] then {
- if [info exists TOOL_EXECUTABLE] {
- set OBJC_UNDER_TEST $TOOL_EXECUTABLE;
- } else {
- set OBJC_UNDER_TEST [find_gcc]
- }
- }
-
- if ![info exists tmpdir] then {
- set tmpdir /tmp
- }
- if { [target_info needs_status_wrapper]!="" && ![info exists gluefile] } {
- set gluefile ${tmpdir}/testglue.o;
- set result [build_wrapper $gluefile];
- if { $result != "" } {
- set gluefile [lindex $result 0];
- set wrap_flags [lindex $result 1];
- } else {
- unset gluefile
- }
- }
-}
-
-proc objc_target_compile { source dest type options } {
- global tmpdir;
- global gluefile wrap_flags;
- global OBJC_UNDER_TEST
- global TOOL_OPTIONS
-
- lappend options "libs=-lobjc"
- if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
- lappend options "libs=${gluefile}"
- lappend options "ldflags=$wrap_flags"
- }
-
- if [target_info exists objc,stack_size] {
- lappend options "additional_flags=-DSTACK_SIZE=[target_info objc,stack_size]"
- }
- if [target_info exists objc,no_trampolines] {
- lappend options "additional_flags=-DNO_TRAMPOLINES"
- }
- if [target_info exists objc,no_label_values] {
- lappend options "additional_flags=-DNO_LABEL_VALUES"
- }
- if [info exists TOOL_OPTIONS] {
- lappend options "additional_flags=$TOOL_OPTIONS"
- }
- if [target_info exists objc,no_varargs] {
- lappend options "additional_flags=-DNO_VARARGS"
- }
- set objcpath "[get_multilibs]"
- set libobjc_dir [lookfor_file ${objcpath} libobjc/libobjc.a]
- if { $libobjc_dir != "" } {
- set objc_link_flags "-L[file dirname ${libobjc_dir}]"
- lappend options "additional_flags=${objc_link_flags}"
- }
- lappend options "compiler=$OBJC_UNDER_TEST"
- return [target_compile $source $dest $type $options]
-}
-
-#
-# objc_pass -- utility to record a testcase passed
-#
-
-proc objc_pass { testcase cflags } {
- if { "$cflags" == "" } {
- pass "$testcase"
- } else {
- pass "$testcase, $cflags"
- }
-}
-
-#
-# objc_fail -- utility to record a testcase failed
-#
-
-proc objc_fail { testcase cflags } {
- if { "$cflags" == "" } {
- fail "$testcase"
- } else {
- fail "$testcase, $cflags"
- }
-}
-
-#
-# objc_finish -- called at the end of every .exp script that calls objc_init
-#
-# The purpose of this proc is to hide all quirks of the testing environment
-# from the testsuites. It also exists to undo anything that objc_init did
-# (that needs undoing).
-#
-
-proc objc_finish { } {
- # The testing harness apparently requires this.
- global errorInfo;
-
- if [info exists errorInfo] then {
- unset errorInfo
- }
-
- # Might as well reset these (keeps our caller from wondering whether
- # s/he has to or not).
- global prms_id bug_id
- set prms_id 0
- set bug_id 0
-}
-
-proc objc_exit { } {
- global gluefile;
-
- if [info exists gluefile] {
- file_on_build delete $gluefile;
- unset gluefile;
- }
-}
-
-# If this is an older version of dejagnu (without runtest_file_p),
-# provide one and assume the old syntax: foo1.exp bar1.c foo2.exp bar2.c.
-# This can be deleted after next dejagnu release.
-
-if { [info procs runtest_file_p] == "" } then {
- proc runtest_file_p { runtests testcase } {
- if { $runtests != "" && [regexp "\[.\]\[cC\]" $runtests] } then {
- if { [lsearch $runtests [file tail $testcase]] >= 0 } then {
- return 1
- } else {
- return 0
- }
- }
- return 1
- }
-}
-
-# Provide a definition of this if missing (delete after next dejagnu release).
-
-if { [info procs prune_warnings] == "" } then {
- proc prune_warnings { text } {
- return $text
- }
-}
-
-# Utility used by mike-gcc.exp and c-torture.exp.
-# Check the compiler(/assembler/linker) output for text indicating that
-# the testcase should be marked as "unsupported".
-#
-# When dealing with a large number of tests, it's difficult to weed out the
-# ones that are too big for a particular cpu (eg: 16 bit with a small amount
-# of memory). There are various ways to deal with this. Here's one.
-# Fortunately, all of the cases where this is likely to happen will be using
-# gld so we can tell what the error text will look like.
-
-proc ${tool}_check_unsupported_p { output } {
- if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] {
- return "memory full"
- }
- return ""
-}
-
-# Prune messages from objc that aren't useful.
-
-proc prune_objc_output { text } {
- #send_user "Before:$text\n"
- regsub -all "(^|\n)\[^\n\]*: In (function|method) \[^\n\]*" $text "" text
- regsub -all "(^|\n)\[^\n\]*: At top level:\[^\n\]*" $text "" text
-
- # It would be nice to avoid passing anything to objc that would cause it to
- # issue these messages (since ignoring them seems like a hack on our part),
- # but that's too difficult in the general case. For example, sometimes
- # you need to use -B to point objc at crt0.o, but there are some targets
- # that don't have crt0.o.
- regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $text "" text
- regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $text "" text
-
- #send_user "After:$text\n"
-
- return $text
-}
-
diff --git a/gcc/testsuite/lib/old-dejagnu.exp b/gcc/testsuite/lib/old-dejagnu.exp
deleted file mode 100644
index bfa29b0643c..00000000000
--- a/gcc/testsuite/lib/old-dejagnu.exp
+++ /dev/null
@@ -1,585 +0,0 @@
-# Copyright (C) 1988, 90, 91, 92, 1994, 1996, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-g++@prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-# With modifications by Mike Stump <mrs@cygnus.com>.
-
-# These tests come from the original DejaGnu test suite
-# developed at Cygnus Support. If this isn't deja gnu, I
-# don't know what is.
-#
-# Language independence is achieved by:
-#
-# 1) Using global $tool to indicate the language (eg: gcc, g++, etc.).
-# This should only be used to look up other objects. We don't want to
-# have to add code for each new language that is supported. If this is
-# done right, no code needs to be added here for each new language.
-#
-# 2) Passing compiler options in as arguments.
-#
-# We require a bit of smarts in our caller to isolate us from the vagaries of
-# each language. See old-deja.exp for the g++ example.
-
-# Useful subroutines.
-
-# process-option -- Look for and process a test harness option in the testcase.
-#
-# PROG is the pathname of the testcase.
-# OPTION is the string to look for.
-# MESSAGE is what to print if $verbose > 1.
-# FLAG_NAME is one of ERROR, WARNING, etc.
-# PATTERN is ???
-
-proc process-option { prog option message flag_name pattern } {
- global verbose
-
- set result ""
-
- set tmp [grep $prog "$option.*" line]
- if ![string match "" $tmp] then {
- foreach i $tmp {
- #send_user "Found: $i\n"
- set xfail_test 0
- set triplet_match 0
- regsub "\\*/$" [string trim $i] "" i
- if [regexp "LINE +\[0-9\]+" $i xopt] then {
- regsub "LINE" $xopt "" xopt;
- regsub "LINE +\[0-9\]+" $i "" i
- set i [lreplace $i 0 0 [expr "${xopt}-0"]];
- }
- if [regexp "XFAIL( +\[^ \]+-\[^ \]+-\[^ \]+)*" $i xopt] then {
- set xfail_test 1
- regsub "XFAIL( +\[^ \]+-\[^ \]+-\[^ \]+)*" $i "" i
- regsub "XFAIL" $xopt "" xopt
- if ![string match "" [string trim $xopt]] then {
- foreach triplet $xopt {
- if [istarget $triplet] {
- set triplet_match 1;
- break;
- }
- }
- } else {
- set triplet_match 1
- }
- }
- set compos [expr [llength $option] + 1] ;# Start of comment, if any
- if { $xfail_test && $triplet_match } then {
- lappend result [list [lindex $i 0] "X$flag_name" [lrange $i $compos end] "$pattern"]
- } else {
- lappend result [list [lindex $i 0] "$flag_name" [lrange $i $compos end] "$pattern"]
- }
- if { $verbose > 1 } then {
- if [string match "" [lrange $i $compos end]] then {
- send_user "Found $message for line [lindex $i 0]\n"
- } else {
- send_user "Found $message \"[lrange $i $compos end]\" for line [lindex $i 0]\n"
- }
- }
- }
- }
-
- #send_user "Returning: $result\n"
- return $result
-}
-
-# old-dejagnu-init -- set up some statistics collectors
-#
-# There currently isn't much to do, but always calling it allows us to add
-# enhancements without having to update our callers.
-# It must be run before calling `old-dejagnu'.
-
-proc old-dejagnu-init { } {
-}
-
-# old-dejagnu-stat -- print the stats of this run
-#
-# ??? This is deprecated, and can be removed.
-
-proc old-dejagnu-stat { } {
-}
-
-# old-dejagnu -- runs an old style DejaGnu test.
-#
-# Returns 0 if successful, 1 if their were any errors.
-# PROG is the full path name of the file to compile.
-#
-# CFLAGSX is the options to always pass to the compiler.
-#
-# DEFAULT_CFLAGS are additional options if the testcase has none.
-#
-# LIBS_VAR is the name of the global variable containing libraries (-lxxx's).
-# This is also ignored.
-#
-# LIBS is any additional libraries to link with. This *cannot* be specified
-# with the compiler flags because otherwise gcc will issue, for example, a
-# "-lg++ argument not used since linking not done" warning which will screw up
-# the test for excess errors. We could ignore such messages instead.
-#
-# Think of "cflags" here as "compiler flags", not "C compiler flags".
-
-proc old-dejagnu { compiler prog name cflagsx default_cflags libs } {
- global verbose
- global tool
- global subdir ;# eg: g++.old-dejagnu
- global host_triplet
- global tmpdir
-
- set runflag 1
- set execbug_flag 0
- set excessbug_flag 0
- set pattern ""
- set text "\[- A-Za-z0-9\.\;\"\_\:\'\`\(\)\!\#\=\+\?\&\*]*"
-
- if ![info exists tmpdir] then {
- set tmpdir "/tmp"
- }
-
-# look for keywords that change the compiler options
-#
-# There are two types of test, negative and affirmative. Negative
-# tests have the keyword of "ERROR - " or "WARNING - " on the line
-# expected to produce an error. This is followed by the pattern. If
-# the desired error or warning message appears, then the test passes.
-#
-# Affirmative test can have the following keywords "gets bogus error",
-# "causes invalid C code", "invalid assembly code", "causes abort",
-# "causes segfault", "causes linker error", "execution test fails". If
-# the pattern after the keyword matches, then the test is a failure.
-#
-# One can specify particular targets for expected failures of the above
-# keywords by putting "XFAIL target-triplet" after the keyword.
-#
-# Example:
-#
-# void f ()
-#{
-# int i[2], j;
-# A a (int (i[1]), j); // gets bogus error - late parsing XFAIL *-*-*
-# A b (int (i[1]), int j); // function
-# a.k = 0; // gets bogus error - late parsing XFAIL *-*-*
-# b (i, j);
-#}
-#
-# Note also, that one can add a comment with the keyword ("late parsing"
-# in the above example).
-#
-# If any of the tests contain the special pattern "FIXME -" that test is
-# not run because it will produce incorrect output.
-#
-# Testcases can supply special options to the compiler with a line containing
-# "Special.*Options: ...", where ".*" can be anything (eg: g++) and "..." are
-# the additional options to pass to the compiler. Nothing else may appear
-# after the options. IE: for a C testcase
-# /* Special Options: -fomit-frame-pointer */ /* Oops! */
-# is wrong,
-# /* Special Options: -fomit-frame-pointer */
-# is right. If no such Special Options are found, $default_cflags is used.
-# FIXME: Can there be multiple lines of these?
-#
-# Other keywords: "Build don't link:", "Build don't run:", "Build then link:",
-# "Additional sources: <file>.cc ..."
-
-# $name is now passed in.
-# set name "[file tail [file dirname $prog]]/[file tail $prog]"
-
- set tmp [grep $prog "FIXME -.*"]
- if ![string match "" $tmp] then {
- foreach i $tmp {
- warning "[file tail [file dirname $prog]]/[file tail $prog] [lrange $i 2 end]"
- }
- return 1
- }
-
- set tmp [lindex [grep $prog "Special.*Options:.*"] 0]
- set cflags ""
-
- regsub -all "\n\[^\n\]+(\n|$)" $tmp "\n" tmp
- set tmp [string trim $tmp]
- if ![string match "" $tmp] then {
- regsub "^.*Special.*Options:" $tmp "" tmp
- lappend cflags "additional_flags=$tmp"
- verbose "Adding special options $tmp" 2
- } else {
- lappend cflags "additional_flags=$default_cflags"
- }
-
- if { $cflagsx != "" } {
- lappend cflags "additional_flags=$cflagsx"
- }
-
- set tmp [lindex [grep $prog "Additional sources: .*"] 0]
- regsub -all "\n\[^\n\]+(\n|$)" $tmp "\n" tmp
- set tmp [string trim $tmp]
- if ![string match "" $tmp] then {
- regsub "^.*Additional.*sources:" $tmp "" tmp
- regsub -all " " $tmp " [file dirname $prog]/" tmp
- lappend cflags "additional_flags=$tmp"
- verbose "Adding sources $tmp"
- }
-
- lappend cflags "compiler=$compiler"
-
- regsub -all "\[./\]" "$name" "-" output;
- set output "$tmpdir/$output";
- set compile_type "executable"
-
- set tmp [lindex [grep $prog "Build don.t link:"] 0]
- if ![string match "" $tmp] then {
- set compile_type "object"
- set runflag 0
- set output "$tmpdir/[file tail [file rootname $prog]].o"
- verbose "Will compile $prog to object" 3
- }
-
- set tmp [lindex [grep $prog "Build then link:"] 0]
- if ![string match "" $tmp] then {
- set compile_type "object"
- set runflag 2
- set final_output "$output"
- set output "$tmpdir/[file tail [file rootname $prog]].o"
- verbose "Will compile $prog to object, then link it" 3
- }
-
- set tmp [lindex [grep $prog "Build don.t run:"] 0]
- if ![string match "" $tmp] then {
- set runflag 0
- verbose "Will compile $prog to binary" 3
- }
-
- set tmp [grep $prog "Skip if (|not )feature:.*"];
- if { $tmp != "" } {
- foreach line $tmp {
- if [regexp "Skip if not feature" $line] {
- set not 1;
- } else {
- set not 0;
- }
- regsub "^.*Skip if (|not )feature:\[ \]*" "$line" "" i;
- set is_set 0;
- foreach j $i {
- if [target_info exists $j] {
- set is_set 1;
- break;
- }
- }
- if { $is_set != $not } {
- untested "$name: Test skipped: ${line}($j set)"
- return;
- }
- }
- }
-
- set tmp [grep $prog "Skip if (|not )target:.*"];
- if { $tmp != "" } {
- foreach line $tmp {
- if [regexp "Skip if not target:" $line] {
- set not 1;
- } else {
- set not 0;
- }
- regsub "^.*Skip if (|not )target:\[ \]*" "$line" "" i;
- set ist 0;
- foreach j $i {
- if [istarget $j] {
- set ist 1;
- break;
- }
- }
- if { $ist != $not } {
- untested "$name: Test skipped: ${line}"
- return;
- }
- }
- }
-
- if ![isnative] {
- set tmp [lindex [grep $prog "Skip if not native"] 0];
- if { $tmp != "" } {
- untested "$name: Test skipped because not native";
- return;
- }
- } else {
- set tmp [lindex [grep $prog "Skip if native"] 0];
- if { $tmp != "" } {
- untested "$name: Test skipped because native";
- return;
- }
- }
-
- lappend cflags "libs=$libs"
-
-#
-# Look for the other keywords and extract the error messages.
-# `message' contains all the things we found.
-# ??? We'd like to use lappend below instead of concat, but that doesn't
-# work (adds an extra level of nesting to $tmp).
-#
-
- set message ""
-
- set tmp [process-option $prog "ERROR - " "an error message" ERROR "$text error$text"]
- if ![string match "" $tmp] then {
- set runflag 0
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "WARNING - " "a warning message" WARNING "warning"]
- if ![string match "" $tmp] then {
- set runflag 0
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "gets bogus error" "a bogus error" BOGUS $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "causes invalid C code" "a bad C translation" BADC $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "invalid assembly code" "some invalid assembly code" BADASM $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "causes abort" "an abort cause" ABORT $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "causes segfault" "a segfault cause" SEGFAULT $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "causes linker error" "a linker error" LINKER $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "execution test fails" "an execution failure" EXECO $text]
- if ![string match "" $tmp] then {
- set execbug_flag 1
- set message [concat $message $tmp]
- warning "please use execution test - XFAIL *-*-* in $prog instead"
- }
-
- set tmp [process-option $prog "execution test - " "an excess error failure" EXEC $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set tmp [process-option $prog "excess errors test fails" "an excess error failure" EXCESSO $text]
- if ![string match "" $tmp] then {
- set excessbug_flag 1
- set message [concat $message $tmp]
- warning "please use excess errors test - XFAIL *-*-* in $prog instead"
- }
-
- set tmp [process-option $prog "excess errors test - " "an excess error failure" EXCESS $text]
- if ![string match "" $tmp] then {
- set message [concat $message $tmp]
- }
-
- set expect_crash \
- [process-option $prog "crash test - " "a crash" CRASH $text]
- if {$expect_crash != ""
- && [lindex [lindex $expect_crash 0] 1] == "XCRASH"} then {
- set expect_crash 1
- } else {
- set expect_crash 0
- }
-
-#
-# run the compiler and analyze the results
-#
-
- # Since we don't check return status of the compiler, make sure
- # we can't run a.out when the compilation fails.
- remote_file build delete $output
- set comp_output [${tool}_target_compile $prog $output $compile_type $cflags]
- if { $runflag == 2 && [file exists $output] } then {
- set runflag 0
- set comp_output [concat $comp_output [${tool}_target_compile $output $final_output "executable" $cflags]]
- set output $final_output
- }
-
- # Delete things like "ld.so: warning" messages.
- set comp_output [prune_warnings $comp_output]
-
- if [string match "*Internal compiler error*" $comp_output] then {
- if $expect_crash then {
- setup_xfail "*-*-*"
- }
- fail "$name caused compiler crash"
- remote_file build delete $output
- return 1
- }
-
- #send_user "\nold_dejagnu.exp: comp_output1 = :$comp_output:\n\n"
- #send_user "\nold_dejagnu.exp: message = :$message:\n\n"
- #send_user "\nold_dejagnu.exp: message length = [llength $message]\n\n"
-
- set last_line 0
- foreach i $message {
-
- #send_user "\nold_dejagnu.exp: i = :$i:\n\n"
-
- # Remove all error messages for the line [lindex $i 0]
- # in the source file. If we find any, success!
- set line [lindex $i 0]
- set pattern [lindex $i 2]
-
- # Multiple tests one one line don't work, because we remove all
- # messages on the line for the first test. So skip later ones.
- if { $line == $last_line } {
- continue
- }
- set last_line $line
-
- if [regsub -all "(^|\n)\[^\n\]+:$line:\[^\n\]*" $comp_output "" comp_output] {
- set comp_output [string trimleft $comp_output]
- set ok pass
- set uhoh fail
- } else {
- set ok fail
- set uhoh pass
- }
-
- case [lindex $i 1] {
- "ERROR" {
- $ok "$name $pattern (test for errors, line $line)"
- }
- "XERROR" {
- x$ok "$name $pattern (test for errors, line $line)"
- }
- "WARNING" {
- $ok "$name $pattern (test for warnings, line $line)"
- }
- "XWARNING" {
- x$ok "$name $pattern (test for warnings, line $line)"
- }
- "BOGUS" {
- $uhoh "$name $pattern (test for bogus messages, line $line)"
- }
- "XBOGUS" {
- x$uhoh "$name $pattern (test for bogus messages, line $line)"
- }
- "ABORT" {
- $uhoh "$name $pattern (test for compiler aborts, line $line)"
- }
- "XABORT" {
- x$uhoh "$name $pattern (test for compiler aborts, line $line)"
- }
- "SEGFAULT" {
- $uhoh "$name $pattern (test for compiler segfaults, line $line)"
- }
- "XSEGFAULT" {
- x$uhoh "$name $pattern (test for compiler segfaults, line $line)"
- }
- "LINKER" {
- $uhoh "$name $pattern (test for linker problems, line $line)"
- }
- "XLINKER" {
- x$uhoh "$name $pattern (test for linker problems, line $line)"
- }
- "BADC" {
- $uhoh "$name $pattern (test for Bad C code, line $line)"
- }
- "XBADC" {
- x$uhoh "$name $pattern (test for Bad C code, line $line)"
- }
- "BADASM" {
- $uhoh "$name $pattern (test for bad assembler, line $line)"
- }
- "XBADASM" {
- x$uhoh "$name $pattern (test for bad assembler, line $line)"
- }
- "XEXEC" {
- set execbug_flag 1
- }
- "XEXCESS" {
- set excessbug_flag 1
- }
- }
- #send_user "\nold_dejagnu.exp: comp_output2= :$comp_output:\n\n"
- }
- #send_user "\nold_dejagnu.exp: comp_output3 = :$comp_output:\n\n"
-
- #look to see if this is all thats left, if so, all messages have been handled
- #send_user "comp_output: $comp_output\n"
- regsub -all "(^|\n)\[^\n\]*: In (function|method) \[^\n\]*" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*: In instantiation of \[^\n\]*" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*: instantiated from \[^\n\]*" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*: At top level:\[^\n\]*" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $comp_output "" comp_output
- regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not done" $comp_output "" comp_output
- regsub -all "(^|\n)collect: re(compiling|linking)\[^\n\]*" $comp_output "" comp_output
-
- set unsupported_message [${tool}_check_unsupported_p $comp_output]
- if { $unsupported_message != "" } {
- unsupported "$name: $unsupported_message"
- return
- }
-
- # someone forgot to delete the extra lines
- regsub -all "\n+" $comp_output "\n" comp_output
- regsub "^\n+" $comp_output "" comp_output
- #send_user "comp_output: $comp_output\n"
-
- # excess errors
- if $excessbug_flag then {
- setup_xfail "*-*-*"
- }
- if ![string match "" $comp_output] then {
- fail "$name (test for excess errors)"
- send_log "$comp_output\n"
- } else {
- pass "$name (test for excess errors)"
- }
-
- # run the executable image
- if $runflag then {
- set executable $output
- if ![file exists $executable] then {
- # Since we couldn't run it, we consider it an expected failure,
- # so that test cases don't appear to disappear, and reappear.
- setup_xfail "*-*-*"
- fail "$name $pattern Execution test"
- } else {
- set status -1
- set result [eval [format "%s_load %s" $tool $executable]]
- set status [lindex $result 0];
- set output [lindex $result 1];
- if { $status == "pass" } {
- remote_file build delete $executable;
- }
- if { $execbug_flag || $excessbug_flag } then {
- setup_xfail "*-*-*"
- }
- $status "$name $pattern Execution test"
- }
- }
-
- verbose "deleting $output"
- remote_file build delete $output
- return 0
-}
diff --git a/gcc/testsuite/objc/execute/bf-1.m b/gcc/testsuite/objc/execute/bf-1.m
deleted file mode 100644
index 9a533a39b52..00000000000
--- a/gcc/testsuite/objc/execute/bf-1.m
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a;
- struct {
- int i:2;
- int j:3;
- int k:12;
- } flags;
- char c;
-// void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-10.m b/gcc/testsuite/objc/execute/bf-10.m
deleted file mode 100644
index 77076da51ed..00000000000
--- a/gcc/testsuite/objc/execute/bf-10.m
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- int i:2;
- int j:6;
- char c;
- int k:12;
- char d;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-11.m b/gcc/testsuite/objc/execute/bf-11.m
deleted file mode 100644
index 40d9b533a49..00000000000
--- a/gcc/testsuite/objc/execute/bf-11.m
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- int i:2;
- int j:6;
- short s;
- int k:12;
- char d;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-12.m b/gcc/testsuite/objc/execute/bf-12.m
deleted file mode 100644
index 9e0a989ee75..00000000000
--- a/gcc/testsuite/objc/execute/bf-12.m
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- int i:2;
- int j:6;
- int s;
- int k:12;
- char d;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-13.m b/gcc/testsuite/objc/execute/bf-13.m
deleted file mode 100644
index f8349338b53..00000000000
--- a/gcc/testsuite/objc/execute/bf-13.m
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- struct {
- int i:2;
- int j:6;
- char s;
- int k:12;
- } flags;
- char d;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-14.m b/gcc/testsuite/objc/execute/bf-14.m
deleted file mode 100644
index 0ceedc08dd8..00000000000
--- a/gcc/testsuite/objc/execute/bf-14.m
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- struct {
- int i:2;
- int j:6;
- short s;
- int k:12;
- } flags;
- char d;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-15.m b/gcc/testsuite/objc/execute/bf-15.m
deleted file mode 100644
index e6e7b30607d..00000000000
--- a/gcc/testsuite/objc/execute/bf-15.m
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a;
- struct {
- int i:2;
- int j:6;
- int s;
- int k:12;
- } flags;
- char d;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-16.m b/gcc/testsuite/objc/execute/bf-16.m
deleted file mode 100644
index fb8b0c38f51..00000000000
--- a/gcc/testsuite/objc/execute/bf-16.m
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-struct A {
- int i;
- float f;
- int a:3;
- int b:2;
-};
-
-@interface MyObject
-{
- Class isa;
- int i;
- float f[3];
- struct A a, b;
- char c;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-17.m b/gcc/testsuite/objc/execute/bf-17.m
deleted file mode 100644
index 4c3b854962c..00000000000
--- a/gcc/testsuite/objc/execute/bf-17.m
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-struct A {
- int i;
- float f;
- int a:3;
- int b:2;
-};
-
-@interface MyObject
-{
- Class isa;
- int i;
- float f[3];
- struct A a;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-18.m b/gcc/testsuite/objc/execute/bf-18.m
deleted file mode 100644
index 36a7ea6c61b..00000000000
--- a/gcc/testsuite/objc/execute/bf-18.m
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- int i;
- char c[1];
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-19.m b/gcc/testsuite/objc/execute/bf-19.m
deleted file mode 100644
index 21775e7c77e..00000000000
--- a/gcc/testsuite/objc/execute/bf-19.m
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- unsigned int i;
- MyObject *object;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-2.m b/gcc/testsuite/objc/execute/bf-2.m
deleted file mode 100644
index eac0931549b..00000000000
--- a/gcc/testsuite/objc/execute/bf-2.m
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- struct {
- int i:2;
- int j:3;
- int k:12;
- } flags;
- char c;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-3.m b/gcc/testsuite/objc/execute/bf-3.m
deleted file mode 100644
index 04cf0836faa..00000000000
--- a/gcc/testsuite/objc/execute/bf-3.m
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a;
- struct {
- int i:2;
- int j:6;
- int k:12;
- } flags;
- char c;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-4.m b/gcc/testsuite/objc/execute/bf-4.m
deleted file mode 100644
index ae8017c688e..00000000000
--- a/gcc/testsuite/objc/execute/bf-4.m
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- struct {
- int i:2;
- int j:6;
- int k:12;
- } flags;
- char c;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-5.m b/gcc/testsuite/objc/execute/bf-5.m
deleted file mode 100644
index e61d71f9ced..00000000000
--- a/gcc/testsuite/objc/execute/bf-5.m
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a;
- int i:2;
- int j:3;
- int k:12;
- char c;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-6.m b/gcc/testsuite/objc/execute/bf-6.m
deleted file mode 100644
index 38222d3f676..00000000000
--- a/gcc/testsuite/objc/execute/bf-6.m
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- int i:2;
- int j:3;
- int k:12;
- char c;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-7.m b/gcc/testsuite/objc/execute/bf-7.m
deleted file mode 100644
index 80ee6cef763..00000000000
--- a/gcc/testsuite/objc/execute/bf-7.m
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a;
- int i:2;
- int j:6;
- int k:12;
- char c;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-8.m b/gcc/testsuite/objc/execute/bf-8.m
deleted file mode 100644
index cc472f96130..00000000000
--- a/gcc/testsuite/objc/execute/bf-8.m
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- int i:2;
- int j:6;
- int k:12;
- char c;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-9.m b/gcc/testsuite/objc/execute/bf-9.m
deleted file mode 100644
index 0f17727d6df..00000000000
--- a/gcc/testsuite/objc/execute/bf-9.m
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <objc/objc.h>
-#include <objc/objc-api.h>
-#include <objc/Object.h>
-
-@interface MyObject
-{
- Class isa;
- float f;
- char a[3];
- int i:2;
- int j:3;
- char c;
- int k:12;
- char d;
- void *pointer;
-}
-@end
-
-@implementation MyObject
-@end
-
-#include "bf-common.h"
-
diff --git a/gcc/testsuite/objc/execute/bf-common.h b/gcc/testsuite/objc/execute/bf-common.h
deleted file mode 100644
index 123a45413d0..00000000000
--- a/gcc/testsuite/objc/execute/bf-common.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <objc/encoding.h>
-
-
-void print_ivars (Class class)
-{
- struct objc_ivar_list* ivars = class->ivars;
- int i;
-
- for (i = 0; i < ivars->ivar_count; i++) {
- struct objc_ivar *ivar = &(ivars->ivar_list[i]);
- printf ("ivar '%s', type '%s', offset %d\n",
- ivar->ivar_name, ivar->ivar_type, ivar->ivar_offset);
- }
-}
-
-void compare_structures (Class class, const char* type)
-{
- struct objc_struct_layout layout;
- struct objc_ivar_list* ivars = class->ivars;
- int i = 0;
- int position;
-
- objc_layout_structure (type, &layout);
-
- while (objc_layout_structure_next_member (&layout))
- {
- struct objc_ivar *ivar;
- const char *ivar_type;
-
- if (i > ivars->ivar_count)
- {
- printf ("too many ivars in type %s, layout = %s\n",
- type, layout.type);
- exit (1);
- }
-
- ivar = &(ivars->ivar_list[i]);
- objc_layout_structure_get_info (&layout, &position, NULL, &ivar_type);
- printf ("real ivar '%s' offset %d\n",
- ivar->ivar_name, ivar->ivar_offset);
- printf ("computed type '%s' offset %d\n", ivar_type, position);
- if (position != ivar->ivar_offset)
- {
- printf ("offset %d and computed position %d don't match on ivar '%s'"
- " (i = %d)\n",
- ivar->ivar_offset, position, ivar->ivar_name, i);
- exit (1);
- }
- i++;
- }
-
- printf ("%d ivars checked\n", i);
-}
-
-int main ()
-{
- struct class_vars
- {
- @defs (MyObject);
- };
- int size1, size2;
- Class class = [MyObject class];
-
- printf ("type = %s\n", @encode (struct class_vars));
- print_ivars (class);
-
- compare_structures (class, @encode(struct class_vars));
- if ((size1 = objc_sizeof_type (@encode(struct class_vars)))
- != (size2 = sizeof (struct class_vars)))
- {
- printf ("sizes don't match (computed %d, exact %d)\n", size1, size2);
- abort ();
- }
-
- exit (0);
-}
diff --git a/gcc/testsuite/objc/execute/execute.exp b/gcc/testsuite/objc/execute/execute.exp
deleted file mode 100644
index 0f598a3c5f4..00000000000
--- a/gcc/testsuite/objc/execute/execute.exp
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-# Modified by Ovidiu Predescu (ovidiu@aracnet.com)
-
-
-if $tracelevel then {
- strace $tracelevel
-}
-
-# load support procs
-load_lib objc-torture.exp
-
-#
-# main test loop
-#
-
-foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.m]] {
- # If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $src] then {
- continue
- }
-
- objc-torture-execute $src
-}
diff --git a/gcc/tlink.c b/gcc/tlink.c
index 9f058c9b284..882c1ab2a75 100644
--- a/gcc/tlink.c
+++ b/gcc/tlink.c
@@ -654,7 +654,11 @@ scan_linker_output (fname)
if (dem)
sym = symbol_hash_lookup (dem->mangled, false);
else
- sym = symbol_hash_lookup (p, false);
+ {
+ if (*p == '_' && prepends_underscore)
+ ++p;
+ sym = symbol_hash_lookup (p, false);
+ }
}
}
diff --git a/gcc/tm.texi b/gcc/tm.texi
index 48f4439ed94..a13c6d97424 100644
--- a/gcc/tm.texi
+++ b/gcc/tm.texi
@@ -321,7 +321,8 @@ try when searching for the executable files of the compiler.
If defined, this macro is an additional prefix to try after
@code{STANDARD_EXEC_PREFIX}. @code{MD_EXEC_PREFIX} is not searched
when the @samp{-b} option is used, or the compiler is built as a cross
-compiler.
+compiler. If you define @code{MD_EXEC_PREFIX}, then be sure to add it
+to the list of directories used to find the assembler in @file{configure.in}.
@findex STANDARD_STARTFILE_PREFIX
@item STANDARD_STARTFILE_PREFIX
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 194535116b3..5f8913fa3e5 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1,5 +1,6 @@
/* Top level of GNU C compiler
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -375,6 +376,8 @@ typedef rtx (*lang_expand_expr_t)
lang_expand_expr_t lang_expand_expr = 0;
+tree (*lang_expand_constant) PROTO((tree)) = 0;
+
/* Pointer to function to finish handling an incomplete decl at the
end of compilation. */
@@ -3814,7 +3817,7 @@ rest_of_compilation (decl)
/* Copy any shared structure that should not be shared. */
- unshare_all_rtl (insns);
+ unshare_all_rtl (current_function_decl, insns);
#ifdef SETJMP_VIA_SAVE_AREA
/* This must be performed before virutal register instantiation. */
@@ -3868,13 +3871,15 @@ rest_of_compilation (decl)
TIMEVAR (cse_time, tem = cse_main (insns, max_reg_num (),
0, rtl_dump_file));
- TIMEVAR (cse_time, delete_trivially_dead_insns (insns, max_reg_num ()));
-
if (tem || optimize > 1)
TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP,
!JUMP_NOOP_MOVES,
!JUMP_AFTER_REGSCAN));
+ /* Run this after jump optmizations remove all the unreachable code
+ so that unreachable code will not keep values live. */
+ TIMEVAR (cse_time, delete_trivially_dead_insns (insns, max_reg_num ()));
+
/* Dump rtl code after cse, if we are doing that. */
if (cse_dump)
@@ -4681,7 +4686,8 @@ check_lang_option (option, lang_option)
{
lang_independent_options * indep_options;
int len;
- long k;
+ int numopts;
+ long k;
char * space;
/* Ignore NULL entries. */
@@ -4711,8 +4717,14 @@ check_lang_option (option, lang_option)
switch (option[1])
{
- case 'f': indep_options = f_options; break;
- case 'W': indep_options = W_options; break;
+ case 'f':
+ indep_options = f_options;
+ numopts = NUM_ELEM (f_options);
+ break;
+ case 'W':
+ indep_options = W_options;
+ numopts = NUM_ELEM (W_options);
+ break;
default: return 1;
}
@@ -4724,7 +4736,7 @@ check_lang_option (option, lang_option)
if (option[0] == 'n' && option[1] == 'o' && option[2] == '-')
option += 3;
- for (k = NUM_ELEM (indep_options); k--;)
+ for (k = numopts; k--;)
{
if (!strcmp (option, indep_options[k].string))
{
@@ -4868,7 +4880,6 @@ main (argc, argv)
flag_schedule_insns_after_reload = 1;
#endif
flag_regmove = 1;
- flag_strict_aliasing = 1;
}
if (optimize >= 3)
@@ -5245,7 +5256,7 @@ main (argc, argv)
else
level = 2;
- if (da_len > 1 && !strncmp (str, "gdwarf", da_len))
+ if (da_len > 1 && *p && !strncmp (str, "gdwarf", da_len))
{
error ("use -gdwarf -g%d for DWARF v1, level %d",
level, level);
diff --git a/gcc/tree.c b/gcc/tree.c
index b61c11587ec..31bfd9a60b9 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -1,5 +1,6 @@
/* Language-independent node constructors for parse phase of GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1121,6 +1122,26 @@ make_node (code)
case 'c':
TREE_CONSTANT (t) = 1;
break;
+
+ case 'e':
+ switch (code)
+ {
+ case INIT_EXPR:
+ case MODIFY_EXPR:
+ case RTL_EXPR:
+ case PREDECREMENT_EXPR:
+ case PREINCREMENT_EXPR:
+ case POSTDECREMENT_EXPR:
+ case POSTINCREMENT_EXPR:
+ /* All of these have side-effects, no matter what their
+ operands are. */
+ TREE_SIDE_EFFECTS (t) = 1;
+ break;
+
+ default:
+ break;
+ }
+ break;
}
return t;
@@ -3107,6 +3128,24 @@ build1 (code, type, node)
TREE_RAISES (t) = 1;
}
+ switch (code)
+ {
+ case INIT_EXPR:
+ case MODIFY_EXPR:
+ case RTL_EXPR:
+ case PREDECREMENT_EXPR:
+ case PREINCREMENT_EXPR:
+ case POSTDECREMENT_EXPR:
+ case POSTINCREMENT_EXPR:
+ /* All of these have side-effects, no matter what their
+ operands are. */
+ TREE_SIDE_EFFECTS (t) = 1;
+ break;
+
+ default:
+ break;
+ }
+
return t;
}
@@ -3300,7 +3339,6 @@ build_type_attribute_variant (ttype, attribute)
current_obstack = TYPE_OBSTACK (ttype);
ntype = copy_node (ttype);
- current_obstack = ambient_obstack;
TYPE_POINTER_TO (ntype) = 0;
TYPE_REFERENCE_TO (ntype) = 0;
@@ -3335,6 +3373,12 @@ build_type_attribute_variant (ttype, attribute)
ntype = type_hash_canon (hashcode, ntype);
ttype = build_qualified_type (ntype, TYPE_QUALS (ttype));
+
+ /* We must restore the current obstack after the type_hash_canon call,
+ because type_hash_canon calls type_hash_add for permanent types, and
+ then type_hash_add calls oballoc expecting to get something permanent
+ back. */
+ current_obstack = ambient_obstack;
}
return ttype;
diff --git a/gcc/tree.h b/gcc/tree.h
index 0d7ea84aafc..29fe800835e 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1,5 +1,6 @@
/* Front-end tree definitions for GNU compiler.
- Copyright (C) 1989, 93-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2207,6 +2208,7 @@ extern tree reorder_blocks PROTO ((tree *, tree,
struct rtx_def *));
extern void free_temps_for_rtl_expr PROTO ((tree));
extern void instantiate_virtual_regs PROTO ((tree, struct rtx_def *));
+extern void unshare_all_rtl PROTO ((tree, struct rtx_def *));
extern int max_parm_reg_num PROTO ((void));
extern void push_function_context PROTO ((void));
extern void pop_function_context PROTO ((void));
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 7e584c961d0..34fb8f17df5 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -1,5 +1,6 @@
/* Try to unroll loops, and split induction variables.
- Copyright (C) 1992, 93, 94, 95, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000 Free Software
+ Foundation, Inc.
Contributed by James E. Wilson, Cygnus Support/UC Berkeley.
This file is part of GNU CC.
@@ -1262,7 +1263,18 @@ unroll_loop (loop_end, insn_count, loop_start, end_insert_before,
insn = NEXT_INSN (copy_start);
while (insn != safety_label)
{
- if (insn != start_label)
+ /* ??? Don't delete named code labels. They will be deleted when the
+ jump that references them is deleted. Otherwise, we end up deleting
+ them twice, which causes them to completely disappear instead of turn
+ into NOTE_INSN_DELETED_LABEL notes. This in turn causes aborts in
+ dwarfout.c/dwarf2out.c. We could perhaps fix the dwarf*out.c files
+ to handle deleted labels instead. Or perhaps fix DECL_RTL of the
+ associated LABEL_DECL to point to one of the new label instances. */
+ /* ??? Likewise, we can't delete a NOTE_INSN_DELETED_LABEL note. */
+ if (insn != start_label
+ && ! (GET_CODE (insn) == CODE_LABEL && LABEL_NAME (insn))
+ && ! (GET_CODE (insn) == NOTE
+ && NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED_LABEL))
insn = delete_insn (insn);
else
insn = NEXT_INSN (insn);
@@ -3671,10 +3683,14 @@ loop_iterations (loop_start, loop_end, loop_info)
return 0;
}
- /* The only new registers that care created before loop iterations are
- givs made from biv increments, so this should never occur. */
+ /* The only new registers that are created before loop iterations
+ are givs made from biv increments or registers created by
+ load_mems. In the latter case, it is possible that try_copy_prop
+ will propagate a new pseudo into the old iteration register but
+ this will be marked by having the REG_USERVAR_P bit set. */
- if ((unsigned) REGNO (iteration_var) >= reg_iv_type->num_elements)
+ if ((unsigned) REGNO (iteration_var) >= reg_iv_type->num_elements
+ && ! REG_USERVAR_P (iteration_var))
abort ();
iteration_info (iteration_var, &initial_value, &increment,
diff --git a/gcc/varasm.c b/gcc/varasm.c
index e4eef2d9b49..b93506546bc 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1,5 +1,6 @@
/* Output variables, constants and external declarations, for GNU compiler.
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -72,14 +73,6 @@ Boston, MA 02111-1307, USA. */
#endif
#define CHKR_PREFIX_SIZE (sizeof (CHKR_PREFIX) - 1)
-/* This macro gets just the user-specified name
- out of the string in a SYMBOL_REF. On most machines,
- we discard the * if any and that's all. */
-#ifndef STRIP_NAME_ENCODING
-#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
- (VAR) = ((SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*'))
-#endif
-
/* File in which assembler code is being written. */
extern FILE *asm_out_file;
@@ -149,6 +142,7 @@ static void mark_constants PROTO((rtx));
static int output_addressed_constants PROTO((tree));
static void output_after_function_constants PROTO((void));
static void output_constructor PROTO((tree, int));
+static void remove_from_pending_weak_list PROTO ((char *));
#ifdef ASM_OUTPUT_BSS
static void asm_output_bss PROTO((FILE *, tree, char *, int, int));
#endif
@@ -1020,7 +1014,13 @@ assemble_start_function (decl, fnname)
#ifdef ASM_WEAKEN_LABEL
if (DECL_WEAK (decl))
- ASM_WEAKEN_LABEL (asm_out_file, fnname);
+ {
+ ASM_WEAKEN_LABEL (asm_out_file, fnname);
+ /* Remove this function from the pending weak list so that
+ we do not emit multiple .weak directives for it. */
+ remove_from_pending_weak_list
+ (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
+ }
else
#endif
ASM_GLOBALIZE_LABEL (asm_out_file, fnname);
@@ -1453,8 +1453,14 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
if (TREE_PUBLIC (decl) && DECL_NAME (decl))
{
#ifdef ASM_WEAKEN_LABEL
- if (DECL_WEAK (decl))
- ASM_WEAKEN_LABEL (asm_out_file, name);
+ if (DECL_WEAK (decl))
+ {
+ ASM_WEAKEN_LABEL (asm_out_file, name);
+ /* Remove this variable from the pending weak list so that
+ we do not emit multiple .weak directives for it. */
+ remove_from_pending_weak_list
+ (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
+ }
else
#endif
ASM_GLOBALIZE_LABEL (asm_out_file, name);
@@ -3897,6 +3903,13 @@ output_constant (exp, size)
{
register enum tree_code code = TREE_CODE (TREE_TYPE (exp));
+ /* Some front-ends use constants other than the standard
+ language-indepdent varieties, but which may still be output
+ directly. Give the front-end a chance to convert EXP to a
+ language-independent representation. */
+ if (lang_expand_constant)
+ exp = (*lang_expand_constant) (exp);
+
if (size == 0 || flag_syntax_only)
return;
@@ -4352,9 +4365,32 @@ weak_finish ()
struct weak_syms *t;
for (t = weak_decls; t; t = t->next)
{
- ASM_WEAKEN_LABEL (asm_out_file, t->name);
- if (t->value)
- ASM_OUTPUT_DEF (asm_out_file, t->name, t->value);
+ if (t->name)
+ {
+ ASM_WEAKEN_LABEL (asm_out_file, t->name);
+ if (t->value)
+ ASM_OUTPUT_DEF (asm_out_file, t->name, t->value);
+ }
+ }
+ }
+#endif
+}
+
+/* Remove NAME from the pending list of weak symbols. This prevents
+ the compiler from emitting multiple .weak directives which confuses
+ some assemblers. */
+static void
+remove_from_pending_weak_list (name)
+ char *name;
+{
+#ifdef HANDLE_PRAGMA_WEAK
+ if (HANDLE_PRAGMA_WEAK)
+ {
+ struct weak_syms *t;
+ for (t = weak_decls; t; t = t->next)
+ {
+ if (t->name && strcmp (name, t->name) == 0)
+ t->name = NULL;
}
}
#endif
@@ -4376,7 +4412,13 @@ assemble_alias (decl, target)
{
#ifdef ASM_WEAKEN_LABEL
if (DECL_WEAK (decl))
- ASM_WEAKEN_LABEL (asm_out_file, name);
+ {
+ ASM_WEAKEN_LABEL (asm_out_file, name);
+ /* Remove this function from the pending weak list so that
+ we do not emit multiple .weak directives for it. */
+ remove_from_pending_weak_list
+ (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
+ }
else
#endif
ASM_GLOBALIZE_LABEL (asm_out_file, name);
diff --git a/gcc/version.c b/gcc/version.c
index 9f8bcdd229b..a3b7dff0118 100644
--- a/gcc/version.c
+++ b/gcc/version.c
@@ -1 +1 @@
-char *version_string = "egcs-2.93.22 19990518 (gcc2 ss-980929 experimental)";
+char *version_string = "2.95.3 20010219 (prerelease)";
diff --git a/include/ChangeLog b/include/ChangeLog
index 120fb2adb87..6c740efc5a7 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
1999-04-02 Mark Mitchell <mark@codesourcery.com>
* splay-tree.h (splay_tree_compare_pointers): Declare.
diff --git a/libchill/ChangeLog b/libchill/ChangeLog
index bd03fb3b463..1c84e2e0b41 100644
--- a/libchill/ChangeLog
+++ b/libchill/ChangeLog
@@ -1,3 +1,31 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Fri Aug 6 23:32:29 1999 Daniel Jacobowitz <drow@drow.them.org>
+
+ * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
+ libdir, libsubdir and tooldir.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Thu May 20 03:20:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in (AC_EXEEXT): Remove call.
+ (compiler_name): Explicitly check with no extension and .exe
+ extension.
+ * configure: Regenerate.
+
Wed Mar 24 22:41:28 1999 Mumit Khan <khan@xraylith.wisc.edu>
* configure.in (AC_PREREQ): Update to 2.13.
diff --git a/libchill/Makefile.in b/libchill/Makefile.in
index 6277b9a7335..e1abc77bacf 100644
--- a/libchill/Makefile.in
+++ b/libchill/Makefile.in
@@ -194,7 +194,12 @@ FLAGS_TO_PASS = \
"LOADLIBES=$(LOADLIBES)" \
"PICFLAG=$(PICFLAG)" \
"RANLIB=$(RANLIB)" \
- "SHELL=$(SHELL)"
+ "SHELL=$(SHELL)" \
+ "prefix=$(prefix)" \
+ "exec_prefix=$(exec_prefix)" \
+ "libdir=$(libdir)" \
+ "libsubdir=$(libsubdir)" \
+ "tooldir=$(tooldir)"
all: chillrt0.o libchill.a
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
diff --git a/libchill/configure b/libchill/configure
index 3c203117a4e..5db0ccfdba9 100755
--- a/libchill/configure
+++ b/libchill/configure
@@ -551,105 +551,6 @@ ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-# We have to handle 3 cases -- native, cross and canadian cross -- and
-# the extension returned from this macro needs to be treated as a possible
-# scenario and not the only one.
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:559: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 564 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:592: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 597 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:623: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -657,7 +558,7 @@ ac_exeext=$EXEEXT
compiler_name=cc1chill
rm -f skip-this-dir
echo $ac_n "checking if compiler $compiler_name has been built""... $ac_c" 1>&6
-echo "configure:661: checking if compiler $compiler_name has been built" >&5
+echo "configure:562: checking if compiler $compiler_name has been built" >&5
if eval "test \"`echo '$''{'chill_cv_compiler_exists'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -665,7 +566,7 @@ else
if test -n "$r"; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
chill_cv_compiler_exists=no
@@ -688,7 +589,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:692: checking for $ac_word" >&5
+echo "configure:593: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -718,7 +619,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:722: checking for $ac_word" >&5
+echo "configure:623: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -769,7 +670,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:773: checking for $ac_word" >&5
+echo "configure:674: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -801,7 +702,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:805: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:706: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -812,12 +713,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 816 "configure"
+#line 717 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -843,12 +744,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:847: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:748: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:852: checking whether we are using GNU C" >&5
+echo "configure:753: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -857,7 +758,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:861: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:762: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -876,7 +777,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:880: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:781: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -911,7 +812,7 @@ fi
test "$AR" || AR=ar
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:915: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:816: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -941,7 +842,7 @@ fi
# Sanity check for the cross-compilation case:
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:945: checking how to run the C preprocessor" >&5
+echo "configure:846: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -956,13 +857,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 960 "configure"
+#line 861 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:966: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:867: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -973,13 +874,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 977 "configure"
+#line 878 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:983: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:884: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -990,13 +891,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 994 "configure"
+#line 895 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:901: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1022,17 +923,17 @@ echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "stdio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for stdio.h""... $ac_c" 1>&6
-echo "configure:1026: checking for stdio.h" >&5
+echo "configure:927: checking for stdio.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1031 "configure"
+#line 932 "configure"
#include "confdefs.h"
#include <stdio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:937: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1060,12 +961,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1064: checking for ANSI C header files" >&5
+echo "configure:965: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1069 "configure"
+#line 970 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1073,7 +974,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:978: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1090,7 +991,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1094 "configure"
+#line 995 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1108,7 +1009,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1112 "configure"
+#line 1013 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1129,7 +1030,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1133 "configure"
+#line 1034 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1140,7 +1041,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1165,12 +1066,12 @@ fi
echo $ac_n "checking for posix""... $ac_c" 1>&6
-echo "configure:1169: checking for posix" >&5
+echo "configure:1070: checking for posix" >&5
if eval "test \"`echo '$''{'chill_cv_header_posix'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1174 "configure"
+#line 1075 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <unistd.h>
@@ -1196,12 +1097,12 @@ echo "$ac_t""$chill_cv_header_posix" 1>&6
# We can rely on the GNU library being posix-ish. I guess checking the
# header isn't actually like checking the functions, though...
echo $ac_n "checking for GNU library""... $ac_c" 1>&6
-echo "configure:1200: checking for GNU library" >&5
+echo "configure:1101: checking for GNU library" >&5
if eval "test \"`echo '$''{'chill_cv_lib_gnu'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1205 "configure"
+#line 1106 "configure"
#include "confdefs.h"
#include <stdio.h>
#ifdef __GNU_LIBRARY__
@@ -1224,12 +1125,12 @@ fi
echo "$ac_t""$chill_cv_lib_gnu" 1>&6
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1228: checking return type of signal handlers" >&5
+echo "configure:1129: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1233 "configure"
+#line 1134 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -1246,7 +1147,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:1250: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -1267,12 +1168,12 @@ EOF
# we'll get atexit by default
if test $ac_cv_header_stdc != yes; then
echo $ac_n "checking for atexit""... $ac_c" 1>&6
-echo "configure:1271: checking for atexit" >&5
+echo "configure:1172: checking for atexit" >&5
if eval "test \"`echo '$''{'ac_cv_func_atexit'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1276 "configure"
+#line 1177 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char atexit(); below. */
@@ -1295,7 +1196,7 @@ atexit();
; return 0; }
EOF
-if { (eval echo configure:1299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_atexit=yes"
else
@@ -1320,12 +1221,12 @@ else
EOF
echo $ac_n "checking for onexit""... $ac_c" 1>&6
-echo "configure:1324: checking for onexit" >&5
+echo "configure:1225: checking for onexit" >&5
if eval "test \"`echo '$''{'ac_cv_func_onexit'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1329 "configure"
+#line 1230 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char onexit(); below. */
@@ -1348,7 +1249,7 @@ onexit();
; return 0; }
EOF
-if { (eval echo configure:1352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_onexit=yes"
else
@@ -1366,12 +1267,12 @@ if eval "test \"`echo '$ac_cv_func_'onexit`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for on_exit""... $ac_c" 1>&6
-echo "configure:1370: checking for on_exit" >&5
+echo "configure:1271: checking for on_exit" >&5
if eval "test \"`echo '$''{'ac_cv_func_on_exit'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1375 "configure"
+#line 1276 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char on_exit(); below. */
@@ -1394,7 +1295,7 @@ on_exit();
; return 0; }
EOF
-if { (eval echo configure:1398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_on_exit=yes"
else
@@ -1568,7 +1469,6 @@ s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
-s%@EXEEXT@%$EXEEXT%g
s%@CC@%$CC%g
s%@AR@%$AR%g
s%@SET_MAKE@%$SET_MAKE%g
diff --git a/libchill/configure.in b/libchill/configure.in
index ff5e62b3202..b9c6a5339ab 100644
--- a/libchill/configure.in
+++ b/libchill/configure.in
@@ -35,11 +35,6 @@ dnl This is needed for a multilibbed build in the source tree so
dnl that install-sh and config.sub get found.
AC_CONFIG_AUX_DIR($topsrcdir)
-# We have to handle 3 cases -- native, cross and canadian cross -- and
-# the extension returned from this macro needs to be treated as a possible
-# scenario and not the only one.
-AC_EXEEXT
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -52,7 +47,7 @@ AC_CACHE_VAL(chill_cv_compiler_exists,
if test -n "$r"; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
chill_cv_compiler_exists=no
diff --git a/libf2c/ChangeLog b/libf2c/ChangeLog
index 6d16a161263..c3ca9a9043b 100644
--- a/libf2c/ChangeLog
+++ b/libf2c/ChangeLog
@@ -1,3 +1,61 @@
+Mon Jan 24 20:28:35 CET 2000 David M. Gay <dmg@bell-labs.com>
+
+ * libI77/endfile.c (t_runc): set state to writing
+ (b->uwrt = 1) when an endfile statement requires copying the file.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Fri Aug 6 23:32:29 1999 Daniel Jacobowitz <drow@drow.them.org>
+
+ * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
+ libdir, libsubdir and tooldir.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+ * libF77/Version.c: No longer a prerelease.
+ * libI77/Version.c: No longer a prerelease.
+ * libU77/Version.c: No longer a prerelease.
+
+Wed Jul 7 15:58:16 1999 Craig Burley <craig@jcb-sc.com>
+
+ * libU77/date_.c (G77_date_y2kbug_0): G77_time_0 returns
+ longint, not integer, and G77_ctime_0 takes longint, not
+ integer, argument.
+
+ * libU77/Version.c: Bump version.
+
+Mon Jun 28 10:22:30 1999 Craig Burley <craig@jcb-sc.com>
+
+ * libI77/rsne.c: Fix NAMELIST bug by applying 19990627
+ Netlib patch to release branch.
+
+Wed Jun 16 11:38:58 1999 Craig Burley <craig@jcb-sc.com>
+
+ From Ian Watson <WATSON_IAN_A@Lilly.com> 1999-06-12:
+ * libI77/backspace.c: Reload file descriptor after
+ calling t_runc.
+ * libI77/Version.c: Bump libg2c version.
+
+Wed May 26 14:26:35 1999 Craig Burley <craig@jcb-sc.com>
+
+ * libF77/Version.c, libI77/Version.c, libU77/Version.c:
+ Use 0.5.24 to designate the version of g77 within GCC 2.95.
+
+Thu May 20 03:20:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in (AC_EXEEXT): Remove call.
+ (compiler_name): Explicitly check with no extension and .exe
+ extension.
+ * configure: Regenerate.
+
Mon May 10 17:33:45 1999 Craig Burley <craig@jcb-sc.com>
Update to Netlib version of 1999-05-10:
diff --git a/libf2c/Makefile.in b/libf2c/Makefile.in
index 7c8d880ea20..790e6cd8660 100644
--- a/libf2c/Makefile.in
+++ b/libf2c/Makefile.in
@@ -67,7 +67,12 @@ FLAGS_TO_PASS= \
AR='$(AR)' \
RANLIB='$(RANLIB)' \
PICFLAG='$(PICFLAG)' \
- RUNTESTFLAGS='$(RUNTESTFLAGS)'
+ RUNTESTFLAGS='$(RUNTESTFLAGS)' \
+ prefix='$(prefix)' \
+ exec_prefix='$(exec_prefix)' \
+ libdir='$(libdir)' \
+ libsubdir='$(libsubdir)' \
+ tooldir='$(tooldir)'
LIBG2C = libg2c.a
diff --git a/libf2c/configure b/libf2c/configure
index 75d350a3803..a1823685fe7 100755
--- a/libf2c/configure
+++ b/libf2c/configure
@@ -551,105 +551,6 @@ ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-# We have to handle 3 cases -- native, cross and canadian cross -- and
-# the extension returned from this macro needs to be treated as a possible
-# scenario and not the only one.
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:559: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 564 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:592: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 597 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:623: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -657,7 +558,7 @@ ac_exeext=$EXEEXT
compiler_name=f771
rm -f skip-this-dir
echo $ac_n "checking if compiler $compiler_name has been built""... $ac_c" 1>&6
-echo "configure:661: checking if compiler $compiler_name has been built" >&5
+echo "configure:562: checking if compiler $compiler_name has been built" >&5
if eval "test \"`echo '$''{'g77_cv_compiler_exists'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -665,7 +566,7 @@ else
if test -n "$r"; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
g77_cv_compiler_exists=no
@@ -688,7 +589,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:692: checking for $ac_word" >&5
+echo "configure:593: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -718,7 +619,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:722: checking for $ac_word" >&5
+echo "configure:623: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -769,7 +670,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:773: checking for $ac_word" >&5
+echo "configure:674: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -801,7 +702,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:805: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:706: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -812,12 +713,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 816 "configure"
+#line 717 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -843,12 +744,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:847: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:748: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:852: checking whether we are using GNU C" >&5
+echo "configure:753: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -857,7 +758,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:861: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:762: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -876,7 +777,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:880: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:781: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -916,7 +817,7 @@ else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:920: checking for $ac_word" >&5
+echo "configure:821: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -956,7 +857,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:960: checking for a BSD compatible install" >&5
+echo "configure:861: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1009,7 +910,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1013: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:914: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1038,7 +939,7 @@ fi
# Sanity check for the cross-compilation case:
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1042: checking how to run the C preprocessor" >&5
+echo "configure:943: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1053,13 +954,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1057 "configure"
+#line 958 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1063: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:964: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1070,13 +971,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1074 "configure"
+#line 975 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1080: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:981: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1087,13 +988,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1091 "configure"
+#line 992 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1097: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1119,17 +1020,17 @@ echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "stdio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for stdio.h""... $ac_c" 1>&6
-echo "configure:1123: checking for stdio.h" >&5
+echo "configure:1024: checking for stdio.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1128 "configure"
+#line 1029 "configure"
#include "confdefs.h"
#include <stdio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1133: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1034: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1160,7 +1061,7 @@ fi
# (via com.h). proj.h and com.h are in gcc/f/, config.h which they need
# is in gcc/ and the config files are in gcc/config/.
echo $ac_n "checking f2c integer type""... $ac_c" 1>&6
-echo "configure:1164: checking f2c integer type" >&5
+echo "configure:1065: checking f2c integer type" >&5
# Set this back later below!
late_ac_cpp=$ac_cpp
late_cflags=$CFLAGS
@@ -1173,7 +1074,7 @@ ac_cpp="$late_ac_cpp -DIN_GCC -DHAVE_CONFIG_H $extra_includes"
# the headers.
CFLAGS="$CFLAGS -DHAVE_CONFIG_H -DIN_GCC $extra_includes"
cat > conftest.$ac_ext <<EOF
-#line 1177 "configure"
+#line 1078 "configure"
#include "confdefs.h"
#include "proj.h"
#define FFECOM_DETERMINE_TYPES 1
@@ -1182,7 +1083,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1087: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
:
else
echo "configure: failed program was:" >&5
@@ -1196,9 +1097,9 @@ CFLAGS=$late_cflags
if eval "test \"`echo '$''{'g77_cv_sys_f2cinteger'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- echo "configure:1200: using $ac_cpp" >&5
+ echo "configure:1101: using $ac_cpp" >&5
cat > conftest.$ac_ext <<EOF
-#line 1202 "configure"
+#line 1103 "configure"
#include "confdefs.h"
#include "proj.h"
#define FFECOM_DETERMINE_TYPES 1
@@ -1220,9 +1121,9 @@ fi
rm -f conftest*
if test "$g77_cv_sys_f2cinteger" = ""; then
-echo "configure:1224: using $ac_cpp" >&5
+echo "configure:1125: using $ac_cpp" >&5
cat > conftest.$ac_ext <<EOF
-#line 1226 "configure"
+#line 1127 "configure"
#include "confdefs.h"
#include "proj.h"
#define FFECOM_DETERMINE_TYPES 1
@@ -1256,13 +1157,13 @@ F2C_INTEGER=$g77_cv_sys_f2cinteger
echo $ac_n "checking f2c long int type""... $ac_c" 1>&6
-echo "configure:1260: checking f2c long int type" >&5
+echo "configure:1161: checking f2c long int type" >&5
if eval "test \"`echo '$''{'g77_cv_sys_f2clongint'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- echo "configure:1264: using $ac_cpp" >&5
+ echo "configure:1165: using $ac_cpp" >&5
cat > conftest.$ac_ext <<EOF
-#line 1266 "configure"
+#line 1167 "configure"
#include "confdefs.h"
#include "proj.h"
#define FFECOM_DETERMINE_TYPES 1
@@ -1285,9 +1186,9 @@ rm -f conftest*
if test "$g77_cv_sys_f2clongint" = ""; then
-echo "configure:1289: using $ac_cpp" >&5
+echo "configure:1190: using $ac_cpp" >&5
cat > conftest.$ac_ext <<EOF
-#line 1291 "configure"
+#line 1192 "configure"
#include "confdefs.h"
#include "proj.h"
#define FFECOM_DETERMINE_TYPES 1
@@ -1366,7 +1267,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1370: checking host system type" >&5
+echo "configure:1271: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -1387,7 +1288,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:1391: checking target system type" >&5
+echo "configure:1292: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -1405,7 +1306,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1409: checking build system type" >&5
+echo "configure:1310: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -1578,7 +1479,6 @@ s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
-s%@EXEEXT@%$EXEEXT%g
s%@CC@%$CC%g
s%@AR@%$AR%g
s%@RANLIB@%$RANLIB%g
diff --git a/libf2c/configure.in b/libf2c/configure.in
index ea1acc2f836..a4c502c2424 100644
--- a/libf2c/configure.in
+++ b/libf2c/configure.in
@@ -35,11 +35,6 @@ dnl This is needed for a multilibbed build in the source tree so
dnl that install-sh and config.sub get found.
AC_CONFIG_AUX_DIR($topsrcdir)
-# We have to handle 3 cases -- native, cross and canadian cross -- and
-# the extension returned from this macro needs to be treated as a possible
-# scenario and not the only one.
-AC_EXEEXT
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -52,7 +47,7 @@ AC_CACHE_VAL(g77_cv_compiler_exists,
if test -n "$r"; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
g77_cv_compiler_exists=no
diff --git a/libf2c/libF77/Version.c b/libf2c/libF77/Version.c
index 98a91098976..1052ffb6f0b 100644
--- a/libf2c/libF77/Version.c
+++ b/libf2c/libF77/Version.c
@@ -3,7 +3,7 @@ static char junk[] = "\n@(#)LIBF77 VERSION 19990503\n";
/*
*/
-char __G77_LIBF77_VERSION__[] = "0.5.24";
+char __G77_LIBF77_VERSION__[] = "0.5.25 19991030 (prerelease)";
/*
2.00 11 June 1980. File version.c added to library.
diff --git a/libf2c/libI77/Version.c b/libf2c/libI77/Version.c
index c5cf773bf23..0e38fe53b20 100644
--- a/libf2c/libI77/Version.c
+++ b/libf2c/libI77/Version.c
@@ -3,7 +3,7 @@ static char junk[] = "\n@(#) LIBI77 VERSION pjw,dmg-mods 19990503\n";
/*
*/
-char __G77_LIBI77_VERSION__[] = "0.5.24-19981012";
+char __G77_LIBI77_VERSION__[] = "0.5.25 19991030 (prerelease)";
/*
2.01 $ format added
diff --git a/libf2c/libI77/backspace.c b/libf2c/libI77/backspace.c
index 1da686dbb48..eca1708a3c8 100644
--- a/libf2c/libI77/backspace.c
+++ b/libf2c/libI77/backspace.c
@@ -27,6 +27,7 @@ integer f_back(alist *a)
}
if(b->uwrt) {
(void) t_runc(a);
+ f = b->ufd; /* t_runc might change b->ufd */
if (f__nowreading(b))
err(a->aerr,errno,"backspace");
}
diff --git a/libf2c/libI77/endfile.c b/libf2c/libI77/endfile.c
index 0e4ac0318e9..8e3e8c48fc7 100644
--- a/libf2c/libI77/endfile.c
+++ b/libf2c/libI77/endfile.c
@@ -103,6 +103,7 @@ t_runc(alist *a)
rewind(tf);
if (copy(tf, loc, bf))
goto bad1;
+ b->uwrt = 1;
b->urw = 2;
#ifdef NON_UNIX_STDIO
if (b->ufmt) {
diff --git a/libf2c/libI77/rsne.c b/libf2c/libI77/rsne.c
index 86bb2164f12..c9d5f1015f4 100644
--- a/libf2c/libI77/rsne.c
+++ b/libf2c/libI77/rsne.c
@@ -530,10 +530,10 @@ x_rsne(cilist *a)
no1 = (ivae - iva)/size;
if (no1 > f__lcount)
no1 = f__lcount;
- iva += no1 * dn0->delta;
if (k = l_read(&no1, vaddr + iva,
size, type))
return k;
+ iva += no1 * dn0->delta;
}
}
mustend:
diff --git a/libf2c/libU77/Version.c b/libf2c/libU77/Version.c
index 1efd5105055..6cbd0ba166c 100644
--- a/libf2c/libU77/Version.c
+++ b/libf2c/libU77/Version.c
@@ -1,6 +1,6 @@
static char junk[] = "\n@(#) LIBU77 VERSION 19980709\n";
-char __G77_LIBU77_VERSION__[] = "0.5.24-19990306";
+char __G77_LIBU77_VERSION__[] = "0.5.25 19991030 (prerelease)";
#include <stdio.h>
diff --git a/libf2c/libU77/date_.c b/libf2c/libU77/date_.c
index 11537657f32..4f8254d3740 100644
--- a/libf2c/libU77/date_.c
+++ b/libf2c/libU77/date_.c
@@ -13,7 +13,8 @@ static integer c__5 = 5;
{
/* System generated locals */
address a__1[5];
- integer i__1, i__2[5];
+ longint i__1;
+ integer i__2[5];
char ch__1[24];
/* Builtin functions */
@@ -21,7 +22,7 @@ static integer c__5 = 5;
/* Local variables */
static char cbuf[24];
- extern integer G77_time_0 ();
+ extern longint G77_time_0 ();
extern /* Character */ VOID G77_ctime_0 ();
i__1 = G77_time_0 ();
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index caf12de495b..7dfeb95ca21 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,70 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Fri Aug 6 23:32:29 1999 Daniel Jacobowitz <drow@drow.them.org>
+
+ * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
+ libdir, libsubdir and tooldir.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+1999-07-12 Jason Merrill <jason@yorick.cygnus.com>
+
+ * Makefile.in (NEEDED): Add bcmp, bcopy, bzero.
+
+1999-07-07 Jason Merrill <jason@yorick.cygnus.com>
+
+ * Makefile.in (needed-list): Only include stuff we actually need
+ for libstdc++.
+
+Thu Jun 24 22:30:22 1999 "Philippe De Muyter" <phdm@macqel.be>
+
+ * setenv.c (sys/types.h, stdio.h): Files included.
+ * xstrdup.c (sys/types.h): File included.
+
+1999-06-21 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * configure.in (checkfuncs): Add gettimeofday.
+ * config.in, configure: Regenerated.
+
+Mon Jun 21 05:56:01 1999 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * configure.in (*-*-uwin*): UWIN has sys_{errlist,nerr} even if
+ the test fails.
+ * configure: Regenerate.
+
+1999-06-10 Mike Stump <mrs@wrs.com>
+
+ * Makefile.in (setenv.o): Add config.h dep for setenv.o to fix
+ parallel builds.
+
+1999-05-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * putenv.c: Include ansidecl.h to define `const'.
+ * setenv.c: Likewise.
+
+Wed May 26 03:58:20 1999 "Melissa O'Neill" <oneill@cs.sfu.ca>
+
+ * Makefile.in (CFILES): Add putenv.c and setenv.c.
+ * configure.in (funcs): Add putenv and setenv.
+ (AC_CHECK_FUNCS): Check for putenv and setenv.
+ * configure: Rebuilt.
+ * putenv.c setenv.c: New files.
+
+ * getcwd.c (getcwd): If pathname is NULL, then obtain SIZE
+ bytes of space using malloc.
+
Mon May 17 01:42:34 1999 Stu Grossman <grossman@babylon-5.cygnus.com>
* cplus-dem.c (demangle_fund_type (near 'I' case)): Don't advance
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index 622b92c1400..5642058a927 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -85,7 +85,12 @@ FLAGS_TO_PASS = \
"LDFLAGS=$(LDFLAGS)" \
"LOADLIBES=$(LOADLIBES)" \
"RANLIB=$(RANLIB)" \
- "SHELL=$(SHELL)"
+ "SHELL=$(SHELL)" \
+ "prefix=$(prefix)" \
+ "exec_prefix=$(exec_prefix)" \
+ "libdir=$(libdir)" \
+ "libsubdir=$(libsubdir)" \
+ "tooldir=$(tooldir)"
all: stamp-picdir $(TARGETLIB) needed-list required-list all-subdir
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
@@ -120,9 +125,9 @@ CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c \
fnmatch.c getcwd.c getopt.c getopt1.c getpagesize.c \
getruntime.c floatformat.c hex.c index.c insque.c memchr.c \
memcmp.c memcpy.c memmove.c memset.c mkstemps.c objalloc.c obstack.c \
- pexecute.c random.c rename.c rindex.c sigsetmask.c spaces.c \
- splay-tree.c strcasecmp.c strncasecmp.c strchr.c strdup.c strerror.c \
- strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c \
+ pexecute.c putenv.c random.c rename.c rindex.c setenv.c sigsetmask.c \
+ spaces.c splay-tree.c strcasecmp.c strncasecmp.c strchr.c strdup.c \
+ strerror.c strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c \
tmpnam.c vasprintf.c vfork.c vfprintf.c vprintf.c vsprintf.c \
waitpid.c xatexit.c xexit.c xmalloc.c xstrdup.c xstrerror.c
@@ -154,13 +159,21 @@ install_to_tooldir: all
mv -f $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB).n $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
-# needed-list is used by libstdc++.
+# needed-list is used by libstdc++. NEEDED is the list of functions
+# to include there. Do not add anything LGPL to this list; libstdc++
+# can't use anything encumbering.
+NEEDED = atexit calloc memchr memcmp memcpy memmove memset rename strchr \
+ strerror strrchr strstr strtol strtoul tmpnam vfprintf vprintf \
+ vfork waitpid bcmp bcopy bzero
needed-list: Makefile
- f="$(LIBOBJS) $(ALLOCA) $(EXTRA_OFILES)"; \
- case $$f in \
- *alloca.o*) f="$$f xmalloc.o xexit.o" ;; \
- esac; \
- echo $$f > needed-list
+ rm -f needed-list; touch needed-list; \
+ for f in $(NEEDED); do \
+ for g in $(LIBOBJS) $(EXTRA_OFILES); do \
+ case "$$g" in \
+ *$$f*) echo $$g >> needed-list ;; \
+ esac; \
+ done; \
+ done
# required-list was used when building a shared bfd/opcodes/libiberty
# library. I don't know if it used by anything currently.
@@ -248,6 +261,7 @@ mkstemps.o: config.h
objalloc.o: $(INCDIR)/objalloc.h
obstack.o: config.h $(INCDIR)/obstack.h
pexecute.o: config.h $(INCDIR)/libiberty.h
+setenv.o: config.h
spaces.o: $(INCDIR)/libiberty.h
splay-tree.o: config.h $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h $(INCDIR)/ansidecl.h
strerror.o: config.h $(INCDIR)/libiberty.h
diff --git a/libiberty/config.in b/libiberty/config.in
index 520729f894e..7869127ecce 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -85,6 +85,9 @@
/* Define if you have the getrusage function. */
#undef HAVE_GETRUSAGE
+/* Define if you have the gettimeofday function. */
+#undef HAVE_GETTIMEOFDAY
+
/* Define if you have the index function. */
#undef HAVE_INDEX
@@ -115,6 +118,9 @@
/* Define if you have the psignal function. */
#undef HAVE_PSIGNAL
+/* Define if you have the putenv function. */
+#undef HAVE_PUTENV
+
/* Define if you have the random function. */
#undef HAVE_RANDOM
@@ -127,6 +133,9 @@
/* Define if you have the sbrk function. */
#undef HAVE_SBRK
+/* Define if you have the setenv function. */
+#undef HAVE_SETENV
+
/* Define if you have the sigsetmask function. */
#undef HAVE_SIGSETMASK
@@ -202,6 +211,9 @@
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
+/* Define if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
diff --git a/libiberty/configure b/libiberty/configure
index c4ffbd083ce..25daa27c372 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -1159,9 +1159,11 @@ funcs="$funcs memcpy"
funcs="$funcs memmove"
funcs="$funcs memset"
funcs="$funcs mkstemps"
+funcs="$funcs putenv"
funcs="$funcs random"
funcs="$funcs rename"
funcs="$funcs rindex"
+funcs="$funcs setenv"
funcs="$funcs sigsetmask"
funcs="$funcs strcasecmp"
funcs="$funcs strchr"
@@ -1183,7 +1185,7 @@ funcs="$funcs waitpid"
vars="sys_errlist sys_nerr sys_siglist"
-checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk"
+checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
# These are neither executed nor required, but they help keep
# autoheader happy without adding a bunch of text to acconfig.h.
@@ -1191,12 +1193,12 @@ if test "x" = "y"; then
for ac_func in asprintf atexit basename bcmp bcopy bzero calloc clock getcwd
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1195: checking for $ac_func" >&5
+echo "configure:1197: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1200 "configure"
+#line 1202 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1219,7 +1221,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1246,12 +1248,12 @@ done
for ac_func in getpagesize index insque mkstemps memchr memcmp memcpy memmove
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1250: checking for $ac_func" >&5
+echo "configure:1252: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1255 "configure"
+#line 1257 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1274,7 +1276,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1298,15 +1300,15 @@ else
fi
done
- for ac_func in memset random rename rindex sigsetmask strcasecmp
+ for ac_func in memset putenv random rename rindex sigsetmask strcasecmp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1305: checking for $ac_func" >&5
+echo "configure:1307: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1310 "configure"
+#line 1312 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1329,7 +1331,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1353,15 +1355,15 @@ else
fi
done
- for ac_func in strchr strdup strncasecmp strrchr strstr strtod strtol
+ for ac_func in setenv strchr strdup strncasecmp strrchr strstr strtod strtol
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1360: checking for $ac_func" >&5
+echo "configure:1362: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1365 "configure"
+#line 1367 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1384,7 +1386,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1411,12 +1413,12 @@ done
for ac_func in strtoul tmpnam vasprintf vfprintf vprintf vsprintf waitpid
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1415: checking for $ac_func" >&5
+echo "configure:1417: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1420 "configure"
+#line 1422 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1439,7 +1441,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1478,12 +1480,12 @@ EOF
for ac_func in getrusage on_exit psignal strerror strsignal sysconf times
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1482: checking for $ac_func" >&5
+echo "configure:1484: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1487 "configure"
+#line 1489 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1506,7 +1508,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1530,15 +1532,15 @@ else
fi
done
- for ac_func in sbrk
+ for ac_func in sbrk gettimeofday
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1537: checking for $ac_func" >&5
+echo "configure:1539: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1542 "configure"
+#line 1544 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1561,7 +1563,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1725,6 +1727,17 @@ EOF
# can hang configure; on other versions, vfork exists just as a stub.
# FIXME: This should be removed once vfork in uwin's runtime is fixed.
ac_cv_func_vfork_works=no
+ # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
+ # macros (actually, these are imported from a DLL, but the end effect
+ # is the same), so the test below won't find them.
+ cat >> confdefs.h <<\EOF
+#define HAVE_SYS_NERR 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_SYS_ERRLIST 1
+EOF
+
;;
esac
@@ -1732,7 +1745,7 @@ EOF
# We haven't set the list of objects yet. Use the standard autoconf
# tests. This will only work if the compiler works.
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1736: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1749: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1743,12 +1756,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1747 "configure"
+#line 1760 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1774,19 +1787,19 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1778: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1791: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
for ac_func in $funcs
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1785: checking for $ac_func" >&5
+echo "configure:1798: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1790 "configure"
+#line 1803 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1809,7 +1822,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1856,19 +1869,19 @@ EOF
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1860: checking for working alloca.h" >&5
+echo "configure:1873: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1865 "configure"
+#line 1878 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:1872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -1889,12 +1902,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1893: checking for alloca" >&5
+echo "configure:1906: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1898 "configure"
+#line 1911 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -1922,7 +1935,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:1926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -1954,12 +1967,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1958: checking whether alloca needs Cray hooks" >&5
+echo "configure:1971: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1963 "configure"
+#line 1976 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -1984,12 +1997,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1988: checking for $ac_func" >&5
+echo "configure:2001: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1993 "configure"
+#line 2006 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2012,7 +2025,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2039,7 +2052,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:2043: checking stack direction for C alloca" >&5
+echo "configure:2056: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2047,7 +2060,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 2051 "configure"
+#line 2064 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -2066,7 +2079,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:2070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -2091,12 +2104,12 @@ fi
esac
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2095: checking for ANSI C header files" >&5
+echo "configure:2108: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2100 "configure"
+#line 2113 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2104,7 +2117,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2108: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2121: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2121,7 +2134,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2125 "configure"
+#line 2138 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2139,7 +2152,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2143 "configure"
+#line 2156 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2160,7 +2173,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2164 "configure"
+#line 2177 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2171,7 +2184,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2195,12 +2208,12 @@ EOF
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:2199: checking for pid_t" >&5
+echo "configure:2212: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2204 "configure"
+#line 2217 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -2229,17 +2242,17 @@ fi
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:2233: checking for vfork.h" >&5
+echo "configure:2246: checking for vfork.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2238 "configure"
+#line 2251 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2256: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2264,18 +2277,18 @@ else
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:2268: checking for working vfork" >&5
+echo "configure:2281: checking for working vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:2274: checking for vfork" >&5
+echo "configure:2287: checking for vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2279 "configure"
+#line 2292 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vfork(); below. */
@@ -2298,7 +2311,7 @@ vfork();
; return 0; }
EOF
-if { (eval echo configure:2302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vfork=yes"
else
@@ -2320,7 +2333,7 @@ fi
ac_cv_func_vfork_works=$ac_cv_func_vfork
else
cat > conftest.$ac_ext <<EOF
-#line 2324 "configure"
+#line 2337 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
@@ -2415,7 +2428,7 @@ main() {
}
}
EOF
-if { (eval echo configure:2419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_vfork_works=yes
else
@@ -2442,19 +2455,19 @@ fi
fi
for v in $vars; do
echo $ac_n "checking for $v""... $ac_c" 1>&6
-echo "configure:2446: checking for $v" >&5
+echo "configure:2459: checking for $v" >&5
if eval "test \"`echo '$''{'libiberty_cv_var_$v'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2451 "configure"
+#line 2464 "configure"
#include "confdefs.h"
int *p;
int main() {
extern int $v; p = &$v;
; return 0; }
EOF
-if { (eval echo configure:2458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "libiberty_cv_var_$v=yes"
else
@@ -2480,12 +2493,12 @@ EOF
for ac_func in $checkfuncs
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2484: checking for $ac_func" >&5
+echo "configure:2497: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2489 "configure"
+#line 2502 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2508,7 +2521,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
diff --git a/libiberty/configure.in b/libiberty/configure.in
index 3fcfe9dcaa2..843a9dd94e9 100644
--- a/libiberty/configure.in
+++ b/libiberty/configure.in
@@ -130,9 +130,11 @@ funcs="$funcs memcpy"
funcs="$funcs memmove"
funcs="$funcs memset"
funcs="$funcs mkstemps"
+funcs="$funcs putenv"
funcs="$funcs random"
funcs="$funcs rename"
funcs="$funcs rindex"
+funcs="$funcs setenv"
funcs="$funcs sigsetmask"
funcs="$funcs strcasecmp"
funcs="$funcs strchr"
@@ -154,21 +156,21 @@ funcs="$funcs waitpid"
vars="sys_errlist sys_nerr sys_siglist"
-checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk"
+checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
# These are neither executed nor required, but they help keep
# autoheader happy without adding a bunch of text to acconfig.h.
if test "x" = "y"; then
AC_CHECK_FUNCS(asprintf atexit basename bcmp bcopy bzero calloc clock getcwd)
AC_CHECK_FUNCS(getpagesize index insque mkstemps memchr memcmp memcpy memmove)
- AC_CHECK_FUNCS(memset random rename rindex sigsetmask strcasecmp)
- AC_CHECK_FUNCS(strchr strdup strncasecmp strrchr strstr strtod strtol)
+ AC_CHECK_FUNCS(memset putenv random rename rindex sigsetmask strcasecmp)
+ AC_CHECK_FUNCS(setenv strchr strdup strncasecmp strrchr strstr strtod strtol)
AC_CHECK_FUNCS(strtoul tmpnam vasprintf vfprintf vprintf vsprintf waitpid)
AC_DEFINE(HAVE_SYS_ERRLIST)
AC_DEFINE(HAVE_SYS_NERR)
AC_DEFINE(HAVE_SYS_SIGLIST)
AC_CHECK_FUNCS(getrusage on_exit psignal strerror strsignal sysconf times)
- AC_CHECK_FUNCS(sbrk)
+ AC_CHECK_FUNCS(sbrk gettimeofday)
fi
# For each of these functions, if the host does not provide the
@@ -291,6 +293,11 @@ if test -z "${setobjs}"; then
# can hang configure; on other versions, vfork exists just as a stub.
# FIXME: This should be removed once vfork in uwin's runtime is fixed.
ac_cv_func_vfork_works=no
+ # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
+ # macros (actually, these are imported from a DLL, but the end effect
+ # is the same), so the test below won't find them.
+ AC_DEFINE(HAVE_SYS_NERR)
+ AC_DEFINE(HAVE_SYS_ERRLIST)
;;
esac
diff --git a/libiberty/getcwd.c b/libiberty/getcwd.c
index 06d55c04f58..47b1c1eec31 100644
--- a/libiberty/getcwd.c
+++ b/libiberty/getcwd.c
@@ -14,6 +14,9 @@ DESCRIPTION
current directory's path doesn't fit in LEN characters, the result
is NULL and errno is set.
+ If pathname is a null pointer, getcwd() will obtain size bytes of
+ space using malloc.
+
BUGS
Emulated via the getwd() call, which is reasonable for most
systems that do not have getcwd().
@@ -48,6 +51,13 @@ getcwd (buf, len)
errno = ERANGE;
return 0;
}
+ if (!buf) {
+ buf = (char*)malloc(len);
+ if (!buf) {
+ errno = ENOMEM;
+ return 0;
+ }
+ }
strcpy (buf, ourbuf);
}
return buf;
diff --git a/libiberty/putenv.c b/libiberty/putenv.c
new file mode 100644
index 00000000000..9d5692222cf
--- /dev/null
+++ b/libiberty/putenv.c
@@ -0,0 +1,68 @@
+/* Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc.
+ This file based on putenv.c in the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#if defined (_AIX) && !defined (__GNUC__)
+ #pragma alloca
+#endif
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "ansidecl.h"
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+#if HAVE_STRING_H
+# include <string.h>
+#endif
+
+#ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+#else
+# ifndef alloca
+# ifdef __GNUC__
+# define alloca __builtin_alloca
+# else
+extern char *alloca ();
+# endif /* __GNUC__ */
+# endif /* alloca */
+#endif /* HAVE_ALLOCA_H */
+
+/* Below this point, it's verbatim code from the glibc-2.0 implementation */
+
+
+/* Put STRING, which is of the form "NAME=VALUE", in the environment. */
+int
+putenv (string)
+ const char *string;
+{
+ const char *const name_end = strchr (string, '=');
+
+ if (name_end)
+ {
+ char *name = (char *) alloca (name_end - string + 1);
+ memcpy (name, string, name_end - string);
+ name[name_end - string] = '\0';
+ return setenv (name, name_end + 1, 1);
+ }
+
+ unsetenv (string);
+ return 0;
+}
diff --git a/libiberty/setenv.c b/libiberty/setenv.c
new file mode 100644
index 00000000000..ba35aabadc2
--- /dev/null
+++ b/libiberty/setenv.c
@@ -0,0 +1,164 @@
+/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+ This file based on setenv.c in the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "ansidecl.h"
+
+#include <errno.h>
+#if !defined(errno) && !defined(HAVE_ERRNO_DECL)
+extern int errno;
+#endif
+#define __set_errno(ev) ((errno) = (ev))
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#else
+#include <sys/types.h> /* For `size_t' */
+#include <stdio.h> /* For `NULL' */
+#endif
+#if HAVE_STRING_H
+# include <string.h>
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#define __environ environ
+#ifndef HAVE_ENVIRON_DECL
+extern char **environ;
+#endif
+
+/* LOCK and UNLOCK are defined as no-ops. This makes the libiberty
+ * implementation MT-Unsafe. */
+#define LOCK
+#define UNLOCK
+
+/* Below this point, it's verbatim code from the glibc-2.0 implementation */
+
+/* If this variable is not a null pointer we allocated the current
+ environment. */
+static char **last_environ;
+
+
+int
+setenv (name, value, replace)
+ const char *name;
+ const char *value;
+ int replace;
+{
+ register char **ep;
+ register size_t size;
+ const size_t namelen = strlen (name);
+ const size_t vallen = strlen (value) + 1;
+
+ LOCK;
+
+ size = 0;
+ if (__environ != NULL)
+ for (ep = __environ; *ep != NULL; ++ep)
+ if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
+ break;
+ else
+ ++size;
+
+ if (__environ == NULL || *ep == NULL)
+ {
+ char **new_environ;
+ if (__environ == last_environ && __environ != NULL)
+ /* We allocated this space; we can extend it. */
+ new_environ = (char **) realloc (last_environ,
+ (size + 2) * sizeof (char *));
+ else
+ new_environ = (char **) malloc ((size + 2) * sizeof (char *));
+
+ if (new_environ == NULL)
+ {
+ UNLOCK;
+ return -1;
+ }
+
+ new_environ[size] = malloc (namelen + 1 + vallen);
+ if (new_environ[size] == NULL)
+ {
+ free ((char *) new_environ);
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+ if (__environ != last_environ)
+ memcpy ((char *) new_environ, (char *) __environ,
+ size * sizeof (char *));
+
+ memcpy (new_environ[size], name, namelen);
+ new_environ[size][namelen] = '=';
+ memcpy (&new_environ[size][namelen + 1], value, vallen);
+
+ new_environ[size + 1] = NULL;
+
+ last_environ = __environ = new_environ;
+ }
+ else if (replace)
+ {
+ size_t len = strlen (*ep);
+ if (len + 1 < namelen + 1 + vallen)
+ {
+ /* The existing string is too short; malloc a new one. */
+ char *new = malloc (namelen + 1 + vallen);
+ if (new == NULL)
+ {
+ UNLOCK;
+ return -1;
+ }
+ *ep = new;
+ }
+ memcpy (*ep, name, namelen);
+ (*ep)[namelen] = '=';
+ memcpy (&(*ep)[namelen + 1], value, vallen);
+ }
+
+ UNLOCK;
+
+ return 0;
+}
+
+void
+unsetenv (name)
+ const char *name;
+{
+ const size_t len = strlen (name);
+ char **ep;
+
+ LOCK;
+
+ for (ep = __environ; *ep; ++ep)
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
+ {
+ /* Found it. Remove this pointer by moving later ones back. */
+ char **dp = ep;
+ do
+ dp[0] = dp[1];
+ while (*dp++);
+ /* Continue the loop in case NAME appears again. */
+ }
+
+ UNLOCK;
+}
diff --git a/libiberty/xstrdup.c b/libiberty/xstrdup.c
index e16aba08554..342412806da 100644
--- a/libiberty/xstrdup.c
+++ b/libiberty/xstrdup.c
@@ -5,6 +5,7 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
+#include <sys/types.h> /* For `size_t' */
#ifdef HAVE_STRING_H
#include <string.h>
#endif
diff --git a/libio/ChangeLog b/libio/ChangeLog
index 4bcc68412de..ead89e4b1ea 100644
--- a/libio/ChangeLog
+++ b/libio/ChangeLog
@@ -1,3 +1,87 @@
+2000-12-10 Bernd Schmidt <bernds@redhat.com>
+
+ 2000-10-16 Jakub Jelinek <jakub@redhat.com>
+ * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= 2]:
+ Initialize new fields wide and i18n of struct printf_info.
+ (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 2]:
+ Likewise.
+
+ 2000-09-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ * stdstreams.cc: Include <libio.h>, not "libio.h".
+ * iolibio.h: Likewise.
+ (_IO_pos_BAD): Use _IO_off_t instead of _IO_fpos_t.
+ * libio.h (_IO_USER_LOCK): Define.
+
+ 1999-12-22 Jakub Jelinek <jakub@redhat.com>
+ * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of
+ _IO_fpos_t.
+ (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of
+ _IO_fpos64_t.
+ * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise.
+ (_IO_seekoff, _IO_seekpos): Likewise.
+ (_IO_default_seekoff, _IO_default_seekpos): Likewise.
+ (_IO_default_seek): Likewise.
+ (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise.
+ * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
+ * parsestream.h (class parsebuf::pos_at_line_start): Change type
+ to _IO_off_t.
+
+2000-01-28 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * fstream.h (ifstream::ifstream): Add ios::in to mode.
+ (ifstream::open): Likewise.
+ (ofstream::ofstream): Add ios::out to mode.
+ (ofstream::open): Likewise.
+
+1999-12-21 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * filebuf.cc (open): Support ios::ate if _G_HAVE_IO_FILE_OPEN.
+ Remove seek for ios::app if not.
+
+1999-12-14 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * strstream.h (strstreambuf::streambuf): Rename parameters to
+ avoid shadow warning.
+ * stream.h (WS): Likewise.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+1999-08-08 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * streambuf.h (ios::streamsize): Declare as _IO_ssize_t, as in the
+ global scope.
+
+1999-08-07 Andreas Schwab <schwab@suse.de>
+
+ * iostream.cc: Add missing calls to isfx and setup a cleanup
+ region for the locked stream.
+ * iostream.h: Likewise.
+ * isgetline.cc: Likewise.
+ * isgetsb.cc: Likewise.
+ * isscan.cc: Likewise.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Mon Jun 28 09:25:23 1999 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in (post-target): Use "$(topsrcdir)", not "$(srcdir)/..".
+
+1999-05-20 Angela Marie Thomas <angela@cygnus.com>
+
+ * configure.in: Test for ${compiler_name}.exe as well.
+
1999-05-17 Mark Kettenis <kettenis@gnu.org>
* libioP.h: Only include libc-lock.h if _IO_MTSAFE_IO is defined.
diff --git a/libio/configure.in b/libio/configure.in
index 084e901aabf..ac494296fe2 100644
--- a/libio/configure.in
+++ b/libio/configure.in
@@ -2,18 +2,6 @@
# necessary for a configure script to process the program in
# this directory. For more information, look at ../configure.
-# find a possible extension of the just-built C++ compiler. Note that this
-# is not the only choice, taking into cross and canadian cross into
-# account, and we need to search for with and without the extension.
-case "${host_alias}" in
-*cygwin* | *mingw32*)
- EXEEXT=.exe
- ;;
-*)
- EXEEXT=
- ;;
-esac
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -25,7 +13,7 @@ rm -f skip-this-dir
if test -n "$r" && [ -z "$norecursion" ] ; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
echo "rm -f multilib.out" > skip-this-dir
@@ -200,7 +188,7 @@ if test x${gxx_include_dir} = x; then
if test x${enable_version_specific_runtime_libs} = xyes; then
gxx_include_dir='${libsubdir}/include/g++'
else
- topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
+ . ${topsrcdir}/config.if
gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
fi
fi
diff --git a/libio/filebuf.cc b/libio/filebuf.cc
index 422d442736e..0b0fd6d88d3 100644
--- a/libio/filebuf.cc
+++ b/libio/filebuf.cc
@@ -1,5 +1,5 @@
/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993, 1995 Free Software Foundation
+Copyright (C) 1993, 1995, 1999 Free Software Foundation
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -112,15 +112,23 @@ filebuf* filebuf::open(const char *filename, ios::openmode mode, int prot)
if (mode & (int)ios::noreplace)
posix_mode |= O_EXCL;
#if _G_HAVE_IO_FILE_OPEN
- return (filebuf*)_IO_file_open (this, filename, posix_mode, prot,
- read_write, 0);
+ if (!_IO_file_open (this, filename, posix_mode, prot,
+ read_write, 0))
+ return NULL;
+ if (mode & ios::ate) {
+ if (pubseekoff(0, ios::end) == EOF) {
+ _IO_un_link (this);
+ return NULL;
+ }
+ }
+ return this;
#else
int fd = ::open(filename, posix_mode, prot);
if (fd < 0)
return NULL;
_fileno = fd;
xsetflags(read_write, _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING);
- if (mode & (ios::ate|ios::app)) {
+ if (mode & ios::ate) {
if (pubseekoff(0, ios::end) == EOF)
return NULL;
}
diff --git a/libio/fstream.h b/libio/fstream.h
index ea98f5caed0..1dc4ca1d418 100644
--- a/libio/fstream.h
+++ b/libio/fstream.h
@@ -1,92 +1,5 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _FSTREAM_H
-#define _FSTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include <iostream.h>
-
-extern "C++" {
-class fstreambase : virtual public ios {
-#ifdef _IO_NEW_STREAMS
- mutable filebuf __my_fb; // mutable so rdbuf() can be const
-#endif
- void __fb_init ();
- public:
- fstreambase();
- fstreambase(int fd);
- fstreambase(int fd, char *p, int l); /* Deprecated */
- fstreambase(const char *name, int mode, int prot=0664);
- void close();
-#ifdef _IO_NEW_STREAMS
- filebuf* rdbuf() const { return &__my_fb; }
-#else
- filebuf* rdbuf() const { return (filebuf*) ios::rdbuf(); }
-#endif
- void open(const char *name, int mode, int prot=0664);
- int is_open() const { return rdbuf()->is_open(); }
- void setbuf(char *ptr, int len) { rdbuf()->setbuf(ptr, len); }
- void attach(int fd);
-#ifdef _STREAM_COMPAT
- int filedesc() { return rdbuf()->fd(); }
- fstreambase& raw() { rdbuf()->setbuf(NULL, 0); return *this; }
-#endif
-};
-
-class ifstream : public fstreambase, public istream {
- public:
- ifstream() : fstreambase() { }
- ifstream(int fd) : fstreambase(fd) { }
- ifstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
- ifstream(const char *name, int mode=ios::in, int prot=0664)
- : fstreambase(name, mode, prot) { }
- void open(const char *name, int mode=ios::in, int prot=0664)
- { fstreambase::open(name, mode, prot); }
-};
-
-class ofstream : public fstreambase, public ostream {
- public:
- ofstream() : fstreambase() { }
- ofstream(int fd) : fstreambase(fd) { }
- ofstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
- ofstream(const char *name, int mode=ios::out, int prot=0664)
- : fstreambase(name, mode, prot) { }
- void open(const char *name, int mode=ios::out, int prot=0664)
- { fstreambase::open(name, mode, prot); }
-};
-
-class fstream : public fstreambase, public iostream {
- public:
- fstream() : fstreambase() { }
- fstream(int fd) : fstreambase(fd) { }
- fstream(const char *name, int mode, int prot=0664)
- : fstreambase(name, mode, prot) { }
- fstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
- void open(const char *name, int mode, int prot=0664)
- { fstreambase::open(name, mode, prot); }
-};
-} // extern "C++"
-#endif /*!_FSTREAM_H*/
+Copyright (C) 1993, 2000 Free Software Foundation
+ : fstreambase(name, mode | ios::in, prot) { }
+ { fstreambase::open(name, mode | ios::in, prot); }
+ : fstreambase(name, mode | ios::out, prot) { }
+ { fstreambase::open(name, mode | ios::out, prot); }
diff --git a/libio/iolibio.h b/libio/iolibio.h
index 083b198b448..0ebc14f7ac2 100644
--- a/libio/iolibio.h
+++ b/libio/iolibio.h
@@ -1,4 +1,4 @@
-#include "libio.h"
+#include <libio.h>
/* These emulate stdio functionality, but with a different name
(_IO_ungetc instead of ungetc), and using _IO_FILE instead of FILE. */
@@ -38,7 +38,11 @@ extern int _IO_obstack_vprintf __P ((struct obstack *, const char *,
_IO_va_list));
extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...));
#ifndef _IO_pos_BAD
-#define _IO_pos_BAD ((_IO_fpos_t)(-1))
+# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+# define _IO_pos_BAD ((_IO_off64_t) -1)
+# else
+# define _IO_pos_BAD ((_IO_off_t) -1)
+# endif
#endif
#define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN))
#define _IO_fseek(__fp, __offset, __whence) \
diff --git a/libio/iostream.cc b/libio/iostream.cc
index 4b1d9d80a9b..792eaae6b4c 100644
--- a/libio/iostream.cc
+++ b/libio/iostream.cc
@@ -1,5 +1,5 @@
/* This is part of libio/iostream, providing -*- C++ -*- input/output.
- Copyright (C) 1993, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -71,6 +71,8 @@ int skip_ws(streambuf* sb)
istream& istream::get(char& c)
{
if (ipfx1()) {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
int ch = _strbuf->sbumpc();
if (ch == EOF) {
set(ios::eofbit|ios::failbit);
@@ -80,6 +82,8 @@ istream& istream::get(char& c)
c = (char)ch;
_gcount = 1;
}
+ isfx();
+ _IO_cleanup_region_end (0);
}
else
_gcount = 0;
@@ -102,10 +106,12 @@ istream& istream::ignore(int n /* = 1 */, int delim /* = EOF */)
{
_gcount = 0;
if (ipfx1()) {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
register streambuf* sb = _strbuf;
if (delim == EOF) {
_gcount = sb->ignore(n);
- return *this;
+ goto unlock;
}
for (;;) {
#if 0
@@ -122,6 +128,9 @@ istream& istream::ignore(int n /* = 1 */, int delim /* = EOF */)
if (ch == delim)
break;
}
+ unlock:
+ isfx();
+ _IO_cleanup_region_end (0);
}
return *this;
}
@@ -129,9 +138,13 @@ istream& istream::ignore(int n /* = 1 */, int delim /* = EOF */)
istream& istream::read(char *s, streamsize n)
{
if (ipfx1()) {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
_gcount = _strbuf->sgetn(s, n);
if (_gcount != n)
set(ios::failbit|ios::eofbit);
+ isfx();
+ _IO_cleanup_region_end (0);
}
else
_gcount = 0;
@@ -184,11 +197,15 @@ streampos istream::tellg()
istream& istream::operator>>(char& c)
{
if (ipfx0()) {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
int ch = _strbuf->sbumpc();
if (ch == EOF)
set(ios::eofbit|ios::failbit);
else
c = (char)ch;
+ isfx();
+ _IO_cleanup_region_end (0);
}
return *this;
}
@@ -200,6 +217,8 @@ istream::operator>> (char* ptr)
int w = width(0);
if (ipfx0())
{
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
register streambuf* sb = _strbuf;
for (;;)
{
@@ -219,6 +238,8 @@ istream::operator>> (char* ptr)
}
if (p == ptr)
set(ios::failbit);
+ isfx();
+ _IO_cleanup_region_end (0);
}
*p = '\0';
return *this;
@@ -234,6 +255,9 @@ static int read_int(istream& stream, unsigned LONGEST& val, int& neg)
{
if (!stream.ipfx0())
return 0;
+ int retval;
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ stream._strbuf);
register streambuf* sb = stream.rdbuf();
int base = 10;
int ndigits = 0;
@@ -254,7 +278,7 @@ static int read_int(istream& stream, unsigned LONGEST& val, int& neg)
ch = sb->sbumpc();
if (ch == EOF) {
val = 0;
- return 1;
+ goto unlock;
}
if (ch == 'x' || ch == 'X') {
base = 16;
@@ -290,19 +314,26 @@ static int read_int(istream& stream, unsigned LONGEST& val, int& neg)
if (ndigits == 0)
goto fail;
else
- return 1;
+ goto unlock;
}
ndigits++;
val = base * val + digit;
ch = sb->sbumpc();
}
- return 1;
+ unlock:
+ retval = 1;
+ goto out;
fail:
stream.set(ios::failbit);
- return 0;
+ retval = 0;
+ goto out;
eof_fail:
stream.set(ios::failbit|ios::eofbit);
- return 0;
+ retval = 0;
+ out:
+ stream.isfx();
+ _IO_cleanup_region_end (0);
+ return retval;
}
#define READ_INT(TYPE) \
@@ -334,6 +365,8 @@ istream& istream::operator>>(long double& x)
{
if (ipfx0())
{
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
#if _G_HAVE_LONG_DOUBLE_IO
scan("%Lg", &x);
#else
@@ -341,6 +374,8 @@ istream& istream::operator>>(long double& x)
scan("%lg", &y);
x = y;
#endif
+ isfx();
+ _IO_cleanup_region_end (0);
}
return *this;
}
@@ -348,20 +383,34 @@ istream& istream::operator>>(long double& x)
istream& istream::operator>>(double& x)
{
if (ipfx0())
+ {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
scan("%lg", &x);
+ isfx();
+ _IO_cleanup_region_end (0);
+ }
return *this;
}
istream& istream::operator>>(float& x)
{
if (ipfx0())
+ {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
scan("%g", &x);
+ isfx();
+ _IO_cleanup_region_end (0);
+ }
return *this;
}
istream& istream::operator>>(register streambuf* sbuf)
{
if (ipfx0()) {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
register streambuf* inbuf = rdbuf();
// FIXME: Should optimize!
for (;;) {
@@ -375,6 +424,8 @@ istream& istream::operator>>(register streambuf* sbuf)
break;
}
}
+ isfx();
+ _IO_cleanup_region_end (0);
}
return *this;
}
@@ -636,6 +687,10 @@ ostream& ostream::operator<<(double n)
/* extra: */ 0,
#if __GLIBC_MINOR__ >= 1
/* is_char: */ 0,
+#if __GLIBC_MINOR__ >= 2
+ /* wide: */ 0,
+ /* i18n: */ 0,
+#endif
#endif
#endif
/* pad: */ fill()
@@ -742,6 +797,10 @@ ostream& ostream::operator<<(long double n)
/* extra: */ 0,
#if __GLIBC_MINOR__ >= 1
/* is_char: */ 0,
+#if __GLIBC_MINOR__ >= 2
+ /* wide: */ 0,
+ /* i18n: */ 0,
+#endif
#endif
#endif
/* pad: */ fill()
@@ -789,8 +848,8 @@ ostream& ostream::operator<<(const char *s)
if (flags() & ios::left && padding > 0) // Left adjustment.
if (_IO_padn(sbuf, fill_char, padding) != padding)
set(ios::badbit);
- osfx();
failed:
+ osfx();
_IO_cleanup_region_end (0);
}
return *this;
diff --git a/libio/iostream.h b/libio/iostream.h
index f3de3639906..19fbf8a4d95 100644
--- a/libio/iostream.h
+++ b/libio/iostream.h
@@ -173,6 +173,7 @@ protected:
int get() { if (!ipfx1()) return EOF;
else { int ch = _strbuf->sbumpc();
if (ch == EOF) set(ios::eofbit);
+ isfx();
return ch;
} }
int peek();
diff --git a/libio/isgetline.cc b/libio/isgetline.cc
index 02b34927eb8..5e48a000c09 100644
--- a/libio/isgetline.cc
+++ b/libio/isgetline.cc
@@ -37,6 +37,8 @@ istream& istream::getline(char* buf, int len, char delim)
int ch;
if (ipfx1())
{
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
streambuf *sb = rdbuf();
_gcount = _IO_getline_info(sb, buf, len - 1, delim, -1, &ch);
if (ch != EOF)
@@ -48,6 +50,8 @@ istream& istream::getline(char* buf, int len, char delim)
set(ios::failbit);
sb->sungetc(); // Leave delimiter unread.
}
+ isfx();
+ _IO_cleanup_region_end (0);
}
else
ch = EOF;
@@ -67,11 +71,15 @@ istream& istream::get(char* buf, int len, char delim)
}
if (ipfx1())
{
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
streambuf *sbuf = rdbuf();
int ch;
_gcount = _IO_getline_info(sbuf, buf, len - 1, delim, -1, &ch);
if (_gcount == 0 && ch == EOF)
set(ios::failbit|ios::eofbit);
+ isfx();
+ _IO_cleanup_region_end (0);
}
buf[_gcount] = '\0';
return *this;
@@ -123,6 +131,8 @@ char *_sb_readline (streambuf *sb, long& total, char terminator)
istream& istream::gets(char **s, char delim /* = '\n' */)
{
if (ipfx1()) {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
long size = 0;
streambuf *sb = rdbuf();
*s = _sb_readline (sb, size, delim);
@@ -132,6 +142,8 @@ istream& istream::gets(char **s, char delim /* = '\n' */)
if (_gcount == 0)
set(ios::failbit);
}
+ isfx();
+ _IO_cleanup_region_end (0);
}
else {
_gcount = 0;
diff --git a/libio/isgetsb.cc b/libio/isgetsb.cc
index 55617e649a0..4b7bc9f8d3e 100644
--- a/libio/isgetsb.cc
+++ b/libio/isgetsb.cc
@@ -1,59 +1,4 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include "iostream.h"
-#include <string.h>
-
-istream& istream::get(streambuf& sb, char delim /* = '\n' */)
-{
- _gcount = 0;
- if (ipfx1())
- {
- register streambuf* isb = rdbuf();
- for (;;)
- {
- streamsize len = isb->_IO_read_end - isb->_IO_read_ptr;
- if (len <= 0)
- if (__underflow(isb) == EOF)
- break;
- else
- len = isb->_IO_read_end - isb->_IO_read_ptr;
- char *delimp = (char*)memchr((void*)isb->_IO_read_ptr, delim, len);
- if (delimp != NULL)
- len = delimp - isb->_IO_read_ptr;
- int written = sb.sputn(isb->_IO_read_ptr, len);
- isb->_IO_read_ptr += written;
- _gcount += written;
- if (written != len)
- {
- set(ios::failbit);
- break;
- }
- if (delimp != NULL)
- break;
- }
- }
- return *this;
-}
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
+ isfx();
+ _IO_cleanup_region_end (0);
diff --git a/libio/isscan.cc b/libio/isscan.cc
index 64d4bc682f8..88db94e3157 100644
--- a/libio/isscan.cc
+++ b/libio/isscan.cc
@@ -1,45 +1,10 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include <iostream.h>
-#include <stdarg.h>
-
-istream& istream::scan(const char *format ...)
-{
- if (ipfx0()) {
- va_list ap;
- va_start(ap, format);
- _strbuf->vscan(format, ap, this);
- va_end(ap);
- }
- return *this;
-}
-
-istream& istream::vscan(const char *format, _IO_va_list args)
-{
- if (ipfx0())
- _strbuf->vscan(format, args, this);
- return *this;
-}
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
+ isfx();
+ _IO_cleanup_region_end (0);
+ {
+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
+ _strbuf);
+ isfx();
+ _IO_cleanup_region_end (0);
+ }
diff --git a/libio/libio.h b/libio/libio.h
index b152874d1f6..c453b77bf30 100644
--- a/libio/libio.h
+++ b/libio/libio.h
@@ -136,6 +136,7 @@
#define _IO_IS_APPENDING 0x1000
#define _IO_IS_FILEBUF 0x2000
#define _IO_BAD_SEEN 0x4000
+#define _IO_USER_LOCK 0x8000
/* These are "formatting flags" matching the iostream fmtflags enum values. */
#define _IO_SKIPWS 01
@@ -277,7 +278,7 @@ typedef struct
{
_IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
_IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
- _IO_fpos_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
+ _IO_off_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
int (*close) __PMT ((struct _IO_FILE *));
} _IO_cookie_io_functions_t;
@@ -348,11 +349,11 @@ extern _IO_ssize_t _IO_padn __P ((_IO_FILE *, int, _IO_ssize_t));
extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
+extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
+extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern void _IO_free_backup_area __P ((_IO_FILE *));
diff --git a/libio/libioP.h b/libio/libioP.h
index 629e4fd8cf6..be70f526bbe 100644
--- a/libio/libioP.h
+++ b/libio/libioP.h
@@ -146,10 +146,10 @@ typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
It matches the streambuf::seekoff virtual function.
It is also used for the ANSI fseek function. */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_fpos64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
+typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
int DIR, int MODE));
#else
-typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
+typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
int DIR, int MODE));
#endif
#define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
@@ -160,9 +160,9 @@ typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
It is also used for the ANSI fgetpos and fsetpos functions. */
/* The _IO_seek_cur and _IO_seek_end options are not allowed. */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_fpos64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos64_t, int));
+typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
#else
-typedef _IO_fpos_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos_t, int));
+typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
#endif
#define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
@@ -213,9 +213,9 @@ typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *,const void *,_IO_ssize_t))
It matches the streambuf::sys_seek virtual function, which is
specific to this implementation. */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_fpos64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
+typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
#else
-typedef _IO_fpos_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
+typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
#endif
#define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
@@ -298,11 +298,11 @@ struct _IO_FILE_plus
/* Generic functions */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
+extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
+extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
@@ -340,22 +340,22 @@ extern _IO_size_t _IO_default_xsputn __P ((_IO_FILE *, const void *,
_IO_size_t));
extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_default_seekoff __P ((_IO_FILE *,
+extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
_IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_default_seekpos __P ((_IO_FILE *,
- _IO_fpos64_t, int));
+extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
+ _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_default_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
+extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
_IO_ssize_t));
extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
extern int _IO_default_stat __P ((_IO_FILE *, void *));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
+extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
+extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern int _IO_default_sync __P ((_IO_FILE *));
#define _IO_default_close ((_IO_close_t) _IO_default_sync)
@@ -389,11 +389,11 @@ extern void _IO_flush_all_linebuffered __P ((void));
extern int _IO_file_doallocate __P ((_IO_FILE *));
extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
+extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
+extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
extern int _IO_file_stat __P ((_IO_FILE *, void *));
@@ -427,9 +427,9 @@ extern int _IO_str_underflow __P ((_IO_FILE *));
extern int _IO_str_overflow __P ((_IO_FILE *, int));
extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
#else
-extern _IO_fpos_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
#endif
extern void _IO_str_finish __P ((_IO_FILE *, int));
@@ -544,12 +544,12 @@ extern int _IO_vscanf __P ((const char *, _IO_va_list));
where an _IO_fpos_t is a struct.
Note that _IO_off_t must be an integral type. */
-/* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */
+/* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
#ifndef _IO_pos_BAD
# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_BAD ((_IO_fpos64_t) -1)
+# define _IO_pos_BAD ((_IO_off64_t) -1)
# else
-# define _IO_pos_BAD ((_IO_fpos_t) -1)
+# define _IO_pos_BAD ((_IO_off_t) -1)
# endif
#endif
/* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
diff --git a/libio/parsestream.h b/libio/parsestream.h
index 326ab87a809..acb37bd0146 100644
--- a/libio/parsestream.h
+++ b/libio/parsestream.h
@@ -1,156 +1 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef PARSESTREAM_H
-#define PARSESTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include "streambuf.h"
-
-extern "C++" {
-// A parsebuf is a streambuf optimized for scanning text files.
-// It keeps track of line and column numbers.
-// It is guaranteed to remember the entire current line,
-// as well the '\n'-s on either side of it (if they exist).
-// You can arbitrarily seek (or unget) within this extended line.
-// Other backward seeks are not supported.
-// Normal read semantics are supported (and hence istream operators like >>).
-
-class parsebuf : public streambuf {
- protected:
- _IO_fpos_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
- char *buf_end;
-
- public:
- parsebuf *chain;
-
- // Return column number (raw - don't handle tabs etc).
- // Retult can be -1, meaning: at '\n' before current line.
- virtual int tell_in_line();
-
- // seek to (raw) column I in current line.
- // Result is new (raw) column position - differs from I if unable to seek.
- // Seek to -1 tries to seek to before previous LF.
- virtual int seek_in_line(int i);
-
- // Note: there is no "current line" initially, until something is read.
-
- // Current line number, starting with 0.
- // If tell_in_line()==-1, then line number of next line.
- int line_number() { return __line_number; }
-
- // Length of current line, not counting either '\n'.
- int line_length() { return _line_length; }
- // Current line - not a copy, so file ops may trash it.
- virtual char* current_line();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streambuf* setbuf(char* p, int len);
- protected:
- parsebuf() { chain= NULL;
- __line_number = 0; pos_at_line_start = 0; _line_length = -1; }
- virtual int pbackfail(int c);
-};
-
-// A string_parsebuf is a parsebuf whose source is a fixed string.
-
-class string_parsebuf : public parsebuf {
- public:
- int do_delete;
- string_parsebuf(char *str, int len, int delete_at_close=0);
- virtual int underflow();
- virtual char* current_line();
- virtual int seek_in_line(int i);
- virtual int tell_in_line();
- char *left() const { return base(); }
- char *right() const { return ebuf(); }
-// streampos seekoff(streamoff, _seek_dir, int);
-};
-
-// A func_parsebuf calls a given function to get new input.
-// Each call returns an entire NUL-terminated line (without the '\n').
-// That line has been allocated with malloc(), not new.
-// The interface is tailored to the GNU readline library.
-// Example:
-// char* DoReadLine(void* arg)
-// {
-// char *line = readline((char*)arg); /* 'arg' is used as prompt. */
-// if line == NULL) { putc('\n', stderr); return NULL; }
-// if (line[0] != '\0') add_history(line);
-// return line;
-// }
-// char PromptBuffer[100] = "> ";
-// func_parsebuf my_stream(DoReadLine, PromptBuffer);
-
-typedef char *(*CharReader)(void *arg);
-class istream;
-
-class func_parsebuf : public parsebuf {
- public:
- void *arg;
- CharReader read_func;
- int backed_up_to_newline;
- func_parsebuf(CharReader func, void *argm = NULL);
- int underflow();
- virtual int tell_in_line();
- virtual int seek_in_line(int i);
- virtual char* current_line();
-};
-
-// A general_parsebuf is a parsebuf which gets its input from some
-// other streambuf. It explicitly buffers up an entire line.
-
-class general_parsebuf : public parsebuf {
- public:
- streambuf *sbuf;
- int delete_buf; // Delete sbuf when destroying this.
- general_parsebuf(streambuf *buf, int delete_arg_buf = 0);
- int underflow();
- virtual int tell_in_line();
- virtual int seek_in_line(int i);
- ~general_parsebuf();
- virtual char* current_line();
-};
-
-#if 0
-class parsestream : public istream {
- streammarker marks[2];
- short _first; // of the two marks; either 0 or 1
- int _lineno;
- int first() { return _first; }
- int second() { return 1-_first; }
- int line_length() { marks[second].delta(marks[first]); }
- int line_length() { marks[second].delta(marks[first]); }
- int seek_in_line(int i);
- int tell_in_line();
- int line_number();
-};
-#endif
-} // extern "C++"
-#endif /*!defined(PARSESTREAM_H)*/
+ _IO_off_t pos_at_line_start;
diff --git a/libio/stdio/ChangeLog b/libio/stdio/ChangeLog
index f98baec0955..86b1b7e1eb4 100644
--- a/libio/stdio/ChangeLog
+++ b/libio/stdio/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
1997-09-04 16:11 Ulrich Drepper <drepper@cygnus.com>
* Makefile.in (STDIO_OBJECTS): Lose feof.o and ferror.o. Add getc.o
diff --git a/libio/stdstreams.cc b/libio/stdstreams.cc
index a5889d738e2..0d322ef67f6 100644
--- a/libio/stdstreams.cc
+++ b/libio/stdstreams.cc
@@ -1,153 +1 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#include "libioP.h"
-#include "streambuf.h"
-#include <stdio.h>
-
-// The ANSI draft requires that operations on cin/cout/cerr can be
-// mixed with operations on stdin/stdout/stderr on a character by
-// character basis. This normally requires that the streambuf's
-// used by cin/cout/cerr be stdiostreams. However, if the stdio
-// implementation is the one that is built using this library,
-// then we don't need to, since in that case stdin/stdout/stderr
-// are identical to _IO_stdin/_IO_stdout/_IO_stderr.
-
-#include "libio.h"
-
-#ifdef _STDIO_USES_IOSTREAM
-#define CIN_SBUF _IO_stdin_
-#define COUT_SBUF _IO_stdout_
-#define CERR_SBUF _IO_stderr_
-static int use_stdiobuf = 0;
-#else
-#define CIN_SBUF _IO_stdin_buf
-#define COUT_SBUF _IO_stdout_buf
-#define CERR_SBUF _IO_stderr_buf
-static int use_stdiobuf = 1;
-#endif
-
-#define cin CIN
-#define cout COUT
-#define cerr CERR
-#define clog CLOG
-#include "iostream.h"
-#undef cin
-#undef cout
-#undef cerr
-#undef clog
-
-#ifdef __GNUG__
-#define PAD 0 /* g++ allows 0-length arrays. */
-#else
-#define PAD 1
-#endif
-struct _fake_istream {
- struct myfields {
-#ifdef __GNUC__
- _ios_fields *vb; /* pointer to virtual base class ios */
- _IO_ssize_t _gcount;
-#else
- /* This is supposedly correct for cfront. */
- _IO_ssize_t _gcount;
- void *vptr;
- _ios_fields *vb; /* pointer to virtual base class ios */
-#endif
- } mine;
- _ios_fields base;
- char filler[sizeof(struct istream)-sizeof(struct _ios_fields)+PAD];
-};
-struct _fake_ostream {
- struct myfields {
-#ifndef __GNUC__
- void *vptr;
-#endif
- _ios_fields *vb; /* pointer to virtual base class ios */
- } mine;
- _ios_fields base;
- char filler[sizeof(struct ostream)-sizeof(struct _ios_fields)+PAD];
-};
-
-
-#ifdef _IO_NEW_STREAMS
-#define STD_STR(SBUF, TIE, EXTRA_FLAGS) \
- (streambuf*)&SBUF, TIE, 0, ios::skipws|ios::dec|EXTRA_FLAGS, ' ',0,0,6
-#else
-#define STD_STR(SBUF, TIE, EXTRA_FLAGS) \
- (streambuf*)&SBUF, TIE, 0, ios::dont_close|ios::dec|ios::skipws|EXTRA_FLAGS, ' ',0,0,6
-#endif
-
-#ifdef __GNUC__
-#define OSTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS, ASM) \
- _fake_ostream NAME ASM = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
-#define ISTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
- _fake_istream NAME = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
-#else
-#define OSTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
- _fake_ostream NAME = { {0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
-#define ISTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
- _fake_istream NAME = {{0, 0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS)}};
-#endif
-
-OSTREAM_DEF(cout, COUT_SBUF, NULL, 0, )
-OSTREAM_DEF(cerr, CERR_SBUF,(ostream*)&cout, ios::unitbuf, )
-ISTREAM_DEF(cin, CIN_SBUF, (ostream*)&cout, 0)
-
-/* Only for (partial) compatibility with AT&T's library. */
-#if _G_CLOG_CONFLICT
-OSTREAM_DEF(clog, CERR_SBUF, (ostream*)&cout, 0, __asm__ ("__IO_clog"))
-#else
-OSTREAM_DEF(clog, CERR_SBUF, (ostream*)&cout, 0, )
-#endif
-
-// Switches between using _IO_std{in,out,err} and __std{in,out,err}_buf
-// for standard streams. This does not normally need to be called
-// explicitly, but is provided for AT&T compatibility.
-
-int ios::sync_with_stdio(int new_state)
-{
-#ifdef _STDIO_USES_IOSTREAM
- // It is always synced.
- return 0;
-#else
- if (new_state == use_stdiobuf) // The usual case now.
- return use_stdiobuf;
- if (new_state) {
- cin.base._strbuf = (streambuf*)&_IO_stdin_buf;
- cout.base._strbuf = (streambuf*)&_IO_stdout_buf;
- cerr.base._strbuf = (streambuf*)&_IO_stderr_buf;
- clog.base._strbuf = (streambuf*)&_IO_stderr_buf;
- } else {
- cin.base._strbuf = (streambuf*)_IO_stdin;
- cout.base._strbuf = (streambuf*)_IO_stdout;
- cerr.base._strbuf = (streambuf*)_IO_stderr;
- clog.base._strbuf = (streambuf*)_IO_stderr;
- }
- int old_state = use_stdiobuf;
- use_stdiobuf = new_state;
- return old_state;
-#endif
-}
+#include <libio.h>
diff --git a/libio/stream.h b/libio/stream.h
index 0859802ade6..dc6a2bb0a5b 100644
--- a/libio/stream.h
+++ b/libio/stream.h
@@ -1,59 +1,2 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _COMPAT_STREAM_H
-#define _COMPAT_STREAM_H
-
-// Compatibility with old library.
-// DO NOT USE THESE FUNCTIONS IN NEW CODE!
-// They are obsolete, non-standard, and non-reentrant.
-
-#define _STREAM_COMPAT
-#include <iostream.h>
-
-extern "C++" {
-extern char* form(const char*, ...);
-
-extern char* dec(long, int=0);
-extern char* dec(int, int=0);
-extern char* dec(unsigned long, int=0);
-extern char* dec(unsigned int, int=0);
-
-extern char* hex(long, int=0);
-extern char* hex(int, int=0);
-extern char* hex(unsigned long, int=0);
-extern char* hex(unsigned int, int=0);
-
-extern char* oct(long, int=0);
-extern char* oct(int, int=0);
-extern char* oct(unsigned long, int=0);
-extern char* oct(unsigned int, int=0);
-
-char* chr(char ch, int width = 0);
-char* str(const char* s, int width = 0);
-
-inline istream& WS(istream& str) { return ws(str); }
-} // extern "C++"
-
-#endif /* !_COMPAT_STREAM_H */
+Copyright (C) 1993, 1999 Free Software Foundation
+inline istream& WS(istream& __str) { return ws(__str); }
diff --git a/libio/streambuf.h b/libio/streambuf.h
index d472cbece2c..193c4993827 100644
--- a/libio/streambuf.h
+++ b/libio/streambuf.h
@@ -72,10 +72,10 @@ class ostream; class streambuf;
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
typedef _IO_off64_t streamoff;
-typedef _IO_fpos64_t streampos;
+typedef _IO_off64_t streampos;
#else
typedef _IO_off_t streamoff;
-typedef _IO_fpos_t streampos;
+typedef _IO_off_t streampos;
#endif
typedef _IO_ssize_t streamsize;
@@ -130,7 +130,7 @@ class ios : public _ios_fields {
typedef __fmtflags fmtflags;
typedef int iostate;
typedef int openmode;
- typedef int streamsize;
+ typedef _IO_ssize_t streamsize;
enum io_state {
goodbit = _IOS_GOOD,
eofbit = _IOS_EOF,
diff --git a/libio/strstream.h b/libio/strstream.h
index d549b454758..e35eb53fc90 100644
--- a/libio/strstream.h
+++ b/libio/strstream.h
@@ -1,113 +1,3 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef __STRSTREAM_H
-#define __STRSTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include <iostream.h>
-#include <strfile.h>
-
-extern "C++" {
-class strstreambuf : public streambuf
-{
- struct _IO_str_fields _s;
- friend class istrstream;
-
- void init_dynamic(_IO_alloc_type alloc, _IO_free_type free,
- int initial_size = 0);
- void init_static(char *ptr, int size, char *pstart);
- void init_readonly(const char *ptr, int size);
- protected:
- virtual int overflow(int = EOF);
- virtual int underflow();
- virtual int pbackfail(int c);
- public:
- virtual ~strstreambuf();
- strstreambuf() { init_dynamic(0, 0); }
- strstreambuf(int initial_size) { init_dynamic(0, 0, initial_size); }
- strstreambuf(void *(*alloc)(_IO_size_t), void (*free)(void*))
- { init_dynamic(alloc, free); }
- strstreambuf(char *ptr, int size, char *pstart = NULL)
- { init_static(ptr, size, pstart); }
- strstreambuf(unsigned char *ptr, int size, unsigned char *pstart = NULL)
- { init_static((char*)ptr, size, (char*)pstart); }
- strstreambuf(const char *ptr, int size)
- { init_readonly(ptr, size); }
- strstreambuf(const unsigned char *ptr, int size)
- { init_readonly((const char*)ptr, size); }
- strstreambuf(signed char *ptr, int size, signed char *pstart = NULL)
- { init_static((char*)ptr, size, (char*)pstart); }
- strstreambuf(const signed char *ptr, int size)
- { init_readonly((const char*)ptr, size); }
- // Note: frozen() is always true if !_IO_STR_DYNAMIC(this).
- int frozen() { return _flags & _IO_USER_BUF ? 1 : 0; }
- void freeze(int n=1)
- { if (_IO_STR_DYNAMIC(this))
- { if (n) _flags |= _IO_USER_BUF; else _flags &= ~_IO_USER_BUF; } }
- _IO_ssize_t pcount();
- char *str();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
-};
-
-class strstreambase : virtual public ios {
- protected:
- strstreambuf __my_sb;
- public:
- strstreambuf* rdbuf() { return &__my_sb; }
- protected:
- strstreambase() { init (&__my_sb); }
- strstreambase(char *cp, int n, int mode=ios::out);
-};
-
-class istrstream : public strstreambase, public istream {
- public:
- istrstream(const char*, int=0);
-};
-
-class ostrstream : public strstreambase, public ostream {
- public:
- ostrstream() { }
- ostrstream(char *cp, int n, int mode=ios::out) :strstreambase(cp,n,mode){}
- _IO_ssize_t pcount() { return ((strstreambuf*)_strbuf)->pcount(); }
- char *str() { return ((strstreambuf*)_strbuf)->str(); }
- void freeze(int n = 1) { ((strstreambuf*)_strbuf)->freeze(n); }
- int frozen() { return ((strstreambuf*)_strbuf)->frozen(); }
-};
-
-class strstream : public strstreambase, public iostream {
- public:
- strstream() { }
- strstream(char *cp, int n, int mode=ios::out) :strstreambase(cp,n,mode){}
- _IO_ssize_t pcount() { return ((strstreambuf*)_strbuf)->pcount(); }
- char *str() { return ((strstreambuf*)_strbuf)->str(); }
- void freeze(int n = 1) { ((strstreambuf*)_strbuf)->freeze(n); }
- int frozen() { return ((strstreambuf*)_strbuf)->frozen(); }
-};
-} // extern "C++"
-
-#endif /*!__STRSTREAM_H*/
+Copyright (C) 1993, 1999 Free Software Foundation
+ strstreambuf(void *(*__alloc)(_IO_size_t), void (*__free)(void*))
+ { init_dynamic(__alloc, __free); }
diff --git a/libio/tests/ChangeLog b/libio/tests/ChangeLog
index dc9a375a162..8493c19d226 100644
--- a/libio/tests/ChangeLog
+++ b/libio/tests/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
1997-10-31 Brendan Kehoe <brendan@lisa.cygnus.com>
* tFile.cc (t4): Cast TMPFILE to char* in the call to unlink, to
diff --git a/libio/testsuite/ChangeLog b/libio/testsuite/ChangeLog
index 0f7b926b2dc..c67090576c2 100644
--- a/libio/testsuite/ChangeLog
+++ b/libio/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
Wed Nov 25 01:00:07 1998 Marc Espie <espie@quatramaran.ens.fr>
* Makefile.in (just-check): Ignore errors.
diff --git a/libjava/COPYING.LIB b/libjava/COPYING.LIB
deleted file mode 100644
index 161a3d1d47b..00000000000
--- a/libjava/COPYING.LIB
+++ /dev/null
@@ -1,482 +0,0 @@
- GNU LIBRARY GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL. It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it. You can use it for
-your libraries, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
- Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library. If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software. To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
- Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs. This
-license, the GNU Library General Public License, applies to certain
-designated libraries. This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
- The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it. Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program. However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
- Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries. We
-concluded that weaker conditions might promote sharing better.
-
- However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves. This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them. (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.) The hope is that this
-will lead to faster development of free libraries.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, while the latter only
-works together with the library.
-
- Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-
- GNU LIBRARY GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License"). Each licensee is
-addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also compile or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- c) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- d) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
deleted file mode 100644
index b554fb5ef7a..00000000000
--- a/libjava/ChangeLog
+++ /dev/null
@@ -1,5513 +0,0 @@
-1999-05-17 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natSystem.cc (init_properties): URL now points to
- sourceware.
-
-1999-05-12 Per Bothner <bothner@cygnus.com>
-
- * java/util/Calendar.java (set): First call computeFields if needed.
- * java/util/natGregorianCalendar.cc (computeTime): Cast 1000 to jlong.
-
-1999-05-12 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Look for -ldl when using the Boehm collector.
- Look for sched_yield in -lposix4.
-
-1999-05-12 Per Bothner <bothner@cygnus.com>
-
- * java/io/File.java (mkdirs): Handle a null parent directory.
-
-1999-05-12 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h: Updated namespace declarations.
- * classes.pl (scan): Uniquify class list.
- * Makefile.in, configure: Rebuilt.
- * Makefile.am (nat_source_files): Added natConcreteProcess.cc.
- (built_java_source_files): New macro.
- (nat_headers): Added built_java_source_files.
- (javao_files): Likewise.
- (EXTRA_libgcj_la_SOURCES): Likewise.
- (libgcj.zip): Create built class files.
- ($(built_java_source_files:.java=.class)): New target.
- (jv_convert_LDADD): Added -L$(here)/.libs.
- * configure.in: Create links for ConcreteProcess.java and
- natConcreteProcess.cc.
- * java/lang/Runtime.java (exec): Create a ConcreteProcess.
- * java/lang/natEcosProcess.cc: New file.
- * java/lang/EcosProcess.java: New file.
- * java/lang/PosixProcess.java: New file.
- * java/lang/natPosixProcess.cc: New file.
-
-1999-05-12 Warren Levy <warrenl@cygnus.com>
-
- * java/net/PlainSocketImpl.java: Corrected copyright & header comments.
- * java/net/SocketImpl.java: Added marker for JDK 1.2 work.
- * java/net/natPlainSocketImpl.cc (bind): Throw BindException.
- (connect): Throw ConnectException.
-
-1999-05-11 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (jv_convert_DEPENDENCIES): Include libgcj.spec.
- * libgcj.spec.in: Don't use `+'. Instead, put old lib spec after
- our libraries.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (jv_convert_LDADD): Removed `-L.'; it is not needed
- and it causes problems with libtool.
-
- * Makefile.in, configure: Rebuilt.
- * Makefile.am (jv_convert_LDFLAGS): Removed -nodefaultlibs.
- (jv_convert_LDADD): Added ZLIBS. Removed -lm, -lc, -lgcc.
- (jv_convert_DEPENDENCIES): Added ZDEPS.
- * configure.in (GCSPEC): Added `-L' to point to boehm-gc build
- directory.
- (THREADSPEC): Added `-L' to point to qthreads build directory.
- (ZLIBS): New subst.
- (ZDEPS): New subst.
-
- * configure, Makefile.in: Rebuilt.
- * Makefile.am (toolexeclib_DATA): New macro.
- * configure.in: Create libgcj.spec. Look for -lsocket and -lnsl.
- Recognize --with-system-zlib.
- (GCSPEC): New subst.
- (THREADSPEC): New subst.
- (SYSTEMSPEC): New subst.
- (ZLIBSPEC): New subst.
- * libgcj.spec.in: New file.
-
-1999-05-10 Tom Tromey <tromey@cygnus.com>
-
- * java/io/InputStreamReader.java (read): If length is 0, return
- 0. Reset `wpos' and `wcount' when buffer has been filled and
- emptied.
-
- * java/util/Properties.java (save): Removed `FIXME' comment.
- (load): Invalid characters in \u now treated as terminators.
- Make sure to append character resulting from `\' handling.
- Cast to `char' when appending to key or value.
- (skip_ws): Inverted test for whitespace.
-
- * java/io/RandomAccessFile.java (RandomAccessFile): Removed
- `FIXME' comment.
- (readLine): Likewise.
- (readFully): Implemented.
-
- * java/lang/natObject.cc (sync_init): Use _Jv_AllocBytesChecked.
-
- * java/awt/natToolkit.cc: Added copyright header.
- * java/util/zip/InflaterInputStream.java: Added copyright header.
-
- * java/io/FilterWriter.java (FilterWriter): Removed `FIXME'
- comment.
- * java/io/SequenceInputStream.java (SequenceInputStream): Removed
- `FIXME' comment.
- (getNextStream): Likewise.
-
- * java/util/ResourceBundle.java (partialGetBundle): Explicitly use
- locale.toString().
- (getBundle): Don't explicitly throw null pointer exception.
-
- * gnu/gcj/RawData.java: Added copyright header.
-
- * include/jni.h (_Jv_va_list): Always define as va_list.
-
-1999-05-9 Anthony Green <green@cygnus.com>
-
- * java/text/DateFormat.java (computeInstance): Separate time
- and date styles.
- (getDateTimeInstance): Ditto.
- (getDateTimeInstance(int,int)): New method.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ordinary_java_source_files): Add new classes.
-
- * java/util/PropertyResourceBundle.java: New file.
- * gnu/gcj/util/EnumerationChain.java: New file.
-
-1999-05-07 Tom Tromey <tromey@cygnus.com>
-
- * acconfig.h (GCJVERSION): New undef.
- * java/lang/natSystem.cc (init_properties): Define java.version,
- java.class.version, os.name, os.arch, os.version.
- Include <sys/utsname.h> if required.
- * configure: Rebuilt.
- * configure.in: Compute and define GCJVERSION.
-
- * java/lang/natSystem.cc (default_file_encoding): Now static.
-
- * java/lang/natCharacter.cc (isLowerCase): Use a binary search.
-
- * libtool-version: New file.
- * Makefile.in: Rebuilt.
- * Makefile.am (libgcj_la_LDFLAGS): Use -version-info, not
- -release.
-
- * mauve-libgcj: Don't omit Utf8Encoding or StringTest.
- Comment out FieldPosition, ParsePosition, and SimpleDateFormat
- again (oops).
-
- * mauve-libgcj: Test more from java.text. Don't mention 1.1 tests
- (we pick those up already).
-
-1999-05-05 Per Bothner <bothner@cygnus.com>
-
- * java/awt/*: Check a bunch of classes, a few complete, but mostly
- stub classes. (This is enough to get Kawa to compile against libgcj.)
-
- * gnu/gcj/RawData.java: New class.
- * doc/cni.sgml: Document RawData.
-
- * java/util/zip/InflaterInputStream.java: New stub class.
- * java/util/zip/ZipInputStream.java: New class. Partly works.
- * java/util/zip/ZipConstants.java: Add two (internal) constants.
- * java/util/zip/ZipEntry.java (timeFromDOS): New static method.
- * java/util/zip/ZipFile.java: Now mostly works (unless compressed).
- * java/util/zip/ZipOutputStream.java: Start implementation.
-
- * java/lang/natSystem.cc (DEFAULT_FILE_ENCODING): New macro.
- (default_file_encoding): New global, initial value is above macro.
- (init_properties): Default file.encoding to default_file_encoding.
-
- * Makefile.am: Add new classes.
-
-1999-05-05 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (CLEANFILES): Don't mention $(class_files).
- (clean-local): New target
-
- * java/lang/natRuntime.cc: Include <ltdl.h> if required.
- (load, loadLibrary): Now native.
- (init): New method.
- * java/lang/Runtime.java (load, loadLibrary): Now native.
- (init): New native method.
- (Runtime): Use init.
- * prims.cc: Include <ltdl.h> if required.
- (JvRunMain): Call LTDL_SET_PRELOADED_SYMBOLS.
-
-1999-05-05 Gilles Zunino <Gilles.Zunino@hei.fr>
-
- * configure.in: Switch from irix threads to posix threads
- * configure: Regenerate.
-
-1999-04-30 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (jv_convert_LDADD): Added -lgcc.
-
-1999-04-29 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/StringBuffer.java (ensureCapacity): Don't resize
- vector when shared.
-
- * java/util/Locale.java (Locale(String,String)): Implement in
- terms of 3-argument version; variant now defaults to empty
- string.
- (toString): Assume variant is not null.
- (equals): Assume all strings are not null.
- (Locale): Throw NullPointerException if any argument is null.
-
- * java/util/ResourceBundle.java (getBundle): Don't try the base
- name; now implicit in partialGetBundle call.
- (trySomeGetBundle): Search for parent bundles and call setParent
- as required.
- (partialGetBundle): Added `langStop' argument. Use
- `Locale.toString' to compute bundleName.
- (resource_cache): New static field.
- (partialGetBundle): Cache the returned resource bundle. Now
- synchronized.
-
- * gnu/gcj/text/LocaleData_en.java (contents): [collatorRule] Added
- missing `<'.
-
- * mauve-libgcj: Enable Collator and RuleBasedCollator.
- * java/text/natCollator.cc (decomposeCharacter): `base' now
- `const'.
- * Makefile.in: Rebuilt.
- * Makefile.am (ordinary_java_source_files): Added
- CollationElementIterator, CollationKey, Collator,
- RuleBasedCollator.
- (nat_source_files): Added natCollator.cc.
- * java/text/RuleBasedCollator.java (ceiNext): No longer static.
- (compare): Pass `this' to CollationElementIterator constructor.
- (getCollationElementIterator): Likewise.
- (ceiNext): Fix off-by-one error when finding initial substring.
- (next): Correctly mask off bits when computing return value.
- Fixed return values when one string is shorter than the other.
- * java/text/CollationElementIterator.java (collator): New field.
- (CollationElementIterator): Added collator argument.
- (next): Call ceiNext on collator object.
-
-1999-04-26 Tom Tromey <tromey@cygnus.com>
-
- * natCollator.cc: New file.
-
- * java/util/GregorianCalendar.java (setDefaultTime): New method.
- (GregorianCalendar): Use it in all constructors.
- * java/util/Calendar.java (Calendar): Changed argument name to
- `zone' to match code.
-
- * gnu/gcj/text/LocaleData_en.java: Added collatorRule element.
- * java/text/CollationKey.java: New file.
- * java/text/CollationElementIterator.java: New file.
- * java/text/Collator.java: New file.
- * java/text/RuleBasedCollator.java: New file.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (jv_convert_LDFLAGS): Added -nodefaultlibs.
- (jv_convert_LDADD): Explicltly add -lm -lc.
-
-1999-04-26 Tom Tromey <tromey@cygnus.com>
-
- * configure, Makefile.in: Rebuilt.
- * configure.in: Added AM_PROG_LIBTOOL.
- (GCOBJS): Use `.lo' form of files.
- (THREADOBJS): Likewise.
- (GCDEPS): Use `.la' form of library.
- (GCLIBS): Set to be the same as GCDEPS.
- (THREADDEPS): Use `.la' form of library.
- (THREADLIBS): Set to be the same as THREADDEPS.
- * Makefile.am (toolexeclib_LTLIBRARIES): Renamed from
- toolexeclib_LIBRARIES.
- (libgcj_la_SOURCES): Renamed for libtoolization.
- (EXTRA_libgcj_la_SOURCES): Likewise.
- (libgcj_la_DEPENDENCIES): Likewise.
- (libgcj_la_LIBADD): Likewise.
- ($(nat_files)): Use LTCXXCOMPILE.
- ($(c_files)): Use LTCOMPILE.
- (GCJCOMPILE): New macro.
- (.class.o): Use it.
- (.java.o): Likewise.
- ($(javao_files)): Likewise.
- (jv_convert_LINK): Use LIBTOOL.
- (nat_files): Use `.lo' files.
- (c_files): Likewise.
- (javao_files): Likewise.
- (.class.lo): Renamed.
- (.java.lo): Likewise.
- ($(nat_files)): Depend on %.lo.
- ($(c_files)): Likewise.
- ($(javao_files)): Likewise.
- (jv_convert_LDADD): Link against .lo files.
- (jv_convert_DEPENDENCIES): Depend on .lo files.
- (maintainer-check): Depend on libgcj.la, but examine .a file.
- (jv_convert_DEPENDENCIES): Depend on libgcj.la.
- (libgcj_la_LDFLAGS): New macro.
-
-1999-04-23 Warren Levy <warrenl@cygnus.com>
-
- * Makefile.am: Added URLDecoder and URLEncoder.
- * Makefile.in: Rebuilt.
-
- * java/net/ServerSocket.java (setSocketFactory): Renamed from
- setSocketImplFactory to match spec.
- * java/net/Socket.java (getSoLinger): Changed return type to
- match spec.
-
- * java/net/URLDecoder.java: New file.
- * java/net/URLEncoder.java: New file.
-
-1999-04-21 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natString.cc (getBytes): Reverted earlier change and
- applied correct fix from Per Bothner.
-
- * java/lang/String.java: Don't throw
- UnsupportedEncodingException.
-
- * java/lang/natString.cc (getBytes): Correctly size result
- buffer. From Bryce McKinlay <bryce@albatross.co.nz>.
-
-1999-04-20 Andrew Haley <aph@cygnus.com>
-
- * include/sparc-signal.h: new file.
- * configure.in: include/sparc-signal.h added.
- * configure: regenerated.
- * prims.cc (JvRunMain): signal handling code rewritten to be more
- portable.
- (catch_segv): ditto.
- (catch_fpe): ditto.
- * include/i386-signal.h: reorganized.
- * include/default-signal.h: reorganized.
-
-1999-04-19 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natSystem.cc (init_properties): Only declare pwd_entry
- once. From Anthony Green.
-
-1999-04-19 Andrew Haley <aph@cygnus.com>
-
- * Makefile.in: Processed with new automake.
-
-1999-04-19 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h: Removed security namespace.
-
-1999-04-20 Anthony Green <green@cygnus.com>
-
- * java/io/PrintStream.java (println): Remove extra println.
-
-1999-04-19 Anthony Green <green@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ordinary_java_source_files): Add new security files.
-
- * java/security/NoSuchAlgorithmException.java,
- java/security/MessageDigest.java: New files.
-
- * include/javaprims.h: Add security namespace.
-
-1999-04-16 Per Bothner <bothner@cygnus.com>
-
- * gnu/gcj/convert/JIS0201.h: New file, generated from Unicode table.
- * gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
- * gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
- * gnu/gcj/convert/Output_EUCJIS.java: New UnicodeToBytes class.
- * gnu/gcj/convert/Output_SJIS.java: New UnicodeToBytes class.
- * gnu/gcj/convert/natInput_EUCJIS.cc: New file.
- * gnu/gcj/convert/natInput_SJIS.cc: New file.
- * gnu/gcj/convert/natOutput_EUCJIS.cc: New file.
- * gnu/gcj/convert/natOutput_SJIS.cc: New file.
- * gnu/gcj/convert/make-trie.c: New file: functions to make a trie.
- * gnu/gcj/convert/gen-from-JIS.c: Invoke make-trie for output.
- * gnu/gcj/convert/Unicode_to_JIS.cc: New generated trie table.
- * Makefile.am: Various changes for new files and conversions.
-
- * gnu/gcj/convert/UnicodeToBytes.java (write(String,int,int,char[])):
- New overloading, allows greater efficiency.
- * gnu/gcj/convert/Output_8859_1.java (write(String,int,int,char[])):
- New overloading (for efficiency - avoids copying).
-
- * gnu/gcj/convert/Output_UTF8.java: Fix typo: 0xC0 -> 0c3F.
- * gnu/gcj/convert/Input_UTF8.java: Fix typos in bit masks.
-
- * java/io/InputStreamReader.java (<init>): Set super.in correctly.
- * java/io/OutputStreamWriter.java (<init>): Set super.in correctly.
- (writeChars): Don't be quite so eager to flush.
- * java/io/PrintStream.java: Rewrite. Now more similar to
- OutputStreamWriter, using explicit UnicodeToBytes converter.
- Also, autoflush does not need to flush so often.
- * java/lang/natString.cc (getBytes): More efficient algorithm.
- (init(jbyteArray,jint,jint,jstring)): More efficient.
-
-1999-04-15 Warren Levy <warrenl@cygnus.com>
-
- * Makefile.am (ordinary_java_source_files): Added new Connection
- and Handler classes in gnu.gcj.protocol.file package.
- * Makefile.in: Rebuilt.
-
- * gnu/gcj/protocol/file/Connection.java: New file.
- * gnu/gcj/protocol/file/Handler.java: New file.
- * gnu/gcj/protocol/http/Connection.java (getInputStream): Check
- if doInput allows input.
- (getOutputStream): Check if doOutput allows output.
- * java/net/URLStreamHandler.java (parseURL): Fix indentation.
-
-1999-04-14 Tom Tromey <tromey@cygnus.com>
-
- * java/net/natInetAddress.cc (lookup): On glibc2.0 systems, make
- buffer larger to work around bug.
- From Bryce McKinlay <bryce@albatross.co.nz>.
-
-1999-04-14 Andrew Haley <aph@cygnus.com>
-
- * java/lang/natDouble.java (doubleToLongBits): ensure that all
- NaNs are always converted to the same long value.
- * java/lang/natFloat.java (floatToIntBits): ditto, but for float
- converted to int.
-
-1999-04-13 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natSystem.cc (arraycopy): Don't always use jbyteArray;
- instead switch on actual element type.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (AM_MAKEFLAGS): Added JC1FLAGS.
-
-1999-04-13 Andrew Haley <aph@cygnus.com>
-
- * include/i386-signal.h, include/default-signal.h: New files.
- * prims.cc (catch_segv): Call MAKE_THROW_FRAME in exception
- handler.
- (catch_fpe): New function.
- * configure.in: Make link to appropriate include/java-signal.h.
- * configure: Rebuilt.
- * Makefile.am: include/java-signal.h added to dependency list.
- * Makefile.in: Rebuilt.
-
-1999-04-12 Urban Widmark <urban@svenskatest.se>
-
- * java/io/DataInputStream.java (readLine): Corrected handling of
- empty lines, from null to "".
-
-1999-04-12 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libgcj.zip): Put `gnu' classes into zip file.
-
- * java/lang/natSystem.cc (SystemClass): New define.
- (init_properties): Synchronize.
-
-1999-04-08 Geoff Berry <gcb@gnu.org>
-
- * natInetAddress.cc (lookup): Fix typo (AF_INET16 -> AF_INET6).
- * natPlainSocketImpl.cc (accept): Add missing else if check
- for AF_INET6.
-
-1999-04-08 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Long.java (parseLong): Corrected overflow detection
- code.
- * java/lang/Integer.java (parseInt): Corrected overflow detection
- code.
-
- * java/io/PrintStream.java (print): Handle null string argument.
- (println): Likewise.
-
-1999-04-07 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/natString.cc (init(jbyteArray,jint,jint,jstring)):
- Set count to 0 when InputStreamReader returns -1 for EOF.
-
-1999-04-07 Tom Tromey <tromey@cygnus.com>
-
- * mauve-libgcj: Omit java.text.Collator,
- java.text.RuleBasedCollator.
-
-1999-04-06 Tom Tromey <tromey@cygnus.com>
-
- * gnu/gcj/protocol/http/Connection.java (getHeaderField): Catch
- IOException from getHttpHeaders().
- (getHeaderFieldKey): Likewise.
-
- * include/javaprims.h: Regenerated declarations.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ordinary_java_source_files): Updated for removed
- files.
-
-1999-04-06 Per Bothner <bothner@cygnus.com>
-
- * java/util/zip/Adler32.java: New class.
- * java/util/zip/CRC32.java: Add working method bodies.
- * Makefile.am (ordinary_java_source_files): Add new Adler32 class.
- * Makefile.in: Re-generate.
-
-Tue Apr 6 18:28:42 1999 Warren Levy <warrenl@cygnus.com>
-
- * gnu/gcj/protocol/http/Connection.java: New file. Rewritten
- from version in removed www hierarchy.
- * gnu/gcj/protocol/http/Handler.java: New file. Copied from
- version in removed www hierarchy.
-
- * gnu/gcj/www/protocol/http/Connection.java: Removed.
- * gnu/gcj/www/protocol/http/Handler.java: Removed.
- * gnu/gcj/www/protocol/http: Removed dir.
- * gnu/gcj/www/protocol: Removed dir.
- * gnu/gcj/www: Removed dir.
-
- * java/net/HttpURLConnection.java: Revised comments to indicate
- missing JDK 1.2 methods.
-
- * java/net/URL.java (setURLStreamHandler): Look in gnu/gcj/protocol
- hierarchy rather than the gnu/gcj/www/protocol one.
- * java/net/URLConnection.java: Updated status comments.
- (setContentHandler): Look in gnu/gcj/content hierarchy rather than
- the gnu/gcj/www/content one.
-
-1999-04-06 Per Bothner <bothner@cygnus.com>
-
- * Makefile.am (JIS0208_to_Unicode.cc, JIS0212_to_Unicode.cc):
- The gen-from-JIS program is in $(CONVERT_DIR).
-
-1999-04-06 Tom Tromey <tromey@cygnus.com>
-
- * mauve-libgcj: Renamed from mauve-libjava.
-
-Tue Apr 6 03:18:38 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/net/HttpURLConnection.java (getResponseCode): Implemented.
- (getResponseMessage): Implemented.
- (getResponseVals): New private method.
-
- * java/net/URLConnection.java (getContent): Implemented.
- (setContentHandler): Convert non-alphabetic/numeric chars per spec.
-
-1999-04-05 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (bin_PROGRAMS): Renamed convert to jv-convert.
- (jv_convert_SOURCES): Renamed.
- (EXTRA_jv_convert_SOURCES): Likewise.
- (jv_convert_LDFLAGS): Likewise.
- (jv_convert_LINK): Likewise.
- (jv_convert_LDADD): Likewise.
- (jv_convert_DEPENDENCIES): Likewise.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (toolexeclibdir): Reference toolexecdir, not
- tooldir.
-
-Mon Apr 5 02:14:35 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/net/HttpURLConnection.java (setRequestMethod): Use String.equals
- method for comparison.
-
- * java/net/URLConnection.java (getContentLength): Implemented.
- (getContentType): Implemented.
- (getContentEncoding): Implemented.
- (getExpiration): Implemented.
- (getDate): Implemented.
- (getLastModified): Implemented.
- (getHeaderFieldInt): Implemented.
- (getHeaderFieldDate): Implemented.
-
-Fri Apr 2 18:04:52 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/net/URLConnection.java (toString): Implemented.
- (setContentHandlerFactory): Implemented.
- (setContentHandler): Wrote new private helper method.
-
-1999-04-01 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am ($(java_source_files:.java=.class): Reverted change
- of 1999-03-31; we always want to build all the .class files.
- Depend on java_source_files, not libgcj.zip.
- (nat_headers): Define in terms of ordinary_java_source_files.
-
-1999-03-31 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (special_java_source_files): New macro.
- (java_source_files): Use it.
- (ordinary_java_source_files): New macro.
- (java_source_files): Use it.
- ($(ordinary_java_source_files:.java=.class)): Renamed to avoid
- creating headers for those files with hand-maintained headers.
-
- * include/javaprims.h: Regenerated namespace declarations.
- * classes.pl (scan): Include [0-9] in regexp for matching class
- names; for java.util.zip.CRC32.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Redefined to generate all possible
- header files.
-
- * java/util/zip/ZipException.java: In package java.util.zip, not
- java.net.
-
-1999-03-30 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in (EH_COMMON_INCLUDE): Look in ../compat-include for
- eh-common.h when not building in tree with gcc.
-
- * Makefile.in: Rebuilt.
- * Makefile.am ($(nat_files) $(GCOBJS) $(THREADOBJS)
- $(libgcj_a_OBJECTS)): Changed how we list files that depend on
- nat_headers.
- ($(java_source_files:.java=.class)): New target.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (java_source_files): Added
- java/net/HttpURLConnection.java and
- gnu/gcj/www/protocol/http/Connection.java.
-
-Tue Mar 30 15:20:45 1999 Warren Levy <warrenl@cygnus.com>
-
- * gnu/gcj/www/protocol/http/Connection.java: New file.
- * gnu/gcj/www/protocol/http/Handler.java (openConnection): Implemented.
- * java/net/HttpURLConnection.java: New file.
- * java/net/URLConnection.java (getHeaderField): Implemented default.
- (getHeaderFieldKey): Implemented default method.
-
-1999-03-30 Tom Tromey <tromey@cygnus.com>
-
- * gnu/gcj/convert/JIS0212.h, gnu/gcj/convert/JIS0208.h: Rebuilt.
-
- * java/util/zip/Deflater.java: Added copyright header.
- * java/util/zip/CRC32.java: Added copyright header.
-
- * Makefile.am ($(srcdir)/$(CONVERT_DIR)/JIS0208.h): Note in file
- that it is automatically generated.
- ($(srcdir)/$(CONVERT_DIR)/JIS0212.h): Likewise.
-
- * gnu/gcj/convert/BytesToUnicode.java,
- gnu/gcj/convert/Convert.java, gnu/gcj/convert/Input_8859_1.java,
- gnu/gcj/convert/Input_EUCJIS.java,
- gnu/gcj/convert/Input_UTF8.java,
- gnu/gcj/convert/JIS0208_to_Unicode.cc,
- gnu/gcj/convert/JIS0212_to_Unicode.cc,
- gnu/gcj/convert/Output_8859_1.java,
- gnu/gcj/convert/Output_JavaSrc.java,
- gnu/gcj/convert/Output_UTF8.java,
- gnu/gcj/convert/UnicodeToBytes.java,
- gnu/gcj/convert/natInput_EUCJIS.cc: Added copyright headers.
-
- * gnu/gcj/convert/gen-from-JIS.c (main): Fixed incorrect fprintf.
-
- * Makefile.in, configure: Rebuilt.
- * configure.in (TESTSUBDIR): Enable if testsuite subdir exists,
- not if test subdir exists.
- (--enable-gcj-classes): Removed; gcj always used to generate
- .class files.
- (JAVA, JAVAC): Removed.
- (--enable-single-compilation, --enable-source-compilation):
- Removed.
- (here): New subst.
- (NATIVE): New conditional.
- * Makefile.am (toolexecdir): Renamed from tooldir to allow
- `install-exec' to work.
- (toolexeclibdir): Likewise.
- (toollib_LIBRARIES): Likewise.
- (AM_MAKEFLAGS): Don't pass tooldir.
- (JAVAC): New macro.
- (javao_files): Redefined.
- (java_source_files): New macro.
- (c_source_files): New macro.
- (c_files): Redefined in terms of c_source_files.
- (java_io_files, java_lang_files, java_net_files, java_text_files,
- java_util_files, gnu_files, java_files): Removed.
- (class_io_files, class_lang_files, class_net_files,
- class_text_files, class_util_files, class_gnu_files, class_files):
- Removed.
- (nat_source_files): New macro.
- (nat_files): Redefined in terms of nat_source_files.
- (EXTRA_libgcj_a_SOURCES): Added c_source_files,
- java_source_files. Removed no-such-file.c.
- (here): Removed.
- (ETAGS_ARGS): Removed.
- (TAGS_DEPENDENCIES): Likewise.
- (libgcj.zip): Depend on java_source_files. Use $(here) and not
- pwd in rule.
- (src_io_files, src_lang_files, src_text_files, src_util_files,
- src_gnu_files): Removed.
- Removed ALL_AT_ONCE and COMPILE_FROM_CLASS code.
- (BUILT_SOURCES): Removed.
- (header-check): New target.
- (javadir): Removed.
- (noinst_PROGRAMS): New macro.
- ($(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc): Conditionalize
- on MAINTAINER_MODE.
- ($(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc): Likewise.
- (gen-from-JIS): Build in top directory.
- (convert_source_files): New macro.
- (convert_SOURCES): New macro.
- (convert_LDFLAGS): Likewise.
- (convert_LINK): Likewise.
- (convert_LDADD): Likewise.
- (convert_DEPENDENCIES): Likewise.
- (convert): Removed.
- (gen-from-JIS): Removed.
- (gen_from_JIS_SOURCES): New macro.
- (gen_from_JIS_LDADD): Likewise.
- (gen_from_JIS_DEPENDENCIES): Likewise.
-
- * configure: Rebuilt.
- * configure.in (CANADIAN): Set to `yes', not `canadian'.
- (NULL_TARGET): Initialize to `no'. Correctly examine $NULL_TARGET
- when defining conditional.
-
-Tue Mar 30 10:36:27 1999 Per Bothner <bothner@cygnus.com>
-
- * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}: Remove these files.
- The Unicode Consortium does not permit their re-distribution.
- * Makefile.am, Makefile.in: Add comments with URLs for removed files.
- (JIS0208.h, JIS0212.h): Do not depend on removed files.
-
-Mon Mar 29 18:58:13 1999 Per Bothner <bothner@cygnus.com>
-
- * natSystem.c (init_properties): Use malloc, realloc, free after all.
-
-Mon Mar 29 13:41:02 1999 Per Bothner <bothner@cygnus.com>
-
- * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}: New mapping tables
- from Unicode Consortium.
- * gnu/gcj/convert/{JIS0208.h,JIS0212.h}: New generated headers.
- * gnu/gcj/convert/gen-from-JIS.c: New utility for maintainers only.
- * gnu/gcj/convert/{JIS0208_to_Unicode.cc,JIS0212_to_Unicode.cc}:
- New tables, generated using gen-from-JIS.
- * gnu/gcj/convert/Output_JavaSrc.java: New UnicodeToBytes class.
- * gnu/gcj/convert/Output_UTF8.java: Fix bug.
- * gnu/gcj/convert/Input_EUCJIS.java: New BytesToUnicode class.
- * gnu/gcj/convert/natInput_EUCJIS.cc: Native methods for new class.
-
- * gnu/gcj/convert/Convert.java: New application.
- * Makefile.am, Makefile.in (convert): New program, using Convert.
- Build the various JIS conversion tables (in maintainer mode).
-
-Fri Mar 26 16:51:30 1999 Warren Levy <warrenl@cygnus.com>
-
- * gnu/gcj/www/protocol/http/Handler.java: New file - stubbed.
-
- * java/net/URL.java (URL): Deal with null property value. Use "."
- as separator in building class name.
- * java/net/URLConnection.java: Implemented majority of stubbed methods.
- * java/net/URLStreamHandler.java (parseURL): Use "" in string
- manipulations instead of 'null'. Comment cleanup. Use 0 for the
- beginning of the substring rather than 'start'.
-
-1999-03-26 Tom Tromey <tromey@cygnus.com>
-
- * include/java-chartables.h: Rebuilt.
- * include/java-chardecomp.h: New file.
- * chartables.pl: Generate output files directly. Added support
- for generating decomposition header.
- (canonical_decomposition, full_decomposition): New globals.
- (DECOMPOSITION): New constant.
- (process_char): Call add_decomposition.
- (add_decomposition): New sub.
- (write_decompositions): New sub.
-
-1999-03-25 Tom Tromey <tromey@cygnus.com>
-
- * java/text/CollationElementIterator.java: New file.
-
- * mauve-libjava: Omit StringTest.
-
-Wed Mar 24 15:17:49 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/net/URL.java (URL(URL, String, URLStreamHandler)): Allow URLs
- without a '/' when parsing protocol. Handle ref outside of parseURL.
- (hashCode): Implemented.
- (set): Don't expand -1 to default port.
- (getDefaultPort): Removed.
-
- * java/net/URLStreamHandler.java (parseURL): Implemented.
- (toExternalForm): Implemented.
-
-1999-03-23 Tom Tromey <tromey@cygnus.com>
-
- * java/text/BreakIterator.java (getSentenceInstance):
- Implemented.
- * gnu/gcj/text/SentenceBreakIterator.java: New file.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added IllegalAccessException.
- * java/lang/natClass.cc (newInstance): Throw
- IllegalAccessException, not IllegalAccessError.
- Include IllegalAccessException.h.
-
-1999-03-22 Tom Tromey <tromey@cygnus.com>
-
- * gnu/gcj/text/LineBreakIterator.java: New file.
- * java/text/BreakIterator.java (getLineInstance): Implemented.
-
- * gnu/gcj/text/WordBreakIterator.java (WordBreakIterator): Made
- copy constructor private.
- (previous, next): Removed erroneous comment about line
- separators.
- (previous): Correctly recognize break between non-letter on the
- left and letter on the right. Handle apostrophes correctly.
-
- * java/text/BreakIterator.java (getWordInstance): Implemented.
- * gnu/gcj/text/WordBreakIterator.java: New file.
- * gnu/gcj/text/CharacterBreakIterator.java: Extend
- BaseBreakIterator.
- * gnu/gcj/text/BaseBreakIterator.java: New file.
-
-1999-03-19 Tom Tromey <tromey@cygnus.com>
-
- * java/text/BreakIterator.java: New file (partially stubbed out).
- * gnu/gcj/text/CharacterBreakIterator.java: New file.
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (STRUCT_TM_HAS_GMTOFF): New define.
- (HAVE_TIMEZONE): Likewise.
- * configure: Rebuilt.
- * configure.in: Added timezone checks.
- * java/util/natGregorianCalendar.cc (computeTime): Adjust for
- timezone.
-
-Fri Mar 19 15:26:35 1999 Per Bothner <bothner@cygnus.com>
-
- * gnu/gcj/convert/BytesToUnicode.java: New abstract class.
- * gnu/gcj/convert/UnicodeToBytes.java: New abstract class.
- * gnu/gcj/convert/Input_8859_1.java: New BytesToUnicode sub-class.
- * gnu/gcj/convert/Input_UTF8.java: New BytesToUnicode sub-class.
- * gnu/gcj/convert/Output_8859_1.java: New UnicodeToBytes sub-class.
- * gnu/gcj/convert/Output_UTF8.java: New UnicodeToBytes sub-class.
- * java/io/InputStreamReader.java: Rewrite to use BytesToUnicode.
- * java/io/OutputStreamWriter.java: Rewrite to use UnicodeToBytes.
-
- * java/io/natFileDescriptorPosix.cc (open): Use O_BINARY flag.
- (BSD_COMP): Kludge needed for Solaris2.
-
-Fri Mar 19 01:49:46 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/net/URL.java (URL(java.net.URL, string): Moved code to
- URL(java.net.URL, string, URLStreamHandler) and call it with a
- null handler. In latter constructor, added SecurityManager check.
- (set): Expect null handler on bad protocol rather than an exception.
- (setURLStreamHandler): Simplified exception handling; return null
- on invalid protocol.
-
-1999-03-18 Tom Tromey <tromey@cygnus.com>
-
- * java/text/DecimalFormat.java (format(long,...)): Rewrote.
-
- * java/lang/natSystem.cc (setOut, setIn, setErr): New native
- methods.
- Include PrintStream.h, InputStream.h.
- * java/lang/System.java (ForwardingInputStream,
- ForwardingOutputStream): Removed.
- (setErr, setIn, setOut): Now native.
-
- Reverted patch from 1999-02-12 to work around problem in
- libgcc2.c.
- * exception.cc (_Jv_eh_alloc): Use malloc, not _Jv_AllocBytes.
- (_Jv_eh_free): Use free.
-
- * java/io/natFileDescriptorPosix.cc (open): Allocate enough space
- for path name. Minor formatting fixes.
-
- * boehm.cc (_Jv_MarkObj): Always mark `methods' field.
-
- * prims.cc (fail_on_finalization): New function.
- (_Jv_GCWatch): Likewise.
-
- * prims.cc (JvRunMain): Initialize `nullp'.
- (nullp): New global.
- (catch_segv): Throw nullp.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ZIP): In "null target" case, zip is found in the
- build tree.
-
- * prims.cc (_Jv_PrimClass): Initialize all elements of class
- object.
- Include Modifier.h.
-
- * java/lang/StringBuffer.java (StringBuffer): Don't use
- ensureCapacity to set initial capacity.
- (capacity): Subtract `length' from return result.
-
-Thu Mar 18 01:53:35 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/io/natFileDescriptorPosix.cc (open): Throw
- FileNotFoundException, but with filename and errno in msg.
-
-Wed Mar 17 11:09:30 1999 Warren Levy <warrenl@cygnus.com>
-
- * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Removed;
- functionality folded into java/net/URL.java per spec.
-
- * java/io/natFileDescriptorPosix.cc (open): Check for ENOENT rather
- than EEXIST for throwing FileNotFoundException.
-
- * java/net/URL.java: Folded in default URLStreamHandlerFactory
- algorithm per JDK 1.2 doc. Added SecurityManager checks.
-
- * java/net/URLStreamHandler.java (parseURL): Added stub.
-
-1999-03-15 Andrew Haley <aph@cygnus.com>
-
- * java/text/ChoiceFormat.java (nextDouble): Simplify and fix off
- by one errors.
-
-1999-03-15 Andrew Haley <aph@cygnus.com>
-
- * java/lang/natSystem.cc (currentTimeMillis): Restore eCos clock
- support.
-
-1999-03-12 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (catch_segv): New function.
- Include <signal.h> if HANDLE_SEGV defined. Include
- NullPointerException.h.
- (JvRunMain): If HANDLE_SEGV defined, install catch_segv as SIGSEGV
- handler.
-
- * java/text/SimpleDateFormat.java (equals): Ensure that object is
- a SimpleDateFormat, not just a DateFormat.
- (defaultCenturyStart, formatData, pattern): Now private.
- (append): Now `final'. Use `NumberFormat.format'.
- (parse): Wrote.
- (SimpleDateFormat): Turn off groupin in NumberFormat object.
-
- * java/lang/natString.cc (indexOf): Add `fromIndex' to successful
- result.
-
- * java/text/MessageFormat.java (format): Use default MessageFormat
- constructor.
- (parse, parseObject): Wrote.
-
- * java/text/SimpleDateFormat.java (SimpleDateFormat): Wrote no-arg
- constructor.
-
-1999-03-12 Andrew Haley <aph@cygnus.com>
-
- * java/lang/String.java (indexOf): Replace with native method for
- better performance.
- * java/lang/natString.cc (IndexOf): As above.
-
- * java/lang/natString.cc (init(jbyteArray,jint,jint,jint)):
- Argument check corrected.
- (init(jbyteArray,jint,jint,jstring)): Likewise.
-
- * java/lang/StringBuffer.java (ensureCapacity): Replace with JDK
- 1.2 compliant method.
-
- * java/lang/Double.java (byteValue, shortValue): JDK 1.1 methods
- added.
- * java/lang/Float.java (byteValue, shortValue): Likewise.
-
-1999-03-11 Tom Tromey <tromey@cygnus.com>
-
- * java/text/DecimalFormat.java (parse): Wrote.
-
- * java/text/ChoiceFormat.java (parse): Set error index on
- ParsePosition object.
-
- * java/lang/Integer.java (parseInt): Throw exception on overflow
- when intermediate result is most negative number. Changed
- overflow detection as well.
- * java/lang/Long.java (parseLong): Likewise.
-
- * configure, Makefile.in: Rebuilt.
- * configure.in (NULL_TARGET, CANADIAN): New conditionals. Set
- CANADIAN when building in source tree that doesn't include gcc.
- * Makefile.am (ZIP, GCJ, GCJH): Use automake conditionals to
- define.
-
- * java/text/ChoiceFormat.java (nextDouble): Correct some
- off-by-one errors when masking or adding.
-
- * java/text/DecimalFormat.java (format): Fill in FieldPosition
- parameter, if given. Use `%', not IEEEremainder.
- (scanFix): Throw error if multiplier already set.
- (computePattern): Wrote.
-
-1999-03-11 Andrew Haley <aph@cygnus.com>
-
- * java/text/ChoiceFormat.java (mantissaBits): Use correct value of
- 52.
- (nextDouble): Corrected masking logic. Handle interaction between
- `next' and negative numbers.
-
-Wed Mar 10 18:58:37 1999 Warren Levy <warrenl@cygnus.com>
-
- * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Created.
- * java/net/URL.java: Added general comments.
-
-1999-03-10 Tom Tromey <tromey@cygnus.com>
-
- * java/text/ChoiceFormat.java (parse): Wrote.
-
- * java/text/ChoiceFormat.java (toPattern): Use `#', not `<'.
-
- * java/text/MessageFormat.java (MessageFormatElement.setLocale):
- Create ChoiceFormat objects.
- (format): Special-case ChoiceFormat.
- (scanFormatElement): Include { and } in generated style string.
-
-1999-03-09 Tom Tromey <tromey@cygnus.com>
-
- * java/text/ChoiceFormat.java: New file.
-
-Tue Mar 9 17:09:18 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/net/BindException.java: Created.
- * java/net/ConnectException.java: Created.
- * java/net/ContentHandler.java: Created.
- * java/net/ContentHandlerFactory.java: Created.
- * java/net/FileNameMap.java: Created.
- * java/net/MalformedURLException.java: Created.
- * java/net/NoRouteToHostException.java: Created.
- * java/net/ProtocolException.java: Created.
- * java/net/ServerSocket.java (@author): Fixed typo.
- * java/net/Socket.java (@author): Fixed typo.
- * java/net/SocketImpl.java (@author): Fixed typo.
- * java/net/SocketImplFactory.java (@author): Fixed typo.
- * java/net/URL.java: Created - nearly complete.
- * java/net/URLConnection.java: Created - near-empty stub.
- * java/net/URLStreamHandler.java: Created - incomplete stub.
- * java/net/URLStreamHandlerFactory.java: Created.
- * java/net/UnknownServiceException.java: Created.
-
-1999-03-09 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/System.java (ForwardingInputStream): New class.
- (ForwardingOutputStream): Likewise.
- (in, out, err): Now `final' forwarding streams.
- (setIn, setOut, setErr): Use appropriate method on forwarding
- streams.
-
- * java/text/MessageFormat.java (MessageFormatElement): Now `final'
- class.
-
-Tue Mar 9 12:16:53 1999 Per Bothner <bothner@cygnus.com>
-
- * java/util/zip/CRC32.java: New class (just an incomplete stub).
- * java/util/zip/Checksum.java: New interface (complete).
- * java/util/zip/Deflater.java: New class (near-empty stub).
- * java/util/zip/DeflaterOutputStream.java: New class (incomplete stub).
- * java/util/zip/ZipConstants.java: New interface (near-empty stub).
- * java/util/zip/ZipEntry.java: New class (complete).
- * java/util/zip/ZipException.java: New class (complete).
- * java/util/zip/ZipFile.java: New class (incomplete stub).
- * java/util/zip/ZipOutputStream.java: New class (incomplete stub).
-
-1999-03-09 Tom Tromey <tromey@cygnus.com>
-
- * java/text/MessageFormat.java (MessageFormatElement): Removed
- `public' specifiers.
-
- * java/text/DecimalFormat.java (scanFormat): Increment index
- before processing exponential format. Fixed a couple typos in
- exception messages.
- (format): Correct normalization of exponent.
-
-1999-03-08 Tom Tromey <tromey@cygnus.com>
-
- * java/text/SimpleDateFormat.java (parse): Throw
- IllegalArgumentException, not ParseException.
-
-1999-03-05 Tom Tromey <tromey@cygnus.com>
-
- * java/text/SimpleDateFormat.java (SimpleDateFormat): Use locale
- when constructing DateFormatSymbols. Initialize numberFormat
- field of superclass.
-
- * java/text/DateFormat.java (equals): Rewrote.
- (getAvailableLocales): New method.
- (getDateInstance): New methods.
- (getDateTimeInstance): Likewise.
- (getTimeInstance): Likewise.
- (getInstance): New method.
- (computeInstance): New method.
-
- * java/text/DateFormatSymbols.java (zoneStringsDefault): Completed
- for US.
- (safeGetResource): New method.
- (DateFormatSymbols): Use Locale paramater.
- (equals): Now protected.
- Made instance variables private.
-
-1999-03-04 Tom Tromey <tromey@cygnus.com>
-
- * java/text/DecimalFormat.java: New file.
-
- * java/text/NumberFormat.java (groupingUsed,
- maximumFractionDigits, maximumIntegerDigits,
- minimumFractionDigits, minimumIntegerDigits, parseIntegerOnly):
- New fields.
- (setDecimalSeparatorAlwaysShown, setMultiplier,
- setPositivePrefix): Removed.
- (setMinimumFractionDigits, setMaximumFractionDigits):
- Implemented.
- (format): Now final.
- Added many new methods.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (gnu_files): New macro.
- (java_files): Added gnu_files.
- (class_gnu_files): New macro.
- (class_files): Use it.
- (src_gnu_files): New macro.
- (gnu.o): New target.
- (javao_files): Added gnu.o.
-
- * gnu/gcj/text/LocaleData_en_US.java: New file.
- * gnu/gcj/text/LocaleData_en.java: New file.
- * java/text/DecimalFormatSymbols.java: Import ResourceBundle.
- (DecimalFormatSymbols): Use ResourceBundle to find resources.
- (safeGetString): New method.
- (safeGetChar): Likewise.
-
-1999-03-03 Tom Tromey <tromey@cygnus.com>
-
- * java/text/NumberFormat.java (INTEGER_FIELD, FRACTION_FIELD): New
- constants.
-
- * java/text/FieldPosition.java (equals): Don't check for null
- object; instanceof does this.
-
- * java/util/Locale.java (clone): New method.
- (equals): Likewise.
-
-Wed Mar 3 17:20:15 1999 Anthony Green <green@cygnus.com>
-
- * doc/cni.sgml: New file.
-
-1999-03-03 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (_Jv_Abort): Mention libgcj, not libjava.
-
- * java/text/DecimalFormatSymbols.java: New file.
-
-1999-03-02 Tom Tromey <tromey@cygnus.com>
-
- * java/io/natFileDescriptorPosix.cc: Include sys/filio.h if it
- exists.
- * configure: Rebuilt.
- * configure.in: Check for sys/filio.h.
-
- * java/lang/Runtime.java (checkLink): Throw NullPointerException
- if required.
- (load): Always throw UnsatisfiedLinkError.
- (loadLibrary): Likewise.
-
-1999-03-02 Anthony Green <green@cygnus.com>
-
- * LIBGCJ_LICENSE: New file.
- * LIBJAVA_LICENSE: Removed.
- * Many files: libjava now libgcj.
-
-1999-03-02 Tom Tromey <tromey@cygnus.com>
-
- * include/java-chartables.h: Rebuilt.
- * chartables.pl (print_block): Make table `const'.
- (print_numerics): Likewise.
- (print_single_map): Likewise.
- (print_all_block): Likewise.
- (print_case_table): Likewise.
- (print_fast_tables): Likewise.
- * java/lang/natCharacter.cc (table_search): `table' argument now
- const.
-
-1999-03-01 Tom Tromey <tromey@cygnus.com>
-
- * java/util/Date.java (before, after): Inverted logic.
-
- * java/util/Date.java (parse): Handle case where first character
- in string is open parenthesis.
- (skipParens): Rewrote.
-
- * java/lang/reflect/natArray.cc: Include <stdlib.h>.
- * java/lang/reflect/natField.cc: Include <stdlib.h>.
-
- * java/util/Date.java (parse): Correctly compute beginning of
- punctuation.
-
- * java/util/Hashtable.java (get): Throw NullPointerException if
- key is null.
- (containsKey): Likewise.
-
- * java/util/Properties.java (list): Truncate value to 37
- characters and add `...'.
-
- * java/lang/Byte.java (parseByte): Pass `radix' to
- Integer.parseInt.
-
- * prims.cc (_Jv_Abort): In non-DEBUG case, use System.err, not
- fprintf.
- Include System.h, PrintStream.h.
-
- * java/lang/natSystem.cc (init_properties): Don't use malloc,
- realloc, or free.
-
- * java/lang/natSystem.cc (init_properties): Use getpwuid_r if it
- exists.
- * configure: Rebuilt.
- * configure.in: Check for getpwuid_r. Look for `pwd.h', not
- `pwd.d'.
-
- * mauve-libjava: Omit AttibutedCharacterIterator, ACIAttribute.
-
- * java/lang/SecurityManager.java: Import java.net.*.
- (checkMulticast): New methods.
-
-Fri Feb 26 14:54:52 1999 Per Bothner <bothner@cygnus.com>
-
- * Makefile.am, Makefile.in (java/lang/reflect/Method.h): New rule.
- (nat_files): Add java/lang/reflect/natArray.o.
- (nat_headers): Add Field.h and NoSuchFieldException.h.
-
- * include/java-field.h (_Jv_GetStaticLongField, _Jv_GetStaticIntField,
- _Jv_GetStaticShortField, _Jv_GetStaticByteField): New inline methods.
- (_Jv_FromReflectedField): Fix buglet.
- * include/jvm.h (_Jv_NewMultiArray): New declaration.
- * include/java-assert.h (JvFail): Pass message string to _Jv_Abort.
- * prims.cc (_Jv_Abort): Include message in print-out.
-
- * prims.cc (_Jv_equal): New method (compare Utf8Const and jstring).
- (new_multi_array): Rename to _Jv_NewMultiArray. Make non-static.
- * include/jvm.h (_Jv_NewMultiArray, _Jv_equal): New declarations.
-
- * configure.in (AC_CHECK_HEADERS), configure: Add pwd.h.
- * include/config.h.in (HAVE_PWD_H): New feature macro.
- * java/lang/natSystem.cc (init_properties): Set file.encoding,
- user.name, user.home, user.dir.
-
- * java/lang/reflect/Array.java: New class.
- * java/lang/reflect/natArray.cc: New native methods.
- * include/javaprims.h: Declare java::lang::reflect::Array.
-
- * java/lang/Class.h (getField): New private method. Add friends.
- * java/lang/Class.java (getField): Add private overload.
- * java/lang/natClass.cc (getField, getField, getDeclaredField,
- getDeclaredMethods): Add working implementations.
- * java/lang/reflect/Field.java, java/lang/reflect/natField.cc:
- Finish implementation, except for access control.
-
- * java/lang/reflect/Modifier.java (toString): New overload.
- * include/java-method.h: New file.
- * java/lang/reflect/Method.java (index): Replaced by offset field.
- Remove various private fields - get them from _Jv_Field instead.
- * java/lang/reflect/natMethod.cc (getModifiers, getName, getType):
- New method implementations.
-
- * java/text/NumberFormat.java: Add a bunch of methods.
-
-Mon Feb 22 17:52:34 1999 Per Bothner <bothner@cygnus.com>
-
- * java/lang/StringBuffer.java (getChars): Fix bounds checks.
-
-1999-02-26 Tom Tromey <tromey@cygnus.com>
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (GETHOSTBYNAME_R_RETURNS_INT,
- GETHOSTBYADDR_R_RETURNS_INT, HAVE_GETHOSTBYNAME_R,
- HAVE_GETHOSTBYADDR_R): New defines.
- * java/net/natInetAddress.cc (lookup): Use gethostbyname_r and
- gethostbyaddr_r if available.
- Include <errno.h>.
- * configure: Rebuilt.
- * configure.in: Check for gethostbyname_r, gethostbyaddr_r.
-
- * java/net/natInetAddress.cc (aton): Use _Jv_AllocBytesChecked.
- Don't use JvFree.
- (lookup): Likewise.
- Include <jvm.h>.
- * include/jvm.h (_Jv_AllocBytesChecked): Declare.
- * prims.cc (_Jv_AllocBytesChecked): New function.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (SUBDIRS): Removed `test'.
- * configure: Rebuilt.
- * configure.in: Don't build test/Makefile.
- * test/*: Removed all files.
-
-Thu Feb 25 17:27:37 1999 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/reflect/Constructor.java: Make class final to match spec.
- * java/lang/reflect/Method.java: Ditto.
-
-1999-02-25 Tom Tromey <tromey@cygnus.com>
-
- * java/net/natInetAddress.cc: Include <sys/types.h> before
- <sys/socket.h>.
- * java/net/natPlainSocketImpl.cc: Include <sys/types.h> before
- <sys/socket.h>.
-
- * java/net/natInetAddress.cc: Declare gethostname if required.
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_GETHOSTNAME_DECL): New define.
- * configure: Rebuilt.
- * configure.in: Define HAVE_GETHOSTNAME_DECL when gethostname is
- declared in unistd.h.
-
-1999-02-24 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (java/io/FileDescriptor.h): Removed target.
- * java/io/FileDescriptor.java (FileDescriptor): Changed protection
- from private to "none".
-
- * include/javaprims.h: Regenerated class declarations with new
- classes.pl.
- * classes.pl (scan): Only generate decls for java.lang, java.io,
- and java.util.
-
-1999-02-24 Tom Tromey <tromey@cygnus.com>
-
- * posix-threads.cc (_Jv_InitThreads): Mask SIGINT in all threads.
- (_Jv_ThreadWait): Allow SIGINT to be delivered to waiting thread.
-
-1999-02-23 Tom Tromey <tromey@cygnus.com>
-
- * java/util/natGregorianCalendar.cc (_REENTRANT): Only define if
- not already defined.
- * java/io/natFile.cc (_REENTRANT): Only define if not already
- defined.
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_BOEHM_GC): New define.
- * configure: Rebuilt.
- * configure.in: Define HAVE_BOEHM_GC if using it.
- * posix-threads.cc: Include boehm-config.h and gc.h if
- HAVE_BOEHM_GC.
- * include/posix-threads.h: Added explanatory note about Boehm GC.
-
- * java/io/BufferedReader.java (readLine): Only return null when
- EOF seen before any characters read. (In particular, an empty
- line should not return null.)
-
- * java/io/BufferedInputStream.java (read): Only refill once per
- invocation.
-
- * mauve-libjava: Added java.text.StringCharacterIterator.iter,
- java.lang.Character.classify12, java.lang.String.hash,
- java.text.FieldPosition.Test, java.text.ParsePosition.Test,
- java.text.SimpleDateFormat.getAndSet2DigitYearStart
-
- * java/text/StringCharacterIterator.java (setIndex): No error if
- index == end.
- (next): Check for `pos == end', not `end - 1'.
- (StringCharacterIterator): Allow `pos == end'. Explicitly check
- for null text in each constructor.
- (clone): Fixed order of arguments to constructor.
-
-1999-02-22 Tom Tromey <tromey@cygnus.com>
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_INET6): New define.
- (HAVE_SOCKLEN_T): Likewise.
- * java/net/PlainSocketImpl.java: Added copyright header.
- * java/net/natPlainSocketImpl.cc: Added copyright header.
- (union SockAddr): Use HAVE_INET6, not AF_INET6.
- (bind): Likewise.
- (connect): Likewise.
- (accept): Likewise.
- (socklen_t): New typedef.
- (accept): Use socklen_t.
- * java/net/natInetAddress.cc: Added copyright header.
- (HAVE_GETHOSTNAME): Don't define.
- (HAVE_INET_ADDR): Likewise.
- (lookup): Fixed typo.
- (aton): Don't use `address' as name of local variable.
- (lookup): Use HAVE_INET6, not AF_INET6.
-
- * configure: Rebuilt.
- * configure.in: Look for functions inet_aton, inet_addr,
- gethostname, inet_pton, uname. Check for sockaddr_in6 structure.
- Check for socklen_t typedef.
-
- * exception.cc (__throw): Declare as __noreturn__.
-
-Mon Feb 22 15:27:35 1999 Per Bothner <bothner@cygnus.com>
-
- * Makefile.am, Makefile.in: Also build java/net.
- (java/io/FileDescriptor.h): Add friend java::net::PlainSocketImpl.
-
- * java/io/natFile.cc: #define _POSIX_PTHREAD_SEMANTICS and _REENTRANT.
- * java/util/natGregorianCalendar.cc: #define _REENTRANT.
-
- * prims.cc (_Jv_malloc, _Jv_Free): New functions.
- * include/cni.h (JvMalloc, JvFree): New inline functions.
- (JvThrow): Add __noreturn__ attribute.
- * include/javaprims.h (_Jv_Malloc, _Jv_Free): New declarations.
- (_Jv_Throw): Add __noreturn__ attribute.
-
- * java/net/PlainSocketImpl.java: Init fnum to -1.
- * java/net/ServerSocket.java: Add missing throws clauses.
- * java/lang/Socket.java: For the constructor taking a SocketImpl,
- don't call create on the latter. Instead, other constructors
- have to explicitly call SocketImpl.create.
- * java/net/natPlainSocketImpl.cc (accept): Change variable addrlen
- from size_t to int, to match ::accept prototype.
- * java/net/natInetAddress.cc: Use JvFree rather than free.
-
-
-1999-02-22 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h: Added new classes.
- * java/text/StringCharacterIterator.java: New file.
- * java/text/CharacterIterator.java: New file.
-
- * java/text/ParseException.java (errorOffset): Now private.
-
-Mon Feb 22 12:54:53 1999 Per Bothner <bothner@cygnus.com>
-
- * java/net: New package.
- * java/net/{InetAddress.java,PlainSocketImpl.java,ServerSocket.java,
- Socket.java,SocketException.java,SocketImpl.java,
- SocketImplFactory.java,UnknownHostException.java,natInetAddress.cc,
- natPlainSocketImpl.cc}: New classes.
-
- * configure.in (AC_CHECK_HEADERS): Also check for <sys/socket.h>,
- <netinet.in.h>, <arpa/inet.h> and <netdb.h>.
- * include/config.h.in: Add place-holders for HAVE_ARPA_INET_H,
- HAVE_NETDB_H, HAVE_NETINET_IN_H, and HAVE_SYS_SOCKET_H.
-
- * classes.pl: Translate package into "namespace", not "class".
- * include/javaprims.h: Update class list, using "namespace".
-
-1999-02-21 Tom Tromey <tromey@cygnus.com>
-
- * java/util/natGregorianCalendar.cc (_POSIX_PTHREAD_SEMANTICS):
- Define when appropriate.
-
-1999-02-20 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natString.cc (_Jv_GetStringUTFRegion): Encode \u007f
- as a single byte and \u07ff as two bytes.
- (_Jv_GetStringUTFLength): Likewise.
- * include/jvm.h (UTF8_GET): Mask first byte of 3-byte encoding
- with 0x0f, not 0x1f.
-
-1999-02-19 Tom Tromey <tromey@cygnus.com>
-
- * java/io/DataOutputStream.java (writeUTF): When encoding
- character as 3 bytes, `or' first byte with 0xe0, not 0xc0.
- * java/io/DataInputStream.java (readUTF): Mask second byte of
- 3-byte character with 0x3f, not 0x1f.
-
- * java/io/DataInputStream.java (readLong): Cast result of
- readUnsignedByte to long before using.
-
- * java/io/FileInputStream.java (finalize): Only finalize `fd' if
- it is not null.
-
- * mauve-libjava: Re-enabled java.io.DataInputOutput.
- * include/no-threads.h (_Jv_ThreadInterrupt): Removed name of
- argument to avoid warning.
- * include/quick-threads.h (_Jv_ThreadInterrupt): Removed name of
- argument to avoid warning.
-
-1999-02-18 Tom Tromey <tromey@cygnus.com>
-
- * mauve-libjava: Omit java.io.DataInputOutput and
- java.io.Utf8Encoding.
-
-1999-02-17 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added InterruptedIOException.h.
- * java/io/natFileDescriptorPosix.cc: Include
- InterruptedIOException.h, Thread.h.
- (write): Throw InterruptedIOException when required.
- (read): Likewise.
- * posix-threads.cc: Include <signal.h>.
- (_Jv_ThreadInterrupt): New function.
- (INTR): New define.
- (handle_intr): New function.
- (_Jv_InitThreads): Register handle_intr via sigaction.
- * java/lang/natThread.cc (interrupt): Call _Jv_ThreadInterrupt.
- * include/posix-threads.h (_Jv_ThreadInterrupt): Declare.
- * include/quick-threads.h (_Jv_ThreadInterrupt): New function.
- * include/no-threads.h (_Jv_ThreadInterrupt): New function.
-
-1999-02-19 Andrew Haley <aph@cygnus.com>
-
- * java/lang/ThreadGroup (setMaxPriority): Set the maximum priority
- of subgroups.
- (ThreadGroup (int)): Set the maximum priority of the initial
- ThreadGroup.
-
-1999-02-18 Andrew Haley <aph@cygnus.com>
-
- * java/lang/natClass.cc (forName): Check for the case where a
- classname is the name of an array and call FindClassFromSignature
- to find the Class.
-
-1999-02-18 Andrew Haley <aph@cygnus.com>
-
- * java/lang/StringBuffer (insert (int, String)): Move up any
- characters above the insert position and increase the length of
- the string buffer by the length of the argument.
- (insert (int, char[])): Likewise.
- (insert (int, char)): Likewise.
- (StringBuffer (String)): The initial capacity of the string buffer
- is 16 plus the length of the argument.
- (getChars): Add a JDK 1.2 FIXME.
-
-1999-02-18 Andrew Haley <aph@cygnus.com>
-
- * java/lang/Short.java (parseShort(String, int)): Pass radix to
- Integer.parseInt.
-
-1999-02-18 Andrew Haley <aph@cygnus.com>
-
- * java/lang/Double.java (equals): Use a bit-by-bit comparision
- instead of floating-point equality. This is necessary for
- correct floating-point Hashtables.
- * java/lang/Float.java (equals): Ditto.
-
-1999-02-16 Tom Tromey <tromey@cygnus.com>
-
- * java/util/Properties.java (list): Truncate value to 37
- characters and add "...".
-
-1999-02-16 Tom Tromey <tromey@cygnus.com>
-
- * java/util/Vector.java (Vector): Throw IllegalArgumentException
- if initCap is negative.
- (contains): Implement JDK1.2-style handling of null argument.
- (removeElement): Likewise.
- (indexOf): Likewise. Also, correctly handle case where idx is
- negative.
- (lastIndexOf): Likewise.
-
-1999-02-16 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natString.cc (init): Increment source pointer in
- loop.
-
-1999-02-16 Tom Tromey <tromey@cygnus.com>
-
- * exception.cc: Include NullPointerException.h.
- (_Jv_Throw): If `value' is NULL, throw a NullPointerException.
-
-1999-02-16 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (AUTOMAKE_OPTIONS): Added `no-installinfo.
-
-Sat Feb 13 20:25:09 1999 Bonzo Armstrong <bonzo@cygnus.com>
-
- * configure.in: Don't undefine EH_COMMON_INCLUDE just because
- we're compiling canadian.
- * configure: Regenerated.
-
-1999-02-12 Andrew Haley <aph@cygnus.com>
-
- * java/lang/sf_rint.c: Resurrected. This file shouldn't have been
- deleted from libgcj.
-
-1999-02-12 Tom Tromey <tromey@cygnus.com>
-
- * exception.cc (_Jv_eh_alloc): Use _Jv_AllocBytes, not malloc.
- (_Jv_eh_free): Don't call free.
- Don't declare malloc or free.
-
-1999-02-11 Tom Tromey <tromey@cygnus.com>
-
- * configure.host: Use `libgcj', not `libjava'. Removed `echo'.
-
-1999-02-11 Andrew Haley <aph@cygnus.com>
-
- * ef_fmod.c, sf_ceil.c, sf_fabs.c, sf_floor.c, sf_rint.c,
- wf_fmod.c: Deleted. These are all files from fdlibm which aren't
- needed by java.lang.*.
- * Makefile.am: ef_fmod.o, sf_ceil.o, sf_fabs.o, sf_floor.o, sf_rint.o,
- wf_fmod.o: Removed from libjava.a.
-
-1999-02-11 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h: Reverted previous change; with it
- exception.cc can't compile.
-
- * include/javaprims.h (_Jv_Throw): Mark as noreturn.
-
- * include/config.h.in: Rebuilt.
- * include/posix-threads.h (_Jv_ThreadYield): Conditionalize on
- HAVE_SCHED_YIELD.
- * configure: Rebuilt.
- * configure.in: Check for sched_yield. Look in thread library for
- all thread functions.
-
- * posix-threads.cc (_Jv_MutexInit): Handle case where system has
- no recursive mutexes.
- (_Jv_MutexDestroy): Define when required.
- (_Jv_MutexLock): Likewise.
- (_Jv_MutexUnlock): Likewise.
- (_Jv_CondWait): Conditionalize on HAVE_RECURSIVE_MUTEX.
- * include/posix-threads.h (HAVE_RECURSIVE_MUTEX): New define.
- (_Jv_Mutex_t): New structure.
- (_Jv_MutexDestroy): Only define if recursive mutexes available.
- (_Jv_MutexLock): Likewise.
- (_Jv_MutexUnlock): Likewise.
-
-1999-02-10 Tom Tromey <tromey@cygnus.com>
-
- * aclocal.m4, configure, Makefile.in: Rebuilt.
- * acinclude.m4: Renamed libjava to libgcj. Updated to use
- automake 1.4.
- * configure.in: Changed to track library changes.
- * Makefile.am (toollib_LIBRARIES): Renamed libjava to libgcj.
- (AM_CXXFLAGS): Likewise.
- (data_DATA): Likewise.
- (AM_CFLAGS): Likewise.
- (JC1FLAGS): Likewise.
- (libgcj_a_SOURCES): Likewise.
- (EXTRA_libgcj_a_SOURCES): Likewise.
- (libgcj_a_DEPENDENCIES): Likewise.
- (libgcj_a_LIBADD): Likewise.
- (libgcj.zip): Likewise.
- (CLEANFILES): Likewise.
- ($(nat_headers)): Likewise.
- (java/lang/FirstThread.h): Likewise.
- (java/lang/ThreadGroup.h): Likewise.
- (java/lang/String.h): Likewise.
- (java/lang/reflect/Field.h): Likewise.
- (BUILT_SOURCES): Likewise.
- (maintainer-check): Likewise.
- (CONFIG_STATUS_DEPENDENCIES): Likewise.
-Tue Feb 9 11:06:38 1999 Anthony Green <green@cygnus.com>
-
- * java/util/natGregorianCalendar.cc (computeFields): Only use
- gmtime_r and localtime_r when configured for posix threads.
-
- * java/io/natFile.cc (get_entry): Only use readdir_r when
- configured for posix threads.
-
- * java/util/natGregorianCalendar.cc: Update copyright notice.
- * java/util/TimeZone.java: Ditto.
- * java/util/SimpleTimeZone.java: Ditto.
-
-1999-02-08 Tom Tromey <tromey@cygnus.com>
-
- * java/io/PrintStream.java (line_separator): New constant.
- (print): Use line_separator, not `file.separator' property.
- (println): Use line_separator.
-
- * java/lang/natClass.cc (newInstance): Throw IllegalAccessError
- when trying to instantiate Class.
-
- * java/lang/ThreadGroup.java (ThreadGroup): Throw
- NullPointerException if argument is null.
-
- * java/lang/Thread.java (setName): Throw NullPointerException, not
- IllegalArgumentException.
- (Thread): Likewise.
-
-1999-02-08 Andrew Haley <aph@cygnus.com>
-
- * java/lang/natClass.cc (newInstance): Don't allow anyone to
- create new Classes with Class.newInstance().
-
- * java/lang/natClass.cc (_Jv_FindArrayClass): Only add a
- semiciolon to end of an array Class's signature if the elements of
- the array aren't themselves arrays.
-
- * java/lang/natSystem.cc (arraycopy): The size of an element of an
- array of objects is always sizeof(jobject), not the size of the
- object to which the reference points.
-
-1999-02-08 Tom Tromey <tromey@cygnus.com>
-
- * java/util/BitSet.java (and): Throw NullPointerException when
- required.
- (or): Likewise.
- (xor): Likewise.
-
- * java/util/BitSet.java (BitSet): Throw NegativeArraySizeException
- if argument is negative.
- (clear): Correctly compute `offset'. Throw
- IndexOutOfBoundsException when required.
- (set): Likewise.
- (get): Likewise. Also, return correct value.
- (ensure): Changed meaning of argument.
- (toString): Wrap contents in `{}'; put spaces after commas.
- (hashCode): Don't try to examine elements off the end of array.
- (or): Correctly include bits past the end of this bit set.
- (xor): Likewise.
-
-Thu Feb 4 12:48:03 1999 Warren Levy <warrenl@cygnus.com>
-
- * configure.host (mips-tx39-*): Use jmr3904dram.ld link script
- instead of the jmr3904app.ld script (i.e. use DRAM instead of SRAM).
-
-1999-02-04 Andrew Haley <aph@cygnus.com>
-
- * java/lang/natClass.cc (Class::forName): Remove code which mapped
- '/' in signatures to '.'
- (Class::getName): Likewise,
- (_Jv_FindArrayClass): Add a semiciolon to end of an array Class's
- signature.
- * java/lang/natFirstThread.cc (run): Change '/' in main's
- signature to '.'.
-
-1999-02-03 Andrew Haley <aph@cygnus.com>
-
- * configure.host: -ffloat-store added when compiling libjava on
- x86. fdlibm apparently relies on this.
-
- * java/lang/ThreadGroup.java (add): throw an exception if the
- ThreadGroup has been destroyed.
-
- * java/lang/natMath.cc (round): Ensure correct NaN and overflow
- behaviour.
-
-1999-01-27 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/StringBuffer.java (StringBuffer): Handle null
- argument.
-
-1999-01-21 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natFirstThread.cc (run): Don't require main to be
- public.
-
-Wed Jan 20 15:44:56 1999 Anthony Green <green@cygnus.com>
-
- * boehm.cc (_Jv_InitGC): Clear out the free lists correctly.
-
-1999-01-20 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natString.cc (_Jv_StringFindSlot): Synchronize on
- StringClass.
- (rehash): Likewise.
- (intern): Likewise.
- (unintern): Likewise.
- (_Jv_NewStringUtf8Const): Likewise.
-
- * java/text/SimpleDateFormat.java (format): Use [a-zA-z], not
- Character.isLetter, to see if character is self-quoting. Also,
- correctly handle quoted characters.
- (parse): Fixed typo. Also now throws ParseException.
-
-1999-01-15 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natObject.cc (INIT_NEEDED): Added missing close paren.
-
- * java/lang/natObject.cc (INIT_NEEDED): Added cast in case where
- _Jv_SyncInfo has `init' member.
-
- * include/quick-threads.h (_Jv_MutexUnlock): Return result of
- coop_mutex_unlock.
-
- * java/lang/natObject.cc (_Jv_MonitorExit): Throw
- IllegalMonitorStateException if unlock fails.
-
- * prims.cc (_Jv_NewPrimArray): Assume allocated memory is all
- zero.
- (_Jv_NewObjectArray): Likewise.
-
-1999-01-14 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Character.java (isJavaIdentifierPart): Allow
- LETTER_NUMBER characters.
-
- * chartables.pl (process_char): Fixed error messages.
-
- * include/java-chartables.h: Rebuilt with UniData 2.1.8.
- * chartables.pl: Updated comments. Changed detection of non-digit
- numeric values (no longer miss \u00b2 and friends).
-
- * java/lang/Character.java (isJavaIdentifierPart): Recognize
- currency symbols and connector punctuation.
- (isIdentifierIgnorable): Make 7f-9f ignorable.
-
- * prims.cc (_Jv_NewObjectArray): Check for overflow.
- (_Jv_NewPrimArray): Likewise.
- (SIZE_T_MAX): New define.
-
- * java/lang/ClassLoader.java (system): Now private and final.
-
- * boehm.cc (_Jv_MarkObj): Handle case where object's class is
- null.
-
- * configure: Rebuilt.
- * configure.in (EH_COMMON_INCLUDE): Add -I for `../include' as
- well.
- * exception.cc: Include gansidecl.h.
-
-1999-01-14 Andrew Haley <aph@cygnus.com>
-
- * java/lang/Math.java, java/lang/natMath.cc: min and max routines
- corrected: they didn't treat -0.0 and NaNs correctly.
-
-Wed Jan 13 13:32:22 1999 Anthony Green <green@cygnus.com>
-
- * nogc.cc: Use calloc to zero out memory.
-
-1999-01-11 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natClass.cc (isInstance): Return false if this class
- is primitive, not if class of `obj' is primitive.
- (_Jv_IsInstanceOf): Rewrote to use Class.isInstance.
-
- * java/io/SequenceInputStream.java (close): Handle case where `in'
- is already null.
-
- * java/text/DateFormat.java (format): New method.
-
- * mauve-libjava: Omit java.text.DateFormat.
-
-1999-01-08 Tom Tromey <tromey@cygnus.com>
-
- * posix-threads.cc (_Jv_ThreadInitData): Removed name of unused
- argument.
- * include/posix-threads.h (_Jv_CondNotify): Removed name of unused
- argument.
- (_Jv_CondNotifyAll): Likewise.
-
- * configure: Rebuilt.
- * configure.in: Change --enable-source-compilation logic to work
- correctly.
-
-1999-01-07 Andrew Haley <aph@cygnus.co.uk>
-
- * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT,
- and RUNTESTFLAGS from AM_MAKEFLAGS.
- * configure.in: AM_RUNTESTFLAGS added.
- * configure.host: AM_RUNTESTFLAGS added.
- * Makefile.in, test/Makefile.in, testsuite/Makefile.in: rebuilt.
- * configure: rebuilt.
- * testsuite/Makefile.am: RUNTESTFLAGS set from AM_RUNTESTFLAGS.
-
- * testsuite/libjava.mauve/DejaGNUTestHarness.java (main): use of
- argv[] made conditional because embedded targets may not have
- argv[].
- * testsuite/libjava.mauve/DejaGNUTestHarness.java (main):
- explanatory comments added in call to super.
-
- * testsuite/libjava.mauve/test.exp (test_mauve): Test for an
- exception thrown in the test harness itself added.
- * testsuite/libjava.mauve/test.exp (test_mauve_sim): New routine.
-
-Wed Jan 6 17:27:39 1999 Per Bothner <bothner@cygnus.com>
-
- * java/text/DateFormatSymbols.java (zoneStringsDefault): Make static.
-
-1999-01-06 Tom Tromey <tromey@cygnus.com>
-
- * java/io/natFile.cc (get_entry): New function.
- (performList): Use get_entry.
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_READDIR_R): New define.
- * configure: Rebuilt.
- * configure.in: Look for readdir_r.
-
- * java/util/natGregorianCalendar.cc (computeFields): Fixed comment.
-
- * java/util/natDate.cc: Added copyright header.
-
-1999-01-05 Tom Tromey <tromey@cygnus.com>
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_ACCESS, HAVE_STAT, HAVE_REALPATH, HAVE_MKDIR,
- HAVE_REALPATH, HAVE_RMDIR, HAVE_UNLINK): New macros.
- * configure: Rebuilt.
- * configure.in: Check for access, stat, mkdir, rename, rmdir,
- unlink, and realpath.
- * java/io/natFile.cc (access): Conditionalize on HAVE_ACCESS.
- (stat): Conditionalize on HAVE_STAT.
- (attr): Likewise.
- (getCanonicalPath): Conditionalize on HAVE_REALPATH.
- (performMkdir): Conditionalize on HAVE_MKDIR.
- (performRenameTo): Conditionalize on HAVE_RENAME.
- (performDelete): Conditionalize on HAVE_RMDIR and HAVE_UNLINK.
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_GMTIME_R, HAVE_LOCALTIME_R): New defines.
- * configure: Rebuilt.
- * configure.in: Check for gmtime_r and localtime_r. For cross
- builds, assume they exist.
-
- * mauve-libjava: Include java.text.DateFormatSymbols again.
- * java/text/DateFormatSymbols.java (setLocalPatternChars): Renamed
- from setAmPmStrings.
-
- * mauve-libjava: Omit java.text.DateFormatSymbols.
-
-1999-01-04 Tom Tromey <tromey@cygnus.com>
-
- * java/io/PushbackReader.java: `off' already includes `numBytes'.
-
- * java/io/LineNumberReader.java (read): Decrement `count' in
- loop.
-
- * java/io/BufferedWriter.java (write): Correctly determine when
- incoming data would overrun buffer. Flush buffer if write causes
- it to become full.
-
- * java/io/BufferedOutputStream.java (write): Increment `count'
- after copying data into buffer.
-
- * java/io/FilterOutputStream.java (close): Call flush first.
-
- * java/io/PipedReader.java (read): If read causes `out' to catch
- up with `in', then set `in' to -1.
-
- * java/io/LineNumberInputStream.java (read): If no bytes read,
- return -1. If no bytes requested, return 0.
-
- * java/lang/StringBuffer.java (insert): If `str' is null, use
- string "null".
-
-1998-12-30 Anthony Green <green@cygnus.com>
-
- * README: Removed.
- * LIBJAVA_LICENSE, COPYING.LIB: Created.
-
-1998-12-23 Tom Tromey <tromey@cygnus.com>
-
- * java/io/PushbackInputStream.java (read): `off' already includes
- `numBytes'.
-
-1998-12-17 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (GCJ_canadian): Include target_alias.
-
- * java/lang/natFirstThread.cc (run): Require main's class to be
- public.
-
-1998-12-16 Tom Tromey <tromey@cygnus.com>
-
- * java/util/Locale.java (JAPAN): Language is `ja', not `jp'.
-
- * java/util/ResourceBundle.java (getBundle): Throw
- NullPointerException if locale argument is null.
-
- * java/lang/natClass.cc (forName): Throw NullPointerException if
- argument is null.
- Include NullPointerException.h.
-
-1998-12-14 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Character.java (Character): Implement Comparable.
- (compareTo): New methods.
-
- * java/util/Locale.java (CANADA, FRANCE, JAPAN): Now `final'. Use
- correct country and language codes.
- (UK, US): New constants.
- (setDefault): Language codes are lower-case.
-
- * java/lang/natClass.cc (getDeclaredConstructor): New method.
- (getDeclaredConstructors): Likewise.
- (getDeclaredField): Likewise.
- (getDeclaredFields): Likewise.
- (getDeclaredMethod): Likewise.
- (getDeclaredMethods): Likewise.
- (getField): Likewise.
- (getFields): Likewise.
- (getMethod): Likewise.
- (getMethods): Likewise.
- * java/lang/Class.java: Declare new methods.
- * java/lang/Class.h: Declare new methods.
-
- * java/lang/natString.cc: Removed `#pragma implementation'.
- * include/cni.h (_Jv_GetStringChars): New function.
- * Makefile.in: Rebuilt.
- * Makefile.am (java/lang/String.h): Don't generate definition for
- _Jv_GetStringChars.
-
- * java/lang/natString.cc: Added `#pragma implementation'.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libjava.zip): Put build directory first in class
- path to avoid bug in compiler.
-
-1998-12-14 Anthony Green <green@cygnus.com>
-
- * java/util/Locale.java: Add CANADA, FRANCE and JAPAN.
-
- * include/javaprims.h: Add EventObject, ListResourceBundle and
- ResourceBundle.
-
-1998-12-13 Anthony Green <green@cygnus.com>
-
- * mauve-libjava: Run the ResourceBundle tests.
-
- * java/lang/natClass.cc (_Jv_FindClass): Don't fail when loader is
- NULL.
-
-Sun Dec 13 18:11:21 1998 Per Bothner <bothner@cygnus.com>
-
- * configure.in, configure: Make --enable-gcj-classes and
- --enable-source-compilation the default. (Nervously...) Yeah!
- Based on a patch from Tom Tromey.
-
-1998-12-13 Tom Tromey <tromey@cygnus.com>
-
- * java/util/EventObject.java: New file.
- * java/util/EventListener.java: New file.
-
- * include/javaprims.h: Updated class declarations.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added Constructor.h.
- (java/lang/String.h): Don't inline String::length().
- * java/lang/Class.h (getConstructor, getConstructors): Declare.
- * java/lang/Class.java (initializeClass, hackRunInitializers,
- hackTrampoline): No need to mark `final'.
- (getConstructor, getConstructors): Declare.
- * java/lang/reflect/Field.java (equals): New method.
- * java/lang/natClass.cc (getConstructor): New method.
- (getConstructors): Likewise.
- Include Method.h, Field.h, Constructor.h.
- * java/lang/reflect/Constructor.java: New file.
- * java/lang/reflect/Method.java (toString): No space before open
- paren.
- (equals): Simplified.
-
-1998-12-13 Anthony Green <green@cygnus.com>
-
- * java/util/ResourceBundle.java: New file.
- * java/util/ListResourceBundle.java: New file.
-
-1998-12-12 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/System.java (in, out, err): Now buffered streams by
- default.
-
- * include/javaprims.h: Updated class declarations.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added AccessibleObject.h, Method.h,
- InvocationTargetException.h, Void.h, Byte.h, Short.h, Integer.h,
- Long.h, Boolean.h.
- (nat_files): Added natMethod.o.
- * java/lang/reflect/natMethod.cc: New file.
- * java/lang/reflect/Field.java (Field): Now extends
- AccessibleObject.
- * java/lang/reflect/AccessibleObject.java: New file.
- * java/lang/reflect/InvocationTargetException.java: New file.
-
-1998-12-11 Tom Tromey <tromey@cygnus.com>
-
- * boehm.cc, prims.cc, include/jvm.h, java/lang/Class.h,
- java/lang/Object.h, java/lang/natClass.cc, java/lang/natObject.cc:
- Renamed dtable -> vtable and _Jv_DispatchTable -> _Jv_VTable.
-
- * java/io/OutputStreamWriter.java (buffer): Size at 8192 bytes.
-
-1998-12-09 Tom Tromey <tromey@cygnus.com>
-
- * java/util/natDate.cc (_POSIX_THREAD_SEMANTICS): Define if
- HAVE_CTIME_R.
-
- * java/lang/natCharacter.cc (toTitleCase): Handle case where
- character is already titlecase.
-
- * java/lang/Character.java (isJavaLetter): Follow spec.
- (isJavaLetterOrDigit): Likewise.
-
- * java/util/GregorianCalendar.java (gregorianCutover): Append
- `L'.
-
- * java/lang/Character.java (isWhitespace): Use \r and not \u000d.
-
-1998-12-08 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/reflect/Modifier.java (toString): Replace second
- `static' with `synchronized'.
-
- * java/lang/natObject.cc (_Jv_FinalizeObject): Call hack12_6.
- * java/lang/Object.h (Object::hack12_6): Declare.
- * java/lang/Object.java (hack12_6): New function.
-
-1998-12-07 Tom Tromey <tromey@cygnus.com>
-
- * include/java-array.h (__JArray::clone): Removed decl.
- * prims.cc (__JArray::clone): Removed.
- * java/lang/natObject.cc (clone): Incorporate code to clone an
- array.
-
- * java/lang/natClass.cc (_Jv_NewClass): Set class loader.
- (_Jv_FindArrayClass): Set dtable_method_count on new class.
- Correctly use dtable_method_count.
-
-1998-12-07 Andrew Haley <aph@cygnus.co.uk>
-
- * java/lang/Double.java (isInfinite, isNaN): Handle correct
- IEEE754 values.
-
-1998-12-06 Anthony Green <green@cygnus.com>
-
- * mauve-libjava: Don't test ResourceBundle.
-
-1998-12-04 Tom Tromey <tromey@cygnus.com>
-
- More JDK 1.2 spec fixes:
- * java/util/Date.java (millis): Now private.
- * java/text/DateFormat.java (DateFormat): Constructor now
- protected.
- * java/lang/Void.java (Void): New private constructor.
- * java/lang/System.java (System): New private constructor.
- * java/lang/SecurityManager.java (classLoaderDepth): Uncommented
- body.
- (currentClassLoader): New method.
- (currentLoadedClass): New method.
- * java/lang/Math.java (Math): New private constructor.
- * java/lang/Compiler.java (Compiler): New private constructor.
- * java/lang/Class.java (Class): New private constructor.
- * java/lang/Double.java (toString): Removed access specifier from
- two-argument `toString' method.
-
-1998-12-04 Andrew Haley <aph@cygnus.co.uk>
-
- * java/lang/s_rint.c (rint): Make the variable w volatile; this
- causes it to be flushed from an fp register (where it may be
- longer than double precision) to a double in memory. This is
- essential to ensure correct rounding behaviour.
-
-1998-12-04 Tom Tromey <tromey@cygnus.com>
-
- * include/java-assert.h (_Jv_Abort): Declare as `noreturn'
- function.
-
- * java/lang/Character.java (isIdentifierIgnorable): Added comment
- explaining apparent divergence from JDK 1.2.
-
-1998-12-04 Per Bothner <bothner@cygnus.com>
-
- * include/no-threads.h: Remove unused parameter names.
- This silences a bunch of warnings.
-
-1998-12-04 Tom Tromey <tromey@cygnus.com>
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_CTIME_R): New symbol.
-
-1998-12-03 Tom Tromey <tromey@cygnus.com>
-
- * mauve-libjava: Added many more categories to reject.
-
- Changes to follow JDK1.2 spec:
- * java/lang/System.java (arraycopy, init_properties, checkSetIO,
- setErr, setIn, setOut): No need to be `final'.
- * java/lang/natObject.cc (wait): `nanos' argument is an int.
- * java/lang/Object.h (Object::wait): `nanos' argument is an int.
- * java/lang/Object.java (wait): `nanos' argument is an int.
- * java/lang/VirtualMachineError.java: Class is abstract.
- * java/lang/ThreadDeath.java: Made constructors public.
- * java/io/FileDescriptor.java (FileDescriptor): Added missing
- constructor.
-
-Thu Dec 3 20:29:38 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/text/DateFormatSymbols.java (getAmPmStrings,
- getLocalPatternChars, setShortWeekdays): Fixed typos in method names.
-
-Thu Dec 3 19:21:53 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/RandomAccessFile.java (writeInt, writeLong, writeFloat,
- writeDouble, writeByte, writeBytes, writeChar, writeChars,
- writeShort, writeUTF): Added 'final' to signature to match JDK 1.1
- and 1.2.
-
- * java/lang/IllegalThreadStateException.java
- (IllegalThreadStateException): Changed extending class to match spec.
-
- * java/lang/NumberFormatException.java
- (java/lang/NumberFormatException): Changed extending class to match
- spec.
-
- * java/util/Observer.java (Observer): Changed sig to match JCL.
-
-Thu Dec 3 19:05:26 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/DataOutputStream.java (writeInt, writeLong, writeFloat,
- writeDouble, writeBytes, writeChars, writeUTF): Added 'final' to
- signature to match JDK 1.1 and 1.2.
-
-Thu Dec 3 16:47:42 1998 Warren Levy <warrenl@cygnus.com>
-
- * Makefile.am: Changed to use $(PERL) rather than hardcoded 'perl'.
- * configure.in (PERL): Added AC_CHECK_PROGS to look for installed perl.
- * Makefile.in, configure: Rebuilt.
-
- * java/text/ParsePosition.java (setErrorIndex): Fixed typo in method
- name.
-
-1998-12-02 Tom Tromey <tromey@cygnus.com>
-
- * mauve-libjava: New file.
-
- The remaining `-W -Wall' fixes:
- * java/lang/e_sqrt.c (__ieee754_sqrt): Added cast to unsigned to
- avoid warning.
- * java/lang/s_scalbn.c (scalbn): Added braces to avoid ambiguous
- `else'.
- * java/lang/s_floor.c (floor): Added cast to unsigned to avoid
- warning.
- * java/lang/e_pow.c (__ieee754_pow): Added cast to unsigned to
- avoid warning.
- * java/lang/e_log.c (__ieee754_log): Added braces to avoid
- ambiguous `else'.
- * java/lang/s_ceil.c (ceil): Cast `i1' to unsigned to avoid
- warning.
- * java/lang/e_atan2.c (__ieee754_atan2): Added parentheses per gcc
- suggestion.
- * java/lang/strtod.c (_strtod_r): Added parentheses per gcc
- suggestion.
- * java/lang/mprec.c (Balloc): Removed unused variable.
- (mult): Added parentheses per gcc suggestion.
- (pow5mult): Likewise.
- (lshift): Likewise.
- (ulp): Likewise.
- (b2d): Likewise.
- (d2b): Likewise.
- * java/lang/dtoa.c (_dtoa_r): Added some parentheses per gcc
- suggestion. Added cast to `int' to avoid signed/unsigned
- comparison.
- * jni.cc (_Jv_JNI_GetSuperclass): Removed name of unused
- parameter.
- (IsAssignableFrom): Likewise.
- (_Jv_JNI_GetObjectField): Likewise.
- (_Jv_JNI_GetByteField): Likewise.
- (_Jv_JNI_GetShortField): Likewise.
- (_Jv_JNI_GetIntField): Likewise.
- (_Jv_JNI_GetLongField): Likewise.
- (_Jv_JNI_GetStringLength): Likewise.
- (_Jv_JNI_ToReflectedField): Likewise.
- (_Jv_JNI_FromReflectedField): Likewise.
- (_Jv_JNIFunctions): Uncommented IsAssignableFrom.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (AM_CFLAGS): Define conditionally.
- (WARNINGS): New macro.
- (AM_CXXFLAGS): Include WARNINGS.
- * configure: Rebuilt.
- * configure.in (USING_GCC): New conditional.
-
- * prims.cc (_Jv_Abort): Declare twice, to avoid warnings.
-
- * java/lang/Character.java: Changed classification constants to
- type `byte' to match JDK 1.2 docs.
-
-1998-12-01 Tom Tromey <tromey@cygnus.com>
-
- Some fixes to be `-W -Wall' clean:
- * boehm.cc (_Jv_MarkObj): Removed name of unused parameter.
- (_Jv_MarkArray): Likewise.
- * java/lang/natCharacter.cc (to_lower_title): `i' is unsigned.
- (to_upper_title): Likewise.
- (isTitleCase): Likewise.
- (toTitleCase): Likewise.
- (getNumericValue): Likewise.
- (isLowerCase): Likewise.
- * java/lang/natString.cc (charAt): Don't cast `i' to unsigned
- (avoids compiler warning).
- * java/lang/natClass.cc (getDeclaredClasses): Always return a
- value.
- (getDeclaringClass): Likewise.
- (_Jv_LookupInterfaceMethod): Likewise.
- (_Jv_NewClass): Removed name of unused parameter.
- * exception.cc (_Jv_type_matcher): Removed unused variable.
- (_Jv_setup_eh_info): Removed name of unused parameter.
- * prims.cc (_Jv_NewArray): Always return a value.
- (_Jv_FindClassFromSignature): Likewise.
- * include/java-field.h (getNameUtf8Const): Removed name of unused
- parameter.
- * include/quick-threads.h (_Jv_ThreadInitData): Removed name of
- unused parameter.
- (_Jv_ThreadSetPriority): Likewise.
-
- * java/lang/natString.cc (hashChars): Now static.
-
- * java/lang/FirstThread.java (FirstThread): Now final.
-
- * java/io/File.java (performMkdir, performRenameTo): Now private.
-
- * java/lang/natSystem.cc (currentTimeMillis): Return a value even
- if no time function defined.
-
- * configure: Rebuilt.
- * configure.in: Look for ctime_r, ctime.
- * java/util/Date.java (toString): Now native.
- * java/util/natDate.cc (toString): Rewrote.
-
-1998-11-27 Andrew Haley <aph@viagra.cygnus.co.uk>
-
- * Add LDFLAGS line to allow TX39 test cases to link when cross
- compiling.
-
-1998-11-23 Anthony Green <green@cygnus.com>
-
- * boehm.cc, chartables.pl, classes.pl, exception.cc, jni.cc,
- no-threads.cc, nogc.cc, posix-threads.cc, prims.cc,
- quick-threads.cc, include/boehm-gc.h, include/cni.h,
- include/java-array.h, include/java-assert.h, include/java-field.h,
- include/javaprims.h, include/jni.h, include/jvm.h,
- include/no-gc.h, include/no-threads.h, include/posix-threads.h,
- include/quick-threads.h, java/io/BufferedInputStream.java,
- java/io/BufferedOutputStream.java, java/io/BufferedReader.java,
- java/io/BufferedWriter.java, java/io/ByteArrayInputStream.java,
- java/io/ByteArrayOutputStream.java, java/io/CharArrayReader.java,
- java/io/CharArrayWriter.java,
- java/io/CharConversionException.java, java/io/DataInput.java,
- java/io/DataInputStream.java, java/io/DataOutput.java,
- java/io/DataOutputStream.java, java/io/EOFException.java,
- java/io/File.java, java/io/FileDescriptor.java,
- java/io/FileInputStream.java, java/io/FileNotFoundException.java,
- java/io/FileOutputStream.java, java/io/FileReader.java,
- java/io/FileWriter.java, java/io/FilenameFilter.java,
- java/io/FilterInputStream.java, java/io/FilterOutputStream.java,
- java/io/FilterReader.java, java/io/FilterWriter.java,
- java/io/IOException.java, java/io/InputStream.java,
- java/io/InputStreamReader.java,
- java/io/InterruptedIOException.java,
- java/io/LineNumberInputStream.java, java/io/LineNumberReader.java,
- java/io/OutputStream.java, java/io/OutputStreamWriter.java,
- java/io/PipedInputStream.java, java/io/PipedOutputStream.java,
- java/io/PipedReader.java, java/io/PipedWriter.java,
- java/io/PrintStream.java, java/io/PrintWriter.java,
- java/io/PushbackInputStream.java, java/io/PushbackReader.java,
- java/io/RandomAccessFile.java, java/io/Reader.java,
- java/io/SequenceInputStream.java, java/io/Serializable.java,
- java/io/StreamTokenizer.java,
- java/io/StringBufferInputStream.java, java/io/StringReader.java,
- java/io/StringWriter.java, java/io/SyncFailedException.java,
- java/io/UTFDataFormatException.java,
- java/io/UnsupportedEncodingException.java, java/io/Writer.java,
- java/io/natFile.cc, java/io/natFileDescriptorEcos.cc,
- java/io/natFileDescriptorPosix.cc,
- java/lang/AbstractMethodError.java,
- java/lang/ArithmeticException.java,
- java/lang/ArrayIndexOutOfBoundsException.java,
- java/lang/ArrayStoreException.java, java/lang/Boolean.java,
- java/lang/Byte.java, java/lang/Character.java, java/lang/Class.h,
- java/lang/Class.java, java/lang/ClassCastException.java,
- java/lang/ClassCircularityError.java,
- java/lang/ClassFormatError.java, java/lang/ClassLoader.java,
- java/lang/ClassNotFoundException.java,
- java/lang/CloneNotSupportedException.java,
- java/lang/Cloneable.java, java/lang/Comparable.java,
- java/lang/Compiler.java, java/lang/Double.java,
- java/lang/Error.java, java/lang/Exception.java,
- java/lang/ExceptionInInitializerError.java,
- java/lang/FirstThread.java, java/lang/Float.java,
- java/lang/IllegalAccessError.java,
- java/lang/IllegalAccessException.java,
- java/lang/IllegalArgumentException.java,
- java/lang/IllegalMonitorStateException.java,
- java/lang/IllegalStateException.java,
- java/lang/IllegalThreadStateException.java,
- java/lang/IncompatibleClassChangeError.java,
- java/lang/IndexOutOfBoundsException.java,
- java/lang/InstantiationError.java,
- java/lang/InstantiationException.java, java/lang/Integer.java,
- java/lang/InternalError.java, java/lang/InterruptedException.java,
- java/lang/LinkageError.java, java/lang/Long.java,
- java/lang/Math.java, java/lang/NegativeArraySizeException.java,
- java/lang/NoClassDefFoundError.java,
- java/lang/NoSuchFieldError.java,
- java/lang/NoSuchFieldException.java,
- java/lang/NoSuchMethodError.java,
- java/lang/NoSuchMethodException.java,
- java/lang/NullPointerException.java, java/lang/Number.java,
- java/lang/NumberFormatException.java, java/lang/Object.h,
- java/lang/Object.java, java/lang/OutOfMemoryError.java,
- java/lang/Process.java, java/lang/Runnable.java,
- java/lang/Runtime.java, java/lang/RuntimeException.java,
- java/lang/SecurityException.java, java/lang/SecurityManager.java,
- java/lang/Short.java, java/lang/StackOverflowError.java,
- java/lang/String.java, java/lang/StringBuffer.java,
- java/lang/StringIndexOutOfBoundsException.java,
- java/lang/System.java, java/lang/Thread.java,
- java/lang/ThreadDeath.java, java/lang/ThreadGroup.java,
- java/lang/Throwable.java, java/lang/UnknownError.java,
- java/lang/UnsatisfiedLinkError.java,
- java/lang/UnsupportedOperationException.java,
- java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
- java/lang/Void.java, java/lang/natCharacter.cc,
- java/lang/natClass.cc, java/lang/natDouble.cc,
- java/lang/natFirstThread.cc, java/lang/natFloat.cc,
- java/lang/natMath.cc, java/lang/natObject.cc,
- java/lang/natRuntime.cc, java/lang/natString.cc,
- java/lang/natSystem.cc, java/lang/natThread.cc,
- java/lang/reflect/Field.java, java/lang/reflect/Member.java,
- java/lang/reflect/Modifier.java, java/lang/reflect/natField.cc,
- java/text/DateFormat.java, java/text/DateFormatSymbols.java,
- java/text/FieldPosition.java, java/text/Format.java,
- java/text/NumberFormat.java, java/text/ParseException.java,
- java/text/ParsePosition.java, java/text/SimpleDateFormat.java,
- java/util/BitSet.java, java/util/Calendar.java,
- java/util/ConcurrentModificationException.java,
- java/util/Date.java, java/util/Dictionary.java,
- java/util/EmptyStackException.java, java/util/Enumeration.java,
- java/util/GregorianCalendar.java, java/util/Hashtable.java,
- java/util/Locale.java, java/util/MissingResourceException.java,
- java/util/NoSuchElementException.java, java/util/Observable.java,
- java/util/Observer.java, java/util/Properties.java,
- java/util/Random.java, java/util/SimpleTimeZone.java,
- java/util/Stack.java, java/util/StringTokenizer.java,
- java/util/TimeZone.java, java/util/TooManyListenersException.java,
- java/util/Vector.java, java/util/natGregorianCalendar.cc: Updated
- copyright notices.
-
- * exception.cc: Include eh-common.h instead of duplicating
- code.
-
-1998-11-23 Tom Tromey <tromey@cygnus.com>
-
- * configure.host: Don't add `-O2' to libjava_flags. Only add
- `-Os' to libjava_flags once.
-
-1998-11-17 Andrew Haley <aph@viagra.cygnus.co.uk>
-
- * Makefile.am: add LIBJAVA_JAVAFLAGS.
- * Makefile.in: likewise
- * acconfig.h: add ECOS conditional for configure.h
- * config.h.in: likewise
- * configure: add test for --with-ecos
- * configure.in: likewise
- * java/io/natFileDescriptorEcos.cc (java::io::FileDescriptor::write):
- rename call to avoid name clash.
- * java/lang/natSystem.cc: add eCos clock support.
- * java/util/natGregorianCalendar.cc: add eCos support.
-
-1998-11-20 Andrew Haley <aph@viagra.cygnus.co.uk>
-
- * Makefile.am, Makefile.in, configure.host: tx39 build option
- "-G 0" added.
-
-Wed Nov 18 18:55:25 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/BufferedReader.java: Added more comments for clarity.
- (mark): Used more mnemonic name for local var extraBuffSpace.
-
- * java/io/LineNumberReader.java (lineEnd): Removed method to avoid
- confusion with private method of same name in superclass.
- (skipRedundantLF): Set fields in special case to avoid infinite
- recursion. Check if markPos has been invalidated in special case.
- (readLine): Rewritten to use readLine method of superclass.
- (skip): Incorporated code from lineEnd.
-
-Wed Nov 18 02:46:03 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/BufferedReader.java (readLine): New method.
- (lineEnd): new private method.
- (mark): Track special case for readLine of getting '\r' at the
- end of the buffer.
- (reset): Ditto.
- (read): Ditto.
- (fill): Ditto.
- (skip): Ditto.
-
- * java/io/InputStreamReader.java (read): Return number chars skipped
- rather than requested.
-
- * java/lang/StringBuffer.java (append): Update count and differentiate
- between field and local variable.
-
- * java/util/Date.java (parseTz): Evaluate in minutes rather than
- seconds. Deal with military style time.
- (parse): Consistently treat all timezones in minutes until final
- calculation. Flag as non-local timezone. Return value in milliseconds.
- (setTime): Adjust for year offset from 1900.
- (UTC): Adjust for year offset from 1900.
-
-1998-11-17 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Switch on host, not target.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (GCJ_no): New macro.
- (GCJ): Use @CANADIAN@.
- (GCJH_no): New macro
- (GCJH_canadian): New macro.
- (GCJH): Use @CANADIAN@.
- (ZIP_no): New macro.
- (ZIP_canadian): New macro.
- (ZIP): Use @CANADIAN@.
- * aclocal.m4, configure: Rebuilt.
- * configure.in (CANADIAN): Compute and subst.
-
-Tue Nov 17 12:44:37 1998 Anthony Green <green@cygnus.com>
-
- * java/io/FileDescriptor.java (finalize): Only close file
- descriptor if valid.
-
-1998-11-17 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (_Jv_InitRuntime): Removed.
-
-1998-11-16 Tom Tromey <tromey@cygnus.com>
-
- * java/io/FileOutputStream.java (close): Only close file
- descriptor if valid.
- (finalize): New method.
-
- * prims.cc (_Jv_NewObjectArray): Set vtbl last.
- (_Jv_NewPrimArray): Likewise.
- * boehm.cc (_Jv_RegisterFinalizer): Use
- GC_REGISTER_FINALIZER_NO_ORDER.
- (GC_GENERIC_MALLOC): New define.
- (_Jv_AllocObj): Use it.
- (_Jv_AllocArray): Likewise.
- (_Jv_AllocBytes): Likewise.
- (_Jv_MarkObj): Just return if vtbl not set.
- (_Jv_MarkArray): Likewise.
- (MAYBE_MARK): New macro; use everywhere.
- (_Jv_MarkObj): Mark fields belonging to superclasses as well.
-
-Mon Nov 16 14:57:53 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/natGregorianCalendar.cc (computeTime): Cast a time_t
- to a jlong before calculation to prevent overflow.
-
-1998-11-16 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Fixed typo.
-
-1998-11-15 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Class.h (Class::getName): Removed definition.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added InstantiationException.h,
- NoSuchMethodException.h.
- * java/lang/natClass.cc (clinit_name): Renamed from init_name.
- (init_name): New global.
- (hackRunInitializers): Use clinit_name.
- Include InstantiationException.h, NoSuchMethodException.h.
- (newInstance): Do some error checking (but not all). Call
- constructor.
- (forName): Throw exception if class not found.
- (getName): New method.
- (forName): Transform class name from external format to internal
- format before lookup.
-
-1998-11-15 Anthony Green <green@cygnus.com>
-
- * java/lang/Class.h (Class::forName): Method is static.
-
- * java/lang/natClass.cc (newInstance): Add simple implementation.
- (forName): Ditto.
-
-Sat Nov 14 18:25:13 1998 Per Bothner <bothner@cygnus.com>
-
- * java/lang/Class.h (Class::accflags): Must be unsigned short (not
- int), for compatibility with jc1.
-
-1998-11-14 Tom Tromey <tromey@cygnus.com>
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (LINUX_THREADS): New define.
- * configure: Rebuilt.
- * configure.in: Define LINUX_THREADS if using POSIX threads on
- Linux. Look for pthread_mutexattr_setkind_np function.
- * posix-threads.cc (throw_cleanup): New function.
- (really_start): Push cleanup function.
- (_Jv_ThreadCancel): New function.
- (daemon_mutex, daemon_cond, non_daemon_count): New globals.
- (_Jv_ThreadInitData): Set `exception' field in new structure.
- (_Jv_ThreadStart): Increment non_daemon_count if not a daemon
- thread.
- (_Jv_ThreadWait): New function.
- (_Jv_InitThreads): Initialize daemon globals.
- (FLAG_DAEMON): New macro.
- (really_start): Notify daemon_cond when non-daemon thread exits.
- Include <java/lang/System.h>.
- (struct starter): `object' field now a thread.
- (_Jv_MutexInit): Use pthread_mutexattr_setkind_np if it exists.
- * include/posix-threads.h (_Jv_CondInit): Use `0', not NULL.
- (_Jv_ThreadWait): Removed definition.
- (_Jv_Thread_t): Added `exception' field.
- (_Jv_ThreadCancel): Removed definition.
-
-1998-11-13 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libjava.zip): Compute javac before changing
- directory.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libjava.zip): Include directory entries.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (expanded): New macro.
- (GCJ): Use it.
-
-1998-11-12 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (clone): New function.
- * include/java-array.h (__JArray::clone): Removed definition.
-
- * java/lang/natObject.cc (clone): Don't assert that class is not
- an array; array's `clone' method just calls this one.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (libjava.zip): Renamed target from classes.stamp.
- Now creates zip file. Changed all users.
- (ZIP): New macro.
- (data_DATA): New macro.
-
-1998-11-11 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Recognize --enable-java-gc, not --enable-gc.
-
-Wed Nov 11 18:13:46 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/InputStream.java (reset): Add msg to thrown exception.
-
-Wed Nov 11 17:57:02 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/LineNumberInputStream.java: Rewritten.
-
- * java/io/StringBufferInputStream.java: Removed extraneous import.
-
-Wed Nov 11 15:19:33 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/StringBufferInputStream.java: Rewritten.
-
- * java/util/Date.java (parseMonth): Optimize.
- (parseDayOfWeek): Created.
- (parse): Optimize to use parseDayOfWeek.
-
-1998-11-11 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/StringBuffer.java (append): Handle case where STR is
- `null'.
-
- * include/javaprims.h: Regenerated class declarations.
-
- * configure: Rebuilt.
- * configure.in: Added --enable-gcj-classes,
- --enable-single-compilation, --enable-source-compilation flags.
- * Makefile.in: Rebuilt.
- * Makefile.am (java_io_files): New macro.
- (java_lang_files): Likewise.
- (java_text_files): Likewise.
- (java_util_files): Likewise.
- (java_files): Use new macros.
- (java-io.o): New target.
- (java-lang.o): Likewise.
- (java-text.o): Likewise.
- (java-util.o): Likewise.
- (src_io_files): New macro.
- (src_lang_files): Likewise.
- (src_text_files): Likewise.
- (src_util_files): Likewise.
- (class_io_files): New macro.
- (class_lang_files): Likewise.
- (class_text_files): Likewise.
- (class_util_files): Likewise.
- (class_files): Use new macros.
- (javao_files): Define conditionally.
- (.java.o): New target.
- ($(javao_files)): New target.
- (GCJ): new macro.
- (GCJH): Added $(EXEEXT).
- (CLASSPATH_ENV): Removed.
- (GCJCOMPILE): New macro.
-
-Wed Nov 11 12:03:15 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Date.java (parse): Written from scratch.
-
-1998-11-11 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Throwable.java (toString): Correct sense of test for
- determining when to include detail message in result.
-
- * java/lang/ThreadDeath.java (ThreadDeath): Added missing
- constructor.
-
-Fri Nov 6 16:30:20 1998 Tom Tromey <tromey@ferrule.cygnus.com>
-
- * java/lang/Class.h: Use _Jv_RegisterClasses, not
- _Jv_RegisterClass.
- * java/lang/natClass.cc (_Jv_RegisterClasses): New function.
- (_Jv_RegisterClass): Use it.
- * include/jvm.h (_Jv_RegisterClasses): Declare.
- * java/lang/natObject.cc (init): Removed.
- (sync_init): Never call _Jv_InitializeSyncMutex.
- (_Jv_InitializeSyncMutex): Don't set `init'.
- * prims.cc (JvRunMain): Don't run init functions.
-
-Thu Nov 5 17:14:37 1998 Tom Tromey <tromey@sanguine.cygnus.com>
-
- * java/lang/natClass.cc (initializeClass): Set state before
- resolving constants.
-
- * java/lang/natClass.cc (STATE_CONST_INIT): Removed.
- (STATE_RESOLVED): New macro.
- (initializeClass): Call resolveConstants.
- (hackRunInitializers): Don't call resolveConstants.
- (_Jv_FindArrayClass): Move short-circuit return for primitive
- element types earlier in function.
-
-1998-11-03 Tom Tromey <tromey@hoser.cygnus.com>
-
- * prims.cc (no_memory): New global.
- (_Jv_makeUtf8Const): Throw no_memory.
- (_Jv_AllocObject): Likewise.
- (_Jv_NewObjectArray): Likewise.
- (_Jv_NewPrimArray): Likewise.
- (JvRunMain): Initialize no_memory.
-
-Tue Nov 3 17:15:45 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/FileInputStream.java: Corrected date comment.
- * java/io/SequenceInputStream.java: Rewritten.
-
-Mon Nov 2 17:20:31 1998 Tom Tromey (tromey@cygnus.com)
-
- * java/lang/FirstThread.java (die): New method.
- * java/lang/natFirstThread.cc (die): Removed.
- (DIE): New macro.
- (run): Use `DIE', not `die'.
-
-Mon Nov 2 16:23:41 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/CharArrayReader.java (read): Move check into synchronized
- block to prevent a close while in progress.
- (reset): Ditto.
- (skip): Ditto.
- * java/io/PushbackReader.java (read): Ditto.
- (ready): Ditto.
- (unread): Ditto.
- * java/io/StringReader.java (mark): Ditto.
- (read): Ditto.
- (reset): Ditto.
- (skip): Ditto.
-
-Mon Nov 2 15:56:20 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/PipedInputStream.java: Updated status.
- (connect): Added code to prevent infinite recursion and to
- differentiate exception causes.
- (read): Added code to differentiate exception causes.
- (receive): Made exception pass string with the cause.
-
- * java/io/PipedOutputStream.java: Updated status.
- (connect): Added code to call connect at the other end of the pipe.
-
-Mon Nov 2 00:22:12 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/PipedInputStream.java (connect): Throw exception if
- already connected to the same output stream.
- (read): Do bounds checking first.
-
-Sun Nov 1 22:48:55 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/PipedInputStream.java: Added private boolean outClosed.
- (available): Removed check if output stream is open.
- (close): Mark the buffer as empty so available returns 0.
- (read): Check if the output stream was closed and then return EOF
- when the buffer is empty.
- (receive): Mark the output stream as closed when passed a -1.
-
- * java/io/PipedOutputStream.java (close): Notify the input stream
- that there's no more data coming.
- (connect): Added a FIXME comment to note more coordination needed
- with PipedInputStream.
- (flush): Added a FIXME comment to mark what this method might do
- instead of nothing.
-
-Fri Oct 30 14:27:21 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/PipedInputStream.java: Rewritten.
-
-1998-10-30 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Throwable.java: Rewrote from scratch.
-
- * java/lang/Class.h (Class): Don't mention newMultiArray.
- * prims.cc (newMultiArray): Removed.
- (_Jv_NewMultiArray): Removed.
- (newArray): Removed.
- (new_multi_array): New function.
- (_Jv_NewMultiArray): Rewrote from scratch.
-
- * include/javaprims.h: Regenerated class declarations.
- * classes.pl (scan): Don't declare PrimClass.
- * include/cni.h (JvPrimClass): Use new names for classes.
- * java/lang/Class.h (Class): Removed _Jv_initPrimClass as friend;
- added _Jv_PrimClass.
- * prims.cc (_Jv_PrimClass): Renamed from PrimClass.
- (_Jv_initPrimClass): Removed.
- (DECLARE_PRIM_TYPE): Generated globals now start with `_Jv_'.
- (_Jv_AllocObject): Added comment.
- (_Jv_NewObjectArray): Likewise.
- (_Jv_NewPrimArray): Likewise.
-
-1998-10-29 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natClass.cc (_Jv_NewClass): Initialize new field.
- (_Jv_FindArrayClass): Use dtable_method_count to compute size of
- new dtable.
- * java/lang/Class.h (Class): Added `dtable_method_count' field.
-
- * java/lang/natObject.cc (init): New global.
- (sync_init): Call _Jv_InitializeSyncMutex if required.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added ClassLoader.h.
- * include/jvm.h (_Jv_FindClassFromSignature): Declare.
- * java/lang/Class.h (Class): simpleLookupClass, insertClass,
- internalAddClass, lookupArray no longer friends.
- _Jv_RegisterClass, _Jv_FindClassInCache, _Jv_NewClass,
- _Jv_FindArrayClass now friends.
- * java/lang/natClass.cc (HASH_LEN): New macro.
- (HASH_UTF): Likewise.
- (loaded_classes): New global.
- (_Jv_FindClass): New function.
- (ClassClass): New define.
- (_Jv_FindClassInCache): New function.
- (_Jv_RegisterClass): Likewise.
- (_Jv_NewClass): Likewise.
- Include <string.h>
- (ObjectClass): New define.
- (CloneableClass): New define.
- * prims.cc (_Jv_FindClass): Removed.
- (simpleLookupClass): Removed.
- (insertClass): Removed.
- (CLASSHASHSZ): Removed.
- (classPool): Removed.
- (_Jv_RegisterClass): Removed.
- (internalAddClass): Removed.
- (ClassClass): Removed.
- (RuntimeClass): Removed.
- (lookupArray): Removed.
- (CloneableClass): Removed.
- (CLASSMAXSIG): Removed.
- Rearranged file to group related functions together.
- (_Jv_IsInstanceOf): Moved to natClass.cc.
- (abort_final): Removed.
- Removed some unused includes.
- (classFromSig): Removed.
- (_Jv_FindClassFromSignature): New function.
- (_Jv_initPrimClass): Renamed.
- (getClass): Removed.
-
-Thu Oct 29 23:17:17 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/FileDescriptor.java (finalize): Throws IOException
- instead of Throwable.
-
- * java/io/FileInputStream.java: Rewritten.
-
- * java/io/StreamTokenizer.java (nextToken): Unread newline character
- at the end of a comment.
-
-1998-10-29 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h: Regenerated class declarations.
- * classes.pl (scan): Don't special-case ClassLoader.
-
- * prims.cc (processClass): Removed.
- (_Jv_InitClass): Removed.
- Removed all CSTATE_ macros.
- (resolveConstants): Removed.
- (MAXDIMS): Removed.
- (_Jv_NewMultiArray): Cleaned up.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added NoClassDefFoundError.h.
- * java/lang/Class.h (Class): Declare new methods. processClass no
- longer a friend.
- * java/lang/Class.java (hackTrampoline): New method.
- (initializeClass): Declare.
- (hackRunInitializers): Declare.
- * java/lang/natClass.cc (getClassLoader): Moved into Class.h.
- (initializeClass): New method.
- (hackRunInitializers): New method.
- (init_name, void_signature): Moved from prims.cc.
- (_Jv_InitClass): New function.
- (isAssignableFrom): Don't call processClass.
- (STATE_NOTHING): New macro.
- (resolveConstants): New function.
- Include Thread.h.
- (ErrorClass): New define.
-
- * java/lang/Class.java (getClassLoader): Declare.
- * java/lang/ClassLoader.java: Rewrote from scratch.
-
- * java/lang/natClass.cc: Include IncompatibleClassChangeError.h,
- AbstractMethodError.h, IllegalAccessError.h,
- NoClassDefFoundError.h.
- * include/jvm.h (StringClass): Declare _Jv_equalUtf8Consts.
- * prims.cc (_Jv_equalUtf8Consts): Renamed from equalUtf8Consts; no
- longer static. Changed return type.
- * java/lang/natFirstThread.cc (run): Use _Jv_GetMethodLocal.
- * java/lang/Class.h (Class): findMethodLocal no longer a friend.
- * prims.cc (findMethodLocal): Removed.
- (processClass): Use _Jv_GetMethodLocal.
-
-1998-10-28 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (_Jv_LookupInterfaceMethod): Removed.
- * java/lang/Class.h (Class): Declare _Jv_GetMethodLocal as
- friend.
- * java/lang/natClass.cc (_Jv_GetMethodLocal): New function.
- (_Jv_LookupInterfaceMethod): New function (rewrote from scratch).
-
- * include/jni.h: Added copyright header.
- * include/javaprims.h: Added copyright header.
- * include/java-field.h: Added copyright header.
- * include/java-array.h: Added copyright header.
- * include/cni.h: Added copyright header.
-
- * include/javaprims.h: Regenerated class declarations using
- classes.pl; now they are complete.
- * classes.pl: New file.
-
- * java/lang/natMath.cc: Include <config.h>.
- * java/lang/reflect/natField.cc: Include <config.h>.
- * java/util/NativeUtil.java: Removed.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added Math.h.
- * java/lang/Math.h: Removed.
- * java/util/natGregorianCalendar.cc: Added copyright header.
- Include <config.h>.
- * java/lang/natFloat.cc: Added copyright header.
- * java/lang/Byte.java: Added copyright header.
- * java/lang/Void.java: Added copyright header.
- * java/lang/Short.java: Added copyright header.
-
-Wed Oct 28 12:55:47 1998 Warren Levy <warrenl@cygnus.com>
-
- * include/javaprims.h (java::io): Added bunch of missing classes.
-
- * java/io/DataInputStream.java (readLine): Added a special case
- for handling BufferedInputStream data to reduce the likelihood
- of a pushback error.
- (skipBytes): Added code to handle negative number of skip bytes.
-
- * java/io/StreamTokenizer.java: Rewritten.
-
-1998-10-28 Tom Tromey <tromey@cygnus.com>
-
- * java/util/natGregorianCalendar.cc (computeFields): Call
- getRawOffset as a method.
-
- * include/javaprims.h (java::io): Added FilterOutputStream.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added PrintStream.h,
- FilterOutputStream.h.
- * java/lang/natFirstThread.cc: Include System.h, Modifier.h,
- PrintStream.h.
- (die): New function.
- (run): Die if `main' not found, is not public, or is not static.
-
- * boehm.cc (_Jv_MarkObj): Use new field names.
- * include/java-field.h (JvGetFirstInstanceField): Use new field
- names.
- (JvNumInstanceFields): Likewise.
- * java/lang/natClass.cc (isAssignableFrom): Use new field names.
- (getInterfaces): Likewise.
- * prims.cc (CLASS_CONSTANTS): Removed.
- (CLASS_CONST_SIZE): Likewise.
- (CLASS_CONST_TAG): Likewise.
- (CLASS_CONST_DATA): Likewise.
- (CLASS_CONST_UTF8): Likewise.
- (WORD2UTF): Likewise.
- (CLASS_CLASS): Likewise.
- (CLASS_PRIM_SIG): Likewise.
- (CLASS_ARRAY_CACHE): Likewise.
- (HASH_CHARS): Likewise.
- (hashClassName): Likewise.
- Many changes to use new field names.
- * java/lang/Class.h (Class): Renamed fields to track compiler.
-
-1998-10-27 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natClass.cc: Use #pragma implementation.
- (getComponentType): Moved into header.
- (getModifiers): Likewise.
- (getName): Likewise.
- (getSuperclass): Likewise.
- (isArray): Likewise.
- (isPrimitive): Likewise.
- * include/jvm.h (_Jv_FindClass): Declare.
- * java/lang/natFirstThread.cc (run): Updated for new Class.h.
- * java/lang/natSystem.cc (arraycopy): Updated for new Class.h.
- * include/javaprims.h: Use _Jv_Method, not JvMethod.
- * java/lang/Class.h: Rewrote from scratch.
- * prims.cc: Many changes to work with new Class.h.
- * include/java-field.h (CLASS_FIELDS): Removed.
- (CLASS_SFIELDS): Likewise.
- (CLASS_IFIELDS): Likewise.
- (CLASS_NFIELDS): Likewise.
- (CLASS_NIFIELDS): Likewise.
- (CLASS_NSFIELDS): Likewise.
- (CLASS_FSIZE): Likewise.
- (JvGetFirstInstanceField): Rewrote.
- (JvNumInstanceFields): Likewise.
-
- * java/lang/Object.h: Added copyright comment.
-
-Wed Oct 28 00:32:23 1998 Per Bothner <bothner@cygnus.com>
-
- * java/text: New package directory.
- * java/text/FieldPosition.java: New class.
- * java/text/ParsePosition.java: New class.
- * java/text/ParseException.java: New Exception class.
- * java/text/Format.java: New class.
- * java/text/NumberFormat.java: New (empty placeholder) class.
- * java/text/DateFormatSymbols.java: New class (no Locales support).
- * java/text/DateFormat.java: New Format class (incomplete).
- * java/text/SimpleDateFormat.java: New DateFormat class.
-
- * include/javaprims.h (java::test): Added new package and classes.
- * java/util/Calendar.java (clone): New method.
- * java/util/Date.java (toString): Added non-native implementation.
- (parse): Made public instead of synchronized.
- * java/util/natDate.cc (toString): Removed.
- * java/util/natGregorianCalendar.cc (computeFields):
- Use gmtime (or gmtime_r) if no zone offset (the default, for now!).
-
-1998-10-27 Tom Tromey <tromey@cygnus.com>
-
- * boehm.cc (_Jv_MarkObj): Correctly mark a class' interfaces.
-
- * prims.cc (lookupArray): Added explanatory comment.
- * boehm.cc (_Jv_MarkObj): Correctly scan methods and fields of
- class. Mark the class of each object.
- (_Jv_MarkArray): Mark the object's class.
-
- * configure: Rebuilt.
- * configure.in: Create java-gc.h.
- * include/boehm-gc.h: New file.
- * include/no-gc.h: New file.
- * java/lang/Class.h (Class): Declare JV_MARKOBJ_DECL as friend, if
- defined.
- * java/lang/Object.h: Include java-gc.h.
- (Object): Declare JV_MARKOBJ_DECL and JV_MARKARRAY_DECL as
- friends, if defined.
- * boehm.cc (_Jv_MarkObj): Renamed from mark_obj; changed
- signature.
- (_Jv_MarkArray): Renamed from mark_array; changed signature.
-
-1998-10-26 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natCharacter.cc (isSpaceChar): Look for line and
- paragraph separators, not numbers.
-
- * java/io/Writer.java (write): Removed write(char) to avoid
- ambiguity.
- * java/util/Properties.java: Rewrote from scratch.
- * include/javaprims.h (java::io): Added PrintWriter,
- BufferedWriter, PushbackReader.
-
-Mon Oct 26 13:13:28 1998 Anthony Green <green@cygnus.com>
-
- * java/lang/System.java: exit() is a static method.
-
-1998-10-26 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natString.cc (_Jv_NewStringUTF): Use
- _Jv_strLengthUtf8.
- (_Jv_NewStringUtf8Const): Likewise.
- * include/jvm.h (_Jv_strLengthUtf8): Declare.
- * prims.cc (_Jv_strLengthUtf8): Renamed from strLengthUtf8.
-
- * java/lang/Object.h (Object): Add mark_array as friend function.
- * prims.cc (_Jv_NewPrimArray): Use _Jv_AllocObj, not
- _Jv_AllocBytes, to ensure that header is marked.
- * boehm.cc (mark_obj): Push sync_info field for all objects, not
- just Objects.
- (mark_array): Push sync_info field for array.
-
-1998-10-24 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/String.java (String): Updated for StringBuffer
- change.
- * java/util/BitSet.java: Renamed field (data->bits) to conform to
- serialization spec.
- * java/lang/StringBuffer.java: Renamed fields to conform to
- serialization spec: buffer->value, next->count, copy->shared.
-
-Wed Oct 21 18:24:57 1998 Per Bothner <bothner@cygnus.com>
-
- * java/util/TimeZone.java: New class.
- * java/util/SimpleTimeZone.java: New class.
- * java/util/Locale.java: New file.
- * java/util/Calendar.java: Make almost complete.
- * java/util/GregorianCalendar.java
- * java/util/natGregorianCalendar.cc: New file.
- * java/util/Date.java: Re-written from scratch.
- * java/util/natDate.cc (setTime): Removed - no longer native.
- * include/javaprims.h (java::util): Add new classes.
- * Makefile.am (nat_files): Add java/util/natGregorianCalendar.o.
- (nat_headers); Add TimeZone.h, Calendar.h, GregorianCalendar.h.
-
-Sat Oct 24 22:58:25 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/natFileDescriptorPosix.cc (read): Zero extend jbyte b before
- returning it as a jint.
-
-1998-10-23 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (arg_vec, main_group, main_thread): New globals.
- (JvRunMain): Use them.
-
-Fri Oct 23 17:10:12 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/DataInputStream.java: Rewritten.
-
- * java/io/DataOutputStream.java (writeUTF): OR secondary and
- tertiary bytes with 0x80 per spec.
-
-1998-10-23 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/String.java (init): Changed name of `copy' argument.
- * java/lang/natString.cc (init): Inverted sense of `copy'
- argument.
-
- * java/lang/Object.h (Object): Declare mark_obj as a friend.
- * java/lang/Class.h (Class): Declare mark_obj as a friend.
- * boehm.cc (ObjectClass): New define.
- (ClassClass): Likewise.
- (mark_obj): Special-case Object and Class.
-
- * prims.cc (_Jv_NewPrimArray): Pass correct args to memset.
-
- * java/util/BitSet.java: Rewrote from scratch.
-
- * prims.cc (lookupArray): Removed useless cast.
-
- * java/lang/natObject.cc: Use `#pragma implementation'.
-
- * java/lang/String.java (init): Added `copy' argument.
- (String): Look in StringBuffer to find char array.
- * java/lang/natString.cc (init): Added `copy' argument.
- * java/lang/StringBuffer.java: Rewrote from scratch.
-
- * java/lang/Compiler.java: Rewrote from scratch.
- * java/lang/Throwable.java: Don't use NativeLang.
- * include/javaprims.h (java::lang): Don't mention NativeLang.
- * java/lang/Process.java: Rewrote from scratch.
- * java/lang/SecurityManager.java (classLoaderDepth): Commented
- out.
- (currentClassLoader): Likewise.
- (currentLoadedClass): Likewise.
- * java/lang/natClass.cc (getClassLoader): Commented out.
- * java/lang/Class.java (getClassLoader): Commented out.
- * java/lang/Compiler.java: Removed.
- * java/lang/NativeLang.java: Removed.
-
- * java/lang/natFirstThread.cc (run): Use _Jv_makeUtf8Const.
- * include/jvm.h (StringClass): Declare _Jv_makeUtf8Const.
- * prims.cc (_Jv_makeUtf8Const): Renamed from makeUtf8Const.
- (_Jv_hashUtf8String): Now static.
- * include/java-field.h (getNameUtf8Const): Use `_Jv_Utf8Const' as
- name of return type.
-
- * java/lang/Class.h (Class): Declare checkMemberAccess.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added Member.h.
- * java/lang/natClass.cc: Include Member.h.
- (getDeclaredClasses): Call checkMemberAccess.
- * java/lang/Class.java (checkMemberAccess): Call
- SecurityManager.checkMemberAccess.
-
-Fri Oct 23 08:01:54 1998 Anthony Green <green@cygnus.com>
-
- * java/lang/SecurityManager.java: Rewritten.
-
-Thu Oct 22 17:16:10 1998 Anthony Green <green@cygnus.com>
-
- * java/applet/Applet.java, java/applet/AppletContext.java,
- java/applet/AppletStub.java, java/applet/AudioClip.java,
- java/awt/AWTError.java, java/awt/AWTException.java,
- java/awt/BorderLayout.java, java/awt/Button.java,
- java/awt/Canvas.java, java/awt/CardLayout.java,
- java/awt/Checkbox.java, java/awt/CheckboxGroup.java,
- java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
- java/awt/Color.java, java/awt/Component.java,
- java/awt/Container.java, java/awt/Dialog.java,
- java/awt/Dimension.java, java/awt/Event.java,
- java/awt/FileDialog.java, java/awt/FlowLayout.java,
- java/awt/Font.java, java/awt/FontMetrics.java,
- java/awt/Frame.java, java/awt/Graphics.java,
- java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
- java/awt/GridLayout.java, java/awt/Image.java,
- java/awt/Insets.java, java/awt/Label.java,
- java/awt/LayoutManager.java, java/awt/List.java,
- java/awt/MediaTracker.java, java/awt/Menu.java,
- java/awt/MenuBar.java, java/awt/MenuComponent.java,
- java/awt/MenuContainer.java, java/awt/MenuItem.java,
- java/awt/Panel.java, java/awt/Point.java, java/awt/Polygon.java,
- java/awt/Rectangle.java, java/awt/Scrollbar.java,
- java/awt/TextArea.java, java/awt/TextComponent.java,
- java/awt/TextField.java, java/awt/Toolkit.java,
- java/awt/Window.java, java/awt/image/ColorModel.java,
- java/awt/image/CropImageFilter.java,
- java/awt/image/DirectColorModel.java,
- java/awt/image/FilteredImageSource.java,
- java/awt/image/ImageConsumer.java,
- java/awt/image/ImageFilter.java,
- java/awt/image/ImageObserver.java,
- java/awt/image/ImageProducer.java,
- java/awt/image/IndexColorModel.java,
- java/awt/image/MemoryImageSource.java,
- java/awt/image/PixelGrabber.java,
- java/awt/image/RGBImageFilter.java, java/awt/peer/ButtonPeer.java,
- java/awt/peer/CanvasPeer.java,
- java/awt/peer/CheckboxMenuItemPeer.java,
- java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
- java/awt/peer/ComponentPeer.java,
- java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
- java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
- java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
- java/awt/peer/MenuBarPeer.java,
- java/awt/peer/MenuComponentPeer.java,
- java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
- java/awt/peer/PanelPeer.java, java/awt/peer/ScrollbarPeer.java,
- java/awt/peer/TextAreaPeer.java,
- java/awt/peer/TextComponentPeer.java,
- java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java,
- java/net/ContentHandler.java, java/net/ContentHandlerFactory.java,
- java/net/DatagramPacket.java, java/net/DatagramSocket.java,
- java/net/DefaultSocketImpl.java, java/net/InetAddress.java,
- java/net/MalformedURLException.java, java/net/NativeNet.java,
- java/net/ProtocolException.java, java/net/ServerSocket.java,
- java/net/Socket.java, java/net/SocketException.java,
- java/net/SocketImpl.java, java/net/SocketImplFactory.java,
- java/net/URL.java, java/net/URLConnection.java,
- java/net/URLEncoder.java, java/net/URLStreamHandler.java,
- java/net/URLStreamHandlerFactory.java,
- java/net/UnknownHostException.java,
- java/net/UnknownServiceException.java: Removed.
-
-1998-10-22 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (_Jv_AllocObject): Register finalizer if class'
- finalizer is not Object.finalize.
- (internalAddClass): Don't set `final' member of class.
- * java/lang/Object.h: Updated _JvObjectPrefix comment to mention
- other places that know about finalize() location.
- * java/lang/Class.h (Class): Removed `final' field.
-
- * aclocal.m4, configure: Rebuilt.
- * acinclude.m4 (LIB_AC_PROG_CXX): Unconditionally use
- AC_CHECK_PROGS; otherwise the CXX cache variable might not be
- set.
- * configure.in (AC_OUTPUT): Pass CXX to config.status.
- * Makefile.in: Rebuilt.
- * Makefile.am (AM_MAKEFLAGS): Added CXX, CXXFLAGS.
-
-1998-10-21 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Object.java (finalize): Move to be first method in
- class.
-
- * configure: Rebuilt.
- * configure.in (GCINCS): Include contents of boehm-cflags file.
-
-Tue Oct 20 13:11:04 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * java/lang/ArrayIndexOutOfBoundsException.java
- (ArrayIndexOutOfBoundsException): Fixed string literal.
- * java/lang/StringIndexOutOfBoundsException.java
- (StringIndexOutOfBoundsException): Fixed string literal.
-
-1998-10-20 Andrew Haley <aph@viagra.cygnus.co.uk>
-
- * natFileDescriptorEcos.cc added.
- * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
-
-1998-10-20 Andrew Haley <aph@viagra.cygnus.co.uk>
-
- * acconfig.h: test for __int32_t and __uint32_t added.
- * include/config.h.in: test for __int32_t and __uint32_t added.
- * java/lang/fdlibm.h: test for __int32_t and __uint32_t added.
- * java/lang/mprec.h: test for __int32_t and __uint32_t added.
- * configure.in: test for __int32_t and __uint32_t added.
- * configure: test for __int32_t and __uint32_t added.
-
- * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
-
- * configure.in: Test for --enable ecos and link
- natFileDescriptor.cc to natFileDescriptorEcos.cc or
- natFileDescriptorPosix.cc
-
- * java/lang/dtoa.c: #include <stdio.h> moved inside #ifdef DEBUG.
-
-Mon Oct 19 18:13:58 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/ByteArrayInputStream.java (skip): Ensure that arg passed
- in isn't negative.
-
- * java/io/CharArrayReader.java (close): Synchronize on lock
- object per Reader contract.
- (read): Synchronize on lock obj. Verify that reader wasn't closed.
- (reset): Synchronize on lock obj. Verify that reader wasn't closed.
- (skip): Synchronize on lock obj. Verify that reader wasn't closed.
- Ensure that arg passed in isn't negative.
-
- * java/io/FilterReader.java (FilterReader): Use the lock obj when
- constructing the superclass.
-
- * java/io/PushbackReader.java (close): Synchronize on lock
- object per Reader contract.
- (read): Synchronize on lock obj. Verify that reader wasn't closed.
- (ready): Synchronize on lock obj. Throw IOException if reader
- wasn't closed.
- (reset): Synchronize on lock obj. Verify that reader wasn't closed.
- (skip): Synchronize on lock obj. Verify that reader wasn't closed.
- Ensure that arg passed in isn't negative.
- (unread): Synchronize on lock obj. Verify that reader wasn't closed.
-
- * java/io/StringReader.java: Created.
-
-Sun Oct 18 02:19:11 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/CharArrayReader.java (mark): Removed synchronized modifier
- to match JCL.
- (read): Removed synchronized modifier to match JCL.
- (reset): Removed synchronized modifier to match JCL.
- (skip): Removed synchronized modifier to match JCL.
-
-Sun Oct 18 02:01:54 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/PushbackReader.java (PushbackReader): Made
- constructors public.
-
-1998-10-17 Tom Tromey <tromey@cygnus.com>
-
- * java/io/PushbackInputStream.java (PushbackInputStream): Made
- constructors public.
-
-1998-10-16 Anthony Green <green@cygnus.com>
-
- * aclocal.m4, configure: Rebuilt.
- * acinclude.m4 (LIBJAVA_CONFIGURE): Changed for new
- configure.host.
- * configure.host: Rewrote.
- * Makefile.in: Rebuilt.
- * Makefile.am (AM_CXXFLAGS): Added LIBJAVA_CXXFLAGS.
- (AM_CFLAGS): New macro.
- ($(c_files)): Use COMPILE macro.
- (EXTRA_libjava_a_SOURCES): Added dummy file to work around
- automake problem(s).
-
-Fri Oct 16 16:36:28 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/ByteArrayInputStream.java (mark): Removed temp. comment.
-
- * java/io/CharArrayReader.java: Created.
-
-Fri Oct 16 15:17:01 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/PushbackInputStream.java (PushbackInputStream): Changed
- size check to allow 0 per JCL.
-
- * java/io/PushbackReader.java: Created.
-
-1998-10-16 Tom Tromey <tromey@cygnus.com>
-
- * java/io/natFileDescriptor.cc: Conditionalize <unistd.h>,
- <sys/time.h> includes.
- * java/io/natFile.cc: Conditionalize <unistd.h> include.
- * include/no-threads.h: Conditionalize <unistd.h> include on
- HAVE_UNISTD_H.
-
-Fri Oct 16 14:39:51 1998 Andrew Haley <aph@madras.cygnus.co.uk>
-
- * include/no-threads.h: Don't include <unistd.h> unless HAVE_SLEEP
- is defined.
-
-Thu Oct 15 19:27:54 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/FilterReader.java: Created.
-
-Thu Oct 15 17:49:43 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/PushbackInputStream.java: Rewritten.
-
- * java/io/BufferedInputStream.java (BufferedInputStream): Check
- that size passed to constructor is legal.
- (read): Check that args passed in are legal.
- (skip): Rewritten to get rid of the temporary buffer.
- (refill): Added marklimit check to grow the buffer.
-
- * java/io/ByteArrayInputStream.java (read): Optimized invalid args
- check.
- (bytesAvail): Removed.
- (read): Changed bytesAvail to Math.min.
- (skip): Changed bytesAvail to Math.min.
-
- * java/io/InputStream.java (read): Got rid of extraneous exceptions
- from the throws clause.
- (skip): Rewritten to use a temporary buffer.
-
-Thu Oct 15 19:42:55 1998 Andrew Haley <aph@madras.cygnus.co.uk>
-
- * prims.cc: (JvConvertArgv): Check added for argc < 0; possible on
- some target OSes
-
- * java/lang/dtoa.c: (print): Made #ifdef DEBUG only.
-
- * java/lang/strtod.c: (_strtod_r): Don't use HUGE_VAL: it's faster
- to write the double one word at a time.
-
-Tue Oct 13 14:41:47 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/BufferedInputStream.java: Rewritten.
-
-1998-10-12 Tom Tromey <tromey@cygnus.com>
-
- * jni.cc: Include config.h and stddef.h.
-
- * java/lang/Class.h (_dispatchTable): Removed again.
- Removed all ACC_* defines again.
-
-Fri Oct 9 17:08:34 1998 Per Bothner <bothner@cygnus.com>
-
- * Makefile.am (nat_files): Add netField.o.
- (libjava_a_SOURCES): Add jni.cc.
- (java/lang/reflect/Field.h): New rule.
- * Makefile.in: Re-generated.
- * include/javaprims.h: Add some extra class and typedefs.
- * include/jni.h: New file.
- * jni.cc: New file.
-
- * include/java-field.h: New file.
- * include/jvm.h: #include <java-field.h>.
- * boehm.cc: #include <java-field.h>.
- * java/lang/Class.h (JvField, inline numbers): Moved to java-field.h.
- * java/lang/reflect/Member.java: New class.
- * java/lang/reflect/Field.java: New class. (Very incomplete.)
- * java/lang/reflect/natField.cc: New file. (Very incomplete.)
-
-Sun Oct 11 00:34:44 1998 Anthony Green <green@cygnus.com>
-
- * Makefile.in, aclocal.m4, configure, test/Makefile.in,
- testsuite/Makefile.in: Rebuilt.
- * Makefile.am, acinclude.m4, configure.in: Add multilib support.
- * configure.host: Created.
-
-1998-10-10 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natObject.cc (sync_init): Always allocate a new
- sync_info.
-
-1998-10-09 Tom Tromey <tromey@cygnus.com>
-
- * java/io/ByteArrayInputStream.java (mark): Renamed from
- `mark_FIXME'.
-
- * java/io/FileOutputStream.java (finalize): Removed.
- * java/io/FileDescriptor.java (finalize): New method.
-
-Thu Oct 8 17:59:43 1998 Warren Levy <warrenl@cygnus.com>
-
- * ByteArrayInputStream.java: Corrected status comment.
-
-Thu Oct 8 17:22:49 1998 Warren Levy <warrenl@cygnus.com>
-
- * ByteArrayInputStream.java, FilterInputStream.java: Rewritten.
-
-1998-10-08 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (lookupArray): Use static array to initialize list of
- interfaces.
-
-Thu Oct 8 12:45:03 1998 Anthony Green <green@cygnus.com>
-
- * prims.cc (lookupArray): Initialize the msize for new
- array classes.
-
-Wed Oct 7 12:13:59 1998 Anthony Green <green@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Check for fsync and sleep.
- * acconfig.h (HAVE_SLEEP, HAVE_FSYNC): Added.
-
- * include/no-threads.h (_Jv_CondWait): Wrap sleep() use with
- HAVE_SLEEP. Include config.h.
-
- * java/io/natFileDescriptor.cc (NO_FSYNC_MESSAGE): Added.
- * java/io/natFileDescriptor.cc (sync): Wrap fsync() use
- with HAVE_FSYNC.
-
-1998-10-08 Tom Tromey <tromey@cygnus.com>
-
- * java/io/natFile.cc: Don't include SecurityManager.h.
- (performList): Renamed.
- (performMkdir): Likewise.
- (performRenameTo): Likewise.
- (performDelete): Likewise.
- Include <stdlib.h>.
- * java/io/File.java (performDelete): Renamed from natDelete.
- (list): Now written in Java.
- (performList): New method.
- (performMkdir): New method.
- (mkdir): Now written in Java.
- (performRenameTo): New method.
- (renameTo): Now written in Java.
-
-1998-10-06 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (ETAGS_ARGS): New macro.
- (TAGS_DEPENDENCIES): Likewise.
-
-Tue Oct 6 22:04:44 PDT 1998 Anthony Green <green@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am: Use -classpath option with javac.
-
-Tue Oct 6 18:51:31 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/io/FileOutputStream.java (finalize): Call
- super.finalize().
-
-Tue Oct 6 16:02:45 1998 Anthony Green <green@cygnus.com>
-
- * java/lang/mprec.h: Remove unused _mprec_log10 which conflicts
- with newlib's libm.
- * java/lang/mprec.c: Ditto.
-
- * java/lang/mprec.h: Include math.h for HUGE_VAL when
- cross-compiling.
-
-Tue Oct 6 14:27:00 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/InputStream.java (skip): Make local var i a long.
-
-Mon Oct 5 09:44:24 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natObject.cc (clone): Use memcpy, not memmove.
- * prims.cc (lookupArray): Use memcpy, not memmove.
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_MEMCPY): Added.
- * configure: Rebuilt.
- * configure.in: Check for memcpy again.
-
- * java/io/RandomAccessFile.java (RandomAccessFile): Use
- String.compareTo, not ==.
-
- * java/lang/Class.h (Class): Use _Jv_DispatchTable.
- (_PRIMITIVE_DTABLE): Use _Jv_DispatchTable.
- * java/lang/natObject.cc (struct _dispatchTable): Removed.
- * include/jvm.h (struct _Jv_DispatchTable): New structure.
- * prims.cc (lookupArray): Removed dead code. Copy Object's dtable
- into new array's dtable.
- (_Jv_AllocObject): Use _Jv_DispatchTable.
- (_Jv_NewPrimArray): Likewise.
- (_Jv_NewObjectArray): Likewise.
-
-Fri Oct 2 18:57:14 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * prims.cc (_Jv_ThrowBadArrayIndex): Construct a string with the
- offending index value.
- (_Jv_NewPrimArray): Throw NegativeArraySizeException when
- appropriate.
- * include/jvm.h (_Jv_ThrowBadArrayIndex): Added declaration.
- * java/lang/Throwable.java: (Throwable): fixed argument to this().
-
-Fri Oct 2 15:58:23 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/io/DataInput.java, java/io/InputStream.java: Rewritten.
-
- * java/io/OutputStream.java (write): Use off and len parameters to
- output partial byte array.
-
- * java/io/BufferedReader.java, java/io/FileReader.java,
- java/io/InputStreamReader.java, java/io/LineNumberReader.java,
- java/io/OutputStreamWriter.java, java/io/PrintWriter.java,
- java/io/Reader.java, java/io/UnsupportedEncodingException.java,
- java/io/Writer.java: Added COPYRIGHT-TBD comment.
-
- * include/javaprims.h (java::lang): Added
- ExceptionInInitializerError, IllegalStateException,
- NoSuchFieldException, and UnsupportedOperationException.
-
-Fri Oct 2 01:05:38 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natObject.cc (CloneableClass): Is a Class, not a
- Class*.
-
- * include/java-array.h (__JArray): Added clone method.
- * prims.cc (CloneableClass): New define.
- (lookupArray): Initialize array class to indicate that it
- implements Cloneable.
-
- * java/lang/Class.h: Removed all ACC_* defines.
- * prims.cc: Include Modifier.h.
- (_Jv_LookupInterfaceMethod): Use methods in
- java.lang.reflect.Modifier, not ACC_ defines.
-
- * java/lang/Class.h (Class): Declare getClasses,
- getDeclaredClasses, getDeclaringClass, getModifiers,
- * java/lang/Class.java: Rewrote from scratch.
-
- * include/javaprims.h (java::lang): Added reflect and
- reflect::Modifier.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added Modifier.h.
-
- * prims.cc (_Jv_IsInstanceOf): Return false if class is
- primitive.
-
-Fri Oct 2 06:49:00 1998 Anthony Green <green@cygnus.com>
-
- * java/lang/natString.cc (_Jv_StringFindSlot): Use JvAssert
- instead of test and abort.
-
- * java/lang/natString.cc (_Jv_NewStringUtf8Const): Add cast to
- remove compiler warning.
-
-Fri Oct 2 12:33:44 1998 Andrew Haley <aph@korai.cygnus.co.uk>
-
- * java/lang/natDouble.cc: zero terminate string.
- * strtod.c: Set errno if no digits are found in fraction.
-
-Thu Oct 1 11:48:28 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/reflect/Modifier.java: New file.
-
- * java/lang/VirtualMachineError.java: Rewrote from scratch.
- * java/lang/VerifyError.java: Rewrote from scratch.
- * java/lang/UnsatisfiedLinkError.java: Rewrote from scratch.
- * java/lang/UnknownError.java: Rewrote from scratch.
- * java/lang/StackOverflowError.java: Rewrote from scratch.
- * java/lang/OutOfMemoryError.java: Rewrote from scratch.
- * java/lang/InternalError.java: Rewrote from scratch.
- * java/lang/IllegalAccessError.java: Rewrote from scratch.
- * java/lang/ExceptionInInitializerError.java: New file.
- * java/lang/Error.java: Rewrote from scratch.
- * java/lang/ClassFormatError.java: Rewrote from scratch.
- * java/lang/ClassCircularityError.java: Rewrote from scratch.
- * java/lang/AbstractMethodError.java: Rewrote from scratch.
- * java/lang/NoClassDefFoundError.java: Rewrote from scratch.
- * java/lang/NoSuchFieldError.java: Rewrote from scratch.
- * java/lang/LinkageError.java: Rewrote from scratch.
- * java/lang/IncompatibleClassChangeError.java: Rewrote from
- scratch.
- * java/lang/NoSuchMethodError.java: Rewrote from scratch.
-
- * java/lang/natObject.cc (_Jv_FinalizeObject): New function.
- * java/lang/Object.h (Object): Declare _Jv_FinalizeObject as a
- friend.
- * include/cni.h (JvAllocObject): Moved from prims.cc.
- Include Class.h.
- * prims.cc (JvAllocObject): Moved to cni.h.
- (_Jv_AllocObject): Use _Jv_FinalizeObject.
- (finalize_name): Removed.
-
-Wed Sep 30 12:09:34 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Class.h (Class): Added size() method.
- * prims.cc (_Jv_MonitorEnter): Removed.
- (_Jv_MonitorExit): Removed.
- * java/lang/Object.h (JvSyncInfo): Removed.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added Cloneable.h,
- CloneNotSupportedException.h.
- * java/lang/Object.h: Rewrote.
- * java/lang/natObject.cc: Rewrote from scratch.
- * java/lang/Object.java: Rewrote from scratch.
-
- * java/io/natFile.cc: Conditionally include <dirent.h>.
- (list): If no <dirent.h>, always return NULL.
- * configure: Rebuilt.
- * configure.in: Check for dirent.h.
-
- * prims.cc (lookupArray): Don't use sprintf.
-
- * java/util/Hashtable.java (containsKey): Use `abs' to compute
- initial index.
- (get): Likewise.
- (put): Likewise.
- (rehash): Likewise.
- (remove): Likewise.
-
- * java/util/Hashtable.java (hsize): Renamed from size to avoid
- name conflict with method.
-
- * include/javaprims.h (java::util): Added HashtableEntry.
-
-Tue Sep 29 16:48:01 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Hashtable.java: Rewritten.
-
-Tue Sep 29 00:28:42 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/io/natFileDescriptor.cc (write): Correctly test `write'
- return value.
- (write): Likewise.
-
- * java/lang/natThread.cc (join): Fixed assertion to refer to `nt',
- not `curr_nt'.
-
- * posix-threads.cc (_Jv_CondWait): Now returns int.
- * include/javaprims.h (java::lang): Added
- IllegalMonitorStateException.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added IllegalMonitorStateException.h.
- * include/no-threads.h (_Jv_CondDestroy): Removed.
- (_Jv_MutexDestroy): Removed.
- (_Jv_CondWait): Now returns int.
- (_Jv_CondNotify): Likewise. Added mutex argument.
- (_Jv_CondNotifyAll): Likewise.
- (_Jv_MutexLock): Always succeed.
- (_Jv_MutexUnlock): Likewise.
- * include/posix-threads.h (_Jv_HaveCondDestroy): Define.
- (_Jv_HaveMutexDestroy): Define.
- (_Jv_CondNotify): Now returns int. Added mutex argument.
- (_Jv_CondNotifyAll): Likewise.
- * include/quick-threads.h (_Jv_CondDestroy): Removed.
- (_Jv_MutexDestroy): Removed.
- (_Jv_CondWait): Now returns int.
- (_Jv_CondNotify): Likewise. Added mutex argument.
- (_Jv_CondNotifyAll): Likewise.
- * java/lang/natObject.cc (finalize_sync_info): New function.
- (init_mutex): Initialize `init' and register finalizer if
- required.
- (CHECK): New macro.
- (init_mutex): Use it.
- (notify): Use it.
- (notifyAll): Use it.
- (wait): Use it.
- (notify): Throw IllegalMonitorStateException on failure.
- (notifyAll): Likewise.
- (wait): Likewise. Also, throw InterruptedException if
- appropriate.
- Include cni.h, Thread.h, IllegalMonitorStateException.h,
- InterruptedException.h, IllegalArgumentException.h.
- * java/lang/Object.h (struct JvSyncInfo): Added `init' member.
-
- * java/lang/natString.cc: Renamed all `JvPriv' functions.
- * java/lang/natRuntime.cc: Renamed all `JvPriv' functions.
- * java/lang/Object.h: Renamed all `JvPriv' functions (and types).
- * java/lang/natObject.cc: Renamed all `JvPriv' functions.
- * java/lang/natThread.cc: Renamed all `JvPriv' functions.
- * quick-threads.cc: Renamed all `JvPriv' functions.
- * prims.cc: Renamed all `JvPriv' functions.
- * posix-threads.cc: Renamed all `JvPriv' functions.
- * nogc.cc: Renamed all `JvPriv' functions.
- * no-threads.cc: Renamed all `JvPriv' functions.
- * boehm.cc: Renamed all `JvPriv' functions.
- * include/quick-threads.h: Renamed all `JvPriv' functions.
- * include/posix-threads.h: Renamed all `JvPriv' functions.
- * include/no-threads.h: Renamed all `JvPriv' functions.
- * include/jvm.h: Renamed all `JvPrivXXX' functions to `_Jv_XXX'.
-
- * include/no-threads.h (JvPrivCondWait): Wrote minimal
- implementation.
- (JvPrivCondNotify): Do nothing.
- (JvPrivCondNotifyAll): Do nothing.
-
- * prims.cc (processClass): Handle case where state is
- DOING_CONSTINIT.
-
- * java/lang/natFirstThread.cc: Include <stdlib.h>
-
- * configure: Rebuilt.
- * configure.in: Fixed sense of --enable-libjava-debug.
-
- * java/lang/natThread.cc (join): Declare `t' outside the loop so
- it can be used afterward by the assertion.
-
- * configure: Rebuilt.
- * configure.in: When cross-compiling, assume alloca.
-
- * java/lang/natDouble.cc: Updated alloca magic to avoid use of
- __builtin_alloca (autoconf docs are wrong here).
-
- * java/io/natFileDescriptor.cc (close): Set fd to -1 before
- closing.
- (available): Use `FD_ZERO' (typo fix).
-
-Tue Sep 29 17:43:30 1998 Andrew Haley <aph@tikka.cygnus.co.uk>
-
- * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
- java/lang/natDouble.cc, java/lang/strtod.c: struct _Bigint renamed
- struct _Jv_Bigint.
- * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
- java/lang/natDouble.cc, java/lang/strtod.c: struct _reent renamed
- struct _Jv_reent.
-
- * java/lang/natDouble.cc: layout changed to match GNU coding standard.
-
-Tue Sep 29 07:57:13 1998 Anthony Green <green@cygnus.com>
-
- * java/lang/natDouble.cc: Declare alloca safely.
-
- * configure, include/config.h.in: Rebuilt.
- * configure.in: Add alloca check.
-
-Tue Sep 29 00:28:42 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natThread.cc (finish_): Hold mutex for interrupt
- condition while calling notify.
- (join): Remove `curr_nt' from `nt's join list, not vice versa.
- (interrupt): Hold mutex for interrupt condition while calling
- notify.
-
- * java/lang/natString.cc (init): Allocate and try to read `count'
- characters, not `count - offset' characters.
-
- * java/io/ByteArrayInputStream.java (ByteArrayInputStream):
- Correctly compute `count'.
-
- * java/lang/Boolean.java (getBoolean): Return false if property
- not found.
-
- * java/lang/System.java (setProperties): Set prop_init.
-
-Mon Sep 28 12:39:25 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/io/PrintStream.java (println): Use line.separator, not
- file.separator.
- * java/lang/System.java (out, err): Make both autoflush streams.
- * java/io/ByteArrayOutputStream.java (write): Increment `count'.
-
- * include/config.h.in: Rebuilt.
- * acconfig.h (HAVE_MEMCPY): Removed.
- * configure: Rebuilt.
- * configure.in: Never define HAVE_MEMCPY.
-
- * java/lang/natString.cc: Don't include OutOfMemoryError.h or
- Class.h.
- (_Jv_AllocString): Use JvAllocObject again.
- * java/lang/Class.h (thread): New field.
- (_Jv_AllocString): No longer a friend.
- * prims.cc (processClass): Removed dead code. Changed to more
- closely follow the Java Language Specification.
- (processClass): Return early if already at the right state.
-
- * prims.cc (JvNewStringUTF): Removed.
- * include/cni.h (JvNewStringUTF): New function.
- (_Jv_NewStringUTF): Declare as `extern "C"'.
- * java/lang/natString.cc (_Jv_NewStringUTF): New function.
-
- * java/lang/natDouble.cc: Added copyright info and header
- comment. Include <stdlib.h>.
- (doubleValueOf): Use alloca, not malloc. Allocate 3 times as many
- bytes as are chars in string.
-
-Sat Sep 26 00:19:27 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/util/Hashtable.java (hkeys): Member renamed from to avoid
- clash with method.
- (hsize): Likewise.
-
- * java/lang/System.java (init_properties): Now native.
- * java/lang/natSystem.cc (init_properties): New method.
- Include java/util/Properties.h.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added ByteArrayOutputStream.h,
- OutputStreamWriter.h, ByteArrayInputStream.h,
- InputStreamReader.h, Writer.h, InputStream.h, OutputStream.h,
- Reader.h, Vector.h, SecurityManager.h, FilenameFilter.h,
- SyncFailedException.h, EOFException.h, FileNotFoundException.h,
- Properties.h, Hashtable.h, Dictionary.h.
- (CFLAGS): Removed.
-
- * include/javaprims.h (java::io): Added Reader, Writer,
- InputStreamReader, OutputStreamWriter,
- UnsupportedEncodingException, ByteArrayInputStream,
- ByteArrayOutputStream, EOFException, SyncFailedException,
- PushbackInputStream.
- (java::lang): Added Cloneable.
- (java::util): Added NoSuchElementException, VectorEnumeration,
- Dictionary, HashtableEnumeration, PropertiesEnumeration.
-
- * java/io/PipedReader.java: New file.
-
-Fri Sep 25 00:11:25 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natCharacter.cc (getNumericValue): Use `digit' to pick
- up A-Z.
-
- * java/io/io-defs.h: Removed.
-
- * java/io/FileInputStream.java (skip): Use FileDescriptor.seek.
- (FileInputStream): Use new constructor. Can throw IOException.
-
- * java/lang/System.java (getProperty): Don't throw
- NullPointerException.
-
- * java/io/RandomAccessFile.java: Rewrote from scratch.
-
- * java/io/natFileDescriptor.cc: Include EOFException.h.
- (seek): New method.
- (length): New method.
- (getFilePointer): New method.
- (read): New method.
- (available): New method.
- * java/io/FileDescriptor.java (SET, CUR): New constants.
- (seek, length, getFilePointer, read, available): New decls.
-
- * java/io/PipedWriter.java: New file.
- * java/io/StringWriter.java: New file.
- * java/io/CharArrayWriter.java: New file.
- * java/io/CharConversionException.java: New file.
- * java/io/BufferedWriter.java: New file.
- * java/io/FilterWriter.java: New file.
- * java/io/FileWriter.java: New file.
-
- * java/lang/natString.cc: Include ByteArrayOutputStream.h,
- OutputStreamWriter.h, NullPointerException.h,
- ByteArrayInputStream.h, InputStreamReader.h.
- (getBytes): New method.
- (init): Throw NullPointerException.
- (init): New function.
- * java/lang/String.java (getBytes): Added missing decl.
- (getBytes): New method.
- (String): Added byte[]-based constructors.
- (copyValueOf): Wrote.
- (init): Declare variant which takes byte array and encoding.
- Import java.io.UnsupportedEncodingException.
-
- * java/io/File.java: Rewrote from scratch.
- * java/io/natFileDescriptor.cc: Rewrote from scratch.
- * java/io/FileDescriptor.java: Rewrote from scratch.
- * java/io/FilenameFilter.java: Rewrote from scratch.
-
-Thu Sep 24 13:30:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/io/SyncFailedException.java: New file.
- * java/io/UTFDataFormatException.java: Rewrote from scratch.
- * java/io/InterruptedIOException.java: Rewrote from scratch.
- * java/io/FileNotFoundException.java: Rewrote from scratch.
- * java/io/EOFException.java: Rewrote from scratch.
- * java/io/IOException.java: Rewrote from scratch.
- * java/io/PrintStream.java: Rewrote from scratch.
- * java/io/DataOutputStream.java: Rewrote from scratch.
- * java/io/BufferedOutputStream.java: Rewrote from scratch.
- * java/io/FilterOutputStream.java: Rewrote from scratch.
- * java/io/ByteArrayOutputStream.java: Rewrote from scratch.
- * java/io/PipedOutputStream.java: Rewrote from scratch.
- * java/io/FileOutputStream.java: Rewrote from scratch.
- * java/io/OutputStream.java: Rewrote from scratch.
- * java/io/DataOutput.java: Rewrote from scratch.
-
-Mon Sep 28 22:59:54 1998 Per Bothner <bothner@cygnus.com>
-
- * prims.cc (_Jv_CheckCast): Add missing ! operator.
-
-Mon Sep 28 15:50:06 1998 Anthony Green <green@cygnus.com>
-
- * configure.in: Add --enable-libjava-debug
-
- * Makefile.am (nat_headers): Add java/lang/Float.h and
- java/lang/Double.h
-
- * acconfig.h: Add DEBUG and HAVE_MEMCPY.
-
- * Makefile.in, configure, include/config.h.in: Rebuilt.
-
-Mon Sep 28 17:05:58 1998 Andrew Haley <aph@korai.cygnus.co.uk>
-
- * java/lang/Float.java: Rewritten
- * java/lang/Double.java: Rewritten
- * java/lang/natFloat.cc: toString() added.
- * java/lang/natDouble.cc: toString() added.
- * java/lang/natDouble.cc: doubleValueOf() added.
- * java/lang/dtoa.c, java/lang/mprec.c, java/lang/mprec.h,
- java/lang/strtod.c: added.
- * ieeefp.h: __sparc added.
- * Makefile.am: java/lang/Float.h and java/lang/Double.h added.
-
-Thu Sep 24 13:30:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h (java::lang): Added
- CloneNotSupportedException.
-
- * java/lang/Object.java (clone): No longer native. Implemented.
- * java/lang/natObject.cc (clone): Removed.
-
-Wed Sep 23 12:03:38 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc: Don't make definitions `extern "C"'.
- (_Jv_RegisterClass): Renamed from registerClass.
- * include/jvm.h (_Jv_ThrowBadArrayIndex): Declare.
- (_Jv_NewArray): Likewise.
- (_Jv_NewMultiArray): Likewise.
- (_Jv_CheckCast): Likewise.
- (_Jv_LookupInterfaceMethod): Likewise.
- (_Jv_CheckArrayStore): Likewise.
- (_Jv_RegisterClass): Likewise.
-
- * acconfig.h (HAVE_FMOD, HAVE_MEMCPY): Removed.
- * configure: Rebuilt.
- * configure.in: Don't check for fmod; it is provided by the fdlibm
- code.
- * prims.cc (fmod): Removed.
-
- * java/lang/natString.cc (charAt): Use _Jv_uint.
- * java/lang/Class.h (class JvField): Use _Jv_ushort.
- * prims.cc (HASH_CHARS): Use _Jv_ushort.
- (equalUtf8Consts): Likewise.
- (internalAddClass): Use _Jv_uint.
- (processClass): Likewise.
- * include/javaprims.h (_Jv_ushort): Renamed from uint16.
- (_Jv_uint): Renamed from uint32.
- (struct _Jv_Utf8Const): Changed members to use new type names.
-
- * configure: Rebuilt.
- * configure.in: Don't check for memcpy. Require memmove and a way
- to get the time.
- * java/lang/natSystem.cc (arraycopy): Removed dead code, and
- #error.
- (currentTimeMillis): Don't use #error.
-
-Tue Sep 22 18:00:16 1998 Andrew Haley <aph@korai.cygnus.co.uk>
-
- * java/lang/Math.java: static member random renamed to random_ to
- avoid conflict with member function of the same name.
- * include/javaprims.h: java.util.Random added.
-
-Tue Sep 22 13:53:14 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-chartables.h: Regenerated.
- * chartables.pl: End COMPACT_CHARACTER #if after fast tables
- printed.
-
-Tue Sep 22 17:17:52 1998 Andrew Haley <aph@tikka.cygnus.co.uk>
-
- * java/lang/Math.java: Rewritten.
- * java/lang/natMath.cc: New file.
- * Files added from fdlibm:
- java/lang/e_acos.c, java/lang/k_sin.c, java/lang/sf_floor.c,
- java/lang/e_asin.c, java/lang/k_tan.c, java/lang/sf_rint.c,
- java/lang/e_atan2.c, java/lang/s_atan.c, java/lang/w_acos.c,
- java/lang/e_exp.c, java/lang/s_ceil.c, java/lang/w_asin.c,
- java/lang/e_fmod.c, java/lang/s_copysign.c, java/lang/w_atan2.c,
- java/lang/e_log.c, java/lang/s_cos.c, java/lang/w_exp.c,
- java/lang/e_pow.c, java/lang/s_fabs.c, java/lang/w_fmod.c,
- java/lang/e_rem_pio2.c, java/lang/s_floor.c, java/lang/w_log.c,
- java/lang/e_remainder.c, java/lang/s_rint.c, java/lang/w_pow.c,
- java/lang/e_scalb.c, java/lang/s_scalbn.c, java/lang/w_remainder.c,
- java/lang/e_sqrt.c, java/lang/s_sin.c, java/lang/w_sqrt.c,
- java/lang/ef_fmod.c, java/lang/s_tan.c, java/lang/wf_fmod.c,
- java/lang/k_cos.c, java/lang/sf_ceil.c,
- java/lang/k_rem_pio2.c, java/lang/sf_fabs.c,
- java/lang/ieeefp.h, java/lang/fdlibm.h
- * Makefile.am: rules added for compiling C files from fdlibm.
-
-Mon Sep 21 15:40:58 1998 Tom Tromey <tromey@cygnus.com>
-
- * chartables.pl: Minor documentation fixes.
-
- * configure: Rebuilt.
- * configure.in: Fixed --help output for --enable-fast-character.
-
-Thu Sep 17 11:03:27 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Recognize --enable-fast-character.
- * acconfig.h (COMPACT_CHARACTER): New define.
- * include/config.h.in: Rebuilt.
- * include/java-chartables.h: New file.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_files): Added natCharacter.o.
- * java/lang/natCharacter.cc: New file.
- * chartables.pl (set_attribute): New function.
- (@attributes, @second_attributes): New globals.
- ($ROMAN_START, $ROMAN_END): Likewise.
- (process_char): Call set_attribute when required.
- (print_char): Just print hex value.
- (print_block): Generate C++ syntax.
- (print_numerics): Likewise.
- (print_single_map): Likewise.
- (print_all_block): Likewise.
- (print_case_table): Likewise.
- (print_fast_tables): New function.
- Generate C++ code suitable for a header file.
- * java/lang/Character.java (table_search): Removed.
- (digit_value): Now native.
- (getNumericValue): Likewise.
- (getType): Likewise.
- Removed all automatically-generated tables.
- (Tamil_Digit_One): Removed.
- (isSpaceChar): Now native.
- (isTitleCase): Likewise.
- (isLowerCase): Likewise.
- (isUpperCase): Likewise.
- (toLowerCase): Likewise.
- (toTitleCase): Likewise.
- (toUpperCase): Likewise.
- (isDefined): Fixed sense of test.
-
-Wed Sep 16 12:00:19 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natString.cc (equalsIgnoreCase): Removed obsolete
- FIXME comment.
- (regionMatches): Likewise.
-
-Tue Sep 15 14:35:12 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (_Jv_AllocObject): Call _Jv_InitClass on the class.
-
- * java/lang/Class.h (Object): For now, declare _Jv_AllocString as
- a friend.
- * java/lang/natString.cc (_Jv_AllocString): For now, don't call
- _Jv_AllocObject.
-
- * java/lang/natString.cc (toUpperCase): Declare `ch' as a jchar,
- not a char.
-
- * java/lang/natClass.cc (isAssignableFrom): Handle arrays.
-
-Fri Sep 11 14:01:08 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (instanceof_class): Removed.
- (instanceof_array): Likewise.
- (instanceof): Likewise.
- (_Jv_IsInstanceOf): Use Class::isAssignableFrom.
- (_Jv_CheckCast): Likewise.
- * java/lang/natClass.cc (isAssignableFrom): New method.
- * java/lang/Class.java (isAssignableFrom): Now native.
-
- * include/cni.h (JvThrow): Use `extern inline'.
- (JvAllocObject): Likewise.
- (JvInitClass): Likewise.
-
- * java/lang/natSystem.cc (arraycopy): Only check class of source
- object if not null.
-
- * prims.cc (_Jv_CheckArrayStore): Wrote.
- (_Jv_MonitorEnter): Prefer `JvThrow'.
- Include ArrayStoreException.h.
- (_Jv_CheckCast): Indentation cleanup.
-
-Thu Sep 10 18:59:29 1998 Tom Tromey <tromey@cygnus.com>
-
- * chartables.pl: New file.
- * java/lang/Character.java: Rewrote from scratch.
-
-Fri Sep 18 18:15:58 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/ArithmeticException.java,
- java/lang/ArrayIndexOutOfBoundsException.java,
- java/lang/ArrayStoreException.java,
- java/lang/ClassCastException.java,
- java/lang/ClassNotFoundException.java,
- java/lang/CloneNotSupportedException.java,
- java/lang/Exception.java, java/lang/IllegalAccessException.java,
- java/lang/IllegalArgumentException.java,
- java/lang/IllegalMonitorStateException.java,
- java/lang/IllegalThreadStateException.java,
- java/lang/IndexOutOfBoundsException.java,
- java/lang/InstantiationException.java,
- java/lang/InterruptedException.java,
- java/lang/NegativeArraySizeException.java,
- java/lang/NoSuchMethodException.java,
- java/lang/NullPointerException.java,
- java/lang/NumberFormatException.java,
- java/lang/RuntimeException.java, java/lang/SecurityException.java,
- java/lang/StringIndexOutOfBoundsException.java: Rewritten.
-
- * java/lang/IllegalStateException.java,
- java/lang/NoSuchFieldException.java,
- java/lang/UnsupportedOperationException.java: Created.
-
-Fri Sep 18 15:01:42 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/Integer.java, java/lang/Long.java: Rewritten.
- * java/lang/Byte.java, java/lang/Short.java (decode): Uncommented.
-
-Fri Sep 11 16:49:19 1998 Per Bothner <bothner@cygnus.com>
-
- * prims.cc (JvRunMain): No longer need to call _Jv_InitClass.
-
-Thu Sep 10 12:23:55 1998 Warren Levy <warrenl@cygnus.com>
-
- * Makefile.am (nat_headers): Added StringIndexOutOfBoundsException.h.
-
- * Makefile.in: Rebuilt.
-
- * include/javaprims.h (java::lang): Added
- StringIndexOutOfBoundsException.
-
- * java/lang/String.java: Added header comment and FIXME comment for
- missing constructors/methods.
- (endsWith): Adjusted offset into string to look at just the last chars.
- Commented out undocumented method.
-
- * java/lang/natString.cc: Added includes for
- ArrayIndexOutOfBoundsException.h & StringIndexOutOfBoundsException.h.
- (String::init): Throw StringIndexOutOfBoundsException.
- (String::charAt): Throw StringIndexOutOfBoundsException.
- (String::substring): Throw StringIndexOutOfBoundsException.
- (String::getChars): Throw ArrayIndexOutOfBoundsException.
- (String::getBytes): Throw ArrayIndexOutOfBoundsException.
- (String::compareTo): Return difference/offset between chars/strings.
-
-Tue Sep 8 13:22:33 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/Boolean.java (TYPE): Added comment.
-
- * java/lang/Byte.java (decode): Added - commented out until dependent
- code for Integer is written.
- (compareTo): JDK 1.2 methods written.
- (hashCode): Added comment to note that values have been verified.
-
- * java/lang/Short.java (decode): Added - commented out until dependent
- code for Integer is written.
- (compareTo): JDK 1.2 methods written.
- (hashCode): Added comment to note that values have been verified.
-
- * java/lang/Comparable.java: Created - JDK 1.2 interface.
-
-Fri Sep 4 10:36:35 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h (java::lang): Added VirtualMachineError,
- OutOfMemoryError.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added OutOfMemoryError.h,
- VirtualMachineError.h.
- * prims.cc (_Jv_NewPrimArray): Throw OutOfMemoryError.
- (lookupArray): Likewise.
- (makeUtf8Const): Likewise.
- (_Jv_AllocObject): Likewise.
- (_Jv_NewObjectArray): Likewise.
- Include OutOfMemoryError.h.
-
- * java/io/natFileDescriptor.cc (newstr): Removed. Changed callers
- to use JvNewStringLatin1.
-
- * java/io/io-defs.h: Include java/lang/IOException.h.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added
- ArrayIndexOutOfBoundsException.h,
- ClassFormatError.h,ClassNotFoundException.h,
- ClassCircularityError.h, ClassCastException.h,
- IncompatibleClassChangeError.h, AbstractMethodError.h,
- IllegalAccessError.h, LinkageError.h, Error.h,
- NegativeArraySizeException.h, IOException.h.
- * include/cni.h (SignalError): Removed declaration.
- * java/util/natDate.cc (setTime): Use JvFail, not sorry.
- * java/lang/natObject.cc (clone): Use JvFail, not sorry.
- * java/lang/natClass.cc (getInterfaces): Use JvFail, not sorry.
- (newInstance): Likewise.
- (forName): Likewise.
- * java/io/natFileDescriptor.cc (open_read_write): Use JvFail, not
- sorry.
- (read): Use JvThrow, not SignalError.
- (read): Likewise.
- (write): Likewise.
- (skip): Likewise.
- (close): Likewise.
- (open_read): Likewise.
- (open_write): Likewise.
- (ftell): Likewise.
- (fseek): Likewise.
- (newstr): New function.
- * java/io/natFile.cc (isDirectoryUnchecked): Use JvFail, not
- sorry.
- (lastModifiedUnchecked): Likewise.
- (lengthUnchecked): Likewise.
- * include/javaprims.h (sorry): Removed declaration.
- (java::lang): Added ArrayIndexOutOfBoundsException, LinkageError,
- ClassFormatError, ClassNotFoundException, ClassCircularityError,
- ClassCastException, IncompatibleClassChangeError,
- AbstractMethodError, IllegalAccessError, NegativeArraySizeException.
- * prims.cc (instanceof_array): Use JvFail, not sorry.
- (sorry): Removed.
- Include ArrayIndexOutOfBoundsException.h,
- ClassFormatError.h,ClassNotFoundException.h,
- ClassCircularityError.h, ClassCastException.h,
- IncompatibleClassChangeError.h, AbstractMethodError.h,
- IllegalAccessError.h, NegativeArraySizeException.h.
- (_Jv_ThrowBadArrayIndex): Implemented.
- (JvNewStringUTF): Use JvFail, not sorry.
- (_Jv_FindClass): Likewise.
- (_Jv_NewArray): Likewise.
- (throwException): Removed.
- (getClass): Use JvThrow.
- (processClass): Likewise.
- (_Jv_NewObjectArray): Likewise.
- (_Jv_NewMultiArray): Likewise.
- (_Jv_CheckCast): Likewise.
- (_Jv_LookupInterfaceMethod): Likewise.
- (SignalError): Removed.
- (getClass): Use _Jv_NewStringUtf8Const to create String.
-
- * java/lang/natSystem.cc (arraycopy): Throw
- ArrayIndexOutOfBoundsException, not IndexOutOfBoundsException.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (GCJH): Renamed. Now use `gcjh'. Changed all
- users.
- * include/java-array.h: Mention gcjh, not gjavah.
-
- * java/io/natFile.cc (existsUnchecked): Use JvGetStringUTFRegion.
- (canReadUnchecked): Likewise.
- (canWriteUnchecked): Likewise.
- (isFileUnchecked): Likewise.
- * java/io/natFileDescriptor.cc: Don't include cni.h.
-
- * java/lang/Thread.java (run__): Declare.
- * java/lang/natThread.cc (run__): New method, to avoid compiler
- warning.
- (start): Use run__, not run_.
-
- * java/io/io-defs.h: Include cni.h and jvm.h.
-
-Thu Sep 3 18:20:08 1998 Per Bothner <bothner@cygnus.com>
-
- Re-implement java.lang.String, using "COMPACT_STRINGS" representation.
- * prims.cc (JvAllocString, JvNewString, JvNewStringlatin1): Moved
- to natString.cc (with suitable renaming, inlines etc).
- (javaString2CString): Removed. Subsumed by _Jv_GetStringUTFRegion.
- * java/lang/Class.h: Renamed Utf8Const to _Jv_Utf8Const.
- * java/lang/String.h: Removed - now generated using gjavah.
- * java/lang/String.java: Re-written from scratch. Many native methods.
- * java/lang/natDouble.cc, java/util/natDate.cc: #include <cni.h>.
- * java/lang/natString.cc: Many functions re-written for "compact
- strings" representation, or native java.lang.String methods added.
- (Utf8Const2JavaString): Renamed to _Jv_NewStringUtf8Const.
- (_Jv_GetStringUTFLength, _Jv_GetStringUTFRegion): New methods.
- * java/lang/natClass.cc (getName): Use new _Jv_NewStringUtf8Const.
- * java/io/natFileDescriptor.cc: Use new JvGetStringUTFRegion.
- * include/cni.h: Add inline method.
- * include/java-array.h (jobjectArrayjchar): gjavah bug work-around.
- * include/javaprims.h: Moved some stuff frm String.h.
- * include/jvm.h (UTF8_GET, Utf8Const, StringClass): Moved here.
- * Makefile.am (nat_header): Added Character.h and String.h.
- (String.h): Add new rule.
-
-Thu Sep 3 10:28:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * no-threads.cc: Include config.h, cni.h, jvm.h. Don't include
- java-assert.h.
- * posix-threads.cc: Include cni.h, jvm.h.
- * quick-threads.cc: Include cni.h, jvm.h.
- * nogc.cc: Include cni.h, not javaprims.h.
- * java/lang/natFirstThread.cc: Include cni.h, jvm.h.
- * java/lang/natThread.cc: Rearranged #include ordering. Don't
- include java-assert.h.
- * java/lang/natSystem.cc: Include cni.h. Don't include
- java-assert.h.
- * java/lang/natRuntime.cc: Include cni.h. Don't include
- java-assert.h.
- * prims.cc: Rearranged #include ordering. Don't include
- java-array.h or java-assert.h.
- * boehm.cc: Include config.h, cni.h.
- * exception.cc: Include config.h, cni.h.
- * include/jvm.h: Include java-assert.h.
- * include/cni.h: Include java/lang/Object.h. Don't include
- java-threads.h or java-array.h.
-
-Thu Sep 3 16:03:08 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/Boolean.java: Rewritten.
-
-Thu Sep 3 10:28:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natFirstThread.cc (main_func): New typedef.
- (run): Use main_func, not JvPrivThreadStartFunc.
- * include/no-threads.h (JvPrivThreadStartFunc): Use correct
- argument type.
- * include/posix-threads.h (JvPrivThreadStartFunc): Use correct
- argument type.
- * include/quick-threads.h (JvPrivThreadStartFunc): Use correct
- argument type.
-
- Can't throw Java exceptions with C++ `throw':
- * quick-threads.cc (qthrow): Use _Jv_Throw, not throw.
- * java/lang/natThread.cc (join): Use _Jv_Throw, not throw.
- (setPriority): Likewise.
- (sleep): Likewise.
- (start): Likewise.
- (stop): Likewise.
- * java/lang/natSystem.cc (arraycopy): Use _Jv_Throw, not throw.
- * prims.cc (_Jv_MonitorEnter): Use _Jv_Throw, not throw.
-
- Can't catch Java exceptions from C++:
- * java/lang/natThread.cc (finish_): New method.
- (run_): Removed.
- * java/lang/Thread.java (run_): Rewrote in Java.
- (finish_): New native method.
-
-Wed Sep 2 17:30:39 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/Cloneable.java, java/lang/Number.java: Rewritten.
-
- * include/javaprims.h (java::io): Added Serializable.
-
-Wed Sep 2 15:22:00 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/EmptyStackException.java,
- java/util/NoSuchElementException.java: Rewritten.
-
- * java/util/ConcurrentModificationException.java,
- java/util/MissingResourceException.java,
- java/util/TooManyListenersException.java: Created.
-
-Wed Sep 2 13:36:57 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/cni.h (JvThrow): New function.
- * include/javaprims.h (_Jv_Throw): Declare.
-
-Wed Sep 2 14:07:48 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Observable.java: Rewritten.
-
-Wed Sep 2 13:36:57 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (_Jv_MonitorExit): Assert that object is non-null.
- (_Jv_MonitorEnter): Throw NullPointerException if object is null.
- Include NullPointerException.h.
-
-Tue Sep 1 12:07:35 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natSystem.cc (arraycopy): Removed overlapping-copy
- assignability checks. Don't bother using memcpy.
-
- * quick-threads.cc (JvPrivThreadStart): Don't call coop_start.
- (started): Removed.
- * include/quick-threads.h (JvPrivThreadWait): New function.
- * include/no-threads.h (JvPrivThreadWait): New function.
- * include/posix-threads.h (JvPrivThreadWait): New function.
- * prims.cc (JvRunMain): Call JvPrivThreadWait.
-
- * java/lang/natSystem.cc (arraycopy): Do nothing if count is 0.
-
- * java/lang/natSystem.cc (arraycopy): Multiply both src and dst
- offsets by size of type that is being copied.
-
- * java/lang/natThread.cc (start): Don't pass `object' argument to
- JvPrivThreadStart.
- * no-threads.cc (JvPrivThreadStart): Removed `object' argument.
- * posix-threads.cc (JvPrivThreadStart): Removed `object'
- argument.
- * quick-threads.cc (JvPrivThreadStart): Removed `object' argument;
- always pass thread as object.
- * include/quick-threads.h, include/posix-threads.h,
- include/no-threads.h (JvPrivThreadStart): Removed `object'
- argument.
-
-Mon Aug 31 19:11:53 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Dictionary.java: Rewritten.
-
-Mon Aug 31 14:35:55 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/quick-threads.h (JvPrivThreadInitData): Use 0, not NULL.
- (JvPrivThreadDestroy): Likewise.
-
-Mon Aug 31 12:56:01 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/lang/natRuntime.cc (exit): Changed final call to ::exit.
-
-Thu Aug 27 12:24:40 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natSystem.cc: Rewrote from scratch.
- * java/lang/System.java: Rewrote from scratch.
- * java/lang/Class.h (Class): Declare isAssignableFrom.
- * include/javaprims.h (java::lang): Added ArrayStoreException,
- IndexOutOfBoundsException.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added ArrayStoreException.h,
- IndexOutOfBoundsException.h.
- * java/lang/natObject.cc (hashCode): Use _Jv_HashCode.
- * include/jvm.h (_Jv_HashCode): New function.
-
- * java/lang/natThread.cc (suspend): Call checkAccess.
- (resume): Likewise.
- * java/lang/Thread.java (setDaemon): Call checkAccess.
-
-Thu Aug 27 12:24:40 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Runtime.java: Rewrote from scratch.
- * java/lang/natRuntime.cc: Rewrote from scratch.
-
- * nogc.cc (JvPrivGCTotalMemory): New function.
- (JvPrivGCFreeMemory): Likewise.
- (total): New global.
- (JvPrivAllocObj): Increment total.
- (JvPrivAllocArray): Likewise.
- (JvPrivAllocBytes): Likewise.
- * include/jvm.h: Declare JvPrivGCTotalMemory, JvPrivGCFreeMemory.
- * boehm.cc (JvPrivGCTotalMemory): New function.
- (sum_blocks): Likewise.
- (JvPrivGCFreeMemory): Likewise.
-
-Wed Aug 26 12:30:32 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h (java::lang): Added FirstThread.
- * java/lang/natFirstThread.cc: New file.
- * java/lang/FirstThread.java: New file.
- * prims.cc (main_signature): Removed.
- (main_name): Removed.
- #include FirstThread.h.
- * Makefile.in: Rebuilt.
- * Makefile.am (TFRIEND): Removed.
- (java/lang/Thread.h): Likewise.
- (FTFRIEND): New macro.
- (java/lang/FirstThread.h): New target.
- (nat_files): Added natFirstThread.o.
- (nat_headers): Added FirstThread.h.
- * include/jvm.h (_Jv_StartFirstThread): Don't declare.
- * java/lang/natThread.cc (_Jv_StartFirstThread): Removed.
-
- * java/lang/Thread.java (setName): Throw IllegalArgumentException
- if name is null.
- (Thread): Likewise.
-
- * java/lang/natThread.cc (start): Synchronize the thread.
- (stop): Synchronize the thread.
-
- * java/lang/ThreadDeath.java: Rewrote from scratch.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (TGFRIEND): New macro.
- (java/lang/ThreadGroup.h): New target.
- ($(nat_files) prims.o boehm.o nogc.o): Native files depend on the
- native headers.
- ($(javao_files) $(nat_files) prims.o boehm.o nogc.o): Removed.
-
- * nogc.cc: Include config.h.
-
- * java/lang/ThreadGroup.java: Rewrote from scratch.
-
-Tue Aug 25 00:12:54 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Thread.java (checkAccess): Only call in to security
- manager if it exists.
- (Thread): Don't check access when creating the first thread. Add
- this thread to the appropriate ThreadGroup.
-
- * java/lang/natThread.cc (run_): Call uncaughtException method on
- the ThreadGroup.
-
- * java/lang/Runnable.java: Rewrote from scratch.
- * java/lang/Thread.java: Updated copyright comment to correct
- form.
-
-Wed Aug 26 15:16:18 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Random.java: Rewritten.
-
-Wed Aug 26 14:25:39 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * prims.cc (_Jv_NewMultiArray): Need one more slot to store
- trailing 0 in array[].
-
-Wed Aug 26 12:21:06 1998 Anthony Green <green@cygnus.com>
-
- * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT,
- and RUNTESTFLAGS from AM_MAKEFLAGS.
- (SUBDIRS): Conditionally include testsuite.
- * Makefile.in: Rebuilt.
-
-Tue Aug 25 18:14:53 1998 Anthony Green <green@cygnus.com>
-
- * java/lang/Object.h: Include java-assert.h.
-
-Tue Aug 25 17:33:57 1998 Anthony Green <green@cygnus.com>
-
- * Makefile.am: Add testsuite directory.
- * configure.in: Build testsuite/Makefile.
- * Makefile.in, configure: Rebuilt.
-
-Tue Aug 25 00:12:54 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (JvRunMain): Use _Jv_StartFirstThread.
- * include/jvm.h (_Jv_StartFirstThread): Declare.
-
- * include/javaprims.h (java::lang): Added Exception,
- RuntimeException.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added NullPointerException.h,
- InterruptedException.h, IllegalArgumentException.h, Exception.h,
- Throwable.h, RuntimeException.h, IllegalThreadStateException.h.
- (java/lang/Thread.h): New target.
- (TFRIEND): New macro
-
- * include/java-assert.h (JvFail): Use 0 and not NULL.
-
- * posix-threads.cc (JvPrivThreadStart): Use getPriority() method
- instead of assuming we are a friend of Thread.
- * quick-threads.cc (JvPrivThreadStart): Use isDaemon() method
- instead of assuming we are a friend of Thread.
-
-Mon Aug 24 15:58:36 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natThread.cc: Rewrote from scratch.
- * java/lang/Thread.java: Rewrote from scratch.
- * prims.cc (JvRunMain): Use new Thread constructor.
- * include/javaprims.h (java::lang): Added InterruptedException.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added java/lang/Thread.h.
- * java/lang/Thread.h: Removed.
- * quick-threads.cc (JvPrivThreadStart): Added `data' argument.
- * no-threads.cc (JvPrivThreadStart): Added JvPrivThread_t
- argument.
- * posix-threads.cc (JvPrivThreadJoin): Removed.
- (JvPrivThreadInitData): Don't initialize join_mutex or join_cond.
- (really_start): Don't notify join_cond.
- (JvPrivThreadStart): Added `data' argument.
- * include/no-threads.h (JvPrivThreadInterrupt): Removed.
- (JvPrivThreadJoin): Likewise.
- Use JvFail instead of sorry.
- (JvPrivThreadSuspend): Removed.
- (JvPrivThreadResume): Removed.
- * include/quick-threads.h (JvPrivThreadInterrupt): Removed.
- (JvPrivThreadJoin): Likewise.
- (JvPrivThreadSuspend): Use JvFail.
- (JvPrivThreadResume): Likewise.
- (JvPrivThreadSuspend): Removed.
- (JvPrivThreadResume): Likewise.
- * include/posix-threads.h (JvPrivThreadInterrupt): Removed.
- (JvPrivThread_t): Removed join_mutex, join_cond.
- Use JvFail instead of sorry.
- (JvPrivThreadSuspend): Removed.
- (JvPrivThreadResume): Likewise.
-
-Tue Aug 25 12:50:13 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Observer.java: Rewritten
- * java/util/Enumeration.java: Rewritten
-
-Tue Aug 25 11:33:54 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/StringTokenizer.java: Rewritten
- * java/util/Stack.java: Added COPYRIGHT-TBD comment
- * java/util/Vector.java: Added COPYRIGHT-TBD comment
- * java/io/Serializable.java: Added COPYRIGHT-TBD comment
-
-Fri Aug 21 10:14:22 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-assert.h (JvFail): Call _Jv_Abort even when DEBUG
- not defined.
-
- * no-threads.cc (JvPrivThreadStart): Use JvAssert.
- Include java-assert.h.
- * include/java-assert.h: New file.
- * prims.cc (_Jv_Abort): New function.
- Include java-assert.h, not assert.h.
- (_Jv_MonitorExit): Use JvAssert.
- (resolveConstants): Likewise.
- (processClass): Likewise.
- (JvRunMain): Assert that method is found.
-
- * configure: Rebuilt.
- * configure.in: Check for test subdir.
- * Makefile.in: Rebuilt.
- * Makefile.am (SUBDIRS): Conditional on TESTSUBDIR.
-
- * prims.cc (JvRunMain): Use NORM_PRIORITY.
- * java/lang/Thread.h (Thread): Added NORM_PRIORITY.
-
- * prims.cc (resolveConstants): Removed unused variables.
- (processClass): Likewise.
-
- * include/quick-threads.h (JvPrivThreadCurrent): Use
- coop_getspecific.
- * quick-threads.cc (destroy_data): New function.
- (JvPrivInitThreads): Create key.
- (JvPrivThreadKey): New global.
- (JvPrivThreadStart): Use coop_setspecific.
-
- * include/quick-threads.h, include/posix-threads.h,
- include/no-threads.h, no-threads.cc, quick-threads.cc,
- posix-threads.cc, nogc.cc, boehm.cc: Added copyright comment.
-
-Thu Aug 20 10:57:30 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/no-threads.h (JvPrivThreadInitData): Don't set
- JvPrivOnlyThread.
-
- * include/quick-threads.h (JvPrivCondWait): coop function now
- takes microseconds.
- (JvPrivThreadJoin): Likewise.
-
- * java/lang/Thread.h (Thread): Updated declaration of
- JvPrivThreadStart.
- * include/quick-threads.h, include/posix-threads.h: Updated
- declaration of JvPrivThreadStart.
- * include/no-threads.h (JvPrivThreadStart): Changed definition
- into declaration.
- * no-threads.cc (JvPrivThreadStart): Removed `data' argument.
- * quick-threads.cc (JvPrivThreadStart): Removed `data' argument.
- * posix-threads.cc (JvPrivThreadStart): Removed `data' argument.
-
-Wed Aug 19 14:53:59 1998 Tom Tromey <tromey@cygnus.com>
-
- * quick-threads.cc (qthrow): New function.
- (JvPrivInitThreads): New function.
- (started): New global.
- (JvPrivThreadStart): Call coop_start if required.
- * include/quick-threads.h (JvPrivThreadCancel): Implement.
- (JvPrivThreadDestroy): Likewise.
- (JvPrivInitThreads): Removed.
- * include/posix-threads.h (JvPrivThreadCancel): Added error
- argument.
- * java/lang/natThread.cc (stop_): Pass exception to
- JvPrivThreadCancel.
-
-Tue Aug 18 12:58:22 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/javaprims.h (java::lang): Added
- IllegalArgumentException, IllegalThreadStateException, Math,
- NullPointerException, ThreadDeath.
- (java::util): Added Enumeration.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added java/lang/ThreadGroup.h.
-
- * java/lang/ThreadGroup.java (ThreadGroup): No-args constructor
- now public.
- (threadsv): Renamed from threads to avoid clash in C++ header.
- (groupsv): Likewise.
- * include/no-threads.h (JvPrivThreadStart): Removed.
- * no-threads.cc (JvPrivThreadStart): New function.
- * java/lang/Thread.java (Thread): New constructor for internal use.
- * java/lang/Thread.h (Thread): Declare JvRunMain as friend.
- (Thread): Declare constructor.
- * prims.cc (JvRunMain): Create the initial Thread and
- ThreadGroup.
- Include <java/lang/Thread.h> and <java/lang/ThreadGroup.h>.
- * posix-threads.cc (JvPrivThreadStart): Added `thread' argument.
- Removed `daemon' argument.
-
- * prims.cc (JvRunMain): Call _Jv_InitializeSyncMutex.
- * java/lang/Object.h (Object): Declare _Jv_InitializeSyncMutex as
- a friend.
- * java/lang/natObject.cc (_Jv_InitializeSyncMutex): New function.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (INCLUDES): Include THREADINCS.
-
- * configure: Rebuilt.
- * configure.in: Recognize `qt' as a threads package.
-
-Thu Aug 20 12:42:32 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Stack.java (pop): Null out topmost node for robustness.
-
-Thu Aug 20 12:30:30 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Stack.java: Rewritten.
- * java/util/Vector.java (isEmpty): Simplified expression.
-
-Wed Aug 19 18:02:19 1998 Warren Levy <warrenl@cygnus.com>
-
- * prims.cc (_Jv_NewObjectArray): Renamed from JvNewObjectArray.
- (soft_anewarray): Removed, _Jv_NewObjectArray used instead.
-
- * include/java-array.h (JvNewObjectArray): Created inline to
- _Jv_NewObjectArray.
-
- * java/lang/Class.h (_Jv_NewObjectArray): Renamed from
- JvNewObjectArray.
-
-Wed Aug 19 14:12:02 1998 Warren Levy <warrenl@cygnus.com>
-
- * java/util/Vector.java: Rewritten.
- * java/io/Serializable.java: Created.
-
-Fri Aug 14 10:31:54 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/Float.java (NEGATIVE_INFINITY, POSITIVE_INFINITY):
- Infinity is 1/0, not 1/1.
-
- * boehm.cc (JvPrivAllocArray): Use GC_generic_malloc.
-
- * configure: Rebuilt.
- * configure.in: Removed duplicate AC_ARG_WITH.
-
-Thu Aug 13 14:51:47 1998 Warren Levy <warrenl@cygnus.com>
-
- * prims.cc (_Jv_ThrowBadArrayIndex): Renamed from
- soft_badarrayindex.
- (_Jv_InitClass): Renamed from soft_initialise_class.
- (_Jv_NewMultiArray): Renamed from soft_multianewarray.
- (_Jv_CheckCast): Renamed from soft_checkcast.
- (_Jv_LookupInterfaceMethod): Renamed from soft_lookupinterfacemethod.
- (_Jv_CheckArrayStore): Renamed from soft_checkarraystore.
- (JvRunMain): Call JvInitClass instead of soft_initialise_class.
- * include/cni.h (JvInitClass): New function.
- (_Jv_InitClass): Renamed from soft_initialise_class.
-
-Wed Aug 12 10:07:04 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in (CXX): Don't set.
- * Makefile.in: Rebuilt.
- * Makefile.am (AM_CXXFLAGS): New macro.
-
- * Makefile.in: Rebuilt.
- * Makefile.am ($(javao_files) $(nat_files) prims.o boehm.o
- nogc.o): New target.
-
- * boehm.cc (mark_obj): Update PUSH_CONTENTS call for new Boehm
- GC.
- (mark_array): Likewise.
-
-Tue Aug 11 11:44:53 1998 Per Bothner <bothner@cygnus.com>
-
- * java/lang/Class.h (JvMethod): Removed some unused fields.
- (JvField.info): Removed unused idx union variant.
-
-Mon Aug 10 15:00:14 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (makeUtf8Const): Mask off high bits of hash value to
- match compiler.
-
-Mon Aug 3 16:13:54 1998 Per Bothner <bothner@cygnus.com>
-
- * configure.in, configure (CXX): Add -fvtable-thunks.
-
-Thu Jul 30 14:34:47 1998 Per Bothner <bothner@cygnus.com>
-
- * java/lang/Object.java (finalize): Move first.
- * java/lang/Object.h (_JvObjectPrefix): New dummy base class.
- (Object): Re-arrange order to match Object.java.
-
-Tue Jul 28 21:42:16 1998 Per Bothner <bothner@cygnus.com>
-
- * prims.cc (hashUtf8String): Fix - use new JavaSoft specification.
- * java/lang/natString.cc (hashChars): Likewise.
-
- * prims.cc (RuntimeClass): New macro.
- (JvRunMain): Do soft_initialise_class of RuntimeClass before exit.
-
-Mon Jul 27 22:20:10 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (AM_MAKEFLAGS): New macro.
-
-Fri Jul 24 11:21:24 1998 Tom Tromey <tromey@cygnus.com>
-
- * nogc.cc: Include <javaprims.h>.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (GJAVAH): gjavah no longer in java subdir.
-
-Thu Jul 23 11:38:40 1998 Tom Tromey <tromey@cygnus.com>
-
- * exception.cc (terminate): Removed.
- (unexpected): Removed.
-
- * configure: Rebuilt.
- * configure.in: Handle case where target subdir is ".".
-
- * configure: Rebuilt.
- * configure.in: Compute COMPPATH based on --with-target-subdir
- option. Added --with-target-subdir and --with-cross-host. Use
- --with-cross-host to determine when a cross compiler is in use.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (GJAVAH): Include COMPPATH.
- * configure: Rebuilt.
- * configure.in: Subst COMPPATH.
-
-Mon Jul 20 16:13:43 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (lockMutex): Removed.
- (unlockMutex): Likewise.
- (processClass): Lock the class using a JvSynchronize object.
-
-Fri Jul 17 11:27:48 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natString.cc (gc_calloc_fixed): Removed.
- (gc_free_fixed): Removed.
- (rehash): Use JvPrivAllocBytes, not gc_calloc_fixed; don't bother
- freeing old value of strhash.
-
- * exception.cc (_Jv_type_matcher): Cast first argument to
- _Jv_IsInstanceOf.
-
-Thu Jul 16 14:51:44 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-array.h (jstringArray): New type.
- * java/lang/natSystem.cc (setProperty): Removed.
- (initProperties): Directly call JvNewStringLatin1 for arguments.
- * java/util/natDate.cc: Include java/util/Date.h, not
- java-util.h.
- (setTime): Removed.
- * java/io/FileDescriptor.java (available): No longer static.
- * java/lang/natDouble.cc (Double): Removed class definition.
- * include/javaprims.h (java::lang::Number): Declare.
- (java::lang::NumberFormatException): Likewise.
- (java::io::FilenameFilter): Likewise.
- (java::lang::Character): Likewise.
- (java::lang::Error): Likewise.
- (java::lang::SecurityManager): Likewise.
- (java::util::Vector): Likewise.
- (java::io::FileNotFoundException): Likewise.
- (java::io::IOException): Likewise.
- (java::lang::NativeLang): Likewise.
- (java::lang::UnsatisfiedLinkError): Likewise.
- (java::util::StringTokenizer): Likewise.
- (java::io::InputStream, java::io::OutputStream): Likewise.
- (java::io::PrintStream, java::lang::SecurityException): Likewise.
- (java::util::Hashtable): Likewise.
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_headers): Added java/lang/Double.h,
- java/lang/Number.h, java/lang/System.h, java/lang/Runtime.h.
- (MOSTLYCLEANFILES): Added nat_headers.
- * include/jvm.h: Moved many defines, declarations, and functions
- to java/lang/Class.h.
- (struct JvSyncInfo): Moved to java/lang/Object.h.
- (UTF8_GET): Moved to java/lang/String.h.
-
-Wed Jul 15 09:02:31 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/io/io-defs.h: Don't include java-io.h.
- * include/java-io.h: Removed.
- * include/javaprims.h: Include java::io.
-
-Tue Jul 14 17:04:26 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-io.h (File): Removed
- (FileDescriptor): Likewise.
-
- * java/io/io-defs.h: Include java/io/File.h and
- java/io/FileDescriptor.h.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (GJAVAH): New macro.
- (.class.h): New rule.
- (SUFFIXES): Added .h.
- (nat_headers): New macro.
- ($(nat_headers)): New target.
- (BUILT_SOURCES): Added nat_headers.
-
- * include/java-util.h: Removed.
-
-Fri Jul 3 10:17:14 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-io.h: Changed to avoid java-lang.h.
- * java/lang/natThread.cc: Include java/lang/Thread.h, not
- java-lang.h.
- * java/lang/natSystem.cc: Include java/lang/System.h, not
- java-lang.h.
- * java/lang/natString.cc: Include java/lang/String.h, not
- java-lang.h.
- * java/lang/natRuntime.cc: Include java/lang/Runtime.h, not
- java-lang.h.
- * java/lang/natClass.cc: Include java/lang/Class.h, not
- java-lang.h.
- * java/lang/natDouble.cc: Include java/lang/Object.h, not
- java-lang.h.
- * java/lang/natObject.cc: Include java/lang/Object.h, not
- java-lang.h.
- * exception.cc: Don't include java-lang.h.
- * posix-threads.cc: Include java/lang/Thread.h, not java-lang.h.
- * no-threads.cc: Include java/lang/Thread.h, not java-lang.h.
- * nogc.cc: Don't include java-lang.h.
- * boehm.cc: Include java/lang/Class.h, not java-lang.h.
- * prims.cc (processClass): Don't use `init_type'; just cast to
- type directly.
- Include java/lang/Class.h and jvm.h, not java-lang.h.
- (JvAllocObject): Wrote single-argument version.
- (PrimClass): Inherit from Class.
- (initPrimClass): Removed.
- * include/java-lang.h: Removed.
- * include/jvm.h: Declare struct _dispatchTable.
- * include/cni.h: Don't declare _Jv_MonitorEnter,
- _Jv_MonitorExit, struct _dispatchTable.
- * include/javaprims.h: Moved all typedefs here, from cni.h.
- * java/lang/Class.h: New file.
- * include/java-array.h: New file.
- * java/lang/Object.h: New file.
-
- * prims.cc (classFromSig): Now static.
-
-Wed Jul 1 12:28:48 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/cni.h: Don't mention soft_new.
- * include/java-lang.h (Object): Don't mention soft_new. Mention
- _Jv_NewPrimArray, not newPrimArray.
- * prims.cc (soft_new): Removed.
- (_Jv_NewArray): Renamed from soft_newarray.
- (soft_anewarray): Use JvNewObjectArray.
- (newArray): Likewise.
- (newRefArray): Removed.
- (_Jv_NewPrimArray): Renamed from newPrimArray.
- (equalUtf8Consts): Now static.
- (soft_instanceof): Removed.
- * java/lang/natDouble.cc (doubleToString): Now static.
-
- * java/lang/natDouble.cc (java_lang_Double_doubleToLongBits,
- java_lang_Double_longBitsToDouble, java_lang_Double_toString):
- Removed.
-
-Tue Jun 30 10:54:57 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-lang.h: Renamed functions to _Jv_MonitorEnter and
- _Jv_MonitorExit.
- * include/cni.h: Renamed functions to _Jv_MonitorEnter and
- _Jv_MonitorExit.
- * include/no-threads.h (JvPrivMutexLock): Always return -1.
- (JvPrivMutexUnlock): Likewise.
- * prims.cc (_Jv_MonitorEnter): Renamed from soft_monitorenter.
- Return value now jint.
- (_Jv_MonitorExit): Renamed from soft_monitorexit. Return value
- now jint.
-
- * Makefile.in: Rebuilt.
- * Makefile.am: Don't allow `jV' names.
- (maintainer-check): Depend on libjava.a.
- * exception.cc (_Jv_eh_free): Renamed from __jV_eh_free.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (NM): New macro.
- (maintainer-check): New target.
-
- * include/posix-threads.h (_MIT_POSIX_THREADS): Removed.
-
- * configure: Rebuilt.
- * configure.in: Use --enable-threads, not --enable-gc. Fix
- documentation for --enable-threads. Changed option to work like
- identical option in gcc/configure.
-
-Mon Jun 29 10:44:29 1998 Tom Tromey <tromey@cygnus.com>
-
- * boehm.cc (mark_array): Use JvGetArrayLength.
-
-Thu Jun 25 11:56:21 1998 Per Bothner <bothner@cygnus.com>
-
- * exception.cc: New file (mostly written by Andrew MacLeod),
- exception handling support.
- * Makefile.am (libjava_a_SOURCES), Makefile.in: Add exception.cc.
- Remove -fexceptions - it is now the default.
-
- * prims.cc (JvIsInstanceOf): Renamed to _Jv_IsInstanceOf.
- (JvAllocObject): Renamed to _Jv_AllocObject.
- (soft_athrow): Removed. Replaced by _Jv_Throw in exception.cc.
- (loadClass): Renamed to _Jv_FindClass.
- * include/cni.h (JvIsInstanceOf, JvAllocObject). Make into
- inline methods that call _Jv_IsInstanceOf and _Jv_AllocObject.
- * include/java-lang.h (JvGetArrayLength): New CNI function.
- * include/jvm.h (_Jv_FindClass): Added declaration.
-
- * java/lang/natString.cc: More implementation if COMPACT_STRINGS.
-
-Wed Jun 24 16:41:30 1998 Per Bothner <bothner@cygnus.com>
-
- * java/lang/natClass.cc (getName): Add implementation.
- * java/lang/Throwable.java (printStackTrace): Handle missing backtrace.
-
-Tue Jun 23 15:56:24 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (.class.o): Added -fexceptions.
-
-Mon Jun 15 14:54:06 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in: Don't check for __nanosleep.
- * posix-threads.cc (nanosleep): Never define.
-
-Sun Jun 14 22:37:23 1998 Tom Tromey <tromey@cygnus.com>
-
- * posix-threads.cc (JvPrivCondWait): Fixed computation of
- timespec.
-
-Thu Jun 11 10:51:44 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natThread.cc (enumerate): Uncommented.
- * java/lang/Thread.java (interrupted_): Renamed from `interrupt_'.
- (interrupt): Call it.
-
-Wed Jun 10 15:57:16 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in (GCLIBS): Use `-lgc' so gjavac can recognize it.
-
-Mon Jun 8 12:04:11 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/no-threads.h (JvPrivThreadInterrupt): New method.
- * include/java-lang.h (Thread): Added `interrupted_' method.
- * java/lang/Thread.java (interrupted_): New method.
- * java/lang/natThread.cc (join): Possibly throw interrupted
- exception after join finishes.
- (interrupted_): New method.
- * posix-threads.cc (JvPrivThreadInitData): Initialize join_mutex,
- join_cond.
- (JvPrivThreadJoin): New function.
- (really_start): Notify all threads waiting for this thread.
- (struct starter): Added `data' member.
- (JvPrivThreadStart): Set it.
- * include/posix-threads.h (JvPrivThread_t): Added join_mutex,
- join_cond.
- (JvPrivThreadJoin): No longer inline.
- (JvPrivThreadInterrupt): New function.
-
- * include/no-threads.h (JvPrivThreadSleep): Removed.
- * posix-threads.cc (JvPrivThreadSleep): Removed.
-
-Fri Jun 5 13:51:25 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in (THREADOBJS): Initialize to no-threads.o in
- no-threads case.
- * posix-threads.cc (key): New global.
- (JvPrivInitThreads): New function.
- (really_start): Set thread-specific data to point to object.
- (JvPrivThreadStart): Added `daemon' argument.
- (JvPrivThreadSleep): Added `data' argument.
- * include/posix-threads.h (JvPrivInitThreads): Removed
- implementation.
- (JvPrivThreadCurrent): New function.
- * include/no-threads.h (JvPrivThreadInitData): Initialize
- JvPrivOnlyThread. Added `thread' argument.
- (JvPrivThreadCurrent): New function.
- (JvPrivThreadStart): Added `daemon' argument.
- * no-threads.cc: New file.
- * java/lang/natThread.cc (init_data): New function.
- (isAlive): Removed.
- (start): Set `alive' member.
- (stop_): Clear `alive' member.
- (destroy): Likewise.
- (currentThread): Implemented.
- (start): Pass `daemon' argument to JvPrivThreadStart.
- (sleep): Rewrote.
- * include/java-lang.h (Thread): Added `alive', `tsync' members.
- (Thread): Added `init_data' method.
- * java/lang/Thread.java (alive, data): New instance variables.
- (init_data): New private method.
- (isAlive): No longer native.
-
-Thu Jun 4 14:09:32 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-lang.h (JvRunMain): Declare.
- * include/jvm.h (JvPrivInitGC): Revert to C++ linkage.
- * prims.cc (JvRunMain): New function.
- (main_signature, main_name): New globals.
-
- * boehm.cc (mark_array): Use `elements' function and not
- operator[] on jarray.
-
- * posix-threads.cc: Include <config.h>. Define nanosleep if
- required.
-
- * configure: Rebuilt.
- * configure.in: Check for _nanosleep.
-
- * configure: Rebuilt.
- * configure.in: Check for pthread_mutexattr_settype.
-
- * include/cni.h (class JvSynchronize): New class.
- * java/lang/Thread.java (sleep): Throws InterruptedException.
- (join): Throws InterruptedException.
- (resume): Not native.
- (resume_): New method.
- (start): Now synchronized.
- (stop_): New method.
- (Thread): Synchronize when accessing threadNumber.
- (misc): Removed.
- * java/lang/natThread.cc (throwException): New macro.
- (sleep): Throw InterruptedException.
- (resume_): Renamed.
- (stop_): Renamed.
- * include/java-lang.h (Runtime): Added interrupted().
-
- * boehm.cc (call_finalizer): Correctly initialize jobj.
- * include/java-lang.h (Runtime): Added getRuntime() and exit().
-
- * java/lang/natSystem.cc (currentTimeMillis): Use #elif, not
- `#elseif'.
-
- * configure: Rebuilt.
- * configure.in: Added support for --disable-threads.
- * include/no-threads.h: New file.
-
- * acconfig.h (HAVE_PTHREAD_MUTEXATTR_INIT): New macro.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_libjava_a_SOURCES): Added posix-threads.cc.
- (libjava_a_DEPENDENCIES): Added THREADOBJS.
- (libjava_a_LIBADD): Added THREADOBJS.
- * configure: Rebuilt.
- * configure.in: Added --with-threads option.
- * posix-threads.cc: New file.
- * include/posix-threads.h: New file.
- * include/java-lang.h (Object): Added static member sync_mutex,
- member sync_info, method init_mutex.
- (struct JvSyncInfo): New struct.
- Include "java-threads.h".
- * prims.cc (soft_monitorenter): Wrote.
- (soft_monitorexit): Likewise.
- * java/lang/natObject.cc (init_mutex): New method.
- (notify): Wrote.
- (notifyAll): Wrote.
- (wait): Wrote.
- (sync_mutex): Define.
- Include "java-threads.h".
-
-Tue Jun 2 15:24:33 1998 Per Bothner <bothner@cygnus.com>
-
- * include/java-lang.h (JvPrivInitGC): Make extern "C".
- * include/jvm.h (JvConvertArgv, JvNewObjectArray): Likewise.
-
-Mon Jun 1 11:21:34 1998 Per Bothner <bothner@cygnus.com>
-
- * include/cni.h (jbyte etc): Re-define using __java_byte etc.
- Added extern "Java" in places to tell G++ Object is a "Java" type.
- Other minor renaming and fixes.
- * include/java-io.h (FileDescriptor): Add friend class declarations.
- G++ no longer allows non-Java types in method parameters and results
- of Java classes. Converted most offending methods to friends.
- * java/lang/natDouble.cc (Double::toString): Rename to doubleToString.
- * java/lang/natSystem.cc (setProperty): Make friend.
- * java/lang/natString.cc, include/java-lang.h (String): Rename
- methods findInternSlot to __JvStringFindSlot and __JvStringGetSlot.
- * include/java-lang.h (JArray): Remove getData and eoprator[].
- Add elements friend function instead.
- * java/lang/natSystem.cc (arraycopy): Use elements function.
- * java/io/natFileDescriptor.cc (read, write): Likewise.
- * include/java-lang.h (Object): Remove unused make method.
- (System::setProperty(char*,char*)): Turn into friend function.
- (Class): Rename newObject by JvAllocObject.
- * prims.cc: Update to use JvAllocObject, and elements.
-
- * java/lang/natDouble.cc: Fix double -> jdouble.
-
-Wed May 20 16:50:06 1998 Per Bothner <bothner@cygnus.com>
-
- * Makefile.am (INCLUDES): Add -Iinclude (to get config.h).
-
-Mon May 18 13:46:02 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/lang/natRuntime.cc (finalize_on_exit): Define.
- * include/java-lang.h (Runtime): finalize_on_exit and
- runFinalizersOnExit now static.
- * java/lang/Runtime.java (runFinalizersOnExit): Now static, to
- match JDK 1.2b3.
- (finalize_on_exit): Now static.
-
- * boehm.cc (mark_obj): Get class using getClass() method on
- object.
- (_dispatchTable): Removed.
-
-Mon May 11 15:26:52 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/io/natFileDescriptor.cc (open_read): Only call open if
- HAVE_OPEN defined.
- (open_write): Likewise.
-
- * Makefile.in: Rebuilt.
- * Makefile.am ($(nat_files)): Depend on config.h.
-
-Thu May 7 16:22:00 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (ObjectClass): Now a macro; updated for new class name
- mangling scheme.
- (StringClass): Likewise.
- (ClassClass): Likewise.
-
-Wed May 6 00:26:44 1998 Tom Tromey <tromey@cygnus.com>
-
- * java/io/natFileDescriptor.cc (available): Do nothing unless
- HAVE_SELECT defined.
- * java/util/natDate.cc (setTime): Conditional on
- HAVE_GETTIMEOFDAY.
- (toString): Conditional on HAVE_TIME.
- * aclocal.m4, configure: Rebuilt.
- * acinclude.m4: New file.
- * configure.in: Don't actually call AM_EXEEXT. Call
- AC_CANONICAL_HOST. Use LIB_AC_PROG_CC and LIB_AC_PROG_CXX. Added
- --with-target-subdir option. Check for select and open
- functions.
-
-Tue May 5 00:10:45 1998 Tom Tromey <tromey@cygnus.com>
-
- * boehm.cc (JvPrivRegisterFinalizer): Changed interface.
- (call_finalizer): Likewise.
- * nogc.cc (JvPrivRegisterFinalizer): Changed interface.
- * prims.cc (newObject): Pass actual method pointer to
- JvPrivRegisterFinalizer.
- * include/jvm.h (JvPrivFinalizerFunc): New typedef.
- (JvPrivRegisterFinalizer): Changed interface.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (MOSTLYCLEANFILES): New macro.
- (CLEANFILES): Removed javao_files.
-
-Fri May 1 22:52:24 1998 Tom Tromey <tromey@cygnus.com>
-
- * nogc.cc: New file.
- * Makefile.in: Rebuilt.
- * Makefile.am (INCLUDES): Use GCINCS, not paths to boehm-gc.
- (EXTRA_libjava_a_SOURCES): New macro.
- (libjava_a_SOURCES): Removed boehm.cc.
- (libjava_a_DEPENDENCIES): Added GCOBJS.
- (libjava_a_LIBADD): Likewise.
- * configure: Rebuilt.
- * configure.in: Added code for --enable-gc=TYPE.
-
-Thu Apr 30 14:54:00 1998 Tom Tromey <tromey@cygnus.com>
-
- * boehm.cc (mark_array): Don't further dereference pointer from
- array.
-
- * boehm.cc: Include <boehm-config.h>, not <private/config.h>.
- * Makefile.in: Rebuilt.
- * Makefile.am (INCLUDES): Removed -I for boehm-gc/include; added
- one for boehm-gc build directory.
-
-Wed Apr 29 09:45:19 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/java-lang.h (finalize_on_exit): New instance variable in
- java::lang::Runtime.
- (runFinalizersOnExit): New method.
- * java/lang/Runtime.java (finalize_on_exit): New instance
- variable.
- (runAllFinalizers_): New private method.
- (runFinalizersOnExit): New method.
- * boehm.cc (JvPrivRunFinalizers): New function.
- (JvPrivRunAllFinalizers): Likewise.
- (JvPrivRunGC): Likewise.
- * java/lang/natRuntime.cc: Include "jvm.h".
- (gc): Call JvPrivRunGC.
- (runFinalization): Call JvPrivRunFinalizers.
- (runFinalizersOnExit): New method.
- (exit_): Call JvPrivRunAllFinalizers if required.
- * include/jvm.h: Declare JvPrivRunFinalizers,
- JvPrivRunAllFinalizers, JvPrivRunGC.
-
-Tue Apr 28 15:06:50 1998 Tom Tromey <tromey@cygnus.com>
-
- * boehm.cc (JvPrivRegisterFinalizer): New function.
- (call_finalizer): Likewise.
- * include/jvm.h: Declare JvPrivRegisterFinalizer.
- * prims.cc (finalize_name): New global.
- (newObject): Just call other newObject.
- (newObject): Register finalizer if it exists.
-
-Mon Apr 27 12:47:03 1998 Tom Tromey <tromey@cygnus.com>
-
- * prims.cc (gc_malloc): Removed.
- (makeUtf8Const): Use JvPrivAllocBytes.
- (lookupArray): Likewise.
- (newPrimArray): Likewise.
- (JvNewObjectArray): Use JvPrivAllocArray.
- (newObject): Use JvPrivAllocObj.
- (newObject): Likewise.
- Changed Method -> JvMethod everywhere.
- Changed Field -> JvField everywhere.
- * include/java-lang.h (Object): Changed type of `fields' to
- JvField*.
- (jmethodID, jfieldID): New typedefs.
- (Object): JvGetFirstInstanceField and JvNumInstanceFields now
- friends.
- * include/jvm.h (struct JvMethod): Renamed from Method, and moved
- from java-lang.h.
- (METHOD_NATIVECODE): Moved from java-lang.h.
- (class JvField): New class.
- (JvGetFirstInstanceField): New function.
- (JvFieldIsRef): Likewise.
- (JvGetObjectField): Likewise.
- (JvNumInstanceFields): Likewise.
-
-Thu Apr 23 16:42:11 1998 Tom Tromey <tromey@cygnus.com>
-
- * boehm.cc: New file.
- * Makefile.in: Rebuilt.
- * Makefile.am (libjava_a_SOURCES): Added boehm.cc.
- (INCLUDES): Added -I options to find boehm-gc files.
-
-Wed Apr 29 15:11:37 1998 Tom Tromey <tromey@cygnus.com>
-
- * configure: Rebuilt.
- * configure.in (CXX): Put -fno-rtti here and not in CXXFLAGS.
-
- * Makefile.in: Rebuilt.
- * Makefile.am (nat_files): New macro.
- (libjava_a_DEPENDENCIES): Use it.
- (libjava_a_LIBADD): Likewise.
- ($(nat_files)): New static pattern rule.
- (class_files): Run separate find to find .class files.
- (javao_files): Compute based on class_files.
- (BUILT_SOURCES): New macro.
-
-Thu Apr 23 16:42:11 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.am (java_files): New macro.
- (class_files): Likewise.
- (javao_files): Likewise.
- (libjava_a_DEPENDENCIES): Include $(javao_files).
- (libjava_a_LIBADD): Likewise.
- (classes.stamp): Depend on $(java_files); only recompile changed
- files.
- (here): New macro.
- (CLEANFILES): Don't run find; use macros. Don't mention
- libjava.a.
- (.class.o): New target.
- (compiled.stamp): Removed.
-
-Thu Apr 23 14:17:43 1998 Per Bothner <bothner@cygnus.com>
-
- * java/io/{Reader,InputStreamReader,FileReader,BufferedReader,
- LineNumberReader}>java: Newly-implemented standard classes.
-
-Thu Apr 23 14:02:04 1998 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (compiled.stamp): Use $(CC), not $(GCC).
-
- * Makefile.in: Rebuilt.
- * Makefile.am (hack): New macro.
- (libjava_a_LIBADD): Use $(hack) to work around automake oddity.
-
-Wed Apr 22 16:49:57 1998 Tom Tromey <tromey@cygnus.com>
-
- * include/config.h.in: New file.
- * include/config.h: Removed.
- * acconfig.h: New file.
- * Makefile.am (AR, ARFLAGS, JAVAC, GCC, CXX, CXXFLAGS): Removed.
- (lib_LIBRARIES, libjava_a_SOURCES, libjava_a_DEPENDENCIES,
- libjava_a_LIBADD): New macros.
- (INCLUDES): New macro.
- (prims.o): Removed.
- (.cc.o): Removed.
- (SUFFIXES): Removed.
- (all): Removed.
- (libjava.a): Removed.
-
- * configure: Rebuilt.
- * configure.in: Call AC_PROG_CC, AC_PROG_CXX, AC_PROG_RANLIB.
- Look for headers and functions we require. Create
- include/config.h.
-
-Mon Apr 20 22:25:00 1998 Per Bothner <bothner@cygnus.com>
-
- * prims.cc (instance_class, instanceof, JvIsInstanceOf, JvConvertArgv,
- soft_instanceof, newObject, JbNewObjectArray, soft_checkcast,
- soft_lookupinterfacemethod): New functions.
- (PrimClass): Actually initialize the primitive classes.
- (Utf8Const2JavaString): Moved to java/lang/natString.cc.
-
- * include/java-util.h: Removed java::util definition.
- * include/cni.h: Moved java::util here and added Properties.
- Added more function prototypes.
- * include/java-lang.h: Added mroe methods and friend declarations.
- * include/config.h (HAVE_GETTIMEOFDAY, HAVE_TIME): Added.
- * include/jvm.h (strLengthUtf8): Add declaration.
-
- * java/lang/{Integer,Long,Boolean,Character,Float,Double}.java (TYPE):
- New static field.
- * java/lang/{Byte,Short,Void}.java: New classes.
- * java/lang/Character.java (isJavaIdentifierStart,
- JavaIdentifierPart): New static methods.
- * java/lang/Number.java (byteValue, shortValue): New methods.
-
- * java/lang/String.java (intern, hashCode): Make native.
- * java/lang/natString.cc: New file. Handle the string pool.
- * Makefile.am: Build natString.o. Use CXXFLAGS.
-
- * java/lang/Class.java (isArray, isPrimitive, getComponentType,
- isInstance, isAssignableFrom), java/lang/natClass.cc: New methods.
- * java/lang/Throwable.java (<init>): Don't fillInStackTrace yet.
- * java/lang/System.java (setProperty): New private method.
- (initProperties): Take argument, and make native.
- * java/lang/natSystem.cc: Implement (preliminary) initProperties.
- (currentTimeMillis): Make more robust.
-
- * java/io/{Writer,PrintWriter,OutputStreamWriter}.java: New classes.
- * java/io/UnsupportedEncodingException.java: New exception class.
-
- * java/io/DataInputStream.java: Don't use a PushbackInputStream.
- * java/io/FilterOutputStream.java: Add missing 'extends OutputStream'.
-
-Fri Apr 10 11:52:10 1998 Per Bothner <bothner@cygnus.com>
-
- * Makefile.am (CXXFLAGS, JC1FLAGS): New macro.
- * prims.cc: Added bunch of stuff.
- * include/cni.h: Added various definitions.
- * include/java-lang.h: Added Method, various friends, some macros.
-
- * include/config.h: Added HAVA_MEMMOVE and HAVE_MEMCPY.
- * java/lang/System.java (arraycopy): Make native.
-
-Sun Apr 5 23:58:51 1998 Per Bothner <bothner@cygnus.com>
-
- * java/lang/{netObject.cc,natClass.cc,natDouble.cc,natRuntime.cc,
- natSystem.cc,natThread.cc}: Native (C++) methods for various classes.
- * java/lang/ClassLoader.java (defineClass): Now takes extra argument.
- * java/lang/Double.java (toString, doubleToLongBits, longBitsToDouble):
- Make native.
- * java/lang/Runtime.java: Declare methods as native instead of
- using NativeLang.
- * java/lang/SecurityManager.java (getClassContext): Just throw Error.
- * java/lang/System.java: Comment out some stuff, for now.
- * java/lang/Thread.java: Re-write. Use native methods.
- * java/lang/NativeLang.java: Remove most of it.
-
- * java/util/natDate.cc: Native (C++) methods for Date.
- * java/util/{Calendar.java,GregorianCalendar.java}: New classes.
- * java/util/Date.java: Complete re-write.
-
- * java/io/io-defs.h: New header file.
- * java/io/FileDescriptor.java: Add a bunch of private methods,
- mostly moved from NativeIO.java and natNativeIO.cc.
- * java/io/{natFile.cc,java/io/natFileDescriptor.cc}: New native code.
- * java/io/File.java: Use new code.
- * java/io/{FileInputStream.java.FileOutputStream.java,
- RandomAccessFile.java}: Use new private FileDescriptor methods.
- * java/io/NativeIO.java: Removed, no longer used.
-
- * java/io/StreamTokenizer.java (numericChars): Make char array.
-
- * include/*.h: Various header files used by the C++ native code.
-
- * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in:
- New autoconf+automake-based setup.
- * prims.cc: New file for Java "primitives".
-
diff --git a/libjava/LIBGCJ_LICENSE b/libjava/LIBGCJ_LICENSE
deleted file mode 100644
index 3785700f91b..00000000000
--- a/libjava/LIBGCJ_LICENSE
+++ /dev/null
@@ -1,11 +0,0 @@
-March 2, 1999
-
-The libgcj library is licensed under the terms of the GNU Library
-General Public License.
-
-You should have received a copy of the GNU Library General Public
-License along with libjava; see the file COPYING.LIB. If not, write
-to the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-MA 02111-1307, USA.
-
-
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
deleted file mode 100644
index 82665dd7ba8..00000000000
--- a/libjava/Makefile.am
+++ /dev/null
@@ -1,807 +0,0 @@
-## Process this file with automake to produce Makefile.in.
-
-AUTOMAKE_OPTIONS = foreign no-installinfo
-
-if TESTSUBDIR
-SUBDIRS = testsuite
-endif
-
-## ################################################################
-
-##
-## What gets installed, and where.
-##
-
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-
-toolexeclib_LTLIBRARIES = libgcj.la
-toolexeclib_DATA = libgcj.spec
-data_DATA = libgcj.zip
-
-## For now, only on native systems.
-if NATIVE
-bin_PROGRAMS = jv-convert
-endif
-
-## ################################################################
-
-##
-## Compilers and compilation flags.
-##
-
-## CANADIAN is a misnomer. Really we check to see if we must pick up
-## the tools from the path.
-if CANADIAN
-if NULL_TARGET
-## In this case, gcj is found outside the build tree. However, zip is
-## found in the build tree.
-GCJ = gcj
-ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
-else
-GCJ = $(target_alias)-gcj
-ZIP = zip
-endif
-GCJH = gcjh
-else # CANADIAN
-## JAVAC is set to `$(GCJ) -C'. However, JAVAC is run from the srcdir
-## (due to problems running it in builddir). In this case the obvious
-## definition of GCJ won't work; instead we resort to this ugly
-## definition that gives us absolute paths.
-expanded = `cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd`
-GCJ = $(expanded)/gcj$(EXEEXT) -B$(expanded)/
-GCJH = $(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
-ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
-endif # CANADIAN
-
-GCJCOMPILE = CLASSPATH=$(here) $(LIBTOOL) --mode=compile $(GCJ) -fassume-compiled $(JC1FLAGS) -c
-
-JAVAC = $(GCJ) -C
-
-EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
-
-WARNINGS = -W -Wall
-AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ $(WARNINGS)
-if USING_GCC
-AM_CFLAGS = @LIBGCJ_CFLAGS@ $(WARNINGS)
-else
-AM_CFLAGS = @LIBGCJ_CFLAGS@
-endif
-
-JCFLAGS = -g
-JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
-
-INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) $(EH_COMMON_INCLUDE)
-
-
-## ################################################################
-
-##
-## How to build libgcj.a and libgcj.zip
-##
-
-## Objects from C++ sources in subdirs.
-nat_files = $(nat_source_files:.cc=.lo)
-## Objects from C sources in subdirs.
-c_files = $(c_source_files:.c=.lo)
-## Objects from Java sources in subdirs.
-javao_files = $(java_source_files:.java=.lo) \
- $(built_java_source_files:.java=.lo)
-
-libgcj_la_SOURCES = prims.cc jni.cc exception.cc
-EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
- $(c_source_files) $(java_source_files) $(built_java_source_files)
-libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
- $(c_files) $(GCOBJS) $(THREADOBJS)
-libgcj_la_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
- $(THREADOBJS)
-libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
-## The mysterious backslash is consumed by make.
- -version-info `grep -v '^\#' $(srcdir)/libtool-version`
-
-## Make the .class files depend on the .zip file. This seems
-## backwards, but is right. This doesn't catch all the .class files,
-## but that is ok, because the ones it fails to pick up are defined in
-## a .java file with some other class which is caught. Note that we
-## only want to create headers for those files which do not have
-## hand-maintained headers.
-$(java_source_files:.java=.class): libgcj.zip
-
-## FIXME: this isn't really correct.
-$(built_java_source_files:.java=.class): $(built_java_source_files)
-## This little nastiness is here so that the backquoted stuff in the
-## GCJ definition can be correctly expanded, if required.
- javac="$(JAVAC)"; \
- $$javac $(JCFLAGS) -classpath $(here):`cd $(srcdir) && /bin/pwd` \
- -d $(here) $?
-
-## We have the zip file depend on the java sources and not the class
-## files, because we don't know the names of all the class files.
-## FIXME: this method fails in a peculiar case: if libgcj.zip is
-## up-to-date, and foo.class is removed, and bar.java is touched, then
-## `make libgcj.zip' will not rebuilt foo.class. That's because
-## libgcj.zip is not out-of-date with respect to foo.java.
-libgcj.zip: $(java_source_files)
-## FIXME: this ought to depend on built_java_source_files, but right
-## now it can't. Ugly.
- $(MAKE) $(built_java_source_files:.java=.class)
-## This little nastiness is here so that the backquoted stuff in the
-## GCJ definition can be correctly expanded, if required.
- javac="$(JAVAC)"; cd $(srcdir); \
- $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) \
- $(subst $(srcdir)/,,$?)
- -@rm -f libgcj.zip
-## Note that we explicitly want to include directory information.
- $(ZIP) -r libgcj java gnu -n .class -i '*.class' -i '*/'
-
-MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files)
-CLEANFILES = libgcj.zip
-
-clean-local:
-## We just remove every .class file that was created.
- find . -name '*.class' -print | xargs rm -f
-
-SUFFIXES = .class .java .h
-
-.class.lo:
- $(GCJCOMPILE) -o $@ $<
-
-.java.lo:
- $(GCJCOMPILE) -o $@ $<
-
-## This is GNU make specific. For the .o files in subdirs, use a
-## special rule. The standard automake rule can't be overridden (this
-## is a bug in automake), and it also won't put the .o files into
-## subdirs. FIXME.
-$(nat_files): %.lo: %.cc
- $(LTCXXCOMPILE) -c -o $@ $<
-
-$(nat_files) $(GCOBJS) $(THREADOBJS) $(libgcj_la_OBJECTS): \
- include/config.h include/java-signal.h $(nat_headers)
-
-## FIXME: GNU make.
-$(c_files): %.lo: %.c
- $(LTCOMPILE) -c -o $@ $<
-
-$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
-
-## FIXME: GNU make.
-$(javao_files): %.lo: %.java
- $(GCJCOMPILE) -o $@ $<
-
-## ################################################################
-
-##
-## How to build header files.
-##
-
-.class.h:
-## FIXME: GNU make specific.
- $(GCJH) -classpath $(top_builddir) $(basename $<)
-
-## Header files used when compiling some of the nat* files.
-nat_headers = $(ordinary_java_source_files:.java=.h) \
- $(built_java_source_files:.java=.h)
-
-$(nat_headers): libgcj.zip
-
-## Our internal main program needs to be able to create a FirstThread.
-FTFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
-java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) -friend '$(FTFRIEND);' \
- $(basename $<)
-
-## ThreadGroup has a special constructor that is used when creating
-## the first ThreadGroup. We need to expose this to the main program.
-TGFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
-java/lang/ThreadGroup.h: java/lang/ThreadGroup.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) -friend '$(TGFRIEND);' \
- $(basename $<)
-
-java/lang/String.h: java/lang/String.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) \
- -friend 'jchar* _Jv_GetStringChars (jstring str);' \
- -friend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \
- -friend 'jstring* _Jv_StringGetSlot (jstring);' \
- -friend 'jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str);' \
- -friend 'jstring _Jv_NewStringLatin1 (const char*, jsize);' \
- -friend 'jstring _Jv_AllocString (jsize);' \
- $(basename $<)
-
-java/lang/reflect/Field.h: java/lang/reflect/Field.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) \
- -friend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \
- -friend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID);' \
- -friend 'java::lang::Class;' \
- $(basename $<)
-
-java/lang/reflect/Method.h: java/lang/reflect/Method.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) \
- -friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
- -friend 'java::lang::Class;' \
- $(basename $<)
-
-
-## ################################################################
-
-##
-## Additional `check' targets for maintainer convenience.
-##
-
-## This is used for maintainer-check. FIXME: should set from
-## configure using AC_CHECK_TOOL.
-NM = nm
-
-## Try to make sure our library doesn't stomp the namespace.
-maintainer-check: libgcj.la
- $(NM) .libs/libgcj.a | grep ' T ' \
-## Anything with `4java' is assumed to be from .java source.
- | grep -v '4java' \
-## Anything with Jv is ok.
- | grep -v 'Jv' \
-## `terminate' and `unexpected' are part of the runtime.
- | grep -v 'terminate__Fv' | grep -v 'unexpected__Fv'
-
-## This rule can be used to see if the headers are more or less
-## correct.
-header-check: libgcj.zip $(nat_headers)
- rm -f htest.cc; \
- for h in $(nat_headers); do \
- echo "#include \"$$h\"" >> htest.cc; \
- done; \
- $(CXXCOMPILE) -fsyntax-only htest.cc
-
-
-## ################################################################
-
-##
-## The `jv-convert' program and code to rebuild the converter header
-## files.
-##
-
-## it only makes sense to try to rebuild the JIS .h files on native
-## systems.
-if NATIVE
-if MAINTAINER_MODE
-noinst_PROGRAMS = gen-from-JIS
-endif
-endif
-
-CONVERT_DIR = gnu/gcj/convert
-
-jv_convert_SOURCES =
-EXTRA_jv_convert_SOURCES = $(convert_source_files)
-## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We
-## need this because we are explicitly using libtool to link using the
-## `.la' file.
-jv_convert_LDFLAGS = --main=gnu.gcj.convert.Convert \
- -rpath $(toolexeclibdir)
-jv_convert_LINK = $(LIBTOOL) --mode=link $(GCJ) $(JC1FLAGS) $(LDFLAGS) \
- -o jv-convert
-## We explicitly link in the libraries we need. This way we don't
-## need -nodefaultlibs, so we can still rely on gcj picking up the
-## system libraries we need (via the specs file).
-## We need the -L so that gcj can find libgcj with `-lgcj'.
-## FIXME: should be _libs on some systems.
-jv_convert_LDADD = $(convert_source_files:.java=.lo) libgcj.la \
- $(GCLIBS) $(THREADLIBS) $(ZLIBS) -L$(here)/.libs
-## Depend on the spec file to make sure it is up to date before
-## linking this program.
-jv_convert_DEPENDENCIES = $(convert_source_files:.java=.lo) \
- $(GCDEPS) $(THREADDEPS) $(ZDEPS) libgcj.la libgcj.spec
-
-# The Unicode consortium does not permit re-distributing the file JIS0201.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0201.h: # $(CONVERT_DIR)/JIS0201.TXT
- echo '/* This file is automatically generated from Unicode tables */' > tmp-0201; \
- tr -d '\r' <$(CONVERT_DIR)/JIS0201.TXT \
- | sed -n -e 's|\(0x..\).*\(0x....\).*#\(.*\)$$|MAP(0x00, \1, \2) /*\3 */|p' \
- >> tmp-0201; \
- mv tmp-0201 $(srcdir)/$(CONVERT_DIR)/JIS0201.h
-
-# The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0208.h: # $(CONVERT_DIR)/JIS0208.TXT
- echo '/* This file is automatically generated from Unicode tables */' > tmp-0208; \
- tr -d '\r' <$(CONVERT_DIR)/JIS0208.TXT \
- | sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\2, 0x\3, \4) /*\5 */|p' \
- >> tmp-0208; \
- mv tmp-0208 $(srcdir)/$(CONVERT_DIR)/JIS0208.h
-
-# The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0212.h: # $(CONVERT_DIR)/JIS0212.TXT
- echo '/* This file is automatically generated from Unicode tables */' > tmp-0212; \
- tr -d '\r' <$(CONVERT_DIR)/JIS0212.TXT \
- | sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3) /*\4 */|p' \
- >> tmp-0212; \
- mv tmp-0212 $(srcdir)/$(CONVERT_DIR)/JIS0212.h
-
-
-gen_from_JIS_SOURCES =
-EXTRA_gen_from_JIS_SOURCES = $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
- $(srcdir)/$(CONVERT_DIR)/make-trie.c \
- $(srcdir)/$(CONVERT_DIR)/JIS0201.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0212.h
-gen_from_JIS_LDADD = $(CONVERT_DIR)/gen-from-JIS.o $(CONVERT_DIR)/make-trie.o
-gen_from_JIS_DEPENDENCIES = $(CONVERT_DIR)/gen-from-JIS.o \
- $(CONVERT_DIR)/make-trie.o
-
-$(CONVERT_DIR)/gen-from-JIS.o: $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
- $(srcdir)/$(CONVERT_DIR)/JIS0201.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0212.h
- $(COMPILE) -c -o $(CONVERT_DIR)/gen-from-JIS.o \
- $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c
-
-$(CONVERT_DIR)/make-trie.o: $(srcdir)/$(CONVERT_DIR)/make-trie.c
- $(COMPILE) -c -o $(CONVERT_DIR)/make-trie.o \
- $(srcdir)/$(CONVERT_DIR)/make-trie.c
-
-if NATIVE
-if MAINTAINER_MODE
-
-$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
- ./gen-from-JIS JIS0208>$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc
-
-$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
- ./gen-from-JIS JIS0212>$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc
-
-$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc: ./gen-from-JIS$(EXEEXT)
- ./gen-from-JIS toJIS>$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc
-
-endif # MAINTAINER_MODE
-endif # NATIVE
-
-
-## ################################################################
-
-##
-## This section lists all the source files we care about.
-##
-
-convert_source_files = \
-gnu/gcj/convert/BytesToUnicode.java \
-gnu/gcj/convert/Convert.java \
-gnu/gcj/convert/Input_8859_1.java \
-gnu/gcj/convert/Input_EUCJIS.java \
-gnu/gcj/convert/Input_JavaSrc.java \
-gnu/gcj/convert/Input_SJIS.java \
-gnu/gcj/convert/Input_UTF8.java \
-gnu/gcj/convert/Output_8859_1.java \
-gnu/gcj/convert/Output_EUCJIS.java \
-gnu/gcj/convert/Output_JavaSrc.java \
-gnu/gcj/convert/Output_SJIS.java \
-gnu/gcj/convert/Output_UTF8.java \
-gnu/gcj/convert/UnicodeToBytes.java
-
-## List of all .java files for which the .h file is maintained by
-## hand.
-special_java_source_files = java/lang/Class.java java/lang/Object.java
-
-awt_java_source_files = \
-java/awt/AWTEvent.java \
-java/awt/BorderLayout.java \
-java/awt/Component.java \
-java/awt/Container.java \
-java/awt/Dimension.java \
-java/awt/Event.java \
-java/awt/Font.java \
-java/awt/Frame.java \
-java/awt/LayoutManager.java \
-java/awt/LayoutManager2.java \
-java/awt/Menu.java \
-java/awt/MenuBar.java \
-java/awt/MenuItem.java \
-java/awt/MenuComponent.java \
-java/awt/MenuContainer.java \
-java/awt/Point.java \
-java/awt/Rectangle.java \
-java/awt/Shape.java \
-java/awt/TextArea.java \
-java/awt/TextComponent.java \
-java/awt/Toolkit.java \
-java/awt/Window.java \
-java/awt/event/ActionEvent.java \
-java/awt/event/ActionListener.java \
-java/awt/event/ComponentEvent.java \
-java/awt/event/InputEvent.java \
-java/awt/event/KeyEvent.java \
-java/awt/event/KeyListener.java \
-java/awt/event/TextEvent.java \
-java/awt/event/TextListener.java \
-java/awt/event/WindowAdapter.java \
-java/awt/event/WindowEvent.java \
-java/awt/event/WindowListener.java \
-java/awt/geom/Point2D.java \
-java/awt/geom/Dimension2D.java \
-java/awt/peer/ComponentPeer.java \
-java/awt/peer/ContainerPeer.java \
-java/awt/peer/FramePeer.java \
-java/awt/peer/WindowPeer.java
-
-# $(awt_java_source_files)
-
-## Java files which are created by configure and thus are in the build
-## directory.
-built_java_source_files = java/lang/ConcreteProcess.java
-
-## List of all .java files to be compiled. Please keep this list
-## alphabetical. Please put files from gnu/gcj/convert into
-## convert_source_files. If the .java file has a hand-maintained
-## header, please list it in special_java_source_files.
-ordinary_java_source_files = $(convert_source_files) \
-gnu/gcj/text/BaseBreakIterator.java \
-gnu/gcj/text/CharacterBreakIterator.java \
-gnu/gcj/text/LineBreakIterator.java \
-gnu/gcj/text/LocaleData_en.java \
-gnu/gcj/text/LocaleData_en_US.java \
-gnu/gcj/text/SentenceBreakIterator.java \
-gnu/gcj/text/WordBreakIterator.java \
-gnu/gcj/protocol/file/Connection.java \
-gnu/gcj/protocol/file/Handler.java \
-gnu/gcj/protocol/http/Connection.java \
-gnu/gcj/protocol/http/Handler.java \
-gnu/gcj/RawData.java \
-gnu/gcj/util/EnumerationChain.java \
-java/io/BufferedInputStream.java \
-java/io/BufferedOutputStream.java \
-java/io/BufferedReader.java \
-java/io/BufferedWriter.java \
-java/io/ByteArrayInputStream.java \
-java/io/ByteArrayOutputStream.java \
-java/io/CharArrayReader.java \
-java/io/CharArrayWriter.java \
-java/io/CharConversionException.java \
-java/io/DataInput.java \
-java/io/DataInputStream.java \
-java/io/DataOutput.java \
-java/io/DataOutputStream.java \
-java/io/EOFException.java \
-java/io/File.java \
-java/io/FileDescriptor.java \
-java/io/FileInputStream.java \
-java/io/FileNotFoundException.java \
-java/io/FileOutputStream.java \
-java/io/FileReader.java \
-java/io/FileWriter.java \
-java/io/FilenameFilter.java \
-java/io/FilterInputStream.java \
-java/io/FilterOutputStream.java \
-java/io/FilterReader.java \
-java/io/FilterWriter.java \
-java/io/IOException.java \
-java/io/InputStream.java \
-java/io/InputStreamReader.java \
-java/io/InterruptedIOException.java \
-java/io/LineNumberInputStream.java \
-java/io/LineNumberReader.java \
-java/io/OutputStream.java \
-java/io/OutputStreamWriter.java \
-java/io/PipedInputStream.java \
-java/io/PipedOutputStream.java \
-java/io/PipedReader.java \
-java/io/PipedWriter.java \
-java/io/PrintStream.java \
-java/io/PrintWriter.java \
-java/io/PushbackInputStream.java \
-java/io/PushbackReader.java \
-java/io/RandomAccessFile.java \
-java/io/Reader.java \
-java/io/SequenceInputStream.java \
-java/io/Serializable.java \
-java/io/StreamTokenizer.java \
-java/io/StringBufferInputStream.java \
-java/io/StringReader.java \
-java/io/StringWriter.java \
-java/io/SyncFailedException.java \
-java/io/UTFDataFormatException.java \
-java/io/UnsupportedEncodingException.java \
-java/io/Writer.java \
-java/lang/AbstractMethodError.java \
-java/lang/ArithmeticException.java \
-java/lang/ArrayIndexOutOfBoundsException.java \
-java/lang/ArrayStoreException.java \
-java/lang/Boolean.java \
-java/lang/Byte.java \
-java/lang/Character.java \
-java/lang/ClassCastException.java \
-java/lang/ClassCircularityError.java \
-java/lang/ClassFormatError.java \
-java/lang/ClassLoader.java \
-java/lang/ClassNotFoundException.java \
-java/lang/CloneNotSupportedException.java \
-java/lang/Cloneable.java \
-java/lang/Comparable.java \
-java/lang/Compiler.java \
-java/lang/Double.java \
-java/lang/Error.java \
-java/lang/Exception.java \
-java/lang/ExceptionInInitializerError.java \
-java/lang/FirstThread.java \
-java/lang/Float.java \
-java/lang/IllegalAccessError.java \
-java/lang/IllegalAccessException.java \
-java/lang/IllegalArgumentException.java \
-java/lang/IllegalMonitorStateException.java \
-java/lang/IllegalStateException.java \
-java/lang/IllegalThreadStateException.java \
-java/lang/IncompatibleClassChangeError.java \
-java/lang/IndexOutOfBoundsException.java \
-java/lang/InstantiationError.java \
-java/lang/InstantiationException.java \
-java/lang/Integer.java \
-java/lang/InternalError.java \
-java/lang/InterruptedException.java \
-java/lang/LinkageError.java \
-java/lang/Long.java \
-java/lang/Math.java \
-java/lang/NegativeArraySizeException.java \
-java/lang/NoClassDefFoundError.java \
-java/lang/NoSuchFieldError.java \
-java/lang/NoSuchFieldException.java \
-java/lang/NoSuchMethodError.java \
-java/lang/NoSuchMethodException.java \
-java/lang/NullPointerException.java \
-java/lang/Number.java \
-java/lang/NumberFormatException.java \
-java/lang/OutOfMemoryError.java \
-java/lang/Process.java \
-java/lang/Runnable.java \
-java/lang/Runtime.java \
-java/lang/RuntimeException.java \
-java/lang/SecurityException.java \
-java/lang/SecurityManager.java \
-java/lang/Short.java \
-java/lang/StackOverflowError.java \
-java/lang/String.java \
-java/lang/StringBuffer.java \
-java/lang/StringIndexOutOfBoundsException.java \
-java/lang/System.java \
-java/lang/Thread.java \
-java/lang/ThreadDeath.java \
-java/lang/ThreadGroup.java \
-java/lang/Throwable.java \
-java/lang/UnknownError.java \
-java/lang/UnsatisfiedLinkError.java \
-java/lang/UnsupportedOperationException.java \
-java/lang/VerifyError.java \
-java/lang/VirtualMachineError.java \
-java/lang/Void.java \
-java/lang/reflect/AccessibleObject.java \
-java/lang/reflect/Array.java \
-java/lang/reflect/Constructor.java \
-java/lang/reflect/Field.java \
-java/lang/reflect/InvocationTargetException.java \
-java/lang/reflect/Member.java \
-java/lang/reflect/Method.java \
-java/lang/reflect/Modifier.java \
-java/net/BindException.java \
-java/net/ConnectException.java \
-java/net/ContentHandler.java \
-java/net/ContentHandlerFactory.java \
-java/net/FileNameMap.java \
-java/net/HttpURLConnection.java \
-java/net/InetAddress.java \
-java/net/MalformedURLException.java \
-java/net/NoRouteToHostException.java \
-java/net/PlainSocketImpl.java \
-java/net/ProtocolException.java \
-java/net/ServerSocket.java \
-java/net/Socket.java \
-java/net/SocketException.java \
-java/net/SocketImpl.java \
-java/net/SocketImplFactory.java \
-java/net/URL.java \
-java/net/URLConnection.java \
-java/net/URLDecoder.java \
-java/net/URLEncoder.java \
-java/net/URLStreamHandler.java \
-java/net/URLStreamHandlerFactory.java \
-java/net/UnknownHostException.java \
-java/net/UnknownServiceException.java \
-java/security/MessageDigest.java \
-java/security/NoSuchAlgorithmException.java \
-java/text/BreakIterator.java \
-java/text/CharacterIterator.java \
-java/text/ChoiceFormat.java \
-java/text/CollationElementIterator.java \
-java/text/CollationKey.java \
-java/text/Collator.java \
-java/text/DateFormat.java \
-java/text/DateFormatSymbols.java \
-java/text/DecimalFormat.java \
-java/text/DecimalFormatSymbols.java \
-java/text/FieldPosition.java \
-java/text/Format.java \
-java/text/MessageFormat.java \
-java/text/NumberFormat.java \
-java/text/ParseException.java \
-java/text/ParsePosition.java \
-java/text/RuleBasedCollator.java \
-java/text/SimpleDateFormat.java \
-java/text/StringCharacterIterator.java \
-java/util/BitSet.java \
-java/util/Calendar.java \
-java/util/ConcurrentModificationException.java \
-java/util/Date.java \
-java/util/Dictionary.java \
-java/util/EmptyStackException.java \
-java/util/Enumeration.java \
-java/util/EventListener.java \
-java/util/EventObject.java \
-java/util/GregorianCalendar.java \
-java/util/Hashtable.java \
-java/util/ListResourceBundle.java \
-java/util/Locale.java \
-java/util/MissingResourceException.java \
-java/util/NoSuchElementException.java \
-java/util/Observable.java \
-java/util/Observer.java \
-java/util/Properties.java \
-java/util/PropertyResourceBundle.java \
-java/util/Random.java \
-java/util/ResourceBundle.java \
-java/util/SimpleTimeZone.java \
-java/util/Stack.java \
-java/util/StringTokenizer.java \
-java/util/TimeZone.java \
-java/util/TooManyListenersException.java \
-java/util/Vector.java \
-java/util/zip/Adler32.java \
-java/util/zip/CRC32.java \
-java/util/zip/Checksum.java \
-java/util/zip/Deflater.java \
-java/util/zip/DeflaterOutputStream.java \
-java/util/zip/InflaterInputStream.java \
-java/util/zip/ZipConstants.java \
-java/util/zip/ZipEntry.java \
-java/util/zip/ZipException.java \
-java/util/zip/ZipFile.java \
-java/util/zip/ZipInputStream.java \
-java/util/zip/ZipOutputStream.java
-
-java_source_files = $(ordinary_java_source_files) $(special_java_source_files)
-
-## Math library: C, not C++
-c_source_files = \
- java/lang/dtoa.c java/lang/k_rem_pio2.c java/lang/s_tan.c \
- java/lang/e_acos.c java/lang/k_sin.c java/lang/strtod.c \
- java/lang/e_asin.c java/lang/k_tan.c java/lang/w_acos.c \
- java/lang/e_atan2.c java/lang/mprec.c java/lang/w_asin.c \
- java/lang/e_exp.c java/lang/s_atan.c java/lang/w_atan2.c \
- java/lang/e_fmod.c java/lang/s_ceil.c java/lang/w_exp.c \
- java/lang/e_log.c java/lang/s_copysign.c java/lang/w_fmod.c \
- java/lang/e_pow.c java/lang/s_cos.c java/lang/w_log.c \
- java/lang/e_rem_pio2.c java/lang/s_fabs.c java/lang/w_pow.c \
- java/lang/e_remainder.c java/lang/s_floor.c java/lang/w_remainder.c \
- java/lang/e_scalb.c java/lang/s_rint.c java/lang/w_sqrt.c \
- java/lang/e_sqrt.c java/lang/s_scalbn.c java/lang/sf_rint.c \
- java/lang/k_cos.c java/lang/s_sin.c
-
-#java/awt/natToolkit.cc
-
-## This lists all the C++ source files in subdirectories.
-nat_source_files = \
-gnu/gcj/convert/JIS0208_to_Unicode.cc \
-gnu/gcj/convert/JIS0212_to_Unicode.cc \
-gnu/gcj/convert/Unicode_to_JIS.cc \
-gnu/gcj/convert/natInput_EUCJIS.cc \
-gnu/gcj/convert/natInput_SJIS.cc \
-gnu/gcj/convert/natOutput_EUCJIS.cc \
-gnu/gcj/convert/natOutput_SJIS.cc \
-java/io/natFile.cc \
-java/io/natFileDescriptor.cc \
-java/lang/natCharacter.cc \
-java/lang/natClass.cc \
-java/lang/natConcreteProcess.cc \
-java/lang/natDouble.cc \
-java/lang/natFirstThread.cc \
-java/lang/natFloat.cc \
-java/lang/natMath.cc \
-java/lang/natObject.cc \
-java/lang/natRuntime.cc \
-java/lang/natString.cc \
-java/lang/natSystem.cc \
-java/lang/natThread.cc \
-java/lang/reflect/natArray.cc \
-java/lang/reflect/natField.cc \
-java/lang/reflect/natMethod.cc \
-java/net/natInetAddress.cc \
-java/net/natPlainSocketImpl.cc \
-java/text/natCollator.cc \
-java/util/natDate.cc \
-java/util/natGregorianCalendar.cc
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "NM=$(NM)" \
- "PICFLAG=$(PICFLAG)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-CONFIG_STATUS_DEPENDENCIES = $(libgcj_basedir)/configure.host
-
-MAKEOVERRIDES=
-
-# Multilib support variables.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-# Multilib support.
-.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
- maintainer-clean-multi
-
-all-recursive: all-multi
-install-recursive: install-multi
-mostlyclean-recursive: mostlyclean-multi
-clean-recursive: clean-multi
-distclean-recursive: distclean-multi
-maintainer-clean-recursive: maintainer-clean-multi
-
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
-install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
-mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
-distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
-maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
-
-
-## ################################################################
-
-
-## See above.
-cygnus_hack =
-
-
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
deleted file mode 100644
index e45a5a97ef9..00000000000
--- a/libjava/Makefile.in
+++ /dev/null
@@ -1,1511 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = .
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AS = @AS@
-CC = @CC@
-COMPPATH = @COMPPATH@
-CPP = @CPP@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-GCDEPS = @GCDEPS@
-GCINCS = @GCINCS@
-GCLIBS = @GCLIBS@
-GCOBJS = @GCOBJS@
-GCSPEC = @GCSPEC@
-LD = @LD@
-LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
-LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
-LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-PACKAGE = @PACKAGE@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SYSTEMSPEC = @SYSTEMSPEC@
-THREADDEPS = @THREADDEPS@
-THREADINCS = @THREADINCS@
-THREADLIBS = @THREADLIBS@
-THREADOBJS = @THREADOBJS@
-THREADSPEC = @THREADSPEC@
-USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
-VERSION = @VERSION@
-ZDEPS = @ZDEPS@
-ZLIBS = @ZLIBS@
-ZLIBSPEC = @ZLIBSPEC@
-here = @here@
-libgcj_basedir = @libgcj_basedir@
-
-AUTOMAKE_OPTIONS = foreign no-installinfo
-
-@TESTSUBDIR_TRUE@SUBDIRS = \
-@TESTSUBDIR_TRUE@testsuite
-
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-
-toolexeclib_LTLIBRARIES = libgcj.la
-toolexeclib_DATA = libgcj.spec
-data_DATA = libgcj.zip
-
-@NATIVE_TRUE@bin_PROGRAMS = \
-@NATIVE_TRUE@jv-convert
-@CANADIAN_TRUE@@NULL_TARGET_TRUE@GCJ = \
-@CANADIAN_TRUE@@NULL_TARGET_TRUE@gcj
-@CANADIAN_TRUE@@NULL_TARGET_FALSE@GCJ = \
-@CANADIAN_TRUE@@NULL_TARGET_FALSE@$(target_alias)-gcj
-@CANADIAN_FALSE@GCJ = \
-@CANADIAN_FALSE@$(expanded)/gcj$(EXEEXT) -B$(expanded)/
-@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = \
-@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
-@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = \
-@CANADIAN_TRUE@@NULL_TARGET_FALSE@zip
-@CANADIAN_FALSE@ZIP = \
-@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
-@CANADIAN_TRUE@GCJH = \
-@CANADIAN_TRUE@gcjh
-@CANADIAN_FALSE@GCJH = \
-@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
-@CANADIAN_FALSE@expanded = \
-@CANADIAN_FALSE@`cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd`
-
-GCJCOMPILE = CLASSPATH=$(here) $(LIBTOOL) --mode=compile $(GCJ) -fassume-compiled $(JC1FLAGS) -c
-
-JAVAC = $(GCJ) -C
-
-EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
-
-WARNINGS = -W -Wall
-AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ $(WARNINGS)
-@USING_GCC_TRUE@AM_CFLAGS = \
-@USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS)
-@USING_GCC_FALSE@AM_CFLAGS = \
-@USING_GCC_FALSE@@LIBGCJ_CFLAGS@
-
-JCFLAGS = -g
-JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
-
-INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) $(EH_COMMON_INCLUDE)
-
-nat_files = $(nat_source_files:.cc=.lo)
-c_files = $(c_source_files:.c=.lo)
-javao_files = $(java_source_files:.java=.lo) \
- $(built_java_source_files:.java=.lo)
-
-
-libgcj_la_SOURCES = prims.cc jni.cc exception.cc
-EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
- $(c_source_files) $(java_source_files) $(built_java_source_files)
-
-libgcj_la_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
- $(c_files) $(GCOBJS) $(THREADOBJS)
-
-libgcj_la_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
- $(THREADOBJS)
-
-libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) \
- -version-info `grep -v '^\#' $(srcdir)/libtool-version`
-
-
-MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files)
-CLEANFILES = libgcj.zip
-
-SUFFIXES = .class .java .h
-
-nat_headers = $(ordinary_java_source_files:.java=.h) \
- $(built_java_source_files:.java=.h)
-
-
-FTFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
-
-TGFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
-
-NM = nm
-
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS
-
-CONVERT_DIR = gnu/gcj/convert
-
-jv_convert_SOURCES =
-EXTRA_jv_convert_SOURCES = $(convert_source_files)
-jv_convert_LDFLAGS = --main=gnu.gcj.convert.Convert \
- -rpath $(toolexeclibdir)
-
-jv_convert_LINK = $(LIBTOOL) --mode=link $(GCJ) $(JC1FLAGS) $(LDFLAGS) \
- -o jv-convert
-
-jv_convert_LDADD = $(convert_source_files:.java=.lo) libgcj.la \
- $(GCLIBS) $(THREADLIBS) $(ZLIBS)
-
-jv_convert_DEPENDENCIES = $(convert_source_files:.java=.lo) \
- $(GCDEPS) $(THREADDEPS) $(ZDEPS) libgcj.la libgcj.spec
-
-
-gen_from_JIS_SOURCES =
-EXTRA_gen_from_JIS_SOURCES = $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
- $(srcdir)/$(CONVERT_DIR)/make-trie.c \
- $(srcdir)/$(CONVERT_DIR)/JIS0201.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0212.h
-
-gen_from_JIS_LDADD = $(CONVERT_DIR)/gen-from-JIS.o $(CONVERT_DIR)/make-trie.o
-gen_from_JIS_DEPENDENCIES = $(CONVERT_DIR)/gen-from-JIS.o \
- $(CONVERT_DIR)/make-trie.o
-
-
-convert_source_files = \
-gnu/gcj/convert/BytesToUnicode.java \
-gnu/gcj/convert/Convert.java \
-gnu/gcj/convert/Input_8859_1.java \
-gnu/gcj/convert/Input_EUCJIS.java \
-gnu/gcj/convert/Input_JavaSrc.java \
-gnu/gcj/convert/Input_SJIS.java \
-gnu/gcj/convert/Input_UTF8.java \
-gnu/gcj/convert/Output_8859_1.java \
-gnu/gcj/convert/Output_EUCJIS.java \
-gnu/gcj/convert/Output_JavaSrc.java \
-gnu/gcj/convert/Output_SJIS.java \
-gnu/gcj/convert/Output_UTF8.java \
-gnu/gcj/convert/UnicodeToBytes.java
-
-
-special_java_source_files = java/lang/Class.java java/lang/Object.java
-
-awt_java_source_files = \
-java/awt/AWTEvent.java \
-java/awt/BorderLayout.java \
-java/awt/Component.java \
-java/awt/Container.java \
-java/awt/Dimension.java \
-java/awt/Event.java \
-java/awt/Font.java \
-java/awt/Frame.java \
-java/awt/LayoutManager.java \
-java/awt/LayoutManager2.java \
-java/awt/Menu.java \
-java/awt/MenuBar.java \
-java/awt/MenuItem.java \
-java/awt/MenuComponent.java \
-java/awt/MenuContainer.java \
-java/awt/Point.java \
-java/awt/Rectangle.java \
-java/awt/Shape.java \
-java/awt/TextArea.java \
-java/awt/TextComponent.java \
-java/awt/Toolkit.java \
-java/awt/Window.java \
-java/awt/event/ActionEvent.java \
-java/awt/event/ActionListener.java \
-java/awt/event/ComponentEvent.java \
-java/awt/event/InputEvent.java \
-java/awt/event/KeyEvent.java \
-java/awt/event/KeyListener.java \
-java/awt/event/TextEvent.java \
-java/awt/event/TextListener.java \
-java/awt/event/WindowAdapter.java \
-java/awt/event/WindowEvent.java \
-java/awt/event/WindowListener.java \
-java/awt/geom/Point2D.java \
-java/awt/geom/Dimension2D.java \
-java/awt/peer/ComponentPeer.java \
-java/awt/peer/ContainerPeer.java \
-java/awt/peer/FramePeer.java \
-java/awt/peer/WindowPeer.java
-
-
-# $(awt_java_source_files)
-
-built_java_source_files = java/lang/ConcreteProcess.java
-
-ordinary_java_source_files = $(convert_source_files) \
-gnu/gcj/text/BaseBreakIterator.java \
-gnu/gcj/text/CharacterBreakIterator.java \
-gnu/gcj/text/LineBreakIterator.java \
-gnu/gcj/text/LocaleData_en.java \
-gnu/gcj/text/LocaleData_en_US.java \
-gnu/gcj/text/SentenceBreakIterator.java \
-gnu/gcj/text/WordBreakIterator.java \
-gnu/gcj/protocol/file/Connection.java \
-gnu/gcj/protocol/file/Handler.java \
-gnu/gcj/protocol/http/Connection.java \
-gnu/gcj/protocol/http/Handler.java \
-gnu/gcj/RawData.java \
-gnu/gcj/util/EnumerationChain.java \
-java/io/BufferedInputStream.java \
-java/io/BufferedOutputStream.java \
-java/io/BufferedReader.java \
-java/io/BufferedWriter.java \
-java/io/ByteArrayInputStream.java \
-java/io/ByteArrayOutputStream.java \
-java/io/CharArrayReader.java \
-java/io/CharArrayWriter.java \
-java/io/CharConversionException.java \
-java/io/DataInput.java \
-java/io/DataInputStream.java \
-java/io/DataOutput.java \
-java/io/DataOutputStream.java \
-java/io/EOFException.java \
-java/io/File.java \
-java/io/FileDescriptor.java \
-java/io/FileInputStream.java \
-java/io/FileNotFoundException.java \
-java/io/FileOutputStream.java \
-java/io/FileReader.java \
-java/io/FileWriter.java \
-java/io/FilenameFilter.java \
-java/io/FilterInputStream.java \
-java/io/FilterOutputStream.java \
-java/io/FilterReader.java \
-java/io/FilterWriter.java \
-java/io/IOException.java \
-java/io/InputStream.java \
-java/io/InputStreamReader.java \
-java/io/InterruptedIOException.java \
-java/io/LineNumberInputStream.java \
-java/io/LineNumberReader.java \
-java/io/OutputStream.java \
-java/io/OutputStreamWriter.java \
-java/io/PipedInputStream.java \
-java/io/PipedOutputStream.java \
-java/io/PipedReader.java \
-java/io/PipedWriter.java \
-java/io/PrintStream.java \
-java/io/PrintWriter.java \
-java/io/PushbackInputStream.java \
-java/io/PushbackReader.java \
-java/io/RandomAccessFile.java \
-java/io/Reader.java \
-java/io/SequenceInputStream.java \
-java/io/Serializable.java \
-java/io/StreamTokenizer.java \
-java/io/StringBufferInputStream.java \
-java/io/StringReader.java \
-java/io/StringWriter.java \
-java/io/SyncFailedException.java \
-java/io/UTFDataFormatException.java \
-java/io/UnsupportedEncodingException.java \
-java/io/Writer.java \
-java/lang/AbstractMethodError.java \
-java/lang/ArithmeticException.java \
-java/lang/ArrayIndexOutOfBoundsException.java \
-java/lang/ArrayStoreException.java \
-java/lang/Boolean.java \
-java/lang/Byte.java \
-java/lang/Character.java \
-java/lang/ClassCastException.java \
-java/lang/ClassCircularityError.java \
-java/lang/ClassFormatError.java \
-java/lang/ClassLoader.java \
-java/lang/ClassNotFoundException.java \
-java/lang/CloneNotSupportedException.java \
-java/lang/Cloneable.java \
-java/lang/Comparable.java \
-java/lang/Compiler.java \
-java/lang/Double.java \
-java/lang/Error.java \
-java/lang/Exception.java \
-java/lang/ExceptionInInitializerError.java \
-java/lang/FirstThread.java \
-java/lang/Float.java \
-java/lang/IllegalAccessError.java \
-java/lang/IllegalAccessException.java \
-java/lang/IllegalArgumentException.java \
-java/lang/IllegalMonitorStateException.java \
-java/lang/IllegalStateException.java \
-java/lang/IllegalThreadStateException.java \
-java/lang/IncompatibleClassChangeError.java \
-java/lang/IndexOutOfBoundsException.java \
-java/lang/InstantiationError.java \
-java/lang/InstantiationException.java \
-java/lang/Integer.java \
-java/lang/InternalError.java \
-java/lang/InterruptedException.java \
-java/lang/LinkageError.java \
-java/lang/Long.java \
-java/lang/Math.java \
-java/lang/NegativeArraySizeException.java \
-java/lang/NoClassDefFoundError.java \
-java/lang/NoSuchFieldError.java \
-java/lang/NoSuchFieldException.java \
-java/lang/NoSuchMethodError.java \
-java/lang/NoSuchMethodException.java \
-java/lang/NullPointerException.java \
-java/lang/Number.java \
-java/lang/NumberFormatException.java \
-java/lang/OutOfMemoryError.java \
-java/lang/Process.java \
-java/lang/Runnable.java \
-java/lang/Runtime.java \
-java/lang/RuntimeException.java \
-java/lang/SecurityException.java \
-java/lang/SecurityManager.java \
-java/lang/Short.java \
-java/lang/StackOverflowError.java \
-java/lang/String.java \
-java/lang/StringBuffer.java \
-java/lang/StringIndexOutOfBoundsException.java \
-java/lang/System.java \
-java/lang/Thread.java \
-java/lang/ThreadDeath.java \
-java/lang/ThreadGroup.java \
-java/lang/Throwable.java \
-java/lang/UnknownError.java \
-java/lang/UnsatisfiedLinkError.java \
-java/lang/UnsupportedOperationException.java \
-java/lang/VerifyError.java \
-java/lang/VirtualMachineError.java \
-java/lang/Void.java \
-java/lang/reflect/AccessibleObject.java \
-java/lang/reflect/Array.java \
-java/lang/reflect/Constructor.java \
-java/lang/reflect/Field.java \
-java/lang/reflect/InvocationTargetException.java \
-java/lang/reflect/Member.java \
-java/lang/reflect/Method.java \
-java/lang/reflect/Modifier.java \
-java/net/BindException.java \
-java/net/ConnectException.java \
-java/net/ContentHandler.java \
-java/net/ContentHandlerFactory.java \
-java/net/FileNameMap.java \
-java/net/HttpURLConnection.java \
-java/net/InetAddress.java \
-java/net/MalformedURLException.java \
-java/net/NoRouteToHostException.java \
-java/net/PlainSocketImpl.java \
-java/net/ProtocolException.java \
-java/net/ServerSocket.java \
-java/net/Socket.java \
-java/net/SocketException.java \
-java/net/SocketImpl.java \
-java/net/SocketImplFactory.java \
-java/net/URL.java \
-java/net/URLConnection.java \
-java/net/URLDecoder.java \
-java/net/URLEncoder.java \
-java/net/URLStreamHandler.java \
-java/net/URLStreamHandlerFactory.java \
-java/net/UnknownHostException.java \
-java/net/UnknownServiceException.java \
-java/security/MessageDigest.java \
-java/security/NoSuchAlgorithmException.java \
-java/text/BreakIterator.java \
-java/text/CharacterIterator.java \
-java/text/ChoiceFormat.java \
-java/text/CollationElementIterator.java \
-java/text/CollationKey.java \
-java/text/Collator.java \
-java/text/DateFormat.java \
-java/text/DateFormatSymbols.java \
-java/text/DecimalFormat.java \
-java/text/DecimalFormatSymbols.java \
-java/text/FieldPosition.java \
-java/text/Format.java \
-java/text/MessageFormat.java \
-java/text/NumberFormat.java \
-java/text/ParseException.java \
-java/text/ParsePosition.java \
-java/text/RuleBasedCollator.java \
-java/text/SimpleDateFormat.java \
-java/text/StringCharacterIterator.java \
-java/util/BitSet.java \
-java/util/Calendar.java \
-java/util/ConcurrentModificationException.java \
-java/util/Date.java \
-java/util/Dictionary.java \
-java/util/EmptyStackException.java \
-java/util/Enumeration.java \
-java/util/EventListener.java \
-java/util/EventObject.java \
-java/util/GregorianCalendar.java \
-java/util/Hashtable.java \
-java/util/ListResourceBundle.java \
-java/util/Locale.java \
-java/util/MissingResourceException.java \
-java/util/NoSuchElementException.java \
-java/util/Observable.java \
-java/util/Observer.java \
-java/util/Properties.java \
-java/util/PropertyResourceBundle.java \
-java/util/Random.java \
-java/util/ResourceBundle.java \
-java/util/SimpleTimeZone.java \
-java/util/Stack.java \
-java/util/StringTokenizer.java \
-java/util/TimeZone.java \
-java/util/TooManyListenersException.java \
-java/util/Vector.java \
-java/util/zip/Adler32.java \
-java/util/zip/CRC32.java \
-java/util/zip/Checksum.java \
-java/util/zip/Deflater.java \
-java/util/zip/DeflaterOutputStream.java \
-java/util/zip/InflaterInputStream.java \
-java/util/zip/ZipConstants.java \
-java/util/zip/ZipEntry.java \
-java/util/zip/ZipException.java \
-java/util/zip/ZipFile.java \
-java/util/zip/ZipInputStream.java \
-java/util/zip/ZipOutputStream.java
-
-
-java_source_files = $(ordinary_java_source_files) $(special_java_source_files)
-
-c_source_files = \
- java/lang/dtoa.c java/lang/k_rem_pio2.c java/lang/s_tan.c \
- java/lang/e_acos.c java/lang/k_sin.c java/lang/strtod.c \
- java/lang/e_asin.c java/lang/k_tan.c java/lang/w_acos.c \
- java/lang/e_atan2.c java/lang/mprec.c java/lang/w_asin.c \
- java/lang/e_exp.c java/lang/s_atan.c java/lang/w_atan2.c \
- java/lang/e_fmod.c java/lang/s_ceil.c java/lang/w_exp.c \
- java/lang/e_log.c java/lang/s_copysign.c java/lang/w_fmod.c \
- java/lang/e_pow.c java/lang/s_cos.c java/lang/w_log.c \
- java/lang/e_rem_pio2.c java/lang/s_fabs.c java/lang/w_pow.c \
- java/lang/e_remainder.c java/lang/s_floor.c java/lang/w_remainder.c \
- java/lang/e_scalb.c java/lang/s_rint.c java/lang/w_sqrt.c \
- java/lang/e_sqrt.c java/lang/s_scalbn.c java/lang/sf_rint.c \
- java/lang/k_cos.c java/lang/s_sin.c
-
-
-#java/awt/natToolkit.cc
-
-nat_source_files = \
-gnu/gcj/convert/JIS0208_to_Unicode.cc \
-gnu/gcj/convert/JIS0212_to_Unicode.cc \
-gnu/gcj/convert/Unicode_to_JIS.cc \
-gnu/gcj/convert/natInput_EUCJIS.cc \
-gnu/gcj/convert/natInput_SJIS.cc \
-gnu/gcj/convert/natOutput_EUCJIS.cc \
-gnu/gcj/convert/natOutput_SJIS.cc \
-java/io/natFile.cc \
-java/io/natFileDescriptor.cc \
-java/lang/natCharacter.cc \
-java/lang/natClass.cc \
-java/lang/natConcreteProcess.cc \
-java/lang/natDouble.cc \
-java/lang/natFirstThread.cc \
-java/lang/natFloat.cc \
-java/lang/natMath.cc \
-java/lang/natObject.cc \
-java/lang/natRuntime.cc \
-java/lang/natString.cc \
-java/lang/natSystem.cc \
-java/lang/natThread.cc \
-java/lang/reflect/natArray.cc \
-java/lang/reflect/natField.cc \
-java/lang/reflect/natMethod.cc \
-java/net/natInetAddress.cc \
-java/net/natPlainSocketImpl.cc \
-java/text/natCollator.cc \
-java/util/natDate.cc \
-java/util/natGregorianCalendar.cc
-
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "JC1FLAGS=$(JC1FLAGS)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "SHELL=$(SHELL)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "prefix=$(prefix)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "CC=$(CC)" \
- "CXX=$(CXX)" \
- "LD=$(LD)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "NM=$(NM)" \
- "PICFLAG=$(PICFLAG)" \
- "RANLIB=$(RANLIB)" \
- "DESTDIR=$(DESTDIR)"
-
-
-CONFIG_STATUS_DEPENDENCIES = $(libgcj_basedir)/configure.host
-
-MAKEOVERRIDES =
-
-# Multilib support variables.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-cygnus_hack =
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = ./include/config.h
-CONFIG_CLEAN_FILES = libgcj.spec
-LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I./include
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-libgcj_la_OBJECTS = prims.lo jni.lo exception.lo
-@NATIVE_TRUE@bin_PROGRAMS = jv-convert$(EXEEXT)
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS$(EXEEXT)
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-
-jv_convert_OBJECTS =
-gen_from_JIS_OBJECTS =
-gen_from_JIS_LDFLAGS =
-CXXFLAGS = @CXXFLAGS@
-CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA = $(data_DATA) $(toolexeclib_DATA)
-
-DIST_COMMON = COPYING.LIB ChangeLog Makefile.am Makefile.in acconfig.h \
-acinclude.m4 aclocal.m4 configure configure.in include/config.h.in \
-include/stamp-h.in libgcj.spec.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-DIST_SUBDIRS = testsuite
-DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
-.deps/$(srcdir)/$(CONVERT_DIR)/make-trie.P .deps/boehm.P \
-.deps/exception.P .deps/gnu/gcj/RawData.P \
-.deps/gnu/gcj/convert/BytesToUnicode.P .deps/gnu/gcj/convert/Convert.P \
-.deps/gnu/gcj/convert/Input_8859_1.P \
-.deps/gnu/gcj/convert/Input_EUCJIS.P \
-.deps/gnu/gcj/convert/Input_JavaSrc.P \
-.deps/gnu/gcj/convert/Input_SJIS.P .deps/gnu/gcj/convert/Input_UTF8.P \
-.deps/gnu/gcj/convert/Output_8859_1.P \
-.deps/gnu/gcj/convert/Output_EUCJIS.P \
-.deps/gnu/gcj/convert/Output_JavaSrc.P \
-.deps/gnu/gcj/convert/Output_SJIS.P .deps/gnu/gcj/convert/Output_UTF8.P \
-.deps/gnu/gcj/convert/UnicodeToBytes.P \
-.deps/gnu/gcj/protocol/file/Connection.P \
-.deps/gnu/gcj/protocol/file/Handler.P \
-.deps/gnu/gcj/protocol/http/Connection.P \
-.deps/gnu/gcj/protocol/http/Handler.P \
-.deps/gnu/gcj/text/BaseBreakIterator.P \
-.deps/gnu/gcj/text/CharacterBreakIterator.P \
-.deps/gnu/gcj/text/LineBreakIterator.P \
-.deps/gnu/gcj/text/LocaleData_en.P \
-.deps/gnu/gcj/text/LocaleData_en_US.P \
-.deps/gnu/gcj/text/SentenceBreakIterator.P \
-.deps/gnu/gcj/text/WordBreakIterator.P \
-.deps/gnu/gcj/util/EnumerationChain.P \
-.deps/java/io/BufferedInputStream.P \
-.deps/java/io/BufferedOutputStream.P .deps/java/io/BufferedReader.P \
-.deps/java/io/BufferedWriter.P .deps/java/io/ByteArrayInputStream.P \
-.deps/java/io/ByteArrayOutputStream.P .deps/java/io/CharArrayReader.P \
-.deps/java/io/CharArrayWriter.P .deps/java/io/CharConversionException.P \
-.deps/java/io/DataInput.P .deps/java/io/DataInputStream.P \
-.deps/java/io/DataOutput.P .deps/java/io/DataOutputStream.P \
-.deps/java/io/EOFException.P .deps/java/io/File.P \
-.deps/java/io/FileDescriptor.P .deps/java/io/FileInputStream.P \
-.deps/java/io/FileNotFoundException.P .deps/java/io/FileOutputStream.P \
-.deps/java/io/FileReader.P .deps/java/io/FileWriter.P \
-.deps/java/io/FilenameFilter.P .deps/java/io/FilterInputStream.P \
-.deps/java/io/FilterOutputStream.P .deps/java/io/FilterReader.P \
-.deps/java/io/FilterWriter.P .deps/java/io/IOException.P \
-.deps/java/io/InputStream.P .deps/java/io/InputStreamReader.P \
-.deps/java/io/InterruptedIOException.P \
-.deps/java/io/LineNumberInputStream.P .deps/java/io/LineNumberReader.P \
-.deps/java/io/OutputStream.P .deps/java/io/OutputStreamWriter.P \
-.deps/java/io/PipedInputStream.P .deps/java/io/PipedOutputStream.P \
-.deps/java/io/PipedReader.P .deps/java/io/PipedWriter.P \
-.deps/java/io/PrintStream.P .deps/java/io/PrintWriter.P \
-.deps/java/io/PushbackInputStream.P .deps/java/io/PushbackReader.P \
-.deps/java/io/RandomAccessFile.P .deps/java/io/Reader.P \
-.deps/java/io/SequenceInputStream.P .deps/java/io/Serializable.P \
-.deps/java/io/StreamTokenizer.P .deps/java/io/StringBufferInputStream.P \
-.deps/java/io/StringReader.P .deps/java/io/StringWriter.P \
-.deps/java/io/SyncFailedException.P \
-.deps/java/io/UTFDataFormatException.P \
-.deps/java/io/UnsupportedEncodingException.P .deps/java/io/Writer.P \
-.deps/java/lang/AbstractMethodError.P \
-.deps/java/lang/ArithmeticException.P \
-.deps/java/lang/ArrayIndexOutOfBoundsException.P \
-.deps/java/lang/ArrayStoreException.P .deps/java/lang/Boolean.P \
-.deps/java/lang/Byte.P .deps/java/lang/Character.P \
-.deps/java/lang/Class.P .deps/java/lang/ClassCastException.P \
-.deps/java/lang/ClassCircularityError.P \
-.deps/java/lang/ClassFormatError.P .deps/java/lang/ClassLoader.P \
-.deps/java/lang/ClassNotFoundException.P \
-.deps/java/lang/CloneNotSupportedException.P \
-.deps/java/lang/Cloneable.P .deps/java/lang/Comparable.P \
-.deps/java/lang/Compiler.P .deps/java/lang/ConcreteProcess.P \
-.deps/java/lang/Double.P .deps/java/lang/Error.P \
-.deps/java/lang/Exception.P \
-.deps/java/lang/ExceptionInInitializerError.P \
-.deps/java/lang/FirstThread.P .deps/java/lang/Float.P \
-.deps/java/lang/IllegalAccessError.P \
-.deps/java/lang/IllegalAccessException.P \
-.deps/java/lang/IllegalArgumentException.P \
-.deps/java/lang/IllegalMonitorStateException.P \
-.deps/java/lang/IllegalStateException.P \
-.deps/java/lang/IllegalThreadStateException.P \
-.deps/java/lang/IncompatibleClassChangeError.P \
-.deps/java/lang/IndexOutOfBoundsException.P \
-.deps/java/lang/InstantiationError.P \
-.deps/java/lang/InstantiationException.P .deps/java/lang/Integer.P \
-.deps/java/lang/InternalError.P .deps/java/lang/InterruptedException.P \
-.deps/java/lang/LinkageError.P .deps/java/lang/Long.P \
-.deps/java/lang/Math.P .deps/java/lang/NegativeArraySizeException.P \
-.deps/java/lang/NoClassDefFoundError.P \
-.deps/java/lang/NoSuchFieldError.P \
-.deps/java/lang/NoSuchFieldException.P \
-.deps/java/lang/NoSuchMethodError.P \
-.deps/java/lang/NoSuchMethodException.P \
-.deps/java/lang/NullPointerException.P .deps/java/lang/Number.P \
-.deps/java/lang/NumberFormatException.P .deps/java/lang/Object.P \
-.deps/java/lang/OutOfMemoryError.P .deps/java/lang/Process.P \
-.deps/java/lang/Runnable.P .deps/java/lang/Runtime.P \
-.deps/java/lang/RuntimeException.P .deps/java/lang/SecurityException.P \
-.deps/java/lang/SecurityManager.P .deps/java/lang/Short.P \
-.deps/java/lang/StackOverflowError.P .deps/java/lang/String.P \
-.deps/java/lang/StringBuffer.P \
-.deps/java/lang/StringIndexOutOfBoundsException.P \
-.deps/java/lang/System.P .deps/java/lang/Thread.P \
-.deps/java/lang/ThreadDeath.P .deps/java/lang/ThreadGroup.P \
-.deps/java/lang/Throwable.P .deps/java/lang/UnknownError.P \
-.deps/java/lang/UnsatisfiedLinkError.P \
-.deps/java/lang/UnsupportedOperationException.P \
-.deps/java/lang/VerifyError.P .deps/java/lang/VirtualMachineError.P \
-.deps/java/lang/Void.P .deps/java/lang/dtoa.P .deps/java/lang/e_acos.P \
-.deps/java/lang/e_asin.P .deps/java/lang/e_atan2.P \
-.deps/java/lang/e_exp.P .deps/java/lang/e_fmod.P \
-.deps/java/lang/e_log.P .deps/java/lang/e_pow.P \
-.deps/java/lang/e_rem_pio2.P .deps/java/lang/e_remainder.P \
-.deps/java/lang/e_scalb.P .deps/java/lang/e_sqrt.P \
-.deps/java/lang/k_cos.P .deps/java/lang/k_rem_pio2.P \
-.deps/java/lang/k_sin.P .deps/java/lang/k_tan.P .deps/java/lang/mprec.P \
-.deps/java/lang/reflect/AccessibleObject.P \
-.deps/java/lang/reflect/Array.P .deps/java/lang/reflect/Constructor.P \
-.deps/java/lang/reflect/Field.P \
-.deps/java/lang/reflect/InvocationTargetException.P \
-.deps/java/lang/reflect/Member.P .deps/java/lang/reflect/Method.P \
-.deps/java/lang/reflect/Modifier.P .deps/java/lang/s_atan.P \
-.deps/java/lang/s_ceil.P .deps/java/lang/s_copysign.P \
-.deps/java/lang/s_cos.P .deps/java/lang/s_fabs.P \
-.deps/java/lang/s_floor.P .deps/java/lang/s_rint.P \
-.deps/java/lang/s_scalbn.P .deps/java/lang/s_sin.P \
-.deps/java/lang/s_tan.P .deps/java/lang/sf_rint.P \
-.deps/java/lang/strtod.P .deps/java/lang/w_acos.P \
-.deps/java/lang/w_asin.P .deps/java/lang/w_atan2.P \
-.deps/java/lang/w_exp.P .deps/java/lang/w_fmod.P \
-.deps/java/lang/w_log.P .deps/java/lang/w_pow.P \
-.deps/java/lang/w_remainder.P .deps/java/lang/w_sqrt.P \
-.deps/java/net/BindException.P .deps/java/net/ConnectException.P \
-.deps/java/net/ContentHandler.P .deps/java/net/ContentHandlerFactory.P \
-.deps/java/net/FileNameMap.P .deps/java/net/HttpURLConnection.P \
-.deps/java/net/InetAddress.P .deps/java/net/MalformedURLException.P \
-.deps/java/net/NoRouteToHostException.P \
-.deps/java/net/PlainSocketImpl.P .deps/java/net/ProtocolException.P \
-.deps/java/net/ServerSocket.P .deps/java/net/Socket.P \
-.deps/java/net/SocketException.P .deps/java/net/SocketImpl.P \
-.deps/java/net/SocketImplFactory.P .deps/java/net/URL.P \
-.deps/java/net/URLConnection.P .deps/java/net/URLDecoder.P \
-.deps/java/net/URLEncoder.P .deps/java/net/URLStreamHandler.P \
-.deps/java/net/URLStreamHandlerFactory.P \
-.deps/java/net/UnknownHostException.P \
-.deps/java/net/UnknownServiceException.P \
-.deps/java/security/MessageDigest.P \
-.deps/java/security/NoSuchAlgorithmException.P \
-.deps/java/text/BreakIterator.P .deps/java/text/CharacterIterator.P \
-.deps/java/text/ChoiceFormat.P \
-.deps/java/text/CollationElementIterator.P \
-.deps/java/text/CollationKey.P .deps/java/text/Collator.P \
-.deps/java/text/DateFormat.P .deps/java/text/DateFormatSymbols.P \
-.deps/java/text/DecimalFormat.P .deps/java/text/DecimalFormatSymbols.P \
-.deps/java/text/FieldPosition.P .deps/java/text/Format.P \
-.deps/java/text/MessageFormat.P .deps/java/text/NumberFormat.P \
-.deps/java/text/ParseException.P .deps/java/text/ParsePosition.P \
-.deps/java/text/RuleBasedCollator.P .deps/java/text/SimpleDateFormat.P \
-.deps/java/text/StringCharacterIterator.P .deps/java/util/BitSet.P \
-.deps/java/util/Calendar.P \
-.deps/java/util/ConcurrentModificationException.P \
-.deps/java/util/Date.P .deps/java/util/Dictionary.P \
-.deps/java/util/EmptyStackException.P .deps/java/util/Enumeration.P \
-.deps/java/util/EventListener.P .deps/java/util/EventObject.P \
-.deps/java/util/GregorianCalendar.P .deps/java/util/Hashtable.P \
-.deps/java/util/ListResourceBundle.P .deps/java/util/Locale.P \
-.deps/java/util/MissingResourceException.P \
-.deps/java/util/NoSuchElementException.P .deps/java/util/Observable.P \
-.deps/java/util/Observer.P .deps/java/util/Properties.P \
-.deps/java/util/PropertyResourceBundle.P .deps/java/util/Random.P \
-.deps/java/util/ResourceBundle.P .deps/java/util/SimpleTimeZone.P \
-.deps/java/util/Stack.P .deps/java/util/StringTokenizer.P \
-.deps/java/util/TimeZone.P .deps/java/util/TooManyListenersException.P \
-.deps/java/util/Vector.P .deps/java/util/zip/Adler32.P \
-.deps/java/util/zip/CRC32.P .deps/java/util/zip/Checksum.P \
-.deps/java/util/zip/Deflater.P \
-.deps/java/util/zip/DeflaterOutputStream.P \
-.deps/java/util/zip/InflaterInputStream.P \
-.deps/java/util/zip/ZipConstants.P .deps/java/util/zip/ZipEntry.P \
-.deps/java/util/zip/ZipException.P .deps/java/util/zip/ZipFile.P \
-.deps/java/util/zip/ZipInputStream.P \
-.deps/java/util/zip/ZipOutputStream.P .deps/jni.P .deps/no-threads.P \
-.deps/nogc.P .deps/posix-threads.P .deps/prims.P
-SOURCES = $(libgcj_la_SOURCES) $(EXTRA_libgcj_la_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
-OBJECTS = $(libgcj_la_OBJECTS) $(jv_convert_OBJECTS) $(gen_from_JIS_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .cc .class .h .java .lo .o .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
- cd $(srcdir) && $(ACLOCAL)
-
-config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-
-include/config.h: include/stamp-h
- @if test ! -f $@; then \
- rm -f include/stamp-h; \
- $(MAKE) include/stamp-h; \
- else :; fi
-include/stamp-h: $(srcdir)/include/config.h.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES= CONFIG_HEADERS=include/config.h \
- $(SHELL) ./config.status
- @echo timestamp > include/stamp-h 2> /dev/null
-$(srcdir)/include/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/include/stamp-h.in
- @if test ! -f $@; then \
- rm -f $(srcdir)/include/stamp-h.in; \
- $(MAKE) $(srcdir)/include/stamp-h.in; \
- else :; fi
-$(srcdir)/include/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
- cd $(top_srcdir) && $(AUTOHEADER)
- @echo timestamp > $(srcdir)/include/stamp-h.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
- -rm -f include/config.h
-
-maintainer-clean-hdr:
-libgcj.spec: $(top_builddir)/config.status libgcj.spec.in
- cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-mostlyclean-toolexeclibLTLIBRARIES:
-
-clean-toolexeclibLTLIBRARIES:
- -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
-
-distclean-toolexeclibLTLIBRARIES:
-
-maintainer-clean-toolexeclibLTLIBRARIES:
-
-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
- $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
- else :; fi; \
- done
-
-uninstall-toolexeclibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
- done
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(libgcj_la_OBJECTS) $(libgcj_la_LIBADD) $(LIBS)
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(bindir)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- if test -f $$p; then \
- echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- list='$(bin_PROGRAMS)'; for p in $$list; do \
- rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
- done
-
-mostlyclean-noinstPROGRAMS:
-
-clean-noinstPROGRAMS:
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-
-distclean-noinstPROGRAMS:
-
-maintainer-clean-noinstPROGRAMS:
-
-jv-convert$(EXEEXT): $(jv_convert_OBJECTS) $(jv_convert_DEPENDENCIES)
- @rm -f jv-convert$(EXEEXT)
- $(jv_convert_LINK) $(jv_convert_LDFLAGS) $(jv_convert_OBJECTS) $(jv_convert_LDADD) $(LIBS)
-
-gen-from-JIS$(EXEEXT): $(gen_from_JIS_OBJECTS) $(gen_from_JIS_DEPENDENCIES)
- @rm -f gen-from-JIS$(EXEEXT)
- $(LINK) $(gen_from_JIS_LDFLAGS) $(gen_from_JIS_OBJECTS) $(gen_from_JIS_LDADD) $(LIBS)
-.cc.o:
- $(CXXCOMPILE) -c $<
-.cc.lo:
- $(LTCXXCOMPILE) -c $<
-
-install-dataDATA: $(data_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(datadir)
- @list='$(data_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p; \
- fi; fi; \
- done
-
-uninstall-dataDATA:
- @$(NORMAL_UNINSTALL)
- list='$(data_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(datadir)/$$p; \
- done
-
-install-toolexeclibDATA: $(toolexeclib_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
- @list='$(toolexeclib_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toolexeclibdir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
- fi; fi; \
- done
-
-uninstall-toolexeclibDATA:
- @$(NORMAL_UNINSTALL)
- list='$(toolexeclib_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
- rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
- done; \
- test "$$dot_seen" = "no" && rev=". $$rev"; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- -rm -rf $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
- mkdir $(distdir)/=build
- mkdir $(distdir)/=inst
- dc_install_base=`cd $(distdir)/=inst && pwd`; \
- cd $(distdir)/=build \
- && ../configure --srcdir=.. --prefix=$$dc_install_base \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) dist
- -rm -rf $(distdir)
- @banner="$(distdir).tar.gz is ready for distribution"; \
- dashes=`echo "$$banner" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- echo "$$dashes"
-dist: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-dist-all: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-distdir: $(DISTFILES)
- -rm -rf $(distdir)
- mkdir $(distdir)
- -chmod 777 $(distdir)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- for subdir in $(DIST_SUBDIRS); do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- chmod 777 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
- || exit 1; \
- fi; \
- done
-
-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-
--include $(DEP_FILES)
-
-mostlyclean-depend:
-
-clean-depend:
-
-distclean-depend:
- -rm -rf .deps
-
-maintainer-clean-depend:
-
-%.o: %.c
- @echo '$(COMPILE) -c $<'; \
- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.c
- @echo '$(LTCOMPILE) -c $<'; \
- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
-
-%.o: %.cc
- @echo '$(CXXCOMPILE) -c $<'; \
- $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.cc
- @echo '$(LTCXXCOMPILE) -c $<'; \
- $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-info-am:
-install-info: install-info-recursive
-install-exec-am: install-toolexeclibLTLIBRARIES install-binPROGRAMS \
- install-toolexeclibDATA
-install-exec: install-exec-recursive
-
-install-data-am: install-dataDATA
-install-data: install-data-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am: uninstall-toolexeclibLTLIBRARIES uninstall-binPROGRAMS \
- uninstall-dataDATA uninstall-toolexeclibDATA
-uninstall: uninstall-recursive
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
-all-redirect: all-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir) $(DESTDIR)$(bindir) \
- $(DESTDIR)$(datadir) $(DESTDIR)$(toolexeclibdir)
-
-
-mostlyclean-generic:
- -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-hdr mostlyclean-toolexeclibLTLIBRARIES \
- mostlyclean-compile mostlyclean-libtool \
- mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
- mostlyclean-tags mostlyclean-depend mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am: clean-hdr clean-toolexeclibLTLIBRARIES clean-compile \
- clean-libtool clean-binPROGRAMS clean-noinstPROGRAMS \
- clean-tags clean-depend clean-generic mostlyclean-am \
- clean-local
-
-clean: clean-recursive
-
-distclean-am: distclean-hdr distclean-toolexeclibLTLIBRARIES \
- distclean-compile distclean-libtool \
- distclean-binPROGRAMS distclean-noinstPROGRAMS \
- distclean-tags distclean-depend distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-recursive
- -rm -f config.status
-
-maintainer-clean-am: maintainer-clean-hdr \
- maintainer-clean-toolexeclibLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-binPROGRAMS \
- maintainer-clean-noinstPROGRAMS maintainer-clean-tags \
- maintainer-clean-depend maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f config.status
-
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-mostlyclean-toolexeclibLTLIBRARIES distclean-toolexeclibLTLIBRARIES \
-clean-toolexeclibLTLIBRARIES maintainer-clean-toolexeclibLTLIBRARIES \
-uninstall-toolexeclibLTLIBRARIES install-toolexeclibLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool mostlyclean-binPROGRAMS \
-distclean-binPROGRAMS clean-binPROGRAMS maintainer-clean-binPROGRAMS \
-uninstall-binPROGRAMS install-binPROGRAMS mostlyclean-noinstPROGRAMS \
-distclean-noinstPROGRAMS clean-noinstPROGRAMS \
-maintainer-clean-noinstPROGRAMS uninstall-dataDATA install-dataDATA \
-uninstall-toolexeclibDATA install-toolexeclibDATA \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir \
-mostlyclean-depend distclean-depend clean-depend \
-maintainer-clean-depend info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-info-am install-info \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-$(java_source_files:.java=.class): libgcj.zip
-
-$(built_java_source_files:.java=.class): $(built_java_source_files)
- javac="$(JAVAC)"; \
- $$javac $(JCFLAGS) -classpath $(here):`cd $(srcdir) && /bin/pwd` \
- -d $(here) $?
-
-libgcj.zip: $(java_source_files)
- $(MAKE) $(built_java_source_files:.java=.class)
- javac="$(JAVAC)"; cd $(srcdir); \
- $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) \
- $(subst $(srcdir)/,,$?)
- -@rm -f libgcj.zip
- $(ZIP) -r libgcj java gnu -n .class -i '*.class' -i '*/'
-
-clean-local:
- find . -name '*.class' -print | xargs rm -f
-
-.class.lo:
- $(GCJCOMPILE) -o $@ $<
-
-.java.lo:
- $(GCJCOMPILE) -o $@ $<
-
-$(nat_files): %.lo: %.cc
- $(LTCXXCOMPILE) -c -o $@ $<
-
-$(nat_files) $(GCOBJS) $(THREADOBJS) $(libgcj_la_OBJECTS): \
- include/config.h include/java-signal.h $(nat_headers)
-
-$(c_files): %.lo: %.c
- $(LTCOMPILE) -c -o $@ $<
-
-$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
-
-$(javao_files): %.lo: %.java
- $(GCJCOMPILE) -o $@ $<
-
-.class.h:
- $(GCJH) -classpath $(top_builddir) $(basename $<)
-
-$(nat_headers): libgcj.zip
-java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) -friend '$(FTFRIEND);' \
- $(basename $<)
-java/lang/ThreadGroup.h: java/lang/ThreadGroup.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) -friend '$(TGFRIEND);' \
- $(basename $<)
-
-java/lang/String.h: java/lang/String.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) \
- -friend 'jchar* _Jv_GetStringChars (jstring str);' \
- -friend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \
- -friend 'jstring* _Jv_StringGetSlot (jstring);' \
- -friend 'jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str);' \
- -friend 'jstring _Jv_NewStringLatin1 (const char*, jsize);' \
- -friend 'jstring _Jv_AllocString (jsize);' \
- $(basename $<)
-
-java/lang/reflect/Field.h: java/lang/reflect/Field.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) \
- -friend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \
- -friend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID);' \
- -friend 'java::lang::Class;' \
- $(basename $<)
-
-java/lang/reflect/Method.h: java/lang/reflect/Method.class libgcj.zip
- $(GCJH) -classpath $(top_builddir) \
- -friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
- -friend 'java::lang::Class;' \
- $(basename $<)
-
-maintainer-check: libgcj.la
- $(NM) .libs/libgcj.a | grep ' T ' \
- | grep -v '4java' \
- | grep -v 'Jv' \
- | grep -v 'terminate__Fv' | grep -v 'unexpected__Fv'
-
-header-check: libgcj.zip $(nat_headers)
- rm -f htest.cc; \
- for h in $(nat_headers); do \
- echo "#include \"$$h\"" >> htest.cc; \
- done; \
- $(CXXCOMPILE) -fsyntax-only htest.cc
-
-# The Unicode consortium does not permit re-distributing the file JIS0201.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0201.h: # $(CONVERT_DIR)/JIS0201.TXT
- echo '/* This file is automatically generated from Unicode tables */' > tmp-0201; \
- tr -d '\r' <$(CONVERT_DIR)/JIS0201.TXT \
- | sed -n -e 's|\(0x..\).*\(0x....\).*#\(.*\)$$|MAP(0x00, \1, \2) /*\3 */|p' \
- >> tmp-0201; \
- mv tmp-0201 $(srcdir)/$(CONVERT_DIR)/JIS0201.h
-
-# The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0208.h: # $(CONVERT_DIR)/JIS0208.TXT
- echo '/* This file is automatically generated from Unicode tables */' > tmp-0208; \
- tr -d '\r' <$(CONVERT_DIR)/JIS0208.TXT \
- | sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\2, 0x\3, \4) /*\5 */|p' \
- >> tmp-0208; \
- mv tmp-0208 $(srcdir)/$(CONVERT_DIR)/JIS0208.h
-
-# The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0212.h: # $(CONVERT_DIR)/JIS0212.TXT
- echo '/* This file is automatically generated from Unicode tables */' > tmp-0212; \
- tr -d '\r' <$(CONVERT_DIR)/JIS0212.TXT \
- | sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3) /*\4 */|p' \
- >> tmp-0212; \
- mv tmp-0212 $(srcdir)/$(CONVERT_DIR)/JIS0212.h
-
-$(CONVERT_DIR)/gen-from-JIS.o: $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
- $(srcdir)/$(CONVERT_DIR)/JIS0201.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
- $(srcdir)/$(CONVERT_DIR)/JIS0212.h
- $(COMPILE) -c -o $(CONVERT_DIR)/gen-from-JIS.o \
- $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c
-
-$(CONVERT_DIR)/make-trie.o: $(srcdir)/$(CONVERT_DIR)/make-trie.c
- $(COMPILE) -c -o $(CONVERT_DIR)/make-trie.o \
- $(srcdir)/$(CONVERT_DIR)/make-trie.c
-
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@ ./gen-from-JIS JIS0208>$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc
-
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@ ./gen-from-JIS JIS0212>$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc
-
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc: ./gen-from-JIS$(EXEEXT)
-@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@ ./gen-from-JIS toJIS>$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc
-
-# Multilib support.
-.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
- maintainer-clean-multi
-
-all-recursive: all-multi
-install-recursive: install-multi
-mostlyclean-recursive: mostlyclean-multi
-clean-recursive: clean-multi
-distclean-recursive: distclean-multi
-maintainer-clean-recursive: maintainer-clean-multi
-
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
-install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
-mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
-distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
-maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libjava/acconfig.h b/libjava/acconfig.h
deleted file mode 100644
index 9e98b769f2e..00000000000
--- a/libjava/acconfig.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Name of this package. */
-#undef PACKAGE
-
-/* Version number of this package. */
-#undef VERSION
-
-/* Define this if you want runtime debugging enabled. */
-#undef DEBUG
-
-/* Define if using POSIX threads that have the mutexattr functions. */
-#undef HAVE_PTHREAD_MUTEXATTR_INIT
-
-/* Define this if you prefer size over speed for java.lang.Character. */
-#undef COMPACT_CHARACTER
-
-/* Define if you have memcpy. */
-#undef HAVE_MEMCPY
-
-/* Define if you have memmove. */
-#undef HAVE_MEMMOVE
-
-/* Define if you have strerror. */
-#undef HAVE_STRERROR
-
-/* Define if you have fsync. */
-#undef HAVE_FSYNC
-
-/* Define if you have sleep. */
-#undef HAVE_SLEEP
-
-/* Define if you have __int32_t and __uint32_t. */
-#undef HAVE_INT32_DEFINED
-
-/* Define if you're running eCos. */
-#undef ECOS
-
-/* */
-#undef HAVE_LOCALTIME
-
-/* */
-#undef HAVE_MKTIME
-
-/* Define if using POSIX threads on Linux. */
-#undef LINUX_THREADS
-
-/* Define if you have the `ctime_r' function. */
-#undef HAVE_CTIME_R
-
-/* Define if you have the `gmtime_r' function. */
-#undef HAVE_GMTIME_R
-
-/* Define if you have the `localtime_r' function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define if inet6 structures are defined in netinet/in.h. */
-#undef HAVE_INET6
-
-/* Define it socklen_t typedef is in sys/socket.h. */
-#undef HAVE_SOCKLEN_T
-
-/* Define if Boehm GC in use. */
-#undef HAVE_BOEHM_GC
-
-/* Define if gethostname is declared in <unistd.h>. */
-#undef HAVE_GETHOSTNAME_DECL
-
-/* Define if gethostbyname_r returns `int'. */
-#undef GETHOSTBYNAME_R_RETURNS_INT
-
-/* Define if gethostbyaddr_r returns `int'. */
-#undef GETHOSTBYADDR_R_RETURNS_INT
-
-/* Define if struct tm has tm_gmtoff field. */
-#undef STRUCT_TM_HAS_GMTOFF
-
-/* Define if global `timezone' exists. */
-#undef HAVE_TIMEZONE
-
-/* Define to version of GCJ in use. */
-#undef GCJVERSION
-
-/* Define if you have the appropriate function. */
-#undef HAVE_ACCESS
-#undef HAVE_STAT
-#undef HAVE_MKDIR
-#undef HAVE_RENAME
-#undef HAVE_RMDIR
-#undef HAVE_UNLINK
-#undef HAVE_REALPATH
-#undef HAVE_READDIR_R
-#undef HAVE_GETHOSTBYNAME_R
-#undef HAVE_GETHOSTBYADDR_R
diff --git a/libjava/acinclude.m4 b/libjava/acinclude.m4
deleted file mode 100644
index 2056b9f9b77..00000000000
--- a/libjava/acinclude.m4
+++ /dev/null
@@ -1,156 +0,0 @@
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIBGCJ_CONFIGURE,
-[
-dnl Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-[ --enable-multilib build many library versions (default)],
-[case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
- esac], [multilib=yes])dnl
-
-dnl We may get other options which we dont document:
-dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
-
-if test "[$]{srcdir}" = "."; then
- if test "[$]{with_target_subdir}" != "."; then
- libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
- else
- libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
- fi
-else
- libgcj_basedir="[$]{srcdir}/$1"
-fi
-AC_SUBST(libgcj_basedir)
-
-AC_CANONICAL_HOST
-
-dnl Still use "libjava" here to placate dejagnu.
-AM_INIT_AUTOMAKE(libjava, 0.0.7)
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CC
-
-# Likewise for AC_PROG_CXX.
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
-AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
-test -z "$CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
-
-AC_PROG_CXX_GNU
-
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
-dnl Check whether -g works, even if CXXFLAGS is set, in case the package
-dnl plays around with CXXFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=
- AC_PROG_CXX_G
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- elif test $ac_cv_prog_cxx_g = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-O2"
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CXX
-
-# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we dont
-# run it explicitly here, it will be run implicitly before
-# LIBGCJ_CONFIGURE, which doesn't work because that means that it will
-# be run before AC_CANONICAL_HOST.
-AC_CANONICAL_BUILD
-
-AC_CHECK_TOOL(AS, as)
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-
-AC_PROG_INSTALL
-
-AM_MAINTAINER_MODE
-
-# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
-# at least currently, we never actually build a program, so we never
-# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
-# fails, because we are probably configuring with a cross compiler
-# which cant create executables. So we include AC_EXEEXT to keep
-# automake happy, but we dont execute it, since we dont care about
-# the result.
-if false; then
- AC_EXEEXT
-fi
-
-# configure.host sets the following important variables
-# libgcj_cflags - host specific C compiler flags
-# libgcj_cxxflags - host specific C++ compiler flags
-# libgcj_javaflags - host specific Java compiler flags
-
-libgcj_cflags=
-libgcj_cxxflags=
-libgcj_javaflags=
-
-. [$]{libgcj_basedir}/configure.host
-
-case [$]{libgcj_basedir} in
-/* | [A-Za-z]:[/\\]*) libgcj_flagbasedir=[$]{libgcj_basedir} ;;
-*) libgcj_flagbasedir='[$](top_builddir)/'[$]{libgcj_basedir} ;;
-esac
-
-LIBGCJ_CFLAGS="[$]{libgcj_cflags}"
-LIBGCJ_CXXFLAGS="[$]{libgcj_cxxflags}"
-LIBGCJ_JAVAFLAGS="[$]{libgcj_javaflags}"
-AC_SUBST(LIBGCJ_CFLAGS)
-AC_SUBST(LIBGCJ_CXXFLAGS)
-AC_SUBST(LIBGCJ_JAVAFLAGS)
-])dnl
diff --git a/libjava/aclocal.m4 b/libjava/aclocal.m4
deleted file mode 100644
index 8215fc7a9da..00000000000
--- a/libjava/aclocal.m4
+++ /dev/null
@@ -1,921 +0,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4
-
-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIBGCJ_CONFIGURE,
-[
-dnl Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-[ --enable-multilib build many library versions (default)],
-[case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
- esac], [multilib=yes])dnl
-
-dnl We may get other options which we dont document:
-dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
-
-if test "[$]{srcdir}" = "."; then
- if test "[$]{with_target_subdir}" != "."; then
- libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
- else
- libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
- fi
-else
- libgcj_basedir="[$]{srcdir}/$1"
-fi
-AC_SUBST(libgcj_basedir)
-
-AC_CANONICAL_HOST
-
-dnl Still use "libjava" here to placate dejagnu.
-AM_INIT_AUTOMAKE(libjava, 0.0.7)
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CC
-
-# Likewise for AC_PROG_CXX.
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
-AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
-test -z "$CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
-
-AC_PROG_CXX_GNU
-
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
-dnl Check whether -g works, even if CXXFLAGS is set, in case the package
-dnl plays around with CXXFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=
- AC_PROG_CXX_G
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- elif test $ac_cv_prog_cxx_g = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-O2"
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CXX
-
-# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we dont
-# run it explicitly here, it will be run implicitly before
-# LIBGCJ_CONFIGURE, which doesn't work because that means that it will
-# be run before AC_CANONICAL_HOST.
-AC_CANONICAL_BUILD
-
-AC_CHECK_TOOL(AS, as)
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-
-AC_PROG_INSTALL
-
-AM_MAINTAINER_MODE
-
-# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
-# at least currently, we never actually build a program, so we never
-# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
-# fails, because we are probably configuring with a cross compiler
-# which cant create executables. So we include AC_EXEEXT to keep
-# automake happy, but we dont execute it, since we dont care about
-# the result.
-if false; then
- AC_EXEEXT
-fi
-
-# configure.host sets the following important variables
-# libgcj_cflags - host specific C compiler flags
-# libgcj_cxxflags - host specific C++ compiler flags
-# libgcj_javaflags - host specific Java compiler flags
-
-libgcj_cflags=
-libgcj_cxxflags=
-libgcj_javaflags=
-
-. [$]{libgcj_basedir}/configure.host
-
-case [$]{libgcj_basedir} in
-/* | [A-Za-z]:[/\\]*) libgcj_flagbasedir=[$]{libgcj_basedir} ;;
-*) libgcj_flagbasedir='[$](top_builddir)/'[$]{libgcj_basedir} ;;
-esac
-
-LIBGCJ_CFLAGS="[$]{libgcj_cflags}"
-LIBGCJ_CXXFLAGS="[$]{libgcj_cxxflags}"
-LIBGCJ_JAVAFLAGS="[$]{libgcj_javaflags}"
-AC_SUBST(LIBGCJ_CFLAGS)
-AC_SUBST(LIBGCJ_CXXFLAGS)
-AC_SUBST(LIBGCJ_JAVAFLAGS)
-])dnl
-
-# Do all the work for Automake. This macro actually does too much --
-# some checks are only needed if your package does certain things.
-# But this isn't really a big deal.
-
-# serial 1
-
-dnl Usage:
-dnl AM_INIT_AUTOMAKE(package,version, [no-define])
-
-AC_DEFUN(AM_INIT_AUTOMAKE,
-[AC_REQUIRE([AC_PROG_INSTALL])
-PACKAGE=[$1]
-AC_SUBST(PACKAGE)
-VERSION=[$2]
-AC_SUBST(VERSION)
-dnl test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-ifelse([$3],,
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
-AC_REQUIRE([AM_SANITY_CHECK])
-AC_REQUIRE([AC_ARG_PROGRAM])
-dnl FIXME This is truly gross.
-missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
-AC_REQUIRE([AC_PROG_MAKE_SET])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-AC_DEFUN(AM_SANITY_CHECK,
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "[$]*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "[$]*" != "X $srcdir/configure conftestfile" \
- && test "[$]*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "[$]2" = conftestfile
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-rm -f conftest*
-AC_MSG_RESULT(yes)])
-
-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
-dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
-[AC_MSG_CHECKING(for working $2)
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if ($2 --version) < /dev/null > /dev/null 2>&1; then
- $1=$2
- AC_MSG_RESULT(found)
-else
- $1="$3/missing $2"
- AC_MSG_RESULT(missing)
-fi
-AC_SUBST($1)])
-
-# Add --enable-maintainer-mode option to configure.
-# From Jim Meyering
-
-# serial 1
-
-AC_DEFUN(AM_MAINTAINER_MODE,
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT($USE_MAINTAINER_MODE)
- AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-# Define a conditional.
-
-AC_DEFUN(AM_CONDITIONAL,
-[AC_SUBST($1_TRUE)
-AC_SUBST($1_FALSE)
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi])
-
-# Like AC_CONFIG_HEADER, but automatically create stamp file.
-
-AC_DEFUN(AM_CONFIG_HEADER,
-[AC_PREREQ([2.12])
-AC_CONFIG_HEADER([$1])
-dnl When config.status generates a header, we must update the stamp-h file.
-dnl This file resides in the same directory as the config header
-dnl that is generated. We must strip everything past the first ":",
-dnl and everything past the last "/".
-AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
-ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
-<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
-<<am_indx=1
-for am_file in <<$1>>; do
- case " <<$>>CONFIG_HEADERS " in
- *" <<$>>am_file "*<<)>>
- echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
- ;;
- esac
- am_indx=`expr "<<$>>am_indx" + 1`
-done<<>>dnl>>)
-changequote([,]))])
-
-
-# serial 35 AC_PROG_LIBTOOL
-AC_DEFUN(AC_PROG_LIBTOOL,
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-
-# Save cache, so that ltconfig can load it
-AC_CACHE_SAVE
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-DLLTOOL="$DLLTOOL" AS="$AS" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
-|| AC_MSG_ERROR([libtool configure failed])
-
-# Reload cache, that may have been modified by ltconfig
-AC_CACHE_LOAD
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-])
-
-AC_DEFUN(AC_LIBTOOL_SETUP,
-[AC_PREREQ(2.13)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_RANLIB])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_SYS_NM_PARSE])dnl
-AC_REQUIRE([AC_SYS_SYMBOL_UNDERSCORE])dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-dnl
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$lt_dlopen" = yes && libtool_flags="$libtool_flags --enable-dlopen"
-test "$silent" = yes && libtool_flags="$libtool_flags --silent"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$host" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-
-*-*-cygwin*)
- AC_SYS_LIBTOOL_CYGWIN
- ;;
-
-esac
-
-# enable the --disable-libtool-lock switch
-
-AC_ARG_ENABLE(libtool-lock,
-[ --disable-libtool-lock force libtool not to do file locking],
-need_locks=$enableval,
-need_locks=yes)
-
-if test x"$need_locks" = xno; then
- libtool_flags="$libtool_flags --disable-lock"
-fi
-])
-
-# AC_LIBTOOL_DLOPEN - check for dlopen support
-AC_DEFUN(AC_LIBTOOL_DLOPEN, [lt_dlopen=yes])
-
-# AC_ENABLE_SHARED - implement the --enable-shared flag
-# Usage: AC_ENABLE_SHARED[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_SHARED,
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(shared,
-changequote(<<, >>)dnl
-<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
-])
-
-# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
-AC_DEFUN(AC_DISABLE_SHARED,
-[AC_ENABLE_SHARED(no)])
-
-# AC_ENABLE_STATIC - implement the --enable-static flag
-# Usage: AC_ENABLE_STATIC[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_STATIC,
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(static,
-changequote(<<, >>)dnl
-<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
-])
-
-# AC_DISABLE_STATIC - set the default static flag to --disable-static
-AC_DEFUN(AC_DISABLE_STATIC,
-[AC_ENABLE_STATIC(no)])
-
-
-# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
-# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_FAST_INSTALL,
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(fast-install,
-changequote(<<, >>)dnl
-<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
-])
-
-# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
-AC_DEFUN(AC_DISABLE_FAST_INSTALL,
-[AC_ENABLE_FAST_INSTALL(no)])
-
-
-# AC_PROG_LD - find the path to the GNU or non-GNU linker
-AC_DEFUN(AC_PROG_LD,
-[AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
- ac_prog=`($CC -print-prog-name=ld) 2>&5`
- case "$ac_prog" in
- # Accept absolute paths.
-changequote(,)dnl
- /* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
-changequote([,])dnl
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(ac_cv_path_LD,
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_SUBST(LD)
-AC_PROG_LD_GNU
-])
-
-AC_DEFUN(AC_PROG_LD_GNU,
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi])
-])
-
-# AC_PROG_NM - find the path to a BSD-compatible name lister
-AC_DEFUN(AC_PROG_NM,
-[AC_MSG_CHECKING([for BSD-compatible nm])
-AC_CACHE_VAL(ac_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- break
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- break
- else
- ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi])
-NM="$ac_cv_path_NM"
-AC_MSG_RESULT([$NM])
-AC_SUBST(NM)
-])
-
-# AC_SYS_NM_PARSE - Check for command to grab the raw symbol name followed
-# by C symbol name from nm.
-AC_DEFUN(AC_SYS_NM_PARSE,
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output])
-AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe,
-[# These are sane defaults that work on at least a few old systems.
-# {They come from Ultrix. What could be older than Ultrix?!! ;)}
-
-changequote(,)dnl
-# Character class describing NM global symbol codes.
-ac_symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-ac_symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
- ac_symcode='[BCDT]'
- ;;
-cygwin* | mingw*)
- ac_symcode='[ABCDGISTW]'
- ;;
-hpux*)
- ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
- ;;
-irix*)
- ac_symcode='[BCDEGRST]'
- ;;
-solaris*)
- ac_symcode='[BDT]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
- ac_symcode='[ABCDGISTW]'
-fi
-changequote([,])dnl
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($ac_symcode\)[ ][ ]*\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- ac_pipe_works=no
- rm -f conftest.$ac_ext
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func;return 0;}
-EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
-
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
-
- # Try sorting and uniquifying the output.
- if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
- mv -f "$ac_nlist"T "$ac_nlist"
- else
- rm -f "$ac_nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
- if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
- cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
-
- cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-changequote(,)dnl
-lt_preloaded_symbols[] =
-changequote([,])dnl
-{
-EOF
- sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
- cat <<\EOF >> conftest.c
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftestm.$ac_objext
- ac_save_LIBS="$LIBS"
- ac_save_CFLAGS="$CFLAGS"
- LIBS="conftestm.$ac_objext"
- CFLAGS="$CFLAGS$no_builtin_flag"
- if AC_TRY_EVAL(ac_link) && test -s conftest; then
- ac_pipe_works=yes
- else
- echo "configure: failed program was:" >&AC_FD_CC
- cat conftest.c >&AC_FD_CC
- fi
- LIBS="$ac_save_LIBS"
- CFLAGS="$ac_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
- fi
- else
- echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC
- fi
- else
- echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
- fi
- else
- echo "$progname: failed program was:" >&AC_FD_CC
- cat conftest.c >&AC_FD_CC
- fi
- rm -rf conftest*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$ac_pipe_works" = yes; then
- if test x"$ac_symprfx" = x"_"; then
- ac_cv_sys_symbol_underscore=yes
- else
- ac_cv_sys_symbol_underscore=no
- fi
- break
- else
- ac_cv_sys_global_symbol_pipe=
- fi
-done
-])
-
-ac_result=yes
-if test -z "$ac_cv_sys_global_symbol_pipe"; then
- ac_result=no
-fi
-AC_MSG_RESULT($ac_result)
-])
-
-# AC_SYS_LIBTOOL_CYGWIN - find tools needed on cygwin
-AC_DEFUN(AC_SYS_LIBTOOL_CYGWIN,
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-AC_CHECK_TOOL(AS, as, false)
-])
-
-# AC_SYS_SYMBOL_UNDERSCORE - does the compiler prefix global symbols
-# with an underscore?
-AC_DEFUN(AC_SYS_SYMBOL_UNDERSCORE,
-[AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_SYS_NM_PARSE])dnl
-AC_MSG_CHECKING([for _ prefix in compiled symbols])
-AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
-[ac_cv_sys_symbol_underscore=no
-cat > conftest.$ac_ext <<EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-EOF
-if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- ac_cv_sys_symbol_underscore=yes
- else
- if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
- fi
- fi
- else
- echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
- fi
-else
- echo "configure: failed program was:" >&AC_FD_CC
- cat conftest.c >&AC_FD_CC
-fi
-rm -rf conftest*
-])
-AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
-USE_SYMBOL_UNDERSCORE=${ac_cv_sys_symbol_underscore=no}
-AC_SUBST(USE_SYMBOL_UNDERSCORE)dnl
-])
-
-# AC_CHECK_LIBM - check for math library
-AC_DEFUN(AC_CHECK_LIBM, [
-AC_CHECK_LIB(mw, _mwvalidcheckl)
-AC_CHECK_LIB(m, cos)
-])
-
-# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl convenience library, adds --enable-ltdl-convenience to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
-AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [
- case "$enable_ltdl_convenience" in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
-])
-
-# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl installable library, and adds --enable-ltdl-install to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [
- AC_CHECK_LIB(ltdl, main, LIBLTDL="-lltdl", [
- case "$enable_ltdl_install" in
- no) AC_MSG_WARN([libltdl not installed, but installation disabled]) ;;
- "") enable_ltdl_install=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-install" ;;
- esac
- ])
- if test x"$enable_ltdl_install" != x"no"; then
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
- fi
-])
-
-dnl old names
-AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
-AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
-AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
-AC_DEFUN(AM_SYS_NM_PARSE, [indir([AC_SYS_NM_PARSE])])dnl
-AC_DEFUN(AM_SYS_SYMBOL_UNDERSCORE, [indir([AC_SYS_SYMBOL_UNDERSCORE])])dnl
-AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN, [indir([AC_SYS_LIBTOOL_CYGWIN])])dnl
-
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
deleted file mode 100644
index c41dab94387..00000000000
--- a/libjava/boehm.cc
+++ /dev/null
@@ -1,367 +0,0 @@
-// boehm.cc - interface between libjava and Boehm GC.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include <cni.h>
-#include <java/lang/Class.h>
-#include <jvm.h>
-#include <java-field.h>
-
-// We need to include gc_priv.h. However, it tries to include
-// config.h if it hasn't already been included. So we force the
-// inclusion of the Boehm config.h.
-extern "C"
-{
-#include <boehm-config.h>
-#include <gc_priv.h>
-#include <gc_mark.h>
-
- // These aren't declared in any Boehm GC header.
- void GC_finalize_all (void);
- ptr_t GC_debug_generic_malloc (size_t size, int k, GC_EXTRA_PARAMS);
-};
-
-// FIXME: this should probably be defined in some GC header.
-#ifdef GC_DEBUG
-# define GC_GENERIC_MALLOC(Size, Type) \
- GC_debug_generic_malloc (Size, Type, GC_EXTRAS)
-#else
-# define GC_GENERIC_MALLOC(Size, Type) GC_generic_malloc (Size, Type)
-#endif
-
-// We must check for plausibility ourselves.
-#define MAYBE_MARK(Obj, Top, Limit, Source, Exit) \
- if ((ptr_t) (Obj) >= GC_least_plausible_heap_addr \
- && (ptr_t) (Obj) <= GC_greatest_plausible_heap_addr) \
- PUSH_CONTENTS (Obj, Top, Limit, Source, Exit)
-
-#define ObjectClass _CL_Q34java4lang6Object
-extern java::lang::Class ObjectClass;
-#define ClassClass _CL_Q34java4lang5Class
-extern java::lang::Class ClassClass;
-
-
-
-// Nonzero if this module has been initialized.
-static int initialized = 0;
-
-// `kind' index used when allocating Java objects.
-static int obj_kind_x;
-
-// `kind' index used when allocating Java arrays.
-static int array_kind_x;
-
-// Freelist used for Java objects.
-static ptr_t *obj_free_list;
-
-// Freelist used for Java arrays.
-static ptr_t *array_free_list;
-
-
-
-// This is called by the GC during the mark phase. It marks a Java
-// object. We use `void *' arguments and return, and not what the
-// Boehm GC wants, to avoid pollution in our headers.
-void *
-_Jv_MarkObj (void *addr, void *msp, void *msl, void * /*env*/)
-{
- mse *mark_stack_ptr = (mse *) msp;
- mse *mark_stack_limit = (mse *) msl;
- jobject obj = (jobject) addr;
-
- _Jv_VTable *dt = *(_Jv_VTable **) addr;
- // We check this in case a GC occurs before the vtbl is set. FIXME:
- // should use allocation lock while initializing object.
- if (! dt)
- return mark_stack_ptr;
- jclass klass = dt->clas;
-
- // Every object has a sync_info pointer.
- word w = (word) obj->sync_info;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, obj, o1label);
- // Mark the object's class.
- w = (word) klass;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, obj, o2label);
-
- if (klass == &ClassClass)
- {
- jclass c = (jclass) addr;
-
- w = (word) c->next;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c2label);
- w = (word) c->name;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c3label);
- w = (word) c->superclass;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c4label);
- for (int i = 0; i < c->constants.size; ++i)
- {
- w = (word) c->constants.data[i];
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c5label);
- }
-
- // If the class is an array, then the methods field holds a
- // pointer to the element class. If the class is primitive,
- // then the methods field holds a pointer to the array class.
- w = (word) c->methods;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c6label);
-
- if (! c->isArray() && ! c->isPrimitive())
- {
- // Scan each method in the cases where `methods' really
- // points to a methods structure.
- for (int i = 0; i < c->method_count; ++i)
- {
- w = (word) c->methods[i].name;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c,
- cm1label);
- w = (word) c->methods[i].signature;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c,
- cm2label);
- // FIXME: `ncode' entry?
- }
- }
-
- // Mark all the fields.
- w = (word) c->fields;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c8label);
- for (int i = 0; i < c->field_count; ++i)
- {
-#ifndef COMPACT_FIELDS
- w = (word) c->fields[i].name;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c8alabel);
-#endif
- w = (word) c->fields[i].type;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c8blabel);
- }
-
- w = (word) c->vtable;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c9label);
- w = (word) c->interfaces;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, cAlabel);
- for (int i = 0; i < c->interface_count; ++i)
- {
- w = (word) c->interfaces[i];
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, cClabel);
- }
- w = (word) c->loader;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, cBlabel);
- }
- else
- {
- // NOTE: each class only holds information about the class
- // itself. So we must do the marking for the entire inheritance
- // tree in order to mark all fields. FIXME: what about
- // interfaces? We skip Object here, because Object only has a
- // sync_info, and we handled that earlier.
- // Note: occasionally `klass' can be null. For instance, this
- // can happen if a GC occurs between the point where an object
- // is allocated and where the vtbl slot is set.
- while (klass && klass != &ObjectClass)
- {
- jfieldID field = JvGetFirstInstanceField (klass);
- jint max = JvNumInstanceFields (klass);
-
- for (int i = 0; i < max; ++i)
- {
- if (JvFieldIsRef (field))
- {
- jobject val = JvGetObjectField (obj, field);
- w = (word) val;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit,
- obj, elabel);
- }
- field = field->getNextInstanceField ();
- }
- klass = klass->getSuperclass();
- }
- }
-
- return mark_stack_ptr;
-}
-
-// This is called by the GC during the mark phase. It marks a Java
-// array (of objects). We use `void *' arguments and return, and not
-// what the Boehm GC wants, to avoid pollution in our headers.
-void *
-_Jv_MarkArray (void *addr, void *msp, void *msl, void * /*env*/)
-{
- mse *mark_stack_ptr = (mse *) msp;
- mse *mark_stack_limit = (mse *) msl;
- jobjectArray array = (jobjectArray) addr;
-
- _Jv_VTable *dt = *(_Jv_VTable **) addr;
- // We check this in case a GC occurs before the vtbl is set. FIXME:
- // should use allocation lock while initializing object.
- if (! dt)
- return mark_stack_ptr;
- jclass klass = dt->clas;
-
- // Every object has a sync_info pointer.
- word w = (word) array->sync_info;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, array, e1label);
- // Mark the object's class.
- w = (word) klass;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, obj, o2label);
-
- for (int i = 0; i < JvGetArrayLength (array); ++i)
- {
- jobject obj = elements (array)[i];
- w = (word) obj;
- MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, array, e2label);
- }
-
- return mark_stack_ptr;
-}
-
-// Allocate space for a new Java object. FIXME: this might be the
-// wrong interface; we might prefer to pass in the object type as
-// well. It isn't important for this collector, but it might be for
-// other collectors.
-void *
-_Jv_AllocObj (jsize size)
-{
- return GC_GENERIC_MALLOC (size, obj_kind_x);
-}
-
-// Allocate space for a new Java array. FIXME: again, this might be
-// the wrong interface.
-void *
-_Jv_AllocArray (jsize size)
-{
- return GC_GENERIC_MALLOC (size, array_kind_x);
-}
-
-// Allocate some space that is known to be pointer-free.
-void *
-_Jv_AllocBytes (jsize size)
-{
- return GC_GENERIC_MALLOC (size, PTRFREE);
-}
-
-static void
-call_finalizer (GC_PTR obj, GC_PTR client_data)
-{
- _Jv_FinalizerFunc *fn = (_Jv_FinalizerFunc *) client_data;
- jobject jobj = (jobject) obj;
-
- (*fn) (jobj);
-}
-
-void
-_Jv_RegisterFinalizer (void *object, _Jv_FinalizerFunc *meth)
-{
- GC_REGISTER_FINALIZER_NO_ORDER (object, call_finalizer, meth,
- NULL, NULL);
-}
-
-void
-_Jv_RunFinalizers (void)
-{
- GC_invoke_finalizers ();
-}
-
-void
-_Jv_RunAllFinalizers (void)
-{
- GC_finalize_all ();
-}
-
-void
-_Jv_RunGC (void)
-{
- GC_gcollect ();
-}
-
-long
-_Jv_GCTotalMemory (void)
-{
- return GC_get_heap_size ();
-}
-
-/* Sum size of each hblk. */
-static void
-sum_blocks (struct hblk *h, word arg)
-{
- long *sump = (long *) arg;
- /* This evil computation is from boehm-gc/checksums.c. */
- hdr *hhdr = HDR (h);
- int bytes = WORDS_TO_BYTES (hhdr->hb_sz);
- bytes += HDR_BYTES + HBLKSIZE - 1;
- bytes &= ~ (HBLKSIZE - 1);
- *sump += bytes;
-}
-
-/* This turns out to be expensive to implement. For now, we don't
- care. We could make it less expensive, perhaps, but that would
- require some changes to the collector. */
-long
-_Jv_GCFreeMemory (void)
-{
- long sum = 0;
- GC_apply_to_all_blocks (sum_blocks, &sum);
- return sum;
-}
-
-void
-_Jv_InitGC (void)
-{
- int proc;
- DCL_LOCK_STATE;
-
- DISABLE_SIGNALS ();
- LOCK ();
-
- if (initialized)
- {
- UNLOCK ();
- ENABLE_SIGNALS ();
- return;
- }
- initialized = 1;
-
- // Set up state for marking and allocation of Java objects.
- obj_free_list = (ptr_t *) GC_generic_malloc_inner ((MAXOBJSZ + 1)
- * sizeof (ptr_t),
- PTRFREE);
- memset (obj_free_list, 0, (MAXOBJSZ + 1) * sizeof (ptr_t));
-
- proc = GC_n_mark_procs++;
- GC_mark_procs[proc] = (mark_proc) _Jv_MarkObj;
-
- obj_kind_x = GC_n_kinds++;
- GC_obj_kinds[obj_kind_x].ok_freelist = obj_free_list;
- GC_obj_kinds[obj_kind_x].ok_reclaim_list = 0;
- GC_obj_kinds[obj_kind_x].ok_descriptor = MAKE_PROC (proc, 0);
- GC_obj_kinds[obj_kind_x].ok_relocate_descr = FALSE;
- GC_obj_kinds[obj_kind_x].ok_init = TRUE;
-
- // Set up state for marking and allocation of arrays of Java
- // objects.
- array_free_list = (ptr_t *) GC_generic_malloc_inner ((MAXOBJSZ + 1)
- * sizeof (ptr_t),
- PTRFREE);
- memset (array_free_list, 0, (MAXOBJSZ + 1) * sizeof (ptr_t));
-
- proc = GC_n_mark_procs++;
- GC_mark_procs[proc] = (mark_proc) _Jv_MarkArray;
-
- array_kind_x = GC_n_kinds++;
- GC_obj_kinds[array_kind_x].ok_freelist = array_free_list;
- GC_obj_kinds[array_kind_x].ok_reclaim_list = 0;
- GC_obj_kinds[array_kind_x].ok_descriptor = MAKE_PROC (proc, 0);
- GC_obj_kinds[array_kind_x].ok_relocate_descr = FALSE;
- GC_obj_kinds[array_kind_x].ok_init = TRUE;
-
- UNLOCK ();
- ENABLE_SIGNALS ();
-}
diff --git a/libjava/chartables.pl b/libjava/chartables.pl
deleted file mode 100644
index fbcfb277d7b..00000000000
--- a/libjava/chartables.pl
+++ /dev/null
@@ -1,965 +0,0 @@
-# chartables.pl - A perl program to generate tables for use by the
-# Character class.
-
-# Copyright (C) 1998, 1999 Cygnus Solutions
-#
-# This file is part of libjava.
-#
-# This software is copyrighted work licensed under the terms of the
-# Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-# details.
-
-# This program requires a `unidata.txt' file of the form distributed
-# on the Unicode 2.0 CD ROM. Or, get it more conveniently here:
-# ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData-Latest.txt
-# Version `2.1.8' of this file was last used to update the Character class.
-
-# Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
-# "The Java Language Specification", ISBN 0-201-63451-1
-# plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
-
-# Usage: perl chartables.pl [-n] UnicodeData-VERSION.txt
-# If this exits with nonzero status, then you must investigate the
-# cause of the problem.
-# Diagnostics and other information to stderr.
-# This creates the new include/java-chartables.h and
-# include/java-chardecomp.h files directly.
-# With -n, the files are not created, but all processing
-# still occurs.
-
-# Fields in the table.
-$CODE = 0;
-$NAME = 1;
-$CATEGORY = 2;
-$DECOMPOSITION = 5;
-$DECIMAL = 6;
-$DIGIT = 7;
-$NUMERIC = 8;
-$UPPERCASE = 12;
-$LOWERCASE = 13;
-$TITLECASE = 14;
-
-# A special case.
-$TAMIL_DIGIT_ONE = 0x0be7;
-$TAMIL_DIGIT_NINE = 0x0bef;
-
-# These are endpoints of legitimate gaps in the tables.
-$CJK_IDEOGRAPH_END = 0x9fa5;
-$HANGUL_END = 0xd7a3;
-$HIGH_SURROGATE_END = 0xdb7f;
-$PRIVATE_HIGH_SURROGATE_END = 0xdbff;
-$LOW_SURROGATE_END = 0xdfff;
-$PRIVATE_END = 0xf8ff;
-
-%title_to_upper = ();
-%title_to_lower = ();
-%numerics = ();
-%name = ();
-
-@digit_start = ();
-@digit_end = ();
-
-@space_start = ();
-@space_end = ();
-
-# @letter_start = ();
-# @letter_end = ();
-
-@all_start = ();
-@all_end = ();
-@all_cats = ();
-
-@upper_start = ();
-@upper_end = ();
-@upper_map = ();
-%upper_anom = ();
-
-@lower_start = ();
-@lower_end = ();
-@lower_map = ();
-%lower_anom = ();
-
-@attributes = ();
-
-# There are a few characters which actually need two attributes.
-# These are special-cased.
-$ROMAN_START = 0x2160;
-$ROMAN_END = 0x217f;
-%second_attributes = ();
-
-$prevcode = -1;
-$status = 0;
-
-%category_map =
-(
- 'Mn' => 'NON_SPACING_MARK',
- 'Mc' => 'COMBINING_SPACING_MARK',
- 'Me' => 'ENCLOSING_MARK',
- 'Nd' => 'DECIMAL_DIGIT_NUMBER',
- 'Nl' => 'LETTER_NUMBER',
- 'No' => 'OTHER_NUMBER',
- 'Zs' => 'SPACE_SEPARATOR',
- 'Zl' => 'LINE_SEPARATOR',
- 'Zp' => 'PARAGRAPH_SEPARATOR',
- 'Cc' => 'CONTROL',
- 'Cf' => 'FORMAT',
- 'Cs' => 'SURROGATE',
- 'Co' => 'PRIVATE_USE',
- 'Cn' => 'UNASSIGNED',
- 'Lu' => 'UPPERCASE_LETTER',
- 'Ll' => 'LOWERCASE_LETTER',
- 'Lt' => 'TITLECASE_LETTER',
- 'Lm' => 'MODIFIER_LETTER',
- 'Lo' => 'OTHER_LETTER',
- 'Pc' => 'CONNECTOR_PUNCTUATION',
- 'Pd' => 'DASH_PUNCTUATION',
- 'Ps' => 'START_PUNCTUATION',
- 'Pe' => 'END_PUNCTUATION',
- 'Pi' => 'START_PUNCTUATION',
- 'Pf' => 'END_PUNCTUATION',
- 'Po' => 'OTHER_PUNCTUATION',
- 'Sm' => 'MATH_SYMBOL',
- 'Sc' => 'CURRENCY_SYMBOL',
- 'Sk' => 'MODIFIER_SYMBOL',
- 'So' => 'OTHER_SYMBOL'
- );
-
-# These maps characters to their decompositions.
-%canonical_decomposition = ();
-%full_decomposition = ();
-
-
-# Handle `-n' and open output files.
-local ($f1, $f2) = ('include/java-chartables.h',
- 'include/java-chardecomp.h');
-if ($ARGV[0] eq '-n')
-{
- shift @ARGV;
- $f1 = '/dev/null';
- $f2 = '/dev/null';
-}
-
-open (CHARTABLE, "> $f1");
-open (DECOMP, "> $f2");
-
-# Process the Unicode file.
-while (<>)
-{
- chop;
- # Specify a limit for split so that we pick up trailing fields.
- # We make the limit larger than we need, to catch the case where
- # there are extra fields.
- @fields = split (';', $_, 30);
- # Convert code to number.
- $ncode = hex ($fields[$CODE]);
-
- if ($#fields != 14)
- {
- print STDERR ("Entry for \\u", $fields[$CODE],
- " has wrong number of fields: ", $#fields, "\n");
- }
-
- $name{$fields[$CODE]} = $fields[$NAME];
-
- # If we've found a gap in the table, fill it in.
- if ($ncode != $prevcode + 1)
- {
- &process_gap (*fields, $prevcode, $ncode);
- }
-
- &process_char (*fields, $ncode);
-
- $prevcode = $ncode;
-}
-
-if ($prevcode != 0xffff)
-{
- # Setting of `fields' parameter doesn't matter here.
- &process_gap (*fields, $prevcode, 0x10000);
-}
-
-print CHARTABLE "// java-chartables.h - Character tables for java.lang.Character -*- c++ -*-\n\n";
-print CHARTABLE "#ifndef __JAVA_CHARTABLES_H__\n";
-print CHARTABLE "#define __JAVA_CHARTABLES_H__\n\n";
-print CHARTABLE "// These tables are automatically generated by the chartables.pl\n";
-print CHARTABLE "// script. DO NOT EDIT the tables. Instead, fix the script\n";
-print CHARTABLE "// and run it again.\n\n";
-print CHARTABLE "// This file should only be included by natCharacter.cc\n\n";
-
-
-$bytes = 0;
-
-# Titlecase mapping tables.
-if ($#title_to_lower != $#title_to_upper)
-{
- # If this fails we need to reimplement toTitleCase.
- print STDERR "titlecase mappings have different sizes\n";
- $status = 1;
-}
-# Also ensure that the tables are entirely parallel.
-foreach $key (sort keys %title_to_lower)
-{
- if (! defined $title_to_upper{$key})
- {
- print STDERR "titlecase mappings have different entries\n";
- $status = 1;
- }
-}
-&print_single_map ("title_to_lower_table", %title_to_lower);
-&print_single_map ("title_to_upper_table", %title_to_upper);
-
-print CHARTABLE "#ifdef COMPACT_CHARACTER\n\n";
-
-printf CHARTABLE "#define TAMIL_DIGIT_ONE 0x%04x\n\n", $TAMIL_DIGIT_ONE;
-
-# All numeric values.
-&print_numerics;
-
-# Digits only.
-&print_block ("digit_table", *digit_start, *digit_end);
-
-# Space characters.
-&print_block ("space_table", *space_start, *space_end);
-
-# Letters. We used to generate a separate letter table. But this
-# doesn't really seem worthwhile. Simply using `all_table' saves us
-# about 800 bytes, and only adds 3 table probes to isLetter.
-# &print_block ("letter_table", *letter_start, *letter_end);
-
-# Case tables.
-&print_case_table ("upper", *upper_start, *upper_end, *upper_map, *upper_anom);
-&print_case_table ("lower", *lower_start, *lower_end, *lower_map, *lower_anom);
-
-# Everything else.
-&print_all_block (*all_start, *all_end, *all_cats);
-
-print CHARTABLE "#else /* COMPACT_CHARACTER */\n\n";
-
-printf CHARTABLE "#define ROMAN_START 0x%04x\n", $ROMAN_START;
-printf CHARTABLE "#define ROMAN_END 0x%04x\n\n", $ROMAN_END;
-
-&print_fast_tables (*all_start, *all_end, *all_cats,
- *attributes, *second_attributes);
-
-print CHARTABLE "#endif /* COMPACT_CHARACTER */\n\n";
-
-print CHARTABLE "#endif /* __JAVA_CHARTABLES_H__ */\n";
-
-printf STDERR "Approximately %d bytes of data generated (compact case)\n",
- $bytes;
-
-
-# Now generate decomposition tables.
-printf DECOMP "// java-chardecomp.h - Decomposition character tables -*- c++ -*-\n\n";
-printf DECOMP "#ifndef __JAVA_CHARDECOMP_H__\n";
-printf DECOMP "#define __JAVA_CHARDECOMP_H__\n\n";
-print DECOMP "// These tables are automatically generated by the chartables.pl\n";
-print DECOMP "// script. DO NOT EDIT the tables. Instead, fix the script\n";
-print DECOMP "// and run it again.\n\n";
-print DECOMP "// This file should only be included by natCollator.cc\n\n";
-
-print DECOMP "struct decomp_entry\n{\n";
-print DECOMP " jchar key;\n";
-print DECOMP " const char *value;\n";
-print DECOMP "};\n\n";
-
-&write_decompositions;
-
-printf DECOMP "#endif /* __JAVA_CHARDECOMP_H__ */\n";
-
-
-close (CHARTABLE);
-close (DECOMP);
-
-exit $status;
-
-
-# Process a gap in the space.
-sub process_gap
-{
- local (*fields, $prevcode, $ncode) = @_;
- local (@gap_fields, $i);
-
- if ($ncode == $CJK_IDEOGRAPH_END
- || $ncode == $HANGUL_END
- || $ncode == $HIGH_SURROGATE_END
- || $ncode == $PRIVATE_HIGH_SURROGATE_END
- || $ncode == $LOW_SURROGATE_END
- || $ncode == $PRIVATE_END)
- {
- # The characters in the gap we just found are known to
- # have the same properties as the character at the end of
- # the gap.
- @gap_fields = @fields;
- }
- else
- {
- # This prints too much to be enabled.
- # print STDERR "Gap found at \\u", $fields[$CODE], "\n";
- @gap_fields = ('', '', 'Cn', '', '', '', '', '', '', '', '',
- '', '', '', '');
- }
-
- for ($i = $prevcode + 1; $i < $ncode; ++$i)
- {
- $gap_fields[$CODE] = sprintf ("%04x", $i);
- $gap_fields[$NAME] = "CHARACTER " . $gap_fields[$CODE];
- &process_char (*gap_fields, $i);
- }
-}
-
-# Process a single character.
-sub process_char
-{
- local (*fields, $ncode) = @_;
-
- if ($fields[$DECOMPOSITION] ne '')
- {
- &add_decomposition ($ncode, $fields[$DECOMPOSITION]);
- }
-
- # If this is a titlecase character, mark it.
- if ($fields[$CATEGORY] eq 'Lt')
- {
- $title_to_upper{$fields[$CODE]} = $fields[$UPPERCASE];
- $title_to_lower{$fields[$CODE]} = $fields[$LOWERCASE];
- }
- else
- {
- # For upper and lower case mappings, we try to build compact
- # tables that map range onto range. We specifically want to
- # avoid titlecase characters. Java specifies a range check to
- # make sure the character is not between 0x2000 and 0x2fff.
- # We avoid that here because we need to generate table entries
- # -- toLower and toUpper still work in that range.
- if ($fields[$UPPERCASE] eq ''
- && ($fields[$LOWERCASE] ne ''
- || $fields[$NAME] =~ /CAPITAL (LETTER|LIGATURE)/))
- {
- if ($fields[$LOWERCASE] ne '')
- {
- &update_case_block (*upper_start, *upper_end, *upper_map,
- $fields[$CODE], $fields[$LOWERCASE]);
- &set_attribute ($ncode, hex ($fields[$LOWERCASE]));
- }
- else
- {
- $upper_anom{$fields[$CODE]} = 1;
- }
- }
- elsif ($fields[$LOWERCASE] ne '')
- {
- print STDERR ("Java missed upper case char \\u",
- $fields[$CODE], "\n");
- }
- elsif ($fields[$CATEGORY] eq 'Lu')
- {
- # This case is for letters which are marked as upper case
- # but for which there is no lower case equivalent. For
- # instance, LATIN LETTER YR.
- }
-
- if ($fields[$LOWERCASE] eq ''
- && ($fields[$UPPERCASE] ne ''
- || $fields[$NAME] =~ /SMALL (LETTER|LIGATURE)/))
- {
- if ($fields[$UPPERCASE] ne '')
- {
- &update_case_block (*lower_start, *lower_end, *lower_map,
- $fields[$CODE], $fields[$UPPERCASE]);
- &set_attribute ($ncode, hex ($fields[$UPPERCASE]));
- }
- else
- {
- $lower_anom{$fields[$CODE]} = 1;
- }
- }
- elsif ($fields[$UPPERCASE] ne '')
- {
- print STDERR ("Java missed lower case char \\u",
- $fields[$CODE], "\n");
- }
- elsif ($fields[$CATEGORY] eq 'Ll')
- {
- # This case is for letters which are marked as lower case
- # but for which there is no upper case equivalent. For
- # instance, FEMININE ORDINAL INDICATOR.
- }
- }
-
-
- # If we have a non-decimal numeric value, add it to the list.
- if ($fields[$CATEGORY] eq 'Nd'
- && ($ncode < 0x2000 || $ncode > 0x2fff)
- && $fields[$NAME] =~ /DIGIT/)
- {
- # This is a digit character that is handled elsewhere.
- }
- elsif ($fields[$DIGIT] ne '' || $fields[$NUMERIC] ne '')
- {
- # Do a simple check.
- if ($fields[$DECIMAL] ne '')
- {
- # This catches bugs in an earlier implementation of
- # chartables.pl. Now it is here for historical interest
- # only.
- # print STDERR ("Character \u", $fields[$CODE],
- # " would have been missed as digit\n");
- }
-
- local ($val) = $fields[$DIGIT];
- $val = $fields[$NUMERIC] if $val eq '';
- local ($ok) = 1;
-
- # If we have a value which is not a positive integer, then we
- # set the value to -2 to make life easier for
- # Character.getNumericValue.
- if ($val !~ m/^[0-9]+$/)
- {
- if ($fields[$CATEGORY] ne 'Nl'
- && $fields[$CATEGORY] ne 'No')
- {
- # This shows a few errors in the Unicode table. These
- # characters have a missing Numeric field, and the `N'
- # for the mirrored field shows up there instead. I
- # reported these characters to errata@unicode.org on
- # Thu Sep 10 1998. They said it will be fixed in the
- # 2.1.6 release of the tables.
- print STDERR ("Character \u", $fields[$CODE],
- " has value but is not numeric; val = '",
- $val, "'\n");
- # We skip these.
- $ok = 0;
- }
- $val = "-2";
- }
-
- if ($ok)
- {
- $numerics{$fields[$CODE]} = $val;
- &set_attribute ($ncode, $val);
- }
- }
-
- # We build a table that lists ranges of ordinary decimal values.
- # At each step we make sure that the digits are in the correct
- # order, with no holes, as this is assumed by Character. If this
- # fails, reimplementation is required. This implementation
- # dovetails nicely with the Java Spec, which has strange rules for
- # what constitutes a decimal value. In particular the Unicode
- # name must contain the word `DIGIT'. The spec doesn't directly
- # say that digits must have type `Nd' (or that their value must an
- # integer), but that can be inferred from the list of digits in
- # the book(s). Currently the only Unicode characters whose name
- # includes `DIGIT' which would not fit are the Tibetan "half"
- # digits.
- if ($fields[$CATEGORY] eq 'Nd')
- {
- if (($ncode < 0x2000 || $ncode > 0x2fff)
- && $fields[$NAME] =~ /DIGIT/)
- {
- &update_digit_block (*digit_start, *digit_end, $fields[$CODE],
- $fields[$DECIMAL]);
- &set_attribute ($ncode, $fields[$DECIMAL]);
- }
- else
- {
- # If this fails then Character.getType will fail. We
- # assume that things in `digit_table' are the only
- # category `Nd' characters.
- print STDERR ("Character \u", $fields[$CODE],
- " is class Nd but not in digit table\n");
- $status = 1;
- }
- }
-
- # Keep track of space characters.
- if ($fields[$CATEGORY] =~ /Z[slp]/)
- {
- &update_block (*space_start, *space_end, $fields[$CODE]);
- }
-
- # Keep track of letters.
- # if ($fields[$CATEGORY] =~ /L[ultmo]/)
- # {
- # &update_letter_block (*letter_start, *letter_end, $fields[$CODE],
- # $fields[$CATEGORY]);
- # }
-
- # Keep track of all characters. You might think we wouldn't have
- # to do this for uppercase letters, or other characters we already
- # "classify". The problem is that this classification is
- # different. E.g., \u216f is uppercase by Java rules, but is a
- # LETTER_NUMBER here.
- &update_all_block (*all_start, *all_end, *all_cats,
- $fields[$CODE], $fields[$CATEGORY]);
-}
-
-
-# Called to add a new decomposition.
-sub add_decomposition
-{
- local ($ncode, $value) = @_;
- local ($is_full) = 0;
- local ($first) = 1;
- local (@decomp) = ();
-
- foreach (split (' ', $value))
- {
- if ($first && /^\<.*\>$/)
- {
- $is_full = 1;
- }
- else
- {
- push (@decomp, hex ($_));
- }
- $first = 0;
- }
-
- # We pack the value into a string because this means we can stick
- # with Perl 4 features.
- local ($s) = pack "I*", @decomp;
- if ($is_full)
- {
- $full_decomposition{$ncode} = $s;
- }
- else
- {
- $canonical_decomposition{$ncode} = $s;
- }
-}
-
-# Write a single decomposition table.
-sub write_single_decomposition
-{
- local ($name, $is_canon, %table) = @_;
-
- printf DECOMP "static const decomp_entry ${name}_decomposition[] =\n{\n";
-
- local ($key, @expansion, $char);
- local ($first_line) = 1;
-
- for ($key = 0; $key <= 65535; ++$key)
- {
- next if ! defined $table{$key};
-
- printf DECOMP ",\n"
- unless $first_line;
- $first_line = 0;
-
- printf DECOMP " { 0x%04x, \"", $key;
-
- # We represent the expansion as a series of bytes, terminated
- # with a double nul. This is ugly, but relatively
- # space-efficient. Most expansions are short, but there are a
- # few that are very long (e.g. \uFDFA). This means that if we
- # chose a fixed-space representation we would waste a lot of
- # space.
- @expansion = unpack "I*", $table{$key};
- foreach $char (@expansion)
- {
- printf DECOMP "\\x%02x\\x%02x", ($char / 256), ($char % 256);
- }
-
- printf DECOMP "\" }";
- }
-
- printf DECOMP "\n};\n\n";
-}
-
-sub write_decompositions
-{
- &write_single_decomposition ('canonical', 1, %canonical_decomposition);
- &write_single_decomposition ('full', 0, %full_decomposition);
-}
-
-# We represent a block of characters with a pair of lists. This
-# function updates the pair to account for the new character. Returns
-# 1 if we added to the old block, 0 otherwise.
-sub update_block
-{
- local (*start, *end, $char) = @_;
-
- local ($nchar) = hex ($char);
- local ($count) = $#end;
- if ($count >= 0 && $end[$count] == $nchar - 1)
- {
- ++$end[$count];
- return 1;
- }
- else
- {
- ++$count;
- $start[$count] = $nchar;
- $end[$count] = $nchar;
- }
- return 0;
-}
-
-# Return true if we will be appending this character to the end of the
-# existing block.
-sub block_append_p
-{
- local (*end, $char) = @_;
- return $#end >= 0 && $end[$#end] == $char - 1;
-}
-
-# This updates the digit block. This table is much like an ordinary
-# block, but it has an extra constraint.
-sub update_digit_block
-{
- local (*start, *end, $char, $value) = @_;
-
- &update_block ($start, $end, $char);
- local ($nchar) = hex ($char);
-
- # We want to make sure that the new digit's value is correct for
- # its place in the block. However, we special-case Tamil digits,
- # since Tamil does not have a digit `0'.
- local ($count) = $#start;
- if (($nchar < $TAMIL_DIGIT_ONE || $nchar > $TAMIL_DIGIT_NINE)
- && $nchar - $start[$count] != $value)
- {
- # If this fails then Character.digit_value will be wrong.
- print STDERR "Character \\u", $char, " violates digit constraint\n";
- $status = 1;
- }
-}
-
-# Update letter table. We could be smart about avoiding upper or
-# lower case letters, but it is much simpler to just track them all.
-sub update_letter_block
-{
- local (*start, *end, $char, $category) = @_;
-
- &update_block (*start, *end, $char);
-}
-
-# Update `all' table. This table holds all the characters we don't
-# already categorize for other reasons. FIXME: if a given type has
-# very few characters, we should just inline the code. E.g., there is
-# only one paragraph separator.
-sub update_all_block
-{
- local (*start, *end, *cats, $char, $category) = @_;
-
- local ($nchar) = hex ($char);
- local ($count) = $#end;
- if ($count >= 0
- && $end[$count] == $nchar - 1
- && $cats[$count] eq $category)
- {
- ++$end[$count];
- }
- else
- {
- ++$count;
- $start[$count] = $nchar;
- $end[$count] = $nchar;
- $cats[$count] = $category;
- }
-}
-
-# Update a case table. We handle case tables specially because we
-# want to map (e.g.) a block of uppercase characters directly onto the
-# corresponding block of lowercase characters. Therefore we generate
-# a new entry when the block would no longer map directly.
-sub update_case_block
-{
- local (*start, *end, *map, $char, $mapchar) = @_;
-
- local ($nchar) = hex ($char);
- local ($nmap) = hex ($mapchar);
-
- local ($count) = $#end;
- if ($count >= 0
- && $end[$count] == $nchar - 1
- && $nchar - $start[$count] == $nmap - $map[$count])
- {
- ++$end[$count];
- }
- else
- {
- ++$count;
- $start[$count] = $nchar;
- $end[$count] = $nchar;
- $map[$count] = $nmap;
- }
-}
-
-# Set the attribute value for the character. Each character can have
-# only one attribute.
-sub set_attribute
-{
- local ($ncode, $attr) = @_;
-
- if ($attributes{$ncode} ne '' && $attributes{$ncode} ne $attr)
- {
- if ($ncode >= $ROMAN_START && $ncode <= $ROMAN_END)
- {
- $second_attributes{$ncode} = $attr;
- }
- else
- {
- printf STDERR "character \\u%04x already has attribute\n", $ncode;
- }
- }
- # Attributes can be interpreted as unsigned in some situations,
- # so we check against 65535. This could cause errors -- we need
- # to check the interpretation here.
- elsif ($attr < -32768 || $attr > 65535)
- {
- printf STDERR "attribute out of range for character \\u%04x\n", $ncode;
- }
- else
- {
- $attributes{$ncode} = $attr;
- }
-}
-
-
-# Print a block table.
-sub print_block
-{
- local ($title, *start, *end) = @_;
-
- print CHARTABLE "static const jchar ", $title, "[][2] =\n";
- print CHARTABLE " {\n";
-
- local ($i) = 0;
- while ($i <= $#start)
- {
- print CHARTABLE " { ";
- &print_char ($start[$i]);
- print CHARTABLE ", ";
- &print_char ($end[$i]);
- print CHARTABLE " }";
- print CHARTABLE "," if ($i != $#start);
- print CHARTABLE "\n";
- ++$i;
- $bytes += 4; # Two bytes per char.
- }
-
- print CHARTABLE " };\n\n";
-}
-
-# Print the numerics table.
-sub print_numerics
-{
- local ($i, $key, $count, @keys);
-
- $i = 0;
- @keys = sort keys %numerics;
- $count = @keys;
-
- print CHARTABLE "static const jchar numeric_table[] =\n";
- print CHARTABLE " { ";
- foreach $key (@keys)
- {
- &print_char (hex ($key));
- ++$i;
- print CHARTABLE ", " if $i < $count;
- # Print 5 per line.
- print CHARTABLE "\n " if ($i % 5 == 0);
- $bytes += 2; # One character.
- }
- print CHARTABLE " };\n\n";
-
- print CHARTABLE "static const jshort numeric_value[] =\n";
- print CHARTABLE " { ";
- $i = 0;
- foreach $key (@keys)
- {
- print CHARTABLE $numerics{$key};
- if ($numerics{$key} > 32767 || $numerics{$key} < -32768)
- {
- # This means our generated type info is incorrect. We
- # could just detect and work around this here, but I'm
- # lazy.
- print STDERR "numeric value won't fit in a short\n";
- $status = 1;
- }
- ++$i;
- print CHARTABLE ", " if $i < $count;
- # Print 10 per line.
- print CHARTABLE "\n " if ($i % 10 == 0);
- $bytes += 2; # One short.
- }
- print CHARTABLE " };\n\n";
-}
-
-# Print a table that maps one single letter onto another. It assumes
-# the map is index by char code.
-sub print_single_map
-{
- local ($title, %map) = @_;
-
- local (@keys) = sort keys %map;
- $num = @keys;
- print CHARTABLE "static const jchar ", $title, "[][2] =\n";
- print CHARTABLE " {\n";
- $i = 0;
- for $key (@keys)
- {
- print CHARTABLE " { ";
- &print_char (hex ($key));
- print CHARTABLE ", ";
- &print_char (hex ($map{$key}));
- print CHARTABLE " }";
- ++$i;
- if ($i < $num)
- {
- print CHARTABLE ",";
- }
- else
- {
- print CHARTABLE " ";
- }
- print CHARTABLE " // ", $name{$key}, "\n";
- $bytes += 4; # Two bytes per char.
- }
- print CHARTABLE " };\n\n";
-}
-
-# Print the `all' block.
-sub print_all_block
-{
- local (*start, *end, *cats) = @_;
-
- &print_block ("all_table", *start, *end);
-
- local ($i) = 0;
- local ($sum) = 0;
- while ($i <= $#start)
- {
- $sum += $end[$i] - $start[$i] + 1;
- ++$i;
- }
- # We do this computation just to make sure it isn't cheaper to
- # simply list all the characters individually.
- printf STDERR ("all_table encodes %d characters in %d entries\n",
- $sum, $#start + 1);
-
- print CHARTABLE "static const jbyte category_table[] =\n";
- print CHARTABLE " { ";
-
- $i = 0;
- while ($i <= $#cats)
- {
- if ($i > 0 && $cats[$i] eq $cats[$i - 1])
- {
- # This isn't an error. We can have a duplicate because
- # two ranges are not adjacent while the intervening
- # characters are left out of the table for other reasons.
- # We could exploit this to make the table a little smaller.
- # printf STDERR "Duplicate all entry at \\u%04x\n", $start[$i];
- }
- print CHARTABLE 'java::lang::Character::', $category_map{$cats[$i]};
- print CHARTABLE ", " if ($i < $#cats);
- ++$i;
- print CHARTABLE "\n ";
- ++$bytes;
- }
- print CHARTABLE " };\n\n";
-}
-
-# Print case table.
-sub print_case_table
-{
- local ($title, *start, *end, *map, *anomalous) = @_;
-
- &print_block ($title . '_case_table', *start, *end);
-
- print CHARTABLE "static const jchar ", $title, "_case_map_table[] =\n";
- print CHARTABLE " { ";
-
- local ($i) = 0;
- while ($i <= $#map)
- {
- &print_char ($map[$i]);
- print CHARTABLE ", " if $i < $#map;
- ++$i;
- print CHARTABLE "\n " if $i % 5 == 0;
- $bytes += 2;
- }
- print CHARTABLE " };\n";
-
-
- local ($key, @keys);
- @keys = sort keys %anomalous;
-
- if ($title eq 'upper')
- {
- if ($#keys >= 0)
- {
- # If these are found we need to change Character.isUpperCase.
- print STDERR "Found anomalous upper case characters\n";
- $status = 1;
- }
- }
- else
- {
- print CHARTABLE "\n";
- print CHARTABLE "static const jchar ", $title, "_anomalous_table[] =\n";
- print CHARTABLE " { ";
- $i = 0;
- foreach $key (@keys)
- {
- &print_char (hex ($key));
- print CHARTABLE ", " if $i < $#keys;
- ++$i;
- print CHARTABLE "\n " if $i % 5 == 0;
- $bytes += 2;
- }
- print CHARTABLE " };\n";
- }
-
- print CHARTABLE "\n";
-}
-
-# Print the type table and attributes table for the fast version.
-sub print_fast_tables
-{
- local (*start, *end, *cats, *atts, *second_atts) = @_;
-
- print CHARTABLE "static const jbyte type_table[] =\n{ ";
-
- local ($i, $j);
- for ($i = 0; $i <= $#cats; ++$i)
- {
- for ($j = $start[$i]; $j <= $end[$i]; ++$j)
- {
- print CHARTABLE 'java::lang::Character::', $category_map{$cats[$i]};
- print CHARTABLE "," if ($i < $#cats || $j < $end[$i]);
- print CHARTABLE "\n ";
- }
- }
- print CHARTABLE "\n };\n\n";
-
- print CHARTABLE "static const jshort attribute_table[] =\n{ ";
- for ($i = 0; $i <= 0xffff; ++$i)
- {
- $atts{$i} = 0 if ! defined $atts{$i};
- print CHARTABLE $atts{$i};
- print CHARTABLE ", " if $i < 0xffff;
- print CHARTABLE "\n " if $i % 5 == 1;
- }
- print CHARTABLE "\n };\n\n";
-
- print CHARTABLE "static const jshort secondary_attribute_table[] =\n{ ";
- for ($i = $ROMAN_START; $i <= $ROMAN_END; ++$i)
- {
- print CHARTABLE $second_atts{$i};
- print CHARTABLE ", " if $i < $ROMAN_END;
- print CHARTABLE "\n " if $i % 5 == 1;
- }
- print CHARTABLE "\n };\n\n";
-}
-
-# Print a character constant.
-sub print_char
-{
- local ($ncode) = @_;
- printf CHARTABLE "0x%04x", $ncode;
-}
diff --git a/libjava/classes.pl b/libjava/classes.pl
deleted file mode 100644
index 35da03ef1a0..00000000000
--- a/libjava/classes.pl
+++ /dev/null
@@ -1,104 +0,0 @@
-# classes.pl - A perl program to generate most of the contents of
-# javaprims.h automatically.
-
-# Copyright (C) 1998, 1999 Cygnus Solutions
-#
-# This file is part of libjava.
-#
-# This software is copyrighted work licensed under the terms of the
-# Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-# details.
-
-# Usage: cd <top-srcdir> ; perl classes.pl.
-# Can also be run from the `include' directory; this lets us
-# more easily insert the output into javaprims.h (which is where it goes).
-
-use DirHandle;
-
-if (-d 'java')
-{
- # Ok here.
-}
-elsif (-d '../java')
-{
- chdir ('..');
-}
-else
-{
- die "couldn't find java directory\n";
-}
-
-&scan ('java', 2);
-
-exit 0;
-
-sub scan
-{
- local ($dir, $indent) = @_;
- local (@subdirs) = ();
- local (%classes) = ();
-
- local ($d) = new DirHandle $dir;
- local (*JFILE);
- local ($name);
- if (defined $d)
- {
- while (defined ($name = $d->read))
- {
- next if $name eq 'CVS';
- next if $name eq '.';
- next if $name eq '..';
- if ($dir eq 'java'
- && $name ne 'lang'
- && $name ne 'util'
- && $name ne 'io')
- {
- # We only generate decls for java.lang, java.io, and
- # java.util.
- next;
- }
- if (-d ($dir . '/' . $name))
- {
- push (@subdirs, $name);
- next;
- }
- next unless $name =~ /\.java$/;
-
- open (FILE, "< $dir/$name");
- while (<FILE>)
- {
- # NOTE: we don't skip `/*' comments.
- s,//.*$,,;
- # For now assume that class names start with upper
- # case letter.
- next unless /(class|interface) ([A-Z][A-Za-z0-9]+)/;
- $classes{$2} = 1;
- }
- close (FILE);
- }
-
- undef $d;
- }
-
- local ($spaces) = ' ' x $indent;
- local ($classname);
- ($classname = $dir) =~ s/^.*\///;
- print $spaces, "namespace ", $classname, "\n";
- print $spaces, "{\n";
-
- foreach (sort keys %classes)
- {
- print $spaces, " class ", $_, ";\n";
- }
- print "\n" if scalar @classes > 0 && scalar @subdirs > 0;
-
- local ($first) = 1;
- foreach (sort @subdirs)
- {
- print "\n" unless $first;
- $first = 0;
- &scan ("$dir/$_", $indent + 2);
- }
-
- print $spaces, "};\n";
-}
diff --git a/libjava/configure b/libjava/configure
deleted file mode 100755
index 31e2e80957c..00000000000
--- a/libjava/configure
+++ /dev/null
@@ -1,5323 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --with-target-subdir=SUBDIR Configuring in a subdirectory"
-ac_help="$ac_help
- --with-cross-host=HOST Configuring with a cross compiler"
-ac_help="$ac_help
- --enable-multilib build many library versions (default)"
-ac_help="$ac_help
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer"
-ac_help="$ac_help
- --enable-shared[=PKGS] build shared libraries [default=yes]"
-ac_help="$ac_help
- --enable-static[=PKGS] build static libraries [default=yes]"
-ac_help="$ac_help
- --enable-fast-install[=PKGS] optimize for fast installation [default=yes]"
-ac_help="$ac_help
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]"
-ac_help="$ac_help
- --disable-libtool-lock force libtool not to do file locking"
-ac_help="$ac_help
- --enable-fast-character Prefer speed over size for Character"
-ac_help="$ac_help
- --enable-libgcj-debug Enable runtime debugging code"
-ac_help="$ac_help
- --with-ecos Enable runtime eCos target support."
-ac_help="$ac_help
- --with-system-zlib Use installed libz"
-ac_help="$ac_help
- --enable-java-gc=TYPE choose garbage collector [boehm]"
-ac_help="$ac_help
- --enable-threads=TYPE choose threading package"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=java/lang/System.java
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-ac_aux_dir=
-for ac_dir in .. $srcdir/..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in .. $srcdir/.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:605: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:626: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:644: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-# Check whether --with-target-subdir or --without-target-subdir was given.
-if test "${with_target_subdir+set}" = set; then
- withval="$with_target_subdir"
- :
-fi
-
-# Check whether --with-cross-host or --without-cross-host was given.
-if test "${with_cross_host+set}" = set; then
- withval="$with_cross_host"
- :
-fi
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:692: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:745: checking whether build environment is sane" >&5
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "$*" != "X $srcdir/configure conftestfile" \
- && test "$*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" 1>&2; exit 1; }
- fi
-
- test "$2" = conftestfile
- )
-then
- # Ok.
- :
-else
- { echo "configure: error: newly created file is older than distributed files!
-Check your system clock" 1>&2; exit 1; }
-fi
-rm -f conftest*
-echo "$ac_t""yes" 1>&6
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:802: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:835: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 840 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:851: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:868: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 873 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:880: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-# Check whether --enable-multilib or --disable-multilib was given.
-if test "${enable_multilib+set}" = set; then
- enableval="$enable_multilib"
- case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
- esac
-else
- multilib=yes
-fi
-
-
-if test "${srcdir}" = "."; then
- if test "${with_target_subdir}" != "."; then
- libgcj_basedir="${srcdir}/${with_multisrctop}../."
- else
- libgcj_basedir="${srcdir}/${with_multisrctop}."
- fi
-else
- libgcj_basedir="${srcdir}/."
-fi
-
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:928: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-
-
-PACKAGE=libjava
-
-VERSION=0.0.7
-
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
-fi
-cat >> confdefs.h <<EOF
-#define PACKAGE "$PACKAGE"
-EOF
-
-cat >> confdefs.h <<EOF
-#define VERSION "$VERSION"
-EOF
-
-
-
-missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:969: checking for working aclocal" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
- echo "$ac_t""found" 1>&6
-else
- ACLOCAL="$missing_dir/missing aclocal"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:982: checking for working autoconf" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoconf --version) < /dev/null > /dev/null 2>&1; then
- AUTOCONF=autoconf
- echo "$ac_t""found" 1>&6
-else
- AUTOCONF="$missing_dir/missing autoconf"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:995: checking for working automake" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
- echo "$ac_t""found" 1>&6
-else
- AUTOMAKE="$missing_dir/missing automake"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:1008: checking for working autoheader" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoheader --version) < /dev/null > /dev/null 2>&1; then
- AUTOHEADER=autoheader
- echo "$ac_t""found" 1>&6
-else
- AUTOHEADER="$missing_dir/missing autoheader"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1021: checking for working makeinfo" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
- MAKEINFO=makeinfo
- echo "$ac_t""found" 1>&6
-else
- MAKEINFO="$missing_dir/missing makeinfo"
- echo "$ac_t""missing" 1>&6
-fi
-
-
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1046: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1076: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1125: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1134: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1149: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-
-# Likewise for AC_PROG_CXX.
-
-
-for ac_prog in $CCC c++ g++ gcc CC cxx cc++
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1185: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$CXX" && break
-done
-test -n "$CXX" || CXX="gcc"
-
-test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
-
-echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1218: checking whether we are using GNU C++" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.C <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1227: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gxx=yes
-else
- ac_cv_prog_gxx=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gxx" 1>&6
-
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=
- echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1242: checking whether ${CXX-g++} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.cc
-if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
- ac_cv_prog_cxx_g=yes
-else
- ac_cv_prog_cxx_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- elif test $ac_cv_prog_cxx_g = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-O2"
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-
-
-# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we dont
-# run it explicitly here, it will be run implicitly before
-# LIBGCJ_CONFIGURE, which doesn't work because that means that it will
-# be run before AC_CANONICAL_HOST.
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1275: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-
-# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1296: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1328: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1360: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_RANLIB"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1392: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- RANLIB=":"
-fi
-fi
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1437: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:1491: checking whether to enable maintainer-specific portions of Makefiles" >&5
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
-
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
-# at least currently, we never actually build a program, so we never
-# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
-# fails, because we are probably configuring with a cross compiler
-# which cant create executables. So we include AC_EXEEXT to keep
-# automake happy, but we dont execute it, since we dont care about
-# the result.
-if false; then
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1525: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:1535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-fi
-
-# configure.host sets the following important variables
-# libgcj_cflags - host specific C compiler flags
-# libgcj_cxxflags - host specific C++ compiler flags
-# libgcj_javaflags - host specific Java compiler flags
-
-libgcj_cflags=
-libgcj_cxxflags=
-libgcj_javaflags=
-
-. ${libgcj_basedir}/configure.host
-
-case ${libgcj_basedir} in
-/* | A-Za-z:/\\*) libgcj_flagbasedir=${libgcj_basedir} ;;
-*) libgcj_flagbasedir='$(top_builddir)/'${libgcj_basedir} ;;
-esac
-
-LIBGCJ_CFLAGS="${libgcj_cflags}"
-LIBGCJ_CXXFLAGS="${libgcj_cxxflags}"
-LIBGCJ_JAVAFLAGS="${libgcj_javaflags}"
-
-
-
-
-
-
-
-
-
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_shared=yes
-fi
-
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_static=yes
-fi
-
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_fast_install=yes
-fi
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1657: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1687: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1717: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test -z "$CC"; then
- case "`uname -s`" in
- *win32* | *WIN32*)
- # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1768: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="cl"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- ;;
- esac
- fi
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1800: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 1811 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:1816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1842: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1847: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-else
- GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1875: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1918: checking for ld used by GCC" >&5
- ac_prog=`($CC -print-prog-name=ld) 2>&5`
- case "$ac_prog" in
- # Accept absolute paths.
- /* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1942: checking for GNU ld" >&5
-else
- echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1945: checking for non-GNU ld" >&5
-fi
-if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-
-echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1981: checking if the linker ($LD) is GNU ld" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
-
-
-echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1997: checking for BSD-compatible nm" >&5
-if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- break
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- break
- else
- ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi
-fi
-
-NM="$ac_cv_path_NM"
-echo "$ac_t""$NM" 1>&6
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo $ac_n "checking command to parse $NM output""... $ac_c" 1>&6
-echo "configure:2035: checking command to parse $NM output" >&5
-if eval "test \"`echo '$''{'ac_cv_sys_global_symbol_pipe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # These are sane defaults that work on at least a few old systems.
-# {They come from Ultrix. What could be older than Ultrix?!! ;)}
-
-# Character class describing NM global symbol codes.
-ac_symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-ac_symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
- ac_symcode='[BCDT]'
- ;;
-cygwin* | mingw*)
- ac_symcode='[ABCDGISTW]'
- ;;
-hpux*)
- ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
- ;;
-irix*)
- ac_symcode='[BCDEGRST]'
- ;;
-solaris*)
- ac_symcode='[BDT]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
- ac_symcode='[ABCDGISTW]'
-fi
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.* \($ac_symcode\) *\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- ac_pipe_works=no
- rm -f conftest.$ac_ext
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func;return 0;}
-EOF
-
- if { (eval echo configure:2098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
-
- if { (eval echo configure:2102: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then
-
- # Try sorting and uniquifying the output.
- if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
- mv -f "$ac_nlist"T "$ac_nlist"
- else
- rm -f "$ac_nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
- if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
- cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
-
- cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
- sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
- cat <<\EOF >> conftest.c
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftestm.$ac_objext
- ac_save_LIBS="$LIBS"
- ac_save_CFLAGS="$CFLAGS"
- LIBS="conftestm.$ac_objext"
- CFLAGS="$CFLAGS$no_builtin_flag"
- if { (eval echo configure:2154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- ac_pipe_works=yes
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- LIBS="$ac_save_LIBS"
- CFLAGS="$ac_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $ac_nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $ac_nlist" >&5
- fi
- else
- echo "cannot run $ac_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$ac_pipe_works" = yes; then
- if test x"$ac_symprfx" = x"_"; then
- ac_cv_sys_symbol_underscore=yes
- else
- ac_cv_sys_symbol_underscore=no
- fi
- break
- else
- ac_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-
-ac_result=yes
-if test -z "$ac_cv_sys_global_symbol_pipe"; then
- ac_result=no
-fi
-echo "$ac_t""$ac_result" 1>&6
-
-echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6
-echo "configure:2200: checking for _ prefix in compiled symbols" >&5
-if eval "test \"`echo '$''{'ac_cv_sys_symbol_underscore'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_cv_sys_symbol_underscore=no
-cat > conftest.$ac_ext <<EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-EOF
-if { (eval echo configure:2209: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { (eval echo configure:2212: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- ac_cv_sys_symbol_underscore=yes
- else
- if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&5
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
-fi
-rm -rf conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_sys_symbol_underscore" 1>&6
-USE_SYMBOL_UNDERSCORE=${ac_cv_sys_symbol_underscore=no}
-
-echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:2238: checking whether ln -s works" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- rm -f conftestdata
-if ln -s X conftestdata 2>/dev/null
-then
- rm -f conftestdata
- ac_cv_prog_LN_S="ln -s"
-else
- ac_cv_prog_LN_S=ln
-fi
-fi
-LN_S="$ac_cv_prog_LN_S"
-if test "$ac_cv_prog_LN_S" = "ln -s"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$lt_dlopen" = yes && libtool_flags="$libtool_flags --enable-dlopen"
-test "$silent" = yes && libtool_flags="$libtool_flags --silent"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$host" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 2274 "configure"' > conftest.$ac_ext
- if { (eval echo configure:2275: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2296: checking whether the C compiler needs -belf" >&5
-if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2301 "configure"
-#include "confdefs.h"
-
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:2308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- lt_cv_cc_needs_belf=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- lt_cv_cc_needs_belf=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-
-*-*-cygwin*)
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2331: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_DLLTOOL"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2363: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_DLLTOOL" && ac_cv_prog_DLLTOOL="false"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- DLLTOOL="false"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2398: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_AS"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2430: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="as"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="false"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- AS="false"
-fi
-fi
-
-
- ;;
-
-esac
-
-# enable the --disable-libtool-lock switch
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
- need_locks=$enableval
-else
- need_locks=yes
-fi
-
-
-if test x"$need_locks" = xno; then
- libtool_flags="$libtool_flags --disable-lock"
-fi
-
-
-# Save cache, so that ltconfig can load it
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-DLLTOOL="$DLLTOOL" AS="$AS" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
-|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
-
-# Reload cache, that may have been modified by ltconfig
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-
-
-if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
- COMPPATH=.
-else
- COMPPATH=..
-fi
-
-
-
-
-if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
-
-# Check whether --enable-fast-character or --disable-fast-character was given.
-if test "${enable_fast_character+set}" = set; then
- enableval="$enable_fast_character"
- # Nothing
-
-else
- cat >> confdefs.h <<\EOF
-#define COMPACT_CHARACTER 1
-EOF
-
-fi
-
-
-# Check whether --enable-libgcj-debug or --disable-libgcj-debug was given.
-if test "${enable_libgcj_debug+set}" = set; then
- enableval="$enable_libgcj_debug"
- if test "$enable_libgcj_debug" = yes; then
- cat >> confdefs.h <<\EOF
-#define DEBUG 1
-EOF
-
- fi
-fi
-
-
-TARGET_ECOS="no"
-# Check whether --with-ecos or --without-ecos was given.
-if test "${with_ecos+set}" = set; then
- withval="$with_ecos"
- TARGET_ECOS="$with_ecos"
-
-fi
-
-
-case "$TARGET_ECOS" in
- no)
- FILE_DESCRIPTOR=natFileDescriptorPosix.cc
- PROCESS=Posix
- ;;
- *)
- FILE_DESCRIPTOR=natFileDescriptorEcos.cc
- PROCESS=Ecos
- cat >> confdefs.h <<\EOF
-#define ECOS 1
-EOF
-
- ;;
-esac
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2628: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 2643 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2649: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 2660 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2666: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 2677 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2683: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-cat > conftest.$ac_ext <<EOF
-#line 2708 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "__uint32_t" >/dev/null 2>&1; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define HAVE_INT32_DEFINED 1
-EOF
-
-fi
-rm -f conftest*
-
-cat > conftest.$ac_ext <<EOF
-#line 2723 "configure"
-#include "confdefs.h"
-#include <sys/config.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "__uint32_t" >/dev/null 2>&1; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define HAVE_INT32_DEFINED 1
-EOF
-
-fi
-rm -f conftest*
-
-
-cat > conftest.$ac_ext <<EOF
-#line 2739 "configure"
-#include "confdefs.h"
-#include <time.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "mktime" >/dev/null 2>&1; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define HAVE_MKTIME 1
-EOF
-
-fi
-rm -f conftest*
-
-cat > conftest.$ac_ext <<EOF
-#line 2754 "configure"
-#include "confdefs.h"
-#include <time.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "localtime" >/dev/null 2>&1; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define HAVE_LOCALTIME 1
-EOF
-
-fi
-rm -f conftest*
-
-
-test -d java || mkdir java
-test -d java/io || mkdir java/io
-
-
-test -d java/lang || mkdir java/lang
-
-
-
-SYSTEMSPEC=
-
-
-# Check whether --with-system-zlib or --without-system-zlib was given.
-if test "${with_system_zlib+set}" = set; then
- withval="$with_system_zlib"
- :
-fi
-
-ZLIBSPEC=
-
-
-libsubdir=.libs
-
-echo $ac_n "checking for garbage collector to use""... $ac_c" 1>&6
-echo "configure:2792: checking for garbage collector to use" >&5
-# Check whether --enable-java-gc or --disable-java-gc was given.
-if test "${enable_java_gc+set}" = set; then
- enableval="$enable_java_gc"
-
- GC=$enableval
-else
- GC=boehm
-fi
-
-GCLIBS=
-GCINCS=
-GCDEPS=
-GCOBJS=
-GCSPEC=
-case "$GC" in
- boehm)
- echo "$ac_t""boehm" 1>&6
- GCDEPS='$(top_builddir)/../boehm-gc/libgcjgc.la'
- # We include the path to the boehm-gc build directory.
- # See Makefile.am to understand why.
- GCLIBS="$GCDEPS -L\$(here)/../boehm-gc/$libsubdir"
- GCINCS='-I$(top_srcdir)/../boehm-gc -I$(top_builddir)/../boehm-gc'
- GCSPEC='-lgcjgc'
- GCINCS="$GCINCS `cat ../boehm-gc/boehm-cflags`"
- GCOBJS=boehm.lo
- GCHDR=boehm-gc.h
- cat >> confdefs.h <<\EOF
-#define HAVE_BOEHM_GC 1
-EOF
-
- ;;
- no)
- echo "$ac_t""none" 1>&6
- GCOBJS=nogc.lo
- GCHDR=no-gc.h
- ;;
- *)
- { echo "configure: error: unrecognized collector \"$GC\"" 1>&2; exit 1; }
- ;;
-esac
-
-
-
-
-
-
-
-
-echo $ac_n "checking for threads package to use""... $ac_c" 1>&6
-echo "configure:2842: checking for threads package to use" >&5
-# Check whether --enable-threads or --disable-threads was given.
-if test "${enable_threads+set}" = set; then
- enableval="$enable_threads"
- THREADS=$enableval
-else
- THREADS=no
-fi
-
-
-if test "$THREADS" = yes; then
- case "$host" in
- *-*-vxworks*)
- THREADS=vxworks
- ;;
- *-*-linux*)
- # FIXME: this isn't correct in all cases.
- THREADS=posix
- ;;
- *-*-win*)
- THREADS=win32
- ;;
- *-*-irix*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose irix threads.
- THREADS=posix
- ;;
- *-*-solaris*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose solaris threads.
- THREADS=posix
- ;;
- *)
- # For now.
- THREADS=none
- ;;
- esac
-fi
-
-case "$THREADS" in
- no | none | single)
- THREADS=none
- ;;
- posix | pthreads)
- THREADS=posix
- case "$host" in
- *-*-linux*)
- cat >> confdefs.h <<\EOF
-#define LINUX_THREADS 1
-EOF
-
- ;;
- esac
- ;;
- qt)
- ;;
- decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
- { echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
- ;;
- *)
- { echo "configure: error: $THREADS is an unknown thread package" 1>&2; exit 1; }
- ;;
-esac
-echo "$ac_t""$THREADS" 1>&6
-
-THREADLIBS=
-THREADINCS=
-THREADDEPS=
-THREADOBJS=
-THREADH=
-THREADSPEC=
-case "$THREADS" in
- posix)
- THREADLIBS=-lpthread
- THREADSPEC=-lpthread
- THREADOBJS=posix-threads.lo
- THREADH=posix-threads.h
- # MIT pthreads doesn't seem to have the mutexattr functions.
- # But for now we don't check for it. We just assume you aren't
- # using MIT pthreads.
- cat >> confdefs.h <<\EOF
-#define HAVE_PTHREAD_MUTEXATTR_INIT 1
-EOF
-
- ;;
-
- qt)
- THREADDEPS='$(top_builddir)/../qthreads/libgcjcoop.la'
- # We include the path to the qthreads build directory.
- # See Makefile.am to understand why.
- THREADLIBS="$THREADDEPS -L\$(here)/../qthreads/$libsubdir"
- THREADSPEC='-lgcjcoop'
- THREADOBJS=quick-threads.lo
- THREADINCS='-I$(top_srcdir)/../qthreads'
- THREADH=quick-threads.h
- ;;
-
- none)
- THREADOBJS=no-threads.lo
- THREADH=no-threads.h
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test "$GCC" = yes; then
- USING_GCC_TRUE=
- USING_GCC_FALSE='#'
-else
- USING_GCC_TRUE='#'
- USING_GCC_FALSE=
-fi
-
-CANADIAN=no
-NULL_TARGET=no
-
-# Find eh-common.h and support headers. If we're in the tree with
-# gcc, then look there. Otherwise look in compat-include. If all else
-# fails, just hope the user has set things up somehow.
-if test -r $srcdir/../gcc/eh-common.h; then
- EH_COMMON_INCLUDE='-I$(top_srcdir)/../gcc -I$(top_srcdir)/../include'
-else
- if test -d $srcdir/../compat-include; then
- EH_COMMON_INCLUDE='-I$(top_srcdir)/../compat-include'
- else
- EH_COMMON_INCLUDE=
- fi
-fi
-
-if test -n "${with_cross_host}"; then
- # We are being configured with a cross compiler. AC_REPLACE_FUNCS
- # may not work correctly, because the compiler may not be able to
- # link executables.
-
- # We assume newlib. This lets us hard-code the functions we know
- # we'll have.
- cat >> confdefs.h <<\EOF
-#define HAVE_MEMMOVE 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_MEMCPY 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_STRERROR 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_CTIME_R 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_GMTIME_R 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_LOCALTIME_R 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_PTHREAD_MUTEXATTR_INIT 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-
- ZLIBSPEC=-lgcj
-
- # If Canadian cross, then don't pick up tools from the build
- # directory.
- if test "$build" != "$with_cross_host"; then
- CANADIAN=yes
- EH_COMMON_INCLUDE=
- GCJ="${target_alias}/gcj"
- else
- GCJ=
- fi
-else
- # Some POSIX thread systems don't have pthread_mutexattr_settype.
- # E.g., Solaris.
- for ac_func in strerror ioctl select open fsync sleep
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3034: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3039 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- for ac_func in ctime_r ctime
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3089: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3094 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- break
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- for ac_func in gmtime_r localtime_r readdir_r getpwuid_r
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3144: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3149 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- for ac_func in access stat mkdir rename rmdir unlink realpath
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3199: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3204 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- for ac_func in inet_aton inet_addr
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3254: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3259 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- break
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- for ac_func in inet_pton uname
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3309: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3314 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
- for ac_func in gethostbyname_r
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3365: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3370 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_GETHOSTBYNAME_R 1
-EOF
-
- # There are two different kinds of gethostbyname_r.
- # We look for the one that returns `int'.
- # Hopefully this check is robust enough.
- cat > conftest.$ac_ext <<EOF
-#line 3420 "configure"
-#include "confdefs.h"
-#include <netdb.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "int.*gethostbyname_r" >/dev/null 2>&1; then
- rm -rf conftest*
-
- cat >> confdefs.h <<\EOF
-#define GETHOSTBYNAME_R_RETURNS_INT 1
-EOF
-
-fi
-rm -f conftest*
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
- for ac_func in gethostbyaddr_r
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3444: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3449 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_GETHOSTBYADDR_R 1
-EOF
-
- # There are two different kinds of gethostbyaddr_r.
- # We look for the one that returns `int'.
- # Hopefully this check is robust enough.
- cat > conftest.$ac_ext <<EOF
-#line 3499 "configure"
-#include "confdefs.h"
-#include <netdb.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "int.*gethostbyaddr_r" >/dev/null 2>&1; then
- rm -rf conftest*
-
- cat >> confdefs.h <<\EOF
-#define GETHOSTBYADDR_R_RETURNS_INT 1
-EOF
-
-fi
-rm -f conftest*
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
- for ac_func in gethostname
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3523: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3528 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_GETHOSTNAME 1
-EOF
-
- cat > conftest.$ac_ext <<EOF
-#line 3575 "configure"
-#include "confdefs.h"
-#include <unistd.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "gethostname" >/dev/null 2>&1; then
- rm -rf conftest*
-
- cat >> confdefs.h <<\EOF
-#define HAVE_GETHOSTNAME_DECL 1
-EOF
-
-fi
-rm -f conftest*
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
- # Look for these functions in the thread library.
- save_LIBS="$LIBS"
- LIBS="$LIBS $THREADLIBS"
- for ac_func in pthread_mutexattr_settype pthread_mutexattr_setkind_np sched_yield
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3602: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3607 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- # Look for sched_yield. Sometimes it is in the posix4 library.
- for ac_func in sched_yield
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3658: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3663 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-echo $ac_n "checking for sched_yield in -lposix4""... $ac_c" 1>&6
-echo "configure:3708: checking for sched_yield in -lposix4" >&5
-ac_lib_var=`echo posix4'_'sched_yield | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lposix4 $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3716 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char sched_yield();
-
-int main() {
-sched_yield()
-; return 0; }
-EOF
-if { (eval echo configure:3727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-
- cat >> confdefs.h <<\EOF
-#define HAVE_SCHED_YIELD 1
-EOF
-
- THREADLIBS="$THREADLIBS -lposix4"
-else
- echo "$ac_t""no" 1>&6
-fi
-
-fi
-done
-
- LIBS="$save_LIBS"
-
- # We require a way to get the time.
- time_found=no
- for ac_func in gettimeofday time ftime
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3762: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3767 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- time_found=yes
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- if test "$time_found" = no; then
- { echo "configure: error: no function found to get the time" 1>&2; exit 1; }
- fi
-
- # We require memmove.
- memmove_found=no
- for ac_func in memmove
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3823: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3828 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- memmove_found=yes
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- if test "$memmove_found" = no; then
- { echo "configure: error: memmove is required" 1>&2; exit 1; }
- fi
-
- # We require memcpy.
- memcpy_found=no
- for ac_func in memcpy
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3884: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3889 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- memcpy_found=yes
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- if test "$memcpy_found" = no; then
- { echo "configure: error: memcpy is required" 1>&2; exit 1; }
- fi
-
- # Some library-finding code we stole from Tcl.
- #--------------------------------------------------------------------
- # Check for the existence of the -lsocket and -lnsl libraries.
- # The order here is important, so that they end up in the right
- # order in the command line generated by make. Here are some
- # special considerations:
- # 1. Use "connect" and "accept" to check for -lsocket, and
- # "gethostbyname" to check for -lnsl.
- # 2. Use each function name only once: can't redo a check because
- # autoconf caches the results of the last check and won't redo it.
- # 3. Use -lnsl and -lsocket only if they supply procedures that
- # aren't already present in the normal libraries. This is because
- # IRIX 5.2 has libraries, but they aren't needed and they're
- # bogus: they goof up name resolution if used.
- # 4. On some SVR4 systems, can't use -lsocket without -lnsl too.
- # To get around this problem, check for both libraries together
- # if -lsocket doesn't work by itself.
- #--------------------------------------------------------------------
-
- echo $ac_n "checking for socket libraries""... $ac_c" 1>&6
-echo "configure:3960: checking for socket libraries" >&5
-if eval "test \"`echo '$''{'gcj_cv_lib_sockets'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- gcj_cv_lib_sockets=
- gcj_checkBoth=0
- unset ac_cv_func_connect
- echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:3968: checking for connect" >&5
-if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3973 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char connect(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char connect();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_connect) || defined (__stub___connect)
-choke me
-#else
-connect();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_connect=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_connect=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- gcj_checkSocket=0
-else
- echo "$ac_t""no" 1>&6
-gcj_checkSocket=1
-fi
-
- if test "$gcj_checkSocket" = 1; then
- unset ac_cv_func_connect
- echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
-echo "configure:4019: checking for main in -lsocket" >&5
-ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lsocket $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4027 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:4034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- gcj_cv_lib_sockets="-lsocket"
-else
- echo "$ac_t""no" 1>&6
-gcj_checkBoth=1
-fi
-
- fi
- if test "$gcj_checkBoth" = 1; then
- gcj_oldLibs=$LIBS
- LIBS="$LIBS -lsocket -lnsl"
- unset ac_cv_func_accept
- echo $ac_n "checking for accept""... $ac_c" 1>&6
-echo "configure:4061: checking for accept" >&5
-if eval "test \"`echo '$''{'ac_cv_func_accept'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4066 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char accept(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char accept();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_accept) || defined (__stub___accept)
-choke me
-#else
-accept();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:4089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_accept=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_accept=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'accept`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- gcj_checkNsl=0
- gcj_cv_lib_sockets="-lsocket -lnsl"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- unset ac_cv_func_accept
- LIBS=$gcj_oldLibs
- fi
- unset ac_cv_func_gethostbyname
- gcj_oldLibs=$LIBS
- LIBS="$LIBS $gcj_cv_lib_sockets"
- echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:4116: checking for gethostbyname" >&5
-if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4121 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostbyname(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostbyname();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
-choke me
-#else
-gethostbyname();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:4144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_gethostbyname=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_gethostbyname=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
-echo "configure:4162: checking for main in -lnsl" >&5
-ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lnsl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4170 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:4177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- gcj_cv_lib_sockets="$gcj_cv_lib_sockets -lnsl"
-else
- echo "$ac_t""no" 1>&6
-fi
-
-fi
-
- unset ac_cv_func_gethostbyname
- LIBS=$gcj_oldLIBS
-
-fi
-
-echo "$ac_t""$gcj_cv_lib_sockets" 1>&6
- SYSTEMSPEC="$SYSTEMSPEC $gcj_cv_lib_sockets"
-
- if test "$with_system_zlib" = yes; then
- echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
-echo "configure:4209: checking for deflate in -lz" >&5
-ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lz $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4217 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char deflate();
-
-int main() {
-deflate()
-; return 0; }
-EOF
-if { (eval echo configure:4228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ZLIBSPEC=-lz
-else
- echo "$ac_t""no" 1>&6
-ZLIBSPEC=-lzgcj
-fi
-
- else
- ZLIBSPEC=-lzgcj
- fi
-
- # On Solaris, and maybe other architectures, the Boehm collector
- # requires -ldl.
- if test "$GC" = boehm; then
- echo $ac_n "checking for main in -ldl""... $ac_c" 1>&6
-echo "configure:4257: checking for main in -ldl" >&5
-ac_lib_var=`echo dl'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-ldl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4265 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:4272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SYSTEMSPEC="$SYSTEMSPEC -ldl"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
-
- if test -d "$libgcj_basedir/../gcc/java"; then
- GCJ=
- else
- CANADIAN=yes
- NULL_TARGET=yes
- GCJ=gcj
- fi
-fi
-
-ZLIBS=
-ZDEPS=
-if test "x$ZLIBSPEC" = "x-lzgcj"; then
- # We include the path to the zlib build directory.
- # See Makefile.am to understand why.
- ZDEPS='$(top_builddir)/../zlib/libzgcj.la'
- ZLIBS="$ZDEPS -L\$(here)/../zlib/$libsubdir"
-else
- ZLIBS="$ZLIBSPEC"
-fi
-
-
-
-
-
-if test "$CANADIAN" = yes; then
- CANADIAN_TRUE=
- CANADIAN_FALSE='#'
-else
- CANADIAN_TRUE='#'
- CANADIAN_FALSE=
-fi
-
-
-if test "$NULL_TARGET" = yes; then
- NULL_TARGET_TRUE=
- NULL_TARGET_FALSE='#'
-else
- NULL_TARGET_TRUE='#'
- NULL_TARGET_FALSE=
-fi
-
-
-if test "$CANADIAN" = no || test "$NULL_TARGET" = yes; then
- NATIVE_TRUE=
- NATIVE_FALSE='#'
-else
- NATIVE_TRUE='#'
- NATIVE_FALSE=
-fi
-
-
-# Determine gcj version number.
-if test "$GCJ" = ""; then
- if test -z "${with_multisubdir}"; then
- builddotdot=.
- else
- builddotdot=`echo ${with_multisubdir} | sed -e 's:^/^/*:..:g'`
- fi
- dir="`cd ${builddotdot}/../../gcc && pwd`"
- GCJ="$dir/gcj -B$dir/"
-fi
-
-gcjvers="`$GCJ -v 2>&1 | sed -n 's/^.*version \([^ ]*\).*$/\1/p'`"
-
-cat >> confdefs.h <<EOF
-#define GCJVERSION "$gcjvers"
-EOF
-
-
-
-
-for ac_hdr in unistd.h sys/time.h sys/types.h fcntl.h sys/ioctl.h sys/filio.h sys/stat.h sys/select.h sys/socket.h netinet/in.h arpa/inet.h netdb.h pwd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4369: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4374 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4379: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_hdr in dirent.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4409: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4414 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4419: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-echo $ac_n "checking whether struct sockaddr_in6 is in netinet/in.h""... $ac_c" 1>&6
-echo "configure:4447: checking whether struct sockaddr_in6 is in netinet/in.h" >&5
-cat > conftest.$ac_ext <<EOF
-#line 4449 "configure"
-#include "confdefs.h"
-#include <netinet/in.h>
-int main() {
-struct sockaddr_in6 addr6;
-; return 0; }
-EOF
-if { (eval echo configure:4456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define HAVE_INET6 1
-EOF
-
- echo "$ac_t""yes" 1>&6
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- echo "$ac_t""no" 1>&6
-fi
-rm -f conftest*
-
-echo $ac_n "checking for socklen_t in sys/socket.h""... $ac_c" 1>&6
-echo "configure:4472: checking for socklen_t in sys/socket.h" >&5
-cat > conftest.$ac_ext <<EOF
-#line 4474 "configure"
-#include "confdefs.h"
-#include <sys/socket.h>
-int main() {
-socklen_t x = 5;
-; return 0; }
-EOF
-if { (eval echo configure:4481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define HAVE_SOCKLEN_T 1
-EOF
-
- echo "$ac_t""yes" 1>&6
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- echo "$ac_t""no" 1>&6
-fi
-rm -f conftest*
-
-echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6
-echo "configure:4497: checking for tm_gmtoff in struct tm" >&5
-cat > conftest.$ac_ext <<EOF
-#line 4499 "configure"
-#include "confdefs.h"
-#include <time.h>
-int main() {
-struct tm tim; tim.tm_gmtoff = 0;
-; return 0; }
-EOF
-if { (eval echo configure:4506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define STRUCT_TM_HAS_GMTOFF 1
-EOF
-
- echo "$ac_t""yes" 1>&6
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for global timezone variable""... $ac_c" 1>&6
-echo "configure:4519: checking for global timezone variable" >&5
- cat > conftest.$ac_ext <<EOF
-#line 4521 "configure"
-#include "confdefs.h"
-#include <time.h>
-int main() {
-long z2 = timezone;
-; return 0; }
-EOF
-if { (eval echo configure:4528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- cat >> confdefs.h <<\EOF
-#define HAVE_TIMEZONE 1
-EOF
-
- echo "$ac_t""yes" 1>&6
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- echo "$ac_t""no" 1>&6
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:4548: checking for working alloca.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4553 "configure"
-#include "confdefs.h"
-#include <alloca.h>
-int main() {
-char *p = alloca(2 * sizeof(int));
-; return 0; }
-EOF
-if { (eval echo configure:4560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_cv_header_alloca_h=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_alloca_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
-if test $ac_cv_header_alloca_h = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA_H 1
-EOF
-
-fi
-
-echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:4581: checking for alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4586 "configure"
-#include "confdefs.h"
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int main() {
-char *p = (char *) alloca(1);
-; return 0; }
-EOF
-if { (eval echo configure:4614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_cv_func_alloca_works=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_func_alloca_works=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
-if test $ac_cv_func_alloca_works = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-fi
-
-if test $ac_cv_func_alloca_works = no; then
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
- # that cause trouble. Some versions do not even contain alloca or
- # contain a buggy version. If you still want to use their alloca,
- # use ar to extract alloca.o from them instead of compiling alloca.c.
- ALLOCA=alloca.${ac_objext}
- cat >> confdefs.h <<\EOF
-#define C_ALLOCA 1
-EOF
-
-
-echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:4646: checking whether alloca needs Cray hooks" >&5
-if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4651 "configure"
-#include "confdefs.h"
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "webecray" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_os_cray=yes
-else
- rm -rf conftest*
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_os_cray" 1>&6
-if test $ac_cv_os_cray = yes; then
-for ac_func in _getb67 GETB67 getb67; do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4676: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4681 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:4704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat >> confdefs.h <<EOF
-#define CRAY_STACKSEG_END $ac_func
-EOF
-
- break
-else
- echo "$ac_t""no" 1>&6
-fi
-
-done
-fi
-
-echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:4731: checking stack direction for C alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat > conftest.$ac_ext <<EOF
-#line 4739 "configure"
-#include "confdefs.h"
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-main ()
-{
- exit (find_stack_direction() < 0);
-}
-EOF
-if { (eval echo configure:4758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_c_stack_direction=1
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_c_stack_direction=-1
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
-cat >> confdefs.h <<EOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-EOF
-
-fi
-
-
-for ac_prog in perl
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4785: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_PERL="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-PERL="$ac_cv_prog_PERL"
-if test -n "$PERL"; then
- echo "$ac_t""$PERL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$PERL" && break
-done
-test -n "$PERL" || PERL="false"
-
-
-case "${host}" in
- i?86-*-linux*)
- SIGNAL_HANDLER=include/i386-signal.h
- ;;
- sparc-sun-solaris*)
- SIGNAL_HANDLER=include/sparc-signal.h
- ;;
- *)
- SIGNAL_HANDLER=include/default-signal.h
- ;;
-esac
-
-
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-here=`pwd`
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile libgcj.spec testsuite/Makefile include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@libgcj_basedir@%$libgcj_basedir%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PACKAGE@%$PACKAGE%g
-s%@VERSION@%$VERSION%g
-s%@ACLOCAL@%$ACLOCAL%g
-s%@AUTOCONF@%$AUTOCONF%g
-s%@AUTOMAKE@%$AUTOMAKE%g
-s%@AUTOHEADER@%$AUTOHEADER%g
-s%@MAKEINFO@%$MAKEINFO%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
-s%@AS@%$AS%g
-s%@AR@%$AR%g
-s%@RANLIB@%$RANLIB%g
-s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
-s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
-s%@MAINT@%$MAINT%g
-s%@EXEEXT@%$EXEEXT%g
-s%@LIBGCJ_CFLAGS@%$LIBGCJ_CFLAGS%g
-s%@LIBGCJ_CXXFLAGS@%$LIBGCJ_CXXFLAGS%g
-s%@LIBGCJ_JAVAFLAGS@%$LIBGCJ_JAVAFLAGS%g
-s%@LD@%$LD%g
-s%@NM@%$NM%g
-s%@USE_SYMBOL_UNDERSCORE@%$USE_SYMBOL_UNDERSCORE%g
-s%@LN_S@%$LN_S%g
-s%@DLLTOOL@%$DLLTOOL%g
-s%@LIBTOOL@%$LIBTOOL%g
-s%@COMPPATH@%$COMPPATH%g
-s%@TESTSUBDIR_TRUE@%$TESTSUBDIR_TRUE%g
-s%@TESTSUBDIR_FALSE@%$TESTSUBDIR_FALSE%g
-s%@CPP@%$CPP%g
-s%@SYSTEMSPEC@%$SYSTEMSPEC%g
-s%@ZLIBSPEC@%$ZLIBSPEC%g
-s%@GCLIBS@%$GCLIBS%g
-s%@GCINCS@%$GCINCS%g
-s%@GCDEPS@%$GCDEPS%g
-s%@GCOBJS@%$GCOBJS%g
-s%@GCSPEC@%$GCSPEC%g
-s%@THREADLIBS@%$THREADLIBS%g
-s%@THREADINCS@%$THREADINCS%g
-s%@THREADDEPS@%$THREADDEPS%g
-s%@THREADOBJS@%$THREADOBJS%g
-s%@THREADSPEC@%$THREADSPEC%g
-s%@USING_GCC_TRUE@%$USING_GCC_TRUE%g
-s%@USING_GCC_FALSE@%$USING_GCC_FALSE%g
-s%@ZLIBS@%$ZLIBS%g
-s%@ZDEPS@%$ZDEPS%g
-s%@CANADIAN_TRUE@%$CANADIAN_TRUE%g
-s%@CANADIAN_FALSE@%$CANADIAN_FALSE%g
-s%@NULL_TARGET_TRUE@%$NULL_TARGET_TRUE%g
-s%@NULL_TARGET_FALSE@%$NULL_TARGET_FALSE%g
-s%@NATIVE_TRUE@%$NATIVE_TRUE%g
-s%@NATIVE_FALSE@%$NATIVE_FALSE%g
-s%@EH_COMMON_INCLUDE@%$EH_COMMON_INCLUDE%g
-s%@AM_RUNTESTFLAGS@%$AM_RUNTESTFLAGS%g
-s%@ALLOCA@%$ALLOCA%g
-s%@PERL@%$PERL%g
-s%@here@%$here%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile libgcj.spec testsuite/Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='\([ ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
- CONFIG_HEADERS="include/config.h"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- echo creating $ac_file
-
- rm -f conftest.frag conftest.in conftest.out
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- fi
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-ac_sources="java/io/$FILE_DESCRIPTOR java/lang/${PROCESS}Process.java java/lang/nat${PROCESS}Process.cc include/$GCHDR include/$THREADH $SIGNAL_HANDLER"
-ac_dests="java/io/natFileDescriptor.cc java/lang/ConcreteProcess.java java/lang/natConcreteProcess.cc include/java-gc.h include/java-threads.h include/java-signal.h"
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-srcdir=$ac_given_srcdir
-while test -n "$ac_sources"; do
- set $ac_dests; ac_dest=$1; shift; ac_dests=$*
- set $ac_sources; ac_source=$1; shift; ac_sources=$*
-
- echo "linking $srcdir/$ac_source to $ac_dest"
-
- if test ! -r $srcdir/$ac_source; then
- { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
- fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
- # The dest file is in a subdirectory.
- test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
- ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dest_dir_suffix.
- ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dest_dir_suffix= ac_dots=
- fi
-
- case "$srcdir" in
- [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
- *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
- esac
-
- # Make a symlink if possible; otherwise try a hard link.
- if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest; then :
- else
- { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
- fi
-done
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-srcdir=${srcdir}
-host=${host}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-libgcj_basedir=${libgcj_basedir}
-CC="${CC}"
-CXX="${CXX}"
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-test -z "$CONFIG_HEADERS" || echo timestamp > include/stamp-h
-if test -n "$CONFIG_FILES"; then
- ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
-fi
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/libjava/configure.host b/libjava/configure.host
deleted file mode 100644
index 61e722b5598..00000000000
--- a/libjava/configure.host
+++ /dev/null
@@ -1,61 +0,0 @@
-# configure.host
-
-# This shell script handles all host based configuration for libgcj.
-# It sets various shell variables based on the the host and the
-# configuration options. You can modify this shell script without
-# needing to rerun autoconf.
-
-# This shell script should be invoked as
-# . configure.host
-# If it encounters an error, it will exit with a message.
-
-# It uses the following shell variables:
-# host The configuration host
-# host_cpu The configuration host CPU
-# target_optspace --enable-target-optspace ("yes", "no", "")
-
-# It sets the following shell variables:
-# libgcj_cflags Special CFLAGS to use when building
-# libgcj_cxxflags Special CXXFLAGS to use when building
-# libgcj_javaflags Special JAVAFLAGS to use when building
-
-libgcj_flags=
-libgcj_cflags=
-libgcj_cxxflags=
-libgcj_javaflags=
-
-case "${target_optspace}:${host}" in
- yes:*)
- libgcj_flags="${libgcj_flags} -Os"
- ;;
- :m32r-* | :d10v-* | :d30v-*)
- libgcj_flags="${libgcj_flags} -Os"
- ;;
- no:* | :*)
- # Nothing.
- ;;
-esac
-
-AM_RUNTESTFLAGS=
-
-# Set any host dependent compiler flags.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-
-echo "$target"
-
-case "${host}" in
- mips-tx39-*|mipstx39-unknown-*)
- libgcj_flags="${libgcj_flags} -G 0"
- LDFLAGS="$LDFLAGS -Tjmr3904dram.ld"
- AM_RUNTESTFLAGS="--target_board=jmr3904-sim"
- ;;
- i686-*|i586-*)
- libgcj_flags="${libgcj_flags} -ffloat-store"
- ;;
- *)
- ;;
-esac
-
-libgcj_cflags="${libgcj_cflags} ${libgcj_flags}"
-libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}"
-libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}"
diff --git a/libjava/configure.in b/libjava/configure.in
deleted file mode 100644
index 9dccaa225e2..00000000000
--- a/libjava/configure.in
+++ /dev/null
@@ -1,536 +0,0 @@
-dnl Process this with autoconf to create configure
-AC_INIT(java/lang/System.java)
-
-dnl Can't be done in LIBGCJ_CONFIGURE because that confuses automake.
-AC_CONFIG_AUX_DIR(..)
-
-AC_CANONICAL_SYSTEM
-
-dnl We use these options to decide which functions to include.
-AC_ARG_WITH(target-subdir,
-[ --with-target-subdir=SUBDIR Configuring in a subdirectory])
-AC_ARG_WITH(cross-host,
-[ --with-cross-host=HOST Configuring with a cross compiler])
-
-LIBGCJ_CONFIGURE(.)
-
-AM_CONFIG_HEADER(include/config.h)
-
-AM_PROG_LIBTOOL
-
-if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
- COMPPATH=.
-else
- COMPPATH=..
-fi
-AC_SUBST(COMPPATH)
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-dnl See whether the user prefers size or speed for Character.
-dnl The default is size.
-AC_ARG_ENABLE(fast-character,
-[ --enable-fast-character Prefer speed over size for Character],
-# Nothing
-, AC_DEFINE(COMPACT_CHARACTER))
-
-dnl See if the user has requested runtime debugging.
-AC_ARG_ENABLE(libgcj-debug,
-[ --enable-libgcj-debug Enable runtime debugging code],
- if test "$enable_libgcj_debug" = yes; then
- AC_DEFINE(DEBUG)
- fi)
-
-dnl If the target is an eCos system, use the appropriate eCos
-dnl I/O routines.
-dnl FIXME: this should not be a local option but a global target
-dnl system; at present there is no eCos target.
-TARGET_ECOS="no"
-AC_ARG_WITH(ecos,
-[ --with-ecos Enable runtime eCos target support.],
-TARGET_ECOS="$with_ecos"
-)
-
-case "$TARGET_ECOS" in
- no)
- FILE_DESCRIPTOR=natFileDescriptorPosix.cc
- PROCESS=Posix
- ;;
- *)
- FILE_DESCRIPTOR=natFileDescriptorEcos.cc
- PROCESS=Ecos
- AC_DEFINE(ECOS)
- ;;
-esac
-
-AC_EGREP_HEADER(__uint32_t, sys/types.h, AC_DEFINE(HAVE_INT32_DEFINED))
-AC_EGREP_HEADER(__uint32_t, sys/config.h, AC_DEFINE(HAVE_INT32_DEFINED))
-
-dnl These may not be defined in a non-ANS conformant embedded system.
-dnl FIXME: Should these case a runtime exception in that case?
-AC_EGREP_HEADER(mktime, time.h, AC_DEFINE(HAVE_MKTIME))
-AC_EGREP_HEADER(localtime, time.h, AC_DEFINE(HAVE_LOCALTIME))
-
-dnl Create the subdirectory for natFileDescriptor.cc, or the attempt
-dnl to create the link will fail.
-test -d java || mkdir java
-test -d java/io || mkdir java/io
-AC_LINK_FILES(java/io/$FILE_DESCRIPTOR, java/io/natFileDescriptor.cc)
-
-dnl Likewise for ConcreteProcess.java and natConcreteProcess.cc.
-test -d java/lang || mkdir java/lang
-AC_LINK_FILES(java/lang/${PROCESS}Process.java, java/lang/ConcreteProcess.java)
-AC_LINK_FILES(java/lang/nat${PROCESS}Process.cc, java/lang/natConcreteProcess.cc)
-
-SYSTEMSPEC=
-AC_SUBST(SYSTEMSPEC)
-
-AC_ARG_WITH(system-zlib,
-[ --with-system-zlib Use installed libz])
-ZLIBSPEC=
-AC_SUBST(ZLIBSPEC)
-
-dnl FIXME: this should be _libs on some hosts.
-libsubdir=.libs
-
-dnl Allow the GC to be disabled. Can be useful when debugging.
-AC_MSG_CHECKING([for garbage collector to use])
-AC_ARG_ENABLE(java-gc,
-changequote(<<,>>)dnl
-<< --enable-java-gc=TYPE choose garbage collector [boehm]>>,
-changequote([,])
- GC=$enableval,
- GC=boehm)
-GCLIBS=
-GCINCS=
-GCDEPS=
-GCOBJS=
-GCSPEC=
-case "$GC" in
- boehm)
- AC_MSG_RESULT(boehm)
- GCDEPS='$(top_builddir)/../boehm-gc/libgcjgc.la'
- # We include the path to the boehm-gc build directory.
- # See Makefile.am to understand why.
- GCLIBS="$GCDEPS -L\$(here)/../boehm-gc/$libsubdir"
- GCINCS='-I$(top_srcdir)/../boehm-gc -I$(top_builddir)/../boehm-gc'
- GCSPEC='-lgcjgc'
- dnl We also want to pick up some cpp flags required when including
- dnl boehm-config.h. Yuck.
- GCINCS="$GCINCS `cat ../boehm-gc/boehm-cflags`"
- GCOBJS=boehm.lo
- GCHDR=boehm-gc.h
- dnl The POSIX thread support needs to know this.
- AC_DEFINE(HAVE_BOEHM_GC)
- ;;
- no)
- AC_MSG_RESULT(none)
- GCOBJS=nogc.lo
- GCHDR=no-gc.h
- ;;
- *)
- AC_MSG_ERROR(unrecognized collector \"$GC\")
- ;;
-esac
-AC_SUBST(GCLIBS)
-AC_SUBST(GCINCS)
-AC_SUBST(GCDEPS)
-AC_SUBST(GCOBJS)
-AC_SUBST(GCSPEC)
-AC_LINK_FILES(include/$GCHDR, include/java-gc.h)
-
-
-dnl Note that this code is kept in sync with similar code in gcc/configure.in.
-dnl In particular both packages must make the same decision about which
-dnl thread package to use.
-AC_MSG_CHECKING([for threads package to use])
-AC_ARG_ENABLE(threads, [ --enable-threads=TYPE choose threading package],
- THREADS=$enableval,
- dnl FIXME: figure out native threads to use here.
- THREADS=no)
-
-if test "$THREADS" = yes; then
- case "$host" in
- *-*-vxworks*)
- THREADS=vxworks
- ;;
- *-*-linux*)
- # FIXME: this isn't correct in all cases.
- THREADS=posix
- ;;
- *-*-win*)
- THREADS=win32
- ;;
- *-*-irix*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose irix threads.
- THREADS=posix
- ;;
- *-*-solaris*)
- # FIXME: for now, choose POSIX, because we implement that.
- # Later, choose solaris threads.
- THREADS=posix
- ;;
- *)
- # For now.
- THREADS=none
- ;;
- esac
-fi
-
-case "$THREADS" in
- no | none | single)
- THREADS=none
- ;;
- posix | pthreads)
- THREADS=posix
- case "$host" in
- *-*-linux*)
- AC_DEFINE(LINUX_THREADS)
- ;;
- esac
- ;;
- qt)
- ;;
- decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
- AC_MSG_ERROR(thread package $THREADS not yet supported)
- ;;
- *)
- AC_MSG_ERROR($THREADS is an unknown thread package)
- ;;
-esac
-AC_MSG_RESULT($THREADS)
-
-THREADLIBS=
-THREADINCS=
-THREADDEPS=
-THREADOBJS=
-THREADH=
-THREADSPEC=
-case "$THREADS" in
- posix)
- THREADLIBS=-lpthread
- THREADSPEC=-lpthread
- THREADOBJS=posix-threads.lo
- THREADH=posix-threads.h
- # MIT pthreads doesn't seem to have the mutexattr functions.
- # But for now we don't check for it. We just assume you aren't
- # using MIT pthreads.
- AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_INIT)
- ;;
-
- qt)
- THREADDEPS='$(top_builddir)/../qthreads/libgcjcoop.la'
- # We include the path to the qthreads build directory.
- # See Makefile.am to understand why.
- THREADLIBS="$THREADDEPS -L\$(here)/../qthreads/$libsubdir"
- THREADSPEC='-lgcjcoop'
- THREADOBJS=quick-threads.lo
- THREADINCS='-I$(top_srcdir)/../qthreads'
- THREADH=quick-threads.h
- ;;
-
- none)
- THREADOBJS=no-threads.lo
- THREADH=no-threads.h
- ;;
-esac
-AC_LINK_FILES(include/$THREADH, include/java-threads.h)
-AC_SUBST(THREADLIBS)
-AC_SUBST(THREADINCS)
-AC_SUBST(THREADDEPS)
-AC_SUBST(THREADOBJS)
-AC_SUBST(THREADSPEC)
-
-AM_CONDITIONAL(USING_GCC, test "$GCC" = yes)
-
-CANADIAN=no
-NULL_TARGET=no
-
-# Find eh-common.h and support headers. If we're in the tree with
-# gcc, then look there. Otherwise look in compat-include. If all else
-# fails, just hope the user has set things up somehow.
-if test -r $srcdir/../gcc/eh-common.h; then
- EH_COMMON_INCLUDE='-I$(top_srcdir)/../gcc -I$(top_srcdir)/../include'
-else
- if test -d $srcdir/../compat-include; then
- EH_COMMON_INCLUDE='-I$(top_srcdir)/../compat-include'
- else
- EH_COMMON_INCLUDE=
- fi
-fi
-
-if test -n "${with_cross_host}"; then
- # We are being configured with a cross compiler. AC_REPLACE_FUNCS
- # may not work correctly, because the compiler may not be able to
- # link executables.
-
- # We assume newlib. This lets us hard-code the functions we know
- # we'll have.
- AC_DEFINE(HAVE_MEMMOVE)
- AC_DEFINE(HAVE_MEMCPY)
- AC_DEFINE(HAVE_STRERROR)
- AC_DEFINE(HAVE_CTIME_R)
- AC_DEFINE(HAVE_GMTIME_R)
- AC_DEFINE(HAVE_LOCALTIME_R)
- dnl This is only for POSIX threads.
- AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_INIT)
- dnl We also assume we are using gcc, which provides alloca.
- AC_DEFINE(HAVE_ALLOCA)
-
- ZLIBSPEC=-lgcj
-
- # If Canadian cross, then don't pick up tools from the build
- # directory.
- if test "$build" != "$with_cross_host"; then
- CANADIAN=yes
- EH_COMMON_INCLUDE=
- GCJ="${target_alias}/gcj"
- else
- GCJ=
- fi
-else
- # Some POSIX thread systems don't have pthread_mutexattr_settype.
- # E.g., Solaris.
- AC_CHECK_FUNCS(strerror ioctl select open fsync sleep)
- AC_CHECK_FUNCS(ctime_r ctime, break)
- AC_CHECK_FUNCS(gmtime_r localtime_r readdir_r getpwuid_r)
- AC_CHECK_FUNCS(access stat mkdir rename rmdir unlink realpath)
- AC_CHECK_FUNCS(inet_aton inet_addr, break)
- AC_CHECK_FUNCS(inet_pton uname)
-
- AC_CHECK_FUNCS(gethostbyname_r, [
- AC_DEFINE(HAVE_GETHOSTBYNAME_R)
- # There are two different kinds of gethostbyname_r.
- # We look for the one that returns `int'.
- # Hopefully this check is robust enough.
- AC_EGREP_HEADER(int.*gethostbyname_r, netdb.h, [
- AC_DEFINE(GETHOSTBYNAME_R_RETURNS_INT)])])
-
- AC_CHECK_FUNCS(gethostbyaddr_r, [
- AC_DEFINE(HAVE_GETHOSTBYADDR_R)
- # There are two different kinds of gethostbyaddr_r.
- # We look for the one that returns `int'.
- # Hopefully this check is robust enough.
- AC_EGREP_HEADER(int.*gethostbyaddr_r, netdb.h, [
- AC_DEFINE(GETHOSTBYADDR_R_RETURNS_INT)])])
-
- AC_CHECK_FUNCS(gethostname, [
- AC_DEFINE(HAVE_GETHOSTNAME)
- AC_EGREP_HEADER(gethostname, unistd.h, [
- AC_DEFINE(HAVE_GETHOSTNAME_DECL)])])
-
- # Look for these functions in the thread library.
- save_LIBS="$LIBS"
- LIBS="$LIBS $THREADLIBS"
- AC_CHECK_FUNCS(pthread_mutexattr_settype pthread_mutexattr_setkind_np sched_yield)
- # Look for sched_yield. Sometimes it is in the posix4 library.
- AC_CHECK_FUNCS(sched_yield, , [
- AC_CHECK_LIB(posix4, sched_yield, [
- AC_DEFINE(HAVE_SCHED_YIELD)
- THREADLIBS="$THREADLIBS -lposix4"])])
- LIBS="$save_LIBS"
-
- # We require a way to get the time.
- time_found=no
- AC_CHECK_FUNCS(gettimeofday time ftime, time_found=yes)
- if test "$time_found" = no; then
- AC_MSG_ERROR([no function found to get the time])
- fi
-
- # We require memmove.
- memmove_found=no
- AC_CHECK_FUNCS(memmove, memmove_found=yes)
- if test "$memmove_found" = no; then
- AC_MSG_ERROR([memmove is required])
- fi
-
- # We require memcpy.
- memcpy_found=no
- AC_CHECK_FUNCS(memcpy, memcpy_found=yes)
- if test "$memcpy_found" = no; then
- AC_MSG_ERROR([memcpy is required])
- fi
-
- # Some library-finding code we stole from Tcl.
- #--------------------------------------------------------------------
- # Check for the existence of the -lsocket and -lnsl libraries.
- # The order here is important, so that they end up in the right
- # order in the command line generated by make. Here are some
- # special considerations:
- # 1. Use "connect" and "accept" to check for -lsocket, and
- # "gethostbyname" to check for -lnsl.
- # 2. Use each function name only once: can't redo a check because
- # autoconf caches the results of the last check and won't redo it.
- # 3. Use -lnsl and -lsocket only if they supply procedures that
- # aren't already present in the normal libraries. This is because
- # IRIX 5.2 has libraries, but they aren't needed and they're
- # bogus: they goof up name resolution if used.
- # 4. On some SVR4 systems, can't use -lsocket without -lnsl too.
- # To get around this problem, check for both libraries together
- # if -lsocket doesn't work by itself.
- #--------------------------------------------------------------------
-
- AC_CACHE_CHECK([for socket libraries], gcj_cv_lib_sockets,
- [gcj_cv_lib_sockets=
- gcj_checkBoth=0
- unset ac_cv_func_connect
- AC_CHECK_FUNC(connect, gcj_checkSocket=0, gcj_checkSocket=1)
- if test "$gcj_checkSocket" = 1; then
- unset ac_cv_func_connect
- AC_CHECK_LIB(socket, main, gcj_cv_lib_sockets="-lsocket",
- gcj_checkBoth=1)
- fi
- if test "$gcj_checkBoth" = 1; then
- gcj_oldLibs=$LIBS
- LIBS="$LIBS -lsocket -lnsl"
- unset ac_cv_func_accept
- AC_CHECK_FUNC(accept,
- [gcj_checkNsl=0
- gcj_cv_lib_sockets="-lsocket -lnsl"])
- unset ac_cv_func_accept
- LIBS=$gcj_oldLibs
- fi
- unset ac_cv_func_gethostbyname
- gcj_oldLibs=$LIBS
- LIBS="$LIBS $gcj_cv_lib_sockets"
- AC_CHECK_FUNC(gethostbyname, ,
- [AC_CHECK_LIB(nsl, main,
- [gcj_cv_lib_sockets="$gcj_cv_lib_sockets -lnsl"])])
- unset ac_cv_func_gethostbyname
- LIBS=$gcj_oldLIBS
- ])
- SYSTEMSPEC="$SYSTEMSPEC $gcj_cv_lib_sockets"
-
- if test "$with_system_zlib" = yes; then
- AC_CHECK_LIB(z, deflate, ZLIBSPEC=-lz, ZLIBSPEC=-lzgcj)
- else
- ZLIBSPEC=-lzgcj
- fi
-
- # On Solaris, and maybe other architectures, the Boehm collector
- # requires -ldl.
- if test "$GC" = boehm; then
- AC_CHECK_LIB(dl, main, SYSTEMSPEC="$SYSTEMSPEC -ldl")
- fi
-
- if test -d "$libgcj_basedir/../gcc/java"; then
- GCJ=
- else
- CANADIAN=yes
- NULL_TARGET=yes
- GCJ=gcj
- fi
-fi
-
-ZLIBS=
-ZDEPS=
-if test "x$ZLIBSPEC" = "x-lzgcj"; then
- # We include the path to the zlib build directory.
- # See Makefile.am to understand why.
- ZDEPS='$(top_builddir)/../zlib/libzgcj.la'
- ZLIBS="$ZDEPS -L\$(here)/../zlib/$libsubdir"
-else
- ZLIBS="$ZLIBSPEC"
-fi
-AC_SUBST(ZLIBS)
-AC_SUBST(ZDEPS)
-
-AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
-AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
-AM_CONDITIONAL(NATIVE, test "$CANADIAN" = no || test "$NULL_TARGET" = yes)
-AC_SUBST(EH_COMMON_INCLUDE)
-
-# Determine gcj version number.
-if test "$GCJ" = ""; then
- if test -z "${with_multisubdir}"; then
- builddotdot=.
- else
- builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`
- fi
- dir="`cd ${builddotdot}/../../gcc && pwd`"
- GCJ="$dir/gcj -B$dir/"
-fi
-changequote(<<,>>)
-gcjvers="`$GCJ -v 2>&1 | sed -n 's/^.*version \([^ ]*\).*$/\1/p'`"
-changequote([,])
-AC_DEFINE_UNQUOTED(GCJVERSION, "$gcjvers")
-
-AC_SUBST(AM_RUNTESTFLAGS)
-
-dnl We check for sys/filio.h because Solaris 2.5 defines FIONREAD there.
-dnl On that system, sys/ioctl.h will not include sys/filio.h unless
-dnl BSD_COMP is defined; just including sys/filio.h is simpler.
-AC_CHECK_HEADERS(unistd.h sys/time.h sys/types.h fcntl.h sys/ioctl.h sys/filio.h sys/stat.h sys/select.h sys/socket.h netinet/in.h arpa/inet.h netdb.h pwd.h)
-dnl We avoid AC_HEADER_DIRENT since we really only care about dirent.h
-dnl for now. If you change this, you also must update natFile.cc.
-AC_CHECK_HEADERS(dirent.h)
-
-AC_MSG_CHECKING([whether struct sockaddr_in6 is in netinet/in.h])
-AC_TRY_COMPILE([#include <netinet/in.h>], [struct sockaddr_in6 addr6;],
- [AC_DEFINE(HAVE_INET6)
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)])
-
-AC_MSG_CHECKING([for socklen_t in sys/socket.h])
-AC_TRY_COMPILE([#include <sys/socket.h>], [socklen_t x = 5;],
- [AC_DEFINE(HAVE_SOCKLEN_T)
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)])
-
-AC_MSG_CHECKING([for tm_gmtoff in struct tm])
-AC_TRY_COMPILE([#include <time.h>], [struct tm tim; tim.tm_gmtoff = 0;],
- [AC_DEFINE(STRUCT_TM_HAS_GMTOFF)
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)
- AC_MSG_CHECKING([for global timezone variable])
- dnl FIXME: we don't want a link check here because that won't work
- dnl when cross-compiling. So instead we make an assumption that
- dnl the header file will mention timezone if it exists.
- AC_TRY_COMPILE([#include <time.h>], [long z2 = timezone;],
- [AC_DEFINE(HAVE_TIMEZONE)
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)])])
-
-AC_FUNC_ALLOCA
-
-AC_CHECK_PROGS(PERL, perl, false)
-
-case "${host}" in
- i?86-*-linux*)
- SIGNAL_HANDLER=include/i386-signal.h
- ;;
- sparc-sun-solaris*)
- SIGNAL_HANDLER=include/sparc-signal.h
- ;;
- *)
- SIGNAL_HANDLER=include/default-signal.h
- ;;
-esac
-
-AC_LINK_FILES($SIGNAL_HANDLER, include/java-signal.h)
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-here=`pwd`
-AC_SUBST(here)
-
-AC_OUTPUT(Makefile libgcj.spec testsuite/Makefile,
-[if test -n "$CONFIG_FILES"; then
- ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
-fi],
-srcdir=${srcdir}
-host=${host}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-libgcj_basedir=${libgcj_basedir}
-CC="${CC}"
-CXX="${CXX}"
-)
diff --git a/libjava/doc/cni.sgml b/libjava/doc/cni.sgml
deleted file mode 100644
index fac01db7512..00000000000
--- a/libjava/doc/cni.sgml
+++ /dev/null
@@ -1,1064 +0,0 @@
-<!DOCTYPE article PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
-<article>
-<artheader>
-<title>The Cygnus Native Interface for C++/Java Integration</title>
-<subtitle>Writing native Java methods in natural C++</subtitle>
-<authorgroup>
-<corpauthor>Cygnus Solutions</corpauthor>
-</authorgroup>
-<date>February, 1999</date>
-</artheader>
-
-<abstract><para>
-This documents CNI, the Cygnus Native Interface,
-which is is a convenient way to write Java native methods using C++.
-This is a more efficient, more convenient, but less portable
-alternative to the standard JNI (Java Native Interface).</para>
-</abstract>
-
-<sect1><title>Basic Concepts</title>
-<para>
-In terms of languages features, Java is mostly a subset
-of C++. Java has a few important extensions, plus a powerful standard
-class library, but on the whole that does not change the basic similarity.
-Java is a hybrid object-oriented language, with a few native types,
-in addition to class types. It is class-based, where a class may have
-static as well as per-object fields, and static as well as instance methods.
-Non-static methods may be virtual, and may be overloaded. Overloading is
-resolved at compile time by matching the actual argument types against
-the parameter types. Virtual methods are implemented using indirect calls
-through a dispatch table (virtual function table). Objects are
-allocated on the heap, and initialized using a constructor method.
-Classes are organized in a package hierarchy.
-</para>
-<para>
-All of the listed attributes are also true of C++, though C++ has
-extra features (for example in C++ objects may be allocated not just
-on the heap, but also statically or in a local stack frame). Because
-<acronym>gcj</acronym> uses the same compiler technology as
-<acronym>g++</acronym> (the GNU C++ compiler), it is possible
-to make the intersection of the two languages use the same
-<acronym>ABI</acronym> (object representation and calling conventions).
-The key idea in <acronym>CNI</acronym> is that Java objects are C++ objects,
-and all Java classes are C++ classes (but not the other way around).
-So the most important task in integrating Java and C++ is to
-remove gratuitous incompatibilities.
-</para>
-<para>
-You write CNI code as a regular C++ source file. (You do have to use
-a Java/CNI-aware C++ compiler, specifically a recent version of G++.)</para>
-<para>
-You start with:
-<programlisting>
-#include &lt;cni.h&gt;
-</programlisting></para>
-
-<para>
-You then include header files for the various Java classes you need
-to use:
-<programlisting>
-#include &lt;java/lang/Character.h&gt;
-#include &lt;java/util/Date.h&gt;
-#include &lt;java/lang/IndexOutOfBoundsException.h&gt;
-</programlisting></para>
-
-<para>
-In general, <acronym>CNI</acronym> functions and macros start with the
-`<literal>Jv</literal>' prefix, for example the function
-`<literal>JvNewObjectArray</literal>'. This convention is used to
-avoid conflicts with other libraries.
-Internal functions in <acronym>CNI</acronym> start with the prefix
-`<literal>_Jv_</literal>'. You should not call these;
-if you find a need to, let us know and we will try to come up with an
-alternate solution. (This manual lists <literal>_Jv_AllocBytes</literal>
-as an example; <acronym>CNI</acronym> should instead provide
-a <literal>JvAllocBytes</literal> function.)</para>
-<para>
-These header files are automatically generated by <command>gcjh</command>.
-</para>
-</sect1>
-
-<sect1><title>Packages</title>
-<para>
-The only global names in Java are class names, and packages.
-A <firstterm>package</firstterm> can contain zero or more classes, and
-also zero or more sub-packages.
-Every class belongs to either an unnamed package or a package that
-has a hierarchical and globally unique name.
-</para>
-<para>
-A Java package is mapped to a C++ <firstterm>namespace</firstterm>.
-The Java class <literal>java.lang.String</literal>
-is in the package <literal>java.lang</literal>, which is a sub-package
-of <literal>java</literal>. The C++ equivalent is the
-class <literal>java::lang::String</literal>,
-which is in the namespace <literal>java::lang</literal>,
-which is in the namespace <literal>java</literal>.
-</para>
-<para>
-Here is how you could express this:
-<programlisting>
-// Declare the class(es), possibly in a header file:
-namespace java {
- namespace lang {
- class Object;
- class String;
- ...
- }
-}
-
-class java::lang::String : public java::lang::Object
-{
- ...
-};
-</programlisting>
-</para>
-<para>
-The <literal>gcjh</literal> tool automatically generates the
-nessary namespace declarations.</para>
-
-<sect2><title>Nested classes as a substitute for namespaces</title>
-<para>
-<!-- FIXME the next line reads poorly jsm -->
-It is not that long since g++ got complete namespace support,
-and it was very recent (end of February 1999) that <literal>libgcj</literal>
-was changed to uses namespaces. Releases before then used
-nested classes, which are the C++ equivalent of Java inner classes.
-They provide similar (though less convenient) functionality.
-The old syntax is:
-<programlisting>
-class java {
- class lang {
- class Object;
- class String;
- };
-};
-</programlisting>
-The obvious difference is the use of <literal>class</literal> instead
-of <literal>namespace</literal>. The more important difference is
-that all the members of a nested class have to be declared inside
-the parent class definition, while namespaces can be defined in
-multiple places in the source. This is more convenient, since it
-corresponds more closely to how Java packages are defined.
-The main difference is in the declarations; the syntax for
-using a nested class is the same as with namespaces:
-<programlisting>
-class java::lang::String : public java::lang::Object
-{ ... }
-</programlisting>
-Note that the generated code (including name mangling)
-using nested classes is the same as that using namespaces.</para>
-</sect2>
-
-<sect2><title>Leaving out package names</title>
-<para>
-<!-- FIXME next line reads poorly jsm -->
-Having to always type the fully-qualified class name is verbose.
-It also makes it more difficult to change the package containing a class.
-The Java <literal>package</literal> declaration specifies that the
-following class declarations are in the named package, without having
-to explicitly name the full package qualifiers.
-The <literal>package</literal> declaration can be followed by zero or
-more <literal>import</literal> declarations, which allows either
-a single class or all the classes in a package to be named by a simple
-identifier. C++ provides something similar
-with the <literal>using</literal> declaration and directive.
-</para>
-<para>
-A Java simple-type-import declaration:
-<programlisting>
-import <replaceable>PackageName</replaceable>.<replaceable>TypeName</replaceable>;
-</programlisting>
-allows using <replaceable>TypeName</replaceable> as a shorthand for
-<literal><replaceable>PackageName</replaceable>.<replaceable>TypeName</replaceable></literal>.
-The C++ (more-or-less) equivalent is a <literal>using</literal>-declaration:
-<programlisting>
-using <replaceable>PackageName</replaceable>::<replaceable>TypeName</replaceable>;
-</programlisting>
-</para>
-<para>
-A Java import-on-demand declaration:
-<programlisting>
-import <replaceable>PackageName</replaceable>.*;
-</programlisting>
-allows using <replaceable>TypeName</replaceable> as a shorthand for
-<literal><replaceable>PackageName</replaceable>.<replaceable>TypeName</replaceable></literal>
-The C++ (more-or-less) equivalent is a <literal>using</literal>-directive:
-<programlisting>
-using namespace <replaceable>PackageName</replaceable>;
-</programlisting>
-</para>
-</sect2>
-</sect1>
-
-<sect1><title>Primitive types</title>
-<para>
-Java provides 8 <quote>primitives</quote> types:
-<literal>byte</literal>, <literal>short</literal>, <literal>int</literal>,
-<literal>long</literal>, <literal>float</literal>, <literal>double</literal>,
-<literal>char</literal>, and <literal>boolean</literal>.
-These are the same as the following C++ <literal>typedef</literal>s
-(which are defined by <literal>cni.h</literal>):
-<literal>jbyte</literal>, <literal>jshort</literal>, <literal>jint</literal>,
-<literal>jlong</literal>, <literal>jfloat</literal>,
-<literal>jdouble</literal>,
-<literal>jchar</literal>, and <literal>jboolean</literal>.
-You should use the C++ typenames
-(<ForeignPhrase><Abbrev>e.g.</Abbrev></ForeignPhrase> <literal>jint</literal>),
-and not the Java types names
-(<ForeignPhrase><Abbrev>e.g.</Abbrev></ForeignPhrase> <literal>int</literal>),
-even if they are <quote>the same</quote>.
-This is because there is no guarantee that the C++ type
-<literal>int</literal> is a 32-bit type, but <literal>jint</literal>
-<emphasis>is</emphasis> guaranteed to be a 32-bit type.
-
-<informaltable frame="all" colsep="1" rowsep="0">
-<tgroup cols="3">
-<thead>
-<row>
-<entry>Java type</entry>
-<entry>C/C++ typename</entry>
-<entry>Description</entry>
-</thead>
-<tbody>
-<row>
-<entry>byte</entry>
-<entry>jbyte</entry>
-<entry>8-bit signed integer</entry>
-</row>
-<row>
-<entry>short</entry>
-<entry>jshort</entry>
-<entry>16-bit signed integer</entry>
-</row>
-<row>
-<entry>int</entry>
-<entry>jint</entry>
-<entry>32-bit signed integer</entry>
-</row>
-<row>
-<entry>long</entry>
-<entry>jlong</entry>
-<entry>64-bit signed integer</entry>
-</row>
-<row>
-<entry>float</entry>
-<entry>jfloat</entry>
-<entry>32-bit IEEE floating-point number</entry>
-</row>
-<row>
-<entry>double</entry>
-<entry>jdouble</entry>
-<entry>64-bit IEEE floating-point number</entry>
-</row>
-<row>
-<entry>char</entry>
-<entry>jchar</entry>
-<entry>16-bit Unicode character</entry>
-</row>
-<row>
-<entry>boolean</entry>
-<entry>jboolean</entry>
-<entry>logical (Boolean) values</entry>
-</row>
-<row>
-<entry>void</entry>
-<entry>void</entry>
-<entry>no value</entry>
-</row>
-</tbody></tgroup>
-</informaltable>
-</para>
-
-<para>
-<funcsynopsis>
-<funcdef><function>JvPrimClass</function></funcdef>
-<paramdef><parameter>primtype</parameter></paramdef>
-</funcsynopsis>
-This is a macro whose argument should be the name of a primitive
-type, <ForeignPhrase><Abbrev>e.g.</Abbrev></ForeignPhrase>
-<literal>byte</literal>.
-The macro expands to a pointer to the <literal>Class</literal> object
-corresponding to the primitive type.
-<ForeignPhrase><Abbrev>E.g.</Abbrev></ForeignPhrase>,
-<literal>JvPrimClass(void)</literal>
-has the same value as the Java expression
-<literal>Void.TYPE</literal> (or <literal>void.class</literal>).
-</para>
-
-</sect1>
-
-<sect1><title>Objects and Classes</title>
-<sect2><title>Classes</title>
-<para>
-All Java classes are derived from <literal>java.lang.Object</literal>.
-C++ does not have a unique <quote>root</quote>class, but we use
-a C++ <literal>java::lang::Object</literal> as the C++ version
-of the <literal>java.lang.Object</literal> Java class. All
-other Java classes are mapped into corresponding C++ classes
-derived from <literal>java::lang::Object</literal>.</para>
-<para>
-Interface inheritance (the <quote><literal>implements</literal></quote>
-keyword) is currently not reflected in the C++ mapping.</para>
-</sect2>
-<sect2><title>Object references</title>
-<para>
-We implement a Java object reference as a pointer to the start
-of the referenced object. It maps to a C++ pointer.
-(We cannot use C++ references for Java references, since
-once a C++ reference has been initialized, you cannot change it to
-point to another object.)
-The <literal>null</literal> Java reference maps to the <literal>NULL</literal>
-C++ pointer.
-</para>
-<para>
-Note that in some Java implementations an object reference is implemented as
-a pointer to a two-word <quote>handle</quote>. One word of the handle
-points to the fields of the object, while the other points
-to a method table. Gcj does not use this extra indirection.
-</para>
-</sect2>
-<sect2><title>Object fields</title>
-<para>
-Each object contains an object header, followed by the instance
-fields of the class, in order. The object header consists of
-a single pointer to a dispatch or virtual function table.
-(There may be extra fields <quote>in front of</quote> the object,
-for example for
-memory management, but this is invisible to the application, and
-the reference to the object points to the dispatch table pointer.)
-</para>
-<para>
-The fields are laid out in the same order, alignment, and size
-as in C++. Specifically, 8-bite and 16-bit native types
-(<literal>byte</literal>, <literal>short</literal>, <literal>char</literal>,
-and <literal>boolean</literal>) are <emphasis>not</emphasis>
-widened to 32 bits.
-Note that the Java VM does extend 8-bit and 16-bit types to 32 bits
-when on the VM stack or temporary registers.</para>
-<para>
-If you include the <literal>gcjh</literal>-generated header for a
-class, you can access fields of Java classes in the <quote>natural</quote>
-way. Given the following Java class:
-<programlisting>
-public class Int
-{
- public int i;
- public Integer (int i) { this.i = i; }
- public static zero = new Integer(0);
-}
-</programlisting>
-you can write:
-<programlisting>
-#include &lt;cni.h&gt;
-#include &lt;Int.h&gt;
-Int*
-mult (Int *p, jint k)
-{
- if (k == 0)
- return Int::zero; // static member access.
- return new Int(p->i * k);
-}
-</programlisting>
-</para>
-<para>
-<acronym>CNI</acronym> does not strictly enforce the Java access
-specifiers, because Java permissions cannot be directly mapped
-into C++ permission. Private Java fields and methods are mapped
-to private C++ fields and methods, but other fields and methods
-are mapped to public fields and methods.
-</para>
-</sect2>
-<sect2><title>Non-Java fields</title>
-<para>
-When you write a Java wrapper around an existing library, that library
-will often allocate and manage its own data structures. These are
-<quote>objects</quote> that are not Java <literal>Object</literal>s;
-instead they are usually C <literal>struct</literal> instances.
-Typically, you will write a Java class, and use native CNI methods
-which call functions in the C library. The problem is how to get
-from the Java wrapper object to the C <literal>struct</literal> instances.
-The obvious solution is to add a field to the Java object that
-points to the C structure. The problem is that there is no Java
-type that we can give to this field.</para>
-<para>The GCJ solution is to define a special dummy class
-<literal>gnu.gcj.RawData</literal>. This can be used as the type for fields,
-parameters, array elements, or local variables in Java code.
-It means that the field or variable is a pointer to a non-Java object.
-Nothing else is known about it, so it corresponds to a
-<literal>(void*)</literal> declaration is C or C++ code.</para>
-<para>
-The garbage collector will ignore a field that has type
-<literal>gnu.gcj.RawData</literal>. You are responsible for
-freeing the C data structure when you are done with it, and
-performing any necessary cleanups. In most cases, you should
-use a <literal>finalize</literal> method, and have it call
-the library's cleanup routine. Also, the C data structure
-should not contain a pointer back to the Java object, since
-the garbage collector will not know about the pointer.
-If you need to save a pointer to a Java object inside some
-non-Java data structure, you first need to <quote>pin</quote>
-or <quote>globalize</quote> the pointer; there is no CNI function
-to do this yet.
-(From the point of view of the
-implementation, a <literal>gnu.gcj.RawData</literal> value is
-the same as an integer that has the same size as a pointer.)</para>
-<para>
-Here is an example where we create a Java wrapper around C stdio:
-<programlisting>
-import gnu.gcj.RawData;
-
-public class StdioFile
-{
- private RawData file;
- public StdioFile (RawData file) { this.file = file; }
- public StdioFile (String name, String mode)
- throws FileNotFoundException
- { init(name, mode); }
- private native void init (String name, String mode)
- throws FileNotFoundException;
- public native int getc();
- public native int close();
- protected native void finalize();
-}
-</programlisting>
-This is the CNI implementation:
-<programlisting>
-jint
-StdioFile::getc()
-{
- return getc((FILE*) file);
-}
-
-jint
-StdioFile::close()
-{
- return fclose((FILE*) file);
-}
-
-void
-StdioFile::init(jstring name, jstring mode)
-{
- int cname_len = JvGetStringUTFLength (name);
- int cmode_len = JvGetStringUTFLength (mode);
- char cname[cname_len + 1];
- char cmode[cmode_len + 1];
- JvGetStringUTFRegion (name, 0, name->length(), cname);
- JvGetStringUTFRegion (mode, 0, mode->length(), cmode);
- cname[cname_len] = '\0';
- cmode[cmode_len] = '\0';
- file = (gnu::gcj::RawData*) fopen(cname, cmode);
- if (file == NULL)
- JvThrow(new java::lang::FileNotFoundException(name));
-}
-
-void
-StdioFile::finalize()
-{
- fclose((FILE*) file);
-}
-</programlisting>
-
-</sect2>
-
-</sect1>
-
-<sect1><title>Arrays</title>
-<para>
-While in many ways Java is similar to C and C++,
-it is quite different in its treatment of arrays.
-C arrays are based on the idea of pointer arithmetic,
-which would be incompatible with Java's security requirements.
-Java arrays are true objects (array types inherit from
-<literal>java.lang.Object</literal>). An array-valued variable
-is one that contains a reference (pointer) to an array object.
-</para>
-<para>
-Referencing a Java array in C++ code is done using the
-<literal>JArray</literal> template, which as defined as follows:
-<programlisting>
-class __JArray : public java::lang::Object
-{
-public:
- int length;
-};
-
-template&lt;class T&gt;
-class JArray : public __JArray
-{
- T data[0];
-public:
- T&amp; operator[](jint i) { return data[i]; }
-};
-</programlisting></para>
-<para>
-<funcsynopsis>
- <funcdef>template&lt;class T&gt; T *<function>elements</function></funcdef>
- <paramdef>JArray&lt;T&gt; &amp;<parameter>array</parameter></paramdef>
-</funcsynopsis>
- This template function can be used to get a pointer to the
- elements of the <parameter>array</parameter>.
- For instance, you can fetch a pointer
- to the integers that make up an <literal>int[]</literal> like so:
-<programlisting>
-extern jintArray foo;
-jint *intp = elements (foo);
-</programlisting>
-The name of this function may change in the future.</para>
-<para>
-There are a number of typedefs which correspond to typedefs from JNI.
-Each is the type of an array holding objects of the appropriate type:
-<programlisting>
-typedef __JArray *jarray;
-typedef JArray&lt;jobject&gt; *jobjectArray;
-typedef JArray&lt;jboolean&gt; *jbooleanArray;
-typedef JArray&lt;jbyte&gt; *jbyteArray;
-typedef JArray&lt;jchar&gt; *jcharArray;
-typedef JArray&lt;jshort&gt; *jshortArray;
-typedef JArray&lt;jint&gt; *jintArray;
-typedef JArray&lt;jlong&gt; *jlongArray;
-typedef JArray&lt;jfloat&gt; *jfloatArray;
-typedef JArray&lt;jdouble&gt; *jdoubleArray;
-</programlisting>
-</para>
-<para>
- You can create an array of objects using this function:
-<funcsynopsis>
- <funcdef>jobjectArray <function>JvNewObjectArray</function></funcdef>
- <paramdef>jint <parameter>length</parameter></paramdef>
- <paramdef>jclass <parameter>klass</parameter></paramdef>
- <paramdef>jobject <parameter>init</parameter></paramdef>
- </funcsynopsis>
- Here <parameter>klass</parameter> is the type of elements of the array;
- <parameter>init</parameter> is the initial
- value to be put into every slot in the array.
-</para>
-<para>
-For each primitive type there is a function which can be used
- to create a new array holding that type. The name of the function
- is of the form
- `<literal>JvNew&lt;<replaceable>Type</replaceable>&gt;Array</literal>',
- where `&lt;<replaceable>Type</replaceable>&gt;' is the name of
- the primitive type, with its initial letter in upper-case. For
- instance, `<literal>JvNewBooleanArray</literal>' can be used to create
- a new array of booleans.
- Each such function follows this example:
-<funcsynopsis>
- <funcdef>jbooleanArray <function>JvNewBooleanArray</function></funcdef>
- <paramdef>jint <parameter>length</parameter></paramdef>
-</funcsynopsis>
-</para>
-<para>
-<funcsynopsis>
- <funcdef>jsize <function>JvGetArrayLength</function></funcdef>
- <paramdef>jarray <parameter>array</parameter></paramdef>
- </funcsynopsis>
- Returns the length of <parameter>array</parameter>.</para>
-</sect1>
-
-<sect1><title>Methods</title>
-
-<para>
-Java methods are mapped directly into C++ methods.
-The header files generated by <literal>gcjh</literal>
-include the appropriate method definitions.
-Basically, the generated methods have the same names and
-<quote>corresponding</quote> types as the Java methods,
-and are called in the natural manner.</para>
-
-<sect2><title>Overloading</title>
-<para>
-Both Java and C++ provide method overloading, where multiple
-methods in a class have the same name, and the correct one is chosen
-(at compile time) depending on the argument types.
-The rules for choosing the correct method are (as expected) more complicated
-in C++ than in Java, but given a set of overloaded methods
-generated by <literal>gcjh</literal> the C++ compiler will choose
-the expected one.</para>
-<para>
-Common assemblers and linkers are not aware of C++ overloading,
-so the standard implementation strategy is to encode the
-parameter types of a method into its assembly-level name.
-This encoding is called <firstterm>mangling</firstterm>,
-and the encoded name is the <firstterm>mangled name</firstterm>.
-The same mechanism is used to implement Java overloading.
-For C++/Java interoperability, it is important that both the Java
-and C++ compilers use the <emphasis>same</emphasis> encoding scheme.
-</para>
-</sect2>
-
-<sect2><title>Static methods</title>
-<para>
-Static Java methods are invoked in <acronym>CNI</acronym> using the standard
-C++ syntax, using the `<literal>::</literal>' operator rather
-than the `<literal>.</literal>' operator. For example:
-</para>
-<programlisting>
-jint i = java::lang::Math::round((jfloat) 2.3);
-</programlisting>
-<para>
-<!-- FIXME this next sentence seems ungammatical jsm -->
-Defining a static native method uses standard C++ method
-definition syntax. For example:
-<programlisting>
-#include &lt;java/lang/Integer.h&gt;
-java::lang::Integer*
-java::lang::Integer::getInteger(jstring str)
-{
- ...
-}
-</programlisting>
-</sect2>
-
-<sect2><title>Object Constructors</title>
-<para>
-Constructors are called implicitly as part of object allocation
-using the <literal>new</literal> operator. For example:
-<programlisting>
-java::lang::Int x = new java::lang::Int(234);
-</programlisting>
-</para>
-<para>
-<!-- FIXME rewrite needed here, mine may not be good jsm -->
-Java does not allow a constructor to be a native method.
-Instead, you could define a private method which
-you can have the constructor call.
-</para>
-</sect2>
-
-<sect2><title>Instance methods</title>
-<para>
-<!-- FIXME next para week, I would remove a few words from some sentences jsm -->
-Virtual method dispatch is handled essentially the same way
-in C++ and Java -- <abbrev>i.e.</abbrev> by doing an
-indirect call through a function pointer stored in a per-class virtual
-function table. C++ is more complicated because it has to support
-multiple inheritance, but this does not effect Java classes.
-However, G++ has historically used a different calling convention
-that is not compatible with the one used by <acronym>gcj</acronym>.
-During 1999, G++ will switch to a new ABI that is compatible with
-<acronym>gcj</acronym>. Some platforms (including Linux) have already
-changed. On other platforms, you will have to pass
-the <literal>-fvtable-thunks</literal> flag to g++ when
-compiling <acronym>CNI</acronym> code.
-</para>
-<para>
-Calling a Java instance method in <acronym>CNI</acronym> is done
-using the standard C++ syntax. For example:
-<programlisting>
- java::lang::Number *x;
- if (x-&gt;doubleValue() &gt; 0.0) ...
-</programlisting>
-</para>
-<para>
-Defining a Java native instance method is also done the natural way:
-<programlisting>
-#include &lt;java/lang/Integer.h&gt;
-jdouble
-java::lang:Integer::doubleValue()
-{
- return (jdouble) value;
-}
-</programlisting>
-</para>
-</sect2>
-
-<sect2><title>Interface method calls</title>
-<para>
-In Java you can call a method using an interface reference.
-This is not yet supported in <acronym>CNI</acronym>.</para>
-</sect2>
-</sect1>
-
-<sect1><title>Object allocation</title>
-
-<para>
-New Java objects are allocated using a
-<firstterm>class-instance-creation-expression</firstterm>:
-<programlisting>
-new <replaceable>Type</replaceable> ( <replaceable>arguments</replaceable> )
-</programlisting>
-The same syntax is used in C++. The main difference is that
-C++ objects have to be explicitly deleted; in Java they are
-automatically deleted by the garbage collector.
-Using <acronym>CNI</acronym>, you can allocate a new object
-using standard C++ syntax. The C++ compiler is smart enough to
-realize the class is a Java class, and hence it needs to allocate
-memory from the garbage collector. If you have overloaded
-constructors, the compiler will choose the correct one
-using standard C++ overload resolution rules. For example:
-<programlisting>
-java::util::Hashtable *ht = new java::util::Hashtable(120);
-</programlisting>
-</para>
-<para>
-<funcsynopsis>
- <funcdef>void *<function>_Jv_AllocBytes</function></funcdef>
- <paramdef>jsize <parameter>size</parameter></paramdef>
-</funcsynopsis>
- Allocate <parameter>size</parameter> bytes. This memory is not
- scanned by the garbage collector. However, it will be freed by
-the GC if no references to it are discovered.
-</para>
-</sect1>
-
-<sect1><title>Interfaces</title>
-<para>
-A Java class can <firstterm>implement</firstterm> zero or more
-<firstterm>interfaces</firstterm>, in addition to inheriting from
-a single base class.
-An interface is a collection of constants and method specifications;
-it is similar to the <firstterm>signatures</firstterm> available
-as a G++ extension. An interface provides a subset of the
-functionality of C++ abstract virtual base classes, but they
-are currently implemented differently.
-CNI does not currently provide any support for interfaces,
-or calling methods from an interface pointer.
-This is partly because we are planning to re-do how
-interfaces are implemented in <acronym>gcj</acronym>.
-</para>
-</sect1>
-
-<sect1><title>Strings</title>
-<para>
-<acronym>CNI</acronym> provides a number of utility functions for
-working with Java <literal>String</literal> objects.
-The names and interfaces are analogous to those of <acronym>JNI</acronym>.
-</para>
-
-<para>
-<funcsynopsis>
- <funcdef>jstring <function>JvNewString</function></funcdef>
- <paramdef>const jchar *<parameter>chars</parameter></paramdef>
- <paramdef>jsize <parameter>len</parameter></paramdef>
- </funcsynopsis>
- Creates a new Java String object, where
- <parameter>chars</parameter> are the contents, and
- <parameter>len</parameter> is the number of characters.
-</para>
-
-<para>
-<funcsynopsis>
- <funcdef>jstring <function>JvNewStringLatin1</function></funcdef>
- <paramdef>const char *<parameter>bytes</parameter></paramdef>
- <paramdef>jsize <parameter>len</parameter></paramdef>
- </funcsynopsis>
- Creates a new Java String object, where <parameter>bytes</parameter>
- are the Latin-1 encoded
- characters, and <parameter>len</parameter> is the length of
- <parameter>bytes</parameter>, in bytes.
-</para>
-
-<para>
-<funcsynopsis>
- <funcdef>jstring <function>JvNewStringLatin1</function></funcdef>
- <paramdef>const char *<parameter>bytes</parameter></paramdef>
- </funcsynopsis>
- Like the first JvNewStringLatin1, but computes <parameter>len</parameter>
- using <literal>strlen</literal>.
-</para>
-
-<para>
-<funcsynopsis>
- <funcdef>jstring <function>JvNewStringUTF</function></funcdef>
- <paramdef>const char *<parameter>bytes</parameter></paramdef>
- </funcsynopsis>
- Creates a new Java String object, where <parameter>bytes</parameter> are
- the UTF-8 encoded characters of the string, terminated by a null byte.
-</para>
-
-<para>
-<funcsynopsis>
- <funcdef>jchar *<function>JvGetStringChars</function></funcdef>
- <paramdef>jstring <parameter>str</parameter></paramdef>
- </funcsynopsis>
- Returns a pointer to the array of characters which make up a string.
-</para>
-
-<para>
-<funcsynopsis>
- <funcdef> int <function>JvGetStringUTFLength</function></funcdef>
- <paramdef>jstring <parameter>str</parameter></paramdef>
- </funcsynopsis>
- Returns number of bytes required to encode contents
- of <parameter>str</parameter> as UTF-8.
-</para>
-
-<para>
-<funcsynopsis>
- <funcdef> jsize <function>JvGetStringUTFRegion</function></funcdef>
- <paramdef>jstring <parameter>str</parameter></paramdef>
- <paramdef>jsize <parameter>start</parameter></paramdef>
- <paramdef>jsize <parameter>len</parameter></paramdef>
- <paramdef>char *<parameter>buf</parameter></paramdef>
- </funcsynopsis>
- This puts the UTF-8 encoding of a region of the
- string <parameter>str</parameter> into
- the buffer <parameter>buf</parameter>.
- The region of the string to fetch is specifued by
- <parameter>start</parameter> and <parameter>len</parameter>.
- It is assumed that <parameter>buf</parameter> is big enough
- to hold the result. Note
- that <parameter>buf</parameter> is <emphasis>not</emphasis> null-terminated.
-</para>
-</sect1>
-
-<sect1><title>Class Initialization</title>
-<para>
-Java requires that each class be automatically initialized at the time
-of the first active use. Initializing a class involves
-initializing the static fields, running code in class initializer
-methods, and initializing base classes. There may also be
-some implementation specific actions, such as allocating
-<classname>String</classname> objects corresponding to string literals in
-the code.</para>
-<para>
-The Gcj compiler inserts calls to <literal>JvInitClass</literal> (actually
-<literal>_Jv_InitClass</literal>) at appropriate places to ensure that a
-class is initialized when required. The C++ compiler does not
-insert these calls automatically - it is the programmer's
-responsibility to make sure classes are initialized. However,
-this is fairly painless because of the conventions assumed by the Java
-system.</para>
-<para>
-First, <literal>libgcj</literal> will make sure a class is initialized
-before an instance of that object is created. This is one
-of the responsibilities of the <literal>new</literal> operation. This is
-taken care of both in Java code, and in C++ code. (When the G++
-compiler sees a <literal>new</literal> of a Java class, it will call
-a routine in <literal>libgcj</literal> to allocate the object, and that
-routine will take care of initializing the class.) It follows that you can
-access an instance field, or call an instance (non-static)
-method and be safe in the knowledge that the class and all
-of its base classes have been initialized.</para>
-<para>
-Invoking a static method is also safe. This is because the
-Java compiler adds code to the start of a static method to make sure
-the class is initialized. However, the C++ compiler does not
-add this extra code. Hence, if you write a native static method
-using CNI, you are responsible for calling <literal>JvInitClass</literal>
-before doing anything else in the method (unless you are sure
-it is safe to leave it out).</para>
-<para>
-Accessing a static field also requires the class of the
-field to be initialized. The Java compiler will generate code
-to call <literal>_Jv_InitClass</literal> before getting or setting the field.
-However, the C++ compiler will not generate this extra code,
-so it is your responsibility to make sure the class is
-initialized before you access a static field.</para>
-</sect1>
-<sect1><title>Exception Handling</title>
-<para>
-While C++ and Java share a common exception handling framework,
-things are not quite as integrated as we would like, yet.
-The main issue is the incompatible exception <emphasis>values</emphasis>,
-and that the <quote>run-time type information</quote> facilities of the
-two languages are not integrated.</para>
-<para>
-Basically, this means that you cannot in C++ catch an exception
-value (<classname>Throwable</classname>) thrown from Java code, nor
-can you use <literal>throw</literal> on a Java exception value from C++ code,
-and expect to be able to catch it in Java code.
-We do intend to change this.</para>
-<para>
-You can throw a Java exception from C++ code by using
-the <literal>JvThrow</literal> <acronym>CNI</acronym> function.
-<funcsynopsis>
- <funcdef>void <function>JvThrow</function></funcdef>
- <paramdef>jobject <parameter>obj</parameter></paramdef>
-</funcsynopsis>
- Throws an exception <parameter>obj</parameter>, in a way compatible
-with the Java exception-handling functions.
- The class of <parameter>obj</parameter> must be a subclass of
- <literal>Throwable</literal>.
-</para>
-<para>
-Here is an example:
-<programlisting>
-if (i >= count)
- JvThrow (new java::lang::IndexOutOfBoundsException());
-</programlisting>
-</para>
-</sect1>
-
-<sect1><title>Synchronization</title>
-<para>
-Each Java object has an implicit monitor.
-The Java VM uses the instruction <literal>monitorenter</literal> to acquire
-and lock a monitor, and <literal>monitorexit</literal> to release it.
-The JNI has corresponding methods <literal>MonitorEnter</literal>
-and <literal>MonitorExit</literal>. The corresponding CNI macros
-are <literal>JvMonitorEnter</literal> and <literal>JvMonitorExit</literal>.
-</para>
-<para>
-The Java source language does not provide direct access to these primitives.
-Instead, there is a <literal>synchronized</literal> statement that does an
-implicit <literal>monitorenter</literal> before entry to the block,
-and does a <literal>monitorexit</literal> on exit from the block.
-Note that the lock has to be released even the block is abnormally
-terminated by an exception, which means there is an implicit
-<literal>try</literal>-<literal>finally</literal>.
-</para>
-<para>
-From C++, it makes sense to use a destructor to release a lock.
-CNI defines the following utility class.
-<programlisting>
-class JvSynchronize() {
- jobject obj;
- JvSynchronize(jobject o) { obj = o; JvMonitorEnter(o); }
- ~JvSynchronize() { JvMonitorExit(obj); }
-};
-</programlisting>
-The equivalent of Java's:
-<programlisting>
-synchronized (OBJ) { CODE; }
-</programlisting>
-can be simply expressed:
-<programlisting>
-{ JvSynchronize dummy(OBJ); CODE; }
-</programlisting>
-</para>
-<para>
-Java also has methods with the <literal>synchronized</literal> attribute.
-This is equivalent to wrapping the entire method body in a
-<literal>synchronized</literal> statement.
-(Alternatively, an implementation could require the caller to do
-the synchronization. This is not practical for a compiler, because
-each virtual method call would have to test at run-time if
-synchronization is needed.) Since in <literal>gcj</literal>
-the <literal>synchronized</literal> attribute is handled by the
-method implementation, it is up to the programmer
-of a synchronized native method to handle the synchronization
-(in the C++ implementation of the method).
-In otherwords, you need to manually add <literal>JvSynchronize</literal>
-in a <literal>native synchornized</literal> method.</para>
-</sect1>
-
-<sect1><title>Reflection</title>
-<para>The types <literal>jfieldID</literal> and <literal>jmethodID</literal>
-are as in JNI.</para>
-<para>
-The function <literal>JvFromReflectedField</literal>,
-<literal>JvFromReflectedMethod</literal>,
-<literal>JvToReflectedField</literal>, and
-<literal>JvToFromReflectedMethod</literal> (as in Java 2 JNI)
-will be added shortly, as will other functions corresponding to JNI.</para>
-
-<sect1><title>Using gcjh</title>
-<para>
- The <command>gcjh</command> is used to generate C++ header files from
- Java class files. By default, <command>gcjh</command> generates
- a relatively straightforward C++ header file. However, there
- are a few caveats to its use, and a few options which can be
- used to change how it operates:
-</para>
-<variablelist>
-<varlistentry>
-<term><literal>--classpath</literal> <replaceable>path</replaceable></term>
-<term><literal>--CLASSPATH</literal> <replaceable>path</replaceable></term>
-<term><literal>-I</literal> <replaceable>dir</replaceable></term>
-<listitem><para>
- These options can be used to set the class path for gcjh.
- Gcjh searches the class path the same way the compiler does;
- these options have their familiar meanings.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>-d <replaceable>directory</replaceable></literal></term>
-<listitem><para>
-Puts the generated <literal>.h</literal> files
-beneath <replaceable>directory</replaceable>.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>-o <replaceable>file</replaceable></literal></term>
-<listitem><para>
- Sets the name of the <literal>.h</literal> file to be generated.
- By default the <literal>.h</literal> file is named after the class.
- This option only really makes sense if just a single class file
- is specified.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>--verbose</literal></term>
-<listitem><para>
- gcjh will print information to stderr as it works.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>-M</literal></term>
-<term><literal>-MM</literal></term>
-<term><literal>-MD</literal></term>
-<term><literal>-MMD</literal></term>
-<listitem><para>
- These options can be used to generate dependency information
- for the generated header file. They work the same way as the
- corresponding compiler options.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>-prepend <replaceable>text</replaceable></literal></term>
-<listitem><para>
-This causes the <replaceable>text</replaceable> to be put into the generated
- header just after class declarations (but before declaration
- of the current class). This option should be used with caution.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>-friend <replaceable>text</replaceable></literal></term>
-<listitem><para>
-This causes the <replaceable>text</replaceable> to be put into the class
-declaration after a <literal>friend</literal> keyword.
-This can be used to declare some
- other class or function to be a friend of this class.
- This option should be used with caution.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>-add <replaceable>text</replaceable></literal></term>
-<listitem><para>
-The <replaceable>text</replaceable> is inserted into the class declaration.
-This option should be used with caution.</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term><literal>-append <replaceable>text</replaceable></literal></term>
-<listitem><para>
-The <replaceable>text</replaceable> is inserted into the header file
-after the class declaration. One use for this is to generate
-inline functions. This option should be used with caution.
-</listitem>
-</varlistentry>
-</variablelist>
-<para>
-All other options not beginning with a <literal>-</literal> are treated
-as the names of classes for which headers should be generated.</para>
-<para>
-gcjh will generate all the required namespace declarations and
-<literal>#include</literal>'s for the header file.
-In some situations, gcjh will generate simple inline member functions.</para>
-<para>
-There are a few cases where gcjh will fail to work properly:</para>
-<para>
-gcjh assumes that all the methods and fields of a class have ASCII
-names. The C++ compiler cannot correctly handle non-ASCII
-identifiers. gcjh does not currently diagnose this problem.</para>
-<para>
-gcjh also cannot fully handle classes where a field and a method have
-the same name. If the field is static, an error will result.
-Otherwise, the field will be renamed in the generated header; `__'
-will be appended to the field name.</para>
-<para>
-Eventually we hope to change the C++ compiler so that these
-restrictions can be lifted.</para>
-</sect1>
-
-</article>
diff --git a/libjava/exception.cc b/libjava/exception.cc
deleted file mode 100644
index 644f80b8b0f..00000000000
--- a/libjava/exception.cc
+++ /dev/null
@@ -1,155 +0,0 @@
-// Functions for Exception Support for Java.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include "exception"
-#include <stddef.h>
-
-#include <java/lang/Class.h>
-#include <java/lang/NullPointerException.h>
-#include <cni.h>
-#include <jvm.h>
-
-// eh-common.h needs gansidecl.h.
-#include "gansidecl.h"
-#include "eh-common.h"
-
-typedef struct {
- __eh_info eh_info;
- void *value;
-} java_eh_info;
-
-
-/* Language-specific EH info pointer, throw routine, and language/version
- info routines. All defined in libgcc2. */
-
-extern "C" java_eh_info **__get_eh_info ();
-extern "C" void __throw () __attribute__ ((__noreturn__));
-extern "C" short __get_eh_table_version (void *table);
-extern "C" short __get_eh_table_language (void *table);
-
-
-extern "C" void * malloc (size_t);
-extern "C" void free (void *);
-
-
-extern "C" void *
-_Jv_type_matcher (java_eh_info *info, void* match_info,
- void *exception_table)
-{
- if (__get_eh_table_language (exception_table) != EH_LANG_Java)
- return NULL;
-
- /* we don't worry about version info yet, there is only one version! */
-
- if (match_info != NULL)
- {
- // The match_info is either a (java::lang::Class*) or
- // match_info is one more than a (Utf8Const*).
- if (sizeof(void*) != sizeof(size_t))
- abort();
- size_t mi = (size_t) match_info;
- if ((mi & 1) != 0)
- match_info = _Jv_FindClass ((Utf8Const*) (mi - 1), NULL);
- if (! _Jv_IsInstanceOf ((jobject) info->value, (jclass) match_info))
- return NULL;
- }
-
- return info->value;
-}
-
-/* Compiler hook to return a pointer to java exception object. The value
- is cleared, so if the exception needs to be rethrown, it should be set
- again */
-
-extern "C" void *
-_Jv_exception_info (void)
-{
- java_eh_info *info = *(__get_eh_info ());
- void *ptr;
-
- if (info == NULL)
- abort ();
-
- ptr = info->value;
-
- /* clear the value so another throw is an error */
- info->value = NULL;
-
- return ptr;
-}
-
-
-
-/* Allocate an exception info structure for java. Called the first time
- an exception is thrown. */
-
-extern "C" void
-_Jv_eh_alloc ()
-{
- /* FIXME: we should use _Jv_AllocBytes here. However, libgcc2
- apparently can sometimes free() this value itself. */
- java_eh_info *p = (java_eh_info *) malloc (sizeof (java_eh_info));
- if (p == 0)
- terminate ();
-
- p->value = 0;
- java_eh_info ** info_ptr = __get_eh_info ();
-
- /* There should NOT be an exception info pointer already. */
- if (*info_ptr != NULL)
- abort ();
-
- *info_ptr = p;
-}
-
-/* Deallocate the current exception info structure. Called at shutdown time. */
-
-extern "C" void
-_Jv_eh_free ()
-{
- java_eh_info ** info_ptr = __get_eh_info ();
- if (*info_ptr == NULL)
- abort ();
-
- /* FIXME: ideally we should just let the GC handle this. */
- free (*info_ptr);
- *info_ptr = NULL;
-}
-
-/* Perform a throw, Java style. Throw will unwind through this call, so
- there better not be any handlers or exception thrown here. */
-
-
-/* Initialize an __eh_info structure with this libraries matching info. */
-
-extern "C" void
-_Jv_setup_eh_info (__eh_info *)
-{
-}
-
-extern "C" void
-_Jv_Throw (void *value)
-{
- if (value == NULL)
- value = (void *) new java::lang::NullPointerException ();
- java_eh_info *ehinfo = *(__get_eh_info ());
- if (ehinfo == NULL)
- {
- _Jv_eh_alloc ();
- ehinfo = *(__get_eh_info ());
- }
- ehinfo->eh_info.match_function = _Jv_type_matcher;
- ehinfo->eh_info.language = EH_LANG_Java;
- ehinfo->eh_info.version = 1;
- ehinfo->value = value;
- __throw();
-}
diff --git a/libjava/gnu/gcj/RawData.java b/libjava/gnu/gcj/RawData.java
deleted file mode 100644
index 9473fb05e5f..00000000000
--- a/libjava/gnu/gcj/RawData.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj;
-
-/** A type uses to indicate pointers to non-Java data. */
-
-public final class RawData
-{
- private RawData() { }
-}
diff --git a/libjava/gnu/gcj/convert/BytesToUnicode.java b/libjava/gnu/gcj/convert/BytesToUnicode.java
deleted file mode 100644
index cfcb813c9cf..00000000000
--- a/libjava/gnu/gcj/convert/BytesToUnicode.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-public abstract class BytesToUnicode
-{
- /** Buffer to read bytes from.
- * The characters inbuffer[inpos] ... inbuffer[inlength-1] are available. */
- public byte[] inbuffer;
- /** Starting index in buffer to read bytes from. */
- public int inpos;
- /** End of valid bytes in buffer. */
- public int inlength;
-
- static Class defaultDecodingClass;
-
- static synchronized void getDefaultDecodingClass()
- {
- // Test (defaultDecodingClass == null) again in case of race condition.
- if (defaultDecodingClass == null)
- {
- String encoding = System.getProperty("file.encoding");
- String className = "gnu.gcj.convert.Input_"+encoding;
- try
- {
- defaultDecodingClass = Class.forName(className);
- }
- catch (ClassNotFoundException ex)
- {
- throw new NoClassDefFoundError("missing default encoding "
- + encoding + " (class "
- + className + " not found)");
- }
- }
- }
-
- public abstract String getName();
-
- public static BytesToUnicode getDefaultDecoder()
- {
- try
- {
- if (defaultDecodingClass == null)
- getDefaultDecodingClass();
- return (BytesToUnicode) defaultDecodingClass.newInstance();
- }
- catch (Throwable ex)
- {
- return new Input_8859_1();
- }
- }
-
- /** Get a byte-stream->char-stream converter given an encoding name. */
- public static BytesToUnicode getDecoder (String encoding)
- throws java.io.UnsupportedEncodingException
- {
- String className = "gnu.gcj.convert.Input_"+encoding;
- Class decodingClass;
- try
- {
- decodingClass = Class.forName(className);
- return (BytesToUnicode) decodingClass.newInstance();
- }
- catch (Throwable ex)
- {
- throw new java.io.UnsupportedEncodingException(encoding
- + " (" + ex + ')');
- }
- }
-
- /** Make input bytes available to the conversion.
- * @param buffer source of input bytes
- * @param pos index of first available byte
- * @param length one more than index of last available byte
- */
- public final void setInput(byte[] buffer, int pos, int length)
- {
- inbuffer = buffer;
- inpos = pos;
- inlength = length;
- }
-
- /** Convert bytes to chars.
- * Input bytes are taken from this.inbuffer. The available input
- * bytes start at inbuffer[inpos], and end at inbuffer[inlength-1].
- * @param outbuffer buffer for the converted character
- * @param outpos position in buffer to start putting converted characters
- * @param outlength the maximum number of characters to convert
- * @return number of chars placed in outbuffer.
- * Also, this.inpos is incremented by the number of bytes consumed.
- *
- * (Note the asymmetry in that the input upper bound is inbuffer[inlength-1],
- * while the output upper bound is outbuffer[outpos+outlength-1]. The
- * justification is that inlength is like the count field of a
- * BufferedInputStream, while the outlength parameter is like the
- * length parameter of a read request.)
- */
- public abstract int read (char[] outbuffer, int outpos, int outlength);
-}
diff --git a/libjava/gnu/gcj/convert/Convert.java b/libjava/gnu/gcj/convert/Convert.java
deleted file mode 100644
index 4cdc1152654..00000000000
--- a/libjava/gnu/gcj/convert/Convert.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-import java.io.*;
-
-public class Convert
-{
- static void error (String message)
- {
- System.err.print("convert: ");
- System.err.println(message);
- System.err.println("Usage: convert [--from srcEncoding] [--to dstEncoding]");
- System.err.println(" [inputfile [outputfile]]");
- System.exit(-1);
- }
-
- static void missing (String arg)
- {
- error("missing arg after `" + arg + "' option");
- }
-
- public static void main (String[] args)
- {
- String inName = "-";
- String outName = "-";
- String inEncodingName = null;
- String outEncodingName = "JavaSrc";
- int seenNames = 0;
- boolean reverse = false;
-
- for (int i = 0; i < args.length; i++)
- {
- String arg = args[i];
- if (arg.length() == 0)
- error("zero-length argument");
- if (arg.charAt(0) == '-')
- {
- if (arg.equals("-encoding") || arg.equals("--encoding")
- || args.equals("-from") || arg.equals("--from"))
- {
- if (++i == args.length) missing(arg);
- inEncodingName = args[i];
- }
- else if (arg.equals("-to") || arg.equals("--to"))
- {
- if (++i == args.length) missing(arg);
- outEncodingName = args[i];
- }
- else if (arg.equals("-i"))
- {
- if (++i == args.length) missing(arg);
- inName = args[i];
- }
- else if (arg.equals("-o"))
- {
- if (++i == args.length) missing(arg);
- outName = args[i];
- }
- else if (arg.equals("-reverse") || arg.equals("--reverse"))
- {
- reverse = true;
- }
- else if (arg.equals("-"))
- {
- switch (seenNames)
- {
- case 0:
- inName = "-";
- seenNames++;
- break;
- case 1:
- outName = "-";
- seenNames++;
- break;
- default:
- error("too many `-' arguments");
- }
- }
- else
- error("unrecognized argument `" + arg + "'");
- }
- else
- {
- switch (seenNames)
- {
- case 0:
- inName = arg;
- seenNames++;
- break;
- case 1:
- outName = arg;
- seenNames++;
- break;
- default:
- error("too many filename arguments");
- }
- }
- }
-
- if (reverse)
- {
- String tmp = inEncodingName;
- inEncodingName = outEncodingName;
- outEncodingName = tmp;
- }
-
- try
- {
- BytesToUnicode inDecoder
- = inEncodingName == null ? BytesToUnicode.getDefaultDecoder()
- : BytesToUnicode.getDecoder(inEncodingName);
- UnicodeToBytes outEncoder
- = outEncodingName == null ? UnicodeToBytes.getDefaultEncoder()
- : UnicodeToBytes.getEncoder(outEncodingName);
- InputStream inStream = inName == "-" ? System.in
- : new FileInputStream(inName);
- OutputStream outStream;
- if (outName == "-")
- outStream = System.out;
- else
- outStream = new FileOutputStream(outName);
- InputStreamReader in
- = new InputStreamReader(inStream, inEncodingName);
- OutputStreamWriter out
- = new OutputStreamWriter(outStream, outEncodingName);
- char[] buffer = new char[2048];
- for (;;)
- {
- int count = in.read(buffer);
- if (count < 0)
- break;
- out.write(buffer, 0, count);
- }
-
- in.close();
- out.close();
- }
- catch (java.io.IOException ex)
- {
- System.err.print("convert exception: ");
- System.err.println(ex);
- System.exit(-1);
- }
- }
-}
diff --git a/libjava/gnu/gcj/convert/Input_8859_1.java b/libjava/gnu/gcj/convert/Input_8859_1.java
deleted file mode 100644
index e0d2d5100b4..00000000000
--- a/libjava/gnu/gcj/convert/Input_8859_1.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert ISO-Latin-1 (8851-1) text to Unicode.
- * @author Per Bothner <bothner@cygnus.com>
- * @date Match 1999.
- */
-
-public class Input_8859_1 extends BytesToUnicode
-{
- public String getName() { return "8859_1"; }
-
- public int read (char[] outbuffer, int outpos, int outlength)
- {
- int origpos = outpos;
- // Make sure fields of this are in registers.
- int inpos = this.inpos;
- byte[] inbuffer = this.inbuffer;
- int inavail = this.inlength - inpos;
- int outavail = outlength - outpos;
- if (outavail > inavail)
- outavail = inavail;
- while (--outavail >= 0)
- {
- outbuffer[outpos++] = (char) (inbuffer[inpos++] & 0xFF);
- }
- this.inpos = inpos;
- return outpos - origpos;
- }
-}
diff --git a/libjava/gnu/gcj/convert/Input_EUCJIS.java b/libjava/gnu/gcj/convert/Input_EUCJIS.java
deleted file mode 100644
index 1531442a40d..00000000000
--- a/libjava/gnu/gcj/convert/Input_EUCJIS.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert EUCJIS (Extended Unix Code for Japan) to Unicode.
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 1999.
- */
-
-public class Input_EUCJIS extends BytesToUnicode
-{
- public String getName() { return "EUCJIS"; }
-
- int codeset = 0;
- int first_byte;
-
- public native int read (char[] outbuffer, int outpos, int outlength);
-}
diff --git a/libjava/gnu/gcj/convert/Input_JavaSrc.java b/libjava/gnu/gcj/convert/Input_JavaSrc.java
deleted file mode 100644
index fc2107a591b..00000000000
--- a/libjava/gnu/gcj/convert/Input_JavaSrc.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert Ascii with \ u XXXX-escapes to Unicode.
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 1999.
- */
-
-public class Input_JavaSrc extends BytesToUnicode
-{
- public String getName() { return "JavaSrc"; }
-
- // 0: normal
- // 1: seen '\\'
- // 2: seen '\\' and 'u'
- // 3: seen '\\' and need to emit value.
- // 4, 5, 6, 7: seen '\\u', 'u' and (state-3) hex digits.
- int state = 0;
-
- int value;
-
- public int read (char[] outbuffer, int outpos, int outlength)
- {
- int origpos = outpos;
- for (;;)
- {
- if (inpos >= inlength)
- break;
- if (outpos >= outlength)
- break;
- char b = (char) (inbuffer[inpos++] & 0xFF);
- switch (state)
- {
- case 0:
- if (b == '\\')
- {
- state = 1;
- continue;
- }
- break;
- case 1:
- if (b == 'u')
- {
- state = 2;
- continue;
- }
- if (b != '\\')
- {
- value = b;
- b = '\\';
- state = 3;
- }
- break;
- case 3:
- b = (char) value;
- break;
- default: // case 4: case 5: case 6: case 7:
- int digit = Character.digit(b, 16);
- if (digit < 0)
- {
- b = '\uFFFD';
- state = 0;
- }
- else
- {
- value = value * 16 + digit;
- if (state < 7)
- {
- state++;
- continue;
- }
- b = (char) value;
- }
- state = 0;
- }
- outbuffer[outpos++] = b;
- }
- return outpos - origpos;
- }
-}
-
diff --git a/libjava/gnu/gcj/convert/Input_SJIS.java b/libjava/gnu/gcj/convert/Input_SJIS.java
deleted file mode 100644
index cdc7c4cb819..00000000000
--- a/libjava/gnu/gcj/convert/Input_SJIS.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert SJIS (Shift JIS, used on Japanese MS-Windows) to Unicode.
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 1999.
- */
-
-public class Input_SJIS extends BytesToUnicode
-{
- public String getName() { return "SJIS"; }
-
- public native int read (char[] outbuffer, int outpos, int outlength);
-
- int first_byte;
-}
diff --git a/libjava/gnu/gcj/convert/Input_UTF8.java b/libjava/gnu/gcj/convert/Input_UTF8.java
deleted file mode 100644
index 0bb5c48a13e..00000000000
--- a/libjava/gnu/gcj/convert/Input_UTF8.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert UTF8 to Unicode.
- * @author Per Bothner <bothner@cygnus.com>
- * @date Match 1999.
- */
-
-public class Input_UTF8 extends BytesToUnicode
-{
- public String getName() { return "UTF8"; }
-
- int partial = 0;
- int partial_bytes_expected = 0;
- //int suggogate_second = -1;
-
- public int read (char[] outbuffer, int outpos, int outlength)
- {
- int origpos = outpos;
- for (;;)
- {
- if (outpos >= outlength)
- break;
- if (inpos >= inlength)
- break;
- int b = inbuffer[inpos++];
- if (b >= 0)
- outbuffer[outpos++] = (char) b;
- else
- {
- if ((b & 0xC0) == 0x80) // Continuation byte
- {
- partial = (partial << 6) | (b & 0x3F);
- --partial_bytes_expected;
- if (partial_bytes_expected == 1)
- {
- if (partial > (0xFFFF>>6))
- {
- // The next continuation byte will cause the result
- // to exceed 0xFFFF, so we must use a surrogate pair.
- // The "Unicode scalar value" (see D28 in section 3.7
- // of the Unicode Standard 2.0) is defined as:
- // value == (hi-0xD800)*0x400+(lo-0xDC00)+0x10000,
- // where (hi, lo) is the Unicode surrogate pair.
- // After reading the first three bytes, we have:
- // partial == (value >> 6).
- // Substituting and simplifying, we get:
- // partial == (hi-0xD800)*0x10+((lo-0xDC00)>>6)+0x400.
- // The definition lo>=0xDC00 && lo<=0xDFFF implies
- // that (lo-0xDC00)>>6 is in the range 0..15.
- // Hence we can infer (partial-0x400)>>4 == (hi-0xDB00)
- // and we can emit the high-surrogate without waiting
- // for the final byte:
- outbuffer[outpos++] = (char) (0xDA00+(partial>>4));
-
- // Now we want to set it up so that when we read
- // the final byte on the next iteration, we will
- // get the low-surrogate without special handling.
- // I.e. we want:
- // lo == (next_partial << 6) | (next & 0x3F)
- // where next is the next input byte and next_partial
- // is the value of partial at the end of this
- // iteration. This implies: next_partial == lo >> 6.
- // We can simplify the previous:
- // partial == (hi-0xD800)*0x10+((lo-0xDC00)>>6)+0x400,
- // to: partial == (hi-0xD800)*0x10+(lo>>6)+0x90.
- // Inserting the values of hi and next_partial,
- // and simplifying, we get: partial ==
- // ( (partial-0x400)&~0xF) + next_partial + 0x90.
- // Solving for next_partial, we get:
- // next_partial = partial+0x400-0x90-(partial&~0xF):
- // or: next_partial = (partial&0xF) + 0x370. Hence:
- partial = (partial & 0xF) + 0x370;
- }
- }
- else if (partial_bytes_expected == 0)
- {
- outbuffer[outpos++] = (char) partial;
- partial = 0;
- partial_bytes_expected = 0;
- }
- }
- else // prefix byte
- {
- if ((b & 0xE0) == 0xC0)
- {
- partial = b & 0x1F;
- partial_bytes_expected = 1;
- }
- else if ((b & 0xF0) == 0xE0)
- {
- partial = b & 0xF;
- partial_bytes_expected = 2;
- }
- else
- {
- partial = b & 7;
- partial_bytes_expected = 3;
- }
- }
- }
- }
- return outpos - origpos;
- }
-}
diff --git a/libjava/gnu/gcj/convert/JIS0201.h b/libjava/gnu/gcj/convert/JIS0201.h
deleted file mode 100644
index 3a3b4f1b85a..00000000000
--- a/libjava/gnu/gcj/convert/JIS0201.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/* This file is automatically generated from Unicode tables */
-MAP(0x00, 0x20, 0x0020) /* SPACE */
-MAP(0x00, 0x21, 0x0021) /* EXCLAMATION MARK */
-MAP(0x00, 0x22, 0x0022) /* QUOTATION MARK */
-MAP(0x00, 0x23, 0x0023) /* NUMBER SIGN */
-MAP(0x00, 0x24, 0x0024) /* DOLLAR SIGN */
-MAP(0x00, 0x25, 0x0025) /* PERCENT SIGN */
-MAP(0x00, 0x26, 0x0026) /* AMPERSAND */
-MAP(0x00, 0x27, 0x0027) /* APOSTROPHE */
-MAP(0x00, 0x28, 0x0028) /* LEFT PARENTHESIS */
-MAP(0x00, 0x29, 0x0029) /* RIGHT PARENTHESIS */
-MAP(0x00, 0x2A, 0x002A) /* ASTERISK */
-MAP(0x00, 0x2B, 0x002B) /* PLUS SIGN */
-MAP(0x00, 0x2C, 0x002C) /* COMMA */
-MAP(0x00, 0x2D, 0x002D) /* HYPHEN-MINUS */
-MAP(0x00, 0x2E, 0x002E) /* FULL STOP */
-MAP(0x00, 0x2F, 0x002F) /* SOLIDUS */
-MAP(0x00, 0x30, 0x0030) /* DIGIT ZERO */
-MAP(0x00, 0x31, 0x0031) /* DIGIT ONE */
-MAP(0x00, 0x32, 0x0032) /* DIGIT TWO */
-MAP(0x00, 0x33, 0x0033) /* DIGIT THREE */
-MAP(0x00, 0x34, 0x0034) /* DIGIT FOUR */
-MAP(0x00, 0x35, 0x0035) /* DIGIT FIVE */
-MAP(0x00, 0x36, 0x0036) /* DIGIT SIX */
-MAP(0x00, 0x37, 0x0037) /* DIGIT SEVEN */
-MAP(0x00, 0x38, 0x0038) /* DIGIT EIGHT */
-MAP(0x00, 0x39, 0x0039) /* DIGIT NINE */
-MAP(0x00, 0x3A, 0x003A) /* COLON */
-MAP(0x00, 0x3B, 0x003B) /* SEMICOLON */
-MAP(0x00, 0x3C, 0x003C) /* LESS-THAN SIGN */
-MAP(0x00, 0x3D, 0x003D) /* EQUALS SIGN */
-MAP(0x00, 0x3E, 0x003E) /* GREATER-THAN SIGN */
-MAP(0x00, 0x3F, 0x003F) /* QUESTION MARK */
-MAP(0x00, 0x40, 0x0040) /* COMMERCIAL AT */
-MAP(0x00, 0x41, 0x0041) /* LATIN CAPITAL LETTER A */
-MAP(0x00, 0x42, 0x0042) /* LATIN CAPITAL LETTER B */
-MAP(0x00, 0x43, 0x0043) /* LATIN CAPITAL LETTER C */
-MAP(0x00, 0x44, 0x0044) /* LATIN CAPITAL LETTER D */
-MAP(0x00, 0x45, 0x0045) /* LATIN CAPITAL LETTER E */
-MAP(0x00, 0x46, 0x0046) /* LATIN CAPITAL LETTER F */
-MAP(0x00, 0x47, 0x0047) /* LATIN CAPITAL LETTER G */
-MAP(0x00, 0x48, 0x0048) /* LATIN CAPITAL LETTER H */
-MAP(0x00, 0x49, 0x0049) /* LATIN CAPITAL LETTER I */
-MAP(0x00, 0x4A, 0x004A) /* LATIN CAPITAL LETTER J */
-MAP(0x00, 0x4B, 0x004B) /* LATIN CAPITAL LETTER K */
-MAP(0x00, 0x4C, 0x004C) /* LATIN CAPITAL LETTER L */
-MAP(0x00, 0x4D, 0x004D) /* LATIN CAPITAL LETTER M */
-MAP(0x00, 0x4E, 0x004E) /* LATIN CAPITAL LETTER N */
-MAP(0x00, 0x4F, 0x004F) /* LATIN CAPITAL LETTER O */
-MAP(0x00, 0x50, 0x0050) /* LATIN CAPITAL LETTER P */
-MAP(0x00, 0x51, 0x0051) /* LATIN CAPITAL LETTER Q */
-MAP(0x00, 0x52, 0x0052) /* LATIN CAPITAL LETTER R */
-MAP(0x00, 0x53, 0x0053) /* LATIN CAPITAL LETTER S */
-MAP(0x00, 0x54, 0x0054) /* LATIN CAPITAL LETTER T */
-MAP(0x00, 0x55, 0x0055) /* LATIN CAPITAL LETTER U */
-MAP(0x00, 0x56, 0x0056) /* LATIN CAPITAL LETTER V */
-MAP(0x00, 0x57, 0x0057) /* LATIN CAPITAL LETTER W */
-MAP(0x00, 0x58, 0x0058) /* LATIN CAPITAL LETTER X */
-MAP(0x00, 0x59, 0x0059) /* LATIN CAPITAL LETTER Y */
-MAP(0x00, 0x5A, 0x005A) /* LATIN CAPITAL LETTER Z */
-MAP(0x00, 0x5B, 0x005B) /* LEFT SQUARE BRACKET */
-MAP(0x00, 0x5C, 0x00A5) /* YEN SIGN */
-MAP(0x00, 0x5D, 0x005D) /* RIGHT SQUARE BRACKET */
-MAP(0x00, 0x5E, 0x005E) /* CIRCUMFLEX ACCENT */
-MAP(0x00, 0x5F, 0x005F) /* LOW LINE */
-MAP(0x00, 0x60, 0x0060) /* GRAVE ACCENT */
-MAP(0x00, 0x61, 0x0061) /* LATIN SMALL LETTER A */
-MAP(0x00, 0x62, 0x0062) /* LATIN SMALL LETTER B */
-MAP(0x00, 0x63, 0x0063) /* LATIN SMALL LETTER C */
-MAP(0x00, 0x64, 0x0064) /* LATIN SMALL LETTER D */
-MAP(0x00, 0x65, 0x0065) /* LATIN SMALL LETTER E */
-MAP(0x00, 0x66, 0x0066) /* LATIN SMALL LETTER F */
-MAP(0x00, 0x67, 0x0067) /* LATIN SMALL LETTER G */
-MAP(0x00, 0x68, 0x0068) /* LATIN SMALL LETTER H */
-MAP(0x00, 0x69, 0x0069) /* LATIN SMALL LETTER I */
-MAP(0x00, 0x6A, 0x006A) /* LATIN SMALL LETTER J */
-MAP(0x00, 0x6B, 0x006B) /* LATIN SMALL LETTER K */
-MAP(0x00, 0x6C, 0x006C) /* LATIN SMALL LETTER L */
-MAP(0x00, 0x6D, 0x006D) /* LATIN SMALL LETTER M */
-MAP(0x00, 0x6E, 0x006E) /* LATIN SMALL LETTER N */
-MAP(0x00, 0x6F, 0x006F) /* LATIN SMALL LETTER O */
-MAP(0x00, 0x70, 0x0070) /* LATIN SMALL LETTER P */
-MAP(0x00, 0x71, 0x0071) /* LATIN SMALL LETTER Q */
-MAP(0x00, 0x72, 0x0072) /* LATIN SMALL LETTER R */
-MAP(0x00, 0x73, 0x0073) /* LATIN SMALL LETTER S */
-MAP(0x00, 0x74, 0x0074) /* LATIN SMALL LETTER T */
-MAP(0x00, 0x75, 0x0075) /* LATIN SMALL LETTER U */
-MAP(0x00, 0x76, 0x0076) /* LATIN SMALL LETTER V */
-MAP(0x00, 0x77, 0x0077) /* LATIN SMALL LETTER W */
-MAP(0x00, 0x78, 0x0078) /* LATIN SMALL LETTER X */
-MAP(0x00, 0x79, 0x0079) /* LATIN SMALL LETTER Y */
-MAP(0x00, 0x7A, 0x007A) /* LATIN SMALL LETTER Z */
-MAP(0x00, 0x7B, 0x007B) /* LEFT CURLY BRACKET */
-MAP(0x00, 0x7C, 0x007C) /* VERTICAL LINE */
-MAP(0x00, 0x7D, 0x007D) /* RIGHT CURLY BRACKET */
-MAP(0x00, 0x7E, 0x203E) /* OVERLINE */
-MAP(0x00, 0xA1, 0xFF61) /* HALFWIDTH IDEOGRAPHIC FULL STOP */
-MAP(0x00, 0xA2, 0xFF62) /* HALFWIDTH LEFT CORNER BRACKET */
-MAP(0x00, 0xA3, 0xFF63) /* HALFWIDTH RIGHT CORNER BRACKET */
-MAP(0x00, 0xA4, 0xFF64) /* HALFWIDTH IDEOGRAPHIC COMMA */
-MAP(0x00, 0xA5, 0xFF65) /* HALFWIDTH KATAKANA MIDDLE DOT */
-MAP(0x00, 0xA6, 0xFF66) /* HALFWIDTH KATAKANA LETTER WO */
-MAP(0x00, 0xA7, 0xFF67) /* HALFWIDTH KATAKANA LETTER SMALL A */
-MAP(0x00, 0xA8, 0xFF68) /* HALFWIDTH KATAKANA LETTER SMALL I */
-MAP(0x00, 0xA9, 0xFF69) /* HALFWIDTH KATAKANA LETTER SMALL U */
-MAP(0x00, 0xAA, 0xFF6A) /* HALFWIDTH KATAKANA LETTER SMALL E */
-MAP(0x00, 0xAB, 0xFF6B) /* HALFWIDTH KATAKANA LETTER SMALL O */
-MAP(0x00, 0xAC, 0xFF6C) /* HALFWIDTH KATAKANA LETTER SMALL YA */
-MAP(0x00, 0xAD, 0xFF6D) /* HALFWIDTH KATAKANA LETTER SMALL YU */
-MAP(0x00, 0xAE, 0xFF6E) /* HALFWIDTH KATAKANA LETTER SMALL YO */
-MAP(0x00, 0xAF, 0xFF6F) /* HALFWIDTH KATAKANA LETTER SMALL TU */
-MAP(0x00, 0xB0, 0xFF70) /* HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK */
-MAP(0x00, 0xB1, 0xFF71) /* HALFWIDTH KATAKANA LETTER A */
-MAP(0x00, 0xB2, 0xFF72) /* HALFWIDTH KATAKANA LETTER I */
-MAP(0x00, 0xB3, 0xFF73) /* HALFWIDTH KATAKANA LETTER U */
-MAP(0x00, 0xB4, 0xFF74) /* HALFWIDTH KATAKANA LETTER E */
-MAP(0x00, 0xB5, 0xFF75) /* HALFWIDTH KATAKANA LETTER O */
-MAP(0x00, 0xB6, 0xFF76) /* HALFWIDTH KATAKANA LETTER KA */
-MAP(0x00, 0xB7, 0xFF77) /* HALFWIDTH KATAKANA LETTER KI */
-MAP(0x00, 0xB8, 0xFF78) /* HALFWIDTH KATAKANA LETTER KU */
-MAP(0x00, 0xB9, 0xFF79) /* HALFWIDTH KATAKANA LETTER KE */
-MAP(0x00, 0xBA, 0xFF7A) /* HALFWIDTH KATAKANA LETTER KO */
-MAP(0x00, 0xBB, 0xFF7B) /* HALFWIDTH KATAKANA LETTER SA */
-MAP(0x00, 0xBC, 0xFF7C) /* HALFWIDTH KATAKANA LETTER SI */
-MAP(0x00, 0xBD, 0xFF7D) /* HALFWIDTH KATAKANA LETTER SU */
-MAP(0x00, 0xBE, 0xFF7E) /* HALFWIDTH KATAKANA LETTER SE */
-MAP(0x00, 0xBF, 0xFF7F) /* HALFWIDTH KATAKANA LETTER SO */
-MAP(0x00, 0xC0, 0xFF80) /* HALFWIDTH KATAKANA LETTER TA */
-MAP(0x00, 0xC1, 0xFF81) /* HALFWIDTH KATAKANA LETTER TI */
-MAP(0x00, 0xC2, 0xFF82) /* HALFWIDTH KATAKANA LETTER TU */
-MAP(0x00, 0xC3, 0xFF83) /* HALFWIDTH KATAKANA LETTER TE */
-MAP(0x00, 0xC4, 0xFF84) /* HALFWIDTH KATAKANA LETTER TO */
-MAP(0x00, 0xC5, 0xFF85) /* HALFWIDTH KATAKANA LETTER NA */
-MAP(0x00, 0xC6, 0xFF86) /* HALFWIDTH KATAKANA LETTER NI */
-MAP(0x00, 0xC7, 0xFF87) /* HALFWIDTH KATAKANA LETTER NU */
-MAP(0x00, 0xC8, 0xFF88) /* HALFWIDTH KATAKANA LETTER NE */
-MAP(0x00, 0xC9, 0xFF89) /* HALFWIDTH KATAKANA LETTER NO */
-MAP(0x00, 0xCA, 0xFF8A) /* HALFWIDTH KATAKANA LETTER HA */
-MAP(0x00, 0xCB, 0xFF8B) /* HALFWIDTH KATAKANA LETTER HI */
-MAP(0x00, 0xCC, 0xFF8C) /* HALFWIDTH KATAKANA LETTER HU */
-MAP(0x00, 0xCD, 0xFF8D) /* HALFWIDTH KATAKANA LETTER HE */
-MAP(0x00, 0xCE, 0xFF8E) /* HALFWIDTH KATAKANA LETTER HO */
-MAP(0x00, 0xCF, 0xFF8F) /* HALFWIDTH KATAKANA LETTER MA */
-MAP(0x00, 0xD0, 0xFF90) /* HALFWIDTH KATAKANA LETTER MI */
-MAP(0x00, 0xD1, 0xFF91) /* HALFWIDTH KATAKANA LETTER MU */
-MAP(0x00, 0xD2, 0xFF92) /* HALFWIDTH KATAKANA LETTER ME */
-MAP(0x00, 0xD3, 0xFF93) /* HALFWIDTH KATAKANA LETTER MO */
-MAP(0x00, 0xD4, 0xFF94) /* HALFWIDTH KATAKANA LETTER YA */
-MAP(0x00, 0xD5, 0xFF95) /* HALFWIDTH KATAKANA LETTER YU */
-MAP(0x00, 0xD6, 0xFF96) /* HALFWIDTH KATAKANA LETTER YO */
-MAP(0x00, 0xD7, 0xFF97) /* HALFWIDTH KATAKANA LETTER RA */
-MAP(0x00, 0xD8, 0xFF98) /* HALFWIDTH KATAKANA LETTER RI */
-MAP(0x00, 0xD9, 0xFF99) /* HALFWIDTH KATAKANA LETTER RU */
-MAP(0x00, 0xDA, 0xFF9A) /* HALFWIDTH KATAKANA LETTER RE */
-MAP(0x00, 0xDB, 0xFF9B) /* HALFWIDTH KATAKANA LETTER RO */
-MAP(0x00, 0xDC, 0xFF9C) /* HALFWIDTH KATAKANA LETTER WA */
-MAP(0x00, 0xDD, 0xFF9D) /* HALFWIDTH KATAKANA LETTER N */
-MAP(0x00, 0xDE, 0xFF9E) /* HALFWIDTH KATAKANA VOICED SOUND MARK */
-MAP(0x00, 0xDF, 0xFF9F) /* HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK */
diff --git a/libjava/gnu/gcj/convert/JIS0208.h b/libjava/gnu/gcj/convert/JIS0208.h
deleted file mode 100644
index d0406fa7f4c..00000000000
--- a/libjava/gnu/gcj/convert/JIS0208.h
+++ /dev/null
@@ -1,6880 +0,0 @@
-/* This file is automatically generated from Unicode tables */
-MAP(0x21, 0x21, 0x3000) /* IDEOGRAPHIC SPACE */
-MAP(0x21, 0x22, 0x3001) /* IDEOGRAPHIC COMMA */
-MAP(0x21, 0x23, 0x3002) /* IDEOGRAPHIC FULL STOP */
-MAP(0x21, 0x24, 0xFF0C) /* FULLWIDTH COMMA */
-MAP(0x21, 0x25, 0xFF0E) /* FULLWIDTH FULL STOP */
-MAP(0x21, 0x26, 0x30FB) /* KATAKANA MIDDLE DOT */
-MAP(0x21, 0x27, 0xFF1A) /* FULLWIDTH COLON */
-MAP(0x21, 0x28, 0xFF1B) /* FULLWIDTH SEMICOLON */
-MAP(0x21, 0x29, 0xFF1F) /* FULLWIDTH QUESTION MARK */
-MAP(0x21, 0x2A, 0xFF01) /* FULLWIDTH EXCLAMATION MARK */
-MAP(0x21, 0x2B, 0x309B) /* KATAKANA-HIRAGANA VOICED SOUND MARK */
-MAP(0x21, 0x2C, 0x309C) /* KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
-MAP(0x21, 0x2D, 0x00B4) /* ACUTE ACCENT */
-MAP(0x21, 0x2E, 0xFF40) /* FULLWIDTH GRAVE ACCENT */
-MAP(0x21, 0x2F, 0x00A8) /* DIAERESIS */
-MAP(0x21, 0x30, 0xFF3E) /* FULLWIDTH CIRCUMFLEX ACCENT */
-MAP(0x21, 0x31, 0xFFE3) /* FULLWIDTH MACRON */
-MAP(0x21, 0x32, 0xFF3F) /* FULLWIDTH LOW LINE */
-MAP(0x21, 0x33, 0x30FD) /* KATAKANA ITERATION MARK */
-MAP(0x21, 0x34, 0x30FE) /* KATAKANA VOICED ITERATION MARK */
-MAP(0x21, 0x35, 0x309D) /* HIRAGANA ITERATION MARK */
-MAP(0x21, 0x36, 0x309E) /* HIRAGANA VOICED ITERATION MARK */
-MAP(0x21, 0x37, 0x3003) /* DITTO MARK */
-MAP(0x21, 0x38, 0x4EDD) /* <CJK> */
-MAP(0x21, 0x39, 0x3005) /* IDEOGRAPHIC ITERATION MARK */
-MAP(0x21, 0x3A, 0x3006) /* IDEOGRAPHIC CLOSING MARK */
-MAP(0x21, 0x3B, 0x3007) /* IDEOGRAPHIC NUMBER ZERO */
-MAP(0x21, 0x3C, 0x30FC) /* KATAKANA-HIRAGANA PROLONGED SOUND MARK */
-MAP(0x21, 0x3D, 0x2015) /* HORIZONTAL BAR */
-MAP(0x21, 0x3E, 0x2010) /* HYPHEN */
-MAP(0x21, 0x3F, 0xFF0F) /* FULLWIDTH SOLIDUS */
-MAP(0x21, 0x40, 0x005C) /* REVERSE SOLIDUS */
-MAP(0x21, 0x41, 0x301C) /* WAVE DASH */
-MAP(0x21, 0x42, 0x2016) /* DOUBLE VERTICAL LINE */
-MAP(0x21, 0x43, 0xFF5C) /* FULLWIDTH VERTICAL LINE */
-MAP(0x21, 0x44, 0x2026) /* HORIZONTAL ELLIPSIS */
-MAP(0x21, 0x45, 0x2025) /* TWO DOT LEADER */
-MAP(0x21, 0x46, 0x2018) /* LEFT SINGLE QUOTATION MARK */
-MAP(0x21, 0x47, 0x2019) /* RIGHT SINGLE QUOTATION MARK */
-MAP(0x21, 0x48, 0x201C) /* LEFT DOUBLE QUOTATION MARK */
-MAP(0x21, 0x49, 0x201D) /* RIGHT DOUBLE QUOTATION MARK */
-MAP(0x21, 0x4A, 0xFF08) /* FULLWIDTH LEFT PARENTHESIS */
-MAP(0x21, 0x4B, 0xFF09) /* FULLWIDTH RIGHT PARENTHESIS */
-MAP(0x21, 0x4C, 0x3014) /* LEFT TORTOISE SHELL BRACKET */
-MAP(0x21, 0x4D, 0x3015) /* RIGHT TORTOISE SHELL BRACKET */
-MAP(0x21, 0x4E, 0xFF3B) /* FULLWIDTH LEFT SQUARE BRACKET */
-MAP(0x21, 0x4F, 0xFF3D) /* FULLWIDTH RIGHT SQUARE BRACKET */
-MAP(0x21, 0x50, 0xFF5B) /* FULLWIDTH LEFT CURLY BRACKET */
-MAP(0x21, 0x51, 0xFF5D) /* FULLWIDTH RIGHT CURLY BRACKET */
-MAP(0x21, 0x52, 0x3008) /* LEFT ANGLE BRACKET */
-MAP(0x21, 0x53, 0x3009) /* RIGHT ANGLE BRACKET */
-MAP(0x21, 0x54, 0x300A) /* LEFT DOUBLE ANGLE BRACKET */
-MAP(0x21, 0x55, 0x300B) /* RIGHT DOUBLE ANGLE BRACKET */
-MAP(0x21, 0x56, 0x300C) /* LEFT CORNER BRACKET */
-MAP(0x21, 0x57, 0x300D) /* RIGHT CORNER BRACKET */
-MAP(0x21, 0x58, 0x300E) /* LEFT WHITE CORNER BRACKET */
-MAP(0x21, 0x59, 0x300F) /* RIGHT WHITE CORNER BRACKET */
-MAP(0x21, 0x5A, 0x3010) /* LEFT BLACK LENTICULAR BRACKET */
-MAP(0x21, 0x5B, 0x3011) /* RIGHT BLACK LENTICULAR BRACKET */
-MAP(0x21, 0x5C, 0xFF0B) /* FULLWIDTH PLUS SIGN */
-MAP(0x21, 0x5D, 0x2212) /* MINUS SIGN */
-MAP(0x21, 0x5E, 0x00B1) /* PLUS-MINUS SIGN */
-MAP(0x21, 0x5F, 0x00D7) /* MULTIPLICATION SIGN */
-MAP(0x21, 0x60, 0x00F7) /* DIVISION SIGN */
-MAP(0x21, 0x61, 0xFF1D) /* FULLWIDTH EQUALS SIGN */
-MAP(0x21, 0x62, 0x2260) /* NOT EQUAL TO */
-MAP(0x21, 0x63, 0xFF1C) /* FULLWIDTH LESS-THAN SIGN */
-MAP(0x21, 0x64, 0xFF1E) /* FULLWIDTH GREATER-THAN SIGN */
-MAP(0x21, 0x65, 0x2266) /* LESS-THAN OVER EQUAL TO */
-MAP(0x21, 0x66, 0x2267) /* GREATER-THAN OVER EQUAL TO */
-MAP(0x21, 0x67, 0x221E) /* INFINITY */
-MAP(0x21, 0x68, 0x2234) /* THEREFORE */
-MAP(0x21, 0x69, 0x2642) /* MALE SIGN */
-MAP(0x21, 0x6A, 0x2640) /* FEMALE SIGN */
-MAP(0x21, 0x6B, 0x00B0) /* DEGREE SIGN */
-MAP(0x21, 0x6C, 0x2032) /* PRIME */
-MAP(0x21, 0x6D, 0x2033) /* DOUBLE PRIME */
-MAP(0x21, 0x6E, 0x2103) /* DEGREE CELSIUS */
-MAP(0x21, 0x6F, 0xFFE5) /* FULLWIDTH YEN SIGN */
-MAP(0x21, 0x70, 0xFF04) /* FULLWIDTH DOLLAR SIGN */
-MAP(0x21, 0x71, 0x00A2) /* CENT SIGN */
-MAP(0x21, 0x72, 0x00A3) /* POUND SIGN */
-MAP(0x21, 0x73, 0xFF05) /* FULLWIDTH PERCENT SIGN */
-MAP(0x21, 0x74, 0xFF03) /* FULLWIDTH NUMBER SIGN */
-MAP(0x21, 0x75, 0xFF06) /* FULLWIDTH AMPERSAND */
-MAP(0x21, 0x76, 0xFF0A) /* FULLWIDTH ASTERISK */
-MAP(0x21, 0x77, 0xFF20) /* FULLWIDTH COMMERCIAL AT */
-MAP(0x21, 0x78, 0x00A7) /* SECTION SIGN */
-MAP(0x21, 0x79, 0x2606) /* WHITE STAR */
-MAP(0x21, 0x7A, 0x2605) /* BLACK STAR */
-MAP(0x21, 0x7B, 0x25CB) /* WHITE CIRCLE */
-MAP(0x21, 0x7C, 0x25CF) /* BLACK CIRCLE */
-MAP(0x21, 0x7D, 0x25CE) /* BULLSEYE */
-MAP(0x21, 0x7E, 0x25C7) /* WHITE DIAMOND */
-MAP(0x22, 0x21, 0x25C6) /* BLACK DIAMOND */
-MAP(0x22, 0x22, 0x25A1) /* WHITE SQUARE */
-MAP(0x22, 0x23, 0x25A0) /* BLACK SQUARE */
-MAP(0x22, 0x24, 0x25B3) /* WHITE UP-POINTING TRIANGLE */
-MAP(0x22, 0x25, 0x25B2) /* BLACK UP-POINTING TRIANGLE */
-MAP(0x22, 0x26, 0x25BD) /* WHITE DOWN-POINTING TRIANGLE */
-MAP(0x22, 0x27, 0x25BC) /* BLACK DOWN-POINTING TRIANGLE */
-MAP(0x22, 0x28, 0x203B) /* REFERENCE MARK */
-MAP(0x22, 0x29, 0x3012) /* POSTAL MARK */
-MAP(0x22, 0x2A, 0x2192) /* RIGHTWARDS ARROW */
-MAP(0x22, 0x2B, 0x2190) /* LEFTWARDS ARROW */
-MAP(0x22, 0x2C, 0x2191) /* UPWARDS ARROW */
-MAP(0x22, 0x2D, 0x2193) /* DOWNWARDS ARROW */
-MAP(0x22, 0x2E, 0x3013) /* GETA MARK */
-MAP(0x22, 0x3A, 0x2208) /* ELEMENT OF */
-MAP(0x22, 0x3B, 0x220B) /* CONTAINS AS MEMBER */
-MAP(0x22, 0x3C, 0x2286) /* SUBSET OF OR EQUAL TO */
-MAP(0x22, 0x3D, 0x2287) /* SUPERSET OF OR EQUAL TO */
-MAP(0x22, 0x3E, 0x2282) /* SUBSET OF */
-MAP(0x22, 0x3F, 0x2283) /* SUPERSET OF */
-MAP(0x22, 0x40, 0x222A) /* UNION */
-MAP(0x22, 0x41, 0x2229) /* INTERSECTION */
-MAP(0x22, 0x4A, 0x2227) /* LOGICAL AND */
-MAP(0x22, 0x4B, 0x2228) /* LOGICAL OR */
-MAP(0x22, 0x4C, 0x00AC) /* NOT SIGN */
-MAP(0x22, 0x4D, 0x21D2) /* RIGHTWARDS DOUBLE ARROW */
-MAP(0x22, 0x4E, 0x21D4) /* LEFT RIGHT DOUBLE ARROW */
-MAP(0x22, 0x4F, 0x2200) /* FOR ALL */
-MAP(0x22, 0x50, 0x2203) /* THERE EXISTS */
-MAP(0x22, 0x5C, 0x2220) /* ANGLE */
-MAP(0x22, 0x5D, 0x22A5) /* UP TACK */
-MAP(0x22, 0x5E, 0x2312) /* ARC */
-MAP(0x22, 0x5F, 0x2202) /* PARTIAL DIFFERENTIAL */
-MAP(0x22, 0x60, 0x2207) /* NABLA */
-MAP(0x22, 0x61, 0x2261) /* IDENTICAL TO */
-MAP(0x22, 0x62, 0x2252) /* APPROXIMATELY EQUAL TO OR THE IMAGE OF */
-MAP(0x22, 0x63, 0x226A) /* MUCH LESS-THAN */
-MAP(0x22, 0x64, 0x226B) /* MUCH GREATER-THAN */
-MAP(0x22, 0x65, 0x221A) /* SQUARE ROOT */
-MAP(0x22, 0x66, 0x223D) /* REVERSED TILDE */
-MAP(0x22, 0x67, 0x221D) /* PROPORTIONAL TO */
-MAP(0x22, 0x68, 0x2235) /* BECAUSE */
-MAP(0x22, 0x69, 0x222B) /* INTEGRAL */
-MAP(0x22, 0x6A, 0x222C) /* DOUBLE INTEGRAL */
-MAP(0x22, 0x72, 0x212B) /* ANGSTROM SIGN */
-MAP(0x22, 0x73, 0x2030) /* PER MILLE SIGN */
-MAP(0x22, 0x74, 0x266F) /* MUSIC SHARP SIGN */
-MAP(0x22, 0x75, 0x266D) /* MUSIC FLAT SIGN */
-MAP(0x22, 0x76, 0x266A) /* EIGHTH NOTE */
-MAP(0x22, 0x77, 0x2020) /* DAGGER */
-MAP(0x22, 0x78, 0x2021) /* DOUBLE DAGGER */
-MAP(0x22, 0x79, 0x00B6) /* PILCROW SIGN */
-MAP(0x22, 0x7E, 0x25EF) /* LARGE CIRCLE */
-MAP(0x23, 0x30, 0xFF10) /* FULLWIDTH DIGIT ZERO */
-MAP(0x23, 0x31, 0xFF11) /* FULLWIDTH DIGIT ONE */
-MAP(0x23, 0x32, 0xFF12) /* FULLWIDTH DIGIT TWO */
-MAP(0x23, 0x33, 0xFF13) /* FULLWIDTH DIGIT THREE */
-MAP(0x23, 0x34, 0xFF14) /* FULLWIDTH DIGIT FOUR */
-MAP(0x23, 0x35, 0xFF15) /* FULLWIDTH DIGIT FIVE */
-MAP(0x23, 0x36, 0xFF16) /* FULLWIDTH DIGIT SIX */
-MAP(0x23, 0x37, 0xFF17) /* FULLWIDTH DIGIT SEVEN */
-MAP(0x23, 0x38, 0xFF18) /* FULLWIDTH DIGIT EIGHT */
-MAP(0x23, 0x39, 0xFF19) /* FULLWIDTH DIGIT NINE */
-MAP(0x23, 0x41, 0xFF21) /* FULLWIDTH LATIN CAPITAL LETTER A */
-MAP(0x23, 0x42, 0xFF22) /* FULLWIDTH LATIN CAPITAL LETTER B */
-MAP(0x23, 0x43, 0xFF23) /* FULLWIDTH LATIN CAPITAL LETTER C */
-MAP(0x23, 0x44, 0xFF24) /* FULLWIDTH LATIN CAPITAL LETTER D */
-MAP(0x23, 0x45, 0xFF25) /* FULLWIDTH LATIN CAPITAL LETTER E */
-MAP(0x23, 0x46, 0xFF26) /* FULLWIDTH LATIN CAPITAL LETTER F */
-MAP(0x23, 0x47, 0xFF27) /* FULLWIDTH LATIN CAPITAL LETTER G */
-MAP(0x23, 0x48, 0xFF28) /* FULLWIDTH LATIN CAPITAL LETTER H */
-MAP(0x23, 0x49, 0xFF29) /* FULLWIDTH LATIN CAPITAL LETTER I */
-MAP(0x23, 0x4A, 0xFF2A) /* FULLWIDTH LATIN CAPITAL LETTER J */
-MAP(0x23, 0x4B, 0xFF2B) /* FULLWIDTH LATIN CAPITAL LETTER K */
-MAP(0x23, 0x4C, 0xFF2C) /* FULLWIDTH LATIN CAPITAL LETTER L */
-MAP(0x23, 0x4D, 0xFF2D) /* FULLWIDTH LATIN CAPITAL LETTER M */
-MAP(0x23, 0x4E, 0xFF2E) /* FULLWIDTH LATIN CAPITAL LETTER N */
-MAP(0x23, 0x4F, 0xFF2F) /* FULLWIDTH LATIN CAPITAL LETTER O */
-MAP(0x23, 0x50, 0xFF30) /* FULLWIDTH LATIN CAPITAL LETTER P */
-MAP(0x23, 0x51, 0xFF31) /* FULLWIDTH LATIN CAPITAL LETTER Q */
-MAP(0x23, 0x52, 0xFF32) /* FULLWIDTH LATIN CAPITAL LETTER R */
-MAP(0x23, 0x53, 0xFF33) /* FULLWIDTH LATIN CAPITAL LETTER S */
-MAP(0x23, 0x54, 0xFF34) /* FULLWIDTH LATIN CAPITAL LETTER T */
-MAP(0x23, 0x55, 0xFF35) /* FULLWIDTH LATIN CAPITAL LETTER U */
-MAP(0x23, 0x56, 0xFF36) /* FULLWIDTH LATIN CAPITAL LETTER V */
-MAP(0x23, 0x57, 0xFF37) /* FULLWIDTH LATIN CAPITAL LETTER W */
-MAP(0x23, 0x58, 0xFF38) /* FULLWIDTH LATIN CAPITAL LETTER X */
-MAP(0x23, 0x59, 0xFF39) /* FULLWIDTH LATIN CAPITAL LETTER Y */
-MAP(0x23, 0x5A, 0xFF3A) /* FULLWIDTH LATIN CAPITAL LETTER Z */
-MAP(0x23, 0x61, 0xFF41) /* FULLWIDTH LATIN SMALL LETTER A */
-MAP(0x23, 0x62, 0xFF42) /* FULLWIDTH LATIN SMALL LETTER B */
-MAP(0x23, 0x63, 0xFF43) /* FULLWIDTH LATIN SMALL LETTER C */
-MAP(0x23, 0x64, 0xFF44) /* FULLWIDTH LATIN SMALL LETTER D */
-MAP(0x23, 0x65, 0xFF45) /* FULLWIDTH LATIN SMALL LETTER E */
-MAP(0x23, 0x66, 0xFF46) /* FULLWIDTH LATIN SMALL LETTER F */
-MAP(0x23, 0x67, 0xFF47) /* FULLWIDTH LATIN SMALL LETTER G */
-MAP(0x23, 0x68, 0xFF48) /* FULLWIDTH LATIN SMALL LETTER H */
-MAP(0x23, 0x69, 0xFF49) /* FULLWIDTH LATIN SMALL LETTER I */
-MAP(0x23, 0x6A, 0xFF4A) /* FULLWIDTH LATIN SMALL LETTER J */
-MAP(0x23, 0x6B, 0xFF4B) /* FULLWIDTH LATIN SMALL LETTER K */
-MAP(0x23, 0x6C, 0xFF4C) /* FULLWIDTH LATIN SMALL LETTER L */
-MAP(0x23, 0x6D, 0xFF4D) /* FULLWIDTH LATIN SMALL LETTER M */
-MAP(0x23, 0x6E, 0xFF4E) /* FULLWIDTH LATIN SMALL LETTER N */
-MAP(0x23, 0x6F, 0xFF4F) /* FULLWIDTH LATIN SMALL LETTER O */
-MAP(0x23, 0x70, 0xFF50) /* FULLWIDTH LATIN SMALL LETTER P */
-MAP(0x23, 0x71, 0xFF51) /* FULLWIDTH LATIN SMALL LETTER Q */
-MAP(0x23, 0x72, 0xFF52) /* FULLWIDTH LATIN SMALL LETTER R */
-MAP(0x23, 0x73, 0xFF53) /* FULLWIDTH LATIN SMALL LETTER S */
-MAP(0x23, 0x74, 0xFF54) /* FULLWIDTH LATIN SMALL LETTER T */
-MAP(0x23, 0x75, 0xFF55) /* FULLWIDTH LATIN SMALL LETTER U */
-MAP(0x23, 0x76, 0xFF56) /* FULLWIDTH LATIN SMALL LETTER V */
-MAP(0x23, 0x77, 0xFF57) /* FULLWIDTH LATIN SMALL LETTER W */
-MAP(0x23, 0x78, 0xFF58) /* FULLWIDTH LATIN SMALL LETTER X */
-MAP(0x23, 0x79, 0xFF59) /* FULLWIDTH LATIN SMALL LETTER Y */
-MAP(0x23, 0x7A, 0xFF5A) /* FULLWIDTH LATIN SMALL LETTER Z */
-MAP(0x24, 0x21, 0x3041) /* HIRAGANA LETTER SMALL A */
-MAP(0x24, 0x22, 0x3042) /* HIRAGANA LETTER A */
-MAP(0x24, 0x23, 0x3043) /* HIRAGANA LETTER SMALL I */
-MAP(0x24, 0x24, 0x3044) /* HIRAGANA LETTER I */
-MAP(0x24, 0x25, 0x3045) /* HIRAGANA LETTER SMALL U */
-MAP(0x24, 0x26, 0x3046) /* HIRAGANA LETTER U */
-MAP(0x24, 0x27, 0x3047) /* HIRAGANA LETTER SMALL E */
-MAP(0x24, 0x28, 0x3048) /* HIRAGANA LETTER E */
-MAP(0x24, 0x29, 0x3049) /* HIRAGANA LETTER SMALL O */
-MAP(0x24, 0x2A, 0x304A) /* HIRAGANA LETTER O */
-MAP(0x24, 0x2B, 0x304B) /* HIRAGANA LETTER KA */
-MAP(0x24, 0x2C, 0x304C) /* HIRAGANA LETTER GA */
-MAP(0x24, 0x2D, 0x304D) /* HIRAGANA LETTER KI */
-MAP(0x24, 0x2E, 0x304E) /* HIRAGANA LETTER GI */
-MAP(0x24, 0x2F, 0x304F) /* HIRAGANA LETTER KU */
-MAP(0x24, 0x30, 0x3050) /* HIRAGANA LETTER GU */
-MAP(0x24, 0x31, 0x3051) /* HIRAGANA LETTER KE */
-MAP(0x24, 0x32, 0x3052) /* HIRAGANA LETTER GE */
-MAP(0x24, 0x33, 0x3053) /* HIRAGANA LETTER KO */
-MAP(0x24, 0x34, 0x3054) /* HIRAGANA LETTER GO */
-MAP(0x24, 0x35, 0x3055) /* HIRAGANA LETTER SA */
-MAP(0x24, 0x36, 0x3056) /* HIRAGANA LETTER ZA */
-MAP(0x24, 0x37, 0x3057) /* HIRAGANA LETTER SI */
-MAP(0x24, 0x38, 0x3058) /* HIRAGANA LETTER ZI */
-MAP(0x24, 0x39, 0x3059) /* HIRAGANA LETTER SU */
-MAP(0x24, 0x3A, 0x305A) /* HIRAGANA LETTER ZU */
-MAP(0x24, 0x3B, 0x305B) /* HIRAGANA LETTER SE */
-MAP(0x24, 0x3C, 0x305C) /* HIRAGANA LETTER ZE */
-MAP(0x24, 0x3D, 0x305D) /* HIRAGANA LETTER SO */
-MAP(0x24, 0x3E, 0x305E) /* HIRAGANA LETTER ZO */
-MAP(0x24, 0x3F, 0x305F) /* HIRAGANA LETTER TA */
-MAP(0x24, 0x40, 0x3060) /* HIRAGANA LETTER DA */
-MAP(0x24, 0x41, 0x3061) /* HIRAGANA LETTER TI */
-MAP(0x24, 0x42, 0x3062) /* HIRAGANA LETTER DI */
-MAP(0x24, 0x43, 0x3063) /* HIRAGANA LETTER SMALL TU */
-MAP(0x24, 0x44, 0x3064) /* HIRAGANA LETTER TU */
-MAP(0x24, 0x45, 0x3065) /* HIRAGANA LETTER DU */
-MAP(0x24, 0x46, 0x3066) /* HIRAGANA LETTER TE */
-MAP(0x24, 0x47, 0x3067) /* HIRAGANA LETTER DE */
-MAP(0x24, 0x48, 0x3068) /* HIRAGANA LETTER TO */
-MAP(0x24, 0x49, 0x3069) /* HIRAGANA LETTER DO */
-MAP(0x24, 0x4A, 0x306A) /* HIRAGANA LETTER NA */
-MAP(0x24, 0x4B, 0x306B) /* HIRAGANA LETTER NI */
-MAP(0x24, 0x4C, 0x306C) /* HIRAGANA LETTER NU */
-MAP(0x24, 0x4D, 0x306D) /* HIRAGANA LETTER NE */
-MAP(0x24, 0x4E, 0x306E) /* HIRAGANA LETTER NO */
-MAP(0x24, 0x4F, 0x306F) /* HIRAGANA LETTER HA */
-MAP(0x24, 0x50, 0x3070) /* HIRAGANA LETTER BA */
-MAP(0x24, 0x51, 0x3071) /* HIRAGANA LETTER PA */
-MAP(0x24, 0x52, 0x3072) /* HIRAGANA LETTER HI */
-MAP(0x24, 0x53, 0x3073) /* HIRAGANA LETTER BI */
-MAP(0x24, 0x54, 0x3074) /* HIRAGANA LETTER PI */
-MAP(0x24, 0x55, 0x3075) /* HIRAGANA LETTER HU */
-MAP(0x24, 0x56, 0x3076) /* HIRAGANA LETTER BU */
-MAP(0x24, 0x57, 0x3077) /* HIRAGANA LETTER PU */
-MAP(0x24, 0x58, 0x3078) /* HIRAGANA LETTER HE */
-MAP(0x24, 0x59, 0x3079) /* HIRAGANA LETTER BE */
-MAP(0x24, 0x5A, 0x307A) /* HIRAGANA LETTER PE */
-MAP(0x24, 0x5B, 0x307B) /* HIRAGANA LETTER HO */
-MAP(0x24, 0x5C, 0x307C) /* HIRAGANA LETTER BO */
-MAP(0x24, 0x5D, 0x307D) /* HIRAGANA LETTER PO */
-MAP(0x24, 0x5E, 0x307E) /* HIRAGANA LETTER MA */
-MAP(0x24, 0x5F, 0x307F) /* HIRAGANA LETTER MI */
-MAP(0x24, 0x60, 0x3080) /* HIRAGANA LETTER MU */
-MAP(0x24, 0x61, 0x3081) /* HIRAGANA LETTER ME */
-MAP(0x24, 0x62, 0x3082) /* HIRAGANA LETTER MO */
-MAP(0x24, 0x63, 0x3083) /* HIRAGANA LETTER SMALL YA */
-MAP(0x24, 0x64, 0x3084) /* HIRAGANA LETTER YA */
-MAP(0x24, 0x65, 0x3085) /* HIRAGANA LETTER SMALL YU */
-MAP(0x24, 0x66, 0x3086) /* HIRAGANA LETTER YU */
-MAP(0x24, 0x67, 0x3087) /* HIRAGANA LETTER SMALL YO */
-MAP(0x24, 0x68, 0x3088) /* HIRAGANA LETTER YO */
-MAP(0x24, 0x69, 0x3089) /* HIRAGANA LETTER RA */
-MAP(0x24, 0x6A, 0x308A) /* HIRAGANA LETTER RI */
-MAP(0x24, 0x6B, 0x308B) /* HIRAGANA LETTER RU */
-MAP(0x24, 0x6C, 0x308C) /* HIRAGANA LETTER RE */
-MAP(0x24, 0x6D, 0x308D) /* HIRAGANA LETTER RO */
-MAP(0x24, 0x6E, 0x308E) /* HIRAGANA LETTER SMALL WA */
-MAP(0x24, 0x6F, 0x308F) /* HIRAGANA LETTER WA */
-MAP(0x24, 0x70, 0x3090) /* HIRAGANA LETTER WI */
-MAP(0x24, 0x71, 0x3091) /* HIRAGANA LETTER WE */
-MAP(0x24, 0x72, 0x3092) /* HIRAGANA LETTER WO */
-MAP(0x24, 0x73, 0x3093) /* HIRAGANA LETTER N */
-MAP(0x25, 0x21, 0x30A1) /* KATAKANA LETTER SMALL A */
-MAP(0x25, 0x22, 0x30A2) /* KATAKANA LETTER A */
-MAP(0x25, 0x23, 0x30A3) /* KATAKANA LETTER SMALL I */
-MAP(0x25, 0x24, 0x30A4) /* KATAKANA LETTER I */
-MAP(0x25, 0x25, 0x30A5) /* KATAKANA LETTER SMALL U */
-MAP(0x25, 0x26, 0x30A6) /* KATAKANA LETTER U */
-MAP(0x25, 0x27, 0x30A7) /* KATAKANA LETTER SMALL E */
-MAP(0x25, 0x28, 0x30A8) /* KATAKANA LETTER E */
-MAP(0x25, 0x29, 0x30A9) /* KATAKANA LETTER SMALL O */
-MAP(0x25, 0x2A, 0x30AA) /* KATAKANA LETTER O */
-MAP(0x25, 0x2B, 0x30AB) /* KATAKANA LETTER KA */
-MAP(0x25, 0x2C, 0x30AC) /* KATAKANA LETTER GA */
-MAP(0x25, 0x2D, 0x30AD) /* KATAKANA LETTER KI */
-MAP(0x25, 0x2E, 0x30AE) /* KATAKANA LETTER GI */
-MAP(0x25, 0x2F, 0x30AF) /* KATAKANA LETTER KU */
-MAP(0x25, 0x30, 0x30B0) /* KATAKANA LETTER GU */
-MAP(0x25, 0x31, 0x30B1) /* KATAKANA LETTER KE */
-MAP(0x25, 0x32, 0x30B2) /* KATAKANA LETTER GE */
-MAP(0x25, 0x33, 0x30B3) /* KATAKANA LETTER KO */
-MAP(0x25, 0x34, 0x30B4) /* KATAKANA LETTER GO */
-MAP(0x25, 0x35, 0x30B5) /* KATAKANA LETTER SA */
-MAP(0x25, 0x36, 0x30B6) /* KATAKANA LETTER ZA */
-MAP(0x25, 0x37, 0x30B7) /* KATAKANA LETTER SI */
-MAP(0x25, 0x38, 0x30B8) /* KATAKANA LETTER ZI */
-MAP(0x25, 0x39, 0x30B9) /* KATAKANA LETTER SU */
-MAP(0x25, 0x3A, 0x30BA) /* KATAKANA LETTER ZU */
-MAP(0x25, 0x3B, 0x30BB) /* KATAKANA LETTER SE */
-MAP(0x25, 0x3C, 0x30BC) /* KATAKANA LETTER ZE */
-MAP(0x25, 0x3D, 0x30BD) /* KATAKANA LETTER SO */
-MAP(0x25, 0x3E, 0x30BE) /* KATAKANA LETTER ZO */
-MAP(0x25, 0x3F, 0x30BF) /* KATAKANA LETTER TA */
-MAP(0x25, 0x40, 0x30C0) /* KATAKANA LETTER DA */
-MAP(0x25, 0x41, 0x30C1) /* KATAKANA LETTER TI */
-MAP(0x25, 0x42, 0x30C2) /* KATAKANA LETTER DI */
-MAP(0x25, 0x43, 0x30C3) /* KATAKANA LETTER SMALL TU */
-MAP(0x25, 0x44, 0x30C4) /* KATAKANA LETTER TU */
-MAP(0x25, 0x45, 0x30C5) /* KATAKANA LETTER DU */
-MAP(0x25, 0x46, 0x30C6) /* KATAKANA LETTER TE */
-MAP(0x25, 0x47, 0x30C7) /* KATAKANA LETTER DE */
-MAP(0x25, 0x48, 0x30C8) /* KATAKANA LETTER TO */
-MAP(0x25, 0x49, 0x30C9) /* KATAKANA LETTER DO */
-MAP(0x25, 0x4A, 0x30CA) /* KATAKANA LETTER NA */
-MAP(0x25, 0x4B, 0x30CB) /* KATAKANA LETTER NI */
-MAP(0x25, 0x4C, 0x30CC) /* KATAKANA LETTER NU */
-MAP(0x25, 0x4D, 0x30CD) /* KATAKANA LETTER NE */
-MAP(0x25, 0x4E, 0x30CE) /* KATAKANA LETTER NO */
-MAP(0x25, 0x4F, 0x30CF) /* KATAKANA LETTER HA */
-MAP(0x25, 0x50, 0x30D0) /* KATAKANA LETTER BA */
-MAP(0x25, 0x51, 0x30D1) /* KATAKANA LETTER PA */
-MAP(0x25, 0x52, 0x30D2) /* KATAKANA LETTER HI */
-MAP(0x25, 0x53, 0x30D3) /* KATAKANA LETTER BI */
-MAP(0x25, 0x54, 0x30D4) /* KATAKANA LETTER PI */
-MAP(0x25, 0x55, 0x30D5) /* KATAKANA LETTER HU */
-MAP(0x25, 0x56, 0x30D6) /* KATAKANA LETTER BU */
-MAP(0x25, 0x57, 0x30D7) /* KATAKANA LETTER PU */
-MAP(0x25, 0x58, 0x30D8) /* KATAKANA LETTER HE */
-MAP(0x25, 0x59, 0x30D9) /* KATAKANA LETTER BE */
-MAP(0x25, 0x5A, 0x30DA) /* KATAKANA LETTER PE */
-MAP(0x25, 0x5B, 0x30DB) /* KATAKANA LETTER HO */
-MAP(0x25, 0x5C, 0x30DC) /* KATAKANA LETTER BO */
-MAP(0x25, 0x5D, 0x30DD) /* KATAKANA LETTER PO */
-MAP(0x25, 0x5E, 0x30DE) /* KATAKANA LETTER MA */
-MAP(0x25, 0x5F, 0x30DF) /* KATAKANA LETTER MI */
-MAP(0x25, 0x60, 0x30E0) /* KATAKANA LETTER MU */
-MAP(0x25, 0x61, 0x30E1) /* KATAKANA LETTER ME */
-MAP(0x25, 0x62, 0x30E2) /* KATAKANA LETTER MO */
-MAP(0x25, 0x63, 0x30E3) /* KATAKANA LETTER SMALL YA */
-MAP(0x25, 0x64, 0x30E4) /* KATAKANA LETTER YA */
-MAP(0x25, 0x65, 0x30E5) /* KATAKANA LETTER SMALL YU */
-MAP(0x25, 0x66, 0x30E6) /* KATAKANA LETTER YU */
-MAP(0x25, 0x67, 0x30E7) /* KATAKANA LETTER SMALL YO */
-MAP(0x25, 0x68, 0x30E8) /* KATAKANA LETTER YO */
-MAP(0x25, 0x69, 0x30E9) /* KATAKANA LETTER RA */
-MAP(0x25, 0x6A, 0x30EA) /* KATAKANA LETTER RI */
-MAP(0x25, 0x6B, 0x30EB) /* KATAKANA LETTER RU */
-MAP(0x25, 0x6C, 0x30EC) /* KATAKANA LETTER RE */
-MAP(0x25, 0x6D, 0x30ED) /* KATAKANA LETTER RO */
-MAP(0x25, 0x6E, 0x30EE) /* KATAKANA LETTER SMALL WA */
-MAP(0x25, 0x6F, 0x30EF) /* KATAKANA LETTER WA */
-MAP(0x25, 0x70, 0x30F0) /* KATAKANA LETTER WI */
-MAP(0x25, 0x71, 0x30F1) /* KATAKANA LETTER WE */
-MAP(0x25, 0x72, 0x30F2) /* KATAKANA LETTER WO */
-MAP(0x25, 0x73, 0x30F3) /* KATAKANA LETTER N */
-MAP(0x25, 0x74, 0x30F4) /* KATAKANA LETTER VU */
-MAP(0x25, 0x75, 0x30F5) /* KATAKANA LETTER SMALL KA */
-MAP(0x25, 0x76, 0x30F6) /* KATAKANA LETTER SMALL KE */
-MAP(0x26, 0x21, 0x0391) /* GREEK CAPITAL LETTER ALPHA */
-MAP(0x26, 0x22, 0x0392) /* GREEK CAPITAL LETTER BETA */
-MAP(0x26, 0x23, 0x0393) /* GREEK CAPITAL LETTER GAMMA */
-MAP(0x26, 0x24, 0x0394) /* GREEK CAPITAL LETTER DELTA */
-MAP(0x26, 0x25, 0x0395) /* GREEK CAPITAL LETTER EPSILON */
-MAP(0x26, 0x26, 0x0396) /* GREEK CAPITAL LETTER ZETA */
-MAP(0x26, 0x27, 0x0397) /* GREEK CAPITAL LETTER ETA */
-MAP(0x26, 0x28, 0x0398) /* GREEK CAPITAL LETTER THETA */
-MAP(0x26, 0x29, 0x0399) /* GREEK CAPITAL LETTER IOTA */
-MAP(0x26, 0x2A, 0x039A) /* GREEK CAPITAL LETTER KAPPA */
-MAP(0x26, 0x2B, 0x039B) /* GREEK CAPITAL LETTER LAMDA */
-MAP(0x26, 0x2C, 0x039C) /* GREEK CAPITAL LETTER MU */
-MAP(0x26, 0x2D, 0x039D) /* GREEK CAPITAL LETTER NU */
-MAP(0x26, 0x2E, 0x039E) /* GREEK CAPITAL LETTER XI */
-MAP(0x26, 0x2F, 0x039F) /* GREEK CAPITAL LETTER OMICRON */
-MAP(0x26, 0x30, 0x03A0) /* GREEK CAPITAL LETTER PI */
-MAP(0x26, 0x31, 0x03A1) /* GREEK CAPITAL LETTER RHO */
-MAP(0x26, 0x32, 0x03A3) /* GREEK CAPITAL LETTER SIGMA */
-MAP(0x26, 0x33, 0x03A4) /* GREEK CAPITAL LETTER TAU */
-MAP(0x26, 0x34, 0x03A5) /* GREEK CAPITAL LETTER UPSILON */
-MAP(0x26, 0x35, 0x03A6) /* GREEK CAPITAL LETTER PHI */
-MAP(0x26, 0x36, 0x03A7) /* GREEK CAPITAL LETTER CHI */
-MAP(0x26, 0x37, 0x03A8) /* GREEK CAPITAL LETTER PSI */
-MAP(0x26, 0x38, 0x03A9) /* GREEK CAPITAL LETTER OMEGA */
-MAP(0x26, 0x41, 0x03B1) /* GREEK SMALL LETTER ALPHA */
-MAP(0x26, 0x42, 0x03B2) /* GREEK SMALL LETTER BETA */
-MAP(0x26, 0x43, 0x03B3) /* GREEK SMALL LETTER GAMMA */
-MAP(0x26, 0x44, 0x03B4) /* GREEK SMALL LETTER DELTA */
-MAP(0x26, 0x45, 0x03B5) /* GREEK SMALL LETTER EPSILON */
-MAP(0x26, 0x46, 0x03B6) /* GREEK SMALL LETTER ZETA */
-MAP(0x26, 0x47, 0x03B7) /* GREEK SMALL LETTER ETA */
-MAP(0x26, 0x48, 0x03B8) /* GREEK SMALL LETTER THETA */
-MAP(0x26, 0x49, 0x03B9) /* GREEK SMALL LETTER IOTA */
-MAP(0x26, 0x4A, 0x03BA) /* GREEK SMALL LETTER KAPPA */
-MAP(0x26, 0x4B, 0x03BB) /* GREEK SMALL LETTER LAMDA */
-MAP(0x26, 0x4C, 0x03BC) /* GREEK SMALL LETTER MU */
-MAP(0x26, 0x4D, 0x03BD) /* GREEK SMALL LETTER NU */
-MAP(0x26, 0x4E, 0x03BE) /* GREEK SMALL LETTER XI */
-MAP(0x26, 0x4F, 0x03BF) /* GREEK SMALL LETTER OMICRON */
-MAP(0x26, 0x50, 0x03C0) /* GREEK SMALL LETTER PI */
-MAP(0x26, 0x51, 0x03C1) /* GREEK SMALL LETTER RHO */
-MAP(0x26, 0x52, 0x03C3) /* GREEK SMALL LETTER SIGMA */
-MAP(0x26, 0x53, 0x03C4) /* GREEK SMALL LETTER TAU */
-MAP(0x26, 0x54, 0x03C5) /* GREEK SMALL LETTER UPSILON */
-MAP(0x26, 0x55, 0x03C6) /* GREEK SMALL LETTER PHI */
-MAP(0x26, 0x56, 0x03C7) /* GREEK SMALL LETTER CHI */
-MAP(0x26, 0x57, 0x03C8) /* GREEK SMALL LETTER PSI */
-MAP(0x26, 0x58, 0x03C9) /* GREEK SMALL LETTER OMEGA */
-MAP(0x27, 0x21, 0x0410) /* CYRILLIC CAPITAL LETTER A */
-MAP(0x27, 0x22, 0x0411) /* CYRILLIC CAPITAL LETTER BE */
-MAP(0x27, 0x23, 0x0412) /* CYRILLIC CAPITAL LETTER VE */
-MAP(0x27, 0x24, 0x0413) /* CYRILLIC CAPITAL LETTER GHE */
-MAP(0x27, 0x25, 0x0414) /* CYRILLIC CAPITAL LETTER DE */
-MAP(0x27, 0x26, 0x0415) /* CYRILLIC CAPITAL LETTER IE */
-MAP(0x27, 0x27, 0x0401) /* CYRILLIC CAPITAL LETTER IO */
-MAP(0x27, 0x28, 0x0416) /* CYRILLIC CAPITAL LETTER ZHE */
-MAP(0x27, 0x29, 0x0417) /* CYRILLIC CAPITAL LETTER ZE */
-MAP(0x27, 0x2A, 0x0418) /* CYRILLIC CAPITAL LETTER I */
-MAP(0x27, 0x2B, 0x0419) /* CYRILLIC CAPITAL LETTER SHORT I */
-MAP(0x27, 0x2C, 0x041A) /* CYRILLIC CAPITAL LETTER KA */
-MAP(0x27, 0x2D, 0x041B) /* CYRILLIC CAPITAL LETTER EL */
-MAP(0x27, 0x2E, 0x041C) /* CYRILLIC CAPITAL LETTER EM */
-MAP(0x27, 0x2F, 0x041D) /* CYRILLIC CAPITAL LETTER EN */
-MAP(0x27, 0x30, 0x041E) /* CYRILLIC CAPITAL LETTER O */
-MAP(0x27, 0x31, 0x041F) /* CYRILLIC CAPITAL LETTER PE */
-MAP(0x27, 0x32, 0x0420) /* CYRILLIC CAPITAL LETTER ER */
-MAP(0x27, 0x33, 0x0421) /* CYRILLIC CAPITAL LETTER ES */
-MAP(0x27, 0x34, 0x0422) /* CYRILLIC CAPITAL LETTER TE */
-MAP(0x27, 0x35, 0x0423) /* CYRILLIC CAPITAL LETTER U */
-MAP(0x27, 0x36, 0x0424) /* CYRILLIC CAPITAL LETTER EF */
-MAP(0x27, 0x37, 0x0425) /* CYRILLIC CAPITAL LETTER HA */
-MAP(0x27, 0x38, 0x0426) /* CYRILLIC CAPITAL LETTER TSE */
-MAP(0x27, 0x39, 0x0427) /* CYRILLIC CAPITAL LETTER CHE */
-MAP(0x27, 0x3A, 0x0428) /* CYRILLIC CAPITAL LETTER SHA */
-MAP(0x27, 0x3B, 0x0429) /* CYRILLIC CAPITAL LETTER SHCHA */
-MAP(0x27, 0x3C, 0x042A) /* CYRILLIC CAPITAL LETTER HARD SIGN */
-MAP(0x27, 0x3D, 0x042B) /* CYRILLIC CAPITAL LETTER YERU */
-MAP(0x27, 0x3E, 0x042C) /* CYRILLIC CAPITAL LETTER SOFT SIGN */
-MAP(0x27, 0x3F, 0x042D) /* CYRILLIC CAPITAL LETTER E */
-MAP(0x27, 0x40, 0x042E) /* CYRILLIC CAPITAL LETTER YU */
-MAP(0x27, 0x41, 0x042F) /* CYRILLIC CAPITAL LETTER YA */
-MAP(0x27, 0x51, 0x0430) /* CYRILLIC SMALL LETTER A */
-MAP(0x27, 0x52, 0x0431) /* CYRILLIC SMALL LETTER BE */
-MAP(0x27, 0x53, 0x0432) /* CYRILLIC SMALL LETTER VE */
-MAP(0x27, 0x54, 0x0433) /* CYRILLIC SMALL LETTER GHE */
-MAP(0x27, 0x55, 0x0434) /* CYRILLIC SMALL LETTER DE */
-MAP(0x27, 0x56, 0x0435) /* CYRILLIC SMALL LETTER IE */
-MAP(0x27, 0x57, 0x0451) /* CYRILLIC SMALL LETTER IO */
-MAP(0x27, 0x58, 0x0436) /* CYRILLIC SMALL LETTER ZHE */
-MAP(0x27, 0x59, 0x0437) /* CYRILLIC SMALL LETTER ZE */
-MAP(0x27, 0x5A, 0x0438) /* CYRILLIC SMALL LETTER I */
-MAP(0x27, 0x5B, 0x0439) /* CYRILLIC SMALL LETTER SHORT I */
-MAP(0x27, 0x5C, 0x043A) /* CYRILLIC SMALL LETTER KA */
-MAP(0x27, 0x5D, 0x043B) /* CYRILLIC SMALL LETTER EL */
-MAP(0x27, 0x5E, 0x043C) /* CYRILLIC SMALL LETTER EM */
-MAP(0x27, 0x5F, 0x043D) /* CYRILLIC SMALL LETTER EN */
-MAP(0x27, 0x60, 0x043E) /* CYRILLIC SMALL LETTER O */
-MAP(0x27, 0x61, 0x043F) /* CYRILLIC SMALL LETTER PE */
-MAP(0x27, 0x62, 0x0440) /* CYRILLIC SMALL LETTER ER */
-MAP(0x27, 0x63, 0x0441) /* CYRILLIC SMALL LETTER ES */
-MAP(0x27, 0x64, 0x0442) /* CYRILLIC SMALL LETTER TE */
-MAP(0x27, 0x65, 0x0443) /* CYRILLIC SMALL LETTER U */
-MAP(0x27, 0x66, 0x0444) /* CYRILLIC SMALL LETTER EF */
-MAP(0x27, 0x67, 0x0445) /* CYRILLIC SMALL LETTER HA */
-MAP(0x27, 0x68, 0x0446) /* CYRILLIC SMALL LETTER TSE */
-MAP(0x27, 0x69, 0x0447) /* CYRILLIC SMALL LETTER CHE */
-MAP(0x27, 0x6A, 0x0448) /* CYRILLIC SMALL LETTER SHA */
-MAP(0x27, 0x6B, 0x0449) /* CYRILLIC SMALL LETTER SHCHA */
-MAP(0x27, 0x6C, 0x044A) /* CYRILLIC SMALL LETTER HARD SIGN */
-MAP(0x27, 0x6D, 0x044B) /* CYRILLIC SMALL LETTER YERU */
-MAP(0x27, 0x6E, 0x044C) /* CYRILLIC SMALL LETTER SOFT SIGN */
-MAP(0x27, 0x6F, 0x044D) /* CYRILLIC SMALL LETTER E */
-MAP(0x27, 0x70, 0x044E) /* CYRILLIC SMALL LETTER YU */
-MAP(0x27, 0x71, 0x044F) /* CYRILLIC SMALL LETTER YA */
-MAP(0x28, 0x21, 0x2500) /* BOX DRAWINGS LIGHT HORIZONTAL */
-MAP(0x28, 0x22, 0x2502) /* BOX DRAWINGS LIGHT VERTICAL */
-MAP(0x28, 0x23, 0x250C) /* BOX DRAWINGS LIGHT DOWN AND RIGHT */
-MAP(0x28, 0x24, 0x2510) /* BOX DRAWINGS LIGHT DOWN AND LEFT */
-MAP(0x28, 0x25, 0x2518) /* BOX DRAWINGS LIGHT UP AND LEFT */
-MAP(0x28, 0x26, 0x2514) /* BOX DRAWINGS LIGHT UP AND RIGHT */
-MAP(0x28, 0x27, 0x251C) /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
-MAP(0x28, 0x28, 0x252C) /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
-MAP(0x28, 0x29, 0x2524) /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */
-MAP(0x28, 0x2A, 0x2534) /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */
-MAP(0x28, 0x2B, 0x253C) /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
-MAP(0x28, 0x2C, 0x2501) /* BOX DRAWINGS HEAVY HORIZONTAL */
-MAP(0x28, 0x2D, 0x2503) /* BOX DRAWINGS HEAVY VERTICAL */
-MAP(0x28, 0x2E, 0x250F) /* BOX DRAWINGS HEAVY DOWN AND RIGHT */
-MAP(0x28, 0x2F, 0x2513) /* BOX DRAWINGS HEAVY DOWN AND LEFT */
-MAP(0x28, 0x30, 0x251B) /* BOX DRAWINGS HEAVY UP AND LEFT */
-MAP(0x28, 0x31, 0x2517) /* BOX DRAWINGS HEAVY UP AND RIGHT */
-MAP(0x28, 0x32, 0x2523) /* BOX DRAWINGS HEAVY VERTICAL AND RIGHT */
-MAP(0x28, 0x33, 0x2533) /* BOX DRAWINGS HEAVY DOWN AND HORIZONTAL */
-MAP(0x28, 0x34, 0x252B) /* BOX DRAWINGS HEAVY VERTICAL AND LEFT */
-MAP(0x28, 0x35, 0x253B) /* BOX DRAWINGS HEAVY UP AND HORIZONTAL */
-MAP(0x28, 0x36, 0x254B) /* BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL */
-MAP(0x28, 0x37, 0x2520) /* BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT */
-MAP(0x28, 0x38, 0x252F) /* BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY */
-MAP(0x28, 0x39, 0x2528) /* BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT */
-MAP(0x28, 0x3A, 0x2537) /* BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY */
-MAP(0x28, 0x3B, 0x253F) /* BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY */
-MAP(0x28, 0x3C, 0x251D) /* BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY */
-MAP(0x28, 0x3D, 0x2530) /* BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT */
-MAP(0x28, 0x3E, 0x2525) /* BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY */
-MAP(0x28, 0x3F, 0x2538) /* BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT */
-MAP(0x28, 0x40, 0x2542) /* BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT */
-MAP(0x30, 0x21, 0x4E9C) /* <CJK> */
-MAP(0x30, 0x22, 0x5516) /* <CJK> */
-MAP(0x30, 0x23, 0x5A03) /* <CJK> */
-MAP(0x30, 0x24, 0x963F) /* <CJK> */
-MAP(0x30, 0x25, 0x54C0) /* <CJK> */
-MAP(0x30, 0x26, 0x611B) /* <CJK> */
-MAP(0x30, 0x27, 0x6328) /* <CJK> */
-MAP(0x30, 0x28, 0x59F6) /* <CJK> */
-MAP(0x30, 0x29, 0x9022) /* <CJK> */
-MAP(0x30, 0x2A, 0x8475) /* <CJK> */
-MAP(0x30, 0x2B, 0x831C) /* <CJK> */
-MAP(0x30, 0x2C, 0x7A50) /* <CJK> */
-MAP(0x30, 0x2D, 0x60AA) /* <CJK> */
-MAP(0x30, 0x2E, 0x63E1) /* <CJK> */
-MAP(0x30, 0x2F, 0x6E25) /* <CJK> */
-MAP(0x30, 0x30, 0x65ED) /* <CJK> */
-MAP(0x30, 0x31, 0x8466) /* <CJK> */
-MAP(0x30, 0x32, 0x82A6) /* <CJK> */
-MAP(0x30, 0x33, 0x9BF5) /* <CJK> */
-MAP(0x30, 0x34, 0x6893) /* <CJK> */
-MAP(0x30, 0x35, 0x5727) /* <CJK> */
-MAP(0x30, 0x36, 0x65A1) /* <CJK> */
-MAP(0x30, 0x37, 0x6271) /* <CJK> */
-MAP(0x30, 0x38, 0x5B9B) /* <CJK> */
-MAP(0x30, 0x39, 0x59D0) /* <CJK> */
-MAP(0x30, 0x3A, 0x867B) /* <CJK> */
-MAP(0x30, 0x3B, 0x98F4) /* <CJK> */
-MAP(0x30, 0x3C, 0x7D62) /* <CJK> */
-MAP(0x30, 0x3D, 0x7DBE) /* <CJK> */
-MAP(0x30, 0x3E, 0x9B8E) /* <CJK> */
-MAP(0x30, 0x3F, 0x6216) /* <CJK> */
-MAP(0x30, 0x40, 0x7C9F) /* <CJK> */
-MAP(0x30, 0x41, 0x88B7) /* <CJK> */
-MAP(0x30, 0x42, 0x5B89) /* <CJK> */
-MAP(0x30, 0x43, 0x5EB5) /* <CJK> */
-MAP(0x30, 0x44, 0x6309) /* <CJK> */
-MAP(0x30, 0x45, 0x6697) /* <CJK> */
-MAP(0x30, 0x46, 0x6848) /* <CJK> */
-MAP(0x30, 0x47, 0x95C7) /* <CJK> */
-MAP(0x30, 0x48, 0x978D) /* <CJK> */
-MAP(0x30, 0x49, 0x674F) /* <CJK> */
-MAP(0x30, 0x4A, 0x4EE5) /* <CJK> */
-MAP(0x30, 0x4B, 0x4F0A) /* <CJK> */
-MAP(0x30, 0x4C, 0x4F4D) /* <CJK> */
-MAP(0x30, 0x4D, 0x4F9D) /* <CJK> */
-MAP(0x30, 0x4E, 0x5049) /* <CJK> */
-MAP(0x30, 0x4F, 0x56F2) /* <CJK> */
-MAP(0x30, 0x50, 0x5937) /* <CJK> */
-MAP(0x30, 0x51, 0x59D4) /* <CJK> */
-MAP(0x30, 0x52, 0x5A01) /* <CJK> */
-MAP(0x30, 0x53, 0x5C09) /* <CJK> */
-MAP(0x30, 0x54, 0x60DF) /* <CJK> */
-MAP(0x30, 0x55, 0x610F) /* <CJK> */
-MAP(0x30, 0x56, 0x6170) /* <CJK> */
-MAP(0x30, 0x57, 0x6613) /* <CJK> */
-MAP(0x30, 0x58, 0x6905) /* <CJK> */
-MAP(0x30, 0x59, 0x70BA) /* <CJK> */
-MAP(0x30, 0x5A, 0x754F) /* <CJK> */
-MAP(0x30, 0x5B, 0x7570) /* <CJK> */
-MAP(0x30, 0x5C, 0x79FB) /* <CJK> */
-MAP(0x30, 0x5D, 0x7DAD) /* <CJK> */
-MAP(0x30, 0x5E, 0x7DEF) /* <CJK> */
-MAP(0x30, 0x5F, 0x80C3) /* <CJK> */
-MAP(0x30, 0x60, 0x840E) /* <CJK> */
-MAP(0x30, 0x61, 0x8863) /* <CJK> */
-MAP(0x30, 0x62, 0x8B02) /* <CJK> */
-MAP(0x30, 0x63, 0x9055) /* <CJK> */
-MAP(0x30, 0x64, 0x907A) /* <CJK> */
-MAP(0x30, 0x65, 0x533B) /* <CJK> */
-MAP(0x30, 0x66, 0x4E95) /* <CJK> */
-MAP(0x30, 0x67, 0x4EA5) /* <CJK> */
-MAP(0x30, 0x68, 0x57DF) /* <CJK> */
-MAP(0x30, 0x69, 0x80B2) /* <CJK> */
-MAP(0x30, 0x6A, 0x90C1) /* <CJK> */
-MAP(0x30, 0x6B, 0x78EF) /* <CJK> */
-MAP(0x30, 0x6C, 0x4E00) /* <CJK> */
-MAP(0x30, 0x6D, 0x58F1) /* <CJK> */
-MAP(0x30, 0x6E, 0x6EA2) /* <CJK> */
-MAP(0x30, 0x6F, 0x9038) /* <CJK> */
-MAP(0x30, 0x70, 0x7A32) /* <CJK> */
-MAP(0x30, 0x71, 0x8328) /* <CJK> */
-MAP(0x30, 0x72, 0x828B) /* <CJK> */
-MAP(0x30, 0x73, 0x9C2F) /* <CJK> */
-MAP(0x30, 0x74, 0x5141) /* <CJK> */
-MAP(0x30, 0x75, 0x5370) /* <CJK> */
-MAP(0x30, 0x76, 0x54BD) /* <CJK> */
-MAP(0x30, 0x77, 0x54E1) /* <CJK> */
-MAP(0x30, 0x78, 0x56E0) /* <CJK> */
-MAP(0x30, 0x79, 0x59FB) /* <CJK> */
-MAP(0x30, 0x7A, 0x5F15) /* <CJK> */
-MAP(0x30, 0x7B, 0x98F2) /* <CJK> */
-MAP(0x30, 0x7C, 0x6DEB) /* <CJK> */
-MAP(0x30, 0x7D, 0x80E4) /* <CJK> */
-MAP(0x30, 0x7E, 0x852D) /* <CJK> */
-MAP(0x31, 0x21, 0x9662) /* <CJK> */
-MAP(0x31, 0x22, 0x9670) /* <CJK> */
-MAP(0x31, 0x23, 0x96A0) /* <CJK> */
-MAP(0x31, 0x24, 0x97FB) /* <CJK> */
-MAP(0x31, 0x25, 0x540B) /* <CJK> */
-MAP(0x31, 0x26, 0x53F3) /* <CJK> */
-MAP(0x31, 0x27, 0x5B87) /* <CJK> */
-MAP(0x31, 0x28, 0x70CF) /* <CJK> */
-MAP(0x31, 0x29, 0x7FBD) /* <CJK> */
-MAP(0x31, 0x2A, 0x8FC2) /* <CJK> */
-MAP(0x31, 0x2B, 0x96E8) /* <CJK> */
-MAP(0x31, 0x2C, 0x536F) /* <CJK> */
-MAP(0x31, 0x2D, 0x9D5C) /* <CJK> */
-MAP(0x31, 0x2E, 0x7ABA) /* <CJK> */
-MAP(0x31, 0x2F, 0x4E11) /* <CJK> */
-MAP(0x31, 0x30, 0x7893) /* <CJK> */
-MAP(0x31, 0x31, 0x81FC) /* <CJK> */
-MAP(0x31, 0x32, 0x6E26) /* <CJK> */
-MAP(0x31, 0x33, 0x5618) /* <CJK> */
-MAP(0x31, 0x34, 0x5504) /* <CJK> */
-MAP(0x31, 0x35, 0x6B1D) /* <CJK> */
-MAP(0x31, 0x36, 0x851A) /* <CJK> */
-MAP(0x31, 0x37, 0x9C3B) /* <CJK> */
-MAP(0x31, 0x38, 0x59E5) /* <CJK> */
-MAP(0x31, 0x39, 0x53A9) /* <CJK> */
-MAP(0x31, 0x3A, 0x6D66) /* <CJK> */
-MAP(0x31, 0x3B, 0x74DC) /* <CJK> */
-MAP(0x31, 0x3C, 0x958F) /* <CJK> */
-MAP(0x31, 0x3D, 0x5642) /* <CJK> */
-MAP(0x31, 0x3E, 0x4E91) /* <CJK> */
-MAP(0x31, 0x3F, 0x904B) /* <CJK> */
-MAP(0x31, 0x40, 0x96F2) /* <CJK> */
-MAP(0x31, 0x41, 0x834F) /* <CJK> */
-MAP(0x31, 0x42, 0x990C) /* <CJK> */
-MAP(0x31, 0x43, 0x53E1) /* <CJK> */
-MAP(0x31, 0x44, 0x55B6) /* <CJK> */
-MAP(0x31, 0x45, 0x5B30) /* <CJK> */
-MAP(0x31, 0x46, 0x5F71) /* <CJK> */
-MAP(0x31, 0x47, 0x6620) /* <CJK> */
-MAP(0x31, 0x48, 0x66F3) /* <CJK> */
-MAP(0x31, 0x49, 0x6804) /* <CJK> */
-MAP(0x31, 0x4A, 0x6C38) /* <CJK> */
-MAP(0x31, 0x4B, 0x6CF3) /* <CJK> */
-MAP(0x31, 0x4C, 0x6D29) /* <CJK> */
-MAP(0x31, 0x4D, 0x745B) /* <CJK> */
-MAP(0x31, 0x4E, 0x76C8) /* <CJK> */
-MAP(0x31, 0x4F, 0x7A4E) /* <CJK> */
-MAP(0x31, 0x50, 0x9834) /* <CJK> */
-MAP(0x31, 0x51, 0x82F1) /* <CJK> */
-MAP(0x31, 0x52, 0x885B) /* <CJK> */
-MAP(0x31, 0x53, 0x8A60) /* <CJK> */
-MAP(0x31, 0x54, 0x92ED) /* <CJK> */
-MAP(0x31, 0x55, 0x6DB2) /* <CJK> */
-MAP(0x31, 0x56, 0x75AB) /* <CJK> */
-MAP(0x31, 0x57, 0x76CA) /* <CJK> */
-MAP(0x31, 0x58, 0x99C5) /* <CJK> */
-MAP(0x31, 0x59, 0x60A6) /* <CJK> */
-MAP(0x31, 0x5A, 0x8B01) /* <CJK> */
-MAP(0x31, 0x5B, 0x8D8A) /* <CJK> */
-MAP(0x31, 0x5C, 0x95B2) /* <CJK> */
-MAP(0x31, 0x5D, 0x698E) /* <CJK> */
-MAP(0x31, 0x5E, 0x53AD) /* <CJK> */
-MAP(0x31, 0x5F, 0x5186) /* <CJK> */
-MAP(0x31, 0x60, 0x5712) /* <CJK> */
-MAP(0x31, 0x61, 0x5830) /* <CJK> */
-MAP(0x31, 0x62, 0x5944) /* <CJK> */
-MAP(0x31, 0x63, 0x5BB4) /* <CJK> */
-MAP(0x31, 0x64, 0x5EF6) /* <CJK> */
-MAP(0x31, 0x65, 0x6028) /* <CJK> */
-MAP(0x31, 0x66, 0x63A9) /* <CJK> */
-MAP(0x31, 0x67, 0x63F4) /* <CJK> */
-MAP(0x31, 0x68, 0x6CBF) /* <CJK> */
-MAP(0x31, 0x69, 0x6F14) /* <CJK> */
-MAP(0x31, 0x6A, 0x708E) /* <CJK> */
-MAP(0x31, 0x6B, 0x7114) /* <CJK> */
-MAP(0x31, 0x6C, 0x7159) /* <CJK> */
-MAP(0x31, 0x6D, 0x71D5) /* <CJK> */
-MAP(0x31, 0x6E, 0x733F) /* <CJK> */
-MAP(0x31, 0x6F, 0x7E01) /* <CJK> */
-MAP(0x31, 0x70, 0x8276) /* <CJK> */
-MAP(0x31, 0x71, 0x82D1) /* <CJK> */
-MAP(0x31, 0x72, 0x8597) /* <CJK> */
-MAP(0x31, 0x73, 0x9060) /* <CJK> */
-MAP(0x31, 0x74, 0x925B) /* <CJK> */
-MAP(0x31, 0x75, 0x9D1B) /* <CJK> */
-MAP(0x31, 0x76, 0x5869) /* <CJK> */
-MAP(0x31, 0x77, 0x65BC) /* <CJK> */
-MAP(0x31, 0x78, 0x6C5A) /* <CJK> */
-MAP(0x31, 0x79, 0x7525) /* <CJK> */
-MAP(0x31, 0x7A, 0x51F9) /* <CJK> */
-MAP(0x31, 0x7B, 0x592E) /* <CJK> */
-MAP(0x31, 0x7C, 0x5965) /* <CJK> */
-MAP(0x31, 0x7D, 0x5F80) /* <CJK> */
-MAP(0x31, 0x7E, 0x5FDC) /* <CJK> */
-MAP(0x32, 0x21, 0x62BC) /* <CJK> */
-MAP(0x32, 0x22, 0x65FA) /* <CJK> */
-MAP(0x32, 0x23, 0x6A2A) /* <CJK> */
-MAP(0x32, 0x24, 0x6B27) /* <CJK> */
-MAP(0x32, 0x25, 0x6BB4) /* <CJK> */
-MAP(0x32, 0x26, 0x738B) /* <CJK> */
-MAP(0x32, 0x27, 0x7FC1) /* <CJK> */
-MAP(0x32, 0x28, 0x8956) /* <CJK> */
-MAP(0x32, 0x29, 0x9D2C) /* <CJK> */
-MAP(0x32, 0x2A, 0x9D0E) /* <CJK> */
-MAP(0x32, 0x2B, 0x9EC4) /* <CJK> */
-MAP(0x32, 0x2C, 0x5CA1) /* <CJK> */
-MAP(0x32, 0x2D, 0x6C96) /* <CJK> */
-MAP(0x32, 0x2E, 0x837B) /* <CJK> */
-MAP(0x32, 0x2F, 0x5104) /* <CJK> */
-MAP(0x32, 0x30, 0x5C4B) /* <CJK> */
-MAP(0x32, 0x31, 0x61B6) /* <CJK> */
-MAP(0x32, 0x32, 0x81C6) /* <CJK> */
-MAP(0x32, 0x33, 0x6876) /* <CJK> */
-MAP(0x32, 0x34, 0x7261) /* <CJK> */
-MAP(0x32, 0x35, 0x4E59) /* <CJK> */
-MAP(0x32, 0x36, 0x4FFA) /* <CJK> */
-MAP(0x32, 0x37, 0x5378) /* <CJK> */
-MAP(0x32, 0x38, 0x6069) /* <CJK> */
-MAP(0x32, 0x39, 0x6E29) /* <CJK> */
-MAP(0x32, 0x3A, 0x7A4F) /* <CJK> */
-MAP(0x32, 0x3B, 0x97F3) /* <CJK> */
-MAP(0x32, 0x3C, 0x4E0B) /* <CJK> */
-MAP(0x32, 0x3D, 0x5316) /* <CJK> */
-MAP(0x32, 0x3E, 0x4EEE) /* <CJK> */
-MAP(0x32, 0x3F, 0x4F55) /* <CJK> */
-MAP(0x32, 0x40, 0x4F3D) /* <CJK> */
-MAP(0x32, 0x41, 0x4FA1) /* <CJK> */
-MAP(0x32, 0x42, 0x4F73) /* <CJK> */
-MAP(0x32, 0x43, 0x52A0) /* <CJK> */
-MAP(0x32, 0x44, 0x53EF) /* <CJK> */
-MAP(0x32, 0x45, 0x5609) /* <CJK> */
-MAP(0x32, 0x46, 0x590F) /* <CJK> */
-MAP(0x32, 0x47, 0x5AC1) /* <CJK> */
-MAP(0x32, 0x48, 0x5BB6) /* <CJK> */
-MAP(0x32, 0x49, 0x5BE1) /* <CJK> */
-MAP(0x32, 0x4A, 0x79D1) /* <CJK> */
-MAP(0x32, 0x4B, 0x6687) /* <CJK> */
-MAP(0x32, 0x4C, 0x679C) /* <CJK> */
-MAP(0x32, 0x4D, 0x67B6) /* <CJK> */
-MAP(0x32, 0x4E, 0x6B4C) /* <CJK> */
-MAP(0x32, 0x4F, 0x6CB3) /* <CJK> */
-MAP(0x32, 0x50, 0x706B) /* <CJK> */
-MAP(0x32, 0x51, 0x73C2) /* <CJK> */
-MAP(0x32, 0x52, 0x798D) /* <CJK> */
-MAP(0x32, 0x53, 0x79BE) /* <CJK> */
-MAP(0x32, 0x54, 0x7A3C) /* <CJK> */
-MAP(0x32, 0x55, 0x7B87) /* <CJK> */
-MAP(0x32, 0x56, 0x82B1) /* <CJK> */
-MAP(0x32, 0x57, 0x82DB) /* <CJK> */
-MAP(0x32, 0x58, 0x8304) /* <CJK> */
-MAP(0x32, 0x59, 0x8377) /* <CJK> */
-MAP(0x32, 0x5A, 0x83EF) /* <CJK> */
-MAP(0x32, 0x5B, 0x83D3) /* <CJK> */
-MAP(0x32, 0x5C, 0x8766) /* <CJK> */
-MAP(0x32, 0x5D, 0x8AB2) /* <CJK> */
-MAP(0x32, 0x5E, 0x5629) /* <CJK> */
-MAP(0x32, 0x5F, 0x8CA8) /* <CJK> */
-MAP(0x32, 0x60, 0x8FE6) /* <CJK> */
-MAP(0x32, 0x61, 0x904E) /* <CJK> */
-MAP(0x32, 0x62, 0x971E) /* <CJK> */
-MAP(0x32, 0x63, 0x868A) /* <CJK> */
-MAP(0x32, 0x64, 0x4FC4) /* <CJK> */
-MAP(0x32, 0x65, 0x5CE8) /* <CJK> */
-MAP(0x32, 0x66, 0x6211) /* <CJK> */
-MAP(0x32, 0x67, 0x7259) /* <CJK> */
-MAP(0x32, 0x68, 0x753B) /* <CJK> */
-MAP(0x32, 0x69, 0x81E5) /* <CJK> */
-MAP(0x32, 0x6A, 0x82BD) /* <CJK> */
-MAP(0x32, 0x6B, 0x86FE) /* <CJK> */
-MAP(0x32, 0x6C, 0x8CC0) /* <CJK> */
-MAP(0x32, 0x6D, 0x96C5) /* <CJK> */
-MAP(0x32, 0x6E, 0x9913) /* <CJK> */
-MAP(0x32, 0x6F, 0x99D5) /* <CJK> */
-MAP(0x32, 0x70, 0x4ECB) /* <CJK> */
-MAP(0x32, 0x71, 0x4F1A) /* <CJK> */
-MAP(0x32, 0x72, 0x89E3) /* <CJK> */
-MAP(0x32, 0x73, 0x56DE) /* <CJK> */
-MAP(0x32, 0x74, 0x584A) /* <CJK> */
-MAP(0x32, 0x75, 0x58CA) /* <CJK> */
-MAP(0x32, 0x76, 0x5EFB) /* <CJK> */
-MAP(0x32, 0x77, 0x5FEB) /* <CJK> */
-MAP(0x32, 0x78, 0x602A) /* <CJK> */
-MAP(0x32, 0x79, 0x6094) /* <CJK> */
-MAP(0x32, 0x7A, 0x6062) /* <CJK> */
-MAP(0x32, 0x7B, 0x61D0) /* <CJK> */
-MAP(0x32, 0x7C, 0x6212) /* <CJK> */
-MAP(0x32, 0x7D, 0x62D0) /* <CJK> */
-MAP(0x32, 0x7E, 0x6539) /* <CJK> */
-MAP(0x33, 0x21, 0x9B41) /* <CJK> */
-MAP(0x33, 0x22, 0x6666) /* <CJK> */
-MAP(0x33, 0x23, 0x68B0) /* <CJK> */
-MAP(0x33, 0x24, 0x6D77) /* <CJK> */
-MAP(0x33, 0x25, 0x7070) /* <CJK> */
-MAP(0x33, 0x26, 0x754C) /* <CJK> */
-MAP(0x33, 0x27, 0x7686) /* <CJK> */
-MAP(0x33, 0x28, 0x7D75) /* <CJK> */
-MAP(0x33, 0x29, 0x82A5) /* <CJK> */
-MAP(0x33, 0x2A, 0x87F9) /* <CJK> */
-MAP(0x33, 0x2B, 0x958B) /* <CJK> */
-MAP(0x33, 0x2C, 0x968E) /* <CJK> */
-MAP(0x33, 0x2D, 0x8C9D) /* <CJK> */
-MAP(0x33, 0x2E, 0x51F1) /* <CJK> */
-MAP(0x33, 0x2F, 0x52BE) /* <CJK> */
-MAP(0x33, 0x30, 0x5916) /* <CJK> */
-MAP(0x33, 0x31, 0x54B3) /* <CJK> */
-MAP(0x33, 0x32, 0x5BB3) /* <CJK> */
-MAP(0x33, 0x33, 0x5D16) /* <CJK> */
-MAP(0x33, 0x34, 0x6168) /* <CJK> */
-MAP(0x33, 0x35, 0x6982) /* <CJK> */
-MAP(0x33, 0x36, 0x6DAF) /* <CJK> */
-MAP(0x33, 0x37, 0x788D) /* <CJK> */
-MAP(0x33, 0x38, 0x84CB) /* <CJK> */
-MAP(0x33, 0x39, 0x8857) /* <CJK> */
-MAP(0x33, 0x3A, 0x8A72) /* <CJK> */
-MAP(0x33, 0x3B, 0x93A7) /* <CJK> */
-MAP(0x33, 0x3C, 0x9AB8) /* <CJK> */
-MAP(0x33, 0x3D, 0x6D6C) /* <CJK> */
-MAP(0x33, 0x3E, 0x99A8) /* <CJK> */
-MAP(0x33, 0x3F, 0x86D9) /* <CJK> */
-MAP(0x33, 0x40, 0x57A3) /* <CJK> */
-MAP(0x33, 0x41, 0x67FF) /* <CJK> */
-MAP(0x33, 0x42, 0x86CE) /* <CJK> */
-MAP(0x33, 0x43, 0x920E) /* <CJK> */
-MAP(0x33, 0x44, 0x5283) /* <CJK> */
-MAP(0x33, 0x45, 0x5687) /* <CJK> */
-MAP(0x33, 0x46, 0x5404) /* <CJK> */
-MAP(0x33, 0x47, 0x5ED3) /* <CJK> */
-MAP(0x33, 0x48, 0x62E1) /* <CJK> */
-MAP(0x33, 0x49, 0x64B9) /* <CJK> */
-MAP(0x33, 0x4A, 0x683C) /* <CJK> */
-MAP(0x33, 0x4B, 0x6838) /* <CJK> */
-MAP(0x33, 0x4C, 0x6BBB) /* <CJK> */
-MAP(0x33, 0x4D, 0x7372) /* <CJK> */
-MAP(0x33, 0x4E, 0x78BA) /* <CJK> */
-MAP(0x33, 0x4F, 0x7A6B) /* <CJK> */
-MAP(0x33, 0x50, 0x899A) /* <CJK> */
-MAP(0x33, 0x51, 0x89D2) /* <CJK> */
-MAP(0x33, 0x52, 0x8D6B) /* <CJK> */
-MAP(0x33, 0x53, 0x8F03) /* <CJK> */
-MAP(0x33, 0x54, 0x90ED) /* <CJK> */
-MAP(0x33, 0x55, 0x95A3) /* <CJK> */
-MAP(0x33, 0x56, 0x9694) /* <CJK> */
-MAP(0x33, 0x57, 0x9769) /* <CJK> */
-MAP(0x33, 0x58, 0x5B66) /* <CJK> */
-MAP(0x33, 0x59, 0x5CB3) /* <CJK> */
-MAP(0x33, 0x5A, 0x697D) /* <CJK> */
-MAP(0x33, 0x5B, 0x984D) /* <CJK> */
-MAP(0x33, 0x5C, 0x984E) /* <CJK> */
-MAP(0x33, 0x5D, 0x639B) /* <CJK> */
-MAP(0x33, 0x5E, 0x7B20) /* <CJK> */
-MAP(0x33, 0x5F, 0x6A2B) /* <CJK> */
-MAP(0x33, 0x60, 0x6A7F) /* <CJK> */
-MAP(0x33, 0x61, 0x68B6) /* <CJK> */
-MAP(0x33, 0x62, 0x9C0D) /* <CJK> */
-MAP(0x33, 0x63, 0x6F5F) /* <CJK> */
-MAP(0x33, 0x64, 0x5272) /* <CJK> */
-MAP(0x33, 0x65, 0x559D) /* <CJK> */
-MAP(0x33, 0x66, 0x6070) /* <CJK> */
-MAP(0x33, 0x67, 0x62EC) /* <CJK> */
-MAP(0x33, 0x68, 0x6D3B) /* <CJK> */
-MAP(0x33, 0x69, 0x6E07) /* <CJK> */
-MAP(0x33, 0x6A, 0x6ED1) /* <CJK> */
-MAP(0x33, 0x6B, 0x845B) /* <CJK> */
-MAP(0x33, 0x6C, 0x8910) /* <CJK> */
-MAP(0x33, 0x6D, 0x8F44) /* <CJK> */
-MAP(0x33, 0x6E, 0x4E14) /* <CJK> */
-MAP(0x33, 0x6F, 0x9C39) /* <CJK> */
-MAP(0x33, 0x70, 0x53F6) /* <CJK> */
-MAP(0x33, 0x71, 0x691B) /* <CJK> */
-MAP(0x33, 0x72, 0x6A3A) /* <CJK> */
-MAP(0x33, 0x73, 0x9784) /* <CJK> */
-MAP(0x33, 0x74, 0x682A) /* <CJK> */
-MAP(0x33, 0x75, 0x515C) /* <CJK> */
-MAP(0x33, 0x76, 0x7AC3) /* <CJK> */
-MAP(0x33, 0x77, 0x84B2) /* <CJK> */
-MAP(0x33, 0x78, 0x91DC) /* <CJK> */
-MAP(0x33, 0x79, 0x938C) /* <CJK> */
-MAP(0x33, 0x7A, 0x565B) /* <CJK> */
-MAP(0x33, 0x7B, 0x9D28) /* <CJK> */
-MAP(0x33, 0x7C, 0x6822) /* <CJK> */
-MAP(0x33, 0x7D, 0x8305) /* <CJK> */
-MAP(0x33, 0x7E, 0x8431) /* <CJK> */
-MAP(0x34, 0x21, 0x7CA5) /* <CJK> */
-MAP(0x34, 0x22, 0x5208) /* <CJK> */
-MAP(0x34, 0x23, 0x82C5) /* <CJK> */
-MAP(0x34, 0x24, 0x74E6) /* <CJK> */
-MAP(0x34, 0x25, 0x4E7E) /* <CJK> */
-MAP(0x34, 0x26, 0x4F83) /* <CJK> */
-MAP(0x34, 0x27, 0x51A0) /* <CJK> */
-MAP(0x34, 0x28, 0x5BD2) /* <CJK> */
-MAP(0x34, 0x29, 0x520A) /* <CJK> */
-MAP(0x34, 0x2A, 0x52D8) /* <CJK> */
-MAP(0x34, 0x2B, 0x52E7) /* <CJK> */
-MAP(0x34, 0x2C, 0x5DFB) /* <CJK> */
-MAP(0x34, 0x2D, 0x559A) /* <CJK> */
-MAP(0x34, 0x2E, 0x582A) /* <CJK> */
-MAP(0x34, 0x2F, 0x59E6) /* <CJK> */
-MAP(0x34, 0x30, 0x5B8C) /* <CJK> */
-MAP(0x34, 0x31, 0x5B98) /* <CJK> */
-MAP(0x34, 0x32, 0x5BDB) /* <CJK> */
-MAP(0x34, 0x33, 0x5E72) /* <CJK> */
-MAP(0x34, 0x34, 0x5E79) /* <CJK> */
-MAP(0x34, 0x35, 0x60A3) /* <CJK> */
-MAP(0x34, 0x36, 0x611F) /* <CJK> */
-MAP(0x34, 0x37, 0x6163) /* <CJK> */
-MAP(0x34, 0x38, 0x61BE) /* <CJK> */
-MAP(0x34, 0x39, 0x63DB) /* <CJK> */
-MAP(0x34, 0x3A, 0x6562) /* <CJK> */
-MAP(0x34, 0x3B, 0x67D1) /* <CJK> */
-MAP(0x34, 0x3C, 0x6853) /* <CJK> */
-MAP(0x34, 0x3D, 0x68FA) /* <CJK> */
-MAP(0x34, 0x3E, 0x6B3E) /* <CJK> */
-MAP(0x34, 0x3F, 0x6B53) /* <CJK> */
-MAP(0x34, 0x40, 0x6C57) /* <CJK> */
-MAP(0x34, 0x41, 0x6F22) /* <CJK> */
-MAP(0x34, 0x42, 0x6F97) /* <CJK> */
-MAP(0x34, 0x43, 0x6F45) /* <CJK> */
-MAP(0x34, 0x44, 0x74B0) /* <CJK> */
-MAP(0x34, 0x45, 0x7518) /* <CJK> */
-MAP(0x34, 0x46, 0x76E3) /* <CJK> */
-MAP(0x34, 0x47, 0x770B) /* <CJK> */
-MAP(0x34, 0x48, 0x7AFF) /* <CJK> */
-MAP(0x34, 0x49, 0x7BA1) /* <CJK> */
-MAP(0x34, 0x4A, 0x7C21) /* <CJK> */
-MAP(0x34, 0x4B, 0x7DE9) /* <CJK> */
-MAP(0x34, 0x4C, 0x7F36) /* <CJK> */
-MAP(0x34, 0x4D, 0x7FF0) /* <CJK> */
-MAP(0x34, 0x4E, 0x809D) /* <CJK> */
-MAP(0x34, 0x4F, 0x8266) /* <CJK> */
-MAP(0x34, 0x50, 0x839E) /* <CJK> */
-MAP(0x34, 0x51, 0x89B3) /* <CJK> */
-MAP(0x34, 0x52, 0x8ACC) /* <CJK> */
-MAP(0x34, 0x53, 0x8CAB) /* <CJK> */
-MAP(0x34, 0x54, 0x9084) /* <CJK> */
-MAP(0x34, 0x55, 0x9451) /* <CJK> */
-MAP(0x34, 0x56, 0x9593) /* <CJK> */
-MAP(0x34, 0x57, 0x9591) /* <CJK> */
-MAP(0x34, 0x58, 0x95A2) /* <CJK> */
-MAP(0x34, 0x59, 0x9665) /* <CJK> */
-MAP(0x34, 0x5A, 0x97D3) /* <CJK> */
-MAP(0x34, 0x5B, 0x9928) /* <CJK> */
-MAP(0x34, 0x5C, 0x8218) /* <CJK> */
-MAP(0x34, 0x5D, 0x4E38) /* <CJK> */
-MAP(0x34, 0x5E, 0x542B) /* <CJK> */
-MAP(0x34, 0x5F, 0x5CB8) /* <CJK> */
-MAP(0x34, 0x60, 0x5DCC) /* <CJK> */
-MAP(0x34, 0x61, 0x73A9) /* <CJK> */
-MAP(0x34, 0x62, 0x764C) /* <CJK> */
-MAP(0x34, 0x63, 0x773C) /* <CJK> */
-MAP(0x34, 0x64, 0x5CA9) /* <CJK> */
-MAP(0x34, 0x65, 0x7FEB) /* <CJK> */
-MAP(0x34, 0x66, 0x8D0B) /* <CJK> */
-MAP(0x34, 0x67, 0x96C1) /* <CJK> */
-MAP(0x34, 0x68, 0x9811) /* <CJK> */
-MAP(0x34, 0x69, 0x9854) /* <CJK> */
-MAP(0x34, 0x6A, 0x9858) /* <CJK> */
-MAP(0x34, 0x6B, 0x4F01) /* <CJK> */
-MAP(0x34, 0x6C, 0x4F0E) /* <CJK> */
-MAP(0x34, 0x6D, 0x5371) /* <CJK> */
-MAP(0x34, 0x6E, 0x559C) /* <CJK> */
-MAP(0x34, 0x6F, 0x5668) /* <CJK> */
-MAP(0x34, 0x70, 0x57FA) /* <CJK> */
-MAP(0x34, 0x71, 0x5947) /* <CJK> */
-MAP(0x34, 0x72, 0x5B09) /* <CJK> */
-MAP(0x34, 0x73, 0x5BC4) /* <CJK> */
-MAP(0x34, 0x74, 0x5C90) /* <CJK> */
-MAP(0x34, 0x75, 0x5E0C) /* <CJK> */
-MAP(0x34, 0x76, 0x5E7E) /* <CJK> */
-MAP(0x34, 0x77, 0x5FCC) /* <CJK> */
-MAP(0x34, 0x78, 0x63EE) /* <CJK> */
-MAP(0x34, 0x79, 0x673A) /* <CJK> */
-MAP(0x34, 0x7A, 0x65D7) /* <CJK> */
-MAP(0x34, 0x7B, 0x65E2) /* <CJK> */
-MAP(0x34, 0x7C, 0x671F) /* <CJK> */
-MAP(0x34, 0x7D, 0x68CB) /* <CJK> */
-MAP(0x34, 0x7E, 0x68C4) /* <CJK> */
-MAP(0x35, 0x21, 0x6A5F) /* <CJK> */
-MAP(0x35, 0x22, 0x5E30) /* <CJK> */
-MAP(0x35, 0x23, 0x6BC5) /* <CJK> */
-MAP(0x35, 0x24, 0x6C17) /* <CJK> */
-MAP(0x35, 0x25, 0x6C7D) /* <CJK> */
-MAP(0x35, 0x26, 0x757F) /* <CJK> */
-MAP(0x35, 0x27, 0x7948) /* <CJK> */
-MAP(0x35, 0x28, 0x5B63) /* <CJK> */
-MAP(0x35, 0x29, 0x7A00) /* <CJK> */
-MAP(0x35, 0x2A, 0x7D00) /* <CJK> */
-MAP(0x35, 0x2B, 0x5FBD) /* <CJK> */
-MAP(0x35, 0x2C, 0x898F) /* <CJK> */
-MAP(0x35, 0x2D, 0x8A18) /* <CJK> */
-MAP(0x35, 0x2E, 0x8CB4) /* <CJK> */
-MAP(0x35, 0x2F, 0x8D77) /* <CJK> */
-MAP(0x35, 0x30, 0x8ECC) /* <CJK> */
-MAP(0x35, 0x31, 0x8F1D) /* <CJK> */
-MAP(0x35, 0x32, 0x98E2) /* <CJK> */
-MAP(0x35, 0x33, 0x9A0E) /* <CJK> */
-MAP(0x35, 0x34, 0x9B3C) /* <CJK> */
-MAP(0x35, 0x35, 0x4E80) /* <CJK> */
-MAP(0x35, 0x36, 0x507D) /* <CJK> */
-MAP(0x35, 0x37, 0x5100) /* <CJK> */
-MAP(0x35, 0x38, 0x5993) /* <CJK> */
-MAP(0x35, 0x39, 0x5B9C) /* <CJK> */
-MAP(0x35, 0x3A, 0x622F) /* <CJK> */
-MAP(0x35, 0x3B, 0x6280) /* <CJK> */
-MAP(0x35, 0x3C, 0x64EC) /* <CJK> */
-MAP(0x35, 0x3D, 0x6B3A) /* <CJK> */
-MAP(0x35, 0x3E, 0x72A0) /* <CJK> */
-MAP(0x35, 0x3F, 0x7591) /* <CJK> */
-MAP(0x35, 0x40, 0x7947) /* <CJK> */
-MAP(0x35, 0x41, 0x7FA9) /* <CJK> */
-MAP(0x35, 0x42, 0x87FB) /* <CJK> */
-MAP(0x35, 0x43, 0x8ABC) /* <CJK> */
-MAP(0x35, 0x44, 0x8B70) /* <CJK> */
-MAP(0x35, 0x45, 0x63AC) /* <CJK> */
-MAP(0x35, 0x46, 0x83CA) /* <CJK> */
-MAP(0x35, 0x47, 0x97A0) /* <CJK> */
-MAP(0x35, 0x48, 0x5409) /* <CJK> */
-MAP(0x35, 0x49, 0x5403) /* <CJK> */
-MAP(0x35, 0x4A, 0x55AB) /* <CJK> */
-MAP(0x35, 0x4B, 0x6854) /* <CJK> */
-MAP(0x35, 0x4C, 0x6A58) /* <CJK> */
-MAP(0x35, 0x4D, 0x8A70) /* <CJK> */
-MAP(0x35, 0x4E, 0x7827) /* <CJK> */
-MAP(0x35, 0x4F, 0x6775) /* <CJK> */
-MAP(0x35, 0x50, 0x9ECD) /* <CJK> */
-MAP(0x35, 0x51, 0x5374) /* <CJK> */
-MAP(0x35, 0x52, 0x5BA2) /* <CJK> */
-MAP(0x35, 0x53, 0x811A) /* <CJK> */
-MAP(0x35, 0x54, 0x8650) /* <CJK> */
-MAP(0x35, 0x55, 0x9006) /* <CJK> */
-MAP(0x35, 0x56, 0x4E18) /* <CJK> */
-MAP(0x35, 0x57, 0x4E45) /* <CJK> */
-MAP(0x35, 0x58, 0x4EC7) /* <CJK> */
-MAP(0x35, 0x59, 0x4F11) /* <CJK> */
-MAP(0x35, 0x5A, 0x53CA) /* <CJK> */
-MAP(0x35, 0x5B, 0x5438) /* <CJK> */
-MAP(0x35, 0x5C, 0x5BAE) /* <CJK> */
-MAP(0x35, 0x5D, 0x5F13) /* <CJK> */
-MAP(0x35, 0x5E, 0x6025) /* <CJK> */
-MAP(0x35, 0x5F, 0x6551) /* <CJK> */
-MAP(0x35, 0x60, 0x673D) /* <CJK> */
-MAP(0x35, 0x61, 0x6C42) /* <CJK> */
-MAP(0x35, 0x62, 0x6C72) /* <CJK> */
-MAP(0x35, 0x63, 0x6CE3) /* <CJK> */
-MAP(0x35, 0x64, 0x7078) /* <CJK> */
-MAP(0x35, 0x65, 0x7403) /* <CJK> */
-MAP(0x35, 0x66, 0x7A76) /* <CJK> */
-MAP(0x35, 0x67, 0x7AAE) /* <CJK> */
-MAP(0x35, 0x68, 0x7B08) /* <CJK> */
-MAP(0x35, 0x69, 0x7D1A) /* <CJK> */
-MAP(0x35, 0x6A, 0x7CFE) /* <CJK> */
-MAP(0x35, 0x6B, 0x7D66) /* <CJK> */
-MAP(0x35, 0x6C, 0x65E7) /* <CJK> */
-MAP(0x35, 0x6D, 0x725B) /* <CJK> */
-MAP(0x35, 0x6E, 0x53BB) /* <CJK> */
-MAP(0x35, 0x6F, 0x5C45) /* <CJK> */
-MAP(0x35, 0x70, 0x5DE8) /* <CJK> */
-MAP(0x35, 0x71, 0x62D2) /* <CJK> */
-MAP(0x35, 0x72, 0x62E0) /* <CJK> */
-MAP(0x35, 0x73, 0x6319) /* <CJK> */
-MAP(0x35, 0x74, 0x6E20) /* <CJK> */
-MAP(0x35, 0x75, 0x865A) /* <CJK> */
-MAP(0x35, 0x76, 0x8A31) /* <CJK> */
-MAP(0x35, 0x77, 0x8DDD) /* <CJK> */
-MAP(0x35, 0x78, 0x92F8) /* <CJK> */
-MAP(0x35, 0x79, 0x6F01) /* <CJK> */
-MAP(0x35, 0x7A, 0x79A6) /* <CJK> */
-MAP(0x35, 0x7B, 0x9B5A) /* <CJK> */
-MAP(0x35, 0x7C, 0x4EA8) /* <CJK> */
-MAP(0x35, 0x7D, 0x4EAB) /* <CJK> */
-MAP(0x35, 0x7E, 0x4EAC) /* <CJK> */
-MAP(0x36, 0x21, 0x4F9B) /* <CJK> */
-MAP(0x36, 0x22, 0x4FA0) /* <CJK> */
-MAP(0x36, 0x23, 0x50D1) /* <CJK> */
-MAP(0x36, 0x24, 0x5147) /* <CJK> */
-MAP(0x36, 0x25, 0x7AF6) /* <CJK> */
-MAP(0x36, 0x26, 0x5171) /* <CJK> */
-MAP(0x36, 0x27, 0x51F6) /* <CJK> */
-MAP(0x36, 0x28, 0x5354) /* <CJK> */
-MAP(0x36, 0x29, 0x5321) /* <CJK> */
-MAP(0x36, 0x2A, 0x537F) /* <CJK> */
-MAP(0x36, 0x2B, 0x53EB) /* <CJK> */
-MAP(0x36, 0x2C, 0x55AC) /* <CJK> */
-MAP(0x36, 0x2D, 0x5883) /* <CJK> */
-MAP(0x36, 0x2E, 0x5CE1) /* <CJK> */
-MAP(0x36, 0x2F, 0x5F37) /* <CJK> */
-MAP(0x36, 0x30, 0x5F4A) /* <CJK> */
-MAP(0x36, 0x31, 0x602F) /* <CJK> */
-MAP(0x36, 0x32, 0x6050) /* <CJK> */
-MAP(0x36, 0x33, 0x606D) /* <CJK> */
-MAP(0x36, 0x34, 0x631F) /* <CJK> */
-MAP(0x36, 0x35, 0x6559) /* <CJK> */
-MAP(0x36, 0x36, 0x6A4B) /* <CJK> */
-MAP(0x36, 0x37, 0x6CC1) /* <CJK> */
-MAP(0x36, 0x38, 0x72C2) /* <CJK> */
-MAP(0x36, 0x39, 0x72ED) /* <CJK> */
-MAP(0x36, 0x3A, 0x77EF) /* <CJK> */
-MAP(0x36, 0x3B, 0x80F8) /* <CJK> */
-MAP(0x36, 0x3C, 0x8105) /* <CJK> */
-MAP(0x36, 0x3D, 0x8208) /* <CJK> */
-MAP(0x36, 0x3E, 0x854E) /* <CJK> */
-MAP(0x36, 0x3F, 0x90F7) /* <CJK> */
-MAP(0x36, 0x40, 0x93E1) /* <CJK> */
-MAP(0x36, 0x41, 0x97FF) /* <CJK> */
-MAP(0x36, 0x42, 0x9957) /* <CJK> */
-MAP(0x36, 0x43, 0x9A5A) /* <CJK> */
-MAP(0x36, 0x44, 0x4EF0) /* <CJK> */
-MAP(0x36, 0x45, 0x51DD) /* <CJK> */
-MAP(0x36, 0x46, 0x5C2D) /* <CJK> */
-MAP(0x36, 0x47, 0x6681) /* <CJK> */
-MAP(0x36, 0x48, 0x696D) /* <CJK> */
-MAP(0x36, 0x49, 0x5C40) /* <CJK> */
-MAP(0x36, 0x4A, 0x66F2) /* <CJK> */
-MAP(0x36, 0x4B, 0x6975) /* <CJK> */
-MAP(0x36, 0x4C, 0x7389) /* <CJK> */
-MAP(0x36, 0x4D, 0x6850) /* <CJK> */
-MAP(0x36, 0x4E, 0x7C81) /* <CJK> */
-MAP(0x36, 0x4F, 0x50C5) /* <CJK> */
-MAP(0x36, 0x50, 0x52E4) /* <CJK> */
-MAP(0x36, 0x51, 0x5747) /* <CJK> */
-MAP(0x36, 0x52, 0x5DFE) /* <CJK> */
-MAP(0x36, 0x53, 0x9326) /* <CJK> */
-MAP(0x36, 0x54, 0x65A4) /* <CJK> */
-MAP(0x36, 0x55, 0x6B23) /* <CJK> */
-MAP(0x36, 0x56, 0x6B3D) /* <CJK> */
-MAP(0x36, 0x57, 0x7434) /* <CJK> */
-MAP(0x36, 0x58, 0x7981) /* <CJK> */
-MAP(0x36, 0x59, 0x79BD) /* <CJK> */
-MAP(0x36, 0x5A, 0x7B4B) /* <CJK> */
-MAP(0x36, 0x5B, 0x7DCA) /* <CJK> */
-MAP(0x36, 0x5C, 0x82B9) /* <CJK> */
-MAP(0x36, 0x5D, 0x83CC) /* <CJK> */
-MAP(0x36, 0x5E, 0x887F) /* <CJK> */
-MAP(0x36, 0x5F, 0x895F) /* <CJK> */
-MAP(0x36, 0x60, 0x8B39) /* <CJK> */
-MAP(0x36, 0x61, 0x8FD1) /* <CJK> */
-MAP(0x36, 0x62, 0x91D1) /* <CJK> */
-MAP(0x36, 0x63, 0x541F) /* <CJK> */
-MAP(0x36, 0x64, 0x9280) /* <CJK> */
-MAP(0x36, 0x65, 0x4E5D) /* <CJK> */
-MAP(0x36, 0x66, 0x5036) /* <CJK> */
-MAP(0x36, 0x67, 0x53E5) /* <CJK> */
-MAP(0x36, 0x68, 0x533A) /* <CJK> */
-MAP(0x36, 0x69, 0x72D7) /* <CJK> */
-MAP(0x36, 0x6A, 0x7396) /* <CJK> */
-MAP(0x36, 0x6B, 0x77E9) /* <CJK> */
-MAP(0x36, 0x6C, 0x82E6) /* <CJK> */
-MAP(0x36, 0x6D, 0x8EAF) /* <CJK> */
-MAP(0x36, 0x6E, 0x99C6) /* <CJK> */
-MAP(0x36, 0x6F, 0x99C8) /* <CJK> */
-MAP(0x36, 0x70, 0x99D2) /* <CJK> */
-MAP(0x36, 0x71, 0x5177) /* <CJK> */
-MAP(0x36, 0x72, 0x611A) /* <CJK> */
-MAP(0x36, 0x73, 0x865E) /* <CJK> */
-MAP(0x36, 0x74, 0x55B0) /* <CJK> */
-MAP(0x36, 0x75, 0x7A7A) /* <CJK> */
-MAP(0x36, 0x76, 0x5076) /* <CJK> */
-MAP(0x36, 0x77, 0x5BD3) /* <CJK> */
-MAP(0x36, 0x78, 0x9047) /* <CJK> */
-MAP(0x36, 0x79, 0x9685) /* <CJK> */
-MAP(0x36, 0x7A, 0x4E32) /* <CJK> */
-MAP(0x36, 0x7B, 0x6ADB) /* <CJK> */
-MAP(0x36, 0x7C, 0x91E7) /* <CJK> */
-MAP(0x36, 0x7D, 0x5C51) /* <CJK> */
-MAP(0x36, 0x7E, 0x5C48) /* <CJK> */
-MAP(0x37, 0x21, 0x6398) /* <CJK> */
-MAP(0x37, 0x22, 0x7A9F) /* <CJK> */
-MAP(0x37, 0x23, 0x6C93) /* <CJK> */
-MAP(0x37, 0x24, 0x9774) /* <CJK> */
-MAP(0x37, 0x25, 0x8F61) /* <CJK> */
-MAP(0x37, 0x26, 0x7AAA) /* <CJK> */
-MAP(0x37, 0x27, 0x718A) /* <CJK> */
-MAP(0x37, 0x28, 0x9688) /* <CJK> */
-MAP(0x37, 0x29, 0x7C82) /* <CJK> */
-MAP(0x37, 0x2A, 0x6817) /* <CJK> */
-MAP(0x37, 0x2B, 0x7E70) /* <CJK> */
-MAP(0x37, 0x2C, 0x6851) /* <CJK> */
-MAP(0x37, 0x2D, 0x936C) /* <CJK> */
-MAP(0x37, 0x2E, 0x52F2) /* <CJK> */
-MAP(0x37, 0x2F, 0x541B) /* <CJK> */
-MAP(0x37, 0x30, 0x85AB) /* <CJK> */
-MAP(0x37, 0x31, 0x8A13) /* <CJK> */
-MAP(0x37, 0x32, 0x7FA4) /* <CJK> */
-MAP(0x37, 0x33, 0x8ECD) /* <CJK> */
-MAP(0x37, 0x34, 0x90E1) /* <CJK> */
-MAP(0x37, 0x35, 0x5366) /* <CJK> */
-MAP(0x37, 0x36, 0x8888) /* <CJK> */
-MAP(0x37, 0x37, 0x7941) /* <CJK> */
-MAP(0x37, 0x38, 0x4FC2) /* <CJK> */
-MAP(0x37, 0x39, 0x50BE) /* <CJK> */
-MAP(0x37, 0x3A, 0x5211) /* <CJK> */
-MAP(0x37, 0x3B, 0x5144) /* <CJK> */
-MAP(0x37, 0x3C, 0x5553) /* <CJK> */
-MAP(0x37, 0x3D, 0x572D) /* <CJK> */
-MAP(0x37, 0x3E, 0x73EA) /* <CJK> */
-MAP(0x37, 0x3F, 0x578B) /* <CJK> */
-MAP(0x37, 0x40, 0x5951) /* <CJK> */
-MAP(0x37, 0x41, 0x5F62) /* <CJK> */
-MAP(0x37, 0x42, 0x5F84) /* <CJK> */
-MAP(0x37, 0x43, 0x6075) /* <CJK> */
-MAP(0x37, 0x44, 0x6176) /* <CJK> */
-MAP(0x37, 0x45, 0x6167) /* <CJK> */
-MAP(0x37, 0x46, 0x61A9) /* <CJK> */
-MAP(0x37, 0x47, 0x63B2) /* <CJK> */
-MAP(0x37, 0x48, 0x643A) /* <CJK> */
-MAP(0x37, 0x49, 0x656C) /* <CJK> */
-MAP(0x37, 0x4A, 0x666F) /* <CJK> */
-MAP(0x37, 0x4B, 0x6842) /* <CJK> */
-MAP(0x37, 0x4C, 0x6E13) /* <CJK> */
-MAP(0x37, 0x4D, 0x7566) /* <CJK> */
-MAP(0x37, 0x4E, 0x7A3D) /* <CJK> */
-MAP(0x37, 0x4F, 0x7CFB) /* <CJK> */
-MAP(0x37, 0x50, 0x7D4C) /* <CJK> */
-MAP(0x37, 0x51, 0x7D99) /* <CJK> */
-MAP(0x37, 0x52, 0x7E4B) /* <CJK> */
-MAP(0x37, 0x53, 0x7F6B) /* <CJK> */
-MAP(0x37, 0x54, 0x830E) /* <CJK> */
-MAP(0x37, 0x55, 0x834A) /* <CJK> */
-MAP(0x37, 0x56, 0x86CD) /* <CJK> */
-MAP(0x37, 0x57, 0x8A08) /* <CJK> */
-MAP(0x37, 0x58, 0x8A63) /* <CJK> */
-MAP(0x37, 0x59, 0x8B66) /* <CJK> */
-MAP(0x37, 0x5A, 0x8EFD) /* <CJK> */
-MAP(0x37, 0x5B, 0x981A) /* <CJK> */
-MAP(0x37, 0x5C, 0x9D8F) /* <CJK> */
-MAP(0x37, 0x5D, 0x82B8) /* <CJK> */
-MAP(0x37, 0x5E, 0x8FCE) /* <CJK> */
-MAP(0x37, 0x5F, 0x9BE8) /* <CJK> */
-MAP(0x37, 0x60, 0x5287) /* <CJK> */
-MAP(0x37, 0x61, 0x621F) /* <CJK> */
-MAP(0x37, 0x62, 0x6483) /* <CJK> */
-MAP(0x37, 0x63, 0x6FC0) /* <CJK> */
-MAP(0x37, 0x64, 0x9699) /* <CJK> */
-MAP(0x37, 0x65, 0x6841) /* <CJK> */
-MAP(0x37, 0x66, 0x5091) /* <CJK> */
-MAP(0x37, 0x67, 0x6B20) /* <CJK> */
-MAP(0x37, 0x68, 0x6C7A) /* <CJK> */
-MAP(0x37, 0x69, 0x6F54) /* <CJK> */
-MAP(0x37, 0x6A, 0x7A74) /* <CJK> */
-MAP(0x37, 0x6B, 0x7D50) /* <CJK> */
-MAP(0x37, 0x6C, 0x8840) /* <CJK> */
-MAP(0x37, 0x6D, 0x8A23) /* <CJK> */
-MAP(0x37, 0x6E, 0x6708) /* <CJK> */
-MAP(0x37, 0x6F, 0x4EF6) /* <CJK> */
-MAP(0x37, 0x70, 0x5039) /* <CJK> */
-MAP(0x37, 0x71, 0x5026) /* <CJK> */
-MAP(0x37, 0x72, 0x5065) /* <CJK> */
-MAP(0x37, 0x73, 0x517C) /* <CJK> */
-MAP(0x37, 0x74, 0x5238) /* <CJK> */
-MAP(0x37, 0x75, 0x5263) /* <CJK> */
-MAP(0x37, 0x76, 0x55A7) /* <CJK> */
-MAP(0x37, 0x77, 0x570F) /* <CJK> */
-MAP(0x37, 0x78, 0x5805) /* <CJK> */
-MAP(0x37, 0x79, 0x5ACC) /* <CJK> */
-MAP(0x37, 0x7A, 0x5EFA) /* <CJK> */
-MAP(0x37, 0x7B, 0x61B2) /* <CJK> */
-MAP(0x37, 0x7C, 0x61F8) /* <CJK> */
-MAP(0x37, 0x7D, 0x62F3) /* <CJK> */
-MAP(0x37, 0x7E, 0x6372) /* <CJK> */
-MAP(0x38, 0x21, 0x691C) /* <CJK> */
-MAP(0x38, 0x22, 0x6A29) /* <CJK> */
-MAP(0x38, 0x23, 0x727D) /* <CJK> */
-MAP(0x38, 0x24, 0x72AC) /* <CJK> */
-MAP(0x38, 0x25, 0x732E) /* <CJK> */
-MAP(0x38, 0x26, 0x7814) /* <CJK> */
-MAP(0x38, 0x27, 0x786F) /* <CJK> */
-MAP(0x38, 0x28, 0x7D79) /* <CJK> */
-MAP(0x38, 0x29, 0x770C) /* <CJK> */
-MAP(0x38, 0x2A, 0x80A9) /* <CJK> */
-MAP(0x38, 0x2B, 0x898B) /* <CJK> */
-MAP(0x38, 0x2C, 0x8B19) /* <CJK> */
-MAP(0x38, 0x2D, 0x8CE2) /* <CJK> */
-MAP(0x38, 0x2E, 0x8ED2) /* <CJK> */
-MAP(0x38, 0x2F, 0x9063) /* <CJK> */
-MAP(0x38, 0x30, 0x9375) /* <CJK> */
-MAP(0x38, 0x31, 0x967A) /* <CJK> */
-MAP(0x38, 0x32, 0x9855) /* <CJK> */
-MAP(0x38, 0x33, 0x9A13) /* <CJK> */
-MAP(0x38, 0x34, 0x9E78) /* <CJK> */
-MAP(0x38, 0x35, 0x5143) /* <CJK> */
-MAP(0x38, 0x36, 0x539F) /* <CJK> */
-MAP(0x38, 0x37, 0x53B3) /* <CJK> */
-MAP(0x38, 0x38, 0x5E7B) /* <CJK> */
-MAP(0x38, 0x39, 0x5F26) /* <CJK> */
-MAP(0x38, 0x3A, 0x6E1B) /* <CJK> */
-MAP(0x38, 0x3B, 0x6E90) /* <CJK> */
-MAP(0x38, 0x3C, 0x7384) /* <CJK> */
-MAP(0x38, 0x3D, 0x73FE) /* <CJK> */
-MAP(0x38, 0x3E, 0x7D43) /* <CJK> */
-MAP(0x38, 0x3F, 0x8237) /* <CJK> */
-MAP(0x38, 0x40, 0x8A00) /* <CJK> */
-MAP(0x38, 0x41, 0x8AFA) /* <CJK> */
-MAP(0x38, 0x42, 0x9650) /* <CJK> */
-MAP(0x38, 0x43, 0x4E4E) /* <CJK> */
-MAP(0x38, 0x44, 0x500B) /* <CJK> */
-MAP(0x38, 0x45, 0x53E4) /* <CJK> */
-MAP(0x38, 0x46, 0x547C) /* <CJK> */
-MAP(0x38, 0x47, 0x56FA) /* <CJK> */
-MAP(0x38, 0x48, 0x59D1) /* <CJK> */
-MAP(0x38, 0x49, 0x5B64) /* <CJK> */
-MAP(0x38, 0x4A, 0x5DF1) /* <CJK> */
-MAP(0x38, 0x4B, 0x5EAB) /* <CJK> */
-MAP(0x38, 0x4C, 0x5F27) /* <CJK> */
-MAP(0x38, 0x4D, 0x6238) /* <CJK> */
-MAP(0x38, 0x4E, 0x6545) /* <CJK> */
-MAP(0x38, 0x4F, 0x67AF) /* <CJK> */
-MAP(0x38, 0x50, 0x6E56) /* <CJK> */
-MAP(0x38, 0x51, 0x72D0) /* <CJK> */
-MAP(0x38, 0x52, 0x7CCA) /* <CJK> */
-MAP(0x38, 0x53, 0x88B4) /* <CJK> */
-MAP(0x38, 0x54, 0x80A1) /* <CJK> */
-MAP(0x38, 0x55, 0x80E1) /* <CJK> */
-MAP(0x38, 0x56, 0x83F0) /* <CJK> */
-MAP(0x38, 0x57, 0x864E) /* <CJK> */
-MAP(0x38, 0x58, 0x8A87) /* <CJK> */
-MAP(0x38, 0x59, 0x8DE8) /* <CJK> */
-MAP(0x38, 0x5A, 0x9237) /* <CJK> */
-MAP(0x38, 0x5B, 0x96C7) /* <CJK> */
-MAP(0x38, 0x5C, 0x9867) /* <CJK> */
-MAP(0x38, 0x5D, 0x9F13) /* <CJK> */
-MAP(0x38, 0x5E, 0x4E94) /* <CJK> */
-MAP(0x38, 0x5F, 0x4E92) /* <CJK> */
-MAP(0x38, 0x60, 0x4F0D) /* <CJK> */
-MAP(0x38, 0x61, 0x5348) /* <CJK> */
-MAP(0x38, 0x62, 0x5449) /* <CJK> */
-MAP(0x38, 0x63, 0x543E) /* <CJK> */
-MAP(0x38, 0x64, 0x5A2F) /* <CJK> */
-MAP(0x38, 0x65, 0x5F8C) /* <CJK> */
-MAP(0x38, 0x66, 0x5FA1) /* <CJK> */
-MAP(0x38, 0x67, 0x609F) /* <CJK> */
-MAP(0x38, 0x68, 0x68A7) /* <CJK> */
-MAP(0x38, 0x69, 0x6A8E) /* <CJK> */
-MAP(0x38, 0x6A, 0x745A) /* <CJK> */
-MAP(0x38, 0x6B, 0x7881) /* <CJK> */
-MAP(0x38, 0x6C, 0x8A9E) /* <CJK> */
-MAP(0x38, 0x6D, 0x8AA4) /* <CJK> */
-MAP(0x38, 0x6E, 0x8B77) /* <CJK> */
-MAP(0x38, 0x6F, 0x9190) /* <CJK> */
-MAP(0x38, 0x70, 0x4E5E) /* <CJK> */
-MAP(0x38, 0x71, 0x9BC9) /* <CJK> */
-MAP(0x38, 0x72, 0x4EA4) /* <CJK> */
-MAP(0x38, 0x73, 0x4F7C) /* <CJK> */
-MAP(0x38, 0x74, 0x4FAF) /* <CJK> */
-MAP(0x38, 0x75, 0x5019) /* <CJK> */
-MAP(0x38, 0x76, 0x5016) /* <CJK> */
-MAP(0x38, 0x77, 0x5149) /* <CJK> */
-MAP(0x38, 0x78, 0x516C) /* <CJK> */
-MAP(0x38, 0x79, 0x529F) /* <CJK> */
-MAP(0x38, 0x7A, 0x52B9) /* <CJK> */
-MAP(0x38, 0x7B, 0x52FE) /* <CJK> */
-MAP(0x38, 0x7C, 0x539A) /* <CJK> */
-MAP(0x38, 0x7D, 0x53E3) /* <CJK> */
-MAP(0x38, 0x7E, 0x5411) /* <CJK> */
-MAP(0x39, 0x21, 0x540E) /* <CJK> */
-MAP(0x39, 0x22, 0x5589) /* <CJK> */
-MAP(0x39, 0x23, 0x5751) /* <CJK> */
-MAP(0x39, 0x24, 0x57A2) /* <CJK> */
-MAP(0x39, 0x25, 0x597D) /* <CJK> */
-MAP(0x39, 0x26, 0x5B54) /* <CJK> */
-MAP(0x39, 0x27, 0x5B5D) /* <CJK> */
-MAP(0x39, 0x28, 0x5B8F) /* <CJK> */
-MAP(0x39, 0x29, 0x5DE5) /* <CJK> */
-MAP(0x39, 0x2A, 0x5DE7) /* <CJK> */
-MAP(0x39, 0x2B, 0x5DF7) /* <CJK> */
-MAP(0x39, 0x2C, 0x5E78) /* <CJK> */
-MAP(0x39, 0x2D, 0x5E83) /* <CJK> */
-MAP(0x39, 0x2E, 0x5E9A) /* <CJK> */
-MAP(0x39, 0x2F, 0x5EB7) /* <CJK> */
-MAP(0x39, 0x30, 0x5F18) /* <CJK> */
-MAP(0x39, 0x31, 0x6052) /* <CJK> */
-MAP(0x39, 0x32, 0x614C) /* <CJK> */
-MAP(0x39, 0x33, 0x6297) /* <CJK> */
-MAP(0x39, 0x34, 0x62D8) /* <CJK> */
-MAP(0x39, 0x35, 0x63A7) /* <CJK> */
-MAP(0x39, 0x36, 0x653B) /* <CJK> */
-MAP(0x39, 0x37, 0x6602) /* <CJK> */
-MAP(0x39, 0x38, 0x6643) /* <CJK> */
-MAP(0x39, 0x39, 0x66F4) /* <CJK> */
-MAP(0x39, 0x3A, 0x676D) /* <CJK> */
-MAP(0x39, 0x3B, 0x6821) /* <CJK> */
-MAP(0x39, 0x3C, 0x6897) /* <CJK> */
-MAP(0x39, 0x3D, 0x69CB) /* <CJK> */
-MAP(0x39, 0x3E, 0x6C5F) /* <CJK> */
-MAP(0x39, 0x3F, 0x6D2A) /* <CJK> */
-MAP(0x39, 0x40, 0x6D69) /* <CJK> */
-MAP(0x39, 0x41, 0x6E2F) /* <CJK> */
-MAP(0x39, 0x42, 0x6E9D) /* <CJK> */
-MAP(0x39, 0x43, 0x7532) /* <CJK> */
-MAP(0x39, 0x44, 0x7687) /* <CJK> */
-MAP(0x39, 0x45, 0x786C) /* <CJK> */
-MAP(0x39, 0x46, 0x7A3F) /* <CJK> */
-MAP(0x39, 0x47, 0x7CE0) /* <CJK> */
-MAP(0x39, 0x48, 0x7D05) /* <CJK> */
-MAP(0x39, 0x49, 0x7D18) /* <CJK> */
-MAP(0x39, 0x4A, 0x7D5E) /* <CJK> */
-MAP(0x39, 0x4B, 0x7DB1) /* <CJK> */
-MAP(0x39, 0x4C, 0x8015) /* <CJK> */
-MAP(0x39, 0x4D, 0x8003) /* <CJK> */
-MAP(0x39, 0x4E, 0x80AF) /* <CJK> */
-MAP(0x39, 0x4F, 0x80B1) /* <CJK> */
-MAP(0x39, 0x50, 0x8154) /* <CJK> */
-MAP(0x39, 0x51, 0x818F) /* <CJK> */
-MAP(0x39, 0x52, 0x822A) /* <CJK> */
-MAP(0x39, 0x53, 0x8352) /* <CJK> */
-MAP(0x39, 0x54, 0x884C) /* <CJK> */
-MAP(0x39, 0x55, 0x8861) /* <CJK> */
-MAP(0x39, 0x56, 0x8B1B) /* <CJK> */
-MAP(0x39, 0x57, 0x8CA2) /* <CJK> */
-MAP(0x39, 0x58, 0x8CFC) /* <CJK> */
-MAP(0x39, 0x59, 0x90CA) /* <CJK> */
-MAP(0x39, 0x5A, 0x9175) /* <CJK> */
-MAP(0x39, 0x5B, 0x9271) /* <CJK> */
-MAP(0x39, 0x5C, 0x783F) /* <CJK> */
-MAP(0x39, 0x5D, 0x92FC) /* <CJK> */
-MAP(0x39, 0x5E, 0x95A4) /* <CJK> */
-MAP(0x39, 0x5F, 0x964D) /* <CJK> */
-MAP(0x39, 0x60, 0x9805) /* <CJK> */
-MAP(0x39, 0x61, 0x9999) /* <CJK> */
-MAP(0x39, 0x62, 0x9AD8) /* <CJK> */
-MAP(0x39, 0x63, 0x9D3B) /* <CJK> */
-MAP(0x39, 0x64, 0x525B) /* <CJK> */
-MAP(0x39, 0x65, 0x52AB) /* <CJK> */
-MAP(0x39, 0x66, 0x53F7) /* <CJK> */
-MAP(0x39, 0x67, 0x5408) /* <CJK> */
-MAP(0x39, 0x68, 0x58D5) /* <CJK> */
-MAP(0x39, 0x69, 0x62F7) /* <CJK> */
-MAP(0x39, 0x6A, 0x6FE0) /* <CJK> */
-MAP(0x39, 0x6B, 0x8C6A) /* <CJK> */
-MAP(0x39, 0x6C, 0x8F5F) /* <CJK> */
-MAP(0x39, 0x6D, 0x9EB9) /* <CJK> */
-MAP(0x39, 0x6E, 0x514B) /* <CJK> */
-MAP(0x39, 0x6F, 0x523B) /* <CJK> */
-MAP(0x39, 0x70, 0x544A) /* <CJK> */
-MAP(0x39, 0x71, 0x56FD) /* <CJK> */
-MAP(0x39, 0x72, 0x7A40) /* <CJK> */
-MAP(0x39, 0x73, 0x9177) /* <CJK> */
-MAP(0x39, 0x74, 0x9D60) /* <CJK> */
-MAP(0x39, 0x75, 0x9ED2) /* <CJK> */
-MAP(0x39, 0x76, 0x7344) /* <CJK> */
-MAP(0x39, 0x77, 0x6F09) /* <CJK> */
-MAP(0x39, 0x78, 0x8170) /* <CJK> */
-MAP(0x39, 0x79, 0x7511) /* <CJK> */
-MAP(0x39, 0x7A, 0x5FFD) /* <CJK> */
-MAP(0x39, 0x7B, 0x60DA) /* <CJK> */
-MAP(0x39, 0x7C, 0x9AA8) /* <CJK> */
-MAP(0x39, 0x7D, 0x72DB) /* <CJK> */
-MAP(0x39, 0x7E, 0x8FBC) /* <CJK> */
-MAP(0x3A, 0x21, 0x6B64) /* <CJK> */
-MAP(0x3A, 0x22, 0x9803) /* <CJK> */
-MAP(0x3A, 0x23, 0x4ECA) /* <CJK> */
-MAP(0x3A, 0x24, 0x56F0) /* <CJK> */
-MAP(0x3A, 0x25, 0x5764) /* <CJK> */
-MAP(0x3A, 0x26, 0x58BE) /* <CJK> */
-MAP(0x3A, 0x27, 0x5A5A) /* <CJK> */
-MAP(0x3A, 0x28, 0x6068) /* <CJK> */
-MAP(0x3A, 0x29, 0x61C7) /* <CJK> */
-MAP(0x3A, 0x2A, 0x660F) /* <CJK> */
-MAP(0x3A, 0x2B, 0x6606) /* <CJK> */
-MAP(0x3A, 0x2C, 0x6839) /* <CJK> */
-MAP(0x3A, 0x2D, 0x68B1) /* <CJK> */
-MAP(0x3A, 0x2E, 0x6DF7) /* <CJK> */
-MAP(0x3A, 0x2F, 0x75D5) /* <CJK> */
-MAP(0x3A, 0x30, 0x7D3A) /* <CJK> */
-MAP(0x3A, 0x31, 0x826E) /* <CJK> */
-MAP(0x3A, 0x32, 0x9B42) /* <CJK> */
-MAP(0x3A, 0x33, 0x4E9B) /* <CJK> */
-MAP(0x3A, 0x34, 0x4F50) /* <CJK> */
-MAP(0x3A, 0x35, 0x53C9) /* <CJK> */
-MAP(0x3A, 0x36, 0x5506) /* <CJK> */
-MAP(0x3A, 0x37, 0x5D6F) /* <CJK> */
-MAP(0x3A, 0x38, 0x5DE6) /* <CJK> */
-MAP(0x3A, 0x39, 0x5DEE) /* <CJK> */
-MAP(0x3A, 0x3A, 0x67FB) /* <CJK> */
-MAP(0x3A, 0x3B, 0x6C99) /* <CJK> */
-MAP(0x3A, 0x3C, 0x7473) /* <CJK> */
-MAP(0x3A, 0x3D, 0x7802) /* <CJK> */
-MAP(0x3A, 0x3E, 0x8A50) /* <CJK> */
-MAP(0x3A, 0x3F, 0x9396) /* <CJK> */
-MAP(0x3A, 0x40, 0x88DF) /* <CJK> */
-MAP(0x3A, 0x41, 0x5750) /* <CJK> */
-MAP(0x3A, 0x42, 0x5EA7) /* <CJK> */
-MAP(0x3A, 0x43, 0x632B) /* <CJK> */
-MAP(0x3A, 0x44, 0x50B5) /* <CJK> */
-MAP(0x3A, 0x45, 0x50AC) /* <CJK> */
-MAP(0x3A, 0x46, 0x518D) /* <CJK> */
-MAP(0x3A, 0x47, 0x6700) /* <CJK> */
-MAP(0x3A, 0x48, 0x54C9) /* <CJK> */
-MAP(0x3A, 0x49, 0x585E) /* <CJK> */
-MAP(0x3A, 0x4A, 0x59BB) /* <CJK> */
-MAP(0x3A, 0x4B, 0x5BB0) /* <CJK> */
-MAP(0x3A, 0x4C, 0x5F69) /* <CJK> */
-MAP(0x3A, 0x4D, 0x624D) /* <CJK> */
-MAP(0x3A, 0x4E, 0x63A1) /* <CJK> */
-MAP(0x3A, 0x4F, 0x683D) /* <CJK> */
-MAP(0x3A, 0x50, 0x6B73) /* <CJK> */
-MAP(0x3A, 0x51, 0x6E08) /* <CJK> */
-MAP(0x3A, 0x52, 0x707D) /* <CJK> */
-MAP(0x3A, 0x53, 0x91C7) /* <CJK> */
-MAP(0x3A, 0x54, 0x7280) /* <CJK> */
-MAP(0x3A, 0x55, 0x7815) /* <CJK> */
-MAP(0x3A, 0x56, 0x7826) /* <CJK> */
-MAP(0x3A, 0x57, 0x796D) /* <CJK> */
-MAP(0x3A, 0x58, 0x658E) /* <CJK> */
-MAP(0x3A, 0x59, 0x7D30) /* <CJK> */
-MAP(0x3A, 0x5A, 0x83DC) /* <CJK> */
-MAP(0x3A, 0x5B, 0x88C1) /* <CJK> */
-MAP(0x3A, 0x5C, 0x8F09) /* <CJK> */
-MAP(0x3A, 0x5D, 0x969B) /* <CJK> */
-MAP(0x3A, 0x5E, 0x5264) /* <CJK> */
-MAP(0x3A, 0x5F, 0x5728) /* <CJK> */
-MAP(0x3A, 0x60, 0x6750) /* <CJK> */
-MAP(0x3A, 0x61, 0x7F6A) /* <CJK> */
-MAP(0x3A, 0x62, 0x8CA1) /* <CJK> */
-MAP(0x3A, 0x63, 0x51B4) /* <CJK> */
-MAP(0x3A, 0x64, 0x5742) /* <CJK> */
-MAP(0x3A, 0x65, 0x962A) /* <CJK> */
-MAP(0x3A, 0x66, 0x583A) /* <CJK> */
-MAP(0x3A, 0x67, 0x698A) /* <CJK> */
-MAP(0x3A, 0x68, 0x80B4) /* <CJK> */
-MAP(0x3A, 0x69, 0x54B2) /* <CJK> */
-MAP(0x3A, 0x6A, 0x5D0E) /* <CJK> */
-MAP(0x3A, 0x6B, 0x57FC) /* <CJK> */
-MAP(0x3A, 0x6C, 0x7895) /* <CJK> */
-MAP(0x3A, 0x6D, 0x9DFA) /* <CJK> */
-MAP(0x3A, 0x6E, 0x4F5C) /* <CJK> */
-MAP(0x3A, 0x6F, 0x524A) /* <CJK> */
-MAP(0x3A, 0x70, 0x548B) /* <CJK> */
-MAP(0x3A, 0x71, 0x643E) /* <CJK> */
-MAP(0x3A, 0x72, 0x6628) /* <CJK> */
-MAP(0x3A, 0x73, 0x6714) /* <CJK> */
-MAP(0x3A, 0x74, 0x67F5) /* <CJK> */
-MAP(0x3A, 0x75, 0x7A84) /* <CJK> */
-MAP(0x3A, 0x76, 0x7B56) /* <CJK> */
-MAP(0x3A, 0x77, 0x7D22) /* <CJK> */
-MAP(0x3A, 0x78, 0x932F) /* <CJK> */
-MAP(0x3A, 0x79, 0x685C) /* <CJK> */
-MAP(0x3A, 0x7A, 0x9BAD) /* <CJK> */
-MAP(0x3A, 0x7B, 0x7B39) /* <CJK> */
-MAP(0x3A, 0x7C, 0x5319) /* <CJK> */
-MAP(0x3A, 0x7D, 0x518A) /* <CJK> */
-MAP(0x3A, 0x7E, 0x5237) /* <CJK> */
-MAP(0x3B, 0x21, 0x5BDF) /* <CJK> */
-MAP(0x3B, 0x22, 0x62F6) /* <CJK> */
-MAP(0x3B, 0x23, 0x64AE) /* <CJK> */
-MAP(0x3B, 0x24, 0x64E6) /* <CJK> */
-MAP(0x3B, 0x25, 0x672D) /* <CJK> */
-MAP(0x3B, 0x26, 0x6BBA) /* <CJK> */
-MAP(0x3B, 0x27, 0x85A9) /* <CJK> */
-MAP(0x3B, 0x28, 0x96D1) /* <CJK> */
-MAP(0x3B, 0x29, 0x7690) /* <CJK> */
-MAP(0x3B, 0x2A, 0x9BD6) /* <CJK> */
-MAP(0x3B, 0x2B, 0x634C) /* <CJK> */
-MAP(0x3B, 0x2C, 0x9306) /* <CJK> */
-MAP(0x3B, 0x2D, 0x9BAB) /* <CJK> */
-MAP(0x3B, 0x2E, 0x76BF) /* <CJK> */
-MAP(0x3B, 0x2F, 0x6652) /* <CJK> */
-MAP(0x3B, 0x30, 0x4E09) /* <CJK> */
-MAP(0x3B, 0x31, 0x5098) /* <CJK> */
-MAP(0x3B, 0x32, 0x53C2) /* <CJK> */
-MAP(0x3B, 0x33, 0x5C71) /* <CJK> */
-MAP(0x3B, 0x34, 0x60E8) /* <CJK> */
-MAP(0x3B, 0x35, 0x6492) /* <CJK> */
-MAP(0x3B, 0x36, 0x6563) /* <CJK> */
-MAP(0x3B, 0x37, 0x685F) /* <CJK> */
-MAP(0x3B, 0x38, 0x71E6) /* <CJK> */
-MAP(0x3B, 0x39, 0x73CA) /* <CJK> */
-MAP(0x3B, 0x3A, 0x7523) /* <CJK> */
-MAP(0x3B, 0x3B, 0x7B97) /* <CJK> */
-MAP(0x3B, 0x3C, 0x7E82) /* <CJK> */
-MAP(0x3B, 0x3D, 0x8695) /* <CJK> */
-MAP(0x3B, 0x3E, 0x8B83) /* <CJK> */
-MAP(0x3B, 0x3F, 0x8CDB) /* <CJK> */
-MAP(0x3B, 0x40, 0x9178) /* <CJK> */
-MAP(0x3B, 0x41, 0x9910) /* <CJK> */
-MAP(0x3B, 0x42, 0x65AC) /* <CJK> */
-MAP(0x3B, 0x43, 0x66AB) /* <CJK> */
-MAP(0x3B, 0x44, 0x6B8B) /* <CJK> */
-MAP(0x3B, 0x45, 0x4ED5) /* <CJK> */
-MAP(0x3B, 0x46, 0x4ED4) /* <CJK> */
-MAP(0x3B, 0x47, 0x4F3A) /* <CJK> */
-MAP(0x3B, 0x48, 0x4F7F) /* <CJK> */
-MAP(0x3B, 0x49, 0x523A) /* <CJK> */
-MAP(0x3B, 0x4A, 0x53F8) /* <CJK> */
-MAP(0x3B, 0x4B, 0x53F2) /* <CJK> */
-MAP(0x3B, 0x4C, 0x55E3) /* <CJK> */
-MAP(0x3B, 0x4D, 0x56DB) /* <CJK> */
-MAP(0x3B, 0x4E, 0x58EB) /* <CJK> */
-MAP(0x3B, 0x4F, 0x59CB) /* <CJK> */
-MAP(0x3B, 0x50, 0x59C9) /* <CJK> */
-MAP(0x3B, 0x51, 0x59FF) /* <CJK> */
-MAP(0x3B, 0x52, 0x5B50) /* <CJK> */
-MAP(0x3B, 0x53, 0x5C4D) /* <CJK> */
-MAP(0x3B, 0x54, 0x5E02) /* <CJK> */
-MAP(0x3B, 0x55, 0x5E2B) /* <CJK> */
-MAP(0x3B, 0x56, 0x5FD7) /* <CJK> */
-MAP(0x3B, 0x57, 0x601D) /* <CJK> */
-MAP(0x3B, 0x58, 0x6307) /* <CJK> */
-MAP(0x3B, 0x59, 0x652F) /* <CJK> */
-MAP(0x3B, 0x5A, 0x5B5C) /* <CJK> */
-MAP(0x3B, 0x5B, 0x65AF) /* <CJK> */
-MAP(0x3B, 0x5C, 0x65BD) /* <CJK> */
-MAP(0x3B, 0x5D, 0x65E8) /* <CJK> */
-MAP(0x3B, 0x5E, 0x679D) /* <CJK> */
-MAP(0x3B, 0x5F, 0x6B62) /* <CJK> */
-MAP(0x3B, 0x60, 0x6B7B) /* <CJK> */
-MAP(0x3B, 0x61, 0x6C0F) /* <CJK> */
-MAP(0x3B, 0x62, 0x7345) /* <CJK> */
-MAP(0x3B, 0x63, 0x7949) /* <CJK> */
-MAP(0x3B, 0x64, 0x79C1) /* <CJK> */
-MAP(0x3B, 0x65, 0x7CF8) /* <CJK> */
-MAP(0x3B, 0x66, 0x7D19) /* <CJK> */
-MAP(0x3B, 0x67, 0x7D2B) /* <CJK> */
-MAP(0x3B, 0x68, 0x80A2) /* <CJK> */
-MAP(0x3B, 0x69, 0x8102) /* <CJK> */
-MAP(0x3B, 0x6A, 0x81F3) /* <CJK> */
-MAP(0x3B, 0x6B, 0x8996) /* <CJK> */
-MAP(0x3B, 0x6C, 0x8A5E) /* <CJK> */
-MAP(0x3B, 0x6D, 0x8A69) /* <CJK> */
-MAP(0x3B, 0x6E, 0x8A66) /* <CJK> */
-MAP(0x3B, 0x6F, 0x8A8C) /* <CJK> */
-MAP(0x3B, 0x70, 0x8AEE) /* <CJK> */
-MAP(0x3B, 0x71, 0x8CC7) /* <CJK> */
-MAP(0x3B, 0x72, 0x8CDC) /* <CJK> */
-MAP(0x3B, 0x73, 0x96CC) /* <CJK> */
-MAP(0x3B, 0x74, 0x98FC) /* <CJK> */
-MAP(0x3B, 0x75, 0x6B6F) /* <CJK> */
-MAP(0x3B, 0x76, 0x4E8B) /* <CJK> */
-MAP(0x3B, 0x77, 0x4F3C) /* <CJK> */
-MAP(0x3B, 0x78, 0x4F8D) /* <CJK> */
-MAP(0x3B, 0x79, 0x5150) /* <CJK> */
-MAP(0x3B, 0x7A, 0x5B57) /* <CJK> */
-MAP(0x3B, 0x7B, 0x5BFA) /* <CJK> */
-MAP(0x3B, 0x7C, 0x6148) /* <CJK> */
-MAP(0x3B, 0x7D, 0x6301) /* <CJK> */
-MAP(0x3B, 0x7E, 0x6642) /* <CJK> */
-MAP(0x3C, 0x21, 0x6B21) /* <CJK> */
-MAP(0x3C, 0x22, 0x6ECB) /* <CJK> */
-MAP(0x3C, 0x23, 0x6CBB) /* <CJK> */
-MAP(0x3C, 0x24, 0x723E) /* <CJK> */
-MAP(0x3C, 0x25, 0x74BD) /* <CJK> */
-MAP(0x3C, 0x26, 0x75D4) /* <CJK> */
-MAP(0x3C, 0x27, 0x78C1) /* <CJK> */
-MAP(0x3C, 0x28, 0x793A) /* <CJK> */
-MAP(0x3C, 0x29, 0x800C) /* <CJK> */
-MAP(0x3C, 0x2A, 0x8033) /* <CJK> */
-MAP(0x3C, 0x2B, 0x81EA) /* <CJK> */
-MAP(0x3C, 0x2C, 0x8494) /* <CJK> */
-MAP(0x3C, 0x2D, 0x8F9E) /* <CJK> */
-MAP(0x3C, 0x2E, 0x6C50) /* <CJK> */
-MAP(0x3C, 0x2F, 0x9E7F) /* <CJK> */
-MAP(0x3C, 0x30, 0x5F0F) /* <CJK> */
-MAP(0x3C, 0x31, 0x8B58) /* <CJK> */
-MAP(0x3C, 0x32, 0x9D2B) /* <CJK> */
-MAP(0x3C, 0x33, 0x7AFA) /* <CJK> */
-MAP(0x3C, 0x34, 0x8EF8) /* <CJK> */
-MAP(0x3C, 0x35, 0x5B8D) /* <CJK> */
-MAP(0x3C, 0x36, 0x96EB) /* <CJK> */
-MAP(0x3C, 0x37, 0x4E03) /* <CJK> */
-MAP(0x3C, 0x38, 0x53F1) /* <CJK> */
-MAP(0x3C, 0x39, 0x57F7) /* <CJK> */
-MAP(0x3C, 0x3A, 0x5931) /* <CJK> */
-MAP(0x3C, 0x3B, 0x5AC9) /* <CJK> */
-MAP(0x3C, 0x3C, 0x5BA4) /* <CJK> */
-MAP(0x3C, 0x3D, 0x6089) /* <CJK> */
-MAP(0x3C, 0x3E, 0x6E7F) /* <CJK> */
-MAP(0x3C, 0x3F, 0x6F06) /* <CJK> */
-MAP(0x3C, 0x40, 0x75BE) /* <CJK> */
-MAP(0x3C, 0x41, 0x8CEA) /* <CJK> */
-MAP(0x3C, 0x42, 0x5B9F) /* <CJK> */
-MAP(0x3C, 0x43, 0x8500) /* <CJK> */
-MAP(0x3C, 0x44, 0x7BE0) /* <CJK> */
-MAP(0x3C, 0x45, 0x5072) /* <CJK> */
-MAP(0x3C, 0x46, 0x67F4) /* <CJK> */
-MAP(0x3C, 0x47, 0x829D) /* <CJK> */
-MAP(0x3C, 0x48, 0x5C61) /* <CJK> */
-MAP(0x3C, 0x49, 0x854A) /* <CJK> */
-MAP(0x3C, 0x4A, 0x7E1E) /* <CJK> */
-MAP(0x3C, 0x4B, 0x820E) /* <CJK> */
-MAP(0x3C, 0x4C, 0x5199) /* <CJK> */
-MAP(0x3C, 0x4D, 0x5C04) /* <CJK> */
-MAP(0x3C, 0x4E, 0x6368) /* <CJK> */
-MAP(0x3C, 0x4F, 0x8D66) /* <CJK> */
-MAP(0x3C, 0x50, 0x659C) /* <CJK> */
-MAP(0x3C, 0x51, 0x716E) /* <CJK> */
-MAP(0x3C, 0x52, 0x793E) /* <CJK> */
-MAP(0x3C, 0x53, 0x7D17) /* <CJK> */
-MAP(0x3C, 0x54, 0x8005) /* <CJK> */
-MAP(0x3C, 0x55, 0x8B1D) /* <CJK> */
-MAP(0x3C, 0x56, 0x8ECA) /* <CJK> */
-MAP(0x3C, 0x57, 0x906E) /* <CJK> */
-MAP(0x3C, 0x58, 0x86C7) /* <CJK> */
-MAP(0x3C, 0x59, 0x90AA) /* <CJK> */
-MAP(0x3C, 0x5A, 0x501F) /* <CJK> */
-MAP(0x3C, 0x5B, 0x52FA) /* <CJK> */
-MAP(0x3C, 0x5C, 0x5C3A) /* <CJK> */
-MAP(0x3C, 0x5D, 0x6753) /* <CJK> */
-MAP(0x3C, 0x5E, 0x707C) /* <CJK> */
-MAP(0x3C, 0x5F, 0x7235) /* <CJK> */
-MAP(0x3C, 0x60, 0x914C) /* <CJK> */
-MAP(0x3C, 0x61, 0x91C8) /* <CJK> */
-MAP(0x3C, 0x62, 0x932B) /* <CJK> */
-MAP(0x3C, 0x63, 0x82E5) /* <CJK> */
-MAP(0x3C, 0x64, 0x5BC2) /* <CJK> */
-MAP(0x3C, 0x65, 0x5F31) /* <CJK> */
-MAP(0x3C, 0x66, 0x60F9) /* <CJK> */
-MAP(0x3C, 0x67, 0x4E3B) /* <CJK> */
-MAP(0x3C, 0x68, 0x53D6) /* <CJK> */
-MAP(0x3C, 0x69, 0x5B88) /* <CJK> */
-MAP(0x3C, 0x6A, 0x624B) /* <CJK> */
-MAP(0x3C, 0x6B, 0x6731) /* <CJK> */
-MAP(0x3C, 0x6C, 0x6B8A) /* <CJK> */
-MAP(0x3C, 0x6D, 0x72E9) /* <CJK> */
-MAP(0x3C, 0x6E, 0x73E0) /* <CJK> */
-MAP(0x3C, 0x6F, 0x7A2E) /* <CJK> */
-MAP(0x3C, 0x70, 0x816B) /* <CJK> */
-MAP(0x3C, 0x71, 0x8DA3) /* <CJK> */
-MAP(0x3C, 0x72, 0x9152) /* <CJK> */
-MAP(0x3C, 0x73, 0x9996) /* <CJK> */
-MAP(0x3C, 0x74, 0x5112) /* <CJK> */
-MAP(0x3C, 0x75, 0x53D7) /* <CJK> */
-MAP(0x3C, 0x76, 0x546A) /* <CJK> */
-MAP(0x3C, 0x77, 0x5BFF) /* <CJK> */
-MAP(0x3C, 0x78, 0x6388) /* <CJK> */
-MAP(0x3C, 0x79, 0x6A39) /* <CJK> */
-MAP(0x3C, 0x7A, 0x7DAC) /* <CJK> */
-MAP(0x3C, 0x7B, 0x9700) /* <CJK> */
-MAP(0x3C, 0x7C, 0x56DA) /* <CJK> */
-MAP(0x3C, 0x7D, 0x53CE) /* <CJK> */
-MAP(0x3C, 0x7E, 0x5468) /* <CJK> */
-MAP(0x3D, 0x21, 0x5B97) /* <CJK> */
-MAP(0x3D, 0x22, 0x5C31) /* <CJK> */
-MAP(0x3D, 0x23, 0x5DDE) /* <CJK> */
-MAP(0x3D, 0x24, 0x4FEE) /* <CJK> */
-MAP(0x3D, 0x25, 0x6101) /* <CJK> */
-MAP(0x3D, 0x26, 0x62FE) /* <CJK> */
-MAP(0x3D, 0x27, 0x6D32) /* <CJK> */
-MAP(0x3D, 0x28, 0x79C0) /* <CJK> */
-MAP(0x3D, 0x29, 0x79CB) /* <CJK> */
-MAP(0x3D, 0x2A, 0x7D42) /* <CJK> */
-MAP(0x3D, 0x2B, 0x7E4D) /* <CJK> */
-MAP(0x3D, 0x2C, 0x7FD2) /* <CJK> */
-MAP(0x3D, 0x2D, 0x81ED) /* <CJK> */
-MAP(0x3D, 0x2E, 0x821F) /* <CJK> */
-MAP(0x3D, 0x2F, 0x8490) /* <CJK> */
-MAP(0x3D, 0x30, 0x8846) /* <CJK> */
-MAP(0x3D, 0x31, 0x8972) /* <CJK> */
-MAP(0x3D, 0x32, 0x8B90) /* <CJK> */
-MAP(0x3D, 0x33, 0x8E74) /* <CJK> */
-MAP(0x3D, 0x34, 0x8F2F) /* <CJK> */
-MAP(0x3D, 0x35, 0x9031) /* <CJK> */
-MAP(0x3D, 0x36, 0x914B) /* <CJK> */
-MAP(0x3D, 0x37, 0x916C) /* <CJK> */
-MAP(0x3D, 0x38, 0x96C6) /* <CJK> */
-MAP(0x3D, 0x39, 0x919C) /* <CJK> */
-MAP(0x3D, 0x3A, 0x4EC0) /* <CJK> */
-MAP(0x3D, 0x3B, 0x4F4F) /* <CJK> */
-MAP(0x3D, 0x3C, 0x5145) /* <CJK> */
-MAP(0x3D, 0x3D, 0x5341) /* <CJK> */
-MAP(0x3D, 0x3E, 0x5F93) /* <CJK> */
-MAP(0x3D, 0x3F, 0x620E) /* <CJK> */
-MAP(0x3D, 0x40, 0x67D4) /* <CJK> */
-MAP(0x3D, 0x41, 0x6C41) /* <CJK> */
-MAP(0x3D, 0x42, 0x6E0B) /* <CJK> */
-MAP(0x3D, 0x43, 0x7363) /* <CJK> */
-MAP(0x3D, 0x44, 0x7E26) /* <CJK> */
-MAP(0x3D, 0x45, 0x91CD) /* <CJK> */
-MAP(0x3D, 0x46, 0x9283) /* <CJK> */
-MAP(0x3D, 0x47, 0x53D4) /* <CJK> */
-MAP(0x3D, 0x48, 0x5919) /* <CJK> */
-MAP(0x3D, 0x49, 0x5BBF) /* <CJK> */
-MAP(0x3D, 0x4A, 0x6DD1) /* <CJK> */
-MAP(0x3D, 0x4B, 0x795D) /* <CJK> */
-MAP(0x3D, 0x4C, 0x7E2E) /* <CJK> */
-MAP(0x3D, 0x4D, 0x7C9B) /* <CJK> */
-MAP(0x3D, 0x4E, 0x587E) /* <CJK> */
-MAP(0x3D, 0x4F, 0x719F) /* <CJK> */
-MAP(0x3D, 0x50, 0x51FA) /* <CJK> */
-MAP(0x3D, 0x51, 0x8853) /* <CJK> */
-MAP(0x3D, 0x52, 0x8FF0) /* <CJK> */
-MAP(0x3D, 0x53, 0x4FCA) /* <CJK> */
-MAP(0x3D, 0x54, 0x5CFB) /* <CJK> */
-MAP(0x3D, 0x55, 0x6625) /* <CJK> */
-MAP(0x3D, 0x56, 0x77AC) /* <CJK> */
-MAP(0x3D, 0x57, 0x7AE3) /* <CJK> */
-MAP(0x3D, 0x58, 0x821C) /* <CJK> */
-MAP(0x3D, 0x59, 0x99FF) /* <CJK> */
-MAP(0x3D, 0x5A, 0x51C6) /* <CJK> */
-MAP(0x3D, 0x5B, 0x5FAA) /* <CJK> */
-MAP(0x3D, 0x5C, 0x65EC) /* <CJK> */
-MAP(0x3D, 0x5D, 0x696F) /* <CJK> */
-MAP(0x3D, 0x5E, 0x6B89) /* <CJK> */
-MAP(0x3D, 0x5F, 0x6DF3) /* <CJK> */
-MAP(0x3D, 0x60, 0x6E96) /* <CJK> */
-MAP(0x3D, 0x61, 0x6F64) /* <CJK> */
-MAP(0x3D, 0x62, 0x76FE) /* <CJK> */
-MAP(0x3D, 0x63, 0x7D14) /* <CJK> */
-MAP(0x3D, 0x64, 0x5DE1) /* <CJK> */
-MAP(0x3D, 0x65, 0x9075) /* <CJK> */
-MAP(0x3D, 0x66, 0x9187) /* <CJK> */
-MAP(0x3D, 0x67, 0x9806) /* <CJK> */
-MAP(0x3D, 0x68, 0x51E6) /* <CJK> */
-MAP(0x3D, 0x69, 0x521D) /* <CJK> */
-MAP(0x3D, 0x6A, 0x6240) /* <CJK> */
-MAP(0x3D, 0x6B, 0x6691) /* <CJK> */
-MAP(0x3D, 0x6C, 0x66D9) /* <CJK> */
-MAP(0x3D, 0x6D, 0x6E1A) /* <CJK> */
-MAP(0x3D, 0x6E, 0x5EB6) /* <CJK> */
-MAP(0x3D, 0x6F, 0x7DD2) /* <CJK> */
-MAP(0x3D, 0x70, 0x7F72) /* <CJK> */
-MAP(0x3D, 0x71, 0x66F8) /* <CJK> */
-MAP(0x3D, 0x72, 0x85AF) /* <CJK> */
-MAP(0x3D, 0x73, 0x85F7) /* <CJK> */
-MAP(0x3D, 0x74, 0x8AF8) /* <CJK> */
-MAP(0x3D, 0x75, 0x52A9) /* <CJK> */
-MAP(0x3D, 0x76, 0x53D9) /* <CJK> */
-MAP(0x3D, 0x77, 0x5973) /* <CJK> */
-MAP(0x3D, 0x78, 0x5E8F) /* <CJK> */
-MAP(0x3D, 0x79, 0x5F90) /* <CJK> */
-MAP(0x3D, 0x7A, 0x6055) /* <CJK> */
-MAP(0x3D, 0x7B, 0x92E4) /* <CJK> */
-MAP(0x3D, 0x7C, 0x9664) /* <CJK> */
-MAP(0x3D, 0x7D, 0x50B7) /* <CJK> */
-MAP(0x3D, 0x7E, 0x511F) /* <CJK> */
-MAP(0x3E, 0x21, 0x52DD) /* <CJK> */
-MAP(0x3E, 0x22, 0x5320) /* <CJK> */
-MAP(0x3E, 0x23, 0x5347) /* <CJK> */
-MAP(0x3E, 0x24, 0x53EC) /* <CJK> */
-MAP(0x3E, 0x25, 0x54E8) /* <CJK> */
-MAP(0x3E, 0x26, 0x5546) /* <CJK> */
-MAP(0x3E, 0x27, 0x5531) /* <CJK> */
-MAP(0x3E, 0x28, 0x5617) /* <CJK> */
-MAP(0x3E, 0x29, 0x5968) /* <CJK> */
-MAP(0x3E, 0x2A, 0x59BE) /* <CJK> */
-MAP(0x3E, 0x2B, 0x5A3C) /* <CJK> */
-MAP(0x3E, 0x2C, 0x5BB5) /* <CJK> */
-MAP(0x3E, 0x2D, 0x5C06) /* <CJK> */
-MAP(0x3E, 0x2E, 0x5C0F) /* <CJK> */
-MAP(0x3E, 0x2F, 0x5C11) /* <CJK> */
-MAP(0x3E, 0x30, 0x5C1A) /* <CJK> */
-MAP(0x3E, 0x31, 0x5E84) /* <CJK> */
-MAP(0x3E, 0x32, 0x5E8A) /* <CJK> */
-MAP(0x3E, 0x33, 0x5EE0) /* <CJK> */
-MAP(0x3E, 0x34, 0x5F70) /* <CJK> */
-MAP(0x3E, 0x35, 0x627F) /* <CJK> */
-MAP(0x3E, 0x36, 0x6284) /* <CJK> */
-MAP(0x3E, 0x37, 0x62DB) /* <CJK> */
-MAP(0x3E, 0x38, 0x638C) /* <CJK> */
-MAP(0x3E, 0x39, 0x6377) /* <CJK> */
-MAP(0x3E, 0x3A, 0x6607) /* <CJK> */
-MAP(0x3E, 0x3B, 0x660C) /* <CJK> */
-MAP(0x3E, 0x3C, 0x662D) /* <CJK> */
-MAP(0x3E, 0x3D, 0x6676) /* <CJK> */
-MAP(0x3E, 0x3E, 0x677E) /* <CJK> */
-MAP(0x3E, 0x3F, 0x68A2) /* <CJK> */
-MAP(0x3E, 0x40, 0x6A1F) /* <CJK> */
-MAP(0x3E, 0x41, 0x6A35) /* <CJK> */
-MAP(0x3E, 0x42, 0x6CBC) /* <CJK> */
-MAP(0x3E, 0x43, 0x6D88) /* <CJK> */
-MAP(0x3E, 0x44, 0x6E09) /* <CJK> */
-MAP(0x3E, 0x45, 0x6E58) /* <CJK> */
-MAP(0x3E, 0x46, 0x713C) /* <CJK> */
-MAP(0x3E, 0x47, 0x7126) /* <CJK> */
-MAP(0x3E, 0x48, 0x7167) /* <CJK> */
-MAP(0x3E, 0x49, 0x75C7) /* <CJK> */
-MAP(0x3E, 0x4A, 0x7701) /* <CJK> */
-MAP(0x3E, 0x4B, 0x785D) /* <CJK> */
-MAP(0x3E, 0x4C, 0x7901) /* <CJK> */
-MAP(0x3E, 0x4D, 0x7965) /* <CJK> */
-MAP(0x3E, 0x4E, 0x79F0) /* <CJK> */
-MAP(0x3E, 0x4F, 0x7AE0) /* <CJK> */
-MAP(0x3E, 0x50, 0x7B11) /* <CJK> */
-MAP(0x3E, 0x51, 0x7CA7) /* <CJK> */
-MAP(0x3E, 0x52, 0x7D39) /* <CJK> */
-MAP(0x3E, 0x53, 0x8096) /* <CJK> */
-MAP(0x3E, 0x54, 0x83D6) /* <CJK> */
-MAP(0x3E, 0x55, 0x848B) /* <CJK> */
-MAP(0x3E, 0x56, 0x8549) /* <CJK> */
-MAP(0x3E, 0x57, 0x885D) /* <CJK> */
-MAP(0x3E, 0x58, 0x88F3) /* <CJK> */
-MAP(0x3E, 0x59, 0x8A1F) /* <CJK> */
-MAP(0x3E, 0x5A, 0x8A3C) /* <CJK> */
-MAP(0x3E, 0x5B, 0x8A54) /* <CJK> */
-MAP(0x3E, 0x5C, 0x8A73) /* <CJK> */
-MAP(0x3E, 0x5D, 0x8C61) /* <CJK> */
-MAP(0x3E, 0x5E, 0x8CDE) /* <CJK> */
-MAP(0x3E, 0x5F, 0x91A4) /* <CJK> */
-MAP(0x3E, 0x60, 0x9266) /* <CJK> */
-MAP(0x3E, 0x61, 0x937E) /* <CJK> */
-MAP(0x3E, 0x62, 0x9418) /* <CJK> */
-MAP(0x3E, 0x63, 0x969C) /* <CJK> */
-MAP(0x3E, 0x64, 0x9798) /* <CJK> */
-MAP(0x3E, 0x65, 0x4E0A) /* <CJK> */
-MAP(0x3E, 0x66, 0x4E08) /* <CJK> */
-MAP(0x3E, 0x67, 0x4E1E) /* <CJK> */
-MAP(0x3E, 0x68, 0x4E57) /* <CJK> */
-MAP(0x3E, 0x69, 0x5197) /* <CJK> */
-MAP(0x3E, 0x6A, 0x5270) /* <CJK> */
-MAP(0x3E, 0x6B, 0x57CE) /* <CJK> */
-MAP(0x3E, 0x6C, 0x5834) /* <CJK> */
-MAP(0x3E, 0x6D, 0x58CC) /* <CJK> */
-MAP(0x3E, 0x6E, 0x5B22) /* <CJK> */
-MAP(0x3E, 0x6F, 0x5E38) /* <CJK> */
-MAP(0x3E, 0x70, 0x60C5) /* <CJK> */
-MAP(0x3E, 0x71, 0x64FE) /* <CJK> */
-MAP(0x3E, 0x72, 0x6761) /* <CJK> */
-MAP(0x3E, 0x73, 0x6756) /* <CJK> */
-MAP(0x3E, 0x74, 0x6D44) /* <CJK> */
-MAP(0x3E, 0x75, 0x72B6) /* <CJK> */
-MAP(0x3E, 0x76, 0x7573) /* <CJK> */
-MAP(0x3E, 0x77, 0x7A63) /* <CJK> */
-MAP(0x3E, 0x78, 0x84B8) /* <CJK> */
-MAP(0x3E, 0x79, 0x8B72) /* <CJK> */
-MAP(0x3E, 0x7A, 0x91B8) /* <CJK> */
-MAP(0x3E, 0x7B, 0x9320) /* <CJK> */
-MAP(0x3E, 0x7C, 0x5631) /* <CJK> */
-MAP(0x3E, 0x7D, 0x57F4) /* <CJK> */
-MAP(0x3E, 0x7E, 0x98FE) /* <CJK> */
-MAP(0x3F, 0x21, 0x62ED) /* <CJK> */
-MAP(0x3F, 0x22, 0x690D) /* <CJK> */
-MAP(0x3F, 0x23, 0x6B96) /* <CJK> */
-MAP(0x3F, 0x24, 0x71ED) /* <CJK> */
-MAP(0x3F, 0x25, 0x7E54) /* <CJK> */
-MAP(0x3F, 0x26, 0x8077) /* <CJK> */
-MAP(0x3F, 0x27, 0x8272) /* <CJK> */
-MAP(0x3F, 0x28, 0x89E6) /* <CJK> */
-MAP(0x3F, 0x29, 0x98DF) /* <CJK> */
-MAP(0x3F, 0x2A, 0x8755) /* <CJK> */
-MAP(0x3F, 0x2B, 0x8FB1) /* <CJK> */
-MAP(0x3F, 0x2C, 0x5C3B) /* <CJK> */
-MAP(0x3F, 0x2D, 0x4F38) /* <CJK> */
-MAP(0x3F, 0x2E, 0x4FE1) /* <CJK> */
-MAP(0x3F, 0x2F, 0x4FB5) /* <CJK> */
-MAP(0x3F, 0x30, 0x5507) /* <CJK> */
-MAP(0x3F, 0x31, 0x5A20) /* <CJK> */
-MAP(0x3F, 0x32, 0x5BDD) /* <CJK> */
-MAP(0x3F, 0x33, 0x5BE9) /* <CJK> */
-MAP(0x3F, 0x34, 0x5FC3) /* <CJK> */
-MAP(0x3F, 0x35, 0x614E) /* <CJK> */
-MAP(0x3F, 0x36, 0x632F) /* <CJK> */
-MAP(0x3F, 0x37, 0x65B0) /* <CJK> */
-MAP(0x3F, 0x38, 0x664B) /* <CJK> */
-MAP(0x3F, 0x39, 0x68EE) /* <CJK> */
-MAP(0x3F, 0x3A, 0x699B) /* <CJK> */
-MAP(0x3F, 0x3B, 0x6D78) /* <CJK> */
-MAP(0x3F, 0x3C, 0x6DF1) /* <CJK> */
-MAP(0x3F, 0x3D, 0x7533) /* <CJK> */
-MAP(0x3F, 0x3E, 0x75B9) /* <CJK> */
-MAP(0x3F, 0x3F, 0x771F) /* <CJK> */
-MAP(0x3F, 0x40, 0x795E) /* <CJK> */
-MAP(0x3F, 0x41, 0x79E6) /* <CJK> */
-MAP(0x3F, 0x42, 0x7D33) /* <CJK> */
-MAP(0x3F, 0x43, 0x81E3) /* <CJK> */
-MAP(0x3F, 0x44, 0x82AF) /* <CJK> */
-MAP(0x3F, 0x45, 0x85AA) /* <CJK> */
-MAP(0x3F, 0x46, 0x89AA) /* <CJK> */
-MAP(0x3F, 0x47, 0x8A3A) /* <CJK> */
-MAP(0x3F, 0x48, 0x8EAB) /* <CJK> */
-MAP(0x3F, 0x49, 0x8F9B) /* <CJK> */
-MAP(0x3F, 0x4A, 0x9032) /* <CJK> */
-MAP(0x3F, 0x4B, 0x91DD) /* <CJK> */
-MAP(0x3F, 0x4C, 0x9707) /* <CJK> */
-MAP(0x3F, 0x4D, 0x4EBA) /* <CJK> */
-MAP(0x3F, 0x4E, 0x4EC1) /* <CJK> */
-MAP(0x3F, 0x4F, 0x5203) /* <CJK> */
-MAP(0x3F, 0x50, 0x5875) /* <CJK> */
-MAP(0x3F, 0x51, 0x58EC) /* <CJK> */
-MAP(0x3F, 0x52, 0x5C0B) /* <CJK> */
-MAP(0x3F, 0x53, 0x751A) /* <CJK> */
-MAP(0x3F, 0x54, 0x5C3D) /* <CJK> */
-MAP(0x3F, 0x55, 0x814E) /* <CJK> */
-MAP(0x3F, 0x56, 0x8A0A) /* <CJK> */
-MAP(0x3F, 0x57, 0x8FC5) /* <CJK> */
-MAP(0x3F, 0x58, 0x9663) /* <CJK> */
-MAP(0x3F, 0x59, 0x976D) /* <CJK> */
-MAP(0x3F, 0x5A, 0x7B25) /* <CJK> */
-MAP(0x3F, 0x5B, 0x8ACF) /* <CJK> */
-MAP(0x3F, 0x5C, 0x9808) /* <CJK> */
-MAP(0x3F, 0x5D, 0x9162) /* <CJK> */
-MAP(0x3F, 0x5E, 0x56F3) /* <CJK> */
-MAP(0x3F, 0x5F, 0x53A8) /* <CJK> */
-MAP(0x3F, 0x60, 0x9017) /* <CJK> */
-MAP(0x3F, 0x61, 0x5439) /* <CJK> */
-MAP(0x3F, 0x62, 0x5782) /* <CJK> */
-MAP(0x3F, 0x63, 0x5E25) /* <CJK> */
-MAP(0x3F, 0x64, 0x63A8) /* <CJK> */
-MAP(0x3F, 0x65, 0x6C34) /* <CJK> */
-MAP(0x3F, 0x66, 0x708A) /* <CJK> */
-MAP(0x3F, 0x67, 0x7761) /* <CJK> */
-MAP(0x3F, 0x68, 0x7C8B) /* <CJK> */
-MAP(0x3F, 0x69, 0x7FE0) /* <CJK> */
-MAP(0x3F, 0x6A, 0x8870) /* <CJK> */
-MAP(0x3F, 0x6B, 0x9042) /* <CJK> */
-MAP(0x3F, 0x6C, 0x9154) /* <CJK> */
-MAP(0x3F, 0x6D, 0x9310) /* <CJK> */
-MAP(0x3F, 0x6E, 0x9318) /* <CJK> */
-MAP(0x3F, 0x6F, 0x968F) /* <CJK> */
-MAP(0x3F, 0x70, 0x745E) /* <CJK> */
-MAP(0x3F, 0x71, 0x9AC4) /* <CJK> */
-MAP(0x3F, 0x72, 0x5D07) /* <CJK> */
-MAP(0x3F, 0x73, 0x5D69) /* <CJK> */
-MAP(0x3F, 0x74, 0x6570) /* <CJK> */
-MAP(0x3F, 0x75, 0x67A2) /* <CJK> */
-MAP(0x3F, 0x76, 0x8DA8) /* <CJK> */
-MAP(0x3F, 0x77, 0x96DB) /* <CJK> */
-MAP(0x3F, 0x78, 0x636E) /* <CJK> */
-MAP(0x3F, 0x79, 0x6749) /* <CJK> */
-MAP(0x3F, 0x7A, 0x6919) /* <CJK> */
-MAP(0x3F, 0x7B, 0x83C5) /* <CJK> */
-MAP(0x3F, 0x7C, 0x9817) /* <CJK> */
-MAP(0x3F, 0x7D, 0x96C0) /* <CJK> */
-MAP(0x3F, 0x7E, 0x88FE) /* <CJK> */
-MAP(0x40, 0x21, 0x6F84) /* <CJK> */
-MAP(0x40, 0x22, 0x647A) /* <CJK> */
-MAP(0x40, 0x23, 0x5BF8) /* <CJK> */
-MAP(0x40, 0x24, 0x4E16) /* <CJK> */
-MAP(0x40, 0x25, 0x702C) /* <CJK> */
-MAP(0x40, 0x26, 0x755D) /* <CJK> */
-MAP(0x40, 0x27, 0x662F) /* <CJK> */
-MAP(0x40, 0x28, 0x51C4) /* <CJK> */
-MAP(0x40, 0x29, 0x5236) /* <CJK> */
-MAP(0x40, 0x2A, 0x52E2) /* <CJK> */
-MAP(0x40, 0x2B, 0x59D3) /* <CJK> */
-MAP(0x40, 0x2C, 0x5F81) /* <CJK> */
-MAP(0x40, 0x2D, 0x6027) /* <CJK> */
-MAP(0x40, 0x2E, 0x6210) /* <CJK> */
-MAP(0x40, 0x2F, 0x653F) /* <CJK> */
-MAP(0x40, 0x30, 0x6574) /* <CJK> */
-MAP(0x40, 0x31, 0x661F) /* <CJK> */
-MAP(0x40, 0x32, 0x6674) /* <CJK> */
-MAP(0x40, 0x33, 0x68F2) /* <CJK> */
-MAP(0x40, 0x34, 0x6816) /* <CJK> */
-MAP(0x40, 0x35, 0x6B63) /* <CJK> */
-MAP(0x40, 0x36, 0x6E05) /* <CJK> */
-MAP(0x40, 0x37, 0x7272) /* <CJK> */
-MAP(0x40, 0x38, 0x751F) /* <CJK> */
-MAP(0x40, 0x39, 0x76DB) /* <CJK> */
-MAP(0x40, 0x3A, 0x7CBE) /* <CJK> */
-MAP(0x40, 0x3B, 0x8056) /* <CJK> */
-MAP(0x40, 0x3C, 0x58F0) /* <CJK> */
-MAP(0x40, 0x3D, 0x88FD) /* <CJK> */
-MAP(0x40, 0x3E, 0x897F) /* <CJK> */
-MAP(0x40, 0x3F, 0x8AA0) /* <CJK> */
-MAP(0x40, 0x40, 0x8A93) /* <CJK> */
-MAP(0x40, 0x41, 0x8ACB) /* <CJK> */
-MAP(0x40, 0x42, 0x901D) /* <CJK> */
-MAP(0x40, 0x43, 0x9192) /* <CJK> */
-MAP(0x40, 0x44, 0x9752) /* <CJK> */
-MAP(0x40, 0x45, 0x9759) /* <CJK> */
-MAP(0x40, 0x46, 0x6589) /* <CJK> */
-MAP(0x40, 0x47, 0x7A0E) /* <CJK> */
-MAP(0x40, 0x48, 0x8106) /* <CJK> */
-MAP(0x40, 0x49, 0x96BB) /* <CJK> */
-MAP(0x40, 0x4A, 0x5E2D) /* <CJK> */
-MAP(0x40, 0x4B, 0x60DC) /* <CJK> */
-MAP(0x40, 0x4C, 0x621A) /* <CJK> */
-MAP(0x40, 0x4D, 0x65A5) /* <CJK> */
-MAP(0x40, 0x4E, 0x6614) /* <CJK> */
-MAP(0x40, 0x4F, 0x6790) /* <CJK> */
-MAP(0x40, 0x50, 0x77F3) /* <CJK> */
-MAP(0x40, 0x51, 0x7A4D) /* <CJK> */
-MAP(0x40, 0x52, 0x7C4D) /* <CJK> */
-MAP(0x40, 0x53, 0x7E3E) /* <CJK> */
-MAP(0x40, 0x54, 0x810A) /* <CJK> */
-MAP(0x40, 0x55, 0x8CAC) /* <CJK> */
-MAP(0x40, 0x56, 0x8D64) /* <CJK> */
-MAP(0x40, 0x57, 0x8DE1) /* <CJK> */
-MAP(0x40, 0x58, 0x8E5F) /* <CJK> */
-MAP(0x40, 0x59, 0x78A9) /* <CJK> */
-MAP(0x40, 0x5A, 0x5207) /* <CJK> */
-MAP(0x40, 0x5B, 0x62D9) /* <CJK> */
-MAP(0x40, 0x5C, 0x63A5) /* <CJK> */
-MAP(0x40, 0x5D, 0x6442) /* <CJK> */
-MAP(0x40, 0x5E, 0x6298) /* <CJK> */
-MAP(0x40, 0x5F, 0x8A2D) /* <CJK> */
-MAP(0x40, 0x60, 0x7A83) /* <CJK> */
-MAP(0x40, 0x61, 0x7BC0) /* <CJK> */
-MAP(0x40, 0x62, 0x8AAC) /* <CJK> */
-MAP(0x40, 0x63, 0x96EA) /* <CJK> */
-MAP(0x40, 0x64, 0x7D76) /* <CJK> */
-MAP(0x40, 0x65, 0x820C) /* <CJK> */
-MAP(0x40, 0x66, 0x8749) /* <CJK> */
-MAP(0x40, 0x67, 0x4ED9) /* <CJK> */
-MAP(0x40, 0x68, 0x5148) /* <CJK> */
-MAP(0x40, 0x69, 0x5343) /* <CJK> */
-MAP(0x40, 0x6A, 0x5360) /* <CJK> */
-MAP(0x40, 0x6B, 0x5BA3) /* <CJK> */
-MAP(0x40, 0x6C, 0x5C02) /* <CJK> */
-MAP(0x40, 0x6D, 0x5C16) /* <CJK> */
-MAP(0x40, 0x6E, 0x5DDD) /* <CJK> */
-MAP(0x40, 0x6F, 0x6226) /* <CJK> */
-MAP(0x40, 0x70, 0x6247) /* <CJK> */
-MAP(0x40, 0x71, 0x64B0) /* <CJK> */
-MAP(0x40, 0x72, 0x6813) /* <CJK> */
-MAP(0x40, 0x73, 0x6834) /* <CJK> */
-MAP(0x40, 0x74, 0x6CC9) /* <CJK> */
-MAP(0x40, 0x75, 0x6D45) /* <CJK> */
-MAP(0x40, 0x76, 0x6D17) /* <CJK> */
-MAP(0x40, 0x77, 0x67D3) /* <CJK> */
-MAP(0x40, 0x78, 0x6F5C) /* <CJK> */
-MAP(0x40, 0x79, 0x714E) /* <CJK> */
-MAP(0x40, 0x7A, 0x717D) /* <CJK> */
-MAP(0x40, 0x7B, 0x65CB) /* <CJK> */
-MAP(0x40, 0x7C, 0x7A7F) /* <CJK> */
-MAP(0x40, 0x7D, 0x7BAD) /* <CJK> */
-MAP(0x40, 0x7E, 0x7DDA) /* <CJK> */
-MAP(0x41, 0x21, 0x7E4A) /* <CJK> */
-MAP(0x41, 0x22, 0x7FA8) /* <CJK> */
-MAP(0x41, 0x23, 0x817A) /* <CJK> */
-MAP(0x41, 0x24, 0x821B) /* <CJK> */
-MAP(0x41, 0x25, 0x8239) /* <CJK> */
-MAP(0x41, 0x26, 0x85A6) /* <CJK> */
-MAP(0x41, 0x27, 0x8A6E) /* <CJK> */
-MAP(0x41, 0x28, 0x8CCE) /* <CJK> */
-MAP(0x41, 0x29, 0x8DF5) /* <CJK> */
-MAP(0x41, 0x2A, 0x9078) /* <CJK> */
-MAP(0x41, 0x2B, 0x9077) /* <CJK> */
-MAP(0x41, 0x2C, 0x92AD) /* <CJK> */
-MAP(0x41, 0x2D, 0x9291) /* <CJK> */
-MAP(0x41, 0x2E, 0x9583) /* <CJK> */
-MAP(0x41, 0x2F, 0x9BAE) /* <CJK> */
-MAP(0x41, 0x30, 0x524D) /* <CJK> */
-MAP(0x41, 0x31, 0x5584) /* <CJK> */
-MAP(0x41, 0x32, 0x6F38) /* <CJK> */
-MAP(0x41, 0x33, 0x7136) /* <CJK> */
-MAP(0x41, 0x34, 0x5168) /* <CJK> */
-MAP(0x41, 0x35, 0x7985) /* <CJK> */
-MAP(0x41, 0x36, 0x7E55) /* <CJK> */
-MAP(0x41, 0x37, 0x81B3) /* <CJK> */
-MAP(0x41, 0x38, 0x7CCE) /* <CJK> */
-MAP(0x41, 0x39, 0x564C) /* <CJK> */
-MAP(0x41, 0x3A, 0x5851) /* <CJK> */
-MAP(0x41, 0x3B, 0x5CA8) /* <CJK> */
-MAP(0x41, 0x3C, 0x63AA) /* <CJK> */
-MAP(0x41, 0x3D, 0x66FE) /* <CJK> */
-MAP(0x41, 0x3E, 0x66FD) /* <CJK> */
-MAP(0x41, 0x3F, 0x695A) /* <CJK> */
-MAP(0x41, 0x40, 0x72D9) /* <CJK> */
-MAP(0x41, 0x41, 0x758F) /* <CJK> */
-MAP(0x41, 0x42, 0x758E) /* <CJK> */
-MAP(0x41, 0x43, 0x790E) /* <CJK> */
-MAP(0x41, 0x44, 0x7956) /* <CJK> */
-MAP(0x41, 0x45, 0x79DF) /* <CJK> */
-MAP(0x41, 0x46, 0x7C97) /* <CJK> */
-MAP(0x41, 0x47, 0x7D20) /* <CJK> */
-MAP(0x41, 0x48, 0x7D44) /* <CJK> */
-MAP(0x41, 0x49, 0x8607) /* <CJK> */
-MAP(0x41, 0x4A, 0x8A34) /* <CJK> */
-MAP(0x41, 0x4B, 0x963B) /* <CJK> */
-MAP(0x41, 0x4C, 0x9061) /* <CJK> */
-MAP(0x41, 0x4D, 0x9F20) /* <CJK> */
-MAP(0x41, 0x4E, 0x50E7) /* <CJK> */
-MAP(0x41, 0x4F, 0x5275) /* <CJK> */
-MAP(0x41, 0x50, 0x53CC) /* <CJK> */
-MAP(0x41, 0x51, 0x53E2) /* <CJK> */
-MAP(0x41, 0x52, 0x5009) /* <CJK> */
-MAP(0x41, 0x53, 0x55AA) /* <CJK> */
-MAP(0x41, 0x54, 0x58EE) /* <CJK> */
-MAP(0x41, 0x55, 0x594F) /* <CJK> */
-MAP(0x41, 0x56, 0x723D) /* <CJK> */
-MAP(0x41, 0x57, 0x5B8B) /* <CJK> */
-MAP(0x41, 0x58, 0x5C64) /* <CJK> */
-MAP(0x41, 0x59, 0x531D) /* <CJK> */
-MAP(0x41, 0x5A, 0x60E3) /* <CJK> */
-MAP(0x41, 0x5B, 0x60F3) /* <CJK> */
-MAP(0x41, 0x5C, 0x635C) /* <CJK> */
-MAP(0x41, 0x5D, 0x6383) /* <CJK> */
-MAP(0x41, 0x5E, 0x633F) /* <CJK> */
-MAP(0x41, 0x5F, 0x63BB) /* <CJK> */
-MAP(0x41, 0x60, 0x64CD) /* <CJK> */
-MAP(0x41, 0x61, 0x65E9) /* <CJK> */
-MAP(0x41, 0x62, 0x66F9) /* <CJK> */
-MAP(0x41, 0x63, 0x5DE3) /* <CJK> */
-MAP(0x41, 0x64, 0x69CD) /* <CJK> */
-MAP(0x41, 0x65, 0x69FD) /* <CJK> */
-MAP(0x41, 0x66, 0x6F15) /* <CJK> */
-MAP(0x41, 0x67, 0x71E5) /* <CJK> */
-MAP(0x41, 0x68, 0x4E89) /* <CJK> */
-MAP(0x41, 0x69, 0x75E9) /* <CJK> */
-MAP(0x41, 0x6A, 0x76F8) /* <CJK> */
-MAP(0x41, 0x6B, 0x7A93) /* <CJK> */
-MAP(0x41, 0x6C, 0x7CDF) /* <CJK> */
-MAP(0x41, 0x6D, 0x7DCF) /* <CJK> */
-MAP(0x41, 0x6E, 0x7D9C) /* <CJK> */
-MAP(0x41, 0x6F, 0x8061) /* <CJK> */
-MAP(0x41, 0x70, 0x8349) /* <CJK> */
-MAP(0x41, 0x71, 0x8358) /* <CJK> */
-MAP(0x41, 0x72, 0x846C) /* <CJK> */
-MAP(0x41, 0x73, 0x84BC) /* <CJK> */
-MAP(0x41, 0x74, 0x85FB) /* <CJK> */
-MAP(0x41, 0x75, 0x88C5) /* <CJK> */
-MAP(0x41, 0x76, 0x8D70) /* <CJK> */
-MAP(0x41, 0x77, 0x9001) /* <CJK> */
-MAP(0x41, 0x78, 0x906D) /* <CJK> */
-MAP(0x41, 0x79, 0x9397) /* <CJK> */
-MAP(0x41, 0x7A, 0x971C) /* <CJK> */
-MAP(0x41, 0x7B, 0x9A12) /* <CJK> */
-MAP(0x41, 0x7C, 0x50CF) /* <CJK> */
-MAP(0x41, 0x7D, 0x5897) /* <CJK> */
-MAP(0x41, 0x7E, 0x618E) /* <CJK> */
-MAP(0x42, 0x21, 0x81D3) /* <CJK> */
-MAP(0x42, 0x22, 0x8535) /* <CJK> */
-MAP(0x42, 0x23, 0x8D08) /* <CJK> */
-MAP(0x42, 0x24, 0x9020) /* <CJK> */
-MAP(0x42, 0x25, 0x4FC3) /* <CJK> */
-MAP(0x42, 0x26, 0x5074) /* <CJK> */
-MAP(0x42, 0x27, 0x5247) /* <CJK> */
-MAP(0x42, 0x28, 0x5373) /* <CJK> */
-MAP(0x42, 0x29, 0x606F) /* <CJK> */
-MAP(0x42, 0x2A, 0x6349) /* <CJK> */
-MAP(0x42, 0x2B, 0x675F) /* <CJK> */
-MAP(0x42, 0x2C, 0x6E2C) /* <CJK> */
-MAP(0x42, 0x2D, 0x8DB3) /* <CJK> */
-MAP(0x42, 0x2E, 0x901F) /* <CJK> */
-MAP(0x42, 0x2F, 0x4FD7) /* <CJK> */
-MAP(0x42, 0x30, 0x5C5E) /* <CJK> */
-MAP(0x42, 0x31, 0x8CCA) /* <CJK> */
-MAP(0x42, 0x32, 0x65CF) /* <CJK> */
-MAP(0x42, 0x33, 0x7D9A) /* <CJK> */
-MAP(0x42, 0x34, 0x5352) /* <CJK> */
-MAP(0x42, 0x35, 0x8896) /* <CJK> */
-MAP(0x42, 0x36, 0x5176) /* <CJK> */
-MAP(0x42, 0x37, 0x63C3) /* <CJK> */
-MAP(0x42, 0x38, 0x5B58) /* <CJK> */
-MAP(0x42, 0x39, 0x5B6B) /* <CJK> */
-MAP(0x42, 0x3A, 0x5C0A) /* <CJK> */
-MAP(0x42, 0x3B, 0x640D) /* <CJK> */
-MAP(0x42, 0x3C, 0x6751) /* <CJK> */
-MAP(0x42, 0x3D, 0x905C) /* <CJK> */
-MAP(0x42, 0x3E, 0x4ED6) /* <CJK> */
-MAP(0x42, 0x3F, 0x591A) /* <CJK> */
-MAP(0x42, 0x40, 0x592A) /* <CJK> */
-MAP(0x42, 0x41, 0x6C70) /* <CJK> */
-MAP(0x42, 0x42, 0x8A51) /* <CJK> */
-MAP(0x42, 0x43, 0x553E) /* <CJK> */
-MAP(0x42, 0x44, 0x5815) /* <CJK> */
-MAP(0x42, 0x45, 0x59A5) /* <CJK> */
-MAP(0x42, 0x46, 0x60F0) /* <CJK> */
-MAP(0x42, 0x47, 0x6253) /* <CJK> */
-MAP(0x42, 0x48, 0x67C1) /* <CJK> */
-MAP(0x42, 0x49, 0x8235) /* <CJK> */
-MAP(0x42, 0x4A, 0x6955) /* <CJK> */
-MAP(0x42, 0x4B, 0x9640) /* <CJK> */
-MAP(0x42, 0x4C, 0x99C4) /* <CJK> */
-MAP(0x42, 0x4D, 0x9A28) /* <CJK> */
-MAP(0x42, 0x4E, 0x4F53) /* <CJK> */
-MAP(0x42, 0x4F, 0x5806) /* <CJK> */
-MAP(0x42, 0x50, 0x5BFE) /* <CJK> */
-MAP(0x42, 0x51, 0x8010) /* <CJK> */
-MAP(0x42, 0x52, 0x5CB1) /* <CJK> */
-MAP(0x42, 0x53, 0x5E2F) /* <CJK> */
-MAP(0x42, 0x54, 0x5F85) /* <CJK> */
-MAP(0x42, 0x55, 0x6020) /* <CJK> */
-MAP(0x42, 0x56, 0x614B) /* <CJK> */
-MAP(0x42, 0x57, 0x6234) /* <CJK> */
-MAP(0x42, 0x58, 0x66FF) /* <CJK> */
-MAP(0x42, 0x59, 0x6CF0) /* <CJK> */
-MAP(0x42, 0x5A, 0x6EDE) /* <CJK> */
-MAP(0x42, 0x5B, 0x80CE) /* <CJK> */
-MAP(0x42, 0x5C, 0x817F) /* <CJK> */
-MAP(0x42, 0x5D, 0x82D4) /* <CJK> */
-MAP(0x42, 0x5E, 0x888B) /* <CJK> */
-MAP(0x42, 0x5F, 0x8CB8) /* <CJK> */
-MAP(0x42, 0x60, 0x9000) /* <CJK> */
-MAP(0x42, 0x61, 0x902E) /* <CJK> */
-MAP(0x42, 0x62, 0x968A) /* <CJK> */
-MAP(0x42, 0x63, 0x9EDB) /* <CJK> */
-MAP(0x42, 0x64, 0x9BDB) /* <CJK> */
-MAP(0x42, 0x65, 0x4EE3) /* <CJK> */
-MAP(0x42, 0x66, 0x53F0) /* <CJK> */
-MAP(0x42, 0x67, 0x5927) /* <CJK> */
-MAP(0x42, 0x68, 0x7B2C) /* <CJK> */
-MAP(0x42, 0x69, 0x918D) /* <CJK> */
-MAP(0x42, 0x6A, 0x984C) /* <CJK> */
-MAP(0x42, 0x6B, 0x9DF9) /* <CJK> */
-MAP(0x42, 0x6C, 0x6EDD) /* <CJK> */
-MAP(0x42, 0x6D, 0x7027) /* <CJK> */
-MAP(0x42, 0x6E, 0x5353) /* <CJK> */
-MAP(0x42, 0x6F, 0x5544) /* <CJK> */
-MAP(0x42, 0x70, 0x5B85) /* <CJK> */
-MAP(0x42, 0x71, 0x6258) /* <CJK> */
-MAP(0x42, 0x72, 0x629E) /* <CJK> */
-MAP(0x42, 0x73, 0x62D3) /* <CJK> */
-MAP(0x42, 0x74, 0x6CA2) /* <CJK> */
-MAP(0x42, 0x75, 0x6FEF) /* <CJK> */
-MAP(0x42, 0x76, 0x7422) /* <CJK> */
-MAP(0x42, 0x77, 0x8A17) /* <CJK> */
-MAP(0x42, 0x78, 0x9438) /* <CJK> */
-MAP(0x42, 0x79, 0x6FC1) /* <CJK> */
-MAP(0x42, 0x7A, 0x8AFE) /* <CJK> */
-MAP(0x42, 0x7B, 0x8338) /* <CJK> */
-MAP(0x42, 0x7C, 0x51E7) /* <CJK> */
-MAP(0x42, 0x7D, 0x86F8) /* <CJK> */
-MAP(0x42, 0x7E, 0x53EA) /* <CJK> */
-MAP(0x43, 0x21, 0x53E9) /* <CJK> */
-MAP(0x43, 0x22, 0x4F46) /* <CJK> */
-MAP(0x43, 0x23, 0x9054) /* <CJK> */
-MAP(0x43, 0x24, 0x8FB0) /* <CJK> */
-MAP(0x43, 0x25, 0x596A) /* <CJK> */
-MAP(0x43, 0x26, 0x8131) /* <CJK> */
-MAP(0x43, 0x27, 0x5DFD) /* <CJK> */
-MAP(0x43, 0x28, 0x7AEA) /* <CJK> */
-MAP(0x43, 0x29, 0x8FBF) /* <CJK> */
-MAP(0x43, 0x2A, 0x68DA) /* <CJK> */
-MAP(0x43, 0x2B, 0x8C37) /* <CJK> */
-MAP(0x43, 0x2C, 0x72F8) /* <CJK> */
-MAP(0x43, 0x2D, 0x9C48) /* <CJK> */
-MAP(0x43, 0x2E, 0x6A3D) /* <CJK> */
-MAP(0x43, 0x2F, 0x8AB0) /* <CJK> */
-MAP(0x43, 0x30, 0x4E39) /* <CJK> */
-MAP(0x43, 0x31, 0x5358) /* <CJK> */
-MAP(0x43, 0x32, 0x5606) /* <CJK> */
-MAP(0x43, 0x33, 0x5766) /* <CJK> */
-MAP(0x43, 0x34, 0x62C5) /* <CJK> */
-MAP(0x43, 0x35, 0x63A2) /* <CJK> */
-MAP(0x43, 0x36, 0x65E6) /* <CJK> */
-MAP(0x43, 0x37, 0x6B4E) /* <CJK> */
-MAP(0x43, 0x38, 0x6DE1) /* <CJK> */
-MAP(0x43, 0x39, 0x6E5B) /* <CJK> */
-MAP(0x43, 0x3A, 0x70AD) /* <CJK> */
-MAP(0x43, 0x3B, 0x77ED) /* <CJK> */
-MAP(0x43, 0x3C, 0x7AEF) /* <CJK> */
-MAP(0x43, 0x3D, 0x7BAA) /* <CJK> */
-MAP(0x43, 0x3E, 0x7DBB) /* <CJK> */
-MAP(0x43, 0x3F, 0x803D) /* <CJK> */
-MAP(0x43, 0x40, 0x80C6) /* <CJK> */
-MAP(0x43, 0x41, 0x86CB) /* <CJK> */
-MAP(0x43, 0x42, 0x8A95) /* <CJK> */
-MAP(0x43, 0x43, 0x935B) /* <CJK> */
-MAP(0x43, 0x44, 0x56E3) /* <CJK> */
-MAP(0x43, 0x45, 0x58C7) /* <CJK> */
-MAP(0x43, 0x46, 0x5F3E) /* <CJK> */
-MAP(0x43, 0x47, 0x65AD) /* <CJK> */
-MAP(0x43, 0x48, 0x6696) /* <CJK> */
-MAP(0x43, 0x49, 0x6A80) /* <CJK> */
-MAP(0x43, 0x4A, 0x6BB5) /* <CJK> */
-MAP(0x43, 0x4B, 0x7537) /* <CJK> */
-MAP(0x43, 0x4C, 0x8AC7) /* <CJK> */
-MAP(0x43, 0x4D, 0x5024) /* <CJK> */
-MAP(0x43, 0x4E, 0x77E5) /* <CJK> */
-MAP(0x43, 0x4F, 0x5730) /* <CJK> */
-MAP(0x43, 0x50, 0x5F1B) /* <CJK> */
-MAP(0x43, 0x51, 0x6065) /* <CJK> */
-MAP(0x43, 0x52, 0x667A) /* <CJK> */
-MAP(0x43, 0x53, 0x6C60) /* <CJK> */
-MAP(0x43, 0x54, 0x75F4) /* <CJK> */
-MAP(0x43, 0x55, 0x7A1A) /* <CJK> */
-MAP(0x43, 0x56, 0x7F6E) /* <CJK> */
-MAP(0x43, 0x57, 0x81F4) /* <CJK> */
-MAP(0x43, 0x58, 0x8718) /* <CJK> */
-MAP(0x43, 0x59, 0x9045) /* <CJK> */
-MAP(0x43, 0x5A, 0x99B3) /* <CJK> */
-MAP(0x43, 0x5B, 0x7BC9) /* <CJK> */
-MAP(0x43, 0x5C, 0x755C) /* <CJK> */
-MAP(0x43, 0x5D, 0x7AF9) /* <CJK> */
-MAP(0x43, 0x5E, 0x7B51) /* <CJK> */
-MAP(0x43, 0x5F, 0x84C4) /* <CJK> */
-MAP(0x43, 0x60, 0x9010) /* <CJK> */
-MAP(0x43, 0x61, 0x79E9) /* <CJK> */
-MAP(0x43, 0x62, 0x7A92) /* <CJK> */
-MAP(0x43, 0x63, 0x8336) /* <CJK> */
-MAP(0x43, 0x64, 0x5AE1) /* <CJK> */
-MAP(0x43, 0x65, 0x7740) /* <CJK> */
-MAP(0x43, 0x66, 0x4E2D) /* <CJK> */
-MAP(0x43, 0x67, 0x4EF2) /* <CJK> */
-MAP(0x43, 0x68, 0x5B99) /* <CJK> */
-MAP(0x43, 0x69, 0x5FE0) /* <CJK> */
-MAP(0x43, 0x6A, 0x62BD) /* <CJK> */
-MAP(0x43, 0x6B, 0x663C) /* <CJK> */
-MAP(0x43, 0x6C, 0x67F1) /* <CJK> */
-MAP(0x43, 0x6D, 0x6CE8) /* <CJK> */
-MAP(0x43, 0x6E, 0x866B) /* <CJK> */
-MAP(0x43, 0x6F, 0x8877) /* <CJK> */
-MAP(0x43, 0x70, 0x8A3B) /* <CJK> */
-MAP(0x43, 0x71, 0x914E) /* <CJK> */
-MAP(0x43, 0x72, 0x92F3) /* <CJK> */
-MAP(0x43, 0x73, 0x99D0) /* <CJK> */
-MAP(0x43, 0x74, 0x6A17) /* <CJK> */
-MAP(0x43, 0x75, 0x7026) /* <CJK> */
-MAP(0x43, 0x76, 0x732A) /* <CJK> */
-MAP(0x43, 0x77, 0x82E7) /* <CJK> */
-MAP(0x43, 0x78, 0x8457) /* <CJK> */
-MAP(0x43, 0x79, 0x8CAF) /* <CJK> */
-MAP(0x43, 0x7A, 0x4E01) /* <CJK> */
-MAP(0x43, 0x7B, 0x5146) /* <CJK> */
-MAP(0x43, 0x7C, 0x51CB) /* <CJK> */
-MAP(0x43, 0x7D, 0x558B) /* <CJK> */
-MAP(0x43, 0x7E, 0x5BF5) /* <CJK> */
-MAP(0x44, 0x21, 0x5E16) /* <CJK> */
-MAP(0x44, 0x22, 0x5E33) /* <CJK> */
-MAP(0x44, 0x23, 0x5E81) /* <CJK> */
-MAP(0x44, 0x24, 0x5F14) /* <CJK> */
-MAP(0x44, 0x25, 0x5F35) /* <CJK> */
-MAP(0x44, 0x26, 0x5F6B) /* <CJK> */
-MAP(0x44, 0x27, 0x5FB4) /* <CJK> */
-MAP(0x44, 0x28, 0x61F2) /* <CJK> */
-MAP(0x44, 0x29, 0x6311) /* <CJK> */
-MAP(0x44, 0x2A, 0x66A2) /* <CJK> */
-MAP(0x44, 0x2B, 0x671D) /* <CJK> */
-MAP(0x44, 0x2C, 0x6F6E) /* <CJK> */
-MAP(0x44, 0x2D, 0x7252) /* <CJK> */
-MAP(0x44, 0x2E, 0x753A) /* <CJK> */
-MAP(0x44, 0x2F, 0x773A) /* <CJK> */
-MAP(0x44, 0x30, 0x8074) /* <CJK> */
-MAP(0x44, 0x31, 0x8139) /* <CJK> */
-MAP(0x44, 0x32, 0x8178) /* <CJK> */
-MAP(0x44, 0x33, 0x8776) /* <CJK> */
-MAP(0x44, 0x34, 0x8ABF) /* <CJK> */
-MAP(0x44, 0x35, 0x8ADC) /* <CJK> */
-MAP(0x44, 0x36, 0x8D85) /* <CJK> */
-MAP(0x44, 0x37, 0x8DF3) /* <CJK> */
-MAP(0x44, 0x38, 0x929A) /* <CJK> */
-MAP(0x44, 0x39, 0x9577) /* <CJK> */
-MAP(0x44, 0x3A, 0x9802) /* <CJK> */
-MAP(0x44, 0x3B, 0x9CE5) /* <CJK> */
-MAP(0x44, 0x3C, 0x52C5) /* <CJK> */
-MAP(0x44, 0x3D, 0x6357) /* <CJK> */
-MAP(0x44, 0x3E, 0x76F4) /* <CJK> */
-MAP(0x44, 0x3F, 0x6715) /* <CJK> */
-MAP(0x44, 0x40, 0x6C88) /* <CJK> */
-MAP(0x44, 0x41, 0x73CD) /* <CJK> */
-MAP(0x44, 0x42, 0x8CC3) /* <CJK> */
-MAP(0x44, 0x43, 0x93AE) /* <CJK> */
-MAP(0x44, 0x44, 0x9673) /* <CJK> */
-MAP(0x44, 0x45, 0x6D25) /* <CJK> */
-MAP(0x44, 0x46, 0x589C) /* <CJK> */
-MAP(0x44, 0x47, 0x690E) /* <CJK> */
-MAP(0x44, 0x48, 0x69CC) /* <CJK> */
-MAP(0x44, 0x49, 0x8FFD) /* <CJK> */
-MAP(0x44, 0x4A, 0x939A) /* <CJK> */
-MAP(0x44, 0x4B, 0x75DB) /* <CJK> */
-MAP(0x44, 0x4C, 0x901A) /* <CJK> */
-MAP(0x44, 0x4D, 0x585A) /* <CJK> */
-MAP(0x44, 0x4E, 0x6802) /* <CJK> */
-MAP(0x44, 0x4F, 0x63B4) /* <CJK> */
-MAP(0x44, 0x50, 0x69FB) /* <CJK> */
-MAP(0x44, 0x51, 0x4F43) /* <CJK> */
-MAP(0x44, 0x52, 0x6F2C) /* <CJK> */
-MAP(0x44, 0x53, 0x67D8) /* <CJK> */
-MAP(0x44, 0x54, 0x8FBB) /* <CJK> */
-MAP(0x44, 0x55, 0x8526) /* <CJK> */
-MAP(0x44, 0x56, 0x7DB4) /* <CJK> */
-MAP(0x44, 0x57, 0x9354) /* <CJK> */
-MAP(0x44, 0x58, 0x693F) /* <CJK> */
-MAP(0x44, 0x59, 0x6F70) /* <CJK> */
-MAP(0x44, 0x5A, 0x576A) /* <CJK> */
-MAP(0x44, 0x5B, 0x58F7) /* <CJK> */
-MAP(0x44, 0x5C, 0x5B2C) /* <CJK> */
-MAP(0x44, 0x5D, 0x7D2C) /* <CJK> */
-MAP(0x44, 0x5E, 0x722A) /* <CJK> */
-MAP(0x44, 0x5F, 0x540A) /* <CJK> */
-MAP(0x44, 0x60, 0x91E3) /* <CJK> */
-MAP(0x44, 0x61, 0x9DB4) /* <CJK> */
-MAP(0x44, 0x62, 0x4EAD) /* <CJK> */
-MAP(0x44, 0x63, 0x4F4E) /* <CJK> */
-MAP(0x44, 0x64, 0x505C) /* <CJK> */
-MAP(0x44, 0x65, 0x5075) /* <CJK> */
-MAP(0x44, 0x66, 0x5243) /* <CJK> */
-MAP(0x44, 0x67, 0x8C9E) /* <CJK> */
-MAP(0x44, 0x68, 0x5448) /* <CJK> */
-MAP(0x44, 0x69, 0x5824) /* <CJK> */
-MAP(0x44, 0x6A, 0x5B9A) /* <CJK> */
-MAP(0x44, 0x6B, 0x5E1D) /* <CJK> */
-MAP(0x44, 0x6C, 0x5E95) /* <CJK> */
-MAP(0x44, 0x6D, 0x5EAD) /* <CJK> */
-MAP(0x44, 0x6E, 0x5EF7) /* <CJK> */
-MAP(0x44, 0x6F, 0x5F1F) /* <CJK> */
-MAP(0x44, 0x70, 0x608C) /* <CJK> */
-MAP(0x44, 0x71, 0x62B5) /* <CJK> */
-MAP(0x44, 0x72, 0x633A) /* <CJK> */
-MAP(0x44, 0x73, 0x63D0) /* <CJK> */
-MAP(0x44, 0x74, 0x68AF) /* <CJK> */
-MAP(0x44, 0x75, 0x6C40) /* <CJK> */
-MAP(0x44, 0x76, 0x7887) /* <CJK> */
-MAP(0x44, 0x77, 0x798E) /* <CJK> */
-MAP(0x44, 0x78, 0x7A0B) /* <CJK> */
-MAP(0x44, 0x79, 0x7DE0) /* <CJK> */
-MAP(0x44, 0x7A, 0x8247) /* <CJK> */
-MAP(0x44, 0x7B, 0x8A02) /* <CJK> */
-MAP(0x44, 0x7C, 0x8AE6) /* <CJK> */
-MAP(0x44, 0x7D, 0x8E44) /* <CJK> */
-MAP(0x44, 0x7E, 0x9013) /* <CJK> */
-MAP(0x45, 0x21, 0x90B8) /* <CJK> */
-MAP(0x45, 0x22, 0x912D) /* <CJK> */
-MAP(0x45, 0x23, 0x91D8) /* <CJK> */
-MAP(0x45, 0x24, 0x9F0E) /* <CJK> */
-MAP(0x45, 0x25, 0x6CE5) /* <CJK> */
-MAP(0x45, 0x26, 0x6458) /* <CJK> */
-MAP(0x45, 0x27, 0x64E2) /* <CJK> */
-MAP(0x45, 0x28, 0x6575) /* <CJK> */
-MAP(0x45, 0x29, 0x6EF4) /* <CJK> */
-MAP(0x45, 0x2A, 0x7684) /* <CJK> */
-MAP(0x45, 0x2B, 0x7B1B) /* <CJK> */
-MAP(0x45, 0x2C, 0x9069) /* <CJK> */
-MAP(0x45, 0x2D, 0x93D1) /* <CJK> */
-MAP(0x45, 0x2E, 0x6EBA) /* <CJK> */
-MAP(0x45, 0x2F, 0x54F2) /* <CJK> */
-MAP(0x45, 0x30, 0x5FB9) /* <CJK> */
-MAP(0x45, 0x31, 0x64A4) /* <CJK> */
-MAP(0x45, 0x32, 0x8F4D) /* <CJK> */
-MAP(0x45, 0x33, 0x8FED) /* <CJK> */
-MAP(0x45, 0x34, 0x9244) /* <CJK> */
-MAP(0x45, 0x35, 0x5178) /* <CJK> */
-MAP(0x45, 0x36, 0x586B) /* <CJK> */
-MAP(0x45, 0x37, 0x5929) /* <CJK> */
-MAP(0x45, 0x38, 0x5C55) /* <CJK> */
-MAP(0x45, 0x39, 0x5E97) /* <CJK> */
-MAP(0x45, 0x3A, 0x6DFB) /* <CJK> */
-MAP(0x45, 0x3B, 0x7E8F) /* <CJK> */
-MAP(0x45, 0x3C, 0x751C) /* <CJK> */
-MAP(0x45, 0x3D, 0x8CBC) /* <CJK> */
-MAP(0x45, 0x3E, 0x8EE2) /* <CJK> */
-MAP(0x45, 0x3F, 0x985B) /* <CJK> */
-MAP(0x45, 0x40, 0x70B9) /* <CJK> */
-MAP(0x45, 0x41, 0x4F1D) /* <CJK> */
-MAP(0x45, 0x42, 0x6BBF) /* <CJK> */
-MAP(0x45, 0x43, 0x6FB1) /* <CJK> */
-MAP(0x45, 0x44, 0x7530) /* <CJK> */
-MAP(0x45, 0x45, 0x96FB) /* <CJK> */
-MAP(0x45, 0x46, 0x514E) /* <CJK> */
-MAP(0x45, 0x47, 0x5410) /* <CJK> */
-MAP(0x45, 0x48, 0x5835) /* <CJK> */
-MAP(0x45, 0x49, 0x5857) /* <CJK> */
-MAP(0x45, 0x4A, 0x59AC) /* <CJK> */
-MAP(0x45, 0x4B, 0x5C60) /* <CJK> */
-MAP(0x45, 0x4C, 0x5F92) /* <CJK> */
-MAP(0x45, 0x4D, 0x6597) /* <CJK> */
-MAP(0x45, 0x4E, 0x675C) /* <CJK> */
-MAP(0x45, 0x4F, 0x6E21) /* <CJK> */
-MAP(0x45, 0x50, 0x767B) /* <CJK> */
-MAP(0x45, 0x51, 0x83DF) /* <CJK> */
-MAP(0x45, 0x52, 0x8CED) /* <CJK> */
-MAP(0x45, 0x53, 0x9014) /* <CJK> */
-MAP(0x45, 0x54, 0x90FD) /* <CJK> */
-MAP(0x45, 0x55, 0x934D) /* <CJK> */
-MAP(0x45, 0x56, 0x7825) /* <CJK> */
-MAP(0x45, 0x57, 0x783A) /* <CJK> */
-MAP(0x45, 0x58, 0x52AA) /* <CJK> */
-MAP(0x45, 0x59, 0x5EA6) /* <CJK> */
-MAP(0x45, 0x5A, 0x571F) /* <CJK> */
-MAP(0x45, 0x5B, 0x5974) /* <CJK> */
-MAP(0x45, 0x5C, 0x6012) /* <CJK> */
-MAP(0x45, 0x5D, 0x5012) /* <CJK> */
-MAP(0x45, 0x5E, 0x515A) /* <CJK> */
-MAP(0x45, 0x5F, 0x51AC) /* <CJK> */
-MAP(0x45, 0x60, 0x51CD) /* <CJK> */
-MAP(0x45, 0x61, 0x5200) /* <CJK> */
-MAP(0x45, 0x62, 0x5510) /* <CJK> */
-MAP(0x45, 0x63, 0x5854) /* <CJK> */
-MAP(0x45, 0x64, 0x5858) /* <CJK> */
-MAP(0x45, 0x65, 0x5957) /* <CJK> */
-MAP(0x45, 0x66, 0x5B95) /* <CJK> */
-MAP(0x45, 0x67, 0x5CF6) /* <CJK> */
-MAP(0x45, 0x68, 0x5D8B) /* <CJK> */
-MAP(0x45, 0x69, 0x60BC) /* <CJK> */
-MAP(0x45, 0x6A, 0x6295) /* <CJK> */
-MAP(0x45, 0x6B, 0x642D) /* <CJK> */
-MAP(0x45, 0x6C, 0x6771) /* <CJK> */
-MAP(0x45, 0x6D, 0x6843) /* <CJK> */
-MAP(0x45, 0x6E, 0x68BC) /* <CJK> */
-MAP(0x45, 0x6F, 0x68DF) /* <CJK> */
-MAP(0x45, 0x70, 0x76D7) /* <CJK> */
-MAP(0x45, 0x71, 0x6DD8) /* <CJK> */
-MAP(0x45, 0x72, 0x6E6F) /* <CJK> */
-MAP(0x45, 0x73, 0x6D9B) /* <CJK> */
-MAP(0x45, 0x74, 0x706F) /* <CJK> */
-MAP(0x45, 0x75, 0x71C8) /* <CJK> */
-MAP(0x45, 0x76, 0x5F53) /* <CJK> */
-MAP(0x45, 0x77, 0x75D8) /* <CJK> */
-MAP(0x45, 0x78, 0x7977) /* <CJK> */
-MAP(0x45, 0x79, 0x7B49) /* <CJK> */
-MAP(0x45, 0x7A, 0x7B54) /* <CJK> */
-MAP(0x45, 0x7B, 0x7B52) /* <CJK> */
-MAP(0x45, 0x7C, 0x7CD6) /* <CJK> */
-MAP(0x45, 0x7D, 0x7D71) /* <CJK> */
-MAP(0x45, 0x7E, 0x5230) /* <CJK> */
-MAP(0x46, 0x21, 0x8463) /* <CJK> */
-MAP(0x46, 0x22, 0x8569) /* <CJK> */
-MAP(0x46, 0x23, 0x85E4) /* <CJK> */
-MAP(0x46, 0x24, 0x8A0E) /* <CJK> */
-MAP(0x46, 0x25, 0x8B04) /* <CJK> */
-MAP(0x46, 0x26, 0x8C46) /* <CJK> */
-MAP(0x46, 0x27, 0x8E0F) /* <CJK> */
-MAP(0x46, 0x28, 0x9003) /* <CJK> */
-MAP(0x46, 0x29, 0x900F) /* <CJK> */
-MAP(0x46, 0x2A, 0x9419) /* <CJK> */
-MAP(0x46, 0x2B, 0x9676) /* <CJK> */
-MAP(0x46, 0x2C, 0x982D) /* <CJK> */
-MAP(0x46, 0x2D, 0x9A30) /* <CJK> */
-MAP(0x46, 0x2E, 0x95D8) /* <CJK> */
-MAP(0x46, 0x2F, 0x50CD) /* <CJK> */
-MAP(0x46, 0x30, 0x52D5) /* <CJK> */
-MAP(0x46, 0x31, 0x540C) /* <CJK> */
-MAP(0x46, 0x32, 0x5802) /* <CJK> */
-MAP(0x46, 0x33, 0x5C0E) /* <CJK> */
-MAP(0x46, 0x34, 0x61A7) /* <CJK> */
-MAP(0x46, 0x35, 0x649E) /* <CJK> */
-MAP(0x46, 0x36, 0x6D1E) /* <CJK> */
-MAP(0x46, 0x37, 0x77B3) /* <CJK> */
-MAP(0x46, 0x38, 0x7AE5) /* <CJK> */
-MAP(0x46, 0x39, 0x80F4) /* <CJK> */
-MAP(0x46, 0x3A, 0x8404) /* <CJK> */
-MAP(0x46, 0x3B, 0x9053) /* <CJK> */
-MAP(0x46, 0x3C, 0x9285) /* <CJK> */
-MAP(0x46, 0x3D, 0x5CE0) /* <CJK> */
-MAP(0x46, 0x3E, 0x9D07) /* <CJK> */
-MAP(0x46, 0x3F, 0x533F) /* <CJK> */
-MAP(0x46, 0x40, 0x5F97) /* <CJK> */
-MAP(0x46, 0x41, 0x5FB3) /* <CJK> */
-MAP(0x46, 0x42, 0x6D9C) /* <CJK> */
-MAP(0x46, 0x43, 0x7279) /* <CJK> */
-MAP(0x46, 0x44, 0x7763) /* <CJK> */
-MAP(0x46, 0x45, 0x79BF) /* <CJK> */
-MAP(0x46, 0x46, 0x7BE4) /* <CJK> */
-MAP(0x46, 0x47, 0x6BD2) /* <CJK> */
-MAP(0x46, 0x48, 0x72EC) /* <CJK> */
-MAP(0x46, 0x49, 0x8AAD) /* <CJK> */
-MAP(0x46, 0x4A, 0x6803) /* <CJK> */
-MAP(0x46, 0x4B, 0x6A61) /* <CJK> */
-MAP(0x46, 0x4C, 0x51F8) /* <CJK> */
-MAP(0x46, 0x4D, 0x7A81) /* <CJK> */
-MAP(0x46, 0x4E, 0x6934) /* <CJK> */
-MAP(0x46, 0x4F, 0x5C4A) /* <CJK> */
-MAP(0x46, 0x50, 0x9CF6) /* <CJK> */
-MAP(0x46, 0x51, 0x82EB) /* <CJK> */
-MAP(0x46, 0x52, 0x5BC5) /* <CJK> */
-MAP(0x46, 0x53, 0x9149) /* <CJK> */
-MAP(0x46, 0x54, 0x701E) /* <CJK> */
-MAP(0x46, 0x55, 0x5678) /* <CJK> */
-MAP(0x46, 0x56, 0x5C6F) /* <CJK> */
-MAP(0x46, 0x57, 0x60C7) /* <CJK> */
-MAP(0x46, 0x58, 0x6566) /* <CJK> */
-MAP(0x46, 0x59, 0x6C8C) /* <CJK> */
-MAP(0x46, 0x5A, 0x8C5A) /* <CJK> */
-MAP(0x46, 0x5B, 0x9041) /* <CJK> */
-MAP(0x46, 0x5C, 0x9813) /* <CJK> */
-MAP(0x46, 0x5D, 0x5451) /* <CJK> */
-MAP(0x46, 0x5E, 0x66C7) /* <CJK> */
-MAP(0x46, 0x5F, 0x920D) /* <CJK> */
-MAP(0x46, 0x60, 0x5948) /* <CJK> */
-MAP(0x46, 0x61, 0x90A3) /* <CJK> */
-MAP(0x46, 0x62, 0x5185) /* <CJK> */
-MAP(0x46, 0x63, 0x4E4D) /* <CJK> */
-MAP(0x46, 0x64, 0x51EA) /* <CJK> */
-MAP(0x46, 0x65, 0x8599) /* <CJK> */
-MAP(0x46, 0x66, 0x8B0E) /* <CJK> */
-MAP(0x46, 0x67, 0x7058) /* <CJK> */
-MAP(0x46, 0x68, 0x637A) /* <CJK> */
-MAP(0x46, 0x69, 0x934B) /* <CJK> */
-MAP(0x46, 0x6A, 0x6962) /* <CJK> */
-MAP(0x46, 0x6B, 0x99B4) /* <CJK> */
-MAP(0x46, 0x6C, 0x7E04) /* <CJK> */
-MAP(0x46, 0x6D, 0x7577) /* <CJK> */
-MAP(0x46, 0x6E, 0x5357) /* <CJK> */
-MAP(0x46, 0x6F, 0x6960) /* <CJK> */
-MAP(0x46, 0x70, 0x8EDF) /* <CJK> */
-MAP(0x46, 0x71, 0x96E3) /* <CJK> */
-MAP(0x46, 0x72, 0x6C5D) /* <CJK> */
-MAP(0x46, 0x73, 0x4E8C) /* <CJK> */
-MAP(0x46, 0x74, 0x5C3C) /* <CJK> */
-MAP(0x46, 0x75, 0x5F10) /* <CJK> */
-MAP(0x46, 0x76, 0x8FE9) /* <CJK> */
-MAP(0x46, 0x77, 0x5302) /* <CJK> */
-MAP(0x46, 0x78, 0x8CD1) /* <CJK> */
-MAP(0x46, 0x79, 0x8089) /* <CJK> */
-MAP(0x46, 0x7A, 0x8679) /* <CJK> */
-MAP(0x46, 0x7B, 0x5EFF) /* <CJK> */
-MAP(0x46, 0x7C, 0x65E5) /* <CJK> */
-MAP(0x46, 0x7D, 0x4E73) /* <CJK> */
-MAP(0x46, 0x7E, 0x5165) /* <CJK> */
-MAP(0x47, 0x21, 0x5982) /* <CJK> */
-MAP(0x47, 0x22, 0x5C3F) /* <CJK> */
-MAP(0x47, 0x23, 0x97EE) /* <CJK> */
-MAP(0x47, 0x24, 0x4EFB) /* <CJK> */
-MAP(0x47, 0x25, 0x598A) /* <CJK> */
-MAP(0x47, 0x26, 0x5FCD) /* <CJK> */
-MAP(0x47, 0x27, 0x8A8D) /* <CJK> */
-MAP(0x47, 0x28, 0x6FE1) /* <CJK> */
-MAP(0x47, 0x29, 0x79B0) /* <CJK> */
-MAP(0x47, 0x2A, 0x7962) /* <CJK> */
-MAP(0x47, 0x2B, 0x5BE7) /* <CJK> */
-MAP(0x47, 0x2C, 0x8471) /* <CJK> */
-MAP(0x47, 0x2D, 0x732B) /* <CJK> */
-MAP(0x47, 0x2E, 0x71B1) /* <CJK> */
-MAP(0x47, 0x2F, 0x5E74) /* <CJK> */
-MAP(0x47, 0x30, 0x5FF5) /* <CJK> */
-MAP(0x47, 0x31, 0x637B) /* <CJK> */
-MAP(0x47, 0x32, 0x649A) /* <CJK> */
-MAP(0x47, 0x33, 0x71C3) /* <CJK> */
-MAP(0x47, 0x34, 0x7C98) /* <CJK> */
-MAP(0x47, 0x35, 0x4E43) /* <CJK> */
-MAP(0x47, 0x36, 0x5EFC) /* <CJK> */
-MAP(0x47, 0x37, 0x4E4B) /* <CJK> */
-MAP(0x47, 0x38, 0x57DC) /* <CJK> */
-MAP(0x47, 0x39, 0x56A2) /* <CJK> */
-MAP(0x47, 0x3A, 0x60A9) /* <CJK> */
-MAP(0x47, 0x3B, 0x6FC3) /* <CJK> */
-MAP(0x47, 0x3C, 0x7D0D) /* <CJK> */
-MAP(0x47, 0x3D, 0x80FD) /* <CJK> */
-MAP(0x47, 0x3E, 0x8133) /* <CJK> */
-MAP(0x47, 0x3F, 0x81BF) /* <CJK> */
-MAP(0x47, 0x40, 0x8FB2) /* <CJK> */
-MAP(0x47, 0x41, 0x8997) /* <CJK> */
-MAP(0x47, 0x42, 0x86A4) /* <CJK> */
-MAP(0x47, 0x43, 0x5DF4) /* <CJK> */
-MAP(0x47, 0x44, 0x628A) /* <CJK> */
-MAP(0x47, 0x45, 0x64AD) /* <CJK> */
-MAP(0x47, 0x46, 0x8987) /* <CJK> */
-MAP(0x47, 0x47, 0x6777) /* <CJK> */
-MAP(0x47, 0x48, 0x6CE2) /* <CJK> */
-MAP(0x47, 0x49, 0x6D3E) /* <CJK> */
-MAP(0x47, 0x4A, 0x7436) /* <CJK> */
-MAP(0x47, 0x4B, 0x7834) /* <CJK> */
-MAP(0x47, 0x4C, 0x5A46) /* <CJK> */
-MAP(0x47, 0x4D, 0x7F75) /* <CJK> */
-MAP(0x47, 0x4E, 0x82AD) /* <CJK> */
-MAP(0x47, 0x4F, 0x99AC) /* <CJK> */
-MAP(0x47, 0x50, 0x4FF3) /* <CJK> */
-MAP(0x47, 0x51, 0x5EC3) /* <CJK> */
-MAP(0x47, 0x52, 0x62DD) /* <CJK> */
-MAP(0x47, 0x53, 0x6392) /* <CJK> */
-MAP(0x47, 0x54, 0x6557) /* <CJK> */
-MAP(0x47, 0x55, 0x676F) /* <CJK> */
-MAP(0x47, 0x56, 0x76C3) /* <CJK> */
-MAP(0x47, 0x57, 0x724C) /* <CJK> */
-MAP(0x47, 0x58, 0x80CC) /* <CJK> */
-MAP(0x47, 0x59, 0x80BA) /* <CJK> */
-MAP(0x47, 0x5A, 0x8F29) /* <CJK> */
-MAP(0x47, 0x5B, 0x914D) /* <CJK> */
-MAP(0x47, 0x5C, 0x500D) /* <CJK> */
-MAP(0x47, 0x5D, 0x57F9) /* <CJK> */
-MAP(0x47, 0x5E, 0x5A92) /* <CJK> */
-MAP(0x47, 0x5F, 0x6885) /* <CJK> */
-MAP(0x47, 0x60, 0x6973) /* <CJK> */
-MAP(0x47, 0x61, 0x7164) /* <CJK> */
-MAP(0x47, 0x62, 0x72FD) /* <CJK> */
-MAP(0x47, 0x63, 0x8CB7) /* <CJK> */
-MAP(0x47, 0x64, 0x58F2) /* <CJK> */
-MAP(0x47, 0x65, 0x8CE0) /* <CJK> */
-MAP(0x47, 0x66, 0x966A) /* <CJK> */
-MAP(0x47, 0x67, 0x9019) /* <CJK> */
-MAP(0x47, 0x68, 0x877F) /* <CJK> */
-MAP(0x47, 0x69, 0x79E4) /* <CJK> */
-MAP(0x47, 0x6A, 0x77E7) /* <CJK> */
-MAP(0x47, 0x6B, 0x8429) /* <CJK> */
-MAP(0x47, 0x6C, 0x4F2F) /* <CJK> */
-MAP(0x47, 0x6D, 0x5265) /* <CJK> */
-MAP(0x47, 0x6E, 0x535A) /* <CJK> */
-MAP(0x47, 0x6F, 0x62CD) /* <CJK> */
-MAP(0x47, 0x70, 0x67CF) /* <CJK> */
-MAP(0x47, 0x71, 0x6CCA) /* <CJK> */
-MAP(0x47, 0x72, 0x767D) /* <CJK> */
-MAP(0x47, 0x73, 0x7B94) /* <CJK> */
-MAP(0x47, 0x74, 0x7C95) /* <CJK> */
-MAP(0x47, 0x75, 0x8236) /* <CJK> */
-MAP(0x47, 0x76, 0x8584) /* <CJK> */
-MAP(0x47, 0x77, 0x8FEB) /* <CJK> */
-MAP(0x47, 0x78, 0x66DD) /* <CJK> */
-MAP(0x47, 0x79, 0x6F20) /* <CJK> */
-MAP(0x47, 0x7A, 0x7206) /* <CJK> */
-MAP(0x47, 0x7B, 0x7E1B) /* <CJK> */
-MAP(0x47, 0x7C, 0x83AB) /* <CJK> */
-MAP(0x47, 0x7D, 0x99C1) /* <CJK> */
-MAP(0x47, 0x7E, 0x9EA6) /* <CJK> */
-MAP(0x48, 0x21, 0x51FD) /* <CJK> */
-MAP(0x48, 0x22, 0x7BB1) /* <CJK> */
-MAP(0x48, 0x23, 0x7872) /* <CJK> */
-MAP(0x48, 0x24, 0x7BB8) /* <CJK> */
-MAP(0x48, 0x25, 0x8087) /* <CJK> */
-MAP(0x48, 0x26, 0x7B48) /* <CJK> */
-MAP(0x48, 0x27, 0x6AE8) /* <CJK> */
-MAP(0x48, 0x28, 0x5E61) /* <CJK> */
-MAP(0x48, 0x29, 0x808C) /* <CJK> */
-MAP(0x48, 0x2A, 0x7551) /* <CJK> */
-MAP(0x48, 0x2B, 0x7560) /* <CJK> */
-MAP(0x48, 0x2C, 0x516B) /* <CJK> */
-MAP(0x48, 0x2D, 0x9262) /* <CJK> */
-MAP(0x48, 0x2E, 0x6E8C) /* <CJK> */
-MAP(0x48, 0x2F, 0x767A) /* <CJK> */
-MAP(0x48, 0x30, 0x9197) /* <CJK> */
-MAP(0x48, 0x31, 0x9AEA) /* <CJK> */
-MAP(0x48, 0x32, 0x4F10) /* <CJK> */
-MAP(0x48, 0x33, 0x7F70) /* <CJK> */
-MAP(0x48, 0x34, 0x629C) /* <CJK> */
-MAP(0x48, 0x35, 0x7B4F) /* <CJK> */
-MAP(0x48, 0x36, 0x95A5) /* <CJK> */
-MAP(0x48, 0x37, 0x9CE9) /* <CJK> */
-MAP(0x48, 0x38, 0x567A) /* <CJK> */
-MAP(0x48, 0x39, 0x5859) /* <CJK> */
-MAP(0x48, 0x3A, 0x86E4) /* <CJK> */
-MAP(0x48, 0x3B, 0x96BC) /* <CJK> */
-MAP(0x48, 0x3C, 0x4F34) /* <CJK> */
-MAP(0x48, 0x3D, 0x5224) /* <CJK> */
-MAP(0x48, 0x3E, 0x534A) /* <CJK> */
-MAP(0x48, 0x3F, 0x53CD) /* <CJK> */
-MAP(0x48, 0x40, 0x53DB) /* <CJK> */
-MAP(0x48, 0x41, 0x5E06) /* <CJK> */
-MAP(0x48, 0x42, 0x642C) /* <CJK> */
-MAP(0x48, 0x43, 0x6591) /* <CJK> */
-MAP(0x48, 0x44, 0x677F) /* <CJK> */
-MAP(0x48, 0x45, 0x6C3E) /* <CJK> */
-MAP(0x48, 0x46, 0x6C4E) /* <CJK> */
-MAP(0x48, 0x47, 0x7248) /* <CJK> */
-MAP(0x48, 0x48, 0x72AF) /* <CJK> */
-MAP(0x48, 0x49, 0x73ED) /* <CJK> */
-MAP(0x48, 0x4A, 0x7554) /* <CJK> */
-MAP(0x48, 0x4B, 0x7E41) /* <CJK> */
-MAP(0x48, 0x4C, 0x822C) /* <CJK> */
-MAP(0x48, 0x4D, 0x85E9) /* <CJK> */
-MAP(0x48, 0x4E, 0x8CA9) /* <CJK> */
-MAP(0x48, 0x4F, 0x7BC4) /* <CJK> */
-MAP(0x48, 0x50, 0x91C6) /* <CJK> */
-MAP(0x48, 0x51, 0x7169) /* <CJK> */
-MAP(0x48, 0x52, 0x9812) /* <CJK> */
-MAP(0x48, 0x53, 0x98EF) /* <CJK> */
-MAP(0x48, 0x54, 0x633D) /* <CJK> */
-MAP(0x48, 0x55, 0x6669) /* <CJK> */
-MAP(0x48, 0x56, 0x756A) /* <CJK> */
-MAP(0x48, 0x57, 0x76E4) /* <CJK> */
-MAP(0x48, 0x58, 0x78D0) /* <CJK> */
-MAP(0x48, 0x59, 0x8543) /* <CJK> */
-MAP(0x48, 0x5A, 0x86EE) /* <CJK> */
-MAP(0x48, 0x5B, 0x532A) /* <CJK> */
-MAP(0x48, 0x5C, 0x5351) /* <CJK> */
-MAP(0x48, 0x5D, 0x5426) /* <CJK> */
-MAP(0x48, 0x5E, 0x5983) /* <CJK> */
-MAP(0x48, 0x5F, 0x5E87) /* <CJK> */
-MAP(0x48, 0x60, 0x5F7C) /* <CJK> */
-MAP(0x48, 0x61, 0x60B2) /* <CJK> */
-MAP(0x48, 0x62, 0x6249) /* <CJK> */
-MAP(0x48, 0x63, 0x6279) /* <CJK> */
-MAP(0x48, 0x64, 0x62AB) /* <CJK> */
-MAP(0x48, 0x65, 0x6590) /* <CJK> */
-MAP(0x48, 0x66, 0x6BD4) /* <CJK> */
-MAP(0x48, 0x67, 0x6CCC) /* <CJK> */
-MAP(0x48, 0x68, 0x75B2) /* <CJK> */
-MAP(0x48, 0x69, 0x76AE) /* <CJK> */
-MAP(0x48, 0x6A, 0x7891) /* <CJK> */
-MAP(0x48, 0x6B, 0x79D8) /* <CJK> */
-MAP(0x48, 0x6C, 0x7DCB) /* <CJK> */
-MAP(0x48, 0x6D, 0x7F77) /* <CJK> */
-MAP(0x48, 0x6E, 0x80A5) /* <CJK> */
-MAP(0x48, 0x6F, 0x88AB) /* <CJK> */
-MAP(0x48, 0x70, 0x8AB9) /* <CJK> */
-MAP(0x48, 0x71, 0x8CBB) /* <CJK> */
-MAP(0x48, 0x72, 0x907F) /* <CJK> */
-MAP(0x48, 0x73, 0x975E) /* <CJK> */
-MAP(0x48, 0x74, 0x98DB) /* <CJK> */
-MAP(0x48, 0x75, 0x6A0B) /* <CJK> */
-MAP(0x48, 0x76, 0x7C38) /* <CJK> */
-MAP(0x48, 0x77, 0x5099) /* <CJK> */
-MAP(0x48, 0x78, 0x5C3E) /* <CJK> */
-MAP(0x48, 0x79, 0x5FAE) /* <CJK> */
-MAP(0x48, 0x7A, 0x6787) /* <CJK> */
-MAP(0x48, 0x7B, 0x6BD8) /* <CJK> */
-MAP(0x48, 0x7C, 0x7435) /* <CJK> */
-MAP(0x48, 0x7D, 0x7709) /* <CJK> */
-MAP(0x48, 0x7E, 0x7F8E) /* <CJK> */
-MAP(0x49, 0x21, 0x9F3B) /* <CJK> */
-MAP(0x49, 0x22, 0x67CA) /* <CJK> */
-MAP(0x49, 0x23, 0x7A17) /* <CJK> */
-MAP(0x49, 0x24, 0x5339) /* <CJK> */
-MAP(0x49, 0x25, 0x758B) /* <CJK> */
-MAP(0x49, 0x26, 0x9AED) /* <CJK> */
-MAP(0x49, 0x27, 0x5F66) /* <CJK> */
-MAP(0x49, 0x28, 0x819D) /* <CJK> */
-MAP(0x49, 0x29, 0x83F1) /* <CJK> */
-MAP(0x49, 0x2A, 0x8098) /* <CJK> */
-MAP(0x49, 0x2B, 0x5F3C) /* <CJK> */
-MAP(0x49, 0x2C, 0x5FC5) /* <CJK> */
-MAP(0x49, 0x2D, 0x7562) /* <CJK> */
-MAP(0x49, 0x2E, 0x7B46) /* <CJK> */
-MAP(0x49, 0x2F, 0x903C) /* <CJK> */
-MAP(0x49, 0x30, 0x6867) /* <CJK> */
-MAP(0x49, 0x31, 0x59EB) /* <CJK> */
-MAP(0x49, 0x32, 0x5A9B) /* <CJK> */
-MAP(0x49, 0x33, 0x7D10) /* <CJK> */
-MAP(0x49, 0x34, 0x767E) /* <CJK> */
-MAP(0x49, 0x35, 0x8B2C) /* <CJK> */
-MAP(0x49, 0x36, 0x4FF5) /* <CJK> */
-MAP(0x49, 0x37, 0x5F6A) /* <CJK> */
-MAP(0x49, 0x38, 0x6A19) /* <CJK> */
-MAP(0x49, 0x39, 0x6C37) /* <CJK> */
-MAP(0x49, 0x3A, 0x6F02) /* <CJK> */
-MAP(0x49, 0x3B, 0x74E2) /* <CJK> */
-MAP(0x49, 0x3C, 0x7968) /* <CJK> */
-MAP(0x49, 0x3D, 0x8868) /* <CJK> */
-MAP(0x49, 0x3E, 0x8A55) /* <CJK> */
-MAP(0x49, 0x3F, 0x8C79) /* <CJK> */
-MAP(0x49, 0x40, 0x5EDF) /* <CJK> */
-MAP(0x49, 0x41, 0x63CF) /* <CJK> */
-MAP(0x49, 0x42, 0x75C5) /* <CJK> */
-MAP(0x49, 0x43, 0x79D2) /* <CJK> */
-MAP(0x49, 0x44, 0x82D7) /* <CJK> */
-MAP(0x49, 0x45, 0x9328) /* <CJK> */
-MAP(0x49, 0x46, 0x92F2) /* <CJK> */
-MAP(0x49, 0x47, 0x849C) /* <CJK> */
-MAP(0x49, 0x48, 0x86ED) /* <CJK> */
-MAP(0x49, 0x49, 0x9C2D) /* <CJK> */
-MAP(0x49, 0x4A, 0x54C1) /* <CJK> */
-MAP(0x49, 0x4B, 0x5F6C) /* <CJK> */
-MAP(0x49, 0x4C, 0x658C) /* <CJK> */
-MAP(0x49, 0x4D, 0x6D5C) /* <CJK> */
-MAP(0x49, 0x4E, 0x7015) /* <CJK> */
-MAP(0x49, 0x4F, 0x8CA7) /* <CJK> */
-MAP(0x49, 0x50, 0x8CD3) /* <CJK> */
-MAP(0x49, 0x51, 0x983B) /* <CJK> */
-MAP(0x49, 0x52, 0x654F) /* <CJK> */
-MAP(0x49, 0x53, 0x74F6) /* <CJK> */
-MAP(0x49, 0x54, 0x4E0D) /* <CJK> */
-MAP(0x49, 0x55, 0x4ED8) /* <CJK> */
-MAP(0x49, 0x56, 0x57E0) /* <CJK> */
-MAP(0x49, 0x57, 0x592B) /* <CJK> */
-MAP(0x49, 0x58, 0x5A66) /* <CJK> */
-MAP(0x49, 0x59, 0x5BCC) /* <CJK> */
-MAP(0x49, 0x5A, 0x51A8) /* <CJK> */
-MAP(0x49, 0x5B, 0x5E03) /* <CJK> */
-MAP(0x49, 0x5C, 0x5E9C) /* <CJK> */
-MAP(0x49, 0x5D, 0x6016) /* <CJK> */
-MAP(0x49, 0x5E, 0x6276) /* <CJK> */
-MAP(0x49, 0x5F, 0x6577) /* <CJK> */
-MAP(0x49, 0x60, 0x65A7) /* <CJK> */
-MAP(0x49, 0x61, 0x666E) /* <CJK> */
-MAP(0x49, 0x62, 0x6D6E) /* <CJK> */
-MAP(0x49, 0x63, 0x7236) /* <CJK> */
-MAP(0x49, 0x64, 0x7B26) /* <CJK> */
-MAP(0x49, 0x65, 0x8150) /* <CJK> */
-MAP(0x49, 0x66, 0x819A) /* <CJK> */
-MAP(0x49, 0x67, 0x8299) /* <CJK> */
-MAP(0x49, 0x68, 0x8B5C) /* <CJK> */
-MAP(0x49, 0x69, 0x8CA0) /* <CJK> */
-MAP(0x49, 0x6A, 0x8CE6) /* <CJK> */
-MAP(0x49, 0x6B, 0x8D74) /* <CJK> */
-MAP(0x49, 0x6C, 0x961C) /* <CJK> */
-MAP(0x49, 0x6D, 0x9644) /* <CJK> */
-MAP(0x49, 0x6E, 0x4FAE) /* <CJK> */
-MAP(0x49, 0x6F, 0x64AB) /* <CJK> */
-MAP(0x49, 0x70, 0x6B66) /* <CJK> */
-MAP(0x49, 0x71, 0x821E) /* <CJK> */
-MAP(0x49, 0x72, 0x8461) /* <CJK> */
-MAP(0x49, 0x73, 0x856A) /* <CJK> */
-MAP(0x49, 0x74, 0x90E8) /* <CJK> */
-MAP(0x49, 0x75, 0x5C01) /* <CJK> */
-MAP(0x49, 0x76, 0x6953) /* <CJK> */
-MAP(0x49, 0x77, 0x98A8) /* <CJK> */
-MAP(0x49, 0x78, 0x847A) /* <CJK> */
-MAP(0x49, 0x79, 0x8557) /* <CJK> */
-MAP(0x49, 0x7A, 0x4F0F) /* <CJK> */
-MAP(0x49, 0x7B, 0x526F) /* <CJK> */
-MAP(0x49, 0x7C, 0x5FA9) /* <CJK> */
-MAP(0x49, 0x7D, 0x5E45) /* <CJK> */
-MAP(0x49, 0x7E, 0x670D) /* <CJK> */
-MAP(0x4A, 0x21, 0x798F) /* <CJK> */
-MAP(0x4A, 0x22, 0x8179) /* <CJK> */
-MAP(0x4A, 0x23, 0x8907) /* <CJK> */
-MAP(0x4A, 0x24, 0x8986) /* <CJK> */
-MAP(0x4A, 0x25, 0x6DF5) /* <CJK> */
-MAP(0x4A, 0x26, 0x5F17) /* <CJK> */
-MAP(0x4A, 0x27, 0x6255) /* <CJK> */
-MAP(0x4A, 0x28, 0x6CB8) /* <CJK> */
-MAP(0x4A, 0x29, 0x4ECF) /* <CJK> */
-MAP(0x4A, 0x2A, 0x7269) /* <CJK> */
-MAP(0x4A, 0x2B, 0x9B92) /* <CJK> */
-MAP(0x4A, 0x2C, 0x5206) /* <CJK> */
-MAP(0x4A, 0x2D, 0x543B) /* <CJK> */
-MAP(0x4A, 0x2E, 0x5674) /* <CJK> */
-MAP(0x4A, 0x2F, 0x58B3) /* <CJK> */
-MAP(0x4A, 0x30, 0x61A4) /* <CJK> */
-MAP(0x4A, 0x31, 0x626E) /* <CJK> */
-MAP(0x4A, 0x32, 0x711A) /* <CJK> */
-MAP(0x4A, 0x33, 0x596E) /* <CJK> */
-MAP(0x4A, 0x34, 0x7C89) /* <CJK> */
-MAP(0x4A, 0x35, 0x7CDE) /* <CJK> */
-MAP(0x4A, 0x36, 0x7D1B) /* <CJK> */
-MAP(0x4A, 0x37, 0x96F0) /* <CJK> */
-MAP(0x4A, 0x38, 0x6587) /* <CJK> */
-MAP(0x4A, 0x39, 0x805E) /* <CJK> */
-MAP(0x4A, 0x3A, 0x4E19) /* <CJK> */
-MAP(0x4A, 0x3B, 0x4F75) /* <CJK> */
-MAP(0x4A, 0x3C, 0x5175) /* <CJK> */
-MAP(0x4A, 0x3D, 0x5840) /* <CJK> */
-MAP(0x4A, 0x3E, 0x5E63) /* <CJK> */
-MAP(0x4A, 0x3F, 0x5E73) /* <CJK> */
-MAP(0x4A, 0x40, 0x5F0A) /* <CJK> */
-MAP(0x4A, 0x41, 0x67C4) /* <CJK> */
-MAP(0x4A, 0x42, 0x4E26) /* <CJK> */
-MAP(0x4A, 0x43, 0x853D) /* <CJK> */
-MAP(0x4A, 0x44, 0x9589) /* <CJK> */
-MAP(0x4A, 0x45, 0x965B) /* <CJK> */
-MAP(0x4A, 0x46, 0x7C73) /* <CJK> */
-MAP(0x4A, 0x47, 0x9801) /* <CJK> */
-MAP(0x4A, 0x48, 0x50FB) /* <CJK> */
-MAP(0x4A, 0x49, 0x58C1) /* <CJK> */
-MAP(0x4A, 0x4A, 0x7656) /* <CJK> */
-MAP(0x4A, 0x4B, 0x78A7) /* <CJK> */
-MAP(0x4A, 0x4C, 0x5225) /* <CJK> */
-MAP(0x4A, 0x4D, 0x77A5) /* <CJK> */
-MAP(0x4A, 0x4E, 0x8511) /* <CJK> */
-MAP(0x4A, 0x4F, 0x7B86) /* <CJK> */
-MAP(0x4A, 0x50, 0x504F) /* <CJK> */
-MAP(0x4A, 0x51, 0x5909) /* <CJK> */
-MAP(0x4A, 0x52, 0x7247) /* <CJK> */
-MAP(0x4A, 0x53, 0x7BC7) /* <CJK> */
-MAP(0x4A, 0x54, 0x7DE8) /* <CJK> */
-MAP(0x4A, 0x55, 0x8FBA) /* <CJK> */
-MAP(0x4A, 0x56, 0x8FD4) /* <CJK> */
-MAP(0x4A, 0x57, 0x904D) /* <CJK> */
-MAP(0x4A, 0x58, 0x4FBF) /* <CJK> */
-MAP(0x4A, 0x59, 0x52C9) /* <CJK> */
-MAP(0x4A, 0x5A, 0x5A29) /* <CJK> */
-MAP(0x4A, 0x5B, 0x5F01) /* <CJK> */
-MAP(0x4A, 0x5C, 0x97AD) /* <CJK> */
-MAP(0x4A, 0x5D, 0x4FDD) /* <CJK> */
-MAP(0x4A, 0x5E, 0x8217) /* <CJK> */
-MAP(0x4A, 0x5F, 0x92EA) /* <CJK> */
-MAP(0x4A, 0x60, 0x5703) /* <CJK> */
-MAP(0x4A, 0x61, 0x6355) /* <CJK> */
-MAP(0x4A, 0x62, 0x6B69) /* <CJK> */
-MAP(0x4A, 0x63, 0x752B) /* <CJK> */
-MAP(0x4A, 0x64, 0x88DC) /* <CJK> */
-MAP(0x4A, 0x65, 0x8F14) /* <CJK> */
-MAP(0x4A, 0x66, 0x7A42) /* <CJK> */
-MAP(0x4A, 0x67, 0x52DF) /* <CJK> */
-MAP(0x4A, 0x68, 0x5893) /* <CJK> */
-MAP(0x4A, 0x69, 0x6155) /* <CJK> */
-MAP(0x4A, 0x6A, 0x620A) /* <CJK> */
-MAP(0x4A, 0x6B, 0x66AE) /* <CJK> */
-MAP(0x4A, 0x6C, 0x6BCD) /* <CJK> */
-MAP(0x4A, 0x6D, 0x7C3F) /* <CJK> */
-MAP(0x4A, 0x6E, 0x83E9) /* <CJK> */
-MAP(0x4A, 0x6F, 0x5023) /* <CJK> */
-MAP(0x4A, 0x70, 0x4FF8) /* <CJK> */
-MAP(0x4A, 0x71, 0x5305) /* <CJK> */
-MAP(0x4A, 0x72, 0x5446) /* <CJK> */
-MAP(0x4A, 0x73, 0x5831) /* <CJK> */
-MAP(0x4A, 0x74, 0x5949) /* <CJK> */
-MAP(0x4A, 0x75, 0x5B9D) /* <CJK> */
-MAP(0x4A, 0x76, 0x5CF0) /* <CJK> */
-MAP(0x4A, 0x77, 0x5CEF) /* <CJK> */
-MAP(0x4A, 0x78, 0x5D29) /* <CJK> */
-MAP(0x4A, 0x79, 0x5E96) /* <CJK> */
-MAP(0x4A, 0x7A, 0x62B1) /* <CJK> */
-MAP(0x4A, 0x7B, 0x6367) /* <CJK> */
-MAP(0x4A, 0x7C, 0x653E) /* <CJK> */
-MAP(0x4A, 0x7D, 0x65B9) /* <CJK> */
-MAP(0x4A, 0x7E, 0x670B) /* <CJK> */
-MAP(0x4B, 0x21, 0x6CD5) /* <CJK> */
-MAP(0x4B, 0x22, 0x6CE1) /* <CJK> */
-MAP(0x4B, 0x23, 0x70F9) /* <CJK> */
-MAP(0x4B, 0x24, 0x7832) /* <CJK> */
-MAP(0x4B, 0x25, 0x7E2B) /* <CJK> */
-MAP(0x4B, 0x26, 0x80DE) /* <CJK> */
-MAP(0x4B, 0x27, 0x82B3) /* <CJK> */
-MAP(0x4B, 0x28, 0x840C) /* <CJK> */
-MAP(0x4B, 0x29, 0x84EC) /* <CJK> */
-MAP(0x4B, 0x2A, 0x8702) /* <CJK> */
-MAP(0x4B, 0x2B, 0x8912) /* <CJK> */
-MAP(0x4B, 0x2C, 0x8A2A) /* <CJK> */
-MAP(0x4B, 0x2D, 0x8C4A) /* <CJK> */
-MAP(0x4B, 0x2E, 0x90A6) /* <CJK> */
-MAP(0x4B, 0x2F, 0x92D2) /* <CJK> */
-MAP(0x4B, 0x30, 0x98FD) /* <CJK> */
-MAP(0x4B, 0x31, 0x9CF3) /* <CJK> */
-MAP(0x4B, 0x32, 0x9D6C) /* <CJK> */
-MAP(0x4B, 0x33, 0x4E4F) /* <CJK> */
-MAP(0x4B, 0x34, 0x4EA1) /* <CJK> */
-MAP(0x4B, 0x35, 0x508D) /* <CJK> */
-MAP(0x4B, 0x36, 0x5256) /* <CJK> */
-MAP(0x4B, 0x37, 0x574A) /* <CJK> */
-MAP(0x4B, 0x38, 0x59A8) /* <CJK> */
-MAP(0x4B, 0x39, 0x5E3D) /* <CJK> */
-MAP(0x4B, 0x3A, 0x5FD8) /* <CJK> */
-MAP(0x4B, 0x3B, 0x5FD9) /* <CJK> */
-MAP(0x4B, 0x3C, 0x623F) /* <CJK> */
-MAP(0x4B, 0x3D, 0x66B4) /* <CJK> */
-MAP(0x4B, 0x3E, 0x671B) /* <CJK> */
-MAP(0x4B, 0x3F, 0x67D0) /* <CJK> */
-MAP(0x4B, 0x40, 0x68D2) /* <CJK> */
-MAP(0x4B, 0x41, 0x5192) /* <CJK> */
-MAP(0x4B, 0x42, 0x7D21) /* <CJK> */
-MAP(0x4B, 0x43, 0x80AA) /* <CJK> */
-MAP(0x4B, 0x44, 0x81A8) /* <CJK> */
-MAP(0x4B, 0x45, 0x8B00) /* <CJK> */
-MAP(0x4B, 0x46, 0x8C8C) /* <CJK> */
-MAP(0x4B, 0x47, 0x8CBF) /* <CJK> */
-MAP(0x4B, 0x48, 0x927E) /* <CJK> */
-MAP(0x4B, 0x49, 0x9632) /* <CJK> */
-MAP(0x4B, 0x4A, 0x5420) /* <CJK> */
-MAP(0x4B, 0x4B, 0x982C) /* <CJK> */
-MAP(0x4B, 0x4C, 0x5317) /* <CJK> */
-MAP(0x4B, 0x4D, 0x50D5) /* <CJK> */
-MAP(0x4B, 0x4E, 0x535C) /* <CJK> */
-MAP(0x4B, 0x4F, 0x58A8) /* <CJK> */
-MAP(0x4B, 0x50, 0x64B2) /* <CJK> */
-MAP(0x4B, 0x51, 0x6734) /* <CJK> */
-MAP(0x4B, 0x52, 0x7267) /* <CJK> */
-MAP(0x4B, 0x53, 0x7766) /* <CJK> */
-MAP(0x4B, 0x54, 0x7A46) /* <CJK> */
-MAP(0x4B, 0x55, 0x91E6) /* <CJK> */
-MAP(0x4B, 0x56, 0x52C3) /* <CJK> */
-MAP(0x4B, 0x57, 0x6CA1) /* <CJK> */
-MAP(0x4B, 0x58, 0x6B86) /* <CJK> */
-MAP(0x4B, 0x59, 0x5800) /* <CJK> */
-MAP(0x4B, 0x5A, 0x5E4C) /* <CJK> */
-MAP(0x4B, 0x5B, 0x5954) /* <CJK> */
-MAP(0x4B, 0x5C, 0x672C) /* <CJK> */
-MAP(0x4B, 0x5D, 0x7FFB) /* <CJK> */
-MAP(0x4B, 0x5E, 0x51E1) /* <CJK> */
-MAP(0x4B, 0x5F, 0x76C6) /* <CJK> */
-MAP(0x4B, 0x60, 0x6469) /* <CJK> */
-MAP(0x4B, 0x61, 0x78E8) /* <CJK> */
-MAP(0x4B, 0x62, 0x9B54) /* <CJK> */
-MAP(0x4B, 0x63, 0x9EBB) /* <CJK> */
-MAP(0x4B, 0x64, 0x57CB) /* <CJK> */
-MAP(0x4B, 0x65, 0x59B9) /* <CJK> */
-MAP(0x4B, 0x66, 0x6627) /* <CJK> */
-MAP(0x4B, 0x67, 0x679A) /* <CJK> */
-MAP(0x4B, 0x68, 0x6BCE) /* <CJK> */
-MAP(0x4B, 0x69, 0x54E9) /* <CJK> */
-MAP(0x4B, 0x6A, 0x69D9) /* <CJK> */
-MAP(0x4B, 0x6B, 0x5E55) /* <CJK> */
-MAP(0x4B, 0x6C, 0x819C) /* <CJK> */
-MAP(0x4B, 0x6D, 0x6795) /* <CJK> */
-MAP(0x4B, 0x6E, 0x9BAA) /* <CJK> */
-MAP(0x4B, 0x6F, 0x67FE) /* <CJK> */
-MAP(0x4B, 0x70, 0x9C52) /* <CJK> */
-MAP(0x4B, 0x71, 0x685D) /* <CJK> */
-MAP(0x4B, 0x72, 0x4EA6) /* <CJK> */
-MAP(0x4B, 0x73, 0x4FE3) /* <CJK> */
-MAP(0x4B, 0x74, 0x53C8) /* <CJK> */
-MAP(0x4B, 0x75, 0x62B9) /* <CJK> */
-MAP(0x4B, 0x76, 0x672B) /* <CJK> */
-MAP(0x4B, 0x77, 0x6CAB) /* <CJK> */
-MAP(0x4B, 0x78, 0x8FC4) /* <CJK> */
-MAP(0x4B, 0x79, 0x4FAD) /* <CJK> */
-MAP(0x4B, 0x7A, 0x7E6D) /* <CJK> */
-MAP(0x4B, 0x7B, 0x9EBF) /* <CJK> */
-MAP(0x4B, 0x7C, 0x4E07) /* <CJK> */
-MAP(0x4B, 0x7D, 0x6162) /* <CJK> */
-MAP(0x4B, 0x7E, 0x6E80) /* <CJK> */
-MAP(0x4C, 0x21, 0x6F2B) /* <CJK> */
-MAP(0x4C, 0x22, 0x8513) /* <CJK> */
-MAP(0x4C, 0x23, 0x5473) /* <CJK> */
-MAP(0x4C, 0x24, 0x672A) /* <CJK> */
-MAP(0x4C, 0x25, 0x9B45) /* <CJK> */
-MAP(0x4C, 0x26, 0x5DF3) /* <CJK> */
-MAP(0x4C, 0x27, 0x7B95) /* <CJK> */
-MAP(0x4C, 0x28, 0x5CAC) /* <CJK> */
-MAP(0x4C, 0x29, 0x5BC6) /* <CJK> */
-MAP(0x4C, 0x2A, 0x871C) /* <CJK> */
-MAP(0x4C, 0x2B, 0x6E4A) /* <CJK> */
-MAP(0x4C, 0x2C, 0x84D1) /* <CJK> */
-MAP(0x4C, 0x2D, 0x7A14) /* <CJK> */
-MAP(0x4C, 0x2E, 0x8108) /* <CJK> */
-MAP(0x4C, 0x2F, 0x5999) /* <CJK> */
-MAP(0x4C, 0x30, 0x7C8D) /* <CJK> */
-MAP(0x4C, 0x31, 0x6C11) /* <CJK> */
-MAP(0x4C, 0x32, 0x7720) /* <CJK> */
-MAP(0x4C, 0x33, 0x52D9) /* <CJK> */
-MAP(0x4C, 0x34, 0x5922) /* <CJK> */
-MAP(0x4C, 0x35, 0x7121) /* <CJK> */
-MAP(0x4C, 0x36, 0x725F) /* <CJK> */
-MAP(0x4C, 0x37, 0x77DB) /* <CJK> */
-MAP(0x4C, 0x38, 0x9727) /* <CJK> */
-MAP(0x4C, 0x39, 0x9D61) /* <CJK> */
-MAP(0x4C, 0x3A, 0x690B) /* <CJK> */
-MAP(0x4C, 0x3B, 0x5A7F) /* <CJK> */
-MAP(0x4C, 0x3C, 0x5A18) /* <CJK> */
-MAP(0x4C, 0x3D, 0x51A5) /* <CJK> */
-MAP(0x4C, 0x3E, 0x540D) /* <CJK> */
-MAP(0x4C, 0x3F, 0x547D) /* <CJK> */
-MAP(0x4C, 0x40, 0x660E) /* <CJK> */
-MAP(0x4C, 0x41, 0x76DF) /* <CJK> */
-MAP(0x4C, 0x42, 0x8FF7) /* <CJK> */
-MAP(0x4C, 0x43, 0x9298) /* <CJK> */
-MAP(0x4C, 0x44, 0x9CF4) /* <CJK> */
-MAP(0x4C, 0x45, 0x59EA) /* <CJK> */
-MAP(0x4C, 0x46, 0x725D) /* <CJK> */
-MAP(0x4C, 0x47, 0x6EC5) /* <CJK> */
-MAP(0x4C, 0x48, 0x514D) /* <CJK> */
-MAP(0x4C, 0x49, 0x68C9) /* <CJK> */
-MAP(0x4C, 0x4A, 0x7DBF) /* <CJK> */
-MAP(0x4C, 0x4B, 0x7DEC) /* <CJK> */
-MAP(0x4C, 0x4C, 0x9762) /* <CJK> */
-MAP(0x4C, 0x4D, 0x9EBA) /* <CJK> */
-MAP(0x4C, 0x4E, 0x6478) /* <CJK> */
-MAP(0x4C, 0x4F, 0x6A21) /* <CJK> */
-MAP(0x4C, 0x50, 0x8302) /* <CJK> */
-MAP(0x4C, 0x51, 0x5984) /* <CJK> */
-MAP(0x4C, 0x52, 0x5B5F) /* <CJK> */
-MAP(0x4C, 0x53, 0x6BDB) /* <CJK> */
-MAP(0x4C, 0x54, 0x731B) /* <CJK> */
-MAP(0x4C, 0x55, 0x76F2) /* <CJK> */
-MAP(0x4C, 0x56, 0x7DB2) /* <CJK> */
-MAP(0x4C, 0x57, 0x8017) /* <CJK> */
-MAP(0x4C, 0x58, 0x8499) /* <CJK> */
-MAP(0x4C, 0x59, 0x5132) /* <CJK> */
-MAP(0x4C, 0x5A, 0x6728) /* <CJK> */
-MAP(0x4C, 0x5B, 0x9ED9) /* <CJK> */
-MAP(0x4C, 0x5C, 0x76EE) /* <CJK> */
-MAP(0x4C, 0x5D, 0x6762) /* <CJK> */
-MAP(0x4C, 0x5E, 0x52FF) /* <CJK> */
-MAP(0x4C, 0x5F, 0x9905) /* <CJK> */
-MAP(0x4C, 0x60, 0x5C24) /* <CJK> */
-MAP(0x4C, 0x61, 0x623B) /* <CJK> */
-MAP(0x4C, 0x62, 0x7C7E) /* <CJK> */
-MAP(0x4C, 0x63, 0x8CB0) /* <CJK> */
-MAP(0x4C, 0x64, 0x554F) /* <CJK> */
-MAP(0x4C, 0x65, 0x60B6) /* <CJK> */
-MAP(0x4C, 0x66, 0x7D0B) /* <CJK> */
-MAP(0x4C, 0x67, 0x9580) /* <CJK> */
-MAP(0x4C, 0x68, 0x5301) /* <CJK> */
-MAP(0x4C, 0x69, 0x4E5F) /* <CJK> */
-MAP(0x4C, 0x6A, 0x51B6) /* <CJK> */
-MAP(0x4C, 0x6B, 0x591C) /* <CJK> */
-MAP(0x4C, 0x6C, 0x723A) /* <CJK> */
-MAP(0x4C, 0x6D, 0x8036) /* <CJK> */
-MAP(0x4C, 0x6E, 0x91CE) /* <CJK> */
-MAP(0x4C, 0x6F, 0x5F25) /* <CJK> */
-MAP(0x4C, 0x70, 0x77E2) /* <CJK> */
-MAP(0x4C, 0x71, 0x5384) /* <CJK> */
-MAP(0x4C, 0x72, 0x5F79) /* <CJK> */
-MAP(0x4C, 0x73, 0x7D04) /* <CJK> */
-MAP(0x4C, 0x74, 0x85AC) /* <CJK> */
-MAP(0x4C, 0x75, 0x8A33) /* <CJK> */
-MAP(0x4C, 0x76, 0x8E8D) /* <CJK> */
-MAP(0x4C, 0x77, 0x9756) /* <CJK> */
-MAP(0x4C, 0x78, 0x67F3) /* <CJK> */
-MAP(0x4C, 0x79, 0x85AE) /* <CJK> */
-MAP(0x4C, 0x7A, 0x9453) /* <CJK> */
-MAP(0x4C, 0x7B, 0x6109) /* <CJK> */
-MAP(0x4C, 0x7C, 0x6108) /* <CJK> */
-MAP(0x4C, 0x7D, 0x6CB9) /* <CJK> */
-MAP(0x4C, 0x7E, 0x7652) /* <CJK> */
-MAP(0x4D, 0x21, 0x8AED) /* <CJK> */
-MAP(0x4D, 0x22, 0x8F38) /* <CJK> */
-MAP(0x4D, 0x23, 0x552F) /* <CJK> */
-MAP(0x4D, 0x24, 0x4F51) /* <CJK> */
-MAP(0x4D, 0x25, 0x512A) /* <CJK> */
-MAP(0x4D, 0x26, 0x52C7) /* <CJK> */
-MAP(0x4D, 0x27, 0x53CB) /* <CJK> */
-MAP(0x4D, 0x28, 0x5BA5) /* <CJK> */
-MAP(0x4D, 0x29, 0x5E7D) /* <CJK> */
-MAP(0x4D, 0x2A, 0x60A0) /* <CJK> */
-MAP(0x4D, 0x2B, 0x6182) /* <CJK> */
-MAP(0x4D, 0x2C, 0x63D6) /* <CJK> */
-MAP(0x4D, 0x2D, 0x6709) /* <CJK> */
-MAP(0x4D, 0x2E, 0x67DA) /* <CJK> */
-MAP(0x4D, 0x2F, 0x6E67) /* <CJK> */
-MAP(0x4D, 0x30, 0x6D8C) /* <CJK> */
-MAP(0x4D, 0x31, 0x7336) /* <CJK> */
-MAP(0x4D, 0x32, 0x7337) /* <CJK> */
-MAP(0x4D, 0x33, 0x7531) /* <CJK> */
-MAP(0x4D, 0x34, 0x7950) /* <CJK> */
-MAP(0x4D, 0x35, 0x88D5) /* <CJK> */
-MAP(0x4D, 0x36, 0x8A98) /* <CJK> */
-MAP(0x4D, 0x37, 0x904A) /* <CJK> */
-MAP(0x4D, 0x38, 0x9091) /* <CJK> */
-MAP(0x4D, 0x39, 0x90F5) /* <CJK> */
-MAP(0x4D, 0x3A, 0x96C4) /* <CJK> */
-MAP(0x4D, 0x3B, 0x878D) /* <CJK> */
-MAP(0x4D, 0x3C, 0x5915) /* <CJK> */
-MAP(0x4D, 0x3D, 0x4E88) /* <CJK> */
-MAP(0x4D, 0x3E, 0x4F59) /* <CJK> */
-MAP(0x4D, 0x3F, 0x4E0E) /* <CJK> */
-MAP(0x4D, 0x40, 0x8A89) /* <CJK> */
-MAP(0x4D, 0x41, 0x8F3F) /* <CJK> */
-MAP(0x4D, 0x42, 0x9810) /* <CJK> */
-MAP(0x4D, 0x43, 0x50AD) /* <CJK> */
-MAP(0x4D, 0x44, 0x5E7C) /* <CJK> */
-MAP(0x4D, 0x45, 0x5996) /* <CJK> */
-MAP(0x4D, 0x46, 0x5BB9) /* <CJK> */
-MAP(0x4D, 0x47, 0x5EB8) /* <CJK> */
-MAP(0x4D, 0x48, 0x63DA) /* <CJK> */
-MAP(0x4D, 0x49, 0x63FA) /* <CJK> */
-MAP(0x4D, 0x4A, 0x64C1) /* <CJK> */
-MAP(0x4D, 0x4B, 0x66DC) /* <CJK> */
-MAP(0x4D, 0x4C, 0x694A) /* <CJK> */
-MAP(0x4D, 0x4D, 0x69D8) /* <CJK> */
-MAP(0x4D, 0x4E, 0x6D0B) /* <CJK> */
-MAP(0x4D, 0x4F, 0x6EB6) /* <CJK> */
-MAP(0x4D, 0x50, 0x7194) /* <CJK> */
-MAP(0x4D, 0x51, 0x7528) /* <CJK> */
-MAP(0x4D, 0x52, 0x7AAF) /* <CJK> */
-MAP(0x4D, 0x53, 0x7F8A) /* <CJK> */
-MAP(0x4D, 0x54, 0x8000) /* <CJK> */
-MAP(0x4D, 0x55, 0x8449) /* <CJK> */
-MAP(0x4D, 0x56, 0x84C9) /* <CJK> */
-MAP(0x4D, 0x57, 0x8981) /* <CJK> */
-MAP(0x4D, 0x58, 0x8B21) /* <CJK> */
-MAP(0x4D, 0x59, 0x8E0A) /* <CJK> */
-MAP(0x4D, 0x5A, 0x9065) /* <CJK> */
-MAP(0x4D, 0x5B, 0x967D) /* <CJK> */
-MAP(0x4D, 0x5C, 0x990A) /* <CJK> */
-MAP(0x4D, 0x5D, 0x617E) /* <CJK> */
-MAP(0x4D, 0x5E, 0x6291) /* <CJK> */
-MAP(0x4D, 0x5F, 0x6B32) /* <CJK> */
-MAP(0x4D, 0x60, 0x6C83) /* <CJK> */
-MAP(0x4D, 0x61, 0x6D74) /* <CJK> */
-MAP(0x4D, 0x62, 0x7FCC) /* <CJK> */
-MAP(0x4D, 0x63, 0x7FFC) /* <CJK> */
-MAP(0x4D, 0x64, 0x6DC0) /* <CJK> */
-MAP(0x4D, 0x65, 0x7F85) /* <CJK> */
-MAP(0x4D, 0x66, 0x87BA) /* <CJK> */
-MAP(0x4D, 0x67, 0x88F8) /* <CJK> */
-MAP(0x4D, 0x68, 0x6765) /* <CJK> */
-MAP(0x4D, 0x69, 0x83B1) /* <CJK> */
-MAP(0x4D, 0x6A, 0x983C) /* <CJK> */
-MAP(0x4D, 0x6B, 0x96F7) /* <CJK> */
-MAP(0x4D, 0x6C, 0x6D1B) /* <CJK> */
-MAP(0x4D, 0x6D, 0x7D61) /* <CJK> */
-MAP(0x4D, 0x6E, 0x843D) /* <CJK> */
-MAP(0x4D, 0x6F, 0x916A) /* <CJK> */
-MAP(0x4D, 0x70, 0x4E71) /* <CJK> */
-MAP(0x4D, 0x71, 0x5375) /* <CJK> */
-MAP(0x4D, 0x72, 0x5D50) /* <CJK> */
-MAP(0x4D, 0x73, 0x6B04) /* <CJK> */
-MAP(0x4D, 0x74, 0x6FEB) /* <CJK> */
-MAP(0x4D, 0x75, 0x85CD) /* <CJK> */
-MAP(0x4D, 0x76, 0x862D) /* <CJK> */
-MAP(0x4D, 0x77, 0x89A7) /* <CJK> */
-MAP(0x4D, 0x78, 0x5229) /* <CJK> */
-MAP(0x4D, 0x79, 0x540F) /* <CJK> */
-MAP(0x4D, 0x7A, 0x5C65) /* <CJK> */
-MAP(0x4D, 0x7B, 0x674E) /* <CJK> */
-MAP(0x4D, 0x7C, 0x68A8) /* <CJK> */
-MAP(0x4D, 0x7D, 0x7406) /* <CJK> */
-MAP(0x4D, 0x7E, 0x7483) /* <CJK> */
-MAP(0x4E, 0x21, 0x75E2) /* <CJK> */
-MAP(0x4E, 0x22, 0x88CF) /* <CJK> */
-MAP(0x4E, 0x23, 0x88E1) /* <CJK> */
-MAP(0x4E, 0x24, 0x91CC) /* <CJK> */
-MAP(0x4E, 0x25, 0x96E2) /* <CJK> */
-MAP(0x4E, 0x26, 0x9678) /* <CJK> */
-MAP(0x4E, 0x27, 0x5F8B) /* <CJK> */
-MAP(0x4E, 0x28, 0x7387) /* <CJK> */
-MAP(0x4E, 0x29, 0x7ACB) /* <CJK> */
-MAP(0x4E, 0x2A, 0x844E) /* <CJK> */
-MAP(0x4E, 0x2B, 0x63A0) /* <CJK> */
-MAP(0x4E, 0x2C, 0x7565) /* <CJK> */
-MAP(0x4E, 0x2D, 0x5289) /* <CJK> */
-MAP(0x4E, 0x2E, 0x6D41) /* <CJK> */
-MAP(0x4E, 0x2F, 0x6E9C) /* <CJK> */
-MAP(0x4E, 0x30, 0x7409) /* <CJK> */
-MAP(0x4E, 0x31, 0x7559) /* <CJK> */
-MAP(0x4E, 0x32, 0x786B) /* <CJK> */
-MAP(0x4E, 0x33, 0x7C92) /* <CJK> */
-MAP(0x4E, 0x34, 0x9686) /* <CJK> */
-MAP(0x4E, 0x35, 0x7ADC) /* <CJK> */
-MAP(0x4E, 0x36, 0x9F8D) /* <CJK> */
-MAP(0x4E, 0x37, 0x4FB6) /* <CJK> */
-MAP(0x4E, 0x38, 0x616E) /* <CJK> */
-MAP(0x4E, 0x39, 0x65C5) /* <CJK> */
-MAP(0x4E, 0x3A, 0x865C) /* <CJK> */
-MAP(0x4E, 0x3B, 0x4E86) /* <CJK> */
-MAP(0x4E, 0x3C, 0x4EAE) /* <CJK> */
-MAP(0x4E, 0x3D, 0x50DA) /* <CJK> */
-MAP(0x4E, 0x3E, 0x4E21) /* <CJK> */
-MAP(0x4E, 0x3F, 0x51CC) /* <CJK> */
-MAP(0x4E, 0x40, 0x5BEE) /* <CJK> */
-MAP(0x4E, 0x41, 0x6599) /* <CJK> */
-MAP(0x4E, 0x42, 0x6881) /* <CJK> */
-MAP(0x4E, 0x43, 0x6DBC) /* <CJK> */
-MAP(0x4E, 0x44, 0x731F) /* <CJK> */
-MAP(0x4E, 0x45, 0x7642) /* <CJK> */
-MAP(0x4E, 0x46, 0x77AD) /* <CJK> */
-MAP(0x4E, 0x47, 0x7A1C) /* <CJK> */
-MAP(0x4E, 0x48, 0x7CE7) /* <CJK> */
-MAP(0x4E, 0x49, 0x826F) /* <CJK> */
-MAP(0x4E, 0x4A, 0x8AD2) /* <CJK> */
-MAP(0x4E, 0x4B, 0x907C) /* <CJK> */
-MAP(0x4E, 0x4C, 0x91CF) /* <CJK> */
-MAP(0x4E, 0x4D, 0x9675) /* <CJK> */
-MAP(0x4E, 0x4E, 0x9818) /* <CJK> */
-MAP(0x4E, 0x4F, 0x529B) /* <CJK> */
-MAP(0x4E, 0x50, 0x7DD1) /* <CJK> */
-MAP(0x4E, 0x51, 0x502B) /* <CJK> */
-MAP(0x4E, 0x52, 0x5398) /* <CJK> */
-MAP(0x4E, 0x53, 0x6797) /* <CJK> */
-MAP(0x4E, 0x54, 0x6DCB) /* <CJK> */
-MAP(0x4E, 0x55, 0x71D0) /* <CJK> */
-MAP(0x4E, 0x56, 0x7433) /* <CJK> */
-MAP(0x4E, 0x57, 0x81E8) /* <CJK> */
-MAP(0x4E, 0x58, 0x8F2A) /* <CJK> */
-MAP(0x4E, 0x59, 0x96A3) /* <CJK> */
-MAP(0x4E, 0x5A, 0x9C57) /* <CJK> */
-MAP(0x4E, 0x5B, 0x9E9F) /* <CJK> */
-MAP(0x4E, 0x5C, 0x7460) /* <CJK> */
-MAP(0x4E, 0x5D, 0x5841) /* <CJK> */
-MAP(0x4E, 0x5E, 0x6D99) /* <CJK> */
-MAP(0x4E, 0x5F, 0x7D2F) /* <CJK> */
-MAP(0x4E, 0x60, 0x985E) /* <CJK> */
-MAP(0x4E, 0x61, 0x4EE4) /* <CJK> */
-MAP(0x4E, 0x62, 0x4F36) /* <CJK> */
-MAP(0x4E, 0x63, 0x4F8B) /* <CJK> */
-MAP(0x4E, 0x64, 0x51B7) /* <CJK> */
-MAP(0x4E, 0x65, 0x52B1) /* <CJK> */
-MAP(0x4E, 0x66, 0x5DBA) /* <CJK> */
-MAP(0x4E, 0x67, 0x601C) /* <CJK> */
-MAP(0x4E, 0x68, 0x73B2) /* <CJK> */
-MAP(0x4E, 0x69, 0x793C) /* <CJK> */
-MAP(0x4E, 0x6A, 0x82D3) /* <CJK> */
-MAP(0x4E, 0x6B, 0x9234) /* <CJK> */
-MAP(0x4E, 0x6C, 0x96B7) /* <CJK> */
-MAP(0x4E, 0x6D, 0x96F6) /* <CJK> */
-MAP(0x4E, 0x6E, 0x970A) /* <CJK> */
-MAP(0x4E, 0x6F, 0x9E97) /* <CJK> */
-MAP(0x4E, 0x70, 0x9F62) /* <CJK> */
-MAP(0x4E, 0x71, 0x66A6) /* <CJK> */
-MAP(0x4E, 0x72, 0x6B74) /* <CJK> */
-MAP(0x4E, 0x73, 0x5217) /* <CJK> */
-MAP(0x4E, 0x74, 0x52A3) /* <CJK> */
-MAP(0x4E, 0x75, 0x70C8) /* <CJK> */
-MAP(0x4E, 0x76, 0x88C2) /* <CJK> */
-MAP(0x4E, 0x77, 0x5EC9) /* <CJK> */
-MAP(0x4E, 0x78, 0x604B) /* <CJK> */
-MAP(0x4E, 0x79, 0x6190) /* <CJK> */
-MAP(0x4E, 0x7A, 0x6F23) /* <CJK> */
-MAP(0x4E, 0x7B, 0x7149) /* <CJK> */
-MAP(0x4E, 0x7C, 0x7C3E) /* <CJK> */
-MAP(0x4E, 0x7D, 0x7DF4) /* <CJK> */
-MAP(0x4E, 0x7E, 0x806F) /* <CJK> */
-MAP(0x4F, 0x21, 0x84EE) /* <CJK> */
-MAP(0x4F, 0x22, 0x9023) /* <CJK> */
-MAP(0x4F, 0x23, 0x932C) /* <CJK> */
-MAP(0x4F, 0x24, 0x5442) /* <CJK> */
-MAP(0x4F, 0x25, 0x9B6F) /* <CJK> */
-MAP(0x4F, 0x26, 0x6AD3) /* <CJK> */
-MAP(0x4F, 0x27, 0x7089) /* <CJK> */
-MAP(0x4F, 0x28, 0x8CC2) /* <CJK> */
-MAP(0x4F, 0x29, 0x8DEF) /* <CJK> */
-MAP(0x4F, 0x2A, 0x9732) /* <CJK> */
-MAP(0x4F, 0x2B, 0x52B4) /* <CJK> */
-MAP(0x4F, 0x2C, 0x5A41) /* <CJK> */
-MAP(0x4F, 0x2D, 0x5ECA) /* <CJK> */
-MAP(0x4F, 0x2E, 0x5F04) /* <CJK> */
-MAP(0x4F, 0x2F, 0x6717) /* <CJK> */
-MAP(0x4F, 0x30, 0x697C) /* <CJK> */
-MAP(0x4F, 0x31, 0x6994) /* <CJK> */
-MAP(0x4F, 0x32, 0x6D6A) /* <CJK> */
-MAP(0x4F, 0x33, 0x6F0F) /* <CJK> */
-MAP(0x4F, 0x34, 0x7262) /* <CJK> */
-MAP(0x4F, 0x35, 0x72FC) /* <CJK> */
-MAP(0x4F, 0x36, 0x7BED) /* <CJK> */
-MAP(0x4F, 0x37, 0x8001) /* <CJK> */
-MAP(0x4F, 0x38, 0x807E) /* <CJK> */
-MAP(0x4F, 0x39, 0x874B) /* <CJK> */
-MAP(0x4F, 0x3A, 0x90CE) /* <CJK> */
-MAP(0x4F, 0x3B, 0x516D) /* <CJK> */
-MAP(0x4F, 0x3C, 0x9E93) /* <CJK> */
-MAP(0x4F, 0x3D, 0x7984) /* <CJK> */
-MAP(0x4F, 0x3E, 0x808B) /* <CJK> */
-MAP(0x4F, 0x3F, 0x9332) /* <CJK> */
-MAP(0x4F, 0x40, 0x8AD6) /* <CJK> */
-MAP(0x4F, 0x41, 0x502D) /* <CJK> */
-MAP(0x4F, 0x42, 0x548C) /* <CJK> */
-MAP(0x4F, 0x43, 0x8A71) /* <CJK> */
-MAP(0x4F, 0x44, 0x6B6A) /* <CJK> */
-MAP(0x4F, 0x45, 0x8CC4) /* <CJK> */
-MAP(0x4F, 0x46, 0x8107) /* <CJK> */
-MAP(0x4F, 0x47, 0x60D1) /* <CJK> */
-MAP(0x4F, 0x48, 0x67A0) /* <CJK> */
-MAP(0x4F, 0x49, 0x9DF2) /* <CJK> */
-MAP(0x4F, 0x4A, 0x4E99) /* <CJK> */
-MAP(0x4F, 0x4B, 0x4E98) /* <CJK> */
-MAP(0x4F, 0x4C, 0x9C10) /* <CJK> */
-MAP(0x4F, 0x4D, 0x8A6B) /* <CJK> */
-MAP(0x4F, 0x4E, 0x85C1) /* <CJK> */
-MAP(0x4F, 0x4F, 0x8568) /* <CJK> */
-MAP(0x4F, 0x50, 0x6900) /* <CJK> */
-MAP(0x4F, 0x51, 0x6E7E) /* <CJK> */
-MAP(0x4F, 0x52, 0x7897) /* <CJK> */
-MAP(0x4F, 0x53, 0x8155) /* <CJK> */
-MAP(0x50, 0x21, 0x5F0C) /* <CJK> */
-MAP(0x50, 0x22, 0x4E10) /* <CJK> */
-MAP(0x50, 0x23, 0x4E15) /* <CJK> */
-MAP(0x50, 0x24, 0x4E2A) /* <CJK> */
-MAP(0x50, 0x25, 0x4E31) /* <CJK> */
-MAP(0x50, 0x26, 0x4E36) /* <CJK> */
-MAP(0x50, 0x27, 0x4E3C) /* <CJK> */
-MAP(0x50, 0x28, 0x4E3F) /* <CJK> */
-MAP(0x50, 0x29, 0x4E42) /* <CJK> */
-MAP(0x50, 0x2A, 0x4E56) /* <CJK> */
-MAP(0x50, 0x2B, 0x4E58) /* <CJK> */
-MAP(0x50, 0x2C, 0x4E82) /* <CJK> */
-MAP(0x50, 0x2D, 0x4E85) /* <CJK> */
-MAP(0x50, 0x2E, 0x8C6B) /* <CJK> */
-MAP(0x50, 0x2F, 0x4E8A) /* <CJK> */
-MAP(0x50, 0x30, 0x8212) /* <CJK> */
-MAP(0x50, 0x31, 0x5F0D) /* <CJK> */
-MAP(0x50, 0x32, 0x4E8E) /* <CJK> */
-MAP(0x50, 0x33, 0x4E9E) /* <CJK> */
-MAP(0x50, 0x34, 0x4E9F) /* <CJK> */
-MAP(0x50, 0x35, 0x4EA0) /* <CJK> */
-MAP(0x50, 0x36, 0x4EA2) /* <CJK> */
-MAP(0x50, 0x37, 0x4EB0) /* <CJK> */
-MAP(0x50, 0x38, 0x4EB3) /* <CJK> */
-MAP(0x50, 0x39, 0x4EB6) /* <CJK> */
-MAP(0x50, 0x3A, 0x4ECE) /* <CJK> */
-MAP(0x50, 0x3B, 0x4ECD) /* <CJK> */
-MAP(0x50, 0x3C, 0x4EC4) /* <CJK> */
-MAP(0x50, 0x3D, 0x4EC6) /* <CJK> */
-MAP(0x50, 0x3E, 0x4EC2) /* <CJK> */
-MAP(0x50, 0x3F, 0x4ED7) /* <CJK> */
-MAP(0x50, 0x40, 0x4EDE) /* <CJK> */
-MAP(0x50, 0x41, 0x4EED) /* <CJK> */
-MAP(0x50, 0x42, 0x4EDF) /* <CJK> */
-MAP(0x50, 0x43, 0x4EF7) /* <CJK> */
-MAP(0x50, 0x44, 0x4F09) /* <CJK> */
-MAP(0x50, 0x45, 0x4F5A) /* <CJK> */
-MAP(0x50, 0x46, 0x4F30) /* <CJK> */
-MAP(0x50, 0x47, 0x4F5B) /* <CJK> */
-MAP(0x50, 0x48, 0x4F5D) /* <CJK> */
-MAP(0x50, 0x49, 0x4F57) /* <CJK> */
-MAP(0x50, 0x4A, 0x4F47) /* <CJK> */
-MAP(0x50, 0x4B, 0x4F76) /* <CJK> */
-MAP(0x50, 0x4C, 0x4F88) /* <CJK> */
-MAP(0x50, 0x4D, 0x4F8F) /* <CJK> */
-MAP(0x50, 0x4E, 0x4F98) /* <CJK> */
-MAP(0x50, 0x4F, 0x4F7B) /* <CJK> */
-MAP(0x50, 0x50, 0x4F69) /* <CJK> */
-MAP(0x50, 0x51, 0x4F70) /* <CJK> */
-MAP(0x50, 0x52, 0x4F91) /* <CJK> */
-MAP(0x50, 0x53, 0x4F6F) /* <CJK> */
-MAP(0x50, 0x54, 0x4F86) /* <CJK> */
-MAP(0x50, 0x55, 0x4F96) /* <CJK> */
-MAP(0x50, 0x56, 0x5118) /* <CJK> */
-MAP(0x50, 0x57, 0x4FD4) /* <CJK> */
-MAP(0x50, 0x58, 0x4FDF) /* <CJK> */
-MAP(0x50, 0x59, 0x4FCE) /* <CJK> */
-MAP(0x50, 0x5A, 0x4FD8) /* <CJK> */
-MAP(0x50, 0x5B, 0x4FDB) /* <CJK> */
-MAP(0x50, 0x5C, 0x4FD1) /* <CJK> */
-MAP(0x50, 0x5D, 0x4FDA) /* <CJK> */
-MAP(0x50, 0x5E, 0x4FD0) /* <CJK> */
-MAP(0x50, 0x5F, 0x4FE4) /* <CJK> */
-MAP(0x50, 0x60, 0x4FE5) /* <CJK> */
-MAP(0x50, 0x61, 0x501A) /* <CJK> */
-MAP(0x50, 0x62, 0x5028) /* <CJK> */
-MAP(0x50, 0x63, 0x5014) /* <CJK> */
-MAP(0x50, 0x64, 0x502A) /* <CJK> */
-MAP(0x50, 0x65, 0x5025) /* <CJK> */
-MAP(0x50, 0x66, 0x5005) /* <CJK> */
-MAP(0x50, 0x67, 0x4F1C) /* <CJK> */
-MAP(0x50, 0x68, 0x4FF6) /* <CJK> */
-MAP(0x50, 0x69, 0x5021) /* <CJK> */
-MAP(0x50, 0x6A, 0x5029) /* <CJK> */
-MAP(0x50, 0x6B, 0x502C) /* <CJK> */
-MAP(0x50, 0x6C, 0x4FFE) /* <CJK> */
-MAP(0x50, 0x6D, 0x4FEF) /* <CJK> */
-MAP(0x50, 0x6E, 0x5011) /* <CJK> */
-MAP(0x50, 0x6F, 0x5006) /* <CJK> */
-MAP(0x50, 0x70, 0x5043) /* <CJK> */
-MAP(0x50, 0x71, 0x5047) /* <CJK> */
-MAP(0x50, 0x72, 0x6703) /* <CJK> */
-MAP(0x50, 0x73, 0x5055) /* <CJK> */
-MAP(0x50, 0x74, 0x5050) /* <CJK> */
-MAP(0x50, 0x75, 0x5048) /* <CJK> */
-MAP(0x50, 0x76, 0x505A) /* <CJK> */
-MAP(0x50, 0x77, 0x5056) /* <CJK> */
-MAP(0x50, 0x78, 0x506C) /* <CJK> */
-MAP(0x50, 0x79, 0x5078) /* <CJK> */
-MAP(0x50, 0x7A, 0x5080) /* <CJK> */
-MAP(0x50, 0x7B, 0x509A) /* <CJK> */
-MAP(0x50, 0x7C, 0x5085) /* <CJK> */
-MAP(0x50, 0x7D, 0x50B4) /* <CJK> */
-MAP(0x50, 0x7E, 0x50B2) /* <CJK> */
-MAP(0x51, 0x21, 0x50C9) /* <CJK> */
-MAP(0x51, 0x22, 0x50CA) /* <CJK> */
-MAP(0x51, 0x23, 0x50B3) /* <CJK> */
-MAP(0x51, 0x24, 0x50C2) /* <CJK> */
-MAP(0x51, 0x25, 0x50D6) /* <CJK> */
-MAP(0x51, 0x26, 0x50DE) /* <CJK> */
-MAP(0x51, 0x27, 0x50E5) /* <CJK> */
-MAP(0x51, 0x28, 0x50ED) /* <CJK> */
-MAP(0x51, 0x29, 0x50E3) /* <CJK> */
-MAP(0x51, 0x2A, 0x50EE) /* <CJK> */
-MAP(0x51, 0x2B, 0x50F9) /* <CJK> */
-MAP(0x51, 0x2C, 0x50F5) /* <CJK> */
-MAP(0x51, 0x2D, 0x5109) /* <CJK> */
-MAP(0x51, 0x2E, 0x5101) /* <CJK> */
-MAP(0x51, 0x2F, 0x5102) /* <CJK> */
-MAP(0x51, 0x30, 0x5116) /* <CJK> */
-MAP(0x51, 0x31, 0x5115) /* <CJK> */
-MAP(0x51, 0x32, 0x5114) /* <CJK> */
-MAP(0x51, 0x33, 0x511A) /* <CJK> */
-MAP(0x51, 0x34, 0x5121) /* <CJK> */
-MAP(0x51, 0x35, 0x513A) /* <CJK> */
-MAP(0x51, 0x36, 0x5137) /* <CJK> */
-MAP(0x51, 0x37, 0x513C) /* <CJK> */
-MAP(0x51, 0x38, 0x513B) /* <CJK> */
-MAP(0x51, 0x39, 0x513F) /* <CJK> */
-MAP(0x51, 0x3A, 0x5140) /* <CJK> */
-MAP(0x51, 0x3B, 0x5152) /* <CJK> */
-MAP(0x51, 0x3C, 0x514C) /* <CJK> */
-MAP(0x51, 0x3D, 0x5154) /* <CJK> */
-MAP(0x51, 0x3E, 0x5162) /* <CJK> */
-MAP(0x51, 0x3F, 0x7AF8) /* <CJK> */
-MAP(0x51, 0x40, 0x5169) /* <CJK> */
-MAP(0x51, 0x41, 0x516A) /* <CJK> */
-MAP(0x51, 0x42, 0x516E) /* <CJK> */
-MAP(0x51, 0x43, 0x5180) /* <CJK> */
-MAP(0x51, 0x44, 0x5182) /* <CJK> */
-MAP(0x51, 0x45, 0x56D8) /* <CJK> */
-MAP(0x51, 0x46, 0x518C) /* <CJK> */
-MAP(0x51, 0x47, 0x5189) /* <CJK> */
-MAP(0x51, 0x48, 0x518F) /* <CJK> */
-MAP(0x51, 0x49, 0x5191) /* <CJK> */
-MAP(0x51, 0x4A, 0x5193) /* <CJK> */
-MAP(0x51, 0x4B, 0x5195) /* <CJK> */
-MAP(0x51, 0x4C, 0x5196) /* <CJK> */
-MAP(0x51, 0x4D, 0x51A4) /* <CJK> */
-MAP(0x51, 0x4E, 0x51A6) /* <CJK> */
-MAP(0x51, 0x4F, 0x51A2) /* <CJK> */
-MAP(0x51, 0x50, 0x51A9) /* <CJK> */
-MAP(0x51, 0x51, 0x51AA) /* <CJK> */
-MAP(0x51, 0x52, 0x51AB) /* <CJK> */
-MAP(0x51, 0x53, 0x51B3) /* <CJK> */
-MAP(0x51, 0x54, 0x51B1) /* <CJK> */
-MAP(0x51, 0x55, 0x51B2) /* <CJK> */
-MAP(0x51, 0x56, 0x51B0) /* <CJK> */
-MAP(0x51, 0x57, 0x51B5) /* <CJK> */
-MAP(0x51, 0x58, 0x51BD) /* <CJK> */
-MAP(0x51, 0x59, 0x51C5) /* <CJK> */
-MAP(0x51, 0x5A, 0x51C9) /* <CJK> */
-MAP(0x51, 0x5B, 0x51DB) /* <CJK> */
-MAP(0x51, 0x5C, 0x51E0) /* <CJK> */
-MAP(0x51, 0x5D, 0x8655) /* <CJK> */
-MAP(0x51, 0x5E, 0x51E9) /* <CJK> */
-MAP(0x51, 0x5F, 0x51ED) /* <CJK> */
-MAP(0x51, 0x60, 0x51F0) /* <CJK> */
-MAP(0x51, 0x61, 0x51F5) /* <CJK> */
-MAP(0x51, 0x62, 0x51FE) /* <CJK> */
-MAP(0x51, 0x63, 0x5204) /* <CJK> */
-MAP(0x51, 0x64, 0x520B) /* <CJK> */
-MAP(0x51, 0x65, 0x5214) /* <CJK> */
-MAP(0x51, 0x66, 0x520E) /* <CJK> */
-MAP(0x51, 0x67, 0x5227) /* <CJK> */
-MAP(0x51, 0x68, 0x522A) /* <CJK> */
-MAP(0x51, 0x69, 0x522E) /* <CJK> */
-MAP(0x51, 0x6A, 0x5233) /* <CJK> */
-MAP(0x51, 0x6B, 0x5239) /* <CJK> */
-MAP(0x51, 0x6C, 0x524F) /* <CJK> */
-MAP(0x51, 0x6D, 0x5244) /* <CJK> */
-MAP(0x51, 0x6E, 0x524B) /* <CJK> */
-MAP(0x51, 0x6F, 0x524C) /* <CJK> */
-MAP(0x51, 0x70, 0x525E) /* <CJK> */
-MAP(0x51, 0x71, 0x5254) /* <CJK> */
-MAP(0x51, 0x72, 0x526A) /* <CJK> */
-MAP(0x51, 0x73, 0x5274) /* <CJK> */
-MAP(0x51, 0x74, 0x5269) /* <CJK> */
-MAP(0x51, 0x75, 0x5273) /* <CJK> */
-MAP(0x51, 0x76, 0x527F) /* <CJK> */
-MAP(0x51, 0x77, 0x527D) /* <CJK> */
-MAP(0x51, 0x78, 0x528D) /* <CJK> */
-MAP(0x51, 0x79, 0x5294) /* <CJK> */
-MAP(0x51, 0x7A, 0x5292) /* <CJK> */
-MAP(0x51, 0x7B, 0x5271) /* <CJK> */
-MAP(0x51, 0x7C, 0x5288) /* <CJK> */
-MAP(0x51, 0x7D, 0x5291) /* <CJK> */
-MAP(0x51, 0x7E, 0x8FA8) /* <CJK> */
-MAP(0x52, 0x21, 0x8FA7) /* <CJK> */
-MAP(0x52, 0x22, 0x52AC) /* <CJK> */
-MAP(0x52, 0x23, 0x52AD) /* <CJK> */
-MAP(0x52, 0x24, 0x52BC) /* <CJK> */
-MAP(0x52, 0x25, 0x52B5) /* <CJK> */
-MAP(0x52, 0x26, 0x52C1) /* <CJK> */
-MAP(0x52, 0x27, 0x52CD) /* <CJK> */
-MAP(0x52, 0x28, 0x52D7) /* <CJK> */
-MAP(0x52, 0x29, 0x52DE) /* <CJK> */
-MAP(0x52, 0x2A, 0x52E3) /* <CJK> */
-MAP(0x52, 0x2B, 0x52E6) /* <CJK> */
-MAP(0x52, 0x2C, 0x98ED) /* <CJK> */
-MAP(0x52, 0x2D, 0x52E0) /* <CJK> */
-MAP(0x52, 0x2E, 0x52F3) /* <CJK> */
-MAP(0x52, 0x2F, 0x52F5) /* <CJK> */
-MAP(0x52, 0x30, 0x52F8) /* <CJK> */
-MAP(0x52, 0x31, 0x52F9) /* <CJK> */
-MAP(0x52, 0x32, 0x5306) /* <CJK> */
-MAP(0x52, 0x33, 0x5308) /* <CJK> */
-MAP(0x52, 0x34, 0x7538) /* <CJK> */
-MAP(0x52, 0x35, 0x530D) /* <CJK> */
-MAP(0x52, 0x36, 0x5310) /* <CJK> */
-MAP(0x52, 0x37, 0x530F) /* <CJK> */
-MAP(0x52, 0x38, 0x5315) /* <CJK> */
-MAP(0x52, 0x39, 0x531A) /* <CJK> */
-MAP(0x52, 0x3A, 0x5323) /* <CJK> */
-MAP(0x52, 0x3B, 0x532F) /* <CJK> */
-MAP(0x52, 0x3C, 0x5331) /* <CJK> */
-MAP(0x52, 0x3D, 0x5333) /* <CJK> */
-MAP(0x52, 0x3E, 0x5338) /* <CJK> */
-MAP(0x52, 0x3F, 0x5340) /* <CJK> */
-MAP(0x52, 0x40, 0x5346) /* <CJK> */
-MAP(0x52, 0x41, 0x5345) /* <CJK> */
-MAP(0x52, 0x42, 0x4E17) /* <CJK> */
-MAP(0x52, 0x43, 0x5349) /* <CJK> */
-MAP(0x52, 0x44, 0x534D) /* <CJK> */
-MAP(0x52, 0x45, 0x51D6) /* <CJK> */
-MAP(0x52, 0x46, 0x535E) /* <CJK> */
-MAP(0x52, 0x47, 0x5369) /* <CJK> */
-MAP(0x52, 0x48, 0x536E) /* <CJK> */
-MAP(0x52, 0x49, 0x5918) /* <CJK> */
-MAP(0x52, 0x4A, 0x537B) /* <CJK> */
-MAP(0x52, 0x4B, 0x5377) /* <CJK> */
-MAP(0x52, 0x4C, 0x5382) /* <CJK> */
-MAP(0x52, 0x4D, 0x5396) /* <CJK> */
-MAP(0x52, 0x4E, 0x53A0) /* <CJK> */
-MAP(0x52, 0x4F, 0x53A6) /* <CJK> */
-MAP(0x52, 0x50, 0x53A5) /* <CJK> */
-MAP(0x52, 0x51, 0x53AE) /* <CJK> */
-MAP(0x52, 0x52, 0x53B0) /* <CJK> */
-MAP(0x52, 0x53, 0x53B6) /* <CJK> */
-MAP(0x52, 0x54, 0x53C3) /* <CJK> */
-MAP(0x52, 0x55, 0x7C12) /* <CJK> */
-MAP(0x52, 0x56, 0x96D9) /* <CJK> */
-MAP(0x52, 0x57, 0x53DF) /* <CJK> */
-MAP(0x52, 0x58, 0x66FC) /* <CJK> */
-MAP(0x52, 0x59, 0x71EE) /* <CJK> */
-MAP(0x52, 0x5A, 0x53EE) /* <CJK> */
-MAP(0x52, 0x5B, 0x53E8) /* <CJK> */
-MAP(0x52, 0x5C, 0x53ED) /* <CJK> */
-MAP(0x52, 0x5D, 0x53FA) /* <CJK> */
-MAP(0x52, 0x5E, 0x5401) /* <CJK> */
-MAP(0x52, 0x5F, 0x543D) /* <CJK> */
-MAP(0x52, 0x60, 0x5440) /* <CJK> */
-MAP(0x52, 0x61, 0x542C) /* <CJK> */
-MAP(0x52, 0x62, 0x542D) /* <CJK> */
-MAP(0x52, 0x63, 0x543C) /* <CJK> */
-MAP(0x52, 0x64, 0x542E) /* <CJK> */
-MAP(0x52, 0x65, 0x5436) /* <CJK> */
-MAP(0x52, 0x66, 0x5429) /* <CJK> */
-MAP(0x52, 0x67, 0x541D) /* <CJK> */
-MAP(0x52, 0x68, 0x544E) /* <CJK> */
-MAP(0x52, 0x69, 0x548F) /* <CJK> */
-MAP(0x52, 0x6A, 0x5475) /* <CJK> */
-MAP(0x52, 0x6B, 0x548E) /* <CJK> */
-MAP(0x52, 0x6C, 0x545F) /* <CJK> */
-MAP(0x52, 0x6D, 0x5471) /* <CJK> */
-MAP(0x52, 0x6E, 0x5477) /* <CJK> */
-MAP(0x52, 0x6F, 0x5470) /* <CJK> */
-MAP(0x52, 0x70, 0x5492) /* <CJK> */
-MAP(0x52, 0x71, 0x547B) /* <CJK> */
-MAP(0x52, 0x72, 0x5480) /* <CJK> */
-MAP(0x52, 0x73, 0x5476) /* <CJK> */
-MAP(0x52, 0x74, 0x5484) /* <CJK> */
-MAP(0x52, 0x75, 0x5490) /* <CJK> */
-MAP(0x52, 0x76, 0x5486) /* <CJK> */
-MAP(0x52, 0x77, 0x54C7) /* <CJK> */
-MAP(0x52, 0x78, 0x54A2) /* <CJK> */
-MAP(0x52, 0x79, 0x54B8) /* <CJK> */
-MAP(0x52, 0x7A, 0x54A5) /* <CJK> */
-MAP(0x52, 0x7B, 0x54AC) /* <CJK> */
-MAP(0x52, 0x7C, 0x54C4) /* <CJK> */
-MAP(0x52, 0x7D, 0x54C8) /* <CJK> */
-MAP(0x52, 0x7E, 0x54A8) /* <CJK> */
-MAP(0x53, 0x21, 0x54AB) /* <CJK> */
-MAP(0x53, 0x22, 0x54C2) /* <CJK> */
-MAP(0x53, 0x23, 0x54A4) /* <CJK> */
-MAP(0x53, 0x24, 0x54BE) /* <CJK> */
-MAP(0x53, 0x25, 0x54BC) /* <CJK> */
-MAP(0x53, 0x26, 0x54D8) /* <CJK> */
-MAP(0x53, 0x27, 0x54E5) /* <CJK> */
-MAP(0x53, 0x28, 0x54E6) /* <CJK> */
-MAP(0x53, 0x29, 0x550F) /* <CJK> */
-MAP(0x53, 0x2A, 0x5514) /* <CJK> */
-MAP(0x53, 0x2B, 0x54FD) /* <CJK> */
-MAP(0x53, 0x2C, 0x54EE) /* <CJK> */
-MAP(0x53, 0x2D, 0x54ED) /* <CJK> */
-MAP(0x53, 0x2E, 0x54FA) /* <CJK> */
-MAP(0x53, 0x2F, 0x54E2) /* <CJK> */
-MAP(0x53, 0x30, 0x5539) /* <CJK> */
-MAP(0x53, 0x31, 0x5540) /* <CJK> */
-MAP(0x53, 0x32, 0x5563) /* <CJK> */
-MAP(0x53, 0x33, 0x554C) /* <CJK> */
-MAP(0x53, 0x34, 0x552E) /* <CJK> */
-MAP(0x53, 0x35, 0x555C) /* <CJK> */
-MAP(0x53, 0x36, 0x5545) /* <CJK> */
-MAP(0x53, 0x37, 0x5556) /* <CJK> */
-MAP(0x53, 0x38, 0x5557) /* <CJK> */
-MAP(0x53, 0x39, 0x5538) /* <CJK> */
-MAP(0x53, 0x3A, 0x5533) /* <CJK> */
-MAP(0x53, 0x3B, 0x555D) /* <CJK> */
-MAP(0x53, 0x3C, 0x5599) /* <CJK> */
-MAP(0x53, 0x3D, 0x5580) /* <CJK> */
-MAP(0x53, 0x3E, 0x54AF) /* <CJK> */
-MAP(0x53, 0x3F, 0x558A) /* <CJK> */
-MAP(0x53, 0x40, 0x559F) /* <CJK> */
-MAP(0x53, 0x41, 0x557B) /* <CJK> */
-MAP(0x53, 0x42, 0x557E) /* <CJK> */
-MAP(0x53, 0x43, 0x5598) /* <CJK> */
-MAP(0x53, 0x44, 0x559E) /* <CJK> */
-MAP(0x53, 0x45, 0x55AE) /* <CJK> */
-MAP(0x53, 0x46, 0x557C) /* <CJK> */
-MAP(0x53, 0x47, 0x5583) /* <CJK> */
-MAP(0x53, 0x48, 0x55A9) /* <CJK> */
-MAP(0x53, 0x49, 0x5587) /* <CJK> */
-MAP(0x53, 0x4A, 0x55A8) /* <CJK> */
-MAP(0x53, 0x4B, 0x55DA) /* <CJK> */
-MAP(0x53, 0x4C, 0x55C5) /* <CJK> */
-MAP(0x53, 0x4D, 0x55DF) /* <CJK> */
-MAP(0x53, 0x4E, 0x55C4) /* <CJK> */
-MAP(0x53, 0x4F, 0x55DC) /* <CJK> */
-MAP(0x53, 0x50, 0x55E4) /* <CJK> */
-MAP(0x53, 0x51, 0x55D4) /* <CJK> */
-MAP(0x53, 0x52, 0x5614) /* <CJK> */
-MAP(0x53, 0x53, 0x55F7) /* <CJK> */
-MAP(0x53, 0x54, 0x5616) /* <CJK> */
-MAP(0x53, 0x55, 0x55FE) /* <CJK> */
-MAP(0x53, 0x56, 0x55FD) /* <CJK> */
-MAP(0x53, 0x57, 0x561B) /* <CJK> */
-MAP(0x53, 0x58, 0x55F9) /* <CJK> */
-MAP(0x53, 0x59, 0x564E) /* <CJK> */
-MAP(0x53, 0x5A, 0x5650) /* <CJK> */
-MAP(0x53, 0x5B, 0x71DF) /* <CJK> */
-MAP(0x53, 0x5C, 0x5634) /* <CJK> */
-MAP(0x53, 0x5D, 0x5636) /* <CJK> */
-MAP(0x53, 0x5E, 0x5632) /* <CJK> */
-MAP(0x53, 0x5F, 0x5638) /* <CJK> */
-MAP(0x53, 0x60, 0x566B) /* <CJK> */
-MAP(0x53, 0x61, 0x5664) /* <CJK> */
-MAP(0x53, 0x62, 0x562F) /* <CJK> */
-MAP(0x53, 0x63, 0x566C) /* <CJK> */
-MAP(0x53, 0x64, 0x566A) /* <CJK> */
-MAP(0x53, 0x65, 0x5686) /* <CJK> */
-MAP(0x53, 0x66, 0x5680) /* <CJK> */
-MAP(0x53, 0x67, 0x568A) /* <CJK> */
-MAP(0x53, 0x68, 0x56A0) /* <CJK> */
-MAP(0x53, 0x69, 0x5694) /* <CJK> */
-MAP(0x53, 0x6A, 0x568F) /* <CJK> */
-MAP(0x53, 0x6B, 0x56A5) /* <CJK> */
-MAP(0x53, 0x6C, 0x56AE) /* <CJK> */
-MAP(0x53, 0x6D, 0x56B6) /* <CJK> */
-MAP(0x53, 0x6E, 0x56B4) /* <CJK> */
-MAP(0x53, 0x6F, 0x56C2) /* <CJK> */
-MAP(0x53, 0x70, 0x56BC) /* <CJK> */
-MAP(0x53, 0x71, 0x56C1) /* <CJK> */
-MAP(0x53, 0x72, 0x56C3) /* <CJK> */
-MAP(0x53, 0x73, 0x56C0) /* <CJK> */
-MAP(0x53, 0x74, 0x56C8) /* <CJK> */
-MAP(0x53, 0x75, 0x56CE) /* <CJK> */
-MAP(0x53, 0x76, 0x56D1) /* <CJK> */
-MAP(0x53, 0x77, 0x56D3) /* <CJK> */
-MAP(0x53, 0x78, 0x56D7) /* <CJK> */
-MAP(0x53, 0x79, 0x56EE) /* <CJK> */
-MAP(0x53, 0x7A, 0x56F9) /* <CJK> */
-MAP(0x53, 0x7B, 0x5700) /* <CJK> */
-MAP(0x53, 0x7C, 0x56FF) /* <CJK> */
-MAP(0x53, 0x7D, 0x5704) /* <CJK> */
-MAP(0x53, 0x7E, 0x5709) /* <CJK> */
-MAP(0x54, 0x21, 0x5708) /* <CJK> */
-MAP(0x54, 0x22, 0x570B) /* <CJK> */
-MAP(0x54, 0x23, 0x570D) /* <CJK> */
-MAP(0x54, 0x24, 0x5713) /* <CJK> */
-MAP(0x54, 0x25, 0x5718) /* <CJK> */
-MAP(0x54, 0x26, 0x5716) /* <CJK> */
-MAP(0x54, 0x27, 0x55C7) /* <CJK> */
-MAP(0x54, 0x28, 0x571C) /* <CJK> */
-MAP(0x54, 0x29, 0x5726) /* <CJK> */
-MAP(0x54, 0x2A, 0x5737) /* <CJK> */
-MAP(0x54, 0x2B, 0x5738) /* <CJK> */
-MAP(0x54, 0x2C, 0x574E) /* <CJK> */
-MAP(0x54, 0x2D, 0x573B) /* <CJK> */
-MAP(0x54, 0x2E, 0x5740) /* <CJK> */
-MAP(0x54, 0x2F, 0x574F) /* <CJK> */
-MAP(0x54, 0x30, 0x5769) /* <CJK> */
-MAP(0x54, 0x31, 0x57C0) /* <CJK> */
-MAP(0x54, 0x32, 0x5788) /* <CJK> */
-MAP(0x54, 0x33, 0x5761) /* <CJK> */
-MAP(0x54, 0x34, 0x577F) /* <CJK> */
-MAP(0x54, 0x35, 0x5789) /* <CJK> */
-MAP(0x54, 0x36, 0x5793) /* <CJK> */
-MAP(0x54, 0x37, 0x57A0) /* <CJK> */
-MAP(0x54, 0x38, 0x57B3) /* <CJK> */
-MAP(0x54, 0x39, 0x57A4) /* <CJK> */
-MAP(0x54, 0x3A, 0x57AA) /* <CJK> */
-MAP(0x54, 0x3B, 0x57B0) /* <CJK> */
-MAP(0x54, 0x3C, 0x57C3) /* <CJK> */
-MAP(0x54, 0x3D, 0x57C6) /* <CJK> */
-MAP(0x54, 0x3E, 0x57D4) /* <CJK> */
-MAP(0x54, 0x3F, 0x57D2) /* <CJK> */
-MAP(0x54, 0x40, 0x57D3) /* <CJK> */
-MAP(0x54, 0x41, 0x580A) /* <CJK> */
-MAP(0x54, 0x42, 0x57D6) /* <CJK> */
-MAP(0x54, 0x43, 0x57E3) /* <CJK> */
-MAP(0x54, 0x44, 0x580B) /* <CJK> */
-MAP(0x54, 0x45, 0x5819) /* <CJK> */
-MAP(0x54, 0x46, 0x581D) /* <CJK> */
-MAP(0x54, 0x47, 0x5872) /* <CJK> */
-MAP(0x54, 0x48, 0x5821) /* <CJK> */
-MAP(0x54, 0x49, 0x5862) /* <CJK> */
-MAP(0x54, 0x4A, 0x584B) /* <CJK> */
-MAP(0x54, 0x4B, 0x5870) /* <CJK> */
-MAP(0x54, 0x4C, 0x6BC0) /* <CJK> */
-MAP(0x54, 0x4D, 0x5852) /* <CJK> */
-MAP(0x54, 0x4E, 0x583D) /* <CJK> */
-MAP(0x54, 0x4F, 0x5879) /* <CJK> */
-MAP(0x54, 0x50, 0x5885) /* <CJK> */
-MAP(0x54, 0x51, 0x58B9) /* <CJK> */
-MAP(0x54, 0x52, 0x589F) /* <CJK> */
-MAP(0x54, 0x53, 0x58AB) /* <CJK> */
-MAP(0x54, 0x54, 0x58BA) /* <CJK> */
-MAP(0x54, 0x55, 0x58DE) /* <CJK> */
-MAP(0x54, 0x56, 0x58BB) /* <CJK> */
-MAP(0x54, 0x57, 0x58B8) /* <CJK> */
-MAP(0x54, 0x58, 0x58AE) /* <CJK> */
-MAP(0x54, 0x59, 0x58C5) /* <CJK> */
-MAP(0x54, 0x5A, 0x58D3) /* <CJK> */
-MAP(0x54, 0x5B, 0x58D1) /* <CJK> */
-MAP(0x54, 0x5C, 0x58D7) /* <CJK> */
-MAP(0x54, 0x5D, 0x58D9) /* <CJK> */
-MAP(0x54, 0x5E, 0x58D8) /* <CJK> */
-MAP(0x54, 0x5F, 0x58E5) /* <CJK> */
-MAP(0x54, 0x60, 0x58DC) /* <CJK> */
-MAP(0x54, 0x61, 0x58E4) /* <CJK> */
-MAP(0x54, 0x62, 0x58DF) /* <CJK> */
-MAP(0x54, 0x63, 0x58EF) /* <CJK> */
-MAP(0x54, 0x64, 0x58FA) /* <CJK> */
-MAP(0x54, 0x65, 0x58F9) /* <CJK> */
-MAP(0x54, 0x66, 0x58FB) /* <CJK> */
-MAP(0x54, 0x67, 0x58FC) /* <CJK> */
-MAP(0x54, 0x68, 0x58FD) /* <CJK> */
-MAP(0x54, 0x69, 0x5902) /* <CJK> */
-MAP(0x54, 0x6A, 0x590A) /* <CJK> */
-MAP(0x54, 0x6B, 0x5910) /* <CJK> */
-MAP(0x54, 0x6C, 0x591B) /* <CJK> */
-MAP(0x54, 0x6D, 0x68A6) /* <CJK> */
-MAP(0x54, 0x6E, 0x5925) /* <CJK> */
-MAP(0x54, 0x6F, 0x592C) /* <CJK> */
-MAP(0x54, 0x70, 0x592D) /* <CJK> */
-MAP(0x54, 0x71, 0x5932) /* <CJK> */
-MAP(0x54, 0x72, 0x5938) /* <CJK> */
-MAP(0x54, 0x73, 0x593E) /* <CJK> */
-MAP(0x54, 0x74, 0x7AD2) /* <CJK> */
-MAP(0x54, 0x75, 0x5955) /* <CJK> */
-MAP(0x54, 0x76, 0x5950) /* <CJK> */
-MAP(0x54, 0x77, 0x594E) /* <CJK> */
-MAP(0x54, 0x78, 0x595A) /* <CJK> */
-MAP(0x54, 0x79, 0x5958) /* <CJK> */
-MAP(0x54, 0x7A, 0x5962) /* <CJK> */
-MAP(0x54, 0x7B, 0x5960) /* <CJK> */
-MAP(0x54, 0x7C, 0x5967) /* <CJK> */
-MAP(0x54, 0x7D, 0x596C) /* <CJK> */
-MAP(0x54, 0x7E, 0x5969) /* <CJK> */
-MAP(0x55, 0x21, 0x5978) /* <CJK> */
-MAP(0x55, 0x22, 0x5981) /* <CJK> */
-MAP(0x55, 0x23, 0x599D) /* <CJK> */
-MAP(0x55, 0x24, 0x4F5E) /* <CJK> */
-MAP(0x55, 0x25, 0x4FAB) /* <CJK> */
-MAP(0x55, 0x26, 0x59A3) /* <CJK> */
-MAP(0x55, 0x27, 0x59B2) /* <CJK> */
-MAP(0x55, 0x28, 0x59C6) /* <CJK> */
-MAP(0x55, 0x29, 0x59E8) /* <CJK> */
-MAP(0x55, 0x2A, 0x59DC) /* <CJK> */
-MAP(0x55, 0x2B, 0x598D) /* <CJK> */
-MAP(0x55, 0x2C, 0x59D9) /* <CJK> */
-MAP(0x55, 0x2D, 0x59DA) /* <CJK> */
-MAP(0x55, 0x2E, 0x5A25) /* <CJK> */
-MAP(0x55, 0x2F, 0x5A1F) /* <CJK> */
-MAP(0x55, 0x30, 0x5A11) /* <CJK> */
-MAP(0x55, 0x31, 0x5A1C) /* <CJK> */
-MAP(0x55, 0x32, 0x5A09) /* <CJK> */
-MAP(0x55, 0x33, 0x5A1A) /* <CJK> */
-MAP(0x55, 0x34, 0x5A40) /* <CJK> */
-MAP(0x55, 0x35, 0x5A6C) /* <CJK> */
-MAP(0x55, 0x36, 0x5A49) /* <CJK> */
-MAP(0x55, 0x37, 0x5A35) /* <CJK> */
-MAP(0x55, 0x38, 0x5A36) /* <CJK> */
-MAP(0x55, 0x39, 0x5A62) /* <CJK> */
-MAP(0x55, 0x3A, 0x5A6A) /* <CJK> */
-MAP(0x55, 0x3B, 0x5A9A) /* <CJK> */
-MAP(0x55, 0x3C, 0x5ABC) /* <CJK> */
-MAP(0x55, 0x3D, 0x5ABE) /* <CJK> */
-MAP(0x55, 0x3E, 0x5ACB) /* <CJK> */
-MAP(0x55, 0x3F, 0x5AC2) /* <CJK> */
-MAP(0x55, 0x40, 0x5ABD) /* <CJK> */
-MAP(0x55, 0x41, 0x5AE3) /* <CJK> */
-MAP(0x55, 0x42, 0x5AD7) /* <CJK> */
-MAP(0x55, 0x43, 0x5AE6) /* <CJK> */
-MAP(0x55, 0x44, 0x5AE9) /* <CJK> */
-MAP(0x55, 0x45, 0x5AD6) /* <CJK> */
-MAP(0x55, 0x46, 0x5AFA) /* <CJK> */
-MAP(0x55, 0x47, 0x5AFB) /* <CJK> */
-MAP(0x55, 0x48, 0x5B0C) /* <CJK> */
-MAP(0x55, 0x49, 0x5B0B) /* <CJK> */
-MAP(0x55, 0x4A, 0x5B16) /* <CJK> */
-MAP(0x55, 0x4B, 0x5B32) /* <CJK> */
-MAP(0x55, 0x4C, 0x5AD0) /* <CJK> */
-MAP(0x55, 0x4D, 0x5B2A) /* <CJK> */
-MAP(0x55, 0x4E, 0x5B36) /* <CJK> */
-MAP(0x55, 0x4F, 0x5B3E) /* <CJK> */
-MAP(0x55, 0x50, 0x5B43) /* <CJK> */
-MAP(0x55, 0x51, 0x5B45) /* <CJK> */
-MAP(0x55, 0x52, 0x5B40) /* <CJK> */
-MAP(0x55, 0x53, 0x5B51) /* <CJK> */
-MAP(0x55, 0x54, 0x5B55) /* <CJK> */
-MAP(0x55, 0x55, 0x5B5A) /* <CJK> */
-MAP(0x55, 0x56, 0x5B5B) /* <CJK> */
-MAP(0x55, 0x57, 0x5B65) /* <CJK> */
-MAP(0x55, 0x58, 0x5B69) /* <CJK> */
-MAP(0x55, 0x59, 0x5B70) /* <CJK> */
-MAP(0x55, 0x5A, 0x5B73) /* <CJK> */
-MAP(0x55, 0x5B, 0x5B75) /* <CJK> */
-MAP(0x55, 0x5C, 0x5B78) /* <CJK> */
-MAP(0x55, 0x5D, 0x6588) /* <CJK> */
-MAP(0x55, 0x5E, 0x5B7A) /* <CJK> */
-MAP(0x55, 0x5F, 0x5B80) /* <CJK> */
-MAP(0x55, 0x60, 0x5B83) /* <CJK> */
-MAP(0x55, 0x61, 0x5BA6) /* <CJK> */
-MAP(0x55, 0x62, 0x5BB8) /* <CJK> */
-MAP(0x55, 0x63, 0x5BC3) /* <CJK> */
-MAP(0x55, 0x64, 0x5BC7) /* <CJK> */
-MAP(0x55, 0x65, 0x5BC9) /* <CJK> */
-MAP(0x55, 0x66, 0x5BD4) /* <CJK> */
-MAP(0x55, 0x67, 0x5BD0) /* <CJK> */
-MAP(0x55, 0x68, 0x5BE4) /* <CJK> */
-MAP(0x55, 0x69, 0x5BE6) /* <CJK> */
-MAP(0x55, 0x6A, 0x5BE2) /* <CJK> */
-MAP(0x55, 0x6B, 0x5BDE) /* <CJK> */
-MAP(0x55, 0x6C, 0x5BE5) /* <CJK> */
-MAP(0x55, 0x6D, 0x5BEB) /* <CJK> */
-MAP(0x55, 0x6E, 0x5BF0) /* <CJK> */
-MAP(0x55, 0x6F, 0x5BF6) /* <CJK> */
-MAP(0x55, 0x70, 0x5BF3) /* <CJK> */
-MAP(0x55, 0x71, 0x5C05) /* <CJK> */
-MAP(0x55, 0x72, 0x5C07) /* <CJK> */
-MAP(0x55, 0x73, 0x5C08) /* <CJK> */
-MAP(0x55, 0x74, 0x5C0D) /* <CJK> */
-MAP(0x55, 0x75, 0x5C13) /* <CJK> */
-MAP(0x55, 0x76, 0x5C20) /* <CJK> */
-MAP(0x55, 0x77, 0x5C22) /* <CJK> */
-MAP(0x55, 0x78, 0x5C28) /* <CJK> */
-MAP(0x55, 0x79, 0x5C38) /* <CJK> */
-MAP(0x55, 0x7A, 0x5C39) /* <CJK> */
-MAP(0x55, 0x7B, 0x5C41) /* <CJK> */
-MAP(0x55, 0x7C, 0x5C46) /* <CJK> */
-MAP(0x55, 0x7D, 0x5C4E) /* <CJK> */
-MAP(0x55, 0x7E, 0x5C53) /* <CJK> */
-MAP(0x56, 0x21, 0x5C50) /* <CJK> */
-MAP(0x56, 0x22, 0x5C4F) /* <CJK> */
-MAP(0x56, 0x23, 0x5B71) /* <CJK> */
-MAP(0x56, 0x24, 0x5C6C) /* <CJK> */
-MAP(0x56, 0x25, 0x5C6E) /* <CJK> */
-MAP(0x56, 0x26, 0x4E62) /* <CJK> */
-MAP(0x56, 0x27, 0x5C76) /* <CJK> */
-MAP(0x56, 0x28, 0x5C79) /* <CJK> */
-MAP(0x56, 0x29, 0x5C8C) /* <CJK> */
-MAP(0x56, 0x2A, 0x5C91) /* <CJK> */
-MAP(0x56, 0x2B, 0x5C94) /* <CJK> */
-MAP(0x56, 0x2C, 0x599B) /* <CJK> */
-MAP(0x56, 0x2D, 0x5CAB) /* <CJK> */
-MAP(0x56, 0x2E, 0x5CBB) /* <CJK> */
-MAP(0x56, 0x2F, 0x5CB6) /* <CJK> */
-MAP(0x56, 0x30, 0x5CBC) /* <CJK> */
-MAP(0x56, 0x31, 0x5CB7) /* <CJK> */
-MAP(0x56, 0x32, 0x5CC5) /* <CJK> */
-MAP(0x56, 0x33, 0x5CBE) /* <CJK> */
-MAP(0x56, 0x34, 0x5CC7) /* <CJK> */
-MAP(0x56, 0x35, 0x5CD9) /* <CJK> */
-MAP(0x56, 0x36, 0x5CE9) /* <CJK> */
-MAP(0x56, 0x37, 0x5CFD) /* <CJK> */
-MAP(0x56, 0x38, 0x5CFA) /* <CJK> */
-MAP(0x56, 0x39, 0x5CED) /* <CJK> */
-MAP(0x56, 0x3A, 0x5D8C) /* <CJK> */
-MAP(0x56, 0x3B, 0x5CEA) /* <CJK> */
-MAP(0x56, 0x3C, 0x5D0B) /* <CJK> */
-MAP(0x56, 0x3D, 0x5D15) /* <CJK> */
-MAP(0x56, 0x3E, 0x5D17) /* <CJK> */
-MAP(0x56, 0x3F, 0x5D5C) /* <CJK> */
-MAP(0x56, 0x40, 0x5D1F) /* <CJK> */
-MAP(0x56, 0x41, 0x5D1B) /* <CJK> */
-MAP(0x56, 0x42, 0x5D11) /* <CJK> */
-MAP(0x56, 0x43, 0x5D14) /* <CJK> */
-MAP(0x56, 0x44, 0x5D22) /* <CJK> */
-MAP(0x56, 0x45, 0x5D1A) /* <CJK> */
-MAP(0x56, 0x46, 0x5D19) /* <CJK> */
-MAP(0x56, 0x47, 0x5D18) /* <CJK> */
-MAP(0x56, 0x48, 0x5D4C) /* <CJK> */
-MAP(0x56, 0x49, 0x5D52) /* <CJK> */
-MAP(0x56, 0x4A, 0x5D4E) /* <CJK> */
-MAP(0x56, 0x4B, 0x5D4B) /* <CJK> */
-MAP(0x56, 0x4C, 0x5D6C) /* <CJK> */
-MAP(0x56, 0x4D, 0x5D73) /* <CJK> */
-MAP(0x56, 0x4E, 0x5D76) /* <CJK> */
-MAP(0x56, 0x4F, 0x5D87) /* <CJK> */
-MAP(0x56, 0x50, 0x5D84) /* <CJK> */
-MAP(0x56, 0x51, 0x5D82) /* <CJK> */
-MAP(0x56, 0x52, 0x5DA2) /* <CJK> */
-MAP(0x56, 0x53, 0x5D9D) /* <CJK> */
-MAP(0x56, 0x54, 0x5DAC) /* <CJK> */
-MAP(0x56, 0x55, 0x5DAE) /* <CJK> */
-MAP(0x56, 0x56, 0x5DBD) /* <CJK> */
-MAP(0x56, 0x57, 0x5D90) /* <CJK> */
-MAP(0x56, 0x58, 0x5DB7) /* <CJK> */
-MAP(0x56, 0x59, 0x5DBC) /* <CJK> */
-MAP(0x56, 0x5A, 0x5DC9) /* <CJK> */
-MAP(0x56, 0x5B, 0x5DCD) /* <CJK> */
-MAP(0x56, 0x5C, 0x5DD3) /* <CJK> */
-MAP(0x56, 0x5D, 0x5DD2) /* <CJK> */
-MAP(0x56, 0x5E, 0x5DD6) /* <CJK> */
-MAP(0x56, 0x5F, 0x5DDB) /* <CJK> */
-MAP(0x56, 0x60, 0x5DEB) /* <CJK> */
-MAP(0x56, 0x61, 0x5DF2) /* <CJK> */
-MAP(0x56, 0x62, 0x5DF5) /* <CJK> */
-MAP(0x56, 0x63, 0x5E0B) /* <CJK> */
-MAP(0x56, 0x64, 0x5E1A) /* <CJK> */
-MAP(0x56, 0x65, 0x5E19) /* <CJK> */
-MAP(0x56, 0x66, 0x5E11) /* <CJK> */
-MAP(0x56, 0x67, 0x5E1B) /* <CJK> */
-MAP(0x56, 0x68, 0x5E36) /* <CJK> */
-MAP(0x56, 0x69, 0x5E37) /* <CJK> */
-MAP(0x56, 0x6A, 0x5E44) /* <CJK> */
-MAP(0x56, 0x6B, 0x5E43) /* <CJK> */
-MAP(0x56, 0x6C, 0x5E40) /* <CJK> */
-MAP(0x56, 0x6D, 0x5E4E) /* <CJK> */
-MAP(0x56, 0x6E, 0x5E57) /* <CJK> */
-MAP(0x56, 0x6F, 0x5E54) /* <CJK> */
-MAP(0x56, 0x70, 0x5E5F) /* <CJK> */
-MAP(0x56, 0x71, 0x5E62) /* <CJK> */
-MAP(0x56, 0x72, 0x5E64) /* <CJK> */
-MAP(0x56, 0x73, 0x5E47) /* <CJK> */
-MAP(0x56, 0x74, 0x5E75) /* <CJK> */
-MAP(0x56, 0x75, 0x5E76) /* <CJK> */
-MAP(0x56, 0x76, 0x5E7A) /* <CJK> */
-MAP(0x56, 0x77, 0x9EBC) /* <CJK> */
-MAP(0x56, 0x78, 0x5E7F) /* <CJK> */
-MAP(0x56, 0x79, 0x5EA0) /* <CJK> */
-MAP(0x56, 0x7A, 0x5EC1) /* <CJK> */
-MAP(0x56, 0x7B, 0x5EC2) /* <CJK> */
-MAP(0x56, 0x7C, 0x5EC8) /* <CJK> */
-MAP(0x56, 0x7D, 0x5ED0) /* <CJK> */
-MAP(0x56, 0x7E, 0x5ECF) /* <CJK> */
-MAP(0x57, 0x21, 0x5ED6) /* <CJK> */
-MAP(0x57, 0x22, 0x5EE3) /* <CJK> */
-MAP(0x57, 0x23, 0x5EDD) /* <CJK> */
-MAP(0x57, 0x24, 0x5EDA) /* <CJK> */
-MAP(0x57, 0x25, 0x5EDB) /* <CJK> */
-MAP(0x57, 0x26, 0x5EE2) /* <CJK> */
-MAP(0x57, 0x27, 0x5EE1) /* <CJK> */
-MAP(0x57, 0x28, 0x5EE8) /* <CJK> */
-MAP(0x57, 0x29, 0x5EE9) /* <CJK> */
-MAP(0x57, 0x2A, 0x5EEC) /* <CJK> */
-MAP(0x57, 0x2B, 0x5EF1) /* <CJK> */
-MAP(0x57, 0x2C, 0x5EF3) /* <CJK> */
-MAP(0x57, 0x2D, 0x5EF0) /* <CJK> */
-MAP(0x57, 0x2E, 0x5EF4) /* <CJK> */
-MAP(0x57, 0x2F, 0x5EF8) /* <CJK> */
-MAP(0x57, 0x30, 0x5EFE) /* <CJK> */
-MAP(0x57, 0x31, 0x5F03) /* <CJK> */
-MAP(0x57, 0x32, 0x5F09) /* <CJK> */
-MAP(0x57, 0x33, 0x5F5D) /* <CJK> */
-MAP(0x57, 0x34, 0x5F5C) /* <CJK> */
-MAP(0x57, 0x35, 0x5F0B) /* <CJK> */
-MAP(0x57, 0x36, 0x5F11) /* <CJK> */
-MAP(0x57, 0x37, 0x5F16) /* <CJK> */
-MAP(0x57, 0x38, 0x5F29) /* <CJK> */
-MAP(0x57, 0x39, 0x5F2D) /* <CJK> */
-MAP(0x57, 0x3A, 0x5F38) /* <CJK> */
-MAP(0x57, 0x3B, 0x5F41) /* <CJK> */
-MAP(0x57, 0x3C, 0x5F48) /* <CJK> */
-MAP(0x57, 0x3D, 0x5F4C) /* <CJK> */
-MAP(0x57, 0x3E, 0x5F4E) /* <CJK> */
-MAP(0x57, 0x3F, 0x5F2F) /* <CJK> */
-MAP(0x57, 0x40, 0x5F51) /* <CJK> */
-MAP(0x57, 0x41, 0x5F56) /* <CJK> */
-MAP(0x57, 0x42, 0x5F57) /* <CJK> */
-MAP(0x57, 0x43, 0x5F59) /* <CJK> */
-MAP(0x57, 0x44, 0x5F61) /* <CJK> */
-MAP(0x57, 0x45, 0x5F6D) /* <CJK> */
-MAP(0x57, 0x46, 0x5F73) /* <CJK> */
-MAP(0x57, 0x47, 0x5F77) /* <CJK> */
-MAP(0x57, 0x48, 0x5F83) /* <CJK> */
-MAP(0x57, 0x49, 0x5F82) /* <CJK> */
-MAP(0x57, 0x4A, 0x5F7F) /* <CJK> */
-MAP(0x57, 0x4B, 0x5F8A) /* <CJK> */
-MAP(0x57, 0x4C, 0x5F88) /* <CJK> */
-MAP(0x57, 0x4D, 0x5F91) /* <CJK> */
-MAP(0x57, 0x4E, 0x5F87) /* <CJK> */
-MAP(0x57, 0x4F, 0x5F9E) /* <CJK> */
-MAP(0x57, 0x50, 0x5F99) /* <CJK> */
-MAP(0x57, 0x51, 0x5F98) /* <CJK> */
-MAP(0x57, 0x52, 0x5FA0) /* <CJK> */
-MAP(0x57, 0x53, 0x5FA8) /* <CJK> */
-MAP(0x57, 0x54, 0x5FAD) /* <CJK> */
-MAP(0x57, 0x55, 0x5FBC) /* <CJK> */
-MAP(0x57, 0x56, 0x5FD6) /* <CJK> */
-MAP(0x57, 0x57, 0x5FFB) /* <CJK> */
-MAP(0x57, 0x58, 0x5FE4) /* <CJK> */
-MAP(0x57, 0x59, 0x5FF8) /* <CJK> */
-MAP(0x57, 0x5A, 0x5FF1) /* <CJK> */
-MAP(0x57, 0x5B, 0x5FDD) /* <CJK> */
-MAP(0x57, 0x5C, 0x60B3) /* <CJK> */
-MAP(0x57, 0x5D, 0x5FFF) /* <CJK> */
-MAP(0x57, 0x5E, 0x6021) /* <CJK> */
-MAP(0x57, 0x5F, 0x6060) /* <CJK> */
-MAP(0x57, 0x60, 0x6019) /* <CJK> */
-MAP(0x57, 0x61, 0x6010) /* <CJK> */
-MAP(0x57, 0x62, 0x6029) /* <CJK> */
-MAP(0x57, 0x63, 0x600E) /* <CJK> */
-MAP(0x57, 0x64, 0x6031) /* <CJK> */
-MAP(0x57, 0x65, 0x601B) /* <CJK> */
-MAP(0x57, 0x66, 0x6015) /* <CJK> */
-MAP(0x57, 0x67, 0x602B) /* <CJK> */
-MAP(0x57, 0x68, 0x6026) /* <CJK> */
-MAP(0x57, 0x69, 0x600F) /* <CJK> */
-MAP(0x57, 0x6A, 0x603A) /* <CJK> */
-MAP(0x57, 0x6B, 0x605A) /* <CJK> */
-MAP(0x57, 0x6C, 0x6041) /* <CJK> */
-MAP(0x57, 0x6D, 0x606A) /* <CJK> */
-MAP(0x57, 0x6E, 0x6077) /* <CJK> */
-MAP(0x57, 0x6F, 0x605F) /* <CJK> */
-MAP(0x57, 0x70, 0x604A) /* <CJK> */
-MAP(0x57, 0x71, 0x6046) /* <CJK> */
-MAP(0x57, 0x72, 0x604D) /* <CJK> */
-MAP(0x57, 0x73, 0x6063) /* <CJK> */
-MAP(0x57, 0x74, 0x6043) /* <CJK> */
-MAP(0x57, 0x75, 0x6064) /* <CJK> */
-MAP(0x57, 0x76, 0x6042) /* <CJK> */
-MAP(0x57, 0x77, 0x606C) /* <CJK> */
-MAP(0x57, 0x78, 0x606B) /* <CJK> */
-MAP(0x57, 0x79, 0x6059) /* <CJK> */
-MAP(0x57, 0x7A, 0x6081) /* <CJK> */
-MAP(0x57, 0x7B, 0x608D) /* <CJK> */
-MAP(0x57, 0x7C, 0x60E7) /* <CJK> */
-MAP(0x57, 0x7D, 0x6083) /* <CJK> */
-MAP(0x57, 0x7E, 0x609A) /* <CJK> */
-MAP(0x58, 0x21, 0x6084) /* <CJK> */
-MAP(0x58, 0x22, 0x609B) /* <CJK> */
-MAP(0x58, 0x23, 0x6096) /* <CJK> */
-MAP(0x58, 0x24, 0x6097) /* <CJK> */
-MAP(0x58, 0x25, 0x6092) /* <CJK> */
-MAP(0x58, 0x26, 0x60A7) /* <CJK> */
-MAP(0x58, 0x27, 0x608B) /* <CJK> */
-MAP(0x58, 0x28, 0x60E1) /* <CJK> */
-MAP(0x58, 0x29, 0x60B8) /* <CJK> */
-MAP(0x58, 0x2A, 0x60E0) /* <CJK> */
-MAP(0x58, 0x2B, 0x60D3) /* <CJK> */
-MAP(0x58, 0x2C, 0x60B4) /* <CJK> */
-MAP(0x58, 0x2D, 0x5FF0) /* <CJK> */
-MAP(0x58, 0x2E, 0x60BD) /* <CJK> */
-MAP(0x58, 0x2F, 0x60C6) /* <CJK> */
-MAP(0x58, 0x30, 0x60B5) /* <CJK> */
-MAP(0x58, 0x31, 0x60D8) /* <CJK> */
-MAP(0x58, 0x32, 0x614D) /* <CJK> */
-MAP(0x58, 0x33, 0x6115) /* <CJK> */
-MAP(0x58, 0x34, 0x6106) /* <CJK> */
-MAP(0x58, 0x35, 0x60F6) /* <CJK> */
-MAP(0x58, 0x36, 0x60F7) /* <CJK> */
-MAP(0x58, 0x37, 0x6100) /* <CJK> */
-MAP(0x58, 0x38, 0x60F4) /* <CJK> */
-MAP(0x58, 0x39, 0x60FA) /* <CJK> */
-MAP(0x58, 0x3A, 0x6103) /* <CJK> */
-MAP(0x58, 0x3B, 0x6121) /* <CJK> */
-MAP(0x58, 0x3C, 0x60FB) /* <CJK> */
-MAP(0x58, 0x3D, 0x60F1) /* <CJK> */
-MAP(0x58, 0x3E, 0x610D) /* <CJK> */
-MAP(0x58, 0x3F, 0x610E) /* <CJK> */
-MAP(0x58, 0x40, 0x6147) /* <CJK> */
-MAP(0x58, 0x41, 0x613E) /* <CJK> */
-MAP(0x58, 0x42, 0x6128) /* <CJK> */
-MAP(0x58, 0x43, 0x6127) /* <CJK> */
-MAP(0x58, 0x44, 0x614A) /* <CJK> */
-MAP(0x58, 0x45, 0x613F) /* <CJK> */
-MAP(0x58, 0x46, 0x613C) /* <CJK> */
-MAP(0x58, 0x47, 0x612C) /* <CJK> */
-MAP(0x58, 0x48, 0x6134) /* <CJK> */
-MAP(0x58, 0x49, 0x613D) /* <CJK> */
-MAP(0x58, 0x4A, 0x6142) /* <CJK> */
-MAP(0x58, 0x4B, 0x6144) /* <CJK> */
-MAP(0x58, 0x4C, 0x6173) /* <CJK> */
-MAP(0x58, 0x4D, 0x6177) /* <CJK> */
-MAP(0x58, 0x4E, 0x6158) /* <CJK> */
-MAP(0x58, 0x4F, 0x6159) /* <CJK> */
-MAP(0x58, 0x50, 0x615A) /* <CJK> */
-MAP(0x58, 0x51, 0x616B) /* <CJK> */
-MAP(0x58, 0x52, 0x6174) /* <CJK> */
-MAP(0x58, 0x53, 0x616F) /* <CJK> */
-MAP(0x58, 0x54, 0x6165) /* <CJK> */
-MAP(0x58, 0x55, 0x6171) /* <CJK> */
-MAP(0x58, 0x56, 0x615F) /* <CJK> */
-MAP(0x58, 0x57, 0x615D) /* <CJK> */
-MAP(0x58, 0x58, 0x6153) /* <CJK> */
-MAP(0x58, 0x59, 0x6175) /* <CJK> */
-MAP(0x58, 0x5A, 0x6199) /* <CJK> */
-MAP(0x58, 0x5B, 0x6196) /* <CJK> */
-MAP(0x58, 0x5C, 0x6187) /* <CJK> */
-MAP(0x58, 0x5D, 0x61AC) /* <CJK> */
-MAP(0x58, 0x5E, 0x6194) /* <CJK> */
-MAP(0x58, 0x5F, 0x619A) /* <CJK> */
-MAP(0x58, 0x60, 0x618A) /* <CJK> */
-MAP(0x58, 0x61, 0x6191) /* <CJK> */
-MAP(0x58, 0x62, 0x61AB) /* <CJK> */
-MAP(0x58, 0x63, 0x61AE) /* <CJK> */
-MAP(0x58, 0x64, 0x61CC) /* <CJK> */
-MAP(0x58, 0x65, 0x61CA) /* <CJK> */
-MAP(0x58, 0x66, 0x61C9) /* <CJK> */
-MAP(0x58, 0x67, 0x61F7) /* <CJK> */
-MAP(0x58, 0x68, 0x61C8) /* <CJK> */
-MAP(0x58, 0x69, 0x61C3) /* <CJK> */
-MAP(0x58, 0x6A, 0x61C6) /* <CJK> */
-MAP(0x58, 0x6B, 0x61BA) /* <CJK> */
-MAP(0x58, 0x6C, 0x61CB) /* <CJK> */
-MAP(0x58, 0x6D, 0x7F79) /* <CJK> */
-MAP(0x58, 0x6E, 0x61CD) /* <CJK> */
-MAP(0x58, 0x6F, 0x61E6) /* <CJK> */
-MAP(0x58, 0x70, 0x61E3) /* <CJK> */
-MAP(0x58, 0x71, 0x61F6) /* <CJK> */
-MAP(0x58, 0x72, 0x61FA) /* <CJK> */
-MAP(0x58, 0x73, 0x61F4) /* <CJK> */
-MAP(0x58, 0x74, 0x61FF) /* <CJK> */
-MAP(0x58, 0x75, 0x61FD) /* <CJK> */
-MAP(0x58, 0x76, 0x61FC) /* <CJK> */
-MAP(0x58, 0x77, 0x61FE) /* <CJK> */
-MAP(0x58, 0x78, 0x6200) /* <CJK> */
-MAP(0x58, 0x79, 0x6208) /* <CJK> */
-MAP(0x58, 0x7A, 0x6209) /* <CJK> */
-MAP(0x58, 0x7B, 0x620D) /* <CJK> */
-MAP(0x58, 0x7C, 0x620C) /* <CJK> */
-MAP(0x58, 0x7D, 0x6214) /* <CJK> */
-MAP(0x58, 0x7E, 0x621B) /* <CJK> */
-MAP(0x59, 0x21, 0x621E) /* <CJK> */
-MAP(0x59, 0x22, 0x6221) /* <CJK> */
-MAP(0x59, 0x23, 0x622A) /* <CJK> */
-MAP(0x59, 0x24, 0x622E) /* <CJK> */
-MAP(0x59, 0x25, 0x6230) /* <CJK> */
-MAP(0x59, 0x26, 0x6232) /* <CJK> */
-MAP(0x59, 0x27, 0x6233) /* <CJK> */
-MAP(0x59, 0x28, 0x6241) /* <CJK> */
-MAP(0x59, 0x29, 0x624E) /* <CJK> */
-MAP(0x59, 0x2A, 0x625E) /* <CJK> */
-MAP(0x59, 0x2B, 0x6263) /* <CJK> */
-MAP(0x59, 0x2C, 0x625B) /* <CJK> */
-MAP(0x59, 0x2D, 0x6260) /* <CJK> */
-MAP(0x59, 0x2E, 0x6268) /* <CJK> */
-MAP(0x59, 0x2F, 0x627C) /* <CJK> */
-MAP(0x59, 0x30, 0x6282) /* <CJK> */
-MAP(0x59, 0x31, 0x6289) /* <CJK> */
-MAP(0x59, 0x32, 0x627E) /* <CJK> */
-MAP(0x59, 0x33, 0x6292) /* <CJK> */
-MAP(0x59, 0x34, 0x6293) /* <CJK> */
-MAP(0x59, 0x35, 0x6296) /* <CJK> */
-MAP(0x59, 0x36, 0x62D4) /* <CJK> */
-MAP(0x59, 0x37, 0x6283) /* <CJK> */
-MAP(0x59, 0x38, 0x6294) /* <CJK> */
-MAP(0x59, 0x39, 0x62D7) /* <CJK> */
-MAP(0x59, 0x3A, 0x62D1) /* <CJK> */
-MAP(0x59, 0x3B, 0x62BB) /* <CJK> */
-MAP(0x59, 0x3C, 0x62CF) /* <CJK> */
-MAP(0x59, 0x3D, 0x62FF) /* <CJK> */
-MAP(0x59, 0x3E, 0x62C6) /* <CJK> */
-MAP(0x59, 0x3F, 0x64D4) /* <CJK> */
-MAP(0x59, 0x40, 0x62C8) /* <CJK> */
-MAP(0x59, 0x41, 0x62DC) /* <CJK> */
-MAP(0x59, 0x42, 0x62CC) /* <CJK> */
-MAP(0x59, 0x43, 0x62CA) /* <CJK> */
-MAP(0x59, 0x44, 0x62C2) /* <CJK> */
-MAP(0x59, 0x45, 0x62C7) /* <CJK> */
-MAP(0x59, 0x46, 0x629B) /* <CJK> */
-MAP(0x59, 0x47, 0x62C9) /* <CJK> */
-MAP(0x59, 0x48, 0x630C) /* <CJK> */
-MAP(0x59, 0x49, 0x62EE) /* <CJK> */
-MAP(0x59, 0x4A, 0x62F1) /* <CJK> */
-MAP(0x59, 0x4B, 0x6327) /* <CJK> */
-MAP(0x59, 0x4C, 0x6302) /* <CJK> */
-MAP(0x59, 0x4D, 0x6308) /* <CJK> */
-MAP(0x59, 0x4E, 0x62EF) /* <CJK> */
-MAP(0x59, 0x4F, 0x62F5) /* <CJK> */
-MAP(0x59, 0x50, 0x6350) /* <CJK> */
-MAP(0x59, 0x51, 0x633E) /* <CJK> */
-MAP(0x59, 0x52, 0x634D) /* <CJK> */
-MAP(0x59, 0x53, 0x641C) /* <CJK> */
-MAP(0x59, 0x54, 0x634F) /* <CJK> */
-MAP(0x59, 0x55, 0x6396) /* <CJK> */
-MAP(0x59, 0x56, 0x638E) /* <CJK> */
-MAP(0x59, 0x57, 0x6380) /* <CJK> */
-MAP(0x59, 0x58, 0x63AB) /* <CJK> */
-MAP(0x59, 0x59, 0x6376) /* <CJK> */
-MAP(0x59, 0x5A, 0x63A3) /* <CJK> */
-MAP(0x59, 0x5B, 0x638F) /* <CJK> */
-MAP(0x59, 0x5C, 0x6389) /* <CJK> */
-MAP(0x59, 0x5D, 0x639F) /* <CJK> */
-MAP(0x59, 0x5E, 0x63B5) /* <CJK> */
-MAP(0x59, 0x5F, 0x636B) /* <CJK> */
-MAP(0x59, 0x60, 0x6369) /* <CJK> */
-MAP(0x59, 0x61, 0x63BE) /* <CJK> */
-MAP(0x59, 0x62, 0x63E9) /* <CJK> */
-MAP(0x59, 0x63, 0x63C0) /* <CJK> */
-MAP(0x59, 0x64, 0x63C6) /* <CJK> */
-MAP(0x59, 0x65, 0x63E3) /* <CJK> */
-MAP(0x59, 0x66, 0x63C9) /* <CJK> */
-MAP(0x59, 0x67, 0x63D2) /* <CJK> */
-MAP(0x59, 0x68, 0x63F6) /* <CJK> */
-MAP(0x59, 0x69, 0x63C4) /* <CJK> */
-MAP(0x59, 0x6A, 0x6416) /* <CJK> */
-MAP(0x59, 0x6B, 0x6434) /* <CJK> */
-MAP(0x59, 0x6C, 0x6406) /* <CJK> */
-MAP(0x59, 0x6D, 0x6413) /* <CJK> */
-MAP(0x59, 0x6E, 0x6426) /* <CJK> */
-MAP(0x59, 0x6F, 0x6436) /* <CJK> */
-MAP(0x59, 0x70, 0x651D) /* <CJK> */
-MAP(0x59, 0x71, 0x6417) /* <CJK> */
-MAP(0x59, 0x72, 0x6428) /* <CJK> */
-MAP(0x59, 0x73, 0x640F) /* <CJK> */
-MAP(0x59, 0x74, 0x6467) /* <CJK> */
-MAP(0x59, 0x75, 0x646F) /* <CJK> */
-MAP(0x59, 0x76, 0x6476) /* <CJK> */
-MAP(0x59, 0x77, 0x644E) /* <CJK> */
-MAP(0x59, 0x78, 0x652A) /* <CJK> */
-MAP(0x59, 0x79, 0x6495) /* <CJK> */
-MAP(0x59, 0x7A, 0x6493) /* <CJK> */
-MAP(0x59, 0x7B, 0x64A5) /* <CJK> */
-MAP(0x59, 0x7C, 0x64A9) /* <CJK> */
-MAP(0x59, 0x7D, 0x6488) /* <CJK> */
-MAP(0x59, 0x7E, 0x64BC) /* <CJK> */
-MAP(0x5A, 0x21, 0x64DA) /* <CJK> */
-MAP(0x5A, 0x22, 0x64D2) /* <CJK> */
-MAP(0x5A, 0x23, 0x64C5) /* <CJK> */
-MAP(0x5A, 0x24, 0x64C7) /* <CJK> */
-MAP(0x5A, 0x25, 0x64BB) /* <CJK> */
-MAP(0x5A, 0x26, 0x64D8) /* <CJK> */
-MAP(0x5A, 0x27, 0x64C2) /* <CJK> */
-MAP(0x5A, 0x28, 0x64F1) /* <CJK> */
-MAP(0x5A, 0x29, 0x64E7) /* <CJK> */
-MAP(0x5A, 0x2A, 0x8209) /* <CJK> */
-MAP(0x5A, 0x2B, 0x64E0) /* <CJK> */
-MAP(0x5A, 0x2C, 0x64E1) /* <CJK> */
-MAP(0x5A, 0x2D, 0x62AC) /* <CJK> */
-MAP(0x5A, 0x2E, 0x64E3) /* <CJK> */
-MAP(0x5A, 0x2F, 0x64EF) /* <CJK> */
-MAP(0x5A, 0x30, 0x652C) /* <CJK> */
-MAP(0x5A, 0x31, 0x64F6) /* <CJK> */
-MAP(0x5A, 0x32, 0x64F4) /* <CJK> */
-MAP(0x5A, 0x33, 0x64F2) /* <CJK> */
-MAP(0x5A, 0x34, 0x64FA) /* <CJK> */
-MAP(0x5A, 0x35, 0x6500) /* <CJK> */
-MAP(0x5A, 0x36, 0x64FD) /* <CJK> */
-MAP(0x5A, 0x37, 0x6518) /* <CJK> */
-MAP(0x5A, 0x38, 0x651C) /* <CJK> */
-MAP(0x5A, 0x39, 0x6505) /* <CJK> */
-MAP(0x5A, 0x3A, 0x6524) /* <CJK> */
-MAP(0x5A, 0x3B, 0x6523) /* <CJK> */
-MAP(0x5A, 0x3C, 0x652B) /* <CJK> */
-MAP(0x5A, 0x3D, 0x6534) /* <CJK> */
-MAP(0x5A, 0x3E, 0x6535) /* <CJK> */
-MAP(0x5A, 0x3F, 0x6537) /* <CJK> */
-MAP(0x5A, 0x40, 0x6536) /* <CJK> */
-MAP(0x5A, 0x41, 0x6538) /* <CJK> */
-MAP(0x5A, 0x42, 0x754B) /* <CJK> */
-MAP(0x5A, 0x43, 0x6548) /* <CJK> */
-MAP(0x5A, 0x44, 0x6556) /* <CJK> */
-MAP(0x5A, 0x45, 0x6555) /* <CJK> */
-MAP(0x5A, 0x46, 0x654D) /* <CJK> */
-MAP(0x5A, 0x47, 0x6558) /* <CJK> */
-MAP(0x5A, 0x48, 0x655E) /* <CJK> */
-MAP(0x5A, 0x49, 0x655D) /* <CJK> */
-MAP(0x5A, 0x4A, 0x6572) /* <CJK> */
-MAP(0x5A, 0x4B, 0x6578) /* <CJK> */
-MAP(0x5A, 0x4C, 0x6582) /* <CJK> */
-MAP(0x5A, 0x4D, 0x6583) /* <CJK> */
-MAP(0x5A, 0x4E, 0x8B8A) /* <CJK> */
-MAP(0x5A, 0x4F, 0x659B) /* <CJK> */
-MAP(0x5A, 0x50, 0x659F) /* <CJK> */
-MAP(0x5A, 0x51, 0x65AB) /* <CJK> */
-MAP(0x5A, 0x52, 0x65B7) /* <CJK> */
-MAP(0x5A, 0x53, 0x65C3) /* <CJK> */
-MAP(0x5A, 0x54, 0x65C6) /* <CJK> */
-MAP(0x5A, 0x55, 0x65C1) /* <CJK> */
-MAP(0x5A, 0x56, 0x65C4) /* <CJK> */
-MAP(0x5A, 0x57, 0x65CC) /* <CJK> */
-MAP(0x5A, 0x58, 0x65D2) /* <CJK> */
-MAP(0x5A, 0x59, 0x65DB) /* <CJK> */
-MAP(0x5A, 0x5A, 0x65D9) /* <CJK> */
-MAP(0x5A, 0x5B, 0x65E0) /* <CJK> */
-MAP(0x5A, 0x5C, 0x65E1) /* <CJK> */
-MAP(0x5A, 0x5D, 0x65F1) /* <CJK> */
-MAP(0x5A, 0x5E, 0x6772) /* <CJK> */
-MAP(0x5A, 0x5F, 0x660A) /* <CJK> */
-MAP(0x5A, 0x60, 0x6603) /* <CJK> */
-MAP(0x5A, 0x61, 0x65FB) /* <CJK> */
-MAP(0x5A, 0x62, 0x6773) /* <CJK> */
-MAP(0x5A, 0x63, 0x6635) /* <CJK> */
-MAP(0x5A, 0x64, 0x6636) /* <CJK> */
-MAP(0x5A, 0x65, 0x6634) /* <CJK> */
-MAP(0x5A, 0x66, 0x661C) /* <CJK> */
-MAP(0x5A, 0x67, 0x664F) /* <CJK> */
-MAP(0x5A, 0x68, 0x6644) /* <CJK> */
-MAP(0x5A, 0x69, 0x6649) /* <CJK> */
-MAP(0x5A, 0x6A, 0x6641) /* <CJK> */
-MAP(0x5A, 0x6B, 0x665E) /* <CJK> */
-MAP(0x5A, 0x6C, 0x665D) /* <CJK> */
-MAP(0x5A, 0x6D, 0x6664) /* <CJK> */
-MAP(0x5A, 0x6E, 0x6667) /* <CJK> */
-MAP(0x5A, 0x6F, 0x6668) /* <CJK> */
-MAP(0x5A, 0x70, 0x665F) /* <CJK> */
-MAP(0x5A, 0x71, 0x6662) /* <CJK> */
-MAP(0x5A, 0x72, 0x6670) /* <CJK> */
-MAP(0x5A, 0x73, 0x6683) /* <CJK> */
-MAP(0x5A, 0x74, 0x6688) /* <CJK> */
-MAP(0x5A, 0x75, 0x668E) /* <CJK> */
-MAP(0x5A, 0x76, 0x6689) /* <CJK> */
-MAP(0x5A, 0x77, 0x6684) /* <CJK> */
-MAP(0x5A, 0x78, 0x6698) /* <CJK> */
-MAP(0x5A, 0x79, 0x669D) /* <CJK> */
-MAP(0x5A, 0x7A, 0x66C1) /* <CJK> */
-MAP(0x5A, 0x7B, 0x66B9) /* <CJK> */
-MAP(0x5A, 0x7C, 0x66C9) /* <CJK> */
-MAP(0x5A, 0x7D, 0x66BE) /* <CJK> */
-MAP(0x5A, 0x7E, 0x66BC) /* <CJK> */
-MAP(0x5B, 0x21, 0x66C4) /* <CJK> */
-MAP(0x5B, 0x22, 0x66B8) /* <CJK> */
-MAP(0x5B, 0x23, 0x66D6) /* <CJK> */
-MAP(0x5B, 0x24, 0x66DA) /* <CJK> */
-MAP(0x5B, 0x25, 0x66E0) /* <CJK> */
-MAP(0x5B, 0x26, 0x663F) /* <CJK> */
-MAP(0x5B, 0x27, 0x66E6) /* <CJK> */
-MAP(0x5B, 0x28, 0x66E9) /* <CJK> */
-MAP(0x5B, 0x29, 0x66F0) /* <CJK> */
-MAP(0x5B, 0x2A, 0x66F5) /* <CJK> */
-MAP(0x5B, 0x2B, 0x66F7) /* <CJK> */
-MAP(0x5B, 0x2C, 0x670F) /* <CJK> */
-MAP(0x5B, 0x2D, 0x6716) /* <CJK> */
-MAP(0x5B, 0x2E, 0x671E) /* <CJK> */
-MAP(0x5B, 0x2F, 0x6726) /* <CJK> */
-MAP(0x5B, 0x30, 0x6727) /* <CJK> */
-MAP(0x5B, 0x31, 0x9738) /* <CJK> */
-MAP(0x5B, 0x32, 0x672E) /* <CJK> */
-MAP(0x5B, 0x33, 0x673F) /* <CJK> */
-MAP(0x5B, 0x34, 0x6736) /* <CJK> */
-MAP(0x5B, 0x35, 0x6741) /* <CJK> */
-MAP(0x5B, 0x36, 0x6738) /* <CJK> */
-MAP(0x5B, 0x37, 0x6737) /* <CJK> */
-MAP(0x5B, 0x38, 0x6746) /* <CJK> */
-MAP(0x5B, 0x39, 0x675E) /* <CJK> */
-MAP(0x5B, 0x3A, 0x6760) /* <CJK> */
-MAP(0x5B, 0x3B, 0x6759) /* <CJK> */
-MAP(0x5B, 0x3C, 0x6763) /* <CJK> */
-MAP(0x5B, 0x3D, 0x6764) /* <CJK> */
-MAP(0x5B, 0x3E, 0x6789) /* <CJK> */
-MAP(0x5B, 0x3F, 0x6770) /* <CJK> */
-MAP(0x5B, 0x40, 0x67A9) /* <CJK> */
-MAP(0x5B, 0x41, 0x677C) /* <CJK> */
-MAP(0x5B, 0x42, 0x676A) /* <CJK> */
-MAP(0x5B, 0x43, 0x678C) /* <CJK> */
-MAP(0x5B, 0x44, 0x678B) /* <CJK> */
-MAP(0x5B, 0x45, 0x67A6) /* <CJK> */
-MAP(0x5B, 0x46, 0x67A1) /* <CJK> */
-MAP(0x5B, 0x47, 0x6785) /* <CJK> */
-MAP(0x5B, 0x48, 0x67B7) /* <CJK> */
-MAP(0x5B, 0x49, 0x67EF) /* <CJK> */
-MAP(0x5B, 0x4A, 0x67B4) /* <CJK> */
-MAP(0x5B, 0x4B, 0x67EC) /* <CJK> */
-MAP(0x5B, 0x4C, 0x67B3) /* <CJK> */
-MAP(0x5B, 0x4D, 0x67E9) /* <CJK> */
-MAP(0x5B, 0x4E, 0x67B8) /* <CJK> */
-MAP(0x5B, 0x4F, 0x67E4) /* <CJK> */
-MAP(0x5B, 0x50, 0x67DE) /* <CJK> */
-MAP(0x5B, 0x51, 0x67DD) /* <CJK> */
-MAP(0x5B, 0x52, 0x67E2) /* <CJK> */
-MAP(0x5B, 0x53, 0x67EE) /* <CJK> */
-MAP(0x5B, 0x54, 0x67B9) /* <CJK> */
-MAP(0x5B, 0x55, 0x67CE) /* <CJK> */
-MAP(0x5B, 0x56, 0x67C6) /* <CJK> */
-MAP(0x5B, 0x57, 0x67E7) /* <CJK> */
-MAP(0x5B, 0x58, 0x6A9C) /* <CJK> */
-MAP(0x5B, 0x59, 0x681E) /* <CJK> */
-MAP(0x5B, 0x5A, 0x6846) /* <CJK> */
-MAP(0x5B, 0x5B, 0x6829) /* <CJK> */
-MAP(0x5B, 0x5C, 0x6840) /* <CJK> */
-MAP(0x5B, 0x5D, 0x684D) /* <CJK> */
-MAP(0x5B, 0x5E, 0x6832) /* <CJK> */
-MAP(0x5B, 0x5F, 0x684E) /* <CJK> */
-MAP(0x5B, 0x60, 0x68B3) /* <CJK> */
-MAP(0x5B, 0x61, 0x682B) /* <CJK> */
-MAP(0x5B, 0x62, 0x6859) /* <CJK> */
-MAP(0x5B, 0x63, 0x6863) /* <CJK> */
-MAP(0x5B, 0x64, 0x6877) /* <CJK> */
-MAP(0x5B, 0x65, 0x687F) /* <CJK> */
-MAP(0x5B, 0x66, 0x689F) /* <CJK> */
-MAP(0x5B, 0x67, 0x688F) /* <CJK> */
-MAP(0x5B, 0x68, 0x68AD) /* <CJK> */
-MAP(0x5B, 0x69, 0x6894) /* <CJK> */
-MAP(0x5B, 0x6A, 0x689D) /* <CJK> */
-MAP(0x5B, 0x6B, 0x689B) /* <CJK> */
-MAP(0x5B, 0x6C, 0x6883) /* <CJK> */
-MAP(0x5B, 0x6D, 0x6AAE) /* <CJK> */
-MAP(0x5B, 0x6E, 0x68B9) /* <CJK> */
-MAP(0x5B, 0x6F, 0x6874) /* <CJK> */
-MAP(0x5B, 0x70, 0x68B5) /* <CJK> */
-MAP(0x5B, 0x71, 0x68A0) /* <CJK> */
-MAP(0x5B, 0x72, 0x68BA) /* <CJK> */
-MAP(0x5B, 0x73, 0x690F) /* <CJK> */
-MAP(0x5B, 0x74, 0x688D) /* <CJK> */
-MAP(0x5B, 0x75, 0x687E) /* <CJK> */
-MAP(0x5B, 0x76, 0x6901) /* <CJK> */
-MAP(0x5B, 0x77, 0x68CA) /* <CJK> */
-MAP(0x5B, 0x78, 0x6908) /* <CJK> */
-MAP(0x5B, 0x79, 0x68D8) /* <CJK> */
-MAP(0x5B, 0x7A, 0x6922) /* <CJK> */
-MAP(0x5B, 0x7B, 0x6926) /* <CJK> */
-MAP(0x5B, 0x7C, 0x68E1) /* <CJK> */
-MAP(0x5B, 0x7D, 0x690C) /* <CJK> */
-MAP(0x5B, 0x7E, 0x68CD) /* <CJK> */
-MAP(0x5C, 0x21, 0x68D4) /* <CJK> */
-MAP(0x5C, 0x22, 0x68E7) /* <CJK> */
-MAP(0x5C, 0x23, 0x68D5) /* <CJK> */
-MAP(0x5C, 0x24, 0x6936) /* <CJK> */
-MAP(0x5C, 0x25, 0x6912) /* <CJK> */
-MAP(0x5C, 0x26, 0x6904) /* <CJK> */
-MAP(0x5C, 0x27, 0x68D7) /* <CJK> */
-MAP(0x5C, 0x28, 0x68E3) /* <CJK> */
-MAP(0x5C, 0x29, 0x6925) /* <CJK> */
-MAP(0x5C, 0x2A, 0x68F9) /* <CJK> */
-MAP(0x5C, 0x2B, 0x68E0) /* <CJK> */
-MAP(0x5C, 0x2C, 0x68EF) /* <CJK> */
-MAP(0x5C, 0x2D, 0x6928) /* <CJK> */
-MAP(0x5C, 0x2E, 0x692A) /* <CJK> */
-MAP(0x5C, 0x2F, 0x691A) /* <CJK> */
-MAP(0x5C, 0x30, 0x6923) /* <CJK> */
-MAP(0x5C, 0x31, 0x6921) /* <CJK> */
-MAP(0x5C, 0x32, 0x68C6) /* <CJK> */
-MAP(0x5C, 0x33, 0x6979) /* <CJK> */
-MAP(0x5C, 0x34, 0x6977) /* <CJK> */
-MAP(0x5C, 0x35, 0x695C) /* <CJK> */
-MAP(0x5C, 0x36, 0x6978) /* <CJK> */
-MAP(0x5C, 0x37, 0x696B) /* <CJK> */
-MAP(0x5C, 0x38, 0x6954) /* <CJK> */
-MAP(0x5C, 0x39, 0x697E) /* <CJK> */
-MAP(0x5C, 0x3A, 0x696E) /* <CJK> */
-MAP(0x5C, 0x3B, 0x6939) /* <CJK> */
-MAP(0x5C, 0x3C, 0x6974) /* <CJK> */
-MAP(0x5C, 0x3D, 0x693D) /* <CJK> */
-MAP(0x5C, 0x3E, 0x6959) /* <CJK> */
-MAP(0x5C, 0x3F, 0x6930) /* <CJK> */
-MAP(0x5C, 0x40, 0x6961) /* <CJK> */
-MAP(0x5C, 0x41, 0x695E) /* <CJK> */
-MAP(0x5C, 0x42, 0x695D) /* <CJK> */
-MAP(0x5C, 0x43, 0x6981) /* <CJK> */
-MAP(0x5C, 0x44, 0x696A) /* <CJK> */
-MAP(0x5C, 0x45, 0x69B2) /* <CJK> */
-MAP(0x5C, 0x46, 0x69AE) /* <CJK> */
-MAP(0x5C, 0x47, 0x69D0) /* <CJK> */
-MAP(0x5C, 0x48, 0x69BF) /* <CJK> */
-MAP(0x5C, 0x49, 0x69C1) /* <CJK> */
-MAP(0x5C, 0x4A, 0x69D3) /* <CJK> */
-MAP(0x5C, 0x4B, 0x69BE) /* <CJK> */
-MAP(0x5C, 0x4C, 0x69CE) /* <CJK> */
-MAP(0x5C, 0x4D, 0x5BE8) /* <CJK> */
-MAP(0x5C, 0x4E, 0x69CA) /* <CJK> */
-MAP(0x5C, 0x4F, 0x69DD) /* <CJK> */
-MAP(0x5C, 0x50, 0x69BB) /* <CJK> */
-MAP(0x5C, 0x51, 0x69C3) /* <CJK> */
-MAP(0x5C, 0x52, 0x69A7) /* <CJK> */
-MAP(0x5C, 0x53, 0x6A2E) /* <CJK> */
-MAP(0x5C, 0x54, 0x6991) /* <CJK> */
-MAP(0x5C, 0x55, 0x69A0) /* <CJK> */
-MAP(0x5C, 0x56, 0x699C) /* <CJK> */
-MAP(0x5C, 0x57, 0x6995) /* <CJK> */
-MAP(0x5C, 0x58, 0x69B4) /* <CJK> */
-MAP(0x5C, 0x59, 0x69DE) /* <CJK> */
-MAP(0x5C, 0x5A, 0x69E8) /* <CJK> */
-MAP(0x5C, 0x5B, 0x6A02) /* <CJK> */
-MAP(0x5C, 0x5C, 0x6A1B) /* <CJK> */
-MAP(0x5C, 0x5D, 0x69FF) /* <CJK> */
-MAP(0x5C, 0x5E, 0x6B0A) /* <CJK> */
-MAP(0x5C, 0x5F, 0x69F9) /* <CJK> */
-MAP(0x5C, 0x60, 0x69F2) /* <CJK> */
-MAP(0x5C, 0x61, 0x69E7) /* <CJK> */
-MAP(0x5C, 0x62, 0x6A05) /* <CJK> */
-MAP(0x5C, 0x63, 0x69B1) /* <CJK> */
-MAP(0x5C, 0x64, 0x6A1E) /* <CJK> */
-MAP(0x5C, 0x65, 0x69ED) /* <CJK> */
-MAP(0x5C, 0x66, 0x6A14) /* <CJK> */
-MAP(0x5C, 0x67, 0x69EB) /* <CJK> */
-MAP(0x5C, 0x68, 0x6A0A) /* <CJK> */
-MAP(0x5C, 0x69, 0x6A12) /* <CJK> */
-MAP(0x5C, 0x6A, 0x6AC1) /* <CJK> */
-MAP(0x5C, 0x6B, 0x6A23) /* <CJK> */
-MAP(0x5C, 0x6C, 0x6A13) /* <CJK> */
-MAP(0x5C, 0x6D, 0x6A44) /* <CJK> */
-MAP(0x5C, 0x6E, 0x6A0C) /* <CJK> */
-MAP(0x5C, 0x6F, 0x6A72) /* <CJK> */
-MAP(0x5C, 0x70, 0x6A36) /* <CJK> */
-MAP(0x5C, 0x71, 0x6A78) /* <CJK> */
-MAP(0x5C, 0x72, 0x6A47) /* <CJK> */
-MAP(0x5C, 0x73, 0x6A62) /* <CJK> */
-MAP(0x5C, 0x74, 0x6A59) /* <CJK> */
-MAP(0x5C, 0x75, 0x6A66) /* <CJK> */
-MAP(0x5C, 0x76, 0x6A48) /* <CJK> */
-MAP(0x5C, 0x77, 0x6A38) /* <CJK> */
-MAP(0x5C, 0x78, 0x6A22) /* <CJK> */
-MAP(0x5C, 0x79, 0x6A90) /* <CJK> */
-MAP(0x5C, 0x7A, 0x6A8D) /* <CJK> */
-MAP(0x5C, 0x7B, 0x6AA0) /* <CJK> */
-MAP(0x5C, 0x7C, 0x6A84) /* <CJK> */
-MAP(0x5C, 0x7D, 0x6AA2) /* <CJK> */
-MAP(0x5C, 0x7E, 0x6AA3) /* <CJK> */
-MAP(0x5D, 0x21, 0x6A97) /* <CJK> */
-MAP(0x5D, 0x22, 0x8617) /* <CJK> */
-MAP(0x5D, 0x23, 0x6ABB) /* <CJK> */
-MAP(0x5D, 0x24, 0x6AC3) /* <CJK> */
-MAP(0x5D, 0x25, 0x6AC2) /* <CJK> */
-MAP(0x5D, 0x26, 0x6AB8) /* <CJK> */
-MAP(0x5D, 0x27, 0x6AB3) /* <CJK> */
-MAP(0x5D, 0x28, 0x6AAC) /* <CJK> */
-MAP(0x5D, 0x29, 0x6ADE) /* <CJK> */
-MAP(0x5D, 0x2A, 0x6AD1) /* <CJK> */
-MAP(0x5D, 0x2B, 0x6ADF) /* <CJK> */
-MAP(0x5D, 0x2C, 0x6AAA) /* <CJK> */
-MAP(0x5D, 0x2D, 0x6ADA) /* <CJK> */
-MAP(0x5D, 0x2E, 0x6AEA) /* <CJK> */
-MAP(0x5D, 0x2F, 0x6AFB) /* <CJK> */
-MAP(0x5D, 0x30, 0x6B05) /* <CJK> */
-MAP(0x5D, 0x31, 0x8616) /* <CJK> */
-MAP(0x5D, 0x32, 0x6AFA) /* <CJK> */
-MAP(0x5D, 0x33, 0x6B12) /* <CJK> */
-MAP(0x5D, 0x34, 0x6B16) /* <CJK> */
-MAP(0x5D, 0x35, 0x9B31) /* <CJK> */
-MAP(0x5D, 0x36, 0x6B1F) /* <CJK> */
-MAP(0x5D, 0x37, 0x6B38) /* <CJK> */
-MAP(0x5D, 0x38, 0x6B37) /* <CJK> */
-MAP(0x5D, 0x39, 0x76DC) /* <CJK> */
-MAP(0x5D, 0x3A, 0x6B39) /* <CJK> */
-MAP(0x5D, 0x3B, 0x98EE) /* <CJK> */
-MAP(0x5D, 0x3C, 0x6B47) /* <CJK> */
-MAP(0x5D, 0x3D, 0x6B43) /* <CJK> */
-MAP(0x5D, 0x3E, 0x6B49) /* <CJK> */
-MAP(0x5D, 0x3F, 0x6B50) /* <CJK> */
-MAP(0x5D, 0x40, 0x6B59) /* <CJK> */
-MAP(0x5D, 0x41, 0x6B54) /* <CJK> */
-MAP(0x5D, 0x42, 0x6B5B) /* <CJK> */
-MAP(0x5D, 0x43, 0x6B5F) /* <CJK> */
-MAP(0x5D, 0x44, 0x6B61) /* <CJK> */
-MAP(0x5D, 0x45, 0x6B78) /* <CJK> */
-MAP(0x5D, 0x46, 0x6B79) /* <CJK> */
-MAP(0x5D, 0x47, 0x6B7F) /* <CJK> */
-MAP(0x5D, 0x48, 0x6B80) /* <CJK> */
-MAP(0x5D, 0x49, 0x6B84) /* <CJK> */
-MAP(0x5D, 0x4A, 0x6B83) /* <CJK> */
-MAP(0x5D, 0x4B, 0x6B8D) /* <CJK> */
-MAP(0x5D, 0x4C, 0x6B98) /* <CJK> */
-MAP(0x5D, 0x4D, 0x6B95) /* <CJK> */
-MAP(0x5D, 0x4E, 0x6B9E) /* <CJK> */
-MAP(0x5D, 0x4F, 0x6BA4) /* <CJK> */
-MAP(0x5D, 0x50, 0x6BAA) /* <CJK> */
-MAP(0x5D, 0x51, 0x6BAB) /* <CJK> */
-MAP(0x5D, 0x52, 0x6BAF) /* <CJK> */
-MAP(0x5D, 0x53, 0x6BB2) /* <CJK> */
-MAP(0x5D, 0x54, 0x6BB1) /* <CJK> */
-MAP(0x5D, 0x55, 0x6BB3) /* <CJK> */
-MAP(0x5D, 0x56, 0x6BB7) /* <CJK> */
-MAP(0x5D, 0x57, 0x6BBC) /* <CJK> */
-MAP(0x5D, 0x58, 0x6BC6) /* <CJK> */
-MAP(0x5D, 0x59, 0x6BCB) /* <CJK> */
-MAP(0x5D, 0x5A, 0x6BD3) /* <CJK> */
-MAP(0x5D, 0x5B, 0x6BDF) /* <CJK> */
-MAP(0x5D, 0x5C, 0x6BEC) /* <CJK> */
-MAP(0x5D, 0x5D, 0x6BEB) /* <CJK> */
-MAP(0x5D, 0x5E, 0x6BF3) /* <CJK> */
-MAP(0x5D, 0x5F, 0x6BEF) /* <CJK> */
-MAP(0x5D, 0x60, 0x9EBE) /* <CJK> */
-MAP(0x5D, 0x61, 0x6C08) /* <CJK> */
-MAP(0x5D, 0x62, 0x6C13) /* <CJK> */
-MAP(0x5D, 0x63, 0x6C14) /* <CJK> */
-MAP(0x5D, 0x64, 0x6C1B) /* <CJK> */
-MAP(0x5D, 0x65, 0x6C24) /* <CJK> */
-MAP(0x5D, 0x66, 0x6C23) /* <CJK> */
-MAP(0x5D, 0x67, 0x6C5E) /* <CJK> */
-MAP(0x5D, 0x68, 0x6C55) /* <CJK> */
-MAP(0x5D, 0x69, 0x6C62) /* <CJK> */
-MAP(0x5D, 0x6A, 0x6C6A) /* <CJK> */
-MAP(0x5D, 0x6B, 0x6C82) /* <CJK> */
-MAP(0x5D, 0x6C, 0x6C8D) /* <CJK> */
-MAP(0x5D, 0x6D, 0x6C9A) /* <CJK> */
-MAP(0x5D, 0x6E, 0x6C81) /* <CJK> */
-MAP(0x5D, 0x6F, 0x6C9B) /* <CJK> */
-MAP(0x5D, 0x70, 0x6C7E) /* <CJK> */
-MAP(0x5D, 0x71, 0x6C68) /* <CJK> */
-MAP(0x5D, 0x72, 0x6C73) /* <CJK> */
-MAP(0x5D, 0x73, 0x6C92) /* <CJK> */
-MAP(0x5D, 0x74, 0x6C90) /* <CJK> */
-MAP(0x5D, 0x75, 0x6CC4) /* <CJK> */
-MAP(0x5D, 0x76, 0x6CF1) /* <CJK> */
-MAP(0x5D, 0x77, 0x6CD3) /* <CJK> */
-MAP(0x5D, 0x78, 0x6CBD) /* <CJK> */
-MAP(0x5D, 0x79, 0x6CD7) /* <CJK> */
-MAP(0x5D, 0x7A, 0x6CC5) /* <CJK> */
-MAP(0x5D, 0x7B, 0x6CDD) /* <CJK> */
-MAP(0x5D, 0x7C, 0x6CAE) /* <CJK> */
-MAP(0x5D, 0x7D, 0x6CB1) /* <CJK> */
-MAP(0x5D, 0x7E, 0x6CBE) /* <CJK> */
-MAP(0x5E, 0x21, 0x6CBA) /* <CJK> */
-MAP(0x5E, 0x22, 0x6CDB) /* <CJK> */
-MAP(0x5E, 0x23, 0x6CEF) /* <CJK> */
-MAP(0x5E, 0x24, 0x6CD9) /* <CJK> */
-MAP(0x5E, 0x25, 0x6CEA) /* <CJK> */
-MAP(0x5E, 0x26, 0x6D1F) /* <CJK> */
-MAP(0x5E, 0x27, 0x884D) /* <CJK> */
-MAP(0x5E, 0x28, 0x6D36) /* <CJK> */
-MAP(0x5E, 0x29, 0x6D2B) /* <CJK> */
-MAP(0x5E, 0x2A, 0x6D3D) /* <CJK> */
-MAP(0x5E, 0x2B, 0x6D38) /* <CJK> */
-MAP(0x5E, 0x2C, 0x6D19) /* <CJK> */
-MAP(0x5E, 0x2D, 0x6D35) /* <CJK> */
-MAP(0x5E, 0x2E, 0x6D33) /* <CJK> */
-MAP(0x5E, 0x2F, 0x6D12) /* <CJK> */
-MAP(0x5E, 0x30, 0x6D0C) /* <CJK> */
-MAP(0x5E, 0x31, 0x6D63) /* <CJK> */
-MAP(0x5E, 0x32, 0x6D93) /* <CJK> */
-MAP(0x5E, 0x33, 0x6D64) /* <CJK> */
-MAP(0x5E, 0x34, 0x6D5A) /* <CJK> */
-MAP(0x5E, 0x35, 0x6D79) /* <CJK> */
-MAP(0x5E, 0x36, 0x6D59) /* <CJK> */
-MAP(0x5E, 0x37, 0x6D8E) /* <CJK> */
-MAP(0x5E, 0x38, 0x6D95) /* <CJK> */
-MAP(0x5E, 0x39, 0x6FE4) /* <CJK> */
-MAP(0x5E, 0x3A, 0x6D85) /* <CJK> */
-MAP(0x5E, 0x3B, 0x6DF9) /* <CJK> */
-MAP(0x5E, 0x3C, 0x6E15) /* <CJK> */
-MAP(0x5E, 0x3D, 0x6E0A) /* <CJK> */
-MAP(0x5E, 0x3E, 0x6DB5) /* <CJK> */
-MAP(0x5E, 0x3F, 0x6DC7) /* <CJK> */
-MAP(0x5E, 0x40, 0x6DE6) /* <CJK> */
-MAP(0x5E, 0x41, 0x6DB8) /* <CJK> */
-MAP(0x5E, 0x42, 0x6DC6) /* <CJK> */
-MAP(0x5E, 0x43, 0x6DEC) /* <CJK> */
-MAP(0x5E, 0x44, 0x6DDE) /* <CJK> */
-MAP(0x5E, 0x45, 0x6DCC) /* <CJK> */
-MAP(0x5E, 0x46, 0x6DE8) /* <CJK> */
-MAP(0x5E, 0x47, 0x6DD2) /* <CJK> */
-MAP(0x5E, 0x48, 0x6DC5) /* <CJK> */
-MAP(0x5E, 0x49, 0x6DFA) /* <CJK> */
-MAP(0x5E, 0x4A, 0x6DD9) /* <CJK> */
-MAP(0x5E, 0x4B, 0x6DE4) /* <CJK> */
-MAP(0x5E, 0x4C, 0x6DD5) /* <CJK> */
-MAP(0x5E, 0x4D, 0x6DEA) /* <CJK> */
-MAP(0x5E, 0x4E, 0x6DEE) /* <CJK> */
-MAP(0x5E, 0x4F, 0x6E2D) /* <CJK> */
-MAP(0x5E, 0x50, 0x6E6E) /* <CJK> */
-MAP(0x5E, 0x51, 0x6E2E) /* <CJK> */
-MAP(0x5E, 0x52, 0x6E19) /* <CJK> */
-MAP(0x5E, 0x53, 0x6E72) /* <CJK> */
-MAP(0x5E, 0x54, 0x6E5F) /* <CJK> */
-MAP(0x5E, 0x55, 0x6E3E) /* <CJK> */
-MAP(0x5E, 0x56, 0x6E23) /* <CJK> */
-MAP(0x5E, 0x57, 0x6E6B) /* <CJK> */
-MAP(0x5E, 0x58, 0x6E2B) /* <CJK> */
-MAP(0x5E, 0x59, 0x6E76) /* <CJK> */
-MAP(0x5E, 0x5A, 0x6E4D) /* <CJK> */
-MAP(0x5E, 0x5B, 0x6E1F) /* <CJK> */
-MAP(0x5E, 0x5C, 0x6E43) /* <CJK> */
-MAP(0x5E, 0x5D, 0x6E3A) /* <CJK> */
-MAP(0x5E, 0x5E, 0x6E4E) /* <CJK> */
-MAP(0x5E, 0x5F, 0x6E24) /* <CJK> */
-MAP(0x5E, 0x60, 0x6EFF) /* <CJK> */
-MAP(0x5E, 0x61, 0x6E1D) /* <CJK> */
-MAP(0x5E, 0x62, 0x6E38) /* <CJK> */
-MAP(0x5E, 0x63, 0x6E82) /* <CJK> */
-MAP(0x5E, 0x64, 0x6EAA) /* <CJK> */
-MAP(0x5E, 0x65, 0x6E98) /* <CJK> */
-MAP(0x5E, 0x66, 0x6EC9) /* <CJK> */
-MAP(0x5E, 0x67, 0x6EB7) /* <CJK> */
-MAP(0x5E, 0x68, 0x6ED3) /* <CJK> */
-MAP(0x5E, 0x69, 0x6EBD) /* <CJK> */
-MAP(0x5E, 0x6A, 0x6EAF) /* <CJK> */
-MAP(0x5E, 0x6B, 0x6EC4) /* <CJK> */
-MAP(0x5E, 0x6C, 0x6EB2) /* <CJK> */
-MAP(0x5E, 0x6D, 0x6ED4) /* <CJK> */
-MAP(0x5E, 0x6E, 0x6ED5) /* <CJK> */
-MAP(0x5E, 0x6F, 0x6E8F) /* <CJK> */
-MAP(0x5E, 0x70, 0x6EA5) /* <CJK> */
-MAP(0x5E, 0x71, 0x6EC2) /* <CJK> */
-MAP(0x5E, 0x72, 0x6E9F) /* <CJK> */
-MAP(0x5E, 0x73, 0x6F41) /* <CJK> */
-MAP(0x5E, 0x74, 0x6F11) /* <CJK> */
-MAP(0x5E, 0x75, 0x704C) /* <CJK> */
-MAP(0x5E, 0x76, 0x6EEC) /* <CJK> */
-MAP(0x5E, 0x77, 0x6EF8) /* <CJK> */
-MAP(0x5E, 0x78, 0x6EFE) /* <CJK> */
-MAP(0x5E, 0x79, 0x6F3F) /* <CJK> */
-MAP(0x5E, 0x7A, 0x6EF2) /* <CJK> */
-MAP(0x5E, 0x7B, 0x6F31) /* <CJK> */
-MAP(0x5E, 0x7C, 0x6EEF) /* <CJK> */
-MAP(0x5E, 0x7D, 0x6F32) /* <CJK> */
-MAP(0x5E, 0x7E, 0x6ECC) /* <CJK> */
-MAP(0x5F, 0x21, 0x6F3E) /* <CJK> */
-MAP(0x5F, 0x22, 0x6F13) /* <CJK> */
-MAP(0x5F, 0x23, 0x6EF7) /* <CJK> */
-MAP(0x5F, 0x24, 0x6F86) /* <CJK> */
-MAP(0x5F, 0x25, 0x6F7A) /* <CJK> */
-MAP(0x5F, 0x26, 0x6F78) /* <CJK> */
-MAP(0x5F, 0x27, 0x6F81) /* <CJK> */
-MAP(0x5F, 0x28, 0x6F80) /* <CJK> */
-MAP(0x5F, 0x29, 0x6F6F) /* <CJK> */
-MAP(0x5F, 0x2A, 0x6F5B) /* <CJK> */
-MAP(0x5F, 0x2B, 0x6FF3) /* <CJK> */
-MAP(0x5F, 0x2C, 0x6F6D) /* <CJK> */
-MAP(0x5F, 0x2D, 0x6F82) /* <CJK> */
-MAP(0x5F, 0x2E, 0x6F7C) /* <CJK> */
-MAP(0x5F, 0x2F, 0x6F58) /* <CJK> */
-MAP(0x5F, 0x30, 0x6F8E) /* <CJK> */
-MAP(0x5F, 0x31, 0x6F91) /* <CJK> */
-MAP(0x5F, 0x32, 0x6FC2) /* <CJK> */
-MAP(0x5F, 0x33, 0x6F66) /* <CJK> */
-MAP(0x5F, 0x34, 0x6FB3) /* <CJK> */
-MAP(0x5F, 0x35, 0x6FA3) /* <CJK> */
-MAP(0x5F, 0x36, 0x6FA1) /* <CJK> */
-MAP(0x5F, 0x37, 0x6FA4) /* <CJK> */
-MAP(0x5F, 0x38, 0x6FB9) /* <CJK> */
-MAP(0x5F, 0x39, 0x6FC6) /* <CJK> */
-MAP(0x5F, 0x3A, 0x6FAA) /* <CJK> */
-MAP(0x5F, 0x3B, 0x6FDF) /* <CJK> */
-MAP(0x5F, 0x3C, 0x6FD5) /* <CJK> */
-MAP(0x5F, 0x3D, 0x6FEC) /* <CJK> */
-MAP(0x5F, 0x3E, 0x6FD4) /* <CJK> */
-MAP(0x5F, 0x3F, 0x6FD8) /* <CJK> */
-MAP(0x5F, 0x40, 0x6FF1) /* <CJK> */
-MAP(0x5F, 0x41, 0x6FEE) /* <CJK> */
-MAP(0x5F, 0x42, 0x6FDB) /* <CJK> */
-MAP(0x5F, 0x43, 0x7009) /* <CJK> */
-MAP(0x5F, 0x44, 0x700B) /* <CJK> */
-MAP(0x5F, 0x45, 0x6FFA) /* <CJK> */
-MAP(0x5F, 0x46, 0x7011) /* <CJK> */
-MAP(0x5F, 0x47, 0x7001) /* <CJK> */
-MAP(0x5F, 0x48, 0x700F) /* <CJK> */
-MAP(0x5F, 0x49, 0x6FFE) /* <CJK> */
-MAP(0x5F, 0x4A, 0x701B) /* <CJK> */
-MAP(0x5F, 0x4B, 0x701A) /* <CJK> */
-MAP(0x5F, 0x4C, 0x6F74) /* <CJK> */
-MAP(0x5F, 0x4D, 0x701D) /* <CJK> */
-MAP(0x5F, 0x4E, 0x7018) /* <CJK> */
-MAP(0x5F, 0x4F, 0x701F) /* <CJK> */
-MAP(0x5F, 0x50, 0x7030) /* <CJK> */
-MAP(0x5F, 0x51, 0x703E) /* <CJK> */
-MAP(0x5F, 0x52, 0x7032) /* <CJK> */
-MAP(0x5F, 0x53, 0x7051) /* <CJK> */
-MAP(0x5F, 0x54, 0x7063) /* <CJK> */
-MAP(0x5F, 0x55, 0x7099) /* <CJK> */
-MAP(0x5F, 0x56, 0x7092) /* <CJK> */
-MAP(0x5F, 0x57, 0x70AF) /* <CJK> */
-MAP(0x5F, 0x58, 0x70F1) /* <CJK> */
-MAP(0x5F, 0x59, 0x70AC) /* <CJK> */
-MAP(0x5F, 0x5A, 0x70B8) /* <CJK> */
-MAP(0x5F, 0x5B, 0x70B3) /* <CJK> */
-MAP(0x5F, 0x5C, 0x70AE) /* <CJK> */
-MAP(0x5F, 0x5D, 0x70DF) /* <CJK> */
-MAP(0x5F, 0x5E, 0x70CB) /* <CJK> */
-MAP(0x5F, 0x5F, 0x70DD) /* <CJK> */
-MAP(0x5F, 0x60, 0x70D9) /* <CJK> */
-MAP(0x5F, 0x61, 0x7109) /* <CJK> */
-MAP(0x5F, 0x62, 0x70FD) /* <CJK> */
-MAP(0x5F, 0x63, 0x711C) /* <CJK> */
-MAP(0x5F, 0x64, 0x7119) /* <CJK> */
-MAP(0x5F, 0x65, 0x7165) /* <CJK> */
-MAP(0x5F, 0x66, 0x7155) /* <CJK> */
-MAP(0x5F, 0x67, 0x7188) /* <CJK> */
-MAP(0x5F, 0x68, 0x7166) /* <CJK> */
-MAP(0x5F, 0x69, 0x7162) /* <CJK> */
-MAP(0x5F, 0x6A, 0x714C) /* <CJK> */
-MAP(0x5F, 0x6B, 0x7156) /* <CJK> */
-MAP(0x5F, 0x6C, 0x716C) /* <CJK> */
-MAP(0x5F, 0x6D, 0x718F) /* <CJK> */
-MAP(0x5F, 0x6E, 0x71FB) /* <CJK> */
-MAP(0x5F, 0x6F, 0x7184) /* <CJK> */
-MAP(0x5F, 0x70, 0x7195) /* <CJK> */
-MAP(0x5F, 0x71, 0x71A8) /* <CJK> */
-MAP(0x5F, 0x72, 0x71AC) /* <CJK> */
-MAP(0x5F, 0x73, 0x71D7) /* <CJK> */
-MAP(0x5F, 0x74, 0x71B9) /* <CJK> */
-MAP(0x5F, 0x75, 0x71BE) /* <CJK> */
-MAP(0x5F, 0x76, 0x71D2) /* <CJK> */
-MAP(0x5F, 0x77, 0x71C9) /* <CJK> */
-MAP(0x5F, 0x78, 0x71D4) /* <CJK> */
-MAP(0x5F, 0x79, 0x71CE) /* <CJK> */
-MAP(0x5F, 0x7A, 0x71E0) /* <CJK> */
-MAP(0x5F, 0x7B, 0x71EC) /* <CJK> */
-MAP(0x5F, 0x7C, 0x71E7) /* <CJK> */
-MAP(0x5F, 0x7D, 0x71F5) /* <CJK> */
-MAP(0x5F, 0x7E, 0x71FC) /* <CJK> */
-MAP(0x60, 0x21, 0x71F9) /* <CJK> */
-MAP(0x60, 0x22, 0x71FF) /* <CJK> */
-MAP(0x60, 0x23, 0x720D) /* <CJK> */
-MAP(0x60, 0x24, 0x7210) /* <CJK> */
-MAP(0x60, 0x25, 0x721B) /* <CJK> */
-MAP(0x60, 0x26, 0x7228) /* <CJK> */
-MAP(0x60, 0x27, 0x722D) /* <CJK> */
-MAP(0x60, 0x28, 0x722C) /* <CJK> */
-MAP(0x60, 0x29, 0x7230) /* <CJK> */
-MAP(0x60, 0x2A, 0x7232) /* <CJK> */
-MAP(0x60, 0x2B, 0x723B) /* <CJK> */
-MAP(0x60, 0x2C, 0x723C) /* <CJK> */
-MAP(0x60, 0x2D, 0x723F) /* <CJK> */
-MAP(0x60, 0x2E, 0x7240) /* <CJK> */
-MAP(0x60, 0x2F, 0x7246) /* <CJK> */
-MAP(0x60, 0x30, 0x724B) /* <CJK> */
-MAP(0x60, 0x31, 0x7258) /* <CJK> */
-MAP(0x60, 0x32, 0x7274) /* <CJK> */
-MAP(0x60, 0x33, 0x727E) /* <CJK> */
-MAP(0x60, 0x34, 0x7282) /* <CJK> */
-MAP(0x60, 0x35, 0x7281) /* <CJK> */
-MAP(0x60, 0x36, 0x7287) /* <CJK> */
-MAP(0x60, 0x37, 0x7292) /* <CJK> */
-MAP(0x60, 0x38, 0x7296) /* <CJK> */
-MAP(0x60, 0x39, 0x72A2) /* <CJK> */
-MAP(0x60, 0x3A, 0x72A7) /* <CJK> */
-MAP(0x60, 0x3B, 0x72B9) /* <CJK> */
-MAP(0x60, 0x3C, 0x72B2) /* <CJK> */
-MAP(0x60, 0x3D, 0x72C3) /* <CJK> */
-MAP(0x60, 0x3E, 0x72C6) /* <CJK> */
-MAP(0x60, 0x3F, 0x72C4) /* <CJK> */
-MAP(0x60, 0x40, 0x72CE) /* <CJK> */
-MAP(0x60, 0x41, 0x72D2) /* <CJK> */
-MAP(0x60, 0x42, 0x72E2) /* <CJK> */
-MAP(0x60, 0x43, 0x72E0) /* <CJK> */
-MAP(0x60, 0x44, 0x72E1) /* <CJK> */
-MAP(0x60, 0x45, 0x72F9) /* <CJK> */
-MAP(0x60, 0x46, 0x72F7) /* <CJK> */
-MAP(0x60, 0x47, 0x500F) /* <CJK> */
-MAP(0x60, 0x48, 0x7317) /* <CJK> */
-MAP(0x60, 0x49, 0x730A) /* <CJK> */
-MAP(0x60, 0x4A, 0x731C) /* <CJK> */
-MAP(0x60, 0x4B, 0x7316) /* <CJK> */
-MAP(0x60, 0x4C, 0x731D) /* <CJK> */
-MAP(0x60, 0x4D, 0x7334) /* <CJK> */
-MAP(0x60, 0x4E, 0x732F) /* <CJK> */
-MAP(0x60, 0x4F, 0x7329) /* <CJK> */
-MAP(0x60, 0x50, 0x7325) /* <CJK> */
-MAP(0x60, 0x51, 0x733E) /* <CJK> */
-MAP(0x60, 0x52, 0x734E) /* <CJK> */
-MAP(0x60, 0x53, 0x734F) /* <CJK> */
-MAP(0x60, 0x54, 0x9ED8) /* <CJK> */
-MAP(0x60, 0x55, 0x7357) /* <CJK> */
-MAP(0x60, 0x56, 0x736A) /* <CJK> */
-MAP(0x60, 0x57, 0x7368) /* <CJK> */
-MAP(0x60, 0x58, 0x7370) /* <CJK> */
-MAP(0x60, 0x59, 0x7378) /* <CJK> */
-MAP(0x60, 0x5A, 0x7375) /* <CJK> */
-MAP(0x60, 0x5B, 0x737B) /* <CJK> */
-MAP(0x60, 0x5C, 0x737A) /* <CJK> */
-MAP(0x60, 0x5D, 0x73C8) /* <CJK> */
-MAP(0x60, 0x5E, 0x73B3) /* <CJK> */
-MAP(0x60, 0x5F, 0x73CE) /* <CJK> */
-MAP(0x60, 0x60, 0x73BB) /* <CJK> */
-MAP(0x60, 0x61, 0x73C0) /* <CJK> */
-MAP(0x60, 0x62, 0x73E5) /* <CJK> */
-MAP(0x60, 0x63, 0x73EE) /* <CJK> */
-MAP(0x60, 0x64, 0x73DE) /* <CJK> */
-MAP(0x60, 0x65, 0x74A2) /* <CJK> */
-MAP(0x60, 0x66, 0x7405) /* <CJK> */
-MAP(0x60, 0x67, 0x746F) /* <CJK> */
-MAP(0x60, 0x68, 0x7425) /* <CJK> */
-MAP(0x60, 0x69, 0x73F8) /* <CJK> */
-MAP(0x60, 0x6A, 0x7432) /* <CJK> */
-MAP(0x60, 0x6B, 0x743A) /* <CJK> */
-MAP(0x60, 0x6C, 0x7455) /* <CJK> */
-MAP(0x60, 0x6D, 0x743F) /* <CJK> */
-MAP(0x60, 0x6E, 0x745F) /* <CJK> */
-MAP(0x60, 0x6F, 0x7459) /* <CJK> */
-MAP(0x60, 0x70, 0x7441) /* <CJK> */
-MAP(0x60, 0x71, 0x745C) /* <CJK> */
-MAP(0x60, 0x72, 0x7469) /* <CJK> */
-MAP(0x60, 0x73, 0x7470) /* <CJK> */
-MAP(0x60, 0x74, 0x7463) /* <CJK> */
-MAP(0x60, 0x75, 0x746A) /* <CJK> */
-MAP(0x60, 0x76, 0x7476) /* <CJK> */
-MAP(0x60, 0x77, 0x747E) /* <CJK> */
-MAP(0x60, 0x78, 0x748B) /* <CJK> */
-MAP(0x60, 0x79, 0x749E) /* <CJK> */
-MAP(0x60, 0x7A, 0x74A7) /* <CJK> */
-MAP(0x60, 0x7B, 0x74CA) /* <CJK> */
-MAP(0x60, 0x7C, 0x74CF) /* <CJK> */
-MAP(0x60, 0x7D, 0x74D4) /* <CJK> */
-MAP(0x60, 0x7E, 0x73F1) /* <CJK> */
-MAP(0x61, 0x21, 0x74E0) /* <CJK> */
-MAP(0x61, 0x22, 0x74E3) /* <CJK> */
-MAP(0x61, 0x23, 0x74E7) /* <CJK> */
-MAP(0x61, 0x24, 0x74E9) /* <CJK> */
-MAP(0x61, 0x25, 0x74EE) /* <CJK> */
-MAP(0x61, 0x26, 0x74F2) /* <CJK> */
-MAP(0x61, 0x27, 0x74F0) /* <CJK> */
-MAP(0x61, 0x28, 0x74F1) /* <CJK> */
-MAP(0x61, 0x29, 0x74F8) /* <CJK> */
-MAP(0x61, 0x2A, 0x74F7) /* <CJK> */
-MAP(0x61, 0x2B, 0x7504) /* <CJK> */
-MAP(0x61, 0x2C, 0x7503) /* <CJK> */
-MAP(0x61, 0x2D, 0x7505) /* <CJK> */
-MAP(0x61, 0x2E, 0x750C) /* <CJK> */
-MAP(0x61, 0x2F, 0x750E) /* <CJK> */
-MAP(0x61, 0x30, 0x750D) /* <CJK> */
-MAP(0x61, 0x31, 0x7515) /* <CJK> */
-MAP(0x61, 0x32, 0x7513) /* <CJK> */
-MAP(0x61, 0x33, 0x751E) /* <CJK> */
-MAP(0x61, 0x34, 0x7526) /* <CJK> */
-MAP(0x61, 0x35, 0x752C) /* <CJK> */
-MAP(0x61, 0x36, 0x753C) /* <CJK> */
-MAP(0x61, 0x37, 0x7544) /* <CJK> */
-MAP(0x61, 0x38, 0x754D) /* <CJK> */
-MAP(0x61, 0x39, 0x754A) /* <CJK> */
-MAP(0x61, 0x3A, 0x7549) /* <CJK> */
-MAP(0x61, 0x3B, 0x755B) /* <CJK> */
-MAP(0x61, 0x3C, 0x7546) /* <CJK> */
-MAP(0x61, 0x3D, 0x755A) /* <CJK> */
-MAP(0x61, 0x3E, 0x7569) /* <CJK> */
-MAP(0x61, 0x3F, 0x7564) /* <CJK> */
-MAP(0x61, 0x40, 0x7567) /* <CJK> */
-MAP(0x61, 0x41, 0x756B) /* <CJK> */
-MAP(0x61, 0x42, 0x756D) /* <CJK> */
-MAP(0x61, 0x43, 0x7578) /* <CJK> */
-MAP(0x61, 0x44, 0x7576) /* <CJK> */
-MAP(0x61, 0x45, 0x7586) /* <CJK> */
-MAP(0x61, 0x46, 0x7587) /* <CJK> */
-MAP(0x61, 0x47, 0x7574) /* <CJK> */
-MAP(0x61, 0x48, 0x758A) /* <CJK> */
-MAP(0x61, 0x49, 0x7589) /* <CJK> */
-MAP(0x61, 0x4A, 0x7582) /* <CJK> */
-MAP(0x61, 0x4B, 0x7594) /* <CJK> */
-MAP(0x61, 0x4C, 0x759A) /* <CJK> */
-MAP(0x61, 0x4D, 0x759D) /* <CJK> */
-MAP(0x61, 0x4E, 0x75A5) /* <CJK> */
-MAP(0x61, 0x4F, 0x75A3) /* <CJK> */
-MAP(0x61, 0x50, 0x75C2) /* <CJK> */
-MAP(0x61, 0x51, 0x75B3) /* <CJK> */
-MAP(0x61, 0x52, 0x75C3) /* <CJK> */
-MAP(0x61, 0x53, 0x75B5) /* <CJK> */
-MAP(0x61, 0x54, 0x75BD) /* <CJK> */
-MAP(0x61, 0x55, 0x75B8) /* <CJK> */
-MAP(0x61, 0x56, 0x75BC) /* <CJK> */
-MAP(0x61, 0x57, 0x75B1) /* <CJK> */
-MAP(0x61, 0x58, 0x75CD) /* <CJK> */
-MAP(0x61, 0x59, 0x75CA) /* <CJK> */
-MAP(0x61, 0x5A, 0x75D2) /* <CJK> */
-MAP(0x61, 0x5B, 0x75D9) /* <CJK> */
-MAP(0x61, 0x5C, 0x75E3) /* <CJK> */
-MAP(0x61, 0x5D, 0x75DE) /* <CJK> */
-MAP(0x61, 0x5E, 0x75FE) /* <CJK> */
-MAP(0x61, 0x5F, 0x75FF) /* <CJK> */
-MAP(0x61, 0x60, 0x75FC) /* <CJK> */
-MAP(0x61, 0x61, 0x7601) /* <CJK> */
-MAP(0x61, 0x62, 0x75F0) /* <CJK> */
-MAP(0x61, 0x63, 0x75FA) /* <CJK> */
-MAP(0x61, 0x64, 0x75F2) /* <CJK> */
-MAP(0x61, 0x65, 0x75F3) /* <CJK> */
-MAP(0x61, 0x66, 0x760B) /* <CJK> */
-MAP(0x61, 0x67, 0x760D) /* <CJK> */
-MAP(0x61, 0x68, 0x7609) /* <CJK> */
-MAP(0x61, 0x69, 0x761F) /* <CJK> */
-MAP(0x61, 0x6A, 0x7627) /* <CJK> */
-MAP(0x61, 0x6B, 0x7620) /* <CJK> */
-MAP(0x61, 0x6C, 0x7621) /* <CJK> */
-MAP(0x61, 0x6D, 0x7622) /* <CJK> */
-MAP(0x61, 0x6E, 0x7624) /* <CJK> */
-MAP(0x61, 0x6F, 0x7634) /* <CJK> */
-MAP(0x61, 0x70, 0x7630) /* <CJK> */
-MAP(0x61, 0x71, 0x763B) /* <CJK> */
-MAP(0x61, 0x72, 0x7647) /* <CJK> */
-MAP(0x61, 0x73, 0x7648) /* <CJK> */
-MAP(0x61, 0x74, 0x7646) /* <CJK> */
-MAP(0x61, 0x75, 0x765C) /* <CJK> */
-MAP(0x61, 0x76, 0x7658) /* <CJK> */
-MAP(0x61, 0x77, 0x7661) /* <CJK> */
-MAP(0x61, 0x78, 0x7662) /* <CJK> */
-MAP(0x61, 0x79, 0x7668) /* <CJK> */
-MAP(0x61, 0x7A, 0x7669) /* <CJK> */
-MAP(0x61, 0x7B, 0x766A) /* <CJK> */
-MAP(0x61, 0x7C, 0x7667) /* <CJK> */
-MAP(0x61, 0x7D, 0x766C) /* <CJK> */
-MAP(0x61, 0x7E, 0x7670) /* <CJK> */
-MAP(0x62, 0x21, 0x7672) /* <CJK> */
-MAP(0x62, 0x22, 0x7676) /* <CJK> */
-MAP(0x62, 0x23, 0x7678) /* <CJK> */
-MAP(0x62, 0x24, 0x767C) /* <CJK> */
-MAP(0x62, 0x25, 0x7680) /* <CJK> */
-MAP(0x62, 0x26, 0x7683) /* <CJK> */
-MAP(0x62, 0x27, 0x7688) /* <CJK> */
-MAP(0x62, 0x28, 0x768B) /* <CJK> */
-MAP(0x62, 0x29, 0x768E) /* <CJK> */
-MAP(0x62, 0x2A, 0x7696) /* <CJK> */
-MAP(0x62, 0x2B, 0x7693) /* <CJK> */
-MAP(0x62, 0x2C, 0x7699) /* <CJK> */
-MAP(0x62, 0x2D, 0x769A) /* <CJK> */
-MAP(0x62, 0x2E, 0x76B0) /* <CJK> */
-MAP(0x62, 0x2F, 0x76B4) /* <CJK> */
-MAP(0x62, 0x30, 0x76B8) /* <CJK> */
-MAP(0x62, 0x31, 0x76B9) /* <CJK> */
-MAP(0x62, 0x32, 0x76BA) /* <CJK> */
-MAP(0x62, 0x33, 0x76C2) /* <CJK> */
-MAP(0x62, 0x34, 0x76CD) /* <CJK> */
-MAP(0x62, 0x35, 0x76D6) /* <CJK> */
-MAP(0x62, 0x36, 0x76D2) /* <CJK> */
-MAP(0x62, 0x37, 0x76DE) /* <CJK> */
-MAP(0x62, 0x38, 0x76E1) /* <CJK> */
-MAP(0x62, 0x39, 0x76E5) /* <CJK> */
-MAP(0x62, 0x3A, 0x76E7) /* <CJK> */
-MAP(0x62, 0x3B, 0x76EA) /* <CJK> */
-MAP(0x62, 0x3C, 0x862F) /* <CJK> */
-MAP(0x62, 0x3D, 0x76FB) /* <CJK> */
-MAP(0x62, 0x3E, 0x7708) /* <CJK> */
-MAP(0x62, 0x3F, 0x7707) /* <CJK> */
-MAP(0x62, 0x40, 0x7704) /* <CJK> */
-MAP(0x62, 0x41, 0x7729) /* <CJK> */
-MAP(0x62, 0x42, 0x7724) /* <CJK> */
-MAP(0x62, 0x43, 0x771E) /* <CJK> */
-MAP(0x62, 0x44, 0x7725) /* <CJK> */
-MAP(0x62, 0x45, 0x7726) /* <CJK> */
-MAP(0x62, 0x46, 0x771B) /* <CJK> */
-MAP(0x62, 0x47, 0x7737) /* <CJK> */
-MAP(0x62, 0x48, 0x7738) /* <CJK> */
-MAP(0x62, 0x49, 0x7747) /* <CJK> */
-MAP(0x62, 0x4A, 0x775A) /* <CJK> */
-MAP(0x62, 0x4B, 0x7768) /* <CJK> */
-MAP(0x62, 0x4C, 0x776B) /* <CJK> */
-MAP(0x62, 0x4D, 0x775B) /* <CJK> */
-MAP(0x62, 0x4E, 0x7765) /* <CJK> */
-MAP(0x62, 0x4F, 0x777F) /* <CJK> */
-MAP(0x62, 0x50, 0x777E) /* <CJK> */
-MAP(0x62, 0x51, 0x7779) /* <CJK> */
-MAP(0x62, 0x52, 0x778E) /* <CJK> */
-MAP(0x62, 0x53, 0x778B) /* <CJK> */
-MAP(0x62, 0x54, 0x7791) /* <CJK> */
-MAP(0x62, 0x55, 0x77A0) /* <CJK> */
-MAP(0x62, 0x56, 0x779E) /* <CJK> */
-MAP(0x62, 0x57, 0x77B0) /* <CJK> */
-MAP(0x62, 0x58, 0x77B6) /* <CJK> */
-MAP(0x62, 0x59, 0x77B9) /* <CJK> */
-MAP(0x62, 0x5A, 0x77BF) /* <CJK> */
-MAP(0x62, 0x5B, 0x77BC) /* <CJK> */
-MAP(0x62, 0x5C, 0x77BD) /* <CJK> */
-MAP(0x62, 0x5D, 0x77BB) /* <CJK> */
-MAP(0x62, 0x5E, 0x77C7) /* <CJK> */
-MAP(0x62, 0x5F, 0x77CD) /* <CJK> */
-MAP(0x62, 0x60, 0x77D7) /* <CJK> */
-MAP(0x62, 0x61, 0x77DA) /* <CJK> */
-MAP(0x62, 0x62, 0x77DC) /* <CJK> */
-MAP(0x62, 0x63, 0x77E3) /* <CJK> */
-MAP(0x62, 0x64, 0x77EE) /* <CJK> */
-MAP(0x62, 0x65, 0x77FC) /* <CJK> */
-MAP(0x62, 0x66, 0x780C) /* <CJK> */
-MAP(0x62, 0x67, 0x7812) /* <CJK> */
-MAP(0x62, 0x68, 0x7926) /* <CJK> */
-MAP(0x62, 0x69, 0x7820) /* <CJK> */
-MAP(0x62, 0x6A, 0x792A) /* <CJK> */
-MAP(0x62, 0x6B, 0x7845) /* <CJK> */
-MAP(0x62, 0x6C, 0x788E) /* <CJK> */
-MAP(0x62, 0x6D, 0x7874) /* <CJK> */
-MAP(0x62, 0x6E, 0x7886) /* <CJK> */
-MAP(0x62, 0x6F, 0x787C) /* <CJK> */
-MAP(0x62, 0x70, 0x789A) /* <CJK> */
-MAP(0x62, 0x71, 0x788C) /* <CJK> */
-MAP(0x62, 0x72, 0x78A3) /* <CJK> */
-MAP(0x62, 0x73, 0x78B5) /* <CJK> */
-MAP(0x62, 0x74, 0x78AA) /* <CJK> */
-MAP(0x62, 0x75, 0x78AF) /* <CJK> */
-MAP(0x62, 0x76, 0x78D1) /* <CJK> */
-MAP(0x62, 0x77, 0x78C6) /* <CJK> */
-MAP(0x62, 0x78, 0x78CB) /* <CJK> */
-MAP(0x62, 0x79, 0x78D4) /* <CJK> */
-MAP(0x62, 0x7A, 0x78BE) /* <CJK> */
-MAP(0x62, 0x7B, 0x78BC) /* <CJK> */
-MAP(0x62, 0x7C, 0x78C5) /* <CJK> */
-MAP(0x62, 0x7D, 0x78CA) /* <CJK> */
-MAP(0x62, 0x7E, 0x78EC) /* <CJK> */
-MAP(0x63, 0x21, 0x78E7) /* <CJK> */
-MAP(0x63, 0x22, 0x78DA) /* <CJK> */
-MAP(0x63, 0x23, 0x78FD) /* <CJK> */
-MAP(0x63, 0x24, 0x78F4) /* <CJK> */
-MAP(0x63, 0x25, 0x7907) /* <CJK> */
-MAP(0x63, 0x26, 0x7912) /* <CJK> */
-MAP(0x63, 0x27, 0x7911) /* <CJK> */
-MAP(0x63, 0x28, 0x7919) /* <CJK> */
-MAP(0x63, 0x29, 0x792C) /* <CJK> */
-MAP(0x63, 0x2A, 0x792B) /* <CJK> */
-MAP(0x63, 0x2B, 0x7940) /* <CJK> */
-MAP(0x63, 0x2C, 0x7960) /* <CJK> */
-MAP(0x63, 0x2D, 0x7957) /* <CJK> */
-MAP(0x63, 0x2E, 0x795F) /* <CJK> */
-MAP(0x63, 0x2F, 0x795A) /* <CJK> */
-MAP(0x63, 0x30, 0x7955) /* <CJK> */
-MAP(0x63, 0x31, 0x7953) /* <CJK> */
-MAP(0x63, 0x32, 0x797A) /* <CJK> */
-MAP(0x63, 0x33, 0x797F) /* <CJK> */
-MAP(0x63, 0x34, 0x798A) /* <CJK> */
-MAP(0x63, 0x35, 0x799D) /* <CJK> */
-MAP(0x63, 0x36, 0x79A7) /* <CJK> */
-MAP(0x63, 0x37, 0x9F4B) /* <CJK> */
-MAP(0x63, 0x38, 0x79AA) /* <CJK> */
-MAP(0x63, 0x39, 0x79AE) /* <CJK> */
-MAP(0x63, 0x3A, 0x79B3) /* <CJK> */
-MAP(0x63, 0x3B, 0x79B9) /* <CJK> */
-MAP(0x63, 0x3C, 0x79BA) /* <CJK> */
-MAP(0x63, 0x3D, 0x79C9) /* <CJK> */
-MAP(0x63, 0x3E, 0x79D5) /* <CJK> */
-MAP(0x63, 0x3F, 0x79E7) /* <CJK> */
-MAP(0x63, 0x40, 0x79EC) /* <CJK> */
-MAP(0x63, 0x41, 0x79E1) /* <CJK> */
-MAP(0x63, 0x42, 0x79E3) /* <CJK> */
-MAP(0x63, 0x43, 0x7A08) /* <CJK> */
-MAP(0x63, 0x44, 0x7A0D) /* <CJK> */
-MAP(0x63, 0x45, 0x7A18) /* <CJK> */
-MAP(0x63, 0x46, 0x7A19) /* <CJK> */
-MAP(0x63, 0x47, 0x7A20) /* <CJK> */
-MAP(0x63, 0x48, 0x7A1F) /* <CJK> */
-MAP(0x63, 0x49, 0x7980) /* <CJK> */
-MAP(0x63, 0x4A, 0x7A31) /* <CJK> */
-MAP(0x63, 0x4B, 0x7A3B) /* <CJK> */
-MAP(0x63, 0x4C, 0x7A3E) /* <CJK> */
-MAP(0x63, 0x4D, 0x7A37) /* <CJK> */
-MAP(0x63, 0x4E, 0x7A43) /* <CJK> */
-MAP(0x63, 0x4F, 0x7A57) /* <CJK> */
-MAP(0x63, 0x50, 0x7A49) /* <CJK> */
-MAP(0x63, 0x51, 0x7A61) /* <CJK> */
-MAP(0x63, 0x52, 0x7A62) /* <CJK> */
-MAP(0x63, 0x53, 0x7A69) /* <CJK> */
-MAP(0x63, 0x54, 0x9F9D) /* <CJK> */
-MAP(0x63, 0x55, 0x7A70) /* <CJK> */
-MAP(0x63, 0x56, 0x7A79) /* <CJK> */
-MAP(0x63, 0x57, 0x7A7D) /* <CJK> */
-MAP(0x63, 0x58, 0x7A88) /* <CJK> */
-MAP(0x63, 0x59, 0x7A97) /* <CJK> */
-MAP(0x63, 0x5A, 0x7A95) /* <CJK> */
-MAP(0x63, 0x5B, 0x7A98) /* <CJK> */
-MAP(0x63, 0x5C, 0x7A96) /* <CJK> */
-MAP(0x63, 0x5D, 0x7AA9) /* <CJK> */
-MAP(0x63, 0x5E, 0x7AC8) /* <CJK> */
-MAP(0x63, 0x5F, 0x7AB0) /* <CJK> */
-MAP(0x63, 0x60, 0x7AB6) /* <CJK> */
-MAP(0x63, 0x61, 0x7AC5) /* <CJK> */
-MAP(0x63, 0x62, 0x7AC4) /* <CJK> */
-MAP(0x63, 0x63, 0x7ABF) /* <CJK> */
-MAP(0x63, 0x64, 0x9083) /* <CJK> */
-MAP(0x63, 0x65, 0x7AC7) /* <CJK> */
-MAP(0x63, 0x66, 0x7ACA) /* <CJK> */
-MAP(0x63, 0x67, 0x7ACD) /* <CJK> */
-MAP(0x63, 0x68, 0x7ACF) /* <CJK> */
-MAP(0x63, 0x69, 0x7AD5) /* <CJK> */
-MAP(0x63, 0x6A, 0x7AD3) /* <CJK> */
-MAP(0x63, 0x6B, 0x7AD9) /* <CJK> */
-MAP(0x63, 0x6C, 0x7ADA) /* <CJK> */
-MAP(0x63, 0x6D, 0x7ADD) /* <CJK> */
-MAP(0x63, 0x6E, 0x7AE1) /* <CJK> */
-MAP(0x63, 0x6F, 0x7AE2) /* <CJK> */
-MAP(0x63, 0x70, 0x7AE6) /* <CJK> */
-MAP(0x63, 0x71, 0x7AED) /* <CJK> */
-MAP(0x63, 0x72, 0x7AF0) /* <CJK> */
-MAP(0x63, 0x73, 0x7B02) /* <CJK> */
-MAP(0x63, 0x74, 0x7B0F) /* <CJK> */
-MAP(0x63, 0x75, 0x7B0A) /* <CJK> */
-MAP(0x63, 0x76, 0x7B06) /* <CJK> */
-MAP(0x63, 0x77, 0x7B33) /* <CJK> */
-MAP(0x63, 0x78, 0x7B18) /* <CJK> */
-MAP(0x63, 0x79, 0x7B19) /* <CJK> */
-MAP(0x63, 0x7A, 0x7B1E) /* <CJK> */
-MAP(0x63, 0x7B, 0x7B35) /* <CJK> */
-MAP(0x63, 0x7C, 0x7B28) /* <CJK> */
-MAP(0x63, 0x7D, 0x7B36) /* <CJK> */
-MAP(0x63, 0x7E, 0x7B50) /* <CJK> */
-MAP(0x64, 0x21, 0x7B7A) /* <CJK> */
-MAP(0x64, 0x22, 0x7B04) /* <CJK> */
-MAP(0x64, 0x23, 0x7B4D) /* <CJK> */
-MAP(0x64, 0x24, 0x7B0B) /* <CJK> */
-MAP(0x64, 0x25, 0x7B4C) /* <CJK> */
-MAP(0x64, 0x26, 0x7B45) /* <CJK> */
-MAP(0x64, 0x27, 0x7B75) /* <CJK> */
-MAP(0x64, 0x28, 0x7B65) /* <CJK> */
-MAP(0x64, 0x29, 0x7B74) /* <CJK> */
-MAP(0x64, 0x2A, 0x7B67) /* <CJK> */
-MAP(0x64, 0x2B, 0x7B70) /* <CJK> */
-MAP(0x64, 0x2C, 0x7B71) /* <CJK> */
-MAP(0x64, 0x2D, 0x7B6C) /* <CJK> */
-MAP(0x64, 0x2E, 0x7B6E) /* <CJK> */
-MAP(0x64, 0x2F, 0x7B9D) /* <CJK> */
-MAP(0x64, 0x30, 0x7B98) /* <CJK> */
-MAP(0x64, 0x31, 0x7B9F) /* <CJK> */
-MAP(0x64, 0x32, 0x7B8D) /* <CJK> */
-MAP(0x64, 0x33, 0x7B9C) /* <CJK> */
-MAP(0x64, 0x34, 0x7B9A) /* <CJK> */
-MAP(0x64, 0x35, 0x7B8B) /* <CJK> */
-MAP(0x64, 0x36, 0x7B92) /* <CJK> */
-MAP(0x64, 0x37, 0x7B8F) /* <CJK> */
-MAP(0x64, 0x38, 0x7B5D) /* <CJK> */
-MAP(0x64, 0x39, 0x7B99) /* <CJK> */
-MAP(0x64, 0x3A, 0x7BCB) /* <CJK> */
-MAP(0x64, 0x3B, 0x7BC1) /* <CJK> */
-MAP(0x64, 0x3C, 0x7BCC) /* <CJK> */
-MAP(0x64, 0x3D, 0x7BCF) /* <CJK> */
-MAP(0x64, 0x3E, 0x7BB4) /* <CJK> */
-MAP(0x64, 0x3F, 0x7BC6) /* <CJK> */
-MAP(0x64, 0x40, 0x7BDD) /* <CJK> */
-MAP(0x64, 0x41, 0x7BE9) /* <CJK> */
-MAP(0x64, 0x42, 0x7C11) /* <CJK> */
-MAP(0x64, 0x43, 0x7C14) /* <CJK> */
-MAP(0x64, 0x44, 0x7BE6) /* <CJK> */
-MAP(0x64, 0x45, 0x7BE5) /* <CJK> */
-MAP(0x64, 0x46, 0x7C60) /* <CJK> */
-MAP(0x64, 0x47, 0x7C00) /* <CJK> */
-MAP(0x64, 0x48, 0x7C07) /* <CJK> */
-MAP(0x64, 0x49, 0x7C13) /* <CJK> */
-MAP(0x64, 0x4A, 0x7BF3) /* <CJK> */
-MAP(0x64, 0x4B, 0x7BF7) /* <CJK> */
-MAP(0x64, 0x4C, 0x7C17) /* <CJK> */
-MAP(0x64, 0x4D, 0x7C0D) /* <CJK> */
-MAP(0x64, 0x4E, 0x7BF6) /* <CJK> */
-MAP(0x64, 0x4F, 0x7C23) /* <CJK> */
-MAP(0x64, 0x50, 0x7C27) /* <CJK> */
-MAP(0x64, 0x51, 0x7C2A) /* <CJK> */
-MAP(0x64, 0x52, 0x7C1F) /* <CJK> */
-MAP(0x64, 0x53, 0x7C37) /* <CJK> */
-MAP(0x64, 0x54, 0x7C2B) /* <CJK> */
-MAP(0x64, 0x55, 0x7C3D) /* <CJK> */
-MAP(0x64, 0x56, 0x7C4C) /* <CJK> */
-MAP(0x64, 0x57, 0x7C43) /* <CJK> */
-MAP(0x64, 0x58, 0x7C54) /* <CJK> */
-MAP(0x64, 0x59, 0x7C4F) /* <CJK> */
-MAP(0x64, 0x5A, 0x7C40) /* <CJK> */
-MAP(0x64, 0x5B, 0x7C50) /* <CJK> */
-MAP(0x64, 0x5C, 0x7C58) /* <CJK> */
-MAP(0x64, 0x5D, 0x7C5F) /* <CJK> */
-MAP(0x64, 0x5E, 0x7C64) /* <CJK> */
-MAP(0x64, 0x5F, 0x7C56) /* <CJK> */
-MAP(0x64, 0x60, 0x7C65) /* <CJK> */
-MAP(0x64, 0x61, 0x7C6C) /* <CJK> */
-MAP(0x64, 0x62, 0x7C75) /* <CJK> */
-MAP(0x64, 0x63, 0x7C83) /* <CJK> */
-MAP(0x64, 0x64, 0x7C90) /* <CJK> */
-MAP(0x64, 0x65, 0x7CA4) /* <CJK> */
-MAP(0x64, 0x66, 0x7CAD) /* <CJK> */
-MAP(0x64, 0x67, 0x7CA2) /* <CJK> */
-MAP(0x64, 0x68, 0x7CAB) /* <CJK> */
-MAP(0x64, 0x69, 0x7CA1) /* <CJK> */
-MAP(0x64, 0x6A, 0x7CA8) /* <CJK> */
-MAP(0x64, 0x6B, 0x7CB3) /* <CJK> */
-MAP(0x64, 0x6C, 0x7CB2) /* <CJK> */
-MAP(0x64, 0x6D, 0x7CB1) /* <CJK> */
-MAP(0x64, 0x6E, 0x7CAE) /* <CJK> */
-MAP(0x64, 0x6F, 0x7CB9) /* <CJK> */
-MAP(0x64, 0x70, 0x7CBD) /* <CJK> */
-MAP(0x64, 0x71, 0x7CC0) /* <CJK> */
-MAP(0x64, 0x72, 0x7CC5) /* <CJK> */
-MAP(0x64, 0x73, 0x7CC2) /* <CJK> */
-MAP(0x64, 0x74, 0x7CD8) /* <CJK> */
-MAP(0x64, 0x75, 0x7CD2) /* <CJK> */
-MAP(0x64, 0x76, 0x7CDC) /* <CJK> */
-MAP(0x64, 0x77, 0x7CE2) /* <CJK> */
-MAP(0x64, 0x78, 0x9B3B) /* <CJK> */
-MAP(0x64, 0x79, 0x7CEF) /* <CJK> */
-MAP(0x64, 0x7A, 0x7CF2) /* <CJK> */
-MAP(0x64, 0x7B, 0x7CF4) /* <CJK> */
-MAP(0x64, 0x7C, 0x7CF6) /* <CJK> */
-MAP(0x64, 0x7D, 0x7CFA) /* <CJK> */
-MAP(0x64, 0x7E, 0x7D06) /* <CJK> */
-MAP(0x65, 0x21, 0x7D02) /* <CJK> */
-MAP(0x65, 0x22, 0x7D1C) /* <CJK> */
-MAP(0x65, 0x23, 0x7D15) /* <CJK> */
-MAP(0x65, 0x24, 0x7D0A) /* <CJK> */
-MAP(0x65, 0x25, 0x7D45) /* <CJK> */
-MAP(0x65, 0x26, 0x7D4B) /* <CJK> */
-MAP(0x65, 0x27, 0x7D2E) /* <CJK> */
-MAP(0x65, 0x28, 0x7D32) /* <CJK> */
-MAP(0x65, 0x29, 0x7D3F) /* <CJK> */
-MAP(0x65, 0x2A, 0x7D35) /* <CJK> */
-MAP(0x65, 0x2B, 0x7D46) /* <CJK> */
-MAP(0x65, 0x2C, 0x7D73) /* <CJK> */
-MAP(0x65, 0x2D, 0x7D56) /* <CJK> */
-MAP(0x65, 0x2E, 0x7D4E) /* <CJK> */
-MAP(0x65, 0x2F, 0x7D72) /* <CJK> */
-MAP(0x65, 0x30, 0x7D68) /* <CJK> */
-MAP(0x65, 0x31, 0x7D6E) /* <CJK> */
-MAP(0x65, 0x32, 0x7D4F) /* <CJK> */
-MAP(0x65, 0x33, 0x7D63) /* <CJK> */
-MAP(0x65, 0x34, 0x7D93) /* <CJK> */
-MAP(0x65, 0x35, 0x7D89) /* <CJK> */
-MAP(0x65, 0x36, 0x7D5B) /* <CJK> */
-MAP(0x65, 0x37, 0x7D8F) /* <CJK> */
-MAP(0x65, 0x38, 0x7D7D) /* <CJK> */
-MAP(0x65, 0x39, 0x7D9B) /* <CJK> */
-MAP(0x65, 0x3A, 0x7DBA) /* <CJK> */
-MAP(0x65, 0x3B, 0x7DAE) /* <CJK> */
-MAP(0x65, 0x3C, 0x7DA3) /* <CJK> */
-MAP(0x65, 0x3D, 0x7DB5) /* <CJK> */
-MAP(0x65, 0x3E, 0x7DC7) /* <CJK> */
-MAP(0x65, 0x3F, 0x7DBD) /* <CJK> */
-MAP(0x65, 0x40, 0x7DAB) /* <CJK> */
-MAP(0x65, 0x41, 0x7E3D) /* <CJK> */
-MAP(0x65, 0x42, 0x7DA2) /* <CJK> */
-MAP(0x65, 0x43, 0x7DAF) /* <CJK> */
-MAP(0x65, 0x44, 0x7DDC) /* <CJK> */
-MAP(0x65, 0x45, 0x7DB8) /* <CJK> */
-MAP(0x65, 0x46, 0x7D9F) /* <CJK> */
-MAP(0x65, 0x47, 0x7DB0) /* <CJK> */
-MAP(0x65, 0x48, 0x7DD8) /* <CJK> */
-MAP(0x65, 0x49, 0x7DDD) /* <CJK> */
-MAP(0x65, 0x4A, 0x7DE4) /* <CJK> */
-MAP(0x65, 0x4B, 0x7DDE) /* <CJK> */
-MAP(0x65, 0x4C, 0x7DFB) /* <CJK> */
-MAP(0x65, 0x4D, 0x7DF2) /* <CJK> */
-MAP(0x65, 0x4E, 0x7DE1) /* <CJK> */
-MAP(0x65, 0x4F, 0x7E05) /* <CJK> */
-MAP(0x65, 0x50, 0x7E0A) /* <CJK> */
-MAP(0x65, 0x51, 0x7E23) /* <CJK> */
-MAP(0x65, 0x52, 0x7E21) /* <CJK> */
-MAP(0x65, 0x53, 0x7E12) /* <CJK> */
-MAP(0x65, 0x54, 0x7E31) /* <CJK> */
-MAP(0x65, 0x55, 0x7E1F) /* <CJK> */
-MAP(0x65, 0x56, 0x7E09) /* <CJK> */
-MAP(0x65, 0x57, 0x7E0B) /* <CJK> */
-MAP(0x65, 0x58, 0x7E22) /* <CJK> */
-MAP(0x65, 0x59, 0x7E46) /* <CJK> */
-MAP(0x65, 0x5A, 0x7E66) /* <CJK> */
-MAP(0x65, 0x5B, 0x7E3B) /* <CJK> */
-MAP(0x65, 0x5C, 0x7E35) /* <CJK> */
-MAP(0x65, 0x5D, 0x7E39) /* <CJK> */
-MAP(0x65, 0x5E, 0x7E43) /* <CJK> */
-MAP(0x65, 0x5F, 0x7E37) /* <CJK> */
-MAP(0x65, 0x60, 0x7E32) /* <CJK> */
-MAP(0x65, 0x61, 0x7E3A) /* <CJK> */
-MAP(0x65, 0x62, 0x7E67) /* <CJK> */
-MAP(0x65, 0x63, 0x7E5D) /* <CJK> */
-MAP(0x65, 0x64, 0x7E56) /* <CJK> */
-MAP(0x65, 0x65, 0x7E5E) /* <CJK> */
-MAP(0x65, 0x66, 0x7E59) /* <CJK> */
-MAP(0x65, 0x67, 0x7E5A) /* <CJK> */
-MAP(0x65, 0x68, 0x7E79) /* <CJK> */
-MAP(0x65, 0x69, 0x7E6A) /* <CJK> */
-MAP(0x65, 0x6A, 0x7E69) /* <CJK> */
-MAP(0x65, 0x6B, 0x7E7C) /* <CJK> */
-MAP(0x65, 0x6C, 0x7E7B) /* <CJK> */
-MAP(0x65, 0x6D, 0x7E83) /* <CJK> */
-MAP(0x65, 0x6E, 0x7DD5) /* <CJK> */
-MAP(0x65, 0x6F, 0x7E7D) /* <CJK> */
-MAP(0x65, 0x70, 0x8FAE) /* <CJK> */
-MAP(0x65, 0x71, 0x7E7F) /* <CJK> */
-MAP(0x65, 0x72, 0x7E88) /* <CJK> */
-MAP(0x65, 0x73, 0x7E89) /* <CJK> */
-MAP(0x65, 0x74, 0x7E8C) /* <CJK> */
-MAP(0x65, 0x75, 0x7E92) /* <CJK> */
-MAP(0x65, 0x76, 0x7E90) /* <CJK> */
-MAP(0x65, 0x77, 0x7E93) /* <CJK> */
-MAP(0x65, 0x78, 0x7E94) /* <CJK> */
-MAP(0x65, 0x79, 0x7E96) /* <CJK> */
-MAP(0x65, 0x7A, 0x7E8E) /* <CJK> */
-MAP(0x65, 0x7B, 0x7E9B) /* <CJK> */
-MAP(0x65, 0x7C, 0x7E9C) /* <CJK> */
-MAP(0x65, 0x7D, 0x7F38) /* <CJK> */
-MAP(0x65, 0x7E, 0x7F3A) /* <CJK> */
-MAP(0x66, 0x21, 0x7F45) /* <CJK> */
-MAP(0x66, 0x22, 0x7F4C) /* <CJK> */
-MAP(0x66, 0x23, 0x7F4D) /* <CJK> */
-MAP(0x66, 0x24, 0x7F4E) /* <CJK> */
-MAP(0x66, 0x25, 0x7F50) /* <CJK> */
-MAP(0x66, 0x26, 0x7F51) /* <CJK> */
-MAP(0x66, 0x27, 0x7F55) /* <CJK> */
-MAP(0x66, 0x28, 0x7F54) /* <CJK> */
-MAP(0x66, 0x29, 0x7F58) /* <CJK> */
-MAP(0x66, 0x2A, 0x7F5F) /* <CJK> */
-MAP(0x66, 0x2B, 0x7F60) /* <CJK> */
-MAP(0x66, 0x2C, 0x7F68) /* <CJK> */
-MAP(0x66, 0x2D, 0x7F69) /* <CJK> */
-MAP(0x66, 0x2E, 0x7F67) /* <CJK> */
-MAP(0x66, 0x2F, 0x7F78) /* <CJK> */
-MAP(0x66, 0x30, 0x7F82) /* <CJK> */
-MAP(0x66, 0x31, 0x7F86) /* <CJK> */
-MAP(0x66, 0x32, 0x7F83) /* <CJK> */
-MAP(0x66, 0x33, 0x7F88) /* <CJK> */
-MAP(0x66, 0x34, 0x7F87) /* <CJK> */
-MAP(0x66, 0x35, 0x7F8C) /* <CJK> */
-MAP(0x66, 0x36, 0x7F94) /* <CJK> */
-MAP(0x66, 0x37, 0x7F9E) /* <CJK> */
-MAP(0x66, 0x38, 0x7F9D) /* <CJK> */
-MAP(0x66, 0x39, 0x7F9A) /* <CJK> */
-MAP(0x66, 0x3A, 0x7FA3) /* <CJK> */
-MAP(0x66, 0x3B, 0x7FAF) /* <CJK> */
-MAP(0x66, 0x3C, 0x7FB2) /* <CJK> */
-MAP(0x66, 0x3D, 0x7FB9) /* <CJK> */
-MAP(0x66, 0x3E, 0x7FAE) /* <CJK> */
-MAP(0x66, 0x3F, 0x7FB6) /* <CJK> */
-MAP(0x66, 0x40, 0x7FB8) /* <CJK> */
-MAP(0x66, 0x41, 0x8B71) /* <CJK> */
-MAP(0x66, 0x42, 0x7FC5) /* <CJK> */
-MAP(0x66, 0x43, 0x7FC6) /* <CJK> */
-MAP(0x66, 0x44, 0x7FCA) /* <CJK> */
-MAP(0x66, 0x45, 0x7FD5) /* <CJK> */
-MAP(0x66, 0x46, 0x7FD4) /* <CJK> */
-MAP(0x66, 0x47, 0x7FE1) /* <CJK> */
-MAP(0x66, 0x48, 0x7FE6) /* <CJK> */
-MAP(0x66, 0x49, 0x7FE9) /* <CJK> */
-MAP(0x66, 0x4A, 0x7FF3) /* <CJK> */
-MAP(0x66, 0x4B, 0x7FF9) /* <CJK> */
-MAP(0x66, 0x4C, 0x98DC) /* <CJK> */
-MAP(0x66, 0x4D, 0x8006) /* <CJK> */
-MAP(0x66, 0x4E, 0x8004) /* <CJK> */
-MAP(0x66, 0x4F, 0x800B) /* <CJK> */
-MAP(0x66, 0x50, 0x8012) /* <CJK> */
-MAP(0x66, 0x51, 0x8018) /* <CJK> */
-MAP(0x66, 0x52, 0x8019) /* <CJK> */
-MAP(0x66, 0x53, 0x801C) /* <CJK> */
-MAP(0x66, 0x54, 0x8021) /* <CJK> */
-MAP(0x66, 0x55, 0x8028) /* <CJK> */
-MAP(0x66, 0x56, 0x803F) /* <CJK> */
-MAP(0x66, 0x57, 0x803B) /* <CJK> */
-MAP(0x66, 0x58, 0x804A) /* <CJK> */
-MAP(0x66, 0x59, 0x8046) /* <CJK> */
-MAP(0x66, 0x5A, 0x8052) /* <CJK> */
-MAP(0x66, 0x5B, 0x8058) /* <CJK> */
-MAP(0x66, 0x5C, 0x805A) /* <CJK> */
-MAP(0x66, 0x5D, 0x805F) /* <CJK> */
-MAP(0x66, 0x5E, 0x8062) /* <CJK> */
-MAP(0x66, 0x5F, 0x8068) /* <CJK> */
-MAP(0x66, 0x60, 0x8073) /* <CJK> */
-MAP(0x66, 0x61, 0x8072) /* <CJK> */
-MAP(0x66, 0x62, 0x8070) /* <CJK> */
-MAP(0x66, 0x63, 0x8076) /* <CJK> */
-MAP(0x66, 0x64, 0x8079) /* <CJK> */
-MAP(0x66, 0x65, 0x807D) /* <CJK> */
-MAP(0x66, 0x66, 0x807F) /* <CJK> */
-MAP(0x66, 0x67, 0x8084) /* <CJK> */
-MAP(0x66, 0x68, 0x8086) /* <CJK> */
-MAP(0x66, 0x69, 0x8085) /* <CJK> */
-MAP(0x66, 0x6A, 0x809B) /* <CJK> */
-MAP(0x66, 0x6B, 0x8093) /* <CJK> */
-MAP(0x66, 0x6C, 0x809A) /* <CJK> */
-MAP(0x66, 0x6D, 0x80AD) /* <CJK> */
-MAP(0x66, 0x6E, 0x5190) /* <CJK> */
-MAP(0x66, 0x6F, 0x80AC) /* <CJK> */
-MAP(0x66, 0x70, 0x80DB) /* <CJK> */
-MAP(0x66, 0x71, 0x80E5) /* <CJK> */
-MAP(0x66, 0x72, 0x80D9) /* <CJK> */
-MAP(0x66, 0x73, 0x80DD) /* <CJK> */
-MAP(0x66, 0x74, 0x80C4) /* <CJK> */
-MAP(0x66, 0x75, 0x80DA) /* <CJK> */
-MAP(0x66, 0x76, 0x80D6) /* <CJK> */
-MAP(0x66, 0x77, 0x8109) /* <CJK> */
-MAP(0x66, 0x78, 0x80EF) /* <CJK> */
-MAP(0x66, 0x79, 0x80F1) /* <CJK> */
-MAP(0x66, 0x7A, 0x811B) /* <CJK> */
-MAP(0x66, 0x7B, 0x8129) /* <CJK> */
-MAP(0x66, 0x7C, 0x8123) /* <CJK> */
-MAP(0x66, 0x7D, 0x812F) /* <CJK> */
-MAP(0x66, 0x7E, 0x814B) /* <CJK> */
-MAP(0x67, 0x21, 0x968B) /* <CJK> */
-MAP(0x67, 0x22, 0x8146) /* <CJK> */
-MAP(0x67, 0x23, 0x813E) /* <CJK> */
-MAP(0x67, 0x24, 0x8153) /* <CJK> */
-MAP(0x67, 0x25, 0x8151) /* <CJK> */
-MAP(0x67, 0x26, 0x80FC) /* <CJK> */
-MAP(0x67, 0x27, 0x8171) /* <CJK> */
-MAP(0x67, 0x28, 0x816E) /* <CJK> */
-MAP(0x67, 0x29, 0x8165) /* <CJK> */
-MAP(0x67, 0x2A, 0x8166) /* <CJK> */
-MAP(0x67, 0x2B, 0x8174) /* <CJK> */
-MAP(0x67, 0x2C, 0x8183) /* <CJK> */
-MAP(0x67, 0x2D, 0x8188) /* <CJK> */
-MAP(0x67, 0x2E, 0x818A) /* <CJK> */
-MAP(0x67, 0x2F, 0x8180) /* <CJK> */
-MAP(0x67, 0x30, 0x8182) /* <CJK> */
-MAP(0x67, 0x31, 0x81A0) /* <CJK> */
-MAP(0x67, 0x32, 0x8195) /* <CJK> */
-MAP(0x67, 0x33, 0x81A4) /* <CJK> */
-MAP(0x67, 0x34, 0x81A3) /* <CJK> */
-MAP(0x67, 0x35, 0x815F) /* <CJK> */
-MAP(0x67, 0x36, 0x8193) /* <CJK> */
-MAP(0x67, 0x37, 0x81A9) /* <CJK> */
-MAP(0x67, 0x38, 0x81B0) /* <CJK> */
-MAP(0x67, 0x39, 0x81B5) /* <CJK> */
-MAP(0x67, 0x3A, 0x81BE) /* <CJK> */
-MAP(0x67, 0x3B, 0x81B8) /* <CJK> */
-MAP(0x67, 0x3C, 0x81BD) /* <CJK> */
-MAP(0x67, 0x3D, 0x81C0) /* <CJK> */
-MAP(0x67, 0x3E, 0x81C2) /* <CJK> */
-MAP(0x67, 0x3F, 0x81BA) /* <CJK> */
-MAP(0x67, 0x40, 0x81C9) /* <CJK> */
-MAP(0x67, 0x41, 0x81CD) /* <CJK> */
-MAP(0x67, 0x42, 0x81D1) /* <CJK> */
-MAP(0x67, 0x43, 0x81D9) /* <CJK> */
-MAP(0x67, 0x44, 0x81D8) /* <CJK> */
-MAP(0x67, 0x45, 0x81C8) /* <CJK> */
-MAP(0x67, 0x46, 0x81DA) /* <CJK> */
-MAP(0x67, 0x47, 0x81DF) /* <CJK> */
-MAP(0x67, 0x48, 0x81E0) /* <CJK> */
-MAP(0x67, 0x49, 0x81E7) /* <CJK> */
-MAP(0x67, 0x4A, 0x81FA) /* <CJK> */
-MAP(0x67, 0x4B, 0x81FB) /* <CJK> */
-MAP(0x67, 0x4C, 0x81FE) /* <CJK> */
-MAP(0x67, 0x4D, 0x8201) /* <CJK> */
-MAP(0x67, 0x4E, 0x8202) /* <CJK> */
-MAP(0x67, 0x4F, 0x8205) /* <CJK> */
-MAP(0x67, 0x50, 0x8207) /* <CJK> */
-MAP(0x67, 0x51, 0x820A) /* <CJK> */
-MAP(0x67, 0x52, 0x820D) /* <CJK> */
-MAP(0x67, 0x53, 0x8210) /* <CJK> */
-MAP(0x67, 0x54, 0x8216) /* <CJK> */
-MAP(0x67, 0x55, 0x8229) /* <CJK> */
-MAP(0x67, 0x56, 0x822B) /* <CJK> */
-MAP(0x67, 0x57, 0x8238) /* <CJK> */
-MAP(0x67, 0x58, 0x8233) /* <CJK> */
-MAP(0x67, 0x59, 0x8240) /* <CJK> */
-MAP(0x67, 0x5A, 0x8259) /* <CJK> */
-MAP(0x67, 0x5B, 0x8258) /* <CJK> */
-MAP(0x67, 0x5C, 0x825D) /* <CJK> */
-MAP(0x67, 0x5D, 0x825A) /* <CJK> */
-MAP(0x67, 0x5E, 0x825F) /* <CJK> */
-MAP(0x67, 0x5F, 0x8264) /* <CJK> */
-MAP(0x67, 0x60, 0x8262) /* <CJK> */
-MAP(0x67, 0x61, 0x8268) /* <CJK> */
-MAP(0x67, 0x62, 0x826A) /* <CJK> */
-MAP(0x67, 0x63, 0x826B) /* <CJK> */
-MAP(0x67, 0x64, 0x822E) /* <CJK> */
-MAP(0x67, 0x65, 0x8271) /* <CJK> */
-MAP(0x67, 0x66, 0x8277) /* <CJK> */
-MAP(0x67, 0x67, 0x8278) /* <CJK> */
-MAP(0x67, 0x68, 0x827E) /* <CJK> */
-MAP(0x67, 0x69, 0x828D) /* <CJK> */
-MAP(0x67, 0x6A, 0x8292) /* <CJK> */
-MAP(0x67, 0x6B, 0x82AB) /* <CJK> */
-MAP(0x67, 0x6C, 0x829F) /* <CJK> */
-MAP(0x67, 0x6D, 0x82BB) /* <CJK> */
-MAP(0x67, 0x6E, 0x82AC) /* <CJK> */
-MAP(0x67, 0x6F, 0x82E1) /* <CJK> */
-MAP(0x67, 0x70, 0x82E3) /* <CJK> */
-MAP(0x67, 0x71, 0x82DF) /* <CJK> */
-MAP(0x67, 0x72, 0x82D2) /* <CJK> */
-MAP(0x67, 0x73, 0x82F4) /* <CJK> */
-MAP(0x67, 0x74, 0x82F3) /* <CJK> */
-MAP(0x67, 0x75, 0x82FA) /* <CJK> */
-MAP(0x67, 0x76, 0x8393) /* <CJK> */
-MAP(0x67, 0x77, 0x8303) /* <CJK> */
-MAP(0x67, 0x78, 0x82FB) /* <CJK> */
-MAP(0x67, 0x79, 0x82F9) /* <CJK> */
-MAP(0x67, 0x7A, 0x82DE) /* <CJK> */
-MAP(0x67, 0x7B, 0x8306) /* <CJK> */
-MAP(0x67, 0x7C, 0x82DC) /* <CJK> */
-MAP(0x67, 0x7D, 0x8309) /* <CJK> */
-MAP(0x67, 0x7E, 0x82D9) /* <CJK> */
-MAP(0x68, 0x21, 0x8335) /* <CJK> */
-MAP(0x68, 0x22, 0x8334) /* <CJK> */
-MAP(0x68, 0x23, 0x8316) /* <CJK> */
-MAP(0x68, 0x24, 0x8332) /* <CJK> */
-MAP(0x68, 0x25, 0x8331) /* <CJK> */
-MAP(0x68, 0x26, 0x8340) /* <CJK> */
-MAP(0x68, 0x27, 0x8339) /* <CJK> */
-MAP(0x68, 0x28, 0x8350) /* <CJK> */
-MAP(0x68, 0x29, 0x8345) /* <CJK> */
-MAP(0x68, 0x2A, 0x832F) /* <CJK> */
-MAP(0x68, 0x2B, 0x832B) /* <CJK> */
-MAP(0x68, 0x2C, 0x8317) /* <CJK> */
-MAP(0x68, 0x2D, 0x8318) /* <CJK> */
-MAP(0x68, 0x2E, 0x8385) /* <CJK> */
-MAP(0x68, 0x2F, 0x839A) /* <CJK> */
-MAP(0x68, 0x30, 0x83AA) /* <CJK> */
-MAP(0x68, 0x31, 0x839F) /* <CJK> */
-MAP(0x68, 0x32, 0x83A2) /* <CJK> */
-MAP(0x68, 0x33, 0x8396) /* <CJK> */
-MAP(0x68, 0x34, 0x8323) /* <CJK> */
-MAP(0x68, 0x35, 0x838E) /* <CJK> */
-MAP(0x68, 0x36, 0x8387) /* <CJK> */
-MAP(0x68, 0x37, 0x838A) /* <CJK> */
-MAP(0x68, 0x38, 0x837C) /* <CJK> */
-MAP(0x68, 0x39, 0x83B5) /* <CJK> */
-MAP(0x68, 0x3A, 0x8373) /* <CJK> */
-MAP(0x68, 0x3B, 0x8375) /* <CJK> */
-MAP(0x68, 0x3C, 0x83A0) /* <CJK> */
-MAP(0x68, 0x3D, 0x8389) /* <CJK> */
-MAP(0x68, 0x3E, 0x83A8) /* <CJK> */
-MAP(0x68, 0x3F, 0x83F4) /* <CJK> */
-MAP(0x68, 0x40, 0x8413) /* <CJK> */
-MAP(0x68, 0x41, 0x83EB) /* <CJK> */
-MAP(0x68, 0x42, 0x83CE) /* <CJK> */
-MAP(0x68, 0x43, 0x83FD) /* <CJK> */
-MAP(0x68, 0x44, 0x8403) /* <CJK> */
-MAP(0x68, 0x45, 0x83D8) /* <CJK> */
-MAP(0x68, 0x46, 0x840B) /* <CJK> */
-MAP(0x68, 0x47, 0x83C1) /* <CJK> */
-MAP(0x68, 0x48, 0x83F7) /* <CJK> */
-MAP(0x68, 0x49, 0x8407) /* <CJK> */
-MAP(0x68, 0x4A, 0x83E0) /* <CJK> */
-MAP(0x68, 0x4B, 0x83F2) /* <CJK> */
-MAP(0x68, 0x4C, 0x840D) /* <CJK> */
-MAP(0x68, 0x4D, 0x8422) /* <CJK> */
-MAP(0x68, 0x4E, 0x8420) /* <CJK> */
-MAP(0x68, 0x4F, 0x83BD) /* <CJK> */
-MAP(0x68, 0x50, 0x8438) /* <CJK> */
-MAP(0x68, 0x51, 0x8506) /* <CJK> */
-MAP(0x68, 0x52, 0x83FB) /* <CJK> */
-MAP(0x68, 0x53, 0x846D) /* <CJK> */
-MAP(0x68, 0x54, 0x842A) /* <CJK> */
-MAP(0x68, 0x55, 0x843C) /* <CJK> */
-MAP(0x68, 0x56, 0x855A) /* <CJK> */
-MAP(0x68, 0x57, 0x8484) /* <CJK> */
-MAP(0x68, 0x58, 0x8477) /* <CJK> */
-MAP(0x68, 0x59, 0x846B) /* <CJK> */
-MAP(0x68, 0x5A, 0x84AD) /* <CJK> */
-MAP(0x68, 0x5B, 0x846E) /* <CJK> */
-MAP(0x68, 0x5C, 0x8482) /* <CJK> */
-MAP(0x68, 0x5D, 0x8469) /* <CJK> */
-MAP(0x68, 0x5E, 0x8446) /* <CJK> */
-MAP(0x68, 0x5F, 0x842C) /* <CJK> */
-MAP(0x68, 0x60, 0x846F) /* <CJK> */
-MAP(0x68, 0x61, 0x8479) /* <CJK> */
-MAP(0x68, 0x62, 0x8435) /* <CJK> */
-MAP(0x68, 0x63, 0x84CA) /* <CJK> */
-MAP(0x68, 0x64, 0x8462) /* <CJK> */
-MAP(0x68, 0x65, 0x84B9) /* <CJK> */
-MAP(0x68, 0x66, 0x84BF) /* <CJK> */
-MAP(0x68, 0x67, 0x849F) /* <CJK> */
-MAP(0x68, 0x68, 0x84D9) /* <CJK> */
-MAP(0x68, 0x69, 0x84CD) /* <CJK> */
-MAP(0x68, 0x6A, 0x84BB) /* <CJK> */
-MAP(0x68, 0x6B, 0x84DA) /* <CJK> */
-MAP(0x68, 0x6C, 0x84D0) /* <CJK> */
-MAP(0x68, 0x6D, 0x84C1) /* <CJK> */
-MAP(0x68, 0x6E, 0x84C6) /* <CJK> */
-MAP(0x68, 0x6F, 0x84D6) /* <CJK> */
-MAP(0x68, 0x70, 0x84A1) /* <CJK> */
-MAP(0x68, 0x71, 0x8521) /* <CJK> */
-MAP(0x68, 0x72, 0x84FF) /* <CJK> */
-MAP(0x68, 0x73, 0x84F4) /* <CJK> */
-MAP(0x68, 0x74, 0x8517) /* <CJK> */
-MAP(0x68, 0x75, 0x8518) /* <CJK> */
-MAP(0x68, 0x76, 0x852C) /* <CJK> */
-MAP(0x68, 0x77, 0x851F) /* <CJK> */
-MAP(0x68, 0x78, 0x8515) /* <CJK> */
-MAP(0x68, 0x79, 0x8514) /* <CJK> */
-MAP(0x68, 0x7A, 0x84FC) /* <CJK> */
-MAP(0x68, 0x7B, 0x8540) /* <CJK> */
-MAP(0x68, 0x7C, 0x8563) /* <CJK> */
-MAP(0x68, 0x7D, 0x8558) /* <CJK> */
-MAP(0x68, 0x7E, 0x8548) /* <CJK> */
-MAP(0x69, 0x21, 0x8541) /* <CJK> */
-MAP(0x69, 0x22, 0x8602) /* <CJK> */
-MAP(0x69, 0x23, 0x854B) /* <CJK> */
-MAP(0x69, 0x24, 0x8555) /* <CJK> */
-MAP(0x69, 0x25, 0x8580) /* <CJK> */
-MAP(0x69, 0x26, 0x85A4) /* <CJK> */
-MAP(0x69, 0x27, 0x8588) /* <CJK> */
-MAP(0x69, 0x28, 0x8591) /* <CJK> */
-MAP(0x69, 0x29, 0x858A) /* <CJK> */
-MAP(0x69, 0x2A, 0x85A8) /* <CJK> */
-MAP(0x69, 0x2B, 0x856D) /* <CJK> */
-MAP(0x69, 0x2C, 0x8594) /* <CJK> */
-MAP(0x69, 0x2D, 0x859B) /* <CJK> */
-MAP(0x69, 0x2E, 0x85EA) /* <CJK> */
-MAP(0x69, 0x2F, 0x8587) /* <CJK> */
-MAP(0x69, 0x30, 0x859C) /* <CJK> */
-MAP(0x69, 0x31, 0x8577) /* <CJK> */
-MAP(0x69, 0x32, 0x857E) /* <CJK> */
-MAP(0x69, 0x33, 0x8590) /* <CJK> */
-MAP(0x69, 0x34, 0x85C9) /* <CJK> */
-MAP(0x69, 0x35, 0x85BA) /* <CJK> */
-MAP(0x69, 0x36, 0x85CF) /* <CJK> */
-MAP(0x69, 0x37, 0x85B9) /* <CJK> */
-MAP(0x69, 0x38, 0x85D0) /* <CJK> */
-MAP(0x69, 0x39, 0x85D5) /* <CJK> */
-MAP(0x69, 0x3A, 0x85DD) /* <CJK> */
-MAP(0x69, 0x3B, 0x85E5) /* <CJK> */
-MAP(0x69, 0x3C, 0x85DC) /* <CJK> */
-MAP(0x69, 0x3D, 0x85F9) /* <CJK> */
-MAP(0x69, 0x3E, 0x860A) /* <CJK> */
-MAP(0x69, 0x3F, 0x8613) /* <CJK> */
-MAP(0x69, 0x40, 0x860B) /* <CJK> */
-MAP(0x69, 0x41, 0x85FE) /* <CJK> */
-MAP(0x69, 0x42, 0x85FA) /* <CJK> */
-MAP(0x69, 0x43, 0x8606) /* <CJK> */
-MAP(0x69, 0x44, 0x8622) /* <CJK> */
-MAP(0x69, 0x45, 0x861A) /* <CJK> */
-MAP(0x69, 0x46, 0x8630) /* <CJK> */
-MAP(0x69, 0x47, 0x863F) /* <CJK> */
-MAP(0x69, 0x48, 0x864D) /* <CJK> */
-MAP(0x69, 0x49, 0x4E55) /* <CJK> */
-MAP(0x69, 0x4A, 0x8654) /* <CJK> */
-MAP(0x69, 0x4B, 0x865F) /* <CJK> */
-MAP(0x69, 0x4C, 0x8667) /* <CJK> */
-MAP(0x69, 0x4D, 0x8671) /* <CJK> */
-MAP(0x69, 0x4E, 0x8693) /* <CJK> */
-MAP(0x69, 0x4F, 0x86A3) /* <CJK> */
-MAP(0x69, 0x50, 0x86A9) /* <CJK> */
-MAP(0x69, 0x51, 0x86AA) /* <CJK> */
-MAP(0x69, 0x52, 0x868B) /* <CJK> */
-MAP(0x69, 0x53, 0x868C) /* <CJK> */
-MAP(0x69, 0x54, 0x86B6) /* <CJK> */
-MAP(0x69, 0x55, 0x86AF) /* <CJK> */
-MAP(0x69, 0x56, 0x86C4) /* <CJK> */
-MAP(0x69, 0x57, 0x86C6) /* <CJK> */
-MAP(0x69, 0x58, 0x86B0) /* <CJK> */
-MAP(0x69, 0x59, 0x86C9) /* <CJK> */
-MAP(0x69, 0x5A, 0x8823) /* <CJK> */
-MAP(0x69, 0x5B, 0x86AB) /* <CJK> */
-MAP(0x69, 0x5C, 0x86D4) /* <CJK> */
-MAP(0x69, 0x5D, 0x86DE) /* <CJK> */
-MAP(0x69, 0x5E, 0x86E9) /* <CJK> */
-MAP(0x69, 0x5F, 0x86EC) /* <CJK> */
-MAP(0x69, 0x60, 0x86DF) /* <CJK> */
-MAP(0x69, 0x61, 0x86DB) /* <CJK> */
-MAP(0x69, 0x62, 0x86EF) /* <CJK> */
-MAP(0x69, 0x63, 0x8712) /* <CJK> */
-MAP(0x69, 0x64, 0x8706) /* <CJK> */
-MAP(0x69, 0x65, 0x8708) /* <CJK> */
-MAP(0x69, 0x66, 0x8700) /* <CJK> */
-MAP(0x69, 0x67, 0x8703) /* <CJK> */
-MAP(0x69, 0x68, 0x86FB) /* <CJK> */
-MAP(0x69, 0x69, 0x8711) /* <CJK> */
-MAP(0x69, 0x6A, 0x8709) /* <CJK> */
-MAP(0x69, 0x6B, 0x870D) /* <CJK> */
-MAP(0x69, 0x6C, 0x86F9) /* <CJK> */
-MAP(0x69, 0x6D, 0x870A) /* <CJK> */
-MAP(0x69, 0x6E, 0x8734) /* <CJK> */
-MAP(0x69, 0x6F, 0x873F) /* <CJK> */
-MAP(0x69, 0x70, 0x8737) /* <CJK> */
-MAP(0x69, 0x71, 0x873B) /* <CJK> */
-MAP(0x69, 0x72, 0x8725) /* <CJK> */
-MAP(0x69, 0x73, 0x8729) /* <CJK> */
-MAP(0x69, 0x74, 0x871A) /* <CJK> */
-MAP(0x69, 0x75, 0x8760) /* <CJK> */
-MAP(0x69, 0x76, 0x875F) /* <CJK> */
-MAP(0x69, 0x77, 0x8778) /* <CJK> */
-MAP(0x69, 0x78, 0x874C) /* <CJK> */
-MAP(0x69, 0x79, 0x874E) /* <CJK> */
-MAP(0x69, 0x7A, 0x8774) /* <CJK> */
-MAP(0x69, 0x7B, 0x8757) /* <CJK> */
-MAP(0x69, 0x7C, 0x8768) /* <CJK> */
-MAP(0x69, 0x7D, 0x876E) /* <CJK> */
-MAP(0x69, 0x7E, 0x8759) /* <CJK> */
-MAP(0x6A, 0x21, 0x8753) /* <CJK> */
-MAP(0x6A, 0x22, 0x8763) /* <CJK> */
-MAP(0x6A, 0x23, 0x876A) /* <CJK> */
-MAP(0x6A, 0x24, 0x8805) /* <CJK> */
-MAP(0x6A, 0x25, 0x87A2) /* <CJK> */
-MAP(0x6A, 0x26, 0x879F) /* <CJK> */
-MAP(0x6A, 0x27, 0x8782) /* <CJK> */
-MAP(0x6A, 0x28, 0x87AF) /* <CJK> */
-MAP(0x6A, 0x29, 0x87CB) /* <CJK> */
-MAP(0x6A, 0x2A, 0x87BD) /* <CJK> */
-MAP(0x6A, 0x2B, 0x87C0) /* <CJK> */
-MAP(0x6A, 0x2C, 0x87D0) /* <CJK> */
-MAP(0x6A, 0x2D, 0x96D6) /* <CJK> */
-MAP(0x6A, 0x2E, 0x87AB) /* <CJK> */
-MAP(0x6A, 0x2F, 0x87C4) /* <CJK> */
-MAP(0x6A, 0x30, 0x87B3) /* <CJK> */
-MAP(0x6A, 0x31, 0x87C7) /* <CJK> */
-MAP(0x6A, 0x32, 0x87C6) /* <CJK> */
-MAP(0x6A, 0x33, 0x87BB) /* <CJK> */
-MAP(0x6A, 0x34, 0x87EF) /* <CJK> */
-MAP(0x6A, 0x35, 0x87F2) /* <CJK> */
-MAP(0x6A, 0x36, 0x87E0) /* <CJK> */
-MAP(0x6A, 0x37, 0x880F) /* <CJK> */
-MAP(0x6A, 0x38, 0x880D) /* <CJK> */
-MAP(0x6A, 0x39, 0x87FE) /* <CJK> */
-MAP(0x6A, 0x3A, 0x87F6) /* <CJK> */
-MAP(0x6A, 0x3B, 0x87F7) /* <CJK> */
-MAP(0x6A, 0x3C, 0x880E) /* <CJK> */
-MAP(0x6A, 0x3D, 0x87D2) /* <CJK> */
-MAP(0x6A, 0x3E, 0x8811) /* <CJK> */
-MAP(0x6A, 0x3F, 0x8816) /* <CJK> */
-MAP(0x6A, 0x40, 0x8815) /* <CJK> */
-MAP(0x6A, 0x41, 0x8822) /* <CJK> */
-MAP(0x6A, 0x42, 0x8821) /* <CJK> */
-MAP(0x6A, 0x43, 0x8831) /* <CJK> */
-MAP(0x6A, 0x44, 0x8836) /* <CJK> */
-MAP(0x6A, 0x45, 0x8839) /* <CJK> */
-MAP(0x6A, 0x46, 0x8827) /* <CJK> */
-MAP(0x6A, 0x47, 0x883B) /* <CJK> */
-MAP(0x6A, 0x48, 0x8844) /* <CJK> */
-MAP(0x6A, 0x49, 0x8842) /* <CJK> */
-MAP(0x6A, 0x4A, 0x8852) /* <CJK> */
-MAP(0x6A, 0x4B, 0x8859) /* <CJK> */
-MAP(0x6A, 0x4C, 0x885E) /* <CJK> */
-MAP(0x6A, 0x4D, 0x8862) /* <CJK> */
-MAP(0x6A, 0x4E, 0x886B) /* <CJK> */
-MAP(0x6A, 0x4F, 0x8881) /* <CJK> */
-MAP(0x6A, 0x50, 0x887E) /* <CJK> */
-MAP(0x6A, 0x51, 0x889E) /* <CJK> */
-MAP(0x6A, 0x52, 0x8875) /* <CJK> */
-MAP(0x6A, 0x53, 0x887D) /* <CJK> */
-MAP(0x6A, 0x54, 0x88B5) /* <CJK> */
-MAP(0x6A, 0x55, 0x8872) /* <CJK> */
-MAP(0x6A, 0x56, 0x8882) /* <CJK> */
-MAP(0x6A, 0x57, 0x8897) /* <CJK> */
-MAP(0x6A, 0x58, 0x8892) /* <CJK> */
-MAP(0x6A, 0x59, 0x88AE) /* <CJK> */
-MAP(0x6A, 0x5A, 0x8899) /* <CJK> */
-MAP(0x6A, 0x5B, 0x88A2) /* <CJK> */
-MAP(0x6A, 0x5C, 0x888D) /* <CJK> */
-MAP(0x6A, 0x5D, 0x88A4) /* <CJK> */
-MAP(0x6A, 0x5E, 0x88B0) /* <CJK> */
-MAP(0x6A, 0x5F, 0x88BF) /* <CJK> */
-MAP(0x6A, 0x60, 0x88B1) /* <CJK> */
-MAP(0x6A, 0x61, 0x88C3) /* <CJK> */
-MAP(0x6A, 0x62, 0x88C4) /* <CJK> */
-MAP(0x6A, 0x63, 0x88D4) /* <CJK> */
-MAP(0x6A, 0x64, 0x88D8) /* <CJK> */
-MAP(0x6A, 0x65, 0x88D9) /* <CJK> */
-MAP(0x6A, 0x66, 0x88DD) /* <CJK> */
-MAP(0x6A, 0x67, 0x88F9) /* <CJK> */
-MAP(0x6A, 0x68, 0x8902) /* <CJK> */
-MAP(0x6A, 0x69, 0x88FC) /* <CJK> */
-MAP(0x6A, 0x6A, 0x88F4) /* <CJK> */
-MAP(0x6A, 0x6B, 0x88E8) /* <CJK> */
-MAP(0x6A, 0x6C, 0x88F2) /* <CJK> */
-MAP(0x6A, 0x6D, 0x8904) /* <CJK> */
-MAP(0x6A, 0x6E, 0x890C) /* <CJK> */
-MAP(0x6A, 0x6F, 0x890A) /* <CJK> */
-MAP(0x6A, 0x70, 0x8913) /* <CJK> */
-MAP(0x6A, 0x71, 0x8943) /* <CJK> */
-MAP(0x6A, 0x72, 0x891E) /* <CJK> */
-MAP(0x6A, 0x73, 0x8925) /* <CJK> */
-MAP(0x6A, 0x74, 0x892A) /* <CJK> */
-MAP(0x6A, 0x75, 0x892B) /* <CJK> */
-MAP(0x6A, 0x76, 0x8941) /* <CJK> */
-MAP(0x6A, 0x77, 0x8944) /* <CJK> */
-MAP(0x6A, 0x78, 0x893B) /* <CJK> */
-MAP(0x6A, 0x79, 0x8936) /* <CJK> */
-MAP(0x6A, 0x7A, 0x8938) /* <CJK> */
-MAP(0x6A, 0x7B, 0x894C) /* <CJK> */
-MAP(0x6A, 0x7C, 0x891D) /* <CJK> */
-MAP(0x6A, 0x7D, 0x8960) /* <CJK> */
-MAP(0x6A, 0x7E, 0x895E) /* <CJK> */
-MAP(0x6B, 0x21, 0x8966) /* <CJK> */
-MAP(0x6B, 0x22, 0x8964) /* <CJK> */
-MAP(0x6B, 0x23, 0x896D) /* <CJK> */
-MAP(0x6B, 0x24, 0x896A) /* <CJK> */
-MAP(0x6B, 0x25, 0x896F) /* <CJK> */
-MAP(0x6B, 0x26, 0x8974) /* <CJK> */
-MAP(0x6B, 0x27, 0x8977) /* <CJK> */
-MAP(0x6B, 0x28, 0x897E) /* <CJK> */
-MAP(0x6B, 0x29, 0x8983) /* <CJK> */
-MAP(0x6B, 0x2A, 0x8988) /* <CJK> */
-MAP(0x6B, 0x2B, 0x898A) /* <CJK> */
-MAP(0x6B, 0x2C, 0x8993) /* <CJK> */
-MAP(0x6B, 0x2D, 0x8998) /* <CJK> */
-MAP(0x6B, 0x2E, 0x89A1) /* <CJK> */
-MAP(0x6B, 0x2F, 0x89A9) /* <CJK> */
-MAP(0x6B, 0x30, 0x89A6) /* <CJK> */
-MAP(0x6B, 0x31, 0x89AC) /* <CJK> */
-MAP(0x6B, 0x32, 0x89AF) /* <CJK> */
-MAP(0x6B, 0x33, 0x89B2) /* <CJK> */
-MAP(0x6B, 0x34, 0x89BA) /* <CJK> */
-MAP(0x6B, 0x35, 0x89BD) /* <CJK> */
-MAP(0x6B, 0x36, 0x89BF) /* <CJK> */
-MAP(0x6B, 0x37, 0x89C0) /* <CJK> */
-MAP(0x6B, 0x38, 0x89DA) /* <CJK> */
-MAP(0x6B, 0x39, 0x89DC) /* <CJK> */
-MAP(0x6B, 0x3A, 0x89DD) /* <CJK> */
-MAP(0x6B, 0x3B, 0x89E7) /* <CJK> */
-MAP(0x6B, 0x3C, 0x89F4) /* <CJK> */
-MAP(0x6B, 0x3D, 0x89F8) /* <CJK> */
-MAP(0x6B, 0x3E, 0x8A03) /* <CJK> */
-MAP(0x6B, 0x3F, 0x8A16) /* <CJK> */
-MAP(0x6B, 0x40, 0x8A10) /* <CJK> */
-MAP(0x6B, 0x41, 0x8A0C) /* <CJK> */
-MAP(0x6B, 0x42, 0x8A1B) /* <CJK> */
-MAP(0x6B, 0x43, 0x8A1D) /* <CJK> */
-MAP(0x6B, 0x44, 0x8A25) /* <CJK> */
-MAP(0x6B, 0x45, 0x8A36) /* <CJK> */
-MAP(0x6B, 0x46, 0x8A41) /* <CJK> */
-MAP(0x6B, 0x47, 0x8A5B) /* <CJK> */
-MAP(0x6B, 0x48, 0x8A52) /* <CJK> */
-MAP(0x6B, 0x49, 0x8A46) /* <CJK> */
-MAP(0x6B, 0x4A, 0x8A48) /* <CJK> */
-MAP(0x6B, 0x4B, 0x8A7C) /* <CJK> */
-MAP(0x6B, 0x4C, 0x8A6D) /* <CJK> */
-MAP(0x6B, 0x4D, 0x8A6C) /* <CJK> */
-MAP(0x6B, 0x4E, 0x8A62) /* <CJK> */
-MAP(0x6B, 0x4F, 0x8A85) /* <CJK> */
-MAP(0x6B, 0x50, 0x8A82) /* <CJK> */
-MAP(0x6B, 0x51, 0x8A84) /* <CJK> */
-MAP(0x6B, 0x52, 0x8AA8) /* <CJK> */
-MAP(0x6B, 0x53, 0x8AA1) /* <CJK> */
-MAP(0x6B, 0x54, 0x8A91) /* <CJK> */
-MAP(0x6B, 0x55, 0x8AA5) /* <CJK> */
-MAP(0x6B, 0x56, 0x8AA6) /* <CJK> */
-MAP(0x6B, 0x57, 0x8A9A) /* <CJK> */
-MAP(0x6B, 0x58, 0x8AA3) /* <CJK> */
-MAP(0x6B, 0x59, 0x8AC4) /* <CJK> */
-MAP(0x6B, 0x5A, 0x8ACD) /* <CJK> */
-MAP(0x6B, 0x5B, 0x8AC2) /* <CJK> */
-MAP(0x6B, 0x5C, 0x8ADA) /* <CJK> */
-MAP(0x6B, 0x5D, 0x8AEB) /* <CJK> */
-MAP(0x6B, 0x5E, 0x8AF3) /* <CJK> */
-MAP(0x6B, 0x5F, 0x8AE7) /* <CJK> */
-MAP(0x6B, 0x60, 0x8AE4) /* <CJK> */
-MAP(0x6B, 0x61, 0x8AF1) /* <CJK> */
-MAP(0x6B, 0x62, 0x8B14) /* <CJK> */
-MAP(0x6B, 0x63, 0x8AE0) /* <CJK> */
-MAP(0x6B, 0x64, 0x8AE2) /* <CJK> */
-MAP(0x6B, 0x65, 0x8AF7) /* <CJK> */
-MAP(0x6B, 0x66, 0x8ADE) /* <CJK> */
-MAP(0x6B, 0x67, 0x8ADB) /* <CJK> */
-MAP(0x6B, 0x68, 0x8B0C) /* <CJK> */
-MAP(0x6B, 0x69, 0x8B07) /* <CJK> */
-MAP(0x6B, 0x6A, 0x8B1A) /* <CJK> */
-MAP(0x6B, 0x6B, 0x8AE1) /* <CJK> */
-MAP(0x6B, 0x6C, 0x8B16) /* <CJK> */
-MAP(0x6B, 0x6D, 0x8B10) /* <CJK> */
-MAP(0x6B, 0x6E, 0x8B17) /* <CJK> */
-MAP(0x6B, 0x6F, 0x8B20) /* <CJK> */
-MAP(0x6B, 0x70, 0x8B33) /* <CJK> */
-MAP(0x6B, 0x71, 0x97AB) /* <CJK> */
-MAP(0x6B, 0x72, 0x8B26) /* <CJK> */
-MAP(0x6B, 0x73, 0x8B2B) /* <CJK> */
-MAP(0x6B, 0x74, 0x8B3E) /* <CJK> */
-MAP(0x6B, 0x75, 0x8B28) /* <CJK> */
-MAP(0x6B, 0x76, 0x8B41) /* <CJK> */
-MAP(0x6B, 0x77, 0x8B4C) /* <CJK> */
-MAP(0x6B, 0x78, 0x8B4F) /* <CJK> */
-MAP(0x6B, 0x79, 0x8B4E) /* <CJK> */
-MAP(0x6B, 0x7A, 0x8B49) /* <CJK> */
-MAP(0x6B, 0x7B, 0x8B56) /* <CJK> */
-MAP(0x6B, 0x7C, 0x8B5B) /* <CJK> */
-MAP(0x6B, 0x7D, 0x8B5A) /* <CJK> */
-MAP(0x6B, 0x7E, 0x8B6B) /* <CJK> */
-MAP(0x6C, 0x21, 0x8B5F) /* <CJK> */
-MAP(0x6C, 0x22, 0x8B6C) /* <CJK> */
-MAP(0x6C, 0x23, 0x8B6F) /* <CJK> */
-MAP(0x6C, 0x24, 0x8B74) /* <CJK> */
-MAP(0x6C, 0x25, 0x8B7D) /* <CJK> */
-MAP(0x6C, 0x26, 0x8B80) /* <CJK> */
-MAP(0x6C, 0x27, 0x8B8C) /* <CJK> */
-MAP(0x6C, 0x28, 0x8B8E) /* <CJK> */
-MAP(0x6C, 0x29, 0x8B92) /* <CJK> */
-MAP(0x6C, 0x2A, 0x8B93) /* <CJK> */
-MAP(0x6C, 0x2B, 0x8B96) /* <CJK> */
-MAP(0x6C, 0x2C, 0x8B99) /* <CJK> */
-MAP(0x6C, 0x2D, 0x8B9A) /* <CJK> */
-MAP(0x6C, 0x2E, 0x8C3A) /* <CJK> */
-MAP(0x6C, 0x2F, 0x8C41) /* <CJK> */
-MAP(0x6C, 0x30, 0x8C3F) /* <CJK> */
-MAP(0x6C, 0x31, 0x8C48) /* <CJK> */
-MAP(0x6C, 0x32, 0x8C4C) /* <CJK> */
-MAP(0x6C, 0x33, 0x8C4E) /* <CJK> */
-MAP(0x6C, 0x34, 0x8C50) /* <CJK> */
-MAP(0x6C, 0x35, 0x8C55) /* <CJK> */
-MAP(0x6C, 0x36, 0x8C62) /* <CJK> */
-MAP(0x6C, 0x37, 0x8C6C) /* <CJK> */
-MAP(0x6C, 0x38, 0x8C78) /* <CJK> */
-MAP(0x6C, 0x39, 0x8C7A) /* <CJK> */
-MAP(0x6C, 0x3A, 0x8C82) /* <CJK> */
-MAP(0x6C, 0x3B, 0x8C89) /* <CJK> */
-MAP(0x6C, 0x3C, 0x8C85) /* <CJK> */
-MAP(0x6C, 0x3D, 0x8C8A) /* <CJK> */
-MAP(0x6C, 0x3E, 0x8C8D) /* <CJK> */
-MAP(0x6C, 0x3F, 0x8C8E) /* <CJK> */
-MAP(0x6C, 0x40, 0x8C94) /* <CJK> */
-MAP(0x6C, 0x41, 0x8C7C) /* <CJK> */
-MAP(0x6C, 0x42, 0x8C98) /* <CJK> */
-MAP(0x6C, 0x43, 0x621D) /* <CJK> */
-MAP(0x6C, 0x44, 0x8CAD) /* <CJK> */
-MAP(0x6C, 0x45, 0x8CAA) /* <CJK> */
-MAP(0x6C, 0x46, 0x8CBD) /* <CJK> */
-MAP(0x6C, 0x47, 0x8CB2) /* <CJK> */
-MAP(0x6C, 0x48, 0x8CB3) /* <CJK> */
-MAP(0x6C, 0x49, 0x8CAE) /* <CJK> */
-MAP(0x6C, 0x4A, 0x8CB6) /* <CJK> */
-MAP(0x6C, 0x4B, 0x8CC8) /* <CJK> */
-MAP(0x6C, 0x4C, 0x8CC1) /* <CJK> */
-MAP(0x6C, 0x4D, 0x8CE4) /* <CJK> */
-MAP(0x6C, 0x4E, 0x8CE3) /* <CJK> */
-MAP(0x6C, 0x4F, 0x8CDA) /* <CJK> */
-MAP(0x6C, 0x50, 0x8CFD) /* <CJK> */
-MAP(0x6C, 0x51, 0x8CFA) /* <CJK> */
-MAP(0x6C, 0x52, 0x8CFB) /* <CJK> */
-MAP(0x6C, 0x53, 0x8D04) /* <CJK> */
-MAP(0x6C, 0x54, 0x8D05) /* <CJK> */
-MAP(0x6C, 0x55, 0x8D0A) /* <CJK> */
-MAP(0x6C, 0x56, 0x8D07) /* <CJK> */
-MAP(0x6C, 0x57, 0x8D0F) /* <CJK> */
-MAP(0x6C, 0x58, 0x8D0D) /* <CJK> */
-MAP(0x6C, 0x59, 0x8D10) /* <CJK> */
-MAP(0x6C, 0x5A, 0x9F4E) /* <CJK> */
-MAP(0x6C, 0x5B, 0x8D13) /* <CJK> */
-MAP(0x6C, 0x5C, 0x8CCD) /* <CJK> */
-MAP(0x6C, 0x5D, 0x8D14) /* <CJK> */
-MAP(0x6C, 0x5E, 0x8D16) /* <CJK> */
-MAP(0x6C, 0x5F, 0x8D67) /* <CJK> */
-MAP(0x6C, 0x60, 0x8D6D) /* <CJK> */
-MAP(0x6C, 0x61, 0x8D71) /* <CJK> */
-MAP(0x6C, 0x62, 0x8D73) /* <CJK> */
-MAP(0x6C, 0x63, 0x8D81) /* <CJK> */
-MAP(0x6C, 0x64, 0x8D99) /* <CJK> */
-MAP(0x6C, 0x65, 0x8DC2) /* <CJK> */
-MAP(0x6C, 0x66, 0x8DBE) /* <CJK> */
-MAP(0x6C, 0x67, 0x8DBA) /* <CJK> */
-MAP(0x6C, 0x68, 0x8DCF) /* <CJK> */
-MAP(0x6C, 0x69, 0x8DDA) /* <CJK> */
-MAP(0x6C, 0x6A, 0x8DD6) /* <CJK> */
-MAP(0x6C, 0x6B, 0x8DCC) /* <CJK> */
-MAP(0x6C, 0x6C, 0x8DDB) /* <CJK> */
-MAP(0x6C, 0x6D, 0x8DCB) /* <CJK> */
-MAP(0x6C, 0x6E, 0x8DEA) /* <CJK> */
-MAP(0x6C, 0x6F, 0x8DEB) /* <CJK> */
-MAP(0x6C, 0x70, 0x8DDF) /* <CJK> */
-MAP(0x6C, 0x71, 0x8DE3) /* <CJK> */
-MAP(0x6C, 0x72, 0x8DFC) /* <CJK> */
-MAP(0x6C, 0x73, 0x8E08) /* <CJK> */
-MAP(0x6C, 0x74, 0x8E09) /* <CJK> */
-MAP(0x6C, 0x75, 0x8DFF) /* <CJK> */
-MAP(0x6C, 0x76, 0x8E1D) /* <CJK> */
-MAP(0x6C, 0x77, 0x8E1E) /* <CJK> */
-MAP(0x6C, 0x78, 0x8E10) /* <CJK> */
-MAP(0x6C, 0x79, 0x8E1F) /* <CJK> */
-MAP(0x6C, 0x7A, 0x8E42) /* <CJK> */
-MAP(0x6C, 0x7B, 0x8E35) /* <CJK> */
-MAP(0x6C, 0x7C, 0x8E30) /* <CJK> */
-MAP(0x6C, 0x7D, 0x8E34) /* <CJK> */
-MAP(0x6C, 0x7E, 0x8E4A) /* <CJK> */
-MAP(0x6D, 0x21, 0x8E47) /* <CJK> */
-MAP(0x6D, 0x22, 0x8E49) /* <CJK> */
-MAP(0x6D, 0x23, 0x8E4C) /* <CJK> */
-MAP(0x6D, 0x24, 0x8E50) /* <CJK> */
-MAP(0x6D, 0x25, 0x8E48) /* <CJK> */
-MAP(0x6D, 0x26, 0x8E59) /* <CJK> */
-MAP(0x6D, 0x27, 0x8E64) /* <CJK> */
-MAP(0x6D, 0x28, 0x8E60) /* <CJK> */
-MAP(0x6D, 0x29, 0x8E2A) /* <CJK> */
-MAP(0x6D, 0x2A, 0x8E63) /* <CJK> */
-MAP(0x6D, 0x2B, 0x8E55) /* <CJK> */
-MAP(0x6D, 0x2C, 0x8E76) /* <CJK> */
-MAP(0x6D, 0x2D, 0x8E72) /* <CJK> */
-MAP(0x6D, 0x2E, 0x8E7C) /* <CJK> */
-MAP(0x6D, 0x2F, 0x8E81) /* <CJK> */
-MAP(0x6D, 0x30, 0x8E87) /* <CJK> */
-MAP(0x6D, 0x31, 0x8E85) /* <CJK> */
-MAP(0x6D, 0x32, 0x8E84) /* <CJK> */
-MAP(0x6D, 0x33, 0x8E8B) /* <CJK> */
-MAP(0x6D, 0x34, 0x8E8A) /* <CJK> */
-MAP(0x6D, 0x35, 0x8E93) /* <CJK> */
-MAP(0x6D, 0x36, 0x8E91) /* <CJK> */
-MAP(0x6D, 0x37, 0x8E94) /* <CJK> */
-MAP(0x6D, 0x38, 0x8E99) /* <CJK> */
-MAP(0x6D, 0x39, 0x8EAA) /* <CJK> */
-MAP(0x6D, 0x3A, 0x8EA1) /* <CJK> */
-MAP(0x6D, 0x3B, 0x8EAC) /* <CJK> */
-MAP(0x6D, 0x3C, 0x8EB0) /* <CJK> */
-MAP(0x6D, 0x3D, 0x8EC6) /* <CJK> */
-MAP(0x6D, 0x3E, 0x8EB1) /* <CJK> */
-MAP(0x6D, 0x3F, 0x8EBE) /* <CJK> */
-MAP(0x6D, 0x40, 0x8EC5) /* <CJK> */
-MAP(0x6D, 0x41, 0x8EC8) /* <CJK> */
-MAP(0x6D, 0x42, 0x8ECB) /* <CJK> */
-MAP(0x6D, 0x43, 0x8EDB) /* <CJK> */
-MAP(0x6D, 0x44, 0x8EE3) /* <CJK> */
-MAP(0x6D, 0x45, 0x8EFC) /* <CJK> */
-MAP(0x6D, 0x46, 0x8EFB) /* <CJK> */
-MAP(0x6D, 0x47, 0x8EEB) /* <CJK> */
-MAP(0x6D, 0x48, 0x8EFE) /* <CJK> */
-MAP(0x6D, 0x49, 0x8F0A) /* <CJK> */
-MAP(0x6D, 0x4A, 0x8F05) /* <CJK> */
-MAP(0x6D, 0x4B, 0x8F15) /* <CJK> */
-MAP(0x6D, 0x4C, 0x8F12) /* <CJK> */
-MAP(0x6D, 0x4D, 0x8F19) /* <CJK> */
-MAP(0x6D, 0x4E, 0x8F13) /* <CJK> */
-MAP(0x6D, 0x4F, 0x8F1C) /* <CJK> */
-MAP(0x6D, 0x50, 0x8F1F) /* <CJK> */
-MAP(0x6D, 0x51, 0x8F1B) /* <CJK> */
-MAP(0x6D, 0x52, 0x8F0C) /* <CJK> */
-MAP(0x6D, 0x53, 0x8F26) /* <CJK> */
-MAP(0x6D, 0x54, 0x8F33) /* <CJK> */
-MAP(0x6D, 0x55, 0x8F3B) /* <CJK> */
-MAP(0x6D, 0x56, 0x8F39) /* <CJK> */
-MAP(0x6D, 0x57, 0x8F45) /* <CJK> */
-MAP(0x6D, 0x58, 0x8F42) /* <CJK> */
-MAP(0x6D, 0x59, 0x8F3E) /* <CJK> */
-MAP(0x6D, 0x5A, 0x8F4C) /* <CJK> */
-MAP(0x6D, 0x5B, 0x8F49) /* <CJK> */
-MAP(0x6D, 0x5C, 0x8F46) /* <CJK> */
-MAP(0x6D, 0x5D, 0x8F4E) /* <CJK> */
-MAP(0x6D, 0x5E, 0x8F57) /* <CJK> */
-MAP(0x6D, 0x5F, 0x8F5C) /* <CJK> */
-MAP(0x6D, 0x60, 0x8F62) /* <CJK> */
-MAP(0x6D, 0x61, 0x8F63) /* <CJK> */
-MAP(0x6D, 0x62, 0x8F64) /* <CJK> */
-MAP(0x6D, 0x63, 0x8F9C) /* <CJK> */
-MAP(0x6D, 0x64, 0x8F9F) /* <CJK> */
-MAP(0x6D, 0x65, 0x8FA3) /* <CJK> */
-MAP(0x6D, 0x66, 0x8FAD) /* <CJK> */
-MAP(0x6D, 0x67, 0x8FAF) /* <CJK> */
-MAP(0x6D, 0x68, 0x8FB7) /* <CJK> */
-MAP(0x6D, 0x69, 0x8FDA) /* <CJK> */
-MAP(0x6D, 0x6A, 0x8FE5) /* <CJK> */
-MAP(0x6D, 0x6B, 0x8FE2) /* <CJK> */
-MAP(0x6D, 0x6C, 0x8FEA) /* <CJK> */
-MAP(0x6D, 0x6D, 0x8FEF) /* <CJK> */
-MAP(0x6D, 0x6E, 0x9087) /* <CJK> */
-MAP(0x6D, 0x6F, 0x8FF4) /* <CJK> */
-MAP(0x6D, 0x70, 0x9005) /* <CJK> */
-MAP(0x6D, 0x71, 0x8FF9) /* <CJK> */
-MAP(0x6D, 0x72, 0x8FFA) /* <CJK> */
-MAP(0x6D, 0x73, 0x9011) /* <CJK> */
-MAP(0x6D, 0x74, 0x9015) /* <CJK> */
-MAP(0x6D, 0x75, 0x9021) /* <CJK> */
-MAP(0x6D, 0x76, 0x900D) /* <CJK> */
-MAP(0x6D, 0x77, 0x901E) /* <CJK> */
-MAP(0x6D, 0x78, 0x9016) /* <CJK> */
-MAP(0x6D, 0x79, 0x900B) /* <CJK> */
-MAP(0x6D, 0x7A, 0x9027) /* <CJK> */
-MAP(0x6D, 0x7B, 0x9036) /* <CJK> */
-MAP(0x6D, 0x7C, 0x9035) /* <CJK> */
-MAP(0x6D, 0x7D, 0x9039) /* <CJK> */
-MAP(0x6D, 0x7E, 0x8FF8) /* <CJK> */
-MAP(0x6E, 0x21, 0x904F) /* <CJK> */
-MAP(0x6E, 0x22, 0x9050) /* <CJK> */
-MAP(0x6E, 0x23, 0x9051) /* <CJK> */
-MAP(0x6E, 0x24, 0x9052) /* <CJK> */
-MAP(0x6E, 0x25, 0x900E) /* <CJK> */
-MAP(0x6E, 0x26, 0x9049) /* <CJK> */
-MAP(0x6E, 0x27, 0x903E) /* <CJK> */
-MAP(0x6E, 0x28, 0x9056) /* <CJK> */
-MAP(0x6E, 0x29, 0x9058) /* <CJK> */
-MAP(0x6E, 0x2A, 0x905E) /* <CJK> */
-MAP(0x6E, 0x2B, 0x9068) /* <CJK> */
-MAP(0x6E, 0x2C, 0x906F) /* <CJK> */
-MAP(0x6E, 0x2D, 0x9076) /* <CJK> */
-MAP(0x6E, 0x2E, 0x96A8) /* <CJK> */
-MAP(0x6E, 0x2F, 0x9072) /* <CJK> */
-MAP(0x6E, 0x30, 0x9082) /* <CJK> */
-MAP(0x6E, 0x31, 0x907D) /* <CJK> */
-MAP(0x6E, 0x32, 0x9081) /* <CJK> */
-MAP(0x6E, 0x33, 0x9080) /* <CJK> */
-MAP(0x6E, 0x34, 0x908A) /* <CJK> */
-MAP(0x6E, 0x35, 0x9089) /* <CJK> */
-MAP(0x6E, 0x36, 0x908F) /* <CJK> */
-MAP(0x6E, 0x37, 0x90A8) /* <CJK> */
-MAP(0x6E, 0x38, 0x90AF) /* <CJK> */
-MAP(0x6E, 0x39, 0x90B1) /* <CJK> */
-MAP(0x6E, 0x3A, 0x90B5) /* <CJK> */
-MAP(0x6E, 0x3B, 0x90E2) /* <CJK> */
-MAP(0x6E, 0x3C, 0x90E4) /* <CJK> */
-MAP(0x6E, 0x3D, 0x6248) /* <CJK> */
-MAP(0x6E, 0x3E, 0x90DB) /* <CJK> */
-MAP(0x6E, 0x3F, 0x9102) /* <CJK> */
-MAP(0x6E, 0x40, 0x9112) /* <CJK> */
-MAP(0x6E, 0x41, 0x9119) /* <CJK> */
-MAP(0x6E, 0x42, 0x9132) /* <CJK> */
-MAP(0x6E, 0x43, 0x9130) /* <CJK> */
-MAP(0x6E, 0x44, 0x914A) /* <CJK> */
-MAP(0x6E, 0x45, 0x9156) /* <CJK> */
-MAP(0x6E, 0x46, 0x9158) /* <CJK> */
-MAP(0x6E, 0x47, 0x9163) /* <CJK> */
-MAP(0x6E, 0x48, 0x9165) /* <CJK> */
-MAP(0x6E, 0x49, 0x9169) /* <CJK> */
-MAP(0x6E, 0x4A, 0x9173) /* <CJK> */
-MAP(0x6E, 0x4B, 0x9172) /* <CJK> */
-MAP(0x6E, 0x4C, 0x918B) /* <CJK> */
-MAP(0x6E, 0x4D, 0x9189) /* <CJK> */
-MAP(0x6E, 0x4E, 0x9182) /* <CJK> */
-MAP(0x6E, 0x4F, 0x91A2) /* <CJK> */
-MAP(0x6E, 0x50, 0x91AB) /* <CJK> */
-MAP(0x6E, 0x51, 0x91AF) /* <CJK> */
-MAP(0x6E, 0x52, 0x91AA) /* <CJK> */
-MAP(0x6E, 0x53, 0x91B5) /* <CJK> */
-MAP(0x6E, 0x54, 0x91B4) /* <CJK> */
-MAP(0x6E, 0x55, 0x91BA) /* <CJK> */
-MAP(0x6E, 0x56, 0x91C0) /* <CJK> */
-MAP(0x6E, 0x57, 0x91C1) /* <CJK> */
-MAP(0x6E, 0x58, 0x91C9) /* <CJK> */
-MAP(0x6E, 0x59, 0x91CB) /* <CJK> */
-MAP(0x6E, 0x5A, 0x91D0) /* <CJK> */
-MAP(0x6E, 0x5B, 0x91D6) /* <CJK> */
-MAP(0x6E, 0x5C, 0x91DF) /* <CJK> */
-MAP(0x6E, 0x5D, 0x91E1) /* <CJK> */
-MAP(0x6E, 0x5E, 0x91DB) /* <CJK> */
-MAP(0x6E, 0x5F, 0x91FC) /* <CJK> */
-MAP(0x6E, 0x60, 0x91F5) /* <CJK> */
-MAP(0x6E, 0x61, 0x91F6) /* <CJK> */
-MAP(0x6E, 0x62, 0x921E) /* <CJK> */
-MAP(0x6E, 0x63, 0x91FF) /* <CJK> */
-MAP(0x6E, 0x64, 0x9214) /* <CJK> */
-MAP(0x6E, 0x65, 0x922C) /* <CJK> */
-MAP(0x6E, 0x66, 0x9215) /* <CJK> */
-MAP(0x6E, 0x67, 0x9211) /* <CJK> */
-MAP(0x6E, 0x68, 0x925E) /* <CJK> */
-MAP(0x6E, 0x69, 0x9257) /* <CJK> */
-MAP(0x6E, 0x6A, 0x9245) /* <CJK> */
-MAP(0x6E, 0x6B, 0x9249) /* <CJK> */
-MAP(0x6E, 0x6C, 0x9264) /* <CJK> */
-MAP(0x6E, 0x6D, 0x9248) /* <CJK> */
-MAP(0x6E, 0x6E, 0x9295) /* <CJK> */
-MAP(0x6E, 0x6F, 0x923F) /* <CJK> */
-MAP(0x6E, 0x70, 0x924B) /* <CJK> */
-MAP(0x6E, 0x71, 0x9250) /* <CJK> */
-MAP(0x6E, 0x72, 0x929C) /* <CJK> */
-MAP(0x6E, 0x73, 0x9296) /* <CJK> */
-MAP(0x6E, 0x74, 0x9293) /* <CJK> */
-MAP(0x6E, 0x75, 0x929B) /* <CJK> */
-MAP(0x6E, 0x76, 0x925A) /* <CJK> */
-MAP(0x6E, 0x77, 0x92CF) /* <CJK> */
-MAP(0x6E, 0x78, 0x92B9) /* <CJK> */
-MAP(0x6E, 0x79, 0x92B7) /* <CJK> */
-MAP(0x6E, 0x7A, 0x92E9) /* <CJK> */
-MAP(0x6E, 0x7B, 0x930F) /* <CJK> */
-MAP(0x6E, 0x7C, 0x92FA) /* <CJK> */
-MAP(0x6E, 0x7D, 0x9344) /* <CJK> */
-MAP(0x6E, 0x7E, 0x932E) /* <CJK> */
-MAP(0x6F, 0x21, 0x9319) /* <CJK> */
-MAP(0x6F, 0x22, 0x9322) /* <CJK> */
-MAP(0x6F, 0x23, 0x931A) /* <CJK> */
-MAP(0x6F, 0x24, 0x9323) /* <CJK> */
-MAP(0x6F, 0x25, 0x933A) /* <CJK> */
-MAP(0x6F, 0x26, 0x9335) /* <CJK> */
-MAP(0x6F, 0x27, 0x933B) /* <CJK> */
-MAP(0x6F, 0x28, 0x935C) /* <CJK> */
-MAP(0x6F, 0x29, 0x9360) /* <CJK> */
-MAP(0x6F, 0x2A, 0x937C) /* <CJK> */
-MAP(0x6F, 0x2B, 0x936E) /* <CJK> */
-MAP(0x6F, 0x2C, 0x9356) /* <CJK> */
-MAP(0x6F, 0x2D, 0x93B0) /* <CJK> */
-MAP(0x6F, 0x2E, 0x93AC) /* <CJK> */
-MAP(0x6F, 0x2F, 0x93AD) /* <CJK> */
-MAP(0x6F, 0x30, 0x9394) /* <CJK> */
-MAP(0x6F, 0x31, 0x93B9) /* <CJK> */
-MAP(0x6F, 0x32, 0x93D6) /* <CJK> */
-MAP(0x6F, 0x33, 0x93D7) /* <CJK> */
-MAP(0x6F, 0x34, 0x93E8) /* <CJK> */
-MAP(0x6F, 0x35, 0x93E5) /* <CJK> */
-MAP(0x6F, 0x36, 0x93D8) /* <CJK> */
-MAP(0x6F, 0x37, 0x93C3) /* <CJK> */
-MAP(0x6F, 0x38, 0x93DD) /* <CJK> */
-MAP(0x6F, 0x39, 0x93D0) /* <CJK> */
-MAP(0x6F, 0x3A, 0x93C8) /* <CJK> */
-MAP(0x6F, 0x3B, 0x93E4) /* <CJK> */
-MAP(0x6F, 0x3C, 0x941A) /* <CJK> */
-MAP(0x6F, 0x3D, 0x9414) /* <CJK> */
-MAP(0x6F, 0x3E, 0x9413) /* <CJK> */
-MAP(0x6F, 0x3F, 0x9403) /* <CJK> */
-MAP(0x6F, 0x40, 0x9407) /* <CJK> */
-MAP(0x6F, 0x41, 0x9410) /* <CJK> */
-MAP(0x6F, 0x42, 0x9436) /* <CJK> */
-MAP(0x6F, 0x43, 0x942B) /* <CJK> */
-MAP(0x6F, 0x44, 0x9435) /* <CJK> */
-MAP(0x6F, 0x45, 0x9421) /* <CJK> */
-MAP(0x6F, 0x46, 0x943A) /* <CJK> */
-MAP(0x6F, 0x47, 0x9441) /* <CJK> */
-MAP(0x6F, 0x48, 0x9452) /* <CJK> */
-MAP(0x6F, 0x49, 0x9444) /* <CJK> */
-MAP(0x6F, 0x4A, 0x945B) /* <CJK> */
-MAP(0x6F, 0x4B, 0x9460) /* <CJK> */
-MAP(0x6F, 0x4C, 0x9462) /* <CJK> */
-MAP(0x6F, 0x4D, 0x945E) /* <CJK> */
-MAP(0x6F, 0x4E, 0x946A) /* <CJK> */
-MAP(0x6F, 0x4F, 0x9229) /* <CJK> */
-MAP(0x6F, 0x50, 0x9470) /* <CJK> */
-MAP(0x6F, 0x51, 0x9475) /* <CJK> */
-MAP(0x6F, 0x52, 0x9477) /* <CJK> */
-MAP(0x6F, 0x53, 0x947D) /* <CJK> */
-MAP(0x6F, 0x54, 0x945A) /* <CJK> */
-MAP(0x6F, 0x55, 0x947C) /* <CJK> */
-MAP(0x6F, 0x56, 0x947E) /* <CJK> */
-MAP(0x6F, 0x57, 0x9481) /* <CJK> */
-MAP(0x6F, 0x58, 0x947F) /* <CJK> */
-MAP(0x6F, 0x59, 0x9582) /* <CJK> */
-MAP(0x6F, 0x5A, 0x9587) /* <CJK> */
-MAP(0x6F, 0x5B, 0x958A) /* <CJK> */
-MAP(0x6F, 0x5C, 0x9594) /* <CJK> */
-MAP(0x6F, 0x5D, 0x9596) /* <CJK> */
-MAP(0x6F, 0x5E, 0x9598) /* <CJK> */
-MAP(0x6F, 0x5F, 0x9599) /* <CJK> */
-MAP(0x6F, 0x60, 0x95A0) /* <CJK> */
-MAP(0x6F, 0x61, 0x95A8) /* <CJK> */
-MAP(0x6F, 0x62, 0x95A7) /* <CJK> */
-MAP(0x6F, 0x63, 0x95AD) /* <CJK> */
-MAP(0x6F, 0x64, 0x95BC) /* <CJK> */
-MAP(0x6F, 0x65, 0x95BB) /* <CJK> */
-MAP(0x6F, 0x66, 0x95B9) /* <CJK> */
-MAP(0x6F, 0x67, 0x95BE) /* <CJK> */
-MAP(0x6F, 0x68, 0x95CA) /* <CJK> */
-MAP(0x6F, 0x69, 0x6FF6) /* <CJK> */
-MAP(0x6F, 0x6A, 0x95C3) /* <CJK> */
-MAP(0x6F, 0x6B, 0x95CD) /* <CJK> */
-MAP(0x6F, 0x6C, 0x95CC) /* <CJK> */
-MAP(0x6F, 0x6D, 0x95D5) /* <CJK> */
-MAP(0x6F, 0x6E, 0x95D4) /* <CJK> */
-MAP(0x6F, 0x6F, 0x95D6) /* <CJK> */
-MAP(0x6F, 0x70, 0x95DC) /* <CJK> */
-MAP(0x6F, 0x71, 0x95E1) /* <CJK> */
-MAP(0x6F, 0x72, 0x95E5) /* <CJK> */
-MAP(0x6F, 0x73, 0x95E2) /* <CJK> */
-MAP(0x6F, 0x74, 0x9621) /* <CJK> */
-MAP(0x6F, 0x75, 0x9628) /* <CJK> */
-MAP(0x6F, 0x76, 0x962E) /* <CJK> */
-MAP(0x6F, 0x77, 0x962F) /* <CJK> */
-MAP(0x6F, 0x78, 0x9642) /* <CJK> */
-MAP(0x6F, 0x79, 0x964C) /* <CJK> */
-MAP(0x6F, 0x7A, 0x964F) /* <CJK> */
-MAP(0x6F, 0x7B, 0x964B) /* <CJK> */
-MAP(0x6F, 0x7C, 0x9677) /* <CJK> */
-MAP(0x6F, 0x7D, 0x965C) /* <CJK> */
-MAP(0x6F, 0x7E, 0x965E) /* <CJK> */
-MAP(0x70, 0x21, 0x965D) /* <CJK> */
-MAP(0x70, 0x22, 0x965F) /* <CJK> */
-MAP(0x70, 0x23, 0x9666) /* <CJK> */
-MAP(0x70, 0x24, 0x9672) /* <CJK> */
-MAP(0x70, 0x25, 0x966C) /* <CJK> */
-MAP(0x70, 0x26, 0x968D) /* <CJK> */
-MAP(0x70, 0x27, 0x9698) /* <CJK> */
-MAP(0x70, 0x28, 0x9695) /* <CJK> */
-MAP(0x70, 0x29, 0x9697) /* <CJK> */
-MAP(0x70, 0x2A, 0x96AA) /* <CJK> */
-MAP(0x70, 0x2B, 0x96A7) /* <CJK> */
-MAP(0x70, 0x2C, 0x96B1) /* <CJK> */
-MAP(0x70, 0x2D, 0x96B2) /* <CJK> */
-MAP(0x70, 0x2E, 0x96B0) /* <CJK> */
-MAP(0x70, 0x2F, 0x96B4) /* <CJK> */
-MAP(0x70, 0x30, 0x96B6) /* <CJK> */
-MAP(0x70, 0x31, 0x96B8) /* <CJK> */
-MAP(0x70, 0x32, 0x96B9) /* <CJK> */
-MAP(0x70, 0x33, 0x96CE) /* <CJK> */
-MAP(0x70, 0x34, 0x96CB) /* <CJK> */
-MAP(0x70, 0x35, 0x96C9) /* <CJK> */
-MAP(0x70, 0x36, 0x96CD) /* <CJK> */
-MAP(0x70, 0x37, 0x894D) /* <CJK> */
-MAP(0x70, 0x38, 0x96DC) /* <CJK> */
-MAP(0x70, 0x39, 0x970D) /* <CJK> */
-MAP(0x70, 0x3A, 0x96D5) /* <CJK> */
-MAP(0x70, 0x3B, 0x96F9) /* <CJK> */
-MAP(0x70, 0x3C, 0x9704) /* <CJK> */
-MAP(0x70, 0x3D, 0x9706) /* <CJK> */
-MAP(0x70, 0x3E, 0x9708) /* <CJK> */
-MAP(0x70, 0x3F, 0x9713) /* <CJK> */
-MAP(0x70, 0x40, 0x970E) /* <CJK> */
-MAP(0x70, 0x41, 0x9711) /* <CJK> */
-MAP(0x70, 0x42, 0x970F) /* <CJK> */
-MAP(0x70, 0x43, 0x9716) /* <CJK> */
-MAP(0x70, 0x44, 0x9719) /* <CJK> */
-MAP(0x70, 0x45, 0x9724) /* <CJK> */
-MAP(0x70, 0x46, 0x972A) /* <CJK> */
-MAP(0x70, 0x47, 0x9730) /* <CJK> */
-MAP(0x70, 0x48, 0x9739) /* <CJK> */
-MAP(0x70, 0x49, 0x973D) /* <CJK> */
-MAP(0x70, 0x4A, 0x973E) /* <CJK> */
-MAP(0x70, 0x4B, 0x9744) /* <CJK> */
-MAP(0x70, 0x4C, 0x9746) /* <CJK> */
-MAP(0x70, 0x4D, 0x9748) /* <CJK> */
-MAP(0x70, 0x4E, 0x9742) /* <CJK> */
-MAP(0x70, 0x4F, 0x9749) /* <CJK> */
-MAP(0x70, 0x50, 0x975C) /* <CJK> */
-MAP(0x70, 0x51, 0x9760) /* <CJK> */
-MAP(0x70, 0x52, 0x9764) /* <CJK> */
-MAP(0x70, 0x53, 0x9766) /* <CJK> */
-MAP(0x70, 0x54, 0x9768) /* <CJK> */
-MAP(0x70, 0x55, 0x52D2) /* <CJK> */
-MAP(0x70, 0x56, 0x976B) /* <CJK> */
-MAP(0x70, 0x57, 0x9771) /* <CJK> */
-MAP(0x70, 0x58, 0x9779) /* <CJK> */
-MAP(0x70, 0x59, 0x9785) /* <CJK> */
-MAP(0x70, 0x5A, 0x977C) /* <CJK> */
-MAP(0x70, 0x5B, 0x9781) /* <CJK> */
-MAP(0x70, 0x5C, 0x977A) /* <CJK> */
-MAP(0x70, 0x5D, 0x9786) /* <CJK> */
-MAP(0x70, 0x5E, 0x978B) /* <CJK> */
-MAP(0x70, 0x5F, 0x978F) /* <CJK> */
-MAP(0x70, 0x60, 0x9790) /* <CJK> */
-MAP(0x70, 0x61, 0x979C) /* <CJK> */
-MAP(0x70, 0x62, 0x97A8) /* <CJK> */
-MAP(0x70, 0x63, 0x97A6) /* <CJK> */
-MAP(0x70, 0x64, 0x97A3) /* <CJK> */
-MAP(0x70, 0x65, 0x97B3) /* <CJK> */
-MAP(0x70, 0x66, 0x97B4) /* <CJK> */
-MAP(0x70, 0x67, 0x97C3) /* <CJK> */
-MAP(0x70, 0x68, 0x97C6) /* <CJK> */
-MAP(0x70, 0x69, 0x97C8) /* <CJK> */
-MAP(0x70, 0x6A, 0x97CB) /* <CJK> */
-MAP(0x70, 0x6B, 0x97DC) /* <CJK> */
-MAP(0x70, 0x6C, 0x97ED) /* <CJK> */
-MAP(0x70, 0x6D, 0x9F4F) /* <CJK> */
-MAP(0x70, 0x6E, 0x97F2) /* <CJK> */
-MAP(0x70, 0x6F, 0x7ADF) /* <CJK> */
-MAP(0x70, 0x70, 0x97F6) /* <CJK> */
-MAP(0x70, 0x71, 0x97F5) /* <CJK> */
-MAP(0x70, 0x72, 0x980F) /* <CJK> */
-MAP(0x70, 0x73, 0x980C) /* <CJK> */
-MAP(0x70, 0x74, 0x9838) /* <CJK> */
-MAP(0x70, 0x75, 0x9824) /* <CJK> */
-MAP(0x70, 0x76, 0x9821) /* <CJK> */
-MAP(0x70, 0x77, 0x9837) /* <CJK> */
-MAP(0x70, 0x78, 0x983D) /* <CJK> */
-MAP(0x70, 0x79, 0x9846) /* <CJK> */
-MAP(0x70, 0x7A, 0x984F) /* <CJK> */
-MAP(0x70, 0x7B, 0x984B) /* <CJK> */
-MAP(0x70, 0x7C, 0x986B) /* <CJK> */
-MAP(0x70, 0x7D, 0x986F) /* <CJK> */
-MAP(0x70, 0x7E, 0x9870) /* <CJK> */
-MAP(0x71, 0x21, 0x9871) /* <CJK> */
-MAP(0x71, 0x22, 0x9874) /* <CJK> */
-MAP(0x71, 0x23, 0x9873) /* <CJK> */
-MAP(0x71, 0x24, 0x98AA) /* <CJK> */
-MAP(0x71, 0x25, 0x98AF) /* <CJK> */
-MAP(0x71, 0x26, 0x98B1) /* <CJK> */
-MAP(0x71, 0x27, 0x98B6) /* <CJK> */
-MAP(0x71, 0x28, 0x98C4) /* <CJK> */
-MAP(0x71, 0x29, 0x98C3) /* <CJK> */
-MAP(0x71, 0x2A, 0x98C6) /* <CJK> */
-MAP(0x71, 0x2B, 0x98E9) /* <CJK> */
-MAP(0x71, 0x2C, 0x98EB) /* <CJK> */
-MAP(0x71, 0x2D, 0x9903) /* <CJK> */
-MAP(0x71, 0x2E, 0x9909) /* <CJK> */
-MAP(0x71, 0x2F, 0x9912) /* <CJK> */
-MAP(0x71, 0x30, 0x9914) /* <CJK> */
-MAP(0x71, 0x31, 0x9918) /* <CJK> */
-MAP(0x71, 0x32, 0x9921) /* <CJK> */
-MAP(0x71, 0x33, 0x991D) /* <CJK> */
-MAP(0x71, 0x34, 0x991E) /* <CJK> */
-MAP(0x71, 0x35, 0x9924) /* <CJK> */
-MAP(0x71, 0x36, 0x9920) /* <CJK> */
-MAP(0x71, 0x37, 0x992C) /* <CJK> */
-MAP(0x71, 0x38, 0x992E) /* <CJK> */
-MAP(0x71, 0x39, 0x993D) /* <CJK> */
-MAP(0x71, 0x3A, 0x993E) /* <CJK> */
-MAP(0x71, 0x3B, 0x9942) /* <CJK> */
-MAP(0x71, 0x3C, 0x9949) /* <CJK> */
-MAP(0x71, 0x3D, 0x9945) /* <CJK> */
-MAP(0x71, 0x3E, 0x9950) /* <CJK> */
-MAP(0x71, 0x3F, 0x994B) /* <CJK> */
-MAP(0x71, 0x40, 0x9951) /* <CJK> */
-MAP(0x71, 0x41, 0x9952) /* <CJK> */
-MAP(0x71, 0x42, 0x994C) /* <CJK> */
-MAP(0x71, 0x43, 0x9955) /* <CJK> */
-MAP(0x71, 0x44, 0x9997) /* <CJK> */
-MAP(0x71, 0x45, 0x9998) /* <CJK> */
-MAP(0x71, 0x46, 0x99A5) /* <CJK> */
-MAP(0x71, 0x47, 0x99AD) /* <CJK> */
-MAP(0x71, 0x48, 0x99AE) /* <CJK> */
-MAP(0x71, 0x49, 0x99BC) /* <CJK> */
-MAP(0x71, 0x4A, 0x99DF) /* <CJK> */
-MAP(0x71, 0x4B, 0x99DB) /* <CJK> */
-MAP(0x71, 0x4C, 0x99DD) /* <CJK> */
-MAP(0x71, 0x4D, 0x99D8) /* <CJK> */
-MAP(0x71, 0x4E, 0x99D1) /* <CJK> */
-MAP(0x71, 0x4F, 0x99ED) /* <CJK> */
-MAP(0x71, 0x50, 0x99EE) /* <CJK> */
-MAP(0x71, 0x51, 0x99F1) /* <CJK> */
-MAP(0x71, 0x52, 0x99F2) /* <CJK> */
-MAP(0x71, 0x53, 0x99FB) /* <CJK> */
-MAP(0x71, 0x54, 0x99F8) /* <CJK> */
-MAP(0x71, 0x55, 0x9A01) /* <CJK> */
-MAP(0x71, 0x56, 0x9A0F) /* <CJK> */
-MAP(0x71, 0x57, 0x9A05) /* <CJK> */
-MAP(0x71, 0x58, 0x99E2) /* <CJK> */
-MAP(0x71, 0x59, 0x9A19) /* <CJK> */
-MAP(0x71, 0x5A, 0x9A2B) /* <CJK> */
-MAP(0x71, 0x5B, 0x9A37) /* <CJK> */
-MAP(0x71, 0x5C, 0x9A45) /* <CJK> */
-MAP(0x71, 0x5D, 0x9A42) /* <CJK> */
-MAP(0x71, 0x5E, 0x9A40) /* <CJK> */
-MAP(0x71, 0x5F, 0x9A43) /* <CJK> */
-MAP(0x71, 0x60, 0x9A3E) /* <CJK> */
-MAP(0x71, 0x61, 0x9A55) /* <CJK> */
-MAP(0x71, 0x62, 0x9A4D) /* <CJK> */
-MAP(0x71, 0x63, 0x9A5B) /* <CJK> */
-MAP(0x71, 0x64, 0x9A57) /* <CJK> */
-MAP(0x71, 0x65, 0x9A5F) /* <CJK> */
-MAP(0x71, 0x66, 0x9A62) /* <CJK> */
-MAP(0x71, 0x67, 0x9A65) /* <CJK> */
-MAP(0x71, 0x68, 0x9A64) /* <CJK> */
-MAP(0x71, 0x69, 0x9A69) /* <CJK> */
-MAP(0x71, 0x6A, 0x9A6B) /* <CJK> */
-MAP(0x71, 0x6B, 0x9A6A) /* <CJK> */
-MAP(0x71, 0x6C, 0x9AAD) /* <CJK> */
-MAP(0x71, 0x6D, 0x9AB0) /* <CJK> */
-MAP(0x71, 0x6E, 0x9ABC) /* <CJK> */
-MAP(0x71, 0x6F, 0x9AC0) /* <CJK> */
-MAP(0x71, 0x70, 0x9ACF) /* <CJK> */
-MAP(0x71, 0x71, 0x9AD1) /* <CJK> */
-MAP(0x71, 0x72, 0x9AD3) /* <CJK> */
-MAP(0x71, 0x73, 0x9AD4) /* <CJK> */
-MAP(0x71, 0x74, 0x9ADE) /* <CJK> */
-MAP(0x71, 0x75, 0x9ADF) /* <CJK> */
-MAP(0x71, 0x76, 0x9AE2) /* <CJK> */
-MAP(0x71, 0x77, 0x9AE3) /* <CJK> */
-MAP(0x71, 0x78, 0x9AE6) /* <CJK> */
-MAP(0x71, 0x79, 0x9AEF) /* <CJK> */
-MAP(0x71, 0x7A, 0x9AEB) /* <CJK> */
-MAP(0x71, 0x7B, 0x9AEE) /* <CJK> */
-MAP(0x71, 0x7C, 0x9AF4) /* <CJK> */
-MAP(0x71, 0x7D, 0x9AF1) /* <CJK> */
-MAP(0x71, 0x7E, 0x9AF7) /* <CJK> */
-MAP(0x72, 0x21, 0x9AFB) /* <CJK> */
-MAP(0x72, 0x22, 0x9B06) /* <CJK> */
-MAP(0x72, 0x23, 0x9B18) /* <CJK> */
-MAP(0x72, 0x24, 0x9B1A) /* <CJK> */
-MAP(0x72, 0x25, 0x9B1F) /* <CJK> */
-MAP(0x72, 0x26, 0x9B22) /* <CJK> */
-MAP(0x72, 0x27, 0x9B23) /* <CJK> */
-MAP(0x72, 0x28, 0x9B25) /* <CJK> */
-MAP(0x72, 0x29, 0x9B27) /* <CJK> */
-MAP(0x72, 0x2A, 0x9B28) /* <CJK> */
-MAP(0x72, 0x2B, 0x9B29) /* <CJK> */
-MAP(0x72, 0x2C, 0x9B2A) /* <CJK> */
-MAP(0x72, 0x2D, 0x9B2E) /* <CJK> */
-MAP(0x72, 0x2E, 0x9B2F) /* <CJK> */
-MAP(0x72, 0x2F, 0x9B32) /* <CJK> */
-MAP(0x72, 0x30, 0x9B44) /* <CJK> */
-MAP(0x72, 0x31, 0x9B43) /* <CJK> */
-MAP(0x72, 0x32, 0x9B4F) /* <CJK> */
-MAP(0x72, 0x33, 0x9B4D) /* <CJK> */
-MAP(0x72, 0x34, 0x9B4E) /* <CJK> */
-MAP(0x72, 0x35, 0x9B51) /* <CJK> */
-MAP(0x72, 0x36, 0x9B58) /* <CJK> */
-MAP(0x72, 0x37, 0x9B74) /* <CJK> */
-MAP(0x72, 0x38, 0x9B93) /* <CJK> */
-MAP(0x72, 0x39, 0x9B83) /* <CJK> */
-MAP(0x72, 0x3A, 0x9B91) /* <CJK> */
-MAP(0x72, 0x3B, 0x9B96) /* <CJK> */
-MAP(0x72, 0x3C, 0x9B97) /* <CJK> */
-MAP(0x72, 0x3D, 0x9B9F) /* <CJK> */
-MAP(0x72, 0x3E, 0x9BA0) /* <CJK> */
-MAP(0x72, 0x3F, 0x9BA8) /* <CJK> */
-MAP(0x72, 0x40, 0x9BB4) /* <CJK> */
-MAP(0x72, 0x41, 0x9BC0) /* <CJK> */
-MAP(0x72, 0x42, 0x9BCA) /* <CJK> */
-MAP(0x72, 0x43, 0x9BB9) /* <CJK> */
-MAP(0x72, 0x44, 0x9BC6) /* <CJK> */
-MAP(0x72, 0x45, 0x9BCF) /* <CJK> */
-MAP(0x72, 0x46, 0x9BD1) /* <CJK> */
-MAP(0x72, 0x47, 0x9BD2) /* <CJK> */
-MAP(0x72, 0x48, 0x9BE3) /* <CJK> */
-MAP(0x72, 0x49, 0x9BE2) /* <CJK> */
-MAP(0x72, 0x4A, 0x9BE4) /* <CJK> */
-MAP(0x72, 0x4B, 0x9BD4) /* <CJK> */
-MAP(0x72, 0x4C, 0x9BE1) /* <CJK> */
-MAP(0x72, 0x4D, 0x9C3A) /* <CJK> */
-MAP(0x72, 0x4E, 0x9BF2) /* <CJK> */
-MAP(0x72, 0x4F, 0x9BF1) /* <CJK> */
-MAP(0x72, 0x50, 0x9BF0) /* <CJK> */
-MAP(0x72, 0x51, 0x9C15) /* <CJK> */
-MAP(0x72, 0x52, 0x9C14) /* <CJK> */
-MAP(0x72, 0x53, 0x9C09) /* <CJK> */
-MAP(0x72, 0x54, 0x9C13) /* <CJK> */
-MAP(0x72, 0x55, 0x9C0C) /* <CJK> */
-MAP(0x72, 0x56, 0x9C06) /* <CJK> */
-MAP(0x72, 0x57, 0x9C08) /* <CJK> */
-MAP(0x72, 0x58, 0x9C12) /* <CJK> */
-MAP(0x72, 0x59, 0x9C0A) /* <CJK> */
-MAP(0x72, 0x5A, 0x9C04) /* <CJK> */
-MAP(0x72, 0x5B, 0x9C2E) /* <CJK> */
-MAP(0x72, 0x5C, 0x9C1B) /* <CJK> */
-MAP(0x72, 0x5D, 0x9C25) /* <CJK> */
-MAP(0x72, 0x5E, 0x9C24) /* <CJK> */
-MAP(0x72, 0x5F, 0x9C21) /* <CJK> */
-MAP(0x72, 0x60, 0x9C30) /* <CJK> */
-MAP(0x72, 0x61, 0x9C47) /* <CJK> */
-MAP(0x72, 0x62, 0x9C32) /* <CJK> */
-MAP(0x72, 0x63, 0x9C46) /* <CJK> */
-MAP(0x72, 0x64, 0x9C3E) /* <CJK> */
-MAP(0x72, 0x65, 0x9C5A) /* <CJK> */
-MAP(0x72, 0x66, 0x9C60) /* <CJK> */
-MAP(0x72, 0x67, 0x9C67) /* <CJK> */
-MAP(0x72, 0x68, 0x9C76) /* <CJK> */
-MAP(0x72, 0x69, 0x9C78) /* <CJK> */
-MAP(0x72, 0x6A, 0x9CE7) /* <CJK> */
-MAP(0x72, 0x6B, 0x9CEC) /* <CJK> */
-MAP(0x72, 0x6C, 0x9CF0) /* <CJK> */
-MAP(0x72, 0x6D, 0x9D09) /* <CJK> */
-MAP(0x72, 0x6E, 0x9D08) /* <CJK> */
-MAP(0x72, 0x6F, 0x9CEB) /* <CJK> */
-MAP(0x72, 0x70, 0x9D03) /* <CJK> */
-MAP(0x72, 0x71, 0x9D06) /* <CJK> */
-MAP(0x72, 0x72, 0x9D2A) /* <CJK> */
-MAP(0x72, 0x73, 0x9D26) /* <CJK> */
-MAP(0x72, 0x74, 0x9DAF) /* <CJK> */
-MAP(0x72, 0x75, 0x9D23) /* <CJK> */
-MAP(0x72, 0x76, 0x9D1F) /* <CJK> */
-MAP(0x72, 0x77, 0x9D44) /* <CJK> */
-MAP(0x72, 0x78, 0x9D15) /* <CJK> */
-MAP(0x72, 0x79, 0x9D12) /* <CJK> */
-MAP(0x72, 0x7A, 0x9D41) /* <CJK> */
-MAP(0x72, 0x7B, 0x9D3F) /* <CJK> */
-MAP(0x72, 0x7C, 0x9D3E) /* <CJK> */
-MAP(0x72, 0x7D, 0x9D46) /* <CJK> */
-MAP(0x72, 0x7E, 0x9D48) /* <CJK> */
-MAP(0x73, 0x21, 0x9D5D) /* <CJK> */
-MAP(0x73, 0x22, 0x9D5E) /* <CJK> */
-MAP(0x73, 0x23, 0x9D64) /* <CJK> */
-MAP(0x73, 0x24, 0x9D51) /* <CJK> */
-MAP(0x73, 0x25, 0x9D50) /* <CJK> */
-MAP(0x73, 0x26, 0x9D59) /* <CJK> */
-MAP(0x73, 0x27, 0x9D72) /* <CJK> */
-MAP(0x73, 0x28, 0x9D89) /* <CJK> */
-MAP(0x73, 0x29, 0x9D87) /* <CJK> */
-MAP(0x73, 0x2A, 0x9DAB) /* <CJK> */
-MAP(0x73, 0x2B, 0x9D6F) /* <CJK> */
-MAP(0x73, 0x2C, 0x9D7A) /* <CJK> */
-MAP(0x73, 0x2D, 0x9D9A) /* <CJK> */
-MAP(0x73, 0x2E, 0x9DA4) /* <CJK> */
-MAP(0x73, 0x2F, 0x9DA9) /* <CJK> */
-MAP(0x73, 0x30, 0x9DB2) /* <CJK> */
-MAP(0x73, 0x31, 0x9DC4) /* <CJK> */
-MAP(0x73, 0x32, 0x9DC1) /* <CJK> */
-MAP(0x73, 0x33, 0x9DBB) /* <CJK> */
-MAP(0x73, 0x34, 0x9DB8) /* <CJK> */
-MAP(0x73, 0x35, 0x9DBA) /* <CJK> */
-MAP(0x73, 0x36, 0x9DC6) /* <CJK> */
-MAP(0x73, 0x37, 0x9DCF) /* <CJK> */
-MAP(0x73, 0x38, 0x9DC2) /* <CJK> */
-MAP(0x73, 0x39, 0x9DD9) /* <CJK> */
-MAP(0x73, 0x3A, 0x9DD3) /* <CJK> */
-MAP(0x73, 0x3B, 0x9DF8) /* <CJK> */
-MAP(0x73, 0x3C, 0x9DE6) /* <CJK> */
-MAP(0x73, 0x3D, 0x9DED) /* <CJK> */
-MAP(0x73, 0x3E, 0x9DEF) /* <CJK> */
-MAP(0x73, 0x3F, 0x9DFD) /* <CJK> */
-MAP(0x73, 0x40, 0x9E1A) /* <CJK> */
-MAP(0x73, 0x41, 0x9E1B) /* <CJK> */
-MAP(0x73, 0x42, 0x9E1E) /* <CJK> */
-MAP(0x73, 0x43, 0x9E75) /* <CJK> */
-MAP(0x73, 0x44, 0x9E79) /* <CJK> */
-MAP(0x73, 0x45, 0x9E7D) /* <CJK> */
-MAP(0x73, 0x46, 0x9E81) /* <CJK> */
-MAP(0x73, 0x47, 0x9E88) /* <CJK> */
-MAP(0x73, 0x48, 0x9E8B) /* <CJK> */
-MAP(0x73, 0x49, 0x9E8C) /* <CJK> */
-MAP(0x73, 0x4A, 0x9E92) /* <CJK> */
-MAP(0x73, 0x4B, 0x9E95) /* <CJK> */
-MAP(0x73, 0x4C, 0x9E91) /* <CJK> */
-MAP(0x73, 0x4D, 0x9E9D) /* <CJK> */
-MAP(0x73, 0x4E, 0x9EA5) /* <CJK> */
-MAP(0x73, 0x4F, 0x9EA9) /* <CJK> */
-MAP(0x73, 0x50, 0x9EB8) /* <CJK> */
-MAP(0x73, 0x51, 0x9EAA) /* <CJK> */
-MAP(0x73, 0x52, 0x9EAD) /* <CJK> */
-MAP(0x73, 0x53, 0x9761) /* <CJK> */
-MAP(0x73, 0x54, 0x9ECC) /* <CJK> */
-MAP(0x73, 0x55, 0x9ECE) /* <CJK> */
-MAP(0x73, 0x56, 0x9ECF) /* <CJK> */
-MAP(0x73, 0x57, 0x9ED0) /* <CJK> */
-MAP(0x73, 0x58, 0x9ED4) /* <CJK> */
-MAP(0x73, 0x59, 0x9EDC) /* <CJK> */
-MAP(0x73, 0x5A, 0x9EDE) /* <CJK> */
-MAP(0x73, 0x5B, 0x9EDD) /* <CJK> */
-MAP(0x73, 0x5C, 0x9EE0) /* <CJK> */
-MAP(0x73, 0x5D, 0x9EE5) /* <CJK> */
-MAP(0x73, 0x5E, 0x9EE8) /* <CJK> */
-MAP(0x73, 0x5F, 0x9EEF) /* <CJK> */
-MAP(0x73, 0x60, 0x9EF4) /* <CJK> */
-MAP(0x73, 0x61, 0x9EF6) /* <CJK> */
-MAP(0x73, 0x62, 0x9EF7) /* <CJK> */
-MAP(0x73, 0x63, 0x9EF9) /* <CJK> */
-MAP(0x73, 0x64, 0x9EFB) /* <CJK> */
-MAP(0x73, 0x65, 0x9EFC) /* <CJK> */
-MAP(0x73, 0x66, 0x9EFD) /* <CJK> */
-MAP(0x73, 0x67, 0x9F07) /* <CJK> */
-MAP(0x73, 0x68, 0x9F08) /* <CJK> */
-MAP(0x73, 0x69, 0x76B7) /* <CJK> */
-MAP(0x73, 0x6A, 0x9F15) /* <CJK> */
-MAP(0x73, 0x6B, 0x9F21) /* <CJK> */
-MAP(0x73, 0x6C, 0x9F2C) /* <CJK> */
-MAP(0x73, 0x6D, 0x9F3E) /* <CJK> */
-MAP(0x73, 0x6E, 0x9F4A) /* <CJK> */
-MAP(0x73, 0x6F, 0x9F52) /* <CJK> */
-MAP(0x73, 0x70, 0x9F54) /* <CJK> */
-MAP(0x73, 0x71, 0x9F63) /* <CJK> */
-MAP(0x73, 0x72, 0x9F5F) /* <CJK> */
-MAP(0x73, 0x73, 0x9F60) /* <CJK> */
-MAP(0x73, 0x74, 0x9F61) /* <CJK> */
-MAP(0x73, 0x75, 0x9F66) /* <CJK> */
-MAP(0x73, 0x76, 0x9F67) /* <CJK> */
-MAP(0x73, 0x77, 0x9F6C) /* <CJK> */
-MAP(0x73, 0x78, 0x9F6A) /* <CJK> */
-MAP(0x73, 0x79, 0x9F77) /* <CJK> */
-MAP(0x73, 0x7A, 0x9F72) /* <CJK> */
-MAP(0x73, 0x7B, 0x9F76) /* <CJK> */
-MAP(0x73, 0x7C, 0x9F95) /* <CJK> */
-MAP(0x73, 0x7D, 0x9F9C) /* <CJK> */
-MAP(0x73, 0x7E, 0x9FA0) /* <CJK> */
-MAP(0x74, 0x21, 0x582F) /* <CJK> */
-MAP(0x74, 0x22, 0x69C7) /* <CJK> */
-MAP(0x74, 0x23, 0x9059) /* <CJK> */
-MAP(0x74, 0x24, 0x7464) /* <CJK> */
-MAP(0x74, 0x25, 0x51DC) /* <CJK> */
-MAP(0x74, 0x26, 0x7199) /* <CJK> */
diff --git a/libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc b/libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc
deleted file mode 100644
index a10ad4b3c25..00000000000
--- a/libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc
+++ /dev/null
@@ -1,7325 +0,0 @@
-/* This file is automatically generated from JIS0208.TXT. */
-unsigned short JIS0208_to_Unicode[84][94] = {
-/* 1st byte: 33 */ {
- /* 2nd byte: 33 */ 0x3000,
- /* 2nd byte: 34 */ 0x3001,
- /* 2nd byte: 35 */ 0x3002,
- /* 2nd byte: 36 */ 0xff0c,
- /* 2nd byte: 37 */ 0xff0e,
- /* 2nd byte: 38 */ 0x30fb,
- /* 2nd byte: 39 */ 0xff1a,
- /* 2nd byte: 40 */ 0xff1b,
- /* 2nd byte: 41 */ 0xff1f,
- /* 2nd byte: 42 */ 0xff01,
- /* 2nd byte: 43 */ 0x309b,
- /* 2nd byte: 44 */ 0x309c,
- /* 2nd byte: 45 */ 0x00b4,
- /* 2nd byte: 46 */ 0xff40,
- /* 2nd byte: 47 */ 0x00a8,
- /* 2nd byte: 48 */ 0xff3e,
- /* 2nd byte: 49 */ 0xffe3,
- /* 2nd byte: 50 */ 0xff3f,
- /* 2nd byte: 51 */ 0x30fd,
- /* 2nd byte: 52 */ 0x30fe,
- /* 2nd byte: 53 */ 0x309d,
- /* 2nd byte: 54 */ 0x309e,
- /* 2nd byte: 55 */ 0x3003,
- /* 2nd byte: 56 */ 0x4edd,
- /* 2nd byte: 57 */ 0x3005,
- /* 2nd byte: 58 */ 0x3006,
- /* 2nd byte: 59 */ 0x3007,
- /* 2nd byte: 60 */ 0x30fc,
- /* 2nd byte: 61 */ 0x2015,
- /* 2nd byte: 62 */ 0x2010,
- /* 2nd byte: 63 */ 0xff0f,
- /* 2nd byte: 64 */ 0x005c,
- /* 2nd byte: 65 */ 0x301c,
- /* 2nd byte: 66 */ 0x2016,
- /* 2nd byte: 67 */ 0xff5c,
- /* 2nd byte: 68 */ 0x2026,
- /* 2nd byte: 69 */ 0x2025,
- /* 2nd byte: 70 */ 0x2018,
- /* 2nd byte: 71 */ 0x2019,
- /* 2nd byte: 72 */ 0x201c,
- /* 2nd byte: 73 */ 0x201d,
- /* 2nd byte: 74 */ 0xff08,
- /* 2nd byte: 75 */ 0xff09,
- /* 2nd byte: 76 */ 0x3014,
- /* 2nd byte: 77 */ 0x3015,
- /* 2nd byte: 78 */ 0xff3b,
- /* 2nd byte: 79 */ 0xff3d,
- /* 2nd byte: 80 */ 0xff5b,
- /* 2nd byte: 81 */ 0xff5d,
- /* 2nd byte: 82 */ 0x3008,
- /* 2nd byte: 83 */ 0x3009,
- /* 2nd byte: 84 */ 0x300a,
- /* 2nd byte: 85 */ 0x300b,
- /* 2nd byte: 86 */ 0x300c,
- /* 2nd byte: 87 */ 0x300d,
- /* 2nd byte: 88 */ 0x300e,
- /* 2nd byte: 89 */ 0x300f,
- /* 2nd byte: 90 */ 0x3010,
- /* 2nd byte: 91 */ 0x3011,
- /* 2nd byte: 92 */ 0xff0b,
- /* 2nd byte: 93 */ 0x2212,
- /* 2nd byte: 94 */ 0x00b1,
- /* 2nd byte: 95 */ 0x00d7,
- /* 2nd byte: 96 */ 0x00f7,
- /* 2nd byte: 97 */ 0xff1d,
- /* 2nd byte: 98 */ 0x2260,
- /* 2nd byte: 99 */ 0xff1c,
- /* 2nd byte: 100 */ 0xff1e,
- /* 2nd byte: 101 */ 0x2266,
- /* 2nd byte: 102 */ 0x2267,
- /* 2nd byte: 103 */ 0x221e,
- /* 2nd byte: 104 */ 0x2234,
- /* 2nd byte: 105 */ 0x2642,
- /* 2nd byte: 106 */ 0x2640,
- /* 2nd byte: 107 */ 0x00b0,
- /* 2nd byte: 108 */ 0x2032,
- /* 2nd byte: 109 */ 0x2033,
- /* 2nd byte: 110 */ 0x2103,
- /* 2nd byte: 111 */ 0xffe5,
- /* 2nd byte: 112 */ 0xff04,
- /* 2nd byte: 113 */ 0x00a2,
- /* 2nd byte: 114 */ 0x00a3,
- /* 2nd byte: 115 */ 0xff05,
- /* 2nd byte: 116 */ 0xff03,
- /* 2nd byte: 117 */ 0xff06,
- /* 2nd byte: 118 */ 0xff0a,
- /* 2nd byte: 119 */ 0xff20,
- /* 2nd byte: 120 */ 0x00a7,
- /* 2nd byte: 121 */ 0x2606,
- /* 2nd byte: 122 */ 0x2605,
- /* 2nd byte: 123 */ 0x25cb,
- /* 2nd byte: 124 */ 0x25cf,
- /* 2nd byte: 125 */ 0x25ce,
- /* 2nd byte: 126 */ 0x25c7},
-/* 1st byte: 34 */ {
- /* 2nd byte: 33 */ 0x25c6,
- /* 2nd byte: 34 */ 0x25a1,
- /* 2nd byte: 35 */ 0x25a0,
- /* 2nd byte: 36 */ 0x25b3,
- /* 2nd byte: 37 */ 0x25b2,
- /* 2nd byte: 38 */ 0x25bd,
- /* 2nd byte: 39 */ 0x25bc,
- /* 2nd byte: 40 */ 0x203b,
- /* 2nd byte: 41 */ 0x3012,
- /* 2nd byte: 42 */ 0x2192,
- /* 2nd byte: 43 */ 0x2190,
- /* 2nd byte: 44 */ 0x2191,
- /* 2nd byte: 45 */ 0x2193,
- /* 2nd byte: 46 */ 0x3013,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 58 */ 0x2208,
- /* 2nd byte: 59 */ 0x220b,
- /* 2nd byte: 60 */ 0x2286,
- /* 2nd byte: 61 */ 0x2287,
- /* 2nd byte: 62 */ 0x2282,
- /* 2nd byte: 63 */ 0x2283,
- /* 2nd byte: 64 */ 0x222a,
- /* 2nd byte: 65 */ 0x2229,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 74 */ 0x2227,
- /* 2nd byte: 75 */ 0x2228,
- /* 2nd byte: 76 */ 0x00ac,
- /* 2nd byte: 77 */ 0x21d2,
- /* 2nd byte: 78 */ 0x21d4,
- /* 2nd byte: 79 */ 0x2200,
- /* 2nd byte: 80 */ 0x2203,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 92 */ 0x2220,
- /* 2nd byte: 93 */ 0x22a5,
- /* 2nd byte: 94 */ 0x2312,
- /* 2nd byte: 95 */ 0x2202,
- /* 2nd byte: 96 */ 0x2207,
- /* 2nd byte: 97 */ 0x2261,
- /* 2nd byte: 98 */ 0x2252,
- /* 2nd byte: 99 */ 0x226a,
- /* 2nd byte: 100 */ 0x226b,
- /* 2nd byte: 101 */ 0x221a,
- /* 2nd byte: 102 */ 0x223d,
- /* 2nd byte: 103 */ 0x221d,
- /* 2nd byte: 104 */ 0x2235,
- /* 2nd byte: 105 */ 0x222b,
- /* 2nd byte: 106 */ 0x222c,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 114 */ 0x212b,
- /* 2nd byte: 115 */ 0x2030,
- /* 2nd byte: 116 */ 0x266f,
- /* 2nd byte: 117 */ 0x266d,
- /* 2nd byte: 118 */ 0x266a,
- /* 2nd byte: 119 */ 0x2020,
- /* 2nd byte: 120 */ 0x2021,
- /* 2nd byte: 121 */ 0x00b6,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 126 */ 0x25ef},
-/* 1st byte: 35 */ {
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 48 */ 0xff10,
- /* 2nd byte: 49 */ 0xff11,
- /* 2nd byte: 50 */ 0xff12,
- /* 2nd byte: 51 */ 0xff13,
- /* 2nd byte: 52 */ 0xff14,
- /* 2nd byte: 53 */ 0xff15,
- /* 2nd byte: 54 */ 0xff16,
- /* 2nd byte: 55 */ 0xff17,
- /* 2nd byte: 56 */ 0xff18,
- /* 2nd byte: 57 */ 0xff19,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 65 */ 0xff21,
- /* 2nd byte: 66 */ 0xff22,
- /* 2nd byte: 67 */ 0xff23,
- /* 2nd byte: 68 */ 0xff24,
- /* 2nd byte: 69 */ 0xff25,
- /* 2nd byte: 70 */ 0xff26,
- /* 2nd byte: 71 */ 0xff27,
- /* 2nd byte: 72 */ 0xff28,
- /* 2nd byte: 73 */ 0xff29,
- /* 2nd byte: 74 */ 0xff2a,
- /* 2nd byte: 75 */ 0xff2b,
- /* 2nd byte: 76 */ 0xff2c,
- /* 2nd byte: 77 */ 0xff2d,
- /* 2nd byte: 78 */ 0xff2e,
- /* 2nd byte: 79 */ 0xff2f,
- /* 2nd byte: 80 */ 0xff30,
- /* 2nd byte: 81 */ 0xff31,
- /* 2nd byte: 82 */ 0xff32,
- /* 2nd byte: 83 */ 0xff33,
- /* 2nd byte: 84 */ 0xff34,
- /* 2nd byte: 85 */ 0xff35,
- /* 2nd byte: 86 */ 0xff36,
- /* 2nd byte: 87 */ 0xff37,
- /* 2nd byte: 88 */ 0xff38,
- /* 2nd byte: 89 */ 0xff39,
- /* 2nd byte: 90 */ 0xff3a,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 97 */ 0xff41,
- /* 2nd byte: 98 */ 0xff42,
- /* 2nd byte: 99 */ 0xff43,
- /* 2nd byte: 100 */ 0xff44,
- /* 2nd byte: 101 */ 0xff45,
- /* 2nd byte: 102 */ 0xff46,
- /* 2nd byte: 103 */ 0xff47,
- /* 2nd byte: 104 */ 0xff48,
- /* 2nd byte: 105 */ 0xff49,
- /* 2nd byte: 106 */ 0xff4a,
- /* 2nd byte: 107 */ 0xff4b,
- /* 2nd byte: 108 */ 0xff4c,
- /* 2nd byte: 109 */ 0xff4d,
- /* 2nd byte: 110 */ 0xff4e,
- /* 2nd byte: 111 */ 0xff4f,
- /* 2nd byte: 112 */ 0xff50,
- /* 2nd byte: 113 */ 0xff51,
- /* 2nd byte: 114 */ 0xff52,
- /* 2nd byte: 115 */ 0xff53,
- /* 2nd byte: 116 */ 0xff54,
- /* 2nd byte: 117 */ 0xff55,
- /* 2nd byte: 118 */ 0xff56,
- /* 2nd byte: 119 */ 0xff57,
- /* 2nd byte: 120 */ 0xff58,
- /* 2nd byte: 121 */ 0xff59,
- /* 2nd byte: 122 */ 0xff5a,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 36 */ {
- /* 2nd byte: 33 */ 0x3041,
- /* 2nd byte: 34 */ 0x3042,
- /* 2nd byte: 35 */ 0x3043,
- /* 2nd byte: 36 */ 0x3044,
- /* 2nd byte: 37 */ 0x3045,
- /* 2nd byte: 38 */ 0x3046,
- /* 2nd byte: 39 */ 0x3047,
- /* 2nd byte: 40 */ 0x3048,
- /* 2nd byte: 41 */ 0x3049,
- /* 2nd byte: 42 */ 0x304a,
- /* 2nd byte: 43 */ 0x304b,
- /* 2nd byte: 44 */ 0x304c,
- /* 2nd byte: 45 */ 0x304d,
- /* 2nd byte: 46 */ 0x304e,
- /* 2nd byte: 47 */ 0x304f,
- /* 2nd byte: 48 */ 0x3050,
- /* 2nd byte: 49 */ 0x3051,
- /* 2nd byte: 50 */ 0x3052,
- /* 2nd byte: 51 */ 0x3053,
- /* 2nd byte: 52 */ 0x3054,
- /* 2nd byte: 53 */ 0x3055,
- /* 2nd byte: 54 */ 0x3056,
- /* 2nd byte: 55 */ 0x3057,
- /* 2nd byte: 56 */ 0x3058,
- /* 2nd byte: 57 */ 0x3059,
- /* 2nd byte: 58 */ 0x305a,
- /* 2nd byte: 59 */ 0x305b,
- /* 2nd byte: 60 */ 0x305c,
- /* 2nd byte: 61 */ 0x305d,
- /* 2nd byte: 62 */ 0x305e,
- /* 2nd byte: 63 */ 0x305f,
- /* 2nd byte: 64 */ 0x3060,
- /* 2nd byte: 65 */ 0x3061,
- /* 2nd byte: 66 */ 0x3062,
- /* 2nd byte: 67 */ 0x3063,
- /* 2nd byte: 68 */ 0x3064,
- /* 2nd byte: 69 */ 0x3065,
- /* 2nd byte: 70 */ 0x3066,
- /* 2nd byte: 71 */ 0x3067,
- /* 2nd byte: 72 */ 0x3068,
- /* 2nd byte: 73 */ 0x3069,
- /* 2nd byte: 74 */ 0x306a,
- /* 2nd byte: 75 */ 0x306b,
- /* 2nd byte: 76 */ 0x306c,
- /* 2nd byte: 77 */ 0x306d,
- /* 2nd byte: 78 */ 0x306e,
- /* 2nd byte: 79 */ 0x306f,
- /* 2nd byte: 80 */ 0x3070,
- /* 2nd byte: 81 */ 0x3071,
- /* 2nd byte: 82 */ 0x3072,
- /* 2nd byte: 83 */ 0x3073,
- /* 2nd byte: 84 */ 0x3074,
- /* 2nd byte: 85 */ 0x3075,
- /* 2nd byte: 86 */ 0x3076,
- /* 2nd byte: 87 */ 0x3077,
- /* 2nd byte: 88 */ 0x3078,
- /* 2nd byte: 89 */ 0x3079,
- /* 2nd byte: 90 */ 0x307a,
- /* 2nd byte: 91 */ 0x307b,
- /* 2nd byte: 92 */ 0x307c,
- /* 2nd byte: 93 */ 0x307d,
- /* 2nd byte: 94 */ 0x307e,
- /* 2nd byte: 95 */ 0x307f,
- /* 2nd byte: 96 */ 0x3080,
- /* 2nd byte: 97 */ 0x3081,
- /* 2nd byte: 98 */ 0x3082,
- /* 2nd byte: 99 */ 0x3083,
- /* 2nd byte: 100 */ 0x3084,
- /* 2nd byte: 101 */ 0x3085,
- /* 2nd byte: 102 */ 0x3086,
- /* 2nd byte: 103 */ 0x3087,
- /* 2nd byte: 104 */ 0x3088,
- /* 2nd byte: 105 */ 0x3089,
- /* 2nd byte: 106 */ 0x308a,
- /* 2nd byte: 107 */ 0x308b,
- /* 2nd byte: 108 */ 0x308c,
- /* 2nd byte: 109 */ 0x308d,
- /* 2nd byte: 110 */ 0x308e,
- /* 2nd byte: 111 */ 0x308f,
- /* 2nd byte: 112 */ 0x3090,
- /* 2nd byte: 113 */ 0x3091,
- /* 2nd byte: 114 */ 0x3092,
- /* 2nd byte: 115 */ 0x3093,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 37 */ {
- /* 2nd byte: 33 */ 0x30a1,
- /* 2nd byte: 34 */ 0x30a2,
- /* 2nd byte: 35 */ 0x30a3,
- /* 2nd byte: 36 */ 0x30a4,
- /* 2nd byte: 37 */ 0x30a5,
- /* 2nd byte: 38 */ 0x30a6,
- /* 2nd byte: 39 */ 0x30a7,
- /* 2nd byte: 40 */ 0x30a8,
- /* 2nd byte: 41 */ 0x30a9,
- /* 2nd byte: 42 */ 0x30aa,
- /* 2nd byte: 43 */ 0x30ab,
- /* 2nd byte: 44 */ 0x30ac,
- /* 2nd byte: 45 */ 0x30ad,
- /* 2nd byte: 46 */ 0x30ae,
- /* 2nd byte: 47 */ 0x30af,
- /* 2nd byte: 48 */ 0x30b0,
- /* 2nd byte: 49 */ 0x30b1,
- /* 2nd byte: 50 */ 0x30b2,
- /* 2nd byte: 51 */ 0x30b3,
- /* 2nd byte: 52 */ 0x30b4,
- /* 2nd byte: 53 */ 0x30b5,
- /* 2nd byte: 54 */ 0x30b6,
- /* 2nd byte: 55 */ 0x30b7,
- /* 2nd byte: 56 */ 0x30b8,
- /* 2nd byte: 57 */ 0x30b9,
- /* 2nd byte: 58 */ 0x30ba,
- /* 2nd byte: 59 */ 0x30bb,
- /* 2nd byte: 60 */ 0x30bc,
- /* 2nd byte: 61 */ 0x30bd,
- /* 2nd byte: 62 */ 0x30be,
- /* 2nd byte: 63 */ 0x30bf,
- /* 2nd byte: 64 */ 0x30c0,
- /* 2nd byte: 65 */ 0x30c1,
- /* 2nd byte: 66 */ 0x30c2,
- /* 2nd byte: 67 */ 0x30c3,
- /* 2nd byte: 68 */ 0x30c4,
- /* 2nd byte: 69 */ 0x30c5,
- /* 2nd byte: 70 */ 0x30c6,
- /* 2nd byte: 71 */ 0x30c7,
- /* 2nd byte: 72 */ 0x30c8,
- /* 2nd byte: 73 */ 0x30c9,
- /* 2nd byte: 74 */ 0x30ca,
- /* 2nd byte: 75 */ 0x30cb,
- /* 2nd byte: 76 */ 0x30cc,
- /* 2nd byte: 77 */ 0x30cd,
- /* 2nd byte: 78 */ 0x30ce,
- /* 2nd byte: 79 */ 0x30cf,
- /* 2nd byte: 80 */ 0x30d0,
- /* 2nd byte: 81 */ 0x30d1,
- /* 2nd byte: 82 */ 0x30d2,
- /* 2nd byte: 83 */ 0x30d3,
- /* 2nd byte: 84 */ 0x30d4,
- /* 2nd byte: 85 */ 0x30d5,
- /* 2nd byte: 86 */ 0x30d6,
- /* 2nd byte: 87 */ 0x30d7,
- /* 2nd byte: 88 */ 0x30d8,
- /* 2nd byte: 89 */ 0x30d9,
- /* 2nd byte: 90 */ 0x30da,
- /* 2nd byte: 91 */ 0x30db,
- /* 2nd byte: 92 */ 0x30dc,
- /* 2nd byte: 93 */ 0x30dd,
- /* 2nd byte: 94 */ 0x30de,
- /* 2nd byte: 95 */ 0x30df,
- /* 2nd byte: 96 */ 0x30e0,
- /* 2nd byte: 97 */ 0x30e1,
- /* 2nd byte: 98 */ 0x30e2,
- /* 2nd byte: 99 */ 0x30e3,
- /* 2nd byte: 100 */ 0x30e4,
- /* 2nd byte: 101 */ 0x30e5,
- /* 2nd byte: 102 */ 0x30e6,
- /* 2nd byte: 103 */ 0x30e7,
- /* 2nd byte: 104 */ 0x30e8,
- /* 2nd byte: 105 */ 0x30e9,
- /* 2nd byte: 106 */ 0x30ea,
- /* 2nd byte: 107 */ 0x30eb,
- /* 2nd byte: 108 */ 0x30ec,
- /* 2nd byte: 109 */ 0x30ed,
- /* 2nd byte: 110 */ 0x30ee,
- /* 2nd byte: 111 */ 0x30ef,
- /* 2nd byte: 112 */ 0x30f0,
- /* 2nd byte: 113 */ 0x30f1,
- /* 2nd byte: 114 */ 0x30f2,
- /* 2nd byte: 115 */ 0x30f3,
- /* 2nd byte: 116 */ 0x30f4,
- /* 2nd byte: 117 */ 0x30f5,
- /* 2nd byte: 118 */ 0x30f6,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 38 */ {
- /* 2nd byte: 33 */ 0x0391,
- /* 2nd byte: 34 */ 0x0392,
- /* 2nd byte: 35 */ 0x0393,
- /* 2nd byte: 36 */ 0x0394,
- /* 2nd byte: 37 */ 0x0395,
- /* 2nd byte: 38 */ 0x0396,
- /* 2nd byte: 39 */ 0x0397,
- /* 2nd byte: 40 */ 0x0398,
- /* 2nd byte: 41 */ 0x0399,
- /* 2nd byte: 42 */ 0x039a,
- /* 2nd byte: 43 */ 0x039b,
- /* 2nd byte: 44 */ 0x039c,
- /* 2nd byte: 45 */ 0x039d,
- /* 2nd byte: 46 */ 0x039e,
- /* 2nd byte: 47 */ 0x039f,
- /* 2nd byte: 48 */ 0x03a0,
- /* 2nd byte: 49 */ 0x03a1,
- /* 2nd byte: 50 */ 0x03a3,
- /* 2nd byte: 51 */ 0x03a4,
- /* 2nd byte: 52 */ 0x03a5,
- /* 2nd byte: 53 */ 0x03a6,
- /* 2nd byte: 54 */ 0x03a7,
- /* 2nd byte: 55 */ 0x03a8,
- /* 2nd byte: 56 */ 0x03a9,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 65 */ 0x03b1,
- /* 2nd byte: 66 */ 0x03b2,
- /* 2nd byte: 67 */ 0x03b3,
- /* 2nd byte: 68 */ 0x03b4,
- /* 2nd byte: 69 */ 0x03b5,
- /* 2nd byte: 70 */ 0x03b6,
- /* 2nd byte: 71 */ 0x03b7,
- /* 2nd byte: 72 */ 0x03b8,
- /* 2nd byte: 73 */ 0x03b9,
- /* 2nd byte: 74 */ 0x03ba,
- /* 2nd byte: 75 */ 0x03bb,
- /* 2nd byte: 76 */ 0x03bc,
- /* 2nd byte: 77 */ 0x03bd,
- /* 2nd byte: 78 */ 0x03be,
- /* 2nd byte: 79 */ 0x03bf,
- /* 2nd byte: 80 */ 0x03c0,
- /* 2nd byte: 81 */ 0x03c1,
- /* 2nd byte: 82 */ 0x03c3,
- /* 2nd byte: 83 */ 0x03c4,
- /* 2nd byte: 84 */ 0x03c5,
- /* 2nd byte: 85 */ 0x03c6,
- /* 2nd byte: 86 */ 0x03c7,
- /* 2nd byte: 87 */ 0x03c8,
- /* 2nd byte: 88 */ 0x03c9,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 39 */ {
- /* 2nd byte: 33 */ 0x0410,
- /* 2nd byte: 34 */ 0x0411,
- /* 2nd byte: 35 */ 0x0412,
- /* 2nd byte: 36 */ 0x0413,
- /* 2nd byte: 37 */ 0x0414,
- /* 2nd byte: 38 */ 0x0415,
- /* 2nd byte: 39 */ 0x0401,
- /* 2nd byte: 40 */ 0x0416,
- /* 2nd byte: 41 */ 0x0417,
- /* 2nd byte: 42 */ 0x0418,
- /* 2nd byte: 43 */ 0x0419,
- /* 2nd byte: 44 */ 0x041a,
- /* 2nd byte: 45 */ 0x041b,
- /* 2nd byte: 46 */ 0x041c,
- /* 2nd byte: 47 */ 0x041d,
- /* 2nd byte: 48 */ 0x041e,
- /* 2nd byte: 49 */ 0x041f,
- /* 2nd byte: 50 */ 0x0420,
- /* 2nd byte: 51 */ 0x0421,
- /* 2nd byte: 52 */ 0x0422,
- /* 2nd byte: 53 */ 0x0423,
- /* 2nd byte: 54 */ 0x0424,
- /* 2nd byte: 55 */ 0x0425,
- /* 2nd byte: 56 */ 0x0426,
- /* 2nd byte: 57 */ 0x0427,
- /* 2nd byte: 58 */ 0x0428,
- /* 2nd byte: 59 */ 0x0429,
- /* 2nd byte: 60 */ 0x042a,
- /* 2nd byte: 61 */ 0x042b,
- /* 2nd byte: 62 */ 0x042c,
- /* 2nd byte: 63 */ 0x042d,
- /* 2nd byte: 64 */ 0x042e,
- /* 2nd byte: 65 */ 0x042f,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 81 */ 0x0430,
- /* 2nd byte: 82 */ 0x0431,
- /* 2nd byte: 83 */ 0x0432,
- /* 2nd byte: 84 */ 0x0433,
- /* 2nd byte: 85 */ 0x0434,
- /* 2nd byte: 86 */ 0x0435,
- /* 2nd byte: 87 */ 0x0451,
- /* 2nd byte: 88 */ 0x0436,
- /* 2nd byte: 89 */ 0x0437,
- /* 2nd byte: 90 */ 0x0438,
- /* 2nd byte: 91 */ 0x0439,
- /* 2nd byte: 92 */ 0x043a,
- /* 2nd byte: 93 */ 0x043b,
- /* 2nd byte: 94 */ 0x043c,
- /* 2nd byte: 95 */ 0x043d,
- /* 2nd byte: 96 */ 0x043e,
- /* 2nd byte: 97 */ 0x043f,
- /* 2nd byte: 98 */ 0x0440,
- /* 2nd byte: 99 */ 0x0441,
- /* 2nd byte: 100 */ 0x0442,
- /* 2nd byte: 101 */ 0x0443,
- /* 2nd byte: 102 */ 0x0444,
- /* 2nd byte: 103 */ 0x0445,
- /* 2nd byte: 104 */ 0x0446,
- /* 2nd byte: 105 */ 0x0447,
- /* 2nd byte: 106 */ 0x0448,
- /* 2nd byte: 107 */ 0x0449,
- /* 2nd byte: 108 */ 0x044a,
- /* 2nd byte: 109 */ 0x044b,
- /* 2nd byte: 110 */ 0x044c,
- /* 2nd byte: 111 */ 0x044d,
- /* 2nd byte: 112 */ 0x044e,
- /* 2nd byte: 113 */ 0x044f,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 40 */ {
- /* 2nd byte: 33 */ 0x2500,
- /* 2nd byte: 34 */ 0x2502,
- /* 2nd byte: 35 */ 0x250c,
- /* 2nd byte: 36 */ 0x2510,
- /* 2nd byte: 37 */ 0x2518,
- /* 2nd byte: 38 */ 0x2514,
- /* 2nd byte: 39 */ 0x251c,
- /* 2nd byte: 40 */ 0x252c,
- /* 2nd byte: 41 */ 0x2524,
- /* 2nd byte: 42 */ 0x2534,
- /* 2nd byte: 43 */ 0x253c,
- /* 2nd byte: 44 */ 0x2501,
- /* 2nd byte: 45 */ 0x2503,
- /* 2nd byte: 46 */ 0x250f,
- /* 2nd byte: 47 */ 0x2513,
- /* 2nd byte: 48 */ 0x251b,
- /* 2nd byte: 49 */ 0x2517,
- /* 2nd byte: 50 */ 0x2523,
- /* 2nd byte: 51 */ 0x2533,
- /* 2nd byte: 52 */ 0x252b,
- /* 2nd byte: 53 */ 0x253b,
- /* 2nd byte: 54 */ 0x254b,
- /* 2nd byte: 55 */ 0x2520,
- /* 2nd byte: 56 */ 0x252f,
- /* 2nd byte: 57 */ 0x2528,
- /* 2nd byte: 58 */ 0x2537,
- /* 2nd byte: 59 */ 0x253f,
- /* 2nd byte: 60 */ 0x251d,
- /* 2nd byte: 61 */ 0x2530,
- /* 2nd byte: 62 */ 0x2525,
- /* 2nd byte: 63 */ 0x2538,
- /* 2nd byte: 64 */ 0x2542,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 41 */ { 0 }, /* unused row */
-/* 1st byte: 42 */ { 0 }, /* unused row */
-/* 1st byte: 43 */ { 0 }, /* unused row */
-/* 1st byte: 44 */ { 0 }, /* unused row */
-/* 1st byte: 45 */ { 0 }, /* unused row */
-/* 1st byte: 46 */ { 0 }, /* unused row */
-/* 1st byte: 47 */ { 0 }, /* unused row */
-/* 1st byte: 48 */ {
- /* 2nd byte: 33 */ 0x4e9c,
- /* 2nd byte: 34 */ 0x5516,
- /* 2nd byte: 35 */ 0x5a03,
- /* 2nd byte: 36 */ 0x963f,
- /* 2nd byte: 37 */ 0x54c0,
- /* 2nd byte: 38 */ 0x611b,
- /* 2nd byte: 39 */ 0x6328,
- /* 2nd byte: 40 */ 0x59f6,
- /* 2nd byte: 41 */ 0x9022,
- /* 2nd byte: 42 */ 0x8475,
- /* 2nd byte: 43 */ 0x831c,
- /* 2nd byte: 44 */ 0x7a50,
- /* 2nd byte: 45 */ 0x60aa,
- /* 2nd byte: 46 */ 0x63e1,
- /* 2nd byte: 47 */ 0x6e25,
- /* 2nd byte: 48 */ 0x65ed,
- /* 2nd byte: 49 */ 0x8466,
- /* 2nd byte: 50 */ 0x82a6,
- /* 2nd byte: 51 */ 0x9bf5,
- /* 2nd byte: 52 */ 0x6893,
- /* 2nd byte: 53 */ 0x5727,
- /* 2nd byte: 54 */ 0x65a1,
- /* 2nd byte: 55 */ 0x6271,
- /* 2nd byte: 56 */ 0x5b9b,
- /* 2nd byte: 57 */ 0x59d0,
- /* 2nd byte: 58 */ 0x867b,
- /* 2nd byte: 59 */ 0x98f4,
- /* 2nd byte: 60 */ 0x7d62,
- /* 2nd byte: 61 */ 0x7dbe,
- /* 2nd byte: 62 */ 0x9b8e,
- /* 2nd byte: 63 */ 0x6216,
- /* 2nd byte: 64 */ 0x7c9f,
- /* 2nd byte: 65 */ 0x88b7,
- /* 2nd byte: 66 */ 0x5b89,
- /* 2nd byte: 67 */ 0x5eb5,
- /* 2nd byte: 68 */ 0x6309,
- /* 2nd byte: 69 */ 0x6697,
- /* 2nd byte: 70 */ 0x6848,
- /* 2nd byte: 71 */ 0x95c7,
- /* 2nd byte: 72 */ 0x978d,
- /* 2nd byte: 73 */ 0x674f,
- /* 2nd byte: 74 */ 0x4ee5,
- /* 2nd byte: 75 */ 0x4f0a,
- /* 2nd byte: 76 */ 0x4f4d,
- /* 2nd byte: 77 */ 0x4f9d,
- /* 2nd byte: 78 */ 0x5049,
- /* 2nd byte: 79 */ 0x56f2,
- /* 2nd byte: 80 */ 0x5937,
- /* 2nd byte: 81 */ 0x59d4,
- /* 2nd byte: 82 */ 0x5a01,
- /* 2nd byte: 83 */ 0x5c09,
- /* 2nd byte: 84 */ 0x60df,
- /* 2nd byte: 85 */ 0x610f,
- /* 2nd byte: 86 */ 0x6170,
- /* 2nd byte: 87 */ 0x6613,
- /* 2nd byte: 88 */ 0x6905,
- /* 2nd byte: 89 */ 0x70ba,
- /* 2nd byte: 90 */ 0x754f,
- /* 2nd byte: 91 */ 0x7570,
- /* 2nd byte: 92 */ 0x79fb,
- /* 2nd byte: 93 */ 0x7dad,
- /* 2nd byte: 94 */ 0x7def,
- /* 2nd byte: 95 */ 0x80c3,
- /* 2nd byte: 96 */ 0x840e,
- /* 2nd byte: 97 */ 0x8863,
- /* 2nd byte: 98 */ 0x8b02,
- /* 2nd byte: 99 */ 0x9055,
- /* 2nd byte: 100 */ 0x907a,
- /* 2nd byte: 101 */ 0x533b,
- /* 2nd byte: 102 */ 0x4e95,
- /* 2nd byte: 103 */ 0x4ea5,
- /* 2nd byte: 104 */ 0x57df,
- /* 2nd byte: 105 */ 0x80b2,
- /* 2nd byte: 106 */ 0x90c1,
- /* 2nd byte: 107 */ 0x78ef,
- /* 2nd byte: 108 */ 0x4e00,
- /* 2nd byte: 109 */ 0x58f1,
- /* 2nd byte: 110 */ 0x6ea2,
- /* 2nd byte: 111 */ 0x9038,
- /* 2nd byte: 112 */ 0x7a32,
- /* 2nd byte: 113 */ 0x8328,
- /* 2nd byte: 114 */ 0x828b,
- /* 2nd byte: 115 */ 0x9c2f,
- /* 2nd byte: 116 */ 0x5141,
- /* 2nd byte: 117 */ 0x5370,
- /* 2nd byte: 118 */ 0x54bd,
- /* 2nd byte: 119 */ 0x54e1,
- /* 2nd byte: 120 */ 0x56e0,
- /* 2nd byte: 121 */ 0x59fb,
- /* 2nd byte: 122 */ 0x5f15,
- /* 2nd byte: 123 */ 0x98f2,
- /* 2nd byte: 124 */ 0x6deb,
- /* 2nd byte: 125 */ 0x80e4,
- /* 2nd byte: 126 */ 0x852d},
-/* 1st byte: 49 */ {
- /* 2nd byte: 33 */ 0x9662,
- /* 2nd byte: 34 */ 0x9670,
- /* 2nd byte: 35 */ 0x96a0,
- /* 2nd byte: 36 */ 0x97fb,
- /* 2nd byte: 37 */ 0x540b,
- /* 2nd byte: 38 */ 0x53f3,
- /* 2nd byte: 39 */ 0x5b87,
- /* 2nd byte: 40 */ 0x70cf,
- /* 2nd byte: 41 */ 0x7fbd,
- /* 2nd byte: 42 */ 0x8fc2,
- /* 2nd byte: 43 */ 0x96e8,
- /* 2nd byte: 44 */ 0x536f,
- /* 2nd byte: 45 */ 0x9d5c,
- /* 2nd byte: 46 */ 0x7aba,
- /* 2nd byte: 47 */ 0x4e11,
- /* 2nd byte: 48 */ 0x7893,
- /* 2nd byte: 49 */ 0x81fc,
- /* 2nd byte: 50 */ 0x6e26,
- /* 2nd byte: 51 */ 0x5618,
- /* 2nd byte: 52 */ 0x5504,
- /* 2nd byte: 53 */ 0x6b1d,
- /* 2nd byte: 54 */ 0x851a,
- /* 2nd byte: 55 */ 0x9c3b,
- /* 2nd byte: 56 */ 0x59e5,
- /* 2nd byte: 57 */ 0x53a9,
- /* 2nd byte: 58 */ 0x6d66,
- /* 2nd byte: 59 */ 0x74dc,
- /* 2nd byte: 60 */ 0x958f,
- /* 2nd byte: 61 */ 0x5642,
- /* 2nd byte: 62 */ 0x4e91,
- /* 2nd byte: 63 */ 0x904b,
- /* 2nd byte: 64 */ 0x96f2,
- /* 2nd byte: 65 */ 0x834f,
- /* 2nd byte: 66 */ 0x990c,
- /* 2nd byte: 67 */ 0x53e1,
- /* 2nd byte: 68 */ 0x55b6,
- /* 2nd byte: 69 */ 0x5b30,
- /* 2nd byte: 70 */ 0x5f71,
- /* 2nd byte: 71 */ 0x6620,
- /* 2nd byte: 72 */ 0x66f3,
- /* 2nd byte: 73 */ 0x6804,
- /* 2nd byte: 74 */ 0x6c38,
- /* 2nd byte: 75 */ 0x6cf3,
- /* 2nd byte: 76 */ 0x6d29,
- /* 2nd byte: 77 */ 0x745b,
- /* 2nd byte: 78 */ 0x76c8,
- /* 2nd byte: 79 */ 0x7a4e,
- /* 2nd byte: 80 */ 0x9834,
- /* 2nd byte: 81 */ 0x82f1,
- /* 2nd byte: 82 */ 0x885b,
- /* 2nd byte: 83 */ 0x8a60,
- /* 2nd byte: 84 */ 0x92ed,
- /* 2nd byte: 85 */ 0x6db2,
- /* 2nd byte: 86 */ 0x75ab,
- /* 2nd byte: 87 */ 0x76ca,
- /* 2nd byte: 88 */ 0x99c5,
- /* 2nd byte: 89 */ 0x60a6,
- /* 2nd byte: 90 */ 0x8b01,
- /* 2nd byte: 91 */ 0x8d8a,
- /* 2nd byte: 92 */ 0x95b2,
- /* 2nd byte: 93 */ 0x698e,
- /* 2nd byte: 94 */ 0x53ad,
- /* 2nd byte: 95 */ 0x5186,
- /* 2nd byte: 96 */ 0x5712,
- /* 2nd byte: 97 */ 0x5830,
- /* 2nd byte: 98 */ 0x5944,
- /* 2nd byte: 99 */ 0x5bb4,
- /* 2nd byte: 100 */ 0x5ef6,
- /* 2nd byte: 101 */ 0x6028,
- /* 2nd byte: 102 */ 0x63a9,
- /* 2nd byte: 103 */ 0x63f4,
- /* 2nd byte: 104 */ 0x6cbf,
- /* 2nd byte: 105 */ 0x6f14,
- /* 2nd byte: 106 */ 0x708e,
- /* 2nd byte: 107 */ 0x7114,
- /* 2nd byte: 108 */ 0x7159,
- /* 2nd byte: 109 */ 0x71d5,
- /* 2nd byte: 110 */ 0x733f,
- /* 2nd byte: 111 */ 0x7e01,
- /* 2nd byte: 112 */ 0x8276,
- /* 2nd byte: 113 */ 0x82d1,
- /* 2nd byte: 114 */ 0x8597,
- /* 2nd byte: 115 */ 0x9060,
- /* 2nd byte: 116 */ 0x925b,
- /* 2nd byte: 117 */ 0x9d1b,
- /* 2nd byte: 118 */ 0x5869,
- /* 2nd byte: 119 */ 0x65bc,
- /* 2nd byte: 120 */ 0x6c5a,
- /* 2nd byte: 121 */ 0x7525,
- /* 2nd byte: 122 */ 0x51f9,
- /* 2nd byte: 123 */ 0x592e,
- /* 2nd byte: 124 */ 0x5965,
- /* 2nd byte: 125 */ 0x5f80,
- /* 2nd byte: 126 */ 0x5fdc},
-/* 1st byte: 50 */ {
- /* 2nd byte: 33 */ 0x62bc,
- /* 2nd byte: 34 */ 0x65fa,
- /* 2nd byte: 35 */ 0x6a2a,
- /* 2nd byte: 36 */ 0x6b27,
- /* 2nd byte: 37 */ 0x6bb4,
- /* 2nd byte: 38 */ 0x738b,
- /* 2nd byte: 39 */ 0x7fc1,
- /* 2nd byte: 40 */ 0x8956,
- /* 2nd byte: 41 */ 0x9d2c,
- /* 2nd byte: 42 */ 0x9d0e,
- /* 2nd byte: 43 */ 0x9ec4,
- /* 2nd byte: 44 */ 0x5ca1,
- /* 2nd byte: 45 */ 0x6c96,
- /* 2nd byte: 46 */ 0x837b,
- /* 2nd byte: 47 */ 0x5104,
- /* 2nd byte: 48 */ 0x5c4b,
- /* 2nd byte: 49 */ 0x61b6,
- /* 2nd byte: 50 */ 0x81c6,
- /* 2nd byte: 51 */ 0x6876,
- /* 2nd byte: 52 */ 0x7261,
- /* 2nd byte: 53 */ 0x4e59,
- /* 2nd byte: 54 */ 0x4ffa,
- /* 2nd byte: 55 */ 0x5378,
- /* 2nd byte: 56 */ 0x6069,
- /* 2nd byte: 57 */ 0x6e29,
- /* 2nd byte: 58 */ 0x7a4f,
- /* 2nd byte: 59 */ 0x97f3,
- /* 2nd byte: 60 */ 0x4e0b,
- /* 2nd byte: 61 */ 0x5316,
- /* 2nd byte: 62 */ 0x4eee,
- /* 2nd byte: 63 */ 0x4f55,
- /* 2nd byte: 64 */ 0x4f3d,
- /* 2nd byte: 65 */ 0x4fa1,
- /* 2nd byte: 66 */ 0x4f73,
- /* 2nd byte: 67 */ 0x52a0,
- /* 2nd byte: 68 */ 0x53ef,
- /* 2nd byte: 69 */ 0x5609,
- /* 2nd byte: 70 */ 0x590f,
- /* 2nd byte: 71 */ 0x5ac1,
- /* 2nd byte: 72 */ 0x5bb6,
- /* 2nd byte: 73 */ 0x5be1,
- /* 2nd byte: 74 */ 0x79d1,
- /* 2nd byte: 75 */ 0x6687,
- /* 2nd byte: 76 */ 0x679c,
- /* 2nd byte: 77 */ 0x67b6,
- /* 2nd byte: 78 */ 0x6b4c,
- /* 2nd byte: 79 */ 0x6cb3,
- /* 2nd byte: 80 */ 0x706b,
- /* 2nd byte: 81 */ 0x73c2,
- /* 2nd byte: 82 */ 0x798d,
- /* 2nd byte: 83 */ 0x79be,
- /* 2nd byte: 84 */ 0x7a3c,
- /* 2nd byte: 85 */ 0x7b87,
- /* 2nd byte: 86 */ 0x82b1,
- /* 2nd byte: 87 */ 0x82db,
- /* 2nd byte: 88 */ 0x8304,
- /* 2nd byte: 89 */ 0x8377,
- /* 2nd byte: 90 */ 0x83ef,
- /* 2nd byte: 91 */ 0x83d3,
- /* 2nd byte: 92 */ 0x8766,
- /* 2nd byte: 93 */ 0x8ab2,
- /* 2nd byte: 94 */ 0x5629,
- /* 2nd byte: 95 */ 0x8ca8,
- /* 2nd byte: 96 */ 0x8fe6,
- /* 2nd byte: 97 */ 0x904e,
- /* 2nd byte: 98 */ 0x971e,
- /* 2nd byte: 99 */ 0x868a,
- /* 2nd byte: 100 */ 0x4fc4,
- /* 2nd byte: 101 */ 0x5ce8,
- /* 2nd byte: 102 */ 0x6211,
- /* 2nd byte: 103 */ 0x7259,
- /* 2nd byte: 104 */ 0x753b,
- /* 2nd byte: 105 */ 0x81e5,
- /* 2nd byte: 106 */ 0x82bd,
- /* 2nd byte: 107 */ 0x86fe,
- /* 2nd byte: 108 */ 0x8cc0,
- /* 2nd byte: 109 */ 0x96c5,
- /* 2nd byte: 110 */ 0x9913,
- /* 2nd byte: 111 */ 0x99d5,
- /* 2nd byte: 112 */ 0x4ecb,
- /* 2nd byte: 113 */ 0x4f1a,
- /* 2nd byte: 114 */ 0x89e3,
- /* 2nd byte: 115 */ 0x56de,
- /* 2nd byte: 116 */ 0x584a,
- /* 2nd byte: 117 */ 0x58ca,
- /* 2nd byte: 118 */ 0x5efb,
- /* 2nd byte: 119 */ 0x5feb,
- /* 2nd byte: 120 */ 0x602a,
- /* 2nd byte: 121 */ 0x6094,
- /* 2nd byte: 122 */ 0x6062,
- /* 2nd byte: 123 */ 0x61d0,
- /* 2nd byte: 124 */ 0x6212,
- /* 2nd byte: 125 */ 0x62d0,
- /* 2nd byte: 126 */ 0x6539},
-/* 1st byte: 51 */ {
- /* 2nd byte: 33 */ 0x9b41,
- /* 2nd byte: 34 */ 0x6666,
- /* 2nd byte: 35 */ 0x68b0,
- /* 2nd byte: 36 */ 0x6d77,
- /* 2nd byte: 37 */ 0x7070,
- /* 2nd byte: 38 */ 0x754c,
- /* 2nd byte: 39 */ 0x7686,
- /* 2nd byte: 40 */ 0x7d75,
- /* 2nd byte: 41 */ 0x82a5,
- /* 2nd byte: 42 */ 0x87f9,
- /* 2nd byte: 43 */ 0x958b,
- /* 2nd byte: 44 */ 0x968e,
- /* 2nd byte: 45 */ 0x8c9d,
- /* 2nd byte: 46 */ 0x51f1,
- /* 2nd byte: 47 */ 0x52be,
- /* 2nd byte: 48 */ 0x5916,
- /* 2nd byte: 49 */ 0x54b3,
- /* 2nd byte: 50 */ 0x5bb3,
- /* 2nd byte: 51 */ 0x5d16,
- /* 2nd byte: 52 */ 0x6168,
- /* 2nd byte: 53 */ 0x6982,
- /* 2nd byte: 54 */ 0x6daf,
- /* 2nd byte: 55 */ 0x788d,
- /* 2nd byte: 56 */ 0x84cb,
- /* 2nd byte: 57 */ 0x8857,
- /* 2nd byte: 58 */ 0x8a72,
- /* 2nd byte: 59 */ 0x93a7,
- /* 2nd byte: 60 */ 0x9ab8,
- /* 2nd byte: 61 */ 0x6d6c,
- /* 2nd byte: 62 */ 0x99a8,
- /* 2nd byte: 63 */ 0x86d9,
- /* 2nd byte: 64 */ 0x57a3,
- /* 2nd byte: 65 */ 0x67ff,
- /* 2nd byte: 66 */ 0x86ce,
- /* 2nd byte: 67 */ 0x920e,
- /* 2nd byte: 68 */ 0x5283,
- /* 2nd byte: 69 */ 0x5687,
- /* 2nd byte: 70 */ 0x5404,
- /* 2nd byte: 71 */ 0x5ed3,
- /* 2nd byte: 72 */ 0x62e1,
- /* 2nd byte: 73 */ 0x64b9,
- /* 2nd byte: 74 */ 0x683c,
- /* 2nd byte: 75 */ 0x6838,
- /* 2nd byte: 76 */ 0x6bbb,
- /* 2nd byte: 77 */ 0x7372,
- /* 2nd byte: 78 */ 0x78ba,
- /* 2nd byte: 79 */ 0x7a6b,
- /* 2nd byte: 80 */ 0x899a,
- /* 2nd byte: 81 */ 0x89d2,
- /* 2nd byte: 82 */ 0x8d6b,
- /* 2nd byte: 83 */ 0x8f03,
- /* 2nd byte: 84 */ 0x90ed,
- /* 2nd byte: 85 */ 0x95a3,
- /* 2nd byte: 86 */ 0x9694,
- /* 2nd byte: 87 */ 0x9769,
- /* 2nd byte: 88 */ 0x5b66,
- /* 2nd byte: 89 */ 0x5cb3,
- /* 2nd byte: 90 */ 0x697d,
- /* 2nd byte: 91 */ 0x984d,
- /* 2nd byte: 92 */ 0x984e,
- /* 2nd byte: 93 */ 0x639b,
- /* 2nd byte: 94 */ 0x7b20,
- /* 2nd byte: 95 */ 0x6a2b,
- /* 2nd byte: 96 */ 0x6a7f,
- /* 2nd byte: 97 */ 0x68b6,
- /* 2nd byte: 98 */ 0x9c0d,
- /* 2nd byte: 99 */ 0x6f5f,
- /* 2nd byte: 100 */ 0x5272,
- /* 2nd byte: 101 */ 0x559d,
- /* 2nd byte: 102 */ 0x6070,
- /* 2nd byte: 103 */ 0x62ec,
- /* 2nd byte: 104 */ 0x6d3b,
- /* 2nd byte: 105 */ 0x6e07,
- /* 2nd byte: 106 */ 0x6ed1,
- /* 2nd byte: 107 */ 0x845b,
- /* 2nd byte: 108 */ 0x8910,
- /* 2nd byte: 109 */ 0x8f44,
- /* 2nd byte: 110 */ 0x4e14,
- /* 2nd byte: 111 */ 0x9c39,
- /* 2nd byte: 112 */ 0x53f6,
- /* 2nd byte: 113 */ 0x691b,
- /* 2nd byte: 114 */ 0x6a3a,
- /* 2nd byte: 115 */ 0x9784,
- /* 2nd byte: 116 */ 0x682a,
- /* 2nd byte: 117 */ 0x515c,
- /* 2nd byte: 118 */ 0x7ac3,
- /* 2nd byte: 119 */ 0x84b2,
- /* 2nd byte: 120 */ 0x91dc,
- /* 2nd byte: 121 */ 0x938c,
- /* 2nd byte: 122 */ 0x565b,
- /* 2nd byte: 123 */ 0x9d28,
- /* 2nd byte: 124 */ 0x6822,
- /* 2nd byte: 125 */ 0x8305,
- /* 2nd byte: 126 */ 0x8431},
-/* 1st byte: 52 */ {
- /* 2nd byte: 33 */ 0x7ca5,
- /* 2nd byte: 34 */ 0x5208,
- /* 2nd byte: 35 */ 0x82c5,
- /* 2nd byte: 36 */ 0x74e6,
- /* 2nd byte: 37 */ 0x4e7e,
- /* 2nd byte: 38 */ 0x4f83,
- /* 2nd byte: 39 */ 0x51a0,
- /* 2nd byte: 40 */ 0x5bd2,
- /* 2nd byte: 41 */ 0x520a,
- /* 2nd byte: 42 */ 0x52d8,
- /* 2nd byte: 43 */ 0x52e7,
- /* 2nd byte: 44 */ 0x5dfb,
- /* 2nd byte: 45 */ 0x559a,
- /* 2nd byte: 46 */ 0x582a,
- /* 2nd byte: 47 */ 0x59e6,
- /* 2nd byte: 48 */ 0x5b8c,
- /* 2nd byte: 49 */ 0x5b98,
- /* 2nd byte: 50 */ 0x5bdb,
- /* 2nd byte: 51 */ 0x5e72,
- /* 2nd byte: 52 */ 0x5e79,
- /* 2nd byte: 53 */ 0x60a3,
- /* 2nd byte: 54 */ 0x611f,
- /* 2nd byte: 55 */ 0x6163,
- /* 2nd byte: 56 */ 0x61be,
- /* 2nd byte: 57 */ 0x63db,
- /* 2nd byte: 58 */ 0x6562,
- /* 2nd byte: 59 */ 0x67d1,
- /* 2nd byte: 60 */ 0x6853,
- /* 2nd byte: 61 */ 0x68fa,
- /* 2nd byte: 62 */ 0x6b3e,
- /* 2nd byte: 63 */ 0x6b53,
- /* 2nd byte: 64 */ 0x6c57,
- /* 2nd byte: 65 */ 0x6f22,
- /* 2nd byte: 66 */ 0x6f97,
- /* 2nd byte: 67 */ 0x6f45,
- /* 2nd byte: 68 */ 0x74b0,
- /* 2nd byte: 69 */ 0x7518,
- /* 2nd byte: 70 */ 0x76e3,
- /* 2nd byte: 71 */ 0x770b,
- /* 2nd byte: 72 */ 0x7aff,
- /* 2nd byte: 73 */ 0x7ba1,
- /* 2nd byte: 74 */ 0x7c21,
- /* 2nd byte: 75 */ 0x7de9,
- /* 2nd byte: 76 */ 0x7f36,
- /* 2nd byte: 77 */ 0x7ff0,
- /* 2nd byte: 78 */ 0x809d,
- /* 2nd byte: 79 */ 0x8266,
- /* 2nd byte: 80 */ 0x839e,
- /* 2nd byte: 81 */ 0x89b3,
- /* 2nd byte: 82 */ 0x8acc,
- /* 2nd byte: 83 */ 0x8cab,
- /* 2nd byte: 84 */ 0x9084,
- /* 2nd byte: 85 */ 0x9451,
- /* 2nd byte: 86 */ 0x9593,
- /* 2nd byte: 87 */ 0x9591,
- /* 2nd byte: 88 */ 0x95a2,
- /* 2nd byte: 89 */ 0x9665,
- /* 2nd byte: 90 */ 0x97d3,
- /* 2nd byte: 91 */ 0x9928,
- /* 2nd byte: 92 */ 0x8218,
- /* 2nd byte: 93 */ 0x4e38,
- /* 2nd byte: 94 */ 0x542b,
- /* 2nd byte: 95 */ 0x5cb8,
- /* 2nd byte: 96 */ 0x5dcc,
- /* 2nd byte: 97 */ 0x73a9,
- /* 2nd byte: 98 */ 0x764c,
- /* 2nd byte: 99 */ 0x773c,
- /* 2nd byte: 100 */ 0x5ca9,
- /* 2nd byte: 101 */ 0x7feb,
- /* 2nd byte: 102 */ 0x8d0b,
- /* 2nd byte: 103 */ 0x96c1,
- /* 2nd byte: 104 */ 0x9811,
- /* 2nd byte: 105 */ 0x9854,
- /* 2nd byte: 106 */ 0x9858,
- /* 2nd byte: 107 */ 0x4f01,
- /* 2nd byte: 108 */ 0x4f0e,
- /* 2nd byte: 109 */ 0x5371,
- /* 2nd byte: 110 */ 0x559c,
- /* 2nd byte: 111 */ 0x5668,
- /* 2nd byte: 112 */ 0x57fa,
- /* 2nd byte: 113 */ 0x5947,
- /* 2nd byte: 114 */ 0x5b09,
- /* 2nd byte: 115 */ 0x5bc4,
- /* 2nd byte: 116 */ 0x5c90,
- /* 2nd byte: 117 */ 0x5e0c,
- /* 2nd byte: 118 */ 0x5e7e,
- /* 2nd byte: 119 */ 0x5fcc,
- /* 2nd byte: 120 */ 0x63ee,
- /* 2nd byte: 121 */ 0x673a,
- /* 2nd byte: 122 */ 0x65d7,
- /* 2nd byte: 123 */ 0x65e2,
- /* 2nd byte: 124 */ 0x671f,
- /* 2nd byte: 125 */ 0x68cb,
- /* 2nd byte: 126 */ 0x68c4},
-/* 1st byte: 53 */ {
- /* 2nd byte: 33 */ 0x6a5f,
- /* 2nd byte: 34 */ 0x5e30,
- /* 2nd byte: 35 */ 0x6bc5,
- /* 2nd byte: 36 */ 0x6c17,
- /* 2nd byte: 37 */ 0x6c7d,
- /* 2nd byte: 38 */ 0x757f,
- /* 2nd byte: 39 */ 0x7948,
- /* 2nd byte: 40 */ 0x5b63,
- /* 2nd byte: 41 */ 0x7a00,
- /* 2nd byte: 42 */ 0x7d00,
- /* 2nd byte: 43 */ 0x5fbd,
- /* 2nd byte: 44 */ 0x898f,
- /* 2nd byte: 45 */ 0x8a18,
- /* 2nd byte: 46 */ 0x8cb4,
- /* 2nd byte: 47 */ 0x8d77,
- /* 2nd byte: 48 */ 0x8ecc,
- /* 2nd byte: 49 */ 0x8f1d,
- /* 2nd byte: 50 */ 0x98e2,
- /* 2nd byte: 51 */ 0x9a0e,
- /* 2nd byte: 52 */ 0x9b3c,
- /* 2nd byte: 53 */ 0x4e80,
- /* 2nd byte: 54 */ 0x507d,
- /* 2nd byte: 55 */ 0x5100,
- /* 2nd byte: 56 */ 0x5993,
- /* 2nd byte: 57 */ 0x5b9c,
- /* 2nd byte: 58 */ 0x622f,
- /* 2nd byte: 59 */ 0x6280,
- /* 2nd byte: 60 */ 0x64ec,
- /* 2nd byte: 61 */ 0x6b3a,
- /* 2nd byte: 62 */ 0x72a0,
- /* 2nd byte: 63 */ 0x7591,
- /* 2nd byte: 64 */ 0x7947,
- /* 2nd byte: 65 */ 0x7fa9,
- /* 2nd byte: 66 */ 0x87fb,
- /* 2nd byte: 67 */ 0x8abc,
- /* 2nd byte: 68 */ 0x8b70,
- /* 2nd byte: 69 */ 0x63ac,
- /* 2nd byte: 70 */ 0x83ca,
- /* 2nd byte: 71 */ 0x97a0,
- /* 2nd byte: 72 */ 0x5409,
- /* 2nd byte: 73 */ 0x5403,
- /* 2nd byte: 74 */ 0x55ab,
- /* 2nd byte: 75 */ 0x6854,
- /* 2nd byte: 76 */ 0x6a58,
- /* 2nd byte: 77 */ 0x8a70,
- /* 2nd byte: 78 */ 0x7827,
- /* 2nd byte: 79 */ 0x6775,
- /* 2nd byte: 80 */ 0x9ecd,
- /* 2nd byte: 81 */ 0x5374,
- /* 2nd byte: 82 */ 0x5ba2,
- /* 2nd byte: 83 */ 0x811a,
- /* 2nd byte: 84 */ 0x8650,
- /* 2nd byte: 85 */ 0x9006,
- /* 2nd byte: 86 */ 0x4e18,
- /* 2nd byte: 87 */ 0x4e45,
- /* 2nd byte: 88 */ 0x4ec7,
- /* 2nd byte: 89 */ 0x4f11,
- /* 2nd byte: 90 */ 0x53ca,
- /* 2nd byte: 91 */ 0x5438,
- /* 2nd byte: 92 */ 0x5bae,
- /* 2nd byte: 93 */ 0x5f13,
- /* 2nd byte: 94 */ 0x6025,
- /* 2nd byte: 95 */ 0x6551,
- /* 2nd byte: 96 */ 0x673d,
- /* 2nd byte: 97 */ 0x6c42,
- /* 2nd byte: 98 */ 0x6c72,
- /* 2nd byte: 99 */ 0x6ce3,
- /* 2nd byte: 100 */ 0x7078,
- /* 2nd byte: 101 */ 0x7403,
- /* 2nd byte: 102 */ 0x7a76,
- /* 2nd byte: 103 */ 0x7aae,
- /* 2nd byte: 104 */ 0x7b08,
- /* 2nd byte: 105 */ 0x7d1a,
- /* 2nd byte: 106 */ 0x7cfe,
- /* 2nd byte: 107 */ 0x7d66,
- /* 2nd byte: 108 */ 0x65e7,
- /* 2nd byte: 109 */ 0x725b,
- /* 2nd byte: 110 */ 0x53bb,
- /* 2nd byte: 111 */ 0x5c45,
- /* 2nd byte: 112 */ 0x5de8,
- /* 2nd byte: 113 */ 0x62d2,
- /* 2nd byte: 114 */ 0x62e0,
- /* 2nd byte: 115 */ 0x6319,
- /* 2nd byte: 116 */ 0x6e20,
- /* 2nd byte: 117 */ 0x865a,
- /* 2nd byte: 118 */ 0x8a31,
- /* 2nd byte: 119 */ 0x8ddd,
- /* 2nd byte: 120 */ 0x92f8,
- /* 2nd byte: 121 */ 0x6f01,
- /* 2nd byte: 122 */ 0x79a6,
- /* 2nd byte: 123 */ 0x9b5a,
- /* 2nd byte: 124 */ 0x4ea8,
- /* 2nd byte: 125 */ 0x4eab,
- /* 2nd byte: 126 */ 0x4eac},
-/* 1st byte: 54 */ {
- /* 2nd byte: 33 */ 0x4f9b,
- /* 2nd byte: 34 */ 0x4fa0,
- /* 2nd byte: 35 */ 0x50d1,
- /* 2nd byte: 36 */ 0x5147,
- /* 2nd byte: 37 */ 0x7af6,
- /* 2nd byte: 38 */ 0x5171,
- /* 2nd byte: 39 */ 0x51f6,
- /* 2nd byte: 40 */ 0x5354,
- /* 2nd byte: 41 */ 0x5321,
- /* 2nd byte: 42 */ 0x537f,
- /* 2nd byte: 43 */ 0x53eb,
- /* 2nd byte: 44 */ 0x55ac,
- /* 2nd byte: 45 */ 0x5883,
- /* 2nd byte: 46 */ 0x5ce1,
- /* 2nd byte: 47 */ 0x5f37,
- /* 2nd byte: 48 */ 0x5f4a,
- /* 2nd byte: 49 */ 0x602f,
- /* 2nd byte: 50 */ 0x6050,
- /* 2nd byte: 51 */ 0x606d,
- /* 2nd byte: 52 */ 0x631f,
- /* 2nd byte: 53 */ 0x6559,
- /* 2nd byte: 54 */ 0x6a4b,
- /* 2nd byte: 55 */ 0x6cc1,
- /* 2nd byte: 56 */ 0x72c2,
- /* 2nd byte: 57 */ 0x72ed,
- /* 2nd byte: 58 */ 0x77ef,
- /* 2nd byte: 59 */ 0x80f8,
- /* 2nd byte: 60 */ 0x8105,
- /* 2nd byte: 61 */ 0x8208,
- /* 2nd byte: 62 */ 0x854e,
- /* 2nd byte: 63 */ 0x90f7,
- /* 2nd byte: 64 */ 0x93e1,
- /* 2nd byte: 65 */ 0x97ff,
- /* 2nd byte: 66 */ 0x9957,
- /* 2nd byte: 67 */ 0x9a5a,
- /* 2nd byte: 68 */ 0x4ef0,
- /* 2nd byte: 69 */ 0x51dd,
- /* 2nd byte: 70 */ 0x5c2d,
- /* 2nd byte: 71 */ 0x6681,
- /* 2nd byte: 72 */ 0x696d,
- /* 2nd byte: 73 */ 0x5c40,
- /* 2nd byte: 74 */ 0x66f2,
- /* 2nd byte: 75 */ 0x6975,
- /* 2nd byte: 76 */ 0x7389,
- /* 2nd byte: 77 */ 0x6850,
- /* 2nd byte: 78 */ 0x7c81,
- /* 2nd byte: 79 */ 0x50c5,
- /* 2nd byte: 80 */ 0x52e4,
- /* 2nd byte: 81 */ 0x5747,
- /* 2nd byte: 82 */ 0x5dfe,
- /* 2nd byte: 83 */ 0x9326,
- /* 2nd byte: 84 */ 0x65a4,
- /* 2nd byte: 85 */ 0x6b23,
- /* 2nd byte: 86 */ 0x6b3d,
- /* 2nd byte: 87 */ 0x7434,
- /* 2nd byte: 88 */ 0x7981,
- /* 2nd byte: 89 */ 0x79bd,
- /* 2nd byte: 90 */ 0x7b4b,
- /* 2nd byte: 91 */ 0x7dca,
- /* 2nd byte: 92 */ 0x82b9,
- /* 2nd byte: 93 */ 0x83cc,
- /* 2nd byte: 94 */ 0x887f,
- /* 2nd byte: 95 */ 0x895f,
- /* 2nd byte: 96 */ 0x8b39,
- /* 2nd byte: 97 */ 0x8fd1,
- /* 2nd byte: 98 */ 0x91d1,
- /* 2nd byte: 99 */ 0x541f,
- /* 2nd byte: 100 */ 0x9280,
- /* 2nd byte: 101 */ 0x4e5d,
- /* 2nd byte: 102 */ 0x5036,
- /* 2nd byte: 103 */ 0x53e5,
- /* 2nd byte: 104 */ 0x533a,
- /* 2nd byte: 105 */ 0x72d7,
- /* 2nd byte: 106 */ 0x7396,
- /* 2nd byte: 107 */ 0x77e9,
- /* 2nd byte: 108 */ 0x82e6,
- /* 2nd byte: 109 */ 0x8eaf,
- /* 2nd byte: 110 */ 0x99c6,
- /* 2nd byte: 111 */ 0x99c8,
- /* 2nd byte: 112 */ 0x99d2,
- /* 2nd byte: 113 */ 0x5177,
- /* 2nd byte: 114 */ 0x611a,
- /* 2nd byte: 115 */ 0x865e,
- /* 2nd byte: 116 */ 0x55b0,
- /* 2nd byte: 117 */ 0x7a7a,
- /* 2nd byte: 118 */ 0x5076,
- /* 2nd byte: 119 */ 0x5bd3,
- /* 2nd byte: 120 */ 0x9047,
- /* 2nd byte: 121 */ 0x9685,
- /* 2nd byte: 122 */ 0x4e32,
- /* 2nd byte: 123 */ 0x6adb,
- /* 2nd byte: 124 */ 0x91e7,
- /* 2nd byte: 125 */ 0x5c51,
- /* 2nd byte: 126 */ 0x5c48},
-/* 1st byte: 55 */ {
- /* 2nd byte: 33 */ 0x6398,
- /* 2nd byte: 34 */ 0x7a9f,
- /* 2nd byte: 35 */ 0x6c93,
- /* 2nd byte: 36 */ 0x9774,
- /* 2nd byte: 37 */ 0x8f61,
- /* 2nd byte: 38 */ 0x7aaa,
- /* 2nd byte: 39 */ 0x718a,
- /* 2nd byte: 40 */ 0x9688,
- /* 2nd byte: 41 */ 0x7c82,
- /* 2nd byte: 42 */ 0x6817,
- /* 2nd byte: 43 */ 0x7e70,
- /* 2nd byte: 44 */ 0x6851,
- /* 2nd byte: 45 */ 0x936c,
- /* 2nd byte: 46 */ 0x52f2,
- /* 2nd byte: 47 */ 0x541b,
- /* 2nd byte: 48 */ 0x85ab,
- /* 2nd byte: 49 */ 0x8a13,
- /* 2nd byte: 50 */ 0x7fa4,
- /* 2nd byte: 51 */ 0x8ecd,
- /* 2nd byte: 52 */ 0x90e1,
- /* 2nd byte: 53 */ 0x5366,
- /* 2nd byte: 54 */ 0x8888,
- /* 2nd byte: 55 */ 0x7941,
- /* 2nd byte: 56 */ 0x4fc2,
- /* 2nd byte: 57 */ 0x50be,
- /* 2nd byte: 58 */ 0x5211,
- /* 2nd byte: 59 */ 0x5144,
- /* 2nd byte: 60 */ 0x5553,
- /* 2nd byte: 61 */ 0x572d,
- /* 2nd byte: 62 */ 0x73ea,
- /* 2nd byte: 63 */ 0x578b,
- /* 2nd byte: 64 */ 0x5951,
- /* 2nd byte: 65 */ 0x5f62,
- /* 2nd byte: 66 */ 0x5f84,
- /* 2nd byte: 67 */ 0x6075,
- /* 2nd byte: 68 */ 0x6176,
- /* 2nd byte: 69 */ 0x6167,
- /* 2nd byte: 70 */ 0x61a9,
- /* 2nd byte: 71 */ 0x63b2,
- /* 2nd byte: 72 */ 0x643a,
- /* 2nd byte: 73 */ 0x656c,
- /* 2nd byte: 74 */ 0x666f,
- /* 2nd byte: 75 */ 0x6842,
- /* 2nd byte: 76 */ 0x6e13,
- /* 2nd byte: 77 */ 0x7566,
- /* 2nd byte: 78 */ 0x7a3d,
- /* 2nd byte: 79 */ 0x7cfb,
- /* 2nd byte: 80 */ 0x7d4c,
- /* 2nd byte: 81 */ 0x7d99,
- /* 2nd byte: 82 */ 0x7e4b,
- /* 2nd byte: 83 */ 0x7f6b,
- /* 2nd byte: 84 */ 0x830e,
- /* 2nd byte: 85 */ 0x834a,
- /* 2nd byte: 86 */ 0x86cd,
- /* 2nd byte: 87 */ 0x8a08,
- /* 2nd byte: 88 */ 0x8a63,
- /* 2nd byte: 89 */ 0x8b66,
- /* 2nd byte: 90 */ 0x8efd,
- /* 2nd byte: 91 */ 0x981a,
- /* 2nd byte: 92 */ 0x9d8f,
- /* 2nd byte: 93 */ 0x82b8,
- /* 2nd byte: 94 */ 0x8fce,
- /* 2nd byte: 95 */ 0x9be8,
- /* 2nd byte: 96 */ 0x5287,
- /* 2nd byte: 97 */ 0x621f,
- /* 2nd byte: 98 */ 0x6483,
- /* 2nd byte: 99 */ 0x6fc0,
- /* 2nd byte: 100 */ 0x9699,
- /* 2nd byte: 101 */ 0x6841,
- /* 2nd byte: 102 */ 0x5091,
- /* 2nd byte: 103 */ 0x6b20,
- /* 2nd byte: 104 */ 0x6c7a,
- /* 2nd byte: 105 */ 0x6f54,
- /* 2nd byte: 106 */ 0x7a74,
- /* 2nd byte: 107 */ 0x7d50,
- /* 2nd byte: 108 */ 0x8840,
- /* 2nd byte: 109 */ 0x8a23,
- /* 2nd byte: 110 */ 0x6708,
- /* 2nd byte: 111 */ 0x4ef6,
- /* 2nd byte: 112 */ 0x5039,
- /* 2nd byte: 113 */ 0x5026,
- /* 2nd byte: 114 */ 0x5065,
- /* 2nd byte: 115 */ 0x517c,
- /* 2nd byte: 116 */ 0x5238,
- /* 2nd byte: 117 */ 0x5263,
- /* 2nd byte: 118 */ 0x55a7,
- /* 2nd byte: 119 */ 0x570f,
- /* 2nd byte: 120 */ 0x5805,
- /* 2nd byte: 121 */ 0x5acc,
- /* 2nd byte: 122 */ 0x5efa,
- /* 2nd byte: 123 */ 0x61b2,
- /* 2nd byte: 124 */ 0x61f8,
- /* 2nd byte: 125 */ 0x62f3,
- /* 2nd byte: 126 */ 0x6372},
-/* 1st byte: 56 */ {
- /* 2nd byte: 33 */ 0x691c,
- /* 2nd byte: 34 */ 0x6a29,
- /* 2nd byte: 35 */ 0x727d,
- /* 2nd byte: 36 */ 0x72ac,
- /* 2nd byte: 37 */ 0x732e,
- /* 2nd byte: 38 */ 0x7814,
- /* 2nd byte: 39 */ 0x786f,
- /* 2nd byte: 40 */ 0x7d79,
- /* 2nd byte: 41 */ 0x770c,
- /* 2nd byte: 42 */ 0x80a9,
- /* 2nd byte: 43 */ 0x898b,
- /* 2nd byte: 44 */ 0x8b19,
- /* 2nd byte: 45 */ 0x8ce2,
- /* 2nd byte: 46 */ 0x8ed2,
- /* 2nd byte: 47 */ 0x9063,
- /* 2nd byte: 48 */ 0x9375,
- /* 2nd byte: 49 */ 0x967a,
- /* 2nd byte: 50 */ 0x9855,
- /* 2nd byte: 51 */ 0x9a13,
- /* 2nd byte: 52 */ 0x9e78,
- /* 2nd byte: 53 */ 0x5143,
- /* 2nd byte: 54 */ 0x539f,
- /* 2nd byte: 55 */ 0x53b3,
- /* 2nd byte: 56 */ 0x5e7b,
- /* 2nd byte: 57 */ 0x5f26,
- /* 2nd byte: 58 */ 0x6e1b,
- /* 2nd byte: 59 */ 0x6e90,
- /* 2nd byte: 60 */ 0x7384,
- /* 2nd byte: 61 */ 0x73fe,
- /* 2nd byte: 62 */ 0x7d43,
- /* 2nd byte: 63 */ 0x8237,
- /* 2nd byte: 64 */ 0x8a00,
- /* 2nd byte: 65 */ 0x8afa,
- /* 2nd byte: 66 */ 0x9650,
- /* 2nd byte: 67 */ 0x4e4e,
- /* 2nd byte: 68 */ 0x500b,
- /* 2nd byte: 69 */ 0x53e4,
- /* 2nd byte: 70 */ 0x547c,
- /* 2nd byte: 71 */ 0x56fa,
- /* 2nd byte: 72 */ 0x59d1,
- /* 2nd byte: 73 */ 0x5b64,
- /* 2nd byte: 74 */ 0x5df1,
- /* 2nd byte: 75 */ 0x5eab,
- /* 2nd byte: 76 */ 0x5f27,
- /* 2nd byte: 77 */ 0x6238,
- /* 2nd byte: 78 */ 0x6545,
- /* 2nd byte: 79 */ 0x67af,
- /* 2nd byte: 80 */ 0x6e56,
- /* 2nd byte: 81 */ 0x72d0,
- /* 2nd byte: 82 */ 0x7cca,
- /* 2nd byte: 83 */ 0x88b4,
- /* 2nd byte: 84 */ 0x80a1,
- /* 2nd byte: 85 */ 0x80e1,
- /* 2nd byte: 86 */ 0x83f0,
- /* 2nd byte: 87 */ 0x864e,
- /* 2nd byte: 88 */ 0x8a87,
- /* 2nd byte: 89 */ 0x8de8,
- /* 2nd byte: 90 */ 0x9237,
- /* 2nd byte: 91 */ 0x96c7,
- /* 2nd byte: 92 */ 0x9867,
- /* 2nd byte: 93 */ 0x9f13,
- /* 2nd byte: 94 */ 0x4e94,
- /* 2nd byte: 95 */ 0x4e92,
- /* 2nd byte: 96 */ 0x4f0d,
- /* 2nd byte: 97 */ 0x5348,
- /* 2nd byte: 98 */ 0x5449,
- /* 2nd byte: 99 */ 0x543e,
- /* 2nd byte: 100 */ 0x5a2f,
- /* 2nd byte: 101 */ 0x5f8c,
- /* 2nd byte: 102 */ 0x5fa1,
- /* 2nd byte: 103 */ 0x609f,
- /* 2nd byte: 104 */ 0x68a7,
- /* 2nd byte: 105 */ 0x6a8e,
- /* 2nd byte: 106 */ 0x745a,
- /* 2nd byte: 107 */ 0x7881,
- /* 2nd byte: 108 */ 0x8a9e,
- /* 2nd byte: 109 */ 0x8aa4,
- /* 2nd byte: 110 */ 0x8b77,
- /* 2nd byte: 111 */ 0x9190,
- /* 2nd byte: 112 */ 0x4e5e,
- /* 2nd byte: 113 */ 0x9bc9,
- /* 2nd byte: 114 */ 0x4ea4,
- /* 2nd byte: 115 */ 0x4f7c,
- /* 2nd byte: 116 */ 0x4faf,
- /* 2nd byte: 117 */ 0x5019,
- /* 2nd byte: 118 */ 0x5016,
- /* 2nd byte: 119 */ 0x5149,
- /* 2nd byte: 120 */ 0x516c,
- /* 2nd byte: 121 */ 0x529f,
- /* 2nd byte: 122 */ 0x52b9,
- /* 2nd byte: 123 */ 0x52fe,
- /* 2nd byte: 124 */ 0x539a,
- /* 2nd byte: 125 */ 0x53e3,
- /* 2nd byte: 126 */ 0x5411},
-/* 1st byte: 57 */ {
- /* 2nd byte: 33 */ 0x540e,
- /* 2nd byte: 34 */ 0x5589,
- /* 2nd byte: 35 */ 0x5751,
- /* 2nd byte: 36 */ 0x57a2,
- /* 2nd byte: 37 */ 0x597d,
- /* 2nd byte: 38 */ 0x5b54,
- /* 2nd byte: 39 */ 0x5b5d,
- /* 2nd byte: 40 */ 0x5b8f,
- /* 2nd byte: 41 */ 0x5de5,
- /* 2nd byte: 42 */ 0x5de7,
- /* 2nd byte: 43 */ 0x5df7,
- /* 2nd byte: 44 */ 0x5e78,
- /* 2nd byte: 45 */ 0x5e83,
- /* 2nd byte: 46 */ 0x5e9a,
- /* 2nd byte: 47 */ 0x5eb7,
- /* 2nd byte: 48 */ 0x5f18,
- /* 2nd byte: 49 */ 0x6052,
- /* 2nd byte: 50 */ 0x614c,
- /* 2nd byte: 51 */ 0x6297,
- /* 2nd byte: 52 */ 0x62d8,
- /* 2nd byte: 53 */ 0x63a7,
- /* 2nd byte: 54 */ 0x653b,
- /* 2nd byte: 55 */ 0x6602,
- /* 2nd byte: 56 */ 0x6643,
- /* 2nd byte: 57 */ 0x66f4,
- /* 2nd byte: 58 */ 0x676d,
- /* 2nd byte: 59 */ 0x6821,
- /* 2nd byte: 60 */ 0x6897,
- /* 2nd byte: 61 */ 0x69cb,
- /* 2nd byte: 62 */ 0x6c5f,
- /* 2nd byte: 63 */ 0x6d2a,
- /* 2nd byte: 64 */ 0x6d69,
- /* 2nd byte: 65 */ 0x6e2f,
- /* 2nd byte: 66 */ 0x6e9d,
- /* 2nd byte: 67 */ 0x7532,
- /* 2nd byte: 68 */ 0x7687,
- /* 2nd byte: 69 */ 0x786c,
- /* 2nd byte: 70 */ 0x7a3f,
- /* 2nd byte: 71 */ 0x7ce0,
- /* 2nd byte: 72 */ 0x7d05,
- /* 2nd byte: 73 */ 0x7d18,
- /* 2nd byte: 74 */ 0x7d5e,
- /* 2nd byte: 75 */ 0x7db1,
- /* 2nd byte: 76 */ 0x8015,
- /* 2nd byte: 77 */ 0x8003,
- /* 2nd byte: 78 */ 0x80af,
- /* 2nd byte: 79 */ 0x80b1,
- /* 2nd byte: 80 */ 0x8154,
- /* 2nd byte: 81 */ 0x818f,
- /* 2nd byte: 82 */ 0x822a,
- /* 2nd byte: 83 */ 0x8352,
- /* 2nd byte: 84 */ 0x884c,
- /* 2nd byte: 85 */ 0x8861,
- /* 2nd byte: 86 */ 0x8b1b,
- /* 2nd byte: 87 */ 0x8ca2,
- /* 2nd byte: 88 */ 0x8cfc,
- /* 2nd byte: 89 */ 0x90ca,
- /* 2nd byte: 90 */ 0x9175,
- /* 2nd byte: 91 */ 0x9271,
- /* 2nd byte: 92 */ 0x783f,
- /* 2nd byte: 93 */ 0x92fc,
- /* 2nd byte: 94 */ 0x95a4,
- /* 2nd byte: 95 */ 0x964d,
- /* 2nd byte: 96 */ 0x9805,
- /* 2nd byte: 97 */ 0x9999,
- /* 2nd byte: 98 */ 0x9ad8,
- /* 2nd byte: 99 */ 0x9d3b,
- /* 2nd byte: 100 */ 0x525b,
- /* 2nd byte: 101 */ 0x52ab,
- /* 2nd byte: 102 */ 0x53f7,
- /* 2nd byte: 103 */ 0x5408,
- /* 2nd byte: 104 */ 0x58d5,
- /* 2nd byte: 105 */ 0x62f7,
- /* 2nd byte: 106 */ 0x6fe0,
- /* 2nd byte: 107 */ 0x8c6a,
- /* 2nd byte: 108 */ 0x8f5f,
- /* 2nd byte: 109 */ 0x9eb9,
- /* 2nd byte: 110 */ 0x514b,
- /* 2nd byte: 111 */ 0x523b,
- /* 2nd byte: 112 */ 0x544a,
- /* 2nd byte: 113 */ 0x56fd,
- /* 2nd byte: 114 */ 0x7a40,
- /* 2nd byte: 115 */ 0x9177,
- /* 2nd byte: 116 */ 0x9d60,
- /* 2nd byte: 117 */ 0x9ed2,
- /* 2nd byte: 118 */ 0x7344,
- /* 2nd byte: 119 */ 0x6f09,
- /* 2nd byte: 120 */ 0x8170,
- /* 2nd byte: 121 */ 0x7511,
- /* 2nd byte: 122 */ 0x5ffd,
- /* 2nd byte: 123 */ 0x60da,
- /* 2nd byte: 124 */ 0x9aa8,
- /* 2nd byte: 125 */ 0x72db,
- /* 2nd byte: 126 */ 0x8fbc},
-/* 1st byte: 58 */ {
- /* 2nd byte: 33 */ 0x6b64,
- /* 2nd byte: 34 */ 0x9803,
- /* 2nd byte: 35 */ 0x4eca,
- /* 2nd byte: 36 */ 0x56f0,
- /* 2nd byte: 37 */ 0x5764,
- /* 2nd byte: 38 */ 0x58be,
- /* 2nd byte: 39 */ 0x5a5a,
- /* 2nd byte: 40 */ 0x6068,
- /* 2nd byte: 41 */ 0x61c7,
- /* 2nd byte: 42 */ 0x660f,
- /* 2nd byte: 43 */ 0x6606,
- /* 2nd byte: 44 */ 0x6839,
- /* 2nd byte: 45 */ 0x68b1,
- /* 2nd byte: 46 */ 0x6df7,
- /* 2nd byte: 47 */ 0x75d5,
- /* 2nd byte: 48 */ 0x7d3a,
- /* 2nd byte: 49 */ 0x826e,
- /* 2nd byte: 50 */ 0x9b42,
- /* 2nd byte: 51 */ 0x4e9b,
- /* 2nd byte: 52 */ 0x4f50,
- /* 2nd byte: 53 */ 0x53c9,
- /* 2nd byte: 54 */ 0x5506,
- /* 2nd byte: 55 */ 0x5d6f,
- /* 2nd byte: 56 */ 0x5de6,
- /* 2nd byte: 57 */ 0x5dee,
- /* 2nd byte: 58 */ 0x67fb,
- /* 2nd byte: 59 */ 0x6c99,
- /* 2nd byte: 60 */ 0x7473,
- /* 2nd byte: 61 */ 0x7802,
- /* 2nd byte: 62 */ 0x8a50,
- /* 2nd byte: 63 */ 0x9396,
- /* 2nd byte: 64 */ 0x88df,
- /* 2nd byte: 65 */ 0x5750,
- /* 2nd byte: 66 */ 0x5ea7,
- /* 2nd byte: 67 */ 0x632b,
- /* 2nd byte: 68 */ 0x50b5,
- /* 2nd byte: 69 */ 0x50ac,
- /* 2nd byte: 70 */ 0x518d,
- /* 2nd byte: 71 */ 0x6700,
- /* 2nd byte: 72 */ 0x54c9,
- /* 2nd byte: 73 */ 0x585e,
- /* 2nd byte: 74 */ 0x59bb,
- /* 2nd byte: 75 */ 0x5bb0,
- /* 2nd byte: 76 */ 0x5f69,
- /* 2nd byte: 77 */ 0x624d,
- /* 2nd byte: 78 */ 0x63a1,
- /* 2nd byte: 79 */ 0x683d,
- /* 2nd byte: 80 */ 0x6b73,
- /* 2nd byte: 81 */ 0x6e08,
- /* 2nd byte: 82 */ 0x707d,
- /* 2nd byte: 83 */ 0x91c7,
- /* 2nd byte: 84 */ 0x7280,
- /* 2nd byte: 85 */ 0x7815,
- /* 2nd byte: 86 */ 0x7826,
- /* 2nd byte: 87 */ 0x796d,
- /* 2nd byte: 88 */ 0x658e,
- /* 2nd byte: 89 */ 0x7d30,
- /* 2nd byte: 90 */ 0x83dc,
- /* 2nd byte: 91 */ 0x88c1,
- /* 2nd byte: 92 */ 0x8f09,
- /* 2nd byte: 93 */ 0x969b,
- /* 2nd byte: 94 */ 0x5264,
- /* 2nd byte: 95 */ 0x5728,
- /* 2nd byte: 96 */ 0x6750,
- /* 2nd byte: 97 */ 0x7f6a,
- /* 2nd byte: 98 */ 0x8ca1,
- /* 2nd byte: 99 */ 0x51b4,
- /* 2nd byte: 100 */ 0x5742,
- /* 2nd byte: 101 */ 0x962a,
- /* 2nd byte: 102 */ 0x583a,
- /* 2nd byte: 103 */ 0x698a,
- /* 2nd byte: 104 */ 0x80b4,
- /* 2nd byte: 105 */ 0x54b2,
- /* 2nd byte: 106 */ 0x5d0e,
- /* 2nd byte: 107 */ 0x57fc,
- /* 2nd byte: 108 */ 0x7895,
- /* 2nd byte: 109 */ 0x9dfa,
- /* 2nd byte: 110 */ 0x4f5c,
- /* 2nd byte: 111 */ 0x524a,
- /* 2nd byte: 112 */ 0x548b,
- /* 2nd byte: 113 */ 0x643e,
- /* 2nd byte: 114 */ 0x6628,
- /* 2nd byte: 115 */ 0x6714,
- /* 2nd byte: 116 */ 0x67f5,
- /* 2nd byte: 117 */ 0x7a84,
- /* 2nd byte: 118 */ 0x7b56,
- /* 2nd byte: 119 */ 0x7d22,
- /* 2nd byte: 120 */ 0x932f,
- /* 2nd byte: 121 */ 0x685c,
- /* 2nd byte: 122 */ 0x9bad,
- /* 2nd byte: 123 */ 0x7b39,
- /* 2nd byte: 124 */ 0x5319,
- /* 2nd byte: 125 */ 0x518a,
- /* 2nd byte: 126 */ 0x5237},
-/* 1st byte: 59 */ {
- /* 2nd byte: 33 */ 0x5bdf,
- /* 2nd byte: 34 */ 0x62f6,
- /* 2nd byte: 35 */ 0x64ae,
- /* 2nd byte: 36 */ 0x64e6,
- /* 2nd byte: 37 */ 0x672d,
- /* 2nd byte: 38 */ 0x6bba,
- /* 2nd byte: 39 */ 0x85a9,
- /* 2nd byte: 40 */ 0x96d1,
- /* 2nd byte: 41 */ 0x7690,
- /* 2nd byte: 42 */ 0x9bd6,
- /* 2nd byte: 43 */ 0x634c,
- /* 2nd byte: 44 */ 0x9306,
- /* 2nd byte: 45 */ 0x9bab,
- /* 2nd byte: 46 */ 0x76bf,
- /* 2nd byte: 47 */ 0x6652,
- /* 2nd byte: 48 */ 0x4e09,
- /* 2nd byte: 49 */ 0x5098,
- /* 2nd byte: 50 */ 0x53c2,
- /* 2nd byte: 51 */ 0x5c71,
- /* 2nd byte: 52 */ 0x60e8,
- /* 2nd byte: 53 */ 0x6492,
- /* 2nd byte: 54 */ 0x6563,
- /* 2nd byte: 55 */ 0x685f,
- /* 2nd byte: 56 */ 0x71e6,
- /* 2nd byte: 57 */ 0x73ca,
- /* 2nd byte: 58 */ 0x7523,
- /* 2nd byte: 59 */ 0x7b97,
- /* 2nd byte: 60 */ 0x7e82,
- /* 2nd byte: 61 */ 0x8695,
- /* 2nd byte: 62 */ 0x8b83,
- /* 2nd byte: 63 */ 0x8cdb,
- /* 2nd byte: 64 */ 0x9178,
- /* 2nd byte: 65 */ 0x9910,
- /* 2nd byte: 66 */ 0x65ac,
- /* 2nd byte: 67 */ 0x66ab,
- /* 2nd byte: 68 */ 0x6b8b,
- /* 2nd byte: 69 */ 0x4ed5,
- /* 2nd byte: 70 */ 0x4ed4,
- /* 2nd byte: 71 */ 0x4f3a,
- /* 2nd byte: 72 */ 0x4f7f,
- /* 2nd byte: 73 */ 0x523a,
- /* 2nd byte: 74 */ 0x53f8,
- /* 2nd byte: 75 */ 0x53f2,
- /* 2nd byte: 76 */ 0x55e3,
- /* 2nd byte: 77 */ 0x56db,
- /* 2nd byte: 78 */ 0x58eb,
- /* 2nd byte: 79 */ 0x59cb,
- /* 2nd byte: 80 */ 0x59c9,
- /* 2nd byte: 81 */ 0x59ff,
- /* 2nd byte: 82 */ 0x5b50,
- /* 2nd byte: 83 */ 0x5c4d,
- /* 2nd byte: 84 */ 0x5e02,
- /* 2nd byte: 85 */ 0x5e2b,
- /* 2nd byte: 86 */ 0x5fd7,
- /* 2nd byte: 87 */ 0x601d,
- /* 2nd byte: 88 */ 0x6307,
- /* 2nd byte: 89 */ 0x652f,
- /* 2nd byte: 90 */ 0x5b5c,
- /* 2nd byte: 91 */ 0x65af,
- /* 2nd byte: 92 */ 0x65bd,
- /* 2nd byte: 93 */ 0x65e8,
- /* 2nd byte: 94 */ 0x679d,
- /* 2nd byte: 95 */ 0x6b62,
- /* 2nd byte: 96 */ 0x6b7b,
- /* 2nd byte: 97 */ 0x6c0f,
- /* 2nd byte: 98 */ 0x7345,
- /* 2nd byte: 99 */ 0x7949,
- /* 2nd byte: 100 */ 0x79c1,
- /* 2nd byte: 101 */ 0x7cf8,
- /* 2nd byte: 102 */ 0x7d19,
- /* 2nd byte: 103 */ 0x7d2b,
- /* 2nd byte: 104 */ 0x80a2,
- /* 2nd byte: 105 */ 0x8102,
- /* 2nd byte: 106 */ 0x81f3,
- /* 2nd byte: 107 */ 0x8996,
- /* 2nd byte: 108 */ 0x8a5e,
- /* 2nd byte: 109 */ 0x8a69,
- /* 2nd byte: 110 */ 0x8a66,
- /* 2nd byte: 111 */ 0x8a8c,
- /* 2nd byte: 112 */ 0x8aee,
- /* 2nd byte: 113 */ 0x8cc7,
- /* 2nd byte: 114 */ 0x8cdc,
- /* 2nd byte: 115 */ 0x96cc,
- /* 2nd byte: 116 */ 0x98fc,
- /* 2nd byte: 117 */ 0x6b6f,
- /* 2nd byte: 118 */ 0x4e8b,
- /* 2nd byte: 119 */ 0x4f3c,
- /* 2nd byte: 120 */ 0x4f8d,
- /* 2nd byte: 121 */ 0x5150,
- /* 2nd byte: 122 */ 0x5b57,
- /* 2nd byte: 123 */ 0x5bfa,
- /* 2nd byte: 124 */ 0x6148,
- /* 2nd byte: 125 */ 0x6301,
- /* 2nd byte: 126 */ 0x6642},
-/* 1st byte: 60 */ {
- /* 2nd byte: 33 */ 0x6b21,
- /* 2nd byte: 34 */ 0x6ecb,
- /* 2nd byte: 35 */ 0x6cbb,
- /* 2nd byte: 36 */ 0x723e,
- /* 2nd byte: 37 */ 0x74bd,
- /* 2nd byte: 38 */ 0x75d4,
- /* 2nd byte: 39 */ 0x78c1,
- /* 2nd byte: 40 */ 0x793a,
- /* 2nd byte: 41 */ 0x800c,
- /* 2nd byte: 42 */ 0x8033,
- /* 2nd byte: 43 */ 0x81ea,
- /* 2nd byte: 44 */ 0x8494,
- /* 2nd byte: 45 */ 0x8f9e,
- /* 2nd byte: 46 */ 0x6c50,
- /* 2nd byte: 47 */ 0x9e7f,
- /* 2nd byte: 48 */ 0x5f0f,
- /* 2nd byte: 49 */ 0x8b58,
- /* 2nd byte: 50 */ 0x9d2b,
- /* 2nd byte: 51 */ 0x7afa,
- /* 2nd byte: 52 */ 0x8ef8,
- /* 2nd byte: 53 */ 0x5b8d,
- /* 2nd byte: 54 */ 0x96eb,
- /* 2nd byte: 55 */ 0x4e03,
- /* 2nd byte: 56 */ 0x53f1,
- /* 2nd byte: 57 */ 0x57f7,
- /* 2nd byte: 58 */ 0x5931,
- /* 2nd byte: 59 */ 0x5ac9,
- /* 2nd byte: 60 */ 0x5ba4,
- /* 2nd byte: 61 */ 0x6089,
- /* 2nd byte: 62 */ 0x6e7f,
- /* 2nd byte: 63 */ 0x6f06,
- /* 2nd byte: 64 */ 0x75be,
- /* 2nd byte: 65 */ 0x8cea,
- /* 2nd byte: 66 */ 0x5b9f,
- /* 2nd byte: 67 */ 0x8500,
- /* 2nd byte: 68 */ 0x7be0,
- /* 2nd byte: 69 */ 0x5072,
- /* 2nd byte: 70 */ 0x67f4,
- /* 2nd byte: 71 */ 0x829d,
- /* 2nd byte: 72 */ 0x5c61,
- /* 2nd byte: 73 */ 0x854a,
- /* 2nd byte: 74 */ 0x7e1e,
- /* 2nd byte: 75 */ 0x820e,
- /* 2nd byte: 76 */ 0x5199,
- /* 2nd byte: 77 */ 0x5c04,
- /* 2nd byte: 78 */ 0x6368,
- /* 2nd byte: 79 */ 0x8d66,
- /* 2nd byte: 80 */ 0x659c,
- /* 2nd byte: 81 */ 0x716e,
- /* 2nd byte: 82 */ 0x793e,
- /* 2nd byte: 83 */ 0x7d17,
- /* 2nd byte: 84 */ 0x8005,
- /* 2nd byte: 85 */ 0x8b1d,
- /* 2nd byte: 86 */ 0x8eca,
- /* 2nd byte: 87 */ 0x906e,
- /* 2nd byte: 88 */ 0x86c7,
- /* 2nd byte: 89 */ 0x90aa,
- /* 2nd byte: 90 */ 0x501f,
- /* 2nd byte: 91 */ 0x52fa,
- /* 2nd byte: 92 */ 0x5c3a,
- /* 2nd byte: 93 */ 0x6753,
- /* 2nd byte: 94 */ 0x707c,
- /* 2nd byte: 95 */ 0x7235,
- /* 2nd byte: 96 */ 0x914c,
- /* 2nd byte: 97 */ 0x91c8,
- /* 2nd byte: 98 */ 0x932b,
- /* 2nd byte: 99 */ 0x82e5,
- /* 2nd byte: 100 */ 0x5bc2,
- /* 2nd byte: 101 */ 0x5f31,
- /* 2nd byte: 102 */ 0x60f9,
- /* 2nd byte: 103 */ 0x4e3b,
- /* 2nd byte: 104 */ 0x53d6,
- /* 2nd byte: 105 */ 0x5b88,
- /* 2nd byte: 106 */ 0x624b,
- /* 2nd byte: 107 */ 0x6731,
- /* 2nd byte: 108 */ 0x6b8a,
- /* 2nd byte: 109 */ 0x72e9,
- /* 2nd byte: 110 */ 0x73e0,
- /* 2nd byte: 111 */ 0x7a2e,
- /* 2nd byte: 112 */ 0x816b,
- /* 2nd byte: 113 */ 0x8da3,
- /* 2nd byte: 114 */ 0x9152,
- /* 2nd byte: 115 */ 0x9996,
- /* 2nd byte: 116 */ 0x5112,
- /* 2nd byte: 117 */ 0x53d7,
- /* 2nd byte: 118 */ 0x546a,
- /* 2nd byte: 119 */ 0x5bff,
- /* 2nd byte: 120 */ 0x6388,
- /* 2nd byte: 121 */ 0x6a39,
- /* 2nd byte: 122 */ 0x7dac,
- /* 2nd byte: 123 */ 0x9700,
- /* 2nd byte: 124 */ 0x56da,
- /* 2nd byte: 125 */ 0x53ce,
- /* 2nd byte: 126 */ 0x5468},
-/* 1st byte: 61 */ {
- /* 2nd byte: 33 */ 0x5b97,
- /* 2nd byte: 34 */ 0x5c31,
- /* 2nd byte: 35 */ 0x5dde,
- /* 2nd byte: 36 */ 0x4fee,
- /* 2nd byte: 37 */ 0x6101,
- /* 2nd byte: 38 */ 0x62fe,
- /* 2nd byte: 39 */ 0x6d32,
- /* 2nd byte: 40 */ 0x79c0,
- /* 2nd byte: 41 */ 0x79cb,
- /* 2nd byte: 42 */ 0x7d42,
- /* 2nd byte: 43 */ 0x7e4d,
- /* 2nd byte: 44 */ 0x7fd2,
- /* 2nd byte: 45 */ 0x81ed,
- /* 2nd byte: 46 */ 0x821f,
- /* 2nd byte: 47 */ 0x8490,
- /* 2nd byte: 48 */ 0x8846,
- /* 2nd byte: 49 */ 0x8972,
- /* 2nd byte: 50 */ 0x8b90,
- /* 2nd byte: 51 */ 0x8e74,
- /* 2nd byte: 52 */ 0x8f2f,
- /* 2nd byte: 53 */ 0x9031,
- /* 2nd byte: 54 */ 0x914b,
- /* 2nd byte: 55 */ 0x916c,
- /* 2nd byte: 56 */ 0x96c6,
- /* 2nd byte: 57 */ 0x919c,
- /* 2nd byte: 58 */ 0x4ec0,
- /* 2nd byte: 59 */ 0x4f4f,
- /* 2nd byte: 60 */ 0x5145,
- /* 2nd byte: 61 */ 0x5341,
- /* 2nd byte: 62 */ 0x5f93,
- /* 2nd byte: 63 */ 0x620e,
- /* 2nd byte: 64 */ 0x67d4,
- /* 2nd byte: 65 */ 0x6c41,
- /* 2nd byte: 66 */ 0x6e0b,
- /* 2nd byte: 67 */ 0x7363,
- /* 2nd byte: 68 */ 0x7e26,
- /* 2nd byte: 69 */ 0x91cd,
- /* 2nd byte: 70 */ 0x9283,
- /* 2nd byte: 71 */ 0x53d4,
- /* 2nd byte: 72 */ 0x5919,
- /* 2nd byte: 73 */ 0x5bbf,
- /* 2nd byte: 74 */ 0x6dd1,
- /* 2nd byte: 75 */ 0x795d,
- /* 2nd byte: 76 */ 0x7e2e,
- /* 2nd byte: 77 */ 0x7c9b,
- /* 2nd byte: 78 */ 0x587e,
- /* 2nd byte: 79 */ 0x719f,
- /* 2nd byte: 80 */ 0x51fa,
- /* 2nd byte: 81 */ 0x8853,
- /* 2nd byte: 82 */ 0x8ff0,
- /* 2nd byte: 83 */ 0x4fca,
- /* 2nd byte: 84 */ 0x5cfb,
- /* 2nd byte: 85 */ 0x6625,
- /* 2nd byte: 86 */ 0x77ac,
- /* 2nd byte: 87 */ 0x7ae3,
- /* 2nd byte: 88 */ 0x821c,
- /* 2nd byte: 89 */ 0x99ff,
- /* 2nd byte: 90 */ 0x51c6,
- /* 2nd byte: 91 */ 0x5faa,
- /* 2nd byte: 92 */ 0x65ec,
- /* 2nd byte: 93 */ 0x696f,
- /* 2nd byte: 94 */ 0x6b89,
- /* 2nd byte: 95 */ 0x6df3,
- /* 2nd byte: 96 */ 0x6e96,
- /* 2nd byte: 97 */ 0x6f64,
- /* 2nd byte: 98 */ 0x76fe,
- /* 2nd byte: 99 */ 0x7d14,
- /* 2nd byte: 100 */ 0x5de1,
- /* 2nd byte: 101 */ 0x9075,
- /* 2nd byte: 102 */ 0x9187,
- /* 2nd byte: 103 */ 0x9806,
- /* 2nd byte: 104 */ 0x51e6,
- /* 2nd byte: 105 */ 0x521d,
- /* 2nd byte: 106 */ 0x6240,
- /* 2nd byte: 107 */ 0x6691,
- /* 2nd byte: 108 */ 0x66d9,
- /* 2nd byte: 109 */ 0x6e1a,
- /* 2nd byte: 110 */ 0x5eb6,
- /* 2nd byte: 111 */ 0x7dd2,
- /* 2nd byte: 112 */ 0x7f72,
- /* 2nd byte: 113 */ 0x66f8,
- /* 2nd byte: 114 */ 0x85af,
- /* 2nd byte: 115 */ 0x85f7,
- /* 2nd byte: 116 */ 0x8af8,
- /* 2nd byte: 117 */ 0x52a9,
- /* 2nd byte: 118 */ 0x53d9,
- /* 2nd byte: 119 */ 0x5973,
- /* 2nd byte: 120 */ 0x5e8f,
- /* 2nd byte: 121 */ 0x5f90,
- /* 2nd byte: 122 */ 0x6055,
- /* 2nd byte: 123 */ 0x92e4,
- /* 2nd byte: 124 */ 0x9664,
- /* 2nd byte: 125 */ 0x50b7,
- /* 2nd byte: 126 */ 0x511f},
-/* 1st byte: 62 */ {
- /* 2nd byte: 33 */ 0x52dd,
- /* 2nd byte: 34 */ 0x5320,
- /* 2nd byte: 35 */ 0x5347,
- /* 2nd byte: 36 */ 0x53ec,
- /* 2nd byte: 37 */ 0x54e8,
- /* 2nd byte: 38 */ 0x5546,
- /* 2nd byte: 39 */ 0x5531,
- /* 2nd byte: 40 */ 0x5617,
- /* 2nd byte: 41 */ 0x5968,
- /* 2nd byte: 42 */ 0x59be,
- /* 2nd byte: 43 */ 0x5a3c,
- /* 2nd byte: 44 */ 0x5bb5,
- /* 2nd byte: 45 */ 0x5c06,
- /* 2nd byte: 46 */ 0x5c0f,
- /* 2nd byte: 47 */ 0x5c11,
- /* 2nd byte: 48 */ 0x5c1a,
- /* 2nd byte: 49 */ 0x5e84,
- /* 2nd byte: 50 */ 0x5e8a,
- /* 2nd byte: 51 */ 0x5ee0,
- /* 2nd byte: 52 */ 0x5f70,
- /* 2nd byte: 53 */ 0x627f,
- /* 2nd byte: 54 */ 0x6284,
- /* 2nd byte: 55 */ 0x62db,
- /* 2nd byte: 56 */ 0x638c,
- /* 2nd byte: 57 */ 0x6377,
- /* 2nd byte: 58 */ 0x6607,
- /* 2nd byte: 59 */ 0x660c,
- /* 2nd byte: 60 */ 0x662d,
- /* 2nd byte: 61 */ 0x6676,
- /* 2nd byte: 62 */ 0x677e,
- /* 2nd byte: 63 */ 0x68a2,
- /* 2nd byte: 64 */ 0x6a1f,
- /* 2nd byte: 65 */ 0x6a35,
- /* 2nd byte: 66 */ 0x6cbc,
- /* 2nd byte: 67 */ 0x6d88,
- /* 2nd byte: 68 */ 0x6e09,
- /* 2nd byte: 69 */ 0x6e58,
- /* 2nd byte: 70 */ 0x713c,
- /* 2nd byte: 71 */ 0x7126,
- /* 2nd byte: 72 */ 0x7167,
- /* 2nd byte: 73 */ 0x75c7,
- /* 2nd byte: 74 */ 0x7701,
- /* 2nd byte: 75 */ 0x785d,
- /* 2nd byte: 76 */ 0x7901,
- /* 2nd byte: 77 */ 0x7965,
- /* 2nd byte: 78 */ 0x79f0,
- /* 2nd byte: 79 */ 0x7ae0,
- /* 2nd byte: 80 */ 0x7b11,
- /* 2nd byte: 81 */ 0x7ca7,
- /* 2nd byte: 82 */ 0x7d39,
- /* 2nd byte: 83 */ 0x8096,
- /* 2nd byte: 84 */ 0x83d6,
- /* 2nd byte: 85 */ 0x848b,
- /* 2nd byte: 86 */ 0x8549,
- /* 2nd byte: 87 */ 0x885d,
- /* 2nd byte: 88 */ 0x88f3,
- /* 2nd byte: 89 */ 0x8a1f,
- /* 2nd byte: 90 */ 0x8a3c,
- /* 2nd byte: 91 */ 0x8a54,
- /* 2nd byte: 92 */ 0x8a73,
- /* 2nd byte: 93 */ 0x8c61,
- /* 2nd byte: 94 */ 0x8cde,
- /* 2nd byte: 95 */ 0x91a4,
- /* 2nd byte: 96 */ 0x9266,
- /* 2nd byte: 97 */ 0x937e,
- /* 2nd byte: 98 */ 0x9418,
- /* 2nd byte: 99 */ 0x969c,
- /* 2nd byte: 100 */ 0x9798,
- /* 2nd byte: 101 */ 0x4e0a,
- /* 2nd byte: 102 */ 0x4e08,
- /* 2nd byte: 103 */ 0x4e1e,
- /* 2nd byte: 104 */ 0x4e57,
- /* 2nd byte: 105 */ 0x5197,
- /* 2nd byte: 106 */ 0x5270,
- /* 2nd byte: 107 */ 0x57ce,
- /* 2nd byte: 108 */ 0x5834,
- /* 2nd byte: 109 */ 0x58cc,
- /* 2nd byte: 110 */ 0x5b22,
- /* 2nd byte: 111 */ 0x5e38,
- /* 2nd byte: 112 */ 0x60c5,
- /* 2nd byte: 113 */ 0x64fe,
- /* 2nd byte: 114 */ 0x6761,
- /* 2nd byte: 115 */ 0x6756,
- /* 2nd byte: 116 */ 0x6d44,
- /* 2nd byte: 117 */ 0x72b6,
- /* 2nd byte: 118 */ 0x7573,
- /* 2nd byte: 119 */ 0x7a63,
- /* 2nd byte: 120 */ 0x84b8,
- /* 2nd byte: 121 */ 0x8b72,
- /* 2nd byte: 122 */ 0x91b8,
- /* 2nd byte: 123 */ 0x9320,
- /* 2nd byte: 124 */ 0x5631,
- /* 2nd byte: 125 */ 0x57f4,
- /* 2nd byte: 126 */ 0x98fe},
-/* 1st byte: 63 */ {
- /* 2nd byte: 33 */ 0x62ed,
- /* 2nd byte: 34 */ 0x690d,
- /* 2nd byte: 35 */ 0x6b96,
- /* 2nd byte: 36 */ 0x71ed,
- /* 2nd byte: 37 */ 0x7e54,
- /* 2nd byte: 38 */ 0x8077,
- /* 2nd byte: 39 */ 0x8272,
- /* 2nd byte: 40 */ 0x89e6,
- /* 2nd byte: 41 */ 0x98df,
- /* 2nd byte: 42 */ 0x8755,
- /* 2nd byte: 43 */ 0x8fb1,
- /* 2nd byte: 44 */ 0x5c3b,
- /* 2nd byte: 45 */ 0x4f38,
- /* 2nd byte: 46 */ 0x4fe1,
- /* 2nd byte: 47 */ 0x4fb5,
- /* 2nd byte: 48 */ 0x5507,
- /* 2nd byte: 49 */ 0x5a20,
- /* 2nd byte: 50 */ 0x5bdd,
- /* 2nd byte: 51 */ 0x5be9,
- /* 2nd byte: 52 */ 0x5fc3,
- /* 2nd byte: 53 */ 0x614e,
- /* 2nd byte: 54 */ 0x632f,
- /* 2nd byte: 55 */ 0x65b0,
- /* 2nd byte: 56 */ 0x664b,
- /* 2nd byte: 57 */ 0x68ee,
- /* 2nd byte: 58 */ 0x699b,
- /* 2nd byte: 59 */ 0x6d78,
- /* 2nd byte: 60 */ 0x6df1,
- /* 2nd byte: 61 */ 0x7533,
- /* 2nd byte: 62 */ 0x75b9,
- /* 2nd byte: 63 */ 0x771f,
- /* 2nd byte: 64 */ 0x795e,
- /* 2nd byte: 65 */ 0x79e6,
- /* 2nd byte: 66 */ 0x7d33,
- /* 2nd byte: 67 */ 0x81e3,
- /* 2nd byte: 68 */ 0x82af,
- /* 2nd byte: 69 */ 0x85aa,
- /* 2nd byte: 70 */ 0x89aa,
- /* 2nd byte: 71 */ 0x8a3a,
- /* 2nd byte: 72 */ 0x8eab,
- /* 2nd byte: 73 */ 0x8f9b,
- /* 2nd byte: 74 */ 0x9032,
- /* 2nd byte: 75 */ 0x91dd,
- /* 2nd byte: 76 */ 0x9707,
- /* 2nd byte: 77 */ 0x4eba,
- /* 2nd byte: 78 */ 0x4ec1,
- /* 2nd byte: 79 */ 0x5203,
- /* 2nd byte: 80 */ 0x5875,
- /* 2nd byte: 81 */ 0x58ec,
- /* 2nd byte: 82 */ 0x5c0b,
- /* 2nd byte: 83 */ 0x751a,
- /* 2nd byte: 84 */ 0x5c3d,
- /* 2nd byte: 85 */ 0x814e,
- /* 2nd byte: 86 */ 0x8a0a,
- /* 2nd byte: 87 */ 0x8fc5,
- /* 2nd byte: 88 */ 0x9663,
- /* 2nd byte: 89 */ 0x976d,
- /* 2nd byte: 90 */ 0x7b25,
- /* 2nd byte: 91 */ 0x8acf,
- /* 2nd byte: 92 */ 0x9808,
- /* 2nd byte: 93 */ 0x9162,
- /* 2nd byte: 94 */ 0x56f3,
- /* 2nd byte: 95 */ 0x53a8,
- /* 2nd byte: 96 */ 0x9017,
- /* 2nd byte: 97 */ 0x5439,
- /* 2nd byte: 98 */ 0x5782,
- /* 2nd byte: 99 */ 0x5e25,
- /* 2nd byte: 100 */ 0x63a8,
- /* 2nd byte: 101 */ 0x6c34,
- /* 2nd byte: 102 */ 0x708a,
- /* 2nd byte: 103 */ 0x7761,
- /* 2nd byte: 104 */ 0x7c8b,
- /* 2nd byte: 105 */ 0x7fe0,
- /* 2nd byte: 106 */ 0x8870,
- /* 2nd byte: 107 */ 0x9042,
- /* 2nd byte: 108 */ 0x9154,
- /* 2nd byte: 109 */ 0x9310,
- /* 2nd byte: 110 */ 0x9318,
- /* 2nd byte: 111 */ 0x968f,
- /* 2nd byte: 112 */ 0x745e,
- /* 2nd byte: 113 */ 0x9ac4,
- /* 2nd byte: 114 */ 0x5d07,
- /* 2nd byte: 115 */ 0x5d69,
- /* 2nd byte: 116 */ 0x6570,
- /* 2nd byte: 117 */ 0x67a2,
- /* 2nd byte: 118 */ 0x8da8,
- /* 2nd byte: 119 */ 0x96db,
- /* 2nd byte: 120 */ 0x636e,
- /* 2nd byte: 121 */ 0x6749,
- /* 2nd byte: 122 */ 0x6919,
- /* 2nd byte: 123 */ 0x83c5,
- /* 2nd byte: 124 */ 0x9817,
- /* 2nd byte: 125 */ 0x96c0,
- /* 2nd byte: 126 */ 0x88fe},
-/* 1st byte: 64 */ {
- /* 2nd byte: 33 */ 0x6f84,
- /* 2nd byte: 34 */ 0x647a,
- /* 2nd byte: 35 */ 0x5bf8,
- /* 2nd byte: 36 */ 0x4e16,
- /* 2nd byte: 37 */ 0x702c,
- /* 2nd byte: 38 */ 0x755d,
- /* 2nd byte: 39 */ 0x662f,
- /* 2nd byte: 40 */ 0x51c4,
- /* 2nd byte: 41 */ 0x5236,
- /* 2nd byte: 42 */ 0x52e2,
- /* 2nd byte: 43 */ 0x59d3,
- /* 2nd byte: 44 */ 0x5f81,
- /* 2nd byte: 45 */ 0x6027,
- /* 2nd byte: 46 */ 0x6210,
- /* 2nd byte: 47 */ 0x653f,
- /* 2nd byte: 48 */ 0x6574,
- /* 2nd byte: 49 */ 0x661f,
- /* 2nd byte: 50 */ 0x6674,
- /* 2nd byte: 51 */ 0x68f2,
- /* 2nd byte: 52 */ 0x6816,
- /* 2nd byte: 53 */ 0x6b63,
- /* 2nd byte: 54 */ 0x6e05,
- /* 2nd byte: 55 */ 0x7272,
- /* 2nd byte: 56 */ 0x751f,
- /* 2nd byte: 57 */ 0x76db,
- /* 2nd byte: 58 */ 0x7cbe,
- /* 2nd byte: 59 */ 0x8056,
- /* 2nd byte: 60 */ 0x58f0,
- /* 2nd byte: 61 */ 0x88fd,
- /* 2nd byte: 62 */ 0x897f,
- /* 2nd byte: 63 */ 0x8aa0,
- /* 2nd byte: 64 */ 0x8a93,
- /* 2nd byte: 65 */ 0x8acb,
- /* 2nd byte: 66 */ 0x901d,
- /* 2nd byte: 67 */ 0x9192,
- /* 2nd byte: 68 */ 0x9752,
- /* 2nd byte: 69 */ 0x9759,
- /* 2nd byte: 70 */ 0x6589,
- /* 2nd byte: 71 */ 0x7a0e,
- /* 2nd byte: 72 */ 0x8106,
- /* 2nd byte: 73 */ 0x96bb,
- /* 2nd byte: 74 */ 0x5e2d,
- /* 2nd byte: 75 */ 0x60dc,
- /* 2nd byte: 76 */ 0x621a,
- /* 2nd byte: 77 */ 0x65a5,
- /* 2nd byte: 78 */ 0x6614,
- /* 2nd byte: 79 */ 0x6790,
- /* 2nd byte: 80 */ 0x77f3,
- /* 2nd byte: 81 */ 0x7a4d,
- /* 2nd byte: 82 */ 0x7c4d,
- /* 2nd byte: 83 */ 0x7e3e,
- /* 2nd byte: 84 */ 0x810a,
- /* 2nd byte: 85 */ 0x8cac,
- /* 2nd byte: 86 */ 0x8d64,
- /* 2nd byte: 87 */ 0x8de1,
- /* 2nd byte: 88 */ 0x8e5f,
- /* 2nd byte: 89 */ 0x78a9,
- /* 2nd byte: 90 */ 0x5207,
- /* 2nd byte: 91 */ 0x62d9,
- /* 2nd byte: 92 */ 0x63a5,
- /* 2nd byte: 93 */ 0x6442,
- /* 2nd byte: 94 */ 0x6298,
- /* 2nd byte: 95 */ 0x8a2d,
- /* 2nd byte: 96 */ 0x7a83,
- /* 2nd byte: 97 */ 0x7bc0,
- /* 2nd byte: 98 */ 0x8aac,
- /* 2nd byte: 99 */ 0x96ea,
- /* 2nd byte: 100 */ 0x7d76,
- /* 2nd byte: 101 */ 0x820c,
- /* 2nd byte: 102 */ 0x8749,
- /* 2nd byte: 103 */ 0x4ed9,
- /* 2nd byte: 104 */ 0x5148,
- /* 2nd byte: 105 */ 0x5343,
- /* 2nd byte: 106 */ 0x5360,
- /* 2nd byte: 107 */ 0x5ba3,
- /* 2nd byte: 108 */ 0x5c02,
- /* 2nd byte: 109 */ 0x5c16,
- /* 2nd byte: 110 */ 0x5ddd,
- /* 2nd byte: 111 */ 0x6226,
- /* 2nd byte: 112 */ 0x6247,
- /* 2nd byte: 113 */ 0x64b0,
- /* 2nd byte: 114 */ 0x6813,
- /* 2nd byte: 115 */ 0x6834,
- /* 2nd byte: 116 */ 0x6cc9,
- /* 2nd byte: 117 */ 0x6d45,
- /* 2nd byte: 118 */ 0x6d17,
- /* 2nd byte: 119 */ 0x67d3,
- /* 2nd byte: 120 */ 0x6f5c,
- /* 2nd byte: 121 */ 0x714e,
- /* 2nd byte: 122 */ 0x717d,
- /* 2nd byte: 123 */ 0x65cb,
- /* 2nd byte: 124 */ 0x7a7f,
- /* 2nd byte: 125 */ 0x7bad,
- /* 2nd byte: 126 */ 0x7dda},
-/* 1st byte: 65 */ {
- /* 2nd byte: 33 */ 0x7e4a,
- /* 2nd byte: 34 */ 0x7fa8,
- /* 2nd byte: 35 */ 0x817a,
- /* 2nd byte: 36 */ 0x821b,
- /* 2nd byte: 37 */ 0x8239,
- /* 2nd byte: 38 */ 0x85a6,
- /* 2nd byte: 39 */ 0x8a6e,
- /* 2nd byte: 40 */ 0x8cce,
- /* 2nd byte: 41 */ 0x8df5,
- /* 2nd byte: 42 */ 0x9078,
- /* 2nd byte: 43 */ 0x9077,
- /* 2nd byte: 44 */ 0x92ad,
- /* 2nd byte: 45 */ 0x9291,
- /* 2nd byte: 46 */ 0x9583,
- /* 2nd byte: 47 */ 0x9bae,
- /* 2nd byte: 48 */ 0x524d,
- /* 2nd byte: 49 */ 0x5584,
- /* 2nd byte: 50 */ 0x6f38,
- /* 2nd byte: 51 */ 0x7136,
- /* 2nd byte: 52 */ 0x5168,
- /* 2nd byte: 53 */ 0x7985,
- /* 2nd byte: 54 */ 0x7e55,
- /* 2nd byte: 55 */ 0x81b3,
- /* 2nd byte: 56 */ 0x7cce,
- /* 2nd byte: 57 */ 0x564c,
- /* 2nd byte: 58 */ 0x5851,
- /* 2nd byte: 59 */ 0x5ca8,
- /* 2nd byte: 60 */ 0x63aa,
- /* 2nd byte: 61 */ 0x66fe,
- /* 2nd byte: 62 */ 0x66fd,
- /* 2nd byte: 63 */ 0x695a,
- /* 2nd byte: 64 */ 0x72d9,
- /* 2nd byte: 65 */ 0x758f,
- /* 2nd byte: 66 */ 0x758e,
- /* 2nd byte: 67 */ 0x790e,
- /* 2nd byte: 68 */ 0x7956,
- /* 2nd byte: 69 */ 0x79df,
- /* 2nd byte: 70 */ 0x7c97,
- /* 2nd byte: 71 */ 0x7d20,
- /* 2nd byte: 72 */ 0x7d44,
- /* 2nd byte: 73 */ 0x8607,
- /* 2nd byte: 74 */ 0x8a34,
- /* 2nd byte: 75 */ 0x963b,
- /* 2nd byte: 76 */ 0x9061,
- /* 2nd byte: 77 */ 0x9f20,
- /* 2nd byte: 78 */ 0x50e7,
- /* 2nd byte: 79 */ 0x5275,
- /* 2nd byte: 80 */ 0x53cc,
- /* 2nd byte: 81 */ 0x53e2,
- /* 2nd byte: 82 */ 0x5009,
- /* 2nd byte: 83 */ 0x55aa,
- /* 2nd byte: 84 */ 0x58ee,
- /* 2nd byte: 85 */ 0x594f,
- /* 2nd byte: 86 */ 0x723d,
- /* 2nd byte: 87 */ 0x5b8b,
- /* 2nd byte: 88 */ 0x5c64,
- /* 2nd byte: 89 */ 0x531d,
- /* 2nd byte: 90 */ 0x60e3,
- /* 2nd byte: 91 */ 0x60f3,
- /* 2nd byte: 92 */ 0x635c,
- /* 2nd byte: 93 */ 0x6383,
- /* 2nd byte: 94 */ 0x633f,
- /* 2nd byte: 95 */ 0x63bb,
- /* 2nd byte: 96 */ 0x64cd,
- /* 2nd byte: 97 */ 0x65e9,
- /* 2nd byte: 98 */ 0x66f9,
- /* 2nd byte: 99 */ 0x5de3,
- /* 2nd byte: 100 */ 0x69cd,
- /* 2nd byte: 101 */ 0x69fd,
- /* 2nd byte: 102 */ 0x6f15,
- /* 2nd byte: 103 */ 0x71e5,
- /* 2nd byte: 104 */ 0x4e89,
- /* 2nd byte: 105 */ 0x75e9,
- /* 2nd byte: 106 */ 0x76f8,
- /* 2nd byte: 107 */ 0x7a93,
- /* 2nd byte: 108 */ 0x7cdf,
- /* 2nd byte: 109 */ 0x7dcf,
- /* 2nd byte: 110 */ 0x7d9c,
- /* 2nd byte: 111 */ 0x8061,
- /* 2nd byte: 112 */ 0x8349,
- /* 2nd byte: 113 */ 0x8358,
- /* 2nd byte: 114 */ 0x846c,
- /* 2nd byte: 115 */ 0x84bc,
- /* 2nd byte: 116 */ 0x85fb,
- /* 2nd byte: 117 */ 0x88c5,
- /* 2nd byte: 118 */ 0x8d70,
- /* 2nd byte: 119 */ 0x9001,
- /* 2nd byte: 120 */ 0x906d,
- /* 2nd byte: 121 */ 0x9397,
- /* 2nd byte: 122 */ 0x971c,
- /* 2nd byte: 123 */ 0x9a12,
- /* 2nd byte: 124 */ 0x50cf,
- /* 2nd byte: 125 */ 0x5897,
- /* 2nd byte: 126 */ 0x618e},
-/* 1st byte: 66 */ {
- /* 2nd byte: 33 */ 0x81d3,
- /* 2nd byte: 34 */ 0x8535,
- /* 2nd byte: 35 */ 0x8d08,
- /* 2nd byte: 36 */ 0x9020,
- /* 2nd byte: 37 */ 0x4fc3,
- /* 2nd byte: 38 */ 0x5074,
- /* 2nd byte: 39 */ 0x5247,
- /* 2nd byte: 40 */ 0x5373,
- /* 2nd byte: 41 */ 0x606f,
- /* 2nd byte: 42 */ 0x6349,
- /* 2nd byte: 43 */ 0x675f,
- /* 2nd byte: 44 */ 0x6e2c,
- /* 2nd byte: 45 */ 0x8db3,
- /* 2nd byte: 46 */ 0x901f,
- /* 2nd byte: 47 */ 0x4fd7,
- /* 2nd byte: 48 */ 0x5c5e,
- /* 2nd byte: 49 */ 0x8cca,
- /* 2nd byte: 50 */ 0x65cf,
- /* 2nd byte: 51 */ 0x7d9a,
- /* 2nd byte: 52 */ 0x5352,
- /* 2nd byte: 53 */ 0x8896,
- /* 2nd byte: 54 */ 0x5176,
- /* 2nd byte: 55 */ 0x63c3,
- /* 2nd byte: 56 */ 0x5b58,
- /* 2nd byte: 57 */ 0x5b6b,
- /* 2nd byte: 58 */ 0x5c0a,
- /* 2nd byte: 59 */ 0x640d,
- /* 2nd byte: 60 */ 0x6751,
- /* 2nd byte: 61 */ 0x905c,
- /* 2nd byte: 62 */ 0x4ed6,
- /* 2nd byte: 63 */ 0x591a,
- /* 2nd byte: 64 */ 0x592a,
- /* 2nd byte: 65 */ 0x6c70,
- /* 2nd byte: 66 */ 0x8a51,
- /* 2nd byte: 67 */ 0x553e,
- /* 2nd byte: 68 */ 0x5815,
- /* 2nd byte: 69 */ 0x59a5,
- /* 2nd byte: 70 */ 0x60f0,
- /* 2nd byte: 71 */ 0x6253,
- /* 2nd byte: 72 */ 0x67c1,
- /* 2nd byte: 73 */ 0x8235,
- /* 2nd byte: 74 */ 0x6955,
- /* 2nd byte: 75 */ 0x9640,
- /* 2nd byte: 76 */ 0x99c4,
- /* 2nd byte: 77 */ 0x9a28,
- /* 2nd byte: 78 */ 0x4f53,
- /* 2nd byte: 79 */ 0x5806,
- /* 2nd byte: 80 */ 0x5bfe,
- /* 2nd byte: 81 */ 0x8010,
- /* 2nd byte: 82 */ 0x5cb1,
- /* 2nd byte: 83 */ 0x5e2f,
- /* 2nd byte: 84 */ 0x5f85,
- /* 2nd byte: 85 */ 0x6020,
- /* 2nd byte: 86 */ 0x614b,
- /* 2nd byte: 87 */ 0x6234,
- /* 2nd byte: 88 */ 0x66ff,
- /* 2nd byte: 89 */ 0x6cf0,
- /* 2nd byte: 90 */ 0x6ede,
- /* 2nd byte: 91 */ 0x80ce,
- /* 2nd byte: 92 */ 0x817f,
- /* 2nd byte: 93 */ 0x82d4,
- /* 2nd byte: 94 */ 0x888b,
- /* 2nd byte: 95 */ 0x8cb8,
- /* 2nd byte: 96 */ 0x9000,
- /* 2nd byte: 97 */ 0x902e,
- /* 2nd byte: 98 */ 0x968a,
- /* 2nd byte: 99 */ 0x9edb,
- /* 2nd byte: 100 */ 0x9bdb,
- /* 2nd byte: 101 */ 0x4ee3,
- /* 2nd byte: 102 */ 0x53f0,
- /* 2nd byte: 103 */ 0x5927,
- /* 2nd byte: 104 */ 0x7b2c,
- /* 2nd byte: 105 */ 0x918d,
- /* 2nd byte: 106 */ 0x984c,
- /* 2nd byte: 107 */ 0x9df9,
- /* 2nd byte: 108 */ 0x6edd,
- /* 2nd byte: 109 */ 0x7027,
- /* 2nd byte: 110 */ 0x5353,
- /* 2nd byte: 111 */ 0x5544,
- /* 2nd byte: 112 */ 0x5b85,
- /* 2nd byte: 113 */ 0x6258,
- /* 2nd byte: 114 */ 0x629e,
- /* 2nd byte: 115 */ 0x62d3,
- /* 2nd byte: 116 */ 0x6ca2,
- /* 2nd byte: 117 */ 0x6fef,
- /* 2nd byte: 118 */ 0x7422,
- /* 2nd byte: 119 */ 0x8a17,
- /* 2nd byte: 120 */ 0x9438,
- /* 2nd byte: 121 */ 0x6fc1,
- /* 2nd byte: 122 */ 0x8afe,
- /* 2nd byte: 123 */ 0x8338,
- /* 2nd byte: 124 */ 0x51e7,
- /* 2nd byte: 125 */ 0x86f8,
- /* 2nd byte: 126 */ 0x53ea},
-/* 1st byte: 67 */ {
- /* 2nd byte: 33 */ 0x53e9,
- /* 2nd byte: 34 */ 0x4f46,
- /* 2nd byte: 35 */ 0x9054,
- /* 2nd byte: 36 */ 0x8fb0,
- /* 2nd byte: 37 */ 0x596a,
- /* 2nd byte: 38 */ 0x8131,
- /* 2nd byte: 39 */ 0x5dfd,
- /* 2nd byte: 40 */ 0x7aea,
- /* 2nd byte: 41 */ 0x8fbf,
- /* 2nd byte: 42 */ 0x68da,
- /* 2nd byte: 43 */ 0x8c37,
- /* 2nd byte: 44 */ 0x72f8,
- /* 2nd byte: 45 */ 0x9c48,
- /* 2nd byte: 46 */ 0x6a3d,
- /* 2nd byte: 47 */ 0x8ab0,
- /* 2nd byte: 48 */ 0x4e39,
- /* 2nd byte: 49 */ 0x5358,
- /* 2nd byte: 50 */ 0x5606,
- /* 2nd byte: 51 */ 0x5766,
- /* 2nd byte: 52 */ 0x62c5,
- /* 2nd byte: 53 */ 0x63a2,
- /* 2nd byte: 54 */ 0x65e6,
- /* 2nd byte: 55 */ 0x6b4e,
- /* 2nd byte: 56 */ 0x6de1,
- /* 2nd byte: 57 */ 0x6e5b,
- /* 2nd byte: 58 */ 0x70ad,
- /* 2nd byte: 59 */ 0x77ed,
- /* 2nd byte: 60 */ 0x7aef,
- /* 2nd byte: 61 */ 0x7baa,
- /* 2nd byte: 62 */ 0x7dbb,
- /* 2nd byte: 63 */ 0x803d,
- /* 2nd byte: 64 */ 0x80c6,
- /* 2nd byte: 65 */ 0x86cb,
- /* 2nd byte: 66 */ 0x8a95,
- /* 2nd byte: 67 */ 0x935b,
- /* 2nd byte: 68 */ 0x56e3,
- /* 2nd byte: 69 */ 0x58c7,
- /* 2nd byte: 70 */ 0x5f3e,
- /* 2nd byte: 71 */ 0x65ad,
- /* 2nd byte: 72 */ 0x6696,
- /* 2nd byte: 73 */ 0x6a80,
- /* 2nd byte: 74 */ 0x6bb5,
- /* 2nd byte: 75 */ 0x7537,
- /* 2nd byte: 76 */ 0x8ac7,
- /* 2nd byte: 77 */ 0x5024,
- /* 2nd byte: 78 */ 0x77e5,
- /* 2nd byte: 79 */ 0x5730,
- /* 2nd byte: 80 */ 0x5f1b,
- /* 2nd byte: 81 */ 0x6065,
- /* 2nd byte: 82 */ 0x667a,
- /* 2nd byte: 83 */ 0x6c60,
- /* 2nd byte: 84 */ 0x75f4,
- /* 2nd byte: 85 */ 0x7a1a,
- /* 2nd byte: 86 */ 0x7f6e,
- /* 2nd byte: 87 */ 0x81f4,
- /* 2nd byte: 88 */ 0x8718,
- /* 2nd byte: 89 */ 0x9045,
- /* 2nd byte: 90 */ 0x99b3,
- /* 2nd byte: 91 */ 0x7bc9,
- /* 2nd byte: 92 */ 0x755c,
- /* 2nd byte: 93 */ 0x7af9,
- /* 2nd byte: 94 */ 0x7b51,
- /* 2nd byte: 95 */ 0x84c4,
- /* 2nd byte: 96 */ 0x9010,
- /* 2nd byte: 97 */ 0x79e9,
- /* 2nd byte: 98 */ 0x7a92,
- /* 2nd byte: 99 */ 0x8336,
- /* 2nd byte: 100 */ 0x5ae1,
- /* 2nd byte: 101 */ 0x7740,
- /* 2nd byte: 102 */ 0x4e2d,
- /* 2nd byte: 103 */ 0x4ef2,
- /* 2nd byte: 104 */ 0x5b99,
- /* 2nd byte: 105 */ 0x5fe0,
- /* 2nd byte: 106 */ 0x62bd,
- /* 2nd byte: 107 */ 0x663c,
- /* 2nd byte: 108 */ 0x67f1,
- /* 2nd byte: 109 */ 0x6ce8,
- /* 2nd byte: 110 */ 0x866b,
- /* 2nd byte: 111 */ 0x8877,
- /* 2nd byte: 112 */ 0x8a3b,
- /* 2nd byte: 113 */ 0x914e,
- /* 2nd byte: 114 */ 0x92f3,
- /* 2nd byte: 115 */ 0x99d0,
- /* 2nd byte: 116 */ 0x6a17,
- /* 2nd byte: 117 */ 0x7026,
- /* 2nd byte: 118 */ 0x732a,
- /* 2nd byte: 119 */ 0x82e7,
- /* 2nd byte: 120 */ 0x8457,
- /* 2nd byte: 121 */ 0x8caf,
- /* 2nd byte: 122 */ 0x4e01,
- /* 2nd byte: 123 */ 0x5146,
- /* 2nd byte: 124 */ 0x51cb,
- /* 2nd byte: 125 */ 0x558b,
- /* 2nd byte: 126 */ 0x5bf5},
-/* 1st byte: 68 */ {
- /* 2nd byte: 33 */ 0x5e16,
- /* 2nd byte: 34 */ 0x5e33,
- /* 2nd byte: 35 */ 0x5e81,
- /* 2nd byte: 36 */ 0x5f14,
- /* 2nd byte: 37 */ 0x5f35,
- /* 2nd byte: 38 */ 0x5f6b,
- /* 2nd byte: 39 */ 0x5fb4,
- /* 2nd byte: 40 */ 0x61f2,
- /* 2nd byte: 41 */ 0x6311,
- /* 2nd byte: 42 */ 0x66a2,
- /* 2nd byte: 43 */ 0x671d,
- /* 2nd byte: 44 */ 0x6f6e,
- /* 2nd byte: 45 */ 0x7252,
- /* 2nd byte: 46 */ 0x753a,
- /* 2nd byte: 47 */ 0x773a,
- /* 2nd byte: 48 */ 0x8074,
- /* 2nd byte: 49 */ 0x8139,
- /* 2nd byte: 50 */ 0x8178,
- /* 2nd byte: 51 */ 0x8776,
- /* 2nd byte: 52 */ 0x8abf,
- /* 2nd byte: 53 */ 0x8adc,
- /* 2nd byte: 54 */ 0x8d85,
- /* 2nd byte: 55 */ 0x8df3,
- /* 2nd byte: 56 */ 0x929a,
- /* 2nd byte: 57 */ 0x9577,
- /* 2nd byte: 58 */ 0x9802,
- /* 2nd byte: 59 */ 0x9ce5,
- /* 2nd byte: 60 */ 0x52c5,
- /* 2nd byte: 61 */ 0x6357,
- /* 2nd byte: 62 */ 0x76f4,
- /* 2nd byte: 63 */ 0x6715,
- /* 2nd byte: 64 */ 0x6c88,
- /* 2nd byte: 65 */ 0x73cd,
- /* 2nd byte: 66 */ 0x8cc3,
- /* 2nd byte: 67 */ 0x93ae,
- /* 2nd byte: 68 */ 0x9673,
- /* 2nd byte: 69 */ 0x6d25,
- /* 2nd byte: 70 */ 0x589c,
- /* 2nd byte: 71 */ 0x690e,
- /* 2nd byte: 72 */ 0x69cc,
- /* 2nd byte: 73 */ 0x8ffd,
- /* 2nd byte: 74 */ 0x939a,
- /* 2nd byte: 75 */ 0x75db,
- /* 2nd byte: 76 */ 0x901a,
- /* 2nd byte: 77 */ 0x585a,
- /* 2nd byte: 78 */ 0x6802,
- /* 2nd byte: 79 */ 0x63b4,
- /* 2nd byte: 80 */ 0x69fb,
- /* 2nd byte: 81 */ 0x4f43,
- /* 2nd byte: 82 */ 0x6f2c,
- /* 2nd byte: 83 */ 0x67d8,
- /* 2nd byte: 84 */ 0x8fbb,
- /* 2nd byte: 85 */ 0x8526,
- /* 2nd byte: 86 */ 0x7db4,
- /* 2nd byte: 87 */ 0x9354,
- /* 2nd byte: 88 */ 0x693f,
- /* 2nd byte: 89 */ 0x6f70,
- /* 2nd byte: 90 */ 0x576a,
- /* 2nd byte: 91 */ 0x58f7,
- /* 2nd byte: 92 */ 0x5b2c,
- /* 2nd byte: 93 */ 0x7d2c,
- /* 2nd byte: 94 */ 0x722a,
- /* 2nd byte: 95 */ 0x540a,
- /* 2nd byte: 96 */ 0x91e3,
- /* 2nd byte: 97 */ 0x9db4,
- /* 2nd byte: 98 */ 0x4ead,
- /* 2nd byte: 99 */ 0x4f4e,
- /* 2nd byte: 100 */ 0x505c,
- /* 2nd byte: 101 */ 0x5075,
- /* 2nd byte: 102 */ 0x5243,
- /* 2nd byte: 103 */ 0x8c9e,
- /* 2nd byte: 104 */ 0x5448,
- /* 2nd byte: 105 */ 0x5824,
- /* 2nd byte: 106 */ 0x5b9a,
- /* 2nd byte: 107 */ 0x5e1d,
- /* 2nd byte: 108 */ 0x5e95,
- /* 2nd byte: 109 */ 0x5ead,
- /* 2nd byte: 110 */ 0x5ef7,
- /* 2nd byte: 111 */ 0x5f1f,
- /* 2nd byte: 112 */ 0x608c,
- /* 2nd byte: 113 */ 0x62b5,
- /* 2nd byte: 114 */ 0x633a,
- /* 2nd byte: 115 */ 0x63d0,
- /* 2nd byte: 116 */ 0x68af,
- /* 2nd byte: 117 */ 0x6c40,
- /* 2nd byte: 118 */ 0x7887,
- /* 2nd byte: 119 */ 0x798e,
- /* 2nd byte: 120 */ 0x7a0b,
- /* 2nd byte: 121 */ 0x7de0,
- /* 2nd byte: 122 */ 0x8247,
- /* 2nd byte: 123 */ 0x8a02,
- /* 2nd byte: 124 */ 0x8ae6,
- /* 2nd byte: 125 */ 0x8e44,
- /* 2nd byte: 126 */ 0x9013},
-/* 1st byte: 69 */ {
- /* 2nd byte: 33 */ 0x90b8,
- /* 2nd byte: 34 */ 0x912d,
- /* 2nd byte: 35 */ 0x91d8,
- /* 2nd byte: 36 */ 0x9f0e,
- /* 2nd byte: 37 */ 0x6ce5,
- /* 2nd byte: 38 */ 0x6458,
- /* 2nd byte: 39 */ 0x64e2,
- /* 2nd byte: 40 */ 0x6575,
- /* 2nd byte: 41 */ 0x6ef4,
- /* 2nd byte: 42 */ 0x7684,
- /* 2nd byte: 43 */ 0x7b1b,
- /* 2nd byte: 44 */ 0x9069,
- /* 2nd byte: 45 */ 0x93d1,
- /* 2nd byte: 46 */ 0x6eba,
- /* 2nd byte: 47 */ 0x54f2,
- /* 2nd byte: 48 */ 0x5fb9,
- /* 2nd byte: 49 */ 0x64a4,
- /* 2nd byte: 50 */ 0x8f4d,
- /* 2nd byte: 51 */ 0x8fed,
- /* 2nd byte: 52 */ 0x9244,
- /* 2nd byte: 53 */ 0x5178,
- /* 2nd byte: 54 */ 0x586b,
- /* 2nd byte: 55 */ 0x5929,
- /* 2nd byte: 56 */ 0x5c55,
- /* 2nd byte: 57 */ 0x5e97,
- /* 2nd byte: 58 */ 0x6dfb,
- /* 2nd byte: 59 */ 0x7e8f,
- /* 2nd byte: 60 */ 0x751c,
- /* 2nd byte: 61 */ 0x8cbc,
- /* 2nd byte: 62 */ 0x8ee2,
- /* 2nd byte: 63 */ 0x985b,
- /* 2nd byte: 64 */ 0x70b9,
- /* 2nd byte: 65 */ 0x4f1d,
- /* 2nd byte: 66 */ 0x6bbf,
- /* 2nd byte: 67 */ 0x6fb1,
- /* 2nd byte: 68 */ 0x7530,
- /* 2nd byte: 69 */ 0x96fb,
- /* 2nd byte: 70 */ 0x514e,
- /* 2nd byte: 71 */ 0x5410,
- /* 2nd byte: 72 */ 0x5835,
- /* 2nd byte: 73 */ 0x5857,
- /* 2nd byte: 74 */ 0x59ac,
- /* 2nd byte: 75 */ 0x5c60,
- /* 2nd byte: 76 */ 0x5f92,
- /* 2nd byte: 77 */ 0x6597,
- /* 2nd byte: 78 */ 0x675c,
- /* 2nd byte: 79 */ 0x6e21,
- /* 2nd byte: 80 */ 0x767b,
- /* 2nd byte: 81 */ 0x83df,
- /* 2nd byte: 82 */ 0x8ced,
- /* 2nd byte: 83 */ 0x9014,
- /* 2nd byte: 84 */ 0x90fd,
- /* 2nd byte: 85 */ 0x934d,
- /* 2nd byte: 86 */ 0x7825,
- /* 2nd byte: 87 */ 0x783a,
- /* 2nd byte: 88 */ 0x52aa,
- /* 2nd byte: 89 */ 0x5ea6,
- /* 2nd byte: 90 */ 0x571f,
- /* 2nd byte: 91 */ 0x5974,
- /* 2nd byte: 92 */ 0x6012,
- /* 2nd byte: 93 */ 0x5012,
- /* 2nd byte: 94 */ 0x515a,
- /* 2nd byte: 95 */ 0x51ac,
- /* 2nd byte: 96 */ 0x51cd,
- /* 2nd byte: 97 */ 0x5200,
- /* 2nd byte: 98 */ 0x5510,
- /* 2nd byte: 99 */ 0x5854,
- /* 2nd byte: 100 */ 0x5858,
- /* 2nd byte: 101 */ 0x5957,
- /* 2nd byte: 102 */ 0x5b95,
- /* 2nd byte: 103 */ 0x5cf6,
- /* 2nd byte: 104 */ 0x5d8b,
- /* 2nd byte: 105 */ 0x60bc,
- /* 2nd byte: 106 */ 0x6295,
- /* 2nd byte: 107 */ 0x642d,
- /* 2nd byte: 108 */ 0x6771,
- /* 2nd byte: 109 */ 0x6843,
- /* 2nd byte: 110 */ 0x68bc,
- /* 2nd byte: 111 */ 0x68df,
- /* 2nd byte: 112 */ 0x76d7,
- /* 2nd byte: 113 */ 0x6dd8,
- /* 2nd byte: 114 */ 0x6e6f,
- /* 2nd byte: 115 */ 0x6d9b,
- /* 2nd byte: 116 */ 0x706f,
- /* 2nd byte: 117 */ 0x71c8,
- /* 2nd byte: 118 */ 0x5f53,
- /* 2nd byte: 119 */ 0x75d8,
- /* 2nd byte: 120 */ 0x7977,
- /* 2nd byte: 121 */ 0x7b49,
- /* 2nd byte: 122 */ 0x7b54,
- /* 2nd byte: 123 */ 0x7b52,
- /* 2nd byte: 124 */ 0x7cd6,
- /* 2nd byte: 125 */ 0x7d71,
- /* 2nd byte: 126 */ 0x5230},
-/* 1st byte: 70 */ {
- /* 2nd byte: 33 */ 0x8463,
- /* 2nd byte: 34 */ 0x8569,
- /* 2nd byte: 35 */ 0x85e4,
- /* 2nd byte: 36 */ 0x8a0e,
- /* 2nd byte: 37 */ 0x8b04,
- /* 2nd byte: 38 */ 0x8c46,
- /* 2nd byte: 39 */ 0x8e0f,
- /* 2nd byte: 40 */ 0x9003,
- /* 2nd byte: 41 */ 0x900f,
- /* 2nd byte: 42 */ 0x9419,
- /* 2nd byte: 43 */ 0x9676,
- /* 2nd byte: 44 */ 0x982d,
- /* 2nd byte: 45 */ 0x9a30,
- /* 2nd byte: 46 */ 0x95d8,
- /* 2nd byte: 47 */ 0x50cd,
- /* 2nd byte: 48 */ 0x52d5,
- /* 2nd byte: 49 */ 0x540c,
- /* 2nd byte: 50 */ 0x5802,
- /* 2nd byte: 51 */ 0x5c0e,
- /* 2nd byte: 52 */ 0x61a7,
- /* 2nd byte: 53 */ 0x649e,
- /* 2nd byte: 54 */ 0x6d1e,
- /* 2nd byte: 55 */ 0x77b3,
- /* 2nd byte: 56 */ 0x7ae5,
- /* 2nd byte: 57 */ 0x80f4,
- /* 2nd byte: 58 */ 0x8404,
- /* 2nd byte: 59 */ 0x9053,
- /* 2nd byte: 60 */ 0x9285,
- /* 2nd byte: 61 */ 0x5ce0,
- /* 2nd byte: 62 */ 0x9d07,
- /* 2nd byte: 63 */ 0x533f,
- /* 2nd byte: 64 */ 0x5f97,
- /* 2nd byte: 65 */ 0x5fb3,
- /* 2nd byte: 66 */ 0x6d9c,
- /* 2nd byte: 67 */ 0x7279,
- /* 2nd byte: 68 */ 0x7763,
- /* 2nd byte: 69 */ 0x79bf,
- /* 2nd byte: 70 */ 0x7be4,
- /* 2nd byte: 71 */ 0x6bd2,
- /* 2nd byte: 72 */ 0x72ec,
- /* 2nd byte: 73 */ 0x8aad,
- /* 2nd byte: 74 */ 0x6803,
- /* 2nd byte: 75 */ 0x6a61,
- /* 2nd byte: 76 */ 0x51f8,
- /* 2nd byte: 77 */ 0x7a81,
- /* 2nd byte: 78 */ 0x6934,
- /* 2nd byte: 79 */ 0x5c4a,
- /* 2nd byte: 80 */ 0x9cf6,
- /* 2nd byte: 81 */ 0x82eb,
- /* 2nd byte: 82 */ 0x5bc5,
- /* 2nd byte: 83 */ 0x9149,
- /* 2nd byte: 84 */ 0x701e,
- /* 2nd byte: 85 */ 0x5678,
- /* 2nd byte: 86 */ 0x5c6f,
- /* 2nd byte: 87 */ 0x60c7,
- /* 2nd byte: 88 */ 0x6566,
- /* 2nd byte: 89 */ 0x6c8c,
- /* 2nd byte: 90 */ 0x8c5a,
- /* 2nd byte: 91 */ 0x9041,
- /* 2nd byte: 92 */ 0x9813,
- /* 2nd byte: 93 */ 0x5451,
- /* 2nd byte: 94 */ 0x66c7,
- /* 2nd byte: 95 */ 0x920d,
- /* 2nd byte: 96 */ 0x5948,
- /* 2nd byte: 97 */ 0x90a3,
- /* 2nd byte: 98 */ 0x5185,
- /* 2nd byte: 99 */ 0x4e4d,
- /* 2nd byte: 100 */ 0x51ea,
- /* 2nd byte: 101 */ 0x8599,
- /* 2nd byte: 102 */ 0x8b0e,
- /* 2nd byte: 103 */ 0x7058,
- /* 2nd byte: 104 */ 0x637a,
- /* 2nd byte: 105 */ 0x934b,
- /* 2nd byte: 106 */ 0x6962,
- /* 2nd byte: 107 */ 0x99b4,
- /* 2nd byte: 108 */ 0x7e04,
- /* 2nd byte: 109 */ 0x7577,
- /* 2nd byte: 110 */ 0x5357,
- /* 2nd byte: 111 */ 0x6960,
- /* 2nd byte: 112 */ 0x8edf,
- /* 2nd byte: 113 */ 0x96e3,
- /* 2nd byte: 114 */ 0x6c5d,
- /* 2nd byte: 115 */ 0x4e8c,
- /* 2nd byte: 116 */ 0x5c3c,
- /* 2nd byte: 117 */ 0x5f10,
- /* 2nd byte: 118 */ 0x8fe9,
- /* 2nd byte: 119 */ 0x5302,
- /* 2nd byte: 120 */ 0x8cd1,
- /* 2nd byte: 121 */ 0x8089,
- /* 2nd byte: 122 */ 0x8679,
- /* 2nd byte: 123 */ 0x5eff,
- /* 2nd byte: 124 */ 0x65e5,
- /* 2nd byte: 125 */ 0x4e73,
- /* 2nd byte: 126 */ 0x5165},
-/* 1st byte: 71 */ {
- /* 2nd byte: 33 */ 0x5982,
- /* 2nd byte: 34 */ 0x5c3f,
- /* 2nd byte: 35 */ 0x97ee,
- /* 2nd byte: 36 */ 0x4efb,
- /* 2nd byte: 37 */ 0x598a,
- /* 2nd byte: 38 */ 0x5fcd,
- /* 2nd byte: 39 */ 0x8a8d,
- /* 2nd byte: 40 */ 0x6fe1,
- /* 2nd byte: 41 */ 0x79b0,
- /* 2nd byte: 42 */ 0x7962,
- /* 2nd byte: 43 */ 0x5be7,
- /* 2nd byte: 44 */ 0x8471,
- /* 2nd byte: 45 */ 0x732b,
- /* 2nd byte: 46 */ 0x71b1,
- /* 2nd byte: 47 */ 0x5e74,
- /* 2nd byte: 48 */ 0x5ff5,
- /* 2nd byte: 49 */ 0x637b,
- /* 2nd byte: 50 */ 0x649a,
- /* 2nd byte: 51 */ 0x71c3,
- /* 2nd byte: 52 */ 0x7c98,
- /* 2nd byte: 53 */ 0x4e43,
- /* 2nd byte: 54 */ 0x5efc,
- /* 2nd byte: 55 */ 0x4e4b,
- /* 2nd byte: 56 */ 0x57dc,
- /* 2nd byte: 57 */ 0x56a2,
- /* 2nd byte: 58 */ 0x60a9,
- /* 2nd byte: 59 */ 0x6fc3,
- /* 2nd byte: 60 */ 0x7d0d,
- /* 2nd byte: 61 */ 0x80fd,
- /* 2nd byte: 62 */ 0x8133,
- /* 2nd byte: 63 */ 0x81bf,
- /* 2nd byte: 64 */ 0x8fb2,
- /* 2nd byte: 65 */ 0x8997,
- /* 2nd byte: 66 */ 0x86a4,
- /* 2nd byte: 67 */ 0x5df4,
- /* 2nd byte: 68 */ 0x628a,
- /* 2nd byte: 69 */ 0x64ad,
- /* 2nd byte: 70 */ 0x8987,
- /* 2nd byte: 71 */ 0x6777,
- /* 2nd byte: 72 */ 0x6ce2,
- /* 2nd byte: 73 */ 0x6d3e,
- /* 2nd byte: 74 */ 0x7436,
- /* 2nd byte: 75 */ 0x7834,
- /* 2nd byte: 76 */ 0x5a46,
- /* 2nd byte: 77 */ 0x7f75,
- /* 2nd byte: 78 */ 0x82ad,
- /* 2nd byte: 79 */ 0x99ac,
- /* 2nd byte: 80 */ 0x4ff3,
- /* 2nd byte: 81 */ 0x5ec3,
- /* 2nd byte: 82 */ 0x62dd,
- /* 2nd byte: 83 */ 0x6392,
- /* 2nd byte: 84 */ 0x6557,
- /* 2nd byte: 85 */ 0x676f,
- /* 2nd byte: 86 */ 0x76c3,
- /* 2nd byte: 87 */ 0x724c,
- /* 2nd byte: 88 */ 0x80cc,
- /* 2nd byte: 89 */ 0x80ba,
- /* 2nd byte: 90 */ 0x8f29,
- /* 2nd byte: 91 */ 0x914d,
- /* 2nd byte: 92 */ 0x500d,
- /* 2nd byte: 93 */ 0x57f9,
- /* 2nd byte: 94 */ 0x5a92,
- /* 2nd byte: 95 */ 0x6885,
- /* 2nd byte: 96 */ 0x6973,
- /* 2nd byte: 97 */ 0x7164,
- /* 2nd byte: 98 */ 0x72fd,
- /* 2nd byte: 99 */ 0x8cb7,
- /* 2nd byte: 100 */ 0x58f2,
- /* 2nd byte: 101 */ 0x8ce0,
- /* 2nd byte: 102 */ 0x966a,
- /* 2nd byte: 103 */ 0x9019,
- /* 2nd byte: 104 */ 0x877f,
- /* 2nd byte: 105 */ 0x79e4,
- /* 2nd byte: 106 */ 0x77e7,
- /* 2nd byte: 107 */ 0x8429,
- /* 2nd byte: 108 */ 0x4f2f,
- /* 2nd byte: 109 */ 0x5265,
- /* 2nd byte: 110 */ 0x535a,
- /* 2nd byte: 111 */ 0x62cd,
- /* 2nd byte: 112 */ 0x67cf,
- /* 2nd byte: 113 */ 0x6cca,
- /* 2nd byte: 114 */ 0x767d,
- /* 2nd byte: 115 */ 0x7b94,
- /* 2nd byte: 116 */ 0x7c95,
- /* 2nd byte: 117 */ 0x8236,
- /* 2nd byte: 118 */ 0x8584,
- /* 2nd byte: 119 */ 0x8feb,
- /* 2nd byte: 120 */ 0x66dd,
- /* 2nd byte: 121 */ 0x6f20,
- /* 2nd byte: 122 */ 0x7206,
- /* 2nd byte: 123 */ 0x7e1b,
- /* 2nd byte: 124 */ 0x83ab,
- /* 2nd byte: 125 */ 0x99c1,
- /* 2nd byte: 126 */ 0x9ea6},
-/* 1st byte: 72 */ {
- /* 2nd byte: 33 */ 0x51fd,
- /* 2nd byte: 34 */ 0x7bb1,
- /* 2nd byte: 35 */ 0x7872,
- /* 2nd byte: 36 */ 0x7bb8,
- /* 2nd byte: 37 */ 0x8087,
- /* 2nd byte: 38 */ 0x7b48,
- /* 2nd byte: 39 */ 0x6ae8,
- /* 2nd byte: 40 */ 0x5e61,
- /* 2nd byte: 41 */ 0x808c,
- /* 2nd byte: 42 */ 0x7551,
- /* 2nd byte: 43 */ 0x7560,
- /* 2nd byte: 44 */ 0x516b,
- /* 2nd byte: 45 */ 0x9262,
- /* 2nd byte: 46 */ 0x6e8c,
- /* 2nd byte: 47 */ 0x767a,
- /* 2nd byte: 48 */ 0x9197,
- /* 2nd byte: 49 */ 0x9aea,
- /* 2nd byte: 50 */ 0x4f10,
- /* 2nd byte: 51 */ 0x7f70,
- /* 2nd byte: 52 */ 0x629c,
- /* 2nd byte: 53 */ 0x7b4f,
- /* 2nd byte: 54 */ 0x95a5,
- /* 2nd byte: 55 */ 0x9ce9,
- /* 2nd byte: 56 */ 0x567a,
- /* 2nd byte: 57 */ 0x5859,
- /* 2nd byte: 58 */ 0x86e4,
- /* 2nd byte: 59 */ 0x96bc,
- /* 2nd byte: 60 */ 0x4f34,
- /* 2nd byte: 61 */ 0x5224,
- /* 2nd byte: 62 */ 0x534a,
- /* 2nd byte: 63 */ 0x53cd,
- /* 2nd byte: 64 */ 0x53db,
- /* 2nd byte: 65 */ 0x5e06,
- /* 2nd byte: 66 */ 0x642c,
- /* 2nd byte: 67 */ 0x6591,
- /* 2nd byte: 68 */ 0x677f,
- /* 2nd byte: 69 */ 0x6c3e,
- /* 2nd byte: 70 */ 0x6c4e,
- /* 2nd byte: 71 */ 0x7248,
- /* 2nd byte: 72 */ 0x72af,
- /* 2nd byte: 73 */ 0x73ed,
- /* 2nd byte: 74 */ 0x7554,
- /* 2nd byte: 75 */ 0x7e41,
- /* 2nd byte: 76 */ 0x822c,
- /* 2nd byte: 77 */ 0x85e9,
- /* 2nd byte: 78 */ 0x8ca9,
- /* 2nd byte: 79 */ 0x7bc4,
- /* 2nd byte: 80 */ 0x91c6,
- /* 2nd byte: 81 */ 0x7169,
- /* 2nd byte: 82 */ 0x9812,
- /* 2nd byte: 83 */ 0x98ef,
- /* 2nd byte: 84 */ 0x633d,
- /* 2nd byte: 85 */ 0x6669,
- /* 2nd byte: 86 */ 0x756a,
- /* 2nd byte: 87 */ 0x76e4,
- /* 2nd byte: 88 */ 0x78d0,
- /* 2nd byte: 89 */ 0x8543,
- /* 2nd byte: 90 */ 0x86ee,
- /* 2nd byte: 91 */ 0x532a,
- /* 2nd byte: 92 */ 0x5351,
- /* 2nd byte: 93 */ 0x5426,
- /* 2nd byte: 94 */ 0x5983,
- /* 2nd byte: 95 */ 0x5e87,
- /* 2nd byte: 96 */ 0x5f7c,
- /* 2nd byte: 97 */ 0x60b2,
- /* 2nd byte: 98 */ 0x6249,
- /* 2nd byte: 99 */ 0x6279,
- /* 2nd byte: 100 */ 0x62ab,
- /* 2nd byte: 101 */ 0x6590,
- /* 2nd byte: 102 */ 0x6bd4,
- /* 2nd byte: 103 */ 0x6ccc,
- /* 2nd byte: 104 */ 0x75b2,
- /* 2nd byte: 105 */ 0x76ae,
- /* 2nd byte: 106 */ 0x7891,
- /* 2nd byte: 107 */ 0x79d8,
- /* 2nd byte: 108 */ 0x7dcb,
- /* 2nd byte: 109 */ 0x7f77,
- /* 2nd byte: 110 */ 0x80a5,
- /* 2nd byte: 111 */ 0x88ab,
- /* 2nd byte: 112 */ 0x8ab9,
- /* 2nd byte: 113 */ 0x8cbb,
- /* 2nd byte: 114 */ 0x907f,
- /* 2nd byte: 115 */ 0x975e,
- /* 2nd byte: 116 */ 0x98db,
- /* 2nd byte: 117 */ 0x6a0b,
- /* 2nd byte: 118 */ 0x7c38,
- /* 2nd byte: 119 */ 0x5099,
- /* 2nd byte: 120 */ 0x5c3e,
- /* 2nd byte: 121 */ 0x5fae,
- /* 2nd byte: 122 */ 0x6787,
- /* 2nd byte: 123 */ 0x6bd8,
- /* 2nd byte: 124 */ 0x7435,
- /* 2nd byte: 125 */ 0x7709,
- /* 2nd byte: 126 */ 0x7f8e},
-/* 1st byte: 73 */ {
- /* 2nd byte: 33 */ 0x9f3b,
- /* 2nd byte: 34 */ 0x67ca,
- /* 2nd byte: 35 */ 0x7a17,
- /* 2nd byte: 36 */ 0x5339,
- /* 2nd byte: 37 */ 0x758b,
- /* 2nd byte: 38 */ 0x9aed,
- /* 2nd byte: 39 */ 0x5f66,
- /* 2nd byte: 40 */ 0x819d,
- /* 2nd byte: 41 */ 0x83f1,
- /* 2nd byte: 42 */ 0x8098,
- /* 2nd byte: 43 */ 0x5f3c,
- /* 2nd byte: 44 */ 0x5fc5,
- /* 2nd byte: 45 */ 0x7562,
- /* 2nd byte: 46 */ 0x7b46,
- /* 2nd byte: 47 */ 0x903c,
- /* 2nd byte: 48 */ 0x6867,
- /* 2nd byte: 49 */ 0x59eb,
- /* 2nd byte: 50 */ 0x5a9b,
- /* 2nd byte: 51 */ 0x7d10,
- /* 2nd byte: 52 */ 0x767e,
- /* 2nd byte: 53 */ 0x8b2c,
- /* 2nd byte: 54 */ 0x4ff5,
- /* 2nd byte: 55 */ 0x5f6a,
- /* 2nd byte: 56 */ 0x6a19,
- /* 2nd byte: 57 */ 0x6c37,
- /* 2nd byte: 58 */ 0x6f02,
- /* 2nd byte: 59 */ 0x74e2,
- /* 2nd byte: 60 */ 0x7968,
- /* 2nd byte: 61 */ 0x8868,
- /* 2nd byte: 62 */ 0x8a55,
- /* 2nd byte: 63 */ 0x8c79,
- /* 2nd byte: 64 */ 0x5edf,
- /* 2nd byte: 65 */ 0x63cf,
- /* 2nd byte: 66 */ 0x75c5,
- /* 2nd byte: 67 */ 0x79d2,
- /* 2nd byte: 68 */ 0x82d7,
- /* 2nd byte: 69 */ 0x9328,
- /* 2nd byte: 70 */ 0x92f2,
- /* 2nd byte: 71 */ 0x849c,
- /* 2nd byte: 72 */ 0x86ed,
- /* 2nd byte: 73 */ 0x9c2d,
- /* 2nd byte: 74 */ 0x54c1,
- /* 2nd byte: 75 */ 0x5f6c,
- /* 2nd byte: 76 */ 0x658c,
- /* 2nd byte: 77 */ 0x6d5c,
- /* 2nd byte: 78 */ 0x7015,
- /* 2nd byte: 79 */ 0x8ca7,
- /* 2nd byte: 80 */ 0x8cd3,
- /* 2nd byte: 81 */ 0x983b,
- /* 2nd byte: 82 */ 0x654f,
- /* 2nd byte: 83 */ 0x74f6,
- /* 2nd byte: 84 */ 0x4e0d,
- /* 2nd byte: 85 */ 0x4ed8,
- /* 2nd byte: 86 */ 0x57e0,
- /* 2nd byte: 87 */ 0x592b,
- /* 2nd byte: 88 */ 0x5a66,
- /* 2nd byte: 89 */ 0x5bcc,
- /* 2nd byte: 90 */ 0x51a8,
- /* 2nd byte: 91 */ 0x5e03,
- /* 2nd byte: 92 */ 0x5e9c,
- /* 2nd byte: 93 */ 0x6016,
- /* 2nd byte: 94 */ 0x6276,
- /* 2nd byte: 95 */ 0x6577,
- /* 2nd byte: 96 */ 0x65a7,
- /* 2nd byte: 97 */ 0x666e,
- /* 2nd byte: 98 */ 0x6d6e,
- /* 2nd byte: 99 */ 0x7236,
- /* 2nd byte: 100 */ 0x7b26,
- /* 2nd byte: 101 */ 0x8150,
- /* 2nd byte: 102 */ 0x819a,
- /* 2nd byte: 103 */ 0x8299,
- /* 2nd byte: 104 */ 0x8b5c,
- /* 2nd byte: 105 */ 0x8ca0,
- /* 2nd byte: 106 */ 0x8ce6,
- /* 2nd byte: 107 */ 0x8d74,
- /* 2nd byte: 108 */ 0x961c,
- /* 2nd byte: 109 */ 0x9644,
- /* 2nd byte: 110 */ 0x4fae,
- /* 2nd byte: 111 */ 0x64ab,
- /* 2nd byte: 112 */ 0x6b66,
- /* 2nd byte: 113 */ 0x821e,
- /* 2nd byte: 114 */ 0x8461,
- /* 2nd byte: 115 */ 0x856a,
- /* 2nd byte: 116 */ 0x90e8,
- /* 2nd byte: 117 */ 0x5c01,
- /* 2nd byte: 118 */ 0x6953,
- /* 2nd byte: 119 */ 0x98a8,
- /* 2nd byte: 120 */ 0x847a,
- /* 2nd byte: 121 */ 0x8557,
- /* 2nd byte: 122 */ 0x4f0f,
- /* 2nd byte: 123 */ 0x526f,
- /* 2nd byte: 124 */ 0x5fa9,
- /* 2nd byte: 125 */ 0x5e45,
- /* 2nd byte: 126 */ 0x670d},
-/* 1st byte: 74 */ {
- /* 2nd byte: 33 */ 0x798f,
- /* 2nd byte: 34 */ 0x8179,
- /* 2nd byte: 35 */ 0x8907,
- /* 2nd byte: 36 */ 0x8986,
- /* 2nd byte: 37 */ 0x6df5,
- /* 2nd byte: 38 */ 0x5f17,
- /* 2nd byte: 39 */ 0x6255,
- /* 2nd byte: 40 */ 0x6cb8,
- /* 2nd byte: 41 */ 0x4ecf,
- /* 2nd byte: 42 */ 0x7269,
- /* 2nd byte: 43 */ 0x9b92,
- /* 2nd byte: 44 */ 0x5206,
- /* 2nd byte: 45 */ 0x543b,
- /* 2nd byte: 46 */ 0x5674,
- /* 2nd byte: 47 */ 0x58b3,
- /* 2nd byte: 48 */ 0x61a4,
- /* 2nd byte: 49 */ 0x626e,
- /* 2nd byte: 50 */ 0x711a,
- /* 2nd byte: 51 */ 0x596e,
- /* 2nd byte: 52 */ 0x7c89,
- /* 2nd byte: 53 */ 0x7cde,
- /* 2nd byte: 54 */ 0x7d1b,
- /* 2nd byte: 55 */ 0x96f0,
- /* 2nd byte: 56 */ 0x6587,
- /* 2nd byte: 57 */ 0x805e,
- /* 2nd byte: 58 */ 0x4e19,
- /* 2nd byte: 59 */ 0x4f75,
- /* 2nd byte: 60 */ 0x5175,
- /* 2nd byte: 61 */ 0x5840,
- /* 2nd byte: 62 */ 0x5e63,
- /* 2nd byte: 63 */ 0x5e73,
- /* 2nd byte: 64 */ 0x5f0a,
- /* 2nd byte: 65 */ 0x67c4,
- /* 2nd byte: 66 */ 0x4e26,
- /* 2nd byte: 67 */ 0x853d,
- /* 2nd byte: 68 */ 0x9589,
- /* 2nd byte: 69 */ 0x965b,
- /* 2nd byte: 70 */ 0x7c73,
- /* 2nd byte: 71 */ 0x9801,
- /* 2nd byte: 72 */ 0x50fb,
- /* 2nd byte: 73 */ 0x58c1,
- /* 2nd byte: 74 */ 0x7656,
- /* 2nd byte: 75 */ 0x78a7,
- /* 2nd byte: 76 */ 0x5225,
- /* 2nd byte: 77 */ 0x77a5,
- /* 2nd byte: 78 */ 0x8511,
- /* 2nd byte: 79 */ 0x7b86,
- /* 2nd byte: 80 */ 0x504f,
- /* 2nd byte: 81 */ 0x5909,
- /* 2nd byte: 82 */ 0x7247,
- /* 2nd byte: 83 */ 0x7bc7,
- /* 2nd byte: 84 */ 0x7de8,
- /* 2nd byte: 85 */ 0x8fba,
- /* 2nd byte: 86 */ 0x8fd4,
- /* 2nd byte: 87 */ 0x904d,
- /* 2nd byte: 88 */ 0x4fbf,
- /* 2nd byte: 89 */ 0x52c9,
- /* 2nd byte: 90 */ 0x5a29,
- /* 2nd byte: 91 */ 0x5f01,
- /* 2nd byte: 92 */ 0x97ad,
- /* 2nd byte: 93 */ 0x4fdd,
- /* 2nd byte: 94 */ 0x8217,
- /* 2nd byte: 95 */ 0x92ea,
- /* 2nd byte: 96 */ 0x5703,
- /* 2nd byte: 97 */ 0x6355,
- /* 2nd byte: 98 */ 0x6b69,
- /* 2nd byte: 99 */ 0x752b,
- /* 2nd byte: 100 */ 0x88dc,
- /* 2nd byte: 101 */ 0x8f14,
- /* 2nd byte: 102 */ 0x7a42,
- /* 2nd byte: 103 */ 0x52df,
- /* 2nd byte: 104 */ 0x5893,
- /* 2nd byte: 105 */ 0x6155,
- /* 2nd byte: 106 */ 0x620a,
- /* 2nd byte: 107 */ 0x66ae,
- /* 2nd byte: 108 */ 0x6bcd,
- /* 2nd byte: 109 */ 0x7c3f,
- /* 2nd byte: 110 */ 0x83e9,
- /* 2nd byte: 111 */ 0x5023,
- /* 2nd byte: 112 */ 0x4ff8,
- /* 2nd byte: 113 */ 0x5305,
- /* 2nd byte: 114 */ 0x5446,
- /* 2nd byte: 115 */ 0x5831,
- /* 2nd byte: 116 */ 0x5949,
- /* 2nd byte: 117 */ 0x5b9d,
- /* 2nd byte: 118 */ 0x5cf0,
- /* 2nd byte: 119 */ 0x5cef,
- /* 2nd byte: 120 */ 0x5d29,
- /* 2nd byte: 121 */ 0x5e96,
- /* 2nd byte: 122 */ 0x62b1,
- /* 2nd byte: 123 */ 0x6367,
- /* 2nd byte: 124 */ 0x653e,
- /* 2nd byte: 125 */ 0x65b9,
- /* 2nd byte: 126 */ 0x670b},
-/* 1st byte: 75 */ {
- /* 2nd byte: 33 */ 0x6cd5,
- /* 2nd byte: 34 */ 0x6ce1,
- /* 2nd byte: 35 */ 0x70f9,
- /* 2nd byte: 36 */ 0x7832,
- /* 2nd byte: 37 */ 0x7e2b,
- /* 2nd byte: 38 */ 0x80de,
- /* 2nd byte: 39 */ 0x82b3,
- /* 2nd byte: 40 */ 0x840c,
- /* 2nd byte: 41 */ 0x84ec,
- /* 2nd byte: 42 */ 0x8702,
- /* 2nd byte: 43 */ 0x8912,
- /* 2nd byte: 44 */ 0x8a2a,
- /* 2nd byte: 45 */ 0x8c4a,
- /* 2nd byte: 46 */ 0x90a6,
- /* 2nd byte: 47 */ 0x92d2,
- /* 2nd byte: 48 */ 0x98fd,
- /* 2nd byte: 49 */ 0x9cf3,
- /* 2nd byte: 50 */ 0x9d6c,
- /* 2nd byte: 51 */ 0x4e4f,
- /* 2nd byte: 52 */ 0x4ea1,
- /* 2nd byte: 53 */ 0x508d,
- /* 2nd byte: 54 */ 0x5256,
- /* 2nd byte: 55 */ 0x574a,
- /* 2nd byte: 56 */ 0x59a8,
- /* 2nd byte: 57 */ 0x5e3d,
- /* 2nd byte: 58 */ 0x5fd8,
- /* 2nd byte: 59 */ 0x5fd9,
- /* 2nd byte: 60 */ 0x623f,
- /* 2nd byte: 61 */ 0x66b4,
- /* 2nd byte: 62 */ 0x671b,
- /* 2nd byte: 63 */ 0x67d0,
- /* 2nd byte: 64 */ 0x68d2,
- /* 2nd byte: 65 */ 0x5192,
- /* 2nd byte: 66 */ 0x7d21,
- /* 2nd byte: 67 */ 0x80aa,
- /* 2nd byte: 68 */ 0x81a8,
- /* 2nd byte: 69 */ 0x8b00,
- /* 2nd byte: 70 */ 0x8c8c,
- /* 2nd byte: 71 */ 0x8cbf,
- /* 2nd byte: 72 */ 0x927e,
- /* 2nd byte: 73 */ 0x9632,
- /* 2nd byte: 74 */ 0x5420,
- /* 2nd byte: 75 */ 0x982c,
- /* 2nd byte: 76 */ 0x5317,
- /* 2nd byte: 77 */ 0x50d5,
- /* 2nd byte: 78 */ 0x535c,
- /* 2nd byte: 79 */ 0x58a8,
- /* 2nd byte: 80 */ 0x64b2,
- /* 2nd byte: 81 */ 0x6734,
- /* 2nd byte: 82 */ 0x7267,
- /* 2nd byte: 83 */ 0x7766,
- /* 2nd byte: 84 */ 0x7a46,
- /* 2nd byte: 85 */ 0x91e6,
- /* 2nd byte: 86 */ 0x52c3,
- /* 2nd byte: 87 */ 0x6ca1,
- /* 2nd byte: 88 */ 0x6b86,
- /* 2nd byte: 89 */ 0x5800,
- /* 2nd byte: 90 */ 0x5e4c,
- /* 2nd byte: 91 */ 0x5954,
- /* 2nd byte: 92 */ 0x672c,
- /* 2nd byte: 93 */ 0x7ffb,
- /* 2nd byte: 94 */ 0x51e1,
- /* 2nd byte: 95 */ 0x76c6,
- /* 2nd byte: 96 */ 0x6469,
- /* 2nd byte: 97 */ 0x78e8,
- /* 2nd byte: 98 */ 0x9b54,
- /* 2nd byte: 99 */ 0x9ebb,
- /* 2nd byte: 100 */ 0x57cb,
- /* 2nd byte: 101 */ 0x59b9,
- /* 2nd byte: 102 */ 0x6627,
- /* 2nd byte: 103 */ 0x679a,
- /* 2nd byte: 104 */ 0x6bce,
- /* 2nd byte: 105 */ 0x54e9,
- /* 2nd byte: 106 */ 0x69d9,
- /* 2nd byte: 107 */ 0x5e55,
- /* 2nd byte: 108 */ 0x819c,
- /* 2nd byte: 109 */ 0x6795,
- /* 2nd byte: 110 */ 0x9baa,
- /* 2nd byte: 111 */ 0x67fe,
- /* 2nd byte: 112 */ 0x9c52,
- /* 2nd byte: 113 */ 0x685d,
- /* 2nd byte: 114 */ 0x4ea6,
- /* 2nd byte: 115 */ 0x4fe3,
- /* 2nd byte: 116 */ 0x53c8,
- /* 2nd byte: 117 */ 0x62b9,
- /* 2nd byte: 118 */ 0x672b,
- /* 2nd byte: 119 */ 0x6cab,
- /* 2nd byte: 120 */ 0x8fc4,
- /* 2nd byte: 121 */ 0x4fad,
- /* 2nd byte: 122 */ 0x7e6d,
- /* 2nd byte: 123 */ 0x9ebf,
- /* 2nd byte: 124 */ 0x4e07,
- /* 2nd byte: 125 */ 0x6162,
- /* 2nd byte: 126 */ 0x6e80},
-/* 1st byte: 76 */ {
- /* 2nd byte: 33 */ 0x6f2b,
- /* 2nd byte: 34 */ 0x8513,
- /* 2nd byte: 35 */ 0x5473,
- /* 2nd byte: 36 */ 0x672a,
- /* 2nd byte: 37 */ 0x9b45,
- /* 2nd byte: 38 */ 0x5df3,
- /* 2nd byte: 39 */ 0x7b95,
- /* 2nd byte: 40 */ 0x5cac,
- /* 2nd byte: 41 */ 0x5bc6,
- /* 2nd byte: 42 */ 0x871c,
- /* 2nd byte: 43 */ 0x6e4a,
- /* 2nd byte: 44 */ 0x84d1,
- /* 2nd byte: 45 */ 0x7a14,
- /* 2nd byte: 46 */ 0x8108,
- /* 2nd byte: 47 */ 0x5999,
- /* 2nd byte: 48 */ 0x7c8d,
- /* 2nd byte: 49 */ 0x6c11,
- /* 2nd byte: 50 */ 0x7720,
- /* 2nd byte: 51 */ 0x52d9,
- /* 2nd byte: 52 */ 0x5922,
- /* 2nd byte: 53 */ 0x7121,
- /* 2nd byte: 54 */ 0x725f,
- /* 2nd byte: 55 */ 0x77db,
- /* 2nd byte: 56 */ 0x9727,
- /* 2nd byte: 57 */ 0x9d61,
- /* 2nd byte: 58 */ 0x690b,
- /* 2nd byte: 59 */ 0x5a7f,
- /* 2nd byte: 60 */ 0x5a18,
- /* 2nd byte: 61 */ 0x51a5,
- /* 2nd byte: 62 */ 0x540d,
- /* 2nd byte: 63 */ 0x547d,
- /* 2nd byte: 64 */ 0x660e,
- /* 2nd byte: 65 */ 0x76df,
- /* 2nd byte: 66 */ 0x8ff7,
- /* 2nd byte: 67 */ 0x9298,
- /* 2nd byte: 68 */ 0x9cf4,
- /* 2nd byte: 69 */ 0x59ea,
- /* 2nd byte: 70 */ 0x725d,
- /* 2nd byte: 71 */ 0x6ec5,
- /* 2nd byte: 72 */ 0x514d,
- /* 2nd byte: 73 */ 0x68c9,
- /* 2nd byte: 74 */ 0x7dbf,
- /* 2nd byte: 75 */ 0x7dec,
- /* 2nd byte: 76 */ 0x9762,
- /* 2nd byte: 77 */ 0x9eba,
- /* 2nd byte: 78 */ 0x6478,
- /* 2nd byte: 79 */ 0x6a21,
- /* 2nd byte: 80 */ 0x8302,
- /* 2nd byte: 81 */ 0x5984,
- /* 2nd byte: 82 */ 0x5b5f,
- /* 2nd byte: 83 */ 0x6bdb,
- /* 2nd byte: 84 */ 0x731b,
- /* 2nd byte: 85 */ 0x76f2,
- /* 2nd byte: 86 */ 0x7db2,
- /* 2nd byte: 87 */ 0x8017,
- /* 2nd byte: 88 */ 0x8499,
- /* 2nd byte: 89 */ 0x5132,
- /* 2nd byte: 90 */ 0x6728,
- /* 2nd byte: 91 */ 0x9ed9,
- /* 2nd byte: 92 */ 0x76ee,
- /* 2nd byte: 93 */ 0x6762,
- /* 2nd byte: 94 */ 0x52ff,
- /* 2nd byte: 95 */ 0x9905,
- /* 2nd byte: 96 */ 0x5c24,
- /* 2nd byte: 97 */ 0x623b,
- /* 2nd byte: 98 */ 0x7c7e,
- /* 2nd byte: 99 */ 0x8cb0,
- /* 2nd byte: 100 */ 0x554f,
- /* 2nd byte: 101 */ 0x60b6,
- /* 2nd byte: 102 */ 0x7d0b,
- /* 2nd byte: 103 */ 0x9580,
- /* 2nd byte: 104 */ 0x5301,
- /* 2nd byte: 105 */ 0x4e5f,
- /* 2nd byte: 106 */ 0x51b6,
- /* 2nd byte: 107 */ 0x591c,
- /* 2nd byte: 108 */ 0x723a,
- /* 2nd byte: 109 */ 0x8036,
- /* 2nd byte: 110 */ 0x91ce,
- /* 2nd byte: 111 */ 0x5f25,
- /* 2nd byte: 112 */ 0x77e2,
- /* 2nd byte: 113 */ 0x5384,
- /* 2nd byte: 114 */ 0x5f79,
- /* 2nd byte: 115 */ 0x7d04,
- /* 2nd byte: 116 */ 0x85ac,
- /* 2nd byte: 117 */ 0x8a33,
- /* 2nd byte: 118 */ 0x8e8d,
- /* 2nd byte: 119 */ 0x9756,
- /* 2nd byte: 120 */ 0x67f3,
- /* 2nd byte: 121 */ 0x85ae,
- /* 2nd byte: 122 */ 0x9453,
- /* 2nd byte: 123 */ 0x6109,
- /* 2nd byte: 124 */ 0x6108,
- /* 2nd byte: 125 */ 0x6cb9,
- /* 2nd byte: 126 */ 0x7652},
-/* 1st byte: 77 */ {
- /* 2nd byte: 33 */ 0x8aed,
- /* 2nd byte: 34 */ 0x8f38,
- /* 2nd byte: 35 */ 0x552f,
- /* 2nd byte: 36 */ 0x4f51,
- /* 2nd byte: 37 */ 0x512a,
- /* 2nd byte: 38 */ 0x52c7,
- /* 2nd byte: 39 */ 0x53cb,
- /* 2nd byte: 40 */ 0x5ba5,
- /* 2nd byte: 41 */ 0x5e7d,
- /* 2nd byte: 42 */ 0x60a0,
- /* 2nd byte: 43 */ 0x6182,
- /* 2nd byte: 44 */ 0x63d6,
- /* 2nd byte: 45 */ 0x6709,
- /* 2nd byte: 46 */ 0x67da,
- /* 2nd byte: 47 */ 0x6e67,
- /* 2nd byte: 48 */ 0x6d8c,
- /* 2nd byte: 49 */ 0x7336,
- /* 2nd byte: 50 */ 0x7337,
- /* 2nd byte: 51 */ 0x7531,
- /* 2nd byte: 52 */ 0x7950,
- /* 2nd byte: 53 */ 0x88d5,
- /* 2nd byte: 54 */ 0x8a98,
- /* 2nd byte: 55 */ 0x904a,
- /* 2nd byte: 56 */ 0x9091,
- /* 2nd byte: 57 */ 0x90f5,
- /* 2nd byte: 58 */ 0x96c4,
- /* 2nd byte: 59 */ 0x878d,
- /* 2nd byte: 60 */ 0x5915,
- /* 2nd byte: 61 */ 0x4e88,
- /* 2nd byte: 62 */ 0x4f59,
- /* 2nd byte: 63 */ 0x4e0e,
- /* 2nd byte: 64 */ 0x8a89,
- /* 2nd byte: 65 */ 0x8f3f,
- /* 2nd byte: 66 */ 0x9810,
- /* 2nd byte: 67 */ 0x50ad,
- /* 2nd byte: 68 */ 0x5e7c,
- /* 2nd byte: 69 */ 0x5996,
- /* 2nd byte: 70 */ 0x5bb9,
- /* 2nd byte: 71 */ 0x5eb8,
- /* 2nd byte: 72 */ 0x63da,
- /* 2nd byte: 73 */ 0x63fa,
- /* 2nd byte: 74 */ 0x64c1,
- /* 2nd byte: 75 */ 0x66dc,
- /* 2nd byte: 76 */ 0x694a,
- /* 2nd byte: 77 */ 0x69d8,
- /* 2nd byte: 78 */ 0x6d0b,
- /* 2nd byte: 79 */ 0x6eb6,
- /* 2nd byte: 80 */ 0x7194,
- /* 2nd byte: 81 */ 0x7528,
- /* 2nd byte: 82 */ 0x7aaf,
- /* 2nd byte: 83 */ 0x7f8a,
- /* 2nd byte: 84 */ 0x8000,
- /* 2nd byte: 85 */ 0x8449,
- /* 2nd byte: 86 */ 0x84c9,
- /* 2nd byte: 87 */ 0x8981,
- /* 2nd byte: 88 */ 0x8b21,
- /* 2nd byte: 89 */ 0x8e0a,
- /* 2nd byte: 90 */ 0x9065,
- /* 2nd byte: 91 */ 0x967d,
- /* 2nd byte: 92 */ 0x990a,
- /* 2nd byte: 93 */ 0x617e,
- /* 2nd byte: 94 */ 0x6291,
- /* 2nd byte: 95 */ 0x6b32,
- /* 2nd byte: 96 */ 0x6c83,
- /* 2nd byte: 97 */ 0x6d74,
- /* 2nd byte: 98 */ 0x7fcc,
- /* 2nd byte: 99 */ 0x7ffc,
- /* 2nd byte: 100 */ 0x6dc0,
- /* 2nd byte: 101 */ 0x7f85,
- /* 2nd byte: 102 */ 0x87ba,
- /* 2nd byte: 103 */ 0x88f8,
- /* 2nd byte: 104 */ 0x6765,
- /* 2nd byte: 105 */ 0x83b1,
- /* 2nd byte: 106 */ 0x983c,
- /* 2nd byte: 107 */ 0x96f7,
- /* 2nd byte: 108 */ 0x6d1b,
- /* 2nd byte: 109 */ 0x7d61,
- /* 2nd byte: 110 */ 0x843d,
- /* 2nd byte: 111 */ 0x916a,
- /* 2nd byte: 112 */ 0x4e71,
- /* 2nd byte: 113 */ 0x5375,
- /* 2nd byte: 114 */ 0x5d50,
- /* 2nd byte: 115 */ 0x6b04,
- /* 2nd byte: 116 */ 0x6feb,
- /* 2nd byte: 117 */ 0x85cd,
- /* 2nd byte: 118 */ 0x862d,
- /* 2nd byte: 119 */ 0x89a7,
- /* 2nd byte: 120 */ 0x5229,
- /* 2nd byte: 121 */ 0x540f,
- /* 2nd byte: 122 */ 0x5c65,
- /* 2nd byte: 123 */ 0x674e,
- /* 2nd byte: 124 */ 0x68a8,
- /* 2nd byte: 125 */ 0x7406,
- /* 2nd byte: 126 */ 0x7483},
-/* 1st byte: 78 */ {
- /* 2nd byte: 33 */ 0x75e2,
- /* 2nd byte: 34 */ 0x88cf,
- /* 2nd byte: 35 */ 0x88e1,
- /* 2nd byte: 36 */ 0x91cc,
- /* 2nd byte: 37 */ 0x96e2,
- /* 2nd byte: 38 */ 0x9678,
- /* 2nd byte: 39 */ 0x5f8b,
- /* 2nd byte: 40 */ 0x7387,
- /* 2nd byte: 41 */ 0x7acb,
- /* 2nd byte: 42 */ 0x844e,
- /* 2nd byte: 43 */ 0x63a0,
- /* 2nd byte: 44 */ 0x7565,
- /* 2nd byte: 45 */ 0x5289,
- /* 2nd byte: 46 */ 0x6d41,
- /* 2nd byte: 47 */ 0x6e9c,
- /* 2nd byte: 48 */ 0x7409,
- /* 2nd byte: 49 */ 0x7559,
- /* 2nd byte: 50 */ 0x786b,
- /* 2nd byte: 51 */ 0x7c92,
- /* 2nd byte: 52 */ 0x9686,
- /* 2nd byte: 53 */ 0x7adc,
- /* 2nd byte: 54 */ 0x9f8d,
- /* 2nd byte: 55 */ 0x4fb6,
- /* 2nd byte: 56 */ 0x616e,
- /* 2nd byte: 57 */ 0x65c5,
- /* 2nd byte: 58 */ 0x865c,
- /* 2nd byte: 59 */ 0x4e86,
- /* 2nd byte: 60 */ 0x4eae,
- /* 2nd byte: 61 */ 0x50da,
- /* 2nd byte: 62 */ 0x4e21,
- /* 2nd byte: 63 */ 0x51cc,
- /* 2nd byte: 64 */ 0x5bee,
- /* 2nd byte: 65 */ 0x6599,
- /* 2nd byte: 66 */ 0x6881,
- /* 2nd byte: 67 */ 0x6dbc,
- /* 2nd byte: 68 */ 0x731f,
- /* 2nd byte: 69 */ 0x7642,
- /* 2nd byte: 70 */ 0x77ad,
- /* 2nd byte: 71 */ 0x7a1c,
- /* 2nd byte: 72 */ 0x7ce7,
- /* 2nd byte: 73 */ 0x826f,
- /* 2nd byte: 74 */ 0x8ad2,
- /* 2nd byte: 75 */ 0x907c,
- /* 2nd byte: 76 */ 0x91cf,
- /* 2nd byte: 77 */ 0x9675,
- /* 2nd byte: 78 */ 0x9818,
- /* 2nd byte: 79 */ 0x529b,
- /* 2nd byte: 80 */ 0x7dd1,
- /* 2nd byte: 81 */ 0x502b,
- /* 2nd byte: 82 */ 0x5398,
- /* 2nd byte: 83 */ 0x6797,
- /* 2nd byte: 84 */ 0x6dcb,
- /* 2nd byte: 85 */ 0x71d0,
- /* 2nd byte: 86 */ 0x7433,
- /* 2nd byte: 87 */ 0x81e8,
- /* 2nd byte: 88 */ 0x8f2a,
- /* 2nd byte: 89 */ 0x96a3,
- /* 2nd byte: 90 */ 0x9c57,
- /* 2nd byte: 91 */ 0x9e9f,
- /* 2nd byte: 92 */ 0x7460,
- /* 2nd byte: 93 */ 0x5841,
- /* 2nd byte: 94 */ 0x6d99,
- /* 2nd byte: 95 */ 0x7d2f,
- /* 2nd byte: 96 */ 0x985e,
- /* 2nd byte: 97 */ 0x4ee4,
- /* 2nd byte: 98 */ 0x4f36,
- /* 2nd byte: 99 */ 0x4f8b,
- /* 2nd byte: 100 */ 0x51b7,
- /* 2nd byte: 101 */ 0x52b1,
- /* 2nd byte: 102 */ 0x5dba,
- /* 2nd byte: 103 */ 0x601c,
- /* 2nd byte: 104 */ 0x73b2,
- /* 2nd byte: 105 */ 0x793c,
- /* 2nd byte: 106 */ 0x82d3,
- /* 2nd byte: 107 */ 0x9234,
- /* 2nd byte: 108 */ 0x96b7,
- /* 2nd byte: 109 */ 0x96f6,
- /* 2nd byte: 110 */ 0x970a,
- /* 2nd byte: 111 */ 0x9e97,
- /* 2nd byte: 112 */ 0x9f62,
- /* 2nd byte: 113 */ 0x66a6,
- /* 2nd byte: 114 */ 0x6b74,
- /* 2nd byte: 115 */ 0x5217,
- /* 2nd byte: 116 */ 0x52a3,
- /* 2nd byte: 117 */ 0x70c8,
- /* 2nd byte: 118 */ 0x88c2,
- /* 2nd byte: 119 */ 0x5ec9,
- /* 2nd byte: 120 */ 0x604b,
- /* 2nd byte: 121 */ 0x6190,
- /* 2nd byte: 122 */ 0x6f23,
- /* 2nd byte: 123 */ 0x7149,
- /* 2nd byte: 124 */ 0x7c3e,
- /* 2nd byte: 125 */ 0x7df4,
- /* 2nd byte: 126 */ 0x806f},
-/* 1st byte: 79 */ {
- /* 2nd byte: 33 */ 0x84ee,
- /* 2nd byte: 34 */ 0x9023,
- /* 2nd byte: 35 */ 0x932c,
- /* 2nd byte: 36 */ 0x5442,
- /* 2nd byte: 37 */ 0x9b6f,
- /* 2nd byte: 38 */ 0x6ad3,
- /* 2nd byte: 39 */ 0x7089,
- /* 2nd byte: 40 */ 0x8cc2,
- /* 2nd byte: 41 */ 0x8def,
- /* 2nd byte: 42 */ 0x9732,
- /* 2nd byte: 43 */ 0x52b4,
- /* 2nd byte: 44 */ 0x5a41,
- /* 2nd byte: 45 */ 0x5eca,
- /* 2nd byte: 46 */ 0x5f04,
- /* 2nd byte: 47 */ 0x6717,
- /* 2nd byte: 48 */ 0x697c,
- /* 2nd byte: 49 */ 0x6994,
- /* 2nd byte: 50 */ 0x6d6a,
- /* 2nd byte: 51 */ 0x6f0f,
- /* 2nd byte: 52 */ 0x7262,
- /* 2nd byte: 53 */ 0x72fc,
- /* 2nd byte: 54 */ 0x7bed,
- /* 2nd byte: 55 */ 0x8001,
- /* 2nd byte: 56 */ 0x807e,
- /* 2nd byte: 57 */ 0x874b,
- /* 2nd byte: 58 */ 0x90ce,
- /* 2nd byte: 59 */ 0x516d,
- /* 2nd byte: 60 */ 0x9e93,
- /* 2nd byte: 61 */ 0x7984,
- /* 2nd byte: 62 */ 0x808b,
- /* 2nd byte: 63 */ 0x9332,
- /* 2nd byte: 64 */ 0x8ad6,
- /* 2nd byte: 65 */ 0x502d,
- /* 2nd byte: 66 */ 0x548c,
- /* 2nd byte: 67 */ 0x8a71,
- /* 2nd byte: 68 */ 0x6b6a,
- /* 2nd byte: 69 */ 0x8cc4,
- /* 2nd byte: 70 */ 0x8107,
- /* 2nd byte: 71 */ 0x60d1,
- /* 2nd byte: 72 */ 0x67a0,
- /* 2nd byte: 73 */ 0x9df2,
- /* 2nd byte: 74 */ 0x4e99,
- /* 2nd byte: 75 */ 0x4e98,
- /* 2nd byte: 76 */ 0x9c10,
- /* 2nd byte: 77 */ 0x8a6b,
- /* 2nd byte: 78 */ 0x85c1,
- /* 2nd byte: 79 */ 0x8568,
- /* 2nd byte: 80 */ 0x6900,
- /* 2nd byte: 81 */ 0x6e7e,
- /* 2nd byte: 82 */ 0x7897,
- /* 2nd byte: 83 */ 0x8155,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 80 */ {
- /* 2nd byte: 33 */ 0x5f0c,
- /* 2nd byte: 34 */ 0x4e10,
- /* 2nd byte: 35 */ 0x4e15,
- /* 2nd byte: 36 */ 0x4e2a,
- /* 2nd byte: 37 */ 0x4e31,
- /* 2nd byte: 38 */ 0x4e36,
- /* 2nd byte: 39 */ 0x4e3c,
- /* 2nd byte: 40 */ 0x4e3f,
- /* 2nd byte: 41 */ 0x4e42,
- /* 2nd byte: 42 */ 0x4e56,
- /* 2nd byte: 43 */ 0x4e58,
- /* 2nd byte: 44 */ 0x4e82,
- /* 2nd byte: 45 */ 0x4e85,
- /* 2nd byte: 46 */ 0x8c6b,
- /* 2nd byte: 47 */ 0x4e8a,
- /* 2nd byte: 48 */ 0x8212,
- /* 2nd byte: 49 */ 0x5f0d,
- /* 2nd byte: 50 */ 0x4e8e,
- /* 2nd byte: 51 */ 0x4e9e,
- /* 2nd byte: 52 */ 0x4e9f,
- /* 2nd byte: 53 */ 0x4ea0,
- /* 2nd byte: 54 */ 0x4ea2,
- /* 2nd byte: 55 */ 0x4eb0,
- /* 2nd byte: 56 */ 0x4eb3,
- /* 2nd byte: 57 */ 0x4eb6,
- /* 2nd byte: 58 */ 0x4ece,
- /* 2nd byte: 59 */ 0x4ecd,
- /* 2nd byte: 60 */ 0x4ec4,
- /* 2nd byte: 61 */ 0x4ec6,
- /* 2nd byte: 62 */ 0x4ec2,
- /* 2nd byte: 63 */ 0x4ed7,
- /* 2nd byte: 64 */ 0x4ede,
- /* 2nd byte: 65 */ 0x4eed,
- /* 2nd byte: 66 */ 0x4edf,
- /* 2nd byte: 67 */ 0x4ef7,
- /* 2nd byte: 68 */ 0x4f09,
- /* 2nd byte: 69 */ 0x4f5a,
- /* 2nd byte: 70 */ 0x4f30,
- /* 2nd byte: 71 */ 0x4f5b,
- /* 2nd byte: 72 */ 0x4f5d,
- /* 2nd byte: 73 */ 0x4f57,
- /* 2nd byte: 74 */ 0x4f47,
- /* 2nd byte: 75 */ 0x4f76,
- /* 2nd byte: 76 */ 0x4f88,
- /* 2nd byte: 77 */ 0x4f8f,
- /* 2nd byte: 78 */ 0x4f98,
- /* 2nd byte: 79 */ 0x4f7b,
- /* 2nd byte: 80 */ 0x4f69,
- /* 2nd byte: 81 */ 0x4f70,
- /* 2nd byte: 82 */ 0x4f91,
- /* 2nd byte: 83 */ 0x4f6f,
- /* 2nd byte: 84 */ 0x4f86,
- /* 2nd byte: 85 */ 0x4f96,
- /* 2nd byte: 86 */ 0x5118,
- /* 2nd byte: 87 */ 0x4fd4,
- /* 2nd byte: 88 */ 0x4fdf,
- /* 2nd byte: 89 */ 0x4fce,
- /* 2nd byte: 90 */ 0x4fd8,
- /* 2nd byte: 91 */ 0x4fdb,
- /* 2nd byte: 92 */ 0x4fd1,
- /* 2nd byte: 93 */ 0x4fda,
- /* 2nd byte: 94 */ 0x4fd0,
- /* 2nd byte: 95 */ 0x4fe4,
- /* 2nd byte: 96 */ 0x4fe5,
- /* 2nd byte: 97 */ 0x501a,
- /* 2nd byte: 98 */ 0x5028,
- /* 2nd byte: 99 */ 0x5014,
- /* 2nd byte: 100 */ 0x502a,
- /* 2nd byte: 101 */ 0x5025,
- /* 2nd byte: 102 */ 0x5005,
- /* 2nd byte: 103 */ 0x4f1c,
- /* 2nd byte: 104 */ 0x4ff6,
- /* 2nd byte: 105 */ 0x5021,
- /* 2nd byte: 106 */ 0x5029,
- /* 2nd byte: 107 */ 0x502c,
- /* 2nd byte: 108 */ 0x4ffe,
- /* 2nd byte: 109 */ 0x4fef,
- /* 2nd byte: 110 */ 0x5011,
- /* 2nd byte: 111 */ 0x5006,
- /* 2nd byte: 112 */ 0x5043,
- /* 2nd byte: 113 */ 0x5047,
- /* 2nd byte: 114 */ 0x6703,
- /* 2nd byte: 115 */ 0x5055,
- /* 2nd byte: 116 */ 0x5050,
- /* 2nd byte: 117 */ 0x5048,
- /* 2nd byte: 118 */ 0x505a,
- /* 2nd byte: 119 */ 0x5056,
- /* 2nd byte: 120 */ 0x506c,
- /* 2nd byte: 121 */ 0x5078,
- /* 2nd byte: 122 */ 0x5080,
- /* 2nd byte: 123 */ 0x509a,
- /* 2nd byte: 124 */ 0x5085,
- /* 2nd byte: 125 */ 0x50b4,
- /* 2nd byte: 126 */ 0x50b2},
-/* 1st byte: 81 */ {
- /* 2nd byte: 33 */ 0x50c9,
- /* 2nd byte: 34 */ 0x50ca,
- /* 2nd byte: 35 */ 0x50b3,
- /* 2nd byte: 36 */ 0x50c2,
- /* 2nd byte: 37 */ 0x50d6,
- /* 2nd byte: 38 */ 0x50de,
- /* 2nd byte: 39 */ 0x50e5,
- /* 2nd byte: 40 */ 0x50ed,
- /* 2nd byte: 41 */ 0x50e3,
- /* 2nd byte: 42 */ 0x50ee,
- /* 2nd byte: 43 */ 0x50f9,
- /* 2nd byte: 44 */ 0x50f5,
- /* 2nd byte: 45 */ 0x5109,
- /* 2nd byte: 46 */ 0x5101,
- /* 2nd byte: 47 */ 0x5102,
- /* 2nd byte: 48 */ 0x5116,
- /* 2nd byte: 49 */ 0x5115,
- /* 2nd byte: 50 */ 0x5114,
- /* 2nd byte: 51 */ 0x511a,
- /* 2nd byte: 52 */ 0x5121,
- /* 2nd byte: 53 */ 0x513a,
- /* 2nd byte: 54 */ 0x5137,
- /* 2nd byte: 55 */ 0x513c,
- /* 2nd byte: 56 */ 0x513b,
- /* 2nd byte: 57 */ 0x513f,
- /* 2nd byte: 58 */ 0x5140,
- /* 2nd byte: 59 */ 0x5152,
- /* 2nd byte: 60 */ 0x514c,
- /* 2nd byte: 61 */ 0x5154,
- /* 2nd byte: 62 */ 0x5162,
- /* 2nd byte: 63 */ 0x7af8,
- /* 2nd byte: 64 */ 0x5169,
- /* 2nd byte: 65 */ 0x516a,
- /* 2nd byte: 66 */ 0x516e,
- /* 2nd byte: 67 */ 0x5180,
- /* 2nd byte: 68 */ 0x5182,
- /* 2nd byte: 69 */ 0x56d8,
- /* 2nd byte: 70 */ 0x518c,
- /* 2nd byte: 71 */ 0x5189,
- /* 2nd byte: 72 */ 0x518f,
- /* 2nd byte: 73 */ 0x5191,
- /* 2nd byte: 74 */ 0x5193,
- /* 2nd byte: 75 */ 0x5195,
- /* 2nd byte: 76 */ 0x5196,
- /* 2nd byte: 77 */ 0x51a4,
- /* 2nd byte: 78 */ 0x51a6,
- /* 2nd byte: 79 */ 0x51a2,
- /* 2nd byte: 80 */ 0x51a9,
- /* 2nd byte: 81 */ 0x51aa,
- /* 2nd byte: 82 */ 0x51ab,
- /* 2nd byte: 83 */ 0x51b3,
- /* 2nd byte: 84 */ 0x51b1,
- /* 2nd byte: 85 */ 0x51b2,
- /* 2nd byte: 86 */ 0x51b0,
- /* 2nd byte: 87 */ 0x51b5,
- /* 2nd byte: 88 */ 0x51bd,
- /* 2nd byte: 89 */ 0x51c5,
- /* 2nd byte: 90 */ 0x51c9,
- /* 2nd byte: 91 */ 0x51db,
- /* 2nd byte: 92 */ 0x51e0,
- /* 2nd byte: 93 */ 0x8655,
- /* 2nd byte: 94 */ 0x51e9,
- /* 2nd byte: 95 */ 0x51ed,
- /* 2nd byte: 96 */ 0x51f0,
- /* 2nd byte: 97 */ 0x51f5,
- /* 2nd byte: 98 */ 0x51fe,
- /* 2nd byte: 99 */ 0x5204,
- /* 2nd byte: 100 */ 0x520b,
- /* 2nd byte: 101 */ 0x5214,
- /* 2nd byte: 102 */ 0x520e,
- /* 2nd byte: 103 */ 0x5227,
- /* 2nd byte: 104 */ 0x522a,
- /* 2nd byte: 105 */ 0x522e,
- /* 2nd byte: 106 */ 0x5233,
- /* 2nd byte: 107 */ 0x5239,
- /* 2nd byte: 108 */ 0x524f,
- /* 2nd byte: 109 */ 0x5244,
- /* 2nd byte: 110 */ 0x524b,
- /* 2nd byte: 111 */ 0x524c,
- /* 2nd byte: 112 */ 0x525e,
- /* 2nd byte: 113 */ 0x5254,
- /* 2nd byte: 114 */ 0x526a,
- /* 2nd byte: 115 */ 0x5274,
- /* 2nd byte: 116 */ 0x5269,
- /* 2nd byte: 117 */ 0x5273,
- /* 2nd byte: 118 */ 0x527f,
- /* 2nd byte: 119 */ 0x527d,
- /* 2nd byte: 120 */ 0x528d,
- /* 2nd byte: 121 */ 0x5294,
- /* 2nd byte: 122 */ 0x5292,
- /* 2nd byte: 123 */ 0x5271,
- /* 2nd byte: 124 */ 0x5288,
- /* 2nd byte: 125 */ 0x5291,
- /* 2nd byte: 126 */ 0x8fa8},
-/* 1st byte: 82 */ {
- /* 2nd byte: 33 */ 0x8fa7,
- /* 2nd byte: 34 */ 0x52ac,
- /* 2nd byte: 35 */ 0x52ad,
- /* 2nd byte: 36 */ 0x52bc,
- /* 2nd byte: 37 */ 0x52b5,
- /* 2nd byte: 38 */ 0x52c1,
- /* 2nd byte: 39 */ 0x52cd,
- /* 2nd byte: 40 */ 0x52d7,
- /* 2nd byte: 41 */ 0x52de,
- /* 2nd byte: 42 */ 0x52e3,
- /* 2nd byte: 43 */ 0x52e6,
- /* 2nd byte: 44 */ 0x98ed,
- /* 2nd byte: 45 */ 0x52e0,
- /* 2nd byte: 46 */ 0x52f3,
- /* 2nd byte: 47 */ 0x52f5,
- /* 2nd byte: 48 */ 0x52f8,
- /* 2nd byte: 49 */ 0x52f9,
- /* 2nd byte: 50 */ 0x5306,
- /* 2nd byte: 51 */ 0x5308,
- /* 2nd byte: 52 */ 0x7538,
- /* 2nd byte: 53 */ 0x530d,
- /* 2nd byte: 54 */ 0x5310,
- /* 2nd byte: 55 */ 0x530f,
- /* 2nd byte: 56 */ 0x5315,
- /* 2nd byte: 57 */ 0x531a,
- /* 2nd byte: 58 */ 0x5323,
- /* 2nd byte: 59 */ 0x532f,
- /* 2nd byte: 60 */ 0x5331,
- /* 2nd byte: 61 */ 0x5333,
- /* 2nd byte: 62 */ 0x5338,
- /* 2nd byte: 63 */ 0x5340,
- /* 2nd byte: 64 */ 0x5346,
- /* 2nd byte: 65 */ 0x5345,
- /* 2nd byte: 66 */ 0x4e17,
- /* 2nd byte: 67 */ 0x5349,
- /* 2nd byte: 68 */ 0x534d,
- /* 2nd byte: 69 */ 0x51d6,
- /* 2nd byte: 70 */ 0x535e,
- /* 2nd byte: 71 */ 0x5369,
- /* 2nd byte: 72 */ 0x536e,
- /* 2nd byte: 73 */ 0x5918,
- /* 2nd byte: 74 */ 0x537b,
- /* 2nd byte: 75 */ 0x5377,
- /* 2nd byte: 76 */ 0x5382,
- /* 2nd byte: 77 */ 0x5396,
- /* 2nd byte: 78 */ 0x53a0,
- /* 2nd byte: 79 */ 0x53a6,
- /* 2nd byte: 80 */ 0x53a5,
- /* 2nd byte: 81 */ 0x53ae,
- /* 2nd byte: 82 */ 0x53b0,
- /* 2nd byte: 83 */ 0x53b6,
- /* 2nd byte: 84 */ 0x53c3,
- /* 2nd byte: 85 */ 0x7c12,
- /* 2nd byte: 86 */ 0x96d9,
- /* 2nd byte: 87 */ 0x53df,
- /* 2nd byte: 88 */ 0x66fc,
- /* 2nd byte: 89 */ 0x71ee,
- /* 2nd byte: 90 */ 0x53ee,
- /* 2nd byte: 91 */ 0x53e8,
- /* 2nd byte: 92 */ 0x53ed,
- /* 2nd byte: 93 */ 0x53fa,
- /* 2nd byte: 94 */ 0x5401,
- /* 2nd byte: 95 */ 0x543d,
- /* 2nd byte: 96 */ 0x5440,
- /* 2nd byte: 97 */ 0x542c,
- /* 2nd byte: 98 */ 0x542d,
- /* 2nd byte: 99 */ 0x543c,
- /* 2nd byte: 100 */ 0x542e,
- /* 2nd byte: 101 */ 0x5436,
- /* 2nd byte: 102 */ 0x5429,
- /* 2nd byte: 103 */ 0x541d,
- /* 2nd byte: 104 */ 0x544e,
- /* 2nd byte: 105 */ 0x548f,
- /* 2nd byte: 106 */ 0x5475,
- /* 2nd byte: 107 */ 0x548e,
- /* 2nd byte: 108 */ 0x545f,
- /* 2nd byte: 109 */ 0x5471,
- /* 2nd byte: 110 */ 0x5477,
- /* 2nd byte: 111 */ 0x5470,
- /* 2nd byte: 112 */ 0x5492,
- /* 2nd byte: 113 */ 0x547b,
- /* 2nd byte: 114 */ 0x5480,
- /* 2nd byte: 115 */ 0x5476,
- /* 2nd byte: 116 */ 0x5484,
- /* 2nd byte: 117 */ 0x5490,
- /* 2nd byte: 118 */ 0x5486,
- /* 2nd byte: 119 */ 0x54c7,
- /* 2nd byte: 120 */ 0x54a2,
- /* 2nd byte: 121 */ 0x54b8,
- /* 2nd byte: 122 */ 0x54a5,
- /* 2nd byte: 123 */ 0x54ac,
- /* 2nd byte: 124 */ 0x54c4,
- /* 2nd byte: 125 */ 0x54c8,
- /* 2nd byte: 126 */ 0x54a8},
-/* 1st byte: 83 */ {
- /* 2nd byte: 33 */ 0x54ab,
- /* 2nd byte: 34 */ 0x54c2,
- /* 2nd byte: 35 */ 0x54a4,
- /* 2nd byte: 36 */ 0x54be,
- /* 2nd byte: 37 */ 0x54bc,
- /* 2nd byte: 38 */ 0x54d8,
- /* 2nd byte: 39 */ 0x54e5,
- /* 2nd byte: 40 */ 0x54e6,
- /* 2nd byte: 41 */ 0x550f,
- /* 2nd byte: 42 */ 0x5514,
- /* 2nd byte: 43 */ 0x54fd,
- /* 2nd byte: 44 */ 0x54ee,
- /* 2nd byte: 45 */ 0x54ed,
- /* 2nd byte: 46 */ 0x54fa,
- /* 2nd byte: 47 */ 0x54e2,
- /* 2nd byte: 48 */ 0x5539,
- /* 2nd byte: 49 */ 0x5540,
- /* 2nd byte: 50 */ 0x5563,
- /* 2nd byte: 51 */ 0x554c,
- /* 2nd byte: 52 */ 0x552e,
- /* 2nd byte: 53 */ 0x555c,
- /* 2nd byte: 54 */ 0x5545,
- /* 2nd byte: 55 */ 0x5556,
- /* 2nd byte: 56 */ 0x5557,
- /* 2nd byte: 57 */ 0x5538,
- /* 2nd byte: 58 */ 0x5533,
- /* 2nd byte: 59 */ 0x555d,
- /* 2nd byte: 60 */ 0x5599,
- /* 2nd byte: 61 */ 0x5580,
- /* 2nd byte: 62 */ 0x54af,
- /* 2nd byte: 63 */ 0x558a,
- /* 2nd byte: 64 */ 0x559f,
- /* 2nd byte: 65 */ 0x557b,
- /* 2nd byte: 66 */ 0x557e,
- /* 2nd byte: 67 */ 0x5598,
- /* 2nd byte: 68 */ 0x559e,
- /* 2nd byte: 69 */ 0x55ae,
- /* 2nd byte: 70 */ 0x557c,
- /* 2nd byte: 71 */ 0x5583,
- /* 2nd byte: 72 */ 0x55a9,
- /* 2nd byte: 73 */ 0x5587,
- /* 2nd byte: 74 */ 0x55a8,
- /* 2nd byte: 75 */ 0x55da,
- /* 2nd byte: 76 */ 0x55c5,
- /* 2nd byte: 77 */ 0x55df,
- /* 2nd byte: 78 */ 0x55c4,
- /* 2nd byte: 79 */ 0x55dc,
- /* 2nd byte: 80 */ 0x55e4,
- /* 2nd byte: 81 */ 0x55d4,
- /* 2nd byte: 82 */ 0x5614,
- /* 2nd byte: 83 */ 0x55f7,
- /* 2nd byte: 84 */ 0x5616,
- /* 2nd byte: 85 */ 0x55fe,
- /* 2nd byte: 86 */ 0x55fd,
- /* 2nd byte: 87 */ 0x561b,
- /* 2nd byte: 88 */ 0x55f9,
- /* 2nd byte: 89 */ 0x564e,
- /* 2nd byte: 90 */ 0x5650,
- /* 2nd byte: 91 */ 0x71df,
- /* 2nd byte: 92 */ 0x5634,
- /* 2nd byte: 93 */ 0x5636,
- /* 2nd byte: 94 */ 0x5632,
- /* 2nd byte: 95 */ 0x5638,
- /* 2nd byte: 96 */ 0x566b,
- /* 2nd byte: 97 */ 0x5664,
- /* 2nd byte: 98 */ 0x562f,
- /* 2nd byte: 99 */ 0x566c,
- /* 2nd byte: 100 */ 0x566a,
- /* 2nd byte: 101 */ 0x5686,
- /* 2nd byte: 102 */ 0x5680,
- /* 2nd byte: 103 */ 0x568a,
- /* 2nd byte: 104 */ 0x56a0,
- /* 2nd byte: 105 */ 0x5694,
- /* 2nd byte: 106 */ 0x568f,
- /* 2nd byte: 107 */ 0x56a5,
- /* 2nd byte: 108 */ 0x56ae,
- /* 2nd byte: 109 */ 0x56b6,
- /* 2nd byte: 110 */ 0x56b4,
- /* 2nd byte: 111 */ 0x56c2,
- /* 2nd byte: 112 */ 0x56bc,
- /* 2nd byte: 113 */ 0x56c1,
- /* 2nd byte: 114 */ 0x56c3,
- /* 2nd byte: 115 */ 0x56c0,
- /* 2nd byte: 116 */ 0x56c8,
- /* 2nd byte: 117 */ 0x56ce,
- /* 2nd byte: 118 */ 0x56d1,
- /* 2nd byte: 119 */ 0x56d3,
- /* 2nd byte: 120 */ 0x56d7,
- /* 2nd byte: 121 */ 0x56ee,
- /* 2nd byte: 122 */ 0x56f9,
- /* 2nd byte: 123 */ 0x5700,
- /* 2nd byte: 124 */ 0x56ff,
- /* 2nd byte: 125 */ 0x5704,
- /* 2nd byte: 126 */ 0x5709},
-/* 1st byte: 84 */ {
- /* 2nd byte: 33 */ 0x5708,
- /* 2nd byte: 34 */ 0x570b,
- /* 2nd byte: 35 */ 0x570d,
- /* 2nd byte: 36 */ 0x5713,
- /* 2nd byte: 37 */ 0x5718,
- /* 2nd byte: 38 */ 0x5716,
- /* 2nd byte: 39 */ 0x55c7,
- /* 2nd byte: 40 */ 0x571c,
- /* 2nd byte: 41 */ 0x5726,
- /* 2nd byte: 42 */ 0x5737,
- /* 2nd byte: 43 */ 0x5738,
- /* 2nd byte: 44 */ 0x574e,
- /* 2nd byte: 45 */ 0x573b,
- /* 2nd byte: 46 */ 0x5740,
- /* 2nd byte: 47 */ 0x574f,
- /* 2nd byte: 48 */ 0x5769,
- /* 2nd byte: 49 */ 0x57c0,
- /* 2nd byte: 50 */ 0x5788,
- /* 2nd byte: 51 */ 0x5761,
- /* 2nd byte: 52 */ 0x577f,
- /* 2nd byte: 53 */ 0x5789,
- /* 2nd byte: 54 */ 0x5793,
- /* 2nd byte: 55 */ 0x57a0,
- /* 2nd byte: 56 */ 0x57b3,
- /* 2nd byte: 57 */ 0x57a4,
- /* 2nd byte: 58 */ 0x57aa,
- /* 2nd byte: 59 */ 0x57b0,
- /* 2nd byte: 60 */ 0x57c3,
- /* 2nd byte: 61 */ 0x57c6,
- /* 2nd byte: 62 */ 0x57d4,
- /* 2nd byte: 63 */ 0x57d2,
- /* 2nd byte: 64 */ 0x57d3,
- /* 2nd byte: 65 */ 0x580a,
- /* 2nd byte: 66 */ 0x57d6,
- /* 2nd byte: 67 */ 0x57e3,
- /* 2nd byte: 68 */ 0x580b,
- /* 2nd byte: 69 */ 0x5819,
- /* 2nd byte: 70 */ 0x581d,
- /* 2nd byte: 71 */ 0x5872,
- /* 2nd byte: 72 */ 0x5821,
- /* 2nd byte: 73 */ 0x5862,
- /* 2nd byte: 74 */ 0x584b,
- /* 2nd byte: 75 */ 0x5870,
- /* 2nd byte: 76 */ 0x6bc0,
- /* 2nd byte: 77 */ 0x5852,
- /* 2nd byte: 78 */ 0x583d,
- /* 2nd byte: 79 */ 0x5879,
- /* 2nd byte: 80 */ 0x5885,
- /* 2nd byte: 81 */ 0x58b9,
- /* 2nd byte: 82 */ 0x589f,
- /* 2nd byte: 83 */ 0x58ab,
- /* 2nd byte: 84 */ 0x58ba,
- /* 2nd byte: 85 */ 0x58de,
- /* 2nd byte: 86 */ 0x58bb,
- /* 2nd byte: 87 */ 0x58b8,
- /* 2nd byte: 88 */ 0x58ae,
- /* 2nd byte: 89 */ 0x58c5,
- /* 2nd byte: 90 */ 0x58d3,
- /* 2nd byte: 91 */ 0x58d1,
- /* 2nd byte: 92 */ 0x58d7,
- /* 2nd byte: 93 */ 0x58d9,
- /* 2nd byte: 94 */ 0x58d8,
- /* 2nd byte: 95 */ 0x58e5,
- /* 2nd byte: 96 */ 0x58dc,
- /* 2nd byte: 97 */ 0x58e4,
- /* 2nd byte: 98 */ 0x58df,
- /* 2nd byte: 99 */ 0x58ef,
- /* 2nd byte: 100 */ 0x58fa,
- /* 2nd byte: 101 */ 0x58f9,
- /* 2nd byte: 102 */ 0x58fb,
- /* 2nd byte: 103 */ 0x58fc,
- /* 2nd byte: 104 */ 0x58fd,
- /* 2nd byte: 105 */ 0x5902,
- /* 2nd byte: 106 */ 0x590a,
- /* 2nd byte: 107 */ 0x5910,
- /* 2nd byte: 108 */ 0x591b,
- /* 2nd byte: 109 */ 0x68a6,
- /* 2nd byte: 110 */ 0x5925,
- /* 2nd byte: 111 */ 0x592c,
- /* 2nd byte: 112 */ 0x592d,
- /* 2nd byte: 113 */ 0x5932,
- /* 2nd byte: 114 */ 0x5938,
- /* 2nd byte: 115 */ 0x593e,
- /* 2nd byte: 116 */ 0x7ad2,
- /* 2nd byte: 117 */ 0x5955,
- /* 2nd byte: 118 */ 0x5950,
- /* 2nd byte: 119 */ 0x594e,
- /* 2nd byte: 120 */ 0x595a,
- /* 2nd byte: 121 */ 0x5958,
- /* 2nd byte: 122 */ 0x5962,
- /* 2nd byte: 123 */ 0x5960,
- /* 2nd byte: 124 */ 0x5967,
- /* 2nd byte: 125 */ 0x596c,
- /* 2nd byte: 126 */ 0x5969},
-/* 1st byte: 85 */ {
- /* 2nd byte: 33 */ 0x5978,
- /* 2nd byte: 34 */ 0x5981,
- /* 2nd byte: 35 */ 0x599d,
- /* 2nd byte: 36 */ 0x4f5e,
- /* 2nd byte: 37 */ 0x4fab,
- /* 2nd byte: 38 */ 0x59a3,
- /* 2nd byte: 39 */ 0x59b2,
- /* 2nd byte: 40 */ 0x59c6,
- /* 2nd byte: 41 */ 0x59e8,
- /* 2nd byte: 42 */ 0x59dc,
- /* 2nd byte: 43 */ 0x598d,
- /* 2nd byte: 44 */ 0x59d9,
- /* 2nd byte: 45 */ 0x59da,
- /* 2nd byte: 46 */ 0x5a25,
- /* 2nd byte: 47 */ 0x5a1f,
- /* 2nd byte: 48 */ 0x5a11,
- /* 2nd byte: 49 */ 0x5a1c,
- /* 2nd byte: 50 */ 0x5a09,
- /* 2nd byte: 51 */ 0x5a1a,
- /* 2nd byte: 52 */ 0x5a40,
- /* 2nd byte: 53 */ 0x5a6c,
- /* 2nd byte: 54 */ 0x5a49,
- /* 2nd byte: 55 */ 0x5a35,
- /* 2nd byte: 56 */ 0x5a36,
- /* 2nd byte: 57 */ 0x5a62,
- /* 2nd byte: 58 */ 0x5a6a,
- /* 2nd byte: 59 */ 0x5a9a,
- /* 2nd byte: 60 */ 0x5abc,
- /* 2nd byte: 61 */ 0x5abe,
- /* 2nd byte: 62 */ 0x5acb,
- /* 2nd byte: 63 */ 0x5ac2,
- /* 2nd byte: 64 */ 0x5abd,
- /* 2nd byte: 65 */ 0x5ae3,
- /* 2nd byte: 66 */ 0x5ad7,
- /* 2nd byte: 67 */ 0x5ae6,
- /* 2nd byte: 68 */ 0x5ae9,
- /* 2nd byte: 69 */ 0x5ad6,
- /* 2nd byte: 70 */ 0x5afa,
- /* 2nd byte: 71 */ 0x5afb,
- /* 2nd byte: 72 */ 0x5b0c,
- /* 2nd byte: 73 */ 0x5b0b,
- /* 2nd byte: 74 */ 0x5b16,
- /* 2nd byte: 75 */ 0x5b32,
- /* 2nd byte: 76 */ 0x5ad0,
- /* 2nd byte: 77 */ 0x5b2a,
- /* 2nd byte: 78 */ 0x5b36,
- /* 2nd byte: 79 */ 0x5b3e,
- /* 2nd byte: 80 */ 0x5b43,
- /* 2nd byte: 81 */ 0x5b45,
- /* 2nd byte: 82 */ 0x5b40,
- /* 2nd byte: 83 */ 0x5b51,
- /* 2nd byte: 84 */ 0x5b55,
- /* 2nd byte: 85 */ 0x5b5a,
- /* 2nd byte: 86 */ 0x5b5b,
- /* 2nd byte: 87 */ 0x5b65,
- /* 2nd byte: 88 */ 0x5b69,
- /* 2nd byte: 89 */ 0x5b70,
- /* 2nd byte: 90 */ 0x5b73,
- /* 2nd byte: 91 */ 0x5b75,
- /* 2nd byte: 92 */ 0x5b78,
- /* 2nd byte: 93 */ 0x6588,
- /* 2nd byte: 94 */ 0x5b7a,
- /* 2nd byte: 95 */ 0x5b80,
- /* 2nd byte: 96 */ 0x5b83,
- /* 2nd byte: 97 */ 0x5ba6,
- /* 2nd byte: 98 */ 0x5bb8,
- /* 2nd byte: 99 */ 0x5bc3,
- /* 2nd byte: 100 */ 0x5bc7,
- /* 2nd byte: 101 */ 0x5bc9,
- /* 2nd byte: 102 */ 0x5bd4,
- /* 2nd byte: 103 */ 0x5bd0,
- /* 2nd byte: 104 */ 0x5be4,
- /* 2nd byte: 105 */ 0x5be6,
- /* 2nd byte: 106 */ 0x5be2,
- /* 2nd byte: 107 */ 0x5bde,
- /* 2nd byte: 108 */ 0x5be5,
- /* 2nd byte: 109 */ 0x5beb,
- /* 2nd byte: 110 */ 0x5bf0,
- /* 2nd byte: 111 */ 0x5bf6,
- /* 2nd byte: 112 */ 0x5bf3,
- /* 2nd byte: 113 */ 0x5c05,
- /* 2nd byte: 114 */ 0x5c07,
- /* 2nd byte: 115 */ 0x5c08,
- /* 2nd byte: 116 */ 0x5c0d,
- /* 2nd byte: 117 */ 0x5c13,
- /* 2nd byte: 118 */ 0x5c20,
- /* 2nd byte: 119 */ 0x5c22,
- /* 2nd byte: 120 */ 0x5c28,
- /* 2nd byte: 121 */ 0x5c38,
- /* 2nd byte: 122 */ 0x5c39,
- /* 2nd byte: 123 */ 0x5c41,
- /* 2nd byte: 124 */ 0x5c46,
- /* 2nd byte: 125 */ 0x5c4e,
- /* 2nd byte: 126 */ 0x5c53},
-/* 1st byte: 86 */ {
- /* 2nd byte: 33 */ 0x5c50,
- /* 2nd byte: 34 */ 0x5c4f,
- /* 2nd byte: 35 */ 0x5b71,
- /* 2nd byte: 36 */ 0x5c6c,
- /* 2nd byte: 37 */ 0x5c6e,
- /* 2nd byte: 38 */ 0x4e62,
- /* 2nd byte: 39 */ 0x5c76,
- /* 2nd byte: 40 */ 0x5c79,
- /* 2nd byte: 41 */ 0x5c8c,
- /* 2nd byte: 42 */ 0x5c91,
- /* 2nd byte: 43 */ 0x5c94,
- /* 2nd byte: 44 */ 0x599b,
- /* 2nd byte: 45 */ 0x5cab,
- /* 2nd byte: 46 */ 0x5cbb,
- /* 2nd byte: 47 */ 0x5cb6,
- /* 2nd byte: 48 */ 0x5cbc,
- /* 2nd byte: 49 */ 0x5cb7,
- /* 2nd byte: 50 */ 0x5cc5,
- /* 2nd byte: 51 */ 0x5cbe,
- /* 2nd byte: 52 */ 0x5cc7,
- /* 2nd byte: 53 */ 0x5cd9,
- /* 2nd byte: 54 */ 0x5ce9,
- /* 2nd byte: 55 */ 0x5cfd,
- /* 2nd byte: 56 */ 0x5cfa,
- /* 2nd byte: 57 */ 0x5ced,
- /* 2nd byte: 58 */ 0x5d8c,
- /* 2nd byte: 59 */ 0x5cea,
- /* 2nd byte: 60 */ 0x5d0b,
- /* 2nd byte: 61 */ 0x5d15,
- /* 2nd byte: 62 */ 0x5d17,
- /* 2nd byte: 63 */ 0x5d5c,
- /* 2nd byte: 64 */ 0x5d1f,
- /* 2nd byte: 65 */ 0x5d1b,
- /* 2nd byte: 66 */ 0x5d11,
- /* 2nd byte: 67 */ 0x5d14,
- /* 2nd byte: 68 */ 0x5d22,
- /* 2nd byte: 69 */ 0x5d1a,
- /* 2nd byte: 70 */ 0x5d19,
- /* 2nd byte: 71 */ 0x5d18,
- /* 2nd byte: 72 */ 0x5d4c,
- /* 2nd byte: 73 */ 0x5d52,
- /* 2nd byte: 74 */ 0x5d4e,
- /* 2nd byte: 75 */ 0x5d4b,
- /* 2nd byte: 76 */ 0x5d6c,
- /* 2nd byte: 77 */ 0x5d73,
- /* 2nd byte: 78 */ 0x5d76,
- /* 2nd byte: 79 */ 0x5d87,
- /* 2nd byte: 80 */ 0x5d84,
- /* 2nd byte: 81 */ 0x5d82,
- /* 2nd byte: 82 */ 0x5da2,
- /* 2nd byte: 83 */ 0x5d9d,
- /* 2nd byte: 84 */ 0x5dac,
- /* 2nd byte: 85 */ 0x5dae,
- /* 2nd byte: 86 */ 0x5dbd,
- /* 2nd byte: 87 */ 0x5d90,
- /* 2nd byte: 88 */ 0x5db7,
- /* 2nd byte: 89 */ 0x5dbc,
- /* 2nd byte: 90 */ 0x5dc9,
- /* 2nd byte: 91 */ 0x5dcd,
- /* 2nd byte: 92 */ 0x5dd3,
- /* 2nd byte: 93 */ 0x5dd2,
- /* 2nd byte: 94 */ 0x5dd6,
- /* 2nd byte: 95 */ 0x5ddb,
- /* 2nd byte: 96 */ 0x5deb,
- /* 2nd byte: 97 */ 0x5df2,
- /* 2nd byte: 98 */ 0x5df5,
- /* 2nd byte: 99 */ 0x5e0b,
- /* 2nd byte: 100 */ 0x5e1a,
- /* 2nd byte: 101 */ 0x5e19,
- /* 2nd byte: 102 */ 0x5e11,
- /* 2nd byte: 103 */ 0x5e1b,
- /* 2nd byte: 104 */ 0x5e36,
- /* 2nd byte: 105 */ 0x5e37,
- /* 2nd byte: 106 */ 0x5e44,
- /* 2nd byte: 107 */ 0x5e43,
- /* 2nd byte: 108 */ 0x5e40,
- /* 2nd byte: 109 */ 0x5e4e,
- /* 2nd byte: 110 */ 0x5e57,
- /* 2nd byte: 111 */ 0x5e54,
- /* 2nd byte: 112 */ 0x5e5f,
- /* 2nd byte: 113 */ 0x5e62,
- /* 2nd byte: 114 */ 0x5e64,
- /* 2nd byte: 115 */ 0x5e47,
- /* 2nd byte: 116 */ 0x5e75,
- /* 2nd byte: 117 */ 0x5e76,
- /* 2nd byte: 118 */ 0x5e7a,
- /* 2nd byte: 119 */ 0x9ebc,
- /* 2nd byte: 120 */ 0x5e7f,
- /* 2nd byte: 121 */ 0x5ea0,
- /* 2nd byte: 122 */ 0x5ec1,
- /* 2nd byte: 123 */ 0x5ec2,
- /* 2nd byte: 124 */ 0x5ec8,
- /* 2nd byte: 125 */ 0x5ed0,
- /* 2nd byte: 126 */ 0x5ecf},
-/* 1st byte: 87 */ {
- /* 2nd byte: 33 */ 0x5ed6,
- /* 2nd byte: 34 */ 0x5ee3,
- /* 2nd byte: 35 */ 0x5edd,
- /* 2nd byte: 36 */ 0x5eda,
- /* 2nd byte: 37 */ 0x5edb,
- /* 2nd byte: 38 */ 0x5ee2,
- /* 2nd byte: 39 */ 0x5ee1,
- /* 2nd byte: 40 */ 0x5ee8,
- /* 2nd byte: 41 */ 0x5ee9,
- /* 2nd byte: 42 */ 0x5eec,
- /* 2nd byte: 43 */ 0x5ef1,
- /* 2nd byte: 44 */ 0x5ef3,
- /* 2nd byte: 45 */ 0x5ef0,
- /* 2nd byte: 46 */ 0x5ef4,
- /* 2nd byte: 47 */ 0x5ef8,
- /* 2nd byte: 48 */ 0x5efe,
- /* 2nd byte: 49 */ 0x5f03,
- /* 2nd byte: 50 */ 0x5f09,
- /* 2nd byte: 51 */ 0x5f5d,
- /* 2nd byte: 52 */ 0x5f5c,
- /* 2nd byte: 53 */ 0x5f0b,
- /* 2nd byte: 54 */ 0x5f11,
- /* 2nd byte: 55 */ 0x5f16,
- /* 2nd byte: 56 */ 0x5f29,
- /* 2nd byte: 57 */ 0x5f2d,
- /* 2nd byte: 58 */ 0x5f38,
- /* 2nd byte: 59 */ 0x5f41,
- /* 2nd byte: 60 */ 0x5f48,
- /* 2nd byte: 61 */ 0x5f4c,
- /* 2nd byte: 62 */ 0x5f4e,
- /* 2nd byte: 63 */ 0x5f2f,
- /* 2nd byte: 64 */ 0x5f51,
- /* 2nd byte: 65 */ 0x5f56,
- /* 2nd byte: 66 */ 0x5f57,
- /* 2nd byte: 67 */ 0x5f59,
- /* 2nd byte: 68 */ 0x5f61,
- /* 2nd byte: 69 */ 0x5f6d,
- /* 2nd byte: 70 */ 0x5f73,
- /* 2nd byte: 71 */ 0x5f77,
- /* 2nd byte: 72 */ 0x5f83,
- /* 2nd byte: 73 */ 0x5f82,
- /* 2nd byte: 74 */ 0x5f7f,
- /* 2nd byte: 75 */ 0x5f8a,
- /* 2nd byte: 76 */ 0x5f88,
- /* 2nd byte: 77 */ 0x5f91,
- /* 2nd byte: 78 */ 0x5f87,
- /* 2nd byte: 79 */ 0x5f9e,
- /* 2nd byte: 80 */ 0x5f99,
- /* 2nd byte: 81 */ 0x5f98,
- /* 2nd byte: 82 */ 0x5fa0,
- /* 2nd byte: 83 */ 0x5fa8,
- /* 2nd byte: 84 */ 0x5fad,
- /* 2nd byte: 85 */ 0x5fbc,
- /* 2nd byte: 86 */ 0x5fd6,
- /* 2nd byte: 87 */ 0x5ffb,
- /* 2nd byte: 88 */ 0x5fe4,
- /* 2nd byte: 89 */ 0x5ff8,
- /* 2nd byte: 90 */ 0x5ff1,
- /* 2nd byte: 91 */ 0x5fdd,
- /* 2nd byte: 92 */ 0x60b3,
- /* 2nd byte: 93 */ 0x5fff,
- /* 2nd byte: 94 */ 0x6021,
- /* 2nd byte: 95 */ 0x6060,
- /* 2nd byte: 96 */ 0x6019,
- /* 2nd byte: 97 */ 0x6010,
- /* 2nd byte: 98 */ 0x6029,
- /* 2nd byte: 99 */ 0x600e,
- /* 2nd byte: 100 */ 0x6031,
- /* 2nd byte: 101 */ 0x601b,
- /* 2nd byte: 102 */ 0x6015,
- /* 2nd byte: 103 */ 0x602b,
- /* 2nd byte: 104 */ 0x6026,
- /* 2nd byte: 105 */ 0x600f,
- /* 2nd byte: 106 */ 0x603a,
- /* 2nd byte: 107 */ 0x605a,
- /* 2nd byte: 108 */ 0x6041,
- /* 2nd byte: 109 */ 0x606a,
- /* 2nd byte: 110 */ 0x6077,
- /* 2nd byte: 111 */ 0x605f,
- /* 2nd byte: 112 */ 0x604a,
- /* 2nd byte: 113 */ 0x6046,
- /* 2nd byte: 114 */ 0x604d,
- /* 2nd byte: 115 */ 0x6063,
- /* 2nd byte: 116 */ 0x6043,
- /* 2nd byte: 117 */ 0x6064,
- /* 2nd byte: 118 */ 0x6042,
- /* 2nd byte: 119 */ 0x606c,
- /* 2nd byte: 120 */ 0x606b,
- /* 2nd byte: 121 */ 0x6059,
- /* 2nd byte: 122 */ 0x6081,
- /* 2nd byte: 123 */ 0x608d,
- /* 2nd byte: 124 */ 0x60e7,
- /* 2nd byte: 125 */ 0x6083,
- /* 2nd byte: 126 */ 0x609a},
-/* 1st byte: 88 */ {
- /* 2nd byte: 33 */ 0x6084,
- /* 2nd byte: 34 */ 0x609b,
- /* 2nd byte: 35 */ 0x6096,
- /* 2nd byte: 36 */ 0x6097,
- /* 2nd byte: 37 */ 0x6092,
- /* 2nd byte: 38 */ 0x60a7,
- /* 2nd byte: 39 */ 0x608b,
- /* 2nd byte: 40 */ 0x60e1,
- /* 2nd byte: 41 */ 0x60b8,
- /* 2nd byte: 42 */ 0x60e0,
- /* 2nd byte: 43 */ 0x60d3,
- /* 2nd byte: 44 */ 0x60b4,
- /* 2nd byte: 45 */ 0x5ff0,
- /* 2nd byte: 46 */ 0x60bd,
- /* 2nd byte: 47 */ 0x60c6,
- /* 2nd byte: 48 */ 0x60b5,
- /* 2nd byte: 49 */ 0x60d8,
- /* 2nd byte: 50 */ 0x614d,
- /* 2nd byte: 51 */ 0x6115,
- /* 2nd byte: 52 */ 0x6106,
- /* 2nd byte: 53 */ 0x60f6,
- /* 2nd byte: 54 */ 0x60f7,
- /* 2nd byte: 55 */ 0x6100,
- /* 2nd byte: 56 */ 0x60f4,
- /* 2nd byte: 57 */ 0x60fa,
- /* 2nd byte: 58 */ 0x6103,
- /* 2nd byte: 59 */ 0x6121,
- /* 2nd byte: 60 */ 0x60fb,
- /* 2nd byte: 61 */ 0x60f1,
- /* 2nd byte: 62 */ 0x610d,
- /* 2nd byte: 63 */ 0x610e,
- /* 2nd byte: 64 */ 0x6147,
- /* 2nd byte: 65 */ 0x613e,
- /* 2nd byte: 66 */ 0x6128,
- /* 2nd byte: 67 */ 0x6127,
- /* 2nd byte: 68 */ 0x614a,
- /* 2nd byte: 69 */ 0x613f,
- /* 2nd byte: 70 */ 0x613c,
- /* 2nd byte: 71 */ 0x612c,
- /* 2nd byte: 72 */ 0x6134,
- /* 2nd byte: 73 */ 0x613d,
- /* 2nd byte: 74 */ 0x6142,
- /* 2nd byte: 75 */ 0x6144,
- /* 2nd byte: 76 */ 0x6173,
- /* 2nd byte: 77 */ 0x6177,
- /* 2nd byte: 78 */ 0x6158,
- /* 2nd byte: 79 */ 0x6159,
- /* 2nd byte: 80 */ 0x615a,
- /* 2nd byte: 81 */ 0x616b,
- /* 2nd byte: 82 */ 0x6174,
- /* 2nd byte: 83 */ 0x616f,
- /* 2nd byte: 84 */ 0x6165,
- /* 2nd byte: 85 */ 0x6171,
- /* 2nd byte: 86 */ 0x615f,
- /* 2nd byte: 87 */ 0x615d,
- /* 2nd byte: 88 */ 0x6153,
- /* 2nd byte: 89 */ 0x6175,
- /* 2nd byte: 90 */ 0x6199,
- /* 2nd byte: 91 */ 0x6196,
- /* 2nd byte: 92 */ 0x6187,
- /* 2nd byte: 93 */ 0x61ac,
- /* 2nd byte: 94 */ 0x6194,
- /* 2nd byte: 95 */ 0x619a,
- /* 2nd byte: 96 */ 0x618a,
- /* 2nd byte: 97 */ 0x6191,
- /* 2nd byte: 98 */ 0x61ab,
- /* 2nd byte: 99 */ 0x61ae,
- /* 2nd byte: 100 */ 0x61cc,
- /* 2nd byte: 101 */ 0x61ca,
- /* 2nd byte: 102 */ 0x61c9,
- /* 2nd byte: 103 */ 0x61f7,
- /* 2nd byte: 104 */ 0x61c8,
- /* 2nd byte: 105 */ 0x61c3,
- /* 2nd byte: 106 */ 0x61c6,
- /* 2nd byte: 107 */ 0x61ba,
- /* 2nd byte: 108 */ 0x61cb,
- /* 2nd byte: 109 */ 0x7f79,
- /* 2nd byte: 110 */ 0x61cd,
- /* 2nd byte: 111 */ 0x61e6,
- /* 2nd byte: 112 */ 0x61e3,
- /* 2nd byte: 113 */ 0x61f6,
- /* 2nd byte: 114 */ 0x61fa,
- /* 2nd byte: 115 */ 0x61f4,
- /* 2nd byte: 116 */ 0x61ff,
- /* 2nd byte: 117 */ 0x61fd,
- /* 2nd byte: 118 */ 0x61fc,
- /* 2nd byte: 119 */ 0x61fe,
- /* 2nd byte: 120 */ 0x6200,
- /* 2nd byte: 121 */ 0x6208,
- /* 2nd byte: 122 */ 0x6209,
- /* 2nd byte: 123 */ 0x620d,
- /* 2nd byte: 124 */ 0x620c,
- /* 2nd byte: 125 */ 0x6214,
- /* 2nd byte: 126 */ 0x621b},
-/* 1st byte: 89 */ {
- /* 2nd byte: 33 */ 0x621e,
- /* 2nd byte: 34 */ 0x6221,
- /* 2nd byte: 35 */ 0x622a,
- /* 2nd byte: 36 */ 0x622e,
- /* 2nd byte: 37 */ 0x6230,
- /* 2nd byte: 38 */ 0x6232,
- /* 2nd byte: 39 */ 0x6233,
- /* 2nd byte: 40 */ 0x6241,
- /* 2nd byte: 41 */ 0x624e,
- /* 2nd byte: 42 */ 0x625e,
- /* 2nd byte: 43 */ 0x6263,
- /* 2nd byte: 44 */ 0x625b,
- /* 2nd byte: 45 */ 0x6260,
- /* 2nd byte: 46 */ 0x6268,
- /* 2nd byte: 47 */ 0x627c,
- /* 2nd byte: 48 */ 0x6282,
- /* 2nd byte: 49 */ 0x6289,
- /* 2nd byte: 50 */ 0x627e,
- /* 2nd byte: 51 */ 0x6292,
- /* 2nd byte: 52 */ 0x6293,
- /* 2nd byte: 53 */ 0x6296,
- /* 2nd byte: 54 */ 0x62d4,
- /* 2nd byte: 55 */ 0x6283,
- /* 2nd byte: 56 */ 0x6294,
- /* 2nd byte: 57 */ 0x62d7,
- /* 2nd byte: 58 */ 0x62d1,
- /* 2nd byte: 59 */ 0x62bb,
- /* 2nd byte: 60 */ 0x62cf,
- /* 2nd byte: 61 */ 0x62ff,
- /* 2nd byte: 62 */ 0x62c6,
- /* 2nd byte: 63 */ 0x64d4,
- /* 2nd byte: 64 */ 0x62c8,
- /* 2nd byte: 65 */ 0x62dc,
- /* 2nd byte: 66 */ 0x62cc,
- /* 2nd byte: 67 */ 0x62ca,
- /* 2nd byte: 68 */ 0x62c2,
- /* 2nd byte: 69 */ 0x62c7,
- /* 2nd byte: 70 */ 0x629b,
- /* 2nd byte: 71 */ 0x62c9,
- /* 2nd byte: 72 */ 0x630c,
- /* 2nd byte: 73 */ 0x62ee,
- /* 2nd byte: 74 */ 0x62f1,
- /* 2nd byte: 75 */ 0x6327,
- /* 2nd byte: 76 */ 0x6302,
- /* 2nd byte: 77 */ 0x6308,
- /* 2nd byte: 78 */ 0x62ef,
- /* 2nd byte: 79 */ 0x62f5,
- /* 2nd byte: 80 */ 0x6350,
- /* 2nd byte: 81 */ 0x633e,
- /* 2nd byte: 82 */ 0x634d,
- /* 2nd byte: 83 */ 0x641c,
- /* 2nd byte: 84 */ 0x634f,
- /* 2nd byte: 85 */ 0x6396,
- /* 2nd byte: 86 */ 0x638e,
- /* 2nd byte: 87 */ 0x6380,
- /* 2nd byte: 88 */ 0x63ab,
- /* 2nd byte: 89 */ 0x6376,
- /* 2nd byte: 90 */ 0x63a3,
- /* 2nd byte: 91 */ 0x638f,
- /* 2nd byte: 92 */ 0x6389,
- /* 2nd byte: 93 */ 0x639f,
- /* 2nd byte: 94 */ 0x63b5,
- /* 2nd byte: 95 */ 0x636b,
- /* 2nd byte: 96 */ 0x6369,
- /* 2nd byte: 97 */ 0x63be,
- /* 2nd byte: 98 */ 0x63e9,
- /* 2nd byte: 99 */ 0x63c0,
- /* 2nd byte: 100 */ 0x63c6,
- /* 2nd byte: 101 */ 0x63e3,
- /* 2nd byte: 102 */ 0x63c9,
- /* 2nd byte: 103 */ 0x63d2,
- /* 2nd byte: 104 */ 0x63f6,
- /* 2nd byte: 105 */ 0x63c4,
- /* 2nd byte: 106 */ 0x6416,
- /* 2nd byte: 107 */ 0x6434,
- /* 2nd byte: 108 */ 0x6406,
- /* 2nd byte: 109 */ 0x6413,
- /* 2nd byte: 110 */ 0x6426,
- /* 2nd byte: 111 */ 0x6436,
- /* 2nd byte: 112 */ 0x651d,
- /* 2nd byte: 113 */ 0x6417,
- /* 2nd byte: 114 */ 0x6428,
- /* 2nd byte: 115 */ 0x640f,
- /* 2nd byte: 116 */ 0x6467,
- /* 2nd byte: 117 */ 0x646f,
- /* 2nd byte: 118 */ 0x6476,
- /* 2nd byte: 119 */ 0x644e,
- /* 2nd byte: 120 */ 0x652a,
- /* 2nd byte: 121 */ 0x6495,
- /* 2nd byte: 122 */ 0x6493,
- /* 2nd byte: 123 */ 0x64a5,
- /* 2nd byte: 124 */ 0x64a9,
- /* 2nd byte: 125 */ 0x6488,
- /* 2nd byte: 126 */ 0x64bc},
-/* 1st byte: 90 */ {
- /* 2nd byte: 33 */ 0x64da,
- /* 2nd byte: 34 */ 0x64d2,
- /* 2nd byte: 35 */ 0x64c5,
- /* 2nd byte: 36 */ 0x64c7,
- /* 2nd byte: 37 */ 0x64bb,
- /* 2nd byte: 38 */ 0x64d8,
- /* 2nd byte: 39 */ 0x64c2,
- /* 2nd byte: 40 */ 0x64f1,
- /* 2nd byte: 41 */ 0x64e7,
- /* 2nd byte: 42 */ 0x8209,
- /* 2nd byte: 43 */ 0x64e0,
- /* 2nd byte: 44 */ 0x64e1,
- /* 2nd byte: 45 */ 0x62ac,
- /* 2nd byte: 46 */ 0x64e3,
- /* 2nd byte: 47 */ 0x64ef,
- /* 2nd byte: 48 */ 0x652c,
- /* 2nd byte: 49 */ 0x64f6,
- /* 2nd byte: 50 */ 0x64f4,
- /* 2nd byte: 51 */ 0x64f2,
- /* 2nd byte: 52 */ 0x64fa,
- /* 2nd byte: 53 */ 0x6500,
- /* 2nd byte: 54 */ 0x64fd,
- /* 2nd byte: 55 */ 0x6518,
- /* 2nd byte: 56 */ 0x651c,
- /* 2nd byte: 57 */ 0x6505,
- /* 2nd byte: 58 */ 0x6524,
- /* 2nd byte: 59 */ 0x6523,
- /* 2nd byte: 60 */ 0x652b,
- /* 2nd byte: 61 */ 0x6534,
- /* 2nd byte: 62 */ 0x6535,
- /* 2nd byte: 63 */ 0x6537,
- /* 2nd byte: 64 */ 0x6536,
- /* 2nd byte: 65 */ 0x6538,
- /* 2nd byte: 66 */ 0x754b,
- /* 2nd byte: 67 */ 0x6548,
- /* 2nd byte: 68 */ 0x6556,
- /* 2nd byte: 69 */ 0x6555,
- /* 2nd byte: 70 */ 0x654d,
- /* 2nd byte: 71 */ 0x6558,
- /* 2nd byte: 72 */ 0x655e,
- /* 2nd byte: 73 */ 0x655d,
- /* 2nd byte: 74 */ 0x6572,
- /* 2nd byte: 75 */ 0x6578,
- /* 2nd byte: 76 */ 0x6582,
- /* 2nd byte: 77 */ 0x6583,
- /* 2nd byte: 78 */ 0x8b8a,
- /* 2nd byte: 79 */ 0x659b,
- /* 2nd byte: 80 */ 0x659f,
- /* 2nd byte: 81 */ 0x65ab,
- /* 2nd byte: 82 */ 0x65b7,
- /* 2nd byte: 83 */ 0x65c3,
- /* 2nd byte: 84 */ 0x65c6,
- /* 2nd byte: 85 */ 0x65c1,
- /* 2nd byte: 86 */ 0x65c4,
- /* 2nd byte: 87 */ 0x65cc,
- /* 2nd byte: 88 */ 0x65d2,
- /* 2nd byte: 89 */ 0x65db,
- /* 2nd byte: 90 */ 0x65d9,
- /* 2nd byte: 91 */ 0x65e0,
- /* 2nd byte: 92 */ 0x65e1,
- /* 2nd byte: 93 */ 0x65f1,
- /* 2nd byte: 94 */ 0x6772,
- /* 2nd byte: 95 */ 0x660a,
- /* 2nd byte: 96 */ 0x6603,
- /* 2nd byte: 97 */ 0x65fb,
- /* 2nd byte: 98 */ 0x6773,
- /* 2nd byte: 99 */ 0x6635,
- /* 2nd byte: 100 */ 0x6636,
- /* 2nd byte: 101 */ 0x6634,
- /* 2nd byte: 102 */ 0x661c,
- /* 2nd byte: 103 */ 0x664f,
- /* 2nd byte: 104 */ 0x6644,
- /* 2nd byte: 105 */ 0x6649,
- /* 2nd byte: 106 */ 0x6641,
- /* 2nd byte: 107 */ 0x665e,
- /* 2nd byte: 108 */ 0x665d,
- /* 2nd byte: 109 */ 0x6664,
- /* 2nd byte: 110 */ 0x6667,
- /* 2nd byte: 111 */ 0x6668,
- /* 2nd byte: 112 */ 0x665f,
- /* 2nd byte: 113 */ 0x6662,
- /* 2nd byte: 114 */ 0x6670,
- /* 2nd byte: 115 */ 0x6683,
- /* 2nd byte: 116 */ 0x6688,
- /* 2nd byte: 117 */ 0x668e,
- /* 2nd byte: 118 */ 0x6689,
- /* 2nd byte: 119 */ 0x6684,
- /* 2nd byte: 120 */ 0x6698,
- /* 2nd byte: 121 */ 0x669d,
- /* 2nd byte: 122 */ 0x66c1,
- /* 2nd byte: 123 */ 0x66b9,
- /* 2nd byte: 124 */ 0x66c9,
- /* 2nd byte: 125 */ 0x66be,
- /* 2nd byte: 126 */ 0x66bc},
-/* 1st byte: 91 */ {
- /* 2nd byte: 33 */ 0x66c4,
- /* 2nd byte: 34 */ 0x66b8,
- /* 2nd byte: 35 */ 0x66d6,
- /* 2nd byte: 36 */ 0x66da,
- /* 2nd byte: 37 */ 0x66e0,
- /* 2nd byte: 38 */ 0x663f,
- /* 2nd byte: 39 */ 0x66e6,
- /* 2nd byte: 40 */ 0x66e9,
- /* 2nd byte: 41 */ 0x66f0,
- /* 2nd byte: 42 */ 0x66f5,
- /* 2nd byte: 43 */ 0x66f7,
- /* 2nd byte: 44 */ 0x670f,
- /* 2nd byte: 45 */ 0x6716,
- /* 2nd byte: 46 */ 0x671e,
- /* 2nd byte: 47 */ 0x6726,
- /* 2nd byte: 48 */ 0x6727,
- /* 2nd byte: 49 */ 0x9738,
- /* 2nd byte: 50 */ 0x672e,
- /* 2nd byte: 51 */ 0x673f,
- /* 2nd byte: 52 */ 0x6736,
- /* 2nd byte: 53 */ 0x6741,
- /* 2nd byte: 54 */ 0x6738,
- /* 2nd byte: 55 */ 0x6737,
- /* 2nd byte: 56 */ 0x6746,
- /* 2nd byte: 57 */ 0x675e,
- /* 2nd byte: 58 */ 0x6760,
- /* 2nd byte: 59 */ 0x6759,
- /* 2nd byte: 60 */ 0x6763,
- /* 2nd byte: 61 */ 0x6764,
- /* 2nd byte: 62 */ 0x6789,
- /* 2nd byte: 63 */ 0x6770,
- /* 2nd byte: 64 */ 0x67a9,
- /* 2nd byte: 65 */ 0x677c,
- /* 2nd byte: 66 */ 0x676a,
- /* 2nd byte: 67 */ 0x678c,
- /* 2nd byte: 68 */ 0x678b,
- /* 2nd byte: 69 */ 0x67a6,
- /* 2nd byte: 70 */ 0x67a1,
- /* 2nd byte: 71 */ 0x6785,
- /* 2nd byte: 72 */ 0x67b7,
- /* 2nd byte: 73 */ 0x67ef,
- /* 2nd byte: 74 */ 0x67b4,
- /* 2nd byte: 75 */ 0x67ec,
- /* 2nd byte: 76 */ 0x67b3,
- /* 2nd byte: 77 */ 0x67e9,
- /* 2nd byte: 78 */ 0x67b8,
- /* 2nd byte: 79 */ 0x67e4,
- /* 2nd byte: 80 */ 0x67de,
- /* 2nd byte: 81 */ 0x67dd,
- /* 2nd byte: 82 */ 0x67e2,
- /* 2nd byte: 83 */ 0x67ee,
- /* 2nd byte: 84 */ 0x67b9,
- /* 2nd byte: 85 */ 0x67ce,
- /* 2nd byte: 86 */ 0x67c6,
- /* 2nd byte: 87 */ 0x67e7,
- /* 2nd byte: 88 */ 0x6a9c,
- /* 2nd byte: 89 */ 0x681e,
- /* 2nd byte: 90 */ 0x6846,
- /* 2nd byte: 91 */ 0x6829,
- /* 2nd byte: 92 */ 0x6840,
- /* 2nd byte: 93 */ 0x684d,
- /* 2nd byte: 94 */ 0x6832,
- /* 2nd byte: 95 */ 0x684e,
- /* 2nd byte: 96 */ 0x68b3,
- /* 2nd byte: 97 */ 0x682b,
- /* 2nd byte: 98 */ 0x6859,
- /* 2nd byte: 99 */ 0x6863,
- /* 2nd byte: 100 */ 0x6877,
- /* 2nd byte: 101 */ 0x687f,
- /* 2nd byte: 102 */ 0x689f,
- /* 2nd byte: 103 */ 0x688f,
- /* 2nd byte: 104 */ 0x68ad,
- /* 2nd byte: 105 */ 0x6894,
- /* 2nd byte: 106 */ 0x689d,
- /* 2nd byte: 107 */ 0x689b,
- /* 2nd byte: 108 */ 0x6883,
- /* 2nd byte: 109 */ 0x6aae,
- /* 2nd byte: 110 */ 0x68b9,
- /* 2nd byte: 111 */ 0x6874,
- /* 2nd byte: 112 */ 0x68b5,
- /* 2nd byte: 113 */ 0x68a0,
- /* 2nd byte: 114 */ 0x68ba,
- /* 2nd byte: 115 */ 0x690f,
- /* 2nd byte: 116 */ 0x688d,
- /* 2nd byte: 117 */ 0x687e,
- /* 2nd byte: 118 */ 0x6901,
- /* 2nd byte: 119 */ 0x68ca,
- /* 2nd byte: 120 */ 0x6908,
- /* 2nd byte: 121 */ 0x68d8,
- /* 2nd byte: 122 */ 0x6922,
- /* 2nd byte: 123 */ 0x6926,
- /* 2nd byte: 124 */ 0x68e1,
- /* 2nd byte: 125 */ 0x690c,
- /* 2nd byte: 126 */ 0x68cd},
-/* 1st byte: 92 */ {
- /* 2nd byte: 33 */ 0x68d4,
- /* 2nd byte: 34 */ 0x68e7,
- /* 2nd byte: 35 */ 0x68d5,
- /* 2nd byte: 36 */ 0x6936,
- /* 2nd byte: 37 */ 0x6912,
- /* 2nd byte: 38 */ 0x6904,
- /* 2nd byte: 39 */ 0x68d7,
- /* 2nd byte: 40 */ 0x68e3,
- /* 2nd byte: 41 */ 0x6925,
- /* 2nd byte: 42 */ 0x68f9,
- /* 2nd byte: 43 */ 0x68e0,
- /* 2nd byte: 44 */ 0x68ef,
- /* 2nd byte: 45 */ 0x6928,
- /* 2nd byte: 46 */ 0x692a,
- /* 2nd byte: 47 */ 0x691a,
- /* 2nd byte: 48 */ 0x6923,
- /* 2nd byte: 49 */ 0x6921,
- /* 2nd byte: 50 */ 0x68c6,
- /* 2nd byte: 51 */ 0x6979,
- /* 2nd byte: 52 */ 0x6977,
- /* 2nd byte: 53 */ 0x695c,
- /* 2nd byte: 54 */ 0x6978,
- /* 2nd byte: 55 */ 0x696b,
- /* 2nd byte: 56 */ 0x6954,
- /* 2nd byte: 57 */ 0x697e,
- /* 2nd byte: 58 */ 0x696e,
- /* 2nd byte: 59 */ 0x6939,
- /* 2nd byte: 60 */ 0x6974,
- /* 2nd byte: 61 */ 0x693d,
- /* 2nd byte: 62 */ 0x6959,
- /* 2nd byte: 63 */ 0x6930,
- /* 2nd byte: 64 */ 0x6961,
- /* 2nd byte: 65 */ 0x695e,
- /* 2nd byte: 66 */ 0x695d,
- /* 2nd byte: 67 */ 0x6981,
- /* 2nd byte: 68 */ 0x696a,
- /* 2nd byte: 69 */ 0x69b2,
- /* 2nd byte: 70 */ 0x69ae,
- /* 2nd byte: 71 */ 0x69d0,
- /* 2nd byte: 72 */ 0x69bf,
- /* 2nd byte: 73 */ 0x69c1,
- /* 2nd byte: 74 */ 0x69d3,
- /* 2nd byte: 75 */ 0x69be,
- /* 2nd byte: 76 */ 0x69ce,
- /* 2nd byte: 77 */ 0x5be8,
- /* 2nd byte: 78 */ 0x69ca,
- /* 2nd byte: 79 */ 0x69dd,
- /* 2nd byte: 80 */ 0x69bb,
- /* 2nd byte: 81 */ 0x69c3,
- /* 2nd byte: 82 */ 0x69a7,
- /* 2nd byte: 83 */ 0x6a2e,
- /* 2nd byte: 84 */ 0x6991,
- /* 2nd byte: 85 */ 0x69a0,
- /* 2nd byte: 86 */ 0x699c,
- /* 2nd byte: 87 */ 0x6995,
- /* 2nd byte: 88 */ 0x69b4,
- /* 2nd byte: 89 */ 0x69de,
- /* 2nd byte: 90 */ 0x69e8,
- /* 2nd byte: 91 */ 0x6a02,
- /* 2nd byte: 92 */ 0x6a1b,
- /* 2nd byte: 93 */ 0x69ff,
- /* 2nd byte: 94 */ 0x6b0a,
- /* 2nd byte: 95 */ 0x69f9,
- /* 2nd byte: 96 */ 0x69f2,
- /* 2nd byte: 97 */ 0x69e7,
- /* 2nd byte: 98 */ 0x6a05,
- /* 2nd byte: 99 */ 0x69b1,
- /* 2nd byte: 100 */ 0x6a1e,
- /* 2nd byte: 101 */ 0x69ed,
- /* 2nd byte: 102 */ 0x6a14,
- /* 2nd byte: 103 */ 0x69eb,
- /* 2nd byte: 104 */ 0x6a0a,
- /* 2nd byte: 105 */ 0x6a12,
- /* 2nd byte: 106 */ 0x6ac1,
- /* 2nd byte: 107 */ 0x6a23,
- /* 2nd byte: 108 */ 0x6a13,
- /* 2nd byte: 109 */ 0x6a44,
- /* 2nd byte: 110 */ 0x6a0c,
- /* 2nd byte: 111 */ 0x6a72,
- /* 2nd byte: 112 */ 0x6a36,
- /* 2nd byte: 113 */ 0x6a78,
- /* 2nd byte: 114 */ 0x6a47,
- /* 2nd byte: 115 */ 0x6a62,
- /* 2nd byte: 116 */ 0x6a59,
- /* 2nd byte: 117 */ 0x6a66,
- /* 2nd byte: 118 */ 0x6a48,
- /* 2nd byte: 119 */ 0x6a38,
- /* 2nd byte: 120 */ 0x6a22,
- /* 2nd byte: 121 */ 0x6a90,
- /* 2nd byte: 122 */ 0x6a8d,
- /* 2nd byte: 123 */ 0x6aa0,
- /* 2nd byte: 124 */ 0x6a84,
- /* 2nd byte: 125 */ 0x6aa2,
- /* 2nd byte: 126 */ 0x6aa3},
-/* 1st byte: 93 */ {
- /* 2nd byte: 33 */ 0x6a97,
- /* 2nd byte: 34 */ 0x8617,
- /* 2nd byte: 35 */ 0x6abb,
- /* 2nd byte: 36 */ 0x6ac3,
- /* 2nd byte: 37 */ 0x6ac2,
- /* 2nd byte: 38 */ 0x6ab8,
- /* 2nd byte: 39 */ 0x6ab3,
- /* 2nd byte: 40 */ 0x6aac,
- /* 2nd byte: 41 */ 0x6ade,
- /* 2nd byte: 42 */ 0x6ad1,
- /* 2nd byte: 43 */ 0x6adf,
- /* 2nd byte: 44 */ 0x6aaa,
- /* 2nd byte: 45 */ 0x6ada,
- /* 2nd byte: 46 */ 0x6aea,
- /* 2nd byte: 47 */ 0x6afb,
- /* 2nd byte: 48 */ 0x6b05,
- /* 2nd byte: 49 */ 0x8616,
- /* 2nd byte: 50 */ 0x6afa,
- /* 2nd byte: 51 */ 0x6b12,
- /* 2nd byte: 52 */ 0x6b16,
- /* 2nd byte: 53 */ 0x9b31,
- /* 2nd byte: 54 */ 0x6b1f,
- /* 2nd byte: 55 */ 0x6b38,
- /* 2nd byte: 56 */ 0x6b37,
- /* 2nd byte: 57 */ 0x76dc,
- /* 2nd byte: 58 */ 0x6b39,
- /* 2nd byte: 59 */ 0x98ee,
- /* 2nd byte: 60 */ 0x6b47,
- /* 2nd byte: 61 */ 0x6b43,
- /* 2nd byte: 62 */ 0x6b49,
- /* 2nd byte: 63 */ 0x6b50,
- /* 2nd byte: 64 */ 0x6b59,
- /* 2nd byte: 65 */ 0x6b54,
- /* 2nd byte: 66 */ 0x6b5b,
- /* 2nd byte: 67 */ 0x6b5f,
- /* 2nd byte: 68 */ 0x6b61,
- /* 2nd byte: 69 */ 0x6b78,
- /* 2nd byte: 70 */ 0x6b79,
- /* 2nd byte: 71 */ 0x6b7f,
- /* 2nd byte: 72 */ 0x6b80,
- /* 2nd byte: 73 */ 0x6b84,
- /* 2nd byte: 74 */ 0x6b83,
- /* 2nd byte: 75 */ 0x6b8d,
- /* 2nd byte: 76 */ 0x6b98,
- /* 2nd byte: 77 */ 0x6b95,
- /* 2nd byte: 78 */ 0x6b9e,
- /* 2nd byte: 79 */ 0x6ba4,
- /* 2nd byte: 80 */ 0x6baa,
- /* 2nd byte: 81 */ 0x6bab,
- /* 2nd byte: 82 */ 0x6baf,
- /* 2nd byte: 83 */ 0x6bb2,
- /* 2nd byte: 84 */ 0x6bb1,
- /* 2nd byte: 85 */ 0x6bb3,
- /* 2nd byte: 86 */ 0x6bb7,
- /* 2nd byte: 87 */ 0x6bbc,
- /* 2nd byte: 88 */ 0x6bc6,
- /* 2nd byte: 89 */ 0x6bcb,
- /* 2nd byte: 90 */ 0x6bd3,
- /* 2nd byte: 91 */ 0x6bdf,
- /* 2nd byte: 92 */ 0x6bec,
- /* 2nd byte: 93 */ 0x6beb,
- /* 2nd byte: 94 */ 0x6bf3,
- /* 2nd byte: 95 */ 0x6bef,
- /* 2nd byte: 96 */ 0x9ebe,
- /* 2nd byte: 97 */ 0x6c08,
- /* 2nd byte: 98 */ 0x6c13,
- /* 2nd byte: 99 */ 0x6c14,
- /* 2nd byte: 100 */ 0x6c1b,
- /* 2nd byte: 101 */ 0x6c24,
- /* 2nd byte: 102 */ 0x6c23,
- /* 2nd byte: 103 */ 0x6c5e,
- /* 2nd byte: 104 */ 0x6c55,
- /* 2nd byte: 105 */ 0x6c62,
- /* 2nd byte: 106 */ 0x6c6a,
- /* 2nd byte: 107 */ 0x6c82,
- /* 2nd byte: 108 */ 0x6c8d,
- /* 2nd byte: 109 */ 0x6c9a,
- /* 2nd byte: 110 */ 0x6c81,
- /* 2nd byte: 111 */ 0x6c9b,
- /* 2nd byte: 112 */ 0x6c7e,
- /* 2nd byte: 113 */ 0x6c68,
- /* 2nd byte: 114 */ 0x6c73,
- /* 2nd byte: 115 */ 0x6c92,
- /* 2nd byte: 116 */ 0x6c90,
- /* 2nd byte: 117 */ 0x6cc4,
- /* 2nd byte: 118 */ 0x6cf1,
- /* 2nd byte: 119 */ 0x6cd3,
- /* 2nd byte: 120 */ 0x6cbd,
- /* 2nd byte: 121 */ 0x6cd7,
- /* 2nd byte: 122 */ 0x6cc5,
- /* 2nd byte: 123 */ 0x6cdd,
- /* 2nd byte: 124 */ 0x6cae,
- /* 2nd byte: 125 */ 0x6cb1,
- /* 2nd byte: 126 */ 0x6cbe},
-/* 1st byte: 94 */ {
- /* 2nd byte: 33 */ 0x6cba,
- /* 2nd byte: 34 */ 0x6cdb,
- /* 2nd byte: 35 */ 0x6cef,
- /* 2nd byte: 36 */ 0x6cd9,
- /* 2nd byte: 37 */ 0x6cea,
- /* 2nd byte: 38 */ 0x6d1f,
- /* 2nd byte: 39 */ 0x884d,
- /* 2nd byte: 40 */ 0x6d36,
- /* 2nd byte: 41 */ 0x6d2b,
- /* 2nd byte: 42 */ 0x6d3d,
- /* 2nd byte: 43 */ 0x6d38,
- /* 2nd byte: 44 */ 0x6d19,
- /* 2nd byte: 45 */ 0x6d35,
- /* 2nd byte: 46 */ 0x6d33,
- /* 2nd byte: 47 */ 0x6d12,
- /* 2nd byte: 48 */ 0x6d0c,
- /* 2nd byte: 49 */ 0x6d63,
- /* 2nd byte: 50 */ 0x6d93,
- /* 2nd byte: 51 */ 0x6d64,
- /* 2nd byte: 52 */ 0x6d5a,
- /* 2nd byte: 53 */ 0x6d79,
- /* 2nd byte: 54 */ 0x6d59,
- /* 2nd byte: 55 */ 0x6d8e,
- /* 2nd byte: 56 */ 0x6d95,
- /* 2nd byte: 57 */ 0x6fe4,
- /* 2nd byte: 58 */ 0x6d85,
- /* 2nd byte: 59 */ 0x6df9,
- /* 2nd byte: 60 */ 0x6e15,
- /* 2nd byte: 61 */ 0x6e0a,
- /* 2nd byte: 62 */ 0x6db5,
- /* 2nd byte: 63 */ 0x6dc7,
- /* 2nd byte: 64 */ 0x6de6,
- /* 2nd byte: 65 */ 0x6db8,
- /* 2nd byte: 66 */ 0x6dc6,
- /* 2nd byte: 67 */ 0x6dec,
- /* 2nd byte: 68 */ 0x6dde,
- /* 2nd byte: 69 */ 0x6dcc,
- /* 2nd byte: 70 */ 0x6de8,
- /* 2nd byte: 71 */ 0x6dd2,
- /* 2nd byte: 72 */ 0x6dc5,
- /* 2nd byte: 73 */ 0x6dfa,
- /* 2nd byte: 74 */ 0x6dd9,
- /* 2nd byte: 75 */ 0x6de4,
- /* 2nd byte: 76 */ 0x6dd5,
- /* 2nd byte: 77 */ 0x6dea,
- /* 2nd byte: 78 */ 0x6dee,
- /* 2nd byte: 79 */ 0x6e2d,
- /* 2nd byte: 80 */ 0x6e6e,
- /* 2nd byte: 81 */ 0x6e2e,
- /* 2nd byte: 82 */ 0x6e19,
- /* 2nd byte: 83 */ 0x6e72,
- /* 2nd byte: 84 */ 0x6e5f,
- /* 2nd byte: 85 */ 0x6e3e,
- /* 2nd byte: 86 */ 0x6e23,
- /* 2nd byte: 87 */ 0x6e6b,
- /* 2nd byte: 88 */ 0x6e2b,
- /* 2nd byte: 89 */ 0x6e76,
- /* 2nd byte: 90 */ 0x6e4d,
- /* 2nd byte: 91 */ 0x6e1f,
- /* 2nd byte: 92 */ 0x6e43,
- /* 2nd byte: 93 */ 0x6e3a,
- /* 2nd byte: 94 */ 0x6e4e,
- /* 2nd byte: 95 */ 0x6e24,
- /* 2nd byte: 96 */ 0x6eff,
- /* 2nd byte: 97 */ 0x6e1d,
- /* 2nd byte: 98 */ 0x6e38,
- /* 2nd byte: 99 */ 0x6e82,
- /* 2nd byte: 100 */ 0x6eaa,
- /* 2nd byte: 101 */ 0x6e98,
- /* 2nd byte: 102 */ 0x6ec9,
- /* 2nd byte: 103 */ 0x6eb7,
- /* 2nd byte: 104 */ 0x6ed3,
- /* 2nd byte: 105 */ 0x6ebd,
- /* 2nd byte: 106 */ 0x6eaf,
- /* 2nd byte: 107 */ 0x6ec4,
- /* 2nd byte: 108 */ 0x6eb2,
- /* 2nd byte: 109 */ 0x6ed4,
- /* 2nd byte: 110 */ 0x6ed5,
- /* 2nd byte: 111 */ 0x6e8f,
- /* 2nd byte: 112 */ 0x6ea5,
- /* 2nd byte: 113 */ 0x6ec2,
- /* 2nd byte: 114 */ 0x6e9f,
- /* 2nd byte: 115 */ 0x6f41,
- /* 2nd byte: 116 */ 0x6f11,
- /* 2nd byte: 117 */ 0x704c,
- /* 2nd byte: 118 */ 0x6eec,
- /* 2nd byte: 119 */ 0x6ef8,
- /* 2nd byte: 120 */ 0x6efe,
- /* 2nd byte: 121 */ 0x6f3f,
- /* 2nd byte: 122 */ 0x6ef2,
- /* 2nd byte: 123 */ 0x6f31,
- /* 2nd byte: 124 */ 0x6eef,
- /* 2nd byte: 125 */ 0x6f32,
- /* 2nd byte: 126 */ 0x6ecc},
-/* 1st byte: 95 */ {
- /* 2nd byte: 33 */ 0x6f3e,
- /* 2nd byte: 34 */ 0x6f13,
- /* 2nd byte: 35 */ 0x6ef7,
- /* 2nd byte: 36 */ 0x6f86,
- /* 2nd byte: 37 */ 0x6f7a,
- /* 2nd byte: 38 */ 0x6f78,
- /* 2nd byte: 39 */ 0x6f81,
- /* 2nd byte: 40 */ 0x6f80,
- /* 2nd byte: 41 */ 0x6f6f,
- /* 2nd byte: 42 */ 0x6f5b,
- /* 2nd byte: 43 */ 0x6ff3,
- /* 2nd byte: 44 */ 0x6f6d,
- /* 2nd byte: 45 */ 0x6f82,
- /* 2nd byte: 46 */ 0x6f7c,
- /* 2nd byte: 47 */ 0x6f58,
- /* 2nd byte: 48 */ 0x6f8e,
- /* 2nd byte: 49 */ 0x6f91,
- /* 2nd byte: 50 */ 0x6fc2,
- /* 2nd byte: 51 */ 0x6f66,
- /* 2nd byte: 52 */ 0x6fb3,
- /* 2nd byte: 53 */ 0x6fa3,
- /* 2nd byte: 54 */ 0x6fa1,
- /* 2nd byte: 55 */ 0x6fa4,
- /* 2nd byte: 56 */ 0x6fb9,
- /* 2nd byte: 57 */ 0x6fc6,
- /* 2nd byte: 58 */ 0x6faa,
- /* 2nd byte: 59 */ 0x6fdf,
- /* 2nd byte: 60 */ 0x6fd5,
- /* 2nd byte: 61 */ 0x6fec,
- /* 2nd byte: 62 */ 0x6fd4,
- /* 2nd byte: 63 */ 0x6fd8,
- /* 2nd byte: 64 */ 0x6ff1,
- /* 2nd byte: 65 */ 0x6fee,
- /* 2nd byte: 66 */ 0x6fdb,
- /* 2nd byte: 67 */ 0x7009,
- /* 2nd byte: 68 */ 0x700b,
- /* 2nd byte: 69 */ 0x6ffa,
- /* 2nd byte: 70 */ 0x7011,
- /* 2nd byte: 71 */ 0x7001,
- /* 2nd byte: 72 */ 0x700f,
- /* 2nd byte: 73 */ 0x6ffe,
- /* 2nd byte: 74 */ 0x701b,
- /* 2nd byte: 75 */ 0x701a,
- /* 2nd byte: 76 */ 0x6f74,
- /* 2nd byte: 77 */ 0x701d,
- /* 2nd byte: 78 */ 0x7018,
- /* 2nd byte: 79 */ 0x701f,
- /* 2nd byte: 80 */ 0x7030,
- /* 2nd byte: 81 */ 0x703e,
- /* 2nd byte: 82 */ 0x7032,
- /* 2nd byte: 83 */ 0x7051,
- /* 2nd byte: 84 */ 0x7063,
- /* 2nd byte: 85 */ 0x7099,
- /* 2nd byte: 86 */ 0x7092,
- /* 2nd byte: 87 */ 0x70af,
- /* 2nd byte: 88 */ 0x70f1,
- /* 2nd byte: 89 */ 0x70ac,
- /* 2nd byte: 90 */ 0x70b8,
- /* 2nd byte: 91 */ 0x70b3,
- /* 2nd byte: 92 */ 0x70ae,
- /* 2nd byte: 93 */ 0x70df,
- /* 2nd byte: 94 */ 0x70cb,
- /* 2nd byte: 95 */ 0x70dd,
- /* 2nd byte: 96 */ 0x70d9,
- /* 2nd byte: 97 */ 0x7109,
- /* 2nd byte: 98 */ 0x70fd,
- /* 2nd byte: 99 */ 0x711c,
- /* 2nd byte: 100 */ 0x7119,
- /* 2nd byte: 101 */ 0x7165,
- /* 2nd byte: 102 */ 0x7155,
- /* 2nd byte: 103 */ 0x7188,
- /* 2nd byte: 104 */ 0x7166,
- /* 2nd byte: 105 */ 0x7162,
- /* 2nd byte: 106 */ 0x714c,
- /* 2nd byte: 107 */ 0x7156,
- /* 2nd byte: 108 */ 0x716c,
- /* 2nd byte: 109 */ 0x718f,
- /* 2nd byte: 110 */ 0x71fb,
- /* 2nd byte: 111 */ 0x7184,
- /* 2nd byte: 112 */ 0x7195,
- /* 2nd byte: 113 */ 0x71a8,
- /* 2nd byte: 114 */ 0x71ac,
- /* 2nd byte: 115 */ 0x71d7,
- /* 2nd byte: 116 */ 0x71b9,
- /* 2nd byte: 117 */ 0x71be,
- /* 2nd byte: 118 */ 0x71d2,
- /* 2nd byte: 119 */ 0x71c9,
- /* 2nd byte: 120 */ 0x71d4,
- /* 2nd byte: 121 */ 0x71ce,
- /* 2nd byte: 122 */ 0x71e0,
- /* 2nd byte: 123 */ 0x71ec,
- /* 2nd byte: 124 */ 0x71e7,
- /* 2nd byte: 125 */ 0x71f5,
- /* 2nd byte: 126 */ 0x71fc},
-/* 1st byte: 96 */ {
- /* 2nd byte: 33 */ 0x71f9,
- /* 2nd byte: 34 */ 0x71ff,
- /* 2nd byte: 35 */ 0x720d,
- /* 2nd byte: 36 */ 0x7210,
- /* 2nd byte: 37 */ 0x721b,
- /* 2nd byte: 38 */ 0x7228,
- /* 2nd byte: 39 */ 0x722d,
- /* 2nd byte: 40 */ 0x722c,
- /* 2nd byte: 41 */ 0x7230,
- /* 2nd byte: 42 */ 0x7232,
- /* 2nd byte: 43 */ 0x723b,
- /* 2nd byte: 44 */ 0x723c,
- /* 2nd byte: 45 */ 0x723f,
- /* 2nd byte: 46 */ 0x7240,
- /* 2nd byte: 47 */ 0x7246,
- /* 2nd byte: 48 */ 0x724b,
- /* 2nd byte: 49 */ 0x7258,
- /* 2nd byte: 50 */ 0x7274,
- /* 2nd byte: 51 */ 0x727e,
- /* 2nd byte: 52 */ 0x7282,
- /* 2nd byte: 53 */ 0x7281,
- /* 2nd byte: 54 */ 0x7287,
- /* 2nd byte: 55 */ 0x7292,
- /* 2nd byte: 56 */ 0x7296,
- /* 2nd byte: 57 */ 0x72a2,
- /* 2nd byte: 58 */ 0x72a7,
- /* 2nd byte: 59 */ 0x72b9,
- /* 2nd byte: 60 */ 0x72b2,
- /* 2nd byte: 61 */ 0x72c3,
- /* 2nd byte: 62 */ 0x72c6,
- /* 2nd byte: 63 */ 0x72c4,
- /* 2nd byte: 64 */ 0x72ce,
- /* 2nd byte: 65 */ 0x72d2,
- /* 2nd byte: 66 */ 0x72e2,
- /* 2nd byte: 67 */ 0x72e0,
- /* 2nd byte: 68 */ 0x72e1,
- /* 2nd byte: 69 */ 0x72f9,
- /* 2nd byte: 70 */ 0x72f7,
- /* 2nd byte: 71 */ 0x500f,
- /* 2nd byte: 72 */ 0x7317,
- /* 2nd byte: 73 */ 0x730a,
- /* 2nd byte: 74 */ 0x731c,
- /* 2nd byte: 75 */ 0x7316,
- /* 2nd byte: 76 */ 0x731d,
- /* 2nd byte: 77 */ 0x7334,
- /* 2nd byte: 78 */ 0x732f,
- /* 2nd byte: 79 */ 0x7329,
- /* 2nd byte: 80 */ 0x7325,
- /* 2nd byte: 81 */ 0x733e,
- /* 2nd byte: 82 */ 0x734e,
- /* 2nd byte: 83 */ 0x734f,
- /* 2nd byte: 84 */ 0x9ed8,
- /* 2nd byte: 85 */ 0x7357,
- /* 2nd byte: 86 */ 0x736a,
- /* 2nd byte: 87 */ 0x7368,
- /* 2nd byte: 88 */ 0x7370,
- /* 2nd byte: 89 */ 0x7378,
- /* 2nd byte: 90 */ 0x7375,
- /* 2nd byte: 91 */ 0x737b,
- /* 2nd byte: 92 */ 0x737a,
- /* 2nd byte: 93 */ 0x73c8,
- /* 2nd byte: 94 */ 0x73b3,
- /* 2nd byte: 95 */ 0x73ce,
- /* 2nd byte: 96 */ 0x73bb,
- /* 2nd byte: 97 */ 0x73c0,
- /* 2nd byte: 98 */ 0x73e5,
- /* 2nd byte: 99 */ 0x73ee,
- /* 2nd byte: 100 */ 0x73de,
- /* 2nd byte: 101 */ 0x74a2,
- /* 2nd byte: 102 */ 0x7405,
- /* 2nd byte: 103 */ 0x746f,
- /* 2nd byte: 104 */ 0x7425,
- /* 2nd byte: 105 */ 0x73f8,
- /* 2nd byte: 106 */ 0x7432,
- /* 2nd byte: 107 */ 0x743a,
- /* 2nd byte: 108 */ 0x7455,
- /* 2nd byte: 109 */ 0x743f,
- /* 2nd byte: 110 */ 0x745f,
- /* 2nd byte: 111 */ 0x7459,
- /* 2nd byte: 112 */ 0x7441,
- /* 2nd byte: 113 */ 0x745c,
- /* 2nd byte: 114 */ 0x7469,
- /* 2nd byte: 115 */ 0x7470,
- /* 2nd byte: 116 */ 0x7463,
- /* 2nd byte: 117 */ 0x746a,
- /* 2nd byte: 118 */ 0x7476,
- /* 2nd byte: 119 */ 0x747e,
- /* 2nd byte: 120 */ 0x748b,
- /* 2nd byte: 121 */ 0x749e,
- /* 2nd byte: 122 */ 0x74a7,
- /* 2nd byte: 123 */ 0x74ca,
- /* 2nd byte: 124 */ 0x74cf,
- /* 2nd byte: 125 */ 0x74d4,
- /* 2nd byte: 126 */ 0x73f1},
-/* 1st byte: 97 */ {
- /* 2nd byte: 33 */ 0x74e0,
- /* 2nd byte: 34 */ 0x74e3,
- /* 2nd byte: 35 */ 0x74e7,
- /* 2nd byte: 36 */ 0x74e9,
- /* 2nd byte: 37 */ 0x74ee,
- /* 2nd byte: 38 */ 0x74f2,
- /* 2nd byte: 39 */ 0x74f0,
- /* 2nd byte: 40 */ 0x74f1,
- /* 2nd byte: 41 */ 0x74f8,
- /* 2nd byte: 42 */ 0x74f7,
- /* 2nd byte: 43 */ 0x7504,
- /* 2nd byte: 44 */ 0x7503,
- /* 2nd byte: 45 */ 0x7505,
- /* 2nd byte: 46 */ 0x750c,
- /* 2nd byte: 47 */ 0x750e,
- /* 2nd byte: 48 */ 0x750d,
- /* 2nd byte: 49 */ 0x7515,
- /* 2nd byte: 50 */ 0x7513,
- /* 2nd byte: 51 */ 0x751e,
- /* 2nd byte: 52 */ 0x7526,
- /* 2nd byte: 53 */ 0x752c,
- /* 2nd byte: 54 */ 0x753c,
- /* 2nd byte: 55 */ 0x7544,
- /* 2nd byte: 56 */ 0x754d,
- /* 2nd byte: 57 */ 0x754a,
- /* 2nd byte: 58 */ 0x7549,
- /* 2nd byte: 59 */ 0x755b,
- /* 2nd byte: 60 */ 0x7546,
- /* 2nd byte: 61 */ 0x755a,
- /* 2nd byte: 62 */ 0x7569,
- /* 2nd byte: 63 */ 0x7564,
- /* 2nd byte: 64 */ 0x7567,
- /* 2nd byte: 65 */ 0x756b,
- /* 2nd byte: 66 */ 0x756d,
- /* 2nd byte: 67 */ 0x7578,
- /* 2nd byte: 68 */ 0x7576,
- /* 2nd byte: 69 */ 0x7586,
- /* 2nd byte: 70 */ 0x7587,
- /* 2nd byte: 71 */ 0x7574,
- /* 2nd byte: 72 */ 0x758a,
- /* 2nd byte: 73 */ 0x7589,
- /* 2nd byte: 74 */ 0x7582,
- /* 2nd byte: 75 */ 0x7594,
- /* 2nd byte: 76 */ 0x759a,
- /* 2nd byte: 77 */ 0x759d,
- /* 2nd byte: 78 */ 0x75a5,
- /* 2nd byte: 79 */ 0x75a3,
- /* 2nd byte: 80 */ 0x75c2,
- /* 2nd byte: 81 */ 0x75b3,
- /* 2nd byte: 82 */ 0x75c3,
- /* 2nd byte: 83 */ 0x75b5,
- /* 2nd byte: 84 */ 0x75bd,
- /* 2nd byte: 85 */ 0x75b8,
- /* 2nd byte: 86 */ 0x75bc,
- /* 2nd byte: 87 */ 0x75b1,
- /* 2nd byte: 88 */ 0x75cd,
- /* 2nd byte: 89 */ 0x75ca,
- /* 2nd byte: 90 */ 0x75d2,
- /* 2nd byte: 91 */ 0x75d9,
- /* 2nd byte: 92 */ 0x75e3,
- /* 2nd byte: 93 */ 0x75de,
- /* 2nd byte: 94 */ 0x75fe,
- /* 2nd byte: 95 */ 0x75ff,
- /* 2nd byte: 96 */ 0x75fc,
- /* 2nd byte: 97 */ 0x7601,
- /* 2nd byte: 98 */ 0x75f0,
- /* 2nd byte: 99 */ 0x75fa,
- /* 2nd byte: 100 */ 0x75f2,
- /* 2nd byte: 101 */ 0x75f3,
- /* 2nd byte: 102 */ 0x760b,
- /* 2nd byte: 103 */ 0x760d,
- /* 2nd byte: 104 */ 0x7609,
- /* 2nd byte: 105 */ 0x761f,
- /* 2nd byte: 106 */ 0x7627,
- /* 2nd byte: 107 */ 0x7620,
- /* 2nd byte: 108 */ 0x7621,
- /* 2nd byte: 109 */ 0x7622,
- /* 2nd byte: 110 */ 0x7624,
- /* 2nd byte: 111 */ 0x7634,
- /* 2nd byte: 112 */ 0x7630,
- /* 2nd byte: 113 */ 0x763b,
- /* 2nd byte: 114 */ 0x7647,
- /* 2nd byte: 115 */ 0x7648,
- /* 2nd byte: 116 */ 0x7646,
- /* 2nd byte: 117 */ 0x765c,
- /* 2nd byte: 118 */ 0x7658,
- /* 2nd byte: 119 */ 0x7661,
- /* 2nd byte: 120 */ 0x7662,
- /* 2nd byte: 121 */ 0x7668,
- /* 2nd byte: 122 */ 0x7669,
- /* 2nd byte: 123 */ 0x766a,
- /* 2nd byte: 124 */ 0x7667,
- /* 2nd byte: 125 */ 0x766c,
- /* 2nd byte: 126 */ 0x7670},
-/* 1st byte: 98 */ {
- /* 2nd byte: 33 */ 0x7672,
- /* 2nd byte: 34 */ 0x7676,
- /* 2nd byte: 35 */ 0x7678,
- /* 2nd byte: 36 */ 0x767c,
- /* 2nd byte: 37 */ 0x7680,
- /* 2nd byte: 38 */ 0x7683,
- /* 2nd byte: 39 */ 0x7688,
- /* 2nd byte: 40 */ 0x768b,
- /* 2nd byte: 41 */ 0x768e,
- /* 2nd byte: 42 */ 0x7696,
- /* 2nd byte: 43 */ 0x7693,
- /* 2nd byte: 44 */ 0x7699,
- /* 2nd byte: 45 */ 0x769a,
- /* 2nd byte: 46 */ 0x76b0,
- /* 2nd byte: 47 */ 0x76b4,
- /* 2nd byte: 48 */ 0x76b8,
- /* 2nd byte: 49 */ 0x76b9,
- /* 2nd byte: 50 */ 0x76ba,
- /* 2nd byte: 51 */ 0x76c2,
- /* 2nd byte: 52 */ 0x76cd,
- /* 2nd byte: 53 */ 0x76d6,
- /* 2nd byte: 54 */ 0x76d2,
- /* 2nd byte: 55 */ 0x76de,
- /* 2nd byte: 56 */ 0x76e1,
- /* 2nd byte: 57 */ 0x76e5,
- /* 2nd byte: 58 */ 0x76e7,
- /* 2nd byte: 59 */ 0x76ea,
- /* 2nd byte: 60 */ 0x862f,
- /* 2nd byte: 61 */ 0x76fb,
- /* 2nd byte: 62 */ 0x7708,
- /* 2nd byte: 63 */ 0x7707,
- /* 2nd byte: 64 */ 0x7704,
- /* 2nd byte: 65 */ 0x7729,
- /* 2nd byte: 66 */ 0x7724,
- /* 2nd byte: 67 */ 0x771e,
- /* 2nd byte: 68 */ 0x7725,
- /* 2nd byte: 69 */ 0x7726,
- /* 2nd byte: 70 */ 0x771b,
- /* 2nd byte: 71 */ 0x7737,
- /* 2nd byte: 72 */ 0x7738,
- /* 2nd byte: 73 */ 0x7747,
- /* 2nd byte: 74 */ 0x775a,
- /* 2nd byte: 75 */ 0x7768,
- /* 2nd byte: 76 */ 0x776b,
- /* 2nd byte: 77 */ 0x775b,
- /* 2nd byte: 78 */ 0x7765,
- /* 2nd byte: 79 */ 0x777f,
- /* 2nd byte: 80 */ 0x777e,
- /* 2nd byte: 81 */ 0x7779,
- /* 2nd byte: 82 */ 0x778e,
- /* 2nd byte: 83 */ 0x778b,
- /* 2nd byte: 84 */ 0x7791,
- /* 2nd byte: 85 */ 0x77a0,
- /* 2nd byte: 86 */ 0x779e,
- /* 2nd byte: 87 */ 0x77b0,
- /* 2nd byte: 88 */ 0x77b6,
- /* 2nd byte: 89 */ 0x77b9,
- /* 2nd byte: 90 */ 0x77bf,
- /* 2nd byte: 91 */ 0x77bc,
- /* 2nd byte: 92 */ 0x77bd,
- /* 2nd byte: 93 */ 0x77bb,
- /* 2nd byte: 94 */ 0x77c7,
- /* 2nd byte: 95 */ 0x77cd,
- /* 2nd byte: 96 */ 0x77d7,
- /* 2nd byte: 97 */ 0x77da,
- /* 2nd byte: 98 */ 0x77dc,
- /* 2nd byte: 99 */ 0x77e3,
- /* 2nd byte: 100 */ 0x77ee,
- /* 2nd byte: 101 */ 0x77fc,
- /* 2nd byte: 102 */ 0x780c,
- /* 2nd byte: 103 */ 0x7812,
- /* 2nd byte: 104 */ 0x7926,
- /* 2nd byte: 105 */ 0x7820,
- /* 2nd byte: 106 */ 0x792a,
- /* 2nd byte: 107 */ 0x7845,
- /* 2nd byte: 108 */ 0x788e,
- /* 2nd byte: 109 */ 0x7874,
- /* 2nd byte: 110 */ 0x7886,
- /* 2nd byte: 111 */ 0x787c,
- /* 2nd byte: 112 */ 0x789a,
- /* 2nd byte: 113 */ 0x788c,
- /* 2nd byte: 114 */ 0x78a3,
- /* 2nd byte: 115 */ 0x78b5,
- /* 2nd byte: 116 */ 0x78aa,
- /* 2nd byte: 117 */ 0x78af,
- /* 2nd byte: 118 */ 0x78d1,
- /* 2nd byte: 119 */ 0x78c6,
- /* 2nd byte: 120 */ 0x78cb,
- /* 2nd byte: 121 */ 0x78d4,
- /* 2nd byte: 122 */ 0x78be,
- /* 2nd byte: 123 */ 0x78bc,
- /* 2nd byte: 124 */ 0x78c5,
- /* 2nd byte: 125 */ 0x78ca,
- /* 2nd byte: 126 */ 0x78ec},
-/* 1st byte: 99 */ {
- /* 2nd byte: 33 */ 0x78e7,
- /* 2nd byte: 34 */ 0x78da,
- /* 2nd byte: 35 */ 0x78fd,
- /* 2nd byte: 36 */ 0x78f4,
- /* 2nd byte: 37 */ 0x7907,
- /* 2nd byte: 38 */ 0x7912,
- /* 2nd byte: 39 */ 0x7911,
- /* 2nd byte: 40 */ 0x7919,
- /* 2nd byte: 41 */ 0x792c,
- /* 2nd byte: 42 */ 0x792b,
- /* 2nd byte: 43 */ 0x7940,
- /* 2nd byte: 44 */ 0x7960,
- /* 2nd byte: 45 */ 0x7957,
- /* 2nd byte: 46 */ 0x795f,
- /* 2nd byte: 47 */ 0x795a,
- /* 2nd byte: 48 */ 0x7955,
- /* 2nd byte: 49 */ 0x7953,
- /* 2nd byte: 50 */ 0x797a,
- /* 2nd byte: 51 */ 0x797f,
- /* 2nd byte: 52 */ 0x798a,
- /* 2nd byte: 53 */ 0x799d,
- /* 2nd byte: 54 */ 0x79a7,
- /* 2nd byte: 55 */ 0x9f4b,
- /* 2nd byte: 56 */ 0x79aa,
- /* 2nd byte: 57 */ 0x79ae,
- /* 2nd byte: 58 */ 0x79b3,
- /* 2nd byte: 59 */ 0x79b9,
- /* 2nd byte: 60 */ 0x79ba,
- /* 2nd byte: 61 */ 0x79c9,
- /* 2nd byte: 62 */ 0x79d5,
- /* 2nd byte: 63 */ 0x79e7,
- /* 2nd byte: 64 */ 0x79ec,
- /* 2nd byte: 65 */ 0x79e1,
- /* 2nd byte: 66 */ 0x79e3,
- /* 2nd byte: 67 */ 0x7a08,
- /* 2nd byte: 68 */ 0x7a0d,
- /* 2nd byte: 69 */ 0x7a18,
- /* 2nd byte: 70 */ 0x7a19,
- /* 2nd byte: 71 */ 0x7a20,
- /* 2nd byte: 72 */ 0x7a1f,
- /* 2nd byte: 73 */ 0x7980,
- /* 2nd byte: 74 */ 0x7a31,
- /* 2nd byte: 75 */ 0x7a3b,
- /* 2nd byte: 76 */ 0x7a3e,
- /* 2nd byte: 77 */ 0x7a37,
- /* 2nd byte: 78 */ 0x7a43,
- /* 2nd byte: 79 */ 0x7a57,
- /* 2nd byte: 80 */ 0x7a49,
- /* 2nd byte: 81 */ 0x7a61,
- /* 2nd byte: 82 */ 0x7a62,
- /* 2nd byte: 83 */ 0x7a69,
- /* 2nd byte: 84 */ 0x9f9d,
- /* 2nd byte: 85 */ 0x7a70,
- /* 2nd byte: 86 */ 0x7a79,
- /* 2nd byte: 87 */ 0x7a7d,
- /* 2nd byte: 88 */ 0x7a88,
- /* 2nd byte: 89 */ 0x7a97,
- /* 2nd byte: 90 */ 0x7a95,
- /* 2nd byte: 91 */ 0x7a98,
- /* 2nd byte: 92 */ 0x7a96,
- /* 2nd byte: 93 */ 0x7aa9,
- /* 2nd byte: 94 */ 0x7ac8,
- /* 2nd byte: 95 */ 0x7ab0,
- /* 2nd byte: 96 */ 0x7ab6,
- /* 2nd byte: 97 */ 0x7ac5,
- /* 2nd byte: 98 */ 0x7ac4,
- /* 2nd byte: 99 */ 0x7abf,
- /* 2nd byte: 100 */ 0x9083,
- /* 2nd byte: 101 */ 0x7ac7,
- /* 2nd byte: 102 */ 0x7aca,
- /* 2nd byte: 103 */ 0x7acd,
- /* 2nd byte: 104 */ 0x7acf,
- /* 2nd byte: 105 */ 0x7ad5,
- /* 2nd byte: 106 */ 0x7ad3,
- /* 2nd byte: 107 */ 0x7ad9,
- /* 2nd byte: 108 */ 0x7ada,
- /* 2nd byte: 109 */ 0x7add,
- /* 2nd byte: 110 */ 0x7ae1,
- /* 2nd byte: 111 */ 0x7ae2,
- /* 2nd byte: 112 */ 0x7ae6,
- /* 2nd byte: 113 */ 0x7aed,
- /* 2nd byte: 114 */ 0x7af0,
- /* 2nd byte: 115 */ 0x7b02,
- /* 2nd byte: 116 */ 0x7b0f,
- /* 2nd byte: 117 */ 0x7b0a,
- /* 2nd byte: 118 */ 0x7b06,
- /* 2nd byte: 119 */ 0x7b33,
- /* 2nd byte: 120 */ 0x7b18,
- /* 2nd byte: 121 */ 0x7b19,
- /* 2nd byte: 122 */ 0x7b1e,
- /* 2nd byte: 123 */ 0x7b35,
- /* 2nd byte: 124 */ 0x7b28,
- /* 2nd byte: 125 */ 0x7b36,
- /* 2nd byte: 126 */ 0x7b50},
-/* 1st byte: 100 */ {
- /* 2nd byte: 33 */ 0x7b7a,
- /* 2nd byte: 34 */ 0x7b04,
- /* 2nd byte: 35 */ 0x7b4d,
- /* 2nd byte: 36 */ 0x7b0b,
- /* 2nd byte: 37 */ 0x7b4c,
- /* 2nd byte: 38 */ 0x7b45,
- /* 2nd byte: 39 */ 0x7b75,
- /* 2nd byte: 40 */ 0x7b65,
- /* 2nd byte: 41 */ 0x7b74,
- /* 2nd byte: 42 */ 0x7b67,
- /* 2nd byte: 43 */ 0x7b70,
- /* 2nd byte: 44 */ 0x7b71,
- /* 2nd byte: 45 */ 0x7b6c,
- /* 2nd byte: 46 */ 0x7b6e,
- /* 2nd byte: 47 */ 0x7b9d,
- /* 2nd byte: 48 */ 0x7b98,
- /* 2nd byte: 49 */ 0x7b9f,
- /* 2nd byte: 50 */ 0x7b8d,
- /* 2nd byte: 51 */ 0x7b9c,
- /* 2nd byte: 52 */ 0x7b9a,
- /* 2nd byte: 53 */ 0x7b8b,
- /* 2nd byte: 54 */ 0x7b92,
- /* 2nd byte: 55 */ 0x7b8f,
- /* 2nd byte: 56 */ 0x7b5d,
- /* 2nd byte: 57 */ 0x7b99,
- /* 2nd byte: 58 */ 0x7bcb,
- /* 2nd byte: 59 */ 0x7bc1,
- /* 2nd byte: 60 */ 0x7bcc,
- /* 2nd byte: 61 */ 0x7bcf,
- /* 2nd byte: 62 */ 0x7bb4,
- /* 2nd byte: 63 */ 0x7bc6,
- /* 2nd byte: 64 */ 0x7bdd,
- /* 2nd byte: 65 */ 0x7be9,
- /* 2nd byte: 66 */ 0x7c11,
- /* 2nd byte: 67 */ 0x7c14,
- /* 2nd byte: 68 */ 0x7be6,
- /* 2nd byte: 69 */ 0x7be5,
- /* 2nd byte: 70 */ 0x7c60,
- /* 2nd byte: 71 */ 0x7c00,
- /* 2nd byte: 72 */ 0x7c07,
- /* 2nd byte: 73 */ 0x7c13,
- /* 2nd byte: 74 */ 0x7bf3,
- /* 2nd byte: 75 */ 0x7bf7,
- /* 2nd byte: 76 */ 0x7c17,
- /* 2nd byte: 77 */ 0x7c0d,
- /* 2nd byte: 78 */ 0x7bf6,
- /* 2nd byte: 79 */ 0x7c23,
- /* 2nd byte: 80 */ 0x7c27,
- /* 2nd byte: 81 */ 0x7c2a,
- /* 2nd byte: 82 */ 0x7c1f,
- /* 2nd byte: 83 */ 0x7c37,
- /* 2nd byte: 84 */ 0x7c2b,
- /* 2nd byte: 85 */ 0x7c3d,
- /* 2nd byte: 86 */ 0x7c4c,
- /* 2nd byte: 87 */ 0x7c43,
- /* 2nd byte: 88 */ 0x7c54,
- /* 2nd byte: 89 */ 0x7c4f,
- /* 2nd byte: 90 */ 0x7c40,
- /* 2nd byte: 91 */ 0x7c50,
- /* 2nd byte: 92 */ 0x7c58,
- /* 2nd byte: 93 */ 0x7c5f,
- /* 2nd byte: 94 */ 0x7c64,
- /* 2nd byte: 95 */ 0x7c56,
- /* 2nd byte: 96 */ 0x7c65,
- /* 2nd byte: 97 */ 0x7c6c,
- /* 2nd byte: 98 */ 0x7c75,
- /* 2nd byte: 99 */ 0x7c83,
- /* 2nd byte: 100 */ 0x7c90,
- /* 2nd byte: 101 */ 0x7ca4,
- /* 2nd byte: 102 */ 0x7cad,
- /* 2nd byte: 103 */ 0x7ca2,
- /* 2nd byte: 104 */ 0x7cab,
- /* 2nd byte: 105 */ 0x7ca1,
- /* 2nd byte: 106 */ 0x7ca8,
- /* 2nd byte: 107 */ 0x7cb3,
- /* 2nd byte: 108 */ 0x7cb2,
- /* 2nd byte: 109 */ 0x7cb1,
- /* 2nd byte: 110 */ 0x7cae,
- /* 2nd byte: 111 */ 0x7cb9,
- /* 2nd byte: 112 */ 0x7cbd,
- /* 2nd byte: 113 */ 0x7cc0,
- /* 2nd byte: 114 */ 0x7cc5,
- /* 2nd byte: 115 */ 0x7cc2,
- /* 2nd byte: 116 */ 0x7cd8,
- /* 2nd byte: 117 */ 0x7cd2,
- /* 2nd byte: 118 */ 0x7cdc,
- /* 2nd byte: 119 */ 0x7ce2,
- /* 2nd byte: 120 */ 0x9b3b,
- /* 2nd byte: 121 */ 0x7cef,
- /* 2nd byte: 122 */ 0x7cf2,
- /* 2nd byte: 123 */ 0x7cf4,
- /* 2nd byte: 124 */ 0x7cf6,
- /* 2nd byte: 125 */ 0x7cfa,
- /* 2nd byte: 126 */ 0x7d06},
-/* 1st byte: 101 */ {
- /* 2nd byte: 33 */ 0x7d02,
- /* 2nd byte: 34 */ 0x7d1c,
- /* 2nd byte: 35 */ 0x7d15,
- /* 2nd byte: 36 */ 0x7d0a,
- /* 2nd byte: 37 */ 0x7d45,
- /* 2nd byte: 38 */ 0x7d4b,
- /* 2nd byte: 39 */ 0x7d2e,
- /* 2nd byte: 40 */ 0x7d32,
- /* 2nd byte: 41 */ 0x7d3f,
- /* 2nd byte: 42 */ 0x7d35,
- /* 2nd byte: 43 */ 0x7d46,
- /* 2nd byte: 44 */ 0x7d73,
- /* 2nd byte: 45 */ 0x7d56,
- /* 2nd byte: 46 */ 0x7d4e,
- /* 2nd byte: 47 */ 0x7d72,
- /* 2nd byte: 48 */ 0x7d68,
- /* 2nd byte: 49 */ 0x7d6e,
- /* 2nd byte: 50 */ 0x7d4f,
- /* 2nd byte: 51 */ 0x7d63,
- /* 2nd byte: 52 */ 0x7d93,
- /* 2nd byte: 53 */ 0x7d89,
- /* 2nd byte: 54 */ 0x7d5b,
- /* 2nd byte: 55 */ 0x7d8f,
- /* 2nd byte: 56 */ 0x7d7d,
- /* 2nd byte: 57 */ 0x7d9b,
- /* 2nd byte: 58 */ 0x7dba,
- /* 2nd byte: 59 */ 0x7dae,
- /* 2nd byte: 60 */ 0x7da3,
- /* 2nd byte: 61 */ 0x7db5,
- /* 2nd byte: 62 */ 0x7dc7,
- /* 2nd byte: 63 */ 0x7dbd,
- /* 2nd byte: 64 */ 0x7dab,
- /* 2nd byte: 65 */ 0x7e3d,
- /* 2nd byte: 66 */ 0x7da2,
- /* 2nd byte: 67 */ 0x7daf,
- /* 2nd byte: 68 */ 0x7ddc,
- /* 2nd byte: 69 */ 0x7db8,
- /* 2nd byte: 70 */ 0x7d9f,
- /* 2nd byte: 71 */ 0x7db0,
- /* 2nd byte: 72 */ 0x7dd8,
- /* 2nd byte: 73 */ 0x7ddd,
- /* 2nd byte: 74 */ 0x7de4,
- /* 2nd byte: 75 */ 0x7dde,
- /* 2nd byte: 76 */ 0x7dfb,
- /* 2nd byte: 77 */ 0x7df2,
- /* 2nd byte: 78 */ 0x7de1,
- /* 2nd byte: 79 */ 0x7e05,
- /* 2nd byte: 80 */ 0x7e0a,
- /* 2nd byte: 81 */ 0x7e23,
- /* 2nd byte: 82 */ 0x7e21,
- /* 2nd byte: 83 */ 0x7e12,
- /* 2nd byte: 84 */ 0x7e31,
- /* 2nd byte: 85 */ 0x7e1f,
- /* 2nd byte: 86 */ 0x7e09,
- /* 2nd byte: 87 */ 0x7e0b,
- /* 2nd byte: 88 */ 0x7e22,
- /* 2nd byte: 89 */ 0x7e46,
- /* 2nd byte: 90 */ 0x7e66,
- /* 2nd byte: 91 */ 0x7e3b,
- /* 2nd byte: 92 */ 0x7e35,
- /* 2nd byte: 93 */ 0x7e39,
- /* 2nd byte: 94 */ 0x7e43,
- /* 2nd byte: 95 */ 0x7e37,
- /* 2nd byte: 96 */ 0x7e32,
- /* 2nd byte: 97 */ 0x7e3a,
- /* 2nd byte: 98 */ 0x7e67,
- /* 2nd byte: 99 */ 0x7e5d,
- /* 2nd byte: 100 */ 0x7e56,
- /* 2nd byte: 101 */ 0x7e5e,
- /* 2nd byte: 102 */ 0x7e59,
- /* 2nd byte: 103 */ 0x7e5a,
- /* 2nd byte: 104 */ 0x7e79,
- /* 2nd byte: 105 */ 0x7e6a,
- /* 2nd byte: 106 */ 0x7e69,
- /* 2nd byte: 107 */ 0x7e7c,
- /* 2nd byte: 108 */ 0x7e7b,
- /* 2nd byte: 109 */ 0x7e83,
- /* 2nd byte: 110 */ 0x7dd5,
- /* 2nd byte: 111 */ 0x7e7d,
- /* 2nd byte: 112 */ 0x8fae,
- /* 2nd byte: 113 */ 0x7e7f,
- /* 2nd byte: 114 */ 0x7e88,
- /* 2nd byte: 115 */ 0x7e89,
- /* 2nd byte: 116 */ 0x7e8c,
- /* 2nd byte: 117 */ 0x7e92,
- /* 2nd byte: 118 */ 0x7e90,
- /* 2nd byte: 119 */ 0x7e93,
- /* 2nd byte: 120 */ 0x7e94,
- /* 2nd byte: 121 */ 0x7e96,
- /* 2nd byte: 122 */ 0x7e8e,
- /* 2nd byte: 123 */ 0x7e9b,
- /* 2nd byte: 124 */ 0x7e9c,
- /* 2nd byte: 125 */ 0x7f38,
- /* 2nd byte: 126 */ 0x7f3a},
-/* 1st byte: 102 */ {
- /* 2nd byte: 33 */ 0x7f45,
- /* 2nd byte: 34 */ 0x7f4c,
- /* 2nd byte: 35 */ 0x7f4d,
- /* 2nd byte: 36 */ 0x7f4e,
- /* 2nd byte: 37 */ 0x7f50,
- /* 2nd byte: 38 */ 0x7f51,
- /* 2nd byte: 39 */ 0x7f55,
- /* 2nd byte: 40 */ 0x7f54,
- /* 2nd byte: 41 */ 0x7f58,
- /* 2nd byte: 42 */ 0x7f5f,
- /* 2nd byte: 43 */ 0x7f60,
- /* 2nd byte: 44 */ 0x7f68,
- /* 2nd byte: 45 */ 0x7f69,
- /* 2nd byte: 46 */ 0x7f67,
- /* 2nd byte: 47 */ 0x7f78,
- /* 2nd byte: 48 */ 0x7f82,
- /* 2nd byte: 49 */ 0x7f86,
- /* 2nd byte: 50 */ 0x7f83,
- /* 2nd byte: 51 */ 0x7f88,
- /* 2nd byte: 52 */ 0x7f87,
- /* 2nd byte: 53 */ 0x7f8c,
- /* 2nd byte: 54 */ 0x7f94,
- /* 2nd byte: 55 */ 0x7f9e,
- /* 2nd byte: 56 */ 0x7f9d,
- /* 2nd byte: 57 */ 0x7f9a,
- /* 2nd byte: 58 */ 0x7fa3,
- /* 2nd byte: 59 */ 0x7faf,
- /* 2nd byte: 60 */ 0x7fb2,
- /* 2nd byte: 61 */ 0x7fb9,
- /* 2nd byte: 62 */ 0x7fae,
- /* 2nd byte: 63 */ 0x7fb6,
- /* 2nd byte: 64 */ 0x7fb8,
- /* 2nd byte: 65 */ 0x8b71,
- /* 2nd byte: 66 */ 0x7fc5,
- /* 2nd byte: 67 */ 0x7fc6,
- /* 2nd byte: 68 */ 0x7fca,
- /* 2nd byte: 69 */ 0x7fd5,
- /* 2nd byte: 70 */ 0x7fd4,
- /* 2nd byte: 71 */ 0x7fe1,
- /* 2nd byte: 72 */ 0x7fe6,
- /* 2nd byte: 73 */ 0x7fe9,
- /* 2nd byte: 74 */ 0x7ff3,
- /* 2nd byte: 75 */ 0x7ff9,
- /* 2nd byte: 76 */ 0x98dc,
- /* 2nd byte: 77 */ 0x8006,
- /* 2nd byte: 78 */ 0x8004,
- /* 2nd byte: 79 */ 0x800b,
- /* 2nd byte: 80 */ 0x8012,
- /* 2nd byte: 81 */ 0x8018,
- /* 2nd byte: 82 */ 0x8019,
- /* 2nd byte: 83 */ 0x801c,
- /* 2nd byte: 84 */ 0x8021,
- /* 2nd byte: 85 */ 0x8028,
- /* 2nd byte: 86 */ 0x803f,
- /* 2nd byte: 87 */ 0x803b,
- /* 2nd byte: 88 */ 0x804a,
- /* 2nd byte: 89 */ 0x8046,
- /* 2nd byte: 90 */ 0x8052,
- /* 2nd byte: 91 */ 0x8058,
- /* 2nd byte: 92 */ 0x805a,
- /* 2nd byte: 93 */ 0x805f,
- /* 2nd byte: 94 */ 0x8062,
- /* 2nd byte: 95 */ 0x8068,
- /* 2nd byte: 96 */ 0x8073,
- /* 2nd byte: 97 */ 0x8072,
- /* 2nd byte: 98 */ 0x8070,
- /* 2nd byte: 99 */ 0x8076,
- /* 2nd byte: 100 */ 0x8079,
- /* 2nd byte: 101 */ 0x807d,
- /* 2nd byte: 102 */ 0x807f,
- /* 2nd byte: 103 */ 0x8084,
- /* 2nd byte: 104 */ 0x8086,
- /* 2nd byte: 105 */ 0x8085,
- /* 2nd byte: 106 */ 0x809b,
- /* 2nd byte: 107 */ 0x8093,
- /* 2nd byte: 108 */ 0x809a,
- /* 2nd byte: 109 */ 0x80ad,
- /* 2nd byte: 110 */ 0x5190,
- /* 2nd byte: 111 */ 0x80ac,
- /* 2nd byte: 112 */ 0x80db,
- /* 2nd byte: 113 */ 0x80e5,
- /* 2nd byte: 114 */ 0x80d9,
- /* 2nd byte: 115 */ 0x80dd,
- /* 2nd byte: 116 */ 0x80c4,
- /* 2nd byte: 117 */ 0x80da,
- /* 2nd byte: 118 */ 0x80d6,
- /* 2nd byte: 119 */ 0x8109,
- /* 2nd byte: 120 */ 0x80ef,
- /* 2nd byte: 121 */ 0x80f1,
- /* 2nd byte: 122 */ 0x811b,
- /* 2nd byte: 123 */ 0x8129,
- /* 2nd byte: 124 */ 0x8123,
- /* 2nd byte: 125 */ 0x812f,
- /* 2nd byte: 126 */ 0x814b},
-/* 1st byte: 103 */ {
- /* 2nd byte: 33 */ 0x968b,
- /* 2nd byte: 34 */ 0x8146,
- /* 2nd byte: 35 */ 0x813e,
- /* 2nd byte: 36 */ 0x8153,
- /* 2nd byte: 37 */ 0x8151,
- /* 2nd byte: 38 */ 0x80fc,
- /* 2nd byte: 39 */ 0x8171,
- /* 2nd byte: 40 */ 0x816e,
- /* 2nd byte: 41 */ 0x8165,
- /* 2nd byte: 42 */ 0x8166,
- /* 2nd byte: 43 */ 0x8174,
- /* 2nd byte: 44 */ 0x8183,
- /* 2nd byte: 45 */ 0x8188,
- /* 2nd byte: 46 */ 0x818a,
- /* 2nd byte: 47 */ 0x8180,
- /* 2nd byte: 48 */ 0x8182,
- /* 2nd byte: 49 */ 0x81a0,
- /* 2nd byte: 50 */ 0x8195,
- /* 2nd byte: 51 */ 0x81a4,
- /* 2nd byte: 52 */ 0x81a3,
- /* 2nd byte: 53 */ 0x815f,
- /* 2nd byte: 54 */ 0x8193,
- /* 2nd byte: 55 */ 0x81a9,
- /* 2nd byte: 56 */ 0x81b0,
- /* 2nd byte: 57 */ 0x81b5,
- /* 2nd byte: 58 */ 0x81be,
- /* 2nd byte: 59 */ 0x81b8,
- /* 2nd byte: 60 */ 0x81bd,
- /* 2nd byte: 61 */ 0x81c0,
- /* 2nd byte: 62 */ 0x81c2,
- /* 2nd byte: 63 */ 0x81ba,
- /* 2nd byte: 64 */ 0x81c9,
- /* 2nd byte: 65 */ 0x81cd,
- /* 2nd byte: 66 */ 0x81d1,
- /* 2nd byte: 67 */ 0x81d9,
- /* 2nd byte: 68 */ 0x81d8,
- /* 2nd byte: 69 */ 0x81c8,
- /* 2nd byte: 70 */ 0x81da,
- /* 2nd byte: 71 */ 0x81df,
- /* 2nd byte: 72 */ 0x81e0,
- /* 2nd byte: 73 */ 0x81e7,
- /* 2nd byte: 74 */ 0x81fa,
- /* 2nd byte: 75 */ 0x81fb,
- /* 2nd byte: 76 */ 0x81fe,
- /* 2nd byte: 77 */ 0x8201,
- /* 2nd byte: 78 */ 0x8202,
- /* 2nd byte: 79 */ 0x8205,
- /* 2nd byte: 80 */ 0x8207,
- /* 2nd byte: 81 */ 0x820a,
- /* 2nd byte: 82 */ 0x820d,
- /* 2nd byte: 83 */ 0x8210,
- /* 2nd byte: 84 */ 0x8216,
- /* 2nd byte: 85 */ 0x8229,
- /* 2nd byte: 86 */ 0x822b,
- /* 2nd byte: 87 */ 0x8238,
- /* 2nd byte: 88 */ 0x8233,
- /* 2nd byte: 89 */ 0x8240,
- /* 2nd byte: 90 */ 0x8259,
- /* 2nd byte: 91 */ 0x8258,
- /* 2nd byte: 92 */ 0x825d,
- /* 2nd byte: 93 */ 0x825a,
- /* 2nd byte: 94 */ 0x825f,
- /* 2nd byte: 95 */ 0x8264,
- /* 2nd byte: 96 */ 0x8262,
- /* 2nd byte: 97 */ 0x8268,
- /* 2nd byte: 98 */ 0x826a,
- /* 2nd byte: 99 */ 0x826b,
- /* 2nd byte: 100 */ 0x822e,
- /* 2nd byte: 101 */ 0x8271,
- /* 2nd byte: 102 */ 0x8277,
- /* 2nd byte: 103 */ 0x8278,
- /* 2nd byte: 104 */ 0x827e,
- /* 2nd byte: 105 */ 0x828d,
- /* 2nd byte: 106 */ 0x8292,
- /* 2nd byte: 107 */ 0x82ab,
- /* 2nd byte: 108 */ 0x829f,
- /* 2nd byte: 109 */ 0x82bb,
- /* 2nd byte: 110 */ 0x82ac,
- /* 2nd byte: 111 */ 0x82e1,
- /* 2nd byte: 112 */ 0x82e3,
- /* 2nd byte: 113 */ 0x82df,
- /* 2nd byte: 114 */ 0x82d2,
- /* 2nd byte: 115 */ 0x82f4,
- /* 2nd byte: 116 */ 0x82f3,
- /* 2nd byte: 117 */ 0x82fa,
- /* 2nd byte: 118 */ 0x8393,
- /* 2nd byte: 119 */ 0x8303,
- /* 2nd byte: 120 */ 0x82fb,
- /* 2nd byte: 121 */ 0x82f9,
- /* 2nd byte: 122 */ 0x82de,
- /* 2nd byte: 123 */ 0x8306,
- /* 2nd byte: 124 */ 0x82dc,
- /* 2nd byte: 125 */ 0x8309,
- /* 2nd byte: 126 */ 0x82d9},
-/* 1st byte: 104 */ {
- /* 2nd byte: 33 */ 0x8335,
- /* 2nd byte: 34 */ 0x8334,
- /* 2nd byte: 35 */ 0x8316,
- /* 2nd byte: 36 */ 0x8332,
- /* 2nd byte: 37 */ 0x8331,
- /* 2nd byte: 38 */ 0x8340,
- /* 2nd byte: 39 */ 0x8339,
- /* 2nd byte: 40 */ 0x8350,
- /* 2nd byte: 41 */ 0x8345,
- /* 2nd byte: 42 */ 0x832f,
- /* 2nd byte: 43 */ 0x832b,
- /* 2nd byte: 44 */ 0x8317,
- /* 2nd byte: 45 */ 0x8318,
- /* 2nd byte: 46 */ 0x8385,
- /* 2nd byte: 47 */ 0x839a,
- /* 2nd byte: 48 */ 0x83aa,
- /* 2nd byte: 49 */ 0x839f,
- /* 2nd byte: 50 */ 0x83a2,
- /* 2nd byte: 51 */ 0x8396,
- /* 2nd byte: 52 */ 0x8323,
- /* 2nd byte: 53 */ 0x838e,
- /* 2nd byte: 54 */ 0x8387,
- /* 2nd byte: 55 */ 0x838a,
- /* 2nd byte: 56 */ 0x837c,
- /* 2nd byte: 57 */ 0x83b5,
- /* 2nd byte: 58 */ 0x8373,
- /* 2nd byte: 59 */ 0x8375,
- /* 2nd byte: 60 */ 0x83a0,
- /* 2nd byte: 61 */ 0x8389,
- /* 2nd byte: 62 */ 0x83a8,
- /* 2nd byte: 63 */ 0x83f4,
- /* 2nd byte: 64 */ 0x8413,
- /* 2nd byte: 65 */ 0x83eb,
- /* 2nd byte: 66 */ 0x83ce,
- /* 2nd byte: 67 */ 0x83fd,
- /* 2nd byte: 68 */ 0x8403,
- /* 2nd byte: 69 */ 0x83d8,
- /* 2nd byte: 70 */ 0x840b,
- /* 2nd byte: 71 */ 0x83c1,
- /* 2nd byte: 72 */ 0x83f7,
- /* 2nd byte: 73 */ 0x8407,
- /* 2nd byte: 74 */ 0x83e0,
- /* 2nd byte: 75 */ 0x83f2,
- /* 2nd byte: 76 */ 0x840d,
- /* 2nd byte: 77 */ 0x8422,
- /* 2nd byte: 78 */ 0x8420,
- /* 2nd byte: 79 */ 0x83bd,
- /* 2nd byte: 80 */ 0x8438,
- /* 2nd byte: 81 */ 0x8506,
- /* 2nd byte: 82 */ 0x83fb,
- /* 2nd byte: 83 */ 0x846d,
- /* 2nd byte: 84 */ 0x842a,
- /* 2nd byte: 85 */ 0x843c,
- /* 2nd byte: 86 */ 0x855a,
- /* 2nd byte: 87 */ 0x8484,
- /* 2nd byte: 88 */ 0x8477,
- /* 2nd byte: 89 */ 0x846b,
- /* 2nd byte: 90 */ 0x84ad,
- /* 2nd byte: 91 */ 0x846e,
- /* 2nd byte: 92 */ 0x8482,
- /* 2nd byte: 93 */ 0x8469,
- /* 2nd byte: 94 */ 0x8446,
- /* 2nd byte: 95 */ 0x842c,
- /* 2nd byte: 96 */ 0x846f,
- /* 2nd byte: 97 */ 0x8479,
- /* 2nd byte: 98 */ 0x8435,
- /* 2nd byte: 99 */ 0x84ca,
- /* 2nd byte: 100 */ 0x8462,
- /* 2nd byte: 101 */ 0x84b9,
- /* 2nd byte: 102 */ 0x84bf,
- /* 2nd byte: 103 */ 0x849f,
- /* 2nd byte: 104 */ 0x84d9,
- /* 2nd byte: 105 */ 0x84cd,
- /* 2nd byte: 106 */ 0x84bb,
- /* 2nd byte: 107 */ 0x84da,
- /* 2nd byte: 108 */ 0x84d0,
- /* 2nd byte: 109 */ 0x84c1,
- /* 2nd byte: 110 */ 0x84c6,
- /* 2nd byte: 111 */ 0x84d6,
- /* 2nd byte: 112 */ 0x84a1,
- /* 2nd byte: 113 */ 0x8521,
- /* 2nd byte: 114 */ 0x84ff,
- /* 2nd byte: 115 */ 0x84f4,
- /* 2nd byte: 116 */ 0x8517,
- /* 2nd byte: 117 */ 0x8518,
- /* 2nd byte: 118 */ 0x852c,
- /* 2nd byte: 119 */ 0x851f,
- /* 2nd byte: 120 */ 0x8515,
- /* 2nd byte: 121 */ 0x8514,
- /* 2nd byte: 122 */ 0x84fc,
- /* 2nd byte: 123 */ 0x8540,
- /* 2nd byte: 124 */ 0x8563,
- /* 2nd byte: 125 */ 0x8558,
- /* 2nd byte: 126 */ 0x8548},
-/* 1st byte: 105 */ {
- /* 2nd byte: 33 */ 0x8541,
- /* 2nd byte: 34 */ 0x8602,
- /* 2nd byte: 35 */ 0x854b,
- /* 2nd byte: 36 */ 0x8555,
- /* 2nd byte: 37 */ 0x8580,
- /* 2nd byte: 38 */ 0x85a4,
- /* 2nd byte: 39 */ 0x8588,
- /* 2nd byte: 40 */ 0x8591,
- /* 2nd byte: 41 */ 0x858a,
- /* 2nd byte: 42 */ 0x85a8,
- /* 2nd byte: 43 */ 0x856d,
- /* 2nd byte: 44 */ 0x8594,
- /* 2nd byte: 45 */ 0x859b,
- /* 2nd byte: 46 */ 0x85ea,
- /* 2nd byte: 47 */ 0x8587,
- /* 2nd byte: 48 */ 0x859c,
- /* 2nd byte: 49 */ 0x8577,
- /* 2nd byte: 50 */ 0x857e,
- /* 2nd byte: 51 */ 0x8590,
- /* 2nd byte: 52 */ 0x85c9,
- /* 2nd byte: 53 */ 0x85ba,
- /* 2nd byte: 54 */ 0x85cf,
- /* 2nd byte: 55 */ 0x85b9,
- /* 2nd byte: 56 */ 0x85d0,
- /* 2nd byte: 57 */ 0x85d5,
- /* 2nd byte: 58 */ 0x85dd,
- /* 2nd byte: 59 */ 0x85e5,
- /* 2nd byte: 60 */ 0x85dc,
- /* 2nd byte: 61 */ 0x85f9,
- /* 2nd byte: 62 */ 0x860a,
- /* 2nd byte: 63 */ 0x8613,
- /* 2nd byte: 64 */ 0x860b,
- /* 2nd byte: 65 */ 0x85fe,
- /* 2nd byte: 66 */ 0x85fa,
- /* 2nd byte: 67 */ 0x8606,
- /* 2nd byte: 68 */ 0x8622,
- /* 2nd byte: 69 */ 0x861a,
- /* 2nd byte: 70 */ 0x8630,
- /* 2nd byte: 71 */ 0x863f,
- /* 2nd byte: 72 */ 0x864d,
- /* 2nd byte: 73 */ 0x4e55,
- /* 2nd byte: 74 */ 0x8654,
- /* 2nd byte: 75 */ 0x865f,
- /* 2nd byte: 76 */ 0x8667,
- /* 2nd byte: 77 */ 0x8671,
- /* 2nd byte: 78 */ 0x8693,
- /* 2nd byte: 79 */ 0x86a3,
- /* 2nd byte: 80 */ 0x86a9,
- /* 2nd byte: 81 */ 0x86aa,
- /* 2nd byte: 82 */ 0x868b,
- /* 2nd byte: 83 */ 0x868c,
- /* 2nd byte: 84 */ 0x86b6,
- /* 2nd byte: 85 */ 0x86af,
- /* 2nd byte: 86 */ 0x86c4,
- /* 2nd byte: 87 */ 0x86c6,
- /* 2nd byte: 88 */ 0x86b0,
- /* 2nd byte: 89 */ 0x86c9,
- /* 2nd byte: 90 */ 0x8823,
- /* 2nd byte: 91 */ 0x86ab,
- /* 2nd byte: 92 */ 0x86d4,
- /* 2nd byte: 93 */ 0x86de,
- /* 2nd byte: 94 */ 0x86e9,
- /* 2nd byte: 95 */ 0x86ec,
- /* 2nd byte: 96 */ 0x86df,
- /* 2nd byte: 97 */ 0x86db,
- /* 2nd byte: 98 */ 0x86ef,
- /* 2nd byte: 99 */ 0x8712,
- /* 2nd byte: 100 */ 0x8706,
- /* 2nd byte: 101 */ 0x8708,
- /* 2nd byte: 102 */ 0x8700,
- /* 2nd byte: 103 */ 0x8703,
- /* 2nd byte: 104 */ 0x86fb,
- /* 2nd byte: 105 */ 0x8711,
- /* 2nd byte: 106 */ 0x8709,
- /* 2nd byte: 107 */ 0x870d,
- /* 2nd byte: 108 */ 0x86f9,
- /* 2nd byte: 109 */ 0x870a,
- /* 2nd byte: 110 */ 0x8734,
- /* 2nd byte: 111 */ 0x873f,
- /* 2nd byte: 112 */ 0x8737,
- /* 2nd byte: 113 */ 0x873b,
- /* 2nd byte: 114 */ 0x8725,
- /* 2nd byte: 115 */ 0x8729,
- /* 2nd byte: 116 */ 0x871a,
- /* 2nd byte: 117 */ 0x8760,
- /* 2nd byte: 118 */ 0x875f,
- /* 2nd byte: 119 */ 0x8778,
- /* 2nd byte: 120 */ 0x874c,
- /* 2nd byte: 121 */ 0x874e,
- /* 2nd byte: 122 */ 0x8774,
- /* 2nd byte: 123 */ 0x8757,
- /* 2nd byte: 124 */ 0x8768,
- /* 2nd byte: 125 */ 0x876e,
- /* 2nd byte: 126 */ 0x8759},
-/* 1st byte: 106 */ {
- /* 2nd byte: 33 */ 0x8753,
- /* 2nd byte: 34 */ 0x8763,
- /* 2nd byte: 35 */ 0x876a,
- /* 2nd byte: 36 */ 0x8805,
- /* 2nd byte: 37 */ 0x87a2,
- /* 2nd byte: 38 */ 0x879f,
- /* 2nd byte: 39 */ 0x8782,
- /* 2nd byte: 40 */ 0x87af,
- /* 2nd byte: 41 */ 0x87cb,
- /* 2nd byte: 42 */ 0x87bd,
- /* 2nd byte: 43 */ 0x87c0,
- /* 2nd byte: 44 */ 0x87d0,
- /* 2nd byte: 45 */ 0x96d6,
- /* 2nd byte: 46 */ 0x87ab,
- /* 2nd byte: 47 */ 0x87c4,
- /* 2nd byte: 48 */ 0x87b3,
- /* 2nd byte: 49 */ 0x87c7,
- /* 2nd byte: 50 */ 0x87c6,
- /* 2nd byte: 51 */ 0x87bb,
- /* 2nd byte: 52 */ 0x87ef,
- /* 2nd byte: 53 */ 0x87f2,
- /* 2nd byte: 54 */ 0x87e0,
- /* 2nd byte: 55 */ 0x880f,
- /* 2nd byte: 56 */ 0x880d,
- /* 2nd byte: 57 */ 0x87fe,
- /* 2nd byte: 58 */ 0x87f6,
- /* 2nd byte: 59 */ 0x87f7,
- /* 2nd byte: 60 */ 0x880e,
- /* 2nd byte: 61 */ 0x87d2,
- /* 2nd byte: 62 */ 0x8811,
- /* 2nd byte: 63 */ 0x8816,
- /* 2nd byte: 64 */ 0x8815,
- /* 2nd byte: 65 */ 0x8822,
- /* 2nd byte: 66 */ 0x8821,
- /* 2nd byte: 67 */ 0x8831,
- /* 2nd byte: 68 */ 0x8836,
- /* 2nd byte: 69 */ 0x8839,
- /* 2nd byte: 70 */ 0x8827,
- /* 2nd byte: 71 */ 0x883b,
- /* 2nd byte: 72 */ 0x8844,
- /* 2nd byte: 73 */ 0x8842,
- /* 2nd byte: 74 */ 0x8852,
- /* 2nd byte: 75 */ 0x8859,
- /* 2nd byte: 76 */ 0x885e,
- /* 2nd byte: 77 */ 0x8862,
- /* 2nd byte: 78 */ 0x886b,
- /* 2nd byte: 79 */ 0x8881,
- /* 2nd byte: 80 */ 0x887e,
- /* 2nd byte: 81 */ 0x889e,
- /* 2nd byte: 82 */ 0x8875,
- /* 2nd byte: 83 */ 0x887d,
- /* 2nd byte: 84 */ 0x88b5,
- /* 2nd byte: 85 */ 0x8872,
- /* 2nd byte: 86 */ 0x8882,
- /* 2nd byte: 87 */ 0x8897,
- /* 2nd byte: 88 */ 0x8892,
- /* 2nd byte: 89 */ 0x88ae,
- /* 2nd byte: 90 */ 0x8899,
- /* 2nd byte: 91 */ 0x88a2,
- /* 2nd byte: 92 */ 0x888d,
- /* 2nd byte: 93 */ 0x88a4,
- /* 2nd byte: 94 */ 0x88b0,
- /* 2nd byte: 95 */ 0x88bf,
- /* 2nd byte: 96 */ 0x88b1,
- /* 2nd byte: 97 */ 0x88c3,
- /* 2nd byte: 98 */ 0x88c4,
- /* 2nd byte: 99 */ 0x88d4,
- /* 2nd byte: 100 */ 0x88d8,
- /* 2nd byte: 101 */ 0x88d9,
- /* 2nd byte: 102 */ 0x88dd,
- /* 2nd byte: 103 */ 0x88f9,
- /* 2nd byte: 104 */ 0x8902,
- /* 2nd byte: 105 */ 0x88fc,
- /* 2nd byte: 106 */ 0x88f4,
- /* 2nd byte: 107 */ 0x88e8,
- /* 2nd byte: 108 */ 0x88f2,
- /* 2nd byte: 109 */ 0x8904,
- /* 2nd byte: 110 */ 0x890c,
- /* 2nd byte: 111 */ 0x890a,
- /* 2nd byte: 112 */ 0x8913,
- /* 2nd byte: 113 */ 0x8943,
- /* 2nd byte: 114 */ 0x891e,
- /* 2nd byte: 115 */ 0x8925,
- /* 2nd byte: 116 */ 0x892a,
- /* 2nd byte: 117 */ 0x892b,
- /* 2nd byte: 118 */ 0x8941,
- /* 2nd byte: 119 */ 0x8944,
- /* 2nd byte: 120 */ 0x893b,
- /* 2nd byte: 121 */ 0x8936,
- /* 2nd byte: 122 */ 0x8938,
- /* 2nd byte: 123 */ 0x894c,
- /* 2nd byte: 124 */ 0x891d,
- /* 2nd byte: 125 */ 0x8960,
- /* 2nd byte: 126 */ 0x895e},
-/* 1st byte: 107 */ {
- /* 2nd byte: 33 */ 0x8966,
- /* 2nd byte: 34 */ 0x8964,
- /* 2nd byte: 35 */ 0x896d,
- /* 2nd byte: 36 */ 0x896a,
- /* 2nd byte: 37 */ 0x896f,
- /* 2nd byte: 38 */ 0x8974,
- /* 2nd byte: 39 */ 0x8977,
- /* 2nd byte: 40 */ 0x897e,
- /* 2nd byte: 41 */ 0x8983,
- /* 2nd byte: 42 */ 0x8988,
- /* 2nd byte: 43 */ 0x898a,
- /* 2nd byte: 44 */ 0x8993,
- /* 2nd byte: 45 */ 0x8998,
- /* 2nd byte: 46 */ 0x89a1,
- /* 2nd byte: 47 */ 0x89a9,
- /* 2nd byte: 48 */ 0x89a6,
- /* 2nd byte: 49 */ 0x89ac,
- /* 2nd byte: 50 */ 0x89af,
- /* 2nd byte: 51 */ 0x89b2,
- /* 2nd byte: 52 */ 0x89ba,
- /* 2nd byte: 53 */ 0x89bd,
- /* 2nd byte: 54 */ 0x89bf,
- /* 2nd byte: 55 */ 0x89c0,
- /* 2nd byte: 56 */ 0x89da,
- /* 2nd byte: 57 */ 0x89dc,
- /* 2nd byte: 58 */ 0x89dd,
- /* 2nd byte: 59 */ 0x89e7,
- /* 2nd byte: 60 */ 0x89f4,
- /* 2nd byte: 61 */ 0x89f8,
- /* 2nd byte: 62 */ 0x8a03,
- /* 2nd byte: 63 */ 0x8a16,
- /* 2nd byte: 64 */ 0x8a10,
- /* 2nd byte: 65 */ 0x8a0c,
- /* 2nd byte: 66 */ 0x8a1b,
- /* 2nd byte: 67 */ 0x8a1d,
- /* 2nd byte: 68 */ 0x8a25,
- /* 2nd byte: 69 */ 0x8a36,
- /* 2nd byte: 70 */ 0x8a41,
- /* 2nd byte: 71 */ 0x8a5b,
- /* 2nd byte: 72 */ 0x8a52,
- /* 2nd byte: 73 */ 0x8a46,
- /* 2nd byte: 74 */ 0x8a48,
- /* 2nd byte: 75 */ 0x8a7c,
- /* 2nd byte: 76 */ 0x8a6d,
- /* 2nd byte: 77 */ 0x8a6c,
- /* 2nd byte: 78 */ 0x8a62,
- /* 2nd byte: 79 */ 0x8a85,
- /* 2nd byte: 80 */ 0x8a82,
- /* 2nd byte: 81 */ 0x8a84,
- /* 2nd byte: 82 */ 0x8aa8,
- /* 2nd byte: 83 */ 0x8aa1,
- /* 2nd byte: 84 */ 0x8a91,
- /* 2nd byte: 85 */ 0x8aa5,
- /* 2nd byte: 86 */ 0x8aa6,
- /* 2nd byte: 87 */ 0x8a9a,
- /* 2nd byte: 88 */ 0x8aa3,
- /* 2nd byte: 89 */ 0x8ac4,
- /* 2nd byte: 90 */ 0x8acd,
- /* 2nd byte: 91 */ 0x8ac2,
- /* 2nd byte: 92 */ 0x8ada,
- /* 2nd byte: 93 */ 0x8aeb,
- /* 2nd byte: 94 */ 0x8af3,
- /* 2nd byte: 95 */ 0x8ae7,
- /* 2nd byte: 96 */ 0x8ae4,
- /* 2nd byte: 97 */ 0x8af1,
- /* 2nd byte: 98 */ 0x8b14,
- /* 2nd byte: 99 */ 0x8ae0,
- /* 2nd byte: 100 */ 0x8ae2,
- /* 2nd byte: 101 */ 0x8af7,
- /* 2nd byte: 102 */ 0x8ade,
- /* 2nd byte: 103 */ 0x8adb,
- /* 2nd byte: 104 */ 0x8b0c,
- /* 2nd byte: 105 */ 0x8b07,
- /* 2nd byte: 106 */ 0x8b1a,
- /* 2nd byte: 107 */ 0x8ae1,
- /* 2nd byte: 108 */ 0x8b16,
- /* 2nd byte: 109 */ 0x8b10,
- /* 2nd byte: 110 */ 0x8b17,
- /* 2nd byte: 111 */ 0x8b20,
- /* 2nd byte: 112 */ 0x8b33,
- /* 2nd byte: 113 */ 0x97ab,
- /* 2nd byte: 114 */ 0x8b26,
- /* 2nd byte: 115 */ 0x8b2b,
- /* 2nd byte: 116 */ 0x8b3e,
- /* 2nd byte: 117 */ 0x8b28,
- /* 2nd byte: 118 */ 0x8b41,
- /* 2nd byte: 119 */ 0x8b4c,
- /* 2nd byte: 120 */ 0x8b4f,
- /* 2nd byte: 121 */ 0x8b4e,
- /* 2nd byte: 122 */ 0x8b49,
- /* 2nd byte: 123 */ 0x8b56,
- /* 2nd byte: 124 */ 0x8b5b,
- /* 2nd byte: 125 */ 0x8b5a,
- /* 2nd byte: 126 */ 0x8b6b},
-/* 1st byte: 108 */ {
- /* 2nd byte: 33 */ 0x8b5f,
- /* 2nd byte: 34 */ 0x8b6c,
- /* 2nd byte: 35 */ 0x8b6f,
- /* 2nd byte: 36 */ 0x8b74,
- /* 2nd byte: 37 */ 0x8b7d,
- /* 2nd byte: 38 */ 0x8b80,
- /* 2nd byte: 39 */ 0x8b8c,
- /* 2nd byte: 40 */ 0x8b8e,
- /* 2nd byte: 41 */ 0x8b92,
- /* 2nd byte: 42 */ 0x8b93,
- /* 2nd byte: 43 */ 0x8b96,
- /* 2nd byte: 44 */ 0x8b99,
- /* 2nd byte: 45 */ 0x8b9a,
- /* 2nd byte: 46 */ 0x8c3a,
- /* 2nd byte: 47 */ 0x8c41,
- /* 2nd byte: 48 */ 0x8c3f,
- /* 2nd byte: 49 */ 0x8c48,
- /* 2nd byte: 50 */ 0x8c4c,
- /* 2nd byte: 51 */ 0x8c4e,
- /* 2nd byte: 52 */ 0x8c50,
- /* 2nd byte: 53 */ 0x8c55,
- /* 2nd byte: 54 */ 0x8c62,
- /* 2nd byte: 55 */ 0x8c6c,
- /* 2nd byte: 56 */ 0x8c78,
- /* 2nd byte: 57 */ 0x8c7a,
- /* 2nd byte: 58 */ 0x8c82,
- /* 2nd byte: 59 */ 0x8c89,
- /* 2nd byte: 60 */ 0x8c85,
- /* 2nd byte: 61 */ 0x8c8a,
- /* 2nd byte: 62 */ 0x8c8d,
- /* 2nd byte: 63 */ 0x8c8e,
- /* 2nd byte: 64 */ 0x8c94,
- /* 2nd byte: 65 */ 0x8c7c,
- /* 2nd byte: 66 */ 0x8c98,
- /* 2nd byte: 67 */ 0x621d,
- /* 2nd byte: 68 */ 0x8cad,
- /* 2nd byte: 69 */ 0x8caa,
- /* 2nd byte: 70 */ 0x8cbd,
- /* 2nd byte: 71 */ 0x8cb2,
- /* 2nd byte: 72 */ 0x8cb3,
- /* 2nd byte: 73 */ 0x8cae,
- /* 2nd byte: 74 */ 0x8cb6,
- /* 2nd byte: 75 */ 0x8cc8,
- /* 2nd byte: 76 */ 0x8cc1,
- /* 2nd byte: 77 */ 0x8ce4,
- /* 2nd byte: 78 */ 0x8ce3,
- /* 2nd byte: 79 */ 0x8cda,
- /* 2nd byte: 80 */ 0x8cfd,
- /* 2nd byte: 81 */ 0x8cfa,
- /* 2nd byte: 82 */ 0x8cfb,
- /* 2nd byte: 83 */ 0x8d04,
- /* 2nd byte: 84 */ 0x8d05,
- /* 2nd byte: 85 */ 0x8d0a,
- /* 2nd byte: 86 */ 0x8d07,
- /* 2nd byte: 87 */ 0x8d0f,
- /* 2nd byte: 88 */ 0x8d0d,
- /* 2nd byte: 89 */ 0x8d10,
- /* 2nd byte: 90 */ 0x9f4e,
- /* 2nd byte: 91 */ 0x8d13,
- /* 2nd byte: 92 */ 0x8ccd,
- /* 2nd byte: 93 */ 0x8d14,
- /* 2nd byte: 94 */ 0x8d16,
- /* 2nd byte: 95 */ 0x8d67,
- /* 2nd byte: 96 */ 0x8d6d,
- /* 2nd byte: 97 */ 0x8d71,
- /* 2nd byte: 98 */ 0x8d73,
- /* 2nd byte: 99 */ 0x8d81,
- /* 2nd byte: 100 */ 0x8d99,
- /* 2nd byte: 101 */ 0x8dc2,
- /* 2nd byte: 102 */ 0x8dbe,
- /* 2nd byte: 103 */ 0x8dba,
- /* 2nd byte: 104 */ 0x8dcf,
- /* 2nd byte: 105 */ 0x8dda,
- /* 2nd byte: 106 */ 0x8dd6,
- /* 2nd byte: 107 */ 0x8dcc,
- /* 2nd byte: 108 */ 0x8ddb,
- /* 2nd byte: 109 */ 0x8dcb,
- /* 2nd byte: 110 */ 0x8dea,
- /* 2nd byte: 111 */ 0x8deb,
- /* 2nd byte: 112 */ 0x8ddf,
- /* 2nd byte: 113 */ 0x8de3,
- /* 2nd byte: 114 */ 0x8dfc,
- /* 2nd byte: 115 */ 0x8e08,
- /* 2nd byte: 116 */ 0x8e09,
- /* 2nd byte: 117 */ 0x8dff,
- /* 2nd byte: 118 */ 0x8e1d,
- /* 2nd byte: 119 */ 0x8e1e,
- /* 2nd byte: 120 */ 0x8e10,
- /* 2nd byte: 121 */ 0x8e1f,
- /* 2nd byte: 122 */ 0x8e42,
- /* 2nd byte: 123 */ 0x8e35,
- /* 2nd byte: 124 */ 0x8e30,
- /* 2nd byte: 125 */ 0x8e34,
- /* 2nd byte: 126 */ 0x8e4a},
-/* 1st byte: 109 */ {
- /* 2nd byte: 33 */ 0x8e47,
- /* 2nd byte: 34 */ 0x8e49,
- /* 2nd byte: 35 */ 0x8e4c,
- /* 2nd byte: 36 */ 0x8e50,
- /* 2nd byte: 37 */ 0x8e48,
- /* 2nd byte: 38 */ 0x8e59,
- /* 2nd byte: 39 */ 0x8e64,
- /* 2nd byte: 40 */ 0x8e60,
- /* 2nd byte: 41 */ 0x8e2a,
- /* 2nd byte: 42 */ 0x8e63,
- /* 2nd byte: 43 */ 0x8e55,
- /* 2nd byte: 44 */ 0x8e76,
- /* 2nd byte: 45 */ 0x8e72,
- /* 2nd byte: 46 */ 0x8e7c,
- /* 2nd byte: 47 */ 0x8e81,
- /* 2nd byte: 48 */ 0x8e87,
- /* 2nd byte: 49 */ 0x8e85,
- /* 2nd byte: 50 */ 0x8e84,
- /* 2nd byte: 51 */ 0x8e8b,
- /* 2nd byte: 52 */ 0x8e8a,
- /* 2nd byte: 53 */ 0x8e93,
- /* 2nd byte: 54 */ 0x8e91,
- /* 2nd byte: 55 */ 0x8e94,
- /* 2nd byte: 56 */ 0x8e99,
- /* 2nd byte: 57 */ 0x8eaa,
- /* 2nd byte: 58 */ 0x8ea1,
- /* 2nd byte: 59 */ 0x8eac,
- /* 2nd byte: 60 */ 0x8eb0,
- /* 2nd byte: 61 */ 0x8ec6,
- /* 2nd byte: 62 */ 0x8eb1,
- /* 2nd byte: 63 */ 0x8ebe,
- /* 2nd byte: 64 */ 0x8ec5,
- /* 2nd byte: 65 */ 0x8ec8,
- /* 2nd byte: 66 */ 0x8ecb,
- /* 2nd byte: 67 */ 0x8edb,
- /* 2nd byte: 68 */ 0x8ee3,
- /* 2nd byte: 69 */ 0x8efc,
- /* 2nd byte: 70 */ 0x8efb,
- /* 2nd byte: 71 */ 0x8eeb,
- /* 2nd byte: 72 */ 0x8efe,
- /* 2nd byte: 73 */ 0x8f0a,
- /* 2nd byte: 74 */ 0x8f05,
- /* 2nd byte: 75 */ 0x8f15,
- /* 2nd byte: 76 */ 0x8f12,
- /* 2nd byte: 77 */ 0x8f19,
- /* 2nd byte: 78 */ 0x8f13,
- /* 2nd byte: 79 */ 0x8f1c,
- /* 2nd byte: 80 */ 0x8f1f,
- /* 2nd byte: 81 */ 0x8f1b,
- /* 2nd byte: 82 */ 0x8f0c,
- /* 2nd byte: 83 */ 0x8f26,
- /* 2nd byte: 84 */ 0x8f33,
- /* 2nd byte: 85 */ 0x8f3b,
- /* 2nd byte: 86 */ 0x8f39,
- /* 2nd byte: 87 */ 0x8f45,
- /* 2nd byte: 88 */ 0x8f42,
- /* 2nd byte: 89 */ 0x8f3e,
- /* 2nd byte: 90 */ 0x8f4c,
- /* 2nd byte: 91 */ 0x8f49,
- /* 2nd byte: 92 */ 0x8f46,
- /* 2nd byte: 93 */ 0x8f4e,
- /* 2nd byte: 94 */ 0x8f57,
- /* 2nd byte: 95 */ 0x8f5c,
- /* 2nd byte: 96 */ 0x8f62,
- /* 2nd byte: 97 */ 0x8f63,
- /* 2nd byte: 98 */ 0x8f64,
- /* 2nd byte: 99 */ 0x8f9c,
- /* 2nd byte: 100 */ 0x8f9f,
- /* 2nd byte: 101 */ 0x8fa3,
- /* 2nd byte: 102 */ 0x8fad,
- /* 2nd byte: 103 */ 0x8faf,
- /* 2nd byte: 104 */ 0x8fb7,
- /* 2nd byte: 105 */ 0x8fda,
- /* 2nd byte: 106 */ 0x8fe5,
- /* 2nd byte: 107 */ 0x8fe2,
- /* 2nd byte: 108 */ 0x8fea,
- /* 2nd byte: 109 */ 0x8fef,
- /* 2nd byte: 110 */ 0x9087,
- /* 2nd byte: 111 */ 0x8ff4,
- /* 2nd byte: 112 */ 0x9005,
- /* 2nd byte: 113 */ 0x8ff9,
- /* 2nd byte: 114 */ 0x8ffa,
- /* 2nd byte: 115 */ 0x9011,
- /* 2nd byte: 116 */ 0x9015,
- /* 2nd byte: 117 */ 0x9021,
- /* 2nd byte: 118 */ 0x900d,
- /* 2nd byte: 119 */ 0x901e,
- /* 2nd byte: 120 */ 0x9016,
- /* 2nd byte: 121 */ 0x900b,
- /* 2nd byte: 122 */ 0x9027,
- /* 2nd byte: 123 */ 0x9036,
- /* 2nd byte: 124 */ 0x9035,
- /* 2nd byte: 125 */ 0x9039,
- /* 2nd byte: 126 */ 0x8ff8},
-/* 1st byte: 110 */ {
- /* 2nd byte: 33 */ 0x904f,
- /* 2nd byte: 34 */ 0x9050,
- /* 2nd byte: 35 */ 0x9051,
- /* 2nd byte: 36 */ 0x9052,
- /* 2nd byte: 37 */ 0x900e,
- /* 2nd byte: 38 */ 0x9049,
- /* 2nd byte: 39 */ 0x903e,
- /* 2nd byte: 40 */ 0x9056,
- /* 2nd byte: 41 */ 0x9058,
- /* 2nd byte: 42 */ 0x905e,
- /* 2nd byte: 43 */ 0x9068,
- /* 2nd byte: 44 */ 0x906f,
- /* 2nd byte: 45 */ 0x9076,
- /* 2nd byte: 46 */ 0x96a8,
- /* 2nd byte: 47 */ 0x9072,
- /* 2nd byte: 48 */ 0x9082,
- /* 2nd byte: 49 */ 0x907d,
- /* 2nd byte: 50 */ 0x9081,
- /* 2nd byte: 51 */ 0x9080,
- /* 2nd byte: 52 */ 0x908a,
- /* 2nd byte: 53 */ 0x9089,
- /* 2nd byte: 54 */ 0x908f,
- /* 2nd byte: 55 */ 0x90a8,
- /* 2nd byte: 56 */ 0x90af,
- /* 2nd byte: 57 */ 0x90b1,
- /* 2nd byte: 58 */ 0x90b5,
- /* 2nd byte: 59 */ 0x90e2,
- /* 2nd byte: 60 */ 0x90e4,
- /* 2nd byte: 61 */ 0x6248,
- /* 2nd byte: 62 */ 0x90db,
- /* 2nd byte: 63 */ 0x9102,
- /* 2nd byte: 64 */ 0x9112,
- /* 2nd byte: 65 */ 0x9119,
- /* 2nd byte: 66 */ 0x9132,
- /* 2nd byte: 67 */ 0x9130,
- /* 2nd byte: 68 */ 0x914a,
- /* 2nd byte: 69 */ 0x9156,
- /* 2nd byte: 70 */ 0x9158,
- /* 2nd byte: 71 */ 0x9163,
- /* 2nd byte: 72 */ 0x9165,
- /* 2nd byte: 73 */ 0x9169,
- /* 2nd byte: 74 */ 0x9173,
- /* 2nd byte: 75 */ 0x9172,
- /* 2nd byte: 76 */ 0x918b,
- /* 2nd byte: 77 */ 0x9189,
- /* 2nd byte: 78 */ 0x9182,
- /* 2nd byte: 79 */ 0x91a2,
- /* 2nd byte: 80 */ 0x91ab,
- /* 2nd byte: 81 */ 0x91af,
- /* 2nd byte: 82 */ 0x91aa,
- /* 2nd byte: 83 */ 0x91b5,
- /* 2nd byte: 84 */ 0x91b4,
- /* 2nd byte: 85 */ 0x91ba,
- /* 2nd byte: 86 */ 0x91c0,
- /* 2nd byte: 87 */ 0x91c1,
- /* 2nd byte: 88 */ 0x91c9,
- /* 2nd byte: 89 */ 0x91cb,
- /* 2nd byte: 90 */ 0x91d0,
- /* 2nd byte: 91 */ 0x91d6,
- /* 2nd byte: 92 */ 0x91df,
- /* 2nd byte: 93 */ 0x91e1,
- /* 2nd byte: 94 */ 0x91db,
- /* 2nd byte: 95 */ 0x91fc,
- /* 2nd byte: 96 */ 0x91f5,
- /* 2nd byte: 97 */ 0x91f6,
- /* 2nd byte: 98 */ 0x921e,
- /* 2nd byte: 99 */ 0x91ff,
- /* 2nd byte: 100 */ 0x9214,
- /* 2nd byte: 101 */ 0x922c,
- /* 2nd byte: 102 */ 0x9215,
- /* 2nd byte: 103 */ 0x9211,
- /* 2nd byte: 104 */ 0x925e,
- /* 2nd byte: 105 */ 0x9257,
- /* 2nd byte: 106 */ 0x9245,
- /* 2nd byte: 107 */ 0x9249,
- /* 2nd byte: 108 */ 0x9264,
- /* 2nd byte: 109 */ 0x9248,
- /* 2nd byte: 110 */ 0x9295,
- /* 2nd byte: 111 */ 0x923f,
- /* 2nd byte: 112 */ 0x924b,
- /* 2nd byte: 113 */ 0x9250,
- /* 2nd byte: 114 */ 0x929c,
- /* 2nd byte: 115 */ 0x9296,
- /* 2nd byte: 116 */ 0x9293,
- /* 2nd byte: 117 */ 0x929b,
- /* 2nd byte: 118 */ 0x925a,
- /* 2nd byte: 119 */ 0x92cf,
- /* 2nd byte: 120 */ 0x92b9,
- /* 2nd byte: 121 */ 0x92b7,
- /* 2nd byte: 122 */ 0x92e9,
- /* 2nd byte: 123 */ 0x930f,
- /* 2nd byte: 124 */ 0x92fa,
- /* 2nd byte: 125 */ 0x9344,
- /* 2nd byte: 126 */ 0x932e},
-/* 1st byte: 111 */ {
- /* 2nd byte: 33 */ 0x9319,
- /* 2nd byte: 34 */ 0x9322,
- /* 2nd byte: 35 */ 0x931a,
- /* 2nd byte: 36 */ 0x9323,
- /* 2nd byte: 37 */ 0x933a,
- /* 2nd byte: 38 */ 0x9335,
- /* 2nd byte: 39 */ 0x933b,
- /* 2nd byte: 40 */ 0x935c,
- /* 2nd byte: 41 */ 0x9360,
- /* 2nd byte: 42 */ 0x937c,
- /* 2nd byte: 43 */ 0x936e,
- /* 2nd byte: 44 */ 0x9356,
- /* 2nd byte: 45 */ 0x93b0,
- /* 2nd byte: 46 */ 0x93ac,
- /* 2nd byte: 47 */ 0x93ad,
- /* 2nd byte: 48 */ 0x9394,
- /* 2nd byte: 49 */ 0x93b9,
- /* 2nd byte: 50 */ 0x93d6,
- /* 2nd byte: 51 */ 0x93d7,
- /* 2nd byte: 52 */ 0x93e8,
- /* 2nd byte: 53 */ 0x93e5,
- /* 2nd byte: 54 */ 0x93d8,
- /* 2nd byte: 55 */ 0x93c3,
- /* 2nd byte: 56 */ 0x93dd,
- /* 2nd byte: 57 */ 0x93d0,
- /* 2nd byte: 58 */ 0x93c8,
- /* 2nd byte: 59 */ 0x93e4,
- /* 2nd byte: 60 */ 0x941a,
- /* 2nd byte: 61 */ 0x9414,
- /* 2nd byte: 62 */ 0x9413,
- /* 2nd byte: 63 */ 0x9403,
- /* 2nd byte: 64 */ 0x9407,
- /* 2nd byte: 65 */ 0x9410,
- /* 2nd byte: 66 */ 0x9436,
- /* 2nd byte: 67 */ 0x942b,
- /* 2nd byte: 68 */ 0x9435,
- /* 2nd byte: 69 */ 0x9421,
- /* 2nd byte: 70 */ 0x943a,
- /* 2nd byte: 71 */ 0x9441,
- /* 2nd byte: 72 */ 0x9452,
- /* 2nd byte: 73 */ 0x9444,
- /* 2nd byte: 74 */ 0x945b,
- /* 2nd byte: 75 */ 0x9460,
- /* 2nd byte: 76 */ 0x9462,
- /* 2nd byte: 77 */ 0x945e,
- /* 2nd byte: 78 */ 0x946a,
- /* 2nd byte: 79 */ 0x9229,
- /* 2nd byte: 80 */ 0x9470,
- /* 2nd byte: 81 */ 0x9475,
- /* 2nd byte: 82 */ 0x9477,
- /* 2nd byte: 83 */ 0x947d,
- /* 2nd byte: 84 */ 0x945a,
- /* 2nd byte: 85 */ 0x947c,
- /* 2nd byte: 86 */ 0x947e,
- /* 2nd byte: 87 */ 0x9481,
- /* 2nd byte: 88 */ 0x947f,
- /* 2nd byte: 89 */ 0x9582,
- /* 2nd byte: 90 */ 0x9587,
- /* 2nd byte: 91 */ 0x958a,
- /* 2nd byte: 92 */ 0x9594,
- /* 2nd byte: 93 */ 0x9596,
- /* 2nd byte: 94 */ 0x9598,
- /* 2nd byte: 95 */ 0x9599,
- /* 2nd byte: 96 */ 0x95a0,
- /* 2nd byte: 97 */ 0x95a8,
- /* 2nd byte: 98 */ 0x95a7,
- /* 2nd byte: 99 */ 0x95ad,
- /* 2nd byte: 100 */ 0x95bc,
- /* 2nd byte: 101 */ 0x95bb,
- /* 2nd byte: 102 */ 0x95b9,
- /* 2nd byte: 103 */ 0x95be,
- /* 2nd byte: 104 */ 0x95ca,
- /* 2nd byte: 105 */ 0x6ff6,
- /* 2nd byte: 106 */ 0x95c3,
- /* 2nd byte: 107 */ 0x95cd,
- /* 2nd byte: 108 */ 0x95cc,
- /* 2nd byte: 109 */ 0x95d5,
- /* 2nd byte: 110 */ 0x95d4,
- /* 2nd byte: 111 */ 0x95d6,
- /* 2nd byte: 112 */ 0x95dc,
- /* 2nd byte: 113 */ 0x95e1,
- /* 2nd byte: 114 */ 0x95e5,
- /* 2nd byte: 115 */ 0x95e2,
- /* 2nd byte: 116 */ 0x9621,
- /* 2nd byte: 117 */ 0x9628,
- /* 2nd byte: 118 */ 0x962e,
- /* 2nd byte: 119 */ 0x962f,
- /* 2nd byte: 120 */ 0x9642,
- /* 2nd byte: 121 */ 0x964c,
- /* 2nd byte: 122 */ 0x964f,
- /* 2nd byte: 123 */ 0x964b,
- /* 2nd byte: 124 */ 0x9677,
- /* 2nd byte: 125 */ 0x965c,
- /* 2nd byte: 126 */ 0x965e},
-/* 1st byte: 112 */ {
- /* 2nd byte: 33 */ 0x965d,
- /* 2nd byte: 34 */ 0x965f,
- /* 2nd byte: 35 */ 0x9666,
- /* 2nd byte: 36 */ 0x9672,
- /* 2nd byte: 37 */ 0x966c,
- /* 2nd byte: 38 */ 0x968d,
- /* 2nd byte: 39 */ 0x9698,
- /* 2nd byte: 40 */ 0x9695,
- /* 2nd byte: 41 */ 0x9697,
- /* 2nd byte: 42 */ 0x96aa,
- /* 2nd byte: 43 */ 0x96a7,
- /* 2nd byte: 44 */ 0x96b1,
- /* 2nd byte: 45 */ 0x96b2,
- /* 2nd byte: 46 */ 0x96b0,
- /* 2nd byte: 47 */ 0x96b4,
- /* 2nd byte: 48 */ 0x96b6,
- /* 2nd byte: 49 */ 0x96b8,
- /* 2nd byte: 50 */ 0x96b9,
- /* 2nd byte: 51 */ 0x96ce,
- /* 2nd byte: 52 */ 0x96cb,
- /* 2nd byte: 53 */ 0x96c9,
- /* 2nd byte: 54 */ 0x96cd,
- /* 2nd byte: 55 */ 0x894d,
- /* 2nd byte: 56 */ 0x96dc,
- /* 2nd byte: 57 */ 0x970d,
- /* 2nd byte: 58 */ 0x96d5,
- /* 2nd byte: 59 */ 0x96f9,
- /* 2nd byte: 60 */ 0x9704,
- /* 2nd byte: 61 */ 0x9706,
- /* 2nd byte: 62 */ 0x9708,
- /* 2nd byte: 63 */ 0x9713,
- /* 2nd byte: 64 */ 0x970e,
- /* 2nd byte: 65 */ 0x9711,
- /* 2nd byte: 66 */ 0x970f,
- /* 2nd byte: 67 */ 0x9716,
- /* 2nd byte: 68 */ 0x9719,
- /* 2nd byte: 69 */ 0x9724,
- /* 2nd byte: 70 */ 0x972a,
- /* 2nd byte: 71 */ 0x9730,
- /* 2nd byte: 72 */ 0x9739,
- /* 2nd byte: 73 */ 0x973d,
- /* 2nd byte: 74 */ 0x973e,
- /* 2nd byte: 75 */ 0x9744,
- /* 2nd byte: 76 */ 0x9746,
- /* 2nd byte: 77 */ 0x9748,
- /* 2nd byte: 78 */ 0x9742,
- /* 2nd byte: 79 */ 0x9749,
- /* 2nd byte: 80 */ 0x975c,
- /* 2nd byte: 81 */ 0x9760,
- /* 2nd byte: 82 */ 0x9764,
- /* 2nd byte: 83 */ 0x9766,
- /* 2nd byte: 84 */ 0x9768,
- /* 2nd byte: 85 */ 0x52d2,
- /* 2nd byte: 86 */ 0x976b,
- /* 2nd byte: 87 */ 0x9771,
- /* 2nd byte: 88 */ 0x9779,
- /* 2nd byte: 89 */ 0x9785,
- /* 2nd byte: 90 */ 0x977c,
- /* 2nd byte: 91 */ 0x9781,
- /* 2nd byte: 92 */ 0x977a,
- /* 2nd byte: 93 */ 0x9786,
- /* 2nd byte: 94 */ 0x978b,
- /* 2nd byte: 95 */ 0x978f,
- /* 2nd byte: 96 */ 0x9790,
- /* 2nd byte: 97 */ 0x979c,
- /* 2nd byte: 98 */ 0x97a8,
- /* 2nd byte: 99 */ 0x97a6,
- /* 2nd byte: 100 */ 0x97a3,
- /* 2nd byte: 101 */ 0x97b3,
- /* 2nd byte: 102 */ 0x97b4,
- /* 2nd byte: 103 */ 0x97c3,
- /* 2nd byte: 104 */ 0x97c6,
- /* 2nd byte: 105 */ 0x97c8,
- /* 2nd byte: 106 */ 0x97cb,
- /* 2nd byte: 107 */ 0x97dc,
- /* 2nd byte: 108 */ 0x97ed,
- /* 2nd byte: 109 */ 0x9f4f,
- /* 2nd byte: 110 */ 0x97f2,
- /* 2nd byte: 111 */ 0x7adf,
- /* 2nd byte: 112 */ 0x97f6,
- /* 2nd byte: 113 */ 0x97f5,
- /* 2nd byte: 114 */ 0x980f,
- /* 2nd byte: 115 */ 0x980c,
- /* 2nd byte: 116 */ 0x9838,
- /* 2nd byte: 117 */ 0x9824,
- /* 2nd byte: 118 */ 0x9821,
- /* 2nd byte: 119 */ 0x9837,
- /* 2nd byte: 120 */ 0x983d,
- /* 2nd byte: 121 */ 0x9846,
- /* 2nd byte: 122 */ 0x984f,
- /* 2nd byte: 123 */ 0x984b,
- /* 2nd byte: 124 */ 0x986b,
- /* 2nd byte: 125 */ 0x986f,
- /* 2nd byte: 126 */ 0x9870},
-/* 1st byte: 113 */ {
- /* 2nd byte: 33 */ 0x9871,
- /* 2nd byte: 34 */ 0x9874,
- /* 2nd byte: 35 */ 0x9873,
- /* 2nd byte: 36 */ 0x98aa,
- /* 2nd byte: 37 */ 0x98af,
- /* 2nd byte: 38 */ 0x98b1,
- /* 2nd byte: 39 */ 0x98b6,
- /* 2nd byte: 40 */ 0x98c4,
- /* 2nd byte: 41 */ 0x98c3,
- /* 2nd byte: 42 */ 0x98c6,
- /* 2nd byte: 43 */ 0x98e9,
- /* 2nd byte: 44 */ 0x98eb,
- /* 2nd byte: 45 */ 0x9903,
- /* 2nd byte: 46 */ 0x9909,
- /* 2nd byte: 47 */ 0x9912,
- /* 2nd byte: 48 */ 0x9914,
- /* 2nd byte: 49 */ 0x9918,
- /* 2nd byte: 50 */ 0x9921,
- /* 2nd byte: 51 */ 0x991d,
- /* 2nd byte: 52 */ 0x991e,
- /* 2nd byte: 53 */ 0x9924,
- /* 2nd byte: 54 */ 0x9920,
- /* 2nd byte: 55 */ 0x992c,
- /* 2nd byte: 56 */ 0x992e,
- /* 2nd byte: 57 */ 0x993d,
- /* 2nd byte: 58 */ 0x993e,
- /* 2nd byte: 59 */ 0x9942,
- /* 2nd byte: 60 */ 0x9949,
- /* 2nd byte: 61 */ 0x9945,
- /* 2nd byte: 62 */ 0x9950,
- /* 2nd byte: 63 */ 0x994b,
- /* 2nd byte: 64 */ 0x9951,
- /* 2nd byte: 65 */ 0x9952,
- /* 2nd byte: 66 */ 0x994c,
- /* 2nd byte: 67 */ 0x9955,
- /* 2nd byte: 68 */ 0x9997,
- /* 2nd byte: 69 */ 0x9998,
- /* 2nd byte: 70 */ 0x99a5,
- /* 2nd byte: 71 */ 0x99ad,
- /* 2nd byte: 72 */ 0x99ae,
- /* 2nd byte: 73 */ 0x99bc,
- /* 2nd byte: 74 */ 0x99df,
- /* 2nd byte: 75 */ 0x99db,
- /* 2nd byte: 76 */ 0x99dd,
- /* 2nd byte: 77 */ 0x99d8,
- /* 2nd byte: 78 */ 0x99d1,
- /* 2nd byte: 79 */ 0x99ed,
- /* 2nd byte: 80 */ 0x99ee,
- /* 2nd byte: 81 */ 0x99f1,
- /* 2nd byte: 82 */ 0x99f2,
- /* 2nd byte: 83 */ 0x99fb,
- /* 2nd byte: 84 */ 0x99f8,
- /* 2nd byte: 85 */ 0x9a01,
- /* 2nd byte: 86 */ 0x9a0f,
- /* 2nd byte: 87 */ 0x9a05,
- /* 2nd byte: 88 */ 0x99e2,
- /* 2nd byte: 89 */ 0x9a19,
- /* 2nd byte: 90 */ 0x9a2b,
- /* 2nd byte: 91 */ 0x9a37,
- /* 2nd byte: 92 */ 0x9a45,
- /* 2nd byte: 93 */ 0x9a42,
- /* 2nd byte: 94 */ 0x9a40,
- /* 2nd byte: 95 */ 0x9a43,
- /* 2nd byte: 96 */ 0x9a3e,
- /* 2nd byte: 97 */ 0x9a55,
- /* 2nd byte: 98 */ 0x9a4d,
- /* 2nd byte: 99 */ 0x9a5b,
- /* 2nd byte: 100 */ 0x9a57,
- /* 2nd byte: 101 */ 0x9a5f,
- /* 2nd byte: 102 */ 0x9a62,
- /* 2nd byte: 103 */ 0x9a65,
- /* 2nd byte: 104 */ 0x9a64,
- /* 2nd byte: 105 */ 0x9a69,
- /* 2nd byte: 106 */ 0x9a6b,
- /* 2nd byte: 107 */ 0x9a6a,
- /* 2nd byte: 108 */ 0x9aad,
- /* 2nd byte: 109 */ 0x9ab0,
- /* 2nd byte: 110 */ 0x9abc,
- /* 2nd byte: 111 */ 0x9ac0,
- /* 2nd byte: 112 */ 0x9acf,
- /* 2nd byte: 113 */ 0x9ad1,
- /* 2nd byte: 114 */ 0x9ad3,
- /* 2nd byte: 115 */ 0x9ad4,
- /* 2nd byte: 116 */ 0x9ade,
- /* 2nd byte: 117 */ 0x9adf,
- /* 2nd byte: 118 */ 0x9ae2,
- /* 2nd byte: 119 */ 0x9ae3,
- /* 2nd byte: 120 */ 0x9ae6,
- /* 2nd byte: 121 */ 0x9aef,
- /* 2nd byte: 122 */ 0x9aeb,
- /* 2nd byte: 123 */ 0x9aee,
- /* 2nd byte: 124 */ 0x9af4,
- /* 2nd byte: 125 */ 0x9af1,
- /* 2nd byte: 126 */ 0x9af7},
-/* 1st byte: 114 */ {
- /* 2nd byte: 33 */ 0x9afb,
- /* 2nd byte: 34 */ 0x9b06,
- /* 2nd byte: 35 */ 0x9b18,
- /* 2nd byte: 36 */ 0x9b1a,
- /* 2nd byte: 37 */ 0x9b1f,
- /* 2nd byte: 38 */ 0x9b22,
- /* 2nd byte: 39 */ 0x9b23,
- /* 2nd byte: 40 */ 0x9b25,
- /* 2nd byte: 41 */ 0x9b27,
- /* 2nd byte: 42 */ 0x9b28,
- /* 2nd byte: 43 */ 0x9b29,
- /* 2nd byte: 44 */ 0x9b2a,
- /* 2nd byte: 45 */ 0x9b2e,
- /* 2nd byte: 46 */ 0x9b2f,
- /* 2nd byte: 47 */ 0x9b32,
- /* 2nd byte: 48 */ 0x9b44,
- /* 2nd byte: 49 */ 0x9b43,
- /* 2nd byte: 50 */ 0x9b4f,
- /* 2nd byte: 51 */ 0x9b4d,
- /* 2nd byte: 52 */ 0x9b4e,
- /* 2nd byte: 53 */ 0x9b51,
- /* 2nd byte: 54 */ 0x9b58,
- /* 2nd byte: 55 */ 0x9b74,
- /* 2nd byte: 56 */ 0x9b93,
- /* 2nd byte: 57 */ 0x9b83,
- /* 2nd byte: 58 */ 0x9b91,
- /* 2nd byte: 59 */ 0x9b96,
- /* 2nd byte: 60 */ 0x9b97,
- /* 2nd byte: 61 */ 0x9b9f,
- /* 2nd byte: 62 */ 0x9ba0,
- /* 2nd byte: 63 */ 0x9ba8,
- /* 2nd byte: 64 */ 0x9bb4,
- /* 2nd byte: 65 */ 0x9bc0,
- /* 2nd byte: 66 */ 0x9bca,
- /* 2nd byte: 67 */ 0x9bb9,
- /* 2nd byte: 68 */ 0x9bc6,
- /* 2nd byte: 69 */ 0x9bcf,
- /* 2nd byte: 70 */ 0x9bd1,
- /* 2nd byte: 71 */ 0x9bd2,
- /* 2nd byte: 72 */ 0x9be3,
- /* 2nd byte: 73 */ 0x9be2,
- /* 2nd byte: 74 */ 0x9be4,
- /* 2nd byte: 75 */ 0x9bd4,
- /* 2nd byte: 76 */ 0x9be1,
- /* 2nd byte: 77 */ 0x9c3a,
- /* 2nd byte: 78 */ 0x9bf2,
- /* 2nd byte: 79 */ 0x9bf1,
- /* 2nd byte: 80 */ 0x9bf0,
- /* 2nd byte: 81 */ 0x9c15,
- /* 2nd byte: 82 */ 0x9c14,
- /* 2nd byte: 83 */ 0x9c09,
- /* 2nd byte: 84 */ 0x9c13,
- /* 2nd byte: 85 */ 0x9c0c,
- /* 2nd byte: 86 */ 0x9c06,
- /* 2nd byte: 87 */ 0x9c08,
- /* 2nd byte: 88 */ 0x9c12,
- /* 2nd byte: 89 */ 0x9c0a,
- /* 2nd byte: 90 */ 0x9c04,
- /* 2nd byte: 91 */ 0x9c2e,
- /* 2nd byte: 92 */ 0x9c1b,
- /* 2nd byte: 93 */ 0x9c25,
- /* 2nd byte: 94 */ 0x9c24,
- /* 2nd byte: 95 */ 0x9c21,
- /* 2nd byte: 96 */ 0x9c30,
- /* 2nd byte: 97 */ 0x9c47,
- /* 2nd byte: 98 */ 0x9c32,
- /* 2nd byte: 99 */ 0x9c46,
- /* 2nd byte: 100 */ 0x9c3e,
- /* 2nd byte: 101 */ 0x9c5a,
- /* 2nd byte: 102 */ 0x9c60,
- /* 2nd byte: 103 */ 0x9c67,
- /* 2nd byte: 104 */ 0x9c76,
- /* 2nd byte: 105 */ 0x9c78,
- /* 2nd byte: 106 */ 0x9ce7,
- /* 2nd byte: 107 */ 0x9cec,
- /* 2nd byte: 108 */ 0x9cf0,
- /* 2nd byte: 109 */ 0x9d09,
- /* 2nd byte: 110 */ 0x9d08,
- /* 2nd byte: 111 */ 0x9ceb,
- /* 2nd byte: 112 */ 0x9d03,
- /* 2nd byte: 113 */ 0x9d06,
- /* 2nd byte: 114 */ 0x9d2a,
- /* 2nd byte: 115 */ 0x9d26,
- /* 2nd byte: 116 */ 0x9daf,
- /* 2nd byte: 117 */ 0x9d23,
- /* 2nd byte: 118 */ 0x9d1f,
- /* 2nd byte: 119 */ 0x9d44,
- /* 2nd byte: 120 */ 0x9d15,
- /* 2nd byte: 121 */ 0x9d12,
- /* 2nd byte: 122 */ 0x9d41,
- /* 2nd byte: 123 */ 0x9d3f,
- /* 2nd byte: 124 */ 0x9d3e,
- /* 2nd byte: 125 */ 0x9d46,
- /* 2nd byte: 126 */ 0x9d48},
-/* 1st byte: 115 */ {
- /* 2nd byte: 33 */ 0x9d5d,
- /* 2nd byte: 34 */ 0x9d5e,
- /* 2nd byte: 35 */ 0x9d64,
- /* 2nd byte: 36 */ 0x9d51,
- /* 2nd byte: 37 */ 0x9d50,
- /* 2nd byte: 38 */ 0x9d59,
- /* 2nd byte: 39 */ 0x9d72,
- /* 2nd byte: 40 */ 0x9d89,
- /* 2nd byte: 41 */ 0x9d87,
- /* 2nd byte: 42 */ 0x9dab,
- /* 2nd byte: 43 */ 0x9d6f,
- /* 2nd byte: 44 */ 0x9d7a,
- /* 2nd byte: 45 */ 0x9d9a,
- /* 2nd byte: 46 */ 0x9da4,
- /* 2nd byte: 47 */ 0x9da9,
- /* 2nd byte: 48 */ 0x9db2,
- /* 2nd byte: 49 */ 0x9dc4,
- /* 2nd byte: 50 */ 0x9dc1,
- /* 2nd byte: 51 */ 0x9dbb,
- /* 2nd byte: 52 */ 0x9db8,
- /* 2nd byte: 53 */ 0x9dba,
- /* 2nd byte: 54 */ 0x9dc6,
- /* 2nd byte: 55 */ 0x9dcf,
- /* 2nd byte: 56 */ 0x9dc2,
- /* 2nd byte: 57 */ 0x9dd9,
- /* 2nd byte: 58 */ 0x9dd3,
- /* 2nd byte: 59 */ 0x9df8,
- /* 2nd byte: 60 */ 0x9de6,
- /* 2nd byte: 61 */ 0x9ded,
- /* 2nd byte: 62 */ 0x9def,
- /* 2nd byte: 63 */ 0x9dfd,
- /* 2nd byte: 64 */ 0x9e1a,
- /* 2nd byte: 65 */ 0x9e1b,
- /* 2nd byte: 66 */ 0x9e1e,
- /* 2nd byte: 67 */ 0x9e75,
- /* 2nd byte: 68 */ 0x9e79,
- /* 2nd byte: 69 */ 0x9e7d,
- /* 2nd byte: 70 */ 0x9e81,
- /* 2nd byte: 71 */ 0x9e88,
- /* 2nd byte: 72 */ 0x9e8b,
- /* 2nd byte: 73 */ 0x9e8c,
- /* 2nd byte: 74 */ 0x9e92,
- /* 2nd byte: 75 */ 0x9e95,
- /* 2nd byte: 76 */ 0x9e91,
- /* 2nd byte: 77 */ 0x9e9d,
- /* 2nd byte: 78 */ 0x9ea5,
- /* 2nd byte: 79 */ 0x9ea9,
- /* 2nd byte: 80 */ 0x9eb8,
- /* 2nd byte: 81 */ 0x9eaa,
- /* 2nd byte: 82 */ 0x9ead,
- /* 2nd byte: 83 */ 0x9761,
- /* 2nd byte: 84 */ 0x9ecc,
- /* 2nd byte: 85 */ 0x9ece,
- /* 2nd byte: 86 */ 0x9ecf,
- /* 2nd byte: 87 */ 0x9ed0,
- /* 2nd byte: 88 */ 0x9ed4,
- /* 2nd byte: 89 */ 0x9edc,
- /* 2nd byte: 90 */ 0x9ede,
- /* 2nd byte: 91 */ 0x9edd,
- /* 2nd byte: 92 */ 0x9ee0,
- /* 2nd byte: 93 */ 0x9ee5,
- /* 2nd byte: 94 */ 0x9ee8,
- /* 2nd byte: 95 */ 0x9eef,
- /* 2nd byte: 96 */ 0x9ef4,
- /* 2nd byte: 97 */ 0x9ef6,
- /* 2nd byte: 98 */ 0x9ef7,
- /* 2nd byte: 99 */ 0x9ef9,
- /* 2nd byte: 100 */ 0x9efb,
- /* 2nd byte: 101 */ 0x9efc,
- /* 2nd byte: 102 */ 0x9efd,
- /* 2nd byte: 103 */ 0x9f07,
- /* 2nd byte: 104 */ 0x9f08,
- /* 2nd byte: 105 */ 0x76b7,
- /* 2nd byte: 106 */ 0x9f15,
- /* 2nd byte: 107 */ 0x9f21,
- /* 2nd byte: 108 */ 0x9f2c,
- /* 2nd byte: 109 */ 0x9f3e,
- /* 2nd byte: 110 */ 0x9f4a,
- /* 2nd byte: 111 */ 0x9f52,
- /* 2nd byte: 112 */ 0x9f54,
- /* 2nd byte: 113 */ 0x9f63,
- /* 2nd byte: 114 */ 0x9f5f,
- /* 2nd byte: 115 */ 0x9f60,
- /* 2nd byte: 116 */ 0x9f61,
- /* 2nd byte: 117 */ 0x9f66,
- /* 2nd byte: 118 */ 0x9f67,
- /* 2nd byte: 119 */ 0x9f6c,
- /* 2nd byte: 120 */ 0x9f6a,
- /* 2nd byte: 121 */ 0x9f77,
- /* 2nd byte: 122 */ 0x9f72,
- /* 2nd byte: 123 */ 0x9f76,
- /* 2nd byte: 124 */ 0x9f95,
- /* 2nd byte: 125 */ 0x9f9c,
- /* 2nd byte: 126 */ 0x9fa0},
-/* 1st byte: 116 */ {
- /* 2nd byte: 33 */ 0x582f,
- /* 2nd byte: 34 */ 0x69c7,
- /* 2nd byte: 35 */ 0x9059,
- /* 2nd byte: 36 */ 0x7464,
- /* 2nd byte: 37 */ 0x51dc,
- /* 2nd byte: 38 */ 0x7199,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0}
-};
diff --git a/libjava/gnu/gcj/convert/JIS0212.h b/libjava/gnu/gcj/convert/JIS0212.h
deleted file mode 100644
index 215567074bb..00000000000
--- a/libjava/gnu/gcj/convert/JIS0212.h
+++ /dev/null
@@ -1,6068 +0,0 @@
-/* This file is automatically generated from Unicode tables */
-MAP(0x22, 0x2F, 0x02D8) /* BREVE */
-MAP(0x22, 0x30, 0x02C7) /* CARON (Mandarin Chinese third tone) */
-MAP(0x22, 0x31, 0x00B8) /* CEDILLA */
-MAP(0x22, 0x32, 0x02D9) /* DOT ABOVE (Mandarin Chinese light tone) */
-MAP(0x22, 0x33, 0x02DD) /* DOUBLE ACUTE ACCENT */
-MAP(0x22, 0x34, 0x00AF) /* MACRON */
-MAP(0x22, 0x35, 0x02DB) /* OGONEK */
-MAP(0x22, 0x36, 0x02DA) /* RING ABOVE */
-MAP(0x22, 0x37, 0x007E) /* TILDE */
-MAP(0x22, 0x38, 0x0384) /* GREEK TONOS */
-MAP(0x22, 0x39, 0x0385) /* GREEK DIALYTIKA TONOS */
-MAP(0x22, 0x42, 0x00A1) /* INVERTED EXCLAMATION MARK */
-MAP(0x22, 0x43, 0x00A6) /* BROKEN BAR */
-MAP(0x22, 0x44, 0x00BF) /* INVERTED QUESTION MARK */
-MAP(0x22, 0x6B, 0x00BA) /* MASCULINE ORDINAL INDICATOR */
-MAP(0x22, 0x6C, 0x00AA) /* FEMININE ORDINAL INDICATOR */
-MAP(0x22, 0x6D, 0x00A9) /* COPYRIGHT SIGN */
-MAP(0x22, 0x6E, 0x00AE) /* REGISTERED SIGN */
-MAP(0x22, 0x6F, 0x2122) /* TRADE MARK SIGN */
-MAP(0x22, 0x70, 0x00A4) /* CURRENCY SIGN */
-MAP(0x22, 0x71, 0x2116) /* NUMERO SIGN */
-MAP(0x26, 0x61, 0x0386) /* GREEK CAPITAL LETTER ALPHA WITH TONOS */
-MAP(0x26, 0x62, 0x0388) /* GREEK CAPITAL LETTER EPSILON WITH TONOS */
-MAP(0x26, 0x63, 0x0389) /* GREEK CAPITAL LETTER ETA WITH TONOS */
-MAP(0x26, 0x64, 0x038A) /* GREEK CAPITAL LETTER IOTA WITH TONOS */
-MAP(0x26, 0x65, 0x03AA) /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
-MAP(0x26, 0x67, 0x038C) /* GREEK CAPITAL LETTER OMICRON WITH TONOS */
-MAP(0x26, 0x69, 0x038E) /* GREEK CAPITAL LETTER UPSILON WITH TONOS */
-MAP(0x26, 0x6A, 0x03AB) /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
-MAP(0x26, 0x6C, 0x038F) /* GREEK CAPITAL LETTER OMEGA WITH TONOS */
-MAP(0x26, 0x71, 0x03AC) /* GREEK SMALL LETTER ALPHA WITH TONOS */
-MAP(0x26, 0x72, 0x03AD) /* GREEK SMALL LETTER EPSILON WITH TONOS */
-MAP(0x26, 0x73, 0x03AE) /* GREEK SMALL LETTER ETA WITH TONOS */
-MAP(0x26, 0x74, 0x03AF) /* GREEK SMALL LETTER IOTA WITH TONOS */
-MAP(0x26, 0x75, 0x03CA) /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */
-MAP(0x26, 0x76, 0x0390) /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
-MAP(0x26, 0x77, 0x03CC) /* GREEK SMALL LETTER OMICRON WITH TONOS */
-MAP(0x26, 0x78, 0x03C2) /* GREEK SMALL LETTER FINAL SIGMA */
-MAP(0x26, 0x79, 0x03CD) /* GREEK SMALL LETTER UPSILON WITH TONOS */
-MAP(0x26, 0x7A, 0x03CB) /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
-MAP(0x26, 0x7B, 0x03B0) /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
-MAP(0x26, 0x7C, 0x03CE) /* GREEK SMALL LETTER OMEGA WITH TONOS */
-MAP(0x27, 0x42, 0x0402) /* CYRILLIC CAPITAL LETTER DJE */
-MAP(0x27, 0x43, 0x0403) /* CYRILLIC CAPITAL LETTER GJE */
-MAP(0x27, 0x44, 0x0404) /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */
-MAP(0x27, 0x45, 0x0405) /* CYRILLIC CAPITAL LETTER DZE */
-MAP(0x27, 0x46, 0x0406) /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
-MAP(0x27, 0x47, 0x0407) /* CYRILLIC CAPITAL LETTER YI */
-MAP(0x27, 0x48, 0x0408) /* CYRILLIC CAPITAL LETTER JE */
-MAP(0x27, 0x49, 0x0409) /* CYRILLIC CAPITAL LETTER LJE */
-MAP(0x27, 0x4A, 0x040A) /* CYRILLIC CAPITAL LETTER NJE */
-MAP(0x27, 0x4B, 0x040B) /* CYRILLIC CAPITAL LETTER TSHE */
-MAP(0x27, 0x4C, 0x040C) /* CYRILLIC CAPITAL LETTER KJE */
-MAP(0x27, 0x4D, 0x040E) /* CYRILLIC CAPITAL LETTER SHORT U */
-MAP(0x27, 0x4E, 0x040F) /* CYRILLIC CAPITAL LETTER DZHE */
-MAP(0x27, 0x72, 0x0452) /* CYRILLIC SMALL LETTER DJE */
-MAP(0x27, 0x73, 0x0453) /* CYRILLIC SMALL LETTER GJE */
-MAP(0x27, 0x74, 0x0454) /* CYRILLIC SMALL LETTER UKRAINIAN IE */
-MAP(0x27, 0x75, 0x0455) /* CYRILLIC SMALL LETTER DZE */
-MAP(0x27, 0x76, 0x0456) /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
-MAP(0x27, 0x77, 0x0457) /* CYRILLIC SMALL LETTER YI */
-MAP(0x27, 0x78, 0x0458) /* CYRILLIC SMALL LETTER JE */
-MAP(0x27, 0x79, 0x0459) /* CYRILLIC SMALL LETTER LJE */
-MAP(0x27, 0x7A, 0x045A) /* CYRILLIC SMALL LETTER NJE */
-MAP(0x27, 0x7B, 0x045B) /* CYRILLIC SMALL LETTER TSHE */
-MAP(0x27, 0x7C, 0x045C) /* CYRILLIC SMALL LETTER KJE */
-MAP(0x27, 0x7D, 0x045E) /* CYRILLIC SMALL LETTER SHORT U */
-MAP(0x27, 0x7E, 0x045F) /* CYRILLIC SMALL LETTER DZHE */
-MAP(0x29, 0x21, 0x00C6) /* LATIN CAPITAL LIGATURE AE */
-MAP(0x29, 0x22, 0x0110) /* LATIN CAPITAL LETTER D WITH STROKE */
-MAP(0x29, 0x24, 0x0126) /* LATIN CAPITAL LETTER H WITH STROKE */
-MAP(0x29, 0x26, 0x0132) /* LATIN CAPITAL LIGATURE IJ */
-MAP(0x29, 0x28, 0x0141) /* LATIN CAPITAL LETTER L WITH STROKE */
-MAP(0x29, 0x29, 0x013F) /* LATIN CAPITAL LETTER L WITH MIDDLE DOT */
-MAP(0x29, 0x2B, 0x014A) /* LATIN CAPITAL LETTER ENG */
-MAP(0x29, 0x2C, 0x00D8) /* LATIN CAPITAL LETTER O WITH STROKE */
-MAP(0x29, 0x2D, 0x0152) /* LATIN CAPITAL LIGATURE OE */
-MAP(0x29, 0x2F, 0x0166) /* LATIN CAPITAL LETTER T WITH STROKE */
-MAP(0x29, 0x30, 0x00DE) /* LATIN CAPITAL LETTER THORN */
-MAP(0x29, 0x41, 0x00E6) /* LATIN SMALL LIGATURE AE */
-MAP(0x29, 0x42, 0x0111) /* LATIN SMALL LETTER D WITH STROKE */
-MAP(0x29, 0x43, 0x00F0) /* LATIN SMALL LETTER ETH */
-MAP(0x29, 0x44, 0x0127) /* LATIN SMALL LETTER H WITH STROKE */
-MAP(0x29, 0x45, 0x0131) /* LATIN SMALL LETTER DOTLESS I */
-MAP(0x29, 0x46, 0x0133) /* LATIN SMALL LIGATURE IJ */
-MAP(0x29, 0x47, 0x0138) /* LATIN SMALL LETTER KRA */
-MAP(0x29, 0x48, 0x0142) /* LATIN SMALL LETTER L WITH STROKE */
-MAP(0x29, 0x49, 0x0140) /* LATIN SMALL LETTER L WITH MIDDLE DOT */
-MAP(0x29, 0x4A, 0x0149) /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */
-MAP(0x29, 0x4B, 0x014B) /* LATIN SMALL LETTER ENG */
-MAP(0x29, 0x4C, 0x00F8) /* LATIN SMALL LETTER O WITH STROKE */
-MAP(0x29, 0x4D, 0x0153) /* LATIN SMALL LIGATURE OE */
-MAP(0x29, 0x4E, 0x00DF) /* LATIN SMALL LETTER SHARP S */
-MAP(0x29, 0x4F, 0x0167) /* LATIN SMALL LETTER T WITH STROKE */
-MAP(0x29, 0x50, 0x00FE) /* LATIN SMALL LETTER THORN */
-MAP(0x2A, 0x21, 0x00C1) /* LATIN CAPITAL LETTER A WITH ACUTE */
-MAP(0x2A, 0x22, 0x00C0) /* LATIN CAPITAL LETTER A WITH GRAVE */
-MAP(0x2A, 0x23, 0x00C4) /* LATIN CAPITAL LETTER A WITH DIAERESIS */
-MAP(0x2A, 0x24, 0x00C2) /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
-MAP(0x2A, 0x25, 0x0102) /* LATIN CAPITAL LETTER A WITH BREVE */
-MAP(0x2A, 0x26, 0x01CD) /* LATIN CAPITAL LETTER A WITH CARON */
-MAP(0x2A, 0x27, 0x0100) /* LATIN CAPITAL LETTER A WITH MACRON */
-MAP(0x2A, 0x28, 0x0104) /* LATIN CAPITAL LETTER A WITH OGONEK */
-MAP(0x2A, 0x29, 0x00C5) /* LATIN CAPITAL LETTER A WITH RING ABOVE */
-MAP(0x2A, 0x2A, 0x00C3) /* LATIN CAPITAL LETTER A WITH TILDE */
-MAP(0x2A, 0x2B, 0x0106) /* LATIN CAPITAL LETTER C WITH ACUTE */
-MAP(0x2A, 0x2C, 0x0108) /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
-MAP(0x2A, 0x2D, 0x010C) /* LATIN CAPITAL LETTER C WITH CARON */
-MAP(0x2A, 0x2E, 0x00C7) /* LATIN CAPITAL LETTER C WITH CEDILLA */
-MAP(0x2A, 0x2F, 0x010A) /* LATIN CAPITAL LETTER C WITH DOT ABOVE */
-MAP(0x2A, 0x30, 0x010E) /* LATIN CAPITAL LETTER D WITH CARON */
-MAP(0x2A, 0x31, 0x00C9) /* LATIN CAPITAL LETTER E WITH ACUTE */
-MAP(0x2A, 0x32, 0x00C8) /* LATIN CAPITAL LETTER E WITH GRAVE */
-MAP(0x2A, 0x33, 0x00CB) /* LATIN CAPITAL LETTER E WITH DIAERESIS */
-MAP(0x2A, 0x34, 0x00CA) /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
-MAP(0x2A, 0x35, 0x011A) /* LATIN CAPITAL LETTER E WITH CARON */
-MAP(0x2A, 0x36, 0x0116) /* LATIN CAPITAL LETTER E WITH DOT ABOVE */
-MAP(0x2A, 0x37, 0x0112) /* LATIN CAPITAL LETTER E WITH MACRON */
-MAP(0x2A, 0x38, 0x0118) /* LATIN CAPITAL LETTER E WITH OGONEK */
-MAP(0x2A, 0x3A, 0x011C) /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
-MAP(0x2A, 0x3B, 0x011E) /* LATIN CAPITAL LETTER G WITH BREVE */
-MAP(0x2A, 0x3C, 0x0122) /* LATIN CAPITAL LETTER G WITH CEDILLA */
-MAP(0x2A, 0x3D, 0x0120) /* LATIN CAPITAL LETTER G WITH DOT ABOVE */
-MAP(0x2A, 0x3E, 0x0124) /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
-MAP(0x2A, 0x3F, 0x00CD) /* LATIN CAPITAL LETTER I WITH ACUTE */
-MAP(0x2A, 0x40, 0x00CC) /* LATIN CAPITAL LETTER I WITH GRAVE */
-MAP(0x2A, 0x41, 0x00CF) /* LATIN CAPITAL LETTER I WITH DIAERESIS */
-MAP(0x2A, 0x42, 0x00CE) /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
-MAP(0x2A, 0x43, 0x01CF) /* LATIN CAPITAL LETTER I WITH CARON */
-MAP(0x2A, 0x44, 0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOVE */
-MAP(0x2A, 0x45, 0x012A) /* LATIN CAPITAL LETTER I WITH MACRON */
-MAP(0x2A, 0x46, 0x012E) /* LATIN CAPITAL LETTER I WITH OGONEK */
-MAP(0x2A, 0x47, 0x0128) /* LATIN CAPITAL LETTER I WITH TILDE */
-MAP(0x2A, 0x48, 0x0134) /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
-MAP(0x2A, 0x49, 0x0136) /* LATIN CAPITAL LETTER K WITH CEDILLA */
-MAP(0x2A, 0x4A, 0x0139) /* LATIN CAPITAL LETTER L WITH ACUTE */
-MAP(0x2A, 0x4B, 0x013D) /* LATIN CAPITAL LETTER L WITH CARON */
-MAP(0x2A, 0x4C, 0x013B) /* LATIN CAPITAL LETTER L WITH CEDILLA */
-MAP(0x2A, 0x4D, 0x0143) /* LATIN CAPITAL LETTER N WITH ACUTE */
-MAP(0x2A, 0x4E, 0x0147) /* LATIN CAPITAL LETTER N WITH CARON */
-MAP(0x2A, 0x4F, 0x0145) /* LATIN CAPITAL LETTER N WITH CEDILLA */
-MAP(0x2A, 0x50, 0x00D1) /* LATIN CAPITAL LETTER N WITH TILDE */
-MAP(0x2A, 0x51, 0x00D3) /* LATIN CAPITAL LETTER O WITH ACUTE */
-MAP(0x2A, 0x52, 0x00D2) /* LATIN CAPITAL LETTER O WITH GRAVE */
-MAP(0x2A, 0x53, 0x00D6) /* LATIN CAPITAL LETTER O WITH DIAERESIS */
-MAP(0x2A, 0x54, 0x00D4) /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
-MAP(0x2A, 0x55, 0x01D1) /* LATIN CAPITAL LETTER O WITH CARON */
-MAP(0x2A, 0x56, 0x0150) /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
-MAP(0x2A, 0x57, 0x014C) /* LATIN CAPITAL LETTER O WITH MACRON */
-MAP(0x2A, 0x58, 0x00D5) /* LATIN CAPITAL LETTER O WITH TILDE */
-MAP(0x2A, 0x59, 0x0154) /* LATIN CAPITAL LETTER R WITH ACUTE */
-MAP(0x2A, 0x5A, 0x0158) /* LATIN CAPITAL LETTER R WITH CARON */
-MAP(0x2A, 0x5B, 0x0156) /* LATIN CAPITAL LETTER R WITH CEDILLA */
-MAP(0x2A, 0x5C, 0x015A) /* LATIN CAPITAL LETTER S WITH ACUTE */
-MAP(0x2A, 0x5D, 0x015C) /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
-MAP(0x2A, 0x5E, 0x0160) /* LATIN CAPITAL LETTER S WITH CARON */
-MAP(0x2A, 0x5F, 0x015E) /* LATIN CAPITAL LETTER S WITH CEDILLA */
-MAP(0x2A, 0x60, 0x0164) /* LATIN CAPITAL LETTER T WITH CARON */
-MAP(0x2A, 0x61, 0x0162) /* LATIN CAPITAL LETTER T WITH CEDILLA */
-MAP(0x2A, 0x62, 0x00DA) /* LATIN CAPITAL LETTER U WITH ACUTE */
-MAP(0x2A, 0x63, 0x00D9) /* LATIN CAPITAL LETTER U WITH GRAVE */
-MAP(0x2A, 0x64, 0x00DC) /* LATIN CAPITAL LETTER U WITH DIAERESIS */
-MAP(0x2A, 0x65, 0x00DB) /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
-MAP(0x2A, 0x66, 0x016C) /* LATIN CAPITAL LETTER U WITH BREVE */
-MAP(0x2A, 0x67, 0x01D3) /* LATIN CAPITAL LETTER U WITH CARON */
-MAP(0x2A, 0x68, 0x0170) /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
-MAP(0x2A, 0x69, 0x016A) /* LATIN CAPITAL LETTER U WITH MACRON */
-MAP(0x2A, 0x6A, 0x0172) /* LATIN CAPITAL LETTER U WITH OGONEK */
-MAP(0x2A, 0x6B, 0x016E) /* LATIN CAPITAL LETTER U WITH RING ABOVE */
-MAP(0x2A, 0x6C, 0x0168) /* LATIN CAPITAL LETTER U WITH TILDE */
-MAP(0x2A, 0x6D, 0x01D7) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE */
-MAP(0x2A, 0x6E, 0x01DB) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE */
-MAP(0x2A, 0x6F, 0x01D9) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON */
-MAP(0x2A, 0x70, 0x01D5) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON */
-MAP(0x2A, 0x71, 0x0174) /* LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
-MAP(0x2A, 0x72, 0x00DD) /* LATIN CAPITAL LETTER Y WITH ACUTE */
-MAP(0x2A, 0x73, 0x0178) /* LATIN CAPITAL LETTER Y WITH DIAERESIS */
-MAP(0x2A, 0x74, 0x0176) /* LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
-MAP(0x2A, 0x75, 0x0179) /* LATIN CAPITAL LETTER Z WITH ACUTE */
-MAP(0x2A, 0x76, 0x017D) /* LATIN CAPITAL LETTER Z WITH CARON */
-MAP(0x2A, 0x77, 0x017B) /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */
-MAP(0x2B, 0x21, 0x00E1) /* LATIN SMALL LETTER A WITH ACUTE */
-MAP(0x2B, 0x22, 0x00E0) /* LATIN SMALL LETTER A WITH GRAVE */
-MAP(0x2B, 0x23, 0x00E4) /* LATIN SMALL LETTER A WITH DIAERESIS */
-MAP(0x2B, 0x24, 0x00E2) /* LATIN SMALL LETTER A WITH CIRCUMFLEX */
-MAP(0x2B, 0x25, 0x0103) /* LATIN SMALL LETTER A WITH BREVE */
-MAP(0x2B, 0x26, 0x01CE) /* LATIN SMALL LETTER A WITH CARON */
-MAP(0x2B, 0x27, 0x0101) /* LATIN SMALL LETTER A WITH MACRON */
-MAP(0x2B, 0x28, 0x0105) /* LATIN SMALL LETTER A WITH OGONEK */
-MAP(0x2B, 0x29, 0x00E5) /* LATIN SMALL LETTER A WITH RING ABOVE */
-MAP(0x2B, 0x2A, 0x00E3) /* LATIN SMALL LETTER A WITH TILDE */
-MAP(0x2B, 0x2B, 0x0107) /* LATIN SMALL LETTER C WITH ACUTE */
-MAP(0x2B, 0x2C, 0x0109) /* LATIN SMALL LETTER C WITH CIRCUMFLEX */
-MAP(0x2B, 0x2D, 0x010D) /* LATIN SMALL LETTER C WITH CARON */
-MAP(0x2B, 0x2E, 0x00E7) /* LATIN SMALL LETTER C WITH CEDILLA */
-MAP(0x2B, 0x2F, 0x010B) /* LATIN SMALL LETTER C WITH DOT ABOVE */
-MAP(0x2B, 0x30, 0x010F) /* LATIN SMALL LETTER D WITH CARON */
-MAP(0x2B, 0x31, 0x00E9) /* LATIN SMALL LETTER E WITH ACUTE */
-MAP(0x2B, 0x32, 0x00E8) /* LATIN SMALL LETTER E WITH GRAVE */
-MAP(0x2B, 0x33, 0x00EB) /* LATIN SMALL LETTER E WITH DIAERESIS */
-MAP(0x2B, 0x34, 0x00EA) /* LATIN SMALL LETTER E WITH CIRCUMFLEX */
-MAP(0x2B, 0x35, 0x011B) /* LATIN SMALL LETTER E WITH CARON */
-MAP(0x2B, 0x36, 0x0117) /* LATIN SMALL LETTER E WITH DOT ABOVE */
-MAP(0x2B, 0x37, 0x0113) /* LATIN SMALL LETTER E WITH MACRON */
-MAP(0x2B, 0x38, 0x0119) /* LATIN SMALL LETTER E WITH OGONEK */
-MAP(0x2B, 0x39, 0x01F5) /* LATIN SMALL LETTER G WITH ACUTE */
-MAP(0x2B, 0x3A, 0x011D) /* LATIN SMALL LETTER G WITH CIRCUMFLEX */
-MAP(0x2B, 0x3B, 0x011F) /* LATIN SMALL LETTER G WITH BREVE */
-MAP(0x2B, 0x3D, 0x0121) /* LATIN SMALL LETTER G WITH DOT ABOVE */
-MAP(0x2B, 0x3E, 0x0125) /* LATIN SMALL LETTER H WITH CIRCUMFLEX */
-MAP(0x2B, 0x3F, 0x00ED) /* LATIN SMALL LETTER I WITH ACUTE */
-MAP(0x2B, 0x40, 0x00EC) /* LATIN SMALL LETTER I WITH GRAVE */
-MAP(0x2B, 0x41, 0x00EF) /* LATIN SMALL LETTER I WITH DIAERESIS */
-MAP(0x2B, 0x42, 0x00EE) /* LATIN SMALL LETTER I WITH CIRCUMFLEX */
-MAP(0x2B, 0x43, 0x01D0) /* LATIN SMALL LETTER I WITH CARON */
-MAP(0x2B, 0x45, 0x012B) /* LATIN SMALL LETTER I WITH MACRON */
-MAP(0x2B, 0x46, 0x012F) /* LATIN SMALL LETTER I WITH OGONEK */
-MAP(0x2B, 0x47, 0x0129) /* LATIN SMALL LETTER I WITH TILDE */
-MAP(0x2B, 0x48, 0x0135) /* LATIN SMALL LETTER J WITH CIRCUMFLEX */
-MAP(0x2B, 0x49, 0x0137) /* LATIN SMALL LETTER K WITH CEDILLA */
-MAP(0x2B, 0x4A, 0x013A) /* LATIN SMALL LETTER L WITH ACUTE */
-MAP(0x2B, 0x4B, 0x013E) /* LATIN SMALL LETTER L WITH CARON */
-MAP(0x2B, 0x4C, 0x013C) /* LATIN SMALL LETTER L WITH CEDILLA */
-MAP(0x2B, 0x4D, 0x0144) /* LATIN SMALL LETTER N WITH ACUTE */
-MAP(0x2B, 0x4E, 0x0148) /* LATIN SMALL LETTER N WITH CARON */
-MAP(0x2B, 0x4F, 0x0146) /* LATIN SMALL LETTER N WITH CEDILLA */
-MAP(0x2B, 0x50, 0x00F1) /* LATIN SMALL LETTER N WITH TILDE */
-MAP(0x2B, 0x51, 0x00F3) /* LATIN SMALL LETTER O WITH ACUTE */
-MAP(0x2B, 0x52, 0x00F2) /* LATIN SMALL LETTER O WITH GRAVE */
-MAP(0x2B, 0x53, 0x00F6) /* LATIN SMALL LETTER O WITH DIAERESIS */
-MAP(0x2B, 0x54, 0x00F4) /* LATIN SMALL LETTER O WITH CIRCUMFLEX */
-MAP(0x2B, 0x55, 0x01D2) /* LATIN SMALL LETTER O WITH CARON */
-MAP(0x2B, 0x56, 0x0151) /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */
-MAP(0x2B, 0x57, 0x014D) /* LATIN SMALL LETTER O WITH MACRON */
-MAP(0x2B, 0x58, 0x00F5) /* LATIN SMALL LETTER O WITH TILDE */
-MAP(0x2B, 0x59, 0x0155) /* LATIN SMALL LETTER R WITH ACUTE */
-MAP(0x2B, 0x5A, 0x0159) /* LATIN SMALL LETTER R WITH CARON */
-MAP(0x2B, 0x5B, 0x0157) /* LATIN SMALL LETTER R WITH CEDILLA */
-MAP(0x2B, 0x5C, 0x015B) /* LATIN SMALL LETTER S WITH ACUTE */
-MAP(0x2B, 0x5D, 0x015D) /* LATIN SMALL LETTER S WITH CIRCUMFLEX */
-MAP(0x2B, 0x5E, 0x0161) /* LATIN SMALL LETTER S WITH CARON */
-MAP(0x2B, 0x5F, 0x015F) /* LATIN SMALL LETTER S WITH CEDILLA */
-MAP(0x2B, 0x60, 0x0165) /* LATIN SMALL LETTER T WITH CARON */
-MAP(0x2B, 0x61, 0x0163) /* LATIN SMALL LETTER T WITH CEDILLA */
-MAP(0x2B, 0x62, 0x00FA) /* LATIN SMALL LETTER U WITH ACUTE */
-MAP(0x2B, 0x63, 0x00F9) /* LATIN SMALL LETTER U WITH GRAVE */
-MAP(0x2B, 0x64, 0x00FC) /* LATIN SMALL LETTER U WITH DIAERESIS */
-MAP(0x2B, 0x65, 0x00FB) /* LATIN SMALL LETTER U WITH CIRCUMFLEX */
-MAP(0x2B, 0x66, 0x016D) /* LATIN SMALL LETTER U WITH BREVE */
-MAP(0x2B, 0x67, 0x01D4) /* LATIN SMALL LETTER U WITH CARON */
-MAP(0x2B, 0x68, 0x0171) /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */
-MAP(0x2B, 0x69, 0x016B) /* LATIN SMALL LETTER U WITH MACRON */
-MAP(0x2B, 0x6A, 0x0173) /* LATIN SMALL LETTER U WITH OGONEK */
-MAP(0x2B, 0x6B, 0x016F) /* LATIN SMALL LETTER U WITH RING ABOVE */
-MAP(0x2B, 0x6C, 0x0169) /* LATIN SMALL LETTER U WITH TILDE */
-MAP(0x2B, 0x6D, 0x01D8) /* LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE */
-MAP(0x2B, 0x6E, 0x01DC) /* LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE */
-MAP(0x2B, 0x6F, 0x01DA) /* LATIN SMALL LETTER U WITH DIAERESIS AND CARON */
-MAP(0x2B, 0x70, 0x01D6) /* LATIN SMALL LETTER U WITH DIAERESIS AND MACRON */
-MAP(0x2B, 0x71, 0x0175) /* LATIN SMALL LETTER W WITH CIRCUMFLEX */
-MAP(0x2B, 0x72, 0x00FD) /* LATIN SMALL LETTER Y WITH ACUTE */
-MAP(0x2B, 0x73, 0x00FF) /* LATIN SMALL LETTER Y WITH DIAERESIS */
-MAP(0x2B, 0x74, 0x0177) /* LATIN SMALL LETTER Y WITH CIRCUMFLEX */
-MAP(0x2B, 0x75, 0x017A) /* LATIN SMALL LETTER Z WITH ACUTE */
-MAP(0x2B, 0x76, 0x017E) /* LATIN SMALL LETTER Z WITH CARON */
-MAP(0x2B, 0x77, 0x017C) /* LATIN SMALL LETTER Z WITH DOT ABOVE */
-MAP(0x30, 0x21, 0x4E02) /* <CJK> */
-MAP(0x30, 0x22, 0x4E04) /* <CJK> */
-MAP(0x30, 0x23, 0x4E05) /* <CJK> */
-MAP(0x30, 0x24, 0x4E0C) /* <CJK> */
-MAP(0x30, 0x25, 0x4E12) /* <CJK> */
-MAP(0x30, 0x26, 0x4E1F) /* <CJK> */
-MAP(0x30, 0x27, 0x4E23) /* <CJK> */
-MAP(0x30, 0x28, 0x4E24) /* <CJK> */
-MAP(0x30, 0x29, 0x4E28) /* <CJK> */
-MAP(0x30, 0x2A, 0x4E2B) /* <CJK> */
-MAP(0x30, 0x2B, 0x4E2E) /* <CJK> */
-MAP(0x30, 0x2C, 0x4E2F) /* <CJK> */
-MAP(0x30, 0x2D, 0x4E30) /* <CJK> */
-MAP(0x30, 0x2E, 0x4E35) /* <CJK> */
-MAP(0x30, 0x2F, 0x4E40) /* <CJK> */
-MAP(0x30, 0x30, 0x4E41) /* <CJK> */
-MAP(0x30, 0x31, 0x4E44) /* <CJK> */
-MAP(0x30, 0x32, 0x4E47) /* <CJK> */
-MAP(0x30, 0x33, 0x4E51) /* <CJK> */
-MAP(0x30, 0x34, 0x4E5A) /* <CJK> */
-MAP(0x30, 0x35, 0x4E5C) /* <CJK> */
-MAP(0x30, 0x36, 0x4E63) /* <CJK> */
-MAP(0x30, 0x37, 0x4E68) /* <CJK> */
-MAP(0x30, 0x38, 0x4E69) /* <CJK> */
-MAP(0x30, 0x39, 0x4E74) /* <CJK> */
-MAP(0x30, 0x3A, 0x4E75) /* <CJK> */
-MAP(0x30, 0x3B, 0x4E79) /* <CJK> */
-MAP(0x30, 0x3C, 0x4E7F) /* <CJK> */
-MAP(0x30, 0x3D, 0x4E8D) /* <CJK> */
-MAP(0x30, 0x3E, 0x4E96) /* <CJK> */
-MAP(0x30, 0x3F, 0x4E97) /* <CJK> */
-MAP(0x30, 0x40, 0x4E9D) /* <CJK> */
-MAP(0x30, 0x41, 0x4EAF) /* <CJK> */
-MAP(0x30, 0x42, 0x4EB9) /* <CJK> */
-MAP(0x30, 0x43, 0x4EC3) /* <CJK> */
-MAP(0x30, 0x44, 0x4ED0) /* <CJK> */
-MAP(0x30, 0x45, 0x4EDA) /* <CJK> */
-MAP(0x30, 0x46, 0x4EDB) /* <CJK> */
-MAP(0x30, 0x47, 0x4EE0) /* <CJK> */
-MAP(0x30, 0x48, 0x4EE1) /* <CJK> */
-MAP(0x30, 0x49, 0x4EE2) /* <CJK> */
-MAP(0x30, 0x4A, 0x4EE8) /* <CJK> */
-MAP(0x30, 0x4B, 0x4EEF) /* <CJK> */
-MAP(0x30, 0x4C, 0x4EF1) /* <CJK> */
-MAP(0x30, 0x4D, 0x4EF3) /* <CJK> */
-MAP(0x30, 0x4E, 0x4EF5) /* <CJK> */
-MAP(0x30, 0x4F, 0x4EFD) /* <CJK> */
-MAP(0x30, 0x50, 0x4EFE) /* <CJK> */
-MAP(0x30, 0x51, 0x4EFF) /* <CJK> */
-MAP(0x30, 0x52, 0x4F00) /* <CJK> */
-MAP(0x30, 0x53, 0x4F02) /* <CJK> */
-MAP(0x30, 0x54, 0x4F03) /* <CJK> */
-MAP(0x30, 0x55, 0x4F08) /* <CJK> */
-MAP(0x30, 0x56, 0x4F0B) /* <CJK> */
-MAP(0x30, 0x57, 0x4F0C) /* <CJK> */
-MAP(0x30, 0x58, 0x4F12) /* <CJK> */
-MAP(0x30, 0x59, 0x4F15) /* <CJK> */
-MAP(0x30, 0x5A, 0x4F16) /* <CJK> */
-MAP(0x30, 0x5B, 0x4F17) /* <CJK> */
-MAP(0x30, 0x5C, 0x4F19) /* <CJK> */
-MAP(0x30, 0x5D, 0x4F2E) /* <CJK> */
-MAP(0x30, 0x5E, 0x4F31) /* <CJK> */
-MAP(0x30, 0x5F, 0x4F60) /* <CJK> */
-MAP(0x30, 0x60, 0x4F33) /* <CJK> */
-MAP(0x30, 0x61, 0x4F35) /* <CJK> */
-MAP(0x30, 0x62, 0x4F37) /* <CJK> */
-MAP(0x30, 0x63, 0x4F39) /* <CJK> */
-MAP(0x30, 0x64, 0x4F3B) /* <CJK> */
-MAP(0x30, 0x65, 0x4F3E) /* <CJK> */
-MAP(0x30, 0x66, 0x4F40) /* <CJK> */
-MAP(0x30, 0x67, 0x4F42) /* <CJK> */
-MAP(0x30, 0x68, 0x4F48) /* <CJK> */
-MAP(0x30, 0x69, 0x4F49) /* <CJK> */
-MAP(0x30, 0x6A, 0x4F4B) /* <CJK> */
-MAP(0x30, 0x6B, 0x4F4C) /* <CJK> */
-MAP(0x30, 0x6C, 0x4F52) /* <CJK> */
-MAP(0x30, 0x6D, 0x4F54) /* <CJK> */
-MAP(0x30, 0x6E, 0x4F56) /* <CJK> */
-MAP(0x30, 0x6F, 0x4F58) /* <CJK> */
-MAP(0x30, 0x70, 0x4F5F) /* <CJK> */
-MAP(0x30, 0x71, 0x4F63) /* <CJK> */
-MAP(0x30, 0x72, 0x4F6A) /* <CJK> */
-MAP(0x30, 0x73, 0x4F6C) /* <CJK> */
-MAP(0x30, 0x74, 0x4F6E) /* <CJK> */
-MAP(0x30, 0x75, 0x4F71) /* <CJK> */
-MAP(0x30, 0x76, 0x4F77) /* <CJK> */
-MAP(0x30, 0x77, 0x4F78) /* <CJK> */
-MAP(0x30, 0x78, 0x4F79) /* <CJK> */
-MAP(0x30, 0x79, 0x4F7A) /* <CJK> */
-MAP(0x30, 0x7A, 0x4F7D) /* <CJK> */
-MAP(0x30, 0x7B, 0x4F7E) /* <CJK> */
-MAP(0x30, 0x7C, 0x4F81) /* <CJK> */
-MAP(0x30, 0x7D, 0x4F82) /* <CJK> */
-MAP(0x30, 0x7E, 0x4F84) /* <CJK> */
-MAP(0x31, 0x21, 0x4F85) /* <CJK> */
-MAP(0x31, 0x22, 0x4F89) /* <CJK> */
-MAP(0x31, 0x23, 0x4F8A) /* <CJK> */
-MAP(0x31, 0x24, 0x4F8C) /* <CJK> */
-MAP(0x31, 0x25, 0x4F8E) /* <CJK> */
-MAP(0x31, 0x26, 0x4F90) /* <CJK> */
-MAP(0x31, 0x27, 0x4F92) /* <CJK> */
-MAP(0x31, 0x28, 0x4F93) /* <CJK> */
-MAP(0x31, 0x29, 0x4F94) /* <CJK> */
-MAP(0x31, 0x2A, 0x4F97) /* <CJK> */
-MAP(0x31, 0x2B, 0x4F99) /* <CJK> */
-MAP(0x31, 0x2C, 0x4F9A) /* <CJK> */
-MAP(0x31, 0x2D, 0x4F9E) /* <CJK> */
-MAP(0x31, 0x2E, 0x4F9F) /* <CJK> */
-MAP(0x31, 0x2F, 0x4FB2) /* <CJK> */
-MAP(0x31, 0x30, 0x4FB7) /* <CJK> */
-MAP(0x31, 0x31, 0x4FB9) /* <CJK> */
-MAP(0x31, 0x32, 0x4FBB) /* <CJK> */
-MAP(0x31, 0x33, 0x4FBC) /* <CJK> */
-MAP(0x31, 0x34, 0x4FBD) /* <CJK> */
-MAP(0x31, 0x35, 0x4FBE) /* <CJK> */
-MAP(0x31, 0x36, 0x4FC0) /* <CJK> */
-MAP(0x31, 0x37, 0x4FC1) /* <CJK> */
-MAP(0x31, 0x38, 0x4FC5) /* <CJK> */
-MAP(0x31, 0x39, 0x4FC6) /* <CJK> */
-MAP(0x31, 0x3A, 0x4FC8) /* <CJK> */
-MAP(0x31, 0x3B, 0x4FC9) /* <CJK> */
-MAP(0x31, 0x3C, 0x4FCB) /* <CJK> */
-MAP(0x31, 0x3D, 0x4FCC) /* <CJK> */
-MAP(0x31, 0x3E, 0x4FCD) /* <CJK> */
-MAP(0x31, 0x3F, 0x4FCF) /* <CJK> */
-MAP(0x31, 0x40, 0x4FD2) /* <CJK> */
-MAP(0x31, 0x41, 0x4FDC) /* <CJK> */
-MAP(0x31, 0x42, 0x4FE0) /* <CJK> */
-MAP(0x31, 0x43, 0x4FE2) /* <CJK> */
-MAP(0x31, 0x44, 0x4FF0) /* <CJK> */
-MAP(0x31, 0x45, 0x4FF2) /* <CJK> */
-MAP(0x31, 0x46, 0x4FFC) /* <CJK> */
-MAP(0x31, 0x47, 0x4FFD) /* <CJK> */
-MAP(0x31, 0x48, 0x4FFF) /* <CJK> */
-MAP(0x31, 0x49, 0x5000) /* <CJK> */
-MAP(0x31, 0x4A, 0x5001) /* <CJK> */
-MAP(0x31, 0x4B, 0x5004) /* <CJK> */
-MAP(0x31, 0x4C, 0x5007) /* <CJK> */
-MAP(0x31, 0x4D, 0x500A) /* <CJK> */
-MAP(0x31, 0x4E, 0x500C) /* <CJK> */
-MAP(0x31, 0x4F, 0x500E) /* <CJK> */
-MAP(0x31, 0x50, 0x5010) /* <CJK> */
-MAP(0x31, 0x51, 0x5013) /* <CJK> */
-MAP(0x31, 0x52, 0x5017) /* <CJK> */
-MAP(0x31, 0x53, 0x5018) /* <CJK> */
-MAP(0x31, 0x54, 0x501B) /* <CJK> */
-MAP(0x31, 0x55, 0x501C) /* <CJK> */
-MAP(0x31, 0x56, 0x501D) /* <CJK> */
-MAP(0x31, 0x57, 0x501E) /* <CJK> */
-MAP(0x31, 0x58, 0x5022) /* <CJK> */
-MAP(0x31, 0x59, 0x5027) /* <CJK> */
-MAP(0x31, 0x5A, 0x502E) /* <CJK> */
-MAP(0x31, 0x5B, 0x5030) /* <CJK> */
-MAP(0x31, 0x5C, 0x5032) /* <CJK> */
-MAP(0x31, 0x5D, 0x5033) /* <CJK> */
-MAP(0x31, 0x5E, 0x5035) /* <CJK> */
-MAP(0x31, 0x5F, 0x5040) /* <CJK> */
-MAP(0x31, 0x60, 0x5041) /* <CJK> */
-MAP(0x31, 0x61, 0x5042) /* <CJK> */
-MAP(0x31, 0x62, 0x5045) /* <CJK> */
-MAP(0x31, 0x63, 0x5046) /* <CJK> */
-MAP(0x31, 0x64, 0x504A) /* <CJK> */
-MAP(0x31, 0x65, 0x504C) /* <CJK> */
-MAP(0x31, 0x66, 0x504E) /* <CJK> */
-MAP(0x31, 0x67, 0x5051) /* <CJK> */
-MAP(0x31, 0x68, 0x5052) /* <CJK> */
-MAP(0x31, 0x69, 0x5053) /* <CJK> */
-MAP(0x31, 0x6A, 0x5057) /* <CJK> */
-MAP(0x31, 0x6B, 0x5059) /* <CJK> */
-MAP(0x31, 0x6C, 0x505F) /* <CJK> */
-MAP(0x31, 0x6D, 0x5060) /* <CJK> */
-MAP(0x31, 0x6E, 0x5062) /* <CJK> */
-MAP(0x31, 0x6F, 0x5063) /* <CJK> */
-MAP(0x31, 0x70, 0x5066) /* <CJK> */
-MAP(0x31, 0x71, 0x5067) /* <CJK> */
-MAP(0x31, 0x72, 0x506A) /* <CJK> */
-MAP(0x31, 0x73, 0x506D) /* <CJK> */
-MAP(0x31, 0x74, 0x5070) /* <CJK> */
-MAP(0x31, 0x75, 0x5071) /* <CJK> */
-MAP(0x31, 0x76, 0x503B) /* <CJK> */
-MAP(0x31, 0x77, 0x5081) /* <CJK> */
-MAP(0x31, 0x78, 0x5083) /* <CJK> */
-MAP(0x31, 0x79, 0x5084) /* <CJK> */
-MAP(0x31, 0x7A, 0x5086) /* <CJK> */
-MAP(0x31, 0x7B, 0x508A) /* <CJK> */
-MAP(0x31, 0x7C, 0x508E) /* <CJK> */
-MAP(0x31, 0x7D, 0x508F) /* <CJK> */
-MAP(0x31, 0x7E, 0x5090) /* <CJK> */
-MAP(0x32, 0x21, 0x5092) /* <CJK> */
-MAP(0x32, 0x22, 0x5093) /* <CJK> */
-MAP(0x32, 0x23, 0x5094) /* <CJK> */
-MAP(0x32, 0x24, 0x5096) /* <CJK> */
-MAP(0x32, 0x25, 0x509B) /* <CJK> */
-MAP(0x32, 0x26, 0x509C) /* <CJK> */
-MAP(0x32, 0x27, 0x509E) /* <CJK> */
-MAP(0x32, 0x28, 0x509F) /* <CJK> */
-MAP(0x32, 0x29, 0x50A0) /* <CJK> */
-MAP(0x32, 0x2A, 0x50A1) /* <CJK> */
-MAP(0x32, 0x2B, 0x50A2) /* <CJK> */
-MAP(0x32, 0x2C, 0x50AA) /* <CJK> */
-MAP(0x32, 0x2D, 0x50AF) /* <CJK> */
-MAP(0x32, 0x2E, 0x50B0) /* <CJK> */
-MAP(0x32, 0x2F, 0x50B9) /* <CJK> */
-MAP(0x32, 0x30, 0x50BA) /* <CJK> */
-MAP(0x32, 0x31, 0x50BD) /* <CJK> */
-MAP(0x32, 0x32, 0x50C0) /* <CJK> */
-MAP(0x32, 0x33, 0x50C3) /* <CJK> */
-MAP(0x32, 0x34, 0x50C4) /* <CJK> */
-MAP(0x32, 0x35, 0x50C7) /* <CJK> */
-MAP(0x32, 0x36, 0x50CC) /* <CJK> */
-MAP(0x32, 0x37, 0x50CE) /* <CJK> */
-MAP(0x32, 0x38, 0x50D0) /* <CJK> */
-MAP(0x32, 0x39, 0x50D3) /* <CJK> */
-MAP(0x32, 0x3A, 0x50D4) /* <CJK> */
-MAP(0x32, 0x3B, 0x50D8) /* <CJK> */
-MAP(0x32, 0x3C, 0x50DC) /* <CJK> */
-MAP(0x32, 0x3D, 0x50DD) /* <CJK> */
-MAP(0x32, 0x3E, 0x50DF) /* <CJK> */
-MAP(0x32, 0x3F, 0x50E2) /* <CJK> */
-MAP(0x32, 0x40, 0x50E4) /* <CJK> */
-MAP(0x32, 0x41, 0x50E6) /* <CJK> */
-MAP(0x32, 0x42, 0x50E8) /* <CJK> */
-MAP(0x32, 0x43, 0x50E9) /* <CJK> */
-MAP(0x32, 0x44, 0x50EF) /* <CJK> */
-MAP(0x32, 0x45, 0x50F1) /* <CJK> */
-MAP(0x32, 0x46, 0x50F6) /* <CJK> */
-MAP(0x32, 0x47, 0x50FA) /* <CJK> */
-MAP(0x32, 0x48, 0x50FE) /* <CJK> */
-MAP(0x32, 0x49, 0x5103) /* <CJK> */
-MAP(0x32, 0x4A, 0x5106) /* <CJK> */
-MAP(0x32, 0x4B, 0x5107) /* <CJK> */
-MAP(0x32, 0x4C, 0x5108) /* <CJK> */
-MAP(0x32, 0x4D, 0x510B) /* <CJK> */
-MAP(0x32, 0x4E, 0x510C) /* <CJK> */
-MAP(0x32, 0x4F, 0x510D) /* <CJK> */
-MAP(0x32, 0x50, 0x510E) /* <CJK> */
-MAP(0x32, 0x51, 0x50F2) /* <CJK> */
-MAP(0x32, 0x52, 0x5110) /* <CJK> */
-MAP(0x32, 0x53, 0x5117) /* <CJK> */
-MAP(0x32, 0x54, 0x5119) /* <CJK> */
-MAP(0x32, 0x55, 0x511B) /* <CJK> */
-MAP(0x32, 0x56, 0x511C) /* <CJK> */
-MAP(0x32, 0x57, 0x511D) /* <CJK> */
-MAP(0x32, 0x58, 0x511E) /* <CJK> */
-MAP(0x32, 0x59, 0x5123) /* <CJK> */
-MAP(0x32, 0x5A, 0x5127) /* <CJK> */
-MAP(0x32, 0x5B, 0x5128) /* <CJK> */
-MAP(0x32, 0x5C, 0x512C) /* <CJK> */
-MAP(0x32, 0x5D, 0x512D) /* <CJK> */
-MAP(0x32, 0x5E, 0x512F) /* <CJK> */
-MAP(0x32, 0x5F, 0x5131) /* <CJK> */
-MAP(0x32, 0x60, 0x5133) /* <CJK> */
-MAP(0x32, 0x61, 0x5134) /* <CJK> */
-MAP(0x32, 0x62, 0x5135) /* <CJK> */
-MAP(0x32, 0x63, 0x5138) /* <CJK> */
-MAP(0x32, 0x64, 0x5139) /* <CJK> */
-MAP(0x32, 0x65, 0x5142) /* <CJK> */
-MAP(0x32, 0x66, 0x514A) /* <CJK> */
-MAP(0x32, 0x67, 0x514F) /* <CJK> */
-MAP(0x32, 0x68, 0x5153) /* <CJK> */
-MAP(0x32, 0x69, 0x5155) /* <CJK> */
-MAP(0x32, 0x6A, 0x5157) /* <CJK> */
-MAP(0x32, 0x6B, 0x5158) /* <CJK> */
-MAP(0x32, 0x6C, 0x515F) /* <CJK> */
-MAP(0x32, 0x6D, 0x5164) /* <CJK> */
-MAP(0x32, 0x6E, 0x5166) /* <CJK> */
-MAP(0x32, 0x6F, 0x517E) /* <CJK> */
-MAP(0x32, 0x70, 0x5183) /* <CJK> */
-MAP(0x32, 0x71, 0x5184) /* <CJK> */
-MAP(0x32, 0x72, 0x518B) /* <CJK> */
-MAP(0x32, 0x73, 0x518E) /* <CJK> */
-MAP(0x32, 0x74, 0x5198) /* <CJK> */
-MAP(0x32, 0x75, 0x519D) /* <CJK> */
-MAP(0x32, 0x76, 0x51A1) /* <CJK> */
-MAP(0x32, 0x77, 0x51A3) /* <CJK> */
-MAP(0x32, 0x78, 0x51AD) /* <CJK> */
-MAP(0x32, 0x79, 0x51B8) /* <CJK> */
-MAP(0x32, 0x7A, 0x51BA) /* <CJK> */
-MAP(0x32, 0x7B, 0x51BC) /* <CJK> */
-MAP(0x32, 0x7C, 0x51BE) /* <CJK> */
-MAP(0x32, 0x7D, 0x51BF) /* <CJK> */
-MAP(0x32, 0x7E, 0x51C2) /* <CJK> */
-MAP(0x33, 0x21, 0x51C8) /* <CJK> */
-MAP(0x33, 0x22, 0x51CF) /* <CJK> */
-MAP(0x33, 0x23, 0x51D1) /* <CJK> */
-MAP(0x33, 0x24, 0x51D2) /* <CJK> */
-MAP(0x33, 0x25, 0x51D3) /* <CJK> */
-MAP(0x33, 0x26, 0x51D5) /* <CJK> */
-MAP(0x33, 0x27, 0x51D8) /* <CJK> */
-MAP(0x33, 0x28, 0x51DE) /* <CJK> */
-MAP(0x33, 0x29, 0x51E2) /* <CJK> */
-MAP(0x33, 0x2A, 0x51E5) /* <CJK> */
-MAP(0x33, 0x2B, 0x51EE) /* <CJK> */
-MAP(0x33, 0x2C, 0x51F2) /* <CJK> */
-MAP(0x33, 0x2D, 0x51F3) /* <CJK> */
-MAP(0x33, 0x2E, 0x51F4) /* <CJK> */
-MAP(0x33, 0x2F, 0x51F7) /* <CJK> */
-MAP(0x33, 0x30, 0x5201) /* <CJK> */
-MAP(0x33, 0x31, 0x5202) /* <CJK> */
-MAP(0x33, 0x32, 0x5205) /* <CJK> */
-MAP(0x33, 0x33, 0x5212) /* <CJK> */
-MAP(0x33, 0x34, 0x5213) /* <CJK> */
-MAP(0x33, 0x35, 0x5215) /* <CJK> */
-MAP(0x33, 0x36, 0x5216) /* <CJK> */
-MAP(0x33, 0x37, 0x5218) /* <CJK> */
-MAP(0x33, 0x38, 0x5222) /* <CJK> */
-MAP(0x33, 0x39, 0x5228) /* <CJK> */
-MAP(0x33, 0x3A, 0x5231) /* <CJK> */
-MAP(0x33, 0x3B, 0x5232) /* <CJK> */
-MAP(0x33, 0x3C, 0x5235) /* <CJK> */
-MAP(0x33, 0x3D, 0x523C) /* <CJK> */
-MAP(0x33, 0x3E, 0x5245) /* <CJK> */
-MAP(0x33, 0x3F, 0x5249) /* <CJK> */
-MAP(0x33, 0x40, 0x5255) /* <CJK> */
-MAP(0x33, 0x41, 0x5257) /* <CJK> */
-MAP(0x33, 0x42, 0x5258) /* <CJK> */
-MAP(0x33, 0x43, 0x525A) /* <CJK> */
-MAP(0x33, 0x44, 0x525C) /* <CJK> */
-MAP(0x33, 0x45, 0x525F) /* <CJK> */
-MAP(0x33, 0x46, 0x5260) /* <CJK> */
-MAP(0x33, 0x47, 0x5261) /* <CJK> */
-MAP(0x33, 0x48, 0x5266) /* <CJK> */
-MAP(0x33, 0x49, 0x526E) /* <CJK> */
-MAP(0x33, 0x4A, 0x5277) /* <CJK> */
-MAP(0x33, 0x4B, 0x5278) /* <CJK> */
-MAP(0x33, 0x4C, 0x5279) /* <CJK> */
-MAP(0x33, 0x4D, 0x5280) /* <CJK> */
-MAP(0x33, 0x4E, 0x5282) /* <CJK> */
-MAP(0x33, 0x4F, 0x5285) /* <CJK> */
-MAP(0x33, 0x50, 0x528A) /* <CJK> */
-MAP(0x33, 0x51, 0x528C) /* <CJK> */
-MAP(0x33, 0x52, 0x5293) /* <CJK> */
-MAP(0x33, 0x53, 0x5295) /* <CJK> */
-MAP(0x33, 0x54, 0x5296) /* <CJK> */
-MAP(0x33, 0x55, 0x5297) /* <CJK> */
-MAP(0x33, 0x56, 0x5298) /* <CJK> */
-MAP(0x33, 0x57, 0x529A) /* <CJK> */
-MAP(0x33, 0x58, 0x529C) /* <CJK> */
-MAP(0x33, 0x59, 0x52A4) /* <CJK> */
-MAP(0x33, 0x5A, 0x52A5) /* <CJK> */
-MAP(0x33, 0x5B, 0x52A6) /* <CJK> */
-MAP(0x33, 0x5C, 0x52A7) /* <CJK> */
-MAP(0x33, 0x5D, 0x52AF) /* <CJK> */
-MAP(0x33, 0x5E, 0x52B0) /* <CJK> */
-MAP(0x33, 0x5F, 0x52B6) /* <CJK> */
-MAP(0x33, 0x60, 0x52B7) /* <CJK> */
-MAP(0x33, 0x61, 0x52B8) /* <CJK> */
-MAP(0x33, 0x62, 0x52BA) /* <CJK> */
-MAP(0x33, 0x63, 0x52BB) /* <CJK> */
-MAP(0x33, 0x64, 0x52BD) /* <CJK> */
-MAP(0x33, 0x65, 0x52C0) /* <CJK> */
-MAP(0x33, 0x66, 0x52C4) /* <CJK> */
-MAP(0x33, 0x67, 0x52C6) /* <CJK> */
-MAP(0x33, 0x68, 0x52C8) /* <CJK> */
-MAP(0x33, 0x69, 0x52CC) /* <CJK> */
-MAP(0x33, 0x6A, 0x52CF) /* <CJK> */
-MAP(0x33, 0x6B, 0x52D1) /* <CJK> */
-MAP(0x33, 0x6C, 0x52D4) /* <CJK> */
-MAP(0x33, 0x6D, 0x52D6) /* <CJK> */
-MAP(0x33, 0x6E, 0x52DB) /* <CJK> */
-MAP(0x33, 0x6F, 0x52DC) /* <CJK> */
-MAP(0x33, 0x70, 0x52E1) /* <CJK> */
-MAP(0x33, 0x71, 0x52E5) /* <CJK> */
-MAP(0x33, 0x72, 0x52E8) /* <CJK> */
-MAP(0x33, 0x73, 0x52E9) /* <CJK> */
-MAP(0x33, 0x74, 0x52EA) /* <CJK> */
-MAP(0x33, 0x75, 0x52EC) /* <CJK> */
-MAP(0x33, 0x76, 0x52F0) /* <CJK> */
-MAP(0x33, 0x77, 0x52F1) /* <CJK> */
-MAP(0x33, 0x78, 0x52F4) /* <CJK> */
-MAP(0x33, 0x79, 0x52F6) /* <CJK> */
-MAP(0x33, 0x7A, 0x52F7) /* <CJK> */
-MAP(0x33, 0x7B, 0x5300) /* <CJK> */
-MAP(0x33, 0x7C, 0x5303) /* <CJK> */
-MAP(0x33, 0x7D, 0x530A) /* <CJK> */
-MAP(0x33, 0x7E, 0x530B) /* <CJK> */
-MAP(0x34, 0x21, 0x530C) /* <CJK> */
-MAP(0x34, 0x22, 0x5311) /* <CJK> */
-MAP(0x34, 0x23, 0x5313) /* <CJK> */
-MAP(0x34, 0x24, 0x5318) /* <CJK> */
-MAP(0x34, 0x25, 0x531B) /* <CJK> */
-MAP(0x34, 0x26, 0x531C) /* <CJK> */
-MAP(0x34, 0x27, 0x531E) /* <CJK> */
-MAP(0x34, 0x28, 0x531F) /* <CJK> */
-MAP(0x34, 0x29, 0x5325) /* <CJK> */
-MAP(0x34, 0x2A, 0x5327) /* <CJK> */
-MAP(0x34, 0x2B, 0x5328) /* <CJK> */
-MAP(0x34, 0x2C, 0x5329) /* <CJK> */
-MAP(0x34, 0x2D, 0x532B) /* <CJK> */
-MAP(0x34, 0x2E, 0x532C) /* <CJK> */
-MAP(0x34, 0x2F, 0x532D) /* <CJK> */
-MAP(0x34, 0x30, 0x5330) /* <CJK> */
-MAP(0x34, 0x31, 0x5332) /* <CJK> */
-MAP(0x34, 0x32, 0x5335) /* <CJK> */
-MAP(0x34, 0x33, 0x533C) /* <CJK> */
-MAP(0x34, 0x34, 0x533D) /* <CJK> */
-MAP(0x34, 0x35, 0x533E) /* <CJK> */
-MAP(0x34, 0x36, 0x5342) /* <CJK> */
-MAP(0x34, 0x37, 0x534C) /* <CJK> */
-MAP(0x34, 0x38, 0x534B) /* <CJK> */
-MAP(0x34, 0x39, 0x5359) /* <CJK> */
-MAP(0x34, 0x3A, 0x535B) /* <CJK> */
-MAP(0x34, 0x3B, 0x5361) /* <CJK> */
-MAP(0x34, 0x3C, 0x5363) /* <CJK> */
-MAP(0x34, 0x3D, 0x5365) /* <CJK> */
-MAP(0x34, 0x3E, 0x536C) /* <CJK> */
-MAP(0x34, 0x3F, 0x536D) /* <CJK> */
-MAP(0x34, 0x40, 0x5372) /* <CJK> */
-MAP(0x34, 0x41, 0x5379) /* <CJK> */
-MAP(0x34, 0x42, 0x537E) /* <CJK> */
-MAP(0x34, 0x43, 0x5383) /* <CJK> */
-MAP(0x34, 0x44, 0x5387) /* <CJK> */
-MAP(0x34, 0x45, 0x5388) /* <CJK> */
-MAP(0x34, 0x46, 0x538E) /* <CJK> */
-MAP(0x34, 0x47, 0x5393) /* <CJK> */
-MAP(0x34, 0x48, 0x5394) /* <CJK> */
-MAP(0x34, 0x49, 0x5399) /* <CJK> */
-MAP(0x34, 0x4A, 0x539D) /* <CJK> */
-MAP(0x34, 0x4B, 0x53A1) /* <CJK> */
-MAP(0x34, 0x4C, 0x53A4) /* <CJK> */
-MAP(0x34, 0x4D, 0x53AA) /* <CJK> */
-MAP(0x34, 0x4E, 0x53AB) /* <CJK> */
-MAP(0x34, 0x4F, 0x53AF) /* <CJK> */
-MAP(0x34, 0x50, 0x53B2) /* <CJK> */
-MAP(0x34, 0x51, 0x53B4) /* <CJK> */
-MAP(0x34, 0x52, 0x53B5) /* <CJK> */
-MAP(0x34, 0x53, 0x53B7) /* <CJK> */
-MAP(0x34, 0x54, 0x53B8) /* <CJK> */
-MAP(0x34, 0x55, 0x53BA) /* <CJK> */
-MAP(0x34, 0x56, 0x53BD) /* <CJK> */
-MAP(0x34, 0x57, 0x53C0) /* <CJK> */
-MAP(0x34, 0x58, 0x53C5) /* <CJK> */
-MAP(0x34, 0x59, 0x53CF) /* <CJK> */
-MAP(0x34, 0x5A, 0x53D2) /* <CJK> */
-MAP(0x34, 0x5B, 0x53D3) /* <CJK> */
-MAP(0x34, 0x5C, 0x53D5) /* <CJK> */
-MAP(0x34, 0x5D, 0x53DA) /* <CJK> */
-MAP(0x34, 0x5E, 0x53DD) /* <CJK> */
-MAP(0x34, 0x5F, 0x53DE) /* <CJK> */
-MAP(0x34, 0x60, 0x53E0) /* <CJK> */
-MAP(0x34, 0x61, 0x53E6) /* <CJK> */
-MAP(0x34, 0x62, 0x53E7) /* <CJK> */
-MAP(0x34, 0x63, 0x53F5) /* <CJK> */
-MAP(0x34, 0x64, 0x5402) /* <CJK> */
-MAP(0x34, 0x65, 0x5413) /* <CJK> */
-MAP(0x34, 0x66, 0x541A) /* <CJK> */
-MAP(0x34, 0x67, 0x5421) /* <CJK> */
-MAP(0x34, 0x68, 0x5427) /* <CJK> */
-MAP(0x34, 0x69, 0x5428) /* <CJK> */
-MAP(0x34, 0x6A, 0x542A) /* <CJK> */
-MAP(0x34, 0x6B, 0x542F) /* <CJK> */
-MAP(0x34, 0x6C, 0x5431) /* <CJK> */
-MAP(0x34, 0x6D, 0x5434) /* <CJK> */
-MAP(0x34, 0x6E, 0x5435) /* <CJK> */
-MAP(0x34, 0x6F, 0x5443) /* <CJK> */
-MAP(0x34, 0x70, 0x5444) /* <CJK> */
-MAP(0x34, 0x71, 0x5447) /* <CJK> */
-MAP(0x34, 0x72, 0x544D) /* <CJK> */
-MAP(0x34, 0x73, 0x544F) /* <CJK> */
-MAP(0x34, 0x74, 0x545E) /* <CJK> */
-MAP(0x34, 0x75, 0x5462) /* <CJK> */
-MAP(0x34, 0x76, 0x5464) /* <CJK> */
-MAP(0x34, 0x77, 0x5466) /* <CJK> */
-MAP(0x34, 0x78, 0x5467) /* <CJK> */
-MAP(0x34, 0x79, 0x5469) /* <CJK> */
-MAP(0x34, 0x7A, 0x546B) /* <CJK> */
-MAP(0x34, 0x7B, 0x546D) /* <CJK> */
-MAP(0x34, 0x7C, 0x546E) /* <CJK> */
-MAP(0x34, 0x7D, 0x5474) /* <CJK> */
-MAP(0x34, 0x7E, 0x547F) /* <CJK> */
-MAP(0x35, 0x21, 0x5481) /* <CJK> */
-MAP(0x35, 0x22, 0x5483) /* <CJK> */
-MAP(0x35, 0x23, 0x5485) /* <CJK> */
-MAP(0x35, 0x24, 0x5488) /* <CJK> */
-MAP(0x35, 0x25, 0x5489) /* <CJK> */
-MAP(0x35, 0x26, 0x548D) /* <CJK> */
-MAP(0x35, 0x27, 0x5491) /* <CJK> */
-MAP(0x35, 0x28, 0x5495) /* <CJK> */
-MAP(0x35, 0x29, 0x5496) /* <CJK> */
-MAP(0x35, 0x2A, 0x549C) /* <CJK> */
-MAP(0x35, 0x2B, 0x549F) /* <CJK> */
-MAP(0x35, 0x2C, 0x54A1) /* <CJK> */
-MAP(0x35, 0x2D, 0x54A6) /* <CJK> */
-MAP(0x35, 0x2E, 0x54A7) /* <CJK> */
-MAP(0x35, 0x2F, 0x54A9) /* <CJK> */
-MAP(0x35, 0x30, 0x54AA) /* <CJK> */
-MAP(0x35, 0x31, 0x54AD) /* <CJK> */
-MAP(0x35, 0x32, 0x54AE) /* <CJK> */
-MAP(0x35, 0x33, 0x54B1) /* <CJK> */
-MAP(0x35, 0x34, 0x54B7) /* <CJK> */
-MAP(0x35, 0x35, 0x54B9) /* <CJK> */
-MAP(0x35, 0x36, 0x54BA) /* <CJK> */
-MAP(0x35, 0x37, 0x54BB) /* <CJK> */
-MAP(0x35, 0x38, 0x54BF) /* <CJK> */
-MAP(0x35, 0x39, 0x54C6) /* <CJK> */
-MAP(0x35, 0x3A, 0x54CA) /* <CJK> */
-MAP(0x35, 0x3B, 0x54CD) /* <CJK> */
-MAP(0x35, 0x3C, 0x54CE) /* <CJK> */
-MAP(0x35, 0x3D, 0x54E0) /* <CJK> */
-MAP(0x35, 0x3E, 0x54EA) /* <CJK> */
-MAP(0x35, 0x3F, 0x54EC) /* <CJK> */
-MAP(0x35, 0x40, 0x54EF) /* <CJK> */
-MAP(0x35, 0x41, 0x54F6) /* <CJK> */
-MAP(0x35, 0x42, 0x54FC) /* <CJK> */
-MAP(0x35, 0x43, 0x54FE) /* <CJK> */
-MAP(0x35, 0x44, 0x54FF) /* <CJK> */
-MAP(0x35, 0x45, 0x5500) /* <CJK> */
-MAP(0x35, 0x46, 0x5501) /* <CJK> */
-MAP(0x35, 0x47, 0x5505) /* <CJK> */
-MAP(0x35, 0x48, 0x5508) /* <CJK> */
-MAP(0x35, 0x49, 0x5509) /* <CJK> */
-MAP(0x35, 0x4A, 0x550C) /* <CJK> */
-MAP(0x35, 0x4B, 0x550D) /* <CJK> */
-MAP(0x35, 0x4C, 0x550E) /* <CJK> */
-MAP(0x35, 0x4D, 0x5515) /* <CJK> */
-MAP(0x35, 0x4E, 0x552A) /* <CJK> */
-MAP(0x35, 0x4F, 0x552B) /* <CJK> */
-MAP(0x35, 0x50, 0x5532) /* <CJK> */
-MAP(0x35, 0x51, 0x5535) /* <CJK> */
-MAP(0x35, 0x52, 0x5536) /* <CJK> */
-MAP(0x35, 0x53, 0x553B) /* <CJK> */
-MAP(0x35, 0x54, 0x553C) /* <CJK> */
-MAP(0x35, 0x55, 0x553D) /* <CJK> */
-MAP(0x35, 0x56, 0x5541) /* <CJK> */
-MAP(0x35, 0x57, 0x5547) /* <CJK> */
-MAP(0x35, 0x58, 0x5549) /* <CJK> */
-MAP(0x35, 0x59, 0x554A) /* <CJK> */
-MAP(0x35, 0x5A, 0x554D) /* <CJK> */
-MAP(0x35, 0x5B, 0x5550) /* <CJK> */
-MAP(0x35, 0x5C, 0x5551) /* <CJK> */
-MAP(0x35, 0x5D, 0x5558) /* <CJK> */
-MAP(0x35, 0x5E, 0x555A) /* <CJK> */
-MAP(0x35, 0x5F, 0x555B) /* <CJK> */
-MAP(0x35, 0x60, 0x555E) /* <CJK> */
-MAP(0x35, 0x61, 0x5560) /* <CJK> */
-MAP(0x35, 0x62, 0x5561) /* <CJK> */
-MAP(0x35, 0x63, 0x5564) /* <CJK> */
-MAP(0x35, 0x64, 0x5566) /* <CJK> */
-MAP(0x35, 0x65, 0x557F) /* <CJK> */
-MAP(0x35, 0x66, 0x5581) /* <CJK> */
-MAP(0x35, 0x67, 0x5582) /* <CJK> */
-MAP(0x35, 0x68, 0x5586) /* <CJK> */
-MAP(0x35, 0x69, 0x5588) /* <CJK> */
-MAP(0x35, 0x6A, 0x558E) /* <CJK> */
-MAP(0x35, 0x6B, 0x558F) /* <CJK> */
-MAP(0x35, 0x6C, 0x5591) /* <CJK> */
-MAP(0x35, 0x6D, 0x5592) /* <CJK> */
-MAP(0x35, 0x6E, 0x5593) /* <CJK> */
-MAP(0x35, 0x6F, 0x5594) /* <CJK> */
-MAP(0x35, 0x70, 0x5597) /* <CJK> */
-MAP(0x35, 0x71, 0x55A3) /* <CJK> */
-MAP(0x35, 0x72, 0x55A4) /* <CJK> */
-MAP(0x35, 0x73, 0x55AD) /* <CJK> */
-MAP(0x35, 0x74, 0x55B2) /* <CJK> */
-MAP(0x35, 0x75, 0x55BF) /* <CJK> */
-MAP(0x35, 0x76, 0x55C1) /* <CJK> */
-MAP(0x35, 0x77, 0x55C3) /* <CJK> */
-MAP(0x35, 0x78, 0x55C6) /* <CJK> */
-MAP(0x35, 0x79, 0x55C9) /* <CJK> */
-MAP(0x35, 0x7A, 0x55CB) /* <CJK> */
-MAP(0x35, 0x7B, 0x55CC) /* <CJK> */
-MAP(0x35, 0x7C, 0x55CE) /* <CJK> */
-MAP(0x35, 0x7D, 0x55D1) /* <CJK> */
-MAP(0x35, 0x7E, 0x55D2) /* <CJK> */
-MAP(0x36, 0x21, 0x55D3) /* <CJK> */
-MAP(0x36, 0x22, 0x55D7) /* <CJK> */
-MAP(0x36, 0x23, 0x55D8) /* <CJK> */
-MAP(0x36, 0x24, 0x55DB) /* <CJK> */
-MAP(0x36, 0x25, 0x55DE) /* <CJK> */
-MAP(0x36, 0x26, 0x55E2) /* <CJK> */
-MAP(0x36, 0x27, 0x55E9) /* <CJK> */
-MAP(0x36, 0x28, 0x55F6) /* <CJK> */
-MAP(0x36, 0x29, 0x55FF) /* <CJK> */
-MAP(0x36, 0x2A, 0x5605) /* <CJK> */
-MAP(0x36, 0x2B, 0x5608) /* <CJK> */
-MAP(0x36, 0x2C, 0x560A) /* <CJK> */
-MAP(0x36, 0x2D, 0x560D) /* <CJK> */
-MAP(0x36, 0x2E, 0x560E) /* <CJK> */
-MAP(0x36, 0x2F, 0x560F) /* <CJK> */
-MAP(0x36, 0x30, 0x5610) /* <CJK> */
-MAP(0x36, 0x31, 0x5611) /* <CJK> */
-MAP(0x36, 0x32, 0x5612) /* <CJK> */
-MAP(0x36, 0x33, 0x5619) /* <CJK> */
-MAP(0x36, 0x34, 0x562C) /* <CJK> */
-MAP(0x36, 0x35, 0x5630) /* <CJK> */
-MAP(0x36, 0x36, 0x5633) /* <CJK> */
-MAP(0x36, 0x37, 0x5635) /* <CJK> */
-MAP(0x36, 0x38, 0x5637) /* <CJK> */
-MAP(0x36, 0x39, 0x5639) /* <CJK> */
-MAP(0x36, 0x3A, 0x563B) /* <CJK> */
-MAP(0x36, 0x3B, 0x563C) /* <CJK> */
-MAP(0x36, 0x3C, 0x563D) /* <CJK> */
-MAP(0x36, 0x3D, 0x563F) /* <CJK> */
-MAP(0x36, 0x3E, 0x5640) /* <CJK> */
-MAP(0x36, 0x3F, 0x5641) /* <CJK> */
-MAP(0x36, 0x40, 0x5643) /* <CJK> */
-MAP(0x36, 0x41, 0x5644) /* <CJK> */
-MAP(0x36, 0x42, 0x5646) /* <CJK> */
-MAP(0x36, 0x43, 0x5649) /* <CJK> */
-MAP(0x36, 0x44, 0x564B) /* <CJK> */
-MAP(0x36, 0x45, 0x564D) /* <CJK> */
-MAP(0x36, 0x46, 0x564F) /* <CJK> */
-MAP(0x36, 0x47, 0x5654) /* <CJK> */
-MAP(0x36, 0x48, 0x565E) /* <CJK> */
-MAP(0x36, 0x49, 0x5660) /* <CJK> */
-MAP(0x36, 0x4A, 0x5661) /* <CJK> */
-MAP(0x36, 0x4B, 0x5662) /* <CJK> */
-MAP(0x36, 0x4C, 0x5663) /* <CJK> */
-MAP(0x36, 0x4D, 0x5666) /* <CJK> */
-MAP(0x36, 0x4E, 0x5669) /* <CJK> */
-MAP(0x36, 0x4F, 0x566D) /* <CJK> */
-MAP(0x36, 0x50, 0x566F) /* <CJK> */
-MAP(0x36, 0x51, 0x5671) /* <CJK> */
-MAP(0x36, 0x52, 0x5672) /* <CJK> */
-MAP(0x36, 0x53, 0x5675) /* <CJK> */
-MAP(0x36, 0x54, 0x5684) /* <CJK> */
-MAP(0x36, 0x55, 0x5685) /* <CJK> */
-MAP(0x36, 0x56, 0x5688) /* <CJK> */
-MAP(0x36, 0x57, 0x568B) /* <CJK> */
-MAP(0x36, 0x58, 0x568C) /* <CJK> */
-MAP(0x36, 0x59, 0x5695) /* <CJK> */
-MAP(0x36, 0x5A, 0x5699) /* <CJK> */
-MAP(0x36, 0x5B, 0x569A) /* <CJK> */
-MAP(0x36, 0x5C, 0x569D) /* <CJK> */
-MAP(0x36, 0x5D, 0x569E) /* <CJK> */
-MAP(0x36, 0x5E, 0x569F) /* <CJK> */
-MAP(0x36, 0x5F, 0x56A6) /* <CJK> */
-MAP(0x36, 0x60, 0x56A7) /* <CJK> */
-MAP(0x36, 0x61, 0x56A8) /* <CJK> */
-MAP(0x36, 0x62, 0x56A9) /* <CJK> */
-MAP(0x36, 0x63, 0x56AB) /* <CJK> */
-MAP(0x36, 0x64, 0x56AC) /* <CJK> */
-MAP(0x36, 0x65, 0x56AD) /* <CJK> */
-MAP(0x36, 0x66, 0x56B1) /* <CJK> */
-MAP(0x36, 0x67, 0x56B3) /* <CJK> */
-MAP(0x36, 0x68, 0x56B7) /* <CJK> */
-MAP(0x36, 0x69, 0x56BE) /* <CJK> */
-MAP(0x36, 0x6A, 0x56C5) /* <CJK> */
-MAP(0x36, 0x6B, 0x56C9) /* <CJK> */
-MAP(0x36, 0x6C, 0x56CA) /* <CJK> */
-MAP(0x36, 0x6D, 0x56CB) /* <CJK> */
-MAP(0x36, 0x6E, 0x56CF) /* <CJK> */
-MAP(0x36, 0x6F, 0x56D0) /* <CJK> */
-MAP(0x36, 0x70, 0x56CC) /* <CJK> */
-MAP(0x36, 0x71, 0x56CD) /* <CJK> */
-MAP(0x36, 0x72, 0x56D9) /* <CJK> */
-MAP(0x36, 0x73, 0x56DC) /* <CJK> */
-MAP(0x36, 0x74, 0x56DD) /* <CJK> */
-MAP(0x36, 0x75, 0x56DF) /* <CJK> */
-MAP(0x36, 0x76, 0x56E1) /* <CJK> */
-MAP(0x36, 0x77, 0x56E4) /* <CJK> */
-MAP(0x36, 0x78, 0x56E5) /* <CJK> */
-MAP(0x36, 0x79, 0x56E6) /* <CJK> */
-MAP(0x36, 0x7A, 0x56E7) /* <CJK> */
-MAP(0x36, 0x7B, 0x56E8) /* <CJK> */
-MAP(0x36, 0x7C, 0x56F1) /* <CJK> */
-MAP(0x36, 0x7D, 0x56EB) /* <CJK> */
-MAP(0x36, 0x7E, 0x56ED) /* <CJK> */
-MAP(0x37, 0x21, 0x56F6) /* <CJK> */
-MAP(0x37, 0x22, 0x56F7) /* <CJK> */
-MAP(0x37, 0x23, 0x5701) /* <CJK> */
-MAP(0x37, 0x24, 0x5702) /* <CJK> */
-MAP(0x37, 0x25, 0x5707) /* <CJK> */
-MAP(0x37, 0x26, 0x570A) /* <CJK> */
-MAP(0x37, 0x27, 0x570C) /* <CJK> */
-MAP(0x37, 0x28, 0x5711) /* <CJK> */
-MAP(0x37, 0x29, 0x5715) /* <CJK> */
-MAP(0x37, 0x2A, 0x571A) /* <CJK> */
-MAP(0x37, 0x2B, 0x571B) /* <CJK> */
-MAP(0x37, 0x2C, 0x571D) /* <CJK> */
-MAP(0x37, 0x2D, 0x5720) /* <CJK> */
-MAP(0x37, 0x2E, 0x5722) /* <CJK> */
-MAP(0x37, 0x2F, 0x5723) /* <CJK> */
-MAP(0x37, 0x30, 0x5724) /* <CJK> */
-MAP(0x37, 0x31, 0x5725) /* <CJK> */
-MAP(0x37, 0x32, 0x5729) /* <CJK> */
-MAP(0x37, 0x33, 0x572A) /* <CJK> */
-MAP(0x37, 0x34, 0x572C) /* <CJK> */
-MAP(0x37, 0x35, 0x572E) /* <CJK> */
-MAP(0x37, 0x36, 0x572F) /* <CJK> */
-MAP(0x37, 0x37, 0x5733) /* <CJK> */
-MAP(0x37, 0x38, 0x5734) /* <CJK> */
-MAP(0x37, 0x39, 0x573D) /* <CJK> */
-MAP(0x37, 0x3A, 0x573E) /* <CJK> */
-MAP(0x37, 0x3B, 0x573F) /* <CJK> */
-MAP(0x37, 0x3C, 0x5745) /* <CJK> */
-MAP(0x37, 0x3D, 0x5746) /* <CJK> */
-MAP(0x37, 0x3E, 0x574C) /* <CJK> */
-MAP(0x37, 0x3F, 0x574D) /* <CJK> */
-MAP(0x37, 0x40, 0x5752) /* <CJK> */
-MAP(0x37, 0x41, 0x5762) /* <CJK> */
-MAP(0x37, 0x42, 0x5765) /* <CJK> */
-MAP(0x37, 0x43, 0x5767) /* <CJK> */
-MAP(0x37, 0x44, 0x5768) /* <CJK> */
-MAP(0x37, 0x45, 0x576B) /* <CJK> */
-MAP(0x37, 0x46, 0x576D) /* <CJK> */
-MAP(0x37, 0x47, 0x576E) /* <CJK> */
-MAP(0x37, 0x48, 0x576F) /* <CJK> */
-MAP(0x37, 0x49, 0x5770) /* <CJK> */
-MAP(0x37, 0x4A, 0x5771) /* <CJK> */
-MAP(0x37, 0x4B, 0x5773) /* <CJK> */
-MAP(0x37, 0x4C, 0x5774) /* <CJK> */
-MAP(0x37, 0x4D, 0x5775) /* <CJK> */
-MAP(0x37, 0x4E, 0x5777) /* <CJK> */
-MAP(0x37, 0x4F, 0x5779) /* <CJK> */
-MAP(0x37, 0x50, 0x577A) /* <CJK> */
-MAP(0x37, 0x51, 0x577B) /* <CJK> */
-MAP(0x37, 0x52, 0x577C) /* <CJK> */
-MAP(0x37, 0x53, 0x577E) /* <CJK> */
-MAP(0x37, 0x54, 0x5781) /* <CJK> */
-MAP(0x37, 0x55, 0x5783) /* <CJK> */
-MAP(0x37, 0x56, 0x578C) /* <CJK> */
-MAP(0x37, 0x57, 0x5794) /* <CJK> */
-MAP(0x37, 0x58, 0x5797) /* <CJK> */
-MAP(0x37, 0x59, 0x5799) /* <CJK> */
-MAP(0x37, 0x5A, 0x579A) /* <CJK> */
-MAP(0x37, 0x5B, 0x579C) /* <CJK> */
-MAP(0x37, 0x5C, 0x579D) /* <CJK> */
-MAP(0x37, 0x5D, 0x579E) /* <CJK> */
-MAP(0x37, 0x5E, 0x579F) /* <CJK> */
-MAP(0x37, 0x5F, 0x57A1) /* <CJK> */
-MAP(0x37, 0x60, 0x5795) /* <CJK> */
-MAP(0x37, 0x61, 0x57A7) /* <CJK> */
-MAP(0x37, 0x62, 0x57A8) /* <CJK> */
-MAP(0x37, 0x63, 0x57A9) /* <CJK> */
-MAP(0x37, 0x64, 0x57AC) /* <CJK> */
-MAP(0x37, 0x65, 0x57B8) /* <CJK> */
-MAP(0x37, 0x66, 0x57BD) /* <CJK> */
-MAP(0x37, 0x67, 0x57C7) /* <CJK> */
-MAP(0x37, 0x68, 0x57C8) /* <CJK> */
-MAP(0x37, 0x69, 0x57CC) /* <CJK> */
-MAP(0x37, 0x6A, 0x57CF) /* <CJK> */
-MAP(0x37, 0x6B, 0x57D5) /* <CJK> */
-MAP(0x37, 0x6C, 0x57DD) /* <CJK> */
-MAP(0x37, 0x6D, 0x57DE) /* <CJK> */
-MAP(0x37, 0x6E, 0x57E4) /* <CJK> */
-MAP(0x37, 0x6F, 0x57E6) /* <CJK> */
-MAP(0x37, 0x70, 0x57E7) /* <CJK> */
-MAP(0x37, 0x71, 0x57E9) /* <CJK> */
-MAP(0x37, 0x72, 0x57ED) /* <CJK> */
-MAP(0x37, 0x73, 0x57F0) /* <CJK> */
-MAP(0x37, 0x74, 0x57F5) /* <CJK> */
-MAP(0x37, 0x75, 0x57F6) /* <CJK> */
-MAP(0x37, 0x76, 0x57F8) /* <CJK> */
-MAP(0x37, 0x77, 0x57FD) /* <CJK> */
-MAP(0x37, 0x78, 0x57FE) /* <CJK> */
-MAP(0x37, 0x79, 0x57FF) /* <CJK> */
-MAP(0x37, 0x7A, 0x5803) /* <CJK> */
-MAP(0x37, 0x7B, 0x5804) /* <CJK> */
-MAP(0x37, 0x7C, 0x5808) /* <CJK> */
-MAP(0x37, 0x7D, 0x5809) /* <CJK> */
-MAP(0x37, 0x7E, 0x57E1) /* <CJK> */
-MAP(0x38, 0x21, 0x580C) /* <CJK> */
-MAP(0x38, 0x22, 0x580D) /* <CJK> */
-MAP(0x38, 0x23, 0x581B) /* <CJK> */
-MAP(0x38, 0x24, 0x581E) /* <CJK> */
-MAP(0x38, 0x25, 0x581F) /* <CJK> */
-MAP(0x38, 0x26, 0x5820) /* <CJK> */
-MAP(0x38, 0x27, 0x5826) /* <CJK> */
-MAP(0x38, 0x28, 0x5827) /* <CJK> */
-MAP(0x38, 0x29, 0x582D) /* <CJK> */
-MAP(0x38, 0x2A, 0x5832) /* <CJK> */
-MAP(0x38, 0x2B, 0x5839) /* <CJK> */
-MAP(0x38, 0x2C, 0x583F) /* <CJK> */
-MAP(0x38, 0x2D, 0x5849) /* <CJK> */
-MAP(0x38, 0x2E, 0x584C) /* <CJK> */
-MAP(0x38, 0x2F, 0x584D) /* <CJK> */
-MAP(0x38, 0x30, 0x584F) /* <CJK> */
-MAP(0x38, 0x31, 0x5850) /* <CJK> */
-MAP(0x38, 0x32, 0x5855) /* <CJK> */
-MAP(0x38, 0x33, 0x585F) /* <CJK> */
-MAP(0x38, 0x34, 0x5861) /* <CJK> */
-MAP(0x38, 0x35, 0x5864) /* <CJK> */
-MAP(0x38, 0x36, 0x5867) /* <CJK> */
-MAP(0x38, 0x37, 0x5868) /* <CJK> */
-MAP(0x38, 0x38, 0x5878) /* <CJK> */
-MAP(0x38, 0x39, 0x587C) /* <CJK> */
-MAP(0x38, 0x3A, 0x587F) /* <CJK> */
-MAP(0x38, 0x3B, 0x5880) /* <CJK> */
-MAP(0x38, 0x3C, 0x5881) /* <CJK> */
-MAP(0x38, 0x3D, 0x5887) /* <CJK> */
-MAP(0x38, 0x3E, 0x5888) /* <CJK> */
-MAP(0x38, 0x3F, 0x5889) /* <CJK> */
-MAP(0x38, 0x40, 0x588A) /* <CJK> */
-MAP(0x38, 0x41, 0x588C) /* <CJK> */
-MAP(0x38, 0x42, 0x588D) /* <CJK> */
-MAP(0x38, 0x43, 0x588F) /* <CJK> */
-MAP(0x38, 0x44, 0x5890) /* <CJK> */
-MAP(0x38, 0x45, 0x5894) /* <CJK> */
-MAP(0x38, 0x46, 0x5896) /* <CJK> */
-MAP(0x38, 0x47, 0x589D) /* <CJK> */
-MAP(0x38, 0x48, 0x58A0) /* <CJK> */
-MAP(0x38, 0x49, 0x58A1) /* <CJK> */
-MAP(0x38, 0x4A, 0x58A2) /* <CJK> */
-MAP(0x38, 0x4B, 0x58A6) /* <CJK> */
-MAP(0x38, 0x4C, 0x58A9) /* <CJK> */
-MAP(0x38, 0x4D, 0x58B1) /* <CJK> */
-MAP(0x38, 0x4E, 0x58B2) /* <CJK> */
-MAP(0x38, 0x4F, 0x58C4) /* <CJK> */
-MAP(0x38, 0x50, 0x58BC) /* <CJK> */
-MAP(0x38, 0x51, 0x58C2) /* <CJK> */
-MAP(0x38, 0x52, 0x58C8) /* <CJK> */
-MAP(0x38, 0x53, 0x58CD) /* <CJK> */
-MAP(0x38, 0x54, 0x58CE) /* <CJK> */
-MAP(0x38, 0x55, 0x58D0) /* <CJK> */
-MAP(0x38, 0x56, 0x58D2) /* <CJK> */
-MAP(0x38, 0x57, 0x58D4) /* <CJK> */
-MAP(0x38, 0x58, 0x58D6) /* <CJK> */
-MAP(0x38, 0x59, 0x58DA) /* <CJK> */
-MAP(0x38, 0x5A, 0x58DD) /* <CJK> */
-MAP(0x38, 0x5B, 0x58E1) /* <CJK> */
-MAP(0x38, 0x5C, 0x58E2) /* <CJK> */
-MAP(0x38, 0x5D, 0x58E9) /* <CJK> */
-MAP(0x38, 0x5E, 0x58F3) /* <CJK> */
-MAP(0x38, 0x5F, 0x5905) /* <CJK> */
-MAP(0x38, 0x60, 0x5906) /* <CJK> */
-MAP(0x38, 0x61, 0x590B) /* <CJK> */
-MAP(0x38, 0x62, 0x590C) /* <CJK> */
-MAP(0x38, 0x63, 0x5912) /* <CJK> */
-MAP(0x38, 0x64, 0x5913) /* <CJK> */
-MAP(0x38, 0x65, 0x5914) /* <CJK> */
-MAP(0x38, 0x66, 0x8641) /* <CJK> */
-MAP(0x38, 0x67, 0x591D) /* <CJK> */
-MAP(0x38, 0x68, 0x5921) /* <CJK> */
-MAP(0x38, 0x69, 0x5923) /* <CJK> */
-MAP(0x38, 0x6A, 0x5924) /* <CJK> */
-MAP(0x38, 0x6B, 0x5928) /* <CJK> */
-MAP(0x38, 0x6C, 0x592F) /* <CJK> */
-MAP(0x38, 0x6D, 0x5930) /* <CJK> */
-MAP(0x38, 0x6E, 0x5933) /* <CJK> */
-MAP(0x38, 0x6F, 0x5935) /* <CJK> */
-MAP(0x38, 0x70, 0x5936) /* <CJK> */
-MAP(0x38, 0x71, 0x593F) /* <CJK> */
-MAP(0x38, 0x72, 0x5943) /* <CJK> */
-MAP(0x38, 0x73, 0x5946) /* <CJK> */
-MAP(0x38, 0x74, 0x5952) /* <CJK> */
-MAP(0x38, 0x75, 0x5953) /* <CJK> */
-MAP(0x38, 0x76, 0x5959) /* <CJK> */
-MAP(0x38, 0x77, 0x595B) /* <CJK> */
-MAP(0x38, 0x78, 0x595D) /* <CJK> */
-MAP(0x38, 0x79, 0x595E) /* <CJK> */
-MAP(0x38, 0x7A, 0x595F) /* <CJK> */
-MAP(0x38, 0x7B, 0x5961) /* <CJK> */
-MAP(0x38, 0x7C, 0x5963) /* <CJK> */
-MAP(0x38, 0x7D, 0x596B) /* <CJK> */
-MAP(0x38, 0x7E, 0x596D) /* <CJK> */
-MAP(0x39, 0x21, 0x596F) /* <CJK> */
-MAP(0x39, 0x22, 0x5972) /* <CJK> */
-MAP(0x39, 0x23, 0x5975) /* <CJK> */
-MAP(0x39, 0x24, 0x5976) /* <CJK> */
-MAP(0x39, 0x25, 0x5979) /* <CJK> */
-MAP(0x39, 0x26, 0x597B) /* <CJK> */
-MAP(0x39, 0x27, 0x597C) /* <CJK> */
-MAP(0x39, 0x28, 0x598B) /* <CJK> */
-MAP(0x39, 0x29, 0x598C) /* <CJK> */
-MAP(0x39, 0x2A, 0x598E) /* <CJK> */
-MAP(0x39, 0x2B, 0x5992) /* <CJK> */
-MAP(0x39, 0x2C, 0x5995) /* <CJK> */
-MAP(0x39, 0x2D, 0x5997) /* <CJK> */
-MAP(0x39, 0x2E, 0x599F) /* <CJK> */
-MAP(0x39, 0x2F, 0x59A4) /* <CJK> */
-MAP(0x39, 0x30, 0x59A7) /* <CJK> */
-MAP(0x39, 0x31, 0x59AD) /* <CJK> */
-MAP(0x39, 0x32, 0x59AE) /* <CJK> */
-MAP(0x39, 0x33, 0x59AF) /* <CJK> */
-MAP(0x39, 0x34, 0x59B0) /* <CJK> */
-MAP(0x39, 0x35, 0x59B3) /* <CJK> */
-MAP(0x39, 0x36, 0x59B7) /* <CJK> */
-MAP(0x39, 0x37, 0x59BA) /* <CJK> */
-MAP(0x39, 0x38, 0x59BC) /* <CJK> */
-MAP(0x39, 0x39, 0x59C1) /* <CJK> */
-MAP(0x39, 0x3A, 0x59C3) /* <CJK> */
-MAP(0x39, 0x3B, 0x59C4) /* <CJK> */
-MAP(0x39, 0x3C, 0x59C8) /* <CJK> */
-MAP(0x39, 0x3D, 0x59CA) /* <CJK> */
-MAP(0x39, 0x3E, 0x59CD) /* <CJK> */
-MAP(0x39, 0x3F, 0x59D2) /* <CJK> */
-MAP(0x39, 0x40, 0x59DD) /* <CJK> */
-MAP(0x39, 0x41, 0x59DE) /* <CJK> */
-MAP(0x39, 0x42, 0x59DF) /* <CJK> */
-MAP(0x39, 0x43, 0x59E3) /* <CJK> */
-MAP(0x39, 0x44, 0x59E4) /* <CJK> */
-MAP(0x39, 0x45, 0x59E7) /* <CJK> */
-MAP(0x39, 0x46, 0x59EE) /* <CJK> */
-MAP(0x39, 0x47, 0x59EF) /* <CJK> */
-MAP(0x39, 0x48, 0x59F1) /* <CJK> */
-MAP(0x39, 0x49, 0x59F2) /* <CJK> */
-MAP(0x39, 0x4A, 0x59F4) /* <CJK> */
-MAP(0x39, 0x4B, 0x59F7) /* <CJK> */
-MAP(0x39, 0x4C, 0x5A00) /* <CJK> */
-MAP(0x39, 0x4D, 0x5A04) /* <CJK> */
-MAP(0x39, 0x4E, 0x5A0C) /* <CJK> */
-MAP(0x39, 0x4F, 0x5A0D) /* <CJK> */
-MAP(0x39, 0x50, 0x5A0E) /* <CJK> */
-MAP(0x39, 0x51, 0x5A12) /* <CJK> */
-MAP(0x39, 0x52, 0x5A13) /* <CJK> */
-MAP(0x39, 0x53, 0x5A1E) /* <CJK> */
-MAP(0x39, 0x54, 0x5A23) /* <CJK> */
-MAP(0x39, 0x55, 0x5A24) /* <CJK> */
-MAP(0x39, 0x56, 0x5A27) /* <CJK> */
-MAP(0x39, 0x57, 0x5A28) /* <CJK> */
-MAP(0x39, 0x58, 0x5A2A) /* <CJK> */
-MAP(0x39, 0x59, 0x5A2D) /* <CJK> */
-MAP(0x39, 0x5A, 0x5A30) /* <CJK> */
-MAP(0x39, 0x5B, 0x5A44) /* <CJK> */
-MAP(0x39, 0x5C, 0x5A45) /* <CJK> */
-MAP(0x39, 0x5D, 0x5A47) /* <CJK> */
-MAP(0x39, 0x5E, 0x5A48) /* <CJK> */
-MAP(0x39, 0x5F, 0x5A4C) /* <CJK> */
-MAP(0x39, 0x60, 0x5A50) /* <CJK> */
-MAP(0x39, 0x61, 0x5A55) /* <CJK> */
-MAP(0x39, 0x62, 0x5A5E) /* <CJK> */
-MAP(0x39, 0x63, 0x5A63) /* <CJK> */
-MAP(0x39, 0x64, 0x5A65) /* <CJK> */
-MAP(0x39, 0x65, 0x5A67) /* <CJK> */
-MAP(0x39, 0x66, 0x5A6D) /* <CJK> */
-MAP(0x39, 0x67, 0x5A77) /* <CJK> */
-MAP(0x39, 0x68, 0x5A7A) /* <CJK> */
-MAP(0x39, 0x69, 0x5A7B) /* <CJK> */
-MAP(0x39, 0x6A, 0x5A7E) /* <CJK> */
-MAP(0x39, 0x6B, 0x5A8B) /* <CJK> */
-MAP(0x39, 0x6C, 0x5A90) /* <CJK> */
-MAP(0x39, 0x6D, 0x5A93) /* <CJK> */
-MAP(0x39, 0x6E, 0x5A96) /* <CJK> */
-MAP(0x39, 0x6F, 0x5A99) /* <CJK> */
-MAP(0x39, 0x70, 0x5A9C) /* <CJK> */
-MAP(0x39, 0x71, 0x5A9E) /* <CJK> */
-MAP(0x39, 0x72, 0x5A9F) /* <CJK> */
-MAP(0x39, 0x73, 0x5AA0) /* <CJK> */
-MAP(0x39, 0x74, 0x5AA2) /* <CJK> */
-MAP(0x39, 0x75, 0x5AA7) /* <CJK> */
-MAP(0x39, 0x76, 0x5AAC) /* <CJK> */
-MAP(0x39, 0x77, 0x5AB1) /* <CJK> */
-MAP(0x39, 0x78, 0x5AB2) /* <CJK> */
-MAP(0x39, 0x79, 0x5AB3) /* <CJK> */
-MAP(0x39, 0x7A, 0x5AB5) /* <CJK> */
-MAP(0x39, 0x7B, 0x5AB8) /* <CJK> */
-MAP(0x39, 0x7C, 0x5ABA) /* <CJK> */
-MAP(0x39, 0x7D, 0x5ABB) /* <CJK> */
-MAP(0x39, 0x7E, 0x5ABF) /* <CJK> */
-MAP(0x3A, 0x21, 0x5AC4) /* <CJK> */
-MAP(0x3A, 0x22, 0x5AC6) /* <CJK> */
-MAP(0x3A, 0x23, 0x5AC8) /* <CJK> */
-MAP(0x3A, 0x24, 0x5ACF) /* <CJK> */
-MAP(0x3A, 0x25, 0x5ADA) /* <CJK> */
-MAP(0x3A, 0x26, 0x5ADC) /* <CJK> */
-MAP(0x3A, 0x27, 0x5AE0) /* <CJK> */
-MAP(0x3A, 0x28, 0x5AE5) /* <CJK> */
-MAP(0x3A, 0x29, 0x5AEA) /* <CJK> */
-MAP(0x3A, 0x2A, 0x5AEE) /* <CJK> */
-MAP(0x3A, 0x2B, 0x5AF5) /* <CJK> */
-MAP(0x3A, 0x2C, 0x5AF6) /* <CJK> */
-MAP(0x3A, 0x2D, 0x5AFD) /* <CJK> */
-MAP(0x3A, 0x2E, 0x5B00) /* <CJK> */
-MAP(0x3A, 0x2F, 0x5B01) /* <CJK> */
-MAP(0x3A, 0x30, 0x5B08) /* <CJK> */
-MAP(0x3A, 0x31, 0x5B17) /* <CJK> */
-MAP(0x3A, 0x32, 0x5B34) /* <CJK> */
-MAP(0x3A, 0x33, 0x5B19) /* <CJK> */
-MAP(0x3A, 0x34, 0x5B1B) /* <CJK> */
-MAP(0x3A, 0x35, 0x5B1D) /* <CJK> */
-MAP(0x3A, 0x36, 0x5B21) /* <CJK> */
-MAP(0x3A, 0x37, 0x5B25) /* <CJK> */
-MAP(0x3A, 0x38, 0x5B2D) /* <CJK> */
-MAP(0x3A, 0x39, 0x5B38) /* <CJK> */
-MAP(0x3A, 0x3A, 0x5B41) /* <CJK> */
-MAP(0x3A, 0x3B, 0x5B4B) /* <CJK> */
-MAP(0x3A, 0x3C, 0x5B4C) /* <CJK> */
-MAP(0x3A, 0x3D, 0x5B52) /* <CJK> */
-MAP(0x3A, 0x3E, 0x5B56) /* <CJK> */
-MAP(0x3A, 0x3F, 0x5B5E) /* <CJK> */
-MAP(0x3A, 0x40, 0x5B68) /* <CJK> */
-MAP(0x3A, 0x41, 0x5B6E) /* <CJK> */
-MAP(0x3A, 0x42, 0x5B6F) /* <CJK> */
-MAP(0x3A, 0x43, 0x5B7C) /* <CJK> */
-MAP(0x3A, 0x44, 0x5B7D) /* <CJK> */
-MAP(0x3A, 0x45, 0x5B7E) /* <CJK> */
-MAP(0x3A, 0x46, 0x5B7F) /* <CJK> */
-MAP(0x3A, 0x47, 0x5B81) /* <CJK> */
-MAP(0x3A, 0x48, 0x5B84) /* <CJK> */
-MAP(0x3A, 0x49, 0x5B86) /* <CJK> */
-MAP(0x3A, 0x4A, 0x5B8A) /* <CJK> */
-MAP(0x3A, 0x4B, 0x5B8E) /* <CJK> */
-MAP(0x3A, 0x4C, 0x5B90) /* <CJK> */
-MAP(0x3A, 0x4D, 0x5B91) /* <CJK> */
-MAP(0x3A, 0x4E, 0x5B93) /* <CJK> */
-MAP(0x3A, 0x4F, 0x5B94) /* <CJK> */
-MAP(0x3A, 0x50, 0x5B96) /* <CJK> */
-MAP(0x3A, 0x51, 0x5BA8) /* <CJK> */
-MAP(0x3A, 0x52, 0x5BA9) /* <CJK> */
-MAP(0x3A, 0x53, 0x5BAC) /* <CJK> */
-MAP(0x3A, 0x54, 0x5BAD) /* <CJK> */
-MAP(0x3A, 0x55, 0x5BAF) /* <CJK> */
-MAP(0x3A, 0x56, 0x5BB1) /* <CJK> */
-MAP(0x3A, 0x57, 0x5BB2) /* <CJK> */
-MAP(0x3A, 0x58, 0x5BB7) /* <CJK> */
-MAP(0x3A, 0x59, 0x5BBA) /* <CJK> */
-MAP(0x3A, 0x5A, 0x5BBC) /* <CJK> */
-MAP(0x3A, 0x5B, 0x5BC0) /* <CJK> */
-MAP(0x3A, 0x5C, 0x5BC1) /* <CJK> */
-MAP(0x3A, 0x5D, 0x5BCD) /* <CJK> */
-MAP(0x3A, 0x5E, 0x5BCF) /* <CJK> */
-MAP(0x3A, 0x5F, 0x5BD6) /* <CJK> */
-MAP(0x3A, 0x60, 0x5BD7) /* <CJK> */
-MAP(0x3A, 0x61, 0x5BD8) /* <CJK> */
-MAP(0x3A, 0x62, 0x5BD9) /* <CJK> */
-MAP(0x3A, 0x63, 0x5BDA) /* <CJK> */
-MAP(0x3A, 0x64, 0x5BE0) /* <CJK> */
-MAP(0x3A, 0x65, 0x5BEF) /* <CJK> */
-MAP(0x3A, 0x66, 0x5BF1) /* <CJK> */
-MAP(0x3A, 0x67, 0x5BF4) /* <CJK> */
-MAP(0x3A, 0x68, 0x5BFD) /* <CJK> */
-MAP(0x3A, 0x69, 0x5C0C) /* <CJK> */
-MAP(0x3A, 0x6A, 0x5C17) /* <CJK> */
-MAP(0x3A, 0x6B, 0x5C1E) /* <CJK> */
-MAP(0x3A, 0x6C, 0x5C1F) /* <CJK> */
-MAP(0x3A, 0x6D, 0x5C23) /* <CJK> */
-MAP(0x3A, 0x6E, 0x5C26) /* <CJK> */
-MAP(0x3A, 0x6F, 0x5C29) /* <CJK> */
-MAP(0x3A, 0x70, 0x5C2B) /* <CJK> */
-MAP(0x3A, 0x71, 0x5C2C) /* <CJK> */
-MAP(0x3A, 0x72, 0x5C2E) /* <CJK> */
-MAP(0x3A, 0x73, 0x5C30) /* <CJK> */
-MAP(0x3A, 0x74, 0x5C32) /* <CJK> */
-MAP(0x3A, 0x75, 0x5C35) /* <CJK> */
-MAP(0x3A, 0x76, 0x5C36) /* <CJK> */
-MAP(0x3A, 0x77, 0x5C59) /* <CJK> */
-MAP(0x3A, 0x78, 0x5C5A) /* <CJK> */
-MAP(0x3A, 0x79, 0x5C5C) /* <CJK> */
-MAP(0x3A, 0x7A, 0x5C62) /* <CJK> */
-MAP(0x3A, 0x7B, 0x5C63) /* <CJK> */
-MAP(0x3A, 0x7C, 0x5C67) /* <CJK> */
-MAP(0x3A, 0x7D, 0x5C68) /* <CJK> */
-MAP(0x3A, 0x7E, 0x5C69) /* <CJK> */
-MAP(0x3B, 0x21, 0x5C6D) /* <CJK> */
-MAP(0x3B, 0x22, 0x5C70) /* <CJK> */
-MAP(0x3B, 0x23, 0x5C74) /* <CJK> */
-MAP(0x3B, 0x24, 0x5C75) /* <CJK> */
-MAP(0x3B, 0x25, 0x5C7A) /* <CJK> */
-MAP(0x3B, 0x26, 0x5C7B) /* <CJK> */
-MAP(0x3B, 0x27, 0x5C7C) /* <CJK> */
-MAP(0x3B, 0x28, 0x5C7D) /* <CJK> */
-MAP(0x3B, 0x29, 0x5C87) /* <CJK> */
-MAP(0x3B, 0x2A, 0x5C88) /* <CJK> */
-MAP(0x3B, 0x2B, 0x5C8A) /* <CJK> */
-MAP(0x3B, 0x2C, 0x5C8F) /* <CJK> */
-MAP(0x3B, 0x2D, 0x5C92) /* <CJK> */
-MAP(0x3B, 0x2E, 0x5C9D) /* <CJK> */
-MAP(0x3B, 0x2F, 0x5C9F) /* <CJK> */
-MAP(0x3B, 0x30, 0x5CA0) /* <CJK> */
-MAP(0x3B, 0x31, 0x5CA2) /* <CJK> */
-MAP(0x3B, 0x32, 0x5CA3) /* <CJK> */
-MAP(0x3B, 0x33, 0x5CA6) /* <CJK> */
-MAP(0x3B, 0x34, 0x5CAA) /* <CJK> */
-MAP(0x3B, 0x35, 0x5CB2) /* <CJK> */
-MAP(0x3B, 0x36, 0x5CB4) /* <CJK> */
-MAP(0x3B, 0x37, 0x5CB5) /* <CJK> */
-MAP(0x3B, 0x38, 0x5CBA) /* <CJK> */
-MAP(0x3B, 0x39, 0x5CC9) /* <CJK> */
-MAP(0x3B, 0x3A, 0x5CCB) /* <CJK> */
-MAP(0x3B, 0x3B, 0x5CD2) /* <CJK> */
-MAP(0x3B, 0x3C, 0x5CDD) /* <CJK> */
-MAP(0x3B, 0x3D, 0x5CD7) /* <CJK> */
-MAP(0x3B, 0x3E, 0x5CEE) /* <CJK> */
-MAP(0x3B, 0x3F, 0x5CF1) /* <CJK> */
-MAP(0x3B, 0x40, 0x5CF2) /* <CJK> */
-MAP(0x3B, 0x41, 0x5CF4) /* <CJK> */
-MAP(0x3B, 0x42, 0x5D01) /* <CJK> */
-MAP(0x3B, 0x43, 0x5D06) /* <CJK> */
-MAP(0x3B, 0x44, 0x5D0D) /* <CJK> */
-MAP(0x3B, 0x45, 0x5D12) /* <CJK> */
-MAP(0x3B, 0x46, 0x5D2B) /* <CJK> */
-MAP(0x3B, 0x47, 0x5D23) /* <CJK> */
-MAP(0x3B, 0x48, 0x5D24) /* <CJK> */
-MAP(0x3B, 0x49, 0x5D26) /* <CJK> */
-MAP(0x3B, 0x4A, 0x5D27) /* <CJK> */
-MAP(0x3B, 0x4B, 0x5D31) /* <CJK> */
-MAP(0x3B, 0x4C, 0x5D34) /* <CJK> */
-MAP(0x3B, 0x4D, 0x5D39) /* <CJK> */
-MAP(0x3B, 0x4E, 0x5D3D) /* <CJK> */
-MAP(0x3B, 0x4F, 0x5D3F) /* <CJK> */
-MAP(0x3B, 0x50, 0x5D42) /* <CJK> */
-MAP(0x3B, 0x51, 0x5D43) /* <CJK> */
-MAP(0x3B, 0x52, 0x5D46) /* <CJK> */
-MAP(0x3B, 0x53, 0x5D48) /* <CJK> */
-MAP(0x3B, 0x54, 0x5D55) /* <CJK> */
-MAP(0x3B, 0x55, 0x5D51) /* <CJK> */
-MAP(0x3B, 0x56, 0x5D59) /* <CJK> */
-MAP(0x3B, 0x57, 0x5D4A) /* <CJK> */
-MAP(0x3B, 0x58, 0x5D5F) /* <CJK> */
-MAP(0x3B, 0x59, 0x5D60) /* <CJK> */
-MAP(0x3B, 0x5A, 0x5D61) /* <CJK> */
-MAP(0x3B, 0x5B, 0x5D62) /* <CJK> */
-MAP(0x3B, 0x5C, 0x5D64) /* <CJK> */
-MAP(0x3B, 0x5D, 0x5D6A) /* <CJK> */
-MAP(0x3B, 0x5E, 0x5D6D) /* <CJK> */
-MAP(0x3B, 0x5F, 0x5D70) /* <CJK> */
-MAP(0x3B, 0x60, 0x5D79) /* <CJK> */
-MAP(0x3B, 0x61, 0x5D7A) /* <CJK> */
-MAP(0x3B, 0x62, 0x5D7E) /* <CJK> */
-MAP(0x3B, 0x63, 0x5D7F) /* <CJK> */
-MAP(0x3B, 0x64, 0x5D81) /* <CJK> */
-MAP(0x3B, 0x65, 0x5D83) /* <CJK> */
-MAP(0x3B, 0x66, 0x5D88) /* <CJK> */
-MAP(0x3B, 0x67, 0x5D8A) /* <CJK> */
-MAP(0x3B, 0x68, 0x5D92) /* <CJK> */
-MAP(0x3B, 0x69, 0x5D93) /* <CJK> */
-MAP(0x3B, 0x6A, 0x5D94) /* <CJK> */
-MAP(0x3B, 0x6B, 0x5D95) /* <CJK> */
-MAP(0x3B, 0x6C, 0x5D99) /* <CJK> */
-MAP(0x3B, 0x6D, 0x5D9B) /* <CJK> */
-MAP(0x3B, 0x6E, 0x5D9F) /* <CJK> */
-MAP(0x3B, 0x6F, 0x5DA0) /* <CJK> */
-MAP(0x3B, 0x70, 0x5DA7) /* <CJK> */
-MAP(0x3B, 0x71, 0x5DAB) /* <CJK> */
-MAP(0x3B, 0x72, 0x5DB0) /* <CJK> */
-MAP(0x3B, 0x73, 0x5DB4) /* <CJK> */
-MAP(0x3B, 0x74, 0x5DB8) /* <CJK> */
-MAP(0x3B, 0x75, 0x5DB9) /* <CJK> */
-MAP(0x3B, 0x76, 0x5DC3) /* <CJK> */
-MAP(0x3B, 0x77, 0x5DC7) /* <CJK> */
-MAP(0x3B, 0x78, 0x5DCB) /* <CJK> */
-MAP(0x3B, 0x79, 0x5DD0) /* <CJK> */
-MAP(0x3B, 0x7A, 0x5DCE) /* <CJK> */
-MAP(0x3B, 0x7B, 0x5DD8) /* <CJK> */
-MAP(0x3B, 0x7C, 0x5DD9) /* <CJK> */
-MAP(0x3B, 0x7D, 0x5DE0) /* <CJK> */
-MAP(0x3B, 0x7E, 0x5DE4) /* <CJK> */
-MAP(0x3C, 0x21, 0x5DE9) /* <CJK> */
-MAP(0x3C, 0x22, 0x5DF8) /* <CJK> */
-MAP(0x3C, 0x23, 0x5DF9) /* <CJK> */
-MAP(0x3C, 0x24, 0x5E00) /* <CJK> */
-MAP(0x3C, 0x25, 0x5E07) /* <CJK> */
-MAP(0x3C, 0x26, 0x5E0D) /* <CJK> */
-MAP(0x3C, 0x27, 0x5E12) /* <CJK> */
-MAP(0x3C, 0x28, 0x5E14) /* <CJK> */
-MAP(0x3C, 0x29, 0x5E15) /* <CJK> */
-MAP(0x3C, 0x2A, 0x5E18) /* <CJK> */
-MAP(0x3C, 0x2B, 0x5E1F) /* <CJK> */
-MAP(0x3C, 0x2C, 0x5E20) /* <CJK> */
-MAP(0x3C, 0x2D, 0x5E2E) /* <CJK> */
-MAP(0x3C, 0x2E, 0x5E28) /* <CJK> */
-MAP(0x3C, 0x2F, 0x5E32) /* <CJK> */
-MAP(0x3C, 0x30, 0x5E35) /* <CJK> */
-MAP(0x3C, 0x31, 0x5E3E) /* <CJK> */
-MAP(0x3C, 0x32, 0x5E4B) /* <CJK> */
-MAP(0x3C, 0x33, 0x5E50) /* <CJK> */
-MAP(0x3C, 0x34, 0x5E49) /* <CJK> */
-MAP(0x3C, 0x35, 0x5E51) /* <CJK> */
-MAP(0x3C, 0x36, 0x5E56) /* <CJK> */
-MAP(0x3C, 0x37, 0x5E58) /* <CJK> */
-MAP(0x3C, 0x38, 0x5E5B) /* <CJK> */
-MAP(0x3C, 0x39, 0x5E5C) /* <CJK> */
-MAP(0x3C, 0x3A, 0x5E5E) /* <CJK> */
-MAP(0x3C, 0x3B, 0x5E68) /* <CJK> */
-MAP(0x3C, 0x3C, 0x5E6A) /* <CJK> */
-MAP(0x3C, 0x3D, 0x5E6B) /* <CJK> */
-MAP(0x3C, 0x3E, 0x5E6C) /* <CJK> */
-MAP(0x3C, 0x3F, 0x5E6D) /* <CJK> */
-MAP(0x3C, 0x40, 0x5E6E) /* <CJK> */
-MAP(0x3C, 0x41, 0x5E70) /* <CJK> */
-MAP(0x3C, 0x42, 0x5E80) /* <CJK> */
-MAP(0x3C, 0x43, 0x5E8B) /* <CJK> */
-MAP(0x3C, 0x44, 0x5E8E) /* <CJK> */
-MAP(0x3C, 0x45, 0x5EA2) /* <CJK> */
-MAP(0x3C, 0x46, 0x5EA4) /* <CJK> */
-MAP(0x3C, 0x47, 0x5EA5) /* <CJK> */
-MAP(0x3C, 0x48, 0x5EA8) /* <CJK> */
-MAP(0x3C, 0x49, 0x5EAA) /* <CJK> */
-MAP(0x3C, 0x4A, 0x5EAC) /* <CJK> */
-MAP(0x3C, 0x4B, 0x5EB1) /* <CJK> */
-MAP(0x3C, 0x4C, 0x5EB3) /* <CJK> */
-MAP(0x3C, 0x4D, 0x5EBD) /* <CJK> */
-MAP(0x3C, 0x4E, 0x5EBE) /* <CJK> */
-MAP(0x3C, 0x4F, 0x5EBF) /* <CJK> */
-MAP(0x3C, 0x50, 0x5EC6) /* <CJK> */
-MAP(0x3C, 0x51, 0x5ECC) /* <CJK> */
-MAP(0x3C, 0x52, 0x5ECB) /* <CJK> */
-MAP(0x3C, 0x53, 0x5ECE) /* <CJK> */
-MAP(0x3C, 0x54, 0x5ED1) /* <CJK> */
-MAP(0x3C, 0x55, 0x5ED2) /* <CJK> */
-MAP(0x3C, 0x56, 0x5ED4) /* <CJK> */
-MAP(0x3C, 0x57, 0x5ED5) /* <CJK> */
-MAP(0x3C, 0x58, 0x5EDC) /* <CJK> */
-MAP(0x3C, 0x59, 0x5EDE) /* <CJK> */
-MAP(0x3C, 0x5A, 0x5EE5) /* <CJK> */
-MAP(0x3C, 0x5B, 0x5EEB) /* <CJK> */
-MAP(0x3C, 0x5C, 0x5F02) /* <CJK> */
-MAP(0x3C, 0x5D, 0x5F06) /* <CJK> */
-MAP(0x3C, 0x5E, 0x5F07) /* <CJK> */
-MAP(0x3C, 0x5F, 0x5F08) /* <CJK> */
-MAP(0x3C, 0x60, 0x5F0E) /* <CJK> */
-MAP(0x3C, 0x61, 0x5F19) /* <CJK> */
-MAP(0x3C, 0x62, 0x5F1C) /* <CJK> */
-MAP(0x3C, 0x63, 0x5F1D) /* <CJK> */
-MAP(0x3C, 0x64, 0x5F21) /* <CJK> */
-MAP(0x3C, 0x65, 0x5F22) /* <CJK> */
-MAP(0x3C, 0x66, 0x5F23) /* <CJK> */
-MAP(0x3C, 0x67, 0x5F24) /* <CJK> */
-MAP(0x3C, 0x68, 0x5F28) /* <CJK> */
-MAP(0x3C, 0x69, 0x5F2B) /* <CJK> */
-MAP(0x3C, 0x6A, 0x5F2C) /* <CJK> */
-MAP(0x3C, 0x6B, 0x5F2E) /* <CJK> */
-MAP(0x3C, 0x6C, 0x5F30) /* <CJK> */
-MAP(0x3C, 0x6D, 0x5F34) /* <CJK> */
-MAP(0x3C, 0x6E, 0x5F36) /* <CJK> */
-MAP(0x3C, 0x6F, 0x5F3B) /* <CJK> */
-MAP(0x3C, 0x70, 0x5F3D) /* <CJK> */
-MAP(0x3C, 0x71, 0x5F3F) /* <CJK> */
-MAP(0x3C, 0x72, 0x5F40) /* <CJK> */
-MAP(0x3C, 0x73, 0x5F44) /* <CJK> */
-MAP(0x3C, 0x74, 0x5F45) /* <CJK> */
-MAP(0x3C, 0x75, 0x5F47) /* <CJK> */
-MAP(0x3C, 0x76, 0x5F4D) /* <CJK> */
-MAP(0x3C, 0x77, 0x5F50) /* <CJK> */
-MAP(0x3C, 0x78, 0x5F54) /* <CJK> */
-MAP(0x3C, 0x79, 0x5F58) /* <CJK> */
-MAP(0x3C, 0x7A, 0x5F5B) /* <CJK> */
-MAP(0x3C, 0x7B, 0x5F60) /* <CJK> */
-MAP(0x3C, 0x7C, 0x5F63) /* <CJK> */
-MAP(0x3C, 0x7D, 0x5F64) /* <CJK> */
-MAP(0x3C, 0x7E, 0x5F67) /* <CJK> */
-MAP(0x3D, 0x21, 0x5F6F) /* <CJK> */
-MAP(0x3D, 0x22, 0x5F72) /* <CJK> */
-MAP(0x3D, 0x23, 0x5F74) /* <CJK> */
-MAP(0x3D, 0x24, 0x5F75) /* <CJK> */
-MAP(0x3D, 0x25, 0x5F78) /* <CJK> */
-MAP(0x3D, 0x26, 0x5F7A) /* <CJK> */
-MAP(0x3D, 0x27, 0x5F7D) /* <CJK> */
-MAP(0x3D, 0x28, 0x5F7E) /* <CJK> */
-MAP(0x3D, 0x29, 0x5F89) /* <CJK> */
-MAP(0x3D, 0x2A, 0x5F8D) /* <CJK> */
-MAP(0x3D, 0x2B, 0x5F8F) /* <CJK> */
-MAP(0x3D, 0x2C, 0x5F96) /* <CJK> */
-MAP(0x3D, 0x2D, 0x5F9C) /* <CJK> */
-MAP(0x3D, 0x2E, 0x5F9D) /* <CJK> */
-MAP(0x3D, 0x2F, 0x5FA2) /* <CJK> */
-MAP(0x3D, 0x30, 0x5FA7) /* <CJK> */
-MAP(0x3D, 0x31, 0x5FAB) /* <CJK> */
-MAP(0x3D, 0x32, 0x5FA4) /* <CJK> */
-MAP(0x3D, 0x33, 0x5FAC) /* <CJK> */
-MAP(0x3D, 0x34, 0x5FAF) /* <CJK> */
-MAP(0x3D, 0x35, 0x5FB0) /* <CJK> */
-MAP(0x3D, 0x36, 0x5FB1) /* <CJK> */
-MAP(0x3D, 0x37, 0x5FB8) /* <CJK> */
-MAP(0x3D, 0x38, 0x5FC4) /* <CJK> */
-MAP(0x3D, 0x39, 0x5FC7) /* <CJK> */
-MAP(0x3D, 0x3A, 0x5FC8) /* <CJK> */
-MAP(0x3D, 0x3B, 0x5FC9) /* <CJK> */
-MAP(0x3D, 0x3C, 0x5FCB) /* <CJK> */
-MAP(0x3D, 0x3D, 0x5FD0) /* <CJK> */
-MAP(0x3D, 0x3E, 0x5FD1) /* <CJK> */
-MAP(0x3D, 0x3F, 0x5FD2) /* <CJK> */
-MAP(0x3D, 0x40, 0x5FD3) /* <CJK> */
-MAP(0x3D, 0x41, 0x5FD4) /* <CJK> */
-MAP(0x3D, 0x42, 0x5FDE) /* <CJK> */
-MAP(0x3D, 0x43, 0x5FE1) /* <CJK> */
-MAP(0x3D, 0x44, 0x5FE2) /* <CJK> */
-MAP(0x3D, 0x45, 0x5FE8) /* <CJK> */
-MAP(0x3D, 0x46, 0x5FE9) /* <CJK> */
-MAP(0x3D, 0x47, 0x5FEA) /* <CJK> */
-MAP(0x3D, 0x48, 0x5FEC) /* <CJK> */
-MAP(0x3D, 0x49, 0x5FED) /* <CJK> */
-MAP(0x3D, 0x4A, 0x5FEE) /* <CJK> */
-MAP(0x3D, 0x4B, 0x5FEF) /* <CJK> */
-MAP(0x3D, 0x4C, 0x5FF2) /* <CJK> */
-MAP(0x3D, 0x4D, 0x5FF3) /* <CJK> */
-MAP(0x3D, 0x4E, 0x5FF6) /* <CJK> */
-MAP(0x3D, 0x4F, 0x5FFA) /* <CJK> */
-MAP(0x3D, 0x50, 0x5FFC) /* <CJK> */
-MAP(0x3D, 0x51, 0x6007) /* <CJK> */
-MAP(0x3D, 0x52, 0x600A) /* <CJK> */
-MAP(0x3D, 0x53, 0x600D) /* <CJK> */
-MAP(0x3D, 0x54, 0x6013) /* <CJK> */
-MAP(0x3D, 0x55, 0x6014) /* <CJK> */
-MAP(0x3D, 0x56, 0x6017) /* <CJK> */
-MAP(0x3D, 0x57, 0x6018) /* <CJK> */
-MAP(0x3D, 0x58, 0x601A) /* <CJK> */
-MAP(0x3D, 0x59, 0x601F) /* <CJK> */
-MAP(0x3D, 0x5A, 0x6024) /* <CJK> */
-MAP(0x3D, 0x5B, 0x602D) /* <CJK> */
-MAP(0x3D, 0x5C, 0x6033) /* <CJK> */
-MAP(0x3D, 0x5D, 0x6035) /* <CJK> */
-MAP(0x3D, 0x5E, 0x6040) /* <CJK> */
-MAP(0x3D, 0x5F, 0x6047) /* <CJK> */
-MAP(0x3D, 0x60, 0x6048) /* <CJK> */
-MAP(0x3D, 0x61, 0x6049) /* <CJK> */
-MAP(0x3D, 0x62, 0x604C) /* <CJK> */
-MAP(0x3D, 0x63, 0x6051) /* <CJK> */
-MAP(0x3D, 0x64, 0x6054) /* <CJK> */
-MAP(0x3D, 0x65, 0x6056) /* <CJK> */
-MAP(0x3D, 0x66, 0x6057) /* <CJK> */
-MAP(0x3D, 0x67, 0x605D) /* <CJK> */
-MAP(0x3D, 0x68, 0x6061) /* <CJK> */
-MAP(0x3D, 0x69, 0x6067) /* <CJK> */
-MAP(0x3D, 0x6A, 0x6071) /* <CJK> */
-MAP(0x3D, 0x6B, 0x607E) /* <CJK> */
-MAP(0x3D, 0x6C, 0x607F) /* <CJK> */
-MAP(0x3D, 0x6D, 0x6082) /* <CJK> */
-MAP(0x3D, 0x6E, 0x6086) /* <CJK> */
-MAP(0x3D, 0x6F, 0x6088) /* <CJK> */
-MAP(0x3D, 0x70, 0x608A) /* <CJK> */
-MAP(0x3D, 0x71, 0x608E) /* <CJK> */
-MAP(0x3D, 0x72, 0x6091) /* <CJK> */
-MAP(0x3D, 0x73, 0x6093) /* <CJK> */
-MAP(0x3D, 0x74, 0x6095) /* <CJK> */
-MAP(0x3D, 0x75, 0x6098) /* <CJK> */
-MAP(0x3D, 0x76, 0x609D) /* <CJK> */
-MAP(0x3D, 0x77, 0x609E) /* <CJK> */
-MAP(0x3D, 0x78, 0x60A2) /* <CJK> */
-MAP(0x3D, 0x79, 0x60A4) /* <CJK> */
-MAP(0x3D, 0x7A, 0x60A5) /* <CJK> */
-MAP(0x3D, 0x7B, 0x60A8) /* <CJK> */
-MAP(0x3D, 0x7C, 0x60B0) /* <CJK> */
-MAP(0x3D, 0x7D, 0x60B1) /* <CJK> */
-MAP(0x3D, 0x7E, 0x60B7) /* <CJK> */
-MAP(0x3E, 0x21, 0x60BB) /* <CJK> */
-MAP(0x3E, 0x22, 0x60BE) /* <CJK> */
-MAP(0x3E, 0x23, 0x60C2) /* <CJK> */
-MAP(0x3E, 0x24, 0x60C4) /* <CJK> */
-MAP(0x3E, 0x25, 0x60C8) /* <CJK> */
-MAP(0x3E, 0x26, 0x60C9) /* <CJK> */
-MAP(0x3E, 0x27, 0x60CA) /* <CJK> */
-MAP(0x3E, 0x28, 0x60CB) /* <CJK> */
-MAP(0x3E, 0x29, 0x60CE) /* <CJK> */
-MAP(0x3E, 0x2A, 0x60CF) /* <CJK> */
-MAP(0x3E, 0x2B, 0x60D4) /* <CJK> */
-MAP(0x3E, 0x2C, 0x60D5) /* <CJK> */
-MAP(0x3E, 0x2D, 0x60D9) /* <CJK> */
-MAP(0x3E, 0x2E, 0x60DB) /* <CJK> */
-MAP(0x3E, 0x2F, 0x60DD) /* <CJK> */
-MAP(0x3E, 0x30, 0x60DE) /* <CJK> */
-MAP(0x3E, 0x31, 0x60E2) /* <CJK> */
-MAP(0x3E, 0x32, 0x60E5) /* <CJK> */
-MAP(0x3E, 0x33, 0x60F2) /* <CJK> */
-MAP(0x3E, 0x34, 0x60F5) /* <CJK> */
-MAP(0x3E, 0x35, 0x60F8) /* <CJK> */
-MAP(0x3E, 0x36, 0x60FC) /* <CJK> */
-MAP(0x3E, 0x37, 0x60FD) /* <CJK> */
-MAP(0x3E, 0x38, 0x6102) /* <CJK> */
-MAP(0x3E, 0x39, 0x6107) /* <CJK> */
-MAP(0x3E, 0x3A, 0x610A) /* <CJK> */
-MAP(0x3E, 0x3B, 0x610C) /* <CJK> */
-MAP(0x3E, 0x3C, 0x6110) /* <CJK> */
-MAP(0x3E, 0x3D, 0x6111) /* <CJK> */
-MAP(0x3E, 0x3E, 0x6112) /* <CJK> */
-MAP(0x3E, 0x3F, 0x6113) /* <CJK> */
-MAP(0x3E, 0x40, 0x6114) /* <CJK> */
-MAP(0x3E, 0x41, 0x6116) /* <CJK> */
-MAP(0x3E, 0x42, 0x6117) /* <CJK> */
-MAP(0x3E, 0x43, 0x6119) /* <CJK> */
-MAP(0x3E, 0x44, 0x611C) /* <CJK> */
-MAP(0x3E, 0x45, 0x611E) /* <CJK> */
-MAP(0x3E, 0x46, 0x6122) /* <CJK> */
-MAP(0x3E, 0x47, 0x612A) /* <CJK> */
-MAP(0x3E, 0x48, 0x612B) /* <CJK> */
-MAP(0x3E, 0x49, 0x6130) /* <CJK> */
-MAP(0x3E, 0x4A, 0x6131) /* <CJK> */
-MAP(0x3E, 0x4B, 0x6135) /* <CJK> */
-MAP(0x3E, 0x4C, 0x6136) /* <CJK> */
-MAP(0x3E, 0x4D, 0x6137) /* <CJK> */
-MAP(0x3E, 0x4E, 0x6139) /* <CJK> */
-MAP(0x3E, 0x4F, 0x6141) /* <CJK> */
-MAP(0x3E, 0x50, 0x6145) /* <CJK> */
-MAP(0x3E, 0x51, 0x6146) /* <CJK> */
-MAP(0x3E, 0x52, 0x6149) /* <CJK> */
-MAP(0x3E, 0x53, 0x615E) /* <CJK> */
-MAP(0x3E, 0x54, 0x6160) /* <CJK> */
-MAP(0x3E, 0x55, 0x616C) /* <CJK> */
-MAP(0x3E, 0x56, 0x6172) /* <CJK> */
-MAP(0x3E, 0x57, 0x6178) /* <CJK> */
-MAP(0x3E, 0x58, 0x617B) /* <CJK> */
-MAP(0x3E, 0x59, 0x617C) /* <CJK> */
-MAP(0x3E, 0x5A, 0x617F) /* <CJK> */
-MAP(0x3E, 0x5B, 0x6180) /* <CJK> */
-MAP(0x3E, 0x5C, 0x6181) /* <CJK> */
-MAP(0x3E, 0x5D, 0x6183) /* <CJK> */
-MAP(0x3E, 0x5E, 0x6184) /* <CJK> */
-MAP(0x3E, 0x5F, 0x618B) /* <CJK> */
-MAP(0x3E, 0x60, 0x618D) /* <CJK> */
-MAP(0x3E, 0x61, 0x6192) /* <CJK> */
-MAP(0x3E, 0x62, 0x6193) /* <CJK> */
-MAP(0x3E, 0x63, 0x6197) /* <CJK> */
-MAP(0x3E, 0x64, 0x6198) /* <CJK> */
-MAP(0x3E, 0x65, 0x619C) /* <CJK> */
-MAP(0x3E, 0x66, 0x619D) /* <CJK> */
-MAP(0x3E, 0x67, 0x619F) /* <CJK> */
-MAP(0x3E, 0x68, 0x61A0) /* <CJK> */
-MAP(0x3E, 0x69, 0x61A5) /* <CJK> */
-MAP(0x3E, 0x6A, 0x61A8) /* <CJK> */
-MAP(0x3E, 0x6B, 0x61AA) /* <CJK> */
-MAP(0x3E, 0x6C, 0x61AD) /* <CJK> */
-MAP(0x3E, 0x6D, 0x61B8) /* <CJK> */
-MAP(0x3E, 0x6E, 0x61B9) /* <CJK> */
-MAP(0x3E, 0x6F, 0x61BC) /* <CJK> */
-MAP(0x3E, 0x70, 0x61C0) /* <CJK> */
-MAP(0x3E, 0x71, 0x61C1) /* <CJK> */
-MAP(0x3E, 0x72, 0x61C2) /* <CJK> */
-MAP(0x3E, 0x73, 0x61CE) /* <CJK> */
-MAP(0x3E, 0x74, 0x61CF) /* <CJK> */
-MAP(0x3E, 0x75, 0x61D5) /* <CJK> */
-MAP(0x3E, 0x76, 0x61DC) /* <CJK> */
-MAP(0x3E, 0x77, 0x61DD) /* <CJK> */
-MAP(0x3E, 0x78, 0x61DE) /* <CJK> */
-MAP(0x3E, 0x79, 0x61DF) /* <CJK> */
-MAP(0x3E, 0x7A, 0x61E1) /* <CJK> */
-MAP(0x3E, 0x7B, 0x61E2) /* <CJK> */
-MAP(0x3E, 0x7C, 0x61E7) /* <CJK> */
-MAP(0x3E, 0x7D, 0x61E9) /* <CJK> */
-MAP(0x3E, 0x7E, 0x61E5) /* <CJK> */
-MAP(0x3F, 0x21, 0x61EC) /* <CJK> */
-MAP(0x3F, 0x22, 0x61ED) /* <CJK> */
-MAP(0x3F, 0x23, 0x61EF) /* <CJK> */
-MAP(0x3F, 0x24, 0x6201) /* <CJK> */
-MAP(0x3F, 0x25, 0x6203) /* <CJK> */
-MAP(0x3F, 0x26, 0x6204) /* <CJK> */
-MAP(0x3F, 0x27, 0x6207) /* <CJK> */
-MAP(0x3F, 0x28, 0x6213) /* <CJK> */
-MAP(0x3F, 0x29, 0x6215) /* <CJK> */
-MAP(0x3F, 0x2A, 0x621C) /* <CJK> */
-MAP(0x3F, 0x2B, 0x6220) /* <CJK> */
-MAP(0x3F, 0x2C, 0x6222) /* <CJK> */
-MAP(0x3F, 0x2D, 0x6223) /* <CJK> */
-MAP(0x3F, 0x2E, 0x6227) /* <CJK> */
-MAP(0x3F, 0x2F, 0x6229) /* <CJK> */
-MAP(0x3F, 0x30, 0x622B) /* <CJK> */
-MAP(0x3F, 0x31, 0x6239) /* <CJK> */
-MAP(0x3F, 0x32, 0x623D) /* <CJK> */
-MAP(0x3F, 0x33, 0x6242) /* <CJK> */
-MAP(0x3F, 0x34, 0x6243) /* <CJK> */
-MAP(0x3F, 0x35, 0x6244) /* <CJK> */
-MAP(0x3F, 0x36, 0x6246) /* <CJK> */
-MAP(0x3F, 0x37, 0x624C) /* <CJK> */
-MAP(0x3F, 0x38, 0x6250) /* <CJK> */
-MAP(0x3F, 0x39, 0x6251) /* <CJK> */
-MAP(0x3F, 0x3A, 0x6252) /* <CJK> */
-MAP(0x3F, 0x3B, 0x6254) /* <CJK> */
-MAP(0x3F, 0x3C, 0x6256) /* <CJK> */
-MAP(0x3F, 0x3D, 0x625A) /* <CJK> */
-MAP(0x3F, 0x3E, 0x625C) /* <CJK> */
-MAP(0x3F, 0x3F, 0x6264) /* <CJK> */
-MAP(0x3F, 0x40, 0x626D) /* <CJK> */
-MAP(0x3F, 0x41, 0x626F) /* <CJK> */
-MAP(0x3F, 0x42, 0x6273) /* <CJK> */
-MAP(0x3F, 0x43, 0x627A) /* <CJK> */
-MAP(0x3F, 0x44, 0x627D) /* <CJK> */
-MAP(0x3F, 0x45, 0x628D) /* <CJK> */
-MAP(0x3F, 0x46, 0x628E) /* <CJK> */
-MAP(0x3F, 0x47, 0x628F) /* <CJK> */
-MAP(0x3F, 0x48, 0x6290) /* <CJK> */
-MAP(0x3F, 0x49, 0x62A6) /* <CJK> */
-MAP(0x3F, 0x4A, 0x62A8) /* <CJK> */
-MAP(0x3F, 0x4B, 0x62B3) /* <CJK> */
-MAP(0x3F, 0x4C, 0x62B6) /* <CJK> */
-MAP(0x3F, 0x4D, 0x62B7) /* <CJK> */
-MAP(0x3F, 0x4E, 0x62BA) /* <CJK> */
-MAP(0x3F, 0x4F, 0x62BE) /* <CJK> */
-MAP(0x3F, 0x50, 0x62BF) /* <CJK> */
-MAP(0x3F, 0x51, 0x62C4) /* <CJK> */
-MAP(0x3F, 0x52, 0x62CE) /* <CJK> */
-MAP(0x3F, 0x53, 0x62D5) /* <CJK> */
-MAP(0x3F, 0x54, 0x62D6) /* <CJK> */
-MAP(0x3F, 0x55, 0x62DA) /* <CJK> */
-MAP(0x3F, 0x56, 0x62EA) /* <CJK> */
-MAP(0x3F, 0x57, 0x62F2) /* <CJK> */
-MAP(0x3F, 0x58, 0x62F4) /* <CJK> */
-MAP(0x3F, 0x59, 0x62FC) /* <CJK> */
-MAP(0x3F, 0x5A, 0x62FD) /* <CJK> */
-MAP(0x3F, 0x5B, 0x6303) /* <CJK> */
-MAP(0x3F, 0x5C, 0x6304) /* <CJK> */
-MAP(0x3F, 0x5D, 0x630A) /* <CJK> */
-MAP(0x3F, 0x5E, 0x630B) /* <CJK> */
-MAP(0x3F, 0x5F, 0x630D) /* <CJK> */
-MAP(0x3F, 0x60, 0x6310) /* <CJK> */
-MAP(0x3F, 0x61, 0x6313) /* <CJK> */
-MAP(0x3F, 0x62, 0x6316) /* <CJK> */
-MAP(0x3F, 0x63, 0x6318) /* <CJK> */
-MAP(0x3F, 0x64, 0x6329) /* <CJK> */
-MAP(0x3F, 0x65, 0x632A) /* <CJK> */
-MAP(0x3F, 0x66, 0x632D) /* <CJK> */
-MAP(0x3F, 0x67, 0x6335) /* <CJK> */
-MAP(0x3F, 0x68, 0x6336) /* <CJK> */
-MAP(0x3F, 0x69, 0x6339) /* <CJK> */
-MAP(0x3F, 0x6A, 0x633C) /* <CJK> */
-MAP(0x3F, 0x6B, 0x6341) /* <CJK> */
-MAP(0x3F, 0x6C, 0x6342) /* <CJK> */
-MAP(0x3F, 0x6D, 0x6343) /* <CJK> */
-MAP(0x3F, 0x6E, 0x6344) /* <CJK> */
-MAP(0x3F, 0x6F, 0x6346) /* <CJK> */
-MAP(0x3F, 0x70, 0x634A) /* <CJK> */
-MAP(0x3F, 0x71, 0x634B) /* <CJK> */
-MAP(0x3F, 0x72, 0x634E) /* <CJK> */
-MAP(0x3F, 0x73, 0x6352) /* <CJK> */
-MAP(0x3F, 0x74, 0x6353) /* <CJK> */
-MAP(0x3F, 0x75, 0x6354) /* <CJK> */
-MAP(0x3F, 0x76, 0x6358) /* <CJK> */
-MAP(0x3F, 0x77, 0x635B) /* <CJK> */
-MAP(0x3F, 0x78, 0x6365) /* <CJK> */
-MAP(0x3F, 0x79, 0x6366) /* <CJK> */
-MAP(0x3F, 0x7A, 0x636C) /* <CJK> */
-MAP(0x3F, 0x7B, 0x636D) /* <CJK> */
-MAP(0x3F, 0x7C, 0x6371) /* <CJK> */
-MAP(0x3F, 0x7D, 0x6374) /* <CJK> */
-MAP(0x3F, 0x7E, 0x6375) /* <CJK> */
-MAP(0x40, 0x21, 0x6378) /* <CJK> */
-MAP(0x40, 0x22, 0x637C) /* <CJK> */
-MAP(0x40, 0x23, 0x637D) /* <CJK> */
-MAP(0x40, 0x24, 0x637F) /* <CJK> */
-MAP(0x40, 0x25, 0x6382) /* <CJK> */
-MAP(0x40, 0x26, 0x6384) /* <CJK> */
-MAP(0x40, 0x27, 0x6387) /* <CJK> */
-MAP(0x40, 0x28, 0x638A) /* <CJK> */
-MAP(0x40, 0x29, 0x6390) /* <CJK> */
-MAP(0x40, 0x2A, 0x6394) /* <CJK> */
-MAP(0x40, 0x2B, 0x6395) /* <CJK> */
-MAP(0x40, 0x2C, 0x6399) /* <CJK> */
-MAP(0x40, 0x2D, 0x639A) /* <CJK> */
-MAP(0x40, 0x2E, 0x639E) /* <CJK> */
-MAP(0x40, 0x2F, 0x63A4) /* <CJK> */
-MAP(0x40, 0x30, 0x63A6) /* <CJK> */
-MAP(0x40, 0x31, 0x63AD) /* <CJK> */
-MAP(0x40, 0x32, 0x63AE) /* <CJK> */
-MAP(0x40, 0x33, 0x63AF) /* <CJK> */
-MAP(0x40, 0x34, 0x63BD) /* <CJK> */
-MAP(0x40, 0x35, 0x63C1) /* <CJK> */
-MAP(0x40, 0x36, 0x63C5) /* <CJK> */
-MAP(0x40, 0x37, 0x63C8) /* <CJK> */
-MAP(0x40, 0x38, 0x63CE) /* <CJK> */
-MAP(0x40, 0x39, 0x63D1) /* <CJK> */
-MAP(0x40, 0x3A, 0x63D3) /* <CJK> */
-MAP(0x40, 0x3B, 0x63D4) /* <CJK> */
-MAP(0x40, 0x3C, 0x63D5) /* <CJK> */
-MAP(0x40, 0x3D, 0x63DC) /* <CJK> */
-MAP(0x40, 0x3E, 0x63E0) /* <CJK> */
-MAP(0x40, 0x3F, 0x63E5) /* <CJK> */
-MAP(0x40, 0x40, 0x63EA) /* <CJK> */
-MAP(0x40, 0x41, 0x63EC) /* <CJK> */
-MAP(0x40, 0x42, 0x63F2) /* <CJK> */
-MAP(0x40, 0x43, 0x63F3) /* <CJK> */
-MAP(0x40, 0x44, 0x63F5) /* <CJK> */
-MAP(0x40, 0x45, 0x63F8) /* <CJK> */
-MAP(0x40, 0x46, 0x63F9) /* <CJK> */
-MAP(0x40, 0x47, 0x6409) /* <CJK> */
-MAP(0x40, 0x48, 0x640A) /* <CJK> */
-MAP(0x40, 0x49, 0x6410) /* <CJK> */
-MAP(0x40, 0x4A, 0x6412) /* <CJK> */
-MAP(0x40, 0x4B, 0x6414) /* <CJK> */
-MAP(0x40, 0x4C, 0x6418) /* <CJK> */
-MAP(0x40, 0x4D, 0x641E) /* <CJK> */
-MAP(0x40, 0x4E, 0x6420) /* <CJK> */
-MAP(0x40, 0x4F, 0x6422) /* <CJK> */
-MAP(0x40, 0x50, 0x6424) /* <CJK> */
-MAP(0x40, 0x51, 0x6425) /* <CJK> */
-MAP(0x40, 0x52, 0x6429) /* <CJK> */
-MAP(0x40, 0x53, 0x642A) /* <CJK> */
-MAP(0x40, 0x54, 0x642F) /* <CJK> */
-MAP(0x40, 0x55, 0x6430) /* <CJK> */
-MAP(0x40, 0x56, 0x6435) /* <CJK> */
-MAP(0x40, 0x57, 0x643D) /* <CJK> */
-MAP(0x40, 0x58, 0x643F) /* <CJK> */
-MAP(0x40, 0x59, 0x644B) /* <CJK> */
-MAP(0x40, 0x5A, 0x644F) /* <CJK> */
-MAP(0x40, 0x5B, 0x6451) /* <CJK> */
-MAP(0x40, 0x5C, 0x6452) /* <CJK> */
-MAP(0x40, 0x5D, 0x6453) /* <CJK> */
-MAP(0x40, 0x5E, 0x6454) /* <CJK> */
-MAP(0x40, 0x5F, 0x645A) /* <CJK> */
-MAP(0x40, 0x60, 0x645B) /* <CJK> */
-MAP(0x40, 0x61, 0x645C) /* <CJK> */
-MAP(0x40, 0x62, 0x645D) /* <CJK> */
-MAP(0x40, 0x63, 0x645F) /* <CJK> */
-MAP(0x40, 0x64, 0x6460) /* <CJK> */
-MAP(0x40, 0x65, 0x6461) /* <CJK> */
-MAP(0x40, 0x66, 0x6463) /* <CJK> */
-MAP(0x40, 0x67, 0x646D) /* <CJK> */
-MAP(0x40, 0x68, 0x6473) /* <CJK> */
-MAP(0x40, 0x69, 0x6474) /* <CJK> */
-MAP(0x40, 0x6A, 0x647B) /* <CJK> */
-MAP(0x40, 0x6B, 0x647D) /* <CJK> */
-MAP(0x40, 0x6C, 0x6485) /* <CJK> */
-MAP(0x40, 0x6D, 0x6487) /* <CJK> */
-MAP(0x40, 0x6E, 0x648F) /* <CJK> */
-MAP(0x40, 0x6F, 0x6490) /* <CJK> */
-MAP(0x40, 0x70, 0x6491) /* <CJK> */
-MAP(0x40, 0x71, 0x6498) /* <CJK> */
-MAP(0x40, 0x72, 0x6499) /* <CJK> */
-MAP(0x40, 0x73, 0x649B) /* <CJK> */
-MAP(0x40, 0x74, 0x649D) /* <CJK> */
-MAP(0x40, 0x75, 0x649F) /* <CJK> */
-MAP(0x40, 0x76, 0x64A1) /* <CJK> */
-MAP(0x40, 0x77, 0x64A3) /* <CJK> */
-MAP(0x40, 0x78, 0x64A6) /* <CJK> */
-MAP(0x40, 0x79, 0x64A8) /* <CJK> */
-MAP(0x40, 0x7A, 0x64AC) /* <CJK> */
-MAP(0x40, 0x7B, 0x64B3) /* <CJK> */
-MAP(0x40, 0x7C, 0x64BD) /* <CJK> */
-MAP(0x40, 0x7D, 0x64BE) /* <CJK> */
-MAP(0x40, 0x7E, 0x64BF) /* <CJK> */
-MAP(0x41, 0x21, 0x64C4) /* <CJK> */
-MAP(0x41, 0x22, 0x64C9) /* <CJK> */
-MAP(0x41, 0x23, 0x64CA) /* <CJK> */
-MAP(0x41, 0x24, 0x64CB) /* <CJK> */
-MAP(0x41, 0x25, 0x64CC) /* <CJK> */
-MAP(0x41, 0x26, 0x64CE) /* <CJK> */
-MAP(0x41, 0x27, 0x64D0) /* <CJK> */
-MAP(0x41, 0x28, 0x64D1) /* <CJK> */
-MAP(0x41, 0x29, 0x64D5) /* <CJK> */
-MAP(0x41, 0x2A, 0x64D7) /* <CJK> */
-MAP(0x41, 0x2B, 0x64E4) /* <CJK> */
-MAP(0x41, 0x2C, 0x64E5) /* <CJK> */
-MAP(0x41, 0x2D, 0x64E9) /* <CJK> */
-MAP(0x41, 0x2E, 0x64EA) /* <CJK> */
-MAP(0x41, 0x2F, 0x64ED) /* <CJK> */
-MAP(0x41, 0x30, 0x64F0) /* <CJK> */
-MAP(0x41, 0x31, 0x64F5) /* <CJK> */
-MAP(0x41, 0x32, 0x64F7) /* <CJK> */
-MAP(0x41, 0x33, 0x64FB) /* <CJK> */
-MAP(0x41, 0x34, 0x64FF) /* <CJK> */
-MAP(0x41, 0x35, 0x6501) /* <CJK> */
-MAP(0x41, 0x36, 0x6504) /* <CJK> */
-MAP(0x41, 0x37, 0x6508) /* <CJK> */
-MAP(0x41, 0x38, 0x6509) /* <CJK> */
-MAP(0x41, 0x39, 0x650A) /* <CJK> */
-MAP(0x41, 0x3A, 0x650F) /* <CJK> */
-MAP(0x41, 0x3B, 0x6513) /* <CJK> */
-MAP(0x41, 0x3C, 0x6514) /* <CJK> */
-MAP(0x41, 0x3D, 0x6516) /* <CJK> */
-MAP(0x41, 0x3E, 0x6519) /* <CJK> */
-MAP(0x41, 0x3F, 0x651B) /* <CJK> */
-MAP(0x41, 0x40, 0x651E) /* <CJK> */
-MAP(0x41, 0x41, 0x651F) /* <CJK> */
-MAP(0x41, 0x42, 0x6522) /* <CJK> */
-MAP(0x41, 0x43, 0x6526) /* <CJK> */
-MAP(0x41, 0x44, 0x6529) /* <CJK> */
-MAP(0x41, 0x45, 0x652E) /* <CJK> */
-MAP(0x41, 0x46, 0x6531) /* <CJK> */
-MAP(0x41, 0x47, 0x653A) /* <CJK> */
-MAP(0x41, 0x48, 0x653C) /* <CJK> */
-MAP(0x41, 0x49, 0x653D) /* <CJK> */
-MAP(0x41, 0x4A, 0x6543) /* <CJK> */
-MAP(0x41, 0x4B, 0x6547) /* <CJK> */
-MAP(0x41, 0x4C, 0x6549) /* <CJK> */
-MAP(0x41, 0x4D, 0x6550) /* <CJK> */
-MAP(0x41, 0x4E, 0x6552) /* <CJK> */
-MAP(0x41, 0x4F, 0x6554) /* <CJK> */
-MAP(0x41, 0x50, 0x655F) /* <CJK> */
-MAP(0x41, 0x51, 0x6560) /* <CJK> */
-MAP(0x41, 0x52, 0x6567) /* <CJK> */
-MAP(0x41, 0x53, 0x656B) /* <CJK> */
-MAP(0x41, 0x54, 0x657A) /* <CJK> */
-MAP(0x41, 0x55, 0x657D) /* <CJK> */
-MAP(0x41, 0x56, 0x6581) /* <CJK> */
-MAP(0x41, 0x57, 0x6585) /* <CJK> */
-MAP(0x41, 0x58, 0x658A) /* <CJK> */
-MAP(0x41, 0x59, 0x6592) /* <CJK> */
-MAP(0x41, 0x5A, 0x6595) /* <CJK> */
-MAP(0x41, 0x5B, 0x6598) /* <CJK> */
-MAP(0x41, 0x5C, 0x659D) /* <CJK> */
-MAP(0x41, 0x5D, 0x65A0) /* <CJK> */
-MAP(0x41, 0x5E, 0x65A3) /* <CJK> */
-MAP(0x41, 0x5F, 0x65A6) /* <CJK> */
-MAP(0x41, 0x60, 0x65AE) /* <CJK> */
-MAP(0x41, 0x61, 0x65B2) /* <CJK> */
-MAP(0x41, 0x62, 0x65B3) /* <CJK> */
-MAP(0x41, 0x63, 0x65B4) /* <CJK> */
-MAP(0x41, 0x64, 0x65BF) /* <CJK> */
-MAP(0x41, 0x65, 0x65C2) /* <CJK> */
-MAP(0x41, 0x66, 0x65C8) /* <CJK> */
-MAP(0x41, 0x67, 0x65C9) /* <CJK> */
-MAP(0x41, 0x68, 0x65CE) /* <CJK> */
-MAP(0x41, 0x69, 0x65D0) /* <CJK> */
-MAP(0x41, 0x6A, 0x65D4) /* <CJK> */
-MAP(0x41, 0x6B, 0x65D6) /* <CJK> */
-MAP(0x41, 0x6C, 0x65D8) /* <CJK> */
-MAP(0x41, 0x6D, 0x65DF) /* <CJK> */
-MAP(0x41, 0x6E, 0x65F0) /* <CJK> */
-MAP(0x41, 0x6F, 0x65F2) /* <CJK> */
-MAP(0x41, 0x70, 0x65F4) /* <CJK> */
-MAP(0x41, 0x71, 0x65F5) /* <CJK> */
-MAP(0x41, 0x72, 0x65F9) /* <CJK> */
-MAP(0x41, 0x73, 0x65FE) /* <CJK> */
-MAP(0x41, 0x74, 0x65FF) /* <CJK> */
-MAP(0x41, 0x75, 0x6600) /* <CJK> */
-MAP(0x41, 0x76, 0x6604) /* <CJK> */
-MAP(0x41, 0x77, 0x6608) /* <CJK> */
-MAP(0x41, 0x78, 0x6609) /* <CJK> */
-MAP(0x41, 0x79, 0x660D) /* <CJK> */
-MAP(0x41, 0x7A, 0x6611) /* <CJK> */
-MAP(0x41, 0x7B, 0x6612) /* <CJK> */
-MAP(0x41, 0x7C, 0x6615) /* <CJK> */
-MAP(0x41, 0x7D, 0x6616) /* <CJK> */
-MAP(0x41, 0x7E, 0x661D) /* <CJK> */
-MAP(0x42, 0x21, 0x661E) /* <CJK> */
-MAP(0x42, 0x22, 0x6621) /* <CJK> */
-MAP(0x42, 0x23, 0x6622) /* <CJK> */
-MAP(0x42, 0x24, 0x6623) /* <CJK> */
-MAP(0x42, 0x25, 0x6624) /* <CJK> */
-MAP(0x42, 0x26, 0x6626) /* <CJK> */
-MAP(0x42, 0x27, 0x6629) /* <CJK> */
-MAP(0x42, 0x28, 0x662A) /* <CJK> */
-MAP(0x42, 0x29, 0x662B) /* <CJK> */
-MAP(0x42, 0x2A, 0x662C) /* <CJK> */
-MAP(0x42, 0x2B, 0x662E) /* <CJK> */
-MAP(0x42, 0x2C, 0x6630) /* <CJK> */
-MAP(0x42, 0x2D, 0x6631) /* <CJK> */
-MAP(0x42, 0x2E, 0x6633) /* <CJK> */
-MAP(0x42, 0x2F, 0x6639) /* <CJK> */
-MAP(0x42, 0x30, 0x6637) /* <CJK> */
-MAP(0x42, 0x31, 0x6640) /* <CJK> */
-MAP(0x42, 0x32, 0x6645) /* <CJK> */
-MAP(0x42, 0x33, 0x6646) /* <CJK> */
-MAP(0x42, 0x34, 0x664A) /* <CJK> */
-MAP(0x42, 0x35, 0x664C) /* <CJK> */
-MAP(0x42, 0x36, 0x6651) /* <CJK> */
-MAP(0x42, 0x37, 0x664E) /* <CJK> */
-MAP(0x42, 0x38, 0x6657) /* <CJK> */
-MAP(0x42, 0x39, 0x6658) /* <CJK> */
-MAP(0x42, 0x3A, 0x6659) /* <CJK> */
-MAP(0x42, 0x3B, 0x665B) /* <CJK> */
-MAP(0x42, 0x3C, 0x665C) /* <CJK> */
-MAP(0x42, 0x3D, 0x6660) /* <CJK> */
-MAP(0x42, 0x3E, 0x6661) /* <CJK> */
-MAP(0x42, 0x3F, 0x66FB) /* <CJK> */
-MAP(0x42, 0x40, 0x666A) /* <CJK> */
-MAP(0x42, 0x41, 0x666B) /* <CJK> */
-MAP(0x42, 0x42, 0x666C) /* <CJK> */
-MAP(0x42, 0x43, 0x667E) /* <CJK> */
-MAP(0x42, 0x44, 0x6673) /* <CJK> */
-MAP(0x42, 0x45, 0x6675) /* <CJK> */
-MAP(0x42, 0x46, 0x667F) /* <CJK> */
-MAP(0x42, 0x47, 0x6677) /* <CJK> */
-MAP(0x42, 0x48, 0x6678) /* <CJK> */
-MAP(0x42, 0x49, 0x6679) /* <CJK> */
-MAP(0x42, 0x4A, 0x667B) /* <CJK> */
-MAP(0x42, 0x4B, 0x6680) /* <CJK> */
-MAP(0x42, 0x4C, 0x667C) /* <CJK> */
-MAP(0x42, 0x4D, 0x668B) /* <CJK> */
-MAP(0x42, 0x4E, 0x668C) /* <CJK> */
-MAP(0x42, 0x4F, 0x668D) /* <CJK> */
-MAP(0x42, 0x50, 0x6690) /* <CJK> */
-MAP(0x42, 0x51, 0x6692) /* <CJK> */
-MAP(0x42, 0x52, 0x6699) /* <CJK> */
-MAP(0x42, 0x53, 0x669A) /* <CJK> */
-MAP(0x42, 0x54, 0x669B) /* <CJK> */
-MAP(0x42, 0x55, 0x669C) /* <CJK> */
-MAP(0x42, 0x56, 0x669F) /* <CJK> */
-MAP(0x42, 0x57, 0x66A0) /* <CJK> */
-MAP(0x42, 0x58, 0x66A4) /* <CJK> */
-MAP(0x42, 0x59, 0x66AD) /* <CJK> */
-MAP(0x42, 0x5A, 0x66B1) /* <CJK> */
-MAP(0x42, 0x5B, 0x66B2) /* <CJK> */
-MAP(0x42, 0x5C, 0x66B5) /* <CJK> */
-MAP(0x42, 0x5D, 0x66BB) /* <CJK> */
-MAP(0x42, 0x5E, 0x66BF) /* <CJK> */
-MAP(0x42, 0x5F, 0x66C0) /* <CJK> */
-MAP(0x42, 0x60, 0x66C2) /* <CJK> */
-MAP(0x42, 0x61, 0x66C3) /* <CJK> */
-MAP(0x42, 0x62, 0x66C8) /* <CJK> */
-MAP(0x42, 0x63, 0x66CC) /* <CJK> */
-MAP(0x42, 0x64, 0x66CE) /* <CJK> */
-MAP(0x42, 0x65, 0x66CF) /* <CJK> */
-MAP(0x42, 0x66, 0x66D4) /* <CJK> */
-MAP(0x42, 0x67, 0x66DB) /* <CJK> */
-MAP(0x42, 0x68, 0x66DF) /* <CJK> */
-MAP(0x42, 0x69, 0x66E8) /* <CJK> */
-MAP(0x42, 0x6A, 0x66EB) /* <CJK> */
-MAP(0x42, 0x6B, 0x66EC) /* <CJK> */
-MAP(0x42, 0x6C, 0x66EE) /* <CJK> */
-MAP(0x42, 0x6D, 0x66FA) /* <CJK> */
-MAP(0x42, 0x6E, 0x6705) /* <CJK> */
-MAP(0x42, 0x6F, 0x6707) /* <CJK> */
-MAP(0x42, 0x70, 0x670E) /* <CJK> */
-MAP(0x42, 0x71, 0x6713) /* <CJK> */
-MAP(0x42, 0x72, 0x6719) /* <CJK> */
-MAP(0x42, 0x73, 0x671C) /* <CJK> */
-MAP(0x42, 0x74, 0x6720) /* <CJK> */
-MAP(0x42, 0x75, 0x6722) /* <CJK> */
-MAP(0x42, 0x76, 0x6733) /* <CJK> */
-MAP(0x42, 0x77, 0x673E) /* <CJK> */
-MAP(0x42, 0x78, 0x6745) /* <CJK> */
-MAP(0x42, 0x79, 0x6747) /* <CJK> */
-MAP(0x42, 0x7A, 0x6748) /* <CJK> */
-MAP(0x42, 0x7B, 0x674C) /* <CJK> */
-MAP(0x42, 0x7C, 0x6754) /* <CJK> */
-MAP(0x42, 0x7D, 0x6755) /* <CJK> */
-MAP(0x42, 0x7E, 0x675D) /* <CJK> */
-MAP(0x43, 0x21, 0x6766) /* <CJK> */
-MAP(0x43, 0x22, 0x676C) /* <CJK> */
-MAP(0x43, 0x23, 0x676E) /* <CJK> */
-MAP(0x43, 0x24, 0x6774) /* <CJK> */
-MAP(0x43, 0x25, 0x6776) /* <CJK> */
-MAP(0x43, 0x26, 0x677B) /* <CJK> */
-MAP(0x43, 0x27, 0x6781) /* <CJK> */
-MAP(0x43, 0x28, 0x6784) /* <CJK> */
-MAP(0x43, 0x29, 0x678E) /* <CJK> */
-MAP(0x43, 0x2A, 0x678F) /* <CJK> */
-MAP(0x43, 0x2B, 0x6791) /* <CJK> */
-MAP(0x43, 0x2C, 0x6793) /* <CJK> */
-MAP(0x43, 0x2D, 0x6796) /* <CJK> */
-MAP(0x43, 0x2E, 0x6798) /* <CJK> */
-MAP(0x43, 0x2F, 0x6799) /* <CJK> */
-MAP(0x43, 0x30, 0x679B) /* <CJK> */
-MAP(0x43, 0x31, 0x67B0) /* <CJK> */
-MAP(0x43, 0x32, 0x67B1) /* <CJK> */
-MAP(0x43, 0x33, 0x67B2) /* <CJK> */
-MAP(0x43, 0x34, 0x67B5) /* <CJK> */
-MAP(0x43, 0x35, 0x67BB) /* <CJK> */
-MAP(0x43, 0x36, 0x67BC) /* <CJK> */
-MAP(0x43, 0x37, 0x67BD) /* <CJK> */
-MAP(0x43, 0x38, 0x67F9) /* <CJK> */
-MAP(0x43, 0x39, 0x67C0) /* <CJK> */
-MAP(0x43, 0x3A, 0x67C2) /* <CJK> */
-MAP(0x43, 0x3B, 0x67C3) /* <CJK> */
-MAP(0x43, 0x3C, 0x67C5) /* <CJK> */
-MAP(0x43, 0x3D, 0x67C8) /* <CJK> */
-MAP(0x43, 0x3E, 0x67C9) /* <CJK> */
-MAP(0x43, 0x3F, 0x67D2) /* <CJK> */
-MAP(0x43, 0x40, 0x67D7) /* <CJK> */
-MAP(0x43, 0x41, 0x67D9) /* <CJK> */
-MAP(0x43, 0x42, 0x67DC) /* <CJK> */
-MAP(0x43, 0x43, 0x67E1) /* <CJK> */
-MAP(0x43, 0x44, 0x67E6) /* <CJK> */
-MAP(0x43, 0x45, 0x67F0) /* <CJK> */
-MAP(0x43, 0x46, 0x67F2) /* <CJK> */
-MAP(0x43, 0x47, 0x67F6) /* <CJK> */
-MAP(0x43, 0x48, 0x67F7) /* <CJK> */
-MAP(0x43, 0x49, 0x6852) /* <CJK> */
-MAP(0x43, 0x4A, 0x6814) /* <CJK> */
-MAP(0x43, 0x4B, 0x6819) /* <CJK> */
-MAP(0x43, 0x4C, 0x681D) /* <CJK> */
-MAP(0x43, 0x4D, 0x681F) /* <CJK> */
-MAP(0x43, 0x4E, 0x6828) /* <CJK> */
-MAP(0x43, 0x4F, 0x6827) /* <CJK> */
-MAP(0x43, 0x50, 0x682C) /* <CJK> */
-MAP(0x43, 0x51, 0x682D) /* <CJK> */
-MAP(0x43, 0x52, 0x682F) /* <CJK> */
-MAP(0x43, 0x53, 0x6830) /* <CJK> */
-MAP(0x43, 0x54, 0x6831) /* <CJK> */
-MAP(0x43, 0x55, 0x6833) /* <CJK> */
-MAP(0x43, 0x56, 0x683B) /* <CJK> */
-MAP(0x43, 0x57, 0x683F) /* <CJK> */
-MAP(0x43, 0x58, 0x6844) /* <CJK> */
-MAP(0x43, 0x59, 0x6845) /* <CJK> */
-MAP(0x43, 0x5A, 0x684A) /* <CJK> */
-MAP(0x43, 0x5B, 0x684C) /* <CJK> */
-MAP(0x43, 0x5C, 0x6855) /* <CJK> */
-MAP(0x43, 0x5D, 0x6857) /* <CJK> */
-MAP(0x43, 0x5E, 0x6858) /* <CJK> */
-MAP(0x43, 0x5F, 0x685B) /* <CJK> */
-MAP(0x43, 0x60, 0x686B) /* <CJK> */
-MAP(0x43, 0x61, 0x686E) /* <CJK> */
-MAP(0x43, 0x62, 0x686F) /* <CJK> */
-MAP(0x43, 0x63, 0x6870) /* <CJK> */
-MAP(0x43, 0x64, 0x6871) /* <CJK> */
-MAP(0x43, 0x65, 0x6872) /* <CJK> */
-MAP(0x43, 0x66, 0x6875) /* <CJK> */
-MAP(0x43, 0x67, 0x6879) /* <CJK> */
-MAP(0x43, 0x68, 0x687A) /* <CJK> */
-MAP(0x43, 0x69, 0x687B) /* <CJK> */
-MAP(0x43, 0x6A, 0x687C) /* <CJK> */
-MAP(0x43, 0x6B, 0x6882) /* <CJK> */
-MAP(0x43, 0x6C, 0x6884) /* <CJK> */
-MAP(0x43, 0x6D, 0x6886) /* <CJK> */
-MAP(0x43, 0x6E, 0x6888) /* <CJK> */
-MAP(0x43, 0x6F, 0x6896) /* <CJK> */
-MAP(0x43, 0x70, 0x6898) /* <CJK> */
-MAP(0x43, 0x71, 0x689A) /* <CJK> */
-MAP(0x43, 0x72, 0x689C) /* <CJK> */
-MAP(0x43, 0x73, 0x68A1) /* <CJK> */
-MAP(0x43, 0x74, 0x68A3) /* <CJK> */
-MAP(0x43, 0x75, 0x68A5) /* <CJK> */
-MAP(0x43, 0x76, 0x68A9) /* <CJK> */
-MAP(0x43, 0x77, 0x68AA) /* <CJK> */
-MAP(0x43, 0x78, 0x68AE) /* <CJK> */
-MAP(0x43, 0x79, 0x68B2) /* <CJK> */
-MAP(0x43, 0x7A, 0x68BB) /* <CJK> */
-MAP(0x43, 0x7B, 0x68C5) /* <CJK> */
-MAP(0x43, 0x7C, 0x68C8) /* <CJK> */
-MAP(0x43, 0x7D, 0x68CC) /* <CJK> */
-MAP(0x43, 0x7E, 0x68CF) /* <CJK> */
-MAP(0x44, 0x21, 0x68D0) /* <CJK> */
-MAP(0x44, 0x22, 0x68D1) /* <CJK> */
-MAP(0x44, 0x23, 0x68D3) /* <CJK> */
-MAP(0x44, 0x24, 0x68D6) /* <CJK> */
-MAP(0x44, 0x25, 0x68D9) /* <CJK> */
-MAP(0x44, 0x26, 0x68DC) /* <CJK> */
-MAP(0x44, 0x27, 0x68DD) /* <CJK> */
-MAP(0x44, 0x28, 0x68E5) /* <CJK> */
-MAP(0x44, 0x29, 0x68E8) /* <CJK> */
-MAP(0x44, 0x2A, 0x68EA) /* <CJK> */
-MAP(0x44, 0x2B, 0x68EB) /* <CJK> */
-MAP(0x44, 0x2C, 0x68EC) /* <CJK> */
-MAP(0x44, 0x2D, 0x68ED) /* <CJK> */
-MAP(0x44, 0x2E, 0x68F0) /* <CJK> */
-MAP(0x44, 0x2F, 0x68F1) /* <CJK> */
-MAP(0x44, 0x30, 0x68F5) /* <CJK> */
-MAP(0x44, 0x31, 0x68F6) /* <CJK> */
-MAP(0x44, 0x32, 0x68FB) /* <CJK> */
-MAP(0x44, 0x33, 0x68FC) /* <CJK> */
-MAP(0x44, 0x34, 0x68FD) /* <CJK> */
-MAP(0x44, 0x35, 0x6906) /* <CJK> */
-MAP(0x44, 0x36, 0x6909) /* <CJK> */
-MAP(0x44, 0x37, 0x690A) /* <CJK> */
-MAP(0x44, 0x38, 0x6910) /* <CJK> */
-MAP(0x44, 0x39, 0x6911) /* <CJK> */
-MAP(0x44, 0x3A, 0x6913) /* <CJK> */
-MAP(0x44, 0x3B, 0x6916) /* <CJK> */
-MAP(0x44, 0x3C, 0x6917) /* <CJK> */
-MAP(0x44, 0x3D, 0x6931) /* <CJK> */
-MAP(0x44, 0x3E, 0x6933) /* <CJK> */
-MAP(0x44, 0x3F, 0x6935) /* <CJK> */
-MAP(0x44, 0x40, 0x6938) /* <CJK> */
-MAP(0x44, 0x41, 0x693B) /* <CJK> */
-MAP(0x44, 0x42, 0x6942) /* <CJK> */
-MAP(0x44, 0x43, 0x6945) /* <CJK> */
-MAP(0x44, 0x44, 0x6949) /* <CJK> */
-MAP(0x44, 0x45, 0x694E) /* <CJK> */
-MAP(0x44, 0x46, 0x6957) /* <CJK> */
-MAP(0x44, 0x47, 0x695B) /* <CJK> */
-MAP(0x44, 0x48, 0x6963) /* <CJK> */
-MAP(0x44, 0x49, 0x6964) /* <CJK> */
-MAP(0x44, 0x4A, 0x6965) /* <CJK> */
-MAP(0x44, 0x4B, 0x6966) /* <CJK> */
-MAP(0x44, 0x4C, 0x6968) /* <CJK> */
-MAP(0x44, 0x4D, 0x6969) /* <CJK> */
-MAP(0x44, 0x4E, 0x696C) /* <CJK> */
-MAP(0x44, 0x4F, 0x6970) /* <CJK> */
-MAP(0x44, 0x50, 0x6971) /* <CJK> */
-MAP(0x44, 0x51, 0x6972) /* <CJK> */
-MAP(0x44, 0x52, 0x697A) /* <CJK> */
-MAP(0x44, 0x53, 0x697B) /* <CJK> */
-MAP(0x44, 0x54, 0x697F) /* <CJK> */
-MAP(0x44, 0x55, 0x6980) /* <CJK> */
-MAP(0x44, 0x56, 0x698D) /* <CJK> */
-MAP(0x44, 0x57, 0x6992) /* <CJK> */
-MAP(0x44, 0x58, 0x6996) /* <CJK> */
-MAP(0x44, 0x59, 0x6998) /* <CJK> */
-MAP(0x44, 0x5A, 0x69A1) /* <CJK> */
-MAP(0x44, 0x5B, 0x69A5) /* <CJK> */
-MAP(0x44, 0x5C, 0x69A6) /* <CJK> */
-MAP(0x44, 0x5D, 0x69A8) /* <CJK> */
-MAP(0x44, 0x5E, 0x69AB) /* <CJK> */
-MAP(0x44, 0x5F, 0x69AD) /* <CJK> */
-MAP(0x44, 0x60, 0x69AF) /* <CJK> */
-MAP(0x44, 0x61, 0x69B7) /* <CJK> */
-MAP(0x44, 0x62, 0x69B8) /* <CJK> */
-MAP(0x44, 0x63, 0x69BA) /* <CJK> */
-MAP(0x44, 0x64, 0x69BC) /* <CJK> */
-MAP(0x44, 0x65, 0x69C5) /* <CJK> */
-MAP(0x44, 0x66, 0x69C8) /* <CJK> */
-MAP(0x44, 0x67, 0x69D1) /* <CJK> */
-MAP(0x44, 0x68, 0x69D6) /* <CJK> */
-MAP(0x44, 0x69, 0x69D7) /* <CJK> */
-MAP(0x44, 0x6A, 0x69E2) /* <CJK> */
-MAP(0x44, 0x6B, 0x69E5) /* <CJK> */
-MAP(0x44, 0x6C, 0x69EE) /* <CJK> */
-MAP(0x44, 0x6D, 0x69EF) /* <CJK> */
-MAP(0x44, 0x6E, 0x69F1) /* <CJK> */
-MAP(0x44, 0x6F, 0x69F3) /* <CJK> */
-MAP(0x44, 0x70, 0x69F5) /* <CJK> */
-MAP(0x44, 0x71, 0x69FE) /* <CJK> */
-MAP(0x44, 0x72, 0x6A00) /* <CJK> */
-MAP(0x44, 0x73, 0x6A01) /* <CJK> */
-MAP(0x44, 0x74, 0x6A03) /* <CJK> */
-MAP(0x44, 0x75, 0x6A0F) /* <CJK> */
-MAP(0x44, 0x76, 0x6A11) /* <CJK> */
-MAP(0x44, 0x77, 0x6A15) /* <CJK> */
-MAP(0x44, 0x78, 0x6A1A) /* <CJK> */
-MAP(0x44, 0x79, 0x6A1D) /* <CJK> */
-MAP(0x44, 0x7A, 0x6A20) /* <CJK> */
-MAP(0x44, 0x7B, 0x6A24) /* <CJK> */
-MAP(0x44, 0x7C, 0x6A28) /* <CJK> */
-MAP(0x44, 0x7D, 0x6A30) /* <CJK> */
-MAP(0x44, 0x7E, 0x6A32) /* <CJK> */
-MAP(0x45, 0x21, 0x6A34) /* <CJK> */
-MAP(0x45, 0x22, 0x6A37) /* <CJK> */
-MAP(0x45, 0x23, 0x6A3B) /* <CJK> */
-MAP(0x45, 0x24, 0x6A3E) /* <CJK> */
-MAP(0x45, 0x25, 0x6A3F) /* <CJK> */
-MAP(0x45, 0x26, 0x6A45) /* <CJK> */
-MAP(0x45, 0x27, 0x6A46) /* <CJK> */
-MAP(0x45, 0x28, 0x6A49) /* <CJK> */
-MAP(0x45, 0x29, 0x6A4A) /* <CJK> */
-MAP(0x45, 0x2A, 0x6A4E) /* <CJK> */
-MAP(0x45, 0x2B, 0x6A50) /* <CJK> */
-MAP(0x45, 0x2C, 0x6A51) /* <CJK> */
-MAP(0x45, 0x2D, 0x6A52) /* <CJK> */
-MAP(0x45, 0x2E, 0x6A55) /* <CJK> */
-MAP(0x45, 0x2F, 0x6A56) /* <CJK> */
-MAP(0x45, 0x30, 0x6A5B) /* <CJK> */
-MAP(0x45, 0x31, 0x6A64) /* <CJK> */
-MAP(0x45, 0x32, 0x6A67) /* <CJK> */
-MAP(0x45, 0x33, 0x6A6A) /* <CJK> */
-MAP(0x45, 0x34, 0x6A71) /* <CJK> */
-MAP(0x45, 0x35, 0x6A73) /* <CJK> */
-MAP(0x45, 0x36, 0x6A7E) /* <CJK> */
-MAP(0x45, 0x37, 0x6A81) /* <CJK> */
-MAP(0x45, 0x38, 0x6A83) /* <CJK> */
-MAP(0x45, 0x39, 0x6A86) /* <CJK> */
-MAP(0x45, 0x3A, 0x6A87) /* <CJK> */
-MAP(0x45, 0x3B, 0x6A89) /* <CJK> */
-MAP(0x45, 0x3C, 0x6A8B) /* <CJK> */
-MAP(0x45, 0x3D, 0x6A91) /* <CJK> */
-MAP(0x45, 0x3E, 0x6A9B) /* <CJK> */
-MAP(0x45, 0x3F, 0x6A9D) /* <CJK> */
-MAP(0x45, 0x40, 0x6A9E) /* <CJK> */
-MAP(0x45, 0x41, 0x6A9F) /* <CJK> */
-MAP(0x45, 0x42, 0x6AA5) /* <CJK> */
-MAP(0x45, 0x43, 0x6AAB) /* <CJK> */
-MAP(0x45, 0x44, 0x6AAF) /* <CJK> */
-MAP(0x45, 0x45, 0x6AB0) /* <CJK> */
-MAP(0x45, 0x46, 0x6AB1) /* <CJK> */
-MAP(0x45, 0x47, 0x6AB4) /* <CJK> */
-MAP(0x45, 0x48, 0x6ABD) /* <CJK> */
-MAP(0x45, 0x49, 0x6ABE) /* <CJK> */
-MAP(0x45, 0x4A, 0x6ABF) /* <CJK> */
-MAP(0x45, 0x4B, 0x6AC6) /* <CJK> */
-MAP(0x45, 0x4C, 0x6AC9) /* <CJK> */
-MAP(0x45, 0x4D, 0x6AC8) /* <CJK> */
-MAP(0x45, 0x4E, 0x6ACC) /* <CJK> */
-MAP(0x45, 0x4F, 0x6AD0) /* <CJK> */
-MAP(0x45, 0x50, 0x6AD4) /* <CJK> */
-MAP(0x45, 0x51, 0x6AD5) /* <CJK> */
-MAP(0x45, 0x52, 0x6AD6) /* <CJK> */
-MAP(0x45, 0x53, 0x6ADC) /* <CJK> */
-MAP(0x45, 0x54, 0x6ADD) /* <CJK> */
-MAP(0x45, 0x55, 0x6AE4) /* <CJK> */
-MAP(0x45, 0x56, 0x6AE7) /* <CJK> */
-MAP(0x45, 0x57, 0x6AEC) /* <CJK> */
-MAP(0x45, 0x58, 0x6AF0) /* <CJK> */
-MAP(0x45, 0x59, 0x6AF1) /* <CJK> */
-MAP(0x45, 0x5A, 0x6AF2) /* <CJK> */
-MAP(0x45, 0x5B, 0x6AFC) /* <CJK> */
-MAP(0x45, 0x5C, 0x6AFD) /* <CJK> */
-MAP(0x45, 0x5D, 0x6B02) /* <CJK> */
-MAP(0x45, 0x5E, 0x6B03) /* <CJK> */
-MAP(0x45, 0x5F, 0x6B06) /* <CJK> */
-MAP(0x45, 0x60, 0x6B07) /* <CJK> */
-MAP(0x45, 0x61, 0x6B09) /* <CJK> */
-MAP(0x45, 0x62, 0x6B0F) /* <CJK> */
-MAP(0x45, 0x63, 0x6B10) /* <CJK> */
-MAP(0x45, 0x64, 0x6B11) /* <CJK> */
-MAP(0x45, 0x65, 0x6B17) /* <CJK> */
-MAP(0x45, 0x66, 0x6B1B) /* <CJK> */
-MAP(0x45, 0x67, 0x6B1E) /* <CJK> */
-MAP(0x45, 0x68, 0x6B24) /* <CJK> */
-MAP(0x45, 0x69, 0x6B28) /* <CJK> */
-MAP(0x45, 0x6A, 0x6B2B) /* <CJK> */
-MAP(0x45, 0x6B, 0x6B2C) /* <CJK> */
-MAP(0x45, 0x6C, 0x6B2F) /* <CJK> */
-MAP(0x45, 0x6D, 0x6B35) /* <CJK> */
-MAP(0x45, 0x6E, 0x6B36) /* <CJK> */
-MAP(0x45, 0x6F, 0x6B3B) /* <CJK> */
-MAP(0x45, 0x70, 0x6B3F) /* <CJK> */
-MAP(0x45, 0x71, 0x6B46) /* <CJK> */
-MAP(0x45, 0x72, 0x6B4A) /* <CJK> */
-MAP(0x45, 0x73, 0x6B4D) /* <CJK> */
-MAP(0x45, 0x74, 0x6B52) /* <CJK> */
-MAP(0x45, 0x75, 0x6B56) /* <CJK> */
-MAP(0x45, 0x76, 0x6B58) /* <CJK> */
-MAP(0x45, 0x77, 0x6B5D) /* <CJK> */
-MAP(0x45, 0x78, 0x6B60) /* <CJK> */
-MAP(0x45, 0x79, 0x6B67) /* <CJK> */
-MAP(0x45, 0x7A, 0x6B6B) /* <CJK> */
-MAP(0x45, 0x7B, 0x6B6E) /* <CJK> */
-MAP(0x45, 0x7C, 0x6B70) /* <CJK> */
-MAP(0x45, 0x7D, 0x6B75) /* <CJK> */
-MAP(0x45, 0x7E, 0x6B7D) /* <CJK> */
-MAP(0x46, 0x21, 0x6B7E) /* <CJK> */
-MAP(0x46, 0x22, 0x6B82) /* <CJK> */
-MAP(0x46, 0x23, 0x6B85) /* <CJK> */
-MAP(0x46, 0x24, 0x6B97) /* <CJK> */
-MAP(0x46, 0x25, 0x6B9B) /* <CJK> */
-MAP(0x46, 0x26, 0x6B9F) /* <CJK> */
-MAP(0x46, 0x27, 0x6BA0) /* <CJK> */
-MAP(0x46, 0x28, 0x6BA2) /* <CJK> */
-MAP(0x46, 0x29, 0x6BA3) /* <CJK> */
-MAP(0x46, 0x2A, 0x6BA8) /* <CJK> */
-MAP(0x46, 0x2B, 0x6BA9) /* <CJK> */
-MAP(0x46, 0x2C, 0x6BAC) /* <CJK> */
-MAP(0x46, 0x2D, 0x6BAD) /* <CJK> */
-MAP(0x46, 0x2E, 0x6BAE) /* <CJK> */
-MAP(0x46, 0x2F, 0x6BB0) /* <CJK> */
-MAP(0x46, 0x30, 0x6BB8) /* <CJK> */
-MAP(0x46, 0x31, 0x6BB9) /* <CJK> */
-MAP(0x46, 0x32, 0x6BBD) /* <CJK> */
-MAP(0x46, 0x33, 0x6BBE) /* <CJK> */
-MAP(0x46, 0x34, 0x6BC3) /* <CJK> */
-MAP(0x46, 0x35, 0x6BC4) /* <CJK> */
-MAP(0x46, 0x36, 0x6BC9) /* <CJK> */
-MAP(0x46, 0x37, 0x6BCC) /* <CJK> */
-MAP(0x46, 0x38, 0x6BD6) /* <CJK> */
-MAP(0x46, 0x39, 0x6BDA) /* <CJK> */
-MAP(0x46, 0x3A, 0x6BE1) /* <CJK> */
-MAP(0x46, 0x3B, 0x6BE3) /* <CJK> */
-MAP(0x46, 0x3C, 0x6BE6) /* <CJK> */
-MAP(0x46, 0x3D, 0x6BE7) /* <CJK> */
-MAP(0x46, 0x3E, 0x6BEE) /* <CJK> */
-MAP(0x46, 0x3F, 0x6BF1) /* <CJK> */
-MAP(0x46, 0x40, 0x6BF7) /* <CJK> */
-MAP(0x46, 0x41, 0x6BF9) /* <CJK> */
-MAP(0x46, 0x42, 0x6BFF) /* <CJK> */
-MAP(0x46, 0x43, 0x6C02) /* <CJK> */
-MAP(0x46, 0x44, 0x6C04) /* <CJK> */
-MAP(0x46, 0x45, 0x6C05) /* <CJK> */
-MAP(0x46, 0x46, 0x6C09) /* <CJK> */
-MAP(0x46, 0x47, 0x6C0D) /* <CJK> */
-MAP(0x46, 0x48, 0x6C0E) /* <CJK> */
-MAP(0x46, 0x49, 0x6C10) /* <CJK> */
-MAP(0x46, 0x4A, 0x6C12) /* <CJK> */
-MAP(0x46, 0x4B, 0x6C19) /* <CJK> */
-MAP(0x46, 0x4C, 0x6C1F) /* <CJK> */
-MAP(0x46, 0x4D, 0x6C26) /* <CJK> */
-MAP(0x46, 0x4E, 0x6C27) /* <CJK> */
-MAP(0x46, 0x4F, 0x6C28) /* <CJK> */
-MAP(0x46, 0x50, 0x6C2C) /* <CJK> */
-MAP(0x46, 0x51, 0x6C2E) /* <CJK> */
-MAP(0x46, 0x52, 0x6C33) /* <CJK> */
-MAP(0x46, 0x53, 0x6C35) /* <CJK> */
-MAP(0x46, 0x54, 0x6C36) /* <CJK> */
-MAP(0x46, 0x55, 0x6C3A) /* <CJK> */
-MAP(0x46, 0x56, 0x6C3B) /* <CJK> */
-MAP(0x46, 0x57, 0x6C3F) /* <CJK> */
-MAP(0x46, 0x58, 0x6C4A) /* <CJK> */
-MAP(0x46, 0x59, 0x6C4B) /* <CJK> */
-MAP(0x46, 0x5A, 0x6C4D) /* <CJK> */
-MAP(0x46, 0x5B, 0x6C4F) /* <CJK> */
-MAP(0x46, 0x5C, 0x6C52) /* <CJK> */
-MAP(0x46, 0x5D, 0x6C54) /* <CJK> */
-MAP(0x46, 0x5E, 0x6C59) /* <CJK> */
-MAP(0x46, 0x5F, 0x6C5B) /* <CJK> */
-MAP(0x46, 0x60, 0x6C5C) /* <CJK> */
-MAP(0x46, 0x61, 0x6C6B) /* <CJK> */
-MAP(0x46, 0x62, 0x6C6D) /* <CJK> */
-MAP(0x46, 0x63, 0x6C6F) /* <CJK> */
-MAP(0x46, 0x64, 0x6C74) /* <CJK> */
-MAP(0x46, 0x65, 0x6C76) /* <CJK> */
-MAP(0x46, 0x66, 0x6C78) /* <CJK> */
-MAP(0x46, 0x67, 0x6C79) /* <CJK> */
-MAP(0x46, 0x68, 0x6C7B) /* <CJK> */
-MAP(0x46, 0x69, 0x6C85) /* <CJK> */
-MAP(0x46, 0x6A, 0x6C86) /* <CJK> */
-MAP(0x46, 0x6B, 0x6C87) /* <CJK> */
-MAP(0x46, 0x6C, 0x6C89) /* <CJK> */
-MAP(0x46, 0x6D, 0x6C94) /* <CJK> */
-MAP(0x46, 0x6E, 0x6C95) /* <CJK> */
-MAP(0x46, 0x6F, 0x6C97) /* <CJK> */
-MAP(0x46, 0x70, 0x6C98) /* <CJK> */
-MAP(0x46, 0x71, 0x6C9C) /* <CJK> */
-MAP(0x46, 0x72, 0x6C9F) /* <CJK> */
-MAP(0x46, 0x73, 0x6CB0) /* <CJK> */
-MAP(0x46, 0x74, 0x6CB2) /* <CJK> */
-MAP(0x46, 0x75, 0x6CB4) /* <CJK> */
-MAP(0x46, 0x76, 0x6CC2) /* <CJK> */
-MAP(0x46, 0x77, 0x6CC6) /* <CJK> */
-MAP(0x46, 0x78, 0x6CCD) /* <CJK> */
-MAP(0x46, 0x79, 0x6CCF) /* <CJK> */
-MAP(0x46, 0x7A, 0x6CD0) /* <CJK> */
-MAP(0x46, 0x7B, 0x6CD1) /* <CJK> */
-MAP(0x46, 0x7C, 0x6CD2) /* <CJK> */
-MAP(0x46, 0x7D, 0x6CD4) /* <CJK> */
-MAP(0x46, 0x7E, 0x6CD6) /* <CJK> */
-MAP(0x47, 0x21, 0x6CDA) /* <CJK> */
-MAP(0x47, 0x22, 0x6CDC) /* <CJK> */
-MAP(0x47, 0x23, 0x6CE0) /* <CJK> */
-MAP(0x47, 0x24, 0x6CE7) /* <CJK> */
-MAP(0x47, 0x25, 0x6CE9) /* <CJK> */
-MAP(0x47, 0x26, 0x6CEB) /* <CJK> */
-MAP(0x47, 0x27, 0x6CEC) /* <CJK> */
-MAP(0x47, 0x28, 0x6CEE) /* <CJK> */
-MAP(0x47, 0x29, 0x6CF2) /* <CJK> */
-MAP(0x47, 0x2A, 0x6CF4) /* <CJK> */
-MAP(0x47, 0x2B, 0x6D04) /* <CJK> */
-MAP(0x47, 0x2C, 0x6D07) /* <CJK> */
-MAP(0x47, 0x2D, 0x6D0A) /* <CJK> */
-MAP(0x47, 0x2E, 0x6D0E) /* <CJK> */
-MAP(0x47, 0x2F, 0x6D0F) /* <CJK> */
-MAP(0x47, 0x30, 0x6D11) /* <CJK> */
-MAP(0x47, 0x31, 0x6D13) /* <CJK> */
-MAP(0x47, 0x32, 0x6D1A) /* <CJK> */
-MAP(0x47, 0x33, 0x6D26) /* <CJK> */
-MAP(0x47, 0x34, 0x6D27) /* <CJK> */
-MAP(0x47, 0x35, 0x6D28) /* <CJK> */
-MAP(0x47, 0x36, 0x6C67) /* <CJK> */
-MAP(0x47, 0x37, 0x6D2E) /* <CJK> */
-MAP(0x47, 0x38, 0x6D2F) /* <CJK> */
-MAP(0x47, 0x39, 0x6D31) /* <CJK> */
-MAP(0x47, 0x3A, 0x6D39) /* <CJK> */
-MAP(0x47, 0x3B, 0x6D3C) /* <CJK> */
-MAP(0x47, 0x3C, 0x6D3F) /* <CJK> */
-MAP(0x47, 0x3D, 0x6D57) /* <CJK> */
-MAP(0x47, 0x3E, 0x6D5E) /* <CJK> */
-MAP(0x47, 0x3F, 0x6D5F) /* <CJK> */
-MAP(0x47, 0x40, 0x6D61) /* <CJK> */
-MAP(0x47, 0x41, 0x6D65) /* <CJK> */
-MAP(0x47, 0x42, 0x6D67) /* <CJK> */
-MAP(0x47, 0x43, 0x6D6F) /* <CJK> */
-MAP(0x47, 0x44, 0x6D70) /* <CJK> */
-MAP(0x47, 0x45, 0x6D7C) /* <CJK> */
-MAP(0x47, 0x46, 0x6D82) /* <CJK> */
-MAP(0x47, 0x47, 0x6D87) /* <CJK> */
-MAP(0x47, 0x48, 0x6D91) /* <CJK> */
-MAP(0x47, 0x49, 0x6D92) /* <CJK> */
-MAP(0x47, 0x4A, 0x6D94) /* <CJK> */
-MAP(0x47, 0x4B, 0x6D96) /* <CJK> */
-MAP(0x47, 0x4C, 0x6D97) /* <CJK> */
-MAP(0x47, 0x4D, 0x6D98) /* <CJK> */
-MAP(0x47, 0x4E, 0x6DAA) /* <CJK> */
-MAP(0x47, 0x4F, 0x6DAC) /* <CJK> */
-MAP(0x47, 0x50, 0x6DB4) /* <CJK> */
-MAP(0x47, 0x51, 0x6DB7) /* <CJK> */
-MAP(0x47, 0x52, 0x6DB9) /* <CJK> */
-MAP(0x47, 0x53, 0x6DBD) /* <CJK> */
-MAP(0x47, 0x54, 0x6DBF) /* <CJK> */
-MAP(0x47, 0x55, 0x6DC4) /* <CJK> */
-MAP(0x47, 0x56, 0x6DC8) /* <CJK> */
-MAP(0x47, 0x57, 0x6DCA) /* <CJK> */
-MAP(0x47, 0x58, 0x6DCE) /* <CJK> */
-MAP(0x47, 0x59, 0x6DCF) /* <CJK> */
-MAP(0x47, 0x5A, 0x6DD6) /* <CJK> */
-MAP(0x47, 0x5B, 0x6DDB) /* <CJK> */
-MAP(0x47, 0x5C, 0x6DDD) /* <CJK> */
-MAP(0x47, 0x5D, 0x6DDF) /* <CJK> */
-MAP(0x47, 0x5E, 0x6DE0) /* <CJK> */
-MAP(0x47, 0x5F, 0x6DE2) /* <CJK> */
-MAP(0x47, 0x60, 0x6DE5) /* <CJK> */
-MAP(0x47, 0x61, 0x6DE9) /* <CJK> */
-MAP(0x47, 0x62, 0x6DEF) /* <CJK> */
-MAP(0x47, 0x63, 0x6DF0) /* <CJK> */
-MAP(0x47, 0x64, 0x6DF4) /* <CJK> */
-MAP(0x47, 0x65, 0x6DF6) /* <CJK> */
-MAP(0x47, 0x66, 0x6DFC) /* <CJK> */
-MAP(0x47, 0x67, 0x6E00) /* <CJK> */
-MAP(0x47, 0x68, 0x6E04) /* <CJK> */
-MAP(0x47, 0x69, 0x6E1E) /* <CJK> */
-MAP(0x47, 0x6A, 0x6E22) /* <CJK> */
-MAP(0x47, 0x6B, 0x6E27) /* <CJK> */
-MAP(0x47, 0x6C, 0x6E32) /* <CJK> */
-MAP(0x47, 0x6D, 0x6E36) /* <CJK> */
-MAP(0x47, 0x6E, 0x6E39) /* <CJK> */
-MAP(0x47, 0x6F, 0x6E3B) /* <CJK> */
-MAP(0x47, 0x70, 0x6E3C) /* <CJK> */
-MAP(0x47, 0x71, 0x6E44) /* <CJK> */
-MAP(0x47, 0x72, 0x6E45) /* <CJK> */
-MAP(0x47, 0x73, 0x6E48) /* <CJK> */
-MAP(0x47, 0x74, 0x6E49) /* <CJK> */
-MAP(0x47, 0x75, 0x6E4B) /* <CJK> */
-MAP(0x47, 0x76, 0x6E4F) /* <CJK> */
-MAP(0x47, 0x77, 0x6E51) /* <CJK> */
-MAP(0x47, 0x78, 0x6E52) /* <CJK> */
-MAP(0x47, 0x79, 0x6E53) /* <CJK> */
-MAP(0x47, 0x7A, 0x6E54) /* <CJK> */
-MAP(0x47, 0x7B, 0x6E57) /* <CJK> */
-MAP(0x47, 0x7C, 0x6E5C) /* <CJK> */
-MAP(0x47, 0x7D, 0x6E5D) /* <CJK> */
-MAP(0x47, 0x7E, 0x6E5E) /* <CJK> */
-MAP(0x48, 0x21, 0x6E62) /* <CJK> */
-MAP(0x48, 0x22, 0x6E63) /* <CJK> */
-MAP(0x48, 0x23, 0x6E68) /* <CJK> */
-MAP(0x48, 0x24, 0x6E73) /* <CJK> */
-MAP(0x48, 0x25, 0x6E7B) /* <CJK> */
-MAP(0x48, 0x26, 0x6E7D) /* <CJK> */
-MAP(0x48, 0x27, 0x6E8D) /* <CJK> */
-MAP(0x48, 0x28, 0x6E93) /* <CJK> */
-MAP(0x48, 0x29, 0x6E99) /* <CJK> */
-MAP(0x48, 0x2A, 0x6EA0) /* <CJK> */
-MAP(0x48, 0x2B, 0x6EA7) /* <CJK> */
-MAP(0x48, 0x2C, 0x6EAD) /* <CJK> */
-MAP(0x48, 0x2D, 0x6EAE) /* <CJK> */
-MAP(0x48, 0x2E, 0x6EB1) /* <CJK> */
-MAP(0x48, 0x2F, 0x6EB3) /* <CJK> */
-MAP(0x48, 0x30, 0x6EBB) /* <CJK> */
-MAP(0x48, 0x31, 0x6EBF) /* <CJK> */
-MAP(0x48, 0x32, 0x6EC0) /* <CJK> */
-MAP(0x48, 0x33, 0x6EC1) /* <CJK> */
-MAP(0x48, 0x34, 0x6EC3) /* <CJK> */
-MAP(0x48, 0x35, 0x6EC7) /* <CJK> */
-MAP(0x48, 0x36, 0x6EC8) /* <CJK> */
-MAP(0x48, 0x37, 0x6ECA) /* <CJK> */
-MAP(0x48, 0x38, 0x6ECD) /* <CJK> */
-MAP(0x48, 0x39, 0x6ECE) /* <CJK> */
-MAP(0x48, 0x3A, 0x6ECF) /* <CJK> */
-MAP(0x48, 0x3B, 0x6EEB) /* <CJK> */
-MAP(0x48, 0x3C, 0x6EED) /* <CJK> */
-MAP(0x48, 0x3D, 0x6EEE) /* <CJK> */
-MAP(0x48, 0x3E, 0x6EF9) /* <CJK> */
-MAP(0x48, 0x3F, 0x6EFB) /* <CJK> */
-MAP(0x48, 0x40, 0x6EFD) /* <CJK> */
-MAP(0x48, 0x41, 0x6F04) /* <CJK> */
-MAP(0x48, 0x42, 0x6F08) /* <CJK> */
-MAP(0x48, 0x43, 0x6F0A) /* <CJK> */
-MAP(0x48, 0x44, 0x6F0C) /* <CJK> */
-MAP(0x48, 0x45, 0x6F0D) /* <CJK> */
-MAP(0x48, 0x46, 0x6F16) /* <CJK> */
-MAP(0x48, 0x47, 0x6F18) /* <CJK> */
-MAP(0x48, 0x48, 0x6F1A) /* <CJK> */
-MAP(0x48, 0x49, 0x6F1B) /* <CJK> */
-MAP(0x48, 0x4A, 0x6F26) /* <CJK> */
-MAP(0x48, 0x4B, 0x6F29) /* <CJK> */
-MAP(0x48, 0x4C, 0x6F2A) /* <CJK> */
-MAP(0x48, 0x4D, 0x6F2F) /* <CJK> */
-MAP(0x48, 0x4E, 0x6F30) /* <CJK> */
-MAP(0x48, 0x4F, 0x6F33) /* <CJK> */
-MAP(0x48, 0x50, 0x6F36) /* <CJK> */
-MAP(0x48, 0x51, 0x6F3B) /* <CJK> */
-MAP(0x48, 0x52, 0x6F3C) /* <CJK> */
-MAP(0x48, 0x53, 0x6F2D) /* <CJK> */
-MAP(0x48, 0x54, 0x6F4F) /* <CJK> */
-MAP(0x48, 0x55, 0x6F51) /* <CJK> */
-MAP(0x48, 0x56, 0x6F52) /* <CJK> */
-MAP(0x48, 0x57, 0x6F53) /* <CJK> */
-MAP(0x48, 0x58, 0x6F57) /* <CJK> */
-MAP(0x48, 0x59, 0x6F59) /* <CJK> */
-MAP(0x48, 0x5A, 0x6F5A) /* <CJK> */
-MAP(0x48, 0x5B, 0x6F5D) /* <CJK> */
-MAP(0x48, 0x5C, 0x6F5E) /* <CJK> */
-MAP(0x48, 0x5D, 0x6F61) /* <CJK> */
-MAP(0x48, 0x5E, 0x6F62) /* <CJK> */
-MAP(0x48, 0x5F, 0x6F68) /* <CJK> */
-MAP(0x48, 0x60, 0x6F6C) /* <CJK> */
-MAP(0x48, 0x61, 0x6F7D) /* <CJK> */
-MAP(0x48, 0x62, 0x6F7E) /* <CJK> */
-MAP(0x48, 0x63, 0x6F83) /* <CJK> */
-MAP(0x48, 0x64, 0x6F87) /* <CJK> */
-MAP(0x48, 0x65, 0x6F88) /* <CJK> */
-MAP(0x48, 0x66, 0x6F8B) /* <CJK> */
-MAP(0x48, 0x67, 0x6F8C) /* <CJK> */
-MAP(0x48, 0x68, 0x6F8D) /* <CJK> */
-MAP(0x48, 0x69, 0x6F90) /* <CJK> */
-MAP(0x48, 0x6A, 0x6F92) /* <CJK> */
-MAP(0x48, 0x6B, 0x6F93) /* <CJK> */
-MAP(0x48, 0x6C, 0x6F94) /* <CJK> */
-MAP(0x48, 0x6D, 0x6F96) /* <CJK> */
-MAP(0x48, 0x6E, 0x6F9A) /* <CJK> */
-MAP(0x48, 0x6F, 0x6F9F) /* <CJK> */
-MAP(0x48, 0x70, 0x6FA0) /* <CJK> */
-MAP(0x48, 0x71, 0x6FA5) /* <CJK> */
-MAP(0x48, 0x72, 0x6FA6) /* <CJK> */
-MAP(0x48, 0x73, 0x6FA7) /* <CJK> */
-MAP(0x48, 0x74, 0x6FA8) /* <CJK> */
-MAP(0x48, 0x75, 0x6FAE) /* <CJK> */
-MAP(0x48, 0x76, 0x6FAF) /* <CJK> */
-MAP(0x48, 0x77, 0x6FB0) /* <CJK> */
-MAP(0x48, 0x78, 0x6FB5) /* <CJK> */
-MAP(0x48, 0x79, 0x6FB6) /* <CJK> */
-MAP(0x48, 0x7A, 0x6FBC) /* <CJK> */
-MAP(0x48, 0x7B, 0x6FC5) /* <CJK> */
-MAP(0x48, 0x7C, 0x6FC7) /* <CJK> */
-MAP(0x48, 0x7D, 0x6FC8) /* <CJK> */
-MAP(0x48, 0x7E, 0x6FCA) /* <CJK> */
-MAP(0x49, 0x21, 0x6FDA) /* <CJK> */
-MAP(0x49, 0x22, 0x6FDE) /* <CJK> */
-MAP(0x49, 0x23, 0x6FE8) /* <CJK> */
-MAP(0x49, 0x24, 0x6FE9) /* <CJK> */
-MAP(0x49, 0x25, 0x6FF0) /* <CJK> */
-MAP(0x49, 0x26, 0x6FF5) /* <CJK> */
-MAP(0x49, 0x27, 0x6FF9) /* <CJK> */
-MAP(0x49, 0x28, 0x6FFC) /* <CJK> */
-MAP(0x49, 0x29, 0x6FFD) /* <CJK> */
-MAP(0x49, 0x2A, 0x7000) /* <CJK> */
-MAP(0x49, 0x2B, 0x7005) /* <CJK> */
-MAP(0x49, 0x2C, 0x7006) /* <CJK> */
-MAP(0x49, 0x2D, 0x7007) /* <CJK> */
-MAP(0x49, 0x2E, 0x700D) /* <CJK> */
-MAP(0x49, 0x2F, 0x7017) /* <CJK> */
-MAP(0x49, 0x30, 0x7020) /* <CJK> */
-MAP(0x49, 0x31, 0x7023) /* <CJK> */
-MAP(0x49, 0x32, 0x702F) /* <CJK> */
-MAP(0x49, 0x33, 0x7034) /* <CJK> */
-MAP(0x49, 0x34, 0x7037) /* <CJK> */
-MAP(0x49, 0x35, 0x7039) /* <CJK> */
-MAP(0x49, 0x36, 0x703C) /* <CJK> */
-MAP(0x49, 0x37, 0x7043) /* <CJK> */
-MAP(0x49, 0x38, 0x7044) /* <CJK> */
-MAP(0x49, 0x39, 0x7048) /* <CJK> */
-MAP(0x49, 0x3A, 0x7049) /* <CJK> */
-MAP(0x49, 0x3B, 0x704A) /* <CJK> */
-MAP(0x49, 0x3C, 0x704B) /* <CJK> */
-MAP(0x49, 0x3D, 0x7054) /* <CJK> */
-MAP(0x49, 0x3E, 0x7055) /* <CJK> */
-MAP(0x49, 0x3F, 0x705D) /* <CJK> */
-MAP(0x49, 0x40, 0x705E) /* <CJK> */
-MAP(0x49, 0x41, 0x704E) /* <CJK> */
-MAP(0x49, 0x42, 0x7064) /* <CJK> */
-MAP(0x49, 0x43, 0x7065) /* <CJK> */
-MAP(0x49, 0x44, 0x706C) /* <CJK> */
-MAP(0x49, 0x45, 0x706E) /* <CJK> */
-MAP(0x49, 0x46, 0x7075) /* <CJK> */
-MAP(0x49, 0x47, 0x7076) /* <CJK> */
-MAP(0x49, 0x48, 0x707E) /* <CJK> */
-MAP(0x49, 0x49, 0x7081) /* <CJK> */
-MAP(0x49, 0x4A, 0x7085) /* <CJK> */
-MAP(0x49, 0x4B, 0x7086) /* <CJK> */
-MAP(0x49, 0x4C, 0x7094) /* <CJK> */
-MAP(0x49, 0x4D, 0x7095) /* <CJK> */
-MAP(0x49, 0x4E, 0x7096) /* <CJK> */
-MAP(0x49, 0x4F, 0x7097) /* <CJK> */
-MAP(0x49, 0x50, 0x7098) /* <CJK> */
-MAP(0x49, 0x51, 0x709B) /* <CJK> */
-MAP(0x49, 0x52, 0x70A4) /* <CJK> */
-MAP(0x49, 0x53, 0x70AB) /* <CJK> */
-MAP(0x49, 0x54, 0x70B0) /* <CJK> */
-MAP(0x49, 0x55, 0x70B1) /* <CJK> */
-MAP(0x49, 0x56, 0x70B4) /* <CJK> */
-MAP(0x49, 0x57, 0x70B7) /* <CJK> */
-MAP(0x49, 0x58, 0x70CA) /* <CJK> */
-MAP(0x49, 0x59, 0x70D1) /* <CJK> */
-MAP(0x49, 0x5A, 0x70D3) /* <CJK> */
-MAP(0x49, 0x5B, 0x70D4) /* <CJK> */
-MAP(0x49, 0x5C, 0x70D5) /* <CJK> */
-MAP(0x49, 0x5D, 0x70D6) /* <CJK> */
-MAP(0x49, 0x5E, 0x70D8) /* <CJK> */
-MAP(0x49, 0x5F, 0x70DC) /* <CJK> */
-MAP(0x49, 0x60, 0x70E4) /* <CJK> */
-MAP(0x49, 0x61, 0x70FA) /* <CJK> */
-MAP(0x49, 0x62, 0x7103) /* <CJK> */
-MAP(0x49, 0x63, 0x7104) /* <CJK> */
-MAP(0x49, 0x64, 0x7105) /* <CJK> */
-MAP(0x49, 0x65, 0x7106) /* <CJK> */
-MAP(0x49, 0x66, 0x7107) /* <CJK> */
-MAP(0x49, 0x67, 0x710B) /* <CJK> */
-MAP(0x49, 0x68, 0x710C) /* <CJK> */
-MAP(0x49, 0x69, 0x710F) /* <CJK> */
-MAP(0x49, 0x6A, 0x711E) /* <CJK> */
-MAP(0x49, 0x6B, 0x7120) /* <CJK> */
-MAP(0x49, 0x6C, 0x712B) /* <CJK> */
-MAP(0x49, 0x6D, 0x712D) /* <CJK> */
-MAP(0x49, 0x6E, 0x712F) /* <CJK> */
-MAP(0x49, 0x6F, 0x7130) /* <CJK> */
-MAP(0x49, 0x70, 0x7131) /* <CJK> */
-MAP(0x49, 0x71, 0x7138) /* <CJK> */
-MAP(0x49, 0x72, 0x7141) /* <CJK> */
-MAP(0x49, 0x73, 0x7145) /* <CJK> */
-MAP(0x49, 0x74, 0x7146) /* <CJK> */
-MAP(0x49, 0x75, 0x7147) /* <CJK> */
-MAP(0x49, 0x76, 0x714A) /* <CJK> */
-MAP(0x49, 0x77, 0x714B) /* <CJK> */
-MAP(0x49, 0x78, 0x7150) /* <CJK> */
-MAP(0x49, 0x79, 0x7152) /* <CJK> */
-MAP(0x49, 0x7A, 0x7157) /* <CJK> */
-MAP(0x49, 0x7B, 0x715A) /* <CJK> */
-MAP(0x49, 0x7C, 0x715C) /* <CJK> */
-MAP(0x49, 0x7D, 0x715E) /* <CJK> */
-MAP(0x49, 0x7E, 0x7160) /* <CJK> */
-MAP(0x4A, 0x21, 0x7168) /* <CJK> */
-MAP(0x4A, 0x22, 0x7179) /* <CJK> */
-MAP(0x4A, 0x23, 0x7180) /* <CJK> */
-MAP(0x4A, 0x24, 0x7185) /* <CJK> */
-MAP(0x4A, 0x25, 0x7187) /* <CJK> */
-MAP(0x4A, 0x26, 0x718C) /* <CJK> */
-MAP(0x4A, 0x27, 0x7192) /* <CJK> */
-MAP(0x4A, 0x28, 0x719A) /* <CJK> */
-MAP(0x4A, 0x29, 0x719B) /* <CJK> */
-MAP(0x4A, 0x2A, 0x71A0) /* <CJK> */
-MAP(0x4A, 0x2B, 0x71A2) /* <CJK> */
-MAP(0x4A, 0x2C, 0x71AF) /* <CJK> */
-MAP(0x4A, 0x2D, 0x71B0) /* <CJK> */
-MAP(0x4A, 0x2E, 0x71B2) /* <CJK> */
-MAP(0x4A, 0x2F, 0x71B3) /* <CJK> */
-MAP(0x4A, 0x30, 0x71BA) /* <CJK> */
-MAP(0x4A, 0x31, 0x71BF) /* <CJK> */
-MAP(0x4A, 0x32, 0x71C0) /* <CJK> */
-MAP(0x4A, 0x33, 0x71C1) /* <CJK> */
-MAP(0x4A, 0x34, 0x71C4) /* <CJK> */
-MAP(0x4A, 0x35, 0x71CB) /* <CJK> */
-MAP(0x4A, 0x36, 0x71CC) /* <CJK> */
-MAP(0x4A, 0x37, 0x71D3) /* <CJK> */
-MAP(0x4A, 0x38, 0x71D6) /* <CJK> */
-MAP(0x4A, 0x39, 0x71D9) /* <CJK> */
-MAP(0x4A, 0x3A, 0x71DA) /* <CJK> */
-MAP(0x4A, 0x3B, 0x71DC) /* <CJK> */
-MAP(0x4A, 0x3C, 0x71F8) /* <CJK> */
-MAP(0x4A, 0x3D, 0x71FE) /* <CJK> */
-MAP(0x4A, 0x3E, 0x7200) /* <CJK> */
-MAP(0x4A, 0x3F, 0x7207) /* <CJK> */
-MAP(0x4A, 0x40, 0x7208) /* <CJK> */
-MAP(0x4A, 0x41, 0x7209) /* <CJK> */
-MAP(0x4A, 0x42, 0x7213) /* <CJK> */
-MAP(0x4A, 0x43, 0x7217) /* <CJK> */
-MAP(0x4A, 0x44, 0x721A) /* <CJK> */
-MAP(0x4A, 0x45, 0x721D) /* <CJK> */
-MAP(0x4A, 0x46, 0x721F) /* <CJK> */
-MAP(0x4A, 0x47, 0x7224) /* <CJK> */
-MAP(0x4A, 0x48, 0x722B) /* <CJK> */
-MAP(0x4A, 0x49, 0x722F) /* <CJK> */
-MAP(0x4A, 0x4A, 0x7234) /* <CJK> */
-MAP(0x4A, 0x4B, 0x7238) /* <CJK> */
-MAP(0x4A, 0x4C, 0x7239) /* <CJK> */
-MAP(0x4A, 0x4D, 0x7241) /* <CJK> */
-MAP(0x4A, 0x4E, 0x7242) /* <CJK> */
-MAP(0x4A, 0x4F, 0x7243) /* <CJK> */
-MAP(0x4A, 0x50, 0x7245) /* <CJK> */
-MAP(0x4A, 0x51, 0x724E) /* <CJK> */
-MAP(0x4A, 0x52, 0x724F) /* <CJK> */
-MAP(0x4A, 0x53, 0x7250) /* <CJK> */
-MAP(0x4A, 0x54, 0x7253) /* <CJK> */
-MAP(0x4A, 0x55, 0x7255) /* <CJK> */
-MAP(0x4A, 0x56, 0x7256) /* <CJK> */
-MAP(0x4A, 0x57, 0x725A) /* <CJK> */
-MAP(0x4A, 0x58, 0x725C) /* <CJK> */
-MAP(0x4A, 0x59, 0x725E) /* <CJK> */
-MAP(0x4A, 0x5A, 0x7260) /* <CJK> */
-MAP(0x4A, 0x5B, 0x7263) /* <CJK> */
-MAP(0x4A, 0x5C, 0x7268) /* <CJK> */
-MAP(0x4A, 0x5D, 0x726B) /* <CJK> */
-MAP(0x4A, 0x5E, 0x726E) /* <CJK> */
-MAP(0x4A, 0x5F, 0x726F) /* <CJK> */
-MAP(0x4A, 0x60, 0x7271) /* <CJK> */
-MAP(0x4A, 0x61, 0x7277) /* <CJK> */
-MAP(0x4A, 0x62, 0x7278) /* <CJK> */
-MAP(0x4A, 0x63, 0x727B) /* <CJK> */
-MAP(0x4A, 0x64, 0x727C) /* <CJK> */
-MAP(0x4A, 0x65, 0x727F) /* <CJK> */
-MAP(0x4A, 0x66, 0x7284) /* <CJK> */
-MAP(0x4A, 0x67, 0x7289) /* <CJK> */
-MAP(0x4A, 0x68, 0x728D) /* <CJK> */
-MAP(0x4A, 0x69, 0x728E) /* <CJK> */
-MAP(0x4A, 0x6A, 0x7293) /* <CJK> */
-MAP(0x4A, 0x6B, 0x729B) /* <CJK> */
-MAP(0x4A, 0x6C, 0x72A8) /* <CJK> */
-MAP(0x4A, 0x6D, 0x72AD) /* <CJK> */
-MAP(0x4A, 0x6E, 0x72AE) /* <CJK> */
-MAP(0x4A, 0x6F, 0x72B1) /* <CJK> */
-MAP(0x4A, 0x70, 0x72B4) /* <CJK> */
-MAP(0x4A, 0x71, 0x72BE) /* <CJK> */
-MAP(0x4A, 0x72, 0x72C1) /* <CJK> */
-MAP(0x4A, 0x73, 0x72C7) /* <CJK> */
-MAP(0x4A, 0x74, 0x72C9) /* <CJK> */
-MAP(0x4A, 0x75, 0x72CC) /* <CJK> */
-MAP(0x4A, 0x76, 0x72D5) /* <CJK> */
-MAP(0x4A, 0x77, 0x72D6) /* <CJK> */
-MAP(0x4A, 0x78, 0x72D8) /* <CJK> */
-MAP(0x4A, 0x79, 0x72DF) /* <CJK> */
-MAP(0x4A, 0x7A, 0x72E5) /* <CJK> */
-MAP(0x4A, 0x7B, 0x72F3) /* <CJK> */
-MAP(0x4A, 0x7C, 0x72F4) /* <CJK> */
-MAP(0x4A, 0x7D, 0x72FA) /* <CJK> */
-MAP(0x4A, 0x7E, 0x72FB) /* <CJK> */
-MAP(0x4B, 0x21, 0x72FE) /* <CJK> */
-MAP(0x4B, 0x22, 0x7302) /* <CJK> */
-MAP(0x4B, 0x23, 0x7304) /* <CJK> */
-MAP(0x4B, 0x24, 0x7305) /* <CJK> */
-MAP(0x4B, 0x25, 0x7307) /* <CJK> */
-MAP(0x4B, 0x26, 0x730B) /* <CJK> */
-MAP(0x4B, 0x27, 0x730D) /* <CJK> */
-MAP(0x4B, 0x28, 0x7312) /* <CJK> */
-MAP(0x4B, 0x29, 0x7313) /* <CJK> */
-MAP(0x4B, 0x2A, 0x7318) /* <CJK> */
-MAP(0x4B, 0x2B, 0x7319) /* <CJK> */
-MAP(0x4B, 0x2C, 0x731E) /* <CJK> */
-MAP(0x4B, 0x2D, 0x7322) /* <CJK> */
-MAP(0x4B, 0x2E, 0x7324) /* <CJK> */
-MAP(0x4B, 0x2F, 0x7327) /* <CJK> */
-MAP(0x4B, 0x30, 0x7328) /* <CJK> */
-MAP(0x4B, 0x31, 0x732C) /* <CJK> */
-MAP(0x4B, 0x32, 0x7331) /* <CJK> */
-MAP(0x4B, 0x33, 0x7332) /* <CJK> */
-MAP(0x4B, 0x34, 0x7335) /* <CJK> */
-MAP(0x4B, 0x35, 0x733A) /* <CJK> */
-MAP(0x4B, 0x36, 0x733B) /* <CJK> */
-MAP(0x4B, 0x37, 0x733D) /* <CJK> */
-MAP(0x4B, 0x38, 0x7343) /* <CJK> */
-MAP(0x4B, 0x39, 0x734D) /* <CJK> */
-MAP(0x4B, 0x3A, 0x7350) /* <CJK> */
-MAP(0x4B, 0x3B, 0x7352) /* <CJK> */
-MAP(0x4B, 0x3C, 0x7356) /* <CJK> */
-MAP(0x4B, 0x3D, 0x7358) /* <CJK> */
-MAP(0x4B, 0x3E, 0x735D) /* <CJK> */
-MAP(0x4B, 0x3F, 0x735E) /* <CJK> */
-MAP(0x4B, 0x40, 0x735F) /* <CJK> */
-MAP(0x4B, 0x41, 0x7360) /* <CJK> */
-MAP(0x4B, 0x42, 0x7366) /* <CJK> */
-MAP(0x4B, 0x43, 0x7367) /* <CJK> */
-MAP(0x4B, 0x44, 0x7369) /* <CJK> */
-MAP(0x4B, 0x45, 0x736B) /* <CJK> */
-MAP(0x4B, 0x46, 0x736C) /* <CJK> */
-MAP(0x4B, 0x47, 0x736E) /* <CJK> */
-MAP(0x4B, 0x48, 0x736F) /* <CJK> */
-MAP(0x4B, 0x49, 0x7371) /* <CJK> */
-MAP(0x4B, 0x4A, 0x7377) /* <CJK> */
-MAP(0x4B, 0x4B, 0x7379) /* <CJK> */
-MAP(0x4B, 0x4C, 0x737C) /* <CJK> */
-MAP(0x4B, 0x4D, 0x7380) /* <CJK> */
-MAP(0x4B, 0x4E, 0x7381) /* <CJK> */
-MAP(0x4B, 0x4F, 0x7383) /* <CJK> */
-MAP(0x4B, 0x50, 0x7385) /* <CJK> */
-MAP(0x4B, 0x51, 0x7386) /* <CJK> */
-MAP(0x4B, 0x52, 0x738E) /* <CJK> */
-MAP(0x4B, 0x53, 0x7390) /* <CJK> */
-MAP(0x4B, 0x54, 0x7393) /* <CJK> */
-MAP(0x4B, 0x55, 0x7395) /* <CJK> */
-MAP(0x4B, 0x56, 0x7397) /* <CJK> */
-MAP(0x4B, 0x57, 0x7398) /* <CJK> */
-MAP(0x4B, 0x58, 0x739C) /* <CJK> */
-MAP(0x4B, 0x59, 0x739E) /* <CJK> */
-MAP(0x4B, 0x5A, 0x739F) /* <CJK> */
-MAP(0x4B, 0x5B, 0x73A0) /* <CJK> */
-MAP(0x4B, 0x5C, 0x73A2) /* <CJK> */
-MAP(0x4B, 0x5D, 0x73A5) /* <CJK> */
-MAP(0x4B, 0x5E, 0x73A6) /* <CJK> */
-MAP(0x4B, 0x5F, 0x73AA) /* <CJK> */
-MAP(0x4B, 0x60, 0x73AB) /* <CJK> */
-MAP(0x4B, 0x61, 0x73AD) /* <CJK> */
-MAP(0x4B, 0x62, 0x73B5) /* <CJK> */
-MAP(0x4B, 0x63, 0x73B7) /* <CJK> */
-MAP(0x4B, 0x64, 0x73B9) /* <CJK> */
-MAP(0x4B, 0x65, 0x73BC) /* <CJK> */
-MAP(0x4B, 0x66, 0x73BD) /* <CJK> */
-MAP(0x4B, 0x67, 0x73BF) /* <CJK> */
-MAP(0x4B, 0x68, 0x73C5) /* <CJK> */
-MAP(0x4B, 0x69, 0x73C6) /* <CJK> */
-MAP(0x4B, 0x6A, 0x73C9) /* <CJK> */
-MAP(0x4B, 0x6B, 0x73CB) /* <CJK> */
-MAP(0x4B, 0x6C, 0x73CC) /* <CJK> */
-MAP(0x4B, 0x6D, 0x73CF) /* <CJK> */
-MAP(0x4B, 0x6E, 0x73D2) /* <CJK> */
-MAP(0x4B, 0x6F, 0x73D3) /* <CJK> */
-MAP(0x4B, 0x70, 0x73D6) /* <CJK> */
-MAP(0x4B, 0x71, 0x73D9) /* <CJK> */
-MAP(0x4B, 0x72, 0x73DD) /* <CJK> */
-MAP(0x4B, 0x73, 0x73E1) /* <CJK> */
-MAP(0x4B, 0x74, 0x73E3) /* <CJK> */
-MAP(0x4B, 0x75, 0x73E6) /* <CJK> */
-MAP(0x4B, 0x76, 0x73E7) /* <CJK> */
-MAP(0x4B, 0x77, 0x73E9) /* <CJK> */
-MAP(0x4B, 0x78, 0x73F4) /* <CJK> */
-MAP(0x4B, 0x79, 0x73F5) /* <CJK> */
-MAP(0x4B, 0x7A, 0x73F7) /* <CJK> */
-MAP(0x4B, 0x7B, 0x73F9) /* <CJK> */
-MAP(0x4B, 0x7C, 0x73FA) /* <CJK> */
-MAP(0x4B, 0x7D, 0x73FB) /* <CJK> */
-MAP(0x4B, 0x7E, 0x73FD) /* <CJK> */
-MAP(0x4C, 0x21, 0x73FF) /* <CJK> */
-MAP(0x4C, 0x22, 0x7400) /* <CJK> */
-MAP(0x4C, 0x23, 0x7401) /* <CJK> */
-MAP(0x4C, 0x24, 0x7404) /* <CJK> */
-MAP(0x4C, 0x25, 0x7407) /* <CJK> */
-MAP(0x4C, 0x26, 0x740A) /* <CJK> */
-MAP(0x4C, 0x27, 0x7411) /* <CJK> */
-MAP(0x4C, 0x28, 0x741A) /* <CJK> */
-MAP(0x4C, 0x29, 0x741B) /* <CJK> */
-MAP(0x4C, 0x2A, 0x7424) /* <CJK> */
-MAP(0x4C, 0x2B, 0x7426) /* <CJK> */
-MAP(0x4C, 0x2C, 0x7428) /* <CJK> */
-MAP(0x4C, 0x2D, 0x7429) /* <CJK> */
-MAP(0x4C, 0x2E, 0x742A) /* <CJK> */
-MAP(0x4C, 0x2F, 0x742B) /* <CJK> */
-MAP(0x4C, 0x30, 0x742C) /* <CJK> */
-MAP(0x4C, 0x31, 0x742D) /* <CJK> */
-MAP(0x4C, 0x32, 0x742E) /* <CJK> */
-MAP(0x4C, 0x33, 0x742F) /* <CJK> */
-MAP(0x4C, 0x34, 0x7430) /* <CJK> */
-MAP(0x4C, 0x35, 0x7431) /* <CJK> */
-MAP(0x4C, 0x36, 0x7439) /* <CJK> */
-MAP(0x4C, 0x37, 0x7440) /* <CJK> */
-MAP(0x4C, 0x38, 0x7443) /* <CJK> */
-MAP(0x4C, 0x39, 0x7444) /* <CJK> */
-MAP(0x4C, 0x3A, 0x7446) /* <CJK> */
-MAP(0x4C, 0x3B, 0x7447) /* <CJK> */
-MAP(0x4C, 0x3C, 0x744B) /* <CJK> */
-MAP(0x4C, 0x3D, 0x744D) /* <CJK> */
-MAP(0x4C, 0x3E, 0x7451) /* <CJK> */
-MAP(0x4C, 0x3F, 0x7452) /* <CJK> */
-MAP(0x4C, 0x40, 0x7457) /* <CJK> */
-MAP(0x4C, 0x41, 0x745D) /* <CJK> */
-MAP(0x4C, 0x42, 0x7462) /* <CJK> */
-MAP(0x4C, 0x43, 0x7466) /* <CJK> */
-MAP(0x4C, 0x44, 0x7467) /* <CJK> */
-MAP(0x4C, 0x45, 0x7468) /* <CJK> */
-MAP(0x4C, 0x46, 0x746B) /* <CJK> */
-MAP(0x4C, 0x47, 0x746D) /* <CJK> */
-MAP(0x4C, 0x48, 0x746E) /* <CJK> */
-MAP(0x4C, 0x49, 0x7471) /* <CJK> */
-MAP(0x4C, 0x4A, 0x7472) /* <CJK> */
-MAP(0x4C, 0x4B, 0x7480) /* <CJK> */
-MAP(0x4C, 0x4C, 0x7481) /* <CJK> */
-MAP(0x4C, 0x4D, 0x7485) /* <CJK> */
-MAP(0x4C, 0x4E, 0x7486) /* <CJK> */
-MAP(0x4C, 0x4F, 0x7487) /* <CJK> */
-MAP(0x4C, 0x50, 0x7489) /* <CJK> */
-MAP(0x4C, 0x51, 0x748F) /* <CJK> */
-MAP(0x4C, 0x52, 0x7490) /* <CJK> */
-MAP(0x4C, 0x53, 0x7491) /* <CJK> */
-MAP(0x4C, 0x54, 0x7492) /* <CJK> */
-MAP(0x4C, 0x55, 0x7498) /* <CJK> */
-MAP(0x4C, 0x56, 0x7499) /* <CJK> */
-MAP(0x4C, 0x57, 0x749A) /* <CJK> */
-MAP(0x4C, 0x58, 0x749C) /* <CJK> */
-MAP(0x4C, 0x59, 0x749F) /* <CJK> */
-MAP(0x4C, 0x5A, 0x74A0) /* <CJK> */
-MAP(0x4C, 0x5B, 0x74A1) /* <CJK> */
-MAP(0x4C, 0x5C, 0x74A3) /* <CJK> */
-MAP(0x4C, 0x5D, 0x74A6) /* <CJK> */
-MAP(0x4C, 0x5E, 0x74A8) /* <CJK> */
-MAP(0x4C, 0x5F, 0x74A9) /* <CJK> */
-MAP(0x4C, 0x60, 0x74AA) /* <CJK> */
-MAP(0x4C, 0x61, 0x74AB) /* <CJK> */
-MAP(0x4C, 0x62, 0x74AE) /* <CJK> */
-MAP(0x4C, 0x63, 0x74AF) /* <CJK> */
-MAP(0x4C, 0x64, 0x74B1) /* <CJK> */
-MAP(0x4C, 0x65, 0x74B2) /* <CJK> */
-MAP(0x4C, 0x66, 0x74B5) /* <CJK> */
-MAP(0x4C, 0x67, 0x74B9) /* <CJK> */
-MAP(0x4C, 0x68, 0x74BB) /* <CJK> */
-MAP(0x4C, 0x69, 0x74BF) /* <CJK> */
-MAP(0x4C, 0x6A, 0x74C8) /* <CJK> */
-MAP(0x4C, 0x6B, 0x74C9) /* <CJK> */
-MAP(0x4C, 0x6C, 0x74CC) /* <CJK> */
-MAP(0x4C, 0x6D, 0x74D0) /* <CJK> */
-MAP(0x4C, 0x6E, 0x74D3) /* <CJK> */
-MAP(0x4C, 0x6F, 0x74D8) /* <CJK> */
-MAP(0x4C, 0x70, 0x74DA) /* <CJK> */
-MAP(0x4C, 0x71, 0x74DB) /* <CJK> */
-MAP(0x4C, 0x72, 0x74DE) /* <CJK> */
-MAP(0x4C, 0x73, 0x74DF) /* <CJK> */
-MAP(0x4C, 0x74, 0x74E4) /* <CJK> */
-MAP(0x4C, 0x75, 0x74E8) /* <CJK> */
-MAP(0x4C, 0x76, 0x74EA) /* <CJK> */
-MAP(0x4C, 0x77, 0x74EB) /* <CJK> */
-MAP(0x4C, 0x78, 0x74EF) /* <CJK> */
-MAP(0x4C, 0x79, 0x74F4) /* <CJK> */
-MAP(0x4C, 0x7A, 0x74FA) /* <CJK> */
-MAP(0x4C, 0x7B, 0x74FB) /* <CJK> */
-MAP(0x4C, 0x7C, 0x74FC) /* <CJK> */
-MAP(0x4C, 0x7D, 0x74FF) /* <CJK> */
-MAP(0x4C, 0x7E, 0x7506) /* <CJK> */
-MAP(0x4D, 0x21, 0x7512) /* <CJK> */
-MAP(0x4D, 0x22, 0x7516) /* <CJK> */
-MAP(0x4D, 0x23, 0x7517) /* <CJK> */
-MAP(0x4D, 0x24, 0x7520) /* <CJK> */
-MAP(0x4D, 0x25, 0x7521) /* <CJK> */
-MAP(0x4D, 0x26, 0x7524) /* <CJK> */
-MAP(0x4D, 0x27, 0x7527) /* <CJK> */
-MAP(0x4D, 0x28, 0x7529) /* <CJK> */
-MAP(0x4D, 0x29, 0x752A) /* <CJK> */
-MAP(0x4D, 0x2A, 0x752F) /* <CJK> */
-MAP(0x4D, 0x2B, 0x7536) /* <CJK> */
-MAP(0x4D, 0x2C, 0x7539) /* <CJK> */
-MAP(0x4D, 0x2D, 0x753D) /* <CJK> */
-MAP(0x4D, 0x2E, 0x753E) /* <CJK> */
-MAP(0x4D, 0x2F, 0x753F) /* <CJK> */
-MAP(0x4D, 0x30, 0x7540) /* <CJK> */
-MAP(0x4D, 0x31, 0x7543) /* <CJK> */
-MAP(0x4D, 0x32, 0x7547) /* <CJK> */
-MAP(0x4D, 0x33, 0x7548) /* <CJK> */
-MAP(0x4D, 0x34, 0x754E) /* <CJK> */
-MAP(0x4D, 0x35, 0x7550) /* <CJK> */
-MAP(0x4D, 0x36, 0x7552) /* <CJK> */
-MAP(0x4D, 0x37, 0x7557) /* <CJK> */
-MAP(0x4D, 0x38, 0x755E) /* <CJK> */
-MAP(0x4D, 0x39, 0x755F) /* <CJK> */
-MAP(0x4D, 0x3A, 0x7561) /* <CJK> */
-MAP(0x4D, 0x3B, 0x756F) /* <CJK> */
-MAP(0x4D, 0x3C, 0x7571) /* <CJK> */
-MAP(0x4D, 0x3D, 0x7579) /* <CJK> */
-MAP(0x4D, 0x3E, 0x757A) /* <CJK> */
-MAP(0x4D, 0x3F, 0x757B) /* <CJK> */
-MAP(0x4D, 0x40, 0x757C) /* <CJK> */
-MAP(0x4D, 0x41, 0x757D) /* <CJK> */
-MAP(0x4D, 0x42, 0x757E) /* <CJK> */
-MAP(0x4D, 0x43, 0x7581) /* <CJK> */
-MAP(0x4D, 0x44, 0x7585) /* <CJK> */
-MAP(0x4D, 0x45, 0x7590) /* <CJK> */
-MAP(0x4D, 0x46, 0x7592) /* <CJK> */
-MAP(0x4D, 0x47, 0x7593) /* <CJK> */
-MAP(0x4D, 0x48, 0x7595) /* <CJK> */
-MAP(0x4D, 0x49, 0x7599) /* <CJK> */
-MAP(0x4D, 0x4A, 0x759C) /* <CJK> */
-MAP(0x4D, 0x4B, 0x75A2) /* <CJK> */
-MAP(0x4D, 0x4C, 0x75A4) /* <CJK> */
-MAP(0x4D, 0x4D, 0x75B4) /* <CJK> */
-MAP(0x4D, 0x4E, 0x75BA) /* <CJK> */
-MAP(0x4D, 0x4F, 0x75BF) /* <CJK> */
-MAP(0x4D, 0x50, 0x75C0) /* <CJK> */
-MAP(0x4D, 0x51, 0x75C1) /* <CJK> */
-MAP(0x4D, 0x52, 0x75C4) /* <CJK> */
-MAP(0x4D, 0x53, 0x75C6) /* <CJK> */
-MAP(0x4D, 0x54, 0x75CC) /* <CJK> */
-MAP(0x4D, 0x55, 0x75CE) /* <CJK> */
-MAP(0x4D, 0x56, 0x75CF) /* <CJK> */
-MAP(0x4D, 0x57, 0x75D7) /* <CJK> */
-MAP(0x4D, 0x58, 0x75DC) /* <CJK> */
-MAP(0x4D, 0x59, 0x75DF) /* <CJK> */
-MAP(0x4D, 0x5A, 0x75E0) /* <CJK> */
-MAP(0x4D, 0x5B, 0x75E1) /* <CJK> */
-MAP(0x4D, 0x5C, 0x75E4) /* <CJK> */
-MAP(0x4D, 0x5D, 0x75E7) /* <CJK> */
-MAP(0x4D, 0x5E, 0x75EC) /* <CJK> */
-MAP(0x4D, 0x5F, 0x75EE) /* <CJK> */
-MAP(0x4D, 0x60, 0x75EF) /* <CJK> */
-MAP(0x4D, 0x61, 0x75F1) /* <CJK> */
-MAP(0x4D, 0x62, 0x75F9) /* <CJK> */
-MAP(0x4D, 0x63, 0x7600) /* <CJK> */
-MAP(0x4D, 0x64, 0x7602) /* <CJK> */
-MAP(0x4D, 0x65, 0x7603) /* <CJK> */
-MAP(0x4D, 0x66, 0x7604) /* <CJK> */
-MAP(0x4D, 0x67, 0x7607) /* <CJK> */
-MAP(0x4D, 0x68, 0x7608) /* <CJK> */
-MAP(0x4D, 0x69, 0x760A) /* <CJK> */
-MAP(0x4D, 0x6A, 0x760C) /* <CJK> */
-MAP(0x4D, 0x6B, 0x760F) /* <CJK> */
-MAP(0x4D, 0x6C, 0x7612) /* <CJK> */
-MAP(0x4D, 0x6D, 0x7613) /* <CJK> */
-MAP(0x4D, 0x6E, 0x7615) /* <CJK> */
-MAP(0x4D, 0x6F, 0x7616) /* <CJK> */
-MAP(0x4D, 0x70, 0x7619) /* <CJK> */
-MAP(0x4D, 0x71, 0x761B) /* <CJK> */
-MAP(0x4D, 0x72, 0x761C) /* <CJK> */
-MAP(0x4D, 0x73, 0x761D) /* <CJK> */
-MAP(0x4D, 0x74, 0x761E) /* <CJK> */
-MAP(0x4D, 0x75, 0x7623) /* <CJK> */
-MAP(0x4D, 0x76, 0x7625) /* <CJK> */
-MAP(0x4D, 0x77, 0x7626) /* <CJK> */
-MAP(0x4D, 0x78, 0x7629) /* <CJK> */
-MAP(0x4D, 0x79, 0x762D) /* <CJK> */
-MAP(0x4D, 0x7A, 0x7632) /* <CJK> */
-MAP(0x4D, 0x7B, 0x7633) /* <CJK> */
-MAP(0x4D, 0x7C, 0x7635) /* <CJK> */
-MAP(0x4D, 0x7D, 0x7638) /* <CJK> */
-MAP(0x4D, 0x7E, 0x7639) /* <CJK> */
-MAP(0x4E, 0x21, 0x763A) /* <CJK> */
-MAP(0x4E, 0x22, 0x763C) /* <CJK> */
-MAP(0x4E, 0x23, 0x764A) /* <CJK> */
-MAP(0x4E, 0x24, 0x7640) /* <CJK> */
-MAP(0x4E, 0x25, 0x7641) /* <CJK> */
-MAP(0x4E, 0x26, 0x7643) /* <CJK> */
-MAP(0x4E, 0x27, 0x7644) /* <CJK> */
-MAP(0x4E, 0x28, 0x7645) /* <CJK> */
-MAP(0x4E, 0x29, 0x7649) /* <CJK> */
-MAP(0x4E, 0x2A, 0x764B) /* <CJK> */
-MAP(0x4E, 0x2B, 0x7655) /* <CJK> */
-MAP(0x4E, 0x2C, 0x7659) /* <CJK> */
-MAP(0x4E, 0x2D, 0x765F) /* <CJK> */
-MAP(0x4E, 0x2E, 0x7664) /* <CJK> */
-MAP(0x4E, 0x2F, 0x7665) /* <CJK> */
-MAP(0x4E, 0x30, 0x766D) /* <CJK> */
-MAP(0x4E, 0x31, 0x766E) /* <CJK> */
-MAP(0x4E, 0x32, 0x766F) /* <CJK> */
-MAP(0x4E, 0x33, 0x7671) /* <CJK> */
-MAP(0x4E, 0x34, 0x7674) /* <CJK> */
-MAP(0x4E, 0x35, 0x7681) /* <CJK> */
-MAP(0x4E, 0x36, 0x7685) /* <CJK> */
-MAP(0x4E, 0x37, 0x768C) /* <CJK> */
-MAP(0x4E, 0x38, 0x768D) /* <CJK> */
-MAP(0x4E, 0x39, 0x7695) /* <CJK> */
-MAP(0x4E, 0x3A, 0x769B) /* <CJK> */
-MAP(0x4E, 0x3B, 0x769C) /* <CJK> */
-MAP(0x4E, 0x3C, 0x769D) /* <CJK> */
-MAP(0x4E, 0x3D, 0x769F) /* <CJK> */
-MAP(0x4E, 0x3E, 0x76A0) /* <CJK> */
-MAP(0x4E, 0x3F, 0x76A2) /* <CJK> */
-MAP(0x4E, 0x40, 0x76A3) /* <CJK> */
-MAP(0x4E, 0x41, 0x76A4) /* <CJK> */
-MAP(0x4E, 0x42, 0x76A5) /* <CJK> */
-MAP(0x4E, 0x43, 0x76A6) /* <CJK> */
-MAP(0x4E, 0x44, 0x76A7) /* <CJK> */
-MAP(0x4E, 0x45, 0x76A8) /* <CJK> */
-MAP(0x4E, 0x46, 0x76AA) /* <CJK> */
-MAP(0x4E, 0x47, 0x76AD) /* <CJK> */
-MAP(0x4E, 0x48, 0x76BD) /* <CJK> */
-MAP(0x4E, 0x49, 0x76C1) /* <CJK> */
-MAP(0x4E, 0x4A, 0x76C5) /* <CJK> */
-MAP(0x4E, 0x4B, 0x76C9) /* <CJK> */
-MAP(0x4E, 0x4C, 0x76CB) /* <CJK> */
-MAP(0x4E, 0x4D, 0x76CC) /* <CJK> */
-MAP(0x4E, 0x4E, 0x76CE) /* <CJK> */
-MAP(0x4E, 0x4F, 0x76D4) /* <CJK> */
-MAP(0x4E, 0x50, 0x76D9) /* <CJK> */
-MAP(0x4E, 0x51, 0x76E0) /* <CJK> */
-MAP(0x4E, 0x52, 0x76E6) /* <CJK> */
-MAP(0x4E, 0x53, 0x76E8) /* <CJK> */
-MAP(0x4E, 0x54, 0x76EC) /* <CJK> */
-MAP(0x4E, 0x55, 0x76F0) /* <CJK> */
-MAP(0x4E, 0x56, 0x76F1) /* <CJK> */
-MAP(0x4E, 0x57, 0x76F6) /* <CJK> */
-MAP(0x4E, 0x58, 0x76F9) /* <CJK> */
-MAP(0x4E, 0x59, 0x76FC) /* <CJK> */
-MAP(0x4E, 0x5A, 0x7700) /* <CJK> */
-MAP(0x4E, 0x5B, 0x7706) /* <CJK> */
-MAP(0x4E, 0x5C, 0x770A) /* <CJK> */
-MAP(0x4E, 0x5D, 0x770E) /* <CJK> */
-MAP(0x4E, 0x5E, 0x7712) /* <CJK> */
-MAP(0x4E, 0x5F, 0x7714) /* <CJK> */
-MAP(0x4E, 0x60, 0x7715) /* <CJK> */
-MAP(0x4E, 0x61, 0x7717) /* <CJK> */
-MAP(0x4E, 0x62, 0x7719) /* <CJK> */
-MAP(0x4E, 0x63, 0x771A) /* <CJK> */
-MAP(0x4E, 0x64, 0x771C) /* <CJK> */
-MAP(0x4E, 0x65, 0x7722) /* <CJK> */
-MAP(0x4E, 0x66, 0x7728) /* <CJK> */
-MAP(0x4E, 0x67, 0x772D) /* <CJK> */
-MAP(0x4E, 0x68, 0x772E) /* <CJK> */
-MAP(0x4E, 0x69, 0x772F) /* <CJK> */
-MAP(0x4E, 0x6A, 0x7734) /* <CJK> */
-MAP(0x4E, 0x6B, 0x7735) /* <CJK> */
-MAP(0x4E, 0x6C, 0x7736) /* <CJK> */
-MAP(0x4E, 0x6D, 0x7739) /* <CJK> */
-MAP(0x4E, 0x6E, 0x773D) /* <CJK> */
-MAP(0x4E, 0x6F, 0x773E) /* <CJK> */
-MAP(0x4E, 0x70, 0x7742) /* <CJK> */
-MAP(0x4E, 0x71, 0x7745) /* <CJK> */
-MAP(0x4E, 0x72, 0x7746) /* <CJK> */
-MAP(0x4E, 0x73, 0x774A) /* <CJK> */
-MAP(0x4E, 0x74, 0x774D) /* <CJK> */
-MAP(0x4E, 0x75, 0x774E) /* <CJK> */
-MAP(0x4E, 0x76, 0x774F) /* <CJK> */
-MAP(0x4E, 0x77, 0x7752) /* <CJK> */
-MAP(0x4E, 0x78, 0x7756) /* <CJK> */
-MAP(0x4E, 0x79, 0x7757) /* <CJK> */
-MAP(0x4E, 0x7A, 0x775C) /* <CJK> */
-MAP(0x4E, 0x7B, 0x775E) /* <CJK> */
-MAP(0x4E, 0x7C, 0x775F) /* <CJK> */
-MAP(0x4E, 0x7D, 0x7760) /* <CJK> */
-MAP(0x4E, 0x7E, 0x7762) /* <CJK> */
-MAP(0x4F, 0x21, 0x7764) /* <CJK> */
-MAP(0x4F, 0x22, 0x7767) /* <CJK> */
-MAP(0x4F, 0x23, 0x776A) /* <CJK> */
-MAP(0x4F, 0x24, 0x776C) /* <CJK> */
-MAP(0x4F, 0x25, 0x7770) /* <CJK> */
-MAP(0x4F, 0x26, 0x7772) /* <CJK> */
-MAP(0x4F, 0x27, 0x7773) /* <CJK> */
-MAP(0x4F, 0x28, 0x7774) /* <CJK> */
-MAP(0x4F, 0x29, 0x777A) /* <CJK> */
-MAP(0x4F, 0x2A, 0x777D) /* <CJK> */
-MAP(0x4F, 0x2B, 0x7780) /* <CJK> */
-MAP(0x4F, 0x2C, 0x7784) /* <CJK> */
-MAP(0x4F, 0x2D, 0x778C) /* <CJK> */
-MAP(0x4F, 0x2E, 0x778D) /* <CJK> */
-MAP(0x4F, 0x2F, 0x7794) /* <CJK> */
-MAP(0x4F, 0x30, 0x7795) /* <CJK> */
-MAP(0x4F, 0x31, 0x7796) /* <CJK> */
-MAP(0x4F, 0x32, 0x779A) /* <CJK> */
-MAP(0x4F, 0x33, 0x779F) /* <CJK> */
-MAP(0x4F, 0x34, 0x77A2) /* <CJK> */
-MAP(0x4F, 0x35, 0x77A7) /* <CJK> */
-MAP(0x4F, 0x36, 0x77AA) /* <CJK> */
-MAP(0x4F, 0x37, 0x77AE) /* <CJK> */
-MAP(0x4F, 0x38, 0x77AF) /* <CJK> */
-MAP(0x4F, 0x39, 0x77B1) /* <CJK> */
-MAP(0x4F, 0x3A, 0x77B5) /* <CJK> */
-MAP(0x4F, 0x3B, 0x77BE) /* <CJK> */
-MAP(0x4F, 0x3C, 0x77C3) /* <CJK> */
-MAP(0x4F, 0x3D, 0x77C9) /* <CJK> */
-MAP(0x4F, 0x3E, 0x77D1) /* <CJK> */
-MAP(0x4F, 0x3F, 0x77D2) /* <CJK> */
-MAP(0x4F, 0x40, 0x77D5) /* <CJK> */
-MAP(0x4F, 0x41, 0x77D9) /* <CJK> */
-MAP(0x4F, 0x42, 0x77DE) /* <CJK> */
-MAP(0x4F, 0x43, 0x77DF) /* <CJK> */
-MAP(0x4F, 0x44, 0x77E0) /* <CJK> */
-MAP(0x4F, 0x45, 0x77E4) /* <CJK> */
-MAP(0x4F, 0x46, 0x77E6) /* <CJK> */
-MAP(0x4F, 0x47, 0x77EA) /* <CJK> */
-MAP(0x4F, 0x48, 0x77EC) /* <CJK> */
-MAP(0x4F, 0x49, 0x77F0) /* <CJK> */
-MAP(0x4F, 0x4A, 0x77F1) /* <CJK> */
-MAP(0x4F, 0x4B, 0x77F4) /* <CJK> */
-MAP(0x4F, 0x4C, 0x77F8) /* <CJK> */
-MAP(0x4F, 0x4D, 0x77FB) /* <CJK> */
-MAP(0x4F, 0x4E, 0x7805) /* <CJK> */
-MAP(0x4F, 0x4F, 0x7806) /* <CJK> */
-MAP(0x4F, 0x50, 0x7809) /* <CJK> */
-MAP(0x4F, 0x51, 0x780D) /* <CJK> */
-MAP(0x4F, 0x52, 0x780E) /* <CJK> */
-MAP(0x4F, 0x53, 0x7811) /* <CJK> */
-MAP(0x4F, 0x54, 0x781D) /* <CJK> */
-MAP(0x4F, 0x55, 0x7821) /* <CJK> */
-MAP(0x4F, 0x56, 0x7822) /* <CJK> */
-MAP(0x4F, 0x57, 0x7823) /* <CJK> */
-MAP(0x4F, 0x58, 0x782D) /* <CJK> */
-MAP(0x4F, 0x59, 0x782E) /* <CJK> */
-MAP(0x4F, 0x5A, 0x7830) /* <CJK> */
-MAP(0x4F, 0x5B, 0x7835) /* <CJK> */
-MAP(0x4F, 0x5C, 0x7837) /* <CJK> */
-MAP(0x4F, 0x5D, 0x7843) /* <CJK> */
-MAP(0x4F, 0x5E, 0x7844) /* <CJK> */
-MAP(0x4F, 0x5F, 0x7847) /* <CJK> */
-MAP(0x4F, 0x60, 0x7848) /* <CJK> */
-MAP(0x4F, 0x61, 0x784C) /* <CJK> */
-MAP(0x4F, 0x62, 0x784E) /* <CJK> */
-MAP(0x4F, 0x63, 0x7852) /* <CJK> */
-MAP(0x4F, 0x64, 0x785C) /* <CJK> */
-MAP(0x4F, 0x65, 0x785E) /* <CJK> */
-MAP(0x4F, 0x66, 0x7860) /* <CJK> */
-MAP(0x4F, 0x67, 0x7861) /* <CJK> */
-MAP(0x4F, 0x68, 0x7863) /* <CJK> */
-MAP(0x4F, 0x69, 0x7864) /* <CJK> */
-MAP(0x4F, 0x6A, 0x7868) /* <CJK> */
-MAP(0x4F, 0x6B, 0x786A) /* <CJK> */
-MAP(0x4F, 0x6C, 0x786E) /* <CJK> */
-MAP(0x4F, 0x6D, 0x787A) /* <CJK> */
-MAP(0x4F, 0x6E, 0x787E) /* <CJK> */
-MAP(0x4F, 0x6F, 0x788A) /* <CJK> */
-MAP(0x4F, 0x70, 0x788F) /* <CJK> */
-MAP(0x4F, 0x71, 0x7894) /* <CJK> */
-MAP(0x4F, 0x72, 0x7898) /* <CJK> */
-MAP(0x4F, 0x73, 0x78A1) /* <CJK> */
-MAP(0x4F, 0x74, 0x789D) /* <CJK> */
-MAP(0x4F, 0x75, 0x789E) /* <CJK> */
-MAP(0x4F, 0x76, 0x789F) /* <CJK> */
-MAP(0x4F, 0x77, 0x78A4) /* <CJK> */
-MAP(0x4F, 0x78, 0x78A8) /* <CJK> */
-MAP(0x4F, 0x79, 0x78AC) /* <CJK> */
-MAP(0x4F, 0x7A, 0x78AD) /* <CJK> */
-MAP(0x4F, 0x7B, 0x78B0) /* <CJK> */
-MAP(0x4F, 0x7C, 0x78B1) /* <CJK> */
-MAP(0x4F, 0x7D, 0x78B2) /* <CJK> */
-MAP(0x4F, 0x7E, 0x78B3) /* <CJK> */
-MAP(0x50, 0x21, 0x78BB) /* <CJK> */
-MAP(0x50, 0x22, 0x78BD) /* <CJK> */
-MAP(0x50, 0x23, 0x78BF) /* <CJK> */
-MAP(0x50, 0x24, 0x78C7) /* <CJK> */
-MAP(0x50, 0x25, 0x78C8) /* <CJK> */
-MAP(0x50, 0x26, 0x78C9) /* <CJK> */
-MAP(0x50, 0x27, 0x78CC) /* <CJK> */
-MAP(0x50, 0x28, 0x78CE) /* <CJK> */
-MAP(0x50, 0x29, 0x78D2) /* <CJK> */
-MAP(0x50, 0x2A, 0x78D3) /* <CJK> */
-MAP(0x50, 0x2B, 0x78D5) /* <CJK> */
-MAP(0x50, 0x2C, 0x78D6) /* <CJK> */
-MAP(0x50, 0x2D, 0x78E4) /* <CJK> */
-MAP(0x50, 0x2E, 0x78DB) /* <CJK> */
-MAP(0x50, 0x2F, 0x78DF) /* <CJK> */
-MAP(0x50, 0x30, 0x78E0) /* <CJK> */
-MAP(0x50, 0x31, 0x78E1) /* <CJK> */
-MAP(0x50, 0x32, 0x78E6) /* <CJK> */
-MAP(0x50, 0x33, 0x78EA) /* <CJK> */
-MAP(0x50, 0x34, 0x78F2) /* <CJK> */
-MAP(0x50, 0x35, 0x78F3) /* <CJK> */
-MAP(0x50, 0x36, 0x7900) /* <CJK> */
-MAP(0x50, 0x37, 0x78F6) /* <CJK> */
-MAP(0x50, 0x38, 0x78F7) /* <CJK> */
-MAP(0x50, 0x39, 0x78FA) /* <CJK> */
-MAP(0x50, 0x3A, 0x78FB) /* <CJK> */
-MAP(0x50, 0x3B, 0x78FF) /* <CJK> */
-MAP(0x50, 0x3C, 0x7906) /* <CJK> */
-MAP(0x50, 0x3D, 0x790C) /* <CJK> */
-MAP(0x50, 0x3E, 0x7910) /* <CJK> */
-MAP(0x50, 0x3F, 0x791A) /* <CJK> */
-MAP(0x50, 0x40, 0x791C) /* <CJK> */
-MAP(0x50, 0x41, 0x791E) /* <CJK> */
-MAP(0x50, 0x42, 0x791F) /* <CJK> */
-MAP(0x50, 0x43, 0x7920) /* <CJK> */
-MAP(0x50, 0x44, 0x7925) /* <CJK> */
-MAP(0x50, 0x45, 0x7927) /* <CJK> */
-MAP(0x50, 0x46, 0x7929) /* <CJK> */
-MAP(0x50, 0x47, 0x792D) /* <CJK> */
-MAP(0x50, 0x48, 0x7931) /* <CJK> */
-MAP(0x50, 0x49, 0x7934) /* <CJK> */
-MAP(0x50, 0x4A, 0x7935) /* <CJK> */
-MAP(0x50, 0x4B, 0x793B) /* <CJK> */
-MAP(0x50, 0x4C, 0x793D) /* <CJK> */
-MAP(0x50, 0x4D, 0x793F) /* <CJK> */
-MAP(0x50, 0x4E, 0x7944) /* <CJK> */
-MAP(0x50, 0x4F, 0x7945) /* <CJK> */
-MAP(0x50, 0x50, 0x7946) /* <CJK> */
-MAP(0x50, 0x51, 0x794A) /* <CJK> */
-MAP(0x50, 0x52, 0x794B) /* <CJK> */
-MAP(0x50, 0x53, 0x794F) /* <CJK> */
-MAP(0x50, 0x54, 0x7951) /* <CJK> */
-MAP(0x50, 0x55, 0x7954) /* <CJK> */
-MAP(0x50, 0x56, 0x7958) /* <CJK> */
-MAP(0x50, 0x57, 0x795B) /* <CJK> */
-MAP(0x50, 0x58, 0x795C) /* <CJK> */
-MAP(0x50, 0x59, 0x7967) /* <CJK> */
-MAP(0x50, 0x5A, 0x7969) /* <CJK> */
-MAP(0x50, 0x5B, 0x796B) /* <CJK> */
-MAP(0x50, 0x5C, 0x7972) /* <CJK> */
-MAP(0x50, 0x5D, 0x7979) /* <CJK> */
-MAP(0x50, 0x5E, 0x797B) /* <CJK> */
-MAP(0x50, 0x5F, 0x797C) /* <CJK> */
-MAP(0x50, 0x60, 0x797E) /* <CJK> */
-MAP(0x50, 0x61, 0x798B) /* <CJK> */
-MAP(0x50, 0x62, 0x798C) /* <CJK> */
-MAP(0x50, 0x63, 0x7991) /* <CJK> */
-MAP(0x50, 0x64, 0x7993) /* <CJK> */
-MAP(0x50, 0x65, 0x7994) /* <CJK> */
-MAP(0x50, 0x66, 0x7995) /* <CJK> */
-MAP(0x50, 0x67, 0x7996) /* <CJK> */
-MAP(0x50, 0x68, 0x7998) /* <CJK> */
-MAP(0x50, 0x69, 0x799B) /* <CJK> */
-MAP(0x50, 0x6A, 0x799C) /* <CJK> */
-MAP(0x50, 0x6B, 0x79A1) /* <CJK> */
-MAP(0x50, 0x6C, 0x79A8) /* <CJK> */
-MAP(0x50, 0x6D, 0x79A9) /* <CJK> */
-MAP(0x50, 0x6E, 0x79AB) /* <CJK> */
-MAP(0x50, 0x6F, 0x79AF) /* <CJK> */
-MAP(0x50, 0x70, 0x79B1) /* <CJK> */
-MAP(0x50, 0x71, 0x79B4) /* <CJK> */
-MAP(0x50, 0x72, 0x79B8) /* <CJK> */
-MAP(0x50, 0x73, 0x79BB) /* <CJK> */
-MAP(0x50, 0x74, 0x79C2) /* <CJK> */
-MAP(0x50, 0x75, 0x79C4) /* <CJK> */
-MAP(0x50, 0x76, 0x79C7) /* <CJK> */
-MAP(0x50, 0x77, 0x79C8) /* <CJK> */
-MAP(0x50, 0x78, 0x79CA) /* <CJK> */
-MAP(0x50, 0x79, 0x79CF) /* <CJK> */
-MAP(0x50, 0x7A, 0x79D4) /* <CJK> */
-MAP(0x50, 0x7B, 0x79D6) /* <CJK> */
-MAP(0x50, 0x7C, 0x79DA) /* <CJK> */
-MAP(0x50, 0x7D, 0x79DD) /* <CJK> */
-MAP(0x50, 0x7E, 0x79DE) /* <CJK> */
-MAP(0x51, 0x21, 0x79E0) /* <CJK> */
-MAP(0x51, 0x22, 0x79E2) /* <CJK> */
-MAP(0x51, 0x23, 0x79E5) /* <CJK> */
-MAP(0x51, 0x24, 0x79EA) /* <CJK> */
-MAP(0x51, 0x25, 0x79EB) /* <CJK> */
-MAP(0x51, 0x26, 0x79ED) /* <CJK> */
-MAP(0x51, 0x27, 0x79F1) /* <CJK> */
-MAP(0x51, 0x28, 0x79F8) /* <CJK> */
-MAP(0x51, 0x29, 0x79FC) /* <CJK> */
-MAP(0x51, 0x2A, 0x7A02) /* <CJK> */
-MAP(0x51, 0x2B, 0x7A03) /* <CJK> */
-MAP(0x51, 0x2C, 0x7A07) /* <CJK> */
-MAP(0x51, 0x2D, 0x7A09) /* <CJK> */
-MAP(0x51, 0x2E, 0x7A0A) /* <CJK> */
-MAP(0x51, 0x2F, 0x7A0C) /* <CJK> */
-MAP(0x51, 0x30, 0x7A11) /* <CJK> */
-MAP(0x51, 0x31, 0x7A15) /* <CJK> */
-MAP(0x51, 0x32, 0x7A1B) /* <CJK> */
-MAP(0x51, 0x33, 0x7A1E) /* <CJK> */
-MAP(0x51, 0x34, 0x7A21) /* <CJK> */
-MAP(0x51, 0x35, 0x7A27) /* <CJK> */
-MAP(0x51, 0x36, 0x7A2B) /* <CJK> */
-MAP(0x51, 0x37, 0x7A2D) /* <CJK> */
-MAP(0x51, 0x38, 0x7A2F) /* <CJK> */
-MAP(0x51, 0x39, 0x7A30) /* <CJK> */
-MAP(0x51, 0x3A, 0x7A34) /* <CJK> */
-MAP(0x51, 0x3B, 0x7A35) /* <CJK> */
-MAP(0x51, 0x3C, 0x7A38) /* <CJK> */
-MAP(0x51, 0x3D, 0x7A39) /* <CJK> */
-MAP(0x51, 0x3E, 0x7A3A) /* <CJK> */
-MAP(0x51, 0x3F, 0x7A44) /* <CJK> */
-MAP(0x51, 0x40, 0x7A45) /* <CJK> */
-MAP(0x51, 0x41, 0x7A47) /* <CJK> */
-MAP(0x51, 0x42, 0x7A48) /* <CJK> */
-MAP(0x51, 0x43, 0x7A4C) /* <CJK> */
-MAP(0x51, 0x44, 0x7A55) /* <CJK> */
-MAP(0x51, 0x45, 0x7A56) /* <CJK> */
-MAP(0x51, 0x46, 0x7A59) /* <CJK> */
-MAP(0x51, 0x47, 0x7A5C) /* <CJK> */
-MAP(0x51, 0x48, 0x7A5D) /* <CJK> */
-MAP(0x51, 0x49, 0x7A5F) /* <CJK> */
-MAP(0x51, 0x4A, 0x7A60) /* <CJK> */
-MAP(0x51, 0x4B, 0x7A65) /* <CJK> */
-MAP(0x51, 0x4C, 0x7A67) /* <CJK> */
-MAP(0x51, 0x4D, 0x7A6A) /* <CJK> */
-MAP(0x51, 0x4E, 0x7A6D) /* <CJK> */
-MAP(0x51, 0x4F, 0x7A75) /* <CJK> */
-MAP(0x51, 0x50, 0x7A78) /* <CJK> */
-MAP(0x51, 0x51, 0x7A7E) /* <CJK> */
-MAP(0x51, 0x52, 0x7A80) /* <CJK> */
-MAP(0x51, 0x53, 0x7A82) /* <CJK> */
-MAP(0x51, 0x54, 0x7A85) /* <CJK> */
-MAP(0x51, 0x55, 0x7A86) /* <CJK> */
-MAP(0x51, 0x56, 0x7A8A) /* <CJK> */
-MAP(0x51, 0x57, 0x7A8B) /* <CJK> */
-MAP(0x51, 0x58, 0x7A90) /* <CJK> */
-MAP(0x51, 0x59, 0x7A91) /* <CJK> */
-MAP(0x51, 0x5A, 0x7A94) /* <CJK> */
-MAP(0x51, 0x5B, 0x7A9E) /* <CJK> */
-MAP(0x51, 0x5C, 0x7AA0) /* <CJK> */
-MAP(0x51, 0x5D, 0x7AA3) /* <CJK> */
-MAP(0x51, 0x5E, 0x7AAC) /* <CJK> */
-MAP(0x51, 0x5F, 0x7AB3) /* <CJK> */
-MAP(0x51, 0x60, 0x7AB5) /* <CJK> */
-MAP(0x51, 0x61, 0x7AB9) /* <CJK> */
-MAP(0x51, 0x62, 0x7ABB) /* <CJK> */
-MAP(0x51, 0x63, 0x7ABC) /* <CJK> */
-MAP(0x51, 0x64, 0x7AC6) /* <CJK> */
-MAP(0x51, 0x65, 0x7AC9) /* <CJK> */
-MAP(0x51, 0x66, 0x7ACC) /* <CJK> */
-MAP(0x51, 0x67, 0x7ACE) /* <CJK> */
-MAP(0x51, 0x68, 0x7AD1) /* <CJK> */
-MAP(0x51, 0x69, 0x7ADB) /* <CJK> */
-MAP(0x51, 0x6A, 0x7AE8) /* <CJK> */
-MAP(0x51, 0x6B, 0x7AE9) /* <CJK> */
-MAP(0x51, 0x6C, 0x7AEB) /* <CJK> */
-MAP(0x51, 0x6D, 0x7AEC) /* <CJK> */
-MAP(0x51, 0x6E, 0x7AF1) /* <CJK> */
-MAP(0x51, 0x6F, 0x7AF4) /* <CJK> */
-MAP(0x51, 0x70, 0x7AFB) /* <CJK> */
-MAP(0x51, 0x71, 0x7AFD) /* <CJK> */
-MAP(0x51, 0x72, 0x7AFE) /* <CJK> */
-MAP(0x51, 0x73, 0x7B07) /* <CJK> */
-MAP(0x51, 0x74, 0x7B14) /* <CJK> */
-MAP(0x51, 0x75, 0x7B1F) /* <CJK> */
-MAP(0x51, 0x76, 0x7B23) /* <CJK> */
-MAP(0x51, 0x77, 0x7B27) /* <CJK> */
-MAP(0x51, 0x78, 0x7B29) /* <CJK> */
-MAP(0x51, 0x79, 0x7B2A) /* <CJK> */
-MAP(0x51, 0x7A, 0x7B2B) /* <CJK> */
-MAP(0x51, 0x7B, 0x7B2D) /* <CJK> */
-MAP(0x51, 0x7C, 0x7B2E) /* <CJK> */
-MAP(0x51, 0x7D, 0x7B2F) /* <CJK> */
-MAP(0x51, 0x7E, 0x7B30) /* <CJK> */
-MAP(0x52, 0x21, 0x7B31) /* <CJK> */
-MAP(0x52, 0x22, 0x7B34) /* <CJK> */
-MAP(0x52, 0x23, 0x7B3D) /* <CJK> */
-MAP(0x52, 0x24, 0x7B3F) /* <CJK> */
-MAP(0x52, 0x25, 0x7B40) /* <CJK> */
-MAP(0x52, 0x26, 0x7B41) /* <CJK> */
-MAP(0x52, 0x27, 0x7B47) /* <CJK> */
-MAP(0x52, 0x28, 0x7B4E) /* <CJK> */
-MAP(0x52, 0x29, 0x7B55) /* <CJK> */
-MAP(0x52, 0x2A, 0x7B60) /* <CJK> */
-MAP(0x52, 0x2B, 0x7B64) /* <CJK> */
-MAP(0x52, 0x2C, 0x7B66) /* <CJK> */
-MAP(0x52, 0x2D, 0x7B69) /* <CJK> */
-MAP(0x52, 0x2E, 0x7B6A) /* <CJK> */
-MAP(0x52, 0x2F, 0x7B6D) /* <CJK> */
-MAP(0x52, 0x30, 0x7B6F) /* <CJK> */
-MAP(0x52, 0x31, 0x7B72) /* <CJK> */
-MAP(0x52, 0x32, 0x7B73) /* <CJK> */
-MAP(0x52, 0x33, 0x7B77) /* <CJK> */
-MAP(0x52, 0x34, 0x7B84) /* <CJK> */
-MAP(0x52, 0x35, 0x7B89) /* <CJK> */
-MAP(0x52, 0x36, 0x7B8E) /* <CJK> */
-MAP(0x52, 0x37, 0x7B90) /* <CJK> */
-MAP(0x52, 0x38, 0x7B91) /* <CJK> */
-MAP(0x52, 0x39, 0x7B96) /* <CJK> */
-MAP(0x52, 0x3A, 0x7B9B) /* <CJK> */
-MAP(0x52, 0x3B, 0x7B9E) /* <CJK> */
-MAP(0x52, 0x3C, 0x7BA0) /* <CJK> */
-MAP(0x52, 0x3D, 0x7BA5) /* <CJK> */
-MAP(0x52, 0x3E, 0x7BAC) /* <CJK> */
-MAP(0x52, 0x3F, 0x7BAF) /* <CJK> */
-MAP(0x52, 0x40, 0x7BB0) /* <CJK> */
-MAP(0x52, 0x41, 0x7BB2) /* <CJK> */
-MAP(0x52, 0x42, 0x7BB5) /* <CJK> */
-MAP(0x52, 0x43, 0x7BB6) /* <CJK> */
-MAP(0x52, 0x44, 0x7BBA) /* <CJK> */
-MAP(0x52, 0x45, 0x7BBB) /* <CJK> */
-MAP(0x52, 0x46, 0x7BBC) /* <CJK> */
-MAP(0x52, 0x47, 0x7BBD) /* <CJK> */
-MAP(0x52, 0x48, 0x7BC2) /* <CJK> */
-MAP(0x52, 0x49, 0x7BC5) /* <CJK> */
-MAP(0x52, 0x4A, 0x7BC8) /* <CJK> */
-MAP(0x52, 0x4B, 0x7BCA) /* <CJK> */
-MAP(0x52, 0x4C, 0x7BD4) /* <CJK> */
-MAP(0x52, 0x4D, 0x7BD6) /* <CJK> */
-MAP(0x52, 0x4E, 0x7BD7) /* <CJK> */
-MAP(0x52, 0x4F, 0x7BD9) /* <CJK> */
-MAP(0x52, 0x50, 0x7BDA) /* <CJK> */
-MAP(0x52, 0x51, 0x7BDB) /* <CJK> */
-MAP(0x52, 0x52, 0x7BE8) /* <CJK> */
-MAP(0x52, 0x53, 0x7BEA) /* <CJK> */
-MAP(0x52, 0x54, 0x7BF2) /* <CJK> */
-MAP(0x52, 0x55, 0x7BF4) /* <CJK> */
-MAP(0x52, 0x56, 0x7BF5) /* <CJK> */
-MAP(0x52, 0x57, 0x7BF8) /* <CJK> */
-MAP(0x52, 0x58, 0x7BF9) /* <CJK> */
-MAP(0x52, 0x59, 0x7BFA) /* <CJK> */
-MAP(0x52, 0x5A, 0x7BFC) /* <CJK> */
-MAP(0x52, 0x5B, 0x7BFE) /* <CJK> */
-MAP(0x52, 0x5C, 0x7C01) /* <CJK> */
-MAP(0x52, 0x5D, 0x7C02) /* <CJK> */
-MAP(0x52, 0x5E, 0x7C03) /* <CJK> */
-MAP(0x52, 0x5F, 0x7C04) /* <CJK> */
-MAP(0x52, 0x60, 0x7C06) /* <CJK> */
-MAP(0x52, 0x61, 0x7C09) /* <CJK> */
-MAP(0x52, 0x62, 0x7C0B) /* <CJK> */
-MAP(0x52, 0x63, 0x7C0C) /* <CJK> */
-MAP(0x52, 0x64, 0x7C0E) /* <CJK> */
-MAP(0x52, 0x65, 0x7C0F) /* <CJK> */
-MAP(0x52, 0x66, 0x7C19) /* <CJK> */
-MAP(0x52, 0x67, 0x7C1B) /* <CJK> */
-MAP(0x52, 0x68, 0x7C20) /* <CJK> */
-MAP(0x52, 0x69, 0x7C25) /* <CJK> */
-MAP(0x52, 0x6A, 0x7C26) /* <CJK> */
-MAP(0x52, 0x6B, 0x7C28) /* <CJK> */
-MAP(0x52, 0x6C, 0x7C2C) /* <CJK> */
-MAP(0x52, 0x6D, 0x7C31) /* <CJK> */
-MAP(0x52, 0x6E, 0x7C33) /* <CJK> */
-MAP(0x52, 0x6F, 0x7C34) /* <CJK> */
-MAP(0x52, 0x70, 0x7C36) /* <CJK> */
-MAP(0x52, 0x71, 0x7C39) /* <CJK> */
-MAP(0x52, 0x72, 0x7C3A) /* <CJK> */
-MAP(0x52, 0x73, 0x7C46) /* <CJK> */
-MAP(0x52, 0x74, 0x7C4A) /* <CJK> */
-MAP(0x52, 0x75, 0x7C55) /* <CJK> */
-MAP(0x52, 0x76, 0x7C51) /* <CJK> */
-MAP(0x52, 0x77, 0x7C52) /* <CJK> */
-MAP(0x52, 0x78, 0x7C53) /* <CJK> */
-MAP(0x52, 0x79, 0x7C59) /* <CJK> */
-MAP(0x52, 0x7A, 0x7C5A) /* <CJK> */
-MAP(0x52, 0x7B, 0x7C5B) /* <CJK> */
-MAP(0x52, 0x7C, 0x7C5C) /* <CJK> */
-MAP(0x52, 0x7D, 0x7C5D) /* <CJK> */
-MAP(0x52, 0x7E, 0x7C5E) /* <CJK> */
-MAP(0x53, 0x21, 0x7C61) /* <CJK> */
-MAP(0x53, 0x22, 0x7C63) /* <CJK> */
-MAP(0x53, 0x23, 0x7C67) /* <CJK> */
-MAP(0x53, 0x24, 0x7C69) /* <CJK> */
-MAP(0x53, 0x25, 0x7C6D) /* <CJK> */
-MAP(0x53, 0x26, 0x7C6E) /* <CJK> */
-MAP(0x53, 0x27, 0x7C70) /* <CJK> */
-MAP(0x53, 0x28, 0x7C72) /* <CJK> */
-MAP(0x53, 0x29, 0x7C79) /* <CJK> */
-MAP(0x53, 0x2A, 0x7C7C) /* <CJK> */
-MAP(0x53, 0x2B, 0x7C7D) /* <CJK> */
-MAP(0x53, 0x2C, 0x7C86) /* <CJK> */
-MAP(0x53, 0x2D, 0x7C87) /* <CJK> */
-MAP(0x53, 0x2E, 0x7C8F) /* <CJK> */
-MAP(0x53, 0x2F, 0x7C94) /* <CJK> */
-MAP(0x53, 0x30, 0x7C9E) /* <CJK> */
-MAP(0x53, 0x31, 0x7CA0) /* <CJK> */
-MAP(0x53, 0x32, 0x7CA6) /* <CJK> */
-MAP(0x53, 0x33, 0x7CB0) /* <CJK> */
-MAP(0x53, 0x34, 0x7CB6) /* <CJK> */
-MAP(0x53, 0x35, 0x7CB7) /* <CJK> */
-MAP(0x53, 0x36, 0x7CBA) /* <CJK> */
-MAP(0x53, 0x37, 0x7CBB) /* <CJK> */
-MAP(0x53, 0x38, 0x7CBC) /* <CJK> */
-MAP(0x53, 0x39, 0x7CBF) /* <CJK> */
-MAP(0x53, 0x3A, 0x7CC4) /* <CJK> */
-MAP(0x53, 0x3B, 0x7CC7) /* <CJK> */
-MAP(0x53, 0x3C, 0x7CC8) /* <CJK> */
-MAP(0x53, 0x3D, 0x7CC9) /* <CJK> */
-MAP(0x53, 0x3E, 0x7CCD) /* <CJK> */
-MAP(0x53, 0x3F, 0x7CCF) /* <CJK> */
-MAP(0x53, 0x40, 0x7CD3) /* <CJK> */
-MAP(0x53, 0x41, 0x7CD4) /* <CJK> */
-MAP(0x53, 0x42, 0x7CD5) /* <CJK> */
-MAP(0x53, 0x43, 0x7CD7) /* <CJK> */
-MAP(0x53, 0x44, 0x7CD9) /* <CJK> */
-MAP(0x53, 0x45, 0x7CDA) /* <CJK> */
-MAP(0x53, 0x46, 0x7CDD) /* <CJK> */
-MAP(0x53, 0x47, 0x7CE6) /* <CJK> */
-MAP(0x53, 0x48, 0x7CE9) /* <CJK> */
-MAP(0x53, 0x49, 0x7CEB) /* <CJK> */
-MAP(0x53, 0x4A, 0x7CF5) /* <CJK> */
-MAP(0x53, 0x4B, 0x7D03) /* <CJK> */
-MAP(0x53, 0x4C, 0x7D07) /* <CJK> */
-MAP(0x53, 0x4D, 0x7D08) /* <CJK> */
-MAP(0x53, 0x4E, 0x7D09) /* <CJK> */
-MAP(0x53, 0x4F, 0x7D0F) /* <CJK> */
-MAP(0x53, 0x50, 0x7D11) /* <CJK> */
-MAP(0x53, 0x51, 0x7D12) /* <CJK> */
-MAP(0x53, 0x52, 0x7D13) /* <CJK> */
-MAP(0x53, 0x53, 0x7D16) /* <CJK> */
-MAP(0x53, 0x54, 0x7D1D) /* <CJK> */
-MAP(0x53, 0x55, 0x7D1E) /* <CJK> */
-MAP(0x53, 0x56, 0x7D23) /* <CJK> */
-MAP(0x53, 0x57, 0x7D26) /* <CJK> */
-MAP(0x53, 0x58, 0x7D2A) /* <CJK> */
-MAP(0x53, 0x59, 0x7D2D) /* <CJK> */
-MAP(0x53, 0x5A, 0x7D31) /* <CJK> */
-MAP(0x53, 0x5B, 0x7D3C) /* <CJK> */
-MAP(0x53, 0x5C, 0x7D3D) /* <CJK> */
-MAP(0x53, 0x5D, 0x7D3E) /* <CJK> */
-MAP(0x53, 0x5E, 0x7D40) /* <CJK> */
-MAP(0x53, 0x5F, 0x7D41) /* <CJK> */
-MAP(0x53, 0x60, 0x7D47) /* <CJK> */
-MAP(0x53, 0x61, 0x7D48) /* <CJK> */
-MAP(0x53, 0x62, 0x7D4D) /* <CJK> */
-MAP(0x53, 0x63, 0x7D51) /* <CJK> */
-MAP(0x53, 0x64, 0x7D53) /* <CJK> */
-MAP(0x53, 0x65, 0x7D57) /* <CJK> */
-MAP(0x53, 0x66, 0x7D59) /* <CJK> */
-MAP(0x53, 0x67, 0x7D5A) /* <CJK> */
-MAP(0x53, 0x68, 0x7D5C) /* <CJK> */
-MAP(0x53, 0x69, 0x7D5D) /* <CJK> */
-MAP(0x53, 0x6A, 0x7D65) /* <CJK> */
-MAP(0x53, 0x6B, 0x7D67) /* <CJK> */
-MAP(0x53, 0x6C, 0x7D6A) /* <CJK> */
-MAP(0x53, 0x6D, 0x7D70) /* <CJK> */
-MAP(0x53, 0x6E, 0x7D78) /* <CJK> */
-MAP(0x53, 0x6F, 0x7D7A) /* <CJK> */
-MAP(0x53, 0x70, 0x7D7B) /* <CJK> */
-MAP(0x53, 0x71, 0x7D7F) /* <CJK> */
-MAP(0x53, 0x72, 0x7D81) /* <CJK> */
-MAP(0x53, 0x73, 0x7D82) /* <CJK> */
-MAP(0x53, 0x74, 0x7D83) /* <CJK> */
-MAP(0x53, 0x75, 0x7D85) /* <CJK> */
-MAP(0x53, 0x76, 0x7D86) /* <CJK> */
-MAP(0x53, 0x77, 0x7D88) /* <CJK> */
-MAP(0x53, 0x78, 0x7D8B) /* <CJK> */
-MAP(0x53, 0x79, 0x7D8C) /* <CJK> */
-MAP(0x53, 0x7A, 0x7D8D) /* <CJK> */
-MAP(0x53, 0x7B, 0x7D91) /* <CJK> */
-MAP(0x53, 0x7C, 0x7D96) /* <CJK> */
-MAP(0x53, 0x7D, 0x7D97) /* <CJK> */
-MAP(0x53, 0x7E, 0x7D9D) /* <CJK> */
-MAP(0x54, 0x21, 0x7D9E) /* <CJK> */
-MAP(0x54, 0x22, 0x7DA6) /* <CJK> */
-MAP(0x54, 0x23, 0x7DA7) /* <CJK> */
-MAP(0x54, 0x24, 0x7DAA) /* <CJK> */
-MAP(0x54, 0x25, 0x7DB3) /* <CJK> */
-MAP(0x54, 0x26, 0x7DB6) /* <CJK> */
-MAP(0x54, 0x27, 0x7DB7) /* <CJK> */
-MAP(0x54, 0x28, 0x7DB9) /* <CJK> */
-MAP(0x54, 0x29, 0x7DC2) /* <CJK> */
-MAP(0x54, 0x2A, 0x7DC3) /* <CJK> */
-MAP(0x54, 0x2B, 0x7DC4) /* <CJK> */
-MAP(0x54, 0x2C, 0x7DC5) /* <CJK> */
-MAP(0x54, 0x2D, 0x7DC6) /* <CJK> */
-MAP(0x54, 0x2E, 0x7DCC) /* <CJK> */
-MAP(0x54, 0x2F, 0x7DCD) /* <CJK> */
-MAP(0x54, 0x30, 0x7DCE) /* <CJK> */
-MAP(0x54, 0x31, 0x7DD7) /* <CJK> */
-MAP(0x54, 0x32, 0x7DD9) /* <CJK> */
-MAP(0x54, 0x33, 0x7E00) /* <CJK> */
-MAP(0x54, 0x34, 0x7DE2) /* <CJK> */
-MAP(0x54, 0x35, 0x7DE5) /* <CJK> */
-MAP(0x54, 0x36, 0x7DE6) /* <CJK> */
-MAP(0x54, 0x37, 0x7DEA) /* <CJK> */
-MAP(0x54, 0x38, 0x7DEB) /* <CJK> */
-MAP(0x54, 0x39, 0x7DED) /* <CJK> */
-MAP(0x54, 0x3A, 0x7DF1) /* <CJK> */
-MAP(0x54, 0x3B, 0x7DF5) /* <CJK> */
-MAP(0x54, 0x3C, 0x7DF6) /* <CJK> */
-MAP(0x54, 0x3D, 0x7DF9) /* <CJK> */
-MAP(0x54, 0x3E, 0x7DFA) /* <CJK> */
-MAP(0x54, 0x3F, 0x7E08) /* <CJK> */
-MAP(0x54, 0x40, 0x7E10) /* <CJK> */
-MAP(0x54, 0x41, 0x7E11) /* <CJK> */
-MAP(0x54, 0x42, 0x7E15) /* <CJK> */
-MAP(0x54, 0x43, 0x7E17) /* <CJK> */
-MAP(0x54, 0x44, 0x7E1C) /* <CJK> */
-MAP(0x54, 0x45, 0x7E1D) /* <CJK> */
-MAP(0x54, 0x46, 0x7E20) /* <CJK> */
-MAP(0x54, 0x47, 0x7E27) /* <CJK> */
-MAP(0x54, 0x48, 0x7E28) /* <CJK> */
-MAP(0x54, 0x49, 0x7E2C) /* <CJK> */
-MAP(0x54, 0x4A, 0x7E2D) /* <CJK> */
-MAP(0x54, 0x4B, 0x7E2F) /* <CJK> */
-MAP(0x54, 0x4C, 0x7E33) /* <CJK> */
-MAP(0x54, 0x4D, 0x7E36) /* <CJK> */
-MAP(0x54, 0x4E, 0x7E3F) /* <CJK> */
-MAP(0x54, 0x4F, 0x7E44) /* <CJK> */
-MAP(0x54, 0x50, 0x7E45) /* <CJK> */
-MAP(0x54, 0x51, 0x7E47) /* <CJK> */
-MAP(0x54, 0x52, 0x7E4E) /* <CJK> */
-MAP(0x54, 0x53, 0x7E50) /* <CJK> */
-MAP(0x54, 0x54, 0x7E52) /* <CJK> */
-MAP(0x54, 0x55, 0x7E58) /* <CJK> */
-MAP(0x54, 0x56, 0x7E5F) /* <CJK> */
-MAP(0x54, 0x57, 0x7E61) /* <CJK> */
-MAP(0x54, 0x58, 0x7E62) /* <CJK> */
-MAP(0x54, 0x59, 0x7E65) /* <CJK> */
-MAP(0x54, 0x5A, 0x7E6B) /* <CJK> */
-MAP(0x54, 0x5B, 0x7E6E) /* <CJK> */
-MAP(0x54, 0x5C, 0x7E6F) /* <CJK> */
-MAP(0x54, 0x5D, 0x7E73) /* <CJK> */
-MAP(0x54, 0x5E, 0x7E78) /* <CJK> */
-MAP(0x54, 0x5F, 0x7E7E) /* <CJK> */
-MAP(0x54, 0x60, 0x7E81) /* <CJK> */
-MAP(0x54, 0x61, 0x7E86) /* <CJK> */
-MAP(0x54, 0x62, 0x7E87) /* <CJK> */
-MAP(0x54, 0x63, 0x7E8A) /* <CJK> */
-MAP(0x54, 0x64, 0x7E8D) /* <CJK> */
-MAP(0x54, 0x65, 0x7E91) /* <CJK> */
-MAP(0x54, 0x66, 0x7E95) /* <CJK> */
-MAP(0x54, 0x67, 0x7E98) /* <CJK> */
-MAP(0x54, 0x68, 0x7E9A) /* <CJK> */
-MAP(0x54, 0x69, 0x7E9D) /* <CJK> */
-MAP(0x54, 0x6A, 0x7E9E) /* <CJK> */
-MAP(0x54, 0x6B, 0x7F3C) /* <CJK> */
-MAP(0x54, 0x6C, 0x7F3B) /* <CJK> */
-MAP(0x54, 0x6D, 0x7F3D) /* <CJK> */
-MAP(0x54, 0x6E, 0x7F3E) /* <CJK> */
-MAP(0x54, 0x6F, 0x7F3F) /* <CJK> */
-MAP(0x54, 0x70, 0x7F43) /* <CJK> */
-MAP(0x54, 0x71, 0x7F44) /* <CJK> */
-MAP(0x54, 0x72, 0x7F47) /* <CJK> */
-MAP(0x54, 0x73, 0x7F4F) /* <CJK> */
-MAP(0x54, 0x74, 0x7F52) /* <CJK> */
-MAP(0x54, 0x75, 0x7F53) /* <CJK> */
-MAP(0x54, 0x76, 0x7F5B) /* <CJK> */
-MAP(0x54, 0x77, 0x7F5C) /* <CJK> */
-MAP(0x54, 0x78, 0x7F5D) /* <CJK> */
-MAP(0x54, 0x79, 0x7F61) /* <CJK> */
-MAP(0x54, 0x7A, 0x7F63) /* <CJK> */
-MAP(0x54, 0x7B, 0x7F64) /* <CJK> */
-MAP(0x54, 0x7C, 0x7F65) /* <CJK> */
-MAP(0x54, 0x7D, 0x7F66) /* <CJK> */
-MAP(0x54, 0x7E, 0x7F6D) /* <CJK> */
-MAP(0x55, 0x21, 0x7F71) /* <CJK> */
-MAP(0x55, 0x22, 0x7F7D) /* <CJK> */
-MAP(0x55, 0x23, 0x7F7E) /* <CJK> */
-MAP(0x55, 0x24, 0x7F7F) /* <CJK> */
-MAP(0x55, 0x25, 0x7F80) /* <CJK> */
-MAP(0x55, 0x26, 0x7F8B) /* <CJK> */
-MAP(0x55, 0x27, 0x7F8D) /* <CJK> */
-MAP(0x55, 0x28, 0x7F8F) /* <CJK> */
-MAP(0x55, 0x29, 0x7F90) /* <CJK> */
-MAP(0x55, 0x2A, 0x7F91) /* <CJK> */
-MAP(0x55, 0x2B, 0x7F96) /* <CJK> */
-MAP(0x55, 0x2C, 0x7F97) /* <CJK> */
-MAP(0x55, 0x2D, 0x7F9C) /* <CJK> */
-MAP(0x55, 0x2E, 0x7FA1) /* <CJK> */
-MAP(0x55, 0x2F, 0x7FA2) /* <CJK> */
-MAP(0x55, 0x30, 0x7FA6) /* <CJK> */
-MAP(0x55, 0x31, 0x7FAA) /* <CJK> */
-MAP(0x55, 0x32, 0x7FAD) /* <CJK> */
-MAP(0x55, 0x33, 0x7FB4) /* <CJK> */
-MAP(0x55, 0x34, 0x7FBC) /* <CJK> */
-MAP(0x55, 0x35, 0x7FBF) /* <CJK> */
-MAP(0x55, 0x36, 0x7FC0) /* <CJK> */
-MAP(0x55, 0x37, 0x7FC3) /* <CJK> */
-MAP(0x55, 0x38, 0x7FC8) /* <CJK> */
-MAP(0x55, 0x39, 0x7FCE) /* <CJK> */
-MAP(0x55, 0x3A, 0x7FCF) /* <CJK> */
-MAP(0x55, 0x3B, 0x7FDB) /* <CJK> */
-MAP(0x55, 0x3C, 0x7FDF) /* <CJK> */
-MAP(0x55, 0x3D, 0x7FE3) /* <CJK> */
-MAP(0x55, 0x3E, 0x7FE5) /* <CJK> */
-MAP(0x55, 0x3F, 0x7FE8) /* <CJK> */
-MAP(0x55, 0x40, 0x7FEC) /* <CJK> */
-MAP(0x55, 0x41, 0x7FEE) /* <CJK> */
-MAP(0x55, 0x42, 0x7FEF) /* <CJK> */
-MAP(0x55, 0x43, 0x7FF2) /* <CJK> */
-MAP(0x55, 0x44, 0x7FFA) /* <CJK> */
-MAP(0x55, 0x45, 0x7FFD) /* <CJK> */
-MAP(0x55, 0x46, 0x7FFE) /* <CJK> */
-MAP(0x55, 0x47, 0x7FFF) /* <CJK> */
-MAP(0x55, 0x48, 0x8007) /* <CJK> */
-MAP(0x55, 0x49, 0x8008) /* <CJK> */
-MAP(0x55, 0x4A, 0x800A) /* <CJK> */
-MAP(0x55, 0x4B, 0x800D) /* <CJK> */
-MAP(0x55, 0x4C, 0x800E) /* <CJK> */
-MAP(0x55, 0x4D, 0x800F) /* <CJK> */
-MAP(0x55, 0x4E, 0x8011) /* <CJK> */
-MAP(0x55, 0x4F, 0x8013) /* <CJK> */
-MAP(0x55, 0x50, 0x8014) /* <CJK> */
-MAP(0x55, 0x51, 0x8016) /* <CJK> */
-MAP(0x55, 0x52, 0x801D) /* <CJK> */
-MAP(0x55, 0x53, 0x801E) /* <CJK> */
-MAP(0x55, 0x54, 0x801F) /* <CJK> */
-MAP(0x55, 0x55, 0x8020) /* <CJK> */
-MAP(0x55, 0x56, 0x8024) /* <CJK> */
-MAP(0x55, 0x57, 0x8026) /* <CJK> */
-MAP(0x55, 0x58, 0x802C) /* <CJK> */
-MAP(0x55, 0x59, 0x802E) /* <CJK> */
-MAP(0x55, 0x5A, 0x8030) /* <CJK> */
-MAP(0x55, 0x5B, 0x8034) /* <CJK> */
-MAP(0x55, 0x5C, 0x8035) /* <CJK> */
-MAP(0x55, 0x5D, 0x8037) /* <CJK> */
-MAP(0x55, 0x5E, 0x8039) /* <CJK> */
-MAP(0x55, 0x5F, 0x803A) /* <CJK> */
-MAP(0x55, 0x60, 0x803C) /* <CJK> */
-MAP(0x55, 0x61, 0x803E) /* <CJK> */
-MAP(0x55, 0x62, 0x8040) /* <CJK> */
-MAP(0x55, 0x63, 0x8044) /* <CJK> */
-MAP(0x55, 0x64, 0x8060) /* <CJK> */
-MAP(0x55, 0x65, 0x8064) /* <CJK> */
-MAP(0x55, 0x66, 0x8066) /* <CJK> */
-MAP(0x55, 0x67, 0x806D) /* <CJK> */
-MAP(0x55, 0x68, 0x8071) /* <CJK> */
-MAP(0x55, 0x69, 0x8075) /* <CJK> */
-MAP(0x55, 0x6A, 0x8081) /* <CJK> */
-MAP(0x55, 0x6B, 0x8088) /* <CJK> */
-MAP(0x55, 0x6C, 0x808E) /* <CJK> */
-MAP(0x55, 0x6D, 0x809C) /* <CJK> */
-MAP(0x55, 0x6E, 0x809E) /* <CJK> */
-MAP(0x55, 0x6F, 0x80A6) /* <CJK> */
-MAP(0x55, 0x70, 0x80A7) /* <CJK> */
-MAP(0x55, 0x71, 0x80AB) /* <CJK> */
-MAP(0x55, 0x72, 0x80B8) /* <CJK> */
-MAP(0x55, 0x73, 0x80B9) /* <CJK> */
-MAP(0x55, 0x74, 0x80C8) /* <CJK> */
-MAP(0x55, 0x75, 0x80CD) /* <CJK> */
-MAP(0x55, 0x76, 0x80CF) /* <CJK> */
-MAP(0x55, 0x77, 0x80D2) /* <CJK> */
-MAP(0x55, 0x78, 0x80D4) /* <CJK> */
-MAP(0x55, 0x79, 0x80D5) /* <CJK> */
-MAP(0x55, 0x7A, 0x80D7) /* <CJK> */
-MAP(0x55, 0x7B, 0x80D8) /* <CJK> */
-MAP(0x55, 0x7C, 0x80E0) /* <CJK> */
-MAP(0x55, 0x7D, 0x80ED) /* <CJK> */
-MAP(0x55, 0x7E, 0x80EE) /* <CJK> */
-MAP(0x56, 0x21, 0x80F0) /* <CJK> */
-MAP(0x56, 0x22, 0x80F2) /* <CJK> */
-MAP(0x56, 0x23, 0x80F3) /* <CJK> */
-MAP(0x56, 0x24, 0x80F6) /* <CJK> */
-MAP(0x56, 0x25, 0x80F9) /* <CJK> */
-MAP(0x56, 0x26, 0x80FA) /* <CJK> */
-MAP(0x56, 0x27, 0x80FE) /* <CJK> */
-MAP(0x56, 0x28, 0x8103) /* <CJK> */
-MAP(0x56, 0x29, 0x810B) /* <CJK> */
-MAP(0x56, 0x2A, 0x8116) /* <CJK> */
-MAP(0x56, 0x2B, 0x8117) /* <CJK> */
-MAP(0x56, 0x2C, 0x8118) /* <CJK> */
-MAP(0x56, 0x2D, 0x811C) /* <CJK> */
-MAP(0x56, 0x2E, 0x811E) /* <CJK> */
-MAP(0x56, 0x2F, 0x8120) /* <CJK> */
-MAP(0x56, 0x30, 0x8124) /* <CJK> */
-MAP(0x56, 0x31, 0x8127) /* <CJK> */
-MAP(0x56, 0x32, 0x812C) /* <CJK> */
-MAP(0x56, 0x33, 0x8130) /* <CJK> */
-MAP(0x56, 0x34, 0x8135) /* <CJK> */
-MAP(0x56, 0x35, 0x813A) /* <CJK> */
-MAP(0x56, 0x36, 0x813C) /* <CJK> */
-MAP(0x56, 0x37, 0x8145) /* <CJK> */
-MAP(0x56, 0x38, 0x8147) /* <CJK> */
-MAP(0x56, 0x39, 0x814A) /* <CJK> */
-MAP(0x56, 0x3A, 0x814C) /* <CJK> */
-MAP(0x56, 0x3B, 0x8152) /* <CJK> */
-MAP(0x56, 0x3C, 0x8157) /* <CJK> */
-MAP(0x56, 0x3D, 0x8160) /* <CJK> */
-MAP(0x56, 0x3E, 0x8161) /* <CJK> */
-MAP(0x56, 0x3F, 0x8167) /* <CJK> */
-MAP(0x56, 0x40, 0x8168) /* <CJK> */
-MAP(0x56, 0x41, 0x8169) /* <CJK> */
-MAP(0x56, 0x42, 0x816D) /* <CJK> */
-MAP(0x56, 0x43, 0x816F) /* <CJK> */
-MAP(0x56, 0x44, 0x8177) /* <CJK> */
-MAP(0x56, 0x45, 0x8181) /* <CJK> */
-MAP(0x56, 0x46, 0x8190) /* <CJK> */
-MAP(0x56, 0x47, 0x8184) /* <CJK> */
-MAP(0x56, 0x48, 0x8185) /* <CJK> */
-MAP(0x56, 0x49, 0x8186) /* <CJK> */
-MAP(0x56, 0x4A, 0x818B) /* <CJK> */
-MAP(0x56, 0x4B, 0x818E) /* <CJK> */
-MAP(0x56, 0x4C, 0x8196) /* <CJK> */
-MAP(0x56, 0x4D, 0x8198) /* <CJK> */
-MAP(0x56, 0x4E, 0x819B) /* <CJK> */
-MAP(0x56, 0x4F, 0x819E) /* <CJK> */
-MAP(0x56, 0x50, 0x81A2) /* <CJK> */
-MAP(0x56, 0x51, 0x81AE) /* <CJK> */
-MAP(0x56, 0x52, 0x81B2) /* <CJK> */
-MAP(0x56, 0x53, 0x81B4) /* <CJK> */
-MAP(0x56, 0x54, 0x81BB) /* <CJK> */
-MAP(0x56, 0x55, 0x81CB) /* <CJK> */
-MAP(0x56, 0x56, 0x81C3) /* <CJK> */
-MAP(0x56, 0x57, 0x81C5) /* <CJK> */
-MAP(0x56, 0x58, 0x81CA) /* <CJK> */
-MAP(0x56, 0x59, 0x81CE) /* <CJK> */
-MAP(0x56, 0x5A, 0x81CF) /* <CJK> */
-MAP(0x56, 0x5B, 0x81D5) /* <CJK> */
-MAP(0x56, 0x5C, 0x81D7) /* <CJK> */
-MAP(0x56, 0x5D, 0x81DB) /* <CJK> */
-MAP(0x56, 0x5E, 0x81DD) /* <CJK> */
-MAP(0x56, 0x5F, 0x81DE) /* <CJK> */
-MAP(0x56, 0x60, 0x81E1) /* <CJK> */
-MAP(0x56, 0x61, 0x81E4) /* <CJK> */
-MAP(0x56, 0x62, 0x81EB) /* <CJK> */
-MAP(0x56, 0x63, 0x81EC) /* <CJK> */
-MAP(0x56, 0x64, 0x81F0) /* <CJK> */
-MAP(0x56, 0x65, 0x81F1) /* <CJK> */
-MAP(0x56, 0x66, 0x81F2) /* <CJK> */
-MAP(0x56, 0x67, 0x81F5) /* <CJK> */
-MAP(0x56, 0x68, 0x81F6) /* <CJK> */
-MAP(0x56, 0x69, 0x81F8) /* <CJK> */
-MAP(0x56, 0x6A, 0x81F9) /* <CJK> */
-MAP(0x56, 0x6B, 0x81FD) /* <CJK> */
-MAP(0x56, 0x6C, 0x81FF) /* <CJK> */
-MAP(0x56, 0x6D, 0x8200) /* <CJK> */
-MAP(0x56, 0x6E, 0x8203) /* <CJK> */
-MAP(0x56, 0x6F, 0x820F) /* <CJK> */
-MAP(0x56, 0x70, 0x8213) /* <CJK> */
-MAP(0x56, 0x71, 0x8214) /* <CJK> */
-MAP(0x56, 0x72, 0x8219) /* <CJK> */
-MAP(0x56, 0x73, 0x821A) /* <CJK> */
-MAP(0x56, 0x74, 0x821D) /* <CJK> */
-MAP(0x56, 0x75, 0x8221) /* <CJK> */
-MAP(0x56, 0x76, 0x8222) /* <CJK> */
-MAP(0x56, 0x77, 0x8228) /* <CJK> */
-MAP(0x56, 0x78, 0x8232) /* <CJK> */
-MAP(0x56, 0x79, 0x8234) /* <CJK> */
-MAP(0x56, 0x7A, 0x823A) /* <CJK> */
-MAP(0x56, 0x7B, 0x8243) /* <CJK> */
-MAP(0x56, 0x7C, 0x8244) /* <CJK> */
-MAP(0x56, 0x7D, 0x8245) /* <CJK> */
-MAP(0x56, 0x7E, 0x8246) /* <CJK> */
-MAP(0x57, 0x21, 0x824B) /* <CJK> */
-MAP(0x57, 0x22, 0x824E) /* <CJK> */
-MAP(0x57, 0x23, 0x824F) /* <CJK> */
-MAP(0x57, 0x24, 0x8251) /* <CJK> */
-MAP(0x57, 0x25, 0x8256) /* <CJK> */
-MAP(0x57, 0x26, 0x825C) /* <CJK> */
-MAP(0x57, 0x27, 0x8260) /* <CJK> */
-MAP(0x57, 0x28, 0x8263) /* <CJK> */
-MAP(0x57, 0x29, 0x8267) /* <CJK> */
-MAP(0x57, 0x2A, 0x826D) /* <CJK> */
-MAP(0x57, 0x2B, 0x8274) /* <CJK> */
-MAP(0x57, 0x2C, 0x827B) /* <CJK> */
-MAP(0x57, 0x2D, 0x827D) /* <CJK> */
-MAP(0x57, 0x2E, 0x827F) /* <CJK> */
-MAP(0x57, 0x2F, 0x8280) /* <CJK> */
-MAP(0x57, 0x30, 0x8281) /* <CJK> */
-MAP(0x57, 0x31, 0x8283) /* <CJK> */
-MAP(0x57, 0x32, 0x8284) /* <CJK> */
-MAP(0x57, 0x33, 0x8287) /* <CJK> */
-MAP(0x57, 0x34, 0x8289) /* <CJK> */
-MAP(0x57, 0x35, 0x828A) /* <CJK> */
-MAP(0x57, 0x36, 0x828E) /* <CJK> */
-MAP(0x57, 0x37, 0x8291) /* <CJK> */
-MAP(0x57, 0x38, 0x8294) /* <CJK> */
-MAP(0x57, 0x39, 0x8296) /* <CJK> */
-MAP(0x57, 0x3A, 0x8298) /* <CJK> */
-MAP(0x57, 0x3B, 0x829A) /* <CJK> */
-MAP(0x57, 0x3C, 0x829B) /* <CJK> */
-MAP(0x57, 0x3D, 0x82A0) /* <CJK> */
-MAP(0x57, 0x3E, 0x82A1) /* <CJK> */
-MAP(0x57, 0x3F, 0x82A3) /* <CJK> */
-MAP(0x57, 0x40, 0x82A4) /* <CJK> */
-MAP(0x57, 0x41, 0x82A7) /* <CJK> */
-MAP(0x57, 0x42, 0x82A8) /* <CJK> */
-MAP(0x57, 0x43, 0x82A9) /* <CJK> */
-MAP(0x57, 0x44, 0x82AA) /* <CJK> */
-MAP(0x57, 0x45, 0x82AE) /* <CJK> */
-MAP(0x57, 0x46, 0x82B0) /* <CJK> */
-MAP(0x57, 0x47, 0x82B2) /* <CJK> */
-MAP(0x57, 0x48, 0x82B4) /* <CJK> */
-MAP(0x57, 0x49, 0x82B7) /* <CJK> */
-MAP(0x57, 0x4A, 0x82BA) /* <CJK> */
-MAP(0x57, 0x4B, 0x82BC) /* <CJK> */
-MAP(0x57, 0x4C, 0x82BE) /* <CJK> */
-MAP(0x57, 0x4D, 0x82BF) /* <CJK> */
-MAP(0x57, 0x4E, 0x82C6) /* <CJK> */
-MAP(0x57, 0x4F, 0x82D0) /* <CJK> */
-MAP(0x57, 0x50, 0x82D5) /* <CJK> */
-MAP(0x57, 0x51, 0x82DA) /* <CJK> */
-MAP(0x57, 0x52, 0x82E0) /* <CJK> */
-MAP(0x57, 0x53, 0x82E2) /* <CJK> */
-MAP(0x57, 0x54, 0x82E4) /* <CJK> */
-MAP(0x57, 0x55, 0x82E8) /* <CJK> */
-MAP(0x57, 0x56, 0x82EA) /* <CJK> */
-MAP(0x57, 0x57, 0x82ED) /* <CJK> */
-MAP(0x57, 0x58, 0x82EF) /* <CJK> */
-MAP(0x57, 0x59, 0x82F6) /* <CJK> */
-MAP(0x57, 0x5A, 0x82F7) /* <CJK> */
-MAP(0x57, 0x5B, 0x82FD) /* <CJK> */
-MAP(0x57, 0x5C, 0x82FE) /* <CJK> */
-MAP(0x57, 0x5D, 0x8300) /* <CJK> */
-MAP(0x57, 0x5E, 0x8301) /* <CJK> */
-MAP(0x57, 0x5F, 0x8307) /* <CJK> */
-MAP(0x57, 0x60, 0x8308) /* <CJK> */
-MAP(0x57, 0x61, 0x830A) /* <CJK> */
-MAP(0x57, 0x62, 0x830B) /* <CJK> */
-MAP(0x57, 0x63, 0x8354) /* <CJK> */
-MAP(0x57, 0x64, 0x831B) /* <CJK> */
-MAP(0x57, 0x65, 0x831D) /* <CJK> */
-MAP(0x57, 0x66, 0x831E) /* <CJK> */
-MAP(0x57, 0x67, 0x831F) /* <CJK> */
-MAP(0x57, 0x68, 0x8321) /* <CJK> */
-MAP(0x57, 0x69, 0x8322) /* <CJK> */
-MAP(0x57, 0x6A, 0x832C) /* <CJK> */
-MAP(0x57, 0x6B, 0x832D) /* <CJK> */
-MAP(0x57, 0x6C, 0x832E) /* <CJK> */
-MAP(0x57, 0x6D, 0x8330) /* <CJK> */
-MAP(0x57, 0x6E, 0x8333) /* <CJK> */
-MAP(0x57, 0x6F, 0x8337) /* <CJK> */
-MAP(0x57, 0x70, 0x833A) /* <CJK> */
-MAP(0x57, 0x71, 0x833C) /* <CJK> */
-MAP(0x57, 0x72, 0x833D) /* <CJK> */
-MAP(0x57, 0x73, 0x8342) /* <CJK> */
-MAP(0x57, 0x74, 0x8343) /* <CJK> */
-MAP(0x57, 0x75, 0x8344) /* <CJK> */
-MAP(0x57, 0x76, 0x8347) /* <CJK> */
-MAP(0x57, 0x77, 0x834D) /* <CJK> */
-MAP(0x57, 0x78, 0x834E) /* <CJK> */
-MAP(0x57, 0x79, 0x8351) /* <CJK> */
-MAP(0x57, 0x7A, 0x8355) /* <CJK> */
-MAP(0x57, 0x7B, 0x8356) /* <CJK> */
-MAP(0x57, 0x7C, 0x8357) /* <CJK> */
-MAP(0x57, 0x7D, 0x8370) /* <CJK> */
-MAP(0x57, 0x7E, 0x8378) /* <CJK> */
-MAP(0x58, 0x21, 0x837D) /* <CJK> */
-MAP(0x58, 0x22, 0x837F) /* <CJK> */
-MAP(0x58, 0x23, 0x8380) /* <CJK> */
-MAP(0x58, 0x24, 0x8382) /* <CJK> */
-MAP(0x58, 0x25, 0x8384) /* <CJK> */
-MAP(0x58, 0x26, 0x8386) /* <CJK> */
-MAP(0x58, 0x27, 0x838D) /* <CJK> */
-MAP(0x58, 0x28, 0x8392) /* <CJK> */
-MAP(0x58, 0x29, 0x8394) /* <CJK> */
-MAP(0x58, 0x2A, 0x8395) /* <CJK> */
-MAP(0x58, 0x2B, 0x8398) /* <CJK> */
-MAP(0x58, 0x2C, 0x8399) /* <CJK> */
-MAP(0x58, 0x2D, 0x839B) /* <CJK> */
-MAP(0x58, 0x2E, 0x839C) /* <CJK> */
-MAP(0x58, 0x2F, 0x839D) /* <CJK> */
-MAP(0x58, 0x30, 0x83A6) /* <CJK> */
-MAP(0x58, 0x31, 0x83A7) /* <CJK> */
-MAP(0x58, 0x32, 0x83A9) /* <CJK> */
-MAP(0x58, 0x33, 0x83AC) /* <CJK> */
-MAP(0x58, 0x34, 0x83BE) /* <CJK> */
-MAP(0x58, 0x35, 0x83BF) /* <CJK> */
-MAP(0x58, 0x36, 0x83C0) /* <CJK> */
-MAP(0x58, 0x37, 0x83C7) /* <CJK> */
-MAP(0x58, 0x38, 0x83C9) /* <CJK> */
-MAP(0x58, 0x39, 0x83CF) /* <CJK> */
-MAP(0x58, 0x3A, 0x83D0) /* <CJK> */
-MAP(0x58, 0x3B, 0x83D1) /* <CJK> */
-MAP(0x58, 0x3C, 0x83D4) /* <CJK> */
-MAP(0x58, 0x3D, 0x83DD) /* <CJK> */
-MAP(0x58, 0x3E, 0x8353) /* <CJK> */
-MAP(0x58, 0x3F, 0x83E8) /* <CJK> */
-MAP(0x58, 0x40, 0x83EA) /* <CJK> */
-MAP(0x58, 0x41, 0x83F6) /* <CJK> */
-MAP(0x58, 0x42, 0x83F8) /* <CJK> */
-MAP(0x58, 0x43, 0x83F9) /* <CJK> */
-MAP(0x58, 0x44, 0x83FC) /* <CJK> */
-MAP(0x58, 0x45, 0x8401) /* <CJK> */
-MAP(0x58, 0x46, 0x8406) /* <CJK> */
-MAP(0x58, 0x47, 0x840A) /* <CJK> */
-MAP(0x58, 0x48, 0x840F) /* <CJK> */
-MAP(0x58, 0x49, 0x8411) /* <CJK> */
-MAP(0x58, 0x4A, 0x8415) /* <CJK> */
-MAP(0x58, 0x4B, 0x8419) /* <CJK> */
-MAP(0x58, 0x4C, 0x83AD) /* <CJK> */
-MAP(0x58, 0x4D, 0x842F) /* <CJK> */
-MAP(0x58, 0x4E, 0x8439) /* <CJK> */
-MAP(0x58, 0x4F, 0x8445) /* <CJK> */
-MAP(0x58, 0x50, 0x8447) /* <CJK> */
-MAP(0x58, 0x51, 0x8448) /* <CJK> */
-MAP(0x58, 0x52, 0x844A) /* <CJK> */
-MAP(0x58, 0x53, 0x844D) /* <CJK> */
-MAP(0x58, 0x54, 0x844F) /* <CJK> */
-MAP(0x58, 0x55, 0x8451) /* <CJK> */
-MAP(0x58, 0x56, 0x8452) /* <CJK> */
-MAP(0x58, 0x57, 0x8456) /* <CJK> */
-MAP(0x58, 0x58, 0x8458) /* <CJK> */
-MAP(0x58, 0x59, 0x8459) /* <CJK> */
-MAP(0x58, 0x5A, 0x845A) /* <CJK> */
-MAP(0x58, 0x5B, 0x845C) /* <CJK> */
-MAP(0x58, 0x5C, 0x8460) /* <CJK> */
-MAP(0x58, 0x5D, 0x8464) /* <CJK> */
-MAP(0x58, 0x5E, 0x8465) /* <CJK> */
-MAP(0x58, 0x5F, 0x8467) /* <CJK> */
-MAP(0x58, 0x60, 0x846A) /* <CJK> */
-MAP(0x58, 0x61, 0x8470) /* <CJK> */
-MAP(0x58, 0x62, 0x8473) /* <CJK> */
-MAP(0x58, 0x63, 0x8474) /* <CJK> */
-MAP(0x58, 0x64, 0x8476) /* <CJK> */
-MAP(0x58, 0x65, 0x8478) /* <CJK> */
-MAP(0x58, 0x66, 0x847C) /* <CJK> */
-MAP(0x58, 0x67, 0x847D) /* <CJK> */
-MAP(0x58, 0x68, 0x8481) /* <CJK> */
-MAP(0x58, 0x69, 0x8485) /* <CJK> */
-MAP(0x58, 0x6A, 0x8492) /* <CJK> */
-MAP(0x58, 0x6B, 0x8493) /* <CJK> */
-MAP(0x58, 0x6C, 0x8495) /* <CJK> */
-MAP(0x58, 0x6D, 0x849E) /* <CJK> */
-MAP(0x58, 0x6E, 0x84A6) /* <CJK> */
-MAP(0x58, 0x6F, 0x84A8) /* <CJK> */
-MAP(0x58, 0x70, 0x84A9) /* <CJK> */
-MAP(0x58, 0x71, 0x84AA) /* <CJK> */
-MAP(0x58, 0x72, 0x84AF) /* <CJK> */
-MAP(0x58, 0x73, 0x84B1) /* <CJK> */
-MAP(0x58, 0x74, 0x84B4) /* <CJK> */
-MAP(0x58, 0x75, 0x84BA) /* <CJK> */
-MAP(0x58, 0x76, 0x84BD) /* <CJK> */
-MAP(0x58, 0x77, 0x84BE) /* <CJK> */
-MAP(0x58, 0x78, 0x84C0) /* <CJK> */
-MAP(0x58, 0x79, 0x84C2) /* <CJK> */
-MAP(0x58, 0x7A, 0x84C7) /* <CJK> */
-MAP(0x58, 0x7B, 0x84C8) /* <CJK> */
-MAP(0x58, 0x7C, 0x84CC) /* <CJK> */
-MAP(0x58, 0x7D, 0x84CF) /* <CJK> */
-MAP(0x58, 0x7E, 0x84D3) /* <CJK> */
-MAP(0x59, 0x21, 0x84DC) /* <CJK> */
-MAP(0x59, 0x22, 0x84E7) /* <CJK> */
-MAP(0x59, 0x23, 0x84EA) /* <CJK> */
-MAP(0x59, 0x24, 0x84EF) /* <CJK> */
-MAP(0x59, 0x25, 0x84F0) /* <CJK> */
-MAP(0x59, 0x26, 0x84F1) /* <CJK> */
-MAP(0x59, 0x27, 0x84F2) /* <CJK> */
-MAP(0x59, 0x28, 0x84F7) /* <CJK> */
-MAP(0x59, 0x29, 0x8532) /* <CJK> */
-MAP(0x59, 0x2A, 0x84FA) /* <CJK> */
-MAP(0x59, 0x2B, 0x84FB) /* <CJK> */
-MAP(0x59, 0x2C, 0x84FD) /* <CJK> */
-MAP(0x59, 0x2D, 0x8502) /* <CJK> */
-MAP(0x59, 0x2E, 0x8503) /* <CJK> */
-MAP(0x59, 0x2F, 0x8507) /* <CJK> */
-MAP(0x59, 0x30, 0x850C) /* <CJK> */
-MAP(0x59, 0x31, 0x850E) /* <CJK> */
-MAP(0x59, 0x32, 0x8510) /* <CJK> */
-MAP(0x59, 0x33, 0x851C) /* <CJK> */
-MAP(0x59, 0x34, 0x851E) /* <CJK> */
-MAP(0x59, 0x35, 0x8522) /* <CJK> */
-MAP(0x59, 0x36, 0x8523) /* <CJK> */
-MAP(0x59, 0x37, 0x8524) /* <CJK> */
-MAP(0x59, 0x38, 0x8525) /* <CJK> */
-MAP(0x59, 0x39, 0x8527) /* <CJK> */
-MAP(0x59, 0x3A, 0x852A) /* <CJK> */
-MAP(0x59, 0x3B, 0x852B) /* <CJK> */
-MAP(0x59, 0x3C, 0x852F) /* <CJK> */
-MAP(0x59, 0x3D, 0x8533) /* <CJK> */
-MAP(0x59, 0x3E, 0x8534) /* <CJK> */
-MAP(0x59, 0x3F, 0x8536) /* <CJK> */
-MAP(0x59, 0x40, 0x853F) /* <CJK> */
-MAP(0x59, 0x41, 0x8546) /* <CJK> */
-MAP(0x59, 0x42, 0x854F) /* <CJK> */
-MAP(0x59, 0x43, 0x8550) /* <CJK> */
-MAP(0x59, 0x44, 0x8551) /* <CJK> */
-MAP(0x59, 0x45, 0x8552) /* <CJK> */
-MAP(0x59, 0x46, 0x8553) /* <CJK> */
-MAP(0x59, 0x47, 0x8556) /* <CJK> */
-MAP(0x59, 0x48, 0x8559) /* <CJK> */
-MAP(0x59, 0x49, 0x855C) /* <CJK> */
-MAP(0x59, 0x4A, 0x855D) /* <CJK> */
-MAP(0x59, 0x4B, 0x855E) /* <CJK> */
-MAP(0x59, 0x4C, 0x855F) /* <CJK> */
-MAP(0x59, 0x4D, 0x8560) /* <CJK> */
-MAP(0x59, 0x4E, 0x8561) /* <CJK> */
-MAP(0x59, 0x4F, 0x8562) /* <CJK> */
-MAP(0x59, 0x50, 0x8564) /* <CJK> */
-MAP(0x59, 0x51, 0x856B) /* <CJK> */
-MAP(0x59, 0x52, 0x856F) /* <CJK> */
-MAP(0x59, 0x53, 0x8579) /* <CJK> */
-MAP(0x59, 0x54, 0x857A) /* <CJK> */
-MAP(0x59, 0x55, 0x857B) /* <CJK> */
-MAP(0x59, 0x56, 0x857D) /* <CJK> */
-MAP(0x59, 0x57, 0x857F) /* <CJK> */
-MAP(0x59, 0x58, 0x8581) /* <CJK> */
-MAP(0x59, 0x59, 0x8585) /* <CJK> */
-MAP(0x59, 0x5A, 0x8586) /* <CJK> */
-MAP(0x59, 0x5B, 0x8589) /* <CJK> */
-MAP(0x59, 0x5C, 0x858B) /* <CJK> */
-MAP(0x59, 0x5D, 0x858C) /* <CJK> */
-MAP(0x59, 0x5E, 0x858F) /* <CJK> */
-MAP(0x59, 0x5F, 0x8593) /* <CJK> */
-MAP(0x59, 0x60, 0x8598) /* <CJK> */
-MAP(0x59, 0x61, 0x859D) /* <CJK> */
-MAP(0x59, 0x62, 0x859F) /* <CJK> */
-MAP(0x59, 0x63, 0x85A0) /* <CJK> */
-MAP(0x59, 0x64, 0x85A2) /* <CJK> */
-MAP(0x59, 0x65, 0x85A5) /* <CJK> */
-MAP(0x59, 0x66, 0x85A7) /* <CJK> */
-MAP(0x59, 0x67, 0x85B4) /* <CJK> */
-MAP(0x59, 0x68, 0x85B6) /* <CJK> */
-MAP(0x59, 0x69, 0x85B7) /* <CJK> */
-MAP(0x59, 0x6A, 0x85B8) /* <CJK> */
-MAP(0x59, 0x6B, 0x85BC) /* <CJK> */
-MAP(0x59, 0x6C, 0x85BD) /* <CJK> */
-MAP(0x59, 0x6D, 0x85BE) /* <CJK> */
-MAP(0x59, 0x6E, 0x85BF) /* <CJK> */
-MAP(0x59, 0x6F, 0x85C2) /* <CJK> */
-MAP(0x59, 0x70, 0x85C7) /* <CJK> */
-MAP(0x59, 0x71, 0x85CA) /* <CJK> */
-MAP(0x59, 0x72, 0x85CB) /* <CJK> */
-MAP(0x59, 0x73, 0x85CE) /* <CJK> */
-MAP(0x59, 0x74, 0x85AD) /* <CJK> */
-MAP(0x59, 0x75, 0x85D8) /* <CJK> */
-MAP(0x59, 0x76, 0x85DA) /* <CJK> */
-MAP(0x59, 0x77, 0x85DF) /* <CJK> */
-MAP(0x59, 0x78, 0x85E0) /* <CJK> */
-MAP(0x59, 0x79, 0x85E6) /* <CJK> */
-MAP(0x59, 0x7A, 0x85E8) /* <CJK> */
-MAP(0x59, 0x7B, 0x85ED) /* <CJK> */
-MAP(0x59, 0x7C, 0x85F3) /* <CJK> */
-MAP(0x59, 0x7D, 0x85F6) /* <CJK> */
-MAP(0x59, 0x7E, 0x85FC) /* <CJK> */
-MAP(0x5A, 0x21, 0x85FF) /* <CJK> */
-MAP(0x5A, 0x22, 0x8600) /* <CJK> */
-MAP(0x5A, 0x23, 0x8604) /* <CJK> */
-MAP(0x5A, 0x24, 0x8605) /* <CJK> */
-MAP(0x5A, 0x25, 0x860D) /* <CJK> */
-MAP(0x5A, 0x26, 0x860E) /* <CJK> */
-MAP(0x5A, 0x27, 0x8610) /* <CJK> */
-MAP(0x5A, 0x28, 0x8611) /* <CJK> */
-MAP(0x5A, 0x29, 0x8612) /* <CJK> */
-MAP(0x5A, 0x2A, 0x8618) /* <CJK> */
-MAP(0x5A, 0x2B, 0x8619) /* <CJK> */
-MAP(0x5A, 0x2C, 0x861B) /* <CJK> */
-MAP(0x5A, 0x2D, 0x861E) /* <CJK> */
-MAP(0x5A, 0x2E, 0x8621) /* <CJK> */
-MAP(0x5A, 0x2F, 0x8627) /* <CJK> */
-MAP(0x5A, 0x30, 0x8629) /* <CJK> */
-MAP(0x5A, 0x31, 0x8636) /* <CJK> */
-MAP(0x5A, 0x32, 0x8638) /* <CJK> */
-MAP(0x5A, 0x33, 0x863A) /* <CJK> */
-MAP(0x5A, 0x34, 0x863C) /* <CJK> */
-MAP(0x5A, 0x35, 0x863D) /* <CJK> */
-MAP(0x5A, 0x36, 0x8640) /* <CJK> */
-MAP(0x5A, 0x37, 0x8642) /* <CJK> */
-MAP(0x5A, 0x38, 0x8646) /* <CJK> */
-MAP(0x5A, 0x39, 0x8652) /* <CJK> */
-MAP(0x5A, 0x3A, 0x8653) /* <CJK> */
-MAP(0x5A, 0x3B, 0x8656) /* <CJK> */
-MAP(0x5A, 0x3C, 0x8657) /* <CJK> */
-MAP(0x5A, 0x3D, 0x8658) /* <CJK> */
-MAP(0x5A, 0x3E, 0x8659) /* <CJK> */
-MAP(0x5A, 0x3F, 0x865D) /* <CJK> */
-MAP(0x5A, 0x40, 0x8660) /* <CJK> */
-MAP(0x5A, 0x41, 0x8661) /* <CJK> */
-MAP(0x5A, 0x42, 0x8662) /* <CJK> */
-MAP(0x5A, 0x43, 0x8663) /* <CJK> */
-MAP(0x5A, 0x44, 0x8664) /* <CJK> */
-MAP(0x5A, 0x45, 0x8669) /* <CJK> */
-MAP(0x5A, 0x46, 0x866C) /* <CJK> */
-MAP(0x5A, 0x47, 0x866F) /* <CJK> */
-MAP(0x5A, 0x48, 0x8675) /* <CJK> */
-MAP(0x5A, 0x49, 0x8676) /* <CJK> */
-MAP(0x5A, 0x4A, 0x8677) /* <CJK> */
-MAP(0x5A, 0x4B, 0x867A) /* <CJK> */
-MAP(0x5A, 0x4C, 0x868D) /* <CJK> */
-MAP(0x5A, 0x4D, 0x8691) /* <CJK> */
-MAP(0x5A, 0x4E, 0x8696) /* <CJK> */
-MAP(0x5A, 0x4F, 0x8698) /* <CJK> */
-MAP(0x5A, 0x50, 0x869A) /* <CJK> */
-MAP(0x5A, 0x51, 0x869C) /* <CJK> */
-MAP(0x5A, 0x52, 0x86A1) /* <CJK> */
-MAP(0x5A, 0x53, 0x86A6) /* <CJK> */
-MAP(0x5A, 0x54, 0x86A7) /* <CJK> */
-MAP(0x5A, 0x55, 0x86A8) /* <CJK> */
-MAP(0x5A, 0x56, 0x86AD) /* <CJK> */
-MAP(0x5A, 0x57, 0x86B1) /* <CJK> */
-MAP(0x5A, 0x58, 0x86B3) /* <CJK> */
-MAP(0x5A, 0x59, 0x86B4) /* <CJK> */
-MAP(0x5A, 0x5A, 0x86B5) /* <CJK> */
-MAP(0x5A, 0x5B, 0x86B7) /* <CJK> */
-MAP(0x5A, 0x5C, 0x86B8) /* <CJK> */
-MAP(0x5A, 0x5D, 0x86B9) /* <CJK> */
-MAP(0x5A, 0x5E, 0x86BF) /* <CJK> */
-MAP(0x5A, 0x5F, 0x86C0) /* <CJK> */
-MAP(0x5A, 0x60, 0x86C1) /* <CJK> */
-MAP(0x5A, 0x61, 0x86C3) /* <CJK> */
-MAP(0x5A, 0x62, 0x86C5) /* <CJK> */
-MAP(0x5A, 0x63, 0x86D1) /* <CJK> */
-MAP(0x5A, 0x64, 0x86D2) /* <CJK> */
-MAP(0x5A, 0x65, 0x86D5) /* <CJK> */
-MAP(0x5A, 0x66, 0x86D7) /* <CJK> */
-MAP(0x5A, 0x67, 0x86DA) /* <CJK> */
-MAP(0x5A, 0x68, 0x86DC) /* <CJK> */
-MAP(0x5A, 0x69, 0x86E0) /* <CJK> */
-MAP(0x5A, 0x6A, 0x86E3) /* <CJK> */
-MAP(0x5A, 0x6B, 0x86E5) /* <CJK> */
-MAP(0x5A, 0x6C, 0x86E7) /* <CJK> */
-MAP(0x5A, 0x6D, 0x8688) /* <CJK> */
-MAP(0x5A, 0x6E, 0x86FA) /* <CJK> */
-MAP(0x5A, 0x6F, 0x86FC) /* <CJK> */
-MAP(0x5A, 0x70, 0x86FD) /* <CJK> */
-MAP(0x5A, 0x71, 0x8704) /* <CJK> */
-MAP(0x5A, 0x72, 0x8705) /* <CJK> */
-MAP(0x5A, 0x73, 0x8707) /* <CJK> */
-MAP(0x5A, 0x74, 0x870B) /* <CJK> */
-MAP(0x5A, 0x75, 0x870E) /* <CJK> */
-MAP(0x5A, 0x76, 0x870F) /* <CJK> */
-MAP(0x5A, 0x77, 0x8710) /* <CJK> */
-MAP(0x5A, 0x78, 0x8713) /* <CJK> */
-MAP(0x5A, 0x79, 0x8714) /* <CJK> */
-MAP(0x5A, 0x7A, 0x8719) /* <CJK> */
-MAP(0x5A, 0x7B, 0x871E) /* <CJK> */
-MAP(0x5A, 0x7C, 0x871F) /* <CJK> */
-MAP(0x5A, 0x7D, 0x8721) /* <CJK> */
-MAP(0x5A, 0x7E, 0x8723) /* <CJK> */
-MAP(0x5B, 0x21, 0x8728) /* <CJK> */
-MAP(0x5B, 0x22, 0x872E) /* <CJK> */
-MAP(0x5B, 0x23, 0x872F) /* <CJK> */
-MAP(0x5B, 0x24, 0x8731) /* <CJK> */
-MAP(0x5B, 0x25, 0x8732) /* <CJK> */
-MAP(0x5B, 0x26, 0x8739) /* <CJK> */
-MAP(0x5B, 0x27, 0x873A) /* <CJK> */
-MAP(0x5B, 0x28, 0x873C) /* <CJK> */
-MAP(0x5B, 0x29, 0x873D) /* <CJK> */
-MAP(0x5B, 0x2A, 0x873E) /* <CJK> */
-MAP(0x5B, 0x2B, 0x8740) /* <CJK> */
-MAP(0x5B, 0x2C, 0x8743) /* <CJK> */
-MAP(0x5B, 0x2D, 0x8745) /* <CJK> */
-MAP(0x5B, 0x2E, 0x874D) /* <CJK> */
-MAP(0x5B, 0x2F, 0x8758) /* <CJK> */
-MAP(0x5B, 0x30, 0x875D) /* <CJK> */
-MAP(0x5B, 0x31, 0x8761) /* <CJK> */
-MAP(0x5B, 0x32, 0x8764) /* <CJK> */
-MAP(0x5B, 0x33, 0x8765) /* <CJK> */
-MAP(0x5B, 0x34, 0x876F) /* <CJK> */
-MAP(0x5B, 0x35, 0x8771) /* <CJK> */
-MAP(0x5B, 0x36, 0x8772) /* <CJK> */
-MAP(0x5B, 0x37, 0x877B) /* <CJK> */
-MAP(0x5B, 0x38, 0x8783) /* <CJK> */
-MAP(0x5B, 0x39, 0x8784) /* <CJK> */
-MAP(0x5B, 0x3A, 0x8785) /* <CJK> */
-MAP(0x5B, 0x3B, 0x8786) /* <CJK> */
-MAP(0x5B, 0x3C, 0x8787) /* <CJK> */
-MAP(0x5B, 0x3D, 0x8788) /* <CJK> */
-MAP(0x5B, 0x3E, 0x8789) /* <CJK> */
-MAP(0x5B, 0x3F, 0x878B) /* <CJK> */
-MAP(0x5B, 0x40, 0x878C) /* <CJK> */
-MAP(0x5B, 0x41, 0x8790) /* <CJK> */
-MAP(0x5B, 0x42, 0x8793) /* <CJK> */
-MAP(0x5B, 0x43, 0x8795) /* <CJK> */
-MAP(0x5B, 0x44, 0x8797) /* <CJK> */
-MAP(0x5B, 0x45, 0x8798) /* <CJK> */
-MAP(0x5B, 0x46, 0x8799) /* <CJK> */
-MAP(0x5B, 0x47, 0x879E) /* <CJK> */
-MAP(0x5B, 0x48, 0x87A0) /* <CJK> */
-MAP(0x5B, 0x49, 0x87A3) /* <CJK> */
-MAP(0x5B, 0x4A, 0x87A7) /* <CJK> */
-MAP(0x5B, 0x4B, 0x87AC) /* <CJK> */
-MAP(0x5B, 0x4C, 0x87AD) /* <CJK> */
-MAP(0x5B, 0x4D, 0x87AE) /* <CJK> */
-MAP(0x5B, 0x4E, 0x87B1) /* <CJK> */
-MAP(0x5B, 0x4F, 0x87B5) /* <CJK> */
-MAP(0x5B, 0x50, 0x87BE) /* <CJK> */
-MAP(0x5B, 0x51, 0x87BF) /* <CJK> */
-MAP(0x5B, 0x52, 0x87C1) /* <CJK> */
-MAP(0x5B, 0x53, 0x87C8) /* <CJK> */
-MAP(0x5B, 0x54, 0x87C9) /* <CJK> */
-MAP(0x5B, 0x55, 0x87CA) /* <CJK> */
-MAP(0x5B, 0x56, 0x87CE) /* <CJK> */
-MAP(0x5B, 0x57, 0x87D5) /* <CJK> */
-MAP(0x5B, 0x58, 0x87D6) /* <CJK> */
-MAP(0x5B, 0x59, 0x87D9) /* <CJK> */
-MAP(0x5B, 0x5A, 0x87DA) /* <CJK> */
-MAP(0x5B, 0x5B, 0x87DC) /* <CJK> */
-MAP(0x5B, 0x5C, 0x87DF) /* <CJK> */
-MAP(0x5B, 0x5D, 0x87E2) /* <CJK> */
-MAP(0x5B, 0x5E, 0x87E3) /* <CJK> */
-MAP(0x5B, 0x5F, 0x87E4) /* <CJK> */
-MAP(0x5B, 0x60, 0x87EA) /* <CJK> */
-MAP(0x5B, 0x61, 0x87EB) /* <CJK> */
-MAP(0x5B, 0x62, 0x87ED) /* <CJK> */
-MAP(0x5B, 0x63, 0x87F1) /* <CJK> */
-MAP(0x5B, 0x64, 0x87F3) /* <CJK> */
-MAP(0x5B, 0x65, 0x87F8) /* <CJK> */
-MAP(0x5B, 0x66, 0x87FA) /* <CJK> */
-MAP(0x5B, 0x67, 0x87FF) /* <CJK> */
-MAP(0x5B, 0x68, 0x8801) /* <CJK> */
-MAP(0x5B, 0x69, 0x8803) /* <CJK> */
-MAP(0x5B, 0x6A, 0x8806) /* <CJK> */
-MAP(0x5B, 0x6B, 0x8809) /* <CJK> */
-MAP(0x5B, 0x6C, 0x880A) /* <CJK> */
-MAP(0x5B, 0x6D, 0x880B) /* <CJK> */
-MAP(0x5B, 0x6E, 0x8810) /* <CJK> */
-MAP(0x5B, 0x6F, 0x8819) /* <CJK> */
-MAP(0x5B, 0x70, 0x8812) /* <CJK> */
-MAP(0x5B, 0x71, 0x8813) /* <CJK> */
-MAP(0x5B, 0x72, 0x8814) /* <CJK> */
-MAP(0x5B, 0x73, 0x8818) /* <CJK> */
-MAP(0x5B, 0x74, 0x881A) /* <CJK> */
-MAP(0x5B, 0x75, 0x881B) /* <CJK> */
-MAP(0x5B, 0x76, 0x881C) /* <CJK> */
-MAP(0x5B, 0x77, 0x881E) /* <CJK> */
-MAP(0x5B, 0x78, 0x881F) /* <CJK> */
-MAP(0x5B, 0x79, 0x8828) /* <CJK> */
-MAP(0x5B, 0x7A, 0x882D) /* <CJK> */
-MAP(0x5B, 0x7B, 0x882E) /* <CJK> */
-MAP(0x5B, 0x7C, 0x8830) /* <CJK> */
-MAP(0x5B, 0x7D, 0x8832) /* <CJK> */
-MAP(0x5B, 0x7E, 0x8835) /* <CJK> */
-MAP(0x5C, 0x21, 0x883A) /* <CJK> */
-MAP(0x5C, 0x22, 0x883C) /* <CJK> */
-MAP(0x5C, 0x23, 0x8841) /* <CJK> */
-MAP(0x5C, 0x24, 0x8843) /* <CJK> */
-MAP(0x5C, 0x25, 0x8845) /* <CJK> */
-MAP(0x5C, 0x26, 0x8848) /* <CJK> */
-MAP(0x5C, 0x27, 0x8849) /* <CJK> */
-MAP(0x5C, 0x28, 0x884A) /* <CJK> */
-MAP(0x5C, 0x29, 0x884B) /* <CJK> */
-MAP(0x5C, 0x2A, 0x884E) /* <CJK> */
-MAP(0x5C, 0x2B, 0x8851) /* <CJK> */
-MAP(0x5C, 0x2C, 0x8855) /* <CJK> */
-MAP(0x5C, 0x2D, 0x8856) /* <CJK> */
-MAP(0x5C, 0x2E, 0x8858) /* <CJK> */
-MAP(0x5C, 0x2F, 0x885A) /* <CJK> */
-MAP(0x5C, 0x30, 0x885C) /* <CJK> */
-MAP(0x5C, 0x31, 0x885F) /* <CJK> */
-MAP(0x5C, 0x32, 0x8860) /* <CJK> */
-MAP(0x5C, 0x33, 0x8864) /* <CJK> */
-MAP(0x5C, 0x34, 0x8869) /* <CJK> */
-MAP(0x5C, 0x35, 0x8871) /* <CJK> */
-MAP(0x5C, 0x36, 0x8879) /* <CJK> */
-MAP(0x5C, 0x37, 0x887B) /* <CJK> */
-MAP(0x5C, 0x38, 0x8880) /* <CJK> */
-MAP(0x5C, 0x39, 0x8898) /* <CJK> */
-MAP(0x5C, 0x3A, 0x889A) /* <CJK> */
-MAP(0x5C, 0x3B, 0x889B) /* <CJK> */
-MAP(0x5C, 0x3C, 0x889C) /* <CJK> */
-MAP(0x5C, 0x3D, 0x889F) /* <CJK> */
-MAP(0x5C, 0x3E, 0x88A0) /* <CJK> */
-MAP(0x5C, 0x3F, 0x88A8) /* <CJK> */
-MAP(0x5C, 0x40, 0x88AA) /* <CJK> */
-MAP(0x5C, 0x41, 0x88BA) /* <CJK> */
-MAP(0x5C, 0x42, 0x88BD) /* <CJK> */
-MAP(0x5C, 0x43, 0x88BE) /* <CJK> */
-MAP(0x5C, 0x44, 0x88C0) /* <CJK> */
-MAP(0x5C, 0x45, 0x88CA) /* <CJK> */
-MAP(0x5C, 0x46, 0x88CB) /* <CJK> */
-MAP(0x5C, 0x47, 0x88CC) /* <CJK> */
-MAP(0x5C, 0x48, 0x88CD) /* <CJK> */
-MAP(0x5C, 0x49, 0x88CE) /* <CJK> */
-MAP(0x5C, 0x4A, 0x88D1) /* <CJK> */
-MAP(0x5C, 0x4B, 0x88D2) /* <CJK> */
-MAP(0x5C, 0x4C, 0x88D3) /* <CJK> */
-MAP(0x5C, 0x4D, 0x88DB) /* <CJK> */
-MAP(0x5C, 0x4E, 0x88DE) /* <CJK> */
-MAP(0x5C, 0x4F, 0x88E7) /* <CJK> */
-MAP(0x5C, 0x50, 0x88EF) /* <CJK> */
-MAP(0x5C, 0x51, 0x88F0) /* <CJK> */
-MAP(0x5C, 0x52, 0x88F1) /* <CJK> */
-MAP(0x5C, 0x53, 0x88F5) /* <CJK> */
-MAP(0x5C, 0x54, 0x88F7) /* <CJK> */
-MAP(0x5C, 0x55, 0x8901) /* <CJK> */
-MAP(0x5C, 0x56, 0x8906) /* <CJK> */
-MAP(0x5C, 0x57, 0x890D) /* <CJK> */
-MAP(0x5C, 0x58, 0x890E) /* <CJK> */
-MAP(0x5C, 0x59, 0x890F) /* <CJK> */
-MAP(0x5C, 0x5A, 0x8915) /* <CJK> */
-MAP(0x5C, 0x5B, 0x8916) /* <CJK> */
-MAP(0x5C, 0x5C, 0x8918) /* <CJK> */
-MAP(0x5C, 0x5D, 0x8919) /* <CJK> */
-MAP(0x5C, 0x5E, 0x891A) /* <CJK> */
-MAP(0x5C, 0x5F, 0x891C) /* <CJK> */
-MAP(0x5C, 0x60, 0x8920) /* <CJK> */
-MAP(0x5C, 0x61, 0x8926) /* <CJK> */
-MAP(0x5C, 0x62, 0x8927) /* <CJK> */
-MAP(0x5C, 0x63, 0x8928) /* <CJK> */
-MAP(0x5C, 0x64, 0x8930) /* <CJK> */
-MAP(0x5C, 0x65, 0x8931) /* <CJK> */
-MAP(0x5C, 0x66, 0x8932) /* <CJK> */
-MAP(0x5C, 0x67, 0x8935) /* <CJK> */
-MAP(0x5C, 0x68, 0x8939) /* <CJK> */
-MAP(0x5C, 0x69, 0x893A) /* <CJK> */
-MAP(0x5C, 0x6A, 0x893E) /* <CJK> */
-MAP(0x5C, 0x6B, 0x8940) /* <CJK> */
-MAP(0x5C, 0x6C, 0x8942) /* <CJK> */
-MAP(0x5C, 0x6D, 0x8945) /* <CJK> */
-MAP(0x5C, 0x6E, 0x8946) /* <CJK> */
-MAP(0x5C, 0x6F, 0x8949) /* <CJK> */
-MAP(0x5C, 0x70, 0x894F) /* <CJK> */
-MAP(0x5C, 0x71, 0x8952) /* <CJK> */
-MAP(0x5C, 0x72, 0x8957) /* <CJK> */
-MAP(0x5C, 0x73, 0x895A) /* <CJK> */
-MAP(0x5C, 0x74, 0x895B) /* <CJK> */
-MAP(0x5C, 0x75, 0x895C) /* <CJK> */
-MAP(0x5C, 0x76, 0x8961) /* <CJK> */
-MAP(0x5C, 0x77, 0x8962) /* <CJK> */
-MAP(0x5C, 0x78, 0x8963) /* <CJK> */
-MAP(0x5C, 0x79, 0x896B) /* <CJK> */
-MAP(0x5C, 0x7A, 0x896E) /* <CJK> */
-MAP(0x5C, 0x7B, 0x8970) /* <CJK> */
-MAP(0x5C, 0x7C, 0x8973) /* <CJK> */
-MAP(0x5C, 0x7D, 0x8975) /* <CJK> */
-MAP(0x5C, 0x7E, 0x897A) /* <CJK> */
-MAP(0x5D, 0x21, 0x897B) /* <CJK> */
-MAP(0x5D, 0x22, 0x897C) /* <CJK> */
-MAP(0x5D, 0x23, 0x897D) /* <CJK> */
-MAP(0x5D, 0x24, 0x8989) /* <CJK> */
-MAP(0x5D, 0x25, 0x898D) /* <CJK> */
-MAP(0x5D, 0x26, 0x8990) /* <CJK> */
-MAP(0x5D, 0x27, 0x8994) /* <CJK> */
-MAP(0x5D, 0x28, 0x8995) /* <CJK> */
-MAP(0x5D, 0x29, 0x899B) /* <CJK> */
-MAP(0x5D, 0x2A, 0x899C) /* <CJK> */
-MAP(0x5D, 0x2B, 0x899F) /* <CJK> */
-MAP(0x5D, 0x2C, 0x89A0) /* <CJK> */
-MAP(0x5D, 0x2D, 0x89A5) /* <CJK> */
-MAP(0x5D, 0x2E, 0x89B0) /* <CJK> */
-MAP(0x5D, 0x2F, 0x89B4) /* <CJK> */
-MAP(0x5D, 0x30, 0x89B5) /* <CJK> */
-MAP(0x5D, 0x31, 0x89B6) /* <CJK> */
-MAP(0x5D, 0x32, 0x89B7) /* <CJK> */
-MAP(0x5D, 0x33, 0x89BC) /* <CJK> */
-MAP(0x5D, 0x34, 0x89D4) /* <CJK> */
-MAP(0x5D, 0x35, 0x89D5) /* <CJK> */
-MAP(0x5D, 0x36, 0x89D6) /* <CJK> */
-MAP(0x5D, 0x37, 0x89D7) /* <CJK> */
-MAP(0x5D, 0x38, 0x89D8) /* <CJK> */
-MAP(0x5D, 0x39, 0x89E5) /* <CJK> */
-MAP(0x5D, 0x3A, 0x89E9) /* <CJK> */
-MAP(0x5D, 0x3B, 0x89EB) /* <CJK> */
-MAP(0x5D, 0x3C, 0x89ED) /* <CJK> */
-MAP(0x5D, 0x3D, 0x89F1) /* <CJK> */
-MAP(0x5D, 0x3E, 0x89F3) /* <CJK> */
-MAP(0x5D, 0x3F, 0x89F6) /* <CJK> */
-MAP(0x5D, 0x40, 0x89F9) /* <CJK> */
-MAP(0x5D, 0x41, 0x89FD) /* <CJK> */
-MAP(0x5D, 0x42, 0x89FF) /* <CJK> */
-MAP(0x5D, 0x43, 0x8A04) /* <CJK> */
-MAP(0x5D, 0x44, 0x8A05) /* <CJK> */
-MAP(0x5D, 0x45, 0x8A07) /* <CJK> */
-MAP(0x5D, 0x46, 0x8A0F) /* <CJK> */
-MAP(0x5D, 0x47, 0x8A11) /* <CJK> */
-MAP(0x5D, 0x48, 0x8A12) /* <CJK> */
-MAP(0x5D, 0x49, 0x8A14) /* <CJK> */
-MAP(0x5D, 0x4A, 0x8A15) /* <CJK> */
-MAP(0x5D, 0x4B, 0x8A1E) /* <CJK> */
-MAP(0x5D, 0x4C, 0x8A20) /* <CJK> */
-MAP(0x5D, 0x4D, 0x8A22) /* <CJK> */
-MAP(0x5D, 0x4E, 0x8A24) /* <CJK> */
-MAP(0x5D, 0x4F, 0x8A26) /* <CJK> */
-MAP(0x5D, 0x50, 0x8A2B) /* <CJK> */
-MAP(0x5D, 0x51, 0x8A2C) /* <CJK> */
-MAP(0x5D, 0x52, 0x8A2F) /* <CJK> */
-MAP(0x5D, 0x53, 0x8A35) /* <CJK> */
-MAP(0x5D, 0x54, 0x8A37) /* <CJK> */
-MAP(0x5D, 0x55, 0x8A3D) /* <CJK> */
-MAP(0x5D, 0x56, 0x8A3E) /* <CJK> */
-MAP(0x5D, 0x57, 0x8A40) /* <CJK> */
-MAP(0x5D, 0x58, 0x8A43) /* <CJK> */
-MAP(0x5D, 0x59, 0x8A45) /* <CJK> */
-MAP(0x5D, 0x5A, 0x8A47) /* <CJK> */
-MAP(0x5D, 0x5B, 0x8A49) /* <CJK> */
-MAP(0x5D, 0x5C, 0x8A4D) /* <CJK> */
-MAP(0x5D, 0x5D, 0x8A4E) /* <CJK> */
-MAP(0x5D, 0x5E, 0x8A53) /* <CJK> */
-MAP(0x5D, 0x5F, 0x8A56) /* <CJK> */
-MAP(0x5D, 0x60, 0x8A57) /* <CJK> */
-MAP(0x5D, 0x61, 0x8A58) /* <CJK> */
-MAP(0x5D, 0x62, 0x8A5C) /* <CJK> */
-MAP(0x5D, 0x63, 0x8A5D) /* <CJK> */
-MAP(0x5D, 0x64, 0x8A61) /* <CJK> */
-MAP(0x5D, 0x65, 0x8A65) /* <CJK> */
-MAP(0x5D, 0x66, 0x8A67) /* <CJK> */
-MAP(0x5D, 0x67, 0x8A75) /* <CJK> */
-MAP(0x5D, 0x68, 0x8A76) /* <CJK> */
-MAP(0x5D, 0x69, 0x8A77) /* <CJK> */
-MAP(0x5D, 0x6A, 0x8A79) /* <CJK> */
-MAP(0x5D, 0x6B, 0x8A7A) /* <CJK> */
-MAP(0x5D, 0x6C, 0x8A7B) /* <CJK> */
-MAP(0x5D, 0x6D, 0x8A7E) /* <CJK> */
-MAP(0x5D, 0x6E, 0x8A7F) /* <CJK> */
-MAP(0x5D, 0x6F, 0x8A80) /* <CJK> */
-MAP(0x5D, 0x70, 0x8A83) /* <CJK> */
-MAP(0x5D, 0x71, 0x8A86) /* <CJK> */
-MAP(0x5D, 0x72, 0x8A8B) /* <CJK> */
-MAP(0x5D, 0x73, 0x8A8F) /* <CJK> */
-MAP(0x5D, 0x74, 0x8A90) /* <CJK> */
-MAP(0x5D, 0x75, 0x8A92) /* <CJK> */
-MAP(0x5D, 0x76, 0x8A96) /* <CJK> */
-MAP(0x5D, 0x77, 0x8A97) /* <CJK> */
-MAP(0x5D, 0x78, 0x8A99) /* <CJK> */
-MAP(0x5D, 0x79, 0x8A9F) /* <CJK> */
-MAP(0x5D, 0x7A, 0x8AA7) /* <CJK> */
-MAP(0x5D, 0x7B, 0x8AA9) /* <CJK> */
-MAP(0x5D, 0x7C, 0x8AAE) /* <CJK> */
-MAP(0x5D, 0x7D, 0x8AAF) /* <CJK> */
-MAP(0x5D, 0x7E, 0x8AB3) /* <CJK> */
-MAP(0x5E, 0x21, 0x8AB6) /* <CJK> */
-MAP(0x5E, 0x22, 0x8AB7) /* <CJK> */
-MAP(0x5E, 0x23, 0x8ABB) /* <CJK> */
-MAP(0x5E, 0x24, 0x8ABE) /* <CJK> */
-MAP(0x5E, 0x25, 0x8AC3) /* <CJK> */
-MAP(0x5E, 0x26, 0x8AC6) /* <CJK> */
-MAP(0x5E, 0x27, 0x8AC8) /* <CJK> */
-MAP(0x5E, 0x28, 0x8AC9) /* <CJK> */
-MAP(0x5E, 0x29, 0x8ACA) /* <CJK> */
-MAP(0x5E, 0x2A, 0x8AD1) /* <CJK> */
-MAP(0x5E, 0x2B, 0x8AD3) /* <CJK> */
-MAP(0x5E, 0x2C, 0x8AD4) /* <CJK> */
-MAP(0x5E, 0x2D, 0x8AD5) /* <CJK> */
-MAP(0x5E, 0x2E, 0x8AD7) /* <CJK> */
-MAP(0x5E, 0x2F, 0x8ADD) /* <CJK> */
-MAP(0x5E, 0x30, 0x8ADF) /* <CJK> */
-MAP(0x5E, 0x31, 0x8AEC) /* <CJK> */
-MAP(0x5E, 0x32, 0x8AF0) /* <CJK> */
-MAP(0x5E, 0x33, 0x8AF4) /* <CJK> */
-MAP(0x5E, 0x34, 0x8AF5) /* <CJK> */
-MAP(0x5E, 0x35, 0x8AF6) /* <CJK> */
-MAP(0x5E, 0x36, 0x8AFC) /* <CJK> */
-MAP(0x5E, 0x37, 0x8AFF) /* <CJK> */
-MAP(0x5E, 0x38, 0x8B05) /* <CJK> */
-MAP(0x5E, 0x39, 0x8B06) /* <CJK> */
-MAP(0x5E, 0x3A, 0x8B0B) /* <CJK> */
-MAP(0x5E, 0x3B, 0x8B11) /* <CJK> */
-MAP(0x5E, 0x3C, 0x8B1C) /* <CJK> */
-MAP(0x5E, 0x3D, 0x8B1E) /* <CJK> */
-MAP(0x5E, 0x3E, 0x8B1F) /* <CJK> */
-MAP(0x5E, 0x3F, 0x8B0A) /* <CJK> */
-MAP(0x5E, 0x40, 0x8B2D) /* <CJK> */
-MAP(0x5E, 0x41, 0x8B30) /* <CJK> */
-MAP(0x5E, 0x42, 0x8B37) /* <CJK> */
-MAP(0x5E, 0x43, 0x8B3C) /* <CJK> */
-MAP(0x5E, 0x44, 0x8B42) /* <CJK> */
-MAP(0x5E, 0x45, 0x8B43) /* <CJK> */
-MAP(0x5E, 0x46, 0x8B44) /* <CJK> */
-MAP(0x5E, 0x47, 0x8B45) /* <CJK> */
-MAP(0x5E, 0x48, 0x8B46) /* <CJK> */
-MAP(0x5E, 0x49, 0x8B48) /* <CJK> */
-MAP(0x5E, 0x4A, 0x8B52) /* <CJK> */
-MAP(0x5E, 0x4B, 0x8B53) /* <CJK> */
-MAP(0x5E, 0x4C, 0x8B54) /* <CJK> */
-MAP(0x5E, 0x4D, 0x8B59) /* <CJK> */
-MAP(0x5E, 0x4E, 0x8B4D) /* <CJK> */
-MAP(0x5E, 0x4F, 0x8B5E) /* <CJK> */
-MAP(0x5E, 0x50, 0x8B63) /* <CJK> */
-MAP(0x5E, 0x51, 0x8B6D) /* <CJK> */
-MAP(0x5E, 0x52, 0x8B76) /* <CJK> */
-MAP(0x5E, 0x53, 0x8B78) /* <CJK> */
-MAP(0x5E, 0x54, 0x8B79) /* <CJK> */
-MAP(0x5E, 0x55, 0x8B7C) /* <CJK> */
-MAP(0x5E, 0x56, 0x8B7E) /* <CJK> */
-MAP(0x5E, 0x57, 0x8B81) /* <CJK> */
-MAP(0x5E, 0x58, 0x8B84) /* <CJK> */
-MAP(0x5E, 0x59, 0x8B85) /* <CJK> */
-MAP(0x5E, 0x5A, 0x8B8B) /* <CJK> */
-MAP(0x5E, 0x5B, 0x8B8D) /* <CJK> */
-MAP(0x5E, 0x5C, 0x8B8F) /* <CJK> */
-MAP(0x5E, 0x5D, 0x8B94) /* <CJK> */
-MAP(0x5E, 0x5E, 0x8B95) /* <CJK> */
-MAP(0x5E, 0x5F, 0x8B9C) /* <CJK> */
-MAP(0x5E, 0x60, 0x8B9E) /* <CJK> */
-MAP(0x5E, 0x61, 0x8B9F) /* <CJK> */
-MAP(0x5E, 0x62, 0x8C38) /* <CJK> */
-MAP(0x5E, 0x63, 0x8C39) /* <CJK> */
-MAP(0x5E, 0x64, 0x8C3D) /* <CJK> */
-MAP(0x5E, 0x65, 0x8C3E) /* <CJK> */
-MAP(0x5E, 0x66, 0x8C45) /* <CJK> */
-MAP(0x5E, 0x67, 0x8C47) /* <CJK> */
-MAP(0x5E, 0x68, 0x8C49) /* <CJK> */
-MAP(0x5E, 0x69, 0x8C4B) /* <CJK> */
-MAP(0x5E, 0x6A, 0x8C4F) /* <CJK> */
-MAP(0x5E, 0x6B, 0x8C51) /* <CJK> */
-MAP(0x5E, 0x6C, 0x8C53) /* <CJK> */
-MAP(0x5E, 0x6D, 0x8C54) /* <CJK> */
-MAP(0x5E, 0x6E, 0x8C57) /* <CJK> */
-MAP(0x5E, 0x6F, 0x8C58) /* <CJK> */
-MAP(0x5E, 0x70, 0x8C5B) /* <CJK> */
-MAP(0x5E, 0x71, 0x8C5D) /* <CJK> */
-MAP(0x5E, 0x72, 0x8C59) /* <CJK> */
-MAP(0x5E, 0x73, 0x8C63) /* <CJK> */
-MAP(0x5E, 0x74, 0x8C64) /* <CJK> */
-MAP(0x5E, 0x75, 0x8C66) /* <CJK> */
-MAP(0x5E, 0x76, 0x8C68) /* <CJK> */
-MAP(0x5E, 0x77, 0x8C69) /* <CJK> */
-MAP(0x5E, 0x78, 0x8C6D) /* <CJK> */
-MAP(0x5E, 0x79, 0x8C73) /* <CJK> */
-MAP(0x5E, 0x7A, 0x8C75) /* <CJK> */
-MAP(0x5E, 0x7B, 0x8C76) /* <CJK> */
-MAP(0x5E, 0x7C, 0x8C7B) /* <CJK> */
-MAP(0x5E, 0x7D, 0x8C7E) /* <CJK> */
-MAP(0x5E, 0x7E, 0x8C86) /* <CJK> */
-MAP(0x5F, 0x21, 0x8C87) /* <CJK> */
-MAP(0x5F, 0x22, 0x8C8B) /* <CJK> */
-MAP(0x5F, 0x23, 0x8C90) /* <CJK> */
-MAP(0x5F, 0x24, 0x8C92) /* <CJK> */
-MAP(0x5F, 0x25, 0x8C93) /* <CJK> */
-MAP(0x5F, 0x26, 0x8C99) /* <CJK> */
-MAP(0x5F, 0x27, 0x8C9B) /* <CJK> */
-MAP(0x5F, 0x28, 0x8C9C) /* <CJK> */
-MAP(0x5F, 0x29, 0x8CA4) /* <CJK> */
-MAP(0x5F, 0x2A, 0x8CB9) /* <CJK> */
-MAP(0x5F, 0x2B, 0x8CBA) /* <CJK> */
-MAP(0x5F, 0x2C, 0x8CC5) /* <CJK> */
-MAP(0x5F, 0x2D, 0x8CC6) /* <CJK> */
-MAP(0x5F, 0x2E, 0x8CC9) /* <CJK> */
-MAP(0x5F, 0x2F, 0x8CCB) /* <CJK> */
-MAP(0x5F, 0x30, 0x8CCF) /* <CJK> */
-MAP(0x5F, 0x31, 0x8CD6) /* <CJK> */
-MAP(0x5F, 0x32, 0x8CD5) /* <CJK> */
-MAP(0x5F, 0x33, 0x8CD9) /* <CJK> */
-MAP(0x5F, 0x34, 0x8CDD) /* <CJK> */
-MAP(0x5F, 0x35, 0x8CE1) /* <CJK> */
-MAP(0x5F, 0x36, 0x8CE8) /* <CJK> */
-MAP(0x5F, 0x37, 0x8CEC) /* <CJK> */
-MAP(0x5F, 0x38, 0x8CEF) /* <CJK> */
-MAP(0x5F, 0x39, 0x8CF0) /* <CJK> */
-MAP(0x5F, 0x3A, 0x8CF2) /* <CJK> */
-MAP(0x5F, 0x3B, 0x8CF5) /* <CJK> */
-MAP(0x5F, 0x3C, 0x8CF7) /* <CJK> */
-MAP(0x5F, 0x3D, 0x8CF8) /* <CJK> */
-MAP(0x5F, 0x3E, 0x8CFE) /* <CJK> */
-MAP(0x5F, 0x3F, 0x8CFF) /* <CJK> */
-MAP(0x5F, 0x40, 0x8D01) /* <CJK> */
-MAP(0x5F, 0x41, 0x8D03) /* <CJK> */
-MAP(0x5F, 0x42, 0x8D09) /* <CJK> */
-MAP(0x5F, 0x43, 0x8D12) /* <CJK> */
-MAP(0x5F, 0x44, 0x8D17) /* <CJK> */
-MAP(0x5F, 0x45, 0x8D1B) /* <CJK> */
-MAP(0x5F, 0x46, 0x8D65) /* <CJK> */
-MAP(0x5F, 0x47, 0x8D69) /* <CJK> */
-MAP(0x5F, 0x48, 0x8D6C) /* <CJK> */
-MAP(0x5F, 0x49, 0x8D6E) /* <CJK> */
-MAP(0x5F, 0x4A, 0x8D7F) /* <CJK> */
-MAP(0x5F, 0x4B, 0x8D82) /* <CJK> */
-MAP(0x5F, 0x4C, 0x8D84) /* <CJK> */
-MAP(0x5F, 0x4D, 0x8D88) /* <CJK> */
-MAP(0x5F, 0x4E, 0x8D8D) /* <CJK> */
-MAP(0x5F, 0x4F, 0x8D90) /* <CJK> */
-MAP(0x5F, 0x50, 0x8D91) /* <CJK> */
-MAP(0x5F, 0x51, 0x8D95) /* <CJK> */
-MAP(0x5F, 0x52, 0x8D9E) /* <CJK> */
-MAP(0x5F, 0x53, 0x8D9F) /* <CJK> */
-MAP(0x5F, 0x54, 0x8DA0) /* <CJK> */
-MAP(0x5F, 0x55, 0x8DA6) /* <CJK> */
-MAP(0x5F, 0x56, 0x8DAB) /* <CJK> */
-MAP(0x5F, 0x57, 0x8DAC) /* <CJK> */
-MAP(0x5F, 0x58, 0x8DAF) /* <CJK> */
-MAP(0x5F, 0x59, 0x8DB2) /* <CJK> */
-MAP(0x5F, 0x5A, 0x8DB5) /* <CJK> */
-MAP(0x5F, 0x5B, 0x8DB7) /* <CJK> */
-MAP(0x5F, 0x5C, 0x8DB9) /* <CJK> */
-MAP(0x5F, 0x5D, 0x8DBB) /* <CJK> */
-MAP(0x5F, 0x5E, 0x8DC0) /* <CJK> */
-MAP(0x5F, 0x5F, 0x8DC5) /* <CJK> */
-MAP(0x5F, 0x60, 0x8DC6) /* <CJK> */
-MAP(0x5F, 0x61, 0x8DC7) /* <CJK> */
-MAP(0x5F, 0x62, 0x8DC8) /* <CJK> */
-MAP(0x5F, 0x63, 0x8DCA) /* <CJK> */
-MAP(0x5F, 0x64, 0x8DCE) /* <CJK> */
-MAP(0x5F, 0x65, 0x8DD1) /* <CJK> */
-MAP(0x5F, 0x66, 0x8DD4) /* <CJK> */
-MAP(0x5F, 0x67, 0x8DD5) /* <CJK> */
-MAP(0x5F, 0x68, 0x8DD7) /* <CJK> */
-MAP(0x5F, 0x69, 0x8DD9) /* <CJK> */
-MAP(0x5F, 0x6A, 0x8DE4) /* <CJK> */
-MAP(0x5F, 0x6B, 0x8DE5) /* <CJK> */
-MAP(0x5F, 0x6C, 0x8DE7) /* <CJK> */
-MAP(0x5F, 0x6D, 0x8DEC) /* <CJK> */
-MAP(0x5F, 0x6E, 0x8DF0) /* <CJK> */
-MAP(0x5F, 0x6F, 0x8DBC) /* <CJK> */
-MAP(0x5F, 0x70, 0x8DF1) /* <CJK> */
-MAP(0x5F, 0x71, 0x8DF2) /* <CJK> */
-MAP(0x5F, 0x72, 0x8DF4) /* <CJK> */
-MAP(0x5F, 0x73, 0x8DFD) /* <CJK> */
-MAP(0x5F, 0x74, 0x8E01) /* <CJK> */
-MAP(0x5F, 0x75, 0x8E04) /* <CJK> */
-MAP(0x5F, 0x76, 0x8E05) /* <CJK> */
-MAP(0x5F, 0x77, 0x8E06) /* <CJK> */
-MAP(0x5F, 0x78, 0x8E0B) /* <CJK> */
-MAP(0x5F, 0x79, 0x8E11) /* <CJK> */
-MAP(0x5F, 0x7A, 0x8E14) /* <CJK> */
-MAP(0x5F, 0x7B, 0x8E16) /* <CJK> */
-MAP(0x5F, 0x7C, 0x8E20) /* <CJK> */
-MAP(0x5F, 0x7D, 0x8E21) /* <CJK> */
-MAP(0x5F, 0x7E, 0x8E22) /* <CJK> */
-MAP(0x60, 0x21, 0x8E23) /* <CJK> */
-MAP(0x60, 0x22, 0x8E26) /* <CJK> */
-MAP(0x60, 0x23, 0x8E27) /* <CJK> */
-MAP(0x60, 0x24, 0x8E31) /* <CJK> */
-MAP(0x60, 0x25, 0x8E33) /* <CJK> */
-MAP(0x60, 0x26, 0x8E36) /* <CJK> */
-MAP(0x60, 0x27, 0x8E37) /* <CJK> */
-MAP(0x60, 0x28, 0x8E38) /* <CJK> */
-MAP(0x60, 0x29, 0x8E39) /* <CJK> */
-MAP(0x60, 0x2A, 0x8E3D) /* <CJK> */
-MAP(0x60, 0x2B, 0x8E40) /* <CJK> */
-MAP(0x60, 0x2C, 0x8E41) /* <CJK> */
-MAP(0x60, 0x2D, 0x8E4B) /* <CJK> */
-MAP(0x60, 0x2E, 0x8E4D) /* <CJK> */
-MAP(0x60, 0x2F, 0x8E4E) /* <CJK> */
-MAP(0x60, 0x30, 0x8E4F) /* <CJK> */
-MAP(0x60, 0x31, 0x8E54) /* <CJK> */
-MAP(0x60, 0x32, 0x8E5B) /* <CJK> */
-MAP(0x60, 0x33, 0x8E5C) /* <CJK> */
-MAP(0x60, 0x34, 0x8E5D) /* <CJK> */
-MAP(0x60, 0x35, 0x8E5E) /* <CJK> */
-MAP(0x60, 0x36, 0x8E61) /* <CJK> */
-MAP(0x60, 0x37, 0x8E62) /* <CJK> */
-MAP(0x60, 0x38, 0x8E69) /* <CJK> */
-MAP(0x60, 0x39, 0x8E6C) /* <CJK> */
-MAP(0x60, 0x3A, 0x8E6D) /* <CJK> */
-MAP(0x60, 0x3B, 0x8E6F) /* <CJK> */
-MAP(0x60, 0x3C, 0x8E70) /* <CJK> */
-MAP(0x60, 0x3D, 0x8E71) /* <CJK> */
-MAP(0x60, 0x3E, 0x8E79) /* <CJK> */
-MAP(0x60, 0x3F, 0x8E7A) /* <CJK> */
-MAP(0x60, 0x40, 0x8E7B) /* <CJK> */
-MAP(0x60, 0x41, 0x8E82) /* <CJK> */
-MAP(0x60, 0x42, 0x8E83) /* <CJK> */
-MAP(0x60, 0x43, 0x8E89) /* <CJK> */
-MAP(0x60, 0x44, 0x8E90) /* <CJK> */
-MAP(0x60, 0x45, 0x8E92) /* <CJK> */
-MAP(0x60, 0x46, 0x8E95) /* <CJK> */
-MAP(0x60, 0x47, 0x8E9A) /* <CJK> */
-MAP(0x60, 0x48, 0x8E9B) /* <CJK> */
-MAP(0x60, 0x49, 0x8E9D) /* <CJK> */
-MAP(0x60, 0x4A, 0x8E9E) /* <CJK> */
-MAP(0x60, 0x4B, 0x8EA2) /* <CJK> */
-MAP(0x60, 0x4C, 0x8EA7) /* <CJK> */
-MAP(0x60, 0x4D, 0x8EA9) /* <CJK> */
-MAP(0x60, 0x4E, 0x8EAD) /* <CJK> */
-MAP(0x60, 0x4F, 0x8EAE) /* <CJK> */
-MAP(0x60, 0x50, 0x8EB3) /* <CJK> */
-MAP(0x60, 0x51, 0x8EB5) /* <CJK> */
-MAP(0x60, 0x52, 0x8EBA) /* <CJK> */
-MAP(0x60, 0x53, 0x8EBB) /* <CJK> */
-MAP(0x60, 0x54, 0x8EC0) /* <CJK> */
-MAP(0x60, 0x55, 0x8EC1) /* <CJK> */
-MAP(0x60, 0x56, 0x8EC3) /* <CJK> */
-MAP(0x60, 0x57, 0x8EC4) /* <CJK> */
-MAP(0x60, 0x58, 0x8EC7) /* <CJK> */
-MAP(0x60, 0x59, 0x8ECF) /* <CJK> */
-MAP(0x60, 0x5A, 0x8ED1) /* <CJK> */
-MAP(0x60, 0x5B, 0x8ED4) /* <CJK> */
-MAP(0x60, 0x5C, 0x8EDC) /* <CJK> */
-MAP(0x60, 0x5D, 0x8EE8) /* <CJK> */
-MAP(0x60, 0x5E, 0x8EEE) /* <CJK> */
-MAP(0x60, 0x5F, 0x8EF0) /* <CJK> */
-MAP(0x60, 0x60, 0x8EF1) /* <CJK> */
-MAP(0x60, 0x61, 0x8EF7) /* <CJK> */
-MAP(0x60, 0x62, 0x8EF9) /* <CJK> */
-MAP(0x60, 0x63, 0x8EFA) /* <CJK> */
-MAP(0x60, 0x64, 0x8EED) /* <CJK> */
-MAP(0x60, 0x65, 0x8F00) /* <CJK> */
-MAP(0x60, 0x66, 0x8F02) /* <CJK> */
-MAP(0x60, 0x67, 0x8F07) /* <CJK> */
-MAP(0x60, 0x68, 0x8F08) /* <CJK> */
-MAP(0x60, 0x69, 0x8F0F) /* <CJK> */
-MAP(0x60, 0x6A, 0x8F10) /* <CJK> */
-MAP(0x60, 0x6B, 0x8F16) /* <CJK> */
-MAP(0x60, 0x6C, 0x8F17) /* <CJK> */
-MAP(0x60, 0x6D, 0x8F18) /* <CJK> */
-MAP(0x60, 0x6E, 0x8F1E) /* <CJK> */
-MAP(0x60, 0x6F, 0x8F20) /* <CJK> */
-MAP(0x60, 0x70, 0x8F21) /* <CJK> */
-MAP(0x60, 0x71, 0x8F23) /* <CJK> */
-MAP(0x60, 0x72, 0x8F25) /* <CJK> */
-MAP(0x60, 0x73, 0x8F27) /* <CJK> */
-MAP(0x60, 0x74, 0x8F28) /* <CJK> */
-MAP(0x60, 0x75, 0x8F2C) /* <CJK> */
-MAP(0x60, 0x76, 0x8F2D) /* <CJK> */
-MAP(0x60, 0x77, 0x8F2E) /* <CJK> */
-MAP(0x60, 0x78, 0x8F34) /* <CJK> */
-MAP(0x60, 0x79, 0x8F35) /* <CJK> */
-MAP(0x60, 0x7A, 0x8F36) /* <CJK> */
-MAP(0x60, 0x7B, 0x8F37) /* <CJK> */
-MAP(0x60, 0x7C, 0x8F3A) /* <CJK> */
-MAP(0x60, 0x7D, 0x8F40) /* <CJK> */
-MAP(0x60, 0x7E, 0x8F41) /* <CJK> */
-MAP(0x61, 0x21, 0x8F43) /* <CJK> */
-MAP(0x61, 0x22, 0x8F47) /* <CJK> */
-MAP(0x61, 0x23, 0x8F4F) /* <CJK> */
-MAP(0x61, 0x24, 0x8F51) /* <CJK> */
-MAP(0x61, 0x25, 0x8F52) /* <CJK> */
-MAP(0x61, 0x26, 0x8F53) /* <CJK> */
-MAP(0x61, 0x27, 0x8F54) /* <CJK> */
-MAP(0x61, 0x28, 0x8F55) /* <CJK> */
-MAP(0x61, 0x29, 0x8F58) /* <CJK> */
-MAP(0x61, 0x2A, 0x8F5D) /* <CJK> */
-MAP(0x61, 0x2B, 0x8F5E) /* <CJK> */
-MAP(0x61, 0x2C, 0x8F65) /* <CJK> */
-MAP(0x61, 0x2D, 0x8F9D) /* <CJK> */
-MAP(0x61, 0x2E, 0x8FA0) /* <CJK> */
-MAP(0x61, 0x2F, 0x8FA1) /* <CJK> */
-MAP(0x61, 0x30, 0x8FA4) /* <CJK> */
-MAP(0x61, 0x31, 0x8FA5) /* <CJK> */
-MAP(0x61, 0x32, 0x8FA6) /* <CJK> */
-MAP(0x61, 0x33, 0x8FB5) /* <CJK> */
-MAP(0x61, 0x34, 0x8FB6) /* <CJK> */
-MAP(0x61, 0x35, 0x8FB8) /* <CJK> */
-MAP(0x61, 0x36, 0x8FBE) /* <CJK> */
-MAP(0x61, 0x37, 0x8FC0) /* <CJK> */
-MAP(0x61, 0x38, 0x8FC1) /* <CJK> */
-MAP(0x61, 0x39, 0x8FC6) /* <CJK> */
-MAP(0x61, 0x3A, 0x8FCA) /* <CJK> */
-MAP(0x61, 0x3B, 0x8FCB) /* <CJK> */
-MAP(0x61, 0x3C, 0x8FCD) /* <CJK> */
-MAP(0x61, 0x3D, 0x8FD0) /* <CJK> */
-MAP(0x61, 0x3E, 0x8FD2) /* <CJK> */
-MAP(0x61, 0x3F, 0x8FD3) /* <CJK> */
-MAP(0x61, 0x40, 0x8FD5) /* <CJK> */
-MAP(0x61, 0x41, 0x8FE0) /* <CJK> */
-MAP(0x61, 0x42, 0x8FE3) /* <CJK> */
-MAP(0x61, 0x43, 0x8FE4) /* <CJK> */
-MAP(0x61, 0x44, 0x8FE8) /* <CJK> */
-MAP(0x61, 0x45, 0x8FEE) /* <CJK> */
-MAP(0x61, 0x46, 0x8FF1) /* <CJK> */
-MAP(0x61, 0x47, 0x8FF5) /* <CJK> */
-MAP(0x61, 0x48, 0x8FF6) /* <CJK> */
-MAP(0x61, 0x49, 0x8FFB) /* <CJK> */
-MAP(0x61, 0x4A, 0x8FFE) /* <CJK> */
-MAP(0x61, 0x4B, 0x9002) /* <CJK> */
-MAP(0x61, 0x4C, 0x9004) /* <CJK> */
-MAP(0x61, 0x4D, 0x9008) /* <CJK> */
-MAP(0x61, 0x4E, 0x900C) /* <CJK> */
-MAP(0x61, 0x4F, 0x9018) /* <CJK> */
-MAP(0x61, 0x50, 0x901B) /* <CJK> */
-MAP(0x61, 0x51, 0x9028) /* <CJK> */
-MAP(0x61, 0x52, 0x9029) /* <CJK> */
-MAP(0x61, 0x53, 0x902F) /* <CJK> */
-MAP(0x61, 0x54, 0x902A) /* <CJK> */
-MAP(0x61, 0x55, 0x902C) /* <CJK> */
-MAP(0x61, 0x56, 0x902D) /* <CJK> */
-MAP(0x61, 0x57, 0x9033) /* <CJK> */
-MAP(0x61, 0x58, 0x9034) /* <CJK> */
-MAP(0x61, 0x59, 0x9037) /* <CJK> */
-MAP(0x61, 0x5A, 0x903F) /* <CJK> */
-MAP(0x61, 0x5B, 0x9043) /* <CJK> */
-MAP(0x61, 0x5C, 0x9044) /* <CJK> */
-MAP(0x61, 0x5D, 0x904C) /* <CJK> */
-MAP(0x61, 0x5E, 0x905B) /* <CJK> */
-MAP(0x61, 0x5F, 0x905D) /* <CJK> */
-MAP(0x61, 0x60, 0x9062) /* <CJK> */
-MAP(0x61, 0x61, 0x9066) /* <CJK> */
-MAP(0x61, 0x62, 0x9067) /* <CJK> */
-MAP(0x61, 0x63, 0x906C) /* <CJK> */
-MAP(0x61, 0x64, 0x9070) /* <CJK> */
-MAP(0x61, 0x65, 0x9074) /* <CJK> */
-MAP(0x61, 0x66, 0x9079) /* <CJK> */
-MAP(0x61, 0x67, 0x9085) /* <CJK> */
-MAP(0x61, 0x68, 0x9088) /* <CJK> */
-MAP(0x61, 0x69, 0x908B) /* <CJK> */
-MAP(0x61, 0x6A, 0x908C) /* <CJK> */
-MAP(0x61, 0x6B, 0x908E) /* <CJK> */
-MAP(0x61, 0x6C, 0x9090) /* <CJK> */
-MAP(0x61, 0x6D, 0x9095) /* <CJK> */
-MAP(0x61, 0x6E, 0x9097) /* <CJK> */
-MAP(0x61, 0x6F, 0x9098) /* <CJK> */
-MAP(0x61, 0x70, 0x9099) /* <CJK> */
-MAP(0x61, 0x71, 0x909B) /* <CJK> */
-MAP(0x61, 0x72, 0x90A0) /* <CJK> */
-MAP(0x61, 0x73, 0x90A1) /* <CJK> */
-MAP(0x61, 0x74, 0x90A2) /* <CJK> */
-MAP(0x61, 0x75, 0x90A5) /* <CJK> */
-MAP(0x61, 0x76, 0x90B0) /* <CJK> */
-MAP(0x61, 0x77, 0x90B2) /* <CJK> */
-MAP(0x61, 0x78, 0x90B3) /* <CJK> */
-MAP(0x61, 0x79, 0x90B4) /* <CJK> */
-MAP(0x61, 0x7A, 0x90B6) /* <CJK> */
-MAP(0x61, 0x7B, 0x90BD) /* <CJK> */
-MAP(0x61, 0x7C, 0x90CC) /* <CJK> */
-MAP(0x61, 0x7D, 0x90BE) /* <CJK> */
-MAP(0x61, 0x7E, 0x90C3) /* <CJK> */
-MAP(0x62, 0x21, 0x90C4) /* <CJK> */
-MAP(0x62, 0x22, 0x90C5) /* <CJK> */
-MAP(0x62, 0x23, 0x90C7) /* <CJK> */
-MAP(0x62, 0x24, 0x90C8) /* <CJK> */
-MAP(0x62, 0x25, 0x90D5) /* <CJK> */
-MAP(0x62, 0x26, 0x90D7) /* <CJK> */
-MAP(0x62, 0x27, 0x90D8) /* <CJK> */
-MAP(0x62, 0x28, 0x90D9) /* <CJK> */
-MAP(0x62, 0x29, 0x90DC) /* <CJK> */
-MAP(0x62, 0x2A, 0x90DD) /* <CJK> */
-MAP(0x62, 0x2B, 0x90DF) /* <CJK> */
-MAP(0x62, 0x2C, 0x90E5) /* <CJK> */
-MAP(0x62, 0x2D, 0x90D2) /* <CJK> */
-MAP(0x62, 0x2E, 0x90F6) /* <CJK> */
-MAP(0x62, 0x2F, 0x90EB) /* <CJK> */
-MAP(0x62, 0x30, 0x90EF) /* <CJK> */
-MAP(0x62, 0x31, 0x90F0) /* <CJK> */
-MAP(0x62, 0x32, 0x90F4) /* <CJK> */
-MAP(0x62, 0x33, 0x90FE) /* <CJK> */
-MAP(0x62, 0x34, 0x90FF) /* <CJK> */
-MAP(0x62, 0x35, 0x9100) /* <CJK> */
-MAP(0x62, 0x36, 0x9104) /* <CJK> */
-MAP(0x62, 0x37, 0x9105) /* <CJK> */
-MAP(0x62, 0x38, 0x9106) /* <CJK> */
-MAP(0x62, 0x39, 0x9108) /* <CJK> */
-MAP(0x62, 0x3A, 0x910D) /* <CJK> */
-MAP(0x62, 0x3B, 0x9110) /* <CJK> */
-MAP(0x62, 0x3C, 0x9114) /* <CJK> */
-MAP(0x62, 0x3D, 0x9116) /* <CJK> */
-MAP(0x62, 0x3E, 0x9117) /* <CJK> */
-MAP(0x62, 0x3F, 0x9118) /* <CJK> */
-MAP(0x62, 0x40, 0x911A) /* <CJK> */
-MAP(0x62, 0x41, 0x911C) /* <CJK> */
-MAP(0x62, 0x42, 0x911E) /* <CJK> */
-MAP(0x62, 0x43, 0x9120) /* <CJK> */
-MAP(0x62, 0x44, 0x9125) /* <CJK> */
-MAP(0x62, 0x45, 0x9122) /* <CJK> */
-MAP(0x62, 0x46, 0x9123) /* <CJK> */
-MAP(0x62, 0x47, 0x9127) /* <CJK> */
-MAP(0x62, 0x48, 0x9129) /* <CJK> */
-MAP(0x62, 0x49, 0x912E) /* <CJK> */
-MAP(0x62, 0x4A, 0x912F) /* <CJK> */
-MAP(0x62, 0x4B, 0x9131) /* <CJK> */
-MAP(0x62, 0x4C, 0x9134) /* <CJK> */
-MAP(0x62, 0x4D, 0x9136) /* <CJK> */
-MAP(0x62, 0x4E, 0x9137) /* <CJK> */
-MAP(0x62, 0x4F, 0x9139) /* <CJK> */
-MAP(0x62, 0x50, 0x913A) /* <CJK> */
-MAP(0x62, 0x51, 0x913C) /* <CJK> */
-MAP(0x62, 0x52, 0x913D) /* <CJK> */
-MAP(0x62, 0x53, 0x9143) /* <CJK> */
-MAP(0x62, 0x54, 0x9147) /* <CJK> */
-MAP(0x62, 0x55, 0x9148) /* <CJK> */
-MAP(0x62, 0x56, 0x914F) /* <CJK> */
-MAP(0x62, 0x57, 0x9153) /* <CJK> */
-MAP(0x62, 0x58, 0x9157) /* <CJK> */
-MAP(0x62, 0x59, 0x9159) /* <CJK> */
-MAP(0x62, 0x5A, 0x915A) /* <CJK> */
-MAP(0x62, 0x5B, 0x915B) /* <CJK> */
-MAP(0x62, 0x5C, 0x9161) /* <CJK> */
-MAP(0x62, 0x5D, 0x9164) /* <CJK> */
-MAP(0x62, 0x5E, 0x9167) /* <CJK> */
-MAP(0x62, 0x5F, 0x916D) /* <CJK> */
-MAP(0x62, 0x60, 0x9174) /* <CJK> */
-MAP(0x62, 0x61, 0x9179) /* <CJK> */
-MAP(0x62, 0x62, 0x917A) /* <CJK> */
-MAP(0x62, 0x63, 0x917B) /* <CJK> */
-MAP(0x62, 0x64, 0x9181) /* <CJK> */
-MAP(0x62, 0x65, 0x9183) /* <CJK> */
-MAP(0x62, 0x66, 0x9185) /* <CJK> */
-MAP(0x62, 0x67, 0x9186) /* <CJK> */
-MAP(0x62, 0x68, 0x918A) /* <CJK> */
-MAP(0x62, 0x69, 0x918E) /* <CJK> */
-MAP(0x62, 0x6A, 0x9191) /* <CJK> */
-MAP(0x62, 0x6B, 0x9193) /* <CJK> */
-MAP(0x62, 0x6C, 0x9194) /* <CJK> */
-MAP(0x62, 0x6D, 0x9195) /* <CJK> */
-MAP(0x62, 0x6E, 0x9198) /* <CJK> */
-MAP(0x62, 0x6F, 0x919E) /* <CJK> */
-MAP(0x62, 0x70, 0x91A1) /* <CJK> */
-MAP(0x62, 0x71, 0x91A6) /* <CJK> */
-MAP(0x62, 0x72, 0x91A8) /* <CJK> */
-MAP(0x62, 0x73, 0x91AC) /* <CJK> */
-MAP(0x62, 0x74, 0x91AD) /* <CJK> */
-MAP(0x62, 0x75, 0x91AE) /* <CJK> */
-MAP(0x62, 0x76, 0x91B0) /* <CJK> */
-MAP(0x62, 0x77, 0x91B1) /* <CJK> */
-MAP(0x62, 0x78, 0x91B2) /* <CJK> */
-MAP(0x62, 0x79, 0x91B3) /* <CJK> */
-MAP(0x62, 0x7A, 0x91B6) /* <CJK> */
-MAP(0x62, 0x7B, 0x91BB) /* <CJK> */
-MAP(0x62, 0x7C, 0x91BC) /* <CJK> */
-MAP(0x62, 0x7D, 0x91BD) /* <CJK> */
-MAP(0x62, 0x7E, 0x91BF) /* <CJK> */
-MAP(0x63, 0x21, 0x91C2) /* <CJK> */
-MAP(0x63, 0x22, 0x91C3) /* <CJK> */
-MAP(0x63, 0x23, 0x91C5) /* <CJK> */
-MAP(0x63, 0x24, 0x91D3) /* <CJK> */
-MAP(0x63, 0x25, 0x91D4) /* <CJK> */
-MAP(0x63, 0x26, 0x91D7) /* <CJK> */
-MAP(0x63, 0x27, 0x91D9) /* <CJK> */
-MAP(0x63, 0x28, 0x91DA) /* <CJK> */
-MAP(0x63, 0x29, 0x91DE) /* <CJK> */
-MAP(0x63, 0x2A, 0x91E4) /* <CJK> */
-MAP(0x63, 0x2B, 0x91E5) /* <CJK> */
-MAP(0x63, 0x2C, 0x91E9) /* <CJK> */
-MAP(0x63, 0x2D, 0x91EA) /* <CJK> */
-MAP(0x63, 0x2E, 0x91EC) /* <CJK> */
-MAP(0x63, 0x2F, 0x91ED) /* <CJK> */
-MAP(0x63, 0x30, 0x91EE) /* <CJK> */
-MAP(0x63, 0x31, 0x91EF) /* <CJK> */
-MAP(0x63, 0x32, 0x91F0) /* <CJK> */
-MAP(0x63, 0x33, 0x91F1) /* <CJK> */
-MAP(0x63, 0x34, 0x91F7) /* <CJK> */
-MAP(0x63, 0x35, 0x91F9) /* <CJK> */
-MAP(0x63, 0x36, 0x91FB) /* <CJK> */
-MAP(0x63, 0x37, 0x91FD) /* <CJK> */
-MAP(0x63, 0x38, 0x9200) /* <CJK> */
-MAP(0x63, 0x39, 0x9201) /* <CJK> */
-MAP(0x63, 0x3A, 0x9204) /* <CJK> */
-MAP(0x63, 0x3B, 0x9205) /* <CJK> */
-MAP(0x63, 0x3C, 0x9206) /* <CJK> */
-MAP(0x63, 0x3D, 0x9207) /* <CJK> */
-MAP(0x63, 0x3E, 0x9209) /* <CJK> */
-MAP(0x63, 0x3F, 0x920A) /* <CJK> */
-MAP(0x63, 0x40, 0x920C) /* <CJK> */
-MAP(0x63, 0x41, 0x9210) /* <CJK> */
-MAP(0x63, 0x42, 0x9212) /* <CJK> */
-MAP(0x63, 0x43, 0x9213) /* <CJK> */
-MAP(0x63, 0x44, 0x9216) /* <CJK> */
-MAP(0x63, 0x45, 0x9218) /* <CJK> */
-MAP(0x63, 0x46, 0x921C) /* <CJK> */
-MAP(0x63, 0x47, 0x921D) /* <CJK> */
-MAP(0x63, 0x48, 0x9223) /* <CJK> */
-MAP(0x63, 0x49, 0x9224) /* <CJK> */
-MAP(0x63, 0x4A, 0x9225) /* <CJK> */
-MAP(0x63, 0x4B, 0x9226) /* <CJK> */
-MAP(0x63, 0x4C, 0x9228) /* <CJK> */
-MAP(0x63, 0x4D, 0x922E) /* <CJK> */
-MAP(0x63, 0x4E, 0x922F) /* <CJK> */
-MAP(0x63, 0x4F, 0x9230) /* <CJK> */
-MAP(0x63, 0x50, 0x9233) /* <CJK> */
-MAP(0x63, 0x51, 0x9235) /* <CJK> */
-MAP(0x63, 0x52, 0x9236) /* <CJK> */
-MAP(0x63, 0x53, 0x9238) /* <CJK> */
-MAP(0x63, 0x54, 0x9239) /* <CJK> */
-MAP(0x63, 0x55, 0x923A) /* <CJK> */
-MAP(0x63, 0x56, 0x923C) /* <CJK> */
-MAP(0x63, 0x57, 0x923E) /* <CJK> */
-MAP(0x63, 0x58, 0x9240) /* <CJK> */
-MAP(0x63, 0x59, 0x9242) /* <CJK> */
-MAP(0x63, 0x5A, 0x9243) /* <CJK> */
-MAP(0x63, 0x5B, 0x9246) /* <CJK> */
-MAP(0x63, 0x5C, 0x9247) /* <CJK> */
-MAP(0x63, 0x5D, 0x924A) /* <CJK> */
-MAP(0x63, 0x5E, 0x924D) /* <CJK> */
-MAP(0x63, 0x5F, 0x924E) /* <CJK> */
-MAP(0x63, 0x60, 0x924F) /* <CJK> */
-MAP(0x63, 0x61, 0x9251) /* <CJK> */
-MAP(0x63, 0x62, 0x9258) /* <CJK> */
-MAP(0x63, 0x63, 0x9259) /* <CJK> */
-MAP(0x63, 0x64, 0x925C) /* <CJK> */
-MAP(0x63, 0x65, 0x925D) /* <CJK> */
-MAP(0x63, 0x66, 0x9260) /* <CJK> */
-MAP(0x63, 0x67, 0x9261) /* <CJK> */
-MAP(0x63, 0x68, 0x9265) /* <CJK> */
-MAP(0x63, 0x69, 0x9267) /* <CJK> */
-MAP(0x63, 0x6A, 0x9268) /* <CJK> */
-MAP(0x63, 0x6B, 0x9269) /* <CJK> */
-MAP(0x63, 0x6C, 0x926E) /* <CJK> */
-MAP(0x63, 0x6D, 0x926F) /* <CJK> */
-MAP(0x63, 0x6E, 0x9270) /* <CJK> */
-MAP(0x63, 0x6F, 0x9275) /* <CJK> */
-MAP(0x63, 0x70, 0x9276) /* <CJK> */
-MAP(0x63, 0x71, 0x9277) /* <CJK> */
-MAP(0x63, 0x72, 0x9278) /* <CJK> */
-MAP(0x63, 0x73, 0x9279) /* <CJK> */
-MAP(0x63, 0x74, 0x927B) /* <CJK> */
-MAP(0x63, 0x75, 0x927C) /* <CJK> */
-MAP(0x63, 0x76, 0x927D) /* <CJK> */
-MAP(0x63, 0x77, 0x927F) /* <CJK> */
-MAP(0x63, 0x78, 0x9288) /* <CJK> */
-MAP(0x63, 0x79, 0x9289) /* <CJK> */
-MAP(0x63, 0x7A, 0x928A) /* <CJK> */
-MAP(0x63, 0x7B, 0x928D) /* <CJK> */
-MAP(0x63, 0x7C, 0x928E) /* <CJK> */
-MAP(0x63, 0x7D, 0x9292) /* <CJK> */
-MAP(0x63, 0x7E, 0x9297) /* <CJK> */
-MAP(0x64, 0x21, 0x9299) /* <CJK> */
-MAP(0x64, 0x22, 0x929F) /* <CJK> */
-MAP(0x64, 0x23, 0x92A0) /* <CJK> */
-MAP(0x64, 0x24, 0x92A4) /* <CJK> */
-MAP(0x64, 0x25, 0x92A5) /* <CJK> */
-MAP(0x64, 0x26, 0x92A7) /* <CJK> */
-MAP(0x64, 0x27, 0x92A8) /* <CJK> */
-MAP(0x64, 0x28, 0x92AB) /* <CJK> */
-MAP(0x64, 0x29, 0x92AF) /* <CJK> */
-MAP(0x64, 0x2A, 0x92B2) /* <CJK> */
-MAP(0x64, 0x2B, 0x92B6) /* <CJK> */
-MAP(0x64, 0x2C, 0x92B8) /* <CJK> */
-MAP(0x64, 0x2D, 0x92BA) /* <CJK> */
-MAP(0x64, 0x2E, 0x92BB) /* <CJK> */
-MAP(0x64, 0x2F, 0x92BC) /* <CJK> */
-MAP(0x64, 0x30, 0x92BD) /* <CJK> */
-MAP(0x64, 0x31, 0x92BF) /* <CJK> */
-MAP(0x64, 0x32, 0x92C0) /* <CJK> */
-MAP(0x64, 0x33, 0x92C1) /* <CJK> */
-MAP(0x64, 0x34, 0x92C2) /* <CJK> */
-MAP(0x64, 0x35, 0x92C3) /* <CJK> */
-MAP(0x64, 0x36, 0x92C5) /* <CJK> */
-MAP(0x64, 0x37, 0x92C6) /* <CJK> */
-MAP(0x64, 0x38, 0x92C7) /* <CJK> */
-MAP(0x64, 0x39, 0x92C8) /* <CJK> */
-MAP(0x64, 0x3A, 0x92CB) /* <CJK> */
-MAP(0x64, 0x3B, 0x92CC) /* <CJK> */
-MAP(0x64, 0x3C, 0x92CD) /* <CJK> */
-MAP(0x64, 0x3D, 0x92CE) /* <CJK> */
-MAP(0x64, 0x3E, 0x92D0) /* <CJK> */
-MAP(0x64, 0x3F, 0x92D3) /* <CJK> */
-MAP(0x64, 0x40, 0x92D5) /* <CJK> */
-MAP(0x64, 0x41, 0x92D7) /* <CJK> */
-MAP(0x64, 0x42, 0x92D8) /* <CJK> */
-MAP(0x64, 0x43, 0x92D9) /* <CJK> */
-MAP(0x64, 0x44, 0x92DC) /* <CJK> */
-MAP(0x64, 0x45, 0x92DD) /* <CJK> */
-MAP(0x64, 0x46, 0x92DF) /* <CJK> */
-MAP(0x64, 0x47, 0x92E0) /* <CJK> */
-MAP(0x64, 0x48, 0x92E1) /* <CJK> */
-MAP(0x64, 0x49, 0x92E3) /* <CJK> */
-MAP(0x64, 0x4A, 0x92E5) /* <CJK> */
-MAP(0x64, 0x4B, 0x92E7) /* <CJK> */
-MAP(0x64, 0x4C, 0x92E8) /* <CJK> */
-MAP(0x64, 0x4D, 0x92EC) /* <CJK> */
-MAP(0x64, 0x4E, 0x92EE) /* <CJK> */
-MAP(0x64, 0x4F, 0x92F0) /* <CJK> */
-MAP(0x64, 0x50, 0x92F9) /* <CJK> */
-MAP(0x64, 0x51, 0x92FB) /* <CJK> */
-MAP(0x64, 0x52, 0x92FF) /* <CJK> */
-MAP(0x64, 0x53, 0x9300) /* <CJK> */
-MAP(0x64, 0x54, 0x9302) /* <CJK> */
-MAP(0x64, 0x55, 0x9308) /* <CJK> */
-MAP(0x64, 0x56, 0x930D) /* <CJK> */
-MAP(0x64, 0x57, 0x9311) /* <CJK> */
-MAP(0x64, 0x58, 0x9314) /* <CJK> */
-MAP(0x64, 0x59, 0x9315) /* <CJK> */
-MAP(0x64, 0x5A, 0x931C) /* <CJK> */
-MAP(0x64, 0x5B, 0x931D) /* <CJK> */
-MAP(0x64, 0x5C, 0x931E) /* <CJK> */
-MAP(0x64, 0x5D, 0x931F) /* <CJK> */
-MAP(0x64, 0x5E, 0x9321) /* <CJK> */
-MAP(0x64, 0x5F, 0x9324) /* <CJK> */
-MAP(0x64, 0x60, 0x9325) /* <CJK> */
-MAP(0x64, 0x61, 0x9327) /* <CJK> */
-MAP(0x64, 0x62, 0x9329) /* <CJK> */
-MAP(0x64, 0x63, 0x932A) /* <CJK> */
-MAP(0x64, 0x64, 0x9333) /* <CJK> */
-MAP(0x64, 0x65, 0x9334) /* <CJK> */
-MAP(0x64, 0x66, 0x9336) /* <CJK> */
-MAP(0x64, 0x67, 0x9337) /* <CJK> */
-MAP(0x64, 0x68, 0x9347) /* <CJK> */
-MAP(0x64, 0x69, 0x9348) /* <CJK> */
-MAP(0x64, 0x6A, 0x9349) /* <CJK> */
-MAP(0x64, 0x6B, 0x9350) /* <CJK> */
-MAP(0x64, 0x6C, 0x9351) /* <CJK> */
-MAP(0x64, 0x6D, 0x9352) /* <CJK> */
-MAP(0x64, 0x6E, 0x9355) /* <CJK> */
-MAP(0x64, 0x6F, 0x9357) /* <CJK> */
-MAP(0x64, 0x70, 0x9358) /* <CJK> */
-MAP(0x64, 0x71, 0x935A) /* <CJK> */
-MAP(0x64, 0x72, 0x935E) /* <CJK> */
-MAP(0x64, 0x73, 0x9364) /* <CJK> */
-MAP(0x64, 0x74, 0x9365) /* <CJK> */
-MAP(0x64, 0x75, 0x9367) /* <CJK> */
-MAP(0x64, 0x76, 0x9369) /* <CJK> */
-MAP(0x64, 0x77, 0x936A) /* <CJK> */
-MAP(0x64, 0x78, 0x936D) /* <CJK> */
-MAP(0x64, 0x79, 0x936F) /* <CJK> */
-MAP(0x64, 0x7A, 0x9370) /* <CJK> */
-MAP(0x64, 0x7B, 0x9371) /* <CJK> */
-MAP(0x64, 0x7C, 0x9373) /* <CJK> */
-MAP(0x64, 0x7D, 0x9374) /* <CJK> */
-MAP(0x64, 0x7E, 0x9376) /* <CJK> */
-MAP(0x65, 0x21, 0x937A) /* <CJK> */
-MAP(0x65, 0x22, 0x937D) /* <CJK> */
-MAP(0x65, 0x23, 0x937F) /* <CJK> */
-MAP(0x65, 0x24, 0x9380) /* <CJK> */
-MAP(0x65, 0x25, 0x9381) /* <CJK> */
-MAP(0x65, 0x26, 0x9382) /* <CJK> */
-MAP(0x65, 0x27, 0x9388) /* <CJK> */
-MAP(0x65, 0x28, 0x938A) /* <CJK> */
-MAP(0x65, 0x29, 0x938B) /* <CJK> */
-MAP(0x65, 0x2A, 0x938D) /* <CJK> */
-MAP(0x65, 0x2B, 0x938F) /* <CJK> */
-MAP(0x65, 0x2C, 0x9392) /* <CJK> */
-MAP(0x65, 0x2D, 0x9395) /* <CJK> */
-MAP(0x65, 0x2E, 0x9398) /* <CJK> */
-MAP(0x65, 0x2F, 0x939B) /* <CJK> */
-MAP(0x65, 0x30, 0x939E) /* <CJK> */
-MAP(0x65, 0x31, 0x93A1) /* <CJK> */
-MAP(0x65, 0x32, 0x93A3) /* <CJK> */
-MAP(0x65, 0x33, 0x93A4) /* <CJK> */
-MAP(0x65, 0x34, 0x93A6) /* <CJK> */
-MAP(0x65, 0x35, 0x93A8) /* <CJK> */
-MAP(0x65, 0x36, 0x93AB) /* <CJK> */
-MAP(0x65, 0x37, 0x93B4) /* <CJK> */
-MAP(0x65, 0x38, 0x93B5) /* <CJK> */
-MAP(0x65, 0x39, 0x93B6) /* <CJK> */
-MAP(0x65, 0x3A, 0x93BA) /* <CJK> */
-MAP(0x65, 0x3B, 0x93A9) /* <CJK> */
-MAP(0x65, 0x3C, 0x93C1) /* <CJK> */
-MAP(0x65, 0x3D, 0x93C4) /* <CJK> */
-MAP(0x65, 0x3E, 0x93C5) /* <CJK> */
-MAP(0x65, 0x3F, 0x93C6) /* <CJK> */
-MAP(0x65, 0x40, 0x93C7) /* <CJK> */
-MAP(0x65, 0x41, 0x93C9) /* <CJK> */
-MAP(0x65, 0x42, 0x93CA) /* <CJK> */
-MAP(0x65, 0x43, 0x93CB) /* <CJK> */
-MAP(0x65, 0x44, 0x93CC) /* <CJK> */
-MAP(0x65, 0x45, 0x93CD) /* <CJK> */
-MAP(0x65, 0x46, 0x93D3) /* <CJK> */
-MAP(0x65, 0x47, 0x93D9) /* <CJK> */
-MAP(0x65, 0x48, 0x93DC) /* <CJK> */
-MAP(0x65, 0x49, 0x93DE) /* <CJK> */
-MAP(0x65, 0x4A, 0x93DF) /* <CJK> */
-MAP(0x65, 0x4B, 0x93E2) /* <CJK> */
-MAP(0x65, 0x4C, 0x93E6) /* <CJK> */
-MAP(0x65, 0x4D, 0x93E7) /* <CJK> */
-MAP(0x65, 0x4E, 0x93F9) /* <CJK> */
-MAP(0x65, 0x4F, 0x93F7) /* <CJK> */
-MAP(0x65, 0x50, 0x93F8) /* <CJK> */
-MAP(0x65, 0x51, 0x93FA) /* <CJK> */
-MAP(0x65, 0x52, 0x93FB) /* <CJK> */
-MAP(0x65, 0x53, 0x93FD) /* <CJK> */
-MAP(0x65, 0x54, 0x9401) /* <CJK> */
-MAP(0x65, 0x55, 0x9402) /* <CJK> */
-MAP(0x65, 0x56, 0x9404) /* <CJK> */
-MAP(0x65, 0x57, 0x9408) /* <CJK> */
-MAP(0x65, 0x58, 0x9409) /* <CJK> */
-MAP(0x65, 0x59, 0x940D) /* <CJK> */
-MAP(0x65, 0x5A, 0x940E) /* <CJK> */
-MAP(0x65, 0x5B, 0x940F) /* <CJK> */
-MAP(0x65, 0x5C, 0x9415) /* <CJK> */
-MAP(0x65, 0x5D, 0x9416) /* <CJK> */
-MAP(0x65, 0x5E, 0x9417) /* <CJK> */
-MAP(0x65, 0x5F, 0x941F) /* <CJK> */
-MAP(0x65, 0x60, 0x942E) /* <CJK> */
-MAP(0x65, 0x61, 0x942F) /* <CJK> */
-MAP(0x65, 0x62, 0x9431) /* <CJK> */
-MAP(0x65, 0x63, 0x9432) /* <CJK> */
-MAP(0x65, 0x64, 0x9433) /* <CJK> */
-MAP(0x65, 0x65, 0x9434) /* <CJK> */
-MAP(0x65, 0x66, 0x943B) /* <CJK> */
-MAP(0x65, 0x67, 0x943F) /* <CJK> */
-MAP(0x65, 0x68, 0x943D) /* <CJK> */
-MAP(0x65, 0x69, 0x9443) /* <CJK> */
-MAP(0x65, 0x6A, 0x9445) /* <CJK> */
-MAP(0x65, 0x6B, 0x9448) /* <CJK> */
-MAP(0x65, 0x6C, 0x944A) /* <CJK> */
-MAP(0x65, 0x6D, 0x944C) /* <CJK> */
-MAP(0x65, 0x6E, 0x9455) /* <CJK> */
-MAP(0x65, 0x6F, 0x9459) /* <CJK> */
-MAP(0x65, 0x70, 0x945C) /* <CJK> */
-MAP(0x65, 0x71, 0x945F) /* <CJK> */
-MAP(0x65, 0x72, 0x9461) /* <CJK> */
-MAP(0x65, 0x73, 0x9463) /* <CJK> */
-MAP(0x65, 0x74, 0x9468) /* <CJK> */
-MAP(0x65, 0x75, 0x946B) /* <CJK> */
-MAP(0x65, 0x76, 0x946D) /* <CJK> */
-MAP(0x65, 0x77, 0x946E) /* <CJK> */
-MAP(0x65, 0x78, 0x946F) /* <CJK> */
-MAP(0x65, 0x79, 0x9471) /* <CJK> */
-MAP(0x65, 0x7A, 0x9472) /* <CJK> */
-MAP(0x65, 0x7B, 0x9484) /* <CJK> */
-MAP(0x65, 0x7C, 0x9483) /* <CJK> */
-MAP(0x65, 0x7D, 0x9578) /* <CJK> */
-MAP(0x65, 0x7E, 0x9579) /* <CJK> */
-MAP(0x66, 0x21, 0x957E) /* <CJK> */
-MAP(0x66, 0x22, 0x9584) /* <CJK> */
-MAP(0x66, 0x23, 0x9588) /* <CJK> */
-MAP(0x66, 0x24, 0x958C) /* <CJK> */
-MAP(0x66, 0x25, 0x958D) /* <CJK> */
-MAP(0x66, 0x26, 0x958E) /* <CJK> */
-MAP(0x66, 0x27, 0x959D) /* <CJK> */
-MAP(0x66, 0x28, 0x959E) /* <CJK> */
-MAP(0x66, 0x29, 0x959F) /* <CJK> */
-MAP(0x66, 0x2A, 0x95A1) /* <CJK> */
-MAP(0x66, 0x2B, 0x95A6) /* <CJK> */
-MAP(0x66, 0x2C, 0x95A9) /* <CJK> */
-MAP(0x66, 0x2D, 0x95AB) /* <CJK> */
-MAP(0x66, 0x2E, 0x95AC) /* <CJK> */
-MAP(0x66, 0x2F, 0x95B4) /* <CJK> */
-MAP(0x66, 0x30, 0x95B6) /* <CJK> */
-MAP(0x66, 0x31, 0x95BA) /* <CJK> */
-MAP(0x66, 0x32, 0x95BD) /* <CJK> */
-MAP(0x66, 0x33, 0x95BF) /* <CJK> */
-MAP(0x66, 0x34, 0x95C6) /* <CJK> */
-MAP(0x66, 0x35, 0x95C8) /* <CJK> */
-MAP(0x66, 0x36, 0x95C9) /* <CJK> */
-MAP(0x66, 0x37, 0x95CB) /* <CJK> */
-MAP(0x66, 0x38, 0x95D0) /* <CJK> */
-MAP(0x66, 0x39, 0x95D1) /* <CJK> */
-MAP(0x66, 0x3A, 0x95D2) /* <CJK> */
-MAP(0x66, 0x3B, 0x95D3) /* <CJK> */
-MAP(0x66, 0x3C, 0x95D9) /* <CJK> */
-MAP(0x66, 0x3D, 0x95DA) /* <CJK> */
-MAP(0x66, 0x3E, 0x95DD) /* <CJK> */
-MAP(0x66, 0x3F, 0x95DE) /* <CJK> */
-MAP(0x66, 0x40, 0x95DF) /* <CJK> */
-MAP(0x66, 0x41, 0x95E0) /* <CJK> */
-MAP(0x66, 0x42, 0x95E4) /* <CJK> */
-MAP(0x66, 0x43, 0x95E6) /* <CJK> */
-MAP(0x66, 0x44, 0x961D) /* <CJK> */
-MAP(0x66, 0x45, 0x961E) /* <CJK> */
-MAP(0x66, 0x46, 0x9622) /* <CJK> */
-MAP(0x66, 0x47, 0x9624) /* <CJK> */
-MAP(0x66, 0x48, 0x9625) /* <CJK> */
-MAP(0x66, 0x49, 0x9626) /* <CJK> */
-MAP(0x66, 0x4A, 0x962C) /* <CJK> */
-MAP(0x66, 0x4B, 0x9631) /* <CJK> */
-MAP(0x66, 0x4C, 0x9633) /* <CJK> */
-MAP(0x66, 0x4D, 0x9637) /* <CJK> */
-MAP(0x66, 0x4E, 0x9638) /* <CJK> */
-MAP(0x66, 0x4F, 0x9639) /* <CJK> */
-MAP(0x66, 0x50, 0x963A) /* <CJK> */
-MAP(0x66, 0x51, 0x963C) /* <CJK> */
-MAP(0x66, 0x52, 0x963D) /* <CJK> */
-MAP(0x66, 0x53, 0x9641) /* <CJK> */
-MAP(0x66, 0x54, 0x9652) /* <CJK> */
-MAP(0x66, 0x55, 0x9654) /* <CJK> */
-MAP(0x66, 0x56, 0x9656) /* <CJK> */
-MAP(0x66, 0x57, 0x9657) /* <CJK> */
-MAP(0x66, 0x58, 0x9658) /* <CJK> */
-MAP(0x66, 0x59, 0x9661) /* <CJK> */
-MAP(0x66, 0x5A, 0x966E) /* <CJK> */
-MAP(0x66, 0x5B, 0x9674) /* <CJK> */
-MAP(0x66, 0x5C, 0x967B) /* <CJK> */
-MAP(0x66, 0x5D, 0x967C) /* <CJK> */
-MAP(0x66, 0x5E, 0x967E) /* <CJK> */
-MAP(0x66, 0x5F, 0x967F) /* <CJK> */
-MAP(0x66, 0x60, 0x9681) /* <CJK> */
-MAP(0x66, 0x61, 0x9682) /* <CJK> */
-MAP(0x66, 0x62, 0x9683) /* <CJK> */
-MAP(0x66, 0x63, 0x9684) /* <CJK> */
-MAP(0x66, 0x64, 0x9689) /* <CJK> */
-MAP(0x66, 0x65, 0x9691) /* <CJK> */
-MAP(0x66, 0x66, 0x9696) /* <CJK> */
-MAP(0x66, 0x67, 0x969A) /* <CJK> */
-MAP(0x66, 0x68, 0x969D) /* <CJK> */
-MAP(0x66, 0x69, 0x969F) /* <CJK> */
-MAP(0x66, 0x6A, 0x96A4) /* <CJK> */
-MAP(0x66, 0x6B, 0x96A5) /* <CJK> */
-MAP(0x66, 0x6C, 0x96A6) /* <CJK> */
-MAP(0x66, 0x6D, 0x96A9) /* <CJK> */
-MAP(0x66, 0x6E, 0x96AE) /* <CJK> */
-MAP(0x66, 0x6F, 0x96AF) /* <CJK> */
-MAP(0x66, 0x70, 0x96B3) /* <CJK> */
-MAP(0x66, 0x71, 0x96BA) /* <CJK> */
-MAP(0x66, 0x72, 0x96CA) /* <CJK> */
-MAP(0x66, 0x73, 0x96D2) /* <CJK> */
-MAP(0x66, 0x74, 0x5DB2) /* <CJK> */
-MAP(0x66, 0x75, 0x96D8) /* <CJK> */
-MAP(0x66, 0x76, 0x96DA) /* <CJK> */
-MAP(0x66, 0x77, 0x96DD) /* <CJK> */
-MAP(0x66, 0x78, 0x96DE) /* <CJK> */
-MAP(0x66, 0x79, 0x96DF) /* <CJK> */
-MAP(0x66, 0x7A, 0x96E9) /* <CJK> */
-MAP(0x66, 0x7B, 0x96EF) /* <CJK> */
-MAP(0x66, 0x7C, 0x96F1) /* <CJK> */
-MAP(0x66, 0x7D, 0x96FA) /* <CJK> */
-MAP(0x66, 0x7E, 0x9702) /* <CJK> */
-MAP(0x67, 0x21, 0x9703) /* <CJK> */
-MAP(0x67, 0x22, 0x9705) /* <CJK> */
-MAP(0x67, 0x23, 0x9709) /* <CJK> */
-MAP(0x67, 0x24, 0x971A) /* <CJK> */
-MAP(0x67, 0x25, 0x971B) /* <CJK> */
-MAP(0x67, 0x26, 0x971D) /* <CJK> */
-MAP(0x67, 0x27, 0x9721) /* <CJK> */
-MAP(0x67, 0x28, 0x9722) /* <CJK> */
-MAP(0x67, 0x29, 0x9723) /* <CJK> */
-MAP(0x67, 0x2A, 0x9728) /* <CJK> */
-MAP(0x67, 0x2B, 0x9731) /* <CJK> */
-MAP(0x67, 0x2C, 0x9733) /* <CJK> */
-MAP(0x67, 0x2D, 0x9741) /* <CJK> */
-MAP(0x67, 0x2E, 0x9743) /* <CJK> */
-MAP(0x67, 0x2F, 0x974A) /* <CJK> */
-MAP(0x67, 0x30, 0x974E) /* <CJK> */
-MAP(0x67, 0x31, 0x974F) /* <CJK> */
-MAP(0x67, 0x32, 0x9755) /* <CJK> */
-MAP(0x67, 0x33, 0x9757) /* <CJK> */
-MAP(0x67, 0x34, 0x9758) /* <CJK> */
-MAP(0x67, 0x35, 0x975A) /* <CJK> */
-MAP(0x67, 0x36, 0x975B) /* <CJK> */
-MAP(0x67, 0x37, 0x9763) /* <CJK> */
-MAP(0x67, 0x38, 0x9767) /* <CJK> */
-MAP(0x67, 0x39, 0x976A) /* <CJK> */
-MAP(0x67, 0x3A, 0x976E) /* <CJK> */
-MAP(0x67, 0x3B, 0x9773) /* <CJK> */
-MAP(0x67, 0x3C, 0x9776) /* <CJK> */
-MAP(0x67, 0x3D, 0x9777) /* <CJK> */
-MAP(0x67, 0x3E, 0x9778) /* <CJK> */
-MAP(0x67, 0x3F, 0x977B) /* <CJK> */
-MAP(0x67, 0x40, 0x977D) /* <CJK> */
-MAP(0x67, 0x41, 0x977F) /* <CJK> */
-MAP(0x67, 0x42, 0x9780) /* <CJK> */
-MAP(0x67, 0x43, 0x9789) /* <CJK> */
-MAP(0x67, 0x44, 0x9795) /* <CJK> */
-MAP(0x67, 0x45, 0x9796) /* <CJK> */
-MAP(0x67, 0x46, 0x9797) /* <CJK> */
-MAP(0x67, 0x47, 0x9799) /* <CJK> */
-MAP(0x67, 0x48, 0x979A) /* <CJK> */
-MAP(0x67, 0x49, 0x979E) /* <CJK> */
-MAP(0x67, 0x4A, 0x979F) /* <CJK> */
-MAP(0x67, 0x4B, 0x97A2) /* <CJK> */
-MAP(0x67, 0x4C, 0x97AC) /* <CJK> */
-MAP(0x67, 0x4D, 0x97AE) /* <CJK> */
-MAP(0x67, 0x4E, 0x97B1) /* <CJK> */
-MAP(0x67, 0x4F, 0x97B2) /* <CJK> */
-MAP(0x67, 0x50, 0x97B5) /* <CJK> */
-MAP(0x67, 0x51, 0x97B6) /* <CJK> */
-MAP(0x67, 0x52, 0x97B8) /* <CJK> */
-MAP(0x67, 0x53, 0x97B9) /* <CJK> */
-MAP(0x67, 0x54, 0x97BA) /* <CJK> */
-MAP(0x67, 0x55, 0x97BC) /* <CJK> */
-MAP(0x67, 0x56, 0x97BE) /* <CJK> */
-MAP(0x67, 0x57, 0x97BF) /* <CJK> */
-MAP(0x67, 0x58, 0x97C1) /* <CJK> */
-MAP(0x67, 0x59, 0x97C4) /* <CJK> */
-MAP(0x67, 0x5A, 0x97C5) /* <CJK> */
-MAP(0x67, 0x5B, 0x97C7) /* <CJK> */
-MAP(0x67, 0x5C, 0x97C9) /* <CJK> */
-MAP(0x67, 0x5D, 0x97CA) /* <CJK> */
-MAP(0x67, 0x5E, 0x97CC) /* <CJK> */
-MAP(0x67, 0x5F, 0x97CD) /* <CJK> */
-MAP(0x67, 0x60, 0x97CE) /* <CJK> */
-MAP(0x67, 0x61, 0x97D0) /* <CJK> */
-MAP(0x67, 0x62, 0x97D1) /* <CJK> */
-MAP(0x67, 0x63, 0x97D4) /* <CJK> */
-MAP(0x67, 0x64, 0x97D7) /* <CJK> */
-MAP(0x67, 0x65, 0x97D8) /* <CJK> */
-MAP(0x67, 0x66, 0x97D9) /* <CJK> */
-MAP(0x67, 0x67, 0x97DD) /* <CJK> */
-MAP(0x67, 0x68, 0x97DE) /* <CJK> */
-MAP(0x67, 0x69, 0x97E0) /* <CJK> */
-MAP(0x67, 0x6A, 0x97DB) /* <CJK> */
-MAP(0x67, 0x6B, 0x97E1) /* <CJK> */
-MAP(0x67, 0x6C, 0x97E4) /* <CJK> */
-MAP(0x67, 0x6D, 0x97EF) /* <CJK> */
-MAP(0x67, 0x6E, 0x97F1) /* <CJK> */
-MAP(0x67, 0x6F, 0x97F4) /* <CJK> */
-MAP(0x67, 0x70, 0x97F7) /* <CJK> */
-MAP(0x67, 0x71, 0x97F8) /* <CJK> */
-MAP(0x67, 0x72, 0x97FA) /* <CJK> */
-MAP(0x67, 0x73, 0x9807) /* <CJK> */
-MAP(0x67, 0x74, 0x980A) /* <CJK> */
-MAP(0x67, 0x75, 0x9819) /* <CJK> */
-MAP(0x67, 0x76, 0x980D) /* <CJK> */
-MAP(0x67, 0x77, 0x980E) /* <CJK> */
-MAP(0x67, 0x78, 0x9814) /* <CJK> */
-MAP(0x67, 0x79, 0x9816) /* <CJK> */
-MAP(0x67, 0x7A, 0x981C) /* <CJK> */
-MAP(0x67, 0x7B, 0x981E) /* <CJK> */
-MAP(0x67, 0x7C, 0x9820) /* <CJK> */
-MAP(0x67, 0x7D, 0x9823) /* <CJK> */
-MAP(0x67, 0x7E, 0x9826) /* <CJK> */
-MAP(0x68, 0x21, 0x982B) /* <CJK> */
-MAP(0x68, 0x22, 0x982E) /* <CJK> */
-MAP(0x68, 0x23, 0x982F) /* <CJK> */
-MAP(0x68, 0x24, 0x9830) /* <CJK> */
-MAP(0x68, 0x25, 0x9832) /* <CJK> */
-MAP(0x68, 0x26, 0x9833) /* <CJK> */
-MAP(0x68, 0x27, 0x9835) /* <CJK> */
-MAP(0x68, 0x28, 0x9825) /* <CJK> */
-MAP(0x68, 0x29, 0x983E) /* <CJK> */
-MAP(0x68, 0x2A, 0x9844) /* <CJK> */
-MAP(0x68, 0x2B, 0x9847) /* <CJK> */
-MAP(0x68, 0x2C, 0x984A) /* <CJK> */
-MAP(0x68, 0x2D, 0x9851) /* <CJK> */
-MAP(0x68, 0x2E, 0x9852) /* <CJK> */
-MAP(0x68, 0x2F, 0x9853) /* <CJK> */
-MAP(0x68, 0x30, 0x9856) /* <CJK> */
-MAP(0x68, 0x31, 0x9857) /* <CJK> */
-MAP(0x68, 0x32, 0x9859) /* <CJK> */
-MAP(0x68, 0x33, 0x985A) /* <CJK> */
-MAP(0x68, 0x34, 0x9862) /* <CJK> */
-MAP(0x68, 0x35, 0x9863) /* <CJK> */
-MAP(0x68, 0x36, 0x9865) /* <CJK> */
-MAP(0x68, 0x37, 0x9866) /* <CJK> */
-MAP(0x68, 0x38, 0x986A) /* <CJK> */
-MAP(0x68, 0x39, 0x986C) /* <CJK> */
-MAP(0x68, 0x3A, 0x98AB) /* <CJK> */
-MAP(0x68, 0x3B, 0x98AD) /* <CJK> */
-MAP(0x68, 0x3C, 0x98AE) /* <CJK> */
-MAP(0x68, 0x3D, 0x98B0) /* <CJK> */
-MAP(0x68, 0x3E, 0x98B4) /* <CJK> */
-MAP(0x68, 0x3F, 0x98B7) /* <CJK> */
-MAP(0x68, 0x40, 0x98B8) /* <CJK> */
-MAP(0x68, 0x41, 0x98BA) /* <CJK> */
-MAP(0x68, 0x42, 0x98BB) /* <CJK> */
-MAP(0x68, 0x43, 0x98BF) /* <CJK> */
-MAP(0x68, 0x44, 0x98C2) /* <CJK> */
-MAP(0x68, 0x45, 0x98C5) /* <CJK> */
-MAP(0x68, 0x46, 0x98C8) /* <CJK> */
-MAP(0x68, 0x47, 0x98CC) /* <CJK> */
-MAP(0x68, 0x48, 0x98E1) /* <CJK> */
-MAP(0x68, 0x49, 0x98E3) /* <CJK> */
-MAP(0x68, 0x4A, 0x98E5) /* <CJK> */
-MAP(0x68, 0x4B, 0x98E6) /* <CJK> */
-MAP(0x68, 0x4C, 0x98E7) /* <CJK> */
-MAP(0x68, 0x4D, 0x98EA) /* <CJK> */
-MAP(0x68, 0x4E, 0x98F3) /* <CJK> */
-MAP(0x68, 0x4F, 0x98F6) /* <CJK> */
-MAP(0x68, 0x50, 0x9902) /* <CJK> */
-MAP(0x68, 0x51, 0x9907) /* <CJK> */
-MAP(0x68, 0x52, 0x9908) /* <CJK> */
-MAP(0x68, 0x53, 0x9911) /* <CJK> */
-MAP(0x68, 0x54, 0x9915) /* <CJK> */
-MAP(0x68, 0x55, 0x9916) /* <CJK> */
-MAP(0x68, 0x56, 0x9917) /* <CJK> */
-MAP(0x68, 0x57, 0x991A) /* <CJK> */
-MAP(0x68, 0x58, 0x991B) /* <CJK> */
-MAP(0x68, 0x59, 0x991C) /* <CJK> */
-MAP(0x68, 0x5A, 0x991F) /* <CJK> */
-MAP(0x68, 0x5B, 0x9922) /* <CJK> */
-MAP(0x68, 0x5C, 0x9926) /* <CJK> */
-MAP(0x68, 0x5D, 0x9927) /* <CJK> */
-MAP(0x68, 0x5E, 0x992B) /* <CJK> */
-MAP(0x68, 0x5F, 0x9931) /* <CJK> */
-MAP(0x68, 0x60, 0x9932) /* <CJK> */
-MAP(0x68, 0x61, 0x9933) /* <CJK> */
-MAP(0x68, 0x62, 0x9934) /* <CJK> */
-MAP(0x68, 0x63, 0x9935) /* <CJK> */
-MAP(0x68, 0x64, 0x9939) /* <CJK> */
-MAP(0x68, 0x65, 0x993A) /* <CJK> */
-MAP(0x68, 0x66, 0x993B) /* <CJK> */
-MAP(0x68, 0x67, 0x993C) /* <CJK> */
-MAP(0x68, 0x68, 0x9940) /* <CJK> */
-MAP(0x68, 0x69, 0x9941) /* <CJK> */
-MAP(0x68, 0x6A, 0x9946) /* <CJK> */
-MAP(0x68, 0x6B, 0x9947) /* <CJK> */
-MAP(0x68, 0x6C, 0x9948) /* <CJK> */
-MAP(0x68, 0x6D, 0x994D) /* <CJK> */
-MAP(0x68, 0x6E, 0x994E) /* <CJK> */
-MAP(0x68, 0x6F, 0x9954) /* <CJK> */
-MAP(0x68, 0x70, 0x9958) /* <CJK> */
-MAP(0x68, 0x71, 0x9959) /* <CJK> */
-MAP(0x68, 0x72, 0x995B) /* <CJK> */
-MAP(0x68, 0x73, 0x995C) /* <CJK> */
-MAP(0x68, 0x74, 0x995E) /* <CJK> */
-MAP(0x68, 0x75, 0x995F) /* <CJK> */
-MAP(0x68, 0x76, 0x9960) /* <CJK> */
-MAP(0x68, 0x77, 0x999B) /* <CJK> */
-MAP(0x68, 0x78, 0x999D) /* <CJK> */
-MAP(0x68, 0x79, 0x999F) /* <CJK> */
-MAP(0x68, 0x7A, 0x99A6) /* <CJK> */
-MAP(0x68, 0x7B, 0x99B0) /* <CJK> */
-MAP(0x68, 0x7C, 0x99B1) /* <CJK> */
-MAP(0x68, 0x7D, 0x99B2) /* <CJK> */
-MAP(0x68, 0x7E, 0x99B5) /* <CJK> */
-MAP(0x69, 0x21, 0x99B9) /* <CJK> */
-MAP(0x69, 0x22, 0x99BA) /* <CJK> */
-MAP(0x69, 0x23, 0x99BD) /* <CJK> */
-MAP(0x69, 0x24, 0x99BF) /* <CJK> */
-MAP(0x69, 0x25, 0x99C3) /* <CJK> */
-MAP(0x69, 0x26, 0x99C9) /* <CJK> */
-MAP(0x69, 0x27, 0x99D3) /* <CJK> */
-MAP(0x69, 0x28, 0x99D4) /* <CJK> */
-MAP(0x69, 0x29, 0x99D9) /* <CJK> */
-MAP(0x69, 0x2A, 0x99DA) /* <CJK> */
-MAP(0x69, 0x2B, 0x99DC) /* <CJK> */
-MAP(0x69, 0x2C, 0x99DE) /* <CJK> */
-MAP(0x69, 0x2D, 0x99E7) /* <CJK> */
-MAP(0x69, 0x2E, 0x99EA) /* <CJK> */
-MAP(0x69, 0x2F, 0x99EB) /* <CJK> */
-MAP(0x69, 0x30, 0x99EC) /* <CJK> */
-MAP(0x69, 0x31, 0x99F0) /* <CJK> */
-MAP(0x69, 0x32, 0x99F4) /* <CJK> */
-MAP(0x69, 0x33, 0x99F5) /* <CJK> */
-MAP(0x69, 0x34, 0x99F9) /* <CJK> */
-MAP(0x69, 0x35, 0x99FD) /* <CJK> */
-MAP(0x69, 0x36, 0x99FE) /* <CJK> */
-MAP(0x69, 0x37, 0x9A02) /* <CJK> */
-MAP(0x69, 0x38, 0x9A03) /* <CJK> */
-MAP(0x69, 0x39, 0x9A04) /* <CJK> */
-MAP(0x69, 0x3A, 0x9A0B) /* <CJK> */
-MAP(0x69, 0x3B, 0x9A0C) /* <CJK> */
-MAP(0x69, 0x3C, 0x9A10) /* <CJK> */
-MAP(0x69, 0x3D, 0x9A11) /* <CJK> */
-MAP(0x69, 0x3E, 0x9A16) /* <CJK> */
-MAP(0x69, 0x3F, 0x9A1E) /* <CJK> */
-MAP(0x69, 0x40, 0x9A20) /* <CJK> */
-MAP(0x69, 0x41, 0x9A22) /* <CJK> */
-MAP(0x69, 0x42, 0x9A23) /* <CJK> */
-MAP(0x69, 0x43, 0x9A24) /* <CJK> */
-MAP(0x69, 0x44, 0x9A27) /* <CJK> */
-MAP(0x69, 0x45, 0x9A2D) /* <CJK> */
-MAP(0x69, 0x46, 0x9A2E) /* <CJK> */
-MAP(0x69, 0x47, 0x9A33) /* <CJK> */
-MAP(0x69, 0x48, 0x9A35) /* <CJK> */
-MAP(0x69, 0x49, 0x9A36) /* <CJK> */
-MAP(0x69, 0x4A, 0x9A38) /* <CJK> */
-MAP(0x69, 0x4B, 0x9A47) /* <CJK> */
-MAP(0x69, 0x4C, 0x9A41) /* <CJK> */
-MAP(0x69, 0x4D, 0x9A44) /* <CJK> */
-MAP(0x69, 0x4E, 0x9A4A) /* <CJK> */
-MAP(0x69, 0x4F, 0x9A4B) /* <CJK> */
-MAP(0x69, 0x50, 0x9A4C) /* <CJK> */
-MAP(0x69, 0x51, 0x9A4E) /* <CJK> */
-MAP(0x69, 0x52, 0x9A51) /* <CJK> */
-MAP(0x69, 0x53, 0x9A54) /* <CJK> */
-MAP(0x69, 0x54, 0x9A56) /* <CJK> */
-MAP(0x69, 0x55, 0x9A5D) /* <CJK> */
-MAP(0x69, 0x56, 0x9AAA) /* <CJK> */
-MAP(0x69, 0x57, 0x9AAC) /* <CJK> */
-MAP(0x69, 0x58, 0x9AAE) /* <CJK> */
-MAP(0x69, 0x59, 0x9AAF) /* <CJK> */
-MAP(0x69, 0x5A, 0x9AB2) /* <CJK> */
-MAP(0x69, 0x5B, 0x9AB4) /* <CJK> */
-MAP(0x69, 0x5C, 0x9AB5) /* <CJK> */
-MAP(0x69, 0x5D, 0x9AB6) /* <CJK> */
-MAP(0x69, 0x5E, 0x9AB9) /* <CJK> */
-MAP(0x69, 0x5F, 0x9ABB) /* <CJK> */
-MAP(0x69, 0x60, 0x9ABE) /* <CJK> */
-MAP(0x69, 0x61, 0x9ABF) /* <CJK> */
-MAP(0x69, 0x62, 0x9AC1) /* <CJK> */
-MAP(0x69, 0x63, 0x9AC3) /* <CJK> */
-MAP(0x69, 0x64, 0x9AC6) /* <CJK> */
-MAP(0x69, 0x65, 0x9AC8) /* <CJK> */
-MAP(0x69, 0x66, 0x9ACE) /* <CJK> */
-MAP(0x69, 0x67, 0x9AD0) /* <CJK> */
-MAP(0x69, 0x68, 0x9AD2) /* <CJK> */
-MAP(0x69, 0x69, 0x9AD5) /* <CJK> */
-MAP(0x69, 0x6A, 0x9AD6) /* <CJK> */
-MAP(0x69, 0x6B, 0x9AD7) /* <CJK> */
-MAP(0x69, 0x6C, 0x9ADB) /* <CJK> */
-MAP(0x69, 0x6D, 0x9ADC) /* <CJK> */
-MAP(0x69, 0x6E, 0x9AE0) /* <CJK> */
-MAP(0x69, 0x6F, 0x9AE4) /* <CJK> */
-MAP(0x69, 0x70, 0x9AE5) /* <CJK> */
-MAP(0x69, 0x71, 0x9AE7) /* <CJK> */
-MAP(0x69, 0x72, 0x9AE9) /* <CJK> */
-MAP(0x69, 0x73, 0x9AEC) /* <CJK> */
-MAP(0x69, 0x74, 0x9AF2) /* <CJK> */
-MAP(0x69, 0x75, 0x9AF3) /* <CJK> */
-MAP(0x69, 0x76, 0x9AF5) /* <CJK> */
-MAP(0x69, 0x77, 0x9AF9) /* <CJK> */
-MAP(0x69, 0x78, 0x9AFA) /* <CJK> */
-MAP(0x69, 0x79, 0x9AFD) /* <CJK> */
-MAP(0x69, 0x7A, 0x9AFF) /* <CJK> */
-MAP(0x69, 0x7B, 0x9B00) /* <CJK> */
-MAP(0x69, 0x7C, 0x9B01) /* <CJK> */
-MAP(0x69, 0x7D, 0x9B02) /* <CJK> */
-MAP(0x69, 0x7E, 0x9B03) /* <CJK> */
-MAP(0x6A, 0x21, 0x9B04) /* <CJK> */
-MAP(0x6A, 0x22, 0x9B05) /* <CJK> */
-MAP(0x6A, 0x23, 0x9B08) /* <CJK> */
-MAP(0x6A, 0x24, 0x9B09) /* <CJK> */
-MAP(0x6A, 0x25, 0x9B0B) /* <CJK> */
-MAP(0x6A, 0x26, 0x9B0C) /* <CJK> */
-MAP(0x6A, 0x27, 0x9B0D) /* <CJK> */
-MAP(0x6A, 0x28, 0x9B0E) /* <CJK> */
-MAP(0x6A, 0x29, 0x9B10) /* <CJK> */
-MAP(0x6A, 0x2A, 0x9B12) /* <CJK> */
-MAP(0x6A, 0x2B, 0x9B16) /* <CJK> */
-MAP(0x6A, 0x2C, 0x9B19) /* <CJK> */
-MAP(0x6A, 0x2D, 0x9B1B) /* <CJK> */
-MAP(0x6A, 0x2E, 0x9B1C) /* <CJK> */
-MAP(0x6A, 0x2F, 0x9B20) /* <CJK> */
-MAP(0x6A, 0x30, 0x9B26) /* <CJK> */
-MAP(0x6A, 0x31, 0x9B2B) /* <CJK> */
-MAP(0x6A, 0x32, 0x9B2D) /* <CJK> */
-MAP(0x6A, 0x33, 0x9B33) /* <CJK> */
-MAP(0x6A, 0x34, 0x9B34) /* <CJK> */
-MAP(0x6A, 0x35, 0x9B35) /* <CJK> */
-MAP(0x6A, 0x36, 0x9B37) /* <CJK> */
-MAP(0x6A, 0x37, 0x9B39) /* <CJK> */
-MAP(0x6A, 0x38, 0x9B3A) /* <CJK> */
-MAP(0x6A, 0x39, 0x9B3D) /* <CJK> */
-MAP(0x6A, 0x3A, 0x9B48) /* <CJK> */
-MAP(0x6A, 0x3B, 0x9B4B) /* <CJK> */
-MAP(0x6A, 0x3C, 0x9B4C) /* <CJK> */
-MAP(0x6A, 0x3D, 0x9B55) /* <CJK> */
-MAP(0x6A, 0x3E, 0x9B56) /* <CJK> */
-MAP(0x6A, 0x3F, 0x9B57) /* <CJK> */
-MAP(0x6A, 0x40, 0x9B5B) /* <CJK> */
-MAP(0x6A, 0x41, 0x9B5E) /* <CJK> */
-MAP(0x6A, 0x42, 0x9B61) /* <CJK> */
-MAP(0x6A, 0x43, 0x9B63) /* <CJK> */
-MAP(0x6A, 0x44, 0x9B65) /* <CJK> */
-MAP(0x6A, 0x45, 0x9B66) /* <CJK> */
-MAP(0x6A, 0x46, 0x9B68) /* <CJK> */
-MAP(0x6A, 0x47, 0x9B6A) /* <CJK> */
-MAP(0x6A, 0x48, 0x9B6B) /* <CJK> */
-MAP(0x6A, 0x49, 0x9B6C) /* <CJK> */
-MAP(0x6A, 0x4A, 0x9B6D) /* <CJK> */
-MAP(0x6A, 0x4B, 0x9B6E) /* <CJK> */
-MAP(0x6A, 0x4C, 0x9B73) /* <CJK> */
-MAP(0x6A, 0x4D, 0x9B75) /* <CJK> */
-MAP(0x6A, 0x4E, 0x9B77) /* <CJK> */
-MAP(0x6A, 0x4F, 0x9B78) /* <CJK> */
-MAP(0x6A, 0x50, 0x9B79) /* <CJK> */
-MAP(0x6A, 0x51, 0x9B7F) /* <CJK> */
-MAP(0x6A, 0x52, 0x9B80) /* <CJK> */
-MAP(0x6A, 0x53, 0x9B84) /* <CJK> */
-MAP(0x6A, 0x54, 0x9B85) /* <CJK> */
-MAP(0x6A, 0x55, 0x9B86) /* <CJK> */
-MAP(0x6A, 0x56, 0x9B87) /* <CJK> */
-MAP(0x6A, 0x57, 0x9B89) /* <CJK> */
-MAP(0x6A, 0x58, 0x9B8A) /* <CJK> */
-MAP(0x6A, 0x59, 0x9B8B) /* <CJK> */
-MAP(0x6A, 0x5A, 0x9B8D) /* <CJK> */
-MAP(0x6A, 0x5B, 0x9B8F) /* <CJK> */
-MAP(0x6A, 0x5C, 0x9B90) /* <CJK> */
-MAP(0x6A, 0x5D, 0x9B94) /* <CJK> */
-MAP(0x6A, 0x5E, 0x9B9A) /* <CJK> */
-MAP(0x6A, 0x5F, 0x9B9D) /* <CJK> */
-MAP(0x6A, 0x60, 0x9B9E) /* <CJK> */
-MAP(0x6A, 0x61, 0x9BA6) /* <CJK> */
-MAP(0x6A, 0x62, 0x9BA7) /* <CJK> */
-MAP(0x6A, 0x63, 0x9BA9) /* <CJK> */
-MAP(0x6A, 0x64, 0x9BAC) /* <CJK> */
-MAP(0x6A, 0x65, 0x9BB0) /* <CJK> */
-MAP(0x6A, 0x66, 0x9BB1) /* <CJK> */
-MAP(0x6A, 0x67, 0x9BB2) /* <CJK> */
-MAP(0x6A, 0x68, 0x9BB7) /* <CJK> */
-MAP(0x6A, 0x69, 0x9BB8) /* <CJK> */
-MAP(0x6A, 0x6A, 0x9BBB) /* <CJK> */
-MAP(0x6A, 0x6B, 0x9BBC) /* <CJK> */
-MAP(0x6A, 0x6C, 0x9BBE) /* <CJK> */
-MAP(0x6A, 0x6D, 0x9BBF) /* <CJK> */
-MAP(0x6A, 0x6E, 0x9BC1) /* <CJK> */
-MAP(0x6A, 0x6F, 0x9BC7) /* <CJK> */
-MAP(0x6A, 0x70, 0x9BC8) /* <CJK> */
-MAP(0x6A, 0x71, 0x9BCE) /* <CJK> */
-MAP(0x6A, 0x72, 0x9BD0) /* <CJK> */
-MAP(0x6A, 0x73, 0x9BD7) /* <CJK> */
-MAP(0x6A, 0x74, 0x9BD8) /* <CJK> */
-MAP(0x6A, 0x75, 0x9BDD) /* <CJK> */
-MAP(0x6A, 0x76, 0x9BDF) /* <CJK> */
-MAP(0x6A, 0x77, 0x9BE5) /* <CJK> */
-MAP(0x6A, 0x78, 0x9BE7) /* <CJK> */
-MAP(0x6A, 0x79, 0x9BEA) /* <CJK> */
-MAP(0x6A, 0x7A, 0x9BEB) /* <CJK> */
-MAP(0x6A, 0x7B, 0x9BEF) /* <CJK> */
-MAP(0x6A, 0x7C, 0x9BF3) /* <CJK> */
-MAP(0x6A, 0x7D, 0x9BF7) /* <CJK> */
-MAP(0x6A, 0x7E, 0x9BF8) /* <CJK> */
-MAP(0x6B, 0x21, 0x9BF9) /* <CJK> */
-MAP(0x6B, 0x22, 0x9BFA) /* <CJK> */
-MAP(0x6B, 0x23, 0x9BFD) /* <CJK> */
-MAP(0x6B, 0x24, 0x9BFF) /* <CJK> */
-MAP(0x6B, 0x25, 0x9C00) /* <CJK> */
-MAP(0x6B, 0x26, 0x9C02) /* <CJK> */
-MAP(0x6B, 0x27, 0x9C0B) /* <CJK> */
-MAP(0x6B, 0x28, 0x9C0F) /* <CJK> */
-MAP(0x6B, 0x29, 0x9C11) /* <CJK> */
-MAP(0x6B, 0x2A, 0x9C16) /* <CJK> */
-MAP(0x6B, 0x2B, 0x9C18) /* <CJK> */
-MAP(0x6B, 0x2C, 0x9C19) /* <CJK> */
-MAP(0x6B, 0x2D, 0x9C1A) /* <CJK> */
-MAP(0x6B, 0x2E, 0x9C1C) /* <CJK> */
-MAP(0x6B, 0x2F, 0x9C1E) /* <CJK> */
-MAP(0x6B, 0x30, 0x9C22) /* <CJK> */
-MAP(0x6B, 0x31, 0x9C23) /* <CJK> */
-MAP(0x6B, 0x32, 0x9C26) /* <CJK> */
-MAP(0x6B, 0x33, 0x9C27) /* <CJK> */
-MAP(0x6B, 0x34, 0x9C28) /* <CJK> */
-MAP(0x6B, 0x35, 0x9C29) /* <CJK> */
-MAP(0x6B, 0x36, 0x9C2A) /* <CJK> */
-MAP(0x6B, 0x37, 0x9C31) /* <CJK> */
-MAP(0x6B, 0x38, 0x9C35) /* <CJK> */
-MAP(0x6B, 0x39, 0x9C36) /* <CJK> */
-MAP(0x6B, 0x3A, 0x9C37) /* <CJK> */
-MAP(0x6B, 0x3B, 0x9C3D) /* <CJK> */
-MAP(0x6B, 0x3C, 0x9C41) /* <CJK> */
-MAP(0x6B, 0x3D, 0x9C43) /* <CJK> */
-MAP(0x6B, 0x3E, 0x9C44) /* <CJK> */
-MAP(0x6B, 0x3F, 0x9C45) /* <CJK> */
-MAP(0x6B, 0x40, 0x9C49) /* <CJK> */
-MAP(0x6B, 0x41, 0x9C4A) /* <CJK> */
-MAP(0x6B, 0x42, 0x9C4E) /* <CJK> */
-MAP(0x6B, 0x43, 0x9C4F) /* <CJK> */
-MAP(0x6B, 0x44, 0x9C50) /* <CJK> */
-MAP(0x6B, 0x45, 0x9C53) /* <CJK> */
-MAP(0x6B, 0x46, 0x9C54) /* <CJK> */
-MAP(0x6B, 0x47, 0x9C56) /* <CJK> */
-MAP(0x6B, 0x48, 0x9C58) /* <CJK> */
-MAP(0x6B, 0x49, 0x9C5B) /* <CJK> */
-MAP(0x6B, 0x4A, 0x9C5D) /* <CJK> */
-MAP(0x6B, 0x4B, 0x9C5E) /* <CJK> */
-MAP(0x6B, 0x4C, 0x9C5F) /* <CJK> */
-MAP(0x6B, 0x4D, 0x9C63) /* <CJK> */
-MAP(0x6B, 0x4E, 0x9C69) /* <CJK> */
-MAP(0x6B, 0x4F, 0x9C6A) /* <CJK> */
-MAP(0x6B, 0x50, 0x9C5C) /* <CJK> */
-MAP(0x6B, 0x51, 0x9C6B) /* <CJK> */
-MAP(0x6B, 0x52, 0x9C68) /* <CJK> */
-MAP(0x6B, 0x53, 0x9C6E) /* <CJK> */
-MAP(0x6B, 0x54, 0x9C70) /* <CJK> */
-MAP(0x6B, 0x55, 0x9C72) /* <CJK> */
-MAP(0x6B, 0x56, 0x9C75) /* <CJK> */
-MAP(0x6B, 0x57, 0x9C77) /* <CJK> */
-MAP(0x6B, 0x58, 0x9C7B) /* <CJK> */
-MAP(0x6B, 0x59, 0x9CE6) /* <CJK> */
-MAP(0x6B, 0x5A, 0x9CF2) /* <CJK> */
-MAP(0x6B, 0x5B, 0x9CF7) /* <CJK> */
-MAP(0x6B, 0x5C, 0x9CF9) /* <CJK> */
-MAP(0x6B, 0x5D, 0x9D0B) /* <CJK> */
-MAP(0x6B, 0x5E, 0x9D02) /* <CJK> */
-MAP(0x6B, 0x5F, 0x9D11) /* <CJK> */
-MAP(0x6B, 0x60, 0x9D17) /* <CJK> */
-MAP(0x6B, 0x61, 0x9D18) /* <CJK> */
-MAP(0x6B, 0x62, 0x9D1C) /* <CJK> */
-MAP(0x6B, 0x63, 0x9D1D) /* <CJK> */
-MAP(0x6B, 0x64, 0x9D1E) /* <CJK> */
-MAP(0x6B, 0x65, 0x9D2F) /* <CJK> */
-MAP(0x6B, 0x66, 0x9D30) /* <CJK> */
-MAP(0x6B, 0x67, 0x9D32) /* <CJK> */
-MAP(0x6B, 0x68, 0x9D33) /* <CJK> */
-MAP(0x6B, 0x69, 0x9D34) /* <CJK> */
-MAP(0x6B, 0x6A, 0x9D3A) /* <CJK> */
-MAP(0x6B, 0x6B, 0x9D3C) /* <CJK> */
-MAP(0x6B, 0x6C, 0x9D45) /* <CJK> */
-MAP(0x6B, 0x6D, 0x9D3D) /* <CJK> */
-MAP(0x6B, 0x6E, 0x9D42) /* <CJK> */
-MAP(0x6B, 0x6F, 0x9D43) /* <CJK> */
-MAP(0x6B, 0x70, 0x9D47) /* <CJK> */
-MAP(0x6B, 0x71, 0x9D4A) /* <CJK> */
-MAP(0x6B, 0x72, 0x9D53) /* <CJK> */
-MAP(0x6B, 0x73, 0x9D54) /* <CJK> */
-MAP(0x6B, 0x74, 0x9D5F) /* <CJK> */
-MAP(0x6B, 0x75, 0x9D63) /* <CJK> */
-MAP(0x6B, 0x76, 0x9D62) /* <CJK> */
-MAP(0x6B, 0x77, 0x9D65) /* <CJK> */
-MAP(0x6B, 0x78, 0x9D69) /* <CJK> */
-MAP(0x6B, 0x79, 0x9D6A) /* <CJK> */
-MAP(0x6B, 0x7A, 0x9D6B) /* <CJK> */
-MAP(0x6B, 0x7B, 0x9D70) /* <CJK> */
-MAP(0x6B, 0x7C, 0x9D76) /* <CJK> */
-MAP(0x6B, 0x7D, 0x9D77) /* <CJK> */
-MAP(0x6B, 0x7E, 0x9D7B) /* <CJK> */
-MAP(0x6C, 0x21, 0x9D7C) /* <CJK> */
-MAP(0x6C, 0x22, 0x9D7E) /* <CJK> */
-MAP(0x6C, 0x23, 0x9D83) /* <CJK> */
-MAP(0x6C, 0x24, 0x9D84) /* <CJK> */
-MAP(0x6C, 0x25, 0x9D86) /* <CJK> */
-MAP(0x6C, 0x26, 0x9D8A) /* <CJK> */
-MAP(0x6C, 0x27, 0x9D8D) /* <CJK> */
-MAP(0x6C, 0x28, 0x9D8E) /* <CJK> */
-MAP(0x6C, 0x29, 0x9D92) /* <CJK> */
-MAP(0x6C, 0x2A, 0x9D93) /* <CJK> */
-MAP(0x6C, 0x2B, 0x9D95) /* <CJK> */
-MAP(0x6C, 0x2C, 0x9D96) /* <CJK> */
-MAP(0x6C, 0x2D, 0x9D97) /* <CJK> */
-MAP(0x6C, 0x2E, 0x9D98) /* <CJK> */
-MAP(0x6C, 0x2F, 0x9DA1) /* <CJK> */
-MAP(0x6C, 0x30, 0x9DAA) /* <CJK> */
-MAP(0x6C, 0x31, 0x9DAC) /* <CJK> */
-MAP(0x6C, 0x32, 0x9DAE) /* <CJK> */
-MAP(0x6C, 0x33, 0x9DB1) /* <CJK> */
-MAP(0x6C, 0x34, 0x9DB5) /* <CJK> */
-MAP(0x6C, 0x35, 0x9DB9) /* <CJK> */
-MAP(0x6C, 0x36, 0x9DBC) /* <CJK> */
-MAP(0x6C, 0x37, 0x9DBF) /* <CJK> */
-MAP(0x6C, 0x38, 0x9DC3) /* <CJK> */
-MAP(0x6C, 0x39, 0x9DC7) /* <CJK> */
-MAP(0x6C, 0x3A, 0x9DC9) /* <CJK> */
-MAP(0x6C, 0x3B, 0x9DCA) /* <CJK> */
-MAP(0x6C, 0x3C, 0x9DD4) /* <CJK> */
-MAP(0x6C, 0x3D, 0x9DD5) /* <CJK> */
-MAP(0x6C, 0x3E, 0x9DD6) /* <CJK> */
-MAP(0x6C, 0x3F, 0x9DD7) /* <CJK> */
-MAP(0x6C, 0x40, 0x9DDA) /* <CJK> */
-MAP(0x6C, 0x41, 0x9DDE) /* <CJK> */
-MAP(0x6C, 0x42, 0x9DDF) /* <CJK> */
-MAP(0x6C, 0x43, 0x9DE0) /* <CJK> */
-MAP(0x6C, 0x44, 0x9DE5) /* <CJK> */
-MAP(0x6C, 0x45, 0x9DE7) /* <CJK> */
-MAP(0x6C, 0x46, 0x9DE9) /* <CJK> */
-MAP(0x6C, 0x47, 0x9DEB) /* <CJK> */
-MAP(0x6C, 0x48, 0x9DEE) /* <CJK> */
-MAP(0x6C, 0x49, 0x9DF0) /* <CJK> */
-MAP(0x6C, 0x4A, 0x9DF3) /* <CJK> */
-MAP(0x6C, 0x4B, 0x9DF4) /* <CJK> */
-MAP(0x6C, 0x4C, 0x9DFE) /* <CJK> */
-MAP(0x6C, 0x4D, 0x9E0A) /* <CJK> */
-MAP(0x6C, 0x4E, 0x9E02) /* <CJK> */
-MAP(0x6C, 0x4F, 0x9E07) /* <CJK> */
-MAP(0x6C, 0x50, 0x9E0E) /* <CJK> */
-MAP(0x6C, 0x51, 0x9E10) /* <CJK> */
-MAP(0x6C, 0x52, 0x9E11) /* <CJK> */
-MAP(0x6C, 0x53, 0x9E12) /* <CJK> */
-MAP(0x6C, 0x54, 0x9E15) /* <CJK> */
-MAP(0x6C, 0x55, 0x9E16) /* <CJK> */
-MAP(0x6C, 0x56, 0x9E19) /* <CJK> */
-MAP(0x6C, 0x57, 0x9E1C) /* <CJK> */
-MAP(0x6C, 0x58, 0x9E1D) /* <CJK> */
-MAP(0x6C, 0x59, 0x9E7A) /* <CJK> */
-MAP(0x6C, 0x5A, 0x9E7B) /* <CJK> */
-MAP(0x6C, 0x5B, 0x9E7C) /* <CJK> */
-MAP(0x6C, 0x5C, 0x9E80) /* <CJK> */
-MAP(0x6C, 0x5D, 0x9E82) /* <CJK> */
-MAP(0x6C, 0x5E, 0x9E83) /* <CJK> */
-MAP(0x6C, 0x5F, 0x9E84) /* <CJK> */
-MAP(0x6C, 0x60, 0x9E85) /* <CJK> */
-MAP(0x6C, 0x61, 0x9E87) /* <CJK> */
-MAP(0x6C, 0x62, 0x9E8E) /* <CJK> */
-MAP(0x6C, 0x63, 0x9E8F) /* <CJK> */
-MAP(0x6C, 0x64, 0x9E96) /* <CJK> */
-MAP(0x6C, 0x65, 0x9E98) /* <CJK> */
-MAP(0x6C, 0x66, 0x9E9B) /* <CJK> */
-MAP(0x6C, 0x67, 0x9E9E) /* <CJK> */
-MAP(0x6C, 0x68, 0x9EA4) /* <CJK> */
-MAP(0x6C, 0x69, 0x9EA8) /* <CJK> */
-MAP(0x6C, 0x6A, 0x9EAC) /* <CJK> */
-MAP(0x6C, 0x6B, 0x9EAE) /* <CJK> */
-MAP(0x6C, 0x6C, 0x9EAF) /* <CJK> */
-MAP(0x6C, 0x6D, 0x9EB0) /* <CJK> */
-MAP(0x6C, 0x6E, 0x9EB3) /* <CJK> */
-MAP(0x6C, 0x6F, 0x9EB4) /* <CJK> */
-MAP(0x6C, 0x70, 0x9EB5) /* <CJK> */
-MAP(0x6C, 0x71, 0x9EC6) /* <CJK> */
-MAP(0x6C, 0x72, 0x9EC8) /* <CJK> */
-MAP(0x6C, 0x73, 0x9ECB) /* <CJK> */
-MAP(0x6C, 0x74, 0x9ED5) /* <CJK> */
-MAP(0x6C, 0x75, 0x9EDF) /* <CJK> */
-MAP(0x6C, 0x76, 0x9EE4) /* <CJK> */
-MAP(0x6C, 0x77, 0x9EE7) /* <CJK> */
-MAP(0x6C, 0x78, 0x9EEC) /* <CJK> */
-MAP(0x6C, 0x79, 0x9EED) /* <CJK> */
-MAP(0x6C, 0x7A, 0x9EEE) /* <CJK> */
-MAP(0x6C, 0x7B, 0x9EF0) /* <CJK> */
-MAP(0x6C, 0x7C, 0x9EF1) /* <CJK> */
-MAP(0x6C, 0x7D, 0x9EF2) /* <CJK> */
-MAP(0x6C, 0x7E, 0x9EF5) /* <CJK> */
-MAP(0x6D, 0x21, 0x9EF8) /* <CJK> */
-MAP(0x6D, 0x22, 0x9EFF) /* <CJK> */
-MAP(0x6D, 0x23, 0x9F02) /* <CJK> */
-MAP(0x6D, 0x24, 0x9F03) /* <CJK> */
-MAP(0x6D, 0x25, 0x9F09) /* <CJK> */
-MAP(0x6D, 0x26, 0x9F0F) /* <CJK> */
-MAP(0x6D, 0x27, 0x9F10) /* <CJK> */
-MAP(0x6D, 0x28, 0x9F11) /* <CJK> */
-MAP(0x6D, 0x29, 0x9F12) /* <CJK> */
-MAP(0x6D, 0x2A, 0x9F14) /* <CJK> */
-MAP(0x6D, 0x2B, 0x9F16) /* <CJK> */
-MAP(0x6D, 0x2C, 0x9F17) /* <CJK> */
-MAP(0x6D, 0x2D, 0x9F19) /* <CJK> */
-MAP(0x6D, 0x2E, 0x9F1A) /* <CJK> */
-MAP(0x6D, 0x2F, 0x9F1B) /* <CJK> */
-MAP(0x6D, 0x30, 0x9F1F) /* <CJK> */
-MAP(0x6D, 0x31, 0x9F22) /* <CJK> */
-MAP(0x6D, 0x32, 0x9F26) /* <CJK> */
-MAP(0x6D, 0x33, 0x9F2A) /* <CJK> */
-MAP(0x6D, 0x34, 0x9F2B) /* <CJK> */
-MAP(0x6D, 0x35, 0x9F2F) /* <CJK> */
-MAP(0x6D, 0x36, 0x9F31) /* <CJK> */
-MAP(0x6D, 0x37, 0x9F32) /* <CJK> */
-MAP(0x6D, 0x38, 0x9F34) /* <CJK> */
-MAP(0x6D, 0x39, 0x9F37) /* <CJK> */
-MAP(0x6D, 0x3A, 0x9F39) /* <CJK> */
-MAP(0x6D, 0x3B, 0x9F3A) /* <CJK> */
-MAP(0x6D, 0x3C, 0x9F3C) /* <CJK> */
-MAP(0x6D, 0x3D, 0x9F3D) /* <CJK> */
-MAP(0x6D, 0x3E, 0x9F3F) /* <CJK> */
-MAP(0x6D, 0x3F, 0x9F41) /* <CJK> */
-MAP(0x6D, 0x40, 0x9F43) /* <CJK> */
-MAP(0x6D, 0x41, 0x9F44) /* <CJK> */
-MAP(0x6D, 0x42, 0x9F45) /* <CJK> */
-MAP(0x6D, 0x43, 0x9F46) /* <CJK> */
-MAP(0x6D, 0x44, 0x9F47) /* <CJK> */
-MAP(0x6D, 0x45, 0x9F53) /* <CJK> */
-MAP(0x6D, 0x46, 0x9F55) /* <CJK> */
-MAP(0x6D, 0x47, 0x9F56) /* <CJK> */
-MAP(0x6D, 0x48, 0x9F57) /* <CJK> */
-MAP(0x6D, 0x49, 0x9F58) /* <CJK> */
-MAP(0x6D, 0x4A, 0x9F5A) /* <CJK> */
-MAP(0x6D, 0x4B, 0x9F5D) /* <CJK> */
-MAP(0x6D, 0x4C, 0x9F5E) /* <CJK> */
-MAP(0x6D, 0x4D, 0x9F68) /* <CJK> */
-MAP(0x6D, 0x4E, 0x9F69) /* <CJK> */
-MAP(0x6D, 0x4F, 0x9F6D) /* <CJK> */
-MAP(0x6D, 0x50, 0x9F6E) /* <CJK> */
-MAP(0x6D, 0x51, 0x9F6F) /* <CJK> */
-MAP(0x6D, 0x52, 0x9F70) /* <CJK> */
-MAP(0x6D, 0x53, 0x9F71) /* <CJK> */
-MAP(0x6D, 0x54, 0x9F73) /* <CJK> */
-MAP(0x6D, 0x55, 0x9F75) /* <CJK> */
-MAP(0x6D, 0x56, 0x9F7A) /* <CJK> */
-MAP(0x6D, 0x57, 0x9F7D) /* <CJK> */
-MAP(0x6D, 0x58, 0x9F8F) /* <CJK> */
-MAP(0x6D, 0x59, 0x9F90) /* <CJK> */
-MAP(0x6D, 0x5A, 0x9F91) /* <CJK> */
-MAP(0x6D, 0x5B, 0x9F92) /* <CJK> */
-MAP(0x6D, 0x5C, 0x9F94) /* <CJK> */
-MAP(0x6D, 0x5D, 0x9F96) /* <CJK> */
-MAP(0x6D, 0x5E, 0x9F97) /* <CJK> */
-MAP(0x6D, 0x5F, 0x9F9E) /* <CJK> */
-MAP(0x6D, 0x60, 0x9FA1) /* <CJK> */
-MAP(0x6D, 0x61, 0x9FA2) /* <CJK> */
-MAP(0x6D, 0x62, 0x9FA3) /* <CJK> */
-MAP(0x6D, 0x63, 0x9FA5) /* <CJK> */
diff --git a/libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc b/libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc
deleted file mode 100644
index f05ef32c0ea..00000000000
--- a/libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc
+++ /dev/null
@@ -1,6471 +0,0 @@
-/* This file is automatically generated from JIS0212.TXT. */
-unsigned short JIS0212_to_Unicode[76][94] = {
-/* 1st byte: 34 */ {
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 47 */ 0x02d8,
- /* 2nd byte: 48 */ 0x02c7,
- /* 2nd byte: 49 */ 0x00b8,
- /* 2nd byte: 50 */ 0x02d9,
- /* 2nd byte: 51 */ 0x02dd,
- /* 2nd byte: 52 */ 0x00af,
- /* 2nd byte: 53 */ 0x02db,
- /* 2nd byte: 54 */ 0x02da,
- /* 2nd byte: 55 */ 0x007e,
- /* 2nd byte: 56 */ 0x0384,
- /* 2nd byte: 57 */ 0x0385,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 66 */ 0x00a1,
- /* 2nd byte: 67 */ 0x00a6,
- /* 2nd byte: 68 */ 0x00bf,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 107 */ 0x00ba,
- /* 2nd byte: 108 */ 0x00aa,
- /* 2nd byte: 109 */ 0x00a9,
- /* 2nd byte: 110 */ 0x00ae,
- /* 2nd byte: 111 */ 0x2122,
- /* 2nd byte: 112 */ 0x00a4,
- /* 2nd byte: 113 */ 0x2116,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 35 */ { 0 }, /* unused row */
-/* 1st byte: 36 */ { 0 }, /* unused row */
-/* 1st byte: 37 */ { 0 }, /* unused row */
-/* 1st byte: 38 */ {
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 97 */ 0x0386,
- /* 2nd byte: 98 */ 0x0388,
- /* 2nd byte: 99 */ 0x0389,
- /* 2nd byte: 100 */ 0x038a,
- /* 2nd byte: 101 */ 0x03aa,
- 0,
- /* 2nd byte: 103 */ 0x038c,
- 0,
- /* 2nd byte: 105 */ 0x038e,
- /* 2nd byte: 106 */ 0x03ab,
- 0,
- /* 2nd byte: 108 */ 0x038f,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 113 */ 0x03ac,
- /* 2nd byte: 114 */ 0x03ad,
- /* 2nd byte: 115 */ 0x03ae,
- /* 2nd byte: 116 */ 0x03af,
- /* 2nd byte: 117 */ 0x03ca,
- /* 2nd byte: 118 */ 0x0390,
- /* 2nd byte: 119 */ 0x03cc,
- /* 2nd byte: 120 */ 0x03c2,
- /* 2nd byte: 121 */ 0x03cd,
- /* 2nd byte: 122 */ 0x03cb,
- /* 2nd byte: 123 */ 0x03b0,
- /* 2nd byte: 124 */ 0x03ce,
- 0,
- 0},
-/* 1st byte: 39 */ {
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 66 */ 0x0402,
- /* 2nd byte: 67 */ 0x0403,
- /* 2nd byte: 68 */ 0x0404,
- /* 2nd byte: 69 */ 0x0405,
- /* 2nd byte: 70 */ 0x0406,
- /* 2nd byte: 71 */ 0x0407,
- /* 2nd byte: 72 */ 0x0408,
- /* 2nd byte: 73 */ 0x0409,
- /* 2nd byte: 74 */ 0x040a,
- /* 2nd byte: 75 */ 0x040b,
- /* 2nd byte: 76 */ 0x040c,
- /* 2nd byte: 77 */ 0x040e,
- /* 2nd byte: 78 */ 0x040f,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 114 */ 0x0452,
- /* 2nd byte: 115 */ 0x0453,
- /* 2nd byte: 116 */ 0x0454,
- /* 2nd byte: 117 */ 0x0455,
- /* 2nd byte: 118 */ 0x0456,
- /* 2nd byte: 119 */ 0x0457,
- /* 2nd byte: 120 */ 0x0458,
- /* 2nd byte: 121 */ 0x0459,
- /* 2nd byte: 122 */ 0x045a,
- /* 2nd byte: 123 */ 0x045b,
- /* 2nd byte: 124 */ 0x045c,
- /* 2nd byte: 125 */ 0x045e,
- /* 2nd byte: 126 */ 0x045f},
-/* 1st byte: 40 */ { 0 }, /* unused row */
-/* 1st byte: 41 */ {
- /* 2nd byte: 33 */ 0x00c6,
- /* 2nd byte: 34 */ 0x0110,
- 0,
- /* 2nd byte: 36 */ 0x0126,
- 0,
- /* 2nd byte: 38 */ 0x0132,
- 0,
- /* 2nd byte: 40 */ 0x0141,
- /* 2nd byte: 41 */ 0x013f,
- 0,
- /* 2nd byte: 43 */ 0x014a,
- /* 2nd byte: 44 */ 0x00d8,
- /* 2nd byte: 45 */ 0x0152,
- 0,
- /* 2nd byte: 47 */ 0x0166,
- /* 2nd byte: 48 */ 0x00de,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- /* 2nd byte: 65 */ 0x00e6,
- /* 2nd byte: 66 */ 0x0111,
- /* 2nd byte: 67 */ 0x00f0,
- /* 2nd byte: 68 */ 0x0127,
- /* 2nd byte: 69 */ 0x0131,
- /* 2nd byte: 70 */ 0x0133,
- /* 2nd byte: 71 */ 0x0138,
- /* 2nd byte: 72 */ 0x0142,
- /* 2nd byte: 73 */ 0x0140,
- /* 2nd byte: 74 */ 0x0149,
- /* 2nd byte: 75 */ 0x014b,
- /* 2nd byte: 76 */ 0x00f8,
- /* 2nd byte: 77 */ 0x0153,
- /* 2nd byte: 78 */ 0x00df,
- /* 2nd byte: 79 */ 0x0167,
- /* 2nd byte: 80 */ 0x00fe,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 42 */ {
- /* 2nd byte: 33 */ 0x00c1,
- /* 2nd byte: 34 */ 0x00c0,
- /* 2nd byte: 35 */ 0x00c4,
- /* 2nd byte: 36 */ 0x00c2,
- /* 2nd byte: 37 */ 0x0102,
- /* 2nd byte: 38 */ 0x01cd,
- /* 2nd byte: 39 */ 0x0100,
- /* 2nd byte: 40 */ 0x0104,
- /* 2nd byte: 41 */ 0x00c5,
- /* 2nd byte: 42 */ 0x00c3,
- /* 2nd byte: 43 */ 0x0106,
- /* 2nd byte: 44 */ 0x0108,
- /* 2nd byte: 45 */ 0x010c,
- /* 2nd byte: 46 */ 0x00c7,
- /* 2nd byte: 47 */ 0x010a,
- /* 2nd byte: 48 */ 0x010e,
- /* 2nd byte: 49 */ 0x00c9,
- /* 2nd byte: 50 */ 0x00c8,
- /* 2nd byte: 51 */ 0x00cb,
- /* 2nd byte: 52 */ 0x00ca,
- /* 2nd byte: 53 */ 0x011a,
- /* 2nd byte: 54 */ 0x0116,
- /* 2nd byte: 55 */ 0x0112,
- /* 2nd byte: 56 */ 0x0118,
- 0,
- /* 2nd byte: 58 */ 0x011c,
- /* 2nd byte: 59 */ 0x011e,
- /* 2nd byte: 60 */ 0x0122,
- /* 2nd byte: 61 */ 0x0120,
- /* 2nd byte: 62 */ 0x0124,
- /* 2nd byte: 63 */ 0x00cd,
- /* 2nd byte: 64 */ 0x00cc,
- /* 2nd byte: 65 */ 0x00cf,
- /* 2nd byte: 66 */ 0x00ce,
- /* 2nd byte: 67 */ 0x01cf,
- /* 2nd byte: 68 */ 0x0130,
- /* 2nd byte: 69 */ 0x012a,
- /* 2nd byte: 70 */ 0x012e,
- /* 2nd byte: 71 */ 0x0128,
- /* 2nd byte: 72 */ 0x0134,
- /* 2nd byte: 73 */ 0x0136,
- /* 2nd byte: 74 */ 0x0139,
- /* 2nd byte: 75 */ 0x013d,
- /* 2nd byte: 76 */ 0x013b,
- /* 2nd byte: 77 */ 0x0143,
- /* 2nd byte: 78 */ 0x0147,
- /* 2nd byte: 79 */ 0x0145,
- /* 2nd byte: 80 */ 0x00d1,
- /* 2nd byte: 81 */ 0x00d3,
- /* 2nd byte: 82 */ 0x00d2,
- /* 2nd byte: 83 */ 0x00d6,
- /* 2nd byte: 84 */ 0x00d4,
- /* 2nd byte: 85 */ 0x01d1,
- /* 2nd byte: 86 */ 0x0150,
- /* 2nd byte: 87 */ 0x014c,
- /* 2nd byte: 88 */ 0x00d5,
- /* 2nd byte: 89 */ 0x0154,
- /* 2nd byte: 90 */ 0x0158,
- /* 2nd byte: 91 */ 0x0156,
- /* 2nd byte: 92 */ 0x015a,
- /* 2nd byte: 93 */ 0x015c,
- /* 2nd byte: 94 */ 0x0160,
- /* 2nd byte: 95 */ 0x015e,
- /* 2nd byte: 96 */ 0x0164,
- /* 2nd byte: 97 */ 0x0162,
- /* 2nd byte: 98 */ 0x00da,
- /* 2nd byte: 99 */ 0x00d9,
- /* 2nd byte: 100 */ 0x00dc,
- /* 2nd byte: 101 */ 0x00db,
- /* 2nd byte: 102 */ 0x016c,
- /* 2nd byte: 103 */ 0x01d3,
- /* 2nd byte: 104 */ 0x0170,
- /* 2nd byte: 105 */ 0x016a,
- /* 2nd byte: 106 */ 0x0172,
- /* 2nd byte: 107 */ 0x016e,
- /* 2nd byte: 108 */ 0x0168,
- /* 2nd byte: 109 */ 0x01d7,
- /* 2nd byte: 110 */ 0x01db,
- /* 2nd byte: 111 */ 0x01d9,
- /* 2nd byte: 112 */ 0x01d5,
- /* 2nd byte: 113 */ 0x0174,
- /* 2nd byte: 114 */ 0x00dd,
- /* 2nd byte: 115 */ 0x0178,
- /* 2nd byte: 116 */ 0x0176,
- /* 2nd byte: 117 */ 0x0179,
- /* 2nd byte: 118 */ 0x017d,
- /* 2nd byte: 119 */ 0x017b,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 43 */ {
- /* 2nd byte: 33 */ 0x00e1,
- /* 2nd byte: 34 */ 0x00e0,
- /* 2nd byte: 35 */ 0x00e4,
- /* 2nd byte: 36 */ 0x00e2,
- /* 2nd byte: 37 */ 0x0103,
- /* 2nd byte: 38 */ 0x01ce,
- /* 2nd byte: 39 */ 0x0101,
- /* 2nd byte: 40 */ 0x0105,
- /* 2nd byte: 41 */ 0x00e5,
- /* 2nd byte: 42 */ 0x00e3,
- /* 2nd byte: 43 */ 0x0107,
- /* 2nd byte: 44 */ 0x0109,
- /* 2nd byte: 45 */ 0x010d,
- /* 2nd byte: 46 */ 0x00e7,
- /* 2nd byte: 47 */ 0x010b,
- /* 2nd byte: 48 */ 0x010f,
- /* 2nd byte: 49 */ 0x00e9,
- /* 2nd byte: 50 */ 0x00e8,
- /* 2nd byte: 51 */ 0x00eb,
- /* 2nd byte: 52 */ 0x00ea,
- /* 2nd byte: 53 */ 0x011b,
- /* 2nd byte: 54 */ 0x0117,
- /* 2nd byte: 55 */ 0x0113,
- /* 2nd byte: 56 */ 0x0119,
- /* 2nd byte: 57 */ 0x01f5,
- /* 2nd byte: 58 */ 0x011d,
- /* 2nd byte: 59 */ 0x011f,
- 0,
- /* 2nd byte: 61 */ 0x0121,
- /* 2nd byte: 62 */ 0x0125,
- /* 2nd byte: 63 */ 0x00ed,
- /* 2nd byte: 64 */ 0x00ec,
- /* 2nd byte: 65 */ 0x00ef,
- /* 2nd byte: 66 */ 0x00ee,
- /* 2nd byte: 67 */ 0x01d0,
- 0,
- /* 2nd byte: 69 */ 0x012b,
- /* 2nd byte: 70 */ 0x012f,
- /* 2nd byte: 71 */ 0x0129,
- /* 2nd byte: 72 */ 0x0135,
- /* 2nd byte: 73 */ 0x0137,
- /* 2nd byte: 74 */ 0x013a,
- /* 2nd byte: 75 */ 0x013e,
- /* 2nd byte: 76 */ 0x013c,
- /* 2nd byte: 77 */ 0x0144,
- /* 2nd byte: 78 */ 0x0148,
- /* 2nd byte: 79 */ 0x0146,
- /* 2nd byte: 80 */ 0x00f1,
- /* 2nd byte: 81 */ 0x00f3,
- /* 2nd byte: 82 */ 0x00f2,
- /* 2nd byte: 83 */ 0x00f6,
- /* 2nd byte: 84 */ 0x00f4,
- /* 2nd byte: 85 */ 0x01d2,
- /* 2nd byte: 86 */ 0x0151,
- /* 2nd byte: 87 */ 0x014d,
- /* 2nd byte: 88 */ 0x00f5,
- /* 2nd byte: 89 */ 0x0155,
- /* 2nd byte: 90 */ 0x0159,
- /* 2nd byte: 91 */ 0x0157,
- /* 2nd byte: 92 */ 0x015b,
- /* 2nd byte: 93 */ 0x015d,
- /* 2nd byte: 94 */ 0x0161,
- /* 2nd byte: 95 */ 0x015f,
- /* 2nd byte: 96 */ 0x0165,
- /* 2nd byte: 97 */ 0x0163,
- /* 2nd byte: 98 */ 0x00fa,
- /* 2nd byte: 99 */ 0x00f9,
- /* 2nd byte: 100 */ 0x00fc,
- /* 2nd byte: 101 */ 0x00fb,
- /* 2nd byte: 102 */ 0x016d,
- /* 2nd byte: 103 */ 0x01d4,
- /* 2nd byte: 104 */ 0x0171,
- /* 2nd byte: 105 */ 0x016b,
- /* 2nd byte: 106 */ 0x0173,
- /* 2nd byte: 107 */ 0x016f,
- /* 2nd byte: 108 */ 0x0169,
- /* 2nd byte: 109 */ 0x01d8,
- /* 2nd byte: 110 */ 0x01dc,
- /* 2nd byte: 111 */ 0x01da,
- /* 2nd byte: 112 */ 0x01d6,
- /* 2nd byte: 113 */ 0x0175,
- /* 2nd byte: 114 */ 0x00fd,
- /* 2nd byte: 115 */ 0x00ff,
- /* 2nd byte: 116 */ 0x0177,
- /* 2nd byte: 117 */ 0x017a,
- /* 2nd byte: 118 */ 0x017e,
- /* 2nd byte: 119 */ 0x017c,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0},
-/* 1st byte: 44 */ { 0 }, /* unused row */
-/* 1st byte: 45 */ { 0 }, /* unused row */
-/* 1st byte: 46 */ { 0 }, /* unused row */
-/* 1st byte: 47 */ { 0 }, /* unused row */
-/* 1st byte: 48 */ {
- /* 2nd byte: 33 */ 0x4e02,
- /* 2nd byte: 34 */ 0x4e04,
- /* 2nd byte: 35 */ 0x4e05,
- /* 2nd byte: 36 */ 0x4e0c,
- /* 2nd byte: 37 */ 0x4e12,
- /* 2nd byte: 38 */ 0x4e1f,
- /* 2nd byte: 39 */ 0x4e23,
- /* 2nd byte: 40 */ 0x4e24,
- /* 2nd byte: 41 */ 0x4e28,
- /* 2nd byte: 42 */ 0x4e2b,
- /* 2nd byte: 43 */ 0x4e2e,
- /* 2nd byte: 44 */ 0x4e2f,
- /* 2nd byte: 45 */ 0x4e30,
- /* 2nd byte: 46 */ 0x4e35,
- /* 2nd byte: 47 */ 0x4e40,
- /* 2nd byte: 48 */ 0x4e41,
- /* 2nd byte: 49 */ 0x4e44,
- /* 2nd byte: 50 */ 0x4e47,
- /* 2nd byte: 51 */ 0x4e51,
- /* 2nd byte: 52 */ 0x4e5a,
- /* 2nd byte: 53 */ 0x4e5c,
- /* 2nd byte: 54 */ 0x4e63,
- /* 2nd byte: 55 */ 0x4e68,
- /* 2nd byte: 56 */ 0x4e69,
- /* 2nd byte: 57 */ 0x4e74,
- /* 2nd byte: 58 */ 0x4e75,
- /* 2nd byte: 59 */ 0x4e79,
- /* 2nd byte: 60 */ 0x4e7f,
- /* 2nd byte: 61 */ 0x4e8d,
- /* 2nd byte: 62 */ 0x4e96,
- /* 2nd byte: 63 */ 0x4e97,
- /* 2nd byte: 64 */ 0x4e9d,
- /* 2nd byte: 65 */ 0x4eaf,
- /* 2nd byte: 66 */ 0x4eb9,
- /* 2nd byte: 67 */ 0x4ec3,
- /* 2nd byte: 68 */ 0x4ed0,
- /* 2nd byte: 69 */ 0x4eda,
- /* 2nd byte: 70 */ 0x4edb,
- /* 2nd byte: 71 */ 0x4ee0,
- /* 2nd byte: 72 */ 0x4ee1,
- /* 2nd byte: 73 */ 0x4ee2,
- /* 2nd byte: 74 */ 0x4ee8,
- /* 2nd byte: 75 */ 0x4eef,
- /* 2nd byte: 76 */ 0x4ef1,
- /* 2nd byte: 77 */ 0x4ef3,
- /* 2nd byte: 78 */ 0x4ef5,
- /* 2nd byte: 79 */ 0x4efd,
- /* 2nd byte: 80 */ 0x4efe,
- /* 2nd byte: 81 */ 0x4eff,
- /* 2nd byte: 82 */ 0x4f00,
- /* 2nd byte: 83 */ 0x4f02,
- /* 2nd byte: 84 */ 0x4f03,
- /* 2nd byte: 85 */ 0x4f08,
- /* 2nd byte: 86 */ 0x4f0b,
- /* 2nd byte: 87 */ 0x4f0c,
- /* 2nd byte: 88 */ 0x4f12,
- /* 2nd byte: 89 */ 0x4f15,
- /* 2nd byte: 90 */ 0x4f16,
- /* 2nd byte: 91 */ 0x4f17,
- /* 2nd byte: 92 */ 0x4f19,
- /* 2nd byte: 93 */ 0x4f2e,
- /* 2nd byte: 94 */ 0x4f31,
- /* 2nd byte: 95 */ 0x4f60,
- /* 2nd byte: 96 */ 0x4f33,
- /* 2nd byte: 97 */ 0x4f35,
- /* 2nd byte: 98 */ 0x4f37,
- /* 2nd byte: 99 */ 0x4f39,
- /* 2nd byte: 100 */ 0x4f3b,
- /* 2nd byte: 101 */ 0x4f3e,
- /* 2nd byte: 102 */ 0x4f40,
- /* 2nd byte: 103 */ 0x4f42,
- /* 2nd byte: 104 */ 0x4f48,
- /* 2nd byte: 105 */ 0x4f49,
- /* 2nd byte: 106 */ 0x4f4b,
- /* 2nd byte: 107 */ 0x4f4c,
- /* 2nd byte: 108 */ 0x4f52,
- /* 2nd byte: 109 */ 0x4f54,
- /* 2nd byte: 110 */ 0x4f56,
- /* 2nd byte: 111 */ 0x4f58,
- /* 2nd byte: 112 */ 0x4f5f,
- /* 2nd byte: 113 */ 0x4f63,
- /* 2nd byte: 114 */ 0x4f6a,
- /* 2nd byte: 115 */ 0x4f6c,
- /* 2nd byte: 116 */ 0x4f6e,
- /* 2nd byte: 117 */ 0x4f71,
- /* 2nd byte: 118 */ 0x4f77,
- /* 2nd byte: 119 */ 0x4f78,
- /* 2nd byte: 120 */ 0x4f79,
- /* 2nd byte: 121 */ 0x4f7a,
- /* 2nd byte: 122 */ 0x4f7d,
- /* 2nd byte: 123 */ 0x4f7e,
- /* 2nd byte: 124 */ 0x4f81,
- /* 2nd byte: 125 */ 0x4f82,
- /* 2nd byte: 126 */ 0x4f84},
-/* 1st byte: 49 */ {
- /* 2nd byte: 33 */ 0x4f85,
- /* 2nd byte: 34 */ 0x4f89,
- /* 2nd byte: 35 */ 0x4f8a,
- /* 2nd byte: 36 */ 0x4f8c,
- /* 2nd byte: 37 */ 0x4f8e,
- /* 2nd byte: 38 */ 0x4f90,
- /* 2nd byte: 39 */ 0x4f92,
- /* 2nd byte: 40 */ 0x4f93,
- /* 2nd byte: 41 */ 0x4f94,
- /* 2nd byte: 42 */ 0x4f97,
- /* 2nd byte: 43 */ 0x4f99,
- /* 2nd byte: 44 */ 0x4f9a,
- /* 2nd byte: 45 */ 0x4f9e,
- /* 2nd byte: 46 */ 0x4f9f,
- /* 2nd byte: 47 */ 0x4fb2,
- /* 2nd byte: 48 */ 0x4fb7,
- /* 2nd byte: 49 */ 0x4fb9,
- /* 2nd byte: 50 */ 0x4fbb,
- /* 2nd byte: 51 */ 0x4fbc,
- /* 2nd byte: 52 */ 0x4fbd,
- /* 2nd byte: 53 */ 0x4fbe,
- /* 2nd byte: 54 */ 0x4fc0,
- /* 2nd byte: 55 */ 0x4fc1,
- /* 2nd byte: 56 */ 0x4fc5,
- /* 2nd byte: 57 */ 0x4fc6,
- /* 2nd byte: 58 */ 0x4fc8,
- /* 2nd byte: 59 */ 0x4fc9,
- /* 2nd byte: 60 */ 0x4fcb,
- /* 2nd byte: 61 */ 0x4fcc,
- /* 2nd byte: 62 */ 0x4fcd,
- /* 2nd byte: 63 */ 0x4fcf,
- /* 2nd byte: 64 */ 0x4fd2,
- /* 2nd byte: 65 */ 0x4fdc,
- /* 2nd byte: 66 */ 0x4fe0,
- /* 2nd byte: 67 */ 0x4fe2,
- /* 2nd byte: 68 */ 0x4ff0,
- /* 2nd byte: 69 */ 0x4ff2,
- /* 2nd byte: 70 */ 0x4ffc,
- /* 2nd byte: 71 */ 0x4ffd,
- /* 2nd byte: 72 */ 0x4fff,
- /* 2nd byte: 73 */ 0x5000,
- /* 2nd byte: 74 */ 0x5001,
- /* 2nd byte: 75 */ 0x5004,
- /* 2nd byte: 76 */ 0x5007,
- /* 2nd byte: 77 */ 0x500a,
- /* 2nd byte: 78 */ 0x500c,
- /* 2nd byte: 79 */ 0x500e,
- /* 2nd byte: 80 */ 0x5010,
- /* 2nd byte: 81 */ 0x5013,
- /* 2nd byte: 82 */ 0x5017,
- /* 2nd byte: 83 */ 0x5018,
- /* 2nd byte: 84 */ 0x501b,
- /* 2nd byte: 85 */ 0x501c,
- /* 2nd byte: 86 */ 0x501d,
- /* 2nd byte: 87 */ 0x501e,
- /* 2nd byte: 88 */ 0x5022,
- /* 2nd byte: 89 */ 0x5027,
- /* 2nd byte: 90 */ 0x502e,
- /* 2nd byte: 91 */ 0x5030,
- /* 2nd byte: 92 */ 0x5032,
- /* 2nd byte: 93 */ 0x5033,
- /* 2nd byte: 94 */ 0x5035,
- /* 2nd byte: 95 */ 0x5040,
- /* 2nd byte: 96 */ 0x5041,
- /* 2nd byte: 97 */ 0x5042,
- /* 2nd byte: 98 */ 0x5045,
- /* 2nd byte: 99 */ 0x5046,
- /* 2nd byte: 100 */ 0x504a,
- /* 2nd byte: 101 */ 0x504c,
- /* 2nd byte: 102 */ 0x504e,
- /* 2nd byte: 103 */ 0x5051,
- /* 2nd byte: 104 */ 0x5052,
- /* 2nd byte: 105 */ 0x5053,
- /* 2nd byte: 106 */ 0x5057,
- /* 2nd byte: 107 */ 0x5059,
- /* 2nd byte: 108 */ 0x505f,
- /* 2nd byte: 109 */ 0x5060,
- /* 2nd byte: 110 */ 0x5062,
- /* 2nd byte: 111 */ 0x5063,
- /* 2nd byte: 112 */ 0x5066,
- /* 2nd byte: 113 */ 0x5067,
- /* 2nd byte: 114 */ 0x506a,
- /* 2nd byte: 115 */ 0x506d,
- /* 2nd byte: 116 */ 0x5070,
- /* 2nd byte: 117 */ 0x5071,
- /* 2nd byte: 118 */ 0x503b,
- /* 2nd byte: 119 */ 0x5081,
- /* 2nd byte: 120 */ 0x5083,
- /* 2nd byte: 121 */ 0x5084,
- /* 2nd byte: 122 */ 0x5086,
- /* 2nd byte: 123 */ 0x508a,
- /* 2nd byte: 124 */ 0x508e,
- /* 2nd byte: 125 */ 0x508f,
- /* 2nd byte: 126 */ 0x5090},
-/* 1st byte: 50 */ {
- /* 2nd byte: 33 */ 0x5092,
- /* 2nd byte: 34 */ 0x5093,
- /* 2nd byte: 35 */ 0x5094,
- /* 2nd byte: 36 */ 0x5096,
- /* 2nd byte: 37 */ 0x509b,
- /* 2nd byte: 38 */ 0x509c,
- /* 2nd byte: 39 */ 0x509e,
- /* 2nd byte: 40 */ 0x509f,
- /* 2nd byte: 41 */ 0x50a0,
- /* 2nd byte: 42 */ 0x50a1,
- /* 2nd byte: 43 */ 0x50a2,
- /* 2nd byte: 44 */ 0x50aa,
- /* 2nd byte: 45 */ 0x50af,
- /* 2nd byte: 46 */ 0x50b0,
- /* 2nd byte: 47 */ 0x50b9,
- /* 2nd byte: 48 */ 0x50ba,
- /* 2nd byte: 49 */ 0x50bd,
- /* 2nd byte: 50 */ 0x50c0,
- /* 2nd byte: 51 */ 0x50c3,
- /* 2nd byte: 52 */ 0x50c4,
- /* 2nd byte: 53 */ 0x50c7,
- /* 2nd byte: 54 */ 0x50cc,
- /* 2nd byte: 55 */ 0x50ce,
- /* 2nd byte: 56 */ 0x50d0,
- /* 2nd byte: 57 */ 0x50d3,
- /* 2nd byte: 58 */ 0x50d4,
- /* 2nd byte: 59 */ 0x50d8,
- /* 2nd byte: 60 */ 0x50dc,
- /* 2nd byte: 61 */ 0x50dd,
- /* 2nd byte: 62 */ 0x50df,
- /* 2nd byte: 63 */ 0x50e2,
- /* 2nd byte: 64 */ 0x50e4,
- /* 2nd byte: 65 */ 0x50e6,
- /* 2nd byte: 66 */ 0x50e8,
- /* 2nd byte: 67 */ 0x50e9,
- /* 2nd byte: 68 */ 0x50ef,
- /* 2nd byte: 69 */ 0x50f1,
- /* 2nd byte: 70 */ 0x50f6,
- /* 2nd byte: 71 */ 0x50fa,
- /* 2nd byte: 72 */ 0x50fe,
- /* 2nd byte: 73 */ 0x5103,
- /* 2nd byte: 74 */ 0x5106,
- /* 2nd byte: 75 */ 0x5107,
- /* 2nd byte: 76 */ 0x5108,
- /* 2nd byte: 77 */ 0x510b,
- /* 2nd byte: 78 */ 0x510c,
- /* 2nd byte: 79 */ 0x510d,
- /* 2nd byte: 80 */ 0x510e,
- /* 2nd byte: 81 */ 0x50f2,
- /* 2nd byte: 82 */ 0x5110,
- /* 2nd byte: 83 */ 0x5117,
- /* 2nd byte: 84 */ 0x5119,
- /* 2nd byte: 85 */ 0x511b,
- /* 2nd byte: 86 */ 0x511c,
- /* 2nd byte: 87 */ 0x511d,
- /* 2nd byte: 88 */ 0x511e,
- /* 2nd byte: 89 */ 0x5123,
- /* 2nd byte: 90 */ 0x5127,
- /* 2nd byte: 91 */ 0x5128,
- /* 2nd byte: 92 */ 0x512c,
- /* 2nd byte: 93 */ 0x512d,
- /* 2nd byte: 94 */ 0x512f,
- /* 2nd byte: 95 */ 0x5131,
- /* 2nd byte: 96 */ 0x5133,
- /* 2nd byte: 97 */ 0x5134,
- /* 2nd byte: 98 */ 0x5135,
- /* 2nd byte: 99 */ 0x5138,
- /* 2nd byte: 100 */ 0x5139,
- /* 2nd byte: 101 */ 0x5142,
- /* 2nd byte: 102 */ 0x514a,
- /* 2nd byte: 103 */ 0x514f,
- /* 2nd byte: 104 */ 0x5153,
- /* 2nd byte: 105 */ 0x5155,
- /* 2nd byte: 106 */ 0x5157,
- /* 2nd byte: 107 */ 0x5158,
- /* 2nd byte: 108 */ 0x515f,
- /* 2nd byte: 109 */ 0x5164,
- /* 2nd byte: 110 */ 0x5166,
- /* 2nd byte: 111 */ 0x517e,
- /* 2nd byte: 112 */ 0x5183,
- /* 2nd byte: 113 */ 0x5184,
- /* 2nd byte: 114 */ 0x518b,
- /* 2nd byte: 115 */ 0x518e,
- /* 2nd byte: 116 */ 0x5198,
- /* 2nd byte: 117 */ 0x519d,
- /* 2nd byte: 118 */ 0x51a1,
- /* 2nd byte: 119 */ 0x51a3,
- /* 2nd byte: 120 */ 0x51ad,
- /* 2nd byte: 121 */ 0x51b8,
- /* 2nd byte: 122 */ 0x51ba,
- /* 2nd byte: 123 */ 0x51bc,
- /* 2nd byte: 124 */ 0x51be,
- /* 2nd byte: 125 */ 0x51bf,
- /* 2nd byte: 126 */ 0x51c2},
-/* 1st byte: 51 */ {
- /* 2nd byte: 33 */ 0x51c8,
- /* 2nd byte: 34 */ 0x51cf,
- /* 2nd byte: 35 */ 0x51d1,
- /* 2nd byte: 36 */ 0x51d2,
- /* 2nd byte: 37 */ 0x51d3,
- /* 2nd byte: 38 */ 0x51d5,
- /* 2nd byte: 39 */ 0x51d8,
- /* 2nd byte: 40 */ 0x51de,
- /* 2nd byte: 41 */ 0x51e2,
- /* 2nd byte: 42 */ 0x51e5,
- /* 2nd byte: 43 */ 0x51ee,
- /* 2nd byte: 44 */ 0x51f2,
- /* 2nd byte: 45 */ 0x51f3,
- /* 2nd byte: 46 */ 0x51f4,
- /* 2nd byte: 47 */ 0x51f7,
- /* 2nd byte: 48 */ 0x5201,
- /* 2nd byte: 49 */ 0x5202,
- /* 2nd byte: 50 */ 0x5205,
- /* 2nd byte: 51 */ 0x5212,
- /* 2nd byte: 52 */ 0x5213,
- /* 2nd byte: 53 */ 0x5215,
- /* 2nd byte: 54 */ 0x5216,
- /* 2nd byte: 55 */ 0x5218,
- /* 2nd byte: 56 */ 0x5222,
- /* 2nd byte: 57 */ 0x5228,
- /* 2nd byte: 58 */ 0x5231,
- /* 2nd byte: 59 */ 0x5232,
- /* 2nd byte: 60 */ 0x5235,
- /* 2nd byte: 61 */ 0x523c,
- /* 2nd byte: 62 */ 0x5245,
- /* 2nd byte: 63 */ 0x5249,
- /* 2nd byte: 64 */ 0x5255,
- /* 2nd byte: 65 */ 0x5257,
- /* 2nd byte: 66 */ 0x5258,
- /* 2nd byte: 67 */ 0x525a,
- /* 2nd byte: 68 */ 0x525c,
- /* 2nd byte: 69 */ 0x525f,
- /* 2nd byte: 70 */ 0x5260,
- /* 2nd byte: 71 */ 0x5261,
- /* 2nd byte: 72 */ 0x5266,
- /* 2nd byte: 73 */ 0x526e,
- /* 2nd byte: 74 */ 0x5277,
- /* 2nd byte: 75 */ 0x5278,
- /* 2nd byte: 76 */ 0x5279,
- /* 2nd byte: 77 */ 0x5280,
- /* 2nd byte: 78 */ 0x5282,
- /* 2nd byte: 79 */ 0x5285,
- /* 2nd byte: 80 */ 0x528a,
- /* 2nd byte: 81 */ 0x528c,
- /* 2nd byte: 82 */ 0x5293,
- /* 2nd byte: 83 */ 0x5295,
- /* 2nd byte: 84 */ 0x5296,
- /* 2nd byte: 85 */ 0x5297,
- /* 2nd byte: 86 */ 0x5298,
- /* 2nd byte: 87 */ 0x529a,
- /* 2nd byte: 88 */ 0x529c,
- /* 2nd byte: 89 */ 0x52a4,
- /* 2nd byte: 90 */ 0x52a5,
- /* 2nd byte: 91 */ 0x52a6,
- /* 2nd byte: 92 */ 0x52a7,
- /* 2nd byte: 93 */ 0x52af,
- /* 2nd byte: 94 */ 0x52b0,
- /* 2nd byte: 95 */ 0x52b6,
- /* 2nd byte: 96 */ 0x52b7,
- /* 2nd byte: 97 */ 0x52b8,
- /* 2nd byte: 98 */ 0x52ba,
- /* 2nd byte: 99 */ 0x52bb,
- /* 2nd byte: 100 */ 0x52bd,
- /* 2nd byte: 101 */ 0x52c0,
- /* 2nd byte: 102 */ 0x52c4,
- /* 2nd byte: 103 */ 0x52c6,
- /* 2nd byte: 104 */ 0x52c8,
- /* 2nd byte: 105 */ 0x52cc,
- /* 2nd byte: 106 */ 0x52cf,
- /* 2nd byte: 107 */ 0x52d1,
- /* 2nd byte: 108 */ 0x52d4,
- /* 2nd byte: 109 */ 0x52d6,
- /* 2nd byte: 110 */ 0x52db,
- /* 2nd byte: 111 */ 0x52dc,
- /* 2nd byte: 112 */ 0x52e1,
- /* 2nd byte: 113 */ 0x52e5,
- /* 2nd byte: 114 */ 0x52e8,
- /* 2nd byte: 115 */ 0x52e9,
- /* 2nd byte: 116 */ 0x52ea,
- /* 2nd byte: 117 */ 0x52ec,
- /* 2nd byte: 118 */ 0x52f0,
- /* 2nd byte: 119 */ 0x52f1,
- /* 2nd byte: 120 */ 0x52f4,
- /* 2nd byte: 121 */ 0x52f6,
- /* 2nd byte: 122 */ 0x52f7,
- /* 2nd byte: 123 */ 0x5300,
- /* 2nd byte: 124 */ 0x5303,
- /* 2nd byte: 125 */ 0x530a,
- /* 2nd byte: 126 */ 0x530b},
-/* 1st byte: 52 */ {
- /* 2nd byte: 33 */ 0x530c,
- /* 2nd byte: 34 */ 0x5311,
- /* 2nd byte: 35 */ 0x5313,
- /* 2nd byte: 36 */ 0x5318,
- /* 2nd byte: 37 */ 0x531b,
- /* 2nd byte: 38 */ 0x531c,
- /* 2nd byte: 39 */ 0x531e,
- /* 2nd byte: 40 */ 0x531f,
- /* 2nd byte: 41 */ 0x5325,
- /* 2nd byte: 42 */ 0x5327,
- /* 2nd byte: 43 */ 0x5328,
- /* 2nd byte: 44 */ 0x5329,
- /* 2nd byte: 45 */ 0x532b,
- /* 2nd byte: 46 */ 0x532c,
- /* 2nd byte: 47 */ 0x532d,
- /* 2nd byte: 48 */ 0x5330,
- /* 2nd byte: 49 */ 0x5332,
- /* 2nd byte: 50 */ 0x5335,
- /* 2nd byte: 51 */ 0x533c,
- /* 2nd byte: 52 */ 0x533d,
- /* 2nd byte: 53 */ 0x533e,
- /* 2nd byte: 54 */ 0x5342,
- /* 2nd byte: 55 */ 0x534c,
- /* 2nd byte: 56 */ 0x534b,
- /* 2nd byte: 57 */ 0x5359,
- /* 2nd byte: 58 */ 0x535b,
- /* 2nd byte: 59 */ 0x5361,
- /* 2nd byte: 60 */ 0x5363,
- /* 2nd byte: 61 */ 0x5365,
- /* 2nd byte: 62 */ 0x536c,
- /* 2nd byte: 63 */ 0x536d,
- /* 2nd byte: 64 */ 0x5372,
- /* 2nd byte: 65 */ 0x5379,
- /* 2nd byte: 66 */ 0x537e,
- /* 2nd byte: 67 */ 0x5383,
- /* 2nd byte: 68 */ 0x5387,
- /* 2nd byte: 69 */ 0x5388,
- /* 2nd byte: 70 */ 0x538e,
- /* 2nd byte: 71 */ 0x5393,
- /* 2nd byte: 72 */ 0x5394,
- /* 2nd byte: 73 */ 0x5399,
- /* 2nd byte: 74 */ 0x539d,
- /* 2nd byte: 75 */ 0x53a1,
- /* 2nd byte: 76 */ 0x53a4,
- /* 2nd byte: 77 */ 0x53aa,
- /* 2nd byte: 78 */ 0x53ab,
- /* 2nd byte: 79 */ 0x53af,
- /* 2nd byte: 80 */ 0x53b2,
- /* 2nd byte: 81 */ 0x53b4,
- /* 2nd byte: 82 */ 0x53b5,
- /* 2nd byte: 83 */ 0x53b7,
- /* 2nd byte: 84 */ 0x53b8,
- /* 2nd byte: 85 */ 0x53ba,
- /* 2nd byte: 86 */ 0x53bd,
- /* 2nd byte: 87 */ 0x53c0,
- /* 2nd byte: 88 */ 0x53c5,
- /* 2nd byte: 89 */ 0x53cf,
- /* 2nd byte: 90 */ 0x53d2,
- /* 2nd byte: 91 */ 0x53d3,
- /* 2nd byte: 92 */ 0x53d5,
- /* 2nd byte: 93 */ 0x53da,
- /* 2nd byte: 94 */ 0x53dd,
- /* 2nd byte: 95 */ 0x53de,
- /* 2nd byte: 96 */ 0x53e0,
- /* 2nd byte: 97 */ 0x53e6,
- /* 2nd byte: 98 */ 0x53e7,
- /* 2nd byte: 99 */ 0x53f5,
- /* 2nd byte: 100 */ 0x5402,
- /* 2nd byte: 101 */ 0x5413,
- /* 2nd byte: 102 */ 0x541a,
- /* 2nd byte: 103 */ 0x5421,
- /* 2nd byte: 104 */ 0x5427,
- /* 2nd byte: 105 */ 0x5428,
- /* 2nd byte: 106 */ 0x542a,
- /* 2nd byte: 107 */ 0x542f,
- /* 2nd byte: 108 */ 0x5431,
- /* 2nd byte: 109 */ 0x5434,
- /* 2nd byte: 110 */ 0x5435,
- /* 2nd byte: 111 */ 0x5443,
- /* 2nd byte: 112 */ 0x5444,
- /* 2nd byte: 113 */ 0x5447,
- /* 2nd byte: 114 */ 0x544d,
- /* 2nd byte: 115 */ 0x544f,
- /* 2nd byte: 116 */ 0x545e,
- /* 2nd byte: 117 */ 0x5462,
- /* 2nd byte: 118 */ 0x5464,
- /* 2nd byte: 119 */ 0x5466,
- /* 2nd byte: 120 */ 0x5467,
- /* 2nd byte: 121 */ 0x5469,
- /* 2nd byte: 122 */ 0x546b,
- /* 2nd byte: 123 */ 0x546d,
- /* 2nd byte: 124 */ 0x546e,
- /* 2nd byte: 125 */ 0x5474,
- /* 2nd byte: 126 */ 0x547f},
-/* 1st byte: 53 */ {
- /* 2nd byte: 33 */ 0x5481,
- /* 2nd byte: 34 */ 0x5483,
- /* 2nd byte: 35 */ 0x5485,
- /* 2nd byte: 36 */ 0x5488,
- /* 2nd byte: 37 */ 0x5489,
- /* 2nd byte: 38 */ 0x548d,
- /* 2nd byte: 39 */ 0x5491,
- /* 2nd byte: 40 */ 0x5495,
- /* 2nd byte: 41 */ 0x5496,
- /* 2nd byte: 42 */ 0x549c,
- /* 2nd byte: 43 */ 0x549f,
- /* 2nd byte: 44 */ 0x54a1,
- /* 2nd byte: 45 */ 0x54a6,
- /* 2nd byte: 46 */ 0x54a7,
- /* 2nd byte: 47 */ 0x54a9,
- /* 2nd byte: 48 */ 0x54aa,
- /* 2nd byte: 49 */ 0x54ad,
- /* 2nd byte: 50 */ 0x54ae,
- /* 2nd byte: 51 */ 0x54b1,
- /* 2nd byte: 52 */ 0x54b7,
- /* 2nd byte: 53 */ 0x54b9,
- /* 2nd byte: 54 */ 0x54ba,
- /* 2nd byte: 55 */ 0x54bb,
- /* 2nd byte: 56 */ 0x54bf,
- /* 2nd byte: 57 */ 0x54c6,
- /* 2nd byte: 58 */ 0x54ca,
- /* 2nd byte: 59 */ 0x54cd,
- /* 2nd byte: 60 */ 0x54ce,
- /* 2nd byte: 61 */ 0x54e0,
- /* 2nd byte: 62 */ 0x54ea,
- /* 2nd byte: 63 */ 0x54ec,
- /* 2nd byte: 64 */ 0x54ef,
- /* 2nd byte: 65 */ 0x54f6,
- /* 2nd byte: 66 */ 0x54fc,
- /* 2nd byte: 67 */ 0x54fe,
- /* 2nd byte: 68 */ 0x54ff,
- /* 2nd byte: 69 */ 0x5500,
- /* 2nd byte: 70 */ 0x5501,
- /* 2nd byte: 71 */ 0x5505,
- /* 2nd byte: 72 */ 0x5508,
- /* 2nd byte: 73 */ 0x5509,
- /* 2nd byte: 74 */ 0x550c,
- /* 2nd byte: 75 */ 0x550d,
- /* 2nd byte: 76 */ 0x550e,
- /* 2nd byte: 77 */ 0x5515,
- /* 2nd byte: 78 */ 0x552a,
- /* 2nd byte: 79 */ 0x552b,
- /* 2nd byte: 80 */ 0x5532,
- /* 2nd byte: 81 */ 0x5535,
- /* 2nd byte: 82 */ 0x5536,
- /* 2nd byte: 83 */ 0x553b,
- /* 2nd byte: 84 */ 0x553c,
- /* 2nd byte: 85 */ 0x553d,
- /* 2nd byte: 86 */ 0x5541,
- /* 2nd byte: 87 */ 0x5547,
- /* 2nd byte: 88 */ 0x5549,
- /* 2nd byte: 89 */ 0x554a,
- /* 2nd byte: 90 */ 0x554d,
- /* 2nd byte: 91 */ 0x5550,
- /* 2nd byte: 92 */ 0x5551,
- /* 2nd byte: 93 */ 0x5558,
- /* 2nd byte: 94 */ 0x555a,
- /* 2nd byte: 95 */ 0x555b,
- /* 2nd byte: 96 */ 0x555e,
- /* 2nd byte: 97 */ 0x5560,
- /* 2nd byte: 98 */ 0x5561,
- /* 2nd byte: 99 */ 0x5564,
- /* 2nd byte: 100 */ 0x5566,
- /* 2nd byte: 101 */ 0x557f,
- /* 2nd byte: 102 */ 0x5581,
- /* 2nd byte: 103 */ 0x5582,
- /* 2nd byte: 104 */ 0x5586,
- /* 2nd byte: 105 */ 0x5588,
- /* 2nd byte: 106 */ 0x558e,
- /* 2nd byte: 107 */ 0x558f,
- /* 2nd byte: 108 */ 0x5591,
- /* 2nd byte: 109 */ 0x5592,
- /* 2nd byte: 110 */ 0x5593,
- /* 2nd byte: 111 */ 0x5594,
- /* 2nd byte: 112 */ 0x5597,
- /* 2nd byte: 113 */ 0x55a3,
- /* 2nd byte: 114 */ 0x55a4,
- /* 2nd byte: 115 */ 0x55ad,
- /* 2nd byte: 116 */ 0x55b2,
- /* 2nd byte: 117 */ 0x55bf,
- /* 2nd byte: 118 */ 0x55c1,
- /* 2nd byte: 119 */ 0x55c3,
- /* 2nd byte: 120 */ 0x55c6,
- /* 2nd byte: 121 */ 0x55c9,
- /* 2nd byte: 122 */ 0x55cb,
- /* 2nd byte: 123 */ 0x55cc,
- /* 2nd byte: 124 */ 0x55ce,
- /* 2nd byte: 125 */ 0x55d1,
- /* 2nd byte: 126 */ 0x55d2},
-/* 1st byte: 54 */ {
- /* 2nd byte: 33 */ 0x55d3,
- /* 2nd byte: 34 */ 0x55d7,
- /* 2nd byte: 35 */ 0x55d8,
- /* 2nd byte: 36 */ 0x55db,
- /* 2nd byte: 37 */ 0x55de,
- /* 2nd byte: 38 */ 0x55e2,
- /* 2nd byte: 39 */ 0x55e9,
- /* 2nd byte: 40 */ 0x55f6,
- /* 2nd byte: 41 */ 0x55ff,
- /* 2nd byte: 42 */ 0x5605,
- /* 2nd byte: 43 */ 0x5608,
- /* 2nd byte: 44 */ 0x560a,
- /* 2nd byte: 45 */ 0x560d,
- /* 2nd byte: 46 */ 0x560e,
- /* 2nd byte: 47 */ 0x560f,
- /* 2nd byte: 48 */ 0x5610,
- /* 2nd byte: 49 */ 0x5611,
- /* 2nd byte: 50 */ 0x5612,
- /* 2nd byte: 51 */ 0x5619,
- /* 2nd byte: 52 */ 0x562c,
- /* 2nd byte: 53 */ 0x5630,
- /* 2nd byte: 54 */ 0x5633,
- /* 2nd byte: 55 */ 0x5635,
- /* 2nd byte: 56 */ 0x5637,
- /* 2nd byte: 57 */ 0x5639,
- /* 2nd byte: 58 */ 0x563b,
- /* 2nd byte: 59 */ 0x563c,
- /* 2nd byte: 60 */ 0x563d,
- /* 2nd byte: 61 */ 0x563f,
- /* 2nd byte: 62 */ 0x5640,
- /* 2nd byte: 63 */ 0x5641,
- /* 2nd byte: 64 */ 0x5643,
- /* 2nd byte: 65 */ 0x5644,
- /* 2nd byte: 66 */ 0x5646,
- /* 2nd byte: 67 */ 0x5649,
- /* 2nd byte: 68 */ 0x564b,
- /* 2nd byte: 69 */ 0x564d,
- /* 2nd byte: 70 */ 0x564f,
- /* 2nd byte: 71 */ 0x5654,
- /* 2nd byte: 72 */ 0x565e,
- /* 2nd byte: 73 */ 0x5660,
- /* 2nd byte: 74 */ 0x5661,
- /* 2nd byte: 75 */ 0x5662,
- /* 2nd byte: 76 */ 0x5663,
- /* 2nd byte: 77 */ 0x5666,
- /* 2nd byte: 78 */ 0x5669,
- /* 2nd byte: 79 */ 0x566d,
- /* 2nd byte: 80 */ 0x566f,
- /* 2nd byte: 81 */ 0x5671,
- /* 2nd byte: 82 */ 0x5672,
- /* 2nd byte: 83 */ 0x5675,
- /* 2nd byte: 84 */ 0x5684,
- /* 2nd byte: 85 */ 0x5685,
- /* 2nd byte: 86 */ 0x5688,
- /* 2nd byte: 87 */ 0x568b,
- /* 2nd byte: 88 */ 0x568c,
- /* 2nd byte: 89 */ 0x5695,
- /* 2nd byte: 90 */ 0x5699,
- /* 2nd byte: 91 */ 0x569a,
- /* 2nd byte: 92 */ 0x569d,
- /* 2nd byte: 93 */ 0x569e,
- /* 2nd byte: 94 */ 0x569f,
- /* 2nd byte: 95 */ 0x56a6,
- /* 2nd byte: 96 */ 0x56a7,
- /* 2nd byte: 97 */ 0x56a8,
- /* 2nd byte: 98 */ 0x56a9,
- /* 2nd byte: 99 */ 0x56ab,
- /* 2nd byte: 100 */ 0x56ac,
- /* 2nd byte: 101 */ 0x56ad,
- /* 2nd byte: 102 */ 0x56b1,
- /* 2nd byte: 103 */ 0x56b3,
- /* 2nd byte: 104 */ 0x56b7,
- /* 2nd byte: 105 */ 0x56be,
- /* 2nd byte: 106 */ 0x56c5,
- /* 2nd byte: 107 */ 0x56c9,
- /* 2nd byte: 108 */ 0x56ca,
- /* 2nd byte: 109 */ 0x56cb,
- /* 2nd byte: 110 */ 0x56cf,
- /* 2nd byte: 111 */ 0x56d0,
- /* 2nd byte: 112 */ 0x56cc,
- /* 2nd byte: 113 */ 0x56cd,
- /* 2nd byte: 114 */ 0x56d9,
- /* 2nd byte: 115 */ 0x56dc,
- /* 2nd byte: 116 */ 0x56dd,
- /* 2nd byte: 117 */ 0x56df,
- /* 2nd byte: 118 */ 0x56e1,
- /* 2nd byte: 119 */ 0x56e4,
- /* 2nd byte: 120 */ 0x56e5,
- /* 2nd byte: 121 */ 0x56e6,
- /* 2nd byte: 122 */ 0x56e7,
- /* 2nd byte: 123 */ 0x56e8,
- /* 2nd byte: 124 */ 0x56f1,
- /* 2nd byte: 125 */ 0x56eb,
- /* 2nd byte: 126 */ 0x56ed},
-/* 1st byte: 55 */ {
- /* 2nd byte: 33 */ 0x56f6,
- /* 2nd byte: 34 */ 0x56f7,
- /* 2nd byte: 35 */ 0x5701,
- /* 2nd byte: 36 */ 0x5702,
- /* 2nd byte: 37 */ 0x5707,
- /* 2nd byte: 38 */ 0x570a,
- /* 2nd byte: 39 */ 0x570c,
- /* 2nd byte: 40 */ 0x5711,
- /* 2nd byte: 41 */ 0x5715,
- /* 2nd byte: 42 */ 0x571a,
- /* 2nd byte: 43 */ 0x571b,
- /* 2nd byte: 44 */ 0x571d,
- /* 2nd byte: 45 */ 0x5720,
- /* 2nd byte: 46 */ 0x5722,
- /* 2nd byte: 47 */ 0x5723,
- /* 2nd byte: 48 */ 0x5724,
- /* 2nd byte: 49 */ 0x5725,
- /* 2nd byte: 50 */ 0x5729,
- /* 2nd byte: 51 */ 0x572a,
- /* 2nd byte: 52 */ 0x572c,
- /* 2nd byte: 53 */ 0x572e,
- /* 2nd byte: 54 */ 0x572f,
- /* 2nd byte: 55 */ 0x5733,
- /* 2nd byte: 56 */ 0x5734,
- /* 2nd byte: 57 */ 0x573d,
- /* 2nd byte: 58 */ 0x573e,
- /* 2nd byte: 59 */ 0x573f,
- /* 2nd byte: 60 */ 0x5745,
- /* 2nd byte: 61 */ 0x5746,
- /* 2nd byte: 62 */ 0x574c,
- /* 2nd byte: 63 */ 0x574d,
- /* 2nd byte: 64 */ 0x5752,
- /* 2nd byte: 65 */ 0x5762,
- /* 2nd byte: 66 */ 0x5765,
- /* 2nd byte: 67 */ 0x5767,
- /* 2nd byte: 68 */ 0x5768,
- /* 2nd byte: 69 */ 0x576b,
- /* 2nd byte: 70 */ 0x576d,
- /* 2nd byte: 71 */ 0x576e,
- /* 2nd byte: 72 */ 0x576f,
- /* 2nd byte: 73 */ 0x5770,
- /* 2nd byte: 74 */ 0x5771,
- /* 2nd byte: 75 */ 0x5773,
- /* 2nd byte: 76 */ 0x5774,
- /* 2nd byte: 77 */ 0x5775,
- /* 2nd byte: 78 */ 0x5777,
- /* 2nd byte: 79 */ 0x5779,
- /* 2nd byte: 80 */ 0x577a,
- /* 2nd byte: 81 */ 0x577b,
- /* 2nd byte: 82 */ 0x577c,
- /* 2nd byte: 83 */ 0x577e,
- /* 2nd byte: 84 */ 0x5781,
- /* 2nd byte: 85 */ 0x5783,
- /* 2nd byte: 86 */ 0x578c,
- /* 2nd byte: 87 */ 0x5794,
- /* 2nd byte: 88 */ 0x5797,
- /* 2nd byte: 89 */ 0x5799,
- /* 2nd byte: 90 */ 0x579a,
- /* 2nd byte: 91 */ 0x579c,
- /* 2nd byte: 92 */ 0x579d,
- /* 2nd byte: 93 */ 0x579e,
- /* 2nd byte: 94 */ 0x579f,
- /* 2nd byte: 95 */ 0x57a1,
- /* 2nd byte: 96 */ 0x5795,
- /* 2nd byte: 97 */ 0x57a7,
- /* 2nd byte: 98 */ 0x57a8,
- /* 2nd byte: 99 */ 0x57a9,
- /* 2nd byte: 100 */ 0x57ac,
- /* 2nd byte: 101 */ 0x57b8,
- /* 2nd byte: 102 */ 0x57bd,
- /* 2nd byte: 103 */ 0x57c7,
- /* 2nd byte: 104 */ 0x57c8,
- /* 2nd byte: 105 */ 0x57cc,
- /* 2nd byte: 106 */ 0x57cf,
- /* 2nd byte: 107 */ 0x57d5,
- /* 2nd byte: 108 */ 0x57dd,
- /* 2nd byte: 109 */ 0x57de,
- /* 2nd byte: 110 */ 0x57e4,
- /* 2nd byte: 111 */ 0x57e6,
- /* 2nd byte: 112 */ 0x57e7,
- /* 2nd byte: 113 */ 0x57e9,
- /* 2nd byte: 114 */ 0x57ed,
- /* 2nd byte: 115 */ 0x57f0,
- /* 2nd byte: 116 */ 0x57f5,
- /* 2nd byte: 117 */ 0x57f6,
- /* 2nd byte: 118 */ 0x57f8,
- /* 2nd byte: 119 */ 0x57fd,
- /* 2nd byte: 120 */ 0x57fe,
- /* 2nd byte: 121 */ 0x57ff,
- /* 2nd byte: 122 */ 0x5803,
- /* 2nd byte: 123 */ 0x5804,
- /* 2nd byte: 124 */ 0x5808,
- /* 2nd byte: 125 */ 0x5809,
- /* 2nd byte: 126 */ 0x57e1},
-/* 1st byte: 56 */ {
- /* 2nd byte: 33 */ 0x580c,
- /* 2nd byte: 34 */ 0x580d,
- /* 2nd byte: 35 */ 0x581b,
- /* 2nd byte: 36 */ 0x581e,
- /* 2nd byte: 37 */ 0x581f,
- /* 2nd byte: 38 */ 0x5820,
- /* 2nd byte: 39 */ 0x5826,
- /* 2nd byte: 40 */ 0x5827,
- /* 2nd byte: 41 */ 0x582d,
- /* 2nd byte: 42 */ 0x5832,
- /* 2nd byte: 43 */ 0x5839,
- /* 2nd byte: 44 */ 0x583f,
- /* 2nd byte: 45 */ 0x5849,
- /* 2nd byte: 46 */ 0x584c,
- /* 2nd byte: 47 */ 0x584d,
- /* 2nd byte: 48 */ 0x584f,
- /* 2nd byte: 49 */ 0x5850,
- /* 2nd byte: 50 */ 0x5855,
- /* 2nd byte: 51 */ 0x585f,
- /* 2nd byte: 52 */ 0x5861,
- /* 2nd byte: 53 */ 0x5864,
- /* 2nd byte: 54 */ 0x5867,
- /* 2nd byte: 55 */ 0x5868,
- /* 2nd byte: 56 */ 0x5878,
- /* 2nd byte: 57 */ 0x587c,
- /* 2nd byte: 58 */ 0x587f,
- /* 2nd byte: 59 */ 0x5880,
- /* 2nd byte: 60 */ 0x5881,
- /* 2nd byte: 61 */ 0x5887,
- /* 2nd byte: 62 */ 0x5888,
- /* 2nd byte: 63 */ 0x5889,
- /* 2nd byte: 64 */ 0x588a,
- /* 2nd byte: 65 */ 0x588c,
- /* 2nd byte: 66 */ 0x588d,
- /* 2nd byte: 67 */ 0x588f,
- /* 2nd byte: 68 */ 0x5890,
- /* 2nd byte: 69 */ 0x5894,
- /* 2nd byte: 70 */ 0x5896,
- /* 2nd byte: 71 */ 0x589d,
- /* 2nd byte: 72 */ 0x58a0,
- /* 2nd byte: 73 */ 0x58a1,
- /* 2nd byte: 74 */ 0x58a2,
- /* 2nd byte: 75 */ 0x58a6,
- /* 2nd byte: 76 */ 0x58a9,
- /* 2nd byte: 77 */ 0x58b1,
- /* 2nd byte: 78 */ 0x58b2,
- /* 2nd byte: 79 */ 0x58c4,
- /* 2nd byte: 80 */ 0x58bc,
- /* 2nd byte: 81 */ 0x58c2,
- /* 2nd byte: 82 */ 0x58c8,
- /* 2nd byte: 83 */ 0x58cd,
- /* 2nd byte: 84 */ 0x58ce,
- /* 2nd byte: 85 */ 0x58d0,
- /* 2nd byte: 86 */ 0x58d2,
- /* 2nd byte: 87 */ 0x58d4,
- /* 2nd byte: 88 */ 0x58d6,
- /* 2nd byte: 89 */ 0x58da,
- /* 2nd byte: 90 */ 0x58dd,
- /* 2nd byte: 91 */ 0x58e1,
- /* 2nd byte: 92 */ 0x58e2,
- /* 2nd byte: 93 */ 0x58e9,
- /* 2nd byte: 94 */ 0x58f3,
- /* 2nd byte: 95 */ 0x5905,
- /* 2nd byte: 96 */ 0x5906,
- /* 2nd byte: 97 */ 0x590b,
- /* 2nd byte: 98 */ 0x590c,
- /* 2nd byte: 99 */ 0x5912,
- /* 2nd byte: 100 */ 0x5913,
- /* 2nd byte: 101 */ 0x5914,
- /* 2nd byte: 102 */ 0x8641,
- /* 2nd byte: 103 */ 0x591d,
- /* 2nd byte: 104 */ 0x5921,
- /* 2nd byte: 105 */ 0x5923,
- /* 2nd byte: 106 */ 0x5924,
- /* 2nd byte: 107 */ 0x5928,
- /* 2nd byte: 108 */ 0x592f,
- /* 2nd byte: 109 */ 0x5930,
- /* 2nd byte: 110 */ 0x5933,
- /* 2nd byte: 111 */ 0x5935,
- /* 2nd byte: 112 */ 0x5936,
- /* 2nd byte: 113 */ 0x593f,
- /* 2nd byte: 114 */ 0x5943,
- /* 2nd byte: 115 */ 0x5946,
- /* 2nd byte: 116 */ 0x5952,
- /* 2nd byte: 117 */ 0x5953,
- /* 2nd byte: 118 */ 0x5959,
- /* 2nd byte: 119 */ 0x595b,
- /* 2nd byte: 120 */ 0x595d,
- /* 2nd byte: 121 */ 0x595e,
- /* 2nd byte: 122 */ 0x595f,
- /* 2nd byte: 123 */ 0x5961,
- /* 2nd byte: 124 */ 0x5963,
- /* 2nd byte: 125 */ 0x596b,
- /* 2nd byte: 126 */ 0x596d},
-/* 1st byte: 57 */ {
- /* 2nd byte: 33 */ 0x596f,
- /* 2nd byte: 34 */ 0x5972,
- /* 2nd byte: 35 */ 0x5975,
- /* 2nd byte: 36 */ 0x5976,
- /* 2nd byte: 37 */ 0x5979,
- /* 2nd byte: 38 */ 0x597b,
- /* 2nd byte: 39 */ 0x597c,
- /* 2nd byte: 40 */ 0x598b,
- /* 2nd byte: 41 */ 0x598c,
- /* 2nd byte: 42 */ 0x598e,
- /* 2nd byte: 43 */ 0x5992,
- /* 2nd byte: 44 */ 0x5995,
- /* 2nd byte: 45 */ 0x5997,
- /* 2nd byte: 46 */ 0x599f,
- /* 2nd byte: 47 */ 0x59a4,
- /* 2nd byte: 48 */ 0x59a7,
- /* 2nd byte: 49 */ 0x59ad,
- /* 2nd byte: 50 */ 0x59ae,
- /* 2nd byte: 51 */ 0x59af,
- /* 2nd byte: 52 */ 0x59b0,
- /* 2nd byte: 53 */ 0x59b3,
- /* 2nd byte: 54 */ 0x59b7,
- /* 2nd byte: 55 */ 0x59ba,
- /* 2nd byte: 56 */ 0x59bc,
- /* 2nd byte: 57 */ 0x59c1,
- /* 2nd byte: 58 */ 0x59c3,
- /* 2nd byte: 59 */ 0x59c4,
- /* 2nd byte: 60 */ 0x59c8,
- /* 2nd byte: 61 */ 0x59ca,
- /* 2nd byte: 62 */ 0x59cd,
- /* 2nd byte: 63 */ 0x59d2,
- /* 2nd byte: 64 */ 0x59dd,
- /* 2nd byte: 65 */ 0x59de,
- /* 2nd byte: 66 */ 0x59df,
- /* 2nd byte: 67 */ 0x59e3,
- /* 2nd byte: 68 */ 0x59e4,
- /* 2nd byte: 69 */ 0x59e7,
- /* 2nd byte: 70 */ 0x59ee,
- /* 2nd byte: 71 */ 0x59ef,
- /* 2nd byte: 72 */ 0x59f1,
- /* 2nd byte: 73 */ 0x59f2,
- /* 2nd byte: 74 */ 0x59f4,
- /* 2nd byte: 75 */ 0x59f7,
- /* 2nd byte: 76 */ 0x5a00,
- /* 2nd byte: 77 */ 0x5a04,
- /* 2nd byte: 78 */ 0x5a0c,
- /* 2nd byte: 79 */ 0x5a0d,
- /* 2nd byte: 80 */ 0x5a0e,
- /* 2nd byte: 81 */ 0x5a12,
- /* 2nd byte: 82 */ 0x5a13,
- /* 2nd byte: 83 */ 0x5a1e,
- /* 2nd byte: 84 */ 0x5a23,
- /* 2nd byte: 85 */ 0x5a24,
- /* 2nd byte: 86 */ 0x5a27,
- /* 2nd byte: 87 */ 0x5a28,
- /* 2nd byte: 88 */ 0x5a2a,
- /* 2nd byte: 89 */ 0x5a2d,
- /* 2nd byte: 90 */ 0x5a30,
- /* 2nd byte: 91 */ 0x5a44,
- /* 2nd byte: 92 */ 0x5a45,
- /* 2nd byte: 93 */ 0x5a47,
- /* 2nd byte: 94 */ 0x5a48,
- /* 2nd byte: 95 */ 0x5a4c,
- /* 2nd byte: 96 */ 0x5a50,
- /* 2nd byte: 97 */ 0x5a55,
- /* 2nd byte: 98 */ 0x5a5e,
- /* 2nd byte: 99 */ 0x5a63,
- /* 2nd byte: 100 */ 0x5a65,
- /* 2nd byte: 101 */ 0x5a67,
- /* 2nd byte: 102 */ 0x5a6d,
- /* 2nd byte: 103 */ 0x5a77,
- /* 2nd byte: 104 */ 0x5a7a,
- /* 2nd byte: 105 */ 0x5a7b,
- /* 2nd byte: 106 */ 0x5a7e,
- /* 2nd byte: 107 */ 0x5a8b,
- /* 2nd byte: 108 */ 0x5a90,
- /* 2nd byte: 109 */ 0x5a93,
- /* 2nd byte: 110 */ 0x5a96,
- /* 2nd byte: 111 */ 0x5a99,
- /* 2nd byte: 112 */ 0x5a9c,
- /* 2nd byte: 113 */ 0x5a9e,
- /* 2nd byte: 114 */ 0x5a9f,
- /* 2nd byte: 115 */ 0x5aa0,
- /* 2nd byte: 116 */ 0x5aa2,
- /* 2nd byte: 117 */ 0x5aa7,
- /* 2nd byte: 118 */ 0x5aac,
- /* 2nd byte: 119 */ 0x5ab1,
- /* 2nd byte: 120 */ 0x5ab2,
- /* 2nd byte: 121 */ 0x5ab3,
- /* 2nd byte: 122 */ 0x5ab5,
- /* 2nd byte: 123 */ 0x5ab8,
- /* 2nd byte: 124 */ 0x5aba,
- /* 2nd byte: 125 */ 0x5abb,
- /* 2nd byte: 126 */ 0x5abf},
-/* 1st byte: 58 */ {
- /* 2nd byte: 33 */ 0x5ac4,
- /* 2nd byte: 34 */ 0x5ac6,
- /* 2nd byte: 35 */ 0x5ac8,
- /* 2nd byte: 36 */ 0x5acf,
- /* 2nd byte: 37 */ 0x5ada,
- /* 2nd byte: 38 */ 0x5adc,
- /* 2nd byte: 39 */ 0x5ae0,
- /* 2nd byte: 40 */ 0x5ae5,
- /* 2nd byte: 41 */ 0x5aea,
- /* 2nd byte: 42 */ 0x5aee,
- /* 2nd byte: 43 */ 0x5af5,
- /* 2nd byte: 44 */ 0x5af6,
- /* 2nd byte: 45 */ 0x5afd,
- /* 2nd byte: 46 */ 0x5b00,
- /* 2nd byte: 47 */ 0x5b01,
- /* 2nd byte: 48 */ 0x5b08,
- /* 2nd byte: 49 */ 0x5b17,
- /* 2nd byte: 50 */ 0x5b34,
- /* 2nd byte: 51 */ 0x5b19,
- /* 2nd byte: 52 */ 0x5b1b,
- /* 2nd byte: 53 */ 0x5b1d,
- /* 2nd byte: 54 */ 0x5b21,
- /* 2nd byte: 55 */ 0x5b25,
- /* 2nd byte: 56 */ 0x5b2d,
- /* 2nd byte: 57 */ 0x5b38,
- /* 2nd byte: 58 */ 0x5b41,
- /* 2nd byte: 59 */ 0x5b4b,
- /* 2nd byte: 60 */ 0x5b4c,
- /* 2nd byte: 61 */ 0x5b52,
- /* 2nd byte: 62 */ 0x5b56,
- /* 2nd byte: 63 */ 0x5b5e,
- /* 2nd byte: 64 */ 0x5b68,
- /* 2nd byte: 65 */ 0x5b6e,
- /* 2nd byte: 66 */ 0x5b6f,
- /* 2nd byte: 67 */ 0x5b7c,
- /* 2nd byte: 68 */ 0x5b7d,
- /* 2nd byte: 69 */ 0x5b7e,
- /* 2nd byte: 70 */ 0x5b7f,
- /* 2nd byte: 71 */ 0x5b81,
- /* 2nd byte: 72 */ 0x5b84,
- /* 2nd byte: 73 */ 0x5b86,
- /* 2nd byte: 74 */ 0x5b8a,
- /* 2nd byte: 75 */ 0x5b8e,
- /* 2nd byte: 76 */ 0x5b90,
- /* 2nd byte: 77 */ 0x5b91,
- /* 2nd byte: 78 */ 0x5b93,
- /* 2nd byte: 79 */ 0x5b94,
- /* 2nd byte: 80 */ 0x5b96,
- /* 2nd byte: 81 */ 0x5ba8,
- /* 2nd byte: 82 */ 0x5ba9,
- /* 2nd byte: 83 */ 0x5bac,
- /* 2nd byte: 84 */ 0x5bad,
- /* 2nd byte: 85 */ 0x5baf,
- /* 2nd byte: 86 */ 0x5bb1,
- /* 2nd byte: 87 */ 0x5bb2,
- /* 2nd byte: 88 */ 0x5bb7,
- /* 2nd byte: 89 */ 0x5bba,
- /* 2nd byte: 90 */ 0x5bbc,
- /* 2nd byte: 91 */ 0x5bc0,
- /* 2nd byte: 92 */ 0x5bc1,
- /* 2nd byte: 93 */ 0x5bcd,
- /* 2nd byte: 94 */ 0x5bcf,
- /* 2nd byte: 95 */ 0x5bd6,
- /* 2nd byte: 96 */ 0x5bd7,
- /* 2nd byte: 97 */ 0x5bd8,
- /* 2nd byte: 98 */ 0x5bd9,
- /* 2nd byte: 99 */ 0x5bda,
- /* 2nd byte: 100 */ 0x5be0,
- /* 2nd byte: 101 */ 0x5bef,
- /* 2nd byte: 102 */ 0x5bf1,
- /* 2nd byte: 103 */ 0x5bf4,
- /* 2nd byte: 104 */ 0x5bfd,
- /* 2nd byte: 105 */ 0x5c0c,
- /* 2nd byte: 106 */ 0x5c17,
- /* 2nd byte: 107 */ 0x5c1e,
- /* 2nd byte: 108 */ 0x5c1f,
- /* 2nd byte: 109 */ 0x5c23,
- /* 2nd byte: 110 */ 0x5c26,
- /* 2nd byte: 111 */ 0x5c29,
- /* 2nd byte: 112 */ 0x5c2b,
- /* 2nd byte: 113 */ 0x5c2c,
- /* 2nd byte: 114 */ 0x5c2e,
- /* 2nd byte: 115 */ 0x5c30,
- /* 2nd byte: 116 */ 0x5c32,
- /* 2nd byte: 117 */ 0x5c35,
- /* 2nd byte: 118 */ 0x5c36,
- /* 2nd byte: 119 */ 0x5c59,
- /* 2nd byte: 120 */ 0x5c5a,
- /* 2nd byte: 121 */ 0x5c5c,
- /* 2nd byte: 122 */ 0x5c62,
- /* 2nd byte: 123 */ 0x5c63,
- /* 2nd byte: 124 */ 0x5c67,
- /* 2nd byte: 125 */ 0x5c68,
- /* 2nd byte: 126 */ 0x5c69},
-/* 1st byte: 59 */ {
- /* 2nd byte: 33 */ 0x5c6d,
- /* 2nd byte: 34 */ 0x5c70,
- /* 2nd byte: 35 */ 0x5c74,
- /* 2nd byte: 36 */ 0x5c75,
- /* 2nd byte: 37 */ 0x5c7a,
- /* 2nd byte: 38 */ 0x5c7b,
- /* 2nd byte: 39 */ 0x5c7c,
- /* 2nd byte: 40 */ 0x5c7d,
- /* 2nd byte: 41 */ 0x5c87,
- /* 2nd byte: 42 */ 0x5c88,
- /* 2nd byte: 43 */ 0x5c8a,
- /* 2nd byte: 44 */ 0x5c8f,
- /* 2nd byte: 45 */ 0x5c92,
- /* 2nd byte: 46 */ 0x5c9d,
- /* 2nd byte: 47 */ 0x5c9f,
- /* 2nd byte: 48 */ 0x5ca0,
- /* 2nd byte: 49 */ 0x5ca2,
- /* 2nd byte: 50 */ 0x5ca3,
- /* 2nd byte: 51 */ 0x5ca6,
- /* 2nd byte: 52 */ 0x5caa,
- /* 2nd byte: 53 */ 0x5cb2,
- /* 2nd byte: 54 */ 0x5cb4,
- /* 2nd byte: 55 */ 0x5cb5,
- /* 2nd byte: 56 */ 0x5cba,
- /* 2nd byte: 57 */ 0x5cc9,
- /* 2nd byte: 58 */ 0x5ccb,
- /* 2nd byte: 59 */ 0x5cd2,
- /* 2nd byte: 60 */ 0x5cdd,
- /* 2nd byte: 61 */ 0x5cd7,
- /* 2nd byte: 62 */ 0x5cee,
- /* 2nd byte: 63 */ 0x5cf1,
- /* 2nd byte: 64 */ 0x5cf2,
- /* 2nd byte: 65 */ 0x5cf4,
- /* 2nd byte: 66 */ 0x5d01,
- /* 2nd byte: 67 */ 0x5d06,
- /* 2nd byte: 68 */ 0x5d0d,
- /* 2nd byte: 69 */ 0x5d12,
- /* 2nd byte: 70 */ 0x5d2b,
- /* 2nd byte: 71 */ 0x5d23,
- /* 2nd byte: 72 */ 0x5d24,
- /* 2nd byte: 73 */ 0x5d26,
- /* 2nd byte: 74 */ 0x5d27,
- /* 2nd byte: 75 */ 0x5d31,
- /* 2nd byte: 76 */ 0x5d34,
- /* 2nd byte: 77 */ 0x5d39,
- /* 2nd byte: 78 */ 0x5d3d,
- /* 2nd byte: 79 */ 0x5d3f,
- /* 2nd byte: 80 */ 0x5d42,
- /* 2nd byte: 81 */ 0x5d43,
- /* 2nd byte: 82 */ 0x5d46,
- /* 2nd byte: 83 */ 0x5d48,
- /* 2nd byte: 84 */ 0x5d55,
- /* 2nd byte: 85 */ 0x5d51,
- /* 2nd byte: 86 */ 0x5d59,
- /* 2nd byte: 87 */ 0x5d4a,
- /* 2nd byte: 88 */ 0x5d5f,
- /* 2nd byte: 89 */ 0x5d60,
- /* 2nd byte: 90 */ 0x5d61,
- /* 2nd byte: 91 */ 0x5d62,
- /* 2nd byte: 92 */ 0x5d64,
- /* 2nd byte: 93 */ 0x5d6a,
- /* 2nd byte: 94 */ 0x5d6d,
- /* 2nd byte: 95 */ 0x5d70,
- /* 2nd byte: 96 */ 0x5d79,
- /* 2nd byte: 97 */ 0x5d7a,
- /* 2nd byte: 98 */ 0x5d7e,
- /* 2nd byte: 99 */ 0x5d7f,
- /* 2nd byte: 100 */ 0x5d81,
- /* 2nd byte: 101 */ 0x5d83,
- /* 2nd byte: 102 */ 0x5d88,
- /* 2nd byte: 103 */ 0x5d8a,
- /* 2nd byte: 104 */ 0x5d92,
- /* 2nd byte: 105 */ 0x5d93,
- /* 2nd byte: 106 */ 0x5d94,
- /* 2nd byte: 107 */ 0x5d95,
- /* 2nd byte: 108 */ 0x5d99,
- /* 2nd byte: 109 */ 0x5d9b,
- /* 2nd byte: 110 */ 0x5d9f,
- /* 2nd byte: 111 */ 0x5da0,
- /* 2nd byte: 112 */ 0x5da7,
- /* 2nd byte: 113 */ 0x5dab,
- /* 2nd byte: 114 */ 0x5db0,
- /* 2nd byte: 115 */ 0x5db4,
- /* 2nd byte: 116 */ 0x5db8,
- /* 2nd byte: 117 */ 0x5db9,
- /* 2nd byte: 118 */ 0x5dc3,
- /* 2nd byte: 119 */ 0x5dc7,
- /* 2nd byte: 120 */ 0x5dcb,
- /* 2nd byte: 121 */ 0x5dd0,
- /* 2nd byte: 122 */ 0x5dce,
- /* 2nd byte: 123 */ 0x5dd8,
- /* 2nd byte: 124 */ 0x5dd9,
- /* 2nd byte: 125 */ 0x5de0,
- /* 2nd byte: 126 */ 0x5de4},
-/* 1st byte: 60 */ {
- /* 2nd byte: 33 */ 0x5de9,
- /* 2nd byte: 34 */ 0x5df8,
- /* 2nd byte: 35 */ 0x5df9,
- /* 2nd byte: 36 */ 0x5e00,
- /* 2nd byte: 37 */ 0x5e07,
- /* 2nd byte: 38 */ 0x5e0d,
- /* 2nd byte: 39 */ 0x5e12,
- /* 2nd byte: 40 */ 0x5e14,
- /* 2nd byte: 41 */ 0x5e15,
- /* 2nd byte: 42 */ 0x5e18,
- /* 2nd byte: 43 */ 0x5e1f,
- /* 2nd byte: 44 */ 0x5e20,
- /* 2nd byte: 45 */ 0x5e2e,
- /* 2nd byte: 46 */ 0x5e28,
- /* 2nd byte: 47 */ 0x5e32,
- /* 2nd byte: 48 */ 0x5e35,
- /* 2nd byte: 49 */ 0x5e3e,
- /* 2nd byte: 50 */ 0x5e4b,
- /* 2nd byte: 51 */ 0x5e50,
- /* 2nd byte: 52 */ 0x5e49,
- /* 2nd byte: 53 */ 0x5e51,
- /* 2nd byte: 54 */ 0x5e56,
- /* 2nd byte: 55 */ 0x5e58,
- /* 2nd byte: 56 */ 0x5e5b,
- /* 2nd byte: 57 */ 0x5e5c,
- /* 2nd byte: 58 */ 0x5e5e,
- /* 2nd byte: 59 */ 0x5e68,
- /* 2nd byte: 60 */ 0x5e6a,
- /* 2nd byte: 61 */ 0x5e6b,
- /* 2nd byte: 62 */ 0x5e6c,
- /* 2nd byte: 63 */ 0x5e6d,
- /* 2nd byte: 64 */ 0x5e6e,
- /* 2nd byte: 65 */ 0x5e70,
- /* 2nd byte: 66 */ 0x5e80,
- /* 2nd byte: 67 */ 0x5e8b,
- /* 2nd byte: 68 */ 0x5e8e,
- /* 2nd byte: 69 */ 0x5ea2,
- /* 2nd byte: 70 */ 0x5ea4,
- /* 2nd byte: 71 */ 0x5ea5,
- /* 2nd byte: 72 */ 0x5ea8,
- /* 2nd byte: 73 */ 0x5eaa,
- /* 2nd byte: 74 */ 0x5eac,
- /* 2nd byte: 75 */ 0x5eb1,
- /* 2nd byte: 76 */ 0x5eb3,
- /* 2nd byte: 77 */ 0x5ebd,
- /* 2nd byte: 78 */ 0x5ebe,
- /* 2nd byte: 79 */ 0x5ebf,
- /* 2nd byte: 80 */ 0x5ec6,
- /* 2nd byte: 81 */ 0x5ecc,
- /* 2nd byte: 82 */ 0x5ecb,
- /* 2nd byte: 83 */ 0x5ece,
- /* 2nd byte: 84 */ 0x5ed1,
- /* 2nd byte: 85 */ 0x5ed2,
- /* 2nd byte: 86 */ 0x5ed4,
- /* 2nd byte: 87 */ 0x5ed5,
- /* 2nd byte: 88 */ 0x5edc,
- /* 2nd byte: 89 */ 0x5ede,
- /* 2nd byte: 90 */ 0x5ee5,
- /* 2nd byte: 91 */ 0x5eeb,
- /* 2nd byte: 92 */ 0x5f02,
- /* 2nd byte: 93 */ 0x5f06,
- /* 2nd byte: 94 */ 0x5f07,
- /* 2nd byte: 95 */ 0x5f08,
- /* 2nd byte: 96 */ 0x5f0e,
- /* 2nd byte: 97 */ 0x5f19,
- /* 2nd byte: 98 */ 0x5f1c,
- /* 2nd byte: 99 */ 0x5f1d,
- /* 2nd byte: 100 */ 0x5f21,
- /* 2nd byte: 101 */ 0x5f22,
- /* 2nd byte: 102 */ 0x5f23,
- /* 2nd byte: 103 */ 0x5f24,
- /* 2nd byte: 104 */ 0x5f28,
- /* 2nd byte: 105 */ 0x5f2b,
- /* 2nd byte: 106 */ 0x5f2c,
- /* 2nd byte: 107 */ 0x5f2e,
- /* 2nd byte: 108 */ 0x5f30,
- /* 2nd byte: 109 */ 0x5f34,
- /* 2nd byte: 110 */ 0x5f36,
- /* 2nd byte: 111 */ 0x5f3b,
- /* 2nd byte: 112 */ 0x5f3d,
- /* 2nd byte: 113 */ 0x5f3f,
- /* 2nd byte: 114 */ 0x5f40,
- /* 2nd byte: 115 */ 0x5f44,
- /* 2nd byte: 116 */ 0x5f45,
- /* 2nd byte: 117 */ 0x5f47,
- /* 2nd byte: 118 */ 0x5f4d,
- /* 2nd byte: 119 */ 0x5f50,
- /* 2nd byte: 120 */ 0x5f54,
- /* 2nd byte: 121 */ 0x5f58,
- /* 2nd byte: 122 */ 0x5f5b,
- /* 2nd byte: 123 */ 0x5f60,
- /* 2nd byte: 124 */ 0x5f63,
- /* 2nd byte: 125 */ 0x5f64,
- /* 2nd byte: 126 */ 0x5f67},
-/* 1st byte: 61 */ {
- /* 2nd byte: 33 */ 0x5f6f,
- /* 2nd byte: 34 */ 0x5f72,
- /* 2nd byte: 35 */ 0x5f74,
- /* 2nd byte: 36 */ 0x5f75,
- /* 2nd byte: 37 */ 0x5f78,
- /* 2nd byte: 38 */ 0x5f7a,
- /* 2nd byte: 39 */ 0x5f7d,
- /* 2nd byte: 40 */ 0x5f7e,
- /* 2nd byte: 41 */ 0x5f89,
- /* 2nd byte: 42 */ 0x5f8d,
- /* 2nd byte: 43 */ 0x5f8f,
- /* 2nd byte: 44 */ 0x5f96,
- /* 2nd byte: 45 */ 0x5f9c,
- /* 2nd byte: 46 */ 0x5f9d,
- /* 2nd byte: 47 */ 0x5fa2,
- /* 2nd byte: 48 */ 0x5fa7,
- /* 2nd byte: 49 */ 0x5fab,
- /* 2nd byte: 50 */ 0x5fa4,
- /* 2nd byte: 51 */ 0x5fac,
- /* 2nd byte: 52 */ 0x5faf,
- /* 2nd byte: 53 */ 0x5fb0,
- /* 2nd byte: 54 */ 0x5fb1,
- /* 2nd byte: 55 */ 0x5fb8,
- /* 2nd byte: 56 */ 0x5fc4,
- /* 2nd byte: 57 */ 0x5fc7,
- /* 2nd byte: 58 */ 0x5fc8,
- /* 2nd byte: 59 */ 0x5fc9,
- /* 2nd byte: 60 */ 0x5fcb,
- /* 2nd byte: 61 */ 0x5fd0,
- /* 2nd byte: 62 */ 0x5fd1,
- /* 2nd byte: 63 */ 0x5fd2,
- /* 2nd byte: 64 */ 0x5fd3,
- /* 2nd byte: 65 */ 0x5fd4,
- /* 2nd byte: 66 */ 0x5fde,
- /* 2nd byte: 67 */ 0x5fe1,
- /* 2nd byte: 68 */ 0x5fe2,
- /* 2nd byte: 69 */ 0x5fe8,
- /* 2nd byte: 70 */ 0x5fe9,
- /* 2nd byte: 71 */ 0x5fea,
- /* 2nd byte: 72 */ 0x5fec,
- /* 2nd byte: 73 */ 0x5fed,
- /* 2nd byte: 74 */ 0x5fee,
- /* 2nd byte: 75 */ 0x5fef,
- /* 2nd byte: 76 */ 0x5ff2,
- /* 2nd byte: 77 */ 0x5ff3,
- /* 2nd byte: 78 */ 0x5ff6,
- /* 2nd byte: 79 */ 0x5ffa,
- /* 2nd byte: 80 */ 0x5ffc,
- /* 2nd byte: 81 */ 0x6007,
- /* 2nd byte: 82 */ 0x600a,
- /* 2nd byte: 83 */ 0x600d,
- /* 2nd byte: 84 */ 0x6013,
- /* 2nd byte: 85 */ 0x6014,
- /* 2nd byte: 86 */ 0x6017,
- /* 2nd byte: 87 */ 0x6018,
- /* 2nd byte: 88 */ 0x601a,
- /* 2nd byte: 89 */ 0x601f,
- /* 2nd byte: 90 */ 0x6024,
- /* 2nd byte: 91 */ 0x602d,
- /* 2nd byte: 92 */ 0x6033,
- /* 2nd byte: 93 */ 0x6035,
- /* 2nd byte: 94 */ 0x6040,
- /* 2nd byte: 95 */ 0x6047,
- /* 2nd byte: 96 */ 0x6048,
- /* 2nd byte: 97 */ 0x6049,
- /* 2nd byte: 98 */ 0x604c,
- /* 2nd byte: 99 */ 0x6051,
- /* 2nd byte: 100 */ 0x6054,
- /* 2nd byte: 101 */ 0x6056,
- /* 2nd byte: 102 */ 0x6057,
- /* 2nd byte: 103 */ 0x605d,
- /* 2nd byte: 104 */ 0x6061,
- /* 2nd byte: 105 */ 0x6067,
- /* 2nd byte: 106 */ 0x6071,
- /* 2nd byte: 107 */ 0x607e,
- /* 2nd byte: 108 */ 0x607f,
- /* 2nd byte: 109 */ 0x6082,
- /* 2nd byte: 110 */ 0x6086,
- /* 2nd byte: 111 */ 0x6088,
- /* 2nd byte: 112 */ 0x608a,
- /* 2nd byte: 113 */ 0x608e,
- /* 2nd byte: 114 */ 0x6091,
- /* 2nd byte: 115 */ 0x6093,
- /* 2nd byte: 116 */ 0x6095,
- /* 2nd byte: 117 */ 0x6098,
- /* 2nd byte: 118 */ 0x609d,
- /* 2nd byte: 119 */ 0x609e,
- /* 2nd byte: 120 */ 0x60a2,
- /* 2nd byte: 121 */ 0x60a4,
- /* 2nd byte: 122 */ 0x60a5,
- /* 2nd byte: 123 */ 0x60a8,
- /* 2nd byte: 124 */ 0x60b0,
- /* 2nd byte: 125 */ 0x60b1,
- /* 2nd byte: 126 */ 0x60b7},
-/* 1st byte: 62 */ {
- /* 2nd byte: 33 */ 0x60bb,
- /* 2nd byte: 34 */ 0x60be,
- /* 2nd byte: 35 */ 0x60c2,
- /* 2nd byte: 36 */ 0x60c4,
- /* 2nd byte: 37 */ 0x60c8,
- /* 2nd byte: 38 */ 0x60c9,
- /* 2nd byte: 39 */ 0x60ca,
- /* 2nd byte: 40 */ 0x60cb,
- /* 2nd byte: 41 */ 0x60ce,
- /* 2nd byte: 42 */ 0x60cf,
- /* 2nd byte: 43 */ 0x60d4,
- /* 2nd byte: 44 */ 0x60d5,
- /* 2nd byte: 45 */ 0x60d9,
- /* 2nd byte: 46 */ 0x60db,
- /* 2nd byte: 47 */ 0x60dd,
- /* 2nd byte: 48 */ 0x60de,
- /* 2nd byte: 49 */ 0x60e2,
- /* 2nd byte: 50 */ 0x60e5,
- /* 2nd byte: 51 */ 0x60f2,
- /* 2nd byte: 52 */ 0x60f5,
- /* 2nd byte: 53 */ 0x60f8,
- /* 2nd byte: 54 */ 0x60fc,
- /* 2nd byte: 55 */ 0x60fd,
- /* 2nd byte: 56 */ 0x6102,
- /* 2nd byte: 57 */ 0x6107,
- /* 2nd byte: 58 */ 0x610a,
- /* 2nd byte: 59 */ 0x610c,
- /* 2nd byte: 60 */ 0x6110,
- /* 2nd byte: 61 */ 0x6111,
- /* 2nd byte: 62 */ 0x6112,
- /* 2nd byte: 63 */ 0x6113,
- /* 2nd byte: 64 */ 0x6114,
- /* 2nd byte: 65 */ 0x6116,
- /* 2nd byte: 66 */ 0x6117,
- /* 2nd byte: 67 */ 0x6119,
- /* 2nd byte: 68 */ 0x611c,
- /* 2nd byte: 69 */ 0x611e,
- /* 2nd byte: 70 */ 0x6122,
- /* 2nd byte: 71 */ 0x612a,
- /* 2nd byte: 72 */ 0x612b,
- /* 2nd byte: 73 */ 0x6130,
- /* 2nd byte: 74 */ 0x6131,
- /* 2nd byte: 75 */ 0x6135,
- /* 2nd byte: 76 */ 0x6136,
- /* 2nd byte: 77 */ 0x6137,
- /* 2nd byte: 78 */ 0x6139,
- /* 2nd byte: 79 */ 0x6141,
- /* 2nd byte: 80 */ 0x6145,
- /* 2nd byte: 81 */ 0x6146,
- /* 2nd byte: 82 */ 0x6149,
- /* 2nd byte: 83 */ 0x615e,
- /* 2nd byte: 84 */ 0x6160,
- /* 2nd byte: 85 */ 0x616c,
- /* 2nd byte: 86 */ 0x6172,
- /* 2nd byte: 87 */ 0x6178,
- /* 2nd byte: 88 */ 0x617b,
- /* 2nd byte: 89 */ 0x617c,
- /* 2nd byte: 90 */ 0x617f,
- /* 2nd byte: 91 */ 0x6180,
- /* 2nd byte: 92 */ 0x6181,
- /* 2nd byte: 93 */ 0x6183,
- /* 2nd byte: 94 */ 0x6184,
- /* 2nd byte: 95 */ 0x618b,
- /* 2nd byte: 96 */ 0x618d,
- /* 2nd byte: 97 */ 0x6192,
- /* 2nd byte: 98 */ 0x6193,
- /* 2nd byte: 99 */ 0x6197,
- /* 2nd byte: 100 */ 0x6198,
- /* 2nd byte: 101 */ 0x619c,
- /* 2nd byte: 102 */ 0x619d,
- /* 2nd byte: 103 */ 0x619f,
- /* 2nd byte: 104 */ 0x61a0,
- /* 2nd byte: 105 */ 0x61a5,
- /* 2nd byte: 106 */ 0x61a8,
- /* 2nd byte: 107 */ 0x61aa,
- /* 2nd byte: 108 */ 0x61ad,
- /* 2nd byte: 109 */ 0x61b8,
- /* 2nd byte: 110 */ 0x61b9,
- /* 2nd byte: 111 */ 0x61bc,
- /* 2nd byte: 112 */ 0x61c0,
- /* 2nd byte: 113 */ 0x61c1,
- /* 2nd byte: 114 */ 0x61c2,
- /* 2nd byte: 115 */ 0x61ce,
- /* 2nd byte: 116 */ 0x61cf,
- /* 2nd byte: 117 */ 0x61d5,
- /* 2nd byte: 118 */ 0x61dc,
- /* 2nd byte: 119 */ 0x61dd,
- /* 2nd byte: 120 */ 0x61de,
- /* 2nd byte: 121 */ 0x61df,
- /* 2nd byte: 122 */ 0x61e1,
- /* 2nd byte: 123 */ 0x61e2,
- /* 2nd byte: 124 */ 0x61e7,
- /* 2nd byte: 125 */ 0x61e9,
- /* 2nd byte: 126 */ 0x61e5},
-/* 1st byte: 63 */ {
- /* 2nd byte: 33 */ 0x61ec,
- /* 2nd byte: 34 */ 0x61ed,
- /* 2nd byte: 35 */ 0x61ef,
- /* 2nd byte: 36 */ 0x6201,
- /* 2nd byte: 37 */ 0x6203,
- /* 2nd byte: 38 */ 0x6204,
- /* 2nd byte: 39 */ 0x6207,
- /* 2nd byte: 40 */ 0x6213,
- /* 2nd byte: 41 */ 0x6215,
- /* 2nd byte: 42 */ 0x621c,
- /* 2nd byte: 43 */ 0x6220,
- /* 2nd byte: 44 */ 0x6222,
- /* 2nd byte: 45 */ 0x6223,
- /* 2nd byte: 46 */ 0x6227,
- /* 2nd byte: 47 */ 0x6229,
- /* 2nd byte: 48 */ 0x622b,
- /* 2nd byte: 49 */ 0x6239,
- /* 2nd byte: 50 */ 0x623d,
- /* 2nd byte: 51 */ 0x6242,
- /* 2nd byte: 52 */ 0x6243,
- /* 2nd byte: 53 */ 0x6244,
- /* 2nd byte: 54 */ 0x6246,
- /* 2nd byte: 55 */ 0x624c,
- /* 2nd byte: 56 */ 0x6250,
- /* 2nd byte: 57 */ 0x6251,
- /* 2nd byte: 58 */ 0x6252,
- /* 2nd byte: 59 */ 0x6254,
- /* 2nd byte: 60 */ 0x6256,
- /* 2nd byte: 61 */ 0x625a,
- /* 2nd byte: 62 */ 0x625c,
- /* 2nd byte: 63 */ 0x6264,
- /* 2nd byte: 64 */ 0x626d,
- /* 2nd byte: 65 */ 0x626f,
- /* 2nd byte: 66 */ 0x6273,
- /* 2nd byte: 67 */ 0x627a,
- /* 2nd byte: 68 */ 0x627d,
- /* 2nd byte: 69 */ 0x628d,
- /* 2nd byte: 70 */ 0x628e,
- /* 2nd byte: 71 */ 0x628f,
- /* 2nd byte: 72 */ 0x6290,
- /* 2nd byte: 73 */ 0x62a6,
- /* 2nd byte: 74 */ 0x62a8,
- /* 2nd byte: 75 */ 0x62b3,
- /* 2nd byte: 76 */ 0x62b6,
- /* 2nd byte: 77 */ 0x62b7,
- /* 2nd byte: 78 */ 0x62ba,
- /* 2nd byte: 79 */ 0x62be,
- /* 2nd byte: 80 */ 0x62bf,
- /* 2nd byte: 81 */ 0x62c4,
- /* 2nd byte: 82 */ 0x62ce,
- /* 2nd byte: 83 */ 0x62d5,
- /* 2nd byte: 84 */ 0x62d6,
- /* 2nd byte: 85 */ 0x62da,
- /* 2nd byte: 86 */ 0x62ea,
- /* 2nd byte: 87 */ 0x62f2,
- /* 2nd byte: 88 */ 0x62f4,
- /* 2nd byte: 89 */ 0x62fc,
- /* 2nd byte: 90 */ 0x62fd,
- /* 2nd byte: 91 */ 0x6303,
- /* 2nd byte: 92 */ 0x6304,
- /* 2nd byte: 93 */ 0x630a,
- /* 2nd byte: 94 */ 0x630b,
- /* 2nd byte: 95 */ 0x630d,
- /* 2nd byte: 96 */ 0x6310,
- /* 2nd byte: 97 */ 0x6313,
- /* 2nd byte: 98 */ 0x6316,
- /* 2nd byte: 99 */ 0x6318,
- /* 2nd byte: 100 */ 0x6329,
- /* 2nd byte: 101 */ 0x632a,
- /* 2nd byte: 102 */ 0x632d,
- /* 2nd byte: 103 */ 0x6335,
- /* 2nd byte: 104 */ 0x6336,
- /* 2nd byte: 105 */ 0x6339,
- /* 2nd byte: 106 */ 0x633c,
- /* 2nd byte: 107 */ 0x6341,
- /* 2nd byte: 108 */ 0x6342,
- /* 2nd byte: 109 */ 0x6343,
- /* 2nd byte: 110 */ 0x6344,
- /* 2nd byte: 111 */ 0x6346,
- /* 2nd byte: 112 */ 0x634a,
- /* 2nd byte: 113 */ 0x634b,
- /* 2nd byte: 114 */ 0x634e,
- /* 2nd byte: 115 */ 0x6352,
- /* 2nd byte: 116 */ 0x6353,
- /* 2nd byte: 117 */ 0x6354,
- /* 2nd byte: 118 */ 0x6358,
- /* 2nd byte: 119 */ 0x635b,
- /* 2nd byte: 120 */ 0x6365,
- /* 2nd byte: 121 */ 0x6366,
- /* 2nd byte: 122 */ 0x636c,
- /* 2nd byte: 123 */ 0x636d,
- /* 2nd byte: 124 */ 0x6371,
- /* 2nd byte: 125 */ 0x6374,
- /* 2nd byte: 126 */ 0x6375},
-/* 1st byte: 64 */ {
- /* 2nd byte: 33 */ 0x6378,
- /* 2nd byte: 34 */ 0x637c,
- /* 2nd byte: 35 */ 0x637d,
- /* 2nd byte: 36 */ 0x637f,
- /* 2nd byte: 37 */ 0x6382,
- /* 2nd byte: 38 */ 0x6384,
- /* 2nd byte: 39 */ 0x6387,
- /* 2nd byte: 40 */ 0x638a,
- /* 2nd byte: 41 */ 0x6390,
- /* 2nd byte: 42 */ 0x6394,
- /* 2nd byte: 43 */ 0x6395,
- /* 2nd byte: 44 */ 0x6399,
- /* 2nd byte: 45 */ 0x639a,
- /* 2nd byte: 46 */ 0x639e,
- /* 2nd byte: 47 */ 0x63a4,
- /* 2nd byte: 48 */ 0x63a6,
- /* 2nd byte: 49 */ 0x63ad,
- /* 2nd byte: 50 */ 0x63ae,
- /* 2nd byte: 51 */ 0x63af,
- /* 2nd byte: 52 */ 0x63bd,
- /* 2nd byte: 53 */ 0x63c1,
- /* 2nd byte: 54 */ 0x63c5,
- /* 2nd byte: 55 */ 0x63c8,
- /* 2nd byte: 56 */ 0x63ce,
- /* 2nd byte: 57 */ 0x63d1,
- /* 2nd byte: 58 */ 0x63d3,
- /* 2nd byte: 59 */ 0x63d4,
- /* 2nd byte: 60 */ 0x63d5,
- /* 2nd byte: 61 */ 0x63dc,
- /* 2nd byte: 62 */ 0x63e0,
- /* 2nd byte: 63 */ 0x63e5,
- /* 2nd byte: 64 */ 0x63ea,
- /* 2nd byte: 65 */ 0x63ec,
- /* 2nd byte: 66 */ 0x63f2,
- /* 2nd byte: 67 */ 0x63f3,
- /* 2nd byte: 68 */ 0x63f5,
- /* 2nd byte: 69 */ 0x63f8,
- /* 2nd byte: 70 */ 0x63f9,
- /* 2nd byte: 71 */ 0x6409,
- /* 2nd byte: 72 */ 0x640a,
- /* 2nd byte: 73 */ 0x6410,
- /* 2nd byte: 74 */ 0x6412,
- /* 2nd byte: 75 */ 0x6414,
- /* 2nd byte: 76 */ 0x6418,
- /* 2nd byte: 77 */ 0x641e,
- /* 2nd byte: 78 */ 0x6420,
- /* 2nd byte: 79 */ 0x6422,
- /* 2nd byte: 80 */ 0x6424,
- /* 2nd byte: 81 */ 0x6425,
- /* 2nd byte: 82 */ 0x6429,
- /* 2nd byte: 83 */ 0x642a,
- /* 2nd byte: 84 */ 0x642f,
- /* 2nd byte: 85 */ 0x6430,
- /* 2nd byte: 86 */ 0x6435,
- /* 2nd byte: 87 */ 0x643d,
- /* 2nd byte: 88 */ 0x643f,
- /* 2nd byte: 89 */ 0x644b,
- /* 2nd byte: 90 */ 0x644f,
- /* 2nd byte: 91 */ 0x6451,
- /* 2nd byte: 92 */ 0x6452,
- /* 2nd byte: 93 */ 0x6453,
- /* 2nd byte: 94 */ 0x6454,
- /* 2nd byte: 95 */ 0x645a,
- /* 2nd byte: 96 */ 0x645b,
- /* 2nd byte: 97 */ 0x645c,
- /* 2nd byte: 98 */ 0x645d,
- /* 2nd byte: 99 */ 0x645f,
- /* 2nd byte: 100 */ 0x6460,
- /* 2nd byte: 101 */ 0x6461,
- /* 2nd byte: 102 */ 0x6463,
- /* 2nd byte: 103 */ 0x646d,
- /* 2nd byte: 104 */ 0x6473,
- /* 2nd byte: 105 */ 0x6474,
- /* 2nd byte: 106 */ 0x647b,
- /* 2nd byte: 107 */ 0x647d,
- /* 2nd byte: 108 */ 0x6485,
- /* 2nd byte: 109 */ 0x6487,
- /* 2nd byte: 110 */ 0x648f,
- /* 2nd byte: 111 */ 0x6490,
- /* 2nd byte: 112 */ 0x6491,
- /* 2nd byte: 113 */ 0x6498,
- /* 2nd byte: 114 */ 0x6499,
- /* 2nd byte: 115 */ 0x649b,
- /* 2nd byte: 116 */ 0x649d,
- /* 2nd byte: 117 */ 0x649f,
- /* 2nd byte: 118 */ 0x64a1,
- /* 2nd byte: 119 */ 0x64a3,
- /* 2nd byte: 120 */ 0x64a6,
- /* 2nd byte: 121 */ 0x64a8,
- /* 2nd byte: 122 */ 0x64ac,
- /* 2nd byte: 123 */ 0x64b3,
- /* 2nd byte: 124 */ 0x64bd,
- /* 2nd byte: 125 */ 0x64be,
- /* 2nd byte: 126 */ 0x64bf},
-/* 1st byte: 65 */ {
- /* 2nd byte: 33 */ 0x64c4,
- /* 2nd byte: 34 */ 0x64c9,
- /* 2nd byte: 35 */ 0x64ca,
- /* 2nd byte: 36 */ 0x64cb,
- /* 2nd byte: 37 */ 0x64cc,
- /* 2nd byte: 38 */ 0x64ce,
- /* 2nd byte: 39 */ 0x64d0,
- /* 2nd byte: 40 */ 0x64d1,
- /* 2nd byte: 41 */ 0x64d5,
- /* 2nd byte: 42 */ 0x64d7,
- /* 2nd byte: 43 */ 0x64e4,
- /* 2nd byte: 44 */ 0x64e5,
- /* 2nd byte: 45 */ 0x64e9,
- /* 2nd byte: 46 */ 0x64ea,
- /* 2nd byte: 47 */ 0x64ed,
- /* 2nd byte: 48 */ 0x64f0,
- /* 2nd byte: 49 */ 0x64f5,
- /* 2nd byte: 50 */ 0x64f7,
- /* 2nd byte: 51 */ 0x64fb,
- /* 2nd byte: 52 */ 0x64ff,
- /* 2nd byte: 53 */ 0x6501,
- /* 2nd byte: 54 */ 0x6504,
- /* 2nd byte: 55 */ 0x6508,
- /* 2nd byte: 56 */ 0x6509,
- /* 2nd byte: 57 */ 0x650a,
- /* 2nd byte: 58 */ 0x650f,
- /* 2nd byte: 59 */ 0x6513,
- /* 2nd byte: 60 */ 0x6514,
- /* 2nd byte: 61 */ 0x6516,
- /* 2nd byte: 62 */ 0x6519,
- /* 2nd byte: 63 */ 0x651b,
- /* 2nd byte: 64 */ 0x651e,
- /* 2nd byte: 65 */ 0x651f,
- /* 2nd byte: 66 */ 0x6522,
- /* 2nd byte: 67 */ 0x6526,
- /* 2nd byte: 68 */ 0x6529,
- /* 2nd byte: 69 */ 0x652e,
- /* 2nd byte: 70 */ 0x6531,
- /* 2nd byte: 71 */ 0x653a,
- /* 2nd byte: 72 */ 0x653c,
- /* 2nd byte: 73 */ 0x653d,
- /* 2nd byte: 74 */ 0x6543,
- /* 2nd byte: 75 */ 0x6547,
- /* 2nd byte: 76 */ 0x6549,
- /* 2nd byte: 77 */ 0x6550,
- /* 2nd byte: 78 */ 0x6552,
- /* 2nd byte: 79 */ 0x6554,
- /* 2nd byte: 80 */ 0x655f,
- /* 2nd byte: 81 */ 0x6560,
- /* 2nd byte: 82 */ 0x6567,
- /* 2nd byte: 83 */ 0x656b,
- /* 2nd byte: 84 */ 0x657a,
- /* 2nd byte: 85 */ 0x657d,
- /* 2nd byte: 86 */ 0x6581,
- /* 2nd byte: 87 */ 0x6585,
- /* 2nd byte: 88 */ 0x658a,
- /* 2nd byte: 89 */ 0x6592,
- /* 2nd byte: 90 */ 0x6595,
- /* 2nd byte: 91 */ 0x6598,
- /* 2nd byte: 92 */ 0x659d,
- /* 2nd byte: 93 */ 0x65a0,
- /* 2nd byte: 94 */ 0x65a3,
- /* 2nd byte: 95 */ 0x65a6,
- /* 2nd byte: 96 */ 0x65ae,
- /* 2nd byte: 97 */ 0x65b2,
- /* 2nd byte: 98 */ 0x65b3,
- /* 2nd byte: 99 */ 0x65b4,
- /* 2nd byte: 100 */ 0x65bf,
- /* 2nd byte: 101 */ 0x65c2,
- /* 2nd byte: 102 */ 0x65c8,
- /* 2nd byte: 103 */ 0x65c9,
- /* 2nd byte: 104 */ 0x65ce,
- /* 2nd byte: 105 */ 0x65d0,
- /* 2nd byte: 106 */ 0x65d4,
- /* 2nd byte: 107 */ 0x65d6,
- /* 2nd byte: 108 */ 0x65d8,
- /* 2nd byte: 109 */ 0x65df,
- /* 2nd byte: 110 */ 0x65f0,
- /* 2nd byte: 111 */ 0x65f2,
- /* 2nd byte: 112 */ 0x65f4,
- /* 2nd byte: 113 */ 0x65f5,
- /* 2nd byte: 114 */ 0x65f9,
- /* 2nd byte: 115 */ 0x65fe,
- /* 2nd byte: 116 */ 0x65ff,
- /* 2nd byte: 117 */ 0x6600,
- /* 2nd byte: 118 */ 0x6604,
- /* 2nd byte: 119 */ 0x6608,
- /* 2nd byte: 120 */ 0x6609,
- /* 2nd byte: 121 */ 0x660d,
- /* 2nd byte: 122 */ 0x6611,
- /* 2nd byte: 123 */ 0x6612,
- /* 2nd byte: 124 */ 0x6615,
- /* 2nd byte: 125 */ 0x6616,
- /* 2nd byte: 126 */ 0x661d},
-/* 1st byte: 66 */ {
- /* 2nd byte: 33 */ 0x661e,
- /* 2nd byte: 34 */ 0x6621,
- /* 2nd byte: 35 */ 0x6622,
- /* 2nd byte: 36 */ 0x6623,
- /* 2nd byte: 37 */ 0x6624,
- /* 2nd byte: 38 */ 0x6626,
- /* 2nd byte: 39 */ 0x6629,
- /* 2nd byte: 40 */ 0x662a,
- /* 2nd byte: 41 */ 0x662b,
- /* 2nd byte: 42 */ 0x662c,
- /* 2nd byte: 43 */ 0x662e,
- /* 2nd byte: 44 */ 0x6630,
- /* 2nd byte: 45 */ 0x6631,
- /* 2nd byte: 46 */ 0x6633,
- /* 2nd byte: 47 */ 0x6639,
- /* 2nd byte: 48 */ 0x6637,
- /* 2nd byte: 49 */ 0x6640,
- /* 2nd byte: 50 */ 0x6645,
- /* 2nd byte: 51 */ 0x6646,
- /* 2nd byte: 52 */ 0x664a,
- /* 2nd byte: 53 */ 0x664c,
- /* 2nd byte: 54 */ 0x6651,
- /* 2nd byte: 55 */ 0x664e,
- /* 2nd byte: 56 */ 0x6657,
- /* 2nd byte: 57 */ 0x6658,
- /* 2nd byte: 58 */ 0x6659,
- /* 2nd byte: 59 */ 0x665b,
- /* 2nd byte: 60 */ 0x665c,
- /* 2nd byte: 61 */ 0x6660,
- /* 2nd byte: 62 */ 0x6661,
- /* 2nd byte: 63 */ 0x66fb,
- /* 2nd byte: 64 */ 0x666a,
- /* 2nd byte: 65 */ 0x666b,
- /* 2nd byte: 66 */ 0x666c,
- /* 2nd byte: 67 */ 0x667e,
- /* 2nd byte: 68 */ 0x6673,
- /* 2nd byte: 69 */ 0x6675,
- /* 2nd byte: 70 */ 0x667f,
- /* 2nd byte: 71 */ 0x6677,
- /* 2nd byte: 72 */ 0x6678,
- /* 2nd byte: 73 */ 0x6679,
- /* 2nd byte: 74 */ 0x667b,
- /* 2nd byte: 75 */ 0x6680,
- /* 2nd byte: 76 */ 0x667c,
- /* 2nd byte: 77 */ 0x668b,
- /* 2nd byte: 78 */ 0x668c,
- /* 2nd byte: 79 */ 0x668d,
- /* 2nd byte: 80 */ 0x6690,
- /* 2nd byte: 81 */ 0x6692,
- /* 2nd byte: 82 */ 0x6699,
- /* 2nd byte: 83 */ 0x669a,
- /* 2nd byte: 84 */ 0x669b,
- /* 2nd byte: 85 */ 0x669c,
- /* 2nd byte: 86 */ 0x669f,
- /* 2nd byte: 87 */ 0x66a0,
- /* 2nd byte: 88 */ 0x66a4,
- /* 2nd byte: 89 */ 0x66ad,
- /* 2nd byte: 90 */ 0x66b1,
- /* 2nd byte: 91 */ 0x66b2,
- /* 2nd byte: 92 */ 0x66b5,
- /* 2nd byte: 93 */ 0x66bb,
- /* 2nd byte: 94 */ 0x66bf,
- /* 2nd byte: 95 */ 0x66c0,
- /* 2nd byte: 96 */ 0x66c2,
- /* 2nd byte: 97 */ 0x66c3,
- /* 2nd byte: 98 */ 0x66c8,
- /* 2nd byte: 99 */ 0x66cc,
- /* 2nd byte: 100 */ 0x66ce,
- /* 2nd byte: 101 */ 0x66cf,
- /* 2nd byte: 102 */ 0x66d4,
- /* 2nd byte: 103 */ 0x66db,
- /* 2nd byte: 104 */ 0x66df,
- /* 2nd byte: 105 */ 0x66e8,
- /* 2nd byte: 106 */ 0x66eb,
- /* 2nd byte: 107 */ 0x66ec,
- /* 2nd byte: 108 */ 0x66ee,
- /* 2nd byte: 109 */ 0x66fa,
- /* 2nd byte: 110 */ 0x6705,
- /* 2nd byte: 111 */ 0x6707,
- /* 2nd byte: 112 */ 0x670e,
- /* 2nd byte: 113 */ 0x6713,
- /* 2nd byte: 114 */ 0x6719,
- /* 2nd byte: 115 */ 0x671c,
- /* 2nd byte: 116 */ 0x6720,
- /* 2nd byte: 117 */ 0x6722,
- /* 2nd byte: 118 */ 0x6733,
- /* 2nd byte: 119 */ 0x673e,
- /* 2nd byte: 120 */ 0x6745,
- /* 2nd byte: 121 */ 0x6747,
- /* 2nd byte: 122 */ 0x6748,
- /* 2nd byte: 123 */ 0x674c,
- /* 2nd byte: 124 */ 0x6754,
- /* 2nd byte: 125 */ 0x6755,
- /* 2nd byte: 126 */ 0x675d},
-/* 1st byte: 67 */ {
- /* 2nd byte: 33 */ 0x6766,
- /* 2nd byte: 34 */ 0x676c,
- /* 2nd byte: 35 */ 0x676e,
- /* 2nd byte: 36 */ 0x6774,
- /* 2nd byte: 37 */ 0x6776,
- /* 2nd byte: 38 */ 0x677b,
- /* 2nd byte: 39 */ 0x6781,
- /* 2nd byte: 40 */ 0x6784,
- /* 2nd byte: 41 */ 0x678e,
- /* 2nd byte: 42 */ 0x678f,
- /* 2nd byte: 43 */ 0x6791,
- /* 2nd byte: 44 */ 0x6793,
- /* 2nd byte: 45 */ 0x6796,
- /* 2nd byte: 46 */ 0x6798,
- /* 2nd byte: 47 */ 0x6799,
- /* 2nd byte: 48 */ 0x679b,
- /* 2nd byte: 49 */ 0x67b0,
- /* 2nd byte: 50 */ 0x67b1,
- /* 2nd byte: 51 */ 0x67b2,
- /* 2nd byte: 52 */ 0x67b5,
- /* 2nd byte: 53 */ 0x67bb,
- /* 2nd byte: 54 */ 0x67bc,
- /* 2nd byte: 55 */ 0x67bd,
- /* 2nd byte: 56 */ 0x67f9,
- /* 2nd byte: 57 */ 0x67c0,
- /* 2nd byte: 58 */ 0x67c2,
- /* 2nd byte: 59 */ 0x67c3,
- /* 2nd byte: 60 */ 0x67c5,
- /* 2nd byte: 61 */ 0x67c8,
- /* 2nd byte: 62 */ 0x67c9,
- /* 2nd byte: 63 */ 0x67d2,
- /* 2nd byte: 64 */ 0x67d7,
- /* 2nd byte: 65 */ 0x67d9,
- /* 2nd byte: 66 */ 0x67dc,
- /* 2nd byte: 67 */ 0x67e1,
- /* 2nd byte: 68 */ 0x67e6,
- /* 2nd byte: 69 */ 0x67f0,
- /* 2nd byte: 70 */ 0x67f2,
- /* 2nd byte: 71 */ 0x67f6,
- /* 2nd byte: 72 */ 0x67f7,
- /* 2nd byte: 73 */ 0x6852,
- /* 2nd byte: 74 */ 0x6814,
- /* 2nd byte: 75 */ 0x6819,
- /* 2nd byte: 76 */ 0x681d,
- /* 2nd byte: 77 */ 0x681f,
- /* 2nd byte: 78 */ 0x6828,
- /* 2nd byte: 79 */ 0x6827,
- /* 2nd byte: 80 */ 0x682c,
- /* 2nd byte: 81 */ 0x682d,
- /* 2nd byte: 82 */ 0x682f,
- /* 2nd byte: 83 */ 0x6830,
- /* 2nd byte: 84 */ 0x6831,
- /* 2nd byte: 85 */ 0x6833,
- /* 2nd byte: 86 */ 0x683b,
- /* 2nd byte: 87 */ 0x683f,
- /* 2nd byte: 88 */ 0x6844,
- /* 2nd byte: 89 */ 0x6845,
- /* 2nd byte: 90 */ 0x684a,
- /* 2nd byte: 91 */ 0x684c,
- /* 2nd byte: 92 */ 0x6855,
- /* 2nd byte: 93 */ 0x6857,
- /* 2nd byte: 94 */ 0x6858,
- /* 2nd byte: 95 */ 0x685b,
- /* 2nd byte: 96 */ 0x686b,
- /* 2nd byte: 97 */ 0x686e,
- /* 2nd byte: 98 */ 0x686f,
- /* 2nd byte: 99 */ 0x6870,
- /* 2nd byte: 100 */ 0x6871,
- /* 2nd byte: 101 */ 0x6872,
- /* 2nd byte: 102 */ 0x6875,
- /* 2nd byte: 103 */ 0x6879,
- /* 2nd byte: 104 */ 0x687a,
- /* 2nd byte: 105 */ 0x687b,
- /* 2nd byte: 106 */ 0x687c,
- /* 2nd byte: 107 */ 0x6882,
- /* 2nd byte: 108 */ 0x6884,
- /* 2nd byte: 109 */ 0x6886,
- /* 2nd byte: 110 */ 0x6888,
- /* 2nd byte: 111 */ 0x6896,
- /* 2nd byte: 112 */ 0x6898,
- /* 2nd byte: 113 */ 0x689a,
- /* 2nd byte: 114 */ 0x689c,
- /* 2nd byte: 115 */ 0x68a1,
- /* 2nd byte: 116 */ 0x68a3,
- /* 2nd byte: 117 */ 0x68a5,
- /* 2nd byte: 118 */ 0x68a9,
- /* 2nd byte: 119 */ 0x68aa,
- /* 2nd byte: 120 */ 0x68ae,
- /* 2nd byte: 121 */ 0x68b2,
- /* 2nd byte: 122 */ 0x68bb,
- /* 2nd byte: 123 */ 0x68c5,
- /* 2nd byte: 124 */ 0x68c8,
- /* 2nd byte: 125 */ 0x68cc,
- /* 2nd byte: 126 */ 0x68cf},
-/* 1st byte: 68 */ {
- /* 2nd byte: 33 */ 0x68d0,
- /* 2nd byte: 34 */ 0x68d1,
- /* 2nd byte: 35 */ 0x68d3,
- /* 2nd byte: 36 */ 0x68d6,
- /* 2nd byte: 37 */ 0x68d9,
- /* 2nd byte: 38 */ 0x68dc,
- /* 2nd byte: 39 */ 0x68dd,
- /* 2nd byte: 40 */ 0x68e5,
- /* 2nd byte: 41 */ 0x68e8,
- /* 2nd byte: 42 */ 0x68ea,
- /* 2nd byte: 43 */ 0x68eb,
- /* 2nd byte: 44 */ 0x68ec,
- /* 2nd byte: 45 */ 0x68ed,
- /* 2nd byte: 46 */ 0x68f0,
- /* 2nd byte: 47 */ 0x68f1,
- /* 2nd byte: 48 */ 0x68f5,
- /* 2nd byte: 49 */ 0x68f6,
- /* 2nd byte: 50 */ 0x68fb,
- /* 2nd byte: 51 */ 0x68fc,
- /* 2nd byte: 52 */ 0x68fd,
- /* 2nd byte: 53 */ 0x6906,
- /* 2nd byte: 54 */ 0x6909,
- /* 2nd byte: 55 */ 0x690a,
- /* 2nd byte: 56 */ 0x6910,
- /* 2nd byte: 57 */ 0x6911,
- /* 2nd byte: 58 */ 0x6913,
- /* 2nd byte: 59 */ 0x6916,
- /* 2nd byte: 60 */ 0x6917,
- /* 2nd byte: 61 */ 0x6931,
- /* 2nd byte: 62 */ 0x6933,
- /* 2nd byte: 63 */ 0x6935,
- /* 2nd byte: 64 */ 0x6938,
- /* 2nd byte: 65 */ 0x693b,
- /* 2nd byte: 66 */ 0x6942,
- /* 2nd byte: 67 */ 0x6945,
- /* 2nd byte: 68 */ 0x6949,
- /* 2nd byte: 69 */ 0x694e,
- /* 2nd byte: 70 */ 0x6957,
- /* 2nd byte: 71 */ 0x695b,
- /* 2nd byte: 72 */ 0x6963,
- /* 2nd byte: 73 */ 0x6964,
- /* 2nd byte: 74 */ 0x6965,
- /* 2nd byte: 75 */ 0x6966,
- /* 2nd byte: 76 */ 0x6968,
- /* 2nd byte: 77 */ 0x6969,
- /* 2nd byte: 78 */ 0x696c,
- /* 2nd byte: 79 */ 0x6970,
- /* 2nd byte: 80 */ 0x6971,
- /* 2nd byte: 81 */ 0x6972,
- /* 2nd byte: 82 */ 0x697a,
- /* 2nd byte: 83 */ 0x697b,
- /* 2nd byte: 84 */ 0x697f,
- /* 2nd byte: 85 */ 0x6980,
- /* 2nd byte: 86 */ 0x698d,
- /* 2nd byte: 87 */ 0x6992,
- /* 2nd byte: 88 */ 0x6996,
- /* 2nd byte: 89 */ 0x6998,
- /* 2nd byte: 90 */ 0x69a1,
- /* 2nd byte: 91 */ 0x69a5,
- /* 2nd byte: 92 */ 0x69a6,
- /* 2nd byte: 93 */ 0x69a8,
- /* 2nd byte: 94 */ 0x69ab,
- /* 2nd byte: 95 */ 0x69ad,
- /* 2nd byte: 96 */ 0x69af,
- /* 2nd byte: 97 */ 0x69b7,
- /* 2nd byte: 98 */ 0x69b8,
- /* 2nd byte: 99 */ 0x69ba,
- /* 2nd byte: 100 */ 0x69bc,
- /* 2nd byte: 101 */ 0x69c5,
- /* 2nd byte: 102 */ 0x69c8,
- /* 2nd byte: 103 */ 0x69d1,
- /* 2nd byte: 104 */ 0x69d6,
- /* 2nd byte: 105 */ 0x69d7,
- /* 2nd byte: 106 */ 0x69e2,
- /* 2nd byte: 107 */ 0x69e5,
- /* 2nd byte: 108 */ 0x69ee,
- /* 2nd byte: 109 */ 0x69ef,
- /* 2nd byte: 110 */ 0x69f1,
- /* 2nd byte: 111 */ 0x69f3,
- /* 2nd byte: 112 */ 0x69f5,
- /* 2nd byte: 113 */ 0x69fe,
- /* 2nd byte: 114 */ 0x6a00,
- /* 2nd byte: 115 */ 0x6a01,
- /* 2nd byte: 116 */ 0x6a03,
- /* 2nd byte: 117 */ 0x6a0f,
- /* 2nd byte: 118 */ 0x6a11,
- /* 2nd byte: 119 */ 0x6a15,
- /* 2nd byte: 120 */ 0x6a1a,
- /* 2nd byte: 121 */ 0x6a1d,
- /* 2nd byte: 122 */ 0x6a20,
- /* 2nd byte: 123 */ 0x6a24,
- /* 2nd byte: 124 */ 0x6a28,
- /* 2nd byte: 125 */ 0x6a30,
- /* 2nd byte: 126 */ 0x6a32},
-/* 1st byte: 69 */ {
- /* 2nd byte: 33 */ 0x6a34,
- /* 2nd byte: 34 */ 0x6a37,
- /* 2nd byte: 35 */ 0x6a3b,
- /* 2nd byte: 36 */ 0x6a3e,
- /* 2nd byte: 37 */ 0x6a3f,
- /* 2nd byte: 38 */ 0x6a45,
- /* 2nd byte: 39 */ 0x6a46,
- /* 2nd byte: 40 */ 0x6a49,
- /* 2nd byte: 41 */ 0x6a4a,
- /* 2nd byte: 42 */ 0x6a4e,
- /* 2nd byte: 43 */ 0x6a50,
- /* 2nd byte: 44 */ 0x6a51,
- /* 2nd byte: 45 */ 0x6a52,
- /* 2nd byte: 46 */ 0x6a55,
- /* 2nd byte: 47 */ 0x6a56,
- /* 2nd byte: 48 */ 0x6a5b,
- /* 2nd byte: 49 */ 0x6a64,
- /* 2nd byte: 50 */ 0x6a67,
- /* 2nd byte: 51 */ 0x6a6a,
- /* 2nd byte: 52 */ 0x6a71,
- /* 2nd byte: 53 */ 0x6a73,
- /* 2nd byte: 54 */ 0x6a7e,
- /* 2nd byte: 55 */ 0x6a81,
- /* 2nd byte: 56 */ 0x6a83,
- /* 2nd byte: 57 */ 0x6a86,
- /* 2nd byte: 58 */ 0x6a87,
- /* 2nd byte: 59 */ 0x6a89,
- /* 2nd byte: 60 */ 0x6a8b,
- /* 2nd byte: 61 */ 0x6a91,
- /* 2nd byte: 62 */ 0x6a9b,
- /* 2nd byte: 63 */ 0x6a9d,
- /* 2nd byte: 64 */ 0x6a9e,
- /* 2nd byte: 65 */ 0x6a9f,
- /* 2nd byte: 66 */ 0x6aa5,
- /* 2nd byte: 67 */ 0x6aab,
- /* 2nd byte: 68 */ 0x6aaf,
- /* 2nd byte: 69 */ 0x6ab0,
- /* 2nd byte: 70 */ 0x6ab1,
- /* 2nd byte: 71 */ 0x6ab4,
- /* 2nd byte: 72 */ 0x6abd,
- /* 2nd byte: 73 */ 0x6abe,
- /* 2nd byte: 74 */ 0x6abf,
- /* 2nd byte: 75 */ 0x6ac6,
- /* 2nd byte: 76 */ 0x6ac9,
- /* 2nd byte: 77 */ 0x6ac8,
- /* 2nd byte: 78 */ 0x6acc,
- /* 2nd byte: 79 */ 0x6ad0,
- /* 2nd byte: 80 */ 0x6ad4,
- /* 2nd byte: 81 */ 0x6ad5,
- /* 2nd byte: 82 */ 0x6ad6,
- /* 2nd byte: 83 */ 0x6adc,
- /* 2nd byte: 84 */ 0x6add,
- /* 2nd byte: 85 */ 0x6ae4,
- /* 2nd byte: 86 */ 0x6ae7,
- /* 2nd byte: 87 */ 0x6aec,
- /* 2nd byte: 88 */ 0x6af0,
- /* 2nd byte: 89 */ 0x6af1,
- /* 2nd byte: 90 */ 0x6af2,
- /* 2nd byte: 91 */ 0x6afc,
- /* 2nd byte: 92 */ 0x6afd,
- /* 2nd byte: 93 */ 0x6b02,
- /* 2nd byte: 94 */ 0x6b03,
- /* 2nd byte: 95 */ 0x6b06,
- /* 2nd byte: 96 */ 0x6b07,
- /* 2nd byte: 97 */ 0x6b09,
- /* 2nd byte: 98 */ 0x6b0f,
- /* 2nd byte: 99 */ 0x6b10,
- /* 2nd byte: 100 */ 0x6b11,
- /* 2nd byte: 101 */ 0x6b17,
- /* 2nd byte: 102 */ 0x6b1b,
- /* 2nd byte: 103 */ 0x6b1e,
- /* 2nd byte: 104 */ 0x6b24,
- /* 2nd byte: 105 */ 0x6b28,
- /* 2nd byte: 106 */ 0x6b2b,
- /* 2nd byte: 107 */ 0x6b2c,
- /* 2nd byte: 108 */ 0x6b2f,
- /* 2nd byte: 109 */ 0x6b35,
- /* 2nd byte: 110 */ 0x6b36,
- /* 2nd byte: 111 */ 0x6b3b,
- /* 2nd byte: 112 */ 0x6b3f,
- /* 2nd byte: 113 */ 0x6b46,
- /* 2nd byte: 114 */ 0x6b4a,
- /* 2nd byte: 115 */ 0x6b4d,
- /* 2nd byte: 116 */ 0x6b52,
- /* 2nd byte: 117 */ 0x6b56,
- /* 2nd byte: 118 */ 0x6b58,
- /* 2nd byte: 119 */ 0x6b5d,
- /* 2nd byte: 120 */ 0x6b60,
- /* 2nd byte: 121 */ 0x6b67,
- /* 2nd byte: 122 */ 0x6b6b,
- /* 2nd byte: 123 */ 0x6b6e,
- /* 2nd byte: 124 */ 0x6b70,
- /* 2nd byte: 125 */ 0x6b75,
- /* 2nd byte: 126 */ 0x6b7d},
-/* 1st byte: 70 */ {
- /* 2nd byte: 33 */ 0x6b7e,
- /* 2nd byte: 34 */ 0x6b82,
- /* 2nd byte: 35 */ 0x6b85,
- /* 2nd byte: 36 */ 0x6b97,
- /* 2nd byte: 37 */ 0x6b9b,
- /* 2nd byte: 38 */ 0x6b9f,
- /* 2nd byte: 39 */ 0x6ba0,
- /* 2nd byte: 40 */ 0x6ba2,
- /* 2nd byte: 41 */ 0x6ba3,
- /* 2nd byte: 42 */ 0x6ba8,
- /* 2nd byte: 43 */ 0x6ba9,
- /* 2nd byte: 44 */ 0x6bac,
- /* 2nd byte: 45 */ 0x6bad,
- /* 2nd byte: 46 */ 0x6bae,
- /* 2nd byte: 47 */ 0x6bb0,
- /* 2nd byte: 48 */ 0x6bb8,
- /* 2nd byte: 49 */ 0x6bb9,
- /* 2nd byte: 50 */ 0x6bbd,
- /* 2nd byte: 51 */ 0x6bbe,
- /* 2nd byte: 52 */ 0x6bc3,
- /* 2nd byte: 53 */ 0x6bc4,
- /* 2nd byte: 54 */ 0x6bc9,
- /* 2nd byte: 55 */ 0x6bcc,
- /* 2nd byte: 56 */ 0x6bd6,
- /* 2nd byte: 57 */ 0x6bda,
- /* 2nd byte: 58 */ 0x6be1,
- /* 2nd byte: 59 */ 0x6be3,
- /* 2nd byte: 60 */ 0x6be6,
- /* 2nd byte: 61 */ 0x6be7,
- /* 2nd byte: 62 */ 0x6bee,
- /* 2nd byte: 63 */ 0x6bf1,
- /* 2nd byte: 64 */ 0x6bf7,
- /* 2nd byte: 65 */ 0x6bf9,
- /* 2nd byte: 66 */ 0x6bff,
- /* 2nd byte: 67 */ 0x6c02,
- /* 2nd byte: 68 */ 0x6c04,
- /* 2nd byte: 69 */ 0x6c05,
- /* 2nd byte: 70 */ 0x6c09,
- /* 2nd byte: 71 */ 0x6c0d,
- /* 2nd byte: 72 */ 0x6c0e,
- /* 2nd byte: 73 */ 0x6c10,
- /* 2nd byte: 74 */ 0x6c12,
- /* 2nd byte: 75 */ 0x6c19,
- /* 2nd byte: 76 */ 0x6c1f,
- /* 2nd byte: 77 */ 0x6c26,
- /* 2nd byte: 78 */ 0x6c27,
- /* 2nd byte: 79 */ 0x6c28,
- /* 2nd byte: 80 */ 0x6c2c,
- /* 2nd byte: 81 */ 0x6c2e,
- /* 2nd byte: 82 */ 0x6c33,
- /* 2nd byte: 83 */ 0x6c35,
- /* 2nd byte: 84 */ 0x6c36,
- /* 2nd byte: 85 */ 0x6c3a,
- /* 2nd byte: 86 */ 0x6c3b,
- /* 2nd byte: 87 */ 0x6c3f,
- /* 2nd byte: 88 */ 0x6c4a,
- /* 2nd byte: 89 */ 0x6c4b,
- /* 2nd byte: 90 */ 0x6c4d,
- /* 2nd byte: 91 */ 0x6c4f,
- /* 2nd byte: 92 */ 0x6c52,
- /* 2nd byte: 93 */ 0x6c54,
- /* 2nd byte: 94 */ 0x6c59,
- /* 2nd byte: 95 */ 0x6c5b,
- /* 2nd byte: 96 */ 0x6c5c,
- /* 2nd byte: 97 */ 0x6c6b,
- /* 2nd byte: 98 */ 0x6c6d,
- /* 2nd byte: 99 */ 0x6c6f,
- /* 2nd byte: 100 */ 0x6c74,
- /* 2nd byte: 101 */ 0x6c76,
- /* 2nd byte: 102 */ 0x6c78,
- /* 2nd byte: 103 */ 0x6c79,
- /* 2nd byte: 104 */ 0x6c7b,
- /* 2nd byte: 105 */ 0x6c85,
- /* 2nd byte: 106 */ 0x6c86,
- /* 2nd byte: 107 */ 0x6c87,
- /* 2nd byte: 108 */ 0x6c89,
- /* 2nd byte: 109 */ 0x6c94,
- /* 2nd byte: 110 */ 0x6c95,
- /* 2nd byte: 111 */ 0x6c97,
- /* 2nd byte: 112 */ 0x6c98,
- /* 2nd byte: 113 */ 0x6c9c,
- /* 2nd byte: 114 */ 0x6c9f,
- /* 2nd byte: 115 */ 0x6cb0,
- /* 2nd byte: 116 */ 0x6cb2,
- /* 2nd byte: 117 */ 0x6cb4,
- /* 2nd byte: 118 */ 0x6cc2,
- /* 2nd byte: 119 */ 0x6cc6,
- /* 2nd byte: 120 */ 0x6ccd,
- /* 2nd byte: 121 */ 0x6ccf,
- /* 2nd byte: 122 */ 0x6cd0,
- /* 2nd byte: 123 */ 0x6cd1,
- /* 2nd byte: 124 */ 0x6cd2,
- /* 2nd byte: 125 */ 0x6cd4,
- /* 2nd byte: 126 */ 0x6cd6},
-/* 1st byte: 71 */ {
- /* 2nd byte: 33 */ 0x6cda,
- /* 2nd byte: 34 */ 0x6cdc,
- /* 2nd byte: 35 */ 0x6ce0,
- /* 2nd byte: 36 */ 0x6ce7,
- /* 2nd byte: 37 */ 0x6ce9,
- /* 2nd byte: 38 */ 0x6ceb,
- /* 2nd byte: 39 */ 0x6cec,
- /* 2nd byte: 40 */ 0x6cee,
- /* 2nd byte: 41 */ 0x6cf2,
- /* 2nd byte: 42 */ 0x6cf4,
- /* 2nd byte: 43 */ 0x6d04,
- /* 2nd byte: 44 */ 0x6d07,
- /* 2nd byte: 45 */ 0x6d0a,
- /* 2nd byte: 46 */ 0x6d0e,
- /* 2nd byte: 47 */ 0x6d0f,
- /* 2nd byte: 48 */ 0x6d11,
- /* 2nd byte: 49 */ 0x6d13,
- /* 2nd byte: 50 */ 0x6d1a,
- /* 2nd byte: 51 */ 0x6d26,
- /* 2nd byte: 52 */ 0x6d27,
- /* 2nd byte: 53 */ 0x6d28,
- /* 2nd byte: 54 */ 0x6c67,
- /* 2nd byte: 55 */ 0x6d2e,
- /* 2nd byte: 56 */ 0x6d2f,
- /* 2nd byte: 57 */ 0x6d31,
- /* 2nd byte: 58 */ 0x6d39,
- /* 2nd byte: 59 */ 0x6d3c,
- /* 2nd byte: 60 */ 0x6d3f,
- /* 2nd byte: 61 */ 0x6d57,
- /* 2nd byte: 62 */ 0x6d5e,
- /* 2nd byte: 63 */ 0x6d5f,
- /* 2nd byte: 64 */ 0x6d61,
- /* 2nd byte: 65 */ 0x6d65,
- /* 2nd byte: 66 */ 0x6d67,
- /* 2nd byte: 67 */ 0x6d6f,
- /* 2nd byte: 68 */ 0x6d70,
- /* 2nd byte: 69 */ 0x6d7c,
- /* 2nd byte: 70 */ 0x6d82,
- /* 2nd byte: 71 */ 0x6d87,
- /* 2nd byte: 72 */ 0x6d91,
- /* 2nd byte: 73 */ 0x6d92,
- /* 2nd byte: 74 */ 0x6d94,
- /* 2nd byte: 75 */ 0x6d96,
- /* 2nd byte: 76 */ 0x6d97,
- /* 2nd byte: 77 */ 0x6d98,
- /* 2nd byte: 78 */ 0x6daa,
- /* 2nd byte: 79 */ 0x6dac,
- /* 2nd byte: 80 */ 0x6db4,
- /* 2nd byte: 81 */ 0x6db7,
- /* 2nd byte: 82 */ 0x6db9,
- /* 2nd byte: 83 */ 0x6dbd,
- /* 2nd byte: 84 */ 0x6dbf,
- /* 2nd byte: 85 */ 0x6dc4,
- /* 2nd byte: 86 */ 0x6dc8,
- /* 2nd byte: 87 */ 0x6dca,
- /* 2nd byte: 88 */ 0x6dce,
- /* 2nd byte: 89 */ 0x6dcf,
- /* 2nd byte: 90 */ 0x6dd6,
- /* 2nd byte: 91 */ 0x6ddb,
- /* 2nd byte: 92 */ 0x6ddd,
- /* 2nd byte: 93 */ 0x6ddf,
- /* 2nd byte: 94 */ 0x6de0,
- /* 2nd byte: 95 */ 0x6de2,
- /* 2nd byte: 96 */ 0x6de5,
- /* 2nd byte: 97 */ 0x6de9,
- /* 2nd byte: 98 */ 0x6def,
- /* 2nd byte: 99 */ 0x6df0,
- /* 2nd byte: 100 */ 0x6df4,
- /* 2nd byte: 101 */ 0x6df6,
- /* 2nd byte: 102 */ 0x6dfc,
- /* 2nd byte: 103 */ 0x6e00,
- /* 2nd byte: 104 */ 0x6e04,
- /* 2nd byte: 105 */ 0x6e1e,
- /* 2nd byte: 106 */ 0x6e22,
- /* 2nd byte: 107 */ 0x6e27,
- /* 2nd byte: 108 */ 0x6e32,
- /* 2nd byte: 109 */ 0x6e36,
- /* 2nd byte: 110 */ 0x6e39,
- /* 2nd byte: 111 */ 0x6e3b,
- /* 2nd byte: 112 */ 0x6e3c,
- /* 2nd byte: 113 */ 0x6e44,
- /* 2nd byte: 114 */ 0x6e45,
- /* 2nd byte: 115 */ 0x6e48,
- /* 2nd byte: 116 */ 0x6e49,
- /* 2nd byte: 117 */ 0x6e4b,
- /* 2nd byte: 118 */ 0x6e4f,
- /* 2nd byte: 119 */ 0x6e51,
- /* 2nd byte: 120 */ 0x6e52,
- /* 2nd byte: 121 */ 0x6e53,
- /* 2nd byte: 122 */ 0x6e54,
- /* 2nd byte: 123 */ 0x6e57,
- /* 2nd byte: 124 */ 0x6e5c,
- /* 2nd byte: 125 */ 0x6e5d,
- /* 2nd byte: 126 */ 0x6e5e},
-/* 1st byte: 72 */ {
- /* 2nd byte: 33 */ 0x6e62,
- /* 2nd byte: 34 */ 0x6e63,
- /* 2nd byte: 35 */ 0x6e68,
- /* 2nd byte: 36 */ 0x6e73,
- /* 2nd byte: 37 */ 0x6e7b,
- /* 2nd byte: 38 */ 0x6e7d,
- /* 2nd byte: 39 */ 0x6e8d,
- /* 2nd byte: 40 */ 0x6e93,
- /* 2nd byte: 41 */ 0x6e99,
- /* 2nd byte: 42 */ 0x6ea0,
- /* 2nd byte: 43 */ 0x6ea7,
- /* 2nd byte: 44 */ 0x6ead,
- /* 2nd byte: 45 */ 0x6eae,
- /* 2nd byte: 46 */ 0x6eb1,
- /* 2nd byte: 47 */ 0x6eb3,
- /* 2nd byte: 48 */ 0x6ebb,
- /* 2nd byte: 49 */ 0x6ebf,
- /* 2nd byte: 50 */ 0x6ec0,
- /* 2nd byte: 51 */ 0x6ec1,
- /* 2nd byte: 52 */ 0x6ec3,
- /* 2nd byte: 53 */ 0x6ec7,
- /* 2nd byte: 54 */ 0x6ec8,
- /* 2nd byte: 55 */ 0x6eca,
- /* 2nd byte: 56 */ 0x6ecd,
- /* 2nd byte: 57 */ 0x6ece,
- /* 2nd byte: 58 */ 0x6ecf,
- /* 2nd byte: 59 */ 0x6eeb,
- /* 2nd byte: 60 */ 0x6eed,
- /* 2nd byte: 61 */ 0x6eee,
- /* 2nd byte: 62 */ 0x6ef9,
- /* 2nd byte: 63 */ 0x6efb,
- /* 2nd byte: 64 */ 0x6efd,
- /* 2nd byte: 65 */ 0x6f04,
- /* 2nd byte: 66 */ 0x6f08,
- /* 2nd byte: 67 */ 0x6f0a,
- /* 2nd byte: 68 */ 0x6f0c,
- /* 2nd byte: 69 */ 0x6f0d,
- /* 2nd byte: 70 */ 0x6f16,
- /* 2nd byte: 71 */ 0x6f18,
- /* 2nd byte: 72 */ 0x6f1a,
- /* 2nd byte: 73 */ 0x6f1b,
- /* 2nd byte: 74 */ 0x6f26,
- /* 2nd byte: 75 */ 0x6f29,
- /* 2nd byte: 76 */ 0x6f2a,
- /* 2nd byte: 77 */ 0x6f2f,
- /* 2nd byte: 78 */ 0x6f30,
- /* 2nd byte: 79 */ 0x6f33,
- /* 2nd byte: 80 */ 0x6f36,
- /* 2nd byte: 81 */ 0x6f3b,
- /* 2nd byte: 82 */ 0x6f3c,
- /* 2nd byte: 83 */ 0x6f2d,
- /* 2nd byte: 84 */ 0x6f4f,
- /* 2nd byte: 85 */ 0x6f51,
- /* 2nd byte: 86 */ 0x6f52,
- /* 2nd byte: 87 */ 0x6f53,
- /* 2nd byte: 88 */ 0x6f57,
- /* 2nd byte: 89 */ 0x6f59,
- /* 2nd byte: 90 */ 0x6f5a,
- /* 2nd byte: 91 */ 0x6f5d,
- /* 2nd byte: 92 */ 0x6f5e,
- /* 2nd byte: 93 */ 0x6f61,
- /* 2nd byte: 94 */ 0x6f62,
- /* 2nd byte: 95 */ 0x6f68,
- /* 2nd byte: 96 */ 0x6f6c,
- /* 2nd byte: 97 */ 0x6f7d,
- /* 2nd byte: 98 */ 0x6f7e,
- /* 2nd byte: 99 */ 0x6f83,
- /* 2nd byte: 100 */ 0x6f87,
- /* 2nd byte: 101 */ 0x6f88,
- /* 2nd byte: 102 */ 0x6f8b,
- /* 2nd byte: 103 */ 0x6f8c,
- /* 2nd byte: 104 */ 0x6f8d,
- /* 2nd byte: 105 */ 0x6f90,
- /* 2nd byte: 106 */ 0x6f92,
- /* 2nd byte: 107 */ 0x6f93,
- /* 2nd byte: 108 */ 0x6f94,
- /* 2nd byte: 109 */ 0x6f96,
- /* 2nd byte: 110 */ 0x6f9a,
- /* 2nd byte: 111 */ 0x6f9f,
- /* 2nd byte: 112 */ 0x6fa0,
- /* 2nd byte: 113 */ 0x6fa5,
- /* 2nd byte: 114 */ 0x6fa6,
- /* 2nd byte: 115 */ 0x6fa7,
- /* 2nd byte: 116 */ 0x6fa8,
- /* 2nd byte: 117 */ 0x6fae,
- /* 2nd byte: 118 */ 0x6faf,
- /* 2nd byte: 119 */ 0x6fb0,
- /* 2nd byte: 120 */ 0x6fb5,
- /* 2nd byte: 121 */ 0x6fb6,
- /* 2nd byte: 122 */ 0x6fbc,
- /* 2nd byte: 123 */ 0x6fc5,
- /* 2nd byte: 124 */ 0x6fc7,
- /* 2nd byte: 125 */ 0x6fc8,
- /* 2nd byte: 126 */ 0x6fca},
-/* 1st byte: 73 */ {
- /* 2nd byte: 33 */ 0x6fda,
- /* 2nd byte: 34 */ 0x6fde,
- /* 2nd byte: 35 */ 0x6fe8,
- /* 2nd byte: 36 */ 0x6fe9,
- /* 2nd byte: 37 */ 0x6ff0,
- /* 2nd byte: 38 */ 0x6ff5,
- /* 2nd byte: 39 */ 0x6ff9,
- /* 2nd byte: 40 */ 0x6ffc,
- /* 2nd byte: 41 */ 0x6ffd,
- /* 2nd byte: 42 */ 0x7000,
- /* 2nd byte: 43 */ 0x7005,
- /* 2nd byte: 44 */ 0x7006,
- /* 2nd byte: 45 */ 0x7007,
- /* 2nd byte: 46 */ 0x700d,
- /* 2nd byte: 47 */ 0x7017,
- /* 2nd byte: 48 */ 0x7020,
- /* 2nd byte: 49 */ 0x7023,
- /* 2nd byte: 50 */ 0x702f,
- /* 2nd byte: 51 */ 0x7034,
- /* 2nd byte: 52 */ 0x7037,
- /* 2nd byte: 53 */ 0x7039,
- /* 2nd byte: 54 */ 0x703c,
- /* 2nd byte: 55 */ 0x7043,
- /* 2nd byte: 56 */ 0x7044,
- /* 2nd byte: 57 */ 0x7048,
- /* 2nd byte: 58 */ 0x7049,
- /* 2nd byte: 59 */ 0x704a,
- /* 2nd byte: 60 */ 0x704b,
- /* 2nd byte: 61 */ 0x7054,
- /* 2nd byte: 62 */ 0x7055,
- /* 2nd byte: 63 */ 0x705d,
- /* 2nd byte: 64 */ 0x705e,
- /* 2nd byte: 65 */ 0x704e,
- /* 2nd byte: 66 */ 0x7064,
- /* 2nd byte: 67 */ 0x7065,
- /* 2nd byte: 68 */ 0x706c,
- /* 2nd byte: 69 */ 0x706e,
- /* 2nd byte: 70 */ 0x7075,
- /* 2nd byte: 71 */ 0x7076,
- /* 2nd byte: 72 */ 0x707e,
- /* 2nd byte: 73 */ 0x7081,
- /* 2nd byte: 74 */ 0x7085,
- /* 2nd byte: 75 */ 0x7086,
- /* 2nd byte: 76 */ 0x7094,
- /* 2nd byte: 77 */ 0x7095,
- /* 2nd byte: 78 */ 0x7096,
- /* 2nd byte: 79 */ 0x7097,
- /* 2nd byte: 80 */ 0x7098,
- /* 2nd byte: 81 */ 0x709b,
- /* 2nd byte: 82 */ 0x70a4,
- /* 2nd byte: 83 */ 0x70ab,
- /* 2nd byte: 84 */ 0x70b0,
- /* 2nd byte: 85 */ 0x70b1,
- /* 2nd byte: 86 */ 0x70b4,
- /* 2nd byte: 87 */ 0x70b7,
- /* 2nd byte: 88 */ 0x70ca,
- /* 2nd byte: 89 */ 0x70d1,
- /* 2nd byte: 90 */ 0x70d3,
- /* 2nd byte: 91 */ 0x70d4,
- /* 2nd byte: 92 */ 0x70d5,
- /* 2nd byte: 93 */ 0x70d6,
- /* 2nd byte: 94 */ 0x70d8,
- /* 2nd byte: 95 */ 0x70dc,
- /* 2nd byte: 96 */ 0x70e4,
- /* 2nd byte: 97 */ 0x70fa,
- /* 2nd byte: 98 */ 0x7103,
- /* 2nd byte: 99 */ 0x7104,
- /* 2nd byte: 100 */ 0x7105,
- /* 2nd byte: 101 */ 0x7106,
- /* 2nd byte: 102 */ 0x7107,
- /* 2nd byte: 103 */ 0x710b,
- /* 2nd byte: 104 */ 0x710c,
- /* 2nd byte: 105 */ 0x710f,
- /* 2nd byte: 106 */ 0x711e,
- /* 2nd byte: 107 */ 0x7120,
- /* 2nd byte: 108 */ 0x712b,
- /* 2nd byte: 109 */ 0x712d,
- /* 2nd byte: 110 */ 0x712f,
- /* 2nd byte: 111 */ 0x7130,
- /* 2nd byte: 112 */ 0x7131,
- /* 2nd byte: 113 */ 0x7138,
- /* 2nd byte: 114 */ 0x7141,
- /* 2nd byte: 115 */ 0x7145,
- /* 2nd byte: 116 */ 0x7146,
- /* 2nd byte: 117 */ 0x7147,
- /* 2nd byte: 118 */ 0x714a,
- /* 2nd byte: 119 */ 0x714b,
- /* 2nd byte: 120 */ 0x7150,
- /* 2nd byte: 121 */ 0x7152,
- /* 2nd byte: 122 */ 0x7157,
- /* 2nd byte: 123 */ 0x715a,
- /* 2nd byte: 124 */ 0x715c,
- /* 2nd byte: 125 */ 0x715e,
- /* 2nd byte: 126 */ 0x7160},
-/* 1st byte: 74 */ {
- /* 2nd byte: 33 */ 0x7168,
- /* 2nd byte: 34 */ 0x7179,
- /* 2nd byte: 35 */ 0x7180,
- /* 2nd byte: 36 */ 0x7185,
- /* 2nd byte: 37 */ 0x7187,
- /* 2nd byte: 38 */ 0x718c,
- /* 2nd byte: 39 */ 0x7192,
- /* 2nd byte: 40 */ 0x719a,
- /* 2nd byte: 41 */ 0x719b,
- /* 2nd byte: 42 */ 0x71a0,
- /* 2nd byte: 43 */ 0x71a2,
- /* 2nd byte: 44 */ 0x71af,
- /* 2nd byte: 45 */ 0x71b0,
- /* 2nd byte: 46 */ 0x71b2,
- /* 2nd byte: 47 */ 0x71b3,
- /* 2nd byte: 48 */ 0x71ba,
- /* 2nd byte: 49 */ 0x71bf,
- /* 2nd byte: 50 */ 0x71c0,
- /* 2nd byte: 51 */ 0x71c1,
- /* 2nd byte: 52 */ 0x71c4,
- /* 2nd byte: 53 */ 0x71cb,
- /* 2nd byte: 54 */ 0x71cc,
- /* 2nd byte: 55 */ 0x71d3,
- /* 2nd byte: 56 */ 0x71d6,
- /* 2nd byte: 57 */ 0x71d9,
- /* 2nd byte: 58 */ 0x71da,
- /* 2nd byte: 59 */ 0x71dc,
- /* 2nd byte: 60 */ 0x71f8,
- /* 2nd byte: 61 */ 0x71fe,
- /* 2nd byte: 62 */ 0x7200,
- /* 2nd byte: 63 */ 0x7207,
- /* 2nd byte: 64 */ 0x7208,
- /* 2nd byte: 65 */ 0x7209,
- /* 2nd byte: 66 */ 0x7213,
- /* 2nd byte: 67 */ 0x7217,
- /* 2nd byte: 68 */ 0x721a,
- /* 2nd byte: 69 */ 0x721d,
- /* 2nd byte: 70 */ 0x721f,
- /* 2nd byte: 71 */ 0x7224,
- /* 2nd byte: 72 */ 0x722b,
- /* 2nd byte: 73 */ 0x722f,
- /* 2nd byte: 74 */ 0x7234,
- /* 2nd byte: 75 */ 0x7238,
- /* 2nd byte: 76 */ 0x7239,
- /* 2nd byte: 77 */ 0x7241,
- /* 2nd byte: 78 */ 0x7242,
- /* 2nd byte: 79 */ 0x7243,
- /* 2nd byte: 80 */ 0x7245,
- /* 2nd byte: 81 */ 0x724e,
- /* 2nd byte: 82 */ 0x724f,
- /* 2nd byte: 83 */ 0x7250,
- /* 2nd byte: 84 */ 0x7253,
- /* 2nd byte: 85 */ 0x7255,
- /* 2nd byte: 86 */ 0x7256,
- /* 2nd byte: 87 */ 0x725a,
- /* 2nd byte: 88 */ 0x725c,
- /* 2nd byte: 89 */ 0x725e,
- /* 2nd byte: 90 */ 0x7260,
- /* 2nd byte: 91 */ 0x7263,
- /* 2nd byte: 92 */ 0x7268,
- /* 2nd byte: 93 */ 0x726b,
- /* 2nd byte: 94 */ 0x726e,
- /* 2nd byte: 95 */ 0x726f,
- /* 2nd byte: 96 */ 0x7271,
- /* 2nd byte: 97 */ 0x7277,
- /* 2nd byte: 98 */ 0x7278,
- /* 2nd byte: 99 */ 0x727b,
- /* 2nd byte: 100 */ 0x727c,
- /* 2nd byte: 101 */ 0x727f,
- /* 2nd byte: 102 */ 0x7284,
- /* 2nd byte: 103 */ 0x7289,
- /* 2nd byte: 104 */ 0x728d,
- /* 2nd byte: 105 */ 0x728e,
- /* 2nd byte: 106 */ 0x7293,
- /* 2nd byte: 107 */ 0x729b,
- /* 2nd byte: 108 */ 0x72a8,
- /* 2nd byte: 109 */ 0x72ad,
- /* 2nd byte: 110 */ 0x72ae,
- /* 2nd byte: 111 */ 0x72b1,
- /* 2nd byte: 112 */ 0x72b4,
- /* 2nd byte: 113 */ 0x72be,
- /* 2nd byte: 114 */ 0x72c1,
- /* 2nd byte: 115 */ 0x72c7,
- /* 2nd byte: 116 */ 0x72c9,
- /* 2nd byte: 117 */ 0x72cc,
- /* 2nd byte: 118 */ 0x72d5,
- /* 2nd byte: 119 */ 0x72d6,
- /* 2nd byte: 120 */ 0x72d8,
- /* 2nd byte: 121 */ 0x72df,
- /* 2nd byte: 122 */ 0x72e5,
- /* 2nd byte: 123 */ 0x72f3,
- /* 2nd byte: 124 */ 0x72f4,
- /* 2nd byte: 125 */ 0x72fa,
- /* 2nd byte: 126 */ 0x72fb},
-/* 1st byte: 75 */ {
- /* 2nd byte: 33 */ 0x72fe,
- /* 2nd byte: 34 */ 0x7302,
- /* 2nd byte: 35 */ 0x7304,
- /* 2nd byte: 36 */ 0x7305,
- /* 2nd byte: 37 */ 0x7307,
- /* 2nd byte: 38 */ 0x730b,
- /* 2nd byte: 39 */ 0x730d,
- /* 2nd byte: 40 */ 0x7312,
- /* 2nd byte: 41 */ 0x7313,
- /* 2nd byte: 42 */ 0x7318,
- /* 2nd byte: 43 */ 0x7319,
- /* 2nd byte: 44 */ 0x731e,
- /* 2nd byte: 45 */ 0x7322,
- /* 2nd byte: 46 */ 0x7324,
- /* 2nd byte: 47 */ 0x7327,
- /* 2nd byte: 48 */ 0x7328,
- /* 2nd byte: 49 */ 0x732c,
- /* 2nd byte: 50 */ 0x7331,
- /* 2nd byte: 51 */ 0x7332,
- /* 2nd byte: 52 */ 0x7335,
- /* 2nd byte: 53 */ 0x733a,
- /* 2nd byte: 54 */ 0x733b,
- /* 2nd byte: 55 */ 0x733d,
- /* 2nd byte: 56 */ 0x7343,
- /* 2nd byte: 57 */ 0x734d,
- /* 2nd byte: 58 */ 0x7350,
- /* 2nd byte: 59 */ 0x7352,
- /* 2nd byte: 60 */ 0x7356,
- /* 2nd byte: 61 */ 0x7358,
- /* 2nd byte: 62 */ 0x735d,
- /* 2nd byte: 63 */ 0x735e,
- /* 2nd byte: 64 */ 0x735f,
- /* 2nd byte: 65 */ 0x7360,
- /* 2nd byte: 66 */ 0x7366,
- /* 2nd byte: 67 */ 0x7367,
- /* 2nd byte: 68 */ 0x7369,
- /* 2nd byte: 69 */ 0x736b,
- /* 2nd byte: 70 */ 0x736c,
- /* 2nd byte: 71 */ 0x736e,
- /* 2nd byte: 72 */ 0x736f,
- /* 2nd byte: 73 */ 0x7371,
- /* 2nd byte: 74 */ 0x7377,
- /* 2nd byte: 75 */ 0x7379,
- /* 2nd byte: 76 */ 0x737c,
- /* 2nd byte: 77 */ 0x7380,
- /* 2nd byte: 78 */ 0x7381,
- /* 2nd byte: 79 */ 0x7383,
- /* 2nd byte: 80 */ 0x7385,
- /* 2nd byte: 81 */ 0x7386,
- /* 2nd byte: 82 */ 0x738e,
- /* 2nd byte: 83 */ 0x7390,
- /* 2nd byte: 84 */ 0x7393,
- /* 2nd byte: 85 */ 0x7395,
- /* 2nd byte: 86 */ 0x7397,
- /* 2nd byte: 87 */ 0x7398,
- /* 2nd byte: 88 */ 0x739c,
- /* 2nd byte: 89 */ 0x739e,
- /* 2nd byte: 90 */ 0x739f,
- /* 2nd byte: 91 */ 0x73a0,
- /* 2nd byte: 92 */ 0x73a2,
- /* 2nd byte: 93 */ 0x73a5,
- /* 2nd byte: 94 */ 0x73a6,
- /* 2nd byte: 95 */ 0x73aa,
- /* 2nd byte: 96 */ 0x73ab,
- /* 2nd byte: 97 */ 0x73ad,
- /* 2nd byte: 98 */ 0x73b5,
- /* 2nd byte: 99 */ 0x73b7,
- /* 2nd byte: 100 */ 0x73b9,
- /* 2nd byte: 101 */ 0x73bc,
- /* 2nd byte: 102 */ 0x73bd,
- /* 2nd byte: 103 */ 0x73bf,
- /* 2nd byte: 104 */ 0x73c5,
- /* 2nd byte: 105 */ 0x73c6,
- /* 2nd byte: 106 */ 0x73c9,
- /* 2nd byte: 107 */ 0x73cb,
- /* 2nd byte: 108 */ 0x73cc,
- /* 2nd byte: 109 */ 0x73cf,
- /* 2nd byte: 110 */ 0x73d2,
- /* 2nd byte: 111 */ 0x73d3,
- /* 2nd byte: 112 */ 0x73d6,
- /* 2nd byte: 113 */ 0x73d9,
- /* 2nd byte: 114 */ 0x73dd,
- /* 2nd byte: 115 */ 0x73e1,
- /* 2nd byte: 116 */ 0x73e3,
- /* 2nd byte: 117 */ 0x73e6,
- /* 2nd byte: 118 */ 0x73e7,
- /* 2nd byte: 119 */ 0x73e9,
- /* 2nd byte: 120 */ 0x73f4,
- /* 2nd byte: 121 */ 0x73f5,
- /* 2nd byte: 122 */ 0x73f7,
- /* 2nd byte: 123 */ 0x73f9,
- /* 2nd byte: 124 */ 0x73fa,
- /* 2nd byte: 125 */ 0x73fb,
- /* 2nd byte: 126 */ 0x73fd},
-/* 1st byte: 76 */ {
- /* 2nd byte: 33 */ 0x73ff,
- /* 2nd byte: 34 */ 0x7400,
- /* 2nd byte: 35 */ 0x7401,
- /* 2nd byte: 36 */ 0x7404,
- /* 2nd byte: 37 */ 0x7407,
- /* 2nd byte: 38 */ 0x740a,
- /* 2nd byte: 39 */ 0x7411,
- /* 2nd byte: 40 */ 0x741a,
- /* 2nd byte: 41 */ 0x741b,
- /* 2nd byte: 42 */ 0x7424,
- /* 2nd byte: 43 */ 0x7426,
- /* 2nd byte: 44 */ 0x7428,
- /* 2nd byte: 45 */ 0x7429,
- /* 2nd byte: 46 */ 0x742a,
- /* 2nd byte: 47 */ 0x742b,
- /* 2nd byte: 48 */ 0x742c,
- /* 2nd byte: 49 */ 0x742d,
- /* 2nd byte: 50 */ 0x742e,
- /* 2nd byte: 51 */ 0x742f,
- /* 2nd byte: 52 */ 0x7430,
- /* 2nd byte: 53 */ 0x7431,
- /* 2nd byte: 54 */ 0x7439,
- /* 2nd byte: 55 */ 0x7440,
- /* 2nd byte: 56 */ 0x7443,
- /* 2nd byte: 57 */ 0x7444,
- /* 2nd byte: 58 */ 0x7446,
- /* 2nd byte: 59 */ 0x7447,
- /* 2nd byte: 60 */ 0x744b,
- /* 2nd byte: 61 */ 0x744d,
- /* 2nd byte: 62 */ 0x7451,
- /* 2nd byte: 63 */ 0x7452,
- /* 2nd byte: 64 */ 0x7457,
- /* 2nd byte: 65 */ 0x745d,
- /* 2nd byte: 66 */ 0x7462,
- /* 2nd byte: 67 */ 0x7466,
- /* 2nd byte: 68 */ 0x7467,
- /* 2nd byte: 69 */ 0x7468,
- /* 2nd byte: 70 */ 0x746b,
- /* 2nd byte: 71 */ 0x746d,
- /* 2nd byte: 72 */ 0x746e,
- /* 2nd byte: 73 */ 0x7471,
- /* 2nd byte: 74 */ 0x7472,
- /* 2nd byte: 75 */ 0x7480,
- /* 2nd byte: 76 */ 0x7481,
- /* 2nd byte: 77 */ 0x7485,
- /* 2nd byte: 78 */ 0x7486,
- /* 2nd byte: 79 */ 0x7487,
- /* 2nd byte: 80 */ 0x7489,
- /* 2nd byte: 81 */ 0x748f,
- /* 2nd byte: 82 */ 0x7490,
- /* 2nd byte: 83 */ 0x7491,
- /* 2nd byte: 84 */ 0x7492,
- /* 2nd byte: 85 */ 0x7498,
- /* 2nd byte: 86 */ 0x7499,
- /* 2nd byte: 87 */ 0x749a,
- /* 2nd byte: 88 */ 0x749c,
- /* 2nd byte: 89 */ 0x749f,
- /* 2nd byte: 90 */ 0x74a0,
- /* 2nd byte: 91 */ 0x74a1,
- /* 2nd byte: 92 */ 0x74a3,
- /* 2nd byte: 93 */ 0x74a6,
- /* 2nd byte: 94 */ 0x74a8,
- /* 2nd byte: 95 */ 0x74a9,
- /* 2nd byte: 96 */ 0x74aa,
- /* 2nd byte: 97 */ 0x74ab,
- /* 2nd byte: 98 */ 0x74ae,
- /* 2nd byte: 99 */ 0x74af,
- /* 2nd byte: 100 */ 0x74b1,
- /* 2nd byte: 101 */ 0x74b2,
- /* 2nd byte: 102 */ 0x74b5,
- /* 2nd byte: 103 */ 0x74b9,
- /* 2nd byte: 104 */ 0x74bb,
- /* 2nd byte: 105 */ 0x74bf,
- /* 2nd byte: 106 */ 0x74c8,
- /* 2nd byte: 107 */ 0x74c9,
- /* 2nd byte: 108 */ 0x74cc,
- /* 2nd byte: 109 */ 0x74d0,
- /* 2nd byte: 110 */ 0x74d3,
- /* 2nd byte: 111 */ 0x74d8,
- /* 2nd byte: 112 */ 0x74da,
- /* 2nd byte: 113 */ 0x74db,
- /* 2nd byte: 114 */ 0x74de,
- /* 2nd byte: 115 */ 0x74df,
- /* 2nd byte: 116 */ 0x74e4,
- /* 2nd byte: 117 */ 0x74e8,
- /* 2nd byte: 118 */ 0x74ea,
- /* 2nd byte: 119 */ 0x74eb,
- /* 2nd byte: 120 */ 0x74ef,
- /* 2nd byte: 121 */ 0x74f4,
- /* 2nd byte: 122 */ 0x74fa,
- /* 2nd byte: 123 */ 0x74fb,
- /* 2nd byte: 124 */ 0x74fc,
- /* 2nd byte: 125 */ 0x74ff,
- /* 2nd byte: 126 */ 0x7506},
-/* 1st byte: 77 */ {
- /* 2nd byte: 33 */ 0x7512,
- /* 2nd byte: 34 */ 0x7516,
- /* 2nd byte: 35 */ 0x7517,
- /* 2nd byte: 36 */ 0x7520,
- /* 2nd byte: 37 */ 0x7521,
- /* 2nd byte: 38 */ 0x7524,
- /* 2nd byte: 39 */ 0x7527,
- /* 2nd byte: 40 */ 0x7529,
- /* 2nd byte: 41 */ 0x752a,
- /* 2nd byte: 42 */ 0x752f,
- /* 2nd byte: 43 */ 0x7536,
- /* 2nd byte: 44 */ 0x7539,
- /* 2nd byte: 45 */ 0x753d,
- /* 2nd byte: 46 */ 0x753e,
- /* 2nd byte: 47 */ 0x753f,
- /* 2nd byte: 48 */ 0x7540,
- /* 2nd byte: 49 */ 0x7543,
- /* 2nd byte: 50 */ 0x7547,
- /* 2nd byte: 51 */ 0x7548,
- /* 2nd byte: 52 */ 0x754e,
- /* 2nd byte: 53 */ 0x7550,
- /* 2nd byte: 54 */ 0x7552,
- /* 2nd byte: 55 */ 0x7557,
- /* 2nd byte: 56 */ 0x755e,
- /* 2nd byte: 57 */ 0x755f,
- /* 2nd byte: 58 */ 0x7561,
- /* 2nd byte: 59 */ 0x756f,
- /* 2nd byte: 60 */ 0x7571,
- /* 2nd byte: 61 */ 0x7579,
- /* 2nd byte: 62 */ 0x757a,
- /* 2nd byte: 63 */ 0x757b,
- /* 2nd byte: 64 */ 0x757c,
- /* 2nd byte: 65 */ 0x757d,
- /* 2nd byte: 66 */ 0x757e,
- /* 2nd byte: 67 */ 0x7581,
- /* 2nd byte: 68 */ 0x7585,
- /* 2nd byte: 69 */ 0x7590,
- /* 2nd byte: 70 */ 0x7592,
- /* 2nd byte: 71 */ 0x7593,
- /* 2nd byte: 72 */ 0x7595,
- /* 2nd byte: 73 */ 0x7599,
- /* 2nd byte: 74 */ 0x759c,
- /* 2nd byte: 75 */ 0x75a2,
- /* 2nd byte: 76 */ 0x75a4,
- /* 2nd byte: 77 */ 0x75b4,
- /* 2nd byte: 78 */ 0x75ba,
- /* 2nd byte: 79 */ 0x75bf,
- /* 2nd byte: 80 */ 0x75c0,
- /* 2nd byte: 81 */ 0x75c1,
- /* 2nd byte: 82 */ 0x75c4,
- /* 2nd byte: 83 */ 0x75c6,
- /* 2nd byte: 84 */ 0x75cc,
- /* 2nd byte: 85 */ 0x75ce,
- /* 2nd byte: 86 */ 0x75cf,
- /* 2nd byte: 87 */ 0x75d7,
- /* 2nd byte: 88 */ 0x75dc,
- /* 2nd byte: 89 */ 0x75df,
- /* 2nd byte: 90 */ 0x75e0,
- /* 2nd byte: 91 */ 0x75e1,
- /* 2nd byte: 92 */ 0x75e4,
- /* 2nd byte: 93 */ 0x75e7,
- /* 2nd byte: 94 */ 0x75ec,
- /* 2nd byte: 95 */ 0x75ee,
- /* 2nd byte: 96 */ 0x75ef,
- /* 2nd byte: 97 */ 0x75f1,
- /* 2nd byte: 98 */ 0x75f9,
- /* 2nd byte: 99 */ 0x7600,
- /* 2nd byte: 100 */ 0x7602,
- /* 2nd byte: 101 */ 0x7603,
- /* 2nd byte: 102 */ 0x7604,
- /* 2nd byte: 103 */ 0x7607,
- /* 2nd byte: 104 */ 0x7608,
- /* 2nd byte: 105 */ 0x760a,
- /* 2nd byte: 106 */ 0x760c,
- /* 2nd byte: 107 */ 0x760f,
- /* 2nd byte: 108 */ 0x7612,
- /* 2nd byte: 109 */ 0x7613,
- /* 2nd byte: 110 */ 0x7615,
- /* 2nd byte: 111 */ 0x7616,
- /* 2nd byte: 112 */ 0x7619,
- /* 2nd byte: 113 */ 0x761b,
- /* 2nd byte: 114 */ 0x761c,
- /* 2nd byte: 115 */ 0x761d,
- /* 2nd byte: 116 */ 0x761e,
- /* 2nd byte: 117 */ 0x7623,
- /* 2nd byte: 118 */ 0x7625,
- /* 2nd byte: 119 */ 0x7626,
- /* 2nd byte: 120 */ 0x7629,
- /* 2nd byte: 121 */ 0x762d,
- /* 2nd byte: 122 */ 0x7632,
- /* 2nd byte: 123 */ 0x7633,
- /* 2nd byte: 124 */ 0x7635,
- /* 2nd byte: 125 */ 0x7638,
- /* 2nd byte: 126 */ 0x7639},
-/* 1st byte: 78 */ {
- /* 2nd byte: 33 */ 0x763a,
- /* 2nd byte: 34 */ 0x763c,
- /* 2nd byte: 35 */ 0x764a,
- /* 2nd byte: 36 */ 0x7640,
- /* 2nd byte: 37 */ 0x7641,
- /* 2nd byte: 38 */ 0x7643,
- /* 2nd byte: 39 */ 0x7644,
- /* 2nd byte: 40 */ 0x7645,
- /* 2nd byte: 41 */ 0x7649,
- /* 2nd byte: 42 */ 0x764b,
- /* 2nd byte: 43 */ 0x7655,
- /* 2nd byte: 44 */ 0x7659,
- /* 2nd byte: 45 */ 0x765f,
- /* 2nd byte: 46 */ 0x7664,
- /* 2nd byte: 47 */ 0x7665,
- /* 2nd byte: 48 */ 0x766d,
- /* 2nd byte: 49 */ 0x766e,
- /* 2nd byte: 50 */ 0x766f,
- /* 2nd byte: 51 */ 0x7671,
- /* 2nd byte: 52 */ 0x7674,
- /* 2nd byte: 53 */ 0x7681,
- /* 2nd byte: 54 */ 0x7685,
- /* 2nd byte: 55 */ 0x768c,
- /* 2nd byte: 56 */ 0x768d,
- /* 2nd byte: 57 */ 0x7695,
- /* 2nd byte: 58 */ 0x769b,
- /* 2nd byte: 59 */ 0x769c,
- /* 2nd byte: 60 */ 0x769d,
- /* 2nd byte: 61 */ 0x769f,
- /* 2nd byte: 62 */ 0x76a0,
- /* 2nd byte: 63 */ 0x76a2,
- /* 2nd byte: 64 */ 0x76a3,
- /* 2nd byte: 65 */ 0x76a4,
- /* 2nd byte: 66 */ 0x76a5,
- /* 2nd byte: 67 */ 0x76a6,
- /* 2nd byte: 68 */ 0x76a7,
- /* 2nd byte: 69 */ 0x76a8,
- /* 2nd byte: 70 */ 0x76aa,
- /* 2nd byte: 71 */ 0x76ad,
- /* 2nd byte: 72 */ 0x76bd,
- /* 2nd byte: 73 */ 0x76c1,
- /* 2nd byte: 74 */ 0x76c5,
- /* 2nd byte: 75 */ 0x76c9,
- /* 2nd byte: 76 */ 0x76cb,
- /* 2nd byte: 77 */ 0x76cc,
- /* 2nd byte: 78 */ 0x76ce,
- /* 2nd byte: 79 */ 0x76d4,
- /* 2nd byte: 80 */ 0x76d9,
- /* 2nd byte: 81 */ 0x76e0,
- /* 2nd byte: 82 */ 0x76e6,
- /* 2nd byte: 83 */ 0x76e8,
- /* 2nd byte: 84 */ 0x76ec,
- /* 2nd byte: 85 */ 0x76f0,
- /* 2nd byte: 86 */ 0x76f1,
- /* 2nd byte: 87 */ 0x76f6,
- /* 2nd byte: 88 */ 0x76f9,
- /* 2nd byte: 89 */ 0x76fc,
- /* 2nd byte: 90 */ 0x7700,
- /* 2nd byte: 91 */ 0x7706,
- /* 2nd byte: 92 */ 0x770a,
- /* 2nd byte: 93 */ 0x770e,
- /* 2nd byte: 94 */ 0x7712,
- /* 2nd byte: 95 */ 0x7714,
- /* 2nd byte: 96 */ 0x7715,
- /* 2nd byte: 97 */ 0x7717,
- /* 2nd byte: 98 */ 0x7719,
- /* 2nd byte: 99 */ 0x771a,
- /* 2nd byte: 100 */ 0x771c,
- /* 2nd byte: 101 */ 0x7722,
- /* 2nd byte: 102 */ 0x7728,
- /* 2nd byte: 103 */ 0x772d,
- /* 2nd byte: 104 */ 0x772e,
- /* 2nd byte: 105 */ 0x772f,
- /* 2nd byte: 106 */ 0x7734,
- /* 2nd byte: 107 */ 0x7735,
- /* 2nd byte: 108 */ 0x7736,
- /* 2nd byte: 109 */ 0x7739,
- /* 2nd byte: 110 */ 0x773d,
- /* 2nd byte: 111 */ 0x773e,
- /* 2nd byte: 112 */ 0x7742,
- /* 2nd byte: 113 */ 0x7745,
- /* 2nd byte: 114 */ 0x7746,
- /* 2nd byte: 115 */ 0x774a,
- /* 2nd byte: 116 */ 0x774d,
- /* 2nd byte: 117 */ 0x774e,
- /* 2nd byte: 118 */ 0x774f,
- /* 2nd byte: 119 */ 0x7752,
- /* 2nd byte: 120 */ 0x7756,
- /* 2nd byte: 121 */ 0x7757,
- /* 2nd byte: 122 */ 0x775c,
- /* 2nd byte: 123 */ 0x775e,
- /* 2nd byte: 124 */ 0x775f,
- /* 2nd byte: 125 */ 0x7760,
- /* 2nd byte: 126 */ 0x7762},
-/* 1st byte: 79 */ {
- /* 2nd byte: 33 */ 0x7764,
- /* 2nd byte: 34 */ 0x7767,
- /* 2nd byte: 35 */ 0x776a,
- /* 2nd byte: 36 */ 0x776c,
- /* 2nd byte: 37 */ 0x7770,
- /* 2nd byte: 38 */ 0x7772,
- /* 2nd byte: 39 */ 0x7773,
- /* 2nd byte: 40 */ 0x7774,
- /* 2nd byte: 41 */ 0x777a,
- /* 2nd byte: 42 */ 0x777d,
- /* 2nd byte: 43 */ 0x7780,
- /* 2nd byte: 44 */ 0x7784,
- /* 2nd byte: 45 */ 0x778c,
- /* 2nd byte: 46 */ 0x778d,
- /* 2nd byte: 47 */ 0x7794,
- /* 2nd byte: 48 */ 0x7795,
- /* 2nd byte: 49 */ 0x7796,
- /* 2nd byte: 50 */ 0x779a,
- /* 2nd byte: 51 */ 0x779f,
- /* 2nd byte: 52 */ 0x77a2,
- /* 2nd byte: 53 */ 0x77a7,
- /* 2nd byte: 54 */ 0x77aa,
- /* 2nd byte: 55 */ 0x77ae,
- /* 2nd byte: 56 */ 0x77af,
- /* 2nd byte: 57 */ 0x77b1,
- /* 2nd byte: 58 */ 0x77b5,
- /* 2nd byte: 59 */ 0x77be,
- /* 2nd byte: 60 */ 0x77c3,
- /* 2nd byte: 61 */ 0x77c9,
- /* 2nd byte: 62 */ 0x77d1,
- /* 2nd byte: 63 */ 0x77d2,
- /* 2nd byte: 64 */ 0x77d5,
- /* 2nd byte: 65 */ 0x77d9,
- /* 2nd byte: 66 */ 0x77de,
- /* 2nd byte: 67 */ 0x77df,
- /* 2nd byte: 68 */ 0x77e0,
- /* 2nd byte: 69 */ 0x77e4,
- /* 2nd byte: 70 */ 0x77e6,
- /* 2nd byte: 71 */ 0x77ea,
- /* 2nd byte: 72 */ 0x77ec,
- /* 2nd byte: 73 */ 0x77f0,
- /* 2nd byte: 74 */ 0x77f1,
- /* 2nd byte: 75 */ 0x77f4,
- /* 2nd byte: 76 */ 0x77f8,
- /* 2nd byte: 77 */ 0x77fb,
- /* 2nd byte: 78 */ 0x7805,
- /* 2nd byte: 79 */ 0x7806,
- /* 2nd byte: 80 */ 0x7809,
- /* 2nd byte: 81 */ 0x780d,
- /* 2nd byte: 82 */ 0x780e,
- /* 2nd byte: 83 */ 0x7811,
- /* 2nd byte: 84 */ 0x781d,
- /* 2nd byte: 85 */ 0x7821,
- /* 2nd byte: 86 */ 0x7822,
- /* 2nd byte: 87 */ 0x7823,
- /* 2nd byte: 88 */ 0x782d,
- /* 2nd byte: 89 */ 0x782e,
- /* 2nd byte: 90 */ 0x7830,
- /* 2nd byte: 91 */ 0x7835,
- /* 2nd byte: 92 */ 0x7837,
- /* 2nd byte: 93 */ 0x7843,
- /* 2nd byte: 94 */ 0x7844,
- /* 2nd byte: 95 */ 0x7847,
- /* 2nd byte: 96 */ 0x7848,
- /* 2nd byte: 97 */ 0x784c,
- /* 2nd byte: 98 */ 0x784e,
- /* 2nd byte: 99 */ 0x7852,
- /* 2nd byte: 100 */ 0x785c,
- /* 2nd byte: 101 */ 0x785e,
- /* 2nd byte: 102 */ 0x7860,
- /* 2nd byte: 103 */ 0x7861,
- /* 2nd byte: 104 */ 0x7863,
- /* 2nd byte: 105 */ 0x7864,
- /* 2nd byte: 106 */ 0x7868,
- /* 2nd byte: 107 */ 0x786a,
- /* 2nd byte: 108 */ 0x786e,
- /* 2nd byte: 109 */ 0x787a,
- /* 2nd byte: 110 */ 0x787e,
- /* 2nd byte: 111 */ 0x788a,
- /* 2nd byte: 112 */ 0x788f,
- /* 2nd byte: 113 */ 0x7894,
- /* 2nd byte: 114 */ 0x7898,
- /* 2nd byte: 115 */ 0x78a1,
- /* 2nd byte: 116 */ 0x789d,
- /* 2nd byte: 117 */ 0x789e,
- /* 2nd byte: 118 */ 0x789f,
- /* 2nd byte: 119 */ 0x78a4,
- /* 2nd byte: 120 */ 0x78a8,
- /* 2nd byte: 121 */ 0x78ac,
- /* 2nd byte: 122 */ 0x78ad,
- /* 2nd byte: 123 */ 0x78b0,
- /* 2nd byte: 124 */ 0x78b1,
- /* 2nd byte: 125 */ 0x78b2,
- /* 2nd byte: 126 */ 0x78b3},
-/* 1st byte: 80 */ {
- /* 2nd byte: 33 */ 0x78bb,
- /* 2nd byte: 34 */ 0x78bd,
- /* 2nd byte: 35 */ 0x78bf,
- /* 2nd byte: 36 */ 0x78c7,
- /* 2nd byte: 37 */ 0x78c8,
- /* 2nd byte: 38 */ 0x78c9,
- /* 2nd byte: 39 */ 0x78cc,
- /* 2nd byte: 40 */ 0x78ce,
- /* 2nd byte: 41 */ 0x78d2,
- /* 2nd byte: 42 */ 0x78d3,
- /* 2nd byte: 43 */ 0x78d5,
- /* 2nd byte: 44 */ 0x78d6,
- /* 2nd byte: 45 */ 0x78e4,
- /* 2nd byte: 46 */ 0x78db,
- /* 2nd byte: 47 */ 0x78df,
- /* 2nd byte: 48 */ 0x78e0,
- /* 2nd byte: 49 */ 0x78e1,
- /* 2nd byte: 50 */ 0x78e6,
- /* 2nd byte: 51 */ 0x78ea,
- /* 2nd byte: 52 */ 0x78f2,
- /* 2nd byte: 53 */ 0x78f3,
- /* 2nd byte: 54 */ 0x7900,
- /* 2nd byte: 55 */ 0x78f6,
- /* 2nd byte: 56 */ 0x78f7,
- /* 2nd byte: 57 */ 0x78fa,
- /* 2nd byte: 58 */ 0x78fb,
- /* 2nd byte: 59 */ 0x78ff,
- /* 2nd byte: 60 */ 0x7906,
- /* 2nd byte: 61 */ 0x790c,
- /* 2nd byte: 62 */ 0x7910,
- /* 2nd byte: 63 */ 0x791a,
- /* 2nd byte: 64 */ 0x791c,
- /* 2nd byte: 65 */ 0x791e,
- /* 2nd byte: 66 */ 0x791f,
- /* 2nd byte: 67 */ 0x7920,
- /* 2nd byte: 68 */ 0x7925,
- /* 2nd byte: 69 */ 0x7927,
- /* 2nd byte: 70 */ 0x7929,
- /* 2nd byte: 71 */ 0x792d,
- /* 2nd byte: 72 */ 0x7931,
- /* 2nd byte: 73 */ 0x7934,
- /* 2nd byte: 74 */ 0x7935,
- /* 2nd byte: 75 */ 0x793b,
- /* 2nd byte: 76 */ 0x793d,
- /* 2nd byte: 77 */ 0x793f,
- /* 2nd byte: 78 */ 0x7944,
- /* 2nd byte: 79 */ 0x7945,
- /* 2nd byte: 80 */ 0x7946,
- /* 2nd byte: 81 */ 0x794a,
- /* 2nd byte: 82 */ 0x794b,
- /* 2nd byte: 83 */ 0x794f,
- /* 2nd byte: 84 */ 0x7951,
- /* 2nd byte: 85 */ 0x7954,
- /* 2nd byte: 86 */ 0x7958,
- /* 2nd byte: 87 */ 0x795b,
- /* 2nd byte: 88 */ 0x795c,
- /* 2nd byte: 89 */ 0x7967,
- /* 2nd byte: 90 */ 0x7969,
- /* 2nd byte: 91 */ 0x796b,
- /* 2nd byte: 92 */ 0x7972,
- /* 2nd byte: 93 */ 0x7979,
- /* 2nd byte: 94 */ 0x797b,
- /* 2nd byte: 95 */ 0x797c,
- /* 2nd byte: 96 */ 0x797e,
- /* 2nd byte: 97 */ 0x798b,
- /* 2nd byte: 98 */ 0x798c,
- /* 2nd byte: 99 */ 0x7991,
- /* 2nd byte: 100 */ 0x7993,
- /* 2nd byte: 101 */ 0x7994,
- /* 2nd byte: 102 */ 0x7995,
- /* 2nd byte: 103 */ 0x7996,
- /* 2nd byte: 104 */ 0x7998,
- /* 2nd byte: 105 */ 0x799b,
- /* 2nd byte: 106 */ 0x799c,
- /* 2nd byte: 107 */ 0x79a1,
- /* 2nd byte: 108 */ 0x79a8,
- /* 2nd byte: 109 */ 0x79a9,
- /* 2nd byte: 110 */ 0x79ab,
- /* 2nd byte: 111 */ 0x79af,
- /* 2nd byte: 112 */ 0x79b1,
- /* 2nd byte: 113 */ 0x79b4,
- /* 2nd byte: 114 */ 0x79b8,
- /* 2nd byte: 115 */ 0x79bb,
- /* 2nd byte: 116 */ 0x79c2,
- /* 2nd byte: 117 */ 0x79c4,
- /* 2nd byte: 118 */ 0x79c7,
- /* 2nd byte: 119 */ 0x79c8,
- /* 2nd byte: 120 */ 0x79ca,
- /* 2nd byte: 121 */ 0x79cf,
- /* 2nd byte: 122 */ 0x79d4,
- /* 2nd byte: 123 */ 0x79d6,
- /* 2nd byte: 124 */ 0x79da,
- /* 2nd byte: 125 */ 0x79dd,
- /* 2nd byte: 126 */ 0x79de},
-/* 1st byte: 81 */ {
- /* 2nd byte: 33 */ 0x79e0,
- /* 2nd byte: 34 */ 0x79e2,
- /* 2nd byte: 35 */ 0x79e5,
- /* 2nd byte: 36 */ 0x79ea,
- /* 2nd byte: 37 */ 0x79eb,
- /* 2nd byte: 38 */ 0x79ed,
- /* 2nd byte: 39 */ 0x79f1,
- /* 2nd byte: 40 */ 0x79f8,
- /* 2nd byte: 41 */ 0x79fc,
- /* 2nd byte: 42 */ 0x7a02,
- /* 2nd byte: 43 */ 0x7a03,
- /* 2nd byte: 44 */ 0x7a07,
- /* 2nd byte: 45 */ 0x7a09,
- /* 2nd byte: 46 */ 0x7a0a,
- /* 2nd byte: 47 */ 0x7a0c,
- /* 2nd byte: 48 */ 0x7a11,
- /* 2nd byte: 49 */ 0x7a15,
- /* 2nd byte: 50 */ 0x7a1b,
- /* 2nd byte: 51 */ 0x7a1e,
- /* 2nd byte: 52 */ 0x7a21,
- /* 2nd byte: 53 */ 0x7a27,
- /* 2nd byte: 54 */ 0x7a2b,
- /* 2nd byte: 55 */ 0x7a2d,
- /* 2nd byte: 56 */ 0x7a2f,
- /* 2nd byte: 57 */ 0x7a30,
- /* 2nd byte: 58 */ 0x7a34,
- /* 2nd byte: 59 */ 0x7a35,
- /* 2nd byte: 60 */ 0x7a38,
- /* 2nd byte: 61 */ 0x7a39,
- /* 2nd byte: 62 */ 0x7a3a,
- /* 2nd byte: 63 */ 0x7a44,
- /* 2nd byte: 64 */ 0x7a45,
- /* 2nd byte: 65 */ 0x7a47,
- /* 2nd byte: 66 */ 0x7a48,
- /* 2nd byte: 67 */ 0x7a4c,
- /* 2nd byte: 68 */ 0x7a55,
- /* 2nd byte: 69 */ 0x7a56,
- /* 2nd byte: 70 */ 0x7a59,
- /* 2nd byte: 71 */ 0x7a5c,
- /* 2nd byte: 72 */ 0x7a5d,
- /* 2nd byte: 73 */ 0x7a5f,
- /* 2nd byte: 74 */ 0x7a60,
- /* 2nd byte: 75 */ 0x7a65,
- /* 2nd byte: 76 */ 0x7a67,
- /* 2nd byte: 77 */ 0x7a6a,
- /* 2nd byte: 78 */ 0x7a6d,
- /* 2nd byte: 79 */ 0x7a75,
- /* 2nd byte: 80 */ 0x7a78,
- /* 2nd byte: 81 */ 0x7a7e,
- /* 2nd byte: 82 */ 0x7a80,
- /* 2nd byte: 83 */ 0x7a82,
- /* 2nd byte: 84 */ 0x7a85,
- /* 2nd byte: 85 */ 0x7a86,
- /* 2nd byte: 86 */ 0x7a8a,
- /* 2nd byte: 87 */ 0x7a8b,
- /* 2nd byte: 88 */ 0x7a90,
- /* 2nd byte: 89 */ 0x7a91,
- /* 2nd byte: 90 */ 0x7a94,
- /* 2nd byte: 91 */ 0x7a9e,
- /* 2nd byte: 92 */ 0x7aa0,
- /* 2nd byte: 93 */ 0x7aa3,
- /* 2nd byte: 94 */ 0x7aac,
- /* 2nd byte: 95 */ 0x7ab3,
- /* 2nd byte: 96 */ 0x7ab5,
- /* 2nd byte: 97 */ 0x7ab9,
- /* 2nd byte: 98 */ 0x7abb,
- /* 2nd byte: 99 */ 0x7abc,
- /* 2nd byte: 100 */ 0x7ac6,
- /* 2nd byte: 101 */ 0x7ac9,
- /* 2nd byte: 102 */ 0x7acc,
- /* 2nd byte: 103 */ 0x7ace,
- /* 2nd byte: 104 */ 0x7ad1,
- /* 2nd byte: 105 */ 0x7adb,
- /* 2nd byte: 106 */ 0x7ae8,
- /* 2nd byte: 107 */ 0x7ae9,
- /* 2nd byte: 108 */ 0x7aeb,
- /* 2nd byte: 109 */ 0x7aec,
- /* 2nd byte: 110 */ 0x7af1,
- /* 2nd byte: 111 */ 0x7af4,
- /* 2nd byte: 112 */ 0x7afb,
- /* 2nd byte: 113 */ 0x7afd,
- /* 2nd byte: 114 */ 0x7afe,
- /* 2nd byte: 115 */ 0x7b07,
- /* 2nd byte: 116 */ 0x7b14,
- /* 2nd byte: 117 */ 0x7b1f,
- /* 2nd byte: 118 */ 0x7b23,
- /* 2nd byte: 119 */ 0x7b27,
- /* 2nd byte: 120 */ 0x7b29,
- /* 2nd byte: 121 */ 0x7b2a,
- /* 2nd byte: 122 */ 0x7b2b,
- /* 2nd byte: 123 */ 0x7b2d,
- /* 2nd byte: 124 */ 0x7b2e,
- /* 2nd byte: 125 */ 0x7b2f,
- /* 2nd byte: 126 */ 0x7b30},
-/* 1st byte: 82 */ {
- /* 2nd byte: 33 */ 0x7b31,
- /* 2nd byte: 34 */ 0x7b34,
- /* 2nd byte: 35 */ 0x7b3d,
- /* 2nd byte: 36 */ 0x7b3f,
- /* 2nd byte: 37 */ 0x7b40,
- /* 2nd byte: 38 */ 0x7b41,
- /* 2nd byte: 39 */ 0x7b47,
- /* 2nd byte: 40 */ 0x7b4e,
- /* 2nd byte: 41 */ 0x7b55,
- /* 2nd byte: 42 */ 0x7b60,
- /* 2nd byte: 43 */ 0x7b64,
- /* 2nd byte: 44 */ 0x7b66,
- /* 2nd byte: 45 */ 0x7b69,
- /* 2nd byte: 46 */ 0x7b6a,
- /* 2nd byte: 47 */ 0x7b6d,
- /* 2nd byte: 48 */ 0x7b6f,
- /* 2nd byte: 49 */ 0x7b72,
- /* 2nd byte: 50 */ 0x7b73,
- /* 2nd byte: 51 */ 0x7b77,
- /* 2nd byte: 52 */ 0x7b84,
- /* 2nd byte: 53 */ 0x7b89,
- /* 2nd byte: 54 */ 0x7b8e,
- /* 2nd byte: 55 */ 0x7b90,
- /* 2nd byte: 56 */ 0x7b91,
- /* 2nd byte: 57 */ 0x7b96,
- /* 2nd byte: 58 */ 0x7b9b,
- /* 2nd byte: 59 */ 0x7b9e,
- /* 2nd byte: 60 */ 0x7ba0,
- /* 2nd byte: 61 */ 0x7ba5,
- /* 2nd byte: 62 */ 0x7bac,
- /* 2nd byte: 63 */ 0x7baf,
- /* 2nd byte: 64 */ 0x7bb0,
- /* 2nd byte: 65 */ 0x7bb2,
- /* 2nd byte: 66 */ 0x7bb5,
- /* 2nd byte: 67 */ 0x7bb6,
- /* 2nd byte: 68 */ 0x7bba,
- /* 2nd byte: 69 */ 0x7bbb,
- /* 2nd byte: 70 */ 0x7bbc,
- /* 2nd byte: 71 */ 0x7bbd,
- /* 2nd byte: 72 */ 0x7bc2,
- /* 2nd byte: 73 */ 0x7bc5,
- /* 2nd byte: 74 */ 0x7bc8,
- /* 2nd byte: 75 */ 0x7bca,
- /* 2nd byte: 76 */ 0x7bd4,
- /* 2nd byte: 77 */ 0x7bd6,
- /* 2nd byte: 78 */ 0x7bd7,
- /* 2nd byte: 79 */ 0x7bd9,
- /* 2nd byte: 80 */ 0x7bda,
- /* 2nd byte: 81 */ 0x7bdb,
- /* 2nd byte: 82 */ 0x7be8,
- /* 2nd byte: 83 */ 0x7bea,
- /* 2nd byte: 84 */ 0x7bf2,
- /* 2nd byte: 85 */ 0x7bf4,
- /* 2nd byte: 86 */ 0x7bf5,
- /* 2nd byte: 87 */ 0x7bf8,
- /* 2nd byte: 88 */ 0x7bf9,
- /* 2nd byte: 89 */ 0x7bfa,
- /* 2nd byte: 90 */ 0x7bfc,
- /* 2nd byte: 91 */ 0x7bfe,
- /* 2nd byte: 92 */ 0x7c01,
- /* 2nd byte: 93 */ 0x7c02,
- /* 2nd byte: 94 */ 0x7c03,
- /* 2nd byte: 95 */ 0x7c04,
- /* 2nd byte: 96 */ 0x7c06,
- /* 2nd byte: 97 */ 0x7c09,
- /* 2nd byte: 98 */ 0x7c0b,
- /* 2nd byte: 99 */ 0x7c0c,
- /* 2nd byte: 100 */ 0x7c0e,
- /* 2nd byte: 101 */ 0x7c0f,
- /* 2nd byte: 102 */ 0x7c19,
- /* 2nd byte: 103 */ 0x7c1b,
- /* 2nd byte: 104 */ 0x7c20,
- /* 2nd byte: 105 */ 0x7c25,
- /* 2nd byte: 106 */ 0x7c26,
- /* 2nd byte: 107 */ 0x7c28,
- /* 2nd byte: 108 */ 0x7c2c,
- /* 2nd byte: 109 */ 0x7c31,
- /* 2nd byte: 110 */ 0x7c33,
- /* 2nd byte: 111 */ 0x7c34,
- /* 2nd byte: 112 */ 0x7c36,
- /* 2nd byte: 113 */ 0x7c39,
- /* 2nd byte: 114 */ 0x7c3a,
- /* 2nd byte: 115 */ 0x7c46,
- /* 2nd byte: 116 */ 0x7c4a,
- /* 2nd byte: 117 */ 0x7c55,
- /* 2nd byte: 118 */ 0x7c51,
- /* 2nd byte: 119 */ 0x7c52,
- /* 2nd byte: 120 */ 0x7c53,
- /* 2nd byte: 121 */ 0x7c59,
- /* 2nd byte: 122 */ 0x7c5a,
- /* 2nd byte: 123 */ 0x7c5b,
- /* 2nd byte: 124 */ 0x7c5c,
- /* 2nd byte: 125 */ 0x7c5d,
- /* 2nd byte: 126 */ 0x7c5e},
-/* 1st byte: 83 */ {
- /* 2nd byte: 33 */ 0x7c61,
- /* 2nd byte: 34 */ 0x7c63,
- /* 2nd byte: 35 */ 0x7c67,
- /* 2nd byte: 36 */ 0x7c69,
- /* 2nd byte: 37 */ 0x7c6d,
- /* 2nd byte: 38 */ 0x7c6e,
- /* 2nd byte: 39 */ 0x7c70,
- /* 2nd byte: 40 */ 0x7c72,
- /* 2nd byte: 41 */ 0x7c79,
- /* 2nd byte: 42 */ 0x7c7c,
- /* 2nd byte: 43 */ 0x7c7d,
- /* 2nd byte: 44 */ 0x7c86,
- /* 2nd byte: 45 */ 0x7c87,
- /* 2nd byte: 46 */ 0x7c8f,
- /* 2nd byte: 47 */ 0x7c94,
- /* 2nd byte: 48 */ 0x7c9e,
- /* 2nd byte: 49 */ 0x7ca0,
- /* 2nd byte: 50 */ 0x7ca6,
- /* 2nd byte: 51 */ 0x7cb0,
- /* 2nd byte: 52 */ 0x7cb6,
- /* 2nd byte: 53 */ 0x7cb7,
- /* 2nd byte: 54 */ 0x7cba,
- /* 2nd byte: 55 */ 0x7cbb,
- /* 2nd byte: 56 */ 0x7cbc,
- /* 2nd byte: 57 */ 0x7cbf,
- /* 2nd byte: 58 */ 0x7cc4,
- /* 2nd byte: 59 */ 0x7cc7,
- /* 2nd byte: 60 */ 0x7cc8,
- /* 2nd byte: 61 */ 0x7cc9,
- /* 2nd byte: 62 */ 0x7ccd,
- /* 2nd byte: 63 */ 0x7ccf,
- /* 2nd byte: 64 */ 0x7cd3,
- /* 2nd byte: 65 */ 0x7cd4,
- /* 2nd byte: 66 */ 0x7cd5,
- /* 2nd byte: 67 */ 0x7cd7,
- /* 2nd byte: 68 */ 0x7cd9,
- /* 2nd byte: 69 */ 0x7cda,
- /* 2nd byte: 70 */ 0x7cdd,
- /* 2nd byte: 71 */ 0x7ce6,
- /* 2nd byte: 72 */ 0x7ce9,
- /* 2nd byte: 73 */ 0x7ceb,
- /* 2nd byte: 74 */ 0x7cf5,
- /* 2nd byte: 75 */ 0x7d03,
- /* 2nd byte: 76 */ 0x7d07,
- /* 2nd byte: 77 */ 0x7d08,
- /* 2nd byte: 78 */ 0x7d09,
- /* 2nd byte: 79 */ 0x7d0f,
- /* 2nd byte: 80 */ 0x7d11,
- /* 2nd byte: 81 */ 0x7d12,
- /* 2nd byte: 82 */ 0x7d13,
- /* 2nd byte: 83 */ 0x7d16,
- /* 2nd byte: 84 */ 0x7d1d,
- /* 2nd byte: 85 */ 0x7d1e,
- /* 2nd byte: 86 */ 0x7d23,
- /* 2nd byte: 87 */ 0x7d26,
- /* 2nd byte: 88 */ 0x7d2a,
- /* 2nd byte: 89 */ 0x7d2d,
- /* 2nd byte: 90 */ 0x7d31,
- /* 2nd byte: 91 */ 0x7d3c,
- /* 2nd byte: 92 */ 0x7d3d,
- /* 2nd byte: 93 */ 0x7d3e,
- /* 2nd byte: 94 */ 0x7d40,
- /* 2nd byte: 95 */ 0x7d41,
- /* 2nd byte: 96 */ 0x7d47,
- /* 2nd byte: 97 */ 0x7d48,
- /* 2nd byte: 98 */ 0x7d4d,
- /* 2nd byte: 99 */ 0x7d51,
- /* 2nd byte: 100 */ 0x7d53,
- /* 2nd byte: 101 */ 0x7d57,
- /* 2nd byte: 102 */ 0x7d59,
- /* 2nd byte: 103 */ 0x7d5a,
- /* 2nd byte: 104 */ 0x7d5c,
- /* 2nd byte: 105 */ 0x7d5d,
- /* 2nd byte: 106 */ 0x7d65,
- /* 2nd byte: 107 */ 0x7d67,
- /* 2nd byte: 108 */ 0x7d6a,
- /* 2nd byte: 109 */ 0x7d70,
- /* 2nd byte: 110 */ 0x7d78,
- /* 2nd byte: 111 */ 0x7d7a,
- /* 2nd byte: 112 */ 0x7d7b,
- /* 2nd byte: 113 */ 0x7d7f,
- /* 2nd byte: 114 */ 0x7d81,
- /* 2nd byte: 115 */ 0x7d82,
- /* 2nd byte: 116 */ 0x7d83,
- /* 2nd byte: 117 */ 0x7d85,
- /* 2nd byte: 118 */ 0x7d86,
- /* 2nd byte: 119 */ 0x7d88,
- /* 2nd byte: 120 */ 0x7d8b,
- /* 2nd byte: 121 */ 0x7d8c,
- /* 2nd byte: 122 */ 0x7d8d,
- /* 2nd byte: 123 */ 0x7d91,
- /* 2nd byte: 124 */ 0x7d96,
- /* 2nd byte: 125 */ 0x7d97,
- /* 2nd byte: 126 */ 0x7d9d},
-/* 1st byte: 84 */ {
- /* 2nd byte: 33 */ 0x7d9e,
- /* 2nd byte: 34 */ 0x7da6,
- /* 2nd byte: 35 */ 0x7da7,
- /* 2nd byte: 36 */ 0x7daa,
- /* 2nd byte: 37 */ 0x7db3,
- /* 2nd byte: 38 */ 0x7db6,
- /* 2nd byte: 39 */ 0x7db7,
- /* 2nd byte: 40 */ 0x7db9,
- /* 2nd byte: 41 */ 0x7dc2,
- /* 2nd byte: 42 */ 0x7dc3,
- /* 2nd byte: 43 */ 0x7dc4,
- /* 2nd byte: 44 */ 0x7dc5,
- /* 2nd byte: 45 */ 0x7dc6,
- /* 2nd byte: 46 */ 0x7dcc,
- /* 2nd byte: 47 */ 0x7dcd,
- /* 2nd byte: 48 */ 0x7dce,
- /* 2nd byte: 49 */ 0x7dd7,
- /* 2nd byte: 50 */ 0x7dd9,
- /* 2nd byte: 51 */ 0x7e00,
- /* 2nd byte: 52 */ 0x7de2,
- /* 2nd byte: 53 */ 0x7de5,
- /* 2nd byte: 54 */ 0x7de6,
- /* 2nd byte: 55 */ 0x7dea,
- /* 2nd byte: 56 */ 0x7deb,
- /* 2nd byte: 57 */ 0x7ded,
- /* 2nd byte: 58 */ 0x7df1,
- /* 2nd byte: 59 */ 0x7df5,
- /* 2nd byte: 60 */ 0x7df6,
- /* 2nd byte: 61 */ 0x7df9,
- /* 2nd byte: 62 */ 0x7dfa,
- /* 2nd byte: 63 */ 0x7e08,
- /* 2nd byte: 64 */ 0x7e10,
- /* 2nd byte: 65 */ 0x7e11,
- /* 2nd byte: 66 */ 0x7e15,
- /* 2nd byte: 67 */ 0x7e17,
- /* 2nd byte: 68 */ 0x7e1c,
- /* 2nd byte: 69 */ 0x7e1d,
- /* 2nd byte: 70 */ 0x7e20,
- /* 2nd byte: 71 */ 0x7e27,
- /* 2nd byte: 72 */ 0x7e28,
- /* 2nd byte: 73 */ 0x7e2c,
- /* 2nd byte: 74 */ 0x7e2d,
- /* 2nd byte: 75 */ 0x7e2f,
- /* 2nd byte: 76 */ 0x7e33,
- /* 2nd byte: 77 */ 0x7e36,
- /* 2nd byte: 78 */ 0x7e3f,
- /* 2nd byte: 79 */ 0x7e44,
- /* 2nd byte: 80 */ 0x7e45,
- /* 2nd byte: 81 */ 0x7e47,
- /* 2nd byte: 82 */ 0x7e4e,
- /* 2nd byte: 83 */ 0x7e50,
- /* 2nd byte: 84 */ 0x7e52,
- /* 2nd byte: 85 */ 0x7e58,
- /* 2nd byte: 86 */ 0x7e5f,
- /* 2nd byte: 87 */ 0x7e61,
- /* 2nd byte: 88 */ 0x7e62,
- /* 2nd byte: 89 */ 0x7e65,
- /* 2nd byte: 90 */ 0x7e6b,
- /* 2nd byte: 91 */ 0x7e6e,
- /* 2nd byte: 92 */ 0x7e6f,
- /* 2nd byte: 93 */ 0x7e73,
- /* 2nd byte: 94 */ 0x7e78,
- /* 2nd byte: 95 */ 0x7e7e,
- /* 2nd byte: 96 */ 0x7e81,
- /* 2nd byte: 97 */ 0x7e86,
- /* 2nd byte: 98 */ 0x7e87,
- /* 2nd byte: 99 */ 0x7e8a,
- /* 2nd byte: 100 */ 0x7e8d,
- /* 2nd byte: 101 */ 0x7e91,
- /* 2nd byte: 102 */ 0x7e95,
- /* 2nd byte: 103 */ 0x7e98,
- /* 2nd byte: 104 */ 0x7e9a,
- /* 2nd byte: 105 */ 0x7e9d,
- /* 2nd byte: 106 */ 0x7e9e,
- /* 2nd byte: 107 */ 0x7f3c,
- /* 2nd byte: 108 */ 0x7f3b,
- /* 2nd byte: 109 */ 0x7f3d,
- /* 2nd byte: 110 */ 0x7f3e,
- /* 2nd byte: 111 */ 0x7f3f,
- /* 2nd byte: 112 */ 0x7f43,
- /* 2nd byte: 113 */ 0x7f44,
- /* 2nd byte: 114 */ 0x7f47,
- /* 2nd byte: 115 */ 0x7f4f,
- /* 2nd byte: 116 */ 0x7f52,
- /* 2nd byte: 117 */ 0x7f53,
- /* 2nd byte: 118 */ 0x7f5b,
- /* 2nd byte: 119 */ 0x7f5c,
- /* 2nd byte: 120 */ 0x7f5d,
- /* 2nd byte: 121 */ 0x7f61,
- /* 2nd byte: 122 */ 0x7f63,
- /* 2nd byte: 123 */ 0x7f64,
- /* 2nd byte: 124 */ 0x7f65,
- /* 2nd byte: 125 */ 0x7f66,
- /* 2nd byte: 126 */ 0x7f6d},
-/* 1st byte: 85 */ {
- /* 2nd byte: 33 */ 0x7f71,
- /* 2nd byte: 34 */ 0x7f7d,
- /* 2nd byte: 35 */ 0x7f7e,
- /* 2nd byte: 36 */ 0x7f7f,
- /* 2nd byte: 37 */ 0x7f80,
- /* 2nd byte: 38 */ 0x7f8b,
- /* 2nd byte: 39 */ 0x7f8d,
- /* 2nd byte: 40 */ 0x7f8f,
- /* 2nd byte: 41 */ 0x7f90,
- /* 2nd byte: 42 */ 0x7f91,
- /* 2nd byte: 43 */ 0x7f96,
- /* 2nd byte: 44 */ 0x7f97,
- /* 2nd byte: 45 */ 0x7f9c,
- /* 2nd byte: 46 */ 0x7fa1,
- /* 2nd byte: 47 */ 0x7fa2,
- /* 2nd byte: 48 */ 0x7fa6,
- /* 2nd byte: 49 */ 0x7faa,
- /* 2nd byte: 50 */ 0x7fad,
- /* 2nd byte: 51 */ 0x7fb4,
- /* 2nd byte: 52 */ 0x7fbc,
- /* 2nd byte: 53 */ 0x7fbf,
- /* 2nd byte: 54 */ 0x7fc0,
- /* 2nd byte: 55 */ 0x7fc3,
- /* 2nd byte: 56 */ 0x7fc8,
- /* 2nd byte: 57 */ 0x7fce,
- /* 2nd byte: 58 */ 0x7fcf,
- /* 2nd byte: 59 */ 0x7fdb,
- /* 2nd byte: 60 */ 0x7fdf,
- /* 2nd byte: 61 */ 0x7fe3,
- /* 2nd byte: 62 */ 0x7fe5,
- /* 2nd byte: 63 */ 0x7fe8,
- /* 2nd byte: 64 */ 0x7fec,
- /* 2nd byte: 65 */ 0x7fee,
- /* 2nd byte: 66 */ 0x7fef,
- /* 2nd byte: 67 */ 0x7ff2,
- /* 2nd byte: 68 */ 0x7ffa,
- /* 2nd byte: 69 */ 0x7ffd,
- /* 2nd byte: 70 */ 0x7ffe,
- /* 2nd byte: 71 */ 0x7fff,
- /* 2nd byte: 72 */ 0x8007,
- /* 2nd byte: 73 */ 0x8008,
- /* 2nd byte: 74 */ 0x800a,
- /* 2nd byte: 75 */ 0x800d,
- /* 2nd byte: 76 */ 0x800e,
- /* 2nd byte: 77 */ 0x800f,
- /* 2nd byte: 78 */ 0x8011,
- /* 2nd byte: 79 */ 0x8013,
- /* 2nd byte: 80 */ 0x8014,
- /* 2nd byte: 81 */ 0x8016,
- /* 2nd byte: 82 */ 0x801d,
- /* 2nd byte: 83 */ 0x801e,
- /* 2nd byte: 84 */ 0x801f,
- /* 2nd byte: 85 */ 0x8020,
- /* 2nd byte: 86 */ 0x8024,
- /* 2nd byte: 87 */ 0x8026,
- /* 2nd byte: 88 */ 0x802c,
- /* 2nd byte: 89 */ 0x802e,
- /* 2nd byte: 90 */ 0x8030,
- /* 2nd byte: 91 */ 0x8034,
- /* 2nd byte: 92 */ 0x8035,
- /* 2nd byte: 93 */ 0x8037,
- /* 2nd byte: 94 */ 0x8039,
- /* 2nd byte: 95 */ 0x803a,
- /* 2nd byte: 96 */ 0x803c,
- /* 2nd byte: 97 */ 0x803e,
- /* 2nd byte: 98 */ 0x8040,
- /* 2nd byte: 99 */ 0x8044,
- /* 2nd byte: 100 */ 0x8060,
- /* 2nd byte: 101 */ 0x8064,
- /* 2nd byte: 102 */ 0x8066,
- /* 2nd byte: 103 */ 0x806d,
- /* 2nd byte: 104 */ 0x8071,
- /* 2nd byte: 105 */ 0x8075,
- /* 2nd byte: 106 */ 0x8081,
- /* 2nd byte: 107 */ 0x8088,
- /* 2nd byte: 108 */ 0x808e,
- /* 2nd byte: 109 */ 0x809c,
- /* 2nd byte: 110 */ 0x809e,
- /* 2nd byte: 111 */ 0x80a6,
- /* 2nd byte: 112 */ 0x80a7,
- /* 2nd byte: 113 */ 0x80ab,
- /* 2nd byte: 114 */ 0x80b8,
- /* 2nd byte: 115 */ 0x80b9,
- /* 2nd byte: 116 */ 0x80c8,
- /* 2nd byte: 117 */ 0x80cd,
- /* 2nd byte: 118 */ 0x80cf,
- /* 2nd byte: 119 */ 0x80d2,
- /* 2nd byte: 120 */ 0x80d4,
- /* 2nd byte: 121 */ 0x80d5,
- /* 2nd byte: 122 */ 0x80d7,
- /* 2nd byte: 123 */ 0x80d8,
- /* 2nd byte: 124 */ 0x80e0,
- /* 2nd byte: 125 */ 0x80ed,
- /* 2nd byte: 126 */ 0x80ee},
-/* 1st byte: 86 */ {
- /* 2nd byte: 33 */ 0x80f0,
- /* 2nd byte: 34 */ 0x80f2,
- /* 2nd byte: 35 */ 0x80f3,
- /* 2nd byte: 36 */ 0x80f6,
- /* 2nd byte: 37 */ 0x80f9,
- /* 2nd byte: 38 */ 0x80fa,
- /* 2nd byte: 39 */ 0x80fe,
- /* 2nd byte: 40 */ 0x8103,
- /* 2nd byte: 41 */ 0x810b,
- /* 2nd byte: 42 */ 0x8116,
- /* 2nd byte: 43 */ 0x8117,
- /* 2nd byte: 44 */ 0x8118,
- /* 2nd byte: 45 */ 0x811c,
- /* 2nd byte: 46 */ 0x811e,
- /* 2nd byte: 47 */ 0x8120,
- /* 2nd byte: 48 */ 0x8124,
- /* 2nd byte: 49 */ 0x8127,
- /* 2nd byte: 50 */ 0x812c,
- /* 2nd byte: 51 */ 0x8130,
- /* 2nd byte: 52 */ 0x8135,
- /* 2nd byte: 53 */ 0x813a,
- /* 2nd byte: 54 */ 0x813c,
- /* 2nd byte: 55 */ 0x8145,
- /* 2nd byte: 56 */ 0x8147,
- /* 2nd byte: 57 */ 0x814a,
- /* 2nd byte: 58 */ 0x814c,
- /* 2nd byte: 59 */ 0x8152,
- /* 2nd byte: 60 */ 0x8157,
- /* 2nd byte: 61 */ 0x8160,
- /* 2nd byte: 62 */ 0x8161,
- /* 2nd byte: 63 */ 0x8167,
- /* 2nd byte: 64 */ 0x8168,
- /* 2nd byte: 65 */ 0x8169,
- /* 2nd byte: 66 */ 0x816d,
- /* 2nd byte: 67 */ 0x816f,
- /* 2nd byte: 68 */ 0x8177,
- /* 2nd byte: 69 */ 0x8181,
- /* 2nd byte: 70 */ 0x8190,
- /* 2nd byte: 71 */ 0x8184,
- /* 2nd byte: 72 */ 0x8185,
- /* 2nd byte: 73 */ 0x8186,
- /* 2nd byte: 74 */ 0x818b,
- /* 2nd byte: 75 */ 0x818e,
- /* 2nd byte: 76 */ 0x8196,
- /* 2nd byte: 77 */ 0x8198,
- /* 2nd byte: 78 */ 0x819b,
- /* 2nd byte: 79 */ 0x819e,
- /* 2nd byte: 80 */ 0x81a2,
- /* 2nd byte: 81 */ 0x81ae,
- /* 2nd byte: 82 */ 0x81b2,
- /* 2nd byte: 83 */ 0x81b4,
- /* 2nd byte: 84 */ 0x81bb,
- /* 2nd byte: 85 */ 0x81cb,
- /* 2nd byte: 86 */ 0x81c3,
- /* 2nd byte: 87 */ 0x81c5,
- /* 2nd byte: 88 */ 0x81ca,
- /* 2nd byte: 89 */ 0x81ce,
- /* 2nd byte: 90 */ 0x81cf,
- /* 2nd byte: 91 */ 0x81d5,
- /* 2nd byte: 92 */ 0x81d7,
- /* 2nd byte: 93 */ 0x81db,
- /* 2nd byte: 94 */ 0x81dd,
- /* 2nd byte: 95 */ 0x81de,
- /* 2nd byte: 96 */ 0x81e1,
- /* 2nd byte: 97 */ 0x81e4,
- /* 2nd byte: 98 */ 0x81eb,
- /* 2nd byte: 99 */ 0x81ec,
- /* 2nd byte: 100 */ 0x81f0,
- /* 2nd byte: 101 */ 0x81f1,
- /* 2nd byte: 102 */ 0x81f2,
- /* 2nd byte: 103 */ 0x81f5,
- /* 2nd byte: 104 */ 0x81f6,
- /* 2nd byte: 105 */ 0x81f8,
- /* 2nd byte: 106 */ 0x81f9,
- /* 2nd byte: 107 */ 0x81fd,
- /* 2nd byte: 108 */ 0x81ff,
- /* 2nd byte: 109 */ 0x8200,
- /* 2nd byte: 110 */ 0x8203,
- /* 2nd byte: 111 */ 0x820f,
- /* 2nd byte: 112 */ 0x8213,
- /* 2nd byte: 113 */ 0x8214,
- /* 2nd byte: 114 */ 0x8219,
- /* 2nd byte: 115 */ 0x821a,
- /* 2nd byte: 116 */ 0x821d,
- /* 2nd byte: 117 */ 0x8221,
- /* 2nd byte: 118 */ 0x8222,
- /* 2nd byte: 119 */ 0x8228,
- /* 2nd byte: 120 */ 0x8232,
- /* 2nd byte: 121 */ 0x8234,
- /* 2nd byte: 122 */ 0x823a,
- /* 2nd byte: 123 */ 0x8243,
- /* 2nd byte: 124 */ 0x8244,
- /* 2nd byte: 125 */ 0x8245,
- /* 2nd byte: 126 */ 0x8246},
-/* 1st byte: 87 */ {
- /* 2nd byte: 33 */ 0x824b,
- /* 2nd byte: 34 */ 0x824e,
- /* 2nd byte: 35 */ 0x824f,
- /* 2nd byte: 36 */ 0x8251,
- /* 2nd byte: 37 */ 0x8256,
- /* 2nd byte: 38 */ 0x825c,
- /* 2nd byte: 39 */ 0x8260,
- /* 2nd byte: 40 */ 0x8263,
- /* 2nd byte: 41 */ 0x8267,
- /* 2nd byte: 42 */ 0x826d,
- /* 2nd byte: 43 */ 0x8274,
- /* 2nd byte: 44 */ 0x827b,
- /* 2nd byte: 45 */ 0x827d,
- /* 2nd byte: 46 */ 0x827f,
- /* 2nd byte: 47 */ 0x8280,
- /* 2nd byte: 48 */ 0x8281,
- /* 2nd byte: 49 */ 0x8283,
- /* 2nd byte: 50 */ 0x8284,
- /* 2nd byte: 51 */ 0x8287,
- /* 2nd byte: 52 */ 0x8289,
- /* 2nd byte: 53 */ 0x828a,
- /* 2nd byte: 54 */ 0x828e,
- /* 2nd byte: 55 */ 0x8291,
- /* 2nd byte: 56 */ 0x8294,
- /* 2nd byte: 57 */ 0x8296,
- /* 2nd byte: 58 */ 0x8298,
- /* 2nd byte: 59 */ 0x829a,
- /* 2nd byte: 60 */ 0x829b,
- /* 2nd byte: 61 */ 0x82a0,
- /* 2nd byte: 62 */ 0x82a1,
- /* 2nd byte: 63 */ 0x82a3,
- /* 2nd byte: 64 */ 0x82a4,
- /* 2nd byte: 65 */ 0x82a7,
- /* 2nd byte: 66 */ 0x82a8,
- /* 2nd byte: 67 */ 0x82a9,
- /* 2nd byte: 68 */ 0x82aa,
- /* 2nd byte: 69 */ 0x82ae,
- /* 2nd byte: 70 */ 0x82b0,
- /* 2nd byte: 71 */ 0x82b2,
- /* 2nd byte: 72 */ 0x82b4,
- /* 2nd byte: 73 */ 0x82b7,
- /* 2nd byte: 74 */ 0x82ba,
- /* 2nd byte: 75 */ 0x82bc,
- /* 2nd byte: 76 */ 0x82be,
- /* 2nd byte: 77 */ 0x82bf,
- /* 2nd byte: 78 */ 0x82c6,
- /* 2nd byte: 79 */ 0x82d0,
- /* 2nd byte: 80 */ 0x82d5,
- /* 2nd byte: 81 */ 0x82da,
- /* 2nd byte: 82 */ 0x82e0,
- /* 2nd byte: 83 */ 0x82e2,
- /* 2nd byte: 84 */ 0x82e4,
- /* 2nd byte: 85 */ 0x82e8,
- /* 2nd byte: 86 */ 0x82ea,
- /* 2nd byte: 87 */ 0x82ed,
- /* 2nd byte: 88 */ 0x82ef,
- /* 2nd byte: 89 */ 0x82f6,
- /* 2nd byte: 90 */ 0x82f7,
- /* 2nd byte: 91 */ 0x82fd,
- /* 2nd byte: 92 */ 0x82fe,
- /* 2nd byte: 93 */ 0x8300,
- /* 2nd byte: 94 */ 0x8301,
- /* 2nd byte: 95 */ 0x8307,
- /* 2nd byte: 96 */ 0x8308,
- /* 2nd byte: 97 */ 0x830a,
- /* 2nd byte: 98 */ 0x830b,
- /* 2nd byte: 99 */ 0x8354,
- /* 2nd byte: 100 */ 0x831b,
- /* 2nd byte: 101 */ 0x831d,
- /* 2nd byte: 102 */ 0x831e,
- /* 2nd byte: 103 */ 0x831f,
- /* 2nd byte: 104 */ 0x8321,
- /* 2nd byte: 105 */ 0x8322,
- /* 2nd byte: 106 */ 0x832c,
- /* 2nd byte: 107 */ 0x832d,
- /* 2nd byte: 108 */ 0x832e,
- /* 2nd byte: 109 */ 0x8330,
- /* 2nd byte: 110 */ 0x8333,
- /* 2nd byte: 111 */ 0x8337,
- /* 2nd byte: 112 */ 0x833a,
- /* 2nd byte: 113 */ 0x833c,
- /* 2nd byte: 114 */ 0x833d,
- /* 2nd byte: 115 */ 0x8342,
- /* 2nd byte: 116 */ 0x8343,
- /* 2nd byte: 117 */ 0x8344,
- /* 2nd byte: 118 */ 0x8347,
- /* 2nd byte: 119 */ 0x834d,
- /* 2nd byte: 120 */ 0x834e,
- /* 2nd byte: 121 */ 0x8351,
- /* 2nd byte: 122 */ 0x8355,
- /* 2nd byte: 123 */ 0x8356,
- /* 2nd byte: 124 */ 0x8357,
- /* 2nd byte: 125 */ 0x8370,
- /* 2nd byte: 126 */ 0x8378},
-/* 1st byte: 88 */ {
- /* 2nd byte: 33 */ 0x837d,
- /* 2nd byte: 34 */ 0x837f,
- /* 2nd byte: 35 */ 0x8380,
- /* 2nd byte: 36 */ 0x8382,
- /* 2nd byte: 37 */ 0x8384,
- /* 2nd byte: 38 */ 0x8386,
- /* 2nd byte: 39 */ 0x838d,
- /* 2nd byte: 40 */ 0x8392,
- /* 2nd byte: 41 */ 0x8394,
- /* 2nd byte: 42 */ 0x8395,
- /* 2nd byte: 43 */ 0x8398,
- /* 2nd byte: 44 */ 0x8399,
- /* 2nd byte: 45 */ 0x839b,
- /* 2nd byte: 46 */ 0x839c,
- /* 2nd byte: 47 */ 0x839d,
- /* 2nd byte: 48 */ 0x83a6,
- /* 2nd byte: 49 */ 0x83a7,
- /* 2nd byte: 50 */ 0x83a9,
- /* 2nd byte: 51 */ 0x83ac,
- /* 2nd byte: 52 */ 0x83be,
- /* 2nd byte: 53 */ 0x83bf,
- /* 2nd byte: 54 */ 0x83c0,
- /* 2nd byte: 55 */ 0x83c7,
- /* 2nd byte: 56 */ 0x83c9,
- /* 2nd byte: 57 */ 0x83cf,
- /* 2nd byte: 58 */ 0x83d0,
- /* 2nd byte: 59 */ 0x83d1,
- /* 2nd byte: 60 */ 0x83d4,
- /* 2nd byte: 61 */ 0x83dd,
- /* 2nd byte: 62 */ 0x8353,
- /* 2nd byte: 63 */ 0x83e8,
- /* 2nd byte: 64 */ 0x83ea,
- /* 2nd byte: 65 */ 0x83f6,
- /* 2nd byte: 66 */ 0x83f8,
- /* 2nd byte: 67 */ 0x83f9,
- /* 2nd byte: 68 */ 0x83fc,
- /* 2nd byte: 69 */ 0x8401,
- /* 2nd byte: 70 */ 0x8406,
- /* 2nd byte: 71 */ 0x840a,
- /* 2nd byte: 72 */ 0x840f,
- /* 2nd byte: 73 */ 0x8411,
- /* 2nd byte: 74 */ 0x8415,
- /* 2nd byte: 75 */ 0x8419,
- /* 2nd byte: 76 */ 0x83ad,
- /* 2nd byte: 77 */ 0x842f,
- /* 2nd byte: 78 */ 0x8439,
- /* 2nd byte: 79 */ 0x8445,
- /* 2nd byte: 80 */ 0x8447,
- /* 2nd byte: 81 */ 0x8448,
- /* 2nd byte: 82 */ 0x844a,
- /* 2nd byte: 83 */ 0x844d,
- /* 2nd byte: 84 */ 0x844f,
- /* 2nd byte: 85 */ 0x8451,
- /* 2nd byte: 86 */ 0x8452,
- /* 2nd byte: 87 */ 0x8456,
- /* 2nd byte: 88 */ 0x8458,
- /* 2nd byte: 89 */ 0x8459,
- /* 2nd byte: 90 */ 0x845a,
- /* 2nd byte: 91 */ 0x845c,
- /* 2nd byte: 92 */ 0x8460,
- /* 2nd byte: 93 */ 0x8464,
- /* 2nd byte: 94 */ 0x8465,
- /* 2nd byte: 95 */ 0x8467,
- /* 2nd byte: 96 */ 0x846a,
- /* 2nd byte: 97 */ 0x8470,
- /* 2nd byte: 98 */ 0x8473,
- /* 2nd byte: 99 */ 0x8474,
- /* 2nd byte: 100 */ 0x8476,
- /* 2nd byte: 101 */ 0x8478,
- /* 2nd byte: 102 */ 0x847c,
- /* 2nd byte: 103 */ 0x847d,
- /* 2nd byte: 104 */ 0x8481,
- /* 2nd byte: 105 */ 0x8485,
- /* 2nd byte: 106 */ 0x8492,
- /* 2nd byte: 107 */ 0x8493,
- /* 2nd byte: 108 */ 0x8495,
- /* 2nd byte: 109 */ 0x849e,
- /* 2nd byte: 110 */ 0x84a6,
- /* 2nd byte: 111 */ 0x84a8,
- /* 2nd byte: 112 */ 0x84a9,
- /* 2nd byte: 113 */ 0x84aa,
- /* 2nd byte: 114 */ 0x84af,
- /* 2nd byte: 115 */ 0x84b1,
- /* 2nd byte: 116 */ 0x84b4,
- /* 2nd byte: 117 */ 0x84ba,
- /* 2nd byte: 118 */ 0x84bd,
- /* 2nd byte: 119 */ 0x84be,
- /* 2nd byte: 120 */ 0x84c0,
- /* 2nd byte: 121 */ 0x84c2,
- /* 2nd byte: 122 */ 0x84c7,
- /* 2nd byte: 123 */ 0x84c8,
- /* 2nd byte: 124 */ 0x84cc,
- /* 2nd byte: 125 */ 0x84cf,
- /* 2nd byte: 126 */ 0x84d3},
-/* 1st byte: 89 */ {
- /* 2nd byte: 33 */ 0x84dc,
- /* 2nd byte: 34 */ 0x84e7,
- /* 2nd byte: 35 */ 0x84ea,
- /* 2nd byte: 36 */ 0x84ef,
- /* 2nd byte: 37 */ 0x84f0,
- /* 2nd byte: 38 */ 0x84f1,
- /* 2nd byte: 39 */ 0x84f2,
- /* 2nd byte: 40 */ 0x84f7,
- /* 2nd byte: 41 */ 0x8532,
- /* 2nd byte: 42 */ 0x84fa,
- /* 2nd byte: 43 */ 0x84fb,
- /* 2nd byte: 44 */ 0x84fd,
- /* 2nd byte: 45 */ 0x8502,
- /* 2nd byte: 46 */ 0x8503,
- /* 2nd byte: 47 */ 0x8507,
- /* 2nd byte: 48 */ 0x850c,
- /* 2nd byte: 49 */ 0x850e,
- /* 2nd byte: 50 */ 0x8510,
- /* 2nd byte: 51 */ 0x851c,
- /* 2nd byte: 52 */ 0x851e,
- /* 2nd byte: 53 */ 0x8522,
- /* 2nd byte: 54 */ 0x8523,
- /* 2nd byte: 55 */ 0x8524,
- /* 2nd byte: 56 */ 0x8525,
- /* 2nd byte: 57 */ 0x8527,
- /* 2nd byte: 58 */ 0x852a,
- /* 2nd byte: 59 */ 0x852b,
- /* 2nd byte: 60 */ 0x852f,
- /* 2nd byte: 61 */ 0x8533,
- /* 2nd byte: 62 */ 0x8534,
- /* 2nd byte: 63 */ 0x8536,
- /* 2nd byte: 64 */ 0x853f,
- /* 2nd byte: 65 */ 0x8546,
- /* 2nd byte: 66 */ 0x854f,
- /* 2nd byte: 67 */ 0x8550,
- /* 2nd byte: 68 */ 0x8551,
- /* 2nd byte: 69 */ 0x8552,
- /* 2nd byte: 70 */ 0x8553,
- /* 2nd byte: 71 */ 0x8556,
- /* 2nd byte: 72 */ 0x8559,
- /* 2nd byte: 73 */ 0x855c,
- /* 2nd byte: 74 */ 0x855d,
- /* 2nd byte: 75 */ 0x855e,
- /* 2nd byte: 76 */ 0x855f,
- /* 2nd byte: 77 */ 0x8560,
- /* 2nd byte: 78 */ 0x8561,
- /* 2nd byte: 79 */ 0x8562,
- /* 2nd byte: 80 */ 0x8564,
- /* 2nd byte: 81 */ 0x856b,
- /* 2nd byte: 82 */ 0x856f,
- /* 2nd byte: 83 */ 0x8579,
- /* 2nd byte: 84 */ 0x857a,
- /* 2nd byte: 85 */ 0x857b,
- /* 2nd byte: 86 */ 0x857d,
- /* 2nd byte: 87 */ 0x857f,
- /* 2nd byte: 88 */ 0x8581,
- /* 2nd byte: 89 */ 0x8585,
- /* 2nd byte: 90 */ 0x8586,
- /* 2nd byte: 91 */ 0x8589,
- /* 2nd byte: 92 */ 0x858b,
- /* 2nd byte: 93 */ 0x858c,
- /* 2nd byte: 94 */ 0x858f,
- /* 2nd byte: 95 */ 0x8593,
- /* 2nd byte: 96 */ 0x8598,
- /* 2nd byte: 97 */ 0x859d,
- /* 2nd byte: 98 */ 0x859f,
- /* 2nd byte: 99 */ 0x85a0,
- /* 2nd byte: 100 */ 0x85a2,
- /* 2nd byte: 101 */ 0x85a5,
- /* 2nd byte: 102 */ 0x85a7,
- /* 2nd byte: 103 */ 0x85b4,
- /* 2nd byte: 104 */ 0x85b6,
- /* 2nd byte: 105 */ 0x85b7,
- /* 2nd byte: 106 */ 0x85b8,
- /* 2nd byte: 107 */ 0x85bc,
- /* 2nd byte: 108 */ 0x85bd,
- /* 2nd byte: 109 */ 0x85be,
- /* 2nd byte: 110 */ 0x85bf,
- /* 2nd byte: 111 */ 0x85c2,
- /* 2nd byte: 112 */ 0x85c7,
- /* 2nd byte: 113 */ 0x85ca,
- /* 2nd byte: 114 */ 0x85cb,
- /* 2nd byte: 115 */ 0x85ce,
- /* 2nd byte: 116 */ 0x85ad,
- /* 2nd byte: 117 */ 0x85d8,
- /* 2nd byte: 118 */ 0x85da,
- /* 2nd byte: 119 */ 0x85df,
- /* 2nd byte: 120 */ 0x85e0,
- /* 2nd byte: 121 */ 0x85e6,
- /* 2nd byte: 122 */ 0x85e8,
- /* 2nd byte: 123 */ 0x85ed,
- /* 2nd byte: 124 */ 0x85f3,
- /* 2nd byte: 125 */ 0x85f6,
- /* 2nd byte: 126 */ 0x85fc},
-/* 1st byte: 90 */ {
- /* 2nd byte: 33 */ 0x85ff,
- /* 2nd byte: 34 */ 0x8600,
- /* 2nd byte: 35 */ 0x8604,
- /* 2nd byte: 36 */ 0x8605,
- /* 2nd byte: 37 */ 0x860d,
- /* 2nd byte: 38 */ 0x860e,
- /* 2nd byte: 39 */ 0x8610,
- /* 2nd byte: 40 */ 0x8611,
- /* 2nd byte: 41 */ 0x8612,
- /* 2nd byte: 42 */ 0x8618,
- /* 2nd byte: 43 */ 0x8619,
- /* 2nd byte: 44 */ 0x861b,
- /* 2nd byte: 45 */ 0x861e,
- /* 2nd byte: 46 */ 0x8621,
- /* 2nd byte: 47 */ 0x8627,
- /* 2nd byte: 48 */ 0x8629,
- /* 2nd byte: 49 */ 0x8636,
- /* 2nd byte: 50 */ 0x8638,
- /* 2nd byte: 51 */ 0x863a,
- /* 2nd byte: 52 */ 0x863c,
- /* 2nd byte: 53 */ 0x863d,
- /* 2nd byte: 54 */ 0x8640,
- /* 2nd byte: 55 */ 0x8642,
- /* 2nd byte: 56 */ 0x8646,
- /* 2nd byte: 57 */ 0x8652,
- /* 2nd byte: 58 */ 0x8653,
- /* 2nd byte: 59 */ 0x8656,
- /* 2nd byte: 60 */ 0x8657,
- /* 2nd byte: 61 */ 0x8658,
- /* 2nd byte: 62 */ 0x8659,
- /* 2nd byte: 63 */ 0x865d,
- /* 2nd byte: 64 */ 0x8660,
- /* 2nd byte: 65 */ 0x8661,
- /* 2nd byte: 66 */ 0x8662,
- /* 2nd byte: 67 */ 0x8663,
- /* 2nd byte: 68 */ 0x8664,
- /* 2nd byte: 69 */ 0x8669,
- /* 2nd byte: 70 */ 0x866c,
- /* 2nd byte: 71 */ 0x866f,
- /* 2nd byte: 72 */ 0x8675,
- /* 2nd byte: 73 */ 0x8676,
- /* 2nd byte: 74 */ 0x8677,
- /* 2nd byte: 75 */ 0x867a,
- /* 2nd byte: 76 */ 0x868d,
- /* 2nd byte: 77 */ 0x8691,
- /* 2nd byte: 78 */ 0x8696,
- /* 2nd byte: 79 */ 0x8698,
- /* 2nd byte: 80 */ 0x869a,
- /* 2nd byte: 81 */ 0x869c,
- /* 2nd byte: 82 */ 0x86a1,
- /* 2nd byte: 83 */ 0x86a6,
- /* 2nd byte: 84 */ 0x86a7,
- /* 2nd byte: 85 */ 0x86a8,
- /* 2nd byte: 86 */ 0x86ad,
- /* 2nd byte: 87 */ 0x86b1,
- /* 2nd byte: 88 */ 0x86b3,
- /* 2nd byte: 89 */ 0x86b4,
- /* 2nd byte: 90 */ 0x86b5,
- /* 2nd byte: 91 */ 0x86b7,
- /* 2nd byte: 92 */ 0x86b8,
- /* 2nd byte: 93 */ 0x86b9,
- /* 2nd byte: 94 */ 0x86bf,
- /* 2nd byte: 95 */ 0x86c0,
- /* 2nd byte: 96 */ 0x86c1,
- /* 2nd byte: 97 */ 0x86c3,
- /* 2nd byte: 98 */ 0x86c5,
- /* 2nd byte: 99 */ 0x86d1,
- /* 2nd byte: 100 */ 0x86d2,
- /* 2nd byte: 101 */ 0x86d5,
- /* 2nd byte: 102 */ 0x86d7,
- /* 2nd byte: 103 */ 0x86da,
- /* 2nd byte: 104 */ 0x86dc,
- /* 2nd byte: 105 */ 0x86e0,
- /* 2nd byte: 106 */ 0x86e3,
- /* 2nd byte: 107 */ 0x86e5,
- /* 2nd byte: 108 */ 0x86e7,
- /* 2nd byte: 109 */ 0x8688,
- /* 2nd byte: 110 */ 0x86fa,
- /* 2nd byte: 111 */ 0x86fc,
- /* 2nd byte: 112 */ 0x86fd,
- /* 2nd byte: 113 */ 0x8704,
- /* 2nd byte: 114 */ 0x8705,
- /* 2nd byte: 115 */ 0x8707,
- /* 2nd byte: 116 */ 0x870b,
- /* 2nd byte: 117 */ 0x870e,
- /* 2nd byte: 118 */ 0x870f,
- /* 2nd byte: 119 */ 0x8710,
- /* 2nd byte: 120 */ 0x8713,
- /* 2nd byte: 121 */ 0x8714,
- /* 2nd byte: 122 */ 0x8719,
- /* 2nd byte: 123 */ 0x871e,
- /* 2nd byte: 124 */ 0x871f,
- /* 2nd byte: 125 */ 0x8721,
- /* 2nd byte: 126 */ 0x8723},
-/* 1st byte: 91 */ {
- /* 2nd byte: 33 */ 0x8728,
- /* 2nd byte: 34 */ 0x872e,
- /* 2nd byte: 35 */ 0x872f,
- /* 2nd byte: 36 */ 0x8731,
- /* 2nd byte: 37 */ 0x8732,
- /* 2nd byte: 38 */ 0x8739,
- /* 2nd byte: 39 */ 0x873a,
- /* 2nd byte: 40 */ 0x873c,
- /* 2nd byte: 41 */ 0x873d,
- /* 2nd byte: 42 */ 0x873e,
- /* 2nd byte: 43 */ 0x8740,
- /* 2nd byte: 44 */ 0x8743,
- /* 2nd byte: 45 */ 0x8745,
- /* 2nd byte: 46 */ 0x874d,
- /* 2nd byte: 47 */ 0x8758,
- /* 2nd byte: 48 */ 0x875d,
- /* 2nd byte: 49 */ 0x8761,
- /* 2nd byte: 50 */ 0x8764,
- /* 2nd byte: 51 */ 0x8765,
- /* 2nd byte: 52 */ 0x876f,
- /* 2nd byte: 53 */ 0x8771,
- /* 2nd byte: 54 */ 0x8772,
- /* 2nd byte: 55 */ 0x877b,
- /* 2nd byte: 56 */ 0x8783,
- /* 2nd byte: 57 */ 0x8784,
- /* 2nd byte: 58 */ 0x8785,
- /* 2nd byte: 59 */ 0x8786,
- /* 2nd byte: 60 */ 0x8787,
- /* 2nd byte: 61 */ 0x8788,
- /* 2nd byte: 62 */ 0x8789,
- /* 2nd byte: 63 */ 0x878b,
- /* 2nd byte: 64 */ 0x878c,
- /* 2nd byte: 65 */ 0x8790,
- /* 2nd byte: 66 */ 0x8793,
- /* 2nd byte: 67 */ 0x8795,
- /* 2nd byte: 68 */ 0x8797,
- /* 2nd byte: 69 */ 0x8798,
- /* 2nd byte: 70 */ 0x8799,
- /* 2nd byte: 71 */ 0x879e,
- /* 2nd byte: 72 */ 0x87a0,
- /* 2nd byte: 73 */ 0x87a3,
- /* 2nd byte: 74 */ 0x87a7,
- /* 2nd byte: 75 */ 0x87ac,
- /* 2nd byte: 76 */ 0x87ad,
- /* 2nd byte: 77 */ 0x87ae,
- /* 2nd byte: 78 */ 0x87b1,
- /* 2nd byte: 79 */ 0x87b5,
- /* 2nd byte: 80 */ 0x87be,
- /* 2nd byte: 81 */ 0x87bf,
- /* 2nd byte: 82 */ 0x87c1,
- /* 2nd byte: 83 */ 0x87c8,
- /* 2nd byte: 84 */ 0x87c9,
- /* 2nd byte: 85 */ 0x87ca,
- /* 2nd byte: 86 */ 0x87ce,
- /* 2nd byte: 87 */ 0x87d5,
- /* 2nd byte: 88 */ 0x87d6,
- /* 2nd byte: 89 */ 0x87d9,
- /* 2nd byte: 90 */ 0x87da,
- /* 2nd byte: 91 */ 0x87dc,
- /* 2nd byte: 92 */ 0x87df,
- /* 2nd byte: 93 */ 0x87e2,
- /* 2nd byte: 94 */ 0x87e3,
- /* 2nd byte: 95 */ 0x87e4,
- /* 2nd byte: 96 */ 0x87ea,
- /* 2nd byte: 97 */ 0x87eb,
- /* 2nd byte: 98 */ 0x87ed,
- /* 2nd byte: 99 */ 0x87f1,
- /* 2nd byte: 100 */ 0x87f3,
- /* 2nd byte: 101 */ 0x87f8,
- /* 2nd byte: 102 */ 0x87fa,
- /* 2nd byte: 103 */ 0x87ff,
- /* 2nd byte: 104 */ 0x8801,
- /* 2nd byte: 105 */ 0x8803,
- /* 2nd byte: 106 */ 0x8806,
- /* 2nd byte: 107 */ 0x8809,
- /* 2nd byte: 108 */ 0x880a,
- /* 2nd byte: 109 */ 0x880b,
- /* 2nd byte: 110 */ 0x8810,
- /* 2nd byte: 111 */ 0x8819,
- /* 2nd byte: 112 */ 0x8812,
- /* 2nd byte: 113 */ 0x8813,
- /* 2nd byte: 114 */ 0x8814,
- /* 2nd byte: 115 */ 0x8818,
- /* 2nd byte: 116 */ 0x881a,
- /* 2nd byte: 117 */ 0x881b,
- /* 2nd byte: 118 */ 0x881c,
- /* 2nd byte: 119 */ 0x881e,
- /* 2nd byte: 120 */ 0x881f,
- /* 2nd byte: 121 */ 0x8828,
- /* 2nd byte: 122 */ 0x882d,
- /* 2nd byte: 123 */ 0x882e,
- /* 2nd byte: 124 */ 0x8830,
- /* 2nd byte: 125 */ 0x8832,
- /* 2nd byte: 126 */ 0x8835},
-/* 1st byte: 92 */ {
- /* 2nd byte: 33 */ 0x883a,
- /* 2nd byte: 34 */ 0x883c,
- /* 2nd byte: 35 */ 0x8841,
- /* 2nd byte: 36 */ 0x8843,
- /* 2nd byte: 37 */ 0x8845,
- /* 2nd byte: 38 */ 0x8848,
- /* 2nd byte: 39 */ 0x8849,
- /* 2nd byte: 40 */ 0x884a,
- /* 2nd byte: 41 */ 0x884b,
- /* 2nd byte: 42 */ 0x884e,
- /* 2nd byte: 43 */ 0x8851,
- /* 2nd byte: 44 */ 0x8855,
- /* 2nd byte: 45 */ 0x8856,
- /* 2nd byte: 46 */ 0x8858,
- /* 2nd byte: 47 */ 0x885a,
- /* 2nd byte: 48 */ 0x885c,
- /* 2nd byte: 49 */ 0x885f,
- /* 2nd byte: 50 */ 0x8860,
- /* 2nd byte: 51 */ 0x8864,
- /* 2nd byte: 52 */ 0x8869,
- /* 2nd byte: 53 */ 0x8871,
- /* 2nd byte: 54 */ 0x8879,
- /* 2nd byte: 55 */ 0x887b,
- /* 2nd byte: 56 */ 0x8880,
- /* 2nd byte: 57 */ 0x8898,
- /* 2nd byte: 58 */ 0x889a,
- /* 2nd byte: 59 */ 0x889b,
- /* 2nd byte: 60 */ 0x889c,
- /* 2nd byte: 61 */ 0x889f,
- /* 2nd byte: 62 */ 0x88a0,
- /* 2nd byte: 63 */ 0x88a8,
- /* 2nd byte: 64 */ 0x88aa,
- /* 2nd byte: 65 */ 0x88ba,
- /* 2nd byte: 66 */ 0x88bd,
- /* 2nd byte: 67 */ 0x88be,
- /* 2nd byte: 68 */ 0x88c0,
- /* 2nd byte: 69 */ 0x88ca,
- /* 2nd byte: 70 */ 0x88cb,
- /* 2nd byte: 71 */ 0x88cc,
- /* 2nd byte: 72 */ 0x88cd,
- /* 2nd byte: 73 */ 0x88ce,
- /* 2nd byte: 74 */ 0x88d1,
- /* 2nd byte: 75 */ 0x88d2,
- /* 2nd byte: 76 */ 0x88d3,
- /* 2nd byte: 77 */ 0x88db,
- /* 2nd byte: 78 */ 0x88de,
- /* 2nd byte: 79 */ 0x88e7,
- /* 2nd byte: 80 */ 0x88ef,
- /* 2nd byte: 81 */ 0x88f0,
- /* 2nd byte: 82 */ 0x88f1,
- /* 2nd byte: 83 */ 0x88f5,
- /* 2nd byte: 84 */ 0x88f7,
- /* 2nd byte: 85 */ 0x8901,
- /* 2nd byte: 86 */ 0x8906,
- /* 2nd byte: 87 */ 0x890d,
- /* 2nd byte: 88 */ 0x890e,
- /* 2nd byte: 89 */ 0x890f,
- /* 2nd byte: 90 */ 0x8915,
- /* 2nd byte: 91 */ 0x8916,
- /* 2nd byte: 92 */ 0x8918,
- /* 2nd byte: 93 */ 0x8919,
- /* 2nd byte: 94 */ 0x891a,
- /* 2nd byte: 95 */ 0x891c,
- /* 2nd byte: 96 */ 0x8920,
- /* 2nd byte: 97 */ 0x8926,
- /* 2nd byte: 98 */ 0x8927,
- /* 2nd byte: 99 */ 0x8928,
- /* 2nd byte: 100 */ 0x8930,
- /* 2nd byte: 101 */ 0x8931,
- /* 2nd byte: 102 */ 0x8932,
- /* 2nd byte: 103 */ 0x8935,
- /* 2nd byte: 104 */ 0x8939,
- /* 2nd byte: 105 */ 0x893a,
- /* 2nd byte: 106 */ 0x893e,
- /* 2nd byte: 107 */ 0x8940,
- /* 2nd byte: 108 */ 0x8942,
- /* 2nd byte: 109 */ 0x8945,
- /* 2nd byte: 110 */ 0x8946,
- /* 2nd byte: 111 */ 0x8949,
- /* 2nd byte: 112 */ 0x894f,
- /* 2nd byte: 113 */ 0x8952,
- /* 2nd byte: 114 */ 0x8957,
- /* 2nd byte: 115 */ 0x895a,
- /* 2nd byte: 116 */ 0x895b,
- /* 2nd byte: 117 */ 0x895c,
- /* 2nd byte: 118 */ 0x8961,
- /* 2nd byte: 119 */ 0x8962,
- /* 2nd byte: 120 */ 0x8963,
- /* 2nd byte: 121 */ 0x896b,
- /* 2nd byte: 122 */ 0x896e,
- /* 2nd byte: 123 */ 0x8970,
- /* 2nd byte: 124 */ 0x8973,
- /* 2nd byte: 125 */ 0x8975,
- /* 2nd byte: 126 */ 0x897a},
-/* 1st byte: 93 */ {
- /* 2nd byte: 33 */ 0x897b,
- /* 2nd byte: 34 */ 0x897c,
- /* 2nd byte: 35 */ 0x897d,
- /* 2nd byte: 36 */ 0x8989,
- /* 2nd byte: 37 */ 0x898d,
- /* 2nd byte: 38 */ 0x8990,
- /* 2nd byte: 39 */ 0x8994,
- /* 2nd byte: 40 */ 0x8995,
- /* 2nd byte: 41 */ 0x899b,
- /* 2nd byte: 42 */ 0x899c,
- /* 2nd byte: 43 */ 0x899f,
- /* 2nd byte: 44 */ 0x89a0,
- /* 2nd byte: 45 */ 0x89a5,
- /* 2nd byte: 46 */ 0x89b0,
- /* 2nd byte: 47 */ 0x89b4,
- /* 2nd byte: 48 */ 0x89b5,
- /* 2nd byte: 49 */ 0x89b6,
- /* 2nd byte: 50 */ 0x89b7,
- /* 2nd byte: 51 */ 0x89bc,
- /* 2nd byte: 52 */ 0x89d4,
- /* 2nd byte: 53 */ 0x89d5,
- /* 2nd byte: 54 */ 0x89d6,
- /* 2nd byte: 55 */ 0x89d7,
- /* 2nd byte: 56 */ 0x89d8,
- /* 2nd byte: 57 */ 0x89e5,
- /* 2nd byte: 58 */ 0x89e9,
- /* 2nd byte: 59 */ 0x89eb,
- /* 2nd byte: 60 */ 0x89ed,
- /* 2nd byte: 61 */ 0x89f1,
- /* 2nd byte: 62 */ 0x89f3,
- /* 2nd byte: 63 */ 0x89f6,
- /* 2nd byte: 64 */ 0x89f9,
- /* 2nd byte: 65 */ 0x89fd,
- /* 2nd byte: 66 */ 0x89ff,
- /* 2nd byte: 67 */ 0x8a04,
- /* 2nd byte: 68 */ 0x8a05,
- /* 2nd byte: 69 */ 0x8a07,
- /* 2nd byte: 70 */ 0x8a0f,
- /* 2nd byte: 71 */ 0x8a11,
- /* 2nd byte: 72 */ 0x8a12,
- /* 2nd byte: 73 */ 0x8a14,
- /* 2nd byte: 74 */ 0x8a15,
- /* 2nd byte: 75 */ 0x8a1e,
- /* 2nd byte: 76 */ 0x8a20,
- /* 2nd byte: 77 */ 0x8a22,
- /* 2nd byte: 78 */ 0x8a24,
- /* 2nd byte: 79 */ 0x8a26,
- /* 2nd byte: 80 */ 0x8a2b,
- /* 2nd byte: 81 */ 0x8a2c,
- /* 2nd byte: 82 */ 0x8a2f,
- /* 2nd byte: 83 */ 0x8a35,
- /* 2nd byte: 84 */ 0x8a37,
- /* 2nd byte: 85 */ 0x8a3d,
- /* 2nd byte: 86 */ 0x8a3e,
- /* 2nd byte: 87 */ 0x8a40,
- /* 2nd byte: 88 */ 0x8a43,
- /* 2nd byte: 89 */ 0x8a45,
- /* 2nd byte: 90 */ 0x8a47,
- /* 2nd byte: 91 */ 0x8a49,
- /* 2nd byte: 92 */ 0x8a4d,
- /* 2nd byte: 93 */ 0x8a4e,
- /* 2nd byte: 94 */ 0x8a53,
- /* 2nd byte: 95 */ 0x8a56,
- /* 2nd byte: 96 */ 0x8a57,
- /* 2nd byte: 97 */ 0x8a58,
- /* 2nd byte: 98 */ 0x8a5c,
- /* 2nd byte: 99 */ 0x8a5d,
- /* 2nd byte: 100 */ 0x8a61,
- /* 2nd byte: 101 */ 0x8a65,
- /* 2nd byte: 102 */ 0x8a67,
- /* 2nd byte: 103 */ 0x8a75,
- /* 2nd byte: 104 */ 0x8a76,
- /* 2nd byte: 105 */ 0x8a77,
- /* 2nd byte: 106 */ 0x8a79,
- /* 2nd byte: 107 */ 0x8a7a,
- /* 2nd byte: 108 */ 0x8a7b,
- /* 2nd byte: 109 */ 0x8a7e,
- /* 2nd byte: 110 */ 0x8a7f,
- /* 2nd byte: 111 */ 0x8a80,
- /* 2nd byte: 112 */ 0x8a83,
- /* 2nd byte: 113 */ 0x8a86,
- /* 2nd byte: 114 */ 0x8a8b,
- /* 2nd byte: 115 */ 0x8a8f,
- /* 2nd byte: 116 */ 0x8a90,
- /* 2nd byte: 117 */ 0x8a92,
- /* 2nd byte: 118 */ 0x8a96,
- /* 2nd byte: 119 */ 0x8a97,
- /* 2nd byte: 120 */ 0x8a99,
- /* 2nd byte: 121 */ 0x8a9f,
- /* 2nd byte: 122 */ 0x8aa7,
- /* 2nd byte: 123 */ 0x8aa9,
- /* 2nd byte: 124 */ 0x8aae,
- /* 2nd byte: 125 */ 0x8aaf,
- /* 2nd byte: 126 */ 0x8ab3},
-/* 1st byte: 94 */ {
- /* 2nd byte: 33 */ 0x8ab6,
- /* 2nd byte: 34 */ 0x8ab7,
- /* 2nd byte: 35 */ 0x8abb,
- /* 2nd byte: 36 */ 0x8abe,
- /* 2nd byte: 37 */ 0x8ac3,
- /* 2nd byte: 38 */ 0x8ac6,
- /* 2nd byte: 39 */ 0x8ac8,
- /* 2nd byte: 40 */ 0x8ac9,
- /* 2nd byte: 41 */ 0x8aca,
- /* 2nd byte: 42 */ 0x8ad1,
- /* 2nd byte: 43 */ 0x8ad3,
- /* 2nd byte: 44 */ 0x8ad4,
- /* 2nd byte: 45 */ 0x8ad5,
- /* 2nd byte: 46 */ 0x8ad7,
- /* 2nd byte: 47 */ 0x8add,
- /* 2nd byte: 48 */ 0x8adf,
- /* 2nd byte: 49 */ 0x8aec,
- /* 2nd byte: 50 */ 0x8af0,
- /* 2nd byte: 51 */ 0x8af4,
- /* 2nd byte: 52 */ 0x8af5,
- /* 2nd byte: 53 */ 0x8af6,
- /* 2nd byte: 54 */ 0x8afc,
- /* 2nd byte: 55 */ 0x8aff,
- /* 2nd byte: 56 */ 0x8b05,
- /* 2nd byte: 57 */ 0x8b06,
- /* 2nd byte: 58 */ 0x8b0b,
- /* 2nd byte: 59 */ 0x8b11,
- /* 2nd byte: 60 */ 0x8b1c,
- /* 2nd byte: 61 */ 0x8b1e,
- /* 2nd byte: 62 */ 0x8b1f,
- /* 2nd byte: 63 */ 0x8b0a,
- /* 2nd byte: 64 */ 0x8b2d,
- /* 2nd byte: 65 */ 0x8b30,
- /* 2nd byte: 66 */ 0x8b37,
- /* 2nd byte: 67 */ 0x8b3c,
- /* 2nd byte: 68 */ 0x8b42,
- /* 2nd byte: 69 */ 0x8b43,
- /* 2nd byte: 70 */ 0x8b44,
- /* 2nd byte: 71 */ 0x8b45,
- /* 2nd byte: 72 */ 0x8b46,
- /* 2nd byte: 73 */ 0x8b48,
- /* 2nd byte: 74 */ 0x8b52,
- /* 2nd byte: 75 */ 0x8b53,
- /* 2nd byte: 76 */ 0x8b54,
- /* 2nd byte: 77 */ 0x8b59,
- /* 2nd byte: 78 */ 0x8b4d,
- /* 2nd byte: 79 */ 0x8b5e,
- /* 2nd byte: 80 */ 0x8b63,
- /* 2nd byte: 81 */ 0x8b6d,
- /* 2nd byte: 82 */ 0x8b76,
- /* 2nd byte: 83 */ 0x8b78,
- /* 2nd byte: 84 */ 0x8b79,
- /* 2nd byte: 85 */ 0x8b7c,
- /* 2nd byte: 86 */ 0x8b7e,
- /* 2nd byte: 87 */ 0x8b81,
- /* 2nd byte: 88 */ 0x8b84,
- /* 2nd byte: 89 */ 0x8b85,
- /* 2nd byte: 90 */ 0x8b8b,
- /* 2nd byte: 91 */ 0x8b8d,
- /* 2nd byte: 92 */ 0x8b8f,
- /* 2nd byte: 93 */ 0x8b94,
- /* 2nd byte: 94 */ 0x8b95,
- /* 2nd byte: 95 */ 0x8b9c,
- /* 2nd byte: 96 */ 0x8b9e,
- /* 2nd byte: 97 */ 0x8b9f,
- /* 2nd byte: 98 */ 0x8c38,
- /* 2nd byte: 99 */ 0x8c39,
- /* 2nd byte: 100 */ 0x8c3d,
- /* 2nd byte: 101 */ 0x8c3e,
- /* 2nd byte: 102 */ 0x8c45,
- /* 2nd byte: 103 */ 0x8c47,
- /* 2nd byte: 104 */ 0x8c49,
- /* 2nd byte: 105 */ 0x8c4b,
- /* 2nd byte: 106 */ 0x8c4f,
- /* 2nd byte: 107 */ 0x8c51,
- /* 2nd byte: 108 */ 0x8c53,
- /* 2nd byte: 109 */ 0x8c54,
- /* 2nd byte: 110 */ 0x8c57,
- /* 2nd byte: 111 */ 0x8c58,
- /* 2nd byte: 112 */ 0x8c5b,
- /* 2nd byte: 113 */ 0x8c5d,
- /* 2nd byte: 114 */ 0x8c59,
- /* 2nd byte: 115 */ 0x8c63,
- /* 2nd byte: 116 */ 0x8c64,
- /* 2nd byte: 117 */ 0x8c66,
- /* 2nd byte: 118 */ 0x8c68,
- /* 2nd byte: 119 */ 0x8c69,
- /* 2nd byte: 120 */ 0x8c6d,
- /* 2nd byte: 121 */ 0x8c73,
- /* 2nd byte: 122 */ 0x8c75,
- /* 2nd byte: 123 */ 0x8c76,
- /* 2nd byte: 124 */ 0x8c7b,
- /* 2nd byte: 125 */ 0x8c7e,
- /* 2nd byte: 126 */ 0x8c86},
-/* 1st byte: 95 */ {
- /* 2nd byte: 33 */ 0x8c87,
- /* 2nd byte: 34 */ 0x8c8b,
- /* 2nd byte: 35 */ 0x8c90,
- /* 2nd byte: 36 */ 0x8c92,
- /* 2nd byte: 37 */ 0x8c93,
- /* 2nd byte: 38 */ 0x8c99,
- /* 2nd byte: 39 */ 0x8c9b,
- /* 2nd byte: 40 */ 0x8c9c,
- /* 2nd byte: 41 */ 0x8ca4,
- /* 2nd byte: 42 */ 0x8cb9,
- /* 2nd byte: 43 */ 0x8cba,
- /* 2nd byte: 44 */ 0x8cc5,
- /* 2nd byte: 45 */ 0x8cc6,
- /* 2nd byte: 46 */ 0x8cc9,
- /* 2nd byte: 47 */ 0x8ccb,
- /* 2nd byte: 48 */ 0x8ccf,
- /* 2nd byte: 49 */ 0x8cd6,
- /* 2nd byte: 50 */ 0x8cd5,
- /* 2nd byte: 51 */ 0x8cd9,
- /* 2nd byte: 52 */ 0x8cdd,
- /* 2nd byte: 53 */ 0x8ce1,
- /* 2nd byte: 54 */ 0x8ce8,
- /* 2nd byte: 55 */ 0x8cec,
- /* 2nd byte: 56 */ 0x8cef,
- /* 2nd byte: 57 */ 0x8cf0,
- /* 2nd byte: 58 */ 0x8cf2,
- /* 2nd byte: 59 */ 0x8cf5,
- /* 2nd byte: 60 */ 0x8cf7,
- /* 2nd byte: 61 */ 0x8cf8,
- /* 2nd byte: 62 */ 0x8cfe,
- /* 2nd byte: 63 */ 0x8cff,
- /* 2nd byte: 64 */ 0x8d01,
- /* 2nd byte: 65 */ 0x8d03,
- /* 2nd byte: 66 */ 0x8d09,
- /* 2nd byte: 67 */ 0x8d12,
- /* 2nd byte: 68 */ 0x8d17,
- /* 2nd byte: 69 */ 0x8d1b,
- /* 2nd byte: 70 */ 0x8d65,
- /* 2nd byte: 71 */ 0x8d69,
- /* 2nd byte: 72 */ 0x8d6c,
- /* 2nd byte: 73 */ 0x8d6e,
- /* 2nd byte: 74 */ 0x8d7f,
- /* 2nd byte: 75 */ 0x8d82,
- /* 2nd byte: 76 */ 0x8d84,
- /* 2nd byte: 77 */ 0x8d88,
- /* 2nd byte: 78 */ 0x8d8d,
- /* 2nd byte: 79 */ 0x8d90,
- /* 2nd byte: 80 */ 0x8d91,
- /* 2nd byte: 81 */ 0x8d95,
- /* 2nd byte: 82 */ 0x8d9e,
- /* 2nd byte: 83 */ 0x8d9f,
- /* 2nd byte: 84 */ 0x8da0,
- /* 2nd byte: 85 */ 0x8da6,
- /* 2nd byte: 86 */ 0x8dab,
- /* 2nd byte: 87 */ 0x8dac,
- /* 2nd byte: 88 */ 0x8daf,
- /* 2nd byte: 89 */ 0x8db2,
- /* 2nd byte: 90 */ 0x8db5,
- /* 2nd byte: 91 */ 0x8db7,
- /* 2nd byte: 92 */ 0x8db9,
- /* 2nd byte: 93 */ 0x8dbb,
- /* 2nd byte: 94 */ 0x8dc0,
- /* 2nd byte: 95 */ 0x8dc5,
- /* 2nd byte: 96 */ 0x8dc6,
- /* 2nd byte: 97 */ 0x8dc7,
- /* 2nd byte: 98 */ 0x8dc8,
- /* 2nd byte: 99 */ 0x8dca,
- /* 2nd byte: 100 */ 0x8dce,
- /* 2nd byte: 101 */ 0x8dd1,
- /* 2nd byte: 102 */ 0x8dd4,
- /* 2nd byte: 103 */ 0x8dd5,
- /* 2nd byte: 104 */ 0x8dd7,
- /* 2nd byte: 105 */ 0x8dd9,
- /* 2nd byte: 106 */ 0x8de4,
- /* 2nd byte: 107 */ 0x8de5,
- /* 2nd byte: 108 */ 0x8de7,
- /* 2nd byte: 109 */ 0x8dec,
- /* 2nd byte: 110 */ 0x8df0,
- /* 2nd byte: 111 */ 0x8dbc,
- /* 2nd byte: 112 */ 0x8df1,
- /* 2nd byte: 113 */ 0x8df2,
- /* 2nd byte: 114 */ 0x8df4,
- /* 2nd byte: 115 */ 0x8dfd,
- /* 2nd byte: 116 */ 0x8e01,
- /* 2nd byte: 117 */ 0x8e04,
- /* 2nd byte: 118 */ 0x8e05,
- /* 2nd byte: 119 */ 0x8e06,
- /* 2nd byte: 120 */ 0x8e0b,
- /* 2nd byte: 121 */ 0x8e11,
- /* 2nd byte: 122 */ 0x8e14,
- /* 2nd byte: 123 */ 0x8e16,
- /* 2nd byte: 124 */ 0x8e20,
- /* 2nd byte: 125 */ 0x8e21,
- /* 2nd byte: 126 */ 0x8e22},
-/* 1st byte: 96 */ {
- /* 2nd byte: 33 */ 0x8e23,
- /* 2nd byte: 34 */ 0x8e26,
- /* 2nd byte: 35 */ 0x8e27,
- /* 2nd byte: 36 */ 0x8e31,
- /* 2nd byte: 37 */ 0x8e33,
- /* 2nd byte: 38 */ 0x8e36,
- /* 2nd byte: 39 */ 0x8e37,
- /* 2nd byte: 40 */ 0x8e38,
- /* 2nd byte: 41 */ 0x8e39,
- /* 2nd byte: 42 */ 0x8e3d,
- /* 2nd byte: 43 */ 0x8e40,
- /* 2nd byte: 44 */ 0x8e41,
- /* 2nd byte: 45 */ 0x8e4b,
- /* 2nd byte: 46 */ 0x8e4d,
- /* 2nd byte: 47 */ 0x8e4e,
- /* 2nd byte: 48 */ 0x8e4f,
- /* 2nd byte: 49 */ 0x8e54,
- /* 2nd byte: 50 */ 0x8e5b,
- /* 2nd byte: 51 */ 0x8e5c,
- /* 2nd byte: 52 */ 0x8e5d,
- /* 2nd byte: 53 */ 0x8e5e,
- /* 2nd byte: 54 */ 0x8e61,
- /* 2nd byte: 55 */ 0x8e62,
- /* 2nd byte: 56 */ 0x8e69,
- /* 2nd byte: 57 */ 0x8e6c,
- /* 2nd byte: 58 */ 0x8e6d,
- /* 2nd byte: 59 */ 0x8e6f,
- /* 2nd byte: 60 */ 0x8e70,
- /* 2nd byte: 61 */ 0x8e71,
- /* 2nd byte: 62 */ 0x8e79,
- /* 2nd byte: 63 */ 0x8e7a,
- /* 2nd byte: 64 */ 0x8e7b,
- /* 2nd byte: 65 */ 0x8e82,
- /* 2nd byte: 66 */ 0x8e83,
- /* 2nd byte: 67 */ 0x8e89,
- /* 2nd byte: 68 */ 0x8e90,
- /* 2nd byte: 69 */ 0x8e92,
- /* 2nd byte: 70 */ 0x8e95,
- /* 2nd byte: 71 */ 0x8e9a,
- /* 2nd byte: 72 */ 0x8e9b,
- /* 2nd byte: 73 */ 0x8e9d,
- /* 2nd byte: 74 */ 0x8e9e,
- /* 2nd byte: 75 */ 0x8ea2,
- /* 2nd byte: 76 */ 0x8ea7,
- /* 2nd byte: 77 */ 0x8ea9,
- /* 2nd byte: 78 */ 0x8ead,
- /* 2nd byte: 79 */ 0x8eae,
- /* 2nd byte: 80 */ 0x8eb3,
- /* 2nd byte: 81 */ 0x8eb5,
- /* 2nd byte: 82 */ 0x8eba,
- /* 2nd byte: 83 */ 0x8ebb,
- /* 2nd byte: 84 */ 0x8ec0,
- /* 2nd byte: 85 */ 0x8ec1,
- /* 2nd byte: 86 */ 0x8ec3,
- /* 2nd byte: 87 */ 0x8ec4,
- /* 2nd byte: 88 */ 0x8ec7,
- /* 2nd byte: 89 */ 0x8ecf,
- /* 2nd byte: 90 */ 0x8ed1,
- /* 2nd byte: 91 */ 0x8ed4,
- /* 2nd byte: 92 */ 0x8edc,
- /* 2nd byte: 93 */ 0x8ee8,
- /* 2nd byte: 94 */ 0x8eee,
- /* 2nd byte: 95 */ 0x8ef0,
- /* 2nd byte: 96 */ 0x8ef1,
- /* 2nd byte: 97 */ 0x8ef7,
- /* 2nd byte: 98 */ 0x8ef9,
- /* 2nd byte: 99 */ 0x8efa,
- /* 2nd byte: 100 */ 0x8eed,
- /* 2nd byte: 101 */ 0x8f00,
- /* 2nd byte: 102 */ 0x8f02,
- /* 2nd byte: 103 */ 0x8f07,
- /* 2nd byte: 104 */ 0x8f08,
- /* 2nd byte: 105 */ 0x8f0f,
- /* 2nd byte: 106 */ 0x8f10,
- /* 2nd byte: 107 */ 0x8f16,
- /* 2nd byte: 108 */ 0x8f17,
- /* 2nd byte: 109 */ 0x8f18,
- /* 2nd byte: 110 */ 0x8f1e,
- /* 2nd byte: 111 */ 0x8f20,
- /* 2nd byte: 112 */ 0x8f21,
- /* 2nd byte: 113 */ 0x8f23,
- /* 2nd byte: 114 */ 0x8f25,
- /* 2nd byte: 115 */ 0x8f27,
- /* 2nd byte: 116 */ 0x8f28,
- /* 2nd byte: 117 */ 0x8f2c,
- /* 2nd byte: 118 */ 0x8f2d,
- /* 2nd byte: 119 */ 0x8f2e,
- /* 2nd byte: 120 */ 0x8f34,
- /* 2nd byte: 121 */ 0x8f35,
- /* 2nd byte: 122 */ 0x8f36,
- /* 2nd byte: 123 */ 0x8f37,
- /* 2nd byte: 124 */ 0x8f3a,
- /* 2nd byte: 125 */ 0x8f40,
- /* 2nd byte: 126 */ 0x8f41},
-/* 1st byte: 97 */ {
- /* 2nd byte: 33 */ 0x8f43,
- /* 2nd byte: 34 */ 0x8f47,
- /* 2nd byte: 35 */ 0x8f4f,
- /* 2nd byte: 36 */ 0x8f51,
- /* 2nd byte: 37 */ 0x8f52,
- /* 2nd byte: 38 */ 0x8f53,
- /* 2nd byte: 39 */ 0x8f54,
- /* 2nd byte: 40 */ 0x8f55,
- /* 2nd byte: 41 */ 0x8f58,
- /* 2nd byte: 42 */ 0x8f5d,
- /* 2nd byte: 43 */ 0x8f5e,
- /* 2nd byte: 44 */ 0x8f65,
- /* 2nd byte: 45 */ 0x8f9d,
- /* 2nd byte: 46 */ 0x8fa0,
- /* 2nd byte: 47 */ 0x8fa1,
- /* 2nd byte: 48 */ 0x8fa4,
- /* 2nd byte: 49 */ 0x8fa5,
- /* 2nd byte: 50 */ 0x8fa6,
- /* 2nd byte: 51 */ 0x8fb5,
- /* 2nd byte: 52 */ 0x8fb6,
- /* 2nd byte: 53 */ 0x8fb8,
- /* 2nd byte: 54 */ 0x8fbe,
- /* 2nd byte: 55 */ 0x8fc0,
- /* 2nd byte: 56 */ 0x8fc1,
- /* 2nd byte: 57 */ 0x8fc6,
- /* 2nd byte: 58 */ 0x8fca,
- /* 2nd byte: 59 */ 0x8fcb,
- /* 2nd byte: 60 */ 0x8fcd,
- /* 2nd byte: 61 */ 0x8fd0,
- /* 2nd byte: 62 */ 0x8fd2,
- /* 2nd byte: 63 */ 0x8fd3,
- /* 2nd byte: 64 */ 0x8fd5,
- /* 2nd byte: 65 */ 0x8fe0,
- /* 2nd byte: 66 */ 0x8fe3,
- /* 2nd byte: 67 */ 0x8fe4,
- /* 2nd byte: 68 */ 0x8fe8,
- /* 2nd byte: 69 */ 0x8fee,
- /* 2nd byte: 70 */ 0x8ff1,
- /* 2nd byte: 71 */ 0x8ff5,
- /* 2nd byte: 72 */ 0x8ff6,
- /* 2nd byte: 73 */ 0x8ffb,
- /* 2nd byte: 74 */ 0x8ffe,
- /* 2nd byte: 75 */ 0x9002,
- /* 2nd byte: 76 */ 0x9004,
- /* 2nd byte: 77 */ 0x9008,
- /* 2nd byte: 78 */ 0x900c,
- /* 2nd byte: 79 */ 0x9018,
- /* 2nd byte: 80 */ 0x901b,
- /* 2nd byte: 81 */ 0x9028,
- /* 2nd byte: 82 */ 0x9029,
- /* 2nd byte: 83 */ 0x902f,
- /* 2nd byte: 84 */ 0x902a,
- /* 2nd byte: 85 */ 0x902c,
- /* 2nd byte: 86 */ 0x902d,
- /* 2nd byte: 87 */ 0x9033,
- /* 2nd byte: 88 */ 0x9034,
- /* 2nd byte: 89 */ 0x9037,
- /* 2nd byte: 90 */ 0x903f,
- /* 2nd byte: 91 */ 0x9043,
- /* 2nd byte: 92 */ 0x9044,
- /* 2nd byte: 93 */ 0x904c,
- /* 2nd byte: 94 */ 0x905b,
- /* 2nd byte: 95 */ 0x905d,
- /* 2nd byte: 96 */ 0x9062,
- /* 2nd byte: 97 */ 0x9066,
- /* 2nd byte: 98 */ 0x9067,
- /* 2nd byte: 99 */ 0x906c,
- /* 2nd byte: 100 */ 0x9070,
- /* 2nd byte: 101 */ 0x9074,
- /* 2nd byte: 102 */ 0x9079,
- /* 2nd byte: 103 */ 0x9085,
- /* 2nd byte: 104 */ 0x9088,
- /* 2nd byte: 105 */ 0x908b,
- /* 2nd byte: 106 */ 0x908c,
- /* 2nd byte: 107 */ 0x908e,
- /* 2nd byte: 108 */ 0x9090,
- /* 2nd byte: 109 */ 0x9095,
- /* 2nd byte: 110 */ 0x9097,
- /* 2nd byte: 111 */ 0x9098,
- /* 2nd byte: 112 */ 0x9099,
- /* 2nd byte: 113 */ 0x909b,
- /* 2nd byte: 114 */ 0x90a0,
- /* 2nd byte: 115 */ 0x90a1,
- /* 2nd byte: 116 */ 0x90a2,
- /* 2nd byte: 117 */ 0x90a5,
- /* 2nd byte: 118 */ 0x90b0,
- /* 2nd byte: 119 */ 0x90b2,
- /* 2nd byte: 120 */ 0x90b3,
- /* 2nd byte: 121 */ 0x90b4,
- /* 2nd byte: 122 */ 0x90b6,
- /* 2nd byte: 123 */ 0x90bd,
- /* 2nd byte: 124 */ 0x90cc,
- /* 2nd byte: 125 */ 0x90be,
- /* 2nd byte: 126 */ 0x90c3},
-/* 1st byte: 98 */ {
- /* 2nd byte: 33 */ 0x90c4,
- /* 2nd byte: 34 */ 0x90c5,
- /* 2nd byte: 35 */ 0x90c7,
- /* 2nd byte: 36 */ 0x90c8,
- /* 2nd byte: 37 */ 0x90d5,
- /* 2nd byte: 38 */ 0x90d7,
- /* 2nd byte: 39 */ 0x90d8,
- /* 2nd byte: 40 */ 0x90d9,
- /* 2nd byte: 41 */ 0x90dc,
- /* 2nd byte: 42 */ 0x90dd,
- /* 2nd byte: 43 */ 0x90df,
- /* 2nd byte: 44 */ 0x90e5,
- /* 2nd byte: 45 */ 0x90d2,
- /* 2nd byte: 46 */ 0x90f6,
- /* 2nd byte: 47 */ 0x90eb,
- /* 2nd byte: 48 */ 0x90ef,
- /* 2nd byte: 49 */ 0x90f0,
- /* 2nd byte: 50 */ 0x90f4,
- /* 2nd byte: 51 */ 0x90fe,
- /* 2nd byte: 52 */ 0x90ff,
- /* 2nd byte: 53 */ 0x9100,
- /* 2nd byte: 54 */ 0x9104,
- /* 2nd byte: 55 */ 0x9105,
- /* 2nd byte: 56 */ 0x9106,
- /* 2nd byte: 57 */ 0x9108,
- /* 2nd byte: 58 */ 0x910d,
- /* 2nd byte: 59 */ 0x9110,
- /* 2nd byte: 60 */ 0x9114,
- /* 2nd byte: 61 */ 0x9116,
- /* 2nd byte: 62 */ 0x9117,
- /* 2nd byte: 63 */ 0x9118,
- /* 2nd byte: 64 */ 0x911a,
- /* 2nd byte: 65 */ 0x911c,
- /* 2nd byte: 66 */ 0x911e,
- /* 2nd byte: 67 */ 0x9120,
- /* 2nd byte: 68 */ 0x9125,
- /* 2nd byte: 69 */ 0x9122,
- /* 2nd byte: 70 */ 0x9123,
- /* 2nd byte: 71 */ 0x9127,
- /* 2nd byte: 72 */ 0x9129,
- /* 2nd byte: 73 */ 0x912e,
- /* 2nd byte: 74 */ 0x912f,
- /* 2nd byte: 75 */ 0x9131,
- /* 2nd byte: 76 */ 0x9134,
- /* 2nd byte: 77 */ 0x9136,
- /* 2nd byte: 78 */ 0x9137,
- /* 2nd byte: 79 */ 0x9139,
- /* 2nd byte: 80 */ 0x913a,
- /* 2nd byte: 81 */ 0x913c,
- /* 2nd byte: 82 */ 0x913d,
- /* 2nd byte: 83 */ 0x9143,
- /* 2nd byte: 84 */ 0x9147,
- /* 2nd byte: 85 */ 0x9148,
- /* 2nd byte: 86 */ 0x914f,
- /* 2nd byte: 87 */ 0x9153,
- /* 2nd byte: 88 */ 0x9157,
- /* 2nd byte: 89 */ 0x9159,
- /* 2nd byte: 90 */ 0x915a,
- /* 2nd byte: 91 */ 0x915b,
- /* 2nd byte: 92 */ 0x9161,
- /* 2nd byte: 93 */ 0x9164,
- /* 2nd byte: 94 */ 0x9167,
- /* 2nd byte: 95 */ 0x916d,
- /* 2nd byte: 96 */ 0x9174,
- /* 2nd byte: 97 */ 0x9179,
- /* 2nd byte: 98 */ 0x917a,
- /* 2nd byte: 99 */ 0x917b,
- /* 2nd byte: 100 */ 0x9181,
- /* 2nd byte: 101 */ 0x9183,
- /* 2nd byte: 102 */ 0x9185,
- /* 2nd byte: 103 */ 0x9186,
- /* 2nd byte: 104 */ 0x918a,
- /* 2nd byte: 105 */ 0x918e,
- /* 2nd byte: 106 */ 0x9191,
- /* 2nd byte: 107 */ 0x9193,
- /* 2nd byte: 108 */ 0x9194,
- /* 2nd byte: 109 */ 0x9195,
- /* 2nd byte: 110 */ 0x9198,
- /* 2nd byte: 111 */ 0x919e,
- /* 2nd byte: 112 */ 0x91a1,
- /* 2nd byte: 113 */ 0x91a6,
- /* 2nd byte: 114 */ 0x91a8,
- /* 2nd byte: 115 */ 0x91ac,
- /* 2nd byte: 116 */ 0x91ad,
- /* 2nd byte: 117 */ 0x91ae,
- /* 2nd byte: 118 */ 0x91b0,
- /* 2nd byte: 119 */ 0x91b1,
- /* 2nd byte: 120 */ 0x91b2,
- /* 2nd byte: 121 */ 0x91b3,
- /* 2nd byte: 122 */ 0x91b6,
- /* 2nd byte: 123 */ 0x91bb,
- /* 2nd byte: 124 */ 0x91bc,
- /* 2nd byte: 125 */ 0x91bd,
- /* 2nd byte: 126 */ 0x91bf},
-/* 1st byte: 99 */ {
- /* 2nd byte: 33 */ 0x91c2,
- /* 2nd byte: 34 */ 0x91c3,
- /* 2nd byte: 35 */ 0x91c5,
- /* 2nd byte: 36 */ 0x91d3,
- /* 2nd byte: 37 */ 0x91d4,
- /* 2nd byte: 38 */ 0x91d7,
- /* 2nd byte: 39 */ 0x91d9,
- /* 2nd byte: 40 */ 0x91da,
- /* 2nd byte: 41 */ 0x91de,
- /* 2nd byte: 42 */ 0x91e4,
- /* 2nd byte: 43 */ 0x91e5,
- /* 2nd byte: 44 */ 0x91e9,
- /* 2nd byte: 45 */ 0x91ea,
- /* 2nd byte: 46 */ 0x91ec,
- /* 2nd byte: 47 */ 0x91ed,
- /* 2nd byte: 48 */ 0x91ee,
- /* 2nd byte: 49 */ 0x91ef,
- /* 2nd byte: 50 */ 0x91f0,
- /* 2nd byte: 51 */ 0x91f1,
- /* 2nd byte: 52 */ 0x91f7,
- /* 2nd byte: 53 */ 0x91f9,
- /* 2nd byte: 54 */ 0x91fb,
- /* 2nd byte: 55 */ 0x91fd,
- /* 2nd byte: 56 */ 0x9200,
- /* 2nd byte: 57 */ 0x9201,
- /* 2nd byte: 58 */ 0x9204,
- /* 2nd byte: 59 */ 0x9205,
- /* 2nd byte: 60 */ 0x9206,
- /* 2nd byte: 61 */ 0x9207,
- /* 2nd byte: 62 */ 0x9209,
- /* 2nd byte: 63 */ 0x920a,
- /* 2nd byte: 64 */ 0x920c,
- /* 2nd byte: 65 */ 0x9210,
- /* 2nd byte: 66 */ 0x9212,
- /* 2nd byte: 67 */ 0x9213,
- /* 2nd byte: 68 */ 0x9216,
- /* 2nd byte: 69 */ 0x9218,
- /* 2nd byte: 70 */ 0x921c,
- /* 2nd byte: 71 */ 0x921d,
- /* 2nd byte: 72 */ 0x9223,
- /* 2nd byte: 73 */ 0x9224,
- /* 2nd byte: 74 */ 0x9225,
- /* 2nd byte: 75 */ 0x9226,
- /* 2nd byte: 76 */ 0x9228,
- /* 2nd byte: 77 */ 0x922e,
- /* 2nd byte: 78 */ 0x922f,
- /* 2nd byte: 79 */ 0x9230,
- /* 2nd byte: 80 */ 0x9233,
- /* 2nd byte: 81 */ 0x9235,
- /* 2nd byte: 82 */ 0x9236,
- /* 2nd byte: 83 */ 0x9238,
- /* 2nd byte: 84 */ 0x9239,
- /* 2nd byte: 85 */ 0x923a,
- /* 2nd byte: 86 */ 0x923c,
- /* 2nd byte: 87 */ 0x923e,
- /* 2nd byte: 88 */ 0x9240,
- /* 2nd byte: 89 */ 0x9242,
- /* 2nd byte: 90 */ 0x9243,
- /* 2nd byte: 91 */ 0x9246,
- /* 2nd byte: 92 */ 0x9247,
- /* 2nd byte: 93 */ 0x924a,
- /* 2nd byte: 94 */ 0x924d,
- /* 2nd byte: 95 */ 0x924e,
- /* 2nd byte: 96 */ 0x924f,
- /* 2nd byte: 97 */ 0x9251,
- /* 2nd byte: 98 */ 0x9258,
- /* 2nd byte: 99 */ 0x9259,
- /* 2nd byte: 100 */ 0x925c,
- /* 2nd byte: 101 */ 0x925d,
- /* 2nd byte: 102 */ 0x9260,
- /* 2nd byte: 103 */ 0x9261,
- /* 2nd byte: 104 */ 0x9265,
- /* 2nd byte: 105 */ 0x9267,
- /* 2nd byte: 106 */ 0x9268,
- /* 2nd byte: 107 */ 0x9269,
- /* 2nd byte: 108 */ 0x926e,
- /* 2nd byte: 109 */ 0x926f,
- /* 2nd byte: 110 */ 0x9270,
- /* 2nd byte: 111 */ 0x9275,
- /* 2nd byte: 112 */ 0x9276,
- /* 2nd byte: 113 */ 0x9277,
- /* 2nd byte: 114 */ 0x9278,
- /* 2nd byte: 115 */ 0x9279,
- /* 2nd byte: 116 */ 0x927b,
- /* 2nd byte: 117 */ 0x927c,
- /* 2nd byte: 118 */ 0x927d,
- /* 2nd byte: 119 */ 0x927f,
- /* 2nd byte: 120 */ 0x9288,
- /* 2nd byte: 121 */ 0x9289,
- /* 2nd byte: 122 */ 0x928a,
- /* 2nd byte: 123 */ 0x928d,
- /* 2nd byte: 124 */ 0x928e,
- /* 2nd byte: 125 */ 0x9292,
- /* 2nd byte: 126 */ 0x9297},
-/* 1st byte: 100 */ {
- /* 2nd byte: 33 */ 0x9299,
- /* 2nd byte: 34 */ 0x929f,
- /* 2nd byte: 35 */ 0x92a0,
- /* 2nd byte: 36 */ 0x92a4,
- /* 2nd byte: 37 */ 0x92a5,
- /* 2nd byte: 38 */ 0x92a7,
- /* 2nd byte: 39 */ 0x92a8,
- /* 2nd byte: 40 */ 0x92ab,
- /* 2nd byte: 41 */ 0x92af,
- /* 2nd byte: 42 */ 0x92b2,
- /* 2nd byte: 43 */ 0x92b6,
- /* 2nd byte: 44 */ 0x92b8,
- /* 2nd byte: 45 */ 0x92ba,
- /* 2nd byte: 46 */ 0x92bb,
- /* 2nd byte: 47 */ 0x92bc,
- /* 2nd byte: 48 */ 0x92bd,
- /* 2nd byte: 49 */ 0x92bf,
- /* 2nd byte: 50 */ 0x92c0,
- /* 2nd byte: 51 */ 0x92c1,
- /* 2nd byte: 52 */ 0x92c2,
- /* 2nd byte: 53 */ 0x92c3,
- /* 2nd byte: 54 */ 0x92c5,
- /* 2nd byte: 55 */ 0x92c6,
- /* 2nd byte: 56 */ 0x92c7,
- /* 2nd byte: 57 */ 0x92c8,
- /* 2nd byte: 58 */ 0x92cb,
- /* 2nd byte: 59 */ 0x92cc,
- /* 2nd byte: 60 */ 0x92cd,
- /* 2nd byte: 61 */ 0x92ce,
- /* 2nd byte: 62 */ 0x92d0,
- /* 2nd byte: 63 */ 0x92d3,
- /* 2nd byte: 64 */ 0x92d5,
- /* 2nd byte: 65 */ 0x92d7,
- /* 2nd byte: 66 */ 0x92d8,
- /* 2nd byte: 67 */ 0x92d9,
- /* 2nd byte: 68 */ 0x92dc,
- /* 2nd byte: 69 */ 0x92dd,
- /* 2nd byte: 70 */ 0x92df,
- /* 2nd byte: 71 */ 0x92e0,
- /* 2nd byte: 72 */ 0x92e1,
- /* 2nd byte: 73 */ 0x92e3,
- /* 2nd byte: 74 */ 0x92e5,
- /* 2nd byte: 75 */ 0x92e7,
- /* 2nd byte: 76 */ 0x92e8,
- /* 2nd byte: 77 */ 0x92ec,
- /* 2nd byte: 78 */ 0x92ee,
- /* 2nd byte: 79 */ 0x92f0,
- /* 2nd byte: 80 */ 0x92f9,
- /* 2nd byte: 81 */ 0x92fb,
- /* 2nd byte: 82 */ 0x92ff,
- /* 2nd byte: 83 */ 0x9300,
- /* 2nd byte: 84 */ 0x9302,
- /* 2nd byte: 85 */ 0x9308,
- /* 2nd byte: 86 */ 0x930d,
- /* 2nd byte: 87 */ 0x9311,
- /* 2nd byte: 88 */ 0x9314,
- /* 2nd byte: 89 */ 0x9315,
- /* 2nd byte: 90 */ 0x931c,
- /* 2nd byte: 91 */ 0x931d,
- /* 2nd byte: 92 */ 0x931e,
- /* 2nd byte: 93 */ 0x931f,
- /* 2nd byte: 94 */ 0x9321,
- /* 2nd byte: 95 */ 0x9324,
- /* 2nd byte: 96 */ 0x9325,
- /* 2nd byte: 97 */ 0x9327,
- /* 2nd byte: 98 */ 0x9329,
- /* 2nd byte: 99 */ 0x932a,
- /* 2nd byte: 100 */ 0x9333,
- /* 2nd byte: 101 */ 0x9334,
- /* 2nd byte: 102 */ 0x9336,
- /* 2nd byte: 103 */ 0x9337,
- /* 2nd byte: 104 */ 0x9347,
- /* 2nd byte: 105 */ 0x9348,
- /* 2nd byte: 106 */ 0x9349,
- /* 2nd byte: 107 */ 0x9350,
- /* 2nd byte: 108 */ 0x9351,
- /* 2nd byte: 109 */ 0x9352,
- /* 2nd byte: 110 */ 0x9355,
- /* 2nd byte: 111 */ 0x9357,
- /* 2nd byte: 112 */ 0x9358,
- /* 2nd byte: 113 */ 0x935a,
- /* 2nd byte: 114 */ 0x935e,
- /* 2nd byte: 115 */ 0x9364,
- /* 2nd byte: 116 */ 0x9365,
- /* 2nd byte: 117 */ 0x9367,
- /* 2nd byte: 118 */ 0x9369,
- /* 2nd byte: 119 */ 0x936a,
- /* 2nd byte: 120 */ 0x936d,
- /* 2nd byte: 121 */ 0x936f,
- /* 2nd byte: 122 */ 0x9370,
- /* 2nd byte: 123 */ 0x9371,
- /* 2nd byte: 124 */ 0x9373,
- /* 2nd byte: 125 */ 0x9374,
- /* 2nd byte: 126 */ 0x9376},
-/* 1st byte: 101 */ {
- /* 2nd byte: 33 */ 0x937a,
- /* 2nd byte: 34 */ 0x937d,
- /* 2nd byte: 35 */ 0x937f,
- /* 2nd byte: 36 */ 0x9380,
- /* 2nd byte: 37 */ 0x9381,
- /* 2nd byte: 38 */ 0x9382,
- /* 2nd byte: 39 */ 0x9388,
- /* 2nd byte: 40 */ 0x938a,
- /* 2nd byte: 41 */ 0x938b,
- /* 2nd byte: 42 */ 0x938d,
- /* 2nd byte: 43 */ 0x938f,
- /* 2nd byte: 44 */ 0x9392,
- /* 2nd byte: 45 */ 0x9395,
- /* 2nd byte: 46 */ 0x9398,
- /* 2nd byte: 47 */ 0x939b,
- /* 2nd byte: 48 */ 0x939e,
- /* 2nd byte: 49 */ 0x93a1,
- /* 2nd byte: 50 */ 0x93a3,
- /* 2nd byte: 51 */ 0x93a4,
- /* 2nd byte: 52 */ 0x93a6,
- /* 2nd byte: 53 */ 0x93a8,
- /* 2nd byte: 54 */ 0x93ab,
- /* 2nd byte: 55 */ 0x93b4,
- /* 2nd byte: 56 */ 0x93b5,
- /* 2nd byte: 57 */ 0x93b6,
- /* 2nd byte: 58 */ 0x93ba,
- /* 2nd byte: 59 */ 0x93a9,
- /* 2nd byte: 60 */ 0x93c1,
- /* 2nd byte: 61 */ 0x93c4,
- /* 2nd byte: 62 */ 0x93c5,
- /* 2nd byte: 63 */ 0x93c6,
- /* 2nd byte: 64 */ 0x93c7,
- /* 2nd byte: 65 */ 0x93c9,
- /* 2nd byte: 66 */ 0x93ca,
- /* 2nd byte: 67 */ 0x93cb,
- /* 2nd byte: 68 */ 0x93cc,
- /* 2nd byte: 69 */ 0x93cd,
- /* 2nd byte: 70 */ 0x93d3,
- /* 2nd byte: 71 */ 0x93d9,
- /* 2nd byte: 72 */ 0x93dc,
- /* 2nd byte: 73 */ 0x93de,
- /* 2nd byte: 74 */ 0x93df,
- /* 2nd byte: 75 */ 0x93e2,
- /* 2nd byte: 76 */ 0x93e6,
- /* 2nd byte: 77 */ 0x93e7,
- /* 2nd byte: 78 */ 0x93f9,
- /* 2nd byte: 79 */ 0x93f7,
- /* 2nd byte: 80 */ 0x93f8,
- /* 2nd byte: 81 */ 0x93fa,
- /* 2nd byte: 82 */ 0x93fb,
- /* 2nd byte: 83 */ 0x93fd,
- /* 2nd byte: 84 */ 0x9401,
- /* 2nd byte: 85 */ 0x9402,
- /* 2nd byte: 86 */ 0x9404,
- /* 2nd byte: 87 */ 0x9408,
- /* 2nd byte: 88 */ 0x9409,
- /* 2nd byte: 89 */ 0x940d,
- /* 2nd byte: 90 */ 0x940e,
- /* 2nd byte: 91 */ 0x940f,
- /* 2nd byte: 92 */ 0x9415,
- /* 2nd byte: 93 */ 0x9416,
- /* 2nd byte: 94 */ 0x9417,
- /* 2nd byte: 95 */ 0x941f,
- /* 2nd byte: 96 */ 0x942e,
- /* 2nd byte: 97 */ 0x942f,
- /* 2nd byte: 98 */ 0x9431,
- /* 2nd byte: 99 */ 0x9432,
- /* 2nd byte: 100 */ 0x9433,
- /* 2nd byte: 101 */ 0x9434,
- /* 2nd byte: 102 */ 0x943b,
- /* 2nd byte: 103 */ 0x943f,
- /* 2nd byte: 104 */ 0x943d,
- /* 2nd byte: 105 */ 0x9443,
- /* 2nd byte: 106 */ 0x9445,
- /* 2nd byte: 107 */ 0x9448,
- /* 2nd byte: 108 */ 0x944a,
- /* 2nd byte: 109 */ 0x944c,
- /* 2nd byte: 110 */ 0x9455,
- /* 2nd byte: 111 */ 0x9459,
- /* 2nd byte: 112 */ 0x945c,
- /* 2nd byte: 113 */ 0x945f,
- /* 2nd byte: 114 */ 0x9461,
- /* 2nd byte: 115 */ 0x9463,
- /* 2nd byte: 116 */ 0x9468,
- /* 2nd byte: 117 */ 0x946b,
- /* 2nd byte: 118 */ 0x946d,
- /* 2nd byte: 119 */ 0x946e,
- /* 2nd byte: 120 */ 0x946f,
- /* 2nd byte: 121 */ 0x9471,
- /* 2nd byte: 122 */ 0x9472,
- /* 2nd byte: 123 */ 0x9484,
- /* 2nd byte: 124 */ 0x9483,
- /* 2nd byte: 125 */ 0x9578,
- /* 2nd byte: 126 */ 0x9579},
-/* 1st byte: 102 */ {
- /* 2nd byte: 33 */ 0x957e,
- /* 2nd byte: 34 */ 0x9584,
- /* 2nd byte: 35 */ 0x9588,
- /* 2nd byte: 36 */ 0x958c,
- /* 2nd byte: 37 */ 0x958d,
- /* 2nd byte: 38 */ 0x958e,
- /* 2nd byte: 39 */ 0x959d,
- /* 2nd byte: 40 */ 0x959e,
- /* 2nd byte: 41 */ 0x959f,
- /* 2nd byte: 42 */ 0x95a1,
- /* 2nd byte: 43 */ 0x95a6,
- /* 2nd byte: 44 */ 0x95a9,
- /* 2nd byte: 45 */ 0x95ab,
- /* 2nd byte: 46 */ 0x95ac,
- /* 2nd byte: 47 */ 0x95b4,
- /* 2nd byte: 48 */ 0x95b6,
- /* 2nd byte: 49 */ 0x95ba,
- /* 2nd byte: 50 */ 0x95bd,
- /* 2nd byte: 51 */ 0x95bf,
- /* 2nd byte: 52 */ 0x95c6,
- /* 2nd byte: 53 */ 0x95c8,
- /* 2nd byte: 54 */ 0x95c9,
- /* 2nd byte: 55 */ 0x95cb,
- /* 2nd byte: 56 */ 0x95d0,
- /* 2nd byte: 57 */ 0x95d1,
- /* 2nd byte: 58 */ 0x95d2,
- /* 2nd byte: 59 */ 0x95d3,
- /* 2nd byte: 60 */ 0x95d9,
- /* 2nd byte: 61 */ 0x95da,
- /* 2nd byte: 62 */ 0x95dd,
- /* 2nd byte: 63 */ 0x95de,
- /* 2nd byte: 64 */ 0x95df,
- /* 2nd byte: 65 */ 0x95e0,
- /* 2nd byte: 66 */ 0x95e4,
- /* 2nd byte: 67 */ 0x95e6,
- /* 2nd byte: 68 */ 0x961d,
- /* 2nd byte: 69 */ 0x961e,
- /* 2nd byte: 70 */ 0x9622,
- /* 2nd byte: 71 */ 0x9624,
- /* 2nd byte: 72 */ 0x9625,
- /* 2nd byte: 73 */ 0x9626,
- /* 2nd byte: 74 */ 0x962c,
- /* 2nd byte: 75 */ 0x9631,
- /* 2nd byte: 76 */ 0x9633,
- /* 2nd byte: 77 */ 0x9637,
- /* 2nd byte: 78 */ 0x9638,
- /* 2nd byte: 79 */ 0x9639,
- /* 2nd byte: 80 */ 0x963a,
- /* 2nd byte: 81 */ 0x963c,
- /* 2nd byte: 82 */ 0x963d,
- /* 2nd byte: 83 */ 0x9641,
- /* 2nd byte: 84 */ 0x9652,
- /* 2nd byte: 85 */ 0x9654,
- /* 2nd byte: 86 */ 0x9656,
- /* 2nd byte: 87 */ 0x9657,
- /* 2nd byte: 88 */ 0x9658,
- /* 2nd byte: 89 */ 0x9661,
- /* 2nd byte: 90 */ 0x966e,
- /* 2nd byte: 91 */ 0x9674,
- /* 2nd byte: 92 */ 0x967b,
- /* 2nd byte: 93 */ 0x967c,
- /* 2nd byte: 94 */ 0x967e,
- /* 2nd byte: 95 */ 0x967f,
- /* 2nd byte: 96 */ 0x9681,
- /* 2nd byte: 97 */ 0x9682,
- /* 2nd byte: 98 */ 0x9683,
- /* 2nd byte: 99 */ 0x9684,
- /* 2nd byte: 100 */ 0x9689,
- /* 2nd byte: 101 */ 0x9691,
- /* 2nd byte: 102 */ 0x9696,
- /* 2nd byte: 103 */ 0x969a,
- /* 2nd byte: 104 */ 0x969d,
- /* 2nd byte: 105 */ 0x969f,
- /* 2nd byte: 106 */ 0x96a4,
- /* 2nd byte: 107 */ 0x96a5,
- /* 2nd byte: 108 */ 0x96a6,
- /* 2nd byte: 109 */ 0x96a9,
- /* 2nd byte: 110 */ 0x96ae,
- /* 2nd byte: 111 */ 0x96af,
- /* 2nd byte: 112 */ 0x96b3,
- /* 2nd byte: 113 */ 0x96ba,
- /* 2nd byte: 114 */ 0x96ca,
- /* 2nd byte: 115 */ 0x96d2,
- /* 2nd byte: 116 */ 0x5db2,
- /* 2nd byte: 117 */ 0x96d8,
- /* 2nd byte: 118 */ 0x96da,
- /* 2nd byte: 119 */ 0x96dd,
- /* 2nd byte: 120 */ 0x96de,
- /* 2nd byte: 121 */ 0x96df,
- /* 2nd byte: 122 */ 0x96e9,
- /* 2nd byte: 123 */ 0x96ef,
- /* 2nd byte: 124 */ 0x96f1,
- /* 2nd byte: 125 */ 0x96fa,
- /* 2nd byte: 126 */ 0x9702},
-/* 1st byte: 103 */ {
- /* 2nd byte: 33 */ 0x9703,
- /* 2nd byte: 34 */ 0x9705,
- /* 2nd byte: 35 */ 0x9709,
- /* 2nd byte: 36 */ 0x971a,
- /* 2nd byte: 37 */ 0x971b,
- /* 2nd byte: 38 */ 0x971d,
- /* 2nd byte: 39 */ 0x9721,
- /* 2nd byte: 40 */ 0x9722,
- /* 2nd byte: 41 */ 0x9723,
- /* 2nd byte: 42 */ 0x9728,
- /* 2nd byte: 43 */ 0x9731,
- /* 2nd byte: 44 */ 0x9733,
- /* 2nd byte: 45 */ 0x9741,
- /* 2nd byte: 46 */ 0x9743,
- /* 2nd byte: 47 */ 0x974a,
- /* 2nd byte: 48 */ 0x974e,
- /* 2nd byte: 49 */ 0x974f,
- /* 2nd byte: 50 */ 0x9755,
- /* 2nd byte: 51 */ 0x9757,
- /* 2nd byte: 52 */ 0x9758,
- /* 2nd byte: 53 */ 0x975a,
- /* 2nd byte: 54 */ 0x975b,
- /* 2nd byte: 55 */ 0x9763,
- /* 2nd byte: 56 */ 0x9767,
- /* 2nd byte: 57 */ 0x976a,
- /* 2nd byte: 58 */ 0x976e,
- /* 2nd byte: 59 */ 0x9773,
- /* 2nd byte: 60 */ 0x9776,
- /* 2nd byte: 61 */ 0x9777,
- /* 2nd byte: 62 */ 0x9778,
- /* 2nd byte: 63 */ 0x977b,
- /* 2nd byte: 64 */ 0x977d,
- /* 2nd byte: 65 */ 0x977f,
- /* 2nd byte: 66 */ 0x9780,
- /* 2nd byte: 67 */ 0x9789,
- /* 2nd byte: 68 */ 0x9795,
- /* 2nd byte: 69 */ 0x9796,
- /* 2nd byte: 70 */ 0x9797,
- /* 2nd byte: 71 */ 0x9799,
- /* 2nd byte: 72 */ 0x979a,
- /* 2nd byte: 73 */ 0x979e,
- /* 2nd byte: 74 */ 0x979f,
- /* 2nd byte: 75 */ 0x97a2,
- /* 2nd byte: 76 */ 0x97ac,
- /* 2nd byte: 77 */ 0x97ae,
- /* 2nd byte: 78 */ 0x97b1,
- /* 2nd byte: 79 */ 0x97b2,
- /* 2nd byte: 80 */ 0x97b5,
- /* 2nd byte: 81 */ 0x97b6,
- /* 2nd byte: 82 */ 0x97b8,
- /* 2nd byte: 83 */ 0x97b9,
- /* 2nd byte: 84 */ 0x97ba,
- /* 2nd byte: 85 */ 0x97bc,
- /* 2nd byte: 86 */ 0x97be,
- /* 2nd byte: 87 */ 0x97bf,
- /* 2nd byte: 88 */ 0x97c1,
- /* 2nd byte: 89 */ 0x97c4,
- /* 2nd byte: 90 */ 0x97c5,
- /* 2nd byte: 91 */ 0x97c7,
- /* 2nd byte: 92 */ 0x97c9,
- /* 2nd byte: 93 */ 0x97ca,
- /* 2nd byte: 94 */ 0x97cc,
- /* 2nd byte: 95 */ 0x97cd,
- /* 2nd byte: 96 */ 0x97ce,
- /* 2nd byte: 97 */ 0x97d0,
- /* 2nd byte: 98 */ 0x97d1,
- /* 2nd byte: 99 */ 0x97d4,
- /* 2nd byte: 100 */ 0x97d7,
- /* 2nd byte: 101 */ 0x97d8,
- /* 2nd byte: 102 */ 0x97d9,
- /* 2nd byte: 103 */ 0x97dd,
- /* 2nd byte: 104 */ 0x97de,
- /* 2nd byte: 105 */ 0x97e0,
- /* 2nd byte: 106 */ 0x97db,
- /* 2nd byte: 107 */ 0x97e1,
- /* 2nd byte: 108 */ 0x97e4,
- /* 2nd byte: 109 */ 0x97ef,
- /* 2nd byte: 110 */ 0x97f1,
- /* 2nd byte: 111 */ 0x97f4,
- /* 2nd byte: 112 */ 0x97f7,
- /* 2nd byte: 113 */ 0x97f8,
- /* 2nd byte: 114 */ 0x97fa,
- /* 2nd byte: 115 */ 0x9807,
- /* 2nd byte: 116 */ 0x980a,
- /* 2nd byte: 117 */ 0x9819,
- /* 2nd byte: 118 */ 0x980d,
- /* 2nd byte: 119 */ 0x980e,
- /* 2nd byte: 120 */ 0x9814,
- /* 2nd byte: 121 */ 0x9816,
- /* 2nd byte: 122 */ 0x981c,
- /* 2nd byte: 123 */ 0x981e,
- /* 2nd byte: 124 */ 0x9820,
- /* 2nd byte: 125 */ 0x9823,
- /* 2nd byte: 126 */ 0x9826},
-/* 1st byte: 104 */ {
- /* 2nd byte: 33 */ 0x982b,
- /* 2nd byte: 34 */ 0x982e,
- /* 2nd byte: 35 */ 0x982f,
- /* 2nd byte: 36 */ 0x9830,
- /* 2nd byte: 37 */ 0x9832,
- /* 2nd byte: 38 */ 0x9833,
- /* 2nd byte: 39 */ 0x9835,
- /* 2nd byte: 40 */ 0x9825,
- /* 2nd byte: 41 */ 0x983e,
- /* 2nd byte: 42 */ 0x9844,
- /* 2nd byte: 43 */ 0x9847,
- /* 2nd byte: 44 */ 0x984a,
- /* 2nd byte: 45 */ 0x9851,
- /* 2nd byte: 46 */ 0x9852,
- /* 2nd byte: 47 */ 0x9853,
- /* 2nd byte: 48 */ 0x9856,
- /* 2nd byte: 49 */ 0x9857,
- /* 2nd byte: 50 */ 0x9859,
- /* 2nd byte: 51 */ 0x985a,
- /* 2nd byte: 52 */ 0x9862,
- /* 2nd byte: 53 */ 0x9863,
- /* 2nd byte: 54 */ 0x9865,
- /* 2nd byte: 55 */ 0x9866,
- /* 2nd byte: 56 */ 0x986a,
- /* 2nd byte: 57 */ 0x986c,
- /* 2nd byte: 58 */ 0x98ab,
- /* 2nd byte: 59 */ 0x98ad,
- /* 2nd byte: 60 */ 0x98ae,
- /* 2nd byte: 61 */ 0x98b0,
- /* 2nd byte: 62 */ 0x98b4,
- /* 2nd byte: 63 */ 0x98b7,
- /* 2nd byte: 64 */ 0x98b8,
- /* 2nd byte: 65 */ 0x98ba,
- /* 2nd byte: 66 */ 0x98bb,
- /* 2nd byte: 67 */ 0x98bf,
- /* 2nd byte: 68 */ 0x98c2,
- /* 2nd byte: 69 */ 0x98c5,
- /* 2nd byte: 70 */ 0x98c8,
- /* 2nd byte: 71 */ 0x98cc,
- /* 2nd byte: 72 */ 0x98e1,
- /* 2nd byte: 73 */ 0x98e3,
- /* 2nd byte: 74 */ 0x98e5,
- /* 2nd byte: 75 */ 0x98e6,
- /* 2nd byte: 76 */ 0x98e7,
- /* 2nd byte: 77 */ 0x98ea,
- /* 2nd byte: 78 */ 0x98f3,
- /* 2nd byte: 79 */ 0x98f6,
- /* 2nd byte: 80 */ 0x9902,
- /* 2nd byte: 81 */ 0x9907,
- /* 2nd byte: 82 */ 0x9908,
- /* 2nd byte: 83 */ 0x9911,
- /* 2nd byte: 84 */ 0x9915,
- /* 2nd byte: 85 */ 0x9916,
- /* 2nd byte: 86 */ 0x9917,
- /* 2nd byte: 87 */ 0x991a,
- /* 2nd byte: 88 */ 0x991b,
- /* 2nd byte: 89 */ 0x991c,
- /* 2nd byte: 90 */ 0x991f,
- /* 2nd byte: 91 */ 0x9922,
- /* 2nd byte: 92 */ 0x9926,
- /* 2nd byte: 93 */ 0x9927,
- /* 2nd byte: 94 */ 0x992b,
- /* 2nd byte: 95 */ 0x9931,
- /* 2nd byte: 96 */ 0x9932,
- /* 2nd byte: 97 */ 0x9933,
- /* 2nd byte: 98 */ 0x9934,
- /* 2nd byte: 99 */ 0x9935,
- /* 2nd byte: 100 */ 0x9939,
- /* 2nd byte: 101 */ 0x993a,
- /* 2nd byte: 102 */ 0x993b,
- /* 2nd byte: 103 */ 0x993c,
- /* 2nd byte: 104 */ 0x9940,
- /* 2nd byte: 105 */ 0x9941,
- /* 2nd byte: 106 */ 0x9946,
- /* 2nd byte: 107 */ 0x9947,
- /* 2nd byte: 108 */ 0x9948,
- /* 2nd byte: 109 */ 0x994d,
- /* 2nd byte: 110 */ 0x994e,
- /* 2nd byte: 111 */ 0x9954,
- /* 2nd byte: 112 */ 0x9958,
- /* 2nd byte: 113 */ 0x9959,
- /* 2nd byte: 114 */ 0x995b,
- /* 2nd byte: 115 */ 0x995c,
- /* 2nd byte: 116 */ 0x995e,
- /* 2nd byte: 117 */ 0x995f,
- /* 2nd byte: 118 */ 0x9960,
- /* 2nd byte: 119 */ 0x999b,
- /* 2nd byte: 120 */ 0x999d,
- /* 2nd byte: 121 */ 0x999f,
- /* 2nd byte: 122 */ 0x99a6,
- /* 2nd byte: 123 */ 0x99b0,
- /* 2nd byte: 124 */ 0x99b1,
- /* 2nd byte: 125 */ 0x99b2,
- /* 2nd byte: 126 */ 0x99b5},
-/* 1st byte: 105 */ {
- /* 2nd byte: 33 */ 0x99b9,
- /* 2nd byte: 34 */ 0x99ba,
- /* 2nd byte: 35 */ 0x99bd,
- /* 2nd byte: 36 */ 0x99bf,
- /* 2nd byte: 37 */ 0x99c3,
- /* 2nd byte: 38 */ 0x99c9,
- /* 2nd byte: 39 */ 0x99d3,
- /* 2nd byte: 40 */ 0x99d4,
- /* 2nd byte: 41 */ 0x99d9,
- /* 2nd byte: 42 */ 0x99da,
- /* 2nd byte: 43 */ 0x99dc,
- /* 2nd byte: 44 */ 0x99de,
- /* 2nd byte: 45 */ 0x99e7,
- /* 2nd byte: 46 */ 0x99ea,
- /* 2nd byte: 47 */ 0x99eb,
- /* 2nd byte: 48 */ 0x99ec,
- /* 2nd byte: 49 */ 0x99f0,
- /* 2nd byte: 50 */ 0x99f4,
- /* 2nd byte: 51 */ 0x99f5,
- /* 2nd byte: 52 */ 0x99f9,
- /* 2nd byte: 53 */ 0x99fd,
- /* 2nd byte: 54 */ 0x99fe,
- /* 2nd byte: 55 */ 0x9a02,
- /* 2nd byte: 56 */ 0x9a03,
- /* 2nd byte: 57 */ 0x9a04,
- /* 2nd byte: 58 */ 0x9a0b,
- /* 2nd byte: 59 */ 0x9a0c,
- /* 2nd byte: 60 */ 0x9a10,
- /* 2nd byte: 61 */ 0x9a11,
- /* 2nd byte: 62 */ 0x9a16,
- /* 2nd byte: 63 */ 0x9a1e,
- /* 2nd byte: 64 */ 0x9a20,
- /* 2nd byte: 65 */ 0x9a22,
- /* 2nd byte: 66 */ 0x9a23,
- /* 2nd byte: 67 */ 0x9a24,
- /* 2nd byte: 68 */ 0x9a27,
- /* 2nd byte: 69 */ 0x9a2d,
- /* 2nd byte: 70 */ 0x9a2e,
- /* 2nd byte: 71 */ 0x9a33,
- /* 2nd byte: 72 */ 0x9a35,
- /* 2nd byte: 73 */ 0x9a36,
- /* 2nd byte: 74 */ 0x9a38,
- /* 2nd byte: 75 */ 0x9a47,
- /* 2nd byte: 76 */ 0x9a41,
- /* 2nd byte: 77 */ 0x9a44,
- /* 2nd byte: 78 */ 0x9a4a,
- /* 2nd byte: 79 */ 0x9a4b,
- /* 2nd byte: 80 */ 0x9a4c,
- /* 2nd byte: 81 */ 0x9a4e,
- /* 2nd byte: 82 */ 0x9a51,
- /* 2nd byte: 83 */ 0x9a54,
- /* 2nd byte: 84 */ 0x9a56,
- /* 2nd byte: 85 */ 0x9a5d,
- /* 2nd byte: 86 */ 0x9aaa,
- /* 2nd byte: 87 */ 0x9aac,
- /* 2nd byte: 88 */ 0x9aae,
- /* 2nd byte: 89 */ 0x9aaf,
- /* 2nd byte: 90 */ 0x9ab2,
- /* 2nd byte: 91 */ 0x9ab4,
- /* 2nd byte: 92 */ 0x9ab5,
- /* 2nd byte: 93 */ 0x9ab6,
- /* 2nd byte: 94 */ 0x9ab9,
- /* 2nd byte: 95 */ 0x9abb,
- /* 2nd byte: 96 */ 0x9abe,
- /* 2nd byte: 97 */ 0x9abf,
- /* 2nd byte: 98 */ 0x9ac1,
- /* 2nd byte: 99 */ 0x9ac3,
- /* 2nd byte: 100 */ 0x9ac6,
- /* 2nd byte: 101 */ 0x9ac8,
- /* 2nd byte: 102 */ 0x9ace,
- /* 2nd byte: 103 */ 0x9ad0,
- /* 2nd byte: 104 */ 0x9ad2,
- /* 2nd byte: 105 */ 0x9ad5,
- /* 2nd byte: 106 */ 0x9ad6,
- /* 2nd byte: 107 */ 0x9ad7,
- /* 2nd byte: 108 */ 0x9adb,
- /* 2nd byte: 109 */ 0x9adc,
- /* 2nd byte: 110 */ 0x9ae0,
- /* 2nd byte: 111 */ 0x9ae4,
- /* 2nd byte: 112 */ 0x9ae5,
- /* 2nd byte: 113 */ 0x9ae7,
- /* 2nd byte: 114 */ 0x9ae9,
- /* 2nd byte: 115 */ 0x9aec,
- /* 2nd byte: 116 */ 0x9af2,
- /* 2nd byte: 117 */ 0x9af3,
- /* 2nd byte: 118 */ 0x9af5,
- /* 2nd byte: 119 */ 0x9af9,
- /* 2nd byte: 120 */ 0x9afa,
- /* 2nd byte: 121 */ 0x9afd,
- /* 2nd byte: 122 */ 0x9aff,
- /* 2nd byte: 123 */ 0x9b00,
- /* 2nd byte: 124 */ 0x9b01,
- /* 2nd byte: 125 */ 0x9b02,
- /* 2nd byte: 126 */ 0x9b03},
-/* 1st byte: 106 */ {
- /* 2nd byte: 33 */ 0x9b04,
- /* 2nd byte: 34 */ 0x9b05,
- /* 2nd byte: 35 */ 0x9b08,
- /* 2nd byte: 36 */ 0x9b09,
- /* 2nd byte: 37 */ 0x9b0b,
- /* 2nd byte: 38 */ 0x9b0c,
- /* 2nd byte: 39 */ 0x9b0d,
- /* 2nd byte: 40 */ 0x9b0e,
- /* 2nd byte: 41 */ 0x9b10,
- /* 2nd byte: 42 */ 0x9b12,
- /* 2nd byte: 43 */ 0x9b16,
- /* 2nd byte: 44 */ 0x9b19,
- /* 2nd byte: 45 */ 0x9b1b,
- /* 2nd byte: 46 */ 0x9b1c,
- /* 2nd byte: 47 */ 0x9b20,
- /* 2nd byte: 48 */ 0x9b26,
- /* 2nd byte: 49 */ 0x9b2b,
- /* 2nd byte: 50 */ 0x9b2d,
- /* 2nd byte: 51 */ 0x9b33,
- /* 2nd byte: 52 */ 0x9b34,
- /* 2nd byte: 53 */ 0x9b35,
- /* 2nd byte: 54 */ 0x9b37,
- /* 2nd byte: 55 */ 0x9b39,
- /* 2nd byte: 56 */ 0x9b3a,
- /* 2nd byte: 57 */ 0x9b3d,
- /* 2nd byte: 58 */ 0x9b48,
- /* 2nd byte: 59 */ 0x9b4b,
- /* 2nd byte: 60 */ 0x9b4c,
- /* 2nd byte: 61 */ 0x9b55,
- /* 2nd byte: 62 */ 0x9b56,
- /* 2nd byte: 63 */ 0x9b57,
- /* 2nd byte: 64 */ 0x9b5b,
- /* 2nd byte: 65 */ 0x9b5e,
- /* 2nd byte: 66 */ 0x9b61,
- /* 2nd byte: 67 */ 0x9b63,
- /* 2nd byte: 68 */ 0x9b65,
- /* 2nd byte: 69 */ 0x9b66,
- /* 2nd byte: 70 */ 0x9b68,
- /* 2nd byte: 71 */ 0x9b6a,
- /* 2nd byte: 72 */ 0x9b6b,
- /* 2nd byte: 73 */ 0x9b6c,
- /* 2nd byte: 74 */ 0x9b6d,
- /* 2nd byte: 75 */ 0x9b6e,
- /* 2nd byte: 76 */ 0x9b73,
- /* 2nd byte: 77 */ 0x9b75,
- /* 2nd byte: 78 */ 0x9b77,
- /* 2nd byte: 79 */ 0x9b78,
- /* 2nd byte: 80 */ 0x9b79,
- /* 2nd byte: 81 */ 0x9b7f,
- /* 2nd byte: 82 */ 0x9b80,
- /* 2nd byte: 83 */ 0x9b84,
- /* 2nd byte: 84 */ 0x9b85,
- /* 2nd byte: 85 */ 0x9b86,
- /* 2nd byte: 86 */ 0x9b87,
- /* 2nd byte: 87 */ 0x9b89,
- /* 2nd byte: 88 */ 0x9b8a,
- /* 2nd byte: 89 */ 0x9b8b,
- /* 2nd byte: 90 */ 0x9b8d,
- /* 2nd byte: 91 */ 0x9b8f,
- /* 2nd byte: 92 */ 0x9b90,
- /* 2nd byte: 93 */ 0x9b94,
- /* 2nd byte: 94 */ 0x9b9a,
- /* 2nd byte: 95 */ 0x9b9d,
- /* 2nd byte: 96 */ 0x9b9e,
- /* 2nd byte: 97 */ 0x9ba6,
- /* 2nd byte: 98 */ 0x9ba7,
- /* 2nd byte: 99 */ 0x9ba9,
- /* 2nd byte: 100 */ 0x9bac,
- /* 2nd byte: 101 */ 0x9bb0,
- /* 2nd byte: 102 */ 0x9bb1,
- /* 2nd byte: 103 */ 0x9bb2,
- /* 2nd byte: 104 */ 0x9bb7,
- /* 2nd byte: 105 */ 0x9bb8,
- /* 2nd byte: 106 */ 0x9bbb,
- /* 2nd byte: 107 */ 0x9bbc,
- /* 2nd byte: 108 */ 0x9bbe,
- /* 2nd byte: 109 */ 0x9bbf,
- /* 2nd byte: 110 */ 0x9bc1,
- /* 2nd byte: 111 */ 0x9bc7,
- /* 2nd byte: 112 */ 0x9bc8,
- /* 2nd byte: 113 */ 0x9bce,
- /* 2nd byte: 114 */ 0x9bd0,
- /* 2nd byte: 115 */ 0x9bd7,
- /* 2nd byte: 116 */ 0x9bd8,
- /* 2nd byte: 117 */ 0x9bdd,
- /* 2nd byte: 118 */ 0x9bdf,
- /* 2nd byte: 119 */ 0x9be5,
- /* 2nd byte: 120 */ 0x9be7,
- /* 2nd byte: 121 */ 0x9bea,
- /* 2nd byte: 122 */ 0x9beb,
- /* 2nd byte: 123 */ 0x9bef,
- /* 2nd byte: 124 */ 0x9bf3,
- /* 2nd byte: 125 */ 0x9bf7,
- /* 2nd byte: 126 */ 0x9bf8},
-/* 1st byte: 107 */ {
- /* 2nd byte: 33 */ 0x9bf9,
- /* 2nd byte: 34 */ 0x9bfa,
- /* 2nd byte: 35 */ 0x9bfd,
- /* 2nd byte: 36 */ 0x9bff,
- /* 2nd byte: 37 */ 0x9c00,
- /* 2nd byte: 38 */ 0x9c02,
- /* 2nd byte: 39 */ 0x9c0b,
- /* 2nd byte: 40 */ 0x9c0f,
- /* 2nd byte: 41 */ 0x9c11,
- /* 2nd byte: 42 */ 0x9c16,
- /* 2nd byte: 43 */ 0x9c18,
- /* 2nd byte: 44 */ 0x9c19,
- /* 2nd byte: 45 */ 0x9c1a,
- /* 2nd byte: 46 */ 0x9c1c,
- /* 2nd byte: 47 */ 0x9c1e,
- /* 2nd byte: 48 */ 0x9c22,
- /* 2nd byte: 49 */ 0x9c23,
- /* 2nd byte: 50 */ 0x9c26,
- /* 2nd byte: 51 */ 0x9c27,
- /* 2nd byte: 52 */ 0x9c28,
- /* 2nd byte: 53 */ 0x9c29,
- /* 2nd byte: 54 */ 0x9c2a,
- /* 2nd byte: 55 */ 0x9c31,
- /* 2nd byte: 56 */ 0x9c35,
- /* 2nd byte: 57 */ 0x9c36,
- /* 2nd byte: 58 */ 0x9c37,
- /* 2nd byte: 59 */ 0x9c3d,
- /* 2nd byte: 60 */ 0x9c41,
- /* 2nd byte: 61 */ 0x9c43,
- /* 2nd byte: 62 */ 0x9c44,
- /* 2nd byte: 63 */ 0x9c45,
- /* 2nd byte: 64 */ 0x9c49,
- /* 2nd byte: 65 */ 0x9c4a,
- /* 2nd byte: 66 */ 0x9c4e,
- /* 2nd byte: 67 */ 0x9c4f,
- /* 2nd byte: 68 */ 0x9c50,
- /* 2nd byte: 69 */ 0x9c53,
- /* 2nd byte: 70 */ 0x9c54,
- /* 2nd byte: 71 */ 0x9c56,
- /* 2nd byte: 72 */ 0x9c58,
- /* 2nd byte: 73 */ 0x9c5b,
- /* 2nd byte: 74 */ 0x9c5d,
- /* 2nd byte: 75 */ 0x9c5e,
- /* 2nd byte: 76 */ 0x9c5f,
- /* 2nd byte: 77 */ 0x9c63,
- /* 2nd byte: 78 */ 0x9c69,
- /* 2nd byte: 79 */ 0x9c6a,
- /* 2nd byte: 80 */ 0x9c5c,
- /* 2nd byte: 81 */ 0x9c6b,
- /* 2nd byte: 82 */ 0x9c68,
- /* 2nd byte: 83 */ 0x9c6e,
- /* 2nd byte: 84 */ 0x9c70,
- /* 2nd byte: 85 */ 0x9c72,
- /* 2nd byte: 86 */ 0x9c75,
- /* 2nd byte: 87 */ 0x9c77,
- /* 2nd byte: 88 */ 0x9c7b,
- /* 2nd byte: 89 */ 0x9ce6,
- /* 2nd byte: 90 */ 0x9cf2,
- /* 2nd byte: 91 */ 0x9cf7,
- /* 2nd byte: 92 */ 0x9cf9,
- /* 2nd byte: 93 */ 0x9d0b,
- /* 2nd byte: 94 */ 0x9d02,
- /* 2nd byte: 95 */ 0x9d11,
- /* 2nd byte: 96 */ 0x9d17,
- /* 2nd byte: 97 */ 0x9d18,
- /* 2nd byte: 98 */ 0x9d1c,
- /* 2nd byte: 99 */ 0x9d1d,
- /* 2nd byte: 100 */ 0x9d1e,
- /* 2nd byte: 101 */ 0x9d2f,
- /* 2nd byte: 102 */ 0x9d30,
- /* 2nd byte: 103 */ 0x9d32,
- /* 2nd byte: 104 */ 0x9d33,
- /* 2nd byte: 105 */ 0x9d34,
- /* 2nd byte: 106 */ 0x9d3a,
- /* 2nd byte: 107 */ 0x9d3c,
- /* 2nd byte: 108 */ 0x9d45,
- /* 2nd byte: 109 */ 0x9d3d,
- /* 2nd byte: 110 */ 0x9d42,
- /* 2nd byte: 111 */ 0x9d43,
- /* 2nd byte: 112 */ 0x9d47,
- /* 2nd byte: 113 */ 0x9d4a,
- /* 2nd byte: 114 */ 0x9d53,
- /* 2nd byte: 115 */ 0x9d54,
- /* 2nd byte: 116 */ 0x9d5f,
- /* 2nd byte: 117 */ 0x9d63,
- /* 2nd byte: 118 */ 0x9d62,
- /* 2nd byte: 119 */ 0x9d65,
- /* 2nd byte: 120 */ 0x9d69,
- /* 2nd byte: 121 */ 0x9d6a,
- /* 2nd byte: 122 */ 0x9d6b,
- /* 2nd byte: 123 */ 0x9d70,
- /* 2nd byte: 124 */ 0x9d76,
- /* 2nd byte: 125 */ 0x9d77,
- /* 2nd byte: 126 */ 0x9d7b},
-/* 1st byte: 108 */ {
- /* 2nd byte: 33 */ 0x9d7c,
- /* 2nd byte: 34 */ 0x9d7e,
- /* 2nd byte: 35 */ 0x9d83,
- /* 2nd byte: 36 */ 0x9d84,
- /* 2nd byte: 37 */ 0x9d86,
- /* 2nd byte: 38 */ 0x9d8a,
- /* 2nd byte: 39 */ 0x9d8d,
- /* 2nd byte: 40 */ 0x9d8e,
- /* 2nd byte: 41 */ 0x9d92,
- /* 2nd byte: 42 */ 0x9d93,
- /* 2nd byte: 43 */ 0x9d95,
- /* 2nd byte: 44 */ 0x9d96,
- /* 2nd byte: 45 */ 0x9d97,
- /* 2nd byte: 46 */ 0x9d98,
- /* 2nd byte: 47 */ 0x9da1,
- /* 2nd byte: 48 */ 0x9daa,
- /* 2nd byte: 49 */ 0x9dac,
- /* 2nd byte: 50 */ 0x9dae,
- /* 2nd byte: 51 */ 0x9db1,
- /* 2nd byte: 52 */ 0x9db5,
- /* 2nd byte: 53 */ 0x9db9,
- /* 2nd byte: 54 */ 0x9dbc,
- /* 2nd byte: 55 */ 0x9dbf,
- /* 2nd byte: 56 */ 0x9dc3,
- /* 2nd byte: 57 */ 0x9dc7,
- /* 2nd byte: 58 */ 0x9dc9,
- /* 2nd byte: 59 */ 0x9dca,
- /* 2nd byte: 60 */ 0x9dd4,
- /* 2nd byte: 61 */ 0x9dd5,
- /* 2nd byte: 62 */ 0x9dd6,
- /* 2nd byte: 63 */ 0x9dd7,
- /* 2nd byte: 64 */ 0x9dda,
- /* 2nd byte: 65 */ 0x9dde,
- /* 2nd byte: 66 */ 0x9ddf,
- /* 2nd byte: 67 */ 0x9de0,
- /* 2nd byte: 68 */ 0x9de5,
- /* 2nd byte: 69 */ 0x9de7,
- /* 2nd byte: 70 */ 0x9de9,
- /* 2nd byte: 71 */ 0x9deb,
- /* 2nd byte: 72 */ 0x9dee,
- /* 2nd byte: 73 */ 0x9df0,
- /* 2nd byte: 74 */ 0x9df3,
- /* 2nd byte: 75 */ 0x9df4,
- /* 2nd byte: 76 */ 0x9dfe,
- /* 2nd byte: 77 */ 0x9e0a,
- /* 2nd byte: 78 */ 0x9e02,
- /* 2nd byte: 79 */ 0x9e07,
- /* 2nd byte: 80 */ 0x9e0e,
- /* 2nd byte: 81 */ 0x9e10,
- /* 2nd byte: 82 */ 0x9e11,
- /* 2nd byte: 83 */ 0x9e12,
- /* 2nd byte: 84 */ 0x9e15,
- /* 2nd byte: 85 */ 0x9e16,
- /* 2nd byte: 86 */ 0x9e19,
- /* 2nd byte: 87 */ 0x9e1c,
- /* 2nd byte: 88 */ 0x9e1d,
- /* 2nd byte: 89 */ 0x9e7a,
- /* 2nd byte: 90 */ 0x9e7b,
- /* 2nd byte: 91 */ 0x9e7c,
- /* 2nd byte: 92 */ 0x9e80,
- /* 2nd byte: 93 */ 0x9e82,
- /* 2nd byte: 94 */ 0x9e83,
- /* 2nd byte: 95 */ 0x9e84,
- /* 2nd byte: 96 */ 0x9e85,
- /* 2nd byte: 97 */ 0x9e87,
- /* 2nd byte: 98 */ 0x9e8e,
- /* 2nd byte: 99 */ 0x9e8f,
- /* 2nd byte: 100 */ 0x9e96,
- /* 2nd byte: 101 */ 0x9e98,
- /* 2nd byte: 102 */ 0x9e9b,
- /* 2nd byte: 103 */ 0x9e9e,
- /* 2nd byte: 104 */ 0x9ea4,
- /* 2nd byte: 105 */ 0x9ea8,
- /* 2nd byte: 106 */ 0x9eac,
- /* 2nd byte: 107 */ 0x9eae,
- /* 2nd byte: 108 */ 0x9eaf,
- /* 2nd byte: 109 */ 0x9eb0,
- /* 2nd byte: 110 */ 0x9eb3,
- /* 2nd byte: 111 */ 0x9eb4,
- /* 2nd byte: 112 */ 0x9eb5,
- /* 2nd byte: 113 */ 0x9ec6,
- /* 2nd byte: 114 */ 0x9ec8,
- /* 2nd byte: 115 */ 0x9ecb,
- /* 2nd byte: 116 */ 0x9ed5,
- /* 2nd byte: 117 */ 0x9edf,
- /* 2nd byte: 118 */ 0x9ee4,
- /* 2nd byte: 119 */ 0x9ee7,
- /* 2nd byte: 120 */ 0x9eec,
- /* 2nd byte: 121 */ 0x9eed,
- /* 2nd byte: 122 */ 0x9eee,
- /* 2nd byte: 123 */ 0x9ef0,
- /* 2nd byte: 124 */ 0x9ef1,
- /* 2nd byte: 125 */ 0x9ef2,
- /* 2nd byte: 126 */ 0x9ef5},
-/* 1st byte: 109 */ {
- /* 2nd byte: 33 */ 0x9ef8,
- /* 2nd byte: 34 */ 0x9eff,
- /* 2nd byte: 35 */ 0x9f02,
- /* 2nd byte: 36 */ 0x9f03,
- /* 2nd byte: 37 */ 0x9f09,
- /* 2nd byte: 38 */ 0x9f0f,
- /* 2nd byte: 39 */ 0x9f10,
- /* 2nd byte: 40 */ 0x9f11,
- /* 2nd byte: 41 */ 0x9f12,
- /* 2nd byte: 42 */ 0x9f14,
- /* 2nd byte: 43 */ 0x9f16,
- /* 2nd byte: 44 */ 0x9f17,
- /* 2nd byte: 45 */ 0x9f19,
- /* 2nd byte: 46 */ 0x9f1a,
- /* 2nd byte: 47 */ 0x9f1b,
- /* 2nd byte: 48 */ 0x9f1f,
- /* 2nd byte: 49 */ 0x9f22,
- /* 2nd byte: 50 */ 0x9f26,
- /* 2nd byte: 51 */ 0x9f2a,
- /* 2nd byte: 52 */ 0x9f2b,
- /* 2nd byte: 53 */ 0x9f2f,
- /* 2nd byte: 54 */ 0x9f31,
- /* 2nd byte: 55 */ 0x9f32,
- /* 2nd byte: 56 */ 0x9f34,
- /* 2nd byte: 57 */ 0x9f37,
- /* 2nd byte: 58 */ 0x9f39,
- /* 2nd byte: 59 */ 0x9f3a,
- /* 2nd byte: 60 */ 0x9f3c,
- /* 2nd byte: 61 */ 0x9f3d,
- /* 2nd byte: 62 */ 0x9f3f,
- /* 2nd byte: 63 */ 0x9f41,
- /* 2nd byte: 64 */ 0x9f43,
- /* 2nd byte: 65 */ 0x9f44,
- /* 2nd byte: 66 */ 0x9f45,
- /* 2nd byte: 67 */ 0x9f46,
- /* 2nd byte: 68 */ 0x9f47,
- /* 2nd byte: 69 */ 0x9f53,
- /* 2nd byte: 70 */ 0x9f55,
- /* 2nd byte: 71 */ 0x9f56,
- /* 2nd byte: 72 */ 0x9f57,
- /* 2nd byte: 73 */ 0x9f58,
- /* 2nd byte: 74 */ 0x9f5a,
- /* 2nd byte: 75 */ 0x9f5d,
- /* 2nd byte: 76 */ 0x9f5e,
- /* 2nd byte: 77 */ 0x9f68,
- /* 2nd byte: 78 */ 0x9f69,
- /* 2nd byte: 79 */ 0x9f6d,
- /* 2nd byte: 80 */ 0x9f6e,
- /* 2nd byte: 81 */ 0x9f6f,
- /* 2nd byte: 82 */ 0x9f70,
- /* 2nd byte: 83 */ 0x9f71,
- /* 2nd byte: 84 */ 0x9f73,
- /* 2nd byte: 85 */ 0x9f75,
- /* 2nd byte: 86 */ 0x9f7a,
- /* 2nd byte: 87 */ 0x9f7d,
- /* 2nd byte: 88 */ 0x9f8f,
- /* 2nd byte: 89 */ 0x9f90,
- /* 2nd byte: 90 */ 0x9f91,
- /* 2nd byte: 91 */ 0x9f92,
- /* 2nd byte: 92 */ 0x9f94,
- /* 2nd byte: 93 */ 0x9f96,
- /* 2nd byte: 94 */ 0x9f97,
- /* 2nd byte: 95 */ 0x9f9e,
- /* 2nd byte: 96 */ 0x9fa1,
- /* 2nd byte: 97 */ 0x9fa2,
- /* 2nd byte: 98 */ 0x9fa3,
- /* 2nd byte: 99 */ 0x9fa5,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0}
-};
diff --git a/libjava/gnu/gcj/convert/Output_8859_1.java b/libjava/gnu/gcj/convert/Output_8859_1.java
deleted file mode 100644
index 8dd9f43d717..00000000000
--- a/libjava/gnu/gcj/convert/Output_8859_1.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert Unicode ISO-Latin-1 (8851-1) text.
- * The high-order byte of each character is truncated.
- * @author Per Bothner <bothner@cygnus.com>
- * @date Match 1999.
- */
-
-public class Output_8859_1 extends UnicodeToBytes
-{
- public String getName() { return "8859_1"; }
-
- /**
- * @return number of chars converted. */
- public int write (char[] inbuffer, int inpos, int inlength)
- {
- int count = this.count;
- byte[] buf = this.buf;
- int avail = buf.length - count;
- if (inlength > avail)
- inlength = avail;
- for (int i = inlength; --i >= 0; )
- {
- buf[count++] = (byte) inbuffer[inpos++];
- }
- this.count = count;
- return inlength;
- }
-
- public int write (String str, int inpos, int inlength, char[] work)
- {
- int count = this.count;
- byte[] buf = this.buf;
- int avail = buf.length - count;
- if (inlength > avail)
- inlength = avail;
- for (int i = inlength; --i >= 0; )
- {
- buf[count++] = (byte) str.charAt(inpos++);
- }
- this.count = count;
- return inlength;
- }
-}
diff --git a/libjava/gnu/gcj/convert/Output_EUCJIS.java b/libjava/gnu/gcj/convert/Output_EUCJIS.java
deleted file mode 100644
index f094ffea160..00000000000
--- a/libjava/gnu/gcj/convert/Output_EUCJIS.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert Unicode to EUCJIS (Extended Unix Code for Japan).
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 1999.
- */
-
-public class Output_EUCJIS extends UnicodeToBytes
-{
- public String getName() { return "EUCJIS"; }
-
- public native int write (char[] inbuffer, int inpos, int inlength);
-
- public native int write (String str, int inpos, int inlength, char[] work);
-
- int pending1 = -1;
- int pending2;
-}
diff --git a/libjava/gnu/gcj/convert/Output_JavaSrc.java b/libjava/gnu/gcj/convert/Output_JavaSrc.java
deleted file mode 100644
index 656ddae26b9..00000000000
--- a/libjava/gnu/gcj/convert/Output_JavaSrc.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert Unicode to Ascii with \ u XXXX-escapes.
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 1999.
- */
-
-public class Output_JavaSrc extends UnicodeToBytes
-{
- public String getName() { return "JavaSrc"; }
-
- // Number of bytes remaining before pending_char has been written.
- int todo;
- int pending_char;
-
- public int write (char[] inbuffer, int inpos, int inlength)
- {
- int start_pos = inpos;
- int avail = buf.length - count;
- for (;;)
- {
- if (avail == 0)
- break;
- switch (todo)
- {
- case 1:
- if (pending_char == '\\')
- {
- buf[count++] = (byte) '\\';
- avail--;
- todo = 0;
- continue;
- }
- /* ... else fall through ... */
- case 2:
- case 3:
- case 4:
- todo--;
- int digit = ((int) pending_char >> (todo * 4)) & 0xF;
- buf[count++] = (byte) Character.forDigit(digit, 16);
- avail--;
- continue;
- case 5:
- buf[count++] = (byte) 'u';
- avail--;
- todo = 4;
- continue;
- default:
- ;
- }
- if (inlength == 0)
- break;
- char ch = inbuffer[inpos++];
- inlength--;
- if (ch == '\\')
- {
- buf[count++] = (byte) '\\';
- pending_char = ch;
- todo = 1;
- avail--;
- }
- else if (ch < 127)
- {
- buf[count++] = (byte) ch;
- avail--;
- }
- else
- {
- buf[count++] = (byte) '\\';
- pending_char = ch;
- todo = 5;
- avail--;
- }
- }
- return inpos - start_pos;
- }
-}
diff --git a/libjava/gnu/gcj/convert/Output_SJIS.java b/libjava/gnu/gcj/convert/Output_SJIS.java
deleted file mode 100644
index 7fba4bc9eb1..00000000000
--- a/libjava/gnu/gcj/convert/Output_SJIS.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert Unicode to SJIS (Shift JIS, used on Japanese MS-Windows).
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 1999.
- */
-
-public class Output_SJIS extends UnicodeToBytes
-{
- public String getName() { return "SJIS"; }
-
- public native int write (char[] inbuffer, int inpos, int inlength);
-
- public native int write (String str, int inpos, int inlength, char[] work);
-
- int pending = -1;
-}
diff --git a/libjava/gnu/gcj/convert/Output_UTF8.java b/libjava/gnu/gcj/convert/Output_UTF8.java
deleted file mode 100644
index db2215a6171..00000000000
--- a/libjava/gnu/gcj/convert/Output_UTF8.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-/**
- * Convert Unicode to UTF8.
- * @author Per Bothner <bothner@cygnus.com>
- * @date Match 1999.
- */
-
-public class Output_UTF8 extends UnicodeToBytes
-{
- public String getName() { return "UTF8"; }
-
- /** True if a surrogate pair should be emitted as a single UTF8 sequence.
- * Otherwise, a surrogate pair is treated as two separate characters.
- * Also, '\0' is emitted as {0} if true, and as {0xC0,0x80} if false. */
- public boolean standardUTF8;
-
- // Saves the previous char if it was a high-surrogate.
- char hi_part;
- // Value of imcomplete character.
- int value;
- // Number of continuation bytes still to emit.
- int bytes_todo;
-
- public int write (char[] inbuffer, int inpos, int inlength)
- {
- int start_pos = inpos;
- int avail = buf.length - count;
- for (;;)
- {
- if (inlength == 0 || avail == 0)
- break;
- // The algororith is made more complicated because we want to write
- // at least one byte in the output buffer, if there is room for
- // that byte, and at least one input character is available.
- // This makes the code more robust, since client code will
- // always "make progress", even in the complicated cases,
- // where the output buffer only has room for only *part* of a
- // multi-byte sequence, or the input char buffer only has half
- // of a surrogate pair (when standardUTF8 is set), or both.
-
- // Handle continuation characters we did not have room for before.
- if (bytes_todo > 0)
- {
- do
- {
- bytes_todo--;
- buf[count++] = (byte)
- (((value >> (bytes_todo * 6)) & 0x3F) | 0x80);
- avail--;
- }
- while (bytes_todo > 0 && avail > 0);
- continue;
- }
- char ch = inbuffer[inpos++];
- inlength--;
- if (ch < 128 && (ch != 0 || standardUTF8))
- {
- avail--;
- buf[count++] = (byte) ch;
- }
- else if (ch <= 0x07FF)
- {
- buf[count++] = (byte) (0xC0 | (ch >> 6));
- if (--avail > 0)
- {
- buf[count++] = (byte) ((ch & 0x3F) | 0x80);
- avail--;
- }
- else
- {
- value = ch;
- bytes_todo = 1;
- break;
- }
- }
- else if (ch >= 0xD800 && ch <= 0xDFFF && standardUTF8)
- {
- if (ch <= 0xDBFF) // High surrogates
- {
- // The first byte is (0xF0 | value>>18), where value is the
- // Unicode scalar value of the combine character - which
- // we may not know yet. But from substituting:
- // value == (hi-0xD800)*0x400+(lo-0xDC00)+0x10000,
- // hi==ch, and cancelling we get:
- buf[count++] = (byte) (0xF0 | ((ch-0xD800) >> 8));
- avail--;
- hi_part = ch;
- }
- else // Low surrogates
- {
- value = (hi_part - 0xD800) * 0x400 + (ch - 0xDC00) + 0x10000;
- bytes_todo = 3;
- }
- }
- else
- {
- buf[count++] = (byte) (0xE0 | (ch >> 12));
- value = ch;
- avail--;
- bytes_todo = 2;
- }
- }
- return inpos - start_pos;
- }
-}
diff --git a/libjava/gnu/gcj/convert/UnicodeToBytes.java b/libjava/gnu/gcj/convert/UnicodeToBytes.java
deleted file mode 100644
index 7ab92a8eefa..00000000000
--- a/libjava/gnu/gcj/convert/UnicodeToBytes.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.convert;
-
-public abstract class UnicodeToBytes
-{
- /** Buffer to emit bytes to.
- * The locations buf[count] ... buf[buf.length-1] are available. */
- public byte[] buf;
- public int count;
-
- static Class defaultEncodingClass;
-
- static synchronized void getDefaultEncodingClass()
- {
- // Test (defaultEncodingClass == null) again in case of race condition.
- if (defaultEncodingClass == null)
- {
- String encoding = System.getProperty("file.encoding");
- String className = "gnu.gcj.convert.Output_"+encoding;
- try
- {
- defaultEncodingClass = Class.forName(className);
- }
- catch (ClassNotFoundException ex)
- {
- throw new NoClassDefFoundError("missing default encoding "
- + encoding + " (class "
- + className + " not found)");
-
- }
- }
- }
-
- public abstract String getName();
-
- public static UnicodeToBytes getDefaultEncoder()
- {
- try
- {
- if (defaultEncodingClass == null)
- getDefaultEncodingClass();
- return (UnicodeToBytes) defaultEncodingClass.newInstance();
- }
- catch (Throwable ex)
- {
- return new Output_8859_1();
- }
- }
-
- /** Get a char-stream->byte-stream converter given an encoding name. */
- public static UnicodeToBytes getEncoder (String encoding)
- throws java.io.UnsupportedEncodingException
- {
- String className = "gnu.gcj.convert.Output_"+encoding;
- Class encodingClass;
- try
- {
- encodingClass = Class.forName(className);
- return (UnicodeToBytes) encodingClass.newInstance();
- }
- catch (Throwable ex)
- {
- throw new java.io.UnsupportedEncodingException(encoding + " ("
- + ex + ')');
- }
- }
-
- public final void setOutput(byte[] buffer, int count)
- {
- this.buf = buffer;
- this.count = count;
- }
-
- /** Convert chars to bytes.
- * Converted bytes are written to buf, starting at count.
- * @param inbuffer source of characters to convert
- * @param inpos index of initial character in inbuffer to convert
- * @param inlength number of characters to convert
- * @return number of chars converted
- * Also, this.count is increment by the number of bytes converted.
- */
- public abstract int write (char[] inbuffer, int inpos, int inlength);
-
- /** Convert chars to bytes.
- * Converted bytes are written to buf, starting at count.
- * @param str source of characters to convert
- * @param inpos index of initial character in str to convert
- * @param inlength number of characters to convert
- * @param work if non-null, a buffer than can be used
- * @return number of chars converted
- * Also, this.count is increment by the number of bytes converted.
- */
- public int write (String str, int inpos, int inlength, char[] work)
- {
- if (work == null)
- work = new char[inlength];
- int srcEnd = inpos + (inlength > work.length ? work.length : inlength);
- str.getChars(inpos, srcEnd, work, 0);
- return write(work, inpos, inlength);
- }
-
-}
diff --git a/libjava/gnu/gcj/convert/Unicode_to_JIS.cc b/libjava/gnu/gcj/convert/Unicode_to_JIS.cc
deleted file mode 100644
index 10b3b7003db..00000000000
--- a/libjava/gnu/gcj/convert/Unicode_to_JIS.cc
+++ /dev/null
@@ -1,23139 +0,0 @@
-/* This file is automatically generated. */
-unsigned short Unicode_to_JIS[] = {
- /* branch: 0x0XXX */ 16,
- /* branch: 0x1XXX */ 0,
- /* branch: 0x2XXX */ 720,
- /* branch: 0x3XXX */ 1296,
- /* branch: 0x4XXX */ 1552,
- /* branch: 0x5XXX */ 2112,
- /* branch: 0x6XXX */ 6480,
- /* branch: 0x7XXX */ 10848,
- /* branch: 0x8XXX */ 15072,
- /* branch: 0x9XXX */ 19184,
- /* branch: 0xaXXX */ 0,
- /* branch: 0xbXXX */ 0,
- /* branch: 0xcXXX */ 0,
- /* branch: 0xdXXX */ 0,
- /* branch: 0xeXXX */ 0,
- /* branch: 0xfXXX */ 22928,
- /* branch: 0x00XX */ 32,
- /* branch: 0x01XX */ 272,
- /* branch: 0x02XX */ 464,
- /* branch: 0x03XX */ 512,
- /* branch: 0x04XX */ 608,
- /* branch: 0x05XX */ 0,
- /* branch: 0x06XX */ 0,
- /* branch: 0x07XX */ 0,
- /* branch: 0x08XX */ 0,
- /* branch: 0x09XX */ 0,
- /* branch: 0x0aXX */ 0,
- /* branch: 0x0bXX */ 0,
- /* branch: 0x0cXX */ 0,
- /* branch: 0x0dXX */ 0,
- /* branch: 0x0eXX */ 0,
- /* branch: 0x0fXX */ 0,
- /* branch: 0x000X */ 48,
- /* branch: 0x001X */ 64,
- /* branch: 0x002X */ 80,
- /* branch: 0x003X */ 96,
- /* branch: 0x004X */ 112,
- /* branch: 0x005X */ 128,
- /* branch: 0x006X */ 144,
- /* branch: 0x007X */ 160,
- /* branch: 0x008X */ 0,
- /* branch: 0x009X */ 0,
- /* branch: 0x00aX */ 176,
- /* branch: 0x00bX */ 192,
- /* branch: 0x00cX */ 208,
- /* branch: 0x00dX */ 224,
- /* branch: 0x00eX */ 240,
- /* branch: 0x00fX */ 256,
- /* key: 0x0 */ 0x0,
- /* key: 0x1 */ 0x1,
- /* key: 0x2 */ 0x2,
- /* key: 0x3 */ 0x3,
- /* key: 0x4 */ 0x4,
- /* key: 0x5 */ 0x5,
- /* key: 0x6 */ 0x6,
- /* key: 0x7 */ 0x7,
- /* key: 0x8 */ 0x8,
- /* key: 0x9 */ 0x9,
- /* key: 0xa */ 0xa,
- /* key: 0xb */ 0xb,
- /* key: 0xc */ 0xc,
- /* key: 0xd */ 0xd,
- /* key: 0xe */ 0xe,
- /* key: 0xf */ 0xf,
- /* key: 0x10 */ 0x10,
- /* key: 0x11 */ 0x11,
- /* key: 0x12 */ 0x12,
- /* key: 0x13 */ 0x13,
- /* key: 0x14 */ 0x14,
- /* key: 0x15 */ 0x15,
- /* key: 0x16 */ 0x16,
- /* key: 0x17 */ 0x17,
- /* key: 0x18 */ 0x18,
- /* key: 0x19 */ 0x19,
- /* key: 0x1a */ 0x1a,
- /* key: 0x1b */ 0x1b,
- /* key: 0x1c */ 0x1c,
- /* key: 0x1d */ 0x1d,
- /* key: 0x1e */ 0x1e,
- /* key: 0x1f */ 0x1f,
- /* key: 0x20 */ 0x20,
- /* key: 0x21 */ 0x21,
- /* key: 0x22 */ 0x22,
- /* key: 0x23 */ 0x23,
- /* key: 0x24 */ 0x24,
- /* key: 0x25 */ 0x25,
- /* key: 0x26 */ 0x26,
- /* key: 0x27 */ 0x27,
- /* key: 0x28 */ 0x28,
- /* key: 0x29 */ 0x29,
- /* key: 0x2a */ 0x2a,
- /* key: 0x2b */ 0x2b,
- /* key: 0x2c */ 0x2c,
- /* key: 0x2d */ 0x2d,
- /* key: 0x2e */ 0x2e,
- /* key: 0x2f */ 0x2f,
- /* key: 0x30 */ 0x30,
- /* key: 0x31 */ 0x31,
- /* key: 0x32 */ 0x32,
- /* key: 0x33 */ 0x33,
- /* key: 0x34 */ 0x34,
- /* key: 0x35 */ 0x35,
- /* key: 0x36 */ 0x36,
- /* key: 0x37 */ 0x37,
- /* key: 0x38 */ 0x38,
- /* key: 0x39 */ 0x39,
- /* key: 0x3a */ 0x3a,
- /* key: 0x3b */ 0x3b,
- /* key: 0x3c */ 0x3c,
- /* key: 0x3d */ 0x3d,
- /* key: 0x3e */ 0x3e,
- /* key: 0x3f */ 0x3f,
- /* key: 0x40 */ 0x40,
- /* key: 0x41 */ 0x41,
- /* key: 0x42 */ 0x42,
- /* key: 0x43 */ 0x43,
- /* key: 0x44 */ 0x44,
- /* key: 0x45 */ 0x45,
- /* key: 0x46 */ 0x46,
- /* key: 0x47 */ 0x47,
- /* key: 0x48 */ 0x48,
- /* key: 0x49 */ 0x49,
- /* key: 0x4a */ 0x4a,
- /* key: 0x4b */ 0x4b,
- /* key: 0x4c */ 0x4c,
- /* key: 0x4d */ 0x4d,
- /* key: 0x4e */ 0x4e,
- /* key: 0x4f */ 0x4f,
- /* key: 0x50 */ 0x50,
- /* key: 0x51 */ 0x51,
- /* key: 0x52 */ 0x52,
- /* key: 0x53 */ 0x53,
- /* key: 0x54 */ 0x54,
- /* key: 0x55 */ 0x55,
- /* key: 0x56 */ 0x56,
- /* key: 0x57 */ 0x57,
- /* key: 0x58 */ 0x58,
- /* key: 0x59 */ 0x59,
- /* key: 0x5a */ 0x5a,
- /* key: 0x5b */ 0x5b,
- /* key: 0x5c */ 0x2140,
- /* key: 0x5d */ 0x5d,
- /* key: 0x5e */ 0x5e,
- /* key: 0x5f */ 0x5f,
- /* key: 0x60 */ 0x60,
- /* key: 0x61 */ 0x61,
- /* key: 0x62 */ 0x62,
- /* key: 0x63 */ 0x63,
- /* key: 0x64 */ 0x64,
- /* key: 0x65 */ 0x65,
- /* key: 0x66 */ 0x66,
- /* key: 0x67 */ 0x67,
- /* key: 0x68 */ 0x68,
- /* key: 0x69 */ 0x69,
- /* key: 0x6a */ 0x6a,
- /* key: 0x6b */ 0x6b,
- /* key: 0x6c */ 0x6c,
- /* key: 0x6d */ 0x6d,
- /* key: 0x6e */ 0x6e,
- /* key: 0x6f */ 0x6f,
- /* key: 0x70 */ 0x70,
- /* key: 0x71 */ 0x71,
- /* key: 0x72 */ 0x72,
- /* key: 0x73 */ 0x73,
- /* key: 0x74 */ 0x74,
- /* key: 0x75 */ 0x75,
- /* key: 0x76 */ 0x76,
- /* key: 0x77 */ 0x77,
- /* key: 0x78 */ 0x78,
- /* key: 0x79 */ 0x79,
- /* key: 0x7a */ 0x7a,
- /* key: 0x7b */ 0x7b,
- /* key: 0x7c */ 0x7c,
- /* key: 0x7d */ 0x7d,
- /* key: 0x7e */ 0xa237,
- /* key: 0x7f */ 0x7f,
- /* key: 0xa0 */ 0xffff,
- /* key: 0xa1 */ 0xa242,
- /* key: 0xa2 */ 0x2171,
- /* key: 0xa3 */ 0x2172,
- /* key: 0xa4 */ 0xa270,
- /* key: 0xa5 */ 0x5c,
- /* key: 0xa6 */ 0xa243,
- /* key: 0xa7 */ 0x2178,
- /* key: 0xa8 */ 0x212f,
- /* key: 0xa9 */ 0xa26d,
- /* key: 0xaa */ 0xa26c,
- /* key: 0xab */ 0xffff,
- /* key: 0xac */ 0x224c,
- /* key: 0xad */ 0xffff,
- /* key: 0xae */ 0xa26e,
- /* key: 0xaf */ 0xa234,
- /* key: 0xb0 */ 0x216b,
- /* key: 0xb1 */ 0x215e,
- /* key: 0xb2 */ 0xffff,
- /* key: 0xb3 */ 0xffff,
- /* key: 0xb4 */ 0x212d,
- /* key: 0xb5 */ 0xffff,
- /* key: 0xb6 */ 0x2279,
- /* key: 0xb7 */ 0xffff,
- /* key: 0xb8 */ 0xa231,
- /* key: 0xb9 */ 0xffff,
- /* key: 0xba */ 0xa26b,
- /* key: 0xbb */ 0xffff,
- /* key: 0xbc */ 0xffff,
- /* key: 0xbd */ 0xffff,
- /* key: 0xbe */ 0xffff,
- /* key: 0xbf */ 0xa244,
- /* key: 0xc0 */ 0xaa22,
- /* key: 0xc1 */ 0xaa21,
- /* key: 0xc2 */ 0xaa24,
- /* key: 0xc3 */ 0xaa2a,
- /* key: 0xc4 */ 0xaa23,
- /* key: 0xc5 */ 0xaa29,
- /* key: 0xc6 */ 0xa921,
- /* key: 0xc7 */ 0xaa2e,
- /* key: 0xc8 */ 0xaa32,
- /* key: 0xc9 */ 0xaa31,
- /* key: 0xca */ 0xaa34,
- /* key: 0xcb */ 0xaa33,
- /* key: 0xcc */ 0xaa40,
- /* key: 0xcd */ 0xaa3f,
- /* key: 0xce */ 0xaa42,
- /* key: 0xcf */ 0xaa41,
- /* key: 0xd0 */ 0xffff,
- /* key: 0xd1 */ 0xaa50,
- /* key: 0xd2 */ 0xaa52,
- /* key: 0xd3 */ 0xaa51,
- /* key: 0xd4 */ 0xaa54,
- /* key: 0xd5 */ 0xaa58,
- /* key: 0xd6 */ 0xaa53,
- /* key: 0xd7 */ 0x215f,
- /* key: 0xd8 */ 0xa92c,
- /* key: 0xd9 */ 0xaa63,
- /* key: 0xda */ 0xaa62,
- /* key: 0xdb */ 0xaa65,
- /* key: 0xdc */ 0xaa64,
- /* key: 0xdd */ 0xaa72,
- /* key: 0xde */ 0xa930,
- /* key: 0xdf */ 0xa94e,
- /* key: 0xe0 */ 0xab22,
- /* key: 0xe1 */ 0xab21,
- /* key: 0xe2 */ 0xab24,
- /* key: 0xe3 */ 0xab2a,
- /* key: 0xe4 */ 0xab23,
- /* key: 0xe5 */ 0xab29,
- /* key: 0xe6 */ 0xa941,
- /* key: 0xe7 */ 0xab2e,
- /* key: 0xe8 */ 0xab32,
- /* key: 0xe9 */ 0xab31,
- /* key: 0xea */ 0xab34,
- /* key: 0xeb */ 0xab33,
- /* key: 0xec */ 0xab40,
- /* key: 0xed */ 0xab3f,
- /* key: 0xee */ 0xab42,
- /* key: 0xef */ 0xab41,
- /* key: 0xf0 */ 0xa943,
- /* key: 0xf1 */ 0xab50,
- /* key: 0xf2 */ 0xab52,
- /* key: 0xf3 */ 0xab51,
- /* key: 0xf4 */ 0xab54,
- /* key: 0xf5 */ 0xab58,
- /* key: 0xf6 */ 0xab53,
- /* key: 0xf7 */ 0x2160,
- /* key: 0xf8 */ 0xa94c,
- /* key: 0xf9 */ 0xab63,
- /* key: 0xfa */ 0xab62,
- /* key: 0xfb */ 0xab65,
- /* key: 0xfc */ 0xab64,
- /* key: 0xfd */ 0xab72,
- /* key: 0xfe */ 0xa950,
- /* key: 0xff */ 0xab73,
- /* branch: 0x010X */ 288,
- /* branch: 0x011X */ 304,
- /* branch: 0x012X */ 320,
- /* branch: 0x013X */ 336,
- /* branch: 0x014X */ 352,
- /* branch: 0x015X */ 368,
- /* branch: 0x016X */ 384,
- /* branch: 0x017X */ 400,
- /* branch: 0x018X */ 0,
- /* branch: 0x019X */ 0,
- /* branch: 0x01aX */ 0,
- /* branch: 0x01bX */ 0,
- /* branch: 0x01cX */ 416,
- /* branch: 0x01dX */ 432,
- /* branch: 0x01eX */ 0,
- /* branch: 0x01fX */ 448,
- /* key: 0x100 */ 0xaa27,
- /* key: 0x101 */ 0xab27,
- /* key: 0x102 */ 0xaa25,
- /* key: 0x103 */ 0xab25,
- /* key: 0x104 */ 0xaa28,
- /* key: 0x105 */ 0xab28,
- /* key: 0x106 */ 0xaa2b,
- /* key: 0x107 */ 0xab2b,
- /* key: 0x108 */ 0xaa2c,
- /* key: 0x109 */ 0xab2c,
- /* key: 0x10a */ 0xaa2f,
- /* key: 0x10b */ 0xab2f,
- /* key: 0x10c */ 0xaa2d,
- /* key: 0x10d */ 0xab2d,
- /* key: 0x10e */ 0xaa30,
- /* key: 0x10f */ 0xab30,
- /* key: 0x110 */ 0xa922,
- /* key: 0x111 */ 0xa942,
- /* key: 0x112 */ 0xaa37,
- /* key: 0x113 */ 0xab37,
- /* key: 0x114 */ 0xffff,
- /* key: 0x115 */ 0xffff,
- /* key: 0x116 */ 0xaa36,
- /* key: 0x117 */ 0xab36,
- /* key: 0x118 */ 0xaa38,
- /* key: 0x119 */ 0xab38,
- /* key: 0x11a */ 0xaa35,
- /* key: 0x11b */ 0xab35,
- /* key: 0x11c */ 0xaa3a,
- /* key: 0x11d */ 0xab3a,
- /* key: 0x11e */ 0xaa3b,
- /* key: 0x11f */ 0xab3b,
- /* key: 0x120 */ 0xaa3d,
- /* key: 0x121 */ 0xab3d,
- /* key: 0x122 */ 0xaa3c,
- /* key: 0x123 */ 0xffff,
- /* key: 0x124 */ 0xaa3e,
- /* key: 0x125 */ 0xab3e,
- /* key: 0x126 */ 0xa924,
- /* key: 0x127 */ 0xa944,
- /* key: 0x128 */ 0xaa47,
- /* key: 0x129 */ 0xab47,
- /* key: 0x12a */ 0xaa45,
- /* key: 0x12b */ 0xab45,
- /* key: 0x12c */ 0xffff,
- /* key: 0x12d */ 0xffff,
- /* key: 0x12e */ 0xaa46,
- /* key: 0x12f */ 0xab46,
- /* key: 0x130 */ 0xaa44,
- /* key: 0x131 */ 0xa945,
- /* key: 0x132 */ 0xa926,
- /* key: 0x133 */ 0xa946,
- /* key: 0x134 */ 0xaa48,
- /* key: 0x135 */ 0xab48,
- /* key: 0x136 */ 0xaa49,
- /* key: 0x137 */ 0xab49,
- /* key: 0x138 */ 0xa947,
- /* key: 0x139 */ 0xaa4a,
- /* key: 0x13a */ 0xab4a,
- /* key: 0x13b */ 0xaa4c,
- /* key: 0x13c */ 0xab4c,
- /* key: 0x13d */ 0xaa4b,
- /* key: 0x13e */ 0xab4b,
- /* key: 0x13f */ 0xa929,
- /* key: 0x140 */ 0xa949,
- /* key: 0x141 */ 0xa928,
- /* key: 0x142 */ 0xa948,
- /* key: 0x143 */ 0xaa4d,
- /* key: 0x144 */ 0xab4d,
- /* key: 0x145 */ 0xaa4f,
- /* key: 0x146 */ 0xab4f,
- /* key: 0x147 */ 0xaa4e,
- /* key: 0x148 */ 0xab4e,
- /* key: 0x149 */ 0xa94a,
- /* key: 0x14a */ 0xa92b,
- /* key: 0x14b */ 0xa94b,
- /* key: 0x14c */ 0xaa57,
- /* key: 0x14d */ 0xab57,
- /* key: 0x14e */ 0xffff,
- /* key: 0x14f */ 0xffff,
- /* key: 0x150 */ 0xaa56,
- /* key: 0x151 */ 0xab56,
- /* key: 0x152 */ 0xa92d,
- /* key: 0x153 */ 0xa94d,
- /* key: 0x154 */ 0xaa59,
- /* key: 0x155 */ 0xab59,
- /* key: 0x156 */ 0xaa5b,
- /* key: 0x157 */ 0xab5b,
- /* key: 0x158 */ 0xaa5a,
- /* key: 0x159 */ 0xab5a,
- /* key: 0x15a */ 0xaa5c,
- /* key: 0x15b */ 0xab5c,
- /* key: 0x15c */ 0xaa5d,
- /* key: 0x15d */ 0xab5d,
- /* key: 0x15e */ 0xaa5f,
- /* key: 0x15f */ 0xab5f,
- /* key: 0x160 */ 0xaa5e,
- /* key: 0x161 */ 0xab5e,
- /* key: 0x162 */ 0xaa61,
- /* key: 0x163 */ 0xab61,
- /* key: 0x164 */ 0xaa60,
- /* key: 0x165 */ 0xab60,
- /* key: 0x166 */ 0xa92f,
- /* key: 0x167 */ 0xa94f,
- /* key: 0x168 */ 0xaa6c,
- /* key: 0x169 */ 0xab6c,
- /* key: 0x16a */ 0xaa69,
- /* key: 0x16b */ 0xab69,
- /* key: 0x16c */ 0xaa66,
- /* key: 0x16d */ 0xab66,
- /* key: 0x16e */ 0xaa6b,
- /* key: 0x16f */ 0xab6b,
- /* key: 0x170 */ 0xaa68,
- /* key: 0x171 */ 0xab68,
- /* key: 0x172 */ 0xaa6a,
- /* key: 0x173 */ 0xab6a,
- /* key: 0x174 */ 0xaa71,
- /* key: 0x175 */ 0xab71,
- /* key: 0x176 */ 0xaa74,
- /* key: 0x177 */ 0xab74,
- /* key: 0x178 */ 0xaa73,
- /* key: 0x179 */ 0xaa75,
- /* key: 0x17a */ 0xab75,
- /* key: 0x17b */ 0xaa77,
- /* key: 0x17c */ 0xab77,
- /* key: 0x17d */ 0xaa76,
- /* key: 0x17e */ 0xab76,
- /* key: 0x17f */ 0xffff,
- /* key: 0x1c0 */ 0xffff,
- /* key: 0x1c1 */ 0xffff,
- /* key: 0x1c2 */ 0xffff,
- /* key: 0x1c3 */ 0xffff,
- /* key: 0x1c4 */ 0xffff,
- /* key: 0x1c5 */ 0xffff,
- /* key: 0x1c6 */ 0xffff,
- /* key: 0x1c7 */ 0xffff,
- /* key: 0x1c8 */ 0xffff,
- /* key: 0x1c9 */ 0xffff,
- /* key: 0x1ca */ 0xffff,
- /* key: 0x1cb */ 0xffff,
- /* key: 0x1cc */ 0xffff,
- /* key: 0x1cd */ 0xaa26,
- /* key: 0x1ce */ 0xab26,
- /* key: 0x1cf */ 0xaa43,
- /* key: 0x1d0 */ 0xab43,
- /* key: 0x1d1 */ 0xaa55,
- /* key: 0x1d2 */ 0xab55,
- /* key: 0x1d3 */ 0xaa67,
- /* key: 0x1d4 */ 0xab67,
- /* key: 0x1d5 */ 0xaa70,
- /* key: 0x1d6 */ 0xab70,
- /* key: 0x1d7 */ 0xaa6d,
- /* key: 0x1d8 */ 0xab6d,
- /* key: 0x1d9 */ 0xaa6f,
- /* key: 0x1da */ 0xab6f,
- /* key: 0x1db */ 0xaa6e,
- /* key: 0x1dc */ 0xab6e,
- /* key: 0x1dd */ 0xffff,
- /* key: 0x1de */ 0xffff,
- /* key: 0x1df */ 0xffff,
- /* key: 0x1f0 */ 0xffff,
- /* key: 0x1f1 */ 0xffff,
- /* key: 0x1f2 */ 0xffff,
- /* key: 0x1f3 */ 0xffff,
- /* key: 0x1f4 */ 0xffff,
- /* key: 0x1f5 */ 0xab39,
- /* key: 0x1f6 */ 0xffff,
- /* key: 0x1f7 */ 0xffff,
- /* key: 0x1f8 */ 0xffff,
- /* key: 0x1f9 */ 0xffff,
- /* key: 0x1fa */ 0xffff,
- /* key: 0x1fb */ 0xffff,
- /* key: 0x1fc */ 0xffff,
- /* key: 0x1fd */ 0xffff,
- /* key: 0x1fe */ 0xffff,
- /* key: 0x1ff */ 0xffff,
- /* branch: 0x020X */ 0,
- /* branch: 0x021X */ 0,
- /* branch: 0x022X */ 0,
- /* branch: 0x023X */ 0,
- /* branch: 0x024X */ 0,
- /* branch: 0x025X */ 0,
- /* branch: 0x026X */ 0,
- /* branch: 0x027X */ 0,
- /* branch: 0x028X */ 0,
- /* branch: 0x029X */ 0,
- /* branch: 0x02aX */ 0,
- /* branch: 0x02bX */ 0,
- /* branch: 0x02cX */ 480,
- /* branch: 0x02dX */ 496,
- /* branch: 0x02eX */ 0,
- /* branch: 0x02fX */ 0,
- /* key: 0x2c0 */ 0xffff,
- /* key: 0x2c1 */ 0xffff,
- /* key: 0x2c2 */ 0xffff,
- /* key: 0x2c3 */ 0xffff,
- /* key: 0x2c4 */ 0xffff,
- /* key: 0x2c5 */ 0xffff,
- /* key: 0x2c6 */ 0xffff,
- /* key: 0x2c7 */ 0xa230,
- /* key: 0x2c8 */ 0xffff,
- /* key: 0x2c9 */ 0xffff,
- /* key: 0x2ca */ 0xffff,
- /* key: 0x2cb */ 0xffff,
- /* key: 0x2cc */ 0xffff,
- /* key: 0x2cd */ 0xffff,
- /* key: 0x2ce */ 0xffff,
- /* key: 0x2cf */ 0xffff,
- /* key: 0x2d0 */ 0xffff,
- /* key: 0x2d1 */ 0xffff,
- /* key: 0x2d2 */ 0xffff,
- /* key: 0x2d3 */ 0xffff,
- /* key: 0x2d4 */ 0xffff,
- /* key: 0x2d5 */ 0xffff,
- /* key: 0x2d6 */ 0xffff,
- /* key: 0x2d7 */ 0xffff,
- /* key: 0x2d8 */ 0xa22f,
- /* key: 0x2d9 */ 0xa232,
- /* key: 0x2da */ 0xa236,
- /* key: 0x2db */ 0xa235,
- /* key: 0x2dc */ 0xffff,
- /* key: 0x2dd */ 0xa233,
- /* key: 0x2de */ 0xffff,
- /* key: 0x2df */ 0xffff,
- /* branch: 0x030X */ 0,
- /* branch: 0x031X */ 0,
- /* branch: 0x032X */ 0,
- /* branch: 0x033X */ 0,
- /* branch: 0x034X */ 0,
- /* branch: 0x035X */ 0,
- /* branch: 0x036X */ 0,
- /* branch: 0x037X */ 0,
- /* branch: 0x038X */ 528,
- /* branch: 0x039X */ 544,
- /* branch: 0x03aX */ 560,
- /* branch: 0x03bX */ 576,
- /* branch: 0x03cX */ 592,
- /* branch: 0x03dX */ 0,
- /* branch: 0x03eX */ 0,
- /* branch: 0x03fX */ 0,
- /* key: 0x380 */ 0xffff,
- /* key: 0x381 */ 0xffff,
- /* key: 0x382 */ 0xffff,
- /* key: 0x383 */ 0xffff,
- /* key: 0x384 */ 0xa238,
- /* key: 0x385 */ 0xa239,
- /* key: 0x386 */ 0xa661,
- /* key: 0x387 */ 0xffff,
- /* key: 0x388 */ 0xa662,
- /* key: 0x389 */ 0xa663,
- /* key: 0x38a */ 0xa664,
- /* key: 0x38b */ 0xffff,
- /* key: 0x38c */ 0xa667,
- /* key: 0x38d */ 0xffff,
- /* key: 0x38e */ 0xa669,
- /* key: 0x38f */ 0xa66c,
- /* key: 0x390 */ 0xa676,
- /* key: 0x391 */ 0x2621,
- /* key: 0x392 */ 0x2622,
- /* key: 0x393 */ 0x2623,
- /* key: 0x394 */ 0x2624,
- /* key: 0x395 */ 0x2625,
- /* key: 0x396 */ 0x2626,
- /* key: 0x397 */ 0x2627,
- /* key: 0x398 */ 0x2628,
- /* key: 0x399 */ 0x2629,
- /* key: 0x39a */ 0x262a,
- /* key: 0x39b */ 0x262b,
- /* key: 0x39c */ 0x262c,
- /* key: 0x39d */ 0x262d,
- /* key: 0x39e */ 0x262e,
- /* key: 0x39f */ 0x262f,
- /* key: 0x3a0 */ 0x2630,
- /* key: 0x3a1 */ 0x2631,
- /* key: 0x3a2 */ 0xffff,
- /* key: 0x3a3 */ 0x2632,
- /* key: 0x3a4 */ 0x2633,
- /* key: 0x3a5 */ 0x2634,
- /* key: 0x3a6 */ 0x2635,
- /* key: 0x3a7 */ 0x2636,
- /* key: 0x3a8 */ 0x2637,
- /* key: 0x3a9 */ 0x2638,
- /* key: 0x3aa */ 0xa665,
- /* key: 0x3ab */ 0xa66a,
- /* key: 0x3ac */ 0xa671,
- /* key: 0x3ad */ 0xa672,
- /* key: 0x3ae */ 0xa673,
- /* key: 0x3af */ 0xa674,
- /* key: 0x3b0 */ 0xa67b,
- /* key: 0x3b1 */ 0x2641,
- /* key: 0x3b2 */ 0x2642,
- /* key: 0x3b3 */ 0x2643,
- /* key: 0x3b4 */ 0x2644,
- /* key: 0x3b5 */ 0x2645,
- /* key: 0x3b6 */ 0x2646,
- /* key: 0x3b7 */ 0x2647,
- /* key: 0x3b8 */ 0x2648,
- /* key: 0x3b9 */ 0x2649,
- /* key: 0x3ba */ 0x264a,
- /* key: 0x3bb */ 0x264b,
- /* key: 0x3bc */ 0x264c,
- /* key: 0x3bd */ 0x264d,
- /* key: 0x3be */ 0x264e,
- /* key: 0x3bf */ 0x264f,
- /* key: 0x3c0 */ 0x2650,
- /* key: 0x3c1 */ 0x2651,
- /* key: 0x3c2 */ 0xa678,
- /* key: 0x3c3 */ 0x2652,
- /* key: 0x3c4 */ 0x2653,
- /* key: 0x3c5 */ 0x2654,
- /* key: 0x3c6 */ 0x2655,
- /* key: 0x3c7 */ 0x2656,
- /* key: 0x3c8 */ 0x2657,
- /* key: 0x3c9 */ 0x2658,
- /* key: 0x3ca */ 0xa675,
- /* key: 0x3cb */ 0xa67a,
- /* key: 0x3cc */ 0xa677,
- /* key: 0x3cd */ 0xa679,
- /* key: 0x3ce */ 0xa67c,
- /* key: 0x3cf */ 0xffff,
- /* branch: 0x040X */ 624,
- /* branch: 0x041X */ 640,
- /* branch: 0x042X */ 656,
- /* branch: 0x043X */ 672,
- /* branch: 0x044X */ 688,
- /* branch: 0x045X */ 704,
- /* branch: 0x046X */ 0,
- /* branch: 0x047X */ 0,
- /* branch: 0x048X */ 0,
- /* branch: 0x049X */ 0,
- /* branch: 0x04aX */ 0,
- /* branch: 0x04bX */ 0,
- /* branch: 0x04cX */ 0,
- /* branch: 0x04dX */ 0,
- /* branch: 0x04eX */ 0,
- /* branch: 0x04fX */ 0,
- /* key: 0x400 */ 0xffff,
- /* key: 0x401 */ 0x2727,
- /* key: 0x402 */ 0xa742,
- /* key: 0x403 */ 0xa743,
- /* key: 0x404 */ 0xa744,
- /* key: 0x405 */ 0xa745,
- /* key: 0x406 */ 0xa746,
- /* key: 0x407 */ 0xa747,
- /* key: 0x408 */ 0xa748,
- /* key: 0x409 */ 0xa749,
- /* key: 0x40a */ 0xa74a,
- /* key: 0x40b */ 0xa74b,
- /* key: 0x40c */ 0xa74c,
- /* key: 0x40d */ 0xffff,
- /* key: 0x40e */ 0xa74d,
- /* key: 0x40f */ 0xa74e,
- /* key: 0x410 */ 0x2721,
- /* key: 0x411 */ 0x2722,
- /* key: 0x412 */ 0x2723,
- /* key: 0x413 */ 0x2724,
- /* key: 0x414 */ 0x2725,
- /* key: 0x415 */ 0x2726,
- /* key: 0x416 */ 0x2728,
- /* key: 0x417 */ 0x2729,
- /* key: 0x418 */ 0x272a,
- /* key: 0x419 */ 0x272b,
- /* key: 0x41a */ 0x272c,
- /* key: 0x41b */ 0x272d,
- /* key: 0x41c */ 0x272e,
- /* key: 0x41d */ 0x272f,
- /* key: 0x41e */ 0x2730,
- /* key: 0x41f */ 0x2731,
- /* key: 0x420 */ 0x2732,
- /* key: 0x421 */ 0x2733,
- /* key: 0x422 */ 0x2734,
- /* key: 0x423 */ 0x2735,
- /* key: 0x424 */ 0x2736,
- /* key: 0x425 */ 0x2737,
- /* key: 0x426 */ 0x2738,
- /* key: 0x427 */ 0x2739,
- /* key: 0x428 */ 0x273a,
- /* key: 0x429 */ 0x273b,
- /* key: 0x42a */ 0x273c,
- /* key: 0x42b */ 0x273d,
- /* key: 0x42c */ 0x273e,
- /* key: 0x42d */ 0x273f,
- /* key: 0x42e */ 0x2740,
- /* key: 0x42f */ 0x2741,
- /* key: 0x430 */ 0x2751,
- /* key: 0x431 */ 0x2752,
- /* key: 0x432 */ 0x2753,
- /* key: 0x433 */ 0x2754,
- /* key: 0x434 */ 0x2755,
- /* key: 0x435 */ 0x2756,
- /* key: 0x436 */ 0x2758,
- /* key: 0x437 */ 0x2759,
- /* key: 0x438 */ 0x275a,
- /* key: 0x439 */ 0x275b,
- /* key: 0x43a */ 0x275c,
- /* key: 0x43b */ 0x275d,
- /* key: 0x43c */ 0x275e,
- /* key: 0x43d */ 0x275f,
- /* key: 0x43e */ 0x2760,
- /* key: 0x43f */ 0x2761,
- /* key: 0x440 */ 0x2762,
- /* key: 0x441 */ 0x2763,
- /* key: 0x442 */ 0x2764,
- /* key: 0x443 */ 0x2765,
- /* key: 0x444 */ 0x2766,
- /* key: 0x445 */ 0x2767,
- /* key: 0x446 */ 0x2768,
- /* key: 0x447 */ 0x2769,
- /* key: 0x448 */ 0x276a,
- /* key: 0x449 */ 0x276b,
- /* key: 0x44a */ 0x276c,
- /* key: 0x44b */ 0x276d,
- /* key: 0x44c */ 0x276e,
- /* key: 0x44d */ 0x276f,
- /* key: 0x44e */ 0x2770,
- /* key: 0x44f */ 0x2771,
- /* key: 0x450 */ 0xffff,
- /* key: 0x451 */ 0x2757,
- /* key: 0x452 */ 0xa772,
- /* key: 0x453 */ 0xa773,
- /* key: 0x454 */ 0xa774,
- /* key: 0x455 */ 0xa775,
- /* key: 0x456 */ 0xa776,
- /* key: 0x457 */ 0xa777,
- /* key: 0x458 */ 0xa778,
- /* key: 0x459 */ 0xa779,
- /* key: 0x45a */ 0xa77a,
- /* key: 0x45b */ 0xa77b,
- /* key: 0x45c */ 0xa77c,
- /* key: 0x45d */ 0xffff,
- /* key: 0x45e */ 0xa77d,
- /* key: 0x45f */ 0xa77e,
- /* branch: 0x20XX */ 736,
- /* branch: 0x21XX */ 800,
- /* branch: 0x22XX */ 896,
- /* branch: 0x23XX */ 1040,
- /* branch: 0x24XX */ 0,
- /* branch: 0x25XX */ 1072,
- /* branch: 0x26XX */ 1232,
- /* branch: 0x27XX */ 0,
- /* branch: 0x28XX */ 0,
- /* branch: 0x29XX */ 0,
- /* branch: 0x2aXX */ 0,
- /* branch: 0x2bXX */ 0,
- /* branch: 0x2cXX */ 0,
- /* branch: 0x2dXX */ 0,
- /* branch: 0x2eXX */ 0,
- /* branch: 0x2fXX */ 0,
- /* branch: 0x200X */ 0,
- /* branch: 0x201X */ 752,
- /* branch: 0x202X */ 768,
- /* branch: 0x203X */ 784,
- /* branch: 0x204X */ 0,
- /* branch: 0x205X */ 0,
- /* branch: 0x206X */ 0,
- /* branch: 0x207X */ 0,
- /* branch: 0x208X */ 0,
- /* branch: 0x209X */ 0,
- /* branch: 0x20aX */ 0,
- /* branch: 0x20bX */ 0,
- /* branch: 0x20cX */ 0,
- /* branch: 0x20dX */ 0,
- /* branch: 0x20eX */ 0,
- /* branch: 0x20fX */ 0,
- /* key: 0x2010 */ 0x213e,
- /* key: 0x2011 */ 0xffff,
- /* key: 0x2012 */ 0xffff,
- /* key: 0x2013 */ 0xffff,
- /* key: 0x2014 */ 0xffff,
- /* key: 0x2015 */ 0x213d,
- /* key: 0x2016 */ 0x2142,
- /* key: 0x2017 */ 0xffff,
- /* key: 0x2018 */ 0x2146,
- /* key: 0x2019 */ 0x2147,
- /* key: 0x201a */ 0xffff,
- /* key: 0x201b */ 0xffff,
- /* key: 0x201c */ 0x2148,
- /* key: 0x201d */ 0x2149,
- /* key: 0x201e */ 0xffff,
- /* key: 0x201f */ 0xffff,
- /* key: 0x2020 */ 0x2277,
- /* key: 0x2021 */ 0x2278,
- /* key: 0x2022 */ 0xffff,
- /* key: 0x2023 */ 0xffff,
- /* key: 0x2024 */ 0xffff,
- /* key: 0x2025 */ 0x2145,
- /* key: 0x2026 */ 0x2144,
- /* key: 0x2027 */ 0xffff,
- /* key: 0x2028 */ 0xffff,
- /* key: 0x2029 */ 0xffff,
- /* key: 0x202a */ 0xffff,
- /* key: 0x202b */ 0xffff,
- /* key: 0x202c */ 0xffff,
- /* key: 0x202d */ 0xffff,
- /* key: 0x202e */ 0xffff,
- /* key: 0x202f */ 0xffff,
- /* key: 0x2030 */ 0x2273,
- /* key: 0x2031 */ 0xffff,
- /* key: 0x2032 */ 0x216c,
- /* key: 0x2033 */ 0x216d,
- /* key: 0x2034 */ 0xffff,
- /* key: 0x2035 */ 0xffff,
- /* key: 0x2036 */ 0xffff,
- /* key: 0x2037 */ 0xffff,
- /* key: 0x2038 */ 0xffff,
- /* key: 0x2039 */ 0xffff,
- /* key: 0x203a */ 0xffff,
- /* key: 0x203b */ 0x2228,
- /* key: 0x203c */ 0xffff,
- /* key: 0x203d */ 0xffff,
- /* key: 0x203e */ 0x7e,
- /* key: 0x203f */ 0xffff,
- /* branch: 0x210X */ 816,
- /* branch: 0x211X */ 832,
- /* branch: 0x212X */ 848,
- /* branch: 0x213X */ 0,
- /* branch: 0x214X */ 0,
- /* branch: 0x215X */ 0,
- /* branch: 0x216X */ 0,
- /* branch: 0x217X */ 0,
- /* branch: 0x218X */ 0,
- /* branch: 0x219X */ 864,
- /* branch: 0x21aX */ 0,
- /* branch: 0x21bX */ 0,
- /* branch: 0x21cX */ 0,
- /* branch: 0x21dX */ 880,
- /* branch: 0x21eX */ 0,
- /* branch: 0x21fX */ 0,
- /* key: 0x2100 */ 0xffff,
- /* key: 0x2101 */ 0xffff,
- /* key: 0x2102 */ 0xffff,
- /* key: 0x2103 */ 0x216e,
- /* key: 0x2104 */ 0xffff,
- /* key: 0x2105 */ 0xffff,
- /* key: 0x2106 */ 0xffff,
- /* key: 0x2107 */ 0xffff,
- /* key: 0x2108 */ 0xffff,
- /* key: 0x2109 */ 0xffff,
- /* key: 0x210a */ 0xffff,
- /* key: 0x210b */ 0xffff,
- /* key: 0x210c */ 0xffff,
- /* key: 0x210d */ 0xffff,
- /* key: 0x210e */ 0xffff,
- /* key: 0x210f */ 0xffff,
- /* key: 0x2110 */ 0xffff,
- /* key: 0x2111 */ 0xffff,
- /* key: 0x2112 */ 0xffff,
- /* key: 0x2113 */ 0xffff,
- /* key: 0x2114 */ 0xffff,
- /* key: 0x2115 */ 0xffff,
- /* key: 0x2116 */ 0xa271,
- /* key: 0x2117 */ 0xffff,
- /* key: 0x2118 */ 0xffff,
- /* key: 0x2119 */ 0xffff,
- /* key: 0x211a */ 0xffff,
- /* key: 0x211b */ 0xffff,
- /* key: 0x211c */ 0xffff,
- /* key: 0x211d */ 0xffff,
- /* key: 0x211e */ 0xffff,
- /* key: 0x211f */ 0xffff,
- /* key: 0x2120 */ 0xffff,
- /* key: 0x2121 */ 0xffff,
- /* key: 0x2122 */ 0xa26f,
- /* key: 0x2123 */ 0xffff,
- /* key: 0x2124 */ 0xffff,
- /* key: 0x2125 */ 0xffff,
- /* key: 0x2126 */ 0xffff,
- /* key: 0x2127 */ 0xffff,
- /* key: 0x2128 */ 0xffff,
- /* key: 0x2129 */ 0xffff,
- /* key: 0x212a */ 0xffff,
- /* key: 0x212b */ 0x2272,
- /* key: 0x212c */ 0xffff,
- /* key: 0x212d */ 0xffff,
- /* key: 0x212e */ 0xffff,
- /* key: 0x212f */ 0xffff,
- /* key: 0x2190 */ 0x222b,
- /* key: 0x2191 */ 0x222c,
- /* key: 0x2192 */ 0x222a,
- /* key: 0x2193 */ 0x222d,
- /* key: 0x2194 */ 0xffff,
- /* key: 0x2195 */ 0xffff,
- /* key: 0x2196 */ 0xffff,
- /* key: 0x2197 */ 0xffff,
- /* key: 0x2198 */ 0xffff,
- /* key: 0x2199 */ 0xffff,
- /* key: 0x219a */ 0xffff,
- /* key: 0x219b */ 0xffff,
- /* key: 0x219c */ 0xffff,
- /* key: 0x219d */ 0xffff,
- /* key: 0x219e */ 0xffff,
- /* key: 0x219f */ 0xffff,
- /* key: 0x21d0 */ 0xffff,
- /* key: 0x21d1 */ 0xffff,
- /* key: 0x21d2 */ 0x224d,
- /* key: 0x21d3 */ 0xffff,
- /* key: 0x21d4 */ 0x224e,
- /* key: 0x21d5 */ 0xffff,
- /* key: 0x21d6 */ 0xffff,
- /* key: 0x21d7 */ 0xffff,
- /* key: 0x21d8 */ 0xffff,
- /* key: 0x21d9 */ 0xffff,
- /* key: 0x21da */ 0xffff,
- /* key: 0x21db */ 0xffff,
- /* key: 0x21dc */ 0xffff,
- /* key: 0x21dd */ 0xffff,
- /* key: 0x21de */ 0xffff,
- /* key: 0x21df */ 0xffff,
- /* branch: 0x220X */ 912,
- /* branch: 0x221X */ 928,
- /* branch: 0x222X */ 944,
- /* branch: 0x223X */ 960,
- /* branch: 0x224X */ 0,
- /* branch: 0x225X */ 976,
- /* branch: 0x226X */ 992,
- /* branch: 0x227X */ 0,
- /* branch: 0x228X */ 1008,
- /* branch: 0x229X */ 0,
- /* branch: 0x22aX */ 1024,
- /* branch: 0x22bX */ 0,
- /* branch: 0x22cX */ 0,
- /* branch: 0x22dX */ 0,
- /* branch: 0x22eX */ 0,
- /* branch: 0x22fX */ 0,
- /* key: 0x2200 */ 0x224f,
- /* key: 0x2201 */ 0xffff,
- /* key: 0x2202 */ 0x225f,
- /* key: 0x2203 */ 0x2250,
- /* key: 0x2204 */ 0xffff,
- /* key: 0x2205 */ 0xffff,
- /* key: 0x2206 */ 0xffff,
- /* key: 0x2207 */ 0x2260,
- /* key: 0x2208 */ 0x223a,
- /* key: 0x2209 */ 0xffff,
- /* key: 0x220a */ 0xffff,
- /* key: 0x220b */ 0x223b,
- /* key: 0x220c */ 0xffff,
- /* key: 0x220d */ 0xffff,
- /* key: 0x220e */ 0xffff,
- /* key: 0x220f */ 0xffff,
- /* key: 0x2210 */ 0xffff,
- /* key: 0x2211 */ 0xffff,
- /* key: 0x2212 */ 0x215d,
- /* key: 0x2213 */ 0xffff,
- /* key: 0x2214 */ 0xffff,
- /* key: 0x2215 */ 0xffff,
- /* key: 0x2216 */ 0xffff,
- /* key: 0x2217 */ 0xffff,
- /* key: 0x2218 */ 0xffff,
- /* key: 0x2219 */ 0xffff,
- /* key: 0x221a */ 0x2265,
- /* key: 0x221b */ 0xffff,
- /* key: 0x221c */ 0xffff,
- /* key: 0x221d */ 0x2267,
- /* key: 0x221e */ 0x2167,
- /* key: 0x221f */ 0xffff,
- /* key: 0x2220 */ 0x225c,
- /* key: 0x2221 */ 0xffff,
- /* key: 0x2222 */ 0xffff,
- /* key: 0x2223 */ 0xffff,
- /* key: 0x2224 */ 0xffff,
- /* key: 0x2225 */ 0xffff,
- /* key: 0x2226 */ 0xffff,
- /* key: 0x2227 */ 0x224a,
- /* key: 0x2228 */ 0x224b,
- /* key: 0x2229 */ 0x2241,
- /* key: 0x222a */ 0x2240,
- /* key: 0x222b */ 0x2269,
- /* key: 0x222c */ 0x226a,
- /* key: 0x222d */ 0xffff,
- /* key: 0x222e */ 0xffff,
- /* key: 0x222f */ 0xffff,
- /* key: 0x2230 */ 0xffff,
- /* key: 0x2231 */ 0xffff,
- /* key: 0x2232 */ 0xffff,
- /* key: 0x2233 */ 0xffff,
- /* key: 0x2234 */ 0x2168,
- /* key: 0x2235 */ 0x2268,
- /* key: 0x2236 */ 0xffff,
- /* key: 0x2237 */ 0xffff,
- /* key: 0x2238 */ 0xffff,
- /* key: 0x2239 */ 0xffff,
- /* key: 0x223a */ 0xffff,
- /* key: 0x223b */ 0xffff,
- /* key: 0x223c */ 0xffff,
- /* key: 0x223d */ 0x2266,
- /* key: 0x223e */ 0xffff,
- /* key: 0x223f */ 0xffff,
- /* key: 0x2250 */ 0xffff,
- /* key: 0x2251 */ 0xffff,
- /* key: 0x2252 */ 0x2262,
- /* key: 0x2253 */ 0xffff,
- /* key: 0x2254 */ 0xffff,
- /* key: 0x2255 */ 0xffff,
- /* key: 0x2256 */ 0xffff,
- /* key: 0x2257 */ 0xffff,
- /* key: 0x2258 */ 0xffff,
- /* key: 0x2259 */ 0xffff,
- /* key: 0x225a */ 0xffff,
- /* key: 0x225b */ 0xffff,
- /* key: 0x225c */ 0xffff,
- /* key: 0x225d */ 0xffff,
- /* key: 0x225e */ 0xffff,
- /* key: 0x225f */ 0xffff,
- /* key: 0x2260 */ 0x2162,
- /* key: 0x2261 */ 0x2261,
- /* key: 0x2262 */ 0xffff,
- /* key: 0x2263 */ 0xffff,
- /* key: 0x2264 */ 0xffff,
- /* key: 0x2265 */ 0xffff,
- /* key: 0x2266 */ 0x2165,
- /* key: 0x2267 */ 0x2166,
- /* key: 0x2268 */ 0xffff,
- /* key: 0x2269 */ 0xffff,
- /* key: 0x226a */ 0x2263,
- /* key: 0x226b */ 0x2264,
- /* key: 0x226c */ 0xffff,
- /* key: 0x226d */ 0xffff,
- /* key: 0x226e */ 0xffff,
- /* key: 0x226f */ 0xffff,
- /* key: 0x2280 */ 0xffff,
- /* key: 0x2281 */ 0xffff,
- /* key: 0x2282 */ 0x223e,
- /* key: 0x2283 */ 0x223f,
- /* key: 0x2284 */ 0xffff,
- /* key: 0x2285 */ 0xffff,
- /* key: 0x2286 */ 0x223c,
- /* key: 0x2287 */ 0x223d,
- /* key: 0x2288 */ 0xffff,
- /* key: 0x2289 */ 0xffff,
- /* key: 0x228a */ 0xffff,
- /* key: 0x228b */ 0xffff,
- /* key: 0x228c */ 0xffff,
- /* key: 0x228d */ 0xffff,
- /* key: 0x228e */ 0xffff,
- /* key: 0x228f */ 0xffff,
- /* key: 0x22a0 */ 0xffff,
- /* key: 0x22a1 */ 0xffff,
- /* key: 0x22a2 */ 0xffff,
- /* key: 0x22a3 */ 0xffff,
- /* key: 0x22a4 */ 0xffff,
- /* key: 0x22a5 */ 0x225d,
- /* key: 0x22a6 */ 0xffff,
- /* key: 0x22a7 */ 0xffff,
- /* key: 0x22a8 */ 0xffff,
- /* key: 0x22a9 */ 0xffff,
- /* key: 0x22aa */ 0xffff,
- /* key: 0x22ab */ 0xffff,
- /* key: 0x22ac */ 0xffff,
- /* key: 0x22ad */ 0xffff,
- /* key: 0x22ae */ 0xffff,
- /* key: 0x22af */ 0xffff,
- /* branch: 0x230X */ 0,
- /* branch: 0x231X */ 1056,
- /* branch: 0x232X */ 0,
- /* branch: 0x233X */ 0,
- /* branch: 0x234X */ 0,
- /* branch: 0x235X */ 0,
- /* branch: 0x236X */ 0,
- /* branch: 0x237X */ 0,
- /* branch: 0x238X */ 0,
- /* branch: 0x239X */ 0,
- /* branch: 0x23aX */ 0,
- /* branch: 0x23bX */ 0,
- /* branch: 0x23cX */ 0,
- /* branch: 0x23dX */ 0,
- /* branch: 0x23eX */ 0,
- /* branch: 0x23fX */ 0,
- /* key: 0x2310 */ 0xffff,
- /* key: 0x2311 */ 0xffff,
- /* key: 0x2312 */ 0x225e,
- /* key: 0x2313 */ 0xffff,
- /* key: 0x2314 */ 0xffff,
- /* key: 0x2315 */ 0xffff,
- /* key: 0x2316 */ 0xffff,
- /* key: 0x2317 */ 0xffff,
- /* key: 0x2318 */ 0xffff,
- /* key: 0x2319 */ 0xffff,
- /* key: 0x231a */ 0xffff,
- /* key: 0x231b */ 0xffff,
- /* key: 0x231c */ 0xffff,
- /* key: 0x231d */ 0xffff,
- /* key: 0x231e */ 0xffff,
- /* key: 0x231f */ 0xffff,
- /* branch: 0x250X */ 1088,
- /* branch: 0x251X */ 1104,
- /* branch: 0x252X */ 1120,
- /* branch: 0x253X */ 1136,
- /* branch: 0x254X */ 1152,
- /* branch: 0x255X */ 0,
- /* branch: 0x256X */ 0,
- /* branch: 0x257X */ 0,
- /* branch: 0x258X */ 0,
- /* branch: 0x259X */ 0,
- /* branch: 0x25aX */ 1168,
- /* branch: 0x25bX */ 1184,
- /* branch: 0x25cX */ 1200,
- /* branch: 0x25dX */ 0,
- /* branch: 0x25eX */ 1216,
- /* branch: 0x25fX */ 0,
- /* key: 0x2500 */ 0x2821,
- /* key: 0x2501 */ 0x282c,
- /* key: 0x2502 */ 0x2822,
- /* key: 0x2503 */ 0x282d,
- /* key: 0x2504 */ 0xffff,
- /* key: 0x2505 */ 0xffff,
- /* key: 0x2506 */ 0xffff,
- /* key: 0x2507 */ 0xffff,
- /* key: 0x2508 */ 0xffff,
- /* key: 0x2509 */ 0xffff,
- /* key: 0x250a */ 0xffff,
- /* key: 0x250b */ 0xffff,
- /* key: 0x250c */ 0x2823,
- /* key: 0x250d */ 0xffff,
- /* key: 0x250e */ 0xffff,
- /* key: 0x250f */ 0x282e,
- /* key: 0x2510 */ 0x2824,
- /* key: 0x2511 */ 0xffff,
- /* key: 0x2512 */ 0xffff,
- /* key: 0x2513 */ 0x282f,
- /* key: 0x2514 */ 0x2826,
- /* key: 0x2515 */ 0xffff,
- /* key: 0x2516 */ 0xffff,
- /* key: 0x2517 */ 0x2831,
- /* key: 0x2518 */ 0x2825,
- /* key: 0x2519 */ 0xffff,
- /* key: 0x251a */ 0xffff,
- /* key: 0x251b */ 0x2830,
- /* key: 0x251c */ 0x2827,
- /* key: 0x251d */ 0x283c,
- /* key: 0x251e */ 0xffff,
- /* key: 0x251f */ 0xffff,
- /* key: 0x2520 */ 0x2837,
- /* key: 0x2521 */ 0xffff,
- /* key: 0x2522 */ 0xffff,
- /* key: 0x2523 */ 0x2832,
- /* key: 0x2524 */ 0x2829,
- /* key: 0x2525 */ 0x283e,
- /* key: 0x2526 */ 0xffff,
- /* key: 0x2527 */ 0xffff,
- /* key: 0x2528 */ 0x2839,
- /* key: 0x2529 */ 0xffff,
- /* key: 0x252a */ 0xffff,
- /* key: 0x252b */ 0x2834,
- /* key: 0x252c */ 0x2828,
- /* key: 0x252d */ 0xffff,
- /* key: 0x252e */ 0xffff,
- /* key: 0x252f */ 0x2838,
- /* key: 0x2530 */ 0x283d,
- /* key: 0x2531 */ 0xffff,
- /* key: 0x2532 */ 0xffff,
- /* key: 0x2533 */ 0x2833,
- /* key: 0x2534 */ 0x282a,
- /* key: 0x2535 */ 0xffff,
- /* key: 0x2536 */ 0xffff,
- /* key: 0x2537 */ 0x283a,
- /* key: 0x2538 */ 0x283f,
- /* key: 0x2539 */ 0xffff,
- /* key: 0x253a */ 0xffff,
- /* key: 0x253b */ 0x2835,
- /* key: 0x253c */ 0x282b,
- /* key: 0x253d */ 0xffff,
- /* key: 0x253e */ 0xffff,
- /* key: 0x253f */ 0x283b,
- /* key: 0x2540 */ 0xffff,
- /* key: 0x2541 */ 0xffff,
- /* key: 0x2542 */ 0x2840,
- /* key: 0x2543 */ 0xffff,
- /* key: 0x2544 */ 0xffff,
- /* key: 0x2545 */ 0xffff,
- /* key: 0x2546 */ 0xffff,
- /* key: 0x2547 */ 0xffff,
- /* key: 0x2548 */ 0xffff,
- /* key: 0x2549 */ 0xffff,
- /* key: 0x254a */ 0xffff,
- /* key: 0x254b */ 0x2836,
- /* key: 0x254c */ 0xffff,
- /* key: 0x254d */ 0xffff,
- /* key: 0x254e */ 0xffff,
- /* key: 0x254f */ 0xffff,
- /* key: 0x25a0 */ 0x2223,
- /* key: 0x25a1 */ 0x2222,
- /* key: 0x25a2 */ 0xffff,
- /* key: 0x25a3 */ 0xffff,
- /* key: 0x25a4 */ 0xffff,
- /* key: 0x25a5 */ 0xffff,
- /* key: 0x25a6 */ 0xffff,
- /* key: 0x25a7 */ 0xffff,
- /* key: 0x25a8 */ 0xffff,
- /* key: 0x25a9 */ 0xffff,
- /* key: 0x25aa */ 0xffff,
- /* key: 0x25ab */ 0xffff,
- /* key: 0x25ac */ 0xffff,
- /* key: 0x25ad */ 0xffff,
- /* key: 0x25ae */ 0xffff,
- /* key: 0x25af */ 0xffff,
- /* key: 0x25b0 */ 0xffff,
- /* key: 0x25b1 */ 0xffff,
- /* key: 0x25b2 */ 0x2225,
- /* key: 0x25b3 */ 0x2224,
- /* key: 0x25b4 */ 0xffff,
- /* key: 0x25b5 */ 0xffff,
- /* key: 0x25b6 */ 0xffff,
- /* key: 0x25b7 */ 0xffff,
- /* key: 0x25b8 */ 0xffff,
- /* key: 0x25b9 */ 0xffff,
- /* key: 0x25ba */ 0xffff,
- /* key: 0x25bb */ 0xffff,
- /* key: 0x25bc */ 0x2227,
- /* key: 0x25bd */ 0x2226,
- /* key: 0x25be */ 0xffff,
- /* key: 0x25bf */ 0xffff,
- /* key: 0x25c0 */ 0xffff,
- /* key: 0x25c1 */ 0xffff,
- /* key: 0x25c2 */ 0xffff,
- /* key: 0x25c3 */ 0xffff,
- /* key: 0x25c4 */ 0xffff,
- /* key: 0x25c5 */ 0xffff,
- /* key: 0x25c6 */ 0x2221,
- /* key: 0x25c7 */ 0x217e,
- /* key: 0x25c8 */ 0xffff,
- /* key: 0x25c9 */ 0xffff,
- /* key: 0x25ca */ 0xffff,
- /* key: 0x25cb */ 0x217b,
- /* key: 0x25cc */ 0xffff,
- /* key: 0x25cd */ 0xffff,
- /* key: 0x25ce */ 0x217d,
- /* key: 0x25cf */ 0x217c,
- /* key: 0x25e0 */ 0xffff,
- /* key: 0x25e1 */ 0xffff,
- /* key: 0x25e2 */ 0xffff,
- /* key: 0x25e3 */ 0xffff,
- /* key: 0x25e4 */ 0xffff,
- /* key: 0x25e5 */ 0xffff,
- /* key: 0x25e6 */ 0xffff,
- /* key: 0x25e7 */ 0xffff,
- /* key: 0x25e8 */ 0xffff,
- /* key: 0x25e9 */ 0xffff,
- /* key: 0x25ea */ 0xffff,
- /* key: 0x25eb */ 0xffff,
- /* key: 0x25ec */ 0xffff,
- /* key: 0x25ed */ 0xffff,
- /* key: 0x25ee */ 0xffff,
- /* key: 0x25ef */ 0x227e,
- /* branch: 0x260X */ 1248,
- /* branch: 0x261X */ 0,
- /* branch: 0x262X */ 0,
- /* branch: 0x263X */ 0,
- /* branch: 0x264X */ 1264,
- /* branch: 0x265X */ 0,
- /* branch: 0x266X */ 1280,
- /* branch: 0x267X */ 0,
- /* branch: 0x268X */ 0,
- /* branch: 0x269X */ 0,
- /* branch: 0x26aX */ 0,
- /* branch: 0x26bX */ 0,
- /* branch: 0x26cX */ 0,
- /* branch: 0x26dX */ 0,
- /* branch: 0x26eX */ 0,
- /* branch: 0x26fX */ 0,
- /* key: 0x2600 */ 0xffff,
- /* key: 0x2601 */ 0xffff,
- /* key: 0x2602 */ 0xffff,
- /* key: 0x2603 */ 0xffff,
- /* key: 0x2604 */ 0xffff,
- /* key: 0x2605 */ 0x217a,
- /* key: 0x2606 */ 0x2179,
- /* key: 0x2607 */ 0xffff,
- /* key: 0x2608 */ 0xffff,
- /* key: 0x2609 */ 0xffff,
- /* key: 0x260a */ 0xffff,
- /* key: 0x260b */ 0xffff,
- /* key: 0x260c */ 0xffff,
- /* key: 0x260d */ 0xffff,
- /* key: 0x260e */ 0xffff,
- /* key: 0x260f */ 0xffff,
- /* key: 0x2640 */ 0x216a,
- /* key: 0x2641 */ 0xffff,
- /* key: 0x2642 */ 0x2169,
- /* key: 0x2643 */ 0xffff,
- /* key: 0x2644 */ 0xffff,
- /* key: 0x2645 */ 0xffff,
- /* key: 0x2646 */ 0xffff,
- /* key: 0x2647 */ 0xffff,
- /* key: 0x2648 */ 0xffff,
- /* key: 0x2649 */ 0xffff,
- /* key: 0x264a */ 0xffff,
- /* key: 0x264b */ 0xffff,
- /* key: 0x264c */ 0xffff,
- /* key: 0x264d */ 0xffff,
- /* key: 0x264e */ 0xffff,
- /* key: 0x264f */ 0xffff,
- /* key: 0x2660 */ 0xffff,
- /* key: 0x2661 */ 0xffff,
- /* key: 0x2662 */ 0xffff,
- /* key: 0x2663 */ 0xffff,
- /* key: 0x2664 */ 0xffff,
- /* key: 0x2665 */ 0xffff,
- /* key: 0x2666 */ 0xffff,
- /* key: 0x2667 */ 0xffff,
- /* key: 0x2668 */ 0xffff,
- /* key: 0x2669 */ 0xffff,
- /* key: 0x266a */ 0x2276,
- /* key: 0x266b */ 0xffff,
- /* key: 0x266c */ 0xffff,
- /* key: 0x266d */ 0x2275,
- /* key: 0x266e */ 0xffff,
- /* key: 0x266f */ 0x2274,
- /* branch: 0x30XX */ 1312,
- /* branch: 0x31XX */ 0,
- /* branch: 0x32XX */ 0,
- /* branch: 0x33XX */ 0,
- /* branch: 0x34XX */ 0,
- /* branch: 0x35XX */ 0,
- /* branch: 0x36XX */ 0,
- /* branch: 0x37XX */ 0,
- /* branch: 0x38XX */ 0,
- /* branch: 0x39XX */ 0,
- /* branch: 0x3aXX */ 0,
- /* branch: 0x3bXX */ 0,
- /* branch: 0x3cXX */ 0,
- /* branch: 0x3dXX */ 0,
- /* branch: 0x3eXX */ 0,
- /* branch: 0x3fXX */ 0,
- /* branch: 0x300X */ 1328,
- /* branch: 0x301X */ 1344,
- /* branch: 0x302X */ 0,
- /* branch: 0x303X */ 0,
- /* branch: 0x304X */ 1360,
- /* branch: 0x305X */ 1376,
- /* branch: 0x306X */ 1392,
- /* branch: 0x307X */ 1408,
- /* branch: 0x308X */ 1424,
- /* branch: 0x309X */ 1440,
- /* branch: 0x30aX */ 1456,
- /* branch: 0x30bX */ 1472,
- /* branch: 0x30cX */ 1488,
- /* branch: 0x30dX */ 1504,
- /* branch: 0x30eX */ 1520,
- /* branch: 0x30fX */ 1536,
- /* key: 0x3000 */ 0x2121,
- /* key: 0x3001 */ 0x2122,
- /* key: 0x3002 */ 0x2123,
- /* key: 0x3003 */ 0x2137,
- /* key: 0x3004 */ 0xffff,
- /* key: 0x3005 */ 0x2139,
- /* key: 0x3006 */ 0x213a,
- /* key: 0x3007 */ 0x213b,
- /* key: 0x3008 */ 0x2152,
- /* key: 0x3009 */ 0x2153,
- /* key: 0x300a */ 0x2154,
- /* key: 0x300b */ 0x2155,
- /* key: 0x300c */ 0x2156,
- /* key: 0x300d */ 0x2157,
- /* key: 0x300e */ 0x2158,
- /* key: 0x300f */ 0x2159,
- /* key: 0x3010 */ 0x215a,
- /* key: 0x3011 */ 0x215b,
- /* key: 0x3012 */ 0x2229,
- /* key: 0x3013 */ 0x222e,
- /* key: 0x3014 */ 0x214c,
- /* key: 0x3015 */ 0x214d,
- /* key: 0x3016 */ 0xffff,
- /* key: 0x3017 */ 0xffff,
- /* key: 0x3018 */ 0xffff,
- /* key: 0x3019 */ 0xffff,
- /* key: 0x301a */ 0xffff,
- /* key: 0x301b */ 0xffff,
- /* key: 0x301c */ 0x2141,
- /* key: 0x301d */ 0xffff,
- /* key: 0x301e */ 0xffff,
- /* key: 0x301f */ 0xffff,
- /* key: 0x3040 */ 0xffff,
- /* key: 0x3041 */ 0x2421,
- /* key: 0x3042 */ 0x2422,
- /* key: 0x3043 */ 0x2423,
- /* key: 0x3044 */ 0x2424,
- /* key: 0x3045 */ 0x2425,
- /* key: 0x3046 */ 0x2426,
- /* key: 0x3047 */ 0x2427,
- /* key: 0x3048 */ 0x2428,
- /* key: 0x3049 */ 0x2429,
- /* key: 0x304a */ 0x242a,
- /* key: 0x304b */ 0x242b,
- /* key: 0x304c */ 0x242c,
- /* key: 0x304d */ 0x242d,
- /* key: 0x304e */ 0x242e,
- /* key: 0x304f */ 0x242f,
- /* key: 0x3050 */ 0x2430,
- /* key: 0x3051 */ 0x2431,
- /* key: 0x3052 */ 0x2432,
- /* key: 0x3053 */ 0x2433,
- /* key: 0x3054 */ 0x2434,
- /* key: 0x3055 */ 0x2435,
- /* key: 0x3056 */ 0x2436,
- /* key: 0x3057 */ 0x2437,
- /* key: 0x3058 */ 0x2438,
- /* key: 0x3059 */ 0x2439,
- /* key: 0x305a */ 0x243a,
- /* key: 0x305b */ 0x243b,
- /* key: 0x305c */ 0x243c,
- /* key: 0x305d */ 0x243d,
- /* key: 0x305e */ 0x243e,
- /* key: 0x305f */ 0x243f,
- /* key: 0x3060 */ 0x2440,
- /* key: 0x3061 */ 0x2441,
- /* key: 0x3062 */ 0x2442,
- /* key: 0x3063 */ 0x2443,
- /* key: 0x3064 */ 0x2444,
- /* key: 0x3065 */ 0x2445,
- /* key: 0x3066 */ 0x2446,
- /* key: 0x3067 */ 0x2447,
- /* key: 0x3068 */ 0x2448,
- /* key: 0x3069 */ 0x2449,
- /* key: 0x306a */ 0x244a,
- /* key: 0x306b */ 0x244b,
- /* key: 0x306c */ 0x244c,
- /* key: 0x306d */ 0x244d,
- /* key: 0x306e */ 0x244e,
- /* key: 0x306f */ 0x244f,
- /* key: 0x3070 */ 0x2450,
- /* key: 0x3071 */ 0x2451,
- /* key: 0x3072 */ 0x2452,
- /* key: 0x3073 */ 0x2453,
- /* key: 0x3074 */ 0x2454,
- /* key: 0x3075 */ 0x2455,
- /* key: 0x3076 */ 0x2456,
- /* key: 0x3077 */ 0x2457,
- /* key: 0x3078 */ 0x2458,
- /* key: 0x3079 */ 0x2459,
- /* key: 0x307a */ 0x245a,
- /* key: 0x307b */ 0x245b,
- /* key: 0x307c */ 0x245c,
- /* key: 0x307d */ 0x245d,
- /* key: 0x307e */ 0x245e,
- /* key: 0x307f */ 0x245f,
- /* key: 0x3080 */ 0x2460,
- /* key: 0x3081 */ 0x2461,
- /* key: 0x3082 */ 0x2462,
- /* key: 0x3083 */ 0x2463,
- /* key: 0x3084 */ 0x2464,
- /* key: 0x3085 */ 0x2465,
- /* key: 0x3086 */ 0x2466,
- /* key: 0x3087 */ 0x2467,
- /* key: 0x3088 */ 0x2468,
- /* key: 0x3089 */ 0x2469,
- /* key: 0x308a */ 0x246a,
- /* key: 0x308b */ 0x246b,
- /* key: 0x308c */ 0x246c,
- /* key: 0x308d */ 0x246d,
- /* key: 0x308e */ 0x246e,
- /* key: 0x308f */ 0x246f,
- /* key: 0x3090 */ 0x2470,
- /* key: 0x3091 */ 0x2471,
- /* key: 0x3092 */ 0x2472,
- /* key: 0x3093 */ 0x2473,
- /* key: 0x3094 */ 0xffff,
- /* key: 0x3095 */ 0xffff,
- /* key: 0x3096 */ 0xffff,
- /* key: 0x3097 */ 0xffff,
- /* key: 0x3098 */ 0xffff,
- /* key: 0x3099 */ 0xffff,
- /* key: 0x309a */ 0xffff,
- /* key: 0x309b */ 0x212b,
- /* key: 0x309c */ 0x212c,
- /* key: 0x309d */ 0x2135,
- /* key: 0x309e */ 0x2136,
- /* key: 0x309f */ 0xffff,
- /* key: 0x30a0 */ 0xffff,
- /* key: 0x30a1 */ 0x2521,
- /* key: 0x30a2 */ 0x2522,
- /* key: 0x30a3 */ 0x2523,
- /* key: 0x30a4 */ 0x2524,
- /* key: 0x30a5 */ 0x2525,
- /* key: 0x30a6 */ 0x2526,
- /* key: 0x30a7 */ 0x2527,
- /* key: 0x30a8 */ 0x2528,
- /* key: 0x30a9 */ 0x2529,
- /* key: 0x30aa */ 0x252a,
- /* key: 0x30ab */ 0x252b,
- /* key: 0x30ac */ 0x252c,
- /* key: 0x30ad */ 0x252d,
- /* key: 0x30ae */ 0x252e,
- /* key: 0x30af */ 0x252f,
- /* key: 0x30b0 */ 0x2530,
- /* key: 0x30b1 */ 0x2531,
- /* key: 0x30b2 */ 0x2532,
- /* key: 0x30b3 */ 0x2533,
- /* key: 0x30b4 */ 0x2534,
- /* key: 0x30b5 */ 0x2535,
- /* key: 0x30b6 */ 0x2536,
- /* key: 0x30b7 */ 0x2537,
- /* key: 0x30b8 */ 0x2538,
- /* key: 0x30b9 */ 0x2539,
- /* key: 0x30ba */ 0x253a,
- /* key: 0x30bb */ 0x253b,
- /* key: 0x30bc */ 0x253c,
- /* key: 0x30bd */ 0x253d,
- /* key: 0x30be */ 0x253e,
- /* key: 0x30bf */ 0x253f,
- /* key: 0x30c0 */ 0x2540,
- /* key: 0x30c1 */ 0x2541,
- /* key: 0x30c2 */ 0x2542,
- /* key: 0x30c3 */ 0x2543,
- /* key: 0x30c4 */ 0x2544,
- /* key: 0x30c5 */ 0x2545,
- /* key: 0x30c6 */ 0x2546,
- /* key: 0x30c7 */ 0x2547,
- /* key: 0x30c8 */ 0x2548,
- /* key: 0x30c9 */ 0x2549,
- /* key: 0x30ca */ 0x254a,
- /* key: 0x30cb */ 0x254b,
- /* key: 0x30cc */ 0x254c,
- /* key: 0x30cd */ 0x254d,
- /* key: 0x30ce */ 0x254e,
- /* key: 0x30cf */ 0x254f,
- /* key: 0x30d0 */ 0x2550,
- /* key: 0x30d1 */ 0x2551,
- /* key: 0x30d2 */ 0x2552,
- /* key: 0x30d3 */ 0x2553,
- /* key: 0x30d4 */ 0x2554,
- /* key: 0x30d5 */ 0x2555,
- /* key: 0x30d6 */ 0x2556,
- /* key: 0x30d7 */ 0x2557,
- /* key: 0x30d8 */ 0x2558,
- /* key: 0x30d9 */ 0x2559,
- /* key: 0x30da */ 0x255a,
- /* key: 0x30db */ 0x255b,
- /* key: 0x30dc */ 0x255c,
- /* key: 0x30dd */ 0x255d,
- /* key: 0x30de */ 0x255e,
- /* key: 0x30df */ 0x255f,
- /* key: 0x30e0 */ 0x2560,
- /* key: 0x30e1 */ 0x2561,
- /* key: 0x30e2 */ 0x2562,
- /* key: 0x30e3 */ 0x2563,
- /* key: 0x30e4 */ 0x2564,
- /* key: 0x30e5 */ 0x2565,
- /* key: 0x30e6 */ 0x2566,
- /* key: 0x30e7 */ 0x2567,
- /* key: 0x30e8 */ 0x2568,
- /* key: 0x30e9 */ 0x2569,
- /* key: 0x30ea */ 0x256a,
- /* key: 0x30eb */ 0x256b,
- /* key: 0x30ec */ 0x256c,
- /* key: 0x30ed */ 0x256d,
- /* key: 0x30ee */ 0x256e,
- /* key: 0x30ef */ 0x256f,
- /* key: 0x30f0 */ 0x2570,
- /* key: 0x30f1 */ 0x2571,
- /* key: 0x30f2 */ 0x2572,
- /* key: 0x30f3 */ 0x2573,
- /* key: 0x30f4 */ 0x2574,
- /* key: 0x30f5 */ 0x2575,
- /* key: 0x30f6 */ 0x2576,
- /* key: 0x30f7 */ 0xffff,
- /* key: 0x30f8 */ 0xffff,
- /* key: 0x30f9 */ 0xffff,
- /* key: 0x30fa */ 0xffff,
- /* key: 0x30fb */ 0x2126,
- /* key: 0x30fc */ 0x213c,
- /* key: 0x30fd */ 0x2133,
- /* key: 0x30fe */ 0x2134,
- /* key: 0x30ff */ 0xffff,
- /* branch: 0x40XX */ 0,
- /* branch: 0x41XX */ 0,
- /* branch: 0x42XX */ 0,
- /* branch: 0x43XX */ 0,
- /* branch: 0x44XX */ 0,
- /* branch: 0x45XX */ 0,
- /* branch: 0x46XX */ 0,
- /* branch: 0x47XX */ 0,
- /* branch: 0x48XX */ 0,
- /* branch: 0x49XX */ 0,
- /* branch: 0x4aXX */ 0,
- /* branch: 0x4bXX */ 0,
- /* branch: 0x4cXX */ 0,
- /* branch: 0x4dXX */ 0,
- /* branch: 0x4eXX */ 1568,
- /* branch: 0x4fXX */ 1840,
- /* branch: 0x4e0X */ 1584,
- /* branch: 0x4e1X */ 1600,
- /* branch: 0x4e2X */ 1616,
- /* branch: 0x4e3X */ 1632,
- /* branch: 0x4e4X */ 1648,
- /* branch: 0x4e5X */ 1664,
- /* branch: 0x4e6X */ 1680,
- /* branch: 0x4e7X */ 1696,
- /* branch: 0x4e8X */ 1712,
- /* branch: 0x4e9X */ 1728,
- /* branch: 0x4eaX */ 1744,
- /* branch: 0x4ebX */ 1760,
- /* branch: 0x4ecX */ 1776,
- /* branch: 0x4edX */ 1792,
- /* branch: 0x4eeX */ 1808,
- /* branch: 0x4efX */ 1824,
- /* key: 0x4e00 */ 0x306c,
- /* key: 0x4e01 */ 0x437a,
- /* key: 0x4e02 */ 0xb021,
- /* key: 0x4e03 */ 0x3c37,
- /* key: 0x4e04 */ 0xb022,
- /* key: 0x4e05 */ 0xb023,
- /* key: 0x4e06 */ 0xffff,
- /* key: 0x4e07 */ 0x4b7c,
- /* key: 0x4e08 */ 0x3e66,
- /* key: 0x4e09 */ 0x3b30,
- /* key: 0x4e0a */ 0x3e65,
- /* key: 0x4e0b */ 0x323c,
- /* key: 0x4e0c */ 0xb024,
- /* key: 0x4e0d */ 0x4954,
- /* key: 0x4e0e */ 0x4d3f,
- /* key: 0x4e0f */ 0xffff,
- /* key: 0x4e10 */ 0x5022,
- /* key: 0x4e11 */ 0x312f,
- /* key: 0x4e12 */ 0xb025,
- /* key: 0x4e13 */ 0xffff,
- /* key: 0x4e14 */ 0x336e,
- /* key: 0x4e15 */ 0x5023,
- /* key: 0x4e16 */ 0x4024,
- /* key: 0x4e17 */ 0x5242,
- /* key: 0x4e18 */ 0x3556,
- /* key: 0x4e19 */ 0x4a3a,
- /* key: 0x4e1a */ 0xffff,
- /* key: 0x4e1b */ 0xffff,
- /* key: 0x4e1c */ 0xffff,
- /* key: 0x4e1d */ 0xffff,
- /* key: 0x4e1e */ 0x3e67,
- /* key: 0x4e1f */ 0xb026,
- /* key: 0x4e20 */ 0xffff,
- /* key: 0x4e21 */ 0x4e3e,
- /* key: 0x4e22 */ 0xffff,
- /* key: 0x4e23 */ 0xb027,
- /* key: 0x4e24 */ 0xb028,
- /* key: 0x4e25 */ 0xffff,
- /* key: 0x4e26 */ 0x4a42,
- /* key: 0x4e27 */ 0xffff,
- /* key: 0x4e28 */ 0xb029,
- /* key: 0x4e29 */ 0xffff,
- /* key: 0x4e2a */ 0x5024,
- /* key: 0x4e2b */ 0xb02a,
- /* key: 0x4e2c */ 0xffff,
- /* key: 0x4e2d */ 0x4366,
- /* key: 0x4e2e */ 0xb02b,
- /* key: 0x4e2f */ 0xb02c,
- /* key: 0x4e30 */ 0xb02d,
- /* key: 0x4e31 */ 0x5025,
- /* key: 0x4e32 */ 0x367a,
- /* key: 0x4e33 */ 0xffff,
- /* key: 0x4e34 */ 0xffff,
- /* key: 0x4e35 */ 0xb02e,
- /* key: 0x4e36 */ 0x5026,
- /* key: 0x4e37 */ 0xffff,
- /* key: 0x4e38 */ 0x345d,
- /* key: 0x4e39 */ 0x4330,
- /* key: 0x4e3a */ 0xffff,
- /* key: 0x4e3b */ 0x3c67,
- /* key: 0x4e3c */ 0x5027,
- /* key: 0x4e3d */ 0xffff,
- /* key: 0x4e3e */ 0xffff,
- /* key: 0x4e3f */ 0x5028,
- /* key: 0x4e40 */ 0xb02f,
- /* key: 0x4e41 */ 0xb030,
- /* key: 0x4e42 */ 0x5029,
- /* key: 0x4e43 */ 0x4735,
- /* key: 0x4e44 */ 0xb031,
- /* key: 0x4e45 */ 0x3557,
- /* key: 0x4e46 */ 0xffff,
- /* key: 0x4e47 */ 0xb032,
- /* key: 0x4e48 */ 0xffff,
- /* key: 0x4e49 */ 0xffff,
- /* key: 0x4e4a */ 0xffff,
- /* key: 0x4e4b */ 0x4737,
- /* key: 0x4e4c */ 0xffff,
- /* key: 0x4e4d */ 0x4663,
- /* key: 0x4e4e */ 0x3843,
- /* key: 0x4e4f */ 0x4b33,
- /* key: 0x4e50 */ 0xffff,
- /* key: 0x4e51 */ 0xb033,
- /* key: 0x4e52 */ 0xffff,
- /* key: 0x4e53 */ 0xffff,
- /* key: 0x4e54 */ 0xffff,
- /* key: 0x4e55 */ 0x6949,
- /* key: 0x4e56 */ 0x502a,
- /* key: 0x4e57 */ 0x3e68,
- /* key: 0x4e58 */ 0x502b,
- /* key: 0x4e59 */ 0x3235,
- /* key: 0x4e5a */ 0xb034,
- /* key: 0x4e5b */ 0xffff,
- /* key: 0x4e5c */ 0xb035,
- /* key: 0x4e5d */ 0x3665,
- /* key: 0x4e5e */ 0x3870,
- /* key: 0x4e5f */ 0x4c69,
- /* key: 0x4e60 */ 0xffff,
- /* key: 0x4e61 */ 0xffff,
- /* key: 0x4e62 */ 0x5626,
- /* key: 0x4e63 */ 0xb036,
- /* key: 0x4e64 */ 0xffff,
- /* key: 0x4e65 */ 0xffff,
- /* key: 0x4e66 */ 0xffff,
- /* key: 0x4e67 */ 0xffff,
- /* key: 0x4e68 */ 0xb037,
- /* key: 0x4e69 */ 0xb038,
- /* key: 0x4e6a */ 0xffff,
- /* key: 0x4e6b */ 0xffff,
- /* key: 0x4e6c */ 0xffff,
- /* key: 0x4e6d */ 0xffff,
- /* key: 0x4e6e */ 0xffff,
- /* key: 0x4e6f */ 0xffff,
- /* key: 0x4e70 */ 0xffff,
- /* key: 0x4e71 */ 0x4d70,
- /* key: 0x4e72 */ 0xffff,
- /* key: 0x4e73 */ 0x467d,
- /* key: 0x4e74 */ 0xb039,
- /* key: 0x4e75 */ 0xb03a,
- /* key: 0x4e76 */ 0xffff,
- /* key: 0x4e77 */ 0xffff,
- /* key: 0x4e78 */ 0xffff,
- /* key: 0x4e79 */ 0xb03b,
- /* key: 0x4e7a */ 0xffff,
- /* key: 0x4e7b */ 0xffff,
- /* key: 0x4e7c */ 0xffff,
- /* key: 0x4e7d */ 0xffff,
- /* key: 0x4e7e */ 0x3425,
- /* key: 0x4e7f */ 0xb03c,
- /* key: 0x4e80 */ 0x3535,
- /* key: 0x4e81 */ 0xffff,
- /* key: 0x4e82 */ 0x502c,
- /* key: 0x4e83 */ 0xffff,
- /* key: 0x4e84 */ 0xffff,
- /* key: 0x4e85 */ 0x502d,
- /* key: 0x4e86 */ 0x4e3b,
- /* key: 0x4e87 */ 0xffff,
- /* key: 0x4e88 */ 0x4d3d,
- /* key: 0x4e89 */ 0x4168,
- /* key: 0x4e8a */ 0x502f,
- /* key: 0x4e8b */ 0x3b76,
- /* key: 0x4e8c */ 0x4673,
- /* key: 0x4e8d */ 0xb03d,
- /* key: 0x4e8e */ 0x5032,
- /* key: 0x4e8f */ 0xffff,
- /* key: 0x4e90 */ 0xffff,
- /* key: 0x4e91 */ 0x313e,
- /* key: 0x4e92 */ 0x385f,
- /* key: 0x4e93 */ 0xffff,
- /* key: 0x4e94 */ 0x385e,
- /* key: 0x4e95 */ 0x3066,
- /* key: 0x4e96 */ 0xb03e,
- /* key: 0x4e97 */ 0xb03f,
- /* key: 0x4e98 */ 0x4f4b,
- /* key: 0x4e99 */ 0x4f4a,
- /* key: 0x4e9a */ 0xffff,
- /* key: 0x4e9b */ 0x3a33,
- /* key: 0x4e9c */ 0x3021,
- /* key: 0x4e9d */ 0xb040,
- /* key: 0x4e9e */ 0x5033,
- /* key: 0x4e9f */ 0x5034,
- /* key: 0x4ea0 */ 0x5035,
- /* key: 0x4ea1 */ 0x4b34,
- /* key: 0x4ea2 */ 0x5036,
- /* key: 0x4ea3 */ 0xffff,
- /* key: 0x4ea4 */ 0x3872,
- /* key: 0x4ea5 */ 0x3067,
- /* key: 0x4ea6 */ 0x4b72,
- /* key: 0x4ea7 */ 0xffff,
- /* key: 0x4ea8 */ 0x357c,
- /* key: 0x4ea9 */ 0xffff,
- /* key: 0x4eaa */ 0xffff,
- /* key: 0x4eab */ 0x357d,
- /* key: 0x4eac */ 0x357e,
- /* key: 0x4ead */ 0x4462,
- /* key: 0x4eae */ 0x4e3c,
- /* key: 0x4eaf */ 0xb041,
- /* key: 0x4eb0 */ 0x5037,
- /* key: 0x4eb1 */ 0xffff,
- /* key: 0x4eb2 */ 0xffff,
- /* key: 0x4eb3 */ 0x5038,
- /* key: 0x4eb4 */ 0xffff,
- /* key: 0x4eb5 */ 0xffff,
- /* key: 0x4eb6 */ 0x5039,
- /* key: 0x4eb7 */ 0xffff,
- /* key: 0x4eb8 */ 0xffff,
- /* key: 0x4eb9 */ 0xb042,
- /* key: 0x4eba */ 0x3f4d,
- /* key: 0x4ebb */ 0xffff,
- /* key: 0x4ebc */ 0xffff,
- /* key: 0x4ebd */ 0xffff,
- /* key: 0x4ebe */ 0xffff,
- /* key: 0x4ebf */ 0xffff,
- /* key: 0x4ec0 */ 0x3d3a,
- /* key: 0x4ec1 */ 0x3f4e,
- /* key: 0x4ec2 */ 0x503e,
- /* key: 0x4ec3 */ 0xb043,
- /* key: 0x4ec4 */ 0x503c,
- /* key: 0x4ec5 */ 0xffff,
- /* key: 0x4ec6 */ 0x503d,
- /* key: 0x4ec7 */ 0x3558,
- /* key: 0x4ec8 */ 0xffff,
- /* key: 0x4ec9 */ 0xffff,
- /* key: 0x4eca */ 0x3a23,
- /* key: 0x4ecb */ 0x3270,
- /* key: 0x4ecc */ 0xffff,
- /* key: 0x4ecd */ 0x503b,
- /* key: 0x4ece */ 0x503a,
- /* key: 0x4ecf */ 0x4a29,
- /* key: 0x4ed0 */ 0xb044,
- /* key: 0x4ed1 */ 0xffff,
- /* key: 0x4ed2 */ 0xffff,
- /* key: 0x4ed3 */ 0xffff,
- /* key: 0x4ed4 */ 0x3b46,
- /* key: 0x4ed5 */ 0x3b45,
- /* key: 0x4ed6 */ 0x423e,
- /* key: 0x4ed7 */ 0x503f,
- /* key: 0x4ed8 */ 0x4955,
- /* key: 0x4ed9 */ 0x4067,
- /* key: 0x4eda */ 0xb045,
- /* key: 0x4edb */ 0xb046,
- /* key: 0x4edc */ 0xffff,
- /* key: 0x4edd */ 0x2138,
- /* key: 0x4ede */ 0x5040,
- /* key: 0x4edf */ 0x5042,
- /* key: 0x4ee0 */ 0xb047,
- /* key: 0x4ee1 */ 0xb048,
- /* key: 0x4ee2 */ 0xb049,
- /* key: 0x4ee3 */ 0x4265,
- /* key: 0x4ee4 */ 0x4e61,
- /* key: 0x4ee5 */ 0x304a,
- /* key: 0x4ee6 */ 0xffff,
- /* key: 0x4ee7 */ 0xffff,
- /* key: 0x4ee8 */ 0xb04a,
- /* key: 0x4ee9 */ 0xffff,
- /* key: 0x4eea */ 0xffff,
- /* key: 0x4eeb */ 0xffff,
- /* key: 0x4eec */ 0xffff,
- /* key: 0x4eed */ 0x5041,
- /* key: 0x4eee */ 0x323e,
- /* key: 0x4eef */ 0xb04b,
- /* key: 0x4ef0 */ 0x3644,
- /* key: 0x4ef1 */ 0xb04c,
- /* key: 0x4ef2 */ 0x4367,
- /* key: 0x4ef3 */ 0xb04d,
- /* key: 0x4ef4 */ 0xffff,
- /* key: 0x4ef5 */ 0xb04e,
- /* key: 0x4ef6 */ 0x376f,
- /* key: 0x4ef7 */ 0x5043,
- /* key: 0x4ef8 */ 0xffff,
- /* key: 0x4ef9 */ 0xffff,
- /* key: 0x4efa */ 0xffff,
- /* key: 0x4efb */ 0x4724,
- /* key: 0x4efc */ 0xffff,
- /* key: 0x4efd */ 0xb04f,
- /* key: 0x4efe */ 0xb050,
- /* key: 0x4eff */ 0xb051,
- /* branch: 0x4f0X */ 1856,
- /* branch: 0x4f1X */ 1872,
- /* branch: 0x4f2X */ 1888,
- /* branch: 0x4f3X */ 1904,
- /* branch: 0x4f4X */ 1920,
- /* branch: 0x4f5X */ 1936,
- /* branch: 0x4f6X */ 1952,
- /* branch: 0x4f7X */ 1968,
- /* branch: 0x4f8X */ 1984,
- /* branch: 0x4f9X */ 2000,
- /* branch: 0x4faX */ 2016,
- /* branch: 0x4fbX */ 2032,
- /* branch: 0x4fcX */ 2048,
- /* branch: 0x4fdX */ 2064,
- /* branch: 0x4feX */ 2080,
- /* branch: 0x4ffX */ 2096,
- /* key: 0x4f00 */ 0xb052,
- /* key: 0x4f01 */ 0x346b,
- /* key: 0x4f02 */ 0xb053,
- /* key: 0x4f03 */ 0xb054,
- /* key: 0x4f04 */ 0xffff,
- /* key: 0x4f05 */ 0xffff,
- /* key: 0x4f06 */ 0xffff,
- /* key: 0x4f07 */ 0xffff,
- /* key: 0x4f08 */ 0xb055,
- /* key: 0x4f09 */ 0x5044,
- /* key: 0x4f0a */ 0x304b,
- /* key: 0x4f0b */ 0xb056,
- /* key: 0x4f0c */ 0xb057,
- /* key: 0x4f0d */ 0x3860,
- /* key: 0x4f0e */ 0x346c,
- /* key: 0x4f0f */ 0x497a,
- /* key: 0x4f10 */ 0x4832,
- /* key: 0x4f11 */ 0x3559,
- /* key: 0x4f12 */ 0xb058,
- /* key: 0x4f13 */ 0xffff,
- /* key: 0x4f14 */ 0xffff,
- /* key: 0x4f15 */ 0xb059,
- /* key: 0x4f16 */ 0xb05a,
- /* key: 0x4f17 */ 0xb05b,
- /* key: 0x4f18 */ 0xffff,
- /* key: 0x4f19 */ 0xb05c,
- /* key: 0x4f1a */ 0x3271,
- /* key: 0x4f1b */ 0xffff,
- /* key: 0x4f1c */ 0x5067,
- /* key: 0x4f1d */ 0x4541,
- /* key: 0x4f1e */ 0xffff,
- /* key: 0x4f1f */ 0xffff,
- /* key: 0x4f20 */ 0xffff,
- /* key: 0x4f21 */ 0xffff,
- /* key: 0x4f22 */ 0xffff,
- /* key: 0x4f23 */ 0xffff,
- /* key: 0x4f24 */ 0xffff,
- /* key: 0x4f25 */ 0xffff,
- /* key: 0x4f26 */ 0xffff,
- /* key: 0x4f27 */ 0xffff,
- /* key: 0x4f28 */ 0xffff,
- /* key: 0x4f29 */ 0xffff,
- /* key: 0x4f2a */ 0xffff,
- /* key: 0x4f2b */ 0xffff,
- /* key: 0x4f2c */ 0xffff,
- /* key: 0x4f2d */ 0xffff,
- /* key: 0x4f2e */ 0xb05d,
- /* key: 0x4f2f */ 0x476c,
- /* key: 0x4f30 */ 0x5046,
- /* key: 0x4f31 */ 0xb05e,
- /* key: 0x4f32 */ 0xffff,
- /* key: 0x4f33 */ 0xb060,
- /* key: 0x4f34 */ 0x483c,
- /* key: 0x4f35 */ 0xb061,
- /* key: 0x4f36 */ 0x4e62,
- /* key: 0x4f37 */ 0xb062,
- /* key: 0x4f38 */ 0x3f2d,
- /* key: 0x4f39 */ 0xb063,
- /* key: 0x4f3a */ 0x3b47,
- /* key: 0x4f3b */ 0xb064,
- /* key: 0x4f3c */ 0x3b77,
- /* key: 0x4f3d */ 0x3240,
- /* key: 0x4f3e */ 0xb065,
- /* key: 0x4f3f */ 0xffff,
- /* key: 0x4f40 */ 0xb066,
- /* key: 0x4f41 */ 0xffff,
- /* key: 0x4f42 */ 0xb067,
- /* key: 0x4f43 */ 0x4451,
- /* key: 0x4f44 */ 0xffff,
- /* key: 0x4f45 */ 0xffff,
- /* key: 0x4f46 */ 0x4322,
- /* key: 0x4f47 */ 0x504a,
- /* key: 0x4f48 */ 0xb068,
- /* key: 0x4f49 */ 0xb069,
- /* key: 0x4f4a */ 0xffff,
- /* key: 0x4f4b */ 0xb06a,
- /* key: 0x4f4c */ 0xb06b,
- /* key: 0x4f4d */ 0x304c,
- /* key: 0x4f4e */ 0x4463,
- /* key: 0x4f4f */ 0x3d3b,
- /* key: 0x4f50 */ 0x3a34,
- /* key: 0x4f51 */ 0x4d24,
- /* key: 0x4f52 */ 0xb06c,
- /* key: 0x4f53 */ 0x424e,
- /* key: 0x4f54 */ 0xb06d,
- /* key: 0x4f55 */ 0x323f,
- /* key: 0x4f56 */ 0xb06e,
- /* key: 0x4f57 */ 0x5049,
- /* key: 0x4f58 */ 0xb06f,
- /* key: 0x4f59 */ 0x4d3e,
- /* key: 0x4f5a */ 0x5045,
- /* key: 0x4f5b */ 0x5047,
- /* key: 0x4f5c */ 0x3a6e,
- /* key: 0x4f5d */ 0x5048,
- /* key: 0x4f5e */ 0x5524,
- /* key: 0x4f5f */ 0xb070,
- /* key: 0x4f60 */ 0xb05f,
- /* key: 0x4f61 */ 0xffff,
- /* key: 0x4f62 */ 0xffff,
- /* key: 0x4f63 */ 0xb071,
- /* key: 0x4f64 */ 0xffff,
- /* key: 0x4f65 */ 0xffff,
- /* key: 0x4f66 */ 0xffff,
- /* key: 0x4f67 */ 0xffff,
- /* key: 0x4f68 */ 0xffff,
- /* key: 0x4f69 */ 0x5050,
- /* key: 0x4f6a */ 0xb072,
- /* key: 0x4f6b */ 0xffff,
- /* key: 0x4f6c */ 0xb073,
- /* key: 0x4f6d */ 0xffff,
- /* key: 0x4f6e */ 0xb074,
- /* key: 0x4f6f */ 0x5053,
- /* key: 0x4f70 */ 0x5051,
- /* key: 0x4f71 */ 0xb075,
- /* key: 0x4f72 */ 0xffff,
- /* key: 0x4f73 */ 0x3242,
- /* key: 0x4f74 */ 0xffff,
- /* key: 0x4f75 */ 0x4a3b,
- /* key: 0x4f76 */ 0x504b,
- /* key: 0x4f77 */ 0xb076,
- /* key: 0x4f78 */ 0xb077,
- /* key: 0x4f79 */ 0xb078,
- /* key: 0x4f7a */ 0xb079,
- /* key: 0x4f7b */ 0x504f,
- /* key: 0x4f7c */ 0x3873,
- /* key: 0x4f7d */ 0xb07a,
- /* key: 0x4f7e */ 0xb07b,
- /* key: 0x4f7f */ 0x3b48,
- /* key: 0x4f80 */ 0xffff,
- /* key: 0x4f81 */ 0xb07c,
- /* key: 0x4f82 */ 0xb07d,
- /* key: 0x4f83 */ 0x3426,
- /* key: 0x4f84 */ 0xb07e,
- /* key: 0x4f85 */ 0xb121,
- /* key: 0x4f86 */ 0x5054,
- /* key: 0x4f87 */ 0xffff,
- /* key: 0x4f88 */ 0x504c,
- /* key: 0x4f89 */ 0xb122,
- /* key: 0x4f8a */ 0xb123,
- /* key: 0x4f8b */ 0x4e63,
- /* key: 0x4f8c */ 0xb124,
- /* key: 0x4f8d */ 0x3b78,
- /* key: 0x4f8e */ 0xb125,
- /* key: 0x4f8f */ 0x504d,
- /* key: 0x4f90 */ 0xb126,
- /* key: 0x4f91 */ 0x5052,
- /* key: 0x4f92 */ 0xb127,
- /* key: 0x4f93 */ 0xb128,
- /* key: 0x4f94 */ 0xb129,
- /* key: 0x4f95 */ 0xffff,
- /* key: 0x4f96 */ 0x5055,
- /* key: 0x4f97 */ 0xb12a,
- /* key: 0x4f98 */ 0x504e,
- /* key: 0x4f99 */ 0xb12b,
- /* key: 0x4f9a */ 0xb12c,
- /* key: 0x4f9b */ 0x3621,
- /* key: 0x4f9c */ 0xffff,
- /* key: 0x4f9d */ 0x304d,
- /* key: 0x4f9e */ 0xb12d,
- /* key: 0x4f9f */ 0xb12e,
- /* key: 0x4fa0 */ 0x3622,
- /* key: 0x4fa1 */ 0x3241,
- /* key: 0x4fa2 */ 0xffff,
- /* key: 0x4fa3 */ 0xffff,
- /* key: 0x4fa4 */ 0xffff,
- /* key: 0x4fa5 */ 0xffff,
- /* key: 0x4fa6 */ 0xffff,
- /* key: 0x4fa7 */ 0xffff,
- /* key: 0x4fa8 */ 0xffff,
- /* key: 0x4fa9 */ 0xffff,
- /* key: 0x4faa */ 0xffff,
- /* key: 0x4fab */ 0x5525,
- /* key: 0x4fac */ 0xffff,
- /* key: 0x4fad */ 0x4b79,
- /* key: 0x4fae */ 0x496e,
- /* key: 0x4faf */ 0x3874,
- /* key: 0x4fb0 */ 0xffff,
- /* key: 0x4fb1 */ 0xffff,
- /* key: 0x4fb2 */ 0xb12f,
- /* key: 0x4fb3 */ 0xffff,
- /* key: 0x4fb4 */ 0xffff,
- /* key: 0x4fb5 */ 0x3f2f,
- /* key: 0x4fb6 */ 0x4e37,
- /* key: 0x4fb7 */ 0xb130,
- /* key: 0x4fb8 */ 0xffff,
- /* key: 0x4fb9 */ 0xb131,
- /* key: 0x4fba */ 0xffff,
- /* key: 0x4fbb */ 0xb132,
- /* key: 0x4fbc */ 0xb133,
- /* key: 0x4fbd */ 0xb134,
- /* key: 0x4fbe */ 0xb135,
- /* key: 0x4fbf */ 0x4a58,
- /* key: 0x4fc0 */ 0xb136,
- /* key: 0x4fc1 */ 0xb137,
- /* key: 0x4fc2 */ 0x3738,
- /* key: 0x4fc3 */ 0x4225,
- /* key: 0x4fc4 */ 0x3264,
- /* key: 0x4fc5 */ 0xb138,
- /* key: 0x4fc6 */ 0xb139,
- /* key: 0x4fc7 */ 0xffff,
- /* key: 0x4fc8 */ 0xb13a,
- /* key: 0x4fc9 */ 0xb13b,
- /* key: 0x4fca */ 0x3d53,
- /* key: 0x4fcb */ 0xb13c,
- /* key: 0x4fcc */ 0xb13d,
- /* key: 0x4fcd */ 0xb13e,
- /* key: 0x4fce */ 0x5059,
- /* key: 0x4fcf */ 0xb13f,
- /* key: 0x4fd0 */ 0x505e,
- /* key: 0x4fd1 */ 0x505c,
- /* key: 0x4fd2 */ 0xb140,
- /* key: 0x4fd3 */ 0xffff,
- /* key: 0x4fd4 */ 0x5057,
- /* key: 0x4fd5 */ 0xffff,
- /* key: 0x4fd6 */ 0xffff,
- /* key: 0x4fd7 */ 0x422f,
- /* key: 0x4fd8 */ 0x505a,
- /* key: 0x4fd9 */ 0xffff,
- /* key: 0x4fda */ 0x505d,
- /* key: 0x4fdb */ 0x505b,
- /* key: 0x4fdc */ 0xb141,
- /* key: 0x4fdd */ 0x4a5d,
- /* key: 0x4fde */ 0xffff,
- /* key: 0x4fdf */ 0x5058,
- /* key: 0x4fe0 */ 0xb142,
- /* key: 0x4fe1 */ 0x3f2e,
- /* key: 0x4fe2 */ 0xb143,
- /* key: 0x4fe3 */ 0x4b73,
- /* key: 0x4fe4 */ 0x505f,
- /* key: 0x4fe5 */ 0x5060,
- /* key: 0x4fe6 */ 0xffff,
- /* key: 0x4fe7 */ 0xffff,
- /* key: 0x4fe8 */ 0xffff,
- /* key: 0x4fe9 */ 0xffff,
- /* key: 0x4fea */ 0xffff,
- /* key: 0x4feb */ 0xffff,
- /* key: 0x4fec */ 0xffff,
- /* key: 0x4fed */ 0xffff,
- /* key: 0x4fee */ 0x3d24,
- /* key: 0x4fef */ 0x506d,
- /* key: 0x4ff0 */ 0xb144,
- /* key: 0x4ff1 */ 0xffff,
- /* key: 0x4ff2 */ 0xb145,
- /* key: 0x4ff3 */ 0x4750,
- /* key: 0x4ff4 */ 0xffff,
- /* key: 0x4ff5 */ 0x4936,
- /* key: 0x4ff6 */ 0x5068,
- /* key: 0x4ff7 */ 0xffff,
- /* key: 0x4ff8 */ 0x4a70,
- /* key: 0x4ff9 */ 0xffff,
- /* key: 0x4ffa */ 0x3236,
- /* key: 0x4ffb */ 0xffff,
- /* key: 0x4ffc */ 0xb146,
- /* key: 0x4ffd */ 0xb147,
- /* key: 0x4ffe */ 0x506c,
- /* key: 0x4fff */ 0xb148,
- /* branch: 0x50XX */ 2128,
- /* branch: 0x51XX */ 2400,
- /* branch: 0x52XX */ 2672,
- /* branch: 0x53XX */ 2944,
- /* branch: 0x54XX */ 3216,
- /* branch: 0x55XX */ 3488,
- /* branch: 0x56XX */ 3760,
- /* branch: 0x57XX */ 4032,
- /* branch: 0x58XX */ 4304,
- /* branch: 0x59XX */ 4576,
- /* branch: 0x5aXX */ 4848,
- /* branch: 0x5bXX */ 5120,
- /* branch: 0x5cXX */ 5392,
- /* branch: 0x5dXX */ 5664,
- /* branch: 0x5eXX */ 5936,
- /* branch: 0x5fXX */ 6208,
- /* branch: 0x500X */ 2144,
- /* branch: 0x501X */ 2160,
- /* branch: 0x502X */ 2176,
- /* branch: 0x503X */ 2192,
- /* branch: 0x504X */ 2208,
- /* branch: 0x505X */ 2224,
- /* branch: 0x506X */ 2240,
- /* branch: 0x507X */ 2256,
- /* branch: 0x508X */ 2272,
- /* branch: 0x509X */ 2288,
- /* branch: 0x50aX */ 2304,
- /* branch: 0x50bX */ 2320,
- /* branch: 0x50cX */ 2336,
- /* branch: 0x50dX */ 2352,
- /* branch: 0x50eX */ 2368,
- /* branch: 0x50fX */ 2384,
- /* key: 0x5000 */ 0xb149,
- /* key: 0x5001 */ 0xb14a,
- /* key: 0x5002 */ 0xffff,
- /* key: 0x5003 */ 0xffff,
- /* key: 0x5004 */ 0xb14b,
- /* key: 0x5005 */ 0x5066,
- /* key: 0x5006 */ 0x506f,
- /* key: 0x5007 */ 0xb14c,
- /* key: 0x5008 */ 0xffff,
- /* key: 0x5009 */ 0x4152,
- /* key: 0x500a */ 0xb14d,
- /* key: 0x500b */ 0x3844,
- /* key: 0x500c */ 0xb14e,
- /* key: 0x500d */ 0x475c,
- /* key: 0x500e */ 0xb14f,
- /* key: 0x500f */ 0x6047,
- /* key: 0x5010 */ 0xb150,
- /* key: 0x5011 */ 0x506e,
- /* key: 0x5012 */ 0x455d,
- /* key: 0x5013 */ 0xb151,
- /* key: 0x5014 */ 0x5063,
- /* key: 0x5015 */ 0xffff,
- /* key: 0x5016 */ 0x3876,
- /* key: 0x5017 */ 0xb152,
- /* key: 0x5018 */ 0xb153,
- /* key: 0x5019 */ 0x3875,
- /* key: 0x501a */ 0x5061,
- /* key: 0x501b */ 0xb154,
- /* key: 0x501c */ 0xb155,
- /* key: 0x501d */ 0xb156,
- /* key: 0x501e */ 0xb157,
- /* key: 0x501f */ 0x3c5a,
- /* key: 0x5020 */ 0xffff,
- /* key: 0x5021 */ 0x5069,
- /* key: 0x5022 */ 0xb158,
- /* key: 0x5023 */ 0x4a6f,
- /* key: 0x5024 */ 0x434d,
- /* key: 0x5025 */ 0x5065,
- /* key: 0x5026 */ 0x3771,
- /* key: 0x5027 */ 0xb159,
- /* key: 0x5028 */ 0x5062,
- /* key: 0x5029 */ 0x506a,
- /* key: 0x502a */ 0x5064,
- /* key: 0x502b */ 0x4e51,
- /* key: 0x502c */ 0x506b,
- /* key: 0x502d */ 0x4f41,
- /* key: 0x502e */ 0xb15a,
- /* key: 0x502f */ 0xffff,
- /* key: 0x5030 */ 0xb15b,
- /* key: 0x5031 */ 0xffff,
- /* key: 0x5032 */ 0xb15c,
- /* key: 0x5033 */ 0xb15d,
- /* key: 0x5034 */ 0xffff,
- /* key: 0x5035 */ 0xb15e,
- /* key: 0x5036 */ 0x3666,
- /* key: 0x5037 */ 0xffff,
- /* key: 0x5038 */ 0xffff,
- /* key: 0x5039 */ 0x3770,
- /* key: 0x503a */ 0xffff,
- /* key: 0x503b */ 0xb176,
- /* key: 0x503c */ 0xffff,
- /* key: 0x503d */ 0xffff,
- /* key: 0x503e */ 0xffff,
- /* key: 0x503f */ 0xffff,
- /* key: 0x5040 */ 0xb15f,
- /* key: 0x5041 */ 0xb160,
- /* key: 0x5042 */ 0xb161,
- /* key: 0x5043 */ 0x5070,
- /* key: 0x5044 */ 0xffff,
- /* key: 0x5045 */ 0xb162,
- /* key: 0x5046 */ 0xb163,
- /* key: 0x5047 */ 0x5071,
- /* key: 0x5048 */ 0x5075,
- /* key: 0x5049 */ 0x304e,
- /* key: 0x504a */ 0xb164,
- /* key: 0x504b */ 0xffff,
- /* key: 0x504c */ 0xb165,
- /* key: 0x504d */ 0xffff,
- /* key: 0x504e */ 0xb166,
- /* key: 0x504f */ 0x4a50,
- /* key: 0x5050 */ 0x5074,
- /* key: 0x5051 */ 0xb167,
- /* key: 0x5052 */ 0xb168,
- /* key: 0x5053 */ 0xb169,
- /* key: 0x5054 */ 0xffff,
- /* key: 0x5055 */ 0x5073,
- /* key: 0x5056 */ 0x5077,
- /* key: 0x5057 */ 0xb16a,
- /* key: 0x5058 */ 0xffff,
- /* key: 0x5059 */ 0xb16b,
- /* key: 0x505a */ 0x5076,
- /* key: 0x505b */ 0xffff,
- /* key: 0x505c */ 0x4464,
- /* key: 0x505d */ 0xffff,
- /* key: 0x505e */ 0xffff,
- /* key: 0x505f */ 0xb16c,
- /* key: 0x5060 */ 0xb16d,
- /* key: 0x5061 */ 0xffff,
- /* key: 0x5062 */ 0xb16e,
- /* key: 0x5063 */ 0xb16f,
- /* key: 0x5064 */ 0xffff,
- /* key: 0x5065 */ 0x3772,
- /* key: 0x5066 */ 0xb170,
- /* key: 0x5067 */ 0xb171,
- /* key: 0x5068 */ 0xffff,
- /* key: 0x5069 */ 0xffff,
- /* key: 0x506a */ 0xb172,
- /* key: 0x506b */ 0xffff,
- /* key: 0x506c */ 0x5078,
- /* key: 0x506d */ 0xb173,
- /* key: 0x506e */ 0xffff,
- /* key: 0x506f */ 0xffff,
- /* key: 0x5070 */ 0xb174,
- /* key: 0x5071 */ 0xb175,
- /* key: 0x5072 */ 0x3c45,
- /* key: 0x5073 */ 0xffff,
- /* key: 0x5074 */ 0x4226,
- /* key: 0x5075 */ 0x4465,
- /* key: 0x5076 */ 0x3676,
- /* key: 0x5077 */ 0xffff,
- /* key: 0x5078 */ 0x5079,
- /* key: 0x5079 */ 0xffff,
- /* key: 0x507a */ 0xffff,
- /* key: 0x507b */ 0xffff,
- /* key: 0x507c */ 0xffff,
- /* key: 0x507d */ 0x3536,
- /* key: 0x507e */ 0xffff,
- /* key: 0x507f */ 0xffff,
- /* key: 0x5080 */ 0x507a,
- /* key: 0x5081 */ 0xb177,
- /* key: 0x5082 */ 0xffff,
- /* key: 0x5083 */ 0xb178,
- /* key: 0x5084 */ 0xb179,
- /* key: 0x5085 */ 0x507c,
- /* key: 0x5086 */ 0xb17a,
- /* key: 0x5087 */ 0xffff,
- /* key: 0x5088 */ 0xffff,
- /* key: 0x5089 */ 0xffff,
- /* key: 0x508a */ 0xb17b,
- /* key: 0x508b */ 0xffff,
- /* key: 0x508c */ 0xffff,
- /* key: 0x508d */ 0x4b35,
- /* key: 0x508e */ 0xb17c,
- /* key: 0x508f */ 0xb17d,
- /* key: 0x5090 */ 0xb17e,
- /* key: 0x5091 */ 0x3766,
- /* key: 0x5092 */ 0xb221,
- /* key: 0x5093 */ 0xb222,
- /* key: 0x5094 */ 0xb223,
- /* key: 0x5095 */ 0xffff,
- /* key: 0x5096 */ 0xb224,
- /* key: 0x5097 */ 0xffff,
- /* key: 0x5098 */ 0x3b31,
- /* key: 0x5099 */ 0x4877,
- /* key: 0x509a */ 0x507b,
- /* key: 0x509b */ 0xb225,
- /* key: 0x509c */ 0xb226,
- /* key: 0x509d */ 0xffff,
- /* key: 0x509e */ 0xb227,
- /* key: 0x509f */ 0xb228,
- /* key: 0x50a0 */ 0xb229,
- /* key: 0x50a1 */ 0xb22a,
- /* key: 0x50a2 */ 0xb22b,
- /* key: 0x50a3 */ 0xffff,
- /* key: 0x50a4 */ 0xffff,
- /* key: 0x50a5 */ 0xffff,
- /* key: 0x50a6 */ 0xffff,
- /* key: 0x50a7 */ 0xffff,
- /* key: 0x50a8 */ 0xffff,
- /* key: 0x50a9 */ 0xffff,
- /* key: 0x50aa */ 0xb22c,
- /* key: 0x50ab */ 0xffff,
- /* key: 0x50ac */ 0x3a45,
- /* key: 0x50ad */ 0x4d43,
- /* key: 0x50ae */ 0xffff,
- /* key: 0x50af */ 0xb22d,
- /* key: 0x50b0 */ 0xb22e,
- /* key: 0x50b1 */ 0xffff,
- /* key: 0x50b2 */ 0x507e,
- /* key: 0x50b3 */ 0x5123,
- /* key: 0x50b4 */ 0x507d,
- /* key: 0x50b5 */ 0x3a44,
- /* key: 0x50b6 */ 0xffff,
- /* key: 0x50b7 */ 0x3d7d,
- /* key: 0x50b8 */ 0xffff,
- /* key: 0x50b9 */ 0xb22f,
- /* key: 0x50ba */ 0xb230,
- /* key: 0x50bb */ 0xffff,
- /* key: 0x50bc */ 0xffff,
- /* key: 0x50bd */ 0xb231,
- /* key: 0x50be */ 0x3739,
- /* key: 0x50bf */ 0xffff,
- /* key: 0x50c0 */ 0xb232,
- /* key: 0x50c1 */ 0xffff,
- /* key: 0x50c2 */ 0x5124,
- /* key: 0x50c3 */ 0xb233,
- /* key: 0x50c4 */ 0xb234,
- /* key: 0x50c5 */ 0x364f,
- /* key: 0x50c6 */ 0xffff,
- /* key: 0x50c7 */ 0xb235,
- /* key: 0x50c8 */ 0xffff,
- /* key: 0x50c9 */ 0x5121,
- /* key: 0x50ca */ 0x5122,
- /* key: 0x50cb */ 0xffff,
- /* key: 0x50cc */ 0xb236,
- /* key: 0x50cd */ 0x462f,
- /* key: 0x50ce */ 0xb237,
- /* key: 0x50cf */ 0x417c,
- /* key: 0x50d0 */ 0xb238,
- /* key: 0x50d1 */ 0x3623,
- /* key: 0x50d2 */ 0xffff,
- /* key: 0x50d3 */ 0xb239,
- /* key: 0x50d4 */ 0xb23a,
- /* key: 0x50d5 */ 0x4b4d,
- /* key: 0x50d6 */ 0x5125,
- /* key: 0x50d7 */ 0xffff,
- /* key: 0x50d8 */ 0xb23b,
- /* key: 0x50d9 */ 0xffff,
- /* key: 0x50da */ 0x4e3d,
- /* key: 0x50db */ 0xffff,
- /* key: 0x50dc */ 0xb23c,
- /* key: 0x50dd */ 0xb23d,
- /* key: 0x50de */ 0x5126,
- /* key: 0x50df */ 0xb23e,
- /* key: 0x50e0 */ 0xffff,
- /* key: 0x50e1 */ 0xffff,
- /* key: 0x50e2 */ 0xb23f,
- /* key: 0x50e3 */ 0x5129,
- /* key: 0x50e4 */ 0xb240,
- /* key: 0x50e5 */ 0x5127,
- /* key: 0x50e6 */ 0xb241,
- /* key: 0x50e7 */ 0x414e,
- /* key: 0x50e8 */ 0xb242,
- /* key: 0x50e9 */ 0xb243,
- /* key: 0x50ea */ 0xffff,
- /* key: 0x50eb */ 0xffff,
- /* key: 0x50ec */ 0xffff,
- /* key: 0x50ed */ 0x5128,
- /* key: 0x50ee */ 0x512a,
- /* key: 0x50ef */ 0xb244,
- /* key: 0x50f0 */ 0xffff,
- /* key: 0x50f1 */ 0xb245,
- /* key: 0x50f2 */ 0xb251,
- /* key: 0x50f3 */ 0xffff,
- /* key: 0x50f4 */ 0xffff,
- /* key: 0x50f5 */ 0x512c,
- /* key: 0x50f6 */ 0xb246,
- /* key: 0x50f7 */ 0xffff,
- /* key: 0x50f8 */ 0xffff,
- /* key: 0x50f9 */ 0x512b,
- /* key: 0x50fa */ 0xb247,
- /* key: 0x50fb */ 0x4a48,
- /* key: 0x50fc */ 0xffff,
- /* key: 0x50fd */ 0xffff,
- /* key: 0x50fe */ 0xb248,
- /* key: 0x50ff */ 0xffff,
- /* branch: 0x510X */ 2416,
- /* branch: 0x511X */ 2432,
- /* branch: 0x512X */ 2448,
- /* branch: 0x513X */ 2464,
- /* branch: 0x514X */ 2480,
- /* branch: 0x515X */ 2496,
- /* branch: 0x516X */ 2512,
- /* branch: 0x517X */ 2528,
- /* branch: 0x518X */ 2544,
- /* branch: 0x519X */ 2560,
- /* branch: 0x51aX */ 2576,
- /* branch: 0x51bX */ 2592,
- /* branch: 0x51cX */ 2608,
- /* branch: 0x51dX */ 2624,
- /* branch: 0x51eX */ 2640,
- /* branch: 0x51fX */ 2656,
- /* key: 0x5100 */ 0x3537,
- /* key: 0x5101 */ 0x512e,
- /* key: 0x5102 */ 0x512f,
- /* key: 0x5103 */ 0xb249,
- /* key: 0x5104 */ 0x322f,
- /* key: 0x5105 */ 0xffff,
- /* key: 0x5106 */ 0xb24a,
- /* key: 0x5107 */ 0xb24b,
- /* key: 0x5108 */ 0xb24c,
- /* key: 0x5109 */ 0x512d,
- /* key: 0x510a */ 0xffff,
- /* key: 0x510b */ 0xb24d,
- /* key: 0x510c */ 0xb24e,
- /* key: 0x510d */ 0xb24f,
- /* key: 0x510e */ 0xb250,
- /* key: 0x510f */ 0xffff,
- /* key: 0x5110 */ 0xb252,
- /* key: 0x5111 */ 0xffff,
- /* key: 0x5112 */ 0x3c74,
- /* key: 0x5113 */ 0xffff,
- /* key: 0x5114 */ 0x5132,
- /* key: 0x5115 */ 0x5131,
- /* key: 0x5116 */ 0x5130,
- /* key: 0x5117 */ 0xb253,
- /* key: 0x5118 */ 0x5056,
- /* key: 0x5119 */ 0xb254,
- /* key: 0x511a */ 0x5133,
- /* key: 0x511b */ 0xb255,
- /* key: 0x511c */ 0xb256,
- /* key: 0x511d */ 0xb257,
- /* key: 0x511e */ 0xb258,
- /* key: 0x511f */ 0x3d7e,
- /* key: 0x5120 */ 0xffff,
- /* key: 0x5121 */ 0x5134,
- /* key: 0x5122 */ 0xffff,
- /* key: 0x5123 */ 0xb259,
- /* key: 0x5124 */ 0xffff,
- /* key: 0x5125 */ 0xffff,
- /* key: 0x5126 */ 0xffff,
- /* key: 0x5127 */ 0xb25a,
- /* key: 0x5128 */ 0xb25b,
- /* key: 0x5129 */ 0xffff,
- /* key: 0x512a */ 0x4d25,
- /* key: 0x512b */ 0xffff,
- /* key: 0x512c */ 0xb25c,
- /* key: 0x512d */ 0xb25d,
- /* key: 0x512e */ 0xffff,
- /* key: 0x512f */ 0xb25e,
- /* key: 0x5130 */ 0xffff,
- /* key: 0x5131 */ 0xb25f,
- /* key: 0x5132 */ 0x4c59,
- /* key: 0x5133 */ 0xb260,
- /* key: 0x5134 */ 0xb261,
- /* key: 0x5135 */ 0xb262,
- /* key: 0x5136 */ 0xffff,
- /* key: 0x5137 */ 0x5136,
- /* key: 0x5138 */ 0xb263,
- /* key: 0x5139 */ 0xb264,
- /* key: 0x513a */ 0x5135,
- /* key: 0x513b */ 0x5138,
- /* key: 0x513c */ 0x5137,
- /* key: 0x513d */ 0xffff,
- /* key: 0x513e */ 0xffff,
- /* key: 0x513f */ 0x5139,
- /* key: 0x5140 */ 0x513a,
- /* key: 0x5141 */ 0x3074,
- /* key: 0x5142 */ 0xb265,
- /* key: 0x5143 */ 0x3835,
- /* key: 0x5144 */ 0x373b,
- /* key: 0x5145 */ 0x3d3c,
- /* key: 0x5146 */ 0x437b,
- /* key: 0x5147 */ 0x3624,
- /* key: 0x5148 */ 0x4068,
- /* key: 0x5149 */ 0x3877,
- /* key: 0x514a */ 0xb266,
- /* key: 0x514b */ 0x396e,
- /* key: 0x514c */ 0x513c,
- /* key: 0x514d */ 0x4c48,
- /* key: 0x514e */ 0x4546,
- /* key: 0x514f */ 0xb267,
- /* key: 0x5150 */ 0x3b79,
- /* key: 0x5151 */ 0xffff,
- /* key: 0x5152 */ 0x513b,
- /* key: 0x5153 */ 0xb268,
- /* key: 0x5154 */ 0x513d,
- /* key: 0x5155 */ 0xb269,
- /* key: 0x5156 */ 0xffff,
- /* key: 0x5157 */ 0xb26a,
- /* key: 0x5158 */ 0xb26b,
- /* key: 0x5159 */ 0xffff,
- /* key: 0x515a */ 0x455e,
- /* key: 0x515b */ 0xffff,
- /* key: 0x515c */ 0x3375,
- /* key: 0x515d */ 0xffff,
- /* key: 0x515e */ 0xffff,
- /* key: 0x515f */ 0xb26c,
- /* key: 0x5160 */ 0xffff,
- /* key: 0x5161 */ 0xffff,
- /* key: 0x5162 */ 0x513e,
- /* key: 0x5163 */ 0xffff,
- /* key: 0x5164 */ 0xb26d,
- /* key: 0x5165 */ 0x467e,
- /* key: 0x5166 */ 0xb26e,
- /* key: 0x5167 */ 0xffff,
- /* key: 0x5168 */ 0x4134,
- /* key: 0x5169 */ 0x5140,
- /* key: 0x516a */ 0x5141,
- /* key: 0x516b */ 0x482c,
- /* key: 0x516c */ 0x3878,
- /* key: 0x516d */ 0x4f3b,
- /* key: 0x516e */ 0x5142,
- /* key: 0x516f */ 0xffff,
- /* key: 0x5170 */ 0xffff,
- /* key: 0x5171 */ 0x3626,
- /* key: 0x5172 */ 0xffff,
- /* key: 0x5173 */ 0xffff,
- /* key: 0x5174 */ 0xffff,
- /* key: 0x5175 */ 0x4a3c,
- /* key: 0x5176 */ 0x4236,
- /* key: 0x5177 */ 0x3671,
- /* key: 0x5178 */ 0x4535,
- /* key: 0x5179 */ 0xffff,
- /* key: 0x517a */ 0xffff,
- /* key: 0x517b */ 0xffff,
- /* key: 0x517c */ 0x3773,
- /* key: 0x517d */ 0xffff,
- /* key: 0x517e */ 0xb26f,
- /* key: 0x517f */ 0xffff,
- /* key: 0x5180 */ 0x5143,
- /* key: 0x5181 */ 0xffff,
- /* key: 0x5182 */ 0x5144,
- /* key: 0x5183 */ 0xb270,
- /* key: 0x5184 */ 0xb271,
- /* key: 0x5185 */ 0x4662,
- /* key: 0x5186 */ 0x315f,
- /* key: 0x5187 */ 0xffff,
- /* key: 0x5188 */ 0xffff,
- /* key: 0x5189 */ 0x5147,
- /* key: 0x518a */ 0x3a7d,
- /* key: 0x518b */ 0xb272,
- /* key: 0x518c */ 0x5146,
- /* key: 0x518d */ 0x3a46,
- /* key: 0x518e */ 0xb273,
- /* key: 0x518f */ 0x5148,
- /* key: 0x5190 */ 0x666e,
- /* key: 0x5191 */ 0x5149,
- /* key: 0x5192 */ 0x4b41,
- /* key: 0x5193 */ 0x514a,
- /* key: 0x5194 */ 0xffff,
- /* key: 0x5195 */ 0x514b,
- /* key: 0x5196 */ 0x514c,
- /* key: 0x5197 */ 0x3e69,
- /* key: 0x5198 */ 0xb274,
- /* key: 0x5199 */ 0x3c4c,
- /* key: 0x519a */ 0xffff,
- /* key: 0x519b */ 0xffff,
- /* key: 0x519c */ 0xffff,
- /* key: 0x519d */ 0xb275,
- /* key: 0x519e */ 0xffff,
- /* key: 0x519f */ 0xffff,
- /* key: 0x51a0 */ 0x3427,
- /* key: 0x51a1 */ 0xb276,
- /* key: 0x51a2 */ 0x514f,
- /* key: 0x51a3 */ 0xb277,
- /* key: 0x51a4 */ 0x514d,
- /* key: 0x51a5 */ 0x4c3d,
- /* key: 0x51a6 */ 0x514e,
- /* key: 0x51a7 */ 0xffff,
- /* key: 0x51a8 */ 0x495a,
- /* key: 0x51a9 */ 0x5150,
- /* key: 0x51aa */ 0x5151,
- /* key: 0x51ab */ 0x5152,
- /* key: 0x51ac */ 0x455f,
- /* key: 0x51ad */ 0xb278,
- /* key: 0x51ae */ 0xffff,
- /* key: 0x51af */ 0xffff,
- /* key: 0x51b0 */ 0x5156,
- /* key: 0x51b1 */ 0x5154,
- /* key: 0x51b2 */ 0x5155,
- /* key: 0x51b3 */ 0x5153,
- /* key: 0x51b4 */ 0x3a63,
- /* key: 0x51b5 */ 0x5157,
- /* key: 0x51b6 */ 0x4c6a,
- /* key: 0x51b7 */ 0x4e64,
- /* key: 0x51b8 */ 0xb279,
- /* key: 0x51b9 */ 0xffff,
- /* key: 0x51ba */ 0xb27a,
- /* key: 0x51bb */ 0xffff,
- /* key: 0x51bc */ 0xb27b,
- /* key: 0x51bd */ 0x5158,
- /* key: 0x51be */ 0xb27c,
- /* key: 0x51bf */ 0xb27d,
- /* key: 0x51c0 */ 0xffff,
- /* key: 0x51c1 */ 0xffff,
- /* key: 0x51c2 */ 0xb27e,
- /* key: 0x51c3 */ 0xffff,
- /* key: 0x51c4 */ 0x4028,
- /* key: 0x51c5 */ 0x5159,
- /* key: 0x51c6 */ 0x3d5a,
- /* key: 0x51c7 */ 0xffff,
- /* key: 0x51c8 */ 0xb321,
- /* key: 0x51c9 */ 0x515a,
- /* key: 0x51ca */ 0xffff,
- /* key: 0x51cb */ 0x437c,
- /* key: 0x51cc */ 0x4e3f,
- /* key: 0x51cd */ 0x4560,
- /* key: 0x51ce */ 0xffff,
- /* key: 0x51cf */ 0xb322,
- /* key: 0x51d0 */ 0xffff,
- /* key: 0x51d1 */ 0xb323,
- /* key: 0x51d2 */ 0xb324,
- /* key: 0x51d3 */ 0xb325,
- /* key: 0x51d4 */ 0xffff,
- /* key: 0x51d5 */ 0xb326,
- /* key: 0x51d6 */ 0x5245,
- /* key: 0x51d7 */ 0xffff,
- /* key: 0x51d8 */ 0xb327,
- /* key: 0x51d9 */ 0xffff,
- /* key: 0x51da */ 0xffff,
- /* key: 0x51db */ 0x515b,
- /* key: 0x51dc */ 0x7425,
- /* key: 0x51dd */ 0x3645,
- /* key: 0x51de */ 0xb328,
- /* key: 0x51df */ 0xffff,
- /* key: 0x51e0 */ 0x515c,
- /* key: 0x51e1 */ 0x4b5e,
- /* key: 0x51e2 */ 0xb329,
- /* key: 0x51e3 */ 0xffff,
- /* key: 0x51e4 */ 0xffff,
- /* key: 0x51e5 */ 0xb32a,
- /* key: 0x51e6 */ 0x3d68,
- /* key: 0x51e7 */ 0x427c,
- /* key: 0x51e8 */ 0xffff,
- /* key: 0x51e9 */ 0x515e,
- /* key: 0x51ea */ 0x4664,
- /* key: 0x51eb */ 0xffff,
- /* key: 0x51ec */ 0xffff,
- /* key: 0x51ed */ 0x515f,
- /* key: 0x51ee */ 0xb32b,
- /* key: 0x51ef */ 0xffff,
- /* key: 0x51f0 */ 0x5160,
- /* key: 0x51f1 */ 0x332e,
- /* key: 0x51f2 */ 0xb32c,
- /* key: 0x51f3 */ 0xb32d,
- /* key: 0x51f4 */ 0xb32e,
- /* key: 0x51f5 */ 0x5161,
- /* key: 0x51f6 */ 0x3627,
- /* key: 0x51f7 */ 0xb32f,
- /* key: 0x51f8 */ 0x464c,
- /* key: 0x51f9 */ 0x317a,
- /* key: 0x51fa */ 0x3d50,
- /* key: 0x51fb */ 0xffff,
- /* key: 0x51fc */ 0xffff,
- /* key: 0x51fd */ 0x4821,
- /* key: 0x51fe */ 0x5162,
- /* key: 0x51ff */ 0xffff,
- /* branch: 0x520X */ 2688,
- /* branch: 0x521X */ 2704,
- /* branch: 0x522X */ 2720,
- /* branch: 0x523X */ 2736,
- /* branch: 0x524X */ 2752,
- /* branch: 0x525X */ 2768,
- /* branch: 0x526X */ 2784,
- /* branch: 0x527X */ 2800,
- /* branch: 0x528X */ 2816,
- /* branch: 0x529X */ 2832,
- /* branch: 0x52aX */ 2848,
- /* branch: 0x52bX */ 2864,
- /* branch: 0x52cX */ 2880,
- /* branch: 0x52dX */ 2896,
- /* branch: 0x52eX */ 2912,
- /* branch: 0x52fX */ 2928,
- /* key: 0x5200 */ 0x4561,
- /* key: 0x5201 */ 0xb330,
- /* key: 0x5202 */ 0xb331,
- /* key: 0x5203 */ 0x3f4f,
- /* key: 0x5204 */ 0x5163,
- /* key: 0x5205 */ 0xb332,
- /* key: 0x5206 */ 0x4a2c,
- /* key: 0x5207 */ 0x405a,
- /* key: 0x5208 */ 0x3422,
- /* key: 0x5209 */ 0xffff,
- /* key: 0x520a */ 0x3429,
- /* key: 0x520b */ 0x5164,
- /* key: 0x520c */ 0xffff,
- /* key: 0x520d */ 0xffff,
- /* key: 0x520e */ 0x5166,
- /* key: 0x520f */ 0xffff,
- /* key: 0x5210 */ 0xffff,
- /* key: 0x5211 */ 0x373a,
- /* key: 0x5212 */ 0xb333,
- /* key: 0x5213 */ 0xb334,
- /* key: 0x5214 */ 0x5165,
- /* key: 0x5215 */ 0xb335,
- /* key: 0x5216 */ 0xb336,
- /* key: 0x5217 */ 0x4e73,
- /* key: 0x5218 */ 0xb337,
- /* key: 0x5219 */ 0xffff,
- /* key: 0x521a */ 0xffff,
- /* key: 0x521b */ 0xffff,
- /* key: 0x521c */ 0xffff,
- /* key: 0x521d */ 0x3d69,
- /* key: 0x521e */ 0xffff,
- /* key: 0x521f */ 0xffff,
- /* key: 0x5220 */ 0xffff,
- /* key: 0x5221 */ 0xffff,
- /* key: 0x5222 */ 0xb338,
- /* key: 0x5223 */ 0xffff,
- /* key: 0x5224 */ 0x483d,
- /* key: 0x5225 */ 0x4a4c,
- /* key: 0x5226 */ 0xffff,
- /* key: 0x5227 */ 0x5167,
- /* key: 0x5228 */ 0xb339,
- /* key: 0x5229 */ 0x4d78,
- /* key: 0x522a */ 0x5168,
- /* key: 0x522b */ 0xffff,
- /* key: 0x522c */ 0xffff,
- /* key: 0x522d */ 0xffff,
- /* key: 0x522e */ 0x5169,
- /* key: 0x522f */ 0xffff,
- /* key: 0x5230 */ 0x457e,
- /* key: 0x5231 */ 0xb33a,
- /* key: 0x5232 */ 0xb33b,
- /* key: 0x5233 */ 0x516a,
- /* key: 0x5234 */ 0xffff,
- /* key: 0x5235 */ 0xb33c,
- /* key: 0x5236 */ 0x4029,
- /* key: 0x5237 */ 0x3a7e,
- /* key: 0x5238 */ 0x3774,
- /* key: 0x5239 */ 0x516b,
- /* key: 0x523a */ 0x3b49,
- /* key: 0x523b */ 0x396f,
- /* key: 0x523c */ 0xb33d,
- /* key: 0x523d */ 0xffff,
- /* key: 0x523e */ 0xffff,
- /* key: 0x523f */ 0xffff,
- /* key: 0x5240 */ 0xffff,
- /* key: 0x5241 */ 0xffff,
- /* key: 0x5242 */ 0xffff,
- /* key: 0x5243 */ 0x4466,
- /* key: 0x5244 */ 0x516d,
- /* key: 0x5245 */ 0xb33e,
- /* key: 0x5246 */ 0xffff,
- /* key: 0x5247 */ 0x4227,
- /* key: 0x5248 */ 0xffff,
- /* key: 0x5249 */ 0xb33f,
- /* key: 0x524a */ 0x3a6f,
- /* key: 0x524b */ 0x516e,
- /* key: 0x524c */ 0x516f,
- /* key: 0x524d */ 0x4130,
- /* key: 0x524e */ 0xffff,
- /* key: 0x524f */ 0x516c,
- /* key: 0x5250 */ 0xffff,
- /* key: 0x5251 */ 0xffff,
- /* key: 0x5252 */ 0xffff,
- /* key: 0x5253 */ 0xffff,
- /* key: 0x5254 */ 0x5171,
- /* key: 0x5255 */ 0xb340,
- /* key: 0x5256 */ 0x4b36,
- /* key: 0x5257 */ 0xb341,
- /* key: 0x5258 */ 0xb342,
- /* key: 0x5259 */ 0xffff,
- /* key: 0x525a */ 0xb343,
- /* key: 0x525b */ 0x3964,
- /* key: 0x525c */ 0xb344,
- /* key: 0x525d */ 0xffff,
- /* key: 0x525e */ 0x5170,
- /* key: 0x525f */ 0xb345,
- /* key: 0x5260 */ 0xb346,
- /* key: 0x5261 */ 0xb347,
- /* key: 0x5262 */ 0xffff,
- /* key: 0x5263 */ 0x3775,
- /* key: 0x5264 */ 0x3a5e,
- /* key: 0x5265 */ 0x476d,
- /* key: 0x5266 */ 0xb348,
- /* key: 0x5267 */ 0xffff,
- /* key: 0x5268 */ 0xffff,
- /* key: 0x5269 */ 0x5174,
- /* key: 0x526a */ 0x5172,
- /* key: 0x526b */ 0xffff,
- /* key: 0x526c */ 0xffff,
- /* key: 0x526d */ 0xffff,
- /* key: 0x526e */ 0xb349,
- /* key: 0x526f */ 0x497b,
- /* key: 0x5270 */ 0x3e6a,
- /* key: 0x5271 */ 0x517b,
- /* key: 0x5272 */ 0x3364,
- /* key: 0x5273 */ 0x5175,
- /* key: 0x5274 */ 0x5173,
- /* key: 0x5275 */ 0x414f,
- /* key: 0x5276 */ 0xffff,
- /* key: 0x5277 */ 0xb34a,
- /* key: 0x5278 */ 0xb34b,
- /* key: 0x5279 */ 0xb34c,
- /* key: 0x527a */ 0xffff,
- /* key: 0x527b */ 0xffff,
- /* key: 0x527c */ 0xffff,
- /* key: 0x527d */ 0x5177,
- /* key: 0x527e */ 0xffff,
- /* key: 0x527f */ 0x5176,
- /* key: 0x5280 */ 0xb34d,
- /* key: 0x5281 */ 0xffff,
- /* key: 0x5282 */ 0xb34e,
- /* key: 0x5283 */ 0x3344,
- /* key: 0x5284 */ 0xffff,
- /* key: 0x5285 */ 0xb34f,
- /* key: 0x5286 */ 0xffff,
- /* key: 0x5287 */ 0x3760,
- /* key: 0x5288 */ 0x517c,
- /* key: 0x5289 */ 0x4e2d,
- /* key: 0x528a */ 0xb350,
- /* key: 0x528b */ 0xffff,
- /* key: 0x528c */ 0xb351,
- /* key: 0x528d */ 0x5178,
- /* key: 0x528e */ 0xffff,
- /* key: 0x528f */ 0xffff,
- /* key: 0x5290 */ 0xffff,
- /* key: 0x5291 */ 0x517d,
- /* key: 0x5292 */ 0x517a,
- /* key: 0x5293 */ 0xb352,
- /* key: 0x5294 */ 0x5179,
- /* key: 0x5295 */ 0xb353,
- /* key: 0x5296 */ 0xb354,
- /* key: 0x5297 */ 0xb355,
- /* key: 0x5298 */ 0xb356,
- /* key: 0x5299 */ 0xffff,
- /* key: 0x529a */ 0xb357,
- /* key: 0x529b */ 0x4e4f,
- /* key: 0x529c */ 0xb358,
- /* key: 0x529d */ 0xffff,
- /* key: 0x529e */ 0xffff,
- /* key: 0x529f */ 0x3879,
- /* key: 0x52a0 */ 0x3243,
- /* key: 0x52a1 */ 0xffff,
- /* key: 0x52a2 */ 0xffff,
- /* key: 0x52a3 */ 0x4e74,
- /* key: 0x52a4 */ 0xb359,
- /* key: 0x52a5 */ 0xb35a,
- /* key: 0x52a6 */ 0xb35b,
- /* key: 0x52a7 */ 0xb35c,
- /* key: 0x52a8 */ 0xffff,
- /* key: 0x52a9 */ 0x3d75,
- /* key: 0x52aa */ 0x4558,
- /* key: 0x52ab */ 0x3965,
- /* key: 0x52ac */ 0x5222,
- /* key: 0x52ad */ 0x5223,
- /* key: 0x52ae */ 0xffff,
- /* key: 0x52af */ 0xb35d,
- /* key: 0x52b0 */ 0xb35e,
- /* key: 0x52b1 */ 0x4e65,
- /* key: 0x52b2 */ 0xffff,
- /* key: 0x52b3 */ 0xffff,
- /* key: 0x52b4 */ 0x4f2b,
- /* key: 0x52b5 */ 0x5225,
- /* key: 0x52b6 */ 0xb35f,
- /* key: 0x52b7 */ 0xb360,
- /* key: 0x52b8 */ 0xb361,
- /* key: 0x52b9 */ 0x387a,
- /* key: 0x52ba */ 0xb362,
- /* key: 0x52bb */ 0xb363,
- /* key: 0x52bc */ 0x5224,
- /* key: 0x52bd */ 0xb364,
- /* key: 0x52be */ 0x332f,
- /* key: 0x52bf */ 0xffff,
- /* key: 0x52c0 */ 0xb365,
- /* key: 0x52c1 */ 0x5226,
- /* key: 0x52c2 */ 0xffff,
- /* key: 0x52c3 */ 0x4b56,
- /* key: 0x52c4 */ 0xb366,
- /* key: 0x52c5 */ 0x443c,
- /* key: 0x52c6 */ 0xb367,
- /* key: 0x52c7 */ 0x4d26,
- /* key: 0x52c8 */ 0xb368,
- /* key: 0x52c9 */ 0x4a59,
- /* key: 0x52ca */ 0xffff,
- /* key: 0x52cb */ 0xffff,
- /* key: 0x52cc */ 0xb369,
- /* key: 0x52cd */ 0x5227,
- /* key: 0x52ce */ 0xffff,
- /* key: 0x52cf */ 0xb36a,
- /* key: 0x52d0 */ 0xffff,
- /* key: 0x52d1 */ 0xb36b,
- /* key: 0x52d2 */ 0x7055,
- /* key: 0x52d3 */ 0xffff,
- /* key: 0x52d4 */ 0xb36c,
- /* key: 0x52d5 */ 0x4630,
- /* key: 0x52d6 */ 0xb36d,
- /* key: 0x52d7 */ 0x5228,
- /* key: 0x52d8 */ 0x342a,
- /* key: 0x52d9 */ 0x4c33,
- /* key: 0x52da */ 0xffff,
- /* key: 0x52db */ 0xb36e,
- /* key: 0x52dc */ 0xb36f,
- /* key: 0x52dd */ 0x3e21,
- /* key: 0x52de */ 0x5229,
- /* key: 0x52df */ 0x4a67,
- /* key: 0x52e0 */ 0x522d,
- /* key: 0x52e1 */ 0xb370,
- /* key: 0x52e2 */ 0x402a,
- /* key: 0x52e3 */ 0x522a,
- /* key: 0x52e4 */ 0x3650,
- /* key: 0x52e5 */ 0xb371,
- /* key: 0x52e6 */ 0x522b,
- /* key: 0x52e7 */ 0x342b,
- /* key: 0x52e8 */ 0xb372,
- /* key: 0x52e9 */ 0xb373,
- /* key: 0x52ea */ 0xb374,
- /* key: 0x52eb */ 0xffff,
- /* key: 0x52ec */ 0xb375,
- /* key: 0x52ed */ 0xffff,
- /* key: 0x52ee */ 0xffff,
- /* key: 0x52ef */ 0xffff,
- /* key: 0x52f0 */ 0xb376,
- /* key: 0x52f1 */ 0xb377,
- /* key: 0x52f2 */ 0x372e,
- /* key: 0x52f3 */ 0x522e,
- /* key: 0x52f4 */ 0xb378,
- /* key: 0x52f5 */ 0x522f,
- /* key: 0x52f6 */ 0xb379,
- /* key: 0x52f7 */ 0xb37a,
- /* key: 0x52f8 */ 0x5230,
- /* key: 0x52f9 */ 0x5231,
- /* key: 0x52fa */ 0x3c5b,
- /* key: 0x52fb */ 0xffff,
- /* key: 0x52fc */ 0xffff,
- /* key: 0x52fd */ 0xffff,
- /* key: 0x52fe */ 0x387b,
- /* key: 0x52ff */ 0x4c5e,
- /* branch: 0x530X */ 2960,
- /* branch: 0x531X */ 2976,
- /* branch: 0x532X */ 2992,
- /* branch: 0x533X */ 3008,
- /* branch: 0x534X */ 3024,
- /* branch: 0x535X */ 3040,
- /* branch: 0x536X */ 3056,
- /* branch: 0x537X */ 3072,
- /* branch: 0x538X */ 3088,
- /* branch: 0x539X */ 3104,
- /* branch: 0x53aX */ 3120,
- /* branch: 0x53bX */ 3136,
- /* branch: 0x53cX */ 3152,
- /* branch: 0x53dX */ 3168,
- /* branch: 0x53eX */ 3184,
- /* branch: 0x53fX */ 3200,
- /* key: 0x5300 */ 0xb37b,
- /* key: 0x5301 */ 0x4c68,
- /* key: 0x5302 */ 0x4677,
- /* key: 0x5303 */ 0xb37c,
- /* key: 0x5304 */ 0xffff,
- /* key: 0x5305 */ 0x4a71,
- /* key: 0x5306 */ 0x5232,
- /* key: 0x5307 */ 0xffff,
- /* key: 0x5308 */ 0x5233,
- /* key: 0x5309 */ 0xffff,
- /* key: 0x530a */ 0xb37d,
- /* key: 0x530b */ 0xb37e,
- /* key: 0x530c */ 0xb421,
- /* key: 0x530d */ 0x5235,
- /* key: 0x530e */ 0xffff,
- /* key: 0x530f */ 0x5237,
- /* key: 0x5310 */ 0x5236,
- /* key: 0x5311 */ 0xb422,
- /* key: 0x5312 */ 0xffff,
- /* key: 0x5313 */ 0xb423,
- /* key: 0x5314 */ 0xffff,
- /* key: 0x5315 */ 0x5238,
- /* key: 0x5316 */ 0x323d,
- /* key: 0x5317 */ 0x4b4c,
- /* key: 0x5318 */ 0xb424,
- /* key: 0x5319 */ 0x3a7c,
- /* key: 0x531a */ 0x5239,
- /* key: 0x531b */ 0xb425,
- /* key: 0x531c */ 0xb426,
- /* key: 0x531d */ 0x4159,
- /* key: 0x531e */ 0xb427,
- /* key: 0x531f */ 0xb428,
- /* key: 0x5320 */ 0x3e22,
- /* key: 0x5321 */ 0x3629,
- /* key: 0x5322 */ 0xffff,
- /* key: 0x5323 */ 0x523a,
- /* key: 0x5324 */ 0xffff,
- /* key: 0x5325 */ 0xb429,
- /* key: 0x5326 */ 0xffff,
- /* key: 0x5327 */ 0xb42a,
- /* key: 0x5328 */ 0xb42b,
- /* key: 0x5329 */ 0xb42c,
- /* key: 0x532a */ 0x485b,
- /* key: 0x532b */ 0xb42d,
- /* key: 0x532c */ 0xb42e,
- /* key: 0x532d */ 0xb42f,
- /* key: 0x532e */ 0xffff,
- /* key: 0x532f */ 0x523b,
- /* key: 0x5330 */ 0xb430,
- /* key: 0x5331 */ 0x523c,
- /* key: 0x5332 */ 0xb431,
- /* key: 0x5333 */ 0x523d,
- /* key: 0x5334 */ 0xffff,
- /* key: 0x5335 */ 0xb432,
- /* key: 0x5336 */ 0xffff,
- /* key: 0x5337 */ 0xffff,
- /* key: 0x5338 */ 0x523e,
- /* key: 0x5339 */ 0x4924,
- /* key: 0x533a */ 0x3668,
- /* key: 0x533b */ 0x3065,
- /* key: 0x533c */ 0xb433,
- /* key: 0x533d */ 0xb434,
- /* key: 0x533e */ 0xb435,
- /* key: 0x533f */ 0x463f,
- /* key: 0x5340 */ 0x523f,
- /* key: 0x5341 */ 0x3d3d,
- /* key: 0x5342 */ 0xb436,
- /* key: 0x5343 */ 0x4069,
- /* key: 0x5344 */ 0xffff,
- /* key: 0x5345 */ 0x5241,
- /* key: 0x5346 */ 0x5240,
- /* key: 0x5347 */ 0x3e23,
- /* key: 0x5348 */ 0x3861,
- /* key: 0x5349 */ 0x5243,
- /* key: 0x534a */ 0x483e,
- /* key: 0x534b */ 0xb438,
- /* key: 0x534c */ 0xb437,
- /* key: 0x534d */ 0x5244,
- /* key: 0x534e */ 0xffff,
- /* key: 0x534f */ 0xffff,
- /* key: 0x5350 */ 0xffff,
- /* key: 0x5351 */ 0x485c,
- /* key: 0x5352 */ 0x4234,
- /* key: 0x5353 */ 0x426e,
- /* key: 0x5354 */ 0x3628,
- /* key: 0x5355 */ 0xffff,
- /* key: 0x5356 */ 0xffff,
- /* key: 0x5357 */ 0x466e,
- /* key: 0x5358 */ 0x4331,
- /* key: 0x5359 */ 0xb439,
- /* key: 0x535a */ 0x476e,
- /* key: 0x535b */ 0xb43a,
- /* key: 0x535c */ 0x4b4e,
- /* key: 0x535d */ 0xffff,
- /* key: 0x535e */ 0x5246,
- /* key: 0x535f */ 0xffff,
- /* key: 0x5360 */ 0x406a,
- /* key: 0x5361 */ 0xb43b,
- /* key: 0x5362 */ 0xffff,
- /* key: 0x5363 */ 0xb43c,
- /* key: 0x5364 */ 0xffff,
- /* key: 0x5365 */ 0xb43d,
- /* key: 0x5366 */ 0x3735,
- /* key: 0x5367 */ 0xffff,
- /* key: 0x5368 */ 0xffff,
- /* key: 0x5369 */ 0x5247,
- /* key: 0x536a */ 0xffff,
- /* key: 0x536b */ 0xffff,
- /* key: 0x536c */ 0xb43e,
- /* key: 0x536d */ 0xb43f,
- /* key: 0x536e */ 0x5248,
- /* key: 0x536f */ 0x312c,
- /* key: 0x5370 */ 0x3075,
- /* key: 0x5371 */ 0x346d,
- /* key: 0x5372 */ 0xb440,
- /* key: 0x5373 */ 0x4228,
- /* key: 0x5374 */ 0x3551,
- /* key: 0x5375 */ 0x4d71,
- /* key: 0x5376 */ 0xffff,
- /* key: 0x5377 */ 0x524b,
- /* key: 0x5378 */ 0x3237,
- /* key: 0x5379 */ 0xb441,
- /* key: 0x537a */ 0xffff,
- /* key: 0x537b */ 0x524a,
- /* key: 0x537c */ 0xffff,
- /* key: 0x537d */ 0xffff,
- /* key: 0x537e */ 0xb442,
- /* key: 0x537f */ 0x362a,
- /* key: 0x5380 */ 0xffff,
- /* key: 0x5381 */ 0xffff,
- /* key: 0x5382 */ 0x524c,
- /* key: 0x5383 */ 0xb443,
- /* key: 0x5384 */ 0x4c71,
- /* key: 0x5385 */ 0xffff,
- /* key: 0x5386 */ 0xffff,
- /* key: 0x5387 */ 0xb444,
- /* key: 0x5388 */ 0xb445,
- /* key: 0x5389 */ 0xffff,
- /* key: 0x538a */ 0xffff,
- /* key: 0x538b */ 0xffff,
- /* key: 0x538c */ 0xffff,
- /* key: 0x538d */ 0xffff,
- /* key: 0x538e */ 0xb446,
- /* key: 0x538f */ 0xffff,
- /* key: 0x5390 */ 0xffff,
- /* key: 0x5391 */ 0xffff,
- /* key: 0x5392 */ 0xffff,
- /* key: 0x5393 */ 0xb447,
- /* key: 0x5394 */ 0xb448,
- /* key: 0x5395 */ 0xffff,
- /* key: 0x5396 */ 0x524d,
- /* key: 0x5397 */ 0xffff,
- /* key: 0x5398 */ 0x4e52,
- /* key: 0x5399 */ 0xb449,
- /* key: 0x539a */ 0x387c,
- /* key: 0x539b */ 0xffff,
- /* key: 0x539c */ 0xffff,
- /* key: 0x539d */ 0xb44a,
- /* key: 0x539e */ 0xffff,
- /* key: 0x539f */ 0x3836,
- /* key: 0x53a0 */ 0x524e,
- /* key: 0x53a1 */ 0xb44b,
- /* key: 0x53a2 */ 0xffff,
- /* key: 0x53a3 */ 0xffff,
- /* key: 0x53a4 */ 0xb44c,
- /* key: 0x53a5 */ 0x5250,
- /* key: 0x53a6 */ 0x524f,
- /* key: 0x53a7 */ 0xffff,
- /* key: 0x53a8 */ 0x3f5f,
- /* key: 0x53a9 */ 0x3139,
- /* key: 0x53aa */ 0xb44d,
- /* key: 0x53ab */ 0xb44e,
- /* key: 0x53ac */ 0xffff,
- /* key: 0x53ad */ 0x315e,
- /* key: 0x53ae */ 0x5251,
- /* key: 0x53af */ 0xb44f,
- /* key: 0x53b0 */ 0x5252,
- /* key: 0x53b1 */ 0xffff,
- /* key: 0x53b2 */ 0xb450,
- /* key: 0x53b3 */ 0x3837,
- /* key: 0x53b4 */ 0xb451,
- /* key: 0x53b5 */ 0xb452,
- /* key: 0x53b6 */ 0x5253,
- /* key: 0x53b7 */ 0xb453,
- /* key: 0x53b8 */ 0xb454,
- /* key: 0x53b9 */ 0xffff,
- /* key: 0x53ba */ 0xb455,
- /* key: 0x53bb */ 0x356e,
- /* key: 0x53bc */ 0xffff,
- /* key: 0x53bd */ 0xb456,
- /* key: 0x53be */ 0xffff,
- /* key: 0x53bf */ 0xffff,
- /* key: 0x53c0 */ 0xb457,
- /* key: 0x53c1 */ 0xffff,
- /* key: 0x53c2 */ 0x3b32,
- /* key: 0x53c3 */ 0x5254,
- /* key: 0x53c4 */ 0xffff,
- /* key: 0x53c5 */ 0xb458,
- /* key: 0x53c6 */ 0xffff,
- /* key: 0x53c7 */ 0xffff,
- /* key: 0x53c8 */ 0x4b74,
- /* key: 0x53c9 */ 0x3a35,
- /* key: 0x53ca */ 0x355a,
- /* key: 0x53cb */ 0x4d27,
- /* key: 0x53cc */ 0x4150,
- /* key: 0x53cd */ 0x483f,
- /* key: 0x53ce */ 0x3c7d,
- /* key: 0x53cf */ 0xb459,
- /* key: 0x53d0 */ 0xffff,
- /* key: 0x53d1 */ 0xffff,
- /* key: 0x53d2 */ 0xb45a,
- /* key: 0x53d3 */ 0xb45b,
- /* key: 0x53d4 */ 0x3d47,
- /* key: 0x53d5 */ 0xb45c,
- /* key: 0x53d6 */ 0x3c68,
- /* key: 0x53d7 */ 0x3c75,
- /* key: 0x53d8 */ 0xffff,
- /* key: 0x53d9 */ 0x3d76,
- /* key: 0x53da */ 0xb45d,
- /* key: 0x53db */ 0x4840,
- /* key: 0x53dc */ 0xffff,
- /* key: 0x53dd */ 0xb45e,
- /* key: 0x53de */ 0xb45f,
- /* key: 0x53df */ 0x5257,
- /* key: 0x53e0 */ 0xb460,
- /* key: 0x53e1 */ 0x3143,
- /* key: 0x53e2 */ 0x4151,
- /* key: 0x53e3 */ 0x387d,
- /* key: 0x53e4 */ 0x3845,
- /* key: 0x53e5 */ 0x3667,
- /* key: 0x53e6 */ 0xb461,
- /* key: 0x53e7 */ 0xb462,
- /* key: 0x53e8 */ 0x525b,
- /* key: 0x53e9 */ 0x4321,
- /* key: 0x53ea */ 0x427e,
- /* key: 0x53eb */ 0x362b,
- /* key: 0x53ec */ 0x3e24,
- /* key: 0x53ed */ 0x525c,
- /* key: 0x53ee */ 0x525a,
- /* key: 0x53ef */ 0x3244,
- /* key: 0x53f0 */ 0x4266,
- /* key: 0x53f1 */ 0x3c38,
- /* key: 0x53f2 */ 0x3b4b,
- /* key: 0x53f3 */ 0x3126,
- /* key: 0x53f4 */ 0xffff,
- /* key: 0x53f5 */ 0xb463,
- /* key: 0x53f6 */ 0x3370,
- /* key: 0x53f7 */ 0x3966,
- /* key: 0x53f8 */ 0x3b4a,
- /* key: 0x53f9 */ 0xffff,
- /* key: 0x53fa */ 0x525d,
- /* key: 0x53fb */ 0xffff,
- /* key: 0x53fc */ 0xffff,
- /* key: 0x53fd */ 0xffff,
- /* key: 0x53fe */ 0xffff,
- /* key: 0x53ff */ 0xffff,
- /* branch: 0x540X */ 3232,
- /* branch: 0x541X */ 3248,
- /* branch: 0x542X */ 3264,
- /* branch: 0x543X */ 3280,
- /* branch: 0x544X */ 3296,
- /* branch: 0x545X */ 3312,
- /* branch: 0x546X */ 3328,
- /* branch: 0x547X */ 3344,
- /* branch: 0x548X */ 3360,
- /* branch: 0x549X */ 3376,
- /* branch: 0x54aX */ 3392,
- /* branch: 0x54bX */ 3408,
- /* branch: 0x54cX */ 3424,
- /* branch: 0x54dX */ 3440,
- /* branch: 0x54eX */ 3456,
- /* branch: 0x54fX */ 3472,
- /* key: 0x5400 */ 0xffff,
- /* key: 0x5401 */ 0x525e,
- /* key: 0x5402 */ 0xb464,
- /* key: 0x5403 */ 0x3549,
- /* key: 0x5404 */ 0x3346,
- /* key: 0x5405 */ 0xffff,
- /* key: 0x5406 */ 0xffff,
- /* key: 0x5407 */ 0xffff,
- /* key: 0x5408 */ 0x3967,
- /* key: 0x5409 */ 0x3548,
- /* key: 0x540a */ 0x445f,
- /* key: 0x540b */ 0x3125,
- /* key: 0x540c */ 0x4631,
- /* key: 0x540d */ 0x4c3e,
- /* key: 0x540e */ 0x3921,
- /* key: 0x540f */ 0x4d79,
- /* key: 0x5410 */ 0x4547,
- /* key: 0x5411 */ 0x387e,
- /* key: 0x5412 */ 0xffff,
- /* key: 0x5413 */ 0xb465,
- /* key: 0x5414 */ 0xffff,
- /* key: 0x5415 */ 0xffff,
- /* key: 0x5416 */ 0xffff,
- /* key: 0x5417 */ 0xffff,
- /* key: 0x5418 */ 0xffff,
- /* key: 0x5419 */ 0xffff,
- /* key: 0x541a */ 0xb466,
- /* key: 0x541b */ 0x372f,
- /* key: 0x541c */ 0xffff,
- /* key: 0x541d */ 0x5267,
- /* key: 0x541e */ 0xffff,
- /* key: 0x541f */ 0x3663,
- /* key: 0x5420 */ 0x4b4a,
- /* key: 0x5421 */ 0xb467,
- /* key: 0x5422 */ 0xffff,
- /* key: 0x5423 */ 0xffff,
- /* key: 0x5424 */ 0xffff,
- /* key: 0x5425 */ 0xffff,
- /* key: 0x5426 */ 0x485d,
- /* key: 0x5427 */ 0xb468,
- /* key: 0x5428 */ 0xb469,
- /* key: 0x5429 */ 0x5266,
- /* key: 0x542a */ 0xb46a,
- /* key: 0x542b */ 0x345e,
- /* key: 0x542c */ 0x5261,
- /* key: 0x542d */ 0x5262,
- /* key: 0x542e */ 0x5264,
- /* key: 0x542f */ 0xb46b,
- /* key: 0x5430 */ 0xffff,
- /* key: 0x5431 */ 0xb46c,
- /* key: 0x5432 */ 0xffff,
- /* key: 0x5433 */ 0xffff,
- /* key: 0x5434 */ 0xb46d,
- /* key: 0x5435 */ 0xb46e,
- /* key: 0x5436 */ 0x5265,
- /* key: 0x5437 */ 0xffff,
- /* key: 0x5438 */ 0x355b,
- /* key: 0x5439 */ 0x3f61,
- /* key: 0x543a */ 0xffff,
- /* key: 0x543b */ 0x4a2d,
- /* key: 0x543c */ 0x5263,
- /* key: 0x543d */ 0x525f,
- /* key: 0x543e */ 0x3863,
- /* key: 0x543f */ 0xffff,
- /* key: 0x5440 */ 0x5260,
- /* key: 0x5441 */ 0xffff,
- /* key: 0x5442 */ 0x4f24,
- /* key: 0x5443 */ 0xb46f,
- /* key: 0x5444 */ 0xb470,
- /* key: 0x5445 */ 0xffff,
- /* key: 0x5446 */ 0x4a72,
- /* key: 0x5447 */ 0xb471,
- /* key: 0x5448 */ 0x4468,
- /* key: 0x5449 */ 0x3862,
- /* key: 0x544a */ 0x3970,
- /* key: 0x544b */ 0xffff,
- /* key: 0x544c */ 0xffff,
- /* key: 0x544d */ 0xb472,
- /* key: 0x544e */ 0x5268,
- /* key: 0x544f */ 0xb473,
- /* key: 0x5450 */ 0xffff,
- /* key: 0x5451 */ 0x465d,
- /* key: 0x5452 */ 0xffff,
- /* key: 0x5453 */ 0xffff,
- /* key: 0x5454 */ 0xffff,
- /* key: 0x5455 */ 0xffff,
- /* key: 0x5456 */ 0xffff,
- /* key: 0x5457 */ 0xffff,
- /* key: 0x5458 */ 0xffff,
- /* key: 0x5459 */ 0xffff,
- /* key: 0x545a */ 0xffff,
- /* key: 0x545b */ 0xffff,
- /* key: 0x545c */ 0xffff,
- /* key: 0x545d */ 0xffff,
- /* key: 0x545e */ 0xb474,
- /* key: 0x545f */ 0x526c,
- /* key: 0x5460 */ 0xffff,
- /* key: 0x5461 */ 0xffff,
- /* key: 0x5462 */ 0xb475,
- /* key: 0x5463 */ 0xffff,
- /* key: 0x5464 */ 0xb476,
- /* key: 0x5465 */ 0xffff,
- /* key: 0x5466 */ 0xb477,
- /* key: 0x5467 */ 0xb478,
- /* key: 0x5468 */ 0x3c7e,
- /* key: 0x5469 */ 0xb479,
- /* key: 0x546a */ 0x3c76,
- /* key: 0x546b */ 0xb47a,
- /* key: 0x546c */ 0xffff,
- /* key: 0x546d */ 0xb47b,
- /* key: 0x546e */ 0xb47c,
- /* key: 0x546f */ 0xffff,
- /* key: 0x5470 */ 0x526f,
- /* key: 0x5471 */ 0x526d,
- /* key: 0x5472 */ 0xffff,
- /* key: 0x5473 */ 0x4c23,
- /* key: 0x5474 */ 0xb47d,
- /* key: 0x5475 */ 0x526a,
- /* key: 0x5476 */ 0x5273,
- /* key: 0x5477 */ 0x526e,
- /* key: 0x5478 */ 0xffff,
- /* key: 0x5479 */ 0xffff,
- /* key: 0x547a */ 0xffff,
- /* key: 0x547b */ 0x5271,
- /* key: 0x547c */ 0x3846,
- /* key: 0x547d */ 0x4c3f,
- /* key: 0x547e */ 0xffff,
- /* key: 0x547f */ 0xb47e,
- /* key: 0x5480 */ 0x5272,
- /* key: 0x5481 */ 0xb521,
- /* key: 0x5482 */ 0xffff,
- /* key: 0x5483 */ 0xb522,
- /* key: 0x5484 */ 0x5274,
- /* key: 0x5485 */ 0xb523,
- /* key: 0x5486 */ 0x5276,
- /* key: 0x5487 */ 0xffff,
- /* key: 0x5488 */ 0xb524,
- /* key: 0x5489 */ 0xb525,
- /* key: 0x548a */ 0xffff,
- /* key: 0x548b */ 0x3a70,
- /* key: 0x548c */ 0x4f42,
- /* key: 0x548d */ 0xb526,
- /* key: 0x548e */ 0x526b,
- /* key: 0x548f */ 0x5269,
- /* key: 0x5490 */ 0x5275,
- /* key: 0x5491 */ 0xb527,
- /* key: 0x5492 */ 0x5270,
- /* key: 0x5493 */ 0xffff,
- /* key: 0x5494 */ 0xffff,
- /* key: 0x5495 */ 0xb528,
- /* key: 0x5496 */ 0xb529,
- /* key: 0x5497 */ 0xffff,
- /* key: 0x5498 */ 0xffff,
- /* key: 0x5499 */ 0xffff,
- /* key: 0x549a */ 0xffff,
- /* key: 0x549b */ 0xffff,
- /* key: 0x549c */ 0xb52a,
- /* key: 0x549d */ 0xffff,
- /* key: 0x549e */ 0xffff,
- /* key: 0x549f */ 0xb52b,
- /* key: 0x54a0 */ 0xffff,
- /* key: 0x54a1 */ 0xb52c,
- /* key: 0x54a2 */ 0x5278,
- /* key: 0x54a3 */ 0xffff,
- /* key: 0x54a4 */ 0x5323,
- /* key: 0x54a5 */ 0x527a,
- /* key: 0x54a6 */ 0xb52d,
- /* key: 0x54a7 */ 0xb52e,
- /* key: 0x54a8 */ 0x527e,
- /* key: 0x54a9 */ 0xb52f,
- /* key: 0x54aa */ 0xb530,
- /* key: 0x54ab */ 0x5321,
- /* key: 0x54ac */ 0x527b,
- /* key: 0x54ad */ 0xb531,
- /* key: 0x54ae */ 0xb532,
- /* key: 0x54af */ 0x533e,
- /* key: 0x54b0 */ 0xffff,
- /* key: 0x54b1 */ 0xb533,
- /* key: 0x54b2 */ 0x3a69,
- /* key: 0x54b3 */ 0x3331,
- /* key: 0x54b4 */ 0xffff,
- /* key: 0x54b5 */ 0xffff,
- /* key: 0x54b6 */ 0xffff,
- /* key: 0x54b7 */ 0xb534,
- /* key: 0x54b8 */ 0x5279,
- /* key: 0x54b9 */ 0xb535,
- /* key: 0x54ba */ 0xb536,
- /* key: 0x54bb */ 0xb537,
- /* key: 0x54bc */ 0x5325,
- /* key: 0x54bd */ 0x3076,
- /* key: 0x54be */ 0x5324,
- /* key: 0x54bf */ 0xb538,
- /* key: 0x54c0 */ 0x3025,
- /* key: 0x54c1 */ 0x494a,
- /* key: 0x54c2 */ 0x5322,
- /* key: 0x54c3 */ 0xffff,
- /* key: 0x54c4 */ 0x527c,
- /* key: 0x54c5 */ 0xffff,
- /* key: 0x54c6 */ 0xb539,
- /* key: 0x54c7 */ 0x5277,
- /* key: 0x54c8 */ 0x527d,
- /* key: 0x54c9 */ 0x3a48,
- /* key: 0x54ca */ 0xb53a,
- /* key: 0x54cb */ 0xffff,
- /* key: 0x54cc */ 0xffff,
- /* key: 0x54cd */ 0xb53b,
- /* key: 0x54ce */ 0xb53c,
- /* key: 0x54cf */ 0xffff,
- /* key: 0x54d0 */ 0xffff,
- /* key: 0x54d1 */ 0xffff,
- /* key: 0x54d2 */ 0xffff,
- /* key: 0x54d3 */ 0xffff,
- /* key: 0x54d4 */ 0xffff,
- /* key: 0x54d5 */ 0xffff,
- /* key: 0x54d6 */ 0xffff,
- /* key: 0x54d7 */ 0xffff,
- /* key: 0x54d8 */ 0x5326,
- /* key: 0x54d9 */ 0xffff,
- /* key: 0x54da */ 0xffff,
- /* key: 0x54db */ 0xffff,
- /* key: 0x54dc */ 0xffff,
- /* key: 0x54dd */ 0xffff,
- /* key: 0x54de */ 0xffff,
- /* key: 0x54df */ 0xffff,
- /* key: 0x54e0 */ 0xb53d,
- /* key: 0x54e1 */ 0x3077,
- /* key: 0x54e2 */ 0x532f,
- /* key: 0x54e3 */ 0xffff,
- /* key: 0x54e4 */ 0xffff,
- /* key: 0x54e5 */ 0x5327,
- /* key: 0x54e6 */ 0x5328,
- /* key: 0x54e7 */ 0xffff,
- /* key: 0x54e8 */ 0x3e25,
- /* key: 0x54e9 */ 0x4b69,
- /* key: 0x54ea */ 0xb53e,
- /* key: 0x54eb */ 0xffff,
- /* key: 0x54ec */ 0xb53f,
- /* key: 0x54ed */ 0x532d,
- /* key: 0x54ee */ 0x532c,
- /* key: 0x54ef */ 0xb540,
- /* key: 0x54f0 */ 0xffff,
- /* key: 0x54f1 */ 0xffff,
- /* key: 0x54f2 */ 0x452f,
- /* key: 0x54f3 */ 0xffff,
- /* key: 0x54f4 */ 0xffff,
- /* key: 0x54f5 */ 0xffff,
- /* key: 0x54f6 */ 0xb541,
- /* key: 0x54f7 */ 0xffff,
- /* key: 0x54f8 */ 0xffff,
- /* key: 0x54f9 */ 0xffff,
- /* key: 0x54fa */ 0x532e,
- /* key: 0x54fb */ 0xffff,
- /* key: 0x54fc */ 0xb542,
- /* key: 0x54fd */ 0x532b,
- /* key: 0x54fe */ 0xb543,
- /* key: 0x54ff */ 0xb544,
- /* branch: 0x550X */ 3504,
- /* branch: 0x551X */ 3520,
- /* branch: 0x552X */ 3536,
- /* branch: 0x553X */ 3552,
- /* branch: 0x554X */ 3568,
- /* branch: 0x555X */ 3584,
- /* branch: 0x556X */ 3600,
- /* branch: 0x557X */ 3616,
- /* branch: 0x558X */ 3632,
- /* branch: 0x559X */ 3648,
- /* branch: 0x55aX */ 3664,
- /* branch: 0x55bX */ 3680,
- /* branch: 0x55cX */ 3696,
- /* branch: 0x55dX */ 3712,
- /* branch: 0x55eX */ 3728,
- /* branch: 0x55fX */ 3744,
- /* key: 0x5500 */ 0xb545,
- /* key: 0x5501 */ 0xb546,
- /* key: 0x5502 */ 0xffff,
- /* key: 0x5503 */ 0xffff,
- /* key: 0x5504 */ 0x3134,
- /* key: 0x5505 */ 0xb547,
- /* key: 0x5506 */ 0x3a36,
- /* key: 0x5507 */ 0x3f30,
- /* key: 0x5508 */ 0xb548,
- /* key: 0x5509 */ 0xb549,
- /* key: 0x550a */ 0xffff,
- /* key: 0x550b */ 0xffff,
- /* key: 0x550c */ 0xb54a,
- /* key: 0x550d */ 0xb54b,
- /* key: 0x550e */ 0xb54c,
- /* key: 0x550f */ 0x5329,
- /* key: 0x5510 */ 0x4562,
- /* key: 0x5511 */ 0xffff,
- /* key: 0x5512 */ 0xffff,
- /* key: 0x5513 */ 0xffff,
- /* key: 0x5514 */ 0x532a,
- /* key: 0x5515 */ 0xb54d,
- /* key: 0x5516 */ 0x3022,
- /* key: 0x5517 */ 0xffff,
- /* key: 0x5518 */ 0xffff,
- /* key: 0x5519 */ 0xffff,
- /* key: 0x551a */ 0xffff,
- /* key: 0x551b */ 0xffff,
- /* key: 0x551c */ 0xffff,
- /* key: 0x551d */ 0xffff,
- /* key: 0x551e */ 0xffff,
- /* key: 0x551f */ 0xffff,
- /* key: 0x5520 */ 0xffff,
- /* key: 0x5521 */ 0xffff,
- /* key: 0x5522 */ 0xffff,
- /* key: 0x5523 */ 0xffff,
- /* key: 0x5524 */ 0xffff,
- /* key: 0x5525 */ 0xffff,
- /* key: 0x5526 */ 0xffff,
- /* key: 0x5527 */ 0xffff,
- /* key: 0x5528 */ 0xffff,
- /* key: 0x5529 */ 0xffff,
- /* key: 0x552a */ 0xb54e,
- /* key: 0x552b */ 0xb54f,
- /* key: 0x552c */ 0xffff,
- /* key: 0x552d */ 0xffff,
- /* key: 0x552e */ 0x5334,
- /* key: 0x552f */ 0x4d23,
- /* key: 0x5530 */ 0xffff,
- /* key: 0x5531 */ 0x3e27,
- /* key: 0x5532 */ 0xb550,
- /* key: 0x5533 */ 0x533a,
- /* key: 0x5534 */ 0xffff,
- /* key: 0x5535 */ 0xb551,
- /* key: 0x5536 */ 0xb552,
- /* key: 0x5537 */ 0xffff,
- /* key: 0x5538 */ 0x5339,
- /* key: 0x5539 */ 0x5330,
- /* key: 0x553a */ 0xffff,
- /* key: 0x553b */ 0xb553,
- /* key: 0x553c */ 0xb554,
- /* key: 0x553d */ 0xb555,
- /* key: 0x553e */ 0x4243,
- /* key: 0x553f */ 0xffff,
- /* key: 0x5540 */ 0x5331,
- /* key: 0x5541 */ 0xb556,
- /* key: 0x5542 */ 0xffff,
- /* key: 0x5543 */ 0xffff,
- /* key: 0x5544 */ 0x426f,
- /* key: 0x5545 */ 0x5336,
- /* key: 0x5546 */ 0x3e26,
- /* key: 0x5547 */ 0xb557,
- /* key: 0x5548 */ 0xffff,
- /* key: 0x5549 */ 0xb558,
- /* key: 0x554a */ 0xb559,
- /* key: 0x554b */ 0xffff,
- /* key: 0x554c */ 0x5333,
- /* key: 0x554d */ 0xb55a,
- /* key: 0x554e */ 0xffff,
- /* key: 0x554f */ 0x4c64,
- /* key: 0x5550 */ 0xb55b,
- /* key: 0x5551 */ 0xb55c,
- /* key: 0x5552 */ 0xffff,
- /* key: 0x5553 */ 0x373c,
- /* key: 0x5554 */ 0xffff,
- /* key: 0x5555 */ 0xffff,
- /* key: 0x5556 */ 0x5337,
- /* key: 0x5557 */ 0x5338,
- /* key: 0x5558 */ 0xb55d,
- /* key: 0x5559 */ 0xffff,
- /* key: 0x555a */ 0xb55e,
- /* key: 0x555b */ 0xb55f,
- /* key: 0x555c */ 0x5335,
- /* key: 0x555d */ 0x533b,
- /* key: 0x555e */ 0xb560,
- /* key: 0x555f */ 0xffff,
- /* key: 0x5560 */ 0xb561,
- /* key: 0x5561 */ 0xb562,
- /* key: 0x5562 */ 0xffff,
- /* key: 0x5563 */ 0x5332,
- /* key: 0x5564 */ 0xb563,
- /* key: 0x5565 */ 0xffff,
- /* key: 0x5566 */ 0xb564,
- /* key: 0x5567 */ 0xffff,
- /* key: 0x5568 */ 0xffff,
- /* key: 0x5569 */ 0xffff,
- /* key: 0x556a */ 0xffff,
- /* key: 0x556b */ 0xffff,
- /* key: 0x556c */ 0xffff,
- /* key: 0x556d */ 0xffff,
- /* key: 0x556e */ 0xffff,
- /* key: 0x556f */ 0xffff,
- /* key: 0x5570 */ 0xffff,
- /* key: 0x5571 */ 0xffff,
- /* key: 0x5572 */ 0xffff,
- /* key: 0x5573 */ 0xffff,
- /* key: 0x5574 */ 0xffff,
- /* key: 0x5575 */ 0xffff,
- /* key: 0x5576 */ 0xffff,
- /* key: 0x5577 */ 0xffff,
- /* key: 0x5578 */ 0xffff,
- /* key: 0x5579 */ 0xffff,
- /* key: 0x557a */ 0xffff,
- /* key: 0x557b */ 0x5341,
- /* key: 0x557c */ 0x5346,
- /* key: 0x557d */ 0xffff,
- /* key: 0x557e */ 0x5342,
- /* key: 0x557f */ 0xb565,
- /* key: 0x5580 */ 0x533d,
- /* key: 0x5581 */ 0xb566,
- /* key: 0x5582 */ 0xb567,
- /* key: 0x5583 */ 0x5347,
- /* key: 0x5584 */ 0x4131,
- /* key: 0x5585 */ 0xffff,
- /* key: 0x5586 */ 0xb568,
- /* key: 0x5587 */ 0x5349,
- /* key: 0x5588 */ 0xb569,
- /* key: 0x5589 */ 0x3922,
- /* key: 0x558a */ 0x533f,
- /* key: 0x558b */ 0x437d,
- /* key: 0x558c */ 0xffff,
- /* key: 0x558d */ 0xffff,
- /* key: 0x558e */ 0xb56a,
- /* key: 0x558f */ 0xb56b,
- /* key: 0x5590 */ 0xffff,
- /* key: 0x5591 */ 0xb56c,
- /* key: 0x5592 */ 0xb56d,
- /* key: 0x5593 */ 0xb56e,
- /* key: 0x5594 */ 0xb56f,
- /* key: 0x5595 */ 0xffff,
- /* key: 0x5596 */ 0xffff,
- /* key: 0x5597 */ 0xb570,
- /* key: 0x5598 */ 0x5343,
- /* key: 0x5599 */ 0x533c,
- /* key: 0x559a */ 0x342d,
- /* key: 0x559b */ 0xffff,
- /* key: 0x559c */ 0x346e,
- /* key: 0x559d */ 0x3365,
- /* key: 0x559e */ 0x5344,
- /* key: 0x559f */ 0x5340,
- /* key: 0x55a0 */ 0xffff,
- /* key: 0x55a1 */ 0xffff,
- /* key: 0x55a2 */ 0xffff,
- /* key: 0x55a3 */ 0xb571,
- /* key: 0x55a4 */ 0xb572,
- /* key: 0x55a5 */ 0xffff,
- /* key: 0x55a6 */ 0xffff,
- /* key: 0x55a7 */ 0x3776,
- /* key: 0x55a8 */ 0x534a,
- /* key: 0x55a9 */ 0x5348,
- /* key: 0x55aa */ 0x4153,
- /* key: 0x55ab */ 0x354a,
- /* key: 0x55ac */ 0x362c,
- /* key: 0x55ad */ 0xb573,
- /* key: 0x55ae */ 0x5345,
- /* key: 0x55af */ 0xffff,
- /* key: 0x55b0 */ 0x3674,
- /* key: 0x55b1 */ 0xffff,
- /* key: 0x55b2 */ 0xb574,
- /* key: 0x55b3 */ 0xffff,
- /* key: 0x55b4 */ 0xffff,
- /* key: 0x55b5 */ 0xffff,
- /* key: 0x55b6 */ 0x3144,
- /* key: 0x55b7 */ 0xffff,
- /* key: 0x55b8 */ 0xffff,
- /* key: 0x55b9 */ 0xffff,
- /* key: 0x55ba */ 0xffff,
- /* key: 0x55bb */ 0xffff,
- /* key: 0x55bc */ 0xffff,
- /* key: 0x55bd */ 0xffff,
- /* key: 0x55be */ 0xffff,
- /* key: 0x55bf */ 0xb575,
- /* key: 0x55c0 */ 0xffff,
- /* key: 0x55c1 */ 0xb576,
- /* key: 0x55c2 */ 0xffff,
- /* key: 0x55c3 */ 0xb577,
- /* key: 0x55c4 */ 0x534e,
- /* key: 0x55c5 */ 0x534c,
- /* key: 0x55c6 */ 0xb578,
- /* key: 0x55c7 */ 0x5427,
- /* key: 0x55c8 */ 0xffff,
- /* key: 0x55c9 */ 0xb579,
- /* key: 0x55ca */ 0xffff,
- /* key: 0x55cb */ 0xb57a,
- /* key: 0x55cc */ 0xb57b,
- /* key: 0x55cd */ 0xffff,
- /* key: 0x55ce */ 0xb57c,
- /* key: 0x55cf */ 0xffff,
- /* key: 0x55d0 */ 0xffff,
- /* key: 0x55d1 */ 0xb57d,
- /* key: 0x55d2 */ 0xb57e,
- /* key: 0x55d3 */ 0xb621,
- /* key: 0x55d4 */ 0x5351,
- /* key: 0x55d5 */ 0xffff,
- /* key: 0x55d6 */ 0xffff,
- /* key: 0x55d7 */ 0xb622,
- /* key: 0x55d8 */ 0xb623,
- /* key: 0x55d9 */ 0xffff,
- /* key: 0x55da */ 0x534b,
- /* key: 0x55db */ 0xb624,
- /* key: 0x55dc */ 0x534f,
- /* key: 0x55dd */ 0xffff,
- /* key: 0x55de */ 0xb625,
- /* key: 0x55df */ 0x534d,
- /* key: 0x55e0 */ 0xffff,
- /* key: 0x55e1 */ 0xffff,
- /* key: 0x55e2 */ 0xb626,
- /* key: 0x55e3 */ 0x3b4c,
- /* key: 0x55e4 */ 0x5350,
- /* key: 0x55e5 */ 0xffff,
- /* key: 0x55e6 */ 0xffff,
- /* key: 0x55e7 */ 0xffff,
- /* key: 0x55e8 */ 0xffff,
- /* key: 0x55e9 */ 0xb627,
- /* key: 0x55ea */ 0xffff,
- /* key: 0x55eb */ 0xffff,
- /* key: 0x55ec */ 0xffff,
- /* key: 0x55ed */ 0xffff,
- /* key: 0x55ee */ 0xffff,
- /* key: 0x55ef */ 0xffff,
- /* key: 0x55f0 */ 0xffff,
- /* key: 0x55f1 */ 0xffff,
- /* key: 0x55f2 */ 0xffff,
- /* key: 0x55f3 */ 0xffff,
- /* key: 0x55f4 */ 0xffff,
- /* key: 0x55f5 */ 0xffff,
- /* key: 0x55f6 */ 0xb628,
- /* key: 0x55f7 */ 0x5353,
- /* key: 0x55f8 */ 0xffff,
- /* key: 0x55f9 */ 0x5358,
- /* key: 0x55fa */ 0xffff,
- /* key: 0x55fb */ 0xffff,
- /* key: 0x55fc */ 0xffff,
- /* key: 0x55fd */ 0x5356,
- /* key: 0x55fe */ 0x5355,
- /* key: 0x55ff */ 0xb629,
- /* branch: 0x560X */ 3776,
- /* branch: 0x561X */ 3792,
- /* branch: 0x562X */ 3808,
- /* branch: 0x563X */ 3824,
- /* branch: 0x564X */ 3840,
- /* branch: 0x565X */ 3856,
- /* branch: 0x566X */ 3872,
- /* branch: 0x567X */ 3888,
- /* branch: 0x568X */ 3904,
- /* branch: 0x569X */ 3920,
- /* branch: 0x56aX */ 3936,
- /* branch: 0x56bX */ 3952,
- /* branch: 0x56cX */ 3968,
- /* branch: 0x56dX */ 3984,
- /* branch: 0x56eX */ 4000,
- /* branch: 0x56fX */ 4016,
- /* key: 0x5600 */ 0xffff,
- /* key: 0x5601 */ 0xffff,
- /* key: 0x5602 */ 0xffff,
- /* key: 0x5603 */ 0xffff,
- /* key: 0x5604 */ 0xffff,
- /* key: 0x5605 */ 0xb62a,
- /* key: 0x5606 */ 0x4332,
- /* key: 0x5607 */ 0xffff,
- /* key: 0x5608 */ 0xb62b,
- /* key: 0x5609 */ 0x3245,
- /* key: 0x560a */ 0xb62c,
- /* key: 0x560b */ 0xffff,
- /* key: 0x560c */ 0xffff,
- /* key: 0x560d */ 0xb62d,
- /* key: 0x560e */ 0xb62e,
- /* key: 0x560f */ 0xb62f,
- /* key: 0x5610 */ 0xb630,
- /* key: 0x5611 */ 0xb631,
- /* key: 0x5612 */ 0xb632,
- /* key: 0x5613 */ 0xffff,
- /* key: 0x5614 */ 0x5352,
- /* key: 0x5615 */ 0xffff,
- /* key: 0x5616 */ 0x5354,
- /* key: 0x5617 */ 0x3e28,
- /* key: 0x5618 */ 0x3133,
- /* key: 0x5619 */ 0xb633,
- /* key: 0x561a */ 0xffff,
- /* key: 0x561b */ 0x5357,
- /* key: 0x561c */ 0xffff,
- /* key: 0x561d */ 0xffff,
- /* key: 0x561e */ 0xffff,
- /* key: 0x561f */ 0xffff,
- /* key: 0x5620 */ 0xffff,
- /* key: 0x5621 */ 0xffff,
- /* key: 0x5622 */ 0xffff,
- /* key: 0x5623 */ 0xffff,
- /* key: 0x5624 */ 0xffff,
- /* key: 0x5625 */ 0xffff,
- /* key: 0x5626 */ 0xffff,
- /* key: 0x5627 */ 0xffff,
- /* key: 0x5628 */ 0xffff,
- /* key: 0x5629 */ 0x325e,
- /* key: 0x562a */ 0xffff,
- /* key: 0x562b */ 0xffff,
- /* key: 0x562c */ 0xb634,
- /* key: 0x562d */ 0xffff,
- /* key: 0x562e */ 0xffff,
- /* key: 0x562f */ 0x5362,
- /* key: 0x5630 */ 0xb635,
- /* key: 0x5631 */ 0x3e7c,
- /* key: 0x5632 */ 0x535e,
- /* key: 0x5633 */ 0xb636,
- /* key: 0x5634 */ 0x535c,
- /* key: 0x5635 */ 0xb637,
- /* key: 0x5636 */ 0x535d,
- /* key: 0x5637 */ 0xb638,
- /* key: 0x5638 */ 0x535f,
- /* key: 0x5639 */ 0xb639,
- /* key: 0x563a */ 0xffff,
- /* key: 0x563b */ 0xb63a,
- /* key: 0x563c */ 0xb63b,
- /* key: 0x563d */ 0xb63c,
- /* key: 0x563e */ 0xffff,
- /* key: 0x563f */ 0xb63d,
- /* key: 0x5640 */ 0xb63e,
- /* key: 0x5641 */ 0xb63f,
- /* key: 0x5642 */ 0x313d,
- /* key: 0x5643 */ 0xb640,
- /* key: 0x5644 */ 0xb641,
- /* key: 0x5645 */ 0xffff,
- /* key: 0x5646 */ 0xb642,
- /* key: 0x5647 */ 0xffff,
- /* key: 0x5648 */ 0xffff,
- /* key: 0x5649 */ 0xb643,
- /* key: 0x564a */ 0xffff,
- /* key: 0x564b */ 0xb644,
- /* key: 0x564c */ 0x4139,
- /* key: 0x564d */ 0xb645,
- /* key: 0x564e */ 0x5359,
- /* key: 0x564f */ 0xb646,
- /* key: 0x5650 */ 0x535a,
- /* key: 0x5651 */ 0xffff,
- /* key: 0x5652 */ 0xffff,
- /* key: 0x5653 */ 0xffff,
- /* key: 0x5654 */ 0xb647,
- /* key: 0x5655 */ 0xffff,
- /* key: 0x5656 */ 0xffff,
- /* key: 0x5657 */ 0xffff,
- /* key: 0x5658 */ 0xffff,
- /* key: 0x5659 */ 0xffff,
- /* key: 0x565a */ 0xffff,
- /* key: 0x565b */ 0x337a,
- /* key: 0x565c */ 0xffff,
- /* key: 0x565d */ 0xffff,
- /* key: 0x565e */ 0xb648,
- /* key: 0x565f */ 0xffff,
- /* key: 0x5660 */ 0xb649,
- /* key: 0x5661 */ 0xb64a,
- /* key: 0x5662 */ 0xb64b,
- /* key: 0x5663 */ 0xb64c,
- /* key: 0x5664 */ 0x5361,
- /* key: 0x5665 */ 0xffff,
- /* key: 0x5666 */ 0xb64d,
- /* key: 0x5667 */ 0xffff,
- /* key: 0x5668 */ 0x346f,
- /* key: 0x5669 */ 0xb64e,
- /* key: 0x566a */ 0x5364,
- /* key: 0x566b */ 0x5360,
- /* key: 0x566c */ 0x5363,
- /* key: 0x566d */ 0xb64f,
- /* key: 0x566e */ 0xffff,
- /* key: 0x566f */ 0xb650,
- /* key: 0x5670 */ 0xffff,
- /* key: 0x5671 */ 0xb651,
- /* key: 0x5672 */ 0xb652,
- /* key: 0x5673 */ 0xffff,
- /* key: 0x5674 */ 0x4a2e,
- /* key: 0x5675 */ 0xb653,
- /* key: 0x5676 */ 0xffff,
- /* key: 0x5677 */ 0xffff,
- /* key: 0x5678 */ 0x4655,
- /* key: 0x5679 */ 0xffff,
- /* key: 0x567a */ 0x4838,
- /* key: 0x567b */ 0xffff,
- /* key: 0x567c */ 0xffff,
- /* key: 0x567d */ 0xffff,
- /* key: 0x567e */ 0xffff,
- /* key: 0x567f */ 0xffff,
- /* key: 0x5680 */ 0x5366,
- /* key: 0x5681 */ 0xffff,
- /* key: 0x5682 */ 0xffff,
- /* key: 0x5683 */ 0xffff,
- /* key: 0x5684 */ 0xb654,
- /* key: 0x5685 */ 0xb655,
- /* key: 0x5686 */ 0x5365,
- /* key: 0x5687 */ 0x3345,
- /* key: 0x5688 */ 0xb656,
- /* key: 0x5689 */ 0xffff,
- /* key: 0x568a */ 0x5367,
- /* key: 0x568b */ 0xb657,
- /* key: 0x568c */ 0xb658,
- /* key: 0x568d */ 0xffff,
- /* key: 0x568e */ 0xffff,
- /* key: 0x568f */ 0x536a,
- /* key: 0x5690 */ 0xffff,
- /* key: 0x5691 */ 0xffff,
- /* key: 0x5692 */ 0xffff,
- /* key: 0x5693 */ 0xffff,
- /* key: 0x5694 */ 0x5369,
- /* key: 0x5695 */ 0xb659,
- /* key: 0x5696 */ 0xffff,
- /* key: 0x5697 */ 0xffff,
- /* key: 0x5698 */ 0xffff,
- /* key: 0x5699 */ 0xb65a,
- /* key: 0x569a */ 0xb65b,
- /* key: 0x569b */ 0xffff,
- /* key: 0x569c */ 0xffff,
- /* key: 0x569d */ 0xb65c,
- /* key: 0x569e */ 0xb65d,
- /* key: 0x569f */ 0xb65e,
- /* key: 0x56a0 */ 0x5368,
- /* key: 0x56a1 */ 0xffff,
- /* key: 0x56a2 */ 0x4739,
- /* key: 0x56a3 */ 0xffff,
- /* key: 0x56a4 */ 0xffff,
- /* key: 0x56a5 */ 0x536b,
- /* key: 0x56a6 */ 0xb65f,
- /* key: 0x56a7 */ 0xb660,
- /* key: 0x56a8 */ 0xb661,
- /* key: 0x56a9 */ 0xb662,
- /* key: 0x56aa */ 0xffff,
- /* key: 0x56ab */ 0xb663,
- /* key: 0x56ac */ 0xb664,
- /* key: 0x56ad */ 0xb665,
- /* key: 0x56ae */ 0x536c,
- /* key: 0x56af */ 0xffff,
- /* key: 0x56b0 */ 0xffff,
- /* key: 0x56b1 */ 0xb666,
- /* key: 0x56b2 */ 0xffff,
- /* key: 0x56b3 */ 0xb667,
- /* key: 0x56b4 */ 0x536e,
- /* key: 0x56b5 */ 0xffff,
- /* key: 0x56b6 */ 0x536d,
- /* key: 0x56b7 */ 0xb668,
- /* key: 0x56b8 */ 0xffff,
- /* key: 0x56b9 */ 0xffff,
- /* key: 0x56ba */ 0xffff,
- /* key: 0x56bb */ 0xffff,
- /* key: 0x56bc */ 0x5370,
- /* key: 0x56bd */ 0xffff,
- /* key: 0x56be */ 0xb669,
- /* key: 0x56bf */ 0xffff,
- /* key: 0x56c0 */ 0x5373,
- /* key: 0x56c1 */ 0x5371,
- /* key: 0x56c2 */ 0x536f,
- /* key: 0x56c3 */ 0x5372,
- /* key: 0x56c4 */ 0xffff,
- /* key: 0x56c5 */ 0xb66a,
- /* key: 0x56c6 */ 0xffff,
- /* key: 0x56c7 */ 0xffff,
- /* key: 0x56c8 */ 0x5374,
- /* key: 0x56c9 */ 0xb66b,
- /* key: 0x56ca */ 0xb66c,
- /* key: 0x56cb */ 0xb66d,
- /* key: 0x56cc */ 0xb670,
- /* key: 0x56cd */ 0xb671,
- /* key: 0x56ce */ 0x5375,
- /* key: 0x56cf */ 0xb66e,
- /* key: 0x56d0 */ 0xb66f,
- /* key: 0x56d1 */ 0x5376,
- /* key: 0x56d2 */ 0xffff,
- /* key: 0x56d3 */ 0x5377,
- /* key: 0x56d4 */ 0xffff,
- /* key: 0x56d5 */ 0xffff,
- /* key: 0x56d6 */ 0xffff,
- /* key: 0x56d7 */ 0x5378,
- /* key: 0x56d8 */ 0x5145,
- /* key: 0x56d9 */ 0xb672,
- /* key: 0x56da */ 0x3c7c,
- /* key: 0x56db */ 0x3b4d,
- /* key: 0x56dc */ 0xb673,
- /* key: 0x56dd */ 0xb674,
- /* key: 0x56de */ 0x3273,
- /* key: 0x56df */ 0xb675,
- /* key: 0x56e0 */ 0x3078,
- /* key: 0x56e1 */ 0xb676,
- /* key: 0x56e2 */ 0xffff,
- /* key: 0x56e3 */ 0x4344,
- /* key: 0x56e4 */ 0xb677,
- /* key: 0x56e5 */ 0xb678,
- /* key: 0x56e6 */ 0xb679,
- /* key: 0x56e7 */ 0xb67a,
- /* key: 0x56e8 */ 0xb67b,
- /* key: 0x56e9 */ 0xffff,
- /* key: 0x56ea */ 0xffff,
- /* key: 0x56eb */ 0xb67d,
- /* key: 0x56ec */ 0xffff,
- /* key: 0x56ed */ 0xb67e,
- /* key: 0x56ee */ 0x5379,
- /* key: 0x56ef */ 0xffff,
- /* key: 0x56f0 */ 0x3a24,
- /* key: 0x56f1 */ 0xb67c,
- /* key: 0x56f2 */ 0x304f,
- /* key: 0x56f3 */ 0x3f5e,
- /* key: 0x56f4 */ 0xffff,
- /* key: 0x56f5 */ 0xffff,
- /* key: 0x56f6 */ 0xb721,
- /* key: 0x56f7 */ 0xb722,
- /* key: 0x56f8 */ 0xffff,
- /* key: 0x56f9 */ 0x537a,
- /* key: 0x56fa */ 0x3847,
- /* key: 0x56fb */ 0xffff,
- /* key: 0x56fc */ 0xffff,
- /* key: 0x56fd */ 0x3971,
- /* key: 0x56fe */ 0xffff,
- /* key: 0x56ff */ 0x537c,
- /* branch: 0x570X */ 4048,
- /* branch: 0x571X */ 4064,
- /* branch: 0x572X */ 4080,
- /* branch: 0x573X */ 4096,
- /* branch: 0x574X */ 4112,
- /* branch: 0x575X */ 4128,
- /* branch: 0x576X */ 4144,
- /* branch: 0x577X */ 4160,
- /* branch: 0x578X */ 4176,
- /* branch: 0x579X */ 4192,
- /* branch: 0x57aX */ 4208,
- /* branch: 0x57bX */ 4224,
- /* branch: 0x57cX */ 4240,
- /* branch: 0x57dX */ 4256,
- /* branch: 0x57eX */ 4272,
- /* branch: 0x57fX */ 4288,
- /* key: 0x5700 */ 0x537b,
- /* key: 0x5701 */ 0xb723,
- /* key: 0x5702 */ 0xb724,
- /* key: 0x5703 */ 0x4a60,
- /* key: 0x5704 */ 0x537d,
- /* key: 0x5705 */ 0xffff,
- /* key: 0x5706 */ 0xffff,
- /* key: 0x5707 */ 0xb725,
- /* key: 0x5708 */ 0x5421,
- /* key: 0x5709 */ 0x537e,
- /* key: 0x570a */ 0xb726,
- /* key: 0x570b */ 0x5422,
- /* key: 0x570c */ 0xb727,
- /* key: 0x570d */ 0x5423,
- /* key: 0x570e */ 0xffff,
- /* key: 0x570f */ 0x3777,
- /* key: 0x5710 */ 0xffff,
- /* key: 0x5711 */ 0xb728,
- /* key: 0x5712 */ 0x3160,
- /* key: 0x5713 */ 0x5424,
- /* key: 0x5714 */ 0xffff,
- /* key: 0x5715 */ 0xb729,
- /* key: 0x5716 */ 0x5426,
- /* key: 0x5717 */ 0xffff,
- /* key: 0x5718 */ 0x5425,
- /* key: 0x5719 */ 0xffff,
- /* key: 0x571a */ 0xb72a,
- /* key: 0x571b */ 0xb72b,
- /* key: 0x571c */ 0x5428,
- /* key: 0x571d */ 0xb72c,
- /* key: 0x571e */ 0xffff,
- /* key: 0x571f */ 0x455a,
- /* key: 0x5720 */ 0xb72d,
- /* key: 0x5721 */ 0xffff,
- /* key: 0x5722 */ 0xb72e,
- /* key: 0x5723 */ 0xb72f,
- /* key: 0x5724 */ 0xb730,
- /* key: 0x5725 */ 0xb731,
- /* key: 0x5726 */ 0x5429,
- /* key: 0x5727 */ 0x3035,
- /* key: 0x5728 */ 0x3a5f,
- /* key: 0x5729 */ 0xb732,
- /* key: 0x572a */ 0xb733,
- /* key: 0x572b */ 0xffff,
- /* key: 0x572c */ 0xb734,
- /* key: 0x572d */ 0x373d,
- /* key: 0x572e */ 0xb735,
- /* key: 0x572f */ 0xb736,
- /* key: 0x5730 */ 0x434f,
- /* key: 0x5731 */ 0xffff,
- /* key: 0x5732 */ 0xffff,
- /* key: 0x5733 */ 0xb737,
- /* key: 0x5734 */ 0xb738,
- /* key: 0x5735 */ 0xffff,
- /* key: 0x5736 */ 0xffff,
- /* key: 0x5737 */ 0x542a,
- /* key: 0x5738 */ 0x542b,
- /* key: 0x5739 */ 0xffff,
- /* key: 0x573a */ 0xffff,
- /* key: 0x573b */ 0x542d,
- /* key: 0x573c */ 0xffff,
- /* key: 0x573d */ 0xb739,
- /* key: 0x573e */ 0xb73a,
- /* key: 0x573f */ 0xb73b,
- /* key: 0x5740 */ 0x542e,
- /* key: 0x5741 */ 0xffff,
- /* key: 0x5742 */ 0x3a64,
- /* key: 0x5743 */ 0xffff,
- /* key: 0x5744 */ 0xffff,
- /* key: 0x5745 */ 0xb73c,
- /* key: 0x5746 */ 0xb73d,
- /* key: 0x5747 */ 0x3651,
- /* key: 0x5748 */ 0xffff,
- /* key: 0x5749 */ 0xffff,
- /* key: 0x574a */ 0x4b37,
- /* key: 0x574b */ 0xffff,
- /* key: 0x574c */ 0xb73e,
- /* key: 0x574d */ 0xb73f,
- /* key: 0x574e */ 0x542c,
- /* key: 0x574f */ 0x542f,
- /* key: 0x5750 */ 0x3a41,
- /* key: 0x5751 */ 0x3923,
- /* key: 0x5752 */ 0xb740,
- /* key: 0x5753 */ 0xffff,
- /* key: 0x5754 */ 0xffff,
- /* key: 0x5755 */ 0xffff,
- /* key: 0x5756 */ 0xffff,
- /* key: 0x5757 */ 0xffff,
- /* key: 0x5758 */ 0xffff,
- /* key: 0x5759 */ 0xffff,
- /* key: 0x575a */ 0xffff,
- /* key: 0x575b */ 0xffff,
- /* key: 0x575c */ 0xffff,
- /* key: 0x575d */ 0xffff,
- /* key: 0x575e */ 0xffff,
- /* key: 0x575f */ 0xffff,
- /* key: 0x5760 */ 0xffff,
- /* key: 0x5761 */ 0x5433,
- /* key: 0x5762 */ 0xb741,
- /* key: 0x5763 */ 0xffff,
- /* key: 0x5764 */ 0x3a25,
- /* key: 0x5765 */ 0xb742,
- /* key: 0x5766 */ 0x4333,
- /* key: 0x5767 */ 0xb743,
- /* key: 0x5768 */ 0xb744,
- /* key: 0x5769 */ 0x5430,
- /* key: 0x576a */ 0x445a,
- /* key: 0x576b */ 0xb745,
- /* key: 0x576c */ 0xffff,
- /* key: 0x576d */ 0xb746,
- /* key: 0x576e */ 0xb747,
- /* key: 0x576f */ 0xb748,
- /* key: 0x5770 */ 0xb749,
- /* key: 0x5771 */ 0xb74a,
- /* key: 0x5772 */ 0xffff,
- /* key: 0x5773 */ 0xb74b,
- /* key: 0x5774 */ 0xb74c,
- /* key: 0x5775 */ 0xb74d,
- /* key: 0x5776 */ 0xffff,
- /* key: 0x5777 */ 0xb74e,
- /* key: 0x5778 */ 0xffff,
- /* key: 0x5779 */ 0xb74f,
- /* key: 0x577a */ 0xb750,
- /* key: 0x577b */ 0xb751,
- /* key: 0x577c */ 0xb752,
- /* key: 0x577d */ 0xffff,
- /* key: 0x577e */ 0xb753,
- /* key: 0x577f */ 0x5434,
- /* key: 0x5780 */ 0xffff,
- /* key: 0x5781 */ 0xb754,
- /* key: 0x5782 */ 0x3f62,
- /* key: 0x5783 */ 0xb755,
- /* key: 0x5784 */ 0xffff,
- /* key: 0x5785 */ 0xffff,
- /* key: 0x5786 */ 0xffff,
- /* key: 0x5787 */ 0xffff,
- /* key: 0x5788 */ 0x5432,
- /* key: 0x5789 */ 0x5435,
- /* key: 0x578a */ 0xffff,
- /* key: 0x578b */ 0x373f,
- /* key: 0x578c */ 0xb756,
- /* key: 0x578d */ 0xffff,
- /* key: 0x578e */ 0xffff,
- /* key: 0x578f */ 0xffff,
- /* key: 0x5790 */ 0xffff,
- /* key: 0x5791 */ 0xffff,
- /* key: 0x5792 */ 0xffff,
- /* key: 0x5793 */ 0x5436,
- /* key: 0x5794 */ 0xb757,
- /* key: 0x5795 */ 0xb760,
- /* key: 0x5796 */ 0xffff,
- /* key: 0x5797 */ 0xb758,
- /* key: 0x5798 */ 0xffff,
- /* key: 0x5799 */ 0xb759,
- /* key: 0x579a */ 0xb75a,
- /* key: 0x579b */ 0xffff,
- /* key: 0x579c */ 0xb75b,
- /* key: 0x579d */ 0xb75c,
- /* key: 0x579e */ 0xb75d,
- /* key: 0x579f */ 0xb75e,
- /* key: 0x57a0 */ 0x5437,
- /* key: 0x57a1 */ 0xb75f,
- /* key: 0x57a2 */ 0x3924,
- /* key: 0x57a3 */ 0x3340,
- /* key: 0x57a4 */ 0x5439,
- /* key: 0x57a5 */ 0xffff,
- /* key: 0x57a6 */ 0xffff,
- /* key: 0x57a7 */ 0xb761,
- /* key: 0x57a8 */ 0xb762,
- /* key: 0x57a9 */ 0xb763,
- /* key: 0x57aa */ 0x543a,
- /* key: 0x57ab */ 0xffff,
- /* key: 0x57ac */ 0xb764,
- /* key: 0x57ad */ 0xffff,
- /* key: 0x57ae */ 0xffff,
- /* key: 0x57af */ 0xffff,
- /* key: 0x57b0 */ 0x543b,
- /* key: 0x57b1 */ 0xffff,
- /* key: 0x57b2 */ 0xffff,
- /* key: 0x57b3 */ 0x5438,
- /* key: 0x57b4 */ 0xffff,
- /* key: 0x57b5 */ 0xffff,
- /* key: 0x57b6 */ 0xffff,
- /* key: 0x57b7 */ 0xffff,
- /* key: 0x57b8 */ 0xb765,
- /* key: 0x57b9 */ 0xffff,
- /* key: 0x57ba */ 0xffff,
- /* key: 0x57bb */ 0xffff,
- /* key: 0x57bc */ 0xffff,
- /* key: 0x57bd */ 0xb766,
- /* key: 0x57be */ 0xffff,
- /* key: 0x57bf */ 0xffff,
- /* key: 0x57c0 */ 0x5431,
- /* key: 0x57c1 */ 0xffff,
- /* key: 0x57c2 */ 0xffff,
- /* key: 0x57c3 */ 0x543c,
- /* key: 0x57c4 */ 0xffff,
- /* key: 0x57c5 */ 0xffff,
- /* key: 0x57c6 */ 0x543d,
- /* key: 0x57c7 */ 0xb767,
- /* key: 0x57c8 */ 0xb768,
- /* key: 0x57c9 */ 0xffff,
- /* key: 0x57ca */ 0xffff,
- /* key: 0x57cb */ 0x4b64,
- /* key: 0x57cc */ 0xb769,
- /* key: 0x57cd */ 0xffff,
- /* key: 0x57ce */ 0x3e6b,
- /* key: 0x57cf */ 0xb76a,
- /* key: 0x57d0 */ 0xffff,
- /* key: 0x57d1 */ 0xffff,
- /* key: 0x57d2 */ 0x543f,
- /* key: 0x57d3 */ 0x5440,
- /* key: 0x57d4 */ 0x543e,
- /* key: 0x57d5 */ 0xb76b,
- /* key: 0x57d6 */ 0x5442,
- /* key: 0x57d7 */ 0xffff,
- /* key: 0x57d8 */ 0xffff,
- /* key: 0x57d9 */ 0xffff,
- /* key: 0x57da */ 0xffff,
- /* key: 0x57db */ 0xffff,
- /* key: 0x57dc */ 0x4738,
- /* key: 0x57dd */ 0xb76c,
- /* key: 0x57de */ 0xb76d,
- /* key: 0x57df */ 0x3068,
- /* key: 0x57e0 */ 0x4956,
- /* key: 0x57e1 */ 0xb77e,
- /* key: 0x57e2 */ 0xffff,
- /* key: 0x57e3 */ 0x5443,
- /* key: 0x57e4 */ 0xb76e,
- /* key: 0x57e5 */ 0xffff,
- /* key: 0x57e6 */ 0xb76f,
- /* key: 0x57e7 */ 0xb770,
- /* key: 0x57e8 */ 0xffff,
- /* key: 0x57e9 */ 0xb771,
- /* key: 0x57ea */ 0xffff,
- /* key: 0x57eb */ 0xffff,
- /* key: 0x57ec */ 0xffff,
- /* key: 0x57ed */ 0xb772,
- /* key: 0x57ee */ 0xffff,
- /* key: 0x57ef */ 0xffff,
- /* key: 0x57f0 */ 0xb773,
- /* key: 0x57f1 */ 0xffff,
- /* key: 0x57f2 */ 0xffff,
- /* key: 0x57f3 */ 0xffff,
- /* key: 0x57f4 */ 0x3e7d,
- /* key: 0x57f5 */ 0xb774,
- /* key: 0x57f6 */ 0xb775,
- /* key: 0x57f7 */ 0x3c39,
- /* key: 0x57f8 */ 0xb776,
- /* key: 0x57f9 */ 0x475d,
- /* key: 0x57fa */ 0x3470,
- /* key: 0x57fb */ 0xffff,
- /* key: 0x57fc */ 0x3a6b,
- /* key: 0x57fd */ 0xb777,
- /* key: 0x57fe */ 0xb778,
- /* key: 0x57ff */ 0xb779,
- /* branch: 0x580X */ 4320,
- /* branch: 0x581X */ 4336,
- /* branch: 0x582X */ 4352,
- /* branch: 0x583X */ 4368,
- /* branch: 0x584X */ 4384,
- /* branch: 0x585X */ 4400,
- /* branch: 0x586X */ 4416,
- /* branch: 0x587X */ 4432,
- /* branch: 0x588X */ 4448,
- /* branch: 0x589X */ 4464,
- /* branch: 0x58aX */ 4480,
- /* branch: 0x58bX */ 4496,
- /* branch: 0x58cX */ 4512,
- /* branch: 0x58dX */ 4528,
- /* branch: 0x58eX */ 4544,
- /* branch: 0x58fX */ 4560,
- /* key: 0x5800 */ 0x4b59,
- /* key: 0x5801 */ 0xffff,
- /* key: 0x5802 */ 0x4632,
- /* key: 0x5803 */ 0xb77a,
- /* key: 0x5804 */ 0xb77b,
- /* key: 0x5805 */ 0x3778,
- /* key: 0x5806 */ 0x424f,
- /* key: 0x5807 */ 0xffff,
- /* key: 0x5808 */ 0xb77c,
- /* key: 0x5809 */ 0xb77d,
- /* key: 0x580a */ 0x5441,
- /* key: 0x580b */ 0x5444,
- /* key: 0x580c */ 0xb821,
- /* key: 0x580d */ 0xb822,
- /* key: 0x580e */ 0xffff,
- /* key: 0x580f */ 0xffff,
- /* key: 0x5810 */ 0xffff,
- /* key: 0x5811 */ 0xffff,
- /* key: 0x5812 */ 0xffff,
- /* key: 0x5813 */ 0xffff,
- /* key: 0x5814 */ 0xffff,
- /* key: 0x5815 */ 0x4244,
- /* key: 0x5816 */ 0xffff,
- /* key: 0x5817 */ 0xffff,
- /* key: 0x5818 */ 0xffff,
- /* key: 0x5819 */ 0x5445,
- /* key: 0x581a */ 0xffff,
- /* key: 0x581b */ 0xb823,
- /* key: 0x581c */ 0xffff,
- /* key: 0x581d */ 0x5446,
- /* key: 0x581e */ 0xb824,
- /* key: 0x581f */ 0xb825,
- /* key: 0x5820 */ 0xb826,
- /* key: 0x5821 */ 0x5448,
- /* key: 0x5822 */ 0xffff,
- /* key: 0x5823 */ 0xffff,
- /* key: 0x5824 */ 0x4469,
- /* key: 0x5825 */ 0xffff,
- /* key: 0x5826 */ 0xb827,
- /* key: 0x5827 */ 0xb828,
- /* key: 0x5828 */ 0xffff,
- /* key: 0x5829 */ 0xffff,
- /* key: 0x582a */ 0x342e,
- /* key: 0x582b */ 0xffff,
- /* key: 0x582c */ 0xffff,
- /* key: 0x582d */ 0xb829,
- /* key: 0x582e */ 0xffff,
- /* key: 0x582f */ 0x7421,
- /* key: 0x5830 */ 0x3161,
- /* key: 0x5831 */ 0x4a73,
- /* key: 0x5832 */ 0xb82a,
- /* key: 0x5833 */ 0xffff,
- /* key: 0x5834 */ 0x3e6c,
- /* key: 0x5835 */ 0x4548,
- /* key: 0x5836 */ 0xffff,
- /* key: 0x5837 */ 0xffff,
- /* key: 0x5838 */ 0xffff,
- /* key: 0x5839 */ 0xb82b,
- /* key: 0x583a */ 0x3a66,
- /* key: 0x583b */ 0xffff,
- /* key: 0x583c */ 0xffff,
- /* key: 0x583d */ 0x544e,
- /* key: 0x583e */ 0xffff,
- /* key: 0x583f */ 0xb82c,
- /* key: 0x5840 */ 0x4a3d,
- /* key: 0x5841 */ 0x4e5d,
- /* key: 0x5842 */ 0xffff,
- /* key: 0x5843 */ 0xffff,
- /* key: 0x5844 */ 0xffff,
- /* key: 0x5845 */ 0xffff,
- /* key: 0x5846 */ 0xffff,
- /* key: 0x5847 */ 0xffff,
- /* key: 0x5848 */ 0xffff,
- /* key: 0x5849 */ 0xb82d,
- /* key: 0x584a */ 0x3274,
- /* key: 0x584b */ 0x544a,
- /* key: 0x584c */ 0xb82e,
- /* key: 0x584d */ 0xb82f,
- /* key: 0x584e */ 0xffff,
- /* key: 0x584f */ 0xb830,
- /* key: 0x5850 */ 0xb831,
- /* key: 0x5851 */ 0x413a,
- /* key: 0x5852 */ 0x544d,
- /* key: 0x5853 */ 0xffff,
- /* key: 0x5854 */ 0x4563,
- /* key: 0x5855 */ 0xb832,
- /* key: 0x5856 */ 0xffff,
- /* key: 0x5857 */ 0x4549,
- /* key: 0x5858 */ 0x4564,
- /* key: 0x5859 */ 0x4839,
- /* key: 0x585a */ 0x444d,
- /* key: 0x585b */ 0xffff,
- /* key: 0x585c */ 0xffff,
- /* key: 0x585d */ 0xffff,
- /* key: 0x585e */ 0x3a49,
- /* key: 0x585f */ 0xb833,
- /* key: 0x5860 */ 0xffff,
- /* key: 0x5861 */ 0xb834,
- /* key: 0x5862 */ 0x5449,
- /* key: 0x5863 */ 0xffff,
- /* key: 0x5864 */ 0xb835,
- /* key: 0x5865 */ 0xffff,
- /* key: 0x5866 */ 0xffff,
- /* key: 0x5867 */ 0xb836,
- /* key: 0x5868 */ 0xb837,
- /* key: 0x5869 */ 0x3176,
- /* key: 0x586a */ 0xffff,
- /* key: 0x586b */ 0x4536,
- /* key: 0x586c */ 0xffff,
- /* key: 0x586d */ 0xffff,
- /* key: 0x586e */ 0xffff,
- /* key: 0x586f */ 0xffff,
- /* key: 0x5870 */ 0x544b,
- /* key: 0x5871 */ 0xffff,
- /* key: 0x5872 */ 0x5447,
- /* key: 0x5873 */ 0xffff,
- /* key: 0x5874 */ 0xffff,
- /* key: 0x5875 */ 0x3f50,
- /* key: 0x5876 */ 0xffff,
- /* key: 0x5877 */ 0xffff,
- /* key: 0x5878 */ 0xb838,
- /* key: 0x5879 */ 0x544f,
- /* key: 0x587a */ 0xffff,
- /* key: 0x587b */ 0xffff,
- /* key: 0x587c */ 0xb839,
- /* key: 0x587d */ 0xffff,
- /* key: 0x587e */ 0x3d4e,
- /* key: 0x587f */ 0xb83a,
- /* key: 0x5880 */ 0xb83b,
- /* key: 0x5881 */ 0xb83c,
- /* key: 0x5882 */ 0xffff,
- /* key: 0x5883 */ 0x362d,
- /* key: 0x5884 */ 0xffff,
- /* key: 0x5885 */ 0x5450,
- /* key: 0x5886 */ 0xffff,
- /* key: 0x5887 */ 0xb83d,
- /* key: 0x5888 */ 0xb83e,
- /* key: 0x5889 */ 0xb83f,
- /* key: 0x588a */ 0xb840,
- /* key: 0x588b */ 0xffff,
- /* key: 0x588c */ 0xb841,
- /* key: 0x588d */ 0xb842,
- /* key: 0x588e */ 0xffff,
- /* key: 0x588f */ 0xb843,
- /* key: 0x5890 */ 0xb844,
- /* key: 0x5891 */ 0xffff,
- /* key: 0x5892 */ 0xffff,
- /* key: 0x5893 */ 0x4a68,
- /* key: 0x5894 */ 0xb845,
- /* key: 0x5895 */ 0xffff,
- /* key: 0x5896 */ 0xb846,
- /* key: 0x5897 */ 0x417d,
- /* key: 0x5898 */ 0xffff,
- /* key: 0x5899 */ 0xffff,
- /* key: 0x589a */ 0xffff,
- /* key: 0x589b */ 0xffff,
- /* key: 0x589c */ 0x4446,
- /* key: 0x589d */ 0xb847,
- /* key: 0x589e */ 0xffff,
- /* key: 0x589f */ 0x5452,
- /* key: 0x58a0 */ 0xb848,
- /* key: 0x58a1 */ 0xb849,
- /* key: 0x58a2 */ 0xb84a,
- /* key: 0x58a3 */ 0xffff,
- /* key: 0x58a4 */ 0xffff,
- /* key: 0x58a5 */ 0xffff,
- /* key: 0x58a6 */ 0xb84b,
- /* key: 0x58a7 */ 0xffff,
- /* key: 0x58a8 */ 0x4b4f,
- /* key: 0x58a9 */ 0xb84c,
- /* key: 0x58aa */ 0xffff,
- /* key: 0x58ab */ 0x5453,
- /* key: 0x58ac */ 0xffff,
- /* key: 0x58ad */ 0xffff,
- /* key: 0x58ae */ 0x5458,
- /* key: 0x58af */ 0xffff,
- /* key: 0x58b0 */ 0xffff,
- /* key: 0x58b1 */ 0xb84d,
- /* key: 0x58b2 */ 0xb84e,
- /* key: 0x58b3 */ 0x4a2f,
- /* key: 0x58b4 */ 0xffff,
- /* key: 0x58b5 */ 0xffff,
- /* key: 0x58b6 */ 0xffff,
- /* key: 0x58b7 */ 0xffff,
- /* key: 0x58b8 */ 0x5457,
- /* key: 0x58b9 */ 0x5451,
- /* key: 0x58ba */ 0x5454,
- /* key: 0x58bb */ 0x5456,
- /* key: 0x58bc */ 0xb850,
- /* key: 0x58bd */ 0xffff,
- /* key: 0x58be */ 0x3a26,
- /* key: 0x58bf */ 0xffff,
- /* key: 0x58c0 */ 0xffff,
- /* key: 0x58c1 */ 0x4a49,
- /* key: 0x58c2 */ 0xb851,
- /* key: 0x58c3 */ 0xffff,
- /* key: 0x58c4 */ 0xb84f,
- /* key: 0x58c5 */ 0x5459,
- /* key: 0x58c6 */ 0xffff,
- /* key: 0x58c7 */ 0x4345,
- /* key: 0x58c8 */ 0xb852,
- /* key: 0x58c9 */ 0xffff,
- /* key: 0x58ca */ 0x3275,
- /* key: 0x58cb */ 0xffff,
- /* key: 0x58cc */ 0x3e6d,
- /* key: 0x58cd */ 0xb853,
- /* key: 0x58ce */ 0xb854,
- /* key: 0x58cf */ 0xffff,
- /* key: 0x58d0 */ 0xb855,
- /* key: 0x58d1 */ 0x545b,
- /* key: 0x58d2 */ 0xb856,
- /* key: 0x58d3 */ 0x545a,
- /* key: 0x58d4 */ 0xb857,
- /* key: 0x58d5 */ 0x3968,
- /* key: 0x58d6 */ 0xb858,
- /* key: 0x58d7 */ 0x545c,
- /* key: 0x58d8 */ 0x545e,
- /* key: 0x58d9 */ 0x545d,
- /* key: 0x58da */ 0xb859,
- /* key: 0x58db */ 0xffff,
- /* key: 0x58dc */ 0x5460,
- /* key: 0x58dd */ 0xb85a,
- /* key: 0x58de */ 0x5455,
- /* key: 0x58df */ 0x5462,
- /* key: 0x58e0 */ 0xffff,
- /* key: 0x58e1 */ 0xb85b,
- /* key: 0x58e2 */ 0xb85c,
- /* key: 0x58e3 */ 0xffff,
- /* key: 0x58e4 */ 0x5461,
- /* key: 0x58e5 */ 0x545f,
- /* key: 0x58e6 */ 0xffff,
- /* key: 0x58e7 */ 0xffff,
- /* key: 0x58e8 */ 0xffff,
- /* key: 0x58e9 */ 0xb85d,
- /* key: 0x58ea */ 0xffff,
- /* key: 0x58eb */ 0x3b4e,
- /* key: 0x58ec */ 0x3f51,
- /* key: 0x58ed */ 0xffff,
- /* key: 0x58ee */ 0x4154,
- /* key: 0x58ef */ 0x5463,
- /* key: 0x58f0 */ 0x403c,
- /* key: 0x58f1 */ 0x306d,
- /* key: 0x58f2 */ 0x4764,
- /* key: 0x58f3 */ 0xb85e,
- /* key: 0x58f4 */ 0xffff,
- /* key: 0x58f5 */ 0xffff,
- /* key: 0x58f6 */ 0xffff,
- /* key: 0x58f7 */ 0x445b,
- /* key: 0x58f8 */ 0xffff,
- /* key: 0x58f9 */ 0x5465,
- /* key: 0x58fa */ 0x5464,
- /* key: 0x58fb */ 0x5466,
- /* key: 0x58fc */ 0x5467,
- /* key: 0x58fd */ 0x5468,
- /* key: 0x58fe */ 0xffff,
- /* key: 0x58ff */ 0xffff,
- /* branch: 0x590X */ 4592,
- /* branch: 0x591X */ 4608,
- /* branch: 0x592X */ 4624,
- /* branch: 0x593X */ 4640,
- /* branch: 0x594X */ 4656,
- /* branch: 0x595X */ 4672,
- /* branch: 0x596X */ 4688,
- /* branch: 0x597X */ 4704,
- /* branch: 0x598X */ 4720,
- /* branch: 0x599X */ 4736,
- /* branch: 0x59aX */ 4752,
- /* branch: 0x59bX */ 4768,
- /* branch: 0x59cX */ 4784,
- /* branch: 0x59dX */ 4800,
- /* branch: 0x59eX */ 4816,
- /* branch: 0x59fX */ 4832,
- /* key: 0x5900 */ 0xffff,
- /* key: 0x5901 */ 0xffff,
- /* key: 0x5902 */ 0x5469,
- /* key: 0x5903 */ 0xffff,
- /* key: 0x5904 */ 0xffff,
- /* key: 0x5905 */ 0xb85f,
- /* key: 0x5906 */ 0xb860,
- /* key: 0x5907 */ 0xffff,
- /* key: 0x5908 */ 0xffff,
- /* key: 0x5909 */ 0x4a51,
- /* key: 0x590a */ 0x546a,
- /* key: 0x590b */ 0xb861,
- /* key: 0x590c */ 0xb862,
- /* key: 0x590d */ 0xffff,
- /* key: 0x590e */ 0xffff,
- /* key: 0x590f */ 0x3246,
- /* key: 0x5910 */ 0x546b,
- /* key: 0x5911 */ 0xffff,
- /* key: 0x5912 */ 0xb863,
- /* key: 0x5913 */ 0xb864,
- /* key: 0x5914 */ 0xb865,
- /* key: 0x5915 */ 0x4d3c,
- /* key: 0x5916 */ 0x3330,
- /* key: 0x5917 */ 0xffff,
- /* key: 0x5918 */ 0x5249,
- /* key: 0x5919 */ 0x3d48,
- /* key: 0x591a */ 0x423f,
- /* key: 0x591b */ 0x546c,
- /* key: 0x591c */ 0x4c6b,
- /* key: 0x591d */ 0xb867,
- /* key: 0x591e */ 0xffff,
- /* key: 0x591f */ 0xffff,
- /* key: 0x5920 */ 0xffff,
- /* key: 0x5921 */ 0xb868,
- /* key: 0x5922 */ 0x4c34,
- /* key: 0x5923 */ 0xb869,
- /* key: 0x5924 */ 0xb86a,
- /* key: 0x5925 */ 0x546e,
- /* key: 0x5926 */ 0xffff,
- /* key: 0x5927 */ 0x4267,
- /* key: 0x5928 */ 0xb86b,
- /* key: 0x5929 */ 0x4537,
- /* key: 0x592a */ 0x4240,
- /* key: 0x592b */ 0x4957,
- /* key: 0x592c */ 0x546f,
- /* key: 0x592d */ 0x5470,
- /* key: 0x592e */ 0x317b,
- /* key: 0x592f */ 0xb86c,
- /* key: 0x5930 */ 0xb86d,
- /* key: 0x5931 */ 0x3c3a,
- /* key: 0x5932 */ 0x5471,
- /* key: 0x5933 */ 0xb86e,
- /* key: 0x5934 */ 0xffff,
- /* key: 0x5935 */ 0xb86f,
- /* key: 0x5936 */ 0xb870,
- /* key: 0x5937 */ 0x3050,
- /* key: 0x5938 */ 0x5472,
- /* key: 0x5939 */ 0xffff,
- /* key: 0x593a */ 0xffff,
- /* key: 0x593b */ 0xffff,
- /* key: 0x593c */ 0xffff,
- /* key: 0x593d */ 0xffff,
- /* key: 0x593e */ 0x5473,
- /* key: 0x593f */ 0xb871,
- /* key: 0x5940 */ 0xffff,
- /* key: 0x5941 */ 0xffff,
- /* key: 0x5942 */ 0xffff,
- /* key: 0x5943 */ 0xb872,
- /* key: 0x5944 */ 0x3162,
- /* key: 0x5945 */ 0xffff,
- /* key: 0x5946 */ 0xb873,
- /* key: 0x5947 */ 0x3471,
- /* key: 0x5948 */ 0x4660,
- /* key: 0x5949 */ 0x4a74,
- /* key: 0x594a */ 0xffff,
- /* key: 0x594b */ 0xffff,
- /* key: 0x594c */ 0xffff,
- /* key: 0x594d */ 0xffff,
- /* key: 0x594e */ 0x5477,
- /* key: 0x594f */ 0x4155,
- /* key: 0x5950 */ 0x5476,
- /* key: 0x5951 */ 0x3740,
- /* key: 0x5952 */ 0xb874,
- /* key: 0x5953 */ 0xb875,
- /* key: 0x5954 */ 0x4b5b,
- /* key: 0x5955 */ 0x5475,
- /* key: 0x5956 */ 0xffff,
- /* key: 0x5957 */ 0x4565,
- /* key: 0x5958 */ 0x5479,
- /* key: 0x5959 */ 0xb876,
- /* key: 0x595a */ 0x5478,
- /* key: 0x595b */ 0xb877,
- /* key: 0x595c */ 0xffff,
- /* key: 0x595d */ 0xb878,
- /* key: 0x595e */ 0xb879,
- /* key: 0x595f */ 0xb87a,
- /* key: 0x5960 */ 0x547b,
- /* key: 0x5961 */ 0xb87b,
- /* key: 0x5962 */ 0x547a,
- /* key: 0x5963 */ 0xb87c,
- /* key: 0x5964 */ 0xffff,
- /* key: 0x5965 */ 0x317c,
- /* key: 0x5966 */ 0xffff,
- /* key: 0x5967 */ 0x547c,
- /* key: 0x5968 */ 0x3e29,
- /* key: 0x5969 */ 0x547e,
- /* key: 0x596a */ 0x4325,
- /* key: 0x596b */ 0xb87d,
- /* key: 0x596c */ 0x547d,
- /* key: 0x596d */ 0xb87e,
- /* key: 0x596e */ 0x4a33,
- /* key: 0x596f */ 0xb921,
- /* key: 0x5970 */ 0xffff,
- /* key: 0x5971 */ 0xffff,
- /* key: 0x5972 */ 0xb922,
- /* key: 0x5973 */ 0x3d77,
- /* key: 0x5974 */ 0x455b,
- /* key: 0x5975 */ 0xb923,
- /* key: 0x5976 */ 0xb924,
- /* key: 0x5977 */ 0xffff,
- /* key: 0x5978 */ 0x5521,
- /* key: 0x5979 */ 0xb925,
- /* key: 0x597a */ 0xffff,
- /* key: 0x597b */ 0xb926,
- /* key: 0x597c */ 0xb927,
- /* key: 0x597d */ 0x3925,
- /* key: 0x597e */ 0xffff,
- /* key: 0x597f */ 0xffff,
- /* key: 0x5980 */ 0xffff,
- /* key: 0x5981 */ 0x5522,
- /* key: 0x5982 */ 0x4721,
- /* key: 0x5983 */ 0x485e,
- /* key: 0x5984 */ 0x4c51,
- /* key: 0x5985 */ 0xffff,
- /* key: 0x5986 */ 0xffff,
- /* key: 0x5987 */ 0xffff,
- /* key: 0x5988 */ 0xffff,
- /* key: 0x5989 */ 0xffff,
- /* key: 0x598a */ 0x4725,
- /* key: 0x598b */ 0xb928,
- /* key: 0x598c */ 0xb929,
- /* key: 0x598d */ 0x552b,
- /* key: 0x598e */ 0xb92a,
- /* key: 0x598f */ 0xffff,
- /* key: 0x5990 */ 0xffff,
- /* key: 0x5991 */ 0xffff,
- /* key: 0x5992 */ 0xb92b,
- /* key: 0x5993 */ 0x3538,
- /* key: 0x5994 */ 0xffff,
- /* key: 0x5995 */ 0xb92c,
- /* key: 0x5996 */ 0x4d45,
- /* key: 0x5997 */ 0xb92d,
- /* key: 0x5998 */ 0xffff,
- /* key: 0x5999 */ 0x4c2f,
- /* key: 0x599a */ 0xffff,
- /* key: 0x599b */ 0x562c,
- /* key: 0x599c */ 0xffff,
- /* key: 0x599d */ 0x5523,
- /* key: 0x599e */ 0xffff,
- /* key: 0x599f */ 0xb92e,
- /* key: 0x59a0 */ 0xffff,
- /* key: 0x59a1 */ 0xffff,
- /* key: 0x59a2 */ 0xffff,
- /* key: 0x59a3 */ 0x5526,
- /* key: 0x59a4 */ 0xb92f,
- /* key: 0x59a5 */ 0x4245,
- /* key: 0x59a6 */ 0xffff,
- /* key: 0x59a7 */ 0xb930,
- /* key: 0x59a8 */ 0x4b38,
- /* key: 0x59a9 */ 0xffff,
- /* key: 0x59aa */ 0xffff,
- /* key: 0x59ab */ 0xffff,
- /* key: 0x59ac */ 0x454a,
- /* key: 0x59ad */ 0xb931,
- /* key: 0x59ae */ 0xb932,
- /* key: 0x59af */ 0xb933,
- /* key: 0x59b0 */ 0xb934,
- /* key: 0x59b1 */ 0xffff,
- /* key: 0x59b2 */ 0x5527,
- /* key: 0x59b3 */ 0xb935,
- /* key: 0x59b4 */ 0xffff,
- /* key: 0x59b5 */ 0xffff,
- /* key: 0x59b6 */ 0xffff,
- /* key: 0x59b7 */ 0xb936,
- /* key: 0x59b8 */ 0xffff,
- /* key: 0x59b9 */ 0x4b65,
- /* key: 0x59ba */ 0xb937,
- /* key: 0x59bb */ 0x3a4a,
- /* key: 0x59bc */ 0xb938,
- /* key: 0x59bd */ 0xffff,
- /* key: 0x59be */ 0x3e2a,
- /* key: 0x59bf */ 0xffff,
- /* key: 0x59c0 */ 0xffff,
- /* key: 0x59c1 */ 0xb939,
- /* key: 0x59c2 */ 0xffff,
- /* key: 0x59c3 */ 0xb93a,
- /* key: 0x59c4 */ 0xb93b,
- /* key: 0x59c5 */ 0xffff,
- /* key: 0x59c6 */ 0x5528,
- /* key: 0x59c7 */ 0xffff,
- /* key: 0x59c8 */ 0xb93c,
- /* key: 0x59c9 */ 0x3b50,
- /* key: 0x59ca */ 0xb93d,
- /* key: 0x59cb */ 0x3b4f,
- /* key: 0x59cc */ 0xffff,
- /* key: 0x59cd */ 0xb93e,
- /* key: 0x59ce */ 0xffff,
- /* key: 0x59cf */ 0xffff,
- /* key: 0x59d0 */ 0x3039,
- /* key: 0x59d1 */ 0x3848,
- /* key: 0x59d2 */ 0xb93f,
- /* key: 0x59d3 */ 0x402b,
- /* key: 0x59d4 */ 0x3051,
- /* key: 0x59d5 */ 0xffff,
- /* key: 0x59d6 */ 0xffff,
- /* key: 0x59d7 */ 0xffff,
- /* key: 0x59d8 */ 0xffff,
- /* key: 0x59d9 */ 0x552c,
- /* key: 0x59da */ 0x552d,
- /* key: 0x59db */ 0xffff,
- /* key: 0x59dc */ 0x552a,
- /* key: 0x59dd */ 0xb940,
- /* key: 0x59de */ 0xb941,
- /* key: 0x59df */ 0xb942,
- /* key: 0x59e0 */ 0xffff,
- /* key: 0x59e1 */ 0xffff,
- /* key: 0x59e2 */ 0xffff,
- /* key: 0x59e3 */ 0xb943,
- /* key: 0x59e4 */ 0xb944,
- /* key: 0x59e5 */ 0x3138,
- /* key: 0x59e6 */ 0x342f,
- /* key: 0x59e7 */ 0xb945,
- /* key: 0x59e8 */ 0x5529,
- /* key: 0x59e9 */ 0xffff,
- /* key: 0x59ea */ 0x4c45,
- /* key: 0x59eb */ 0x4931,
- /* key: 0x59ec */ 0xffff,
- /* key: 0x59ed */ 0xffff,
- /* key: 0x59ee */ 0xb946,
- /* key: 0x59ef */ 0xb947,
- /* key: 0x59f0 */ 0xffff,
- /* key: 0x59f1 */ 0xb948,
- /* key: 0x59f2 */ 0xb949,
- /* key: 0x59f3 */ 0xffff,
- /* key: 0x59f4 */ 0xb94a,
- /* key: 0x59f5 */ 0xffff,
- /* key: 0x59f6 */ 0x3028,
- /* key: 0x59f7 */ 0xb94b,
- /* key: 0x59f8 */ 0xffff,
- /* key: 0x59f9 */ 0xffff,
- /* key: 0x59fa */ 0xffff,
- /* key: 0x59fb */ 0x3079,
- /* key: 0x59fc */ 0xffff,
- /* key: 0x59fd */ 0xffff,
- /* key: 0x59fe */ 0xffff,
- /* key: 0x59ff */ 0x3b51,
- /* branch: 0x5a0X */ 4864,
- /* branch: 0x5a1X */ 4880,
- /* branch: 0x5a2X */ 4896,
- /* branch: 0x5a3X */ 4912,
- /* branch: 0x5a4X */ 4928,
- /* branch: 0x5a5X */ 4944,
- /* branch: 0x5a6X */ 4960,
- /* branch: 0x5a7X */ 4976,
- /* branch: 0x5a8X */ 4992,
- /* branch: 0x5a9X */ 5008,
- /* branch: 0x5aaX */ 5024,
- /* branch: 0x5abX */ 5040,
- /* branch: 0x5acX */ 5056,
- /* branch: 0x5adX */ 5072,
- /* branch: 0x5aeX */ 5088,
- /* branch: 0x5afX */ 5104,
- /* key: 0x5a00 */ 0xb94c,
- /* key: 0x5a01 */ 0x3052,
- /* key: 0x5a02 */ 0xffff,
- /* key: 0x5a03 */ 0x3023,
- /* key: 0x5a04 */ 0xb94d,
- /* key: 0x5a05 */ 0xffff,
- /* key: 0x5a06 */ 0xffff,
- /* key: 0x5a07 */ 0xffff,
- /* key: 0x5a08 */ 0xffff,
- /* key: 0x5a09 */ 0x5532,
- /* key: 0x5a0a */ 0xffff,
- /* key: 0x5a0b */ 0xffff,
- /* key: 0x5a0c */ 0xb94e,
- /* key: 0x5a0d */ 0xb94f,
- /* key: 0x5a0e */ 0xb950,
- /* key: 0x5a0f */ 0xffff,
- /* key: 0x5a10 */ 0xffff,
- /* key: 0x5a11 */ 0x5530,
- /* key: 0x5a12 */ 0xb951,
- /* key: 0x5a13 */ 0xb952,
- /* key: 0x5a14 */ 0xffff,
- /* key: 0x5a15 */ 0xffff,
- /* key: 0x5a16 */ 0xffff,
- /* key: 0x5a17 */ 0xffff,
- /* key: 0x5a18 */ 0x4c3c,
- /* key: 0x5a19 */ 0xffff,
- /* key: 0x5a1a */ 0x5533,
- /* key: 0x5a1b */ 0xffff,
- /* key: 0x5a1c */ 0x5531,
- /* key: 0x5a1d */ 0xffff,
- /* key: 0x5a1e */ 0xb953,
- /* key: 0x5a1f */ 0x552f,
- /* key: 0x5a20 */ 0x3f31,
- /* key: 0x5a21 */ 0xffff,
- /* key: 0x5a22 */ 0xffff,
- /* key: 0x5a23 */ 0xb954,
- /* key: 0x5a24 */ 0xb955,
- /* key: 0x5a25 */ 0x552e,
- /* key: 0x5a26 */ 0xffff,
- /* key: 0x5a27 */ 0xb956,
- /* key: 0x5a28 */ 0xb957,
- /* key: 0x5a29 */ 0x4a5a,
- /* key: 0x5a2a */ 0xb958,
- /* key: 0x5a2b */ 0xffff,
- /* key: 0x5a2c */ 0xffff,
- /* key: 0x5a2d */ 0xb959,
- /* key: 0x5a2e */ 0xffff,
- /* key: 0x5a2f */ 0x3864,
- /* key: 0x5a30 */ 0xb95a,
- /* key: 0x5a31 */ 0xffff,
- /* key: 0x5a32 */ 0xffff,
- /* key: 0x5a33 */ 0xffff,
- /* key: 0x5a34 */ 0xffff,
- /* key: 0x5a35 */ 0x5537,
- /* key: 0x5a36 */ 0x5538,
- /* key: 0x5a37 */ 0xffff,
- /* key: 0x5a38 */ 0xffff,
- /* key: 0x5a39 */ 0xffff,
- /* key: 0x5a3a */ 0xffff,
- /* key: 0x5a3b */ 0xffff,
- /* key: 0x5a3c */ 0x3e2b,
- /* key: 0x5a3d */ 0xffff,
- /* key: 0x5a3e */ 0xffff,
- /* key: 0x5a3f */ 0xffff,
- /* key: 0x5a40 */ 0x5534,
- /* key: 0x5a41 */ 0x4f2c,
- /* key: 0x5a42 */ 0xffff,
- /* key: 0x5a43 */ 0xffff,
- /* key: 0x5a44 */ 0xb95b,
- /* key: 0x5a45 */ 0xb95c,
- /* key: 0x5a46 */ 0x474c,
- /* key: 0x5a47 */ 0xb95d,
- /* key: 0x5a48 */ 0xb95e,
- /* key: 0x5a49 */ 0x5536,
- /* key: 0x5a4a */ 0xffff,
- /* key: 0x5a4b */ 0xffff,
- /* key: 0x5a4c */ 0xb95f,
- /* key: 0x5a4d */ 0xffff,
- /* key: 0x5a4e */ 0xffff,
- /* key: 0x5a4f */ 0xffff,
- /* key: 0x5a50 */ 0xb960,
- /* key: 0x5a51 */ 0xffff,
- /* key: 0x5a52 */ 0xffff,
- /* key: 0x5a53 */ 0xffff,
- /* key: 0x5a54 */ 0xffff,
- /* key: 0x5a55 */ 0xb961,
- /* key: 0x5a56 */ 0xffff,
- /* key: 0x5a57 */ 0xffff,
- /* key: 0x5a58 */ 0xffff,
- /* key: 0x5a59 */ 0xffff,
- /* key: 0x5a5a */ 0x3a27,
- /* key: 0x5a5b */ 0xffff,
- /* key: 0x5a5c */ 0xffff,
- /* key: 0x5a5d */ 0xffff,
- /* key: 0x5a5e */ 0xb962,
- /* key: 0x5a5f */ 0xffff,
- /* key: 0x5a60 */ 0xffff,
- /* key: 0x5a61 */ 0xffff,
- /* key: 0x5a62 */ 0x5539,
- /* key: 0x5a63 */ 0xb963,
- /* key: 0x5a64 */ 0xffff,
- /* key: 0x5a65 */ 0xb964,
- /* key: 0x5a66 */ 0x4958,
- /* key: 0x5a67 */ 0xb965,
- /* key: 0x5a68 */ 0xffff,
- /* key: 0x5a69 */ 0xffff,
- /* key: 0x5a6a */ 0x553a,
- /* key: 0x5a6b */ 0xffff,
- /* key: 0x5a6c */ 0x5535,
- /* key: 0x5a6d */ 0xb966,
- /* key: 0x5a6e */ 0xffff,
- /* key: 0x5a6f */ 0xffff,
- /* key: 0x5a70 */ 0xffff,
- /* key: 0x5a71 */ 0xffff,
- /* key: 0x5a72 */ 0xffff,
- /* key: 0x5a73 */ 0xffff,
- /* key: 0x5a74 */ 0xffff,
- /* key: 0x5a75 */ 0xffff,
- /* key: 0x5a76 */ 0xffff,
- /* key: 0x5a77 */ 0xb967,
- /* key: 0x5a78 */ 0xffff,
- /* key: 0x5a79 */ 0xffff,
- /* key: 0x5a7a */ 0xb968,
- /* key: 0x5a7b */ 0xb969,
- /* key: 0x5a7c */ 0xffff,
- /* key: 0x5a7d */ 0xffff,
- /* key: 0x5a7e */ 0xb96a,
- /* key: 0x5a7f */ 0x4c3b,
- /* key: 0x5a80 */ 0xffff,
- /* key: 0x5a81 */ 0xffff,
- /* key: 0x5a82 */ 0xffff,
- /* key: 0x5a83 */ 0xffff,
- /* key: 0x5a84 */ 0xffff,
- /* key: 0x5a85 */ 0xffff,
- /* key: 0x5a86 */ 0xffff,
- /* key: 0x5a87 */ 0xffff,
- /* key: 0x5a88 */ 0xffff,
- /* key: 0x5a89 */ 0xffff,
- /* key: 0x5a8a */ 0xffff,
- /* key: 0x5a8b */ 0xb96b,
- /* key: 0x5a8c */ 0xffff,
- /* key: 0x5a8d */ 0xffff,
- /* key: 0x5a8e */ 0xffff,
- /* key: 0x5a8f */ 0xffff,
- /* key: 0x5a90 */ 0xb96c,
- /* key: 0x5a91 */ 0xffff,
- /* key: 0x5a92 */ 0x475e,
- /* key: 0x5a93 */ 0xb96d,
- /* key: 0x5a94 */ 0xffff,
- /* key: 0x5a95 */ 0xffff,
- /* key: 0x5a96 */ 0xb96e,
- /* key: 0x5a97 */ 0xffff,
- /* key: 0x5a98 */ 0xffff,
- /* key: 0x5a99 */ 0xb96f,
- /* key: 0x5a9a */ 0x553b,
- /* key: 0x5a9b */ 0x4932,
- /* key: 0x5a9c */ 0xb970,
- /* key: 0x5a9d */ 0xffff,
- /* key: 0x5a9e */ 0xb971,
- /* key: 0x5a9f */ 0xb972,
- /* key: 0x5aa0 */ 0xb973,
- /* key: 0x5aa1 */ 0xffff,
- /* key: 0x5aa2 */ 0xb974,
- /* key: 0x5aa3 */ 0xffff,
- /* key: 0x5aa4 */ 0xffff,
- /* key: 0x5aa5 */ 0xffff,
- /* key: 0x5aa6 */ 0xffff,
- /* key: 0x5aa7 */ 0xb975,
- /* key: 0x5aa8 */ 0xffff,
- /* key: 0x5aa9 */ 0xffff,
- /* key: 0x5aaa */ 0xffff,
- /* key: 0x5aab */ 0xffff,
- /* key: 0x5aac */ 0xb976,
- /* key: 0x5aad */ 0xffff,
- /* key: 0x5aae */ 0xffff,
- /* key: 0x5aaf */ 0xffff,
- /* key: 0x5ab0 */ 0xffff,
- /* key: 0x5ab1 */ 0xb977,
- /* key: 0x5ab2 */ 0xb978,
- /* key: 0x5ab3 */ 0xb979,
- /* key: 0x5ab4 */ 0xffff,
- /* key: 0x5ab5 */ 0xb97a,
- /* key: 0x5ab6 */ 0xffff,
- /* key: 0x5ab7 */ 0xffff,
- /* key: 0x5ab8 */ 0xb97b,
- /* key: 0x5ab9 */ 0xffff,
- /* key: 0x5aba */ 0xb97c,
- /* key: 0x5abb */ 0xb97d,
- /* key: 0x5abc */ 0x553c,
- /* key: 0x5abd */ 0x5540,
- /* key: 0x5abe */ 0x553d,
- /* key: 0x5abf */ 0xb97e,
- /* key: 0x5ac0 */ 0xffff,
- /* key: 0x5ac1 */ 0x3247,
- /* key: 0x5ac2 */ 0x553f,
- /* key: 0x5ac3 */ 0xffff,
- /* key: 0x5ac4 */ 0xba21,
- /* key: 0x5ac5 */ 0xffff,
- /* key: 0x5ac6 */ 0xba22,
- /* key: 0x5ac7 */ 0xffff,
- /* key: 0x5ac8 */ 0xba23,
- /* key: 0x5ac9 */ 0x3c3b,
- /* key: 0x5aca */ 0xffff,
- /* key: 0x5acb */ 0x553e,
- /* key: 0x5acc */ 0x3779,
- /* key: 0x5acd */ 0xffff,
- /* key: 0x5ace */ 0xffff,
- /* key: 0x5acf */ 0xba24,
- /* key: 0x5ad0 */ 0x554c,
- /* key: 0x5ad1 */ 0xffff,
- /* key: 0x5ad2 */ 0xffff,
- /* key: 0x5ad3 */ 0xffff,
- /* key: 0x5ad4 */ 0xffff,
- /* key: 0x5ad5 */ 0xffff,
- /* key: 0x5ad6 */ 0x5545,
- /* key: 0x5ad7 */ 0x5542,
- /* key: 0x5ad8 */ 0xffff,
- /* key: 0x5ad9 */ 0xffff,
- /* key: 0x5ada */ 0xba25,
- /* key: 0x5adb */ 0xffff,
- /* key: 0x5adc */ 0xba26,
- /* key: 0x5add */ 0xffff,
- /* key: 0x5ade */ 0xffff,
- /* key: 0x5adf */ 0xffff,
- /* key: 0x5ae0 */ 0xba27,
- /* key: 0x5ae1 */ 0x4364,
- /* key: 0x5ae2 */ 0xffff,
- /* key: 0x5ae3 */ 0x5541,
- /* key: 0x5ae4 */ 0xffff,
- /* key: 0x5ae5 */ 0xba28,
- /* key: 0x5ae6 */ 0x5543,
- /* key: 0x5ae7 */ 0xffff,
- /* key: 0x5ae8 */ 0xffff,
- /* key: 0x5ae9 */ 0x5544,
- /* key: 0x5aea */ 0xba29,
- /* key: 0x5aeb */ 0xffff,
- /* key: 0x5aec */ 0xffff,
- /* key: 0x5aed */ 0xffff,
- /* key: 0x5aee */ 0xba2a,
- /* key: 0x5aef */ 0xffff,
- /* key: 0x5af0 */ 0xffff,
- /* key: 0x5af1 */ 0xffff,
- /* key: 0x5af2 */ 0xffff,
- /* key: 0x5af3 */ 0xffff,
- /* key: 0x5af4 */ 0xffff,
- /* key: 0x5af5 */ 0xba2b,
- /* key: 0x5af6 */ 0xba2c,
- /* key: 0x5af7 */ 0xffff,
- /* key: 0x5af8 */ 0xffff,
- /* key: 0x5af9 */ 0xffff,
- /* key: 0x5afa */ 0x5546,
- /* key: 0x5afb */ 0x5547,
- /* key: 0x5afc */ 0xffff,
- /* key: 0x5afd */ 0xba2d,
- /* key: 0x5afe */ 0xffff,
- /* key: 0x5aff */ 0xffff,
- /* branch: 0x5b0X */ 5136,
- /* branch: 0x5b1X */ 5152,
- /* branch: 0x5b2X */ 5168,
- /* branch: 0x5b3X */ 5184,
- /* branch: 0x5b4X */ 5200,
- /* branch: 0x5b5X */ 5216,
- /* branch: 0x5b6X */ 5232,
- /* branch: 0x5b7X */ 5248,
- /* branch: 0x5b8X */ 5264,
- /* branch: 0x5b9X */ 5280,
- /* branch: 0x5baX */ 5296,
- /* branch: 0x5bbX */ 5312,
- /* branch: 0x5bcX */ 5328,
- /* branch: 0x5bdX */ 5344,
- /* branch: 0x5beX */ 5360,
- /* branch: 0x5bfX */ 5376,
- /* key: 0x5b00 */ 0xba2e,
- /* key: 0x5b01 */ 0xba2f,
- /* key: 0x5b02 */ 0xffff,
- /* key: 0x5b03 */ 0xffff,
- /* key: 0x5b04 */ 0xffff,
- /* key: 0x5b05 */ 0xffff,
- /* key: 0x5b06 */ 0xffff,
- /* key: 0x5b07 */ 0xffff,
- /* key: 0x5b08 */ 0xba30,
- /* key: 0x5b09 */ 0x3472,
- /* key: 0x5b0a */ 0xffff,
- /* key: 0x5b0b */ 0x5549,
- /* key: 0x5b0c */ 0x5548,
- /* key: 0x5b0d */ 0xffff,
- /* key: 0x5b0e */ 0xffff,
- /* key: 0x5b0f */ 0xffff,
- /* key: 0x5b10 */ 0xffff,
- /* key: 0x5b11 */ 0xffff,
- /* key: 0x5b12 */ 0xffff,
- /* key: 0x5b13 */ 0xffff,
- /* key: 0x5b14 */ 0xffff,
- /* key: 0x5b15 */ 0xffff,
- /* key: 0x5b16 */ 0x554a,
- /* key: 0x5b17 */ 0xba31,
- /* key: 0x5b18 */ 0xffff,
- /* key: 0x5b19 */ 0xba33,
- /* key: 0x5b1a */ 0xffff,
- /* key: 0x5b1b */ 0xba34,
- /* key: 0x5b1c */ 0xffff,
- /* key: 0x5b1d */ 0xba35,
- /* key: 0x5b1e */ 0xffff,
- /* key: 0x5b1f */ 0xffff,
- /* key: 0x5b20 */ 0xffff,
- /* key: 0x5b21 */ 0xba36,
- /* key: 0x5b22 */ 0x3e6e,
- /* key: 0x5b23 */ 0xffff,
- /* key: 0x5b24 */ 0xffff,
- /* key: 0x5b25 */ 0xba37,
- /* key: 0x5b26 */ 0xffff,
- /* key: 0x5b27 */ 0xffff,
- /* key: 0x5b28 */ 0xffff,
- /* key: 0x5b29 */ 0xffff,
- /* key: 0x5b2a */ 0x554d,
- /* key: 0x5b2b */ 0xffff,
- /* key: 0x5b2c */ 0x445c,
- /* key: 0x5b2d */ 0xba38,
- /* key: 0x5b2e */ 0xffff,
- /* key: 0x5b2f */ 0xffff,
- /* key: 0x5b30 */ 0x3145,
- /* key: 0x5b31 */ 0xffff,
- /* key: 0x5b32 */ 0x554b,
- /* key: 0x5b33 */ 0xffff,
- /* key: 0x5b34 */ 0xba32,
- /* key: 0x5b35 */ 0xffff,
- /* key: 0x5b36 */ 0x554e,
- /* key: 0x5b37 */ 0xffff,
- /* key: 0x5b38 */ 0xba39,
- /* key: 0x5b39 */ 0xffff,
- /* key: 0x5b3a */ 0xffff,
- /* key: 0x5b3b */ 0xffff,
- /* key: 0x5b3c */ 0xffff,
- /* key: 0x5b3d */ 0xffff,
- /* key: 0x5b3e */ 0x554f,
- /* key: 0x5b3f */ 0xffff,
- /* key: 0x5b40 */ 0x5552,
- /* key: 0x5b41 */ 0xba3a,
- /* key: 0x5b42 */ 0xffff,
- /* key: 0x5b43 */ 0x5550,
- /* key: 0x5b44 */ 0xffff,
- /* key: 0x5b45 */ 0x5551,
- /* key: 0x5b46 */ 0xffff,
- /* key: 0x5b47 */ 0xffff,
- /* key: 0x5b48 */ 0xffff,
- /* key: 0x5b49 */ 0xffff,
- /* key: 0x5b4a */ 0xffff,
- /* key: 0x5b4b */ 0xba3b,
- /* key: 0x5b4c */ 0xba3c,
- /* key: 0x5b4d */ 0xffff,
- /* key: 0x5b4e */ 0xffff,
- /* key: 0x5b4f */ 0xffff,
- /* key: 0x5b50 */ 0x3b52,
- /* key: 0x5b51 */ 0x5553,
- /* key: 0x5b52 */ 0xba3d,
- /* key: 0x5b53 */ 0xffff,
- /* key: 0x5b54 */ 0x3926,
- /* key: 0x5b55 */ 0x5554,
- /* key: 0x5b56 */ 0xba3e,
- /* key: 0x5b57 */ 0x3b7a,
- /* key: 0x5b58 */ 0x4238,
- /* key: 0x5b59 */ 0xffff,
- /* key: 0x5b5a */ 0x5555,
- /* key: 0x5b5b */ 0x5556,
- /* key: 0x5b5c */ 0x3b5a,
- /* key: 0x5b5d */ 0x3927,
- /* key: 0x5b5e */ 0xba3f,
- /* key: 0x5b5f */ 0x4c52,
- /* key: 0x5b60 */ 0xffff,
- /* key: 0x5b61 */ 0xffff,
- /* key: 0x5b62 */ 0xffff,
- /* key: 0x5b63 */ 0x3528,
- /* key: 0x5b64 */ 0x3849,
- /* key: 0x5b65 */ 0x5557,
- /* key: 0x5b66 */ 0x3358,
- /* key: 0x5b67 */ 0xffff,
- /* key: 0x5b68 */ 0xba40,
- /* key: 0x5b69 */ 0x5558,
- /* key: 0x5b6a */ 0xffff,
- /* key: 0x5b6b */ 0x4239,
- /* key: 0x5b6c */ 0xffff,
- /* key: 0x5b6d */ 0xffff,
- /* key: 0x5b6e */ 0xba41,
- /* key: 0x5b6f */ 0xba42,
- /* key: 0x5b70 */ 0x5559,
- /* key: 0x5b71 */ 0x5623,
- /* key: 0x5b72 */ 0xffff,
- /* key: 0x5b73 */ 0x555a,
- /* key: 0x5b74 */ 0xffff,
- /* key: 0x5b75 */ 0x555b,
- /* key: 0x5b76 */ 0xffff,
- /* key: 0x5b77 */ 0xffff,
- /* key: 0x5b78 */ 0x555c,
- /* key: 0x5b79 */ 0xffff,
- /* key: 0x5b7a */ 0x555e,
- /* key: 0x5b7b */ 0xffff,
- /* key: 0x5b7c */ 0xba43,
- /* key: 0x5b7d */ 0xba44,
- /* key: 0x5b7e */ 0xba45,
- /* key: 0x5b7f */ 0xba46,
- /* key: 0x5b80 */ 0x555f,
- /* key: 0x5b81 */ 0xba47,
- /* key: 0x5b82 */ 0xffff,
- /* key: 0x5b83 */ 0x5560,
- /* key: 0x5b84 */ 0xba48,
- /* key: 0x5b85 */ 0x4270,
- /* key: 0x5b86 */ 0xba49,
- /* key: 0x5b87 */ 0x3127,
- /* key: 0x5b88 */ 0x3c69,
- /* key: 0x5b89 */ 0x3042,
- /* key: 0x5b8a */ 0xba4a,
- /* key: 0x5b8b */ 0x4157,
- /* key: 0x5b8c */ 0x3430,
- /* key: 0x5b8d */ 0x3c35,
- /* key: 0x5b8e */ 0xba4b,
- /* key: 0x5b8f */ 0x3928,
- /* key: 0x5b90 */ 0xba4c,
- /* key: 0x5b91 */ 0xba4d,
- /* key: 0x5b92 */ 0xffff,
- /* key: 0x5b93 */ 0xba4e,
- /* key: 0x5b94 */ 0xba4f,
- /* key: 0x5b95 */ 0x4566,
- /* key: 0x5b96 */ 0xba50,
- /* key: 0x5b97 */ 0x3d21,
- /* key: 0x5b98 */ 0x3431,
- /* key: 0x5b99 */ 0x4368,
- /* key: 0x5b9a */ 0x446a,
- /* key: 0x5b9b */ 0x3038,
- /* key: 0x5b9c */ 0x3539,
- /* key: 0x5b9d */ 0x4a75,
- /* key: 0x5b9e */ 0xffff,
- /* key: 0x5b9f */ 0x3c42,
- /* key: 0x5ba0 */ 0xffff,
- /* key: 0x5ba1 */ 0xffff,
- /* key: 0x5ba2 */ 0x3552,
- /* key: 0x5ba3 */ 0x406b,
- /* key: 0x5ba4 */ 0x3c3c,
- /* key: 0x5ba5 */ 0x4d28,
- /* key: 0x5ba6 */ 0x5561,
- /* key: 0x5ba7 */ 0xffff,
- /* key: 0x5ba8 */ 0xba51,
- /* key: 0x5ba9 */ 0xba52,
- /* key: 0x5baa */ 0xffff,
- /* key: 0x5bab */ 0xffff,
- /* key: 0x5bac */ 0xba53,
- /* key: 0x5bad */ 0xba54,
- /* key: 0x5bae */ 0x355c,
- /* key: 0x5baf */ 0xba55,
- /* key: 0x5bb0 */ 0x3a4b,
- /* key: 0x5bb1 */ 0xba56,
- /* key: 0x5bb2 */ 0xba57,
- /* key: 0x5bb3 */ 0x3332,
- /* key: 0x5bb4 */ 0x3163,
- /* key: 0x5bb5 */ 0x3e2c,
- /* key: 0x5bb6 */ 0x3248,
- /* key: 0x5bb7 */ 0xba58,
- /* key: 0x5bb8 */ 0x5562,
- /* key: 0x5bb9 */ 0x4d46,
- /* key: 0x5bba */ 0xba59,
- /* key: 0x5bbb */ 0xffff,
- /* key: 0x5bbc */ 0xba5a,
- /* key: 0x5bbd */ 0xffff,
- /* key: 0x5bbe */ 0xffff,
- /* key: 0x5bbf */ 0x3d49,
- /* key: 0x5bc0 */ 0xba5b,
- /* key: 0x5bc1 */ 0xba5c,
- /* key: 0x5bc2 */ 0x3c64,
- /* key: 0x5bc3 */ 0x5563,
- /* key: 0x5bc4 */ 0x3473,
- /* key: 0x5bc5 */ 0x4652,
- /* key: 0x5bc6 */ 0x4c29,
- /* key: 0x5bc7 */ 0x5564,
- /* key: 0x5bc8 */ 0xffff,
- /* key: 0x5bc9 */ 0x5565,
- /* key: 0x5bca */ 0xffff,
- /* key: 0x5bcb */ 0xffff,
- /* key: 0x5bcc */ 0x4959,
- /* key: 0x5bcd */ 0xba5d,
- /* key: 0x5bce */ 0xffff,
- /* key: 0x5bcf */ 0xba5e,
- /* key: 0x5bd0 */ 0x5567,
- /* key: 0x5bd1 */ 0xffff,
- /* key: 0x5bd2 */ 0x3428,
- /* key: 0x5bd3 */ 0x3677,
- /* key: 0x5bd4 */ 0x5566,
- /* key: 0x5bd5 */ 0xffff,
- /* key: 0x5bd6 */ 0xba5f,
- /* key: 0x5bd7 */ 0xba60,
- /* key: 0x5bd8 */ 0xba61,
- /* key: 0x5bd9 */ 0xba62,
- /* key: 0x5bda */ 0xba63,
- /* key: 0x5bdb */ 0x3432,
- /* key: 0x5bdc */ 0xffff,
- /* key: 0x5bdd */ 0x3f32,
- /* key: 0x5bde */ 0x556b,
- /* key: 0x5bdf */ 0x3b21,
- /* key: 0x5be0 */ 0xba64,
- /* key: 0x5be1 */ 0x3249,
- /* key: 0x5be2 */ 0x556a,
- /* key: 0x5be3 */ 0xffff,
- /* key: 0x5be4 */ 0x5568,
- /* key: 0x5be5 */ 0x556c,
- /* key: 0x5be6 */ 0x5569,
- /* key: 0x5be7 */ 0x472b,
- /* key: 0x5be8 */ 0x5c4d,
- /* key: 0x5be9 */ 0x3f33,
- /* key: 0x5bea */ 0xffff,
- /* key: 0x5beb */ 0x556d,
- /* key: 0x5bec */ 0xffff,
- /* key: 0x5bed */ 0xffff,
- /* key: 0x5bee */ 0x4e40,
- /* key: 0x5bef */ 0xba65,
- /* key: 0x5bf0 */ 0x556e,
- /* key: 0x5bf1 */ 0xba66,
- /* key: 0x5bf2 */ 0xffff,
- /* key: 0x5bf3 */ 0x5570,
- /* key: 0x5bf4 */ 0xba67,
- /* key: 0x5bf5 */ 0x437e,
- /* key: 0x5bf6 */ 0x556f,
- /* key: 0x5bf7 */ 0xffff,
- /* key: 0x5bf8 */ 0x4023,
- /* key: 0x5bf9 */ 0xffff,
- /* key: 0x5bfa */ 0x3b7b,
- /* key: 0x5bfb */ 0xffff,
- /* key: 0x5bfc */ 0xffff,
- /* key: 0x5bfd */ 0xba68,
- /* key: 0x5bfe */ 0x4250,
- /* key: 0x5bff */ 0x3c77,
- /* branch: 0x5c0X */ 5408,
- /* branch: 0x5c1X */ 5424,
- /* branch: 0x5c2X */ 5440,
- /* branch: 0x5c3X */ 5456,
- /* branch: 0x5c4X */ 5472,
- /* branch: 0x5c5X */ 5488,
- /* branch: 0x5c6X */ 5504,
- /* branch: 0x5c7X */ 5520,
- /* branch: 0x5c8X */ 5536,
- /* branch: 0x5c9X */ 5552,
- /* branch: 0x5caX */ 5568,
- /* branch: 0x5cbX */ 5584,
- /* branch: 0x5ccX */ 5600,
- /* branch: 0x5cdX */ 5616,
- /* branch: 0x5ceX */ 5632,
- /* branch: 0x5cfX */ 5648,
- /* key: 0x5c00 */ 0xffff,
- /* key: 0x5c01 */ 0x4975,
- /* key: 0x5c02 */ 0x406c,
- /* key: 0x5c03 */ 0xffff,
- /* key: 0x5c04 */ 0x3c4d,
- /* key: 0x5c05 */ 0x5571,
- /* key: 0x5c06 */ 0x3e2d,
- /* key: 0x5c07 */ 0x5572,
- /* key: 0x5c08 */ 0x5573,
- /* key: 0x5c09 */ 0x3053,
- /* key: 0x5c0a */ 0x423a,
- /* key: 0x5c0b */ 0x3f52,
- /* key: 0x5c0c */ 0xba69,
- /* key: 0x5c0d */ 0x5574,
- /* key: 0x5c0e */ 0x4633,
- /* key: 0x5c0f */ 0x3e2e,
- /* key: 0x5c10 */ 0xffff,
- /* key: 0x5c11 */ 0x3e2f,
- /* key: 0x5c12 */ 0xffff,
- /* key: 0x5c13 */ 0x5575,
- /* key: 0x5c14 */ 0xffff,
- /* key: 0x5c15 */ 0xffff,
- /* key: 0x5c16 */ 0x406d,
- /* key: 0x5c17 */ 0xba6a,
- /* key: 0x5c18 */ 0xffff,
- /* key: 0x5c19 */ 0xffff,
- /* key: 0x5c1a */ 0x3e30,
- /* key: 0x5c1b */ 0xffff,
- /* key: 0x5c1c */ 0xffff,
- /* key: 0x5c1d */ 0xffff,
- /* key: 0x5c1e */ 0xba6b,
- /* key: 0x5c1f */ 0xba6c,
- /* key: 0x5c20 */ 0x5576,
- /* key: 0x5c21 */ 0xffff,
- /* key: 0x5c22 */ 0x5577,
- /* key: 0x5c23 */ 0xba6d,
- /* key: 0x5c24 */ 0x4c60,
- /* key: 0x5c25 */ 0xffff,
- /* key: 0x5c26 */ 0xba6e,
- /* key: 0x5c27 */ 0xffff,
- /* key: 0x5c28 */ 0x5578,
- /* key: 0x5c29 */ 0xba6f,
- /* key: 0x5c2a */ 0xffff,
- /* key: 0x5c2b */ 0xba70,
- /* key: 0x5c2c */ 0xba71,
- /* key: 0x5c2d */ 0x3646,
- /* key: 0x5c2e */ 0xba72,
- /* key: 0x5c2f */ 0xffff,
- /* key: 0x5c30 */ 0xba73,
- /* key: 0x5c31 */ 0x3d22,
- /* key: 0x5c32 */ 0xba74,
- /* key: 0x5c33 */ 0xffff,
- /* key: 0x5c34 */ 0xffff,
- /* key: 0x5c35 */ 0xba75,
- /* key: 0x5c36 */ 0xba76,
- /* key: 0x5c37 */ 0xffff,
- /* key: 0x5c38 */ 0x5579,
- /* key: 0x5c39 */ 0x557a,
- /* key: 0x5c3a */ 0x3c5c,
- /* key: 0x5c3b */ 0x3f2c,
- /* key: 0x5c3c */ 0x4674,
- /* key: 0x5c3d */ 0x3f54,
- /* key: 0x5c3e */ 0x4878,
- /* key: 0x5c3f */ 0x4722,
- /* key: 0x5c40 */ 0x3649,
- /* key: 0x5c41 */ 0x557b,
- /* key: 0x5c42 */ 0xffff,
- /* key: 0x5c43 */ 0xffff,
- /* key: 0x5c44 */ 0xffff,
- /* key: 0x5c45 */ 0x356f,
- /* key: 0x5c46 */ 0x557c,
- /* key: 0x5c47 */ 0xffff,
- /* key: 0x5c48 */ 0x367e,
- /* key: 0x5c49 */ 0xffff,
- /* key: 0x5c4a */ 0x464f,
- /* key: 0x5c4b */ 0x3230,
- /* key: 0x5c4c */ 0xffff,
- /* key: 0x5c4d */ 0x3b53,
- /* key: 0x5c4e */ 0x557d,
- /* key: 0x5c4f */ 0x5622,
- /* key: 0x5c50 */ 0x5621,
- /* key: 0x5c51 */ 0x367d,
- /* key: 0x5c52 */ 0xffff,
- /* key: 0x5c53 */ 0x557e,
- /* key: 0x5c54 */ 0xffff,
- /* key: 0x5c55 */ 0x4538,
- /* key: 0x5c56 */ 0xffff,
- /* key: 0x5c57 */ 0xffff,
- /* key: 0x5c58 */ 0xffff,
- /* key: 0x5c59 */ 0xba77,
- /* key: 0x5c5a */ 0xba78,
- /* key: 0x5c5b */ 0xffff,
- /* key: 0x5c5c */ 0xba79,
- /* key: 0x5c5d */ 0xffff,
- /* key: 0x5c5e */ 0x4230,
- /* key: 0x5c5f */ 0xffff,
- /* key: 0x5c60 */ 0x454b,
- /* key: 0x5c61 */ 0x3c48,
- /* key: 0x5c62 */ 0xba7a,
- /* key: 0x5c63 */ 0xba7b,
- /* key: 0x5c64 */ 0x4158,
- /* key: 0x5c65 */ 0x4d7a,
- /* key: 0x5c66 */ 0xffff,
- /* key: 0x5c67 */ 0xba7c,
- /* key: 0x5c68 */ 0xba7d,
- /* key: 0x5c69 */ 0xba7e,
- /* key: 0x5c6a */ 0xffff,
- /* key: 0x5c6b */ 0xffff,
- /* key: 0x5c6c */ 0x5624,
- /* key: 0x5c6d */ 0xbb21,
- /* key: 0x5c6e */ 0x5625,
- /* key: 0x5c6f */ 0x4656,
- /* key: 0x5c70 */ 0xbb22,
- /* key: 0x5c71 */ 0x3b33,
- /* key: 0x5c72 */ 0xffff,
- /* key: 0x5c73 */ 0xffff,
- /* key: 0x5c74 */ 0xbb23,
- /* key: 0x5c75 */ 0xbb24,
- /* key: 0x5c76 */ 0x5627,
- /* key: 0x5c77 */ 0xffff,
- /* key: 0x5c78 */ 0xffff,
- /* key: 0x5c79 */ 0x5628,
- /* key: 0x5c7a */ 0xbb25,
- /* key: 0x5c7b */ 0xbb26,
- /* key: 0x5c7c */ 0xbb27,
- /* key: 0x5c7d */ 0xbb28,
- /* key: 0x5c7e */ 0xffff,
- /* key: 0x5c7f */ 0xffff,
- /* key: 0x5c80 */ 0xffff,
- /* key: 0x5c81 */ 0xffff,
- /* key: 0x5c82 */ 0xffff,
- /* key: 0x5c83 */ 0xffff,
- /* key: 0x5c84 */ 0xffff,
- /* key: 0x5c85 */ 0xffff,
- /* key: 0x5c86 */ 0xffff,
- /* key: 0x5c87 */ 0xbb29,
- /* key: 0x5c88 */ 0xbb2a,
- /* key: 0x5c89 */ 0xffff,
- /* key: 0x5c8a */ 0xbb2b,
- /* key: 0x5c8b */ 0xffff,
- /* key: 0x5c8c */ 0x5629,
- /* key: 0x5c8d */ 0xffff,
- /* key: 0x5c8e */ 0xffff,
- /* key: 0x5c8f */ 0xbb2c,
- /* key: 0x5c90 */ 0x3474,
- /* key: 0x5c91 */ 0x562a,
- /* key: 0x5c92 */ 0xbb2d,
- /* key: 0x5c93 */ 0xffff,
- /* key: 0x5c94 */ 0x562b,
- /* key: 0x5c95 */ 0xffff,
- /* key: 0x5c96 */ 0xffff,
- /* key: 0x5c97 */ 0xffff,
- /* key: 0x5c98 */ 0xffff,
- /* key: 0x5c99 */ 0xffff,
- /* key: 0x5c9a */ 0xffff,
- /* key: 0x5c9b */ 0xffff,
- /* key: 0x5c9c */ 0xffff,
- /* key: 0x5c9d */ 0xbb2e,
- /* key: 0x5c9e */ 0xffff,
- /* key: 0x5c9f */ 0xbb2f,
- /* key: 0x5ca0 */ 0xbb30,
- /* key: 0x5ca1 */ 0x322c,
- /* key: 0x5ca2 */ 0xbb31,
- /* key: 0x5ca3 */ 0xbb32,
- /* key: 0x5ca4 */ 0xffff,
- /* key: 0x5ca5 */ 0xffff,
- /* key: 0x5ca6 */ 0xbb33,
- /* key: 0x5ca7 */ 0xffff,
- /* key: 0x5ca8 */ 0x413b,
- /* key: 0x5ca9 */ 0x3464,
- /* key: 0x5caa */ 0xbb34,
- /* key: 0x5cab */ 0x562d,
- /* key: 0x5cac */ 0x4c28,
- /* key: 0x5cad */ 0xffff,
- /* key: 0x5cae */ 0xffff,
- /* key: 0x5caf */ 0xffff,
- /* key: 0x5cb0 */ 0xffff,
- /* key: 0x5cb1 */ 0x4252,
- /* key: 0x5cb2 */ 0xbb35,
- /* key: 0x5cb3 */ 0x3359,
- /* key: 0x5cb4 */ 0xbb36,
- /* key: 0x5cb5 */ 0xbb37,
- /* key: 0x5cb6 */ 0x562f,
- /* key: 0x5cb7 */ 0x5631,
- /* key: 0x5cb8 */ 0x345f,
- /* key: 0x5cb9 */ 0xffff,
- /* key: 0x5cba */ 0xbb38,
- /* key: 0x5cbb */ 0x562e,
- /* key: 0x5cbc */ 0x5630,
- /* key: 0x5cbd */ 0xffff,
- /* key: 0x5cbe */ 0x5633,
- /* key: 0x5cbf */ 0xffff,
- /* key: 0x5cc0 */ 0xffff,
- /* key: 0x5cc1 */ 0xffff,
- /* key: 0x5cc2 */ 0xffff,
- /* key: 0x5cc3 */ 0xffff,
- /* key: 0x5cc4 */ 0xffff,
- /* key: 0x5cc5 */ 0x5632,
- /* key: 0x5cc6 */ 0xffff,
- /* key: 0x5cc7 */ 0x5634,
- /* key: 0x5cc8 */ 0xffff,
- /* key: 0x5cc9 */ 0xbb39,
- /* key: 0x5cca */ 0xffff,
- /* key: 0x5ccb */ 0xbb3a,
- /* key: 0x5ccc */ 0xffff,
- /* key: 0x5ccd */ 0xffff,
- /* key: 0x5cce */ 0xffff,
- /* key: 0x5ccf */ 0xffff,
- /* key: 0x5cd0 */ 0xffff,
- /* key: 0x5cd1 */ 0xffff,
- /* key: 0x5cd2 */ 0xbb3b,
- /* key: 0x5cd3 */ 0xffff,
- /* key: 0x5cd4 */ 0xffff,
- /* key: 0x5cd5 */ 0xffff,
- /* key: 0x5cd6 */ 0xffff,
- /* key: 0x5cd7 */ 0xbb3d,
- /* key: 0x5cd8 */ 0xffff,
- /* key: 0x5cd9 */ 0x5635,
- /* key: 0x5cda */ 0xffff,
- /* key: 0x5cdb */ 0xffff,
- /* key: 0x5cdc */ 0xffff,
- /* key: 0x5cdd */ 0xbb3c,
- /* key: 0x5cde */ 0xffff,
- /* key: 0x5cdf */ 0xffff,
- /* key: 0x5ce0 */ 0x463d,
- /* key: 0x5ce1 */ 0x362e,
- /* key: 0x5ce2 */ 0xffff,
- /* key: 0x5ce3 */ 0xffff,
- /* key: 0x5ce4 */ 0xffff,
- /* key: 0x5ce5 */ 0xffff,
- /* key: 0x5ce6 */ 0xffff,
- /* key: 0x5ce7 */ 0xffff,
- /* key: 0x5ce8 */ 0x3265,
- /* key: 0x5ce9 */ 0x5636,
- /* key: 0x5cea */ 0x563b,
- /* key: 0x5ceb */ 0xffff,
- /* key: 0x5cec */ 0xffff,
- /* key: 0x5ced */ 0x5639,
- /* key: 0x5cee */ 0xbb3e,
- /* key: 0x5cef */ 0x4a77,
- /* key: 0x5cf0 */ 0x4a76,
- /* key: 0x5cf1 */ 0xbb3f,
- /* key: 0x5cf2 */ 0xbb40,
- /* key: 0x5cf3 */ 0xffff,
- /* key: 0x5cf4 */ 0xbb41,
- /* key: 0x5cf5 */ 0xffff,
- /* key: 0x5cf6 */ 0x4567,
- /* key: 0x5cf7 */ 0xffff,
- /* key: 0x5cf8 */ 0xffff,
- /* key: 0x5cf9 */ 0xffff,
- /* key: 0x5cfa */ 0x5638,
- /* key: 0x5cfb */ 0x3d54,
- /* key: 0x5cfc */ 0xffff,
- /* key: 0x5cfd */ 0x5637,
- /* key: 0x5cfe */ 0xffff,
- /* key: 0x5cff */ 0xffff,
- /* branch: 0x5d0X */ 5680,
- /* branch: 0x5d1X */ 5696,
- /* branch: 0x5d2X */ 5712,
- /* branch: 0x5d3X */ 5728,
- /* branch: 0x5d4X */ 5744,
- /* branch: 0x5d5X */ 5760,
- /* branch: 0x5d6X */ 5776,
- /* branch: 0x5d7X */ 5792,
- /* branch: 0x5d8X */ 5808,
- /* branch: 0x5d9X */ 5824,
- /* branch: 0x5daX */ 5840,
- /* branch: 0x5dbX */ 5856,
- /* branch: 0x5dcX */ 5872,
- /* branch: 0x5ddX */ 5888,
- /* branch: 0x5deX */ 5904,
- /* branch: 0x5dfX */ 5920,
- /* key: 0x5d00 */ 0xffff,
- /* key: 0x5d01 */ 0xbb42,
- /* key: 0x5d02 */ 0xffff,
- /* key: 0x5d03 */ 0xffff,
- /* key: 0x5d04 */ 0xffff,
- /* key: 0x5d05 */ 0xffff,
- /* key: 0x5d06 */ 0xbb43,
- /* key: 0x5d07 */ 0x3f72,
- /* key: 0x5d08 */ 0xffff,
- /* key: 0x5d09 */ 0xffff,
- /* key: 0x5d0a */ 0xffff,
- /* key: 0x5d0b */ 0x563c,
- /* key: 0x5d0c */ 0xffff,
- /* key: 0x5d0d */ 0xbb44,
- /* key: 0x5d0e */ 0x3a6a,
- /* key: 0x5d0f */ 0xffff,
- /* key: 0x5d10 */ 0xffff,
- /* key: 0x5d11 */ 0x5642,
- /* key: 0x5d12 */ 0xbb45,
- /* key: 0x5d13 */ 0xffff,
- /* key: 0x5d14 */ 0x5643,
- /* key: 0x5d15 */ 0x563d,
- /* key: 0x5d16 */ 0x3333,
- /* key: 0x5d17 */ 0x563e,
- /* key: 0x5d18 */ 0x5647,
- /* key: 0x5d19 */ 0x5646,
- /* key: 0x5d1a */ 0x5645,
- /* key: 0x5d1b */ 0x5641,
- /* key: 0x5d1c */ 0xffff,
- /* key: 0x5d1d */ 0xffff,
- /* key: 0x5d1e */ 0xffff,
- /* key: 0x5d1f */ 0x5640,
- /* key: 0x5d20 */ 0xffff,
- /* key: 0x5d21 */ 0xffff,
- /* key: 0x5d22 */ 0x5644,
- /* key: 0x5d23 */ 0xbb47,
- /* key: 0x5d24 */ 0xbb48,
- /* key: 0x5d25 */ 0xffff,
- /* key: 0x5d26 */ 0xbb49,
- /* key: 0x5d27 */ 0xbb4a,
- /* key: 0x5d28 */ 0xffff,
- /* key: 0x5d29 */ 0x4a78,
- /* key: 0x5d2a */ 0xffff,
- /* key: 0x5d2b */ 0xbb46,
- /* key: 0x5d2c */ 0xffff,
- /* key: 0x5d2d */ 0xffff,
- /* key: 0x5d2e */ 0xffff,
- /* key: 0x5d2f */ 0xffff,
- /* key: 0x5d30 */ 0xffff,
- /* key: 0x5d31 */ 0xbb4b,
- /* key: 0x5d32 */ 0xffff,
- /* key: 0x5d33 */ 0xffff,
- /* key: 0x5d34 */ 0xbb4c,
- /* key: 0x5d35 */ 0xffff,
- /* key: 0x5d36 */ 0xffff,
- /* key: 0x5d37 */ 0xffff,
- /* key: 0x5d38 */ 0xffff,
- /* key: 0x5d39 */ 0xbb4d,
- /* key: 0x5d3a */ 0xffff,
- /* key: 0x5d3b */ 0xffff,
- /* key: 0x5d3c */ 0xffff,
- /* key: 0x5d3d */ 0xbb4e,
- /* key: 0x5d3e */ 0xffff,
- /* key: 0x5d3f */ 0xbb4f,
- /* key: 0x5d40 */ 0xffff,
- /* key: 0x5d41 */ 0xffff,
- /* key: 0x5d42 */ 0xbb50,
- /* key: 0x5d43 */ 0xbb51,
- /* key: 0x5d44 */ 0xffff,
- /* key: 0x5d45 */ 0xffff,
- /* key: 0x5d46 */ 0xbb52,
- /* key: 0x5d47 */ 0xffff,
- /* key: 0x5d48 */ 0xbb53,
- /* key: 0x5d49 */ 0xffff,
- /* key: 0x5d4a */ 0xbb57,
- /* key: 0x5d4b */ 0x564b,
- /* key: 0x5d4c */ 0x5648,
- /* key: 0x5d4d */ 0xffff,
- /* key: 0x5d4e */ 0x564a,
- /* key: 0x5d4f */ 0xffff,
- /* key: 0x5d50 */ 0x4d72,
- /* key: 0x5d51 */ 0xbb55,
- /* key: 0x5d52 */ 0x5649,
- /* key: 0x5d53 */ 0xffff,
- /* key: 0x5d54 */ 0xffff,
- /* key: 0x5d55 */ 0xbb54,
- /* key: 0x5d56 */ 0xffff,
- /* key: 0x5d57 */ 0xffff,
- /* key: 0x5d58 */ 0xffff,
- /* key: 0x5d59 */ 0xbb56,
- /* key: 0x5d5a */ 0xffff,
- /* key: 0x5d5b */ 0xffff,
- /* key: 0x5d5c */ 0x563f,
- /* key: 0x5d5d */ 0xffff,
- /* key: 0x5d5e */ 0xffff,
- /* key: 0x5d5f */ 0xbb58,
- /* key: 0x5d60 */ 0xbb59,
- /* key: 0x5d61 */ 0xbb5a,
- /* key: 0x5d62 */ 0xbb5b,
- /* key: 0x5d63 */ 0xffff,
- /* key: 0x5d64 */ 0xbb5c,
- /* key: 0x5d65 */ 0xffff,
- /* key: 0x5d66 */ 0xffff,
- /* key: 0x5d67 */ 0xffff,
- /* key: 0x5d68 */ 0xffff,
- /* key: 0x5d69 */ 0x3f73,
- /* key: 0x5d6a */ 0xbb5d,
- /* key: 0x5d6b */ 0xffff,
- /* key: 0x5d6c */ 0x564c,
- /* key: 0x5d6d */ 0xbb5e,
- /* key: 0x5d6e */ 0xffff,
- /* key: 0x5d6f */ 0x3a37,
- /* key: 0x5d70 */ 0xbb5f,
- /* key: 0x5d71 */ 0xffff,
- /* key: 0x5d72 */ 0xffff,
- /* key: 0x5d73 */ 0x564d,
- /* key: 0x5d74 */ 0xffff,
- /* key: 0x5d75 */ 0xffff,
- /* key: 0x5d76 */ 0x564e,
- /* key: 0x5d77 */ 0xffff,
- /* key: 0x5d78 */ 0xffff,
- /* key: 0x5d79 */ 0xbb60,
- /* key: 0x5d7a */ 0xbb61,
- /* key: 0x5d7b */ 0xffff,
- /* key: 0x5d7c */ 0xffff,
- /* key: 0x5d7d */ 0xffff,
- /* key: 0x5d7e */ 0xbb62,
- /* key: 0x5d7f */ 0xbb63,
- /* key: 0x5d80 */ 0xffff,
- /* key: 0x5d81 */ 0xbb64,
- /* key: 0x5d82 */ 0x5651,
- /* key: 0x5d83 */ 0xbb65,
- /* key: 0x5d84 */ 0x5650,
- /* key: 0x5d85 */ 0xffff,
- /* key: 0x5d86 */ 0xffff,
- /* key: 0x5d87 */ 0x564f,
- /* key: 0x5d88 */ 0xbb66,
- /* key: 0x5d89 */ 0xffff,
- /* key: 0x5d8a */ 0xbb67,
- /* key: 0x5d8b */ 0x4568,
- /* key: 0x5d8c */ 0x563a,
- /* key: 0x5d8d */ 0xffff,
- /* key: 0x5d8e */ 0xffff,
- /* key: 0x5d8f */ 0xffff,
- /* key: 0x5d90 */ 0x5657,
- /* key: 0x5d91 */ 0xffff,
- /* key: 0x5d92 */ 0xbb68,
- /* key: 0x5d93 */ 0xbb69,
- /* key: 0x5d94 */ 0xbb6a,
- /* key: 0x5d95 */ 0xbb6b,
- /* key: 0x5d96 */ 0xffff,
- /* key: 0x5d97 */ 0xffff,
- /* key: 0x5d98 */ 0xffff,
- /* key: 0x5d99 */ 0xbb6c,
- /* key: 0x5d9a */ 0xffff,
- /* key: 0x5d9b */ 0xbb6d,
- /* key: 0x5d9c */ 0xffff,
- /* key: 0x5d9d */ 0x5653,
- /* key: 0x5d9e */ 0xffff,
- /* key: 0x5d9f */ 0xbb6e,
- /* key: 0x5da0 */ 0xbb6f,
- /* key: 0x5da1 */ 0xffff,
- /* key: 0x5da2 */ 0x5652,
- /* key: 0x5da3 */ 0xffff,
- /* key: 0x5da4 */ 0xffff,
- /* key: 0x5da5 */ 0xffff,
- /* key: 0x5da6 */ 0xffff,
- /* key: 0x5da7 */ 0xbb70,
- /* key: 0x5da8 */ 0xffff,
- /* key: 0x5da9 */ 0xffff,
- /* key: 0x5daa */ 0xffff,
- /* key: 0x5dab */ 0xbb71,
- /* key: 0x5dac */ 0x5654,
- /* key: 0x5dad */ 0xffff,
- /* key: 0x5dae */ 0x5655,
- /* key: 0x5daf */ 0xffff,
- /* key: 0x5db0 */ 0xbb72,
- /* key: 0x5db1 */ 0xffff,
- /* key: 0x5db2 */ 0xe674,
- /* key: 0x5db3 */ 0xffff,
- /* key: 0x5db4 */ 0xbb73,
- /* key: 0x5db5 */ 0xffff,
- /* key: 0x5db6 */ 0xffff,
- /* key: 0x5db7 */ 0x5658,
- /* key: 0x5db8 */ 0xbb74,
- /* key: 0x5db9 */ 0xbb75,
- /* key: 0x5dba */ 0x4e66,
- /* key: 0x5dbb */ 0xffff,
- /* key: 0x5dbc */ 0x5659,
- /* key: 0x5dbd */ 0x5656,
- /* key: 0x5dbe */ 0xffff,
- /* key: 0x5dbf */ 0xffff,
- /* key: 0x5dc0 */ 0xffff,
- /* key: 0x5dc1 */ 0xffff,
- /* key: 0x5dc2 */ 0xffff,
- /* key: 0x5dc3 */ 0xbb76,
- /* key: 0x5dc4 */ 0xffff,
- /* key: 0x5dc5 */ 0xffff,
- /* key: 0x5dc6 */ 0xffff,
- /* key: 0x5dc7 */ 0xbb77,
- /* key: 0x5dc8 */ 0xffff,
- /* key: 0x5dc9 */ 0x565a,
- /* key: 0x5dca */ 0xffff,
- /* key: 0x5dcb */ 0xbb78,
- /* key: 0x5dcc */ 0x3460,
- /* key: 0x5dcd */ 0x565b,
- /* key: 0x5dce */ 0xbb7a,
- /* key: 0x5dcf */ 0xffff,
- /* key: 0x5dd0 */ 0xbb79,
- /* key: 0x5dd1 */ 0xffff,
- /* key: 0x5dd2 */ 0x565d,
- /* key: 0x5dd3 */ 0x565c,
- /* key: 0x5dd4 */ 0xffff,
- /* key: 0x5dd5 */ 0xffff,
- /* key: 0x5dd6 */ 0x565e,
- /* key: 0x5dd7 */ 0xffff,
- /* key: 0x5dd8 */ 0xbb7b,
- /* key: 0x5dd9 */ 0xbb7c,
- /* key: 0x5dda */ 0xffff,
- /* key: 0x5ddb */ 0x565f,
- /* key: 0x5ddc */ 0xffff,
- /* key: 0x5ddd */ 0x406e,
- /* key: 0x5dde */ 0x3d23,
- /* key: 0x5ddf */ 0xffff,
- /* key: 0x5de0 */ 0xbb7d,
- /* key: 0x5de1 */ 0x3d64,
- /* key: 0x5de2 */ 0xffff,
- /* key: 0x5de3 */ 0x4163,
- /* key: 0x5de4 */ 0xbb7e,
- /* key: 0x5de5 */ 0x3929,
- /* key: 0x5de6 */ 0x3a38,
- /* key: 0x5de7 */ 0x392a,
- /* key: 0x5de8 */ 0x3570,
- /* key: 0x5de9 */ 0xbc21,
- /* key: 0x5dea */ 0xffff,
- /* key: 0x5deb */ 0x5660,
- /* key: 0x5dec */ 0xffff,
- /* key: 0x5ded */ 0xffff,
- /* key: 0x5dee */ 0x3a39,
- /* key: 0x5def */ 0xffff,
- /* key: 0x5df0 */ 0xffff,
- /* key: 0x5df1 */ 0x384a,
- /* key: 0x5df2 */ 0x5661,
- /* key: 0x5df3 */ 0x4c26,
- /* key: 0x5df4 */ 0x4743,
- /* key: 0x5df5 */ 0x5662,
- /* key: 0x5df6 */ 0xffff,
- /* key: 0x5df7 */ 0x392b,
- /* key: 0x5df8 */ 0xbc22,
- /* key: 0x5df9 */ 0xbc23,
- /* key: 0x5dfa */ 0xffff,
- /* key: 0x5dfb */ 0x342c,
- /* key: 0x5dfc */ 0xffff,
- /* key: 0x5dfd */ 0x4327,
- /* key: 0x5dfe */ 0x3652,
- /* key: 0x5dff */ 0xffff,
- /* branch: 0x5e0X */ 5952,
- /* branch: 0x5e1X */ 5968,
- /* branch: 0x5e2X */ 5984,
- /* branch: 0x5e3X */ 6000,
- /* branch: 0x5e4X */ 6016,
- /* branch: 0x5e5X */ 6032,
- /* branch: 0x5e6X */ 6048,
- /* branch: 0x5e7X */ 6064,
- /* branch: 0x5e8X */ 6080,
- /* branch: 0x5e9X */ 6096,
- /* branch: 0x5eaX */ 6112,
- /* branch: 0x5ebX */ 6128,
- /* branch: 0x5ecX */ 6144,
- /* branch: 0x5edX */ 6160,
- /* branch: 0x5eeX */ 6176,
- /* branch: 0x5efX */ 6192,
- /* key: 0x5e00 */ 0xbc24,
- /* key: 0x5e01 */ 0xffff,
- /* key: 0x5e02 */ 0x3b54,
- /* key: 0x5e03 */ 0x495b,
- /* key: 0x5e04 */ 0xffff,
- /* key: 0x5e05 */ 0xffff,
- /* key: 0x5e06 */ 0x4841,
- /* key: 0x5e07 */ 0xbc25,
- /* key: 0x5e08 */ 0xffff,
- /* key: 0x5e09 */ 0xffff,
- /* key: 0x5e0a */ 0xffff,
- /* key: 0x5e0b */ 0x5663,
- /* key: 0x5e0c */ 0x3475,
- /* key: 0x5e0d */ 0xbc26,
- /* key: 0x5e0e */ 0xffff,
- /* key: 0x5e0f */ 0xffff,
- /* key: 0x5e10 */ 0xffff,
- /* key: 0x5e11 */ 0x5666,
- /* key: 0x5e12 */ 0xbc27,
- /* key: 0x5e13 */ 0xffff,
- /* key: 0x5e14 */ 0xbc28,
- /* key: 0x5e15 */ 0xbc29,
- /* key: 0x5e16 */ 0x4421,
- /* key: 0x5e17 */ 0xffff,
- /* key: 0x5e18 */ 0xbc2a,
- /* key: 0x5e19 */ 0x5665,
- /* key: 0x5e1a */ 0x5664,
- /* key: 0x5e1b */ 0x5667,
- /* key: 0x5e1c */ 0xffff,
- /* key: 0x5e1d */ 0x446b,
- /* key: 0x5e1e */ 0xffff,
- /* key: 0x5e1f */ 0xbc2b,
- /* key: 0x5e20 */ 0xbc2c,
- /* key: 0x5e21 */ 0xffff,
- /* key: 0x5e22 */ 0xffff,
- /* key: 0x5e23 */ 0xffff,
- /* key: 0x5e24 */ 0xffff,
- /* key: 0x5e25 */ 0x3f63,
- /* key: 0x5e26 */ 0xffff,
- /* key: 0x5e27 */ 0xffff,
- /* key: 0x5e28 */ 0xbc2e,
- /* key: 0x5e29 */ 0xffff,
- /* key: 0x5e2a */ 0xffff,
- /* key: 0x5e2b */ 0x3b55,
- /* key: 0x5e2c */ 0xffff,
- /* key: 0x5e2d */ 0x404a,
- /* key: 0x5e2e */ 0xbc2d,
- /* key: 0x5e2f */ 0x4253,
- /* key: 0x5e30 */ 0x3522,
- /* key: 0x5e31 */ 0xffff,
- /* key: 0x5e32 */ 0xbc2f,
- /* key: 0x5e33 */ 0x4422,
- /* key: 0x5e34 */ 0xffff,
- /* key: 0x5e35 */ 0xbc30,
- /* key: 0x5e36 */ 0x5668,
- /* key: 0x5e37 */ 0x5669,
- /* key: 0x5e38 */ 0x3e6f,
- /* key: 0x5e39 */ 0xffff,
- /* key: 0x5e3a */ 0xffff,
- /* key: 0x5e3b */ 0xffff,
- /* key: 0x5e3c */ 0xffff,
- /* key: 0x5e3d */ 0x4b39,
- /* key: 0x5e3e */ 0xbc31,
- /* key: 0x5e3f */ 0xffff,
- /* key: 0x5e40 */ 0x566c,
- /* key: 0x5e41 */ 0xffff,
- /* key: 0x5e42 */ 0xffff,
- /* key: 0x5e43 */ 0x566b,
- /* key: 0x5e44 */ 0x566a,
- /* key: 0x5e45 */ 0x497d,
- /* key: 0x5e46 */ 0xffff,
- /* key: 0x5e47 */ 0x5673,
- /* key: 0x5e48 */ 0xffff,
- /* key: 0x5e49 */ 0xbc34,
- /* key: 0x5e4a */ 0xffff,
- /* key: 0x5e4b */ 0xbc32,
- /* key: 0x5e4c */ 0x4b5a,
- /* key: 0x5e4d */ 0xffff,
- /* key: 0x5e4e */ 0x566d,
- /* key: 0x5e4f */ 0xffff,
- /* key: 0x5e50 */ 0xbc33,
- /* key: 0x5e51 */ 0xbc35,
- /* key: 0x5e52 */ 0xffff,
- /* key: 0x5e53 */ 0xffff,
- /* key: 0x5e54 */ 0x566f,
- /* key: 0x5e55 */ 0x4b6b,
- /* key: 0x5e56 */ 0xbc36,
- /* key: 0x5e57 */ 0x566e,
- /* key: 0x5e58 */ 0xbc37,
- /* key: 0x5e59 */ 0xffff,
- /* key: 0x5e5a */ 0xffff,
- /* key: 0x5e5b */ 0xbc38,
- /* key: 0x5e5c */ 0xbc39,
- /* key: 0x5e5d */ 0xffff,
- /* key: 0x5e5e */ 0xbc3a,
- /* key: 0x5e5f */ 0x5670,
- /* key: 0x5e60 */ 0xffff,
- /* key: 0x5e61 */ 0x4828,
- /* key: 0x5e62 */ 0x5671,
- /* key: 0x5e63 */ 0x4a3e,
- /* key: 0x5e64 */ 0x5672,
- /* key: 0x5e65 */ 0xffff,
- /* key: 0x5e66 */ 0xffff,
- /* key: 0x5e67 */ 0xffff,
- /* key: 0x5e68 */ 0xbc3b,
- /* key: 0x5e69 */ 0xffff,
- /* key: 0x5e6a */ 0xbc3c,
- /* key: 0x5e6b */ 0xbc3d,
- /* key: 0x5e6c */ 0xbc3e,
- /* key: 0x5e6d */ 0xbc3f,
- /* key: 0x5e6e */ 0xbc40,
- /* key: 0x5e6f */ 0xffff,
- /* key: 0x5e70 */ 0xbc41,
- /* key: 0x5e71 */ 0xffff,
- /* key: 0x5e72 */ 0x3433,
- /* key: 0x5e73 */ 0x4a3f,
- /* key: 0x5e74 */ 0x472f,
- /* key: 0x5e75 */ 0x5674,
- /* key: 0x5e76 */ 0x5675,
- /* key: 0x5e77 */ 0xffff,
- /* key: 0x5e78 */ 0x392c,
- /* key: 0x5e79 */ 0x3434,
- /* key: 0x5e7a */ 0x5676,
- /* key: 0x5e7b */ 0x3838,
- /* key: 0x5e7c */ 0x4d44,
- /* key: 0x5e7d */ 0x4d29,
- /* key: 0x5e7e */ 0x3476,
- /* key: 0x5e7f */ 0x5678,
- /* key: 0x5e80 */ 0xbc42,
- /* key: 0x5e81 */ 0x4423,
- /* key: 0x5e82 */ 0xffff,
- /* key: 0x5e83 */ 0x392d,
- /* key: 0x5e84 */ 0x3e31,
- /* key: 0x5e85 */ 0xffff,
- /* key: 0x5e86 */ 0xffff,
- /* key: 0x5e87 */ 0x485f,
- /* key: 0x5e88 */ 0xffff,
- /* key: 0x5e89 */ 0xffff,
- /* key: 0x5e8a */ 0x3e32,
- /* key: 0x5e8b */ 0xbc43,
- /* key: 0x5e8c */ 0xffff,
- /* key: 0x5e8d */ 0xffff,
- /* key: 0x5e8e */ 0xbc44,
- /* key: 0x5e8f */ 0x3d78,
- /* key: 0x5e90 */ 0xffff,
- /* key: 0x5e91 */ 0xffff,
- /* key: 0x5e92 */ 0xffff,
- /* key: 0x5e93 */ 0xffff,
- /* key: 0x5e94 */ 0xffff,
- /* key: 0x5e95 */ 0x446c,
- /* key: 0x5e96 */ 0x4a79,
- /* key: 0x5e97 */ 0x4539,
- /* key: 0x5e98 */ 0xffff,
- /* key: 0x5e99 */ 0xffff,
- /* key: 0x5e9a */ 0x392e,
- /* key: 0x5e9b */ 0xffff,
- /* key: 0x5e9c */ 0x495c,
- /* key: 0x5e9d */ 0xffff,
- /* key: 0x5e9e */ 0xffff,
- /* key: 0x5e9f */ 0xffff,
- /* key: 0x5ea0 */ 0x5679,
- /* key: 0x5ea1 */ 0xffff,
- /* key: 0x5ea2 */ 0xbc45,
- /* key: 0x5ea3 */ 0xffff,
- /* key: 0x5ea4 */ 0xbc46,
- /* key: 0x5ea5 */ 0xbc47,
- /* key: 0x5ea6 */ 0x4559,
- /* key: 0x5ea7 */ 0x3a42,
- /* key: 0x5ea8 */ 0xbc48,
- /* key: 0x5ea9 */ 0xffff,
- /* key: 0x5eaa */ 0xbc49,
- /* key: 0x5eab */ 0x384b,
- /* key: 0x5eac */ 0xbc4a,
- /* key: 0x5ead */ 0x446d,
- /* key: 0x5eae */ 0xffff,
- /* key: 0x5eaf */ 0xffff,
- /* key: 0x5eb0 */ 0xffff,
- /* key: 0x5eb1 */ 0xbc4b,
- /* key: 0x5eb2 */ 0xffff,
- /* key: 0x5eb3 */ 0xbc4c,
- /* key: 0x5eb4 */ 0xffff,
- /* key: 0x5eb5 */ 0x3043,
- /* key: 0x5eb6 */ 0x3d6e,
- /* key: 0x5eb7 */ 0x392f,
- /* key: 0x5eb8 */ 0x4d47,
- /* key: 0x5eb9 */ 0xffff,
- /* key: 0x5eba */ 0xffff,
- /* key: 0x5ebb */ 0xffff,
- /* key: 0x5ebc */ 0xffff,
- /* key: 0x5ebd */ 0xbc4d,
- /* key: 0x5ebe */ 0xbc4e,
- /* key: 0x5ebf */ 0xbc4f,
- /* key: 0x5ec0 */ 0xffff,
- /* key: 0x5ec1 */ 0x567a,
- /* key: 0x5ec2 */ 0x567b,
- /* key: 0x5ec3 */ 0x4751,
- /* key: 0x5ec4 */ 0xffff,
- /* key: 0x5ec5 */ 0xffff,
- /* key: 0x5ec6 */ 0xbc50,
- /* key: 0x5ec7 */ 0xffff,
- /* key: 0x5ec8 */ 0x567c,
- /* key: 0x5ec9 */ 0x4e77,
- /* key: 0x5eca */ 0x4f2d,
- /* key: 0x5ecb */ 0xbc52,
- /* key: 0x5ecc */ 0xbc51,
- /* key: 0x5ecd */ 0xffff,
- /* key: 0x5ece */ 0xbc53,
- /* key: 0x5ecf */ 0x567e,
- /* key: 0x5ed0 */ 0x567d,
- /* key: 0x5ed1 */ 0xbc54,
- /* key: 0x5ed2 */ 0xbc55,
- /* key: 0x5ed3 */ 0x3347,
- /* key: 0x5ed4 */ 0xbc56,
- /* key: 0x5ed5 */ 0xbc57,
- /* key: 0x5ed6 */ 0x5721,
- /* key: 0x5ed7 */ 0xffff,
- /* key: 0x5ed8 */ 0xffff,
- /* key: 0x5ed9 */ 0xffff,
- /* key: 0x5eda */ 0x5724,
- /* key: 0x5edb */ 0x5725,
- /* key: 0x5edc */ 0xbc58,
- /* key: 0x5edd */ 0x5723,
- /* key: 0x5ede */ 0xbc59,
- /* key: 0x5edf */ 0x4940,
- /* key: 0x5ee0 */ 0x3e33,
- /* key: 0x5ee1 */ 0x5727,
- /* key: 0x5ee2 */ 0x5726,
- /* key: 0x5ee3 */ 0x5722,
- /* key: 0x5ee4 */ 0xffff,
- /* key: 0x5ee5 */ 0xbc5a,
- /* key: 0x5ee6 */ 0xffff,
- /* key: 0x5ee7 */ 0xffff,
- /* key: 0x5ee8 */ 0x5728,
- /* key: 0x5ee9 */ 0x5729,
- /* key: 0x5eea */ 0xffff,
- /* key: 0x5eeb */ 0xbc5b,
- /* key: 0x5eec */ 0x572a,
- /* key: 0x5eed */ 0xffff,
- /* key: 0x5eee */ 0xffff,
- /* key: 0x5eef */ 0xffff,
- /* key: 0x5ef0 */ 0x572d,
- /* key: 0x5ef1 */ 0x572b,
- /* key: 0x5ef2 */ 0xffff,
- /* key: 0x5ef3 */ 0x572c,
- /* key: 0x5ef4 */ 0x572e,
- /* key: 0x5ef5 */ 0xffff,
- /* key: 0x5ef6 */ 0x3164,
- /* key: 0x5ef7 */ 0x446e,
- /* key: 0x5ef8 */ 0x572f,
- /* key: 0x5ef9 */ 0xffff,
- /* key: 0x5efa */ 0x377a,
- /* key: 0x5efb */ 0x3276,
- /* key: 0x5efc */ 0x4736,
- /* key: 0x5efd */ 0xffff,
- /* key: 0x5efe */ 0x5730,
- /* key: 0x5eff */ 0x467b,
- /* branch: 0x5f0X */ 6224,
- /* branch: 0x5f1X */ 6240,
- /* branch: 0x5f2X */ 6256,
- /* branch: 0x5f3X */ 6272,
- /* branch: 0x5f4X */ 6288,
- /* branch: 0x5f5X */ 6304,
- /* branch: 0x5f6X */ 6320,
- /* branch: 0x5f7X */ 6336,
- /* branch: 0x5f8X */ 6352,
- /* branch: 0x5f9X */ 6368,
- /* branch: 0x5faX */ 6384,
- /* branch: 0x5fbX */ 6400,
- /* branch: 0x5fcX */ 6416,
- /* branch: 0x5fdX */ 6432,
- /* branch: 0x5feX */ 6448,
- /* branch: 0x5ffX */ 6464,
- /* key: 0x5f00 */ 0xffff,
- /* key: 0x5f01 */ 0x4a5b,
- /* key: 0x5f02 */ 0xbc5c,
- /* key: 0x5f03 */ 0x5731,
- /* key: 0x5f04 */ 0x4f2e,
- /* key: 0x5f05 */ 0xffff,
- /* key: 0x5f06 */ 0xbc5d,
- /* key: 0x5f07 */ 0xbc5e,
- /* key: 0x5f08 */ 0xbc5f,
- /* key: 0x5f09 */ 0x5732,
- /* key: 0x5f0a */ 0x4a40,
- /* key: 0x5f0b */ 0x5735,
- /* key: 0x5f0c */ 0x5021,
- /* key: 0x5f0d */ 0x5031,
- /* key: 0x5f0e */ 0xbc60,
- /* key: 0x5f0f */ 0x3c30,
- /* key: 0x5f10 */ 0x4675,
- /* key: 0x5f11 */ 0x5736,
- /* key: 0x5f12 */ 0xffff,
- /* key: 0x5f13 */ 0x355d,
- /* key: 0x5f14 */ 0x4424,
- /* key: 0x5f15 */ 0x307a,
- /* key: 0x5f16 */ 0x5737,
- /* key: 0x5f17 */ 0x4a26,
- /* key: 0x5f18 */ 0x3930,
- /* key: 0x5f19 */ 0xbc61,
- /* key: 0x5f1a */ 0xffff,
- /* key: 0x5f1b */ 0x4350,
- /* key: 0x5f1c */ 0xbc62,
- /* key: 0x5f1d */ 0xbc63,
- /* key: 0x5f1e */ 0xffff,
- /* key: 0x5f1f */ 0x446f,
- /* key: 0x5f20 */ 0xffff,
- /* key: 0x5f21 */ 0xbc64,
- /* key: 0x5f22 */ 0xbc65,
- /* key: 0x5f23 */ 0xbc66,
- /* key: 0x5f24 */ 0xbc67,
- /* key: 0x5f25 */ 0x4c6f,
- /* key: 0x5f26 */ 0x3839,
- /* key: 0x5f27 */ 0x384c,
- /* key: 0x5f28 */ 0xbc68,
- /* key: 0x5f29 */ 0x5738,
- /* key: 0x5f2a */ 0xffff,
- /* key: 0x5f2b */ 0xbc69,
- /* key: 0x5f2c */ 0xbc6a,
- /* key: 0x5f2d */ 0x5739,
- /* key: 0x5f2e */ 0xbc6b,
- /* key: 0x5f2f */ 0x573f,
- /* key: 0x5f30 */ 0xbc6c,
- /* key: 0x5f31 */ 0x3c65,
- /* key: 0x5f32 */ 0xffff,
- /* key: 0x5f33 */ 0xffff,
- /* key: 0x5f34 */ 0xbc6d,
- /* key: 0x5f35 */ 0x4425,
- /* key: 0x5f36 */ 0xbc6e,
- /* key: 0x5f37 */ 0x362f,
- /* key: 0x5f38 */ 0x573a,
- /* key: 0x5f39 */ 0xffff,
- /* key: 0x5f3a */ 0xffff,
- /* key: 0x5f3b */ 0xbc6f,
- /* key: 0x5f3c */ 0x492b,
- /* key: 0x5f3d */ 0xbc70,
- /* key: 0x5f3e */ 0x4346,
- /* key: 0x5f3f */ 0xbc71,
- /* key: 0x5f40 */ 0xbc72,
- /* key: 0x5f41 */ 0x573b,
- /* key: 0x5f42 */ 0xffff,
- /* key: 0x5f43 */ 0xffff,
- /* key: 0x5f44 */ 0xbc73,
- /* key: 0x5f45 */ 0xbc74,
- /* key: 0x5f46 */ 0xffff,
- /* key: 0x5f47 */ 0xbc75,
- /* key: 0x5f48 */ 0x573c,
- /* key: 0x5f49 */ 0xffff,
- /* key: 0x5f4a */ 0x3630,
- /* key: 0x5f4b */ 0xffff,
- /* key: 0x5f4c */ 0x573d,
- /* key: 0x5f4d */ 0xbc76,
- /* key: 0x5f4e */ 0x573e,
- /* key: 0x5f4f */ 0xffff,
- /* key: 0x5f50 */ 0xbc77,
- /* key: 0x5f51 */ 0x5740,
- /* key: 0x5f52 */ 0xffff,
- /* key: 0x5f53 */ 0x4576,
- /* key: 0x5f54 */ 0xbc78,
- /* key: 0x5f55 */ 0xffff,
- /* key: 0x5f56 */ 0x5741,
- /* key: 0x5f57 */ 0x5742,
- /* key: 0x5f58 */ 0xbc79,
- /* key: 0x5f59 */ 0x5743,
- /* key: 0x5f5a */ 0xffff,
- /* key: 0x5f5b */ 0xbc7a,
- /* key: 0x5f5c */ 0x5734,
- /* key: 0x5f5d */ 0x5733,
- /* key: 0x5f5e */ 0xffff,
- /* key: 0x5f5f */ 0xffff,
- /* key: 0x5f60 */ 0xbc7b,
- /* key: 0x5f61 */ 0x5744,
- /* key: 0x5f62 */ 0x3741,
- /* key: 0x5f63 */ 0xbc7c,
- /* key: 0x5f64 */ 0xbc7d,
- /* key: 0x5f65 */ 0xffff,
- /* key: 0x5f66 */ 0x4927,
- /* key: 0x5f67 */ 0xbc7e,
- /* key: 0x5f68 */ 0xffff,
- /* key: 0x5f69 */ 0x3a4c,
- /* key: 0x5f6a */ 0x4937,
- /* key: 0x5f6b */ 0x4426,
- /* key: 0x5f6c */ 0x494b,
- /* key: 0x5f6d */ 0x5745,
- /* key: 0x5f6e */ 0xffff,
- /* key: 0x5f6f */ 0xbd21,
- /* key: 0x5f70 */ 0x3e34,
- /* key: 0x5f71 */ 0x3146,
- /* key: 0x5f72 */ 0xbd22,
- /* key: 0x5f73 */ 0x5746,
- /* key: 0x5f74 */ 0xbd23,
- /* key: 0x5f75 */ 0xbd24,
- /* key: 0x5f76 */ 0xffff,
- /* key: 0x5f77 */ 0x5747,
- /* key: 0x5f78 */ 0xbd25,
- /* key: 0x5f79 */ 0x4c72,
- /* key: 0x5f7a */ 0xbd26,
- /* key: 0x5f7b */ 0xffff,
- /* key: 0x5f7c */ 0x4860,
- /* key: 0x5f7d */ 0xbd27,
- /* key: 0x5f7e */ 0xbd28,
- /* key: 0x5f7f */ 0x574a,
- /* key: 0x5f80 */ 0x317d,
- /* key: 0x5f81 */ 0x402c,
- /* key: 0x5f82 */ 0x5749,
- /* key: 0x5f83 */ 0x5748,
- /* key: 0x5f84 */ 0x3742,
- /* key: 0x5f85 */ 0x4254,
- /* key: 0x5f86 */ 0xffff,
- /* key: 0x5f87 */ 0x574e,
- /* key: 0x5f88 */ 0x574c,
- /* key: 0x5f89 */ 0xbd29,
- /* key: 0x5f8a */ 0x574b,
- /* key: 0x5f8b */ 0x4e27,
- /* key: 0x5f8c */ 0x3865,
- /* key: 0x5f8d */ 0xbd2a,
- /* key: 0x5f8e */ 0xffff,
- /* key: 0x5f8f */ 0xbd2b,
- /* key: 0x5f90 */ 0x3d79,
- /* key: 0x5f91 */ 0x574d,
- /* key: 0x5f92 */ 0x454c,
- /* key: 0x5f93 */ 0x3d3e,
- /* key: 0x5f94 */ 0xffff,
- /* key: 0x5f95 */ 0xffff,
- /* key: 0x5f96 */ 0xbd2c,
- /* key: 0x5f97 */ 0x4640,
- /* key: 0x5f98 */ 0x5751,
- /* key: 0x5f99 */ 0x5750,
- /* key: 0x5f9a */ 0xffff,
- /* key: 0x5f9b */ 0xffff,
- /* key: 0x5f9c */ 0xbd2d,
- /* key: 0x5f9d */ 0xbd2e,
- /* key: 0x5f9e */ 0x574f,
- /* key: 0x5f9f */ 0xffff,
- /* key: 0x5fa0 */ 0x5752,
- /* key: 0x5fa1 */ 0x3866,
- /* key: 0x5fa2 */ 0xbd2f,
- /* key: 0x5fa3 */ 0xffff,
- /* key: 0x5fa4 */ 0xbd32,
- /* key: 0x5fa5 */ 0xffff,
- /* key: 0x5fa6 */ 0xffff,
- /* key: 0x5fa7 */ 0xbd30,
- /* key: 0x5fa8 */ 0x5753,
- /* key: 0x5fa9 */ 0x497c,
- /* key: 0x5faa */ 0x3d5b,
- /* key: 0x5fab */ 0xbd31,
- /* key: 0x5fac */ 0xbd33,
- /* key: 0x5fad */ 0x5754,
- /* key: 0x5fae */ 0x4879,
- /* key: 0x5faf */ 0xbd34,
- /* key: 0x5fb0 */ 0xbd35,
- /* key: 0x5fb1 */ 0xbd36,
- /* key: 0x5fb2 */ 0xffff,
- /* key: 0x5fb3 */ 0x4641,
- /* key: 0x5fb4 */ 0x4427,
- /* key: 0x5fb5 */ 0xffff,
- /* key: 0x5fb6 */ 0xffff,
- /* key: 0x5fb7 */ 0xffff,
- /* key: 0x5fb8 */ 0xbd37,
- /* key: 0x5fb9 */ 0x4530,
- /* key: 0x5fba */ 0xffff,
- /* key: 0x5fbb */ 0xffff,
- /* key: 0x5fbc */ 0x5755,
- /* key: 0x5fbd */ 0x352b,
- /* key: 0x5fbe */ 0xffff,
- /* key: 0x5fbf */ 0xffff,
- /* key: 0x5fc0 */ 0xffff,
- /* key: 0x5fc1 */ 0xffff,
- /* key: 0x5fc2 */ 0xffff,
- /* key: 0x5fc3 */ 0x3f34,
- /* key: 0x5fc4 */ 0xbd38,
- /* key: 0x5fc5 */ 0x492c,
- /* key: 0x5fc6 */ 0xffff,
- /* key: 0x5fc7 */ 0xbd39,
- /* key: 0x5fc8 */ 0xbd3a,
- /* key: 0x5fc9 */ 0xbd3b,
- /* key: 0x5fca */ 0xffff,
- /* key: 0x5fcb */ 0xbd3c,
- /* key: 0x5fcc */ 0x3477,
- /* key: 0x5fcd */ 0x4726,
- /* key: 0x5fce */ 0xffff,
- /* key: 0x5fcf */ 0xffff,
- /* key: 0x5fd0 */ 0xbd3d,
- /* key: 0x5fd1 */ 0xbd3e,
- /* key: 0x5fd2 */ 0xbd3f,
- /* key: 0x5fd3 */ 0xbd40,
- /* key: 0x5fd4 */ 0xbd41,
- /* key: 0x5fd5 */ 0xffff,
- /* key: 0x5fd6 */ 0x5756,
- /* key: 0x5fd7 */ 0x3b56,
- /* key: 0x5fd8 */ 0x4b3a,
- /* key: 0x5fd9 */ 0x4b3b,
- /* key: 0x5fda */ 0xffff,
- /* key: 0x5fdb */ 0xffff,
- /* key: 0x5fdc */ 0x317e,
- /* key: 0x5fdd */ 0x575b,
- /* key: 0x5fde */ 0xbd42,
- /* key: 0x5fdf */ 0xffff,
- /* key: 0x5fe0 */ 0x4369,
- /* key: 0x5fe1 */ 0xbd43,
- /* key: 0x5fe2 */ 0xbd44,
- /* key: 0x5fe3 */ 0xffff,
- /* key: 0x5fe4 */ 0x5758,
- /* key: 0x5fe5 */ 0xffff,
- /* key: 0x5fe6 */ 0xffff,
- /* key: 0x5fe7 */ 0xffff,
- /* key: 0x5fe8 */ 0xbd45,
- /* key: 0x5fe9 */ 0xbd46,
- /* key: 0x5fea */ 0xbd47,
- /* key: 0x5feb */ 0x3277,
- /* key: 0x5fec */ 0xbd48,
- /* key: 0x5fed */ 0xbd49,
- /* key: 0x5fee */ 0xbd4a,
- /* key: 0x5fef */ 0xbd4b,
- /* key: 0x5ff0 */ 0x582d,
- /* key: 0x5ff1 */ 0x575a,
- /* key: 0x5ff2 */ 0xbd4c,
- /* key: 0x5ff3 */ 0xbd4d,
- /* key: 0x5ff4 */ 0xffff,
- /* key: 0x5ff5 */ 0x4730,
- /* key: 0x5ff6 */ 0xbd4e,
- /* key: 0x5ff7 */ 0xffff,
- /* key: 0x5ff8 */ 0x5759,
- /* key: 0x5ff9 */ 0xffff,
- /* key: 0x5ffa */ 0xbd4f,
- /* key: 0x5ffb */ 0x5757,
- /* key: 0x5ffc */ 0xbd50,
- /* key: 0x5ffd */ 0x397a,
- /* key: 0x5ffe */ 0xffff,
- /* key: 0x5fff */ 0x575d,
- /* branch: 0x60XX */ 6496,
- /* branch: 0x61XX */ 6768,
- /* branch: 0x62XX */ 7040,
- /* branch: 0x63XX */ 7312,
- /* branch: 0x64XX */ 7584,
- /* branch: 0x65XX */ 7856,
- /* branch: 0x66XX */ 8128,
- /* branch: 0x67XX */ 8400,
- /* branch: 0x68XX */ 8672,
- /* branch: 0x69XX */ 8944,
- /* branch: 0x6aXX */ 9216,
- /* branch: 0x6bXX */ 9488,
- /* branch: 0x6cXX */ 9760,
- /* branch: 0x6dXX */ 10032,
- /* branch: 0x6eXX */ 10304,
- /* branch: 0x6fXX */ 10576,
- /* branch: 0x600X */ 6512,
- /* branch: 0x601X */ 6528,
- /* branch: 0x602X */ 6544,
- /* branch: 0x603X */ 6560,
- /* branch: 0x604X */ 6576,
- /* branch: 0x605X */ 6592,
- /* branch: 0x606X */ 6608,
- /* branch: 0x607X */ 6624,
- /* branch: 0x608X */ 6640,
- /* branch: 0x609X */ 6656,
- /* branch: 0x60aX */ 6672,
- /* branch: 0x60bX */ 6688,
- /* branch: 0x60cX */ 6704,
- /* branch: 0x60dX */ 6720,
- /* branch: 0x60eX */ 6736,
- /* branch: 0x60fX */ 6752,
- /* key: 0x6000 */ 0xffff,
- /* key: 0x6001 */ 0xffff,
- /* key: 0x6002 */ 0xffff,
- /* key: 0x6003 */ 0xffff,
- /* key: 0x6004 */ 0xffff,
- /* key: 0x6005 */ 0xffff,
- /* key: 0x6006 */ 0xffff,
- /* key: 0x6007 */ 0xbd51,
- /* key: 0x6008 */ 0xffff,
- /* key: 0x6009 */ 0xffff,
- /* key: 0x600a */ 0xbd52,
- /* key: 0x600b */ 0xffff,
- /* key: 0x600c */ 0xffff,
- /* key: 0x600d */ 0xbd53,
- /* key: 0x600e */ 0x5763,
- /* key: 0x600f */ 0x5769,
- /* key: 0x6010 */ 0x5761,
- /* key: 0x6011 */ 0xffff,
- /* key: 0x6012 */ 0x455c,
- /* key: 0x6013 */ 0xbd54,
- /* key: 0x6014 */ 0xbd55,
- /* key: 0x6015 */ 0x5766,
- /* key: 0x6016 */ 0x495d,
- /* key: 0x6017 */ 0xbd56,
- /* key: 0x6018 */ 0xbd57,
- /* key: 0x6019 */ 0x5760,
- /* key: 0x601a */ 0xbd58,
- /* key: 0x601b */ 0x5765,
- /* key: 0x601c */ 0x4e67,
- /* key: 0x601d */ 0x3b57,
- /* key: 0x601e */ 0xffff,
- /* key: 0x601f */ 0xbd59,
- /* key: 0x6020 */ 0x4255,
- /* key: 0x6021 */ 0x575e,
- /* key: 0x6022 */ 0xffff,
- /* key: 0x6023 */ 0xffff,
- /* key: 0x6024 */ 0xbd5a,
- /* key: 0x6025 */ 0x355e,
- /* key: 0x6026 */ 0x5768,
- /* key: 0x6027 */ 0x402d,
- /* key: 0x6028 */ 0x3165,
- /* key: 0x6029 */ 0x5762,
- /* key: 0x602a */ 0x3278,
- /* key: 0x602b */ 0x5767,
- /* key: 0x602c */ 0xffff,
- /* key: 0x602d */ 0xbd5b,
- /* key: 0x602e */ 0xffff,
- /* key: 0x602f */ 0x3631,
- /* key: 0x6030 */ 0xffff,
- /* key: 0x6031 */ 0x5764,
- /* key: 0x6032 */ 0xffff,
- /* key: 0x6033 */ 0xbd5c,
- /* key: 0x6034 */ 0xffff,
- /* key: 0x6035 */ 0xbd5d,
- /* key: 0x6036 */ 0xffff,
- /* key: 0x6037 */ 0xffff,
- /* key: 0x6038 */ 0xffff,
- /* key: 0x6039 */ 0xffff,
- /* key: 0x603a */ 0x576a,
- /* key: 0x603b */ 0xffff,
- /* key: 0x603c */ 0xffff,
- /* key: 0x603d */ 0xffff,
- /* key: 0x603e */ 0xffff,
- /* key: 0x603f */ 0xffff,
- /* key: 0x6040 */ 0xbd5e,
- /* key: 0x6041 */ 0x576c,
- /* key: 0x6042 */ 0x5776,
- /* key: 0x6043 */ 0x5774,
- /* key: 0x6044 */ 0xffff,
- /* key: 0x6045 */ 0xffff,
- /* key: 0x6046 */ 0x5771,
- /* key: 0x6047 */ 0xbd5f,
- /* key: 0x6048 */ 0xbd60,
- /* key: 0x6049 */ 0xbd61,
- /* key: 0x604a */ 0x5770,
- /* key: 0x604b */ 0x4e78,
- /* key: 0x604c */ 0xbd62,
- /* key: 0x604d */ 0x5772,
- /* key: 0x604e */ 0xffff,
- /* key: 0x604f */ 0xffff,
- /* key: 0x6050 */ 0x3632,
- /* key: 0x6051 */ 0xbd63,
- /* key: 0x6052 */ 0x3931,
- /* key: 0x6053 */ 0xffff,
- /* key: 0x6054 */ 0xbd64,
- /* key: 0x6055 */ 0x3d7a,
- /* key: 0x6056 */ 0xbd65,
- /* key: 0x6057 */ 0xbd66,
- /* key: 0x6058 */ 0xffff,
- /* key: 0x6059 */ 0x5779,
- /* key: 0x605a */ 0x576b,
- /* key: 0x605b */ 0xffff,
- /* key: 0x605c */ 0xffff,
- /* key: 0x605d */ 0xbd67,
- /* key: 0x605e */ 0xffff,
- /* key: 0x605f */ 0x576f,
- /* key: 0x6060 */ 0x575f,
- /* key: 0x6061 */ 0xbd68,
- /* key: 0x6062 */ 0x327a,
- /* key: 0x6063 */ 0x5773,
- /* key: 0x6064 */ 0x5775,
- /* key: 0x6065 */ 0x4351,
- /* key: 0x6066 */ 0xffff,
- /* key: 0x6067 */ 0xbd69,
- /* key: 0x6068 */ 0x3a28,
- /* key: 0x6069 */ 0x3238,
- /* key: 0x606a */ 0x576d,
- /* key: 0x606b */ 0x5778,
- /* key: 0x606c */ 0x5777,
- /* key: 0x606d */ 0x3633,
- /* key: 0x606e */ 0xffff,
- /* key: 0x606f */ 0x4229,
- /* key: 0x6070 */ 0x3366,
- /* key: 0x6071 */ 0xbd6a,
- /* key: 0x6072 */ 0xffff,
- /* key: 0x6073 */ 0xffff,
- /* key: 0x6074 */ 0xffff,
- /* key: 0x6075 */ 0x3743,
- /* key: 0x6076 */ 0xffff,
- /* key: 0x6077 */ 0x576e,
- /* key: 0x6078 */ 0xffff,
- /* key: 0x6079 */ 0xffff,
- /* key: 0x607a */ 0xffff,
- /* key: 0x607b */ 0xffff,
- /* key: 0x607c */ 0xffff,
- /* key: 0x607d */ 0xffff,
- /* key: 0x607e */ 0xbd6b,
- /* key: 0x607f */ 0xbd6c,
- /* key: 0x6080 */ 0xffff,
- /* key: 0x6081 */ 0x577a,
- /* key: 0x6082 */ 0xbd6d,
- /* key: 0x6083 */ 0x577d,
- /* key: 0x6084 */ 0x5821,
- /* key: 0x6085 */ 0xffff,
- /* key: 0x6086 */ 0xbd6e,
- /* key: 0x6087 */ 0xffff,
- /* key: 0x6088 */ 0xbd6f,
- /* key: 0x6089 */ 0x3c3d,
- /* key: 0x608a */ 0xbd70,
- /* key: 0x608b */ 0x5827,
- /* key: 0x608c */ 0x4470,
- /* key: 0x608d */ 0x577b,
- /* key: 0x608e */ 0xbd71,
- /* key: 0x608f */ 0xffff,
- /* key: 0x6090 */ 0xffff,
- /* key: 0x6091 */ 0xbd72,
- /* key: 0x6092 */ 0x5825,
- /* key: 0x6093 */ 0xbd73,
- /* key: 0x6094 */ 0x3279,
- /* key: 0x6095 */ 0xbd74,
- /* key: 0x6096 */ 0x5823,
- /* key: 0x6097 */ 0x5824,
- /* key: 0x6098 */ 0xbd75,
- /* key: 0x6099 */ 0xffff,
- /* key: 0x609a */ 0x577e,
- /* key: 0x609b */ 0x5822,
- /* key: 0x609c */ 0xffff,
- /* key: 0x609d */ 0xbd76,
- /* key: 0x609e */ 0xbd77,
- /* key: 0x609f */ 0x3867,
- /* key: 0x60a0 */ 0x4d2a,
- /* key: 0x60a1 */ 0xffff,
- /* key: 0x60a2 */ 0xbd78,
- /* key: 0x60a3 */ 0x3435,
- /* key: 0x60a4 */ 0xbd79,
- /* key: 0x60a5 */ 0xbd7a,
- /* key: 0x60a6 */ 0x3159,
- /* key: 0x60a7 */ 0x5826,
- /* key: 0x60a8 */ 0xbd7b,
- /* key: 0x60a9 */ 0x473a,
- /* key: 0x60aa */ 0x302d,
- /* key: 0x60ab */ 0xffff,
- /* key: 0x60ac */ 0xffff,
- /* key: 0x60ad */ 0xffff,
- /* key: 0x60ae */ 0xffff,
- /* key: 0x60af */ 0xffff,
- /* key: 0x60b0 */ 0xbd7c,
- /* key: 0x60b1 */ 0xbd7d,
- /* key: 0x60b2 */ 0x4861,
- /* key: 0x60b3 */ 0x575c,
- /* key: 0x60b4 */ 0x582c,
- /* key: 0x60b5 */ 0x5830,
- /* key: 0x60b6 */ 0x4c65,
- /* key: 0x60b7 */ 0xbd7e,
- /* key: 0x60b8 */ 0x5829,
- /* key: 0x60b9 */ 0xffff,
- /* key: 0x60ba */ 0xffff,
- /* key: 0x60bb */ 0xbe21,
- /* key: 0x60bc */ 0x4569,
- /* key: 0x60bd */ 0x582e,
- /* key: 0x60be */ 0xbe22,
- /* key: 0x60bf */ 0xffff,
- /* key: 0x60c0 */ 0xffff,
- /* key: 0x60c1 */ 0xffff,
- /* key: 0x60c2 */ 0xbe23,
- /* key: 0x60c3 */ 0xffff,
- /* key: 0x60c4 */ 0xbe24,
- /* key: 0x60c5 */ 0x3e70,
- /* key: 0x60c6 */ 0x582f,
- /* key: 0x60c7 */ 0x4657,
- /* key: 0x60c8 */ 0xbe25,
- /* key: 0x60c9 */ 0xbe26,
- /* key: 0x60ca */ 0xbe27,
- /* key: 0x60cb */ 0xbe28,
- /* key: 0x60cc */ 0xffff,
- /* key: 0x60cd */ 0xffff,
- /* key: 0x60ce */ 0xbe29,
- /* key: 0x60cf */ 0xbe2a,
- /* key: 0x60d0 */ 0xffff,
- /* key: 0x60d1 */ 0x4f47,
- /* key: 0x60d2 */ 0xffff,
- /* key: 0x60d3 */ 0x582b,
- /* key: 0x60d4 */ 0xbe2b,
- /* key: 0x60d5 */ 0xbe2c,
- /* key: 0x60d6 */ 0xffff,
- /* key: 0x60d7 */ 0xffff,
- /* key: 0x60d8 */ 0x5831,
- /* key: 0x60d9 */ 0xbe2d,
- /* key: 0x60da */ 0x397b,
- /* key: 0x60db */ 0xbe2e,
- /* key: 0x60dc */ 0x404b,
- /* key: 0x60dd */ 0xbe2f,
- /* key: 0x60de */ 0xbe30,
- /* key: 0x60df */ 0x3054,
- /* key: 0x60e0 */ 0x582a,
- /* key: 0x60e1 */ 0x5828,
- /* key: 0x60e2 */ 0xbe31,
- /* key: 0x60e3 */ 0x415a,
- /* key: 0x60e4 */ 0xffff,
- /* key: 0x60e5 */ 0xbe32,
- /* key: 0x60e6 */ 0xffff,
- /* key: 0x60e7 */ 0x577c,
- /* key: 0x60e8 */ 0x3b34,
- /* key: 0x60e9 */ 0xffff,
- /* key: 0x60ea */ 0xffff,
- /* key: 0x60eb */ 0xffff,
- /* key: 0x60ec */ 0xffff,
- /* key: 0x60ed */ 0xffff,
- /* key: 0x60ee */ 0xffff,
- /* key: 0x60ef */ 0xffff,
- /* key: 0x60f0 */ 0x4246,
- /* key: 0x60f1 */ 0x583d,
- /* key: 0x60f2 */ 0xbe33,
- /* key: 0x60f3 */ 0x415b,
- /* key: 0x60f4 */ 0x5838,
- /* key: 0x60f5 */ 0xbe34,
- /* key: 0x60f6 */ 0x5835,
- /* key: 0x60f7 */ 0x5836,
- /* key: 0x60f8 */ 0xbe35,
- /* key: 0x60f9 */ 0x3c66,
- /* key: 0x60fa */ 0x5839,
- /* key: 0x60fb */ 0x583c,
- /* key: 0x60fc */ 0xbe36,
- /* key: 0x60fd */ 0xbe37,
- /* key: 0x60fe */ 0xffff,
- /* key: 0x60ff */ 0xffff,
- /* branch: 0x610X */ 6784,
- /* branch: 0x611X */ 6800,
- /* branch: 0x612X */ 6816,
- /* branch: 0x613X */ 6832,
- /* branch: 0x614X */ 6848,
- /* branch: 0x615X */ 6864,
- /* branch: 0x616X */ 6880,
- /* branch: 0x617X */ 6896,
- /* branch: 0x618X */ 6912,
- /* branch: 0x619X */ 6928,
- /* branch: 0x61aX */ 6944,
- /* branch: 0x61bX */ 6960,
- /* branch: 0x61cX */ 6976,
- /* branch: 0x61dX */ 6992,
- /* branch: 0x61eX */ 7008,
- /* branch: 0x61fX */ 7024,
- /* key: 0x6100 */ 0x5837,
- /* key: 0x6101 */ 0x3d25,
- /* key: 0x6102 */ 0xbe38,
- /* key: 0x6103 */ 0x583a,
- /* key: 0x6104 */ 0xffff,
- /* key: 0x6105 */ 0xffff,
- /* key: 0x6106 */ 0x5834,
- /* key: 0x6107 */ 0xbe39,
- /* key: 0x6108 */ 0x4c7c,
- /* key: 0x6109 */ 0x4c7b,
- /* key: 0x610a */ 0xbe3a,
- /* key: 0x610b */ 0xffff,
- /* key: 0x610c */ 0xbe3b,
- /* key: 0x610d */ 0x583e,
- /* key: 0x610e */ 0x583f,
- /* key: 0x610f */ 0x3055,
- /* key: 0x6110 */ 0xbe3c,
- /* key: 0x6111 */ 0xbe3d,
- /* key: 0x6112 */ 0xbe3e,
- /* key: 0x6113 */ 0xbe3f,
- /* key: 0x6114 */ 0xbe40,
- /* key: 0x6115 */ 0x5833,
- /* key: 0x6116 */ 0xbe41,
- /* key: 0x6117 */ 0xbe42,
- /* key: 0x6118 */ 0xffff,
- /* key: 0x6119 */ 0xbe43,
- /* key: 0x611a */ 0x3672,
- /* key: 0x611b */ 0x3026,
- /* key: 0x611c */ 0xbe44,
- /* key: 0x611d */ 0xffff,
- /* key: 0x611e */ 0xbe45,
- /* key: 0x611f */ 0x3436,
- /* key: 0x6120 */ 0xffff,
- /* key: 0x6121 */ 0x583b,
- /* key: 0x6122 */ 0xbe46,
- /* key: 0x6123 */ 0xffff,
- /* key: 0x6124 */ 0xffff,
- /* key: 0x6125 */ 0xffff,
- /* key: 0x6126 */ 0xffff,
- /* key: 0x6127 */ 0x5843,
- /* key: 0x6128 */ 0x5842,
- /* key: 0x6129 */ 0xffff,
- /* key: 0x612a */ 0xbe47,
- /* key: 0x612b */ 0xbe48,
- /* key: 0x612c */ 0x5847,
- /* key: 0x612d */ 0xffff,
- /* key: 0x612e */ 0xffff,
- /* key: 0x612f */ 0xffff,
- /* key: 0x6130 */ 0xbe49,
- /* key: 0x6131 */ 0xbe4a,
- /* key: 0x6132 */ 0xffff,
- /* key: 0x6133 */ 0xffff,
- /* key: 0x6134 */ 0x5848,
- /* key: 0x6135 */ 0xbe4b,
- /* key: 0x6136 */ 0xbe4c,
- /* key: 0x6137 */ 0xbe4d,
- /* key: 0x6138 */ 0xffff,
- /* key: 0x6139 */ 0xbe4e,
- /* key: 0x613a */ 0xffff,
- /* key: 0x613b */ 0xffff,
- /* key: 0x613c */ 0x5846,
- /* key: 0x613d */ 0x5849,
- /* key: 0x613e */ 0x5841,
- /* key: 0x613f */ 0x5845,
- /* key: 0x6140 */ 0xffff,
- /* key: 0x6141 */ 0xbe4f,
- /* key: 0x6142 */ 0x584a,
- /* key: 0x6143 */ 0xffff,
- /* key: 0x6144 */ 0x584b,
- /* key: 0x6145 */ 0xbe50,
- /* key: 0x6146 */ 0xbe51,
- /* key: 0x6147 */ 0x5840,
- /* key: 0x6148 */ 0x3b7c,
- /* key: 0x6149 */ 0xbe52,
- /* key: 0x614a */ 0x5844,
- /* key: 0x614b */ 0x4256,
- /* key: 0x614c */ 0x3932,
- /* key: 0x614d */ 0x5832,
- /* key: 0x614e */ 0x3f35,
- /* key: 0x614f */ 0xffff,
- /* key: 0x6150 */ 0xffff,
- /* key: 0x6151 */ 0xffff,
- /* key: 0x6152 */ 0xffff,
- /* key: 0x6153 */ 0x5858,
- /* key: 0x6154 */ 0xffff,
- /* key: 0x6155 */ 0x4a69,
- /* key: 0x6156 */ 0xffff,
- /* key: 0x6157 */ 0xffff,
- /* key: 0x6158 */ 0x584e,
- /* key: 0x6159 */ 0x584f,
- /* key: 0x615a */ 0x5850,
- /* key: 0x615b */ 0xffff,
- /* key: 0x615c */ 0xffff,
- /* key: 0x615d */ 0x5857,
- /* key: 0x615e */ 0xbe53,
- /* key: 0x615f */ 0x5856,
- /* key: 0x6160 */ 0xbe54,
- /* key: 0x6161 */ 0xffff,
- /* key: 0x6162 */ 0x4b7d,
- /* key: 0x6163 */ 0x3437,
- /* key: 0x6164 */ 0xffff,
- /* key: 0x6165 */ 0x5854,
- /* key: 0x6166 */ 0xffff,
- /* key: 0x6167 */ 0x3745,
- /* key: 0x6168 */ 0x3334,
- /* key: 0x6169 */ 0xffff,
- /* key: 0x616a */ 0xffff,
- /* key: 0x616b */ 0x5851,
- /* key: 0x616c */ 0xbe55,
- /* key: 0x616d */ 0xffff,
- /* key: 0x616e */ 0x4e38,
- /* key: 0x616f */ 0x5853,
- /* key: 0x6170 */ 0x3056,
- /* key: 0x6171 */ 0x5855,
- /* key: 0x6172 */ 0xbe56,
- /* key: 0x6173 */ 0x584c,
- /* key: 0x6174 */ 0x5852,
- /* key: 0x6175 */ 0x5859,
- /* key: 0x6176 */ 0x3744,
- /* key: 0x6177 */ 0x584d,
- /* key: 0x6178 */ 0xbe57,
- /* key: 0x6179 */ 0xffff,
- /* key: 0x617a */ 0xffff,
- /* key: 0x617b */ 0xbe58,
- /* key: 0x617c */ 0xbe59,
- /* key: 0x617d */ 0xffff,
- /* key: 0x617e */ 0x4d5d,
- /* key: 0x617f */ 0xbe5a,
- /* key: 0x6180 */ 0xbe5b,
- /* key: 0x6181 */ 0xbe5c,
- /* key: 0x6182 */ 0x4d2b,
- /* key: 0x6183 */ 0xbe5d,
- /* key: 0x6184 */ 0xbe5e,
- /* key: 0x6185 */ 0xffff,
- /* key: 0x6186 */ 0xffff,
- /* key: 0x6187 */ 0x585c,
- /* key: 0x6188 */ 0xffff,
- /* key: 0x6189 */ 0xffff,
- /* key: 0x618a */ 0x5860,
- /* key: 0x618b */ 0xbe5f,
- /* key: 0x618c */ 0xffff,
- /* key: 0x618d */ 0xbe60,
- /* key: 0x618e */ 0x417e,
- /* key: 0x618f */ 0xffff,
- /* key: 0x6190 */ 0x4e79,
- /* key: 0x6191 */ 0x5861,
- /* key: 0x6192 */ 0xbe61,
- /* key: 0x6193 */ 0xbe62,
- /* key: 0x6194 */ 0x585e,
- /* key: 0x6195 */ 0xffff,
- /* key: 0x6196 */ 0x585b,
- /* key: 0x6197 */ 0xbe63,
- /* key: 0x6198 */ 0xbe64,
- /* key: 0x6199 */ 0x585a,
- /* key: 0x619a */ 0x585f,
- /* key: 0x619b */ 0xffff,
- /* key: 0x619c */ 0xbe65,
- /* key: 0x619d */ 0xbe66,
- /* key: 0x619e */ 0xffff,
- /* key: 0x619f */ 0xbe67,
- /* key: 0x61a0 */ 0xbe68,
- /* key: 0x61a1 */ 0xffff,
- /* key: 0x61a2 */ 0xffff,
- /* key: 0x61a3 */ 0xffff,
- /* key: 0x61a4 */ 0x4a30,
- /* key: 0x61a5 */ 0xbe69,
- /* key: 0x61a6 */ 0xffff,
- /* key: 0x61a7 */ 0x4634,
- /* key: 0x61a8 */ 0xbe6a,
- /* key: 0x61a9 */ 0x3746,
- /* key: 0x61aa */ 0xbe6b,
- /* key: 0x61ab */ 0x5862,
- /* key: 0x61ac */ 0x585d,
- /* key: 0x61ad */ 0xbe6c,
- /* key: 0x61ae */ 0x5863,
- /* key: 0x61af */ 0xffff,
- /* key: 0x61b0 */ 0xffff,
- /* key: 0x61b1 */ 0xffff,
- /* key: 0x61b2 */ 0x377b,
- /* key: 0x61b3 */ 0xffff,
- /* key: 0x61b4 */ 0xffff,
- /* key: 0x61b5 */ 0xffff,
- /* key: 0x61b6 */ 0x3231,
- /* key: 0x61b7 */ 0xffff,
- /* key: 0x61b8 */ 0xbe6d,
- /* key: 0x61b9 */ 0xbe6e,
- /* key: 0x61ba */ 0x586b,
- /* key: 0x61bb */ 0xffff,
- /* key: 0x61bc */ 0xbe6f,
- /* key: 0x61bd */ 0xffff,
- /* key: 0x61be */ 0x3438,
- /* key: 0x61bf */ 0xffff,
- /* key: 0x61c0 */ 0xbe70,
- /* key: 0x61c1 */ 0xbe71,
- /* key: 0x61c2 */ 0xbe72,
- /* key: 0x61c3 */ 0x5869,
- /* key: 0x61c4 */ 0xffff,
- /* key: 0x61c5 */ 0xffff,
- /* key: 0x61c6 */ 0x586a,
- /* key: 0x61c7 */ 0x3a29,
- /* key: 0x61c8 */ 0x5868,
- /* key: 0x61c9 */ 0x5866,
- /* key: 0x61ca */ 0x5865,
- /* key: 0x61cb */ 0x586c,
- /* key: 0x61cc */ 0x5864,
- /* key: 0x61cd */ 0x586e,
- /* key: 0x61ce */ 0xbe73,
- /* key: 0x61cf */ 0xbe74,
- /* key: 0x61d0 */ 0x327b,
- /* key: 0x61d1 */ 0xffff,
- /* key: 0x61d2 */ 0xffff,
- /* key: 0x61d3 */ 0xffff,
- /* key: 0x61d4 */ 0xffff,
- /* key: 0x61d5 */ 0xbe75,
- /* key: 0x61d6 */ 0xffff,
- /* key: 0x61d7 */ 0xffff,
- /* key: 0x61d8 */ 0xffff,
- /* key: 0x61d9 */ 0xffff,
- /* key: 0x61da */ 0xffff,
- /* key: 0x61db */ 0xffff,
- /* key: 0x61dc */ 0xbe76,
- /* key: 0x61dd */ 0xbe77,
- /* key: 0x61de */ 0xbe78,
- /* key: 0x61df */ 0xbe79,
- /* key: 0x61e0 */ 0xffff,
- /* key: 0x61e1 */ 0xbe7a,
- /* key: 0x61e2 */ 0xbe7b,
- /* key: 0x61e3 */ 0x5870,
- /* key: 0x61e4 */ 0xffff,
- /* key: 0x61e5 */ 0xbe7e,
- /* key: 0x61e6 */ 0x586f,
- /* key: 0x61e7 */ 0xbe7c,
- /* key: 0x61e8 */ 0xffff,
- /* key: 0x61e9 */ 0xbe7d,
- /* key: 0x61ea */ 0xffff,
- /* key: 0x61eb */ 0xffff,
- /* key: 0x61ec */ 0xbf21,
- /* key: 0x61ed */ 0xbf22,
- /* key: 0x61ee */ 0xffff,
- /* key: 0x61ef */ 0xbf23,
- /* key: 0x61f0 */ 0xffff,
- /* key: 0x61f1 */ 0xffff,
- /* key: 0x61f2 */ 0x4428,
- /* key: 0x61f3 */ 0xffff,
- /* key: 0x61f4 */ 0x5873,
- /* key: 0x61f5 */ 0xffff,
- /* key: 0x61f6 */ 0x5871,
- /* key: 0x61f7 */ 0x5867,
- /* key: 0x61f8 */ 0x377c,
- /* key: 0x61f9 */ 0xffff,
- /* key: 0x61fa */ 0x5872,
- /* key: 0x61fb */ 0xffff,
- /* key: 0x61fc */ 0x5876,
- /* key: 0x61fd */ 0x5875,
- /* key: 0x61fe */ 0x5877,
- /* key: 0x61ff */ 0x5874,
- /* branch: 0x620X */ 7056,
- /* branch: 0x621X */ 7072,
- /* branch: 0x622X */ 7088,
- /* branch: 0x623X */ 7104,
- /* branch: 0x624X */ 7120,
- /* branch: 0x625X */ 7136,
- /* branch: 0x626X */ 7152,
- /* branch: 0x627X */ 7168,
- /* branch: 0x628X */ 7184,
- /* branch: 0x629X */ 7200,
- /* branch: 0x62aX */ 7216,
- /* branch: 0x62bX */ 7232,
- /* branch: 0x62cX */ 7248,
- /* branch: 0x62dX */ 7264,
- /* branch: 0x62eX */ 7280,
- /* branch: 0x62fX */ 7296,
- /* key: 0x6200 */ 0x5878,
- /* key: 0x6201 */ 0xbf24,
- /* key: 0x6202 */ 0xffff,
- /* key: 0x6203 */ 0xbf25,
- /* key: 0x6204 */ 0xbf26,
- /* key: 0x6205 */ 0xffff,
- /* key: 0x6206 */ 0xffff,
- /* key: 0x6207 */ 0xbf27,
- /* key: 0x6208 */ 0x5879,
- /* key: 0x6209 */ 0x587a,
- /* key: 0x620a */ 0x4a6a,
- /* key: 0x620b */ 0xffff,
- /* key: 0x620c */ 0x587c,
- /* key: 0x620d */ 0x587b,
- /* key: 0x620e */ 0x3d3f,
- /* key: 0x620f */ 0xffff,
- /* key: 0x6210 */ 0x402e,
- /* key: 0x6211 */ 0x3266,
- /* key: 0x6212 */ 0x327c,
- /* key: 0x6213 */ 0xbf28,
- /* key: 0x6214 */ 0x587d,
- /* key: 0x6215 */ 0xbf29,
- /* key: 0x6216 */ 0x303f,
- /* key: 0x6217 */ 0xffff,
- /* key: 0x6218 */ 0xffff,
- /* key: 0x6219 */ 0xffff,
- /* key: 0x621a */ 0x404c,
- /* key: 0x621b */ 0x587e,
- /* key: 0x621c */ 0xbf2a,
- /* key: 0x621d */ 0x6c43,
- /* key: 0x621e */ 0x5921,
- /* key: 0x621f */ 0x3761,
- /* key: 0x6220 */ 0xbf2b,
- /* key: 0x6221 */ 0x5922,
- /* key: 0x6222 */ 0xbf2c,
- /* key: 0x6223 */ 0xbf2d,
- /* key: 0x6224 */ 0xffff,
- /* key: 0x6225 */ 0xffff,
- /* key: 0x6226 */ 0x406f,
- /* key: 0x6227 */ 0xbf2e,
- /* key: 0x6228 */ 0xffff,
- /* key: 0x6229 */ 0xbf2f,
- /* key: 0x622a */ 0x5923,
- /* key: 0x622b */ 0xbf30,
- /* key: 0x622c */ 0xffff,
- /* key: 0x622d */ 0xffff,
- /* key: 0x622e */ 0x5924,
- /* key: 0x622f */ 0x353a,
- /* key: 0x6230 */ 0x5925,
- /* key: 0x6231 */ 0xffff,
- /* key: 0x6232 */ 0x5926,
- /* key: 0x6233 */ 0x5927,
- /* key: 0x6234 */ 0x4257,
- /* key: 0x6235 */ 0xffff,
- /* key: 0x6236 */ 0xffff,
- /* key: 0x6237 */ 0xffff,
- /* key: 0x6238 */ 0x384d,
- /* key: 0x6239 */ 0xbf31,
- /* key: 0x623a */ 0xffff,
- /* key: 0x623b */ 0x4c61,
- /* key: 0x623c */ 0xffff,
- /* key: 0x623d */ 0xbf32,
- /* key: 0x623e */ 0xffff,
- /* key: 0x623f */ 0x4b3c,
- /* key: 0x6240 */ 0x3d6a,
- /* key: 0x6241 */ 0x5928,
- /* key: 0x6242 */ 0xbf33,
- /* key: 0x6243 */ 0xbf34,
- /* key: 0x6244 */ 0xbf35,
- /* key: 0x6245 */ 0xffff,
- /* key: 0x6246 */ 0xbf36,
- /* key: 0x6247 */ 0x4070,
- /* key: 0x6248 */ 0x6e3d,
- /* key: 0x6249 */ 0x4862,
- /* key: 0x624a */ 0xffff,
- /* key: 0x624b */ 0x3c6a,
- /* key: 0x624c */ 0xbf37,
- /* key: 0x624d */ 0x3a4d,
- /* key: 0x624e */ 0x5929,
- /* key: 0x624f */ 0xffff,
- /* key: 0x6250 */ 0xbf38,
- /* key: 0x6251 */ 0xbf39,
- /* key: 0x6252 */ 0xbf3a,
- /* key: 0x6253 */ 0x4247,
- /* key: 0x6254 */ 0xbf3b,
- /* key: 0x6255 */ 0x4a27,
- /* key: 0x6256 */ 0xbf3c,
- /* key: 0x6257 */ 0xffff,
- /* key: 0x6258 */ 0x4271,
- /* key: 0x6259 */ 0xffff,
- /* key: 0x625a */ 0xbf3d,
- /* key: 0x625b */ 0x592c,
- /* key: 0x625c */ 0xbf3e,
- /* key: 0x625d */ 0xffff,
- /* key: 0x625e */ 0x592a,
- /* key: 0x625f */ 0xffff,
- /* key: 0x6260 */ 0x592d,
- /* key: 0x6261 */ 0xffff,
- /* key: 0x6262 */ 0xffff,
- /* key: 0x6263 */ 0x592b,
- /* key: 0x6264 */ 0xbf3f,
- /* key: 0x6265 */ 0xffff,
- /* key: 0x6266 */ 0xffff,
- /* key: 0x6267 */ 0xffff,
- /* key: 0x6268 */ 0x592e,
- /* key: 0x6269 */ 0xffff,
- /* key: 0x626a */ 0xffff,
- /* key: 0x626b */ 0xffff,
- /* key: 0x626c */ 0xffff,
- /* key: 0x626d */ 0xbf40,
- /* key: 0x626e */ 0x4a31,
- /* key: 0x626f */ 0xbf41,
- /* key: 0x6270 */ 0xffff,
- /* key: 0x6271 */ 0x3037,
- /* key: 0x6272 */ 0xffff,
- /* key: 0x6273 */ 0xbf42,
- /* key: 0x6274 */ 0xffff,
- /* key: 0x6275 */ 0xffff,
- /* key: 0x6276 */ 0x495e,
- /* key: 0x6277 */ 0xffff,
- /* key: 0x6278 */ 0xffff,
- /* key: 0x6279 */ 0x4863,
- /* key: 0x627a */ 0xbf43,
- /* key: 0x627b */ 0xffff,
- /* key: 0x627c */ 0x592f,
- /* key: 0x627d */ 0xbf44,
- /* key: 0x627e */ 0x5932,
- /* key: 0x627f */ 0x3e35,
- /* key: 0x6280 */ 0x353b,
- /* key: 0x6281 */ 0xffff,
- /* key: 0x6282 */ 0x5930,
- /* key: 0x6283 */ 0x5937,
- /* key: 0x6284 */ 0x3e36,
- /* key: 0x6285 */ 0xffff,
- /* key: 0x6286 */ 0xffff,
- /* key: 0x6287 */ 0xffff,
- /* key: 0x6288 */ 0xffff,
- /* key: 0x6289 */ 0x5931,
- /* key: 0x628a */ 0x4744,
- /* key: 0x628b */ 0xffff,
- /* key: 0x628c */ 0xffff,
- /* key: 0x628d */ 0xbf45,
- /* key: 0x628e */ 0xbf46,
- /* key: 0x628f */ 0xbf47,
- /* key: 0x6290 */ 0xbf48,
- /* key: 0x6291 */ 0x4d5e,
- /* key: 0x6292 */ 0x5933,
- /* key: 0x6293 */ 0x5934,
- /* key: 0x6294 */ 0x5938,
- /* key: 0x6295 */ 0x456a,
- /* key: 0x6296 */ 0x5935,
- /* key: 0x6297 */ 0x3933,
- /* key: 0x6298 */ 0x405e,
- /* key: 0x6299 */ 0xffff,
- /* key: 0x629a */ 0xffff,
- /* key: 0x629b */ 0x5946,
- /* key: 0x629c */ 0x4834,
- /* key: 0x629d */ 0xffff,
- /* key: 0x629e */ 0x4272,
- /* key: 0x629f */ 0xffff,
- /* key: 0x62a0 */ 0xffff,
- /* key: 0x62a1 */ 0xffff,
- /* key: 0x62a2 */ 0xffff,
- /* key: 0x62a3 */ 0xffff,
- /* key: 0x62a4 */ 0xffff,
- /* key: 0x62a5 */ 0xffff,
- /* key: 0x62a6 */ 0xbf49,
- /* key: 0x62a7 */ 0xffff,
- /* key: 0x62a8 */ 0xbf4a,
- /* key: 0x62a9 */ 0xffff,
- /* key: 0x62aa */ 0xffff,
- /* key: 0x62ab */ 0x4864,
- /* key: 0x62ac */ 0x5a2d,
- /* key: 0x62ad */ 0xffff,
- /* key: 0x62ae */ 0xffff,
- /* key: 0x62af */ 0xffff,
- /* key: 0x62b0 */ 0xffff,
- /* key: 0x62b1 */ 0x4a7a,
- /* key: 0x62b2 */ 0xffff,
- /* key: 0x62b3 */ 0xbf4b,
- /* key: 0x62b4 */ 0xffff,
- /* key: 0x62b5 */ 0x4471,
- /* key: 0x62b6 */ 0xbf4c,
- /* key: 0x62b7 */ 0xbf4d,
- /* key: 0x62b8 */ 0xffff,
- /* key: 0x62b9 */ 0x4b75,
- /* key: 0x62ba */ 0xbf4e,
- /* key: 0x62bb */ 0x593b,
- /* key: 0x62bc */ 0x3221,
- /* key: 0x62bd */ 0x436a,
- /* key: 0x62be */ 0xbf4f,
- /* key: 0x62bf */ 0xbf50,
- /* key: 0x62c0 */ 0xffff,
- /* key: 0x62c1 */ 0xffff,
- /* key: 0x62c2 */ 0x5944,
- /* key: 0x62c3 */ 0xffff,
- /* key: 0x62c4 */ 0xbf51,
- /* key: 0x62c5 */ 0x4334,
- /* key: 0x62c6 */ 0x593e,
- /* key: 0x62c7 */ 0x5945,
- /* key: 0x62c8 */ 0x5940,
- /* key: 0x62c9 */ 0x5947,
- /* key: 0x62ca */ 0x5943,
- /* key: 0x62cb */ 0xffff,
- /* key: 0x62cc */ 0x5942,
- /* key: 0x62cd */ 0x476f,
- /* key: 0x62ce */ 0xbf52,
- /* key: 0x62cf */ 0x593c,
- /* key: 0x62d0 */ 0x327d,
- /* key: 0x62d1 */ 0x593a,
- /* key: 0x62d2 */ 0x3571,
- /* key: 0x62d3 */ 0x4273,
- /* key: 0x62d4 */ 0x5936,
- /* key: 0x62d5 */ 0xbf53,
- /* key: 0x62d6 */ 0xbf54,
- /* key: 0x62d7 */ 0x5939,
- /* key: 0x62d8 */ 0x3934,
- /* key: 0x62d9 */ 0x405b,
- /* key: 0x62da */ 0xbf55,
- /* key: 0x62db */ 0x3e37,
- /* key: 0x62dc */ 0x5941,
- /* key: 0x62dd */ 0x4752,
- /* key: 0x62de */ 0xffff,
- /* key: 0x62df */ 0xffff,
- /* key: 0x62e0 */ 0x3572,
- /* key: 0x62e1 */ 0x3348,
- /* key: 0x62e2 */ 0xffff,
- /* key: 0x62e3 */ 0xffff,
- /* key: 0x62e4 */ 0xffff,
- /* key: 0x62e5 */ 0xffff,
- /* key: 0x62e6 */ 0xffff,
- /* key: 0x62e7 */ 0xffff,
- /* key: 0x62e8 */ 0xffff,
- /* key: 0x62e9 */ 0xffff,
- /* key: 0x62ea */ 0xbf56,
- /* key: 0x62eb */ 0xffff,
- /* key: 0x62ec */ 0x3367,
- /* key: 0x62ed */ 0x3f21,
- /* key: 0x62ee */ 0x5949,
- /* key: 0x62ef */ 0x594e,
- /* key: 0x62f0 */ 0xffff,
- /* key: 0x62f1 */ 0x594a,
- /* key: 0x62f2 */ 0xbf57,
- /* key: 0x62f3 */ 0x377d,
- /* key: 0x62f4 */ 0xbf58,
- /* key: 0x62f5 */ 0x594f,
- /* key: 0x62f6 */ 0x3b22,
- /* key: 0x62f7 */ 0x3969,
- /* key: 0x62f8 */ 0xffff,
- /* key: 0x62f9 */ 0xffff,
- /* key: 0x62fa */ 0xffff,
- /* key: 0x62fb */ 0xffff,
- /* key: 0x62fc */ 0xbf59,
- /* key: 0x62fd */ 0xbf5a,
- /* key: 0x62fe */ 0x3d26,
- /* key: 0x62ff */ 0x593d,
- /* branch: 0x630X */ 7328,
- /* branch: 0x631X */ 7344,
- /* branch: 0x632X */ 7360,
- /* branch: 0x633X */ 7376,
- /* branch: 0x634X */ 7392,
- /* branch: 0x635X */ 7408,
- /* branch: 0x636X */ 7424,
- /* branch: 0x637X */ 7440,
- /* branch: 0x638X */ 7456,
- /* branch: 0x639X */ 7472,
- /* branch: 0x63aX */ 7488,
- /* branch: 0x63bX */ 7504,
- /* branch: 0x63cX */ 7520,
- /* branch: 0x63dX */ 7536,
- /* branch: 0x63eX */ 7552,
- /* branch: 0x63fX */ 7568,
- /* key: 0x6300 */ 0xffff,
- /* key: 0x6301 */ 0x3b7d,
- /* key: 0x6302 */ 0x594c,
- /* key: 0x6303 */ 0xbf5b,
- /* key: 0x6304 */ 0xbf5c,
- /* key: 0x6305 */ 0xffff,
- /* key: 0x6306 */ 0xffff,
- /* key: 0x6307 */ 0x3b58,
- /* key: 0x6308 */ 0x594d,
- /* key: 0x6309 */ 0x3044,
- /* key: 0x630a */ 0xbf5d,
- /* key: 0x630b */ 0xbf5e,
- /* key: 0x630c */ 0x5948,
- /* key: 0x630d */ 0xbf5f,
- /* key: 0x630e */ 0xffff,
- /* key: 0x630f */ 0xffff,
- /* key: 0x6310 */ 0xbf60,
- /* key: 0x6311 */ 0x4429,
- /* key: 0x6312 */ 0xffff,
- /* key: 0x6313 */ 0xbf61,
- /* key: 0x6314 */ 0xffff,
- /* key: 0x6315 */ 0xffff,
- /* key: 0x6316 */ 0xbf62,
- /* key: 0x6317 */ 0xffff,
- /* key: 0x6318 */ 0xbf63,
- /* key: 0x6319 */ 0x3573,
- /* key: 0x631a */ 0xffff,
- /* key: 0x631b */ 0xffff,
- /* key: 0x631c */ 0xffff,
- /* key: 0x631d */ 0xffff,
- /* key: 0x631e */ 0xffff,
- /* key: 0x631f */ 0x3634,
- /* key: 0x6320 */ 0xffff,
- /* key: 0x6321 */ 0xffff,
- /* key: 0x6322 */ 0xffff,
- /* key: 0x6323 */ 0xffff,
- /* key: 0x6324 */ 0xffff,
- /* key: 0x6325 */ 0xffff,
- /* key: 0x6326 */ 0xffff,
- /* key: 0x6327 */ 0x594b,
- /* key: 0x6328 */ 0x3027,
- /* key: 0x6329 */ 0xbf64,
- /* key: 0x632a */ 0xbf65,
- /* key: 0x632b */ 0x3a43,
- /* key: 0x632c */ 0xffff,
- /* key: 0x632d */ 0xbf66,
- /* key: 0x632e */ 0xffff,
- /* key: 0x632f */ 0x3f36,
- /* key: 0x6330 */ 0xffff,
- /* key: 0x6331 */ 0xffff,
- /* key: 0x6332 */ 0xffff,
- /* key: 0x6333 */ 0xffff,
- /* key: 0x6334 */ 0xffff,
- /* key: 0x6335 */ 0xbf67,
- /* key: 0x6336 */ 0xbf68,
- /* key: 0x6337 */ 0xffff,
- /* key: 0x6338 */ 0xffff,
- /* key: 0x6339 */ 0xbf69,
- /* key: 0x633a */ 0x4472,
- /* key: 0x633b */ 0xffff,
- /* key: 0x633c */ 0xbf6a,
- /* key: 0x633d */ 0x4854,
- /* key: 0x633e */ 0x5951,
- /* key: 0x633f */ 0x415e,
- /* key: 0x6340 */ 0xffff,
- /* key: 0x6341 */ 0xbf6b,
- /* key: 0x6342 */ 0xbf6c,
- /* key: 0x6343 */ 0xbf6d,
- /* key: 0x6344 */ 0xbf6e,
- /* key: 0x6345 */ 0xffff,
- /* key: 0x6346 */ 0xbf6f,
- /* key: 0x6347 */ 0xffff,
- /* key: 0x6348 */ 0xffff,
- /* key: 0x6349 */ 0x422a,
- /* key: 0x634a */ 0xbf70,
- /* key: 0x634b */ 0xbf71,
- /* key: 0x634c */ 0x3b2b,
- /* key: 0x634d */ 0x5952,
- /* key: 0x634e */ 0xbf72,
- /* key: 0x634f */ 0x5954,
- /* key: 0x6350 */ 0x5950,
- /* key: 0x6351 */ 0xffff,
- /* key: 0x6352 */ 0xbf73,
- /* key: 0x6353 */ 0xbf74,
- /* key: 0x6354 */ 0xbf75,
- /* key: 0x6355 */ 0x4a61,
- /* key: 0x6356 */ 0xffff,
- /* key: 0x6357 */ 0x443d,
- /* key: 0x6358 */ 0xbf76,
- /* key: 0x6359 */ 0xffff,
- /* key: 0x635a */ 0xffff,
- /* key: 0x635b */ 0xbf77,
- /* key: 0x635c */ 0x415c,
- /* key: 0x635d */ 0xffff,
- /* key: 0x635e */ 0xffff,
- /* key: 0x635f */ 0xffff,
- /* key: 0x6360 */ 0xffff,
- /* key: 0x6361 */ 0xffff,
- /* key: 0x6362 */ 0xffff,
- /* key: 0x6363 */ 0xffff,
- /* key: 0x6364 */ 0xffff,
- /* key: 0x6365 */ 0xbf78,
- /* key: 0x6366 */ 0xbf79,
- /* key: 0x6367 */ 0x4a7b,
- /* key: 0x6368 */ 0x3c4e,
- /* key: 0x6369 */ 0x5960,
- /* key: 0x636a */ 0xffff,
- /* key: 0x636b */ 0x595f,
- /* key: 0x636c */ 0xbf7a,
- /* key: 0x636d */ 0xbf7b,
- /* key: 0x636e */ 0x3f78,
- /* key: 0x636f */ 0xffff,
- /* key: 0x6370 */ 0xffff,
- /* key: 0x6371 */ 0xbf7c,
- /* key: 0x6372 */ 0x377e,
- /* key: 0x6373 */ 0xffff,
- /* key: 0x6374 */ 0xbf7d,
- /* key: 0x6375 */ 0xbf7e,
- /* key: 0x6376 */ 0x5959,
- /* key: 0x6377 */ 0x3e39,
- /* key: 0x6378 */ 0xc021,
- /* key: 0x6379 */ 0xffff,
- /* key: 0x637a */ 0x4668,
- /* key: 0x637b */ 0x4731,
- /* key: 0x637c */ 0xc022,
- /* key: 0x637d */ 0xc023,
- /* key: 0x637e */ 0xffff,
- /* key: 0x637f */ 0xc024,
- /* key: 0x6380 */ 0x5957,
- /* key: 0x6381 */ 0xffff,
- /* key: 0x6382 */ 0xc025,
- /* key: 0x6383 */ 0x415d,
- /* key: 0x6384 */ 0xc026,
- /* key: 0x6385 */ 0xffff,
- /* key: 0x6386 */ 0xffff,
- /* key: 0x6387 */ 0xc027,
- /* key: 0x6388 */ 0x3c78,
- /* key: 0x6389 */ 0x595c,
- /* key: 0x638a */ 0xc028,
- /* key: 0x638b */ 0xffff,
- /* key: 0x638c */ 0x3e38,
- /* key: 0x638d */ 0xffff,
- /* key: 0x638e */ 0x5956,
- /* key: 0x638f */ 0x595b,
- /* key: 0x6390 */ 0xc029,
- /* key: 0x6391 */ 0xffff,
- /* key: 0x6392 */ 0x4753,
- /* key: 0x6393 */ 0xffff,
- /* key: 0x6394 */ 0xc02a,
- /* key: 0x6395 */ 0xc02b,
- /* key: 0x6396 */ 0x5955,
- /* key: 0x6397 */ 0xffff,
- /* key: 0x6398 */ 0x3721,
- /* key: 0x6399 */ 0xc02c,
- /* key: 0x639a */ 0xc02d,
- /* key: 0x639b */ 0x335d,
- /* key: 0x639c */ 0xffff,
- /* key: 0x639d */ 0xffff,
- /* key: 0x639e */ 0xc02e,
- /* key: 0x639f */ 0x595d,
- /* key: 0x63a0 */ 0x4e2b,
- /* key: 0x63a1 */ 0x3a4e,
- /* key: 0x63a2 */ 0x4335,
- /* key: 0x63a3 */ 0x595a,
- /* key: 0x63a4 */ 0xc02f,
- /* key: 0x63a5 */ 0x405c,
- /* key: 0x63a6 */ 0xc030,
- /* key: 0x63a7 */ 0x3935,
- /* key: 0x63a8 */ 0x3f64,
- /* key: 0x63a9 */ 0x3166,
- /* key: 0x63aa */ 0x413c,
- /* key: 0x63ab */ 0x5958,
- /* key: 0x63ac */ 0x3545,
- /* key: 0x63ad */ 0xc031,
- /* key: 0x63ae */ 0xc032,
- /* key: 0x63af */ 0xc033,
- /* key: 0x63b0 */ 0xffff,
- /* key: 0x63b1 */ 0xffff,
- /* key: 0x63b2 */ 0x3747,
- /* key: 0x63b3 */ 0xffff,
- /* key: 0x63b4 */ 0x444f,
- /* key: 0x63b5 */ 0x595e,
- /* key: 0x63b6 */ 0xffff,
- /* key: 0x63b7 */ 0xffff,
- /* key: 0x63b8 */ 0xffff,
- /* key: 0x63b9 */ 0xffff,
- /* key: 0x63ba */ 0xffff,
- /* key: 0x63bb */ 0x415f,
- /* key: 0x63bc */ 0xffff,
- /* key: 0x63bd */ 0xc034,
- /* key: 0x63be */ 0x5961,
- /* key: 0x63bf */ 0xffff,
- /* key: 0x63c0 */ 0x5963,
- /* key: 0x63c1 */ 0xc035,
- /* key: 0x63c2 */ 0xffff,
- /* key: 0x63c3 */ 0x4237,
- /* key: 0x63c4 */ 0x5969,
- /* key: 0x63c5 */ 0xc036,
- /* key: 0x63c6 */ 0x5964,
- /* key: 0x63c7 */ 0xffff,
- /* key: 0x63c8 */ 0xc037,
- /* key: 0x63c9 */ 0x5966,
- /* key: 0x63ca */ 0xffff,
- /* key: 0x63cb */ 0xffff,
- /* key: 0x63cc */ 0xffff,
- /* key: 0x63cd */ 0xffff,
- /* key: 0x63ce */ 0xc038,
- /* key: 0x63cf */ 0x4941,
- /* key: 0x63d0 */ 0x4473,
- /* key: 0x63d1 */ 0xc039,
- /* key: 0x63d2 */ 0x5967,
- /* key: 0x63d3 */ 0xc03a,
- /* key: 0x63d4 */ 0xc03b,
- /* key: 0x63d5 */ 0xc03c,
- /* key: 0x63d6 */ 0x4d2c,
- /* key: 0x63d7 */ 0xffff,
- /* key: 0x63d8 */ 0xffff,
- /* key: 0x63d9 */ 0xffff,
- /* key: 0x63da */ 0x4d48,
- /* key: 0x63db */ 0x3439,
- /* key: 0x63dc */ 0xc03d,
- /* key: 0x63dd */ 0xffff,
- /* key: 0x63de */ 0xffff,
- /* key: 0x63df */ 0xffff,
- /* key: 0x63e0 */ 0xc03e,
- /* key: 0x63e1 */ 0x302e,
- /* key: 0x63e2 */ 0xffff,
- /* key: 0x63e3 */ 0x5965,
- /* key: 0x63e4 */ 0xffff,
- /* key: 0x63e5 */ 0xc03f,
- /* key: 0x63e6 */ 0xffff,
- /* key: 0x63e7 */ 0xffff,
- /* key: 0x63e8 */ 0xffff,
- /* key: 0x63e9 */ 0x5962,
- /* key: 0x63ea */ 0xc040,
- /* key: 0x63eb */ 0xffff,
- /* key: 0x63ec */ 0xc041,
- /* key: 0x63ed */ 0xffff,
- /* key: 0x63ee */ 0x3478,
- /* key: 0x63ef */ 0xffff,
- /* key: 0x63f0 */ 0xffff,
- /* key: 0x63f1 */ 0xffff,
- /* key: 0x63f2 */ 0xc042,
- /* key: 0x63f3 */ 0xc043,
- /* key: 0x63f4 */ 0x3167,
- /* key: 0x63f5 */ 0xc044,
- /* key: 0x63f6 */ 0x5968,
- /* key: 0x63f7 */ 0xffff,
- /* key: 0x63f8 */ 0xc045,
- /* key: 0x63f9 */ 0xc046,
- /* key: 0x63fa */ 0x4d49,
- /* key: 0x63fb */ 0xffff,
- /* key: 0x63fc */ 0xffff,
- /* key: 0x63fd */ 0xffff,
- /* key: 0x63fe */ 0xffff,
- /* key: 0x63ff */ 0xffff,
- /* branch: 0x640X */ 7600,
- /* branch: 0x641X */ 7616,
- /* branch: 0x642X */ 7632,
- /* branch: 0x643X */ 7648,
- /* branch: 0x644X */ 7664,
- /* branch: 0x645X */ 7680,
- /* branch: 0x646X */ 7696,
- /* branch: 0x647X */ 7712,
- /* branch: 0x648X */ 7728,
- /* branch: 0x649X */ 7744,
- /* branch: 0x64aX */ 7760,
- /* branch: 0x64bX */ 7776,
- /* branch: 0x64cX */ 7792,
- /* branch: 0x64dX */ 7808,
- /* branch: 0x64eX */ 7824,
- /* branch: 0x64fX */ 7840,
- /* key: 0x6400 */ 0xffff,
- /* key: 0x6401 */ 0xffff,
- /* key: 0x6402 */ 0xffff,
- /* key: 0x6403 */ 0xffff,
- /* key: 0x6404 */ 0xffff,
- /* key: 0x6405 */ 0xffff,
- /* key: 0x6406 */ 0x596c,
- /* key: 0x6407 */ 0xffff,
- /* key: 0x6408 */ 0xffff,
- /* key: 0x6409 */ 0xc047,
- /* key: 0x640a */ 0xc048,
- /* key: 0x640b */ 0xffff,
- /* key: 0x640c */ 0xffff,
- /* key: 0x640d */ 0x423b,
- /* key: 0x640e */ 0xffff,
- /* key: 0x640f */ 0x5973,
- /* key: 0x6410 */ 0xc049,
- /* key: 0x6411 */ 0xffff,
- /* key: 0x6412 */ 0xc04a,
- /* key: 0x6413 */ 0x596d,
- /* key: 0x6414 */ 0xc04b,
- /* key: 0x6415 */ 0xffff,
- /* key: 0x6416 */ 0x596a,
- /* key: 0x6417 */ 0x5971,
- /* key: 0x6418 */ 0xc04c,
- /* key: 0x6419 */ 0xffff,
- /* key: 0x641a */ 0xffff,
- /* key: 0x641b */ 0xffff,
- /* key: 0x641c */ 0x5953,
- /* key: 0x641d */ 0xffff,
- /* key: 0x641e */ 0xc04d,
- /* key: 0x641f */ 0xffff,
- /* key: 0x6420 */ 0xc04e,
- /* key: 0x6421 */ 0xffff,
- /* key: 0x6422 */ 0xc04f,
- /* key: 0x6423 */ 0xffff,
- /* key: 0x6424 */ 0xc050,
- /* key: 0x6425 */ 0xc051,
- /* key: 0x6426 */ 0x596e,
- /* key: 0x6427 */ 0xffff,
- /* key: 0x6428 */ 0x5972,
- /* key: 0x6429 */ 0xc052,
- /* key: 0x642a */ 0xc053,
- /* key: 0x642b */ 0xffff,
- /* key: 0x642c */ 0x4842,
- /* key: 0x642d */ 0x456b,
- /* key: 0x642e */ 0xffff,
- /* key: 0x642f */ 0xc054,
- /* key: 0x6430 */ 0xc055,
- /* key: 0x6431 */ 0xffff,
- /* key: 0x6432 */ 0xffff,
- /* key: 0x6433 */ 0xffff,
- /* key: 0x6434 */ 0x596b,
- /* key: 0x6435 */ 0xc056,
- /* key: 0x6436 */ 0x596f,
- /* key: 0x6437 */ 0xffff,
- /* key: 0x6438 */ 0xffff,
- /* key: 0x6439 */ 0xffff,
- /* key: 0x643a */ 0x3748,
- /* key: 0x643b */ 0xffff,
- /* key: 0x643c */ 0xffff,
- /* key: 0x643d */ 0xc057,
- /* key: 0x643e */ 0x3a71,
- /* key: 0x643f */ 0xc058,
- /* key: 0x6440 */ 0xffff,
- /* key: 0x6441 */ 0xffff,
- /* key: 0x6442 */ 0x405d,
- /* key: 0x6443 */ 0xffff,
- /* key: 0x6444 */ 0xffff,
- /* key: 0x6445 */ 0xffff,
- /* key: 0x6446 */ 0xffff,
- /* key: 0x6447 */ 0xffff,
- /* key: 0x6448 */ 0xffff,
- /* key: 0x6449 */ 0xffff,
- /* key: 0x644a */ 0xffff,
- /* key: 0x644b */ 0xc059,
- /* key: 0x644c */ 0xffff,
- /* key: 0x644d */ 0xffff,
- /* key: 0x644e */ 0x5977,
- /* key: 0x644f */ 0xc05a,
- /* key: 0x6450 */ 0xffff,
- /* key: 0x6451 */ 0xc05b,
- /* key: 0x6452 */ 0xc05c,
- /* key: 0x6453 */ 0xc05d,
- /* key: 0x6454 */ 0xc05e,
- /* key: 0x6455 */ 0xffff,
- /* key: 0x6456 */ 0xffff,
- /* key: 0x6457 */ 0xffff,
- /* key: 0x6458 */ 0x4526,
- /* key: 0x6459 */ 0xffff,
- /* key: 0x645a */ 0xc05f,
- /* key: 0x645b */ 0xc060,
- /* key: 0x645c */ 0xc061,
- /* key: 0x645d */ 0xc062,
- /* key: 0x645e */ 0xffff,
- /* key: 0x645f */ 0xc063,
- /* key: 0x6460 */ 0xc064,
- /* key: 0x6461 */ 0xc065,
- /* key: 0x6462 */ 0xffff,
- /* key: 0x6463 */ 0xc066,
- /* key: 0x6464 */ 0xffff,
- /* key: 0x6465 */ 0xffff,
- /* key: 0x6466 */ 0xffff,
- /* key: 0x6467 */ 0x5974,
- /* key: 0x6468 */ 0xffff,
- /* key: 0x6469 */ 0x4b60,
- /* key: 0x646a */ 0xffff,
- /* key: 0x646b */ 0xffff,
- /* key: 0x646c */ 0xffff,
- /* key: 0x646d */ 0xc067,
- /* key: 0x646e */ 0xffff,
- /* key: 0x646f */ 0x5975,
- /* key: 0x6470 */ 0xffff,
- /* key: 0x6471 */ 0xffff,
- /* key: 0x6472 */ 0xffff,
- /* key: 0x6473 */ 0xc068,
- /* key: 0x6474 */ 0xc069,
- /* key: 0x6475 */ 0xffff,
- /* key: 0x6476 */ 0x5976,
- /* key: 0x6477 */ 0xffff,
- /* key: 0x6478 */ 0x4c4e,
- /* key: 0x6479 */ 0xffff,
- /* key: 0x647a */ 0x4022,
- /* key: 0x647b */ 0xc06a,
- /* key: 0x647c */ 0xffff,
- /* key: 0x647d */ 0xc06b,
- /* key: 0x647e */ 0xffff,
- /* key: 0x647f */ 0xffff,
- /* key: 0x6480 */ 0xffff,
- /* key: 0x6481 */ 0xffff,
- /* key: 0x6482 */ 0xffff,
- /* key: 0x6483 */ 0x3762,
- /* key: 0x6484 */ 0xffff,
- /* key: 0x6485 */ 0xc06c,
- /* key: 0x6486 */ 0xffff,
- /* key: 0x6487 */ 0xc06d,
- /* key: 0x6488 */ 0x597d,
- /* key: 0x6489 */ 0xffff,
- /* key: 0x648a */ 0xffff,
- /* key: 0x648b */ 0xffff,
- /* key: 0x648c */ 0xffff,
- /* key: 0x648d */ 0xffff,
- /* key: 0x648e */ 0xffff,
- /* key: 0x648f */ 0xc06e,
- /* key: 0x6490 */ 0xc06f,
- /* key: 0x6491 */ 0xc070,
- /* key: 0x6492 */ 0x3b35,
- /* key: 0x6493 */ 0x597a,
- /* key: 0x6494 */ 0xffff,
- /* key: 0x6495 */ 0x5979,
- /* key: 0x6496 */ 0xffff,
- /* key: 0x6497 */ 0xffff,
- /* key: 0x6498 */ 0xc071,
- /* key: 0x6499 */ 0xc072,
- /* key: 0x649a */ 0x4732,
- /* key: 0x649b */ 0xc073,
- /* key: 0x649c */ 0xffff,
- /* key: 0x649d */ 0xc074,
- /* key: 0x649e */ 0x4635,
- /* key: 0x649f */ 0xc075,
- /* key: 0x64a0 */ 0xffff,
- /* key: 0x64a1 */ 0xc076,
- /* key: 0x64a2 */ 0xffff,
- /* key: 0x64a3 */ 0xc077,
- /* key: 0x64a4 */ 0x4531,
- /* key: 0x64a5 */ 0x597b,
- /* key: 0x64a6 */ 0xc078,
- /* key: 0x64a7 */ 0xffff,
- /* key: 0x64a8 */ 0xc079,
- /* key: 0x64a9 */ 0x597c,
- /* key: 0x64aa */ 0xffff,
- /* key: 0x64ab */ 0x496f,
- /* key: 0x64ac */ 0xc07a,
- /* key: 0x64ad */ 0x4745,
- /* key: 0x64ae */ 0x3b23,
- /* key: 0x64af */ 0xffff,
- /* key: 0x64b0 */ 0x4071,
- /* key: 0x64b1 */ 0xffff,
- /* key: 0x64b2 */ 0x4b50,
- /* key: 0x64b3 */ 0xc07b,
- /* key: 0x64b4 */ 0xffff,
- /* key: 0x64b5 */ 0xffff,
- /* key: 0x64b6 */ 0xffff,
- /* key: 0x64b7 */ 0xffff,
- /* key: 0x64b8 */ 0xffff,
- /* key: 0x64b9 */ 0x3349,
- /* key: 0x64ba */ 0xffff,
- /* key: 0x64bb */ 0x5a25,
- /* key: 0x64bc */ 0x597e,
- /* key: 0x64bd */ 0xc07c,
- /* key: 0x64be */ 0xc07d,
- /* key: 0x64bf */ 0xc07e,
- /* key: 0x64c0 */ 0xffff,
- /* key: 0x64c1 */ 0x4d4a,
- /* key: 0x64c2 */ 0x5a27,
- /* key: 0x64c3 */ 0xffff,
- /* key: 0x64c4 */ 0xc121,
- /* key: 0x64c5 */ 0x5a23,
- /* key: 0x64c6 */ 0xffff,
- /* key: 0x64c7 */ 0x5a24,
- /* key: 0x64c8 */ 0xffff,
- /* key: 0x64c9 */ 0xc122,
- /* key: 0x64ca */ 0xc123,
- /* key: 0x64cb */ 0xc124,
- /* key: 0x64cc */ 0xc125,
- /* key: 0x64cd */ 0x4160,
- /* key: 0x64ce */ 0xc126,
- /* key: 0x64cf */ 0xffff,
- /* key: 0x64d0 */ 0xc127,
- /* key: 0x64d1 */ 0xc128,
- /* key: 0x64d2 */ 0x5a22,
- /* key: 0x64d3 */ 0xffff,
- /* key: 0x64d4 */ 0x593f,
- /* key: 0x64d5 */ 0xc129,
- /* key: 0x64d6 */ 0xffff,
- /* key: 0x64d7 */ 0xc12a,
- /* key: 0x64d8 */ 0x5a26,
- /* key: 0x64d9 */ 0xffff,
- /* key: 0x64da */ 0x5a21,
- /* key: 0x64db */ 0xffff,
- /* key: 0x64dc */ 0xffff,
- /* key: 0x64dd */ 0xffff,
- /* key: 0x64de */ 0xffff,
- /* key: 0x64df */ 0xffff,
- /* key: 0x64e0 */ 0x5a2b,
- /* key: 0x64e1 */ 0x5a2c,
- /* key: 0x64e2 */ 0x4527,
- /* key: 0x64e3 */ 0x5a2e,
- /* key: 0x64e4 */ 0xc12b,
- /* key: 0x64e5 */ 0xc12c,
- /* key: 0x64e6 */ 0x3b24,
- /* key: 0x64e7 */ 0x5a29,
- /* key: 0x64e8 */ 0xffff,
- /* key: 0x64e9 */ 0xc12d,
- /* key: 0x64ea */ 0xc12e,
- /* key: 0x64eb */ 0xffff,
- /* key: 0x64ec */ 0x353c,
- /* key: 0x64ed */ 0xc12f,
- /* key: 0x64ee */ 0xffff,
- /* key: 0x64ef */ 0x5a2f,
- /* key: 0x64f0 */ 0xc130,
- /* key: 0x64f1 */ 0x5a28,
- /* key: 0x64f2 */ 0x5a33,
- /* key: 0x64f3 */ 0xffff,
- /* key: 0x64f4 */ 0x5a32,
- /* key: 0x64f5 */ 0xc131,
- /* key: 0x64f6 */ 0x5a31,
- /* key: 0x64f7 */ 0xc132,
- /* key: 0x64f8 */ 0xffff,
- /* key: 0x64f9 */ 0xffff,
- /* key: 0x64fa */ 0x5a34,
- /* key: 0x64fb */ 0xc133,
- /* key: 0x64fc */ 0xffff,
- /* key: 0x64fd */ 0x5a36,
- /* key: 0x64fe */ 0x3e71,
- /* key: 0x64ff */ 0xc134,
- /* branch: 0x650X */ 7872,
- /* branch: 0x651X */ 7888,
- /* branch: 0x652X */ 7904,
- /* branch: 0x653X */ 7920,
- /* branch: 0x654X */ 7936,
- /* branch: 0x655X */ 7952,
- /* branch: 0x656X */ 7968,
- /* branch: 0x657X */ 7984,
- /* branch: 0x658X */ 8000,
- /* branch: 0x659X */ 8016,
- /* branch: 0x65aX */ 8032,
- /* branch: 0x65bX */ 8048,
- /* branch: 0x65cX */ 8064,
- /* branch: 0x65dX */ 8080,
- /* branch: 0x65eX */ 8096,
- /* branch: 0x65fX */ 8112,
- /* key: 0x6500 */ 0x5a35,
- /* key: 0x6501 */ 0xc135,
- /* key: 0x6502 */ 0xffff,
- /* key: 0x6503 */ 0xffff,
- /* key: 0x6504 */ 0xc136,
- /* key: 0x6505 */ 0x5a39,
- /* key: 0x6506 */ 0xffff,
- /* key: 0x6507 */ 0xffff,
- /* key: 0x6508 */ 0xc137,
- /* key: 0x6509 */ 0xc138,
- /* key: 0x650a */ 0xc139,
- /* key: 0x650b */ 0xffff,
- /* key: 0x650c */ 0xffff,
- /* key: 0x650d */ 0xffff,
- /* key: 0x650e */ 0xffff,
- /* key: 0x650f */ 0xc13a,
- /* key: 0x6510 */ 0xffff,
- /* key: 0x6511 */ 0xffff,
- /* key: 0x6512 */ 0xffff,
- /* key: 0x6513 */ 0xc13b,
- /* key: 0x6514 */ 0xc13c,
- /* key: 0x6515 */ 0xffff,
- /* key: 0x6516 */ 0xc13d,
- /* key: 0x6517 */ 0xffff,
- /* key: 0x6518 */ 0x5a37,
- /* key: 0x6519 */ 0xc13e,
- /* key: 0x651a */ 0xffff,
- /* key: 0x651b */ 0xc13f,
- /* key: 0x651c */ 0x5a38,
- /* key: 0x651d */ 0x5970,
- /* key: 0x651e */ 0xc140,
- /* key: 0x651f */ 0xc141,
- /* key: 0x6520 */ 0xffff,
- /* key: 0x6521 */ 0xffff,
- /* key: 0x6522 */ 0xc142,
- /* key: 0x6523 */ 0x5a3b,
- /* key: 0x6524 */ 0x5a3a,
- /* key: 0x6525 */ 0xffff,
- /* key: 0x6526 */ 0xc143,
- /* key: 0x6527 */ 0xffff,
- /* key: 0x6528 */ 0xffff,
- /* key: 0x6529 */ 0xc144,
- /* key: 0x652a */ 0x5978,
- /* key: 0x652b */ 0x5a3c,
- /* key: 0x652c */ 0x5a30,
- /* key: 0x652d */ 0xffff,
- /* key: 0x652e */ 0xc145,
- /* key: 0x652f */ 0x3b59,
- /* key: 0x6530 */ 0xffff,
- /* key: 0x6531 */ 0xc146,
- /* key: 0x6532 */ 0xffff,
- /* key: 0x6533 */ 0xffff,
- /* key: 0x6534 */ 0x5a3d,
- /* key: 0x6535 */ 0x5a3e,
- /* key: 0x6536 */ 0x5a40,
- /* key: 0x6537 */ 0x5a3f,
- /* key: 0x6538 */ 0x5a41,
- /* key: 0x6539 */ 0x327e,
- /* key: 0x653a */ 0xc147,
- /* key: 0x653b */ 0x3936,
- /* key: 0x653c */ 0xc148,
- /* key: 0x653d */ 0xc149,
- /* key: 0x653e */ 0x4a7c,
- /* key: 0x653f */ 0x402f,
- /* key: 0x6540 */ 0xffff,
- /* key: 0x6541 */ 0xffff,
- /* key: 0x6542 */ 0xffff,
- /* key: 0x6543 */ 0xc14a,
- /* key: 0x6544 */ 0xffff,
- /* key: 0x6545 */ 0x384e,
- /* key: 0x6546 */ 0xffff,
- /* key: 0x6547 */ 0xc14b,
- /* key: 0x6548 */ 0x5a43,
- /* key: 0x6549 */ 0xc14c,
- /* key: 0x654a */ 0xffff,
- /* key: 0x654b */ 0xffff,
- /* key: 0x654c */ 0xffff,
- /* key: 0x654d */ 0x5a46,
- /* key: 0x654e */ 0xffff,
- /* key: 0x654f */ 0x4952,
- /* key: 0x6550 */ 0xc14d,
- /* key: 0x6551 */ 0x355f,
- /* key: 0x6552 */ 0xc14e,
- /* key: 0x6553 */ 0xffff,
- /* key: 0x6554 */ 0xc14f,
- /* key: 0x6555 */ 0x5a45,
- /* key: 0x6556 */ 0x5a44,
- /* key: 0x6557 */ 0x4754,
- /* key: 0x6558 */ 0x5a47,
- /* key: 0x6559 */ 0x3635,
- /* key: 0x655a */ 0xffff,
- /* key: 0x655b */ 0xffff,
- /* key: 0x655c */ 0xffff,
- /* key: 0x655d */ 0x5a49,
- /* key: 0x655e */ 0x5a48,
- /* key: 0x655f */ 0xc150,
- /* key: 0x6560 */ 0xc151,
- /* key: 0x6561 */ 0xffff,
- /* key: 0x6562 */ 0x343a,
- /* key: 0x6563 */ 0x3b36,
- /* key: 0x6564 */ 0xffff,
- /* key: 0x6565 */ 0xffff,
- /* key: 0x6566 */ 0x4658,
- /* key: 0x6567 */ 0xc152,
- /* key: 0x6568 */ 0xffff,
- /* key: 0x6569 */ 0xffff,
- /* key: 0x656a */ 0xffff,
- /* key: 0x656b */ 0xc153,
- /* key: 0x656c */ 0x3749,
- /* key: 0x656d */ 0xffff,
- /* key: 0x656e */ 0xffff,
- /* key: 0x656f */ 0xffff,
- /* key: 0x6570 */ 0x3f74,
- /* key: 0x6571 */ 0xffff,
- /* key: 0x6572 */ 0x5a4a,
- /* key: 0x6573 */ 0xffff,
- /* key: 0x6574 */ 0x4030,
- /* key: 0x6575 */ 0x4528,
- /* key: 0x6576 */ 0xffff,
- /* key: 0x6577 */ 0x495f,
- /* key: 0x6578 */ 0x5a4b,
- /* key: 0x6579 */ 0xffff,
- /* key: 0x657a */ 0xc154,
- /* key: 0x657b */ 0xffff,
- /* key: 0x657c */ 0xffff,
- /* key: 0x657d */ 0xc155,
- /* key: 0x657e */ 0xffff,
- /* key: 0x657f */ 0xffff,
- /* key: 0x6580 */ 0xffff,
- /* key: 0x6581 */ 0xc156,
- /* key: 0x6582 */ 0x5a4c,
- /* key: 0x6583 */ 0x5a4d,
- /* key: 0x6584 */ 0xffff,
- /* key: 0x6585 */ 0xc157,
- /* key: 0x6586 */ 0xffff,
- /* key: 0x6587 */ 0x4a38,
- /* key: 0x6588 */ 0x555d,
- /* key: 0x6589 */ 0x4046,
- /* key: 0x658a */ 0xc158,
- /* key: 0x658b */ 0xffff,
- /* key: 0x658c */ 0x494c,
- /* key: 0x658d */ 0xffff,
- /* key: 0x658e */ 0x3a58,
- /* key: 0x658f */ 0xffff,
- /* key: 0x6590 */ 0x4865,
- /* key: 0x6591 */ 0x4843,
- /* key: 0x6592 */ 0xc159,
- /* key: 0x6593 */ 0xffff,
- /* key: 0x6594 */ 0xffff,
- /* key: 0x6595 */ 0xc15a,
- /* key: 0x6596 */ 0xffff,
- /* key: 0x6597 */ 0x454d,
- /* key: 0x6598 */ 0xc15b,
- /* key: 0x6599 */ 0x4e41,
- /* key: 0x659a */ 0xffff,
- /* key: 0x659b */ 0x5a4f,
- /* key: 0x659c */ 0x3c50,
- /* key: 0x659d */ 0xc15c,
- /* key: 0x659e */ 0xffff,
- /* key: 0x659f */ 0x5a50,
- /* key: 0x65a0 */ 0xc15d,
- /* key: 0x65a1 */ 0x3036,
- /* key: 0x65a2 */ 0xffff,
- /* key: 0x65a3 */ 0xc15e,
- /* key: 0x65a4 */ 0x3654,
- /* key: 0x65a5 */ 0x404d,
- /* key: 0x65a6 */ 0xc15f,
- /* key: 0x65a7 */ 0x4960,
- /* key: 0x65a8 */ 0xffff,
- /* key: 0x65a9 */ 0xffff,
- /* key: 0x65aa */ 0xffff,
- /* key: 0x65ab */ 0x5a51,
- /* key: 0x65ac */ 0x3b42,
- /* key: 0x65ad */ 0x4347,
- /* key: 0x65ae */ 0xc160,
- /* key: 0x65af */ 0x3b5b,
- /* key: 0x65b0 */ 0x3f37,
- /* key: 0x65b1 */ 0xffff,
- /* key: 0x65b2 */ 0xc161,
- /* key: 0x65b3 */ 0xc162,
- /* key: 0x65b4 */ 0xc163,
- /* key: 0x65b5 */ 0xffff,
- /* key: 0x65b6 */ 0xffff,
- /* key: 0x65b7 */ 0x5a52,
- /* key: 0x65b8 */ 0xffff,
- /* key: 0x65b9 */ 0x4a7d,
- /* key: 0x65ba */ 0xffff,
- /* key: 0x65bb */ 0xffff,
- /* key: 0x65bc */ 0x3177,
- /* key: 0x65bd */ 0x3b5c,
- /* key: 0x65be */ 0xffff,
- /* key: 0x65bf */ 0xc164,
- /* key: 0x65c0 */ 0xffff,
- /* key: 0x65c1 */ 0x5a55,
- /* key: 0x65c2 */ 0xc165,
- /* key: 0x65c3 */ 0x5a53,
- /* key: 0x65c4 */ 0x5a56,
- /* key: 0x65c5 */ 0x4e39,
- /* key: 0x65c6 */ 0x5a54,
- /* key: 0x65c7 */ 0xffff,
- /* key: 0x65c8 */ 0xc166,
- /* key: 0x65c9 */ 0xc167,
- /* key: 0x65ca */ 0xffff,
- /* key: 0x65cb */ 0x407b,
- /* key: 0x65cc */ 0x5a57,
- /* key: 0x65cd */ 0xffff,
- /* key: 0x65ce */ 0xc168,
- /* key: 0x65cf */ 0x4232,
- /* key: 0x65d0 */ 0xc169,
- /* key: 0x65d1 */ 0xffff,
- /* key: 0x65d2 */ 0x5a58,
- /* key: 0x65d3 */ 0xffff,
- /* key: 0x65d4 */ 0xc16a,
- /* key: 0x65d5 */ 0xffff,
- /* key: 0x65d6 */ 0xc16b,
- /* key: 0x65d7 */ 0x347a,
- /* key: 0x65d8 */ 0xc16c,
- /* key: 0x65d9 */ 0x5a5a,
- /* key: 0x65da */ 0xffff,
- /* key: 0x65db */ 0x5a59,
- /* key: 0x65dc */ 0xffff,
- /* key: 0x65dd */ 0xffff,
- /* key: 0x65de */ 0xffff,
- /* key: 0x65df */ 0xc16d,
- /* key: 0x65e0 */ 0x5a5b,
- /* key: 0x65e1 */ 0x5a5c,
- /* key: 0x65e2 */ 0x347b,
- /* key: 0x65e3 */ 0xffff,
- /* key: 0x65e4 */ 0xffff,
- /* key: 0x65e5 */ 0x467c,
- /* key: 0x65e6 */ 0x4336,
- /* key: 0x65e7 */ 0x356c,
- /* key: 0x65e8 */ 0x3b5d,
- /* key: 0x65e9 */ 0x4161,
- /* key: 0x65ea */ 0xffff,
- /* key: 0x65eb */ 0xffff,
- /* key: 0x65ec */ 0x3d5c,
- /* key: 0x65ed */ 0x3030,
- /* key: 0x65ee */ 0xffff,
- /* key: 0x65ef */ 0xffff,
- /* key: 0x65f0 */ 0xc16e,
- /* key: 0x65f1 */ 0x5a5d,
- /* key: 0x65f2 */ 0xc16f,
- /* key: 0x65f3 */ 0xffff,
- /* key: 0x65f4 */ 0xc170,
- /* key: 0x65f5 */ 0xc171,
- /* key: 0x65f6 */ 0xffff,
- /* key: 0x65f7 */ 0xffff,
- /* key: 0x65f8 */ 0xffff,
- /* key: 0x65f9 */ 0xc172,
- /* key: 0x65fa */ 0x3222,
- /* key: 0x65fb */ 0x5a61,
- /* key: 0x65fc */ 0xffff,
- /* key: 0x65fd */ 0xffff,
- /* key: 0x65fe */ 0xc173,
- /* key: 0x65ff */ 0xc174,
- /* branch: 0x660X */ 8144,
- /* branch: 0x661X */ 8160,
- /* branch: 0x662X */ 8176,
- /* branch: 0x663X */ 8192,
- /* branch: 0x664X */ 8208,
- /* branch: 0x665X */ 8224,
- /* branch: 0x666X */ 8240,
- /* branch: 0x667X */ 8256,
- /* branch: 0x668X */ 8272,
- /* branch: 0x669X */ 8288,
- /* branch: 0x66aX */ 8304,
- /* branch: 0x66bX */ 8320,
- /* branch: 0x66cX */ 8336,
- /* branch: 0x66dX */ 8352,
- /* branch: 0x66eX */ 8368,
- /* branch: 0x66fX */ 8384,
- /* key: 0x6600 */ 0xc175,
- /* key: 0x6601 */ 0xffff,
- /* key: 0x6602 */ 0x3937,
- /* key: 0x6603 */ 0x5a60,
- /* key: 0x6604 */ 0xc176,
- /* key: 0x6605 */ 0xffff,
- /* key: 0x6606 */ 0x3a2b,
- /* key: 0x6607 */ 0x3e3a,
- /* key: 0x6608 */ 0xc177,
- /* key: 0x6609 */ 0xc178,
- /* key: 0x660a */ 0x5a5f,
- /* key: 0x660b */ 0xffff,
- /* key: 0x660c */ 0x3e3b,
- /* key: 0x660d */ 0xc179,
- /* key: 0x660e */ 0x4c40,
- /* key: 0x660f */ 0x3a2a,
- /* key: 0x6610 */ 0xffff,
- /* key: 0x6611 */ 0xc17a,
- /* key: 0x6612 */ 0xc17b,
- /* key: 0x6613 */ 0x3057,
- /* key: 0x6614 */ 0x404e,
- /* key: 0x6615 */ 0xc17c,
- /* key: 0x6616 */ 0xc17d,
- /* key: 0x6617 */ 0xffff,
- /* key: 0x6618 */ 0xffff,
- /* key: 0x6619 */ 0xffff,
- /* key: 0x661a */ 0xffff,
- /* key: 0x661b */ 0xffff,
- /* key: 0x661c */ 0x5a66,
- /* key: 0x661d */ 0xc17e,
- /* key: 0x661e */ 0xc221,
- /* key: 0x661f */ 0x4031,
- /* key: 0x6620 */ 0x3147,
- /* key: 0x6621 */ 0xc222,
- /* key: 0x6622 */ 0xc223,
- /* key: 0x6623 */ 0xc224,
- /* key: 0x6624 */ 0xc225,
- /* key: 0x6625 */ 0x3d55,
- /* key: 0x6626 */ 0xc226,
- /* key: 0x6627 */ 0x4b66,
- /* key: 0x6628 */ 0x3a72,
- /* key: 0x6629 */ 0xc227,
- /* key: 0x662a */ 0xc228,
- /* key: 0x662b */ 0xc229,
- /* key: 0x662c */ 0xc22a,
- /* key: 0x662d */ 0x3e3c,
- /* key: 0x662e */ 0xc22b,
- /* key: 0x662f */ 0x4027,
- /* key: 0x6630 */ 0xc22c,
- /* key: 0x6631 */ 0xc22d,
- /* key: 0x6632 */ 0xffff,
- /* key: 0x6633 */ 0xc22e,
- /* key: 0x6634 */ 0x5a65,
- /* key: 0x6635 */ 0x5a63,
- /* key: 0x6636 */ 0x5a64,
- /* key: 0x6637 */ 0xc230,
- /* key: 0x6638 */ 0xffff,
- /* key: 0x6639 */ 0xc22f,
- /* key: 0x663a */ 0xffff,
- /* key: 0x663b */ 0xffff,
- /* key: 0x663c */ 0x436b,
- /* key: 0x663d */ 0xffff,
- /* key: 0x663e */ 0xffff,
- /* key: 0x663f */ 0x5b26,
- /* key: 0x6640 */ 0xc231,
- /* key: 0x6641 */ 0x5a6a,
- /* key: 0x6642 */ 0x3b7e,
- /* key: 0x6643 */ 0x3938,
- /* key: 0x6644 */ 0x5a68,
- /* key: 0x6645 */ 0xc232,
- /* key: 0x6646 */ 0xc233,
- /* key: 0x6647 */ 0xffff,
- /* key: 0x6648 */ 0xffff,
- /* key: 0x6649 */ 0x5a69,
- /* key: 0x664a */ 0xc234,
- /* key: 0x664b */ 0x3f38,
- /* key: 0x664c */ 0xc235,
- /* key: 0x664d */ 0xffff,
- /* key: 0x664e */ 0xc237,
- /* key: 0x664f */ 0x5a67,
- /* key: 0x6650 */ 0xffff,
- /* key: 0x6651 */ 0xc236,
- /* key: 0x6652 */ 0x3b2f,
- /* key: 0x6653 */ 0xffff,
- /* key: 0x6654 */ 0xffff,
- /* key: 0x6655 */ 0xffff,
- /* key: 0x6656 */ 0xffff,
- /* key: 0x6657 */ 0xc238,
- /* key: 0x6658 */ 0xc239,
- /* key: 0x6659 */ 0xc23a,
- /* key: 0x665a */ 0xffff,
- /* key: 0x665b */ 0xc23b,
- /* key: 0x665c */ 0xc23c,
- /* key: 0x665d */ 0x5a6c,
- /* key: 0x665e */ 0x5a6b,
- /* key: 0x665f */ 0x5a70,
- /* key: 0x6660 */ 0xc23d,
- /* key: 0x6661 */ 0xc23e,
- /* key: 0x6662 */ 0x5a71,
- /* key: 0x6663 */ 0xffff,
- /* key: 0x6664 */ 0x5a6d,
- /* key: 0x6665 */ 0xffff,
- /* key: 0x6666 */ 0x3322,
- /* key: 0x6667 */ 0x5a6e,
- /* key: 0x6668 */ 0x5a6f,
- /* key: 0x6669 */ 0x4855,
- /* key: 0x666a */ 0xc240,
- /* key: 0x666b */ 0xc241,
- /* key: 0x666c */ 0xc242,
- /* key: 0x666d */ 0xffff,
- /* key: 0x666e */ 0x4961,
- /* key: 0x666f */ 0x374a,
- /* key: 0x6670 */ 0x5a72,
- /* key: 0x6671 */ 0xffff,
- /* key: 0x6672 */ 0xffff,
- /* key: 0x6673 */ 0xc244,
- /* key: 0x6674 */ 0x4032,
- /* key: 0x6675 */ 0xc245,
- /* key: 0x6676 */ 0x3e3d,
- /* key: 0x6677 */ 0xc247,
- /* key: 0x6678 */ 0xc248,
- /* key: 0x6679 */ 0xc249,
- /* key: 0x667a */ 0x4352,
- /* key: 0x667b */ 0xc24a,
- /* key: 0x667c */ 0xc24c,
- /* key: 0x667d */ 0xffff,
- /* key: 0x667e */ 0xc243,
- /* key: 0x667f */ 0xc246,
- /* key: 0x6680 */ 0xc24b,
- /* key: 0x6681 */ 0x3647,
- /* key: 0x6682 */ 0xffff,
- /* key: 0x6683 */ 0x5a73,
- /* key: 0x6684 */ 0x5a77,
- /* key: 0x6685 */ 0xffff,
- /* key: 0x6686 */ 0xffff,
- /* key: 0x6687 */ 0x324b,
- /* key: 0x6688 */ 0x5a74,
- /* key: 0x6689 */ 0x5a76,
- /* key: 0x668a */ 0xffff,
- /* key: 0x668b */ 0xc24d,
- /* key: 0x668c */ 0xc24e,
- /* key: 0x668d */ 0xc24f,
- /* key: 0x668e */ 0x5a75,
- /* key: 0x668f */ 0xffff,
- /* key: 0x6690 */ 0xc250,
- /* key: 0x6691 */ 0x3d6b,
- /* key: 0x6692 */ 0xc251,
- /* key: 0x6693 */ 0xffff,
- /* key: 0x6694 */ 0xffff,
- /* key: 0x6695 */ 0xffff,
- /* key: 0x6696 */ 0x4348,
- /* key: 0x6697 */ 0x3045,
- /* key: 0x6698 */ 0x5a78,
- /* key: 0x6699 */ 0xc252,
- /* key: 0x669a */ 0xc253,
- /* key: 0x669b */ 0xc254,
- /* key: 0x669c */ 0xc255,
- /* key: 0x669d */ 0x5a79,
- /* key: 0x669e */ 0xffff,
- /* key: 0x669f */ 0xc256,
- /* key: 0x66a0 */ 0xc257,
- /* key: 0x66a1 */ 0xffff,
- /* key: 0x66a2 */ 0x442a,
- /* key: 0x66a3 */ 0xffff,
- /* key: 0x66a4 */ 0xc258,
- /* key: 0x66a5 */ 0xffff,
- /* key: 0x66a6 */ 0x4e71,
- /* key: 0x66a7 */ 0xffff,
- /* key: 0x66a8 */ 0xffff,
- /* key: 0x66a9 */ 0xffff,
- /* key: 0x66aa */ 0xffff,
- /* key: 0x66ab */ 0x3b43,
- /* key: 0x66ac */ 0xffff,
- /* key: 0x66ad */ 0xc259,
- /* key: 0x66ae */ 0x4a6b,
- /* key: 0x66af */ 0xffff,
- /* key: 0x66b0 */ 0xffff,
- /* key: 0x66b1 */ 0xc25a,
- /* key: 0x66b2 */ 0xc25b,
- /* key: 0x66b3 */ 0xffff,
- /* key: 0x66b4 */ 0x4b3d,
- /* key: 0x66b5 */ 0xc25c,
- /* key: 0x66b6 */ 0xffff,
- /* key: 0x66b7 */ 0xffff,
- /* key: 0x66b8 */ 0x5b22,
- /* key: 0x66b9 */ 0x5a7b,
- /* key: 0x66ba */ 0xffff,
- /* key: 0x66bb */ 0xc25d,
- /* key: 0x66bc */ 0x5a7e,
- /* key: 0x66bd */ 0xffff,
- /* key: 0x66be */ 0x5a7d,
- /* key: 0x66bf */ 0xc25e,
- /* key: 0x66c0 */ 0xc25f,
- /* key: 0x66c1 */ 0x5a7a,
- /* key: 0x66c2 */ 0xc260,
- /* key: 0x66c3 */ 0xc261,
- /* key: 0x66c4 */ 0x5b21,
- /* key: 0x66c5 */ 0xffff,
- /* key: 0x66c6 */ 0xffff,
- /* key: 0x66c7 */ 0x465e,
- /* key: 0x66c8 */ 0xc262,
- /* key: 0x66c9 */ 0x5a7c,
- /* key: 0x66ca */ 0xffff,
- /* key: 0x66cb */ 0xffff,
- /* key: 0x66cc */ 0xc263,
- /* key: 0x66cd */ 0xffff,
- /* key: 0x66ce */ 0xc264,
- /* key: 0x66cf */ 0xc265,
- /* key: 0x66d0 */ 0xffff,
- /* key: 0x66d1 */ 0xffff,
- /* key: 0x66d2 */ 0xffff,
- /* key: 0x66d3 */ 0xffff,
- /* key: 0x66d4 */ 0xc266,
- /* key: 0x66d5 */ 0xffff,
- /* key: 0x66d6 */ 0x5b23,
- /* key: 0x66d7 */ 0xffff,
- /* key: 0x66d8 */ 0xffff,
- /* key: 0x66d9 */ 0x3d6c,
- /* key: 0x66da */ 0x5b24,
- /* key: 0x66db */ 0xc267,
- /* key: 0x66dc */ 0x4d4b,
- /* key: 0x66dd */ 0x4778,
- /* key: 0x66de */ 0xffff,
- /* key: 0x66df */ 0xc268,
- /* key: 0x66e0 */ 0x5b25,
- /* key: 0x66e1 */ 0xffff,
- /* key: 0x66e2 */ 0xffff,
- /* key: 0x66e3 */ 0xffff,
- /* key: 0x66e4 */ 0xffff,
- /* key: 0x66e5 */ 0xffff,
- /* key: 0x66e6 */ 0x5b27,
- /* key: 0x66e7 */ 0xffff,
- /* key: 0x66e8 */ 0xc269,
- /* key: 0x66e9 */ 0x5b28,
- /* key: 0x66ea */ 0xffff,
- /* key: 0x66eb */ 0xc26a,
- /* key: 0x66ec */ 0xc26b,
- /* key: 0x66ed */ 0xffff,
- /* key: 0x66ee */ 0xc26c,
- /* key: 0x66ef */ 0xffff,
- /* key: 0x66f0 */ 0x5b29,
- /* key: 0x66f1 */ 0xffff,
- /* key: 0x66f2 */ 0x364a,
- /* key: 0x66f3 */ 0x3148,
- /* key: 0x66f4 */ 0x3939,
- /* key: 0x66f5 */ 0x5b2a,
- /* key: 0x66f6 */ 0xffff,
- /* key: 0x66f7 */ 0x5b2b,
- /* key: 0x66f8 */ 0x3d71,
- /* key: 0x66f9 */ 0x4162,
- /* key: 0x66fa */ 0xc26d,
- /* key: 0x66fb */ 0xc23f,
- /* key: 0x66fc */ 0x5258,
- /* key: 0x66fd */ 0x413e,
- /* key: 0x66fe */ 0x413d,
- /* key: 0x66ff */ 0x4258,
- /* branch: 0x670X */ 8416,
- /* branch: 0x671X */ 8432,
- /* branch: 0x672X */ 8448,
- /* branch: 0x673X */ 8464,
- /* branch: 0x674X */ 8480,
- /* branch: 0x675X */ 8496,
- /* branch: 0x676X */ 8512,
- /* branch: 0x677X */ 8528,
- /* branch: 0x678X */ 8544,
- /* branch: 0x679X */ 8560,
- /* branch: 0x67aX */ 8576,
- /* branch: 0x67bX */ 8592,
- /* branch: 0x67cX */ 8608,
- /* branch: 0x67dX */ 8624,
- /* branch: 0x67eX */ 8640,
- /* branch: 0x67fX */ 8656,
- /* key: 0x6700 */ 0x3a47,
- /* key: 0x6701 */ 0xffff,
- /* key: 0x6702 */ 0xffff,
- /* key: 0x6703 */ 0x5072,
- /* key: 0x6704 */ 0xffff,
- /* key: 0x6705 */ 0xc26e,
- /* key: 0x6706 */ 0xffff,
- /* key: 0x6707 */ 0xc26f,
- /* key: 0x6708 */ 0x376e,
- /* key: 0x6709 */ 0x4d2d,
- /* key: 0x670a */ 0xffff,
- /* key: 0x670b */ 0x4a7e,
- /* key: 0x670c */ 0xffff,
- /* key: 0x670d */ 0x497e,
- /* key: 0x670e */ 0xc270,
- /* key: 0x670f */ 0x5b2c,
- /* key: 0x6710 */ 0xffff,
- /* key: 0x6711 */ 0xffff,
- /* key: 0x6712 */ 0xffff,
- /* key: 0x6713 */ 0xc271,
- /* key: 0x6714 */ 0x3a73,
- /* key: 0x6715 */ 0x443f,
- /* key: 0x6716 */ 0x5b2d,
- /* key: 0x6717 */ 0x4f2f,
- /* key: 0x6718 */ 0xffff,
- /* key: 0x6719 */ 0xc272,
- /* key: 0x671a */ 0xffff,
- /* key: 0x671b */ 0x4b3e,
- /* key: 0x671c */ 0xc273,
- /* key: 0x671d */ 0x442b,
- /* key: 0x671e */ 0x5b2e,
- /* key: 0x671f */ 0x347c,
- /* key: 0x6720 */ 0xc274,
- /* key: 0x6721 */ 0xffff,
- /* key: 0x6722 */ 0xc275,
- /* key: 0x6723 */ 0xffff,
- /* key: 0x6724 */ 0xffff,
- /* key: 0x6725 */ 0xffff,
- /* key: 0x6726 */ 0x5b2f,
- /* key: 0x6727 */ 0x5b30,
- /* key: 0x6728 */ 0x4c5a,
- /* key: 0x6729 */ 0xffff,
- /* key: 0x672a */ 0x4c24,
- /* key: 0x672b */ 0x4b76,
- /* key: 0x672c */ 0x4b5c,
- /* key: 0x672d */ 0x3b25,
- /* key: 0x672e */ 0x5b32,
- /* key: 0x672f */ 0xffff,
- /* key: 0x6730 */ 0xffff,
- /* key: 0x6731 */ 0x3c6b,
- /* key: 0x6732 */ 0xffff,
- /* key: 0x6733 */ 0xc276,
- /* key: 0x6734 */ 0x4b51,
- /* key: 0x6735 */ 0xffff,
- /* key: 0x6736 */ 0x5b34,
- /* key: 0x6737 */ 0x5b37,
- /* key: 0x6738 */ 0x5b36,
- /* key: 0x6739 */ 0xffff,
- /* key: 0x673a */ 0x3479,
- /* key: 0x673b */ 0xffff,
- /* key: 0x673c */ 0xffff,
- /* key: 0x673d */ 0x3560,
- /* key: 0x673e */ 0xc277,
- /* key: 0x673f */ 0x5b33,
- /* key: 0x6740 */ 0xffff,
- /* key: 0x6741 */ 0x5b35,
- /* key: 0x6742 */ 0xffff,
- /* key: 0x6743 */ 0xffff,
- /* key: 0x6744 */ 0xffff,
- /* key: 0x6745 */ 0xc278,
- /* key: 0x6746 */ 0x5b38,
- /* key: 0x6747 */ 0xc279,
- /* key: 0x6748 */ 0xc27a,
- /* key: 0x6749 */ 0x3f79,
- /* key: 0x674a */ 0xffff,
- /* key: 0x674b */ 0xffff,
- /* key: 0x674c */ 0xc27b,
- /* key: 0x674d */ 0xffff,
- /* key: 0x674e */ 0x4d7b,
- /* key: 0x674f */ 0x3049,
- /* key: 0x6750 */ 0x3a60,
- /* key: 0x6751 */ 0x423c,
- /* key: 0x6752 */ 0xffff,
- /* key: 0x6753 */ 0x3c5d,
- /* key: 0x6754 */ 0xc27c,
- /* key: 0x6755 */ 0xc27d,
- /* key: 0x6756 */ 0x3e73,
- /* key: 0x6757 */ 0xffff,
- /* key: 0x6758 */ 0xffff,
- /* key: 0x6759 */ 0x5b3b,
- /* key: 0x675a */ 0xffff,
- /* key: 0x675b */ 0xffff,
- /* key: 0x675c */ 0x454e,
- /* key: 0x675d */ 0xc27e,
- /* key: 0x675e */ 0x5b39,
- /* key: 0x675f */ 0x422b,
- /* key: 0x6760 */ 0x5b3a,
- /* key: 0x6761 */ 0x3e72,
- /* key: 0x6762 */ 0x4c5d,
- /* key: 0x6763 */ 0x5b3c,
- /* key: 0x6764 */ 0x5b3d,
- /* key: 0x6765 */ 0x4d68,
- /* key: 0x6766 */ 0xc321,
- /* key: 0x6767 */ 0xffff,
- /* key: 0x6768 */ 0xffff,
- /* key: 0x6769 */ 0xffff,
- /* key: 0x676a */ 0x5b42,
- /* key: 0x676b */ 0xffff,
- /* key: 0x676c */ 0xc322,
- /* key: 0x676d */ 0x393a,
- /* key: 0x676e */ 0xc323,
- /* key: 0x676f */ 0x4755,
- /* key: 0x6770 */ 0x5b3f,
- /* key: 0x6771 */ 0x456c,
- /* key: 0x6772 */ 0x5a5e,
- /* key: 0x6773 */ 0x5a62,
- /* key: 0x6774 */ 0xc324,
- /* key: 0x6775 */ 0x354f,
- /* key: 0x6776 */ 0xc325,
- /* key: 0x6777 */ 0x4747,
- /* key: 0x6778 */ 0xffff,
- /* key: 0x6779 */ 0xffff,
- /* key: 0x677a */ 0xffff,
- /* key: 0x677b */ 0xc326,
- /* key: 0x677c */ 0x5b41,
- /* key: 0x677d */ 0xffff,
- /* key: 0x677e */ 0x3e3e,
- /* key: 0x677f */ 0x4844,
- /* key: 0x6780 */ 0xffff,
- /* key: 0x6781 */ 0xc327,
- /* key: 0x6782 */ 0xffff,
- /* key: 0x6783 */ 0xffff,
- /* key: 0x6784 */ 0xc328,
- /* key: 0x6785 */ 0x5b47,
- /* key: 0x6786 */ 0xffff,
- /* key: 0x6787 */ 0x487a,
- /* key: 0x6788 */ 0xffff,
- /* key: 0x6789 */ 0x5b3e,
- /* key: 0x678a */ 0xffff,
- /* key: 0x678b */ 0x5b44,
- /* key: 0x678c */ 0x5b43,
- /* key: 0x678d */ 0xffff,
- /* key: 0x678e */ 0xc329,
- /* key: 0x678f */ 0xc32a,
- /* key: 0x6790 */ 0x404f,
- /* key: 0x6791 */ 0xc32b,
- /* key: 0x6792 */ 0xffff,
- /* key: 0x6793 */ 0xc32c,
- /* key: 0x6794 */ 0xffff,
- /* key: 0x6795 */ 0x4b6d,
- /* key: 0x6796 */ 0xc32d,
- /* key: 0x6797 */ 0x4e53,
- /* key: 0x6798 */ 0xc32e,
- /* key: 0x6799 */ 0xc32f,
- /* key: 0x679a */ 0x4b67,
- /* key: 0x679b */ 0xc330,
- /* key: 0x679c */ 0x324c,
- /* key: 0x679d */ 0x3b5e,
- /* key: 0x679e */ 0xffff,
- /* key: 0x679f */ 0xffff,
- /* key: 0x67a0 */ 0x4f48,
- /* key: 0x67a1 */ 0x5b46,
- /* key: 0x67a2 */ 0x3f75,
- /* key: 0x67a3 */ 0xffff,
- /* key: 0x67a4 */ 0xffff,
- /* key: 0x67a5 */ 0xffff,
- /* key: 0x67a6 */ 0x5b45,
- /* key: 0x67a7 */ 0xffff,
- /* key: 0x67a8 */ 0xffff,
- /* key: 0x67a9 */ 0x5b40,
- /* key: 0x67aa */ 0xffff,
- /* key: 0x67ab */ 0xffff,
- /* key: 0x67ac */ 0xffff,
- /* key: 0x67ad */ 0xffff,
- /* key: 0x67ae */ 0xffff,
- /* key: 0x67af */ 0x384f,
- /* key: 0x67b0 */ 0xc331,
- /* key: 0x67b1 */ 0xc332,
- /* key: 0x67b2 */ 0xc333,
- /* key: 0x67b3 */ 0x5b4c,
- /* key: 0x67b4 */ 0x5b4a,
- /* key: 0x67b5 */ 0xc334,
- /* key: 0x67b6 */ 0x324d,
- /* key: 0x67b7 */ 0x5b48,
- /* key: 0x67b8 */ 0x5b4e,
- /* key: 0x67b9 */ 0x5b54,
- /* key: 0x67ba */ 0xffff,
- /* key: 0x67bb */ 0xc335,
- /* key: 0x67bc */ 0xc336,
- /* key: 0x67bd */ 0xc337,
- /* key: 0x67be */ 0xffff,
- /* key: 0x67bf */ 0xffff,
- /* key: 0x67c0 */ 0xc339,
- /* key: 0x67c1 */ 0x4248,
- /* key: 0x67c2 */ 0xc33a,
- /* key: 0x67c3 */ 0xc33b,
- /* key: 0x67c4 */ 0x4a41,
- /* key: 0x67c5 */ 0xc33c,
- /* key: 0x67c6 */ 0x5b56,
- /* key: 0x67c7 */ 0xffff,
- /* key: 0x67c8 */ 0xc33d,
- /* key: 0x67c9 */ 0xc33e,
- /* key: 0x67ca */ 0x4922,
- /* key: 0x67cb */ 0xffff,
- /* key: 0x67cc */ 0xffff,
- /* key: 0x67cd */ 0xffff,
- /* key: 0x67ce */ 0x5b55,
- /* key: 0x67cf */ 0x4770,
- /* key: 0x67d0 */ 0x4b3f,
- /* key: 0x67d1 */ 0x343b,
- /* key: 0x67d2 */ 0xc33f,
- /* key: 0x67d3 */ 0x4077,
- /* key: 0x67d4 */ 0x3d40,
- /* key: 0x67d5 */ 0xffff,
- /* key: 0x67d6 */ 0xffff,
- /* key: 0x67d7 */ 0xc340,
- /* key: 0x67d8 */ 0x4453,
- /* key: 0x67d9 */ 0xc341,
- /* key: 0x67da */ 0x4d2e,
- /* key: 0x67db */ 0xffff,
- /* key: 0x67dc */ 0xc342,
- /* key: 0x67dd */ 0x5b51,
- /* key: 0x67de */ 0x5b50,
- /* key: 0x67df */ 0xffff,
- /* key: 0x67e0 */ 0xffff,
- /* key: 0x67e1 */ 0xc343,
- /* key: 0x67e2 */ 0x5b52,
- /* key: 0x67e3 */ 0xffff,
- /* key: 0x67e4 */ 0x5b4f,
- /* key: 0x67e5 */ 0xffff,
- /* key: 0x67e6 */ 0xc344,
- /* key: 0x67e7 */ 0x5b57,
- /* key: 0x67e8 */ 0xffff,
- /* key: 0x67e9 */ 0x5b4d,
- /* key: 0x67ea */ 0xffff,
- /* key: 0x67eb */ 0xffff,
- /* key: 0x67ec */ 0x5b4b,
- /* key: 0x67ed */ 0xffff,
- /* key: 0x67ee */ 0x5b53,
- /* key: 0x67ef */ 0x5b49,
- /* key: 0x67f0 */ 0xc345,
- /* key: 0x67f1 */ 0x436c,
- /* key: 0x67f2 */ 0xc346,
- /* key: 0x67f3 */ 0x4c78,
- /* key: 0x67f4 */ 0x3c46,
- /* key: 0x67f5 */ 0x3a74,
- /* key: 0x67f6 */ 0xc347,
- /* key: 0x67f7 */ 0xc348,
- /* key: 0x67f8 */ 0xffff,
- /* key: 0x67f9 */ 0xc338,
- /* key: 0x67fa */ 0xffff,
- /* key: 0x67fb */ 0x3a3a,
- /* key: 0x67fc */ 0xffff,
- /* key: 0x67fd */ 0xffff,
- /* key: 0x67fe */ 0x4b6f,
- /* key: 0x67ff */ 0x3341,
- /* branch: 0x680X */ 8688,
- /* branch: 0x681X */ 8704,
- /* branch: 0x682X */ 8720,
- /* branch: 0x683X */ 8736,
- /* branch: 0x684X */ 8752,
- /* branch: 0x685X */ 8768,
- /* branch: 0x686X */ 8784,
- /* branch: 0x687X */ 8800,
- /* branch: 0x688X */ 8816,
- /* branch: 0x689X */ 8832,
- /* branch: 0x68aX */ 8848,
- /* branch: 0x68bX */ 8864,
- /* branch: 0x68cX */ 8880,
- /* branch: 0x68dX */ 8896,
- /* branch: 0x68eX */ 8912,
- /* branch: 0x68fX */ 8928,
- /* key: 0x6800 */ 0xffff,
- /* key: 0x6801 */ 0xffff,
- /* key: 0x6802 */ 0x444e,
- /* key: 0x6803 */ 0x464a,
- /* key: 0x6804 */ 0x3149,
- /* key: 0x6805 */ 0xffff,
- /* key: 0x6806 */ 0xffff,
- /* key: 0x6807 */ 0xffff,
- /* key: 0x6808 */ 0xffff,
- /* key: 0x6809 */ 0xffff,
- /* key: 0x680a */ 0xffff,
- /* key: 0x680b */ 0xffff,
- /* key: 0x680c */ 0xffff,
- /* key: 0x680d */ 0xffff,
- /* key: 0x680e */ 0xffff,
- /* key: 0x680f */ 0xffff,
- /* key: 0x6810 */ 0xffff,
- /* key: 0x6811 */ 0xffff,
- /* key: 0x6812 */ 0xffff,
- /* key: 0x6813 */ 0x4072,
- /* key: 0x6814 */ 0xc34a,
- /* key: 0x6815 */ 0xffff,
- /* key: 0x6816 */ 0x4034,
- /* key: 0x6817 */ 0x372a,
- /* key: 0x6818 */ 0xffff,
- /* key: 0x6819 */ 0xc34b,
- /* key: 0x681a */ 0xffff,
- /* key: 0x681b */ 0xffff,
- /* key: 0x681c */ 0xffff,
- /* key: 0x681d */ 0xc34c,
- /* key: 0x681e */ 0x5b59,
- /* key: 0x681f */ 0xc34d,
- /* key: 0x6820 */ 0xffff,
- /* key: 0x6821 */ 0x393b,
- /* key: 0x6822 */ 0x337c,
- /* key: 0x6823 */ 0xffff,
- /* key: 0x6824 */ 0xffff,
- /* key: 0x6825 */ 0xffff,
- /* key: 0x6826 */ 0xffff,
- /* key: 0x6827 */ 0xc34f,
- /* key: 0x6828 */ 0xc34e,
- /* key: 0x6829 */ 0x5b5b,
- /* key: 0x682a */ 0x3374,
- /* key: 0x682b */ 0x5b61,
- /* key: 0x682c */ 0xc350,
- /* key: 0x682d */ 0xc351,
- /* key: 0x682e */ 0xffff,
- /* key: 0x682f */ 0xc352,
- /* key: 0x6830 */ 0xc353,
- /* key: 0x6831 */ 0xc354,
- /* key: 0x6832 */ 0x5b5e,
- /* key: 0x6833 */ 0xc355,
- /* key: 0x6834 */ 0x4073,
- /* key: 0x6835 */ 0xffff,
- /* key: 0x6836 */ 0xffff,
- /* key: 0x6837 */ 0xffff,
- /* key: 0x6838 */ 0x334b,
- /* key: 0x6839 */ 0x3a2c,
- /* key: 0x683a */ 0xffff,
- /* key: 0x683b */ 0xc356,
- /* key: 0x683c */ 0x334a,
- /* key: 0x683d */ 0x3a4f,
- /* key: 0x683e */ 0xffff,
- /* key: 0x683f */ 0xc357,
- /* key: 0x6840 */ 0x5b5c,
- /* key: 0x6841 */ 0x3765,
- /* key: 0x6842 */ 0x374b,
- /* key: 0x6843 */ 0x456d,
- /* key: 0x6844 */ 0xc358,
- /* key: 0x6845 */ 0xc359,
- /* key: 0x6846 */ 0x5b5a,
- /* key: 0x6847 */ 0xffff,
- /* key: 0x6848 */ 0x3046,
- /* key: 0x6849 */ 0xffff,
- /* key: 0x684a */ 0xc35a,
- /* key: 0x684b */ 0xffff,
- /* key: 0x684c */ 0xc35b,
- /* key: 0x684d */ 0x5b5d,
- /* key: 0x684e */ 0x5b5f,
- /* key: 0x684f */ 0xffff,
- /* key: 0x6850 */ 0x364d,
- /* key: 0x6851 */ 0x372c,
- /* key: 0x6852 */ 0xc349,
- /* key: 0x6853 */ 0x343c,
- /* key: 0x6854 */ 0x354b,
- /* key: 0x6855 */ 0xc35c,
- /* key: 0x6856 */ 0xffff,
- /* key: 0x6857 */ 0xc35d,
- /* key: 0x6858 */ 0xc35e,
- /* key: 0x6859 */ 0x5b62,
- /* key: 0x685a */ 0xffff,
- /* key: 0x685b */ 0xc35f,
- /* key: 0x685c */ 0x3a79,
- /* key: 0x685d */ 0x4b71,
- /* key: 0x685e */ 0xffff,
- /* key: 0x685f */ 0x3b37,
- /* key: 0x6860 */ 0xffff,
- /* key: 0x6861 */ 0xffff,
- /* key: 0x6862 */ 0xffff,
- /* key: 0x6863 */ 0x5b63,
- /* key: 0x6864 */ 0xffff,
- /* key: 0x6865 */ 0xffff,
- /* key: 0x6866 */ 0xffff,
- /* key: 0x6867 */ 0x4930,
- /* key: 0x6868 */ 0xffff,
- /* key: 0x6869 */ 0xffff,
- /* key: 0x686a */ 0xffff,
- /* key: 0x686b */ 0xc360,
- /* key: 0x686c */ 0xffff,
- /* key: 0x686d */ 0xffff,
- /* key: 0x686e */ 0xc361,
- /* key: 0x686f */ 0xc362,
- /* key: 0x6870 */ 0xc363,
- /* key: 0x6871 */ 0xc364,
- /* key: 0x6872 */ 0xc365,
- /* key: 0x6873 */ 0xffff,
- /* key: 0x6874 */ 0x5b6f,
- /* key: 0x6875 */ 0xc366,
- /* key: 0x6876 */ 0x3233,
- /* key: 0x6877 */ 0x5b64,
- /* key: 0x6878 */ 0xffff,
- /* key: 0x6879 */ 0xc367,
- /* key: 0x687a */ 0xc368,
- /* key: 0x687b */ 0xc369,
- /* key: 0x687c */ 0xc36a,
- /* key: 0x687d */ 0xffff,
- /* key: 0x687e */ 0x5b75,
- /* key: 0x687f */ 0x5b65,
- /* key: 0x6880 */ 0xffff,
- /* key: 0x6881 */ 0x4e42,
- /* key: 0x6882 */ 0xc36b,
- /* key: 0x6883 */ 0x5b6c,
- /* key: 0x6884 */ 0xc36c,
- /* key: 0x6885 */ 0x475f,
- /* key: 0x6886 */ 0xc36d,
- /* key: 0x6887 */ 0xffff,
- /* key: 0x6888 */ 0xc36e,
- /* key: 0x6889 */ 0xffff,
- /* key: 0x688a */ 0xffff,
- /* key: 0x688b */ 0xffff,
- /* key: 0x688c */ 0xffff,
- /* key: 0x688d */ 0x5b74,
- /* key: 0x688e */ 0xffff,
- /* key: 0x688f */ 0x5b67,
- /* key: 0x6890 */ 0xffff,
- /* key: 0x6891 */ 0xffff,
- /* key: 0x6892 */ 0xffff,
- /* key: 0x6893 */ 0x3034,
- /* key: 0x6894 */ 0x5b69,
- /* key: 0x6895 */ 0xffff,
- /* key: 0x6896 */ 0xc36f,
- /* key: 0x6897 */ 0x393c,
- /* key: 0x6898 */ 0xc370,
- /* key: 0x6899 */ 0xffff,
- /* key: 0x689a */ 0xc371,
- /* key: 0x689b */ 0x5b6b,
- /* key: 0x689c */ 0xc372,
- /* key: 0x689d */ 0x5b6a,
- /* key: 0x689e */ 0xffff,
- /* key: 0x689f */ 0x5b66,
- /* key: 0x68a0 */ 0x5b71,
- /* key: 0x68a1 */ 0xc373,
- /* key: 0x68a2 */ 0x3e3f,
- /* key: 0x68a3 */ 0xc374,
- /* key: 0x68a4 */ 0xffff,
- /* key: 0x68a5 */ 0xc375,
- /* key: 0x68a6 */ 0x546d,
- /* key: 0x68a7 */ 0x3868,
- /* key: 0x68a8 */ 0x4d7c,
- /* key: 0x68a9 */ 0xc376,
- /* key: 0x68aa */ 0xc377,
- /* key: 0x68ab */ 0xffff,
- /* key: 0x68ac */ 0xffff,
- /* key: 0x68ad */ 0x5b68,
- /* key: 0x68ae */ 0xc378,
- /* key: 0x68af */ 0x4474,
- /* key: 0x68b0 */ 0x3323,
- /* key: 0x68b1 */ 0x3a2d,
- /* key: 0x68b2 */ 0xc379,
- /* key: 0x68b3 */ 0x5b60,
- /* key: 0x68b4 */ 0xffff,
- /* key: 0x68b5 */ 0x5b70,
- /* key: 0x68b6 */ 0x3361,
- /* key: 0x68b7 */ 0xffff,
- /* key: 0x68b8 */ 0xffff,
- /* key: 0x68b9 */ 0x5b6e,
- /* key: 0x68ba */ 0x5b72,
- /* key: 0x68bb */ 0xc37a,
- /* key: 0x68bc */ 0x456e,
- /* key: 0x68bd */ 0xffff,
- /* key: 0x68be */ 0xffff,
- /* key: 0x68bf */ 0xffff,
- /* key: 0x68c0 */ 0xffff,
- /* key: 0x68c1 */ 0xffff,
- /* key: 0x68c2 */ 0xffff,
- /* key: 0x68c3 */ 0xffff,
- /* key: 0x68c4 */ 0x347e,
- /* key: 0x68c5 */ 0xc37b,
- /* key: 0x68c6 */ 0x5c32,
- /* key: 0x68c7 */ 0xffff,
- /* key: 0x68c8 */ 0xc37c,
- /* key: 0x68c9 */ 0x4c49,
- /* key: 0x68ca */ 0x5b77,
- /* key: 0x68cb */ 0x347d,
- /* key: 0x68cc */ 0xc37d,
- /* key: 0x68cd */ 0x5b7e,
- /* key: 0x68ce */ 0xffff,
- /* key: 0x68cf */ 0xc37e,
- /* key: 0x68d0 */ 0xc421,
- /* key: 0x68d1 */ 0xc422,
- /* key: 0x68d2 */ 0x4b40,
- /* key: 0x68d3 */ 0xc423,
- /* key: 0x68d4 */ 0x5c21,
- /* key: 0x68d5 */ 0x5c23,
- /* key: 0x68d6 */ 0xc424,
- /* key: 0x68d7 */ 0x5c27,
- /* key: 0x68d8 */ 0x5b79,
- /* key: 0x68d9 */ 0xc425,
- /* key: 0x68da */ 0x432a,
- /* key: 0x68db */ 0xffff,
- /* key: 0x68dc */ 0xc426,
- /* key: 0x68dd */ 0xc427,
- /* key: 0x68de */ 0xffff,
- /* key: 0x68df */ 0x456f,
- /* key: 0x68e0 */ 0x5c2b,
- /* key: 0x68e1 */ 0x5b7c,
- /* key: 0x68e2 */ 0xffff,
- /* key: 0x68e3 */ 0x5c28,
- /* key: 0x68e4 */ 0xffff,
- /* key: 0x68e5 */ 0xc428,
- /* key: 0x68e6 */ 0xffff,
- /* key: 0x68e7 */ 0x5c22,
- /* key: 0x68e8 */ 0xc429,
- /* key: 0x68e9 */ 0xffff,
- /* key: 0x68ea */ 0xc42a,
- /* key: 0x68eb */ 0xc42b,
- /* key: 0x68ec */ 0xc42c,
- /* key: 0x68ed */ 0xc42d,
- /* key: 0x68ee */ 0x3f39,
- /* key: 0x68ef */ 0x5c2c,
- /* key: 0x68f0 */ 0xc42e,
- /* key: 0x68f1 */ 0xc42f,
- /* key: 0x68f2 */ 0x4033,
- /* key: 0x68f3 */ 0xffff,
- /* key: 0x68f4 */ 0xffff,
- /* key: 0x68f5 */ 0xc430,
- /* key: 0x68f6 */ 0xc431,
- /* key: 0x68f7 */ 0xffff,
- /* key: 0x68f8 */ 0xffff,
- /* key: 0x68f9 */ 0x5c2a,
- /* key: 0x68fa */ 0x343d,
- /* key: 0x68fb */ 0xc432,
- /* key: 0x68fc */ 0xc433,
- /* key: 0x68fd */ 0xc434,
- /* key: 0x68fe */ 0xffff,
- /* key: 0x68ff */ 0xffff,
- /* branch: 0x690X */ 8960,
- /* branch: 0x691X */ 8976,
- /* branch: 0x692X */ 8992,
- /* branch: 0x693X */ 9008,
- /* branch: 0x694X */ 9024,
- /* branch: 0x695X */ 9040,
- /* branch: 0x696X */ 9056,
- /* branch: 0x697X */ 9072,
- /* branch: 0x698X */ 9088,
- /* branch: 0x699X */ 9104,
- /* branch: 0x69aX */ 9120,
- /* branch: 0x69bX */ 9136,
- /* branch: 0x69cX */ 9152,
- /* branch: 0x69dX */ 9168,
- /* branch: 0x69eX */ 9184,
- /* branch: 0x69fX */ 9200,
- /* key: 0x6900 */ 0x4f50,
- /* key: 0x6901 */ 0x5b76,
- /* key: 0x6902 */ 0xffff,
- /* key: 0x6903 */ 0xffff,
- /* key: 0x6904 */ 0x5c26,
- /* key: 0x6905 */ 0x3058,
- /* key: 0x6906 */ 0xc435,
- /* key: 0x6907 */ 0xffff,
- /* key: 0x6908 */ 0x5b78,
- /* key: 0x6909 */ 0xc436,
- /* key: 0x690a */ 0xc437,
- /* key: 0x690b */ 0x4c3a,
- /* key: 0x690c */ 0x5b7d,
- /* key: 0x690d */ 0x3f22,
- /* key: 0x690e */ 0x4447,
- /* key: 0x690f */ 0x5b73,
- /* key: 0x6910 */ 0xc438,
- /* key: 0x6911 */ 0xc439,
- /* key: 0x6912 */ 0x5c25,
- /* key: 0x6913 */ 0xc43a,
- /* key: 0x6914 */ 0xffff,
- /* key: 0x6915 */ 0xffff,
- /* key: 0x6916 */ 0xc43b,
- /* key: 0x6917 */ 0xc43c,
- /* key: 0x6918 */ 0xffff,
- /* key: 0x6919 */ 0x3f7a,
- /* key: 0x691a */ 0x5c2f,
- /* key: 0x691b */ 0x3371,
- /* key: 0x691c */ 0x3821,
- /* key: 0x691d */ 0xffff,
- /* key: 0x691e */ 0xffff,
- /* key: 0x691f */ 0xffff,
- /* key: 0x6920 */ 0xffff,
- /* key: 0x6921 */ 0x5c31,
- /* key: 0x6922 */ 0x5b7a,
- /* key: 0x6923 */ 0x5c30,
- /* key: 0x6924 */ 0xffff,
- /* key: 0x6925 */ 0x5c29,
- /* key: 0x6926 */ 0x5b7b,
- /* key: 0x6927 */ 0xffff,
- /* key: 0x6928 */ 0x5c2d,
- /* key: 0x6929 */ 0xffff,
- /* key: 0x692a */ 0x5c2e,
- /* key: 0x692b */ 0xffff,
- /* key: 0x692c */ 0xffff,
- /* key: 0x692d */ 0xffff,
- /* key: 0x692e */ 0xffff,
- /* key: 0x692f */ 0xffff,
- /* key: 0x6930 */ 0x5c3f,
- /* key: 0x6931 */ 0xc43d,
- /* key: 0x6932 */ 0xffff,
- /* key: 0x6933 */ 0xc43e,
- /* key: 0x6934 */ 0x464e,
- /* key: 0x6935 */ 0xc43f,
- /* key: 0x6936 */ 0x5c24,
- /* key: 0x6937 */ 0xffff,
- /* key: 0x6938 */ 0xc440,
- /* key: 0x6939 */ 0x5c3b,
- /* key: 0x693a */ 0xffff,
- /* key: 0x693b */ 0xc441,
- /* key: 0x693c */ 0xffff,
- /* key: 0x693d */ 0x5c3d,
- /* key: 0x693e */ 0xffff,
- /* key: 0x693f */ 0x4458,
- /* key: 0x6940 */ 0xffff,
- /* key: 0x6941 */ 0xffff,
- /* key: 0x6942 */ 0xc442,
- /* key: 0x6943 */ 0xffff,
- /* key: 0x6944 */ 0xffff,
- /* key: 0x6945 */ 0xc443,
- /* key: 0x6946 */ 0xffff,
- /* key: 0x6947 */ 0xffff,
- /* key: 0x6948 */ 0xffff,
- /* key: 0x6949 */ 0xc444,
- /* key: 0x694a */ 0x4d4c,
- /* key: 0x694b */ 0xffff,
- /* key: 0x694c */ 0xffff,
- /* key: 0x694d */ 0xffff,
- /* key: 0x694e */ 0xc445,
- /* key: 0x694f */ 0xffff,
- /* key: 0x6950 */ 0xffff,
- /* key: 0x6951 */ 0xffff,
- /* key: 0x6952 */ 0xffff,
- /* key: 0x6953 */ 0x4976,
- /* key: 0x6954 */ 0x5c38,
- /* key: 0x6955 */ 0x424a,
- /* key: 0x6956 */ 0xffff,
- /* key: 0x6957 */ 0xc446,
- /* key: 0x6958 */ 0xffff,
- /* key: 0x6959 */ 0x5c3e,
- /* key: 0x695a */ 0x413f,
- /* key: 0x695b */ 0xc447,
- /* key: 0x695c */ 0x5c35,
- /* key: 0x695d */ 0x5c42,
- /* key: 0x695e */ 0x5c41,
- /* key: 0x695f */ 0xffff,
- /* key: 0x6960 */ 0x466f,
- /* key: 0x6961 */ 0x5c40,
- /* key: 0x6962 */ 0x466a,
- /* key: 0x6963 */ 0xc448,
- /* key: 0x6964 */ 0xc449,
- /* key: 0x6965 */ 0xc44a,
- /* key: 0x6966 */ 0xc44b,
- /* key: 0x6967 */ 0xffff,
- /* key: 0x6968 */ 0xc44c,
- /* key: 0x6969 */ 0xc44d,
- /* key: 0x696a */ 0x5c44,
- /* key: 0x696b */ 0x5c37,
- /* key: 0x696c */ 0xc44e,
- /* key: 0x696d */ 0x3648,
- /* key: 0x696e */ 0x5c3a,
- /* key: 0x696f */ 0x3d5d,
- /* key: 0x6970 */ 0xc44f,
- /* key: 0x6971 */ 0xc450,
- /* key: 0x6972 */ 0xc451,
- /* key: 0x6973 */ 0x4760,
- /* key: 0x6974 */ 0x5c3c,
- /* key: 0x6975 */ 0x364b,
- /* key: 0x6976 */ 0xffff,
- /* key: 0x6977 */ 0x5c34,
- /* key: 0x6978 */ 0x5c36,
- /* key: 0x6979 */ 0x5c33,
- /* key: 0x697a */ 0xc452,
- /* key: 0x697b */ 0xc453,
- /* key: 0x697c */ 0x4f30,
- /* key: 0x697d */ 0x335a,
- /* key: 0x697e */ 0x5c39,
- /* key: 0x697f */ 0xc454,
- /* key: 0x6980 */ 0xc455,
- /* key: 0x6981 */ 0x5c43,
- /* key: 0x6982 */ 0x3335,
- /* key: 0x6983 */ 0xffff,
- /* key: 0x6984 */ 0xffff,
- /* key: 0x6985 */ 0xffff,
- /* key: 0x6986 */ 0xffff,
- /* key: 0x6987 */ 0xffff,
- /* key: 0x6988 */ 0xffff,
- /* key: 0x6989 */ 0xffff,
- /* key: 0x698a */ 0x3a67,
- /* key: 0x698b */ 0xffff,
- /* key: 0x698c */ 0xffff,
- /* key: 0x698d */ 0xc456,
- /* key: 0x698e */ 0x315d,
- /* key: 0x698f */ 0xffff,
- /* key: 0x6990 */ 0xffff,
- /* key: 0x6991 */ 0x5c54,
- /* key: 0x6992 */ 0xc457,
- /* key: 0x6993 */ 0xffff,
- /* key: 0x6994 */ 0x4f31,
- /* key: 0x6995 */ 0x5c57,
- /* key: 0x6996 */ 0xc458,
- /* key: 0x6997 */ 0xffff,
- /* key: 0x6998 */ 0xc459,
- /* key: 0x6999 */ 0xffff,
- /* key: 0x699a */ 0xffff,
- /* key: 0x699b */ 0x3f3a,
- /* key: 0x699c */ 0x5c56,
- /* key: 0x699d */ 0xffff,
- /* key: 0x699e */ 0xffff,
- /* key: 0x699f */ 0xffff,
- /* key: 0x69a0 */ 0x5c55,
- /* key: 0x69a1 */ 0xc45a,
- /* key: 0x69a2 */ 0xffff,
- /* key: 0x69a3 */ 0xffff,
- /* key: 0x69a4 */ 0xffff,
- /* key: 0x69a5 */ 0xc45b,
- /* key: 0x69a6 */ 0xc45c,
- /* key: 0x69a7 */ 0x5c52,
- /* key: 0x69a8 */ 0xc45d,
- /* key: 0x69a9 */ 0xffff,
- /* key: 0x69aa */ 0xffff,
- /* key: 0x69ab */ 0xc45e,
- /* key: 0x69ac */ 0xffff,
- /* key: 0x69ad */ 0xc45f,
- /* key: 0x69ae */ 0x5c46,
- /* key: 0x69af */ 0xc460,
- /* key: 0x69b0 */ 0xffff,
- /* key: 0x69b1 */ 0x5c63,
- /* key: 0x69b2 */ 0x5c45,
- /* key: 0x69b3 */ 0xffff,
- /* key: 0x69b4 */ 0x5c58,
- /* key: 0x69b5 */ 0xffff,
- /* key: 0x69b6 */ 0xffff,
- /* key: 0x69b7 */ 0xc461,
- /* key: 0x69b8 */ 0xc462,
- /* key: 0x69b9 */ 0xffff,
- /* key: 0x69ba */ 0xc463,
- /* key: 0x69bb */ 0x5c50,
- /* key: 0x69bc */ 0xc464,
- /* key: 0x69bd */ 0xffff,
- /* key: 0x69be */ 0x5c4b,
- /* key: 0x69bf */ 0x5c48,
- /* key: 0x69c0 */ 0xffff,
- /* key: 0x69c1 */ 0x5c49,
- /* key: 0x69c2 */ 0xffff,
- /* key: 0x69c3 */ 0x5c51,
- /* key: 0x69c4 */ 0xffff,
- /* key: 0x69c5 */ 0xc465,
- /* key: 0x69c6 */ 0xffff,
- /* key: 0x69c7 */ 0x7422,
- /* key: 0x69c8 */ 0xc466,
- /* key: 0x69c9 */ 0xffff,
- /* key: 0x69ca */ 0x5c4e,
- /* key: 0x69cb */ 0x393d,
- /* key: 0x69cc */ 0x4448,
- /* key: 0x69cd */ 0x4164,
- /* key: 0x69ce */ 0x5c4c,
- /* key: 0x69cf */ 0xffff,
- /* key: 0x69d0 */ 0x5c47,
- /* key: 0x69d1 */ 0xc467,
- /* key: 0x69d2 */ 0xffff,
- /* key: 0x69d3 */ 0x5c4a,
- /* key: 0x69d4 */ 0xffff,
- /* key: 0x69d5 */ 0xffff,
- /* key: 0x69d6 */ 0xc468,
- /* key: 0x69d7 */ 0xc469,
- /* key: 0x69d8 */ 0x4d4d,
- /* key: 0x69d9 */ 0x4b6a,
- /* key: 0x69da */ 0xffff,
- /* key: 0x69db */ 0xffff,
- /* key: 0x69dc */ 0xffff,
- /* key: 0x69dd */ 0x5c4f,
- /* key: 0x69de */ 0x5c59,
- /* key: 0x69df */ 0xffff,
- /* key: 0x69e0 */ 0xffff,
- /* key: 0x69e1 */ 0xffff,
- /* key: 0x69e2 */ 0xc46a,
- /* key: 0x69e3 */ 0xffff,
- /* key: 0x69e4 */ 0xffff,
- /* key: 0x69e5 */ 0xc46b,
- /* key: 0x69e6 */ 0xffff,
- /* key: 0x69e7 */ 0x5c61,
- /* key: 0x69e8 */ 0x5c5a,
- /* key: 0x69e9 */ 0xffff,
- /* key: 0x69ea */ 0xffff,
- /* key: 0x69eb */ 0x5c67,
- /* key: 0x69ec */ 0xffff,
- /* key: 0x69ed */ 0x5c65,
- /* key: 0x69ee */ 0xc46c,
- /* key: 0x69ef */ 0xc46d,
- /* key: 0x69f0 */ 0xffff,
- /* key: 0x69f1 */ 0xc46e,
- /* key: 0x69f2 */ 0x5c60,
- /* key: 0x69f3 */ 0xc46f,
- /* key: 0x69f4 */ 0xffff,
- /* key: 0x69f5 */ 0xc470,
- /* key: 0x69f6 */ 0xffff,
- /* key: 0x69f7 */ 0xffff,
- /* key: 0x69f8 */ 0xffff,
- /* key: 0x69f9 */ 0x5c5f,
- /* key: 0x69fa */ 0xffff,
- /* key: 0x69fb */ 0x4450,
- /* key: 0x69fc */ 0xffff,
- /* key: 0x69fd */ 0x4165,
- /* key: 0x69fe */ 0xc471,
- /* key: 0x69ff */ 0x5c5d,
- /* branch: 0x6a0X */ 9232,
- /* branch: 0x6a1X */ 9248,
- /* branch: 0x6a2X */ 9264,
- /* branch: 0x6a3X */ 9280,
- /* branch: 0x6a4X */ 9296,
- /* branch: 0x6a5X */ 9312,
- /* branch: 0x6a6X */ 9328,
- /* branch: 0x6a7X */ 9344,
- /* branch: 0x6a8X */ 9360,
- /* branch: 0x6a9X */ 9376,
- /* branch: 0x6aaX */ 9392,
- /* branch: 0x6abX */ 9408,
- /* branch: 0x6acX */ 9424,
- /* branch: 0x6adX */ 9440,
- /* branch: 0x6aeX */ 9456,
- /* branch: 0x6afX */ 9472,
- /* key: 0x6a00 */ 0xc472,
- /* key: 0x6a01 */ 0xc473,
- /* key: 0x6a02 */ 0x5c5b,
- /* key: 0x6a03 */ 0xc474,
- /* key: 0x6a04 */ 0xffff,
- /* key: 0x6a05 */ 0x5c62,
- /* key: 0x6a06 */ 0xffff,
- /* key: 0x6a07 */ 0xffff,
- /* key: 0x6a08 */ 0xffff,
- /* key: 0x6a09 */ 0xffff,
- /* key: 0x6a0a */ 0x5c68,
- /* key: 0x6a0b */ 0x4875,
- /* key: 0x6a0c */ 0x5c6e,
- /* key: 0x6a0d */ 0xffff,
- /* key: 0x6a0e */ 0xffff,
- /* key: 0x6a0f */ 0xc475,
- /* key: 0x6a10 */ 0xffff,
- /* key: 0x6a11 */ 0xc476,
- /* key: 0x6a12 */ 0x5c69,
- /* key: 0x6a13 */ 0x5c6c,
- /* key: 0x6a14 */ 0x5c66,
- /* key: 0x6a15 */ 0xc477,
- /* key: 0x6a16 */ 0xffff,
- /* key: 0x6a17 */ 0x4374,
- /* key: 0x6a18 */ 0xffff,
- /* key: 0x6a19 */ 0x4938,
- /* key: 0x6a1a */ 0xc478,
- /* key: 0x6a1b */ 0x5c5c,
- /* key: 0x6a1c */ 0xffff,
- /* key: 0x6a1d */ 0xc479,
- /* key: 0x6a1e */ 0x5c64,
- /* key: 0x6a1f */ 0x3e40,
- /* key: 0x6a20 */ 0xc47a,
- /* key: 0x6a21 */ 0x4c4f,
- /* key: 0x6a22 */ 0x5c78,
- /* key: 0x6a23 */ 0x5c6b,
- /* key: 0x6a24 */ 0xc47b,
- /* key: 0x6a25 */ 0xffff,
- /* key: 0x6a26 */ 0xffff,
- /* key: 0x6a27 */ 0xffff,
- /* key: 0x6a28 */ 0xc47c,
- /* key: 0x6a29 */ 0x3822,
- /* key: 0x6a2a */ 0x3223,
- /* key: 0x6a2b */ 0x335f,
- /* key: 0x6a2c */ 0xffff,
- /* key: 0x6a2d */ 0xffff,
- /* key: 0x6a2e */ 0x5c53,
- /* key: 0x6a2f */ 0xffff,
- /* key: 0x6a30 */ 0xc47d,
- /* key: 0x6a31 */ 0xffff,
- /* key: 0x6a32 */ 0xc47e,
- /* key: 0x6a33 */ 0xffff,
- /* key: 0x6a34 */ 0xc521,
- /* key: 0x6a35 */ 0x3e41,
- /* key: 0x6a36 */ 0x5c70,
- /* key: 0x6a37 */ 0xc522,
- /* key: 0x6a38 */ 0x5c77,
- /* key: 0x6a39 */ 0x3c79,
- /* key: 0x6a3a */ 0x3372,
- /* key: 0x6a3b */ 0xc523,
- /* key: 0x6a3c */ 0xffff,
- /* key: 0x6a3d */ 0x432e,
- /* key: 0x6a3e */ 0xc524,
- /* key: 0x6a3f */ 0xc525,
- /* key: 0x6a40 */ 0xffff,
- /* key: 0x6a41 */ 0xffff,
- /* key: 0x6a42 */ 0xffff,
- /* key: 0x6a43 */ 0xffff,
- /* key: 0x6a44 */ 0x5c6d,
- /* key: 0x6a45 */ 0xc526,
- /* key: 0x6a46 */ 0xc527,
- /* key: 0x6a47 */ 0x5c72,
- /* key: 0x6a48 */ 0x5c76,
- /* key: 0x6a49 */ 0xc528,
- /* key: 0x6a4a */ 0xc529,
- /* key: 0x6a4b */ 0x3636,
- /* key: 0x6a4c */ 0xffff,
- /* key: 0x6a4d */ 0xffff,
- /* key: 0x6a4e */ 0xc52a,
- /* key: 0x6a4f */ 0xffff,
- /* key: 0x6a50 */ 0xc52b,
- /* key: 0x6a51 */ 0xc52c,
- /* key: 0x6a52 */ 0xc52d,
- /* key: 0x6a53 */ 0xffff,
- /* key: 0x6a54 */ 0xffff,
- /* key: 0x6a55 */ 0xc52e,
- /* key: 0x6a56 */ 0xc52f,
- /* key: 0x6a57 */ 0xffff,
- /* key: 0x6a58 */ 0x354c,
- /* key: 0x6a59 */ 0x5c74,
- /* key: 0x6a5a */ 0xffff,
- /* key: 0x6a5b */ 0xc530,
- /* key: 0x6a5c */ 0xffff,
- /* key: 0x6a5d */ 0xffff,
- /* key: 0x6a5e */ 0xffff,
- /* key: 0x6a5f */ 0x3521,
- /* key: 0x6a60 */ 0xffff,
- /* key: 0x6a61 */ 0x464b,
- /* key: 0x6a62 */ 0x5c73,
- /* key: 0x6a63 */ 0xffff,
- /* key: 0x6a64 */ 0xc531,
- /* key: 0x6a65 */ 0xffff,
- /* key: 0x6a66 */ 0x5c75,
- /* key: 0x6a67 */ 0xc532,
- /* key: 0x6a68 */ 0xffff,
- /* key: 0x6a69 */ 0xffff,
- /* key: 0x6a6a */ 0xc533,
- /* key: 0x6a6b */ 0xffff,
- /* key: 0x6a6c */ 0xffff,
- /* key: 0x6a6d */ 0xffff,
- /* key: 0x6a6e */ 0xffff,
- /* key: 0x6a6f */ 0xffff,
- /* key: 0x6a70 */ 0xffff,
- /* key: 0x6a71 */ 0xc534,
- /* key: 0x6a72 */ 0x5c6f,
- /* key: 0x6a73 */ 0xc535,
- /* key: 0x6a74 */ 0xffff,
- /* key: 0x6a75 */ 0xffff,
- /* key: 0x6a76 */ 0xffff,
- /* key: 0x6a77 */ 0xffff,
- /* key: 0x6a78 */ 0x5c71,
- /* key: 0x6a79 */ 0xffff,
- /* key: 0x6a7a */ 0xffff,
- /* key: 0x6a7b */ 0xffff,
- /* key: 0x6a7c */ 0xffff,
- /* key: 0x6a7d */ 0xffff,
- /* key: 0x6a7e */ 0xc536,
- /* key: 0x6a7f */ 0x3360,
- /* key: 0x6a80 */ 0x4349,
- /* key: 0x6a81 */ 0xc537,
- /* key: 0x6a82 */ 0xffff,
- /* key: 0x6a83 */ 0xc538,
- /* key: 0x6a84 */ 0x5c7c,
- /* key: 0x6a85 */ 0xffff,
- /* key: 0x6a86 */ 0xc539,
- /* key: 0x6a87 */ 0xc53a,
- /* key: 0x6a88 */ 0xffff,
- /* key: 0x6a89 */ 0xc53b,
- /* key: 0x6a8a */ 0xffff,
- /* key: 0x6a8b */ 0xc53c,
- /* key: 0x6a8c */ 0xffff,
- /* key: 0x6a8d */ 0x5c7a,
- /* key: 0x6a8e */ 0x3869,
- /* key: 0x6a8f */ 0xffff,
- /* key: 0x6a90 */ 0x5c79,
- /* key: 0x6a91 */ 0xc53d,
- /* key: 0x6a92 */ 0xffff,
- /* key: 0x6a93 */ 0xffff,
- /* key: 0x6a94 */ 0xffff,
- /* key: 0x6a95 */ 0xffff,
- /* key: 0x6a96 */ 0xffff,
- /* key: 0x6a97 */ 0x5d21,
- /* key: 0x6a98 */ 0xffff,
- /* key: 0x6a99 */ 0xffff,
- /* key: 0x6a9a */ 0xffff,
- /* key: 0x6a9b */ 0xc53e,
- /* key: 0x6a9c */ 0x5b58,
- /* key: 0x6a9d */ 0xc53f,
- /* key: 0x6a9e */ 0xc540,
- /* key: 0x6a9f */ 0xc541,
- /* key: 0x6aa0 */ 0x5c7b,
- /* key: 0x6aa1 */ 0xffff,
- /* key: 0x6aa2 */ 0x5c7d,
- /* key: 0x6aa3 */ 0x5c7e,
- /* key: 0x6aa4 */ 0xffff,
- /* key: 0x6aa5 */ 0xc542,
- /* key: 0x6aa6 */ 0xffff,
- /* key: 0x6aa7 */ 0xffff,
- /* key: 0x6aa8 */ 0xffff,
- /* key: 0x6aa9 */ 0xffff,
- /* key: 0x6aaa */ 0x5d2c,
- /* key: 0x6aab */ 0xc543,
- /* key: 0x6aac */ 0x5d28,
- /* key: 0x6aad */ 0xffff,
- /* key: 0x6aae */ 0x5b6d,
- /* key: 0x6aaf */ 0xc544,
- /* key: 0x6ab0 */ 0xc545,
- /* key: 0x6ab1 */ 0xc546,
- /* key: 0x6ab2 */ 0xffff,
- /* key: 0x6ab3 */ 0x5d27,
- /* key: 0x6ab4 */ 0xc547,
- /* key: 0x6ab5 */ 0xffff,
- /* key: 0x6ab6 */ 0xffff,
- /* key: 0x6ab7 */ 0xffff,
- /* key: 0x6ab8 */ 0x5d26,
- /* key: 0x6ab9 */ 0xffff,
- /* key: 0x6aba */ 0xffff,
- /* key: 0x6abb */ 0x5d23,
- /* key: 0x6abc */ 0xffff,
- /* key: 0x6abd */ 0xc548,
- /* key: 0x6abe */ 0xc549,
- /* key: 0x6abf */ 0xc54a,
- /* key: 0x6ac0 */ 0xffff,
- /* key: 0x6ac1 */ 0x5c6a,
- /* key: 0x6ac2 */ 0x5d25,
- /* key: 0x6ac3 */ 0x5d24,
- /* key: 0x6ac4 */ 0xffff,
- /* key: 0x6ac5 */ 0xffff,
- /* key: 0x6ac6 */ 0xc54b,
- /* key: 0x6ac7 */ 0xffff,
- /* key: 0x6ac8 */ 0xc54d,
- /* key: 0x6ac9 */ 0xc54c,
- /* key: 0x6aca */ 0xffff,
- /* key: 0x6acb */ 0xffff,
- /* key: 0x6acc */ 0xc54e,
- /* key: 0x6acd */ 0xffff,
- /* key: 0x6ace */ 0xffff,
- /* key: 0x6acf */ 0xffff,
- /* key: 0x6ad0 */ 0xc54f,
- /* key: 0x6ad1 */ 0x5d2a,
- /* key: 0x6ad2 */ 0xffff,
- /* key: 0x6ad3 */ 0x4f26,
- /* key: 0x6ad4 */ 0xc550,
- /* key: 0x6ad5 */ 0xc551,
- /* key: 0x6ad6 */ 0xc552,
- /* key: 0x6ad7 */ 0xffff,
- /* key: 0x6ad8 */ 0xffff,
- /* key: 0x6ad9 */ 0xffff,
- /* key: 0x6ada */ 0x5d2d,
- /* key: 0x6adb */ 0x367b,
- /* key: 0x6adc */ 0xc553,
- /* key: 0x6add */ 0xc554,
- /* key: 0x6ade */ 0x5d29,
- /* key: 0x6adf */ 0x5d2b,
- /* key: 0x6ae0 */ 0xffff,
- /* key: 0x6ae1 */ 0xffff,
- /* key: 0x6ae2 */ 0xffff,
- /* key: 0x6ae3 */ 0xffff,
- /* key: 0x6ae4 */ 0xc555,
- /* key: 0x6ae5 */ 0xffff,
- /* key: 0x6ae6 */ 0xffff,
- /* key: 0x6ae7 */ 0xc556,
- /* key: 0x6ae8 */ 0x4827,
- /* key: 0x6ae9 */ 0xffff,
- /* key: 0x6aea */ 0x5d2e,
- /* key: 0x6aeb */ 0xffff,
- /* key: 0x6aec */ 0xc557,
- /* key: 0x6aed */ 0xffff,
- /* key: 0x6aee */ 0xffff,
- /* key: 0x6aef */ 0xffff,
- /* key: 0x6af0 */ 0xc558,
- /* key: 0x6af1 */ 0xc559,
- /* key: 0x6af2 */ 0xc55a,
- /* key: 0x6af3 */ 0xffff,
- /* key: 0x6af4 */ 0xffff,
- /* key: 0x6af5 */ 0xffff,
- /* key: 0x6af6 */ 0xffff,
- /* key: 0x6af7 */ 0xffff,
- /* key: 0x6af8 */ 0xffff,
- /* key: 0x6af9 */ 0xffff,
- /* key: 0x6afa */ 0x5d32,
- /* key: 0x6afb */ 0x5d2f,
- /* key: 0x6afc */ 0xc55b,
- /* key: 0x6afd */ 0xc55c,
- /* key: 0x6afe */ 0xffff,
- /* key: 0x6aff */ 0xffff,
- /* branch: 0x6b0X */ 9504,
- /* branch: 0x6b1X */ 9520,
- /* branch: 0x6b2X */ 9536,
- /* branch: 0x6b3X */ 9552,
- /* branch: 0x6b4X */ 9568,
- /* branch: 0x6b5X */ 9584,
- /* branch: 0x6b6X */ 9600,
- /* branch: 0x6b7X */ 9616,
- /* branch: 0x6b8X */ 9632,
- /* branch: 0x6b9X */ 9648,
- /* branch: 0x6baX */ 9664,
- /* branch: 0x6bbX */ 9680,
- /* branch: 0x6bcX */ 9696,
- /* branch: 0x6bdX */ 9712,
- /* branch: 0x6beX */ 9728,
- /* branch: 0x6bfX */ 9744,
- /* key: 0x6b00 */ 0xffff,
- /* key: 0x6b01 */ 0xffff,
- /* key: 0x6b02 */ 0xc55d,
- /* key: 0x6b03 */ 0xc55e,
- /* key: 0x6b04 */ 0x4d73,
- /* key: 0x6b05 */ 0x5d30,
- /* key: 0x6b06 */ 0xc55f,
- /* key: 0x6b07 */ 0xc560,
- /* key: 0x6b08 */ 0xffff,
- /* key: 0x6b09 */ 0xc561,
- /* key: 0x6b0a */ 0x5c5e,
- /* key: 0x6b0b */ 0xffff,
- /* key: 0x6b0c */ 0xffff,
- /* key: 0x6b0d */ 0xffff,
- /* key: 0x6b0e */ 0xffff,
- /* key: 0x6b0f */ 0xc562,
- /* key: 0x6b10 */ 0xc563,
- /* key: 0x6b11 */ 0xc564,
- /* key: 0x6b12 */ 0x5d33,
- /* key: 0x6b13 */ 0xffff,
- /* key: 0x6b14 */ 0xffff,
- /* key: 0x6b15 */ 0xffff,
- /* key: 0x6b16 */ 0x5d34,
- /* key: 0x6b17 */ 0xc565,
- /* key: 0x6b18 */ 0xffff,
- /* key: 0x6b19 */ 0xffff,
- /* key: 0x6b1a */ 0xffff,
- /* key: 0x6b1b */ 0xc566,
- /* key: 0x6b1c */ 0xffff,
- /* key: 0x6b1d */ 0x3135,
- /* key: 0x6b1e */ 0xc567,
- /* key: 0x6b1f */ 0x5d36,
- /* key: 0x6b20 */ 0x3767,
- /* key: 0x6b21 */ 0x3c21,
- /* key: 0x6b22 */ 0xffff,
- /* key: 0x6b23 */ 0x3655,
- /* key: 0x6b24 */ 0xc568,
- /* key: 0x6b25 */ 0xffff,
- /* key: 0x6b26 */ 0xffff,
- /* key: 0x6b27 */ 0x3224,
- /* key: 0x6b28 */ 0xc569,
- /* key: 0x6b29 */ 0xffff,
- /* key: 0x6b2a */ 0xffff,
- /* key: 0x6b2b */ 0xc56a,
- /* key: 0x6b2c */ 0xc56b,
- /* key: 0x6b2d */ 0xffff,
- /* key: 0x6b2e */ 0xffff,
- /* key: 0x6b2f */ 0xc56c,
- /* key: 0x6b30 */ 0xffff,
- /* key: 0x6b31 */ 0xffff,
- /* key: 0x6b32 */ 0x4d5f,
- /* key: 0x6b33 */ 0xffff,
- /* key: 0x6b34 */ 0xffff,
- /* key: 0x6b35 */ 0xc56d,
- /* key: 0x6b36 */ 0xc56e,
- /* key: 0x6b37 */ 0x5d38,
- /* key: 0x6b38 */ 0x5d37,
- /* key: 0x6b39 */ 0x5d3a,
- /* key: 0x6b3a */ 0x353d,
- /* key: 0x6b3b */ 0xc56f,
- /* key: 0x6b3c */ 0xffff,
- /* key: 0x6b3d */ 0x3656,
- /* key: 0x6b3e */ 0x343e,
- /* key: 0x6b3f */ 0xc570,
- /* key: 0x6b40 */ 0xffff,
- /* key: 0x6b41 */ 0xffff,
- /* key: 0x6b42 */ 0xffff,
- /* key: 0x6b43 */ 0x5d3d,
- /* key: 0x6b44 */ 0xffff,
- /* key: 0x6b45 */ 0xffff,
- /* key: 0x6b46 */ 0xc571,
- /* key: 0x6b47 */ 0x5d3c,
- /* key: 0x6b48 */ 0xffff,
- /* key: 0x6b49 */ 0x5d3e,
- /* key: 0x6b4a */ 0xc572,
- /* key: 0x6b4b */ 0xffff,
- /* key: 0x6b4c */ 0x324e,
- /* key: 0x6b4d */ 0xc573,
- /* key: 0x6b4e */ 0x4337,
- /* key: 0x6b4f */ 0xffff,
- /* key: 0x6b50 */ 0x5d3f,
- /* key: 0x6b51 */ 0xffff,
- /* key: 0x6b52 */ 0xc574,
- /* key: 0x6b53 */ 0x343f,
- /* key: 0x6b54 */ 0x5d41,
- /* key: 0x6b55 */ 0xffff,
- /* key: 0x6b56 */ 0xc575,
- /* key: 0x6b57 */ 0xffff,
- /* key: 0x6b58 */ 0xc576,
- /* key: 0x6b59 */ 0x5d40,
- /* key: 0x6b5a */ 0xffff,
- /* key: 0x6b5b */ 0x5d42,
- /* key: 0x6b5c */ 0xffff,
- /* key: 0x6b5d */ 0xc577,
- /* key: 0x6b5e */ 0xffff,
- /* key: 0x6b5f */ 0x5d43,
- /* key: 0x6b60 */ 0xc578,
- /* key: 0x6b61 */ 0x5d44,
- /* key: 0x6b62 */ 0x3b5f,
- /* key: 0x6b63 */ 0x4035,
- /* key: 0x6b64 */ 0x3a21,
- /* key: 0x6b65 */ 0xffff,
- /* key: 0x6b66 */ 0x4970,
- /* key: 0x6b67 */ 0xc579,
- /* key: 0x6b68 */ 0xffff,
- /* key: 0x6b69 */ 0x4a62,
- /* key: 0x6b6a */ 0x4f44,
- /* key: 0x6b6b */ 0xc57a,
- /* key: 0x6b6c */ 0xffff,
- /* key: 0x6b6d */ 0xffff,
- /* key: 0x6b6e */ 0xc57b,
- /* key: 0x6b6f */ 0x3b75,
- /* key: 0x6b70 */ 0xc57c,
- /* key: 0x6b71 */ 0xffff,
- /* key: 0x6b72 */ 0xffff,
- /* key: 0x6b73 */ 0x3a50,
- /* key: 0x6b74 */ 0x4e72,
- /* key: 0x6b75 */ 0xc57d,
- /* key: 0x6b76 */ 0xffff,
- /* key: 0x6b77 */ 0xffff,
- /* key: 0x6b78 */ 0x5d45,
- /* key: 0x6b79 */ 0x5d46,
- /* key: 0x6b7a */ 0xffff,
- /* key: 0x6b7b */ 0x3b60,
- /* key: 0x6b7c */ 0xffff,
- /* key: 0x6b7d */ 0xc57e,
- /* key: 0x6b7e */ 0xc621,
- /* key: 0x6b7f */ 0x5d47,
- /* key: 0x6b80 */ 0x5d48,
- /* key: 0x6b81 */ 0xffff,
- /* key: 0x6b82 */ 0xc622,
- /* key: 0x6b83 */ 0x5d4a,
- /* key: 0x6b84 */ 0x5d49,
- /* key: 0x6b85 */ 0xc623,
- /* key: 0x6b86 */ 0x4b58,
- /* key: 0x6b87 */ 0xffff,
- /* key: 0x6b88 */ 0xffff,
- /* key: 0x6b89 */ 0x3d5e,
- /* key: 0x6b8a */ 0x3c6c,
- /* key: 0x6b8b */ 0x3b44,
- /* key: 0x6b8c */ 0xffff,
- /* key: 0x6b8d */ 0x5d4b,
- /* key: 0x6b8e */ 0xffff,
- /* key: 0x6b8f */ 0xffff,
- /* key: 0x6b90 */ 0xffff,
- /* key: 0x6b91 */ 0xffff,
- /* key: 0x6b92 */ 0xffff,
- /* key: 0x6b93 */ 0xffff,
- /* key: 0x6b94 */ 0xffff,
- /* key: 0x6b95 */ 0x5d4d,
- /* key: 0x6b96 */ 0x3f23,
- /* key: 0x6b97 */ 0xc624,
- /* key: 0x6b98 */ 0x5d4c,
- /* key: 0x6b99 */ 0xffff,
- /* key: 0x6b9a */ 0xffff,
- /* key: 0x6b9b */ 0xc625,
- /* key: 0x6b9c */ 0xffff,
- /* key: 0x6b9d */ 0xffff,
- /* key: 0x6b9e */ 0x5d4e,
- /* key: 0x6b9f */ 0xc626,
- /* key: 0x6ba0 */ 0xc627,
- /* key: 0x6ba1 */ 0xffff,
- /* key: 0x6ba2 */ 0xc628,
- /* key: 0x6ba3 */ 0xc629,
- /* key: 0x6ba4 */ 0x5d4f,
- /* key: 0x6ba5 */ 0xffff,
- /* key: 0x6ba6 */ 0xffff,
- /* key: 0x6ba7 */ 0xffff,
- /* key: 0x6ba8 */ 0xc62a,
- /* key: 0x6ba9 */ 0xc62b,
- /* key: 0x6baa */ 0x5d50,
- /* key: 0x6bab */ 0x5d51,
- /* key: 0x6bac */ 0xc62c,
- /* key: 0x6bad */ 0xc62d,
- /* key: 0x6bae */ 0xc62e,
- /* key: 0x6baf */ 0x5d52,
- /* key: 0x6bb0 */ 0xc62f,
- /* key: 0x6bb1 */ 0x5d54,
- /* key: 0x6bb2 */ 0x5d53,
- /* key: 0x6bb3 */ 0x5d55,
- /* key: 0x6bb4 */ 0x3225,
- /* key: 0x6bb5 */ 0x434a,
- /* key: 0x6bb6 */ 0xffff,
- /* key: 0x6bb7 */ 0x5d56,
- /* key: 0x6bb8 */ 0xc630,
- /* key: 0x6bb9 */ 0xc631,
- /* key: 0x6bba */ 0x3b26,
- /* key: 0x6bbb */ 0x334c,
- /* key: 0x6bbc */ 0x5d57,
- /* key: 0x6bbd */ 0xc632,
- /* key: 0x6bbe */ 0xc633,
- /* key: 0x6bbf */ 0x4542,
- /* key: 0x6bc0 */ 0x544c,
- /* key: 0x6bc1 */ 0xffff,
- /* key: 0x6bc2 */ 0xffff,
- /* key: 0x6bc3 */ 0xc634,
- /* key: 0x6bc4 */ 0xc635,
- /* key: 0x6bc5 */ 0x3523,
- /* key: 0x6bc6 */ 0x5d58,
- /* key: 0x6bc7 */ 0xffff,
- /* key: 0x6bc8 */ 0xffff,
- /* key: 0x6bc9 */ 0xc636,
- /* key: 0x6bca */ 0xffff,
- /* key: 0x6bcb */ 0x5d59,
- /* key: 0x6bcc */ 0xc637,
- /* key: 0x6bcd */ 0x4a6c,
- /* key: 0x6bce */ 0x4b68,
- /* key: 0x6bcf */ 0xffff,
- /* key: 0x6bd0 */ 0xffff,
- /* key: 0x6bd1 */ 0xffff,
- /* key: 0x6bd2 */ 0x4647,
- /* key: 0x6bd3 */ 0x5d5a,
- /* key: 0x6bd4 */ 0x4866,
- /* key: 0x6bd5 */ 0xffff,
- /* key: 0x6bd6 */ 0xc638,
- /* key: 0x6bd7 */ 0xffff,
- /* key: 0x6bd8 */ 0x487b,
- /* key: 0x6bd9 */ 0xffff,
- /* key: 0x6bda */ 0xc639,
- /* key: 0x6bdb */ 0x4c53,
- /* key: 0x6bdc */ 0xffff,
- /* key: 0x6bdd */ 0xffff,
- /* key: 0x6bde */ 0xffff,
- /* key: 0x6bdf */ 0x5d5b,
- /* key: 0x6be0 */ 0xffff,
- /* key: 0x6be1 */ 0xc63a,
- /* key: 0x6be2 */ 0xffff,
- /* key: 0x6be3 */ 0xc63b,
- /* key: 0x6be4 */ 0xffff,
- /* key: 0x6be5 */ 0xffff,
- /* key: 0x6be6 */ 0xc63c,
- /* key: 0x6be7 */ 0xc63d,
- /* key: 0x6be8 */ 0xffff,
- /* key: 0x6be9 */ 0xffff,
- /* key: 0x6bea */ 0xffff,
- /* key: 0x6beb */ 0x5d5d,
- /* key: 0x6bec */ 0x5d5c,
- /* key: 0x6bed */ 0xffff,
- /* key: 0x6bee */ 0xc63e,
- /* key: 0x6bef */ 0x5d5f,
- /* key: 0x6bf0 */ 0xffff,
- /* key: 0x6bf1 */ 0xc63f,
- /* key: 0x6bf2 */ 0xffff,
- /* key: 0x6bf3 */ 0x5d5e,
- /* key: 0x6bf4 */ 0xffff,
- /* key: 0x6bf5 */ 0xffff,
- /* key: 0x6bf6 */ 0xffff,
- /* key: 0x6bf7 */ 0xc640,
- /* key: 0x6bf8 */ 0xffff,
- /* key: 0x6bf9 */ 0xc641,
- /* key: 0x6bfa */ 0xffff,
- /* key: 0x6bfb */ 0xffff,
- /* key: 0x6bfc */ 0xffff,
- /* key: 0x6bfd */ 0xffff,
- /* key: 0x6bfe */ 0xffff,
- /* key: 0x6bff */ 0xc642,
- /* branch: 0x6c0X */ 9776,
- /* branch: 0x6c1X */ 9792,
- /* branch: 0x6c2X */ 9808,
- /* branch: 0x6c3X */ 9824,
- /* branch: 0x6c4X */ 9840,
- /* branch: 0x6c5X */ 9856,
- /* branch: 0x6c6X */ 9872,
- /* branch: 0x6c7X */ 9888,
- /* branch: 0x6c8X */ 9904,
- /* branch: 0x6c9X */ 9920,
- /* branch: 0x6caX */ 9936,
- /* branch: 0x6cbX */ 9952,
- /* branch: 0x6ccX */ 9968,
- /* branch: 0x6cdX */ 9984,
- /* branch: 0x6ceX */ 10000,
- /* branch: 0x6cfX */ 10016,
- /* key: 0x6c00 */ 0xffff,
- /* key: 0x6c01 */ 0xffff,
- /* key: 0x6c02 */ 0xc643,
- /* key: 0x6c03 */ 0xffff,
- /* key: 0x6c04 */ 0xc644,
- /* key: 0x6c05 */ 0xc645,
- /* key: 0x6c06 */ 0xffff,
- /* key: 0x6c07 */ 0xffff,
- /* key: 0x6c08 */ 0x5d61,
- /* key: 0x6c09 */ 0xc646,
- /* key: 0x6c0a */ 0xffff,
- /* key: 0x6c0b */ 0xffff,
- /* key: 0x6c0c */ 0xffff,
- /* key: 0x6c0d */ 0xc647,
- /* key: 0x6c0e */ 0xc648,
- /* key: 0x6c0f */ 0x3b61,
- /* key: 0x6c10 */ 0xc649,
- /* key: 0x6c11 */ 0x4c31,
- /* key: 0x6c12 */ 0xc64a,
- /* key: 0x6c13 */ 0x5d62,
- /* key: 0x6c14 */ 0x5d63,
- /* key: 0x6c15 */ 0xffff,
- /* key: 0x6c16 */ 0xffff,
- /* key: 0x6c17 */ 0x3524,
- /* key: 0x6c18 */ 0xffff,
- /* key: 0x6c19 */ 0xc64b,
- /* key: 0x6c1a */ 0xffff,
- /* key: 0x6c1b */ 0x5d64,
- /* key: 0x6c1c */ 0xffff,
- /* key: 0x6c1d */ 0xffff,
- /* key: 0x6c1e */ 0xffff,
- /* key: 0x6c1f */ 0xc64c,
- /* key: 0x6c20 */ 0xffff,
- /* key: 0x6c21 */ 0xffff,
- /* key: 0x6c22 */ 0xffff,
- /* key: 0x6c23 */ 0x5d66,
- /* key: 0x6c24 */ 0x5d65,
- /* key: 0x6c25 */ 0xffff,
- /* key: 0x6c26 */ 0xc64d,
- /* key: 0x6c27 */ 0xc64e,
- /* key: 0x6c28 */ 0xc64f,
- /* key: 0x6c29 */ 0xffff,
- /* key: 0x6c2a */ 0xffff,
- /* key: 0x6c2b */ 0xffff,
- /* key: 0x6c2c */ 0xc650,
- /* key: 0x6c2d */ 0xffff,
- /* key: 0x6c2e */ 0xc651,
- /* key: 0x6c2f */ 0xffff,
- /* key: 0x6c30 */ 0xffff,
- /* key: 0x6c31 */ 0xffff,
- /* key: 0x6c32 */ 0xffff,
- /* key: 0x6c33 */ 0xc652,
- /* key: 0x6c34 */ 0x3f65,
- /* key: 0x6c35 */ 0xc653,
- /* key: 0x6c36 */ 0xc654,
- /* key: 0x6c37 */ 0x4939,
- /* key: 0x6c38 */ 0x314a,
- /* key: 0x6c39 */ 0xffff,
- /* key: 0x6c3a */ 0xc655,
- /* key: 0x6c3b */ 0xc656,
- /* key: 0x6c3c */ 0xffff,
- /* key: 0x6c3d */ 0xffff,
- /* key: 0x6c3e */ 0x4845,
- /* key: 0x6c3f */ 0xc657,
- /* key: 0x6c40 */ 0x4475,
- /* key: 0x6c41 */ 0x3d41,
- /* key: 0x6c42 */ 0x3561,
- /* key: 0x6c43 */ 0xffff,
- /* key: 0x6c44 */ 0xffff,
- /* key: 0x6c45 */ 0xffff,
- /* key: 0x6c46 */ 0xffff,
- /* key: 0x6c47 */ 0xffff,
- /* key: 0x6c48 */ 0xffff,
- /* key: 0x6c49 */ 0xffff,
- /* key: 0x6c4a */ 0xc658,
- /* key: 0x6c4b */ 0xc659,
- /* key: 0x6c4c */ 0xffff,
- /* key: 0x6c4d */ 0xc65a,
- /* key: 0x6c4e */ 0x4846,
- /* key: 0x6c4f */ 0xc65b,
- /* key: 0x6c50 */ 0x3c2e,
- /* key: 0x6c51 */ 0xffff,
- /* key: 0x6c52 */ 0xc65c,
- /* key: 0x6c53 */ 0xffff,
- /* key: 0x6c54 */ 0xc65d,
- /* key: 0x6c55 */ 0x5d68,
- /* key: 0x6c56 */ 0xffff,
- /* key: 0x6c57 */ 0x3440,
- /* key: 0x6c58 */ 0xffff,
- /* key: 0x6c59 */ 0xc65e,
- /* key: 0x6c5a */ 0x3178,
- /* key: 0x6c5b */ 0xc65f,
- /* key: 0x6c5c */ 0xc660,
- /* key: 0x6c5d */ 0x4672,
- /* key: 0x6c5e */ 0x5d67,
- /* key: 0x6c5f */ 0x393e,
- /* key: 0x6c60 */ 0x4353,
- /* key: 0x6c61 */ 0xffff,
- /* key: 0x6c62 */ 0x5d69,
- /* key: 0x6c63 */ 0xffff,
- /* key: 0x6c64 */ 0xffff,
- /* key: 0x6c65 */ 0xffff,
- /* key: 0x6c66 */ 0xffff,
- /* key: 0x6c67 */ 0xc736,
- /* key: 0x6c68 */ 0x5d71,
- /* key: 0x6c69 */ 0xffff,
- /* key: 0x6c6a */ 0x5d6a,
- /* key: 0x6c6b */ 0xc661,
- /* key: 0x6c6c */ 0xffff,
- /* key: 0x6c6d */ 0xc662,
- /* key: 0x6c6e */ 0xffff,
- /* key: 0x6c6f */ 0xc663,
- /* key: 0x6c70 */ 0x4241,
- /* key: 0x6c71 */ 0xffff,
- /* key: 0x6c72 */ 0x3562,
- /* key: 0x6c73 */ 0x5d72,
- /* key: 0x6c74 */ 0xc664,
- /* key: 0x6c75 */ 0xffff,
- /* key: 0x6c76 */ 0xc665,
- /* key: 0x6c77 */ 0xffff,
- /* key: 0x6c78 */ 0xc666,
- /* key: 0x6c79 */ 0xc667,
- /* key: 0x6c7a */ 0x3768,
- /* key: 0x6c7b */ 0xc668,
- /* key: 0x6c7c */ 0xffff,
- /* key: 0x6c7d */ 0x3525,
- /* key: 0x6c7e */ 0x5d70,
- /* key: 0x6c7f */ 0xffff,
- /* key: 0x6c80 */ 0xffff,
- /* key: 0x6c81 */ 0x5d6e,
- /* key: 0x6c82 */ 0x5d6b,
- /* key: 0x6c83 */ 0x4d60,
- /* key: 0x6c84 */ 0xffff,
- /* key: 0x6c85 */ 0xc669,
- /* key: 0x6c86 */ 0xc66a,
- /* key: 0x6c87 */ 0xc66b,
- /* key: 0x6c88 */ 0x4440,
- /* key: 0x6c89 */ 0xc66c,
- /* key: 0x6c8a */ 0xffff,
- /* key: 0x6c8b */ 0xffff,
- /* key: 0x6c8c */ 0x4659,
- /* key: 0x6c8d */ 0x5d6c,
- /* key: 0x6c8e */ 0xffff,
- /* key: 0x6c8f */ 0xffff,
- /* key: 0x6c90 */ 0x5d74,
- /* key: 0x6c91 */ 0xffff,
- /* key: 0x6c92 */ 0x5d73,
- /* key: 0x6c93 */ 0x3723,
- /* key: 0x6c94 */ 0xc66d,
- /* key: 0x6c95 */ 0xc66e,
- /* key: 0x6c96 */ 0x322d,
- /* key: 0x6c97 */ 0xc66f,
- /* key: 0x6c98 */ 0xc670,
- /* key: 0x6c99 */ 0x3a3b,
- /* key: 0x6c9a */ 0x5d6d,
- /* key: 0x6c9b */ 0x5d6f,
- /* key: 0x6c9c */ 0xc671,
- /* key: 0x6c9d */ 0xffff,
- /* key: 0x6c9e */ 0xffff,
- /* key: 0x6c9f */ 0xc672,
- /* key: 0x6ca0 */ 0xffff,
- /* key: 0x6ca1 */ 0x4b57,
- /* key: 0x6ca2 */ 0x4274,
- /* key: 0x6ca3 */ 0xffff,
- /* key: 0x6ca4 */ 0xffff,
- /* key: 0x6ca5 */ 0xffff,
- /* key: 0x6ca6 */ 0xffff,
- /* key: 0x6ca7 */ 0xffff,
- /* key: 0x6ca8 */ 0xffff,
- /* key: 0x6ca9 */ 0xffff,
- /* key: 0x6caa */ 0xffff,
- /* key: 0x6cab */ 0x4b77,
- /* key: 0x6cac */ 0xffff,
- /* key: 0x6cad */ 0xffff,
- /* key: 0x6cae */ 0x5d7c,
- /* key: 0x6caf */ 0xffff,
- /* key: 0x6cb0 */ 0xc673,
- /* key: 0x6cb1 */ 0x5d7d,
- /* key: 0x6cb2 */ 0xc674,
- /* key: 0x6cb3 */ 0x324f,
- /* key: 0x6cb4 */ 0xc675,
- /* key: 0x6cb5 */ 0xffff,
- /* key: 0x6cb6 */ 0xffff,
- /* key: 0x6cb7 */ 0xffff,
- /* key: 0x6cb8 */ 0x4a28,
- /* key: 0x6cb9 */ 0x4c7d,
- /* key: 0x6cba */ 0x5e21,
- /* key: 0x6cbb */ 0x3c23,
- /* key: 0x6cbc */ 0x3e42,
- /* key: 0x6cbd */ 0x5d78,
- /* key: 0x6cbe */ 0x5d7e,
- /* key: 0x6cbf */ 0x3168,
- /* key: 0x6cc0 */ 0xffff,
- /* key: 0x6cc1 */ 0x3637,
- /* key: 0x6cc2 */ 0xc676,
- /* key: 0x6cc3 */ 0xffff,
- /* key: 0x6cc4 */ 0x5d75,
- /* key: 0x6cc5 */ 0x5d7a,
- /* key: 0x6cc6 */ 0xc677,
- /* key: 0x6cc7 */ 0xffff,
- /* key: 0x6cc8 */ 0xffff,
- /* key: 0x6cc9 */ 0x4074,
- /* key: 0x6cca */ 0x4771,
- /* key: 0x6ccb */ 0xffff,
- /* key: 0x6ccc */ 0x4867,
- /* key: 0x6ccd */ 0xc678,
- /* key: 0x6cce */ 0xffff,
- /* key: 0x6ccf */ 0xc679,
- /* key: 0x6cd0 */ 0xc67a,
- /* key: 0x6cd1 */ 0xc67b,
- /* key: 0x6cd2 */ 0xc67c,
- /* key: 0x6cd3 */ 0x5d77,
- /* key: 0x6cd4 */ 0xc67d,
- /* key: 0x6cd5 */ 0x4b21,
- /* key: 0x6cd6 */ 0xc67e,
- /* key: 0x6cd7 */ 0x5d79,
- /* key: 0x6cd8 */ 0xffff,
- /* key: 0x6cd9 */ 0x5e24,
- /* key: 0x6cda */ 0xc721,
- /* key: 0x6cdb */ 0x5e22,
- /* key: 0x6cdc */ 0xc722,
- /* key: 0x6cdd */ 0x5d7b,
- /* key: 0x6cde */ 0xffff,
- /* key: 0x6cdf */ 0xffff,
- /* key: 0x6ce0 */ 0xc723,
- /* key: 0x6ce1 */ 0x4b22,
- /* key: 0x6ce2 */ 0x4748,
- /* key: 0x6ce3 */ 0x3563,
- /* key: 0x6ce4 */ 0xffff,
- /* key: 0x6ce5 */ 0x4525,
- /* key: 0x6ce6 */ 0xffff,
- /* key: 0x6ce7 */ 0xc724,
- /* key: 0x6ce8 */ 0x436d,
- /* key: 0x6ce9 */ 0xc725,
- /* key: 0x6cea */ 0x5e25,
- /* key: 0x6ceb */ 0xc726,
- /* key: 0x6cec */ 0xc727,
- /* key: 0x6ced */ 0xffff,
- /* key: 0x6cee */ 0xc728,
- /* key: 0x6cef */ 0x5e23,
- /* key: 0x6cf0 */ 0x4259,
- /* key: 0x6cf1 */ 0x5d76,
- /* key: 0x6cf2 */ 0xc729,
- /* key: 0x6cf3 */ 0x314b,
- /* key: 0x6cf4 */ 0xc72a,
- /* key: 0x6cf5 */ 0xffff,
- /* key: 0x6cf6 */ 0xffff,
- /* key: 0x6cf7 */ 0xffff,
- /* key: 0x6cf8 */ 0xffff,
- /* key: 0x6cf9 */ 0xffff,
- /* key: 0x6cfa */ 0xffff,
- /* key: 0x6cfb */ 0xffff,
- /* key: 0x6cfc */ 0xffff,
- /* key: 0x6cfd */ 0xffff,
- /* key: 0x6cfe */ 0xffff,
- /* key: 0x6cff */ 0xffff,
- /* branch: 0x6d0X */ 10048,
- /* branch: 0x6d1X */ 10064,
- /* branch: 0x6d2X */ 10080,
- /* branch: 0x6d3X */ 10096,
- /* branch: 0x6d4X */ 10112,
- /* branch: 0x6d5X */ 10128,
- /* branch: 0x6d6X */ 10144,
- /* branch: 0x6d7X */ 10160,
- /* branch: 0x6d8X */ 10176,
- /* branch: 0x6d9X */ 10192,
- /* branch: 0x6daX */ 10208,
- /* branch: 0x6dbX */ 10224,
- /* branch: 0x6dcX */ 10240,
- /* branch: 0x6ddX */ 10256,
- /* branch: 0x6deX */ 10272,
- /* branch: 0x6dfX */ 10288,
- /* key: 0x6d00 */ 0xffff,
- /* key: 0x6d01 */ 0xffff,
- /* key: 0x6d02 */ 0xffff,
- /* key: 0x6d03 */ 0xffff,
- /* key: 0x6d04 */ 0xc72b,
- /* key: 0x6d05 */ 0xffff,
- /* key: 0x6d06 */ 0xffff,
- /* key: 0x6d07 */ 0xc72c,
- /* key: 0x6d08 */ 0xffff,
- /* key: 0x6d09 */ 0xffff,
- /* key: 0x6d0a */ 0xc72d,
- /* key: 0x6d0b */ 0x4d4e,
- /* key: 0x6d0c */ 0x5e30,
- /* key: 0x6d0d */ 0xffff,
- /* key: 0x6d0e */ 0xc72e,
- /* key: 0x6d0f */ 0xc72f,
- /* key: 0x6d10 */ 0xffff,
- /* key: 0x6d11 */ 0xc730,
- /* key: 0x6d12 */ 0x5e2f,
- /* key: 0x6d13 */ 0xc731,
- /* key: 0x6d14 */ 0xffff,
- /* key: 0x6d15 */ 0xffff,
- /* key: 0x6d16 */ 0xffff,
- /* key: 0x6d17 */ 0x4076,
- /* key: 0x6d18 */ 0xffff,
- /* key: 0x6d19 */ 0x5e2c,
- /* key: 0x6d1a */ 0xc732,
- /* key: 0x6d1b */ 0x4d6c,
- /* key: 0x6d1c */ 0xffff,
- /* key: 0x6d1d */ 0xffff,
- /* key: 0x6d1e */ 0x4636,
- /* key: 0x6d1f */ 0x5e26,
- /* key: 0x6d20 */ 0xffff,
- /* key: 0x6d21 */ 0xffff,
- /* key: 0x6d22 */ 0xffff,
- /* key: 0x6d23 */ 0xffff,
- /* key: 0x6d24 */ 0xffff,
- /* key: 0x6d25 */ 0x4445,
- /* key: 0x6d26 */ 0xc733,
- /* key: 0x6d27 */ 0xc734,
- /* key: 0x6d28 */ 0xc735,
- /* key: 0x6d29 */ 0x314c,
- /* key: 0x6d2a */ 0x393f,
- /* key: 0x6d2b */ 0x5e29,
- /* key: 0x6d2c */ 0xffff,
- /* key: 0x6d2d */ 0xffff,
- /* key: 0x6d2e */ 0xc737,
- /* key: 0x6d2f */ 0xc738,
- /* key: 0x6d30 */ 0xffff,
- /* key: 0x6d31 */ 0xc739,
- /* key: 0x6d32 */ 0x3d27,
- /* key: 0x6d33 */ 0x5e2e,
- /* key: 0x6d34 */ 0xffff,
- /* key: 0x6d35 */ 0x5e2d,
- /* key: 0x6d36 */ 0x5e28,
- /* key: 0x6d37 */ 0xffff,
- /* key: 0x6d38 */ 0x5e2b,
- /* key: 0x6d39 */ 0xc73a,
- /* key: 0x6d3a */ 0xffff,
- /* key: 0x6d3b */ 0x3368,
- /* key: 0x6d3c */ 0xc73b,
- /* key: 0x6d3d */ 0x5e2a,
- /* key: 0x6d3e */ 0x4749,
- /* key: 0x6d3f */ 0xc73c,
- /* key: 0x6d40 */ 0xffff,
- /* key: 0x6d41 */ 0x4e2e,
- /* key: 0x6d42 */ 0xffff,
- /* key: 0x6d43 */ 0xffff,
- /* key: 0x6d44 */ 0x3e74,
- /* key: 0x6d45 */ 0x4075,
- /* key: 0x6d46 */ 0xffff,
- /* key: 0x6d47 */ 0xffff,
- /* key: 0x6d48 */ 0xffff,
- /* key: 0x6d49 */ 0xffff,
- /* key: 0x6d4a */ 0xffff,
- /* key: 0x6d4b */ 0xffff,
- /* key: 0x6d4c */ 0xffff,
- /* key: 0x6d4d */ 0xffff,
- /* key: 0x6d4e */ 0xffff,
- /* key: 0x6d4f */ 0xffff,
- /* key: 0x6d50 */ 0xffff,
- /* key: 0x6d51 */ 0xffff,
- /* key: 0x6d52 */ 0xffff,
- /* key: 0x6d53 */ 0xffff,
- /* key: 0x6d54 */ 0xffff,
- /* key: 0x6d55 */ 0xffff,
- /* key: 0x6d56 */ 0xffff,
- /* key: 0x6d57 */ 0xc73d,
- /* key: 0x6d58 */ 0xffff,
- /* key: 0x6d59 */ 0x5e36,
- /* key: 0x6d5a */ 0x5e34,
- /* key: 0x6d5b */ 0xffff,
- /* key: 0x6d5c */ 0x494d,
- /* key: 0x6d5d */ 0xffff,
- /* key: 0x6d5e */ 0xc73e,
- /* key: 0x6d5f */ 0xc73f,
- /* key: 0x6d60 */ 0xffff,
- /* key: 0x6d61 */ 0xc740,
- /* key: 0x6d62 */ 0xffff,
- /* key: 0x6d63 */ 0x5e31,
- /* key: 0x6d64 */ 0x5e33,
- /* key: 0x6d65 */ 0xc741,
- /* key: 0x6d66 */ 0x313a,
- /* key: 0x6d67 */ 0xc742,
- /* key: 0x6d68 */ 0xffff,
- /* key: 0x6d69 */ 0x3940,
- /* key: 0x6d6a */ 0x4f32,
- /* key: 0x6d6b */ 0xffff,
- /* key: 0x6d6c */ 0x333d,
- /* key: 0x6d6d */ 0xffff,
- /* key: 0x6d6e */ 0x4962,
- /* key: 0x6d6f */ 0xc743,
- /* key: 0x6d70 */ 0xc744,
- /* key: 0x6d71 */ 0xffff,
- /* key: 0x6d72 */ 0xffff,
- /* key: 0x6d73 */ 0xffff,
- /* key: 0x6d74 */ 0x4d61,
- /* key: 0x6d75 */ 0xffff,
- /* key: 0x6d76 */ 0xffff,
- /* key: 0x6d77 */ 0x3324,
- /* key: 0x6d78 */ 0x3f3b,
- /* key: 0x6d79 */ 0x5e35,
- /* key: 0x6d7a */ 0xffff,
- /* key: 0x6d7b */ 0xffff,
- /* key: 0x6d7c */ 0xc745,
- /* key: 0x6d7d */ 0xffff,
- /* key: 0x6d7e */ 0xffff,
- /* key: 0x6d7f */ 0xffff,
- /* key: 0x6d80 */ 0xffff,
- /* key: 0x6d81 */ 0xffff,
- /* key: 0x6d82 */ 0xc746,
- /* key: 0x6d83 */ 0xffff,
- /* key: 0x6d84 */ 0xffff,
- /* key: 0x6d85 */ 0x5e3a,
- /* key: 0x6d86 */ 0xffff,
- /* key: 0x6d87 */ 0xc747,
- /* key: 0x6d88 */ 0x3e43,
- /* key: 0x6d89 */ 0xffff,
- /* key: 0x6d8a */ 0xffff,
- /* key: 0x6d8b */ 0xffff,
- /* key: 0x6d8c */ 0x4d30,
- /* key: 0x6d8d */ 0xffff,
- /* key: 0x6d8e */ 0x5e37,
- /* key: 0x6d8f */ 0xffff,
- /* key: 0x6d90 */ 0xffff,
- /* key: 0x6d91 */ 0xc748,
- /* key: 0x6d92 */ 0xc749,
- /* key: 0x6d93 */ 0x5e32,
- /* key: 0x6d94 */ 0xc74a,
- /* key: 0x6d95 */ 0x5e38,
- /* key: 0x6d96 */ 0xc74b,
- /* key: 0x6d97 */ 0xc74c,
- /* key: 0x6d98 */ 0xc74d,
- /* key: 0x6d99 */ 0x4e5e,
- /* key: 0x6d9a */ 0xffff,
- /* key: 0x6d9b */ 0x4573,
- /* key: 0x6d9c */ 0x4642,
- /* key: 0x6d9d */ 0xffff,
- /* key: 0x6d9e */ 0xffff,
- /* key: 0x6d9f */ 0xffff,
- /* key: 0x6da0 */ 0xffff,
- /* key: 0x6da1 */ 0xffff,
- /* key: 0x6da2 */ 0xffff,
- /* key: 0x6da3 */ 0xffff,
- /* key: 0x6da4 */ 0xffff,
- /* key: 0x6da5 */ 0xffff,
- /* key: 0x6da6 */ 0xffff,
- /* key: 0x6da7 */ 0xffff,
- /* key: 0x6da8 */ 0xffff,
- /* key: 0x6da9 */ 0xffff,
- /* key: 0x6daa */ 0xc74e,
- /* key: 0x6dab */ 0xffff,
- /* key: 0x6dac */ 0xc74f,
- /* key: 0x6dad */ 0xffff,
- /* key: 0x6dae */ 0xffff,
- /* key: 0x6daf */ 0x3336,
- /* key: 0x6db0 */ 0xffff,
- /* key: 0x6db1 */ 0xffff,
- /* key: 0x6db2 */ 0x3155,
- /* key: 0x6db3 */ 0xffff,
- /* key: 0x6db4 */ 0xc750,
- /* key: 0x6db5 */ 0x5e3e,
- /* key: 0x6db6 */ 0xffff,
- /* key: 0x6db7 */ 0xc751,
- /* key: 0x6db8 */ 0x5e41,
- /* key: 0x6db9 */ 0xc752,
- /* key: 0x6dba */ 0xffff,
- /* key: 0x6dbb */ 0xffff,
- /* key: 0x6dbc */ 0x4e43,
- /* key: 0x6dbd */ 0xc753,
- /* key: 0x6dbe */ 0xffff,
- /* key: 0x6dbf */ 0xc754,
- /* key: 0x6dc0 */ 0x4d64,
- /* key: 0x6dc1 */ 0xffff,
- /* key: 0x6dc2 */ 0xffff,
- /* key: 0x6dc3 */ 0xffff,
- /* key: 0x6dc4 */ 0xc755,
- /* key: 0x6dc5 */ 0x5e48,
- /* key: 0x6dc6 */ 0x5e42,
- /* key: 0x6dc7 */ 0x5e3f,
- /* key: 0x6dc8 */ 0xc756,
- /* key: 0x6dc9 */ 0xffff,
- /* key: 0x6dca */ 0xc757,
- /* key: 0x6dcb */ 0x4e54,
- /* key: 0x6dcc */ 0x5e45,
- /* key: 0x6dcd */ 0xffff,
- /* key: 0x6dce */ 0xc758,
- /* key: 0x6dcf */ 0xc759,
- /* key: 0x6dd0 */ 0xffff,
- /* key: 0x6dd1 */ 0x3d4a,
- /* key: 0x6dd2 */ 0x5e47,
- /* key: 0x6dd3 */ 0xffff,
- /* key: 0x6dd4 */ 0xffff,
- /* key: 0x6dd5 */ 0x5e4c,
- /* key: 0x6dd6 */ 0xc75a,
- /* key: 0x6dd7 */ 0xffff,
- /* key: 0x6dd8 */ 0x4571,
- /* key: 0x6dd9 */ 0x5e4a,
- /* key: 0x6dda */ 0xffff,
- /* key: 0x6ddb */ 0xc75b,
- /* key: 0x6ddc */ 0xffff,
- /* key: 0x6ddd */ 0xc75c,
- /* key: 0x6dde */ 0x5e44,
- /* key: 0x6ddf */ 0xc75d,
- /* key: 0x6de0 */ 0xc75e,
- /* key: 0x6de1 */ 0x4338,
- /* key: 0x6de2 */ 0xc75f,
- /* key: 0x6de3 */ 0xffff,
- /* key: 0x6de4 */ 0x5e4b,
- /* key: 0x6de5 */ 0xc760,
- /* key: 0x6de6 */ 0x5e40,
- /* key: 0x6de7 */ 0xffff,
- /* key: 0x6de8 */ 0x5e46,
- /* key: 0x6de9 */ 0xc761,
- /* key: 0x6dea */ 0x5e4d,
- /* key: 0x6deb */ 0x307c,
- /* key: 0x6dec */ 0x5e43,
- /* key: 0x6ded */ 0xffff,
- /* key: 0x6dee */ 0x5e4e,
- /* key: 0x6def */ 0xc762,
- /* key: 0x6df0 */ 0xc763,
- /* key: 0x6df1 */ 0x3f3c,
- /* key: 0x6df2 */ 0xffff,
- /* key: 0x6df3 */ 0x3d5f,
- /* key: 0x6df4 */ 0xc764,
- /* key: 0x6df5 */ 0x4a25,
- /* key: 0x6df6 */ 0xc765,
- /* key: 0x6df7 */ 0x3a2e,
- /* key: 0x6df8 */ 0xffff,
- /* key: 0x6df9 */ 0x5e3b,
- /* key: 0x6dfa */ 0x5e49,
- /* key: 0x6dfb */ 0x453a,
- /* key: 0x6dfc */ 0xc766,
- /* key: 0x6dfd */ 0xffff,
- /* key: 0x6dfe */ 0xffff,
- /* key: 0x6dff */ 0xffff,
- /* branch: 0x6e0X */ 10320,
- /* branch: 0x6e1X */ 10336,
- /* branch: 0x6e2X */ 10352,
- /* branch: 0x6e3X */ 10368,
- /* branch: 0x6e4X */ 10384,
- /* branch: 0x6e5X */ 10400,
- /* branch: 0x6e6X */ 10416,
- /* branch: 0x6e7X */ 10432,
- /* branch: 0x6e8X */ 10448,
- /* branch: 0x6e9X */ 10464,
- /* branch: 0x6eaX */ 10480,
- /* branch: 0x6ebX */ 10496,
- /* branch: 0x6ecX */ 10512,
- /* branch: 0x6edX */ 10528,
- /* branch: 0x6eeX */ 10544,
- /* branch: 0x6efX */ 10560,
- /* key: 0x6e00 */ 0xc767,
- /* key: 0x6e01 */ 0xffff,
- /* key: 0x6e02 */ 0xffff,
- /* key: 0x6e03 */ 0xffff,
- /* key: 0x6e04 */ 0xc768,
- /* key: 0x6e05 */ 0x4036,
- /* key: 0x6e06 */ 0xffff,
- /* key: 0x6e07 */ 0x3369,
- /* key: 0x6e08 */ 0x3a51,
- /* key: 0x6e09 */ 0x3e44,
- /* key: 0x6e0a */ 0x5e3d,
- /* key: 0x6e0b */ 0x3d42,
- /* key: 0x6e0c */ 0xffff,
- /* key: 0x6e0d */ 0xffff,
- /* key: 0x6e0e */ 0xffff,
- /* key: 0x6e0f */ 0xffff,
- /* key: 0x6e10 */ 0xffff,
- /* key: 0x6e11 */ 0xffff,
- /* key: 0x6e12 */ 0xffff,
- /* key: 0x6e13 */ 0x374c,
- /* key: 0x6e14 */ 0xffff,
- /* key: 0x6e15 */ 0x5e3c,
- /* key: 0x6e16 */ 0xffff,
- /* key: 0x6e17 */ 0xffff,
- /* key: 0x6e18 */ 0xffff,
- /* key: 0x6e19 */ 0x5e52,
- /* key: 0x6e1a */ 0x3d6d,
- /* key: 0x6e1b */ 0x383a,
- /* key: 0x6e1c */ 0xffff,
- /* key: 0x6e1d */ 0x5e61,
- /* key: 0x6e1e */ 0xc769,
- /* key: 0x6e1f */ 0x5e5b,
- /* key: 0x6e20 */ 0x3574,
- /* key: 0x6e21 */ 0x454f,
- /* key: 0x6e22 */ 0xc76a,
- /* key: 0x6e23 */ 0x5e56,
- /* key: 0x6e24 */ 0x5e5f,
- /* key: 0x6e25 */ 0x302f,
- /* key: 0x6e26 */ 0x3132,
- /* key: 0x6e27 */ 0xc76b,
- /* key: 0x6e28 */ 0xffff,
- /* key: 0x6e29 */ 0x3239,
- /* key: 0x6e2a */ 0xffff,
- /* key: 0x6e2b */ 0x5e58,
- /* key: 0x6e2c */ 0x422c,
- /* key: 0x6e2d */ 0x5e4f,
- /* key: 0x6e2e */ 0x5e51,
- /* key: 0x6e2f */ 0x3941,
- /* key: 0x6e30 */ 0xffff,
- /* key: 0x6e31 */ 0xffff,
- /* key: 0x6e32 */ 0xc76c,
- /* key: 0x6e33 */ 0xffff,
- /* key: 0x6e34 */ 0xffff,
- /* key: 0x6e35 */ 0xffff,
- /* key: 0x6e36 */ 0xc76d,
- /* key: 0x6e37 */ 0xffff,
- /* key: 0x6e38 */ 0x5e62,
- /* key: 0x6e39 */ 0xc76e,
- /* key: 0x6e3a */ 0x5e5d,
- /* key: 0x6e3b */ 0xc76f,
- /* key: 0x6e3c */ 0xc770,
- /* key: 0x6e3d */ 0xffff,
- /* key: 0x6e3e */ 0x5e55,
- /* key: 0x6e3f */ 0xffff,
- /* key: 0x6e40 */ 0xffff,
- /* key: 0x6e41 */ 0xffff,
- /* key: 0x6e42 */ 0xffff,
- /* key: 0x6e43 */ 0x5e5c,
- /* key: 0x6e44 */ 0xc771,
- /* key: 0x6e45 */ 0xc772,
- /* key: 0x6e46 */ 0xffff,
- /* key: 0x6e47 */ 0xffff,
- /* key: 0x6e48 */ 0xc773,
- /* key: 0x6e49 */ 0xc774,
- /* key: 0x6e4a */ 0x4c2b,
- /* key: 0x6e4b */ 0xc775,
- /* key: 0x6e4c */ 0xffff,
- /* key: 0x6e4d */ 0x5e5a,
- /* key: 0x6e4e */ 0x5e5e,
- /* key: 0x6e4f */ 0xc776,
- /* key: 0x6e50 */ 0xffff,
- /* key: 0x6e51 */ 0xc777,
- /* key: 0x6e52 */ 0xc778,
- /* key: 0x6e53 */ 0xc779,
- /* key: 0x6e54 */ 0xc77a,
- /* key: 0x6e55 */ 0xffff,
- /* key: 0x6e56 */ 0x3850,
- /* key: 0x6e57 */ 0xc77b,
- /* key: 0x6e58 */ 0x3e45,
- /* key: 0x6e59 */ 0xffff,
- /* key: 0x6e5a */ 0xffff,
- /* key: 0x6e5b */ 0x4339,
- /* key: 0x6e5c */ 0xc77c,
- /* key: 0x6e5d */ 0xc77d,
- /* key: 0x6e5e */ 0xc77e,
- /* key: 0x6e5f */ 0x5e54,
- /* key: 0x6e60 */ 0xffff,
- /* key: 0x6e61 */ 0xffff,
- /* key: 0x6e62 */ 0xc821,
- /* key: 0x6e63 */ 0xc822,
- /* key: 0x6e64 */ 0xffff,
- /* key: 0x6e65 */ 0xffff,
- /* key: 0x6e66 */ 0xffff,
- /* key: 0x6e67 */ 0x4d2f,
- /* key: 0x6e68 */ 0xc823,
- /* key: 0x6e69 */ 0xffff,
- /* key: 0x6e6a */ 0xffff,
- /* key: 0x6e6b */ 0x5e57,
- /* key: 0x6e6c */ 0xffff,
- /* key: 0x6e6d */ 0xffff,
- /* key: 0x6e6e */ 0x5e50,
- /* key: 0x6e6f */ 0x4572,
- /* key: 0x6e70 */ 0xffff,
- /* key: 0x6e71 */ 0xffff,
- /* key: 0x6e72 */ 0x5e53,
- /* key: 0x6e73 */ 0xc824,
- /* key: 0x6e74 */ 0xffff,
- /* key: 0x6e75 */ 0xffff,
- /* key: 0x6e76 */ 0x5e59,
- /* key: 0x6e77 */ 0xffff,
- /* key: 0x6e78 */ 0xffff,
- /* key: 0x6e79 */ 0xffff,
- /* key: 0x6e7a */ 0xffff,
- /* key: 0x6e7b */ 0xc825,
- /* key: 0x6e7c */ 0xffff,
- /* key: 0x6e7d */ 0xc826,
- /* key: 0x6e7e */ 0x4f51,
- /* key: 0x6e7f */ 0x3c3e,
- /* key: 0x6e80 */ 0x4b7e,
- /* key: 0x6e81 */ 0xffff,
- /* key: 0x6e82 */ 0x5e63,
- /* key: 0x6e83 */ 0xffff,
- /* key: 0x6e84 */ 0xffff,
- /* key: 0x6e85 */ 0xffff,
- /* key: 0x6e86 */ 0xffff,
- /* key: 0x6e87 */ 0xffff,
- /* key: 0x6e88 */ 0xffff,
- /* key: 0x6e89 */ 0xffff,
- /* key: 0x6e8a */ 0xffff,
- /* key: 0x6e8b */ 0xffff,
- /* key: 0x6e8c */ 0x482e,
- /* key: 0x6e8d */ 0xc827,
- /* key: 0x6e8e */ 0xffff,
- /* key: 0x6e8f */ 0x5e6f,
- /* key: 0x6e90 */ 0x383b,
- /* key: 0x6e91 */ 0xffff,
- /* key: 0x6e92 */ 0xffff,
- /* key: 0x6e93 */ 0xc828,
- /* key: 0x6e94 */ 0xffff,
- /* key: 0x6e95 */ 0xffff,
- /* key: 0x6e96 */ 0x3d60,
- /* key: 0x6e97 */ 0xffff,
- /* key: 0x6e98 */ 0x5e65,
- /* key: 0x6e99 */ 0xc829,
- /* key: 0x6e9a */ 0xffff,
- /* key: 0x6e9b */ 0xffff,
- /* key: 0x6e9c */ 0x4e2f,
- /* key: 0x6e9d */ 0x3942,
- /* key: 0x6e9e */ 0xffff,
- /* key: 0x6e9f */ 0x5e72,
- /* key: 0x6ea0 */ 0xc82a,
- /* key: 0x6ea1 */ 0xffff,
- /* key: 0x6ea2 */ 0x306e,
- /* key: 0x6ea3 */ 0xffff,
- /* key: 0x6ea4 */ 0xffff,
- /* key: 0x6ea5 */ 0x5e70,
- /* key: 0x6ea6 */ 0xffff,
- /* key: 0x6ea7 */ 0xc82b,
- /* key: 0x6ea8 */ 0xffff,
- /* key: 0x6ea9 */ 0xffff,
- /* key: 0x6eaa */ 0x5e64,
- /* key: 0x6eab */ 0xffff,
- /* key: 0x6eac */ 0xffff,
- /* key: 0x6ead */ 0xc82c,
- /* key: 0x6eae */ 0xc82d,
- /* key: 0x6eaf */ 0x5e6a,
- /* key: 0x6eb0 */ 0xffff,
- /* key: 0x6eb1 */ 0xc82e,
- /* key: 0x6eb2 */ 0x5e6c,
- /* key: 0x6eb3 */ 0xc82f,
- /* key: 0x6eb4 */ 0xffff,
- /* key: 0x6eb5 */ 0xffff,
- /* key: 0x6eb6 */ 0x4d4f,
- /* key: 0x6eb7 */ 0x5e67,
- /* key: 0x6eb8 */ 0xffff,
- /* key: 0x6eb9 */ 0xffff,
- /* key: 0x6eba */ 0x452e,
- /* key: 0x6ebb */ 0xc830,
- /* key: 0x6ebc */ 0xffff,
- /* key: 0x6ebd */ 0x5e69,
- /* key: 0x6ebe */ 0xffff,
- /* key: 0x6ebf */ 0xc831,
- /* key: 0x6ec0 */ 0xc832,
- /* key: 0x6ec1 */ 0xc833,
- /* key: 0x6ec2 */ 0x5e71,
- /* key: 0x6ec3 */ 0xc834,
- /* key: 0x6ec4 */ 0x5e6b,
- /* key: 0x6ec5 */ 0x4c47,
- /* key: 0x6ec6 */ 0xffff,
- /* key: 0x6ec7 */ 0xc835,
- /* key: 0x6ec8 */ 0xc836,
- /* key: 0x6ec9 */ 0x5e66,
- /* key: 0x6eca */ 0xc837,
- /* key: 0x6ecb */ 0x3c22,
- /* key: 0x6ecc */ 0x5e7e,
- /* key: 0x6ecd */ 0xc838,
- /* key: 0x6ece */ 0xc839,
- /* key: 0x6ecf */ 0xc83a,
- /* key: 0x6ed0 */ 0xffff,
- /* key: 0x6ed1 */ 0x336a,
- /* key: 0x6ed2 */ 0xffff,
- /* key: 0x6ed3 */ 0x5e68,
- /* key: 0x6ed4 */ 0x5e6d,
- /* key: 0x6ed5 */ 0x5e6e,
- /* key: 0x6ed6 */ 0xffff,
- /* key: 0x6ed7 */ 0xffff,
- /* key: 0x6ed8 */ 0xffff,
- /* key: 0x6ed9 */ 0xffff,
- /* key: 0x6eda */ 0xffff,
- /* key: 0x6edb */ 0xffff,
- /* key: 0x6edc */ 0xffff,
- /* key: 0x6edd */ 0x426c,
- /* key: 0x6ede */ 0x425a,
- /* key: 0x6edf */ 0xffff,
- /* key: 0x6ee0 */ 0xffff,
- /* key: 0x6ee1 */ 0xffff,
- /* key: 0x6ee2 */ 0xffff,
- /* key: 0x6ee3 */ 0xffff,
- /* key: 0x6ee4 */ 0xffff,
- /* key: 0x6ee5 */ 0xffff,
- /* key: 0x6ee6 */ 0xffff,
- /* key: 0x6ee7 */ 0xffff,
- /* key: 0x6ee8 */ 0xffff,
- /* key: 0x6ee9 */ 0xffff,
- /* key: 0x6eea */ 0xffff,
- /* key: 0x6eeb */ 0xc83b,
- /* key: 0x6eec */ 0x5e76,
- /* key: 0x6eed */ 0xc83c,
- /* key: 0x6eee */ 0xc83d,
- /* key: 0x6eef */ 0x5e7c,
- /* key: 0x6ef0 */ 0xffff,
- /* key: 0x6ef1 */ 0xffff,
- /* key: 0x6ef2 */ 0x5e7a,
- /* key: 0x6ef3 */ 0xffff,
- /* key: 0x6ef4 */ 0x4529,
- /* key: 0x6ef5 */ 0xffff,
- /* key: 0x6ef6 */ 0xffff,
- /* key: 0x6ef7 */ 0x5f23,
- /* key: 0x6ef8 */ 0x5e77,
- /* key: 0x6ef9 */ 0xc83e,
- /* key: 0x6efa */ 0xffff,
- /* key: 0x6efb */ 0xc83f,
- /* key: 0x6efc */ 0xffff,
- /* key: 0x6efd */ 0xc840,
- /* key: 0x6efe */ 0x5e78,
- /* key: 0x6eff */ 0x5e60,
- /* branch: 0x6f0X */ 10592,
- /* branch: 0x6f1X */ 10608,
- /* branch: 0x6f2X */ 10624,
- /* branch: 0x6f3X */ 10640,
- /* branch: 0x6f4X */ 10656,
- /* branch: 0x6f5X */ 10672,
- /* branch: 0x6f6X */ 10688,
- /* branch: 0x6f7X */ 10704,
- /* branch: 0x6f8X */ 10720,
- /* branch: 0x6f9X */ 10736,
- /* branch: 0x6faX */ 10752,
- /* branch: 0x6fbX */ 10768,
- /* branch: 0x6fcX */ 10784,
- /* branch: 0x6fdX */ 10800,
- /* branch: 0x6feX */ 10816,
- /* branch: 0x6ffX */ 10832,
- /* key: 0x6f00 */ 0xffff,
- /* key: 0x6f01 */ 0x3579,
- /* key: 0x6f02 */ 0x493a,
- /* key: 0x6f03 */ 0xffff,
- /* key: 0x6f04 */ 0xc841,
- /* key: 0x6f05 */ 0xffff,
- /* key: 0x6f06 */ 0x3c3f,
- /* key: 0x6f07 */ 0xffff,
- /* key: 0x6f08 */ 0xc842,
- /* key: 0x6f09 */ 0x3977,
- /* key: 0x6f0a */ 0xc843,
- /* key: 0x6f0b */ 0xffff,
- /* key: 0x6f0c */ 0xc844,
- /* key: 0x6f0d */ 0xc845,
- /* key: 0x6f0e */ 0xffff,
- /* key: 0x6f0f */ 0x4f33,
- /* key: 0x6f10 */ 0xffff,
- /* key: 0x6f11 */ 0x5e74,
- /* key: 0x6f12 */ 0xffff,
- /* key: 0x6f13 */ 0x5f22,
- /* key: 0x6f14 */ 0x3169,
- /* key: 0x6f15 */ 0x4166,
- /* key: 0x6f16 */ 0xc846,
- /* key: 0x6f17 */ 0xffff,
- /* key: 0x6f18 */ 0xc847,
- /* key: 0x6f19 */ 0xffff,
- /* key: 0x6f1a */ 0xc848,
- /* key: 0x6f1b */ 0xc849,
- /* key: 0x6f1c */ 0xffff,
- /* key: 0x6f1d */ 0xffff,
- /* key: 0x6f1e */ 0xffff,
- /* key: 0x6f1f */ 0xffff,
- /* key: 0x6f20 */ 0x4779,
- /* key: 0x6f21 */ 0xffff,
- /* key: 0x6f22 */ 0x3441,
- /* key: 0x6f23 */ 0x4e7a,
- /* key: 0x6f24 */ 0xffff,
- /* key: 0x6f25 */ 0xffff,
- /* key: 0x6f26 */ 0xc84a,
- /* key: 0x6f27 */ 0xffff,
- /* key: 0x6f28 */ 0xffff,
- /* key: 0x6f29 */ 0xc84b,
- /* key: 0x6f2a */ 0xc84c,
- /* key: 0x6f2b */ 0x4c21,
- /* key: 0x6f2c */ 0x4452,
- /* key: 0x6f2d */ 0xc853,
- /* key: 0x6f2e */ 0xffff,
- /* key: 0x6f2f */ 0xc84d,
- /* key: 0x6f30 */ 0xc84e,
- /* key: 0x6f31 */ 0x5e7b,
- /* key: 0x6f32 */ 0x5e7d,
- /* key: 0x6f33 */ 0xc84f,
- /* key: 0x6f34 */ 0xffff,
- /* key: 0x6f35 */ 0xffff,
- /* key: 0x6f36 */ 0xc850,
- /* key: 0x6f37 */ 0xffff,
- /* key: 0x6f38 */ 0x4132,
- /* key: 0x6f39 */ 0xffff,
- /* key: 0x6f3a */ 0xffff,
- /* key: 0x6f3b */ 0xc851,
- /* key: 0x6f3c */ 0xc852,
- /* key: 0x6f3d */ 0xffff,
- /* key: 0x6f3e */ 0x5f21,
- /* key: 0x6f3f */ 0x5e79,
- /* key: 0x6f40 */ 0xffff,
- /* key: 0x6f41 */ 0x5e73,
- /* key: 0x6f42 */ 0xffff,
- /* key: 0x6f43 */ 0xffff,
- /* key: 0x6f44 */ 0xffff,
- /* key: 0x6f45 */ 0x3443,
- /* key: 0x6f46 */ 0xffff,
- /* key: 0x6f47 */ 0xffff,
- /* key: 0x6f48 */ 0xffff,
- /* key: 0x6f49 */ 0xffff,
- /* key: 0x6f4a */ 0xffff,
- /* key: 0x6f4b */ 0xffff,
- /* key: 0x6f4c */ 0xffff,
- /* key: 0x6f4d */ 0xffff,
- /* key: 0x6f4e */ 0xffff,
- /* key: 0x6f4f */ 0xc854,
- /* key: 0x6f50 */ 0xffff,
- /* key: 0x6f51 */ 0xc855,
- /* key: 0x6f52 */ 0xc856,
- /* key: 0x6f53 */ 0xc857,
- /* key: 0x6f54 */ 0x3769,
- /* key: 0x6f55 */ 0xffff,
- /* key: 0x6f56 */ 0xffff,
- /* key: 0x6f57 */ 0xc858,
- /* key: 0x6f58 */ 0x5f2f,
- /* key: 0x6f59 */ 0xc859,
- /* key: 0x6f5a */ 0xc85a,
- /* key: 0x6f5b */ 0x5f2a,
- /* key: 0x6f5c */ 0x4078,
- /* key: 0x6f5d */ 0xc85b,
- /* key: 0x6f5e */ 0xc85c,
- /* key: 0x6f5f */ 0x3363,
- /* key: 0x6f60 */ 0xffff,
- /* key: 0x6f61 */ 0xc85d,
- /* key: 0x6f62 */ 0xc85e,
- /* key: 0x6f63 */ 0xffff,
- /* key: 0x6f64 */ 0x3d61,
- /* key: 0x6f65 */ 0xffff,
- /* key: 0x6f66 */ 0x5f33,
- /* key: 0x6f67 */ 0xffff,
- /* key: 0x6f68 */ 0xc85f,
- /* key: 0x6f69 */ 0xffff,
- /* key: 0x6f6a */ 0xffff,
- /* key: 0x6f6b */ 0xffff,
- /* key: 0x6f6c */ 0xc860,
- /* key: 0x6f6d */ 0x5f2c,
- /* key: 0x6f6e */ 0x442c,
- /* key: 0x6f6f */ 0x5f29,
- /* key: 0x6f70 */ 0x4459,
- /* key: 0x6f71 */ 0xffff,
- /* key: 0x6f72 */ 0xffff,
- /* key: 0x6f73 */ 0xffff,
- /* key: 0x6f74 */ 0x5f4c,
- /* key: 0x6f75 */ 0xffff,
- /* key: 0x6f76 */ 0xffff,
- /* key: 0x6f77 */ 0xffff,
- /* key: 0x6f78 */ 0x5f26,
- /* key: 0x6f79 */ 0xffff,
- /* key: 0x6f7a */ 0x5f25,
- /* key: 0x6f7b */ 0xffff,
- /* key: 0x6f7c */ 0x5f2e,
- /* key: 0x6f7d */ 0xc861,
- /* key: 0x6f7e */ 0xc862,
- /* key: 0x6f7f */ 0xffff,
- /* key: 0x6f80 */ 0x5f28,
- /* key: 0x6f81 */ 0x5f27,
- /* key: 0x6f82 */ 0x5f2d,
- /* key: 0x6f83 */ 0xc863,
- /* key: 0x6f84 */ 0x4021,
- /* key: 0x6f85 */ 0xffff,
- /* key: 0x6f86 */ 0x5f24,
- /* key: 0x6f87 */ 0xc864,
- /* key: 0x6f88 */ 0xc865,
- /* key: 0x6f89 */ 0xffff,
- /* key: 0x6f8a */ 0xffff,
- /* key: 0x6f8b */ 0xc866,
- /* key: 0x6f8c */ 0xc867,
- /* key: 0x6f8d */ 0xc868,
- /* key: 0x6f8e */ 0x5f30,
- /* key: 0x6f8f */ 0xffff,
- /* key: 0x6f90 */ 0xc869,
- /* key: 0x6f91 */ 0x5f31,
- /* key: 0x6f92 */ 0xc86a,
- /* key: 0x6f93 */ 0xc86b,
- /* key: 0x6f94 */ 0xc86c,
- /* key: 0x6f95 */ 0xffff,
- /* key: 0x6f96 */ 0xc86d,
- /* key: 0x6f97 */ 0x3442,
- /* key: 0x6f98 */ 0xffff,
- /* key: 0x6f99 */ 0xffff,
- /* key: 0x6f9a */ 0xc86e,
- /* key: 0x6f9b */ 0xffff,
- /* key: 0x6f9c */ 0xffff,
- /* key: 0x6f9d */ 0xffff,
- /* key: 0x6f9e */ 0xffff,
- /* key: 0x6f9f */ 0xc86f,
- /* key: 0x6fa0 */ 0xc870,
- /* key: 0x6fa1 */ 0x5f36,
- /* key: 0x6fa2 */ 0xffff,
- /* key: 0x6fa3 */ 0x5f35,
- /* key: 0x6fa4 */ 0x5f37,
- /* key: 0x6fa5 */ 0xc871,
- /* key: 0x6fa6 */ 0xc872,
- /* key: 0x6fa7 */ 0xc873,
- /* key: 0x6fa8 */ 0xc874,
- /* key: 0x6fa9 */ 0xffff,
- /* key: 0x6faa */ 0x5f3a,
- /* key: 0x6fab */ 0xffff,
- /* key: 0x6fac */ 0xffff,
- /* key: 0x6fad */ 0xffff,
- /* key: 0x6fae */ 0xc875,
- /* key: 0x6faf */ 0xc876,
- /* key: 0x6fb0 */ 0xc877,
- /* key: 0x6fb1 */ 0x4543,
- /* key: 0x6fb2 */ 0xffff,
- /* key: 0x6fb3 */ 0x5f34,
- /* key: 0x6fb4 */ 0xffff,
- /* key: 0x6fb5 */ 0xc878,
- /* key: 0x6fb6 */ 0xc879,
- /* key: 0x6fb7 */ 0xffff,
- /* key: 0x6fb8 */ 0xffff,
- /* key: 0x6fb9 */ 0x5f38,
- /* key: 0x6fba */ 0xffff,
- /* key: 0x6fbb */ 0xffff,
- /* key: 0x6fbc */ 0xc87a,
- /* key: 0x6fbd */ 0xffff,
- /* key: 0x6fbe */ 0xffff,
- /* key: 0x6fbf */ 0xffff,
- /* key: 0x6fc0 */ 0x3763,
- /* key: 0x6fc1 */ 0x4279,
- /* key: 0x6fc2 */ 0x5f32,
- /* key: 0x6fc3 */ 0x473b,
- /* key: 0x6fc4 */ 0xffff,
- /* key: 0x6fc5 */ 0xc87b,
- /* key: 0x6fc6 */ 0x5f39,
- /* key: 0x6fc7 */ 0xc87c,
- /* key: 0x6fc8 */ 0xc87d,
- /* key: 0x6fc9 */ 0xffff,
- /* key: 0x6fca */ 0xc87e,
- /* key: 0x6fcb */ 0xffff,
- /* key: 0x6fcc */ 0xffff,
- /* key: 0x6fcd */ 0xffff,
- /* key: 0x6fce */ 0xffff,
- /* key: 0x6fcf */ 0xffff,
- /* key: 0x6fd0 */ 0xffff,
- /* key: 0x6fd1 */ 0xffff,
- /* key: 0x6fd2 */ 0xffff,
- /* key: 0x6fd3 */ 0xffff,
- /* key: 0x6fd4 */ 0x5f3e,
- /* key: 0x6fd5 */ 0x5f3c,
- /* key: 0x6fd6 */ 0xffff,
- /* key: 0x6fd7 */ 0xffff,
- /* key: 0x6fd8 */ 0x5f3f,
- /* key: 0x6fd9 */ 0xffff,
- /* key: 0x6fda */ 0xc921,
- /* key: 0x6fdb */ 0x5f42,
- /* key: 0x6fdc */ 0xffff,
- /* key: 0x6fdd */ 0xffff,
- /* key: 0x6fde */ 0xc922,
- /* key: 0x6fdf */ 0x5f3b,
- /* key: 0x6fe0 */ 0x396a,
- /* key: 0x6fe1 */ 0x4728,
- /* key: 0x6fe2 */ 0xffff,
- /* key: 0x6fe3 */ 0xffff,
- /* key: 0x6fe4 */ 0x5e39,
- /* key: 0x6fe5 */ 0xffff,
- /* key: 0x6fe6 */ 0xffff,
- /* key: 0x6fe7 */ 0xffff,
- /* key: 0x6fe8 */ 0xc923,
- /* key: 0x6fe9 */ 0xc924,
- /* key: 0x6fea */ 0xffff,
- /* key: 0x6feb */ 0x4d74,
- /* key: 0x6fec */ 0x5f3d,
- /* key: 0x6fed */ 0xffff,
- /* key: 0x6fee */ 0x5f41,
- /* key: 0x6fef */ 0x4275,
- /* key: 0x6ff0 */ 0xc925,
- /* key: 0x6ff1 */ 0x5f40,
- /* key: 0x6ff2 */ 0xffff,
- /* key: 0x6ff3 */ 0x5f2b,
- /* key: 0x6ff4 */ 0xffff,
- /* key: 0x6ff5 */ 0xc926,
- /* key: 0x6ff6 */ 0x6f69,
- /* key: 0x6ff7 */ 0xffff,
- /* key: 0x6ff8 */ 0xffff,
- /* key: 0x6ff9 */ 0xc927,
- /* key: 0x6ffa */ 0x5f45,
- /* key: 0x6ffb */ 0xffff,
- /* key: 0x6ffc */ 0xc928,
- /* key: 0x6ffd */ 0xc929,
- /* key: 0x6ffe */ 0x5f49,
- /* key: 0x6fff */ 0xffff,
- /* branch: 0x70XX */ 10864,
- /* branch: 0x71XX */ 11136,
- /* branch: 0x72XX */ 11408,
- /* branch: 0x73XX */ 11680,
- /* branch: 0x74XX */ 11952,
- /* branch: 0x75XX */ 12224,
- /* branch: 0x76XX */ 12496,
- /* branch: 0x77XX */ 12768,
- /* branch: 0x78XX */ 13040,
- /* branch: 0x79XX */ 13312,
- /* branch: 0x7aXX */ 13584,
- /* branch: 0x7bXX */ 13856,
- /* branch: 0x7cXX */ 14128,
- /* branch: 0x7dXX */ 14400,
- /* branch: 0x7eXX */ 14672,
- /* branch: 0x7fXX */ 14848,
- /* branch: 0x700X */ 10880,
- /* branch: 0x701X */ 10896,
- /* branch: 0x702X */ 10912,
- /* branch: 0x703X */ 10928,
- /* branch: 0x704X */ 10944,
- /* branch: 0x705X */ 10960,
- /* branch: 0x706X */ 10976,
- /* branch: 0x707X */ 10992,
- /* branch: 0x708X */ 11008,
- /* branch: 0x709X */ 11024,
- /* branch: 0x70aX */ 11040,
- /* branch: 0x70bX */ 11056,
- /* branch: 0x70cX */ 11072,
- /* branch: 0x70dX */ 11088,
- /* branch: 0x70eX */ 11104,
- /* branch: 0x70fX */ 11120,
- /* key: 0x7000 */ 0xc92a,
- /* key: 0x7001 */ 0x5f47,
- /* key: 0x7002 */ 0xffff,
- /* key: 0x7003 */ 0xffff,
- /* key: 0x7004 */ 0xffff,
- /* key: 0x7005 */ 0xc92b,
- /* key: 0x7006 */ 0xc92c,
- /* key: 0x7007 */ 0xc92d,
- /* key: 0x7008 */ 0xffff,
- /* key: 0x7009 */ 0x5f43,
- /* key: 0x700a */ 0xffff,
- /* key: 0x700b */ 0x5f44,
- /* key: 0x700c */ 0xffff,
- /* key: 0x700d */ 0xc92e,
- /* key: 0x700e */ 0xffff,
- /* key: 0x700f */ 0x5f48,
- /* key: 0x7010 */ 0xffff,
- /* key: 0x7011 */ 0x5f46,
- /* key: 0x7012 */ 0xffff,
- /* key: 0x7013 */ 0xffff,
- /* key: 0x7014 */ 0xffff,
- /* key: 0x7015 */ 0x494e,
- /* key: 0x7016 */ 0xffff,
- /* key: 0x7017 */ 0xc92f,
- /* key: 0x7018 */ 0x5f4e,
- /* key: 0x7019 */ 0xffff,
- /* key: 0x701a */ 0x5f4b,
- /* key: 0x701b */ 0x5f4a,
- /* key: 0x701c */ 0xffff,
- /* key: 0x701d */ 0x5f4d,
- /* key: 0x701e */ 0x4654,
- /* key: 0x701f */ 0x5f4f,
- /* key: 0x7020 */ 0xc930,
- /* key: 0x7021 */ 0xffff,
- /* key: 0x7022 */ 0xffff,
- /* key: 0x7023 */ 0xc931,
- /* key: 0x7024 */ 0xffff,
- /* key: 0x7025 */ 0xffff,
- /* key: 0x7026 */ 0x4375,
- /* key: 0x7027 */ 0x426d,
- /* key: 0x7028 */ 0xffff,
- /* key: 0x7029 */ 0xffff,
- /* key: 0x702a */ 0xffff,
- /* key: 0x702b */ 0xffff,
- /* key: 0x702c */ 0x4025,
- /* key: 0x702d */ 0xffff,
- /* key: 0x702e */ 0xffff,
- /* key: 0x702f */ 0xc932,
- /* key: 0x7030 */ 0x5f50,
- /* key: 0x7031 */ 0xffff,
- /* key: 0x7032 */ 0x5f52,
- /* key: 0x7033 */ 0xffff,
- /* key: 0x7034 */ 0xc933,
- /* key: 0x7035 */ 0xffff,
- /* key: 0x7036 */ 0xffff,
- /* key: 0x7037 */ 0xc934,
- /* key: 0x7038 */ 0xffff,
- /* key: 0x7039 */ 0xc935,
- /* key: 0x703a */ 0xffff,
- /* key: 0x703b */ 0xffff,
- /* key: 0x703c */ 0xc936,
- /* key: 0x703d */ 0xffff,
- /* key: 0x703e */ 0x5f51,
- /* key: 0x703f */ 0xffff,
- /* key: 0x7040 */ 0xffff,
- /* key: 0x7041 */ 0xffff,
- /* key: 0x7042 */ 0xffff,
- /* key: 0x7043 */ 0xc937,
- /* key: 0x7044 */ 0xc938,
- /* key: 0x7045 */ 0xffff,
- /* key: 0x7046 */ 0xffff,
- /* key: 0x7047 */ 0xffff,
- /* key: 0x7048 */ 0xc939,
- /* key: 0x7049 */ 0xc93a,
- /* key: 0x704a */ 0xc93b,
- /* key: 0x704b */ 0xc93c,
- /* key: 0x704c */ 0x5e75,
- /* key: 0x704d */ 0xffff,
- /* key: 0x704e */ 0xc941,
- /* key: 0x704f */ 0xffff,
- /* key: 0x7050 */ 0xffff,
- /* key: 0x7051 */ 0x5f53,
- /* key: 0x7052 */ 0xffff,
- /* key: 0x7053 */ 0xffff,
- /* key: 0x7054 */ 0xc93d,
- /* key: 0x7055 */ 0xc93e,
- /* key: 0x7056 */ 0xffff,
- /* key: 0x7057 */ 0xffff,
- /* key: 0x7058 */ 0x4667,
- /* key: 0x7059 */ 0xffff,
- /* key: 0x705a */ 0xffff,
- /* key: 0x705b */ 0xffff,
- /* key: 0x705c */ 0xffff,
- /* key: 0x705d */ 0xc93f,
- /* key: 0x705e */ 0xc940,
- /* key: 0x705f */ 0xffff,
- /* key: 0x7060 */ 0xffff,
- /* key: 0x7061 */ 0xffff,
- /* key: 0x7062 */ 0xffff,
- /* key: 0x7063 */ 0x5f54,
- /* key: 0x7064 */ 0xc942,
- /* key: 0x7065 */ 0xc943,
- /* key: 0x7066 */ 0xffff,
- /* key: 0x7067 */ 0xffff,
- /* key: 0x7068 */ 0xffff,
- /* key: 0x7069 */ 0xffff,
- /* key: 0x706a */ 0xffff,
- /* key: 0x706b */ 0x3250,
- /* key: 0x706c */ 0xc944,
- /* key: 0x706d */ 0xffff,
- /* key: 0x706e */ 0xc945,
- /* key: 0x706f */ 0x4574,
- /* key: 0x7070 */ 0x3325,
- /* key: 0x7071 */ 0xffff,
- /* key: 0x7072 */ 0xffff,
- /* key: 0x7073 */ 0xffff,
- /* key: 0x7074 */ 0xffff,
- /* key: 0x7075 */ 0xc946,
- /* key: 0x7076 */ 0xc947,
- /* key: 0x7077 */ 0xffff,
- /* key: 0x7078 */ 0x3564,
- /* key: 0x7079 */ 0xffff,
- /* key: 0x707a */ 0xffff,
- /* key: 0x707b */ 0xffff,
- /* key: 0x707c */ 0x3c5e,
- /* key: 0x707d */ 0x3a52,
- /* key: 0x707e */ 0xc948,
- /* key: 0x707f */ 0xffff,
- /* key: 0x7080 */ 0xffff,
- /* key: 0x7081 */ 0xc949,
- /* key: 0x7082 */ 0xffff,
- /* key: 0x7083 */ 0xffff,
- /* key: 0x7084 */ 0xffff,
- /* key: 0x7085 */ 0xc94a,
- /* key: 0x7086 */ 0xc94b,
- /* key: 0x7087 */ 0xffff,
- /* key: 0x7088 */ 0xffff,
- /* key: 0x7089 */ 0x4f27,
- /* key: 0x708a */ 0x3f66,
- /* key: 0x708b */ 0xffff,
- /* key: 0x708c */ 0xffff,
- /* key: 0x708d */ 0xffff,
- /* key: 0x708e */ 0x316a,
- /* key: 0x708f */ 0xffff,
- /* key: 0x7090 */ 0xffff,
- /* key: 0x7091 */ 0xffff,
- /* key: 0x7092 */ 0x5f56,
- /* key: 0x7093 */ 0xffff,
- /* key: 0x7094 */ 0xc94c,
- /* key: 0x7095 */ 0xc94d,
- /* key: 0x7096 */ 0xc94e,
- /* key: 0x7097 */ 0xc94f,
- /* key: 0x7098 */ 0xc950,
- /* key: 0x7099 */ 0x5f55,
- /* key: 0x709a */ 0xffff,
- /* key: 0x709b */ 0xc951,
- /* key: 0x709c */ 0xffff,
- /* key: 0x709d */ 0xffff,
- /* key: 0x709e */ 0xffff,
- /* key: 0x709f */ 0xffff,
- /* key: 0x70a0 */ 0xffff,
- /* key: 0x70a1 */ 0xffff,
- /* key: 0x70a2 */ 0xffff,
- /* key: 0x70a3 */ 0xffff,
- /* key: 0x70a4 */ 0xc952,
- /* key: 0x70a5 */ 0xffff,
- /* key: 0x70a6 */ 0xffff,
- /* key: 0x70a7 */ 0xffff,
- /* key: 0x70a8 */ 0xffff,
- /* key: 0x70a9 */ 0xffff,
- /* key: 0x70aa */ 0xffff,
- /* key: 0x70ab */ 0xc953,
- /* key: 0x70ac */ 0x5f59,
- /* key: 0x70ad */ 0x433a,
- /* key: 0x70ae */ 0x5f5c,
- /* key: 0x70af */ 0x5f57,
- /* key: 0x70b0 */ 0xc954,
- /* key: 0x70b1 */ 0xc955,
- /* key: 0x70b2 */ 0xffff,
- /* key: 0x70b3 */ 0x5f5b,
- /* key: 0x70b4 */ 0xc956,
- /* key: 0x70b5 */ 0xffff,
- /* key: 0x70b6 */ 0xffff,
- /* key: 0x70b7 */ 0xc957,
- /* key: 0x70b8 */ 0x5f5a,
- /* key: 0x70b9 */ 0x4540,
- /* key: 0x70ba */ 0x3059,
- /* key: 0x70bb */ 0xffff,
- /* key: 0x70bc */ 0xffff,
- /* key: 0x70bd */ 0xffff,
- /* key: 0x70be */ 0xffff,
- /* key: 0x70bf */ 0xffff,
- /* key: 0x70c0 */ 0xffff,
- /* key: 0x70c1 */ 0xffff,
- /* key: 0x70c2 */ 0xffff,
- /* key: 0x70c3 */ 0xffff,
- /* key: 0x70c4 */ 0xffff,
- /* key: 0x70c5 */ 0xffff,
- /* key: 0x70c6 */ 0xffff,
- /* key: 0x70c7 */ 0xffff,
- /* key: 0x70c8 */ 0x4e75,
- /* key: 0x70c9 */ 0xffff,
- /* key: 0x70ca */ 0xc958,
- /* key: 0x70cb */ 0x5f5e,
- /* key: 0x70cc */ 0xffff,
- /* key: 0x70cd */ 0xffff,
- /* key: 0x70ce */ 0xffff,
- /* key: 0x70cf */ 0x3128,
- /* key: 0x70d0 */ 0xffff,
- /* key: 0x70d1 */ 0xc959,
- /* key: 0x70d2 */ 0xffff,
- /* key: 0x70d3 */ 0xc95a,
- /* key: 0x70d4 */ 0xc95b,
- /* key: 0x70d5 */ 0xc95c,
- /* key: 0x70d6 */ 0xc95d,
- /* key: 0x70d7 */ 0xffff,
- /* key: 0x70d8 */ 0xc95e,
- /* key: 0x70d9 */ 0x5f60,
- /* key: 0x70da */ 0xffff,
- /* key: 0x70db */ 0xffff,
- /* key: 0x70dc */ 0xc95f,
- /* key: 0x70dd */ 0x5f5f,
- /* key: 0x70de */ 0xffff,
- /* key: 0x70df */ 0x5f5d,
- /* key: 0x70e0 */ 0xffff,
- /* key: 0x70e1 */ 0xffff,
- /* key: 0x70e2 */ 0xffff,
- /* key: 0x70e3 */ 0xffff,
- /* key: 0x70e4 */ 0xc960,
- /* key: 0x70e5 */ 0xffff,
- /* key: 0x70e6 */ 0xffff,
- /* key: 0x70e7 */ 0xffff,
- /* key: 0x70e8 */ 0xffff,
- /* key: 0x70e9 */ 0xffff,
- /* key: 0x70ea */ 0xffff,
- /* key: 0x70eb */ 0xffff,
- /* key: 0x70ec */ 0xffff,
- /* key: 0x70ed */ 0xffff,
- /* key: 0x70ee */ 0xffff,
- /* key: 0x70ef */ 0xffff,
- /* key: 0x70f0 */ 0xffff,
- /* key: 0x70f1 */ 0x5f58,
- /* key: 0x70f2 */ 0xffff,
- /* key: 0x70f3 */ 0xffff,
- /* key: 0x70f4 */ 0xffff,
- /* key: 0x70f5 */ 0xffff,
- /* key: 0x70f6 */ 0xffff,
- /* key: 0x70f7 */ 0xffff,
- /* key: 0x70f8 */ 0xffff,
- /* key: 0x70f9 */ 0x4b23,
- /* key: 0x70fa */ 0xc961,
- /* key: 0x70fb */ 0xffff,
- /* key: 0x70fc */ 0xffff,
- /* key: 0x70fd */ 0x5f62,
- /* key: 0x70fe */ 0xffff,
- /* key: 0x70ff */ 0xffff,
- /* branch: 0x710X */ 11152,
- /* branch: 0x711X */ 11168,
- /* branch: 0x712X */ 11184,
- /* branch: 0x713X */ 11200,
- /* branch: 0x714X */ 11216,
- /* branch: 0x715X */ 11232,
- /* branch: 0x716X */ 11248,
- /* branch: 0x717X */ 11264,
- /* branch: 0x718X */ 11280,
- /* branch: 0x719X */ 11296,
- /* branch: 0x71aX */ 11312,
- /* branch: 0x71bX */ 11328,
- /* branch: 0x71cX */ 11344,
- /* branch: 0x71dX */ 11360,
- /* branch: 0x71eX */ 11376,
- /* branch: 0x71fX */ 11392,
- /* key: 0x7100 */ 0xffff,
- /* key: 0x7101 */ 0xffff,
- /* key: 0x7102 */ 0xffff,
- /* key: 0x7103 */ 0xc962,
- /* key: 0x7104 */ 0xc963,
- /* key: 0x7105 */ 0xc964,
- /* key: 0x7106 */ 0xc965,
- /* key: 0x7107 */ 0xc966,
- /* key: 0x7108 */ 0xffff,
- /* key: 0x7109 */ 0x5f61,
- /* key: 0x710a */ 0xffff,
- /* key: 0x710b */ 0xc967,
- /* key: 0x710c */ 0xc968,
- /* key: 0x710d */ 0xffff,
- /* key: 0x710e */ 0xffff,
- /* key: 0x710f */ 0xc969,
- /* key: 0x7110 */ 0xffff,
- /* key: 0x7111 */ 0xffff,
- /* key: 0x7112 */ 0xffff,
- /* key: 0x7113 */ 0xffff,
- /* key: 0x7114 */ 0x316b,
- /* key: 0x7115 */ 0xffff,
- /* key: 0x7116 */ 0xffff,
- /* key: 0x7117 */ 0xffff,
- /* key: 0x7118 */ 0xffff,
- /* key: 0x7119 */ 0x5f64,
- /* key: 0x711a */ 0x4a32,
- /* key: 0x711b */ 0xffff,
- /* key: 0x711c */ 0x5f63,
- /* key: 0x711d */ 0xffff,
- /* key: 0x711e */ 0xc96a,
- /* key: 0x711f */ 0xffff,
- /* key: 0x7120 */ 0xc96b,
- /* key: 0x7121 */ 0x4c35,
- /* key: 0x7122 */ 0xffff,
- /* key: 0x7123 */ 0xffff,
- /* key: 0x7124 */ 0xffff,
- /* key: 0x7125 */ 0xffff,
- /* key: 0x7126 */ 0x3e47,
- /* key: 0x7127 */ 0xffff,
- /* key: 0x7128 */ 0xffff,
- /* key: 0x7129 */ 0xffff,
- /* key: 0x712a */ 0xffff,
- /* key: 0x712b */ 0xc96c,
- /* key: 0x712c */ 0xffff,
- /* key: 0x712d */ 0xc96d,
- /* key: 0x712e */ 0xffff,
- /* key: 0x712f */ 0xc96e,
- /* key: 0x7130 */ 0xc96f,
- /* key: 0x7131 */ 0xc970,
- /* key: 0x7132 */ 0xffff,
- /* key: 0x7133 */ 0xffff,
- /* key: 0x7134 */ 0xffff,
- /* key: 0x7135 */ 0xffff,
- /* key: 0x7136 */ 0x4133,
- /* key: 0x7137 */ 0xffff,
- /* key: 0x7138 */ 0xc971,
- /* key: 0x7139 */ 0xffff,
- /* key: 0x713a */ 0xffff,
- /* key: 0x713b */ 0xffff,
- /* key: 0x713c */ 0x3e46,
- /* key: 0x713d */ 0xffff,
- /* key: 0x713e */ 0xffff,
- /* key: 0x713f */ 0xffff,
- /* key: 0x7140 */ 0xffff,
- /* key: 0x7141 */ 0xc972,
- /* key: 0x7142 */ 0xffff,
- /* key: 0x7143 */ 0xffff,
- /* key: 0x7144 */ 0xffff,
- /* key: 0x7145 */ 0xc973,
- /* key: 0x7146 */ 0xc974,
- /* key: 0x7147 */ 0xc975,
- /* key: 0x7148 */ 0xffff,
- /* key: 0x7149 */ 0x4e7b,
- /* key: 0x714a */ 0xc976,
- /* key: 0x714b */ 0xc977,
- /* key: 0x714c */ 0x5f6a,
- /* key: 0x714d */ 0xffff,
- /* key: 0x714e */ 0x4079,
- /* key: 0x714f */ 0xffff,
- /* key: 0x7150 */ 0xc978,
- /* key: 0x7151 */ 0xffff,
- /* key: 0x7152 */ 0xc979,
- /* key: 0x7153 */ 0xffff,
- /* key: 0x7154 */ 0xffff,
- /* key: 0x7155 */ 0x5f66,
- /* key: 0x7156 */ 0x5f6b,
- /* key: 0x7157 */ 0xc97a,
- /* key: 0x7158 */ 0xffff,
- /* key: 0x7159 */ 0x316c,
- /* key: 0x715a */ 0xc97b,
- /* key: 0x715b */ 0xffff,
- /* key: 0x715c */ 0xc97c,
- /* key: 0x715d */ 0xffff,
- /* key: 0x715e */ 0xc97d,
- /* key: 0x715f */ 0xffff,
- /* key: 0x7160 */ 0xc97e,
- /* key: 0x7161 */ 0xffff,
- /* key: 0x7162 */ 0x5f69,
- /* key: 0x7163 */ 0xffff,
- /* key: 0x7164 */ 0x4761,
- /* key: 0x7165 */ 0x5f65,
- /* key: 0x7166 */ 0x5f68,
- /* key: 0x7167 */ 0x3e48,
- /* key: 0x7168 */ 0xca21,
- /* key: 0x7169 */ 0x4851,
- /* key: 0x716a */ 0xffff,
- /* key: 0x716b */ 0xffff,
- /* key: 0x716c */ 0x5f6c,
- /* key: 0x716d */ 0xffff,
- /* key: 0x716e */ 0x3c51,
- /* key: 0x716f */ 0xffff,
- /* key: 0x7170 */ 0xffff,
- /* key: 0x7171 */ 0xffff,
- /* key: 0x7172 */ 0xffff,
- /* key: 0x7173 */ 0xffff,
- /* key: 0x7174 */ 0xffff,
- /* key: 0x7175 */ 0xffff,
- /* key: 0x7176 */ 0xffff,
- /* key: 0x7177 */ 0xffff,
- /* key: 0x7178 */ 0xffff,
- /* key: 0x7179 */ 0xca22,
- /* key: 0x717a */ 0xffff,
- /* key: 0x717b */ 0xffff,
- /* key: 0x717c */ 0xffff,
- /* key: 0x717d */ 0x407a,
- /* key: 0x717e */ 0xffff,
- /* key: 0x717f */ 0xffff,
- /* key: 0x7180 */ 0xca23,
- /* key: 0x7181 */ 0xffff,
- /* key: 0x7182 */ 0xffff,
- /* key: 0x7183 */ 0xffff,
- /* key: 0x7184 */ 0x5f6f,
- /* key: 0x7185 */ 0xca24,
- /* key: 0x7186 */ 0xffff,
- /* key: 0x7187 */ 0xca25,
- /* key: 0x7188 */ 0x5f67,
- /* key: 0x7189 */ 0xffff,
- /* key: 0x718a */ 0x3727,
- /* key: 0x718b */ 0xffff,
- /* key: 0x718c */ 0xca26,
- /* key: 0x718d */ 0xffff,
- /* key: 0x718e */ 0xffff,
- /* key: 0x718f */ 0x5f6d,
- /* key: 0x7190 */ 0xffff,
- /* key: 0x7191 */ 0xffff,
- /* key: 0x7192 */ 0xca27,
- /* key: 0x7193 */ 0xffff,
- /* key: 0x7194 */ 0x4d50,
- /* key: 0x7195 */ 0x5f70,
- /* key: 0x7196 */ 0xffff,
- /* key: 0x7197 */ 0xffff,
- /* key: 0x7198 */ 0xffff,
- /* key: 0x7199 */ 0x7426,
- /* key: 0x719a */ 0xca28,
- /* key: 0x719b */ 0xca29,
- /* key: 0x719c */ 0xffff,
- /* key: 0x719d */ 0xffff,
- /* key: 0x719e */ 0xffff,
- /* key: 0x719f */ 0x3d4f,
- /* key: 0x71a0 */ 0xca2a,
- /* key: 0x71a1 */ 0xffff,
- /* key: 0x71a2 */ 0xca2b,
- /* key: 0x71a3 */ 0xffff,
- /* key: 0x71a4 */ 0xffff,
- /* key: 0x71a5 */ 0xffff,
- /* key: 0x71a6 */ 0xffff,
- /* key: 0x71a7 */ 0xffff,
- /* key: 0x71a8 */ 0x5f71,
- /* key: 0x71a9 */ 0xffff,
- /* key: 0x71aa */ 0xffff,
- /* key: 0x71ab */ 0xffff,
- /* key: 0x71ac */ 0x5f72,
- /* key: 0x71ad */ 0xffff,
- /* key: 0x71ae */ 0xffff,
- /* key: 0x71af */ 0xca2c,
- /* key: 0x71b0 */ 0xca2d,
- /* key: 0x71b1 */ 0x472e,
- /* key: 0x71b2 */ 0xca2e,
- /* key: 0x71b3 */ 0xca2f,
- /* key: 0x71b4 */ 0xffff,
- /* key: 0x71b5 */ 0xffff,
- /* key: 0x71b6 */ 0xffff,
- /* key: 0x71b7 */ 0xffff,
- /* key: 0x71b8 */ 0xffff,
- /* key: 0x71b9 */ 0x5f74,
- /* key: 0x71ba */ 0xca30,
- /* key: 0x71bb */ 0xffff,
- /* key: 0x71bc */ 0xffff,
- /* key: 0x71bd */ 0xffff,
- /* key: 0x71be */ 0x5f75,
- /* key: 0x71bf */ 0xca31,
- /* key: 0x71c0 */ 0xca32,
- /* key: 0x71c1 */ 0xca33,
- /* key: 0x71c2 */ 0xffff,
- /* key: 0x71c3 */ 0x4733,
- /* key: 0x71c4 */ 0xca34,
- /* key: 0x71c5 */ 0xffff,
- /* key: 0x71c6 */ 0xffff,
- /* key: 0x71c7 */ 0xffff,
- /* key: 0x71c8 */ 0x4575,
- /* key: 0x71c9 */ 0x5f77,
- /* key: 0x71ca */ 0xffff,
- /* key: 0x71cb */ 0xca35,
- /* key: 0x71cc */ 0xca36,
- /* key: 0x71cd */ 0xffff,
- /* key: 0x71ce */ 0x5f79,
- /* key: 0x71cf */ 0xffff,
- /* key: 0x71d0 */ 0x4e55,
- /* key: 0x71d1 */ 0xffff,
- /* key: 0x71d2 */ 0x5f76,
- /* key: 0x71d3 */ 0xca37,
- /* key: 0x71d4 */ 0x5f78,
- /* key: 0x71d5 */ 0x316d,
- /* key: 0x71d6 */ 0xca38,
- /* key: 0x71d7 */ 0x5f73,
- /* key: 0x71d8 */ 0xffff,
- /* key: 0x71d9 */ 0xca39,
- /* key: 0x71da */ 0xca3a,
- /* key: 0x71db */ 0xffff,
- /* key: 0x71dc */ 0xca3b,
- /* key: 0x71dd */ 0xffff,
- /* key: 0x71de */ 0xffff,
- /* key: 0x71df */ 0x535b,
- /* key: 0x71e0 */ 0x5f7a,
- /* key: 0x71e1 */ 0xffff,
- /* key: 0x71e2 */ 0xffff,
- /* key: 0x71e3 */ 0xffff,
- /* key: 0x71e4 */ 0xffff,
- /* key: 0x71e5 */ 0x4167,
- /* key: 0x71e6 */ 0x3b38,
- /* key: 0x71e7 */ 0x5f7c,
- /* key: 0x71e8 */ 0xffff,
- /* key: 0x71e9 */ 0xffff,
- /* key: 0x71ea */ 0xffff,
- /* key: 0x71eb */ 0xffff,
- /* key: 0x71ec */ 0x5f7b,
- /* key: 0x71ed */ 0x3f24,
- /* key: 0x71ee */ 0x5259,
- /* key: 0x71ef */ 0xffff,
- /* key: 0x71f0 */ 0xffff,
- /* key: 0x71f1 */ 0xffff,
- /* key: 0x71f2 */ 0xffff,
- /* key: 0x71f3 */ 0xffff,
- /* key: 0x71f4 */ 0xffff,
- /* key: 0x71f5 */ 0x5f7d,
- /* key: 0x71f6 */ 0xffff,
- /* key: 0x71f7 */ 0xffff,
- /* key: 0x71f8 */ 0xca3c,
- /* key: 0x71f9 */ 0x6021,
- /* key: 0x71fa */ 0xffff,
- /* key: 0x71fb */ 0x5f6e,
- /* key: 0x71fc */ 0x5f7e,
- /* key: 0x71fd */ 0xffff,
- /* key: 0x71fe */ 0xca3d,
- /* key: 0x71ff */ 0x6022,
- /* branch: 0x720X */ 11424,
- /* branch: 0x721X */ 11440,
- /* branch: 0x722X */ 11456,
- /* branch: 0x723X */ 11472,
- /* branch: 0x724X */ 11488,
- /* branch: 0x725X */ 11504,
- /* branch: 0x726X */ 11520,
- /* branch: 0x727X */ 11536,
- /* branch: 0x728X */ 11552,
- /* branch: 0x729X */ 11568,
- /* branch: 0x72aX */ 11584,
- /* branch: 0x72bX */ 11600,
- /* branch: 0x72cX */ 11616,
- /* branch: 0x72dX */ 11632,
- /* branch: 0x72eX */ 11648,
- /* branch: 0x72fX */ 11664,
- /* key: 0x7200 */ 0xca3e,
- /* key: 0x7201 */ 0xffff,
- /* key: 0x7202 */ 0xffff,
- /* key: 0x7203 */ 0xffff,
- /* key: 0x7204 */ 0xffff,
- /* key: 0x7205 */ 0xffff,
- /* key: 0x7206 */ 0x477a,
- /* key: 0x7207 */ 0xca3f,
- /* key: 0x7208 */ 0xca40,
- /* key: 0x7209 */ 0xca41,
- /* key: 0x720a */ 0xffff,
- /* key: 0x720b */ 0xffff,
- /* key: 0x720c */ 0xffff,
- /* key: 0x720d */ 0x6023,
- /* key: 0x720e */ 0xffff,
- /* key: 0x720f */ 0xffff,
- /* key: 0x7210 */ 0x6024,
- /* key: 0x7211 */ 0xffff,
- /* key: 0x7212 */ 0xffff,
- /* key: 0x7213 */ 0xca42,
- /* key: 0x7214 */ 0xffff,
- /* key: 0x7215 */ 0xffff,
- /* key: 0x7216 */ 0xffff,
- /* key: 0x7217 */ 0xca43,
- /* key: 0x7218 */ 0xffff,
- /* key: 0x7219 */ 0xffff,
- /* key: 0x721a */ 0xca44,
- /* key: 0x721b */ 0x6025,
- /* key: 0x721c */ 0xffff,
- /* key: 0x721d */ 0xca45,
- /* key: 0x721e */ 0xffff,
- /* key: 0x721f */ 0xca46,
- /* key: 0x7220 */ 0xffff,
- /* key: 0x7221 */ 0xffff,
- /* key: 0x7222 */ 0xffff,
- /* key: 0x7223 */ 0xffff,
- /* key: 0x7224 */ 0xca47,
- /* key: 0x7225 */ 0xffff,
- /* key: 0x7226 */ 0xffff,
- /* key: 0x7227 */ 0xffff,
- /* key: 0x7228 */ 0x6026,
- /* key: 0x7229 */ 0xffff,
- /* key: 0x722a */ 0x445e,
- /* key: 0x722b */ 0xca48,
- /* key: 0x722c */ 0x6028,
- /* key: 0x722d */ 0x6027,
- /* key: 0x722e */ 0xffff,
- /* key: 0x722f */ 0xca49,
- /* key: 0x7230 */ 0x6029,
- /* key: 0x7231 */ 0xffff,
- /* key: 0x7232 */ 0x602a,
- /* key: 0x7233 */ 0xffff,
- /* key: 0x7234 */ 0xca4a,
- /* key: 0x7235 */ 0x3c5f,
- /* key: 0x7236 */ 0x4963,
- /* key: 0x7237 */ 0xffff,
- /* key: 0x7238 */ 0xca4b,
- /* key: 0x7239 */ 0xca4c,
- /* key: 0x723a */ 0x4c6c,
- /* key: 0x723b */ 0x602b,
- /* key: 0x723c */ 0x602c,
- /* key: 0x723d */ 0x4156,
- /* key: 0x723e */ 0x3c24,
- /* key: 0x723f */ 0x602d,
- /* key: 0x7240 */ 0x602e,
- /* key: 0x7241 */ 0xca4d,
- /* key: 0x7242 */ 0xca4e,
- /* key: 0x7243 */ 0xca4f,
- /* key: 0x7244 */ 0xffff,
- /* key: 0x7245 */ 0xca50,
- /* key: 0x7246 */ 0x602f,
- /* key: 0x7247 */ 0x4a52,
- /* key: 0x7248 */ 0x4847,
- /* key: 0x7249 */ 0xffff,
- /* key: 0x724a */ 0xffff,
- /* key: 0x724b */ 0x6030,
- /* key: 0x724c */ 0x4757,
- /* key: 0x724d */ 0xffff,
- /* key: 0x724e */ 0xca51,
- /* key: 0x724f */ 0xca52,
- /* key: 0x7250 */ 0xca53,
- /* key: 0x7251 */ 0xffff,
- /* key: 0x7252 */ 0x442d,
- /* key: 0x7253 */ 0xca54,
- /* key: 0x7254 */ 0xffff,
- /* key: 0x7255 */ 0xca55,
- /* key: 0x7256 */ 0xca56,
- /* key: 0x7257 */ 0xffff,
- /* key: 0x7258 */ 0x6031,
- /* key: 0x7259 */ 0x3267,
- /* key: 0x725a */ 0xca57,
- /* key: 0x725b */ 0x356d,
- /* key: 0x725c */ 0xca58,
- /* key: 0x725d */ 0x4c46,
- /* key: 0x725e */ 0xca59,
- /* key: 0x725f */ 0x4c36,
- /* key: 0x7260 */ 0xca5a,
- /* key: 0x7261 */ 0x3234,
- /* key: 0x7262 */ 0x4f34,
- /* key: 0x7263 */ 0xca5b,
- /* key: 0x7264 */ 0xffff,
- /* key: 0x7265 */ 0xffff,
- /* key: 0x7266 */ 0xffff,
- /* key: 0x7267 */ 0x4b52,
- /* key: 0x7268 */ 0xca5c,
- /* key: 0x7269 */ 0x4a2a,
- /* key: 0x726a */ 0xffff,
- /* key: 0x726b */ 0xca5d,
- /* key: 0x726c */ 0xffff,
- /* key: 0x726d */ 0xffff,
- /* key: 0x726e */ 0xca5e,
- /* key: 0x726f */ 0xca5f,
- /* key: 0x7270 */ 0xffff,
- /* key: 0x7271 */ 0xca60,
- /* key: 0x7272 */ 0x4037,
- /* key: 0x7273 */ 0xffff,
- /* key: 0x7274 */ 0x6032,
- /* key: 0x7275 */ 0xffff,
- /* key: 0x7276 */ 0xffff,
- /* key: 0x7277 */ 0xca61,
- /* key: 0x7278 */ 0xca62,
- /* key: 0x7279 */ 0x4643,
- /* key: 0x727a */ 0xffff,
- /* key: 0x727b */ 0xca63,
- /* key: 0x727c */ 0xca64,
- /* key: 0x727d */ 0x3823,
- /* key: 0x727e */ 0x6033,
- /* key: 0x727f */ 0xca65,
- /* key: 0x7280 */ 0x3a54,
- /* key: 0x7281 */ 0x6035,
- /* key: 0x7282 */ 0x6034,
- /* key: 0x7283 */ 0xffff,
- /* key: 0x7284 */ 0xca66,
- /* key: 0x7285 */ 0xffff,
- /* key: 0x7286 */ 0xffff,
- /* key: 0x7287 */ 0x6036,
- /* key: 0x7288 */ 0xffff,
- /* key: 0x7289 */ 0xca67,
- /* key: 0x728a */ 0xffff,
- /* key: 0x728b */ 0xffff,
- /* key: 0x728c */ 0xffff,
- /* key: 0x728d */ 0xca68,
- /* key: 0x728e */ 0xca69,
- /* key: 0x728f */ 0xffff,
- /* key: 0x7290 */ 0xffff,
- /* key: 0x7291 */ 0xffff,
- /* key: 0x7292 */ 0x6037,
- /* key: 0x7293 */ 0xca6a,
- /* key: 0x7294 */ 0xffff,
- /* key: 0x7295 */ 0xffff,
- /* key: 0x7296 */ 0x6038,
- /* key: 0x7297 */ 0xffff,
- /* key: 0x7298 */ 0xffff,
- /* key: 0x7299 */ 0xffff,
- /* key: 0x729a */ 0xffff,
- /* key: 0x729b */ 0xca6b,
- /* key: 0x729c */ 0xffff,
- /* key: 0x729d */ 0xffff,
- /* key: 0x729e */ 0xffff,
- /* key: 0x729f */ 0xffff,
- /* key: 0x72a0 */ 0x353e,
- /* key: 0x72a1 */ 0xffff,
- /* key: 0x72a2 */ 0x6039,
- /* key: 0x72a3 */ 0xffff,
- /* key: 0x72a4 */ 0xffff,
- /* key: 0x72a5 */ 0xffff,
- /* key: 0x72a6 */ 0xffff,
- /* key: 0x72a7 */ 0x603a,
- /* key: 0x72a8 */ 0xca6c,
- /* key: 0x72a9 */ 0xffff,
- /* key: 0x72aa */ 0xffff,
- /* key: 0x72ab */ 0xffff,
- /* key: 0x72ac */ 0x3824,
- /* key: 0x72ad */ 0xca6d,
- /* key: 0x72ae */ 0xca6e,
- /* key: 0x72af */ 0x4848,
- /* key: 0x72b0 */ 0xffff,
- /* key: 0x72b1 */ 0xca6f,
- /* key: 0x72b2 */ 0x603c,
- /* key: 0x72b3 */ 0xffff,
- /* key: 0x72b4 */ 0xca70,
- /* key: 0x72b5 */ 0xffff,
- /* key: 0x72b6 */ 0x3e75,
- /* key: 0x72b7 */ 0xffff,
- /* key: 0x72b8 */ 0xffff,
- /* key: 0x72b9 */ 0x603b,
- /* key: 0x72ba */ 0xffff,
- /* key: 0x72bb */ 0xffff,
- /* key: 0x72bc */ 0xffff,
- /* key: 0x72bd */ 0xffff,
- /* key: 0x72be */ 0xca71,
- /* key: 0x72bf */ 0xffff,
- /* key: 0x72c0 */ 0xffff,
- /* key: 0x72c1 */ 0xca72,
- /* key: 0x72c2 */ 0x3638,
- /* key: 0x72c3 */ 0x603d,
- /* key: 0x72c4 */ 0x603f,
- /* key: 0x72c5 */ 0xffff,
- /* key: 0x72c6 */ 0x603e,
- /* key: 0x72c7 */ 0xca73,
- /* key: 0x72c8 */ 0xffff,
- /* key: 0x72c9 */ 0xca74,
- /* key: 0x72ca */ 0xffff,
- /* key: 0x72cb */ 0xffff,
- /* key: 0x72cc */ 0xca75,
- /* key: 0x72cd */ 0xffff,
- /* key: 0x72ce */ 0x6040,
- /* key: 0x72cf */ 0xffff,
- /* key: 0x72d0 */ 0x3851,
- /* key: 0x72d1 */ 0xffff,
- /* key: 0x72d2 */ 0x6041,
- /* key: 0x72d3 */ 0xffff,
- /* key: 0x72d4 */ 0xffff,
- /* key: 0x72d5 */ 0xca76,
- /* key: 0x72d6 */ 0xca77,
- /* key: 0x72d7 */ 0x3669,
- /* key: 0x72d8 */ 0xca78,
- /* key: 0x72d9 */ 0x4140,
- /* key: 0x72da */ 0xffff,
- /* key: 0x72db */ 0x397d,
- /* key: 0x72dc */ 0xffff,
- /* key: 0x72dd */ 0xffff,
- /* key: 0x72de */ 0xffff,
- /* key: 0x72df */ 0xca79,
- /* key: 0x72e0 */ 0x6043,
- /* key: 0x72e1 */ 0x6044,
- /* key: 0x72e2 */ 0x6042,
- /* key: 0x72e3 */ 0xffff,
- /* key: 0x72e4 */ 0xffff,
- /* key: 0x72e5 */ 0xca7a,
- /* key: 0x72e6 */ 0xffff,
- /* key: 0x72e7 */ 0xffff,
- /* key: 0x72e8 */ 0xffff,
- /* key: 0x72e9 */ 0x3c6d,
- /* key: 0x72ea */ 0xffff,
- /* key: 0x72eb */ 0xffff,
- /* key: 0x72ec */ 0x4648,
- /* key: 0x72ed */ 0x3639,
- /* key: 0x72ee */ 0xffff,
- /* key: 0x72ef */ 0xffff,
- /* key: 0x72f0 */ 0xffff,
- /* key: 0x72f1 */ 0xffff,
- /* key: 0x72f2 */ 0xffff,
- /* key: 0x72f3 */ 0xca7b,
- /* key: 0x72f4 */ 0xca7c,
- /* key: 0x72f5 */ 0xffff,
- /* key: 0x72f6 */ 0xffff,
- /* key: 0x72f7 */ 0x6046,
- /* key: 0x72f8 */ 0x432c,
- /* key: 0x72f9 */ 0x6045,
- /* key: 0x72fa */ 0xca7d,
- /* key: 0x72fb */ 0xca7e,
- /* key: 0x72fc */ 0x4f35,
- /* key: 0x72fd */ 0x4762,
- /* key: 0x72fe */ 0xcb21,
- /* key: 0x72ff */ 0xffff,
- /* branch: 0x730X */ 11696,
- /* branch: 0x731X */ 11712,
- /* branch: 0x732X */ 11728,
- /* branch: 0x733X */ 11744,
- /* branch: 0x734X */ 11760,
- /* branch: 0x735X */ 11776,
- /* branch: 0x736X */ 11792,
- /* branch: 0x737X */ 11808,
- /* branch: 0x738X */ 11824,
- /* branch: 0x739X */ 11840,
- /* branch: 0x73aX */ 11856,
- /* branch: 0x73bX */ 11872,
- /* branch: 0x73cX */ 11888,
- /* branch: 0x73dX */ 11904,
- /* branch: 0x73eX */ 11920,
- /* branch: 0x73fX */ 11936,
- /* key: 0x7300 */ 0xffff,
- /* key: 0x7301 */ 0xffff,
- /* key: 0x7302 */ 0xcb22,
- /* key: 0x7303 */ 0xffff,
- /* key: 0x7304 */ 0xcb23,
- /* key: 0x7305 */ 0xcb24,
- /* key: 0x7306 */ 0xffff,
- /* key: 0x7307 */ 0xcb25,
- /* key: 0x7308 */ 0xffff,
- /* key: 0x7309 */ 0xffff,
- /* key: 0x730a */ 0x6049,
- /* key: 0x730b */ 0xcb26,
- /* key: 0x730c */ 0xffff,
- /* key: 0x730d */ 0xcb27,
- /* key: 0x730e */ 0xffff,
- /* key: 0x730f */ 0xffff,
- /* key: 0x7310 */ 0xffff,
- /* key: 0x7311 */ 0xffff,
- /* key: 0x7312 */ 0xcb28,
- /* key: 0x7313 */ 0xcb29,
- /* key: 0x7314 */ 0xffff,
- /* key: 0x7315 */ 0xffff,
- /* key: 0x7316 */ 0x604b,
- /* key: 0x7317 */ 0x6048,
- /* key: 0x7318 */ 0xcb2a,
- /* key: 0x7319 */ 0xcb2b,
- /* key: 0x731a */ 0xffff,
- /* key: 0x731b */ 0x4c54,
- /* key: 0x731c */ 0x604a,
- /* key: 0x731d */ 0x604c,
- /* key: 0x731e */ 0xcb2c,
- /* key: 0x731f */ 0x4e44,
- /* key: 0x7320 */ 0xffff,
- /* key: 0x7321 */ 0xffff,
- /* key: 0x7322 */ 0xcb2d,
- /* key: 0x7323 */ 0xffff,
- /* key: 0x7324 */ 0xcb2e,
- /* key: 0x7325 */ 0x6050,
- /* key: 0x7326 */ 0xffff,
- /* key: 0x7327 */ 0xcb2f,
- /* key: 0x7328 */ 0xcb30,
- /* key: 0x7329 */ 0x604f,
- /* key: 0x732a */ 0x4376,
- /* key: 0x732b */ 0x472d,
- /* key: 0x732c */ 0xcb31,
- /* key: 0x732d */ 0xffff,
- /* key: 0x732e */ 0x3825,
- /* key: 0x732f */ 0x604e,
- /* key: 0x7330 */ 0xffff,
- /* key: 0x7331 */ 0xcb32,
- /* key: 0x7332 */ 0xcb33,
- /* key: 0x7333 */ 0xffff,
- /* key: 0x7334 */ 0x604d,
- /* key: 0x7335 */ 0xcb34,
- /* key: 0x7336 */ 0x4d31,
- /* key: 0x7337 */ 0x4d32,
- /* key: 0x7338 */ 0xffff,
- /* key: 0x7339 */ 0xffff,
- /* key: 0x733a */ 0xcb35,
- /* key: 0x733b */ 0xcb36,
- /* key: 0x733c */ 0xffff,
- /* key: 0x733d */ 0xcb37,
- /* key: 0x733e */ 0x6051,
- /* key: 0x733f */ 0x316e,
- /* key: 0x7340 */ 0xffff,
- /* key: 0x7341 */ 0xffff,
- /* key: 0x7342 */ 0xffff,
- /* key: 0x7343 */ 0xcb38,
- /* key: 0x7344 */ 0x3976,
- /* key: 0x7345 */ 0x3b62,
- /* key: 0x7346 */ 0xffff,
- /* key: 0x7347 */ 0xffff,
- /* key: 0x7348 */ 0xffff,
- /* key: 0x7349 */ 0xffff,
- /* key: 0x734a */ 0xffff,
- /* key: 0x734b */ 0xffff,
- /* key: 0x734c */ 0xffff,
- /* key: 0x734d */ 0xcb39,
- /* key: 0x734e */ 0x6052,
- /* key: 0x734f */ 0x6053,
- /* key: 0x7350 */ 0xcb3a,
- /* key: 0x7351 */ 0xffff,
- /* key: 0x7352 */ 0xcb3b,
- /* key: 0x7353 */ 0xffff,
- /* key: 0x7354 */ 0xffff,
- /* key: 0x7355 */ 0xffff,
- /* key: 0x7356 */ 0xcb3c,
- /* key: 0x7357 */ 0x6055,
- /* key: 0x7358 */ 0xcb3d,
- /* key: 0x7359 */ 0xffff,
- /* key: 0x735a */ 0xffff,
- /* key: 0x735b */ 0xffff,
- /* key: 0x735c */ 0xffff,
- /* key: 0x735d */ 0xcb3e,
- /* key: 0x735e */ 0xcb3f,
- /* key: 0x735f */ 0xcb40,
- /* key: 0x7360 */ 0xcb41,
- /* key: 0x7361 */ 0xffff,
- /* key: 0x7362 */ 0xffff,
- /* key: 0x7363 */ 0x3d43,
- /* key: 0x7364 */ 0xffff,
- /* key: 0x7365 */ 0xffff,
- /* key: 0x7366 */ 0xcb42,
- /* key: 0x7367 */ 0xcb43,
- /* key: 0x7368 */ 0x6057,
- /* key: 0x7369 */ 0xcb44,
- /* key: 0x736a */ 0x6056,
- /* key: 0x736b */ 0xcb45,
- /* key: 0x736c */ 0xcb46,
- /* key: 0x736d */ 0xffff,
- /* key: 0x736e */ 0xcb47,
- /* key: 0x736f */ 0xcb48,
- /* key: 0x7370 */ 0x6058,
- /* key: 0x7371 */ 0xcb49,
- /* key: 0x7372 */ 0x334d,
- /* key: 0x7373 */ 0xffff,
- /* key: 0x7374 */ 0xffff,
- /* key: 0x7375 */ 0x605a,
- /* key: 0x7376 */ 0xffff,
- /* key: 0x7377 */ 0xcb4a,
- /* key: 0x7378 */ 0x6059,
- /* key: 0x7379 */ 0xcb4b,
- /* key: 0x737a */ 0x605c,
- /* key: 0x737b */ 0x605b,
- /* key: 0x737c */ 0xcb4c,
- /* key: 0x737d */ 0xffff,
- /* key: 0x737e */ 0xffff,
- /* key: 0x737f */ 0xffff,
- /* key: 0x7380 */ 0xcb4d,
- /* key: 0x7381 */ 0xcb4e,
- /* key: 0x7382 */ 0xffff,
- /* key: 0x7383 */ 0xcb4f,
- /* key: 0x7384 */ 0x383c,
- /* key: 0x7385 */ 0xcb50,
- /* key: 0x7386 */ 0xcb51,
- /* key: 0x7387 */ 0x4e28,
- /* key: 0x7388 */ 0xffff,
- /* key: 0x7389 */ 0x364c,
- /* key: 0x738a */ 0xffff,
- /* key: 0x738b */ 0x3226,
- /* key: 0x738c */ 0xffff,
- /* key: 0x738d */ 0xffff,
- /* key: 0x738e */ 0xcb52,
- /* key: 0x738f */ 0xffff,
- /* key: 0x7390 */ 0xcb53,
- /* key: 0x7391 */ 0xffff,
- /* key: 0x7392 */ 0xffff,
- /* key: 0x7393 */ 0xcb54,
- /* key: 0x7394 */ 0xffff,
- /* key: 0x7395 */ 0xcb55,
- /* key: 0x7396 */ 0x366a,
- /* key: 0x7397 */ 0xcb56,
- /* key: 0x7398 */ 0xcb57,
- /* key: 0x7399 */ 0xffff,
- /* key: 0x739a */ 0xffff,
- /* key: 0x739b */ 0xffff,
- /* key: 0x739c */ 0xcb58,
- /* key: 0x739d */ 0xffff,
- /* key: 0x739e */ 0xcb59,
- /* key: 0x739f */ 0xcb5a,
- /* key: 0x73a0 */ 0xcb5b,
- /* key: 0x73a1 */ 0xffff,
- /* key: 0x73a2 */ 0xcb5c,
- /* key: 0x73a3 */ 0xffff,
- /* key: 0x73a4 */ 0xffff,
- /* key: 0x73a5 */ 0xcb5d,
- /* key: 0x73a6 */ 0xcb5e,
- /* key: 0x73a7 */ 0xffff,
- /* key: 0x73a8 */ 0xffff,
- /* key: 0x73a9 */ 0x3461,
- /* key: 0x73aa */ 0xcb5f,
- /* key: 0x73ab */ 0xcb60,
- /* key: 0x73ac */ 0xffff,
- /* key: 0x73ad */ 0xcb61,
- /* key: 0x73ae */ 0xffff,
- /* key: 0x73af */ 0xffff,
- /* key: 0x73b0 */ 0xffff,
- /* key: 0x73b1 */ 0xffff,
- /* key: 0x73b2 */ 0x4e68,
- /* key: 0x73b3 */ 0x605e,
- /* key: 0x73b4 */ 0xffff,
- /* key: 0x73b5 */ 0xcb62,
- /* key: 0x73b6 */ 0xffff,
- /* key: 0x73b7 */ 0xcb63,
- /* key: 0x73b8 */ 0xffff,
- /* key: 0x73b9 */ 0xcb64,
- /* key: 0x73ba */ 0xffff,
- /* key: 0x73bb */ 0x6060,
- /* key: 0x73bc */ 0xcb65,
- /* key: 0x73bd */ 0xcb66,
- /* key: 0x73be */ 0xffff,
- /* key: 0x73bf */ 0xcb67,
- /* key: 0x73c0 */ 0x6061,
- /* key: 0x73c1 */ 0xffff,
- /* key: 0x73c2 */ 0x3251,
- /* key: 0x73c3 */ 0xffff,
- /* key: 0x73c4 */ 0xffff,
- /* key: 0x73c5 */ 0xcb68,
- /* key: 0x73c6 */ 0xcb69,
- /* key: 0x73c7 */ 0xffff,
- /* key: 0x73c8 */ 0x605d,
- /* key: 0x73c9 */ 0xcb6a,
- /* key: 0x73ca */ 0x3b39,
- /* key: 0x73cb */ 0xcb6b,
- /* key: 0x73cc */ 0xcb6c,
- /* key: 0x73cd */ 0x4441,
- /* key: 0x73ce */ 0x605f,
- /* key: 0x73cf */ 0xcb6d,
- /* key: 0x73d0 */ 0xffff,
- /* key: 0x73d1 */ 0xffff,
- /* key: 0x73d2 */ 0xcb6e,
- /* key: 0x73d3 */ 0xcb6f,
- /* key: 0x73d4 */ 0xffff,
- /* key: 0x73d5 */ 0xffff,
- /* key: 0x73d6 */ 0xcb70,
- /* key: 0x73d7 */ 0xffff,
- /* key: 0x73d8 */ 0xffff,
- /* key: 0x73d9 */ 0xcb71,
- /* key: 0x73da */ 0xffff,
- /* key: 0x73db */ 0xffff,
- /* key: 0x73dc */ 0xffff,
- /* key: 0x73dd */ 0xcb72,
- /* key: 0x73de */ 0x6064,
- /* key: 0x73df */ 0xffff,
- /* key: 0x73e0 */ 0x3c6e,
- /* key: 0x73e1 */ 0xcb73,
- /* key: 0x73e2 */ 0xffff,
- /* key: 0x73e3 */ 0xcb74,
- /* key: 0x73e4 */ 0xffff,
- /* key: 0x73e5 */ 0x6062,
- /* key: 0x73e6 */ 0xcb75,
- /* key: 0x73e7 */ 0xcb76,
- /* key: 0x73e8 */ 0xffff,
- /* key: 0x73e9 */ 0xcb77,
- /* key: 0x73ea */ 0x373e,
- /* key: 0x73eb */ 0xffff,
- /* key: 0x73ec */ 0xffff,
- /* key: 0x73ed */ 0x4849,
- /* key: 0x73ee */ 0x6063,
- /* key: 0x73ef */ 0xffff,
- /* key: 0x73f0 */ 0xffff,
- /* key: 0x73f1 */ 0x607e,
- /* key: 0x73f2 */ 0xffff,
- /* key: 0x73f3 */ 0xffff,
- /* key: 0x73f4 */ 0xcb78,
- /* key: 0x73f5 */ 0xcb79,
- /* key: 0x73f6 */ 0xffff,
- /* key: 0x73f7 */ 0xcb7a,
- /* key: 0x73f8 */ 0x6069,
- /* key: 0x73f9 */ 0xcb7b,
- /* key: 0x73fa */ 0xcb7c,
- /* key: 0x73fb */ 0xcb7d,
- /* key: 0x73fc */ 0xffff,
- /* key: 0x73fd */ 0xcb7e,
- /* key: 0x73fe */ 0x383d,
- /* key: 0x73ff */ 0xcc21,
- /* branch: 0x740X */ 11968,
- /* branch: 0x741X */ 11984,
- /* branch: 0x742X */ 12000,
- /* branch: 0x743X */ 12016,
- /* branch: 0x744X */ 12032,
- /* branch: 0x745X */ 12048,
- /* branch: 0x746X */ 12064,
- /* branch: 0x747X */ 12080,
- /* branch: 0x748X */ 12096,
- /* branch: 0x749X */ 12112,
- /* branch: 0x74aX */ 12128,
- /* branch: 0x74bX */ 12144,
- /* branch: 0x74cX */ 12160,
- /* branch: 0x74dX */ 12176,
- /* branch: 0x74eX */ 12192,
- /* branch: 0x74fX */ 12208,
- /* key: 0x7400 */ 0xcc22,
- /* key: 0x7401 */ 0xcc23,
- /* key: 0x7402 */ 0xffff,
- /* key: 0x7403 */ 0x3565,
- /* key: 0x7404 */ 0xcc24,
- /* key: 0x7405 */ 0x6066,
- /* key: 0x7406 */ 0x4d7d,
- /* key: 0x7407 */ 0xcc25,
- /* key: 0x7408 */ 0xffff,
- /* key: 0x7409 */ 0x4e30,
- /* key: 0x740a */ 0xcc26,
- /* key: 0x740b */ 0xffff,
- /* key: 0x740c */ 0xffff,
- /* key: 0x740d */ 0xffff,
- /* key: 0x740e */ 0xffff,
- /* key: 0x740f */ 0xffff,
- /* key: 0x7410 */ 0xffff,
- /* key: 0x7411 */ 0xcc27,
- /* key: 0x7412 */ 0xffff,
- /* key: 0x7413 */ 0xffff,
- /* key: 0x7414 */ 0xffff,
- /* key: 0x7415 */ 0xffff,
- /* key: 0x7416 */ 0xffff,
- /* key: 0x7417 */ 0xffff,
- /* key: 0x7418 */ 0xffff,
- /* key: 0x7419 */ 0xffff,
- /* key: 0x741a */ 0xcc28,
- /* key: 0x741b */ 0xcc29,
- /* key: 0x741c */ 0xffff,
- /* key: 0x741d */ 0xffff,
- /* key: 0x741e */ 0xffff,
- /* key: 0x741f */ 0xffff,
- /* key: 0x7420 */ 0xffff,
- /* key: 0x7421 */ 0xffff,
- /* key: 0x7422 */ 0x4276,
- /* key: 0x7423 */ 0xffff,
- /* key: 0x7424 */ 0xcc2a,
- /* key: 0x7425 */ 0x6068,
- /* key: 0x7426 */ 0xcc2b,
- /* key: 0x7427 */ 0xffff,
- /* key: 0x7428 */ 0xcc2c,
- /* key: 0x7429 */ 0xcc2d,
- /* key: 0x742a */ 0xcc2e,
- /* key: 0x742b */ 0xcc2f,
- /* key: 0x742c */ 0xcc30,
- /* key: 0x742d */ 0xcc31,
- /* key: 0x742e */ 0xcc32,
- /* key: 0x742f */ 0xcc33,
- /* key: 0x7430 */ 0xcc34,
- /* key: 0x7431 */ 0xcc35,
- /* key: 0x7432 */ 0x606a,
- /* key: 0x7433 */ 0x4e56,
- /* key: 0x7434 */ 0x3657,
- /* key: 0x7435 */ 0x487c,
- /* key: 0x7436 */ 0x474a,
- /* key: 0x7437 */ 0xffff,
- /* key: 0x7438 */ 0xffff,
- /* key: 0x7439 */ 0xcc36,
- /* key: 0x743a */ 0x606b,
- /* key: 0x743b */ 0xffff,
- /* key: 0x743c */ 0xffff,
- /* key: 0x743d */ 0xffff,
- /* key: 0x743e */ 0xffff,
- /* key: 0x743f */ 0x606d,
- /* key: 0x7440 */ 0xcc37,
- /* key: 0x7441 */ 0x6070,
- /* key: 0x7442 */ 0xffff,
- /* key: 0x7443 */ 0xcc38,
- /* key: 0x7444 */ 0xcc39,
- /* key: 0x7445 */ 0xffff,
- /* key: 0x7446 */ 0xcc3a,
- /* key: 0x7447 */ 0xcc3b,
- /* key: 0x7448 */ 0xffff,
- /* key: 0x7449 */ 0xffff,
- /* key: 0x744a */ 0xffff,
- /* key: 0x744b */ 0xcc3c,
- /* key: 0x744c */ 0xffff,
- /* key: 0x744d */ 0xcc3d,
- /* key: 0x744e */ 0xffff,
- /* key: 0x744f */ 0xffff,
- /* key: 0x7450 */ 0xffff,
- /* key: 0x7451 */ 0xcc3e,
- /* key: 0x7452 */ 0xcc3f,
- /* key: 0x7453 */ 0xffff,
- /* key: 0x7454 */ 0xffff,
- /* key: 0x7455 */ 0x606c,
- /* key: 0x7456 */ 0xffff,
- /* key: 0x7457 */ 0xcc40,
- /* key: 0x7458 */ 0xffff,
- /* key: 0x7459 */ 0x606f,
- /* key: 0x745a */ 0x386a,
- /* key: 0x745b */ 0x314d,
- /* key: 0x745c */ 0x6071,
- /* key: 0x745d */ 0xcc41,
- /* key: 0x745e */ 0x3f70,
- /* key: 0x745f */ 0x606e,
- /* key: 0x7460 */ 0x4e5c,
- /* key: 0x7461 */ 0xffff,
- /* key: 0x7462 */ 0xcc42,
- /* key: 0x7463 */ 0x6074,
- /* key: 0x7464 */ 0x7424,
- /* key: 0x7465 */ 0xffff,
- /* key: 0x7466 */ 0xcc43,
- /* key: 0x7467 */ 0xcc44,
- /* key: 0x7468 */ 0xcc45,
- /* key: 0x7469 */ 0x6072,
- /* key: 0x746a */ 0x6075,
- /* key: 0x746b */ 0xcc46,
- /* key: 0x746c */ 0xffff,
- /* key: 0x746d */ 0xcc47,
- /* key: 0x746e */ 0xcc48,
- /* key: 0x746f */ 0x6067,
- /* key: 0x7470 */ 0x6073,
- /* key: 0x7471 */ 0xcc49,
- /* key: 0x7472 */ 0xcc4a,
- /* key: 0x7473 */ 0x3a3c,
- /* key: 0x7474 */ 0xffff,
- /* key: 0x7475 */ 0xffff,
- /* key: 0x7476 */ 0x6076,
- /* key: 0x7477 */ 0xffff,
- /* key: 0x7478 */ 0xffff,
- /* key: 0x7479 */ 0xffff,
- /* key: 0x747a */ 0xffff,
- /* key: 0x747b */ 0xffff,
- /* key: 0x747c */ 0xffff,
- /* key: 0x747d */ 0xffff,
- /* key: 0x747e */ 0x6077,
- /* key: 0x747f */ 0xffff,
- /* key: 0x7480 */ 0xcc4b,
- /* key: 0x7481 */ 0xcc4c,
- /* key: 0x7482 */ 0xffff,
- /* key: 0x7483 */ 0x4d7e,
- /* key: 0x7484 */ 0xffff,
- /* key: 0x7485 */ 0xcc4d,
- /* key: 0x7486 */ 0xcc4e,
- /* key: 0x7487 */ 0xcc4f,
- /* key: 0x7488 */ 0xffff,
- /* key: 0x7489 */ 0xcc50,
- /* key: 0x748a */ 0xffff,
- /* key: 0x748b */ 0x6078,
- /* key: 0x748c */ 0xffff,
- /* key: 0x748d */ 0xffff,
- /* key: 0x748e */ 0xffff,
- /* key: 0x748f */ 0xcc51,
- /* key: 0x7490 */ 0xcc52,
- /* key: 0x7491 */ 0xcc53,
- /* key: 0x7492 */ 0xcc54,
- /* key: 0x7493 */ 0xffff,
- /* key: 0x7494 */ 0xffff,
- /* key: 0x7495 */ 0xffff,
- /* key: 0x7496 */ 0xffff,
- /* key: 0x7497 */ 0xffff,
- /* key: 0x7498 */ 0xcc55,
- /* key: 0x7499 */ 0xcc56,
- /* key: 0x749a */ 0xcc57,
- /* key: 0x749b */ 0xffff,
- /* key: 0x749c */ 0xcc58,
- /* key: 0x749d */ 0xffff,
- /* key: 0x749e */ 0x6079,
- /* key: 0x749f */ 0xcc59,
- /* key: 0x74a0 */ 0xcc5a,
- /* key: 0x74a1 */ 0xcc5b,
- /* key: 0x74a2 */ 0x6065,
- /* key: 0x74a3 */ 0xcc5c,
- /* key: 0x74a4 */ 0xffff,
- /* key: 0x74a5 */ 0xffff,
- /* key: 0x74a6 */ 0xcc5d,
- /* key: 0x74a7 */ 0x607a,
- /* key: 0x74a8 */ 0xcc5e,
- /* key: 0x74a9 */ 0xcc5f,
- /* key: 0x74aa */ 0xcc60,
- /* key: 0x74ab */ 0xcc61,
- /* key: 0x74ac */ 0xffff,
- /* key: 0x74ad */ 0xffff,
- /* key: 0x74ae */ 0xcc62,
- /* key: 0x74af */ 0xcc63,
- /* key: 0x74b0 */ 0x3444,
- /* key: 0x74b1 */ 0xcc64,
- /* key: 0x74b2 */ 0xcc65,
- /* key: 0x74b3 */ 0xffff,
- /* key: 0x74b4 */ 0xffff,
- /* key: 0x74b5 */ 0xcc66,
- /* key: 0x74b6 */ 0xffff,
- /* key: 0x74b7 */ 0xffff,
- /* key: 0x74b8 */ 0xffff,
- /* key: 0x74b9 */ 0xcc67,
- /* key: 0x74ba */ 0xffff,
- /* key: 0x74bb */ 0xcc68,
- /* key: 0x74bc */ 0xffff,
- /* key: 0x74bd */ 0x3c25,
- /* key: 0x74be */ 0xffff,
- /* key: 0x74bf */ 0xcc69,
- /* key: 0x74c0 */ 0xffff,
- /* key: 0x74c1 */ 0xffff,
- /* key: 0x74c2 */ 0xffff,
- /* key: 0x74c3 */ 0xffff,
- /* key: 0x74c4 */ 0xffff,
- /* key: 0x74c5 */ 0xffff,
- /* key: 0x74c6 */ 0xffff,
- /* key: 0x74c7 */ 0xffff,
- /* key: 0x74c8 */ 0xcc6a,
- /* key: 0x74c9 */ 0xcc6b,
- /* key: 0x74ca */ 0x607b,
- /* key: 0x74cb */ 0xffff,
- /* key: 0x74cc */ 0xcc6c,
- /* key: 0x74cd */ 0xffff,
- /* key: 0x74ce */ 0xffff,
- /* key: 0x74cf */ 0x607c,
- /* key: 0x74d0 */ 0xcc6d,
- /* key: 0x74d1 */ 0xffff,
- /* key: 0x74d2 */ 0xffff,
- /* key: 0x74d3 */ 0xcc6e,
- /* key: 0x74d4 */ 0x607d,
- /* key: 0x74d5 */ 0xffff,
- /* key: 0x74d6 */ 0xffff,
- /* key: 0x74d7 */ 0xffff,
- /* key: 0x74d8 */ 0xcc6f,
- /* key: 0x74d9 */ 0xffff,
- /* key: 0x74da */ 0xcc70,
- /* key: 0x74db */ 0xcc71,
- /* key: 0x74dc */ 0x313b,
- /* key: 0x74dd */ 0xffff,
- /* key: 0x74de */ 0xcc72,
- /* key: 0x74df */ 0xcc73,
- /* key: 0x74e0 */ 0x6121,
- /* key: 0x74e1 */ 0xffff,
- /* key: 0x74e2 */ 0x493b,
- /* key: 0x74e3 */ 0x6122,
- /* key: 0x74e4 */ 0xcc74,
- /* key: 0x74e5 */ 0xffff,
- /* key: 0x74e6 */ 0x3424,
- /* key: 0x74e7 */ 0x6123,
- /* key: 0x74e8 */ 0xcc75,
- /* key: 0x74e9 */ 0x6124,
- /* key: 0x74ea */ 0xcc76,
- /* key: 0x74eb */ 0xcc77,
- /* key: 0x74ec */ 0xffff,
- /* key: 0x74ed */ 0xffff,
- /* key: 0x74ee */ 0x6125,
- /* key: 0x74ef */ 0xcc78,
- /* key: 0x74f0 */ 0x6127,
- /* key: 0x74f1 */ 0x6128,
- /* key: 0x74f2 */ 0x6126,
- /* key: 0x74f3 */ 0xffff,
- /* key: 0x74f4 */ 0xcc79,
- /* key: 0x74f5 */ 0xffff,
- /* key: 0x74f6 */ 0x4953,
- /* key: 0x74f7 */ 0x612a,
- /* key: 0x74f8 */ 0x6129,
- /* key: 0x74f9 */ 0xffff,
- /* key: 0x74fa */ 0xcc7a,
- /* key: 0x74fb */ 0xcc7b,
- /* key: 0x74fc */ 0xcc7c,
- /* key: 0x74fd */ 0xffff,
- /* key: 0x74fe */ 0xffff,
- /* key: 0x74ff */ 0xcc7d,
- /* branch: 0x750X */ 12240,
- /* branch: 0x751X */ 12256,
- /* branch: 0x752X */ 12272,
- /* branch: 0x753X */ 12288,
- /* branch: 0x754X */ 12304,
- /* branch: 0x755X */ 12320,
- /* branch: 0x756X */ 12336,
- /* branch: 0x757X */ 12352,
- /* branch: 0x758X */ 12368,
- /* branch: 0x759X */ 12384,
- /* branch: 0x75aX */ 12400,
- /* branch: 0x75bX */ 12416,
- /* branch: 0x75cX */ 12432,
- /* branch: 0x75dX */ 12448,
- /* branch: 0x75eX */ 12464,
- /* branch: 0x75fX */ 12480,
- /* key: 0x7500 */ 0xffff,
- /* key: 0x7501 */ 0xffff,
- /* key: 0x7502 */ 0xffff,
- /* key: 0x7503 */ 0x612c,
- /* key: 0x7504 */ 0x612b,
- /* key: 0x7505 */ 0x612d,
- /* key: 0x7506 */ 0xcc7e,
- /* key: 0x7507 */ 0xffff,
- /* key: 0x7508 */ 0xffff,
- /* key: 0x7509 */ 0xffff,
- /* key: 0x750a */ 0xffff,
- /* key: 0x750b */ 0xffff,
- /* key: 0x750c */ 0x612e,
- /* key: 0x750d */ 0x6130,
- /* key: 0x750e */ 0x612f,
- /* key: 0x750f */ 0xffff,
- /* key: 0x7510 */ 0xffff,
- /* key: 0x7511 */ 0x3979,
- /* key: 0x7512 */ 0xcd21,
- /* key: 0x7513 */ 0x6132,
- /* key: 0x7514 */ 0xffff,
- /* key: 0x7515 */ 0x6131,
- /* key: 0x7516 */ 0xcd22,
- /* key: 0x7517 */ 0xcd23,
- /* key: 0x7518 */ 0x3445,
- /* key: 0x7519 */ 0xffff,
- /* key: 0x751a */ 0x3f53,
- /* key: 0x751b */ 0xffff,
- /* key: 0x751c */ 0x453c,
- /* key: 0x751d */ 0xffff,
- /* key: 0x751e */ 0x6133,
- /* key: 0x751f */ 0x4038,
- /* key: 0x7520 */ 0xcd24,
- /* key: 0x7521 */ 0xcd25,
- /* key: 0x7522 */ 0xffff,
- /* key: 0x7523 */ 0x3b3a,
- /* key: 0x7524 */ 0xcd26,
- /* key: 0x7525 */ 0x3179,
- /* key: 0x7526 */ 0x6134,
- /* key: 0x7527 */ 0xcd27,
- /* key: 0x7528 */ 0x4d51,
- /* key: 0x7529 */ 0xcd28,
- /* key: 0x752a */ 0xcd29,
- /* key: 0x752b */ 0x4a63,
- /* key: 0x752c */ 0x6135,
- /* key: 0x752d */ 0xffff,
- /* key: 0x752e */ 0xffff,
- /* key: 0x752f */ 0xcd2a,
- /* key: 0x7530 */ 0x4544,
- /* key: 0x7531 */ 0x4d33,
- /* key: 0x7532 */ 0x3943,
- /* key: 0x7533 */ 0x3f3d,
- /* key: 0x7534 */ 0xffff,
- /* key: 0x7535 */ 0xffff,
- /* key: 0x7536 */ 0xcd2b,
- /* key: 0x7537 */ 0x434b,
- /* key: 0x7538 */ 0x5234,
- /* key: 0x7539 */ 0xcd2c,
- /* key: 0x753a */ 0x442e,
- /* key: 0x753b */ 0x3268,
- /* key: 0x753c */ 0x6136,
- /* key: 0x753d */ 0xcd2d,
- /* key: 0x753e */ 0xcd2e,
- /* key: 0x753f */ 0xcd2f,
- /* key: 0x7540 */ 0xcd30,
- /* key: 0x7541 */ 0xffff,
- /* key: 0x7542 */ 0xffff,
- /* key: 0x7543 */ 0xcd31,
- /* key: 0x7544 */ 0x6137,
- /* key: 0x7545 */ 0xffff,
- /* key: 0x7546 */ 0x613c,
- /* key: 0x7547 */ 0xcd32,
- /* key: 0x7548 */ 0xcd33,
- /* key: 0x7549 */ 0x613a,
- /* key: 0x754a */ 0x6139,
- /* key: 0x754b */ 0x5a42,
- /* key: 0x754c */ 0x3326,
- /* key: 0x754d */ 0x6138,
- /* key: 0x754e */ 0xcd34,
- /* key: 0x754f */ 0x305a,
- /* key: 0x7550 */ 0xcd35,
- /* key: 0x7551 */ 0x482a,
- /* key: 0x7552 */ 0xcd36,
- /* key: 0x7553 */ 0xffff,
- /* key: 0x7554 */ 0x484a,
- /* key: 0x7555 */ 0xffff,
- /* key: 0x7556 */ 0xffff,
- /* key: 0x7557 */ 0xcd37,
- /* key: 0x7558 */ 0xffff,
- /* key: 0x7559 */ 0x4e31,
- /* key: 0x755a */ 0x613d,
- /* key: 0x755b */ 0x613b,
- /* key: 0x755c */ 0x435c,
- /* key: 0x755d */ 0x4026,
- /* key: 0x755e */ 0xcd38,
- /* key: 0x755f */ 0xcd39,
- /* key: 0x7560 */ 0x482b,
- /* key: 0x7561 */ 0xcd3a,
- /* key: 0x7562 */ 0x492d,
- /* key: 0x7563 */ 0xffff,
- /* key: 0x7564 */ 0x613f,
- /* key: 0x7565 */ 0x4e2c,
- /* key: 0x7566 */ 0x374d,
- /* key: 0x7567 */ 0x6140,
- /* key: 0x7568 */ 0xffff,
- /* key: 0x7569 */ 0x613e,
- /* key: 0x756a */ 0x4856,
- /* key: 0x756b */ 0x6141,
- /* key: 0x756c */ 0xffff,
- /* key: 0x756d */ 0x6142,
- /* key: 0x756e */ 0xffff,
- /* key: 0x756f */ 0xcd3b,
- /* key: 0x7570 */ 0x305b,
- /* key: 0x7571 */ 0xcd3c,
- /* key: 0x7572 */ 0xffff,
- /* key: 0x7573 */ 0x3e76,
- /* key: 0x7574 */ 0x6147,
- /* key: 0x7575 */ 0xffff,
- /* key: 0x7576 */ 0x6144,
- /* key: 0x7577 */ 0x466d,
- /* key: 0x7578 */ 0x6143,
- /* key: 0x7579 */ 0xcd3d,
- /* key: 0x757a */ 0xcd3e,
- /* key: 0x757b */ 0xcd3f,
- /* key: 0x757c */ 0xcd40,
- /* key: 0x757d */ 0xcd41,
- /* key: 0x757e */ 0xcd42,
- /* key: 0x757f */ 0x3526,
- /* key: 0x7580 */ 0xffff,
- /* key: 0x7581 */ 0xcd43,
- /* key: 0x7582 */ 0x614a,
- /* key: 0x7583 */ 0xffff,
- /* key: 0x7584 */ 0xffff,
- /* key: 0x7585 */ 0xcd44,
- /* key: 0x7586 */ 0x6145,
- /* key: 0x7587 */ 0x6146,
- /* key: 0x7588 */ 0xffff,
- /* key: 0x7589 */ 0x6149,
- /* key: 0x758a */ 0x6148,
- /* key: 0x758b */ 0x4925,
- /* key: 0x758c */ 0xffff,
- /* key: 0x758d */ 0xffff,
- /* key: 0x758e */ 0x4142,
- /* key: 0x758f */ 0x4141,
- /* key: 0x7590 */ 0xcd45,
- /* key: 0x7591 */ 0x353f,
- /* key: 0x7592 */ 0xcd46,
- /* key: 0x7593 */ 0xcd47,
- /* key: 0x7594 */ 0x614b,
- /* key: 0x7595 */ 0xcd48,
- /* key: 0x7596 */ 0xffff,
- /* key: 0x7597 */ 0xffff,
- /* key: 0x7598 */ 0xffff,
- /* key: 0x7599 */ 0xcd49,
- /* key: 0x759a */ 0x614c,
- /* key: 0x759b */ 0xffff,
- /* key: 0x759c */ 0xcd4a,
- /* key: 0x759d */ 0x614d,
- /* key: 0x759e */ 0xffff,
- /* key: 0x759f */ 0xffff,
- /* key: 0x75a0 */ 0xffff,
- /* key: 0x75a1 */ 0xffff,
- /* key: 0x75a2 */ 0xcd4b,
- /* key: 0x75a3 */ 0x614f,
- /* key: 0x75a4 */ 0xcd4c,
- /* key: 0x75a5 */ 0x614e,
- /* key: 0x75a6 */ 0xffff,
- /* key: 0x75a7 */ 0xffff,
- /* key: 0x75a8 */ 0xffff,
- /* key: 0x75a9 */ 0xffff,
- /* key: 0x75aa */ 0xffff,
- /* key: 0x75ab */ 0x3156,
- /* key: 0x75ac */ 0xffff,
- /* key: 0x75ad */ 0xffff,
- /* key: 0x75ae */ 0xffff,
- /* key: 0x75af */ 0xffff,
- /* key: 0x75b0 */ 0xffff,
- /* key: 0x75b1 */ 0x6157,
- /* key: 0x75b2 */ 0x4868,
- /* key: 0x75b3 */ 0x6151,
- /* key: 0x75b4 */ 0xcd4d,
- /* key: 0x75b5 */ 0x6153,
- /* key: 0x75b6 */ 0xffff,
- /* key: 0x75b7 */ 0xffff,
- /* key: 0x75b8 */ 0x6155,
- /* key: 0x75b9 */ 0x3f3e,
- /* key: 0x75ba */ 0xcd4e,
- /* key: 0x75bb */ 0xffff,
- /* key: 0x75bc */ 0x6156,
- /* key: 0x75bd */ 0x6154,
- /* key: 0x75be */ 0x3c40,
- /* key: 0x75bf */ 0xcd4f,
- /* key: 0x75c0 */ 0xcd50,
- /* key: 0x75c1 */ 0xcd51,
- /* key: 0x75c2 */ 0x6150,
- /* key: 0x75c3 */ 0x6152,
- /* key: 0x75c4 */ 0xcd52,
- /* key: 0x75c5 */ 0x4942,
- /* key: 0x75c6 */ 0xcd53,
- /* key: 0x75c7 */ 0x3e49,
- /* key: 0x75c8 */ 0xffff,
- /* key: 0x75c9 */ 0xffff,
- /* key: 0x75ca */ 0x6159,
- /* key: 0x75cb */ 0xffff,
- /* key: 0x75cc */ 0xcd54,
- /* key: 0x75cd */ 0x6158,
- /* key: 0x75ce */ 0xcd55,
- /* key: 0x75cf */ 0xcd56,
- /* key: 0x75d0 */ 0xffff,
- /* key: 0x75d1 */ 0xffff,
- /* key: 0x75d2 */ 0x615a,
- /* key: 0x75d3 */ 0xffff,
- /* key: 0x75d4 */ 0x3c26,
- /* key: 0x75d5 */ 0x3a2f,
- /* key: 0x75d6 */ 0xffff,
- /* key: 0x75d7 */ 0xcd57,
- /* key: 0x75d8 */ 0x4577,
- /* key: 0x75d9 */ 0x615b,
- /* key: 0x75da */ 0xffff,
- /* key: 0x75db */ 0x444b,
- /* key: 0x75dc */ 0xcd58,
- /* key: 0x75dd */ 0xffff,
- /* key: 0x75de */ 0x615d,
- /* key: 0x75df */ 0xcd59,
- /* key: 0x75e0 */ 0xcd5a,
- /* key: 0x75e1 */ 0xcd5b,
- /* key: 0x75e2 */ 0x4e21,
- /* key: 0x75e3 */ 0x615c,
- /* key: 0x75e4 */ 0xcd5c,
- /* key: 0x75e5 */ 0xffff,
- /* key: 0x75e6 */ 0xffff,
- /* key: 0x75e7 */ 0xcd5d,
- /* key: 0x75e8 */ 0xffff,
- /* key: 0x75e9 */ 0x4169,
- /* key: 0x75ea */ 0xffff,
- /* key: 0x75eb */ 0xffff,
- /* key: 0x75ec */ 0xcd5e,
- /* key: 0x75ed */ 0xffff,
- /* key: 0x75ee */ 0xcd5f,
- /* key: 0x75ef */ 0xcd60,
- /* key: 0x75f0 */ 0x6162,
- /* key: 0x75f1 */ 0xcd61,
- /* key: 0x75f2 */ 0x6164,
- /* key: 0x75f3 */ 0x6165,
- /* key: 0x75f4 */ 0x4354,
- /* key: 0x75f5 */ 0xffff,
- /* key: 0x75f6 */ 0xffff,
- /* key: 0x75f7 */ 0xffff,
- /* key: 0x75f8 */ 0xffff,
- /* key: 0x75f9 */ 0xcd62,
- /* key: 0x75fa */ 0x6163,
- /* key: 0x75fb */ 0xffff,
- /* key: 0x75fc */ 0x6160,
- /* key: 0x75fd */ 0xffff,
- /* key: 0x75fe */ 0x615e,
- /* key: 0x75ff */ 0x615f,
- /* branch: 0x760X */ 12512,
- /* branch: 0x761X */ 12528,
- /* branch: 0x762X */ 12544,
- /* branch: 0x763X */ 12560,
- /* branch: 0x764X */ 12576,
- /* branch: 0x765X */ 12592,
- /* branch: 0x766X */ 12608,
- /* branch: 0x767X */ 12624,
- /* branch: 0x768X */ 12640,
- /* branch: 0x769X */ 12656,
- /* branch: 0x76aX */ 12672,
- /* branch: 0x76bX */ 12688,
- /* branch: 0x76cX */ 12704,
- /* branch: 0x76dX */ 12720,
- /* branch: 0x76eX */ 12736,
- /* branch: 0x76fX */ 12752,
- /* key: 0x7600 */ 0xcd63,
- /* key: 0x7601 */ 0x6161,
- /* key: 0x7602 */ 0xcd64,
- /* key: 0x7603 */ 0xcd65,
- /* key: 0x7604 */ 0xcd66,
- /* key: 0x7605 */ 0xffff,
- /* key: 0x7606 */ 0xffff,
- /* key: 0x7607 */ 0xcd67,
- /* key: 0x7608 */ 0xcd68,
- /* key: 0x7609 */ 0x6168,
- /* key: 0x760a */ 0xcd69,
- /* key: 0x760b */ 0x6166,
- /* key: 0x760c */ 0xcd6a,
- /* key: 0x760d */ 0x6167,
- /* key: 0x760e */ 0xffff,
- /* key: 0x760f */ 0xcd6b,
- /* key: 0x7610 */ 0xffff,
- /* key: 0x7611 */ 0xffff,
- /* key: 0x7612 */ 0xcd6c,
- /* key: 0x7613 */ 0xcd6d,
- /* key: 0x7614 */ 0xffff,
- /* key: 0x7615 */ 0xcd6e,
- /* key: 0x7616 */ 0xcd6f,
- /* key: 0x7617 */ 0xffff,
- /* key: 0x7618 */ 0xffff,
- /* key: 0x7619 */ 0xcd70,
- /* key: 0x761a */ 0xffff,
- /* key: 0x761b */ 0xcd71,
- /* key: 0x761c */ 0xcd72,
- /* key: 0x761d */ 0xcd73,
- /* key: 0x761e */ 0xcd74,
- /* key: 0x761f */ 0x6169,
- /* key: 0x7620 */ 0x616b,
- /* key: 0x7621 */ 0x616c,
- /* key: 0x7622 */ 0x616d,
- /* key: 0x7623 */ 0xcd75,
- /* key: 0x7624 */ 0x616e,
- /* key: 0x7625 */ 0xcd76,
- /* key: 0x7626 */ 0xcd77,
- /* key: 0x7627 */ 0x616a,
- /* key: 0x7628 */ 0xffff,
- /* key: 0x7629 */ 0xcd78,
- /* key: 0x762a */ 0xffff,
- /* key: 0x762b */ 0xffff,
- /* key: 0x762c */ 0xffff,
- /* key: 0x762d */ 0xcd79,
- /* key: 0x762e */ 0xffff,
- /* key: 0x762f */ 0xffff,
- /* key: 0x7630 */ 0x6170,
- /* key: 0x7631 */ 0xffff,
- /* key: 0x7632 */ 0xcd7a,
- /* key: 0x7633 */ 0xcd7b,
- /* key: 0x7634 */ 0x616f,
- /* key: 0x7635 */ 0xcd7c,
- /* key: 0x7636 */ 0xffff,
- /* key: 0x7637 */ 0xffff,
- /* key: 0x7638 */ 0xcd7d,
- /* key: 0x7639 */ 0xcd7e,
- /* key: 0x763a */ 0xce21,
- /* key: 0x763b */ 0x6171,
- /* key: 0x763c */ 0xce22,
- /* key: 0x763d */ 0xffff,
- /* key: 0x763e */ 0xffff,
- /* key: 0x763f */ 0xffff,
- /* key: 0x7640 */ 0xce24,
- /* key: 0x7641 */ 0xce25,
- /* key: 0x7642 */ 0x4e45,
- /* key: 0x7643 */ 0xce26,
- /* key: 0x7644 */ 0xce27,
- /* key: 0x7645 */ 0xce28,
- /* key: 0x7646 */ 0x6174,
- /* key: 0x7647 */ 0x6172,
- /* key: 0x7648 */ 0x6173,
- /* key: 0x7649 */ 0xce29,
- /* key: 0x764a */ 0xce23,
- /* key: 0x764b */ 0xce2a,
- /* key: 0x764c */ 0x3462,
- /* key: 0x764d */ 0xffff,
- /* key: 0x764e */ 0xffff,
- /* key: 0x764f */ 0xffff,
- /* key: 0x7650 */ 0xffff,
- /* key: 0x7651 */ 0xffff,
- /* key: 0x7652 */ 0x4c7e,
- /* key: 0x7653 */ 0xffff,
- /* key: 0x7654 */ 0xffff,
- /* key: 0x7655 */ 0xce2b,
- /* key: 0x7656 */ 0x4a4a,
- /* key: 0x7657 */ 0xffff,
- /* key: 0x7658 */ 0x6176,
- /* key: 0x7659 */ 0xce2c,
- /* key: 0x765a */ 0xffff,
- /* key: 0x765b */ 0xffff,
- /* key: 0x765c */ 0x6175,
- /* key: 0x765d */ 0xffff,
- /* key: 0x765e */ 0xffff,
- /* key: 0x765f */ 0xce2d,
- /* key: 0x7660 */ 0xffff,
- /* key: 0x7661 */ 0x6177,
- /* key: 0x7662 */ 0x6178,
- /* key: 0x7663 */ 0xffff,
- /* key: 0x7664 */ 0xce2e,
- /* key: 0x7665 */ 0xce2f,
- /* key: 0x7666 */ 0xffff,
- /* key: 0x7667 */ 0x617c,
- /* key: 0x7668 */ 0x6179,
- /* key: 0x7669 */ 0x617a,
- /* key: 0x766a */ 0x617b,
- /* key: 0x766b */ 0xffff,
- /* key: 0x766c */ 0x617d,
- /* key: 0x766d */ 0xce30,
- /* key: 0x766e */ 0xce31,
- /* key: 0x766f */ 0xce32,
- /* key: 0x7670 */ 0x617e,
- /* key: 0x7671 */ 0xce33,
- /* key: 0x7672 */ 0x6221,
- /* key: 0x7673 */ 0xffff,
- /* key: 0x7674 */ 0xce34,
- /* key: 0x7675 */ 0xffff,
- /* key: 0x7676 */ 0x6222,
- /* key: 0x7677 */ 0xffff,
- /* key: 0x7678 */ 0x6223,
- /* key: 0x7679 */ 0xffff,
- /* key: 0x767a */ 0x482f,
- /* key: 0x767b */ 0x4550,
- /* key: 0x767c */ 0x6224,
- /* key: 0x767d */ 0x4772,
- /* key: 0x767e */ 0x4934,
- /* key: 0x767f */ 0xffff,
- /* key: 0x7680 */ 0x6225,
- /* key: 0x7681 */ 0xce35,
- /* key: 0x7682 */ 0xffff,
- /* key: 0x7683 */ 0x6226,
- /* key: 0x7684 */ 0x452a,
- /* key: 0x7685 */ 0xce36,
- /* key: 0x7686 */ 0x3327,
- /* key: 0x7687 */ 0x3944,
- /* key: 0x7688 */ 0x6227,
- /* key: 0x7689 */ 0xffff,
- /* key: 0x768a */ 0xffff,
- /* key: 0x768b */ 0x6228,
- /* key: 0x768c */ 0xce37,
- /* key: 0x768d */ 0xce38,
- /* key: 0x768e */ 0x6229,
- /* key: 0x768f */ 0xffff,
- /* key: 0x7690 */ 0x3b29,
- /* key: 0x7691 */ 0xffff,
- /* key: 0x7692 */ 0xffff,
- /* key: 0x7693 */ 0x622b,
- /* key: 0x7694 */ 0xffff,
- /* key: 0x7695 */ 0xce39,
- /* key: 0x7696 */ 0x622a,
- /* key: 0x7697 */ 0xffff,
- /* key: 0x7698 */ 0xffff,
- /* key: 0x7699 */ 0x622c,
- /* key: 0x769a */ 0x622d,
- /* key: 0x769b */ 0xce3a,
- /* key: 0x769c */ 0xce3b,
- /* key: 0x769d */ 0xce3c,
- /* key: 0x769e */ 0xffff,
- /* key: 0x769f */ 0xce3d,
- /* key: 0x76a0 */ 0xce3e,
- /* key: 0x76a1 */ 0xffff,
- /* key: 0x76a2 */ 0xce3f,
- /* key: 0x76a3 */ 0xce40,
- /* key: 0x76a4 */ 0xce41,
- /* key: 0x76a5 */ 0xce42,
- /* key: 0x76a6 */ 0xce43,
- /* key: 0x76a7 */ 0xce44,
- /* key: 0x76a8 */ 0xce45,
- /* key: 0x76a9 */ 0xffff,
- /* key: 0x76aa */ 0xce46,
- /* key: 0x76ab */ 0xffff,
- /* key: 0x76ac */ 0xffff,
- /* key: 0x76ad */ 0xce47,
- /* key: 0x76ae */ 0x4869,
- /* key: 0x76af */ 0xffff,
- /* key: 0x76b0 */ 0x622e,
- /* key: 0x76b1 */ 0xffff,
- /* key: 0x76b2 */ 0xffff,
- /* key: 0x76b3 */ 0xffff,
- /* key: 0x76b4 */ 0x622f,
- /* key: 0x76b5 */ 0xffff,
- /* key: 0x76b6 */ 0xffff,
- /* key: 0x76b7 */ 0x7369,
- /* key: 0x76b8 */ 0x6230,
- /* key: 0x76b9 */ 0x6231,
- /* key: 0x76ba */ 0x6232,
- /* key: 0x76bb */ 0xffff,
- /* key: 0x76bc */ 0xffff,
- /* key: 0x76bd */ 0xce48,
- /* key: 0x76be */ 0xffff,
- /* key: 0x76bf */ 0x3b2e,
- /* key: 0x76c0 */ 0xffff,
- /* key: 0x76c1 */ 0xce49,
- /* key: 0x76c2 */ 0x6233,
- /* key: 0x76c3 */ 0x4756,
- /* key: 0x76c4 */ 0xffff,
- /* key: 0x76c5 */ 0xce4a,
- /* key: 0x76c6 */ 0x4b5f,
- /* key: 0x76c7 */ 0xffff,
- /* key: 0x76c8 */ 0x314e,
- /* key: 0x76c9 */ 0xce4b,
- /* key: 0x76ca */ 0x3157,
- /* key: 0x76cb */ 0xce4c,
- /* key: 0x76cc */ 0xce4d,
- /* key: 0x76cd */ 0x6234,
- /* key: 0x76ce */ 0xce4e,
- /* key: 0x76cf */ 0xffff,
- /* key: 0x76d0 */ 0xffff,
- /* key: 0x76d1 */ 0xffff,
- /* key: 0x76d2 */ 0x6236,
- /* key: 0x76d3 */ 0xffff,
- /* key: 0x76d4 */ 0xce4f,
- /* key: 0x76d5 */ 0xffff,
- /* key: 0x76d6 */ 0x6235,
- /* key: 0x76d7 */ 0x4570,
- /* key: 0x76d8 */ 0xffff,
- /* key: 0x76d9 */ 0xce50,
- /* key: 0x76da */ 0xffff,
- /* key: 0x76db */ 0x4039,
- /* key: 0x76dc */ 0x5d39,
- /* key: 0x76dd */ 0xffff,
- /* key: 0x76de */ 0x6237,
- /* key: 0x76df */ 0x4c41,
- /* key: 0x76e0 */ 0xce51,
- /* key: 0x76e1 */ 0x6238,
- /* key: 0x76e2 */ 0xffff,
- /* key: 0x76e3 */ 0x3446,
- /* key: 0x76e4 */ 0x4857,
- /* key: 0x76e5 */ 0x6239,
- /* key: 0x76e6 */ 0xce52,
- /* key: 0x76e7 */ 0x623a,
- /* key: 0x76e8 */ 0xce53,
- /* key: 0x76e9 */ 0xffff,
- /* key: 0x76ea */ 0x623b,
- /* key: 0x76eb */ 0xffff,
- /* key: 0x76ec */ 0xce54,
- /* key: 0x76ed */ 0xffff,
- /* key: 0x76ee */ 0x4c5c,
- /* key: 0x76ef */ 0xffff,
- /* key: 0x76f0 */ 0xce55,
- /* key: 0x76f1 */ 0xce56,
- /* key: 0x76f2 */ 0x4c55,
- /* key: 0x76f3 */ 0xffff,
- /* key: 0x76f4 */ 0x443e,
- /* key: 0x76f5 */ 0xffff,
- /* key: 0x76f6 */ 0xce57,
- /* key: 0x76f7 */ 0xffff,
- /* key: 0x76f8 */ 0x416a,
- /* key: 0x76f9 */ 0xce58,
- /* key: 0x76fa */ 0xffff,
- /* key: 0x76fb */ 0x623d,
- /* key: 0x76fc */ 0xce59,
- /* key: 0x76fd */ 0xffff,
- /* key: 0x76fe */ 0x3d62,
- /* key: 0x76ff */ 0xffff,
- /* branch: 0x770X */ 12784,
- /* branch: 0x771X */ 12800,
- /* branch: 0x772X */ 12816,
- /* branch: 0x773X */ 12832,
- /* branch: 0x774X */ 12848,
- /* branch: 0x775X */ 12864,
- /* branch: 0x776X */ 12880,
- /* branch: 0x777X */ 12896,
- /* branch: 0x778X */ 12912,
- /* branch: 0x779X */ 12928,
- /* branch: 0x77aX */ 12944,
- /* branch: 0x77bX */ 12960,
- /* branch: 0x77cX */ 12976,
- /* branch: 0x77dX */ 12992,
- /* branch: 0x77eX */ 13008,
- /* branch: 0x77fX */ 13024,
- /* key: 0x7700 */ 0xce5a,
- /* key: 0x7701 */ 0x3e4a,
- /* key: 0x7702 */ 0xffff,
- /* key: 0x7703 */ 0xffff,
- /* key: 0x7704 */ 0x6240,
- /* key: 0x7705 */ 0xffff,
- /* key: 0x7706 */ 0xce5b,
- /* key: 0x7707 */ 0x623f,
- /* key: 0x7708 */ 0x623e,
- /* key: 0x7709 */ 0x487d,
- /* key: 0x770a */ 0xce5c,
- /* key: 0x770b */ 0x3447,
- /* key: 0x770c */ 0x3829,
- /* key: 0x770d */ 0xffff,
- /* key: 0x770e */ 0xce5d,
- /* key: 0x770f */ 0xffff,
- /* key: 0x7710 */ 0xffff,
- /* key: 0x7711 */ 0xffff,
- /* key: 0x7712 */ 0xce5e,
- /* key: 0x7713 */ 0xffff,
- /* key: 0x7714 */ 0xce5f,
- /* key: 0x7715 */ 0xce60,
- /* key: 0x7716 */ 0xffff,
- /* key: 0x7717 */ 0xce61,
- /* key: 0x7718 */ 0xffff,
- /* key: 0x7719 */ 0xce62,
- /* key: 0x771a */ 0xce63,
- /* key: 0x771b */ 0x6246,
- /* key: 0x771c */ 0xce64,
- /* key: 0x771d */ 0xffff,
- /* key: 0x771e */ 0x6243,
- /* key: 0x771f */ 0x3f3f,
- /* key: 0x7720 */ 0x4c32,
- /* key: 0x7721 */ 0xffff,
- /* key: 0x7722 */ 0xce65,
- /* key: 0x7723 */ 0xffff,
- /* key: 0x7724 */ 0x6242,
- /* key: 0x7725 */ 0x6244,
- /* key: 0x7726 */ 0x6245,
- /* key: 0x7727 */ 0xffff,
- /* key: 0x7728 */ 0xce66,
- /* key: 0x7729 */ 0x6241,
- /* key: 0x772a */ 0xffff,
- /* key: 0x772b */ 0xffff,
- /* key: 0x772c */ 0xffff,
- /* key: 0x772d */ 0xce67,
- /* key: 0x772e */ 0xce68,
- /* key: 0x772f */ 0xce69,
- /* key: 0x7730 */ 0xffff,
- /* key: 0x7731 */ 0xffff,
- /* key: 0x7732 */ 0xffff,
- /* key: 0x7733 */ 0xffff,
- /* key: 0x7734 */ 0xce6a,
- /* key: 0x7735 */ 0xce6b,
- /* key: 0x7736 */ 0xce6c,
- /* key: 0x7737 */ 0x6247,
- /* key: 0x7738 */ 0x6248,
- /* key: 0x7739 */ 0xce6d,
- /* key: 0x773a */ 0x442f,
- /* key: 0x773b */ 0xffff,
- /* key: 0x773c */ 0x3463,
- /* key: 0x773d */ 0xce6e,
- /* key: 0x773e */ 0xce6f,
- /* key: 0x773f */ 0xffff,
- /* key: 0x7740 */ 0x4365,
- /* key: 0x7741 */ 0xffff,
- /* key: 0x7742 */ 0xce70,
- /* key: 0x7743 */ 0xffff,
- /* key: 0x7744 */ 0xffff,
- /* key: 0x7745 */ 0xce71,
- /* key: 0x7746 */ 0xce72,
- /* key: 0x7747 */ 0x6249,
- /* key: 0x7748 */ 0xffff,
- /* key: 0x7749 */ 0xffff,
- /* key: 0x774a */ 0xce73,
- /* key: 0x774b */ 0xffff,
- /* key: 0x774c */ 0xffff,
- /* key: 0x774d */ 0xce74,
- /* key: 0x774e */ 0xce75,
- /* key: 0x774f */ 0xce76,
- /* key: 0x7750 */ 0xffff,
- /* key: 0x7751 */ 0xffff,
- /* key: 0x7752 */ 0xce77,
- /* key: 0x7753 */ 0xffff,
- /* key: 0x7754 */ 0xffff,
- /* key: 0x7755 */ 0xffff,
- /* key: 0x7756 */ 0xce78,
- /* key: 0x7757 */ 0xce79,
- /* key: 0x7758 */ 0xffff,
- /* key: 0x7759 */ 0xffff,
- /* key: 0x775a */ 0x624a,
- /* key: 0x775b */ 0x624d,
- /* key: 0x775c */ 0xce7a,
- /* key: 0x775d */ 0xffff,
- /* key: 0x775e */ 0xce7b,
- /* key: 0x775f */ 0xce7c,
- /* key: 0x7760 */ 0xce7d,
- /* key: 0x7761 */ 0x3f67,
- /* key: 0x7762 */ 0xce7e,
- /* key: 0x7763 */ 0x4644,
- /* key: 0x7764 */ 0xcf21,
- /* key: 0x7765 */ 0x624e,
- /* key: 0x7766 */ 0x4b53,
- /* key: 0x7767 */ 0xcf22,
- /* key: 0x7768 */ 0x624b,
- /* key: 0x7769 */ 0xffff,
- /* key: 0x776a */ 0xcf23,
- /* key: 0x776b */ 0x624c,
- /* key: 0x776c */ 0xcf24,
- /* key: 0x776d */ 0xffff,
- /* key: 0x776e */ 0xffff,
- /* key: 0x776f */ 0xffff,
- /* key: 0x7770 */ 0xcf25,
- /* key: 0x7771 */ 0xffff,
- /* key: 0x7772 */ 0xcf26,
- /* key: 0x7773 */ 0xcf27,
- /* key: 0x7774 */ 0xcf28,
- /* key: 0x7775 */ 0xffff,
- /* key: 0x7776 */ 0xffff,
- /* key: 0x7777 */ 0xffff,
- /* key: 0x7778 */ 0xffff,
- /* key: 0x7779 */ 0x6251,
- /* key: 0x777a */ 0xcf29,
- /* key: 0x777b */ 0xffff,
- /* key: 0x777c */ 0xffff,
- /* key: 0x777d */ 0xcf2a,
- /* key: 0x777e */ 0x6250,
- /* key: 0x777f */ 0x624f,
- /* key: 0x7780 */ 0xcf2b,
- /* key: 0x7781 */ 0xffff,
- /* key: 0x7782 */ 0xffff,
- /* key: 0x7783 */ 0xffff,
- /* key: 0x7784 */ 0xcf2c,
- /* key: 0x7785 */ 0xffff,
- /* key: 0x7786 */ 0xffff,
- /* key: 0x7787 */ 0xffff,
- /* key: 0x7788 */ 0xffff,
- /* key: 0x7789 */ 0xffff,
- /* key: 0x778a */ 0xffff,
- /* key: 0x778b */ 0x6253,
- /* key: 0x778c */ 0xcf2d,
- /* key: 0x778d */ 0xcf2e,
- /* key: 0x778e */ 0x6252,
- /* key: 0x778f */ 0xffff,
- /* key: 0x7790 */ 0xffff,
- /* key: 0x7791 */ 0x6254,
- /* key: 0x7792 */ 0xffff,
- /* key: 0x7793 */ 0xffff,
- /* key: 0x7794 */ 0xcf2f,
- /* key: 0x7795 */ 0xcf30,
- /* key: 0x7796 */ 0xcf31,
- /* key: 0x7797 */ 0xffff,
- /* key: 0x7798 */ 0xffff,
- /* key: 0x7799 */ 0xffff,
- /* key: 0x779a */ 0xcf32,
- /* key: 0x779b */ 0xffff,
- /* key: 0x779c */ 0xffff,
- /* key: 0x779d */ 0xffff,
- /* key: 0x779e */ 0x6256,
- /* key: 0x779f */ 0xcf33,
- /* key: 0x77a0 */ 0x6255,
- /* key: 0x77a1 */ 0xffff,
- /* key: 0x77a2 */ 0xcf34,
- /* key: 0x77a3 */ 0xffff,
- /* key: 0x77a4 */ 0xffff,
- /* key: 0x77a5 */ 0x4a4d,
- /* key: 0x77a6 */ 0xffff,
- /* key: 0x77a7 */ 0xcf35,
- /* key: 0x77a8 */ 0xffff,
- /* key: 0x77a9 */ 0xffff,
- /* key: 0x77aa */ 0xcf36,
- /* key: 0x77ab */ 0xffff,
- /* key: 0x77ac */ 0x3d56,
- /* key: 0x77ad */ 0x4e46,
- /* key: 0x77ae */ 0xcf37,
- /* key: 0x77af */ 0xcf38,
- /* key: 0x77b0 */ 0x6257,
- /* key: 0x77b1 */ 0xcf39,
- /* key: 0x77b2 */ 0xffff,
- /* key: 0x77b3 */ 0x4637,
- /* key: 0x77b4 */ 0xffff,
- /* key: 0x77b5 */ 0xcf3a,
- /* key: 0x77b6 */ 0x6258,
- /* key: 0x77b7 */ 0xffff,
- /* key: 0x77b8 */ 0xffff,
- /* key: 0x77b9 */ 0x6259,
- /* key: 0x77ba */ 0xffff,
- /* key: 0x77bb */ 0x625d,
- /* key: 0x77bc */ 0x625b,
- /* key: 0x77bd */ 0x625c,
- /* key: 0x77be */ 0xcf3b,
- /* key: 0x77bf */ 0x625a,
- /* key: 0x77c0 */ 0xffff,
- /* key: 0x77c1 */ 0xffff,
- /* key: 0x77c2 */ 0xffff,
- /* key: 0x77c3 */ 0xcf3c,
- /* key: 0x77c4 */ 0xffff,
- /* key: 0x77c5 */ 0xffff,
- /* key: 0x77c6 */ 0xffff,
- /* key: 0x77c7 */ 0x625e,
- /* key: 0x77c8 */ 0xffff,
- /* key: 0x77c9 */ 0xcf3d,
- /* key: 0x77ca */ 0xffff,
- /* key: 0x77cb */ 0xffff,
- /* key: 0x77cc */ 0xffff,
- /* key: 0x77cd */ 0x625f,
- /* key: 0x77ce */ 0xffff,
- /* key: 0x77cf */ 0xffff,
- /* key: 0x77d0 */ 0xffff,
- /* key: 0x77d1 */ 0xcf3e,
- /* key: 0x77d2 */ 0xcf3f,
- /* key: 0x77d3 */ 0xffff,
- /* key: 0x77d4 */ 0xffff,
- /* key: 0x77d5 */ 0xcf40,
- /* key: 0x77d6 */ 0xffff,
- /* key: 0x77d7 */ 0x6260,
- /* key: 0x77d8 */ 0xffff,
- /* key: 0x77d9 */ 0xcf41,
- /* key: 0x77da */ 0x6261,
- /* key: 0x77db */ 0x4c37,
- /* key: 0x77dc */ 0x6262,
- /* key: 0x77dd */ 0xffff,
- /* key: 0x77de */ 0xcf42,
- /* key: 0x77df */ 0xcf43,
- /* key: 0x77e0 */ 0xcf44,
- /* key: 0x77e1 */ 0xffff,
- /* key: 0x77e2 */ 0x4c70,
- /* key: 0x77e3 */ 0x6263,
- /* key: 0x77e4 */ 0xcf45,
- /* key: 0x77e5 */ 0x434e,
- /* key: 0x77e6 */ 0xcf46,
- /* key: 0x77e7 */ 0x476a,
- /* key: 0x77e8 */ 0xffff,
- /* key: 0x77e9 */ 0x366b,
- /* key: 0x77ea */ 0xcf47,
- /* key: 0x77eb */ 0xffff,
- /* key: 0x77ec */ 0xcf48,
- /* key: 0x77ed */ 0x433b,
- /* key: 0x77ee */ 0x6264,
- /* key: 0x77ef */ 0x363a,
- /* key: 0x77f0 */ 0xcf49,
- /* key: 0x77f1 */ 0xcf4a,
- /* key: 0x77f2 */ 0xffff,
- /* key: 0x77f3 */ 0x4050,
- /* key: 0x77f4 */ 0xcf4b,
- /* key: 0x77f5 */ 0xffff,
- /* key: 0x77f6 */ 0xffff,
- /* key: 0x77f7 */ 0xffff,
- /* key: 0x77f8 */ 0xcf4c,
- /* key: 0x77f9 */ 0xffff,
- /* key: 0x77fa */ 0xffff,
- /* key: 0x77fb */ 0xcf4d,
- /* key: 0x77fc */ 0x6265,
- /* key: 0x77fd */ 0xffff,
- /* key: 0x77fe */ 0xffff,
- /* key: 0x77ff */ 0xffff,
- /* branch: 0x780X */ 13056,
- /* branch: 0x781X */ 13072,
- /* branch: 0x782X */ 13088,
- /* branch: 0x783X */ 13104,
- /* branch: 0x784X */ 13120,
- /* branch: 0x785X */ 13136,
- /* branch: 0x786X */ 13152,
- /* branch: 0x787X */ 13168,
- /* branch: 0x788X */ 13184,
- /* branch: 0x789X */ 13200,
- /* branch: 0x78aX */ 13216,
- /* branch: 0x78bX */ 13232,
- /* branch: 0x78cX */ 13248,
- /* branch: 0x78dX */ 13264,
- /* branch: 0x78eX */ 13280,
- /* branch: 0x78fX */ 13296,
- /* key: 0x7800 */ 0xffff,
- /* key: 0x7801 */ 0xffff,
- /* key: 0x7802 */ 0x3a3d,
- /* key: 0x7803 */ 0xffff,
- /* key: 0x7804 */ 0xffff,
- /* key: 0x7805 */ 0xcf4e,
- /* key: 0x7806 */ 0xcf4f,
- /* key: 0x7807 */ 0xffff,
- /* key: 0x7808 */ 0xffff,
- /* key: 0x7809 */ 0xcf50,
- /* key: 0x780a */ 0xffff,
- /* key: 0x780b */ 0xffff,
- /* key: 0x780c */ 0x6266,
- /* key: 0x780d */ 0xcf51,
- /* key: 0x780e */ 0xcf52,
- /* key: 0x780f */ 0xffff,
- /* key: 0x7810 */ 0xffff,
- /* key: 0x7811 */ 0xcf53,
- /* key: 0x7812 */ 0x6267,
- /* key: 0x7813 */ 0xffff,
- /* key: 0x7814 */ 0x3826,
- /* key: 0x7815 */ 0x3a55,
- /* key: 0x7816 */ 0xffff,
- /* key: 0x7817 */ 0xffff,
- /* key: 0x7818 */ 0xffff,
- /* key: 0x7819 */ 0xffff,
- /* key: 0x781a */ 0xffff,
- /* key: 0x781b */ 0xffff,
- /* key: 0x781c */ 0xffff,
- /* key: 0x781d */ 0xcf54,
- /* key: 0x781e */ 0xffff,
- /* key: 0x781f */ 0xffff,
- /* key: 0x7820 */ 0x6269,
- /* key: 0x7821 */ 0xcf55,
- /* key: 0x7822 */ 0xcf56,
- /* key: 0x7823 */ 0xcf57,
- /* key: 0x7824 */ 0xffff,
- /* key: 0x7825 */ 0x4556,
- /* key: 0x7826 */ 0x3a56,
- /* key: 0x7827 */ 0x354e,
- /* key: 0x7828 */ 0xffff,
- /* key: 0x7829 */ 0xffff,
- /* key: 0x782a */ 0xffff,
- /* key: 0x782b */ 0xffff,
- /* key: 0x782c */ 0xffff,
- /* key: 0x782d */ 0xcf58,
- /* key: 0x782e */ 0xcf59,
- /* key: 0x782f */ 0xffff,
- /* key: 0x7830 */ 0xcf5a,
- /* key: 0x7831 */ 0xffff,
- /* key: 0x7832 */ 0x4b24,
- /* key: 0x7833 */ 0xffff,
- /* key: 0x7834 */ 0x474b,
- /* key: 0x7835 */ 0xcf5b,
- /* key: 0x7836 */ 0xffff,
- /* key: 0x7837 */ 0xcf5c,
- /* key: 0x7838 */ 0xffff,
- /* key: 0x7839 */ 0xffff,
- /* key: 0x783a */ 0x4557,
- /* key: 0x783b */ 0xffff,
- /* key: 0x783c */ 0xffff,
- /* key: 0x783d */ 0xffff,
- /* key: 0x783e */ 0xffff,
- /* key: 0x783f */ 0x395c,
- /* key: 0x7840 */ 0xffff,
- /* key: 0x7841 */ 0xffff,
- /* key: 0x7842 */ 0xffff,
- /* key: 0x7843 */ 0xcf5d,
- /* key: 0x7844 */ 0xcf5e,
- /* key: 0x7845 */ 0x626b,
- /* key: 0x7846 */ 0xffff,
- /* key: 0x7847 */ 0xcf5f,
- /* key: 0x7848 */ 0xcf60,
- /* key: 0x7849 */ 0xffff,
- /* key: 0x784a */ 0xffff,
- /* key: 0x784b */ 0xffff,
- /* key: 0x784c */ 0xcf61,
- /* key: 0x784d */ 0xffff,
- /* key: 0x784e */ 0xcf62,
- /* key: 0x784f */ 0xffff,
- /* key: 0x7850 */ 0xffff,
- /* key: 0x7851 */ 0xffff,
- /* key: 0x7852 */ 0xcf63,
- /* key: 0x7853 */ 0xffff,
- /* key: 0x7854 */ 0xffff,
- /* key: 0x7855 */ 0xffff,
- /* key: 0x7856 */ 0xffff,
- /* key: 0x7857 */ 0xffff,
- /* key: 0x7858 */ 0xffff,
- /* key: 0x7859 */ 0xffff,
- /* key: 0x785a */ 0xffff,
- /* key: 0x785b */ 0xffff,
- /* key: 0x785c */ 0xcf64,
- /* key: 0x785d */ 0x3e4b,
- /* key: 0x785e */ 0xcf65,
- /* key: 0x785f */ 0xffff,
- /* key: 0x7860 */ 0xcf66,
- /* key: 0x7861 */ 0xcf67,
- /* key: 0x7862 */ 0xffff,
- /* key: 0x7863 */ 0xcf68,
- /* key: 0x7864 */ 0xcf69,
- /* key: 0x7865 */ 0xffff,
- /* key: 0x7866 */ 0xffff,
- /* key: 0x7867 */ 0xffff,
- /* key: 0x7868 */ 0xcf6a,
- /* key: 0x7869 */ 0xffff,
- /* key: 0x786a */ 0xcf6b,
- /* key: 0x786b */ 0x4e32,
- /* key: 0x786c */ 0x3945,
- /* key: 0x786d */ 0xffff,
- /* key: 0x786e */ 0xcf6c,
- /* key: 0x786f */ 0x3827,
- /* key: 0x7870 */ 0xffff,
- /* key: 0x7871 */ 0xffff,
- /* key: 0x7872 */ 0x4823,
- /* key: 0x7873 */ 0xffff,
- /* key: 0x7874 */ 0x626d,
- /* key: 0x7875 */ 0xffff,
- /* key: 0x7876 */ 0xffff,
- /* key: 0x7877 */ 0xffff,
- /* key: 0x7878 */ 0xffff,
- /* key: 0x7879 */ 0xffff,
- /* key: 0x787a */ 0xcf6d,
- /* key: 0x787b */ 0xffff,
- /* key: 0x787c */ 0x626f,
- /* key: 0x787d */ 0xffff,
- /* key: 0x787e */ 0xcf6e,
- /* key: 0x787f */ 0xffff,
- /* key: 0x7880 */ 0xffff,
- /* key: 0x7881 */ 0x386b,
- /* key: 0x7882 */ 0xffff,
- /* key: 0x7883 */ 0xffff,
- /* key: 0x7884 */ 0xffff,
- /* key: 0x7885 */ 0xffff,
- /* key: 0x7886 */ 0x626e,
- /* key: 0x7887 */ 0x4476,
- /* key: 0x7888 */ 0xffff,
- /* key: 0x7889 */ 0xffff,
- /* key: 0x788a */ 0xcf6f,
- /* key: 0x788b */ 0xffff,
- /* key: 0x788c */ 0x6271,
- /* key: 0x788d */ 0x3337,
- /* key: 0x788e */ 0x626c,
- /* key: 0x788f */ 0xcf70,
- /* key: 0x7890 */ 0xffff,
- /* key: 0x7891 */ 0x486a,
- /* key: 0x7892 */ 0xffff,
- /* key: 0x7893 */ 0x3130,
- /* key: 0x7894 */ 0xcf71,
- /* key: 0x7895 */ 0x3a6c,
- /* key: 0x7896 */ 0xffff,
- /* key: 0x7897 */ 0x4f52,
- /* key: 0x7898 */ 0xcf72,
- /* key: 0x7899 */ 0xffff,
- /* key: 0x789a */ 0x6270,
- /* key: 0x789b */ 0xffff,
- /* key: 0x789c */ 0xffff,
- /* key: 0x789d */ 0xcf74,
- /* key: 0x789e */ 0xcf75,
- /* key: 0x789f */ 0xcf76,
- /* key: 0x78a0 */ 0xffff,
- /* key: 0x78a1 */ 0xcf73,
- /* key: 0x78a2 */ 0xffff,
- /* key: 0x78a3 */ 0x6272,
- /* key: 0x78a4 */ 0xcf77,
- /* key: 0x78a5 */ 0xffff,
- /* key: 0x78a6 */ 0xffff,
- /* key: 0x78a7 */ 0x4a4b,
- /* key: 0x78a8 */ 0xcf78,
- /* key: 0x78a9 */ 0x4059,
- /* key: 0x78aa */ 0x6274,
- /* key: 0x78ab */ 0xffff,
- /* key: 0x78ac */ 0xcf79,
- /* key: 0x78ad */ 0xcf7a,
- /* key: 0x78ae */ 0xffff,
- /* key: 0x78af */ 0x6275,
- /* key: 0x78b0 */ 0xcf7b,
- /* key: 0x78b1 */ 0xcf7c,
- /* key: 0x78b2 */ 0xcf7d,
- /* key: 0x78b3 */ 0xcf7e,
- /* key: 0x78b4 */ 0xffff,
- /* key: 0x78b5 */ 0x6273,
- /* key: 0x78b6 */ 0xffff,
- /* key: 0x78b7 */ 0xffff,
- /* key: 0x78b8 */ 0xffff,
- /* key: 0x78b9 */ 0xffff,
- /* key: 0x78ba */ 0x334e,
- /* key: 0x78bb */ 0xd021,
- /* key: 0x78bc */ 0x627b,
- /* key: 0x78bd */ 0xd022,
- /* key: 0x78be */ 0x627a,
- /* key: 0x78bf */ 0xd023,
- /* key: 0x78c0 */ 0xffff,
- /* key: 0x78c1 */ 0x3c27,
- /* key: 0x78c2 */ 0xffff,
- /* key: 0x78c3 */ 0xffff,
- /* key: 0x78c4 */ 0xffff,
- /* key: 0x78c5 */ 0x627c,
- /* key: 0x78c6 */ 0x6277,
- /* key: 0x78c7 */ 0xd024,
- /* key: 0x78c8 */ 0xd025,
- /* key: 0x78c9 */ 0xd026,
- /* key: 0x78ca */ 0x627d,
- /* key: 0x78cb */ 0x6278,
- /* key: 0x78cc */ 0xd027,
- /* key: 0x78cd */ 0xffff,
- /* key: 0x78ce */ 0xd028,
- /* key: 0x78cf */ 0xffff,
- /* key: 0x78d0 */ 0x4858,
- /* key: 0x78d1 */ 0x6276,
- /* key: 0x78d2 */ 0xd029,
- /* key: 0x78d3 */ 0xd02a,
- /* key: 0x78d4 */ 0x6279,
- /* key: 0x78d5 */ 0xd02b,
- /* key: 0x78d6 */ 0xd02c,
- /* key: 0x78d7 */ 0xffff,
- /* key: 0x78d8 */ 0xffff,
- /* key: 0x78d9 */ 0xffff,
- /* key: 0x78da */ 0x6322,
- /* key: 0x78db */ 0xd02e,
- /* key: 0x78dc */ 0xffff,
- /* key: 0x78dd */ 0xffff,
- /* key: 0x78de */ 0xffff,
- /* key: 0x78df */ 0xd02f,
- /* key: 0x78e0 */ 0xd030,
- /* key: 0x78e1 */ 0xd031,
- /* key: 0x78e2 */ 0xffff,
- /* key: 0x78e3 */ 0xffff,
- /* key: 0x78e4 */ 0xd02d,
- /* key: 0x78e5 */ 0xffff,
- /* key: 0x78e6 */ 0xd032,
- /* key: 0x78e7 */ 0x6321,
- /* key: 0x78e8 */ 0x4b61,
- /* key: 0x78e9 */ 0xffff,
- /* key: 0x78ea */ 0xd033,
- /* key: 0x78eb */ 0xffff,
- /* key: 0x78ec */ 0x627e,
- /* key: 0x78ed */ 0xffff,
- /* key: 0x78ee */ 0xffff,
- /* key: 0x78ef */ 0x306b,
- /* key: 0x78f0 */ 0xffff,
- /* key: 0x78f1 */ 0xffff,
- /* key: 0x78f2 */ 0xd034,
- /* key: 0x78f3 */ 0xd035,
- /* key: 0x78f4 */ 0x6324,
- /* key: 0x78f5 */ 0xffff,
- /* key: 0x78f6 */ 0xd037,
- /* key: 0x78f7 */ 0xd038,
- /* key: 0x78f8 */ 0xffff,
- /* key: 0x78f9 */ 0xffff,
- /* key: 0x78fa */ 0xd039,
- /* key: 0x78fb */ 0xd03a,
- /* key: 0x78fc */ 0xffff,
- /* key: 0x78fd */ 0x6323,
- /* key: 0x78fe */ 0xffff,
- /* key: 0x78ff */ 0xd03b,
- /* branch: 0x790X */ 13328,
- /* branch: 0x791X */ 13344,
- /* branch: 0x792X */ 13360,
- /* branch: 0x793X */ 13376,
- /* branch: 0x794X */ 13392,
- /* branch: 0x795X */ 13408,
- /* branch: 0x796X */ 13424,
- /* branch: 0x797X */ 13440,
- /* branch: 0x798X */ 13456,
- /* branch: 0x799X */ 13472,
- /* branch: 0x79aX */ 13488,
- /* branch: 0x79bX */ 13504,
- /* branch: 0x79cX */ 13520,
- /* branch: 0x79dX */ 13536,
- /* branch: 0x79eX */ 13552,
- /* branch: 0x79fX */ 13568,
- /* key: 0x7900 */ 0xd036,
- /* key: 0x7901 */ 0x3e4c,
- /* key: 0x7902 */ 0xffff,
- /* key: 0x7903 */ 0xffff,
- /* key: 0x7904 */ 0xffff,
- /* key: 0x7905 */ 0xffff,
- /* key: 0x7906 */ 0xd03c,
- /* key: 0x7907 */ 0x6325,
- /* key: 0x7908 */ 0xffff,
- /* key: 0x7909 */ 0xffff,
- /* key: 0x790a */ 0xffff,
- /* key: 0x790b */ 0xffff,
- /* key: 0x790c */ 0xd03d,
- /* key: 0x790d */ 0xffff,
- /* key: 0x790e */ 0x4143,
- /* key: 0x790f */ 0xffff,
- /* key: 0x7910 */ 0xd03e,
- /* key: 0x7911 */ 0x6327,
- /* key: 0x7912 */ 0x6326,
- /* key: 0x7913 */ 0xffff,
- /* key: 0x7914 */ 0xffff,
- /* key: 0x7915 */ 0xffff,
- /* key: 0x7916 */ 0xffff,
- /* key: 0x7917 */ 0xffff,
- /* key: 0x7918 */ 0xffff,
- /* key: 0x7919 */ 0x6328,
- /* key: 0x791a */ 0xd03f,
- /* key: 0x791b */ 0xffff,
- /* key: 0x791c */ 0xd040,
- /* key: 0x791d */ 0xffff,
- /* key: 0x791e */ 0xd041,
- /* key: 0x791f */ 0xd042,
- /* key: 0x7920 */ 0xd043,
- /* key: 0x7921 */ 0xffff,
- /* key: 0x7922 */ 0xffff,
- /* key: 0x7923 */ 0xffff,
- /* key: 0x7924 */ 0xffff,
- /* key: 0x7925 */ 0xd044,
- /* key: 0x7926 */ 0x6268,
- /* key: 0x7927 */ 0xd045,
- /* key: 0x7928 */ 0xffff,
- /* key: 0x7929 */ 0xd046,
- /* key: 0x792a */ 0x626a,
- /* key: 0x792b */ 0x632a,
- /* key: 0x792c */ 0x6329,
- /* key: 0x792d */ 0xd047,
- /* key: 0x792e */ 0xffff,
- /* key: 0x792f */ 0xffff,
- /* key: 0x7930 */ 0xffff,
- /* key: 0x7931 */ 0xd048,
- /* key: 0x7932 */ 0xffff,
- /* key: 0x7933 */ 0xffff,
- /* key: 0x7934 */ 0xd049,
- /* key: 0x7935 */ 0xd04a,
- /* key: 0x7936 */ 0xffff,
- /* key: 0x7937 */ 0xffff,
- /* key: 0x7938 */ 0xffff,
- /* key: 0x7939 */ 0xffff,
- /* key: 0x793a */ 0x3c28,
- /* key: 0x793b */ 0xd04b,
- /* key: 0x793c */ 0x4e69,
- /* key: 0x793d */ 0xd04c,
- /* key: 0x793e */ 0x3c52,
- /* key: 0x793f */ 0xd04d,
- /* key: 0x7940 */ 0x632b,
- /* key: 0x7941 */ 0x3737,
- /* key: 0x7942 */ 0xffff,
- /* key: 0x7943 */ 0xffff,
- /* key: 0x7944 */ 0xd04e,
- /* key: 0x7945 */ 0xd04f,
- /* key: 0x7946 */ 0xd050,
- /* key: 0x7947 */ 0x3540,
- /* key: 0x7948 */ 0x3527,
- /* key: 0x7949 */ 0x3b63,
- /* key: 0x794a */ 0xd051,
- /* key: 0x794b */ 0xd052,
- /* key: 0x794c */ 0xffff,
- /* key: 0x794d */ 0xffff,
- /* key: 0x794e */ 0xffff,
- /* key: 0x794f */ 0xd053,
- /* key: 0x7950 */ 0x4d34,
- /* key: 0x7951 */ 0xd054,
- /* key: 0x7952 */ 0xffff,
- /* key: 0x7953 */ 0x6331,
- /* key: 0x7954 */ 0xd055,
- /* key: 0x7955 */ 0x6330,
- /* key: 0x7956 */ 0x4144,
- /* key: 0x7957 */ 0x632d,
- /* key: 0x7958 */ 0xd056,
- /* key: 0x7959 */ 0xffff,
- /* key: 0x795a */ 0x632f,
- /* key: 0x795b */ 0xd057,
- /* key: 0x795c */ 0xd058,
- /* key: 0x795d */ 0x3d4b,
- /* key: 0x795e */ 0x3f40,
- /* key: 0x795f */ 0x632e,
- /* key: 0x7960 */ 0x632c,
- /* key: 0x7961 */ 0xffff,
- /* key: 0x7962 */ 0x472a,
- /* key: 0x7963 */ 0xffff,
- /* key: 0x7964 */ 0xffff,
- /* key: 0x7965 */ 0x3e4d,
- /* key: 0x7966 */ 0xffff,
- /* key: 0x7967 */ 0xd059,
- /* key: 0x7968 */ 0x493c,
- /* key: 0x7969 */ 0xd05a,
- /* key: 0x796a */ 0xffff,
- /* key: 0x796b */ 0xd05b,
- /* key: 0x796c */ 0xffff,
- /* key: 0x796d */ 0x3a57,
- /* key: 0x796e */ 0xffff,
- /* key: 0x796f */ 0xffff,
- /* key: 0x7970 */ 0xffff,
- /* key: 0x7971 */ 0xffff,
- /* key: 0x7972 */ 0xd05c,
- /* key: 0x7973 */ 0xffff,
- /* key: 0x7974 */ 0xffff,
- /* key: 0x7975 */ 0xffff,
- /* key: 0x7976 */ 0xffff,
- /* key: 0x7977 */ 0x4578,
- /* key: 0x7978 */ 0xffff,
- /* key: 0x7979 */ 0xd05d,
- /* key: 0x797a */ 0x6332,
- /* key: 0x797b */ 0xd05e,
- /* key: 0x797c */ 0xd05f,
- /* key: 0x797d */ 0xffff,
- /* key: 0x797e */ 0xd060,
- /* key: 0x797f */ 0x6333,
- /* key: 0x7980 */ 0x6349,
- /* key: 0x7981 */ 0x3658,
- /* key: 0x7982 */ 0xffff,
- /* key: 0x7983 */ 0xffff,
- /* key: 0x7984 */ 0x4f3d,
- /* key: 0x7985 */ 0x4135,
- /* key: 0x7986 */ 0xffff,
- /* key: 0x7987 */ 0xffff,
- /* key: 0x7988 */ 0xffff,
- /* key: 0x7989 */ 0xffff,
- /* key: 0x798a */ 0x6334,
- /* key: 0x798b */ 0xd061,
- /* key: 0x798c */ 0xd062,
- /* key: 0x798d */ 0x3252,
- /* key: 0x798e */ 0x4477,
- /* key: 0x798f */ 0x4a21,
- /* key: 0x7990 */ 0xffff,
- /* key: 0x7991 */ 0xd063,
- /* key: 0x7992 */ 0xffff,
- /* key: 0x7993 */ 0xd064,
- /* key: 0x7994 */ 0xd065,
- /* key: 0x7995 */ 0xd066,
- /* key: 0x7996 */ 0xd067,
- /* key: 0x7997 */ 0xffff,
- /* key: 0x7998 */ 0xd068,
- /* key: 0x7999 */ 0xffff,
- /* key: 0x799a */ 0xffff,
- /* key: 0x799b */ 0xd069,
- /* key: 0x799c */ 0xd06a,
- /* key: 0x799d */ 0x6335,
- /* key: 0x799e */ 0xffff,
- /* key: 0x799f */ 0xffff,
- /* key: 0x79a0 */ 0xffff,
- /* key: 0x79a1 */ 0xd06b,
- /* key: 0x79a2 */ 0xffff,
- /* key: 0x79a3 */ 0xffff,
- /* key: 0x79a4 */ 0xffff,
- /* key: 0x79a5 */ 0xffff,
- /* key: 0x79a6 */ 0x357a,
- /* key: 0x79a7 */ 0x6336,
- /* key: 0x79a8 */ 0xd06c,
- /* key: 0x79a9 */ 0xd06d,
- /* key: 0x79aa */ 0x6338,
- /* key: 0x79ab */ 0xd06e,
- /* key: 0x79ac */ 0xffff,
- /* key: 0x79ad */ 0xffff,
- /* key: 0x79ae */ 0x6339,
- /* key: 0x79af */ 0xd06f,
- /* key: 0x79b0 */ 0x4729,
- /* key: 0x79b1 */ 0xd070,
- /* key: 0x79b2 */ 0xffff,
- /* key: 0x79b3 */ 0x633a,
- /* key: 0x79b4 */ 0xd071,
- /* key: 0x79b5 */ 0xffff,
- /* key: 0x79b6 */ 0xffff,
- /* key: 0x79b7 */ 0xffff,
- /* key: 0x79b8 */ 0xd072,
- /* key: 0x79b9 */ 0x633b,
- /* key: 0x79ba */ 0x633c,
- /* key: 0x79bb */ 0xd073,
- /* key: 0x79bc */ 0xffff,
- /* key: 0x79bd */ 0x3659,
- /* key: 0x79be */ 0x3253,
- /* key: 0x79bf */ 0x4645,
- /* key: 0x79c0 */ 0x3d28,
- /* key: 0x79c1 */ 0x3b64,
- /* key: 0x79c2 */ 0xd074,
- /* key: 0x79c3 */ 0xffff,
- /* key: 0x79c4 */ 0xd075,
- /* key: 0x79c5 */ 0xffff,
- /* key: 0x79c6 */ 0xffff,
- /* key: 0x79c7 */ 0xd076,
- /* key: 0x79c8 */ 0xd077,
- /* key: 0x79c9 */ 0x633d,
- /* key: 0x79ca */ 0xd078,
- /* key: 0x79cb */ 0x3d29,
- /* key: 0x79cc */ 0xffff,
- /* key: 0x79cd */ 0xffff,
- /* key: 0x79ce */ 0xffff,
- /* key: 0x79cf */ 0xd079,
- /* key: 0x79d0 */ 0xffff,
- /* key: 0x79d1 */ 0x324a,
- /* key: 0x79d2 */ 0x4943,
- /* key: 0x79d3 */ 0xffff,
- /* key: 0x79d4 */ 0xd07a,
- /* key: 0x79d5 */ 0x633e,
- /* key: 0x79d6 */ 0xd07b,
- /* key: 0x79d7 */ 0xffff,
- /* key: 0x79d8 */ 0x486b,
- /* key: 0x79d9 */ 0xffff,
- /* key: 0x79da */ 0xd07c,
- /* key: 0x79db */ 0xffff,
- /* key: 0x79dc */ 0xffff,
- /* key: 0x79dd */ 0xd07d,
- /* key: 0x79de */ 0xd07e,
- /* key: 0x79df */ 0x4145,
- /* key: 0x79e0 */ 0xd121,
- /* key: 0x79e1 */ 0x6341,
- /* key: 0x79e2 */ 0xd122,
- /* key: 0x79e3 */ 0x6342,
- /* key: 0x79e4 */ 0x4769,
- /* key: 0x79e5 */ 0xd123,
- /* key: 0x79e6 */ 0x3f41,
- /* key: 0x79e7 */ 0x633f,
- /* key: 0x79e8 */ 0xffff,
- /* key: 0x79e9 */ 0x4361,
- /* key: 0x79ea */ 0xd124,
- /* key: 0x79eb */ 0xd125,
- /* key: 0x79ec */ 0x6340,
- /* key: 0x79ed */ 0xd126,
- /* key: 0x79ee */ 0xffff,
- /* key: 0x79ef */ 0xffff,
- /* key: 0x79f0 */ 0x3e4e,
- /* key: 0x79f1 */ 0xd127,
- /* key: 0x79f2 */ 0xffff,
- /* key: 0x79f3 */ 0xffff,
- /* key: 0x79f4 */ 0xffff,
- /* key: 0x79f5 */ 0xffff,
- /* key: 0x79f6 */ 0xffff,
- /* key: 0x79f7 */ 0xffff,
- /* key: 0x79f8 */ 0xd128,
- /* key: 0x79f9 */ 0xffff,
- /* key: 0x79fa */ 0xffff,
- /* key: 0x79fb */ 0x305c,
- /* key: 0x79fc */ 0xd129,
- /* key: 0x79fd */ 0xffff,
- /* key: 0x79fe */ 0xffff,
- /* key: 0x79ff */ 0xffff,
- /* branch: 0x7a0X */ 13600,
- /* branch: 0x7a1X */ 13616,
- /* branch: 0x7a2X */ 13632,
- /* branch: 0x7a3X */ 13648,
- /* branch: 0x7a4X */ 13664,
- /* branch: 0x7a5X */ 13680,
- /* branch: 0x7a6X */ 13696,
- /* branch: 0x7a7X */ 13712,
- /* branch: 0x7a8X */ 13728,
- /* branch: 0x7a9X */ 13744,
- /* branch: 0x7aaX */ 13760,
- /* branch: 0x7abX */ 13776,
- /* branch: 0x7acX */ 13792,
- /* branch: 0x7adX */ 13808,
- /* branch: 0x7aeX */ 13824,
- /* branch: 0x7afX */ 13840,
- /* key: 0x7a00 */ 0x3529,
- /* key: 0x7a01 */ 0xffff,
- /* key: 0x7a02 */ 0xd12a,
- /* key: 0x7a03 */ 0xd12b,
- /* key: 0x7a04 */ 0xffff,
- /* key: 0x7a05 */ 0xffff,
- /* key: 0x7a06 */ 0xffff,
- /* key: 0x7a07 */ 0xd12c,
- /* key: 0x7a08 */ 0x6343,
- /* key: 0x7a09 */ 0xd12d,
- /* key: 0x7a0a */ 0xd12e,
- /* key: 0x7a0b */ 0x4478,
- /* key: 0x7a0c */ 0xd12f,
- /* key: 0x7a0d */ 0x6344,
- /* key: 0x7a0e */ 0x4047,
- /* key: 0x7a0f */ 0xffff,
- /* key: 0x7a10 */ 0xffff,
- /* key: 0x7a11 */ 0xd130,
- /* key: 0x7a12 */ 0xffff,
- /* key: 0x7a13 */ 0xffff,
- /* key: 0x7a14 */ 0x4c2d,
- /* key: 0x7a15 */ 0xd131,
- /* key: 0x7a16 */ 0xffff,
- /* key: 0x7a17 */ 0x4923,
- /* key: 0x7a18 */ 0x6345,
- /* key: 0x7a19 */ 0x6346,
- /* key: 0x7a1a */ 0x4355,
- /* key: 0x7a1b */ 0xd132,
- /* key: 0x7a1c */ 0x4e47,
- /* key: 0x7a1d */ 0xffff,
- /* key: 0x7a1e */ 0xd133,
- /* key: 0x7a1f */ 0x6348,
- /* key: 0x7a20 */ 0x6347,
- /* key: 0x7a21 */ 0xd134,
- /* key: 0x7a22 */ 0xffff,
- /* key: 0x7a23 */ 0xffff,
- /* key: 0x7a24 */ 0xffff,
- /* key: 0x7a25 */ 0xffff,
- /* key: 0x7a26 */ 0xffff,
- /* key: 0x7a27 */ 0xd135,
- /* key: 0x7a28 */ 0xffff,
- /* key: 0x7a29 */ 0xffff,
- /* key: 0x7a2a */ 0xffff,
- /* key: 0x7a2b */ 0xd136,
- /* key: 0x7a2c */ 0xffff,
- /* key: 0x7a2d */ 0xd137,
- /* key: 0x7a2e */ 0x3c6f,
- /* key: 0x7a2f */ 0xd138,
- /* key: 0x7a30 */ 0xd139,
- /* key: 0x7a31 */ 0x634a,
- /* key: 0x7a32 */ 0x3070,
- /* key: 0x7a33 */ 0xffff,
- /* key: 0x7a34 */ 0xd13a,
- /* key: 0x7a35 */ 0xd13b,
- /* key: 0x7a36 */ 0xffff,
- /* key: 0x7a37 */ 0x634d,
- /* key: 0x7a38 */ 0xd13c,
- /* key: 0x7a39 */ 0xd13d,
- /* key: 0x7a3a */ 0xd13e,
- /* key: 0x7a3b */ 0x634b,
- /* key: 0x7a3c */ 0x3254,
- /* key: 0x7a3d */ 0x374e,
- /* key: 0x7a3e */ 0x634c,
- /* key: 0x7a3f */ 0x3946,
- /* key: 0x7a40 */ 0x3972,
- /* key: 0x7a41 */ 0xffff,
- /* key: 0x7a42 */ 0x4a66,
- /* key: 0x7a43 */ 0x634e,
- /* key: 0x7a44 */ 0xd13f,
- /* key: 0x7a45 */ 0xd140,
- /* key: 0x7a46 */ 0x4b54,
- /* key: 0x7a47 */ 0xd141,
- /* key: 0x7a48 */ 0xd142,
- /* key: 0x7a49 */ 0x6350,
- /* key: 0x7a4a */ 0xffff,
- /* key: 0x7a4b */ 0xffff,
- /* key: 0x7a4c */ 0xd143,
- /* key: 0x7a4d */ 0x4051,
- /* key: 0x7a4e */ 0x314f,
- /* key: 0x7a4f */ 0x323a,
- /* key: 0x7a50 */ 0x302c,
- /* key: 0x7a51 */ 0xffff,
- /* key: 0x7a52 */ 0xffff,
- /* key: 0x7a53 */ 0xffff,
- /* key: 0x7a54 */ 0xffff,
- /* key: 0x7a55 */ 0xd144,
- /* key: 0x7a56 */ 0xd145,
- /* key: 0x7a57 */ 0x634f,
- /* key: 0x7a58 */ 0xffff,
- /* key: 0x7a59 */ 0xd146,
- /* key: 0x7a5a */ 0xffff,
- /* key: 0x7a5b */ 0xffff,
- /* key: 0x7a5c */ 0xd147,
- /* key: 0x7a5d */ 0xd148,
- /* key: 0x7a5e */ 0xffff,
- /* key: 0x7a5f */ 0xd149,
- /* key: 0x7a60 */ 0xd14a,
- /* key: 0x7a61 */ 0x6351,
- /* key: 0x7a62 */ 0x6352,
- /* key: 0x7a63 */ 0x3e77,
- /* key: 0x7a64 */ 0xffff,
- /* key: 0x7a65 */ 0xd14b,
- /* key: 0x7a66 */ 0xffff,
- /* key: 0x7a67 */ 0xd14c,
- /* key: 0x7a68 */ 0xffff,
- /* key: 0x7a69 */ 0x6353,
- /* key: 0x7a6a */ 0xd14d,
- /* key: 0x7a6b */ 0x334f,
- /* key: 0x7a6c */ 0xffff,
- /* key: 0x7a6d */ 0xd14e,
- /* key: 0x7a6e */ 0xffff,
- /* key: 0x7a6f */ 0xffff,
- /* key: 0x7a70 */ 0x6355,
- /* key: 0x7a71 */ 0xffff,
- /* key: 0x7a72 */ 0xffff,
- /* key: 0x7a73 */ 0xffff,
- /* key: 0x7a74 */ 0x376a,
- /* key: 0x7a75 */ 0xd14f,
- /* key: 0x7a76 */ 0x3566,
- /* key: 0x7a77 */ 0xffff,
- /* key: 0x7a78 */ 0xd150,
- /* key: 0x7a79 */ 0x6356,
- /* key: 0x7a7a */ 0x3675,
- /* key: 0x7a7b */ 0xffff,
- /* key: 0x7a7c */ 0xffff,
- /* key: 0x7a7d */ 0x6357,
- /* key: 0x7a7e */ 0xd151,
- /* key: 0x7a7f */ 0x407c,
- /* key: 0x7a80 */ 0xd152,
- /* key: 0x7a81 */ 0x464d,
- /* key: 0x7a82 */ 0xd153,
- /* key: 0x7a83 */ 0x4060,
- /* key: 0x7a84 */ 0x3a75,
- /* key: 0x7a85 */ 0xd154,
- /* key: 0x7a86 */ 0xd155,
- /* key: 0x7a87 */ 0xffff,
- /* key: 0x7a88 */ 0x6358,
- /* key: 0x7a89 */ 0xffff,
- /* key: 0x7a8a */ 0xd156,
- /* key: 0x7a8b */ 0xd157,
- /* key: 0x7a8c */ 0xffff,
- /* key: 0x7a8d */ 0xffff,
- /* key: 0x7a8e */ 0xffff,
- /* key: 0x7a8f */ 0xffff,
- /* key: 0x7a90 */ 0xd158,
- /* key: 0x7a91 */ 0xd159,
- /* key: 0x7a92 */ 0x4362,
- /* key: 0x7a93 */ 0x416b,
- /* key: 0x7a94 */ 0xd15a,
- /* key: 0x7a95 */ 0x635a,
- /* key: 0x7a96 */ 0x635c,
- /* key: 0x7a97 */ 0x6359,
- /* key: 0x7a98 */ 0x635b,
- /* key: 0x7a99 */ 0xffff,
- /* key: 0x7a9a */ 0xffff,
- /* key: 0x7a9b */ 0xffff,
- /* key: 0x7a9c */ 0xffff,
- /* key: 0x7a9d */ 0xffff,
- /* key: 0x7a9e */ 0xd15b,
- /* key: 0x7a9f */ 0x3722,
- /* key: 0x7aa0 */ 0xd15c,
- /* key: 0x7aa1 */ 0xffff,
- /* key: 0x7aa2 */ 0xffff,
- /* key: 0x7aa3 */ 0xd15d,
- /* key: 0x7aa4 */ 0xffff,
- /* key: 0x7aa5 */ 0xffff,
- /* key: 0x7aa6 */ 0xffff,
- /* key: 0x7aa7 */ 0xffff,
- /* key: 0x7aa8 */ 0xffff,
- /* key: 0x7aa9 */ 0x635d,
- /* key: 0x7aaa */ 0x3726,
- /* key: 0x7aab */ 0xffff,
- /* key: 0x7aac */ 0xd15e,
- /* key: 0x7aad */ 0xffff,
- /* key: 0x7aae */ 0x3567,
- /* key: 0x7aaf */ 0x4d52,
- /* key: 0x7ab0 */ 0x635f,
- /* key: 0x7ab1 */ 0xffff,
- /* key: 0x7ab2 */ 0xffff,
- /* key: 0x7ab3 */ 0xd15f,
- /* key: 0x7ab4 */ 0xffff,
- /* key: 0x7ab5 */ 0xd160,
- /* key: 0x7ab6 */ 0x6360,
- /* key: 0x7ab7 */ 0xffff,
- /* key: 0x7ab8 */ 0xffff,
- /* key: 0x7ab9 */ 0xd161,
- /* key: 0x7aba */ 0x312e,
- /* key: 0x7abb */ 0xd162,
- /* key: 0x7abc */ 0xd163,
- /* key: 0x7abd */ 0xffff,
- /* key: 0x7abe */ 0xffff,
- /* key: 0x7abf */ 0x6363,
- /* key: 0x7ac0 */ 0xffff,
- /* key: 0x7ac1 */ 0xffff,
- /* key: 0x7ac2 */ 0xffff,
- /* key: 0x7ac3 */ 0x3376,
- /* key: 0x7ac4 */ 0x6362,
- /* key: 0x7ac5 */ 0x6361,
- /* key: 0x7ac6 */ 0xd164,
- /* key: 0x7ac7 */ 0x6365,
- /* key: 0x7ac8 */ 0x635e,
- /* key: 0x7ac9 */ 0xd165,
- /* key: 0x7aca */ 0x6366,
- /* key: 0x7acb */ 0x4e29,
- /* key: 0x7acc */ 0xd166,
- /* key: 0x7acd */ 0x6367,
- /* key: 0x7ace */ 0xd167,
- /* key: 0x7acf */ 0x6368,
- /* key: 0x7ad0 */ 0xffff,
- /* key: 0x7ad1 */ 0xd168,
- /* key: 0x7ad2 */ 0x5474,
- /* key: 0x7ad3 */ 0x636a,
- /* key: 0x7ad4 */ 0xffff,
- /* key: 0x7ad5 */ 0x6369,
- /* key: 0x7ad6 */ 0xffff,
- /* key: 0x7ad7 */ 0xffff,
- /* key: 0x7ad8 */ 0xffff,
- /* key: 0x7ad9 */ 0x636b,
- /* key: 0x7ada */ 0x636c,
- /* key: 0x7adb */ 0xd169,
- /* key: 0x7adc */ 0x4e35,
- /* key: 0x7add */ 0x636d,
- /* key: 0x7ade */ 0xffff,
- /* key: 0x7adf */ 0x706f,
- /* key: 0x7ae0 */ 0x3e4f,
- /* key: 0x7ae1 */ 0x636e,
- /* key: 0x7ae2 */ 0x636f,
- /* key: 0x7ae3 */ 0x3d57,
- /* key: 0x7ae4 */ 0xffff,
- /* key: 0x7ae5 */ 0x4638,
- /* key: 0x7ae6 */ 0x6370,
- /* key: 0x7ae7 */ 0xffff,
- /* key: 0x7ae8 */ 0xd16a,
- /* key: 0x7ae9 */ 0xd16b,
- /* key: 0x7aea */ 0x4328,
- /* key: 0x7aeb */ 0xd16c,
- /* key: 0x7aec */ 0xd16d,
- /* key: 0x7aed */ 0x6371,
- /* key: 0x7aee */ 0xffff,
- /* key: 0x7aef */ 0x433c,
- /* key: 0x7af0 */ 0x6372,
- /* key: 0x7af1 */ 0xd16e,
- /* key: 0x7af2 */ 0xffff,
- /* key: 0x7af3 */ 0xffff,
- /* key: 0x7af4 */ 0xd16f,
- /* key: 0x7af5 */ 0xffff,
- /* key: 0x7af6 */ 0x3625,
- /* key: 0x7af7 */ 0xffff,
- /* key: 0x7af8 */ 0x513f,
- /* key: 0x7af9 */ 0x435d,
- /* key: 0x7afa */ 0x3c33,
- /* key: 0x7afb */ 0xd170,
- /* key: 0x7afc */ 0xffff,
- /* key: 0x7afd */ 0xd171,
- /* key: 0x7afe */ 0xd172,
- /* key: 0x7aff */ 0x3448,
- /* branch: 0x7b0X */ 13872,
- /* branch: 0x7b1X */ 13888,
- /* branch: 0x7b2X */ 13904,
- /* branch: 0x7b3X */ 13920,
- /* branch: 0x7b4X */ 13936,
- /* branch: 0x7b5X */ 13952,
- /* branch: 0x7b6X */ 13968,
- /* branch: 0x7b7X */ 13984,
- /* branch: 0x7b8X */ 14000,
- /* branch: 0x7b9X */ 14016,
- /* branch: 0x7baX */ 14032,
- /* branch: 0x7bbX */ 14048,
- /* branch: 0x7bcX */ 14064,
- /* branch: 0x7bdX */ 14080,
- /* branch: 0x7beX */ 14096,
- /* branch: 0x7bfX */ 14112,
- /* key: 0x7b00 */ 0xffff,
- /* key: 0x7b01 */ 0xffff,
- /* key: 0x7b02 */ 0x6373,
- /* key: 0x7b03 */ 0xffff,
- /* key: 0x7b04 */ 0x6422,
- /* key: 0x7b05 */ 0xffff,
- /* key: 0x7b06 */ 0x6376,
- /* key: 0x7b07 */ 0xd173,
- /* key: 0x7b08 */ 0x3568,
- /* key: 0x7b09 */ 0xffff,
- /* key: 0x7b0a */ 0x6375,
- /* key: 0x7b0b */ 0x6424,
- /* key: 0x7b0c */ 0xffff,
- /* key: 0x7b0d */ 0xffff,
- /* key: 0x7b0e */ 0xffff,
- /* key: 0x7b0f */ 0x6374,
- /* key: 0x7b10 */ 0xffff,
- /* key: 0x7b11 */ 0x3e50,
- /* key: 0x7b12 */ 0xffff,
- /* key: 0x7b13 */ 0xffff,
- /* key: 0x7b14 */ 0xd174,
- /* key: 0x7b15 */ 0xffff,
- /* key: 0x7b16 */ 0xffff,
- /* key: 0x7b17 */ 0xffff,
- /* key: 0x7b18 */ 0x6378,
- /* key: 0x7b19 */ 0x6379,
- /* key: 0x7b1a */ 0xffff,
- /* key: 0x7b1b */ 0x452b,
- /* key: 0x7b1c */ 0xffff,
- /* key: 0x7b1d */ 0xffff,
- /* key: 0x7b1e */ 0x637a,
- /* key: 0x7b1f */ 0xd175,
- /* key: 0x7b20 */ 0x335e,
- /* key: 0x7b21 */ 0xffff,
- /* key: 0x7b22 */ 0xffff,
- /* key: 0x7b23 */ 0xd176,
- /* key: 0x7b24 */ 0xffff,
- /* key: 0x7b25 */ 0x3f5a,
- /* key: 0x7b26 */ 0x4964,
- /* key: 0x7b27 */ 0xd177,
- /* key: 0x7b28 */ 0x637c,
- /* key: 0x7b29 */ 0xd178,
- /* key: 0x7b2a */ 0xd179,
- /* key: 0x7b2b */ 0xd17a,
- /* key: 0x7b2c */ 0x4268,
- /* key: 0x7b2d */ 0xd17b,
- /* key: 0x7b2e */ 0xd17c,
- /* key: 0x7b2f */ 0xd17d,
- /* key: 0x7b30 */ 0xd17e,
- /* key: 0x7b31 */ 0xd221,
- /* key: 0x7b32 */ 0xffff,
- /* key: 0x7b33 */ 0x6377,
- /* key: 0x7b34 */ 0xd222,
- /* key: 0x7b35 */ 0x637b,
- /* key: 0x7b36 */ 0x637d,
- /* key: 0x7b37 */ 0xffff,
- /* key: 0x7b38 */ 0xffff,
- /* key: 0x7b39 */ 0x3a7b,
- /* key: 0x7b3a */ 0xffff,
- /* key: 0x7b3b */ 0xffff,
- /* key: 0x7b3c */ 0xffff,
- /* key: 0x7b3d */ 0xd223,
- /* key: 0x7b3e */ 0xffff,
- /* key: 0x7b3f */ 0xd224,
- /* key: 0x7b40 */ 0xd225,
- /* key: 0x7b41 */ 0xd226,
- /* key: 0x7b42 */ 0xffff,
- /* key: 0x7b43 */ 0xffff,
- /* key: 0x7b44 */ 0xffff,
- /* key: 0x7b45 */ 0x6426,
- /* key: 0x7b46 */ 0x492e,
- /* key: 0x7b47 */ 0xd227,
- /* key: 0x7b48 */ 0x4826,
- /* key: 0x7b49 */ 0x4579,
- /* key: 0x7b4a */ 0xffff,
- /* key: 0x7b4b */ 0x365a,
- /* key: 0x7b4c */ 0x6425,
- /* key: 0x7b4d */ 0x6423,
- /* key: 0x7b4e */ 0xd228,
- /* key: 0x7b4f */ 0x4835,
- /* key: 0x7b50 */ 0x637e,
- /* key: 0x7b51 */ 0x435e,
- /* key: 0x7b52 */ 0x457b,
- /* key: 0x7b53 */ 0xffff,
- /* key: 0x7b54 */ 0x457a,
- /* key: 0x7b55 */ 0xd229,
- /* key: 0x7b56 */ 0x3a76,
- /* key: 0x7b57 */ 0xffff,
- /* key: 0x7b58 */ 0xffff,
- /* key: 0x7b59 */ 0xffff,
- /* key: 0x7b5a */ 0xffff,
- /* key: 0x7b5b */ 0xffff,
- /* key: 0x7b5c */ 0xffff,
- /* key: 0x7b5d */ 0x6438,
- /* key: 0x7b5e */ 0xffff,
- /* key: 0x7b5f */ 0xffff,
- /* key: 0x7b60 */ 0xd22a,
- /* key: 0x7b61 */ 0xffff,
- /* key: 0x7b62 */ 0xffff,
- /* key: 0x7b63 */ 0xffff,
- /* key: 0x7b64 */ 0xd22b,
- /* key: 0x7b65 */ 0x6428,
- /* key: 0x7b66 */ 0xd22c,
- /* key: 0x7b67 */ 0x642a,
- /* key: 0x7b68 */ 0xffff,
- /* key: 0x7b69 */ 0xd22d,
- /* key: 0x7b6a */ 0xd22e,
- /* key: 0x7b6b */ 0xffff,
- /* key: 0x7b6c */ 0x642d,
- /* key: 0x7b6d */ 0xd22f,
- /* key: 0x7b6e */ 0x642e,
- /* key: 0x7b6f */ 0xd230,
- /* key: 0x7b70 */ 0x642b,
- /* key: 0x7b71 */ 0x642c,
- /* key: 0x7b72 */ 0xd231,
- /* key: 0x7b73 */ 0xd232,
- /* key: 0x7b74 */ 0x6429,
- /* key: 0x7b75 */ 0x6427,
- /* key: 0x7b76 */ 0xffff,
- /* key: 0x7b77 */ 0xd233,
- /* key: 0x7b78 */ 0xffff,
- /* key: 0x7b79 */ 0xffff,
- /* key: 0x7b7a */ 0x6421,
- /* key: 0x7b7b */ 0xffff,
- /* key: 0x7b7c */ 0xffff,
- /* key: 0x7b7d */ 0xffff,
- /* key: 0x7b7e */ 0xffff,
- /* key: 0x7b7f */ 0xffff,
- /* key: 0x7b80 */ 0xffff,
- /* key: 0x7b81 */ 0xffff,
- /* key: 0x7b82 */ 0xffff,
- /* key: 0x7b83 */ 0xffff,
- /* key: 0x7b84 */ 0xd234,
- /* key: 0x7b85 */ 0xffff,
- /* key: 0x7b86 */ 0x4a4f,
- /* key: 0x7b87 */ 0x3255,
- /* key: 0x7b88 */ 0xffff,
- /* key: 0x7b89 */ 0xd235,
- /* key: 0x7b8a */ 0xffff,
- /* key: 0x7b8b */ 0x6435,
- /* key: 0x7b8c */ 0xffff,
- /* key: 0x7b8d */ 0x6432,
- /* key: 0x7b8e */ 0xd236,
- /* key: 0x7b8f */ 0x6437,
- /* key: 0x7b90 */ 0xd237,
- /* key: 0x7b91 */ 0xd238,
- /* key: 0x7b92 */ 0x6436,
- /* key: 0x7b93 */ 0xffff,
- /* key: 0x7b94 */ 0x4773,
- /* key: 0x7b95 */ 0x4c27,
- /* key: 0x7b96 */ 0xd239,
- /* key: 0x7b97 */ 0x3b3b,
- /* key: 0x7b98 */ 0x6430,
- /* key: 0x7b99 */ 0x6439,
- /* key: 0x7b9a */ 0x6434,
- /* key: 0x7b9b */ 0xd23a,
- /* key: 0x7b9c */ 0x6433,
- /* key: 0x7b9d */ 0x642f,
- /* key: 0x7b9e */ 0xd23b,
- /* key: 0x7b9f */ 0x6431,
- /* key: 0x7ba0 */ 0xd23c,
- /* key: 0x7ba1 */ 0x3449,
- /* key: 0x7ba2 */ 0xffff,
- /* key: 0x7ba3 */ 0xffff,
- /* key: 0x7ba4 */ 0xffff,
- /* key: 0x7ba5 */ 0xd23d,
- /* key: 0x7ba6 */ 0xffff,
- /* key: 0x7ba7 */ 0xffff,
- /* key: 0x7ba8 */ 0xffff,
- /* key: 0x7ba9 */ 0xffff,
- /* key: 0x7baa */ 0x433d,
- /* key: 0x7bab */ 0xffff,
- /* key: 0x7bac */ 0xd23e,
- /* key: 0x7bad */ 0x407d,
- /* key: 0x7bae */ 0xffff,
- /* key: 0x7baf */ 0xd23f,
- /* key: 0x7bb0 */ 0xd240,
- /* key: 0x7bb1 */ 0x4822,
- /* key: 0x7bb2 */ 0xd241,
- /* key: 0x7bb3 */ 0xffff,
- /* key: 0x7bb4 */ 0x643e,
- /* key: 0x7bb5 */ 0xd242,
- /* key: 0x7bb6 */ 0xd243,
- /* key: 0x7bb7 */ 0xffff,
- /* key: 0x7bb8 */ 0x4824,
- /* key: 0x7bb9 */ 0xffff,
- /* key: 0x7bba */ 0xd244,
- /* key: 0x7bbb */ 0xd245,
- /* key: 0x7bbc */ 0xd246,
- /* key: 0x7bbd */ 0xd247,
- /* key: 0x7bbe */ 0xffff,
- /* key: 0x7bbf */ 0xffff,
- /* key: 0x7bc0 */ 0x4061,
- /* key: 0x7bc1 */ 0x643b,
- /* key: 0x7bc2 */ 0xd248,
- /* key: 0x7bc3 */ 0xffff,
- /* key: 0x7bc4 */ 0x484f,
- /* key: 0x7bc5 */ 0xd249,
- /* key: 0x7bc6 */ 0x643f,
- /* key: 0x7bc7 */ 0x4a53,
- /* key: 0x7bc8 */ 0xd24a,
- /* key: 0x7bc9 */ 0x435b,
- /* key: 0x7bca */ 0xd24b,
- /* key: 0x7bcb */ 0x643a,
- /* key: 0x7bcc */ 0x643c,
- /* key: 0x7bcd */ 0xffff,
- /* key: 0x7bce */ 0xffff,
- /* key: 0x7bcf */ 0x643d,
- /* key: 0x7bd0 */ 0xffff,
- /* key: 0x7bd1 */ 0xffff,
- /* key: 0x7bd2 */ 0xffff,
- /* key: 0x7bd3 */ 0xffff,
- /* key: 0x7bd4 */ 0xd24c,
- /* key: 0x7bd5 */ 0xffff,
- /* key: 0x7bd6 */ 0xd24d,
- /* key: 0x7bd7 */ 0xd24e,
- /* key: 0x7bd8 */ 0xffff,
- /* key: 0x7bd9 */ 0xd24f,
- /* key: 0x7bda */ 0xd250,
- /* key: 0x7bdb */ 0xd251,
- /* key: 0x7bdc */ 0xffff,
- /* key: 0x7bdd */ 0x6440,
- /* key: 0x7bde */ 0xffff,
- /* key: 0x7bdf */ 0xffff,
- /* key: 0x7be0 */ 0x3c44,
- /* key: 0x7be1 */ 0xffff,
- /* key: 0x7be2 */ 0xffff,
- /* key: 0x7be3 */ 0xffff,
- /* key: 0x7be4 */ 0x4646,
- /* key: 0x7be5 */ 0x6445,
- /* key: 0x7be6 */ 0x6444,
- /* key: 0x7be7 */ 0xffff,
- /* key: 0x7be8 */ 0xd252,
- /* key: 0x7be9 */ 0x6441,
- /* key: 0x7bea */ 0xd253,
- /* key: 0x7beb */ 0xffff,
- /* key: 0x7bec */ 0xffff,
- /* key: 0x7bed */ 0x4f36,
- /* key: 0x7bee */ 0xffff,
- /* key: 0x7bef */ 0xffff,
- /* key: 0x7bf0 */ 0xffff,
- /* key: 0x7bf1 */ 0xffff,
- /* key: 0x7bf2 */ 0xd254,
- /* key: 0x7bf3 */ 0x644a,
- /* key: 0x7bf4 */ 0xd255,
- /* key: 0x7bf5 */ 0xd256,
- /* key: 0x7bf6 */ 0x644e,
- /* key: 0x7bf7 */ 0x644b,
- /* key: 0x7bf8 */ 0xd257,
- /* key: 0x7bf9 */ 0xd258,
- /* key: 0x7bfa */ 0xd259,
- /* key: 0x7bfb */ 0xffff,
- /* key: 0x7bfc */ 0xd25a,
- /* key: 0x7bfd */ 0xffff,
- /* key: 0x7bfe */ 0xd25b,
- /* key: 0x7bff */ 0xffff,
- /* branch: 0x7c0X */ 14144,
- /* branch: 0x7c1X */ 14160,
- /* branch: 0x7c2X */ 14176,
- /* branch: 0x7c3X */ 14192,
- /* branch: 0x7c4X */ 14208,
- /* branch: 0x7c5X */ 14224,
- /* branch: 0x7c6X */ 14240,
- /* branch: 0x7c7X */ 14256,
- /* branch: 0x7c8X */ 14272,
- /* branch: 0x7c9X */ 14288,
- /* branch: 0x7caX */ 14304,
- /* branch: 0x7cbX */ 14320,
- /* branch: 0x7ccX */ 14336,
- /* branch: 0x7cdX */ 14352,
- /* branch: 0x7ceX */ 14368,
- /* branch: 0x7cfX */ 14384,
- /* key: 0x7c00 */ 0x6447,
- /* key: 0x7c01 */ 0xd25c,
- /* key: 0x7c02 */ 0xd25d,
- /* key: 0x7c03 */ 0xd25e,
- /* key: 0x7c04 */ 0xd25f,
- /* key: 0x7c05 */ 0xffff,
- /* key: 0x7c06 */ 0xd260,
- /* key: 0x7c07 */ 0x6448,
- /* key: 0x7c08 */ 0xffff,
- /* key: 0x7c09 */ 0xd261,
- /* key: 0x7c0a */ 0xffff,
- /* key: 0x7c0b */ 0xd262,
- /* key: 0x7c0c */ 0xd263,
- /* key: 0x7c0d */ 0x644d,
- /* key: 0x7c0e */ 0xd264,
- /* key: 0x7c0f */ 0xd265,
- /* key: 0x7c10 */ 0xffff,
- /* key: 0x7c11 */ 0x6442,
- /* key: 0x7c12 */ 0x5255,
- /* key: 0x7c13 */ 0x6449,
- /* key: 0x7c14 */ 0x6443,
- /* key: 0x7c15 */ 0xffff,
- /* key: 0x7c16 */ 0xffff,
- /* key: 0x7c17 */ 0x644c,
- /* key: 0x7c18 */ 0xffff,
- /* key: 0x7c19 */ 0xd266,
- /* key: 0x7c1a */ 0xffff,
- /* key: 0x7c1b */ 0xd267,
- /* key: 0x7c1c */ 0xffff,
- /* key: 0x7c1d */ 0xffff,
- /* key: 0x7c1e */ 0xffff,
- /* key: 0x7c1f */ 0x6452,
- /* key: 0x7c20 */ 0xd268,
- /* key: 0x7c21 */ 0x344a,
- /* key: 0x7c22 */ 0xffff,
- /* key: 0x7c23 */ 0x644f,
- /* key: 0x7c24 */ 0xffff,
- /* key: 0x7c25 */ 0xd269,
- /* key: 0x7c26 */ 0xd26a,
- /* key: 0x7c27 */ 0x6450,
- /* key: 0x7c28 */ 0xd26b,
- /* key: 0x7c29 */ 0xffff,
- /* key: 0x7c2a */ 0x6451,
- /* key: 0x7c2b */ 0x6454,
- /* key: 0x7c2c */ 0xd26c,
- /* key: 0x7c2d */ 0xffff,
- /* key: 0x7c2e */ 0xffff,
- /* key: 0x7c2f */ 0xffff,
- /* key: 0x7c30 */ 0xffff,
- /* key: 0x7c31 */ 0xd26d,
- /* key: 0x7c32 */ 0xffff,
- /* key: 0x7c33 */ 0xd26e,
- /* key: 0x7c34 */ 0xd26f,
- /* key: 0x7c35 */ 0xffff,
- /* key: 0x7c36 */ 0xd270,
- /* key: 0x7c37 */ 0x6453,
- /* key: 0x7c38 */ 0x4876,
- /* key: 0x7c39 */ 0xd271,
- /* key: 0x7c3a */ 0xd272,
- /* key: 0x7c3b */ 0xffff,
- /* key: 0x7c3c */ 0xffff,
- /* key: 0x7c3d */ 0x6455,
- /* key: 0x7c3e */ 0x4e7c,
- /* key: 0x7c3f */ 0x4a6d,
- /* key: 0x7c40 */ 0x645a,
- /* key: 0x7c41 */ 0xffff,
- /* key: 0x7c42 */ 0xffff,
- /* key: 0x7c43 */ 0x6457,
- /* key: 0x7c44 */ 0xffff,
- /* key: 0x7c45 */ 0xffff,
- /* key: 0x7c46 */ 0xd273,
- /* key: 0x7c47 */ 0xffff,
- /* key: 0x7c48 */ 0xffff,
- /* key: 0x7c49 */ 0xffff,
- /* key: 0x7c4a */ 0xd274,
- /* key: 0x7c4b */ 0xffff,
- /* key: 0x7c4c */ 0x6456,
- /* key: 0x7c4d */ 0x4052,
- /* key: 0x7c4e */ 0xffff,
- /* key: 0x7c4f */ 0x6459,
- /* key: 0x7c50 */ 0x645b,
- /* key: 0x7c51 */ 0xd276,
- /* key: 0x7c52 */ 0xd277,
- /* key: 0x7c53 */ 0xd278,
- /* key: 0x7c54 */ 0x6458,
- /* key: 0x7c55 */ 0xd275,
- /* key: 0x7c56 */ 0x645f,
- /* key: 0x7c57 */ 0xffff,
- /* key: 0x7c58 */ 0x645c,
- /* key: 0x7c59 */ 0xd279,
- /* key: 0x7c5a */ 0xd27a,
- /* key: 0x7c5b */ 0xd27b,
- /* key: 0x7c5c */ 0xd27c,
- /* key: 0x7c5d */ 0xd27d,
- /* key: 0x7c5e */ 0xd27e,
- /* key: 0x7c5f */ 0x645d,
- /* key: 0x7c60 */ 0x6446,
- /* key: 0x7c61 */ 0xd321,
- /* key: 0x7c62 */ 0xffff,
- /* key: 0x7c63 */ 0xd322,
- /* key: 0x7c64 */ 0x645e,
- /* key: 0x7c65 */ 0x6460,
- /* key: 0x7c66 */ 0xffff,
- /* key: 0x7c67 */ 0xd323,
- /* key: 0x7c68 */ 0xffff,
- /* key: 0x7c69 */ 0xd324,
- /* key: 0x7c6a */ 0xffff,
- /* key: 0x7c6b */ 0xffff,
- /* key: 0x7c6c */ 0x6461,
- /* key: 0x7c6d */ 0xd325,
- /* key: 0x7c6e */ 0xd326,
- /* key: 0x7c6f */ 0xffff,
- /* key: 0x7c70 */ 0xd327,
- /* key: 0x7c71 */ 0xffff,
- /* key: 0x7c72 */ 0xd328,
- /* key: 0x7c73 */ 0x4a46,
- /* key: 0x7c74 */ 0xffff,
- /* key: 0x7c75 */ 0x6462,
- /* key: 0x7c76 */ 0xffff,
- /* key: 0x7c77 */ 0xffff,
- /* key: 0x7c78 */ 0xffff,
- /* key: 0x7c79 */ 0xd329,
- /* key: 0x7c7a */ 0xffff,
- /* key: 0x7c7b */ 0xffff,
- /* key: 0x7c7c */ 0xd32a,
- /* key: 0x7c7d */ 0xd32b,
- /* key: 0x7c7e */ 0x4c62,
- /* key: 0x7c7f */ 0xffff,
- /* key: 0x7c80 */ 0xffff,
- /* key: 0x7c81 */ 0x364e,
- /* key: 0x7c82 */ 0x3729,
- /* key: 0x7c83 */ 0x6463,
- /* key: 0x7c84 */ 0xffff,
- /* key: 0x7c85 */ 0xffff,
- /* key: 0x7c86 */ 0xd32c,
- /* key: 0x7c87 */ 0xd32d,
- /* key: 0x7c88 */ 0xffff,
- /* key: 0x7c89 */ 0x4a34,
- /* key: 0x7c8a */ 0xffff,
- /* key: 0x7c8b */ 0x3f68,
- /* key: 0x7c8c */ 0xffff,
- /* key: 0x7c8d */ 0x4c30,
- /* key: 0x7c8e */ 0xffff,
- /* key: 0x7c8f */ 0xd32e,
- /* key: 0x7c90 */ 0x6464,
- /* key: 0x7c91 */ 0xffff,
- /* key: 0x7c92 */ 0x4e33,
- /* key: 0x7c93 */ 0xffff,
- /* key: 0x7c94 */ 0xd32f,
- /* key: 0x7c95 */ 0x4774,
- /* key: 0x7c96 */ 0xffff,
- /* key: 0x7c97 */ 0x4146,
- /* key: 0x7c98 */ 0x4734,
- /* key: 0x7c99 */ 0xffff,
- /* key: 0x7c9a */ 0xffff,
- /* key: 0x7c9b */ 0x3d4d,
- /* key: 0x7c9c */ 0xffff,
- /* key: 0x7c9d */ 0xffff,
- /* key: 0x7c9e */ 0xd330,
- /* key: 0x7c9f */ 0x3040,
- /* key: 0x7ca0 */ 0xd331,
- /* key: 0x7ca1 */ 0x6469,
- /* key: 0x7ca2 */ 0x6467,
- /* key: 0x7ca3 */ 0xffff,
- /* key: 0x7ca4 */ 0x6465,
- /* key: 0x7ca5 */ 0x3421,
- /* key: 0x7ca6 */ 0xd332,
- /* key: 0x7ca7 */ 0x3e51,
- /* key: 0x7ca8 */ 0x646a,
- /* key: 0x7ca9 */ 0xffff,
- /* key: 0x7caa */ 0xffff,
- /* key: 0x7cab */ 0x6468,
- /* key: 0x7cac */ 0xffff,
- /* key: 0x7cad */ 0x6466,
- /* key: 0x7cae */ 0x646e,
- /* key: 0x7caf */ 0xffff,
- /* key: 0x7cb0 */ 0xd333,
- /* key: 0x7cb1 */ 0x646d,
- /* key: 0x7cb2 */ 0x646c,
- /* key: 0x7cb3 */ 0x646b,
- /* key: 0x7cb4 */ 0xffff,
- /* key: 0x7cb5 */ 0xffff,
- /* key: 0x7cb6 */ 0xd334,
- /* key: 0x7cb7 */ 0xd335,
- /* key: 0x7cb8 */ 0xffff,
- /* key: 0x7cb9 */ 0x646f,
- /* key: 0x7cba */ 0xd336,
- /* key: 0x7cbb */ 0xd337,
- /* key: 0x7cbc */ 0xd338,
- /* key: 0x7cbd */ 0x6470,
- /* key: 0x7cbe */ 0x403a,
- /* key: 0x7cbf */ 0xd339,
- /* key: 0x7cc0 */ 0x6471,
- /* key: 0x7cc1 */ 0xffff,
- /* key: 0x7cc2 */ 0x6473,
- /* key: 0x7cc3 */ 0xffff,
- /* key: 0x7cc4 */ 0xd33a,
- /* key: 0x7cc5 */ 0x6472,
- /* key: 0x7cc6 */ 0xffff,
- /* key: 0x7cc7 */ 0xd33b,
- /* key: 0x7cc8 */ 0xd33c,
- /* key: 0x7cc9 */ 0xd33d,
- /* key: 0x7cca */ 0x3852,
- /* key: 0x7ccb */ 0xffff,
- /* key: 0x7ccc */ 0xffff,
- /* key: 0x7ccd */ 0xd33e,
- /* key: 0x7cce */ 0x4138,
- /* key: 0x7ccf */ 0xd33f,
- /* key: 0x7cd0 */ 0xffff,
- /* key: 0x7cd1 */ 0xffff,
- /* key: 0x7cd2 */ 0x6475,
- /* key: 0x7cd3 */ 0xd340,
- /* key: 0x7cd4 */ 0xd341,
- /* key: 0x7cd5 */ 0xd342,
- /* key: 0x7cd6 */ 0x457c,
- /* key: 0x7cd7 */ 0xd343,
- /* key: 0x7cd8 */ 0x6474,
- /* key: 0x7cd9 */ 0xd344,
- /* key: 0x7cda */ 0xd345,
- /* key: 0x7cdb */ 0xffff,
- /* key: 0x7cdc */ 0x6476,
- /* key: 0x7cdd */ 0xd346,
- /* key: 0x7cde */ 0x4a35,
- /* key: 0x7cdf */ 0x416c,
- /* key: 0x7ce0 */ 0x3947,
- /* key: 0x7ce1 */ 0xffff,
- /* key: 0x7ce2 */ 0x6477,
- /* key: 0x7ce3 */ 0xffff,
- /* key: 0x7ce4 */ 0xffff,
- /* key: 0x7ce5 */ 0xffff,
- /* key: 0x7ce6 */ 0xd347,
- /* key: 0x7ce7 */ 0x4e48,
- /* key: 0x7ce8 */ 0xffff,
- /* key: 0x7ce9 */ 0xd348,
- /* key: 0x7cea */ 0xffff,
- /* key: 0x7ceb */ 0xd349,
- /* key: 0x7cec */ 0xffff,
- /* key: 0x7ced */ 0xffff,
- /* key: 0x7cee */ 0xffff,
- /* key: 0x7cef */ 0x6479,
- /* key: 0x7cf0 */ 0xffff,
- /* key: 0x7cf1 */ 0xffff,
- /* key: 0x7cf2 */ 0x647a,
- /* key: 0x7cf3 */ 0xffff,
- /* key: 0x7cf4 */ 0x647b,
- /* key: 0x7cf5 */ 0xd34a,
- /* key: 0x7cf6 */ 0x647c,
- /* key: 0x7cf7 */ 0xffff,
- /* key: 0x7cf8 */ 0x3b65,
- /* key: 0x7cf9 */ 0xffff,
- /* key: 0x7cfa */ 0x647d,
- /* key: 0x7cfb */ 0x374f,
- /* key: 0x7cfc */ 0xffff,
- /* key: 0x7cfd */ 0xffff,
- /* key: 0x7cfe */ 0x356a,
- /* key: 0x7cff */ 0xffff,
- /* branch: 0x7d0X */ 14416,
- /* branch: 0x7d1X */ 14432,
- /* branch: 0x7d2X */ 14448,
- /* branch: 0x7d3X */ 14464,
- /* branch: 0x7d4X */ 14480,
- /* branch: 0x7d5X */ 14496,
- /* branch: 0x7d6X */ 14512,
- /* branch: 0x7d7X */ 14528,
- /* branch: 0x7d8X */ 14544,
- /* branch: 0x7d9X */ 14560,
- /* branch: 0x7daX */ 14576,
- /* branch: 0x7dbX */ 14592,
- /* branch: 0x7dcX */ 14608,
- /* branch: 0x7ddX */ 14624,
- /* branch: 0x7deX */ 14640,
- /* branch: 0x7dfX */ 14656,
- /* key: 0x7d00 */ 0x352a,
- /* key: 0x7d01 */ 0xffff,
- /* key: 0x7d02 */ 0x6521,
- /* key: 0x7d03 */ 0xd34b,
- /* key: 0x7d04 */ 0x4c73,
- /* key: 0x7d05 */ 0x3948,
- /* key: 0x7d06 */ 0x647e,
- /* key: 0x7d07 */ 0xd34c,
- /* key: 0x7d08 */ 0xd34d,
- /* key: 0x7d09 */ 0xd34e,
- /* key: 0x7d0a */ 0x6524,
- /* key: 0x7d0b */ 0x4c66,
- /* key: 0x7d0c */ 0xffff,
- /* key: 0x7d0d */ 0x473c,
- /* key: 0x7d0e */ 0xffff,
- /* key: 0x7d0f */ 0xd34f,
- /* key: 0x7d10 */ 0x4933,
- /* key: 0x7d11 */ 0xd350,
- /* key: 0x7d12 */ 0xd351,
- /* key: 0x7d13 */ 0xd352,
- /* key: 0x7d14 */ 0x3d63,
- /* key: 0x7d15 */ 0x6523,
- /* key: 0x7d16 */ 0xd353,
- /* key: 0x7d17 */ 0x3c53,
- /* key: 0x7d18 */ 0x3949,
- /* key: 0x7d19 */ 0x3b66,
- /* key: 0x7d1a */ 0x3569,
- /* key: 0x7d1b */ 0x4a36,
- /* key: 0x7d1c */ 0x6522,
- /* key: 0x7d1d */ 0xd354,
- /* key: 0x7d1e */ 0xd355,
- /* key: 0x7d1f */ 0xffff,
- /* key: 0x7d20 */ 0x4147,
- /* key: 0x7d21 */ 0x4b42,
- /* key: 0x7d22 */ 0x3a77,
- /* key: 0x7d23 */ 0xd356,
- /* key: 0x7d24 */ 0xffff,
- /* key: 0x7d25 */ 0xffff,
- /* key: 0x7d26 */ 0xd357,
- /* key: 0x7d27 */ 0xffff,
- /* key: 0x7d28 */ 0xffff,
- /* key: 0x7d29 */ 0xffff,
- /* key: 0x7d2a */ 0xd358,
- /* key: 0x7d2b */ 0x3b67,
- /* key: 0x7d2c */ 0x445d,
- /* key: 0x7d2d */ 0xd359,
- /* key: 0x7d2e */ 0x6527,
- /* key: 0x7d2f */ 0x4e5f,
- /* key: 0x7d30 */ 0x3a59,
- /* key: 0x7d31 */ 0xd35a,
- /* key: 0x7d32 */ 0x6528,
- /* key: 0x7d33 */ 0x3f42,
- /* key: 0x7d34 */ 0xffff,
- /* key: 0x7d35 */ 0x652a,
- /* key: 0x7d36 */ 0xffff,
- /* key: 0x7d37 */ 0xffff,
- /* key: 0x7d38 */ 0xffff,
- /* key: 0x7d39 */ 0x3e52,
- /* key: 0x7d3a */ 0x3a30,
- /* key: 0x7d3b */ 0xffff,
- /* key: 0x7d3c */ 0xd35b,
- /* key: 0x7d3d */ 0xd35c,
- /* key: 0x7d3e */ 0xd35d,
- /* key: 0x7d3f */ 0x6529,
- /* key: 0x7d40 */ 0xd35e,
- /* key: 0x7d41 */ 0xd35f,
- /* key: 0x7d42 */ 0x3d2a,
- /* key: 0x7d43 */ 0x383e,
- /* key: 0x7d44 */ 0x4148,
- /* key: 0x7d45 */ 0x6525,
- /* key: 0x7d46 */ 0x652b,
- /* key: 0x7d47 */ 0xd360,
- /* key: 0x7d48 */ 0xd361,
- /* key: 0x7d49 */ 0xffff,
- /* key: 0x7d4a */ 0xffff,
- /* key: 0x7d4b */ 0x6526,
- /* key: 0x7d4c */ 0x3750,
- /* key: 0x7d4d */ 0xd362,
- /* key: 0x7d4e */ 0x652e,
- /* key: 0x7d4f */ 0x6532,
- /* key: 0x7d50 */ 0x376b,
- /* key: 0x7d51 */ 0xd363,
- /* key: 0x7d52 */ 0xffff,
- /* key: 0x7d53 */ 0xd364,
- /* key: 0x7d54 */ 0xffff,
- /* key: 0x7d55 */ 0xffff,
- /* key: 0x7d56 */ 0x652d,
- /* key: 0x7d57 */ 0xd365,
- /* key: 0x7d58 */ 0xffff,
- /* key: 0x7d59 */ 0xd366,
- /* key: 0x7d5a */ 0xd367,
- /* key: 0x7d5b */ 0x6536,
- /* key: 0x7d5c */ 0xd368,
- /* key: 0x7d5d */ 0xd369,
- /* key: 0x7d5e */ 0x394a,
- /* key: 0x7d5f */ 0xffff,
- /* key: 0x7d60 */ 0xffff,
- /* key: 0x7d61 */ 0x4d6d,
- /* key: 0x7d62 */ 0x303c,
- /* key: 0x7d63 */ 0x6533,
- /* key: 0x7d64 */ 0xffff,
- /* key: 0x7d65 */ 0xd36a,
- /* key: 0x7d66 */ 0x356b,
- /* key: 0x7d67 */ 0xd36b,
- /* key: 0x7d68 */ 0x6530,
- /* key: 0x7d69 */ 0xffff,
- /* key: 0x7d6a */ 0xd36c,
- /* key: 0x7d6b */ 0xffff,
- /* key: 0x7d6c */ 0xffff,
- /* key: 0x7d6d */ 0xffff,
- /* key: 0x7d6e */ 0x6531,
- /* key: 0x7d6f */ 0xffff,
- /* key: 0x7d70 */ 0xd36d,
- /* key: 0x7d71 */ 0x457d,
- /* key: 0x7d72 */ 0x652f,
- /* key: 0x7d73 */ 0x652c,
- /* key: 0x7d74 */ 0xffff,
- /* key: 0x7d75 */ 0x3328,
- /* key: 0x7d76 */ 0x4064,
- /* key: 0x7d77 */ 0xffff,
- /* key: 0x7d78 */ 0xd36e,
- /* key: 0x7d79 */ 0x3828,
- /* key: 0x7d7a */ 0xd36f,
- /* key: 0x7d7b */ 0xd370,
- /* key: 0x7d7c */ 0xffff,
- /* key: 0x7d7d */ 0x6538,
- /* key: 0x7d7e */ 0xffff,
- /* key: 0x7d7f */ 0xd371,
- /* key: 0x7d80 */ 0xffff,
- /* key: 0x7d81 */ 0xd372,
- /* key: 0x7d82 */ 0xd373,
- /* key: 0x7d83 */ 0xd374,
- /* key: 0x7d84 */ 0xffff,
- /* key: 0x7d85 */ 0xd375,
- /* key: 0x7d86 */ 0xd376,
- /* key: 0x7d87 */ 0xffff,
- /* key: 0x7d88 */ 0xd377,
- /* key: 0x7d89 */ 0x6535,
- /* key: 0x7d8a */ 0xffff,
- /* key: 0x7d8b */ 0xd378,
- /* key: 0x7d8c */ 0xd379,
- /* key: 0x7d8d */ 0xd37a,
- /* key: 0x7d8e */ 0xffff,
- /* key: 0x7d8f */ 0x6537,
- /* key: 0x7d90 */ 0xffff,
- /* key: 0x7d91 */ 0xd37b,
- /* key: 0x7d92 */ 0xffff,
- /* key: 0x7d93 */ 0x6534,
- /* key: 0x7d94 */ 0xffff,
- /* key: 0x7d95 */ 0xffff,
- /* key: 0x7d96 */ 0xd37c,
- /* key: 0x7d97 */ 0xd37d,
- /* key: 0x7d98 */ 0xffff,
- /* key: 0x7d99 */ 0x3751,
- /* key: 0x7d9a */ 0x4233,
- /* key: 0x7d9b */ 0x6539,
- /* key: 0x7d9c */ 0x416e,
- /* key: 0x7d9d */ 0xd37e,
- /* key: 0x7d9e */ 0xd421,
- /* key: 0x7d9f */ 0x6546,
- /* key: 0x7da0 */ 0xffff,
- /* key: 0x7da1 */ 0xffff,
- /* key: 0x7da2 */ 0x6542,
- /* key: 0x7da3 */ 0x653c,
- /* key: 0x7da4 */ 0xffff,
- /* key: 0x7da5 */ 0xffff,
- /* key: 0x7da6 */ 0xd422,
- /* key: 0x7da7 */ 0xd423,
- /* key: 0x7da8 */ 0xffff,
- /* key: 0x7da9 */ 0xffff,
- /* key: 0x7daa */ 0xd424,
- /* key: 0x7dab */ 0x6540,
- /* key: 0x7dac */ 0x3c7a,
- /* key: 0x7dad */ 0x305d,
- /* key: 0x7dae */ 0x653b,
- /* key: 0x7daf */ 0x6543,
- /* key: 0x7db0 */ 0x6547,
- /* key: 0x7db1 */ 0x394b,
- /* key: 0x7db2 */ 0x4c56,
- /* key: 0x7db3 */ 0xd425,
- /* key: 0x7db4 */ 0x4456,
- /* key: 0x7db5 */ 0x653d,
- /* key: 0x7db6 */ 0xd426,
- /* key: 0x7db7 */ 0xd427,
- /* key: 0x7db8 */ 0x6545,
- /* key: 0x7db9 */ 0xd428,
- /* key: 0x7dba */ 0x653a,
- /* key: 0x7dbb */ 0x433e,
- /* key: 0x7dbc */ 0xffff,
- /* key: 0x7dbd */ 0x653f,
- /* key: 0x7dbe */ 0x303d,
- /* key: 0x7dbf */ 0x4c4a,
- /* key: 0x7dc0 */ 0xffff,
- /* key: 0x7dc1 */ 0xffff,
- /* key: 0x7dc2 */ 0xd429,
- /* key: 0x7dc3 */ 0xd42a,
- /* key: 0x7dc4 */ 0xd42b,
- /* key: 0x7dc5 */ 0xd42c,
- /* key: 0x7dc6 */ 0xd42d,
- /* key: 0x7dc7 */ 0x653e,
- /* key: 0x7dc8 */ 0xffff,
- /* key: 0x7dc9 */ 0xffff,
- /* key: 0x7dca */ 0x365b,
- /* key: 0x7dcb */ 0x486c,
- /* key: 0x7dcc */ 0xd42e,
- /* key: 0x7dcd */ 0xd42f,
- /* key: 0x7dce */ 0xd430,
- /* key: 0x7dcf */ 0x416d,
- /* key: 0x7dd0 */ 0xffff,
- /* key: 0x7dd1 */ 0x4e50,
- /* key: 0x7dd2 */ 0x3d6f,
- /* key: 0x7dd3 */ 0xffff,
- /* key: 0x7dd4 */ 0xffff,
- /* key: 0x7dd5 */ 0x656e,
- /* key: 0x7dd6 */ 0xffff,
- /* key: 0x7dd7 */ 0xd431,
- /* key: 0x7dd8 */ 0x6548,
- /* key: 0x7dd9 */ 0xd432,
- /* key: 0x7dda */ 0x407e,
- /* key: 0x7ddb */ 0xffff,
- /* key: 0x7ddc */ 0x6544,
- /* key: 0x7ddd */ 0x6549,
- /* key: 0x7dde */ 0x654b,
- /* key: 0x7ddf */ 0xffff,
- /* key: 0x7de0 */ 0x4479,
- /* key: 0x7de1 */ 0x654e,
- /* key: 0x7de2 */ 0xd434,
- /* key: 0x7de3 */ 0xffff,
- /* key: 0x7de4 */ 0x654a,
- /* key: 0x7de5 */ 0xd435,
- /* key: 0x7de6 */ 0xd436,
- /* key: 0x7de7 */ 0xffff,
- /* key: 0x7de8 */ 0x4a54,
- /* key: 0x7de9 */ 0x344b,
- /* key: 0x7dea */ 0xd437,
- /* key: 0x7deb */ 0xd438,
- /* key: 0x7dec */ 0x4c4b,
- /* key: 0x7ded */ 0xd439,
- /* key: 0x7dee */ 0xffff,
- /* key: 0x7def */ 0x305e,
- /* key: 0x7df0 */ 0xffff,
- /* key: 0x7df1 */ 0xd43a,
- /* key: 0x7df2 */ 0x654d,
- /* key: 0x7df3 */ 0xffff,
- /* key: 0x7df4 */ 0x4e7d,
- /* key: 0x7df5 */ 0xd43b,
- /* key: 0x7df6 */ 0xd43c,
- /* key: 0x7df7 */ 0xffff,
- /* key: 0x7df8 */ 0xffff,
- /* key: 0x7df9 */ 0xd43d,
- /* key: 0x7dfa */ 0xd43e,
- /* key: 0x7dfb */ 0x654c,
- /* key: 0x7dfc */ 0xffff,
- /* key: 0x7dfd */ 0xffff,
- /* key: 0x7dfe */ 0xffff,
- /* key: 0x7dff */ 0xffff,
- /* branch: 0x7e0X */ 14688,
- /* branch: 0x7e1X */ 14704,
- /* branch: 0x7e2X */ 14720,
- /* branch: 0x7e3X */ 14736,
- /* branch: 0x7e4X */ 14752,
- /* branch: 0x7e5X */ 14768,
- /* branch: 0x7e6X */ 14784,
- /* branch: 0x7e7X */ 14800,
- /* branch: 0x7e8X */ 14816,
- /* branch: 0x7e9X */ 14832,
- /* branch: 0x7eaX */ 0,
- /* branch: 0x7ebX */ 0,
- /* branch: 0x7ecX */ 0,
- /* branch: 0x7edX */ 0,
- /* branch: 0x7eeX */ 0,
- /* branch: 0x7efX */ 0,
- /* key: 0x7e00 */ 0xd433,
- /* key: 0x7e01 */ 0x316f,
- /* key: 0x7e02 */ 0xffff,
- /* key: 0x7e03 */ 0xffff,
- /* key: 0x7e04 */ 0x466c,
- /* key: 0x7e05 */ 0x654f,
- /* key: 0x7e06 */ 0xffff,
- /* key: 0x7e07 */ 0xffff,
- /* key: 0x7e08 */ 0xd43f,
- /* key: 0x7e09 */ 0x6556,
- /* key: 0x7e0a */ 0x6550,
- /* key: 0x7e0b */ 0x6557,
- /* key: 0x7e0c */ 0xffff,
- /* key: 0x7e0d */ 0xffff,
- /* key: 0x7e0e */ 0xffff,
- /* key: 0x7e0f */ 0xffff,
- /* key: 0x7e10 */ 0xd440,
- /* key: 0x7e11 */ 0xd441,
- /* key: 0x7e12 */ 0x6553,
- /* key: 0x7e13 */ 0xffff,
- /* key: 0x7e14 */ 0xffff,
- /* key: 0x7e15 */ 0xd442,
- /* key: 0x7e16 */ 0xffff,
- /* key: 0x7e17 */ 0xd443,
- /* key: 0x7e18 */ 0xffff,
- /* key: 0x7e19 */ 0xffff,
- /* key: 0x7e1a */ 0xffff,
- /* key: 0x7e1b */ 0x477b,
- /* key: 0x7e1c */ 0xd444,
- /* key: 0x7e1d */ 0xd445,
- /* key: 0x7e1e */ 0x3c4a,
- /* key: 0x7e1f */ 0x6555,
- /* key: 0x7e20 */ 0xd446,
- /* key: 0x7e21 */ 0x6552,
- /* key: 0x7e22 */ 0x6558,
- /* key: 0x7e23 */ 0x6551,
- /* key: 0x7e24 */ 0xffff,
- /* key: 0x7e25 */ 0xffff,
- /* key: 0x7e26 */ 0x3d44,
- /* key: 0x7e27 */ 0xd447,
- /* key: 0x7e28 */ 0xd448,
- /* key: 0x7e29 */ 0xffff,
- /* key: 0x7e2a */ 0xffff,
- /* key: 0x7e2b */ 0x4b25,
- /* key: 0x7e2c */ 0xd449,
- /* key: 0x7e2d */ 0xd44a,
- /* key: 0x7e2e */ 0x3d4c,
- /* key: 0x7e2f */ 0xd44b,
- /* key: 0x7e30 */ 0xffff,
- /* key: 0x7e31 */ 0x6554,
- /* key: 0x7e32 */ 0x6560,
- /* key: 0x7e33 */ 0xd44c,
- /* key: 0x7e34 */ 0xffff,
- /* key: 0x7e35 */ 0x655c,
- /* key: 0x7e36 */ 0xd44d,
- /* key: 0x7e37 */ 0x655f,
- /* key: 0x7e38 */ 0xffff,
- /* key: 0x7e39 */ 0x655d,
- /* key: 0x7e3a */ 0x6561,
- /* key: 0x7e3b */ 0x655b,
- /* key: 0x7e3c */ 0xffff,
- /* key: 0x7e3d */ 0x6541,
- /* key: 0x7e3e */ 0x4053,
- /* key: 0x7e3f */ 0xd44e,
- /* key: 0x7e40 */ 0xffff,
- /* key: 0x7e41 */ 0x484b,
- /* key: 0x7e42 */ 0xffff,
- /* key: 0x7e43 */ 0x655e,
- /* key: 0x7e44 */ 0xd44f,
- /* key: 0x7e45 */ 0xd450,
- /* key: 0x7e46 */ 0x6559,
- /* key: 0x7e47 */ 0xd451,
- /* key: 0x7e48 */ 0xffff,
- /* key: 0x7e49 */ 0xffff,
- /* key: 0x7e4a */ 0x4121,
- /* key: 0x7e4b */ 0x3752,
- /* key: 0x7e4c */ 0xffff,
- /* key: 0x7e4d */ 0x3d2b,
- /* key: 0x7e4e */ 0xd452,
- /* key: 0x7e4f */ 0xffff,
- /* key: 0x7e50 */ 0xd453,
- /* key: 0x7e51 */ 0xffff,
- /* key: 0x7e52 */ 0xd454,
- /* key: 0x7e53 */ 0xffff,
- /* key: 0x7e54 */ 0x3f25,
- /* key: 0x7e55 */ 0x4136,
- /* key: 0x7e56 */ 0x6564,
- /* key: 0x7e57 */ 0xffff,
- /* key: 0x7e58 */ 0xd455,
- /* key: 0x7e59 */ 0x6566,
- /* key: 0x7e5a */ 0x6567,
- /* key: 0x7e5b */ 0xffff,
- /* key: 0x7e5c */ 0xffff,
- /* key: 0x7e5d */ 0x6563,
- /* key: 0x7e5e */ 0x6565,
- /* key: 0x7e5f */ 0xd456,
- /* key: 0x7e60 */ 0xffff,
- /* key: 0x7e61 */ 0xd457,
- /* key: 0x7e62 */ 0xd458,
- /* key: 0x7e63 */ 0xffff,
- /* key: 0x7e64 */ 0xffff,
- /* key: 0x7e65 */ 0xd459,
- /* key: 0x7e66 */ 0x655a,
- /* key: 0x7e67 */ 0x6562,
- /* key: 0x7e68 */ 0xffff,
- /* key: 0x7e69 */ 0x656a,
- /* key: 0x7e6a */ 0x6569,
- /* key: 0x7e6b */ 0xd45a,
- /* key: 0x7e6c */ 0xffff,
- /* key: 0x7e6d */ 0x4b7a,
- /* key: 0x7e6e */ 0xd45b,
- /* key: 0x7e6f */ 0xd45c,
- /* key: 0x7e70 */ 0x372b,
- /* key: 0x7e71 */ 0xffff,
- /* key: 0x7e72 */ 0xffff,
- /* key: 0x7e73 */ 0xd45d,
- /* key: 0x7e74 */ 0xffff,
- /* key: 0x7e75 */ 0xffff,
- /* key: 0x7e76 */ 0xffff,
- /* key: 0x7e77 */ 0xffff,
- /* key: 0x7e78 */ 0xd45e,
- /* key: 0x7e79 */ 0x6568,
- /* key: 0x7e7a */ 0xffff,
- /* key: 0x7e7b */ 0x656c,
- /* key: 0x7e7c */ 0x656b,
- /* key: 0x7e7d */ 0x656f,
- /* key: 0x7e7e */ 0xd45f,
- /* key: 0x7e7f */ 0x6571,
- /* key: 0x7e80 */ 0xffff,
- /* key: 0x7e81 */ 0xd460,
- /* key: 0x7e82 */ 0x3b3c,
- /* key: 0x7e83 */ 0x656d,
- /* key: 0x7e84 */ 0xffff,
- /* key: 0x7e85 */ 0xffff,
- /* key: 0x7e86 */ 0xd461,
- /* key: 0x7e87 */ 0xd462,
- /* key: 0x7e88 */ 0x6572,
- /* key: 0x7e89 */ 0x6573,
- /* key: 0x7e8a */ 0xd463,
- /* key: 0x7e8b */ 0xffff,
- /* key: 0x7e8c */ 0x6574,
- /* key: 0x7e8d */ 0xd464,
- /* key: 0x7e8e */ 0x657a,
- /* key: 0x7e8f */ 0x453b,
- /* key: 0x7e90 */ 0x6576,
- /* key: 0x7e91 */ 0xd465,
- /* key: 0x7e92 */ 0x6575,
- /* key: 0x7e93 */ 0x6577,
- /* key: 0x7e94 */ 0x6578,
- /* key: 0x7e95 */ 0xd466,
- /* key: 0x7e96 */ 0x6579,
- /* key: 0x7e97 */ 0xffff,
- /* key: 0x7e98 */ 0xd467,
- /* key: 0x7e99 */ 0xffff,
- /* key: 0x7e9a */ 0xd468,
- /* key: 0x7e9b */ 0x657b,
- /* key: 0x7e9c */ 0x657c,
- /* key: 0x7e9d */ 0xd469,
- /* key: 0x7e9e */ 0xd46a,
- /* key: 0x7e9f */ 0xffff,
- /* branch: 0x7f0X */ 0,
- /* branch: 0x7f1X */ 0,
- /* branch: 0x7f2X */ 0,
- /* branch: 0x7f3X */ 14864,
- /* branch: 0x7f4X */ 14880,
- /* branch: 0x7f5X */ 14896,
- /* branch: 0x7f6X */ 14912,
- /* branch: 0x7f7X */ 14928,
- /* branch: 0x7f8X */ 14944,
- /* branch: 0x7f9X */ 14960,
- /* branch: 0x7faX */ 14976,
- /* branch: 0x7fbX */ 14992,
- /* branch: 0x7fcX */ 15008,
- /* branch: 0x7fdX */ 15024,
- /* branch: 0x7feX */ 15040,
- /* branch: 0x7ffX */ 15056,
- /* key: 0x7f30 */ 0xffff,
- /* key: 0x7f31 */ 0xffff,
- /* key: 0x7f32 */ 0xffff,
- /* key: 0x7f33 */ 0xffff,
- /* key: 0x7f34 */ 0xffff,
- /* key: 0x7f35 */ 0xffff,
- /* key: 0x7f36 */ 0x344c,
- /* key: 0x7f37 */ 0xffff,
- /* key: 0x7f38 */ 0x657d,
- /* key: 0x7f39 */ 0xffff,
- /* key: 0x7f3a */ 0x657e,
- /* key: 0x7f3b */ 0xd46c,
- /* key: 0x7f3c */ 0xd46b,
- /* key: 0x7f3d */ 0xd46d,
- /* key: 0x7f3e */ 0xd46e,
- /* key: 0x7f3f */ 0xd46f,
- /* key: 0x7f40 */ 0xffff,
- /* key: 0x7f41 */ 0xffff,
- /* key: 0x7f42 */ 0xffff,
- /* key: 0x7f43 */ 0xd470,
- /* key: 0x7f44 */ 0xd471,
- /* key: 0x7f45 */ 0x6621,
- /* key: 0x7f46 */ 0xffff,
- /* key: 0x7f47 */ 0xd472,
- /* key: 0x7f48 */ 0xffff,
- /* key: 0x7f49 */ 0xffff,
- /* key: 0x7f4a */ 0xffff,
- /* key: 0x7f4b */ 0xffff,
- /* key: 0x7f4c */ 0x6622,
- /* key: 0x7f4d */ 0x6623,
- /* key: 0x7f4e */ 0x6624,
- /* key: 0x7f4f */ 0xd473,
- /* key: 0x7f50 */ 0x6625,
- /* key: 0x7f51 */ 0x6626,
- /* key: 0x7f52 */ 0xd474,
- /* key: 0x7f53 */ 0xd475,
- /* key: 0x7f54 */ 0x6628,
- /* key: 0x7f55 */ 0x6627,
- /* key: 0x7f56 */ 0xffff,
- /* key: 0x7f57 */ 0xffff,
- /* key: 0x7f58 */ 0x6629,
- /* key: 0x7f59 */ 0xffff,
- /* key: 0x7f5a */ 0xffff,
- /* key: 0x7f5b */ 0xd476,
- /* key: 0x7f5c */ 0xd477,
- /* key: 0x7f5d */ 0xd478,
- /* key: 0x7f5e */ 0xffff,
- /* key: 0x7f5f */ 0x662a,
- /* key: 0x7f60 */ 0x662b,
- /* key: 0x7f61 */ 0xd479,
- /* key: 0x7f62 */ 0xffff,
- /* key: 0x7f63 */ 0xd47a,
- /* key: 0x7f64 */ 0xd47b,
- /* key: 0x7f65 */ 0xd47c,
- /* key: 0x7f66 */ 0xd47d,
- /* key: 0x7f67 */ 0x662e,
- /* key: 0x7f68 */ 0x662c,
- /* key: 0x7f69 */ 0x662d,
- /* key: 0x7f6a */ 0x3a61,
- /* key: 0x7f6b */ 0x3753,
- /* key: 0x7f6c */ 0xffff,
- /* key: 0x7f6d */ 0xd47e,
- /* key: 0x7f6e */ 0x4356,
- /* key: 0x7f6f */ 0xffff,
- /* key: 0x7f70 */ 0x4833,
- /* key: 0x7f71 */ 0xd521,
- /* key: 0x7f72 */ 0x3d70,
- /* key: 0x7f73 */ 0xffff,
- /* key: 0x7f74 */ 0xffff,
- /* key: 0x7f75 */ 0x474d,
- /* key: 0x7f76 */ 0xffff,
- /* key: 0x7f77 */ 0x486d,
- /* key: 0x7f78 */ 0x662f,
- /* key: 0x7f79 */ 0x586d,
- /* key: 0x7f7a */ 0xffff,
- /* key: 0x7f7b */ 0xffff,
- /* key: 0x7f7c */ 0xffff,
- /* key: 0x7f7d */ 0xd522,
- /* key: 0x7f7e */ 0xd523,
- /* key: 0x7f7f */ 0xd524,
- /* key: 0x7f80 */ 0xd525,
- /* key: 0x7f81 */ 0xffff,
- /* key: 0x7f82 */ 0x6630,
- /* key: 0x7f83 */ 0x6632,
- /* key: 0x7f84 */ 0xffff,
- /* key: 0x7f85 */ 0x4d65,
- /* key: 0x7f86 */ 0x6631,
- /* key: 0x7f87 */ 0x6634,
- /* key: 0x7f88 */ 0x6633,
- /* key: 0x7f89 */ 0xffff,
- /* key: 0x7f8a */ 0x4d53,
- /* key: 0x7f8b */ 0xd526,
- /* key: 0x7f8c */ 0x6635,
- /* key: 0x7f8d */ 0xd527,
- /* key: 0x7f8e */ 0x487e,
- /* key: 0x7f8f */ 0xd528,
- /* key: 0x7f90 */ 0xd529,
- /* key: 0x7f91 */ 0xd52a,
- /* key: 0x7f92 */ 0xffff,
- /* key: 0x7f93 */ 0xffff,
- /* key: 0x7f94 */ 0x6636,
- /* key: 0x7f95 */ 0xffff,
- /* key: 0x7f96 */ 0xd52b,
- /* key: 0x7f97 */ 0xd52c,
- /* key: 0x7f98 */ 0xffff,
- /* key: 0x7f99 */ 0xffff,
- /* key: 0x7f9a */ 0x6639,
- /* key: 0x7f9b */ 0xffff,
- /* key: 0x7f9c */ 0xd52d,
- /* key: 0x7f9d */ 0x6638,
- /* key: 0x7f9e */ 0x6637,
- /* key: 0x7f9f */ 0xffff,
- /* key: 0x7fa0 */ 0xffff,
- /* key: 0x7fa1 */ 0xd52e,
- /* key: 0x7fa2 */ 0xd52f,
- /* key: 0x7fa3 */ 0x663a,
- /* key: 0x7fa4 */ 0x3732,
- /* key: 0x7fa5 */ 0xffff,
- /* key: 0x7fa6 */ 0xd530,
- /* key: 0x7fa7 */ 0xffff,
- /* key: 0x7fa8 */ 0x4122,
- /* key: 0x7fa9 */ 0x3541,
- /* key: 0x7faa */ 0xd531,
- /* key: 0x7fab */ 0xffff,
- /* key: 0x7fac */ 0xffff,
- /* key: 0x7fad */ 0xd532,
- /* key: 0x7fae */ 0x663e,
- /* key: 0x7faf */ 0x663b,
- /* key: 0x7fb0 */ 0xffff,
- /* key: 0x7fb1 */ 0xffff,
- /* key: 0x7fb2 */ 0x663c,
- /* key: 0x7fb3 */ 0xffff,
- /* key: 0x7fb4 */ 0xd533,
- /* key: 0x7fb5 */ 0xffff,
- /* key: 0x7fb6 */ 0x663f,
- /* key: 0x7fb7 */ 0xffff,
- /* key: 0x7fb8 */ 0x6640,
- /* key: 0x7fb9 */ 0x663d,
- /* key: 0x7fba */ 0xffff,
- /* key: 0x7fbb */ 0xffff,
- /* key: 0x7fbc */ 0xd534,
- /* key: 0x7fbd */ 0x3129,
- /* key: 0x7fbe */ 0xffff,
- /* key: 0x7fbf */ 0xd535,
- /* key: 0x7fc0 */ 0xd536,
- /* key: 0x7fc1 */ 0x3227,
- /* key: 0x7fc2 */ 0xffff,
- /* key: 0x7fc3 */ 0xd537,
- /* key: 0x7fc4 */ 0xffff,
- /* key: 0x7fc5 */ 0x6642,
- /* key: 0x7fc6 */ 0x6643,
- /* key: 0x7fc7 */ 0xffff,
- /* key: 0x7fc8 */ 0xd538,
- /* key: 0x7fc9 */ 0xffff,
- /* key: 0x7fca */ 0x6644,
- /* key: 0x7fcb */ 0xffff,
- /* key: 0x7fcc */ 0x4d62,
- /* key: 0x7fcd */ 0xffff,
- /* key: 0x7fce */ 0xd539,
- /* key: 0x7fcf */ 0xd53a,
- /* key: 0x7fd0 */ 0xffff,
- /* key: 0x7fd1 */ 0xffff,
- /* key: 0x7fd2 */ 0x3d2c,
- /* key: 0x7fd3 */ 0xffff,
- /* key: 0x7fd4 */ 0x6646,
- /* key: 0x7fd5 */ 0x6645,
- /* key: 0x7fd6 */ 0xffff,
- /* key: 0x7fd7 */ 0xffff,
- /* key: 0x7fd8 */ 0xffff,
- /* key: 0x7fd9 */ 0xffff,
- /* key: 0x7fda */ 0xffff,
- /* key: 0x7fdb */ 0xd53b,
- /* key: 0x7fdc */ 0xffff,
- /* key: 0x7fdd */ 0xffff,
- /* key: 0x7fde */ 0xffff,
- /* key: 0x7fdf */ 0xd53c,
- /* key: 0x7fe0 */ 0x3f69,
- /* key: 0x7fe1 */ 0x6647,
- /* key: 0x7fe2 */ 0xffff,
- /* key: 0x7fe3 */ 0xd53d,
- /* key: 0x7fe4 */ 0xffff,
- /* key: 0x7fe5 */ 0xd53e,
- /* key: 0x7fe6 */ 0x6648,
- /* key: 0x7fe7 */ 0xffff,
- /* key: 0x7fe8 */ 0xd53f,
- /* key: 0x7fe9 */ 0x6649,
- /* key: 0x7fea */ 0xffff,
- /* key: 0x7feb */ 0x3465,
- /* key: 0x7fec */ 0xd540,
- /* key: 0x7fed */ 0xffff,
- /* key: 0x7fee */ 0xd541,
- /* key: 0x7fef */ 0xd542,
- /* key: 0x7ff0 */ 0x344d,
- /* key: 0x7ff1 */ 0xffff,
- /* key: 0x7ff2 */ 0xd543,
- /* key: 0x7ff3 */ 0x664a,
- /* key: 0x7ff4 */ 0xffff,
- /* key: 0x7ff5 */ 0xffff,
- /* key: 0x7ff6 */ 0xffff,
- /* key: 0x7ff7 */ 0xffff,
- /* key: 0x7ff8 */ 0xffff,
- /* key: 0x7ff9 */ 0x664b,
- /* key: 0x7ffa */ 0xd544,
- /* key: 0x7ffb */ 0x4b5d,
- /* key: 0x7ffc */ 0x4d63,
- /* key: 0x7ffd */ 0xd545,
- /* key: 0x7ffe */ 0xd546,
- /* key: 0x7fff */ 0xd547,
- /* branch: 0x80XX */ 15088,
- /* branch: 0x81XX */ 15360,
- /* branch: 0x82XX */ 15632,
- /* branch: 0x83XX */ 15904,
- /* branch: 0x84XX */ 16160,
- /* branch: 0x85XX */ 16432,
- /* branch: 0x86XX */ 16704,
- /* branch: 0x87XX */ 16976,
- /* branch: 0x88XX */ 17248,
- /* branch: 0x89XX */ 17520,
- /* branch: 0x8aXX */ 17792,
- /* branch: 0x8bXX */ 18064,
- /* branch: 0x8cXX */ 18240,
- /* branch: 0x8dXX */ 18464,
- /* branch: 0x8eXX */ 18672,
- /* branch: 0x8fXX */ 18944,
- /* branch: 0x800X */ 15104,
- /* branch: 0x801X */ 15120,
- /* branch: 0x802X */ 15136,
- /* branch: 0x803X */ 15152,
- /* branch: 0x804X */ 15168,
- /* branch: 0x805X */ 15184,
- /* branch: 0x806X */ 15200,
- /* branch: 0x807X */ 15216,
- /* branch: 0x808X */ 15232,
- /* branch: 0x809X */ 15248,
- /* branch: 0x80aX */ 15264,
- /* branch: 0x80bX */ 15280,
- /* branch: 0x80cX */ 15296,
- /* branch: 0x80dX */ 15312,
- /* branch: 0x80eX */ 15328,
- /* branch: 0x80fX */ 15344,
- /* key: 0x8000 */ 0x4d54,
- /* key: 0x8001 */ 0x4f37,
- /* key: 0x8002 */ 0xffff,
- /* key: 0x8003 */ 0x394d,
- /* key: 0x8004 */ 0x664e,
- /* key: 0x8005 */ 0x3c54,
- /* key: 0x8006 */ 0x664d,
- /* key: 0x8007 */ 0xd548,
- /* key: 0x8008 */ 0xd549,
- /* key: 0x8009 */ 0xffff,
- /* key: 0x800a */ 0xd54a,
- /* key: 0x800b */ 0x664f,
- /* key: 0x800c */ 0x3c29,
- /* key: 0x800d */ 0xd54b,
- /* key: 0x800e */ 0xd54c,
- /* key: 0x800f */ 0xd54d,
- /* key: 0x8010 */ 0x4251,
- /* key: 0x8011 */ 0xd54e,
- /* key: 0x8012 */ 0x6650,
- /* key: 0x8013 */ 0xd54f,
- /* key: 0x8014 */ 0xd550,
- /* key: 0x8015 */ 0x394c,
- /* key: 0x8016 */ 0xd551,
- /* key: 0x8017 */ 0x4c57,
- /* key: 0x8018 */ 0x6651,
- /* key: 0x8019 */ 0x6652,
- /* key: 0x801a */ 0xffff,
- /* key: 0x801b */ 0xffff,
- /* key: 0x801c */ 0x6653,
- /* key: 0x801d */ 0xd552,
- /* key: 0x801e */ 0xd553,
- /* key: 0x801f */ 0xd554,
- /* key: 0x8020 */ 0xd555,
- /* key: 0x8021 */ 0x6654,
- /* key: 0x8022 */ 0xffff,
- /* key: 0x8023 */ 0xffff,
- /* key: 0x8024 */ 0xd556,
- /* key: 0x8025 */ 0xffff,
- /* key: 0x8026 */ 0xd557,
- /* key: 0x8027 */ 0xffff,
- /* key: 0x8028 */ 0x6655,
- /* key: 0x8029 */ 0xffff,
- /* key: 0x802a */ 0xffff,
- /* key: 0x802b */ 0xffff,
- /* key: 0x802c */ 0xd558,
- /* key: 0x802d */ 0xffff,
- /* key: 0x802e */ 0xd559,
- /* key: 0x802f */ 0xffff,
- /* key: 0x8030 */ 0xd55a,
- /* key: 0x8031 */ 0xffff,
- /* key: 0x8032 */ 0xffff,
- /* key: 0x8033 */ 0x3c2a,
- /* key: 0x8034 */ 0xd55b,
- /* key: 0x8035 */ 0xd55c,
- /* key: 0x8036 */ 0x4c6d,
- /* key: 0x8037 */ 0xd55d,
- /* key: 0x8038 */ 0xffff,
- /* key: 0x8039 */ 0xd55e,
- /* key: 0x803a */ 0xd55f,
- /* key: 0x803b */ 0x6657,
- /* key: 0x803c */ 0xd560,
- /* key: 0x803d */ 0x433f,
- /* key: 0x803e */ 0xd561,
- /* key: 0x803f */ 0x6656,
- /* key: 0x8040 */ 0xd562,
- /* key: 0x8041 */ 0xffff,
- /* key: 0x8042 */ 0xffff,
- /* key: 0x8043 */ 0xffff,
- /* key: 0x8044 */ 0xd563,
- /* key: 0x8045 */ 0xffff,
- /* key: 0x8046 */ 0x6659,
- /* key: 0x8047 */ 0xffff,
- /* key: 0x8048 */ 0xffff,
- /* key: 0x8049 */ 0xffff,
- /* key: 0x804a */ 0x6658,
- /* key: 0x804b */ 0xffff,
- /* key: 0x804c */ 0xffff,
- /* key: 0x804d */ 0xffff,
- /* key: 0x804e */ 0xffff,
- /* key: 0x804f */ 0xffff,
- /* key: 0x8050 */ 0xffff,
- /* key: 0x8051 */ 0xffff,
- /* key: 0x8052 */ 0x665a,
- /* key: 0x8053 */ 0xffff,
- /* key: 0x8054 */ 0xffff,
- /* key: 0x8055 */ 0xffff,
- /* key: 0x8056 */ 0x403b,
- /* key: 0x8057 */ 0xffff,
- /* key: 0x8058 */ 0x665b,
- /* key: 0x8059 */ 0xffff,
- /* key: 0x805a */ 0x665c,
- /* key: 0x805b */ 0xffff,
- /* key: 0x805c */ 0xffff,
- /* key: 0x805d */ 0xffff,
- /* key: 0x805e */ 0x4a39,
- /* key: 0x805f */ 0x665d,
- /* key: 0x8060 */ 0xd564,
- /* key: 0x8061 */ 0x416f,
- /* key: 0x8062 */ 0x665e,
- /* key: 0x8063 */ 0xffff,
- /* key: 0x8064 */ 0xd565,
- /* key: 0x8065 */ 0xffff,
- /* key: 0x8066 */ 0xd566,
- /* key: 0x8067 */ 0xffff,
- /* key: 0x8068 */ 0x665f,
- /* key: 0x8069 */ 0xffff,
- /* key: 0x806a */ 0xffff,
- /* key: 0x806b */ 0xffff,
- /* key: 0x806c */ 0xffff,
- /* key: 0x806d */ 0xd567,
- /* key: 0x806e */ 0xffff,
- /* key: 0x806f */ 0x4e7e,
- /* key: 0x8070 */ 0x6662,
- /* key: 0x8071 */ 0xd568,
- /* key: 0x8072 */ 0x6661,
- /* key: 0x8073 */ 0x6660,
- /* key: 0x8074 */ 0x4430,
- /* key: 0x8075 */ 0xd569,
- /* key: 0x8076 */ 0x6663,
- /* key: 0x8077 */ 0x3f26,
- /* key: 0x8078 */ 0xffff,
- /* key: 0x8079 */ 0x6664,
- /* key: 0x807a */ 0xffff,
- /* key: 0x807b */ 0xffff,
- /* key: 0x807c */ 0xffff,
- /* key: 0x807d */ 0x6665,
- /* key: 0x807e */ 0x4f38,
- /* key: 0x807f */ 0x6666,
- /* key: 0x8080 */ 0xffff,
- /* key: 0x8081 */ 0xd56a,
- /* key: 0x8082 */ 0xffff,
- /* key: 0x8083 */ 0xffff,
- /* key: 0x8084 */ 0x6667,
- /* key: 0x8085 */ 0x6669,
- /* key: 0x8086 */ 0x6668,
- /* key: 0x8087 */ 0x4825,
- /* key: 0x8088 */ 0xd56b,
- /* key: 0x8089 */ 0x4679,
- /* key: 0x808a */ 0xffff,
- /* key: 0x808b */ 0x4f3e,
- /* key: 0x808c */ 0x4829,
- /* key: 0x808d */ 0xffff,
- /* key: 0x808e */ 0xd56c,
- /* key: 0x808f */ 0xffff,
- /* key: 0x8090 */ 0xffff,
- /* key: 0x8091 */ 0xffff,
- /* key: 0x8092 */ 0xffff,
- /* key: 0x8093 */ 0x666b,
- /* key: 0x8094 */ 0xffff,
- /* key: 0x8095 */ 0xffff,
- /* key: 0x8096 */ 0x3e53,
- /* key: 0x8097 */ 0xffff,
- /* key: 0x8098 */ 0x492a,
- /* key: 0x8099 */ 0xffff,
- /* key: 0x809a */ 0x666c,
- /* key: 0x809b */ 0x666a,
- /* key: 0x809c */ 0xd56d,
- /* key: 0x809d */ 0x344e,
- /* key: 0x809e */ 0xd56e,
- /* key: 0x809f */ 0xffff,
- /* key: 0x80a0 */ 0xffff,
- /* key: 0x80a1 */ 0x3854,
- /* key: 0x80a2 */ 0x3b68,
- /* key: 0x80a3 */ 0xffff,
- /* key: 0x80a4 */ 0xffff,
- /* key: 0x80a5 */ 0x486e,
- /* key: 0x80a6 */ 0xd56f,
- /* key: 0x80a7 */ 0xd570,
- /* key: 0x80a8 */ 0xffff,
- /* key: 0x80a9 */ 0x382a,
- /* key: 0x80aa */ 0x4b43,
- /* key: 0x80ab */ 0xd571,
- /* key: 0x80ac */ 0x666f,
- /* key: 0x80ad */ 0x666d,
- /* key: 0x80ae */ 0xffff,
- /* key: 0x80af */ 0x394e,
- /* key: 0x80b0 */ 0xffff,
- /* key: 0x80b1 */ 0x394f,
- /* key: 0x80b2 */ 0x3069,
- /* key: 0x80b3 */ 0xffff,
- /* key: 0x80b4 */ 0x3a68,
- /* key: 0x80b5 */ 0xffff,
- /* key: 0x80b6 */ 0xffff,
- /* key: 0x80b7 */ 0xffff,
- /* key: 0x80b8 */ 0xd572,
- /* key: 0x80b9 */ 0xd573,
- /* key: 0x80ba */ 0x4759,
- /* key: 0x80bb */ 0xffff,
- /* key: 0x80bc */ 0xffff,
- /* key: 0x80bd */ 0xffff,
- /* key: 0x80be */ 0xffff,
- /* key: 0x80bf */ 0xffff,
- /* key: 0x80c0 */ 0xffff,
- /* key: 0x80c1 */ 0xffff,
- /* key: 0x80c2 */ 0xffff,
- /* key: 0x80c3 */ 0x305f,
- /* key: 0x80c4 */ 0x6674,
- /* key: 0x80c5 */ 0xffff,
- /* key: 0x80c6 */ 0x4340,
- /* key: 0x80c7 */ 0xffff,
- /* key: 0x80c8 */ 0xd574,
- /* key: 0x80c9 */ 0xffff,
- /* key: 0x80ca */ 0xffff,
- /* key: 0x80cb */ 0xffff,
- /* key: 0x80cc */ 0x4758,
- /* key: 0x80cd */ 0xd575,
- /* key: 0x80ce */ 0x425b,
- /* key: 0x80cf */ 0xd576,
- /* key: 0x80d0 */ 0xffff,
- /* key: 0x80d1 */ 0xffff,
- /* key: 0x80d2 */ 0xd577,
- /* key: 0x80d3 */ 0xffff,
- /* key: 0x80d4 */ 0xd578,
- /* key: 0x80d5 */ 0xd579,
- /* key: 0x80d6 */ 0x6676,
- /* key: 0x80d7 */ 0xd57a,
- /* key: 0x80d8 */ 0xd57b,
- /* key: 0x80d9 */ 0x6672,
- /* key: 0x80da */ 0x6675,
- /* key: 0x80db */ 0x6670,
- /* key: 0x80dc */ 0xffff,
- /* key: 0x80dd */ 0x6673,
- /* key: 0x80de */ 0x4b26,
- /* key: 0x80df */ 0xffff,
- /* key: 0x80e0 */ 0xd57c,
- /* key: 0x80e1 */ 0x3855,
- /* key: 0x80e2 */ 0xffff,
- /* key: 0x80e3 */ 0xffff,
- /* key: 0x80e4 */ 0x307d,
- /* key: 0x80e5 */ 0x6671,
- /* key: 0x80e6 */ 0xffff,
- /* key: 0x80e7 */ 0xffff,
- /* key: 0x80e8 */ 0xffff,
- /* key: 0x80e9 */ 0xffff,
- /* key: 0x80ea */ 0xffff,
- /* key: 0x80eb */ 0xffff,
- /* key: 0x80ec */ 0xffff,
- /* key: 0x80ed */ 0xd57d,
- /* key: 0x80ee */ 0xd57e,
- /* key: 0x80ef */ 0x6678,
- /* key: 0x80f0 */ 0xd621,
- /* key: 0x80f1 */ 0x6679,
- /* key: 0x80f2 */ 0xd622,
- /* key: 0x80f3 */ 0xd623,
- /* key: 0x80f4 */ 0x4639,
- /* key: 0x80f5 */ 0xffff,
- /* key: 0x80f6 */ 0xd624,
- /* key: 0x80f7 */ 0xffff,
- /* key: 0x80f8 */ 0x363b,
- /* key: 0x80f9 */ 0xd625,
- /* key: 0x80fa */ 0xd626,
- /* key: 0x80fb */ 0xffff,
- /* key: 0x80fc */ 0x6726,
- /* key: 0x80fd */ 0x473d,
- /* key: 0x80fe */ 0xd627,
- /* key: 0x80ff */ 0xffff,
- /* branch: 0x810X */ 15376,
- /* branch: 0x811X */ 15392,
- /* branch: 0x812X */ 15408,
- /* branch: 0x813X */ 15424,
- /* branch: 0x814X */ 15440,
- /* branch: 0x815X */ 15456,
- /* branch: 0x816X */ 15472,
- /* branch: 0x817X */ 15488,
- /* branch: 0x818X */ 15504,
- /* branch: 0x819X */ 15520,
- /* branch: 0x81aX */ 15536,
- /* branch: 0x81bX */ 15552,
- /* branch: 0x81cX */ 15568,
- /* branch: 0x81dX */ 15584,
- /* branch: 0x81eX */ 15600,
- /* branch: 0x81fX */ 15616,
- /* key: 0x8100 */ 0xffff,
- /* key: 0x8101 */ 0xffff,
- /* key: 0x8102 */ 0x3b69,
- /* key: 0x8103 */ 0xd628,
- /* key: 0x8104 */ 0xffff,
- /* key: 0x8105 */ 0x363c,
- /* key: 0x8106 */ 0x4048,
- /* key: 0x8107 */ 0x4f46,
- /* key: 0x8108 */ 0x4c2e,
- /* key: 0x8109 */ 0x6677,
- /* key: 0x810a */ 0x4054,
- /* key: 0x810b */ 0xd629,
- /* key: 0x810c */ 0xffff,
- /* key: 0x810d */ 0xffff,
- /* key: 0x810e */ 0xffff,
- /* key: 0x810f */ 0xffff,
- /* key: 0x8110 */ 0xffff,
- /* key: 0x8111 */ 0xffff,
- /* key: 0x8112 */ 0xffff,
- /* key: 0x8113 */ 0xffff,
- /* key: 0x8114 */ 0xffff,
- /* key: 0x8115 */ 0xffff,
- /* key: 0x8116 */ 0xd62a,
- /* key: 0x8117 */ 0xd62b,
- /* key: 0x8118 */ 0xd62c,
- /* key: 0x8119 */ 0xffff,
- /* key: 0x811a */ 0x3553,
- /* key: 0x811b */ 0x667a,
- /* key: 0x811c */ 0xd62d,
- /* key: 0x811d */ 0xffff,
- /* key: 0x811e */ 0xd62e,
- /* key: 0x811f */ 0xffff,
- /* key: 0x8120 */ 0xd62f,
- /* key: 0x8121 */ 0xffff,
- /* key: 0x8122 */ 0xffff,
- /* key: 0x8123 */ 0x667c,
- /* key: 0x8124 */ 0xd630,
- /* key: 0x8125 */ 0xffff,
- /* key: 0x8126 */ 0xffff,
- /* key: 0x8127 */ 0xd631,
- /* key: 0x8128 */ 0xffff,
- /* key: 0x8129 */ 0x667b,
- /* key: 0x812a */ 0xffff,
- /* key: 0x812b */ 0xffff,
- /* key: 0x812c */ 0xd632,
- /* key: 0x812d */ 0xffff,
- /* key: 0x812e */ 0xffff,
- /* key: 0x812f */ 0x667d,
- /* key: 0x8130 */ 0xd633,
- /* key: 0x8131 */ 0x4326,
- /* key: 0x8132 */ 0xffff,
- /* key: 0x8133 */ 0x473e,
- /* key: 0x8134 */ 0xffff,
- /* key: 0x8135 */ 0xd634,
- /* key: 0x8136 */ 0xffff,
- /* key: 0x8137 */ 0xffff,
- /* key: 0x8138 */ 0xffff,
- /* key: 0x8139 */ 0x4431,
- /* key: 0x813a */ 0xd635,
- /* key: 0x813b */ 0xffff,
- /* key: 0x813c */ 0xd636,
- /* key: 0x813d */ 0xffff,
- /* key: 0x813e */ 0x6723,
- /* key: 0x813f */ 0xffff,
- /* key: 0x8140 */ 0xffff,
- /* key: 0x8141 */ 0xffff,
- /* key: 0x8142 */ 0xffff,
- /* key: 0x8143 */ 0xffff,
- /* key: 0x8144 */ 0xffff,
- /* key: 0x8145 */ 0xd637,
- /* key: 0x8146 */ 0x6722,
- /* key: 0x8147 */ 0xd638,
- /* key: 0x8148 */ 0xffff,
- /* key: 0x8149 */ 0xffff,
- /* key: 0x814a */ 0xd639,
- /* key: 0x814b */ 0x667e,
- /* key: 0x814c */ 0xd63a,
- /* key: 0x814d */ 0xffff,
- /* key: 0x814e */ 0x3f55,
- /* key: 0x814f */ 0xffff,
- /* key: 0x8150 */ 0x4965,
- /* key: 0x8151 */ 0x6725,
- /* key: 0x8152 */ 0xd63b,
- /* key: 0x8153 */ 0x6724,
- /* key: 0x8154 */ 0x3950,
- /* key: 0x8155 */ 0x4f53,
- /* key: 0x8156 */ 0xffff,
- /* key: 0x8157 */ 0xd63c,
- /* key: 0x8158 */ 0xffff,
- /* key: 0x8159 */ 0xffff,
- /* key: 0x815a */ 0xffff,
- /* key: 0x815b */ 0xffff,
- /* key: 0x815c */ 0xffff,
- /* key: 0x815d */ 0xffff,
- /* key: 0x815e */ 0xffff,
- /* key: 0x815f */ 0x6735,
- /* key: 0x8160 */ 0xd63d,
- /* key: 0x8161 */ 0xd63e,
- /* key: 0x8162 */ 0xffff,
- /* key: 0x8163 */ 0xffff,
- /* key: 0x8164 */ 0xffff,
- /* key: 0x8165 */ 0x6729,
- /* key: 0x8166 */ 0x672a,
- /* key: 0x8167 */ 0xd63f,
- /* key: 0x8168 */ 0xd640,
- /* key: 0x8169 */ 0xd641,
- /* key: 0x816a */ 0xffff,
- /* key: 0x816b */ 0x3c70,
- /* key: 0x816c */ 0xffff,
- /* key: 0x816d */ 0xd642,
- /* key: 0x816e */ 0x6728,
- /* key: 0x816f */ 0xd643,
- /* key: 0x8170 */ 0x3978,
- /* key: 0x8171 */ 0x6727,
- /* key: 0x8172 */ 0xffff,
- /* key: 0x8173 */ 0xffff,
- /* key: 0x8174 */ 0x672b,
- /* key: 0x8175 */ 0xffff,
- /* key: 0x8176 */ 0xffff,
- /* key: 0x8177 */ 0xd644,
- /* key: 0x8178 */ 0x4432,
- /* key: 0x8179 */ 0x4a22,
- /* key: 0x817a */ 0x4123,
- /* key: 0x817b */ 0xffff,
- /* key: 0x817c */ 0xffff,
- /* key: 0x817d */ 0xffff,
- /* key: 0x817e */ 0xffff,
- /* key: 0x817f */ 0x425c,
- /* key: 0x8180 */ 0x672f,
- /* key: 0x8181 */ 0xd645,
- /* key: 0x8182 */ 0x6730,
- /* key: 0x8183 */ 0x672c,
- /* key: 0x8184 */ 0xd647,
- /* key: 0x8185 */ 0xd648,
- /* key: 0x8186 */ 0xd649,
- /* key: 0x8187 */ 0xffff,
- /* key: 0x8188 */ 0x672d,
- /* key: 0x8189 */ 0xffff,
- /* key: 0x818a */ 0x672e,
- /* key: 0x818b */ 0xd64a,
- /* key: 0x818c */ 0xffff,
- /* key: 0x818d */ 0xffff,
- /* key: 0x818e */ 0xd64b,
- /* key: 0x818f */ 0x3951,
- /* key: 0x8190 */ 0xd646,
- /* key: 0x8191 */ 0xffff,
- /* key: 0x8192 */ 0xffff,
- /* key: 0x8193 */ 0x6736,
- /* key: 0x8194 */ 0xffff,
- /* key: 0x8195 */ 0x6732,
- /* key: 0x8196 */ 0xd64c,
- /* key: 0x8197 */ 0xffff,
- /* key: 0x8198 */ 0xd64d,
- /* key: 0x8199 */ 0xffff,
- /* key: 0x819a */ 0x4966,
- /* key: 0x819b */ 0xd64e,
- /* key: 0x819c */ 0x4b6c,
- /* key: 0x819d */ 0x4928,
- /* key: 0x819e */ 0xd64f,
- /* key: 0x819f */ 0xffff,
- /* key: 0x81a0 */ 0x6731,
- /* key: 0x81a1 */ 0xffff,
- /* key: 0x81a2 */ 0xd650,
- /* key: 0x81a3 */ 0x6734,
- /* key: 0x81a4 */ 0x6733,
- /* key: 0x81a5 */ 0xffff,
- /* key: 0x81a6 */ 0xffff,
- /* key: 0x81a7 */ 0xffff,
- /* key: 0x81a8 */ 0x4b44,
- /* key: 0x81a9 */ 0x6737,
- /* key: 0x81aa */ 0xffff,
- /* key: 0x81ab */ 0xffff,
- /* key: 0x81ac */ 0xffff,
- /* key: 0x81ad */ 0xffff,
- /* key: 0x81ae */ 0xd651,
- /* key: 0x81af */ 0xffff,
- /* key: 0x81b0 */ 0x6738,
- /* key: 0x81b1 */ 0xffff,
- /* key: 0x81b2 */ 0xd652,
- /* key: 0x81b3 */ 0x4137,
- /* key: 0x81b4 */ 0xd653,
- /* key: 0x81b5 */ 0x6739,
- /* key: 0x81b6 */ 0xffff,
- /* key: 0x81b7 */ 0xffff,
- /* key: 0x81b8 */ 0x673b,
- /* key: 0x81b9 */ 0xffff,
- /* key: 0x81ba */ 0x673f,
- /* key: 0x81bb */ 0xd654,
- /* key: 0x81bc */ 0xffff,
- /* key: 0x81bd */ 0x673c,
- /* key: 0x81be */ 0x673a,
- /* key: 0x81bf */ 0x473f,
- /* key: 0x81c0 */ 0x673d,
- /* key: 0x81c1 */ 0xffff,
- /* key: 0x81c2 */ 0x673e,
- /* key: 0x81c3 */ 0xd656,
- /* key: 0x81c4 */ 0xffff,
- /* key: 0x81c5 */ 0xd657,
- /* key: 0x81c6 */ 0x3232,
- /* key: 0x81c7 */ 0xffff,
- /* key: 0x81c8 */ 0x6745,
- /* key: 0x81c9 */ 0x6740,
- /* key: 0x81ca */ 0xd658,
- /* key: 0x81cb */ 0xd655,
- /* key: 0x81cc */ 0xffff,
- /* key: 0x81cd */ 0x6741,
- /* key: 0x81ce */ 0xd659,
- /* key: 0x81cf */ 0xd65a,
- /* key: 0x81d0 */ 0xffff,
- /* key: 0x81d1 */ 0x6742,
- /* key: 0x81d2 */ 0xffff,
- /* key: 0x81d3 */ 0x4221,
- /* key: 0x81d4 */ 0xffff,
- /* key: 0x81d5 */ 0xd65b,
- /* key: 0x81d6 */ 0xffff,
- /* key: 0x81d7 */ 0xd65c,
- /* key: 0x81d8 */ 0x6744,
- /* key: 0x81d9 */ 0x6743,
- /* key: 0x81da */ 0x6746,
- /* key: 0x81db */ 0xd65d,
- /* key: 0x81dc */ 0xffff,
- /* key: 0x81dd */ 0xd65e,
- /* key: 0x81de */ 0xd65f,
- /* key: 0x81df */ 0x6747,
- /* key: 0x81e0 */ 0x6748,
- /* key: 0x81e1 */ 0xd660,
- /* key: 0x81e2 */ 0xffff,
- /* key: 0x81e3 */ 0x3f43,
- /* key: 0x81e4 */ 0xd661,
- /* key: 0x81e5 */ 0x3269,
- /* key: 0x81e6 */ 0xffff,
- /* key: 0x81e7 */ 0x6749,
- /* key: 0x81e8 */ 0x4e57,
- /* key: 0x81e9 */ 0xffff,
- /* key: 0x81ea */ 0x3c2b,
- /* key: 0x81eb */ 0xd662,
- /* key: 0x81ec */ 0xd663,
- /* key: 0x81ed */ 0x3d2d,
- /* key: 0x81ee */ 0xffff,
- /* key: 0x81ef */ 0xffff,
- /* key: 0x81f0 */ 0xd664,
- /* key: 0x81f1 */ 0xd665,
- /* key: 0x81f2 */ 0xd666,
- /* key: 0x81f3 */ 0x3b6a,
- /* key: 0x81f4 */ 0x4357,
- /* key: 0x81f5 */ 0xd667,
- /* key: 0x81f6 */ 0xd668,
- /* key: 0x81f7 */ 0xffff,
- /* key: 0x81f8 */ 0xd669,
- /* key: 0x81f9 */ 0xd66a,
- /* key: 0x81fa */ 0x674a,
- /* key: 0x81fb */ 0x674b,
- /* key: 0x81fc */ 0x3131,
- /* key: 0x81fd */ 0xd66b,
- /* key: 0x81fe */ 0x674c,
- /* key: 0x81ff */ 0xd66c,
- /* branch: 0x820X */ 15648,
- /* branch: 0x821X */ 15664,
- /* branch: 0x822X */ 15680,
- /* branch: 0x823X */ 15696,
- /* branch: 0x824X */ 15712,
- /* branch: 0x825X */ 15728,
- /* branch: 0x826X */ 15744,
- /* branch: 0x827X */ 15760,
- /* branch: 0x828X */ 15776,
- /* branch: 0x829X */ 15792,
- /* branch: 0x82aX */ 15808,
- /* branch: 0x82bX */ 15824,
- /* branch: 0x82cX */ 15840,
- /* branch: 0x82dX */ 15856,
- /* branch: 0x82eX */ 15872,
- /* branch: 0x82fX */ 15888,
- /* key: 0x8200 */ 0xd66d,
- /* key: 0x8201 */ 0x674d,
- /* key: 0x8202 */ 0x674e,
- /* key: 0x8203 */ 0xd66e,
- /* key: 0x8204 */ 0xffff,
- /* key: 0x8205 */ 0x674f,
- /* key: 0x8206 */ 0xffff,
- /* key: 0x8207 */ 0x6750,
- /* key: 0x8208 */ 0x363d,
- /* key: 0x8209 */ 0x5a2a,
- /* key: 0x820a */ 0x6751,
- /* key: 0x820b */ 0xffff,
- /* key: 0x820c */ 0x4065,
- /* key: 0x820d */ 0x6752,
- /* key: 0x820e */ 0x3c4b,
- /* key: 0x820f */ 0xd66f,
- /* key: 0x8210 */ 0x6753,
- /* key: 0x8211 */ 0xffff,
- /* key: 0x8212 */ 0x5030,
- /* key: 0x8213 */ 0xd670,
- /* key: 0x8214 */ 0xd671,
- /* key: 0x8215 */ 0xffff,
- /* key: 0x8216 */ 0x6754,
- /* key: 0x8217 */ 0x4a5e,
- /* key: 0x8218 */ 0x345c,
- /* key: 0x8219 */ 0xd672,
- /* key: 0x821a */ 0xd673,
- /* key: 0x821b */ 0x4124,
- /* key: 0x821c */ 0x3d58,
- /* key: 0x821d */ 0xd674,
- /* key: 0x821e */ 0x4971,
- /* key: 0x821f */ 0x3d2e,
- /* key: 0x8220 */ 0xffff,
- /* key: 0x8221 */ 0xd675,
- /* key: 0x8222 */ 0xd676,
- /* key: 0x8223 */ 0xffff,
- /* key: 0x8224 */ 0xffff,
- /* key: 0x8225 */ 0xffff,
- /* key: 0x8226 */ 0xffff,
- /* key: 0x8227 */ 0xffff,
- /* key: 0x8228 */ 0xd677,
- /* key: 0x8229 */ 0x6755,
- /* key: 0x822a */ 0x3952,
- /* key: 0x822b */ 0x6756,
- /* key: 0x822c */ 0x484c,
- /* key: 0x822d */ 0xffff,
- /* key: 0x822e */ 0x6764,
- /* key: 0x822f */ 0xffff,
- /* key: 0x8230 */ 0xffff,
- /* key: 0x8231 */ 0xffff,
- /* key: 0x8232 */ 0xd678,
- /* key: 0x8233 */ 0x6758,
- /* key: 0x8234 */ 0xd679,
- /* key: 0x8235 */ 0x4249,
- /* key: 0x8236 */ 0x4775,
- /* key: 0x8237 */ 0x383f,
- /* key: 0x8238 */ 0x6757,
- /* key: 0x8239 */ 0x4125,
- /* key: 0x823a */ 0xd67a,
- /* key: 0x823b */ 0xffff,
- /* key: 0x823c */ 0xffff,
- /* key: 0x823d */ 0xffff,
- /* key: 0x823e */ 0xffff,
- /* key: 0x823f */ 0xffff,
- /* key: 0x8240 */ 0x6759,
- /* key: 0x8241 */ 0xffff,
- /* key: 0x8242 */ 0xffff,
- /* key: 0x8243 */ 0xd67b,
- /* key: 0x8244 */ 0xd67c,
- /* key: 0x8245 */ 0xd67d,
- /* key: 0x8246 */ 0xd67e,
- /* key: 0x8247 */ 0x447a,
- /* key: 0x8248 */ 0xffff,
- /* key: 0x8249 */ 0xffff,
- /* key: 0x824a */ 0xffff,
- /* key: 0x824b */ 0xd721,
- /* key: 0x824c */ 0xffff,
- /* key: 0x824d */ 0xffff,
- /* key: 0x824e */ 0xd722,
- /* key: 0x824f */ 0xd723,
- /* key: 0x8250 */ 0xffff,
- /* key: 0x8251 */ 0xd724,
- /* key: 0x8252 */ 0xffff,
- /* key: 0x8253 */ 0xffff,
- /* key: 0x8254 */ 0xffff,
- /* key: 0x8255 */ 0xffff,
- /* key: 0x8256 */ 0xd725,
- /* key: 0x8257 */ 0xffff,
- /* key: 0x8258 */ 0x675b,
- /* key: 0x8259 */ 0x675a,
- /* key: 0x825a */ 0x675d,
- /* key: 0x825b */ 0xffff,
- /* key: 0x825c */ 0xd726,
- /* key: 0x825d */ 0x675c,
- /* key: 0x825e */ 0xffff,
- /* key: 0x825f */ 0x675e,
- /* key: 0x8260 */ 0xd727,
- /* key: 0x8261 */ 0xffff,
- /* key: 0x8262 */ 0x6760,
- /* key: 0x8263 */ 0xd728,
- /* key: 0x8264 */ 0x675f,
- /* key: 0x8265 */ 0xffff,
- /* key: 0x8266 */ 0x344f,
- /* key: 0x8267 */ 0xd729,
- /* key: 0x8268 */ 0x6761,
- /* key: 0x8269 */ 0xffff,
- /* key: 0x826a */ 0x6762,
- /* key: 0x826b */ 0x6763,
- /* key: 0x826c */ 0xffff,
- /* key: 0x826d */ 0xd72a,
- /* key: 0x826e */ 0x3a31,
- /* key: 0x826f */ 0x4e49,
- /* key: 0x8270 */ 0xffff,
- /* key: 0x8271 */ 0x6765,
- /* key: 0x8272 */ 0x3f27,
- /* key: 0x8273 */ 0xffff,
- /* key: 0x8274 */ 0xd72b,
- /* key: 0x8275 */ 0xffff,
- /* key: 0x8276 */ 0x3170,
- /* key: 0x8277 */ 0x6766,
- /* key: 0x8278 */ 0x6767,
- /* key: 0x8279 */ 0xffff,
- /* key: 0x827a */ 0xffff,
- /* key: 0x827b */ 0xd72c,
- /* key: 0x827c */ 0xffff,
- /* key: 0x827d */ 0xd72d,
- /* key: 0x827e */ 0x6768,
- /* key: 0x827f */ 0xd72e,
- /* key: 0x8280 */ 0xd72f,
- /* key: 0x8281 */ 0xd730,
- /* key: 0x8282 */ 0xffff,
- /* key: 0x8283 */ 0xd731,
- /* key: 0x8284 */ 0xd732,
- /* key: 0x8285 */ 0xffff,
- /* key: 0x8286 */ 0xffff,
- /* key: 0x8287 */ 0xd733,
- /* key: 0x8288 */ 0xffff,
- /* key: 0x8289 */ 0xd734,
- /* key: 0x828a */ 0xd735,
- /* key: 0x828b */ 0x3072,
- /* key: 0x828c */ 0xffff,
- /* key: 0x828d */ 0x6769,
- /* key: 0x828e */ 0xd736,
- /* key: 0x828f */ 0xffff,
- /* key: 0x8290 */ 0xffff,
- /* key: 0x8291 */ 0xd737,
- /* key: 0x8292 */ 0x676a,
- /* key: 0x8293 */ 0xffff,
- /* key: 0x8294 */ 0xd738,
- /* key: 0x8295 */ 0xffff,
- /* key: 0x8296 */ 0xd739,
- /* key: 0x8297 */ 0xffff,
- /* key: 0x8298 */ 0xd73a,
- /* key: 0x8299 */ 0x4967,
- /* key: 0x829a */ 0xd73b,
- /* key: 0x829b */ 0xd73c,
- /* key: 0x829c */ 0xffff,
- /* key: 0x829d */ 0x3c47,
- /* key: 0x829e */ 0xffff,
- /* key: 0x829f */ 0x676c,
- /* key: 0x82a0 */ 0xd73d,
- /* key: 0x82a1 */ 0xd73e,
- /* key: 0x82a2 */ 0xffff,
- /* key: 0x82a3 */ 0xd73f,
- /* key: 0x82a4 */ 0xd740,
- /* key: 0x82a5 */ 0x3329,
- /* key: 0x82a6 */ 0x3032,
- /* key: 0x82a7 */ 0xd741,
- /* key: 0x82a8 */ 0xd742,
- /* key: 0x82a9 */ 0xd743,
- /* key: 0x82aa */ 0xd744,
- /* key: 0x82ab */ 0x676b,
- /* key: 0x82ac */ 0x676e,
- /* key: 0x82ad */ 0x474e,
- /* key: 0x82ae */ 0xd745,
- /* key: 0x82af */ 0x3f44,
- /* key: 0x82b0 */ 0xd746,
- /* key: 0x82b1 */ 0x3256,
- /* key: 0x82b2 */ 0xd747,
- /* key: 0x82b3 */ 0x4b27,
- /* key: 0x82b4 */ 0xd748,
- /* key: 0x82b5 */ 0xffff,
- /* key: 0x82b6 */ 0xffff,
- /* key: 0x82b7 */ 0xd749,
- /* key: 0x82b8 */ 0x375d,
- /* key: 0x82b9 */ 0x365c,
- /* key: 0x82ba */ 0xd74a,
- /* key: 0x82bb */ 0x676d,
- /* key: 0x82bc */ 0xd74b,
- /* key: 0x82bd */ 0x326a,
- /* key: 0x82be */ 0xd74c,
- /* key: 0x82bf */ 0xd74d,
- /* key: 0x82c0 */ 0xffff,
- /* key: 0x82c1 */ 0xffff,
- /* key: 0x82c2 */ 0xffff,
- /* key: 0x82c3 */ 0xffff,
- /* key: 0x82c4 */ 0xffff,
- /* key: 0x82c5 */ 0x3423,
- /* key: 0x82c6 */ 0xd74e,
- /* key: 0x82c7 */ 0xffff,
- /* key: 0x82c8 */ 0xffff,
- /* key: 0x82c9 */ 0xffff,
- /* key: 0x82ca */ 0xffff,
- /* key: 0x82cb */ 0xffff,
- /* key: 0x82cc */ 0xffff,
- /* key: 0x82cd */ 0xffff,
- /* key: 0x82ce */ 0xffff,
- /* key: 0x82cf */ 0xffff,
- /* key: 0x82d0 */ 0xd74f,
- /* key: 0x82d1 */ 0x3171,
- /* key: 0x82d2 */ 0x6772,
- /* key: 0x82d3 */ 0x4e6a,
- /* key: 0x82d4 */ 0x425d,
- /* key: 0x82d5 */ 0xd750,
- /* key: 0x82d6 */ 0xffff,
- /* key: 0x82d7 */ 0x4944,
- /* key: 0x82d8 */ 0xffff,
- /* key: 0x82d9 */ 0x677e,
- /* key: 0x82da */ 0xd751,
- /* key: 0x82db */ 0x3257,
- /* key: 0x82dc */ 0x677c,
- /* key: 0x82dd */ 0xffff,
- /* key: 0x82de */ 0x677a,
- /* key: 0x82df */ 0x6771,
- /* key: 0x82e0 */ 0xd752,
- /* key: 0x82e1 */ 0x676f,
- /* key: 0x82e2 */ 0xd753,
- /* key: 0x82e3 */ 0x6770,
- /* key: 0x82e4 */ 0xd754,
- /* key: 0x82e5 */ 0x3c63,
- /* key: 0x82e6 */ 0x366c,
- /* key: 0x82e7 */ 0x4377,
- /* key: 0x82e8 */ 0xd755,
- /* key: 0x82e9 */ 0xffff,
- /* key: 0x82ea */ 0xd756,
- /* key: 0x82eb */ 0x4651,
- /* key: 0x82ec */ 0xffff,
- /* key: 0x82ed */ 0xd757,
- /* key: 0x82ee */ 0xffff,
- /* key: 0x82ef */ 0xd758,
- /* key: 0x82f0 */ 0xffff,
- /* key: 0x82f1 */ 0x3151,
- /* key: 0x82f2 */ 0xffff,
- /* key: 0x82f3 */ 0x6774,
- /* key: 0x82f4 */ 0x6773,
- /* key: 0x82f5 */ 0xffff,
- /* key: 0x82f6 */ 0xd759,
- /* key: 0x82f7 */ 0xd75a,
- /* key: 0x82f8 */ 0xffff,
- /* key: 0x82f9 */ 0x6779,
- /* key: 0x82fa */ 0x6775,
- /* key: 0x82fb */ 0x6778,
- /* key: 0x82fc */ 0xffff,
- /* key: 0x82fd */ 0xd75b,
- /* key: 0x82fe */ 0xd75c,
- /* key: 0x82ff */ 0xffff,
- /* branch: 0x830X */ 15920,
- /* branch: 0x831X */ 15936,
- /* branch: 0x832X */ 15952,
- /* branch: 0x833X */ 15968,
- /* branch: 0x834X */ 15984,
- /* branch: 0x835X */ 16000,
- /* branch: 0x836X */ 0,
- /* branch: 0x837X */ 16016,
- /* branch: 0x838X */ 16032,
- /* branch: 0x839X */ 16048,
- /* branch: 0x83aX */ 16064,
- /* branch: 0x83bX */ 16080,
- /* branch: 0x83cX */ 16096,
- /* branch: 0x83dX */ 16112,
- /* branch: 0x83eX */ 16128,
- /* branch: 0x83fX */ 16144,
- /* key: 0x8300 */ 0xd75d,
- /* key: 0x8301 */ 0xd75e,
- /* key: 0x8302 */ 0x4c50,
- /* key: 0x8303 */ 0x6777,
- /* key: 0x8304 */ 0x3258,
- /* key: 0x8305 */ 0x337d,
- /* key: 0x8306 */ 0x677b,
- /* key: 0x8307 */ 0xd75f,
- /* key: 0x8308 */ 0xd760,
- /* key: 0x8309 */ 0x677d,
- /* key: 0x830a */ 0xd761,
- /* key: 0x830b */ 0xd762,
- /* key: 0x830c */ 0xffff,
- /* key: 0x830d */ 0xffff,
- /* key: 0x830e */ 0x3754,
- /* key: 0x830f */ 0xffff,
- /* key: 0x8310 */ 0xffff,
- /* key: 0x8311 */ 0xffff,
- /* key: 0x8312 */ 0xffff,
- /* key: 0x8313 */ 0xffff,
- /* key: 0x8314 */ 0xffff,
- /* key: 0x8315 */ 0xffff,
- /* key: 0x8316 */ 0x6823,
- /* key: 0x8317 */ 0x682c,
- /* key: 0x8318 */ 0x682d,
- /* key: 0x8319 */ 0xffff,
- /* key: 0x831a */ 0xffff,
- /* key: 0x831b */ 0xd764,
- /* key: 0x831c */ 0x302b,
- /* key: 0x831d */ 0xd765,
- /* key: 0x831e */ 0xd766,
- /* key: 0x831f */ 0xd767,
- /* key: 0x8320 */ 0xffff,
- /* key: 0x8321 */ 0xd768,
- /* key: 0x8322 */ 0xd769,
- /* key: 0x8323 */ 0x6834,
- /* key: 0x8324 */ 0xffff,
- /* key: 0x8325 */ 0xffff,
- /* key: 0x8326 */ 0xffff,
- /* key: 0x8327 */ 0xffff,
- /* key: 0x8328 */ 0x3071,
- /* key: 0x8329 */ 0xffff,
- /* key: 0x832a */ 0xffff,
- /* key: 0x832b */ 0x682b,
- /* key: 0x832c */ 0xd76a,
- /* key: 0x832d */ 0xd76b,
- /* key: 0x832e */ 0xd76c,
- /* key: 0x832f */ 0x682a,
- /* key: 0x8330 */ 0xd76d,
- /* key: 0x8331 */ 0x6825,
- /* key: 0x8332 */ 0x6824,
- /* key: 0x8333 */ 0xd76e,
- /* key: 0x8334 */ 0x6822,
- /* key: 0x8335 */ 0x6821,
- /* key: 0x8336 */ 0x4363,
- /* key: 0x8337 */ 0xd76f,
- /* key: 0x8338 */ 0x427b,
- /* key: 0x8339 */ 0x6827,
- /* key: 0x833a */ 0xd770,
- /* key: 0x833b */ 0xffff,
- /* key: 0x833c */ 0xd771,
- /* key: 0x833d */ 0xd772,
- /* key: 0x833e */ 0xffff,
- /* key: 0x833f */ 0xffff,
- /* key: 0x8340 */ 0x6826,
- /* key: 0x8341 */ 0xffff,
- /* key: 0x8342 */ 0xd773,
- /* key: 0x8343 */ 0xd774,
- /* key: 0x8344 */ 0xd775,
- /* key: 0x8345 */ 0x6829,
- /* key: 0x8346 */ 0xffff,
- /* key: 0x8347 */ 0xd776,
- /* key: 0x8348 */ 0xffff,
- /* key: 0x8349 */ 0x4170,
- /* key: 0x834a */ 0x3755,
- /* key: 0x834b */ 0xffff,
- /* key: 0x834c */ 0xffff,
- /* key: 0x834d */ 0xd777,
- /* key: 0x834e */ 0xd778,
- /* key: 0x834f */ 0x3141,
- /* key: 0x8350 */ 0x6828,
- /* key: 0x8351 */ 0xd779,
- /* key: 0x8352 */ 0x3953,
- /* key: 0x8353 */ 0xd83e,
- /* key: 0x8354 */ 0xd763,
- /* key: 0x8355 */ 0xd77a,
- /* key: 0x8356 */ 0xd77b,
- /* key: 0x8357 */ 0xd77c,
- /* key: 0x8358 */ 0x4171,
- /* key: 0x8359 */ 0xffff,
- /* key: 0x835a */ 0xffff,
- /* key: 0x835b */ 0xffff,
- /* key: 0x835c */ 0xffff,
- /* key: 0x835d */ 0xffff,
- /* key: 0x835e */ 0xffff,
- /* key: 0x835f */ 0xffff,
- /* key: 0x8370 */ 0xd77d,
- /* key: 0x8371 */ 0xffff,
- /* key: 0x8372 */ 0xffff,
- /* key: 0x8373 */ 0x683a,
- /* key: 0x8374 */ 0xffff,
- /* key: 0x8375 */ 0x683b,
- /* key: 0x8376 */ 0xffff,
- /* key: 0x8377 */ 0x3259,
- /* key: 0x8378 */ 0xd77e,
- /* key: 0x8379 */ 0xffff,
- /* key: 0x837a */ 0xffff,
- /* key: 0x837b */ 0x322e,
- /* key: 0x837c */ 0x6838,
- /* key: 0x837d */ 0xd821,
- /* key: 0x837e */ 0xffff,
- /* key: 0x837f */ 0xd822,
- /* key: 0x8380 */ 0xd823,
- /* key: 0x8381 */ 0xffff,
- /* key: 0x8382 */ 0xd824,
- /* key: 0x8383 */ 0xffff,
- /* key: 0x8384 */ 0xd825,
- /* key: 0x8385 */ 0x682e,
- /* key: 0x8386 */ 0xd826,
- /* key: 0x8387 */ 0x6836,
- /* key: 0x8388 */ 0xffff,
- /* key: 0x8389 */ 0x683d,
- /* key: 0x838a */ 0x6837,
- /* key: 0x838b */ 0xffff,
- /* key: 0x838c */ 0xffff,
- /* key: 0x838d */ 0xd827,
- /* key: 0x838e */ 0x6835,
- /* key: 0x838f */ 0xffff,
- /* key: 0x8390 */ 0xffff,
- /* key: 0x8391 */ 0xffff,
- /* key: 0x8392 */ 0xd828,
- /* key: 0x8393 */ 0x6776,
- /* key: 0x8394 */ 0xd829,
- /* key: 0x8395 */ 0xd82a,
- /* key: 0x8396 */ 0x6833,
- /* key: 0x8397 */ 0xffff,
- /* key: 0x8398 */ 0xd82b,
- /* key: 0x8399 */ 0xd82c,
- /* key: 0x839a */ 0x682f,
- /* key: 0x839b */ 0xd82d,
- /* key: 0x839c */ 0xd82e,
- /* key: 0x839d */ 0xd82f,
- /* key: 0x839e */ 0x3450,
- /* key: 0x839f */ 0x6831,
- /* key: 0x83a0 */ 0x683c,
- /* key: 0x83a1 */ 0xffff,
- /* key: 0x83a2 */ 0x6832,
- /* key: 0x83a3 */ 0xffff,
- /* key: 0x83a4 */ 0xffff,
- /* key: 0x83a5 */ 0xffff,
- /* key: 0x83a6 */ 0xd830,
- /* key: 0x83a7 */ 0xd831,
- /* key: 0x83a8 */ 0x683e,
- /* key: 0x83a9 */ 0xd832,
- /* key: 0x83aa */ 0x6830,
- /* key: 0x83ab */ 0x477c,
- /* key: 0x83ac */ 0xd833,
- /* key: 0x83ad */ 0xd84c,
- /* key: 0x83ae */ 0xffff,
- /* key: 0x83af */ 0xffff,
- /* key: 0x83b0 */ 0xffff,
- /* key: 0x83b1 */ 0x4d69,
- /* key: 0x83b2 */ 0xffff,
- /* key: 0x83b3 */ 0xffff,
- /* key: 0x83b4 */ 0xffff,
- /* key: 0x83b5 */ 0x6839,
- /* key: 0x83b6 */ 0xffff,
- /* key: 0x83b7 */ 0xffff,
- /* key: 0x83b8 */ 0xffff,
- /* key: 0x83b9 */ 0xffff,
- /* key: 0x83ba */ 0xffff,
- /* key: 0x83bb */ 0xffff,
- /* key: 0x83bc */ 0xffff,
- /* key: 0x83bd */ 0x684f,
- /* key: 0x83be */ 0xd834,
- /* key: 0x83bf */ 0xd835,
- /* key: 0x83c0 */ 0xd836,
- /* key: 0x83c1 */ 0x6847,
- /* key: 0x83c2 */ 0xffff,
- /* key: 0x83c3 */ 0xffff,
- /* key: 0x83c4 */ 0xffff,
- /* key: 0x83c5 */ 0x3f7b,
- /* key: 0x83c6 */ 0xffff,
- /* key: 0x83c7 */ 0xd837,
- /* key: 0x83c8 */ 0xffff,
- /* key: 0x83c9 */ 0xd838,
- /* key: 0x83ca */ 0x3546,
- /* key: 0x83cb */ 0xffff,
- /* key: 0x83cc */ 0x365d,
- /* key: 0x83cd */ 0xffff,
- /* key: 0x83ce */ 0x6842,
- /* key: 0x83cf */ 0xd839,
- /* key: 0x83d0 */ 0xd83a,
- /* key: 0x83d1 */ 0xd83b,
- /* key: 0x83d2 */ 0xffff,
- /* key: 0x83d3 */ 0x325b,
- /* key: 0x83d4 */ 0xd83c,
- /* key: 0x83d5 */ 0xffff,
- /* key: 0x83d6 */ 0x3e54,
- /* key: 0x83d7 */ 0xffff,
- /* key: 0x83d8 */ 0x6845,
- /* key: 0x83d9 */ 0xffff,
- /* key: 0x83da */ 0xffff,
- /* key: 0x83db */ 0xffff,
- /* key: 0x83dc */ 0x3a5a,
- /* key: 0x83dd */ 0xd83d,
- /* key: 0x83de */ 0xffff,
- /* key: 0x83df */ 0x4551,
- /* key: 0x83e0 */ 0x684a,
- /* key: 0x83e1 */ 0xffff,
- /* key: 0x83e2 */ 0xffff,
- /* key: 0x83e3 */ 0xffff,
- /* key: 0x83e4 */ 0xffff,
- /* key: 0x83e5 */ 0xffff,
- /* key: 0x83e6 */ 0xffff,
- /* key: 0x83e7 */ 0xffff,
- /* key: 0x83e8 */ 0xd83f,
- /* key: 0x83e9 */ 0x4a6e,
- /* key: 0x83ea */ 0xd840,
- /* key: 0x83eb */ 0x6841,
- /* key: 0x83ec */ 0xffff,
- /* key: 0x83ed */ 0xffff,
- /* key: 0x83ee */ 0xffff,
- /* key: 0x83ef */ 0x325a,
- /* key: 0x83f0 */ 0x3856,
- /* key: 0x83f1 */ 0x4929,
- /* key: 0x83f2 */ 0x684b,
- /* key: 0x83f3 */ 0xffff,
- /* key: 0x83f4 */ 0x683f,
- /* key: 0x83f5 */ 0xffff,
- /* key: 0x83f6 */ 0xd841,
- /* key: 0x83f7 */ 0x6848,
- /* key: 0x83f8 */ 0xd842,
- /* key: 0x83f9 */ 0xd843,
- /* key: 0x83fa */ 0xffff,
- /* key: 0x83fb */ 0x6852,
- /* key: 0x83fc */ 0xd844,
- /* key: 0x83fd */ 0x6843,
- /* key: 0x83fe */ 0xffff,
- /* key: 0x83ff */ 0xffff,
- /* branch: 0x840X */ 16176,
- /* branch: 0x841X */ 16192,
- /* branch: 0x842X */ 16208,
- /* branch: 0x843X */ 16224,
- /* branch: 0x844X */ 16240,
- /* branch: 0x845X */ 16256,
- /* branch: 0x846X */ 16272,
- /* branch: 0x847X */ 16288,
- /* branch: 0x848X */ 16304,
- /* branch: 0x849X */ 16320,
- /* branch: 0x84aX */ 16336,
- /* branch: 0x84bX */ 16352,
- /* branch: 0x84cX */ 16368,
- /* branch: 0x84dX */ 16384,
- /* branch: 0x84eX */ 16400,
- /* branch: 0x84fX */ 16416,
- /* key: 0x8400 */ 0xffff,
- /* key: 0x8401 */ 0xd845,
- /* key: 0x8402 */ 0xffff,
- /* key: 0x8403 */ 0x6844,
- /* key: 0x8404 */ 0x463a,
- /* key: 0x8405 */ 0xffff,
- /* key: 0x8406 */ 0xd846,
- /* key: 0x8407 */ 0x6849,
- /* key: 0x8408 */ 0xffff,
- /* key: 0x8409 */ 0xffff,
- /* key: 0x840a */ 0xd847,
- /* key: 0x840b */ 0x6846,
- /* key: 0x840c */ 0x4b28,
- /* key: 0x840d */ 0x684c,
- /* key: 0x840e */ 0x3060,
- /* key: 0x840f */ 0xd848,
- /* key: 0x8410 */ 0xffff,
- /* key: 0x8411 */ 0xd849,
- /* key: 0x8412 */ 0xffff,
- /* key: 0x8413 */ 0x6840,
- /* key: 0x8414 */ 0xffff,
- /* key: 0x8415 */ 0xd84a,
- /* key: 0x8416 */ 0xffff,
- /* key: 0x8417 */ 0xffff,
- /* key: 0x8418 */ 0xffff,
- /* key: 0x8419 */ 0xd84b,
- /* key: 0x841a */ 0xffff,
- /* key: 0x841b */ 0xffff,
- /* key: 0x841c */ 0xffff,
- /* key: 0x841d */ 0xffff,
- /* key: 0x841e */ 0xffff,
- /* key: 0x841f */ 0xffff,
- /* key: 0x8420 */ 0x684e,
- /* key: 0x8421 */ 0xffff,
- /* key: 0x8422 */ 0x684d,
- /* key: 0x8423 */ 0xffff,
- /* key: 0x8424 */ 0xffff,
- /* key: 0x8425 */ 0xffff,
- /* key: 0x8426 */ 0xffff,
- /* key: 0x8427 */ 0xffff,
- /* key: 0x8428 */ 0xffff,
- /* key: 0x8429 */ 0x476b,
- /* key: 0x842a */ 0x6854,
- /* key: 0x842b */ 0xffff,
- /* key: 0x842c */ 0x685f,
- /* key: 0x842d */ 0xffff,
- /* key: 0x842e */ 0xffff,
- /* key: 0x842f */ 0xd84d,
- /* key: 0x8430 */ 0xffff,
- /* key: 0x8431 */ 0x337e,
- /* key: 0x8432 */ 0xffff,
- /* key: 0x8433 */ 0xffff,
- /* key: 0x8434 */ 0xffff,
- /* key: 0x8435 */ 0x6862,
- /* key: 0x8436 */ 0xffff,
- /* key: 0x8437 */ 0xffff,
- /* key: 0x8438 */ 0x6850,
- /* key: 0x8439 */ 0xd84e,
- /* key: 0x843a */ 0xffff,
- /* key: 0x843b */ 0xffff,
- /* key: 0x843c */ 0x6855,
- /* key: 0x843d */ 0x4d6e,
- /* key: 0x843e */ 0xffff,
- /* key: 0x843f */ 0xffff,
- /* key: 0x8440 */ 0xffff,
- /* key: 0x8441 */ 0xffff,
- /* key: 0x8442 */ 0xffff,
- /* key: 0x8443 */ 0xffff,
- /* key: 0x8444 */ 0xffff,
- /* key: 0x8445 */ 0xd84f,
- /* key: 0x8446 */ 0x685e,
- /* key: 0x8447 */ 0xd850,
- /* key: 0x8448 */ 0xd851,
- /* key: 0x8449 */ 0x4d55,
- /* key: 0x844a */ 0xd852,
- /* key: 0x844b */ 0xffff,
- /* key: 0x844c */ 0xffff,
- /* key: 0x844d */ 0xd853,
- /* key: 0x844e */ 0x4e2a,
- /* key: 0x844f */ 0xd854,
- /* key: 0x8450 */ 0xffff,
- /* key: 0x8451 */ 0xd855,
- /* key: 0x8452 */ 0xd856,
- /* key: 0x8453 */ 0xffff,
- /* key: 0x8454 */ 0xffff,
- /* key: 0x8455 */ 0xffff,
- /* key: 0x8456 */ 0xd857,
- /* key: 0x8457 */ 0x4378,
- /* key: 0x8458 */ 0xd858,
- /* key: 0x8459 */ 0xd859,
- /* key: 0x845a */ 0xd85a,
- /* key: 0x845b */ 0x336b,
- /* key: 0x845c */ 0xd85b,
- /* key: 0x845d */ 0xffff,
- /* key: 0x845e */ 0xffff,
- /* key: 0x845f */ 0xffff,
- /* key: 0x8460 */ 0xd85c,
- /* key: 0x8461 */ 0x4972,
- /* key: 0x8462 */ 0x6864,
- /* key: 0x8463 */ 0x4621,
- /* key: 0x8464 */ 0xd85d,
- /* key: 0x8465 */ 0xd85e,
- /* key: 0x8466 */ 0x3031,
- /* key: 0x8467 */ 0xd85f,
- /* key: 0x8468 */ 0xffff,
- /* key: 0x8469 */ 0x685d,
- /* key: 0x846a */ 0xd860,
- /* key: 0x846b */ 0x6859,
- /* key: 0x846c */ 0x4172,
- /* key: 0x846d */ 0x6853,
- /* key: 0x846e */ 0x685b,
- /* key: 0x846f */ 0x6860,
- /* key: 0x8470 */ 0xd861,
- /* key: 0x8471 */ 0x472c,
- /* key: 0x8472 */ 0xffff,
- /* key: 0x8473 */ 0xd862,
- /* key: 0x8474 */ 0xd863,
- /* key: 0x8475 */ 0x302a,
- /* key: 0x8476 */ 0xd864,
- /* key: 0x8477 */ 0x6858,
- /* key: 0x8478 */ 0xd865,
- /* key: 0x8479 */ 0x6861,
- /* key: 0x847a */ 0x4978,
- /* key: 0x847b */ 0xffff,
- /* key: 0x847c */ 0xd866,
- /* key: 0x847d */ 0xd867,
- /* key: 0x847e */ 0xffff,
- /* key: 0x847f */ 0xffff,
- /* key: 0x8480 */ 0xffff,
- /* key: 0x8481 */ 0xd868,
- /* key: 0x8482 */ 0x685c,
- /* key: 0x8483 */ 0xffff,
- /* key: 0x8484 */ 0x6857,
- /* key: 0x8485 */ 0xd869,
- /* key: 0x8486 */ 0xffff,
- /* key: 0x8487 */ 0xffff,
- /* key: 0x8488 */ 0xffff,
- /* key: 0x8489 */ 0xffff,
- /* key: 0x848a */ 0xffff,
- /* key: 0x848b */ 0x3e55,
- /* key: 0x848c */ 0xffff,
- /* key: 0x848d */ 0xffff,
- /* key: 0x848e */ 0xffff,
- /* key: 0x848f */ 0xffff,
- /* key: 0x8490 */ 0x3d2f,
- /* key: 0x8491 */ 0xffff,
- /* key: 0x8492 */ 0xd86a,
- /* key: 0x8493 */ 0xd86b,
- /* key: 0x8494 */ 0x3c2c,
- /* key: 0x8495 */ 0xd86c,
- /* key: 0x8496 */ 0xffff,
- /* key: 0x8497 */ 0xffff,
- /* key: 0x8498 */ 0xffff,
- /* key: 0x8499 */ 0x4c58,
- /* key: 0x849a */ 0xffff,
- /* key: 0x849b */ 0xffff,
- /* key: 0x849c */ 0x4947,
- /* key: 0x849d */ 0xffff,
- /* key: 0x849e */ 0xd86d,
- /* key: 0x849f */ 0x6867,
- /* key: 0x84a0 */ 0xffff,
- /* key: 0x84a1 */ 0x6870,
- /* key: 0x84a2 */ 0xffff,
- /* key: 0x84a3 */ 0xffff,
- /* key: 0x84a4 */ 0xffff,
- /* key: 0x84a5 */ 0xffff,
- /* key: 0x84a6 */ 0xd86e,
- /* key: 0x84a7 */ 0xffff,
- /* key: 0x84a8 */ 0xd86f,
- /* key: 0x84a9 */ 0xd870,
- /* key: 0x84aa */ 0xd871,
- /* key: 0x84ab */ 0xffff,
- /* key: 0x84ac */ 0xffff,
- /* key: 0x84ad */ 0x685a,
- /* key: 0x84ae */ 0xffff,
- /* key: 0x84af */ 0xd872,
- /* key: 0x84b0 */ 0xffff,
- /* key: 0x84b1 */ 0xd873,
- /* key: 0x84b2 */ 0x3377,
- /* key: 0x84b3 */ 0xffff,
- /* key: 0x84b4 */ 0xd874,
- /* key: 0x84b5 */ 0xffff,
- /* key: 0x84b6 */ 0xffff,
- /* key: 0x84b7 */ 0xffff,
- /* key: 0x84b8 */ 0x3e78,
- /* key: 0x84b9 */ 0x6865,
- /* key: 0x84ba */ 0xd875,
- /* key: 0x84bb */ 0x686a,
- /* key: 0x84bc */ 0x4173,
- /* key: 0x84bd */ 0xd876,
- /* key: 0x84be */ 0xd877,
- /* key: 0x84bf */ 0x6866,
- /* key: 0x84c0 */ 0xd878,
- /* key: 0x84c1 */ 0x686d,
- /* key: 0x84c2 */ 0xd879,
- /* key: 0x84c3 */ 0xffff,
- /* key: 0x84c4 */ 0x435f,
- /* key: 0x84c5 */ 0xffff,
- /* key: 0x84c6 */ 0x686e,
- /* key: 0x84c7 */ 0xd87a,
- /* key: 0x84c8 */ 0xd87b,
- /* key: 0x84c9 */ 0x4d56,
- /* key: 0x84ca */ 0x6863,
- /* key: 0x84cb */ 0x3338,
- /* key: 0x84cc */ 0xd87c,
- /* key: 0x84cd */ 0x6869,
- /* key: 0x84ce */ 0xffff,
- /* key: 0x84cf */ 0xd87d,
- /* key: 0x84d0 */ 0x686c,
- /* key: 0x84d1 */ 0x4c2c,
- /* key: 0x84d2 */ 0xffff,
- /* key: 0x84d3 */ 0xd87e,
- /* key: 0x84d4 */ 0xffff,
- /* key: 0x84d5 */ 0xffff,
- /* key: 0x84d6 */ 0x686f,
- /* key: 0x84d7 */ 0xffff,
- /* key: 0x84d8 */ 0xffff,
- /* key: 0x84d9 */ 0x6868,
- /* key: 0x84da */ 0x686b,
- /* key: 0x84db */ 0xffff,
- /* key: 0x84dc */ 0xd921,
- /* key: 0x84dd */ 0xffff,
- /* key: 0x84de */ 0xffff,
- /* key: 0x84df */ 0xffff,
- /* key: 0x84e0 */ 0xffff,
- /* key: 0x84e1 */ 0xffff,
- /* key: 0x84e2 */ 0xffff,
- /* key: 0x84e3 */ 0xffff,
- /* key: 0x84e4 */ 0xffff,
- /* key: 0x84e5 */ 0xffff,
- /* key: 0x84e6 */ 0xffff,
- /* key: 0x84e7 */ 0xd922,
- /* key: 0x84e8 */ 0xffff,
- /* key: 0x84e9 */ 0xffff,
- /* key: 0x84ea */ 0xd923,
- /* key: 0x84eb */ 0xffff,
- /* key: 0x84ec */ 0x4b29,
- /* key: 0x84ed */ 0xffff,
- /* key: 0x84ee */ 0x4f21,
- /* key: 0x84ef */ 0xd924,
- /* key: 0x84f0 */ 0xd925,
- /* key: 0x84f1 */ 0xd926,
- /* key: 0x84f2 */ 0xd927,
- /* key: 0x84f3 */ 0xffff,
- /* key: 0x84f4 */ 0x6873,
- /* key: 0x84f5 */ 0xffff,
- /* key: 0x84f6 */ 0xffff,
- /* key: 0x84f7 */ 0xd928,
- /* key: 0x84f8 */ 0xffff,
- /* key: 0x84f9 */ 0xffff,
- /* key: 0x84fa */ 0xd92a,
- /* key: 0x84fb */ 0xd92b,
- /* key: 0x84fc */ 0x687a,
- /* key: 0x84fd */ 0xd92c,
- /* key: 0x84fe */ 0xffff,
- /* key: 0x84ff */ 0x6872,
- /* branch: 0x850X */ 16448,
- /* branch: 0x851X */ 16464,
- /* branch: 0x852X */ 16480,
- /* branch: 0x853X */ 16496,
- /* branch: 0x854X */ 16512,
- /* branch: 0x855X */ 16528,
- /* branch: 0x856X */ 16544,
- /* branch: 0x857X */ 16560,
- /* branch: 0x858X */ 16576,
- /* branch: 0x859X */ 16592,
- /* branch: 0x85aX */ 16608,
- /* branch: 0x85bX */ 16624,
- /* branch: 0x85cX */ 16640,
- /* branch: 0x85dX */ 16656,
- /* branch: 0x85eX */ 16672,
- /* branch: 0x85fX */ 16688,
- /* key: 0x8500 */ 0x3c43,
- /* key: 0x8501 */ 0xffff,
- /* key: 0x8502 */ 0xd92d,
- /* key: 0x8503 */ 0xd92e,
- /* key: 0x8504 */ 0xffff,
- /* key: 0x8505 */ 0xffff,
- /* key: 0x8506 */ 0x6851,
- /* key: 0x8507 */ 0xd92f,
- /* key: 0x8508 */ 0xffff,
- /* key: 0x8509 */ 0xffff,
- /* key: 0x850a */ 0xffff,
- /* key: 0x850b */ 0xffff,
- /* key: 0x850c */ 0xd930,
- /* key: 0x850d */ 0xffff,
- /* key: 0x850e */ 0xd931,
- /* key: 0x850f */ 0xffff,
- /* key: 0x8510 */ 0xd932,
- /* key: 0x8511 */ 0x4a4e,
- /* key: 0x8512 */ 0xffff,
- /* key: 0x8513 */ 0x4c22,
- /* key: 0x8514 */ 0x6879,
- /* key: 0x8515 */ 0x6878,
- /* key: 0x8516 */ 0xffff,
- /* key: 0x8517 */ 0x6874,
- /* key: 0x8518 */ 0x6875,
- /* key: 0x8519 */ 0xffff,
- /* key: 0x851a */ 0x3136,
- /* key: 0x851b */ 0xffff,
- /* key: 0x851c */ 0xd933,
- /* key: 0x851d */ 0xffff,
- /* key: 0x851e */ 0xd934,
- /* key: 0x851f */ 0x6877,
- /* key: 0x8520 */ 0xffff,
- /* key: 0x8521 */ 0x6871,
- /* key: 0x8522 */ 0xd935,
- /* key: 0x8523 */ 0xd936,
- /* key: 0x8524 */ 0xd937,
- /* key: 0x8525 */ 0xd938,
- /* key: 0x8526 */ 0x4455,
- /* key: 0x8527 */ 0xd939,
- /* key: 0x8528 */ 0xffff,
- /* key: 0x8529 */ 0xffff,
- /* key: 0x852a */ 0xd93a,
- /* key: 0x852b */ 0xd93b,
- /* key: 0x852c */ 0x6876,
- /* key: 0x852d */ 0x307e,
- /* key: 0x852e */ 0xffff,
- /* key: 0x852f */ 0xd93c,
- /* key: 0x8530 */ 0xffff,
- /* key: 0x8531 */ 0xffff,
- /* key: 0x8532 */ 0xd929,
- /* key: 0x8533 */ 0xd93d,
- /* key: 0x8534 */ 0xd93e,
- /* key: 0x8535 */ 0x4222,
- /* key: 0x8536 */ 0xd93f,
- /* key: 0x8537 */ 0xffff,
- /* key: 0x8538 */ 0xffff,
- /* key: 0x8539 */ 0xffff,
- /* key: 0x853a */ 0xffff,
- /* key: 0x853b */ 0xffff,
- /* key: 0x853c */ 0xffff,
- /* key: 0x853d */ 0x4a43,
- /* key: 0x853e */ 0xffff,
- /* key: 0x853f */ 0xd940,
- /* key: 0x8540 */ 0x687b,
- /* key: 0x8541 */ 0x6921,
- /* key: 0x8542 */ 0xffff,
- /* key: 0x8543 */ 0x4859,
- /* key: 0x8544 */ 0xffff,
- /* key: 0x8545 */ 0xffff,
- /* key: 0x8546 */ 0xd941,
- /* key: 0x8547 */ 0xffff,
- /* key: 0x8548 */ 0x687e,
- /* key: 0x8549 */ 0x3e56,
- /* key: 0x854a */ 0x3c49,
- /* key: 0x854b */ 0x6923,
- /* key: 0x854c */ 0xffff,
- /* key: 0x854d */ 0xffff,
- /* key: 0x854e */ 0x363e,
- /* key: 0x854f */ 0xd942,
- /* key: 0x8550 */ 0xd943,
- /* key: 0x8551 */ 0xd944,
- /* key: 0x8552 */ 0xd945,
- /* key: 0x8553 */ 0xd946,
- /* key: 0x8554 */ 0xffff,
- /* key: 0x8555 */ 0x6924,
- /* key: 0x8556 */ 0xd947,
- /* key: 0x8557 */ 0x4979,
- /* key: 0x8558 */ 0x687d,
- /* key: 0x8559 */ 0xd948,
- /* key: 0x855a */ 0x6856,
- /* key: 0x855b */ 0xffff,
- /* key: 0x855c */ 0xd949,
- /* key: 0x855d */ 0xd94a,
- /* key: 0x855e */ 0xd94b,
- /* key: 0x855f */ 0xd94c,
- /* key: 0x8560 */ 0xd94d,
- /* key: 0x8561 */ 0xd94e,
- /* key: 0x8562 */ 0xd94f,
- /* key: 0x8563 */ 0x687c,
- /* key: 0x8564 */ 0xd950,
- /* key: 0x8565 */ 0xffff,
- /* key: 0x8566 */ 0xffff,
- /* key: 0x8567 */ 0xffff,
- /* key: 0x8568 */ 0x4f4f,
- /* key: 0x8569 */ 0x4622,
- /* key: 0x856a */ 0x4973,
- /* key: 0x856b */ 0xd951,
- /* key: 0x856c */ 0xffff,
- /* key: 0x856d */ 0x692b,
- /* key: 0x856e */ 0xffff,
- /* key: 0x856f */ 0xd952,
- /* key: 0x8570 */ 0xffff,
- /* key: 0x8571 */ 0xffff,
- /* key: 0x8572 */ 0xffff,
- /* key: 0x8573 */ 0xffff,
- /* key: 0x8574 */ 0xffff,
- /* key: 0x8575 */ 0xffff,
- /* key: 0x8576 */ 0xffff,
- /* key: 0x8577 */ 0x6931,
- /* key: 0x8578 */ 0xffff,
- /* key: 0x8579 */ 0xd953,
- /* key: 0x857a */ 0xd954,
- /* key: 0x857b */ 0xd955,
- /* key: 0x857c */ 0xffff,
- /* key: 0x857d */ 0xd956,
- /* key: 0x857e */ 0x6932,
- /* key: 0x857f */ 0xd957,
- /* key: 0x8580 */ 0x6925,
- /* key: 0x8581 */ 0xd958,
- /* key: 0x8582 */ 0xffff,
- /* key: 0x8583 */ 0xffff,
- /* key: 0x8584 */ 0x4776,
- /* key: 0x8585 */ 0xd959,
- /* key: 0x8586 */ 0xd95a,
- /* key: 0x8587 */ 0x692f,
- /* key: 0x8588 */ 0x6927,
- /* key: 0x8589 */ 0xd95b,
- /* key: 0x858a */ 0x6929,
- /* key: 0x858b */ 0xd95c,
- /* key: 0x858c */ 0xd95d,
- /* key: 0x858d */ 0xffff,
- /* key: 0x858e */ 0xffff,
- /* key: 0x858f */ 0xd95e,
- /* key: 0x8590 */ 0x6933,
- /* key: 0x8591 */ 0x6928,
- /* key: 0x8592 */ 0xffff,
- /* key: 0x8593 */ 0xd95f,
- /* key: 0x8594 */ 0x692c,
- /* key: 0x8595 */ 0xffff,
- /* key: 0x8596 */ 0xffff,
- /* key: 0x8597 */ 0x3172,
- /* key: 0x8598 */ 0xd960,
- /* key: 0x8599 */ 0x4665,
- /* key: 0x859a */ 0xffff,
- /* key: 0x859b */ 0x692d,
- /* key: 0x859c */ 0x6930,
- /* key: 0x859d */ 0xd961,
- /* key: 0x859e */ 0xffff,
- /* key: 0x859f */ 0xd962,
- /* key: 0x85a0 */ 0xd963,
- /* key: 0x85a1 */ 0xffff,
- /* key: 0x85a2 */ 0xd964,
- /* key: 0x85a3 */ 0xffff,
- /* key: 0x85a4 */ 0x6926,
- /* key: 0x85a5 */ 0xd965,
- /* key: 0x85a6 */ 0x4126,
- /* key: 0x85a7 */ 0xd966,
- /* key: 0x85a8 */ 0x692a,
- /* key: 0x85a9 */ 0x3b27,
- /* key: 0x85aa */ 0x3f45,
- /* key: 0x85ab */ 0x3730,
- /* key: 0x85ac */ 0x4c74,
- /* key: 0x85ad */ 0xd974,
- /* key: 0x85ae */ 0x4c79,
- /* key: 0x85af */ 0x3d72,
- /* key: 0x85b0 */ 0xffff,
- /* key: 0x85b1 */ 0xffff,
- /* key: 0x85b2 */ 0xffff,
- /* key: 0x85b3 */ 0xffff,
- /* key: 0x85b4 */ 0xd967,
- /* key: 0x85b5 */ 0xffff,
- /* key: 0x85b6 */ 0xd968,
- /* key: 0x85b7 */ 0xd969,
- /* key: 0x85b8 */ 0xd96a,
- /* key: 0x85b9 */ 0x6937,
- /* key: 0x85ba */ 0x6935,
- /* key: 0x85bb */ 0xffff,
- /* key: 0x85bc */ 0xd96b,
- /* key: 0x85bd */ 0xd96c,
- /* key: 0x85be */ 0xd96d,
- /* key: 0x85bf */ 0xd96e,
- /* key: 0x85c0 */ 0xffff,
- /* key: 0x85c1 */ 0x4f4e,
- /* key: 0x85c2 */ 0xd96f,
- /* key: 0x85c3 */ 0xffff,
- /* key: 0x85c4 */ 0xffff,
- /* key: 0x85c5 */ 0xffff,
- /* key: 0x85c6 */ 0xffff,
- /* key: 0x85c7 */ 0xd970,
- /* key: 0x85c8 */ 0xffff,
- /* key: 0x85c9 */ 0x6934,
- /* key: 0x85ca */ 0xd971,
- /* key: 0x85cb */ 0xd972,
- /* key: 0x85cc */ 0xffff,
- /* key: 0x85cd */ 0x4d75,
- /* key: 0x85ce */ 0xd973,
- /* key: 0x85cf */ 0x6936,
- /* key: 0x85d0 */ 0x6938,
- /* key: 0x85d1 */ 0xffff,
- /* key: 0x85d2 */ 0xffff,
- /* key: 0x85d3 */ 0xffff,
- /* key: 0x85d4 */ 0xffff,
- /* key: 0x85d5 */ 0x6939,
- /* key: 0x85d6 */ 0xffff,
- /* key: 0x85d7 */ 0xffff,
- /* key: 0x85d8 */ 0xd975,
- /* key: 0x85d9 */ 0xffff,
- /* key: 0x85da */ 0xd976,
- /* key: 0x85db */ 0xffff,
- /* key: 0x85dc */ 0x693c,
- /* key: 0x85dd */ 0x693a,
- /* key: 0x85de */ 0xffff,
- /* key: 0x85df */ 0xd977,
- /* key: 0x85e0 */ 0xd978,
- /* key: 0x85e1 */ 0xffff,
- /* key: 0x85e2 */ 0xffff,
- /* key: 0x85e3 */ 0xffff,
- /* key: 0x85e4 */ 0x4623,
- /* key: 0x85e5 */ 0x693b,
- /* key: 0x85e6 */ 0xd979,
- /* key: 0x85e7 */ 0xffff,
- /* key: 0x85e8 */ 0xd97a,
- /* key: 0x85e9 */ 0x484d,
- /* key: 0x85ea */ 0x692e,
- /* key: 0x85eb */ 0xffff,
- /* key: 0x85ec */ 0xffff,
- /* key: 0x85ed */ 0xd97b,
- /* key: 0x85ee */ 0xffff,
- /* key: 0x85ef */ 0xffff,
- /* key: 0x85f0 */ 0xffff,
- /* key: 0x85f1 */ 0xffff,
- /* key: 0x85f2 */ 0xffff,
- /* key: 0x85f3 */ 0xd97c,
- /* key: 0x85f4 */ 0xffff,
- /* key: 0x85f5 */ 0xffff,
- /* key: 0x85f6 */ 0xd97d,
- /* key: 0x85f7 */ 0x3d73,
- /* key: 0x85f8 */ 0xffff,
- /* key: 0x85f9 */ 0x693d,
- /* key: 0x85fa */ 0x6942,
- /* key: 0x85fb */ 0x4174,
- /* key: 0x85fc */ 0xd97e,
- /* key: 0x85fd */ 0xffff,
- /* key: 0x85fe */ 0x6941,
- /* key: 0x85ff */ 0xda21,
- /* branch: 0x860X */ 16720,
- /* branch: 0x861X */ 16736,
- /* branch: 0x862X */ 16752,
- /* branch: 0x863X */ 16768,
- /* branch: 0x864X */ 16784,
- /* branch: 0x865X */ 16800,
- /* branch: 0x866X */ 16816,
- /* branch: 0x867X */ 16832,
- /* branch: 0x868X */ 16848,
- /* branch: 0x869X */ 16864,
- /* branch: 0x86aX */ 16880,
- /* branch: 0x86bX */ 16896,
- /* branch: 0x86cX */ 16912,
- /* branch: 0x86dX */ 16928,
- /* branch: 0x86eX */ 16944,
- /* branch: 0x86fX */ 16960,
- /* key: 0x8600 */ 0xda22,
- /* key: 0x8601 */ 0xffff,
- /* key: 0x8602 */ 0x6922,
- /* key: 0x8603 */ 0xffff,
- /* key: 0x8604 */ 0xda23,
- /* key: 0x8605 */ 0xda24,
- /* key: 0x8606 */ 0x6943,
- /* key: 0x8607 */ 0x4149,
- /* key: 0x8608 */ 0xffff,
- /* key: 0x8609 */ 0xffff,
- /* key: 0x860a */ 0x693e,
- /* key: 0x860b */ 0x6940,
- /* key: 0x860c */ 0xffff,
- /* key: 0x860d */ 0xda25,
- /* key: 0x860e */ 0xda26,
- /* key: 0x860f */ 0xffff,
- /* key: 0x8610 */ 0xda27,
- /* key: 0x8611 */ 0xda28,
- /* key: 0x8612 */ 0xda29,
- /* key: 0x8613 */ 0x693f,
- /* key: 0x8614 */ 0xffff,
- /* key: 0x8615 */ 0xffff,
- /* key: 0x8616 */ 0x5d31,
- /* key: 0x8617 */ 0x5d22,
- /* key: 0x8618 */ 0xda2a,
- /* key: 0x8619 */ 0xda2b,
- /* key: 0x861a */ 0x6945,
- /* key: 0x861b */ 0xda2c,
- /* key: 0x861c */ 0xffff,
- /* key: 0x861d */ 0xffff,
- /* key: 0x861e */ 0xda2d,
- /* key: 0x861f */ 0xffff,
- /* key: 0x8620 */ 0xffff,
- /* key: 0x8621 */ 0xda2e,
- /* key: 0x8622 */ 0x6944,
- /* key: 0x8623 */ 0xffff,
- /* key: 0x8624 */ 0xffff,
- /* key: 0x8625 */ 0xffff,
- /* key: 0x8626 */ 0xffff,
- /* key: 0x8627 */ 0xda2f,
- /* key: 0x8628 */ 0xffff,
- /* key: 0x8629 */ 0xda30,
- /* key: 0x862a */ 0xffff,
- /* key: 0x862b */ 0xffff,
- /* key: 0x862c */ 0xffff,
- /* key: 0x862d */ 0x4d76,
- /* key: 0x862e */ 0xffff,
- /* key: 0x862f */ 0x623c,
- /* key: 0x8630 */ 0x6946,
- /* key: 0x8631 */ 0xffff,
- /* key: 0x8632 */ 0xffff,
- /* key: 0x8633 */ 0xffff,
- /* key: 0x8634 */ 0xffff,
- /* key: 0x8635 */ 0xffff,
- /* key: 0x8636 */ 0xda31,
- /* key: 0x8637 */ 0xffff,
- /* key: 0x8638 */ 0xda32,
- /* key: 0x8639 */ 0xffff,
- /* key: 0x863a */ 0xda33,
- /* key: 0x863b */ 0xffff,
- /* key: 0x863c */ 0xda34,
- /* key: 0x863d */ 0xda35,
- /* key: 0x863e */ 0xffff,
- /* key: 0x863f */ 0x6947,
- /* key: 0x8640 */ 0xda36,
- /* key: 0x8641 */ 0xb866,
- /* key: 0x8642 */ 0xda37,
- /* key: 0x8643 */ 0xffff,
- /* key: 0x8644 */ 0xffff,
- /* key: 0x8645 */ 0xffff,
- /* key: 0x8646 */ 0xda38,
- /* key: 0x8647 */ 0xffff,
- /* key: 0x8648 */ 0xffff,
- /* key: 0x8649 */ 0xffff,
- /* key: 0x864a */ 0xffff,
- /* key: 0x864b */ 0xffff,
- /* key: 0x864c */ 0xffff,
- /* key: 0x864d */ 0x6948,
- /* key: 0x864e */ 0x3857,
- /* key: 0x864f */ 0xffff,
- /* key: 0x8650 */ 0x3554,
- /* key: 0x8651 */ 0xffff,
- /* key: 0x8652 */ 0xda39,
- /* key: 0x8653 */ 0xda3a,
- /* key: 0x8654 */ 0x694a,
- /* key: 0x8655 */ 0x515d,
- /* key: 0x8656 */ 0xda3b,
- /* key: 0x8657 */ 0xda3c,
- /* key: 0x8658 */ 0xda3d,
- /* key: 0x8659 */ 0xda3e,
- /* key: 0x865a */ 0x3575,
- /* key: 0x865b */ 0xffff,
- /* key: 0x865c */ 0x4e3a,
- /* key: 0x865d */ 0xda3f,
- /* key: 0x865e */ 0x3673,
- /* key: 0x865f */ 0x694b,
- /* key: 0x8660 */ 0xda40,
- /* key: 0x8661 */ 0xda41,
- /* key: 0x8662 */ 0xda42,
- /* key: 0x8663 */ 0xda43,
- /* key: 0x8664 */ 0xda44,
- /* key: 0x8665 */ 0xffff,
- /* key: 0x8666 */ 0xffff,
- /* key: 0x8667 */ 0x694c,
- /* key: 0x8668 */ 0xffff,
- /* key: 0x8669 */ 0xda45,
- /* key: 0x866a */ 0xffff,
- /* key: 0x866b */ 0x436e,
- /* key: 0x866c */ 0xda46,
- /* key: 0x866d */ 0xffff,
- /* key: 0x866e */ 0xffff,
- /* key: 0x866f */ 0xda47,
- /* key: 0x8670 */ 0xffff,
- /* key: 0x8671 */ 0x694d,
- /* key: 0x8672 */ 0xffff,
- /* key: 0x8673 */ 0xffff,
- /* key: 0x8674 */ 0xffff,
- /* key: 0x8675 */ 0xda48,
- /* key: 0x8676 */ 0xda49,
- /* key: 0x8677 */ 0xda4a,
- /* key: 0x8678 */ 0xffff,
- /* key: 0x8679 */ 0x467a,
- /* key: 0x867a */ 0xda4b,
- /* key: 0x867b */ 0x303a,
- /* key: 0x867c */ 0xffff,
- /* key: 0x867d */ 0xffff,
- /* key: 0x867e */ 0xffff,
- /* key: 0x867f */ 0xffff,
- /* key: 0x8680 */ 0xffff,
- /* key: 0x8681 */ 0xffff,
- /* key: 0x8682 */ 0xffff,
- /* key: 0x8683 */ 0xffff,
- /* key: 0x8684 */ 0xffff,
- /* key: 0x8685 */ 0xffff,
- /* key: 0x8686 */ 0xffff,
- /* key: 0x8687 */ 0xffff,
- /* key: 0x8688 */ 0xda6d,
- /* key: 0x8689 */ 0xffff,
- /* key: 0x868a */ 0x3263,
- /* key: 0x868b */ 0x6952,
- /* key: 0x868c */ 0x6953,
- /* key: 0x868d */ 0xda4c,
- /* key: 0x868e */ 0xffff,
- /* key: 0x868f */ 0xffff,
- /* key: 0x8690 */ 0xffff,
- /* key: 0x8691 */ 0xda4d,
- /* key: 0x8692 */ 0xffff,
- /* key: 0x8693 */ 0x694e,
- /* key: 0x8694 */ 0xffff,
- /* key: 0x8695 */ 0x3b3d,
- /* key: 0x8696 */ 0xda4e,
- /* key: 0x8697 */ 0xffff,
- /* key: 0x8698 */ 0xda4f,
- /* key: 0x8699 */ 0xffff,
- /* key: 0x869a */ 0xda50,
- /* key: 0x869b */ 0xffff,
- /* key: 0x869c */ 0xda51,
- /* key: 0x869d */ 0xffff,
- /* key: 0x869e */ 0xffff,
- /* key: 0x869f */ 0xffff,
- /* key: 0x86a0 */ 0xffff,
- /* key: 0x86a1 */ 0xda52,
- /* key: 0x86a2 */ 0xffff,
- /* key: 0x86a3 */ 0x694f,
- /* key: 0x86a4 */ 0x4742,
- /* key: 0x86a5 */ 0xffff,
- /* key: 0x86a6 */ 0xda53,
- /* key: 0x86a7 */ 0xda54,
- /* key: 0x86a8 */ 0xda55,
- /* key: 0x86a9 */ 0x6950,
- /* key: 0x86aa */ 0x6951,
- /* key: 0x86ab */ 0x695b,
- /* key: 0x86ac */ 0xffff,
- /* key: 0x86ad */ 0xda56,
- /* key: 0x86ae */ 0xffff,
- /* key: 0x86af */ 0x6955,
- /* key: 0x86b0 */ 0x6958,
- /* key: 0x86b1 */ 0xda57,
- /* key: 0x86b2 */ 0xffff,
- /* key: 0x86b3 */ 0xda58,
- /* key: 0x86b4 */ 0xda59,
- /* key: 0x86b5 */ 0xda5a,
- /* key: 0x86b6 */ 0x6954,
- /* key: 0x86b7 */ 0xda5b,
- /* key: 0x86b8 */ 0xda5c,
- /* key: 0x86b9 */ 0xda5d,
- /* key: 0x86ba */ 0xffff,
- /* key: 0x86bb */ 0xffff,
- /* key: 0x86bc */ 0xffff,
- /* key: 0x86bd */ 0xffff,
- /* key: 0x86be */ 0xffff,
- /* key: 0x86bf */ 0xda5e,
- /* key: 0x86c0 */ 0xda5f,
- /* key: 0x86c1 */ 0xda60,
- /* key: 0x86c2 */ 0xffff,
- /* key: 0x86c3 */ 0xda61,
- /* key: 0x86c4 */ 0x6956,
- /* key: 0x86c5 */ 0xda62,
- /* key: 0x86c6 */ 0x6957,
- /* key: 0x86c7 */ 0x3c58,
- /* key: 0x86c8 */ 0xffff,
- /* key: 0x86c9 */ 0x6959,
- /* key: 0x86ca */ 0xffff,
- /* key: 0x86cb */ 0x4341,
- /* key: 0x86cc */ 0xffff,
- /* key: 0x86cd */ 0x3756,
- /* key: 0x86ce */ 0x3342,
- /* key: 0x86cf */ 0xffff,
- /* key: 0x86d0 */ 0xffff,
- /* key: 0x86d1 */ 0xda63,
- /* key: 0x86d2 */ 0xda64,
- /* key: 0x86d3 */ 0xffff,
- /* key: 0x86d4 */ 0x695c,
- /* key: 0x86d5 */ 0xda65,
- /* key: 0x86d6 */ 0xffff,
- /* key: 0x86d7 */ 0xda66,
- /* key: 0x86d8 */ 0xffff,
- /* key: 0x86d9 */ 0x333f,
- /* key: 0x86da */ 0xda67,
- /* key: 0x86db */ 0x6961,
- /* key: 0x86dc */ 0xda68,
- /* key: 0x86dd */ 0xffff,
- /* key: 0x86de */ 0x695d,
- /* key: 0x86df */ 0x6960,
- /* key: 0x86e0 */ 0xda69,
- /* key: 0x86e1 */ 0xffff,
- /* key: 0x86e2 */ 0xffff,
- /* key: 0x86e3 */ 0xda6a,
- /* key: 0x86e4 */ 0x483a,
- /* key: 0x86e5 */ 0xda6b,
- /* key: 0x86e6 */ 0xffff,
- /* key: 0x86e7 */ 0xda6c,
- /* key: 0x86e8 */ 0xffff,
- /* key: 0x86e9 */ 0x695e,
- /* key: 0x86ea */ 0xffff,
- /* key: 0x86eb */ 0xffff,
- /* key: 0x86ec */ 0x695f,
- /* key: 0x86ed */ 0x4948,
- /* key: 0x86ee */ 0x485a,
- /* key: 0x86ef */ 0x6962,
- /* key: 0x86f0 */ 0xffff,
- /* key: 0x86f1 */ 0xffff,
- /* key: 0x86f2 */ 0xffff,
- /* key: 0x86f3 */ 0xffff,
- /* key: 0x86f4 */ 0xffff,
- /* key: 0x86f5 */ 0xffff,
- /* key: 0x86f6 */ 0xffff,
- /* key: 0x86f7 */ 0xffff,
- /* key: 0x86f8 */ 0x427d,
- /* key: 0x86f9 */ 0x696c,
- /* key: 0x86fa */ 0xda6e,
- /* key: 0x86fb */ 0x6968,
- /* key: 0x86fc */ 0xda6f,
- /* key: 0x86fd */ 0xda70,
- /* key: 0x86fe */ 0x326b,
- /* key: 0x86ff */ 0xffff,
- /* branch: 0x870X */ 16992,
- /* branch: 0x871X */ 17008,
- /* branch: 0x872X */ 17024,
- /* branch: 0x873X */ 17040,
- /* branch: 0x874X */ 17056,
- /* branch: 0x875X */ 17072,
- /* branch: 0x876X */ 17088,
- /* branch: 0x877X */ 17104,
- /* branch: 0x878X */ 17120,
- /* branch: 0x879X */ 17136,
- /* branch: 0x87aX */ 17152,
- /* branch: 0x87bX */ 17168,
- /* branch: 0x87cX */ 17184,
- /* branch: 0x87dX */ 17200,
- /* branch: 0x87eX */ 17216,
- /* branch: 0x87fX */ 17232,
- /* key: 0x8700 */ 0x6966,
- /* key: 0x8701 */ 0xffff,
- /* key: 0x8702 */ 0x4b2a,
- /* key: 0x8703 */ 0x6967,
- /* key: 0x8704 */ 0xda71,
- /* key: 0x8705 */ 0xda72,
- /* key: 0x8706 */ 0x6964,
- /* key: 0x8707 */ 0xda73,
- /* key: 0x8708 */ 0x6965,
- /* key: 0x8709 */ 0x696a,
- /* key: 0x870a */ 0x696d,
- /* key: 0x870b */ 0xda74,
- /* key: 0x870c */ 0xffff,
- /* key: 0x870d */ 0x696b,
- /* key: 0x870e */ 0xda75,
- /* key: 0x870f */ 0xda76,
- /* key: 0x8710 */ 0xda77,
- /* key: 0x8711 */ 0x6969,
- /* key: 0x8712 */ 0x6963,
- /* key: 0x8713 */ 0xda78,
- /* key: 0x8714 */ 0xda79,
- /* key: 0x8715 */ 0xffff,
- /* key: 0x8716 */ 0xffff,
- /* key: 0x8717 */ 0xffff,
- /* key: 0x8718 */ 0x4358,
- /* key: 0x8719 */ 0xda7a,
- /* key: 0x871a */ 0x6974,
- /* key: 0x871b */ 0xffff,
- /* key: 0x871c */ 0x4c2a,
- /* key: 0x871d */ 0xffff,
- /* key: 0x871e */ 0xda7b,
- /* key: 0x871f */ 0xda7c,
- /* key: 0x8720 */ 0xffff,
- /* key: 0x8721 */ 0xda7d,
- /* key: 0x8722 */ 0xffff,
- /* key: 0x8723 */ 0xda7e,
- /* key: 0x8724 */ 0xffff,
- /* key: 0x8725 */ 0x6972,
- /* key: 0x8726 */ 0xffff,
- /* key: 0x8727 */ 0xffff,
- /* key: 0x8728 */ 0xdb21,
- /* key: 0x8729 */ 0x6973,
- /* key: 0x872a */ 0xffff,
- /* key: 0x872b */ 0xffff,
- /* key: 0x872c */ 0xffff,
- /* key: 0x872d */ 0xffff,
- /* key: 0x872e */ 0xdb22,
- /* key: 0x872f */ 0xdb23,
- /* key: 0x8730 */ 0xffff,
- /* key: 0x8731 */ 0xdb24,
- /* key: 0x8732 */ 0xdb25,
- /* key: 0x8733 */ 0xffff,
- /* key: 0x8734 */ 0x696e,
- /* key: 0x8735 */ 0xffff,
- /* key: 0x8736 */ 0xffff,
- /* key: 0x8737 */ 0x6970,
- /* key: 0x8738 */ 0xffff,
- /* key: 0x8739 */ 0xdb26,
- /* key: 0x873a */ 0xdb27,
- /* key: 0x873b */ 0x6971,
- /* key: 0x873c */ 0xdb28,
- /* key: 0x873d */ 0xdb29,
- /* key: 0x873e */ 0xdb2a,
- /* key: 0x873f */ 0x696f,
- /* key: 0x8740 */ 0xdb2b,
- /* key: 0x8741 */ 0xffff,
- /* key: 0x8742 */ 0xffff,
- /* key: 0x8743 */ 0xdb2c,
- /* key: 0x8744 */ 0xffff,
- /* key: 0x8745 */ 0xdb2d,
- /* key: 0x8746 */ 0xffff,
- /* key: 0x8747 */ 0xffff,
- /* key: 0x8748 */ 0xffff,
- /* key: 0x8749 */ 0x4066,
- /* key: 0x874a */ 0xffff,
- /* key: 0x874b */ 0x4f39,
- /* key: 0x874c */ 0x6978,
- /* key: 0x874d */ 0xdb2e,
- /* key: 0x874e */ 0x6979,
- /* key: 0x874f */ 0xffff,
- /* key: 0x8750 */ 0xffff,
- /* key: 0x8751 */ 0xffff,
- /* key: 0x8752 */ 0xffff,
- /* key: 0x8753 */ 0x6a21,
- /* key: 0x8754 */ 0xffff,
- /* key: 0x8755 */ 0x3f2a,
- /* key: 0x8756 */ 0xffff,
- /* key: 0x8757 */ 0x697b,
- /* key: 0x8758 */ 0xdb2f,
- /* key: 0x8759 */ 0x697e,
- /* key: 0x875a */ 0xffff,
- /* key: 0x875b */ 0xffff,
- /* key: 0x875c */ 0xffff,
- /* key: 0x875d */ 0xdb30,
- /* key: 0x875e */ 0xffff,
- /* key: 0x875f */ 0x6976,
- /* key: 0x8760 */ 0x6975,
- /* key: 0x8761 */ 0xdb31,
- /* key: 0x8762 */ 0xffff,
- /* key: 0x8763 */ 0x6a22,
- /* key: 0x8764 */ 0xdb32,
- /* key: 0x8765 */ 0xdb33,
- /* key: 0x8766 */ 0x325c,
- /* key: 0x8767 */ 0xffff,
- /* key: 0x8768 */ 0x697c,
- /* key: 0x8769 */ 0xffff,
- /* key: 0x876a */ 0x6a23,
- /* key: 0x876b */ 0xffff,
- /* key: 0x876c */ 0xffff,
- /* key: 0x876d */ 0xffff,
- /* key: 0x876e */ 0x697d,
- /* key: 0x876f */ 0xdb34,
- /* key: 0x8770 */ 0xffff,
- /* key: 0x8771 */ 0xdb35,
- /* key: 0x8772 */ 0xdb36,
- /* key: 0x8773 */ 0xffff,
- /* key: 0x8774 */ 0x697a,
- /* key: 0x8775 */ 0xffff,
- /* key: 0x8776 */ 0x4433,
- /* key: 0x8777 */ 0xffff,
- /* key: 0x8778 */ 0x6977,
- /* key: 0x8779 */ 0xffff,
- /* key: 0x877a */ 0xffff,
- /* key: 0x877b */ 0xdb37,
- /* key: 0x877c */ 0xffff,
- /* key: 0x877d */ 0xffff,
- /* key: 0x877e */ 0xffff,
- /* key: 0x877f */ 0x4768,
- /* key: 0x8780 */ 0xffff,
- /* key: 0x8781 */ 0xffff,
- /* key: 0x8782 */ 0x6a27,
- /* key: 0x8783 */ 0xdb38,
- /* key: 0x8784 */ 0xdb39,
- /* key: 0x8785 */ 0xdb3a,
- /* key: 0x8786 */ 0xdb3b,
- /* key: 0x8787 */ 0xdb3c,
- /* key: 0x8788 */ 0xdb3d,
- /* key: 0x8789 */ 0xdb3e,
- /* key: 0x878a */ 0xffff,
- /* key: 0x878b */ 0xdb3f,
- /* key: 0x878c */ 0xdb40,
- /* key: 0x878d */ 0x4d3b,
- /* key: 0x878e */ 0xffff,
- /* key: 0x878f */ 0xffff,
- /* key: 0x8790 */ 0xdb41,
- /* key: 0x8791 */ 0xffff,
- /* key: 0x8792 */ 0xffff,
- /* key: 0x8793 */ 0xdb42,
- /* key: 0x8794 */ 0xffff,
- /* key: 0x8795 */ 0xdb43,
- /* key: 0x8796 */ 0xffff,
- /* key: 0x8797 */ 0xdb44,
- /* key: 0x8798 */ 0xdb45,
- /* key: 0x8799 */ 0xdb46,
- /* key: 0x879a */ 0xffff,
- /* key: 0x879b */ 0xffff,
- /* key: 0x879c */ 0xffff,
- /* key: 0x879d */ 0xffff,
- /* key: 0x879e */ 0xdb47,
- /* key: 0x879f */ 0x6a26,
- /* key: 0x87a0 */ 0xdb48,
- /* key: 0x87a1 */ 0xffff,
- /* key: 0x87a2 */ 0x6a25,
- /* key: 0x87a3 */ 0xdb49,
- /* key: 0x87a4 */ 0xffff,
- /* key: 0x87a5 */ 0xffff,
- /* key: 0x87a6 */ 0xffff,
- /* key: 0x87a7 */ 0xdb4a,
- /* key: 0x87a8 */ 0xffff,
- /* key: 0x87a9 */ 0xffff,
- /* key: 0x87aa */ 0xffff,
- /* key: 0x87ab */ 0x6a2e,
- /* key: 0x87ac */ 0xdb4b,
- /* key: 0x87ad */ 0xdb4c,
- /* key: 0x87ae */ 0xdb4d,
- /* key: 0x87af */ 0x6a28,
- /* key: 0x87b0 */ 0xffff,
- /* key: 0x87b1 */ 0xdb4e,
- /* key: 0x87b2 */ 0xffff,
- /* key: 0x87b3 */ 0x6a30,
- /* key: 0x87b4 */ 0xffff,
- /* key: 0x87b5 */ 0xdb4f,
- /* key: 0x87b6 */ 0xffff,
- /* key: 0x87b7 */ 0xffff,
- /* key: 0x87b8 */ 0xffff,
- /* key: 0x87b9 */ 0xffff,
- /* key: 0x87ba */ 0x4d66,
- /* key: 0x87bb */ 0x6a33,
- /* key: 0x87bc */ 0xffff,
- /* key: 0x87bd */ 0x6a2a,
- /* key: 0x87be */ 0xdb50,
- /* key: 0x87bf */ 0xdb51,
- /* key: 0x87c0 */ 0x6a2b,
- /* key: 0x87c1 */ 0xdb52,
- /* key: 0x87c2 */ 0xffff,
- /* key: 0x87c3 */ 0xffff,
- /* key: 0x87c4 */ 0x6a2f,
- /* key: 0x87c5 */ 0xffff,
- /* key: 0x87c6 */ 0x6a32,
- /* key: 0x87c7 */ 0x6a31,
- /* key: 0x87c8 */ 0xdb53,
- /* key: 0x87c9 */ 0xdb54,
- /* key: 0x87ca */ 0xdb55,
- /* key: 0x87cb */ 0x6a29,
- /* key: 0x87cc */ 0xffff,
- /* key: 0x87cd */ 0xffff,
- /* key: 0x87ce */ 0xdb56,
- /* key: 0x87cf */ 0xffff,
- /* key: 0x87d0 */ 0x6a2c,
- /* key: 0x87d1 */ 0xffff,
- /* key: 0x87d2 */ 0x6a3d,
- /* key: 0x87d3 */ 0xffff,
- /* key: 0x87d4 */ 0xffff,
- /* key: 0x87d5 */ 0xdb57,
- /* key: 0x87d6 */ 0xdb58,
- /* key: 0x87d7 */ 0xffff,
- /* key: 0x87d8 */ 0xffff,
- /* key: 0x87d9 */ 0xdb59,
- /* key: 0x87da */ 0xdb5a,
- /* key: 0x87db */ 0xffff,
- /* key: 0x87dc */ 0xdb5b,
- /* key: 0x87dd */ 0xffff,
- /* key: 0x87de */ 0xffff,
- /* key: 0x87df */ 0xdb5c,
- /* key: 0x87e0 */ 0x6a36,
- /* key: 0x87e1 */ 0xffff,
- /* key: 0x87e2 */ 0xdb5d,
- /* key: 0x87e3 */ 0xdb5e,
- /* key: 0x87e4 */ 0xdb5f,
- /* key: 0x87e5 */ 0xffff,
- /* key: 0x87e6 */ 0xffff,
- /* key: 0x87e7 */ 0xffff,
- /* key: 0x87e8 */ 0xffff,
- /* key: 0x87e9 */ 0xffff,
- /* key: 0x87ea */ 0xdb60,
- /* key: 0x87eb */ 0xdb61,
- /* key: 0x87ec */ 0xffff,
- /* key: 0x87ed */ 0xdb62,
- /* key: 0x87ee */ 0xffff,
- /* key: 0x87ef */ 0x6a34,
- /* key: 0x87f0 */ 0xffff,
- /* key: 0x87f1 */ 0xdb63,
- /* key: 0x87f2 */ 0x6a35,
- /* key: 0x87f3 */ 0xdb64,
- /* key: 0x87f4 */ 0xffff,
- /* key: 0x87f5 */ 0xffff,
- /* key: 0x87f6 */ 0x6a3a,
- /* key: 0x87f7 */ 0x6a3b,
- /* key: 0x87f8 */ 0xdb65,
- /* key: 0x87f9 */ 0x332a,
- /* key: 0x87fa */ 0xdb66,
- /* key: 0x87fb */ 0x3542,
- /* key: 0x87fc */ 0xffff,
- /* key: 0x87fd */ 0xffff,
- /* key: 0x87fe */ 0x6a39,
- /* key: 0x87ff */ 0xdb67,
- /* branch: 0x880X */ 17264,
- /* branch: 0x881X */ 17280,
- /* branch: 0x882X */ 17296,
- /* branch: 0x883X */ 17312,
- /* branch: 0x884X */ 17328,
- /* branch: 0x885X */ 17344,
- /* branch: 0x886X */ 17360,
- /* branch: 0x887X */ 17376,
- /* branch: 0x888X */ 17392,
- /* branch: 0x889X */ 17408,
- /* branch: 0x88aX */ 17424,
- /* branch: 0x88bX */ 17440,
- /* branch: 0x88cX */ 17456,
- /* branch: 0x88dX */ 17472,
- /* branch: 0x88eX */ 17488,
- /* branch: 0x88fX */ 17504,
- /* key: 0x8800 */ 0xffff,
- /* key: 0x8801 */ 0xdb68,
- /* key: 0x8802 */ 0xffff,
- /* key: 0x8803 */ 0xdb69,
- /* key: 0x8804 */ 0xffff,
- /* key: 0x8805 */ 0x6a24,
- /* key: 0x8806 */ 0xdb6a,
- /* key: 0x8807 */ 0xffff,
- /* key: 0x8808 */ 0xffff,
- /* key: 0x8809 */ 0xdb6b,
- /* key: 0x880a */ 0xdb6c,
- /* key: 0x880b */ 0xdb6d,
- /* key: 0x880c */ 0xffff,
- /* key: 0x880d */ 0x6a38,
- /* key: 0x880e */ 0x6a3c,
- /* key: 0x880f */ 0x6a37,
- /* key: 0x8810 */ 0xdb6e,
- /* key: 0x8811 */ 0x6a3e,
- /* key: 0x8812 */ 0xdb70,
- /* key: 0x8813 */ 0xdb71,
- /* key: 0x8814 */ 0xdb72,
- /* key: 0x8815 */ 0x6a40,
- /* key: 0x8816 */ 0x6a3f,
- /* key: 0x8817 */ 0xffff,
- /* key: 0x8818 */ 0xdb73,
- /* key: 0x8819 */ 0xdb6f,
- /* key: 0x881a */ 0xdb74,
- /* key: 0x881b */ 0xdb75,
- /* key: 0x881c */ 0xdb76,
- /* key: 0x881d */ 0xffff,
- /* key: 0x881e */ 0xdb77,
- /* key: 0x881f */ 0xdb78,
- /* key: 0x8820 */ 0xffff,
- /* key: 0x8821 */ 0x6a42,
- /* key: 0x8822 */ 0x6a41,
- /* key: 0x8823 */ 0x695a,
- /* key: 0x8824 */ 0xffff,
- /* key: 0x8825 */ 0xffff,
- /* key: 0x8826 */ 0xffff,
- /* key: 0x8827 */ 0x6a46,
- /* key: 0x8828 */ 0xdb79,
- /* key: 0x8829 */ 0xffff,
- /* key: 0x882a */ 0xffff,
- /* key: 0x882b */ 0xffff,
- /* key: 0x882c */ 0xffff,
- /* key: 0x882d */ 0xdb7a,
- /* key: 0x882e */ 0xdb7b,
- /* key: 0x882f */ 0xffff,
- /* key: 0x8830 */ 0xdb7c,
- /* key: 0x8831 */ 0x6a43,
- /* key: 0x8832 */ 0xdb7d,
- /* key: 0x8833 */ 0xffff,
- /* key: 0x8834 */ 0xffff,
- /* key: 0x8835 */ 0xdb7e,
- /* key: 0x8836 */ 0x6a44,
- /* key: 0x8837 */ 0xffff,
- /* key: 0x8838 */ 0xffff,
- /* key: 0x8839 */ 0x6a45,
- /* key: 0x883a */ 0xdc21,
- /* key: 0x883b */ 0x6a47,
- /* key: 0x883c */ 0xdc22,
- /* key: 0x883d */ 0xffff,
- /* key: 0x883e */ 0xffff,
- /* key: 0x883f */ 0xffff,
- /* key: 0x8840 */ 0x376c,
- /* key: 0x8841 */ 0xdc23,
- /* key: 0x8842 */ 0x6a49,
- /* key: 0x8843 */ 0xdc24,
- /* key: 0x8844 */ 0x6a48,
- /* key: 0x8845 */ 0xdc25,
- /* key: 0x8846 */ 0x3d30,
- /* key: 0x8847 */ 0xffff,
- /* key: 0x8848 */ 0xdc26,
- /* key: 0x8849 */ 0xdc27,
- /* key: 0x884a */ 0xdc28,
- /* key: 0x884b */ 0xdc29,
- /* key: 0x884c */ 0x3954,
- /* key: 0x884d */ 0x5e27,
- /* key: 0x884e */ 0xdc2a,
- /* key: 0x884f */ 0xffff,
- /* key: 0x8850 */ 0xffff,
- /* key: 0x8851 */ 0xdc2b,
- /* key: 0x8852 */ 0x6a4a,
- /* key: 0x8853 */ 0x3d51,
- /* key: 0x8854 */ 0xffff,
- /* key: 0x8855 */ 0xdc2c,
- /* key: 0x8856 */ 0xdc2d,
- /* key: 0x8857 */ 0x3339,
- /* key: 0x8858 */ 0xdc2e,
- /* key: 0x8859 */ 0x6a4b,
- /* key: 0x885a */ 0xdc2f,
- /* key: 0x885b */ 0x3152,
- /* key: 0x885c */ 0xdc30,
- /* key: 0x885d */ 0x3e57,
- /* key: 0x885e */ 0x6a4c,
- /* key: 0x885f */ 0xdc31,
- /* key: 0x8860 */ 0xdc32,
- /* key: 0x8861 */ 0x3955,
- /* key: 0x8862 */ 0x6a4d,
- /* key: 0x8863 */ 0x3061,
- /* key: 0x8864 */ 0xdc33,
- /* key: 0x8865 */ 0xffff,
- /* key: 0x8866 */ 0xffff,
- /* key: 0x8867 */ 0xffff,
- /* key: 0x8868 */ 0x493d,
- /* key: 0x8869 */ 0xdc34,
- /* key: 0x886a */ 0xffff,
- /* key: 0x886b */ 0x6a4e,
- /* key: 0x886c */ 0xffff,
- /* key: 0x886d */ 0xffff,
- /* key: 0x886e */ 0xffff,
- /* key: 0x886f */ 0xffff,
- /* key: 0x8870 */ 0x3f6a,
- /* key: 0x8871 */ 0xdc35,
- /* key: 0x8872 */ 0x6a55,
- /* key: 0x8873 */ 0xffff,
- /* key: 0x8874 */ 0xffff,
- /* key: 0x8875 */ 0x6a52,
- /* key: 0x8876 */ 0xffff,
- /* key: 0x8877 */ 0x436f,
- /* key: 0x8878 */ 0xffff,
- /* key: 0x8879 */ 0xdc36,
- /* key: 0x887a */ 0xffff,
- /* key: 0x887b */ 0xdc37,
- /* key: 0x887c */ 0xffff,
- /* key: 0x887d */ 0x6a53,
- /* key: 0x887e */ 0x6a50,
- /* key: 0x887f */ 0x365e,
- /* key: 0x8880 */ 0xdc38,
- /* key: 0x8881 */ 0x6a4f,
- /* key: 0x8882 */ 0x6a56,
- /* key: 0x8883 */ 0xffff,
- /* key: 0x8884 */ 0xffff,
- /* key: 0x8885 */ 0xffff,
- /* key: 0x8886 */ 0xffff,
- /* key: 0x8887 */ 0xffff,
- /* key: 0x8888 */ 0x3736,
- /* key: 0x8889 */ 0xffff,
- /* key: 0x888a */ 0xffff,
- /* key: 0x888b */ 0x425e,
- /* key: 0x888c */ 0xffff,
- /* key: 0x888d */ 0x6a5c,
- /* key: 0x888e */ 0xffff,
- /* key: 0x888f */ 0xffff,
- /* key: 0x8890 */ 0xffff,
- /* key: 0x8891 */ 0xffff,
- /* key: 0x8892 */ 0x6a58,
- /* key: 0x8893 */ 0xffff,
- /* key: 0x8894 */ 0xffff,
- /* key: 0x8895 */ 0xffff,
- /* key: 0x8896 */ 0x4235,
- /* key: 0x8897 */ 0x6a57,
- /* key: 0x8898 */ 0xdc39,
- /* key: 0x8899 */ 0x6a5a,
- /* key: 0x889a */ 0xdc3a,
- /* key: 0x889b */ 0xdc3b,
- /* key: 0x889c */ 0xdc3c,
- /* key: 0x889d */ 0xffff,
- /* key: 0x889e */ 0x6a51,
- /* key: 0x889f */ 0xdc3d,
- /* key: 0x88a0 */ 0xdc3e,
- /* key: 0x88a1 */ 0xffff,
- /* key: 0x88a2 */ 0x6a5b,
- /* key: 0x88a3 */ 0xffff,
- /* key: 0x88a4 */ 0x6a5d,
- /* key: 0x88a5 */ 0xffff,
- /* key: 0x88a6 */ 0xffff,
- /* key: 0x88a7 */ 0xffff,
- /* key: 0x88a8 */ 0xdc3f,
- /* key: 0x88a9 */ 0xffff,
- /* key: 0x88aa */ 0xdc40,
- /* key: 0x88ab */ 0x486f,
- /* key: 0x88ac */ 0xffff,
- /* key: 0x88ad */ 0xffff,
- /* key: 0x88ae */ 0x6a59,
- /* key: 0x88af */ 0xffff,
- /* key: 0x88b0 */ 0x6a5e,
- /* key: 0x88b1 */ 0x6a60,
- /* key: 0x88b2 */ 0xffff,
- /* key: 0x88b3 */ 0xffff,
- /* key: 0x88b4 */ 0x3853,
- /* key: 0x88b5 */ 0x6a54,
- /* key: 0x88b6 */ 0xffff,
- /* key: 0x88b7 */ 0x3041,
- /* key: 0x88b8 */ 0xffff,
- /* key: 0x88b9 */ 0xffff,
- /* key: 0x88ba */ 0xdc41,
- /* key: 0x88bb */ 0xffff,
- /* key: 0x88bc */ 0xffff,
- /* key: 0x88bd */ 0xdc42,
- /* key: 0x88be */ 0xdc43,
- /* key: 0x88bf */ 0x6a5f,
- /* key: 0x88c0 */ 0xdc44,
- /* key: 0x88c1 */ 0x3a5b,
- /* key: 0x88c2 */ 0x4e76,
- /* key: 0x88c3 */ 0x6a61,
- /* key: 0x88c4 */ 0x6a62,
- /* key: 0x88c5 */ 0x4175,
- /* key: 0x88c6 */ 0xffff,
- /* key: 0x88c7 */ 0xffff,
- /* key: 0x88c8 */ 0xffff,
- /* key: 0x88c9 */ 0xffff,
- /* key: 0x88ca */ 0xdc45,
- /* key: 0x88cb */ 0xdc46,
- /* key: 0x88cc */ 0xdc47,
- /* key: 0x88cd */ 0xdc48,
- /* key: 0x88ce */ 0xdc49,
- /* key: 0x88cf */ 0x4e22,
- /* key: 0x88d0 */ 0xffff,
- /* key: 0x88d1 */ 0xdc4a,
- /* key: 0x88d2 */ 0xdc4b,
- /* key: 0x88d3 */ 0xdc4c,
- /* key: 0x88d4 */ 0x6a63,
- /* key: 0x88d5 */ 0x4d35,
- /* key: 0x88d6 */ 0xffff,
- /* key: 0x88d7 */ 0xffff,
- /* key: 0x88d8 */ 0x6a64,
- /* key: 0x88d9 */ 0x6a65,
- /* key: 0x88da */ 0xffff,
- /* key: 0x88db */ 0xdc4d,
- /* key: 0x88dc */ 0x4a64,
- /* key: 0x88dd */ 0x6a66,
- /* key: 0x88de */ 0xdc4e,
- /* key: 0x88df */ 0x3a40,
- /* key: 0x88e0 */ 0xffff,
- /* key: 0x88e1 */ 0x4e23,
- /* key: 0x88e2 */ 0xffff,
- /* key: 0x88e3 */ 0xffff,
- /* key: 0x88e4 */ 0xffff,
- /* key: 0x88e5 */ 0xffff,
- /* key: 0x88e6 */ 0xffff,
- /* key: 0x88e7 */ 0xdc4f,
- /* key: 0x88e8 */ 0x6a6b,
- /* key: 0x88e9 */ 0xffff,
- /* key: 0x88ea */ 0xffff,
- /* key: 0x88eb */ 0xffff,
- /* key: 0x88ec */ 0xffff,
- /* key: 0x88ed */ 0xffff,
- /* key: 0x88ee */ 0xffff,
- /* key: 0x88ef */ 0xdc50,
- /* key: 0x88f0 */ 0xdc51,
- /* key: 0x88f1 */ 0xdc52,
- /* key: 0x88f2 */ 0x6a6c,
- /* key: 0x88f3 */ 0x3e58,
- /* key: 0x88f4 */ 0x6a6a,
- /* key: 0x88f5 */ 0xdc53,
- /* key: 0x88f6 */ 0xffff,
- /* key: 0x88f7 */ 0xdc54,
- /* key: 0x88f8 */ 0x4d67,
- /* key: 0x88f9 */ 0x6a67,
- /* key: 0x88fa */ 0xffff,
- /* key: 0x88fb */ 0xffff,
- /* key: 0x88fc */ 0x6a69,
- /* key: 0x88fd */ 0x403d,
- /* key: 0x88fe */ 0x3f7e,
- /* key: 0x88ff */ 0xffff,
- /* branch: 0x890X */ 17536,
- /* branch: 0x891X */ 17552,
- /* branch: 0x892X */ 17568,
- /* branch: 0x893X */ 17584,
- /* branch: 0x894X */ 17600,
- /* branch: 0x895X */ 17616,
- /* branch: 0x896X */ 17632,
- /* branch: 0x897X */ 17648,
- /* branch: 0x898X */ 17664,
- /* branch: 0x899X */ 17680,
- /* branch: 0x89aX */ 17696,
- /* branch: 0x89bX */ 17712,
- /* branch: 0x89cX */ 17728,
- /* branch: 0x89dX */ 17744,
- /* branch: 0x89eX */ 17760,
- /* branch: 0x89fX */ 17776,
- /* key: 0x8900 */ 0xffff,
- /* key: 0x8901 */ 0xdc55,
- /* key: 0x8902 */ 0x6a68,
- /* key: 0x8903 */ 0xffff,
- /* key: 0x8904 */ 0x6a6d,
- /* key: 0x8905 */ 0xffff,
- /* key: 0x8906 */ 0xdc56,
- /* key: 0x8907 */ 0x4a23,
- /* key: 0x8908 */ 0xffff,
- /* key: 0x8909 */ 0xffff,
- /* key: 0x890a */ 0x6a6f,
- /* key: 0x890b */ 0xffff,
- /* key: 0x890c */ 0x6a6e,
- /* key: 0x890d */ 0xdc57,
- /* key: 0x890e */ 0xdc58,
- /* key: 0x890f */ 0xdc59,
- /* key: 0x8910 */ 0x336c,
- /* key: 0x8911 */ 0xffff,
- /* key: 0x8912 */ 0x4b2b,
- /* key: 0x8913 */ 0x6a70,
- /* key: 0x8914 */ 0xffff,
- /* key: 0x8915 */ 0xdc5a,
- /* key: 0x8916 */ 0xdc5b,
- /* key: 0x8917 */ 0xffff,
- /* key: 0x8918 */ 0xdc5c,
- /* key: 0x8919 */ 0xdc5d,
- /* key: 0x891a */ 0xdc5e,
- /* key: 0x891b */ 0xffff,
- /* key: 0x891c */ 0xdc5f,
- /* key: 0x891d */ 0x6a7c,
- /* key: 0x891e */ 0x6a72,
- /* key: 0x891f */ 0xffff,
- /* key: 0x8920 */ 0xdc60,
- /* key: 0x8921 */ 0xffff,
- /* key: 0x8922 */ 0xffff,
- /* key: 0x8923 */ 0xffff,
- /* key: 0x8924 */ 0xffff,
- /* key: 0x8925 */ 0x6a73,
- /* key: 0x8926 */ 0xdc61,
- /* key: 0x8927 */ 0xdc62,
- /* key: 0x8928 */ 0xdc63,
- /* key: 0x8929 */ 0xffff,
- /* key: 0x892a */ 0x6a74,
- /* key: 0x892b */ 0x6a75,
- /* key: 0x892c */ 0xffff,
- /* key: 0x892d */ 0xffff,
- /* key: 0x892e */ 0xffff,
- /* key: 0x892f */ 0xffff,
- /* key: 0x8930 */ 0xdc64,
- /* key: 0x8931 */ 0xdc65,
- /* key: 0x8932 */ 0xdc66,
- /* key: 0x8933 */ 0xffff,
- /* key: 0x8934 */ 0xffff,
- /* key: 0x8935 */ 0xdc67,
- /* key: 0x8936 */ 0x6a79,
- /* key: 0x8937 */ 0xffff,
- /* key: 0x8938 */ 0x6a7a,
- /* key: 0x8939 */ 0xdc68,
- /* key: 0x893a */ 0xdc69,
- /* key: 0x893b */ 0x6a78,
- /* key: 0x893c */ 0xffff,
- /* key: 0x893d */ 0xffff,
- /* key: 0x893e */ 0xdc6a,
- /* key: 0x893f */ 0xffff,
- /* key: 0x8940 */ 0xdc6b,
- /* key: 0x8941 */ 0x6a76,
- /* key: 0x8942 */ 0xdc6c,
- /* key: 0x8943 */ 0x6a71,
- /* key: 0x8944 */ 0x6a77,
- /* key: 0x8945 */ 0xdc6d,
- /* key: 0x8946 */ 0xdc6e,
- /* key: 0x8947 */ 0xffff,
- /* key: 0x8948 */ 0xffff,
- /* key: 0x8949 */ 0xdc6f,
- /* key: 0x894a */ 0xffff,
- /* key: 0x894b */ 0xffff,
- /* key: 0x894c */ 0x6a7b,
- /* key: 0x894d */ 0x7037,
- /* key: 0x894e */ 0xffff,
- /* key: 0x894f */ 0xdc70,
- /* key: 0x8950 */ 0xffff,
- /* key: 0x8951 */ 0xffff,
- /* key: 0x8952 */ 0xdc71,
- /* key: 0x8953 */ 0xffff,
- /* key: 0x8954 */ 0xffff,
- /* key: 0x8955 */ 0xffff,
- /* key: 0x8956 */ 0x3228,
- /* key: 0x8957 */ 0xdc72,
- /* key: 0x8958 */ 0xffff,
- /* key: 0x8959 */ 0xffff,
- /* key: 0x895a */ 0xdc73,
- /* key: 0x895b */ 0xdc74,
- /* key: 0x895c */ 0xdc75,
- /* key: 0x895d */ 0xffff,
- /* key: 0x895e */ 0x6a7e,
- /* key: 0x895f */ 0x365f,
- /* key: 0x8960 */ 0x6a7d,
- /* key: 0x8961 */ 0xdc76,
- /* key: 0x8962 */ 0xdc77,
- /* key: 0x8963 */ 0xdc78,
- /* key: 0x8964 */ 0x6b22,
- /* key: 0x8965 */ 0xffff,
- /* key: 0x8966 */ 0x6b21,
- /* key: 0x8967 */ 0xffff,
- /* key: 0x8968 */ 0xffff,
- /* key: 0x8969 */ 0xffff,
- /* key: 0x896a */ 0x6b24,
- /* key: 0x896b */ 0xdc79,
- /* key: 0x896c */ 0xffff,
- /* key: 0x896d */ 0x6b23,
- /* key: 0x896e */ 0xdc7a,
- /* key: 0x896f */ 0x6b25,
- /* key: 0x8970 */ 0xdc7b,
- /* key: 0x8971 */ 0xffff,
- /* key: 0x8972 */ 0x3d31,
- /* key: 0x8973 */ 0xdc7c,
- /* key: 0x8974 */ 0x6b26,
- /* key: 0x8975 */ 0xdc7d,
- /* key: 0x8976 */ 0xffff,
- /* key: 0x8977 */ 0x6b27,
- /* key: 0x8978 */ 0xffff,
- /* key: 0x8979 */ 0xffff,
- /* key: 0x897a */ 0xdc7e,
- /* key: 0x897b */ 0xdd21,
- /* key: 0x897c */ 0xdd22,
- /* key: 0x897d */ 0xdd23,
- /* key: 0x897e */ 0x6b28,
- /* key: 0x897f */ 0x403e,
- /* key: 0x8980 */ 0xffff,
- /* key: 0x8981 */ 0x4d57,
- /* key: 0x8982 */ 0xffff,
- /* key: 0x8983 */ 0x6b29,
- /* key: 0x8984 */ 0xffff,
- /* key: 0x8985 */ 0xffff,
- /* key: 0x8986 */ 0x4a24,
- /* key: 0x8987 */ 0x4746,
- /* key: 0x8988 */ 0x6b2a,
- /* key: 0x8989 */ 0xdd24,
- /* key: 0x898a */ 0x6b2b,
- /* key: 0x898b */ 0x382b,
- /* key: 0x898c */ 0xffff,
- /* key: 0x898d */ 0xdd25,
- /* key: 0x898e */ 0xffff,
- /* key: 0x898f */ 0x352c,
- /* key: 0x8990 */ 0xdd26,
- /* key: 0x8991 */ 0xffff,
- /* key: 0x8992 */ 0xffff,
- /* key: 0x8993 */ 0x6b2c,
- /* key: 0x8994 */ 0xdd27,
- /* key: 0x8995 */ 0xdd28,
- /* key: 0x8996 */ 0x3b6b,
- /* key: 0x8997 */ 0x4741,
- /* key: 0x8998 */ 0x6b2d,
- /* key: 0x8999 */ 0xffff,
- /* key: 0x899a */ 0x3350,
- /* key: 0x899b */ 0xdd29,
- /* key: 0x899c */ 0xdd2a,
- /* key: 0x899d */ 0xffff,
- /* key: 0x899e */ 0xffff,
- /* key: 0x899f */ 0xdd2b,
- /* key: 0x89a0 */ 0xdd2c,
- /* key: 0x89a1 */ 0x6b2e,
- /* key: 0x89a2 */ 0xffff,
- /* key: 0x89a3 */ 0xffff,
- /* key: 0x89a4 */ 0xffff,
- /* key: 0x89a5 */ 0xdd2d,
- /* key: 0x89a6 */ 0x6b30,
- /* key: 0x89a7 */ 0x4d77,
- /* key: 0x89a8 */ 0xffff,
- /* key: 0x89a9 */ 0x6b2f,
- /* key: 0x89aa */ 0x3f46,
- /* key: 0x89ab */ 0xffff,
- /* key: 0x89ac */ 0x6b31,
- /* key: 0x89ad */ 0xffff,
- /* key: 0x89ae */ 0xffff,
- /* key: 0x89af */ 0x6b32,
- /* key: 0x89b0 */ 0xdd2e,
- /* key: 0x89b1 */ 0xffff,
- /* key: 0x89b2 */ 0x6b33,
- /* key: 0x89b3 */ 0x3451,
- /* key: 0x89b4 */ 0xdd2f,
- /* key: 0x89b5 */ 0xdd30,
- /* key: 0x89b6 */ 0xdd31,
- /* key: 0x89b7 */ 0xdd32,
- /* key: 0x89b8 */ 0xffff,
- /* key: 0x89b9 */ 0xffff,
- /* key: 0x89ba */ 0x6b34,
- /* key: 0x89bb */ 0xffff,
- /* key: 0x89bc */ 0xdd33,
- /* key: 0x89bd */ 0x6b35,
- /* key: 0x89be */ 0xffff,
- /* key: 0x89bf */ 0x6b36,
- /* key: 0x89c0 */ 0x6b37,
- /* key: 0x89c1 */ 0xffff,
- /* key: 0x89c2 */ 0xffff,
- /* key: 0x89c3 */ 0xffff,
- /* key: 0x89c4 */ 0xffff,
- /* key: 0x89c5 */ 0xffff,
- /* key: 0x89c6 */ 0xffff,
- /* key: 0x89c7 */ 0xffff,
- /* key: 0x89c8 */ 0xffff,
- /* key: 0x89c9 */ 0xffff,
- /* key: 0x89ca */ 0xffff,
- /* key: 0x89cb */ 0xffff,
- /* key: 0x89cc */ 0xffff,
- /* key: 0x89cd */ 0xffff,
- /* key: 0x89ce */ 0xffff,
- /* key: 0x89cf */ 0xffff,
- /* key: 0x89d0 */ 0xffff,
- /* key: 0x89d1 */ 0xffff,
- /* key: 0x89d2 */ 0x3351,
- /* key: 0x89d3 */ 0xffff,
- /* key: 0x89d4 */ 0xdd34,
- /* key: 0x89d5 */ 0xdd35,
- /* key: 0x89d6 */ 0xdd36,
- /* key: 0x89d7 */ 0xdd37,
- /* key: 0x89d8 */ 0xdd38,
- /* key: 0x89d9 */ 0xffff,
- /* key: 0x89da */ 0x6b38,
- /* key: 0x89db */ 0xffff,
- /* key: 0x89dc */ 0x6b39,
- /* key: 0x89dd */ 0x6b3a,
- /* key: 0x89de */ 0xffff,
- /* key: 0x89df */ 0xffff,
- /* key: 0x89e0 */ 0xffff,
- /* key: 0x89e1 */ 0xffff,
- /* key: 0x89e2 */ 0xffff,
- /* key: 0x89e3 */ 0x3272,
- /* key: 0x89e4 */ 0xffff,
- /* key: 0x89e5 */ 0xdd39,
- /* key: 0x89e6 */ 0x3f28,
- /* key: 0x89e7 */ 0x6b3b,
- /* key: 0x89e8 */ 0xffff,
- /* key: 0x89e9 */ 0xdd3a,
- /* key: 0x89ea */ 0xffff,
- /* key: 0x89eb */ 0xdd3b,
- /* key: 0x89ec */ 0xffff,
- /* key: 0x89ed */ 0xdd3c,
- /* key: 0x89ee */ 0xffff,
- /* key: 0x89ef */ 0xffff,
- /* key: 0x89f0 */ 0xffff,
- /* key: 0x89f1 */ 0xdd3d,
- /* key: 0x89f2 */ 0xffff,
- /* key: 0x89f3 */ 0xdd3e,
- /* key: 0x89f4 */ 0x6b3c,
- /* key: 0x89f5 */ 0xffff,
- /* key: 0x89f6 */ 0xdd3f,
- /* key: 0x89f7 */ 0xffff,
- /* key: 0x89f8 */ 0x6b3d,
- /* key: 0x89f9 */ 0xdd40,
- /* key: 0x89fa */ 0xffff,
- /* key: 0x89fb */ 0xffff,
- /* key: 0x89fc */ 0xffff,
- /* key: 0x89fd */ 0xdd41,
- /* key: 0x89fe */ 0xffff,
- /* key: 0x89ff */ 0xdd42,
- /* branch: 0x8a0X */ 17808,
- /* branch: 0x8a1X */ 17824,
- /* branch: 0x8a2X */ 17840,
- /* branch: 0x8a3X */ 17856,
- /* branch: 0x8a4X */ 17872,
- /* branch: 0x8a5X */ 17888,
- /* branch: 0x8a6X */ 17904,
- /* branch: 0x8a7X */ 17920,
- /* branch: 0x8a8X */ 17936,
- /* branch: 0x8a9X */ 17952,
- /* branch: 0x8aaX */ 17968,
- /* branch: 0x8abX */ 17984,
- /* branch: 0x8acX */ 18000,
- /* branch: 0x8adX */ 18016,
- /* branch: 0x8aeX */ 18032,
- /* branch: 0x8afX */ 18048,
- /* key: 0x8a00 */ 0x3840,
- /* key: 0x8a01 */ 0xffff,
- /* key: 0x8a02 */ 0x447b,
- /* key: 0x8a03 */ 0x6b3e,
- /* key: 0x8a04 */ 0xdd43,
- /* key: 0x8a05 */ 0xdd44,
- /* key: 0x8a06 */ 0xffff,
- /* key: 0x8a07 */ 0xdd45,
- /* key: 0x8a08 */ 0x3757,
- /* key: 0x8a09 */ 0xffff,
- /* key: 0x8a0a */ 0x3f56,
- /* key: 0x8a0b */ 0xffff,
- /* key: 0x8a0c */ 0x6b41,
- /* key: 0x8a0d */ 0xffff,
- /* key: 0x8a0e */ 0x4624,
- /* key: 0x8a0f */ 0xdd46,
- /* key: 0x8a10 */ 0x6b40,
- /* key: 0x8a11 */ 0xdd47,
- /* key: 0x8a12 */ 0xdd48,
- /* key: 0x8a13 */ 0x3731,
- /* key: 0x8a14 */ 0xdd49,
- /* key: 0x8a15 */ 0xdd4a,
- /* key: 0x8a16 */ 0x6b3f,
- /* key: 0x8a17 */ 0x4277,
- /* key: 0x8a18 */ 0x352d,
- /* key: 0x8a19 */ 0xffff,
- /* key: 0x8a1a */ 0xffff,
- /* key: 0x8a1b */ 0x6b42,
- /* key: 0x8a1c */ 0xffff,
- /* key: 0x8a1d */ 0x6b43,
- /* key: 0x8a1e */ 0xdd4b,
- /* key: 0x8a1f */ 0x3e59,
- /* key: 0x8a20 */ 0xdd4c,
- /* key: 0x8a21 */ 0xffff,
- /* key: 0x8a22 */ 0xdd4d,
- /* key: 0x8a23 */ 0x376d,
- /* key: 0x8a24 */ 0xdd4e,
- /* key: 0x8a25 */ 0x6b44,
- /* key: 0x8a26 */ 0xdd4f,
- /* key: 0x8a27 */ 0xffff,
- /* key: 0x8a28 */ 0xffff,
- /* key: 0x8a29 */ 0xffff,
- /* key: 0x8a2a */ 0x4b2c,
- /* key: 0x8a2b */ 0xdd50,
- /* key: 0x8a2c */ 0xdd51,
- /* key: 0x8a2d */ 0x405f,
- /* key: 0x8a2e */ 0xffff,
- /* key: 0x8a2f */ 0xdd52,
- /* key: 0x8a30 */ 0xffff,
- /* key: 0x8a31 */ 0x3576,
- /* key: 0x8a32 */ 0xffff,
- /* key: 0x8a33 */ 0x4c75,
- /* key: 0x8a34 */ 0x414a,
- /* key: 0x8a35 */ 0xdd53,
- /* key: 0x8a36 */ 0x6b45,
- /* key: 0x8a37 */ 0xdd54,
- /* key: 0x8a38 */ 0xffff,
- /* key: 0x8a39 */ 0xffff,
- /* key: 0x8a3a */ 0x3f47,
- /* key: 0x8a3b */ 0x4370,
- /* key: 0x8a3c */ 0x3e5a,
- /* key: 0x8a3d */ 0xdd55,
- /* key: 0x8a3e */ 0xdd56,
- /* key: 0x8a3f */ 0xffff,
- /* key: 0x8a40 */ 0xdd57,
- /* key: 0x8a41 */ 0x6b46,
- /* key: 0x8a42 */ 0xffff,
- /* key: 0x8a43 */ 0xdd58,
- /* key: 0x8a44 */ 0xffff,
- /* key: 0x8a45 */ 0xdd59,
- /* key: 0x8a46 */ 0x6b49,
- /* key: 0x8a47 */ 0xdd5a,
- /* key: 0x8a48 */ 0x6b4a,
- /* key: 0x8a49 */ 0xdd5b,
- /* key: 0x8a4a */ 0xffff,
- /* key: 0x8a4b */ 0xffff,
- /* key: 0x8a4c */ 0xffff,
- /* key: 0x8a4d */ 0xdd5c,
- /* key: 0x8a4e */ 0xdd5d,
- /* key: 0x8a4f */ 0xffff,
- /* key: 0x8a50 */ 0x3a3e,
- /* key: 0x8a51 */ 0x4242,
- /* key: 0x8a52 */ 0x6b48,
- /* key: 0x8a53 */ 0xdd5e,
- /* key: 0x8a54 */ 0x3e5b,
- /* key: 0x8a55 */ 0x493e,
- /* key: 0x8a56 */ 0xdd5f,
- /* key: 0x8a57 */ 0xdd60,
- /* key: 0x8a58 */ 0xdd61,
- /* key: 0x8a59 */ 0xffff,
- /* key: 0x8a5a */ 0xffff,
- /* key: 0x8a5b */ 0x6b47,
- /* key: 0x8a5c */ 0xdd62,
- /* key: 0x8a5d */ 0xdd63,
- /* key: 0x8a5e */ 0x3b6c,
- /* key: 0x8a5f */ 0xffff,
- /* key: 0x8a60 */ 0x3153,
- /* key: 0x8a61 */ 0xdd64,
- /* key: 0x8a62 */ 0x6b4e,
- /* key: 0x8a63 */ 0x3758,
- /* key: 0x8a64 */ 0xffff,
- /* key: 0x8a65 */ 0xdd65,
- /* key: 0x8a66 */ 0x3b6e,
- /* key: 0x8a67 */ 0xdd66,
- /* key: 0x8a68 */ 0xffff,
- /* key: 0x8a69 */ 0x3b6d,
- /* key: 0x8a6a */ 0xffff,
- /* key: 0x8a6b */ 0x4f4d,
- /* key: 0x8a6c */ 0x6b4d,
- /* key: 0x8a6d */ 0x6b4c,
- /* key: 0x8a6e */ 0x4127,
- /* key: 0x8a6f */ 0xffff,
- /* key: 0x8a70 */ 0x354d,
- /* key: 0x8a71 */ 0x4f43,
- /* key: 0x8a72 */ 0x333a,
- /* key: 0x8a73 */ 0x3e5c,
- /* key: 0x8a74 */ 0xffff,
- /* key: 0x8a75 */ 0xdd67,
- /* key: 0x8a76 */ 0xdd68,
- /* key: 0x8a77 */ 0xdd69,
- /* key: 0x8a78 */ 0xffff,
- /* key: 0x8a79 */ 0xdd6a,
- /* key: 0x8a7a */ 0xdd6b,
- /* key: 0x8a7b */ 0xdd6c,
- /* key: 0x8a7c */ 0x6b4b,
- /* key: 0x8a7d */ 0xffff,
- /* key: 0x8a7e */ 0xdd6d,
- /* key: 0x8a7f */ 0xdd6e,
- /* key: 0x8a80 */ 0xdd6f,
- /* key: 0x8a81 */ 0xffff,
- /* key: 0x8a82 */ 0x6b50,
- /* key: 0x8a83 */ 0xdd70,
- /* key: 0x8a84 */ 0x6b51,
- /* key: 0x8a85 */ 0x6b4f,
- /* key: 0x8a86 */ 0xdd71,
- /* key: 0x8a87 */ 0x3858,
- /* key: 0x8a88 */ 0xffff,
- /* key: 0x8a89 */ 0x4d40,
- /* key: 0x8a8a */ 0xffff,
- /* key: 0x8a8b */ 0xdd72,
- /* key: 0x8a8c */ 0x3b6f,
- /* key: 0x8a8d */ 0x4727,
- /* key: 0x8a8e */ 0xffff,
- /* key: 0x8a8f */ 0xdd73,
- /* key: 0x8a90 */ 0xdd74,
- /* key: 0x8a91 */ 0x6b54,
- /* key: 0x8a92 */ 0xdd75,
- /* key: 0x8a93 */ 0x4040,
- /* key: 0x8a94 */ 0xffff,
- /* key: 0x8a95 */ 0x4342,
- /* key: 0x8a96 */ 0xdd76,
- /* key: 0x8a97 */ 0xdd77,
- /* key: 0x8a98 */ 0x4d36,
- /* key: 0x8a99 */ 0xdd78,
- /* key: 0x8a9a */ 0x6b57,
- /* key: 0x8a9b */ 0xffff,
- /* key: 0x8a9c */ 0xffff,
- /* key: 0x8a9d */ 0xffff,
- /* key: 0x8a9e */ 0x386c,
- /* key: 0x8a9f */ 0xdd79,
- /* key: 0x8aa0 */ 0x403f,
- /* key: 0x8aa1 */ 0x6b53,
- /* key: 0x8aa2 */ 0xffff,
- /* key: 0x8aa3 */ 0x6b58,
- /* key: 0x8aa4 */ 0x386d,
- /* key: 0x8aa5 */ 0x6b55,
- /* key: 0x8aa6 */ 0x6b56,
- /* key: 0x8aa7 */ 0xdd7a,
- /* key: 0x8aa8 */ 0x6b52,
- /* key: 0x8aa9 */ 0xdd7b,
- /* key: 0x8aaa */ 0xffff,
- /* key: 0x8aab */ 0xffff,
- /* key: 0x8aac */ 0x4062,
- /* key: 0x8aad */ 0x4649,
- /* key: 0x8aae */ 0xdd7c,
- /* key: 0x8aaf */ 0xdd7d,
- /* key: 0x8ab0 */ 0x432f,
- /* key: 0x8ab1 */ 0xffff,
- /* key: 0x8ab2 */ 0x325d,
- /* key: 0x8ab3 */ 0xdd7e,
- /* key: 0x8ab4 */ 0xffff,
- /* key: 0x8ab5 */ 0xffff,
- /* key: 0x8ab6 */ 0xde21,
- /* key: 0x8ab7 */ 0xde22,
- /* key: 0x8ab8 */ 0xffff,
- /* key: 0x8ab9 */ 0x4870,
- /* key: 0x8aba */ 0xffff,
- /* key: 0x8abb */ 0xde23,
- /* key: 0x8abc */ 0x3543,
- /* key: 0x8abd */ 0xffff,
- /* key: 0x8abe */ 0xde24,
- /* key: 0x8abf */ 0x4434,
- /* key: 0x8ac0 */ 0xffff,
- /* key: 0x8ac1 */ 0xffff,
- /* key: 0x8ac2 */ 0x6b5b,
- /* key: 0x8ac3 */ 0xde25,
- /* key: 0x8ac4 */ 0x6b59,
- /* key: 0x8ac5 */ 0xffff,
- /* key: 0x8ac6 */ 0xde26,
- /* key: 0x8ac7 */ 0x434c,
- /* key: 0x8ac8 */ 0xde27,
- /* key: 0x8ac9 */ 0xde28,
- /* key: 0x8aca */ 0xde29,
- /* key: 0x8acb */ 0x4041,
- /* key: 0x8acc */ 0x3452,
- /* key: 0x8acd */ 0x6b5a,
- /* key: 0x8ace */ 0xffff,
- /* key: 0x8acf */ 0x3f5b,
- /* key: 0x8ad0 */ 0xffff,
- /* key: 0x8ad1 */ 0xde2a,
- /* key: 0x8ad2 */ 0x4e4a,
- /* key: 0x8ad3 */ 0xde2b,
- /* key: 0x8ad4 */ 0xde2c,
- /* key: 0x8ad5 */ 0xde2d,
- /* key: 0x8ad6 */ 0x4f40,
- /* key: 0x8ad7 */ 0xde2e,
- /* key: 0x8ad8 */ 0xffff,
- /* key: 0x8ad9 */ 0xffff,
- /* key: 0x8ada */ 0x6b5c,
- /* key: 0x8adb */ 0x6b67,
- /* key: 0x8adc */ 0x4435,
- /* key: 0x8add */ 0xde2f,
- /* key: 0x8ade */ 0x6b66,
- /* key: 0x8adf */ 0xde30,
- /* key: 0x8ae0 */ 0x6b63,
- /* key: 0x8ae1 */ 0x6b6b,
- /* key: 0x8ae2 */ 0x6b64,
- /* key: 0x8ae3 */ 0xffff,
- /* key: 0x8ae4 */ 0x6b60,
- /* key: 0x8ae5 */ 0xffff,
- /* key: 0x8ae6 */ 0x447c,
- /* key: 0x8ae7 */ 0x6b5f,
- /* key: 0x8ae8 */ 0xffff,
- /* key: 0x8ae9 */ 0xffff,
- /* key: 0x8aea */ 0xffff,
- /* key: 0x8aeb */ 0x6b5d,
- /* key: 0x8aec */ 0xde31,
- /* key: 0x8aed */ 0x4d21,
- /* key: 0x8aee */ 0x3b70,
- /* key: 0x8aef */ 0xffff,
- /* key: 0x8af0 */ 0xde32,
- /* key: 0x8af1 */ 0x6b61,
- /* key: 0x8af2 */ 0xffff,
- /* key: 0x8af3 */ 0x6b5e,
- /* key: 0x8af4 */ 0xde33,
- /* key: 0x8af5 */ 0xde34,
- /* key: 0x8af6 */ 0xde35,
- /* key: 0x8af7 */ 0x6b65,
- /* key: 0x8af8 */ 0x3d74,
- /* key: 0x8af9 */ 0xffff,
- /* key: 0x8afa */ 0x3841,
- /* key: 0x8afb */ 0xffff,
- /* key: 0x8afc */ 0xde36,
- /* key: 0x8afd */ 0xffff,
- /* key: 0x8afe */ 0x427a,
- /* key: 0x8aff */ 0xde37,
- /* branch: 0x8b0X */ 18080,
- /* branch: 0x8b1X */ 18096,
- /* branch: 0x8b2X */ 18112,
- /* branch: 0x8b3X */ 18128,
- /* branch: 0x8b4X */ 18144,
- /* branch: 0x8b5X */ 18160,
- /* branch: 0x8b6X */ 18176,
- /* branch: 0x8b7X */ 18192,
- /* branch: 0x8b8X */ 18208,
- /* branch: 0x8b9X */ 18224,
- /* branch: 0x8baX */ 0,
- /* branch: 0x8bbX */ 0,
- /* branch: 0x8bcX */ 0,
- /* branch: 0x8bdX */ 0,
- /* branch: 0x8beX */ 0,
- /* branch: 0x8bfX */ 0,
- /* key: 0x8b00 */ 0x4b45,
- /* key: 0x8b01 */ 0x315a,
- /* key: 0x8b02 */ 0x3062,
- /* key: 0x8b03 */ 0xffff,
- /* key: 0x8b04 */ 0x4625,
- /* key: 0x8b05 */ 0xde38,
- /* key: 0x8b06 */ 0xde39,
- /* key: 0x8b07 */ 0x6b69,
- /* key: 0x8b08 */ 0xffff,
- /* key: 0x8b09 */ 0xffff,
- /* key: 0x8b0a */ 0xde3f,
- /* key: 0x8b0b */ 0xde3a,
- /* key: 0x8b0c */ 0x6b68,
- /* key: 0x8b0d */ 0xffff,
- /* key: 0x8b0e */ 0x4666,
- /* key: 0x8b0f */ 0xffff,
- /* key: 0x8b10 */ 0x6b6d,
- /* key: 0x8b11 */ 0xde3b,
- /* key: 0x8b12 */ 0xffff,
- /* key: 0x8b13 */ 0xffff,
- /* key: 0x8b14 */ 0x6b62,
- /* key: 0x8b15 */ 0xffff,
- /* key: 0x8b16 */ 0x6b6c,
- /* key: 0x8b17 */ 0x6b6e,
- /* key: 0x8b18 */ 0xffff,
- /* key: 0x8b19 */ 0x382c,
- /* key: 0x8b1a */ 0x6b6a,
- /* key: 0x8b1b */ 0x3956,
- /* key: 0x8b1c */ 0xde3c,
- /* key: 0x8b1d */ 0x3c55,
- /* key: 0x8b1e */ 0xde3d,
- /* key: 0x8b1f */ 0xde3e,
- /* key: 0x8b20 */ 0x6b6f,
- /* key: 0x8b21 */ 0x4d58,
- /* key: 0x8b22 */ 0xffff,
- /* key: 0x8b23 */ 0xffff,
- /* key: 0x8b24 */ 0xffff,
- /* key: 0x8b25 */ 0xffff,
- /* key: 0x8b26 */ 0x6b72,
- /* key: 0x8b27 */ 0xffff,
- /* key: 0x8b28 */ 0x6b75,
- /* key: 0x8b29 */ 0xffff,
- /* key: 0x8b2a */ 0xffff,
- /* key: 0x8b2b */ 0x6b73,
- /* key: 0x8b2c */ 0x4935,
- /* key: 0x8b2d */ 0xde40,
- /* key: 0x8b2e */ 0xffff,
- /* key: 0x8b2f */ 0xffff,
- /* key: 0x8b30 */ 0xde41,
- /* key: 0x8b31 */ 0xffff,
- /* key: 0x8b32 */ 0xffff,
- /* key: 0x8b33 */ 0x6b70,
- /* key: 0x8b34 */ 0xffff,
- /* key: 0x8b35 */ 0xffff,
- /* key: 0x8b36 */ 0xffff,
- /* key: 0x8b37 */ 0xde42,
- /* key: 0x8b38 */ 0xffff,
- /* key: 0x8b39 */ 0x3660,
- /* key: 0x8b3a */ 0xffff,
- /* key: 0x8b3b */ 0xffff,
- /* key: 0x8b3c */ 0xde43,
- /* key: 0x8b3d */ 0xffff,
- /* key: 0x8b3e */ 0x6b74,
- /* key: 0x8b3f */ 0xffff,
- /* key: 0x8b40 */ 0xffff,
- /* key: 0x8b41 */ 0x6b76,
- /* key: 0x8b42 */ 0xde44,
- /* key: 0x8b43 */ 0xde45,
- /* key: 0x8b44 */ 0xde46,
- /* key: 0x8b45 */ 0xde47,
- /* key: 0x8b46 */ 0xde48,
- /* key: 0x8b47 */ 0xffff,
- /* key: 0x8b48 */ 0xde49,
- /* key: 0x8b49 */ 0x6b7a,
- /* key: 0x8b4a */ 0xffff,
- /* key: 0x8b4b */ 0xffff,
- /* key: 0x8b4c */ 0x6b77,
- /* key: 0x8b4d */ 0xde4e,
- /* key: 0x8b4e */ 0x6b79,
- /* key: 0x8b4f */ 0x6b78,
- /* key: 0x8b50 */ 0xffff,
- /* key: 0x8b51 */ 0xffff,
- /* key: 0x8b52 */ 0xde4a,
- /* key: 0x8b53 */ 0xde4b,
- /* key: 0x8b54 */ 0xde4c,
- /* key: 0x8b55 */ 0xffff,
- /* key: 0x8b56 */ 0x6b7b,
- /* key: 0x8b57 */ 0xffff,
- /* key: 0x8b58 */ 0x3c31,
- /* key: 0x8b59 */ 0xde4d,
- /* key: 0x8b5a */ 0x6b7d,
- /* key: 0x8b5b */ 0x6b7c,
- /* key: 0x8b5c */ 0x4968,
- /* key: 0x8b5d */ 0xffff,
- /* key: 0x8b5e */ 0xde4f,
- /* key: 0x8b5f */ 0x6c21,
- /* key: 0x8b60 */ 0xffff,
- /* key: 0x8b61 */ 0xffff,
- /* key: 0x8b62 */ 0xffff,
- /* key: 0x8b63 */ 0xde50,
- /* key: 0x8b64 */ 0xffff,
- /* key: 0x8b65 */ 0xffff,
- /* key: 0x8b66 */ 0x3759,
- /* key: 0x8b67 */ 0xffff,
- /* key: 0x8b68 */ 0xffff,
- /* key: 0x8b69 */ 0xffff,
- /* key: 0x8b6a */ 0xffff,
- /* key: 0x8b6b */ 0x6b7e,
- /* key: 0x8b6c */ 0x6c22,
- /* key: 0x8b6d */ 0xde51,
- /* key: 0x8b6e */ 0xffff,
- /* key: 0x8b6f */ 0x6c23,
- /* key: 0x8b70 */ 0x3544,
- /* key: 0x8b71 */ 0x6641,
- /* key: 0x8b72 */ 0x3e79,
- /* key: 0x8b73 */ 0xffff,
- /* key: 0x8b74 */ 0x6c24,
- /* key: 0x8b75 */ 0xffff,
- /* key: 0x8b76 */ 0xde52,
- /* key: 0x8b77 */ 0x386e,
- /* key: 0x8b78 */ 0xde53,
- /* key: 0x8b79 */ 0xde54,
- /* key: 0x8b7a */ 0xffff,
- /* key: 0x8b7b */ 0xffff,
- /* key: 0x8b7c */ 0xde55,
- /* key: 0x8b7d */ 0x6c25,
- /* key: 0x8b7e */ 0xde56,
- /* key: 0x8b7f */ 0xffff,
- /* key: 0x8b80 */ 0x6c26,
- /* key: 0x8b81 */ 0xde57,
- /* key: 0x8b82 */ 0xffff,
- /* key: 0x8b83 */ 0x3b3e,
- /* key: 0x8b84 */ 0xde58,
- /* key: 0x8b85 */ 0xde59,
- /* key: 0x8b86 */ 0xffff,
- /* key: 0x8b87 */ 0xffff,
- /* key: 0x8b88 */ 0xffff,
- /* key: 0x8b89 */ 0xffff,
- /* key: 0x8b8a */ 0x5a4e,
- /* key: 0x8b8b */ 0xde5a,
- /* key: 0x8b8c */ 0x6c27,
- /* key: 0x8b8d */ 0xde5b,
- /* key: 0x8b8e */ 0x6c28,
- /* key: 0x8b8f */ 0xde5c,
- /* key: 0x8b90 */ 0x3d32,
- /* key: 0x8b91 */ 0xffff,
- /* key: 0x8b92 */ 0x6c29,
- /* key: 0x8b93 */ 0x6c2a,
- /* key: 0x8b94 */ 0xde5d,
- /* key: 0x8b95 */ 0xde5e,
- /* key: 0x8b96 */ 0x6c2b,
- /* key: 0x8b97 */ 0xffff,
- /* key: 0x8b98 */ 0xffff,
- /* key: 0x8b99 */ 0x6c2c,
- /* key: 0x8b9a */ 0x6c2d,
- /* key: 0x8b9b */ 0xffff,
- /* key: 0x8b9c */ 0xde5f,
- /* key: 0x8b9d */ 0xffff,
- /* key: 0x8b9e */ 0xde60,
- /* key: 0x8b9f */ 0xde61,
- /* branch: 0x8c0X */ 0,
- /* branch: 0x8c1X */ 0,
- /* branch: 0x8c2X */ 0,
- /* branch: 0x8c3X */ 18256,
- /* branch: 0x8c4X */ 18272,
- /* branch: 0x8c5X */ 18288,
- /* branch: 0x8c6X */ 18304,
- /* branch: 0x8c7X */ 18320,
- /* branch: 0x8c8X */ 18336,
- /* branch: 0x8c9X */ 18352,
- /* branch: 0x8caX */ 18368,
- /* branch: 0x8cbX */ 18384,
- /* branch: 0x8ccX */ 18400,
- /* branch: 0x8cdX */ 18416,
- /* branch: 0x8ceX */ 18432,
- /* branch: 0x8cfX */ 18448,
- /* key: 0x8c30 */ 0xffff,
- /* key: 0x8c31 */ 0xffff,
- /* key: 0x8c32 */ 0xffff,
- /* key: 0x8c33 */ 0xffff,
- /* key: 0x8c34 */ 0xffff,
- /* key: 0x8c35 */ 0xffff,
- /* key: 0x8c36 */ 0xffff,
- /* key: 0x8c37 */ 0x432b,
- /* key: 0x8c38 */ 0xde62,
- /* key: 0x8c39 */ 0xde63,
- /* key: 0x8c3a */ 0x6c2e,
- /* key: 0x8c3b */ 0xffff,
- /* key: 0x8c3c */ 0xffff,
- /* key: 0x8c3d */ 0xde64,
- /* key: 0x8c3e */ 0xde65,
- /* key: 0x8c3f */ 0x6c30,
- /* key: 0x8c40 */ 0xffff,
- /* key: 0x8c41 */ 0x6c2f,
- /* key: 0x8c42 */ 0xffff,
- /* key: 0x8c43 */ 0xffff,
- /* key: 0x8c44 */ 0xffff,
- /* key: 0x8c45 */ 0xde66,
- /* key: 0x8c46 */ 0x4626,
- /* key: 0x8c47 */ 0xde67,
- /* key: 0x8c48 */ 0x6c31,
- /* key: 0x8c49 */ 0xde68,
- /* key: 0x8c4a */ 0x4b2d,
- /* key: 0x8c4b */ 0xde69,
- /* key: 0x8c4c */ 0x6c32,
- /* key: 0x8c4d */ 0xffff,
- /* key: 0x8c4e */ 0x6c33,
- /* key: 0x8c4f */ 0xde6a,
- /* key: 0x8c50 */ 0x6c34,
- /* key: 0x8c51 */ 0xde6b,
- /* key: 0x8c52 */ 0xffff,
- /* key: 0x8c53 */ 0xde6c,
- /* key: 0x8c54 */ 0xde6d,
- /* key: 0x8c55 */ 0x6c35,
- /* key: 0x8c56 */ 0xffff,
- /* key: 0x8c57 */ 0xde6e,
- /* key: 0x8c58 */ 0xde6f,
- /* key: 0x8c59 */ 0xde72,
- /* key: 0x8c5a */ 0x465a,
- /* key: 0x8c5b */ 0xde70,
- /* key: 0x8c5c */ 0xffff,
- /* key: 0x8c5d */ 0xde71,
- /* key: 0x8c5e */ 0xffff,
- /* key: 0x8c5f */ 0xffff,
- /* key: 0x8c60 */ 0xffff,
- /* key: 0x8c61 */ 0x3e5d,
- /* key: 0x8c62 */ 0x6c36,
- /* key: 0x8c63 */ 0xde73,
- /* key: 0x8c64 */ 0xde74,
- /* key: 0x8c65 */ 0xffff,
- /* key: 0x8c66 */ 0xde75,
- /* key: 0x8c67 */ 0xffff,
- /* key: 0x8c68 */ 0xde76,
- /* key: 0x8c69 */ 0xde77,
- /* key: 0x8c6a */ 0x396b,
- /* key: 0x8c6b */ 0x502e,
- /* key: 0x8c6c */ 0x6c37,
- /* key: 0x8c6d */ 0xde78,
- /* key: 0x8c6e */ 0xffff,
- /* key: 0x8c6f */ 0xffff,
- /* key: 0x8c70 */ 0xffff,
- /* key: 0x8c71 */ 0xffff,
- /* key: 0x8c72 */ 0xffff,
- /* key: 0x8c73 */ 0xde79,
- /* key: 0x8c74 */ 0xffff,
- /* key: 0x8c75 */ 0xde7a,
- /* key: 0x8c76 */ 0xde7b,
- /* key: 0x8c77 */ 0xffff,
- /* key: 0x8c78 */ 0x6c38,
- /* key: 0x8c79 */ 0x493f,
- /* key: 0x8c7a */ 0x6c39,
- /* key: 0x8c7b */ 0xde7c,
- /* key: 0x8c7c */ 0x6c41,
- /* key: 0x8c7d */ 0xffff,
- /* key: 0x8c7e */ 0xde7d,
- /* key: 0x8c7f */ 0xffff,
- /* key: 0x8c80 */ 0xffff,
- /* key: 0x8c81 */ 0xffff,
- /* key: 0x8c82 */ 0x6c3a,
- /* key: 0x8c83 */ 0xffff,
- /* key: 0x8c84 */ 0xffff,
- /* key: 0x8c85 */ 0x6c3c,
- /* key: 0x8c86 */ 0xde7e,
- /* key: 0x8c87 */ 0xdf21,
- /* key: 0x8c88 */ 0xffff,
- /* key: 0x8c89 */ 0x6c3b,
- /* key: 0x8c8a */ 0x6c3d,
- /* key: 0x8c8b */ 0xdf22,
- /* key: 0x8c8c */ 0x4b46,
- /* key: 0x8c8d */ 0x6c3e,
- /* key: 0x8c8e */ 0x6c3f,
- /* key: 0x8c8f */ 0xffff,
- /* key: 0x8c90 */ 0xdf23,
- /* key: 0x8c91 */ 0xffff,
- /* key: 0x8c92 */ 0xdf24,
- /* key: 0x8c93 */ 0xdf25,
- /* key: 0x8c94 */ 0x6c40,
- /* key: 0x8c95 */ 0xffff,
- /* key: 0x8c96 */ 0xffff,
- /* key: 0x8c97 */ 0xffff,
- /* key: 0x8c98 */ 0x6c42,
- /* key: 0x8c99 */ 0xdf26,
- /* key: 0x8c9a */ 0xffff,
- /* key: 0x8c9b */ 0xdf27,
- /* key: 0x8c9c */ 0xdf28,
- /* key: 0x8c9d */ 0x332d,
- /* key: 0x8c9e */ 0x4467,
- /* key: 0x8c9f */ 0xffff,
- /* key: 0x8ca0 */ 0x4969,
- /* key: 0x8ca1 */ 0x3a62,
- /* key: 0x8ca2 */ 0x3957,
- /* key: 0x8ca3 */ 0xffff,
- /* key: 0x8ca4 */ 0xdf29,
- /* key: 0x8ca5 */ 0xffff,
- /* key: 0x8ca6 */ 0xffff,
- /* key: 0x8ca7 */ 0x494f,
- /* key: 0x8ca8 */ 0x325f,
- /* key: 0x8ca9 */ 0x484e,
- /* key: 0x8caa */ 0x6c45,
- /* key: 0x8cab */ 0x3453,
- /* key: 0x8cac */ 0x4055,
- /* key: 0x8cad */ 0x6c44,
- /* key: 0x8cae */ 0x6c49,
- /* key: 0x8caf */ 0x4379,
- /* key: 0x8cb0 */ 0x4c63,
- /* key: 0x8cb1 */ 0xffff,
- /* key: 0x8cb2 */ 0x6c47,
- /* key: 0x8cb3 */ 0x6c48,
- /* key: 0x8cb4 */ 0x352e,
- /* key: 0x8cb5 */ 0xffff,
- /* key: 0x8cb6 */ 0x6c4a,
- /* key: 0x8cb7 */ 0x4763,
- /* key: 0x8cb8 */ 0x425f,
- /* key: 0x8cb9 */ 0xdf2a,
- /* key: 0x8cba */ 0xdf2b,
- /* key: 0x8cbb */ 0x4871,
- /* key: 0x8cbc */ 0x453d,
- /* key: 0x8cbd */ 0x6c46,
- /* key: 0x8cbe */ 0xffff,
- /* key: 0x8cbf */ 0x4b47,
- /* key: 0x8cc0 */ 0x326c,
- /* key: 0x8cc1 */ 0x6c4c,
- /* key: 0x8cc2 */ 0x4f28,
- /* key: 0x8cc3 */ 0x4442,
- /* key: 0x8cc4 */ 0x4f45,
- /* key: 0x8cc5 */ 0xdf2c,
- /* key: 0x8cc6 */ 0xdf2d,
- /* key: 0x8cc7 */ 0x3b71,
- /* key: 0x8cc8 */ 0x6c4b,
- /* key: 0x8cc9 */ 0xdf2e,
- /* key: 0x8cca */ 0x4231,
- /* key: 0x8ccb */ 0xdf2f,
- /* key: 0x8ccc */ 0xffff,
- /* key: 0x8ccd */ 0x6c5c,
- /* key: 0x8cce */ 0x4128,
- /* key: 0x8ccf */ 0xdf30,
- /* key: 0x8cd0 */ 0xffff,
- /* key: 0x8cd1 */ 0x4678,
- /* key: 0x8cd2 */ 0xffff,
- /* key: 0x8cd3 */ 0x4950,
- /* key: 0x8cd4 */ 0xffff,
- /* key: 0x8cd5 */ 0xdf32,
- /* key: 0x8cd6 */ 0xdf31,
- /* key: 0x8cd7 */ 0xffff,
- /* key: 0x8cd8 */ 0xffff,
- /* key: 0x8cd9 */ 0xdf33,
- /* key: 0x8cda */ 0x6c4f,
- /* key: 0x8cdb */ 0x3b3f,
- /* key: 0x8cdc */ 0x3b72,
- /* key: 0x8cdd */ 0xdf34,
- /* key: 0x8cde */ 0x3e5e,
- /* key: 0x8cdf */ 0xffff,
- /* key: 0x8ce0 */ 0x4765,
- /* key: 0x8ce1 */ 0xdf35,
- /* key: 0x8ce2 */ 0x382d,
- /* key: 0x8ce3 */ 0x6c4e,
- /* key: 0x8ce4 */ 0x6c4d,
- /* key: 0x8ce5 */ 0xffff,
- /* key: 0x8ce6 */ 0x496a,
- /* key: 0x8ce7 */ 0xffff,
- /* key: 0x8ce8 */ 0xdf36,
- /* key: 0x8ce9 */ 0xffff,
- /* key: 0x8cea */ 0x3c41,
- /* key: 0x8ceb */ 0xffff,
- /* key: 0x8cec */ 0xdf37,
- /* key: 0x8ced */ 0x4552,
- /* key: 0x8cee */ 0xffff,
- /* key: 0x8cef */ 0xdf38,
- /* key: 0x8cf0 */ 0xdf39,
- /* key: 0x8cf1 */ 0xffff,
- /* key: 0x8cf2 */ 0xdf3a,
- /* key: 0x8cf3 */ 0xffff,
- /* key: 0x8cf4 */ 0xffff,
- /* key: 0x8cf5 */ 0xdf3b,
- /* key: 0x8cf6 */ 0xffff,
- /* key: 0x8cf7 */ 0xdf3c,
- /* key: 0x8cf8 */ 0xdf3d,
- /* key: 0x8cf9 */ 0xffff,
- /* key: 0x8cfa */ 0x6c51,
- /* key: 0x8cfb */ 0x6c52,
- /* key: 0x8cfc */ 0x3958,
- /* key: 0x8cfd */ 0x6c50,
- /* key: 0x8cfe */ 0xdf3e,
- /* key: 0x8cff */ 0xdf3f,
- /* branch: 0x8d0X */ 18480,
- /* branch: 0x8d1X */ 18496,
- /* branch: 0x8d2X */ 0,
- /* branch: 0x8d3X */ 0,
- /* branch: 0x8d4X */ 0,
- /* branch: 0x8d5X */ 0,
- /* branch: 0x8d6X */ 18512,
- /* branch: 0x8d7X */ 18528,
- /* branch: 0x8d8X */ 18544,
- /* branch: 0x8d9X */ 18560,
- /* branch: 0x8daX */ 18576,
- /* branch: 0x8dbX */ 18592,
- /* branch: 0x8dcX */ 18608,
- /* branch: 0x8ddX */ 18624,
- /* branch: 0x8deX */ 18640,
- /* branch: 0x8dfX */ 18656,
- /* key: 0x8d00 */ 0xffff,
- /* key: 0x8d01 */ 0xdf40,
- /* key: 0x8d02 */ 0xffff,
- /* key: 0x8d03 */ 0xdf41,
- /* key: 0x8d04 */ 0x6c53,
- /* key: 0x8d05 */ 0x6c54,
- /* key: 0x8d06 */ 0xffff,
- /* key: 0x8d07 */ 0x6c56,
- /* key: 0x8d08 */ 0x4223,
- /* key: 0x8d09 */ 0xdf42,
- /* key: 0x8d0a */ 0x6c55,
- /* key: 0x8d0b */ 0x3466,
- /* key: 0x8d0c */ 0xffff,
- /* key: 0x8d0d */ 0x6c58,
- /* key: 0x8d0e */ 0xffff,
- /* key: 0x8d0f */ 0x6c57,
- /* key: 0x8d10 */ 0x6c59,
- /* key: 0x8d11 */ 0xffff,
- /* key: 0x8d12 */ 0xdf43,
- /* key: 0x8d13 */ 0x6c5b,
- /* key: 0x8d14 */ 0x6c5d,
- /* key: 0x8d15 */ 0xffff,
- /* key: 0x8d16 */ 0x6c5e,
- /* key: 0x8d17 */ 0xdf44,
- /* key: 0x8d18 */ 0xffff,
- /* key: 0x8d19 */ 0xffff,
- /* key: 0x8d1a */ 0xffff,
- /* key: 0x8d1b */ 0xdf45,
- /* key: 0x8d1c */ 0xffff,
- /* key: 0x8d1d */ 0xffff,
- /* key: 0x8d1e */ 0xffff,
- /* key: 0x8d1f */ 0xffff,
- /* key: 0x8d60 */ 0xffff,
- /* key: 0x8d61 */ 0xffff,
- /* key: 0x8d62 */ 0xffff,
- /* key: 0x8d63 */ 0xffff,
- /* key: 0x8d64 */ 0x4056,
- /* key: 0x8d65 */ 0xdf46,
- /* key: 0x8d66 */ 0x3c4f,
- /* key: 0x8d67 */ 0x6c5f,
- /* key: 0x8d68 */ 0xffff,
- /* key: 0x8d69 */ 0xdf47,
- /* key: 0x8d6a */ 0xffff,
- /* key: 0x8d6b */ 0x3352,
- /* key: 0x8d6c */ 0xdf48,
- /* key: 0x8d6d */ 0x6c60,
- /* key: 0x8d6e */ 0xdf49,
- /* key: 0x8d6f */ 0xffff,
- /* key: 0x8d70 */ 0x4176,
- /* key: 0x8d71 */ 0x6c61,
- /* key: 0x8d72 */ 0xffff,
- /* key: 0x8d73 */ 0x6c62,
- /* key: 0x8d74 */ 0x496b,
- /* key: 0x8d75 */ 0xffff,
- /* key: 0x8d76 */ 0xffff,
- /* key: 0x8d77 */ 0x352f,
- /* key: 0x8d78 */ 0xffff,
- /* key: 0x8d79 */ 0xffff,
- /* key: 0x8d7a */ 0xffff,
- /* key: 0x8d7b */ 0xffff,
- /* key: 0x8d7c */ 0xffff,
- /* key: 0x8d7d */ 0xffff,
- /* key: 0x8d7e */ 0xffff,
- /* key: 0x8d7f */ 0xdf4a,
- /* key: 0x8d80 */ 0xffff,
- /* key: 0x8d81 */ 0x6c63,
- /* key: 0x8d82 */ 0xdf4b,
- /* key: 0x8d83 */ 0xffff,
- /* key: 0x8d84 */ 0xdf4c,
- /* key: 0x8d85 */ 0x4436,
- /* key: 0x8d86 */ 0xffff,
- /* key: 0x8d87 */ 0xffff,
- /* key: 0x8d88 */ 0xdf4d,
- /* key: 0x8d89 */ 0xffff,
- /* key: 0x8d8a */ 0x315b,
- /* key: 0x8d8b */ 0xffff,
- /* key: 0x8d8c */ 0xffff,
- /* key: 0x8d8d */ 0xdf4e,
- /* key: 0x8d8e */ 0xffff,
- /* key: 0x8d8f */ 0xffff,
- /* key: 0x8d90 */ 0xdf4f,
- /* key: 0x8d91 */ 0xdf50,
- /* key: 0x8d92 */ 0xffff,
- /* key: 0x8d93 */ 0xffff,
- /* key: 0x8d94 */ 0xffff,
- /* key: 0x8d95 */ 0xdf51,
- /* key: 0x8d96 */ 0xffff,
- /* key: 0x8d97 */ 0xffff,
- /* key: 0x8d98 */ 0xffff,
- /* key: 0x8d99 */ 0x6c64,
- /* key: 0x8d9a */ 0xffff,
- /* key: 0x8d9b */ 0xffff,
- /* key: 0x8d9c */ 0xffff,
- /* key: 0x8d9d */ 0xffff,
- /* key: 0x8d9e */ 0xdf52,
- /* key: 0x8d9f */ 0xdf53,
- /* key: 0x8da0 */ 0xdf54,
- /* key: 0x8da1 */ 0xffff,
- /* key: 0x8da2 */ 0xffff,
- /* key: 0x8da3 */ 0x3c71,
- /* key: 0x8da4 */ 0xffff,
- /* key: 0x8da5 */ 0xffff,
- /* key: 0x8da6 */ 0xdf55,
- /* key: 0x8da7 */ 0xffff,
- /* key: 0x8da8 */ 0x3f76,
- /* key: 0x8da9 */ 0xffff,
- /* key: 0x8daa */ 0xffff,
- /* key: 0x8dab */ 0xdf56,
- /* key: 0x8dac */ 0xdf57,
- /* key: 0x8dad */ 0xffff,
- /* key: 0x8dae */ 0xffff,
- /* key: 0x8daf */ 0xdf58,
- /* key: 0x8db0 */ 0xffff,
- /* key: 0x8db1 */ 0xffff,
- /* key: 0x8db2 */ 0xdf59,
- /* key: 0x8db3 */ 0x422d,
- /* key: 0x8db4 */ 0xffff,
- /* key: 0x8db5 */ 0xdf5a,
- /* key: 0x8db6 */ 0xffff,
- /* key: 0x8db7 */ 0xdf5b,
- /* key: 0x8db8 */ 0xffff,
- /* key: 0x8db9 */ 0xdf5c,
- /* key: 0x8dba */ 0x6c67,
- /* key: 0x8dbb */ 0xdf5d,
- /* key: 0x8dbc */ 0xdf6f,
- /* key: 0x8dbd */ 0xffff,
- /* key: 0x8dbe */ 0x6c66,
- /* key: 0x8dbf */ 0xffff,
- /* key: 0x8dc0 */ 0xdf5e,
- /* key: 0x8dc1 */ 0xffff,
- /* key: 0x8dc2 */ 0x6c65,
- /* key: 0x8dc3 */ 0xffff,
- /* key: 0x8dc4 */ 0xffff,
- /* key: 0x8dc5 */ 0xdf5f,
- /* key: 0x8dc6 */ 0xdf60,
- /* key: 0x8dc7 */ 0xdf61,
- /* key: 0x8dc8 */ 0xdf62,
- /* key: 0x8dc9 */ 0xffff,
- /* key: 0x8dca */ 0xdf63,
- /* key: 0x8dcb */ 0x6c6d,
- /* key: 0x8dcc */ 0x6c6b,
- /* key: 0x8dcd */ 0xffff,
- /* key: 0x8dce */ 0xdf64,
- /* key: 0x8dcf */ 0x6c68,
- /* key: 0x8dd0 */ 0xffff,
- /* key: 0x8dd1 */ 0xdf65,
- /* key: 0x8dd2 */ 0xffff,
- /* key: 0x8dd3 */ 0xffff,
- /* key: 0x8dd4 */ 0xdf66,
- /* key: 0x8dd5 */ 0xdf67,
- /* key: 0x8dd6 */ 0x6c6a,
- /* key: 0x8dd7 */ 0xdf68,
- /* key: 0x8dd8 */ 0xffff,
- /* key: 0x8dd9 */ 0xdf69,
- /* key: 0x8dda */ 0x6c69,
- /* key: 0x8ddb */ 0x6c6c,
- /* key: 0x8ddc */ 0xffff,
- /* key: 0x8ddd */ 0x3577,
- /* key: 0x8dde */ 0xffff,
- /* key: 0x8ddf */ 0x6c70,
- /* key: 0x8de0 */ 0xffff,
- /* key: 0x8de1 */ 0x4057,
- /* key: 0x8de2 */ 0xffff,
- /* key: 0x8de3 */ 0x6c71,
- /* key: 0x8de4 */ 0xdf6a,
- /* key: 0x8de5 */ 0xdf6b,
- /* key: 0x8de6 */ 0xffff,
- /* key: 0x8de7 */ 0xdf6c,
- /* key: 0x8de8 */ 0x3859,
- /* key: 0x8de9 */ 0xffff,
- /* key: 0x8dea */ 0x6c6e,
- /* key: 0x8deb */ 0x6c6f,
- /* key: 0x8dec */ 0xdf6d,
- /* key: 0x8ded */ 0xffff,
- /* key: 0x8dee */ 0xffff,
- /* key: 0x8def */ 0x4f29,
- /* key: 0x8df0 */ 0xdf6e,
- /* key: 0x8df1 */ 0xdf70,
- /* key: 0x8df2 */ 0xdf71,
- /* key: 0x8df3 */ 0x4437,
- /* key: 0x8df4 */ 0xdf72,
- /* key: 0x8df5 */ 0x4129,
- /* key: 0x8df6 */ 0xffff,
- /* key: 0x8df7 */ 0xffff,
- /* key: 0x8df8 */ 0xffff,
- /* key: 0x8df9 */ 0xffff,
- /* key: 0x8dfa */ 0xffff,
- /* key: 0x8dfb */ 0xffff,
- /* key: 0x8dfc */ 0x6c72,
- /* key: 0x8dfd */ 0xdf73,
- /* key: 0x8dfe */ 0xffff,
- /* key: 0x8dff */ 0x6c75,
- /* branch: 0x8e0X */ 18688,
- /* branch: 0x8e1X */ 18704,
- /* branch: 0x8e2X */ 18720,
- /* branch: 0x8e3X */ 18736,
- /* branch: 0x8e4X */ 18752,
- /* branch: 0x8e5X */ 18768,
- /* branch: 0x8e6X */ 18784,
- /* branch: 0x8e7X */ 18800,
- /* branch: 0x8e8X */ 18816,
- /* branch: 0x8e9X */ 18832,
- /* branch: 0x8eaX */ 18848,
- /* branch: 0x8ebX */ 18864,
- /* branch: 0x8ecX */ 18880,
- /* branch: 0x8edX */ 18896,
- /* branch: 0x8eeX */ 18912,
- /* branch: 0x8efX */ 18928,
- /* key: 0x8e00 */ 0xffff,
- /* key: 0x8e01 */ 0xdf74,
- /* key: 0x8e02 */ 0xffff,
- /* key: 0x8e03 */ 0xffff,
- /* key: 0x8e04 */ 0xdf75,
- /* key: 0x8e05 */ 0xdf76,
- /* key: 0x8e06 */ 0xdf77,
- /* key: 0x8e07 */ 0xffff,
- /* key: 0x8e08 */ 0x6c73,
- /* key: 0x8e09 */ 0x6c74,
- /* key: 0x8e0a */ 0x4d59,
- /* key: 0x8e0b */ 0xdf78,
- /* key: 0x8e0c */ 0xffff,
- /* key: 0x8e0d */ 0xffff,
- /* key: 0x8e0e */ 0xffff,
- /* key: 0x8e0f */ 0x4627,
- /* key: 0x8e10 */ 0x6c78,
- /* key: 0x8e11 */ 0xdf79,
- /* key: 0x8e12 */ 0xffff,
- /* key: 0x8e13 */ 0xffff,
- /* key: 0x8e14 */ 0xdf7a,
- /* key: 0x8e15 */ 0xffff,
- /* key: 0x8e16 */ 0xdf7b,
- /* key: 0x8e17 */ 0xffff,
- /* key: 0x8e18 */ 0xffff,
- /* key: 0x8e19 */ 0xffff,
- /* key: 0x8e1a */ 0xffff,
- /* key: 0x8e1b */ 0xffff,
- /* key: 0x8e1c */ 0xffff,
- /* key: 0x8e1d */ 0x6c76,
- /* key: 0x8e1e */ 0x6c77,
- /* key: 0x8e1f */ 0x6c79,
- /* key: 0x8e20 */ 0xdf7c,
- /* key: 0x8e21 */ 0xdf7d,
- /* key: 0x8e22 */ 0xdf7e,
- /* key: 0x8e23 */ 0xe021,
- /* key: 0x8e24 */ 0xffff,
- /* key: 0x8e25 */ 0xffff,
- /* key: 0x8e26 */ 0xe022,
- /* key: 0x8e27 */ 0xe023,
- /* key: 0x8e28 */ 0xffff,
- /* key: 0x8e29 */ 0xffff,
- /* key: 0x8e2a */ 0x6d29,
- /* key: 0x8e2b */ 0xffff,
- /* key: 0x8e2c */ 0xffff,
- /* key: 0x8e2d */ 0xffff,
- /* key: 0x8e2e */ 0xffff,
- /* key: 0x8e2f */ 0xffff,
- /* key: 0x8e30 */ 0x6c7c,
- /* key: 0x8e31 */ 0xe024,
- /* key: 0x8e32 */ 0xffff,
- /* key: 0x8e33 */ 0xe025,
- /* key: 0x8e34 */ 0x6c7d,
- /* key: 0x8e35 */ 0x6c7b,
- /* key: 0x8e36 */ 0xe026,
- /* key: 0x8e37 */ 0xe027,
- /* key: 0x8e38 */ 0xe028,
- /* key: 0x8e39 */ 0xe029,
- /* key: 0x8e3a */ 0xffff,
- /* key: 0x8e3b */ 0xffff,
- /* key: 0x8e3c */ 0xffff,
- /* key: 0x8e3d */ 0xe02a,
- /* key: 0x8e3e */ 0xffff,
- /* key: 0x8e3f */ 0xffff,
- /* key: 0x8e40 */ 0xe02b,
- /* key: 0x8e41 */ 0xe02c,
- /* key: 0x8e42 */ 0x6c7a,
- /* key: 0x8e43 */ 0xffff,
- /* key: 0x8e44 */ 0x447d,
- /* key: 0x8e45 */ 0xffff,
- /* key: 0x8e46 */ 0xffff,
- /* key: 0x8e47 */ 0x6d21,
- /* key: 0x8e48 */ 0x6d25,
- /* key: 0x8e49 */ 0x6d22,
- /* key: 0x8e4a */ 0x6c7e,
- /* key: 0x8e4b */ 0xe02d,
- /* key: 0x8e4c */ 0x6d23,
- /* key: 0x8e4d */ 0xe02e,
- /* key: 0x8e4e */ 0xe02f,
- /* key: 0x8e4f */ 0xe030,
- /* key: 0x8e50 */ 0x6d24,
- /* key: 0x8e51 */ 0xffff,
- /* key: 0x8e52 */ 0xffff,
- /* key: 0x8e53 */ 0xffff,
- /* key: 0x8e54 */ 0xe031,
- /* key: 0x8e55 */ 0x6d2b,
- /* key: 0x8e56 */ 0xffff,
- /* key: 0x8e57 */ 0xffff,
- /* key: 0x8e58 */ 0xffff,
- /* key: 0x8e59 */ 0x6d26,
- /* key: 0x8e5a */ 0xffff,
- /* key: 0x8e5b */ 0xe032,
- /* key: 0x8e5c */ 0xe033,
- /* key: 0x8e5d */ 0xe034,
- /* key: 0x8e5e */ 0xe035,
- /* key: 0x8e5f */ 0x4058,
- /* key: 0x8e60 */ 0x6d28,
- /* key: 0x8e61 */ 0xe036,
- /* key: 0x8e62 */ 0xe037,
- /* key: 0x8e63 */ 0x6d2a,
- /* key: 0x8e64 */ 0x6d27,
- /* key: 0x8e65 */ 0xffff,
- /* key: 0x8e66 */ 0xffff,
- /* key: 0x8e67 */ 0xffff,
- /* key: 0x8e68 */ 0xffff,
- /* key: 0x8e69 */ 0xe038,
- /* key: 0x8e6a */ 0xffff,
- /* key: 0x8e6b */ 0xffff,
- /* key: 0x8e6c */ 0xe039,
- /* key: 0x8e6d */ 0xe03a,
- /* key: 0x8e6e */ 0xffff,
- /* key: 0x8e6f */ 0xe03b,
- /* key: 0x8e70 */ 0xe03c,
- /* key: 0x8e71 */ 0xe03d,
- /* key: 0x8e72 */ 0x6d2d,
- /* key: 0x8e73 */ 0xffff,
- /* key: 0x8e74 */ 0x3d33,
- /* key: 0x8e75 */ 0xffff,
- /* key: 0x8e76 */ 0x6d2c,
- /* key: 0x8e77 */ 0xffff,
- /* key: 0x8e78 */ 0xffff,
- /* key: 0x8e79 */ 0xe03e,
- /* key: 0x8e7a */ 0xe03f,
- /* key: 0x8e7b */ 0xe040,
- /* key: 0x8e7c */ 0x6d2e,
- /* key: 0x8e7d */ 0xffff,
- /* key: 0x8e7e */ 0xffff,
- /* key: 0x8e7f */ 0xffff,
- /* key: 0x8e80 */ 0xffff,
- /* key: 0x8e81 */ 0x6d2f,
- /* key: 0x8e82 */ 0xe041,
- /* key: 0x8e83 */ 0xe042,
- /* key: 0x8e84 */ 0x6d32,
- /* key: 0x8e85 */ 0x6d31,
- /* key: 0x8e86 */ 0xffff,
- /* key: 0x8e87 */ 0x6d30,
- /* key: 0x8e88 */ 0xffff,
- /* key: 0x8e89 */ 0xe043,
- /* key: 0x8e8a */ 0x6d34,
- /* key: 0x8e8b */ 0x6d33,
- /* key: 0x8e8c */ 0xffff,
- /* key: 0x8e8d */ 0x4c76,
- /* key: 0x8e8e */ 0xffff,
- /* key: 0x8e8f */ 0xffff,
- /* key: 0x8e90 */ 0xe044,
- /* key: 0x8e91 */ 0x6d36,
- /* key: 0x8e92 */ 0xe045,
- /* key: 0x8e93 */ 0x6d35,
- /* key: 0x8e94 */ 0x6d37,
- /* key: 0x8e95 */ 0xe046,
- /* key: 0x8e96 */ 0xffff,
- /* key: 0x8e97 */ 0xffff,
- /* key: 0x8e98 */ 0xffff,
- /* key: 0x8e99 */ 0x6d38,
- /* key: 0x8e9a */ 0xe047,
- /* key: 0x8e9b */ 0xe048,
- /* key: 0x8e9c */ 0xffff,
- /* key: 0x8e9d */ 0xe049,
- /* key: 0x8e9e */ 0xe04a,
- /* key: 0x8e9f */ 0xffff,
- /* key: 0x8ea0 */ 0xffff,
- /* key: 0x8ea1 */ 0x6d3a,
- /* key: 0x8ea2 */ 0xe04b,
- /* key: 0x8ea3 */ 0xffff,
- /* key: 0x8ea4 */ 0xffff,
- /* key: 0x8ea5 */ 0xffff,
- /* key: 0x8ea6 */ 0xffff,
- /* key: 0x8ea7 */ 0xe04c,
- /* key: 0x8ea8 */ 0xffff,
- /* key: 0x8ea9 */ 0xe04d,
- /* key: 0x8eaa */ 0x6d39,
- /* key: 0x8eab */ 0x3f48,
- /* key: 0x8eac */ 0x6d3b,
- /* key: 0x8ead */ 0xe04e,
- /* key: 0x8eae */ 0xe04f,
- /* key: 0x8eaf */ 0x366d,
- /* key: 0x8eb0 */ 0x6d3c,
- /* key: 0x8eb1 */ 0x6d3e,
- /* key: 0x8eb2 */ 0xffff,
- /* key: 0x8eb3 */ 0xe050,
- /* key: 0x8eb4 */ 0xffff,
- /* key: 0x8eb5 */ 0xe051,
- /* key: 0x8eb6 */ 0xffff,
- /* key: 0x8eb7 */ 0xffff,
- /* key: 0x8eb8 */ 0xffff,
- /* key: 0x8eb9 */ 0xffff,
- /* key: 0x8eba */ 0xe052,
- /* key: 0x8ebb */ 0xe053,
- /* key: 0x8ebc */ 0xffff,
- /* key: 0x8ebd */ 0xffff,
- /* key: 0x8ebe */ 0x6d3f,
- /* key: 0x8ebf */ 0xffff,
- /* key: 0x8ec0 */ 0xe054,
- /* key: 0x8ec1 */ 0xe055,
- /* key: 0x8ec2 */ 0xffff,
- /* key: 0x8ec3 */ 0xe056,
- /* key: 0x8ec4 */ 0xe057,
- /* key: 0x8ec5 */ 0x6d40,
- /* key: 0x8ec6 */ 0x6d3d,
- /* key: 0x8ec7 */ 0xe058,
- /* key: 0x8ec8 */ 0x6d41,
- /* key: 0x8ec9 */ 0xffff,
- /* key: 0x8eca */ 0x3c56,
- /* key: 0x8ecb */ 0x6d42,
- /* key: 0x8ecc */ 0x3530,
- /* key: 0x8ecd */ 0x3733,
- /* key: 0x8ece */ 0xffff,
- /* key: 0x8ecf */ 0xe059,
- /* key: 0x8ed0 */ 0xffff,
- /* key: 0x8ed1 */ 0xe05a,
- /* key: 0x8ed2 */ 0x382e,
- /* key: 0x8ed3 */ 0xffff,
- /* key: 0x8ed4 */ 0xe05b,
- /* key: 0x8ed5 */ 0xffff,
- /* key: 0x8ed6 */ 0xffff,
- /* key: 0x8ed7 */ 0xffff,
- /* key: 0x8ed8 */ 0xffff,
- /* key: 0x8ed9 */ 0xffff,
- /* key: 0x8eda */ 0xffff,
- /* key: 0x8edb */ 0x6d43,
- /* key: 0x8edc */ 0xe05c,
- /* key: 0x8edd */ 0xffff,
- /* key: 0x8ede */ 0xffff,
- /* key: 0x8edf */ 0x4670,
- /* key: 0x8ee0 */ 0xffff,
- /* key: 0x8ee1 */ 0xffff,
- /* key: 0x8ee2 */ 0x453e,
- /* key: 0x8ee3 */ 0x6d44,
- /* key: 0x8ee4 */ 0xffff,
- /* key: 0x8ee5 */ 0xffff,
- /* key: 0x8ee6 */ 0xffff,
- /* key: 0x8ee7 */ 0xffff,
- /* key: 0x8ee8 */ 0xe05d,
- /* key: 0x8ee9 */ 0xffff,
- /* key: 0x8eea */ 0xffff,
- /* key: 0x8eeb */ 0x6d47,
- /* key: 0x8eec */ 0xffff,
- /* key: 0x8eed */ 0xe064,
- /* key: 0x8eee */ 0xe05e,
- /* key: 0x8eef */ 0xffff,
- /* key: 0x8ef0 */ 0xe05f,
- /* key: 0x8ef1 */ 0xe060,
- /* key: 0x8ef2 */ 0xffff,
- /* key: 0x8ef3 */ 0xffff,
- /* key: 0x8ef4 */ 0xffff,
- /* key: 0x8ef5 */ 0xffff,
- /* key: 0x8ef6 */ 0xffff,
- /* key: 0x8ef7 */ 0xe061,
- /* key: 0x8ef8 */ 0x3c34,
- /* key: 0x8ef9 */ 0xe062,
- /* key: 0x8efa */ 0xe063,
- /* key: 0x8efb */ 0x6d46,
- /* key: 0x8efc */ 0x6d45,
- /* key: 0x8efd */ 0x375a,
- /* key: 0x8efe */ 0x6d48,
- /* key: 0x8eff */ 0xffff,
- /* branch: 0x8f0X */ 18960,
- /* branch: 0x8f1X */ 18976,
- /* branch: 0x8f2X */ 18992,
- /* branch: 0x8f3X */ 19008,
- /* branch: 0x8f4X */ 19024,
- /* branch: 0x8f5X */ 19040,
- /* branch: 0x8f6X */ 19056,
- /* branch: 0x8f7X */ 0,
- /* branch: 0x8f8X */ 0,
- /* branch: 0x8f9X */ 19072,
- /* branch: 0x8faX */ 19088,
- /* branch: 0x8fbX */ 19104,
- /* branch: 0x8fcX */ 19120,
- /* branch: 0x8fdX */ 19136,
- /* branch: 0x8feX */ 19152,
- /* branch: 0x8ffX */ 19168,
- /* key: 0x8f00 */ 0xe065,
- /* key: 0x8f01 */ 0xffff,
- /* key: 0x8f02 */ 0xe066,
- /* key: 0x8f03 */ 0x3353,
- /* key: 0x8f04 */ 0xffff,
- /* key: 0x8f05 */ 0x6d4a,
- /* key: 0x8f06 */ 0xffff,
- /* key: 0x8f07 */ 0xe067,
- /* key: 0x8f08 */ 0xe068,
- /* key: 0x8f09 */ 0x3a5c,
- /* key: 0x8f0a */ 0x6d49,
- /* key: 0x8f0b */ 0xffff,
- /* key: 0x8f0c */ 0x6d52,
- /* key: 0x8f0d */ 0xffff,
- /* key: 0x8f0e */ 0xffff,
- /* key: 0x8f0f */ 0xe069,
- /* key: 0x8f10 */ 0xe06a,
- /* key: 0x8f11 */ 0xffff,
- /* key: 0x8f12 */ 0x6d4c,
- /* key: 0x8f13 */ 0x6d4e,
- /* key: 0x8f14 */ 0x4a65,
- /* key: 0x8f15 */ 0x6d4b,
- /* key: 0x8f16 */ 0xe06b,
- /* key: 0x8f17 */ 0xe06c,
- /* key: 0x8f18 */ 0xe06d,
- /* key: 0x8f19 */ 0x6d4d,
- /* key: 0x8f1a */ 0xffff,
- /* key: 0x8f1b */ 0x6d51,
- /* key: 0x8f1c */ 0x6d4f,
- /* key: 0x8f1d */ 0x3531,
- /* key: 0x8f1e */ 0xe06e,
- /* key: 0x8f1f */ 0x6d50,
- /* key: 0x8f20 */ 0xe06f,
- /* key: 0x8f21 */ 0xe070,
- /* key: 0x8f22 */ 0xffff,
- /* key: 0x8f23 */ 0xe071,
- /* key: 0x8f24 */ 0xffff,
- /* key: 0x8f25 */ 0xe072,
- /* key: 0x8f26 */ 0x6d53,
- /* key: 0x8f27 */ 0xe073,
- /* key: 0x8f28 */ 0xe074,
- /* key: 0x8f29 */ 0x475a,
- /* key: 0x8f2a */ 0x4e58,
- /* key: 0x8f2b */ 0xffff,
- /* key: 0x8f2c */ 0xe075,
- /* key: 0x8f2d */ 0xe076,
- /* key: 0x8f2e */ 0xe077,
- /* key: 0x8f2f */ 0x3d34,
- /* key: 0x8f30 */ 0xffff,
- /* key: 0x8f31 */ 0xffff,
- /* key: 0x8f32 */ 0xffff,
- /* key: 0x8f33 */ 0x6d54,
- /* key: 0x8f34 */ 0xe078,
- /* key: 0x8f35 */ 0xe079,
- /* key: 0x8f36 */ 0xe07a,
- /* key: 0x8f37 */ 0xe07b,
- /* key: 0x8f38 */ 0x4d22,
- /* key: 0x8f39 */ 0x6d56,
- /* key: 0x8f3a */ 0xe07c,
- /* key: 0x8f3b */ 0x6d55,
- /* key: 0x8f3c */ 0xffff,
- /* key: 0x8f3d */ 0xffff,
- /* key: 0x8f3e */ 0x6d59,
- /* key: 0x8f3f */ 0x4d41,
- /* key: 0x8f40 */ 0xe07d,
- /* key: 0x8f41 */ 0xe07e,
- /* key: 0x8f42 */ 0x6d58,
- /* key: 0x8f43 */ 0xe121,
- /* key: 0x8f44 */ 0x336d,
- /* key: 0x8f45 */ 0x6d57,
- /* key: 0x8f46 */ 0x6d5c,
- /* key: 0x8f47 */ 0xe122,
- /* key: 0x8f48 */ 0xffff,
- /* key: 0x8f49 */ 0x6d5b,
- /* key: 0x8f4a */ 0xffff,
- /* key: 0x8f4b */ 0xffff,
- /* key: 0x8f4c */ 0x6d5a,
- /* key: 0x8f4d */ 0x4532,
- /* key: 0x8f4e */ 0x6d5d,
- /* key: 0x8f4f */ 0xe123,
- /* key: 0x8f50 */ 0xffff,
- /* key: 0x8f51 */ 0xe124,
- /* key: 0x8f52 */ 0xe125,
- /* key: 0x8f53 */ 0xe126,
- /* key: 0x8f54 */ 0xe127,
- /* key: 0x8f55 */ 0xe128,
- /* key: 0x8f56 */ 0xffff,
- /* key: 0x8f57 */ 0x6d5e,
- /* key: 0x8f58 */ 0xe129,
- /* key: 0x8f59 */ 0xffff,
- /* key: 0x8f5a */ 0xffff,
- /* key: 0x8f5b */ 0xffff,
- /* key: 0x8f5c */ 0x6d5f,
- /* key: 0x8f5d */ 0xe12a,
- /* key: 0x8f5e */ 0xe12b,
- /* key: 0x8f5f */ 0x396c,
- /* key: 0x8f60 */ 0xffff,
- /* key: 0x8f61 */ 0x3725,
- /* key: 0x8f62 */ 0x6d60,
- /* key: 0x8f63 */ 0x6d61,
- /* key: 0x8f64 */ 0x6d62,
- /* key: 0x8f65 */ 0xe12c,
- /* key: 0x8f66 */ 0xffff,
- /* key: 0x8f67 */ 0xffff,
- /* key: 0x8f68 */ 0xffff,
- /* key: 0x8f69 */ 0xffff,
- /* key: 0x8f6a */ 0xffff,
- /* key: 0x8f6b */ 0xffff,
- /* key: 0x8f6c */ 0xffff,
- /* key: 0x8f6d */ 0xffff,
- /* key: 0x8f6e */ 0xffff,
- /* key: 0x8f6f */ 0xffff,
- /* key: 0x8f90 */ 0xffff,
- /* key: 0x8f91 */ 0xffff,
- /* key: 0x8f92 */ 0xffff,
- /* key: 0x8f93 */ 0xffff,
- /* key: 0x8f94 */ 0xffff,
- /* key: 0x8f95 */ 0xffff,
- /* key: 0x8f96 */ 0xffff,
- /* key: 0x8f97 */ 0xffff,
- /* key: 0x8f98 */ 0xffff,
- /* key: 0x8f99 */ 0xffff,
- /* key: 0x8f9a */ 0xffff,
- /* key: 0x8f9b */ 0x3f49,
- /* key: 0x8f9c */ 0x6d63,
- /* key: 0x8f9d */ 0xe12d,
- /* key: 0x8f9e */ 0x3c2d,
- /* key: 0x8f9f */ 0x6d64,
- /* key: 0x8fa0 */ 0xe12e,
- /* key: 0x8fa1 */ 0xe12f,
- /* key: 0x8fa2 */ 0xffff,
- /* key: 0x8fa3 */ 0x6d65,
- /* key: 0x8fa4 */ 0xe130,
- /* key: 0x8fa5 */ 0xe131,
- /* key: 0x8fa6 */ 0xe132,
- /* key: 0x8fa7 */ 0x5221,
- /* key: 0x8fa8 */ 0x517e,
- /* key: 0x8fa9 */ 0xffff,
- /* key: 0x8faa */ 0xffff,
- /* key: 0x8fab */ 0xffff,
- /* key: 0x8fac */ 0xffff,
- /* key: 0x8fad */ 0x6d66,
- /* key: 0x8fae */ 0x6570,
- /* key: 0x8faf */ 0x6d67,
- /* key: 0x8fb0 */ 0x4324,
- /* key: 0x8fb1 */ 0x3f2b,
- /* key: 0x8fb2 */ 0x4740,
- /* key: 0x8fb3 */ 0xffff,
- /* key: 0x8fb4 */ 0xffff,
- /* key: 0x8fb5 */ 0xe133,
- /* key: 0x8fb6 */ 0xe134,
- /* key: 0x8fb7 */ 0x6d68,
- /* key: 0x8fb8 */ 0xe135,
- /* key: 0x8fb9 */ 0xffff,
- /* key: 0x8fba */ 0x4a55,
- /* key: 0x8fbb */ 0x4454,
- /* key: 0x8fbc */ 0x397e,
- /* key: 0x8fbd */ 0xffff,
- /* key: 0x8fbe */ 0xe136,
- /* key: 0x8fbf */ 0x4329,
- /* key: 0x8fc0 */ 0xe137,
- /* key: 0x8fc1 */ 0xe138,
- /* key: 0x8fc2 */ 0x312a,
- /* key: 0x8fc3 */ 0xffff,
- /* key: 0x8fc4 */ 0x4b78,
- /* key: 0x8fc5 */ 0x3f57,
- /* key: 0x8fc6 */ 0xe139,
- /* key: 0x8fc7 */ 0xffff,
- /* key: 0x8fc8 */ 0xffff,
- /* key: 0x8fc9 */ 0xffff,
- /* key: 0x8fca */ 0xe13a,
- /* key: 0x8fcb */ 0xe13b,
- /* key: 0x8fcc */ 0xffff,
- /* key: 0x8fcd */ 0xe13c,
- /* key: 0x8fce */ 0x375e,
- /* key: 0x8fcf */ 0xffff,
- /* key: 0x8fd0 */ 0xe13d,
- /* key: 0x8fd1 */ 0x3661,
- /* key: 0x8fd2 */ 0xe13e,
- /* key: 0x8fd3 */ 0xe13f,
- /* key: 0x8fd4 */ 0x4a56,
- /* key: 0x8fd5 */ 0xe140,
- /* key: 0x8fd6 */ 0xffff,
- /* key: 0x8fd7 */ 0xffff,
- /* key: 0x8fd8 */ 0xffff,
- /* key: 0x8fd9 */ 0xffff,
- /* key: 0x8fda */ 0x6d69,
- /* key: 0x8fdb */ 0xffff,
- /* key: 0x8fdc */ 0xffff,
- /* key: 0x8fdd */ 0xffff,
- /* key: 0x8fde */ 0xffff,
- /* key: 0x8fdf */ 0xffff,
- /* key: 0x8fe0 */ 0xe141,
- /* key: 0x8fe1 */ 0xffff,
- /* key: 0x8fe2 */ 0x6d6b,
- /* key: 0x8fe3 */ 0xe142,
- /* key: 0x8fe4 */ 0xe143,
- /* key: 0x8fe5 */ 0x6d6a,
- /* key: 0x8fe6 */ 0x3260,
- /* key: 0x8fe7 */ 0xffff,
- /* key: 0x8fe8 */ 0xe144,
- /* key: 0x8fe9 */ 0x4676,
- /* key: 0x8fea */ 0x6d6c,
- /* key: 0x8feb */ 0x4777,
- /* key: 0x8fec */ 0xffff,
- /* key: 0x8fed */ 0x4533,
- /* key: 0x8fee */ 0xe145,
- /* key: 0x8fef */ 0x6d6d,
- /* key: 0x8ff0 */ 0x3d52,
- /* key: 0x8ff1 */ 0xe146,
- /* key: 0x8ff2 */ 0xffff,
- /* key: 0x8ff3 */ 0xffff,
- /* key: 0x8ff4 */ 0x6d6f,
- /* key: 0x8ff5 */ 0xe147,
- /* key: 0x8ff6 */ 0xe148,
- /* key: 0x8ff7 */ 0x4c42,
- /* key: 0x8ff8 */ 0x6d7e,
- /* key: 0x8ff9 */ 0x6d71,
- /* key: 0x8ffa */ 0x6d72,
- /* key: 0x8ffb */ 0xe149,
- /* key: 0x8ffc */ 0xffff,
- /* key: 0x8ffd */ 0x4449,
- /* key: 0x8ffe */ 0xe14a,
- /* key: 0x8fff */ 0xffff,
- /* branch: 0x90XX */ 19200,
- /* branch: 0x91XX */ 19472,
- /* branch: 0x92XX */ 19744,
- /* branch: 0x93XX */ 20016,
- /* branch: 0x94XX */ 20288,
- /* branch: 0x95XX */ 20448,
- /* branch: 0x96XX */ 20592,
- /* branch: 0x97XX */ 20848,
- /* branch: 0x98XX */ 21120,
- /* branch: 0x99XX */ 21360,
- /* branch: 0x9aXX */ 21600,
- /* branch: 0x9bXX */ 21824,
- /* branch: 0x9cXX */ 22096,
- /* branch: 0x9dXX */ 22272,
- /* branch: 0x9eXX */ 22544,
- /* branch: 0x9fXX */ 22736,
- /* branch: 0x900X */ 19216,
- /* branch: 0x901X */ 19232,
- /* branch: 0x902X */ 19248,
- /* branch: 0x903X */ 19264,
- /* branch: 0x904X */ 19280,
- /* branch: 0x905X */ 19296,
- /* branch: 0x906X */ 19312,
- /* branch: 0x907X */ 19328,
- /* branch: 0x908X */ 19344,
- /* branch: 0x909X */ 19360,
- /* branch: 0x90aX */ 19376,
- /* branch: 0x90bX */ 19392,
- /* branch: 0x90cX */ 19408,
- /* branch: 0x90dX */ 19424,
- /* branch: 0x90eX */ 19440,
- /* branch: 0x90fX */ 19456,
- /* key: 0x9000 */ 0x4260,
- /* key: 0x9001 */ 0x4177,
- /* key: 0x9002 */ 0xe14b,
- /* key: 0x9003 */ 0x4628,
- /* key: 0x9004 */ 0xe14c,
- /* key: 0x9005 */ 0x6d70,
- /* key: 0x9006 */ 0x3555,
- /* key: 0x9007 */ 0xffff,
- /* key: 0x9008 */ 0xe14d,
- /* key: 0x9009 */ 0xffff,
- /* key: 0x900a */ 0xffff,
- /* key: 0x900b */ 0x6d79,
- /* key: 0x900c */ 0xe14e,
- /* key: 0x900d */ 0x6d76,
- /* key: 0x900e */ 0x6e25,
- /* key: 0x900f */ 0x4629,
- /* key: 0x9010 */ 0x4360,
- /* key: 0x9011 */ 0x6d73,
- /* key: 0x9012 */ 0xffff,
- /* key: 0x9013 */ 0x447e,
- /* key: 0x9014 */ 0x4553,
- /* key: 0x9015 */ 0x6d74,
- /* key: 0x9016 */ 0x6d78,
- /* key: 0x9017 */ 0x3f60,
- /* key: 0x9018 */ 0xe14f,
- /* key: 0x9019 */ 0x4767,
- /* key: 0x901a */ 0x444c,
- /* key: 0x901b */ 0xe150,
- /* key: 0x901c */ 0xffff,
- /* key: 0x901d */ 0x4042,
- /* key: 0x901e */ 0x6d77,
- /* key: 0x901f */ 0x422e,
- /* key: 0x9020 */ 0x4224,
- /* key: 0x9021 */ 0x6d75,
- /* key: 0x9022 */ 0x3029,
- /* key: 0x9023 */ 0x4f22,
- /* key: 0x9024 */ 0xffff,
- /* key: 0x9025 */ 0xffff,
- /* key: 0x9026 */ 0xffff,
- /* key: 0x9027 */ 0x6d7a,
- /* key: 0x9028 */ 0xe151,
- /* key: 0x9029 */ 0xe152,
- /* key: 0x902a */ 0xe154,
- /* key: 0x902b */ 0xffff,
- /* key: 0x902c */ 0xe155,
- /* key: 0x902d */ 0xe156,
- /* key: 0x902e */ 0x4261,
- /* key: 0x902f */ 0xe153,
- /* key: 0x9030 */ 0xffff,
- /* key: 0x9031 */ 0x3d35,
- /* key: 0x9032 */ 0x3f4a,
- /* key: 0x9033 */ 0xe157,
- /* key: 0x9034 */ 0xe158,
- /* key: 0x9035 */ 0x6d7c,
- /* key: 0x9036 */ 0x6d7b,
- /* key: 0x9037 */ 0xe159,
- /* key: 0x9038 */ 0x306f,
- /* key: 0x9039 */ 0x6d7d,
- /* key: 0x903a */ 0xffff,
- /* key: 0x903b */ 0xffff,
- /* key: 0x903c */ 0x492f,
- /* key: 0x903d */ 0xffff,
- /* key: 0x903e */ 0x6e27,
- /* key: 0x903f */ 0xe15a,
- /* key: 0x9040 */ 0xffff,
- /* key: 0x9041 */ 0x465b,
- /* key: 0x9042 */ 0x3f6b,
- /* key: 0x9043 */ 0xe15b,
- /* key: 0x9044 */ 0xe15c,
- /* key: 0x9045 */ 0x4359,
- /* key: 0x9046 */ 0xffff,
- /* key: 0x9047 */ 0x3678,
- /* key: 0x9048 */ 0xffff,
- /* key: 0x9049 */ 0x6e26,
- /* key: 0x904a */ 0x4d37,
- /* key: 0x904b */ 0x313f,
- /* key: 0x904c */ 0xe15d,
- /* key: 0x904d */ 0x4a57,
- /* key: 0x904e */ 0x3261,
- /* key: 0x904f */ 0x6e21,
- /* key: 0x9050 */ 0x6e22,
- /* key: 0x9051 */ 0x6e23,
- /* key: 0x9052 */ 0x6e24,
- /* key: 0x9053 */ 0x463b,
- /* key: 0x9054 */ 0x4323,
- /* key: 0x9055 */ 0x3063,
- /* key: 0x9056 */ 0x6e28,
- /* key: 0x9057 */ 0xffff,
- /* key: 0x9058 */ 0x6e29,
- /* key: 0x9059 */ 0x7423,
- /* key: 0x905a */ 0xffff,
- /* key: 0x905b */ 0xe15e,
- /* key: 0x905c */ 0x423d,
- /* key: 0x905d */ 0xe15f,
- /* key: 0x905e */ 0x6e2a,
- /* key: 0x905f */ 0xffff,
- /* key: 0x9060 */ 0x3173,
- /* key: 0x9061 */ 0x414c,
- /* key: 0x9062 */ 0xe160,
- /* key: 0x9063 */ 0x382f,
- /* key: 0x9064 */ 0xffff,
- /* key: 0x9065 */ 0x4d5a,
- /* key: 0x9066 */ 0xe161,
- /* key: 0x9067 */ 0xe162,
- /* key: 0x9068 */ 0x6e2b,
- /* key: 0x9069 */ 0x452c,
- /* key: 0x906a */ 0xffff,
- /* key: 0x906b */ 0xffff,
- /* key: 0x906c */ 0xe163,
- /* key: 0x906d */ 0x4178,
- /* key: 0x906e */ 0x3c57,
- /* key: 0x906f */ 0x6e2c,
- /* key: 0x9070 */ 0xe164,
- /* key: 0x9071 */ 0xffff,
- /* key: 0x9072 */ 0x6e2f,
- /* key: 0x9073 */ 0xffff,
- /* key: 0x9074 */ 0xe165,
- /* key: 0x9075 */ 0x3d65,
- /* key: 0x9076 */ 0x6e2d,
- /* key: 0x9077 */ 0x412b,
- /* key: 0x9078 */ 0x412a,
- /* key: 0x9079 */ 0xe166,
- /* key: 0x907a */ 0x3064,
- /* key: 0x907b */ 0xffff,
- /* key: 0x907c */ 0x4e4b,
- /* key: 0x907d */ 0x6e31,
- /* key: 0x907e */ 0xffff,
- /* key: 0x907f */ 0x4872,
- /* key: 0x9080 */ 0x6e33,
- /* key: 0x9081 */ 0x6e32,
- /* key: 0x9082 */ 0x6e30,
- /* key: 0x9083 */ 0x6364,
- /* key: 0x9084 */ 0x3454,
- /* key: 0x9085 */ 0xe167,
- /* key: 0x9086 */ 0xffff,
- /* key: 0x9087 */ 0x6d6e,
- /* key: 0x9088 */ 0xe168,
- /* key: 0x9089 */ 0x6e35,
- /* key: 0x908a */ 0x6e34,
- /* key: 0x908b */ 0xe169,
- /* key: 0x908c */ 0xe16a,
- /* key: 0x908d */ 0xffff,
- /* key: 0x908e */ 0xe16b,
- /* key: 0x908f */ 0x6e36,
- /* key: 0x9090 */ 0xe16c,
- /* key: 0x9091 */ 0x4d38,
- /* key: 0x9092 */ 0xffff,
- /* key: 0x9093 */ 0xffff,
- /* key: 0x9094 */ 0xffff,
- /* key: 0x9095 */ 0xe16d,
- /* key: 0x9096 */ 0xffff,
- /* key: 0x9097 */ 0xe16e,
- /* key: 0x9098 */ 0xe16f,
- /* key: 0x9099 */ 0xe170,
- /* key: 0x909a */ 0xffff,
- /* key: 0x909b */ 0xe171,
- /* key: 0x909c */ 0xffff,
- /* key: 0x909d */ 0xffff,
- /* key: 0x909e */ 0xffff,
- /* key: 0x909f */ 0xffff,
- /* key: 0x90a0 */ 0xe172,
- /* key: 0x90a1 */ 0xe173,
- /* key: 0x90a2 */ 0xe174,
- /* key: 0x90a3 */ 0x4661,
- /* key: 0x90a4 */ 0xffff,
- /* key: 0x90a5 */ 0xe175,
- /* key: 0x90a6 */ 0x4b2e,
- /* key: 0x90a7 */ 0xffff,
- /* key: 0x90a8 */ 0x6e37,
- /* key: 0x90a9 */ 0xffff,
- /* key: 0x90aa */ 0x3c59,
- /* key: 0x90ab */ 0xffff,
- /* key: 0x90ac */ 0xffff,
- /* key: 0x90ad */ 0xffff,
- /* key: 0x90ae */ 0xffff,
- /* key: 0x90af */ 0x6e38,
- /* key: 0x90b0 */ 0xe176,
- /* key: 0x90b1 */ 0x6e39,
- /* key: 0x90b2 */ 0xe177,
- /* key: 0x90b3 */ 0xe178,
- /* key: 0x90b4 */ 0xe179,
- /* key: 0x90b5 */ 0x6e3a,
- /* key: 0x90b6 */ 0xe17a,
- /* key: 0x90b7 */ 0xffff,
- /* key: 0x90b8 */ 0x4521,
- /* key: 0x90b9 */ 0xffff,
- /* key: 0x90ba */ 0xffff,
- /* key: 0x90bb */ 0xffff,
- /* key: 0x90bc */ 0xffff,
- /* key: 0x90bd */ 0xe17b,
- /* key: 0x90be */ 0xe17d,
- /* key: 0x90bf */ 0xffff,
- /* key: 0x90c0 */ 0xffff,
- /* key: 0x90c1 */ 0x306a,
- /* key: 0x90c2 */ 0xffff,
- /* key: 0x90c3 */ 0xe17e,
- /* key: 0x90c4 */ 0xe221,
- /* key: 0x90c5 */ 0xe222,
- /* key: 0x90c6 */ 0xffff,
- /* key: 0x90c7 */ 0xe223,
- /* key: 0x90c8 */ 0xe224,
- /* key: 0x90c9 */ 0xffff,
- /* key: 0x90ca */ 0x3959,
- /* key: 0x90cb */ 0xffff,
- /* key: 0x90cc */ 0xe17c,
- /* key: 0x90cd */ 0xffff,
- /* key: 0x90ce */ 0x4f3a,
- /* key: 0x90cf */ 0xffff,
- /* key: 0x90d0 */ 0xffff,
- /* key: 0x90d1 */ 0xffff,
- /* key: 0x90d2 */ 0xe22d,
- /* key: 0x90d3 */ 0xffff,
- /* key: 0x90d4 */ 0xffff,
- /* key: 0x90d5 */ 0xe225,
- /* key: 0x90d6 */ 0xffff,
- /* key: 0x90d7 */ 0xe226,
- /* key: 0x90d8 */ 0xe227,
- /* key: 0x90d9 */ 0xe228,
- /* key: 0x90da */ 0xffff,
- /* key: 0x90db */ 0x6e3e,
- /* key: 0x90dc */ 0xe229,
- /* key: 0x90dd */ 0xe22a,
- /* key: 0x90de */ 0xffff,
- /* key: 0x90df */ 0xe22b,
- /* key: 0x90e0 */ 0xffff,
- /* key: 0x90e1 */ 0x3734,
- /* key: 0x90e2 */ 0x6e3b,
- /* key: 0x90e3 */ 0xffff,
- /* key: 0x90e4 */ 0x6e3c,
- /* key: 0x90e5 */ 0xe22c,
- /* key: 0x90e6 */ 0xffff,
- /* key: 0x90e7 */ 0xffff,
- /* key: 0x90e8 */ 0x4974,
- /* key: 0x90e9 */ 0xffff,
- /* key: 0x90ea */ 0xffff,
- /* key: 0x90eb */ 0xe22f,
- /* key: 0x90ec */ 0xffff,
- /* key: 0x90ed */ 0x3354,
- /* key: 0x90ee */ 0xffff,
- /* key: 0x90ef */ 0xe230,
- /* key: 0x90f0 */ 0xe231,
- /* key: 0x90f1 */ 0xffff,
- /* key: 0x90f2 */ 0xffff,
- /* key: 0x90f3 */ 0xffff,
- /* key: 0x90f4 */ 0xe232,
- /* key: 0x90f5 */ 0x4d39,
- /* key: 0x90f6 */ 0xe22e,
- /* key: 0x90f7 */ 0x363f,
- /* key: 0x90f8 */ 0xffff,
- /* key: 0x90f9 */ 0xffff,
- /* key: 0x90fa */ 0xffff,
- /* key: 0x90fb */ 0xffff,
- /* key: 0x90fc */ 0xffff,
- /* key: 0x90fd */ 0x4554,
- /* key: 0x90fe */ 0xe233,
- /* key: 0x90ff */ 0xe234,
- /* branch: 0x910X */ 19488,
- /* branch: 0x911X */ 19504,
- /* branch: 0x912X */ 19520,
- /* branch: 0x913X */ 19536,
- /* branch: 0x914X */ 19552,
- /* branch: 0x915X */ 19568,
- /* branch: 0x916X */ 19584,
- /* branch: 0x917X */ 19600,
- /* branch: 0x918X */ 19616,
- /* branch: 0x919X */ 19632,
- /* branch: 0x91aX */ 19648,
- /* branch: 0x91bX */ 19664,
- /* branch: 0x91cX */ 19680,
- /* branch: 0x91dX */ 19696,
- /* branch: 0x91eX */ 19712,
- /* branch: 0x91fX */ 19728,
- /* key: 0x9100 */ 0xe235,
- /* key: 0x9101 */ 0xffff,
- /* key: 0x9102 */ 0x6e3f,
- /* key: 0x9103 */ 0xffff,
- /* key: 0x9104 */ 0xe236,
- /* key: 0x9105 */ 0xe237,
- /* key: 0x9106 */ 0xe238,
- /* key: 0x9107 */ 0xffff,
- /* key: 0x9108 */ 0xe239,
- /* key: 0x9109 */ 0xffff,
- /* key: 0x910a */ 0xffff,
- /* key: 0x910b */ 0xffff,
- /* key: 0x910c */ 0xffff,
- /* key: 0x910d */ 0xe23a,
- /* key: 0x910e */ 0xffff,
- /* key: 0x910f */ 0xffff,
- /* key: 0x9110 */ 0xe23b,
- /* key: 0x9111 */ 0xffff,
- /* key: 0x9112 */ 0x6e40,
- /* key: 0x9113 */ 0xffff,
- /* key: 0x9114 */ 0xe23c,
- /* key: 0x9115 */ 0xffff,
- /* key: 0x9116 */ 0xe23d,
- /* key: 0x9117 */ 0xe23e,
- /* key: 0x9118 */ 0xe23f,
- /* key: 0x9119 */ 0x6e41,
- /* key: 0x911a */ 0xe240,
- /* key: 0x911b */ 0xffff,
- /* key: 0x911c */ 0xe241,
- /* key: 0x911d */ 0xffff,
- /* key: 0x911e */ 0xe242,
- /* key: 0x911f */ 0xffff,
- /* key: 0x9120 */ 0xe243,
- /* key: 0x9121 */ 0xffff,
- /* key: 0x9122 */ 0xe245,
- /* key: 0x9123 */ 0xe246,
- /* key: 0x9124 */ 0xffff,
- /* key: 0x9125 */ 0xe244,
- /* key: 0x9126 */ 0xffff,
- /* key: 0x9127 */ 0xe247,
- /* key: 0x9128 */ 0xffff,
- /* key: 0x9129 */ 0xe248,
- /* key: 0x912a */ 0xffff,
- /* key: 0x912b */ 0xffff,
- /* key: 0x912c */ 0xffff,
- /* key: 0x912d */ 0x4522,
- /* key: 0x912e */ 0xe249,
- /* key: 0x912f */ 0xe24a,
- /* key: 0x9130 */ 0x6e43,
- /* key: 0x9131 */ 0xe24b,
- /* key: 0x9132 */ 0x6e42,
- /* key: 0x9133 */ 0xffff,
- /* key: 0x9134 */ 0xe24c,
- /* key: 0x9135 */ 0xffff,
- /* key: 0x9136 */ 0xe24d,
- /* key: 0x9137 */ 0xe24e,
- /* key: 0x9138 */ 0xffff,
- /* key: 0x9139 */ 0xe24f,
- /* key: 0x913a */ 0xe250,
- /* key: 0x913b */ 0xffff,
- /* key: 0x913c */ 0xe251,
- /* key: 0x913d */ 0xe252,
- /* key: 0x913e */ 0xffff,
- /* key: 0x913f */ 0xffff,
- /* key: 0x9140 */ 0xffff,
- /* key: 0x9141 */ 0xffff,
- /* key: 0x9142 */ 0xffff,
- /* key: 0x9143 */ 0xe253,
- /* key: 0x9144 */ 0xffff,
- /* key: 0x9145 */ 0xffff,
- /* key: 0x9146 */ 0xffff,
- /* key: 0x9147 */ 0xe254,
- /* key: 0x9148 */ 0xe255,
- /* key: 0x9149 */ 0x4653,
- /* key: 0x914a */ 0x6e44,
- /* key: 0x914b */ 0x3d36,
- /* key: 0x914c */ 0x3c60,
- /* key: 0x914d */ 0x475b,
- /* key: 0x914e */ 0x4371,
- /* key: 0x914f */ 0xe256,
- /* key: 0x9150 */ 0xffff,
- /* key: 0x9151 */ 0xffff,
- /* key: 0x9152 */ 0x3c72,
- /* key: 0x9153 */ 0xe257,
- /* key: 0x9154 */ 0x3f6c,
- /* key: 0x9155 */ 0xffff,
- /* key: 0x9156 */ 0x6e45,
- /* key: 0x9157 */ 0xe258,
- /* key: 0x9158 */ 0x6e46,
- /* key: 0x9159 */ 0xe259,
- /* key: 0x915a */ 0xe25a,
- /* key: 0x915b */ 0xe25b,
- /* key: 0x915c */ 0xffff,
- /* key: 0x915d */ 0xffff,
- /* key: 0x915e */ 0xffff,
- /* key: 0x915f */ 0xffff,
- /* key: 0x9160 */ 0xffff,
- /* key: 0x9161 */ 0xe25c,
- /* key: 0x9162 */ 0x3f5d,
- /* key: 0x9163 */ 0x6e47,
- /* key: 0x9164 */ 0xe25d,
- /* key: 0x9165 */ 0x6e48,
- /* key: 0x9166 */ 0xffff,
- /* key: 0x9167 */ 0xe25e,
- /* key: 0x9168 */ 0xffff,
- /* key: 0x9169 */ 0x6e49,
- /* key: 0x916a */ 0x4d6f,
- /* key: 0x916b */ 0xffff,
- /* key: 0x916c */ 0x3d37,
- /* key: 0x916d */ 0xe25f,
- /* key: 0x916e */ 0xffff,
- /* key: 0x916f */ 0xffff,
- /* key: 0x9170 */ 0xffff,
- /* key: 0x9171 */ 0xffff,
- /* key: 0x9172 */ 0x6e4b,
- /* key: 0x9173 */ 0x6e4a,
- /* key: 0x9174 */ 0xe260,
- /* key: 0x9175 */ 0x395a,
- /* key: 0x9176 */ 0xffff,
- /* key: 0x9177 */ 0x3973,
- /* key: 0x9178 */ 0x3b40,
- /* key: 0x9179 */ 0xe261,
- /* key: 0x917a */ 0xe262,
- /* key: 0x917b */ 0xe263,
- /* key: 0x917c */ 0xffff,
- /* key: 0x917d */ 0xffff,
- /* key: 0x917e */ 0xffff,
- /* key: 0x917f */ 0xffff,
- /* key: 0x9180 */ 0xffff,
- /* key: 0x9181 */ 0xe264,
- /* key: 0x9182 */ 0x6e4e,
- /* key: 0x9183 */ 0xe265,
- /* key: 0x9184 */ 0xffff,
- /* key: 0x9185 */ 0xe266,
- /* key: 0x9186 */ 0xe267,
- /* key: 0x9187 */ 0x3d66,
- /* key: 0x9188 */ 0xffff,
- /* key: 0x9189 */ 0x6e4d,
- /* key: 0x918a */ 0xe268,
- /* key: 0x918b */ 0x6e4c,
- /* key: 0x918c */ 0xffff,
- /* key: 0x918d */ 0x4269,
- /* key: 0x918e */ 0xe269,
- /* key: 0x918f */ 0xffff,
- /* key: 0x9190 */ 0x386f,
- /* key: 0x9191 */ 0xe26a,
- /* key: 0x9192 */ 0x4043,
- /* key: 0x9193 */ 0xe26b,
- /* key: 0x9194 */ 0xe26c,
- /* key: 0x9195 */ 0xe26d,
- /* key: 0x9196 */ 0xffff,
- /* key: 0x9197 */ 0x4830,
- /* key: 0x9198 */ 0xe26e,
- /* key: 0x9199 */ 0xffff,
- /* key: 0x919a */ 0xffff,
- /* key: 0x919b */ 0xffff,
- /* key: 0x919c */ 0x3d39,
- /* key: 0x919d */ 0xffff,
- /* key: 0x919e */ 0xe26f,
- /* key: 0x919f */ 0xffff,
- /* key: 0x91a0 */ 0xffff,
- /* key: 0x91a1 */ 0xe270,
- /* key: 0x91a2 */ 0x6e4f,
- /* key: 0x91a3 */ 0xffff,
- /* key: 0x91a4 */ 0x3e5f,
- /* key: 0x91a5 */ 0xffff,
- /* key: 0x91a6 */ 0xe271,
- /* key: 0x91a7 */ 0xffff,
- /* key: 0x91a8 */ 0xe272,
- /* key: 0x91a9 */ 0xffff,
- /* key: 0x91aa */ 0x6e52,
- /* key: 0x91ab */ 0x6e50,
- /* key: 0x91ac */ 0xe273,
- /* key: 0x91ad */ 0xe274,
- /* key: 0x91ae */ 0xe275,
- /* key: 0x91af */ 0x6e51,
- /* key: 0x91b0 */ 0xe276,
- /* key: 0x91b1 */ 0xe277,
- /* key: 0x91b2 */ 0xe278,
- /* key: 0x91b3 */ 0xe279,
- /* key: 0x91b4 */ 0x6e54,
- /* key: 0x91b5 */ 0x6e53,
- /* key: 0x91b6 */ 0xe27a,
- /* key: 0x91b7 */ 0xffff,
- /* key: 0x91b8 */ 0x3e7a,
- /* key: 0x91b9 */ 0xffff,
- /* key: 0x91ba */ 0x6e55,
- /* key: 0x91bb */ 0xe27b,
- /* key: 0x91bc */ 0xe27c,
- /* key: 0x91bd */ 0xe27d,
- /* key: 0x91be */ 0xffff,
- /* key: 0x91bf */ 0xe27e,
- /* key: 0x91c0 */ 0x6e56,
- /* key: 0x91c1 */ 0x6e57,
- /* key: 0x91c2 */ 0xe321,
- /* key: 0x91c3 */ 0xe322,
- /* key: 0x91c4 */ 0xffff,
- /* key: 0x91c5 */ 0xe323,
- /* key: 0x91c6 */ 0x4850,
- /* key: 0x91c7 */ 0x3a53,
- /* key: 0x91c8 */ 0x3c61,
- /* key: 0x91c9 */ 0x6e58,
- /* key: 0x91ca */ 0xffff,
- /* key: 0x91cb */ 0x6e59,
- /* key: 0x91cc */ 0x4e24,
- /* key: 0x91cd */ 0x3d45,
- /* key: 0x91ce */ 0x4c6e,
- /* key: 0x91cf */ 0x4e4c,
- /* key: 0x91d0 */ 0x6e5a,
- /* key: 0x91d1 */ 0x3662,
- /* key: 0x91d2 */ 0xffff,
- /* key: 0x91d3 */ 0xe324,
- /* key: 0x91d4 */ 0xe325,
- /* key: 0x91d5 */ 0xffff,
- /* key: 0x91d6 */ 0x6e5b,
- /* key: 0x91d7 */ 0xe326,
- /* key: 0x91d8 */ 0x4523,
- /* key: 0x91d9 */ 0xe327,
- /* key: 0x91da */ 0xe328,
- /* key: 0x91db */ 0x6e5e,
- /* key: 0x91dc */ 0x3378,
- /* key: 0x91dd */ 0x3f4b,
- /* key: 0x91de */ 0xe329,
- /* key: 0x91df */ 0x6e5c,
- /* key: 0x91e0 */ 0xffff,
- /* key: 0x91e1 */ 0x6e5d,
- /* key: 0x91e2 */ 0xffff,
- /* key: 0x91e3 */ 0x4460,
- /* key: 0x91e4 */ 0xe32a,
- /* key: 0x91e5 */ 0xe32b,
- /* key: 0x91e6 */ 0x4b55,
- /* key: 0x91e7 */ 0x367c,
- /* key: 0x91e8 */ 0xffff,
- /* key: 0x91e9 */ 0xe32c,
- /* key: 0x91ea */ 0xe32d,
- /* key: 0x91eb */ 0xffff,
- /* key: 0x91ec */ 0xe32e,
- /* key: 0x91ed */ 0xe32f,
- /* key: 0x91ee */ 0xe330,
- /* key: 0x91ef */ 0xe331,
- /* key: 0x91f0 */ 0xe332,
- /* key: 0x91f1 */ 0xe333,
- /* key: 0x91f2 */ 0xffff,
- /* key: 0x91f3 */ 0xffff,
- /* key: 0x91f4 */ 0xffff,
- /* key: 0x91f5 */ 0x6e60,
- /* key: 0x91f6 */ 0x6e61,
- /* key: 0x91f7 */ 0xe334,
- /* key: 0x91f8 */ 0xffff,
- /* key: 0x91f9 */ 0xe335,
- /* key: 0x91fa */ 0xffff,
- /* key: 0x91fb */ 0xe336,
- /* key: 0x91fc */ 0x6e5f,
- /* key: 0x91fd */ 0xe337,
- /* key: 0x91fe */ 0xffff,
- /* key: 0x91ff */ 0x6e63,
- /* branch: 0x920X */ 19760,
- /* branch: 0x921X */ 19776,
- /* branch: 0x922X */ 19792,
- /* branch: 0x923X */ 19808,
- /* branch: 0x924X */ 19824,
- /* branch: 0x925X */ 19840,
- /* branch: 0x926X */ 19856,
- /* branch: 0x927X */ 19872,
- /* branch: 0x928X */ 19888,
- /* branch: 0x929X */ 19904,
- /* branch: 0x92aX */ 19920,
- /* branch: 0x92bX */ 19936,
- /* branch: 0x92cX */ 19952,
- /* branch: 0x92dX */ 19968,
- /* branch: 0x92eX */ 19984,
- /* branch: 0x92fX */ 20000,
- /* key: 0x9200 */ 0xe338,
- /* key: 0x9201 */ 0xe339,
- /* key: 0x9202 */ 0xffff,
- /* key: 0x9203 */ 0xffff,
- /* key: 0x9204 */ 0xe33a,
- /* key: 0x9205 */ 0xe33b,
- /* key: 0x9206 */ 0xe33c,
- /* key: 0x9207 */ 0xe33d,
- /* key: 0x9208 */ 0xffff,
- /* key: 0x9209 */ 0xe33e,
- /* key: 0x920a */ 0xe33f,
- /* key: 0x920b */ 0xffff,
- /* key: 0x920c */ 0xe340,
- /* key: 0x920d */ 0x465f,
- /* key: 0x920e */ 0x3343,
- /* key: 0x920f */ 0xffff,
- /* key: 0x9210 */ 0xe341,
- /* key: 0x9211 */ 0x6e67,
- /* key: 0x9212 */ 0xe342,
- /* key: 0x9213 */ 0xe343,
- /* key: 0x9214 */ 0x6e64,
- /* key: 0x9215 */ 0x6e66,
- /* key: 0x9216 */ 0xe344,
- /* key: 0x9217 */ 0xffff,
- /* key: 0x9218 */ 0xe345,
- /* key: 0x9219 */ 0xffff,
- /* key: 0x921a */ 0xffff,
- /* key: 0x921b */ 0xffff,
- /* key: 0x921c */ 0xe346,
- /* key: 0x921d */ 0xe347,
- /* key: 0x921e */ 0x6e62,
- /* key: 0x921f */ 0xffff,
- /* key: 0x9220 */ 0xffff,
- /* key: 0x9221 */ 0xffff,
- /* key: 0x9222 */ 0xffff,
- /* key: 0x9223 */ 0xe348,
- /* key: 0x9224 */ 0xe349,
- /* key: 0x9225 */ 0xe34a,
- /* key: 0x9226 */ 0xe34b,
- /* key: 0x9227 */ 0xffff,
- /* key: 0x9228 */ 0xe34c,
- /* key: 0x9229 */ 0x6f4f,
- /* key: 0x922a */ 0xffff,
- /* key: 0x922b */ 0xffff,
- /* key: 0x922c */ 0x6e65,
- /* key: 0x922d */ 0xffff,
- /* key: 0x922e */ 0xe34d,
- /* key: 0x922f */ 0xe34e,
- /* key: 0x9230 */ 0xe34f,
- /* key: 0x9231 */ 0xffff,
- /* key: 0x9232 */ 0xffff,
- /* key: 0x9233 */ 0xe350,
- /* key: 0x9234 */ 0x4e6b,
- /* key: 0x9235 */ 0xe351,
- /* key: 0x9236 */ 0xe352,
- /* key: 0x9237 */ 0x385a,
- /* key: 0x9238 */ 0xe353,
- /* key: 0x9239 */ 0xe354,
- /* key: 0x923a */ 0xe355,
- /* key: 0x923b */ 0xffff,
- /* key: 0x923c */ 0xe356,
- /* key: 0x923d */ 0xffff,
- /* key: 0x923e */ 0xe357,
- /* key: 0x923f */ 0x6e6f,
- /* key: 0x9240 */ 0xe358,
- /* key: 0x9241 */ 0xffff,
- /* key: 0x9242 */ 0xe359,
- /* key: 0x9243 */ 0xe35a,
- /* key: 0x9244 */ 0x4534,
- /* key: 0x9245 */ 0x6e6a,
- /* key: 0x9246 */ 0xe35b,
- /* key: 0x9247 */ 0xe35c,
- /* key: 0x9248 */ 0x6e6d,
- /* key: 0x9249 */ 0x6e6b,
- /* key: 0x924a */ 0xe35d,
- /* key: 0x924b */ 0x6e70,
- /* key: 0x924c */ 0xffff,
- /* key: 0x924d */ 0xe35e,
- /* key: 0x924e */ 0xe35f,
- /* key: 0x924f */ 0xe360,
- /* key: 0x9250 */ 0x6e71,
- /* key: 0x9251 */ 0xe361,
- /* key: 0x9252 */ 0xffff,
- /* key: 0x9253 */ 0xffff,
- /* key: 0x9254 */ 0xffff,
- /* key: 0x9255 */ 0xffff,
- /* key: 0x9256 */ 0xffff,
- /* key: 0x9257 */ 0x6e69,
- /* key: 0x9258 */ 0xe362,
- /* key: 0x9259 */ 0xe363,
- /* key: 0x925a */ 0x6e76,
- /* key: 0x925b */ 0x3174,
- /* key: 0x925c */ 0xe364,
- /* key: 0x925d */ 0xe365,
- /* key: 0x925e */ 0x6e68,
- /* key: 0x925f */ 0xffff,
- /* key: 0x9260 */ 0xe366,
- /* key: 0x9261 */ 0xe367,
- /* key: 0x9262 */ 0x482d,
- /* key: 0x9263 */ 0xffff,
- /* key: 0x9264 */ 0x6e6c,
- /* key: 0x9265 */ 0xe368,
- /* key: 0x9266 */ 0x3e60,
- /* key: 0x9267 */ 0xe369,
- /* key: 0x9268 */ 0xe36a,
- /* key: 0x9269 */ 0xe36b,
- /* key: 0x926a */ 0xffff,
- /* key: 0x926b */ 0xffff,
- /* key: 0x926c */ 0xffff,
- /* key: 0x926d */ 0xffff,
- /* key: 0x926e */ 0xe36c,
- /* key: 0x926f */ 0xe36d,
- /* key: 0x9270 */ 0xe36e,
- /* key: 0x9271 */ 0x395b,
- /* key: 0x9272 */ 0xffff,
- /* key: 0x9273 */ 0xffff,
- /* key: 0x9274 */ 0xffff,
- /* key: 0x9275 */ 0xe36f,
- /* key: 0x9276 */ 0xe370,
- /* key: 0x9277 */ 0xe371,
- /* key: 0x9278 */ 0xe372,
- /* key: 0x9279 */ 0xe373,
- /* key: 0x927a */ 0xffff,
- /* key: 0x927b */ 0xe374,
- /* key: 0x927c */ 0xe375,
- /* key: 0x927d */ 0xe376,
- /* key: 0x927e */ 0x4b48,
- /* key: 0x927f */ 0xe377,
- /* key: 0x9280 */ 0x3664,
- /* key: 0x9281 */ 0xffff,
- /* key: 0x9282 */ 0xffff,
- /* key: 0x9283 */ 0x3d46,
- /* key: 0x9284 */ 0xffff,
- /* key: 0x9285 */ 0x463c,
- /* key: 0x9286 */ 0xffff,
- /* key: 0x9287 */ 0xffff,
- /* key: 0x9288 */ 0xe378,
- /* key: 0x9289 */ 0xe379,
- /* key: 0x928a */ 0xe37a,
- /* key: 0x928b */ 0xffff,
- /* key: 0x928c */ 0xffff,
- /* key: 0x928d */ 0xe37b,
- /* key: 0x928e */ 0xe37c,
- /* key: 0x928f */ 0xffff,
- /* key: 0x9290 */ 0xffff,
- /* key: 0x9291 */ 0x412d,
- /* key: 0x9292 */ 0xe37d,
- /* key: 0x9293 */ 0x6e74,
- /* key: 0x9294 */ 0xffff,
- /* key: 0x9295 */ 0x6e6e,
- /* key: 0x9296 */ 0x6e73,
- /* key: 0x9297 */ 0xe37e,
- /* key: 0x9298 */ 0x4c43,
- /* key: 0x9299 */ 0xe421,
- /* key: 0x929a */ 0x4438,
- /* key: 0x929b */ 0x6e75,
- /* key: 0x929c */ 0x6e72,
- /* key: 0x929d */ 0xffff,
- /* key: 0x929e */ 0xffff,
- /* key: 0x929f */ 0xe422,
- /* key: 0x92a0 */ 0xe423,
- /* key: 0x92a1 */ 0xffff,
- /* key: 0x92a2 */ 0xffff,
- /* key: 0x92a3 */ 0xffff,
- /* key: 0x92a4 */ 0xe424,
- /* key: 0x92a5 */ 0xe425,
- /* key: 0x92a6 */ 0xffff,
- /* key: 0x92a7 */ 0xe426,
- /* key: 0x92a8 */ 0xe427,
- /* key: 0x92a9 */ 0xffff,
- /* key: 0x92aa */ 0xffff,
- /* key: 0x92ab */ 0xe428,
- /* key: 0x92ac */ 0xffff,
- /* key: 0x92ad */ 0x412c,
- /* key: 0x92ae */ 0xffff,
- /* key: 0x92af */ 0xe429,
- /* key: 0x92b0 */ 0xffff,
- /* key: 0x92b1 */ 0xffff,
- /* key: 0x92b2 */ 0xe42a,
- /* key: 0x92b3 */ 0xffff,
- /* key: 0x92b4 */ 0xffff,
- /* key: 0x92b5 */ 0xffff,
- /* key: 0x92b6 */ 0xe42b,
- /* key: 0x92b7 */ 0x6e79,
- /* key: 0x92b8 */ 0xe42c,
- /* key: 0x92b9 */ 0x6e78,
- /* key: 0x92ba */ 0xe42d,
- /* key: 0x92bb */ 0xe42e,
- /* key: 0x92bc */ 0xe42f,
- /* key: 0x92bd */ 0xe430,
- /* key: 0x92be */ 0xffff,
- /* key: 0x92bf */ 0xe431,
- /* key: 0x92c0 */ 0xe432,
- /* key: 0x92c1 */ 0xe433,
- /* key: 0x92c2 */ 0xe434,
- /* key: 0x92c3 */ 0xe435,
- /* key: 0x92c4 */ 0xffff,
- /* key: 0x92c5 */ 0xe436,
- /* key: 0x92c6 */ 0xe437,
- /* key: 0x92c7 */ 0xe438,
- /* key: 0x92c8 */ 0xe439,
- /* key: 0x92c9 */ 0xffff,
- /* key: 0x92ca */ 0xffff,
- /* key: 0x92cb */ 0xe43a,
- /* key: 0x92cc */ 0xe43b,
- /* key: 0x92cd */ 0xe43c,
- /* key: 0x92ce */ 0xe43d,
- /* key: 0x92cf */ 0x6e77,
- /* key: 0x92d0 */ 0xe43e,
- /* key: 0x92d1 */ 0xffff,
- /* key: 0x92d2 */ 0x4b2f,
- /* key: 0x92d3 */ 0xe43f,
- /* key: 0x92d4 */ 0xffff,
- /* key: 0x92d5 */ 0xe440,
- /* key: 0x92d6 */ 0xffff,
- /* key: 0x92d7 */ 0xe441,
- /* key: 0x92d8 */ 0xe442,
- /* key: 0x92d9 */ 0xe443,
- /* key: 0x92da */ 0xffff,
- /* key: 0x92db */ 0xffff,
- /* key: 0x92dc */ 0xe444,
- /* key: 0x92dd */ 0xe445,
- /* key: 0x92de */ 0xffff,
- /* key: 0x92df */ 0xe446,
- /* key: 0x92e0 */ 0xe447,
- /* key: 0x92e1 */ 0xe448,
- /* key: 0x92e2 */ 0xffff,
- /* key: 0x92e3 */ 0xe449,
- /* key: 0x92e4 */ 0x3d7b,
- /* key: 0x92e5 */ 0xe44a,
- /* key: 0x92e6 */ 0xffff,
- /* key: 0x92e7 */ 0xe44b,
- /* key: 0x92e8 */ 0xe44c,
- /* key: 0x92e9 */ 0x6e7a,
- /* key: 0x92ea */ 0x4a5f,
- /* key: 0x92eb */ 0xffff,
- /* key: 0x92ec */ 0xe44d,
- /* key: 0x92ed */ 0x3154,
- /* key: 0x92ee */ 0xe44e,
- /* key: 0x92ef */ 0xffff,
- /* key: 0x92f0 */ 0xe44f,
- /* key: 0x92f1 */ 0xffff,
- /* key: 0x92f2 */ 0x4946,
- /* key: 0x92f3 */ 0x4372,
- /* key: 0x92f4 */ 0xffff,
- /* key: 0x92f5 */ 0xffff,
- /* key: 0x92f6 */ 0xffff,
- /* key: 0x92f7 */ 0xffff,
- /* key: 0x92f8 */ 0x3578,
- /* key: 0x92f9 */ 0xe450,
- /* key: 0x92fa */ 0x6e7c,
- /* key: 0x92fb */ 0xe451,
- /* key: 0x92fc */ 0x395d,
- /* key: 0x92fd */ 0xffff,
- /* key: 0x92fe */ 0xffff,
- /* key: 0x92ff */ 0xe452,
- /* branch: 0x930X */ 20032,
- /* branch: 0x931X */ 20048,
- /* branch: 0x932X */ 20064,
- /* branch: 0x933X */ 20080,
- /* branch: 0x934X */ 20096,
- /* branch: 0x935X */ 20112,
- /* branch: 0x936X */ 20128,
- /* branch: 0x937X */ 20144,
- /* branch: 0x938X */ 20160,
- /* branch: 0x939X */ 20176,
- /* branch: 0x93aX */ 20192,
- /* branch: 0x93bX */ 20208,
- /* branch: 0x93cX */ 20224,
- /* branch: 0x93dX */ 20240,
- /* branch: 0x93eX */ 20256,
- /* branch: 0x93fX */ 20272,
- /* key: 0x9300 */ 0xe453,
- /* key: 0x9301 */ 0xffff,
- /* key: 0x9302 */ 0xe454,
- /* key: 0x9303 */ 0xffff,
- /* key: 0x9304 */ 0xffff,
- /* key: 0x9305 */ 0xffff,
- /* key: 0x9306 */ 0x3b2c,
- /* key: 0x9307 */ 0xffff,
- /* key: 0x9308 */ 0xe455,
- /* key: 0x9309 */ 0xffff,
- /* key: 0x930a */ 0xffff,
- /* key: 0x930b */ 0xffff,
- /* key: 0x930c */ 0xffff,
- /* key: 0x930d */ 0xe456,
- /* key: 0x930e */ 0xffff,
- /* key: 0x930f */ 0x6e7b,
- /* key: 0x9310 */ 0x3f6d,
- /* key: 0x9311 */ 0xe457,
- /* key: 0x9312 */ 0xffff,
- /* key: 0x9313 */ 0xffff,
- /* key: 0x9314 */ 0xe458,
- /* key: 0x9315 */ 0xe459,
- /* key: 0x9316 */ 0xffff,
- /* key: 0x9317 */ 0xffff,
- /* key: 0x9318 */ 0x3f6e,
- /* key: 0x9319 */ 0x6f21,
- /* key: 0x931a */ 0x6f23,
- /* key: 0x931b */ 0xffff,
- /* key: 0x931c */ 0xe45a,
- /* key: 0x931d */ 0xe45b,
- /* key: 0x931e */ 0xe45c,
- /* key: 0x931f */ 0xe45d,
- /* key: 0x9320 */ 0x3e7b,
- /* key: 0x9321 */ 0xe45e,
- /* key: 0x9322 */ 0x6f22,
- /* key: 0x9323 */ 0x6f24,
- /* key: 0x9324 */ 0xe45f,
- /* key: 0x9325 */ 0xe460,
- /* key: 0x9326 */ 0x3653,
- /* key: 0x9327 */ 0xe461,
- /* key: 0x9328 */ 0x4945,
- /* key: 0x9329 */ 0xe462,
- /* key: 0x932a */ 0xe463,
- /* key: 0x932b */ 0x3c62,
- /* key: 0x932c */ 0x4f23,
- /* key: 0x932d */ 0xffff,
- /* key: 0x932e */ 0x6e7e,
- /* key: 0x932f */ 0x3a78,
- /* key: 0x9330 */ 0xffff,
- /* key: 0x9331 */ 0xffff,
- /* key: 0x9332 */ 0x4f3f,
- /* key: 0x9333 */ 0xe464,
- /* key: 0x9334 */ 0xe465,
- /* key: 0x9335 */ 0x6f26,
- /* key: 0x9336 */ 0xe466,
- /* key: 0x9337 */ 0xe467,
- /* key: 0x9338 */ 0xffff,
- /* key: 0x9339 */ 0xffff,
- /* key: 0x933a */ 0x6f25,
- /* key: 0x933b */ 0x6f27,
- /* key: 0x933c */ 0xffff,
- /* key: 0x933d */ 0xffff,
- /* key: 0x933e */ 0xffff,
- /* key: 0x933f */ 0xffff,
- /* key: 0x9340 */ 0xffff,
- /* key: 0x9341 */ 0xffff,
- /* key: 0x9342 */ 0xffff,
- /* key: 0x9343 */ 0xffff,
- /* key: 0x9344 */ 0x6e7d,
- /* key: 0x9345 */ 0xffff,
- /* key: 0x9346 */ 0xffff,
- /* key: 0x9347 */ 0xe468,
- /* key: 0x9348 */ 0xe469,
- /* key: 0x9349 */ 0xe46a,
- /* key: 0x934a */ 0xffff,
- /* key: 0x934b */ 0x4669,
- /* key: 0x934c */ 0xffff,
- /* key: 0x934d */ 0x4555,
- /* key: 0x934e */ 0xffff,
- /* key: 0x934f */ 0xffff,
- /* key: 0x9350 */ 0xe46b,
- /* key: 0x9351 */ 0xe46c,
- /* key: 0x9352 */ 0xe46d,
- /* key: 0x9353 */ 0xffff,
- /* key: 0x9354 */ 0x4457,
- /* key: 0x9355 */ 0xe46e,
- /* key: 0x9356 */ 0x6f2c,
- /* key: 0x9357 */ 0xe46f,
- /* key: 0x9358 */ 0xe470,
- /* key: 0x9359 */ 0xffff,
- /* key: 0x935a */ 0xe471,
- /* key: 0x935b */ 0x4343,
- /* key: 0x935c */ 0x6f28,
- /* key: 0x935d */ 0xffff,
- /* key: 0x935e */ 0xe472,
- /* key: 0x935f */ 0xffff,
- /* key: 0x9360 */ 0x6f29,
- /* key: 0x9361 */ 0xffff,
- /* key: 0x9362 */ 0xffff,
- /* key: 0x9363 */ 0xffff,
- /* key: 0x9364 */ 0xe473,
- /* key: 0x9365 */ 0xe474,
- /* key: 0x9366 */ 0xffff,
- /* key: 0x9367 */ 0xe475,
- /* key: 0x9368 */ 0xffff,
- /* key: 0x9369 */ 0xe476,
- /* key: 0x936a */ 0xe477,
- /* key: 0x936b */ 0xffff,
- /* key: 0x936c */ 0x372d,
- /* key: 0x936d */ 0xe478,
- /* key: 0x936e */ 0x6f2b,
- /* key: 0x936f */ 0xe479,
- /* key: 0x9370 */ 0xe47a,
- /* key: 0x9371 */ 0xe47b,
- /* key: 0x9372 */ 0xffff,
- /* key: 0x9373 */ 0xe47c,
- /* key: 0x9374 */ 0xe47d,
- /* key: 0x9375 */ 0x3830,
- /* key: 0x9376 */ 0xe47e,
- /* key: 0x9377 */ 0xffff,
- /* key: 0x9378 */ 0xffff,
- /* key: 0x9379 */ 0xffff,
- /* key: 0x937a */ 0xe521,
- /* key: 0x937b */ 0xffff,
- /* key: 0x937c */ 0x6f2a,
- /* key: 0x937d */ 0xe522,
- /* key: 0x937e */ 0x3e61,
- /* key: 0x937f */ 0xe523,
- /* key: 0x9380 */ 0xe524,
- /* key: 0x9381 */ 0xe525,
- /* key: 0x9382 */ 0xe526,
- /* key: 0x9383 */ 0xffff,
- /* key: 0x9384 */ 0xffff,
- /* key: 0x9385 */ 0xffff,
- /* key: 0x9386 */ 0xffff,
- /* key: 0x9387 */ 0xffff,
- /* key: 0x9388 */ 0xe527,
- /* key: 0x9389 */ 0xffff,
- /* key: 0x938a */ 0xe528,
- /* key: 0x938b */ 0xe529,
- /* key: 0x938c */ 0x3379,
- /* key: 0x938d */ 0xe52a,
- /* key: 0x938e */ 0xffff,
- /* key: 0x938f */ 0xe52b,
- /* key: 0x9390 */ 0xffff,
- /* key: 0x9391 */ 0xffff,
- /* key: 0x9392 */ 0xe52c,
- /* key: 0x9393 */ 0xffff,
- /* key: 0x9394 */ 0x6f30,
- /* key: 0x9395 */ 0xe52d,
- /* key: 0x9396 */ 0x3a3f,
- /* key: 0x9397 */ 0x4179,
- /* key: 0x9398 */ 0xe52e,
- /* key: 0x9399 */ 0xffff,
- /* key: 0x939a */ 0x444a,
- /* key: 0x939b */ 0xe52f,
- /* key: 0x939c */ 0xffff,
- /* key: 0x939d */ 0xffff,
- /* key: 0x939e */ 0xe530,
- /* key: 0x939f */ 0xffff,
- /* key: 0x93a0 */ 0xffff,
- /* key: 0x93a1 */ 0xe531,
- /* key: 0x93a2 */ 0xffff,
- /* key: 0x93a3 */ 0xe532,
- /* key: 0x93a4 */ 0xe533,
- /* key: 0x93a5 */ 0xffff,
- /* key: 0x93a6 */ 0xe534,
- /* key: 0x93a7 */ 0x333b,
- /* key: 0x93a8 */ 0xe535,
- /* key: 0x93a9 */ 0xe53b,
- /* key: 0x93aa */ 0xffff,
- /* key: 0x93ab */ 0xe536,
- /* key: 0x93ac */ 0x6f2e,
- /* key: 0x93ad */ 0x6f2f,
- /* key: 0x93ae */ 0x4443,
- /* key: 0x93af */ 0xffff,
- /* key: 0x93b0 */ 0x6f2d,
- /* key: 0x93b1 */ 0xffff,
- /* key: 0x93b2 */ 0xffff,
- /* key: 0x93b3 */ 0xffff,
- /* key: 0x93b4 */ 0xe537,
- /* key: 0x93b5 */ 0xe538,
- /* key: 0x93b6 */ 0xe539,
- /* key: 0x93b7 */ 0xffff,
- /* key: 0x93b8 */ 0xffff,
- /* key: 0x93b9 */ 0x6f31,
- /* key: 0x93ba */ 0xe53a,
- /* key: 0x93bb */ 0xffff,
- /* key: 0x93bc */ 0xffff,
- /* key: 0x93bd */ 0xffff,
- /* key: 0x93be */ 0xffff,
- /* key: 0x93bf */ 0xffff,
- /* key: 0x93c0 */ 0xffff,
- /* key: 0x93c1 */ 0xe53c,
- /* key: 0x93c2 */ 0xffff,
- /* key: 0x93c3 */ 0x6f37,
- /* key: 0x93c4 */ 0xe53d,
- /* key: 0x93c5 */ 0xe53e,
- /* key: 0x93c6 */ 0xe53f,
- /* key: 0x93c7 */ 0xe540,
- /* key: 0x93c8 */ 0x6f3a,
- /* key: 0x93c9 */ 0xe541,
- /* key: 0x93ca */ 0xe542,
- /* key: 0x93cb */ 0xe543,
- /* key: 0x93cc */ 0xe544,
- /* key: 0x93cd */ 0xe545,
- /* key: 0x93ce */ 0xffff,
- /* key: 0x93cf */ 0xffff,
- /* key: 0x93d0 */ 0x6f39,
- /* key: 0x93d1 */ 0x452d,
- /* key: 0x93d2 */ 0xffff,
- /* key: 0x93d3 */ 0xe546,
- /* key: 0x93d4 */ 0xffff,
- /* key: 0x93d5 */ 0xffff,
- /* key: 0x93d6 */ 0x6f32,
- /* key: 0x93d7 */ 0x6f33,
- /* key: 0x93d8 */ 0x6f36,
- /* key: 0x93d9 */ 0xe547,
- /* key: 0x93da */ 0xffff,
- /* key: 0x93db */ 0xffff,
- /* key: 0x93dc */ 0xe548,
- /* key: 0x93dd */ 0x6f38,
- /* key: 0x93de */ 0xe549,
- /* key: 0x93df */ 0xe54a,
- /* key: 0x93e0 */ 0xffff,
- /* key: 0x93e1 */ 0x3640,
- /* key: 0x93e2 */ 0xe54b,
- /* key: 0x93e3 */ 0xffff,
- /* key: 0x93e4 */ 0x6f3b,
- /* key: 0x93e5 */ 0x6f35,
- /* key: 0x93e6 */ 0xe54c,
- /* key: 0x93e7 */ 0xe54d,
- /* key: 0x93e8 */ 0x6f34,
- /* key: 0x93e9 */ 0xffff,
- /* key: 0x93ea */ 0xffff,
- /* key: 0x93eb */ 0xffff,
- /* key: 0x93ec */ 0xffff,
- /* key: 0x93ed */ 0xffff,
- /* key: 0x93ee */ 0xffff,
- /* key: 0x93ef */ 0xffff,
- /* key: 0x93f0 */ 0xffff,
- /* key: 0x93f1 */ 0xffff,
- /* key: 0x93f2 */ 0xffff,
- /* key: 0x93f3 */ 0xffff,
- /* key: 0x93f4 */ 0xffff,
- /* key: 0x93f5 */ 0xffff,
- /* key: 0x93f6 */ 0xffff,
- /* key: 0x93f7 */ 0xe54f,
- /* key: 0x93f8 */ 0xe550,
- /* key: 0x93f9 */ 0xe54e,
- /* key: 0x93fa */ 0xe551,
- /* key: 0x93fb */ 0xe552,
- /* key: 0x93fc */ 0xffff,
- /* key: 0x93fd */ 0xe553,
- /* key: 0x93fe */ 0xffff,
- /* key: 0x93ff */ 0xffff,
- /* branch: 0x940X */ 20304,
- /* branch: 0x941X */ 20320,
- /* branch: 0x942X */ 20336,
- /* branch: 0x943X */ 20352,
- /* branch: 0x944X */ 20368,
- /* branch: 0x945X */ 20384,
- /* branch: 0x946X */ 20400,
- /* branch: 0x947X */ 20416,
- /* branch: 0x948X */ 20432,
- /* branch: 0x949X */ 0,
- /* branch: 0x94aX */ 0,
- /* branch: 0x94bX */ 0,
- /* branch: 0x94cX */ 0,
- /* branch: 0x94dX */ 0,
- /* branch: 0x94eX */ 0,
- /* branch: 0x94fX */ 0,
- /* key: 0x9400 */ 0xffff,
- /* key: 0x9401 */ 0xe554,
- /* key: 0x9402 */ 0xe555,
- /* key: 0x9403 */ 0x6f3f,
- /* key: 0x9404 */ 0xe556,
- /* key: 0x9405 */ 0xffff,
- /* key: 0x9406 */ 0xffff,
- /* key: 0x9407 */ 0x6f40,
- /* key: 0x9408 */ 0xe557,
- /* key: 0x9409 */ 0xe558,
- /* key: 0x940a */ 0xffff,
- /* key: 0x940b */ 0xffff,
- /* key: 0x940c */ 0xffff,
- /* key: 0x940d */ 0xe559,
- /* key: 0x940e */ 0xe55a,
- /* key: 0x940f */ 0xe55b,
- /* key: 0x9410 */ 0x6f41,
- /* key: 0x9411 */ 0xffff,
- /* key: 0x9412 */ 0xffff,
- /* key: 0x9413 */ 0x6f3e,
- /* key: 0x9414 */ 0x6f3d,
- /* key: 0x9415 */ 0xe55c,
- /* key: 0x9416 */ 0xe55d,
- /* key: 0x9417 */ 0xe55e,
- /* key: 0x9418 */ 0x3e62,
- /* key: 0x9419 */ 0x462a,
- /* key: 0x941a */ 0x6f3c,
- /* key: 0x941b */ 0xffff,
- /* key: 0x941c */ 0xffff,
- /* key: 0x941d */ 0xffff,
- /* key: 0x941e */ 0xffff,
- /* key: 0x941f */ 0xe55f,
- /* key: 0x9420 */ 0xffff,
- /* key: 0x9421 */ 0x6f45,
- /* key: 0x9422 */ 0xffff,
- /* key: 0x9423 */ 0xffff,
- /* key: 0x9424 */ 0xffff,
- /* key: 0x9425 */ 0xffff,
- /* key: 0x9426 */ 0xffff,
- /* key: 0x9427 */ 0xffff,
- /* key: 0x9428 */ 0xffff,
- /* key: 0x9429 */ 0xffff,
- /* key: 0x942a */ 0xffff,
- /* key: 0x942b */ 0x6f43,
- /* key: 0x942c */ 0xffff,
- /* key: 0x942d */ 0xffff,
- /* key: 0x942e */ 0xe560,
- /* key: 0x942f */ 0xe561,
- /* key: 0x9430 */ 0xffff,
- /* key: 0x9431 */ 0xe562,
- /* key: 0x9432 */ 0xe563,
- /* key: 0x9433 */ 0xe564,
- /* key: 0x9434 */ 0xe565,
- /* key: 0x9435 */ 0x6f44,
- /* key: 0x9436 */ 0x6f42,
- /* key: 0x9437 */ 0xffff,
- /* key: 0x9438 */ 0x4278,
- /* key: 0x9439 */ 0xffff,
- /* key: 0x943a */ 0x6f46,
- /* key: 0x943b */ 0xe566,
- /* key: 0x943c */ 0xffff,
- /* key: 0x943d */ 0xe568,
- /* key: 0x943e */ 0xffff,
- /* key: 0x943f */ 0xe567,
- /* key: 0x9440 */ 0xffff,
- /* key: 0x9441 */ 0x6f47,
- /* key: 0x9442 */ 0xffff,
- /* key: 0x9443 */ 0xe569,
- /* key: 0x9444 */ 0x6f49,
- /* key: 0x9445 */ 0xe56a,
- /* key: 0x9446 */ 0xffff,
- /* key: 0x9447 */ 0xffff,
- /* key: 0x9448 */ 0xe56b,
- /* key: 0x9449 */ 0xffff,
- /* key: 0x944a */ 0xe56c,
- /* key: 0x944b */ 0xffff,
- /* key: 0x944c */ 0xe56d,
- /* key: 0x944d */ 0xffff,
- /* key: 0x944e */ 0xffff,
- /* key: 0x944f */ 0xffff,
- /* key: 0x9450 */ 0xffff,
- /* key: 0x9451 */ 0x3455,
- /* key: 0x9452 */ 0x6f48,
- /* key: 0x9453 */ 0x4c7a,
- /* key: 0x9454 */ 0xffff,
- /* key: 0x9455 */ 0xe56e,
- /* key: 0x9456 */ 0xffff,
- /* key: 0x9457 */ 0xffff,
- /* key: 0x9458 */ 0xffff,
- /* key: 0x9459 */ 0xe56f,
- /* key: 0x945a */ 0x6f54,
- /* key: 0x945b */ 0x6f4a,
- /* key: 0x945c */ 0xe570,
- /* key: 0x945d */ 0xffff,
- /* key: 0x945e */ 0x6f4d,
- /* key: 0x945f */ 0xe571,
- /* key: 0x9460 */ 0x6f4b,
- /* key: 0x9461 */ 0xe572,
- /* key: 0x9462 */ 0x6f4c,
- /* key: 0x9463 */ 0xe573,
- /* key: 0x9464 */ 0xffff,
- /* key: 0x9465 */ 0xffff,
- /* key: 0x9466 */ 0xffff,
- /* key: 0x9467 */ 0xffff,
- /* key: 0x9468 */ 0xe574,
- /* key: 0x9469 */ 0xffff,
- /* key: 0x946a */ 0x6f4e,
- /* key: 0x946b */ 0xe575,
- /* key: 0x946c */ 0xffff,
- /* key: 0x946d */ 0xe576,
- /* key: 0x946e */ 0xe577,
- /* key: 0x946f */ 0xe578,
- /* key: 0x9470 */ 0x6f50,
- /* key: 0x9471 */ 0xe579,
- /* key: 0x9472 */ 0xe57a,
- /* key: 0x9473 */ 0xffff,
- /* key: 0x9474 */ 0xffff,
- /* key: 0x9475 */ 0x6f51,
- /* key: 0x9476 */ 0xffff,
- /* key: 0x9477 */ 0x6f52,
- /* key: 0x9478 */ 0xffff,
- /* key: 0x9479 */ 0xffff,
- /* key: 0x947a */ 0xffff,
- /* key: 0x947b */ 0xffff,
- /* key: 0x947c */ 0x6f55,
- /* key: 0x947d */ 0x6f53,
- /* key: 0x947e */ 0x6f56,
- /* key: 0x947f */ 0x6f58,
- /* key: 0x9480 */ 0xffff,
- /* key: 0x9481 */ 0x6f57,
- /* key: 0x9482 */ 0xffff,
- /* key: 0x9483 */ 0xe57c,
- /* key: 0x9484 */ 0xe57b,
- /* key: 0x9485 */ 0xffff,
- /* key: 0x9486 */ 0xffff,
- /* key: 0x9487 */ 0xffff,
- /* key: 0x9488 */ 0xffff,
- /* key: 0x9489 */ 0xffff,
- /* key: 0x948a */ 0xffff,
- /* key: 0x948b */ 0xffff,
- /* key: 0x948c */ 0xffff,
- /* key: 0x948d */ 0xffff,
- /* key: 0x948e */ 0xffff,
- /* key: 0x948f */ 0xffff,
- /* branch: 0x950X */ 0,
- /* branch: 0x951X */ 0,
- /* branch: 0x952X */ 0,
- /* branch: 0x953X */ 0,
- /* branch: 0x954X */ 0,
- /* branch: 0x955X */ 0,
- /* branch: 0x956X */ 0,
- /* branch: 0x957X */ 20464,
- /* branch: 0x958X */ 20480,
- /* branch: 0x959X */ 20496,
- /* branch: 0x95aX */ 20512,
- /* branch: 0x95bX */ 20528,
- /* branch: 0x95cX */ 20544,
- /* branch: 0x95dX */ 20560,
- /* branch: 0x95eX */ 20576,
- /* branch: 0x95fX */ 0,
- /* key: 0x9570 */ 0xffff,
- /* key: 0x9571 */ 0xffff,
- /* key: 0x9572 */ 0xffff,
- /* key: 0x9573 */ 0xffff,
- /* key: 0x9574 */ 0xffff,
- /* key: 0x9575 */ 0xffff,
- /* key: 0x9576 */ 0xffff,
- /* key: 0x9577 */ 0x4439,
- /* key: 0x9578 */ 0xe57d,
- /* key: 0x9579 */ 0xe57e,
- /* key: 0x957a */ 0xffff,
- /* key: 0x957b */ 0xffff,
- /* key: 0x957c */ 0xffff,
- /* key: 0x957d */ 0xffff,
- /* key: 0x957e */ 0xe621,
- /* key: 0x957f */ 0xffff,
- /* key: 0x9580 */ 0x4c67,
- /* key: 0x9581 */ 0xffff,
- /* key: 0x9582 */ 0x6f59,
- /* key: 0x9583 */ 0x412e,
- /* key: 0x9584 */ 0xe622,
- /* key: 0x9585 */ 0xffff,
- /* key: 0x9586 */ 0xffff,
- /* key: 0x9587 */ 0x6f5a,
- /* key: 0x9588 */ 0xe623,
- /* key: 0x9589 */ 0x4a44,
- /* key: 0x958a */ 0x6f5b,
- /* key: 0x958b */ 0x332b,
- /* key: 0x958c */ 0xe624,
- /* key: 0x958d */ 0xe625,
- /* key: 0x958e */ 0xe626,
- /* key: 0x958f */ 0x313c,
- /* key: 0x9590 */ 0xffff,
- /* key: 0x9591 */ 0x3457,
- /* key: 0x9592 */ 0xffff,
- /* key: 0x9593 */ 0x3456,
- /* key: 0x9594 */ 0x6f5c,
- /* key: 0x9595 */ 0xffff,
- /* key: 0x9596 */ 0x6f5d,
- /* key: 0x9597 */ 0xffff,
- /* key: 0x9598 */ 0x6f5e,
- /* key: 0x9599 */ 0x6f5f,
- /* key: 0x959a */ 0xffff,
- /* key: 0x959b */ 0xffff,
- /* key: 0x959c */ 0xffff,
- /* key: 0x959d */ 0xe627,
- /* key: 0x959e */ 0xe628,
- /* key: 0x959f */ 0xe629,
- /* key: 0x95a0 */ 0x6f60,
- /* key: 0x95a1 */ 0xe62a,
- /* key: 0x95a2 */ 0x3458,
- /* key: 0x95a3 */ 0x3355,
- /* key: 0x95a4 */ 0x395e,
- /* key: 0x95a5 */ 0x4836,
- /* key: 0x95a6 */ 0xe62b,
- /* key: 0x95a7 */ 0x6f62,
- /* key: 0x95a8 */ 0x6f61,
- /* key: 0x95a9 */ 0xe62c,
- /* key: 0x95aa */ 0xffff,
- /* key: 0x95ab */ 0xe62d,
- /* key: 0x95ac */ 0xe62e,
- /* key: 0x95ad */ 0x6f63,
- /* key: 0x95ae */ 0xffff,
- /* key: 0x95af */ 0xffff,
- /* key: 0x95b0 */ 0xffff,
- /* key: 0x95b1 */ 0xffff,
- /* key: 0x95b2 */ 0x315c,
- /* key: 0x95b3 */ 0xffff,
- /* key: 0x95b4 */ 0xe62f,
- /* key: 0x95b5 */ 0xffff,
- /* key: 0x95b6 */ 0xe630,
- /* key: 0x95b7 */ 0xffff,
- /* key: 0x95b8 */ 0xffff,
- /* key: 0x95b9 */ 0x6f66,
- /* key: 0x95ba */ 0xe631,
- /* key: 0x95bb */ 0x6f65,
- /* key: 0x95bc */ 0x6f64,
- /* key: 0x95bd */ 0xe632,
- /* key: 0x95be */ 0x6f67,
- /* key: 0x95bf */ 0xe633,
- /* key: 0x95c0 */ 0xffff,
- /* key: 0x95c1 */ 0xffff,
- /* key: 0x95c2 */ 0xffff,
- /* key: 0x95c3 */ 0x6f6a,
- /* key: 0x95c4 */ 0xffff,
- /* key: 0x95c5 */ 0xffff,
- /* key: 0x95c6 */ 0xe634,
- /* key: 0x95c7 */ 0x3047,
- /* key: 0x95c8 */ 0xe635,
- /* key: 0x95c9 */ 0xe636,
- /* key: 0x95ca */ 0x6f68,
- /* key: 0x95cb */ 0xe637,
- /* key: 0x95cc */ 0x6f6c,
- /* key: 0x95cd */ 0x6f6b,
- /* key: 0x95ce */ 0xffff,
- /* key: 0x95cf */ 0xffff,
- /* key: 0x95d0 */ 0xe638,
- /* key: 0x95d1 */ 0xe639,
- /* key: 0x95d2 */ 0xe63a,
- /* key: 0x95d3 */ 0xe63b,
- /* key: 0x95d4 */ 0x6f6e,
- /* key: 0x95d5 */ 0x6f6d,
- /* key: 0x95d6 */ 0x6f6f,
- /* key: 0x95d7 */ 0xffff,
- /* key: 0x95d8 */ 0x462e,
- /* key: 0x95d9 */ 0xe63c,
- /* key: 0x95da */ 0xe63d,
- /* key: 0x95db */ 0xffff,
- /* key: 0x95dc */ 0x6f70,
- /* key: 0x95dd */ 0xe63e,
- /* key: 0x95de */ 0xe63f,
- /* key: 0x95df */ 0xe640,
- /* key: 0x95e0 */ 0xe641,
- /* key: 0x95e1 */ 0x6f71,
- /* key: 0x95e2 */ 0x6f73,
- /* key: 0x95e3 */ 0xffff,
- /* key: 0x95e4 */ 0xe642,
- /* key: 0x95e5 */ 0x6f72,
- /* key: 0x95e6 */ 0xe643,
- /* key: 0x95e7 */ 0xffff,
- /* key: 0x95e8 */ 0xffff,
- /* key: 0x95e9 */ 0xffff,
- /* key: 0x95ea */ 0xffff,
- /* key: 0x95eb */ 0xffff,
- /* key: 0x95ec */ 0xffff,
- /* key: 0x95ed */ 0xffff,
- /* key: 0x95ee */ 0xffff,
- /* key: 0x95ef */ 0xffff,
- /* branch: 0x960X */ 0,
- /* branch: 0x961X */ 20608,
- /* branch: 0x962X */ 20624,
- /* branch: 0x963X */ 20640,
- /* branch: 0x964X */ 20656,
- /* branch: 0x965X */ 20672,
- /* branch: 0x966X */ 20688,
- /* branch: 0x967X */ 20704,
- /* branch: 0x968X */ 20720,
- /* branch: 0x969X */ 20736,
- /* branch: 0x96aX */ 20752,
- /* branch: 0x96bX */ 20768,
- /* branch: 0x96cX */ 20784,
- /* branch: 0x96dX */ 20800,
- /* branch: 0x96eX */ 20816,
- /* branch: 0x96fX */ 20832,
- /* key: 0x9610 */ 0xffff,
- /* key: 0x9611 */ 0xffff,
- /* key: 0x9612 */ 0xffff,
- /* key: 0x9613 */ 0xffff,
- /* key: 0x9614 */ 0xffff,
- /* key: 0x9615 */ 0xffff,
- /* key: 0x9616 */ 0xffff,
- /* key: 0x9617 */ 0xffff,
- /* key: 0x9618 */ 0xffff,
- /* key: 0x9619 */ 0xffff,
- /* key: 0x961a */ 0xffff,
- /* key: 0x961b */ 0xffff,
- /* key: 0x961c */ 0x496c,
- /* key: 0x961d */ 0xe644,
- /* key: 0x961e */ 0xe645,
- /* key: 0x961f */ 0xffff,
- /* key: 0x9620 */ 0xffff,
- /* key: 0x9621 */ 0x6f74,
- /* key: 0x9622 */ 0xe646,
- /* key: 0x9623 */ 0xffff,
- /* key: 0x9624 */ 0xe647,
- /* key: 0x9625 */ 0xe648,
- /* key: 0x9626 */ 0xe649,
- /* key: 0x9627 */ 0xffff,
- /* key: 0x9628 */ 0x6f75,
- /* key: 0x9629 */ 0xffff,
- /* key: 0x962a */ 0x3a65,
- /* key: 0x962b */ 0xffff,
- /* key: 0x962c */ 0xe64a,
- /* key: 0x962d */ 0xffff,
- /* key: 0x962e */ 0x6f76,
- /* key: 0x962f */ 0x6f77,
- /* key: 0x9630 */ 0xffff,
- /* key: 0x9631 */ 0xe64b,
- /* key: 0x9632 */ 0x4b49,
- /* key: 0x9633 */ 0xe64c,
- /* key: 0x9634 */ 0xffff,
- /* key: 0x9635 */ 0xffff,
- /* key: 0x9636 */ 0xffff,
- /* key: 0x9637 */ 0xe64d,
- /* key: 0x9638 */ 0xe64e,
- /* key: 0x9639 */ 0xe64f,
- /* key: 0x963a */ 0xe650,
- /* key: 0x963b */ 0x414b,
- /* key: 0x963c */ 0xe651,
- /* key: 0x963d */ 0xe652,
- /* key: 0x963e */ 0xffff,
- /* key: 0x963f */ 0x3024,
- /* key: 0x9640 */ 0x424b,
- /* key: 0x9641 */ 0xe653,
- /* key: 0x9642 */ 0x6f78,
- /* key: 0x9643 */ 0xffff,
- /* key: 0x9644 */ 0x496d,
- /* key: 0x9645 */ 0xffff,
- /* key: 0x9646 */ 0xffff,
- /* key: 0x9647 */ 0xffff,
- /* key: 0x9648 */ 0xffff,
- /* key: 0x9649 */ 0xffff,
- /* key: 0x964a */ 0xffff,
- /* key: 0x964b */ 0x6f7b,
- /* key: 0x964c */ 0x6f79,
- /* key: 0x964d */ 0x395f,
- /* key: 0x964e */ 0xffff,
- /* key: 0x964f */ 0x6f7a,
- /* key: 0x9650 */ 0x3842,
- /* key: 0x9651 */ 0xffff,
- /* key: 0x9652 */ 0xe654,
- /* key: 0x9653 */ 0xffff,
- /* key: 0x9654 */ 0xe655,
- /* key: 0x9655 */ 0xffff,
- /* key: 0x9656 */ 0xe656,
- /* key: 0x9657 */ 0xe657,
- /* key: 0x9658 */ 0xe658,
- /* key: 0x9659 */ 0xffff,
- /* key: 0x965a */ 0xffff,
- /* key: 0x965b */ 0x4a45,
- /* key: 0x965c */ 0x6f7d,
- /* key: 0x965d */ 0x7021,
- /* key: 0x965e */ 0x6f7e,
- /* key: 0x965f */ 0x7022,
- /* key: 0x9660 */ 0xffff,
- /* key: 0x9661 */ 0xe659,
- /* key: 0x9662 */ 0x3121,
- /* key: 0x9663 */ 0x3f58,
- /* key: 0x9664 */ 0x3d7c,
- /* key: 0x9665 */ 0x3459,
- /* key: 0x9666 */ 0x7023,
- /* key: 0x9667 */ 0xffff,
- /* key: 0x9668 */ 0xffff,
- /* key: 0x9669 */ 0xffff,
- /* key: 0x966a */ 0x4766,
- /* key: 0x966b */ 0xffff,
- /* key: 0x966c */ 0x7025,
- /* key: 0x966d */ 0xffff,
- /* key: 0x966e */ 0xe65a,
- /* key: 0x966f */ 0xffff,
- /* key: 0x9670 */ 0x3122,
- /* key: 0x9671 */ 0xffff,
- /* key: 0x9672 */ 0x7024,
- /* key: 0x9673 */ 0x4444,
- /* key: 0x9674 */ 0xe65b,
- /* key: 0x9675 */ 0x4e4d,
- /* key: 0x9676 */ 0x462b,
- /* key: 0x9677 */ 0x6f7c,
- /* key: 0x9678 */ 0x4e26,
- /* key: 0x9679 */ 0xffff,
- /* key: 0x967a */ 0x3831,
- /* key: 0x967b */ 0xe65c,
- /* key: 0x967c */ 0xe65d,
- /* key: 0x967d */ 0x4d5b,
- /* key: 0x967e */ 0xe65e,
- /* key: 0x967f */ 0xe65f,
- /* key: 0x9680 */ 0xffff,
- /* key: 0x9681 */ 0xe660,
- /* key: 0x9682 */ 0xe661,
- /* key: 0x9683 */ 0xe662,
- /* key: 0x9684 */ 0xe663,
- /* key: 0x9685 */ 0x3679,
- /* key: 0x9686 */ 0x4e34,
- /* key: 0x9687 */ 0xffff,
- /* key: 0x9688 */ 0x3728,
- /* key: 0x9689 */ 0xe664,
- /* key: 0x968a */ 0x4262,
- /* key: 0x968b */ 0x6721,
- /* key: 0x968c */ 0xffff,
- /* key: 0x968d */ 0x7026,
- /* key: 0x968e */ 0x332c,
- /* key: 0x968f */ 0x3f6f,
- /* key: 0x9690 */ 0xffff,
- /* key: 0x9691 */ 0xe665,
- /* key: 0x9692 */ 0xffff,
- /* key: 0x9693 */ 0xffff,
- /* key: 0x9694 */ 0x3356,
- /* key: 0x9695 */ 0x7028,
- /* key: 0x9696 */ 0xe666,
- /* key: 0x9697 */ 0x7029,
- /* key: 0x9698 */ 0x7027,
- /* key: 0x9699 */ 0x3764,
- /* key: 0x969a */ 0xe667,
- /* key: 0x969b */ 0x3a5d,
- /* key: 0x969c */ 0x3e63,
- /* key: 0x969d */ 0xe668,
- /* key: 0x969e */ 0xffff,
- /* key: 0x969f */ 0xe669,
- /* key: 0x96a0 */ 0x3123,
- /* key: 0x96a1 */ 0xffff,
- /* key: 0x96a2 */ 0xffff,
- /* key: 0x96a3 */ 0x4e59,
- /* key: 0x96a4 */ 0xe66a,
- /* key: 0x96a5 */ 0xe66b,
- /* key: 0x96a6 */ 0xe66c,
- /* key: 0x96a7 */ 0x702b,
- /* key: 0x96a8 */ 0x6e2e,
- /* key: 0x96a9 */ 0xe66d,
- /* key: 0x96aa */ 0x702a,
- /* key: 0x96ab */ 0xffff,
- /* key: 0x96ac */ 0xffff,
- /* key: 0x96ad */ 0xffff,
- /* key: 0x96ae */ 0xe66e,
- /* key: 0x96af */ 0xe66f,
- /* key: 0x96b0 */ 0x702e,
- /* key: 0x96b1 */ 0x702c,
- /* key: 0x96b2 */ 0x702d,
- /* key: 0x96b3 */ 0xe670,
- /* key: 0x96b4 */ 0x702f,
- /* key: 0x96b5 */ 0xffff,
- /* key: 0x96b6 */ 0x7030,
- /* key: 0x96b7 */ 0x4e6c,
- /* key: 0x96b8 */ 0x7031,
- /* key: 0x96b9 */ 0x7032,
- /* key: 0x96ba */ 0xe671,
- /* key: 0x96bb */ 0x4049,
- /* key: 0x96bc */ 0x483b,
- /* key: 0x96bd */ 0xffff,
- /* key: 0x96be */ 0xffff,
- /* key: 0x96bf */ 0xffff,
- /* key: 0x96c0 */ 0x3f7d,
- /* key: 0x96c1 */ 0x3467,
- /* key: 0x96c2 */ 0xffff,
- /* key: 0x96c3 */ 0xffff,
- /* key: 0x96c4 */ 0x4d3a,
- /* key: 0x96c5 */ 0x326d,
- /* key: 0x96c6 */ 0x3d38,
- /* key: 0x96c7 */ 0x385b,
- /* key: 0x96c8 */ 0xffff,
- /* key: 0x96c9 */ 0x7035,
- /* key: 0x96ca */ 0xe672,
- /* key: 0x96cb */ 0x7034,
- /* key: 0x96cc */ 0x3b73,
- /* key: 0x96cd */ 0x7036,
- /* key: 0x96ce */ 0x7033,
- /* key: 0x96cf */ 0xffff,
- /* key: 0x96d0 */ 0xffff,
- /* key: 0x96d1 */ 0x3b28,
- /* key: 0x96d2 */ 0xe673,
- /* key: 0x96d3 */ 0xffff,
- /* key: 0x96d4 */ 0xffff,
- /* key: 0x96d5 */ 0x703a,
- /* key: 0x96d6 */ 0x6a2d,
- /* key: 0x96d7 */ 0xffff,
- /* key: 0x96d8 */ 0xe675,
- /* key: 0x96d9 */ 0x5256,
- /* key: 0x96da */ 0xe676,
- /* key: 0x96db */ 0x3f77,
- /* key: 0x96dc */ 0x7038,
- /* key: 0x96dd */ 0xe677,
- /* key: 0x96de */ 0xe678,
- /* key: 0x96df */ 0xe679,
- /* key: 0x96e0 */ 0xffff,
- /* key: 0x96e1 */ 0xffff,
- /* key: 0x96e2 */ 0x4e25,
- /* key: 0x96e3 */ 0x4671,
- /* key: 0x96e4 */ 0xffff,
- /* key: 0x96e5 */ 0xffff,
- /* key: 0x96e6 */ 0xffff,
- /* key: 0x96e7 */ 0xffff,
- /* key: 0x96e8 */ 0x312b,
- /* key: 0x96e9 */ 0xe67a,
- /* key: 0x96ea */ 0x4063,
- /* key: 0x96eb */ 0x3c36,
- /* key: 0x96ec */ 0xffff,
- /* key: 0x96ed */ 0xffff,
- /* key: 0x96ee */ 0xffff,
- /* key: 0x96ef */ 0xe67b,
- /* key: 0x96f0 */ 0x4a37,
- /* key: 0x96f1 */ 0xe67c,
- /* key: 0x96f2 */ 0x3140,
- /* key: 0x96f3 */ 0xffff,
- /* key: 0x96f4 */ 0xffff,
- /* key: 0x96f5 */ 0xffff,
- /* key: 0x96f6 */ 0x4e6d,
- /* key: 0x96f7 */ 0x4d6b,
- /* key: 0x96f8 */ 0xffff,
- /* key: 0x96f9 */ 0x703b,
- /* key: 0x96fa */ 0xe67d,
- /* key: 0x96fb */ 0x4545,
- /* key: 0x96fc */ 0xffff,
- /* key: 0x96fd */ 0xffff,
- /* key: 0x96fe */ 0xffff,
- /* key: 0x96ff */ 0xffff,
- /* branch: 0x970X */ 20864,
- /* branch: 0x971X */ 20880,
- /* branch: 0x972X */ 20896,
- /* branch: 0x973X */ 20912,
- /* branch: 0x974X */ 20928,
- /* branch: 0x975X */ 20944,
- /* branch: 0x976X */ 20960,
- /* branch: 0x977X */ 20976,
- /* branch: 0x978X */ 20992,
- /* branch: 0x979X */ 21008,
- /* branch: 0x97aX */ 21024,
- /* branch: 0x97bX */ 21040,
- /* branch: 0x97cX */ 21056,
- /* branch: 0x97dX */ 21072,
- /* branch: 0x97eX */ 21088,
- /* branch: 0x97fX */ 21104,
- /* key: 0x9700 */ 0x3c7b,
- /* key: 0x9701 */ 0xffff,
- /* key: 0x9702 */ 0xe67e,
- /* key: 0x9703 */ 0xe721,
- /* key: 0x9704 */ 0x703c,
- /* key: 0x9705 */ 0xe722,
- /* key: 0x9706 */ 0x703d,
- /* key: 0x9707 */ 0x3f4c,
- /* key: 0x9708 */ 0x703e,
- /* key: 0x9709 */ 0xe723,
- /* key: 0x970a */ 0x4e6e,
- /* key: 0x970b */ 0xffff,
- /* key: 0x970c */ 0xffff,
- /* key: 0x970d */ 0x7039,
- /* key: 0x970e */ 0x7040,
- /* key: 0x970f */ 0x7042,
- /* key: 0x9710 */ 0xffff,
- /* key: 0x9711 */ 0x7041,
- /* key: 0x9712 */ 0xffff,
- /* key: 0x9713 */ 0x703f,
- /* key: 0x9714 */ 0xffff,
- /* key: 0x9715 */ 0xffff,
- /* key: 0x9716 */ 0x7043,
- /* key: 0x9717 */ 0xffff,
- /* key: 0x9718 */ 0xffff,
- /* key: 0x9719 */ 0x7044,
- /* key: 0x971a */ 0xe724,
- /* key: 0x971b */ 0xe725,
- /* key: 0x971c */ 0x417a,
- /* key: 0x971d */ 0xe726,
- /* key: 0x971e */ 0x3262,
- /* key: 0x971f */ 0xffff,
- /* key: 0x9720 */ 0xffff,
- /* key: 0x9721 */ 0xe727,
- /* key: 0x9722 */ 0xe728,
- /* key: 0x9723 */ 0xe729,
- /* key: 0x9724 */ 0x7045,
- /* key: 0x9725 */ 0xffff,
- /* key: 0x9726 */ 0xffff,
- /* key: 0x9727 */ 0x4c38,
- /* key: 0x9728 */ 0xe72a,
- /* key: 0x9729 */ 0xffff,
- /* key: 0x972a */ 0x7046,
- /* key: 0x972b */ 0xffff,
- /* key: 0x972c */ 0xffff,
- /* key: 0x972d */ 0xffff,
- /* key: 0x972e */ 0xffff,
- /* key: 0x972f */ 0xffff,
- /* key: 0x9730 */ 0x7047,
- /* key: 0x9731 */ 0xe72b,
- /* key: 0x9732 */ 0x4f2a,
- /* key: 0x9733 */ 0xe72c,
- /* key: 0x9734 */ 0xffff,
- /* key: 0x9735 */ 0xffff,
- /* key: 0x9736 */ 0xffff,
- /* key: 0x9737 */ 0xffff,
- /* key: 0x9738 */ 0x5b31,
- /* key: 0x9739 */ 0x7048,
- /* key: 0x973a */ 0xffff,
- /* key: 0x973b */ 0xffff,
- /* key: 0x973c */ 0xffff,
- /* key: 0x973d */ 0x7049,
- /* key: 0x973e */ 0x704a,
- /* key: 0x973f */ 0xffff,
- /* key: 0x9740 */ 0xffff,
- /* key: 0x9741 */ 0xe72d,
- /* key: 0x9742 */ 0x704e,
- /* key: 0x9743 */ 0xe72e,
- /* key: 0x9744 */ 0x704b,
- /* key: 0x9745 */ 0xffff,
- /* key: 0x9746 */ 0x704c,
- /* key: 0x9747 */ 0xffff,
- /* key: 0x9748 */ 0x704d,
- /* key: 0x9749 */ 0x704f,
- /* key: 0x974a */ 0xe72f,
- /* key: 0x974b */ 0xffff,
- /* key: 0x974c */ 0xffff,
- /* key: 0x974d */ 0xffff,
- /* key: 0x974e */ 0xe730,
- /* key: 0x974f */ 0xe731,
- /* key: 0x9750 */ 0xffff,
- /* key: 0x9751 */ 0xffff,
- /* key: 0x9752 */ 0x4044,
- /* key: 0x9753 */ 0xffff,
- /* key: 0x9754 */ 0xffff,
- /* key: 0x9755 */ 0xe732,
- /* key: 0x9756 */ 0x4c77,
- /* key: 0x9757 */ 0xe733,
- /* key: 0x9758 */ 0xe734,
- /* key: 0x9759 */ 0x4045,
- /* key: 0x975a */ 0xe735,
- /* key: 0x975b */ 0xe736,
- /* key: 0x975c */ 0x7050,
- /* key: 0x975d */ 0xffff,
- /* key: 0x975e */ 0x4873,
- /* key: 0x975f */ 0xffff,
- /* key: 0x9760 */ 0x7051,
- /* key: 0x9761 */ 0x7353,
- /* key: 0x9762 */ 0x4c4c,
- /* key: 0x9763 */ 0xe737,
- /* key: 0x9764 */ 0x7052,
- /* key: 0x9765 */ 0xffff,
- /* key: 0x9766 */ 0x7053,
- /* key: 0x9767 */ 0xe738,
- /* key: 0x9768 */ 0x7054,
- /* key: 0x9769 */ 0x3357,
- /* key: 0x976a */ 0xe739,
- /* key: 0x976b */ 0x7056,
- /* key: 0x976c */ 0xffff,
- /* key: 0x976d */ 0x3f59,
- /* key: 0x976e */ 0xe73a,
- /* key: 0x976f */ 0xffff,
- /* key: 0x9770 */ 0xffff,
- /* key: 0x9771 */ 0x7057,
- /* key: 0x9772 */ 0xffff,
- /* key: 0x9773 */ 0xe73b,
- /* key: 0x9774 */ 0x3724,
- /* key: 0x9775 */ 0xffff,
- /* key: 0x9776 */ 0xe73c,
- /* key: 0x9777 */ 0xe73d,
- /* key: 0x9778 */ 0xe73e,
- /* key: 0x9779 */ 0x7058,
- /* key: 0x977a */ 0x705c,
- /* key: 0x977b */ 0xe73f,
- /* key: 0x977c */ 0x705a,
- /* key: 0x977d */ 0xe740,
- /* key: 0x977e */ 0xffff,
- /* key: 0x977f */ 0xe741,
- /* key: 0x9780 */ 0xe742,
- /* key: 0x9781 */ 0x705b,
- /* key: 0x9782 */ 0xffff,
- /* key: 0x9783 */ 0xffff,
- /* key: 0x9784 */ 0x3373,
- /* key: 0x9785 */ 0x7059,
- /* key: 0x9786 */ 0x705d,
- /* key: 0x9787 */ 0xffff,
- /* key: 0x9788 */ 0xffff,
- /* key: 0x9789 */ 0xe743,
- /* key: 0x978a */ 0xffff,
- /* key: 0x978b */ 0x705e,
- /* key: 0x978c */ 0xffff,
- /* key: 0x978d */ 0x3048,
- /* key: 0x978e */ 0xffff,
- /* key: 0x978f */ 0x705f,
- /* key: 0x9790 */ 0x7060,
- /* key: 0x9791 */ 0xffff,
- /* key: 0x9792 */ 0xffff,
- /* key: 0x9793 */ 0xffff,
- /* key: 0x9794 */ 0xffff,
- /* key: 0x9795 */ 0xe744,
- /* key: 0x9796 */ 0xe745,
- /* key: 0x9797 */ 0xe746,
- /* key: 0x9798 */ 0x3e64,
- /* key: 0x9799 */ 0xe747,
- /* key: 0x979a */ 0xe748,
- /* key: 0x979b */ 0xffff,
- /* key: 0x979c */ 0x7061,
- /* key: 0x979d */ 0xffff,
- /* key: 0x979e */ 0xe749,
- /* key: 0x979f */ 0xe74a,
- /* key: 0x97a0 */ 0x3547,
- /* key: 0x97a1 */ 0xffff,
- /* key: 0x97a2 */ 0xe74b,
- /* key: 0x97a3 */ 0x7064,
- /* key: 0x97a4 */ 0xffff,
- /* key: 0x97a5 */ 0xffff,
- /* key: 0x97a6 */ 0x7063,
- /* key: 0x97a7 */ 0xffff,
- /* key: 0x97a8 */ 0x7062,
- /* key: 0x97a9 */ 0xffff,
- /* key: 0x97aa */ 0xffff,
- /* key: 0x97ab */ 0x6b71,
- /* key: 0x97ac */ 0xe74c,
- /* key: 0x97ad */ 0x4a5c,
- /* key: 0x97ae */ 0xe74d,
- /* key: 0x97af */ 0xffff,
- /* key: 0x97b0 */ 0xffff,
- /* key: 0x97b1 */ 0xe74e,
- /* key: 0x97b2 */ 0xe74f,
- /* key: 0x97b3 */ 0x7065,
- /* key: 0x97b4 */ 0x7066,
- /* key: 0x97b5 */ 0xe750,
- /* key: 0x97b6 */ 0xe751,
- /* key: 0x97b7 */ 0xffff,
- /* key: 0x97b8 */ 0xe752,
- /* key: 0x97b9 */ 0xe753,
- /* key: 0x97ba */ 0xe754,
- /* key: 0x97bb */ 0xffff,
- /* key: 0x97bc */ 0xe755,
- /* key: 0x97bd */ 0xffff,
- /* key: 0x97be */ 0xe756,
- /* key: 0x97bf */ 0xe757,
- /* key: 0x97c0 */ 0xffff,
- /* key: 0x97c1 */ 0xe758,
- /* key: 0x97c2 */ 0xffff,
- /* key: 0x97c3 */ 0x7067,
- /* key: 0x97c4 */ 0xe759,
- /* key: 0x97c5 */ 0xe75a,
- /* key: 0x97c6 */ 0x7068,
- /* key: 0x97c7 */ 0xe75b,
- /* key: 0x97c8 */ 0x7069,
- /* key: 0x97c9 */ 0xe75c,
- /* key: 0x97ca */ 0xe75d,
- /* key: 0x97cb */ 0x706a,
- /* key: 0x97cc */ 0xe75e,
- /* key: 0x97cd */ 0xe75f,
- /* key: 0x97ce */ 0xe760,
- /* key: 0x97cf */ 0xffff,
- /* key: 0x97d0 */ 0xe761,
- /* key: 0x97d1 */ 0xe762,
- /* key: 0x97d2 */ 0xffff,
- /* key: 0x97d3 */ 0x345a,
- /* key: 0x97d4 */ 0xe763,
- /* key: 0x97d5 */ 0xffff,
- /* key: 0x97d6 */ 0xffff,
- /* key: 0x97d7 */ 0xe764,
- /* key: 0x97d8 */ 0xe765,
- /* key: 0x97d9 */ 0xe766,
- /* key: 0x97da */ 0xffff,
- /* key: 0x97db */ 0xe76a,
- /* key: 0x97dc */ 0x706b,
- /* key: 0x97dd */ 0xe767,
- /* key: 0x97de */ 0xe768,
- /* key: 0x97df */ 0xffff,
- /* key: 0x97e0 */ 0xe769,
- /* key: 0x97e1 */ 0xe76b,
- /* key: 0x97e2 */ 0xffff,
- /* key: 0x97e3 */ 0xffff,
- /* key: 0x97e4 */ 0xe76c,
- /* key: 0x97e5 */ 0xffff,
- /* key: 0x97e6 */ 0xffff,
- /* key: 0x97e7 */ 0xffff,
- /* key: 0x97e8 */ 0xffff,
- /* key: 0x97e9 */ 0xffff,
- /* key: 0x97ea */ 0xffff,
- /* key: 0x97eb */ 0xffff,
- /* key: 0x97ec */ 0xffff,
- /* key: 0x97ed */ 0x706c,
- /* key: 0x97ee */ 0x4723,
- /* key: 0x97ef */ 0xe76d,
- /* key: 0x97f0 */ 0xffff,
- /* key: 0x97f1 */ 0xe76e,
- /* key: 0x97f2 */ 0x706e,
- /* key: 0x97f3 */ 0x323b,
- /* key: 0x97f4 */ 0xe76f,
- /* key: 0x97f5 */ 0x7071,
- /* key: 0x97f6 */ 0x7070,
- /* key: 0x97f7 */ 0xe770,
- /* key: 0x97f8 */ 0xe771,
- /* key: 0x97f9 */ 0xffff,
- /* key: 0x97fa */ 0xe772,
- /* key: 0x97fb */ 0x3124,
- /* key: 0x97fc */ 0xffff,
- /* key: 0x97fd */ 0xffff,
- /* key: 0x97fe */ 0xffff,
- /* key: 0x97ff */ 0x3641,
- /* branch: 0x980X */ 21136,
- /* branch: 0x981X */ 21152,
- /* branch: 0x982X */ 21168,
- /* branch: 0x983X */ 21184,
- /* branch: 0x984X */ 21200,
- /* branch: 0x985X */ 21216,
- /* branch: 0x986X */ 21232,
- /* branch: 0x987X */ 21248,
- /* branch: 0x988X */ 0,
- /* branch: 0x989X */ 0,
- /* branch: 0x98aX */ 21264,
- /* branch: 0x98bX */ 21280,
- /* branch: 0x98cX */ 21296,
- /* branch: 0x98dX */ 21312,
- /* branch: 0x98eX */ 21328,
- /* branch: 0x98fX */ 21344,
- /* key: 0x9800 */ 0xffff,
- /* key: 0x9801 */ 0x4a47,
- /* key: 0x9802 */ 0x443a,
- /* key: 0x9803 */ 0x3a22,
- /* key: 0x9804 */ 0xffff,
- /* key: 0x9805 */ 0x3960,
- /* key: 0x9806 */ 0x3d67,
- /* key: 0x9807 */ 0xe773,
- /* key: 0x9808 */ 0x3f5c,
- /* key: 0x9809 */ 0xffff,
- /* key: 0x980a */ 0xe774,
- /* key: 0x980b */ 0xffff,
- /* key: 0x980c */ 0x7073,
- /* key: 0x980d */ 0xe776,
- /* key: 0x980e */ 0xe777,
- /* key: 0x980f */ 0x7072,
- /* key: 0x9810 */ 0x4d42,
- /* key: 0x9811 */ 0x3468,
- /* key: 0x9812 */ 0x4852,
- /* key: 0x9813 */ 0x465c,
- /* key: 0x9814 */ 0xe778,
- /* key: 0x9815 */ 0xffff,
- /* key: 0x9816 */ 0xe779,
- /* key: 0x9817 */ 0x3f7c,
- /* key: 0x9818 */ 0x4e4e,
- /* key: 0x9819 */ 0xe775,
- /* key: 0x981a */ 0x375b,
- /* key: 0x981b */ 0xffff,
- /* key: 0x981c */ 0xe77a,
- /* key: 0x981d */ 0xffff,
- /* key: 0x981e */ 0xe77b,
- /* key: 0x981f */ 0xffff,
- /* key: 0x9820 */ 0xe77c,
- /* key: 0x9821 */ 0x7076,
- /* key: 0x9822 */ 0xffff,
- /* key: 0x9823 */ 0xe77d,
- /* key: 0x9824 */ 0x7075,
- /* key: 0x9825 */ 0xe828,
- /* key: 0x9826 */ 0xe77e,
- /* key: 0x9827 */ 0xffff,
- /* key: 0x9828 */ 0xffff,
- /* key: 0x9829 */ 0xffff,
- /* key: 0x982a */ 0xffff,
- /* key: 0x982b */ 0xe821,
- /* key: 0x982c */ 0x4b4b,
- /* key: 0x982d */ 0x462c,
- /* key: 0x982e */ 0xe822,
- /* key: 0x982f */ 0xe823,
- /* key: 0x9830 */ 0xe824,
- /* key: 0x9831 */ 0xffff,
- /* key: 0x9832 */ 0xe825,
- /* key: 0x9833 */ 0xe826,
- /* key: 0x9834 */ 0x3150,
- /* key: 0x9835 */ 0xe827,
- /* key: 0x9836 */ 0xffff,
- /* key: 0x9837 */ 0x7077,
- /* key: 0x9838 */ 0x7074,
- /* key: 0x9839 */ 0xffff,
- /* key: 0x983a */ 0xffff,
- /* key: 0x983b */ 0x4951,
- /* key: 0x983c */ 0x4d6a,
- /* key: 0x983d */ 0x7078,
- /* key: 0x983e */ 0xe829,
- /* key: 0x983f */ 0xffff,
- /* key: 0x9840 */ 0xffff,
- /* key: 0x9841 */ 0xffff,
- /* key: 0x9842 */ 0xffff,
- /* key: 0x9843 */ 0xffff,
- /* key: 0x9844 */ 0xe82a,
- /* key: 0x9845 */ 0xffff,
- /* key: 0x9846 */ 0x7079,
- /* key: 0x9847 */ 0xe82b,
- /* key: 0x9848 */ 0xffff,
- /* key: 0x9849 */ 0xffff,
- /* key: 0x984a */ 0xe82c,
- /* key: 0x984b */ 0x707b,
- /* key: 0x984c */ 0x426a,
- /* key: 0x984d */ 0x335b,
- /* key: 0x984e */ 0x335c,
- /* key: 0x984f */ 0x707a,
- /* key: 0x9850 */ 0xffff,
- /* key: 0x9851 */ 0xe82d,
- /* key: 0x9852 */ 0xe82e,
- /* key: 0x9853 */ 0xe82f,
- /* key: 0x9854 */ 0x3469,
- /* key: 0x9855 */ 0x3832,
- /* key: 0x9856 */ 0xe830,
- /* key: 0x9857 */ 0xe831,
- /* key: 0x9858 */ 0x346a,
- /* key: 0x9859 */ 0xe832,
- /* key: 0x985a */ 0xe833,
- /* key: 0x985b */ 0x453f,
- /* key: 0x985c */ 0xffff,
- /* key: 0x985d */ 0xffff,
- /* key: 0x985e */ 0x4e60,
- /* key: 0x985f */ 0xffff,
- /* key: 0x9860 */ 0xffff,
- /* key: 0x9861 */ 0xffff,
- /* key: 0x9862 */ 0xe834,
- /* key: 0x9863 */ 0xe835,
- /* key: 0x9864 */ 0xffff,
- /* key: 0x9865 */ 0xe836,
- /* key: 0x9866 */ 0xe837,
- /* key: 0x9867 */ 0x385c,
- /* key: 0x9868 */ 0xffff,
- /* key: 0x9869 */ 0xffff,
- /* key: 0x986a */ 0xe838,
- /* key: 0x986b */ 0x707c,
- /* key: 0x986c */ 0xe839,
- /* key: 0x986d */ 0xffff,
- /* key: 0x986e */ 0xffff,
- /* key: 0x986f */ 0x707d,
- /* key: 0x9870 */ 0x707e,
- /* key: 0x9871 */ 0x7121,
- /* key: 0x9872 */ 0xffff,
- /* key: 0x9873 */ 0x7123,
- /* key: 0x9874 */ 0x7122,
- /* key: 0x9875 */ 0xffff,
- /* key: 0x9876 */ 0xffff,
- /* key: 0x9877 */ 0xffff,
- /* key: 0x9878 */ 0xffff,
- /* key: 0x9879 */ 0xffff,
- /* key: 0x987a */ 0xffff,
- /* key: 0x987b */ 0xffff,
- /* key: 0x987c */ 0xffff,
- /* key: 0x987d */ 0xffff,
- /* key: 0x987e */ 0xffff,
- /* key: 0x987f */ 0xffff,
- /* key: 0x98a0 */ 0xffff,
- /* key: 0x98a1 */ 0xffff,
- /* key: 0x98a2 */ 0xffff,
- /* key: 0x98a3 */ 0xffff,
- /* key: 0x98a4 */ 0xffff,
- /* key: 0x98a5 */ 0xffff,
- /* key: 0x98a6 */ 0xffff,
- /* key: 0x98a7 */ 0xffff,
- /* key: 0x98a8 */ 0x4977,
- /* key: 0x98a9 */ 0xffff,
- /* key: 0x98aa */ 0x7124,
- /* key: 0x98ab */ 0xe83a,
- /* key: 0x98ac */ 0xffff,
- /* key: 0x98ad */ 0xe83b,
- /* key: 0x98ae */ 0xe83c,
- /* key: 0x98af */ 0x7125,
- /* key: 0x98b0 */ 0xe83d,
- /* key: 0x98b1 */ 0x7126,
- /* key: 0x98b2 */ 0xffff,
- /* key: 0x98b3 */ 0xffff,
- /* key: 0x98b4 */ 0xe83e,
- /* key: 0x98b5 */ 0xffff,
- /* key: 0x98b6 */ 0x7127,
- /* key: 0x98b7 */ 0xe83f,
- /* key: 0x98b8 */ 0xe840,
- /* key: 0x98b9 */ 0xffff,
- /* key: 0x98ba */ 0xe841,
- /* key: 0x98bb */ 0xe842,
- /* key: 0x98bc */ 0xffff,
- /* key: 0x98bd */ 0xffff,
- /* key: 0x98be */ 0xffff,
- /* key: 0x98bf */ 0xe843,
- /* key: 0x98c0 */ 0xffff,
- /* key: 0x98c1 */ 0xffff,
- /* key: 0x98c2 */ 0xe844,
- /* key: 0x98c3 */ 0x7129,
- /* key: 0x98c4 */ 0x7128,
- /* key: 0x98c5 */ 0xe845,
- /* key: 0x98c6 */ 0x712a,
- /* key: 0x98c7 */ 0xffff,
- /* key: 0x98c8 */ 0xe846,
- /* key: 0x98c9 */ 0xffff,
- /* key: 0x98ca */ 0xffff,
- /* key: 0x98cb */ 0xffff,
- /* key: 0x98cc */ 0xe847,
- /* key: 0x98cd */ 0xffff,
- /* key: 0x98ce */ 0xffff,
- /* key: 0x98cf */ 0xffff,
- /* key: 0x98d0 */ 0xffff,
- /* key: 0x98d1 */ 0xffff,
- /* key: 0x98d2 */ 0xffff,
- /* key: 0x98d3 */ 0xffff,
- /* key: 0x98d4 */ 0xffff,
- /* key: 0x98d5 */ 0xffff,
- /* key: 0x98d6 */ 0xffff,
- /* key: 0x98d7 */ 0xffff,
- /* key: 0x98d8 */ 0xffff,
- /* key: 0x98d9 */ 0xffff,
- /* key: 0x98da */ 0xffff,
- /* key: 0x98db */ 0x4874,
- /* key: 0x98dc */ 0x664c,
- /* key: 0x98dd */ 0xffff,
- /* key: 0x98de */ 0xffff,
- /* key: 0x98df */ 0x3f29,
- /* key: 0x98e0 */ 0xffff,
- /* key: 0x98e1 */ 0xe848,
- /* key: 0x98e2 */ 0x3532,
- /* key: 0x98e3 */ 0xe849,
- /* key: 0x98e4 */ 0xffff,
- /* key: 0x98e5 */ 0xe84a,
- /* key: 0x98e6 */ 0xe84b,
- /* key: 0x98e7 */ 0xe84c,
- /* key: 0x98e8 */ 0xffff,
- /* key: 0x98e9 */ 0x712b,
- /* key: 0x98ea */ 0xe84d,
- /* key: 0x98eb */ 0x712c,
- /* key: 0x98ec */ 0xffff,
- /* key: 0x98ed */ 0x522c,
- /* key: 0x98ee */ 0x5d3b,
- /* key: 0x98ef */ 0x4853,
- /* key: 0x98f0 */ 0xffff,
- /* key: 0x98f1 */ 0xffff,
- /* key: 0x98f2 */ 0x307b,
- /* key: 0x98f3 */ 0xe84e,
- /* key: 0x98f4 */ 0x303b,
- /* key: 0x98f5 */ 0xffff,
- /* key: 0x98f6 */ 0xe84f,
- /* key: 0x98f7 */ 0xffff,
- /* key: 0x98f8 */ 0xffff,
- /* key: 0x98f9 */ 0xffff,
- /* key: 0x98fa */ 0xffff,
- /* key: 0x98fb */ 0xffff,
- /* key: 0x98fc */ 0x3b74,
- /* key: 0x98fd */ 0x4b30,
- /* key: 0x98fe */ 0x3e7e,
- /* key: 0x98ff */ 0xffff,
- /* branch: 0x990X */ 21376,
- /* branch: 0x991X */ 21392,
- /* branch: 0x992X */ 21408,
- /* branch: 0x993X */ 21424,
- /* branch: 0x994X */ 21440,
- /* branch: 0x995X */ 21456,
- /* branch: 0x996X */ 21472,
- /* branch: 0x997X */ 0,
- /* branch: 0x998X */ 0,
- /* branch: 0x999X */ 21488,
- /* branch: 0x99aX */ 21504,
- /* branch: 0x99bX */ 21520,
- /* branch: 0x99cX */ 21536,
- /* branch: 0x99dX */ 21552,
- /* branch: 0x99eX */ 21568,
- /* branch: 0x99fX */ 21584,
- /* key: 0x9900 */ 0xffff,
- /* key: 0x9901 */ 0xffff,
- /* key: 0x9902 */ 0xe850,
- /* key: 0x9903 */ 0x712d,
- /* key: 0x9904 */ 0xffff,
- /* key: 0x9905 */ 0x4c5f,
- /* key: 0x9906 */ 0xffff,
- /* key: 0x9907 */ 0xe851,
- /* key: 0x9908 */ 0xe852,
- /* key: 0x9909 */ 0x712e,
- /* key: 0x990a */ 0x4d5c,
- /* key: 0x990b */ 0xffff,
- /* key: 0x990c */ 0x3142,
- /* key: 0x990d */ 0xffff,
- /* key: 0x990e */ 0xffff,
- /* key: 0x990f */ 0xffff,
- /* key: 0x9910 */ 0x3b41,
- /* key: 0x9911 */ 0xe853,
- /* key: 0x9912 */ 0x712f,
- /* key: 0x9913 */ 0x326e,
- /* key: 0x9914 */ 0x7130,
- /* key: 0x9915 */ 0xe854,
- /* key: 0x9916 */ 0xe855,
- /* key: 0x9917 */ 0xe856,
- /* key: 0x9918 */ 0x7131,
- /* key: 0x9919 */ 0xffff,
- /* key: 0x991a */ 0xe857,
- /* key: 0x991b */ 0xe858,
- /* key: 0x991c */ 0xe859,
- /* key: 0x991d */ 0x7133,
- /* key: 0x991e */ 0x7134,
- /* key: 0x991f */ 0xe85a,
- /* key: 0x9920 */ 0x7136,
- /* key: 0x9921 */ 0x7132,
- /* key: 0x9922 */ 0xe85b,
- /* key: 0x9923 */ 0xffff,
- /* key: 0x9924 */ 0x7135,
- /* key: 0x9925 */ 0xffff,
- /* key: 0x9926 */ 0xe85c,
- /* key: 0x9927 */ 0xe85d,
- /* key: 0x9928 */ 0x345b,
- /* key: 0x9929 */ 0xffff,
- /* key: 0x992a */ 0xffff,
- /* key: 0x992b */ 0xe85e,
- /* key: 0x992c */ 0x7137,
- /* key: 0x992d */ 0xffff,
- /* key: 0x992e */ 0x7138,
- /* key: 0x992f */ 0xffff,
- /* key: 0x9930 */ 0xffff,
- /* key: 0x9931 */ 0xe85f,
- /* key: 0x9932 */ 0xe860,
- /* key: 0x9933 */ 0xe861,
- /* key: 0x9934 */ 0xe862,
- /* key: 0x9935 */ 0xe863,
- /* key: 0x9936 */ 0xffff,
- /* key: 0x9937 */ 0xffff,
- /* key: 0x9938 */ 0xffff,
- /* key: 0x9939 */ 0xe864,
- /* key: 0x993a */ 0xe865,
- /* key: 0x993b */ 0xe866,
- /* key: 0x993c */ 0xe867,
- /* key: 0x993d */ 0x7139,
- /* key: 0x993e */ 0x713a,
- /* key: 0x993f */ 0xffff,
- /* key: 0x9940 */ 0xe868,
- /* key: 0x9941 */ 0xe869,
- /* key: 0x9942 */ 0x713b,
- /* key: 0x9943 */ 0xffff,
- /* key: 0x9944 */ 0xffff,
- /* key: 0x9945 */ 0x713d,
- /* key: 0x9946 */ 0xe86a,
- /* key: 0x9947 */ 0xe86b,
- /* key: 0x9948 */ 0xe86c,
- /* key: 0x9949 */ 0x713c,
- /* key: 0x994a */ 0xffff,
- /* key: 0x994b */ 0x713f,
- /* key: 0x994c */ 0x7142,
- /* key: 0x994d */ 0xe86d,
- /* key: 0x994e */ 0xe86e,
- /* key: 0x994f */ 0xffff,
- /* key: 0x9950 */ 0x713e,
- /* key: 0x9951 */ 0x7140,
- /* key: 0x9952 */ 0x7141,
- /* key: 0x9953 */ 0xffff,
- /* key: 0x9954 */ 0xe86f,
- /* key: 0x9955 */ 0x7143,
- /* key: 0x9956 */ 0xffff,
- /* key: 0x9957 */ 0x3642,
- /* key: 0x9958 */ 0xe870,
- /* key: 0x9959 */ 0xe871,
- /* key: 0x995a */ 0xffff,
- /* key: 0x995b */ 0xe872,
- /* key: 0x995c */ 0xe873,
- /* key: 0x995d */ 0xffff,
- /* key: 0x995e */ 0xe874,
- /* key: 0x995f */ 0xe875,
- /* key: 0x9960 */ 0xe876,
- /* key: 0x9961 */ 0xffff,
- /* key: 0x9962 */ 0xffff,
- /* key: 0x9963 */ 0xffff,
- /* key: 0x9964 */ 0xffff,
- /* key: 0x9965 */ 0xffff,
- /* key: 0x9966 */ 0xffff,
- /* key: 0x9967 */ 0xffff,
- /* key: 0x9968 */ 0xffff,
- /* key: 0x9969 */ 0xffff,
- /* key: 0x996a */ 0xffff,
- /* key: 0x996b */ 0xffff,
- /* key: 0x996c */ 0xffff,
- /* key: 0x996d */ 0xffff,
- /* key: 0x996e */ 0xffff,
- /* key: 0x996f */ 0xffff,
- /* key: 0x9990 */ 0xffff,
- /* key: 0x9991 */ 0xffff,
- /* key: 0x9992 */ 0xffff,
- /* key: 0x9993 */ 0xffff,
- /* key: 0x9994 */ 0xffff,
- /* key: 0x9995 */ 0xffff,
- /* key: 0x9996 */ 0x3c73,
- /* key: 0x9997 */ 0x7144,
- /* key: 0x9998 */ 0x7145,
- /* key: 0x9999 */ 0x3961,
- /* key: 0x999a */ 0xffff,
- /* key: 0x999b */ 0xe877,
- /* key: 0x999c */ 0xffff,
- /* key: 0x999d */ 0xe878,
- /* key: 0x999e */ 0xffff,
- /* key: 0x999f */ 0xe879,
- /* key: 0x99a0 */ 0xffff,
- /* key: 0x99a1 */ 0xffff,
- /* key: 0x99a2 */ 0xffff,
- /* key: 0x99a3 */ 0xffff,
- /* key: 0x99a4 */ 0xffff,
- /* key: 0x99a5 */ 0x7146,
- /* key: 0x99a6 */ 0xe87a,
- /* key: 0x99a7 */ 0xffff,
- /* key: 0x99a8 */ 0x333e,
- /* key: 0x99a9 */ 0xffff,
- /* key: 0x99aa */ 0xffff,
- /* key: 0x99ab */ 0xffff,
- /* key: 0x99ac */ 0x474f,
- /* key: 0x99ad */ 0x7147,
- /* key: 0x99ae */ 0x7148,
- /* key: 0x99af */ 0xffff,
- /* key: 0x99b0 */ 0xe87b,
- /* key: 0x99b1 */ 0xe87c,
- /* key: 0x99b2 */ 0xe87d,
- /* key: 0x99b3 */ 0x435a,
- /* key: 0x99b4 */ 0x466b,
- /* key: 0x99b5 */ 0xe87e,
- /* key: 0x99b6 */ 0xffff,
- /* key: 0x99b7 */ 0xffff,
- /* key: 0x99b8 */ 0xffff,
- /* key: 0x99b9 */ 0xe921,
- /* key: 0x99ba */ 0xe922,
- /* key: 0x99bb */ 0xffff,
- /* key: 0x99bc */ 0x7149,
- /* key: 0x99bd */ 0xe923,
- /* key: 0x99be */ 0xffff,
- /* key: 0x99bf */ 0xe924,
- /* key: 0x99c0 */ 0xffff,
- /* key: 0x99c1 */ 0x477d,
- /* key: 0x99c2 */ 0xffff,
- /* key: 0x99c3 */ 0xe925,
- /* key: 0x99c4 */ 0x424c,
- /* key: 0x99c5 */ 0x3158,
- /* key: 0x99c6 */ 0x366e,
- /* key: 0x99c7 */ 0xffff,
- /* key: 0x99c8 */ 0x366f,
- /* key: 0x99c9 */ 0xe926,
- /* key: 0x99ca */ 0xffff,
- /* key: 0x99cb */ 0xffff,
- /* key: 0x99cc */ 0xffff,
- /* key: 0x99cd */ 0xffff,
- /* key: 0x99ce */ 0xffff,
- /* key: 0x99cf */ 0xffff,
- /* key: 0x99d0 */ 0x4373,
- /* key: 0x99d1 */ 0x714e,
- /* key: 0x99d2 */ 0x3670,
- /* key: 0x99d3 */ 0xe927,
- /* key: 0x99d4 */ 0xe928,
- /* key: 0x99d5 */ 0x326f,
- /* key: 0x99d6 */ 0xffff,
- /* key: 0x99d7 */ 0xffff,
- /* key: 0x99d8 */ 0x714d,
- /* key: 0x99d9 */ 0xe929,
- /* key: 0x99da */ 0xe92a,
- /* key: 0x99db */ 0x714b,
- /* key: 0x99dc */ 0xe92b,
- /* key: 0x99dd */ 0x714c,
- /* key: 0x99de */ 0xe92c,
- /* key: 0x99df */ 0x714a,
- /* key: 0x99e0 */ 0xffff,
- /* key: 0x99e1 */ 0xffff,
- /* key: 0x99e2 */ 0x7158,
- /* key: 0x99e3 */ 0xffff,
- /* key: 0x99e4 */ 0xffff,
- /* key: 0x99e5 */ 0xffff,
- /* key: 0x99e6 */ 0xffff,
- /* key: 0x99e7 */ 0xe92d,
- /* key: 0x99e8 */ 0xffff,
- /* key: 0x99e9 */ 0xffff,
- /* key: 0x99ea */ 0xe92e,
- /* key: 0x99eb */ 0xe92f,
- /* key: 0x99ec */ 0xe930,
- /* key: 0x99ed */ 0x714f,
- /* key: 0x99ee */ 0x7150,
- /* key: 0x99ef */ 0xffff,
- /* key: 0x99f0 */ 0xe931,
- /* key: 0x99f1 */ 0x7151,
- /* key: 0x99f2 */ 0x7152,
- /* key: 0x99f3 */ 0xffff,
- /* key: 0x99f4 */ 0xe932,
- /* key: 0x99f5 */ 0xe933,
- /* key: 0x99f6 */ 0xffff,
- /* key: 0x99f7 */ 0xffff,
- /* key: 0x99f8 */ 0x7154,
- /* key: 0x99f9 */ 0xe934,
- /* key: 0x99fa */ 0xffff,
- /* key: 0x99fb */ 0x7153,
- /* key: 0x99fc */ 0xffff,
- /* key: 0x99fd */ 0xe935,
- /* key: 0x99fe */ 0xe936,
- /* key: 0x99ff */ 0x3d59,
- /* branch: 0x9a0X */ 21616,
- /* branch: 0x9a1X */ 21632,
- /* branch: 0x9a2X */ 21648,
- /* branch: 0x9a3X */ 21664,
- /* branch: 0x9a4X */ 21680,
- /* branch: 0x9a5X */ 21696,
- /* branch: 0x9a6X */ 21712,
- /* branch: 0x9a7X */ 0,
- /* branch: 0x9a8X */ 0,
- /* branch: 0x9a9X */ 0,
- /* branch: 0x9aaX */ 21728,
- /* branch: 0x9abX */ 21744,
- /* branch: 0x9acX */ 21760,
- /* branch: 0x9adX */ 21776,
- /* branch: 0x9aeX */ 21792,
- /* branch: 0x9afX */ 21808,
- /* key: 0x9a00 */ 0xffff,
- /* key: 0x9a01 */ 0x7155,
- /* key: 0x9a02 */ 0xe937,
- /* key: 0x9a03 */ 0xe938,
- /* key: 0x9a04 */ 0xe939,
- /* key: 0x9a05 */ 0x7157,
- /* key: 0x9a06 */ 0xffff,
- /* key: 0x9a07 */ 0xffff,
- /* key: 0x9a08 */ 0xffff,
- /* key: 0x9a09 */ 0xffff,
- /* key: 0x9a0a */ 0xffff,
- /* key: 0x9a0b */ 0xe93a,
- /* key: 0x9a0c */ 0xe93b,
- /* key: 0x9a0d */ 0xffff,
- /* key: 0x9a0e */ 0x3533,
- /* key: 0x9a0f */ 0x7156,
- /* key: 0x9a10 */ 0xe93c,
- /* key: 0x9a11 */ 0xe93d,
- /* key: 0x9a12 */ 0x417b,
- /* key: 0x9a13 */ 0x3833,
- /* key: 0x9a14 */ 0xffff,
- /* key: 0x9a15 */ 0xffff,
- /* key: 0x9a16 */ 0xe93e,
- /* key: 0x9a17 */ 0xffff,
- /* key: 0x9a18 */ 0xffff,
- /* key: 0x9a19 */ 0x7159,
- /* key: 0x9a1a */ 0xffff,
- /* key: 0x9a1b */ 0xffff,
- /* key: 0x9a1c */ 0xffff,
- /* key: 0x9a1d */ 0xffff,
- /* key: 0x9a1e */ 0xe93f,
- /* key: 0x9a1f */ 0xffff,
- /* key: 0x9a20 */ 0xe940,
- /* key: 0x9a21 */ 0xffff,
- /* key: 0x9a22 */ 0xe941,
- /* key: 0x9a23 */ 0xe942,
- /* key: 0x9a24 */ 0xe943,
- /* key: 0x9a25 */ 0xffff,
- /* key: 0x9a26 */ 0xffff,
- /* key: 0x9a27 */ 0xe944,
- /* key: 0x9a28 */ 0x424d,
- /* key: 0x9a29 */ 0xffff,
- /* key: 0x9a2a */ 0xffff,
- /* key: 0x9a2b */ 0x715a,
- /* key: 0x9a2c */ 0xffff,
- /* key: 0x9a2d */ 0xe945,
- /* key: 0x9a2e */ 0xe946,
- /* key: 0x9a2f */ 0xffff,
- /* key: 0x9a30 */ 0x462d,
- /* key: 0x9a31 */ 0xffff,
- /* key: 0x9a32 */ 0xffff,
- /* key: 0x9a33 */ 0xe947,
- /* key: 0x9a34 */ 0xffff,
- /* key: 0x9a35 */ 0xe948,
- /* key: 0x9a36 */ 0xe949,
- /* key: 0x9a37 */ 0x715b,
- /* key: 0x9a38 */ 0xe94a,
- /* key: 0x9a39 */ 0xffff,
- /* key: 0x9a3a */ 0xffff,
- /* key: 0x9a3b */ 0xffff,
- /* key: 0x9a3c */ 0xffff,
- /* key: 0x9a3d */ 0xffff,
- /* key: 0x9a3e */ 0x7160,
- /* key: 0x9a3f */ 0xffff,
- /* key: 0x9a40 */ 0x715e,
- /* key: 0x9a41 */ 0xe94c,
- /* key: 0x9a42 */ 0x715d,
- /* key: 0x9a43 */ 0x715f,
- /* key: 0x9a44 */ 0xe94d,
- /* key: 0x9a45 */ 0x715c,
- /* key: 0x9a46 */ 0xffff,
- /* key: 0x9a47 */ 0xe94b,
- /* key: 0x9a48 */ 0xffff,
- /* key: 0x9a49 */ 0xffff,
- /* key: 0x9a4a */ 0xe94e,
- /* key: 0x9a4b */ 0xe94f,
- /* key: 0x9a4c */ 0xe950,
- /* key: 0x9a4d */ 0x7162,
- /* key: 0x9a4e */ 0xe951,
- /* key: 0x9a4f */ 0xffff,
- /* key: 0x9a50 */ 0xffff,
- /* key: 0x9a51 */ 0xe952,
- /* key: 0x9a52 */ 0xffff,
- /* key: 0x9a53 */ 0xffff,
- /* key: 0x9a54 */ 0xe953,
- /* key: 0x9a55 */ 0x7161,
- /* key: 0x9a56 */ 0xe954,
- /* key: 0x9a57 */ 0x7164,
- /* key: 0x9a58 */ 0xffff,
- /* key: 0x9a59 */ 0xffff,
- /* key: 0x9a5a */ 0x3643,
- /* key: 0x9a5b */ 0x7163,
- /* key: 0x9a5c */ 0xffff,
- /* key: 0x9a5d */ 0xe955,
- /* key: 0x9a5e */ 0xffff,
- /* key: 0x9a5f */ 0x7165,
- /* key: 0x9a60 */ 0xffff,
- /* key: 0x9a61 */ 0xffff,
- /* key: 0x9a62 */ 0x7166,
- /* key: 0x9a63 */ 0xffff,
- /* key: 0x9a64 */ 0x7168,
- /* key: 0x9a65 */ 0x7167,
- /* key: 0x9a66 */ 0xffff,
- /* key: 0x9a67 */ 0xffff,
- /* key: 0x9a68 */ 0xffff,
- /* key: 0x9a69 */ 0x7169,
- /* key: 0x9a6a */ 0x716b,
- /* key: 0x9a6b */ 0x716a,
- /* key: 0x9a6c */ 0xffff,
- /* key: 0x9a6d */ 0xffff,
- /* key: 0x9a6e */ 0xffff,
- /* key: 0x9a6f */ 0xffff,
- /* key: 0x9aa0 */ 0xffff,
- /* key: 0x9aa1 */ 0xffff,
- /* key: 0x9aa2 */ 0xffff,
- /* key: 0x9aa3 */ 0xffff,
- /* key: 0x9aa4 */ 0xffff,
- /* key: 0x9aa5 */ 0xffff,
- /* key: 0x9aa6 */ 0xffff,
- /* key: 0x9aa7 */ 0xffff,
- /* key: 0x9aa8 */ 0x397c,
- /* key: 0x9aa9 */ 0xffff,
- /* key: 0x9aaa */ 0xe956,
- /* key: 0x9aab */ 0xffff,
- /* key: 0x9aac */ 0xe957,
- /* key: 0x9aad */ 0x716c,
- /* key: 0x9aae */ 0xe958,
- /* key: 0x9aaf */ 0xe959,
- /* key: 0x9ab0 */ 0x716d,
- /* key: 0x9ab1 */ 0xffff,
- /* key: 0x9ab2 */ 0xe95a,
- /* key: 0x9ab3 */ 0xffff,
- /* key: 0x9ab4 */ 0xe95b,
- /* key: 0x9ab5 */ 0xe95c,
- /* key: 0x9ab6 */ 0xe95d,
- /* key: 0x9ab7 */ 0xffff,
- /* key: 0x9ab8 */ 0x333c,
- /* key: 0x9ab9 */ 0xe95e,
- /* key: 0x9aba */ 0xffff,
- /* key: 0x9abb */ 0xe95f,
- /* key: 0x9abc */ 0x716e,
- /* key: 0x9abd */ 0xffff,
- /* key: 0x9abe */ 0xe960,
- /* key: 0x9abf */ 0xe961,
- /* key: 0x9ac0 */ 0x716f,
- /* key: 0x9ac1 */ 0xe962,
- /* key: 0x9ac2 */ 0xffff,
- /* key: 0x9ac3 */ 0xe963,
- /* key: 0x9ac4 */ 0x3f71,
- /* key: 0x9ac5 */ 0xffff,
- /* key: 0x9ac6 */ 0xe964,
- /* key: 0x9ac7 */ 0xffff,
- /* key: 0x9ac8 */ 0xe965,
- /* key: 0x9ac9 */ 0xffff,
- /* key: 0x9aca */ 0xffff,
- /* key: 0x9acb */ 0xffff,
- /* key: 0x9acc */ 0xffff,
- /* key: 0x9acd */ 0xffff,
- /* key: 0x9ace */ 0xe966,
- /* key: 0x9acf */ 0x7170,
- /* key: 0x9ad0 */ 0xe967,
- /* key: 0x9ad1 */ 0x7171,
- /* key: 0x9ad2 */ 0xe968,
- /* key: 0x9ad3 */ 0x7172,
- /* key: 0x9ad4 */ 0x7173,
- /* key: 0x9ad5 */ 0xe969,
- /* key: 0x9ad6 */ 0xe96a,
- /* key: 0x9ad7 */ 0xe96b,
- /* key: 0x9ad8 */ 0x3962,
- /* key: 0x9ad9 */ 0xffff,
- /* key: 0x9ada */ 0xffff,
- /* key: 0x9adb */ 0xe96c,
- /* key: 0x9adc */ 0xe96d,
- /* key: 0x9add */ 0xffff,
- /* key: 0x9ade */ 0x7174,
- /* key: 0x9adf */ 0x7175,
- /* key: 0x9ae0 */ 0xe96e,
- /* key: 0x9ae1 */ 0xffff,
- /* key: 0x9ae2 */ 0x7176,
- /* key: 0x9ae3 */ 0x7177,
- /* key: 0x9ae4 */ 0xe96f,
- /* key: 0x9ae5 */ 0xe970,
- /* key: 0x9ae6 */ 0x7178,
- /* key: 0x9ae7 */ 0xe971,
- /* key: 0x9ae8 */ 0xffff,
- /* key: 0x9ae9 */ 0xe972,
- /* key: 0x9aea */ 0x4831,
- /* key: 0x9aeb */ 0x717a,
- /* key: 0x9aec */ 0xe973,
- /* key: 0x9aed */ 0x4926,
- /* key: 0x9aee */ 0x717b,
- /* key: 0x9aef */ 0x7179,
- /* key: 0x9af0 */ 0xffff,
- /* key: 0x9af1 */ 0x717d,
- /* key: 0x9af2 */ 0xe974,
- /* key: 0x9af3 */ 0xe975,
- /* key: 0x9af4 */ 0x717c,
- /* key: 0x9af5 */ 0xe976,
- /* key: 0x9af6 */ 0xffff,
- /* key: 0x9af7 */ 0x717e,
- /* key: 0x9af8 */ 0xffff,
- /* key: 0x9af9 */ 0xe977,
- /* key: 0x9afa */ 0xe978,
- /* key: 0x9afb */ 0x7221,
- /* key: 0x9afc */ 0xffff,
- /* key: 0x9afd */ 0xe979,
- /* key: 0x9afe */ 0xffff,
- /* key: 0x9aff */ 0xe97a,
- /* branch: 0x9b0X */ 21840,
- /* branch: 0x9b1X */ 21856,
- /* branch: 0x9b2X */ 21872,
- /* branch: 0x9b3X */ 21888,
- /* branch: 0x9b4X */ 21904,
- /* branch: 0x9b5X */ 21920,
- /* branch: 0x9b6X */ 21936,
- /* branch: 0x9b7X */ 21952,
- /* branch: 0x9b8X */ 21968,
- /* branch: 0x9b9X */ 21984,
- /* branch: 0x9baX */ 22000,
- /* branch: 0x9bbX */ 22016,
- /* branch: 0x9bcX */ 22032,
- /* branch: 0x9bdX */ 22048,
- /* branch: 0x9beX */ 22064,
- /* branch: 0x9bfX */ 22080,
- /* key: 0x9b00 */ 0xe97b,
- /* key: 0x9b01 */ 0xe97c,
- /* key: 0x9b02 */ 0xe97d,
- /* key: 0x9b03 */ 0xe97e,
- /* key: 0x9b04 */ 0xea21,
- /* key: 0x9b05 */ 0xea22,
- /* key: 0x9b06 */ 0x7222,
- /* key: 0x9b07 */ 0xffff,
- /* key: 0x9b08 */ 0xea23,
- /* key: 0x9b09 */ 0xea24,
- /* key: 0x9b0a */ 0xffff,
- /* key: 0x9b0b */ 0xea25,
- /* key: 0x9b0c */ 0xea26,
- /* key: 0x9b0d */ 0xea27,
- /* key: 0x9b0e */ 0xea28,
- /* key: 0x9b0f */ 0xffff,
- /* key: 0x9b10 */ 0xea29,
- /* key: 0x9b11 */ 0xffff,
- /* key: 0x9b12 */ 0xea2a,
- /* key: 0x9b13 */ 0xffff,
- /* key: 0x9b14 */ 0xffff,
- /* key: 0x9b15 */ 0xffff,
- /* key: 0x9b16 */ 0xea2b,
- /* key: 0x9b17 */ 0xffff,
- /* key: 0x9b18 */ 0x7223,
- /* key: 0x9b19 */ 0xea2c,
- /* key: 0x9b1a */ 0x7224,
- /* key: 0x9b1b */ 0xea2d,
- /* key: 0x9b1c */ 0xea2e,
- /* key: 0x9b1d */ 0xffff,
- /* key: 0x9b1e */ 0xffff,
- /* key: 0x9b1f */ 0x7225,
- /* key: 0x9b20 */ 0xea2f,
- /* key: 0x9b21 */ 0xffff,
- /* key: 0x9b22 */ 0x7226,
- /* key: 0x9b23 */ 0x7227,
- /* key: 0x9b24 */ 0xffff,
- /* key: 0x9b25 */ 0x7228,
- /* key: 0x9b26 */ 0xea30,
- /* key: 0x9b27 */ 0x7229,
- /* key: 0x9b28 */ 0x722a,
- /* key: 0x9b29 */ 0x722b,
- /* key: 0x9b2a */ 0x722c,
- /* key: 0x9b2b */ 0xea31,
- /* key: 0x9b2c */ 0xffff,
- /* key: 0x9b2d */ 0xea32,
- /* key: 0x9b2e */ 0x722d,
- /* key: 0x9b2f */ 0x722e,
- /* key: 0x9b30 */ 0xffff,
- /* key: 0x9b31 */ 0x5d35,
- /* key: 0x9b32 */ 0x722f,
- /* key: 0x9b33 */ 0xea33,
- /* key: 0x9b34 */ 0xea34,
- /* key: 0x9b35 */ 0xea35,
- /* key: 0x9b36 */ 0xffff,
- /* key: 0x9b37 */ 0xea36,
- /* key: 0x9b38 */ 0xffff,
- /* key: 0x9b39 */ 0xea37,
- /* key: 0x9b3a */ 0xea38,
- /* key: 0x9b3b */ 0x6478,
- /* key: 0x9b3c */ 0x3534,
- /* key: 0x9b3d */ 0xea39,
- /* key: 0x9b3e */ 0xffff,
- /* key: 0x9b3f */ 0xffff,
- /* key: 0x9b40 */ 0xffff,
- /* key: 0x9b41 */ 0x3321,
- /* key: 0x9b42 */ 0x3a32,
- /* key: 0x9b43 */ 0x7231,
- /* key: 0x9b44 */ 0x7230,
- /* key: 0x9b45 */ 0x4c25,
- /* key: 0x9b46 */ 0xffff,
- /* key: 0x9b47 */ 0xffff,
- /* key: 0x9b48 */ 0xea3a,
- /* key: 0x9b49 */ 0xffff,
- /* key: 0x9b4a */ 0xffff,
- /* key: 0x9b4b */ 0xea3b,
- /* key: 0x9b4c */ 0xea3c,
- /* key: 0x9b4d */ 0x7233,
- /* key: 0x9b4e */ 0x7234,
- /* key: 0x9b4f */ 0x7232,
- /* key: 0x9b50 */ 0xffff,
- /* key: 0x9b51 */ 0x7235,
- /* key: 0x9b52 */ 0xffff,
- /* key: 0x9b53 */ 0xffff,
- /* key: 0x9b54 */ 0x4b62,
- /* key: 0x9b55 */ 0xea3d,
- /* key: 0x9b56 */ 0xea3e,
- /* key: 0x9b57 */ 0xea3f,
- /* key: 0x9b58 */ 0x7236,
- /* key: 0x9b59 */ 0xffff,
- /* key: 0x9b5a */ 0x357b,
- /* key: 0x9b5b */ 0xea40,
- /* key: 0x9b5c */ 0xffff,
- /* key: 0x9b5d */ 0xffff,
- /* key: 0x9b5e */ 0xea41,
- /* key: 0x9b5f */ 0xffff,
- /* key: 0x9b60 */ 0xffff,
- /* key: 0x9b61 */ 0xea42,
- /* key: 0x9b62 */ 0xffff,
- /* key: 0x9b63 */ 0xea43,
- /* key: 0x9b64 */ 0xffff,
- /* key: 0x9b65 */ 0xea44,
- /* key: 0x9b66 */ 0xea45,
- /* key: 0x9b67 */ 0xffff,
- /* key: 0x9b68 */ 0xea46,
- /* key: 0x9b69 */ 0xffff,
- /* key: 0x9b6a */ 0xea47,
- /* key: 0x9b6b */ 0xea48,
- /* key: 0x9b6c */ 0xea49,
- /* key: 0x9b6d */ 0xea4a,
- /* key: 0x9b6e */ 0xea4b,
- /* key: 0x9b6f */ 0x4f25,
- /* key: 0x9b70 */ 0xffff,
- /* key: 0x9b71 */ 0xffff,
- /* key: 0x9b72 */ 0xffff,
- /* key: 0x9b73 */ 0xea4c,
- /* key: 0x9b74 */ 0x7237,
- /* key: 0x9b75 */ 0xea4d,
- /* key: 0x9b76 */ 0xffff,
- /* key: 0x9b77 */ 0xea4e,
- /* key: 0x9b78 */ 0xea4f,
- /* key: 0x9b79 */ 0xea50,
- /* key: 0x9b7a */ 0xffff,
- /* key: 0x9b7b */ 0xffff,
- /* key: 0x9b7c */ 0xffff,
- /* key: 0x9b7d */ 0xffff,
- /* key: 0x9b7e */ 0xffff,
- /* key: 0x9b7f */ 0xea51,
- /* key: 0x9b80 */ 0xea52,
- /* key: 0x9b81 */ 0xffff,
- /* key: 0x9b82 */ 0xffff,
- /* key: 0x9b83 */ 0x7239,
- /* key: 0x9b84 */ 0xea53,
- /* key: 0x9b85 */ 0xea54,
- /* key: 0x9b86 */ 0xea55,
- /* key: 0x9b87 */ 0xea56,
- /* key: 0x9b88 */ 0xffff,
- /* key: 0x9b89 */ 0xea57,
- /* key: 0x9b8a */ 0xea58,
- /* key: 0x9b8b */ 0xea59,
- /* key: 0x9b8c */ 0xffff,
- /* key: 0x9b8d */ 0xea5a,
- /* key: 0x9b8e */ 0x303e,
- /* key: 0x9b8f */ 0xea5b,
- /* key: 0x9b90 */ 0xea5c,
- /* key: 0x9b91 */ 0x723a,
- /* key: 0x9b92 */ 0x4a2b,
- /* key: 0x9b93 */ 0x7238,
- /* key: 0x9b94 */ 0xea5d,
- /* key: 0x9b95 */ 0xffff,
- /* key: 0x9b96 */ 0x723b,
- /* key: 0x9b97 */ 0x723c,
- /* key: 0x9b98 */ 0xffff,
- /* key: 0x9b99 */ 0xffff,
- /* key: 0x9b9a */ 0xea5e,
- /* key: 0x9b9b */ 0xffff,
- /* key: 0x9b9c */ 0xffff,
- /* key: 0x9b9d */ 0xea5f,
- /* key: 0x9b9e */ 0xea60,
- /* key: 0x9b9f */ 0x723d,
- /* key: 0x9ba0 */ 0x723e,
- /* key: 0x9ba1 */ 0xffff,
- /* key: 0x9ba2 */ 0xffff,
- /* key: 0x9ba3 */ 0xffff,
- /* key: 0x9ba4 */ 0xffff,
- /* key: 0x9ba5 */ 0xffff,
- /* key: 0x9ba6 */ 0xea61,
- /* key: 0x9ba7 */ 0xea62,
- /* key: 0x9ba8 */ 0x723f,
- /* key: 0x9ba9 */ 0xea63,
- /* key: 0x9baa */ 0x4b6e,
- /* key: 0x9bab */ 0x3b2d,
- /* key: 0x9bac */ 0xea64,
- /* key: 0x9bad */ 0x3a7a,
- /* key: 0x9bae */ 0x412f,
- /* key: 0x9baf */ 0xffff,
- /* key: 0x9bb0 */ 0xea65,
- /* key: 0x9bb1 */ 0xea66,
- /* key: 0x9bb2 */ 0xea67,
- /* key: 0x9bb3 */ 0xffff,
- /* key: 0x9bb4 */ 0x7240,
- /* key: 0x9bb5 */ 0xffff,
- /* key: 0x9bb6 */ 0xffff,
- /* key: 0x9bb7 */ 0xea68,
- /* key: 0x9bb8 */ 0xea69,
- /* key: 0x9bb9 */ 0x7243,
- /* key: 0x9bba */ 0xffff,
- /* key: 0x9bbb */ 0xea6a,
- /* key: 0x9bbc */ 0xea6b,
- /* key: 0x9bbd */ 0xffff,
- /* key: 0x9bbe */ 0xea6c,
- /* key: 0x9bbf */ 0xea6d,
- /* key: 0x9bc0 */ 0x7241,
- /* key: 0x9bc1 */ 0xea6e,
- /* key: 0x9bc2 */ 0xffff,
- /* key: 0x9bc3 */ 0xffff,
- /* key: 0x9bc4 */ 0xffff,
- /* key: 0x9bc5 */ 0xffff,
- /* key: 0x9bc6 */ 0x7244,
- /* key: 0x9bc7 */ 0xea6f,
- /* key: 0x9bc8 */ 0xea70,
- /* key: 0x9bc9 */ 0x3871,
- /* key: 0x9bca */ 0x7242,
- /* key: 0x9bcb */ 0xffff,
- /* key: 0x9bcc */ 0xffff,
- /* key: 0x9bcd */ 0xffff,
- /* key: 0x9bce */ 0xea71,
- /* key: 0x9bcf */ 0x7245,
- /* key: 0x9bd0 */ 0xea72,
- /* key: 0x9bd1 */ 0x7246,
- /* key: 0x9bd2 */ 0x7247,
- /* key: 0x9bd3 */ 0xffff,
- /* key: 0x9bd4 */ 0x724b,
- /* key: 0x9bd5 */ 0xffff,
- /* key: 0x9bd6 */ 0x3b2a,
- /* key: 0x9bd7 */ 0xea73,
- /* key: 0x9bd8 */ 0xea74,
- /* key: 0x9bd9 */ 0xffff,
- /* key: 0x9bda */ 0xffff,
- /* key: 0x9bdb */ 0x4264,
- /* key: 0x9bdc */ 0xffff,
- /* key: 0x9bdd */ 0xea75,
- /* key: 0x9bde */ 0xffff,
- /* key: 0x9bdf */ 0xea76,
- /* key: 0x9be0 */ 0xffff,
- /* key: 0x9be1 */ 0x724c,
- /* key: 0x9be2 */ 0x7249,
- /* key: 0x9be3 */ 0x7248,
- /* key: 0x9be4 */ 0x724a,
- /* key: 0x9be5 */ 0xea77,
- /* key: 0x9be6 */ 0xffff,
- /* key: 0x9be7 */ 0xea78,
- /* key: 0x9be8 */ 0x375f,
- /* key: 0x9be9 */ 0xffff,
- /* key: 0x9bea */ 0xea79,
- /* key: 0x9beb */ 0xea7a,
- /* key: 0x9bec */ 0xffff,
- /* key: 0x9bed */ 0xffff,
- /* key: 0x9bee */ 0xffff,
- /* key: 0x9bef */ 0xea7b,
- /* key: 0x9bf0 */ 0x7250,
- /* key: 0x9bf1 */ 0x724f,
- /* key: 0x9bf2 */ 0x724e,
- /* key: 0x9bf3 */ 0xea7c,
- /* key: 0x9bf4 */ 0xffff,
- /* key: 0x9bf5 */ 0x3033,
- /* key: 0x9bf6 */ 0xffff,
- /* key: 0x9bf7 */ 0xea7d,
- /* key: 0x9bf8 */ 0xea7e,
- /* key: 0x9bf9 */ 0xeb21,
- /* key: 0x9bfa */ 0xeb22,
- /* key: 0x9bfb */ 0xffff,
- /* key: 0x9bfc */ 0xffff,
- /* key: 0x9bfd */ 0xeb23,
- /* key: 0x9bfe */ 0xffff,
- /* key: 0x9bff */ 0xeb24,
- /* branch: 0x9c0X */ 22112,
- /* branch: 0x9c1X */ 22128,
- /* branch: 0x9c2X */ 22144,
- /* branch: 0x9c3X */ 22160,
- /* branch: 0x9c4X */ 22176,
- /* branch: 0x9c5X */ 22192,
- /* branch: 0x9c6X */ 22208,
- /* branch: 0x9c7X */ 22224,
- /* branch: 0x9c8X */ 0,
- /* branch: 0x9c9X */ 0,
- /* branch: 0x9caX */ 0,
- /* branch: 0x9cbX */ 0,
- /* branch: 0x9ccX */ 0,
- /* branch: 0x9cdX */ 0,
- /* branch: 0x9ceX */ 22240,
- /* branch: 0x9cfX */ 22256,
- /* key: 0x9c00 */ 0xeb25,
- /* key: 0x9c01 */ 0xffff,
- /* key: 0x9c02 */ 0xeb26,
- /* key: 0x9c03 */ 0xffff,
- /* key: 0x9c04 */ 0x725a,
- /* key: 0x9c05 */ 0xffff,
- /* key: 0x9c06 */ 0x7256,
- /* key: 0x9c07 */ 0xffff,
- /* key: 0x9c08 */ 0x7257,
- /* key: 0x9c09 */ 0x7253,
- /* key: 0x9c0a */ 0x7259,
- /* key: 0x9c0b */ 0xeb27,
- /* key: 0x9c0c */ 0x7255,
- /* key: 0x9c0d */ 0x3362,
- /* key: 0x9c0e */ 0xffff,
- /* key: 0x9c0f */ 0xeb28,
- /* key: 0x9c10 */ 0x4f4c,
- /* key: 0x9c11 */ 0xeb29,
- /* key: 0x9c12 */ 0x7258,
- /* key: 0x9c13 */ 0x7254,
- /* key: 0x9c14 */ 0x7252,
- /* key: 0x9c15 */ 0x7251,
- /* key: 0x9c16 */ 0xeb2a,
- /* key: 0x9c17 */ 0xffff,
- /* key: 0x9c18 */ 0xeb2b,
- /* key: 0x9c19 */ 0xeb2c,
- /* key: 0x9c1a */ 0xeb2d,
- /* key: 0x9c1b */ 0x725c,
- /* key: 0x9c1c */ 0xeb2e,
- /* key: 0x9c1d */ 0xffff,
- /* key: 0x9c1e */ 0xeb2f,
- /* key: 0x9c1f */ 0xffff,
- /* key: 0x9c20 */ 0xffff,
- /* key: 0x9c21 */ 0x725f,
- /* key: 0x9c22 */ 0xeb30,
- /* key: 0x9c23 */ 0xeb31,
- /* key: 0x9c24 */ 0x725e,
- /* key: 0x9c25 */ 0x725d,
- /* key: 0x9c26 */ 0xeb32,
- /* key: 0x9c27 */ 0xeb33,
- /* key: 0x9c28 */ 0xeb34,
- /* key: 0x9c29 */ 0xeb35,
- /* key: 0x9c2a */ 0xeb36,
- /* key: 0x9c2b */ 0xffff,
- /* key: 0x9c2c */ 0xffff,
- /* key: 0x9c2d */ 0x4949,
- /* key: 0x9c2e */ 0x725b,
- /* key: 0x9c2f */ 0x3073,
- /* key: 0x9c30 */ 0x7260,
- /* key: 0x9c31 */ 0xeb37,
- /* key: 0x9c32 */ 0x7262,
- /* key: 0x9c33 */ 0xffff,
- /* key: 0x9c34 */ 0xffff,
- /* key: 0x9c35 */ 0xeb38,
- /* key: 0x9c36 */ 0xeb39,
- /* key: 0x9c37 */ 0xeb3a,
- /* key: 0x9c38 */ 0xffff,
- /* key: 0x9c39 */ 0x336f,
- /* key: 0x9c3a */ 0x724d,
- /* key: 0x9c3b */ 0x3137,
- /* key: 0x9c3c */ 0xffff,
- /* key: 0x9c3d */ 0xeb3b,
- /* key: 0x9c3e */ 0x7264,
- /* key: 0x9c3f */ 0xffff,
- /* key: 0x9c40 */ 0xffff,
- /* key: 0x9c41 */ 0xeb3c,
- /* key: 0x9c42 */ 0xffff,
- /* key: 0x9c43 */ 0xeb3d,
- /* key: 0x9c44 */ 0xeb3e,
- /* key: 0x9c45 */ 0xeb3f,
- /* key: 0x9c46 */ 0x7263,
- /* key: 0x9c47 */ 0x7261,
- /* key: 0x9c48 */ 0x432d,
- /* key: 0x9c49 */ 0xeb40,
- /* key: 0x9c4a */ 0xeb41,
- /* key: 0x9c4b */ 0xffff,
- /* key: 0x9c4c */ 0xffff,
- /* key: 0x9c4d */ 0xffff,
- /* key: 0x9c4e */ 0xeb42,
- /* key: 0x9c4f */ 0xeb43,
- /* key: 0x9c50 */ 0xeb44,
- /* key: 0x9c51 */ 0xffff,
- /* key: 0x9c52 */ 0x4b70,
- /* key: 0x9c53 */ 0xeb45,
- /* key: 0x9c54 */ 0xeb46,
- /* key: 0x9c55 */ 0xffff,
- /* key: 0x9c56 */ 0xeb47,
- /* key: 0x9c57 */ 0x4e5a,
- /* key: 0x9c58 */ 0xeb48,
- /* key: 0x9c59 */ 0xffff,
- /* key: 0x9c5a */ 0x7265,
- /* key: 0x9c5b */ 0xeb49,
- /* key: 0x9c5c */ 0xeb50,
- /* key: 0x9c5d */ 0xeb4a,
- /* key: 0x9c5e */ 0xeb4b,
- /* key: 0x9c5f */ 0xeb4c,
- /* key: 0x9c60 */ 0x7266,
- /* key: 0x9c61 */ 0xffff,
- /* key: 0x9c62 */ 0xffff,
- /* key: 0x9c63 */ 0xeb4d,
- /* key: 0x9c64 */ 0xffff,
- /* key: 0x9c65 */ 0xffff,
- /* key: 0x9c66 */ 0xffff,
- /* key: 0x9c67 */ 0x7267,
- /* key: 0x9c68 */ 0xeb52,
- /* key: 0x9c69 */ 0xeb4e,
- /* key: 0x9c6a */ 0xeb4f,
- /* key: 0x9c6b */ 0xeb51,
- /* key: 0x9c6c */ 0xffff,
- /* key: 0x9c6d */ 0xffff,
- /* key: 0x9c6e */ 0xeb53,
- /* key: 0x9c6f */ 0xffff,
- /* key: 0x9c70 */ 0xeb54,
- /* key: 0x9c71 */ 0xffff,
- /* key: 0x9c72 */ 0xeb55,
- /* key: 0x9c73 */ 0xffff,
- /* key: 0x9c74 */ 0xffff,
- /* key: 0x9c75 */ 0xeb56,
- /* key: 0x9c76 */ 0x7268,
- /* key: 0x9c77 */ 0xeb57,
- /* key: 0x9c78 */ 0x7269,
- /* key: 0x9c79 */ 0xffff,
- /* key: 0x9c7a */ 0xffff,
- /* key: 0x9c7b */ 0xeb58,
- /* key: 0x9c7c */ 0xffff,
- /* key: 0x9c7d */ 0xffff,
- /* key: 0x9c7e */ 0xffff,
- /* key: 0x9c7f */ 0xffff,
- /* key: 0x9ce0 */ 0xffff,
- /* key: 0x9ce1 */ 0xffff,
- /* key: 0x9ce2 */ 0xffff,
- /* key: 0x9ce3 */ 0xffff,
- /* key: 0x9ce4 */ 0xffff,
- /* key: 0x9ce5 */ 0x443b,
- /* key: 0x9ce6 */ 0xeb59,
- /* key: 0x9ce7 */ 0x726a,
- /* key: 0x9ce8 */ 0xffff,
- /* key: 0x9ce9 */ 0x4837,
- /* key: 0x9cea */ 0xffff,
- /* key: 0x9ceb */ 0x726f,
- /* key: 0x9cec */ 0x726b,
- /* key: 0x9ced */ 0xffff,
- /* key: 0x9cee */ 0xffff,
- /* key: 0x9cef */ 0xffff,
- /* key: 0x9cf0 */ 0x726c,
- /* key: 0x9cf1 */ 0xffff,
- /* key: 0x9cf2 */ 0xeb5a,
- /* key: 0x9cf3 */ 0x4b31,
- /* key: 0x9cf4 */ 0x4c44,
- /* key: 0x9cf5 */ 0xffff,
- /* key: 0x9cf6 */ 0x4650,
- /* key: 0x9cf7 */ 0xeb5b,
- /* key: 0x9cf8 */ 0xffff,
- /* key: 0x9cf9 */ 0xeb5c,
- /* key: 0x9cfa */ 0xffff,
- /* key: 0x9cfb */ 0xffff,
- /* key: 0x9cfc */ 0xffff,
- /* key: 0x9cfd */ 0xffff,
- /* key: 0x9cfe */ 0xffff,
- /* key: 0x9cff */ 0xffff,
- /* branch: 0x9d0X */ 22288,
- /* branch: 0x9d1X */ 22304,
- /* branch: 0x9d2X */ 22320,
- /* branch: 0x9d3X */ 22336,
- /* branch: 0x9d4X */ 22352,
- /* branch: 0x9d5X */ 22368,
- /* branch: 0x9d6X */ 22384,
- /* branch: 0x9d7X */ 22400,
- /* branch: 0x9d8X */ 22416,
- /* branch: 0x9d9X */ 22432,
- /* branch: 0x9daX */ 22448,
- /* branch: 0x9dbX */ 22464,
- /* branch: 0x9dcX */ 22480,
- /* branch: 0x9ddX */ 22496,
- /* branch: 0x9deX */ 22512,
- /* branch: 0x9dfX */ 22528,
- /* key: 0x9d00 */ 0xffff,
- /* key: 0x9d01 */ 0xffff,
- /* key: 0x9d02 */ 0xeb5e,
- /* key: 0x9d03 */ 0x7270,
- /* key: 0x9d04 */ 0xffff,
- /* key: 0x9d05 */ 0xffff,
- /* key: 0x9d06 */ 0x7271,
- /* key: 0x9d07 */ 0x463e,
- /* key: 0x9d08 */ 0x726e,
- /* key: 0x9d09 */ 0x726d,
- /* key: 0x9d0a */ 0xffff,
- /* key: 0x9d0b */ 0xeb5d,
- /* key: 0x9d0c */ 0xffff,
- /* key: 0x9d0d */ 0xffff,
- /* key: 0x9d0e */ 0x322a,
- /* key: 0x9d0f */ 0xffff,
- /* key: 0x9d10 */ 0xffff,
- /* key: 0x9d11 */ 0xeb5f,
- /* key: 0x9d12 */ 0x7279,
- /* key: 0x9d13 */ 0xffff,
- /* key: 0x9d14 */ 0xffff,
- /* key: 0x9d15 */ 0x7278,
- /* key: 0x9d16 */ 0xffff,
- /* key: 0x9d17 */ 0xeb60,
- /* key: 0x9d18 */ 0xeb61,
- /* key: 0x9d19 */ 0xffff,
- /* key: 0x9d1a */ 0xffff,
- /* key: 0x9d1b */ 0x3175,
- /* key: 0x9d1c */ 0xeb62,
- /* key: 0x9d1d */ 0xeb63,
- /* key: 0x9d1e */ 0xeb64,
- /* key: 0x9d1f */ 0x7276,
- /* key: 0x9d20 */ 0xffff,
- /* key: 0x9d21 */ 0xffff,
- /* key: 0x9d22 */ 0xffff,
- /* key: 0x9d23 */ 0x7275,
- /* key: 0x9d24 */ 0xffff,
- /* key: 0x9d25 */ 0xffff,
- /* key: 0x9d26 */ 0x7273,
- /* key: 0x9d27 */ 0xffff,
- /* key: 0x9d28 */ 0x337b,
- /* key: 0x9d29 */ 0xffff,
- /* key: 0x9d2a */ 0x7272,
- /* key: 0x9d2b */ 0x3c32,
- /* key: 0x9d2c */ 0x3229,
- /* key: 0x9d2d */ 0xffff,
- /* key: 0x9d2e */ 0xffff,
- /* key: 0x9d2f */ 0xeb65,
- /* key: 0x9d30 */ 0xeb66,
- /* key: 0x9d31 */ 0xffff,
- /* key: 0x9d32 */ 0xeb67,
- /* key: 0x9d33 */ 0xeb68,
- /* key: 0x9d34 */ 0xeb69,
- /* key: 0x9d35 */ 0xffff,
- /* key: 0x9d36 */ 0xffff,
- /* key: 0x9d37 */ 0xffff,
- /* key: 0x9d38 */ 0xffff,
- /* key: 0x9d39 */ 0xffff,
- /* key: 0x9d3a */ 0xeb6a,
- /* key: 0x9d3b */ 0x3963,
- /* key: 0x9d3c */ 0xeb6b,
- /* key: 0x9d3d */ 0xeb6d,
- /* key: 0x9d3e */ 0x727c,
- /* key: 0x9d3f */ 0x727b,
- /* key: 0x9d40 */ 0xffff,
- /* key: 0x9d41 */ 0x727a,
- /* key: 0x9d42 */ 0xeb6e,
- /* key: 0x9d43 */ 0xeb6f,
- /* key: 0x9d44 */ 0x7277,
- /* key: 0x9d45 */ 0xeb6c,
- /* key: 0x9d46 */ 0x727d,
- /* key: 0x9d47 */ 0xeb70,
- /* key: 0x9d48 */ 0x727e,
- /* key: 0x9d49 */ 0xffff,
- /* key: 0x9d4a */ 0xeb71,
- /* key: 0x9d4b */ 0xffff,
- /* key: 0x9d4c */ 0xffff,
- /* key: 0x9d4d */ 0xffff,
- /* key: 0x9d4e */ 0xffff,
- /* key: 0x9d4f */ 0xffff,
- /* key: 0x9d50 */ 0x7325,
- /* key: 0x9d51 */ 0x7324,
- /* key: 0x9d52 */ 0xffff,
- /* key: 0x9d53 */ 0xeb72,
- /* key: 0x9d54 */ 0xeb73,
- /* key: 0x9d55 */ 0xffff,
- /* key: 0x9d56 */ 0xffff,
- /* key: 0x9d57 */ 0xffff,
- /* key: 0x9d58 */ 0xffff,
- /* key: 0x9d59 */ 0x7326,
- /* key: 0x9d5a */ 0xffff,
- /* key: 0x9d5b */ 0xffff,
- /* key: 0x9d5c */ 0x312d,
- /* key: 0x9d5d */ 0x7321,
- /* key: 0x9d5e */ 0x7322,
- /* key: 0x9d5f */ 0xeb74,
- /* key: 0x9d60 */ 0x3974,
- /* key: 0x9d61 */ 0x4c39,
- /* key: 0x9d62 */ 0xeb76,
- /* key: 0x9d63 */ 0xeb75,
- /* key: 0x9d64 */ 0x7323,
- /* key: 0x9d65 */ 0xeb77,
- /* key: 0x9d66 */ 0xffff,
- /* key: 0x9d67 */ 0xffff,
- /* key: 0x9d68 */ 0xffff,
- /* key: 0x9d69 */ 0xeb78,
- /* key: 0x9d6a */ 0xeb79,
- /* key: 0x9d6b */ 0xeb7a,
- /* key: 0x9d6c */ 0x4b32,
- /* key: 0x9d6d */ 0xffff,
- /* key: 0x9d6e */ 0xffff,
- /* key: 0x9d6f */ 0x732b,
- /* key: 0x9d70 */ 0xeb7b,
- /* key: 0x9d71 */ 0xffff,
- /* key: 0x9d72 */ 0x7327,
- /* key: 0x9d73 */ 0xffff,
- /* key: 0x9d74 */ 0xffff,
- /* key: 0x9d75 */ 0xffff,
- /* key: 0x9d76 */ 0xeb7c,
- /* key: 0x9d77 */ 0xeb7d,
- /* key: 0x9d78 */ 0xffff,
- /* key: 0x9d79 */ 0xffff,
- /* key: 0x9d7a */ 0x732c,
- /* key: 0x9d7b */ 0xeb7e,
- /* key: 0x9d7c */ 0xec21,
- /* key: 0x9d7d */ 0xffff,
- /* key: 0x9d7e */ 0xec22,
- /* key: 0x9d7f */ 0xffff,
- /* key: 0x9d80 */ 0xffff,
- /* key: 0x9d81 */ 0xffff,
- /* key: 0x9d82 */ 0xffff,
- /* key: 0x9d83 */ 0xec23,
- /* key: 0x9d84 */ 0xec24,
- /* key: 0x9d85 */ 0xffff,
- /* key: 0x9d86 */ 0xec25,
- /* key: 0x9d87 */ 0x7329,
- /* key: 0x9d88 */ 0xffff,
- /* key: 0x9d89 */ 0x7328,
- /* key: 0x9d8a */ 0xec26,
- /* key: 0x9d8b */ 0xffff,
- /* key: 0x9d8c */ 0xffff,
- /* key: 0x9d8d */ 0xec27,
- /* key: 0x9d8e */ 0xec28,
- /* key: 0x9d8f */ 0x375c,
- /* key: 0x9d90 */ 0xffff,
- /* key: 0x9d91 */ 0xffff,
- /* key: 0x9d92 */ 0xec29,
- /* key: 0x9d93 */ 0xec2a,
- /* key: 0x9d94 */ 0xffff,
- /* key: 0x9d95 */ 0xec2b,
- /* key: 0x9d96 */ 0xec2c,
- /* key: 0x9d97 */ 0xec2d,
- /* key: 0x9d98 */ 0xec2e,
- /* key: 0x9d99 */ 0xffff,
- /* key: 0x9d9a */ 0x732d,
- /* key: 0x9d9b */ 0xffff,
- /* key: 0x9d9c */ 0xffff,
- /* key: 0x9d9d */ 0xffff,
- /* key: 0x9d9e */ 0xffff,
- /* key: 0x9d9f */ 0xffff,
- /* key: 0x9da0 */ 0xffff,
- /* key: 0x9da1 */ 0xec2f,
- /* key: 0x9da2 */ 0xffff,
- /* key: 0x9da3 */ 0xffff,
- /* key: 0x9da4 */ 0x732e,
- /* key: 0x9da5 */ 0xffff,
- /* key: 0x9da6 */ 0xffff,
- /* key: 0x9da7 */ 0xffff,
- /* key: 0x9da8 */ 0xffff,
- /* key: 0x9da9 */ 0x732f,
- /* key: 0x9daa */ 0xec30,
- /* key: 0x9dab */ 0x732a,
- /* key: 0x9dac */ 0xec31,
- /* key: 0x9dad */ 0xffff,
- /* key: 0x9dae */ 0xec32,
- /* key: 0x9daf */ 0x7274,
- /* key: 0x9db0 */ 0xffff,
- /* key: 0x9db1 */ 0xec33,
- /* key: 0x9db2 */ 0x7330,
- /* key: 0x9db3 */ 0xffff,
- /* key: 0x9db4 */ 0x4461,
- /* key: 0x9db5 */ 0xec34,
- /* key: 0x9db6 */ 0xffff,
- /* key: 0x9db7 */ 0xffff,
- /* key: 0x9db8 */ 0x7334,
- /* key: 0x9db9 */ 0xec35,
- /* key: 0x9dba */ 0x7335,
- /* key: 0x9dbb */ 0x7333,
- /* key: 0x9dbc */ 0xec36,
- /* key: 0x9dbd */ 0xffff,
- /* key: 0x9dbe */ 0xffff,
- /* key: 0x9dbf */ 0xec37,
- /* key: 0x9dc0 */ 0xffff,
- /* key: 0x9dc1 */ 0x7332,
- /* key: 0x9dc2 */ 0x7338,
- /* key: 0x9dc3 */ 0xec38,
- /* key: 0x9dc4 */ 0x7331,
- /* key: 0x9dc5 */ 0xffff,
- /* key: 0x9dc6 */ 0x7336,
- /* key: 0x9dc7 */ 0xec39,
- /* key: 0x9dc8 */ 0xffff,
- /* key: 0x9dc9 */ 0xec3a,
- /* key: 0x9dca */ 0xec3b,
- /* key: 0x9dcb */ 0xffff,
- /* key: 0x9dcc */ 0xffff,
- /* key: 0x9dcd */ 0xffff,
- /* key: 0x9dce */ 0xffff,
- /* key: 0x9dcf */ 0x7337,
- /* key: 0x9dd0 */ 0xffff,
- /* key: 0x9dd1 */ 0xffff,
- /* key: 0x9dd2 */ 0xffff,
- /* key: 0x9dd3 */ 0x733a,
- /* key: 0x9dd4 */ 0xec3c,
- /* key: 0x9dd5 */ 0xec3d,
- /* key: 0x9dd6 */ 0xec3e,
- /* key: 0x9dd7 */ 0xec3f,
- /* key: 0x9dd8 */ 0xffff,
- /* key: 0x9dd9 */ 0x7339,
- /* key: 0x9dda */ 0xec40,
- /* key: 0x9ddb */ 0xffff,
- /* key: 0x9ddc */ 0xffff,
- /* key: 0x9ddd */ 0xffff,
- /* key: 0x9dde */ 0xec41,
- /* key: 0x9ddf */ 0xec42,
- /* key: 0x9de0 */ 0xec43,
- /* key: 0x9de1 */ 0xffff,
- /* key: 0x9de2 */ 0xffff,
- /* key: 0x9de3 */ 0xffff,
- /* key: 0x9de4 */ 0xffff,
- /* key: 0x9de5 */ 0xec44,
- /* key: 0x9de6 */ 0x733c,
- /* key: 0x9de7 */ 0xec45,
- /* key: 0x9de8 */ 0xffff,
- /* key: 0x9de9 */ 0xec46,
- /* key: 0x9dea */ 0xffff,
- /* key: 0x9deb */ 0xec47,
- /* key: 0x9dec */ 0xffff,
- /* key: 0x9ded */ 0x733d,
- /* key: 0x9dee */ 0xec48,
- /* key: 0x9def */ 0x733e,
- /* key: 0x9df0 */ 0xec49,
- /* key: 0x9df1 */ 0xffff,
- /* key: 0x9df2 */ 0x4f49,
- /* key: 0x9df3 */ 0xec4a,
- /* key: 0x9df4 */ 0xec4b,
- /* key: 0x9df5 */ 0xffff,
- /* key: 0x9df6 */ 0xffff,
- /* key: 0x9df7 */ 0xffff,
- /* key: 0x9df8 */ 0x733b,
- /* key: 0x9df9 */ 0x426b,
- /* key: 0x9dfa */ 0x3a6d,
- /* key: 0x9dfb */ 0xffff,
- /* key: 0x9dfc */ 0xffff,
- /* key: 0x9dfd */ 0x733f,
- /* key: 0x9dfe */ 0xec4c,
- /* key: 0x9dff */ 0xffff,
- /* branch: 0x9e0X */ 22560,
- /* branch: 0x9e1X */ 22576,
- /* branch: 0x9e2X */ 0,
- /* branch: 0x9e3X */ 0,
- /* branch: 0x9e4X */ 0,
- /* branch: 0x9e5X */ 0,
- /* branch: 0x9e6X */ 0,
- /* branch: 0x9e7X */ 22592,
- /* branch: 0x9e8X */ 22608,
- /* branch: 0x9e9X */ 22624,
- /* branch: 0x9eaX */ 22640,
- /* branch: 0x9ebX */ 22656,
- /* branch: 0x9ecX */ 22672,
- /* branch: 0x9edX */ 22688,
- /* branch: 0x9eeX */ 22704,
- /* branch: 0x9efX */ 22720,
- /* key: 0x9e00 */ 0xffff,
- /* key: 0x9e01 */ 0xffff,
- /* key: 0x9e02 */ 0xec4e,
- /* key: 0x9e03 */ 0xffff,
- /* key: 0x9e04 */ 0xffff,
- /* key: 0x9e05 */ 0xffff,
- /* key: 0x9e06 */ 0xffff,
- /* key: 0x9e07 */ 0xec4f,
- /* key: 0x9e08 */ 0xffff,
- /* key: 0x9e09 */ 0xffff,
- /* key: 0x9e0a */ 0xec4d,
- /* key: 0x9e0b */ 0xffff,
- /* key: 0x9e0c */ 0xffff,
- /* key: 0x9e0d */ 0xffff,
- /* key: 0x9e0e */ 0xec50,
- /* key: 0x9e0f */ 0xffff,
- /* key: 0x9e10 */ 0xec51,
- /* key: 0x9e11 */ 0xec52,
- /* key: 0x9e12 */ 0xec53,
- /* key: 0x9e13 */ 0xffff,
- /* key: 0x9e14 */ 0xffff,
- /* key: 0x9e15 */ 0xec54,
- /* key: 0x9e16 */ 0xec55,
- /* key: 0x9e17 */ 0xffff,
- /* key: 0x9e18 */ 0xffff,
- /* key: 0x9e19 */ 0xec56,
- /* key: 0x9e1a */ 0x7340,
- /* key: 0x9e1b */ 0x7341,
- /* key: 0x9e1c */ 0xec57,
- /* key: 0x9e1d */ 0xec58,
- /* key: 0x9e1e */ 0x7342,
- /* key: 0x9e1f */ 0xffff,
- /* key: 0x9e70 */ 0xffff,
- /* key: 0x9e71 */ 0xffff,
- /* key: 0x9e72 */ 0xffff,
- /* key: 0x9e73 */ 0xffff,
- /* key: 0x9e74 */ 0xffff,
- /* key: 0x9e75 */ 0x7343,
- /* key: 0x9e76 */ 0xffff,
- /* key: 0x9e77 */ 0xffff,
- /* key: 0x9e78 */ 0x3834,
- /* key: 0x9e79 */ 0x7344,
- /* key: 0x9e7a */ 0xec59,
- /* key: 0x9e7b */ 0xec5a,
- /* key: 0x9e7c */ 0xec5b,
- /* key: 0x9e7d */ 0x7345,
- /* key: 0x9e7e */ 0xffff,
- /* key: 0x9e7f */ 0x3c2f,
- /* key: 0x9e80 */ 0xec5c,
- /* key: 0x9e81 */ 0x7346,
- /* key: 0x9e82 */ 0xec5d,
- /* key: 0x9e83 */ 0xec5e,
- /* key: 0x9e84 */ 0xec5f,
- /* key: 0x9e85 */ 0xec60,
- /* key: 0x9e86 */ 0xffff,
- /* key: 0x9e87 */ 0xec61,
- /* key: 0x9e88 */ 0x7347,
- /* key: 0x9e89 */ 0xffff,
- /* key: 0x9e8a */ 0xffff,
- /* key: 0x9e8b */ 0x7348,
- /* key: 0x9e8c */ 0x7349,
- /* key: 0x9e8d */ 0xffff,
- /* key: 0x9e8e */ 0xec62,
- /* key: 0x9e8f */ 0xec63,
- /* key: 0x9e90 */ 0xffff,
- /* key: 0x9e91 */ 0x734c,
- /* key: 0x9e92 */ 0x734a,
- /* key: 0x9e93 */ 0x4f3c,
- /* key: 0x9e94 */ 0xffff,
- /* key: 0x9e95 */ 0x734b,
- /* key: 0x9e96 */ 0xec64,
- /* key: 0x9e97 */ 0x4e6f,
- /* key: 0x9e98 */ 0xec65,
- /* key: 0x9e99 */ 0xffff,
- /* key: 0x9e9a */ 0xffff,
- /* key: 0x9e9b */ 0xec66,
- /* key: 0x9e9c */ 0xffff,
- /* key: 0x9e9d */ 0x734d,
- /* key: 0x9e9e */ 0xec67,
- /* key: 0x9e9f */ 0x4e5b,
- /* key: 0x9ea0 */ 0xffff,
- /* key: 0x9ea1 */ 0xffff,
- /* key: 0x9ea2 */ 0xffff,
- /* key: 0x9ea3 */ 0xffff,
- /* key: 0x9ea4 */ 0xec68,
- /* key: 0x9ea5 */ 0x734e,
- /* key: 0x9ea6 */ 0x477e,
- /* key: 0x9ea7 */ 0xffff,
- /* key: 0x9ea8 */ 0xec69,
- /* key: 0x9ea9 */ 0x734f,
- /* key: 0x9eaa */ 0x7351,
- /* key: 0x9eab */ 0xffff,
- /* key: 0x9eac */ 0xec6a,
- /* key: 0x9ead */ 0x7352,
- /* key: 0x9eae */ 0xec6b,
- /* key: 0x9eaf */ 0xec6c,
- /* key: 0x9eb0 */ 0xec6d,
- /* key: 0x9eb1 */ 0xffff,
- /* key: 0x9eb2 */ 0xffff,
- /* key: 0x9eb3 */ 0xec6e,
- /* key: 0x9eb4 */ 0xec6f,
- /* key: 0x9eb5 */ 0xec70,
- /* key: 0x9eb6 */ 0xffff,
- /* key: 0x9eb7 */ 0xffff,
- /* key: 0x9eb8 */ 0x7350,
- /* key: 0x9eb9 */ 0x396d,
- /* key: 0x9eba */ 0x4c4d,
- /* key: 0x9ebb */ 0x4b63,
- /* key: 0x9ebc */ 0x5677,
- /* key: 0x9ebd */ 0xffff,
- /* key: 0x9ebe */ 0x5d60,
- /* key: 0x9ebf */ 0x4b7b,
- /* key: 0x9ec0 */ 0xffff,
- /* key: 0x9ec1 */ 0xffff,
- /* key: 0x9ec2 */ 0xffff,
- /* key: 0x9ec3 */ 0xffff,
- /* key: 0x9ec4 */ 0x322b,
- /* key: 0x9ec5 */ 0xffff,
- /* key: 0x9ec6 */ 0xec71,
- /* key: 0x9ec7 */ 0xffff,
- /* key: 0x9ec8 */ 0xec72,
- /* key: 0x9ec9 */ 0xffff,
- /* key: 0x9eca */ 0xffff,
- /* key: 0x9ecb */ 0xec73,
- /* key: 0x9ecc */ 0x7354,
- /* key: 0x9ecd */ 0x3550,
- /* key: 0x9ece */ 0x7355,
- /* key: 0x9ecf */ 0x7356,
- /* key: 0x9ed0 */ 0x7357,
- /* key: 0x9ed1 */ 0xffff,
- /* key: 0x9ed2 */ 0x3975,
- /* key: 0x9ed3 */ 0xffff,
- /* key: 0x9ed4 */ 0x7358,
- /* key: 0x9ed5 */ 0xec74,
- /* key: 0x9ed6 */ 0xffff,
- /* key: 0x9ed7 */ 0xffff,
- /* key: 0x9ed8 */ 0x6054,
- /* key: 0x9ed9 */ 0x4c5b,
- /* key: 0x9eda */ 0xffff,
- /* key: 0x9edb */ 0x4263,
- /* key: 0x9edc */ 0x7359,
- /* key: 0x9edd */ 0x735b,
- /* key: 0x9ede */ 0x735a,
- /* key: 0x9edf */ 0xec75,
- /* key: 0x9ee0 */ 0x735c,
- /* key: 0x9ee1 */ 0xffff,
- /* key: 0x9ee2 */ 0xffff,
- /* key: 0x9ee3 */ 0xffff,
- /* key: 0x9ee4 */ 0xec76,
- /* key: 0x9ee5 */ 0x735d,
- /* key: 0x9ee6 */ 0xffff,
- /* key: 0x9ee7 */ 0xec77,
- /* key: 0x9ee8 */ 0x735e,
- /* key: 0x9ee9 */ 0xffff,
- /* key: 0x9eea */ 0xffff,
- /* key: 0x9eeb */ 0xffff,
- /* key: 0x9eec */ 0xec78,
- /* key: 0x9eed */ 0xec79,
- /* key: 0x9eee */ 0xec7a,
- /* key: 0x9eef */ 0x735f,
- /* key: 0x9ef0 */ 0xec7b,
- /* key: 0x9ef1 */ 0xec7c,
- /* key: 0x9ef2 */ 0xec7d,
- /* key: 0x9ef3 */ 0xffff,
- /* key: 0x9ef4 */ 0x7360,
- /* key: 0x9ef5 */ 0xec7e,
- /* key: 0x9ef6 */ 0x7361,
- /* key: 0x9ef7 */ 0x7362,
- /* key: 0x9ef8 */ 0xed21,
- /* key: 0x9ef9 */ 0x7363,
- /* key: 0x9efa */ 0xffff,
- /* key: 0x9efb */ 0x7364,
- /* key: 0x9efc */ 0x7365,
- /* key: 0x9efd */ 0x7366,
- /* key: 0x9efe */ 0xffff,
- /* key: 0x9eff */ 0xed22,
- /* branch: 0x9f0X */ 22752,
- /* branch: 0x9f1X */ 22768,
- /* branch: 0x9f2X */ 22784,
- /* branch: 0x9f3X */ 22800,
- /* branch: 0x9f4X */ 22816,
- /* branch: 0x9f5X */ 22832,
- /* branch: 0x9f6X */ 22848,
- /* branch: 0x9f7X */ 22864,
- /* branch: 0x9f8X */ 22880,
- /* branch: 0x9f9X */ 22896,
- /* branch: 0x9faX */ 22912,
- /* branch: 0x9fbX */ 0,
- /* branch: 0x9fcX */ 0,
- /* branch: 0x9fdX */ 0,
- /* branch: 0x9feX */ 0,
- /* branch: 0x9ffX */ 0,
- /* key: 0x9f00 */ 0xffff,
- /* key: 0x9f01 */ 0xffff,
- /* key: 0x9f02 */ 0xed23,
- /* key: 0x9f03 */ 0xed24,
- /* key: 0x9f04 */ 0xffff,
- /* key: 0x9f05 */ 0xffff,
- /* key: 0x9f06 */ 0xffff,
- /* key: 0x9f07 */ 0x7367,
- /* key: 0x9f08 */ 0x7368,
- /* key: 0x9f09 */ 0xed25,
- /* key: 0x9f0a */ 0xffff,
- /* key: 0x9f0b */ 0xffff,
- /* key: 0x9f0c */ 0xffff,
- /* key: 0x9f0d */ 0xffff,
- /* key: 0x9f0e */ 0x4524,
- /* key: 0x9f0f */ 0xed26,
- /* key: 0x9f10 */ 0xed27,
- /* key: 0x9f11 */ 0xed28,
- /* key: 0x9f12 */ 0xed29,
- /* key: 0x9f13 */ 0x385d,
- /* key: 0x9f14 */ 0xed2a,
- /* key: 0x9f15 */ 0x736a,
- /* key: 0x9f16 */ 0xed2b,
- /* key: 0x9f17 */ 0xed2c,
- /* key: 0x9f18 */ 0xffff,
- /* key: 0x9f19 */ 0xed2d,
- /* key: 0x9f1a */ 0xed2e,
- /* key: 0x9f1b */ 0xed2f,
- /* key: 0x9f1c */ 0xffff,
- /* key: 0x9f1d */ 0xffff,
- /* key: 0x9f1e */ 0xffff,
- /* key: 0x9f1f */ 0xed30,
- /* key: 0x9f20 */ 0x414d,
- /* key: 0x9f21 */ 0x736b,
- /* key: 0x9f22 */ 0xed31,
- /* key: 0x9f23 */ 0xffff,
- /* key: 0x9f24 */ 0xffff,
- /* key: 0x9f25 */ 0xffff,
- /* key: 0x9f26 */ 0xed32,
- /* key: 0x9f27 */ 0xffff,
- /* key: 0x9f28 */ 0xffff,
- /* key: 0x9f29 */ 0xffff,
- /* key: 0x9f2a */ 0xed33,
- /* key: 0x9f2b */ 0xed34,
- /* key: 0x9f2c */ 0x736c,
- /* key: 0x9f2d */ 0xffff,
- /* key: 0x9f2e */ 0xffff,
- /* key: 0x9f2f */ 0xed35,
- /* key: 0x9f30 */ 0xffff,
- /* key: 0x9f31 */ 0xed36,
- /* key: 0x9f32 */ 0xed37,
- /* key: 0x9f33 */ 0xffff,
- /* key: 0x9f34 */ 0xed38,
- /* key: 0x9f35 */ 0xffff,
- /* key: 0x9f36 */ 0xffff,
- /* key: 0x9f37 */ 0xed39,
- /* key: 0x9f38 */ 0xffff,
- /* key: 0x9f39 */ 0xed3a,
- /* key: 0x9f3a */ 0xed3b,
- /* key: 0x9f3b */ 0x4921,
- /* key: 0x9f3c */ 0xed3c,
- /* key: 0x9f3d */ 0xed3d,
- /* key: 0x9f3e */ 0x736d,
- /* key: 0x9f3f */ 0xed3e,
- /* key: 0x9f40 */ 0xffff,
- /* key: 0x9f41 */ 0xed3f,
- /* key: 0x9f42 */ 0xffff,
- /* key: 0x9f43 */ 0xed40,
- /* key: 0x9f44 */ 0xed41,
- /* key: 0x9f45 */ 0xed42,
- /* key: 0x9f46 */ 0xed43,
- /* key: 0x9f47 */ 0xed44,
- /* key: 0x9f48 */ 0xffff,
- /* key: 0x9f49 */ 0xffff,
- /* key: 0x9f4a */ 0x736e,
- /* key: 0x9f4b */ 0x6337,
- /* key: 0x9f4c */ 0xffff,
- /* key: 0x9f4d */ 0xffff,
- /* key: 0x9f4e */ 0x6c5a,
- /* key: 0x9f4f */ 0x706d,
- /* key: 0x9f50 */ 0xffff,
- /* key: 0x9f51 */ 0xffff,
- /* key: 0x9f52 */ 0x736f,
- /* key: 0x9f53 */ 0xed45,
- /* key: 0x9f54 */ 0x7370,
- /* key: 0x9f55 */ 0xed46,
- /* key: 0x9f56 */ 0xed47,
- /* key: 0x9f57 */ 0xed48,
- /* key: 0x9f58 */ 0xed49,
- /* key: 0x9f59 */ 0xffff,
- /* key: 0x9f5a */ 0xed4a,
- /* key: 0x9f5b */ 0xffff,
- /* key: 0x9f5c */ 0xffff,
- /* key: 0x9f5d */ 0xed4b,
- /* key: 0x9f5e */ 0xed4c,
- /* key: 0x9f5f */ 0x7372,
- /* key: 0x9f60 */ 0x7373,
- /* key: 0x9f61 */ 0x7374,
- /* key: 0x9f62 */ 0x4e70,
- /* key: 0x9f63 */ 0x7371,
- /* key: 0x9f64 */ 0xffff,
- /* key: 0x9f65 */ 0xffff,
- /* key: 0x9f66 */ 0x7375,
- /* key: 0x9f67 */ 0x7376,
- /* key: 0x9f68 */ 0xed4d,
- /* key: 0x9f69 */ 0xed4e,
- /* key: 0x9f6a */ 0x7378,
- /* key: 0x9f6b */ 0xffff,
- /* key: 0x9f6c */ 0x7377,
- /* key: 0x9f6d */ 0xed4f,
- /* key: 0x9f6e */ 0xed50,
- /* key: 0x9f6f */ 0xed51,
- /* key: 0x9f70 */ 0xed52,
- /* key: 0x9f71 */ 0xed53,
- /* key: 0x9f72 */ 0x737a,
- /* key: 0x9f73 */ 0xed54,
- /* key: 0x9f74 */ 0xffff,
- /* key: 0x9f75 */ 0xed55,
- /* key: 0x9f76 */ 0x737b,
- /* key: 0x9f77 */ 0x7379,
- /* key: 0x9f78 */ 0xffff,
- /* key: 0x9f79 */ 0xffff,
- /* key: 0x9f7a */ 0xed56,
- /* key: 0x9f7b */ 0xffff,
- /* key: 0x9f7c */ 0xffff,
- /* key: 0x9f7d */ 0xed57,
- /* key: 0x9f7e */ 0xffff,
- /* key: 0x9f7f */ 0xffff,
- /* key: 0x9f80 */ 0xffff,
- /* key: 0x9f81 */ 0xffff,
- /* key: 0x9f82 */ 0xffff,
- /* key: 0x9f83 */ 0xffff,
- /* key: 0x9f84 */ 0xffff,
- /* key: 0x9f85 */ 0xffff,
- /* key: 0x9f86 */ 0xffff,
- /* key: 0x9f87 */ 0xffff,
- /* key: 0x9f88 */ 0xffff,
- /* key: 0x9f89 */ 0xffff,
- /* key: 0x9f8a */ 0xffff,
- /* key: 0x9f8b */ 0xffff,
- /* key: 0x9f8c */ 0xffff,
- /* key: 0x9f8d */ 0x4e36,
- /* key: 0x9f8e */ 0xffff,
- /* key: 0x9f8f */ 0xed58,
- /* key: 0x9f90 */ 0xed59,
- /* key: 0x9f91 */ 0xed5a,
- /* key: 0x9f92 */ 0xed5b,
- /* key: 0x9f93 */ 0xffff,
- /* key: 0x9f94 */ 0xed5c,
- /* key: 0x9f95 */ 0x737c,
- /* key: 0x9f96 */ 0xed5d,
- /* key: 0x9f97 */ 0xed5e,
- /* key: 0x9f98 */ 0xffff,
- /* key: 0x9f99 */ 0xffff,
- /* key: 0x9f9a */ 0xffff,
- /* key: 0x9f9b */ 0xffff,
- /* key: 0x9f9c */ 0x737d,
- /* key: 0x9f9d */ 0x6354,
- /* key: 0x9f9e */ 0xed5f,
- /* key: 0x9f9f */ 0xffff,
- /* key: 0x9fa0 */ 0x737e,
- /* key: 0x9fa1 */ 0xed60,
- /* key: 0x9fa2 */ 0xed61,
- /* key: 0x9fa3 */ 0xed62,
- /* key: 0x9fa4 */ 0xffff,
- /* key: 0x9fa5 */ 0xed63,
- /* key: 0x9fa6 */ 0xffff,
- /* key: 0x9fa7 */ 0xffff,
- /* key: 0x9fa8 */ 0xffff,
- /* key: 0x9fa9 */ 0xffff,
- /* key: 0x9faa */ 0xffff,
- /* key: 0x9fab */ 0xffff,
- /* key: 0x9fac */ 0xffff,
- /* key: 0x9fad */ 0xffff,
- /* key: 0x9fae */ 0xffff,
- /* key: 0x9faf */ 0xffff,
- /* branch: 0xf0XX */ 0,
- /* branch: 0xf1XX */ 0,
- /* branch: 0xf2XX */ 0,
- /* branch: 0xf3XX */ 0,
- /* branch: 0xf4XX */ 0,
- /* branch: 0xf5XX */ 0,
- /* branch: 0xf6XX */ 0,
- /* branch: 0xf7XX */ 0,
- /* branch: 0xf8XX */ 0,
- /* branch: 0xf9XX */ 0,
- /* branch: 0xfaXX */ 0,
- /* branch: 0xfbXX */ 0,
- /* branch: 0xfcXX */ 0,
- /* branch: 0xfdXX */ 0,
- /* branch: 0xfeXX */ 0,
- /* branch: 0xffXX */ 22944,
- /* branch: 0xff0X */ 22960,
- /* branch: 0xff1X */ 22976,
- /* branch: 0xff2X */ 22992,
- /* branch: 0xff3X */ 23008,
- /* branch: 0xff4X */ 23024,
- /* branch: 0xff5X */ 23040,
- /* branch: 0xff6X */ 23056,
- /* branch: 0xff7X */ 23072,
- /* branch: 0xff8X */ 23088,
- /* branch: 0xff9X */ 23104,
- /* branch: 0xffaX */ 0,
- /* branch: 0xffbX */ 0,
- /* branch: 0xffcX */ 0,
- /* branch: 0xffdX */ 0,
- /* branch: 0xffeX */ 23120,
- /* branch: 0xfffX */ 0,
- /* key: 0xff00 */ 0xffff,
- /* key: 0xff01 */ 0x212a,
- /* key: 0xff02 */ 0xffff,
- /* key: 0xff03 */ 0x2174,
- /* key: 0xff04 */ 0x2170,
- /* key: 0xff05 */ 0x2173,
- /* key: 0xff06 */ 0x2175,
- /* key: 0xff07 */ 0xffff,
- /* key: 0xff08 */ 0x214a,
- /* key: 0xff09 */ 0x214b,
- /* key: 0xff0a */ 0x2176,
- /* key: 0xff0b */ 0x215c,
- /* key: 0xff0c */ 0x2124,
- /* key: 0xff0d */ 0xffff,
- /* key: 0xff0e */ 0x2125,
- /* key: 0xff0f */ 0x213f,
- /* key: 0xff10 */ 0x2330,
- /* key: 0xff11 */ 0x2331,
- /* key: 0xff12 */ 0x2332,
- /* key: 0xff13 */ 0x2333,
- /* key: 0xff14 */ 0x2334,
- /* key: 0xff15 */ 0x2335,
- /* key: 0xff16 */ 0x2336,
- /* key: 0xff17 */ 0x2337,
- /* key: 0xff18 */ 0x2338,
- /* key: 0xff19 */ 0x2339,
- /* key: 0xff1a */ 0x2127,
- /* key: 0xff1b */ 0x2128,
- /* key: 0xff1c */ 0x2163,
- /* key: 0xff1d */ 0x2161,
- /* key: 0xff1e */ 0x2164,
- /* key: 0xff1f */ 0x2129,
- /* key: 0xff20 */ 0x2177,
- /* key: 0xff21 */ 0x2341,
- /* key: 0xff22 */ 0x2342,
- /* key: 0xff23 */ 0x2343,
- /* key: 0xff24 */ 0x2344,
- /* key: 0xff25 */ 0x2345,
- /* key: 0xff26 */ 0x2346,
- /* key: 0xff27 */ 0x2347,
- /* key: 0xff28 */ 0x2348,
- /* key: 0xff29 */ 0x2349,
- /* key: 0xff2a */ 0x234a,
- /* key: 0xff2b */ 0x234b,
- /* key: 0xff2c */ 0x234c,
- /* key: 0xff2d */ 0x234d,
- /* key: 0xff2e */ 0x234e,
- /* key: 0xff2f */ 0x234f,
- /* key: 0xff30 */ 0x2350,
- /* key: 0xff31 */ 0x2351,
- /* key: 0xff32 */ 0x2352,
- /* key: 0xff33 */ 0x2353,
- /* key: 0xff34 */ 0x2354,
- /* key: 0xff35 */ 0x2355,
- /* key: 0xff36 */ 0x2356,
- /* key: 0xff37 */ 0x2357,
- /* key: 0xff38 */ 0x2358,
- /* key: 0xff39 */ 0x2359,
- /* key: 0xff3a */ 0x235a,
- /* key: 0xff3b */ 0x214e,
- /* key: 0xff3c */ 0xffff,
- /* key: 0xff3d */ 0x214f,
- /* key: 0xff3e */ 0x2130,
- /* key: 0xff3f */ 0x2132,
- /* key: 0xff40 */ 0x212e,
- /* key: 0xff41 */ 0x2361,
- /* key: 0xff42 */ 0x2362,
- /* key: 0xff43 */ 0x2363,
- /* key: 0xff44 */ 0x2364,
- /* key: 0xff45 */ 0x2365,
- /* key: 0xff46 */ 0x2366,
- /* key: 0xff47 */ 0x2367,
- /* key: 0xff48 */ 0x2368,
- /* key: 0xff49 */ 0x2369,
- /* key: 0xff4a */ 0x236a,
- /* key: 0xff4b */ 0x236b,
- /* key: 0xff4c */ 0x236c,
- /* key: 0xff4d */ 0x236d,
- /* key: 0xff4e */ 0x236e,
- /* key: 0xff4f */ 0x236f,
- /* key: 0xff50 */ 0x2370,
- /* key: 0xff51 */ 0x2371,
- /* key: 0xff52 */ 0x2372,
- /* key: 0xff53 */ 0x2373,
- /* key: 0xff54 */ 0x2374,
- /* key: 0xff55 */ 0x2375,
- /* key: 0xff56 */ 0x2376,
- /* key: 0xff57 */ 0x2377,
- /* key: 0xff58 */ 0x2378,
- /* key: 0xff59 */ 0x2379,
- /* key: 0xff5a */ 0x237a,
- /* key: 0xff5b */ 0x2150,
- /* key: 0xff5c */ 0x2143,
- /* key: 0xff5d */ 0x2151,
- /* key: 0xff5e */ 0xffff,
- /* key: 0xff5f */ 0xffff,
- /* key: 0xff60 */ 0xffff,
- /* key: 0xff61 */ 0xa1,
- /* key: 0xff62 */ 0xa2,
- /* key: 0xff63 */ 0xa3,
- /* key: 0xff64 */ 0xa4,
- /* key: 0xff65 */ 0xa5,
- /* key: 0xff66 */ 0xa6,
- /* key: 0xff67 */ 0xa7,
- /* key: 0xff68 */ 0xa8,
- /* key: 0xff69 */ 0xa9,
- /* key: 0xff6a */ 0xaa,
- /* key: 0xff6b */ 0xab,
- /* key: 0xff6c */ 0xac,
- /* key: 0xff6d */ 0xad,
- /* key: 0xff6e */ 0xae,
- /* key: 0xff6f */ 0xaf,
- /* key: 0xff70 */ 0xb0,
- /* key: 0xff71 */ 0xb1,
- /* key: 0xff72 */ 0xb2,
- /* key: 0xff73 */ 0xb3,
- /* key: 0xff74 */ 0xb4,
- /* key: 0xff75 */ 0xb5,
- /* key: 0xff76 */ 0xb6,
- /* key: 0xff77 */ 0xb7,
- /* key: 0xff78 */ 0xb8,
- /* key: 0xff79 */ 0xb9,
- /* key: 0xff7a */ 0xba,
- /* key: 0xff7b */ 0xbb,
- /* key: 0xff7c */ 0xbc,
- /* key: 0xff7d */ 0xbd,
- /* key: 0xff7e */ 0xbe,
- /* key: 0xff7f */ 0xbf,
- /* key: 0xff80 */ 0xc0,
- /* key: 0xff81 */ 0xc1,
- /* key: 0xff82 */ 0xc2,
- /* key: 0xff83 */ 0xc3,
- /* key: 0xff84 */ 0xc4,
- /* key: 0xff85 */ 0xc5,
- /* key: 0xff86 */ 0xc6,
- /* key: 0xff87 */ 0xc7,
- /* key: 0xff88 */ 0xc8,
- /* key: 0xff89 */ 0xc9,
- /* key: 0xff8a */ 0xca,
- /* key: 0xff8b */ 0xcb,
- /* key: 0xff8c */ 0xcc,
- /* key: 0xff8d */ 0xcd,
- /* key: 0xff8e */ 0xce,
- /* key: 0xff8f */ 0xcf,
- /* key: 0xff90 */ 0xd0,
- /* key: 0xff91 */ 0xd1,
- /* key: 0xff92 */ 0xd2,
- /* key: 0xff93 */ 0xd3,
- /* key: 0xff94 */ 0xd4,
- /* key: 0xff95 */ 0xd5,
- /* key: 0xff96 */ 0xd6,
- /* key: 0xff97 */ 0xd7,
- /* key: 0xff98 */ 0xd8,
- /* key: 0xff99 */ 0xd9,
- /* key: 0xff9a */ 0xda,
- /* key: 0xff9b */ 0xdb,
- /* key: 0xff9c */ 0xdc,
- /* key: 0xff9d */ 0xdd,
- /* key: 0xff9e */ 0xde,
- /* key: 0xff9f */ 0xdf,
- /* key: 0xffe0 */ 0xffff,
- /* key: 0xffe1 */ 0xffff,
- /* key: 0xffe2 */ 0xffff,
- /* key: 0xffe3 */ 0x2131,
- /* key: 0xffe4 */ 0xffff,
- /* key: 0xffe5 */ 0x216f,
- /* key: 0xffe6 */ 0xffff,
- /* key: 0xffe7 */ 0xffff,
- /* key: 0xffe8 */ 0xffff,
- /* key: 0xffe9 */ 0xffff,
- /* key: 0xffea */ 0xffff,
- /* key: 0xffeb */ 0xffff,
- /* key: 0xffec */ 0xffff,
- /* key: 0xffed */ 0xffff,
- /* key: 0xffee */ 0xffff,
- /* key: 0xffef */ 0xffff,
-};
diff --git a/libjava/gnu/gcj/convert/gen-from-JIS.c b/libjava/gnu/gcj/convert/gen-from-JIS.c
deleted file mode 100644
index 4df25bc5444..00000000000
--- a/libjava/gnu/gcj/convert/gen-from-JIS.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <stdio.h>
-struct chval
-{
- unsigned char b1; /* 1st byte */
- unsigned char b2; /* 2nd byte */
- unsigned short uc; /* unicode value */
-};
-
-#define MAP(B1, B2, C) { B1, B2, C },
-
-struct chval chtab_0201[] = {
-#include "JIS0201.h"
- { 255, 255, 0}
-};
-
-struct chval chtab_0208[] = {
-#include "JIS0208.h"
- { 255, 255, 0}
-};
-
-struct chval chtab_0212[] = {
-#include "JIS0212.h"
- { 255, 255, 0}
-};
-#undef MAP
-
-struct chval sorted[] = {
-#define MAP(B1, B2, C) { B1, B2, C },
-#include "JIS0208.h"
-#undef MAP
-#define MAP(B1, B2, C) { 0x80|B1, B2, C },
-#include "JIS0212.h"
-#undef MAP
-};
-
-struct chval *chtab;
-
-int
-compare (void *p1, void *p2)
-{
- struct chval *c1 = (struct chval *) p1;
- struct chval *c2 = (struct chval *) p2;
- return (int) c1->uc - (int) c2->uc;
-}
-
-int
-main(int argc, char** argv)
-{
- FILE *out = stdout;
- int min1 = 256, max1 = 0, min2 = 256, max2 = 0, count = 0;
- int low1_uc = 0xFFFF, high1_uc = 0;
- int low2_uc = 0xFFFF, high2_uc = 0;
- int i; int row, col;
- if (strcmp (argv[1], "JIS0208") == 0)
- chtab = chtab_0208;
- else if (strcmp (argv[1], "JIS0212") == 0)
- chtab = chtab_0212;
- else if (strcmp (argv[1], "toJIS") == 0)
- {
- int i;
- for (i = 0; chtab_0201[i].b1 != 255; i++)
- {
- enter(chtab_0201[i].uc, chtab_0201[i].b2);
- }
- for (i = 0; i < 0x20; i++)
- {
- enter (i, i);
- }
- enter (127, 127);
- for (i = 0; chtab_0208[i].b1 != 255; i++)
- {
- enter(chtab_0208[i].uc,
- (chtab_0208[i].b1 << 8) | chtab_0208[i].b2);
- }
- for (i = 0; chtab_0212[i].b1 != 255; i++)
- {
- enter(chtab_0212[i].uc,
- 0x8000 | (chtab_0212[i].b1 << 8) | chtab_0212[i].b2);
- }
- print_table ("Unicode_to_JIS", stdout);
- exit(0);
- }
- else
- {
- fprintf (stderr, "bad argument!");
- exit (-1);
- }
- for (i = 0; chtab[i].b1 != 255; i++)
- {
- if (chtab[i].b1 < min1) min1 = chtab[i].b1;
- if (chtab[i].b2 < min2) min2 = chtab[i].b2;
- if (chtab[i].b1 > max1) max1 = chtab[i].b1;
- if (chtab[i].b2 > max2) max2 = chtab[i].b2;
- count++;
- }
- fprintf(stderr, "1st byte ranges from %d to %d.\n", min1, max1);
- fprintf(stderr, "2nd byte ranges from %d to %d.\n", min2, max2);
-
- fprintf(out,"/* This file is automatically generated from %s.TXT. */\n",
- argv[1]);
- fprintf(out, "unsigned short %s_to_Unicode[%d][%d] = {\n",
- argv[1], max1 - min1 + 1, max2 - min2 + 1);
- i = 0;
- for (row = min1; row <= max1; row++)
- {
- fprintf(out, "/* 1st byte: %d */ { ", row);
- if (row < chtab[i].b1)
- {
- fprintf(out, "0 }, /* unused row */\n");
- }
- else if (row > chtab[i].b1)
- {
- fprintf (stderr, "error - char table out of order!\n");
- exit (-1);
- }
- else
- {
- fprintf(out, "\n");
- for (col = min2; col <= max2; col++)
- {
- if (row == chtab[i].b1 && col == chtab[i].b2)
- {
- int uc = chtab[i].uc;
- if (uc < 0x2000)
- {
- if (uc > high1_uc)
- high1_uc = uc;
- if (uc < low1_uc)
- low1_uc = uc;
- }
- else
- {
- if (uc > high2_uc)
- high2_uc = uc;
- if (uc < low2_uc)
- low2_uc = uc;
- }
- fprintf (out, " /* 2nd byte: %d */ 0x%04x",
- chtab[i].b2, uc);
- i++;
- }
- else if (row < chtab[i].b1
- || (row == chtab[i].b1 && col < chtab[i].b2))
- {
- fprintf (out, " 0");
- }
- else
- {
- fprintf (stderr, "error - char table our of order!\n");
- exit (-1);
- }
- if (col != max2)
- fprintf (out, ",\n");
- }
- fprintf(out, row == max1 ? "}\n" : "},\n");
- }
- }
- fprintf(out, "};\n");
- fprintf(stderr, "total number of characters is %d.\n", count);
- fprintf(stderr, "Range is 0x%04x-0x%04x and 0x%04x-0x%04x.\n",
- low1_uc, high1_uc, low2_uc, high2_uc);
- return 0;
-}
diff --git a/libjava/gnu/gcj/convert/make-trie.c b/libjava/gnu/gcj/convert/make-trie.c
deleted file mode 100644
index 49c85fbe83b..00000000000
--- a/libjava/gnu/gcj/convert/make-trie.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-typedef struct trie_node
-{
- int key;
- int level;
- int position;
- union
- {
- int value;
- struct trie_node *node;
- } u[16];
-} trie_node;
-
-trie_node *
-make_node ()
-{
- trie_node *node = (trie_node *) malloc (sizeof(trie_node));
- if (node == NULL)
- abort();
- return node;
-}
-
-trie_node *
-make_leaf_node ()
-{
- trie_node *node = make_node ();
- int i = 16;
- while (--i >= 0)
- node->u[i].value = -1;
- return node;
-}
-
-trie_node *
-make_branch_node ()
-{
- trie_node *node = make_node ();
- int i = 16;
- while (--i >= 0)
- node->u[i].node = NULL;
- return node;
-}
-
-
-trie_node *table = NULL;
-
-void
-enter (int key, int value)
-{
- trie_node **ptr = &table;
- int shift = 12;
- for (; shift > 0; shift -= 4)
- {
- if (*ptr == NULL)
- {
- *ptr = make_branch_node ();
- (*ptr)->key = key & (0xFFFF << (shift + 4));
- (*ptr)->level = shift / 4;
- }
- ptr = &(*ptr)->u[(key >> shift) & 0xF].node;
- }
- if (*ptr == NULL)
- {
- *ptr = make_leaf_node ();
- (*ptr)->key = key & 0xFFF0;
- (*ptr)->level = 0;
- }
- if ((*ptr)->u[key & 0xF].value != -1
- && (*ptr)->u[key & 0xF].value != value)
- fprintf(stderr, "duplicate value for key: %d, %d!\n", key, value);
- (*ptr)->u[key & 0xF].value = value;
-}
-
-int assigned = 0;
-
-void
-assign (trie_node *node, int level)
-{
- int i;
- if (node == NULL)
- return;
- if (node->level != level)
- abort();
- node->position = assigned;
- assigned++;
- if (level == 0)
- return;
- for (i = 0; i < 16; i++)
- {
- assign (node->u[i].node, level-1);
- }
-}
-
-int next_node_index_toprint = 0;
-
-void
-print (trie_node *node, int index, int level, FILE *out)
-{
- int i;
- if (node->key != index || node->level != level)
- abort();
- if (level == 0) /* leaf node */
- {
- for (i = 0; i < 16; i++)
- {
- int node_index = index | (i << (level * 4));
- if (node_index < next_node_index_toprint)
- abort();
- if (node->u[i].value == -1)
- fprintf (out, " /* key: 0x%x */ 0xffff,\n", node_index);
- else
- fprintf (out, " /* key: 0x%x */ 0x%x,\n",
- node_index, node->u[i].value);
- next_node_index_toprint = node_index + 1;
- }
- }
- else
- {
- for (i = 0; i < 16; i++)
- {
- int node_index = index | (i << (level * 4));
- fprintf (out, " /* branch: 0x%0*x%.*s */ ",
- 4 - level, node_index >> ( 4 * level),
- level, "XXXX");
- if (node->u[i].node == NULL)
- fprintf (out, "0,\n");
- else
- fprintf (out, "%d,\n", 16 * node->u[i].node->position);
- }
-
- for (i = 0; i < 16; i++)
- {
- int node_index = index | (i << (level * 4));
- if (node->u[i].node != NULL)
- print (node->u[i].node, node_index, level-1, out);
- }
- }
-}
-
-void
-print_table (char *name, FILE *out)
-{
- assign (table, 3);
-
- fprintf(out, "/* This file is automatically generated. */\n");
- fprintf(out, "unsigned short %s[] = {\n", name);
- print (table, 0x0000, 3, out);
- fprintf(out, "};\n");
-}
-
-#if 0
-int
-main (int argc, char **argv)
-{
- int count = 0;
- for (;;)
- {
- int key, value;
- int i = scanf (" 0x%x 0x%x", &key, &value);
- if (i < 2)
- break;
- count++;
- enter (key, value);
- }
- return 0;
-}
-#endif
diff --git a/libjava/gnu/gcj/convert/natInput_EUCJIS.cc b/libjava/gnu/gcj/convert/natInput_EUCJIS.cc
deleted file mode 100644
index 4c62818464d..00000000000
--- a/libjava/gnu/gcj/convert/natInput_EUCJIS.cc
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-#include <cni.h>
-#include <gnu/gcj/convert/Input_EUCJIS.h>
-
-#define ERROR_CHAR 0xFFFD
-
-extern unsigned short JIS0208_to_Unicode[84][94];
-extern unsigned short JIS0212_to_Unicode[76][94];
-
-jint
-gnu::gcj::convert::Input_EUCJIS::read(jcharArray outbuffer, jint outpos,
- jint outlength)
-{
- jint start_outpos = outpos;
- for (;;)
- {
- if (outpos >= outlength)
- break;
- if (inpos >= inlength)
- break;
- int b = ((unsigned char*) elements(inbuffer))[inpos++];
- if (codeset == 0) // ASCII or JIS-Roman
- {
- if (b < 128)
- {
-#if 1
- // Technically, we should translate 0x5c to Yen symbol;
- // in practice, it is not clear.
- if (b == 0x5c)
- b = 0x00A5; // Yen sign.
-#endif
- elements(outbuffer)[outpos++] = (char) b;
- }
- else
- {
- if (b == 0x8E) // SS2
- codeset = 2;
- else if (b == 0x8F) // SS3
- codeset = 3;
- else
- {
- codeset = 1;
- first_byte = b;
- }
- }
- }
- else if (codeset == 1) // JIS X 0208:1997
- {
- first_byte -= 0x80 + 33;
- b -= 0x80 + 33;
- if ((unsigned) first_byte >= 84 || (unsigned) b >= 94)
- b = ERROR_CHAR;
- else
- {
- b = JIS0208_to_Unicode[first_byte][b];
- if (b == 0)
- b = ERROR_CHAR;
- }
- elements(outbuffer)[outpos++] = b;
- codeset = 0;
- }
- else if (codeset == 2) // Half-width katakana
- {
- if (b >= 0xA1 && b <= 0xDF)
- b += 0xFF61 - 0xA1;
- else
- b = ERROR_CHAR;
- elements(outbuffer)[outpos++] = b;
- codeset = 0;
- }
- else if (codeset == 3) // second byte of JIS X 0212-1990
- {
- first_byte = b;
- codeset = 4;
- }
- else // codeset == 4 // third byte of JIS X 0212-1990
- {
- first_byte -= 0x80 + 34;
- b -= 0x80 + 33;
- if ((unsigned) first_byte >= 76 || (unsigned) b >= 94)
- b = ERROR_CHAR;
- else
- {
- b = JIS0208_to_Unicode[first_byte][b];
- if (b == 0)
- b = ERROR_CHAR;
- }
- elements(outbuffer)[outpos++] = b;
- codeset = 0;
- }
- }
- return outpos - start_outpos;
-}
diff --git a/libjava/gnu/gcj/convert/natInput_SJIS.cc b/libjava/gnu/gcj/convert/natInput_SJIS.cc
deleted file mode 100644
index 59ad532ec82..00000000000
--- a/libjava/gnu/gcj/convert/natInput_SJIS.cc
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-#include <cni.h>
-#include <gnu/gcj/convert/Input_SJIS.h>
-
-#define ERROR_CHAR 0xFFFD
-
-extern unsigned short JIS0208_to_Unicode[84][94];
-extern unsigned short JIS0212_to_Unicode[76][94];
-
-jint
-gnu::gcj::convert::Input_SJIS::read(jcharArray outbuffer, jint outpos,
- jint outlength)
-{
- jint start_outpos = outpos;
- for (;;)
- {
- if (outpos >= outlength)
- break;
- if (inpos >= inlength)
- break;
- int b = ((unsigned char*) elements(inbuffer))[inpos++];
- if (first_byte == 0)
- {
- if (b < 128)
- {
-#if 1
- // Technically, we should translate 0x5c to Yen symbol;
- // in practice, it is not clear.
- if (b == 0x5c)
- b = 0x00A5; // Yen sign.
-#endif
- elements(outbuffer)[outpos++] = (char) b;
- }
- else if (b >= 0xA1 && b <= 0xDF)
- {
- b += 0xFF61 - 0xA1;
- elements(outbuffer)[outpos++] = b;
- }
- else
- first_byte = b;
- }
- else
- {
- // From Lunde: "CJKV Informatio Processing", O'Reilly, 1999, p 420:
- bool adjust = b < 159;
- int rowOffset = first_byte < 160 ? 112 : 176;
- int cellOffset = adjust ? (b > 127 ? 32 : 31) : 126;
- first_byte = ((first_byte - rowOffset) << 1) - adjust;
- b -= cellOffset;
-
- first_byte -= 33;
- b -= 33;
-
- if ((unsigned) first_byte >= 84 || (unsigned) b >= 94)
- b = ERROR_CHAR;
- else
- {
- b = JIS0208_to_Unicode[first_byte][b];
- if (b == 0)
- b = ERROR_CHAR;
- }
- elements(outbuffer)[outpos++] = b;
-
- first_byte = 0;
- }
- }
- return outpos - start_outpos;
-}
diff --git a/libjava/gnu/gcj/convert/natOutput_EUCJIS.cc b/libjava/gnu/gcj/convert/natOutput_EUCJIS.cc
deleted file mode 100644
index 585e56b25c5..00000000000
--- a/libjava/gnu/gcj/convert/natOutput_EUCJIS.cc
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-#include <cni.h>
-#include <gnu/gcj/convert/Output_EUCJIS.h>
-
-/* A trie structure to map unicode values to JIS codes.
- * code == -1: the character is undefined.
- * code >= 0 && code < 128: JIS-Roman - mostly Ascii.
- * code >= 128 && code < 256: Half-width Katakana.
- * code >= 256 && code < 0x8000: JIS X 0208:1997.
- * code >= 0x8000 && code < 0xFFFF: JIX X 0212-1990.
- */
-
-extern unsigned short Unicode_to_JIS[];
-
-int
-trie_lookup (unsigned short *trie, unsigned short key)
-{
- unsigned short branch = trie[(key >> 12) & 0xf];
- if (branch == 0)
- return -1;
- branch = trie[branch + ((key >> 8) & 0xf)];
- if (branch == 0)
- return -1;
- branch = trie[branch + ((key >> 4) & 0xf)];
- if (branch == 0)
- return -1;
- return trie[branch + (key & 0xf)];
-}
-
-static jint
-convert_TO_EUCJIS (gnu::gcj::convert::Output_EUCJIS *encoder,
- jchar *ptr, jint inlength)
-{
- int orig_inlength = inlength;
- jint outbuf_length = encoder->buf->length;
- for (;;)
- {
- if (encoder->count >= outbuf_length)
- break;
- if (encoder->pending1 >= 0)
- {
- elements(encoder->buf)[encoder->count++] = encoder->pending1;
- encoder->pending1 = encoder->pending2;
- encoder->pending2 = -1;
- continue;
- }
- if (inlength == 0)
- break;
- jchar ch = *ptr++;
- inlength--;
- unsigned short val = trie_lookup(Unicode_to_JIS, ch);
- if (val < 0x80)
- {
- if (val == 0xffff)
- val = '?';
- }
- else if (val <= 0xFF)
- {
- encoder->pending1 = val;
- encoder->pending2 = -1;
- val = 0x8e;
- }
- else if (val < 0x8000)
- {
- val |= 0x8080;
- encoder->pending1 = val & 0xff;
- val = val >> 8;
- encoder->pending2 = -1;
- }
- else
- {
- val |= 0x8080;
- encoder->pending1 = val >> 8;
- encoder->pending2 = val & 0xff;
- val = 0x8f;
- }
- elements(encoder->buf)[encoder->count++] = val;
- }
- return orig_inlength - inlength;
-}
-
-jint
-gnu::gcj::convert::Output_EUCJIS::write (jcharArray inbuffer,
- jint inpos, jint inlength)
-{
- return convert_TO_EUCJIS(this, &elements(inbuffer)[inpos], inlength);
-}
-
-jint
-gnu::gcj::convert::Output_EUCJIS::write (jstring str, jint inpos,
- jint inlength, jcharArray)
-{
- return convert_TO_EUCJIS(this, _Jv_GetStringChars(str)+inpos, inlength);
-}
diff --git a/libjava/gnu/gcj/convert/natOutput_SJIS.cc b/libjava/gnu/gcj/convert/natOutput_SJIS.cc
deleted file mode 100644
index 66be27b4635..00000000000
--- a/libjava/gnu/gcj/convert/natOutput_SJIS.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-#include <cni.h>
-#include <gnu/gcj/convert/Output_SJIS.h>
-
-extern unsigned short Unicode_to_JIS[];
-
-extern int trie_lookup (unsigned short *trie, unsigned short key);
-
-static jint
-convert_TO_SJIS (gnu::gcj::convert::Output_SJIS *encoder,
- jchar *ptr, jint inlength)
-{
- int orig_inlength = inlength;
- jint outbuf_length = encoder->buf->length;
- for (;;)
- {
- if (encoder->count >= outbuf_length)
- break;
- if (encoder->pending >= 0)
- {
- elements(encoder->buf)[encoder->count++] = encoder->pending;
- encoder->pending = -1;
- continue;
- }
- if (inlength == 0)
- break;
- jchar ch = *ptr++;
- inlength--;
- unsigned short val = trie_lookup(Unicode_to_JIS, ch);
- if (val < 0xFF)
- {
- if (val == 0xffff)
- val = '?';
- }
- else
- {
- int b1 = val >> 8;
- int b2 = val & 0xff;
- // From Lunde: "CJKV Informatio Processing", O'Reilly, 1999:
- int rowOffset = b1 < 95 ? 112 : 176;
- int cellOffset = (b1 & 1) != 0 ? (b2 > 95 ? 32 : 31) : 126;
- b1 = ((b1 + 1) >> 1) + rowOffset;
- b2 += cellOffset;
- val = b1;
- encoder->pending = b2;
- }
- elements(encoder->buf)[encoder->count++] = val;
- }
- return orig_inlength - inlength;
-}
-
-jint
-gnu::gcj::convert::Output_SJIS::write (jcharArray inbuffer,
- jint inpos, jint inlength)
-{
- return convert_TO_SJIS(this, &elements(inbuffer)[inpos], inlength);
-}
-
-jint
-gnu::gcj::convert::Output_SJIS::write (jstring str, jint inpos,
- jint inlength, jcharArray)
-{
- return convert_TO_SJIS(this, _Jv_GetStringChars(str)+inpos, inlength);
-}
diff --git a/libjava/gnu/gcj/protocol/file/Connection.java b/libjava/gnu/gcj/protocol/file/Connection.java
deleted file mode 100644
index 7ad7ca0d659..00000000000
--- a/libjava/gnu/gcj/protocol/file/Connection.java
+++ /dev/null
@@ -1,169 +0,0 @@
-// Connection.java - Implementation of URLConnection for file protocol.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.protocol.file;
-
-import java.net.*;
-import java.io.*;
-import java.util.Vector;
-import java.util.Hashtable;
-import java.util.Enumeration;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date April 13, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal subset of functionality.
- */
-
-class Connection extends URLConnection
-{
- private Hashtable hdrHash = new Hashtable();
- private Vector hdrVec = new Vector();
- private boolean gotHeaders = false;
- private File fileIn;
-
- public Connection(URL url)
- {
- super(url);
- }
-
- // Implementation of abstract method.
- public void connect() throws IOException
- {
- // Call is ignored if already connected.
- if (connected)
- return;
-
- // If not connected, then file needs to be openned.
- fileIn = new File(url.getFile());
- connected = true;
- }
-
- public InputStream getInputStream() throws IOException
- {
- if (!connected)
- connect();
-
- if (! doInput)
- throw new ProtocolException("Can't open InputStream if doInput is false");
- return new BufferedInputStream(new FileInputStream(fileIn));
- }
-
- // Override default method in URLConnection.
- public OutputStream getOutputStream() throws IOException
- {
- if (!connected)
- connect();
-
- if (! doOutput)
- throw new
- ProtocolException("Can't open OutputStream if doOutput is false");
- return new BufferedOutputStream(new FileOutputStream(fileIn));
- }
-
- // Override default method in URLConnection.
- public String getHeaderField(String name)
- {
- try
- {
- getHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- return (String) hdrHash.get(name.toLowerCase());
- }
-
- // Override default method in URLConnection.
- public String getHeaderField(int n)
- {
- try
- {
- getHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- if (n < hdrVec.size())
- return getField((String) hdrVec.elementAt(n));
-
- return null;
- }
-
- // Override default method in URLConnection.
- public String getHeaderFieldKey(int n)
- {
- try
- {
- getHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- if (n < hdrVec.size())
- return getKey((String) hdrVec.elementAt(n));
-
- return null;
- }
-
- private String getKey(String str)
- {
- if (str == null)
- return null;
- int index = str.indexOf(':');
- if (index >= 0)
- return str.substring(0, index);
- else
- return null;
- }
-
- private String getField(String str)
- {
- if (str == null)
- return null;
- int index = str.indexOf(':');
- if (index >= 0)
- return str.substring(index + 1).trim();
- else
- return str;
- }
-
- private void getHeaders() throws IOException
- {
- if (gotHeaders)
- return;
- gotHeaders = true;
-
- connect();
-
- // Yes, it is overkill to use the hash table and vector here since
- // we're only putting one header in the file, but in case we need
- // to add others later and for consistency, we'll implement it this way.
-
- // Add the only header we know about right now: Content-length.
- long len = fileIn.length();
- String line = "Content-length: " + len;
- hdrVec.addElement(line);
-
- // The key will never be null in this scenario since we build up the
- // headers ourselves. If we ever rely on getting a header from somewhere
- // else, then we may have to check if the result of getKey() is null.
- String key = getKey(line);
- hdrHash.put(key.toLowerCase(), Long.toString(len));
- }
-}
diff --git a/libjava/gnu/gcj/protocol/file/Handler.java b/libjava/gnu/gcj/protocol/file/Handler.java
deleted file mode 100644
index de7d79b35d0..00000000000
--- a/libjava/gnu/gcj/protocol/file/Handler.java
+++ /dev/null
@@ -1,49 +0,0 @@
-// Handler.java - URLStreamHandler for file protocol.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.protocol.file;
-
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLStreamHandler;
-import java.io.IOException;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date April 13, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal functionality.
- */
-
-public class Handler extends URLStreamHandler
-{
- protected URLConnection openConnection(URL url) throws IOException
- {
- // If a hostname is set, then we need to switch protocols to ftp
- // in order to transfer this from the remote host.
- if (! url.getHost().equals(""))
- {
- // Reset the protocol (and implicitly the handler) for this URL.
- // Then have the URL attempt the connection again, as it will
- // get the changed handler the next time around.
- url.set("ftp", url.getHost(), url.getPort(), url.getFile(),
- url.getRef());
- // Until the ftp protocol handler is written, this will cause
- // a NullPointerException.
- return url.openConnection();
- }
-
- return new Connection(url);
- }
-}
diff --git a/libjava/gnu/gcj/protocol/http/Connection.java b/libjava/gnu/gcj/protocol/http/Connection.java
deleted file mode 100644
index e76aa772a13..00000000000
--- a/libjava/gnu/gcj/protocol/http/Connection.java
+++ /dev/null
@@ -1,290 +0,0 @@
-// Connection.java - Implementation of HttpURLConnection for http protocol.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.protocol.http;
-
-import java.net.*;
-import java.io.*;
-import java.util.Vector;
-import java.util.Hashtable;
-import java.util.Enumeration;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 29, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal subset of functionality. Proxies and Redirects
- * not yet handled. FileNameMap handling needs to be considered.
- * useCaches, ifModifiedSince, and allowUserInteraction need
- * consideration as well as doInput and doOutput.
- */
-
-class Connection extends HttpURLConnection
-{
- protected Socket sock = null;
- private static Hashtable defRequestProperties = new Hashtable();
- private Hashtable requestProperties;
- private Hashtable hdrHash = new Hashtable();
- private Vector hdrVec = new Vector();
- private boolean gotHeaders = false;
- private BufferedInputStream bufferedIn;
-
- public Connection(URL url)
- {
- super(url);
- requestProperties = (Hashtable) defRequestProperties.clone();
- }
-
- // Override method in URLConnection.
- public static void setDefaultRequestProperty(String key, String value)
- {
- defRequestProperties.put(key, value);
- }
-
- // Override method in URLConnection.
- public static String getDefaultRequestProperty(String key)
- {
- return (String) defRequestProperties.get(key);
- }
-
- // Override method in URLConnection.
- public void setRequestProperty(String key, String value)
- {
- if (connected)
- throw new IllegalAccessError("Connection already established.");
-
- requestProperties.put(key, value);
- }
-
- // Override method in URLConnection.
- public String getRequestProperty(String key)
- {
- if (connected)
- throw new IllegalAccessError("Connection already established.");
-
- return (String) requestProperties.get(key);
- }
-
- // Implementation of abstract method.
- public void connect() throws IOException
- {
- // Call is ignored if already connected.
- if (connected)
- return;
-
- // Get address and port number.
- int port;
- InetAddress destAddr = InetAddress.getByName(url.getHost());
- if ((port = url.getPort()) == -1)
- port = 80;
-
- // Open socket and output stream.
- sock = new Socket(destAddr, port);
- PrintWriter out = new PrintWriter(sock.getOutputStream());
-
- // Send request including any request properties that were set.
- out.print(getRequestMethod() + " " + url.getFile() + " HTTP/1.1\n");
- out.print("Host: " + url.getHost() + ":" + port + "\n");
- Enumeration reqKeys = requestProperties.keys();
- Enumeration reqVals = requestProperties.elements();
- while (reqKeys.hasMoreElements())
- out.print(reqKeys.nextElement() + ": " + reqVals.nextElement() + "\n");
- out.print("\n");
- out.flush();
- connected = true;
- }
-
- // Implementation of abstract method.
- public void disconnect()
- {
- if (sock != null)
- {
- try
- {
- sock.close();
- }
- catch (IOException ex)
- {
- ; // Ignore errors in closing socket.
- }
- sock = null;
- }
- connected = false;
- }
-
- // TODO: public boolean usingProxy()
- public boolean usingProxy()
- {
- throw new InternalError("HttpURLConnection.usingProxy not implemented");
- }
-
- // Override default method in URLConnection.
- public InputStream getInputStream() throws IOException
- {
- if (!connected)
- connect();
-
- if (! doInput)
- throw new ProtocolException("Can't open InputStream if doInput is false");
- if (bufferedIn == null)
- bufferedIn = new BufferedInputStream(sock.getInputStream());
- return bufferedIn;
- }
-
- // Override default method in URLConnection.
- public OutputStream getOutputStream() throws IOException
- {
- if (!connected)
- connect();
-
- if (! doOutput)
- throw new
- ProtocolException("Can't open OutputStream if doOutput is false");
- return sock.getOutputStream();
- }
-
- // Override default method in URLConnection.
- public String getHeaderField(String name)
- {
- try
- {
- getHttpHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- return (String) hdrHash.get(name.toLowerCase());
- }
-
- // Override default method in URLConnection.
- public String getHeaderField(int n)
- {
- try
- {
- getHttpHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- if (n < hdrVec.size())
- return getField((String) hdrVec.elementAt(n));
-
- return null;
- }
-
- // Override default method in URLConnection.
- public String getHeaderFieldKey(int n)
- {
- try
- {
- getHttpHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- if (n < hdrVec.size())
- return getKey((String) hdrVec.elementAt(n));
-
- return null;
- }
-
- private String getKey(String str)
- {
- if (str == null)
- return null;
- int index = str.indexOf(':');
- if (index >= 0)
- return str.substring(0, index);
- else
- return null;
- }
-
- private String getField(String str)
- {
- if (str == null)
- return null;
- int index = str.indexOf(':');
- if (index >= 0)
- return str.substring(index + 1).trim();
- else
- return str;
- }
-
- private void getHttpHeaders() throws IOException
- {
- if (gotHeaders)
- return;
- gotHeaders = true;
-
- connect();
-
- // Originally tried using a BufferedReader here to take advantage of
- // the readLine method and avoid the following, but the buffer read
- // past the end of the headers so the first part of the content was lost.
- // It is probably more robust than it needs to be, e.g. the byte[]
- // is unlikely to overflow and a '\r' should always be followed by a '\n',
- // but it is better to be safe just in case.
- if (bufferedIn == null)
- bufferedIn = new BufferedInputStream(sock.getInputStream());
-
- int buflen = 100;
- byte[] buf = new byte[buflen];
- String line = "";
- boolean gotnl = false;
- byte[] ch = new byte[1];
- ch[0] = (byte) '\n';
- while (true)
- {
- // Check for leftover byte from non-'\n' after a '\r'.
- if (ch[0] != '\n')
- line = line + '\r' + new String(ch, 0, 1);
-
- int i;
- for (i = 0; i < buflen; i++)
- {
- bufferedIn.read(buf, i, 1);
- if (buf[i] == '\r')
- {
- bufferedIn.read(ch, 0, 1);
- if (ch[0] == '\n')
- gotnl = true;
- break;
- }
- }
- line = line + new String(buf, 0, i);
-
- // A '\r' '\n' combo indicates the end of the header entry.
- // If it wasn't found, cycle back through the loop and append
- // to 'line' until one is found.
- if (gotnl)
- {
- // A zero length entry signals the end of the headers.
- if (line.length() == 0)
- break;
-
- // Store the header and reinitialize for next cycle.
- hdrVec.addElement(line);
- String key = getKey(line);
- if (key != null)
- hdrHash.put(key.toLowerCase(), getField(line));
- line = "";
- ch[0] = (byte) '\n';
- gotnl = false;
- }
- }
- }
-}
diff --git a/libjava/gnu/gcj/protocol/http/Handler.java b/libjava/gnu/gcj/protocol/http/Handler.java
deleted file mode 100644
index 7e379890eb2..00000000000
--- a/libjava/gnu/gcj/protocol/http/Handler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Handler.java - URLStreamHandler for http protocol.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.protocol.http;
-
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLStreamHandler;
-import java.io.IOException;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 26, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal functionality.
- */
-
-public class Handler extends URLStreamHandler
-{
- protected URLConnection openConnection(URL url) throws IOException
- {
- return new Connection(url);
- }
-}
diff --git a/libjava/gnu/gcj/text/BaseBreakIterator.java b/libjava/gnu/gcj/text/BaseBreakIterator.java
deleted file mode 100644
index 794fb2e0c16..00000000000
--- a/libjava/gnu/gcj/text/BaseBreakIterator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-// Base class for default BreakIterators.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.text;
-
-import java.text.BreakIterator;
-import java.text.CharacterIterator;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 22, 1999
- */
-
-public abstract class BaseBreakIterator extends BreakIterator
-{
- public int current ()
- {
- return iter.getIndex();
- }
-
- public int first ()
- {
- iter.first();
- return iter.getBeginIndex();
- }
-
- public int following (int pos)
- {
- int save = iter.getIndex();
- iter.setIndex(pos);
- int r = next ();
- iter.setIndex(save);
- return r;
- }
-
- public CharacterIterator getText ()
- {
- return iter;
- }
-
- public int last ()
- {
- iter.last();
- return iter.getEndIndex();
- }
-
- public int next (int n)
- {
- int r = iter.getIndex ();
- if (n > 0)
- {
- while (n > 0 && r != DONE)
- {
- r = next ();
- --n;
- }
- }
- else if (n < 0)
- {
- while (n < 0 && r != DONE)
- {
- r = previous ();
- ++n;
- }
- }
- return r;
- }
-
- public void setText (CharacterIterator newText)
- {
- iter = newText;
- }
-
- protected CharacterIterator iter;
-}
diff --git a/libjava/gnu/gcj/text/CharacterBreakIterator.java b/libjava/gnu/gcj/text/CharacterBreakIterator.java
deleted file mode 100644
index e1777fd9945..00000000000
--- a/libjava/gnu/gcj/text/CharacterBreakIterator.java
+++ /dev/null
@@ -1,188 +0,0 @@
-// Default character BreakIterator.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.text;
-
-import java.text.BreakIterator;
-import java.text.CharacterIterator;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 19, 1999
- * Written using The Unicode Standard, Version 2.0.
- */
-
-public class CharacterBreakIterator extends BaseBreakIterator
-{
- // Hangul Jamo constants from Unicode book.
- private static final int LBase = 0x1100;
- private static final int VBase = 0x1161;
- private static final int TBase = 0x11a7;
- private static final int LCount = 19;
- private static final int VCount = 21;
- private static final int TCount = 28;
-
- // Information about surrogates.
- private static final int highSurrogateStart = 0xD800;
- private static final int highSurrogateEnd = 0xDBFF;
- private static final int lowSurrogateStart = 0xDC00;
- private static final int lowSurrogateEnd = 0xDFFF;
-
- public Object clone ()
- {
- return new CharacterBreakIterator (this);
- }
-
- public CharacterBreakIterator ()
- {
- iter = null; // FIXME?
- }
-
- private CharacterBreakIterator (CharacterBreakIterator other)
- {
- iter = (CharacterIterator) other.iter.clone();
- }
-
- // Some methods to tell us different properties of characters.
- private final boolean isL (char c)
- {
- return c >= LBase && c <= LBase + LCount;
- }
- private final boolean isV (char c)
- {
- return c >= VBase && c <= VBase + VCount;
- }
- private final boolean isT (char c)
- {
- return c >= TBase && c <= TBase + TCount;
- }
- private final boolean isLVT (char c)
- {
- return isL (c) || isV (c) || isT (c);
- }
- private final boolean isHighSurrogate (char c)
- {
- return c >= highSurrogateStart && c <= highSurrogateEnd;
- }
- private final boolean isLowSurrogate (char c)
- {
- return c >= lowSurrogateStart && c <= lowSurrogateEnd;
- }
-
- public int next ()
- {
- int end = iter.getEndIndex();
- if (iter.getIndex() == end)
- return DONE;
-
- char c;
- for (char prev = CharacterIterator.DONE; iter.getIndex() < end; prev = c)
- {
- c = iter.next();
- if (c == CharacterIterator.DONE)
- break;
- int type = Character.getType(c);
-
- // Break after paragraph separators.
- if (type == Character.PARAGRAPH_SEPARATOR)
- break;
-
- // Now we need some lookahead.
- char ahead = iter.next();
- iter.previous();
- if (ahead == CharacterIterator.DONE)
- break;
- int aheadType = Character.getType(ahead);
-
- if (aheadType != Character.NON_SPACING_MARK
- && ! isLowSurrogate (ahead)
- && ! isLVT (ahead))
- break;
- if (! isLVT (c) && isLVT (ahead))
- break;
- if (isL (c) && ! isLVT (ahead)
- && aheadType != Character.NON_SPACING_MARK)
- break;
- if (isV (c) && ! isV (ahead) && !isT (ahead)
- && aheadType != Character.NON_SPACING_MARK)
- break;
- if (isT (c) && ! isT (ahead)
- && aheadType != Character.NON_SPACING_MARK)
- break;
-
- if (! isHighSurrogate (c) && isLowSurrogate (ahead))
- break;
- if (isHighSurrogate (c) && ! isLowSurrogate (ahead))
- break;
- if (! isHighSurrogate (prev) && isLowSurrogate (c))
- break;
- }
-
- return iter.getIndex();
- }
-
- public int previous ()
- {
- if (iter.getIndex() == iter.getBeginIndex())
- return DONE;
-
- int start = iter.getBeginIndex();
- while (iter.getIndex() >= iter.getBeginIndex())
- {
- char c = iter.previous();
- if (c == CharacterIterator.DONE)
- break;
- int type = Character.getType(c);
-
- if (type != Character.NON_SPACING_MARK
- && ! isLowSurrogate (c)
- && ! isLVT (c))
- break;
-
- // Now we need some lookahead.
- char ahead = iter.previous();
- if (ahead == CharacterIterator.DONE)
- {
- iter.next();
- break;
- }
- char ahead2 = iter.previous();
- iter.next();
- iter.next();
- if (ahead2 == CharacterIterator.DONE)
- break;
- int aheadType = Character.getType(ahead);
-
- if (aheadType == Character.PARAGRAPH_SEPARATOR)
- break;
-
- if (isLVT (c) && ! isLVT (ahead))
- break;
- if (! isLVT (c) && type != Character.NON_SPACING_MARK
- && isL (ahead))
- break;
- if (! isV (c) && ! isT (c) && type != Character.NON_SPACING_MARK
- && isV (ahead))
- break;
- if (! isT (c) && type != Character.NON_SPACING_MARK
- && isT (ahead))
- break;
-
- if (isLowSurrogate (c) && ! isHighSurrogate (ahead))
- break;
- if (! isLowSurrogate (c) && isHighSurrogate (ahead))
- break;
- if (isLowSurrogate (ahead) && ! isHighSurrogate (ahead2))
- break;
- }
-
- return iter.getIndex();
- }
-}
diff --git a/libjava/gnu/gcj/text/LineBreakIterator.java b/libjava/gnu/gcj/text/LineBreakIterator.java
deleted file mode 100644
index b42881c864e..00000000000
--- a/libjava/gnu/gcj/text/LineBreakIterator.java
+++ /dev/null
@@ -1,168 +0,0 @@
-// Default word BreakIterator.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.text;
-
-import java.text.BreakIterator;
-import java.text.CharacterIterator;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 22, 1999
- * Written using The Unicode Standard, Version 2.0.
- */
-
-public class LineBreakIterator extends BaseBreakIterator
-{
- public Object clone ()
- {
- return new LineBreakIterator (this);
- }
-
- public LineBreakIterator ()
- {
- iter = null;
- }
-
- private LineBreakIterator (LineBreakIterator other)
- {
- iter = (CharacterIterator) other.iter.clone();
- }
-
- // Some methods to tell us different properties of characters.
- private final boolean isNb (char c)
- {
- return (c == 0x00a0 // NO-BREAK SPACE
- || c == 0x2011 // NON-BREAKING HYPHEN
- || c == 0xfeff); // ZERO WITH NO-BREAK SPACE
- }
- private final boolean isClose (int type)
- {
- return (type == Character.END_PUNCTUATION
- // Unicode book says "comma, period, ...", which I take to
- // mean "Po" class.
- || type == Character.OTHER_PUNCTUATION);
- }
- private final boolean isIdeo (char c)
- {
- return (c >= 0x3040 && c <= 0x309f // Hiragana
- || c >= 0x30a0 && c <= 0x30ff // Katakana
- || c >= 0x4e00 && c <= 0x9fff // Han
- || c >= 0x3100 && c <= 0x312f); // Bopomofo
- }
-
- public int next ()
- {
- int end = iter.getEndIndex();
- if (iter.getIndex() == end)
- return DONE;
-
- while (iter.getIndex() < end)
- {
- char c = iter.current();
- int type = Character.getType(c);
-
- char n = iter.next();
-
- if (n == CharacterIterator.DONE
- || type == Character.PARAGRAPH_SEPARATOR
- || type == Character.LINE_SEPARATOR)
- break;
-
- // Handle two cases where we must scan for non-spacing marks.
- int start = iter.getIndex();
- if (type == Character.SPACE_SEPARATOR
- || type == Character.START_PUNCTUATION
- || isIdeo (c))
- {
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.NON_SPACING_MARK)
- n = iter.next();
- if (n == CharacterIterator.DONE)
- break;
-
- if (type == Character.SPACE_SEPARATOR)
- {
- int nt = Character.getType(n);
- if (nt != Character.NON_SPACING_MARK
- && nt != Character.SPACE_SEPARATOR
- && ! isNb (n))
- break;
- }
- else if (type == Character.START_PUNCTUATION)
- {
- if (isIdeo (n))
- {
- // Open punctuation followed by non spacing marks
- // and then ideograph does not have a break in
- // it. So skip all this.
- start = iter.getIndex();
- }
- }
- else
- {
- // Ideograph preceded this character.
- if (isClose (Character.getType(n)))
- break;
- }
- }
- iter.setIndex(start);
- }
-
- return iter.getIndex();
- }
-
- public int previous ()
- {
- int start = iter.getBeginIndex();
- if (iter.getIndex() == start)
- return DONE;
-
- while (iter.getIndex() >= start)
- {
- char c = iter.previous();
- if (c == CharacterIterator.DONE)
- break;
- int type = Character.getType(c);
-
- char n = iter.previous();
- if (n == CharacterIterator.DONE)
- break;
- iter.next();
-
- int nt = Character.getType(n);
- // Break after paragraph separators.
- if (nt == Character.PARAGRAPH_SEPARATOR
- || nt == Character.LINE_SEPARATOR)
- break;
-
- // Skip non-spacing marks.
- int init = iter.getIndex();
- while (n != CharacterIterator.DONE && nt == Character.NON_SPACING_MARK)
- {
- n = iter.previous();
- nt = Character.getType(n);
- }
-
- if (nt == Character.SPACE_SEPARATOR
- && type != Character.SPACE_SEPARATOR
- && type != Character.NON_SPACING_MARK
- && ! isNb (c))
- break;
- if (! isClose (type) && isIdeo (n))
- break;
- if (isIdeo (c) && nt != Character.START_PUNCTUATION)
- break;
- iter.setIndex(init);
- }
-
- return iter.getIndex();
- }
-}
diff --git a/libjava/gnu/gcj/text/LocaleData_en.java b/libjava/gnu/gcj/text/LocaleData_en.java
deleted file mode 100644
index f21f7cef0ce..00000000000
--- a/libjava/gnu/gcj/text/LocaleData_en.java
+++ /dev/null
@@ -1,81 +0,0 @@
-// Generic English locale data for java.text.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.text;
-
-import java.util.ListResourceBundle;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 4, 1999
- */
-
-public final class LocaleData_en extends ListResourceBundle
-{
- // These are for DateFormatSymbols.
- static final String[] ampmsDefault = {"AM", "PM" };
- static final String[] erasDefault = {"BC", "AD" };
- static final String localPatternCharsDefault = "GyMdkHmsSEDFwWahKz";
- static final String[] monthsDefault = {
- "January", "February", "March", "April", "May", "June",
- "July", "August", "September", "October", "November", "December", ""
- };
- static final String[] shortMonthsDefault = {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""
- };
- static final String[] shortWeekdaysDefault = {
- "", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
- };
- static final String[] weekdaysDefault = {
- "", "Sunday", "Monday", "Tuesday",
- "Wednesday", "Thursday", "Friday", "Saturday"
- };
-
- private static final Object[][] contents =
- {
- // These are for DecimalFormatSymbols.
- { "decimalSeparator", "." },
- { "digit", "#" },
- { "exponential", "E" },
- { "groupingSeparator", "," },
- { "infinity", "\u221e" },
- { "minusSign", "-" },
- { "NaN", "\ufffd" },
- { "patternSeparator", ";" },
- { "percent", "%" },
- { "perMill", "\u2030" },
- { "zeroDigit", "0" },
-
- // These are for NumberFormat.
- { "numberFormat", "#,##0.###" },
- { "percentFormat", "#,##0%" },
-
- // These are for DateFormatSymbols.
- { "ampm", ampmsDefault },
- { "eras", erasDefault },
- { "datePatternChars", localPatternCharsDefault },
- { "months", monthsDefault },
- { "shortMonths", shortMonthsDefault },
- { "shortWeekdays", shortWeekdaysDefault },
- { "weekdays", weekdaysDefault },
-
- // For RuleBasedCollator.
- // FIXME: this is nowhere near complete.
- // In particular we must mark accents as ignorable,
- // and probably other things as well.
- { "collatorRule", "< 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < a,A < b,B < c,C < d,D < e,E < f,F < g,G < h,H < i,I < j,J < k,K < l,L < m,M < n,N < o,O < p,P < q,Q < r,R < s,S < t,T < u,U < v,V < w,W < x,X < y,Y < z,Z" }
- };
-
- protected Object[][] getContents ()
- {
- return contents;
- }
-}
diff --git a/libjava/gnu/gcj/text/LocaleData_en_US.java b/libjava/gnu/gcj/text/LocaleData_en_US.java
deleted file mode 100644
index a0f02097975..00000000000
--- a/libjava/gnu/gcj/text/LocaleData_en_US.java
+++ /dev/null
@@ -1,71 +0,0 @@
-// US English locale data for java.text.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.text;
-
-import java.util.ListResourceBundle;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 4, 1999
- */
-
-public final class LocaleData_en_US extends ListResourceBundle
-{
- // These are for DateFormatSymbols.
- static String[][] zoneStringsDefault = {
- { "PST", "Pacific Standard Time", "PST",
- /**/ "Pacific Daylight Time", "PDT", "San Francisco" },
- { "MST", "Mountain Standard Time", "MST",
- /**/ "Mountain Daylight Time", "MDT", "Denver" },
- { "PNT", "Mountain Standard Time", "MST",
- /**/ "Mountain Standard Time", "MST", "Phoenix" },
- { "CST", "Central Standard Time", "CST",
- /**/ "Central Daylight Time", "CDT", "Chicago" },
- { "EST", "Eastern Standard Time", "EST",
- /**/ "Eastern Daylight Time", "EDT", "Boston" },
- { "IET", "Eastern Standard Time", "EST",
- /**/ "Eastern Standard Time", "EST", "Indianapolis" },
- { "PRT", "Atlantic Standard Time", "AST",
- /**/ "Atlantic Daylight Time", "ADT", "Halifax" },
- { "HST", "Hawaii Standard Time", "HST",
- /**/ "Hawaii Daylight Time", "HDT", "Honolulu" },
- { "AST", "Alaska Standard Time", "AST",
- /**/ "Alaska Daylight Time", "ADT", "Anchorage" }
- };
-
- private static final Object[][] contents =
- {
- // These are for DecimalFormatSymbols.
- { "currency", "$" },
- { "intlCurrencySymbol", "$" }, // FIXME?
-
- // These are for NumberFormat.
- { "currencyFormat", "$#,##0.00;($#,##0.00)" },
-
- // These are for DateFormatSymbols.
- { "zoneStrings", zoneStringsDefault },
-
- // These are for DateFormat.
- { "shortDateFormat", "M/d/yy" }, // Java's Y2K bug.
- { "mediumDateFormat", "d-MMM-yy" },
- { "longDateFormat", "MMMM d, yyyy" },
- { "fullDateFormat", "EEEE MMMM d, yyyy G" },
- { "shortTimeFormat", "h:mm a" },
- { "mediumTimeFormat", "h:mm:ss a" },
- { "longTimeFormat", "h:mm:ss a z" },
- { "fullTimeFormat", "h:mm:ss;S 'o''clock' a z" }
- };
-
- protected Object[][] getContents ()
- {
- return contents;
- }
-}
diff --git a/libjava/gnu/gcj/text/SentenceBreakIterator.java b/libjava/gnu/gcj/text/SentenceBreakIterator.java
deleted file mode 100644
index 8668087b23f..00000000000
--- a/libjava/gnu/gcj/text/SentenceBreakIterator.java
+++ /dev/null
@@ -1,226 +0,0 @@
-// Default sentence BreakIterator.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.text;
-
-import java.text.BreakIterator;
-import java.text.CharacterIterator;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 23, 1999
- * Written using The Unicode Standard, Version 2.0.
- */
-
-public class SentenceBreakIterator extends BaseBreakIterator
-{
- public Object clone ()
- {
- return new SentenceBreakIterator (this);
- }
-
- public SentenceBreakIterator ()
- {
- iter = null;
- }
-
- private SentenceBreakIterator (SentenceBreakIterator other)
- {
- iter = (CharacterIterator) other.iter.clone();
- }
-
- public int next ()
- {
- int end = iter.getEndIndex();
- if (iter.getIndex() == end)
- return DONE;
-
- while (iter.getIndex() < end)
- {
- char c = iter.current();
- if (c == CharacterIterator.DONE)
- break;
- int type = Character.getType(c);
-
- char n = iter.next();
- if (n == CharacterIterator.DONE)
- break;
-
- // Always break after paragraph separator.
- if (type == Character.PARAGRAPH_SEPARATOR)
- break;
-
- if (c == '!' || c == '?')
- {
- // Skip close punctuation.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.END_PUNCTUATION)
- n = iter.next();
- // Skip spaces.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.SPACE_SEPARATOR)
- n = iter.next();
- // Skip optional paragraph separator.
- if (n != CharacterIterator.DONE
- && Character.getType(n) == Character.PARAGRAPH_SEPARATOR)
- n = iter.next();
-
- // There's always a break somewhere after `!' or `?'.
- break;
- }
-
- if (c == '.')
- {
- int save = iter.getIndex();
- // Skip close punctuation.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.END_PUNCTUATION)
- n = iter.next();
- // Skip spaces. We keep count because we need at least
- // one for this period to represent a terminator.
- int spcount = 0;
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.SPACE_SEPARATOR)
- {
- n = iter.next();
- ++spcount;
- }
- if (spcount > 0)
- {
- int save2 = iter.getIndex();
- // Skip over open puncutation.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.START_PUNCTUATION)
- n = iter.next();
- // Next character must not be lower case.
- if (n == CharacterIterator.DONE
- || ! Character.isLowerCase(n))
- {
- iter.setIndex(save2);
- break;
- }
- }
- iter.setIndex(save);
- }
- }
-
- return iter.getIndex();
- }
-
- private final int previous_internal ()
- {
- int start = iter.getBeginIndex();
- if (iter.getIndex() == start)
- return DONE;
-
- while (iter.getIndex() >= start)
- {
- char c = iter.previous();
- if (c == CharacterIterator.DONE)
- break;
-
- char n = iter.previous();
- if (n == CharacterIterator.DONE)
- break;
- iter.next();
- int nt = Character.getType(n);
-
- if (! Character.isLowerCase(c)
- && (nt == Character.START_PUNCTUATION
- || nt == Character.SPACE_SEPARATOR))
- {
- int save = iter.getIndex();
- int save_nt = nt;
- char save_n = n;
- // Skip open punctuation.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.START_PUNCTUATION)
- n = iter.previous();
- if (n == CharacterIterator.DONE)
- break;
- if (Character.getType(n) == Character.SPACE_SEPARATOR)
- {
- // Must have at least once space after the `.'.
- int save2 = iter.getIndex();
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.SPACE_SEPARATOR)
- n = iter.previous();
- // Skip close punctuation.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.END_PUNCTUATION)
- n = iter.previous();
- if (n == CharacterIterator.DONE || n == '.')
- {
- // Communicate location of actual end.
- period = iter.getIndex();
- iter.setIndex(save2);
- break;
- }
- }
- iter.setIndex(save);
- nt = save_nt;
- n = save_n;
- }
-
- if (nt == Character.PARAGRAPH_SEPARATOR)
- {
- // Communicate location of actual end.
- period = iter.getIndex();
- break;
- }
- else if (nt == Character.SPACE_SEPARATOR
- || nt == Character.END_PUNCTUATION)
- {
- int save = iter.getIndex();
- // Skip spaces.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.SPACE_SEPARATOR)
- n = iter.previous();
- // Skip close punctuation.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.END_PUNCTUATION)
- n = iter.previous();
- int here = iter.getIndex();
- iter.setIndex(save);
- if (n == CharacterIterator.DONE || n == '!' || n == '?')
- {
- // Communicate location of actual end.
- period = here;
- break;
- }
- }
- else if (n == '!' || n == '?')
- {
- // Communicate location of actual end.
- period = iter.getIndex();
- break;
- }
- }
-
- return iter.getIndex();
- }
-
- public int previous ()
- {
- // We want to skip over the first sentence end to the second one.
- // However, at the end of the string we want the first end.
- int here = iter.getIndex();
- period = here;
- int first = previous_internal ();
- if (here == iter.getEndIndex() || first == DONE)
- return first;
- iter.setIndex(period);
- return previous_internal ();
- }
-
- // This is used for communication between previous and
- // previous_internal.
- private int period;
-}
diff --git a/libjava/gnu/gcj/text/WordBreakIterator.java b/libjava/gnu/gcj/text/WordBreakIterator.java
deleted file mode 100644
index b2fcb97a1a1..00000000000
--- a/libjava/gnu/gcj/text/WordBreakIterator.java
+++ /dev/null
@@ -1,224 +0,0 @@
-// Default word BreakIterator.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.text;
-
-import java.text.BreakIterator;
-import java.text.CharacterIterator;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 22, 1999
- * Written using The Unicode Standard, Version 2.0.
- */
-
-public class WordBreakIterator extends BaseBreakIterator
-{
- public Object clone ()
- {
- return new WordBreakIterator (this);
- }
-
- public WordBreakIterator ()
- {
- iter = null;
- }
-
- private WordBreakIterator (WordBreakIterator other)
- {
- iter = (CharacterIterator) other.iter.clone();
- }
-
- // Some methods to tell us different properties of characters.
- private final boolean isHira (char c)
- {
- return c >= 0x3040 && c <= 0x309f;
- }
- private final boolean isKata (char c)
- {
- return c >= 0x30a0 && c <= 0x30ff;
- }
- private final boolean isHan (char c)
- {
- return c >= 0x4e00 && c <= 0x9fff;
- }
-
- public int next ()
- {
- int end = iter.getEndIndex();
- if (iter.getIndex() == end)
- return DONE;
-
- while (iter.getIndex() < end)
- {
- char c = iter.current();
- if (c == CharacterIterator.DONE)
- break;
- int type = Character.getType(c);
-
- char n = iter.next();
- if (n == CharacterIterator.DONE)
- break;
-
- // Break after paragraph separators.
- if (type == Character.PARAGRAPH_SEPARATOR
- || type == Character.LINE_SEPARATOR)
- break;
-
- // Break between letters and non-letters.
- // FIXME: we treat apostrophe as part of a word. This
- // is an English-ism.
- boolean is_letter = Character.isLetter(c);
- if (c != '\'' && ! is_letter && type != Character.NON_SPACING_MARK
- && Character.isLetter(n))
- break;
-
- // Always break after certain symbols, such as punctuation.
- // This heuristic is derived from hints in the JCL book and is
- // not part of Unicode. It seems to be right, however.
- // FIXME: we treat apostrophe as part of a word. This
- // is an English-ism.
- if (c != '\''
- && (type == Character.DASH_PUNCTUATION
- || type == Character.START_PUNCTUATION
- || type == Character.END_PUNCTUATION
- || type == Character.CONNECTOR_PUNCTUATION
- || type == Character.OTHER_PUNCTUATION
- || type == Character.MATH_SYMBOL
- || type == Character.CURRENCY_SYMBOL
- || type == Character.MODIFIER_SYMBOL
- || type == Character.OTHER_SYMBOL
- || type == Character.FORMAT
- || type == Character.CONTROL))
- break;
-
- boolean is_hira = isHira (c);
- boolean is_kata = isKata (c);
- boolean is_han = isHan (c);
-
- // Special case Japanese.
- if (! is_hira && ! is_kata && ! is_han
- && type != Character.NON_SPACING_MARK
- && (isHira (n) || isKata (n) || isHan (n)))
- break;
-
- if (is_hira || is_kata || is_han || is_letter)
- {
- // Now we need to do some lookahead. We might need to do
- // quite a bit of lookahead, so we save our position and
- // restore it later.
- int save = iter.getIndex();
- // Skip string of non spacing marks.
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.NON_SPACING_MARK)
- n = iter.next();
- if (n == CharacterIterator.DONE)
- break;
- if ((is_hira && ! isHira (n))
- || (is_kata && ! isHira (n) && ! isKata (n))
- || (is_han && ! isHira (n) && ! isHan (n))
- // FIXME: we treat apostrophe as part of a word. This
- // is an English-ism.
- || (is_letter && ! Character.isLetter(n) && n != '\''))
- break;
- iter.setIndex(save);
- }
- }
-
- return iter.getIndex();
- }
-
- public int previous ()
- {
- int start = iter.getBeginIndex();
- if (iter.getIndex() == start)
- return DONE;
-
- while (iter.getIndex() >= start)
- {
- char c = iter.previous();
- if (c == CharacterIterator.DONE)
- break;
-
- boolean is_hira = isHira (c);
- boolean is_kata = isKata (c);
- boolean is_han = isHan (c);
- boolean is_letter = Character.isLetter(c);
-
- char n = iter.previous();
- if (n == CharacterIterator.DONE)
- break;
- iter.next();
- int type = Character.getType(n);
- // Break after paragraph separators.
- if (type == Character.PARAGRAPH_SEPARATOR
- || type == Character.LINE_SEPARATOR)
- break;
-
- // Break between letters and non-letters.
- // FIXME: we treat apostrophe as part of a word. This
- // is an English-ism.
- if (n != '\'' && ! Character.isLetter(n)
- && type != Character.NON_SPACING_MARK
- && is_letter)
- break;
-
- // Always break after certain symbols, such as punctuation.
- // This heuristic is derived from hints in the JCL book and is
- // not part of Unicode. It seems to be right, however.
- // FIXME: we treat apostrophe as part of a word. This
- // is an English-ism.
- if (n != '\''
- && (type == Character.DASH_PUNCTUATION
- || type == Character.START_PUNCTUATION
- || type == Character.END_PUNCTUATION
- || type == Character.CONNECTOR_PUNCTUATION
- || type == Character.OTHER_PUNCTUATION
- || type == Character.MATH_SYMBOL
- || type == Character.CURRENCY_SYMBOL
- || type == Character.MODIFIER_SYMBOL
- || type == Character.OTHER_SYMBOL
- || type == Character.FORMAT
- || type == Character.CONTROL))
- break;
-
- // Special case Japanese.
- if ((is_hira || is_kata || is_han)
- && ! isHira (n) && ! isKata (n) && ! isHan (n)
- && type != Character.NON_SPACING_MARK)
- break;
-
- // We might have to skip over non spacing marks to see what's
- // on the other side.
- if (! is_hira || (! is_letter && c != '\''))
- {
- int save = iter.getIndex();
- while (n != CharacterIterator.DONE
- && Character.getType(n) == Character.NON_SPACING_MARK)
- n = iter.previous();
- iter.setIndex(save);
- // This is a strange case: a bunch of non-spacing marks at
- // the beginning. We treat the current location as a word
- // break.
- if (n == CharacterIterator.DONE)
- break;
- if ((isHira (n) && ! is_hira)
- || (isKata (n) && ! is_hira && ! is_kata)
- || (isHan (n) && ! is_hira && ! is_han)
- // FIXME: we treat apostrophe as part of a word. This
- // is an English-ism.
- || (! is_letter && c != '\'' && Character.isLetter(n)))
- break;
- }
- }
-
- return iter.getIndex();
- }
-}
diff --git a/libjava/gnu/gcj/util/EnumerationChain.java b/libjava/gnu/gcj/util/EnumerationChain.java
deleted file mode 100644
index 6828439d530..00000000000
--- a/libjava/gnu/gcj/util/EnumerationChain.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package gnu.gcj.util;
-
-import java.util.Enumeration;
-import java.util.NoSuchElementException;
-
-public class EnumerationChain implements Enumeration
-{
- private Enumeration first_;
- private Enumeration second_;
-
- public EnumerationChain (Enumeration first, Enumeration second)
- {
- if (first == null
- || second == null)
- throw new NullPointerException();
-
- first_ = first;
- second_ = second;
- }
-
- public synchronized boolean hasMoreElements()
- {
- if (first_ == null)
- return false;
- else
- return first_.hasMoreElements();
- }
-
- public synchronized Object nextElement() throws NoSuchElementException
- {
- while (first_ != null)
- {
- if (! first_.hasMoreElements())
- {
- first_ = second_;
- second_ = null;
- }
- else
- return first_.nextElement();
- }
-
- throw new NoSuchElementException();
- }
-}
diff --git a/libjava/include/boehm-gc.h b/libjava/include/boehm-gc.h
deleted file mode 100644
index 6081a8981bf..00000000000
--- a/libjava/include/boehm-gc.h
+++ /dev/null
@@ -1,24 +0,0 @@
-// -*- c++ -*-
-// boehm-gc.h - Defines for Boehm collector.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JV_BOEHM_GC__
-#define __JV_BOEHM_GC__
-
-#define JV_MARKOBJ_DECL void *_Jv_MarkObj (void *, void *, void *, void *)
-#define JV_MARKARRAY_DECL void *_Jv_MarkArray (void *, void *, void *, void *)
-
-extern "C"
-{
- JV_MARKOBJ_DECL;
- JV_MARKARRAY_DECL;
-};
-
-#endif /* __JV_BOEHM_GC__ */
diff --git a/libjava/include/cni.h b/libjava/include/cni.h
deleted file mode 100644
index b9b202d41dd..00000000000
--- a/libjava/include/cni.h
+++ /dev/null
@@ -1,133 +0,0 @@
-// cni.h -*- c++ -*-
-// This file describes the Cygnus Native Interface, CNI.
-// It provides a nicer interface to many of the things in javaprims.h.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVA_CNI_H__
-#define __JAVA_CNI_H__
-
-#include <java/lang/Object.h>
-#include <java/lang/Class.h>
-
-#include <java-threads.h>
-#include <java-array.h>
-
-extern inline jobject
-JvAllocObject (jclass cls)
-{
- return _Jv_AllocObject (cls, cls->size());
-}
-
-extern inline jobject
-JvAllocObject (jclass cls, jsize sz)
-{
- return _Jv_AllocObject (cls, sz);
-}
-
-extern "C" jstring _Jv_NewStringUTF (const char *bytes);
-extern "C" void _Jv_InitClass (jclass);
-
-extern inline void
-JvInitClass (jclass cls)
-{
- return _Jv_InitClass (cls);
-}
-
-extern inline jstring
-JvAllocString (jsize sz)
-{
- return _Jv_AllocString (sz);
-}
-
-extern inline jstring
-JvNewString (const jchar *chars, jsize len)
-{
- return _Jv_NewString (chars, len);
-}
-
-extern inline jstring
-JvNewStringLatin1 (const char *bytes, jsize len)
-{
- return _Jv_NewStringLatin1 (bytes, len);
-}
-
-extern inline jstring
-JvNewStringLatin1 (const char *bytes)
-{
- return _Jv_NewStringLatin1 (bytes, strlen (bytes));
-}
-
-extern inline jchar *
-_Jv_GetStringChars (jstring str)
-{
- return (jchar*)((char*) str->data + str->boffset);
-}
-
-extern inline jchar*
-JvGetStringChars (jstring str)
-{
- return _Jv_GetStringChars (str);
-}
-
-extern inline jsize
-JvGetStringUTFLength (jstring string)
-{
- return _Jv_GetStringUTFLength (string);
-}
-
-extern inline jsize
-JvGetStringUTFRegion (jstring str, jsize start, jsize len, char *buf)
-{
- return _Jv_GetStringUTFRegion (str, start, len, buf);
-}
-
-extern inline jstring
-JvNewStringUTF (const char *bytes)
-{
- return _Jv_NewStringUTF (bytes);
-}
-
-extern class _Jv_PrimClass _Jv_byteClass, _Jv_shortClass, _Jv_intClass,
- _Jv_longClass, _Jv_booleanClass, _Jv_charClass, _Jv_floatClass,
- _Jv_doubleClass, _Jv_voidClass;
-#define JvPrimClass(TYPE) ((jclass) & _Jv_##TYPE##Class)
-
-class JvSynchronize
-{
-private:
- jobject obj;
-public:
- JvSynchronize (const jobject &o) : obj (o)
- { _Jv_MonitorEnter (obj); }
- ~JvSynchronize ()
- { _Jv_MonitorExit (obj); }
-};
-
-// Throw some exception.
-extern void JvThrow (jobject obj) __attribute__ ((__noreturn__));
-extern inline void
-JvThrow (jobject obj)
-{
- _Jv_Throw ((void *) obj);
-}
-
-/* Call malloc, but throw exception if insufficient memory. */
-extern inline void *
-JvMalloc (jsize size)
-{
- return _Jv_Malloc (size);
-}
-
-extern inline void
-JvFree (void *ptr)
-{
- return _Jv_Free (ptr);
-}
-#endif /* __JAVA_CNI_H__ */
diff --git a/libjava/include/config.h.in b/libjava/include/config.h.in
deleted file mode 100644
index c4acd69299f..00000000000
--- a/libjava/include/config.h.in
+++ /dev/null
@@ -1,255 +0,0 @@
-/* include/config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define if using alloca.c. */
-#undef C_ALLOCA
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
-#undef CRAY_STACKSEG_END
-
-/* Define if you have alloca, as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
-#undef HAVE_ALLOCA_H
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-#undef STACK_DIRECTION
-
-/* Define this if you want runtime debugging enabled. */
-#undef DEBUG
-
-/* Define if using POSIX threads that have the mutexattr functions. */
-#undef HAVE_PTHREAD_MUTEXATTR_INIT
-
-/* Define this if you prefer size over speed for java.lang.Character. */
-#undef COMPACT_CHARACTER
-
-/* Define if you have memcpy. */
-#undef HAVE_MEMCPY
-
-/* Define if you have memmove. */
-#undef HAVE_MEMMOVE
-
-/* Define if you have strerror. */
-#undef HAVE_STRERROR
-
-/* Define if you have __int32_t and __uint32_t. */
-#undef HAVE_INT32_DEFINED
-
-/* Define if you're running eCos. */
-#undef ECOS
-
-/* */
-#undef HAVE_LOCALTIME
-
-/* */
-#undef HAVE_MKTIME
-
-/* Define if using POSIX threads on Linux. */
-#undef LINUX_THREADS
-
-/* Define if you have the `ctime_r' function. */
-#undef HAVE_CTIME_R
-
-/* Define if you have the `gmtime_r' function. */
-#undef HAVE_GMTIME_R
-
-/* Define if you have the `localtime_r' function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define if inet6 structures are defined in netinet/in.h. */
-#undef HAVE_INET6
-
-/* Define it socklen_t typedef is in sys/socket.h. */
-#undef HAVE_SOCKLEN_T
-
-/* Define if Boehm GC in use. */
-#undef HAVE_BOEHM_GC
-
-/* Define if gethostname is declared in <unistd.h>. */
-#undef HAVE_GETHOSTNAME_DECL
-
-/* Define if gethostbyname_r returns `int'. */
-#undef GETHOSTBYNAME_R_RETURNS_INT
-
-/* Define if gethostbyaddr_r returns `int'. */
-#undef GETHOSTBYADDR_R_RETURNS_INT
-
-/* Define if struct tm has tm_gmtoff field. */
-#undef STRUCT_TM_HAS_GMTOFF
-
-/* Define if global `timezone' exists. */
-#undef HAVE_TIMEZONE
-
-/* Define to version of GCJ in use. */
-#undef GCJVERSION
-
-/* Define if you have the appropriate function. */
-#undef HAVE_ACCESS
-#undef HAVE_STAT
-#undef HAVE_MKDIR
-#undef HAVE_RENAME
-#undef HAVE_RMDIR
-#undef HAVE_UNLINK
-#undef HAVE_REALPATH
-#undef HAVE_READDIR_R
-#undef HAVE_GETHOSTBYNAME_R
-#undef HAVE_GETHOSTBYADDR_R
-
-/* Define if you have the access function. */
-#undef HAVE_ACCESS
-
-/* Define if you have the ctime function. */
-#undef HAVE_CTIME
-
-/* Define if you have the ctime_r function. */
-#undef HAVE_CTIME_R
-
-/* Define if you have the fsync function. */
-#undef HAVE_FSYNC
-
-/* Define if you have the ftime function. */
-#undef HAVE_FTIME
-
-/* Define if you have the gethostbyaddr_r function. */
-#undef HAVE_GETHOSTBYADDR_R
-
-/* Define if you have the gethostbyname_r function. */
-#undef HAVE_GETHOSTBYNAME_R
-
-/* Define if you have the gethostname function. */
-#undef HAVE_GETHOSTNAME
-
-/* Define if you have the getpwuid_r function. */
-#undef HAVE_GETPWUID_R
-
-/* Define if you have the gettimeofday function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define if you have the gmtime_r function. */
-#undef HAVE_GMTIME_R
-
-/* Define if you have the inet_addr function. */
-#undef HAVE_INET_ADDR
-
-/* Define if you have the inet_aton function. */
-#undef HAVE_INET_ATON
-
-/* Define if you have the inet_pton function. */
-#undef HAVE_INET_PTON
-
-/* Define if you have the ioctl function. */
-#undef HAVE_IOCTL
-
-/* Define if you have the localtime_r function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define if you have the memcpy function. */
-#undef HAVE_MEMCPY
-
-/* Define if you have the memmove function. */
-#undef HAVE_MEMMOVE
-
-/* Define if you have the mkdir function. */
-#undef HAVE_MKDIR
-
-/* Define if you have the open function. */
-#undef HAVE_OPEN
-
-/* Define if you have the pthread_mutexattr_setkind_np function. */
-#undef HAVE_PTHREAD_MUTEXATTR_SETKIND_NP
-
-/* Define if you have the pthread_mutexattr_settype function. */
-#undef HAVE_PTHREAD_MUTEXATTR_SETTYPE
-
-/* Define if you have the readdir_r function. */
-#undef HAVE_READDIR_R
-
-/* Define if you have the realpath function. */
-#undef HAVE_REALPATH
-
-/* Define if you have the rename function. */
-#undef HAVE_RENAME
-
-/* Define if you have the rmdir function. */
-#undef HAVE_RMDIR
-
-/* Define if you have the sched_yield function. */
-#undef HAVE_SCHED_YIELD
-
-/* Define if you have the select function. */
-#undef HAVE_SELECT
-
-/* Define if you have the sleep function. */
-#undef HAVE_SLEEP
-
-/* Define if you have the stat function. */
-#undef HAVE_STAT
-
-/* Define if you have the strerror function. */
-#undef HAVE_STRERROR
-
-/* Define if you have the time function. */
-#undef HAVE_TIME
-
-/* Define if you have the uname function. */
-#undef HAVE_UNAME
-
-/* Define if you have the unlink function. */
-#undef HAVE_UNLINK
-
-/* Define if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-
-/* Define if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define if you have the <netdb.h> header file. */
-#undef HAVE_NETDB_H
-
-/* Define if you have the <netinet/in.h> header file. */
-#undef HAVE_NETINET_IN_H
-
-/* Define if you have the <pwd.h> header file. */
-#undef HAVE_PWD_H
-
-/* Define if you have the <sys/filio.h> header file. */
-#undef HAVE_SYS_FILIO_H
-
-/* Define if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
diff --git a/libjava/include/default-signal.h b/libjava/include/default-signal.h
deleted file mode 100644
index 71545c06aca..00000000000
--- a/libjava/include/default-signal.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// default-signal.h - Catch runtime signals and turn them into exceptions.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef JAVA_SIGNAL_H
-#define JAVA_SIGNAL_H 1
-
-#undef HANDLE_SEGV
-#undef HANDLE_FPE
-
-#define INIT_SEGV do {} while (0)
-#define INIT_FPE do {} while (0)
-
-#endif /* JAVA_SIGNAL_H */
-
diff --git a/libjava/include/i386-signal.h b/libjava/include/i386-signal.h
deleted file mode 100644
index 73d8bbbbfc0..00000000000
--- a/libjava/include/i386-signal.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// i386-signal.h - Catch runtime signals and turn them into exceptions.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-/* This technique should work for all i386 based Unices which conform
- * to iBCS2. This includes all versions of Linux more recent than 1.3
- */
-
-
-#ifndef JAVA_SIGNAL_H
-#define JAVA_SIGNAL_H 1
-
-#include <signal.h>
-
-#define HANDLE_SEGV 1
-#define HANDLE_FPE 1
-
-#define SIGNAL_HANDLER(_name) \
-static void _name (int _dummy)
-
-#define MAKE_THROW_FRAME \
-{ \
- void **_p = (void **)&_dummy; \
- struct sigcontext_struct *_regs = (struct sigcontext_struct *)++_p; \
- \
- register unsigned long _ebp = _regs->ebp; \
- register unsigned long _eip = _regs->eip; \
- \
- asm volatile ("mov %0, (%%ebp); mov %1, 4(%%ebp)" \
- : : "r"(_ebp), "r"(_eip)); \
-}
-
-#define INIT_SEGV \
-do \
- { \
- nullp = new java::lang::NullPointerException (); \
- struct sigaction act; \
- act.sa_handler = catch_segv; \
- sigemptyset (&act.sa_mask); \
- act.sa_flags = 0; \
- sigaction (SIGSEGV, &act, NULL); \
- } \
-while (0)
-
-#define INIT_FPE \
-do \
- { \
- arithexception = new java::lang::ArithmeticException (); \
- struct sigaction act; \
- act.sa_handler = catch_fpe; \
- sigemptyset (&act.sa_mask); \
- act.sa_flags = 0; \
- sigaction (SIGFPE, &act, NULL); \
- } \
-while (0)
-
-#endif /* JAVA_SIGNAL_H */
-
diff --git a/libjava/include/java-array.h b/libjava/include/java-array.h
deleted file mode 100644
index 3be61b635a2..00000000000
--- a/libjava/include/java-array.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// java-array.h - Header file for CNI arrays. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVA_ARRAY_H__
-#define __JAVA_ARRAY_H__
-
-#pragma interface
-
-#include <java/lang/Object.h>
-
-extern "Java" {
-
-class __JArray : public java::lang::Object
-{
-public:
- int length;
- friend jsize JvGetArrayLength (__JArray*);
-};
-
-template<class T>
-class JArray : public __JArray
-{
- T data[0];
-public:
- friend T* elements<>(JArray<T>& x);
- friend T* elements<>(JArray<T>* x);
- // T* getData() { return data; }
- // T& operator[](jint i) { return data[i]; }
-};
-
-template<class T>
-T* elements(JArray<T>& x) { return x.data; }
-template<class T>
-T* elements(JArray<T>* x) { return x->data; }
-
-}; // end extern "Java"
-
-/* These typesdefs match those in JNI. */
-typedef __JArray *jarray;
-typedef JArray<jobject> *jobjectArray;
-typedef JArray<jboolean> *jbooleanArray;
-typedef JArray<jbyte> *jbyteArray;
-typedef JArray<jchar> *jcharArray;
-typedef JArray<jshort> *jshortArray;
-typedef JArray<jint> *jintArray;
-typedef JArray<jlong> *jlongArray;
-typedef JArray<jfloat> *jfloatArray;
-typedef JArray<jdouble> *jdoubleArray;
-typedef JArray<jstring> *jstringArray;
-// Temporary work-around for gcjh bug. FIXME
-typedef JArray<jcharArray> *jobjectArrayjchar;
-
-extern "C" jbooleanArray JvNewBooleanArray (jint length);
-extern "C" jbyteArray JvNewByteArray (jint length);
-extern "C" jcharArray JvNewCharArray (jint length);
-extern "C" jshortArray JvNewShortArray (jint length);
-extern "C" jintArray JvNewIntArray (jint length);
-extern "C" jlongArray JvNewLongArray (jint length);
-extern "C" jfloatArray JvNewFloatArray (jint length);
-extern "C" jdoubleArray JvNewDoubleArray (jint length);
-extern "C" jobjectArray _Jv_NewObjectArray(jsize length, jclass, jobject init);
-
-inline jobjectArray JvNewObjectArray (jsize length, jclass cls, jobject init)
-{ return _Jv_NewObjectArray (length, cls, init); }
-
-extern "C" jstringArray JvConvertArgv(int argc, const char **argv);
-extern "C" void JvRunMain (jclass klass, int argc, const char **argv);
-
-inline jsize JvGetArrayLength (jarray array) { return array->length; }
-
-#endif /* __JAVA_ARRAY_H__ */
diff --git a/libjava/include/java-assert.h b/libjava/include/java-assert.h
deleted file mode 100644
index 6e942f2a705..00000000000
--- a/libjava/include/java-assert.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// java-assert.h - Header file holding assertion definitions. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVA_ASSERT_H__
-#define __JAVA_ASSERT_H__
-
-// This is a libgcj implementation header.
-
-void _Jv_Abort (const char *, const char *, int, const char *)
- __attribute__ ((__noreturn__));
-
-#ifdef DEBUG
-#define _Jv_AssertDoCall(Message) _Jv_Abort (__FUNCTION__, __FILE__, __LINE__, Message)
-
-#define JvAssertMessage(Expr, Message) \
- do { if (! (Expr)) _Jv_AssertDoCall (Message); } while (0)
-#define JvAssert(Expr) \
- do { if (! (Expr)) _Jv_AssertDoCall (# Expr); } while (0)
-
-#define JvFail(Message) _Jv_AssertDoCall (Message)
-
-#else /* DEBUG */
-
-#define _Jv_AssertDoCall(Message)
-#define JvAssertMessage(Expr, Message)
-#define JvAssert(Expr)
-#define JvFail(Message) _Jv_Abort (0, 0, 0, Message)
-
-#endif /* not DEBUG */
-
-#endif /* __JAVA_ASSERT_H__ */
diff --git a/libjava/include/java-chardecomp.h b/libjava/include/java-chardecomp.h
deleted file mode 100644
index 346492afbd4..00000000000
--- a/libjava/include/java-chardecomp.h
+++ /dev/null
@@ -1,3416 +0,0 @@
-// java-chardecomp.h - Decomposition character tables -*- c++ -*-
-
-#ifndef __JAVA_CHARDECOMP_H__
-#define __JAVA_CHARDECOMP_H__
-
-// These tables are automatically generated by the chartables.pl
-// script. DO NOT EDIT the tables. Instead, fix the script
-// and run it again.
-
-// This file should only be included by natCollator.cc
-
-struct decomp_entry
-{
- jchar key;
- const char *value;
-};
-
-static const decomp_entry canonical_decomposition[] =
-{
- { 0x00c0, "\x00\x41\x03\x00" },
- { 0x00c1, "\x00\x41\x03\x01" },
- { 0x00c2, "\x00\x41\x03\x02" },
- { 0x00c3, "\x00\x41\x03\x03" },
- { 0x00c4, "\x00\x41\x03\x08" },
- { 0x00c5, "\x00\x41\x03\x0a" },
- { 0x00c7, "\x00\x43\x03\x27" },
- { 0x00c8, "\x00\x45\x03\x00" },
- { 0x00c9, "\x00\x45\x03\x01" },
- { 0x00ca, "\x00\x45\x03\x02" },
- { 0x00cb, "\x00\x45\x03\x08" },
- { 0x00cc, "\x00\x49\x03\x00" },
- { 0x00cd, "\x00\x49\x03\x01" },
- { 0x00ce, "\x00\x49\x03\x02" },
- { 0x00cf, "\x00\x49\x03\x08" },
- { 0x00d1, "\x00\x4e\x03\x03" },
- { 0x00d2, "\x00\x4f\x03\x00" },
- { 0x00d3, "\x00\x4f\x03\x01" },
- { 0x00d4, "\x00\x4f\x03\x02" },
- { 0x00d5, "\x00\x4f\x03\x03" },
- { 0x00d6, "\x00\x4f\x03\x08" },
- { 0x00d9, "\x00\x55\x03\x00" },
- { 0x00da, "\x00\x55\x03\x01" },
- { 0x00db, "\x00\x55\x03\x02" },
- { 0x00dc, "\x00\x55\x03\x08" },
- { 0x00dd, "\x00\x59\x03\x01" },
- { 0x00e0, "\x00\x61\x03\x00" },
- { 0x00e1, "\x00\x61\x03\x01" },
- { 0x00e2, "\x00\x61\x03\x02" },
- { 0x00e3, "\x00\x61\x03\x03" },
- { 0x00e4, "\x00\x61\x03\x08" },
- { 0x00e5, "\x00\x61\x03\x0a" },
- { 0x00e7, "\x00\x63\x03\x27" },
- { 0x00e8, "\x00\x65\x03\x00" },
- { 0x00e9, "\x00\x65\x03\x01" },
- { 0x00ea, "\x00\x65\x03\x02" },
- { 0x00eb, "\x00\x65\x03\x08" },
- { 0x00ec, "\x00\x69\x03\x00" },
- { 0x00ed, "\x00\x69\x03\x01" },
- { 0x00ee, "\x00\x69\x03\x02" },
- { 0x00ef, "\x00\x69\x03\x08" },
- { 0x00f1, "\x00\x6e\x03\x03" },
- { 0x00f2, "\x00\x6f\x03\x00" },
- { 0x00f3, "\x00\x6f\x03\x01" },
- { 0x00f4, "\x00\x6f\x03\x02" },
- { 0x00f5, "\x00\x6f\x03\x03" },
- { 0x00f6, "\x00\x6f\x03\x08" },
- { 0x00f9, "\x00\x75\x03\x00" },
- { 0x00fa, "\x00\x75\x03\x01" },
- { 0x00fb, "\x00\x75\x03\x02" },
- { 0x00fc, "\x00\x75\x03\x08" },
- { 0x00fd, "\x00\x79\x03\x01" },
- { 0x00ff, "\x00\x79\x03\x08" },
- { 0x0100, "\x00\x41\x03\x04" },
- { 0x0101, "\x00\x61\x03\x04" },
- { 0x0102, "\x00\x41\x03\x06" },
- { 0x0103, "\x00\x61\x03\x06" },
- { 0x0104, "\x00\x41\x03\x28" },
- { 0x0105, "\x00\x61\x03\x28" },
- { 0x0106, "\x00\x43\x03\x01" },
- { 0x0107, "\x00\x63\x03\x01" },
- { 0x0108, "\x00\x43\x03\x02" },
- { 0x0109, "\x00\x63\x03\x02" },
- { 0x010a, "\x00\x43\x03\x07" },
- { 0x010b, "\x00\x63\x03\x07" },
- { 0x010c, "\x00\x43\x03\x0c" },
- { 0x010d, "\x00\x63\x03\x0c" },
- { 0x010e, "\x00\x44\x03\x0c" },
- { 0x010f, "\x00\x64\x03\x0c" },
- { 0x0112, "\x00\x45\x03\x04" },
- { 0x0113, "\x00\x65\x03\x04" },
- { 0x0114, "\x00\x45\x03\x06" },
- { 0x0115, "\x00\x65\x03\x06" },
- { 0x0116, "\x00\x45\x03\x07" },
- { 0x0117, "\x00\x65\x03\x07" },
- { 0x0118, "\x00\x45\x03\x28" },
- { 0x0119, "\x00\x65\x03\x28" },
- { 0x011a, "\x00\x45\x03\x0c" },
- { 0x011b, "\x00\x65\x03\x0c" },
- { 0x011c, "\x00\x47\x03\x02" },
- { 0x011d, "\x00\x67\x03\x02" },
- { 0x011e, "\x00\x47\x03\x06" },
- { 0x011f, "\x00\x67\x03\x06" },
- { 0x0120, "\x00\x47\x03\x07" },
- { 0x0121, "\x00\x67\x03\x07" },
- { 0x0122, "\x00\x47\x03\x27" },
- { 0x0123, "\x00\x67\x03\x27" },
- { 0x0124, "\x00\x48\x03\x02" },
- { 0x0125, "\x00\x68\x03\x02" },
- { 0x0128, "\x00\x49\x03\x03" },
- { 0x0129, "\x00\x69\x03\x03" },
- { 0x012a, "\x00\x49\x03\x04" },
- { 0x012b, "\x00\x69\x03\x04" },
- { 0x012c, "\x00\x49\x03\x06" },
- { 0x012d, "\x00\x69\x03\x06" },
- { 0x012e, "\x00\x49\x03\x28" },
- { 0x012f, "\x00\x69\x03\x28" },
- { 0x0130, "\x00\x49\x03\x07" },
- { 0x0134, "\x00\x4a\x03\x02" },
- { 0x0135, "\x00\x6a\x03\x02" },
- { 0x0136, "\x00\x4b\x03\x27" },
- { 0x0137, "\x00\x6b\x03\x27" },
- { 0x0139, "\x00\x4c\x03\x01" },
- { 0x013a, "\x00\x6c\x03\x01" },
- { 0x013b, "\x00\x4c\x03\x27" },
- { 0x013c, "\x00\x6c\x03\x27" },
- { 0x013d, "\x00\x4c\x03\x0c" },
- { 0x013e, "\x00\x6c\x03\x0c" },
- { 0x0143, "\x00\x4e\x03\x01" },
- { 0x0144, "\x00\x6e\x03\x01" },
- { 0x0145, "\x00\x4e\x03\x27" },
- { 0x0146, "\x00\x6e\x03\x27" },
- { 0x0147, "\x00\x4e\x03\x0c" },
- { 0x0148, "\x00\x6e\x03\x0c" },
- { 0x014c, "\x00\x4f\x03\x04" },
- { 0x014d, "\x00\x6f\x03\x04" },
- { 0x014e, "\x00\x4f\x03\x06" },
- { 0x014f, "\x00\x6f\x03\x06" },
- { 0x0150, "\x00\x4f\x03\x0b" },
- { 0x0151, "\x00\x6f\x03\x0b" },
- { 0x0154, "\x00\x52\x03\x01" },
- { 0x0155, "\x00\x72\x03\x01" },
- { 0x0156, "\x00\x52\x03\x27" },
- { 0x0157, "\x00\x72\x03\x27" },
- { 0x0158, "\x00\x52\x03\x0c" },
- { 0x0159, "\x00\x72\x03\x0c" },
- { 0x015a, "\x00\x53\x03\x01" },
- { 0x015b, "\x00\x73\x03\x01" },
- { 0x015c, "\x00\x53\x03\x02" },
- { 0x015d, "\x00\x73\x03\x02" },
- { 0x015e, "\x00\x53\x03\x27" },
- { 0x015f, "\x00\x73\x03\x27" },
- { 0x0160, "\x00\x53\x03\x0c" },
- { 0x0161, "\x00\x73\x03\x0c" },
- { 0x0162, "\x00\x54\x03\x27" },
- { 0x0163, "\x00\x74\x03\x27" },
- { 0x0164, "\x00\x54\x03\x0c" },
- { 0x0165, "\x00\x74\x03\x0c" },
- { 0x0168, "\x00\x55\x03\x03" },
- { 0x0169, "\x00\x75\x03\x03" },
- { 0x016a, "\x00\x55\x03\x04" },
- { 0x016b, "\x00\x75\x03\x04" },
- { 0x016c, "\x00\x55\x03\x06" },
- { 0x016d, "\x00\x75\x03\x06" },
- { 0x016e, "\x00\x55\x03\x0a" },
- { 0x016f, "\x00\x75\x03\x0a" },
- { 0x0170, "\x00\x55\x03\x0b" },
- { 0x0171, "\x00\x75\x03\x0b" },
- { 0x0172, "\x00\x55\x03\x28" },
- { 0x0173, "\x00\x75\x03\x28" },
- { 0x0174, "\x00\x57\x03\x02" },
- { 0x0175, "\x00\x77\x03\x02" },
- { 0x0176, "\x00\x59\x03\x02" },
- { 0x0177, "\x00\x79\x03\x02" },
- { 0x0178, "\x00\x59\x03\x08" },
- { 0x0179, "\x00\x5a\x03\x01" },
- { 0x017a, "\x00\x7a\x03\x01" },
- { 0x017b, "\x00\x5a\x03\x07" },
- { 0x017c, "\x00\x7a\x03\x07" },
- { 0x017d, "\x00\x5a\x03\x0c" },
- { 0x017e, "\x00\x7a\x03\x0c" },
- { 0x01a0, "\x00\x4f\x03\x1b" },
- { 0x01a1, "\x00\x6f\x03\x1b" },
- { 0x01af, "\x00\x55\x03\x1b" },
- { 0x01b0, "\x00\x75\x03\x1b" },
- { 0x01cd, "\x00\x41\x03\x0c" },
- { 0x01ce, "\x00\x61\x03\x0c" },
- { 0x01cf, "\x00\x49\x03\x0c" },
- { 0x01d0, "\x00\x69\x03\x0c" },
- { 0x01d1, "\x00\x4f\x03\x0c" },
- { 0x01d2, "\x00\x6f\x03\x0c" },
- { 0x01d3, "\x00\x55\x03\x0c" },
- { 0x01d4, "\x00\x75\x03\x0c" },
- { 0x01d5, "\x00\xdc\x03\x04" },
- { 0x01d6, "\x00\xfc\x03\x04" },
- { 0x01d7, "\x00\xdc\x03\x01" },
- { 0x01d8, "\x00\xfc\x03\x01" },
- { 0x01d9, "\x00\xdc\x03\x0c" },
- { 0x01da, "\x00\xfc\x03\x0c" },
- { 0x01db, "\x00\xdc\x03\x00" },
- { 0x01dc, "\x00\xfc\x03\x00" },
- { 0x01de, "\x00\xc4\x03\x04" },
- { 0x01df, "\x00\xe4\x03\x04" },
- { 0x01e0, "\x00\x41\x03\x07\x03\x04" },
- { 0x01e1, "\x00\x61\x03\x07\x03\x04" },
- { 0x01e2, "\x00\xc6\x03\x04" },
- { 0x01e3, "\x00\xe6\x03\x04" },
- { 0x01e6, "\x00\x47\x03\x0c" },
- { 0x01e7, "\x00\x67\x03\x0c" },
- { 0x01e8, "\x00\x4b\x03\x0c" },
- { 0x01e9, "\x00\x6b\x03\x0c" },
- { 0x01ea, "\x00\x4f\x03\x28" },
- { 0x01eb, "\x00\x6f\x03\x28" },
- { 0x01ec, "\x01\xea\x03\x04" },
- { 0x01ed, "\x01\xeb\x03\x04" },
- { 0x01ee, "\x01\xb7\x03\x0c" },
- { 0x01ef, "\x02\x92\x03\x0c" },
- { 0x01f0, "\x00\x6a\x03\x0c" },
- { 0x01f4, "\x00\x47\x03\x01" },
- { 0x01f5, "\x00\x67\x03\x01" },
- { 0x01fa, "\x00\xc5\x03\x01" },
- { 0x01fb, "\x00\xe5\x03\x01" },
- { 0x01fc, "\x00\xc6\x03\x01" },
- { 0x01fd, "\x00\xe6\x03\x01" },
- { 0x01fe, "\x00\xd8\x03\x01" },
- { 0x01ff, "\x00\xf8\x03\x01" },
- { 0x0200, "\x00\x41\x03\x0f" },
- { 0x0201, "\x00\x61\x03\x0f" },
- { 0x0202, "\x00\x41\x03\x11" },
- { 0x0203, "\x00\x61\x03\x11" },
- { 0x0204, "\x00\x45\x03\x0f" },
- { 0x0205, "\x00\x65\x03\x0f" },
- { 0x0206, "\x00\x45\x03\x11" },
- { 0x0207, "\x00\x65\x03\x11" },
- { 0x0208, "\x00\x49\x03\x0f" },
- { 0x0209, "\x00\x69\x03\x0f" },
- { 0x020a, "\x00\x49\x03\x11" },
- { 0x020b, "\x00\x69\x03\x11" },
- { 0x020c, "\x00\x4f\x03\x0f" },
- { 0x020d, "\x00\x6f\x03\x0f" },
- { 0x020e, "\x00\x4f\x03\x11" },
- { 0x020f, "\x00\x6f\x03\x11" },
- { 0x0210, "\x00\x52\x03\x0f" },
- { 0x0211, "\x00\x72\x03\x0f" },
- { 0x0212, "\x00\x52\x03\x11" },
- { 0x0213, "\x00\x72\x03\x11" },
- { 0x0214, "\x00\x55\x03\x0f" },
- { 0x0215, "\x00\x75\x03\x0f" },
- { 0x0216, "\x00\x55\x03\x11" },
- { 0x0217, "\x00\x75\x03\x11" },
- { 0x0340, "\x03\x00" },
- { 0x0341, "\x03\x01" },
- { 0x0343, "\x03\x13" },
- { 0x0344, "\x03\x08\x03\x01" },
- { 0x0374, "\x02\xb9" },
- { 0x037e, "\x00\x3b" },
- { 0x0385, "\x00\xa8\x03\x01" },
- { 0x0386, "\x03\x91\x03\x01" },
- { 0x0387, "\x00\xb7" },
- { 0x0388, "\x03\x95\x03\x01" },
- { 0x0389, "\x03\x97\x03\x01" },
- { 0x038a, "\x03\x99\x03\x01" },
- { 0x038c, "\x03\x9f\x03\x01" },
- { 0x038e, "\x03\xa5\x03\x01" },
- { 0x038f, "\x03\xa9\x03\x01" },
- { 0x0390, "\x03\xca\x03\x01" },
- { 0x03aa, "\x03\x99\x03\x08" },
- { 0x03ab, "\x03\xa5\x03\x08" },
- { 0x03ac, "\x03\xb1\x03\x01" },
- { 0x03ad, "\x03\xb5\x03\x01" },
- { 0x03ae, "\x03\xb7\x03\x01" },
- { 0x03af, "\x03\xb9\x03\x01" },
- { 0x03b0, "\x03\xcb\x03\x01" },
- { 0x03ca, "\x03\xb9\x03\x08" },
- { 0x03cb, "\x03\xc5\x03\x08" },
- { 0x03cc, "\x03\xbf\x03\x01" },
- { 0x03cd, "\x03\xc5\x03\x01" },
- { 0x03ce, "\x03\xc9\x03\x01" },
- { 0x03d3, "\x03\xd2\x03\x01" },
- { 0x03d4, "\x03\xd2\x03\x08" },
- { 0x0401, "\x04\x15\x03\x08" },
- { 0x0403, "\x04\x13\x03\x01" },
- { 0x0407, "\x04\x06\x03\x08" },
- { 0x040c, "\x04\x1a\x03\x01" },
- { 0x040e, "\x04\x23\x03\x06" },
- { 0x0419, "\x04\x18\x03\x06" },
- { 0x0439, "\x04\x38\x03\x06" },
- { 0x0451, "\x04\x35\x03\x08" },
- { 0x0453, "\x04\x33\x03\x01" },
- { 0x0457, "\x04\x56\x03\x08" },
- { 0x045c, "\x04\x3a\x03\x01" },
- { 0x045e, "\x04\x43\x03\x06" },
- { 0x0476, "\x04\x74\x03\x0f" },
- { 0x0477, "\x04\x75\x03\x0f" },
- { 0x04c1, "\x04\x16\x03\x06" },
- { 0x04c2, "\x04\x36\x03\x06" },
- { 0x04d0, "\x04\x10\x03\x06" },
- { 0x04d1, "\x04\x30\x03\x06" },
- { 0x04d2, "\x04\x10\x03\x08" },
- { 0x04d3, "\x04\x30\x03\x08" },
- { 0x04d6, "\x04\x15\x03\x06" },
- { 0x04d7, "\x04\x35\x03\x06" },
- { 0x04da, "\x04\xd8\x03\x08" },
- { 0x04db, "\x04\xd9\x03\x08" },
- { 0x04dc, "\x04\x16\x03\x08" },
- { 0x04dd, "\x04\x36\x03\x08" },
- { 0x04de, "\x04\x17\x03\x08" },
- { 0x04df, "\x04\x37\x03\x08" },
- { 0x04e2, "\x04\x18\x03\x04" },
- { 0x04e3, "\x04\x38\x03\x04" },
- { 0x04e4, "\x04\x18\x03\x08" },
- { 0x04e5, "\x04\x38\x03\x08" },
- { 0x04e6, "\x04\x1e\x03\x08" },
- { 0x04e7, "\x04\x3e\x03\x08" },
- { 0x04ea, "\x04\xe8\x03\x08" },
- { 0x04eb, "\x04\xe9\x03\x08" },
- { 0x04ee, "\x04\x23\x03\x04" },
- { 0x04ef, "\x04\x43\x03\x04" },
- { 0x04f0, "\x04\x23\x03\x08" },
- { 0x04f1, "\x04\x43\x03\x08" },
- { 0x04f2, "\x04\x23\x03\x0b" },
- { 0x04f3, "\x04\x43\x03\x0b" },
- { 0x04f4, "\x04\x27\x03\x08" },
- { 0x04f5, "\x04\x47\x03\x08" },
- { 0x04f8, "\x04\x2b\x03\x08" },
- { 0x04f9, "\x04\x4b\x03\x08" },
- { 0x0929, "\x09\x28\x09\x3c" },
- { 0x0931, "\x09\x30\x09\x3c" },
- { 0x0934, "\x09\x33\x09\x3c" },
- { 0x0958, "\x09\x15\x09\x3c" },
- { 0x0959, "\x09\x16\x09\x3c" },
- { 0x095a, "\x09\x17\x09\x3c" },
- { 0x095b, "\x09\x1c\x09\x3c" },
- { 0x095c, "\x09\x21\x09\x3c" },
- { 0x095d, "\x09\x22\x09\x3c" },
- { 0x095e, "\x09\x2b\x09\x3c" },
- { 0x095f, "\x09\x2f\x09\x3c" },
- { 0x09b0, "\x09\xac\x09\xbc" },
- { 0x09cb, "\x09\xc7\x09\xbe" },
- { 0x09cc, "\x09\xc7\x09\xd7" },
- { 0x09dc, "\x09\xa1\x09\xbc" },
- { 0x09dd, "\x09\xa2\x09\xbc" },
- { 0x09df, "\x09\xaf\x09\xbc" },
- { 0x0a59, "\x0a\x16\x0a\x3c" },
- { 0x0a5a, "\x0a\x17\x0a\x3c" },
- { 0x0a5b, "\x0a\x1c\x0a\x3c" },
- { 0x0a5c, "\x0a\x21\x0a\x3c" },
- { 0x0a5e, "\x0a\x2b\x0a\x3c" },
- { 0x0b48, "\x0b\x47\x0b\x56" },
- { 0x0b4b, "\x0b\x47\x0b\x3e" },
- { 0x0b4c, "\x0b\x47\x0b\x57" },
- { 0x0b5c, "\x0b\x21\x0b\x3c" },
- { 0x0b5d, "\x0b\x22\x0b\x3c" },
- { 0x0b5f, "\x0b\x2f\x0b\x3c" },
- { 0x0b94, "\x0b\x92\x0b\xd7" },
- { 0x0bca, "\x0b\xc6\x0b\xbe" },
- { 0x0bcb, "\x0b\xc7\x0b\xbe" },
- { 0x0bcc, "\x0b\xc6\x0b\xd7" },
- { 0x0c48, "\x0c\x46\x0c\x56" },
- { 0x0cc0, "\x0c\xbf\x0c\xd5" },
- { 0x0cc7, "\x0c\xc6\x0c\xd5" },
- { 0x0cc8, "\x0c\xc6\x0c\xd6" },
- { 0x0cca, "\x0c\xc6\x0c\xc2" },
- { 0x0ccb, "\x0c\xca\x0c\xd5" },
- { 0x0d4a, "\x0d\x46\x0d\x3e" },
- { 0x0d4b, "\x0d\x47\x0d\x3e" },
- { 0x0d4c, "\x0d\x46\x0d\x57" },
- { 0x0e33, "\x0e\x4d\x0e\x32" },
- { 0x0eb3, "\x0e\xcd\x0e\xb2" },
- { 0x0f43, "\x0f\x42\x0f\xb7" },
- { 0x0f4d, "\x0f\x4c\x0f\xb7" },
- { 0x0f52, "\x0f\x51\x0f\xb7" },
- { 0x0f57, "\x0f\x56\x0f\xb7" },
- { 0x0f5c, "\x0f\x5b\x0f\xb7" },
- { 0x0f69, "\x0f\x40\x0f\xb5" },
- { 0x0f73, "\x0f\x72\x0f\x71" },
- { 0x0f75, "\x0f\x71\x0f\x74" },
- { 0x0f76, "\x0f\xb2\x0f\x80" },
- { 0x0f77, "\x0f\x76\x0f\x71" },
- { 0x0f78, "\x0f\xb3\x0f\x80" },
- { 0x0f79, "\x0f\x78\x0f\x71" },
- { 0x0f81, "\x0f\x80\x0f\x71" },
- { 0x0f93, "\x0f\x92\x0f\xb7" },
- { 0x0f9d, "\x0f\x9c\x0f\xb7" },
- { 0x0fa2, "\x0f\xa1\x0f\xb7" },
- { 0x0fa7, "\x0f\xa6\x0f\xb7" },
- { 0x0fac, "\x0f\xab\x0f\xb7" },
- { 0x0fb9, "\x0f\x90\x0f\xb5" },
- { 0x1e00, "\x00\x41\x03\x25" },
- { 0x1e01, "\x00\x61\x03\x25" },
- { 0x1e02, "\x00\x42\x03\x07" },
- { 0x1e03, "\x00\x62\x03\x07" },
- { 0x1e04, "\x00\x42\x03\x23" },
- { 0x1e05, "\x00\x62\x03\x23" },
- { 0x1e06, "\x00\x42\x03\x31" },
- { 0x1e07, "\x00\x62\x03\x31" },
- { 0x1e08, "\x00\xc7\x03\x01" },
- { 0x1e09, "\x00\xe7\x03\x01" },
- { 0x1e0a, "\x00\x44\x03\x07" },
- { 0x1e0b, "\x00\x64\x03\x07" },
- { 0x1e0c, "\x00\x44\x03\x23" },
- { 0x1e0d, "\x00\x64\x03\x23" },
- { 0x1e0e, "\x00\x44\x03\x31" },
- { 0x1e0f, "\x00\x64\x03\x31" },
- { 0x1e10, "\x00\x44\x03\x27" },
- { 0x1e11, "\x00\x64\x03\x27" },
- { 0x1e12, "\x00\x44\x03\x2d" },
- { 0x1e13, "\x00\x64\x03\x2d" },
- { 0x1e14, "\x01\x12\x03\x00" },
- { 0x1e15, "\x01\x13\x03\x00" },
- { 0x1e16, "\x01\x12\x03\x01" },
- { 0x1e17, "\x01\x13\x03\x01" },
- { 0x1e18, "\x00\x45\x03\x2d" },
- { 0x1e19, "\x00\x65\x03\x2d" },
- { 0x1e1a, "\x00\x45\x03\x30" },
- { 0x1e1b, "\x00\x65\x03\x30" },
- { 0x1e1c, "\x01\x14\x03\x27" },
- { 0x1e1d, "\x01\x15\x03\x27" },
- { 0x1e1e, "\x00\x46\x03\x07" },
- { 0x1e1f, "\x00\x66\x03\x07" },
- { 0x1e20, "\x00\x47\x03\x04" },
- { 0x1e21, "\x00\x67\x03\x04" },
- { 0x1e22, "\x00\x48\x03\x07" },
- { 0x1e23, "\x00\x68\x03\x07" },
- { 0x1e24, "\x00\x48\x03\x23" },
- { 0x1e25, "\x00\x68\x03\x23" },
- { 0x1e26, "\x00\x48\x03\x08" },
- { 0x1e27, "\x00\x68\x03\x08" },
- { 0x1e28, "\x00\x48\x03\x27" },
- { 0x1e29, "\x00\x68\x03\x27" },
- { 0x1e2a, "\x00\x48\x03\x2e" },
- { 0x1e2b, "\x00\x68\x03\x2e" },
- { 0x1e2c, "\x00\x49\x03\x30" },
- { 0x1e2d, "\x00\x69\x03\x30" },
- { 0x1e2e, "\x00\xcf\x03\x01" },
- { 0x1e2f, "\x00\xef\x03\x01" },
- { 0x1e30, "\x00\x4b\x03\x01" },
- { 0x1e31, "\x00\x6b\x03\x01" },
- { 0x1e32, "\x00\x4b\x03\x23" },
- { 0x1e33, "\x00\x6b\x03\x23" },
- { 0x1e34, "\x00\x4b\x03\x31" },
- { 0x1e35, "\x00\x6b\x03\x31" },
- { 0x1e36, "\x00\x4c\x03\x23" },
- { 0x1e37, "\x00\x6c\x03\x23" },
- { 0x1e38, "\x1e\x36\x03\x04" },
- { 0x1e39, "\x1e\x37\x03\x04" },
- { 0x1e3a, "\x00\x4c\x03\x31" },
- { 0x1e3b, "\x00\x6c\x03\x31" },
- { 0x1e3c, "\x00\x4c\x03\x2d" },
- { 0x1e3d, "\x00\x6c\x03\x2d" },
- { 0x1e3e, "\x00\x4d\x03\x01" },
- { 0x1e3f, "\x00\x6d\x03\x01" },
- { 0x1e40, "\x00\x4d\x03\x07" },
- { 0x1e41, "\x00\x6d\x03\x07" },
- { 0x1e42, "\x00\x4d\x03\x23" },
- { 0x1e43, "\x00\x6d\x03\x23" },
- { 0x1e44, "\x00\x4e\x03\x07" },
- { 0x1e45, "\x00\x6e\x03\x07" },
- { 0x1e46, "\x00\x4e\x03\x23" },
- { 0x1e47, "\x00\x6e\x03\x23" },
- { 0x1e48, "\x00\x4e\x03\x31" },
- { 0x1e49, "\x00\x6e\x03\x31" },
- { 0x1e4a, "\x00\x4e\x03\x2d" },
- { 0x1e4b, "\x00\x6e\x03\x2d" },
- { 0x1e4c, "\x00\xd5\x03\x01" },
- { 0x1e4d, "\x00\xf5\x03\x01" },
- { 0x1e4e, "\x00\xd5\x03\x08" },
- { 0x1e4f, "\x00\xf5\x03\x08" },
- { 0x1e50, "\x01\x4c\x03\x00" },
- { 0x1e51, "\x01\x4d\x03\x00" },
- { 0x1e52, "\x01\x4c\x03\x01" },
- { 0x1e53, "\x01\x4d\x03\x01" },
- { 0x1e54, "\x00\x50\x03\x01" },
- { 0x1e55, "\x00\x70\x03\x01" },
- { 0x1e56, "\x00\x50\x03\x07" },
- { 0x1e57, "\x00\x70\x03\x07" },
- { 0x1e58, "\x00\x52\x03\x07" },
- { 0x1e59, "\x00\x72\x03\x07" },
- { 0x1e5a, "\x00\x52\x03\x23" },
- { 0x1e5b, "\x00\x72\x03\x23" },
- { 0x1e5c, "\x1e\x5a\x03\x04" },
- { 0x1e5d, "\x1e\x5b\x03\x04" },
- { 0x1e5e, "\x00\x52\x03\x31" },
- { 0x1e5f, "\x00\x72\x03\x31" },
- { 0x1e60, "\x00\x53\x03\x07" },
- { 0x1e61, "\x00\x73\x03\x07" },
- { 0x1e62, "\x00\x53\x03\x23" },
- { 0x1e63, "\x00\x73\x03\x23" },
- { 0x1e64, "\x01\x5a\x03\x07" },
- { 0x1e65, "\x01\x5b\x03\x07" },
- { 0x1e66, "\x01\x60\x03\x07" },
- { 0x1e67, "\x01\x61\x03\x07" },
- { 0x1e68, "\x1e\x62\x03\x07" },
- { 0x1e69, "\x1e\x63\x03\x07" },
- { 0x1e6a, "\x00\x54\x03\x07" },
- { 0x1e6b, "\x00\x74\x03\x07" },
- { 0x1e6c, "\x00\x54\x03\x23" },
- { 0x1e6d, "\x00\x74\x03\x23" },
- { 0x1e6e, "\x00\x54\x03\x31" },
- { 0x1e6f, "\x00\x74\x03\x31" },
- { 0x1e70, "\x00\x54\x03\x2d" },
- { 0x1e71, "\x00\x74\x03\x2d" },
- { 0x1e72, "\x00\x55\x03\x24" },
- { 0x1e73, "\x00\x75\x03\x24" },
- { 0x1e74, "\x00\x55\x03\x30" },
- { 0x1e75, "\x00\x75\x03\x30" },
- { 0x1e76, "\x00\x55\x03\x2d" },
- { 0x1e77, "\x00\x75\x03\x2d" },
- { 0x1e78, "\x01\x68\x03\x01" },
- { 0x1e79, "\x01\x69\x03\x01" },
- { 0x1e7a, "\x01\x6a\x03\x08" },
- { 0x1e7b, "\x01\x6b\x03\x08" },
- { 0x1e7c, "\x00\x56\x03\x03" },
- { 0x1e7d, "\x00\x76\x03\x03" },
- { 0x1e7e, "\x00\x56\x03\x23" },
- { 0x1e7f, "\x00\x76\x03\x23" },
- { 0x1e80, "\x00\x57\x03\x00" },
- { 0x1e81, "\x00\x77\x03\x00" },
- { 0x1e82, "\x00\x57\x03\x01" },
- { 0x1e83, "\x00\x77\x03\x01" },
- { 0x1e84, "\x00\x57\x03\x08" },
- { 0x1e85, "\x00\x77\x03\x08" },
- { 0x1e86, "\x00\x57\x03\x07" },
- { 0x1e87, "\x00\x77\x03\x07" },
- { 0x1e88, "\x00\x57\x03\x23" },
- { 0x1e89, "\x00\x77\x03\x23" },
- { 0x1e8a, "\x00\x58\x03\x07" },
- { 0x1e8b, "\x00\x78\x03\x07" },
- { 0x1e8c, "\x00\x58\x03\x08" },
- { 0x1e8d, "\x00\x78\x03\x08" },
- { 0x1e8e, "\x00\x59\x03\x07" },
- { 0x1e8f, "\x00\x79\x03\x07" },
- { 0x1e90, "\x00\x5a\x03\x02" },
- { 0x1e91, "\x00\x7a\x03\x02" },
- { 0x1e92, "\x00\x5a\x03\x23" },
- { 0x1e93, "\x00\x7a\x03\x23" },
- { 0x1e94, "\x00\x5a\x03\x31" },
- { 0x1e95, "\x00\x7a\x03\x31" },
- { 0x1e96, "\x00\x68\x03\x31" },
- { 0x1e97, "\x00\x74\x03\x08" },
- { 0x1e98, "\x00\x77\x03\x0a" },
- { 0x1e99, "\x00\x79\x03\x0a" },
- { 0x1e9b, "\x01\x7f\x03\x07" },
- { 0x1ea0, "\x00\x41\x03\x23" },
- { 0x1ea1, "\x00\x61\x03\x23" },
- { 0x1ea2, "\x00\x41\x03\x09" },
- { 0x1ea3, "\x00\x61\x03\x09" },
- { 0x1ea4, "\x00\xc2\x03\x01" },
- { 0x1ea5, "\x00\xe2\x03\x01" },
- { 0x1ea6, "\x00\xc2\x03\x00" },
- { 0x1ea7, "\x00\xe2\x03\x00" },
- { 0x1ea8, "\x00\xc2\x03\x09" },
- { 0x1ea9, "\x00\xe2\x03\x09" },
- { 0x1eaa, "\x00\xc2\x03\x03" },
- { 0x1eab, "\x00\xe2\x03\x03" },
- { 0x1eac, "\x00\xc2\x03\x23" },
- { 0x1ead, "\x00\xe2\x03\x23" },
- { 0x1eae, "\x01\x02\x03\x01" },
- { 0x1eaf, "\x01\x03\x03\x01" },
- { 0x1eb0, "\x01\x02\x03\x00" },
- { 0x1eb1, "\x01\x03\x03\x00" },
- { 0x1eb2, "\x01\x02\x03\x09" },
- { 0x1eb3, "\x01\x03\x03\x09" },
- { 0x1eb4, "\x01\x02\x03\x03" },
- { 0x1eb5, "\x01\x03\x03\x03" },
- { 0x1eb6, "\x01\x02\x03\x23" },
- { 0x1eb7, "\x01\x03\x03\x23" },
- { 0x1eb8, "\x00\x45\x03\x23" },
- { 0x1eb9, "\x00\x65\x03\x23" },
- { 0x1eba, "\x00\x45\x03\x09" },
- { 0x1ebb, "\x00\x65\x03\x09" },
- { 0x1ebc, "\x00\x45\x03\x03" },
- { 0x1ebd, "\x00\x65\x03\x03" },
- { 0x1ebe, "\x00\xca\x03\x01" },
- { 0x1ebf, "\x00\xea\x03\x01" },
- { 0x1ec0, "\x00\xca\x03\x00" },
- { 0x1ec1, "\x00\xea\x03\x00" },
- { 0x1ec2, "\x00\xca\x03\x09" },
- { 0x1ec3, "\x00\xea\x03\x09" },
- { 0x1ec4, "\x00\xca\x03\x03" },
- { 0x1ec5, "\x00\xea\x03\x03" },
- { 0x1ec6, "\x00\xca\x03\x23" },
- { 0x1ec7, "\x00\xea\x03\x23" },
- { 0x1ec8, "\x00\x49\x03\x09" },
- { 0x1ec9, "\x00\x69\x03\x09" },
- { 0x1eca, "\x00\x49\x03\x23" },
- { 0x1ecb, "\x00\x69\x03\x23" },
- { 0x1ecc, "\x00\x4f\x03\x23" },
- { 0x1ecd, "\x00\x6f\x03\x23" },
- { 0x1ece, "\x00\x4f\x03\x09" },
- { 0x1ecf, "\x00\x6f\x03\x09" },
- { 0x1ed0, "\x00\xd4\x03\x01" },
- { 0x1ed1, "\x00\xf4\x03\x01" },
- { 0x1ed2, "\x00\xd4\x03\x00" },
- { 0x1ed3, "\x00\xf4\x03\x00" },
- { 0x1ed4, "\x00\xd4\x03\x09" },
- { 0x1ed5, "\x00\xf4\x03\x09" },
- { 0x1ed6, "\x00\xd4\x03\x03" },
- { 0x1ed7, "\x00\xf4\x03\x03" },
- { 0x1ed8, "\x00\xd4\x03\x23" },
- { 0x1ed9, "\x00\xf4\x03\x23" },
- { 0x1eda, "\x01\xa0\x03\x01" },
- { 0x1edb, "\x01\xa1\x03\x01" },
- { 0x1edc, "\x01\xa0\x03\x00" },
- { 0x1edd, "\x01\xa1\x03\x00" },
- { 0x1ede, "\x01\xa0\x03\x09" },
- { 0x1edf, "\x01\xa1\x03\x09" },
- { 0x1ee0, "\x01\xa0\x03\x03" },
- { 0x1ee1, "\x01\xa1\x03\x03" },
- { 0x1ee2, "\x01\xa0\x03\x23" },
- { 0x1ee3, "\x01\xa1\x03\x23" },
- { 0x1ee4, "\x00\x55\x03\x23" },
- { 0x1ee5, "\x00\x75\x03\x23" },
- { 0x1ee6, "\x00\x55\x03\x09" },
- { 0x1ee7, "\x00\x75\x03\x09" },
- { 0x1ee8, "\x01\xaf\x03\x01" },
- { 0x1ee9, "\x01\xb0\x03\x01" },
- { 0x1eea, "\x01\xaf\x03\x00" },
- { 0x1eeb, "\x01\xb0\x03\x00" },
- { 0x1eec, "\x01\xaf\x03\x09" },
- { 0x1eed, "\x01\xb0\x03\x09" },
- { 0x1eee, "\x01\xaf\x03\x03" },
- { 0x1eef, "\x01\xb0\x03\x03" },
- { 0x1ef0, "\x01\xaf\x03\x23" },
- { 0x1ef1, "\x01\xb0\x03\x23" },
- { 0x1ef2, "\x00\x59\x03\x00" },
- { 0x1ef3, "\x00\x79\x03\x00" },
- { 0x1ef4, "\x00\x59\x03\x23" },
- { 0x1ef5, "\x00\x79\x03\x23" },
- { 0x1ef6, "\x00\x59\x03\x09" },
- { 0x1ef7, "\x00\x79\x03\x09" },
- { 0x1ef8, "\x00\x59\x03\x03" },
- { 0x1ef9, "\x00\x79\x03\x03" },
- { 0x1f00, "\x03\xb1\x03\x13" },
- { 0x1f01, "\x03\xb1\x03\x14" },
- { 0x1f02, "\x1f\x00\x03\x00" },
- { 0x1f03, "\x1f\x01\x03\x00" },
- { 0x1f04, "\x1f\x00\x03\x01" },
- { 0x1f05, "\x1f\x01\x03\x01" },
- { 0x1f06, "\x1f\x00\x03\x42" },
- { 0x1f07, "\x1f\x01\x03\x42" },
- { 0x1f08, "\x03\x91\x03\x13" },
- { 0x1f09, "\x03\x91\x03\x14" },
- { 0x1f0a, "\x1f\x08\x03\x00" },
- { 0x1f0b, "\x1f\x09\x03\x00" },
- { 0x1f0c, "\x1f\x08\x03\x01" },
- { 0x1f0d, "\x1f\x09\x03\x01" },
- { 0x1f0e, "\x1f\x08\x03\x42" },
- { 0x1f0f, "\x1f\x09\x03\x42" },
- { 0x1f10, "\x03\xb5\x03\x13" },
- { 0x1f11, "\x03\xb5\x03\x14" },
- { 0x1f12, "\x1f\x10\x03\x00" },
- { 0x1f13, "\x1f\x11\x03\x00" },
- { 0x1f14, "\x1f\x10\x03\x01" },
- { 0x1f15, "\x1f\x11\x03\x01" },
- { 0x1f18, "\x03\x95\x03\x13" },
- { 0x1f19, "\x03\x95\x03\x14" },
- { 0x1f1a, "\x1f\x18\x03\x00" },
- { 0x1f1b, "\x1f\x19\x03\x00" },
- { 0x1f1c, "\x1f\x18\x03\x01" },
- { 0x1f1d, "\x1f\x19\x03\x01" },
- { 0x1f20, "\x03\xb7\x03\x13" },
- { 0x1f21, "\x03\xb7\x03\x14" },
- { 0x1f22, "\x1f\x20\x03\x00" },
- { 0x1f23, "\x1f\x21\x03\x00" },
- { 0x1f24, "\x1f\x20\x03\x01" },
- { 0x1f25, "\x1f\x21\x03\x01" },
- { 0x1f26, "\x1f\x20\x03\x42" },
- { 0x1f27, "\x1f\x21\x03\x42" },
- { 0x1f28, "\x03\x97\x03\x13" },
- { 0x1f29, "\x03\x97\x03\x14" },
- { 0x1f2a, "\x1f\x28\x03\x00" },
- { 0x1f2b, "\x1f\x29\x03\x00" },
- { 0x1f2c, "\x1f\x28\x03\x01" },
- { 0x1f2d, "\x1f\x29\x03\x01" },
- { 0x1f2e, "\x1f\x28\x03\x42" },
- { 0x1f2f, "\x1f\x29\x03\x42" },
- { 0x1f30, "\x03\xb9\x03\x13" },
- { 0x1f31, "\x03\xb9\x03\x14" },
- { 0x1f32, "\x1f\x30\x03\x00" },
- { 0x1f33, "\x1f\x31\x03\x00" },
- { 0x1f34, "\x1f\x30\x03\x01" },
- { 0x1f35, "\x1f\x31\x03\x01" },
- { 0x1f36, "\x1f\x30\x03\x42" },
- { 0x1f37, "\x1f\x31\x03\x42" },
- { 0x1f38, "\x03\x99\x03\x13" },
- { 0x1f39, "\x03\x99\x03\x14" },
- { 0x1f3a, "\x1f\x38\x03\x00" },
- { 0x1f3b, "\x1f\x39\x03\x00" },
- { 0x1f3c, "\x1f\x38\x03\x01" },
- { 0x1f3d, "\x1f\x39\x03\x01" },
- { 0x1f3e, "\x1f\x38\x03\x42" },
- { 0x1f3f, "\x1f\x39\x03\x42" },
- { 0x1f40, "\x03\xbf\x03\x13" },
- { 0x1f41, "\x03\xbf\x03\x14" },
- { 0x1f42, "\x1f\x40\x03\x00" },
- { 0x1f43, "\x1f\x41\x03\x00" },
- { 0x1f44, "\x1f\x40\x03\x01" },
- { 0x1f45, "\x1f\x41\x03\x01" },
- { 0x1f48, "\x03\x9f\x03\x13" },
- { 0x1f49, "\x03\x9f\x03\x14" },
- { 0x1f4a, "\x1f\x48\x03\x00" },
- { 0x1f4b, "\x1f\x49\x03\x00" },
- { 0x1f4c, "\x1f\x48\x03\x01" },
- { 0x1f4d, "\x1f\x49\x03\x01" },
- { 0x1f50, "\x03\xc5\x03\x13" },
- { 0x1f51, "\x03\xc5\x03\x14" },
- { 0x1f52, "\x1f\x50\x03\x00" },
- { 0x1f53, "\x1f\x51\x03\x00" },
- { 0x1f54, "\x1f\x50\x03\x01" },
- { 0x1f55, "\x1f\x51\x03\x01" },
- { 0x1f56, "\x1f\x50\x03\x42" },
- { 0x1f57, "\x1f\x51\x03\x42" },
- { 0x1f59, "\x03\xa5\x03\x14" },
- { 0x1f5b, "\x1f\x59\x03\x00" },
- { 0x1f5d, "\x1f\x59\x03\x01" },
- { 0x1f5f, "\x1f\x59\x03\x42" },
- { 0x1f60, "\x03\xc9\x03\x13" },
- { 0x1f61, "\x03\xc9\x03\x14" },
- { 0x1f62, "\x1f\x60\x03\x00" },
- { 0x1f63, "\x1f\x61\x03\x00" },
- { 0x1f64, "\x1f\x60\x03\x01" },
- { 0x1f65, "\x1f\x61\x03\x01" },
- { 0x1f66, "\x1f\x60\x03\x42" },
- { 0x1f67, "\x1f\x61\x03\x42" },
- { 0x1f68, "\x03\xa9\x03\x13" },
- { 0x1f69, "\x03\xa9\x03\x14" },
- { 0x1f6a, "\x1f\x68\x03\x00" },
- { 0x1f6b, "\x1f\x69\x03\x00" },
- { 0x1f6c, "\x1f\x68\x03\x01" },
- { 0x1f6d, "\x1f\x69\x03\x01" },
- { 0x1f6e, "\x1f\x68\x03\x42" },
- { 0x1f6f, "\x1f\x69\x03\x42" },
- { 0x1f70, "\x03\xb1\x03\x00" },
- { 0x1f71, "\x03\xac" },
- { 0x1f72, "\x03\xb5\x03\x00" },
- { 0x1f73, "\x03\xad" },
- { 0x1f74, "\x03\xb7\x03\x00" },
- { 0x1f75, "\x03\xae" },
- { 0x1f76, "\x03\xb9\x03\x00" },
- { 0x1f77, "\x03\xaf" },
- { 0x1f78, "\x03\xbf\x03\x00" },
- { 0x1f79, "\x03\xcc" },
- { 0x1f7a, "\x03\xc5\x03\x00" },
- { 0x1f7b, "\x03\xcd" },
- { 0x1f7c, "\x03\xc9\x03\x00" },
- { 0x1f7d, "\x03\xce" },
- { 0x1f80, "\x1f\x00\x03\x45" },
- { 0x1f81, "\x1f\x01\x03\x45" },
- { 0x1f82, "\x1f\x02\x03\x45" },
- { 0x1f83, "\x1f\x03\x03\x45" },
- { 0x1f84, "\x1f\x04\x03\x45" },
- { 0x1f85, "\x1f\x05\x03\x45" },
- { 0x1f86, "\x1f\x06\x03\x45" },
- { 0x1f87, "\x1f\x07\x03\x45" },
- { 0x1f88, "\x1f\x08\x03\x45" },
- { 0x1f89, "\x1f\x09\x03\x45" },
- { 0x1f8a, "\x1f\x0a\x03\x45" },
- { 0x1f8b, "\x1f\x0b\x03\x45" },
- { 0x1f8c, "\x1f\x0c\x03\x45" },
- { 0x1f8d, "\x1f\x0d\x03\x45" },
- { 0x1f8e, "\x1f\x0e\x03\x45" },
- { 0x1f8f, "\x1f\x0f\x03\x45" },
- { 0x1f90, "\x1f\x20\x03\x45" },
- { 0x1f91, "\x1f\x21\x03\x45" },
- { 0x1f92, "\x1f\x22\x03\x45" },
- { 0x1f93, "\x1f\x23\x03\x45" },
- { 0x1f94, "\x1f\x24\x03\x45" },
- { 0x1f95, "\x1f\x25\x03\x45" },
- { 0x1f96, "\x1f\x26\x03\x45" },
- { 0x1f97, "\x1f\x27\x03\x45" },
- { 0x1f98, "\x1f\x28\x03\x45" },
- { 0x1f99, "\x1f\x29\x03\x45" },
- { 0x1f9a, "\x1f\x2a\x03\x45" },
- { 0x1f9b, "\x1f\x2b\x03\x45" },
- { 0x1f9c, "\x1f\x2c\x03\x45" },
- { 0x1f9d, "\x1f\x2d\x03\x45" },
- { 0x1f9e, "\x1f\x2e\x03\x45" },
- { 0x1f9f, "\x1f\x2f\x03\x45" },
- { 0x1fa0, "\x1f\x60\x03\x45" },
- { 0x1fa1, "\x1f\x61\x03\x45" },
- { 0x1fa2, "\x1f\x62\x03\x45" },
- { 0x1fa3, "\x1f\x63\x03\x45" },
- { 0x1fa4, "\x1f\x64\x03\x45" },
- { 0x1fa5, "\x1f\x65\x03\x45" },
- { 0x1fa6, "\x1f\x66\x03\x45" },
- { 0x1fa7, "\x1f\x67\x03\x45" },
- { 0x1fa8, "\x1f\x68\x03\x45" },
- { 0x1fa9, "\x1f\x69\x03\x45" },
- { 0x1faa, "\x1f\x6a\x03\x45" },
- { 0x1fab, "\x1f\x6b\x03\x45" },
- { 0x1fac, "\x1f\x6c\x03\x45" },
- { 0x1fad, "\x1f\x6d\x03\x45" },
- { 0x1fae, "\x1f\x6e\x03\x45" },
- { 0x1faf, "\x1f\x6f\x03\x45" },
- { 0x1fb0, "\x03\xb1\x03\x06" },
- { 0x1fb1, "\x03\xb1\x03\x04" },
- { 0x1fb2, "\x1f\x70\x03\x45" },
- { 0x1fb3, "\x03\xb1\x03\x45" },
- { 0x1fb4, "\x03\xac\x03\x45" },
- { 0x1fb6, "\x03\xb1\x03\x42" },
- { 0x1fb7, "\x1f\xb6\x03\x45" },
- { 0x1fb8, "\x03\x91\x03\x06" },
- { 0x1fb9, "\x03\x91\x03\x04" },
- { 0x1fba, "\x03\x91\x03\x00" },
- { 0x1fbb, "\x03\x86" },
- { 0x1fbc, "\x03\x91\x03\x45" },
- { 0x1fbe, "\x03\xb9" },
- { 0x1fc1, "\x00\xa8\x03\x42" },
- { 0x1fc2, "\x1f\x74\x03\x45" },
- { 0x1fc3, "\x03\xb7\x03\x45" },
- { 0x1fc4, "\x03\xae\x03\x45" },
- { 0x1fc6, "\x03\xb7\x03\x42" },
- { 0x1fc7, "\x1f\xc6\x03\x45" },
- { 0x1fc8, "\x03\x95\x03\x00" },
- { 0x1fc9, "\x03\x88" },
- { 0x1fca, "\x03\x97\x03\x00" },
- { 0x1fcb, "\x03\x89" },
- { 0x1fcc, "\x03\x97\x03\x45" },
- { 0x1fcd, "\x1f\xbf\x03\x00" },
- { 0x1fce, "\x1f\xbf\x03\x01" },
- { 0x1fcf, "\x1f\xbf\x03\x42" },
- { 0x1fd0, "\x03\xb9\x03\x06" },
- { 0x1fd1, "\x03\xb9\x03\x04" },
- { 0x1fd2, "\x03\xca\x03\x00" },
- { 0x1fd3, "\x03\x90" },
- { 0x1fd6, "\x03\xb9\x03\x42" },
- { 0x1fd7, "\x03\xca\x03\x42" },
- { 0x1fd8, "\x03\x99\x03\x06" },
- { 0x1fd9, "\x03\x99\x03\x04" },
- { 0x1fda, "\x03\x99\x03\x00" },
- { 0x1fdb, "\x03\x8a" },
- { 0x1fdd, "\x1f\xfe\x03\x00" },
- { 0x1fde, "\x1f\xfe\x03\x01" },
- { 0x1fdf, "\x1f\xfe\x03\x42" },
- { 0x1fe0, "\x03\xc5\x03\x06" },
- { 0x1fe1, "\x03\xc5\x03\x04" },
- { 0x1fe2, "\x03\xcb\x03\x00" },
- { 0x1fe3, "\x03\xb0" },
- { 0x1fe4, "\x03\xc1\x03\x13" },
- { 0x1fe5, "\x03\xc1\x03\x14" },
- { 0x1fe6, "\x03\xc5\x03\x42" },
- { 0x1fe7, "\x03\xcb\x03\x42" },
- { 0x1fe8, "\x03\xa5\x03\x06" },
- { 0x1fe9, "\x03\xa5\x03\x04" },
- { 0x1fea, "\x03\xa5\x03\x00" },
- { 0x1feb, "\x03\x8e" },
- { 0x1fec, "\x03\xa1\x03\x14" },
- { 0x1fed, "\x00\xa8\x03\x00" },
- { 0x1fee, "\x03\x85" },
- { 0x1fef, "\x00\x60" },
- { 0x1ff2, "\x1f\x7c\x03\x45" },
- { 0x1ff3, "\x03\xc9\x03\x45" },
- { 0x1ff4, "\x03\xce\x03\x45" },
- { 0x1ff6, "\x03\xc9\x03\x42" },
- { 0x1ff7, "\x1f\xf6\x03\x45" },
- { 0x1ff8, "\x03\x9f\x03\x00" },
- { 0x1ff9, "\x03\x8c" },
- { 0x1ffa, "\x03\xa9\x03\x00" },
- { 0x1ffb, "\x03\x8f" },
- { 0x1ffc, "\x03\xa9\x03\x45" },
- { 0x1ffd, "\x00\xb4" },
- { 0x2000, "\x20\x02" },
- { 0x2001, "\x20\x03" },
- { 0x2126, "\x03\xa9" },
- { 0x212a, "\x00\x4b" },
- { 0x212b, "\x00\xc5" },
- { 0x2204, "\x22\x03\x03\x38" },
- { 0x2209, "\x22\x08\x03\x38" },
- { 0x220c, "\x22\x0b\x03\x38" },
- { 0x2224, "\x22\x23\x03\x38" },
- { 0x2226, "\x22\x25\x03\x38" },
- { 0x2241, "\x00\x7e\x03\x38" },
- { 0x2244, "\x22\x43\x03\x38" },
- { 0x2247, "\x22\x45\x03\x38" },
- { 0x2249, "\x22\x48\x03\x38" },
- { 0x2260, "\x00\x3d\x03\x38" },
- { 0x2262, "\x22\x61\x03\x38" },
- { 0x226d, "\x22\x4d\x03\x38" },
- { 0x226e, "\x00\x3c\x03\x38" },
- { 0x226f, "\x00\x3e\x03\x38" },
- { 0x2270, "\x22\x64\x03\x38" },
- { 0x2271, "\x22\x65\x03\x38" },
- { 0x2274, "\x22\x72\x03\x38" },
- { 0x2275, "\x22\x73\x03\x38" },
- { 0x2278, "\x22\x76\x03\x38" },
- { 0x2279, "\x22\x77\x03\x38" },
- { 0x2280, "\x22\x7a\x03\x38" },
- { 0x2281, "\x22\x7b\x03\x38" },
- { 0x2284, "\x22\x82\x03\x38" },
- { 0x2285, "\x22\x83\x03\x38" },
- { 0x2288, "\x22\x86\x03\x38" },
- { 0x2289, "\x22\x87\x03\x38" },
- { 0x22ac, "\x22\xa2\x03\x38" },
- { 0x22ad, "\x22\xa8\x03\x38" },
- { 0x22ae, "\x22\xa9\x03\x38" },
- { 0x22af, "\x22\xab\x03\x38" },
- { 0x22e0, "\x22\x7c\x03\x38" },
- { 0x22e1, "\x22\x7d\x03\x38" },
- { 0x22e2, "\x22\x91\x03\x38" },
- { 0x22e3, "\x22\x92\x03\x38" },
- { 0x22ea, "\x22\xb2\x03\x38" },
- { 0x22eb, "\x22\xb3\x03\x38" },
- { 0x22ec, "\x22\xb4\x03\x38" },
- { 0x22ed, "\x22\xb5\x03\x38" },
- { 0x2329, "\x30\x08" },
- { 0x232a, "\x30\x09" },
- { 0x304c, "\x30\x4b\x30\x99" },
- { 0x304e, "\x30\x4d\x30\x99" },
- { 0x3050, "\x30\x4f\x30\x99" },
- { 0x3052, "\x30\x51\x30\x99" },
- { 0x3054, "\x30\x53\x30\x99" },
- { 0x3056, "\x30\x55\x30\x99" },
- { 0x3058, "\x30\x57\x30\x99" },
- { 0x305a, "\x30\x59\x30\x99" },
- { 0x305c, "\x30\x5b\x30\x99" },
- { 0x305e, "\x30\x5d\x30\x99" },
- { 0x3060, "\x30\x5f\x30\x99" },
- { 0x3062, "\x30\x61\x30\x99" },
- { 0x3065, "\x30\x64\x30\x99" },
- { 0x3067, "\x30\x66\x30\x99" },
- { 0x3069, "\x30\x68\x30\x99" },
- { 0x3070, "\x30\x6f\x30\x99" },
- { 0x3071, "\x30\x6f\x30\x9a" },
- { 0x3073, "\x30\x72\x30\x99" },
- { 0x3074, "\x30\x72\x30\x9a" },
- { 0x3076, "\x30\x75\x30\x99" },
- { 0x3077, "\x30\x75\x30\x9a" },
- { 0x3079, "\x30\x78\x30\x99" },
- { 0x307a, "\x30\x78\x30\x9a" },
- { 0x307c, "\x30\x7b\x30\x99" },
- { 0x307d, "\x30\x7b\x30\x9a" },
- { 0x3094, "\x30\x46\x30\x99" },
- { 0x309e, "\x30\x9d\x30\x99" },
- { 0x30ac, "\x30\xab\x30\x99" },
- { 0x30ae, "\x30\xad\x30\x99" },
- { 0x30b0, "\x30\xaf\x30\x99" },
- { 0x30b2, "\x30\xb1\x30\x99" },
- { 0x30b4, "\x30\xb3\x30\x99" },
- { 0x30b6, "\x30\xb5\x30\x99" },
- { 0x30b8, "\x30\xb7\x30\x99" },
- { 0x30ba, "\x30\xb9\x30\x99" },
- { 0x30bc, "\x30\xbb\x30\x99" },
- { 0x30be, "\x30\xbd\x30\x99" },
- { 0x30c0, "\x30\xbf\x30\x99" },
- { 0x30c2, "\x30\xc1\x30\x99" },
- { 0x30c5, "\x30\xc4\x30\x99" },
- { 0x30c7, "\x30\xc6\x30\x99" },
- { 0x30c9, "\x30\xc8\x30\x99" },
- { 0x30d0, "\x30\xcf\x30\x99" },
- { 0x30d1, "\x30\xcf\x30\x9a" },
- { 0x30d3, "\x30\xd2\x30\x99" },
- { 0x30d4, "\x30\xd2\x30\x9a" },
- { 0x30d6, "\x30\xd5\x30\x99" },
- { 0x30d7, "\x30\xd5\x30\x9a" },
- { 0x30d9, "\x30\xd8\x30\x99" },
- { 0x30da, "\x30\xd8\x30\x9a" },
- { 0x30dc, "\x30\xdb\x30\x99" },
- { 0x30dd, "\x30\xdb\x30\x9a" },
- { 0x30f4, "\x30\xa6\x30\x99" },
- { 0x30f7, "\x30\xef\x30\x99" },
- { 0x30f8, "\x30\xf0\x30\x99" },
- { 0x30f9, "\x30\xf1\x30\x99" },
- { 0x30fa, "\x30\xf2\x30\x99" },
- { 0x30fe, "\x30\xfd\x30\x99" },
- { 0xf900, "\x8c\x48" },
- { 0xf901, "\x66\xf4" },
- { 0xf902, "\x8e\xca" },
- { 0xf903, "\x8c\xc8" },
- { 0xf904, "\x6e\xd1" },
- { 0xf905, "\x4e\x32" },
- { 0xf906, "\x53\xe5" },
- { 0xf907, "\x9f\x9c" },
- { 0xf908, "\x9f\x9c" },
- { 0xf909, "\x59\x51" },
- { 0xf90a, "\x91\xd1" },
- { 0xf90b, "\x55\x87" },
- { 0xf90c, "\x59\x48" },
- { 0xf90d, "\x61\xf6" },
- { 0xf90e, "\x76\x69" },
- { 0xf90f, "\x7f\x85" },
- { 0xf910, "\x86\x3f" },
- { 0xf911, "\x87\xba" },
- { 0xf912, "\x88\xf8" },
- { 0xf913, "\x90\x8f" },
- { 0xf914, "\x6a\x02" },
- { 0xf915, "\x6d\x1b" },
- { 0xf916, "\x70\xd9" },
- { 0xf917, "\x73\xde" },
- { 0xf918, "\x84\x3d" },
- { 0xf919, "\x91\x6a" },
- { 0xf91a, "\x99\xf1" },
- { 0xf91b, "\x4e\x82" },
- { 0xf91c, "\x53\x75" },
- { 0xf91d, "\x6b\x04" },
- { 0xf91e, "\x72\x1b" },
- { 0xf91f, "\x86\x2d" },
- { 0xf920, "\x9e\x1e" },
- { 0xf921, "\x5d\x50" },
- { 0xf922, "\x6f\xeb" },
- { 0xf923, "\x85\xcd" },
- { 0xf924, "\x89\x64" },
- { 0xf925, "\x62\xc9" },
- { 0xf926, "\x81\xd8" },
- { 0xf927, "\x88\x1f" },
- { 0xf928, "\x5e\xca" },
- { 0xf929, "\x67\x17" },
- { 0xf92a, "\x6d\x6a" },
- { 0xf92b, "\x72\xfc" },
- { 0xf92c, "\x90\xce" },
- { 0xf92d, "\x4f\x86" },
- { 0xf92e, "\x51\xb7" },
- { 0xf92f, "\x52\xde" },
- { 0xf930, "\x64\xc4" },
- { 0xf931, "\x6a\xd3" },
- { 0xf932, "\x72\x10" },
- { 0xf933, "\x76\xe7" },
- { 0xf934, "\x80\x01" },
- { 0xf935, "\x86\x06" },
- { 0xf936, "\x86\x5c" },
- { 0xf937, "\x8d\xef" },
- { 0xf938, "\x97\x32" },
- { 0xf939, "\x9b\x6f" },
- { 0xf93a, "\x9d\xfa" },
- { 0xf93b, "\x78\x8c" },
- { 0xf93c, "\x79\x7f" },
- { 0xf93d, "\x7d\xa0" },
- { 0xf93e, "\x83\xc9" },
- { 0xf93f, "\x93\x04" },
- { 0xf940, "\x9e\x7f" },
- { 0xf941, "\x8a\xd6" },
- { 0xf942, "\x58\xdf" },
- { 0xf943, "\x5f\x04" },
- { 0xf944, "\x7c\x60" },
- { 0xf945, "\x80\x7e" },
- { 0xf946, "\x72\x62" },
- { 0xf947, "\x78\xca" },
- { 0xf948, "\x8c\xc2" },
- { 0xf949, "\x96\xf7" },
- { 0xf94a, "\x58\xd8" },
- { 0xf94b, "\x5c\x62" },
- { 0xf94c, "\x6a\x13" },
- { 0xf94d, "\x6d\xda" },
- { 0xf94e, "\x6f\x0f" },
- { 0xf94f, "\x7d\x2f" },
- { 0xf950, "\x7e\x37" },
- { 0xf951, "\x96\xfb" },
- { 0xf952, "\x52\xd2" },
- { 0xf953, "\x80\x8b" },
- { 0xf954, "\x51\xdc" },
- { 0xf955, "\x51\xcc" },
- { 0xf956, "\x7a\x1c" },
- { 0xf957, "\x7d\xbe" },
- { 0xf958, "\x83\xf1" },
- { 0xf959, "\x96\x75" },
- { 0xf95a, "\x8b\x80" },
- { 0xf95b, "\x62\xcf" },
- { 0xf95c, "\x6a\x02" },
- { 0xf95d, "\x8a\xfe" },
- { 0xf95e, "\x4e\x39" },
- { 0xf95f, "\x5b\xe7" },
- { 0xf960, "\x60\x12" },
- { 0xf961, "\x73\x87" },
- { 0xf962, "\x75\x70" },
- { 0xf963, "\x53\x17" },
- { 0xf964, "\x78\xfb" },
- { 0xf965, "\x4f\xbf" },
- { 0xf966, "\x5f\xa9" },
- { 0xf967, "\x4e\x0d" },
- { 0xf968, "\x6c\xcc" },
- { 0xf969, "\x65\x78" },
- { 0xf96a, "\x7d\x22" },
- { 0xf96b, "\x53\xc3" },
- { 0xf96c, "\x58\x5e" },
- { 0xf96d, "\x77\x01" },
- { 0xf96e, "\x84\x49" },
- { 0xf96f, "\x8a\xaa" },
- { 0xf970, "\x6b\xba" },
- { 0xf971, "\x8f\xb0" },
- { 0xf972, "\x6c\x88" },
- { 0xf973, "\x62\xfe" },
- { 0xf974, "\x82\xe5" },
- { 0xf975, "\x63\xa0" },
- { 0xf976, "\x75\x65" },
- { 0xf977, "\x4e\xae" },
- { 0xf978, "\x51\x69" },
- { 0xf979, "\x51\xc9" },
- { 0xf97a, "\x68\x81" },
- { 0xf97b, "\x7c\xe7" },
- { 0xf97c, "\x82\x6f" },
- { 0xf97d, "\x8a\xd2" },
- { 0xf97e, "\x91\xcf" },
- { 0xf97f, "\x52\xf5" },
- { 0xf980, "\x54\x42" },
- { 0xf981, "\x59\x73" },
- { 0xf982, "\x5e\xec" },
- { 0xf983, "\x65\xc5" },
- { 0xf984, "\x6f\xfe" },
- { 0xf985, "\x79\x2a" },
- { 0xf986, "\x95\xad" },
- { 0xf987, "\x9a\x6a" },
- { 0xf988, "\x9e\x97" },
- { 0xf989, "\x9e\xce" },
- { 0xf98a, "\x52\x9b" },
- { 0xf98b, "\x66\xc6" },
- { 0xf98c, "\x6b\x77" },
- { 0xf98d, "\x8f\x62" },
- { 0xf98e, "\x5e\x74" },
- { 0xf98f, "\x61\x90" },
- { 0xf990, "\x62\x00" },
- { 0xf991, "\x64\x9a" },
- { 0xf992, "\x6f\x23" },
- { 0xf993, "\x71\x49" },
- { 0xf994, "\x74\x89" },
- { 0xf995, "\x79\xca" },
- { 0xf996, "\x7d\xf4" },
- { 0xf997, "\x80\x6f" },
- { 0xf998, "\x8f\x26" },
- { 0xf999, "\x84\xee" },
- { 0xf99a, "\x90\x23" },
- { 0xf99b, "\x93\x4a" },
- { 0xf99c, "\x52\x17" },
- { 0xf99d, "\x52\xa3" },
- { 0xf99e, "\x54\xbd" },
- { 0xf99f, "\x70\xc8" },
- { 0xf9a0, "\x88\xc2" },
- { 0xf9a1, "\x8a\xaa" },
- { 0xf9a2, "\x5e\xc9" },
- { 0xf9a3, "\x5f\xf5" },
- { 0xf9a4, "\x63\x7b" },
- { 0xf9a5, "\x6b\xae" },
- { 0xf9a6, "\x7c\x3e" },
- { 0xf9a7, "\x73\x75" },
- { 0xf9a8, "\x4e\xe4" },
- { 0xf9a9, "\x56\xf9" },
- { 0xf9aa, "\x5b\xe7" },
- { 0xf9ab, "\x5d\xba" },
- { 0xf9ac, "\x60\x1c" },
- { 0xf9ad, "\x73\xb2" },
- { 0xf9ae, "\x74\x69" },
- { 0xf9af, "\x7f\x9a" },
- { 0xf9b0, "\x80\x46" },
- { 0xf9b1, "\x92\x34" },
- { 0xf9b2, "\x96\xf6" },
- { 0xf9b3, "\x97\x48" },
- { 0xf9b4, "\x98\x18" },
- { 0xf9b5, "\x4f\x8b" },
- { 0xf9b6, "\x79\xae" },
- { 0xf9b7, "\x91\xb4" },
- { 0xf9b8, "\x96\xb8" },
- { 0xf9b9, "\x60\xe1" },
- { 0xf9ba, "\x4e\x86" },
- { 0xf9bb, "\x50\xda" },
- { 0xf9bc, "\x5b\xee" },
- { 0xf9bd, "\x5c\x3f" },
- { 0xf9be, "\x65\x99" },
- { 0xf9bf, "\x6a\x02" },
- { 0xf9c0, "\x71\xce" },
- { 0xf9c1, "\x76\x42" },
- { 0xf9c2, "\x84\xfc" },
- { 0xf9c3, "\x90\x7c" },
- { 0xf9c4, "\x9f\x8d" },
- { 0xf9c5, "\x66\x88" },
- { 0xf9c6, "\x96\x2e" },
- { 0xf9c7, "\x52\x89" },
- { 0xf9c8, "\x67\x7b" },
- { 0xf9c9, "\x67\xf3" },
- { 0xf9ca, "\x6d\x41" },
- { 0xf9cb, "\x6e\x9c" },
- { 0xf9cc, "\x74\x09" },
- { 0xf9cd, "\x75\x59" },
- { 0xf9ce, "\x78\x6b" },
- { 0xf9cf, "\x7d\x10" },
- { 0xf9d0, "\x98\x5e" },
- { 0xf9d1, "\x51\x6d" },
- { 0xf9d2, "\x62\x2e" },
- { 0xf9d3, "\x96\x78" },
- { 0xf9d4, "\x50\x2b" },
- { 0xf9d5, "\x5d\x19" },
- { 0xf9d6, "\x6d\xea" },
- { 0xf9d7, "\x8f\x2a" },
- { 0xf9d8, "\x5f\x8b" },
- { 0xf9d9, "\x61\x44" },
- { 0xf9da, "\x68\x17" },
- { 0xf9db, "\x73\x87" },
- { 0xf9dc, "\x96\x86" },
- { 0xf9dd, "\x52\x29" },
- { 0xf9de, "\x54\x0f" },
- { 0xf9df, "\x5c\x65" },
- { 0xf9e0, "\x66\x13" },
- { 0xf9e1, "\x67\x4e" },
- { 0xf9e2, "\x68\xa8" },
- { 0xf9e3, "\x6c\xe5" },
- { 0xf9e4, "\x74\x06" },
- { 0xf9e5, "\x75\xe2" },
- { 0xf9e6, "\x7f\x79" },
- { 0xf9e7, "\x88\xcf" },
- { 0xf9e8, "\x88\xe1" },
- { 0xf9e9, "\x91\xcc" },
- { 0xf9ea, "\x96\xe2" },
- { 0xf9eb, "\x53\x3f" },
- { 0xf9ec, "\x6e\xba" },
- { 0xf9ed, "\x54\x1d" },
- { 0xf9ee, "\x71\xd0" },
- { 0xf9ef, "\x74\x98" },
- { 0xf9f0, "\x85\xfa" },
- { 0xf9f1, "\x96\xa3" },
- { 0xf9f2, "\x9c\x57" },
- { 0xf9f3, "\x9e\x9f" },
- { 0xf9f4, "\x67\x97" },
- { 0xf9f5, "\x6d\xcb" },
- { 0xf9f6, "\x81\xe8" },
- { 0xf9f7, "\x7a\xcb" },
- { 0xf9f8, "\x7b\x20" },
- { 0xf9f9, "\x7c\x92" },
- { 0xf9fa, "\x72\xc0" },
- { 0xf9fb, "\x70\x99" },
- { 0xf9fc, "\x8b\x58" },
- { 0xf9fd, "\x4e\xc0" },
- { 0xf9fe, "\x83\x36" },
- { 0xf9ff, "\x52\x3a" },
- { 0xfa00, "\x52\x07" },
- { 0xfa01, "\x5e\xa6" },
- { 0xfa02, "\x62\xd3" },
- { 0xfa03, "\x7c\xd6" },
- { 0xfa04, "\x5b\x85" },
- { 0xfa05, "\x6d\x1e" },
- { 0xfa06, "\x66\xb4" },
- { 0xfa07, "\x8f\x3b" },
- { 0xfa08, "\x88\x4c" },
- { 0xfa09, "\x96\x4d" },
- { 0xfa0a, "\x89\x8b" },
- { 0xfa0b, "\x5e\xd3" },
- { 0xfa0c, "\x51\x40" },
- { 0xfa0d, "\x55\xc0" },
- { 0xfa10, "\x58\x5a" },
- { 0xfa12, "\x66\x74" },
- { 0xfa15, "\x51\xde" },
- { 0xfa16, "\x73\x2a" },
- { 0xfa17, "\x76\xca" },
- { 0xfa18, "\x79\x3c" },
- { 0xfa19, "\x79\x5e" },
- { 0xfa1a, "\x79\x65" },
- { 0xfa1b, "\x79\x8f" },
- { 0xfa1c, "\x97\x56" },
- { 0xfa1d, "\x7c\xbe" },
- { 0xfa1e, "\x7f\xbd" },
- { 0xfa20, "\x86\x12" },
- { 0xfa22, "\x8a\xf8" },
- { 0xfa25, "\x90\x38" },
- { 0xfa26, "\x90\xfd" },
- { 0xfa2a, "\x98\xef" },
- { 0xfa2b, "\x98\xfc" },
- { 0xfa2c, "\x99\x28" },
- { 0xfa2d, "\x9d\xb4" },
- { 0xfb1f, "\x05\xf2\x05\xb7" },
- { 0xfb2a, "\x05\xe9\x05\xc1" },
- { 0xfb2b, "\x05\xe9\x05\xc2" },
- { 0xfb2c, "\xfb\x49\x05\xc1" },
- { 0xfb2d, "\xfb\x49\x05\xc2" },
- { 0xfb2e, "\x05\xd0\x05\xb7" },
- { 0xfb2f, "\x05\xd0\x05\xb8" },
- { 0xfb30, "\x05\xd0\x05\xbc" },
- { 0xfb31, "\x05\xd1\x05\xbc" },
- { 0xfb32, "\x05\xd2\x05\xbc" },
- { 0xfb33, "\x05\xd3\x05\xbc" },
- { 0xfb34, "\x05\xd4\x05\xbc" },
- { 0xfb35, "\x05\xd5\x05\xbc" },
- { 0xfb36, "\x05\xd6\x05\xbc" },
- { 0xfb38, "\x05\xd8\x05\xbc" },
- { 0xfb39, "\x05\xd9\x05\xbc" },
- { 0xfb3a, "\x05\xda\x05\xbc" },
- { 0xfb3b, "\x05\xdb\x05\xbc" },
- { 0xfb3c, "\x05\xdc\x05\xbc" },
- { 0xfb3e, "\x05\xde\x05\xbc" },
- { 0xfb40, "\x05\xe0\x05\xbc" },
- { 0xfb41, "\x05\xe1\x05\xbc" },
- { 0xfb43, "\x05\xe3\x05\xbc" },
- { 0xfb44, "\x05\xe4\x05\xbc" },
- { 0xfb46, "\x05\xe6\x05\xbc" },
- { 0xfb47, "\x05\xe7\x05\xbc" },
- { 0xfb48, "\x05\xe8\x05\xbc" },
- { 0xfb49, "\x05\xe9\x05\xbc" },
- { 0xfb4a, "\x05\xea\x05\xbc" },
- { 0xfb4b, "\x05\xd5\x05\xb9" },
- { 0xfb4c, "\x05\xd1\x05\xbf" },
- { 0xfb4d, "\x05\xdb\x05\xbf" },
- { 0xfb4e, "\x05\xe4\x05\xbf" }
-};
-
-static const decomp_entry full_decomposition[] =
-{
- { 0x005e, "\x00\x20\x03\x02" },
- { 0x005f, "\x00\x20\x03\x32" },
- { 0x0060, "\x00\x20\x03\x00" },
- { 0x00a0, "\x00\x20" },
- { 0x00a8, "\x00\x20\x03\x08" },
- { 0x00aa, "\x00\x61" },
- { 0x00af, "\x00\x20\x03\x04" },
- { 0x00b2, "\x00\x32" },
- { 0x00b3, "\x00\x33" },
- { 0x00b4, "\x00\x20\x03\x01" },
- { 0x00b5, "\x03\xbc" },
- { 0x00b8, "\x00\x20\x03\x27" },
- { 0x00b9, "\x00\x31" },
- { 0x00ba, "\x00\x6f" },
- { 0x00bc, "\x00\x31\x20\x44\x00\x34" },
- { 0x00bd, "\x00\x31\x20\x44\x00\x32" },
- { 0x00be, "\x00\x33\x20\x44\x00\x34" },
- { 0x0132, "\x00\x49\x00\x4a" },
- { 0x0133, "\x00\x69\x00\x6a" },
- { 0x013f, "\x00\x4c\x00\xb7" },
- { 0x0140, "\x00\x6c\x00\xb7" },
- { 0x0149, "\x02\xbc\x00\x6e" },
- { 0x017f, "\x00\x73" },
- { 0x01c4, "\x00\x44\x01\x7d" },
- { 0x01c5, "\x00\x44\x01\x7e" },
- { 0x01c6, "\x00\x64\x01\x7e" },
- { 0x01c7, "\x00\x4c\x00\x4a" },
- { 0x01c8, "\x00\x4c\x00\x6a" },
- { 0x01c9, "\x00\x6c\x00\x6a" },
- { 0x01ca, "\x00\x4e\x00\x4a" },
- { 0x01cb, "\x00\x4e\x00\x6a" },
- { 0x01cc, "\x00\x6e\x00\x6a" },
- { 0x01f1, "\x00\x44\x00\x5a" },
- { 0x01f2, "\x00\x44\x00\x7a" },
- { 0x01f3, "\x00\x64\x00\x7a" },
- { 0x02b0, "\x00\x68" },
- { 0x02b1, "\x02\x66" },
- { 0x02b2, "\x00\x6a" },
- { 0x02b3, "\x00\x72" },
- { 0x02b4, "\x02\x79" },
- { 0x02b5, "\x02\x7b" },
- { 0x02b6, "\x02\x81" },
- { 0x02b7, "\x00\x77" },
- { 0x02b8, "\x00\x79" },
- { 0x02d8, "\x00\x20\x03\x06" },
- { 0x02d9, "\x00\x20\x03\x07" },
- { 0x02da, "\x00\x20\x03\x0a" },
- { 0x02db, "\x00\x20\x03\x28" },
- { 0x02dc, "\x00\x20\x03\x03" },
- { 0x02dd, "\x00\x20\x03\x0b" },
- { 0x02e0, "\x02\x63" },
- { 0x02e1, "\x00\x6c" },
- { 0x02e2, "\x00\x73" },
- { 0x02e3, "\x00\x78" },
- { 0x02e4, "\x02\x95" },
- { 0x037a, "\x00\x20\x03\x45" },
- { 0x0384, "\x00\x20\x03\x01" },
- { 0x0587, "\x05\x65\x05\x82" },
- { 0x0edc, "\x0e\xab\x0e\x99" },
- { 0x0edd, "\x0e\xab\x0e\xa1" },
- { 0x1101, "\x11\x00\x11\x00" },
- { 0x1104, "\x11\x03\x11\x03" },
- { 0x1108, "\x11\x07\x11\x07" },
- { 0x110a, "\x11\x09\x11\x09" },
- { 0x110d, "\x11\x0c\x11\x0c" },
- { 0x1113, "\x11\x02\x11\x00" },
- { 0x1114, "\x11\x02\x11\x02" },
- { 0x1115, "\x11\x02\x11\x03" },
- { 0x1116, "\x11\x02\x11\x07" },
- { 0x1117, "\x11\x03\x11\x00" },
- { 0x1118, "\x11\x05\x11\x02" },
- { 0x1119, "\x11\x05\x11\x05" },
- { 0x111a, "\x11\x05\x11\x12" },
- { 0x111b, "\x11\x05\x11\x0b" },
- { 0x111c, "\x11\x06\x11\x07" },
- { 0x111d, "\x11\x06\x11\x0b" },
- { 0x111e, "\x11\x07\x11\x00" },
- { 0x111f, "\x11\x07\x11\x02" },
- { 0x1120, "\x11\x07\x11\x03" },
- { 0x1121, "\x11\x07\x11\x09" },
- { 0x1122, "\x11\x07\x11\x09\x11\x00" },
- { 0x1123, "\x11\x07\x11\x09\x11\x03" },
- { 0x1124, "\x11\x07\x11\x09\x11\x07" },
- { 0x1125, "\x11\x07\x11\x09\x11\x09" },
- { 0x1126, "\x11\x07\x11\x09\x11\x0c" },
- { 0x1127, "\x11\x07\x11\x0c" },
- { 0x1128, "\x11\x07\x11\x0e" },
- { 0x1129, "\x11\x07\x11\x10" },
- { 0x112a, "\x11\x07\x11\x11" },
- { 0x112b, "\x11\x07\x11\x0b" },
- { 0x112c, "\x11\x07\x11\x07\x11\x0b" },
- { 0x112d, "\x11\x09\x11\x00" },
- { 0x112e, "\x11\x09\x11\x02" },
- { 0x112f, "\x11\x09\x11\x03" },
- { 0x1130, "\x11\x09\x11\x05" },
- { 0x1131, "\x11\x09\x11\x06" },
- { 0x1132, "\x11\x09\x11\x07" },
- { 0x1133, "\x11\x09\x11\x07\x11\x00" },
- { 0x1134, "\x11\x09\x11\x09\x11\x09" },
- { 0x1135, "\x11\x09\x11\x0b" },
- { 0x1136, "\x11\x09\x11\x0c" },
- { 0x1137, "\x11\x09\x11\x0e" },
- { 0x1138, "\x11\x09\x11\x0f" },
- { 0x1139, "\x11\x09\x11\x10" },
- { 0x113a, "\x11\x09\x11\x11" },
- { 0x113b, "\x11\x09\x11\x12" },
- { 0x113d, "\x11\x3c\x11\x3c" },
- { 0x113f, "\x11\x3e\x11\x3e" },
- { 0x1141, "\x11\x0b\x11\x00" },
- { 0x1142, "\x11\x0b\x11\x03" },
- { 0x1143, "\x11\x0b\x11\x06" },
- { 0x1144, "\x11\x0b\x11\x07" },
- { 0x1145, "\x11\x0b\x11\x09" },
- { 0x1146, "\x11\x0b\x11\x40" },
- { 0x1147, "\x11\x0b\x11\x0b" },
- { 0x1148, "\x11\x0b\x11\x0c" },
- { 0x1149, "\x11\x0b\x11\x0e" },
- { 0x114a, "\x11\x0b\x11\x10" },
- { 0x114b, "\x11\x0b\x11\x11" },
- { 0x114d, "\x11\x0c\x11\x0b" },
- { 0x114f, "\x11\x4e\x11\x4e" },
- { 0x1151, "\x11\x50\x11\x50" },
- { 0x1152, "\x11\x0e\x11\x0f" },
- { 0x1153, "\x11\x0e\x11\x12" },
- { 0x1156, "\x11\x11\x11\x07" },
- { 0x1157, "\x11\x11\x11\x0b" },
- { 0x1158, "\x11\x12\x11\x12" },
- { 0x1162, "\x11\x61\x11\x75" },
- { 0x1164, "\x11\x63\x11\x75" },
- { 0x1166, "\x11\x65\x11\x75" },
- { 0x1168, "\x11\x67\x11\x75" },
- { 0x116a, "\x11\x69\x11\x61" },
- { 0x116b, "\x11\x69\x11\x61\x11\x75" },
- { 0x116c, "\x11\x69\x11\x75" },
- { 0x116f, "\x11\x6e\x11\x65" },
- { 0x1170, "\x11\x6e\x11\x65\x11\x75" },
- { 0x1171, "\x11\x6e\x11\x75" },
- { 0x1174, "\x11\x73\x11\x75" },
- { 0x1176, "\x11\x61\x11\x69" },
- { 0x1177, "\x11\x61\x11\x6e" },
- { 0x1178, "\x11\x63\x11\x69" },
- { 0x1179, "\x11\x63\x11\x6d" },
- { 0x117a, "\x11\x65\x11\x69" },
- { 0x117b, "\x11\x65\x11\x6e" },
- { 0x117c, "\x11\x65\x11\x73" },
- { 0x117d, "\x11\x67\x11\x69" },
- { 0x117e, "\x11\x67\x11\x6e" },
- { 0x117f, "\x11\x69\x11\x65" },
- { 0x1180, "\x11\x69\x11\x66" },
- { 0x1181, "\x11\x69\x11\x68" },
- { 0x1182, "\x11\x69\x11\x69" },
- { 0x1183, "\x11\x69\x11\x6e" },
- { 0x1184, "\x11\x6d\x11\x63" },
- { 0x1185, "\x11\x6d\x11\x64" },
- { 0x1186, "\x11\x6d\x11\x67" },
- { 0x1187, "\x11\x6d\x11\x69" },
- { 0x1188, "\x11\x6d\x11\x75" },
- { 0x1189, "\x11\x6e\x11\x61" },
- { 0x118a, "\x11\x6e\x11\x62" },
- { 0x118b, "\x11\x6e\x11\x65\x11\x73" },
- { 0x118c, "\x11\x6e\x11\x68" },
- { 0x118d, "\x11\x6e\x11\x6e" },
- { 0x118e, "\x11\x72\x11\x61" },
- { 0x118f, "\x11\x72\x11\x65" },
- { 0x1190, "\x11\x72\x11\x66" },
- { 0x1191, "\x11\x72\x11\x67" },
- { 0x1192, "\x11\x72\x11\x68" },
- { 0x1193, "\x11\x72\x11\x6e" },
- { 0x1194, "\x11\x72\x11\x75" },
- { 0x1195, "\x11\x73\x11\x6e" },
- { 0x1196, "\x11\x73\x11\x73" },
- { 0x1197, "\x11\x74\x11\x6e" },
- { 0x1198, "\x11\x75\x11\x61" },
- { 0x1199, "\x11\x75\x11\x63" },
- { 0x119a, "\x11\x75\x11\x69" },
- { 0x119b, "\x11\x75\x11\x6e" },
- { 0x119c, "\x11\x75\x11\x73" },
- { 0x119d, "\x11\x75\x11\x9e" },
- { 0x119f, "\x11\x9e\x11\x65" },
- { 0x11a0, "\x11\x9e\x11\x6e" },
- { 0x11a1, "\x11\x9e\x11\x75" },
- { 0x11a2, "\x11\x9e\x11\x9e" },
- { 0x11a9, "\x11\xa8\x11\xa8" },
- { 0x11aa, "\x11\xa8\x11\xba" },
- { 0x11ac, "\x11\xab\x11\xbd" },
- { 0x11ad, "\x11\xab\x11\xc2" },
- { 0x11b0, "\x11\xaf\x11\xa8" },
- { 0x11b1, "\x11\xaf\x11\xb7" },
- { 0x11b2, "\x11\xaf\x11\xb8" },
- { 0x11b3, "\x11\xaf\x11\xba" },
- { 0x11b4, "\x11\xaf\x11\xc0" },
- { 0x11b5, "\x11\xaf\x11\xc1" },
- { 0x11b6, "\x11\xaf\x11\xc2" },
- { 0x11b9, "\x11\xb8\x11\xba" },
- { 0x11bb, "\x11\xba\x11\xba" },
- { 0x11c3, "\x11\xa8\x11\xaf" },
- { 0x11c4, "\x11\xa8\x11\xba\x11\xa8" },
- { 0x11c5, "\x11\xab\x11\xa8" },
- { 0x11c6, "\x11\xab\x11\xae" },
- { 0x11c7, "\x11\xab\x11\xba" },
- { 0x11c8, "\x11\xab\x11\xeb" },
- { 0x11c9, "\x11\xab\x11\xc0" },
- { 0x11ca, "\x11\xae\x11\xa8" },
- { 0x11cb, "\x11\xae\x11\xaf" },
- { 0x11cc, "\x11\xaf\x11\xa8\x11\xba" },
- { 0x11cd, "\x11\xaf\x11\xab" },
- { 0x11ce, "\x11\xaf\x11\xae" },
- { 0x11cf, "\x11\xaf\x11\xae\x11\xc2" },
- { 0x11d0, "\x11\xaf\x11\xaf" },
- { 0x11d1, "\x11\xaf\x11\xb7\x11\xa8" },
- { 0x11d2, "\x11\xaf\x11\xb7\x11\xba" },
- { 0x11d3, "\x11\xaf\x11\xb8\x11\xba" },
- { 0x11d4, "\x11\xaf\x11\xb8\x11\xc2" },
- { 0x11d5, "\x11\xaf\x11\xb8\x11\xbc" },
- { 0x11d6, "\x11\xaf\x11\xba\x11\xba" },
- { 0x11d7, "\x11\xaf\x11\xeb" },
- { 0x11d8, "\x11\xaf\x11\xbf" },
- { 0x11d9, "\x11\xaf\x11\xf9" },
- { 0x11da, "\x11\xb7\x11\xa8" },
- { 0x11db, "\x11\xb7\x11\xaf" },
- { 0x11dc, "\x11\xb7\x11\xb8" },
- { 0x11dd, "\x11\xb7\x11\xba" },
- { 0x11de, "\x11\xb7\x11\xba\x11\xba" },
- { 0x11df, "\x11\xb7\x11\xeb" },
- { 0x11e0, "\x11\xb7\x11\xbe" },
- { 0x11e1, "\x11\xb7\x11\xc2" },
- { 0x11e2, "\x11\xb7\x11\xbc" },
- { 0x11e3, "\x11\xb8\x11\xaf" },
- { 0x11e4, "\x11\xb8\x11\xc1" },
- { 0x11e5, "\x11\xb8\x11\xc2" },
- { 0x11e6, "\x11\xb8\x11\xbc" },
- { 0x11e7, "\x11\xba\x11\xa8" },
- { 0x11e8, "\x11\xba\x11\xae" },
- { 0x11e9, "\x11\xba\x11\xaf" },
- { 0x11ea, "\x11\xba\x11\xb8" },
- { 0x11ec, "\x11\xbc\x11\xa8" },
- { 0x11ed, "\x11\xbc\x11\xa8\x11\xa8" },
- { 0x11ee, "\x11\xbc\x11\xbc" },
- { 0x11ef, "\x11\xbc\x11\xbf" },
- { 0x11f1, "\x11\xf0\x11\xba" },
- { 0x11f2, "\x11\xf0\x11\xeb" },
- { 0x11f3, "\x11\xc1\x11\xb8" },
- { 0x11f4, "\x11\xc1\x11\xbc" },
- { 0x11f5, "\x11\xc2\x11\xab" },
- { 0x11f6, "\x11\xc2\x11\xaf" },
- { 0x11f7, "\x11\xc2\x11\xb7" },
- { 0x11f8, "\x11\xc2\x11\xb8" },
- { 0x1e9a, "\x00\x61\x02\xbe" },
- { 0x1fbd, "\x00\x20\x03\x13" },
- { 0x1fbf, "\x00\x20\x03\x13" },
- { 0x1fc0, "\x00\x20\x03\x42" },
- { 0x1ffe, "\x00\x20\x03\x14" },
- { 0x2002, "\x00\x20" },
- { 0x2003, "\x00\x20" },
- { 0x2004, "\x00\x20" },
- { 0x2005, "\x00\x20" },
- { 0x2006, "\x00\x20" },
- { 0x2007, "\x00\x20" },
- { 0x2008, "\x00\x20" },
- { 0x2009, "\x00\x20" },
- { 0x200a, "\x00\x20" },
- { 0x2011, "\x20\x10" },
- { 0x2017, "\x00\x20\x03\x33" },
- { 0x2024, "\x00\x2e" },
- { 0x2025, "\x00\x2e\x00\x2e" },
- { 0x2026, "\x00\x2e\x00\x2e\x00\x2e" },
- { 0x2033, "\x20\x32\x20\x32" },
- { 0x2034, "\x20\x32\x20\x32\x20\x32" },
- { 0x2036, "\x20\x35\x20\x35" },
- { 0x2037, "\x20\x35\x20\x35\x20\x35" },
- { 0x203c, "\x00\x21\x00\x21" },
- { 0x203e, "\x00\x20\x03\x05" },
- { 0x2070, "\x00\x30" },
- { 0x2074, "\x00\x34" },
- { 0x2075, "\x00\x35" },
- { 0x2076, "\x00\x36" },
- { 0x2077, "\x00\x37" },
- { 0x2078, "\x00\x38" },
- { 0x2079, "\x00\x39" },
- { 0x207a, "\x00\x2b" },
- { 0x207b, "\x22\x12" },
- { 0x207c, "\x00\x3d" },
- { 0x207d, "\x00\x28" },
- { 0x207e, "\x00\x29" },
- { 0x207f, "\x00\x6e" },
- { 0x2080, "\x00\x30" },
- { 0x2081, "\x00\x31" },
- { 0x2082, "\x00\x32" },
- { 0x2083, "\x00\x33" },
- { 0x2084, "\x00\x34" },
- { 0x2085, "\x00\x35" },
- { 0x2086, "\x00\x36" },
- { 0x2087, "\x00\x37" },
- { 0x2088, "\x00\x38" },
- { 0x2089, "\x00\x39" },
- { 0x208a, "\x00\x2b" },
- { 0x208b, "\x22\x12" },
- { 0x208c, "\x00\x3d" },
- { 0x208d, "\x00\x28" },
- { 0x208e, "\x00\x29" },
- { 0x20a8, "\x00\x52\x00\x73" },
- { 0x2100, "\x00\x61\x00\x2f\x00\x63" },
- { 0x2101, "\x00\x61\x00\x2f\x00\x73" },
- { 0x2102, "\x00\x43" },
- { 0x2103, "\x00\xb0\x00\x43" },
- { 0x2105, "\x00\x63\x00\x2f\x00\x6f" },
- { 0x2106, "\x00\x63\x00\x2f\x00\x75" },
- { 0x2107, "\x01\x90" },
- { 0x2109, "\x00\xb0\x00\x46" },
- { 0x210a, "\x00\x67" },
- { 0x210b, "\x00\x48" },
- { 0x210c, "\x00\x48" },
- { 0x210d, "\x00\x48" },
- { 0x210e, "\x00\x68" },
- { 0x210f, "\x01\x27" },
- { 0x2110, "\x00\x49" },
- { 0x2111, "\x00\x49" },
- { 0x2112, "\x00\x4c" },
- { 0x2113, "\x00\x6c" },
- { 0x2115, "\x00\x4e" },
- { 0x2116, "\x00\x4e\x00\x6f" },
- { 0x2119, "\x00\x50" },
- { 0x211a, "\x00\x51" },
- { 0x211b, "\x00\x52" },
- { 0x211c, "\x00\x52" },
- { 0x211d, "\x00\x52" },
- { 0x2120, "\x00\x53\x00\x4d" },
- { 0x2121, "\x00\x54\x00\x45\x00\x4c" },
- { 0x2122, "\x00\x54\x00\x4d" },
- { 0x2124, "\x00\x5a" },
- { 0x2128, "\x00\x5a" },
- { 0x212c, "\x00\x42" },
- { 0x212d, "\x00\x43" },
- { 0x212f, "\x00\x65" },
- { 0x2130, "\x00\x45" },
- { 0x2131, "\x00\x46" },
- { 0x2133, "\x00\x4d" },
- { 0x2134, "\x00\x6f" },
- { 0x2135, "\x05\xd0" },
- { 0x2136, "\x05\xd1" },
- { 0x2137, "\x05\xd2" },
- { 0x2138, "\x05\xd3" },
- { 0x2153, "\x00\x31\x20\x44\x00\x33" },
- { 0x2154, "\x00\x32\x20\x44\x00\x33" },
- { 0x2155, "\x00\x31\x20\x44\x00\x35" },
- { 0x2156, "\x00\x32\x20\x44\x00\x35" },
- { 0x2157, "\x00\x33\x20\x44\x00\x35" },
- { 0x2158, "\x00\x34\x20\x44\x00\x35" },
- { 0x2159, "\x00\x31\x20\x44\x00\x36" },
- { 0x215a, "\x00\x35\x20\x44\x00\x36" },
- { 0x215b, "\x00\x31\x20\x44\x00\x38" },
- { 0x215c, "\x00\x33\x20\x44\x00\x38" },
- { 0x215d, "\x00\x35\x20\x44\x00\x38" },
- { 0x215e, "\x00\x37\x20\x44\x00\x38" },
- { 0x215f, "\x00\x31\x20\x44" },
- { 0x2160, "\x00\x49" },
- { 0x2161, "\x00\x49\x00\x49" },
- { 0x2162, "\x00\x49\x00\x49\x00\x49" },
- { 0x2163, "\x00\x49\x00\x56" },
- { 0x2164, "\x00\x56" },
- { 0x2165, "\x00\x56\x00\x49" },
- { 0x2166, "\x00\x56\x00\x49\x00\x49" },
- { 0x2167, "\x00\x56\x00\x49\x00\x49\x00\x49" },
- { 0x2168, "\x00\x49\x00\x58" },
- { 0x2169, "\x00\x58" },
- { 0x216a, "\x00\x58\x00\x49" },
- { 0x216b, "\x00\x58\x00\x49\x00\x49" },
- { 0x216c, "\x00\x4c" },
- { 0x216d, "\x00\x43" },
- { 0x216e, "\x00\x44" },
- { 0x216f, "\x00\x4d" },
- { 0x2170, "\x00\x69" },
- { 0x2171, "\x00\x69\x00\x69" },
- { 0x2172, "\x00\x69\x00\x69\x00\x69" },
- { 0x2173, "\x00\x69\x00\x76" },
- { 0x2174, "\x00\x76" },
- { 0x2175, "\x00\x76\x00\x69" },
- { 0x2176, "\x00\x76\x00\x69\x00\x69" },
- { 0x2177, "\x00\x76\x00\x69\x00\x69\x00\x69" },
- { 0x2178, "\x00\x69\x00\x78" },
- { 0x2179, "\x00\x78" },
- { 0x217a, "\x00\x78\x00\x69" },
- { 0x217b, "\x00\x78\x00\x69\x00\x69" },
- { 0x217c, "\x00\x6c" },
- { 0x217d, "\x00\x63" },
- { 0x217e, "\x00\x64" },
- { 0x217f, "\x00\x6d" },
- { 0x222c, "\x22\x2b\x22\x2b" },
- { 0x222d, "\x22\x2b\x22\x2b\x22\x2b" },
- { 0x222f, "\x22\x2e\x22\x2e" },
- { 0x2230, "\x22\x2e\x22\x2e\x22\x2e" },
- { 0x2460, "\x00\x31" },
- { 0x2461, "\x00\x32" },
- { 0x2462, "\x00\x33" },
- { 0x2463, "\x00\x34" },
- { 0x2464, "\x00\x35" },
- { 0x2465, "\x00\x36" },
- { 0x2466, "\x00\x37" },
- { 0x2467, "\x00\x38" },
- { 0x2468, "\x00\x39" },
- { 0x2469, "\x00\x31\x00\x30" },
- { 0x246a, "\x00\x31\x00\x31" },
- { 0x246b, "\x00\x31\x00\x32" },
- { 0x246c, "\x00\x31\x00\x33" },
- { 0x246d, "\x00\x31\x00\x34" },
- { 0x246e, "\x00\x31\x00\x35" },
- { 0x246f, "\x00\x31\x00\x36" },
- { 0x2470, "\x00\x31\x00\x37" },
- { 0x2471, "\x00\x31\x00\x38" },
- { 0x2472, "\x00\x31\x00\x39" },
- { 0x2473, "\x00\x32\x00\x30" },
- { 0x2474, "\x00\x28\x00\x31\x00\x29" },
- { 0x2475, "\x00\x28\x00\x32\x00\x29" },
- { 0x2476, "\x00\x28\x00\x33\x00\x29" },
- { 0x2477, "\x00\x28\x00\x34\x00\x29" },
- { 0x2478, "\x00\x28\x00\x35\x00\x29" },
- { 0x2479, "\x00\x28\x00\x36\x00\x29" },
- { 0x247a, "\x00\x28\x00\x37\x00\x29" },
- { 0x247b, "\x00\x28\x00\x38\x00\x29" },
- { 0x247c, "\x00\x28\x00\x39\x00\x29" },
- { 0x247d, "\x00\x28\x00\x31\x00\x30\x00\x29" },
- { 0x247e, "\x00\x28\x00\x31\x00\x31\x00\x29" },
- { 0x247f, "\x00\x28\x00\x31\x00\x32\x00\x29" },
- { 0x2480, "\x00\x28\x00\x31\x00\x33\x00\x29" },
- { 0x2481, "\x00\x28\x00\x31\x00\x34\x00\x29" },
- { 0x2482, "\x00\x28\x00\x31\x00\x35\x00\x29" },
- { 0x2483, "\x00\x28\x00\x31\x00\x36\x00\x29" },
- { 0x2484, "\x00\x28\x00\x31\x00\x37\x00\x29" },
- { 0x2485, "\x00\x28\x00\x31\x00\x38\x00\x29" },
- { 0x2486, "\x00\x28\x00\x31\x00\x39\x00\x29" },
- { 0x2487, "\x00\x28\x00\x32\x00\x30\x00\x29" },
- { 0x2488, "\x00\x31\x00\x2e" },
- { 0x2489, "\x00\x32\x00\x2e" },
- { 0x248a, "\x00\x33\x00\x2e" },
- { 0x248b, "\x00\x34\x00\x2e" },
- { 0x248c, "\x00\x35\x00\x2e" },
- { 0x248d, "\x00\x36\x00\x2e" },
- { 0x248e, "\x00\x37\x00\x2e" },
- { 0x248f, "\x00\x38\x00\x2e" },
- { 0x2490, "\x00\x39\x00\x2e" },
- { 0x2491, "\x00\x31\x00\x30\x00\x2e" },
- { 0x2492, "\x00\x31\x00\x31\x00\x2e" },
- { 0x2493, "\x00\x31\x00\x32\x00\x2e" },
- { 0x2494, "\x00\x31\x00\x33\x00\x2e" },
- { 0x2495, "\x00\x31\x00\x34\x00\x2e" },
- { 0x2496, "\x00\x31\x00\x35\x00\x2e" },
- { 0x2497, "\x00\x31\x00\x36\x00\x2e" },
- { 0x2498, "\x00\x31\x00\x37\x00\x2e" },
- { 0x2499, "\x00\x31\x00\x38\x00\x2e" },
- { 0x249a, "\x00\x31\x00\x39\x00\x2e" },
- { 0x249b, "\x00\x32\x00\x30\x00\x2e" },
- { 0x249c, "\x00\x28\x00\x61\x00\x29" },
- { 0x249d, "\x00\x28\x00\x62\x00\x29" },
- { 0x249e, "\x00\x28\x00\x63\x00\x29" },
- { 0x249f, "\x00\x28\x00\x64\x00\x29" },
- { 0x24a0, "\x00\x28\x00\x65\x00\x29" },
- { 0x24a1, "\x00\x28\x00\x66\x00\x29" },
- { 0x24a2, "\x00\x28\x00\x67\x00\x29" },
- { 0x24a3, "\x00\x28\x00\x68\x00\x29" },
- { 0x24a4, "\x00\x28\x00\x69\x00\x29" },
- { 0x24a5, "\x00\x28\x00\x6a\x00\x29" },
- { 0x24a6, "\x00\x28\x00\x6b\x00\x29" },
- { 0x24a7, "\x00\x28\x00\x6c\x00\x29" },
- { 0x24a8, "\x00\x28\x00\x6d\x00\x29" },
- { 0x24a9, "\x00\x28\x00\x6e\x00\x29" },
- { 0x24aa, "\x00\x28\x00\x6f\x00\x29" },
- { 0x24ab, "\x00\x28\x00\x70\x00\x29" },
- { 0x24ac, "\x00\x28\x00\x71\x00\x29" },
- { 0x24ad, "\x00\x28\x00\x72\x00\x29" },
- { 0x24ae, "\x00\x28\x00\x73\x00\x29" },
- { 0x24af, "\x00\x28\x00\x74\x00\x29" },
- { 0x24b0, "\x00\x28\x00\x75\x00\x29" },
- { 0x24b1, "\x00\x28\x00\x76\x00\x29" },
- { 0x24b2, "\x00\x28\x00\x77\x00\x29" },
- { 0x24b3, "\x00\x28\x00\x78\x00\x29" },
- { 0x24b4, "\x00\x28\x00\x79\x00\x29" },
- { 0x24b5, "\x00\x28\x00\x7a\x00\x29" },
- { 0x24b6, "\x00\x41" },
- { 0x24b7, "\x00\x42" },
- { 0x24b8, "\x00\x43" },
- { 0x24b9, "\x00\x44" },
- { 0x24ba, "\x00\x45" },
- { 0x24bb, "\x00\x46" },
- { 0x24bc, "\x00\x47" },
- { 0x24bd, "\x00\x48" },
- { 0x24be, "\x00\x49" },
- { 0x24bf, "\x00\x4a" },
- { 0x24c0, "\x00\x4b" },
- { 0x24c1, "\x00\x4c" },
- { 0x24c2, "\x00\x4d" },
- { 0x24c3, "\x00\x4e" },
- { 0x24c4, "\x00\x4f" },
- { 0x24c5, "\x00\x50" },
- { 0x24c6, "\x00\x51" },
- { 0x24c7, "\x00\x52" },
- { 0x24c8, "\x00\x53" },
- { 0x24c9, "\x00\x54" },
- { 0x24ca, "\x00\x55" },
- { 0x24cb, "\x00\x56" },
- { 0x24cc, "\x00\x57" },
- { 0x24cd, "\x00\x58" },
- { 0x24ce, "\x00\x59" },
- { 0x24cf, "\x00\x5a" },
- { 0x24d0, "\x00\x61" },
- { 0x24d1, "\x00\x62" },
- { 0x24d2, "\x00\x63" },
- { 0x24d3, "\x00\x64" },
- { 0x24d4, "\x00\x65" },
- { 0x24d5, "\x00\x66" },
- { 0x24d6, "\x00\x67" },
- { 0x24d7, "\x00\x68" },
- { 0x24d8, "\x00\x69" },
- { 0x24d9, "\x00\x6a" },
- { 0x24da, "\x00\x6b" },
- { 0x24db, "\x00\x6c" },
- { 0x24dc, "\x00\x6d" },
- { 0x24dd, "\x00\x6e" },
- { 0x24de, "\x00\x6f" },
- { 0x24df, "\x00\x70" },
- { 0x24e0, "\x00\x71" },
- { 0x24e1, "\x00\x72" },
- { 0x24e2, "\x00\x73" },
- { 0x24e3, "\x00\x74" },
- { 0x24e4, "\x00\x75" },
- { 0x24e5, "\x00\x76" },
- { 0x24e6, "\x00\x77" },
- { 0x24e7, "\x00\x78" },
- { 0x24e8, "\x00\x79" },
- { 0x24e9, "\x00\x7a" },
- { 0x24ea, "\x00\x30" },
- { 0x3000, "\x00\x20" },
- { 0x3036, "\x30\x12" },
- { 0x309b, "\x00\x20\x30\x99" },
- { 0x309c, "\x00\x20\x30\x9a" },
- { 0x3131, "\x11\x00" },
- { 0x3132, "\x11\x01" },
- { 0x3133, "\x11\xaa" },
- { 0x3134, "\x11\x02" },
- { 0x3135, "\x11\xac" },
- { 0x3136, "\x11\xad" },
- { 0x3137, "\x11\x03" },
- { 0x3138, "\x11\x04" },
- { 0x3139, "\x11\x05" },
- { 0x313a, "\x11\xb0" },
- { 0x313b, "\x11\xb1" },
- { 0x313c, "\x11\xb2" },
- { 0x313d, "\x11\xb3" },
- { 0x313e, "\x11\xb4" },
- { 0x313f, "\x11\xb5" },
- { 0x3140, "\x11\x1a" },
- { 0x3141, "\x11\x06" },
- { 0x3142, "\x11\x07" },
- { 0x3143, "\x11\x08" },
- { 0x3144, "\x11\x21" },
- { 0x3145, "\x11\x09" },
- { 0x3146, "\x11\x0a" },
- { 0x3147, "\x11\x0b" },
- { 0x3148, "\x11\x0c" },
- { 0x3149, "\x11\x0d" },
- { 0x314a, "\x11\x0e" },
- { 0x314b, "\x11\x0f" },
- { 0x314c, "\x11\x10" },
- { 0x314d, "\x11\x11" },
- { 0x314e, "\x11\x12" },
- { 0x314f, "\x11\x61" },
- { 0x3150, "\x11\x62" },
- { 0x3151, "\x11\x63" },
- { 0x3152, "\x11\x64" },
- { 0x3153, "\x11\x65" },
- { 0x3154, "\x11\x66" },
- { 0x3155, "\x11\x67" },
- { 0x3156, "\x11\x68" },
- { 0x3157, "\x11\x69" },
- { 0x3158, "\x11\x6a" },
- { 0x3159, "\x11\x6b" },
- { 0x315a, "\x11\x6c" },
- { 0x315b, "\x11\x6d" },
- { 0x315c, "\x11\x6e" },
- { 0x315d, "\x11\x6f" },
- { 0x315e, "\x11\x70" },
- { 0x315f, "\x11\x71" },
- { 0x3160, "\x11\x72" },
- { 0x3161, "\x11\x73" },
- { 0x3162, "\x11\x74" },
- { 0x3163, "\x11\x75" },
- { 0x3164, "\x11\x60" },
- { 0x3165, "\x11\x14" },
- { 0x3166, "\x11\x15" },
- { 0x3167, "\x11\xc7" },
- { 0x3168, "\x11\xc8" },
- { 0x3169, "\x11\xcc" },
- { 0x316a, "\x11\xce" },
- { 0x316b, "\x11\xd3" },
- { 0x316c, "\x11\xd7" },
- { 0x316d, "\x11\xd9" },
- { 0x316e, "\x11\x1c" },
- { 0x316f, "\x11\xdd" },
- { 0x3170, "\x11\xdf" },
- { 0x3171, "\x11\x1d" },
- { 0x3172, "\x11\x1e" },
- { 0x3173, "\x11\x20" },
- { 0x3174, "\x11\x22" },
- { 0x3175, "\x11\x23" },
- { 0x3176, "\x11\x27" },
- { 0x3177, "\x11\x29" },
- { 0x3178, "\x11\x2b" },
- { 0x3179, "\x11\x2c" },
- { 0x317a, "\x11\x2d" },
- { 0x317b, "\x11\x2e" },
- { 0x317c, "\x11\x2f" },
- { 0x317d, "\x11\x32" },
- { 0x317e, "\x11\x36" },
- { 0x317f, "\x11\x40" },
- { 0x3180, "\x11\x47" },
- { 0x3181, "\x11\x4c" },
- { 0x3182, "\x11\xf1" },
- { 0x3183, "\x11\xf2" },
- { 0x3184, "\x11\x57" },
- { 0x3185, "\x11\x58" },
- { 0x3186, "\x11\x59" },
- { 0x3187, "\x11\x84" },
- { 0x3188, "\x11\x85" },
- { 0x3189, "\x11\x88" },
- { 0x318a, "\x11\x91" },
- { 0x318b, "\x11\x92" },
- { 0x318c, "\x11\x94" },
- { 0x318d, "\x11\x9e" },
- { 0x318e, "\x11\xa1" },
- { 0x3192, "\x4e\x00" },
- { 0x3193, "\x4e\x8c" },
- { 0x3194, "\x4e\x09" },
- { 0x3195, "\x56\xdb" },
- { 0x3196, "\x4e\x0a" },
- { 0x3197, "\x4e\x2d" },
- { 0x3198, "\x4e\x0b" },
- { 0x3199, "\x75\x32" },
- { 0x319a, "\x4e\x59" },
- { 0x319b, "\x4e\x19" },
- { 0x319c, "\x4e\x01" },
- { 0x319d, "\x59\x29" },
- { 0x319e, "\x57\x30" },
- { 0x319f, "\x4e\xba" },
- { 0x3200, "\x00\x28\x11\x00\x00\x29" },
- { 0x3201, "\x00\x28\x11\x02\x00\x29" },
- { 0x3202, "\x00\x28\x11\x03\x00\x29" },
- { 0x3203, "\x00\x28\x11\x05\x00\x29" },
- { 0x3204, "\x00\x28\x11\x06\x00\x29" },
- { 0x3205, "\x00\x28\x11\x07\x00\x29" },
- { 0x3206, "\x00\x28\x11\x09\x00\x29" },
- { 0x3207, "\x00\x28\x11\x0b\x00\x29" },
- { 0x3208, "\x00\x28\x11\x0c\x00\x29" },
- { 0x3209, "\x00\x28\x11\x0e\x00\x29" },
- { 0x320a, "\x00\x28\x11\x0f\x00\x29" },
- { 0x320b, "\x00\x28\x11\x10\x00\x29" },
- { 0x320c, "\x00\x28\x11\x11\x00\x29" },
- { 0x320d, "\x00\x28\x11\x12\x00\x29" },
- { 0x320e, "\x00\x28\x11\x00\x11\x61\x00\x29" },
- { 0x320f, "\x00\x28\x11\x02\x11\x61\x00\x29" },
- { 0x3210, "\x00\x28\x11\x03\x11\x61\x00\x29" },
- { 0x3211, "\x00\x28\x11\x05\x11\x61\x00\x29" },
- { 0x3212, "\x00\x28\x11\x06\x11\x61\x00\x29" },
- { 0x3213, "\x00\x28\x11\x07\x11\x61\x00\x29" },
- { 0x3214, "\x00\x28\x11\x09\x11\x61\x00\x29" },
- { 0x3215, "\x00\x28\x11\x0b\x11\x61\x00\x29" },
- { 0x3216, "\x00\x28\x11\x0c\x11\x61\x00\x29" },
- { 0x3217, "\x00\x28\x11\x0e\x11\x61\x00\x29" },
- { 0x3218, "\x00\x28\x11\x0f\x11\x61\x00\x29" },
- { 0x3219, "\x00\x28\x11\x10\x11\x61\x00\x29" },
- { 0x321a, "\x00\x28\x11\x11\x11\x61\x00\x29" },
- { 0x321b, "\x00\x28\x11\x12\x11\x61\x00\x29" },
- { 0x321c, "\x00\x28\x11\x0c\x11\x6e\x00\x29" },
- { 0x3220, "\x00\x28\x4e\x00\x00\x29" },
- { 0x3221, "\x00\x28\x4e\x8c\x00\x29" },
- { 0x3222, "\x00\x28\x4e\x09\x00\x29" },
- { 0x3223, "\x00\x28\x56\xdb\x00\x29" },
- { 0x3224, "\x00\x28\x4e\x94\x00\x29" },
- { 0x3225, "\x00\x28\x51\x6d\x00\x29" },
- { 0x3226, "\x00\x28\x4e\x03\x00\x29" },
- { 0x3227, "\x00\x28\x51\x6b\x00\x29" },
- { 0x3228, "\x00\x28\x4e\x5d\x00\x29" },
- { 0x3229, "\x00\x28\x53\x41\x00\x29" },
- { 0x322a, "\x00\x28\x67\x08\x00\x29" },
- { 0x322b, "\x00\x28\x70\x6b\x00\x29" },
- { 0x322c, "\x00\x28\x6c\x34\x00\x29" },
- { 0x322d, "\x00\x28\x67\x28\x00\x29" },
- { 0x322e, "\x00\x28\x91\xd1\x00\x29" },
- { 0x322f, "\x00\x28\x57\x1f\x00\x29" },
- { 0x3230, "\x00\x28\x65\xe5\x00\x29" },
- { 0x3231, "\x00\x28\x68\x2a\x00\x29" },
- { 0x3232, "\x00\x28\x67\x09\x00\x29" },
- { 0x3233, "\x00\x28\x79\x3e\x00\x29" },
- { 0x3234, "\x00\x28\x54\x0d\x00\x29" },
- { 0x3235, "\x00\x28\x72\x79\x00\x29" },
- { 0x3236, "\x00\x28\x8c\xa1\x00\x29" },
- { 0x3237, "\x00\x28\x79\x5d\x00\x29" },
- { 0x3238, "\x00\x28\x52\xb4\x00\x29" },
- { 0x3239, "\x00\x28\x4e\xe3\x00\x29" },
- { 0x323a, "\x00\x28\x54\x7c\x00\x29" },
- { 0x323b, "\x00\x28\x5b\x66\x00\x29" },
- { 0x323c, "\x00\x28\x76\xe3\x00\x29" },
- { 0x323d, "\x00\x28\x4f\x01\x00\x29" },
- { 0x323e, "\x00\x28\x8c\xc7\x00\x29" },
- { 0x323f, "\x00\x28\x53\x54\x00\x29" },
- { 0x3240, "\x00\x28\x79\x6d\x00\x29" },
- { 0x3241, "\x00\x28\x4f\x11\x00\x29" },
- { 0x3242, "\x00\x28\x81\xea\x00\x29" },
- { 0x3243, "\x00\x28\x81\xf3\x00\x29" },
- { 0x3260, "\x11\x00" },
- { 0x3261, "\x11\x02" },
- { 0x3262, "\x11\x03" },
- { 0x3263, "\x11\x05" },
- { 0x3264, "\x11\x06" },
- { 0x3265, "\x11\x07" },
- { 0x3266, "\x11\x09" },
- { 0x3267, "\x11\x0b" },
- { 0x3268, "\x11\x0c" },
- { 0x3269, "\x11\x0e" },
- { 0x326a, "\x11\x0f" },
- { 0x326b, "\x11\x10" },
- { 0x326c, "\x11\x11" },
- { 0x326d, "\x11\x12" },
- { 0x326e, "\x11\x00\x11\x61" },
- { 0x326f, "\x11\x02\x11\x61" },
- { 0x3270, "\x11\x03\x11\x61" },
- { 0x3271, "\x11\x05\x11\x61" },
- { 0x3272, "\x11\x06\x11\x61" },
- { 0x3273, "\x11\x07\x11\x61" },
- { 0x3274, "\x11\x09\x11\x61" },
- { 0x3275, "\x11\x0b\x11\x61" },
- { 0x3276, "\x11\x0c\x11\x61" },
- { 0x3277, "\x11\x0e\x11\x61" },
- { 0x3278, "\x11\x0f\x11\x61" },
- { 0x3279, "\x11\x10\x11\x61" },
- { 0x327a, "\x11\x11\x11\x61" },
- { 0x327b, "\x11\x12\x11\x61" },
- { 0x3280, "\x4e\x00" },
- { 0x3281, "\x4e\x8c" },
- { 0x3282, "\x4e\x09" },
- { 0x3283, "\x56\xdb" },
- { 0x3284, "\x4e\x94" },
- { 0x3285, "\x51\x6d" },
- { 0x3286, "\x4e\x03" },
- { 0x3287, "\x51\x6b" },
- { 0x3288, "\x4e\x5d" },
- { 0x3289, "\x53\x41" },
- { 0x328a, "\x67\x08" },
- { 0x328b, "\x70\x6b" },
- { 0x328c, "\x6c\x34" },
- { 0x328d, "\x67\x28" },
- { 0x328e, "\x91\xd1" },
- { 0x328f, "\x57\x1f" },
- { 0x3290, "\x65\xe5" },
- { 0x3291, "\x68\x2a" },
- { 0x3292, "\x67\x09" },
- { 0x3293, "\x79\x3e" },
- { 0x3294, "\x54\x0d" },
- { 0x3295, "\x72\x79" },
- { 0x3296, "\x8c\xa1" },
- { 0x3297, "\x79\x5d" },
- { 0x3298, "\x52\xb4" },
- { 0x3299, "\x79\xd8" },
- { 0x329a, "\x75\x37" },
- { 0x329b, "\x59\x73" },
- { 0x329c, "\x90\x69" },
- { 0x329d, "\x51\x2a" },
- { 0x329e, "\x53\x70" },
- { 0x329f, "\x6c\xe8" },
- { 0x32a0, "\x98\x05" },
- { 0x32a1, "\x4f\x11" },
- { 0x32a2, "\x51\x99" },
- { 0x32a3, "\x6b\x63" },
- { 0x32a4, "\x4e\x0a" },
- { 0x32a5, "\x4e\x2d" },
- { 0x32a6, "\x4e\x0b" },
- { 0x32a7, "\x5d\xe6" },
- { 0x32a8, "\x53\xf3" },
- { 0x32a9, "\x53\x3b" },
- { 0x32aa, "\x5b\x97" },
- { 0x32ab, "\x5b\x66" },
- { 0x32ac, "\x76\xe3" },
- { 0x32ad, "\x4f\x01" },
- { 0x32ae, "\x8c\xc7" },
- { 0x32af, "\x53\x54" },
- { 0x32b0, "\x59\x1c" },
- { 0x32c0, "\x00\x31\x67\x08" },
- { 0x32c1, "\x00\x32\x67\x08" },
- { 0x32c2, "\x00\x33\x67\x08" },
- { 0x32c3, "\x00\x34\x67\x08" },
- { 0x32c4, "\x00\x35\x67\x08" },
- { 0x32c5, "\x00\x36\x67\x08" },
- { 0x32c6, "\x00\x37\x67\x08" },
- { 0x32c7, "\x00\x38\x67\x08" },
- { 0x32c8, "\x00\x39\x67\x08" },
- { 0x32c9, "\x00\x31\x00\x30\x67\x08" },
- { 0x32ca, "\x00\x31\x00\x31\x67\x08" },
- { 0x32cb, "\x00\x31\x00\x32\x67\x08" },
- { 0x32d0, "\x30\xa2" },
- { 0x32d1, "\x30\xa4" },
- { 0x32d2, "\x30\xa6" },
- { 0x32d3, "\x30\xa8" },
- { 0x32d4, "\x30\xaa" },
- { 0x32d5, "\x30\xab" },
- { 0x32d6, "\x30\xad" },
- { 0x32d7, "\x30\xaf" },
- { 0x32d8, "\x30\xb1" },
- { 0x32d9, "\x30\xb3" },
- { 0x32da, "\x30\xb5" },
- { 0x32db, "\x30\xb7" },
- { 0x32dc, "\x30\xb9" },
- { 0x32dd, "\x30\xbb" },
- { 0x32de, "\x30\xbd" },
- { 0x32df, "\x30\xbf" },
- { 0x32e0, "\x30\xc1" },
- { 0x32e1, "\x30\xc4" },
- { 0x32e2, "\x30\xc6" },
- { 0x32e3, "\x30\xc8" },
- { 0x32e4, "\x30\xca" },
- { 0x32e5, "\x30\xcb" },
- { 0x32e6, "\x30\xcc" },
- { 0x32e7, "\x30\xcd" },
- { 0x32e8, "\x30\xce" },
- { 0x32e9, "\x30\xcf" },
- { 0x32ea, "\x30\xd2" },
- { 0x32eb, "\x30\xd5" },
- { 0x32ec, "\x30\xd8" },
- { 0x32ed, "\x30\xdb" },
- { 0x32ee, "\x30\xde" },
- { 0x32ef, "\x30\xdf" },
- { 0x32f0, "\x30\xe0" },
- { 0x32f1, "\x30\xe1" },
- { 0x32f2, "\x30\xe2" },
- { 0x32f3, "\x30\xe4" },
- { 0x32f4, "\x30\xe6" },
- { 0x32f5, "\x30\xe8" },
- { 0x32f6, "\x30\xe9" },
- { 0x32f7, "\x30\xea" },
- { 0x32f8, "\x30\xeb" },
- { 0x32f9, "\x30\xec" },
- { 0x32fa, "\x30\xed" },
- { 0x32fb, "\x30\xef" },
- { 0x32fc, "\x30\xf0" },
- { 0x32fd, "\x30\xf1" },
- { 0x32fe, "\x30\xf2" },
- { 0x3300, "\x30\xa2\x30\xd1\x30\xfc\x30\xc8" },
- { 0x3301, "\x30\xa2\x30\xeb\x30\xd5\x30\xa1" },
- { 0x3302, "\x30\xa2\x30\xf3\x30\xda\x30\xa2" },
- { 0x3303, "\x30\xa2\x30\xfc\x30\xeb" },
- { 0x3304, "\x30\xa4\x30\xcb\x30\xf3\x30\xb0" },
- { 0x3305, "\x30\xa4\x30\xf3\x30\xc1" },
- { 0x3306, "\x30\xa6\x30\xa9\x30\xf3" },
- { 0x3307, "\x30\xa8\x30\xb9\x30\xaf\x30\xfc\x30\xc9" },
- { 0x3308, "\x30\xa8\x30\xfc\x30\xab\x30\xfc" },
- { 0x3309, "\x30\xaa\x30\xf3\x30\xb9" },
- { 0x330a, "\x30\xaa\x30\xfc\x30\xe0" },
- { 0x330b, "\x30\xab\x30\xa4\x30\xea" },
- { 0x330c, "\x30\xab\x30\xe9\x30\xc3\x30\xc8" },
- { 0x330d, "\x30\xab\x30\xed\x30\xea\x30\xfc" },
- { 0x330e, "\x30\xac\x30\xed\x30\xf3" },
- { 0x330f, "\x30\xac\x30\xf3\x30\xde" },
- { 0x3310, "\x30\xae\x30\xac" },
- { 0x3311, "\x30\xae\x30\xcb\x30\xfc" },
- { 0x3312, "\x30\xad\x30\xe5\x30\xea\x30\xfc" },
- { 0x3313, "\x30\xae\x30\xeb\x30\xc0\x30\xfc" },
- { 0x3314, "\x30\xad\x30\xed" },
- { 0x3315, "\x30\xad\x30\xed\x30\xb0\x30\xe9\x30\xe0" },
- { 0x3316, "\x30\xad\x30\xed\x30\xe1\x30\xfc\x30\xc8\x30\xeb" },
- { 0x3317, "\x30\xad\x30\xed\x30\xef\x30\xc3\x30\xc8" },
- { 0x3318, "\x30\xb0\x30\xe9\x30\xe0" },
- { 0x3319, "\x30\xb0\x30\xe9\x30\xe0\x30\xc8\x30\xf3" },
- { 0x331a, "\x30\xaf\x30\xeb\x30\xbc\x30\xa4\x30\xed" },
- { 0x331b, "\x30\xaf\x30\xed\x30\xfc\x30\xcd" },
- { 0x331c, "\x30\xb1\x30\xfc\x30\xb9" },
- { 0x331d, "\x30\xb3\x30\xeb\x30\xca" },
- { 0x331e, "\x30\xb3\x30\xfc\x30\xdd" },
- { 0x331f, "\x30\xb5\x30\xa4\x30\xaf\x30\xeb" },
- { 0x3320, "\x30\xb5\x30\xf3\x30\xc1\x30\xfc\x30\xe0" },
- { 0x3321, "\x30\xb7\x30\xea\x30\xf3\x30\xb0" },
- { 0x3322, "\x30\xbb\x30\xf3\x30\xc1" },
- { 0x3323, "\x30\xbb\x30\xf3\x30\xc8" },
- { 0x3324, "\x30\xc0\x30\xfc\x30\xb9" },
- { 0x3325, "\x30\xc7\x30\xb7" },
- { 0x3326, "\x30\xc9\x30\xeb" },
- { 0x3327, "\x30\xc8\x30\xf3" },
- { 0x3328, "\x30\xca\x30\xce" },
- { 0x3329, "\x30\xce\x30\xc3\x30\xc8" },
- { 0x332a, "\x30\xcf\x30\xa4\x30\xc4" },
- { 0x332b, "\x30\xd1\x30\xfc\x30\xbb\x30\xf3\x30\xc8" },
- { 0x332c, "\x30\xd1\x30\xfc\x30\xc4" },
- { 0x332d, "\x30\xd0\x30\xfc\x30\xec\x30\xeb" },
- { 0x332e, "\x30\xd4\x30\xa2\x30\xb9\x30\xc8\x30\xeb" },
- { 0x332f, "\x30\xd4\x30\xaf\x30\xeb" },
- { 0x3330, "\x30\xd4\x30\xb3" },
- { 0x3331, "\x30\xd3\x30\xeb" },
- { 0x3332, "\x30\xd5\x30\xa1\x30\xe9\x30\xc3\x30\xc9" },
- { 0x3333, "\x30\xd5\x30\xa3\x30\xfc\x30\xc8" },
- { 0x3334, "\x30\xd6\x30\xc3\x30\xb7\x30\xa7\x30\xeb" },
- { 0x3335, "\x30\xd5\x30\xe9\x30\xf3" },
- { 0x3336, "\x30\xd8\x30\xaf\x30\xbf\x30\xfc\x30\xeb" },
- { 0x3337, "\x30\xda\x30\xbd" },
- { 0x3338, "\x30\xda\x30\xcb\x30\xd2" },
- { 0x3339, "\x30\xd8\x30\xeb\x30\xc4" },
- { 0x333a, "\x30\xda\x30\xf3\x30\xb9" },
- { 0x333b, "\x30\xda\x30\xfc\x30\xb8" },
- { 0x333c, "\x30\xd9\x30\xfc\x30\xbf" },
- { 0x333d, "\x30\xdd\x30\xa4\x30\xf3\x30\xc8" },
- { 0x333e, "\x30\xdc\x30\xeb\x30\xc8" },
- { 0x333f, "\x30\xdb\x30\xf3" },
- { 0x3340, "\x30\xdd\x30\xf3\x30\xc9" },
- { 0x3341, "\x30\xdb\x30\xfc\x30\xeb" },
- { 0x3342, "\x30\xdb\x30\xfc\x30\xf3" },
- { 0x3343, "\x30\xde\x30\xa4\x30\xaf\x30\xed" },
- { 0x3344, "\x30\xde\x30\xa4\x30\xeb" },
- { 0x3345, "\x30\xde\x30\xc3\x30\xcf" },
- { 0x3346, "\x30\xde\x30\xeb\x30\xaf" },
- { 0x3347, "\x30\xde\x30\xf3\x30\xb7\x30\xe7\x30\xf3" },
- { 0x3348, "\x30\xdf\x30\xaf\x30\xed\x30\xf3" },
- { 0x3349, "\x30\xdf\x30\xea" },
- { 0x334a, "\x30\xdf\x30\xea\x30\xd0\x30\xfc\x30\xeb" },
- { 0x334b, "\x30\xe1\x30\xac" },
- { 0x334c, "\x30\xe1\x30\xac\x30\xc8\x30\xf3" },
- { 0x334d, "\x30\xe1\x30\xfc\x30\xc8\x30\xeb" },
- { 0x334e, "\x30\xe4\x30\xfc\x30\xc9" },
- { 0x334f, "\x30\xe4\x30\xfc\x30\xeb" },
- { 0x3350, "\x30\xe6\x30\xa2\x30\xf3" },
- { 0x3351, "\x30\xea\x30\xc3\x30\xc8\x30\xeb" },
- { 0x3352, "\x30\xea\x30\xe9" },
- { 0x3353, "\x30\xeb\x30\xd4\x30\xfc" },
- { 0x3354, "\x30\xeb\x30\xfc\x30\xd6\x30\xeb" },
- { 0x3355, "\x30\xec\x30\xe0" },
- { 0x3356, "\x30\xec\x30\xf3\x30\xc8\x30\xb2\x30\xf3" },
- { 0x3357, "\x30\xef\x30\xc3\x30\xc8" },
- { 0x3358, "\x00\x30\x70\xb9" },
- { 0x3359, "\x00\x31\x70\xb9" },
- { 0x335a, "\x00\x32\x70\xb9" },
- { 0x335b, "\x00\x33\x70\xb9" },
- { 0x335c, "\x00\x34\x70\xb9" },
- { 0x335d, "\x00\x35\x70\xb9" },
- { 0x335e, "\x00\x36\x70\xb9" },
- { 0x335f, "\x00\x37\x70\xb9" },
- { 0x3360, "\x00\x38\x70\xb9" },
- { 0x3361, "\x00\x39\x70\xb9" },
- { 0x3362, "\x00\x31\x00\x30\x70\xb9" },
- { 0x3363, "\x00\x31\x00\x31\x70\xb9" },
- { 0x3364, "\x00\x31\x00\x32\x70\xb9" },
- { 0x3365, "\x00\x31\x00\x33\x70\xb9" },
- { 0x3366, "\x00\x31\x00\x34\x70\xb9" },
- { 0x3367, "\x00\x31\x00\x35\x70\xb9" },
- { 0x3368, "\x00\x31\x00\x36\x70\xb9" },
- { 0x3369, "\x00\x31\x00\x37\x70\xb9" },
- { 0x336a, "\x00\x31\x00\x38\x70\xb9" },
- { 0x336b, "\x00\x31\x00\x39\x70\xb9" },
- { 0x336c, "\x00\x32\x00\x30\x70\xb9" },
- { 0x336d, "\x00\x32\x00\x31\x70\xb9" },
- { 0x336e, "\x00\x32\x00\x32\x70\xb9" },
- { 0x336f, "\x00\x32\x00\x33\x70\xb9" },
- { 0x3370, "\x00\x32\x00\x34\x70\xb9" },
- { 0x3371, "\x00\x68\x00\x50\x00\x61" },
- { 0x3372, "\x00\x64\x00\x61" },
- { 0x3373, "\x00\x41\x00\x55" },
- { 0x3374, "\x00\x62\x00\x61\x00\x72" },
- { 0x3375, "\x00\x6f\x00\x56" },
- { 0x3376, "\x00\x70\x00\x63" },
- { 0x337b, "\x5e\x73\x62\x10" },
- { 0x337c, "\x66\x2d\x54\x8c" },
- { 0x337d, "\x59\x27\x6b\x63" },
- { 0x337e, "\x66\x0e\x6c\xbb" },
- { 0x337f, "\x68\x2a\x5f\x0f\x4f\x1a\x79\x3e" },
- { 0x3380, "\x00\x70\x00\x41" },
- { 0x3381, "\x00\x6e\x00\x41" },
- { 0x3382, "\x03\xbc\x00\x41" },
- { 0x3383, "\x00\x6d\x00\x41" },
- { 0x3384, "\x00\x6b\x00\x41" },
- { 0x3385, "\x00\x4b\x00\x42" },
- { 0x3386, "\x00\x4d\x00\x42" },
- { 0x3387, "\x00\x47\x00\x42" },
- { 0x3388, "\x00\x63\x00\x61\x00\x6c" },
- { 0x3389, "\x00\x6b\x00\x63\x00\x61\x00\x6c" },
- { 0x338a, "\x00\x70\x00\x46" },
- { 0x338b, "\x00\x6e\x00\x46" },
- { 0x338c, "\x03\xbc\x00\x46" },
- { 0x338d, "\x03\xbc\x00\x67" },
- { 0x338e, "\x00\x6d\x00\x67" },
- { 0x338f, "\x00\x6b\x00\x67" },
- { 0x3390, "\x00\x48\x00\x7a" },
- { 0x3391, "\x00\x6b\x00\x48\x00\x7a" },
- { 0x3392, "\x00\x4d\x00\x48\x00\x7a" },
- { 0x3393, "\x00\x47\x00\x48\x00\x7a" },
- { 0x3394, "\x00\x54\x00\x48\x00\x7a" },
- { 0x3395, "\x03\xbc\x21\x13" },
- { 0x3396, "\x00\x6d\x21\x13" },
- { 0x3397, "\x00\x64\x21\x13" },
- { 0x3398, "\x00\x6b\x21\x13" },
- { 0x3399, "\x00\x66\x00\x6d" },
- { 0x339a, "\x00\x6e\x00\x6d" },
- { 0x339b, "\x03\xbc\x00\x6d" },
- { 0x339c, "\x00\x6d\x00\x6d" },
- { 0x339d, "\x00\x63\x00\x6d" },
- { 0x339e, "\x00\x6b\x00\x6d" },
- { 0x339f, "\x00\x6d\x00\x6d\x00\xb2" },
- { 0x33a0, "\x00\x63\x00\x6d\x00\xb2" },
- { 0x33a1, "\x00\x6d\x00\xb2" },
- { 0x33a2, "\x00\x6b\x00\x6d\x00\xb2" },
- { 0x33a3, "\x00\x6d\x00\x6d\x00\xb3" },
- { 0x33a4, "\x00\x63\x00\x6d\x00\xb3" },
- { 0x33a5, "\x00\x6d\x00\xb3" },
- { 0x33a6, "\x00\x6b\x00\x6d\x00\xb3" },
- { 0x33a7, "\x00\x6d\x22\x15\x00\x73" },
- { 0x33a8, "\x00\x6d\x22\x15\x00\x73\x00\xb2" },
- { 0x33a9, "\x00\x50\x00\x61" },
- { 0x33aa, "\x00\x6b\x00\x50\x00\x61" },
- { 0x33ab, "\x00\x4d\x00\x50\x00\x61" },
- { 0x33ac, "\x00\x47\x00\x50\x00\x61" },
- { 0x33ad, "\x00\x72\x00\x61\x00\x64" },
- { 0x33ae, "\x00\x72\x00\x61\x00\x64\x22\x15\x00\x73" },
- { 0x33af, "\x00\x72\x00\x61\x00\x64\x22\x15\x00\x73\x00\xb2" },
- { 0x33b0, "\x00\x70\x00\x73" },
- { 0x33b1, "\x00\x6e\x00\x73" },
- { 0x33b2, "\x03\xbc\x00\x73" },
- { 0x33b3, "\x00\x6d\x00\x73" },
- { 0x33b4, "\x00\x70\x00\x56" },
- { 0x33b5, "\x00\x6e\x00\x56" },
- { 0x33b6, "\x03\xbc\x00\x56" },
- { 0x33b7, "\x00\x6d\x00\x56" },
- { 0x33b8, "\x00\x6b\x00\x56" },
- { 0x33b9, "\x00\x4d\x00\x56" },
- { 0x33ba, "\x00\x70\x00\x57" },
- { 0x33bb, "\x00\x6e\x00\x57" },
- { 0x33bc, "\x03\xbc\x00\x57" },
- { 0x33bd, "\x00\x6d\x00\x57" },
- { 0x33be, "\x00\x6b\x00\x57" },
- { 0x33bf, "\x00\x4d\x00\x57" },
- { 0x33c0, "\x00\x6b\x03\xa9" },
- { 0x33c1, "\x00\x4d\x03\xa9" },
- { 0x33c2, "\x00\x61\x00\x2e\x00\x6d\x00\x2e" },
- { 0x33c3, "\x00\x42\x00\x71" },
- { 0x33c4, "\x00\x63\x00\x63" },
- { 0x33c5, "\x00\x63\x00\x64" },
- { 0x33c6, "\x00\x43\x22\x15\x00\x6b\x00\x67" },
- { 0x33c7, "\x00\x43\x00\x6f\x00\x2e" },
- { 0x33c8, "\x00\x64\x00\x42" },
- { 0x33c9, "\x00\x47\x00\x79" },
- { 0x33ca, "\x00\x68\x00\x61" },
- { 0x33cb, "\x00\x48\x00\x50" },
- { 0x33cc, "\x00\x69\x00\x6e" },
- { 0x33cd, "\x00\x4b\x00\x4b" },
- { 0x33ce, "\x00\x4b\x00\x4d" },
- { 0x33cf, "\x00\x6b\x00\x74" },
- { 0x33d0, "\x00\x6c\x00\x6d" },
- { 0x33d1, "\x00\x6c\x00\x6e" },
- { 0x33d2, "\x00\x6c\x00\x6f\x00\x67" },
- { 0x33d3, "\x00\x6c\x00\x78" },
- { 0x33d4, "\x00\x6d\x00\x62" },
- { 0x33d5, "\x00\x6d\x00\x69\x00\x6c" },
- { 0x33d6, "\x00\x6d\x00\x6f\x00\x6c" },
- { 0x33d7, "\x00\x50\x00\x48" },
- { 0x33d8, "\x00\x70\x00\x2e\x00\x6d\x00\x2e" },
- { 0x33d9, "\x00\x50\x00\x50\x00\x4d" },
- { 0x33da, "\x00\x50\x00\x52" },
- { 0x33db, "\x00\x73\x00\x72" },
- { 0x33dc, "\x00\x53\x00\x76" },
- { 0x33dd, "\x00\x57\x00\x62" },
- { 0x33e0, "\x00\x31\x65\xe5" },
- { 0x33e1, "\x00\x32\x65\xe5" },
- { 0x33e2, "\x00\x33\x65\xe5" },
- { 0x33e3, "\x00\x34\x65\xe5" },
- { 0x33e4, "\x00\x35\x65\xe5" },
- { 0x33e5, "\x00\x36\x65\xe5" },
- { 0x33e6, "\x00\x37\x65\xe5" },
- { 0x33e7, "\x00\x38\x65\xe5" },
- { 0x33e8, "\x00\x39\x65\xe5" },
- { 0x33e9, "\x00\x31\x00\x30\x65\xe5" },
- { 0x33ea, "\x00\x31\x00\x31\x65\xe5" },
- { 0x33eb, "\x00\x31\x00\x32\x65\xe5" },
- { 0x33ec, "\x00\x31\x00\x33\x65\xe5" },
- { 0x33ed, "\x00\x31\x00\x34\x65\xe5" },
- { 0x33ee, "\x00\x31\x00\x35\x65\xe5" },
- { 0x33ef, "\x00\x31\x00\x36\x65\xe5" },
- { 0x33f0, "\x00\x31\x00\x37\x65\xe5" },
- { 0x33f1, "\x00\x31\x00\x38\x65\xe5" },
- { 0x33f2, "\x00\x31\x00\x39\x65\xe5" },
- { 0x33f3, "\x00\x32\x00\x30\x65\xe5" },
- { 0x33f4, "\x00\x32\x00\x31\x65\xe5" },
- { 0x33f5, "\x00\x32\x00\x32\x65\xe5" },
- { 0x33f6, "\x00\x32\x00\x33\x65\xe5" },
- { 0x33f7, "\x00\x32\x00\x34\x65\xe5" },
- { 0x33f8, "\x00\x32\x00\x35\x65\xe5" },
- { 0x33f9, "\x00\x32\x00\x36\x65\xe5" },
- { 0x33fa, "\x00\x32\x00\x37\x65\xe5" },
- { 0x33fb, "\x00\x32\x00\x38\x65\xe5" },
- { 0x33fc, "\x00\x32\x00\x39\x65\xe5" },
- { 0x33fd, "\x00\x33\x00\x30\x65\xe5" },
- { 0x33fe, "\x00\x33\x00\x31\x65\xe5" },
- { 0xfb00, "\x00\x66\x00\x66" },
- { 0xfb01, "\x00\x66\x00\x69" },
- { 0xfb02, "\x00\x66\x00\x6c" },
- { 0xfb03, "\x00\x66\x00\x66\x00\x69" },
- { 0xfb04, "\x00\x66\x00\x66\x00\x6c" },
- { 0xfb05, "\x01\x7f\x00\x74" },
- { 0xfb06, "\x00\x73\x00\x74" },
- { 0xfb13, "\x05\x74\x05\x76" },
- { 0xfb14, "\x05\x74\x05\x65" },
- { 0xfb15, "\x05\x74\x05\x6b" },
- { 0xfb16, "\x05\x7e\x05\x76" },
- { 0xfb17, "\x05\x74\x05\x6d" },
- { 0xfb20, "\x05\xe2" },
- { 0xfb21, "\x05\xd0" },
- { 0xfb22, "\x05\xd3" },
- { 0xfb23, "\x05\xd4" },
- { 0xfb24, "\x05\xdb" },
- { 0xfb25, "\x05\xdc" },
- { 0xfb26, "\x05\xdd" },
- { 0xfb27, "\x05\xe8" },
- { 0xfb28, "\x05\xea" },
- { 0xfb29, "\x00\x2b" },
- { 0xfb4f, "\x05\xd0\x05\xdc" },
- { 0xfb50, "\x06\x71" },
- { 0xfb51, "\x06\x71" },
- { 0xfb52, "\x06\x7b" },
- { 0xfb53, "\x06\x7b" },
- { 0xfb54, "\x06\x7b" },
- { 0xfb55, "\x06\x7b" },
- { 0xfb56, "\x06\x7e" },
- { 0xfb57, "\x06\x7e" },
- { 0xfb58, "\x06\x7e" },
- { 0xfb59, "\x06\x7e" },
- { 0xfb5a, "\x06\x80" },
- { 0xfb5b, "\x06\x80" },
- { 0xfb5c, "\x06\x80" },
- { 0xfb5d, "\x06\x80" },
- { 0xfb5e, "\x06\x7a" },
- { 0xfb5f, "\x06\x7a" },
- { 0xfb60, "\x06\x7a" },
- { 0xfb61, "\x06\x7a" },
- { 0xfb62, "\x06\x7f" },
- { 0xfb63, "\x06\x7f" },
- { 0xfb64, "\x06\x7f" },
- { 0xfb65, "\x06\x7f" },
- { 0xfb66, "\x06\x79" },
- { 0xfb67, "\x06\x79" },
- { 0xfb68, "\x06\x79" },
- { 0xfb69, "\x06\x79" },
- { 0xfb6a, "\x06\xa4" },
- { 0xfb6b, "\x06\xa4" },
- { 0xfb6c, "\x06\xa4" },
- { 0xfb6d, "\x06\xa4" },
- { 0xfb6e, "\x06\xa6" },
- { 0xfb6f, "\x06\xa6" },
- { 0xfb70, "\x06\xa6" },
- { 0xfb71, "\x06\xa6" },
- { 0xfb72, "\x06\x84" },
- { 0xfb73, "\x06\x84" },
- { 0xfb74, "\x06\x84" },
- { 0xfb75, "\x06\x84" },
- { 0xfb76, "\x06\x83" },
- { 0xfb77, "\x06\x83" },
- { 0xfb78, "\x06\x83" },
- { 0xfb79, "\x06\x83" },
- { 0xfb7a, "\x06\x86" },
- { 0xfb7b, "\x06\x86" },
- { 0xfb7c, "\x06\x86" },
- { 0xfb7d, "\x06\x86" },
- { 0xfb7e, "\x06\x87" },
- { 0xfb7f, "\x06\x87" },
- { 0xfb80, "\x06\x87" },
- { 0xfb81, "\x06\x87" },
- { 0xfb82, "\x06\x8d" },
- { 0xfb83, "\x06\x8d" },
- { 0xfb84, "\x06\x8c" },
- { 0xfb85, "\x06\x8c" },
- { 0xfb86, "\x06\x8e" },
- { 0xfb87, "\x06\x8e" },
- { 0xfb88, "\x06\x88" },
- { 0xfb89, "\x06\x88" },
- { 0xfb8a, "\x06\x98" },
- { 0xfb8b, "\x06\x98" },
- { 0xfb8c, "\x06\x91" },
- { 0xfb8d, "\x06\x91" },
- { 0xfb8e, "\x06\xa9" },
- { 0xfb8f, "\x06\xa9" },
- { 0xfb90, "\x06\xa9" },
- { 0xfb91, "\x06\xa9" },
- { 0xfb92, "\x06\xaf" },
- { 0xfb93, "\x06\xaf" },
- { 0xfb94, "\x06\xaf" },
- { 0xfb95, "\x06\xaf" },
- { 0xfb96, "\x06\xb3" },
- { 0xfb97, "\x06\xb3" },
- { 0xfb98, "\x06\xb3" },
- { 0xfb99, "\x06\xb3" },
- { 0xfb9a, "\x06\xb1" },
- { 0xfb9b, "\x06\xb1" },
- { 0xfb9c, "\x06\xb1" },
- { 0xfb9d, "\x06\xb1" },
- { 0xfb9e, "\x06\xba" },
- { 0xfb9f, "\x06\xba" },
- { 0xfba0, "\x06\xbb" },
- { 0xfba1, "\x06\xbb" },
- { 0xfba2, "\x06\xbb" },
- { 0xfba3, "\x06\xbb" },
- { 0xfba4, "\x06\xc0" },
- { 0xfba5, "\x06\xc0" },
- { 0xfba6, "\x06\xc1" },
- { 0xfba7, "\x06\xc1" },
- { 0xfba8, "\x06\xc1" },
- { 0xfba9, "\x06\xc1" },
- { 0xfbaa, "\x06\xbe" },
- { 0xfbab, "\x06\xbe" },
- { 0xfbac, "\x06\xbe" },
- { 0xfbad, "\x06\xbe" },
- { 0xfbae, "\x06\xd2" },
- { 0xfbaf, "\x06\xd2" },
- { 0xfbb0, "\x06\xd3" },
- { 0xfbb1, "\x06\xd3" },
- { 0xfbd3, "\x06\xad" },
- { 0xfbd4, "\x06\xad" },
- { 0xfbd5, "\x06\xad" },
- { 0xfbd6, "\x06\xad" },
- { 0xfbd7, "\x06\xc7" },
- { 0xfbd8, "\x06\xc7" },
- { 0xfbd9, "\x06\xc6" },
- { 0xfbda, "\x06\xc6" },
- { 0xfbdb, "\x06\xc8" },
- { 0xfbdc, "\x06\xc8" },
- { 0xfbdd, "\x06\x77" },
- { 0xfbde, "\x06\xcb" },
- { 0xfbdf, "\x06\xcb" },
- { 0xfbe0, "\x06\xc5" },
- { 0xfbe1, "\x06\xc5" },
- { 0xfbe2, "\x06\xc9" },
- { 0xfbe3, "\x06\xc9" },
- { 0xfbe4, "\x06\xd0" },
- { 0xfbe5, "\x06\xd0" },
- { 0xfbe6, "\x06\xd0" },
- { 0xfbe7, "\x06\xd0" },
- { 0xfbe8, "\x06\x49" },
- { 0xfbe9, "\x06\x49" },
- { 0xfbea, "\x06\x26\x06\x27" },
- { 0xfbeb, "\x06\x26\x06\x27" },
- { 0xfbec, "\x06\x26\x06\xd5" },
- { 0xfbed, "\x06\x26\x06\xd5" },
- { 0xfbee, "\x06\x26\x06\x48" },
- { 0xfbef, "\x06\x26\x06\x48" },
- { 0xfbf0, "\x06\x26\x06\xc7" },
- { 0xfbf1, "\x06\x26\x06\xc7" },
- { 0xfbf2, "\x06\x26\x06\xc6" },
- { 0xfbf3, "\x06\x26\x06\xc6" },
- { 0xfbf4, "\x06\x26\x06\xc8" },
- { 0xfbf5, "\x06\x26\x06\xc8" },
- { 0xfbf6, "\x06\x26\x06\xd0" },
- { 0xfbf7, "\x06\x26\x06\xd0" },
- { 0xfbf8, "\x06\x26\x06\xd0" },
- { 0xfbf9, "\x06\x26\x06\x49" },
- { 0xfbfa, "\x06\x26\x06\x49" },
- { 0xfbfb, "\x06\x26\x06\x49" },
- { 0xfbfc, "\x06\xcc" },
- { 0xfbfd, "\x06\xcc" },
- { 0xfbfe, "\x06\xcc" },
- { 0xfbff, "\x06\xcc" },
- { 0xfc00, "\x06\x26\x06\x2c" },
- { 0xfc01, "\x06\x26\x06\x2d" },
- { 0xfc02, "\x06\x26\x06\x45" },
- { 0xfc03, "\x06\x26\x06\x49" },
- { 0xfc04, "\x06\x26\x06\x4a" },
- { 0xfc05, "\x06\x28\x06\x2c" },
- { 0xfc06, "\x06\x28\x06\x2d" },
- { 0xfc07, "\x06\x28\x06\x2e" },
- { 0xfc08, "\x06\x28\x06\x45" },
- { 0xfc09, "\x06\x28\x06\x49" },
- { 0xfc0a, "\x06\x28\x06\x4a" },
- { 0xfc0b, "\x06\x2a\x06\x2c" },
- { 0xfc0c, "\x06\x2a\x06\x2d" },
- { 0xfc0d, "\x06\x2a\x06\x2e" },
- { 0xfc0e, "\x06\x2a\x06\x45" },
- { 0xfc0f, "\x06\x2a\x06\x49" },
- { 0xfc10, "\x06\x2a\x06\x4a" },
- { 0xfc11, "\x06\x2b\x06\x2c" },
- { 0xfc12, "\x06\x2b\x06\x45" },
- { 0xfc13, "\x06\x2b\x06\x49" },
- { 0xfc14, "\x06\x2b\x06\x4a" },
- { 0xfc15, "\x06\x2c\x06\x2d" },
- { 0xfc16, "\x06\x2c\x06\x45" },
- { 0xfc17, "\x06\x2d\x06\x2c" },
- { 0xfc18, "\x06\x2d\x06\x45" },
- { 0xfc19, "\x06\x2e\x06\x2c" },
- { 0xfc1a, "\x06\x2e\x06\x2d" },
- { 0xfc1b, "\x06\x2e\x06\x45" },
- { 0xfc1c, "\x06\x33\x06\x2c" },
- { 0xfc1d, "\x06\x33\x06\x2d" },
- { 0xfc1e, "\x06\x33\x06\x2e" },
- { 0xfc1f, "\x06\x33\x06\x45" },
- { 0xfc20, "\x06\x35\x06\x2d" },
- { 0xfc21, "\x06\x35\x06\x45" },
- { 0xfc22, "\x06\x36\x06\x2c" },
- { 0xfc23, "\x06\x36\x06\x2d" },
- { 0xfc24, "\x06\x36\x06\x2e" },
- { 0xfc25, "\x06\x36\x06\x45" },
- { 0xfc26, "\x06\x37\x06\x2d" },
- { 0xfc27, "\x06\x37\x06\x45" },
- { 0xfc28, "\x06\x38\x06\x45" },
- { 0xfc29, "\x06\x39\x06\x2c" },
- { 0xfc2a, "\x06\x39\x06\x45" },
- { 0xfc2b, "\x06\x3a\x06\x2c" },
- { 0xfc2c, "\x06\x3a\x06\x45" },
- { 0xfc2d, "\x06\x41\x06\x2c" },
- { 0xfc2e, "\x06\x41\x06\x2d" },
- { 0xfc2f, "\x06\x41\x06\x2e" },
- { 0xfc30, "\x06\x41\x06\x45" },
- { 0xfc31, "\x06\x41\x06\x49" },
- { 0xfc32, "\x06\x41\x06\x4a" },
- { 0xfc33, "\x06\x42\x06\x2d" },
- { 0xfc34, "\x06\x42\x06\x45" },
- { 0xfc35, "\x06\x42\x06\x49" },
- { 0xfc36, "\x06\x42\x06\x4a" },
- { 0xfc37, "\x06\x43\x06\x27" },
- { 0xfc38, "\x06\x43\x06\x2c" },
- { 0xfc39, "\x06\x43\x06\x2d" },
- { 0xfc3a, "\x06\x43\x06\x2e" },
- { 0xfc3b, "\x06\x43\x06\x44" },
- { 0xfc3c, "\x06\x43\x06\x45" },
- { 0xfc3d, "\x06\x43\x06\x49" },
- { 0xfc3e, "\x06\x43\x06\x4a" },
- { 0xfc3f, "\x06\x44\x06\x2c" },
- { 0xfc40, "\x06\x44\x06\x2d" },
- { 0xfc41, "\x06\x44\x06\x2e" },
- { 0xfc42, "\x06\x44\x06\x45" },
- { 0xfc43, "\x06\x44\x06\x49" },
- { 0xfc44, "\x06\x44\x06\x4a" },
- { 0xfc45, "\x06\x45\x06\x2c" },
- { 0xfc46, "\x06\x45\x06\x2d" },
- { 0xfc47, "\x06\x45\x06\x2e" },
- { 0xfc48, "\x06\x45\x06\x45" },
- { 0xfc49, "\x06\x45\x06\x49" },
- { 0xfc4a, "\x06\x45\x06\x4a" },
- { 0xfc4b, "\x06\x46\x06\x2c" },
- { 0xfc4c, "\x06\x46\x06\x2d" },
- { 0xfc4d, "\x06\x46\x06\x2e" },
- { 0xfc4e, "\x06\x46\x06\x45" },
- { 0xfc4f, "\x06\x46\x06\x49" },
- { 0xfc50, "\x06\x46\x06\x4a" },
- { 0xfc51, "\x06\x47\x06\x2c" },
- { 0xfc52, "\x06\x47\x06\x45" },
- { 0xfc53, "\x06\x47\x06\x49" },
- { 0xfc54, "\x06\x47\x06\x4a" },
- { 0xfc55, "\x06\x4a\x06\x2c" },
- { 0xfc56, "\x06\x4a\x06\x2d" },
- { 0xfc57, "\x06\x4a\x06\x2e" },
- { 0xfc58, "\x06\x4a\x06\x45" },
- { 0xfc59, "\x06\x4a\x06\x49" },
- { 0xfc5a, "\x06\x4a\x06\x4a" },
- { 0xfc5b, "\x06\x30\x06\x70" },
- { 0xfc5c, "\x06\x31\x06\x70" },
- { 0xfc5d, "\x06\x49\x06\x70" },
- { 0xfc5e, "\x00\x20\x06\x51\x06\x4c" },
- { 0xfc5f, "\x00\x20\x06\x51\x06\x4d" },
- { 0xfc60, "\x00\x20\x06\x51\x06\x4e" },
- { 0xfc61, "\x00\x20\x06\x51\x06\x4f" },
- { 0xfc62, "\x00\x20\x06\x51\x06\x50" },
- { 0xfc63, "\x00\x20\x06\x51\x06\x70" },
- { 0xfc64, "\x06\x26\x06\x31" },
- { 0xfc65, "\x06\x26\x06\x32" },
- { 0xfc66, "\x06\x26\x06\x45" },
- { 0xfc67, "\x06\x26\x06\x46" },
- { 0xfc68, "\x06\x26\x06\x49" },
- { 0xfc69, "\x06\x26\x06\x4a" },
- { 0xfc6a, "\x06\x28\x06\x31" },
- { 0xfc6b, "\x06\x28\x06\x32" },
- { 0xfc6c, "\x06\x28\x06\x45" },
- { 0xfc6d, "\x06\x28\x06\x46" },
- { 0xfc6e, "\x06\x28\x06\x49" },
- { 0xfc6f, "\x06\x28\x06\x4a" },
- { 0xfc70, "\x06\x2a\x06\x31" },
- { 0xfc71, "\x06\x2a\x06\x32" },
- { 0xfc72, "\x06\x2a\x06\x45" },
- { 0xfc73, "\x06\x2a\x06\x46" },
- { 0xfc74, "\x06\x2a\x06\x49" },
- { 0xfc75, "\x06\x2a\x06\x4a" },
- { 0xfc76, "\x06\x2b\x06\x31" },
- { 0xfc77, "\x06\x2b\x06\x32" },
- { 0xfc78, "\x06\x2b\x06\x45" },
- { 0xfc79, "\x06\x2b\x06\x46" },
- { 0xfc7a, "\x06\x2b\x06\x49" },
- { 0xfc7b, "\x06\x2b\x06\x4a" },
- { 0xfc7c, "\x06\x41\x06\x49" },
- { 0xfc7d, "\x06\x41\x06\x4a" },
- { 0xfc7e, "\x06\x42\x06\x49" },
- { 0xfc7f, "\x06\x42\x06\x4a" },
- { 0xfc80, "\x06\x43\x06\x27" },
- { 0xfc81, "\x06\x43\x06\x44" },
- { 0xfc82, "\x06\x43\x06\x45" },
- { 0xfc83, "\x06\x43\x06\x49" },
- { 0xfc84, "\x06\x43\x06\x4a" },
- { 0xfc85, "\x06\x44\x06\x45" },
- { 0xfc86, "\x06\x44\x06\x49" },
- { 0xfc87, "\x06\x44\x06\x4a" },
- { 0xfc88, "\x06\x45\x06\x27" },
- { 0xfc89, "\x06\x45\x06\x45" },
- { 0xfc8a, "\x06\x46\x06\x31" },
- { 0xfc8b, "\x06\x46\x06\x32" },
- { 0xfc8c, "\x06\x46\x06\x45" },
- { 0xfc8d, "\x06\x46\x06\x46" },
- { 0xfc8e, "\x06\x46\x06\x49" },
- { 0xfc8f, "\x06\x46\x06\x4a" },
- { 0xfc90, "\x06\x49\x06\x70" },
- { 0xfc91, "\x06\x4a\x06\x31" },
- { 0xfc92, "\x06\x4a\x06\x32" },
- { 0xfc93, "\x06\x4a\x06\x45" },
- { 0xfc94, "\x06\x4a\x06\x46" },
- { 0xfc95, "\x06\x4a\x06\x49" },
- { 0xfc96, "\x06\x4a\x06\x4a" },
- { 0xfc97, "\x06\x26\x06\x2c" },
- { 0xfc98, "\x06\x26\x06\x2d" },
- { 0xfc99, "\x06\x26\x06\x2e" },
- { 0xfc9a, "\x06\x26\x06\x45" },
- { 0xfc9b, "\x06\x26\x06\x47" },
- { 0xfc9c, "\x06\x28\x06\x2c" },
- { 0xfc9d, "\x06\x28\x06\x2d" },
- { 0xfc9e, "\x06\x28\x06\x2e" },
- { 0xfc9f, "\x06\x28\x06\x45" },
- { 0xfca0, "\x06\x28\x06\x47" },
- { 0xfca1, "\x06\x2a\x06\x2c" },
- { 0xfca2, "\x06\x2a\x06\x2d" },
- { 0xfca3, "\x06\x2a\x06\x2e" },
- { 0xfca4, "\x06\x2a\x06\x45" },
- { 0xfca5, "\x06\x2a\x06\x47" },
- { 0xfca6, "\x06\x2b\x06\x45" },
- { 0xfca7, "\x06\x2c\x06\x2d" },
- { 0xfca8, "\x06\x2c\x06\x45" },
- { 0xfca9, "\x06\x2d\x06\x2c" },
- { 0xfcaa, "\x06\x2d\x06\x45" },
- { 0xfcab, "\x06\x2e\x06\x2c" },
- { 0xfcac, "\x06\x2e\x06\x45" },
- { 0xfcad, "\x06\x33\x06\x2c" },
- { 0xfcae, "\x06\x33\x06\x2d" },
- { 0xfcaf, "\x06\x33\x06\x2e" },
- { 0xfcb0, "\x06\x33\x06\x45" },
- { 0xfcb1, "\x06\x35\x06\x2d" },
- { 0xfcb2, "\x06\x35\x06\x2e" },
- { 0xfcb3, "\x06\x35\x06\x45" },
- { 0xfcb4, "\x06\x36\x06\x2c" },
- { 0xfcb5, "\x06\x36\x06\x2d" },
- { 0xfcb6, "\x06\x36\x06\x2e" },
- { 0xfcb7, "\x06\x36\x06\x45" },
- { 0xfcb8, "\x06\x37\x06\x2d" },
- { 0xfcb9, "\x06\x38\x06\x45" },
- { 0xfcba, "\x06\x39\x06\x2c" },
- { 0xfcbb, "\x06\x39\x06\x45" },
- { 0xfcbc, "\x06\x3a\x06\x2c" },
- { 0xfcbd, "\x06\x3a\x06\x45" },
- { 0xfcbe, "\x06\x41\x06\x2c" },
- { 0xfcbf, "\x06\x41\x06\x2d" },
- { 0xfcc0, "\x06\x41\x06\x2e" },
- { 0xfcc1, "\x06\x41\x06\x45" },
- { 0xfcc2, "\x06\x42\x06\x2d" },
- { 0xfcc3, "\x06\x42\x06\x45" },
- { 0xfcc4, "\x06\x43\x06\x2c" },
- { 0xfcc5, "\x06\x43\x06\x2d" },
- { 0xfcc6, "\x06\x43\x06\x2e" },
- { 0xfcc7, "\x06\x43\x06\x44" },
- { 0xfcc8, "\x06\x43\x06\x45" },
- { 0xfcc9, "\x06\x44\x06\x2c" },
- { 0xfcca, "\x06\x44\x06\x2d" },
- { 0xfccb, "\x06\x44\x06\x2e" },
- { 0xfccc, "\x06\x44\x06\x45" },
- { 0xfccd, "\x06\x44\x06\x47" },
- { 0xfcce, "\x06\x45\x06\x2c" },
- { 0xfccf, "\x06\x45\x06\x2d" },
- { 0xfcd0, "\x06\x45\x06\x2e" },
- { 0xfcd1, "\x06\x45\x06\x45" },
- { 0xfcd2, "\x06\x46\x06\x2c" },
- { 0xfcd3, "\x06\x46\x06\x2d" },
- { 0xfcd4, "\x06\x46\x06\x2e" },
- { 0xfcd5, "\x06\x46\x06\x45" },
- { 0xfcd6, "\x06\x46\x06\x47" },
- { 0xfcd7, "\x06\x47\x06\x2c" },
- { 0xfcd8, "\x06\x47\x06\x45" },
- { 0xfcd9, "\x06\x47\x06\x70" },
- { 0xfcda, "\x06\x4a\x06\x2c" },
- { 0xfcdb, "\x06\x4a\x06\x2d" },
- { 0xfcdc, "\x06\x4a\x06\x2e" },
- { 0xfcdd, "\x06\x4a\x06\x45" },
- { 0xfcde, "\x06\x4a\x06\x47" },
- { 0xfcdf, "\x06\x26\x06\x45" },
- { 0xfce0, "\x06\x26\x06\x47" },
- { 0xfce1, "\x06\x28\x06\x45" },
- { 0xfce2, "\x06\x28\x06\x47" },
- { 0xfce3, "\x06\x2a\x06\x45" },
- { 0xfce4, "\x06\x2a\x06\x47" },
- { 0xfce5, "\x06\x2b\x06\x45" },
- { 0xfce6, "\x06\x2b\x06\x47" },
- { 0xfce7, "\x06\x33\x06\x45" },
- { 0xfce8, "\x06\x33\x06\x47" },
- { 0xfce9, "\x06\x34\x06\x45" },
- { 0xfcea, "\x06\x34\x06\x47" },
- { 0xfceb, "\x06\x43\x06\x44" },
- { 0xfcec, "\x06\x43\x06\x45" },
- { 0xfced, "\x06\x44\x06\x45" },
- { 0xfcee, "\x06\x46\x06\x45" },
- { 0xfcef, "\x06\x46\x06\x47" },
- { 0xfcf0, "\x06\x4a\x06\x45" },
- { 0xfcf1, "\x06\x4a\x06\x47" },
- { 0xfcf2, "\x06\x40\x06\x51\x06\x4e" },
- { 0xfcf3, "\x06\x40\x06\x51\x06\x4f" },
- { 0xfcf4, "\x06\x40\x06\x51\x06\x50" },
- { 0xfcf5, "\x06\x37\x06\x49" },
- { 0xfcf6, "\x06\x37\x06\x4a" },
- { 0xfcf7, "\x06\x39\x06\x49" },
- { 0xfcf8, "\x06\x39\x06\x4a" },
- { 0xfcf9, "\x06\x3a\x06\x49" },
- { 0xfcfa, "\x06\x3a\x06\x4a" },
- { 0xfcfb, "\x06\x33\x06\x49" },
- { 0xfcfc, "\x06\x33\x06\x4a" },
- { 0xfcfd, "\x06\x34\x06\x49" },
- { 0xfcfe, "\x06\x34\x06\x4a" },
- { 0xfcff, "\x06\x2d\x06\x49" },
- { 0xfd00, "\x06\x2d\x06\x4a" },
- { 0xfd01, "\x06\x2c\x06\x49" },
- { 0xfd02, "\x06\x2c\x06\x4a" },
- { 0xfd03, "\x06\x2e\x06\x49" },
- { 0xfd04, "\x06\x2e\x06\x4a" },
- { 0xfd05, "\x06\x35\x06\x49" },
- { 0xfd06, "\x06\x35\x06\x4a" },
- { 0xfd07, "\x06\x36\x06\x49" },
- { 0xfd08, "\x06\x36\x06\x4a" },
- { 0xfd09, "\x06\x34\x06\x2c" },
- { 0xfd0a, "\x06\x34\x06\x2d" },
- { 0xfd0b, "\x06\x34\x06\x2e" },
- { 0xfd0c, "\x06\x34\x06\x45" },
- { 0xfd0d, "\x06\x34\x06\x31" },
- { 0xfd0e, "\x06\x33\x06\x31" },
- { 0xfd0f, "\x06\x35\x06\x31" },
- { 0xfd10, "\x06\x36\x06\x31" },
- { 0xfd11, "\x06\x37\x06\x49" },
- { 0xfd12, "\x06\x37\x06\x4a" },
- { 0xfd13, "\x06\x39\x06\x49" },
- { 0xfd14, "\x06\x39\x06\x4a" },
- { 0xfd15, "\x06\x3a\x06\x49" },
- { 0xfd16, "\x06\x3a\x06\x4a" },
- { 0xfd17, "\x06\x33\x06\x49" },
- { 0xfd18, "\x06\x33\x06\x4a" },
- { 0xfd19, "\x06\x34\x06\x49" },
- { 0xfd1a, "\x06\x34\x06\x4a" },
- { 0xfd1b, "\x06\x2d\x06\x49" },
- { 0xfd1c, "\x06\x2d\x06\x4a" },
- { 0xfd1d, "\x06\x2c\x06\x49" },
- { 0xfd1e, "\x06\x2c\x06\x4a" },
- { 0xfd1f, "\x06\x2e\x06\x49" },
- { 0xfd20, "\x06\x2e\x06\x4a" },
- { 0xfd21, "\x06\x35\x06\x49" },
- { 0xfd22, "\x06\x35\x06\x4a" },
- { 0xfd23, "\x06\x36\x06\x49" },
- { 0xfd24, "\x06\x36\x06\x4a" },
- { 0xfd25, "\x06\x34\x06\x2c" },
- { 0xfd26, "\x06\x34\x06\x2d" },
- { 0xfd27, "\x06\x34\x06\x2e" },
- { 0xfd28, "\x06\x34\x06\x45" },
- { 0xfd29, "\x06\x34\x06\x31" },
- { 0xfd2a, "\x06\x33\x06\x31" },
- { 0xfd2b, "\x06\x35\x06\x31" },
- { 0xfd2c, "\x06\x36\x06\x31" },
- { 0xfd2d, "\x06\x34\x06\x2c" },
- { 0xfd2e, "\x06\x34\x06\x2d" },
- { 0xfd2f, "\x06\x34\x06\x2e" },
- { 0xfd30, "\x06\x34\x06\x45" },
- { 0xfd31, "\x06\x33\x06\x47" },
- { 0xfd32, "\x06\x34\x06\x47" },
- { 0xfd33, "\x06\x37\x06\x45" },
- { 0xfd34, "\x06\x33\x06\x2c" },
- { 0xfd35, "\x06\x33\x06\x2d" },
- { 0xfd36, "\x06\x33\x06\x2e" },
- { 0xfd37, "\x06\x34\x06\x2c" },
- { 0xfd38, "\x06\x34\x06\x2d" },
- { 0xfd39, "\x06\x34\x06\x2e" },
- { 0xfd3a, "\x06\x37\x06\x45" },
- { 0xfd3b, "\x06\x38\x06\x45" },
- { 0xfd3c, "\x06\x27\x06\x4b" },
- { 0xfd3d, "\x06\x27\x06\x4b" },
- { 0xfd50, "\x06\x2a\x06\x2c\x06\x45" },
- { 0xfd51, "\x06\x2a\x06\x2d\x06\x2c" },
- { 0xfd52, "\x06\x2a\x06\x2d\x06\x2c" },
- { 0xfd53, "\x06\x2a\x06\x2d\x06\x45" },
- { 0xfd54, "\x06\x2a\x06\x2e\x06\x45" },
- { 0xfd55, "\x06\x2a\x06\x45\x06\x2c" },
- { 0xfd56, "\x06\x2a\x06\x45\x06\x2d" },
- { 0xfd57, "\x06\x2a\x06\x45\x06\x2e" },
- { 0xfd58, "\x06\x2c\x06\x45\x06\x2d" },
- { 0xfd59, "\x06\x2c\x06\x45\x06\x2d" },
- { 0xfd5a, "\x06\x2d\x06\x45\x06\x4a" },
- { 0xfd5b, "\x06\x2d\x06\x45\x06\x49" },
- { 0xfd5c, "\x06\x33\x06\x2d\x06\x2c" },
- { 0xfd5d, "\x06\x33\x06\x2c\x06\x2d" },
- { 0xfd5e, "\x06\x33\x06\x2c\x06\x49" },
- { 0xfd5f, "\x06\x33\x06\x45\x06\x2d" },
- { 0xfd60, "\x06\x33\x06\x45\x06\x2d" },
- { 0xfd61, "\x06\x33\x06\x45\x06\x2c" },
- { 0xfd62, "\x06\x33\x06\x45\x06\x45" },
- { 0xfd63, "\x06\x33\x06\x45\x06\x45" },
- { 0xfd64, "\x06\x35\x06\x2d\x06\x2d" },
- { 0xfd65, "\x06\x35\x06\x2d\x06\x2d" },
- { 0xfd66, "\x06\x35\x06\x45\x06\x45" },
- { 0xfd67, "\x06\x34\x06\x2d\x06\x45" },
- { 0xfd68, "\x06\x34\x06\x2d\x06\x45" },
- { 0xfd69, "\x06\x34\x06\x2c\x06\x4a" },
- { 0xfd6a, "\x06\x34\x06\x45\x06\x2e" },
- { 0xfd6b, "\x06\x34\x06\x45\x06\x2e" },
- { 0xfd6c, "\x06\x34\x06\x45\x06\x45" },
- { 0xfd6d, "\x06\x34\x06\x45\x06\x45" },
- { 0xfd6e, "\x06\x36\x06\x2d\x06\x49" },
- { 0xfd6f, "\x06\x36\x06\x2e\x06\x45" },
- { 0xfd70, "\x06\x36\x06\x2e\x06\x45" },
- { 0xfd71, "\x06\x37\x06\x45\x06\x2d" },
- { 0xfd72, "\x06\x37\x06\x45\x06\x2d" },
- { 0xfd73, "\x06\x37\x06\x45\x06\x45" },
- { 0xfd74, "\x06\x37\x06\x45\x06\x4a" },
- { 0xfd75, "\x06\x39\x06\x2c\x06\x45" },
- { 0xfd76, "\x06\x39\x06\x45\x06\x45" },
- { 0xfd77, "\x06\x39\x06\x45\x06\x45" },
- { 0xfd78, "\x06\x39\x06\x45\x06\x49" },
- { 0xfd79, "\x06\x3a\x06\x45\x06\x45" },
- { 0xfd7a, "\x06\x3a\x06\x45\x06\x4a" },
- { 0xfd7b, "\x06\x3a\x06\x45\x06\x49" },
- { 0xfd7c, "\x06\x41\x06\x2e\x06\x45" },
- { 0xfd7d, "\x06\x41\x06\x2e\x06\x45" },
- { 0xfd7e, "\x06\x42\x06\x45\x06\x2d" },
- { 0xfd7f, "\x06\x42\x06\x45\x06\x45" },
- { 0xfd80, "\x06\x44\x06\x2d\x06\x45" },
- { 0xfd81, "\x06\x44\x06\x2d\x06\x4a" },
- { 0xfd82, "\x06\x44\x06\x2d\x06\x49" },
- { 0xfd83, "\x06\x44\x06\x2c\x06\x2c" },
- { 0xfd84, "\x06\x44\x06\x2c\x06\x2c" },
- { 0xfd85, "\x06\x44\x06\x2e\x06\x45" },
- { 0xfd86, "\x06\x44\x06\x2e\x06\x45" },
- { 0xfd87, "\x06\x44\x06\x45\x06\x2d" },
- { 0xfd88, "\x06\x44\x06\x45\x06\x2d" },
- { 0xfd89, "\x06\x45\x06\x2d\x06\x2c" },
- { 0xfd8a, "\x06\x45\x06\x2d\x06\x45" },
- { 0xfd8b, "\x06\x45\x06\x2d\x06\x4a" },
- { 0xfd8c, "\x06\x45\x06\x2c\x06\x2d" },
- { 0xfd8d, "\x06\x45\x06\x2c\x06\x45" },
- { 0xfd8e, "\x06\x45\x06\x2e\x06\x2c" },
- { 0xfd8f, "\x06\x45\x06\x2e\x06\x45" },
- { 0xfd92, "\x06\x45\x06\x2c\x06\x2e" },
- { 0xfd93, "\x06\x47\x06\x45\x06\x2c" },
- { 0xfd94, "\x06\x47\x06\x45\x06\x45" },
- { 0xfd95, "\x06\x46\x06\x2d\x06\x45" },
- { 0xfd96, "\x06\x46\x06\x2d\x06\x49" },
- { 0xfd97, "\x06\x46\x06\x2c\x06\x45" },
- { 0xfd98, "\x06\x46\x06\x2c\x06\x45" },
- { 0xfd99, "\x06\x46\x06\x2c\x06\x49" },
- { 0xfd9a, "\x06\x46\x06\x45\x06\x4a" },
- { 0xfd9b, "\x06\x46\x06\x45\x06\x49" },
- { 0xfd9c, "\x06\x4a\x06\x45\x06\x45" },
- { 0xfd9d, "\x06\x4a\x06\x45\x06\x45" },
- { 0xfd9e, "\x06\x28\x06\x2e\x06\x4a" },
- { 0xfd9f, "\x06\x2a\x06\x2c\x06\x4a" },
- { 0xfda0, "\x06\x2a\x06\x2c\x06\x49" },
- { 0xfda1, "\x06\x2a\x06\x2e\x06\x4a" },
- { 0xfda2, "\x06\x2a\x06\x2e\x06\x49" },
- { 0xfda3, "\x06\x2a\x06\x45\x06\x4a" },
- { 0xfda4, "\x06\x2a\x06\x45\x06\x49" },
- { 0xfda5, "\x06\x2c\x06\x45\x06\x4a" },
- { 0xfda6, "\x06\x2c\x06\x2d\x06\x49" },
- { 0xfda7, "\x06\x2c\x06\x45\x06\x49" },
- { 0xfda8, "\x06\x33\x06\x2e\x06\x49" },
- { 0xfda9, "\x06\x35\x06\x2d\x06\x4a" },
- { 0xfdaa, "\x06\x34\x06\x2d\x06\x4a" },
- { 0xfdab, "\x06\x36\x06\x2d\x06\x4a" },
- { 0xfdac, "\x06\x44\x06\x2c\x06\x4a" },
- { 0xfdad, "\x06\x44\x06\x45\x06\x4a" },
- { 0xfdae, "\x06\x4a\x06\x2d\x06\x4a" },
- { 0xfdaf, "\x06\x4a\x06\x2c\x06\x4a" },
- { 0xfdb0, "\x06\x4a\x06\x45\x06\x4a" },
- { 0xfdb1, "\x06\x45\x06\x45\x06\x4a" },
- { 0xfdb2, "\x06\x42\x06\x45\x06\x4a" },
- { 0xfdb3, "\x06\x46\x06\x2d\x06\x4a" },
- { 0xfdb4, "\x06\x42\x06\x45\x06\x2d" },
- { 0xfdb5, "\x06\x44\x06\x2d\x06\x45" },
- { 0xfdb6, "\x06\x39\x06\x45\x06\x4a" },
- { 0xfdb7, "\x06\x43\x06\x45\x06\x4a" },
- { 0xfdb8, "\x06\x46\x06\x2c\x06\x2d" },
- { 0xfdb9, "\x06\x45\x06\x2e\x06\x4a" },
- { 0xfdba, "\x06\x44\x06\x2c\x06\x45" },
- { 0xfdbb, "\x06\x43\x06\x45\x06\x45" },
- { 0xfdbc, "\x06\x44\x06\x2c\x06\x45" },
- { 0xfdbd, "\x06\x46\x06\x2c\x06\x2d" },
- { 0xfdbe, "\x06\x2c\x06\x2d\x06\x4a" },
- { 0xfdbf, "\x06\x2d\x06\x2c\x06\x4a" },
- { 0xfdc0, "\x06\x45\x06\x2c\x06\x4a" },
- { 0xfdc1, "\x06\x41\x06\x45\x06\x4a" },
- { 0xfdc2, "\x06\x28\x06\x2d\x06\x4a" },
- { 0xfdc3, "\x06\x43\x06\x45\x06\x45" },
- { 0xfdc4, "\x06\x39\x06\x2c\x06\x45" },
- { 0xfdc5, "\x06\x35\x06\x45\x06\x45" },
- { 0xfdc6, "\x06\x33\x06\x2e\x06\x4a" },
- { 0xfdc7, "\x06\x46\x06\x2c\x06\x4a" },
- { 0xfdf0, "\x06\x35\x06\x44\x06\xd2" },
- { 0xfdf1, "\x06\x42\x06\x44\x06\xd2" },
- { 0xfdf2, "\x06\x27\x06\x44\x06\x44\x06\x47" },
- { 0xfdf3, "\x06\x27\x06\x43\x06\x28\x06\x31" },
- { 0xfdf4, "\x06\x45\x06\x2d\x06\x45\x06\x2f" },
- { 0xfdf5, "\x06\x35\x06\x44\x06\x39\x06\x45" },
- { 0xfdf6, "\x06\x31\x06\x33\x06\x48\x06\x44" },
- { 0xfdf7, "\x06\x39\x06\x44\x06\x4a\x06\x47" },
- { 0xfdf8, "\x06\x48\x06\x33\x06\x44\x06\x45" },
- { 0xfdf9, "\x06\x35\x06\x44\x06\x49" },
- { 0xfdfa, "\x06\x35\x06\x44\x06\x49\x00\x20\x06\x27\x06\x44\x06\x44\x06\x47\x00\x20\x06\x39\x06\x44\x06\x4a\x06\x47\x00\x20\x06\x48\x06\x33\x06\x44\x06\x45" },
- { 0xfdfb, "\x06\x2c\x06\x44\x00\x20\x06\x2c\x06\x44\x06\x27\x06\x44\x06\x47" },
- { 0xfe30, "\x20\x25" },
- { 0xfe31, "\x20\x14" },
- { 0xfe32, "\x20\x13" },
- { 0xfe33, "\x00\x5f" },
- { 0xfe34, "\x00\x5f" },
- { 0xfe35, "\x00\x28" },
- { 0xfe36, "\x00\x29" },
- { 0xfe37, "\x00\x7b" },
- { 0xfe38, "\x00\x7d" },
- { 0xfe39, "\x30\x14" },
- { 0xfe3a, "\x30\x15" },
- { 0xfe3b, "\x30\x10" },
- { 0xfe3c, "\x30\x11" },
- { 0xfe3d, "\x30\x0a" },
- { 0xfe3e, "\x30\x0b" },
- { 0xfe3f, "\x30\x08" },
- { 0xfe40, "\x30\x09" },
- { 0xfe41, "\x30\x0c" },
- { 0xfe42, "\x30\x0d" },
- { 0xfe43, "\x30\x0e" },
- { 0xfe44, "\x30\x0f" },
- { 0xfe49, "\x20\x3e" },
- { 0xfe4a, "\x20\x3e" },
- { 0xfe4b, "\x20\x3e" },
- { 0xfe4c, "\x20\x3e" },
- { 0xfe4d, "\x00\x5f" },
- { 0xfe4e, "\x00\x5f" },
- { 0xfe4f, "\x00\x5f" },
- { 0xfe50, "\x00\x2c" },
- { 0xfe51, "\x30\x01" },
- { 0xfe52, "\x00\x2e" },
- { 0xfe54, "\x00\x3b" },
- { 0xfe55, "\x00\x3a" },
- { 0xfe56, "\x00\x3f" },
- { 0xfe57, "\x00\x21" },
- { 0xfe58, "\x20\x14" },
- { 0xfe59, "\x00\x28" },
- { 0xfe5a, "\x00\x29" },
- { 0xfe5b, "\x00\x7b" },
- { 0xfe5c, "\x00\x7d" },
- { 0xfe5d, "\x30\x14" },
- { 0xfe5e, "\x30\x15" },
- { 0xfe5f, "\x00\x23" },
- { 0xfe60, "\x00\x26" },
- { 0xfe61, "\x00\x2a" },
- { 0xfe62, "\x00\x2b" },
- { 0xfe63, "\x00\x2d" },
- { 0xfe64, "\x00\x3c" },
- { 0xfe65, "\x00\x3e" },
- { 0xfe66, "\x00\x3d" },
- { 0xfe68, "\x00\x5c" },
- { 0xfe69, "\x00\x24" },
- { 0xfe6a, "\x00\x25" },
- { 0xfe6b, "\x00\x40" },
- { 0xfe70, "\x00\x20\x06\x4b" },
- { 0xfe71, "\x06\x40\x06\x4b" },
- { 0xfe72, "\x00\x20\x06\x4c" },
- { 0xfe74, "\x00\x20\x06\x4d" },
- { 0xfe76, "\x00\x20\x06\x4e" },
- { 0xfe77, "\x06\x40\x06\x4e" },
- { 0xfe78, "\x00\x20\x06\x4f" },
- { 0xfe79, "\x06\x40\x06\x4f" },
- { 0xfe7a, "\x00\x20\x06\x50" },
- { 0xfe7b, "\x06\x40\x06\x50" },
- { 0xfe7c, "\x00\x20\x06\x51" },
- { 0xfe7d, "\x06\x40\x06\x51" },
- { 0xfe7e, "\x00\x20\x06\x52" },
- { 0xfe7f, "\x06\x40\x06\x52" },
- { 0xfe80, "\x06\x21" },
- { 0xfe81, "\x06\x22" },
- { 0xfe82, "\x06\x22" },
- { 0xfe83, "\x06\x23" },
- { 0xfe84, "\x06\x23" },
- { 0xfe85, "\x06\x24" },
- { 0xfe86, "\x06\x24" },
- { 0xfe87, "\x06\x25" },
- { 0xfe88, "\x06\x25" },
- { 0xfe89, "\x06\x26" },
- { 0xfe8a, "\x06\x26" },
- { 0xfe8b, "\x06\x26" },
- { 0xfe8c, "\x06\x26" },
- { 0xfe8d, "\x06\x27" },
- { 0xfe8e, "\x06\x27" },
- { 0xfe8f, "\x06\x28" },
- { 0xfe90, "\x06\x28" },
- { 0xfe91, "\x06\x28" },
- { 0xfe92, "\x06\x28" },
- { 0xfe93, "\x06\x29" },
- { 0xfe94, "\x06\x29" },
- { 0xfe95, "\x06\x2a" },
- { 0xfe96, "\x06\x2a" },
- { 0xfe97, "\x06\x2a" },
- { 0xfe98, "\x06\x2a" },
- { 0xfe99, "\x06\x2b" },
- { 0xfe9a, "\x06\x2b" },
- { 0xfe9b, "\x06\x2b" },
- { 0xfe9c, "\x06\x2b" },
- { 0xfe9d, "\x06\x2c" },
- { 0xfe9e, "\x06\x2c" },
- { 0xfe9f, "\x06\x2c" },
- { 0xfea0, "\x06\x2c" },
- { 0xfea1, "\x06\x2d" },
- { 0xfea2, "\x06\x2d" },
- { 0xfea3, "\x06\x2d" },
- { 0xfea4, "\x06\x2d" },
- { 0xfea5, "\x06\x2e" },
- { 0xfea6, "\x06\x2e" },
- { 0xfea7, "\x06\x2e" },
- { 0xfea8, "\x06\x2e" },
- { 0xfea9, "\x06\x2f" },
- { 0xfeaa, "\x06\x2f" },
- { 0xfeab, "\x06\x30" },
- { 0xfeac, "\x06\x30" },
- { 0xfead, "\x06\x31" },
- { 0xfeae, "\x06\x31" },
- { 0xfeaf, "\x06\x32" },
- { 0xfeb0, "\x06\x32" },
- { 0xfeb1, "\x06\x33" },
- { 0xfeb2, "\x06\x33" },
- { 0xfeb3, "\x06\x33" },
- { 0xfeb4, "\x06\x33" },
- { 0xfeb5, "\x06\x34" },
- { 0xfeb6, "\x06\x34" },
- { 0xfeb7, "\x06\x34" },
- { 0xfeb8, "\x06\x34" },
- { 0xfeb9, "\x06\x35" },
- { 0xfeba, "\x06\x35" },
- { 0xfebb, "\x06\x35" },
- { 0xfebc, "\x06\x35" },
- { 0xfebd, "\x06\x36" },
- { 0xfebe, "\x06\x36" },
- { 0xfebf, "\x06\x36" },
- { 0xfec0, "\x06\x36" },
- { 0xfec1, "\x06\x37" },
- { 0xfec2, "\x06\x37" },
- { 0xfec3, "\x06\x37" },
- { 0xfec4, "\x06\x37" },
- { 0xfec5, "\x06\x38" },
- { 0xfec6, "\x06\x38" },
- { 0xfec7, "\x06\x38" },
- { 0xfec8, "\x06\x38" },
- { 0xfec9, "\x06\x39" },
- { 0xfeca, "\x06\x39" },
- { 0xfecb, "\x06\x39" },
- { 0xfecc, "\x06\x39" },
- { 0xfecd, "\x06\x3a" },
- { 0xfece, "\x06\x3a" },
- { 0xfecf, "\x06\x3a" },
- { 0xfed0, "\x06\x3a" },
- { 0xfed1, "\x06\x41" },
- { 0xfed2, "\x06\x41" },
- { 0xfed3, "\x06\x41" },
- { 0xfed4, "\x06\x41" },
- { 0xfed5, "\x06\x42" },
- { 0xfed6, "\x06\x42" },
- { 0xfed7, "\x06\x42" },
- { 0xfed8, "\x06\x42" },
- { 0xfed9, "\x06\x43" },
- { 0xfeda, "\x06\x43" },
- { 0xfedb, "\x06\x43" },
- { 0xfedc, "\x06\x43" },
- { 0xfedd, "\x06\x44" },
- { 0xfede, "\x06\x44" },
- { 0xfedf, "\x06\x44" },
- { 0xfee0, "\x06\x44" },
- { 0xfee1, "\x06\x45" },
- { 0xfee2, "\x06\x45" },
- { 0xfee3, "\x06\x45" },
- { 0xfee4, "\x06\x45" },
- { 0xfee5, "\x06\x46" },
- { 0xfee6, "\x06\x46" },
- { 0xfee7, "\x06\x46" },
- { 0xfee8, "\x06\x46" },
- { 0xfee9, "\x06\x47" },
- { 0xfeea, "\x06\x47" },
- { 0xfeeb, "\x06\x47" },
- { 0xfeec, "\x06\x47" },
- { 0xfeed, "\x06\x48" },
- { 0xfeee, "\x06\x48" },
- { 0xfeef, "\x06\x49" },
- { 0xfef0, "\x06\x49" },
- { 0xfef1, "\x06\x4a" },
- { 0xfef2, "\x06\x4a" },
- { 0xfef3, "\x06\x4a" },
- { 0xfef4, "\x06\x4a" },
- { 0xfef5, "\x06\x44\x06\x22" },
- { 0xfef6, "\x06\x44\x06\x22" },
- { 0xfef7, "\x06\x44\x06\x23" },
- { 0xfef8, "\x06\x44\x06\x23" },
- { 0xfef9, "\x06\x44\x06\x25" },
- { 0xfefa, "\x06\x44\x06\x25" },
- { 0xfefb, "\x06\x44\x06\x27" },
- { 0xfefc, "\x06\x44\x06\x27" },
- { 0xff01, "\x00\x21" },
- { 0xff02, "\x00\x22" },
- { 0xff03, "\x00\x23" },
- { 0xff04, "\x00\x24" },
- { 0xff05, "\x00\x25" },
- { 0xff06, "\x00\x26" },
- { 0xff07, "\x00\x27" },
- { 0xff08, "\x00\x28" },
- { 0xff09, "\x00\x29" },
- { 0xff0a, "\x00\x2a" },
- { 0xff0b, "\x00\x2b" },
- { 0xff0c, "\x00\x2c" },
- { 0xff0d, "\x00\x2d" },
- { 0xff0e, "\x00\x2e" },
- { 0xff0f, "\x00\x2f" },
- { 0xff10, "\x00\x30" },
- { 0xff11, "\x00\x31" },
- { 0xff12, "\x00\x32" },
- { 0xff13, "\x00\x33" },
- { 0xff14, "\x00\x34" },
- { 0xff15, "\x00\x35" },
- { 0xff16, "\x00\x36" },
- { 0xff17, "\x00\x37" },
- { 0xff18, "\x00\x38" },
- { 0xff19, "\x00\x39" },
- { 0xff1a, "\x00\x3a" },
- { 0xff1b, "\x00\x3b" },
- { 0xff1c, "\x00\x3c" },
- { 0xff1d, "\x00\x3d" },
- { 0xff1e, "\x00\x3e" },
- { 0xff1f, "\x00\x3f" },
- { 0xff20, "\x00\x40" },
- { 0xff21, "\x00\x41" },
- { 0xff22, "\x00\x42" },
- { 0xff23, "\x00\x43" },
- { 0xff24, "\x00\x44" },
- { 0xff25, "\x00\x45" },
- { 0xff26, "\x00\x46" },
- { 0xff27, "\x00\x47" },
- { 0xff28, "\x00\x48" },
- { 0xff29, "\x00\x49" },
- { 0xff2a, "\x00\x4a" },
- { 0xff2b, "\x00\x4b" },
- { 0xff2c, "\x00\x4c" },
- { 0xff2d, "\x00\x4d" },
- { 0xff2e, "\x00\x4e" },
- { 0xff2f, "\x00\x4f" },
- { 0xff30, "\x00\x50" },
- { 0xff31, "\x00\x51" },
- { 0xff32, "\x00\x52" },
- { 0xff33, "\x00\x53" },
- { 0xff34, "\x00\x54" },
- { 0xff35, "\x00\x55" },
- { 0xff36, "\x00\x56" },
- { 0xff37, "\x00\x57" },
- { 0xff38, "\x00\x58" },
- { 0xff39, "\x00\x59" },
- { 0xff3a, "\x00\x5a" },
- { 0xff3b, "\x00\x5b" },
- { 0xff3c, "\x00\x5c" },
- { 0xff3d, "\x00\x5d" },
- { 0xff3e, "\x00\x5e" },
- { 0xff3f, "\x00\x5f" },
- { 0xff40, "\x00\x60" },
- { 0xff41, "\x00\x61" },
- { 0xff42, "\x00\x62" },
- { 0xff43, "\x00\x63" },
- { 0xff44, "\x00\x64" },
- { 0xff45, "\x00\x65" },
- { 0xff46, "\x00\x66" },
- { 0xff47, "\x00\x67" },
- { 0xff48, "\x00\x68" },
- { 0xff49, "\x00\x69" },
- { 0xff4a, "\x00\x6a" },
- { 0xff4b, "\x00\x6b" },
- { 0xff4c, "\x00\x6c" },
- { 0xff4d, "\x00\x6d" },
- { 0xff4e, "\x00\x6e" },
- { 0xff4f, "\x00\x6f" },
- { 0xff50, "\x00\x70" },
- { 0xff51, "\x00\x71" },
- { 0xff52, "\x00\x72" },
- { 0xff53, "\x00\x73" },
- { 0xff54, "\x00\x74" },
- { 0xff55, "\x00\x75" },
- { 0xff56, "\x00\x76" },
- { 0xff57, "\x00\x77" },
- { 0xff58, "\x00\x78" },
- { 0xff59, "\x00\x79" },
- { 0xff5a, "\x00\x7a" },
- { 0xff5b, "\x00\x7b" },
- { 0xff5c, "\x00\x7c" },
- { 0xff5d, "\x00\x7d" },
- { 0xff5e, "\x00\x7e" },
- { 0xff61, "\x30\x02" },
- { 0xff62, "\x30\x0c" },
- { 0xff63, "\x30\x0d" },
- { 0xff64, "\x30\x01" },
- { 0xff65, "\x30\xfb" },
- { 0xff66, "\x30\xf2" },
- { 0xff67, "\x30\xa1" },
- { 0xff68, "\x30\xa3" },
- { 0xff69, "\x30\xa5" },
- { 0xff6a, "\x30\xa7" },
- { 0xff6b, "\x30\xa9" },
- { 0xff6c, "\x30\xe3" },
- { 0xff6d, "\x30\xe5" },
- { 0xff6e, "\x30\xe7" },
- { 0xff6f, "\x30\xc3" },
- { 0xff70, "\x30\xfc" },
- { 0xff71, "\x30\xa2" },
- { 0xff72, "\x30\xa4" },
- { 0xff73, "\x30\xa6" },
- { 0xff74, "\x30\xa8" },
- { 0xff75, "\x30\xaa" },
- { 0xff76, "\x30\xab" },
- { 0xff77, "\x30\xad" },
- { 0xff78, "\x30\xaf" },
- { 0xff79, "\x30\xb1" },
- { 0xff7a, "\x30\xb3" },
- { 0xff7b, "\x30\xb5" },
- { 0xff7c, "\x30\xb7" },
- { 0xff7d, "\x30\xb9" },
- { 0xff7e, "\x30\xbb" },
- { 0xff7f, "\x30\xbd" },
- { 0xff80, "\x30\xbf" },
- { 0xff81, "\x30\xc1" },
- { 0xff82, "\x30\xc4" },
- { 0xff83, "\x30\xc6" },
- { 0xff84, "\x30\xc8" },
- { 0xff85, "\x30\xca" },
- { 0xff86, "\x30\xcb" },
- { 0xff87, "\x30\xcc" },
- { 0xff88, "\x30\xcd" },
- { 0xff89, "\x30\xce" },
- { 0xff8a, "\x30\xcf" },
- { 0xff8b, "\x30\xd2" },
- { 0xff8c, "\x30\xd5" },
- { 0xff8d, "\x30\xd8" },
- { 0xff8e, "\x30\xdb" },
- { 0xff8f, "\x30\xde" },
- { 0xff90, "\x30\xdf" },
- { 0xff91, "\x30\xe0" },
- { 0xff92, "\x30\xe1" },
- { 0xff93, "\x30\xe2" },
- { 0xff94, "\x30\xe4" },
- { 0xff95, "\x30\xe6" },
- { 0xff96, "\x30\xe8" },
- { 0xff97, "\x30\xe9" },
- { 0xff98, "\x30\xea" },
- { 0xff99, "\x30\xeb" },
- { 0xff9a, "\x30\xec" },
- { 0xff9b, "\x30\xed" },
- { 0xff9c, "\x30\xef" },
- { 0xff9d, "\x30\xf3" },
- { 0xff9e, "\x30\x99" },
- { 0xff9f, "\x30\x9a" },
- { 0xffa0, "\x31\x64" },
- { 0xffa1, "\x31\x31" },
- { 0xffa2, "\x31\x32" },
- { 0xffa3, "\x31\x33" },
- { 0xffa4, "\x31\x34" },
- { 0xffa5, "\x31\x35" },
- { 0xffa6, "\x31\x36" },
- { 0xffa7, "\x31\x37" },
- { 0xffa8, "\x31\x38" },
- { 0xffa9, "\x31\x39" },
- { 0xffaa, "\x31\x3a" },
- { 0xffab, "\x31\x3b" },
- { 0xffac, "\x31\x3c" },
- { 0xffad, "\x31\x3d" },
- { 0xffae, "\x31\x3e" },
- { 0xffaf, "\x31\x3f" },
- { 0xffb0, "\x31\x40" },
- { 0xffb1, "\x31\x41" },
- { 0xffb2, "\x31\x42" },
- { 0xffb3, "\x31\x43" },
- { 0xffb4, "\x31\x44" },
- { 0xffb5, "\x31\x45" },
- { 0xffb6, "\x31\x46" },
- { 0xffb7, "\x31\x47" },
- { 0xffb8, "\x31\x48" },
- { 0xffb9, "\x31\x49" },
- { 0xffba, "\x31\x4a" },
- { 0xffbb, "\x31\x4b" },
- { 0xffbc, "\x31\x4c" },
- { 0xffbd, "\x31\x4d" },
- { 0xffbe, "\x31\x4e" },
- { 0xffc2, "\x31\x4f" },
- { 0xffc3, "\x31\x50" },
- { 0xffc4, "\x31\x51" },
- { 0xffc5, "\x31\x52" },
- { 0xffc6, "\x31\x53" },
- { 0xffc7, "\x31\x54" },
- { 0xffca, "\x31\x55" },
- { 0xffcb, "\x31\x56" },
- { 0xffcc, "\x31\x57" },
- { 0xffcd, "\x31\x58" },
- { 0xffce, "\x31\x59" },
- { 0xffcf, "\x31\x5a" },
- { 0xffd2, "\x31\x5b" },
- { 0xffd3, "\x31\x5c" },
- { 0xffd4, "\x31\x5d" },
- { 0xffd5, "\x31\x5e" },
- { 0xffd6, "\x31\x5f" },
- { 0xffd7, "\x31\x60" },
- { 0xffda, "\x31\x61" },
- { 0xffdb, "\x31\x62" },
- { 0xffdc, "\x31\x63" },
- { 0xffe0, "\x00\xa2" },
- { 0xffe1, "\x00\xa3" },
- { 0xffe2, "\x00\xac" },
- { 0xffe3, "\x00\xaf" },
- { 0xffe4, "\x00\xa6" },
- { 0xffe5, "\x00\xa5" },
- { 0xffe6, "\x20\xa9" },
- { 0xffe8, "\x25\x02" },
- { 0xffe9, "\x21\x90" },
- { 0xffea, "\x21\x91" },
- { 0xffeb, "\x21\x92" },
- { 0xffec, "\x21\x93" },
- { 0xffed, "\x25\xa0" },
- { 0xffee, "\x25\xcb" }
-};
-
-#endif /* __JAVA_CHARDECOMP_H__ */
diff --git a/libjava/include/java-chartables.h b/libjava/include/java-chartables.h
deleted file mode 100644
index b1053da61cb..00000000000
--- a/libjava/include/java-chartables.h
+++ /dev/null
@@ -1,82984 +0,0 @@
-// java-chartables.h - Character tables for java.lang.Character -*- c++ -*-
-
-#ifndef __JAVA_CHARTABLES_H__
-#define __JAVA_CHARTABLES_H__
-
-// These tables are automatically generated by the chartables.pl
-// script. DO NOT EDIT the tables. Instead, fix the script
-// and run it again.
-
-// This file should only be included by natCharacter.cc
-
-static const jchar title_to_lower_table[][2] =
- {
- { 0x01c5, 0x01c6 }, // LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
- { 0x01c8, 0x01c9 }, // LATIN CAPITAL LETTER L WITH SMALL LETTER J
- { 0x01cb, 0x01cc }, // LATIN CAPITAL LETTER N WITH SMALL LETTER J
- { 0x01f2, 0x01f3 } // LATIN CAPITAL LETTER D WITH SMALL LETTER Z
- };
-
-static const jchar title_to_upper_table[][2] =
- {
- { 0x01c5, 0x01c4 }, // LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
- { 0x01c8, 0x01c7 }, // LATIN CAPITAL LETTER L WITH SMALL LETTER J
- { 0x01cb, 0x01ca }, // LATIN CAPITAL LETTER N WITH SMALL LETTER J
- { 0x01f2, 0x01f1 } // LATIN CAPITAL LETTER D WITH SMALL LETTER Z
- };
-
-#ifdef COMPACT_CHARACTER
-
-#define TAMIL_DIGIT_ONE 0x0be7
-
-static const jchar numeric_table[] =
- { 0x00b2, 0x00b3, 0x00b9, 0x00bc, 0x00bd,
- 0x00be, 0x09f4, 0x09f5, 0x09f6, 0x09f7,
- 0x09f8, 0x09f9, 0x0bf0, 0x0bf1, 0x0bf2,
- 0x2070, 0x2074, 0x2075, 0x2076, 0x2077,
- 0x2078, 0x2079, 0x2080, 0x2081, 0x2082,
- 0x2083, 0x2084, 0x2085, 0x2086, 0x2087,
- 0x2088, 0x2089, 0x2153, 0x2154, 0x2155,
- 0x2156, 0x2157, 0x2158, 0x2159, 0x215a,
- 0x215b, 0x215c, 0x215d, 0x215e, 0x215f,
- 0x2160, 0x2161, 0x2162, 0x2163, 0x2164,
- 0x2165, 0x2166, 0x2167, 0x2168, 0x2169,
- 0x216a, 0x216b, 0x216c, 0x216d, 0x216e,
- 0x216f, 0x2170, 0x2171, 0x2172, 0x2173,
- 0x2174, 0x2175, 0x2176, 0x2177, 0x2178,
- 0x2179, 0x217a, 0x217b, 0x217c, 0x217d,
- 0x217e, 0x217f, 0x2180, 0x2181, 0x2182,
- 0x2460, 0x2461, 0x2462, 0x2463, 0x2464,
- 0x2465, 0x2466, 0x2467, 0x2468, 0x2469,
- 0x246a, 0x246b, 0x246c, 0x246d, 0x246e,
- 0x246f, 0x2470, 0x2471, 0x2472, 0x2473,
- 0x2474, 0x2475, 0x2476, 0x2477, 0x2478,
- 0x2479, 0x247a, 0x247b, 0x247c, 0x247d,
- 0x247e, 0x247f, 0x2480, 0x2481, 0x2482,
- 0x2483, 0x2484, 0x2485, 0x2486, 0x2487,
- 0x2488, 0x2489, 0x248a, 0x248b, 0x248c,
- 0x248d, 0x248e, 0x248f, 0x2490, 0x2491,
- 0x2492, 0x2493, 0x2494, 0x2495, 0x2496,
- 0x2497, 0x2498, 0x2499, 0x249a, 0x249b,
- 0x24ea, 0x2776, 0x2777, 0x2778, 0x2779,
- 0x277a, 0x277b, 0x277c, 0x277d, 0x277e,
- 0x277f, 0x2780, 0x2781, 0x2782, 0x2783,
- 0x2784, 0x2785, 0x2786, 0x2787, 0x2788,
- 0x2789, 0x278a, 0x278b, 0x278c, 0x278d,
- 0x278e, 0x278f, 0x2790, 0x2791, 0x2792,
- 0x2793, 0x3007, 0x3021, 0x3022, 0x3023,
- 0x3024, 0x3025, 0x3026, 0x3027, 0x3028,
- 0x3029, 0x3280, 0x3281, 0x3282, 0x3283,
- 0x3284, 0x3285, 0x3286, 0x3287, 0x3288,
- 0x3289 };
-
-static const jshort numeric_value[] =
- { 2, 3, 1, -2, -2, -2, 1, 2, 3, 4,
- -2, 16, 10, 100, 1000, 0, 4, 5, 6, 7,
- 8, 9, 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, -2, -2, -2, -2, -2, -2, -2, -2,
- -2, -2, -2, -2, 1, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 50, 100, 500,
- 1000, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 11, 12, 50, 100, 500, 1000, 1000, 5000, 10000,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10, 0, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10 };
-
-static const jchar digit_table[][2] =
- {
- { 0x0030, 0x0039 },
- { 0x0660, 0x0669 },
- { 0x06f0, 0x06f9 },
- { 0x0966, 0x096f },
- { 0x09e6, 0x09ef },
- { 0x0a66, 0x0a6f },
- { 0x0ae6, 0x0aef },
- { 0x0b66, 0x0b6f },
- { 0x0be7, 0x0bef },
- { 0x0c66, 0x0c6f },
- { 0x0ce6, 0x0cef },
- { 0x0d66, 0x0d6f },
- { 0x0e50, 0x0e59 },
- { 0x0ed0, 0x0ed9 },
- { 0x0f20, 0x0f29 },
- { 0xff10, 0xff19 }
- };
-
-static const jchar space_table[][2] =
- {
- { 0x0020, 0x0020 },
- { 0x00a0, 0x00a0 },
- { 0x2000, 0x200b },
- { 0x2028, 0x2029 },
- { 0x3000, 0x3000 }
- };
-
-static const jchar upper_case_table[][2] =
- {
- { 0x0041, 0x005a },
- { 0x00c0, 0x00d6 },
- { 0x00d8, 0x00de },
- { 0x0100, 0x0100 },
- { 0x0102, 0x0102 },
- { 0x0104, 0x0104 },
- { 0x0106, 0x0106 },
- { 0x0108, 0x0108 },
- { 0x010a, 0x010a },
- { 0x010c, 0x010c },
- { 0x010e, 0x010e },
- { 0x0110, 0x0110 },
- { 0x0112, 0x0112 },
- { 0x0114, 0x0114 },
- { 0x0116, 0x0116 },
- { 0x0118, 0x0118 },
- { 0x011a, 0x011a },
- { 0x011c, 0x011c },
- { 0x011e, 0x011e },
- { 0x0120, 0x0120 },
- { 0x0122, 0x0122 },
- { 0x0124, 0x0124 },
- { 0x0126, 0x0126 },
- { 0x0128, 0x0128 },
- { 0x012a, 0x012a },
- { 0x012c, 0x012c },
- { 0x012e, 0x012e },
- { 0x0130, 0x0130 },
- { 0x0132, 0x0132 },
- { 0x0134, 0x0134 },
- { 0x0136, 0x0136 },
- { 0x0139, 0x0139 },
- { 0x013b, 0x013b },
- { 0x013d, 0x013d },
- { 0x013f, 0x013f },
- { 0x0141, 0x0141 },
- { 0x0143, 0x0143 },
- { 0x0145, 0x0145 },
- { 0x0147, 0x0147 },
- { 0x014a, 0x014a },
- { 0x014c, 0x014c },
- { 0x014e, 0x014e },
- { 0x0150, 0x0150 },
- { 0x0152, 0x0152 },
- { 0x0154, 0x0154 },
- { 0x0156, 0x0156 },
- { 0x0158, 0x0158 },
- { 0x015a, 0x015a },
- { 0x015c, 0x015c },
- { 0x015e, 0x015e },
- { 0x0160, 0x0160 },
- { 0x0162, 0x0162 },
- { 0x0164, 0x0164 },
- { 0x0166, 0x0166 },
- { 0x0168, 0x0168 },
- { 0x016a, 0x016a },
- { 0x016c, 0x016c },
- { 0x016e, 0x016e },
- { 0x0170, 0x0170 },
- { 0x0172, 0x0172 },
- { 0x0174, 0x0174 },
- { 0x0176, 0x0176 },
- { 0x0178, 0x0178 },
- { 0x0179, 0x0179 },
- { 0x017b, 0x017b },
- { 0x017d, 0x017d },
- { 0x0181, 0x0181 },
- { 0x0182, 0x0182 },
- { 0x0184, 0x0184 },
- { 0x0186, 0x0186 },
- { 0x0187, 0x0187 },
- { 0x0189, 0x018a },
- { 0x018b, 0x018b },
- { 0x018e, 0x018e },
- { 0x018f, 0x018f },
- { 0x0190, 0x0190 },
- { 0x0191, 0x0191 },
- { 0x0193, 0x0193 },
- { 0x0194, 0x0194 },
- { 0x0196, 0x0196 },
- { 0x0197, 0x0197 },
- { 0x0198, 0x0198 },
- { 0x019c, 0x019c },
- { 0x019d, 0x019d },
- { 0x019f, 0x019f },
- { 0x01a0, 0x01a0 },
- { 0x01a2, 0x01a2 },
- { 0x01a4, 0x01a4 },
- { 0x01a6, 0x01a6 },
- { 0x01a7, 0x01a7 },
- { 0x01a9, 0x01a9 },
- { 0x01ac, 0x01ac },
- { 0x01ae, 0x01ae },
- { 0x01af, 0x01af },
- { 0x01b1, 0x01b2 },
- { 0x01b3, 0x01b3 },
- { 0x01b5, 0x01b5 },
- { 0x01b7, 0x01b7 },
- { 0x01b8, 0x01b8 },
- { 0x01bc, 0x01bc },
- { 0x01c4, 0x01c4 },
- { 0x01c7, 0x01c7 },
- { 0x01ca, 0x01ca },
- { 0x01cd, 0x01cd },
- { 0x01cf, 0x01cf },
- { 0x01d1, 0x01d1 },
- { 0x01d3, 0x01d3 },
- { 0x01d5, 0x01d5 },
- { 0x01d7, 0x01d7 },
- { 0x01d9, 0x01d9 },
- { 0x01db, 0x01db },
- { 0x01de, 0x01de },
- { 0x01e0, 0x01e0 },
- { 0x01e2, 0x01e2 },
- { 0x01e4, 0x01e4 },
- { 0x01e6, 0x01e6 },
- { 0x01e8, 0x01e8 },
- { 0x01ea, 0x01ea },
- { 0x01ec, 0x01ec },
- { 0x01ee, 0x01ee },
- { 0x01f1, 0x01f1 },
- { 0x01f4, 0x01f4 },
- { 0x01fa, 0x01fa },
- { 0x01fc, 0x01fc },
- { 0x01fe, 0x01fe },
- { 0x0200, 0x0200 },
- { 0x0202, 0x0202 },
- { 0x0204, 0x0204 },
- { 0x0206, 0x0206 },
- { 0x0208, 0x0208 },
- { 0x020a, 0x020a },
- { 0x020c, 0x020c },
- { 0x020e, 0x020e },
- { 0x0210, 0x0210 },
- { 0x0212, 0x0212 },
- { 0x0214, 0x0214 },
- { 0x0216, 0x0216 },
- { 0x0386, 0x0386 },
- { 0x0388, 0x038a },
- { 0x038c, 0x038c },
- { 0x038e, 0x038f },
- { 0x0391, 0x03a1 },
- { 0x03a3, 0x03ab },
- { 0x03e2, 0x03e2 },
- { 0x03e4, 0x03e4 },
- { 0x03e6, 0x03e6 },
- { 0x03e8, 0x03e8 },
- { 0x03ea, 0x03ea },
- { 0x03ec, 0x03ec },
- { 0x03ee, 0x03ee },
- { 0x0401, 0x040c },
- { 0x040e, 0x040f },
- { 0x0410, 0x042f },
- { 0x0460, 0x0460 },
- { 0x0462, 0x0462 },
- { 0x0464, 0x0464 },
- { 0x0466, 0x0466 },
- { 0x0468, 0x0468 },
- { 0x046a, 0x046a },
- { 0x046c, 0x046c },
- { 0x046e, 0x046e },
- { 0x0470, 0x0470 },
- { 0x0472, 0x0472 },
- { 0x0474, 0x0474 },
- { 0x0476, 0x0476 },
- { 0x0478, 0x0478 },
- { 0x047a, 0x047a },
- { 0x047c, 0x047c },
- { 0x047e, 0x047e },
- { 0x0480, 0x0480 },
- { 0x0490, 0x0490 },
- { 0x0492, 0x0492 },
- { 0x0494, 0x0494 },
- { 0x0496, 0x0496 },
- { 0x0498, 0x0498 },
- { 0x049a, 0x049a },
- { 0x049c, 0x049c },
- { 0x049e, 0x049e },
- { 0x04a0, 0x04a0 },
- { 0x04a2, 0x04a2 },
- { 0x04a4, 0x04a4 },
- { 0x04a6, 0x04a6 },
- { 0x04a8, 0x04a8 },
- { 0x04aa, 0x04aa },
- { 0x04ac, 0x04ac },
- { 0x04ae, 0x04ae },
- { 0x04b0, 0x04b0 },
- { 0x04b2, 0x04b2 },
- { 0x04b4, 0x04b4 },
- { 0x04b6, 0x04b6 },
- { 0x04b8, 0x04b8 },
- { 0x04ba, 0x04ba },
- { 0x04bc, 0x04bc },
- { 0x04be, 0x04be },
- { 0x04c1, 0x04c1 },
- { 0x04c3, 0x04c3 },
- { 0x04c7, 0x04c7 },
- { 0x04cb, 0x04cb },
- { 0x04d0, 0x04d0 },
- { 0x04d2, 0x04d2 },
- { 0x04d4, 0x04d4 },
- { 0x04d6, 0x04d6 },
- { 0x04d8, 0x04d8 },
- { 0x04da, 0x04da },
- { 0x04dc, 0x04dc },
- { 0x04de, 0x04de },
- { 0x04e0, 0x04e0 },
- { 0x04e2, 0x04e2 },
- { 0x04e4, 0x04e4 },
- { 0x04e6, 0x04e6 },
- { 0x04e8, 0x04e8 },
- { 0x04ea, 0x04ea },
- { 0x04ee, 0x04ee },
- { 0x04f0, 0x04f0 },
- { 0x04f2, 0x04f2 },
- { 0x04f4, 0x04f4 },
- { 0x04f8, 0x04f8 },
- { 0x0531, 0x0556 },
- { 0x10a0, 0x10c5 },
- { 0x1e00, 0x1e00 },
- { 0x1e02, 0x1e02 },
- { 0x1e04, 0x1e04 },
- { 0x1e06, 0x1e06 },
- { 0x1e08, 0x1e08 },
- { 0x1e0a, 0x1e0a },
- { 0x1e0c, 0x1e0c },
- { 0x1e0e, 0x1e0e },
- { 0x1e10, 0x1e10 },
- { 0x1e12, 0x1e12 },
- { 0x1e14, 0x1e14 },
- { 0x1e16, 0x1e16 },
- { 0x1e18, 0x1e18 },
- { 0x1e1a, 0x1e1a },
- { 0x1e1c, 0x1e1c },
- { 0x1e1e, 0x1e1e },
- { 0x1e20, 0x1e20 },
- { 0x1e22, 0x1e22 },
- { 0x1e24, 0x1e24 },
- { 0x1e26, 0x1e26 },
- { 0x1e28, 0x1e28 },
- { 0x1e2a, 0x1e2a },
- { 0x1e2c, 0x1e2c },
- { 0x1e2e, 0x1e2e },
- { 0x1e30, 0x1e30 },
- { 0x1e32, 0x1e32 },
- { 0x1e34, 0x1e34 },
- { 0x1e36, 0x1e36 },
- { 0x1e38, 0x1e38 },
- { 0x1e3a, 0x1e3a },
- { 0x1e3c, 0x1e3c },
- { 0x1e3e, 0x1e3e },
- { 0x1e40, 0x1e40 },
- { 0x1e42, 0x1e42 },
- { 0x1e44, 0x1e44 },
- { 0x1e46, 0x1e46 },
- { 0x1e48, 0x1e48 },
- { 0x1e4a, 0x1e4a },
- { 0x1e4c, 0x1e4c },
- { 0x1e4e, 0x1e4e },
- { 0x1e50, 0x1e50 },
- { 0x1e52, 0x1e52 },
- { 0x1e54, 0x1e54 },
- { 0x1e56, 0x1e56 },
- { 0x1e58, 0x1e58 },
- { 0x1e5a, 0x1e5a },
- { 0x1e5c, 0x1e5c },
- { 0x1e5e, 0x1e5e },
- { 0x1e60, 0x1e60 },
- { 0x1e62, 0x1e62 },
- { 0x1e64, 0x1e64 },
- { 0x1e66, 0x1e66 },
- { 0x1e68, 0x1e68 },
- { 0x1e6a, 0x1e6a },
- { 0x1e6c, 0x1e6c },
- { 0x1e6e, 0x1e6e },
- { 0x1e70, 0x1e70 },
- { 0x1e72, 0x1e72 },
- { 0x1e74, 0x1e74 },
- { 0x1e76, 0x1e76 },
- { 0x1e78, 0x1e78 },
- { 0x1e7a, 0x1e7a },
- { 0x1e7c, 0x1e7c },
- { 0x1e7e, 0x1e7e },
- { 0x1e80, 0x1e80 },
- { 0x1e82, 0x1e82 },
- { 0x1e84, 0x1e84 },
- { 0x1e86, 0x1e86 },
- { 0x1e88, 0x1e88 },
- { 0x1e8a, 0x1e8a },
- { 0x1e8c, 0x1e8c },
- { 0x1e8e, 0x1e8e },
- { 0x1e90, 0x1e90 },
- { 0x1e92, 0x1e92 },
- { 0x1e94, 0x1e94 },
- { 0x1ea0, 0x1ea0 },
- { 0x1ea2, 0x1ea2 },
- { 0x1ea4, 0x1ea4 },
- { 0x1ea6, 0x1ea6 },
- { 0x1ea8, 0x1ea8 },
- { 0x1eaa, 0x1eaa },
- { 0x1eac, 0x1eac },
- { 0x1eae, 0x1eae },
- { 0x1eb0, 0x1eb0 },
- { 0x1eb2, 0x1eb2 },
- { 0x1eb4, 0x1eb4 },
- { 0x1eb6, 0x1eb6 },
- { 0x1eb8, 0x1eb8 },
- { 0x1eba, 0x1eba },
- { 0x1ebc, 0x1ebc },
- { 0x1ebe, 0x1ebe },
- { 0x1ec0, 0x1ec0 },
- { 0x1ec2, 0x1ec2 },
- { 0x1ec4, 0x1ec4 },
- { 0x1ec6, 0x1ec6 },
- { 0x1ec8, 0x1ec8 },
- { 0x1eca, 0x1eca },
- { 0x1ecc, 0x1ecc },
- { 0x1ece, 0x1ece },
- { 0x1ed0, 0x1ed0 },
- { 0x1ed2, 0x1ed2 },
- { 0x1ed4, 0x1ed4 },
- { 0x1ed6, 0x1ed6 },
- { 0x1ed8, 0x1ed8 },
- { 0x1eda, 0x1eda },
- { 0x1edc, 0x1edc },
- { 0x1ede, 0x1ede },
- { 0x1ee0, 0x1ee0 },
- { 0x1ee2, 0x1ee2 },
- { 0x1ee4, 0x1ee4 },
- { 0x1ee6, 0x1ee6 },
- { 0x1ee8, 0x1ee8 },
- { 0x1eea, 0x1eea },
- { 0x1eec, 0x1eec },
- { 0x1eee, 0x1eee },
- { 0x1ef0, 0x1ef0 },
- { 0x1ef2, 0x1ef2 },
- { 0x1ef4, 0x1ef4 },
- { 0x1ef6, 0x1ef6 },
- { 0x1ef8, 0x1ef8 },
- { 0x1f08, 0x1f0f },
- { 0x1f18, 0x1f1d },
- { 0x1f28, 0x1f2f },
- { 0x1f38, 0x1f3f },
- { 0x1f48, 0x1f4d },
- { 0x1f59, 0x1f59 },
- { 0x1f5b, 0x1f5b },
- { 0x1f5d, 0x1f5d },
- { 0x1f5f, 0x1f5f },
- { 0x1f68, 0x1f6f },
- { 0x1f88, 0x1f8f },
- { 0x1f98, 0x1f9f },
- { 0x1fa8, 0x1faf },
- { 0x1fb8, 0x1fb9 },
- { 0x1fba, 0x1fbb },
- { 0x1fbc, 0x1fbc },
- { 0x1fc8, 0x1fcb },
- { 0x1fcc, 0x1fcc },
- { 0x1fd8, 0x1fd9 },
- { 0x1fda, 0x1fdb },
- { 0x1fe8, 0x1fe9 },
- { 0x1fea, 0x1feb },
- { 0x1fec, 0x1fec },
- { 0x1ff8, 0x1ff9 },
- { 0x1ffa, 0x1ffb },
- { 0x1ffc, 0x1ffc },
- { 0x2160, 0x216f },
- { 0x24b6, 0x24cf },
- { 0xff21, 0xff3a }
- };
-
-static const jchar upper_case_map_table[] =
- { 0x0061, 0x00e0, 0x00f8, 0x0101, 0x0103,
- 0x0105, 0x0107, 0x0109, 0x010b, 0x010d,
- 0x010f, 0x0111, 0x0113, 0x0115, 0x0117,
- 0x0119, 0x011b, 0x011d, 0x011f, 0x0121,
- 0x0123, 0x0125, 0x0127, 0x0129, 0x012b,
- 0x012d, 0x012f, 0x0069, 0x0133, 0x0135,
- 0x0137, 0x013a, 0x013c, 0x013e, 0x0140,
- 0x0142, 0x0144, 0x0146, 0x0148, 0x014b,
- 0x014d, 0x014f, 0x0151, 0x0153, 0x0155,
- 0x0157, 0x0159, 0x015b, 0x015d, 0x015f,
- 0x0161, 0x0163, 0x0165, 0x0167, 0x0169,
- 0x016b, 0x016d, 0x016f, 0x0171, 0x0173,
- 0x0175, 0x0177, 0x00ff, 0x017a, 0x017c,
- 0x017e, 0x0253, 0x0183, 0x0185, 0x0254,
- 0x0188, 0x0256, 0x018c, 0x01dd, 0x0259,
- 0x025b, 0x0192, 0x0260, 0x0263, 0x0269,
- 0x0268, 0x0199, 0x026f, 0x0272, 0x0275,
- 0x01a1, 0x01a3, 0x01a5, 0x0280, 0x01a8,
- 0x0283, 0x01ad, 0x0288, 0x01b0, 0x028a,
- 0x01b4, 0x01b6, 0x0292, 0x01b9, 0x01bd,
- 0x01c6, 0x01c9, 0x01cc, 0x01ce, 0x01d0,
- 0x01d2, 0x01d4, 0x01d6, 0x01d8, 0x01da,
- 0x01dc, 0x01df, 0x01e1, 0x01e3, 0x01e5,
- 0x01e7, 0x01e9, 0x01eb, 0x01ed, 0x01ef,
- 0x01f3, 0x01f5, 0x01fb, 0x01fd, 0x01ff,
- 0x0201, 0x0203, 0x0205, 0x0207, 0x0209,
- 0x020b, 0x020d, 0x020f, 0x0211, 0x0213,
- 0x0215, 0x0217, 0x03ac, 0x03ad, 0x03cc,
- 0x03cd, 0x03b1, 0x03c3, 0x03e3, 0x03e5,
- 0x03e7, 0x03e9, 0x03eb, 0x03ed, 0x03ef,
- 0x0451, 0x045e, 0x0430, 0x0461, 0x0463,
- 0x0465, 0x0467, 0x0469, 0x046b, 0x046d,
- 0x046f, 0x0471, 0x0473, 0x0475, 0x0477,
- 0x0479, 0x047b, 0x047d, 0x047f, 0x0481,
- 0x0491, 0x0493, 0x0495, 0x0497, 0x0499,
- 0x049b, 0x049d, 0x049f, 0x04a1, 0x04a3,
- 0x04a5, 0x04a7, 0x04a9, 0x04ab, 0x04ad,
- 0x04af, 0x04b1, 0x04b3, 0x04b5, 0x04b7,
- 0x04b9, 0x04bb, 0x04bd, 0x04bf, 0x04c2,
- 0x04c4, 0x04c8, 0x04cc, 0x04d1, 0x04d3,
- 0x04d5, 0x04d7, 0x04d9, 0x04db, 0x04dd,
- 0x04df, 0x04e1, 0x04e3, 0x04e5, 0x04e7,
- 0x04e9, 0x04eb, 0x04ef, 0x04f1, 0x04f3,
- 0x04f5, 0x04f9, 0x0561, 0x10d0, 0x1e01,
- 0x1e03, 0x1e05, 0x1e07, 0x1e09, 0x1e0b,
- 0x1e0d, 0x1e0f, 0x1e11, 0x1e13, 0x1e15,
- 0x1e17, 0x1e19, 0x1e1b, 0x1e1d, 0x1e1f,
- 0x1e21, 0x1e23, 0x1e25, 0x1e27, 0x1e29,
- 0x1e2b, 0x1e2d, 0x1e2f, 0x1e31, 0x1e33,
- 0x1e35, 0x1e37, 0x1e39, 0x1e3b, 0x1e3d,
- 0x1e3f, 0x1e41, 0x1e43, 0x1e45, 0x1e47,
- 0x1e49, 0x1e4b, 0x1e4d, 0x1e4f, 0x1e51,
- 0x1e53, 0x1e55, 0x1e57, 0x1e59, 0x1e5b,
- 0x1e5d, 0x1e5f, 0x1e61, 0x1e63, 0x1e65,
- 0x1e67, 0x1e69, 0x1e6b, 0x1e6d, 0x1e6f,
- 0x1e71, 0x1e73, 0x1e75, 0x1e77, 0x1e79,
- 0x1e7b, 0x1e7d, 0x1e7f, 0x1e81, 0x1e83,
- 0x1e85, 0x1e87, 0x1e89, 0x1e8b, 0x1e8d,
- 0x1e8f, 0x1e91, 0x1e93, 0x1e95, 0x1ea1,
- 0x1ea3, 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab,
- 0x1ead, 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5,
- 0x1eb7, 0x1eb9, 0x1ebb, 0x1ebd, 0x1ebf,
- 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ec9,
- 0x1ecb, 0x1ecd, 0x1ecf, 0x1ed1, 0x1ed3,
- 0x1ed5, 0x1ed7, 0x1ed9, 0x1edb, 0x1edd,
- 0x1edf, 0x1ee1, 0x1ee3, 0x1ee5, 0x1ee7,
- 0x1ee9, 0x1eeb, 0x1eed, 0x1eef, 0x1ef1,
- 0x1ef3, 0x1ef5, 0x1ef7, 0x1ef9, 0x1f00,
- 0x1f10, 0x1f20, 0x1f30, 0x1f40, 0x1f51,
- 0x1f53, 0x1f55, 0x1f57, 0x1f60, 0x1f80,
- 0x1f90, 0x1fa0, 0x1fb0, 0x1f70, 0x1fb3,
- 0x1f72, 0x1fc3, 0x1fd0, 0x1f76, 0x1fe0,
- 0x1f7a, 0x1fe5, 0x1f78, 0x1f7c, 0x1ff3,
- 0x2170, 0x24d0, 0xff41 };
-
-static const jchar lower_case_table[][2] =
- {
- { 0x0061, 0x007a },
- { 0x00e0, 0x00f6 },
- { 0x00f8, 0x00fe },
- { 0x00ff, 0x00ff },
- { 0x0101, 0x0101 },
- { 0x0103, 0x0103 },
- { 0x0105, 0x0105 },
- { 0x0107, 0x0107 },
- { 0x0109, 0x0109 },
- { 0x010b, 0x010b },
- { 0x010d, 0x010d },
- { 0x010f, 0x010f },
- { 0x0111, 0x0111 },
- { 0x0113, 0x0113 },
- { 0x0115, 0x0115 },
- { 0x0117, 0x0117 },
- { 0x0119, 0x0119 },
- { 0x011b, 0x011b },
- { 0x011d, 0x011d },
- { 0x011f, 0x011f },
- { 0x0121, 0x0121 },
- { 0x0123, 0x0123 },
- { 0x0125, 0x0125 },
- { 0x0127, 0x0127 },
- { 0x0129, 0x0129 },
- { 0x012b, 0x012b },
- { 0x012d, 0x012d },
- { 0x012f, 0x012f },
- { 0x0131, 0x0131 },
- { 0x0133, 0x0133 },
- { 0x0135, 0x0135 },
- { 0x0137, 0x0137 },
- { 0x013a, 0x013a },
- { 0x013c, 0x013c },
- { 0x013e, 0x013e },
- { 0x0140, 0x0140 },
- { 0x0142, 0x0142 },
- { 0x0144, 0x0144 },
- { 0x0146, 0x0146 },
- { 0x0148, 0x0148 },
- { 0x014b, 0x014b },
- { 0x014d, 0x014d },
- { 0x014f, 0x014f },
- { 0x0151, 0x0151 },
- { 0x0153, 0x0153 },
- { 0x0155, 0x0155 },
- { 0x0157, 0x0157 },
- { 0x0159, 0x0159 },
- { 0x015b, 0x015b },
- { 0x015d, 0x015d },
- { 0x015f, 0x015f },
- { 0x0161, 0x0161 },
- { 0x0163, 0x0163 },
- { 0x0165, 0x0165 },
- { 0x0167, 0x0167 },
- { 0x0169, 0x0169 },
- { 0x016b, 0x016b },
- { 0x016d, 0x016d },
- { 0x016f, 0x016f },
- { 0x0171, 0x0171 },
- { 0x0173, 0x0173 },
- { 0x0175, 0x0175 },
- { 0x0177, 0x0177 },
- { 0x017a, 0x017a },
- { 0x017c, 0x017c },
- { 0x017e, 0x017e },
- { 0x017f, 0x017f },
- { 0x0183, 0x0183 },
- { 0x0185, 0x0185 },
- { 0x0188, 0x0188 },
- { 0x018c, 0x018c },
- { 0x0192, 0x0192 },
- { 0x0199, 0x0199 },
- { 0x01a1, 0x01a1 },
- { 0x01a3, 0x01a3 },
- { 0x01a5, 0x01a5 },
- { 0x01a8, 0x01a8 },
- { 0x01ad, 0x01ad },
- { 0x01b0, 0x01b0 },
- { 0x01b4, 0x01b4 },
- { 0x01b6, 0x01b6 },
- { 0x01b9, 0x01b9 },
- { 0x01bd, 0x01bd },
- { 0x01c6, 0x01c6 },
- { 0x01c9, 0x01c9 },
- { 0x01cc, 0x01cc },
- { 0x01ce, 0x01ce },
- { 0x01d0, 0x01d0 },
- { 0x01d2, 0x01d2 },
- { 0x01d4, 0x01d4 },
- { 0x01d6, 0x01d6 },
- { 0x01d8, 0x01d8 },
- { 0x01da, 0x01da },
- { 0x01dc, 0x01dc },
- { 0x01dd, 0x01dd },
- { 0x01df, 0x01df },
- { 0x01e1, 0x01e1 },
- { 0x01e3, 0x01e3 },
- { 0x01e5, 0x01e5 },
- { 0x01e7, 0x01e7 },
- { 0x01e9, 0x01e9 },
- { 0x01eb, 0x01eb },
- { 0x01ed, 0x01ed },
- { 0x01ef, 0x01ef },
- { 0x01f3, 0x01f3 },
- { 0x01f5, 0x01f5 },
- { 0x01fb, 0x01fb },
- { 0x01fd, 0x01fd },
- { 0x01ff, 0x01ff },
- { 0x0201, 0x0201 },
- { 0x0203, 0x0203 },
- { 0x0205, 0x0205 },
- { 0x0207, 0x0207 },
- { 0x0209, 0x0209 },
- { 0x020b, 0x020b },
- { 0x020d, 0x020d },
- { 0x020f, 0x020f },
- { 0x0211, 0x0211 },
- { 0x0213, 0x0213 },
- { 0x0215, 0x0215 },
- { 0x0217, 0x0217 },
- { 0x0253, 0x0253 },
- { 0x0254, 0x0254 },
- { 0x0256, 0x0257 },
- { 0x0259, 0x0259 },
- { 0x025b, 0x025b },
- { 0x0260, 0x0260 },
- { 0x0263, 0x0263 },
- { 0x0268, 0x0268 },
- { 0x0269, 0x0269 },
- { 0x026f, 0x026f },
- { 0x0272, 0x0272 },
- { 0x0275, 0x0275 },
- { 0x0280, 0x0280 },
- { 0x0283, 0x0283 },
- { 0x0288, 0x0288 },
- { 0x028a, 0x028b },
- { 0x0292, 0x0292 },
- { 0x0345, 0x0345 },
- { 0x03ac, 0x03ac },
- { 0x03ad, 0x03af },
- { 0x03b1, 0x03c1 },
- { 0x03c2, 0x03c2 },
- { 0x03c3, 0x03cb },
- { 0x03cc, 0x03cc },
- { 0x03cd, 0x03ce },
- { 0x03d0, 0x03d0 },
- { 0x03d1, 0x03d1 },
- { 0x03d5, 0x03d5 },
- { 0x03d6, 0x03d6 },
- { 0x03e3, 0x03e3 },
- { 0x03e5, 0x03e5 },
- { 0x03e7, 0x03e7 },
- { 0x03e9, 0x03e9 },
- { 0x03eb, 0x03eb },
- { 0x03ed, 0x03ed },
- { 0x03ef, 0x03ef },
- { 0x03f0, 0x03f0 },
- { 0x03f1, 0x03f1 },
- { 0x03f2, 0x03f2 },
- { 0x0430, 0x044f },
- { 0x0451, 0x045c },
- { 0x045e, 0x045f },
- { 0x0461, 0x0461 },
- { 0x0463, 0x0463 },
- { 0x0465, 0x0465 },
- { 0x0467, 0x0467 },
- { 0x0469, 0x0469 },
- { 0x046b, 0x046b },
- { 0x046d, 0x046d },
- { 0x046f, 0x046f },
- { 0x0471, 0x0471 },
- { 0x0473, 0x0473 },
- { 0x0475, 0x0475 },
- { 0x0477, 0x0477 },
- { 0x0479, 0x0479 },
- { 0x047b, 0x047b },
- { 0x047d, 0x047d },
- { 0x047f, 0x047f },
- { 0x0481, 0x0481 },
- { 0x0491, 0x0491 },
- { 0x0493, 0x0493 },
- { 0x0495, 0x0495 },
- { 0x0497, 0x0497 },
- { 0x0499, 0x0499 },
- { 0x049b, 0x049b },
- { 0x049d, 0x049d },
- { 0x049f, 0x049f },
- { 0x04a1, 0x04a1 },
- { 0x04a3, 0x04a3 },
- { 0x04a5, 0x04a5 },
- { 0x04a7, 0x04a7 },
- { 0x04a9, 0x04a9 },
- { 0x04ab, 0x04ab },
- { 0x04ad, 0x04ad },
- { 0x04af, 0x04af },
- { 0x04b1, 0x04b1 },
- { 0x04b3, 0x04b3 },
- { 0x04b5, 0x04b5 },
- { 0x04b7, 0x04b7 },
- { 0x04b9, 0x04b9 },
- { 0x04bb, 0x04bb },
- { 0x04bd, 0x04bd },
- { 0x04bf, 0x04bf },
- { 0x04c2, 0x04c2 },
- { 0x04c4, 0x04c4 },
- { 0x04c8, 0x04c8 },
- { 0x04cc, 0x04cc },
- { 0x04d1, 0x04d1 },
- { 0x04d3, 0x04d3 },
- { 0x04d5, 0x04d5 },
- { 0x04d7, 0x04d7 },
- { 0x04d9, 0x04d9 },
- { 0x04db, 0x04db },
- { 0x04dd, 0x04dd },
- { 0x04df, 0x04df },
- { 0x04e1, 0x04e1 },
- { 0x04e3, 0x04e3 },
- { 0x04e5, 0x04e5 },
- { 0x04e7, 0x04e7 },
- { 0x04e9, 0x04e9 },
- { 0x04eb, 0x04eb },
- { 0x04ef, 0x04ef },
- { 0x04f1, 0x04f1 },
- { 0x04f3, 0x04f3 },
- { 0x04f5, 0x04f5 },
- { 0x04f9, 0x04f9 },
- { 0x0561, 0x0586 },
- { 0x1e01, 0x1e01 },
- { 0x1e03, 0x1e03 },
- { 0x1e05, 0x1e05 },
- { 0x1e07, 0x1e07 },
- { 0x1e09, 0x1e09 },
- { 0x1e0b, 0x1e0b },
- { 0x1e0d, 0x1e0d },
- { 0x1e0f, 0x1e0f },
- { 0x1e11, 0x1e11 },
- { 0x1e13, 0x1e13 },
- { 0x1e15, 0x1e15 },
- { 0x1e17, 0x1e17 },
- { 0x1e19, 0x1e19 },
- { 0x1e1b, 0x1e1b },
- { 0x1e1d, 0x1e1d },
- { 0x1e1f, 0x1e1f },
- { 0x1e21, 0x1e21 },
- { 0x1e23, 0x1e23 },
- { 0x1e25, 0x1e25 },
- { 0x1e27, 0x1e27 },
- { 0x1e29, 0x1e29 },
- { 0x1e2b, 0x1e2b },
- { 0x1e2d, 0x1e2d },
- { 0x1e2f, 0x1e2f },
- { 0x1e31, 0x1e31 },
- { 0x1e33, 0x1e33 },
- { 0x1e35, 0x1e35 },
- { 0x1e37, 0x1e37 },
- { 0x1e39, 0x1e39 },
- { 0x1e3b, 0x1e3b },
- { 0x1e3d, 0x1e3d },
- { 0x1e3f, 0x1e3f },
- { 0x1e41, 0x1e41 },
- { 0x1e43, 0x1e43 },
- { 0x1e45, 0x1e45 },
- { 0x1e47, 0x1e47 },
- { 0x1e49, 0x1e49 },
- { 0x1e4b, 0x1e4b },
- { 0x1e4d, 0x1e4d },
- { 0x1e4f, 0x1e4f },
- { 0x1e51, 0x1e51 },
- { 0x1e53, 0x1e53 },
- { 0x1e55, 0x1e55 },
- { 0x1e57, 0x1e57 },
- { 0x1e59, 0x1e59 },
- { 0x1e5b, 0x1e5b },
- { 0x1e5d, 0x1e5d },
- { 0x1e5f, 0x1e5f },
- { 0x1e61, 0x1e61 },
- { 0x1e63, 0x1e63 },
- { 0x1e65, 0x1e65 },
- { 0x1e67, 0x1e67 },
- { 0x1e69, 0x1e69 },
- { 0x1e6b, 0x1e6b },
- { 0x1e6d, 0x1e6d },
- { 0x1e6f, 0x1e6f },
- { 0x1e71, 0x1e71 },
- { 0x1e73, 0x1e73 },
- { 0x1e75, 0x1e75 },
- { 0x1e77, 0x1e77 },
- { 0x1e79, 0x1e79 },
- { 0x1e7b, 0x1e7b },
- { 0x1e7d, 0x1e7d },
- { 0x1e7f, 0x1e7f },
- { 0x1e81, 0x1e81 },
- { 0x1e83, 0x1e83 },
- { 0x1e85, 0x1e85 },
- { 0x1e87, 0x1e87 },
- { 0x1e89, 0x1e89 },
- { 0x1e8b, 0x1e8b },
- { 0x1e8d, 0x1e8d },
- { 0x1e8f, 0x1e8f },
- { 0x1e91, 0x1e91 },
- { 0x1e93, 0x1e93 },
- { 0x1e95, 0x1e95 },
- { 0x1e9b, 0x1e9b },
- { 0x1ea1, 0x1ea1 },
- { 0x1ea3, 0x1ea3 },
- { 0x1ea5, 0x1ea5 },
- { 0x1ea7, 0x1ea7 },
- { 0x1ea9, 0x1ea9 },
- { 0x1eab, 0x1eab },
- { 0x1ead, 0x1ead },
- { 0x1eaf, 0x1eaf },
- { 0x1eb1, 0x1eb1 },
- { 0x1eb3, 0x1eb3 },
- { 0x1eb5, 0x1eb5 },
- { 0x1eb7, 0x1eb7 },
- { 0x1eb9, 0x1eb9 },
- { 0x1ebb, 0x1ebb },
- { 0x1ebd, 0x1ebd },
- { 0x1ebf, 0x1ebf },
- { 0x1ec1, 0x1ec1 },
- { 0x1ec3, 0x1ec3 },
- { 0x1ec5, 0x1ec5 },
- { 0x1ec7, 0x1ec7 },
- { 0x1ec9, 0x1ec9 },
- { 0x1ecb, 0x1ecb },
- { 0x1ecd, 0x1ecd },
- { 0x1ecf, 0x1ecf },
- { 0x1ed1, 0x1ed1 },
- { 0x1ed3, 0x1ed3 },
- { 0x1ed5, 0x1ed5 },
- { 0x1ed7, 0x1ed7 },
- { 0x1ed9, 0x1ed9 },
- { 0x1edb, 0x1edb },
- { 0x1edd, 0x1edd },
- { 0x1edf, 0x1edf },
- { 0x1ee1, 0x1ee1 },
- { 0x1ee3, 0x1ee3 },
- { 0x1ee5, 0x1ee5 },
- { 0x1ee7, 0x1ee7 },
- { 0x1ee9, 0x1ee9 },
- { 0x1eeb, 0x1eeb },
- { 0x1eed, 0x1eed },
- { 0x1eef, 0x1eef },
- { 0x1ef1, 0x1ef1 },
- { 0x1ef3, 0x1ef3 },
- { 0x1ef5, 0x1ef5 },
- { 0x1ef7, 0x1ef7 },
- { 0x1ef9, 0x1ef9 },
- { 0x1f00, 0x1f07 },
- { 0x1f10, 0x1f15 },
- { 0x1f20, 0x1f27 },
- { 0x1f30, 0x1f37 },
- { 0x1f40, 0x1f45 },
- { 0x1f51, 0x1f51 },
- { 0x1f53, 0x1f53 },
- { 0x1f55, 0x1f55 },
- { 0x1f57, 0x1f57 },
- { 0x1f60, 0x1f67 },
- { 0x1f70, 0x1f71 },
- { 0x1f72, 0x1f75 },
- { 0x1f76, 0x1f77 },
- { 0x1f78, 0x1f79 },
- { 0x1f7a, 0x1f7b },
- { 0x1f7c, 0x1f7d },
- { 0x1f80, 0x1f87 },
- { 0x1f90, 0x1f97 },
- { 0x1fa0, 0x1fa7 },
- { 0x1fb0, 0x1fb1 },
- { 0x1fb3, 0x1fb3 },
- { 0x1fbe, 0x1fbe },
- { 0x1fc3, 0x1fc3 },
- { 0x1fd0, 0x1fd1 },
- { 0x1fe0, 0x1fe1 },
- { 0x1fe5, 0x1fe5 },
- { 0x1ff3, 0x1ff3 },
- { 0x2170, 0x217f },
- { 0x24d0, 0x24e9 },
- { 0xff41, 0xff5a }
- };
-
-static const jchar lower_case_map_table[] =
- { 0x0041, 0x00c0, 0x00d8, 0x0178, 0x0100,
- 0x0102, 0x0104, 0x0106, 0x0108, 0x010a,
- 0x010c, 0x010e, 0x0110, 0x0112, 0x0114,
- 0x0116, 0x0118, 0x011a, 0x011c, 0x011e,
- 0x0120, 0x0122, 0x0124, 0x0126, 0x0128,
- 0x012a, 0x012c, 0x012e, 0x0049, 0x0132,
- 0x0134, 0x0136, 0x0139, 0x013b, 0x013d,
- 0x013f, 0x0141, 0x0143, 0x0145, 0x0147,
- 0x014a, 0x014c, 0x014e, 0x0150, 0x0152,
- 0x0154, 0x0156, 0x0158, 0x015a, 0x015c,
- 0x015e, 0x0160, 0x0162, 0x0164, 0x0166,
- 0x0168, 0x016a, 0x016c, 0x016e, 0x0170,
- 0x0172, 0x0174, 0x0176, 0x0179, 0x017b,
- 0x017d, 0x0053, 0x0182, 0x0184, 0x0187,
- 0x018b, 0x0191, 0x0198, 0x01a0, 0x01a2,
- 0x01a4, 0x01a7, 0x01ac, 0x01af, 0x01b3,
- 0x01b5, 0x01b8, 0x01bc, 0x01c4, 0x01c7,
- 0x01ca, 0x01cd, 0x01cf, 0x01d1, 0x01d3,
- 0x01d5, 0x01d7, 0x01d9, 0x01db, 0x018e,
- 0x01de, 0x01e0, 0x01e2, 0x01e4, 0x01e6,
- 0x01e8, 0x01ea, 0x01ec, 0x01ee, 0x01f1,
- 0x01f4, 0x01fa, 0x01fc, 0x01fe, 0x0200,
- 0x0202, 0x0204, 0x0206, 0x0208, 0x020a,
- 0x020c, 0x020e, 0x0210, 0x0212, 0x0214,
- 0x0216, 0x0181, 0x0186, 0x0189, 0x018f,
- 0x0190, 0x0193, 0x0194, 0x0197, 0x0196,
- 0x019c, 0x019d, 0x019f, 0x01a6, 0x01a9,
- 0x01ae, 0x01b1, 0x01b7, 0x0399, 0x0386,
- 0x0388, 0x0391, 0x03a3, 0x03a3, 0x038c,
- 0x038e, 0x0392, 0x0398, 0x03a6, 0x03a0,
- 0x03e2, 0x03e4, 0x03e6, 0x03e8, 0x03ea,
- 0x03ec, 0x03ee, 0x039a, 0x03a1, 0x03a3,
- 0x0410, 0x0401, 0x040e, 0x0460, 0x0462,
- 0x0464, 0x0466, 0x0468, 0x046a, 0x046c,
- 0x046e, 0x0470, 0x0472, 0x0474, 0x0476,
- 0x0478, 0x047a, 0x047c, 0x047e, 0x0480,
- 0x0490, 0x0492, 0x0494, 0x0496, 0x0498,
- 0x049a, 0x049c, 0x049e, 0x04a0, 0x04a2,
- 0x04a4, 0x04a6, 0x04a8, 0x04aa, 0x04ac,
- 0x04ae, 0x04b0, 0x04b2, 0x04b4, 0x04b6,
- 0x04b8, 0x04ba, 0x04bc, 0x04be, 0x04c1,
- 0x04c3, 0x04c7, 0x04cb, 0x04d0, 0x04d2,
- 0x04d4, 0x04d6, 0x04d8, 0x04da, 0x04dc,
- 0x04de, 0x04e0, 0x04e2, 0x04e4, 0x04e6,
- 0x04e8, 0x04ea, 0x04ee, 0x04f0, 0x04f2,
- 0x04f4, 0x04f8, 0x0531, 0x1e00, 0x1e02,
- 0x1e04, 0x1e06, 0x1e08, 0x1e0a, 0x1e0c,
- 0x1e0e, 0x1e10, 0x1e12, 0x1e14, 0x1e16,
- 0x1e18, 0x1e1a, 0x1e1c, 0x1e1e, 0x1e20,
- 0x1e22, 0x1e24, 0x1e26, 0x1e28, 0x1e2a,
- 0x1e2c, 0x1e2e, 0x1e30, 0x1e32, 0x1e34,
- 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, 0x1e3e,
- 0x1e40, 0x1e42, 0x1e44, 0x1e46, 0x1e48,
- 0x1e4a, 0x1e4c, 0x1e4e, 0x1e50, 0x1e52,
- 0x1e54, 0x1e56, 0x1e58, 0x1e5a, 0x1e5c,
- 0x1e5e, 0x1e60, 0x1e62, 0x1e64, 0x1e66,
- 0x1e68, 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70,
- 0x1e72, 0x1e74, 0x1e76, 0x1e78, 0x1e7a,
- 0x1e7c, 0x1e7e, 0x1e80, 0x1e82, 0x1e84,
- 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, 0x1e8e,
- 0x1e90, 0x1e92, 0x1e94, 0x1e60, 0x1ea0,
- 0x1ea2, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa,
- 0x1eac, 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4,
- 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, 0x1ebe,
- 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ec8,
- 0x1eca, 0x1ecc, 0x1ece, 0x1ed0, 0x1ed2,
- 0x1ed4, 0x1ed6, 0x1ed8, 0x1eda, 0x1edc,
- 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, 0x1ee6,
- 0x1ee8, 0x1eea, 0x1eec, 0x1eee, 0x1ef0,
- 0x1ef2, 0x1ef4, 0x1ef6, 0x1ef8, 0x1f08,
- 0x1f18, 0x1f28, 0x1f38, 0x1f48, 0x1f59,
- 0x1f5b, 0x1f5d, 0x1f5f, 0x1f68, 0x1fba,
- 0x1fc8, 0x1fda, 0x1ff8, 0x1fea, 0x1ffa,
- 0x1f88, 0x1f98, 0x1fa8, 0x1fb8, 0x1fbc,
- 0x0399, 0x1fcc, 0x1fd8, 0x1fe8, 0x1fec,
- 0x1ffc, 0x2160, 0x24b6, 0xff21 };
-
-static const jchar lower_anomalous_table[] =
- { 0x00df, 0x0138, 0x0149, 0x0180, 0x018d,
- 0x0195, 0x019a, 0x019b, 0x019e, 0x01ab,
- 0x01ba, 0x01f0, 0x0250, 0x0251, 0x0252,
- 0x0255, 0x0258, 0x025a, 0x025c, 0x025d,
- 0x025e, 0x025f, 0x0261, 0x0264, 0x0265,
- 0x0266, 0x0267, 0x026b, 0x026c, 0x026d,
- 0x026e, 0x0270, 0x0271, 0x0273, 0x0277,
- 0x0278, 0x0279, 0x027a, 0x027b, 0x027c,
- 0x027d, 0x027e, 0x027f, 0x0282, 0x0284,
- 0x0285, 0x0286, 0x0287, 0x0289, 0x028c,
- 0x028d, 0x028e, 0x0290, 0x0291, 0x0293,
- 0x029a, 0x029d, 0x029e, 0x02a0, 0x02a3,
- 0x02a4, 0x02a5, 0x02a6, 0x02a7, 0x02a8,
- 0x0390, 0x03b0, 0x0587, 0x1e96, 0x1e97,
- 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52,
- 0x1f54, 0x1f56, 0x1fb2, 0x1fb4, 0x1fb6,
- 0x1fb7, 0x1fc2, 0x1fc4, 0x1fc6, 0x1fc7,
- 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7, 0x1fe2,
- 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2,
- 0x1ff4, 0x1ff6, 0x1ff7, 0x207f, 0x2129,
- 0x249c, 0x249d, 0x249e, 0x249f, 0x24a0,
- 0x24a1, 0x24a2, 0x24a3, 0x24a4, 0x24a5,
- 0x24a6, 0x24a7, 0x24a8, 0x24a9, 0x24aa,
- 0x24ab, 0x24ac, 0x24ad, 0x24ae, 0x24af,
- 0x24b0, 0x24b1, 0x24b2, 0x24b3, 0x24b4,
- 0x24b5, 0xfb00, 0xfb01, 0xfb02, 0xfb03,
- 0xfb04, 0xfb05, 0xfb06, 0xfb13, 0xfb14,
- 0xfb15, 0xfb16, 0xfb17 };
-
-static const jchar all_table[][2] =
- {
- { 0x0000, 0x001f },
- { 0x0020, 0x0020 },
- { 0x0021, 0x0023 },
- { 0x0024, 0x0024 },
- { 0x0025, 0x0027 },
- { 0x0028, 0x0028 },
- { 0x0029, 0x0029 },
- { 0x002a, 0x002a },
- { 0x002b, 0x002b },
- { 0x002c, 0x002c },
- { 0x002d, 0x002d },
- { 0x002e, 0x002f },
- { 0x0030, 0x0039 },
- { 0x003a, 0x003b },
- { 0x003c, 0x003e },
- { 0x003f, 0x0040 },
- { 0x0041, 0x005a },
- { 0x005b, 0x005b },
- { 0x005c, 0x005c },
- { 0x005d, 0x005d },
- { 0x005e, 0x005e },
- { 0x005f, 0x005f },
- { 0x0060, 0x0060 },
- { 0x0061, 0x007a },
- { 0x007b, 0x007b },
- { 0x007c, 0x007c },
- { 0x007d, 0x007d },
- { 0x007e, 0x007e },
- { 0x007f, 0x009f },
- { 0x00a0, 0x00a0 },
- { 0x00a1, 0x00a1 },
- { 0x00a2, 0x00a5 },
- { 0x00a6, 0x00a7 },
- { 0x00a8, 0x00a8 },
- { 0x00a9, 0x00a9 },
- { 0x00aa, 0x00aa },
- { 0x00ab, 0x00ab },
- { 0x00ac, 0x00ac },
- { 0x00ad, 0x00ad },
- { 0x00ae, 0x00ae },
- { 0x00af, 0x00af },
- { 0x00b0, 0x00b0 },
- { 0x00b1, 0x00b1 },
- { 0x00b2, 0x00b3 },
- { 0x00b4, 0x00b4 },
- { 0x00b5, 0x00b5 },
- { 0x00b6, 0x00b6 },
- { 0x00b7, 0x00b7 },
- { 0x00b8, 0x00b8 },
- { 0x00b9, 0x00b9 },
- { 0x00ba, 0x00ba },
- { 0x00bb, 0x00bb },
- { 0x00bc, 0x00be },
- { 0x00bf, 0x00bf },
- { 0x00c0, 0x00d6 },
- { 0x00d7, 0x00d7 },
- { 0x00d8, 0x00de },
- { 0x00df, 0x00f6 },
- { 0x00f7, 0x00f7 },
- { 0x00f8, 0x00ff },
- { 0x0100, 0x0100 },
- { 0x0101, 0x0101 },
- { 0x0102, 0x0102 },
- { 0x0103, 0x0103 },
- { 0x0104, 0x0104 },
- { 0x0105, 0x0105 },
- { 0x0106, 0x0106 },
- { 0x0107, 0x0107 },
- { 0x0108, 0x0108 },
- { 0x0109, 0x0109 },
- { 0x010a, 0x010a },
- { 0x010b, 0x010b },
- { 0x010c, 0x010c },
- { 0x010d, 0x010d },
- { 0x010e, 0x010e },
- { 0x010f, 0x010f },
- { 0x0110, 0x0110 },
- { 0x0111, 0x0111 },
- { 0x0112, 0x0112 },
- { 0x0113, 0x0113 },
- { 0x0114, 0x0114 },
- { 0x0115, 0x0115 },
- { 0x0116, 0x0116 },
- { 0x0117, 0x0117 },
- { 0x0118, 0x0118 },
- { 0x0119, 0x0119 },
- { 0x011a, 0x011a },
- { 0x011b, 0x011b },
- { 0x011c, 0x011c },
- { 0x011d, 0x011d },
- { 0x011e, 0x011e },
- { 0x011f, 0x011f },
- { 0x0120, 0x0120 },
- { 0x0121, 0x0121 },
- { 0x0122, 0x0122 },
- { 0x0123, 0x0123 },
- { 0x0124, 0x0124 },
- { 0x0125, 0x0125 },
- { 0x0126, 0x0126 },
- { 0x0127, 0x0127 },
- { 0x0128, 0x0128 },
- { 0x0129, 0x0129 },
- { 0x012a, 0x012a },
- { 0x012b, 0x012b },
- { 0x012c, 0x012c },
- { 0x012d, 0x012d },
- { 0x012e, 0x012e },
- { 0x012f, 0x012f },
- { 0x0130, 0x0130 },
- { 0x0131, 0x0131 },
- { 0x0132, 0x0132 },
- { 0x0133, 0x0133 },
- { 0x0134, 0x0134 },
- { 0x0135, 0x0135 },
- { 0x0136, 0x0136 },
- { 0x0137, 0x0138 },
- { 0x0139, 0x0139 },
- { 0x013a, 0x013a },
- { 0x013b, 0x013b },
- { 0x013c, 0x013c },
- { 0x013d, 0x013d },
- { 0x013e, 0x013e },
- { 0x013f, 0x013f },
- { 0x0140, 0x0140 },
- { 0x0141, 0x0141 },
- { 0x0142, 0x0142 },
- { 0x0143, 0x0143 },
- { 0x0144, 0x0144 },
- { 0x0145, 0x0145 },
- { 0x0146, 0x0146 },
- { 0x0147, 0x0147 },
- { 0x0148, 0x0149 },
- { 0x014a, 0x014a },
- { 0x014b, 0x014b },
- { 0x014c, 0x014c },
- { 0x014d, 0x014d },
- { 0x014e, 0x014e },
- { 0x014f, 0x014f },
- { 0x0150, 0x0150 },
- { 0x0151, 0x0151 },
- { 0x0152, 0x0152 },
- { 0x0153, 0x0153 },
- { 0x0154, 0x0154 },
- { 0x0155, 0x0155 },
- { 0x0156, 0x0156 },
- { 0x0157, 0x0157 },
- { 0x0158, 0x0158 },
- { 0x0159, 0x0159 },
- { 0x015a, 0x015a },
- { 0x015b, 0x015b },
- { 0x015c, 0x015c },
- { 0x015d, 0x015d },
- { 0x015e, 0x015e },
- { 0x015f, 0x015f },
- { 0x0160, 0x0160 },
- { 0x0161, 0x0161 },
- { 0x0162, 0x0162 },
- { 0x0163, 0x0163 },
- { 0x0164, 0x0164 },
- { 0x0165, 0x0165 },
- { 0x0166, 0x0166 },
- { 0x0167, 0x0167 },
- { 0x0168, 0x0168 },
- { 0x0169, 0x0169 },
- { 0x016a, 0x016a },
- { 0x016b, 0x016b },
- { 0x016c, 0x016c },
- { 0x016d, 0x016d },
- { 0x016e, 0x016e },
- { 0x016f, 0x016f },
- { 0x0170, 0x0170 },
- { 0x0171, 0x0171 },
- { 0x0172, 0x0172 },
- { 0x0173, 0x0173 },
- { 0x0174, 0x0174 },
- { 0x0175, 0x0175 },
- { 0x0176, 0x0176 },
- { 0x0177, 0x0177 },
- { 0x0178, 0x0179 },
- { 0x017a, 0x017a },
- { 0x017b, 0x017b },
- { 0x017c, 0x017c },
- { 0x017d, 0x017d },
- { 0x017e, 0x0180 },
- { 0x0181, 0x0182 },
- { 0x0183, 0x0183 },
- { 0x0184, 0x0184 },
- { 0x0185, 0x0185 },
- { 0x0186, 0x0187 },
- { 0x0188, 0x0188 },
- { 0x0189, 0x018b },
- { 0x018c, 0x018d },
- { 0x018e, 0x0191 },
- { 0x0192, 0x0192 },
- { 0x0193, 0x0194 },
- { 0x0195, 0x0195 },
- { 0x0196, 0x0198 },
- { 0x0199, 0x019b },
- { 0x019c, 0x019d },
- { 0x019e, 0x019e },
- { 0x019f, 0x01a0 },
- { 0x01a1, 0x01a1 },
- { 0x01a2, 0x01a2 },
- { 0x01a3, 0x01a3 },
- { 0x01a4, 0x01a4 },
- { 0x01a5, 0x01a5 },
- { 0x01a6, 0x01a7 },
- { 0x01a8, 0x01a8 },
- { 0x01a9, 0x01a9 },
- { 0x01aa, 0x01aa },
- { 0x01ab, 0x01ab },
- { 0x01ac, 0x01ac },
- { 0x01ad, 0x01ad },
- { 0x01ae, 0x01af },
- { 0x01b0, 0x01b0 },
- { 0x01b1, 0x01b3 },
- { 0x01b4, 0x01b4 },
- { 0x01b5, 0x01b5 },
- { 0x01b6, 0x01b6 },
- { 0x01b7, 0x01b8 },
- { 0x01b9, 0x01ba },
- { 0x01bb, 0x01bb },
- { 0x01bc, 0x01bc },
- { 0x01bd, 0x01bd },
- { 0x01be, 0x01c3 },
- { 0x01c4, 0x01c4 },
- { 0x01c5, 0x01c5 },
- { 0x01c6, 0x01c6 },
- { 0x01c7, 0x01c7 },
- { 0x01c8, 0x01c8 },
- { 0x01c9, 0x01c9 },
- { 0x01ca, 0x01ca },
- { 0x01cb, 0x01cb },
- { 0x01cc, 0x01cc },
- { 0x01cd, 0x01cd },
- { 0x01ce, 0x01ce },
- { 0x01cf, 0x01cf },
- { 0x01d0, 0x01d0 },
- { 0x01d1, 0x01d1 },
- { 0x01d2, 0x01d2 },
- { 0x01d3, 0x01d3 },
- { 0x01d4, 0x01d4 },
- { 0x01d5, 0x01d5 },
- { 0x01d6, 0x01d6 },
- { 0x01d7, 0x01d7 },
- { 0x01d8, 0x01d8 },
- { 0x01d9, 0x01d9 },
- { 0x01da, 0x01da },
- { 0x01db, 0x01db },
- { 0x01dc, 0x01dd },
- { 0x01de, 0x01de },
- { 0x01df, 0x01df },
- { 0x01e0, 0x01e0 },
- { 0x01e1, 0x01e1 },
- { 0x01e2, 0x01e2 },
- { 0x01e3, 0x01e3 },
- { 0x01e4, 0x01e4 },
- { 0x01e5, 0x01e5 },
- { 0x01e6, 0x01e6 },
- { 0x01e7, 0x01e7 },
- { 0x01e8, 0x01e8 },
- { 0x01e9, 0x01e9 },
- { 0x01ea, 0x01ea },
- { 0x01eb, 0x01eb },
- { 0x01ec, 0x01ec },
- { 0x01ed, 0x01ed },
- { 0x01ee, 0x01ee },
- { 0x01ef, 0x01f0 },
- { 0x01f1, 0x01f1 },
- { 0x01f2, 0x01f2 },
- { 0x01f3, 0x01f3 },
- { 0x01f4, 0x01f4 },
- { 0x01f5, 0x01f5 },
- { 0x01f6, 0x01f9 },
- { 0x01fa, 0x01fa },
- { 0x01fb, 0x01fb },
- { 0x01fc, 0x01fc },
- { 0x01fd, 0x01fd },
- { 0x01fe, 0x01fe },
- { 0x01ff, 0x01ff },
- { 0x0200, 0x0200 },
- { 0x0201, 0x0201 },
- { 0x0202, 0x0202 },
- { 0x0203, 0x0203 },
- { 0x0204, 0x0204 },
- { 0x0205, 0x0205 },
- { 0x0206, 0x0206 },
- { 0x0207, 0x0207 },
- { 0x0208, 0x0208 },
- { 0x0209, 0x0209 },
- { 0x020a, 0x020a },
- { 0x020b, 0x020b },
- { 0x020c, 0x020c },
- { 0x020d, 0x020d },
- { 0x020e, 0x020e },
- { 0x020f, 0x020f },
- { 0x0210, 0x0210 },
- { 0x0211, 0x0211 },
- { 0x0212, 0x0212 },
- { 0x0213, 0x0213 },
- { 0x0214, 0x0214 },
- { 0x0215, 0x0215 },
- { 0x0216, 0x0216 },
- { 0x0217, 0x0217 },
- { 0x0218, 0x024f },
- { 0x0250, 0x02a8 },
- { 0x02a9, 0x02af },
- { 0x02b0, 0x02b8 },
- { 0x02b9, 0x02ba },
- { 0x02bb, 0x02c1 },
- { 0x02c2, 0x02cf },
- { 0x02d0, 0x02d1 },
- { 0x02d2, 0x02de },
- { 0x02df, 0x02df },
- { 0x02e0, 0x02e4 },
- { 0x02e5, 0x02e9 },
- { 0x02ea, 0x02ff },
- { 0x0300, 0x0345 },
- { 0x0346, 0x035f },
- { 0x0360, 0x0361 },
- { 0x0362, 0x0373 },
- { 0x0374, 0x0375 },
- { 0x0376, 0x0379 },
- { 0x037a, 0x037a },
- { 0x037b, 0x037d },
- { 0x037e, 0x037e },
- { 0x037f, 0x0383 },
- { 0x0384, 0x0385 },
- { 0x0386, 0x0386 },
- { 0x0387, 0x0387 },
- { 0x0388, 0x038a },
- { 0x038b, 0x038b },
- { 0x038c, 0x038c },
- { 0x038d, 0x038d },
- { 0x038e, 0x038f },
- { 0x0390, 0x0390 },
- { 0x0391, 0x03a1 },
- { 0x03a2, 0x03a2 },
- { 0x03a3, 0x03ab },
- { 0x03ac, 0x03ce },
- { 0x03cf, 0x03cf },
- { 0x03d0, 0x03d1 },
- { 0x03d2, 0x03d4 },
- { 0x03d5, 0x03d6 },
- { 0x03d7, 0x03d9 },
- { 0x03da, 0x03da },
- { 0x03db, 0x03db },
- { 0x03dc, 0x03dc },
- { 0x03dd, 0x03dd },
- { 0x03de, 0x03de },
- { 0x03df, 0x03df },
- { 0x03e0, 0x03e0 },
- { 0x03e1, 0x03e1 },
- { 0x03e2, 0x03e2 },
- { 0x03e3, 0x03e3 },
- { 0x03e4, 0x03e4 },
- { 0x03e5, 0x03e5 },
- { 0x03e6, 0x03e6 },
- { 0x03e7, 0x03e7 },
- { 0x03e8, 0x03e8 },
- { 0x03e9, 0x03e9 },
- { 0x03ea, 0x03ea },
- { 0x03eb, 0x03eb },
- { 0x03ec, 0x03ec },
- { 0x03ed, 0x03ed },
- { 0x03ee, 0x03ee },
- { 0x03ef, 0x03f2 },
- { 0x03f3, 0x03f3 },
- { 0x03f4, 0x0400 },
- { 0x0401, 0x040c },
- { 0x040d, 0x040d },
- { 0x040e, 0x042f },
- { 0x0430, 0x044f },
- { 0x0450, 0x0450 },
- { 0x0451, 0x045c },
- { 0x045d, 0x045d },
- { 0x045e, 0x045f },
- { 0x0460, 0x0460 },
- { 0x0461, 0x0461 },
- { 0x0462, 0x0462 },
- { 0x0463, 0x0463 },
- { 0x0464, 0x0464 },
- { 0x0465, 0x0465 },
- { 0x0466, 0x0466 },
- { 0x0467, 0x0467 },
- { 0x0468, 0x0468 },
- { 0x0469, 0x0469 },
- { 0x046a, 0x046a },
- { 0x046b, 0x046b },
- { 0x046c, 0x046c },
- { 0x046d, 0x046d },
- { 0x046e, 0x046e },
- { 0x046f, 0x046f },
- { 0x0470, 0x0470 },
- { 0x0471, 0x0471 },
- { 0x0472, 0x0472 },
- { 0x0473, 0x0473 },
- { 0x0474, 0x0474 },
- { 0x0475, 0x0475 },
- { 0x0476, 0x0476 },
- { 0x0477, 0x0477 },
- { 0x0478, 0x0478 },
- { 0x0479, 0x0479 },
- { 0x047a, 0x047a },
- { 0x047b, 0x047b },
- { 0x047c, 0x047c },
- { 0x047d, 0x047d },
- { 0x047e, 0x047e },
- { 0x047f, 0x047f },
- { 0x0480, 0x0480 },
- { 0x0481, 0x0481 },
- { 0x0482, 0x0482 },
- { 0x0483, 0x0486 },
- { 0x0487, 0x048f },
- { 0x0490, 0x0490 },
- { 0x0491, 0x0491 },
- { 0x0492, 0x0492 },
- { 0x0493, 0x0493 },
- { 0x0494, 0x0494 },
- { 0x0495, 0x0495 },
- { 0x0496, 0x0496 },
- { 0x0497, 0x0497 },
- { 0x0498, 0x0498 },
- { 0x0499, 0x0499 },
- { 0x049a, 0x049a },
- { 0x049b, 0x049b },
- { 0x049c, 0x049c },
- { 0x049d, 0x049d },
- { 0x049e, 0x049e },
- { 0x049f, 0x049f },
- { 0x04a0, 0x04a0 },
- { 0x04a1, 0x04a1 },
- { 0x04a2, 0x04a2 },
- { 0x04a3, 0x04a3 },
- { 0x04a4, 0x04a4 },
- { 0x04a5, 0x04a5 },
- { 0x04a6, 0x04a6 },
- { 0x04a7, 0x04a7 },
- { 0x04a8, 0x04a8 },
- { 0x04a9, 0x04a9 },
- { 0x04aa, 0x04aa },
- { 0x04ab, 0x04ab },
- { 0x04ac, 0x04ac },
- { 0x04ad, 0x04ad },
- { 0x04ae, 0x04ae },
- { 0x04af, 0x04af },
- { 0x04b0, 0x04b0 },
- { 0x04b1, 0x04b1 },
- { 0x04b2, 0x04b2 },
- { 0x04b3, 0x04b3 },
- { 0x04b4, 0x04b4 },
- { 0x04b5, 0x04b5 },
- { 0x04b6, 0x04b6 },
- { 0x04b7, 0x04b7 },
- { 0x04b8, 0x04b8 },
- { 0x04b9, 0x04b9 },
- { 0x04ba, 0x04ba },
- { 0x04bb, 0x04bb },
- { 0x04bc, 0x04bc },
- { 0x04bd, 0x04bd },
- { 0x04be, 0x04be },
- { 0x04bf, 0x04bf },
- { 0x04c0, 0x04c0 },
- { 0x04c1, 0x04c1 },
- { 0x04c2, 0x04c2 },
- { 0x04c3, 0x04c3 },
- { 0x04c4, 0x04c4 },
- { 0x04c5, 0x04c6 },
- { 0x04c7, 0x04c7 },
- { 0x04c8, 0x04c8 },
- { 0x04c9, 0x04ca },
- { 0x04cb, 0x04cb },
- { 0x04cc, 0x04cc },
- { 0x04cd, 0x04cf },
- { 0x04d0, 0x04d0 },
- { 0x04d1, 0x04d1 },
- { 0x04d2, 0x04d2 },
- { 0x04d3, 0x04d3 },
- { 0x04d4, 0x04d4 },
- { 0x04d5, 0x04d5 },
- { 0x04d6, 0x04d6 },
- { 0x04d7, 0x04d7 },
- { 0x04d8, 0x04d8 },
- { 0x04d9, 0x04d9 },
- { 0x04da, 0x04da },
- { 0x04db, 0x04db },
- { 0x04dc, 0x04dc },
- { 0x04dd, 0x04dd },
- { 0x04de, 0x04de },
- { 0x04df, 0x04df },
- { 0x04e0, 0x04e0 },
- { 0x04e1, 0x04e1 },
- { 0x04e2, 0x04e2 },
- { 0x04e3, 0x04e3 },
- { 0x04e4, 0x04e4 },
- { 0x04e5, 0x04e5 },
- { 0x04e6, 0x04e6 },
- { 0x04e7, 0x04e7 },
- { 0x04e8, 0x04e8 },
- { 0x04e9, 0x04e9 },
- { 0x04ea, 0x04ea },
- { 0x04eb, 0x04eb },
- { 0x04ec, 0x04ed },
- { 0x04ee, 0x04ee },
- { 0x04ef, 0x04ef },
- { 0x04f0, 0x04f0 },
- { 0x04f1, 0x04f1 },
- { 0x04f2, 0x04f2 },
- { 0x04f3, 0x04f3 },
- { 0x04f4, 0x04f4 },
- { 0x04f5, 0x04f5 },
- { 0x04f6, 0x04f7 },
- { 0x04f8, 0x04f8 },
- { 0x04f9, 0x04f9 },
- { 0x04fa, 0x0530 },
- { 0x0531, 0x0556 },
- { 0x0557, 0x0558 },
- { 0x0559, 0x0559 },
- { 0x055a, 0x055f },
- { 0x0560, 0x0560 },
- { 0x0561, 0x0587 },
- { 0x0588, 0x0588 },
- { 0x0589, 0x0589 },
- { 0x058a, 0x0590 },
- { 0x0591, 0x05a1 },
- { 0x05a2, 0x05a2 },
- { 0x05a3, 0x05b9 },
- { 0x05ba, 0x05ba },
- { 0x05bb, 0x05bd },
- { 0x05be, 0x05be },
- { 0x05bf, 0x05bf },
- { 0x05c0, 0x05c0 },
- { 0x05c1, 0x05c2 },
- { 0x05c3, 0x05c3 },
- { 0x05c4, 0x05c4 },
- { 0x05c5, 0x05cf },
- { 0x05d0, 0x05ea },
- { 0x05eb, 0x05ef },
- { 0x05f0, 0x05f2 },
- { 0x05f3, 0x05f4 },
- { 0x05f5, 0x060b },
- { 0x060c, 0x060c },
- { 0x060d, 0x061a },
- { 0x061b, 0x061b },
- { 0x061c, 0x061e },
- { 0x061f, 0x061f },
- { 0x0620, 0x0620 },
- { 0x0621, 0x063a },
- { 0x063b, 0x063f },
- { 0x0640, 0x0640 },
- { 0x0641, 0x064a },
- { 0x064b, 0x0652 },
- { 0x0653, 0x065f },
- { 0x0660, 0x0669 },
- { 0x066a, 0x066d },
- { 0x066e, 0x066f },
- { 0x0670, 0x0670 },
- { 0x0671, 0x06b7 },
- { 0x06b8, 0x06b9 },
- { 0x06ba, 0x06be },
- { 0x06bf, 0x06bf },
- { 0x06c0, 0x06ce },
- { 0x06cf, 0x06cf },
- { 0x06d0, 0x06d3 },
- { 0x06d4, 0x06d4 },
- { 0x06d5, 0x06d5 },
- { 0x06d6, 0x06dc },
- { 0x06dd, 0x06de },
- { 0x06df, 0x06e4 },
- { 0x06e5, 0x06e6 },
- { 0x06e7, 0x06e8 },
- { 0x06e9, 0x06e9 },
- { 0x06ea, 0x06ed },
- { 0x06ee, 0x06ef },
- { 0x06f0, 0x06f9 },
- { 0x06fa, 0x0900 },
- { 0x0901, 0x0902 },
- { 0x0903, 0x0903 },
- { 0x0904, 0x0904 },
- { 0x0905, 0x0939 },
- { 0x093a, 0x093b },
- { 0x093c, 0x093c },
- { 0x093d, 0x093d },
- { 0x093e, 0x0940 },
- { 0x0941, 0x0948 },
- { 0x0949, 0x094c },
- { 0x094d, 0x094d },
- { 0x094e, 0x094f },
- { 0x0950, 0x0950 },
- { 0x0951, 0x0954 },
- { 0x0955, 0x0957 },
- { 0x0958, 0x0961 },
- { 0x0962, 0x0963 },
- { 0x0964, 0x0965 },
- { 0x0966, 0x096f },
- { 0x0970, 0x0970 },
- { 0x0971, 0x0980 },
- { 0x0981, 0x0981 },
- { 0x0982, 0x0983 },
- { 0x0984, 0x0984 },
- { 0x0985, 0x098c },
- { 0x098d, 0x098e },
- { 0x098f, 0x0990 },
- { 0x0991, 0x0992 },
- { 0x0993, 0x09a8 },
- { 0x09a9, 0x09a9 },
- { 0x09aa, 0x09b0 },
- { 0x09b1, 0x09b1 },
- { 0x09b2, 0x09b2 },
- { 0x09b3, 0x09b5 },
- { 0x09b6, 0x09b9 },
- { 0x09ba, 0x09bb },
- { 0x09bc, 0x09bc },
- { 0x09bd, 0x09bd },
- { 0x09be, 0x09c0 },
- { 0x09c1, 0x09c4 },
- { 0x09c5, 0x09c6 },
- { 0x09c7, 0x09c8 },
- { 0x09c9, 0x09ca },
- { 0x09cb, 0x09cc },
- { 0x09cd, 0x09cd },
- { 0x09ce, 0x09d6 },
- { 0x09d7, 0x09d7 },
- { 0x09d8, 0x09db },
- { 0x09dc, 0x09dd },
- { 0x09de, 0x09de },
- { 0x09df, 0x09e1 },
- { 0x09e2, 0x09e3 },
- { 0x09e4, 0x09e5 },
- { 0x09e6, 0x09ef },
- { 0x09f0, 0x09f1 },
- { 0x09f2, 0x09f3 },
- { 0x09f4, 0x09f9 },
- { 0x09fa, 0x09fa },
- { 0x09fb, 0x0a01 },
- { 0x0a02, 0x0a02 },
- { 0x0a03, 0x0a04 },
- { 0x0a05, 0x0a0a },
- { 0x0a0b, 0x0a0e },
- { 0x0a0f, 0x0a10 },
- { 0x0a11, 0x0a12 },
- { 0x0a13, 0x0a28 },
- { 0x0a29, 0x0a29 },
- { 0x0a2a, 0x0a30 },
- { 0x0a31, 0x0a31 },
- { 0x0a32, 0x0a33 },
- { 0x0a34, 0x0a34 },
- { 0x0a35, 0x0a36 },
- { 0x0a37, 0x0a37 },
- { 0x0a38, 0x0a39 },
- { 0x0a3a, 0x0a3b },
- { 0x0a3c, 0x0a3c },
- { 0x0a3d, 0x0a3d },
- { 0x0a3e, 0x0a40 },
- { 0x0a41, 0x0a42 },
- { 0x0a43, 0x0a46 },
- { 0x0a47, 0x0a48 },
- { 0x0a49, 0x0a4a },
- { 0x0a4b, 0x0a4d },
- { 0x0a4e, 0x0a58 },
- { 0x0a59, 0x0a5c },
- { 0x0a5d, 0x0a5d },
- { 0x0a5e, 0x0a5e },
- { 0x0a5f, 0x0a65 },
- { 0x0a66, 0x0a6f },
- { 0x0a70, 0x0a71 },
- { 0x0a72, 0x0a74 },
- { 0x0a75, 0x0a80 },
- { 0x0a81, 0x0a82 },
- { 0x0a83, 0x0a83 },
- { 0x0a84, 0x0a84 },
- { 0x0a85, 0x0a8b },
- { 0x0a8c, 0x0a8c },
- { 0x0a8d, 0x0a8d },
- { 0x0a8e, 0x0a8e },
- { 0x0a8f, 0x0a91 },
- { 0x0a92, 0x0a92 },
- { 0x0a93, 0x0aa8 },
- { 0x0aa9, 0x0aa9 },
- { 0x0aaa, 0x0ab0 },
- { 0x0ab1, 0x0ab1 },
- { 0x0ab2, 0x0ab3 },
- { 0x0ab4, 0x0ab4 },
- { 0x0ab5, 0x0ab9 },
- { 0x0aba, 0x0abb },
- { 0x0abc, 0x0abc },
- { 0x0abd, 0x0abd },
- { 0x0abe, 0x0ac0 },
- { 0x0ac1, 0x0ac5 },
- { 0x0ac6, 0x0ac6 },
- { 0x0ac7, 0x0ac8 },
- { 0x0ac9, 0x0ac9 },
- { 0x0aca, 0x0aca },
- { 0x0acb, 0x0acc },
- { 0x0acd, 0x0acd },
- { 0x0ace, 0x0acf },
- { 0x0ad0, 0x0ad0 },
- { 0x0ad1, 0x0adf },
- { 0x0ae0, 0x0ae0 },
- { 0x0ae1, 0x0ae5 },
- { 0x0ae6, 0x0aef },
- { 0x0af0, 0x0b00 },
- { 0x0b01, 0x0b01 },
- { 0x0b02, 0x0b03 },
- { 0x0b04, 0x0b04 },
- { 0x0b05, 0x0b0c },
- { 0x0b0d, 0x0b0e },
- { 0x0b0f, 0x0b10 },
- { 0x0b11, 0x0b12 },
- { 0x0b13, 0x0b28 },
- { 0x0b29, 0x0b29 },
- { 0x0b2a, 0x0b30 },
- { 0x0b31, 0x0b31 },
- { 0x0b32, 0x0b33 },
- { 0x0b34, 0x0b35 },
- { 0x0b36, 0x0b39 },
- { 0x0b3a, 0x0b3b },
- { 0x0b3c, 0x0b3c },
- { 0x0b3d, 0x0b3d },
- { 0x0b3e, 0x0b3e },
- { 0x0b3f, 0x0b3f },
- { 0x0b40, 0x0b40 },
- { 0x0b41, 0x0b43 },
- { 0x0b44, 0x0b46 },
- { 0x0b47, 0x0b48 },
- { 0x0b49, 0x0b4a },
- { 0x0b4b, 0x0b4c },
- { 0x0b4d, 0x0b4d },
- { 0x0b4e, 0x0b55 },
- { 0x0b56, 0x0b56 },
- { 0x0b57, 0x0b57 },
- { 0x0b58, 0x0b5b },
- { 0x0b5c, 0x0b5d },
- { 0x0b5e, 0x0b5e },
- { 0x0b5f, 0x0b61 },
- { 0x0b62, 0x0b65 },
- { 0x0b66, 0x0b6f },
- { 0x0b70, 0x0b70 },
- { 0x0b71, 0x0b81 },
- { 0x0b82, 0x0b82 },
- { 0x0b83, 0x0b83 },
- { 0x0b84, 0x0b84 },
- { 0x0b85, 0x0b8a },
- { 0x0b8b, 0x0b8d },
- { 0x0b8e, 0x0b90 },
- { 0x0b91, 0x0b91 },
- { 0x0b92, 0x0b95 },
- { 0x0b96, 0x0b98 },
- { 0x0b99, 0x0b9a },
- { 0x0b9b, 0x0b9b },
- { 0x0b9c, 0x0b9c },
- { 0x0b9d, 0x0b9d },
- { 0x0b9e, 0x0b9f },
- { 0x0ba0, 0x0ba2 },
- { 0x0ba3, 0x0ba4 },
- { 0x0ba5, 0x0ba7 },
- { 0x0ba8, 0x0baa },
- { 0x0bab, 0x0bad },
- { 0x0bae, 0x0bb5 },
- { 0x0bb6, 0x0bb6 },
- { 0x0bb7, 0x0bb9 },
- { 0x0bba, 0x0bbd },
- { 0x0bbe, 0x0bbf },
- { 0x0bc0, 0x0bc0 },
- { 0x0bc1, 0x0bc2 },
- { 0x0bc3, 0x0bc5 },
- { 0x0bc6, 0x0bc8 },
- { 0x0bc9, 0x0bc9 },
- { 0x0bca, 0x0bcc },
- { 0x0bcd, 0x0bcd },
- { 0x0bce, 0x0bd6 },
- { 0x0bd7, 0x0bd7 },
- { 0x0bd8, 0x0be6 },
- { 0x0be7, 0x0bef },
- { 0x0bf0, 0x0bf2 },
- { 0x0bf3, 0x0c00 },
- { 0x0c01, 0x0c03 },
- { 0x0c04, 0x0c04 },
- { 0x0c05, 0x0c0c },
- { 0x0c0d, 0x0c0d },
- { 0x0c0e, 0x0c10 },
- { 0x0c11, 0x0c11 },
- { 0x0c12, 0x0c28 },
- { 0x0c29, 0x0c29 },
- { 0x0c2a, 0x0c33 },
- { 0x0c34, 0x0c34 },
- { 0x0c35, 0x0c39 },
- { 0x0c3a, 0x0c3d },
- { 0x0c3e, 0x0c40 },
- { 0x0c41, 0x0c44 },
- { 0x0c45, 0x0c45 },
- { 0x0c46, 0x0c48 },
- { 0x0c49, 0x0c49 },
- { 0x0c4a, 0x0c4d },
- { 0x0c4e, 0x0c54 },
- { 0x0c55, 0x0c56 },
- { 0x0c57, 0x0c5f },
- { 0x0c60, 0x0c61 },
- { 0x0c62, 0x0c65 },
- { 0x0c66, 0x0c6f },
- { 0x0c70, 0x0c81 },
- { 0x0c82, 0x0c83 },
- { 0x0c84, 0x0c84 },
- { 0x0c85, 0x0c8c },
- { 0x0c8d, 0x0c8d },
- { 0x0c8e, 0x0c90 },
- { 0x0c91, 0x0c91 },
- { 0x0c92, 0x0ca8 },
- { 0x0ca9, 0x0ca9 },
- { 0x0caa, 0x0cb3 },
- { 0x0cb4, 0x0cb4 },
- { 0x0cb5, 0x0cb9 },
- { 0x0cba, 0x0cbd },
- { 0x0cbe, 0x0cbe },
- { 0x0cbf, 0x0cbf },
- { 0x0cc0, 0x0cc4 },
- { 0x0cc5, 0x0cc5 },
- { 0x0cc6, 0x0cc6 },
- { 0x0cc7, 0x0cc8 },
- { 0x0cc9, 0x0cc9 },
- { 0x0cca, 0x0ccb },
- { 0x0ccc, 0x0ccd },
- { 0x0cce, 0x0cd4 },
- { 0x0cd5, 0x0cd6 },
- { 0x0cd7, 0x0cdd },
- { 0x0cde, 0x0cde },
- { 0x0cdf, 0x0cdf },
- { 0x0ce0, 0x0ce1 },
- { 0x0ce2, 0x0ce5 },
- { 0x0ce6, 0x0cef },
- { 0x0cf0, 0x0d01 },
- { 0x0d02, 0x0d03 },
- { 0x0d04, 0x0d04 },
- { 0x0d05, 0x0d0c },
- { 0x0d0d, 0x0d0d },
- { 0x0d0e, 0x0d10 },
- { 0x0d11, 0x0d11 },
- { 0x0d12, 0x0d28 },
- { 0x0d29, 0x0d29 },
- { 0x0d2a, 0x0d39 },
- { 0x0d3a, 0x0d3d },
- { 0x0d3e, 0x0d40 },
- { 0x0d41, 0x0d43 },
- { 0x0d44, 0x0d45 },
- { 0x0d46, 0x0d48 },
- { 0x0d49, 0x0d49 },
- { 0x0d4a, 0x0d4c },
- { 0x0d4d, 0x0d4d },
- { 0x0d4e, 0x0d56 },
- { 0x0d57, 0x0d57 },
- { 0x0d58, 0x0d5f },
- { 0x0d60, 0x0d61 },
- { 0x0d62, 0x0d65 },
- { 0x0d66, 0x0d6f },
- { 0x0d70, 0x0e00 },
- { 0x0e01, 0x0e30 },
- { 0x0e31, 0x0e31 },
- { 0x0e32, 0x0e33 },
- { 0x0e34, 0x0e3a },
- { 0x0e3b, 0x0e3e },
- { 0x0e3f, 0x0e3f },
- { 0x0e40, 0x0e45 },
- { 0x0e46, 0x0e46 },
- { 0x0e47, 0x0e4e },
- { 0x0e4f, 0x0e4f },
- { 0x0e50, 0x0e59 },
- { 0x0e5a, 0x0e5b },
- { 0x0e5c, 0x0e80 },
- { 0x0e81, 0x0e82 },
- { 0x0e83, 0x0e83 },
- { 0x0e84, 0x0e84 },
- { 0x0e85, 0x0e86 },
- { 0x0e87, 0x0e88 },
- { 0x0e89, 0x0e89 },
- { 0x0e8a, 0x0e8a },
- { 0x0e8b, 0x0e8c },
- { 0x0e8d, 0x0e8d },
- { 0x0e8e, 0x0e93 },
- { 0x0e94, 0x0e97 },
- { 0x0e98, 0x0e98 },
- { 0x0e99, 0x0e9f },
- { 0x0ea0, 0x0ea0 },
- { 0x0ea1, 0x0ea3 },
- { 0x0ea4, 0x0ea4 },
- { 0x0ea5, 0x0ea5 },
- { 0x0ea6, 0x0ea6 },
- { 0x0ea7, 0x0ea7 },
- { 0x0ea8, 0x0ea9 },
- { 0x0eaa, 0x0eab },
- { 0x0eac, 0x0eac },
- { 0x0ead, 0x0eb0 },
- { 0x0eb1, 0x0eb1 },
- { 0x0eb2, 0x0eb3 },
- { 0x0eb4, 0x0eb9 },
- { 0x0eba, 0x0eba },
- { 0x0ebb, 0x0ebc },
- { 0x0ebd, 0x0ebd },
- { 0x0ebe, 0x0ebf },
- { 0x0ec0, 0x0ec4 },
- { 0x0ec5, 0x0ec5 },
- { 0x0ec6, 0x0ec6 },
- { 0x0ec7, 0x0ec7 },
- { 0x0ec8, 0x0ecd },
- { 0x0ece, 0x0ecf },
- { 0x0ed0, 0x0ed9 },
- { 0x0eda, 0x0edb },
- { 0x0edc, 0x0edd },
- { 0x0ede, 0x0eff },
- { 0x0f00, 0x0f00 },
- { 0x0f01, 0x0f03 },
- { 0x0f04, 0x0f12 },
- { 0x0f13, 0x0f17 },
- { 0x0f18, 0x0f19 },
- { 0x0f1a, 0x0f1f },
- { 0x0f20, 0x0f29 },
- { 0x0f2a, 0x0f33 },
- { 0x0f34, 0x0f34 },
- { 0x0f35, 0x0f35 },
- { 0x0f36, 0x0f36 },
- { 0x0f37, 0x0f37 },
- { 0x0f38, 0x0f38 },
- { 0x0f39, 0x0f39 },
- { 0x0f3a, 0x0f3a },
- { 0x0f3b, 0x0f3b },
- { 0x0f3c, 0x0f3c },
- { 0x0f3d, 0x0f3d },
- { 0x0f3e, 0x0f3f },
- { 0x0f40, 0x0f47 },
- { 0x0f48, 0x0f48 },
- { 0x0f49, 0x0f69 },
- { 0x0f6a, 0x0f70 },
- { 0x0f71, 0x0f7e },
- { 0x0f7f, 0x0f7f },
- { 0x0f80, 0x0f84 },
- { 0x0f85, 0x0f85 },
- { 0x0f86, 0x0f87 },
- { 0x0f88, 0x0f8b },
- { 0x0f8c, 0x0f8f },
- { 0x0f90, 0x0f95 },
- { 0x0f96, 0x0f96 },
- { 0x0f97, 0x0f97 },
- { 0x0f98, 0x0f98 },
- { 0x0f99, 0x0fad },
- { 0x0fae, 0x0fb0 },
- { 0x0fb1, 0x0fb7 },
- { 0x0fb8, 0x0fb8 },
- { 0x0fb9, 0x0fb9 },
- { 0x0fba, 0x109f },
- { 0x10a0, 0x10c5 },
- { 0x10c6, 0x10cf },
- { 0x10d0, 0x10f6 },
- { 0x10f7, 0x10fa },
- { 0x10fb, 0x10fb },
- { 0x10fc, 0x10ff },
- { 0x1100, 0x1159 },
- { 0x115a, 0x115e },
- { 0x115f, 0x11a2 },
- { 0x11a3, 0x11a7 },
- { 0x11a8, 0x11f9 },
- { 0x11fa, 0x1dff },
- { 0x1e00, 0x1e00 },
- { 0x1e01, 0x1e01 },
- { 0x1e02, 0x1e02 },
- { 0x1e03, 0x1e03 },
- { 0x1e04, 0x1e04 },
- { 0x1e05, 0x1e05 },
- { 0x1e06, 0x1e06 },
- { 0x1e07, 0x1e07 },
- { 0x1e08, 0x1e08 },
- { 0x1e09, 0x1e09 },
- { 0x1e0a, 0x1e0a },
- { 0x1e0b, 0x1e0b },
- { 0x1e0c, 0x1e0c },
- { 0x1e0d, 0x1e0d },
- { 0x1e0e, 0x1e0e },
- { 0x1e0f, 0x1e0f },
- { 0x1e10, 0x1e10 },
- { 0x1e11, 0x1e11 },
- { 0x1e12, 0x1e12 },
- { 0x1e13, 0x1e13 },
- { 0x1e14, 0x1e14 },
- { 0x1e15, 0x1e15 },
- { 0x1e16, 0x1e16 },
- { 0x1e17, 0x1e17 },
- { 0x1e18, 0x1e18 },
- { 0x1e19, 0x1e19 },
- { 0x1e1a, 0x1e1a },
- { 0x1e1b, 0x1e1b },
- { 0x1e1c, 0x1e1c },
- { 0x1e1d, 0x1e1d },
- { 0x1e1e, 0x1e1e },
- { 0x1e1f, 0x1e1f },
- { 0x1e20, 0x1e20 },
- { 0x1e21, 0x1e21 },
- { 0x1e22, 0x1e22 },
- { 0x1e23, 0x1e23 },
- { 0x1e24, 0x1e24 },
- { 0x1e25, 0x1e25 },
- { 0x1e26, 0x1e26 },
- { 0x1e27, 0x1e27 },
- { 0x1e28, 0x1e28 },
- { 0x1e29, 0x1e29 },
- { 0x1e2a, 0x1e2a },
- { 0x1e2b, 0x1e2b },
- { 0x1e2c, 0x1e2c },
- { 0x1e2d, 0x1e2d },
- { 0x1e2e, 0x1e2e },
- { 0x1e2f, 0x1e2f },
- { 0x1e30, 0x1e30 },
- { 0x1e31, 0x1e31 },
- { 0x1e32, 0x1e32 },
- { 0x1e33, 0x1e33 },
- { 0x1e34, 0x1e34 },
- { 0x1e35, 0x1e35 },
- { 0x1e36, 0x1e36 },
- { 0x1e37, 0x1e37 },
- { 0x1e38, 0x1e38 },
- { 0x1e39, 0x1e39 },
- { 0x1e3a, 0x1e3a },
- { 0x1e3b, 0x1e3b },
- { 0x1e3c, 0x1e3c },
- { 0x1e3d, 0x1e3d },
- { 0x1e3e, 0x1e3e },
- { 0x1e3f, 0x1e3f },
- { 0x1e40, 0x1e40 },
- { 0x1e41, 0x1e41 },
- { 0x1e42, 0x1e42 },
- { 0x1e43, 0x1e43 },
- { 0x1e44, 0x1e44 },
- { 0x1e45, 0x1e45 },
- { 0x1e46, 0x1e46 },
- { 0x1e47, 0x1e47 },
- { 0x1e48, 0x1e48 },
- { 0x1e49, 0x1e49 },
- { 0x1e4a, 0x1e4a },
- { 0x1e4b, 0x1e4b },
- { 0x1e4c, 0x1e4c },
- { 0x1e4d, 0x1e4d },
- { 0x1e4e, 0x1e4e },
- { 0x1e4f, 0x1e4f },
- { 0x1e50, 0x1e50 },
- { 0x1e51, 0x1e51 },
- { 0x1e52, 0x1e52 },
- { 0x1e53, 0x1e53 },
- { 0x1e54, 0x1e54 },
- { 0x1e55, 0x1e55 },
- { 0x1e56, 0x1e56 },
- { 0x1e57, 0x1e57 },
- { 0x1e58, 0x1e58 },
- { 0x1e59, 0x1e59 },
- { 0x1e5a, 0x1e5a },
- { 0x1e5b, 0x1e5b },
- { 0x1e5c, 0x1e5c },
- { 0x1e5d, 0x1e5d },
- { 0x1e5e, 0x1e5e },
- { 0x1e5f, 0x1e5f },
- { 0x1e60, 0x1e60 },
- { 0x1e61, 0x1e61 },
- { 0x1e62, 0x1e62 },
- { 0x1e63, 0x1e63 },
- { 0x1e64, 0x1e64 },
- { 0x1e65, 0x1e65 },
- { 0x1e66, 0x1e66 },
- { 0x1e67, 0x1e67 },
- { 0x1e68, 0x1e68 },
- { 0x1e69, 0x1e69 },
- { 0x1e6a, 0x1e6a },
- { 0x1e6b, 0x1e6b },
- { 0x1e6c, 0x1e6c },
- { 0x1e6d, 0x1e6d },
- { 0x1e6e, 0x1e6e },
- { 0x1e6f, 0x1e6f },
- { 0x1e70, 0x1e70 },
- { 0x1e71, 0x1e71 },
- { 0x1e72, 0x1e72 },
- { 0x1e73, 0x1e73 },
- { 0x1e74, 0x1e74 },
- { 0x1e75, 0x1e75 },
- { 0x1e76, 0x1e76 },
- { 0x1e77, 0x1e77 },
- { 0x1e78, 0x1e78 },
- { 0x1e79, 0x1e79 },
- { 0x1e7a, 0x1e7a },
- { 0x1e7b, 0x1e7b },
- { 0x1e7c, 0x1e7c },
- { 0x1e7d, 0x1e7d },
- { 0x1e7e, 0x1e7e },
- { 0x1e7f, 0x1e7f },
- { 0x1e80, 0x1e80 },
- { 0x1e81, 0x1e81 },
- { 0x1e82, 0x1e82 },
- { 0x1e83, 0x1e83 },
- { 0x1e84, 0x1e84 },
- { 0x1e85, 0x1e85 },
- { 0x1e86, 0x1e86 },
- { 0x1e87, 0x1e87 },
- { 0x1e88, 0x1e88 },
- { 0x1e89, 0x1e89 },
- { 0x1e8a, 0x1e8a },
- { 0x1e8b, 0x1e8b },
- { 0x1e8c, 0x1e8c },
- { 0x1e8d, 0x1e8d },
- { 0x1e8e, 0x1e8e },
- { 0x1e8f, 0x1e8f },
- { 0x1e90, 0x1e90 },
- { 0x1e91, 0x1e91 },
- { 0x1e92, 0x1e92 },
- { 0x1e93, 0x1e93 },
- { 0x1e94, 0x1e94 },
- { 0x1e95, 0x1e9b },
- { 0x1e9c, 0x1e9f },
- { 0x1ea0, 0x1ea0 },
- { 0x1ea1, 0x1ea1 },
- { 0x1ea2, 0x1ea2 },
- { 0x1ea3, 0x1ea3 },
- { 0x1ea4, 0x1ea4 },
- { 0x1ea5, 0x1ea5 },
- { 0x1ea6, 0x1ea6 },
- { 0x1ea7, 0x1ea7 },
- { 0x1ea8, 0x1ea8 },
- { 0x1ea9, 0x1ea9 },
- { 0x1eaa, 0x1eaa },
- { 0x1eab, 0x1eab },
- { 0x1eac, 0x1eac },
- { 0x1ead, 0x1ead },
- { 0x1eae, 0x1eae },
- { 0x1eaf, 0x1eaf },
- { 0x1eb0, 0x1eb0 },
- { 0x1eb1, 0x1eb1 },
- { 0x1eb2, 0x1eb2 },
- { 0x1eb3, 0x1eb3 },
- { 0x1eb4, 0x1eb4 },
- { 0x1eb5, 0x1eb5 },
- { 0x1eb6, 0x1eb6 },
- { 0x1eb7, 0x1eb7 },
- { 0x1eb8, 0x1eb8 },
- { 0x1eb9, 0x1eb9 },
- { 0x1eba, 0x1eba },
- { 0x1ebb, 0x1ebb },
- { 0x1ebc, 0x1ebc },
- { 0x1ebd, 0x1ebd },
- { 0x1ebe, 0x1ebe },
- { 0x1ebf, 0x1ebf },
- { 0x1ec0, 0x1ec0 },
- { 0x1ec1, 0x1ec1 },
- { 0x1ec2, 0x1ec2 },
- { 0x1ec3, 0x1ec3 },
- { 0x1ec4, 0x1ec4 },
- { 0x1ec5, 0x1ec5 },
- { 0x1ec6, 0x1ec6 },
- { 0x1ec7, 0x1ec7 },
- { 0x1ec8, 0x1ec8 },
- { 0x1ec9, 0x1ec9 },
- { 0x1eca, 0x1eca },
- { 0x1ecb, 0x1ecb },
- { 0x1ecc, 0x1ecc },
- { 0x1ecd, 0x1ecd },
- { 0x1ece, 0x1ece },
- { 0x1ecf, 0x1ecf },
- { 0x1ed0, 0x1ed0 },
- { 0x1ed1, 0x1ed1 },
- { 0x1ed2, 0x1ed2 },
- { 0x1ed3, 0x1ed3 },
- { 0x1ed4, 0x1ed4 },
- { 0x1ed5, 0x1ed5 },
- { 0x1ed6, 0x1ed6 },
- { 0x1ed7, 0x1ed7 },
- { 0x1ed8, 0x1ed8 },
- { 0x1ed9, 0x1ed9 },
- { 0x1eda, 0x1eda },
- { 0x1edb, 0x1edb },
- { 0x1edc, 0x1edc },
- { 0x1edd, 0x1edd },
- { 0x1ede, 0x1ede },
- { 0x1edf, 0x1edf },
- { 0x1ee0, 0x1ee0 },
- { 0x1ee1, 0x1ee1 },
- { 0x1ee2, 0x1ee2 },
- { 0x1ee3, 0x1ee3 },
- { 0x1ee4, 0x1ee4 },
- { 0x1ee5, 0x1ee5 },
- { 0x1ee6, 0x1ee6 },
- { 0x1ee7, 0x1ee7 },
- { 0x1ee8, 0x1ee8 },
- { 0x1ee9, 0x1ee9 },
- { 0x1eea, 0x1eea },
- { 0x1eeb, 0x1eeb },
- { 0x1eec, 0x1eec },
- { 0x1eed, 0x1eed },
- { 0x1eee, 0x1eee },
- { 0x1eef, 0x1eef },
- { 0x1ef0, 0x1ef0 },
- { 0x1ef1, 0x1ef1 },
- { 0x1ef2, 0x1ef2 },
- { 0x1ef3, 0x1ef3 },
- { 0x1ef4, 0x1ef4 },
- { 0x1ef5, 0x1ef5 },
- { 0x1ef6, 0x1ef6 },
- { 0x1ef7, 0x1ef7 },
- { 0x1ef8, 0x1ef8 },
- { 0x1ef9, 0x1ef9 },
- { 0x1efa, 0x1eff },
- { 0x1f00, 0x1f07 },
- { 0x1f08, 0x1f0f },
- { 0x1f10, 0x1f15 },
- { 0x1f16, 0x1f17 },
- { 0x1f18, 0x1f1d },
- { 0x1f1e, 0x1f1f },
- { 0x1f20, 0x1f27 },
- { 0x1f28, 0x1f2f },
- { 0x1f30, 0x1f37 },
- { 0x1f38, 0x1f3f },
- { 0x1f40, 0x1f45 },
- { 0x1f46, 0x1f47 },
- { 0x1f48, 0x1f4d },
- { 0x1f4e, 0x1f4f },
- { 0x1f50, 0x1f57 },
- { 0x1f58, 0x1f58 },
- { 0x1f59, 0x1f59 },
- { 0x1f5a, 0x1f5a },
- { 0x1f5b, 0x1f5b },
- { 0x1f5c, 0x1f5c },
- { 0x1f5d, 0x1f5d },
- { 0x1f5e, 0x1f5e },
- { 0x1f5f, 0x1f5f },
- { 0x1f60, 0x1f67 },
- { 0x1f68, 0x1f6f },
- { 0x1f70, 0x1f7d },
- { 0x1f7e, 0x1f7f },
- { 0x1f80, 0x1f87 },
- { 0x1f88, 0x1f8f },
- { 0x1f90, 0x1f97 },
- { 0x1f98, 0x1f9f },
- { 0x1fa0, 0x1fa7 },
- { 0x1fa8, 0x1faf },
- { 0x1fb0, 0x1fb4 },
- { 0x1fb5, 0x1fb5 },
- { 0x1fb6, 0x1fb7 },
- { 0x1fb8, 0x1fbc },
- { 0x1fbd, 0x1fbd },
- { 0x1fbe, 0x1fbe },
- { 0x1fbf, 0x1fc1 },
- { 0x1fc2, 0x1fc4 },
- { 0x1fc5, 0x1fc5 },
- { 0x1fc6, 0x1fc7 },
- { 0x1fc8, 0x1fcc },
- { 0x1fcd, 0x1fcf },
- { 0x1fd0, 0x1fd3 },
- { 0x1fd4, 0x1fd5 },
- { 0x1fd6, 0x1fd7 },
- { 0x1fd8, 0x1fdb },
- { 0x1fdc, 0x1fdc },
- { 0x1fdd, 0x1fdf },
- { 0x1fe0, 0x1fe7 },
- { 0x1fe8, 0x1fec },
- { 0x1fed, 0x1fef },
- { 0x1ff0, 0x1ff1 },
- { 0x1ff2, 0x1ff4 },
- { 0x1ff5, 0x1ff5 },
- { 0x1ff6, 0x1ff7 },
- { 0x1ff8, 0x1ffc },
- { 0x1ffd, 0x1ffe },
- { 0x1fff, 0x1fff },
- { 0x2000, 0x200b },
- { 0x200c, 0x200f },
- { 0x2010, 0x2015 },
- { 0x2016, 0x2017 },
- { 0x2018, 0x2018 },
- { 0x2019, 0x2019 },
- { 0x201a, 0x201a },
- { 0x201b, 0x201c },
- { 0x201d, 0x201d },
- { 0x201e, 0x201e },
- { 0x201f, 0x201f },
- { 0x2020, 0x2027 },
- { 0x2028, 0x2028 },
- { 0x2029, 0x2029 },
- { 0x202a, 0x202e },
- { 0x202f, 0x202f },
- { 0x2030, 0x2038 },
- { 0x2039, 0x2039 },
- { 0x203a, 0x203a },
- { 0x203b, 0x203e },
- { 0x203f, 0x2040 },
- { 0x2041, 0x2043 },
- { 0x2044, 0x2044 },
- { 0x2045, 0x2045 },
- { 0x2046, 0x2046 },
- { 0x2047, 0x2069 },
- { 0x206a, 0x206f },
- { 0x2070, 0x2070 },
- { 0x2071, 0x2073 },
- { 0x2074, 0x2079 },
- { 0x207a, 0x207c },
- { 0x207d, 0x207d },
- { 0x207e, 0x207e },
- { 0x207f, 0x207f },
- { 0x2080, 0x2089 },
- { 0x208a, 0x208c },
- { 0x208d, 0x208d },
- { 0x208e, 0x208e },
- { 0x208f, 0x209f },
- { 0x20a0, 0x20ac },
- { 0x20ad, 0x20cf },
- { 0x20d0, 0x20dc },
- { 0x20dd, 0x20e0 },
- { 0x20e1, 0x20e1 },
- { 0x20e2, 0x20ff },
- { 0x2100, 0x2101 },
- { 0x2102, 0x2102 },
- { 0x2103, 0x2106 },
- { 0x2107, 0x2107 },
- { 0x2108, 0x2109 },
- { 0x210a, 0x210a },
- { 0x210b, 0x210d },
- { 0x210e, 0x210f },
- { 0x2110, 0x2112 },
- { 0x2113, 0x2113 },
- { 0x2114, 0x2114 },
- { 0x2115, 0x2115 },
- { 0x2116, 0x2117 },
- { 0x2118, 0x2118 },
- { 0x2119, 0x211d },
- { 0x211e, 0x2123 },
- { 0x2124, 0x2124 },
- { 0x2125, 0x2125 },
- { 0x2126, 0x2126 },
- { 0x2127, 0x2127 },
- { 0x2128, 0x2128 },
- { 0x2129, 0x2129 },
- { 0x212a, 0x212d },
- { 0x212e, 0x212f },
- { 0x2130, 0x2131 },
- { 0x2132, 0x2132 },
- { 0x2133, 0x2133 },
- { 0x2134, 0x2134 },
- { 0x2135, 0x2138 },
- { 0x2139, 0x2152 },
- { 0x2153, 0x215f },
- { 0x2160, 0x2182 },
- { 0x2183, 0x218f },
- { 0x2190, 0x2194 },
- { 0x2195, 0x21d1 },
- { 0x21d2, 0x21d2 },
- { 0x21d3, 0x21d3 },
- { 0x21d4, 0x21d4 },
- { 0x21d5, 0x21ea },
- { 0x21eb, 0x21ff },
- { 0x2200, 0x22f1 },
- { 0x22f2, 0x22ff },
- { 0x2300, 0x2300 },
- { 0x2301, 0x2301 },
- { 0x2302, 0x2307 },
- { 0x2308, 0x230b },
- { 0x230c, 0x231f },
- { 0x2320, 0x2321 },
- { 0x2322, 0x2328 },
- { 0x2329, 0x2329 },
- { 0x232a, 0x232a },
- { 0x232b, 0x237a },
- { 0x237b, 0x23ff },
- { 0x2400, 0x2424 },
- { 0x2425, 0x243f },
- { 0x2440, 0x244a },
- { 0x244b, 0x245f },
- { 0x2460, 0x249b },
- { 0x249c, 0x24e9 },
- { 0x24ea, 0x24ea },
- { 0x24eb, 0x24ff },
- { 0x2500, 0x2595 },
- { 0x2596, 0x259f },
- { 0x25a0, 0x25ef },
- { 0x25f0, 0x25ff },
- { 0x2600, 0x2613 },
- { 0x2614, 0x2619 },
- { 0x261a, 0x266f },
- { 0x2670, 0x2700 },
- { 0x2701, 0x2704 },
- { 0x2705, 0x2705 },
- { 0x2706, 0x2709 },
- { 0x270a, 0x270b },
- { 0x270c, 0x2727 },
- { 0x2728, 0x2728 },
- { 0x2729, 0x274b },
- { 0x274c, 0x274c },
- { 0x274d, 0x274d },
- { 0x274e, 0x274e },
- { 0x274f, 0x2752 },
- { 0x2753, 0x2755 },
- { 0x2756, 0x2756 },
- { 0x2757, 0x2757 },
- { 0x2758, 0x275e },
- { 0x275f, 0x2760 },
- { 0x2761, 0x2767 },
- { 0x2768, 0x2775 },
- { 0x2776, 0x2793 },
- { 0x2794, 0x2794 },
- { 0x2795, 0x2797 },
- { 0x2798, 0x27af },
- { 0x27b0, 0x27b0 },
- { 0x27b1, 0x27be },
- { 0x27bf, 0x2fff },
- { 0x3000, 0x3000 },
- { 0x3001, 0x3003 },
- { 0x3004, 0x3004 },
- { 0x3005, 0x3005 },
- { 0x3006, 0x3006 },
- { 0x3007, 0x3007 },
- { 0x3008, 0x3008 },
- { 0x3009, 0x3009 },
- { 0x300a, 0x300a },
- { 0x300b, 0x300b },
- { 0x300c, 0x300c },
- { 0x300d, 0x300d },
- { 0x300e, 0x300e },
- { 0x300f, 0x300f },
- { 0x3010, 0x3010 },
- { 0x3011, 0x3011 },
- { 0x3012, 0x3013 },
- { 0x3014, 0x3014 },
- { 0x3015, 0x3015 },
- { 0x3016, 0x3016 },
- { 0x3017, 0x3017 },
- { 0x3018, 0x3018 },
- { 0x3019, 0x3019 },
- { 0x301a, 0x301a },
- { 0x301b, 0x301b },
- { 0x301c, 0x301c },
- { 0x301d, 0x301d },
- { 0x301e, 0x301f },
- { 0x3020, 0x3020 },
- { 0x3021, 0x3029 },
- { 0x302a, 0x302f },
- { 0x3030, 0x3030 },
- { 0x3031, 0x3035 },
- { 0x3036, 0x3037 },
- { 0x3038, 0x303e },
- { 0x303f, 0x303f },
- { 0x3040, 0x3040 },
- { 0x3041, 0x3094 },
- { 0x3095, 0x3098 },
- { 0x3099, 0x309a },
- { 0x309b, 0x309c },
- { 0x309d, 0x309e },
- { 0x309f, 0x30a0 },
- { 0x30a1, 0x30fa },
- { 0x30fb, 0x30fb },
- { 0x30fc, 0x30fe },
- { 0x30ff, 0x3104 },
- { 0x3105, 0x312c },
- { 0x312d, 0x3130 },
- { 0x3131, 0x318e },
- { 0x318f, 0x318f },
- { 0x3190, 0x3191 },
- { 0x3192, 0x3195 },
- { 0x3196, 0x319f },
- { 0x31a0, 0x31ff },
- { 0x3200, 0x321c },
- { 0x321d, 0x321f },
- { 0x3220, 0x3229 },
- { 0x322a, 0x3243 },
- { 0x3244, 0x325f },
- { 0x3260, 0x327b },
- { 0x327c, 0x327e },
- { 0x327f, 0x327f },
- { 0x3280, 0x3289 },
- { 0x328a, 0x32b0 },
- { 0x32b1, 0x32bf },
- { 0x32c0, 0x32cb },
- { 0x32cc, 0x32cf },
- { 0x32d0, 0x32fe },
- { 0x32ff, 0x32ff },
- { 0x3300, 0x3376 },
- { 0x3377, 0x337a },
- { 0x337b, 0x33dd },
- { 0x33de, 0x33df },
- { 0x33e0, 0x33fe },
- { 0x33ff, 0x4dff },
- { 0x4e00, 0x9fa5 },
- { 0x9fa6, 0xabff },
- { 0xac00, 0xd7a3 },
- { 0xd7a4, 0xd7ff },
- { 0xd800, 0xdfff },
- { 0xe000, 0xf8ff },
- { 0xf900, 0xfa2d },
- { 0xfa2e, 0xfaff },
- { 0xfb00, 0xfb06 },
- { 0xfb07, 0xfb12 },
- { 0xfb13, 0xfb17 },
- { 0xfb18, 0xfb1d },
- { 0xfb1e, 0xfb1e },
- { 0xfb1f, 0xfb28 },
- { 0xfb29, 0xfb29 },
- { 0xfb2a, 0xfb36 },
- { 0xfb37, 0xfb37 },
- { 0xfb38, 0xfb3c },
- { 0xfb3d, 0xfb3d },
- { 0xfb3e, 0xfb3e },
- { 0xfb3f, 0xfb3f },
- { 0xfb40, 0xfb41 },
- { 0xfb42, 0xfb42 },
- { 0xfb43, 0xfb44 },
- { 0xfb45, 0xfb45 },
- { 0xfb46, 0xfbb1 },
- { 0xfbb2, 0xfbd2 },
- { 0xfbd3, 0xfd3d },
- { 0xfd3e, 0xfd3e },
- { 0xfd3f, 0xfd3f },
- { 0xfd40, 0xfd4f },
- { 0xfd50, 0xfd8f },
- { 0xfd90, 0xfd91 },
- { 0xfd92, 0xfdc7 },
- { 0xfdc8, 0xfdef },
- { 0xfdf0, 0xfdfb },
- { 0xfdfc, 0xfe1f },
- { 0xfe20, 0xfe23 },
- { 0xfe24, 0xfe2f },
- { 0xfe30, 0xfe30 },
- { 0xfe31, 0xfe32 },
- { 0xfe33, 0xfe34 },
- { 0xfe35, 0xfe35 },
- { 0xfe36, 0xfe36 },
- { 0xfe37, 0xfe37 },
- { 0xfe38, 0xfe38 },
- { 0xfe39, 0xfe39 },
- { 0xfe3a, 0xfe3a },
- { 0xfe3b, 0xfe3b },
- { 0xfe3c, 0xfe3c },
- { 0xfe3d, 0xfe3d },
- { 0xfe3e, 0xfe3e },
- { 0xfe3f, 0xfe3f },
- { 0xfe40, 0xfe40 },
- { 0xfe41, 0xfe41 },
- { 0xfe42, 0xfe42 },
- { 0xfe43, 0xfe43 },
- { 0xfe44, 0xfe44 },
- { 0xfe45, 0xfe48 },
- { 0xfe49, 0xfe4c },
- { 0xfe4d, 0xfe4f },
- { 0xfe50, 0xfe52 },
- { 0xfe53, 0xfe53 },
- { 0xfe54, 0xfe57 },
- { 0xfe58, 0xfe58 },
- { 0xfe59, 0xfe59 },
- { 0xfe5a, 0xfe5a },
- { 0xfe5b, 0xfe5b },
- { 0xfe5c, 0xfe5c },
- { 0xfe5d, 0xfe5d },
- { 0xfe5e, 0xfe5e },
- { 0xfe5f, 0xfe61 },
- { 0xfe62, 0xfe62 },
- { 0xfe63, 0xfe63 },
- { 0xfe64, 0xfe66 },
- { 0xfe67, 0xfe67 },
- { 0xfe68, 0xfe68 },
- { 0xfe69, 0xfe69 },
- { 0xfe6a, 0xfe6b },
- { 0xfe6c, 0xfe6f },
- { 0xfe70, 0xfe72 },
- { 0xfe73, 0xfe73 },
- { 0xfe74, 0xfe74 },
- { 0xfe75, 0xfe75 },
- { 0xfe76, 0xfefc },
- { 0xfefd, 0xfefe },
- { 0xfeff, 0xfeff },
- { 0xff00, 0xff00 },
- { 0xff01, 0xff03 },
- { 0xff04, 0xff04 },
- { 0xff05, 0xff07 },
- { 0xff08, 0xff08 },
- { 0xff09, 0xff09 },
- { 0xff0a, 0xff0a },
- { 0xff0b, 0xff0b },
- { 0xff0c, 0xff0c },
- { 0xff0d, 0xff0d },
- { 0xff0e, 0xff0f },
- { 0xff10, 0xff19 },
- { 0xff1a, 0xff1b },
- { 0xff1c, 0xff1e },
- { 0xff1f, 0xff20 },
- { 0xff21, 0xff3a },
- { 0xff3b, 0xff3b },
- { 0xff3c, 0xff3c },
- { 0xff3d, 0xff3d },
- { 0xff3e, 0xff3e },
- { 0xff3f, 0xff3f },
- { 0xff40, 0xff40 },
- { 0xff41, 0xff5a },
- { 0xff5b, 0xff5b },
- { 0xff5c, 0xff5c },
- { 0xff5d, 0xff5d },
- { 0xff5e, 0xff5e },
- { 0xff5f, 0xff60 },
- { 0xff61, 0xff61 },
- { 0xff62, 0xff62 },
- { 0xff63, 0xff63 },
- { 0xff64, 0xff64 },
- { 0xff65, 0xff65 },
- { 0xff66, 0xff6f },
- { 0xff70, 0xff70 },
- { 0xff71, 0xff9d },
- { 0xff9e, 0xff9f },
- { 0xffa0, 0xffbe },
- { 0xffbf, 0xffc1 },
- { 0xffc2, 0xffc7 },
- { 0xffc8, 0xffc9 },
- { 0xffca, 0xffcf },
- { 0xffd0, 0xffd1 },
- { 0xffd2, 0xffd7 },
- { 0xffd8, 0xffd9 },
- { 0xffda, 0xffdc },
- { 0xffdd, 0xffdf },
- { 0xffe0, 0xffe1 },
- { 0xffe2, 0xffe2 },
- { 0xffe3, 0xffe3 },
- { 0xffe4, 0xffe4 },
- { 0xffe5, 0xffe6 },
- { 0xffe7, 0xffe7 },
- { 0xffe8, 0xffec },
- { 0xffed, 0xffee },
- { 0xffef, 0xfffb },
- { 0xfffc, 0xfffd },
- { 0xfffe, 0xffff }
- };
-
-static const jbyte category_table[] =
- { java::lang::Character::CONTROL,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::CONTROL,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::FORMAT,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::LINE_SEPARATOR,
- java::lang::Character::PARAGRAPH_SEPARATOR,
- java::lang::Character::FORMAT,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::FORMAT,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::SURROGATE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::FORMAT,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED
- };
-
-#else /* COMPACT_CHARACTER */
-
-#define ROMAN_START 0x2160
-#define ROMAN_END 0x217f
-
-static const jbyte type_table[] =
-{ java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::CONTROL,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::TITLECASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::COMBINING_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::LINE_SEPARATOR,
- java::lang::Character::PARAGRAPH_SEPARATOR,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::FORMAT,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::ENCLOSING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::SPACE_SEPARATOR,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::LETTER_NUMBER,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_NUMBER,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::SURROGATE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::PRIVATE_USE,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::NON_SPACING_MARK,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::FORMAT,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DASH_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::DECIMAL_DIGIT_NUMBER,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::UPPERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::LOWERCASE_LETTER,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::START_PUNCTUATION,
- java::lang::Character::END_PUNCTUATION,
- java::lang::Character::OTHER_PUNCTUATION,
- java::lang::Character::CONNECTOR_PUNCTUATION,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::MODIFIER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::OTHER_LETTER,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MODIFIER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::CURRENCY_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::MATH_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::OTHER_SYMBOL,
- java::lang::Character::UNASSIGNED,
- java::lang::Character::UNASSIGNED
-
- };
-
-static const jshort attribute_table[] =
-{ 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 1, 2, 3,
- 4, 5, 6, 7, 8,
- 9, 0, 0, 0, 0,
- 0, 0, 0, 97, 98,
- 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113,
- 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 0,
- 0, 0, 0, 0, 0,
- 65, 66, 67, 68, 69,
- 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89,
- 90, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 2, 3, 0, 0,
- 0, 0, 0, 1, 0,
- 0, -2, -2, -2, 0,
- 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243,
- 244, 245, 246, 0, 248,
- 249, 250, 251, 252, 253,
- 254, 0, 192, 193, 194,
- 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209,
- 210, 211, 212, 213, 214,
- 0, 216, 217, 218, 219,
- 220, 221, 222, 376, 257,
- 256, 259, 258, 261, 260,
- 263, 262, 265, 264, 267,
- 266, 269, 268, 271, 270,
- 273, 272, 275, 274, 277,
- 276, 279, 278, 281, 280,
- 283, 282, 285, 284, 287,
- 286, 289, 288, 291, 290,
- 293, 292, 295, 294, 297,
- 296, 299, 298, 301, 300,
- 303, 302, 105, 73, 307,
- 306, 309, 308, 311, 310,
- 0, 314, 313, 316, 315,
- 318, 317, 320, 319, 322,
- 321, 324, 323, 326, 325,
- 328, 327, 0, 331, 330,
- 333, 332, 335, 334, 337,
- 336, 339, 338, 341, 340,
- 343, 342, 345, 344, 347,
- 346, 349, 348, 351, 350,
- 353, 352, 355, 354, 357,
- 356, 359, 358, 361, 360,
- 363, 362, 365, 364, 367,
- 366, 369, 368, 371, 370,
- 373, 372, 375, 374, 255,
- 378, 377, 380, 379, 382,
- 381, 83, 0, 595, 387,
- 386, 389, 388, 596, 392,
- 391, 598, 599, 396, 395,
- 0, 477, 601, 603, 402,
- 401, 608, 611, 0, 617,
- 616, 409, 408, 0, 0,
- 623, 626, 0, 629, 417,
- 416, 419, 418, 421, 420,
- 640, 424, 423, 643, 0,
- 0, 429, 428, 648, 432,
- 431, 650, 651, 436, 435,
- 438, 437, 658, 441, 440,
- 0, 0, 445, 444, 0,
- 0, 0, 0, 0, 0,
- 454, 0, 452, 457, 0,
- 455, 460, 0, 458, 462,
- 461, 464, 463, 466, 465,
- 468, 467, 470, 469, 472,
- 471, 474, 473, 476, 475,
- 398, 479, 478, 481, 480,
- 483, 482, 485, 484, 487,
- 486, 489, 488, 491, 490,
- 493, 492, 495, 494, 0,
- 499, 0, 497, 501, 500,
- 0, 0, 0, 0, 507,
- 506, 509, 508, 511, 510,
- 513, 512, 515, 514, 517,
- 516, 519, 518, 521, 520,
- 523, 522, 525, 524, 527,
- 526, 529, 528, 531, 530,
- 533, 532, 535, 534, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 385, 390,
- 0, 393, 394, 0, 399,
- 0, 400, 0, 0, 0,
- 0, 403, 0, 0, 404,
- 0, 0, 0, 0, 407,
- 406, 0, 0, 0, 0,
- 0, 412, 0, 0, 413,
- 0, 0, 415, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 422, 0,
- 0, 425, 0, 0, 0,
- 0, 430, 0, 433, 434,
- 0, 0, 0, 0, 0,
- 0, 439, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 921, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 940, 0, 941, 942, 943,
- 0, 972, 0, 973, 974,
- 0, 945, 946, 947, 948,
- 949, 950, 951, 952, 953,
- 954, 955, 956, 957, 958,
- 959, 960, 961, 0, 963,
- 964, 965, 966, 967, 968,
- 969, 970, 971, 902, 904,
- 905, 906, 0, 913, 914,
- 915, 916, 917, 918, 919,
- 920, 921, 922, 923, 924,
- 925, 926, 927, 928, 929,
- 931, 931, 932, 933, 934,
- 935, 936, 937, 938, 939,
- 908, 910, 911, 0, 914,
- 920, 0, 0, 0, 934,
- 928, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 995, 994, 997,
- 996, 999, 998, 1001, 1000,
- 1003, 1002, 1005, 1004, 1007,
- 1006, 922, 929, 931, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 1105, 1106,
- 1107, 1108, 1109, 1110, 1111,
- 1112, 1113, 1114, 1115, 1116,
- 0, 1118, 1119, 1072, 1073,
- 1074, 1075, 1076, 1077, 1078,
- 1079, 1080, 1081, 1082, 1083,
- 1084, 1085, 1086, 1087, 1088,
- 1089, 1090, 1091, 1092, 1093,
- 1094, 1095, 1096, 1097, 1098,
- 1099, 1100, 1101, 1102, 1103,
- 1040, 1041, 1042, 1043, 1044,
- 1045, 1046, 1047, 1048, 1049,
- 1050, 1051, 1052, 1053, 1054,
- 1055, 1056, 1057, 1058, 1059,
- 1060, 1061, 1062, 1063, 1064,
- 1065, 1066, 1067, 1068, 1069,
- 1070, 1071, 0, 1025, 1026,
- 1027, 1028, 1029, 1030, 1031,
- 1032, 1033, 1034, 1035, 1036,
- 0, 1038, 1039, 1121, 1120,
- 1123, 1122, 1125, 1124, 1127,
- 1126, 1129, 1128, 1131, 1130,
- 1133, 1132, 1135, 1134, 1137,
- 1136, 1139, 1138, 1141, 1140,
- 1143, 1142, 1145, 1144, 1147,
- 1146, 1149, 1148, 1151, 1150,
- 1153, 1152, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 1169, 1168, 1171, 1170,
- 1173, 1172, 1175, 1174, 1177,
- 1176, 1179, 1178, 1181, 1180,
- 1183, 1182, 1185, 1184, 1187,
- 1186, 1189, 1188, 1191, 1190,
- 1193, 1192, 1195, 1194, 1197,
- 1196, 1199, 1198, 1201, 1200,
- 1203, 1202, 1205, 1204, 1207,
- 1206, 1209, 1208, 1211, 1210,
- 1213, 1212, 1215, 1214, 0,
- 1218, 1217, 1220, 1219, 0,
- 0, 1224, 1223, 0, 0,
- 1228, 1227, 0, 0, 0,
- 1233, 1232, 1235, 1234, 1237,
- 1236, 1239, 1238, 1241, 1240,
- 1243, 1242, 1245, 1244, 1247,
- 1246, 1249, 1248, 1251, 1250,
- 1253, 1252, 1255, 1254, 1257,
- 1256, 1259, 1258, 0, 0,
- 1263, 1262, 1265, 1264, 1267,
- 1266, 1269, 1268, 0, 0,
- 1273, 1272, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 1377, 1378, 1379,
- 1380, 1381, 1382, 1383, 1384,
- 1385, 1386, 1387, 1388, 1389,
- 1390, 1391, 1392, 1393, 1394,
- 1395, 1396, 1397, 1398, 1399,
- 1400, 1401, 1402, 1403, 1404,
- 1405, 1406, 1407, 1408, 1409,
- 1410, 1411, 1412, 1413, 1414,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 1329, 1330, 1331, 1332, 1333,
- 1334, 1335, 1336, 1337, 1338,
- 1339, 1340, 1341, 1342, 1343,
- 1344, 1345, 1346, 1347, 1348,
- 1349, 1350, 1351, 1352, 1353,
- 1354, 1355, 1356, 1357, 1358,
- 1359, 1360, 1361, 1362, 1363,
- 1364, 1365, 1366, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 2,
- 3, 4, 5, 6, 7,
- 8, 9, 0, 0, 0,
- 0, 1, 2, 3, 4,
- -2, 16, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1,
- 2, 3, 4, 5, 6,
- 7, 8, 9, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 1, 2, 3,
- 4, 5, 6, 7, 8,
- 9, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10,
- 100, 1000, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 2,
- 3, 4, 5, 6, 7,
- 8, 9, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1,
- 2, 3, 4, 5, 6,
- 7, 8, 9, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 2,
- 3, 4, 5, 6, 7,
- 8, 9, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4304,
- 4305, 4306, 4307, 4308, 4309,
- 4310, 4311, 4312, 4313, 4314,
- 4315, 4316, 4317, 4318, 4319,
- 4320, 4321, 4322, 4323, 4324,
- 4325, 4326, 4327, 4328, 4329,
- 4330, 4331, 4332, 4333, 4334,
- 4335, 4336, 4337, 4338, 4339,
- 4340, 4341, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 7681, 7680,
- 7683, 7682, 7685, 7684, 7687,
- 7686, 7689, 7688, 7691, 7690,
- 7693, 7692, 7695, 7694, 7697,
- 7696, 7699, 7698, 7701, 7700,
- 7703, 7702, 7705, 7704, 7707,
- 7706, 7709, 7708, 7711, 7710,
- 7713, 7712, 7715, 7714, 7717,
- 7716, 7719, 7718, 7721, 7720,
- 7723, 7722, 7725, 7724, 7727,
- 7726, 7729, 7728, 7731, 7730,
- 7733, 7732, 7735, 7734, 7737,
- 7736, 7739, 7738, 7741, 7740,
- 7743, 7742, 7745, 7744, 7747,
- 7746, 7749, 7748, 7751, 7750,
- 7753, 7752, 7755, 7754, 7757,
- 7756, 7759, 7758, 7761, 7760,
- 7763, 7762, 7765, 7764, 7767,
- 7766, 7769, 7768, 7771, 7770,
- 7773, 7772, 7775, 7774, 7777,
- 7776, 7779, 7778, 7781, 7780,
- 7783, 7782, 7785, 7784, 7787,
- 7786, 7789, 7788, 7791, 7790,
- 7793, 7792, 7795, 7794, 7797,
- 7796, 7799, 7798, 7801, 7800,
- 7803, 7802, 7805, 7804, 7807,
- 7806, 7809, 7808, 7811, 7810,
- 7813, 7812, 7815, 7814, 7817,
- 7816, 7819, 7818, 7821, 7820,
- 7823, 7822, 7825, 7824, 7827,
- 7826, 7829, 7828, 0, 0,
- 0, 0, 0, 7776, 0,
- 0, 0, 0, 7841, 7840,
- 7843, 7842, 7845, 7844, 7847,
- 7846, 7849, 7848, 7851, 7850,
- 7853, 7852, 7855, 7854, 7857,
- 7856, 7859, 7858, 7861, 7860,
- 7863, 7862, 7865, 7864, 7867,
- 7866, 7869, 7868, 7871, 7870,
- 7873, 7872, 7875, 7874, 7877,
- 7876, 7879, 7878, 7881, 7880,
- 7883, 7882, 7885, 7884, 7887,
- 7886, 7889, 7888, 7891, 7890,
- 7893, 7892, 7895, 7894, 7897,
- 7896, 7899, 7898, 7901, 7900,
- 7903, 7902, 7905, 7904, 7907,
- 7906, 7909, 7908, 7911, 7910,
- 7913, 7912, 7915, 7914, 7917,
- 7916, 7919, 7918, 7921, 7920,
- 7923, 7922, 7925, 7924, 7927,
- 7926, 7929, 7928, 0, 0,
- 0, 0, 0, 0, 7944,
- 7945, 7946, 7947, 7948, 7949,
- 7950, 7951, 7936, 7937, 7938,
- 7939, 7940, 7941, 7942, 7943,
- 7960, 7961, 7962, 7963, 7964,
- 7965, 0, 0, 7952, 7953,
- 7954, 7955, 7956, 7957, 0,
- 0, 7976, 7977, 7978, 7979,
- 7980, 7981, 7982, 7983, 7968,
- 7969, 7970, 7971, 7972, 7973,
- 7974, 7975, 7992, 7993, 7994,
- 7995, 7996, 7997, 7998, 7999,
- 7984, 7985, 7986, 7987, 7988,
- 7989, 7990, 7991, 8008, 8009,
- 8010, 8011, 8012, 8013, 0,
- 0, 8000, 8001, 8002, 8003,
- 8004, 8005, 0, 0, 0,
- 8025, 0, 8027, 0, 8029,
- 0, 8031, 0, 8017, 0,
- 8019, 0, 8021, 0, 8023,
- 8040, 8041, 8042, 8043, 8044,
- 8045, 8046, 8047, 8032, 8033,
- 8034, 8035, 8036, 8037, 8038,
- 8039, 8122, 8123, 8136, 8137,
- 8138, 8139, 8154, 8155, 8184,
- 8185, 8170, 8171, 8186, 8187,
- 0, 0, 8072, 8073, 8074,
- 8075, 8076, 8077, 8078, 8079,
- 8064, 8065, 8066, 8067, 8068,
- 8069, 8070, 8071, 8088, 8089,
- 8090, 8091, 8092, 8093, 8094,
- 8095, 8080, 8081, 8082, 8083,
- 8084, 8085, 8086, 8087, 8104,
- 8105, 8106, 8107, 8108, 8109,
- 8110, 8111, 8096, 8097, 8098,
- 8099, 8100, 8101, 8102, 8103,
- 8120, 8121, 0, 8124, 0,
- 0, 0, 0, 8112, 8113,
- 8048, 8049, 8115, 0, 921,
- 0, 0, 0, 0, 8140,
- 0, 0, 0, 0, 8050,
- 8051, 8052, 8053, 8131, 0,
- 0, 0, 8152, 8153, 0,
- 0, 0, 0, 0, 0,
- 8144, 8145, 8054, 8055, 0,
- 0, 0, 0, 8168, 8169,
- 0, 0, 0, 8172, 0,
- 0, 8160, 8161, 8058, 8059,
- 8165, 0, 0, 0, 0,
- 0, 0, 8188, 0, 0,
- 0, 0, 8056, 8057, 8060,
- 8061, 8179, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 4, 5, 6, 7,
- 8, 9, 0, 0, 0,
- 0, 0, 0, 0, 1,
- 2, 3, 4, 5, 6,
- 7, 8, 9, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -2,
- -2, -2, -2, -2, -2,
- -2, -2, -2, -2, -2,
- -2, 1, 8560, 8561, 8562,
- 8563, 8564, 8565, 8566, 8567,
- 8568, 8569, 8570, 8571, 8572,
- 8573, 8574, 8575, 8544, 8545,
- 8546, 8547, 8548, 8549, 8550,
- 8551, 8552, 8553, 8554, 8555,
- 8556, 8557, 8558, 8559, 1000,
- 5000, 10000, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 9424, 9425, 9426, 9427,
- 9428, 9429, 9430, 9431, 9432,
- 9433, 9434, 9435, 9436, 9437,
- 9438, 9439, 9440, 9441, 9442,
- 9443, 9444, 9445, 9446, 9447,
- 9448, 9449, 9398, 9399, 9400,
- 9401, 9402, 9403, 9404, 9405,
- 9406, 9407, 9408, 9409, 9410,
- 9411, 9412, 9413, 9414, 9415,
- 9416, 9417, 9418, 9419, 9420,
- 9421, 9422, 9423, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1,
- 2, 3, 4, 5, 6,
- 7, 8, 9, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9,
- 10, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 0,
- 0, 0, 0, 0, 0,
- 0, 65345, 65346, 65347, 65348,
- 65349, 65350, 65351, 65352, 65353,
- 65354, 65355, 65356, 65357, 65358,
- 65359, 65360, 65361, 65362, 65363,
- 65364, 65365, 65366, 65367, 65368,
- 65369, 65370, 0, 0, 0,
- 0, 0, 0, 65313, 65314,
- 65315, 65316, 65317, 65318, 65319,
- 65320, 65321, 65322, 65323, 65324,
- 65325, 65326, 65327, 65328, 65329,
- 65330, 65331, 65332, 65333, 65334,
- 65335, 65336, 65337, 65338, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
- 0, 0, 0, 0
- };
-
-static const jshort secondary_attribute_table[] =
-{ 1, 2, 3,
- 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 50,
- 100, 500, 1000, 1, 2,
- 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12,
- 50, 100, 500, 1000
- };
-
-#endif /* COMPACT_CHARACTER */
-
-#endif /* __JAVA_CHARTABLES_H__ */
diff --git a/libjava/include/java-field.h b/libjava/include/java-field.h
deleted file mode 100644
index b4529fca30a..00000000000
--- a/libjava/include/java-field.h
+++ /dev/null
@@ -1,158 +0,0 @@
-// java-field.h - Header file for fieldID instances. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVA_FIELD_H__
-#define __JAVA_FIELD_H__
-
-#include <java/lang/Class.h>
-#include <java/lang/reflect/Field.h>
-
-#define _Jv_FIELD_UNRESOLVED_FLAG 0x8000
-#define _Jv_FIELD_CONSTANT_VALUE 0x4000
-
-struct _Jv_Field
-{
-#ifndef COMPACT_FIELDS
- struct _Jv_Utf8Const* name;
-#endif
-
- /* The type of the field, if isResolved().
- If !isResolved(): The fields's signature as a (Utf8Const*). */
- jclass type;
-
- _Jv_ushort flags;
-
-#ifdef COMPACT_FIELDS
- short nameIndex; /* ofsfet in class's name table */
-#else
- _Jv_ushort bsize; /* not really needed ... */
-#endif
-
- union {
- int boffset; /* offset in bytes for instance field */
- void* addr; /* address of static field */
- } u;
-
-#ifdef __cplusplus
- jboolean isResolved ()
- { return ! (flags & _Jv_FIELD_UNRESOLVED_FLAG); }
-
- public:
-
- int getOffset () { return u.boffset; }
-
- jobject getObjectField (jobject obj)
- { return *(jobject *)((char *)obj + getOffset ()); }
-
- jfieldID getNextInstanceField () { return this + 1; }
-
- jboolean isRef () { return ! isResolved () || ! type->isPrimitive (); }
-
- // FIXME - may need to mask off internal flags.
- int getModifiers() { return flags; }
-
-#ifdef COMPACT_FIELDS
- _Jv_Utf8Const * getNameUtf8Const (jclass cls)
- { return clas->fieldNames + nameIndex; }
-#else
- _Jv_Utf8Const * getNameUtf8Const (jclass) { return name; }
-#endif
-#endif
-};
-
-#ifdef __cplusplus
-inline jbyte
-_Jv_GetStaticByteField (jclass, _Jv_Field* field)
-{
- return * (jbyte *) field->u.addr;
-}
-
-inline jshort
-_Jv_GetStaticShortField (jclass, _Jv_Field* field)
-{
- return * (jshort *) field->u.addr;
-}
-
-inline jint
-_Jv_GetStaticIntField (jclass, _Jv_Field* field)
-{
- return * (jint *) field->u.addr;
-}
-
-inline jlong
-_Jv_GetStaticLongField (jclass, _Jv_Field* field)
-{
- return * (jlong *) field->u.addr;
-}
-
-inline jobject
-_Jv_GetObjectField (jobject obj, _Jv_Field* field)
-{
- return field->getObjectField (obj);
-}
-
-inline jbyte
-_Jv_GetByteField (jobject obj, _Jv_Field* field)
-{
- return * (jbyte *) ((char*) obj + field->getOffset ());
-}
-
-inline jshort
-_Jv_GetShortField (jobject obj, _Jv_Field* field)
-{
- return * (jshort *) ((char*) obj + field->getOffset ());
-}
-inline jint
-_Jv_GetIntField (jobject obj, _Jv_Field* field)
-{
- return * (jint *) ((char*) obj + field->getOffset ());
-}
-inline jlong
-_Jv_GetLongField (jobject obj, _Jv_Field* field)
-{
- return * (jlong *) ((char*) obj + field->getOffset ());
-}
-
-extern inline jfieldID
-_Jv_FromReflectedField (java::lang::reflect::Field *field)
-{
- return (jfieldID) ((char *) field->declaringClass->fields + field->offset);
-}
-
-
-#ifdef __JAVA_CNI_H__
-extern inline jfieldID
-JvGetFirstInstanceField (jclass klass)
-{
- return &(klass->fields[klass->static_field_count]);
-}
-
-extern inline jint
-JvNumInstanceFields (jclass klass)
-{
- return klass->field_count - klass->static_field_count;
-}
-
-extern inline jboolean
-JvFieldIsRef (jfieldID field)
-{
- return field->isRef ();
-}
-
-extern inline jobject
-JvGetObjectField (jobject obj, _Jv_Field* field)
-{
- return _Jv_GetObjectField (obj, field);
-}
-#endif /* defined (__JAVA_CNI_H__) */
-
-#endif
-
-#endif /* __JAVA_FIELD_H */
diff --git a/libjava/include/java-method.h b/libjava/include/java-method.h
deleted file mode 100644
index 1bda4719c2b..00000000000
--- a/libjava/include/java-method.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// java-method.h - Header file for methodID instances. -*- c++ -*-
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-extern inline jmethodID
-_Jv_FromReflectedMethod(java::lang::reflect::Method *method)
-{
- return (jmethodID)
- ((char *) method->declaringClass->methods + method->offset);
-}
diff --git a/libjava/include/javaprims.h b/libjava/include/javaprims.h
deleted file mode 100644
index 2f815d28c06..00000000000
--- a/libjava/include/javaprims.h
+++ /dev/null
@@ -1,264 +0,0 @@
-// javaprims.h - Main external header file for libgcj. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVAPRIMS_H__
-#define __JAVAPRIMS_H__
-
-// To force selection of correct types that will mangle consistently
-// across platforms.
-extern "Java"
-{
- typedef __java_byte jbyte;
- typedef __java_short jshort;
- typedef __java_int jint;
- typedef __java_long jlong;
- typedef __java_float jfloat;
- typedef __java_double jdouble;
- typedef __java_char jchar;
- typedef __java_boolean jboolean;
- typedef jint jsize;
-
- // The following class declarations are automatically generated by
- // the `classes.pl' script.
- namespace java
- {
- namespace io
- {
- class BufferedInputStream;
- class BufferedOutputStream;
- class BufferedReader;
- class BufferedWriter;
- class ByteArrayInputStream;
- class ByteArrayOutputStream;
- class CharArrayReader;
- class CharArrayWriter;
- class CharConversionException;
- class DataInput;
- class DataInputStream;
- class DataOutput;
- class DataOutputStream;
- class EOFException;
- class File;
- class FileDescriptor;
- class FileInputStream;
- class FileNotFoundException;
- class FileOutputStream;
- class FileReader;
- class FileWriter;
- class FilenameFilter;
- class FilterInputStream;
- class FilterOutputStream;
- class FilterReader;
- class FilterWriter;
- class IOException;
- class InputStream;
- class InputStreamReader;
- class InterruptedIOException;
- class LineNumberInputStream;
- class LineNumberReader;
- class OutputStream;
- class OutputStreamWriter;
- class PipedInputStream;
- class PipedOutputStream;
- class PipedReader;
- class PipedWriter;
- class PrintStream;
- class PrintWriter;
- class PushbackInputStream;
- class PushbackReader;
- class RandomAccessFile;
- class Reader;
- class SequenceInputStream;
- class Serializable;
- class StreamTokenizer;
- class StringBufferInputStream;
- class StringReader;
- class StringWriter;
- class SyncFailedException;
- class UTFDataFormatException;
- class UnsupportedEncodingException;
- class Writer;
- };
-
- namespace lang
- {
- class AbstractMethodError;
- class ArithmeticException;
- class ArrayIndexOutOfBoundsException;
- class ArrayStoreException;
- class Boolean;
- class Byte;
- class Character;
- class Class;
- class ClassCastException;
- class ClassCircularityError;
- class ClassFormatError;
- class ClassLoader;
- class ClassNotFoundException;
- class CloneNotSupportedException;
- class Cloneable;
- class Comparable;
- class Compiler;
- class ConcreteProcess;
- class Double;
- class Error;
- class Exception;
- class ExceptionInInitializerError;
- class FirstThread;
- class Float;
- class IllegalAccessError;
- class IllegalAccessException;
- class IllegalArgumentException;
- class IllegalMonitorStateException;
- class IllegalStateException;
- class IllegalThreadStateException;
- class IncompatibleClassChangeError;
- class IndexOutOfBoundsException;
- class InstantiationError;
- class InstantiationException;
- class Integer;
- class InternalError;
- class InterruptedException;
- class LinkageError;
- class Long;
- class Math;
- class NegativeArraySizeException;
- class NoClassDefFoundError;
- class NoSuchFieldError;
- class NoSuchFieldException;
- class NoSuchMethodError;
- class NoSuchMethodException;
- class NullPointerException;
- class Number;
- class NumberFormatException;
- class Object;
- class OutOfMemoryError;
- class Process;
- class Runnable;
- class Runtime;
- class RuntimeException;
- class SecurityException;
- class SecurityManager;
- class Short;
- class StackOverflowError;
- class String;
- class StringBuffer;
- class StringIndexOutOfBoundsException;
- class System;
- class Thread;
- class ThreadDeath;
- class ThreadGroup;
- class Throwable;
- class UnknownError;
- class UnsatisfiedLinkError;
- class UnsupportedOperationException;
- class VerifyError;
- class VirtualMachineError;
- class Void;
- namespace reflect
- {
- class AccessibleObject;
- class Array;
- class Constructor;
- class Field;
- class InvocationTargetException;
- class Member;
- class Method;
- class Modifier;
- };
- };
-
- namespace util
- {
- class BitSet;
- class Calendar;
- class ConcurrentModificationException;
- class Date;
- class Dictionary;
- class EmptyStackException;
- class Enumeration;
- class EventListener;
- class EventObject;
- class GregorianCalendar;
- class Hashtable;
- class HashtableEntry;
- class HashtableEnumeration;
- class ListResourceBundle;
- class Locale;
- class MissingResourceException;
- class NoSuchElementException;
- class Observable;
- class Observer;
- class Properties;
- class PropertyResourceBundle;
- class Random;
- class ResourceBundle;
- class SimpleTimeZone;
- class Stack;
- class StringTokenizer;
- class TimeZone;
- class TooManyListenersException;
- class Vector;
- class VectorEnumeration;
- namespace zip
- {
- class Adler32;
- class CRC32;
- class Checksum;
- class Deflater;
- class DeflaterOutputStream;
- class InflaterInputStream;
- class ZipConstants;
- class ZipEntry;
- class ZipEnumeration;
- class ZipException;
- class ZipFile;
- class ZipInputStream;
- class ZipOutputStream;
- };
- };
- };
-};
-
-typedef struct java::lang::Object* jobject;
-typedef class java::lang::Class* jclass;
-typedef class java::lang::Throwable* jthrowable;
-typedef class java::lang::String* jstring;
-struct _Jv_JNIEnv;
-
-typedef struct _Jv_Field *jfieldID;
-typedef struct _Jv_Method *jmethodID;
-
-extern "C" jobject _Jv_AllocObject (jclass, jint);
-extern "C" jboolean _Jv_IsInstanceOf(jobject, jclass);
-extern "C" jstring _Jv_AllocString(jsize);
-extern "C" jstring _Jv_NewString (const jchar*, jsize);
-extern "C" jchar* _Jv_GetStringChars (jstring str);
-extern "C" jint _Jv_MonitorEnter (jobject);
-extern "C" jint _Jv_MonitorExit (jobject);
-extern "C" jstring _Jv_NewStringLatin1(const char*, jsize);
-extern "C" jsize _Jv_GetStringUTFLength (jstring);
-extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
-
-extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__));
-extern "C" void* _Jv_Malloc (jsize);
-extern "C" void _Jv_Free (void*);
-
-typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
-typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
-
-struct _Jv_Utf8Const
-{
- _Jv_ushort hash;
- _Jv_ushort length; /* In bytes, of data portion, without final '\0'. */
- char data[1]; /* In Utf8 format, with final '\0'. */
-};
-
-#endif /* __JAVAPRIMS_H__ */
diff --git a/libjava/include/jni.h b/libjava/include/jni.h
deleted file mode 100644
index d589b022309..00000000000
--- a/libjava/include/jni.h
+++ /dev/null
@@ -1,296 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVA_JNI_H__
-#define __JAVA_JNI_H__
-
-#include <stdarg.h>
-#define _Jv_va_list va_list
-
-#ifdef __cplusplus
-
-// This is wrong, because it pollutes the name-space too much!
-#include <javaprims.h>
-
-typedef struct _Jv_JNIEnv JNIEnv;
-#else
-
-typedef int jbyte __attribute__((__mode__(__QI__)));
-typedef int jshort __attribute__((__mode__(__HI__)));
-typedef int jint __attribute__((__mode__(__SI__)));
-typedef int jlong __attribute__((__mode__(__DI__)));
-typedef bool jboolean __attribute__((__mode__(__QI__)));
-typedef unsigned short jchar __attribute__((__mode__(__HI__)));
-typedef float jfloat;
-typedef double jdouble;
-typedef jint jsize;
-
-typedef const struct JNINativeInterface *JNIEnv;
-#endif
-
-typedef union jvalue
-{
- jboolean z;
- jbyte b;
- jchar c;
- jshort s;
- jint i;
- jlong j;
- jfloat f;
- jdouble d;
- jobject l;
-} jvalue;
-
-typedef void * (*_Jv_func)(...);
-
-struct JNINativeInterface
-{
- _Jv_func reserved0;
- _Jv_func reserved1;
- _Jv_func reserved2;
- _Jv_func reserved3;
- _Jv_func GetVersion;
- _Jv_func DefineClass;
- _Jv_func FindClass;
- _Jv_func reserved4;
- _Jv_func reserved5;
- _Jv_func reserved6;
- jclass (*GetSuperclass) (JNIEnv*, jclass);
- jboolean (*IsAssignableFrom) (JNIEnv*, jclass, jclass);
- _Jv_func reserved7;
- jint (*Throw) (JNIEnv*, jthrowable);
- _Jv_func ThrowNew;
- _Jv_func ExceptionOccurred;
- _Jv_func ExceptionDescribe;
- _Jv_func ExceptionClear;
- _Jv_func FatalError;
- _Jv_func reserved8;
- _Jv_func reserved9;
- _Jv_func NewGlobalRef;
- _Jv_func DeleteGlobalRef;
- _Jv_func DeleteLocalRef;
- _Jv_func IsSameObject;
- _Jv_func reserved10;
- _Jv_func reserved11;
- _Jv_func AllocObject;
- _Jv_func NewObject;
- _Jv_func NewObjectV;
- _Jv_func NewObjectA;
- _Jv_func GetObjectClass;
- _Jv_func IsInstanceOf;
- _Jv_func GetMethodID;
- _Jv_func CallObjectMethod;
- _Jv_func CallObjectMethodV;
- _Jv_func CallObjectMethodA;
- _Jv_func CallBooleanMethod;
- _Jv_func CallBooleanMethodV;
- _Jv_func CallBooleanMethodA;
- _Jv_func CallByteMethod;
- _Jv_func CallByteMethodV;
- _Jv_func CallByteMethodA;
- _Jv_func CallCharMethod;
- _Jv_func CallCharMethodV;
- _Jv_func CallCharMethodA;
- _Jv_func CallShortMethod;
- _Jv_func CallShortMethodV;
- _Jv_func CallShortMethodA;
- _Jv_func CallIntMethod;
- _Jv_func CallIntMethodV;
- _Jv_func CallIntMethodA;
- _Jv_func CallLongMethod;
- _Jv_func CallLongMethodV;
- _Jv_func CallLongMethodA;
- _Jv_func CallFloatMethod;
- _Jv_func CallFloatMethodV;
- _Jv_func CallFloatMethodA;
- _Jv_func CallDoubleMethod;
- _Jv_func CallDoubleMethodV;
- _Jv_func CallDoubleMethodA;
- _Jv_func CallVoidMethod;
- _Jv_func CallVoidMethodV;
- _Jv_func CallVoidMethodA;
- _Jv_func CallNonvirtualObjectMethod;
- _Jv_func CallNonvirtualObjectMethodV;
- _Jv_func CallNonvirtualObjectMethodA;
- jboolean (*CallNonvirtualBooleanMethod) (JNIEnv*, jobject, jclass, jmethodID, ...);
- jboolean (*CallNonvirtualBooleanMethodV) (JNIEnv*, jobject, jclass, jmethodID, _Jv_va_list);
- jboolean (*CallNonvirtualBooleanMethodA) (JNIEnv*, jobject, jclass, jmethodID, jvalue*);
- _Jv_func CallNonvirtualByteMethod;
- _Jv_func CallNonvirtualByteMethodV;
- _Jv_func CallNonvirtualByteMethodA;
- _Jv_func CallNonvirtualCharMethod;
- _Jv_func CallNonvirtualCharMethodV;
- _Jv_func CallNonvirtualCharMethodA;
- _Jv_func CallNonvirtualShortMethod;
- _Jv_func CallNonvirtualShortMethodV;
- _Jv_func CallNonvirtualShortMethodA;
- _Jv_func CallNonvirtualIntMethod;
- _Jv_func CallNonvirtualIntMethodV;
- _Jv_func CallNonvirtualIntMethodA;
- _Jv_func CallNonvirtualLongMethod;
- _Jv_func CallNonvirtualLongMethodV;
- _Jv_func CallNonvirtualLongMethodA;
- _Jv_func CallNonvirtualFloatMethod;
- _Jv_func CallNonvirtualFloatMethodV;
- _Jv_func CallNonvirtualFloatMethodA;
- _Jv_func CallNonvirtualDoubleMethod;
- jdouble (*CallNonvirtualDoubleMethodV) (JNIEnv*, jobject, jclass, jmethodID, _Jv_va_list);
- _Jv_func CallNonvirtualDoubleMethodA;
- _Jv_func CallNonvirtualVoidMethod;
- _Jv_func CallNonvirtualVoidMethodV;
- _Jv_func CallNonvirtualVoidMethodA;
- _Jv_func GetFieldID;
- jobject (*GetObjectField) (JNIEnv*, jobject, jfieldID);
- jboolean (*GetBooleanField) (JNIEnv*, jobject, jfieldID);
- jbyte (*GetByteField) (JNIEnv*, jobject, jfieldID);
- jchar (*GetCharField) (JNIEnv*, jobject, jfieldID);
- jshort (*GetShortField) (JNIEnv*, jobject, jfieldID);
- jint (*GetIntField) (JNIEnv*, jobject, jfieldID);
- jlong (*GetLongField) (JNIEnv*, jobject, jfieldID);
- jfloat (*GetFloatField) (JNIEnv*, jobject, jfieldID);
- jdouble (*GetDoubleField) (JNIEnv*, jobject, jfieldID);
- _Jv_func SetObjectField;
- _Jv_func SetBooleanField;
- _Jv_func SetByteField;
- _Jv_func SetCharField;
- _Jv_func SetShortField;
- _Jv_func SetIntField;
- _Jv_func SetLongField;
- _Jv_func SetFloatField;
- _Jv_func SetDoubleField;
- _Jv_func GetStaticMethodID;
- _Jv_func CallStaticObjectMethod;
- _Jv_func CallStaticObjectMethodV;
- _Jv_func CallStaticObjectMethodA;
- _Jv_func CallStaticBooleanMethod;
- _Jv_func CallStaticBooleanMethodV;
- _Jv_func CallStaticBooleanMethodA;
- _Jv_func CallStaticByteMethod;
- _Jv_func CallStaticByteMethodV;
- _Jv_func CallStaticByteMethodA;
- _Jv_func CallStaticCharMethod;
- _Jv_func CallStaticCharMethodV;
- _Jv_func CallStaticCharMethodA;
- _Jv_func CallStaticShortMethod;
- _Jv_func CallStaticShortMethodV;
- _Jv_func CallStaticShortMethodA;
- _Jv_func CallStaticIntMethod;
- _Jv_func CallStaticIntMethodV;
- _Jv_func CallStaticIntMethodA;
- _Jv_func CallStaticLongMethod;
- _Jv_func CallStaticLongMethodV;
- _Jv_func CallStaticLongMethodA;
- _Jv_func CallStaticFloatMethod;
- _Jv_func CallStaticFloatMethodV;
- _Jv_func CallStaticFloatMethodA;
- _Jv_func CallStaticDoubleMethod;
- _Jv_func CallStaticDoubleMethodV;
- _Jv_func CallStaticDoubleMethodA;
- _Jv_func CallStaticVoidMethod;
- _Jv_func CallStaticVoidMethodV;
- _Jv_func CallStaticVoidMethodA;
- _Jv_func GetStaticFieldID;
- _Jv_func GetStaticObjectField;
- _Jv_func GetStaticBooleanField;
- _Jv_func GetStaticByteField;
- _Jv_func GetStaticCharField;
- _Jv_func GetStaticShortField;
- _Jv_func GetStaticIntField;
- _Jv_func GetStaticLongField;
- _Jv_func GetStaticFloatField;
- _Jv_func GetStaticDoubleField;
- _Jv_func SetStaticObjectField;
- _Jv_func SetStaticBooleanField;
- _Jv_func SetStaticByteField;
- _Jv_func SetStaticCharField;
- _Jv_func SetStaticShortField;
- _Jv_func SetStaticIntField;
- _Jv_func SetStaticLongField;
- _Jv_func SetStaticFloatField;
- _Jv_func SetStaticDoubleField;
- _Jv_func NewString;
- jint (*GetStringLength) (JNIEnv*, jstring);
- _Jv_func GetStringChars;
- _Jv_func ReleaseStringChars;
- _Jv_func NewStringUTF;
- _Jv_func GetStringUTFLength;
- _Jv_func GetStringUTFChars;
- _Jv_func ReleaseStringUTFChars;
- _Jv_func GetArrayLength;
- _Jv_func NewObjectArray;
- _Jv_func GetObjectArrayElement;
- _Jv_func SetObjectArrayElement;
- _Jv_func NewBooleanArray;
- _Jv_func NewByteArray;
- _Jv_func NewCharArray;
- _Jv_func NewShortArray;
- _Jv_func NewIntArray;
- _Jv_func NewLongArray;
- _Jv_func NewFloatArray;
- _Jv_func NewDoubleArray;
- _Jv_func GetBooleanArrayElements;
- _Jv_func GetByteArrayElements;
- _Jv_func GetCharArrayElements;
- _Jv_func GetShortArrayElements;
- _Jv_func GetIntArrayElements;
- _Jv_func GetLongArrayElements;
- _Jv_func GetFloatArrayElements;
- _Jv_func GetDoubleArrayElements;
- _Jv_func ReleaseBooleanArrayElements;
- _Jv_func ReleaseByteArrayElements;
- _Jv_func ReleaseCharArrayElements;
- _Jv_func ReleaseShortArrayElements;
- _Jv_func ReleaseIntArrayElements;
- _Jv_func ReleaseLongArrayElements;
- _Jv_func ReleaseFloatArrayElements;
- _Jv_func ReleaseDoubleArrayElements;
- _Jv_func GetBooleanArrayRegion;
- _Jv_func GetByteArrayRegion;
- _Jv_func GetCharArrayRegion;
- _Jv_func GetShortArrayRegion;
- _Jv_func GetIntArrayRegion;
- _Jv_func GetLongArrayRegion;
- _Jv_func GetFloatArrayRegion;
- _Jv_func GetDoubleArrayRegion;
- _Jv_func SetBooleanArrayRegion;
- _Jv_func SetByteArrayRegion;
- _Jv_func SetCharArrayRegion;
- _Jv_func SetShortArrayRegion;
- _Jv_func SetIntArrayRegion;
- _Jv_func SetLongArrayRegion;
- _Jv_func SetFloatArrayRegion;
- _Jv_func SetDoubleArrayRegion;
- _Jv_func RegisterNatives;
- _Jv_func UnregisterNatives;
- _Jv_func MonitorEnter;
- _Jv_func MonitorExit;
- _Jv_func GetJavaVM;
-};
-
-#ifdef __cplusplus
-
-struct _Jv_JNIEnv
-{
- struct JNINativeInterface *p;
-
- jclass GetSuperclass (jclass cl);
- jsize GetStringLength (jstring str);
-
-};
-
-extern inline jclass
-_Jv_JNIEnv::GetSuperclass (jclass cl)
-{ return p->GetSuperclass (this, cl); }
-
-extern inline jsize
-_Jv_JNIEnv::GetStringLength (jstring str)
-{ return p->GetStringLength (this, str); }
-
-#endif
-
-#endif /* __JAVA_JNI_H__ */
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
deleted file mode 100644
index f928d7178b6..00000000000
--- a/libjava/include/jvm.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// jvm.h - Header file for private implementation information. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVA_JVM_H__
-#define __JAVA_JVM_H__
-
-#include <java-assert.h>
-#include <java-field.h>
-
-/* Structure of the virtual table. */
-struct _Jv_VTable
-{
- jclass clas;
- void *method[1];
-};
-
-/* Extract a character from a Java-style Utf8 string.
- * PTR points to the current character.
- * LIMIT points to the end of the Utf8 string.
- * PTR is incremented to point after the character thta gets returns.
- * On an error, -1 is returned. */
-#define UTF8_GET(PTR, LIMIT) \
- ((PTR) >= (LIMIT) ? -1 \
- : *(PTR) < 128 ? *(PTR)++ \
- : (*(PTR)&0xE0) == 0xC0 && ((PTR)+=2)<=(LIMIT) && ((PTR)[-1]&0xC0) == 0x80 \
- ? (((PTR)[-2] & 0x1F) << 6) + ((PTR)[-1] & 0x3F) \
- : (*(PTR) & 0xF0) == 0xE0 && ((PTR) += 3) <= (LIMIT) \
- && ((PTR)[-2] & 0xC0) == 0x80 && ((PTR)[-1] & 0xC0) == 0x80 \
- ? (((PTR)[-3]&0x0F) << 12) + (((PTR)[-2]&0x3F) << 6) + ((PTR)[-1]&0x3F) \
- : ((PTR)++, -1))
-
-extern int _Jv_strLengthUtf8(char* str, int len);
-
-typedef struct _Jv_Utf8Const Utf8Const;
-_Jv_Utf8Const *_Jv_makeUtf8Const (char *s, int len);
-extern jboolean _Jv_equalUtf8Consts (_Jv_Utf8Const *, _Jv_Utf8Const *);
-extern jboolean _Jv_equal (_Jv_Utf8Const *, jstring, jint);
-
-#define StringClass _CL_Q34java4lang6String
-extern java::lang::Class StringClass;
-
-/* Type of pointer used as finalizer. */
-typedef void _Jv_FinalizerFunc (jobject);
-
-/* Allocate space for a new Java object. */
-void *_Jv_AllocObj (jsize size);
-/* Allocate space for an array of Java objects. */
-void *_Jv_AllocArray (jsize size);
-/* Allocate space that is known to be pointer-free. */
-void *_Jv_AllocBytes (jsize size);
-/* Initialize the GC. */
-void _Jv_InitGC (void);
-/* Register a finalizer. */
-void _Jv_RegisterFinalizer (void *object, _Jv_FinalizerFunc *method);
-
-/* Run finalizers for objects ready to be finalized.. */
-void _Jv_RunFinalizers (void);
-/* Run all finalizers. Should be called only before exit. */
-void _Jv_RunAllFinalizers (void);
-/* Perform a GC. */
-void _Jv_RunGC (void);
-
-/* Return approximation of total size of heap. */
-long _Jv_GCTotalMemory (void);
-/* Return approximation of total free memory. */
-long _Jv_GCFreeMemory (void);
-
-/* Allocate some unscanned bytes. Throw exception if out of memory. */
-void *_Jv_AllocBytesChecked (jsize size);
-
-// This function is used to determine the hash code of an object.
-inline jint
-_Jv_HashCode (jobject obj)
-{
- return (jint) obj;
-}
-
-extern "C" void _Jv_ThrowBadArrayIndex (jint bad_index);
-extern "C" jobject _Jv_NewArray (jint type, jint size);
-extern "C" jobject _Jv_NewMultiArray (jclass klass, jint dims, ...);
-extern "C" void *_Jv_CheckCast (jclass klass, jobject obj);
-extern "C" void *_Jv_LookupInterfaceMethod (jclass klass, Utf8Const *name,
- Utf8Const *signature);
-extern "C" void _Jv_CheckArrayStore (jobject array, jobject obj);
-extern "C" void _Jv_RegisterClass (jclass klass);
-extern "C" void _Jv_RegisterClasses (jclass *classes);
-extern jclass _Jv_FindClass (_Jv_Utf8Const *name,
- java::lang::ClassLoader *loader);
-extern jclass _Jv_FindClassFromSignature (char *,
- java::lang::ClassLoader *loader);
-
-extern jobject _Jv_NewMultiArray (jclass, jint ndims, jint* dims);
-
-#endif /* __JAVA_JVM_H__ */
diff --git a/libjava/include/no-gc.h b/libjava/include/no-gc.h
deleted file mode 100644
index f5775b9f5e5..00000000000
--- a/libjava/include/no-gc.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// -*- c++ -*-
-// no-gc.h - Defines for no garbage collector.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JV_NO_GC__
-#define __JV_NO_GC__
-
-// Nothing.
-
-#endif /* __JV_NO_GC__ */
diff --git a/libjava/include/no-threads.h b/libjava/include/no-threads.h
deleted file mode 100644
index 5de33868eaa..00000000000
--- a/libjava/include/no-threads.h
+++ /dev/null
@@ -1,154 +0,0 @@
-// -*- c++ -*-
-// no-threads.h - Defines for using no threads.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JV_NO_THREADS__
-#define __JV_NO_THREADS__
-
-#include "config.h"
-
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-//
-// Typedefs.
-//
-
-typedef int _Jv_ConditionVariable_t;
-typedef int _Jv_Mutex_t;
-typedef int _Jv_Thread_t;
-typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
-
-
-//
-// Condition variables.
-//
-
-inline void
-_Jv_CondInit (_Jv_ConditionVariable_t *)
-{
-}
-
-// Waiting is ok provided there is a timeout. Otherwise we will just
-// wait forever.
-inline int
-_Jv_CondWait (_Jv_ConditionVariable_t *, _Jv_Mutex_t *,
- jlong millis, jint nanos)
-{
- if (millis == 0 && nanos == 0)
- JvFail ("_Jv_CondWait without timeout");
-
-#ifdef HAVE_SLEEP
- int seconds = millis / 1000;
- if (seconds > 0)
- sleep (seconds);
-#endif
-
- return 0;
-}
-
-inline int
-_Jv_CondNotify (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
-{
- // It is ok to notify -- it just has no effect.
- return 0;
-}
-
-inline int
-_Jv_CondNotifyAll (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
-{
- // It is ok to notify -- it just has no effect.
- return 0;
-}
-
-
-//
-// Mutexes.
-//
-
-inline void
-_Jv_MutexInit (_Jv_Mutex_t *)
-{
-}
-
-inline int
-_Jv_MutexLock (_Jv_Mutex_t *)
-{
- return 0;
-}
-
-inline int
-_Jv_MutexUnlock (_Jv_Mutex_t *)
-{
- return 0;
-}
-
-
-//
-// Thread creation and manipulation.
-//
-
-inline void
-_Jv_InitThreads (void)
-{
-}
-
-inline void
-_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
-{
- *data = NULL;
-}
-
-inline java::lang::Thread *
-_Jv_ThreadCurrent (void)
-{
- extern java::lang::Thread *_Jv_OnlyThread;
- return _Jv_OnlyThread;
-}
-
-inline void
-_Jv_ThreadYield (void)
-{
-}
-
-inline void
-_Jv_ThreadSetPriority (_Jv_Thread_t *, jint)
-{
-}
-
-inline void
-_Jv_ThreadCancel (_Jv_Thread_t *, void *)
-{
- JvFail ("_Jv_ThreadCancel");
-}
-
-// Like Cancel, but doesn't run cleanups.
-inline void
-_Jv_ThreadDestroy (_Jv_Thread_t *)
-{
- JvFail ("_Jv_ThreadDestroy");
-}
-
-void _Jv_ThreadStart (java::lang::Thread *, _Jv_Thread_t *,
- _Jv_ThreadStartFunc *meth);
-
-inline void
-_Jv_ThreadWait (void)
-{
-}
-
-inline void
-_Jv_ThreadInterrupt (_Jv_Thread_t *)
-{
-}
-
-#endif /* __JV_NO_THREADS__ */
diff --git a/libjava/include/posix-threads.h b/libjava/include/posix-threads.h
deleted file mode 100644
index 6e4cc70c020..00000000000
--- a/libjava/include/posix-threads.h
+++ /dev/null
@@ -1,210 +0,0 @@
-// -*- c++ -*-
-// posix-threads.h - Defines for using POSIX threads.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JV_POSIX_THREADS__
-#define __JV_POSIX_THREADS__
-
-// NOTE: This file may only reference those pthread functions which
-// are known not to be overridden by the Boehm GC. If in doubt, scan
-// boehm-gc/gc.h. This is yucky but lets us avoid including gc.h
-// everywhere (which would be truly yucky).
-
-#include <pthread.h>
-#include <sched.h>
-
-#if defined (HAVE_PTHREAD_MUTEXATTR_SETTYPE) || defined (HAVE_PTHREAD_MUTEXATTR_SETKIND_NP)
-# define HAVE_RECURSIVE_MUTEX 1
-#endif
-
-
-//
-// Typedefs.
-//
-
-typedef pthread_cond_t _Jv_ConditionVariable_t;
-#ifdef HAVE_RECURSIVE_MUTEX
-typedef pthread_mutex_t _Jv_Mutex_t;
-#else
-// Some systems do not have recursive mutexes, so we must simulate
-// them. Solaris is one such system.
-typedef struct
-{
- // Mutex used when locking this structure transiently.
- pthread_mutex_t mutex;
- // Mutex the thread holds the entire time this mutex is held. This
- // is used to make condition variables work properly.
- pthread_mutex_t mutex2;
- // Condition variable used when waiting for this lock.
- pthread_cond_t cond;
- // Thread holding this mutex. If COUNT is 0, no thread is holding.
- pthread_t thread;
- // Number of times mutex is held. If 0, the lock is not held.
- int count;
-} _Jv_Mutex_t;
-#endif /* HAVE_RECURSIVE_MUTEX */
-
-typedef struct
-{
- // Flag values are defined in implementation.
- int flags;
-
- // Actual thread id.
- pthread_t thread;
-
- // Exception we want to throw when cancelled.
- void *exception;
-} _Jv_Thread_t;
-typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
-
-
-//
-// Condition variables.
-//
-
-inline void
-_Jv_CondInit (_Jv_ConditionVariable_t *cv)
-{
- pthread_cond_init (cv, 0);
-}
-
-#ifndef LINUX_THREADS
-
-// pthread_cond_destroy does nothing on Linux and it is a win to avoid
-// defining this macro.
-
-#define _Jv_HaveCondDestroy
-
-inline void
-_Jv_CondDestroy (_Jv_ConditionVariable_t *cv)
-{
- pthread_cond_destroy (cv);
-}
-
-#endif /* LINUX_THREADS */
-
-int _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu,
- jlong millis, jint nanos);
-
-inline int
-_Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *)
-{
- // FIXME: check to see if mutex is held by current thread.
- return pthread_cond_signal (cv);
-}
-
-inline int
-_Jv_CondNotifyAll (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *)
-{
- // FIXME: check to see if mutex is held by current thread.
- return pthread_cond_broadcast (cv);
-}
-
-
-//
-// Mutexes.
-//
-
-#ifdef RECURSIVE_MUTEX_IS_DEFAULT
-inline void
-_Jv_MutexInit (_Jv_Mutex_t *mu)
-{
- pthread_mutex_init (mu, NULL);
-}
-#else
-void _Jv_MutexInit (_Jv_Mutex_t *mu);
-#endif
-
-#ifndef LINUX_THREADS
-
-// pthread_mutex_destroy does nothing on Linux and it is a win to avoid
-// defining this macro.
-
-#define _Jv_HaveMutexDestroy
-
-#ifdef HAVE_RECURSIVE_MUTEX
-
-inline void
-_Jv_MutexDestroy (_Jv_Mutex_t *mu)
-{
- pthread_mutex_destroy (mu);
-}
-
-#else /* HAVE_RECURSIVE_MUTEX */
-
-extern void _Jv_MutexDestroy (_Jv_Mutex_t *mu);
-
-#endif /* HAVE_RECURSIVE_MUTEX */
-#endif /* LINUX_THREADS */
-
-#ifdef HAVE_RECURSIVE_MUTEX
-
-inline int
-_Jv_MutexLock (_Jv_Mutex_t *mu)
-{
- return pthread_mutex_lock (mu);
-}
-
-inline int
-_Jv_MutexUnlock (_Jv_Mutex_t *mu)
-{
- return pthread_mutex_unlock (mu);
-}
-
-#else /* HAVE_RECURSIVE_MUTEX */
-
-extern int _Jv_MutexLock (_Jv_Mutex_t *mu);
-extern int _Jv_MutexUnlock (_Jv_Mutex_t *mu);
-
-#endif /* HAVE_RECURSIVE_MUTEX */
-
-
-//
-// Thread creation and manipulation.
-//
-
-void _Jv_InitThreads (void);
-
-void _Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *thread);
-
-inline java::lang::Thread *
-_Jv_ThreadCurrent (void)
-{
- extern pthread_key_t _Jv_ThreadKey;
- return (java::lang::Thread *) pthread_getspecific (_Jv_ThreadKey);
-}
-
-inline void
-_Jv_ThreadYield (void)
-{
-#ifdef HAVE_SCHED_YIELD
- sched_yield ();
-#endif /* HAVE_SCHED_YIELD */
-}
-
-void _Jv_ThreadSetPriority (_Jv_Thread_t *data, jint prio);
-
-void _Jv_ThreadCancel (_Jv_Thread_t *data, void *error);
-
-// Like Cancel, but doesn't run cleanups.
-inline void
-_Jv_ThreadDestroy (_Jv_Thread_t *)
-{
- JvFail ("_Jv_ThreadDestroy");
-}
-
-void _Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
- _Jv_ThreadStartFunc *meth);
-
-void _Jv_ThreadWait (void);
-
-void _Jv_ThreadInterrupt (_Jv_Thread_t *data);
-
-#endif /* __JV_POSIX_THREADS__ */
diff --git a/libjava/include/quick-threads.h b/libjava/include/quick-threads.h
deleted file mode 100644
index 3ce8ece2168..00000000000
--- a/libjava/include/quick-threads.h
+++ /dev/null
@@ -1,139 +0,0 @@
-// -*- c++ -*-
-// quick-threads.h - Defines for using QuickThreads.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JV_QUICK_THREADS__
-#define __JV_QUICK_THREADS__
-
-#include <coop.h>
-
-//
-// Typedefs.
-//
-
-typedef coop_c _Jv_ConditionVariable_t;
-typedef coop_m _Jv_Mutex_t;
-typedef coop_t *_Jv_Thread_t;
-typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
-
-
-//
-// Condition variables.
-//
-
-inline void
-_Jv_CondInit (_Jv_ConditionVariable_t *cv)
-{
- coop_condition_variable_init (cv);
-}
-
-inline int
-_Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu,
- jlong millis, jint nanos)
-{
- return coop_condition_variable_wait (cv, mu, millis * 1000 + nanos / 1000);
-}
-
-inline int
-_Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu)
-{
- return coop_condition_variable_signal (cv, mu);
-}
-
-inline int
-_Jv_CondNotifyAll (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu)
-{
- return coop_condition_variable_signal_all (cv, mu);
-}
-
-
-//
-// Mutexes.
-//
-
-inline void
-_Jv_MutexInit (_Jv_Mutex_t *mu)
-{
- coop_mutex_init (mu);
-}
-
-inline int
-_Jv_MutexLock (_Jv_Mutex_t *mu)
-{
- coop_mutex_lock (mu);
- return 0;
-}
-
-inline int
-_Jv_MutexUnlock (_Jv_Mutex_t *mu)
-{
- return coop_mutex_unlock (mu);
-}
-
-
-//
-// Thread creation and manipulation.
-//
-
-void _Jv_InitThreads (void);
-
-inline void
-_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
-{
- *data = new _Jv_Thread_t;
- **data = (coop_t *) 0;
-}
-
-inline java::lang::Thread *
-_Jv_ThreadCurrent (void)
-{
- extern int _Jv_ThreadKey;
- return (java::lang::Thread *) coop_getspecific (_Jv_ThreadKey);
-}
-
-inline void
-_Jv_ThreadYield (void)
-{
- coop_yield ();
-}
-
-inline void
-_Jv_ThreadSetPriority (_Jv_Thread_t *, jint)
-{
-}
-
-inline void
-_Jv_ThreadCancel (_Jv_Thread_t *data, void *error)
-{
- coop_terminate (*data, error);
-}
-
-// Like Cancel, but doesn't run cleanups.
-inline void
-_Jv_ThreadDestroy (_Jv_Thread_t *data)
-{
- coop_terminate (*data, 0);
-}
-
-void _Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
- _Jv_ThreadStartFunc *meth);
-
-inline void
-_Jv_ThreadWait (void)
-{
- coop_start ();
-}
-
-inline void
-_Jv_ThreadInterrupt (_Jv_Thread_t *)
-{
-}
-
-#endif /* __JV_QUICK_THREADS__ */
diff --git a/libjava/include/sparc-signal.h b/libjava/include/sparc-signal.h
deleted file mode 100644
index dfe8635e3eb..00000000000
--- a/libjava/include/sparc-signal.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// sparc-signal.h - Catch runtime signals and turn them into exceptions.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef JAVA_SIGNAL_H
-#define JAVA_SIGNAL_H 1
-
-#include <signal.h>
-#include <ucontext.h>
-
-#define HANDLE_SEGV 1
-#define HANDLE_FPE 1
-
-#define SIGNAL_HANDLER(_name) \
-static void _name (int _dummy, siginfo_t *_info, ucontext_t *_context)
-
-#define FLUSH_REGISTER_WINDOWS \
- asm volatile ("ta 3");
-
-#define MAKE_THROW_FRAME \
-do \
-{ \
- (void)_dummy; \
- (void)_info; \
- register int sp = _context->uc_mcontext.gregs[REG_SP]; \
- register int retaddr = _context->uc_mcontext.gregs[REG_O7]; \
- FLUSH_REGISTER_WINDOWS; \
- asm volatile ("mov %0, %%i6; mov %1, %%i7" \
- : : "r"(sp), "r"(retaddr)); \
-} \
-while (0)
-
-#define INIT_SEGV \
-do \
- { \
- nullp = new java::lang::NullPointerException (); \
- struct sigaction act; \
- act.sa_sigaction = catch_segv; \
- act.sa_flags = SA_SIGINFO; \
- sigemptyset (&act.sa_mask); \
- sigaction (SIGSEGV, &act, NULL); \
- } \
-while (0)
-
-#define INIT_FPE \
-do \
- { \
- arithexception = new java::lang::ArithmeticException (); \
- struct sigaction act; \
- act.sa_flags = SA_SIGINFO; \
- act.sa_sigaction = catch_fpe; \
- sigemptyset (&act.sa_mask); \
- sigaction (SIGFPE, &act, NULL); \
- } \
-while (0)
-
-#endif /* JAVA_SIGNAL_H */
diff --git a/libjava/java/awt/AWTEvent.java b/libjava/java/awt/AWTEvent.java
deleted file mode 100644
index 45859cf8674..00000000000
--- a/libjava/java/awt/AWTEvent.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public abstract class AWTEvent extends java.util.EventObject
-{
- protected boolean consumed;
- protected int id;
-
- public int getID() { return id; }
-
- public AWTEvent (Object source, int id)
- {
- super(source);
- this.id = id;
- }
-}
diff --git a/libjava/java/awt/BorderLayout.java b/libjava/java/awt/BorderLayout.java
deleted file mode 100644
index 8549a5b61f1..00000000000
--- a/libjava/java/awt/BorderLayout.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public class BorderLayout implements LayoutManager2
-{
- int hgap;
- int vgap;
-
- public BorderLayout (int hgap, int vgap)
- {
- this.hgap = hgap;
- this.vgap = vgap;
- }
-
- public void addLayoutComponent (String name, Component comp)
- { /* FIXME */ }
- public void layoutContainer (Container parent)
- { /* FIXME */ }
- public Dimension minimumLayoutSize (Container parent)
- { /* FIXME */ return null; }
- public Dimension preferredLayoutSize (Container parent)
- { /* FIXME */ return null; }
- public void removeLayoutComponent (Component comp)
- { /* FIXME */ }
-
- public void addLayoutComponent (Component comp, Object constraints)
- { /* FIXME */ }
- public float getLayoutAlignmentX (Container target)
- { /* FIXME */ return (float) 0.0; }
- public float getLayoutAlignmentY (Container target)
- { /* FIXME */ return (float) 0.0; }
- public void invalidateLayout (Container target)
- { /* FIXME */ }
- public Dimension maximumLayoutSize (Container target)
- { /* FIXME */ return null; }
-
-}
diff --git a/libjava/java/awt/Component.java b/libjava/java/awt/Component.java
deleted file mode 100644
index c79d3b70604..00000000000
--- a/libjava/java/awt/Component.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-import java.awt.event.*;
-//import java.awt.peer.ComponentPeer;
-
-/* A very incomplete placeholder. */
-
-public abstract class Component implements MenuContainer
-{
- Container parent;
- java.awt.peer.ComponentPeer peer;
- int x, y, width, height;
-
- public Container getParent () { return parent; }
-
- /** @deprecated */
- public java.awt.peer.ComponentPeer getPeer () { return peer; }
-
- public void setVisible (boolean b)
- { /* FIXME */ }
-
- public void setSize (Dimension d)
- { setSize(d.width, d.height); }
-
- public void setSize (int width, int height)
- {
- this.width = width; this.height = height;
- if (peer != null)
- peer.setBounds(x, y, width, height);
- }
-
- public void setLocation (int x, int y)
- {
- this.x = x; this.y = y;
- if (peer != null)
- peer.setBounds(x, y, width, height);
- }
-
- public void setLocation (Point pt)
- { setLocation(pt.x, pt.y); }
-
- public void setBounds (int x, int y, int w, int h)
- {
- this.x = x; this.y = y;
- this.width = w; this.height = h;
- if (peer != null)
- peer.setBounds(x, y, w, h);
- }
-
- public void setBounds (Rectangle rect)
- { setBounds(rect.x, rect.y, rect.width, rect.height); }
-
- public Rectangle getBounds ()
- {
- return new Rectangle(x, y, width, height);
- }
-
- public Point getLocation ()
- {
- return new Point(x, y);
- }
-
- public Dimension getSize ()
- {
- return new Dimension(width, height);
- }
-
- public Dimension getMinimumSize ()
- {
- if (peer == null)
- return new Dimension(width, height);
- else
- return peer.getMinimumSize();
- }
-
- public Dimension getPreferredSize ()
- {
- if (peer == null)
- return new Dimension(width, height);
- else
- return peer.getPreferredSize();
- }
-
- public synchronized void addKeyListener (KeyListener listener)
- { /* FIXME */ }
-
- public boolean isFocusTraversable ()
- { /* FIXME */ return false; }
-
- public void addNotify () { }
-}
diff --git a/libjava/java/awt/Container.java b/libjava/java/awt/Container.java
deleted file mode 100644
index dc3d1938570..00000000000
--- a/libjava/java/awt/Container.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public abstract class Container extends Component
-{
- int componentCount;
- Component[] components;
-
- public Component[] getComponents()
- {
- Component[] result = new Component[componentCount];
- if (componentCount > 0)
- System.arraycopy(components, 0, result, 0, componentCount);
- return result;
- }
-
- public Component getComponent (int n)
- {
- if (n < 0 || n >= componentCount)
- throw new ArrayIndexOutOfBoundsException("no such component");
- return components[n];
- }
-
- public boolean isAncestorOf (Component comp)
- {
- for (;;)
- {
- if (comp == null)
- return false;
- if (comp == this)
- return true;
- comp = comp.getParent();
- }
- }
-
- public Component add (String name, Component comp)
- {
- /* FIXME */
- return comp;
- }
-
- public void addNotify ()
- {
- for (int i = componentCount; --i >= 0; )
- components[i].addNotify();
- }
-
- public void setLayout (LayoutManager layout)
- { /* FIXME */ }
-}
diff --git a/libjava/java/awt/Dimension.java b/libjava/java/awt/Dimension.java
deleted file mode 100644
index 8593f0e1355..00000000000
--- a/libjava/java/awt/Dimension.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary 8, 1999.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct, except that neither toString
- * has not been compared with JDK output.
- */
-
-public class Dimension extends java.awt.geom.Dimension2D
-{
- public int height;
- public int width;
-
- public Dimension () { }
-
- public Dimension (Dimension dim)
- {
- this.width = dim.width;
- this.height = dim.height;
- }
-
- public Dimension (int width, int height)
- {
- this.width = width;
- this.height = height;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof Dimension))
- return false;
- Dimension dim = (Dimension) obj;
- return height == dim.height && width == dim.width;
- }
-
- public Dimension getSize () { return new Dimension(this); }
-
- public void setSize (Dimension dim)
- {
- this.width = dim.width;
- this.height = dim.height;
- }
-
- public void setSize (int width, int height)
- {
- this.width = width;
- this.height = height;
- }
-
- public String toString ()
- {
- return "Dimension[w:"+width+",h:"+height+']';
- }
-
- /* Note: There is no Dimension.hashCode. */
-
- public double getWidth() { return width; }
- public double getHeight() { return height; }
-
- public void setSize (double width, double height)
- {
- this.width = (int) width;
- this.height = (int) height;
- }
-}
diff --git a/libjava/java/awt/Event.java b/libjava/java/awt/Event.java
deleted file mode 100644
index a5991f25e3a..00000000000
--- a/libjava/java/awt/Event.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public class Event
-{
- public Event evt;
- public Object arg;
- public int id;
- public Object target;
-
- public Event (Object target, int id, Object arg)
- {
- this.id = id;
- this.target = target;
- this.arg = arg;
- }
-}
diff --git a/libjava/java/awt/Font.java b/libjava/java/awt/Font.java
deleted file mode 100644
index 43b3c160e62..00000000000
--- a/libjava/java/awt/Font.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A *very* incomplete placeholder. */
-
-public class Font
-{
-}
diff --git a/libjava/java/awt/Frame.java b/libjava/java/awt/Frame.java
deleted file mode 100644
index 8d258f73261..00000000000
--- a/libjava/java/awt/Frame.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-import java.awt.peer.FramePeer;
-
-/* A very incomplete placeholder. */
-
-public class Frame extends Window implements MenuContainer
-{
- MenuBar menuBar = null;
- String title;
-
- public Frame ()
- { /* FIXME */ }
-
- public Frame (String title)
- {
- this();
- setTitle(title);
- }
-
- public String getTitle () { return title; }
-
- public void setTitle (String title)
- {
- this.title = title;
- if (peer != null)
- ((FramePeer)peer).setTitle(title);
- }
-
- public synchronized void dispose ()
- { /* FIXME */ }
-
- public synchronized void setMenuBar (MenuBar menuBar)
- { this.menuBar = menuBar; }
-
- public synchronized void addNotify ()
- {
- if (peer == null)
- {
- FramePeer fpeer = Toolkit.getDefaultToolkit().createFrame(this);
- // Compiler bug requires cast ??; FIXME?
- peer = (java.awt.peer.ComponentPeer) fpeer;
- if (width + height > 0)
- peer.setBounds(x, y, width, height);
- }
- super.addNotify();
- }
-}
diff --git a/libjava/java/awt/LayoutManager.java b/libjava/java/awt/LayoutManager.java
deleted file mode 100644
index 1cd47b131ba..00000000000
--- a/libjava/java/awt/LayoutManager.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* Status: Believed complete and correct. */
-
-public interface LayoutManager
-{
- public void addLayoutComponent (String name, Component comp);
- public void layoutContainer (Container parent);
- public Dimension minimumLayoutSize (Container parent);
- public Dimension preferredLayoutSize (Container parent);
- public void removeLayoutComponent (Component comp);
-}
diff --git a/libjava/java/awt/LayoutManager2.java b/libjava/java/awt/LayoutManager2.java
deleted file mode 100644
index 6c0286c007e..00000000000
--- a/libjava/java/awt/LayoutManager2.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* Status: Believed complete and correct. */
-
-public interface LayoutManager2 extends LayoutManager
-{
- public void addLayoutComponent (Component comp, Object constraints);
- public float getLayoutAlignmentX (Container target);
- public float getLayoutAlignmentY (Container target);
- public void invalidateLayout (Container target);
- public Dimension maximumLayoutSize (Container target);
-}
diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java
deleted file mode 100644
index ad602e77e9f..00000000000
--- a/libjava/java/awt/Menu.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public class Menu extends MenuItem implements MenuContainer
-{
- public Menu (String label)
- {
- super(label); // ???
- throw new Error ("java.awt.Menu: not implemented");
- }
-
- public void add (String label)
- { /* FIXME */ }
-
- public synchronized MenuItem add (MenuItem item)
- {
- /* FIXME */
- return item;
- }
-
- public Font getFont() { return null; } // FIXME
- //public boolean postEvent(Event evt);
- public void remove(MenuComponent comp) { } // FIXME
-}
diff --git a/libjava/java/awt/MenuBar.java b/libjava/java/awt/MenuBar.java
deleted file mode 100644
index 4b93e8ab504..00000000000
--- a/libjava/java/awt/MenuBar.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public class MenuBar extends MenuComponent implements MenuContainer
-{
- Menu[] menus;
- int count;
-
- public synchronized Menu add (Menu m)
- {
- if (menus == null)
- menus = new Menu[1];
- else if (count == menus.length)
- {
- Menu[] newMenus = new Menu[2 * count];
- System.arraycopy(menus, 0, newMenus, 0, count);
- }
- menus[count++] = m;
- return m;
- }
-
- public void remove (MenuComponent comp)
- {
- for (int i = count; --i >= 0; )
- {
- if (menus[i] == comp)
- {
- System.arraycopy(menus, i, menus, i+1, count-i-1);
- count--;
- // FIXME: destroy peer
- return;
- }
- }
- }
-}
diff --git a/libjava/java/awt/MenuComponent.java b/libjava/java/awt/MenuComponent.java
deleted file mode 100644
index 3bd92a4b222..00000000000
--- a/libjava/java/awt/MenuComponent.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public abstract class MenuComponent
-{
-}
diff --git a/libjava/java/awt/MenuContainer.java b/libjava/java/awt/MenuContainer.java
deleted file mode 100644
index 2d8ff9275fb..00000000000
--- a/libjava/java/awt/MenuContainer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public interface MenuContainer
-{
- public Font getFont();
-
- /**
- * @deprected
- */
- public boolean postEvent(Event evt);
-
- public void remove(MenuComponent comp);
-}
-
diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java
deleted file mode 100644
index 1becbccb8ff..00000000000
--- a/libjava/java/awt/MenuItem.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-import java.awt.event.*;
-
-/* A very incomplete placeholder. */
-
-public class MenuItem extends MenuComponent
-{
- public MenuItem (String label)
- {
- throw new Error("java.awt.MenuItem: not implemented");
- }
-
- public synchronized void addActionListener (ActionListener listener)
- {
- /* FIXME */
- }
-}
diff --git a/libjava/java/awt/Point.java b/libjava/java/awt/Point.java
deleted file mode 100644
index bdeb39d513b..00000000000
--- a/libjava/java/awt/Point.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-import java.awt.geom.Point2D;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date February 8, 1999.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct, except that neither toString
- * nor hashCode have been compared with JDK output.
- */
-
-public class Point extends Point2D implements java.io.Serializable
-{
- public int x;
- public int y;
-
- public Point () { }
-
- public Point (Point p) { this.x = p.x; this.y = p.y; }
-
- public Point (int x, int y) { this.x = x; this.y = y; }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof Point))
- return false;
- Point p = (Point) obj;
- return this.x == p.x && this.y == p.y;
- }
-
- public int hashCode () { return x ^ y; }
-
- public Point getLocation () { return new Point(this); }
-
- public void move (int x, int y) { this.x = x; this.y = y; }
-
- public void setLocation (int x, int y) { this.x = x; this.y = y; }
-
- public void setLocation (Point pt) { this.x = pt.x; this.y = pt.y; }
-
- public void translate (int x, int y) { this.x += x; this.y += y; }
-
- public String toString ()
- {
- return "Point[x:"+x+",y:"+y+']';
- }
-
- public double getX() { return x; }
- public double getY() { return y; }
-
- public void setLocation (double x, double y)
- { this.x = (int) x; this.y = (int) y; }
-
-}
diff --git a/libjava/java/awt/Rectangle.java b/libjava/java/awt/Rectangle.java
deleted file mode 100644
index 975a41572e1..00000000000
--- a/libjava/java/awt/Rectangle.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* Status: Quite imcomplete. */
-
-public class Rectangle implements Shape
-{
- public int x;
- public int y;
- public int width;
- public int height;
-
- public Rectangle () { }
-
- public Rectangle (int width, int height)
- { this.width = width; this.height = height; }
-
- public Rectangle (int x, int y, int width, int height)
- {
- this.x = x; this.y = y;
- this.width = width; this.height = height;
- }
-
- public Rectangle getBounds ()
- {
- return new Rectangle (x, y, width, height);
- }
-}
diff --git a/libjava/java/awt/Shape.java b/libjava/java/awt/Shape.java
deleted file mode 100644
index c54ad15ee73..00000000000
--- a/libjava/java/awt/Shape.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary 8, 1999.
- */
-
-/* Written using "Java Class Libraries", 2nd edition.
- * Status: Believed complete and correct.
- */
-
-public interface Shape
-{
- public Rectangle getBounds ();
-}
diff --git a/libjava/java/awt/TextArea.java b/libjava/java/awt/TextArea.java
deleted file mode 100644
index 7ee3f9110c5..00000000000
--- a/libjava/java/awt/TextArea.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-
-/* A very incomplete placeholder. */
-
-public class TextArea extends TextComponent
-{
- public synchronized void append (String str)
- {
- replaceRange(str, length, length);
- }
-
- public synchronized void insert (String str, int pos)
- {
- replaceRange(str, pos, pos);
- }
-
- public synchronized void replaceRange (String str, int start, int end)
- {
- if (length == 0)
- setText (str);
- else
- {
- int len = str.length();
- int delta = len - (end - start);
- int new_length = length + delta;
- if (buffer.length < new_length)
- {
- int new_size = 2 * buffer.length;
- if (new_size < new_length)
- new_size = new_length;
- char[] new_buffer = new char[new_size];
- System.arraycopy(buffer, 0, new_buffer, 0, length);
- buffer = new_buffer;
- }
- if (len != end)
- System.arraycopy(buffer, start, buffer, start + len, len - end);
- str.getChars(0, len, buffer, start);
- length += delta;
- }
- }
-}
diff --git a/libjava/java/awt/TextComponent.java b/libjava/java/awt/TextComponent.java
deleted file mode 100644
index bbdd51830e6..00000000000
--- a/libjava/java/awt/TextComponent.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-import java.awt.event.*;
-
-/* A very incomplete placeholder. */
-
-public class TextComponent extends Component
-{
- char[] buffer;
- int length;
- int caretPosition;
-
- public synchronized String getText ()
- { return new String(buffer, 0, length); }
-
- public synchronized void setText (String text)
- {
- length = text.length();
- if (buffer == null || buffer.length < length)
- buffer = new char[length];
- text.getChars(0, length, buffer, 0);
- }
-
- public synchronized void addTextListener (TextListener listener)
- { /* FIXME */ }
-
- public int getCaretPosition () { return caretPosition; }
-
- public void setCaretPosition (int pos) { caretPosition = pos; }
-
-}
diff --git a/libjava/java/awt/Toolkit.java b/libjava/java/awt/Toolkit.java
deleted file mode 100644
index b6a27dd42f3..00000000000
--- a/libjava/java/awt/Toolkit.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-import java.awt.peer.*;
-
-/* A very incomplete placeholder. */
-
-public abstract class Toolkit
-{
- static Toolkit defaultToolkit;
-
- public static synchronized Toolkit getDefaultToolkit()
- {
- if (defaultToolkit == null)
- init();
- return defaultToolkit;
- }
-
- protected abstract FramePeer createFrame(Frame target);
-
- private static native void init();
- // static { init(); }
-}
diff --git a/libjava/java/awt/Window.java b/libjava/java/awt/Window.java
deleted file mode 100644
index a7a4b4b713f..00000000000
--- a/libjava/java/awt/Window.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt;
-import java.awt.event.WindowListener;
-
-/* A very incomplete placeholder. */
-
-public class Window extends Container
-{
- public void dispose ()
- { /* FIXME */ }
-
- public synchronized void addWindowListener (WindowListener listener)
- { /* FIXME */ }
-
-
- public void show ()
- {
- addNotify();
- // validate FIXME
- // validate setVisible FIXME
- }
-}
diff --git a/libjava/java/awt/event/ActionEvent.java b/libjava/java/awt/event/ActionEvent.java
deleted file mode 100644
index 3ea105b93b4..00000000000
--- a/libjava/java/awt/event/ActionEvent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-import java.awt.*;
-
-/* A very incomplete placeholder. */
-
-public class ActionEvent extends AWTEvent
-{
- String actionCommand;
- int modifiers;
-
- public ActionEvent (Object source, int id, String command)
- {
- super(source, id);
- actionCommand = command;
- }
-
- public ActionEvent (Object source, int id, String command, int modifiers)
- {
- super(source, id);
- actionCommand = command;
- this.modifiers = modifiers;
- }
-
- public String getActionCommand () { return actionCommand; }
-
- public int getModifiers () { return modifiers; }
-}
diff --git a/libjava/java/awt/event/ActionListener.java b/libjava/java/awt/event/ActionListener.java
deleted file mode 100644
index 5a3700a0ace..00000000000
--- a/libjava/java/awt/event/ActionListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary, 1999.
- */
-
-/* Status: Believed complete and correct. */
-
-public interface ActionListener extends java.util.EventListener
-{
- public void actionPerformed (ActionEvent e);
-}
diff --git a/libjava/java/awt/event/ComponentEvent.java b/libjava/java/awt/event/ComponentEvent.java
deleted file mode 100644
index c44ddf6ad9c..00000000000
--- a/libjava/java/awt/event/ComponentEvent.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-import java.awt.*;
-
-/* A very incomplete placeholder. */
-
-public class ComponentEvent extends AWTEvent
-{
- public ComponentEvent (Object source, int id)
- {
- super(source, id);
- }
-}
diff --git a/libjava/java/awt/event/InputEvent.java b/libjava/java/awt/event/InputEvent.java
deleted file mode 100644
index bc98e7edd0d..00000000000
--- a/libjava/java/awt/event/InputEvent.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-
-/* A very incomplete placeholder. */
-
-public class InputEvent extends ComponentEvent
-{
- InputEvent (Object source, int id) // Not public
- {
- super(source, id);
- }
-
- public void consume ()
- { /* FIXME */ }
-}
diff --git a/libjava/java/awt/event/KeyEvent.java b/libjava/java/awt/event/KeyEvent.java
deleted file mode 100644
index 1fcb9747e41..00000000000
--- a/libjava/java/awt/event/KeyEvent.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-import java.awt.*;
-
-/* A very incomplete placeholder. */
-
-public class KeyEvent extends InputEvent
-{
- int keyCode;
- char keyChar;
- int modifiers;
-
- public KeyEvent (Component source, int id, long when,
- int modifiers, int keyCode, char keyChar)
- {
- super(source, id);
- this.keyCode = keyCode;
- this.keyChar = keyChar;
- this.modifiers = modifiers;
- }
-
- public int getKeyCode () { return keyCode; }
-
- public char getKeyChar () { return keyChar; }
-
- public void setKeyCode (int keyCode) { this.keyCode = keyCode; }
-
- public void setKeyChar (char keyChar) { this.keyChar = keyChar; }
-
- public void setModifiers (int modifiers) { this.modifiers = modifiers; }
-}
diff --git a/libjava/java/awt/event/KeyListener.java b/libjava/java/awt/event/KeyListener.java
deleted file mode 100644
index 126cc459136..00000000000
--- a/libjava/java/awt/event/KeyListener.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary, 1999.
- */
-
-/* Status: Believed complete and correct. */
-
-public interface KeyListener extends java.util.EventListener
-{
- public void keyPressed (KeyEvent w);
- public void keyReleased (KeyEvent w);
- public void keyTyped (KeyEvent w);
-}
diff --git a/libjava/java/awt/event/TextEvent.java b/libjava/java/awt/event/TextEvent.java
deleted file mode 100644
index b3725f920eb..00000000000
--- a/libjava/java/awt/event/TextEvent.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-import java.awt.*;
-
-/* A very incomplete placeholder. */
-
-public class TextEvent extends AWTEvent
-{
- public TextEvent (Object source, int id)
- {
- super(source, id);
- }
-}
diff --git a/libjava/java/awt/event/TextListener.java b/libjava/java/awt/event/TextListener.java
deleted file mode 100644
index b4863fff8d9..00000000000
--- a/libjava/java/awt/event/TextListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary, 1999.
- */
-
-/* Status: Believed complete and correct. */
-
-public interface TextListener extends java.util.EventListener
-{
- public void textValueChanged (TextEvent w);
-}
-
diff --git a/libjava/java/awt/event/WindowAdapter.java b/libjava/java/awt/event/WindowAdapter.java
deleted file mode 100644
index f2675a3cca1..00000000000
--- a/libjava/java/awt/event/WindowAdapter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary, 1999.
- */
-
-/* Status: Believed complete and correct. */
-
-public class WindowAdapter implements WindowListener
-{
- public void windowActivated (WindowEvent w) { }
- public void windowClosed (WindowEvent w) { }
- public void windowClosing (WindowEvent w) { }
- public void windowDeactivated (WindowEvent w) { }
- public void windowDeiconified (WindowEvent w) { }
- public void windowIconified (WindowEvent w) { }
- public void windowOpened (WindowEvent w) { }
-}
diff --git a/libjava/java/awt/event/WindowEvent.java b/libjava/java/awt/event/WindowEvent.java
deleted file mode 100644
index 4b347dd6bc2..00000000000
--- a/libjava/java/awt/event/WindowEvent.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-
-/* A very incomplete placeholder. */
-
-public class WindowEvent extends ComponentEvent
-{
- public WindowEvent (Object source, int id)
- {
- super(source, id);
- }
-}
diff --git a/libjava/java/awt/event/WindowListener.java b/libjava/java/awt/event/WindowListener.java
deleted file mode 100644
index ff8ae943363..00000000000
--- a/libjava/java/awt/event/WindowListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.event;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary, 1999.
- */
-
-/* Status: Believed complete and correct. */
-
-public interface WindowListener extends java.util.EventListener
-{
- public void windowActivated (WindowEvent w);
- public void windowClosed (WindowEvent w);
- public void windowClosing (WindowEvent w);
- public void windowDeactivated (WindowEvent w);
- public void windowDeiconified (WindowEvent w);
- public void windowIconified (WindowEvent w);
- public void windowOpened (WindowEvent w);
-}
diff --git a/libjava/java/awt/geom/Dimension2D.java b/libjava/java/awt/geom/Dimension2D.java
deleted file mode 100644
index 7bdcf37c376..00000000000
--- a/libjava/java/awt/geom/Dimension2D.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.geom;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary, 1999.
- */
-
-/* Written using online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public abstract class Dimension2D implements Cloneable
-{
- public abstract double getWidth();
- public abstract double getHeight();
-
- public abstract void setSize (double width, double height);
-
- public void setSize (Dimension2D dim)
- {
- setSize(dim.getWidth(), dim.getHeight());
- }
-
- public Object clone ()
- {
- return super.clone();
- }
-}
diff --git a/libjava/java/awt/geom/Point2D.java b/libjava/java/awt/geom/Point2D.java
deleted file mode 100644
index 3d9e0a4a9da..00000000000
--- a/libjava/java/awt/geom/Point2D.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.geom;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date Fenruary 8, 1999.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct, except that neither toString
- * nor hashCode have been compared with JDK output.
- */
-
-public abstract class Point2D implements Cloneable
-{
- public abstract double getX();
- public abstract double getY();
-
- public abstract void setLocation (double x, double y);
-
- public void setLocation (Point2D pt) { setLocation(pt.getX(), pt.getY()); }
-
- static public double distanceSq (double X1, double Y1, double X2, double Y2)
- {
- X2 -= X1;
- Y2 -= Y1;
- return X2*X2 + Y2*Y2;
- }
-
- static public double distance (double X1, double Y1, double X2, double Y2)
- {
- return Math.sqrt(distance(X1, Y1, X2, Y2));
- }
-
- public double distanceSq (double PX, double PY)
- {
- return distanceSq (getX(), PX, getY(), PY);
- }
-
- public double distance (double PX, double PY)
- {
- return distance (getX(), PX, getY(), PY);
- }
-
- public double distanceSq (Point2D pt)
- {
- return distanceSq (getX(), pt.getX(), getY(), pt.getY());
- }
-
- public double distance (Point2D pt)
- {
- return distance (getX(), pt.getX(), getY(), pt.getY());
- }
-
- public int hashCode() { return (int) getX() ^ (int) getY(); }
-
- public Object clone()
- {
- return super.clone();
- }
-}
diff --git a/libjava/java/awt/natToolkit.cc b/libjava/java/awt/natToolkit.cc
deleted file mode 100644
index 2d644a6b783..00000000000
--- a/libjava/java/awt/natToolkit.cc
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-/*#define ENABLE_GTK*/
-
-#include <cni.h>
-#include <java/awt/Toolkit.h>
-#ifdef ENABLE_GTK
-#include <java/awt/peer/GtkToolkit.h>
-#endif
-
-void
-java::awt::Toolkit::init()
-{
-#ifdef ENABLE_GTK
- defaultToolkit = new java::awt::peer::GtkToolkit();
-#else
- JvFail("no awt (graphics) toolkit available");
-#endif
-}
diff --git a/libjava/java/awt/peer/ComponentPeer.java b/libjava/java/awt/peer/ComponentPeer.java
deleted file mode 100644
index edf47a622a0..00000000000
--- a/libjava/java/awt/peer/ComponentPeer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.peer;
-import java.awt.*;
-
-/* A very incomplete placeholder. */
-
-public interface ComponentPeer
-{
- public abstract Toolkit getToolkit ();
-
- public Dimension getMinimumSize ();
-
- public Dimension getPreferredSize ();
-
- public void setBounds (int x, int y, int w, int h);
-}
diff --git a/libjava/java/awt/peer/ContainerPeer.java b/libjava/java/awt/peer/ContainerPeer.java
deleted file mode 100644
index 6c5ad1cdd62..00000000000
--- a/libjava/java/awt/peer/ContainerPeer.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.peer;
-
-/* A very incomplete placeholder. */
-
-public interface ContainerPeer extends ComponentPeer
-{
-}
diff --git a/libjava/java/awt/peer/FramePeer.java b/libjava/java/awt/peer/FramePeer.java
deleted file mode 100644
index 6db70193ab6..00000000000
--- a/libjava/java/awt/peer/FramePeer.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.peer;
-
-/* A very incomplete placeholder. */
-
-public interface FramePeer extends WindowPeer
-{
- void setTitle(String title);
-}
diff --git a/libjava/java/awt/peer/WindowPeer.java b/libjava/java/awt/peer/WindowPeer.java
deleted file mode 100644
index 9d76f56016c..00000000000
--- a/libjava/java/awt/peer/WindowPeer.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.awt.peer;
-
-/* A very incomplete placeholder. */
-
-public interface WindowPeer extends ContainerPeer
-{
-}
diff --git a/libjava/java/io/BufferedInputStream.java b/libjava/java/io/BufferedInputStream.java
deleted file mode 100644
index 698abf608af..00000000000
--- a/libjava/java/io/BufferedInputStream.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 8, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class BufferedInputStream extends FilterInputStream
-{
- /* Internal buffer array for data. */
- protected byte[] buf;
-
- /* Index one greater than the last valid byte in the buffer. */
- protected int count = 0;
-
- /* The current position in the buffer. */
- protected int pos = 0;
-
- /* The value of pos the last time mark() was called. */
- protected int markpos = -1;
-
- /* The maximum read-ahead allowed before calls to reset() fail. */
- protected int marklimit = 0;
-
- public BufferedInputStream(InputStream in)
- {
- this(in, 2048);
- }
-
- public BufferedInputStream(InputStream in, int size)
- {
- super(in);
- if (size <= 0)
- throw new IllegalArgumentException();
- buf = new byte[size];
- }
-
- public synchronized int available() throws IOException
- {
- return count - pos + super.available();
- }
-
- public void close() throws IOException
- {
- // Free up the array memory.
- buf = null;
- super.close();
- }
-
- public synchronized void mark(int readlimit)
- {
- marklimit = readlimit;
- markpos = pos;
- }
-
- public boolean markSupported()
- {
- return true;
- }
-
- public synchronized int read() throws IOException
- {
- if (pos >= count && !refill())
- return -1; // EOF
-
- if (markpos >= 0 && pos - markpos > marklimit)
- markpos = -1;
-
- return ((int) buf[pos++]) & 0xFF;
- }
-
- public synchronized int read(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- if (pos >= count && !refill())
- return -1; // No bytes were read before EOF.
-
- int remain = Math.min(count - pos, len);
- System.arraycopy(buf, pos, b, off, remain);
- pos += remain;
-
- if (markpos >= 0 && pos - markpos > marklimit)
- markpos = -1;
-
- return remain;
- }
-
- public synchronized void reset() throws IOException
- {
- if (markpos < 0)
- throw new IOException();
-
- pos = markpos;
- }
-
- public synchronized long skip(long n) throws IOException
- {
- final long origN = n;
-
- while (n > 0L)
- {
- if (pos >= count && !refill())
- if (n < origN)
- break;
- else
- return -1; // No bytes were read before EOF.
-
- int numread = (int) Math.min((long) (count - pos), n);
- pos += numread;
- n -= numread;
-
- if (markpos >= 0 && pos - markpos > marklimit)
- markpos = -1;
- }
-
- return origN - n;
- }
-
- private boolean refill() throws IOException
- {
- if (markpos < 0)
- count = pos = 0;
- else if (markpos > 0)
- {
- // Shift the marked bytes (if any) to the beginning of the array
- // but don't grow it. This saves space in case a reset is done
- // before we reach the max capacity of this array.
- System.arraycopy(buf, markpos, buf, 0, count - markpos);
- count -= markpos;
- pos -= markpos;
- markpos = 0;
- }
- else if (marklimit >= buf.length) // BTW, markpos == 0
- {
- // Need to grow the buffer now to have room for marklimit bytes.
- // Note that the new buffer is one greater than marklimit.
- // This is so that there will be one byte past marklimit to be read
- // before having to call refill again, thus allowing marklimit to be
- // invalidated. That way refill doesn't have to check marklimit.
- byte[] newbuf = new byte[marklimit + 1];
- System.arraycopy(buf, 0, newbuf, 0, count);
- buf = newbuf;
- }
-
- int numread = super.read(buf, count, buf.length - count);
-
- if (numread < 0) // EOF
- return false;
-
- count += numread;
- return true;
- }
-}
diff --git a/libjava/java/io/BufferedOutputStream.java b/libjava/java/io/BufferedOutputStream.java
deleted file mode 100644
index d37ed5d2cb0..00000000000
--- a/libjava/java/io/BufferedOutputStream.java
+++ /dev/null
@@ -1,76 +0,0 @@
-// BufferedOutputStream.java - A buffered stream
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public class BufferedOutputStream extends FilterOutputStream
-{
- public BufferedOutputStream (OutputStream ox)
- {
- this (ox, 512);
- }
-
- public BufferedOutputStream (OutputStream ox, int size)
- {
- super (ox);
- buf = new byte[size];
- }
-
- public synchronized void flush () throws IOException
- {
- out.write(buf, 0, count);
- count = 0;
- out.flush();
- }
-
- public synchronized void write (int b) throws IOException
- {
- if (count < buf.length)
- buf[count++] = (byte) b;
- else
- {
- out.write(buf, 0, count);
- count = 0;
- out.write(b);
- }
- }
-
- public synchronized void write (byte[] b, int off, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException
- {
- // If LEN < 0 then the downstream write will fail for us.
- if (len >= 0 && count + len < buf.length)
- {
- System.arraycopy(b, off, buf, count, len);
- count += len;
- }
- else
- {
- out.write(buf, 0, count);
- count = 0;
- out.write(b, off, len);
- }
- }
-
- // The buffer.
- protected byte[] buf;
- // Number of valid bytes in BUF.
- protected int count;
-}
diff --git a/libjava/java/io/BufferedReader.java b/libjava/java/io/BufferedReader.java
deleted file mode 100644
index 19e371a24e3..00000000000
--- a/libjava/java/io/BufferedReader.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 22, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class BufferedReader extends Reader
-{
- Reader in;
- char[] buffer;
- /* Index of current read position. Must be >= 0 and <= limit. */
- /* There is a special case where pos may be equal to limit+1; this
- * is used as an indicator that a readLine was done with a '\r' was
- * the very last char in the buffer. Since we don't want to read-ahead
- * and potentially block, we set pos this way to indicate the situation
- * and deal with it later. Doing it this way rather than having a
- * separate boolean field to indicate the condition has the advantage
- * that it is self-clearing on things like mark/reset.
- */
- int pos;
- /* Limit of valid data in buffer. Must be >= pos and <= buffer.length. */
- /* This can be < pos in the one special case described above. */
- int limit;
-
- /* The value -1 means there is no mark, or the mark has been invalidated.
- Otherwise, markPos is the index in the buffer of the marked position.
- Must be >= 0 and <= pos.
- Note we do not explicitly store the read-limit.
- The implicit read-limit is (buffer.length - markPos), which is
- guaranteed to be >= the read-limit requested in the call to mark. */
- int markPos = -1;
-
- public BufferedReader(Reader in)
- {
- this(in, 8192);
- }
-
- public BufferedReader(Reader in, int size)
- {
- super(in.lock);
- this.in = in;
- buffer = new char[size];
- }
-
- public void close() throws IOException
- {
- synchronized (lock)
- {
- if (in != null)
- in.close();
- in = null;
- buffer = null;
- }
- }
-
- public boolean markSupported()
- {
- return true;
- }
-
- public void mark(int readLimit) throws IOException
- {
- synchronized (lock)
- {
- // In this method we need to be aware of the special case where
- // pos + 1 == limit. This indicates that a '\r' was the last char
- // in the buffer during a readLine. We'll want to maintain that
- // condition after we shift things around and if a larger buffer is
- // needed to track readLimit, we'll have to make it one element
- // larger to ensure we don't invalidate the mark too early, if the
- // char following the '\r' is NOT a '\n'. This is ok because, per
- // the spec, we are not required to invalidate when passing readLimit.
- //
- // Note that if 'pos > limit', then doing 'limit -= pos' will cause
- // limit to be negative. This is the only way limit will be < 0.
-
- if (pos + readLimit > limit)
- {
- char[] old_buffer = buffer;
- int extraBuffSpace = 0;
- if (pos > limit)
- extraBuffSpace = 1;
- if (readLimit + extraBuffSpace > limit)
- buffer = new char[readLimit + extraBuffSpace];
- limit -= pos;
- if (limit >= 0)
- {
- System.arraycopy(old_buffer, pos, buffer, 0, limit);
- pos = 0;
- }
- }
-
- if (limit < 0)
- {
- // Maintain the relationship of 'pos > limit'.
- pos = 1;
- limit = markPos = 0;
- }
- else
- markPos = pos;
- // Now pos + readLimit <= buffer.length. thus if we need to read
- // beyond buffer.length, then we are allowed to invalidate markPos.
- }
- }
-
- public void reset() throws IOException
- {
- synchronized (lock)
- {
- if (markPos < 0)
- throw new IOException("mark never set or invalidated");
-
- // Need to handle the extremely unlikely case where a readLine was
- // done with a '\r' as the last char in the buffer; which was then
- // immediately followed by a mark and a reset with NO intervening
- // read of any sort. In that case, setting pos to markPos would
- // lose that info and a subsequent read would thus not skip a '\n'
- // (if one exists). The value of limit in this rare case is zero.
- // We can assume that if limit is zero for other reasons, then
- // pos is already set to zero and doesn't need to be readjusted.
- if (limit > 0)
- pos = markPos;
- }
- }
-
- public boolean ready() throws IOException
- {
- synchronized (lock)
- {
- return pos < limit || in.ready();
- }
- }
-
- public int read(char[] buf, int offset, int count) throws IOException
- {
- synchronized (lock)
- {
- // Once again, we need to handle the special case of a readLine
- // that has a '\r' at the end of the buffer. In this case, we'll
- // need to skip a '\n' if it is the next char to be read.
- // This special case is indicated by 'pos > limit'.
- boolean retAtEndOfBuffer = false;
-
- int avail = limit - pos;
- if (count > avail)
- {
- if (avail > 0)
- count = avail;
- else // pos >= limit
- {
- if (limit == buffer.length)
- markPos = -1; // read too far - invalidate the mark.
- if (pos > limit)
- {
- // Set a boolean and make pos == limit to simplify things.
- retAtEndOfBuffer = true;
- --pos;
- }
- if (markPos < 0)
- {
- // Optimization: can read directly into buf.
- if (count >= buffer.length && !retAtEndOfBuffer)
- return in.read(buf, offset, count);
- pos = limit = 0;
- }
- avail = in.read(buffer, limit, buffer.length - limit);
- if (retAtEndOfBuffer && avail > 0 && buffer[limit] == '\n')
- {
- --avail;
- limit++;
- }
- if (avail < count)
- {
- if (avail <= 0)
- return avail;
- count = avail;
- }
- limit += avail;
- }
- }
- System.arraycopy(buffer, pos, buf, offset, count);
- pos += count;
- return count;
- }
- }
-
- /* Read more data into the buffer. Update pos and limit appropriatly.
- Assumes pos==limit initially. May invalidate the mark if read too much.
- Return number of chars read (never 0), or -1 on eof. */
- private int fill() throws IOException
- {
- // Handle the special case of a readLine that has a '\r' at the end of
- // the buffer. In this case, we'll need to skip a '\n' if it is the
- // next char to be read. This special case is indicated by 'pos > limit'.
- boolean retAtEndOfBuffer = false;
- if (pos > limit)
- {
- retAtEndOfBuffer = true;
- --pos;
- }
-
- if (markPos >= 0 && limit == buffer.length)
- markPos = -1;
- if (markPos <= 0)
- pos = limit = 0;
- int count = in.read(buffer, limit, buffer.length - limit);
- if (count > 0)
- limit += count;
-
- if (retAtEndOfBuffer && buffer[pos] == '\n')
- {
- --count;
- pos++;
- }
-
- return count;
- }
-
- public int read() throws IOException
- {
- synchronized (lock)
- {
- if (pos >= limit && fill () <= 0)
- return -1;
- return buffer[pos++];
- }
- }
-
- /* Return the end of the line starting at this.pos and ending at limit.
- * The index returns is *before* any line terminators, or limit
- * if no line terminators were found.
- */
- private int lineEnd(int limit)
- {
- int i = pos;
- for (; i < limit; i++)
- {
- char ch = buffer[i];
- if (ch == '\n' || ch == '\r')
- break;
- }
- return i;
- }
-
- public String readLine() throws IOException
- {
- // Handle the special case where a previous readLine (with no intervening
- // reads/skips) had a '\r' at the end of the buffer.
- // In this case, we'll need to skip a '\n' if it's the next char to be read.
- // This special case is indicated by 'pos > limit'.
- if (pos > limit)
- {
- int ch = read();
- if (ch < 0)
- return null;
- if (ch != '\n')
- --pos;
- }
- int i = lineEnd(limit);
- if (i < limit)
- {
- String str = new String(buffer, pos, i - pos);
- pos = i + 1;
- // If the last char in the buffer is a '\r', we must remember
- // to check if the next char to be read after the buffer is refilled
- // is a '\n'. If so, skip it. To indicate this condition, we set pos
- // to be limit + 1, which normally is never possible.
- if (buffer[i] == '\r')
- if (pos == limit || buffer[pos] == '\n')
- pos++;
- return str;
- }
- StringBuffer sbuf = new StringBuffer(200);
- sbuf.append(buffer, pos, i - pos);
- pos = i;
- // We only want to return null when no characters were read before
- // EOF. So we must keep track of this separately. Otherwise we
- // would treat an empty `sbuf' as an EOF condition, which is wrong
- // when there is just a newline.
- boolean eof = false;
- for (;;)
- {
- int ch = read();
- if (ch < 0)
- {
- eof = true;
- break;
- }
- if (ch == '\n' || ch == '\r')
- {
- // Check here if a '\r' was the last char in the buffer; if so,
- // mark it as in the comment above to indicate future reads
- // should skip a newline that is the next char read after
- // refilling the buffer.
- if (ch == '\r')
- if (pos == limit || buffer[pos] == '\n')
- pos++;
- break;
- }
- i = lineEnd(limit);
- sbuf.append(buffer, pos - 1, i - (pos - 1));
- pos = i;
- }
- return (sbuf.length() == 0 && eof) ? null : sbuf.toString();
- }
-
- public long skip(long count) throws IOException
- {
- if (count <= 0)
- return 0;
- synchronized (lock)
- {
- // Yet again, we need to handle the special case of a readLine
- // that has a '\r' at the end of the buffer. In this case, we need
- // to ignore a '\n' if it is the next char to be read.
- // This special case is indicated by 'pos > limit' (i.e. avail < 0).
- // To simplify things, if we're dealing with the special case for
- // readLine, just read the next char (since the fill method will
- // skip the '\n' for us). By doing this, we'll have to back up pos.
- // That's easier than trying to keep track of whether we've skipped
- // one element or not.
- int ch;
- if (pos > limit)
- if ((ch = read()) < 0)
- return 0;
- else
- --pos;
-
- int avail = limit - pos;
-
- if (count < avail)
- {
- pos += count;
- return count;
- }
-
- pos = limit;
- long todo = count - avail;
- if (todo > buffer.length)
- {
- markPos = -1;
- todo -= in.skip(todo);
- }
- else
- {
- while (todo > 0)
- {
- avail = fill();
- if (avail <= 0)
- break;
- if (avail > todo)
- avail = (int) todo;
- pos += avail;
- todo -= avail;
- }
- }
- return count - todo;
- }
- }
-}
diff --git a/libjava/java/io/BufferedWriter.java b/libjava/java/io/BufferedWriter.java
deleted file mode 100644
index 85aceed68bd..00000000000
--- a/libjava/java/io/BufferedWriter.java
+++ /dev/null
@@ -1,129 +0,0 @@
-// BufferedWriter.java - Filtered character output stream.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-// Why not extend FilterWriter?
-public class BufferedWriter extends Writer
-{
- public BufferedWriter (Writer out)
- {
- this (out, 8192);
- }
-
- public BufferedWriter (Writer ox, int size)
- {
- super (ox);
- out = ox;
- buffer = new char[size];
- count = 0;
- }
-
- public void close () throws IOException
- {
- localFlush ();
- out.close();
- }
-
- public void flush () throws IOException
- {
- localFlush ();
- out.flush();
- }
-
- public void newLine () throws IOException
- {
- write (System.getProperty("line.separator"));
- }
-
- public void write (int oneChar) throws IOException
- {
- synchronized (lock)
- {
- buffer[count++] = (char) oneChar;
- if (count == buffer.length)
- localFlush ();
- }
- }
-
- public void write (char[] buf, int offset, int len) throws IOException
- {
- if (offset < 0 || len < 0 || offset + len > buf.length)
- throw new ArrayIndexOutOfBoundsException ();
-
- synchronized (lock)
- {
- // Bypass buffering if there is too much incoming data.
- if (count + len > buffer.length)
- {
- localFlush ();
- out.write(buf, offset, len);
- }
- else
- {
- System.arraycopy(buf, offset, buffer, count, len);
- count += len;
- if (count == buffer.length)
- localFlush ();
- }
- }
- }
-
- public void write (String str, int offset, int len) throws IOException
- {
- if (offset < 0 || len < 0 || offset + len < str.length())
- throw new ArrayIndexOutOfBoundsException ();
-
- synchronized (lock)
- {
- if (count + len > buffer.length)
- {
- localFlush ();
- out.write(str, offset, len);
- }
- else
- {
- str.getChars(offset, offset + len, buffer, count);
- count += len;
- if (count == buffer.length)
- localFlush ();
- }
- }
- }
-
- private final void localFlush () throws IOException
- {
- if (count > 0)
- {
- synchronized (lock)
- {
- out.write(buffer, 0, count);
- count = 0;
- }
- }
- }
-
- // The downstream writer.
- private Writer out;
- // The character buffer.
- char[] buffer;
- // Number of valid chars in buffer.
- int count;
-}
diff --git a/libjava/java/io/ByteArrayInputStream.java b/libjava/java/io/ByteArrayInputStream.java
deleted file mode 100644
index 9b9bf964baa..00000000000
--- a/libjava/java/io/ByteArrayInputStream.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 7, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-public class ByteArrayInputStream extends InputStream
-{
- /* An array of bytes provided by the creator of the stream. */
- protected byte[] buf;
-
- /* Position of the next byte in buf to be read. */
- protected int pos;
-
- /* The currently marked position in the stream. */
- protected int mark;
-
- /* The index in buf one greater than the last valid character. */
- protected int count;
-
- public ByteArrayInputStream(byte[] buffer)
- {
- this(buffer, 0, buffer.length);
- }
-
- public ByteArrayInputStream(byte[] buffer, int offset, int length)
- {
- buf = buffer;
-
- count = offset + length;
- if (count > buf.length)
- count = buf.length;
-
- pos = offset;
- // TBD: What should we do if pos is neg. or > count? E.g. throw exc. or:
- // if (pos < 0 || pos > count)
- // pos = 0;
-
- mark = pos;
- }
-
- public synchronized int available()
- {
- return count - pos;
- }
-
- public synchronized void mark(int readAheadLimit)
- {
- // readAheadLimit is ignored per Java Class Lib. book, p.220.
- mark = pos;
- }
-
- public boolean markSupported()
- {
- return true;
- }
-
- public synchronized int read()
- {
- if (pos < 0)
- throw new ArrayIndexOutOfBoundsException(pos);
-
- if (pos < count)
- return ((int) buf[pos++]) & 0xFF;
- return -1;
- }
-
- public synchronized int read(byte[] b, int off, int len)
- {
- /* Don't need to check pos value, arraycopy will check it. */
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- if (pos >= count)
- return -1;
-
- int numBytes = Math.min(count - pos, len);
- System.arraycopy(buf, pos, b, off, numBytes);
- pos += numBytes;
- return numBytes;
- }
-
- public synchronized void reset()
- {
- pos = mark;
- }
-
- public synchronized long skip(long n)
- {
- // Even though the var numBytes is a long, in reality it can never
- // be larger than an int since the result of subtracting 2 positive
- // ints will always fit in an int. Since we have to return a long
- // anyway, numBytes might as well just be a long.
- long numBytes = Math.min((long) (count - pos), n < 0 ? 0L : n);
- pos += numBytes;
- return numBytes;
- }
-}
diff --git a/libjava/java/io/ByteArrayOutputStream.java b/libjava/java/io/ByteArrayOutputStream.java
deleted file mode 100644
index 4d5f224e376..00000000000
--- a/libjava/java/io/ByteArrayOutputStream.java
+++ /dev/null
@@ -1,108 +0,0 @@
-// ByteArrayOutputStream.java - Write bytes to an array.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public class ByteArrayOutputStream extends OutputStream
-{
- public ByteArrayOutputStream ()
- {
- this (32);
- }
-
- public ByteArrayOutputStream (int size)
- {
- buf = new byte[size];
- count = 0;
- }
-
- public synchronized void reset ()
- {
- count = 0;
- }
-
- public int size ()
- {
- return count;
- }
-
- public synchronized byte[] toByteArray ()
- {
- byte[] ret = new byte[count];
- System.arraycopy(buf, 0, ret, 0, count);
- return ret;
- }
-
- public String toString ()
- {
- return new String (buf, 0, count);
- }
-
- public String toString (String enc) throws UnsupportedEncodingException
- {
- return new String (buf, 0, count, enc);
- }
-
- // This is deprecated in the JCL book.
- public String toString (int hibyte)
- {
- return new String (buf, 0, count, hibyte);
- }
-
- // Resize buffer to accomodate new bytes.
- private void resize (int add)
- {
- if (count + add >= buf.length)
- {
- int newlen = buf.length * 2;
- if (count + add > newlen)
- newlen = count + add;
- byte[] newbuf = new byte[newlen];
- System.arraycopy(buf, 0, newbuf, 0, count);
- buf = newbuf;
- }
- }
-
- public synchronized void write (int oneByte)
- {
- resize (1);
- buf[count++] = (byte) oneByte;
- }
-
- public synchronized void write (byte[] buffer, int offset, int add)
- {
- // If ADD < 0 then arraycopy will throw the appropriate error for
- // us.
- if (add >= 0)
- resize (add);
- System.arraycopy(buffer, offset, buf, count, add);
- count += add;
- }
-
- public synchronized void writeTo (OutputStream out) throws IOException
- {
- out.write(buf, 0, count);
- }
-
- // The byte buffer.
- protected byte[] buf;
- // Number of valid bytes in buffer.
- protected int count;
-}
diff --git a/libjava/java/io/CharArrayReader.java b/libjava/java/io/CharArrayReader.java
deleted file mode 100644
index a43e8da62e9..00000000000
--- a/libjava/java/io/CharArrayReader.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 16, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-public class CharArrayReader extends Reader
-{
- /* An array of chars provided by the creator of the stream. */
- protected char[] buf;
-
- /* Position of the next char in buf to be read. */
- protected int pos;
-
- /* The currently marked position in the stream. */
- protected int markedPos;
-
- /* The index in buf one greater than the last valid character. */
- protected int count;
-
- public CharArrayReader(char[] buffer)
- {
- this(buffer, 0, buffer.length);
- }
-
- public CharArrayReader(char[] buffer, int offset, int length)
- {
- super();
- buf = buffer;
-
- count = offset + length;
- if (count > buf.length)
- count = buf.length;
-
- pos = offset;
- // TBD: What should we do if pos is neg. or > count? E.g. throw exc. or:
- // if (pos < 0 || pos > count)
- // pos = 0;
-
- markedPos = pos;
- }
-
- public void close()
- {
- synchronized (lock)
- {
- buf = null;
- }
- }
-
- public void mark(int readAheadLimit)
- {
- synchronized (lock)
- {
- // readAheadLimit is ignored per Java Class Lib. book, p. 318.
- markedPos = pos;
- }
- }
-
- public boolean markSupported()
- {
- return true;
- }
-
- public int read() throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- if (pos < 0)
- throw new ArrayIndexOutOfBoundsException(pos);
-
- if (pos < count)
- return ((int) buf[pos++]) & 0xFFFF;
- return -1;
- }
- }
-
- public int read(char[] b, int off, int len) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- /* Don't need to check pos value, arraycopy will check it. */
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- if (pos >= count)
- return -1;
-
- int numChars = Math.min(count - pos, len);
- System.arraycopy(buf, pos, b, off, numChars);
- pos += numChars;
- return numChars;
- }
- }
-
- public boolean ready() throws IOException
- {
- if (buf == null)
- throw new IOException();
-
- return true;
- }
-
- public void reset() throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- pos = markedPos;
- }
- }
-
- public long skip(long n) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- // Even though the var numChars is a long, in reality it can never
- // be larger than an int since the result of subtracting 2 positive
- // ints will always fit in an int. Since we have to return a long
- // anyway, numChars might as well just be a long.
- long numChars = Math.min((long) (count - pos), n < 0 ? 0L : n);
- pos += numChars;
- return numChars;
- }
- }
-}
diff --git a/libjava/java/io/CharArrayWriter.java b/libjava/java/io/CharArrayWriter.java
deleted file mode 100644
index 3e1e4a4f78e..00000000000
--- a/libjava/java/io/CharArrayWriter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-// CharArrayWriter.java - Character array output stream.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class CharArrayWriter extends Writer
-{
- public CharArrayWriter ()
- {
- this (32);
- }
-
- public CharArrayWriter (int size)
- {
- super ();
- buf = new char[size];
- }
-
- public void close ()
- {
- // JCL says this does nothing. This seems to violate the Writer
- // contract, in that other methods should still throw and
- // IOException after a close. Still, we just follow JCL.
- }
-
- public void flush ()
- {
- }
-
- public synchronized void reset ()
- {
- count = 0;
- }
-
- public int size ()
- {
- return count;
- }
-
- public char[] toCharArray ()
- {
- char[] nc = new char[count];
- System.arraycopy(buf, 0, nc, 0, count);
- return nc;
- }
-
- public String toString ()
- {
- return new String (buf, 0, count);
- }
-
- public void write (int oneChar)
- {
- synchronized (lock)
- {
- resize (1);
- buf[count++] = (char) oneChar;
- }
- }
-
- public void write (char[] buffer, int offset, int len)
- {
- synchronized (lock)
- {
- if (len >= 0)
- resize (len);
- System.arraycopy(buffer, offset, buf, count, len);
- count += len;
- }
- }
-
- public void write (String str, int offset, int len)
- {
- synchronized (lock)
- {
- if (len >= 0)
- resize (len);
- str.getChars(offset, offset + len, buf, count);
- count += len;
- }
- }
-
- public void writeTo (Writer out) throws IOException
- {
- out.write(buf, 0, count);
- }
-
- private final void resize (int len)
- {
- if (count + len >= buf.length)
- {
- int newlen = buf.length * 2;
- if (count + len > newlen)
- newlen = count + len;
- char[] newbuf = new char[newlen];
- System.arraycopy(buf, 0, newbuf, 0, count);
- buf = newbuf;
- }
- }
-
- // The character buffer.
- protected char[] buf;
- // Number of valid characters in buffer.
- protected int count;
-}
diff --git a/libjava/java/io/CharConversionException.java b/libjava/java/io/CharConversionException.java
deleted file mode 100644
index 039578e4c52..00000000000
--- a/libjava/java/io/CharConversionException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// CharConversionException.java - Problem converting char to byte encoding.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class CharConversionException extends IOException
-{
- public CharConversionException ()
- {
- super ();
- }
-
- public CharConversionException (String s)
- {
- super (s);
- }
-}
diff --git a/libjava/java/io/DataInput.java b/libjava/java/io/DataInput.java
deleted file mode 100644
index 2c6f988cc79..00000000000
--- a/libjava/java/io/DataInput.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 2, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public interface DataInput
-{
- public boolean readBoolean() throws IOException;
- public byte readByte() throws IOException;
- public char readChar() throws IOException;
- public double readDouble() throws IOException;
- public float readFloat() throws IOException;
- public void readFully(byte[] b)
- throws IOException, NullPointerException;
- public void readFully(byte[] b, int off, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException;
- public int readInt() throws IOException;
- public String readLine() throws IOException;
- public long readLong() throws IOException;
- public short readShort() throws IOException;
- public int readUnsignedByte() throws IOException;
- public int readUnsignedShort() throws IOException;
- public String readUTF() throws IOException;
- public int skipBytes(int n) throws IOException;
-}
diff --git a/libjava/java/io/DataInputStream.java b/libjava/java/io/DataInputStream.java
deleted file mode 100644
index d03f8f4da3e..00000000000
--- a/libjava/java/io/DataInputStream.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 20, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class DataInputStream extends FilterInputStream implements DataInput
-{
- public DataInputStream(InputStream in)
- {
- super(in);
- }
-
- public final int read(byte[] b) throws IOException
- {
- return super.read(b, 0, b.length);
- }
-
- public final int read(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- return super.read(b, off, len);
- }
-
- public final boolean readBoolean() throws IOException
- {
- return (readByte() != 0);
- }
-
- public final byte readByte() throws IOException
- {
- int i = read();
- if (i < 0)
- throw new EOFException();
-
- return (byte) i;
- }
-
- public final char readChar() throws IOException
- {
- return (char) ((readByte() << 8) | readUnsignedByte());
- }
-
- public final double readDouble() throws IOException
- {
- return Double.longBitsToDouble(readLong());
- }
-
- public final float readFloat() throws IOException
- {
- return Float.intBitsToFloat(readInt());
- }
-
- public final void readFully(byte[] b) throws IOException
- {
- readFully(b, 0, b.length);
- }
-
- public final void readFully(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- while (len > 0)
- {
- // super.read will block until some data is available.
- int numread = super.read(b, off, len);
- if (numread < 0)
- throw new EOFException();
- len -= numread;
- off += numread;
- }
- }
-
- public final int readInt() throws IOException
- {
- int retval = 0;
- for (int i = 0; i < 4; i++)
- retval |= readUnsignedByte() << (24 - i * 8);
-
- return retval;
- }
-
- // Deprecated as of JDK 1.1
- public final String readLine() throws IOException
- {
- StringBuffer strb = new StringBuffer();
-
- while (true)
- {
- int c = read();
- if (c < 0) // got an EOF
- return strb.length() > 0 ? strb.toString() : null;
- char ch = (char) c;
- if ((ch &= 0xFF) == '\n')
- break;
- if (ch == '\r')
- {
- // FIXME: The following code tries to adjust the stream back one
- // character if the next char read is '\n'. As a last resort,
- // it tries to mark the position before reading but the bottom
- // line is that it is possible that this method will not properly
- // deal with a '\r' '\n' combination thus not fulfilling the
- // DataInput contract for readLine. It's not a particularly
- // safe approach threadwise since it is unsynchronized and
- // since it might mark an input stream behind the users back.
- // Along the same vein it could try the same thing for
- // ByteArrayInputStream and PushbackInputStream, but that is
- // probably overkill since this is deprecated & BufferedInputStream
- // is the most likely type of input stream.
- //
- // The alternative is to somehow push back the next byte if it
- // isn't a '\n' or to have the reading methods of this class
- // keep track of whether the last byte read was '\r' by readLine
- // and then skip the very next byte if it is '\n'. Either way,
- // this would increase the complexity of the non-deprecated methods
- // and since it is undesirable to make non-deprecated methods
- // less efficient, the following seems like the most reasonable
- // approach.
- if (in instanceof BufferedInputStream && (read() & 0xFF) != '\n')
- {
- BufferedInputStream bin = (BufferedInputStream) in;
- if (bin.pos > 0)
- bin.pos--;
- }
- else if (markSupported())
- {
- mark(1);
- if ((read() & 0xFF) != '\n')
- reset();
- }
- break;
- }
- strb.append(ch);
- }
-
- return strb.length() > 0 ? strb.toString() : "";
- }
-
- public final long readLong() throws IOException
- {
- long retval = 0L;
- for (int i = 0; i < 8; i++)
- retval |= (long) readUnsignedByte() << (56 - i * 8);
-
- return retval;
- }
-
- public final short readShort() throws IOException
- {
- return (short) ((readByte() << 8) | readUnsignedByte());
- }
-
- public final int readUnsignedByte() throws IOException
- {
- int i = read();
- if (i < 0)
- throw new EOFException();
-
- return (i & 0xFF);
- }
-
- public final int readUnsignedShort() throws IOException
- {
- return (readUnsignedByte() << 8) | readUnsignedByte();
- }
-
- public final String readUTF() throws IOException
- {
- return readUTF(this);
- }
-
- public final static String readUTF(DataInput in) throws IOException
- {
- final int UTFlen = in.readUnsignedShort();
- byte[] buf = new byte[UTFlen];
- StringBuffer strbuf = new StringBuffer();
-
- // This blocks until the entire string is available rather than
- // doing partial processing on the bytes that are available and then
- // blocking. An advantage of the latter is that Exceptions
- // could be thrown earlier. The former is a bit cleaner.
- in.readFully(buf, 0, UTFlen);
- for (int i = 0; i < UTFlen; )
- {
- if ((buf[i] & 0x80) == 0) // bit pattern 0xxxxxxx
- strbuf.append((char) (buf[i++] & 0xFF));
- else if ((buf[i] & 0xE0) == 0xC0) // bit pattern 110xxxxx
- {
- if (i + 1 >= UTFlen || (buf[i+1] & 0xC0) != 0x80)
- throw new UTFDataFormatException();
-
- strbuf.append((char) (((buf[i++] & 0x1F) << 6) |
- (buf[i++] & 0x3F)));
- }
- else if ((buf[i] & 0xF0) == 0xE0) // bit pattern 1110xxxx
- {
- if (i + 2 >= UTFlen ||
- (buf[i+1] & 0xC0) != 0x80 || (buf[i+2] & 0xC0) != 0x80)
- throw new UTFDataFormatException();
-
- strbuf.append((char) (((buf[i++] & 0x0F) << 12) |
- ((buf[i++] & 0x3F) << 6) |
- (buf[i++] & 0x3F)));
- }
- else // must be ((buf[i] & 0xF0) == 0xF0 || (buf[i] & 0xC0) == 0x80)
- throw new UTFDataFormatException(); // bit patterns 1111xxxx or
- // 10xxxxxx
- }
-
- return strbuf.toString();
- }
-
- public final int skipBytes(int n) throws IOException
- {
- // The contract in the Java Lang. Spec. says that this never
- // throws an EOFException and infers that it doesn't block (since
- // it may skip less than the requested number of bytes).
- // BUT, the JCL book specifically says that this method blocks
- // and can throw an EOFException. Finally, the Java 1.2 online
- // doc simply refers to the general contract. As such, we will
- // stick to the contract and assume for now that the JCL book
- // is incorrect.
-
- // Since we're only skipping at most an int number of bytes, the cast
- // of return value to an int is fine.
- if (n > 0)
- {
- n = Math.min(n, available());
- return (int) super.skip((long) n);
- }
-
- return 0;
- }
-}
diff --git a/libjava/java/io/DataOutput.java b/libjava/java/io/DataOutput.java
deleted file mode 100644
index c3fd366c561..00000000000
--- a/libjava/java/io/DataOutput.java
+++ /dev/null
@@ -1,44 +0,0 @@
-// DataOutput.java - Interface for data output conversions.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public interface DataOutput
-{
- public abstract void write (int b) throws IOException;
- public abstract void write (byte[] b)
- throws IOException, NullPointerException;
- public abstract void write (byte[] b, int off, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException;
- public abstract void writeBoolean (boolean v) throws IOException;
- public abstract void writeByte (int v) throws IOException;
- public abstract void writeShort (int v) throws IOException;
- public abstract void writeChar (int v) throws IOException;
- public abstract void writeInt (int v) throws IOException;
- public abstract void writeLong (long v) throws IOException;
- public abstract void writeFloat (float v) throws IOException;
- public abstract void writeDouble (double v) throws IOException;
- public abstract void writeBytes (String s)
- throws IOException, NullPointerException;
- public abstract void writeChars (String s)
- throws IOException, NullPointerException;
- public abstract void writeUTF (String s)
- throws IOException, NullPointerException;
-}
diff --git a/libjava/java/io/DataOutputStream.java b/libjava/java/io/DataOutputStream.java
deleted file mode 100644
index 2ef4cf08885..00000000000
--- a/libjava/java/io/DataOutputStream.java
+++ /dev/null
@@ -1,165 +0,0 @@
-// DataOutputStream.java - Output filter that implements DataOutput
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public class DataOutputStream extends FilterOutputStream implements DataOutput
-{
- public DataOutputStream (OutputStream out)
- {
- super (out);
- written = 0;
- }
-
- public void flush () throws IOException
- {
- out.flush();
- }
-
- public final int size ()
- {
- return written;
- }
-
- public synchronized void write (int b) throws IOException
- {
- out.write(b);
- ++written;
- }
-
- public synchronized void write (byte[] b, int off, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException
- {
- out.write(b, off, len);
- written += len - off;
- }
-
- public final void writeBoolean (boolean v) throws IOException
- {
- write (v ? 1 : 0);
- }
-
- public final void writeByte (int v) throws IOException
- {
- write (v & 0xff);
- }
-
- public final void writeShort (int v) throws IOException
- {
- write ((byte) (0xff & (v >> 8)));
- write ((byte) (0xff & v));
- }
-
- public final void writeChar (int v) throws IOException
- {
- write ((byte) (0xff & (v >> 8)));
- write ((byte) (0xff & v));
- }
-
- public final void writeInt (int v) throws IOException
- {
- write ((byte) (0xff & (v >> 24)));
- write ((byte) (0xff & (v >> 16)));
- write ((byte) (0xff & (v >> 8)));
- write ((byte) (0xff & v));
- }
-
- public final void writeLong (long v) throws IOException
- {
- write ((byte) (0xff & (v >> 56)));
- write ((byte) (0xff & (v >> 48)));
- write ((byte) (0xff & (v >> 40)));
- write ((byte) (0xff & (v >> 32)));
- write ((byte) (0xff & (v >> 24)));
- write ((byte) (0xff & (v >> 16)));
- write ((byte) (0xff & (v >> 8)));
- write ((byte) (0xff & v));
- }
-
- public final void writeFloat (float v) throws IOException
- {
- writeInt (Float.floatToIntBits(v));
- }
-
- public final void writeDouble (double v) throws IOException
- {
- writeLong (Double.doubleToLongBits(v));
- }
-
- public final void writeBytes (String s) throws IOException
- {
- int len = s.length();
- for (int i = 0; i < len; ++i)
- writeByte (s.charAt(i));
- }
-
- public final void writeChars (String s) throws IOException
- {
- int len = s.length();
- for (int i = 0; i < len; ++i)
- writeChar (s.charAt(i));
- }
-
- public final void writeUTF (String s) throws IOException
- {
- int len = s.length();
- int sum = 0;
-
- for (int i = 0; i < len && sum <= 65535; ++i)
- {
- char c = s.charAt(i);
- if (c >= '\u0001' && c <= '\u007f')
- sum += 1;
- else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
- sum += 2;
- else
- sum += 3;
- }
-
- if (sum > 65535)
- throw new UTFDataFormatException ();
-
- writeShort (sum);
-
- for (int i = 0; i < len; ++i)
- {
- char c = s.charAt(i);
- if (c >= '\u0001' && c <= '\u007f')
- write (c);
- else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
- {
- write (0xc0 | (0x1f & (c >> 6)));
- write (0x80 | (0x3f & c));
- }
- else
- {
- // JSL says the first byte should be or'd with 0xc0, but
- // that is a typo. Unicode says 0xe0, and that is what is
- // consistent with DataInputStream.
- write (0xe0 | (0x0f & (c >> 12)));
- write (0x80 | (0x3f & (c >> 6)));
- write (0x80 | (0x3f & c));
- }
- }
- }
-
- // Number of bytes written so far.
- protected int written;
-}
diff --git a/libjava/java/io/EOFException.java b/libjava/java/io/EOFException.java
deleted file mode 100644
index d890a0f79a7..00000000000
--- a/libjava/java/io/EOFException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// EOFException.java - End of file exception
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class EOFException extends IOException
-{
- public EOFException ()
- {
- super ();
- }
-
- public EOFException (String s)
- {
- super (s);
- }
-}
diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java
deleted file mode 100644
index fa098e26bf5..00000000000
--- a/libjava/java/io/File.java
+++ /dev/null
@@ -1,292 +0,0 @@
-// File.java - File name
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1; 1.2 functionality missing.
- * A known bug: most calls to the security manager can generate
- * IOException since we use the canonical path.
- */
-
-public class File implements Serializable
-{
- public boolean canRead ()
- {
- return access (checkRead (), READ);
- }
-
- public boolean canWrite ()
- {
- SecurityManager s = System.getSecurityManager();
- String p = safeCanonicalPath ();
- // FIXME: it isn't entirely clear what to do if we can't find the
- // canonical path.
- if (p == null)
- return false;
- if (s != null)
- s.checkWrite(p);
- return access (p, WRITE);
- }
-
- private final native boolean performDelete (String canon);
- public boolean delete ()
- {
- SecurityManager s = System.getSecurityManager();
- String p = safeCanonicalPath ();
- // FIXME: what is right?
- if (p == null)
- return false;
- if (s != null)
- s.checkDelete(p);
- return performDelete (p);
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof File))
- return false;
- File other = (File) obj;
- return path.compareTo(other.path) == 0;
- }
-
- public boolean exists ()
- {
- return access (checkRead (), EXISTS);
- }
-
- public File (String p)
- {
- if (p == null)
- throw new NullPointerException ();
- path = p;
- }
-
- public File (String dirPath, String name)
- {
- if (name == null)
- throw new NullPointerException ();
- if (dirPath != null)
- {
- // Try to be smart about the number of separator characters.
- if (dirPath.charAt(dirPath.length() - 1) == separatorChar)
- path = dirPath + name;
- else
- path = dirPath + separatorChar + name;
- }
- else
- path = name;
- }
-
- public File (File dir, String name)
- {
- this (dir == null ? null : dir.path, name);
- }
-
- public String getAbsolutePath ()
- {
- if (isAbsolute ())
- return path;
- return System.getProperty("user.dir") + separatorChar + path;
- }
-
- public native String getCanonicalPath () throws IOException;
-
- public String getName ()
- {
- int last = path.lastIndexOf(separatorChar);
- if (last == -1)
- last = 0;
- return path.substring(last);
- }
-
- public String getParent ()
- {
- int last = path.lastIndexOf(separatorChar);
- if (last == -1)
- return null;
- return path.substring(0, last);
- }
-
- public String getPath ()
- {
- return path;
- }
-
- public int hashCode ()
- {
- // FIXME: test.
- return path.hashCode();
- }
-
- public native boolean isAbsolute ();
-
- public boolean isDirectory ()
- {
- return stat (checkRead (), DIRECTORY);
- }
-
- public boolean isFile ()
- {
- return stat (checkRead (), ISFILE);
- }
-
- public long lastModified ()
- {
- return attr (checkRead (), MODIFIED);
- }
-
- public long length ()
- {
- return attr (checkRead (), LENGTH);
- }
-
- private final native String[] performList (String canon,
- FilenameFilter filter);
- public String[] list (FilenameFilter filter)
- {
- return performList (checkRead (), filter);
- }
-
- public String[] list ()
- {
- return performList (checkRead (), null);
- }
-
- public String toString ()
- {
- return path;
- }
-
- private final native boolean performMkdir ();
- public boolean mkdir ()
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- {
- // NOTE: in theory we should use the canonical path. In
- // practice, we can't compute the canonical path until we've
- // made this completely. Lame.
- s.checkWrite(path);
- }
- return performMkdir ();
- }
-
- private static boolean mkdirs (File x)
- {
- if (x.isDirectory())
- return true;
- String p = x.getPath();
- String parent = x.getParent();
- if (parent != null)
- {
- x.setPath(parent);
- if (! mkdirs (x))
- return false;
- x.setPath(p);
- }
- return x.mkdir();
- }
-
- public boolean mkdirs ()
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- {
- // NOTE: in theory we should use the canonical path. In
- // practice, we can't compute the canonical path until we've
- // made this completely. Lame.
- s.checkWrite(path);
- }
-
- if (isDirectory ())
- return false;
- return mkdirs (new File (path));
- }
-
- private final native boolean performRenameTo (File dest);
- public boolean renameTo (File dest)
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- {
- // FIXME: JCL doesn't specify which path to check. We check the
- // source since we can canonicalize it.
- s.checkWrite(safeCanonicalPath());
- }
- return performRenameTo (dest);
- }
-
- public static final String pathSeparator
- = System.getProperty("path.separator");
- public static final char pathSeparatorChar = pathSeparator.charAt(0);
- public static final String separator = System.getProperty("file.separator");
- public static final char separatorChar = separator.charAt(0);
-
-
- // The path.
- private String path;
-
- // mkdirs() uses this to avoid repeated allocations.
- private final void setPath (String n)
- {
- path = n;
- }
-
-
- private final String checkRead ()
- {
- SecurityManager s = System.getSecurityManager();
- String p = safeCanonicalPath ();
- if (p == null)
- return null;
- if (s != null)
- s.checkRead(p);
- return p;
- }
-
- // Return canonical path, or null.
- private final String safeCanonicalPath ()
- {
- String p = null;
- try
- {
- p = getCanonicalPath ();
- }
- catch (IOException x)
- {
- // Nothing.
- }
- return p;
- }
-
- // QUERY arguments to access function.
- private final static int READ = 0;
- private final static int WRITE = 1;
- private final static int EXISTS = 2;
-
- // QUERY arguments to stat function.
- private final static int DIRECTORY = 0;
- private final static int ISFILE = 1;
-
- // QUERY arguments to attr function.
- private final static int MODIFIED = 0;
- private final static int LENGTH = 1;
-
- private final native long attr (String p, int query);
- private final native boolean access (String p, int query);
- private final native boolean stat (String p, int query);
-}
diff --git a/libjava/java/io/FileDescriptor.java b/libjava/java/io/FileDescriptor.java
deleted file mode 100644
index 0782b0c8e95..00000000000
--- a/libjava/java/io/FileDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-// FileDescriptor.java - Open file or device
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1
- */
-
-// For now we assume a POSIXy file system. This can be changed later
-// if need be.
-public final class FileDescriptor
-{
- public static final FileDescriptor in = new FileDescriptor (0);
- public static final FileDescriptor out = new FileDescriptor (1);
- public static final FileDescriptor err = new FileDescriptor (2);
-
- public native void sync () throws SyncFailedException;
- public native boolean valid ();
-
-
- // These are mode values for open().
- static final int READ = 1;
- static final int WRITE = 2;
- static final int APPEND = 4;
-
- // These are WHENCE values for seek.
- static final int SET = 0;
- static final int CUR = 1;
-
- // Open a file. MODE is a combination of the above mode flags.
- FileDescriptor (String path, int mode) throws IOException
- {
- fd = open (path, mode);
- }
-
- public FileDescriptor ()
- {
- fd = -1;
- }
-
- native int open (String path, int mode) throws IOException;
- native void write (int b) throws IOException;
- native void write (byte[] b, int offset, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException;
- native void close () throws IOException;
- native int seek (long pos, int whence) throws IOException;
- native long length () throws IOException;
- native long getFilePointer () throws IOException;
- native int read () throws IOException;
- native int read (byte[] bytes, int offset, int len) throws IOException;
- native int available () throws IOException;
-
-
- // When collected, close.
- protected void finalize () throws IOException
- {
- if (valid ())
- close ();
- }
-
- // Attach to an already-opened file. This is not private because we
- // need access to it from other packages, for instance java.net.
- // Ordinarily that wouldn't work, either, but in our case we know
- // the access comes from C++, where "package private" is translated
- // into "public". Eww.
- FileDescriptor (int desc)
- {
- fd = desc;
- }
-
- // System's notion of file descriptor.
- private int fd;
-}
diff --git a/libjava/java/io/FileInputStream.java b/libjava/java/io/FileInputStream.java
deleted file mode 100644
index 4f44dae03b7..00000000000
--- a/libjava/java/io/FileInputStream.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 28, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class FileInputStream extends InputStream
-{
- /* Contains the file descriptor for referencing the actual file. */
- private FileDescriptor fd;
-
- public FileInputStream(String name) throws FileNotFoundException, IOException
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkRead(name);
- fd = new FileDescriptor(name, FileDescriptor.READ);
- }
-
- public FileInputStream(File file) throws FileNotFoundException, IOException
- {
- this(file.getPath());
- }
-
- public FileInputStream(FileDescriptor fdObj)
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkRead(fdObj);
- fd = fdObj;
- }
-
- public int available() throws IOException
- {
- return fd.available();
- }
-
- public void close() throws IOException
- {
- if (fd == null)
- return;
-
- fd.close();
- fd = null;
- }
-
- protected void finalize() throws IOException
- {
- if (fd != null)
- fd.finalize();
- }
-
- public final FileDescriptor getFD() throws IOException
- {
- if (!fd.valid())
- throw new IOException();
- return fd;
- }
-
- public int read() throws IOException
- {
- return fd.read();
- }
-
- public int read(byte[] b) throws IOException
- {
- return fd.read(b, 0, b.length);
- }
-
- public int read(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- return fd.read(b, off, len);
- }
-
- public long skip(long n) throws IOException
- {
- return fd.seek(n, FileDescriptor.CUR);
- }
-}
diff --git a/libjava/java/io/FileNotFoundException.java b/libjava/java/io/FileNotFoundException.java
deleted file mode 100644
index 07ff9bf1d9b..00000000000
--- a/libjava/java/io/FileNotFoundException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// FileNotFoundException.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class FileNotFoundException extends IOException
-{
- public FileNotFoundException ()
- {
- super ();
- }
-
- public FileNotFoundException (String s)
- {
- super (s);
- }
-}
diff --git a/libjava/java/io/FileOutputStream.java b/libjava/java/io/FileOutputStream.java
deleted file mode 100644
index 3e6e9724aec..00000000000
--- a/libjava/java/io/FileOutputStream.java
+++ /dev/null
@@ -1,93 +0,0 @@
-// FileOutputStream.java - Write bytes to a file.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public class FileOutputStream extends OutputStream
-{
- public FileOutputStream (String path, boolean append)
- throws SecurityException, IOException
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkWrite(path);
- fd = new FileDescriptor (path, (append
- ? FileDescriptor.APPEND
- : FileDescriptor.WRITE));
- }
-
- public FileOutputStream (String path) throws SecurityException, IOException
- {
- this (path, false);
- }
-
- public FileOutputStream (File file) throws SecurityException, IOException
- {
- this (file.getPath(), false);
- }
-
- public FileOutputStream (FileDescriptor fdObj) throws SecurityException
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkWrite(fdObj);
- fd = fdObj;
- }
-
- protected void finalize () throws IOException
- {
- // We don't actually need this, but we include it because it is
- // mentioned in the JCL.
- }
-
- public final FileDescriptor getFD () throws IOException
- {
- if (! fd.valid())
- throw new IOException ();
- return fd;
- }
-
- public void write (int b) throws IOException
- {
- fd.write (b);
- }
-
- public void write (byte[] b) throws IOException, NullPointerException
- {
- fd.write (b, 0, b.length);
- }
-
- public void write (byte[] b, int off, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException ();
- fd.write (b, off, len);
- }
-
- public void close () throws IOException
- {
- if (fd.valid())
- fd.close();
- }
-
- // Instance variables.
- private FileDescriptor fd;
-}
diff --git a/libjava/java/io/FileReader.java b/libjava/java/io/FileReader.java
deleted file mode 100644
index 259526cceff..00000000000
--- a/libjava/java/io/FileReader.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 22, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition.
- * Status: Believed complete and correct.
- */
-
-public class FileReader extends InputStreamReader
-{
- public FileReader(String filename) throws IOException
- {
- super(new FileInputStream(filename));
- }
-
- public FileReader(File file) throws IOException
- {
- super(new FileInputStream(file));
- }
-
- public FileReader(FileDescriptor fd)
- {
- super(new FileInputStream(fd));
- }
-}
diff --git a/libjava/java/io/FileWriter.java b/libjava/java/io/FileWriter.java
deleted file mode 100644
index 8c3f9a9d303..00000000000
--- a/libjava/java/io/FileWriter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-// FileWriter.java - Character output to a file.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public class FileWriter extends OutputStreamWriter
-{
- public FileWriter (String fileName) throws IOException
- {
- super (new FileOutputStream (fileName));
- }
-
- public FileWriter (String fileName, boolean append) throws IOException
- {
- super (new FileOutputStream (fileName, append));
- }
-
- public FileWriter (File file) throws IOException
- {
- super (new FileOutputStream (file));
- }
-
- public FileWriter (FileDescriptor fd)
- {
- super (new FileOutputStream (fd));
- }
-}
diff --git a/libjava/java/io/FilenameFilter.java b/libjava/java/io/FilenameFilter.java
deleted file mode 100644
index 682efed6d8a..00000000000
--- a/libjava/java/io/FilenameFilter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// FilenameFilter.java - Compute subset of list of file names
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public interface FilenameFilter
-{
- public abstract boolean accept (File dir, String name);
-}
diff --git a/libjava/java/io/FilterInputStream.java b/libjava/java/io/FilterInputStream.java
deleted file mode 100644
index 918948b2edd..00000000000
--- a/libjava/java/io/FilterInputStream.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 8, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class FilterInputStream extends InputStream
-{
- /* The input stream to be filtered. */
- protected InputStream in;
-
- protected FilterInputStream(InputStream in)
- {
- this.in = in;
- }
-
- public int available() throws IOException
- {
- return in.available();
- }
-
- public void close() throws IOException
- {
- in.close();
- }
-
- public synchronized void mark(int readlimit)
- {
- in.mark(readlimit);
- }
-
- public boolean markSupported()
- {
- return in.markSupported();
- }
-
- public int read() throws IOException
- {
- return in.read();
- }
-
- public int read(byte[] b) throws IOException
- {
- return read(b, 0, b.length);
- }
-
- public int read(byte[] b, int off, int len) throws IOException
- {
- return in.read(b, off, len);
- }
-
- public synchronized void reset() throws IOException
- {
- in.reset();
- }
-
- public long skip(long n) throws IOException
- {
- return in.skip(n);
- }
-}
diff --git a/libjava/java/io/FilterOutputStream.java b/libjava/java/io/FilterOutputStream.java
deleted file mode 100644
index 45d6fd024ad..00000000000
--- a/libjava/java/io/FilterOutputStream.java
+++ /dev/null
@@ -1,61 +0,0 @@
-// FilterOutputStream.java - A filtered stream
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public class FilterOutputStream extends OutputStream
-{
- public void close () throws IOException
- {
- flush ();
- out.close();
- }
-
- public FilterOutputStream (OutputStream ox)
- {
- out = ox;
- }
-
- public void flush () throws IOException
- {
- out.flush();
- }
-
- public void write (int b) throws IOException
- {
- out.write(b);
- }
-
- public void write (byte[] b) throws IOException, NullPointerException
- {
- // Don't do checking here, per Java Lang Spec.
- out.write (b);
- }
-
- public void write (byte[] b, int off, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException
- {
- // Don't do checking here, per Java Lang Spec.
- out.write(b, off, len);
- }
-
- // The output stream.
- protected OutputStream out;
-}
diff --git a/libjava/java/io/FilterReader.java b/libjava/java/io/FilterReader.java
deleted file mode 100644
index 1fe201472b4..00000000000
--- a/libjava/java/io/FilterReader.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 15, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public abstract class FilterReader extends Reader
-{
- /* The input stream to be filtered. */
- protected Reader in;
-
- protected FilterReader(Reader in)
- {
- super(in.lock);
- this.in = in;
- }
-
- public void close() throws IOException
- {
- in.close();
- in = null;
- }
-
- public synchronized void mark(int readlimit) throws IOException
- {
- in.mark(readlimit);
- }
-
- public boolean markSupported()
- {
- return in.markSupported();
- }
-
- public int read() throws IOException
- {
- return in.read();
- }
-
- public int read(char[] b, int off, int len) throws IOException
- {
- return in.read(b, off, len);
- }
-
- public boolean ready() throws IOException
- {
- return in.ready();
- }
-
- public synchronized void reset() throws IOException
- {
- in.reset();
- }
-
- public long skip(long n) throws IOException
- {
- return in.skip(n);
- }
-}
diff --git a/libjava/java/io/FilterWriter.java b/libjava/java/io/FilterWriter.java
deleted file mode 100644
index d0c167ee1bd..00000000000
--- a/libjava/java/io/FilterWriter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-// FilterWriter.java - Filtered character output stream.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public abstract class FilterWriter extends Writer
-{
- public void close () throws IOException
- {
- out.close();
- }
-
- protected FilterWriter (Writer ox)
- {
- super (ox);
- out = ox;
- }
-
- public void flush () throws IOException
- {
- out.flush();
- }
-
- public void write (int oneChar) throws IOException
- {
- out.write(oneChar);
- }
-
- public void write (char[] buffer, int offset, int count) throws IOException
- {
- out.write(buffer, offset, count);
- }
-
- public void write (String str, int offset, int count) throws IOException
- {
- out.write(str, offset, count);
- }
-
- // Where our writes should go.
- protected Writer out;
-}
diff --git a/libjava/java/io/IOException.java b/libjava/java/io/IOException.java
deleted file mode 100644
index 15a14ff15fa..00000000000
--- a/libjava/java/io/IOException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// IOException.java - Base class for I/O Exceptions
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class IOException extends Exception
-{
- public IOException ()
- {
- super ();
- }
-
- public IOException (String s)
- {
- super (s);
- }
-}
diff --git a/libjava/java/io/InputStream.java b/libjava/java/io/InputStream.java
deleted file mode 100644
index cc86efd49d6..00000000000
--- a/libjava/java/io/InputStream.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public abstract class InputStream
-{
- public InputStream()
- {
- }
-
- public int available() throws IOException
- {
- return 0;
- }
-
- public void close() throws IOException
- {
- // Do nothing
- }
-
- public void mark(int readlimit)
- {
- // Do nothing
- }
-
- public boolean markSupported()
- {
- return false;
- }
-
- public abstract int read() throws IOException;
-
- public int read(byte[] b) throws IOException
- {
- return read(b, 0, b.length);
- }
-
- public int read(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new IndexOutOfBoundsException();
- if (b.length == 0)
- return 0;
-
- int i, ch;
-
- for (i = 0; i < len; ++i)
- try
- {
- if ((ch = read()) < 0)
- return i == 0 ? -1 : i; // EOF
- b[off + i] = (byte) ch;
- }
- catch (IOException ex)
- {
- // Only reading the first byte should cause an IOException.
- if (i == 0)
- throw ex;
- return i;
- }
-
- return i;
- }
-
- public void reset() throws IOException
- {
- throw new IOException("mark/reset not supported");
- }
-
- public long skip(long n) throws IOException
- {
- // Throw away n bytes by reading them into a temp byte[].
- // Limit the temp array to 2Kb so we don't grab too much memory.
- final int buflen = n > 2048 ? 2048 : (int) n;
- byte[] tmpbuf = new byte[buflen];
- final long origN = n;
-
- while (n > 0L)
- {
- int numread = read(tmpbuf, 0, n > buflen ? buflen : (int) n);
- if (numread <= 0)
- break;
- n -= numread;
- }
-
- return origN - n;
- }
-}
diff --git a/libjava/java/io/InputStreamReader.java b/libjava/java/io/InputStreamReader.java
deleted file mode 100644
index ae5e2c7b0eb..00000000000
--- a/libjava/java/io/InputStreamReader.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-import gnu.gcj.convert.*;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 22, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct, but only supports 8859_1.
- */
-
-public class InputStreamReader extends Reader
-{
- BufferedInputStream in;
-
- // Buffer of chars read from in and converted but not consumed.
- char[] work;
- // Next available character (in work buffer) to read.
- int wpos;
- // Last available character (in work buffer) to read.
- int wcount;
-
- BytesToUnicode converter;
-
- public InputStreamReader(InputStream in)
- {
- this(in, BytesToUnicode.getDefaultDecoder());
- }
-
- public InputStreamReader(InputStream in, String enc)
- throws UnsupportedEncodingException
- {
- this(in, BytesToUnicode.getDecoder(enc));
- }
-
- private InputStreamReader(InputStream in, BytesToUnicode decoder)
- {
- super((this.in = (in instanceof BufferedInputStream
- ? (BufferedInputStream) in
- : new BufferedInputStream(in, 250))));
- converter = decoder;
- converter.setInput(this.in.buf, 0, 0);
- }
-
- public void close() throws IOException
- {
- synchronized (lock)
- {
- if (in != null)
- in.close();
- in = null;
- work = null;
- wpos = wcount = 0;
- }
- }
-
- public String getEncoding() { return converter.getName(); }
-
- public boolean ready() throws IOException
- {
- synchronized (lock)
- {
- if (wpos < wcount)
- return true;
- if (work == null)
- {
- work = new char[100];
- wpos = 0;
- wcount = 0;
- }
- for (;;)
- {
- if (in.available() <= 0)
- return false;
- in.mark(1);
- int b = in.read();
- if (b < 0)
- return true;
- in.reset();
- converter.setInput(in.buf, in.pos, in.count);
- wpos = 0;
- wcount = converter.read(work, 0, work.length);
- in.skip(converter.inpos - in.pos);
- if (wcount > 0)
- return true;
- }
- }
- }
-
- public int read(char buf[], int offset, int length) throws IOException
- {
- synchronized (lock)
- {
- int wavail = wcount - wpos;
- if (wavail > 0)
- {
- if (length > wavail)
- length = wavail;
- System.arraycopy(work, wpos, buf, offset, length);
- wpos += length;
- return length;
- }
- else
- {
- if (length == 0)
- return 0;
- for (;;)
- {
- in.mark(1);
- int b = in.read();
- if (b < 0)
- return -1;
- in.reset();
- converter.setInput(in.buf, in.pos, in.count);
- int count = converter.read (buf, offset, length);
- in.skip(converter.inpos - in.pos);
- if (count > 0)
- return count;
- }
- }
- }
- }
-
- public int read() throws IOException
- {
- synchronized (lock)
- {
- int wavail = wcount - wpos;
- if (wavail > 0)
- return work[wpos++];
- if (work == null)
- {
- work = new char[100];
- wpos = 0;
- wcount = 0;
- }
- else if (wavail == 0)
- {
- wpos = 0;
- wcount = 0;
- }
- int count = read(work, wpos, work.length-wpos);
- if (count <= 0)
- return -1;
- wcount = wpos + count;
- return work[wpos++];
- }
- }
-}
diff --git a/libjava/java/io/InterruptedIOException.java b/libjava/java/io/InterruptedIOException.java
deleted file mode 100644
index 11d922b765e..00000000000
--- a/libjava/java/io/InterruptedIOException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-// InterruptedIOException.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class InterruptedIOException extends IOException
-{
- public InterruptedIOException ()
- {
- super ();
- }
-
- public InterruptedIOException (String s)
- {
- super (s);
- }
-
- public int bytesTransferred = 0;
-}
diff --git a/libjava/java/io/LineNumberInputStream.java b/libjava/java/io/LineNumberInputStream.java
deleted file mode 100644
index 1b96da9c846..00000000000
--- a/libjava/java/io/LineNumberInputStream.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date November 11, 1998.
- * @deprecated
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct. Deprecated in JDK 1.1.
- */
-
-public class LineNumberInputStream extends FilterInputStream
-{
- /* The current line number. */
- private int lineNumber = 0;
-
- /* The line number when the stream was marked. */
- private int markLineNumber = 0;
-
- /* Flag to indicate a '\r' was just read so that an immediately subsequent
- * '\n' can be ignored. */
- private boolean justReadReturnChar = false;
-
- public LineNumberInputStream(InputStream in)
- {
- super(in);
- }
-
- public int available() throws IOException
- {
- // We can only guarantee half the characters that might be available
- // without blocking because "\r\n" is treated as a single character.
- return in.available() / 2;
- }
-
- public int getLineNumber()
- {
- return lineNumber;
- }
-
- public void mark(int readlimit)
- {
- in.mark(readlimit);
- markLineNumber = lineNumber;
- }
-
- public int read() throws IOException
- {
- // Treat "\r\n" as a single character. A '\r' may have been read by
- // a previous call to read so we keep an internal flag to avoid having
- // to read ahead.
-
- int ch = in.read();
-
- if (ch == '\n')
- if (justReadReturnChar)
- {
- ch = in.read();
- justReadReturnChar = false;
- }
- else
- lineNumber++;
- else if (ch == '\r')
- {
- ch = '\n';
- justReadReturnChar = true;
- lineNumber++;
- }
- else
- justReadReturnChar = false;
-
- return ch;
- }
-
- public int read(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- // This case always succeeds.
- if (len == 0)
- return 0;
-
- // The simplest, though not necessarily the most time efficient thing
- // to do is simply call read(void) len times. Since this is a deprecated
- // class, that should be ok.
- final int origOff = off;
- while (len-- > 0)
- {
- int ch = read();
- if (ch < 0)
- break;
-
- b[off++] = (byte) ch;
- }
-
- // This is safe since we already know that some bytes were
- // actually requested.
- return off == origOff ? -1 : off - origOff;
- }
-
- public void reset() throws IOException
- {
- in.reset();
- lineNumber = markLineNumber;
- justReadReturnChar = false;
- }
-
- public void setLineNumber(int lineNumber)
- {
- this.lineNumber = lineNumber;
- }
-
- public long skip(long n) throws IOException
- {
- if (n <= 0)
- return 0L;
-
- final long origN = n;
-
- do
- {
- int ch = read();
- if (ch < 0)
- break;
- if (ch == '\n' || ch == '\r')
- lineNumber++;
- }
- while (--n > 0);
-
- return origN - n;
- }
-}
diff --git a/libjava/java/io/LineNumberReader.java b/libjava/java/io/LineNumberReader.java
deleted file mode 100644
index c709a7a0079..00000000000
--- a/libjava/java/io/LineNumberReader.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 22, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- *
- * This implementation has the feature that if '\r' is read, it
- * does not look for a '\n', but immediately returns '\n'.
- * On the next read(), if a '\n' is read, it is skipped.
- * This has the advantage that we do not read (and hang) unnecessarily.
- *
- * This implementation is also minimal in the number of fields it uses.
- */
-
-public class LineNumberReader extends BufferedReader
-{
- /** The current line number. */
- int lineNumber;
-
- public LineNumberReader(Reader in)
- {
- super(in, 8192);
- }
-
- public LineNumberReader(Reader in, int size)
- {
- super(in, size);
- }
-
- public int getLineNumber()
- {
- return lineNumber;
- }
-
- public void setLineNumber(int lineNumber)
- {
- this.lineNumber = lineNumber;
- }
-
- private static int countLines (char[] buffer, int off, int len)
- {
- int count = 0;
- char prev = '\0';
- for (int i = 0; i < len; i++)
- {
- char ch = buffer[i+off];
- if ((ch == '\n' && prev != '\r') || ch == '\r')
- count++;
- prev = ch;
- }
- return count;
- }
-
- public void mark(int readLimit) throws IOException
- {
- synchronized (lock)
- {
- // This is basically the same as BufferedReader.mark.
- // However, if the previous character was a '\r', we need to
- // save that 'r', in case the next character is a '\n'.
- if (pos + readLimit > limit)
- {
- int saveCR = (pos > 0 && buffer[pos-1] == '\r') ? 1 : 0;
- char[] old_buffer = buffer;
- if (readLimit > limit)
- buffer = new char[saveCR + readLimit];
- int copy_start = pos - saveCR;
- limit -= copy_start;
- System.arraycopy(old_buffer, copy_start, buffer, 0, limit);
- pos = saveCR;
- }
- markPos = pos;
- }
- }
-
- public void reset() throws IOException
- {
- synchronized (lock)
- {
- if (markPos < 0)
- throw new IOException("mark never set or invalidated");
- if (markPos > 0 && pos > markPos && buffer[markPos-1] == '\r'
- && buffer[markPos] == '\n')
- lineNumber--;
- lineNumber -= countLines(buffer, pos, markPos);
- pos = markPos;
- }
- }
-
- public int read() throws IOException
- {
- synchronized (lock)
- {
- skipRedundantLF();
- if (pos >= limit)
- {
- if (markPos >= 0 && limit == buffer.length)
- markPos = -1;
- if (markPos <= 0)
- pos = limit = 0;
- int count = in.read(buffer, limit, buffer.length - limit);
- if (count <= 0)
- return -1;
- limit += count;
- }
- char ch = buffer[pos++];
- if (ch == '\r' || ch == '\n')
- {
- lineNumber++;
- return '\n';
- }
- return (int) ch;
- }
- }
-
- public int read(char[] buf, int offset, int count) throws IOException
- {
- if (count <= 0)
- {
- if (count < 0)
- throw new IndexOutOfBoundsException();
- return 0;
- }
- synchronized (lock)
- {
- int first = read();
- if (first < 0)
- return -1;
- int start_offset = offset;
- buf[offset++] = (char) first;
- if (buffer[pos-1] == '\r' && pos < limit && buffer[pos] == '\n')
- pos++;
- count--;
- while (count-- > 0 && pos < limit)
- {
- char ch = buffer[pos++];
- if (ch == '\r')
- {
- lineNumber++;
- ch = '\n';
- if (pos < limit && buffer[pos] == '\n')
- pos++;
- }
- else if (ch == '\n')
- lineNumber++;
- buf[offset++] = ch;
- }
- return offset - start_offset;
- }
- }
-
- private void skipRedundantLF() throws IOException
- {
- if (pos > 0 && buffer[pos-1] == '\r')
- {
- if (pos < limit)
- { // fast case
- if (buffer[pos] == '\n')
- pos++;
- }
- else
- { // use read() to deal with the general case.
- // Set pos and limit to zero to avoid infinite recursion in read.
- // May need to invalidate markPos if we've exceeded the buffer.
- if (pos >= buffer.length)
- markPos = -1;
- pos = limit = 0;
- int ch = read();
- if (ch >= 0 && ch != '\n')
- pos--;
- }
- }
- }
-
- public String readLine() throws IOException
- {
- // BufferedReader.readLine already does this. Shouldn't need to keep
- // track of newlines (since the read method deals with this for us).
- // But if the buffer is large, we may not call the read method at all
- // and super.readLine can't increment lineNumber itself.
- // Though it may seem kludgy, the safest thing to do is to save off
- // lineNumber and increment it explicitly when we're done (iff we
- // ended with a '\n' or '\r' as opposed to EOF).
- //
- // Also, we need to undo the special casing done by BufferedReader.readLine
- // when a '\r' is the last char in the buffer. That situation is marked
- // by 'pos > limit'.
- int tmpLineNumber = lineNumber;
- skipRedundantLF();
- String str = super.readLine();
- if (pos > limit)
- --pos;
-
- int ch;
- if (pos > 0 && ((ch = buffer[pos - 1]) == '\n' || ch == '\r'))
- lineNumber = tmpLineNumber + 1;
-
- return str;
- }
-
- public long skip(long count) throws IOException
- {
- if (count <= 0)
- return 0;
- long to_do = count;
- do
- {
- int ch = read();
- if (ch < 0)
- break;
- to_do--;
- if (ch == '\n' || ch == '\r')
- lineNumber++;
- else
- {
- long fence = pos + to_do;
- if (limit < fence)
- fence = limit;
- int end = pos;
- for (; end < fence; end++)
- {
- char endch = buffer[end];
- if (endch == '\n' || endch == '\r')
- break;
- }
- to_do -= end - pos;
- pos = end;
- }
- }
- while (to_do > 0);
- return count - to_do;
- }
-}
diff --git a/libjava/java/io/OutputStream.java b/libjava/java/io/OutputStream.java
deleted file mode 100644
index 5aae3611621..00000000000
--- a/libjava/java/io/OutputStream.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// OutputStream.java - Send output bytes to output sink.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to version 1.1.
- */
-
-public abstract class OutputStream
-{
- public abstract void write (int b) throws IOException;
-
- public void write (byte[] b) throws IOException, NullPointerException
- {
- write (b, 0, b.length);
- }
-
- public void write (byte[] b, int off, int len)
- throws IOException, NullPointerException, IndexOutOfBoundsException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException ();
- for (int i = 0; i < len; ++i)
- write (b[off + i]);
- }
-
- public void flush () throws IOException
- {
- }
-
- public void close () throws IOException
- {
- }
-}
diff --git a/libjava/java/io/OutputStreamWriter.java b/libjava/java/io/OutputStreamWriter.java
deleted file mode 100644
index 88841d9c1b4..00000000000
--- a/libjava/java/io/OutputStreamWriter.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-import gnu.gcj.convert.UnicodeToBytes;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 17, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct, but only supports 8859_1.
- */
-
-public class OutputStreamWriter extends Writer
-{
- BufferedOutputStream out;
-
- UnicodeToBytes converter;
-
- /* Temporary buffer. */
- private char[] work;
- private int wcount;
-
- public String getEncoding() { return converter.getName(); }
-
- private OutputStreamWriter(OutputStream out, UnicodeToBytes encoder)
- {
- super((this.out = (out instanceof BufferedOutputStream
- ? (BufferedOutputStream) out
- : new BufferedOutputStream(out, 250))));
- this.converter = encoder;
- }
-
- public OutputStreamWriter(OutputStream out, String enc)
- throws UnsupportedEncodingException
- {
- this(out, UnicodeToBytes.getEncoder(enc));
- }
-
- public OutputStreamWriter(OutputStream out)
- {
- this(out, UnicodeToBytes.getDefaultEncoder());
- }
-
- public void close() throws IOException
- {
- synchronized (lock)
- {
- flush();
- if (out != null)
- {
- out.close();
- out = null;
- }
- work = null;
- }
- }
-
- public void flush() throws IOException
- {
- synchronized (lock)
- {
- if (wcount > 0)
- {
- writeChars(work, 0, wcount);
- wcount = 0;
- }
- out.flush();
- }
- }
-
- public void write(char[] buf, int offset, int count)
- throws IOException
- {
- synchronized (lock)
- {
- if (wcount > 0)
- {
- writeChars(work, 0, wcount);
- wcount = 0;
- }
- writeChars(buf, offset, count);
- }
- }
-
- /** Writes characters through to the inferior BufferedOutputStream.
- * Ignores wcount and the work buffer. */
- private void writeChars(char[] buf, int offset, int count)
- throws IOException
- {
- while (count > 0)
- {
- // We must flush if out.count == out.buf.length.
- // It is probably a good idea to flush if out.buf is almost full.
- // This test is an approximation for "almost full".
- if (out.count + count >= out.buf.length)
- {
- out.flush();
- if (out.count != 0)
- throw new IOException("unable to flush output byte buffer");
- }
- converter.setOutput(out.buf, out.count);
- int converted = converter.write(buf, offset, count);
- offset += converted;
- count -= converted;
- out.count = converter.count;
- }
- }
-
- public void write(String str, int offset, int count)
- throws IOException
- {
- synchronized (lock)
- {
- if (work == null)
- work = new char[100];
- int wlength = work.length;
- while (count > 0)
- {
- int size = count;
- if (wcount + size > wlength)
- {
- if (2*wcount > wlength)
- {
- writeChars(work, 0, wcount);
- wcount = 0;
- }
- if (wcount + size > wlength)
- size = wlength - wcount;
- }
- str.getChars(offset, offset+size, work, wcount);
- offset += size;
- count -= size;
- wcount += size;
- }
- }
- }
-
- public void write(int ch) throws IOException
- {
- synchronized (lock)
- {
- if (work == null)
- work = new char[100];
- if (wcount >= work.length)
- {
- writeChars(work, 0, wcount);
- wcount = 0;
- }
- work[wcount++] = (char) ch;
- }
- }
-}
diff --git a/libjava/java/io/PipedInputStream.java b/libjava/java/io/PipedInputStream.java
deleted file mode 100644
index d8a836c289f..00000000000
--- a/libjava/java/io/PipedInputStream.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 29, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class PipedInputStream extends InputStream
-{
- /* The size of the pipe's circular input buffer. */
- protected static final int PIPE_SIZE = 1024;
-
- /* The circular buffer into which incoming data is placed. */
- protected byte[] buffer;
-
- /* The index in the buffer at which the next byte of data will be stored. */
- protected int in = -1;
-
- /* The index in the buffer at which the next byte of data will be read. */
- protected int out = 0;
-
- /* The output stream this is connected to; used to check for errors. */
- private PipedOutputStream po = null;
-
- /* Flag to indicate that the output stream was closed. */
- private boolean outClosed = false;
-
- public PipedInputStream(PipedOutputStream src) throws IOException
- {
- buffer = new byte[PIPE_SIZE];
- connect(src);
- }
-
- public PipedInputStream()
- {
- buffer = new byte[PIPE_SIZE];
- }
-
- public synchronized int available() throws IOException
- {
- if (in < 0)
- return 0;
-
- if (in > out)
- return in - out;
-
- // Buffer has wrapped around.
- return buffer.length - out + in;
- }
-
- public void close() throws IOException
- {
- buffer = null;
- po = null;
-
- // Mark as empty for available method.
- in = -1;
- }
-
- public void connect(PipedOutputStream src) throws IOException
- {
- if (buffer == null)
- throw new IOException("pipe closed");
-
- if (po != null)
- if (po == src)
- return;
- else
- throw new IOException("pipe already connected");
-
- po = src;
- try
- {
- src.connect(this);
- }
- catch (IOException ex)
- {
- po = null;
- throw ex;
- }
- }
-
- public synchronized int read() throws IOException
- {
- // TBD: Spec says to throw IOException if thread writing to output stream
- // died. What does this really mean? Theoretically, multiple threads
- // could be writing to this object. Do you track the first, last, or
- // all of them?
- if (po == null)
- if (buffer == null)
- throw new IOException("pipe closed");
- else
- throw new IOException("pipe unconnected");
-
- // Block until there's something to read or output stream was closed.
- while (in < 0)
- try
- {
- if (outClosed)
- return -1;
- wait();
- }
- catch (InterruptedException ex)
- {
- throw new InterruptedIOException();
- }
-
- // Let other threads know there's room to write now.
- notifyAll();
-
- int retval = buffer[out++] & 0xFF;
-
- // Wrap back around if at end of the array.
- if (out >= buffer.length)
- out = 0;
-
- // When the last byte available is read, mark the buffer as empty.
- if (out == in)
- {
- in = -1;
- out = 0;
- }
-
- return retval;
- }
-
- public synchronized int read(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- // TBD: Spec says to throw IOException if thread writing to output stream
- // died. What does this really mean? Theoretically, multiple threads
- // could be writing to this object. Do you track the first, last, or
- // all of them?
- if (po == null)
- if (buffer == null)
- throw new IOException("pipe closed");
- else
- throw new IOException("pipe unconnected");
-
- // Block until there's something to read or output stream was closed.
- while (in < 0)
- try
- {
- if (outClosed)
- return -1;
- wait();
- }
- catch (InterruptedException ex)
- {
- throw new InterruptedIOException();
- }
-
- // Let other threads know there's room to write now.
- notifyAll();
-
- int numRead;
- len = Math.min(len, available());
- if (in <= out && len >= (numRead = buffer.length - out))
- {
- // Buffer has wrapped around; need to copy in 2 steps.
- // Copy to the end of the buffer first; second copy may be of zero
- // bytes but that is ok. Doing it that way saves having to check
- // later if 'out' has grown to buffer.length.
- System.arraycopy(buffer, out, b, off, numRead);
- len -= numRead;
- off += numRead;
- out = 0;
- }
- else
- numRead = 0;
-
- System.arraycopy(buffer, out, b, off, len);
- numRead += len;
- out += len;
-
- // When the last byte available is read, mark the buffer as empty.
- if (out == in)
- {
- in = -1;
- out = 0;
- }
-
- return numRead;
- }
-
- protected synchronized void receive(int b) throws IOException
- {
- if (buffer == null)
- throw new IOException("pipe closed");
-
- // TBD: Spec says to throw IOException if thread reading from input stream
- // died. What does this really mean? Theoretically, multiple threads
- // could be reading to this object (why else would 'read' be synchronized?).
- // Do you track the first, last, or all of them?
-
- if (b < 0)
- {
- outClosed = true;
- notifyAll(); // In case someone was blocked in a read.
- return;
- }
-
- // Block until there's room in the pipe.
- while (in == out)
- try
- {
- wait();
- }
- catch (InterruptedException ex)
- {
- throw new InterruptedIOException();
- }
-
- // Check if buffer is empty.
- if (in < 0)
- in = 0;
-
- buffer[in++] = (byte) b;
-
- // Wrap back around if at end of the array.
- if (in >= buffer.length)
- in = 0;
-
- // Let other threads know there's something to read when this returns.
- notifyAll();
- }
-}
diff --git a/libjava/java/io/PipedOutputStream.java b/libjava/java/io/PipedOutputStream.java
deleted file mode 100644
index 9b069944926..00000000000
--- a/libjava/java/io/PipedOutputStream.java
+++ /dev/null
@@ -1,94 +0,0 @@
-// PipedOutputStream.java - Write bytes to a pipe.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Believed complete and correct.
- */
-
-public class PipedOutputStream extends OutputStream
-{
- public void close () throws IOException
- {
- closed = true;
-
- // Notify PipedInputStream that there is no more data to be had.
- destination.receive(-1);
- }
-
- public void connect (PipedInputStream dest) throws IOException
- {
- if (closed)
- throw new IOException("pipe closed");
-
- if (destination != null)
- if (destination == dest)
- return;
- else
- throw new IOException("pipe already connected");
-
- destination = dest;
- try
- {
- dest.connect(this);
- }
- catch (IOException ex)
- {
- destination = null;
- throw ex;
- }
- }
-
- public synchronized void flush () throws IOException
- {
- // There doesn't seem to be anything to do here.
-
- // TBD: Should this maybe do a notifyAll as a way for the user
- // to wake up the input stream to check for bytes to read? Shouldn't
- // be necessary but if there aren't any bytes, other threads will just
- // go blocak again anyway so it wouldn't hurt.
- }
-
- public PipedOutputStream ()
- {
- closed = false;
- }
-
- public PipedOutputStream (PipedInputStream dest) throws IOException
- {
- closed = false;
- connect (dest);
- }
-
- public void write (int oneByte) throws IOException
- {
- if (closed)
- throw new IOException ();
- destination.receive(oneByte);
- }
-
- // This is mentioned in the JCL book, but we don't really need it.
- // If there were a corresponding receive() method on
- // PipedInputStream then we could get better performance using
- // this.
- // public void write (byte[] buffer, int offset, int count)
- // throws IOException;
-
- // Instance variables.
- private PipedInputStream destination;
- private boolean closed;
-}
diff --git a/libjava/java/io/PipedReader.java b/libjava/java/io/PipedReader.java
deleted file mode 100644
index f54c4f8031f..00000000000
--- a/libjava/java/io/PipedReader.java
+++ /dev/null
@@ -1,210 +0,0 @@
-// PipedReader.java - Piped character stream.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class PipedReader extends Reader
-{
- public void close () throws IOException
- {
- closed = true;
- }
-
- public void connect (PipedWriter src) throws IOException
- {
- if (closed)
- throw new IOException ("already closed");
- if (writer != null)
- {
- if (writer == src)
- return;
- throw new IOException ("already connected");
- }
- try
- {
- writer = src;
- writer.connect(this);
- }
- catch (IOException e)
- {
- writer = null;
- throw e;
- }
- }
-
- public PipedReader ()
- {
- super ();
- writer = null;
- closed = false;
- in = -1;
- out = 0;
- pipeBuffer = new char[1024];
- }
-
- public PipedReader (PipedWriter src) throws IOException
- {
- super ();
- closed = false;
- in = -1;
- out = 0;
- pipeBuffer = new char[1024];
- connect (src);
- }
-
- public int read (char buf[], int offset, int count) throws IOException
- {
- if (closed)
- throw new IOException ("closed");
- if (count < 0)
- throw new ArrayIndexOutOfBoundsException ();
- int toCopy = count;
- synchronized (lock)
- {
- while (toCopy > 0)
- {
- // Wait for data in the pipe. If the writer is closed and
- // no data has been copied into the output buffer, return
- // the magic EOF number.
- while (in == -1)
- {
- if (writer.isClosed())
- {
- if (toCopy < count)
- return count - toCopy;
- return -1;
- }
-
- // Note that JCL doesn't say this is the right thing
- // to do. Still, it feels right, and we must deal
- // with an interrupt somehow.
- try
- {
- lock.wait();
- }
- catch (InterruptedException e)
- {
- InterruptedIOException io
- = new InterruptedIOException (e.getMessage());
- io.bytesTransferred = count - toCopy;
- throw io;
- }
- }
- // Now copy some data from pipe into user buffer.
- int len;
- if (in < out)
- len = pipeBuffer.length - out;
- else
- len = in - out;
- len = len > toCopy ? toCopy : len;
- System.arraycopy(pipeBuffer, out, buf, offset, len);
- out += len;
- if (out == pipeBuffer.length)
- out = 0;
- toCopy -= len;
- offset += len;
- // If we've read all the data, then reset so that we know
- // there is nothing left to be read.
- if (in == out)
- in = -1;
- // Tell anybody waiting for space in the buffer.
- lock.notifyAll();
- }
- }
- return count;
- }
-
- void receive (char buf[], int offset, int count) throws IOException
- {
- if (count < 0)
- throw new ArrayIndexOutOfBoundsException ();
- int original = count;
- synchronized (lock)
- {
- while (count > 0)
- {
- // Wait until there is some space in the buffer.
- while (in == out)
- {
- try
- {
- lock.wait();
- }
- catch (InterruptedException e)
- {
- // Turn interrupts into IO interrupts.
- InterruptedIOException io
- = new InterruptedIOException (e.getMessage());
- io.bytesTransferred = original - count;
- throw io;
- }
- }
-
- // Compute destination in the pipe.
- int base, len;
- if (in == -1)
- {
- base = 0;
- len = pipeBuffer.length;
- }
- else if (in < out)
- {
- base = in;
- len = out - in;
- }
- else
- {
- base = in;
- len = pipeBuffer.length - in;
- }
- int copyLen = len > count ? count : len;
- // Copy data and update local state.
- System.arraycopy(buf, offset, pipeBuffer, base, copyLen);
- in = base + copyLen;
- if (in == pipeBuffer.length)
- in = 0;
- count -= copyLen;
- offset += copyLen;
- // Tell anybody waiting for data.
- lock.notifyAll();
- }
- }
- }
-
-
- boolean isClosed ()
- {
- return closed;
- }
-
- // The associated writer.
- private PipedWriter writer;
- // True if this reader has been closed.
- boolean closed;
-
- // Index of next character to overwrite when receive() is called.
- // If -1, then that means the buffer is empty.
- private int in;
- // Index of next character to return from read().
- private int out;
-
- // The pipe buffer itself.
- private char[] pipeBuffer;
-}
diff --git a/libjava/java/io/PipedWriter.java b/libjava/java/io/PipedWriter.java
deleted file mode 100644
index c914cac9f9c..00000000000
--- a/libjava/java/io/PipedWriter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-// PipedWriter.java - Piped character stream.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class PipedWriter extends Writer
-{
- public void close () throws IOException
- {
- closed = true;
- }
-
- public void connect (PipedReader sink) throws IOException
- {
- if (closed)
- throw new IOException ("already closed");
- if (reader != null)
- {
- if (reader == sink)
- return;
- throw new IOException ("already connected");
- }
- try
- {
- reader = sink;
- reader.connect(this);
- }
- catch (IOException e)
- {
- reader = null;
- throw e;
- }
- }
-
- public void flush () throws IOException
- {
- // We'll throw an exception if we're closed, but there's nothing
- // else to do here.
- if (closed)
- throw new IOException ("closed");
- }
-
- public PipedWriter ()
- {
- super ();
- closed = false;
- }
-
- public PipedWriter (PipedReader sink) throws IOException
- {
- super ();
- closed = false;
- connect (sink);
- }
-
- public void write (char buffer[], int offset, int count) throws IOException
- {
- if (closed)
- throw new IOException ("closed");
- reader.receive(buffer, offset, count);
- }
-
- boolean isClosed ()
- {
- return closed;
- }
-
- // The associated reader.
- private PipedReader reader;
- private boolean closed;
-}
diff --git a/libjava/java/io/PrintStream.java b/libjava/java/io/PrintStream.java
deleted file mode 100644
index f13d9f318bd..00000000000
--- a/libjava/java/io/PrintStream.java
+++ /dev/null
@@ -1,295 +0,0 @@
-// PrintStream.java - Print string representations
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-import gnu.gcj.convert.UnicodeToBytes;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Not finished.
- */
-
-public class PrintStream extends FilterOutputStream
-{
- /* Notice the implementation is quite similar to OutputStreamWriter.
- * This leads to some minor duplication, because neither inherits
- * from the other, and we want to maximize performance. */
-
- public boolean checkError ()
- {
- return error;
- }
-
- public void close ()
- {
- try
- {
- out.close();
- }
- catch (IOException e)
- {
- setError ();
- }
- }
-
- public void flush ()
- {
- try
- {
- out.flush();
- }
- catch (IOException e)
- {
- setError ();
- }
- }
-
- private synchronized void print (String str, boolean println)
- {
- try
- {
- writeChars(str, 0, str.length());
- if (println)
- writeChars(line_separator, 0, line_separator.length);
- if (auto_flush)
- flush();
- }
- catch (IOException e)
- {
- setError ();
- }
- }
-
- private synchronized void print (char[] chars, int pos, int len,
- boolean println)
- {
- try
- {
- writeChars(chars, pos, len);
- if (println)
- writeChars(line_separator, 0, line_separator.length);
- if (auto_flush)
- flush();
- }
- catch (IOException e)
- {
- setError ();
- }
- }
-
- /** Writes characters through to the inferior BufferedOutputStream. */
- private void writeChars(char[] buf, int offset, int count)
- throws IOException
- {
- while (count > 0)
- {
- // We must flush if out.count == out.buf.length.
- // It is probably a good idea to flush if out.buf is almost full.
- // This test is an approximation for "almost full".
- if (out.count + count >= out.buf.length)
- {
- out.flush();
- if (out.count != 0)
- throw new IOException("unable to flush output byte buffer");
- }
- converter.setOutput(out.buf, out.count);
- int converted = converter.write(buf, offset, count);
- offset += converted;
- count -= converted;
- out.count = converter.count;
- }
- }
-
- private void writeChars(String str, int offset, int count)
- throws IOException
- {
- while (count > 0)
- {
- // We must flush if out.count == out.buf.length.
- // It is probably a good idea to flush if out.buf is almost full.
- // This test is an approximation for "almost full".
- if (out.count + count >= out.buf.length)
- {
- out.flush();
- if (out.count != 0)
- throw new IOException("unable to flush output byte buffer");
- }
- converter.setOutput(out.buf, out.count);
- int converted = converter.write(str, offset, count, work);
- offset += converted;
- count -= converted;
- out.count = converter.count;
- }
- }
-
- public void print (boolean bool)
- {
- print(String.valueOf(bool), false);
- }
-
- public void print (int inum)
- {
- print(String.valueOf(inum), false);
- }
-
- public void print (long lnum)
- {
- print(String.valueOf(lnum), false);
- }
-
- public void print (float fnum)
- {
- print(String.valueOf(fnum), false);
- }
-
- public void print (double dnum)
- {
- print(String.valueOf(dnum), false);
- }
-
- public void print (Object obj)
- {
- print(obj == null ? "null" : obj.toString(), false);
- }
-
- public void print (String str)
- {
- print(str == null ? "null" : str, false);
- }
-
- public synchronized void print (char ch)
- {
- work[0] = ch;
- print(work, 0, 1, false);
- }
-
- public void print (char[] charArray)
- {
- print(charArray, 0, charArray.length, false);
- }
-
- public void println ()
- {
- print(line_separator, 0, line_separator.length, false);
- }
-
- public void println (boolean bool)
- {
- print(String.valueOf(bool), true);
- }
-
- public void println (int inum)
- {
- print(String.valueOf(inum), true);
- }
-
- public void println (long lnum)
- {
- print(String.valueOf(lnum), true);
- }
-
- public void println (float fnum)
- {
- print(String.valueOf(fnum), true);
- }
-
- public void println (double dnum)
- {
- print(String.valueOf(dnum), true);
- }
-
- public void println (Object obj)
- {
- print(obj == null ? "null" : obj.toString(), true);
- }
-
- public void println (String str)
- {
- print (str == null ? "null" : str, true);
- }
-
- public synchronized void println (char ch)
- {
- work[0] = ch;
- print(work, 0, 1, true);
- }
-
- public void println (char[] charArray)
- {
- print(charArray, 0, charArray.length, true);
- }
-
- public PrintStream (OutputStream out)
- {
- this(out, false);
- }
-
- public PrintStream (OutputStream out, boolean af)
- {
- super ((this.out = (out instanceof BufferedOutputStream
- ? (BufferedOutputStream) out
- : new BufferedOutputStream(out, 250))));
- converter = UnicodeToBytes.getDefaultEncoder();
- error = false;
- auto_flush = af;
- }
-
- protected void setError ()
- {
- error = true;
- }
-
- public void write (int oneByte)
- {
- try
- {
- out.write(oneByte);
- if (auto_flush && oneByte == '\n')
- out.flush();
- }
- catch (IOException e)
- {
- setError ();
- }
- }
-
- public void write (byte[] buffer, int offset, int count)
- {
- try
- {
- out.write(buffer, offset, count);
- if (auto_flush)
- out.flush();
- }
- catch (IOException e)
- {
- setError ();
- }
- }
-
- BufferedOutputStream out;
- UnicodeToBytes converter;
-
- char[] work = new char[100];
-
- // True if error occurred.
- private boolean error;
- // True if auto-flush.
- private boolean auto_flush;
-
- // Line separator string.
- private static final char[] line_separator
- = System.getProperty("line.separator").toCharArray();
-}
diff --git a/libjava/java/io/PrintWriter.java b/libjava/java/io/PrintWriter.java
deleted file mode 100644
index 2a6cb01b95b..00000000000
--- a/libjava/java/io/PrintWriter.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 17, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- * However, should use native methods for conversion.
- */
-
-public class PrintWriter extends Writer
-{
- private boolean autoflush;
- private boolean error;
- Writer out;
-
- public PrintWriter(Writer wr)
- {
- super(wr);
- this.out = wr;
- }
-
- public PrintWriter(Writer wr, boolean autoflush)
- {
- super(wr);
- this.out = wr;
- this.autoflush = autoflush;
- }
-
- public PrintWriter(OutputStream out)
- {
- super();
- this.out = new OutputStreamWriter(out);
- this.lock = this.out;
- }
-
- public PrintWriter(OutputStream out, boolean autoflush)
- {
- this(out);
- this.autoflush = autoflush;
- }
- protected void setError() { error = true; }
-
- public boolean checkError()
- {
- flush();
- return error;
- }
-
- public void flush()
- {
- try
- {
- out.flush();
- }
- catch (IOException ex)
- {
- error = true;
- }
- }
-
- public void close()
- {
- try
- {
- out.close();
- }
- catch (IOException ex)
- {
- error = true;
- }
- }
-
- public void print(String str)
- {
- try
- {
- out.write(str == null ? "null" : str);
- }
- catch (IOException ex)
- {
- error = true;
- }
- }
-
- public void print(char ch)
- {
- write((int) ch);
- }
-
- public void print(char[] charArray)
- {
- write(charArray, 0, charArray.length);
- }
-
- public void print(boolean bool)
- {
- print(bool ? "true" : "false");
- }
-
- public void print(int inum)
- {
- print(Integer.toString(inum));
- }
-
- public void print(long lnum)
- {
- print(Long.toString(lnum));
- }
-
- public void print(float fnum)
- {
- print(Float.toString(fnum));
- }
-
- public void print(double dnum)
- {
- print(Double.toString(dnum));
- }
-
- public void print(Object obj)
- {
- print(obj == null ? "null" : obj.toString());
- }
-
- private static final char[] line_separator
- = System.getProperty("line.separator").toCharArray();
-
- public void println()
- {
- synchronized (lock)
- {
- printlnUnsynchronized();
- }
- }
-
- private void printlnUnsynchronized()
- {
- try
- {
- write(line_separator, 0, line_separator.length);
- if (autoflush)
- out.flush();
- }
- catch (IOException ex)
- {
- error = true;
- }
- }
-
- public void println(boolean bool)
- {
- synchronized (lock)
- {
- print(bool);
- printlnUnsynchronized();
- }
- }
- public void println(int inum)
- {
- synchronized (lock)
- {
- print(inum);
- printlnUnsynchronized();
- }
- }
-
- public void println(long lnum)
- {
- synchronized (lock)
- {
- print(lnum);
- printlnUnsynchronized();
- }
- }
-
- public void println(float fnum)
- {
- synchronized (lock)
- {
- print(fnum);
- printlnUnsynchronized();
- }
- }
-
- public void println(double dnum)
- {
- synchronized (lock)
- {
- print(dnum);
- printlnUnsynchronized();
- }
- }
-
- public void println(Object obj)
- {
- synchronized (lock)
- {
- print(obj);
- printlnUnsynchronized();
- }
- }
-
- public void println(String str)
- {
- synchronized (lock)
- {
- print(str);
- printlnUnsynchronized();
- }
- }
-
- public void println(char ch)
- {
- synchronized (lock)
- {
- print(ch);
- printlnUnsynchronized();
- }
- }
-
- public void println(char[] charArray)
- {
- synchronized (lock)
- {
- print(charArray);
- printlnUnsynchronized();
- }
- }
-
- public void write(int ch)
- {
- try
- {
- out.write(ch);
- }
- catch (IOException ex)
- {
- error = true;
- }
- }
-
- public void write(char[] charArray, int offset, int count)
- {
- try
- {
- out.write(charArray, offset, count);
- }
- catch (IOException ex)
- {
- error = true;
- }
- }
-
- public void write(String str, int offset, int count)
- {
- try
- {
- out.write(str, offset, count);
- }
- catch (IOException ex)
- {
- error = true;
- }
- }
-
- public void write(char[] charArray)
- {
- write(charArray, 0, charArray.length);
- }
-
- public void write(String str)
- {
- write(str, 0, str.length());
- }
-}
diff --git a/libjava/java/io/PushbackInputStream.java b/libjava/java/io/PushbackInputStream.java
deleted file mode 100644
index 58c8fe6c4ec..00000000000
--- a/libjava/java/io/PushbackInputStream.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 15, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class PushbackInputStream extends FilterInputStream
-{
- /* Internal buffer array for data. */
- protected byte[] buf;
-
- /* The current position in the buffer. */
- protected int pos;
-
- public PushbackInputStream(InputStream in)
- {
- this(in, 1);
- }
-
- public PushbackInputStream(InputStream in, int size)
- {
- super(in);
- if (size < 0)
- throw new IllegalArgumentException();
- buf = new byte[size];
- pos = buf.length;
- }
-
- public int available() throws IOException
- {
- return pos + super.available();
- }
-
- public void close() throws IOException
- {
- buf = null;
- super.close();
- }
-
- public boolean markSupported()
- {
- return false;
- }
-
- public int read() throws IOException
- {
- if (pos < buf.length)
- return ((int) buf[pos++]) & 0xFF;
-
- return super.read();
- }
-
- public int read(byte[] b, int off, int len) throws IOException
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- int numBytes = Math.min(buf.length - pos, len);
- for (int i = 0; i < numBytes; i++)
- b[off++] = buf[pos++];
-
- // `off' was just incremented to include `numBytes', so we can
- // just pass ithere.
- return numBytes + super.read(b, off, len - numBytes);
- }
-
- public void unread(int b) throws IOException
- {
- if (pos <= 0)
- throw new IOException();
-
- buf[--pos] = (byte) b;
- }
-
- public void unread(byte[] b) throws IOException
- {
- unread(b, 0, b.length);
- }
-
- public void unread(byte[] b, int off, int len) throws IOException
- {
- if (pos < len)
- throw new IOException();
-
- // Note the order that these bytes are being added is the opposite
- // of what would be done if they were added to the buffer one at a time.
- // See the Java Class Libraries book p. 1390.
- System.arraycopy(b, off, buf, pos - len, len);
-
- // Don't put this into the arraycopy above, an exception might be thrown
- // and in that case we don't want to modify pos.
- pos -= len;
- }
-
- // JDK1.2
- public long skip(long n) throws IOException
- {
- final long origN = n;
-
- if (n > 0L)
- {
- int numread = (int) Math.min((long) (buf.length - pos), n);
- pos += numread;
- n -= numread;
- n -= super.skip(n);
- }
-
- return origN - n;
- }
-}
diff --git a/libjava/java/io/PushbackReader.java b/libjava/java/io/PushbackReader.java
deleted file mode 100644
index 0cfd63cdb2b..00000000000
--- a/libjava/java/io/PushbackReader.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 16, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class PushbackReader extends FilterReader
-{
- /* Internal buffer array for data. */
- private char[] buf;
-
- /* The current position in the buffer. */
- private int pos;
-
- public PushbackReader(Reader in)
- {
- this(in, 1);
- }
-
- public PushbackReader(Reader in, int size)
- {
- super(in);
- if (size < 0)
- throw new IllegalArgumentException();
- buf = new char[size];
- pos = buf.length;
- }
-
- public void close() throws IOException
- {
- synchronized (lock)
- {
- buf = null;
- super.close();
- }
- }
-
- public boolean markSupported()
- {
- return false;
- }
-
- public int read() throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- if (pos < buf.length)
- return ((int) buf[pos++]) & 0xFFFF;
-
- return super.read();
- }
- }
-
- public int read(char[] b, int off, int len) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- int numBytes = Math.min(buf.length - pos, len);
- for (int i = 0; i < numBytes; i++)
- b[off++] = buf[pos++];
-
- return numBytes + super.read(b, off, len - numBytes);
- }
- }
-
- public boolean ready() throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- if (buf.length - pos > 0)
- return true;
-
- return super.ready();
- }
- }
-
- public void unread(int b) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null || pos <= 0)
- throw new IOException();
-
- buf[--pos] = (char) b;
- }
- }
-
- public void unread(char[] b) throws IOException
- {
- unread(b, 0, b.length);
- }
-
- public void unread(char[] b, int off, int len) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null || pos < len)
- throw new IOException();
-
- // Note the order that these chars are being added is the opposite
- // of what would be done if they were added to the buffer one at a time.
- // See the Java Class Libraries book p. 1397.
- System.arraycopy(b, off, buf, pos - len, len);
-
- // Don't put this into the arraycopy above, an exception might be thrown
- // and in that case we don't want to modify pos.
- pos -= len;
- }
- }
-}
diff --git a/libjava/java/io/RandomAccessFile.java b/libjava/java/io/RandomAccessFile.java
deleted file mode 100644
index 79dcec5104a..00000000000
--- a/libjava/java/io/RandomAccessFile.java
+++ /dev/null
@@ -1,247 +0,0 @@
-// RandomAccessFile.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Believe complete and correct to 1.1.
- */
-
-public class RandomAccessFile implements DataOutput, DataInput
-{
- public void close () throws IOException
- {
- fd.close();
- }
-
- public final FileDescriptor getFD () throws IOException
- {
- if (! fd.valid())
- throw new IOException ();
- return fd;
- }
-
- public long getFilePointer () throws IOException
- {
- return fd.getFilePointer();
- }
-
- public long length () throws IOException
- {
- return fd.length();
- }
-
- public RandomAccessFile (String fileName, String mode) throws IOException
- {
- int fdmode;
- if (mode.compareTo ("r") == 0)
- fdmode = FileDescriptor.READ;
- else if (mode.compareTo ("rw") == 0)
- fdmode = FileDescriptor.READ | FileDescriptor.WRITE;
- else
- throw new IllegalArgumentException ("invalid mode: " + mode);
-
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- {
- s.checkRead(fileName);
- if ((fdmode & FileDescriptor.WRITE) != 0)
- s.checkWrite(fileName);
- }
-
- fd = new FileDescriptor (fileName, fdmode);
- out = new DataOutputStream (new FileOutputStream (fd));
- in = new DataInputStream (new FileInputStream (fd));
- }
-
- public RandomAccessFile (File file, String mode) throws IOException
- {
- this (file.getPath(), mode);
- }
-
- public int read () throws IOException
- {
- return in.read();
- }
-
- public int read (byte[] buffer) throws IOException
- {
- return in.read(buffer);
- }
-
- public int read (byte[] buffer, int offset, int count) throws IOException
- {
- return in.read(buffer, offset, count);
- }
-
- public final boolean readBoolean () throws IOException
- {
- return in.readBoolean();
- }
-
- public final byte readByte () throws IOException
- {
- return in.readByte();
- }
-
- public final char readChar () throws IOException
- {
- return in.readChar();
- }
-
- public final double readDouble () throws IOException
- {
- return in.readDouble();
- }
-
- public final float readFloat () throws IOException
- {
- return in.readFloat();
- }
-
- public final void readFully (byte[] buffer) throws IOException
- {
- in.readFully(buffer);
- }
-
- public final void readFully (byte[] buffer, int offset, int count)
- throws IOException
- {
- in.readFully(buffer, offset, count);
- }
-
- public final int readInt () throws IOException
- {
- return in.readInt();
- }
-
- public final String readLine () throws IOException
- {
- return in.readLine();
- }
-
- public final long readLong () throws IOException
- {
- return in.readLong();
- }
-
- public final short readShort () throws IOException
- {
- return in.readShort();
- }
-
- public final int readUnsignedByte () throws IOException
- {
- return in.readUnsignedByte();
- }
-
- public final int readUnsignedShort () throws IOException
- {
- return in.readUnsignedShort();
- }
-
- public final String readUTF () throws IOException
- {
- return in.readUTF();
- }
-
- public void seek (long pos) throws IOException
- {
- fd.seek(pos, FileDescriptor.SET);
- }
-
- public int skipBytes (int count) throws IOException
- {
- return fd.seek(count, FileDescriptor.CUR);
- }
-
- public void write (int oneByte) throws IOException
- {
- out.write(oneByte);
- }
-
- public void write (byte[] buffer) throws IOException
- {
- out.write(buffer);
- }
-
- public void write (byte[] buffer, int offset, int count) throws IOException
- {
- out.write(buffer, offset, count);
- }
-
- public final void writeBoolean (boolean val) throws IOException
- {
- out.writeBoolean(val);
- }
-
- public final void writeByte (int v) throws IOException
- {
- out.writeByte(v);
- }
-
- public final void writeShort (int v) throws IOException
- {
- out.writeShort(v);
- }
-
- public final void writeChar (int v) throws IOException
- {
- out.writeChar(v);
- }
-
- public final void writeInt (int v) throws IOException
- {
- out.writeInt(v);
- }
-
- public final void writeLong (long v) throws IOException
- {
- out.writeLong(v);
- }
-
- public final void writeFloat (float v) throws IOException
- {
- out.writeFloat(v);
- }
-
- public final void writeDouble (double v) throws IOException
- {
- out.writeDouble(v);
- }
-
- public final void writeBytes (String s) throws IOException
- {
- out.writeBytes(s);
- }
-
- public final void writeChars (String s) throws IOException
- {
- out.writeChars(s);
- }
-
- public final void writeUTF (String s) throws IOException
- {
- out.writeUTF(s);
- }
-
-
- // The underlying file.
- private FileDescriptor fd;
- // The corresponding input and output streams.
- private DataOutputStream out;
- private DataInputStream in;
-}
diff --git a/libjava/java/io/Reader.java b/libjava/java/io/Reader.java
deleted file mode 100644
index b54735836c2..00000000000
--- a/libjava/java/io/Reader.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 21, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public abstract class Reader
-{
- protected Object lock;
-
- protected Reader()
- {
- this.lock = this;
- }
-
- protected Reader(Object lock)
- {
- this.lock = lock;
- }
-
- abstract public int read(char buf[], int offset, int count)
- throws IOException;
-
- public int read(char buf[]) throws IOException
- {
- return read(buf, 0, buf.length);
- }
-
- public int read() throws IOException
- {
- char[] buf = new char[1];
- int count = read(buf, 0, 1);
- return count > 0 ? buf[0] : -1;
- }
-
- abstract public void close() throws IOException;
-
- public boolean markSupported()
- {
- return false;
- }
-
- public void mark(int readLimit) throws IOException
- {
- throw new IOException("mark not supported");
- }
-
- public void reset() throws IOException
- {
- throw new IOException("reset not supported");
- }
-
- public boolean ready() throws IOException
- {
- return false;
- }
-
- public long skip(long count) throws IOException
- {
- if (count <= 0)
- return 0;
- int bsize = count > 1024 ? 1024 : (int) count;
- char[] buffer = new char[bsize];
- long todo = count;
- while (todo > 0)
- {
- int skipped = read(buffer, 0, bsize > todo ? (int) todo : bsize);
- if (skipped <= 0)
- break;
- todo -= skipped;
- }
- return count - todo;
- }
-}
diff --git a/libjava/java/io/SequenceInputStream.java b/libjava/java/io/SequenceInputStream.java
deleted file mode 100644
index e6c79f3fc10..00000000000
--- a/libjava/java/io/SequenceInputStream.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-import java.util.Enumeration;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date November 3, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class SequenceInputStream extends InputStream
-{
- /* The handle for the current input stream. */
- private InputStream in;
-
- /* Secondary input stream; not used if constructed w/ enumeration. */
- private InputStream in2;
-
- /* The enum handle; not used if constructed w/ 2 explicit input streams. */
- private Enumeration enum;
-
- public SequenceInputStream(Enumeration e)
- {
- enum = e;
- in = (InputStream) enum.nextElement();
- in2 = null;
- }
-
- public SequenceInputStream(InputStream s1, InputStream s2)
- {
- in = s1;
- in2 = s2;
- }
-
- public int available() throws IOException
- {
- if (in == null)
- return 0;
-
- return in.available();
- }
-
- public void close() throws IOException
- {
- while (in != null)
- {
- in.close();
- in = getNextStream ();
- }
- }
-
- public int read() throws IOException
- {
- int ch = -1;
-
- while (in != null && (ch = in.read()) < 0)
- {
- in.close();
- in = getNextStream();
- }
-
- return ch;
- }
-
- public int read(byte[] b, int off, int len) throws IOException
- {
- int ch = -1;
-
- // The validity of the parameters will be checked by in.read so
- // don't bother doing it here.
- while (in != null && (ch = in.read(b, off, len)) < 0)
- {
- in.close();
- in = getNextStream();
- }
-
- return ch;
- }
-
- private InputStream getNextStream()
- {
- InputStream nextIn = null;
-
- if (enum != null)
- {
- if (enum.hasMoreElements())
- nextIn = (InputStream) enum.nextElement();
- }
- else
- if (in2 != null)
- {
- nextIn = in2;
- in2 = null;
- }
-
- return nextIn;
- }
-}
diff --git a/libjava/java/io/Serializable.java b/libjava/java/io/Serializable.java
deleted file mode 100644
index d4a31dbbad1..00000000000
--- a/libjava/java/io/Serializable.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * Status: Believed complete
- */
-
-public interface Serializable
-{
-}
diff --git a/libjava/java/io/StreamTokenizer.java b/libjava/java/io/StreamTokenizer.java
deleted file mode 100644
index d518f83b98d..00000000000
--- a/libjava/java/io/StreamTokenizer.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class StreamTokenizer
-{
- /* A constant indicating that the end of the stream has been read. */
- public static final int TT_EOF = -1;
-
- /* A constant indicating that the end of the line has been read. */
- public static final int TT_EOL = '\n';
-
- /* A constant indicating that a number token has been read. */
- public static final int TT_NUMBER = -2;
-
- /* A constant indicating that a word token has been read. */
- public static final int TT_WORD = -3;
-
- /* Contains the type of the token read resulting from a call to nextToken. */
- public int ttype;
-
- /* The String associated with word and string tokens. */
- public String sval;
-
- /* The numeric value associated with number tokens. */
- public double nval;
-
- /* Indicates whether end-of-line is recognized as a token. */
- private boolean eolSignificant = false;
-
- /* Indicates whether word tokens are automatically made lower case. */
- private boolean lowerCase = false;
-
- /* Indicates whether C++ style comments are recognized and skipped. */
- private boolean slashSlash = false;
-
- /* Indicates whether C style comments are recognized and skipped. */
- private boolean slashStar = false;
-
- /* Attribute tables of each byte from 0x00 to 0xFF. */
- private boolean[] whitespace;
- private boolean[] alphabetic;
- private boolean[] numeric;
- private boolean[] quote;
- private boolean[] comment;
-
- /* The Reader associated with this class. */
- private PushbackReader in;
-
- /* Indicates if a token has been pushed back. */
- private boolean pushedBack = false;
-
- /* Contains the current line number of the reader. */
- private int lineNumber = 1;
-
- // Deprecated in JDK 1.1.
- public StreamTokenizer(InputStream is)
- {
- this(new InputStreamReader(is));
- }
-
- public StreamTokenizer(Reader r)
- {
- in = new PushbackReader(r);
-
- whitespace = new boolean[256];
- alphabetic = new boolean[256];
- numeric = new boolean[256];
- quote = new boolean[256];
- comment = new boolean[256];
- for (int i = 0; i < 256; i++)
- resetChar(i);
-
- whitespaceChars(0x00, 0x20);
- wordChars('A', 'Z');
- wordChars('a', 'z');
- wordChars(0xA0, 0xFF);
- commentChar('/');
- quoteChar('\'');
- quoteChar('"');
- parseNumbers();
- }
-
- public void commentChar(int ch)
- {
- if (ch >= 0 && ch <= 255)
- comment[ch] = true;
- }
-
- public void eolIsSignificant(boolean flag)
- {
- eolSignificant = flag;
- }
-
- public int lineno()
- {
- return lineNumber;
- }
-
- public void lowerCaseMode(boolean flag)
- {
- lowerCase = flag;
- }
-
- private boolean isWhitespace(int ch)
- {
- if (ch >= 0 && ch <= 255)
- return whitespace[ch];
-
- return false;
- }
-
- private boolean isAlphabetic(int ch)
- {
- if (ch >= 0 && ch <= 255)
- return alphabetic[ch];
- else if (ch > 255)
- return true;
-
- return false;
- }
-
- private boolean isNumeric(int ch)
- {
- if (ch >= 0 && ch <= 255)
- return numeric[ch];
-
- return false;
- }
-
- private boolean isQuote(int ch)
- {
- if (ch >= 0 && ch <= 255)
- return quote[ch];
-
- return false;
- }
-
- private boolean isComment(int ch)
- {
- if (ch >= 0 && ch <= 255)
- return comment[ch];
-
- return false;
- }
-
- public int nextToken() throws IOException
- {
- if (pushedBack)
- {
- pushedBack = false;
- return ttype;
- }
-
- sval = null;
- int ch;
-
- // Skip whitespace. Deal with EOL along the way.
- while (isWhitespace(ch = in.read()))
- if (ch == '\n' || ch == '\r')
- {
- lineNumber++;
-
- // Throw away \n if in combination with \r.
- if (ch == '\r' && (ch = in.read()) != '\n')
- in.unread(ch);
- if (eolSignificant)
- return (ttype = TT_EOL);
- }
-
- if (ch == TT_EOF)
- ttype = TT_EOF;
- else if (isNumeric(ch))
- {
- if (ch == '-')
- {
- // Read ahead to see if this is an ordinary '-' rather than numeric.
- ch = in.read();
- in.unread(ch);
- if (isNumeric(ch) && ch != '-')
- ch = '-';
- else
- return (ttype = '-');
- }
-
- StringBuffer tokbuf = new StringBuffer();
- tokbuf.append((char) ch);
-
- int decCount = 0;
- while (isNumeric(ch = in.read()) && ch != '-')
- if (ch == '.' && decCount++ > 0)
- break;
- else
- tokbuf.append((char) ch);
-
- in.unread(ch);
- ttype = TT_NUMBER;
- nval = Double.valueOf(tokbuf.toString()).doubleValue();
- }
- else if (isAlphabetic(ch))
- {
- StringBuffer tokbuf = new StringBuffer();
- tokbuf.append((char) ch);
- while (isAlphabetic(ch = in.read()) || isNumeric(ch))
- tokbuf.append((char) ch);
- in.unread(ch);
- ttype = TT_WORD;
- sval = tokbuf.toString();
- if (lowerCase)
- sval.toLowerCase();
- }
- else if (isComment(ch))
- {
- while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
- ;
- in.unread(ch);
- return nextToken(); // Recursive, but not too deep in normal cases.
- }
- else if (isQuote(ch))
- {
- ttype = ch;
- StringBuffer tokbuf = new StringBuffer();
- while ((ch = in.read()) != ttype && ch != '\n' && ch != '\r' &&
- ch != TT_EOF)
- {
- if (ch == '\\')
- switch (ch = in.read())
- {
- case 'a': ch = 0x7;
- break;
- case 'b': ch = '\b';
- break;
- case 'f': ch = 0xC;
- break;
- case 'n': ch = '\n';
- break;
- case 'r': ch = '\r';
- break;
- case 't': ch = '\t';
- break;
- case 'v': ch = 0xB;
- break;
- case '\"':
- case '\'':
- case '\\':
- break;
- default:
- int ch1, nextch;
- if ((nextch = ch1 = ch) >= '0' && ch <= '7')
- {
- ch -= '0';
- if ((nextch = in.read()) >= '0' && nextch <= '7')
- {
- ch = ch * 8 + nextch - '0';
- if ((nextch = in.read()) >= '0' && nextch <= '7' &&
- ch1 >= '0' && ch1 <= '3')
- {
- ch = ch * 8 + nextch - '0';
- nextch = in.read();
- }
- }
- }
-
- in.unread(nextch);
- }
-
- tokbuf.append((char) ch);
- }
-
- // Throw away matching quote char.
- if (ch != ttype)
- in.unread(ch);
-
- sval = tokbuf.toString();
- }
- else
- {
- if (ch == '/')
- if ((ch = in.read()) == '/' && slashSlash)
- {
- while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
- ;
- in.unread(ch);
- return nextToken(); // Recursive, but not too deep in normal cases
- }
- else if (ch == '*' && slashStar)
- {
- while (true)
- {
- ch = in.read();
- if (ch == '*')
- if ((ch = in.read()) == '/')
- break;
- else
- in.unread(ch);
- else if (ch == '\n' || ch == '\r')
- {
- lineNumber++;
- if (ch == '\r' && (ch = in.read()) != '\n')
- in.unread(ch);
- }
- else if (ch == TT_EOF)
- {
- in.unread(ch);
- break;
- }
- }
- return nextToken(); // Recursive, but not too deep in normal cases
- }
- else
- {
- in.unread(ch);
- ch = '/';
- }
-
- ttype = ch;
- }
-
- return ttype;
- }
-
- private void resetChar(int ch)
- {
- whitespace[ch] = alphabetic[ch] = numeric[ch] = quote[ch] = comment[ch] =
- false;
- }
-
- public void ordinaryChar(int ch)
- {
- if (ch >= 0 && ch <= 255)
- resetChar(ch);
- }
-
- public void ordinaryChars(int low, int hi)
- {
- if (low < 0)
- low = 0;
- if (hi > 255)
- hi = 255;
- for (int i = low; i <= hi; i++)
- resetChar(i);
- }
-
- public void parseNumbers()
- {
- for (int i = 0; i <= 9; i++)
- numeric['0' + i] = true;
-
- numeric['.'] = true;
- numeric['-'] = true;
- }
-
- public void pushBack()
- {
- // pushBack may cause the lineno method to return an incorrect value
- // if lineno is called before the next call to nextToken.
- pushedBack = true;
- }
-
- public void quoteChar(int ch)
- {
- if (ch >= 0 && ch <= 255)
- quote[ch] = true;
- }
-
- public void resetSyntax()
- {
- ordinaryChars(0x00, 0xFF);
- }
-
- public void slashSlashComments(boolean flag)
- {
- slashSlash = flag;
- }
-
- public void slashStarComments(boolean flag)
- {
- slashStar = flag;
- }
-
- public String toString()
- {
- String tempstr;
- if (ttype == TT_EOF)
- tempstr = "EOF";
- else if (ttype == TT_EOL)
- tempstr = "EOL";
- else if (ttype == TT_WORD)
- tempstr = sval;
- else if (ttype == TT_NUMBER)
- tempstr = "n=" + Double.toString(nval);
- else // must be an ordinary char.
- tempstr = "\'" + (new Character((char) ttype)).toString() + "\'";
-
- return "Token[" + tempstr + "], line " + Integer.toString(lineno());
- }
-
- public void whitespaceChars(int low, int hi)
- {
- if (low < 0)
- low = 0;
- if (hi > 255)
- hi = 255;
- for (int i = low; i <= hi; i++)
- whitespace[i] = true;
- }
-
- public void wordChars(int low, int hi)
- {
- if (low < 0)
- low = 0;
- if (hi > 255)
- hi = 255;
- for (int i = low; i <= hi; i++)
- alphabetic[i] = true;
- }
-}
diff --git a/libjava/java/io/StringBufferInputStream.java b/libjava/java/io/StringBufferInputStream.java
deleted file mode 100644
index 19e89db592c..00000000000
--- a/libjava/java/io/StringBufferInputStream.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date November 11, 1998.
- * @deprecated
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct. Deprecated in JDK 1.1.
- */
-
-public class StringBufferInputStream extends InputStream
-{
- /* The String which is the input to this stream. */
- protected String buffer;
-
- /* Position of the next byte in buffer to be read. */
- protected int pos = 0;
-
- /* The length of the String buffer. */
- protected int count;
-
- public StringBufferInputStream(String s)
- {
- buffer = s;
- count = s.length();
- }
-
- public int available()
- {
- return count - pos;
- }
-
- public int read()
- {
- if (pos >= count)
- return -1; // EOF
-
- return ((int) buffer.charAt(pos++)) & 0xFF;
- }
-
- public int read(byte[] b, int off, int len)
- {
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- if (pos >= count)
- return -1; // EOF
-
- int numRead = Math.min(len, count - pos);
- if (numRead < 0)
- return 0;
-
- buffer.getBytes(pos, pos + numRead, b, off);
- pos += numRead;
- return numRead;
- }
-
- public void reset()
- {
- pos = 0;
- }
-
- public long skip(long n)
- {
- if (n < 0)
- return 0L;
-
- long actualSkip = Math.min(n, count - pos);
- pos += actualSkip;
- return actualSkip;
- }
-}
diff --git a/libjava/java/io/StringReader.java b/libjava/java/io/StringReader.java
deleted file mode 100644
index 08e8d0c4f15..00000000000
--- a/libjava/java/io/StringReader.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date October 19, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-public class StringReader extends Reader
-{
- /* A String provided by the creator of the stream. */
- private String buf;
-
- /* Position of the next char in buf to be read. */
- private int pos;
-
- /* The currently marked position in the stream. */
- private int markedPos;
-
- /* The index in buf one greater than the last valid character. */
- private int count;
-
- public StringReader(String buffer)
- {
- super();
- buf = buffer;
-
- count = buffer.length();
- markedPos = pos = 0;
- }
-
- public void close()
- {
- synchronized (lock)
- {
- buf = null;
- }
- }
-
- public void mark(int readAheadLimit) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- // readAheadLimit is ignored per Java Class Lib. book, p. 1692.
- markedPos = pos;
- }
- }
-
- public boolean markSupported()
- {
- return true;
- }
-
- public int read() throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- if (pos < count)
- return ((int) buf.charAt(pos++)) & 0xFFFF;
- return -1;
- }
- }
-
- public int read(char[] b, int off, int len) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- /* Don't need to check pos value, arraycopy will check it. */
- if (off < 0 || len < 0 || off + len > b.length)
- throw new ArrayIndexOutOfBoundsException();
-
- if (pos >= count)
- return -1;
-
- int lastChar = Math.min(count, pos + len);
- buf.getChars(pos, lastChar, b, off);
- int numChars = lastChar - pos;
- pos = lastChar;
- return numChars;
- }
- }
-
- public boolean ready() // TODO12: throws IOException
- {
- // TODO12: The JCL specifically says this returns true even if the
- // reader has been closed, whereas the online 1.2 doc specifically
- // says to throw an IOException if closed.
- return true;
- }
-
- public void reset() throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- pos = markedPos;
- }
- }
-
- public long skip(long n) throws IOException
- {
- synchronized (lock)
- {
- if (buf == null)
- throw new IOException();
-
- // Even though the var numChars is a long, in reality it can never
- // be larger than an int since the result of subtracting 2 positive
- // ints will always fit in an int. Since we have to return a long
- // anyway, numChars might as well just be a long.
- long numChars = Math.min((long) (count - pos), n < 0 ? 0L : n);
- pos += numChars;
- return numChars;
- }
- }
-}
diff --git a/libjava/java/io/StringWriter.java b/libjava/java/io/StringWriter.java
deleted file mode 100644
index 90ad9a9b688..00000000000
--- a/libjava/java/io/StringWriter.java
+++ /dev/null
@@ -1,80 +0,0 @@
-// StringWriter.java - StringBuffer output stream
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class StringWriter extends Writer
-{
- public void close ()
- {
- // JCL says this does nothing. This seems to violate the Writer
- // contract, in that other methods should still throw and
- // IOException after a close. Still, we just follow JCL.
- }
-
- public void flush ()
- {
- }
-
- public StringBuffer getBuffer ()
- {
- return buffer;
- }
-
- public StringWriter ()
- {
- this (16);
- }
-
- protected StringWriter (int size)
- {
- super ();
- buffer = new StringBuffer (size);
- lock = buffer;
- }
-
- public String toString ()
- {
- return buffer.toString();
- }
-
- public void write (int oneChar)
- {
- buffer.append((char) oneChar);
- }
-
- public void write (char[] chars, int offset, int len)
- {
- buffer.append(chars, offset, len);
- }
-
- public void write (String str)
- {
- buffer.append(str);
- }
-
- public void write (String str, int offset, int len)
- {
- buffer.append(str.substring(offset, offset + len));
- }
-
- // The string buffer.
- private StringBuffer buffer;
-}
diff --git a/libjava/java/io/SyncFailedException.java b/libjava/java/io/SyncFailedException.java
deleted file mode 100644
index b920198edf6..00000000000
--- a/libjava/java/io/SyncFailedException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// SyncFailedException.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class SyncFailedException extends IOException
-{
- public SyncFailedException ()
- {
- super ();
- }
-
- public SyncFailedException (String s)
- {
- super (s);
- }
-}
diff --git a/libjava/java/io/UTFDataFormatException.java b/libjava/java/io/UTFDataFormatException.java
deleted file mode 100644
index aea35401772..00000000000
--- a/libjava/java/io/UTFDataFormatException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// UTFDataFormatException.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Complete to 1.1.
- */
-
-public class UTFDataFormatException extends IOException
-{
- public UTFDataFormatException ()
- {
- super ();
- }
-
- public UTFDataFormatException (String s)
- {
- super (s);
- }
-}
diff --git a/libjava/java/io/UnsupportedEncodingException.java b/libjava/java/io/UnsupportedEncodingException.java
deleted file mode 100644
index f3c26f9b316..00000000000
--- a/libjava/java/io/UnsupportedEncodingException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 17, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class UnsupportedEncodingException extends IOException
-{
- public UnsupportedEncodingException ()
- {
- super();
- }
-
- public UnsupportedEncodingException (String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/io/Writer.java b/libjava/java/io/Writer.java
deleted file mode 100644
index 48cedb63114..00000000000
--- a/libjava/java/io/Writer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.io;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 17, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- * However, write(String, int, int) should be made a native method.
- */
-
-public abstract class Writer
-{
- protected Object lock;
-
- protected Writer ()
- {
- lock = this;
- }
-
- protected Writer (Object lock)
- {
- this.lock = lock;
- }
-
- abstract public void close() throws IOException;
-
- abstract public void flush() throws IOException;
-
- abstract public void write(char[] buf, int offset, int count)
- throws IOException;
-
- public void write(char[] buf) throws IOException
- {
- write(buf, 0, buf.length);
- }
-
- public void write(int ch) throws IOException
- {
- char[] buf = new char[1];
- buf[0] = (char) ch;
- write(buf, 0, 1);
- }
-
- // FIXME - re-write using native code to not require copied buffer.
- public void write (String str, int offset, int count) throws IOException
- {
- char[] buf = new char[count];
- str.getChars(offset, offset + count, buf, 0);
- write(buf, 0, count);
- }
-
- public void write (String str) throws IOException
- {
- write(str, 0, str.length());
- }
-
-}
diff --git a/libjava/java/io/natFile.cc b/libjava/java/io/natFile.cc
deleted file mode 100644
index 40f227719e5..00000000000
--- a/libjava/java/io/natFile.cc
+++ /dev/null
@@ -1,273 +0,0 @@
-// natFile.cc - Native part of File class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <errno.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdlib.h>
-#ifdef HAVE_DIRENT_H
-#define _POSIX_PTHREAD_SEMANTICS
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-#include <dirent.h>
-#endif
-#include <string.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/io/File.h>
-#include <java/io/IOException.h>
-#include <java/util/Vector.h>
-#include <java/lang/String.h>
-#include <java/io/FilenameFilter.h>
-#include <java/lang/System.h>
-
-jboolean
-java::io::File::access (jstring canon, jint query)
-{
- if (! canon)
- return false;
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
- // FIXME?
- buf[total] = '\0';
- JvAssert (query == READ || query == WRITE || query == EXISTS);
-#ifdef HAVE_ACCESS
- int mode;
- if (query == READ)
- mode = R_OK;
- else if (query == WRITE)
- mode = W_OK;
- else
- mode = F_OK;
- return ::access (buf, mode) == 0;
-#else
- return false;
-#endif
-}
-
-jboolean
-java::io::File::stat (jstring canon, jint query)
-{
- if (! canon)
- return false;
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
- // FIXME?
- buf[total] = '\0';
-
-#ifdef HAVE_STAT
- struct stat sb;
- if (::stat (buf, &sb))
- return false;
-
- JvAssert (query == DIRECTORY || query == ISFILE);
- jboolean r = S_ISDIR (sb.st_mode);
- return query == DIRECTORY ? r : ! r;
-#else
- return false;
-#endif
-}
-
-jlong
-java::io::File::attr (jstring canon, jint query)
-{
- if (! canon)
- return false;
-
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
- // FIXME?
- buf[total] = '\0';
-
-#ifdef HAVE_STAT
- struct stat sb;
- // FIXME: not sure about return value here.
- if (::stat (buf, &sb))
- return 0;
-
- JvAssert (query == MODIFIED || query == LENGTH);
- // FIXME: time computation is very POSIX-specific -- POSIX and Java
- // have the same Epoch.
- return query == MODIFIED ? sb.st_mtime * 1000 : sb.st_size;
-#else
- // There's no good choice here.
- return 23;
-#endif
-}
-
-jstring
-java::io::File::getCanonicalPath (void)
-{
- char buf[MAXPATHLEN], buf2[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
- // FIXME?
- buf[total] = '\0';
-
-#ifdef HAVE_REALPATH
- if (realpath (buf, buf2) == NULL)
- _Jv_Throw (new IOException (JvNewStringLatin1 (strerror (errno))));
-
- // FIXME: what encoding to assume for file names? This affects many
- // calls.
- return JvNewStringUTF (buf2);
-#else
- return JvNewStringUTF (buf);
-#endif
-}
-
-jboolean
-java::io::File::isAbsolute (void)
-{
- // FIXME: cpp define name.
- // FIXME: cygwin.
-#ifdef WIN32
- if (path->charAt(0) == '/' || path->charAt(0) == '\\')
- return true;
- if (path->length() < 3)
- return false;
- // Hard-code A-Za-z because Windows (I think) can't use non-ASCII
- // letters as drive names.
- if ((path->charAt(0) < 'a' || path->charAt(0) > 'z')
- && (path->charAt(0) < 'A' || path->charAt(0) > 'Z'))
- return false;
- return (path->charAt(1) == ':'
- && (path->charAt(2) == '/' || path->charAt(2) == '\\'));
-#else
- return path->charAt(0) == '/';
-#endif
-}
-
-#ifdef HAVE_DIRENT_H
-#if defined(__JV_POSIX_THREADS__) && defined(HAVE_READDIR_R)
-
-static struct dirent *
-get_entry (DIR *dir, struct dirent *e)
-{
- struct dirent *r;
- if (readdir_r (dir, e, &r) || r == NULL)
- return NULL;
- return e;
-}
-
-#else /* defined(__JV_POSIX_THREADS__) && defined(HAVE_READDIR_R) */
-
-static struct dirent *
-get_entry (DIR *dir, struct dirent *)
-{
- return readdir (dir);
-}
-
-#endif /* defined(__JV_POSIX_THREADS__) && defined(HAVE_READDIR_R) */
-#endif /* HAVE_DIRENT_H */
-
-jstringArray
-java::io::File::performList (jstring canon, FilenameFilter *filter)
-{
- if (! canon)
- return NULL;
-
-#ifdef HAVE_DIRENT_H
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
- // FIXME?
- buf[total] = '\0';
-
- DIR *dir = opendir (buf);
- if (! dir)
- return NULL;
-
- java::util::Vector *vec = new java::util::Vector ();
- struct dirent *d, d2;
- while ((d = get_entry (dir, &d2)) != NULL)
- {
- if (! strcmp (d->d_name, ".") || ! strcmp (d->d_name, ".."))
- continue;
-
- jstring name = JvNewStringUTF (d->d_name);
- if (filter && ! filter->accept(this, name))
- continue;
-
- vec->addElement(name);
- }
-
- closedir (dir);
-
- jobjectArray ret = JvNewObjectArray (vec->size(), canon->getClass(),
- NULL);
- vec->copyInto(ret);
- return reinterpret_cast<jstringArray> (ret);
-#else /* HAVE_DIRENT_H */
- return NULL;
-#endif /* HAVE_DIRENT_H */
-}
-
-jboolean
-java::io::File::performMkdir (void)
-{
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
- // FIXME?
- buf[total] = '\0';
-
-#ifdef HAVE_MKDIR
- // FIXME: mode.
- return ::mkdir (buf, 0755) == 0;
-#else
- return false;
-#endif
-}
-
-jboolean
-java::io::File::performRenameTo (File *dest)
-{
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
- // FIXME?
- buf[total] = '\0';
- char buf2[MAXPATHLEN];
- total = JvGetStringUTFRegion (dest->path, 0, dest->path->length(), buf2);
- // FIXME?
- buf2[total] = '\0';
-
-#ifdef HAVE_RENAME
- return ::rename (buf, buf2) == 0;
-#else
- return false;
-#endif
-}
-
-jboolean
-java::io::File::performDelete (jstring canon)
-{
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
- // FIXME?
- buf[total] = '\0';
-
-#ifdef HAVE_UNLINK
-#ifdef HAVE_RMDIR
- if (! ::rmdir (buf))
- return true;
-#endif // HAVE_RMDIR
- if (errno == ENOTDIR)
- return ::unlink (buf) == 0;
-#endif // HAVE_UNLINK
- return false;
-}
diff --git a/libjava/java/io/natFileDescriptorEcos.cc b/libjava/java/io/natFileDescriptorEcos.cc
deleted file mode 100644
index f2c3fb0db79..00000000000
--- a/libjava/java/io/natFileDescriptorEcos.cc
+++ /dev/null
@@ -1,132 +0,0 @@
-// natFileDescriptor.cc - Native part of FileDescriptor class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <errno.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/param.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/io/FileDescriptor.h>
-#include <java/io/SyncFailedException.h>
-#include <java/io/IOException.h>
-#include <java/io/EOFException.h>
-#include <java/lang/ArrayIndexOutOfBoundsException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/String.h>
-#include <java/io/FileNotFoundException.h>
-
-extern "C" void diag_write_char (char c);
-
-static void
-diag_write (char *data, int len)
-{
- while (len > 0)
- {
- diag_write_char (*data++);
- len--;
- }
-}
-
-#define NO_FSYNC_MESSAGE "sync unsupported"
-
-jboolean
-java::io::FileDescriptor::valid (void)
-{
- return true;
-}
-
-void
-java::io::FileDescriptor::sync (void)
-{
- // Some files don't support fsync. We don't bother reporting these
- // as errors.
-#ifdef HAVE_FSYNC
-#else
- JvThrow (new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE)));
-#endif
-}
-
-jint
-java::io::FileDescriptor::open (jstring path, jint jflags)
-{
- return fd;
-}
-
-void
-java::io::FileDescriptor::write (jint b)
-{
- char d = (char) b;
- ::diag_write (&d, 1);
-}
-
-void
-java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
-{
- if (! b)
- JvThrow (new java::lang::NullPointerException);
- if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
- char *bytes = (char *)elements (b) + offset;
- ::diag_write (bytes, len);
-}
-
-void
-java::io::FileDescriptor::close (void)
-{
-}
-
-jint
-java::io::FileDescriptor::seek (jlong pos, jint whence)
-{
- JvAssert (whence == SET || whence == CUR);
-
- jlong len = length ();
- jlong here = getFilePointer ();
-
- if ((whence == SET && pos > len) || (whence == CUR && here + pos > len))
- JvThrow (new EOFException);
-
- return 0;
-}
-
-jlong
-java::io::FileDescriptor::length (void)
-{
- return 0;
-}
-
-jlong
-java::io::FileDescriptor::getFilePointer (void)
-{
- return 0;
-}
-
-jint
-java::io::FileDescriptor::read (void)
-{
- return 0;
-}
-
-jint
-java::io::FileDescriptor::read (jbyteArray buffer, jint offset, jint count)
-{
- return 0;
-}
-
-jint
-java::io::FileDescriptor::available (void)
-{
- return 0;
-}
diff --git a/libjava/java/io/natFileDescriptorPosix.cc b/libjava/java/io/natFileDescriptorPosix.cc
deleted file mode 100644
index 3efd8e4791b..00000000000
--- a/libjava/java/io/natFileDescriptorPosix.cc
+++ /dev/null
@@ -1,264 +0,0 @@
-// natFileDescriptor.cc - Native part of FileDescriptor class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/param.h>
-#include <fcntl.h>
-
-#ifdef HAVE_SYS_IOCTL_H
-#define BSD_COMP /* Get FIONREAD on Solaris2. */
-#include <sys/ioctl.h>
-#endif
-
-// Pick up FIONREAD on Solaris 2.5.
-#ifdef HAVE_SYS_FILIO_H
-#include <sys/filio.h>
-#endif
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/io/FileDescriptor.h>
-#include <java/io/SyncFailedException.h>
-#include <java/io/IOException.h>
-#include <java/io/InterruptedIOException.h>
-#include <java/io/EOFException.h>
-#include <java/lang/ArrayIndexOutOfBoundsException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/String.h>
-#include <java/lang/Thread.h>
-#include <java/io/FileNotFoundException.h>
-
-#define NO_FSYNC_MESSAGE "sync unsupported"
-
-jboolean
-java::io::FileDescriptor::valid (void)
-{
- struct stat sb;
- return ::fstat (fd, &sb) == 0;
-}
-
-void
-java::io::FileDescriptor::sync (void)
-{
- // Some files don't support fsync. We don't bother reporting these
- // as errors.
-#ifdef HAVE_FSYNC
- if (::fsync (fd) && errno != EROFS && errno != EINVAL)
- JvThrow (new SyncFailedException (JvNewStringLatin1 (strerror (errno))));
-#else
- JvThrow (new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE)));
-#endif
-}
-
-jint
-java::io::FileDescriptor::open (jstring path, jint jflags)
-{
- // FIXME: eww.
- char buf[MAXPATHLEN];
- jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
- // FIXME?
- buf[total] = '\0';
- int flags = 0;
-#ifdef O_BINARY
- flags |= O_BINARY;
-#endif
-
- JvAssert ((jflags & READ) || (jflags & WRITE));
- if ((jflags & READ) && (jflags & WRITE))
- flags |= O_RDWR;
- else if ((jflags & READ))
- flags |= O_RDONLY;
- else
- {
- flags |= O_WRONLY | O_CREAT;
- if ((jflags & APPEND))
- flags |= O_APPEND;
- else
- flags |= O_TRUNC;
- }
-
- // FIXME: mode?
- int fd = ::open (buf, flags, 0755);
- if (fd == -1)
- {
- char msg[MAXPATHLEN + 200];
- sprintf (msg, "%s: %s", buf, strerror (errno));
- JvThrow (new FileNotFoundException (JvNewStringLatin1 (msg)));
- }
- return fd;
-}
-
-void
-java::io::FileDescriptor::write (jint b)
-{
- jbyte d = (jbyte) b;
- int r = ::write (fd, &d, 1);
- if (java::lang::Thread::interrupted())
- {
- InterruptedIOException *iioe
- = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
- iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
- }
- else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- // FIXME: loop if r != 1.
-}
-
-void
-java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
-{
- if (! b)
- JvThrow (new java::lang::NullPointerException);
- if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
- jbyte *bytes = elements (b) + offset;
- int r = ::write (fd, bytes, len);
- if (java::lang::Thread::interrupted())
- {
- InterruptedIOException *iioe
- = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
- iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
- }
- else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- // FIXME: loop if r != len.
-}
-
-void
-java::io::FileDescriptor::close (void)
-{
- jint save = fd;
- fd = -1;
- if (::close (save))
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
-}
-
-jint
-java::io::FileDescriptor::seek (jlong pos, jint whence)
-{
- JvAssert (whence == SET || whence == CUR);
-
- jlong len = length ();
- jlong here = getFilePointer ();
-
- if ((whence == SET && pos > len) || (whence == CUR && here + pos > len))
- JvThrow (new EOFException);
-
- off_t r = ::lseek (fd, (off_t) pos, whence == SET ? SEEK_SET : SEEK_CUR);
- if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- return r;
-}
-
-jlong
-java::io::FileDescriptor::length (void)
-{
- struct stat sb;
- if (::fstat (fd, &sb))
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- return sb.st_size;
-}
-
-jlong
-java::io::FileDescriptor::getFilePointer (void)
-{
- off_t r = ::lseek (fd, 0, SEEK_CUR);
- if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- return r;
-}
-
-jint
-java::io::FileDescriptor::read (void)
-{
- jbyte b;
- int r = ::read (fd, &b, 1);
- if (r == 0)
- return -1;
- if (java::lang::Thread::interrupted())
- {
- InterruptedIOException *iioe
- = new InterruptedIOException (JvNewStringLatin1 ("read interrupted"));
- iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
- }
- else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- return b & 0xFF;
-}
-
-jint
-java::io::FileDescriptor::read (jbyteArray buffer, jint offset, jint count)
-{
- if (! buffer)
- JvThrow (new java::lang::NullPointerException);
- jsize bsize = JvGetArrayLength (buffer);
- if (offset < 0 || count < 0 || offset + count > bsize)
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
- jbyte *bytes = elements (buffer) + offset;
- int r = ::read (fd, bytes, count);
- if (r == 0)
- return -1;
- if (java::lang::Thread::interrupted())
- {
- InterruptedIOException *iioe
- = new InterruptedIOException (JvNewStringLatin1 ("read interrupted"));
- iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
- }
- else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- return r;
-}
-
-jint
-java::io::FileDescriptor::available (void)
-{
-#if defined (FIONREAD)
- long num;
- int r = ::ioctl (fd, FIONREAD, &num);
- if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- return (jint) num;
-#elif defined (HAVE_SELECT)
- int r = -1;
- if (fd < 0)
- errno = EBADF;
- else
- {
- fd_set rd;
- FD_ZERO (&rd);
- FD_SET (fd, &rd);
- struct timeval tv;
- tv.tv_sec = 0;
- tv.tv_usec = 0;
- r = ::select (fd + 1, &rd, NULL, NULL, &tv);
- }
- if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
- return r == 0 ? 0 : 1;
-#else
- JvThrow (new IOException (JvNewStringLatin1 ("unimplemented")));
-#endif
-}
diff --git a/libjava/java/lang/AbstractMethodError.java b/libjava/java/lang/AbstractMethodError.java
deleted file mode 100644
index b1751e2e0f1..00000000000
--- a/libjava/java/lang/AbstractMethodError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// AbstractMethodError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class AbstractMethodError extends IncompatibleClassChangeError
-{
- public AbstractMethodError ()
- {
- super ();
- }
-
- public AbstractMethodError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/ArithmeticException.java b/libjava/java/lang/ArithmeticException.java
deleted file mode 100644
index def8c82be77..00000000000
--- a/libjava/java/lang/ArithmeticException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ArithmeticException extends RuntimeException
-{
- public ArithmeticException()
- {
- super();
- }
-
- public ArithmeticException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/ArrayIndexOutOfBoundsException.java b/libjava/java/lang/ArrayIndexOutOfBoundsException.java
deleted file mode 100644
index e66b6d7189b..00000000000
--- a/libjava/java/lang/ArrayIndexOutOfBoundsException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException
-{
- public ArrayIndexOutOfBoundsException()
- {
- super();
- }
-
- public ArrayIndexOutOfBoundsException(int index)
- {
- this("Array index out of range: " + index);
- }
-
- public ArrayIndexOutOfBoundsException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/ArrayStoreException.java b/libjava/java/lang/ArrayStoreException.java
deleted file mode 100644
index 7b9ede6ff25..00000000000
--- a/libjava/java/lang/ArrayStoreException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ArrayStoreException extends RuntimeException
-{
- public ArrayStoreException()
- {
- super();
- }
-
- public ArrayStoreException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/Boolean.java b/libjava/java/lang/Boolean.java
deleted file mode 100644
index 78ab77ff81a..00000000000
--- a/libjava/java/lang/Boolean.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.io.Serializable;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 3, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public final class Boolean extends Object implements Serializable
-{
- public static final Boolean FALSE = new Boolean(false);
- public static final Boolean TRUE = new Boolean(true);
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = boolean.class;
-
- /* The boolean value of the instance. */
- private boolean value;
-
- public Boolean(boolean boolVal)
- {
- value = boolVal;
- }
-
- public Boolean(String strVal)
- {
- value = strVal.equalsIgnoreCase("true");
- }
-
- public boolean booleanValue()
- {
- return value;
- }
-
- public boolean equals(Object obj)
- {
- /* Don't need to compare obj to null as instanceof will do this. */
- if (obj instanceof Boolean)
- return value == ((Boolean) obj).value;
- return false;
- }
-
- public static boolean getBoolean(String property)
- {
- /* TBD: If a security manager exists and it doesn't permit accessing
- * the property, it will throw an exception. Should we catch it?
- */
- try
- {
- String val = System.getProperty(property);
- return val == null ? false : val.equalsIgnoreCase("true");
- }
- catch (SecurityException e)
- {
- return false;
- }
- }
-
- public int hashCode()
- {
- /* These values are from the Java Lang. Spec. (Sec 20.4.7).
- * TBD: They could be made private static final fields but they're only
- * used here (and shouldn't be used anywhere else), though it might be
- * useful to grep on something like JAVA_HASH_* values for us as
- * developers.
- */
- return value ? 1231 : 1237;
- }
-
- public String toString()
- {
- return value ? "true" : "false";
- }
-
- public static Boolean valueOf(String str)
- {
- /* This returns a Boolean (big B), not a boolean (little b). */
- return str.equalsIgnoreCase("true") ? TRUE : FALSE;
- }
-}
diff --git a/libjava/java/lang/Byte.java b/libjava/java/lang/Byte.java
deleted file mode 100644
index f3ec4020671..00000000000
--- a/libjava/java/lang/Byte.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 17, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- * Includes JDK 1.2 methods.
- */
-
-public final class Byte extends Number implements Comparable
-{
- byte value;
-
- public final static byte MIN_VALUE = -128;
- public final static byte MAX_VALUE = 127;
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = byte.class;
-
- public Byte(byte value)
- {
- this.value = value;
- }
-
- public Byte(String str)
- throws NumberFormatException
- {
- this.value = parseByte(str, 10);
- }
-
- public byte byteValue()
- {
- return value;
- }
-
- public short shortValue()
- {
- return value;
- }
-
- public int intValue()
- {
- return value;
- }
-
- public long longValue ()
- {
- return value;
- }
-
- public float floatValue ()
- {
- return (float) value;
- }
-
- public double doubleValue ()
- {
- return (double) value;
- }
-
- public static Byte decode(String str)
- throws NumberFormatException
- {
- int i = (Integer.decode(str)).intValue();
- if (i < MIN_VALUE || i > MAX_VALUE)
- throw new NumberFormatException();
- return new Byte((byte) i);
- }
-
- public static byte parseByte(String str, int radix)
- throws NumberFormatException
- {
- int i = Integer.parseInt(str, radix);
- if (i < MIN_VALUE || i > MAX_VALUE)
- throw new NumberFormatException();
- return (byte) i;
- }
-
- public static byte parseByte(String str)
- throws NumberFormatException
- {
- return parseByte(str, 10);
- }
-
- public static Byte valueOf(String str, int radix)
- throws NumberFormatException
- {
- return new Byte(parseByte(str, radix));
- }
-
- public static Byte valueOf(String str)
- throws NumberFormatException
- {
- return valueOf(str, 10);
- }
-
- // Added in JDK 1.2
- public int compareTo(Byte anotherByte)
- {
- return this.value - anotherByte.value;
- }
-
- // Added in JDK 1.2
- public int compareTo(Object o) throws ClassCastException
- {
- if (o instanceof Byte)
- return this.value - ((Byte) o).value;
- else
- throw new ClassCastException();
- }
-
- public boolean equals(Object obj)
- {
- return obj != null && (obj instanceof Byte) && ((Byte)obj).value == value;
- }
-
- // Verified that hashCode is returns plain value (see Boolean_1 test).
- public int hashCode()
- {
- return value;
- }
-
- public String toString()
- {
- return Integer.toString((int) value);
- }
-
- public static String toString(byte value)
- {
- return Integer.toString((int) value);
- }
-}
diff --git a/libjava/java/lang/Character.java b/libjava/java/lang/Character.java
deleted file mode 100644
index c7dd052e0c0..00000000000
--- a/libjava/java/lang/Character.java
+++ /dev/null
@@ -1,286 +0,0 @@
-// Character.java - Character class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.io.Serializable;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 10, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1,
- * online API docs for JDK 1.2 beta from http://www.javasoft.com,
- * and The Unicode Standard Version 2.0.
- * Status: Believed complete and correct for JDK 1.1; 1.2 methods
- * unimplemented.
- */
-
-public final class Character implements Serializable, Comparable
-{
- public static final char MIN_VALUE = '\u0000';
- public static final char MAX_VALUE = '\uffff';
-
- public static final int MIN_RADIX = 2;
- public static final int MAX_RADIX = 36;
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = char.class;
-
- // Space.
- public static final byte SPACE_SEPARATOR = 12;
- public static final byte LINE_SEPARATOR = 13;
- public static final byte PARAGRAPH_SEPARATOR = 14;
-
- // Letters.
- public static final byte UPPERCASE_LETTER = 1;
- public static final byte LOWERCASE_LETTER = 2;
- public static final byte TITLECASE_LETTER = 3;
- public static final byte MODIFIER_LETTER = 4;
- public static final byte OTHER_LETTER = 5;
-
- // Numbers.
- public static final byte DECIMAL_DIGIT_NUMBER = 9;
- public static final byte LETTER_NUMBER = 10;
- public static final byte OTHER_NUMBER = 11;
-
- // Marks.
- public static final byte NON_SPACING_MARK = 6;
- public static final byte ENCLOSING_MARK = 7;
- public static final byte COMBINING_SPACING_MARK = 8;
-
- // Punctuation.
- public static final byte DASH_PUNCTUATION = 20;
- public static final byte START_PUNCTUATION = 21;
- public static final byte END_PUNCTUATION = 22;
- public static final byte CONNECTOR_PUNCTUATION = 23;
- public static final byte OTHER_PUNCTUATION = 24;
-
- // Symbols.
- public static final byte MATH_SYMBOL = 25;
- public static final byte CURRENCY_SYMBOL = 26;
- public static final byte MODIFIER_SYMBOL = 27;
- public static final byte OTHER_SYMBOL = 28;
-
- // Format controls.
- public static final byte CONTROL = 15;
- // Note: The JCL book says that both FORMAT and PRIVATE_USE are 18.
- // However, FORMAT is actually 16.
- public static final byte FORMAT = 16;
-
- // Others.
- public static final byte UNASSIGNED = 0;
- public static final byte PRIVATE_USE = 18;
- public static final byte SURROGATE = 19;
-
-
- public Character (char ch)
- {
- value = ch;
- }
-
- public char charValue ()
- {
- return value;
- }
-
- // See if a character is a digit. If so, return the corresponding
- // value. Otherwise return -1.
- private static native int digit_value (char ch);
-
- public static int digit (char ch, int radix)
- {
- if (radix < MIN_RADIX || radix > MAX_RADIX)
- return -1;
-
- int d = digit_value (ch);
- if (d == -1)
- {
- if (ch >= 'A' && ch <= 'Z')
- d = ch - 'A' + 10;
- else if (ch >= 'a' && ch <= 'z')
- d = ch - 'a' + 10;
- else
- return -1;
- }
- return d >= radix ? -1 : d;
- }
-
- public boolean equals (Object obj)
- {
- // Don't need to compare OBJ to null as instanceof will do this.
- if (obj instanceof Character)
- return value == ((Character) obj).value;
- return false;
- }
-
- public static char forDigit (int d, int rdx)
- {
- if (d < 0 || d >= rdx || rdx < MIN_RADIX || rdx > MAX_RADIX)
- return '\u0000';
- if (d < 10)
- return (char) ('0' + d);
- // The Java Language Spec says to use lowercase, while the JCL
- // says to use uppercase. We go with the former.
- return (char) ('a' + d - 10);
- }
-
- public static native int getNumericValue (char ch);
- public static native int getType (char ch);
-
- public int hashCode ()
- {
- return value;
- }
-
- public static boolean isDefined (char ch)
- {
- return getType (ch) != UNASSIGNED;
- }
-
- public static boolean isDigit (char ch)
- {
- return digit_value (ch) != -1;
- }
-
- // The JCL book says that the argument here is a Character. That is
- // wrong.
- public static boolean isIdentifierIgnorable (char ch)
- {
- // This information comes from the Unicode Standard. It isn't
- // auto-generated as it doesn't appear in the unidata table.
- return ((ch >= '\u0000' && ch <= '\u0008')
- || (ch >= '\u000e' && ch <= '\u001b')
- // JDK 1.2 docs say that these are ignorable. The Unicode
- // Standard is somewhat ambiguous on this issue.
- || (ch >= '\u007f' && ch <= '\u009f')
- || (ch >= '\u200c' && ch <= '\u200f')
- // JCl says 200a through 200e, but that is a typo. The
- // Unicode standard says the bidi controls are 202a
- // through 202e.
- || (ch >= '\u202a' && ch <= '\u202e')
- || (ch >= '\u206a' && ch <= '\u206f')
- || ch == '\ufeff');
- }
-
- public static boolean isISOControl (char c)
- {
- return ((c >= '\u0000' && c <= '\u001f')
- || (c >= '\u007f' && c <= '\u009f'));
- }
-
- public static boolean isJavaIdentifierPart (char ch)
- {
- if (isIdentifierIgnorable (ch) || isDigit (ch))
- return true;
- int type = getType (ch);
- return (type == COMBINING_SPACING_MARK || type == NON_SPACING_MARK
- || type == CURRENCY_SYMBOL || type == CONNECTOR_PUNCTUATION
- || type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
- || type == TITLECASE_LETTER || type == MODIFIER_LETTER
- || type == OTHER_LETTER || type == LETTER_NUMBER);
- }
-
- public static boolean isJavaIdentifierStart (char ch)
- {
- int type = getType (ch);
- return (type == CURRENCY_SYMBOL || type == CONNECTOR_PUNCTUATION
- || type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
- || type == TITLECASE_LETTER || type == MODIFIER_LETTER
- || type == OTHER_LETTER);
- }
-
- // Deprecated in 1.2.
- public static boolean isJavaLetter (char ch)
- {
- return ch == '$' || ch == '_' || isLetter (ch);
- }
-
- // Deprecated in 1.2.
- public static boolean isJavaLetterOrDigit (char ch)
- {
- return ch == '$' || ch == '_' || isLetterOrDigit (ch);
- }
-
- public static boolean isLetter (char ch)
- {
- int type = getType (ch);
- return (type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
- || type == TITLECASE_LETTER || type == MODIFIER_LETTER
- || type == OTHER_LETTER);
- }
-
- public static boolean isLetterOrDigit (char ch)
- {
- return isDigit (ch) || isLetter (ch);
- }
-
- public static native boolean isLowerCase (char ch);
-
- // Deprecated in JCL.
- public static boolean isSpace (char ch)
- {
- return ch == '\n' || ch == '\t' || ch == '\f' || ch == '\r' || ch == ' ';
- }
-
- public static native boolean isSpaceChar (char ch);
- public static native boolean isTitleCase (char ch);
-
- public static boolean isUnicodeIdentifierPart (char ch)
- {
- if (isIdentifierIgnorable (ch) || isDigit (ch))
- return true;
- int type = getType (ch);
- return (type == CONNECTOR_PUNCTUATION || type == LETTER_NUMBER
- || type == COMBINING_SPACING_MARK || type == NON_SPACING_MARK
- || type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
- || type == TITLECASE_LETTER || type == MODIFIER_LETTER
- || type == OTHER_LETTER);
- }
-
- public static boolean isUnicodeIdentifierStart (char ch)
- {
- return isLetter (ch);
- }
-
- public static native boolean isUpperCase (char ch);
-
- public static boolean isWhitespace (char ch)
- {
- return ((ch >= '\u0009' && ch <= '\r')
- || (ch >= '\u001c' && ch <= '\u001f')
- || (ch != '\u00a0' && ch != '\ufeff' && isSpaceChar (ch)));
- }
-
- public static native char toLowerCase (char ch);
- public static native char toTitleCase (char ch);
- public static native char toUpperCase (char ch);
-
- public String toString ()
- {
- return String.valueOf(value);
- }
-
- public int compareTo (Character anotherCharacter)
- {
- return value - anotherCharacter.value;
- }
-
- public int compareTo (Object o)
- {
- return compareTo ((Character) o);
- }
-
- // Private data.
- private char value;
-}
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h
deleted file mode 100644
index eb0a2f95533..00000000000
--- a/libjava/java/lang/Class.h
+++ /dev/null
@@ -1,214 +0,0 @@
-// Class.h - Header file for java.lang.Class. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// Written primary using compiler source and Class.java as guides.
-#ifndef __JAVA_LANG_CLASS_H__
-#define __JAVA_LANG_CLASS_H__
-
-#pragma interface
-
-#include <java/lang/Object.h>
-#include <java/lang/String.h>
-
-// We declare these here to avoid including cni.h.
-extern "C" void _Jv_InitClass (jclass klass);
-extern "C" void _Jv_RegisterClasses (jclass *classes);
-
-struct _Jv_Field;
-struct _Jv_VTable;
-
-#define CONSTANT_Class 7
-#define CONSTANT_Fieldref 9
-#define CONSTANT_Methodref 10
-#define CONSTANT_InterfaceMethodref 11
-#define CONSTANT_String 8
-#define CONSTANT_Integer 3
-#define CONSTANT_Float 4
-#define CONSTANT_Long 5
-#define CONSTANT_Double 6
-#define CONSTANT_NameAndType 12
-#define CONSTANT_Utf8 1
-#define CONSTANT_Unicode 2
-#define CONSTANT_ResolvedFlag 16
-#define CONSTANT_ResolvedString (CONSTANT_String+CONSTANT_ResolvedFlag)
-#define CONSTANT_ResolvedClass (CONSTANT_Class+CONSTANT_ResolvedFlag)
-
-struct _Jv_Constants
-{
- jint size;
- jbyte *tags;
- void **data;
-};
-
-struct _Jv_Method
-{
- _Jv_Utf8Const *name;
- _Jv_Utf8Const *signature;
- unsigned short accflags;
- void *ncode;
-};
-
-#define JV_PRIMITIVE_VTABLE ((_Jv_VTable *) -1)
-
-class java::lang::Class : public java::lang::Object
-{
-public:
- static jclass forName (jstring className);
- JArray<jclass> *getClasses (void);
-
- java::lang::ClassLoader *getClassLoader (void)
- {
- return loader;
- }
-
- jclass getComponentType (void)
- {
- return isArray () ? (* (jclass *) &methods) : 0;
- }
-
- java::lang::reflect::Constructor *getConstructor (JArray<jclass> *);
- JArray<java::lang::reflect::Constructor *> *getConstructors (void);
- java::lang::reflect::Constructor *getDeclaredConstructor (JArray<jclass> *);
- JArray<java::lang::reflect::Constructor *> *getDeclaredConstructors (void);
- java::lang::reflect::Field *getDeclaredField (jstring);
- JArray<java::lang::reflect::Field *> *getDeclaredFields (void);
- java::lang::reflect::Method *getDeclaredMethod (jstring, JArray<jclass> *);
- JArray<java::lang::reflect::Method *> *getDeclaredMethods (void);
-
- JArray<jclass> *getDeclaredClasses (void);
- jclass getDeclaringClass (void);
-
- java::lang::reflect::Field *getField (jstring);
-private:
- java::lang::reflect::Field *getField (jstring, jint);
-public:
- JArray<java::lang::reflect::Field *> *getFields (void);
-
- JArray<jclass> *getInterfaces (void);
-
- java::lang::reflect::Method *getMethod (jstring, JArray<jclass> *);
- JArray<java::lang::reflect::Method *> *getMethods (void);
-
- jint getModifiers (void)
- {
- return accflags;
- }
-
- jstring getName (void);
-
- java::io::InputStream *getResourceAsStream (jstring resourceName);
- JArray<jobject> *getSigners (void);
-
- jclass getSuperclass (void)
- {
- return superclass;
- }
-
- jboolean isArray (void)
- {
- return name->data[0] == '[';
- }
-
- jboolean isAssignableFrom (jclass cls);
- jboolean isInstance (jobject obj);
- jboolean isInterface (void);
-
- jboolean isPrimitive (void)
- {
- return vtable == JV_PRIMITIVE_VTABLE;
- }
-
- jobject newInstance (void);
- jstring toString (void);
-
- // FIXME: this probably shouldn't be public.
- jint size (void)
- {
- return size_in_bytes;
- }
-
-private:
- void checkMemberAccess (jint flags);
- void resolveConstants (void);
-
- // Various functions to handle class initialization.
- java::lang::Throwable *hackTrampoline (jint, java::lang::Throwable *);
- void hackRunInitializers (void);
- void initializeClass (void);
-
- // Friend functions implemented in natClass.cc.
- friend _Jv_Method *_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name,
- _Jv_Utf8Const *signature);
- friend void _Jv_InitClass (jclass klass);
- friend void _Jv_RegisterClasses (jclass *classes);
- friend jclass _Jv_FindClassInCache (_Jv_Utf8Const *name,
- java::lang::ClassLoader *loader);
- friend jclass _Jv_FindArrayClass (jclass element);
- friend jclass _Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
- java::lang::ClassLoader *loader);
-
- friend jfieldID JvGetFirstInstanceField (jclass);
- friend jint JvNumInstanceFields (jclass);
- friend jobject _Jv_AllocObject (jclass, jint);
- friend jobjectArray _Jv_NewObjectArray (jsize, jclass, jobject);
- friend jobject _Jv_NewPrimArray (jclass, jint);
- friend jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv *, jclass, jfieldID);
- friend jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);
- friend jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);
-
- friend class _Jv_PrimClass;
-
-#ifdef JV_MARKOBJ_DECL
- friend JV_MARKOBJ_DECL;
-#endif
-
- // Chain for class pool.
- jclass next;
- // Name of class.
- _Jv_Utf8Const *name;
- // Access flags for class.
- unsigned short accflags;
- // The superclass, or null for Object.
- jclass superclass;
- // Class constants.
- _Jv_Constants constants;
- // Methods. If this is an array class, then this field holds a
- // pointer to the element type. If this is a primitive class, this
- // is used to cache a pointer to the appropriate array type.
- _Jv_Method *methods;
- // Number of methods. If this class is primitive, this holds the
- // character used to represent this type in a signature.
- short method_count;
- // Number of methods in the vtable.
- short vtable_method_count;
- // The fields.
- _Jv_Field *fields;
- // Size of instance fields, in bytes.
- int size_in_bytes;
- // Total number of fields (instance and static).
- short field_count;
- // Number of static fields.
- short static_field_count;
- // The vtbl for all objects of this class.
- _Jv_VTable *vtable;
- // Interfaces implemented by this class.
- jclass *interfaces;
- // The class loader for this class.
- java::lang::ClassLoader *loader;
- // Number of interfaces.
- short interface_count;
- // State of this class.
- jbyte state;
- // The thread which has locked this class. Used during class
- // initialization.
- java::lang::Thread *thread;
-};
-
-#endif /* __JAVA_LANG_CLASS_H__ */
diff --git a/libjava/java/lang/Class.java b/libjava/java/lang/Class.java
deleted file mode 100644
index 4ffcceaf675..00000000000
--- a/libjava/java/lang/Class.java
+++ /dev/null
@@ -1,155 +0,0 @@
-// Class.java - Representation of a Java class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-import java.io.Serializable;
-import java.io.InputStream;
-import java.lang.reflect.*;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * plus gcj compiler sources (to determine object layout)
- * Status: Sufficient for our purposes, but some methods missing
- * and some not implemented.
- */
-
-public final class Class implements Serializable
-{
- public static native Class forName (String className)
- throws ClassNotFoundException;
- public native Class[] getClasses ();
- public native ClassLoader getClassLoader ();
- public native Class getComponentType ();
-
- public native Constructor getConstructor (Class[] parameterTypes)
- throws NoSuchMethodException, SecurityException;
- public native Constructor[] getConstructors () throws SecurityException;
-
- public native Class[] getDeclaredClasses () throws SecurityException;
-
- public native Constructor getDeclaredConstructor (Class[] parameterTypes)
- throws NoSuchMethodException, SecurityException;
- public native Constructor[] getDeclaredConstructors ()
- throws SecurityException;
- public native Field getDeclaredField (String fieldName)
- throws NoSuchFieldException, SecurityException;
- public native Field[] getDeclaredFields () throws SecurityException;
- public native Method getDeclaredMethod (String methodName,
- Class[] parameterTypes)
- throws NoSuchMethodException, SecurityException;
- public native Method[] getDeclaredMethods () throws SecurityException;
-
- // This is marked as unimplemented in the JCL book.
- public native Class getDeclaringClass ();
-
- private native Field getField (String fieldName, int hash)
- throws NoSuchFieldException, SecurityException;
-
- public Field getField (String fieldName)
- throws NoSuchFieldException, SecurityException
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkMemberAccess (this, java.lang.reflect.Member.DECLARED);
- Field fld = getField(fieldName, fieldName.hashCode());
- if (fld == null)
- throw new NoSuchFieldException(fieldName);
- return fld;
- }
- public native Field[] getFields () throws SecurityException;
-
- public native Class[] getInterfaces ();
-
- public native Method getMethod (String methodName, Class[] parameterTypes)
- throws NoSuchMethodException, SecurityException;
- public native Method[] getMethods () throws SecurityException;
-
- public native int getModifiers ();
- public native String getName ();
-
- // FIXME: can't implement this until we have java.net.
- // public URL getResource (String resourceName);
-
- // FIXME: implement.
- public InputStream getResourceAsStream (String resourceName)
- {
- return null;
- }
-
- // FIXME: implement. Requires java.security.
- public Object[] getSigners ()
- {
- return null;
- }
-
- public native Class getSuperclass ();
- public native boolean isArray ();
- public native boolean isAssignableFrom (Class cls);
- public native boolean isInstance (Object obj);
- public native boolean isInterface ();
- public native boolean isPrimitive ();
- public native Object newInstance ()
- throws InstantiationException, IllegalAccessException;
-
- public String toString ()
- {
- if (isPrimitive ())
- return getName ();
- return (isInterface () ? "interface " : "class ") + getName ();
- }
-
- // Don't allow new classes to be made.
- private Class ()
- {
- }
-
- // Do a security check.
- private void checkMemberAccess (int flags)
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkMemberAccess(this, flags);
- }
-
- // FIXME: this method exists only because we cannot catch Java
- // exceptions from C++ code. This is a helper for initializeClass.
- private Throwable hackTrampoline (int what, Throwable old_exception)
- {
- Throwable new_val = null;
- try
- {
- if (what == 0)
- initializeClass ();
- else if (what == 1)
- hackRunInitializers ();
- else if (what == 2)
- new_val = new ExceptionInInitializerError (old_exception);
- }
- catch (Throwable t)
- {
- new_val = t;
- }
- return new_val;
- }
-
- // FIXME: this is a hack to let us run the class initializers. We
- // could do it inline in initializeClass() if we could catch Java
- // exceptions from C++.
- private native void hackRunInitializers ();
-
- // Initialize the class.
- private native void initializeClass ();
-}
diff --git a/libjava/java/lang/ClassCastException.java b/libjava/java/lang/ClassCastException.java
deleted file mode 100644
index bd5a2a49b8e..00000000000
--- a/libjava/java/lang/ClassCastException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ClassCastException extends RuntimeException
-{
- public ClassCastException()
- {
- super();
- }
-
- public ClassCastException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/ClassCircularityError.java b/libjava/java/lang/ClassCircularityError.java
deleted file mode 100644
index a5e03831805..00000000000
--- a/libjava/java/lang/ClassCircularityError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// ClassCircularityError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ClassCircularityError extends LinkageError
-{
- public ClassCircularityError ()
- {
- super ();
- }
-
- public ClassCircularityError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/ClassFormatError.java b/libjava/java/lang/ClassFormatError.java
deleted file mode 100644
index 99b8425c9be..00000000000
--- a/libjava/java/lang/ClassFormatError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// ClassFormatError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ClassFormatError extends LinkageError
-{
- public ClassFormatError ()
- {
- super ();
- }
-
- public ClassFormatError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
deleted file mode 100644
index 048cea7d883..00000000000
--- a/libjava/java/lang/ClassLoader.java
+++ /dev/null
@@ -1,94 +0,0 @@
-// ClassLoader.java - Define policies for loading Java classes.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-import java.io.InputStream;
-import java.util.Hashtable;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 28, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * Status: Just a stub; not useful at all.
- */
-
-public abstract class ClassLoader
-{
- protected ClassLoader ()
- {
- cache = new Hashtable ();
- }
-
- protected final Class defineClass (String className, byte[] bytecode,
- int offset, int length)
- {
- throw new ClassFormatError ("defineClass unimplemented");
- }
-
- protected final Class defineClass (byte[] bytecodes,
- int offset, int length)
- {
- return defineClass (null, bytecodes, offset, length);
- }
-
- protected final Class findLoadedClass (String className)
- {
- return (Class) cache.get(className);
- }
-
- protected final Class findSystemClass (String className)
- throws ClassNotFoundException
- {
- Class c = system.findLoadedClass(className);
- system.resolveClass(c);
- return c;
- }
-
- // FIXME: Needs URL.
- // public URL getResource (String resName);
-
- public InputStream getResourceAsStream (String resName)
- {
- return null;
- }
-
- // FIXME: Needs URL.
- // public static final URL getSystemResource (String resName);
-
- public static final InputStream getSystemResourceAsStream (String resName)
- {
- return null;
- }
-
- protected abstract Class loadClass (String className, boolean resolve)
- throws ClassNotFoundException;
- public Class loadClass (String name) throws ClassNotFoundException
- {
- return loadClass (name, true);
- }
-
- protected final void resolveClass (Class c)
- {
- // Nothing for now.
- }
-
- protected final void setSigners (Class cl, Object[] signers)
- {
- // Nothing for now.
- }
-
- // Class cache.
- private Hashtable cache;
-
- // The system class loader. FIXME: should have an actual value
- private static final ClassLoader system = null;
-}
diff --git a/libjava/java/lang/ClassNotFoundException.java b/libjava/java/lang/ClassNotFoundException.java
deleted file mode 100644
index e0ea15e22a2..00000000000
--- a/libjava/java/lang/ClassNotFoundException.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ClassNotFoundException extends Exception
-{
- public ClassNotFoundException()
- {
- super();
- }
-
- // TODO12:
- // public ClassNotFoundException(String msg, Throwable ex)
- // {
- // }
-
- public ClassNotFoundException(String msg)
- {
- super(msg);
- }
-
- // TODO12:
- // public Throwable getException()
- // {
- // }
-
- // TBD: if this needs to be implemented
- // public void printStackTrace()
- // {
- // }
-
- // TBD: if this needs to be implemented
- // public void printStackTrace(PrintStream ps)
- // {
- // }
-
- // TBD: if this needs to be implemented
- // public void printStackTrace(PrintWriter pw)
- // {
- // }
-}
diff --git a/libjava/java/lang/CloneNotSupportedException.java b/libjava/java/lang/CloneNotSupportedException.java
deleted file mode 100644
index 155e80481a9..00000000000
--- a/libjava/java/lang/CloneNotSupportedException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class CloneNotSupportedException extends Exception
-{
- public CloneNotSupportedException()
- {
- super();
- }
-
- public CloneNotSupportedException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/Cloneable.java b/libjava/java/lang/Cloneable.java
deleted file mode 100644
index 730e5c91b5f..00000000000
--- a/libjava/java/lang/Cloneable.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public interface Cloneable
-{
-}
diff --git a/libjava/java/lang/Comparable.java b/libjava/java/lang/Comparable.java
deleted file mode 100644
index e40e6e81ae8..00000000000
--- a/libjava/java/lang/Comparable.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 8, 1998.
- */
-/* Written using online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public interface Comparable
-{
- public int compareTo(Object o) throws ClassCastException;
-}
diff --git a/libjava/java/lang/Compiler.java b/libjava/java/lang/Compiler.java
deleted file mode 100644
index 7feb9f86429..00000000000
--- a/libjava/java/lang/Compiler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-// Compiler.java - Control byte->machine code compiler.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 23, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- */
-
-public final class Compiler
-{
- public static Object command (Object arg)
- {
- // Our implementation defines this to a no-op.
- return null;
- }
-
- public static boolean compileClass (Class oneClass)
- {
- // Never succeed.
- return false;
- }
-
- public static boolean compileClasses (String classNames)
- {
- // Note the incredibly lame interface. Always fail.
- return false;
- }
-
- public static void disable ()
- {
- }
-
- public static void enable ()
- {
- }
-
- // Don't allow new `Compiler's to be made.
- private Compiler ()
- {
- }
-}
diff --git a/libjava/java/lang/Double.java b/libjava/java/lang/Double.java
deleted file mode 100644
index 850aa5ad979..00000000000
--- a/libjava/java/lang/Double.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Andrew Haley <aph@cygnus.com>
- * @date September 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public final class Double extends Number
-{
- public static final double MIN_VALUE = 5e-324;
- public static final double MAX_VALUE = 1.7976931348623157e+308;
- public static final double NEGATIVE_INFINITY = -1.0d/0.0d;
- public static final double POSITIVE_INFINITY = 1.0d/0.0d;
- public static final double NaN = 0.0d/0.0d;
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = double.class;
-
- private double value;
-
- private native static double doubleValueOf (String s)
- throws NumberFormatException;
-
- public Double (double v)
- {
- value = v;
- }
-
- public Double (String s) throws NumberFormatException
- {
- value = valueOf (s).doubleValue ();
- }
-
- public String toString ()
- {
- return toString (value);
- }
-
- public boolean equals (Object obj)
- {
- if (obj == null)
- return false;
-
- if (!(obj instanceof Double))
- return false;
-
- Double d = (Double) obj;
-
- return doubleToLongBits (value) == doubleToLongBits (d.doubleValue ());
- }
-
- public int hashCode ()
- {
- long v = doubleToLongBits (value);
- return (int) (v ^ (v >>> 32));
- }
-
- public int intValue ()
- {
- return (int) value;
- }
-
- public long longValue ()
- {
- return (long) value;
- }
-
- public float floatValue ()
- {
- return (float) value;
- }
-
- public double doubleValue ()
- {
- return value;
- }
-
- public byte byteValue ()
- {
- return (byte) value;
- }
-
- public short shortValue ()
- {
- return (short) value;
- }
-
- native static String toString (double v, boolean isFloat);
-
- public static String toString (double v)
- {
- return toString (v, false);
- }
-
- public static Double valueOf (String s) throws NullPointerException,
- NumberFormatException
- {
- if (s == null)
- throw new NullPointerException ();
-
- return new Double (doubleValueOf (s));
- }
-
- public boolean isNaN ()
- {
- return isNaN (value);
- }
-
- public static boolean isNaN (double v)
- {
- long bits = doubleToLongBits (v);
- long e = bits & 0x7ff0000000000000L;
- long f = bits & 0x000fffffffffffffL;
-
- return e == 0x7ff0000000000000L && f != 0L;
- }
-
- public boolean isInfinite ()
- {
- return isInfinite (value);
- }
-
- public static boolean isInfinite (double v)
- {
- long bits = doubleToLongBits (v);
- long f = bits & 0x7fffffffffffffffL;
-
- return f == 0x7ff0000000000000L;
- }
-
- public static native long doubleToLongBits (double value);
-
- public static native double longBitsToDouble (long bits);
-}
-
diff --git a/libjava/java/lang/EcosProcess.java b/libjava/java/lang/EcosProcess.java
deleted file mode 100644
index 83449169a64..00000000000
--- a/libjava/java/lang/EcosProcess.java
+++ /dev/null
@@ -1,59 +0,0 @@
-// EcosProcess.java - Subclass of Process for eCos systems.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date May 11, 1999
- */
-
-// This is entirely internal to our implementation.
-
-// This file is copied to `ConcreteProcess.java' before compilation.
-// Hence the class name apparently does not match the file name.
-final class ConcreteProcess extends Process
-{
- // See natEcosProcess.cc to understand why this is native.
- public native void destroy ();
-
- public int exitValue ()
- {
- return 0;
- }
- public InputStream getErrorStream ()
- {
- return null;
- }
-
- public InputStream getInputStream ()
- {
- return null;
- }
-
- public OutputStream getOutputStream ()
- {
- return null;
- }
-
- public int waitFor () throws InterruptedException
- {
- return 0;
- }
-
- public ConcreteProcess (String[] progarray, String[] envp) throws IOException
- {
- throw new IOException ("eCos processes unimplemented");
- }
-}
diff --git a/libjava/java/lang/Error.java b/libjava/java/lang/Error.java
deleted file mode 100644
index ef69f0ea413..00000000000
--- a/libjava/java/lang/Error.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// Error.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class Error extends Throwable
-{
- public Error ()
- {
- super ();
- }
-
- public Error (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/Exception.java b/libjava/java/lang/Exception.java
deleted file mode 100644
index 8eb5e44dc36..00000000000
--- a/libjava/java/lang/Exception.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class Exception extends Throwable
-{
- public Exception()
- {
- super();
- }
-
- public Exception(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/ExceptionInInitializerError.java b/libjava/java/lang/ExceptionInInitializerError.java
deleted file mode 100644
index deb1213e3b2..00000000000
--- a/libjava/java/lang/ExceptionInInitializerError.java
+++ /dev/null
@@ -1,50 +0,0 @@
-// ExceptionInInitializerError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ExceptionInInitializerError extends LinkageError
-{
- public ExceptionInInitializerError ()
- {
- super ();
- exception = null;
- }
-
- public ExceptionInInitializerError (String msg)
- {
- super (msg);
- exception = null;
- }
-
- public ExceptionInInitializerError (Throwable e)
- {
- super ();
- exception = e;
- }
-
- public Throwable getException ()
- {
- return exception;
- }
-
- // The exception that caused this error.
- private Throwable exception;
-}
diff --git a/libjava/java/lang/FirstThread.java b/libjava/java/lang/FirstThread.java
deleted file mode 100644
index ec0f1db33d5..00000000000
--- a/libjava/java/lang/FirstThread.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// FirstThread.java - Implementation of very first thread.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 24, 1998
- */
-
-// This is entirely internal to our implementation.
-
-final class FirstThread extends Thread
-{
- public native void run ();
-
- public FirstThread (ThreadGroup g, Class k, Object o)
- {
- super (g, null, "main");
- klass = k;
- args = o;
- }
-
- private static void die (String s)
- {
- System.err.println(s);
- System.exit(1);
- }
-
- // Private data.
- private Class klass;
- private Object args;
-}
diff --git a/libjava/java/lang/Float.java b/libjava/java/lang/Float.java
deleted file mode 100644
index 99cc66bc8e7..00000000000
--- a/libjava/java/lang/Float.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Andrew Haley <aph@cygnus.com>
- * @date September 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public final class Float extends Number
-{
- public static final float MAX_VALUE = 3.4028235e+38f;
- public static final float MIN_VALUE = 1.4e-45f;
- public static final float NEGATIVE_INFINITY = -1.0f/0.0f;
- public static final float POSITIVE_INFINITY = 1.0f/0.0f;
- public static final float NaN = 0.0f/0.0f;
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = float.class;
-
- private float value;
-
- public Float (float value)
- {
- this.value = value;
- }
-
- public Float (double value)
- {
- this.value = (float)value;
- }
-
- public Float (String s) throws NumberFormatException
- {
- this.value = valueOf (s).floatValue ();
- }
-
- public String toString ()
- {
- return toString (value);
- }
-
- public boolean equals (Object obj)
- {
- if (obj == null)
- return false;
-
- if (!(obj instanceof Float))
- return false;
-
- Float f = (Float) obj;
-
- return floatToIntBits (value) == floatToIntBits (f.floatValue ());
- }
-
- public int hashCode ()
- {
- return floatToIntBits (value);
- }
-
- public int intValue ()
- {
- return (int) value;
- }
-
- public long longValue ()
- {
- return (long) value;
- }
-
- public float floatValue ()
- {
- return (float) value;
- }
-
- public double doubleValue ()
- {
- return (double) value;
- }
-
- public byte byteValue ()
- {
- return (byte) value;
- }
-
- public short shortValue ()
- {
- return (short) value;
- }
-
- public static String toString (float v)
- {
- return Double.toString ((double) v, true);
- }
-
- public static Float valueOf (String s) throws NullPointerException,
- NumberFormatException
- {
- if (s == null)
- throw new NullPointerException ();
-
- return new Float (Double.valueOf (s).floatValue ());
- }
-
- public boolean isNaN ()
- {
- return isNaN (value);
- }
-
- public static boolean isNaN (float v)
- {
- int bits = floatToIntBits (v);
- int e = bits & 0x7f800000;
- int f = bits & 0x007fffff;
-
- return e == 0x7f800000 && f != 0;
- }
-
- public boolean isInfinite ()
- {
- return isInfinite (value);
- }
-
- public static boolean isInfinite (float v)
- {
- int bits = floatToIntBits (v);
- int f = bits & 0x7fffffff;
-
- return f == 0x7f800000;
- }
-
- public static native int floatToIntBits (float value);
-
- public static native float intBitsToFloat (int bits);
-
-}
-
diff --git a/libjava/java/lang/IllegalAccessError.java b/libjava/java/lang/IllegalAccessError.java
deleted file mode 100644
index 2d863416eb5..00000000000
--- a/libjava/java/lang/IllegalAccessError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// IllegalAccessError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IllegalAccessError extends IncompatibleClassChangeError
-{
- public IllegalAccessError ()
- {
- super ();
- }
-
- public IllegalAccessError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/IllegalAccessException.java b/libjava/java/lang/IllegalAccessException.java
deleted file mode 100644
index c07a518779a..00000000000
--- a/libjava/java/lang/IllegalAccessException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IllegalAccessException extends Exception
-{
- public IllegalAccessException()
- {
- super();
- }
-
- public IllegalAccessException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/IllegalArgumentException.java b/libjava/java/lang/IllegalArgumentException.java
deleted file mode 100644
index 6e8f0ed0300..00000000000
--- a/libjava/java/lang/IllegalArgumentException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IllegalArgumentException extends RuntimeException
-{
- public IllegalArgumentException()
- {
- super();
- }
-
- public IllegalArgumentException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/IllegalMonitorStateException.java b/libjava/java/lang/IllegalMonitorStateException.java
deleted file mode 100644
index f431749ca5f..00000000000
--- a/libjava/java/lang/IllegalMonitorStateException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IllegalMonitorStateException extends RuntimeException
-{
- public IllegalMonitorStateException()
- {
- super();
- }
-
- public IllegalMonitorStateException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/IllegalStateException.java b/libjava/java/lang/IllegalStateException.java
deleted file mode 100644
index 2ea0d02b62b..00000000000
--- a/libjava/java/lang/IllegalStateException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IllegalStateException extends RuntimeException
-{
- public IllegalStateException()
- {
- super();
- }
-
- public IllegalStateException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/IllegalThreadStateException.java b/libjava/java/lang/IllegalThreadStateException.java
deleted file mode 100644
index 72afa771ede..00000000000
--- a/libjava/java/lang/IllegalThreadStateException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IllegalThreadStateException extends IllegalArgumentException
-{
- public IllegalThreadStateException()
- {
- super();
- }
-
- public IllegalThreadStateException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/IncompatibleClassChangeError.java b/libjava/java/lang/IncompatibleClassChangeError.java
deleted file mode 100644
index 31a22c46175..00000000000
--- a/libjava/java/lang/IncompatibleClassChangeError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// IncompatibleClassChangeError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IncompatibleClassChangeError extends LinkageError
-{
- public IncompatibleClassChangeError ()
- {
- super ();
- }
-
- public IncompatibleClassChangeError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/IndexOutOfBoundsException.java b/libjava/java/lang/IndexOutOfBoundsException.java
deleted file mode 100644
index c8b5878b3d8..00000000000
--- a/libjava/java/lang/IndexOutOfBoundsException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class IndexOutOfBoundsException extends RuntimeException
-{
- public IndexOutOfBoundsException()
- {
- super();
- }
-
- public IndexOutOfBoundsException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/InstantiationError.java b/libjava/java/lang/InstantiationError.java
deleted file mode 100644
index 7982615e8f6..00000000000
--- a/libjava/java/lang/InstantiationError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// InstantiationError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class InstantiationError extends IncompatibleClassChangeError
-{
- public InstantiationError ()
- {
- super ();
- }
-
- public InstantiationError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/InstantiationException.java b/libjava/java/lang/InstantiationException.java
deleted file mode 100644
index d5ca893fe02..00000000000
--- a/libjava/java/lang/InstantiationException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class InstantiationException extends Exception
-{
- public InstantiationException()
- {
- super();
- }
-
- public InstantiationException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/Integer.java b/libjava/java/lang/Integer.java
deleted file mode 100644
index b4a4fc2a2ce..00000000000
--- a/libjava/java/lang/Integer.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 11, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public final class Integer extends Number implements Comparable
-{
- public static final int MAX_VALUE = 0x7FFFFFFF;
- public static final int MIN_VALUE = 0x80000000;
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = int.class;
-
- /* The int value of the instance. */
- private int value;
-
- public Integer(int val)
- {
- value = val;
- }
-
- public Integer(String str) throws NumberFormatException
- {
- value = parseInt(str, 10);
- }
-
- public byte byteValue()
- {
- return (byte) value;
- }
-
- public double doubleValue()
- {
- return (double) value;
- }
-
- public float floatValue()
- {
- return (float) value;
- }
-
- public int intValue()
- {
- return value;
- }
-
- public long longValue()
- {
- return value;
- }
-
- public short shortValue()
- {
- return (short) value;
- }
-
- // Added in JDK 1.2
- public int compareTo(Integer anotherInteger)
- {
- if (this.value == anotherInteger.value)
- return 0;
-
- // Returns just -1 or 1 on inequality; doing math might overflow the int.
- if (this.value > anotherInteger.value)
- return 1;
-
- return -1;
- }
-
- // Added in JDK 1.2
- public int compareTo(Object o) throws ClassCastException
- {
- if (!(o instanceof Integer))
- throw new ClassCastException();
-
- return this.compareTo((Integer) o);
- }
-
- public static Integer decode(String str) throws NumberFormatException
- {
- boolean isNeg = false;
- int index = 0;
- int radix = 10;
- final int len;
-
- if (str == null || (len = str.length()) == 0)
- throw new NumberFormatException();
-
- // Negative numbers are always radix 10.
- if (str.charAt(0) == '-')
- {
- radix = 10;
- index++;
- isNeg = true;
- }
- else if (str.charAt(index) == '#')
- {
- radix = 16;
- index++;
- }
- else if (str.charAt(index) == '0')
- {
- // Check if str is just "0"
- if (len == 1)
- return new Integer(0);
-
- index++;
- if (str.charAt(index) == 'x')
- {
- radix = 16;
- index++;
- }
- else
- radix = 8;
- }
-
- if (index >= len)
- throw new NumberFormatException();
-
- return new Integer(parseInt(str, index, len, isNeg, radix));
- }
-
- public boolean equals(Object obj)
- {
- return (obj != null && (obj instanceof Integer)
- && ((Integer) obj).value == value);
- }
-
- public static Integer getInteger(String prop)
- {
- return getInteger(prop, null);
- }
-
- public static Integer getInteger(String prop, int defval)
- {
- Integer val = getInteger(prop, null);
- return val == null ? new Integer(defval) : val;
- }
-
- public static Integer getInteger(String prop, Integer defobj)
- {
- try
- {
- return decode(System.getProperty(prop));
- }
- catch (NumberFormatException ex)
- {
- return defobj;
- }
- }
-
- public int hashCode()
- {
- return value;
- }
-
- public static int parseInt(String str) throws NumberFormatException
- {
- return parseInt(str, 10);
- }
-
- public static int parseInt(String str, int radix) throws NumberFormatException
- {
- final int len;
-
- if (str == null || (len = str.length()) == 0 ||
- radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
- throw new NumberFormatException();
-
- boolean isNeg = false;
- int index = 0;
- if (str.charAt(index) == '-')
- if (len > 1)
- {
- isNeg = true;
- index++;
- }
- else
- throw new NumberFormatException();
-
- return parseInt(str, index, len, isNeg, radix);
- }
-
- private static int parseInt(String str, int index, int len, boolean isNeg,
- int radix) throws NumberFormatException
- {
- int val = 0;
- int digval;
-
- int max = MAX_VALUE / radix;
- // We can't directly write `max = (MAX_VALUE + 1) / radix'.
- // So instead we fake it.
- if (isNeg && MAX_VALUE % radix == radix - 1)
- ++max;
-
- for ( ; index < len; index++)
- {
- if (val < 0 || val > max)
- throw new NumberFormatException();
-
- if ((digval = Character.digit(str.charAt(index), radix)) < 0)
- throw new NumberFormatException();
-
- // Throw an exception for overflow if result is negative.
- // However, we special-case the most negative value.
- val = val * radix + digval;
- if (val < 0 && (! isNeg || val != MIN_VALUE))
- throw new NumberFormatException();
- }
-
- return isNeg ? -(val) : val;
- }
-
- public static String toBinaryString(int num)
- {
- return toUnsignedString(num, 1);
- }
-
- public static String toHexString(int num)
- {
- return toUnsignedString(num, 4);
- }
-
- public static String toOctalString(int num)
- {
- return toUnsignedString(num, 3);
- }
-
- private static String toUnsignedString(int num, int exp)
- {
- // Use an array large enough for a binary number.
- int radix = 1 << exp;
- int mask = radix - 1;
- char[] buffer = new char[32];
- int i = 32;
- do
- {
- buffer[--i] = Character.forDigit(num & mask, radix);
- num = num >>> exp;
- }
- while (num != 0);
-
- return String.valueOf(buffer, i, 32-i);
- }
-
- public String toString()
- {
- return toString(this.value);
- }
-
- public static String toString(int num)
- {
- // Use an arrary large enough for "-2147483648"; i.e. 11 chars.
- char[] buffer = new char[11];
- int i = 11;
- boolean isNeg;
- if (num < 0)
- {
- isNeg = true;
- num = -(num);
- if (num < 0)
- {
- // Must be MIN_VALUE, so handle this special case.
- buffer[--i] = '8';
- num = 214748364;
- }
- }
- else
- isNeg = false;
-
- do
- {
- buffer[--i] = (char) ((int) '0' + (num % 10));
- num /= 10;
- }
- while (num > 0);
-
- if (isNeg)
- buffer[--i] = '-';
-
- return String.valueOf(buffer, i, 11-i);
- }
-
- public static String toString(int num, int radix)
- {
- // Use optimized method for the typical case.
- if (radix == 10 ||
- radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
- return toString(num);
-
- // For negative numbers, print out the absolute value w/ a leading '-'.
- // Use an array large enough for a binary number.
- char[] buffer = new char[33];
- int i = 33;
- boolean isNeg;
- if (num < 0)
- {
- isNeg = true;
- num = -(num);
-
- // When the value is MIN_VALUE, it overflows when made positive
- if (num < 0)
- {
- buffer[--i] = Character.forDigit(-(num + radix) % radix, radix);
- num = -(num / radix);
- }
- }
- else
- isNeg = false;
-
- do
- {
- buffer[--i] = Character.forDigit(num % radix, radix);
- num /= radix;
- }
- while (num > 0);
-
- if (isNeg)
- buffer[--i] = '-';
-
- return String.valueOf(buffer, i, 33-i);
- }
-
- public static Integer valueOf(String str) throws NumberFormatException
- {
- return new Integer(parseInt(str, 10));
- }
-
- public static Integer valueOf(String str, int radix)
- throws NumberFormatException
- {
- return new Integer(parseInt(str, radix));
- }
-}
diff --git a/libjava/java/lang/InternalError.java b/libjava/java/lang/InternalError.java
deleted file mode 100644
index 6e484cfa6d0..00000000000
--- a/libjava/java/lang/InternalError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// InternalError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class InternalError extends VirtualMachineError
-{
- public InternalError ()
- {
- super ();
- }
-
- public InternalError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/InterruptedException.java b/libjava/java/lang/InterruptedException.java
deleted file mode 100644
index ef2e9b3adaf..00000000000
--- a/libjava/java/lang/InterruptedException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class InterruptedException extends Exception
-{
- public InterruptedException()
- {
- super();
- }
-
- public InterruptedException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/LinkageError.java b/libjava/java/lang/LinkageError.java
deleted file mode 100644
index c9386a7c3c1..00000000000
--- a/libjava/java/lang/LinkageError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// LinkageError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class LinkageError extends Error
-{
- public LinkageError ()
- {
- super ();
- }
-
- public LinkageError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/Long.java b/libjava/java/lang/Long.java
deleted file mode 100644
index f79ee7b78b2..00000000000
--- a/libjava/java/lang/Long.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public final class Long extends Number implements Comparable
-{
- public static final long MAX_VALUE = 0x7FFFFFFFFFFFFFFFL;
- public static final long MIN_VALUE = 0x8000000000000000L;
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = long.class;
-
- /* The long value of the instance. */
- private long value;
-
- public Long(long val)
- {
- value = val;
- }
-
- public Long(String str) throws NumberFormatException
- {
- value = parseLong(str, 10);
- }
-
- public byte byteValue()
- {
- return (byte) value;
- }
-
- public double doubleValue()
- {
- return (double) value;
- }
-
- public float floatValue()
- {
- return (float) value;
- }
-
- public int intValue()
- {
- return (int) value;
- }
-
- public long longValue()
- {
- return value;
- }
-
- public short shortValue()
- {
- return (short) value;
- }
-
- // Added in JDK 1.2
- public int compareTo(Long anotherLong)
- {
- if (this.value == anotherLong.value)
- return 0;
-
- // Returns just -1 or 1 on inequality; doing math might overflow the long.
- if (this.value > anotherLong.value)
- return 1;
-
- return -1;
- }
-
- // Added in JDK 1.2
- public int compareTo(Object o) throws ClassCastException
- {
- if (!(o instanceof Long))
- throw new ClassCastException();
-
- return this.compareTo((Long) o);
- }
-
- // Added in JDK 1.2
- public static Long decode(String str) throws NumberFormatException
- {
- boolean isNeg = false;
- int index = 0;
- int radix = 10;
- final int len;
-
- if (str == null || (len = str.length()) == 0)
- throw new NumberFormatException();
-
- // Negative numbers are always radix 10.
- if (str.charAt(0) == '-')
- {
- radix = 10;
- index++;
- isNeg = true;
- }
- else if (str.charAt(index) == '#')
- {
- radix = 16;
- index++;
- }
- else if (str.charAt(index) == '0')
- {
- // Check if str is just "0"
- if (len == 1)
- return new Long(0L);
-
- index++;
- if (str.charAt(index) == 'x')
- {
- radix = 16;
- index++;
- }
- else
- radix = 8;
- }
-
- if (index >= len)
- throw new NumberFormatException();
-
- return new Long(parseLong(str, index, len, isNeg, radix));
- }
-
- public boolean equals(Object obj)
- {
- return (obj != null && (obj instanceof Long)
- && ((Long) obj).value == value);
- }
-
- public static Long getLong(String prop)
- {
- return getLong(prop, null);
- }
-
- public static Long getLong(String prop, long defval)
- {
- Long val = getLong(prop, null);
- return val == null ? new Long(defval) : val;
- }
-
- public static Long getLong(String prop, Long defobj)
- {
- try
- {
- return decode(System.getProperty(prop));
- }
- catch (NumberFormatException ex)
- {
- return defobj;
- }
- }
-
- public int hashCode()
- {
- return (int)(this.longValue()^(this.longValue()>>>32));
- }
-
- public static long parseLong(String str) throws NumberFormatException
- {
- return parseLong(str, 10);
- }
-
- public static long parseLong(String str, int radix)
- throws NumberFormatException
- {
- final int len;
-
- if (str == null || (len = str.length()) == 0 ||
- radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
- throw new NumberFormatException();
-
- boolean isNeg = false;
- int index = 0;
- if (str.charAt(index) == '-')
- if (len > 1)
- {
- isNeg = true;
- index++;
- }
- else
- throw new NumberFormatException();
-
- return parseLong(str, index, len, isNeg, radix);
- }
-
- private static long parseLong(String str, int index, int len, boolean isNeg,
- int radix) throws NumberFormatException
- {
- long val = 0;
- int digval;
-
- long max = MAX_VALUE / radix;
- // We can't directly write `max = (MAX_VALUE + 1) / radix'.
- // So instead we fake it.
- if (isNeg && MAX_VALUE % radix == radix - 1)
- ++max;
-
- for ( ; index < len; index++)
- {
- if (val < 0 || val > max)
- throw new NumberFormatException();
-
- if ((digval = Character.digit(str.charAt(index), radix)) < 0)
- throw new NumberFormatException();
-
- // Throw an exception for overflow if result is negative.
- // However, we special-case the most negative value.
- val = val * radix + digval;
- if (val < 0 && (! isNeg || val != MIN_VALUE))
- throw new NumberFormatException();
- }
-
- return isNeg ? -(val) : val;
- }
-
- public static String toBinaryString(long num)
- {
- return toUnsignedString(num, 1);
- }
-
- public static String toHexString(long num)
- {
- return toUnsignedString(num, 4);
- }
-
- public static String toOctalString(long num)
- {
- return toUnsignedString(num, 3);
- }
-
- private static String toUnsignedString(long num, int exp)
- {
- // Use an array large enough for a binary number.
- int radix = 1 << exp;
- long mask = radix - 1;
- char[] buffer = new char[64];
- int i = 64;
- do
- {
- buffer[--i] = Character.forDigit((int) (num & mask), radix);
- num = num >>> exp;
- }
- while (num != 0);
-
- return String.valueOf(buffer, i, 64-i);
- }
-
- public String toString()
- {
- return toString(this.value);
- }
-
- public static String toString(long num)
- {
- // Use the Integer toString for efficiency if possible.
- if (num <= Integer.MAX_VALUE && num >= Integer.MIN_VALUE)
- return Integer.toString((int) num);
-
- // Use an arrary large enough for "-9223372036854775808"; i.e. 11 chars.
- char[] buffer = new char[20];
- int i = 20;
- boolean isNeg;
- if (num < 0)
- {
- isNeg = true;
- num = -(num);
- if (num < 0)
- {
- // Must be MIN_VALUE, so handle this special case.
- buffer[--i] = '8';
- num = 922337203685477580L;
- }
- }
- else
- isNeg = false;
-
- do
- {
- buffer[--i] = (char) ((int) '0' + (num % 10));
- num /= 10;
- }
- while (num > 0);
-
- if (isNeg)
- buffer[--i] = '-';
-
- return String.valueOf(buffer, i, 20-i);
- }
-
- public static String toString(long num, int radix)
- {
- // Use optimized method for the typical case.
- if (radix == 10 ||
- radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
- return toString(num);
-
- // Use the Integer toString for efficiency if possible.
- if (num <= Integer.MAX_VALUE && num >= Integer.MIN_VALUE)
- return Integer.toString((int) num, radix);
-
- // For negative numbers, print out the absolute value w/ a leading '-'.
- // Use an array large enough for a binary number.
- char[] buffer = new char[65];
- int i = 65;
- boolean isNeg;
- if (num < 0)
- {
- isNeg = true;
- num = -(num);
-
- // When the value is MIN_VALUE, it overflows when made positive
- if (num < 0)
- {
- buffer[--i] = Character.forDigit((int) (-(num + radix) % radix),
- radix);
- num = -(num / radix);
- }
- }
- else
- isNeg = false;
-
- do
- {
- buffer[--i] = Character.forDigit((int) (num % radix), radix);
- num /= radix;
- }
- while (num > 0);
-
- if (isNeg)
- buffer[--i] = '-';
-
- return String.valueOf(buffer, i, 65-i);
- }
-
- public static Long valueOf(String str) throws NumberFormatException
- {
- return new Long(parseLong(str, 10));
- }
-
- public static Long valueOf(String str, int radix)
- throws NumberFormatException
- {
- return new Long(parseLong(str, radix));
- }
-}
diff --git a/libjava/java/lang/Math.java b/libjava/java/lang/Math.java
deleted file mode 100644
index 77c00bd2fd5..00000000000
--- a/libjava/java/lang/Math.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-/**
- * @author Andrew Haley <aph@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-package java.lang;
-
-import java.util.Random;
-
-public final class Math
-{
- private static Random random_;
-
- public static final double E = 2.7182818284590452354;
- public static final double PI = 3.14159265358979323846;
-
- public static native double sin (double x);
-
- public static native double cos (double x);
-
- public static native double tan (double x);
-
- public static native double asin (double x);
-
- public static native double acos (double x);
-
- public static native double atan (double x);
-
- public static native double atan2(double y, double x);
-
- public static native double exp (double x);
-
- public static native double log (double x);
-
- public static native double sqrt (double x);
-
- public static native double pow (double x, double y);
-
- public static native double IEEEremainder (double x, double y);
-
- public static native double ceil (double x);
-
- public static native double floor (double x);
-
- public static native double rint (double x);
-
- public static native int round (float x);
-
- public static native long round (double x);
-
- public static synchronized double random ()
- {
- if (random_ == null)
- random_ = new Random ();
- return random_.nextDouble ();
- }
-
- public static int abs (int n)
- {
- return (n < 0 ? -n : n);
- }
-
- public static long abs (long n)
- {
- return (n < 0 ? -n : n);
- }
-
- public static native float abs (float x);
-
- public static native double abs (double x);
-
- public static int min (int a, int b)
- {
- return (a < b ? a : b);
- }
-
- public static long min (long a, long b)
- {
- return (a < b ? a : b);
- }
-
- public static native float min (float a, float b);
-
- public static native double min (double a, double b);
-
- public static int max (int a, int b)
- {
- return (a < b ? b : a);
- }
-
- public static long max (long a, long b)
- {
- return (a < b ? b : a);
- }
-
- public static native float max (float a, float b);
-
- public static native double max (double a, double b);
-
- // Don't allow objects to be made.
- private Math ()
- {
- }
-}
-
diff --git a/libjava/java/lang/NegativeArraySizeException.java b/libjava/java/lang/NegativeArraySizeException.java
deleted file mode 100644
index 838f408e49c..00000000000
--- a/libjava/java/lang/NegativeArraySizeException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NegativeArraySizeException extends RuntimeException
-{
- public NegativeArraySizeException()
- {
- super();
- }
-
- public NegativeArraySizeException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/NoClassDefFoundError.java b/libjava/java/lang/NoClassDefFoundError.java
deleted file mode 100644
index 4368d35baa4..00000000000
--- a/libjava/java/lang/NoClassDefFoundError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// NoClassDefFoundError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NoClassDefFoundError extends LinkageError
-{
- public NoClassDefFoundError ()
- {
- super ();
- }
-
- public NoClassDefFoundError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/NoSuchFieldError.java b/libjava/java/lang/NoSuchFieldError.java
deleted file mode 100644
index 13165e89798..00000000000
--- a/libjava/java/lang/NoSuchFieldError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// NoSuchFieldError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NoSuchFieldError extends IncompatibleClassChangeError
-{
- public NoSuchFieldError ()
- {
- super ();
- }
-
- public NoSuchFieldError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/NoSuchFieldException.java b/libjava/java/lang/NoSuchFieldException.java
deleted file mode 100644
index 6e51cdad739..00000000000
--- a/libjava/java/lang/NoSuchFieldException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NoSuchFieldException extends Exception
-{
- public NoSuchFieldException()
- {
- super();
- }
-
- public NoSuchFieldException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/NoSuchMethodError.java b/libjava/java/lang/NoSuchMethodError.java
deleted file mode 100644
index 2c4c1da9f05..00000000000
--- a/libjava/java/lang/NoSuchMethodError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// NoSuchMethodError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NoSuchMethodError extends IncompatibleClassChangeError
-{
- public NoSuchMethodError ()
- {
- super ();
- }
-
- public NoSuchMethodError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/NoSuchMethodException.java b/libjava/java/lang/NoSuchMethodException.java
deleted file mode 100644
index 9861777c77d..00000000000
--- a/libjava/java/lang/NoSuchMethodException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NoSuchMethodException extends Exception
-{
- public NoSuchMethodException()
- {
- super();
- }
-
- public NoSuchMethodException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/NullPointerException.java b/libjava/java/lang/NullPointerException.java
deleted file mode 100644
index 1d1abdd148c..00000000000
--- a/libjava/java/lang/NullPointerException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NullPointerException extends RuntimeException
-{
- public NullPointerException()
- {
- super();
- }
-
- public NullPointerException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/Number.java b/libjava/java/lang/Number.java
deleted file mode 100644
index bf9306b45f3..00000000000
--- a/libjava/java/lang/Number.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.io.Serializable;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public abstract class Number implements Serializable
-{
- public byte byteValue() // Became non-abstract in JDK 1.2
- {
- return (byte) intValue();
- }
-
- public abstract double doubleValue();
- public abstract float floatValue();
- public abstract int intValue();
- public abstract long longValue();
-
- public short shortValue() // Became non-abstract in JDK 1.2
- {
- return (short) intValue();
- }
-}
diff --git a/libjava/java/lang/NumberFormatException.java b/libjava/java/lang/NumberFormatException.java
deleted file mode 100644
index c05a8f172d4..00000000000
--- a/libjava/java/lang/NumberFormatException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NumberFormatException extends IllegalArgumentException
-{
- public NumberFormatException()
- {
- super();
- }
-
- public NumberFormatException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/Object.h b/libjava/java/lang/Object.h
deleted file mode 100644
index c5d55f17833..00000000000
--- a/libjava/java/lang/Object.h
+++ /dev/null
@@ -1,79 +0,0 @@
-// Object.h - Header file for java.lang.Object. -*- c++ -*-
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#ifndef __JAVA_LANG_OBJECT_H__
-#define __JAVA_LANG_OBJECT_H__
-
-#pragma interface
-
-#include <javaprims.h>
-#include <java-assert.h>
-#include <java-threads.h>
-#include <java-gc.h>
-
-// This class is mainly here as a kludge to get G++ to allocate
-// vtable pointer as the *first* word of each Object, instead of
-// the second word (following sync_info). Note that various pieces of
-// code know that finalize() is the first method. For instance,
-// Object.java knows this, as does _Jv_AllocObject.
-
-struct _JvObjectPrefix
-{
-protected:
- // This is disguised as the C++ vtbl.
- // _Jv_VTable* vtable;
-
- virtual void finalize () = 0;
-};
-
-class java::lang::Object : public _JvObjectPrefix
-{
-public:
- // Order must match order in Object.java.
- jclass getClass (void);
- virtual jint hashCode (void);
- void notify (void);
- void notifyAll (void);
- void wait (jlong timeout, jint nanos);
- virtual jboolean equals (jobject obj);
- Object (void);
- virtual jstring toString (void);
- void wait (void);
- void wait (jlong timeout);
-
- friend jint _Jv_MonitorEnter (jobject obj);
- friend jint _Jv_MonitorExit (jobject obj);
- friend void _Jv_InitializeSyncMutex (void);
- friend void _Jv_FinalizeObject (jobject obj);
-
-#ifdef JV_MARKOBJ_DECL
- friend JV_MARKOBJ_DECL;
-#endif
-#ifdef JV_MARKARRAY_DECL
- friend JV_MARKARRAY_DECL;
-#endif
-
-protected:
- virtual jobject clone (void);
- virtual void finalize (void);
-
-private:
- // This does not actually refer to a Java object. Instead it is a
- // placeholder for a piece of internal data (the synchronization
- // information).
- jobject sync_info;
-
- // Initialize the sync_info field.
- void sync_init (void);
-
- static void hack12_6 (jobject f);
-};
-
-#endif /* __JAVA_LANG_OBJECT_H__ */
diff --git a/libjava/java/lang/Object.java b/libjava/java/lang/Object.java
deleted file mode 100644
index 2adad290812..00000000000
--- a/libjava/java/lang/Object.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// Object.java - The root of all evil.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 30, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * plus gcj compiler sources (to determine object layout)
- * Status: Complete to version 1.1
- */
-
-public class Object
-{
- // This must come first. See _JvObjectPrefix in Object.h.
- protected void finalize () throws Throwable
- {
- }
-
- public final native Class getClass ();
- public native int hashCode ();
- public final native void notify ();
- public final native void notifyAll ();
- public final native void wait (long timeout, int nanos)
- throws InterruptedException;
-
- public boolean equals (Object obj)
- {
- return this == obj;
- }
-
- public Object ()
- {
- }
-
- public String toString ()
- {
- return getClass().getName() + '@' + Integer.toHexString(hashCode());
- }
-
- public final void wait () throws InterruptedException
- {
- wait (0, 0);
- }
-
- public final void wait (long timeout) throws InterruptedException
- {
- wait (timeout, 0);
- }
-
- protected native Object clone () throws CloneNotSupportedException;
-
- // This initializes the sync_info member. It is here for
- // completeness (some day we'll be able to auto-generate Object.h).
- private final native void sync_init ();
-
- // This exists as a workaround for the fact that we can't catch a
- // Java Exception from C++. This is from section 12.6 of the Java
- // Language Spec. FIXME: remove this once exception processing
- // works.
- private static final void hack12_6 (Object f)
- {
- try
- {
- f.finalize();
- }
- catch (Throwable x)
- {
- }
- }
-
- // Note that we don't mention the sync_info field here. If we do,
- // jc1 will not work correctly.
-}
diff --git a/libjava/java/lang/OutOfMemoryError.java b/libjava/java/lang/OutOfMemoryError.java
deleted file mode 100644
index 418e13ccbce..00000000000
--- a/libjava/java/lang/OutOfMemoryError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// OutOfMemoryError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class OutOfMemoryError extends VirtualMachineError
-{
- public OutOfMemoryError ()
- {
- super ();
- }
-
- public OutOfMemoryError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/PosixProcess.java b/libjava/java/lang/PosixProcess.java
deleted file mode 100644
index 396287ad46d..00000000000
--- a/libjava/java/lang/PosixProcess.java
+++ /dev/null
@@ -1,74 +0,0 @@
-// PosixProcess.java - Subclass of Process for POSIX systems.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date May 3, 1999
- */
-
-// This is entirely internal to our implementation.
-
-// This file is copied to `ConcreteProcess.java' before compilation.
-// Hence the class name apparently does not match the file name.
-final class ConcreteProcess extends Process
-{
- public native void destroy ();
- public native int exitValue ();
-
- public InputStream getErrorStream ()
- {
- return errorStream;
- }
-
- public InputStream getInputStream ()
- {
- return inputStream;
- }
-
- public OutputStream getOutputStream ()
- {
- return outputStream;
- }
-
- public native int waitFor () throws InterruptedException;
-
- // This is used for actual initialization, as we can't write a
- // native constructor.
- public native void startProcess (String[] progarray, String[] envp)
- throws IOException;
-
- // This file is copied to `ConcreteProcess.java' before
- // compilation. Hence the constructor name apparently does not
- // match the file name.
- public ConcreteProcess (String[] progarray, String[] envp) throws IOException
- {
- startProcess (progarray, envp);
- }
-
- // The process id. This is cast to a pid_t on the native side.
- private long pid;
-
- // True when child has exited.
- private boolean hasExited;
-
- // The exit status, if the child has exited.
- private int status;
-
- // The streams.
- private InputStream errorStream;
- private InputStream inputStream;
- private OutputStream outputStream;
-}
diff --git a/libjava/java/lang/Process.java b/libjava/java/lang/Process.java
deleted file mode 100644
index 765bc9bb8bd..00000000000
--- a/libjava/java/lang/Process.java
+++ /dev/null
@@ -1,30 +0,0 @@
-// Process.java - Represent spawned system process.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-import java.io.*;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 23, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- */
-
-public abstract class Process
-{
- abstract public void destroy ();
- abstract public int exitValue ();
- abstract public InputStream getErrorStream ();
- abstract public InputStream getInputStream ();
- abstract public OutputStream getOutputStream ();
- abstract public int waitFor () throws InterruptedException;
-}
diff --git a/libjava/java/lang/Runnable.java b/libjava/java/lang/Runnable.java
deleted file mode 100644
index 8e27d91856d..00000000000
--- a/libjava/java/lang/Runnable.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// Runnable.java - Runnable interface.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Complete.
- */
-
-public interface Runnable
-{
- public abstract void run ();
-}
diff --git a/libjava/java/lang/Runtime.java b/libjava/java/lang/Runtime.java
deleted file mode 100644
index 62a7c181d9f..00000000000
--- a/libjava/java/lang/Runtime.java
+++ /dev/null
@@ -1,128 +0,0 @@
-// Runtime.java - Runtime class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 27, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: All 1.1 methods exist. exec(), load(), and loadLibrary()
- * are not fully implemented.
- */
-
-public class Runtime
-{
- public Process exec (String prog) throws IOException
- {
- String[] a = new String[1];
- a[0] = prog;
- return exec (a, null);
- }
-
- public Process exec (String prog, String[] envp) throws IOException
- {
- String[] a = new String[1];
- a[0] = prog;
- return exec (a, envp);
- }
-
- public Process exec (String[] progarray) throws IOException
- {
- return exec (progarray, null);
- }
-
- public Process exec (String[] progarray, String[] envp) throws IOException
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkExec(progarray[0]);
- return new ConcreteProcess (progarray, envp);
- }
-
- private final static void checkExit (int status)
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkExit(status);
- }
-
- public native void exit (int status);
-
- public native long freeMemory ();
- public native void gc ();
-
- // Deprecated in 1.1. We implement what the JCL book says.
- public InputStream getLocalizedInputStream (InputStream in)
- {
- return in;
- }
-
- // Deprecated in 1.1. We implement what the JCL book says.
- public OutputStream getLocalizedOutputStream (OutputStream out)
- {
- return out;
- }
-
- public static Runtime getRuntime ()
- {
- return self;
- }
-
- private final void checkLink (String lib)
- {
- if (lib == null)
- throw new NullPointerException ();
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkLink(lib);
- }
-
- public native void load (String pathname);
- public native void loadLibrary (String libname);
-
- public native void runFinalization ();
-
- // This method is static in JDK 1.1, but isn't listed as static in
- // the books. It is marked as static in the 1.2 docs.
- public static void runFinalizersOnExit (boolean run)
- {
- // The status we pass to the security check is unspecified.
- checkExit (0);
- self.finalize_on_exit = run;
- }
-
- public native long totalMemory ();
- public native void traceInstructions (boolean on);
- public native void traceMethodCalls (boolean on);
-
- // A helper for the constructor.
- private final native void init ();
-
- // The sole constructor.
- private Runtime ()
- {
- init ();
- }
-
- // Private data.
- private static Runtime self = new Runtime ();
- // FIXME: for now this can't be static. If it is, our compiler will
- // mark it as local, and it will be inaccessible to natRuntime.cc.
- private boolean finalize_on_exit;
-}
diff --git a/libjava/java/lang/RuntimeException.java b/libjava/java/lang/RuntimeException.java
deleted file mode 100644
index e0d3f5397d3..00000000000
--- a/libjava/java/lang/RuntimeException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class RuntimeException extends Exception
-{
- public RuntimeException()
- {
- super();
- }
-
- public RuntimeException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/SecurityException.java b/libjava/java/lang/SecurityException.java
deleted file mode 100644
index 8a6a94f7f75..00000000000
--- a/libjava/java/lang/SecurityException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998. */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class SecurityException extends RuntimeException
-{
- public SecurityException()
- {
- super();
- }
-
- public SecurityException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/SecurityManager.java b/libjava/java/lang/SecurityManager.java
deleted file mode 100644
index 50091f1044e..00000000000
--- a/libjava/java/lang/SecurityManager.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// SecurityManager
-
-package java.lang;
-
-/**
- * @author Anthony Green <green@cygnus.com>
- * @date October 5, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- */
-
-import java.io.*;
-import java.net.*;
-
-public abstract class SecurityManager
-{
- protected boolean inCheck = false;
-
- public void checkAccept (String host, int port)
- {
- throw new SecurityException();
- }
-
- public void checkAccess (Thread thrd)
- {
- throw new SecurityException();
- }
-
- public void checkAccess (ThreadGroup thrdGroup)
- {
- throw new SecurityException();
- }
-
- public void checkAwtEventQueueAccess ()
- {
- throw new SecurityException();
- }
-
- public void checkConnect (String host, int prt)
- {
- throw new SecurityException();
- }
-
- public void checkConnect (String host, int prt, Object ctx)
- {
- throw new SecurityException();
- }
-
- public void checkCreateClassLoader ()
- {
- throw new SecurityException();
- }
-
- public void checkDelete (String fileName)
- {
- throw new SecurityException();
- }
-
- public void checkExec (String prog)
- {
- throw new SecurityException();
- }
-
- public void checkExit (int stat)
- {
- throw new SecurityException();
- }
-
- public void checkLink (String lib)
- {
- throw new SecurityException();
- }
-
- public void checkListen (int lport)
- {
- throw new SecurityException();
- }
-
- public void checkMemberAccess (Class cl, int mtype)
- {
- throw new SecurityException();
- }
-
- public void checkMulticast (InetAddress maddr)
- {
- throw new SecurityException();
- }
-
- public void checkMulticast (InetAddress maddr, byte ttl)
- {
- throw new SecurityException();
- }
-
- public void checkPackageAccess (String pkg)
- {
- throw new SecurityException();
- }
-
- public void checkPackageDefinition (String pkg)
- {
- throw new SecurityException();
- }
-
- public void checkPrintJobAccess ()
- {
- throw new SecurityException();
- }
-
- public void checkPropertiesAccess ()
- {
- throw new SecurityException();
- }
-
- public void checkPropertyAccess (String prop)
- {
- throw new SecurityException();
- }
-
- public void checkPropertyAccess (String prop, String defval)
- {
- throw new SecurityException();
- }
-
- public void checkRead (FileDescriptor fd)
- {
- throw new SecurityException();
- }
-
- public void checkRead (String fileName)
- {
- throw new SecurityException();
- }
-
- public void checkRead (String fileName, Object ctx)
- {
- throw new SecurityException();
- }
-
- public void checkSecurityAccess (String action)
- {
- throw new SecurityException();
- }
-
- public void checkSetFactory ()
- {
- throw new SecurityException();
- }
-
- public void checkSystemClipboardAccess ()
- {
- throw new SecurityException();
- }
-
- public boolean checkTopLevelWindow (Object window)
- {
- throw new SecurityException();
- }
-
- public void checkWrite (FileDescriptor fd)
- {
- throw new SecurityException();
- }
-
- public void checkWrite (String fileName)
- {
- throw new SecurityException();
- }
-
- // Note: this method is deprecated in JDK 1.2
- protected /* native */ int classDepth (String className)
- {
- Class[] classStack = getClassContext ();
- for (int i = 0; i < classStack.length; i++)
- if (classStack[i].getName().compareTo(className) == 0)
- return i;
-
- return -1;
- }
-
- // Note: this method is deprecated in JDK 1.2
- protected /* native */ int classLoaderDepth ()
- {
- Class[] classStack = getClassContext ();
- for (int i = 0; i < classStack.length; i++)
- if (classStack[i].getClassLoader() != null)
- return i;
-
- return -1;
- }
-
- protected /* native */ ClassLoader currentClassLoader ()
- {
- Class[] classStack = getClassContext ();
- for (int i = 0; i < classStack.length; i++)
- {
- ClassLoader loader = classStack[i].getClassLoader();
- if (loader != null)
- return loader;
- }
-
- return null;
- }
-
- protected /* native */ Class currentLoadedClass ()
- {
- Class[] classStack = getClassContext ();
- for (int i = 0; i < classStack.length; i++)
- {
- ClassLoader loader = classStack[i].getClassLoader();
- if (loader != null)
- return classStack[i];
- }
-
- return null;
- }
-
- protected /* native */ Class[] getClassContext ()
- {
- return new Class[0];
- }
-
- // Note: this method is deprecated in JDK 1.2
- public boolean getInCheck ()
- {
- return inCheck;
- }
-
- public Object getSecurityContext ()
- {
- // FIXME: This has yet to be implemented.
- return new String("");
- }
-
- public ThreadGroup getThreadGroup ()
- {
- return Thread.currentThread().getThreadGroup();
- }
-
- protected boolean inClass (String className)
- {
- return (classDepth (className) != -1);
- }
-
- protected boolean inClassLoader ()
- {
- return (classLoaderDepth () != -1);
- }
-
- protected SecurityManager ()
- {
- if (System.getSecurityManager () != null)
- throw new SecurityException ();
- }
-}
diff --git a/libjava/java/lang/Short.java b/libjava/java/lang/Short.java
deleted file mode 100644
index 4a17f2d6ea7..00000000000
--- a/libjava/java/lang/Short.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 17, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- * Includes JDK 1.2 methods.
- */
-
-public final class Short extends Number implements Comparable
-{
- short value;
-
- public final static short MIN_VALUE = -32768;
- public final static short MAX_VALUE = 32767;
-
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public static final Class TYPE = short.class;
-
- public Short(short value)
- {
- this.value = value;
- }
-
- public Short(String str)
- throws NumberFormatException
- {
- this.value = parseShort(str, 10);
- }
-
- public byte byteValue()
- {
- return (byte) value;
- }
-
- public short shortValue()
- {
- return value;
- }
-
- public int intValue()
- {
- return value;
- }
-
- public long longValue ()
- {
- return value;
- }
-
- public float floatValue ()
- {
- return (float) value;
- }
-
- public double doubleValue ()
- {
- return (double) value;
- }
-
- public static Short decode(String str)
- throws NumberFormatException
- {
- int i = (Integer.decode(str)).intValue();
- if (i < MIN_VALUE || i > MAX_VALUE)
- throw new NumberFormatException();
- return new Short((short) i);
- }
-
- public static short parseShort(String str, int radix)
- throws NumberFormatException
- {
- int i = Integer.parseInt(str, radix);
- if (i < MIN_VALUE || i > MAX_VALUE)
- throw new NumberFormatException();
- return (short) i;
- }
-
- public static short parseShort(String str)
- throws NumberFormatException
- {
- return parseShort(str, 10);
- }
-
- public static Short valueOf(String str, int radix)
- throws NumberFormatException
- {
- return new Short(parseShort(str, radix));
- }
-
- public static Short valueOf(String str)
- throws NumberFormatException
- {
- return valueOf(str, 10);
- }
-
- // Added in JDK 1.2
- public int compareTo(Short anotherShort)
- {
- return this.value - anotherShort.value;
- }
-
- // Added in JDK 1.2
- public int compareTo(Object o) throws ClassCastException
- {
- if (o instanceof Short)
- return this.value - ((Short) o).value;
- else
- throw new ClassCastException();
- }
-
- public boolean equals(Object obj)
- {
- return (obj != null && (obj instanceof Short)
- && ((Short) obj).value == value);
- }
-
- // Verified that hashCode is returns plain value (see Short_1 test).
- public int hashCode()
- {
- return value;
- }
-
- public String toString()
- {
- return Integer.toString((int) value);
- }
-
- public static String toString(short value)
- {
- return Integer.toString((int) value);
- }
-}
diff --git a/libjava/java/lang/StackOverflowError.java b/libjava/java/lang/StackOverflowError.java
deleted file mode 100644
index ace8b25c1a0..00000000000
--- a/libjava/java/lang/StackOverflowError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// StackOverflowError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class StackOverflowError extends VirtualMachineError
-{
- public StackOverflowError ()
- {
- super ();
- }
-
- public StackOverflowError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/String.java b/libjava/java/lang/String.java
deleted file mode 100644
index 55cc9cd9410..00000000000
--- a/libjava/java/lang/String.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-import java.io.UnsupportedEncodingException;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date September 4, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Complete to 1.1, but see FIXMEs. Also see testsuite results.
- */
-
-public final class String
-{
- private Object data;
- private int boffset; // Note this is a byte offset - don't use in Java code!
- private int count;
-
- public String ()
- {
- init();
- }
-
- public String (String value)
- {
- data = value.data;
- boffset = value.boffset;
- count = value.count;
- }
-
- public String (StringBuffer buffer)
- {
- init (buffer.value, 0, buffer.count, true);
- }
-
- public String (char[] data)
- {
- init(data, 0, data.length, false);
- }
-
- public String (char[] data, int offset, int count)
- {
- init(data, offset, count, false);
- }
-
- public String (byte[] byteArray)
- {
- this (byteArray, 0, byteArray.length);
- }
-
- public String (byte[] byteArray, int offset, int count)
- {
- try
- {
- init (byteArray, offset, count,
- System.getProperty("file.encoding", "8859_1"));
- }
- catch (UnsupportedEncodingException x1)
- {
- // Maybe the default encoding is bad.
- try
- {
- init (byteArray, offset, count, "8859_1");
- }
- catch (UnsupportedEncodingException x2)
- {
- // We know this can't happen.
- }
- }
- }
-
- public String (byte[] byteArray, String enc)
- throws UnsupportedEncodingException
- {
- this (byteArray, 0, byteArray.length, enc);
- }
-
- public String (byte[] byteArray, int offset, int count, String enc)
- throws UnsupportedEncodingException
- {
- init (byteArray, offset, count, enc);
- }
-
- public static String copyValueOf(char[] data)
- {
- return copyValueOf (data, 0, data.length);
- }
-
- public static String copyValueOf(char[] data, int offset, int count)
- {
- String r = new String ();
- r.init(data, offset, count, false);
- return r;
- }
-
- /** @deprecated */
- public String (byte[] ascii, int hibyte)
- {
- init(ascii, hibyte, 0, ascii.length);
- }
-
- /** @deprecated */
- public String (byte[] ascii, int hibyte, int offset, int count)
- {
- init(ascii, hibyte, offset, count);
- }
-
- public String toString ()
- {
- return this;
- }
-
- public native boolean equals (Object anObject);
-
- public native int hashCode ();
-
- public int length ()
- {
- return count;
- }
-
- public native char charAt (int index);
-
- public native void getChars (int srcBegin, int srcEnd,
- char[] dst, int dstBegin);
-
- public byte[] getBytes ()
- {
- try
- {
- return getBytes (System.getProperty("file.encoding", "8859_1"));
- }
- catch (UnsupportedEncodingException x)
- {
- // This probably shouldn't happen, but could if file.encoding
- // is somehow changed to a value we don't understand.
- try
- {
- return getBytes ("8859_1");
- }
- catch (UnsupportedEncodingException x2)
- {
- // This really shouldn't happen, because the 8859_1
- // encoding should always be available.
- throw new InternalError ("couldn't find 8859_1 encoder");
- }
- }
- }
-
- public native byte[] getBytes (String enc)
- throws UnsupportedEncodingException;
-
- /** @deprecated */
- public native void getBytes (int srcBegin, int srcEnd,
- byte[] dst, int dstBegin);
-
- public native char[] toCharArray ();
-
- public native boolean equalsIgnoreCase (String anotherString);
-
- public native int compareTo (String anotherString);
-
- public native boolean regionMatches (int toffset,
- String other, int ooffset, int len);
-
- public native boolean regionMatches (boolean ignoreCase, int toffset,
- String other, int ooffset, int len);
-
- public boolean startsWith (String prefix)
- {
- return startsWith (prefix, 0);
- }
-
- public native boolean startsWith (String prefix, int toffset);
-
- public boolean endsWith (String suffix)
- {
- return regionMatches (this.count - suffix.count, suffix, 0, suffix.count);
- }
-
- // No such method specified in the doc, including JDK 1.2.
- // public boolean endsWith (String suffix, int toffset)
- // {
- // return regionMatches (toffset, suffix, 0, suffix.count);
- // }
-
- // The Language Specification, and the JDK 1.2 API docs say that
- // index and lastIndex take an int, while the Class Libraries
- // say they take a char. The former wins ...
-
- public int indexOf (int ch)
- {
- return indexOf (ch, 0);
- }
-
- public native int indexOf (int ch, int fromIndex);
-
- public int indexOf (String str)
- {
- return indexOf (str, 0);
- }
-
- public native int indexOf (String str, int fromIndex);
-
- public int lastIndexOf (int ch)
- {
- return lastIndexOf (ch, count - 1);
- }
-
- public native int lastIndexOf (int ch, int fromIndex);
-
- public int lastIndexOf (String str)
- {
- return lastIndexOf (str, count - str.count);
- }
-
- public int lastIndexOf (String str, int fromIndex)
- {
- if (fromIndex >= count)
- fromIndex = count - str.count;
- for (;; --fromIndex)
- {
- if (fromIndex < 0)
- return -1;
- if (startsWith(str, fromIndex))
- return fromIndex;
- }
- }
-
- public String substring (int beginIndex)
- {
- return substring (beginIndex, count);
- }
-
- public native String substring (int beginIndex, int endIndex);
-
- public native String concat (String str);
-
- public native String replace (char oldChar, char newChar);
-
- public native String toLowerCase ();
-
- public native String toUpperCase ();
-
- public native String trim ();
-
- public static String valueOf (Object obj)
- {
- return obj == null ? "null" : obj.toString();
- }
-
- public static String valueOf (char[] data)
- {
- return valueOf (data, 0, data.length);
- }
-
- public static native String valueOf (char[] data, int offset, int count);
-
- public static String valueOf (boolean b)
- {
- return b ? "true" : "false";
- }
-
- public static native String valueOf (char c);
-
- public static String valueOf (int i)
- {
- return Integer.toString(i);
- }
-
- public static String valueOf (long l)
- {
- return Long.toString(l);
- }
-
- public static String valueOf (float f)
- {
- return Float.toString(f);
- }
-
- public static String valueOf (double d)
- {
- return Double.toString(d);
- }
-
- public native String intern ();
-
- private native void init ();
- private native void init (char[] chars, int offset, int count,
- boolean dont_copy);
- private native void init (byte[] chars, int hibyte, int offset, int count);
- private native void init (byte[] chars, int offset, int count, String enc)
- throws UnsupportedEncodingException;
- private native void unintern ();
- private static native void rehash ();
-}
diff --git a/libjava/java/lang/StringBuffer.java b/libjava/java/lang/StringBuffer.java
deleted file mode 100644
index 70f78fbf8e5..00000000000
--- a/libjava/java/lang/StringBuffer.java
+++ /dev/null
@@ -1,276 +0,0 @@
-// StringBuffer.java - Growable strings.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-import java.io.Serializable;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 23, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- */
-
-public final class StringBuffer implements Serializable
-{
- public StringBuffer append (boolean bool)
- {
- return append (String.valueOf(bool));
- }
-
- public synchronized StringBuffer append (char ch)
- {
- ensureCapacity (count + 1);
- value[count++] = ch;
- return this;
- }
-
- public StringBuffer append (int inum)
- {
- return append (String.valueOf(inum));
- }
-
- public StringBuffer append (long lnum)
- {
- return append (String.valueOf(lnum));
- }
-
- public StringBuffer append (float fnum)
- {
- return append (String.valueOf(fnum));
- }
-
- public StringBuffer append (double dnum)
- {
- return append (String.valueOf(dnum));
- }
-
- public StringBuffer append (Object obj)
- {
- return append (String.valueOf(obj));
- }
-
- public synchronized StringBuffer append (String str)
- {
- if (str == null)
- str = "null";
- int len = str.length();
- ensureCapacity (count + len);
- str.getChars(0, len, value, count);
- count += len;
- return this;
- }
-
- public StringBuffer append (char[] data)
- {
- return append (data, 0, data.length);
- }
-
- public synchronized StringBuffer append (char[] data, int offset, int count)
- {
- ensureCapacity (this.count + count);
- System.arraycopy(data, offset, value, this.count, count);
- this.count += count;
- return this;
- }
-
- public int capacity ()
- {
- return value.length;
- }
-
- public synchronized char charAt (int index)
- {
- if (index >= count)
- throw new StringIndexOutOfBoundsException (index);
- return value[index];
- }
-
- public synchronized void ensureCapacity (int minimumCapacity)
- {
- if (shared || minimumCapacity > value.length)
- {
- // We don't want to make a larger vector when `shared' is
- // set. If we do, then setLength becomes very inefficient
- // when repeatedly reusing a StringBuffer in a loop.
- int max = (minimumCapacity > value.length
- ? value.length*2+2
- : value.length);
- minimumCapacity = Math.max(minimumCapacity, max);
- char[] nb = new char[minimumCapacity];
- System.arraycopy(value, 0, nb, 0, count);
- value = nb;
- shared = false;
- }
- }
-
- public synchronized void getChars (int srcOffset, int srcEnd,
- char[] dst, int dstOffset)
- {
- if (srcOffset < 0 || srcOffset > srcEnd)
- throw new StringIndexOutOfBoundsException (srcOffset);
- int todo = srcEnd - srcOffset;
- if (srcEnd > count || dstOffset + todo > count)
- throw new StringIndexOutOfBoundsException (srcEnd);
- System.arraycopy(value, srcOffset, dst, dstOffset, todo);
- }
-
- public StringBuffer insert (int offset, boolean bool)
- {
- return insert (offset, bool ? "true" : "false");
- }
-
- public synchronized StringBuffer insert (int offset, char ch)
- {
- if (offset < 0 || offset > count)
- throw new StringIndexOutOfBoundsException (offset);
- ensureCapacity (count+1);
- System.arraycopy(value, offset, value, offset+1, count-offset);
- value[offset] = ch;
- count++;
- return this;
- }
-
- public StringBuffer insert (int offset, int inum)
- {
- return insert (offset, String.valueOf(inum));
- }
-
- public StringBuffer insert (int offset, long lnum)
- {
- return insert (offset, String.valueOf(lnum));
- }
-
- public StringBuffer insert (int offset, float fnum)
- {
- return insert (offset, String.valueOf(fnum));
- }
-
- public StringBuffer insert (int offset, double dnum)
- {
- return insert (offset, String.valueOf(dnum));
- }
-
- public StringBuffer insert (int offset, Object obj)
- {
- return insert (offset, String.valueOf(obj));
- }
-
- public synchronized StringBuffer insert (int offset, String str)
- {
- if (offset < 0 || offset > count)
- throw new StringIndexOutOfBoundsException (offset);
- // Note that using `null' is from JDK 1.2.
- if (str == null)
- str = "null";
- int len = str.length();
- ensureCapacity(count+len);
- System.arraycopy(value, offset, value, offset+len, count-offset);
- str.getChars(0, len, value, offset);
- count += len;
- return this;
- }
-
- public synchronized StringBuffer insert (int offset, char[] data)
- {
- if (offset < 0 || offset > count)
- throw new StringIndexOutOfBoundsException (offset);
- int len = data.length;
- ensureCapacity (count+len);
- System.arraycopy(value, offset, value, offset+len, count-offset);
- System.arraycopy(data, 0, value, offset, len);
- count += len;
- return this;
- }
-
- public int length ()
- {
- return count;
- }
-
- public synchronized StringBuffer reverse ()
- {
- for (int i = 0; i < count / 2; ++i)
- {
- char c = value[i];
- value[i] = value[count - i - 1];
- value[count - i - 1] = c;
- }
- return this;
- }
-
- public synchronized void setCharAt (int index, char ch)
- {
- if (index < 0 || index >= count)
- throw new StringIndexOutOfBoundsException (index);
- // Call ensureCapacity to enforce copy-on-write.
- ensureCapacity (count);
- value[index] = ch;
- }
-
- public synchronized void setLength (int newLength)
- {
- if (newLength < 0)
- throw new StringIndexOutOfBoundsException (newLength);
-
- ensureCapacity (newLength);
- for (int i = count; i < newLength; ++i)
- value[i] = '\0';
- count = newLength;
- }
-
- public StringBuffer ()
- {
- this (16);
- }
-
- public StringBuffer (int capacity)
- {
- count = 0;
- value = new char[capacity];
- shared = false;
- }
-
- public StringBuffer (String str)
- {
- // Note: nowhere does it say that we should handle a null
- // argument here. In fact, the JCL implies that we should not.
- // But this leads to an asymmetry: `null + ""' will fail, while
- // `"" + null' will work.
- if (str == null)
- str = "null";
- count = str.length();
- // JLS: The initial capacity of the string buffer is 16 plus the
- // length of the argument string.
- value = new char[count + 16];
- str.getChars(0, count, value, 0);
- shared = false;
- }
-
- public String toString ()
- {
- shared = true;
- return new String (this);
- }
-
- // The buffer. Note that this has permissions set this way so that
- // String can get the value.
- char[] value;
-
- // Index of next available character. Note that this has
- // permissions set this way so that String can get the value.
- int count;
-
- // True if we need to copy the buffer before writing to it again.
- // FIXME: JDK 1.2 doesn't specify this. The new buffer-growing
- // semantics make this less useful in that case, too.
- private boolean shared;
-}
diff --git a/libjava/java/lang/StringIndexOutOfBoundsException.java b/libjava/java/lang/StringIndexOutOfBoundsException.java
deleted file mode 100644
index 200acb896f0..00000000000
--- a/libjava/java/lang/StringIndexOutOfBoundsException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class StringIndexOutOfBoundsException extends IndexOutOfBoundsException
-{
- public StringIndexOutOfBoundsException()
- {
- super();
- }
-
- public StringIndexOutOfBoundsException(int index)
- {
- this("String index out of range: " + index);
- }
-
- public StringIndexOutOfBoundsException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java
deleted file mode 100644
index 6f6dee42057..00000000000
--- a/libjava/java/lang/System.java
+++ /dev/null
@@ -1,166 +0,0 @@
-// System.java - System-specific info.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.io.FileDescriptor;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FilterInputStream;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.util.Properties;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 27, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: 1.1. Some 1.2 methods missing. Properties code not fully
- * implemented.
- */
-
-public final class System
-{
- public static native void arraycopy (Object src, int srcOffset,
- Object dst, int dstOffset,
- int count);
-
- public static native long currentTimeMillis ();
-
- public static void exit (int status)
- {
- Runtime.getRuntime().exit(status);
- }
-
- public static void gc ()
- {
- Runtime.getRuntime().gc();
- }
-
- // Marked deprecated in 1.1. We implement what the JCL book says.
- public static String getenv (String name)
- {
- throw new Error ();
- }
-
- private static native void init_properties ();
-
- public static Properties getProperties ()
- {
- if (secman != null)
- secman.checkPropertiesAccess();
- init_properties ();
- return properties;
- }
-
- public static String getProperty (String property)
- {
- if (secman != null)
- secman.checkPropertyAccess(property);
- init_properties ();
- return properties.getProperty(property);
- }
-
- public static String getProperty (String property, String defval)
- {
- if (secman != null)
- secman.checkPropertyAccess(property, defval);
- init_properties ();
- return properties.getProperty(property, defval);
- }
-
- public static SecurityManager getSecurityManager ()
- {
- return secman;
- }
-
- public static native int identityHashCode (Object obj);
-
- public static void load (String pathname)
- {
- Runtime.getRuntime().load(pathname);
- }
-
- public static void loadLibrary (String libname)
- {
- Runtime.getRuntime().loadLibrary(libname);
- }
-
- public static void runFinalization ()
- {
- Runtime.getRuntime().runFinalization();
- }
-
- // Marked as deprecated in 1.2.
- public static void runFinalizersOnExit (boolean run)
- {
- Runtime.getRuntime().runFinalizersOnExit(run);
- }
-
- private static void checkSetIO ()
- {
- // In 1.1, we are supposed to call checkExec, but the argument is
- // not specified. In 1.2, we are supposed to use checkPermission,
- // which doesn't exist in 1.1.
- if (secman != null)
- secman.checkExec("");
- }
-
- public static native void setErr (PrintStream newErr);
- public static native void setIn (InputStream newIn);
- public static native void setOut (PrintStream newOut);
-
- public static void setProperties (Properties props)
- {
- if (secman != null)
- secman.checkPropertiesAccess();
- // We might not have initialized yet.
- prop_init = true;
- properties = props;
- }
-
- // TODO 1.2.
- // public static String setProperty (String key, String value);
-
- // TODO 1.2.
- // public static String mapLibraryName (String libname);
-
- public static void setSecurityManager (SecurityManager s)
- {
- if (secman != null)
- throw new SecurityException ();
- secman = s;
- }
-
- // Public data.
- public static final InputStream in = new BufferedInputStream (new FileInputStream (FileDescriptor.in));
-
- public static final PrintStream out = new PrintStream (new BufferedOutputStream (new FileOutputStream (FileDescriptor.out)), true);
-
- public static final PrintStream err = new PrintStream (new BufferedOutputStream (new FileOutputStream (FileDescriptor.err)), true);
-
- // Don't allow System objects to be made.
- private System ()
- {
- }
-
- // Private data.
- private static SecurityManager secman = null;
- private static Properties properties = null;
- // This boolean is only required for 1.1 and earlier. After 1.1, a
- // null properties should always be re-initialized.
- private static boolean prop_init = false;
-}
diff --git a/libjava/java/lang/Thread.java b/libjava/java/lang/Thread.java
deleted file mode 100644
index f21d3a3fb7d..00000000000
--- a/libjava/java/lang/Thread.java
+++ /dev/null
@@ -1,297 +0,0 @@
-// Thread.java - Thread class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 24, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Complete to version 1.1, with caveats
- * Known problems:
- * No attempt was made to implement suspend/resume
- * (this could be done in some cases)
- * Various methods which assume a VM are likewise unimplemented
- * We do implement stop() even though it is deprecated.
- */
-
-public class Thread implements Runnable
-{
- public final static int MAX_PRIORITY = 10;
- public final static int MIN_PRIORITY = 1;
- public final static int NORM_PRIORITY = 5;
-
- public static int activeCount ()
- {
- return currentThread().getThreadGroup().activeCount();
- }
-
- public void checkAccess ()
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkAccess(this);
- }
-
- public native int countStackFrames ();
- public static native Thread currentThread ();
- public native void destroy ();
- public static native void dumpStack ();
-
- public static int enumerate (Thread[] threads)
- {
- return currentThread().group.enumerate(threads);
- }
-
- public final String getName ()
- {
- return name;
- }
-
- public final int getPriority ()
- {
- return priority;
- }
-
- public final ThreadGroup getThreadGroup ()
- {
- return group;
- }
-
- public native void interrupt ();
-
- public static boolean interrupted ()
- {
- return currentThread().isInterrupted();
- }
-
- // FIXME: it seems to me that this should be synchronized.
- public boolean isInterrupted ()
- {
- boolean r = interrupt_flag;
- interrupt_flag = false;
- return r;
- }
-
- public final boolean isAlive ()
- {
- return alive_flag;
- }
-
- public final boolean isDaemon ()
- {
- return daemon_flag;
- }
-
- public final void join () throws InterruptedException
- {
- join (0, 0);
- }
-
- public final void join (long timeout) throws InterruptedException
- {
- join (timeout, 0);
- }
-
- public final native void join (long timeout, int nanos)
- throws InterruptedException;
-
- public final native void resume ();
-
- // This method exists only to avoid a warning from the C++ compiler.
- private static final native void run__ (Object obj);
- private native final void finish_ ();
- private final void run_ ()
- {
- try
- {
- run ();
- }
- catch (Throwable e)
- {
- // Uncaught exceptions are forwarded to the ThreadGroup. If
- // this results in an uncaught exception, that is ignored.
- try
- {
- group.uncaughtException(this, e);
- }
- catch (Throwable f)
- {
- // Nothing.
- }
- }
- finish_ ();
- }
-
- public void run ()
- {
- if (runnable != null)
- runnable.run();
- }
-
- public final void setDaemon (boolean status)
- {
- checkAccess ();
- if (isAlive ())
- throw new IllegalThreadStateException ();
- daemon_flag = status;
- }
-
- // TODO12:
- // public ClassLoader getContextClassLoader()
- // {
- // }
-
- // TODO12:
- // public void setContextClassLoader(ClassLoader cl)
- // {
- // }
-
- public final void setName (String n)
- {
- checkAccess ();
- // The Class Libraries book says ``threadName cannot be null''. I
- // take this to mean NullPointerException.
- if (n == null)
- throw new NullPointerException ();
- name = n;
- }
-
- public final native void setPriority (int newPriority);
-
- public static void sleep (long timeout) throws InterruptedException
- {
- sleep (timeout, 0);
- }
-
- public static native void sleep (long timeout, int nanos)
- throws InterruptedException;
- public synchronized native void start ();
-
- public final void stop ()
- {
- stop (new ThreadDeath ());
- }
-
- public final synchronized native void stop (Throwable e);
- public final native void suspend ();
-
- private final native void initialize_native ();
-
- private final synchronized static String gen_name ()
- {
- String n;
- n = "Thread-" + nextThreadNumber;
- ++nextThreadNumber;
- return n;
- }
-
- public Thread (ThreadGroup g, Runnable r, String n)
- {
- // Note that CURRENT can be null when we are creating the very
- // first thread. That's why we check it below.
- Thread current = currentThread ();
-
- if (g != null)
- {
- // If CURRENT is null, then we are creating the first thread.
- // In this case we don't do the security check.
- if (current != null)
- g.checkAccess();
- }
- else
- g = current.getThreadGroup();
-
- // The Class Libraries book says ``threadName cannot be null''. I
- // take this to mean NullPointerException.
- if (n == null)
- throw new NullPointerException ();
-
- name = n;
- group = g;
- g.add(this);
- runnable = r;
-
- data = null;
- interrupt_flag = false;
- alive_flag = false;
- if (current != null)
- {
- daemon_flag = current.isDaemon();
- priority = current.getPriority();
- }
- else
- {
- daemon_flag = false;
- priority = NORM_PRIORITY;
- }
-
- initialize_native ();
- }
-
- public Thread ()
- {
- this (null, null, gen_name ());
- }
-
- public Thread (Runnable r)
- {
- this (null, r, gen_name ());
- }
-
- public Thread (String n)
- {
- this (null, null, n);
- }
-
- public Thread (ThreadGroup g, Runnable r)
- {
- this (g, r, gen_name ());
- }
-
- public Thread (ThreadGroup g, String n)
- {
- this (g, null, n);
- }
-
- public Thread (Runnable r, String n)
- {
- this (null, r, n);
- }
-
- public String toString ()
- {
- return "Thread[" + name + "," + priority + "," + group.getName() + "]";
- }
-
- public static native void yield ();
-
- // Private data.
- private ThreadGroup group;
- private String name;
- private Runnable runnable;
- private int priority;
- private boolean daemon_flag;
- private boolean interrupt_flag;
- private boolean alive_flag;
-
- // This is a bit odd. We need a way to represent some data that is
- // manipulated only by the native side of this class. We represent
- // it as a Java object reference. However, it is not actually a
- // Java object.
- private Object data;
-
- // Next thread number to assign.
- private static int nextThreadNumber = 0;
-}
diff --git a/libjava/java/lang/ThreadDeath.java b/libjava/java/lang/ThreadDeath.java
deleted file mode 100644
index caffc936d2e..00000000000
--- a/libjava/java/lang/ThreadDeath.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// ThreadDeath.java - Special exception registering Thread death.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 26, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Complete to version 1.1
- */
-
-public class ThreadDeath extends Error
-{
- public ThreadDeath ()
- {
- super ();
- }
-
- public ThreadDeath (String message)
- {
- super (message);
- }
-}
diff --git a/libjava/java/lang/ThreadGroup.java b/libjava/java/lang/ThreadGroup.java
deleted file mode 100644
index 1aa1a9a3bed..00000000000
--- a/libjava/java/lang/ThreadGroup.java
+++ /dev/null
@@ -1,406 +0,0 @@
-// ThreadGroup.java - ThreadGroup class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-import java.util.Enumeration;
-import java.util.Vector;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date August 25, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Complete for 1.1. Parts from the JDK 1.0 spec only are
- * not implemented. Parts of the 1.2 spec are also not implemented.
- */
-
-public class ThreadGroup
-{
- public int activeCount ()
- {
- int ac = threads.size();
- Enumeration e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- ac += g.activeCount();
- }
- return ac;
- }
-
- public int activeGroupCount ()
- {
- int ac = groups.size();
- Enumeration e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- ac += g.activeGroupCount();
- }
- return ac;
- }
-
- // Deprecated in 1.2.
- public boolean allowThreadSuspension (boolean allow)
- {
- // There is no way for a Java program to determine whether this
- // has any effect whatsoever. We don't need it.
- return true;
- }
-
- public final void checkAccess ()
- {
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkAccess(this);
- }
-
- // This is called to remove a ThreadGroup from our internal list.
- private final void remove (ThreadGroup g)
- {
- groups.removeElement(g);
- if (daemon_flag && groups.size() == 0 && threads.size() == 0)
- {
- // We inline destroy to avoid the access check.
- destroyed_flag = true;
- if (parent != null)
- parent.remove(this);
- }
- }
-
- // This is called by the Thread code to remove a Thread from our
- // internal list. FIXME: currently, it isn't called at all. There
- // doesn't appear to be any way to remove a Thread from a
- // ThreadGroup (except the unimplemented destroy method).
- final void remove (Thread t)
- {
- threads.removeElement(t);
- if (daemon_flag && groups.size() == 0 && threads.size() == 0)
- {
- // We inline destroy to avoid the access check.
- destroyed_flag = true;
- if (parent != null)
- parent.remove(this);
- }
- }
-
- // This is called by the Thread code to add a Thread to our internal
- // list.
- final void add (Thread t)
- {
- if (destroyed_flag)
- throw new IllegalThreadStateException ();
-
- threads.addElement(t);
- }
-
- // This is a helper that is used to implement the destroy method.
- private final boolean canDestroy ()
- {
- if (! threads.isEmpty())
- return false;
- Enumeration e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- if (! g.canDestroy())
- return false;
- }
- return true;
- }
-
- public final void destroy ()
- {
- checkAccess ();
- if (! canDestroy ())
- throw new IllegalThreadStateException ();
- destroyed_flag = true;
- if (parent != null)
- parent.remove(this);
- }
-
- // This actually implements enumerate.
- private final int enumerate (Thread[] ts, int next_index, boolean recurse)
- {
- Enumeration e = threads.elements();
- while (e.hasMoreElements() && next_index < ts.length)
- ts[next_index++] = (Thread) e.nextElement();
- if (recurse && next_index != ts.length)
- {
- e = groups.elements();
- while (e.hasMoreElements() && next_index < ts.length)
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- next_index = g.enumerate(ts, next_index, true);
- }
- }
- return next_index;
- }
-
- public int enumerate (Thread[] ts)
- {
- return enumerate (ts, 0, true);
- }
-
- public int enumerate (Thread[] ts, boolean recurse)
- {
- return enumerate (ts, 0, recurse);
- }
-
- // This actually implements enumerate.
- private final int enumerate (ThreadGroup[] ts, int next_index,
- boolean recurse)
- {
- Enumeration e = groups.elements();
- while (e.hasMoreElements() && next_index < ts.length)
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- ts[next_index++] = g;
- if (recurse && next_index != ts.length)
- next_index = g.enumerate(ts, next_index, true);
- }
- return next_index;
- }
-
- public int enumerate (ThreadGroup[] gs)
- {
- return enumerate (gs, 0, true);
- }
-
- public int enumerate (ThreadGroup[] gs, boolean recurse)
- {
- return enumerate (gs, 0, recurse);
- }
-
- public final int getMaxPriority ()
- {
- return maxpri;
- }
-
- public final String getName ()
- {
- return name;
- }
-
- public final ThreadGroup getParent ()
- {
- return parent;
- }
-
- // JDK 1.2.
- // public void interrupt ();
-
- public final boolean isDaemon ()
- {
- return daemon_flag;
- }
-
- public synchronized boolean isDestroyed ()
- {
- return destroyed_flag;
- }
-
- private final void list (String indentation)
- {
- System.out.print(indentation);
- System.out.println(toString ());
- String sub = indentation + " ";
- Enumeration e = threads.elements();
- while (e.hasMoreElements())
- {
- Thread t = (Thread) e.nextElement();
- System.out.print(sub);
- System.out.println(t.toString());
- }
- e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- g.list(sub);
- }
- }
-
- public void list ()
- {
- list ("");
- }
-
- public final boolean parentOf (ThreadGroup g)
- {
- while (g != null)
- {
- if (this == g)
- return true;
- g = g.parent;
- }
- return false;
- }
-
- // Deprecated in 1.2.
- public final void resume ()
- {
- checkAccess ();
- Enumeration e = threads.elements();
- while (e.hasMoreElements())
- {
- Thread t = (Thread) e.nextElement();
- t.resume();
- }
- e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- g.resume();
- }
- }
-
- public final void setDaemon (boolean daemon)
- {
- checkAccess ();
- daemon_flag = daemon;
- // FIXME: the docs don't say you are supposed to do this. But
- // they don't say you aren't, either.
- if (groups.size() == 0 && threads.size() == 0)
- destroy ();
- }
-
- public final void setMaxPriority (int pri)
- {
- checkAccess ();
-
- // FIXME: JDK 1.2 behaviour is different: if the newMaxPriority
- // argument is < MIN_PRIORITY or > MAX_PRIORITY an
- // IllegalArgumentException should be thrown.
- if (pri >= Thread.MIN_PRIORITY && pri <= maxpri)
- {
- maxpri = pri;
-
- Enumeration e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- g.setMaxPriority (maxpri);
- }
- }
- }
-
- // Deprecated in 1.2.
- public final void stop ()
- {
- checkAccess ();
- Enumeration e = threads.elements();
- while (e.hasMoreElements())
- {
- Thread t = (Thread) e.nextElement();
- t.stop();
- }
- e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- g.stop();
- }
- }
-
- // Deprecated in 1.2.
- public final void suspend ()
- {
- checkAccess ();
- Enumeration e = threads.elements();
- while (e.hasMoreElements())
- {
- Thread t = (Thread) e.nextElement();
- t.suspend();
- }
- e = groups.elements();
- while (e.hasMoreElements())
- {
- ThreadGroup g = (ThreadGroup) e.nextElement();
- g.suspend();
- }
- }
-
- // This constructor appears in the Class Libraries book but in
- // neither the Language Spec nor the 1.2 docs.
- public ThreadGroup ()
- {
- this (Thread.currentThread().getThreadGroup(), null);
- }
-
- public ThreadGroup (String n)
- {
- this (Thread.currentThread().getThreadGroup(), n);
- }
-
- public ThreadGroup (ThreadGroup p, String n)
- {
- checkAccess ();
- if (p == null)
- throw new NullPointerException ();
- if (p.destroyed_flag)
- throw new IllegalArgumentException ();
-
- parent = p;
- name = n;
- maxpri = p.maxpri;
- threads = new Vector ();
- groups = new Vector ();
- daemon_flag = p.daemon_flag;
- destroyed_flag = false;
- p.groups.addElement(this);
- }
-
- // This is the constructor that is used when creating the very first
- // ThreadGroup. We have an arbitrary argument here just to
- // differentiate this constructor from the others.
- private ThreadGroup (int dummy)
- {
- parent = null;
- name = "main";
- maxpri = Thread.MAX_PRIORITY;
- threads = new Vector ();
- groups = new Vector ();
- daemon_flag = false;
- destroyed_flag = false;
- }
-
- public String toString ()
- {
- // Language Spec and Class Libraries book disagree a bit here. We
- // follow the Spec, but add "ThreadGroup" per the book. We
- // include "java.lang" based on the list() example in the Class
- // Libraries book.
- return "java.lang.ThreadGroup[name=" + name + ",maxpri=" + maxpri + "]";
- }
-
- public void uncaughtException (Thread thread, Throwable e)
- {
- // FIXME: in 1.2, this has different semantics. In particular if
- // this group has a parent, the exception is passed upwards and
- // not processed locally.
- if (! (e instanceof ThreadDeath))
- {
- e.printStackTrace();
- }
- }
-
- // Private data.
- private ThreadGroup parent;
- private String name;
- private int maxpri;
- private Vector threads;
- private Vector groups;
- private boolean daemon_flag;
- private boolean destroyed_flag;
-}
diff --git a/libjava/java/lang/Throwable.java b/libjava/java/lang/Throwable.java
deleted file mode 100644
index 5ae39ae2594..00000000000
--- a/libjava/java/lang/Throwable.java
+++ /dev/null
@@ -1,80 +0,0 @@
-// Throwable.java - Superclass for all exceptions.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.Serializable;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 30, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Sufficient for compiled code, but methods applicable to
- * bytecode not implemented. JDK 1.1.
- */
-
-public class Throwable implements Serializable
-{
- public Throwable fillInStackTrace ()
- {
- return this;
- }
-
- public String getLocalizedMessage ()
- {
- return getMessage ();
- }
-
- public String getMessage ()
- {
- return detailMessage;
- }
-
- public void printStackTrace ()
- {
- printStackTrace (System.err);
- }
-
- public void printStackTrace (PrintStream s)
- {
- // No stack trace, but we can still print this object.
- s.println(toString ());
- }
-
- public void printStackTrace (PrintWriter wr)
- {
- // No stack trace, but we can still print this object.
- wr.println(toString ());
- }
-
- public Throwable ()
- {
- detailMessage = null;
- }
-
- public Throwable (String message)
- {
- detailMessage = message;
- }
-
- public String toString ()
- {
- return ((detailMessage == null)
- ? getClass().getName()
- : getClass().getName() + ": " + getMessage ());
- }
-
- // Name of this field comes from serialization spec.
- private String detailMessage;
-}
diff --git a/libjava/java/lang/UnknownError.java b/libjava/java/lang/UnknownError.java
deleted file mode 100644
index edf050c77ec..00000000000
--- a/libjava/java/lang/UnknownError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// UnknownError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class UnknownError extends VirtualMachineError
-{
- public UnknownError ()
- {
- super ();
- }
-
- public UnknownError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/UnsatisfiedLinkError.java b/libjava/java/lang/UnsatisfiedLinkError.java
deleted file mode 100644
index 63930f5555f..00000000000
--- a/libjava/java/lang/UnsatisfiedLinkError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// UnsatisfiedLinkError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class UnsatisfiedLinkError extends LinkageError
-{
- public UnsatisfiedLinkError ()
- {
- super ();
- }
-
- public UnsatisfiedLinkError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/UnsupportedOperationException.java b/libjava/java/lang/UnsupportedOperationException.java
deleted file mode 100644
index d2bee88622a..00000000000
--- a/libjava/java/lang/UnsupportedOperationException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class UnsupportedOperationException extends RuntimeException
-{
- public UnsupportedOperationException()
- {
- super();
- }
-
- public UnsupportedOperationException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/lang/VerifyError.java b/libjava/java/lang/VerifyError.java
deleted file mode 100644
index 69d6a69baf5..00000000000
--- a/libjava/java/lang/VerifyError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// VerifyError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class VerifyError extends LinkageError
-{
- public VerifyError ()
- {
- super ();
- }
-
- public VerifyError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/VirtualMachineError.java b/libjava/java/lang/VirtualMachineError.java
deleted file mode 100644
index dcc907c5d03..00000000000
--- a/libjava/java/lang/VirtualMachineError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// VirtualMachineError.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public abstract class VirtualMachineError extends Error
-{
- public VirtualMachineError ()
- {
- super ();
- }
-
- public VirtualMachineError (String msg)
- {
- super (msg);
- }
-}
diff --git a/libjava/java/lang/Void.java b/libjava/java/lang/Void.java
deleted file mode 100644
index 5390552a622..00000000000
--- a/libjava/java/lang/Void.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date April 18, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Complete.
- */
-
-public final class Void
-{
- // This initialization is seemingly circular, but it is accepted
- // by javac, and is handled specially by gcc.
- public final static Class TYPE = void.class;
-
- // Don't allow Void objects to be made.
- private Void ()
- {
- }
-}
diff --git a/libjava/java/lang/dtoa.c b/libjava/java/lang/dtoa.c
deleted file mode 100644
index fae45c5aeb4..00000000000
--- a/libjava/java/lang/dtoa.c
+++ /dev/null
@@ -1,906 +0,0 @@
-/****************************************************************
- *
- * The author of this software is David M. Gay.
- *
- * Copyright (c) 1991 by AT&T.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software and in all copies of the supporting
- * documentation for such software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
- * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- ***************************************************************/
-
-/* Please send bug reports to
- David M. Gay
- AT&T Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-2070
- U.S.A.
- dmg@research.att.com or research!dmg
- */
-
-#include "mprec.h"
-
-static int
-_DEFUN (quorem,
- (b, S),
- _Jv_Bigint * b _AND _Jv_Bigint * S)
-{
- int n;
- long borrow, y;
- unsigned long carry, q, ys;
- unsigned long *bx, *bxe, *sx, *sxe;
-#ifdef Pack_32
- long z;
- unsigned long si, zs;
-#endif
-
- n = S->_wds;
-#ifdef DEBUG
- /*debug*/ if (b->_wds > n)
- /*debug*/ Bug ("oversize b in quorem");
-#endif
- if (b->_wds < n)
- return 0;
- sx = S->_x;
- sxe = sx + --n;
- bx = b->_x;
- bxe = bx + n;
- q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
-#ifdef DEBUG
- /*debug*/ if (q > 9)
- /*debug*/ Bug ("oversized quotient in quorem");
-#endif
- if (q)
- {
- borrow = 0;
- carry = 0;
- do
- {
-#ifdef Pack_32
- si = *sx++;
- ys = (si & 0xffff) * q + carry;
- zs = (si >> 16) * q + (ys >> 16);
- carry = zs >> 16;
- y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- z = (*bx >> 16) - (zs & 0xffff) + borrow;
- borrow = z >> 16;
- Sign_Extend (borrow, z);
- Storeinc (bx, z, y);
-#else
- ys = *sx++ * q + carry;
- carry = ys >> 16;
- y = *bx - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- *bx++ = y & 0xffff;
-#endif
- }
- while (sx <= sxe);
- if (!*bxe)
- {
- bx = b->_x;
- while (--bxe > bx && !*bxe)
- --n;
- b->_wds = n;
- }
- }
- if (cmp (b, S) >= 0)
- {
- q++;
- borrow = 0;
- carry = 0;
- bx = b->_x;
- sx = S->_x;
- do
- {
-#ifdef Pack_32
- si = *sx++;
- ys = (si & 0xffff) + carry;
- zs = (si >> 16) + (ys >> 16);
- carry = zs >> 16;
- y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- z = (*bx >> 16) - (zs & 0xffff) + borrow;
- borrow = z >> 16;
- Sign_Extend (borrow, z);
- Storeinc (bx, z, y);
-#else
- ys = *sx++ + carry;
- carry = ys >> 16;
- y = *bx - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- *bx++ = y & 0xffff;
-#endif
- }
- while (sx <= sxe);
- bx = b->_x;
- bxe = bx + n;
- if (!*bxe)
- {
- while (--bxe > bx && !*bxe)
- --n;
- b->_wds = n;
- }
- }
- return q;
-}
-
-#ifdef DEBUG
-#include <stdio.h>
-
-void
-print (_Jv_Bigint * b)
-{
- int i, wds;
- unsigned long *x, y;
- wds = b->_wds;
- x = b->_x+wds;
- i = 0;
- do
- {
- x--;
- fprintf (stderr, "%08x", *x);
- }
- while (++i < wds);
- fprintf (stderr, "\n");
-}
-#endif
-
-/* dtoa for IEEE arithmetic (dmg): convert double to ASCII string.
- *
- * Inspired by "How to Print Floating-Point Numbers Accurately" by
- * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101].
- *
- * Modifications:
- * 1. Rather than iterating, we use a simple numeric overestimate
- * to determine k = floor(log10(d)). We scale relevant
- * quantities using O(log2(k)) rather than O(k) multiplications.
- * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't
- * try to generate digits strictly left to right. Instead, we
- * compute with fewer bits and propagate the carry if necessary
- * when rounding the final digit up. This is often faster.
- * 3. Under the assumption that input will be rounded nearest,
- * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22.
- * That is, we allow equality in stopping tests when the
- * round-nearest rule will give the same floating-point value
- * as would satisfaction of the stopping test with strict
- * inequality.
- * 4. We remove common factors of powers of 2 from relevant
- * quantities.
- * 5. When converting floating-point integers less than 1e16,
- * we use floating-point arithmetic rather than resorting
- * to multiple-precision integers.
- * 6. When asked to produce fewer than 15 digits, we first try
- * to get by with floating-point arithmetic; we resort to
- * multiple-precision integer arithmetic only if we cannot
- * guarantee that the floating-point calculation has given
- * the correctly rounded result. For k requested digits and
- * "uniformly" distributed input, the probability is
- * something like 10^(k-15) that we must resort to the long
- * calculation.
- */
-
-
-char *
-_DEFUN (_dtoa_r,
- (ptr, _d, mode, ndigits, decpt, sign, rve, float_type),
- struct _Jv_reent *ptr _AND
- double _d _AND
- int mode _AND
- int ndigits _AND
- int *decpt _AND
- int *sign _AND
- char **rve _AND
- int float_type)
-{
- /*
- float_type == 0 for double precision, 1 for float.
-
- Arguments ndigits, decpt, sign are similar to those
- of ecvt and fcvt; trailing zeros are suppressed from
- the returned string. If not null, *rve is set to point
- to the end of the return value. If d is +-Infinity or NaN,
- then *decpt is set to 9999.
-
- mode:
- 0 ==> shortest string that yields d when read in
- and rounded to nearest.
- 1 ==> like 0, but with Steele & White stopping rule;
- e.g. with IEEE P754 arithmetic , mode 0 gives
- 1e23 whereas mode 1 gives 9.999999999999999e22.
- 2 ==> max(1,ndigits) significant digits. This gives a
- return value similar to that of ecvt, except
- that trailing zeros are suppressed.
- 3 ==> through ndigits past the decimal point. This
- gives a return value similar to that from fcvt,
- except that trailing zeros are suppressed, and
- ndigits can be negative.
- 4-9 should give the same return values as 2-3, i.e.,
- 4 <= mode <= 9 ==> same return as mode
- 2 + (mode & 1). These modes are mainly for
- debugging; often they run slower but sometimes
- faster than modes 2-3.
- 4,5,8,9 ==> left-to-right digit generation.
- 6-9 ==> don't try fast floating-point estimate
- (if applicable).
-
- > 16 ==> Floating-point arg is treated as single precision.
-
- Values of mode other than 0-9 are treated as mode 0.
-
- Sufficient space is allocated to the return value
- to hold the suppressed trailing zeros.
- */
-
- int bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1, j, j1, k, k0,
- k_check, leftright, m2, m5, s2, s5, spec_case, try_quick;
- union double_union d, d2, eps;
- long L;
-#ifndef Sudden_Underflow
- int denorm;
- unsigned long x;
-#endif
- _Jv_Bigint *b, *b1, *delta, *mlo, *mhi, *S;
- double ds;
- char *s, *s0;
-
- d.d = _d;
-
- if (ptr->_result)
- {
- ptr->_result->_k = ptr->_result_k;
- ptr->_result->_maxwds = 1 << ptr->_result_k;
- Bfree (ptr, ptr->_result);
- ptr->_result = 0;
- }
-
- if (word0 (d) & Sign_bit)
- {
- /* set sign for everything, including 0's and NaNs */
- *sign = 1;
- word0 (d) &= ~Sign_bit; /* clear sign bit */
- }
- else
- *sign = 0;
-
-#if defined(IEEE_Arith) + defined(VAX)
-#ifdef IEEE_Arith
- if ((word0 (d) & Exp_mask) == Exp_mask)
-#else
- if (word0 (d) == 0x8000)
-#endif
- {
- /* Infinity or NaN */
- *decpt = 9999;
- s =
-#ifdef IEEE_Arith
- !word1 (d) && !(word0 (d) & 0xfffff) ? "Infinity" :
-#endif
- "NaN";
- if (rve)
- *rve =
-#ifdef IEEE_Arith
- s[3] ? s + 8 :
-#endif
- s + 3;
- return s;
- }
-#endif
-#ifdef IBM
- d.d += 0; /* normalize */
-#endif
- if (!d.d)
- {
- *decpt = 1;
- s = "0";
- if (rve)
- *rve = s + 1;
- return s;
- }
-
- b = d2b (ptr, d.d, &be, &bbits);
-#ifdef Sudden_Underflow
- i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1));
-#else
- if ((i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1))))
- {
-#endif
- d2.d = d.d;
- word0 (d2) &= Frac_mask1;
- word0 (d2) |= Exp_11;
-#ifdef IBM
- if (j = 11 - hi0bits (word0 (d2) & Frac_mask))
- d2.d /= 1 << j;
-#endif
-
- /* log(x) ~=~ log(1.5) + (x-1.5)/1.5
- * log10(x) = log(x) / log(10)
- * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10))
- * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2)
- *
- * This suggests computing an approximation k to log10(d) by
- *
- * k = (i - Bias)*0.301029995663981
- * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 );
- *
- * We want k to be too large rather than too small.
- * The error in the first-order Taylor series approximation
- * is in our favor, so we just round up the constant enough
- * to compensate for any error in the multiplication of
- * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077,
- * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14,
- * adding 1e-13 to the constant term more than suffices.
- * Hence we adjust the constant term to 0.1760912590558.
- * (We could get a more accurate k by invoking log10,
- * but this is probably not worthwhile.)
- */
-
- i -= Bias;
-#ifdef IBM
- i <<= 2;
- i += j;
-#endif
-#ifndef Sudden_Underflow
- denorm = 0;
- }
- else
- {
- /* d is denormalized */
-
- i = bbits + be + (Bias + (P - 1) - 1);
- x = i > 32 ? word0 (d) << (64 - i) | word1 (d) >> (i - 32)
- : word1 (d) << (32 - i);
- d2.d = x;
- word0 (d2) -= 31 * Exp_msk1; /* adjust exponent */
- i -= (Bias + (P - 1) - 1) + 1;
- denorm = 1;
- }
-#endif
- ds = (d2.d - 1.5) * 0.289529654602168 + 0.1760912590558 + i * 0.301029995663981;
- k = (int) ds;
- if (ds < 0. && ds != k)
- k--; /* want k = floor(ds) */
- k_check = 1;
- if (k >= 0 && k <= Ten_pmax)
- {
- if (d.d < tens[k])
- k--;
- k_check = 0;
- }
- j = bbits - i - 1;
- if (j >= 0)
- {
- b2 = 0;
- s2 = j;
- }
- else
- {
- b2 = -j;
- s2 = 0;
- }
- if (k >= 0)
- {
- b5 = 0;
- s5 = k;
- s2 += k;
- }
- else
- {
- b2 -= k;
- b5 = -k;
- s5 = 0;
- }
- if (mode < 0 || mode > 9)
- mode = 0;
- try_quick = 1;
- if (mode > 5)
- {
- mode -= 4;
- try_quick = 0;
- }
- leftright = 1;
- switch (mode)
- {
- case 0:
- case 1:
- ilim = ilim1 = -1;
- i = 18;
- ndigits = 0;
- break;
- case 2:
- leftright = 0;
- /* no break */
- case 4:
- if (ndigits <= 0)
- ndigits = 1;
- ilim = ilim1 = i = ndigits;
- break;
- case 3:
- leftright = 0;
- /* no break */
- case 5:
- i = ndigits + k + 1;
- ilim = i;
- ilim1 = i - 1;
- if (i <= 0)
- i = 1;
- }
- j = sizeof (unsigned long);
- for (ptr->_result_k = 0; (int) (sizeof (_Jv_Bigint) - sizeof (unsigned long)) + j <= i;
- j <<= 1)
- ptr->_result_k++;
- ptr->_result = Balloc (ptr, ptr->_result_k);
- s = s0 = (char *) ptr->_result;
-
- if (ilim >= 0 && ilim <= Quick_max && try_quick)
- {
- /* Try to get by with floating-point arithmetic. */
-
- i = 0;
- d2.d = d.d;
- k0 = k;
- ilim0 = ilim;
- ieps = 2; /* conservative */
- if (k > 0)
- {
- ds = tens[k & 0xf];
- j = k >> 4;
- if (j & Bletch)
- {
- /* prevent overflows */
- j &= Bletch - 1;
- d.d /= bigtens[n_bigtens - 1];
- ieps++;
- }
- for (; j; j >>= 1, i++)
- if (j & 1)
- {
- ieps++;
- ds *= bigtens[i];
- }
- d.d /= ds;
- }
- else if ((j1 = -k))
- {
- d.d *= tens[j1 & 0xf];
- for (j = j1 >> 4; j; j >>= 1, i++)
- if (j & 1)
- {
- ieps++;
- d.d *= bigtens[i];
- }
- }
- if (k_check && d.d < 1. && ilim > 0)
- {
- if (ilim1 <= 0)
- goto fast_failed;
- ilim = ilim1;
- k--;
- d.d *= 10.;
- ieps++;
- }
- eps.d = ieps * d.d + 7.;
- word0 (eps) -= (P - 1) * Exp_msk1;
- if (ilim == 0)
- {
- S = mhi = 0;
- d.d -= 5.;
- if (d.d > eps.d)
- goto one_digit;
- if (d.d < -eps.d)
- goto no_digits;
- goto fast_failed;
- }
-#ifndef No_leftright
- if (leftright)
- {
- /* Use Steele & White method of only
- * generating digits needed.
- */
- eps.d = 0.5 / tens[ilim - 1] - eps.d;
- for (i = 0;;)
- {
- L = d.d;
- d.d -= L;
- *s++ = '0' + (int) L;
- if (d.d < eps.d)
- goto ret1;
- if (1. - d.d < eps.d)
- goto bump_up;
- if (++i >= ilim)
- break;
- eps.d *= 10.;
- d.d *= 10.;
- }
- }
- else
- {
-#endif
- /* Generate ilim digits, then fix them up. */
- eps.d *= tens[ilim - 1];
- for (i = 1;; i++, d.d *= 10.)
- {
- L = d.d;
- d.d -= L;
- *s++ = '0' + (int) L;
- if (i == ilim)
- {
- if (d.d > 0.5 + eps.d)
- goto bump_up;
- else if (d.d < 0.5 - eps.d)
- {
- while (*--s == '0');
- s++;
- goto ret1;
- }
- break;
- }
- }
-#ifndef No_leftright
- }
-#endif
- fast_failed:
- s = s0;
- d.d = d2.d;
- k = k0;
- ilim = ilim0;
- }
-
- /* Do we have a "small" integer? */
-
- if (be >= 0 && k <= Int_max)
- {
- /* Yes. */
- ds = tens[k];
- if (ndigits < 0 && ilim <= 0)
- {
- S = mhi = 0;
- if (ilim < 0 || d.d <= 5 * ds)
- goto no_digits;
- goto one_digit;
- }
- for (i = 1;; i++)
- {
- L = d.d / ds;
- d.d -= L * ds;
-#ifdef Check_FLT_ROUNDS
- /* If FLT_ROUNDS == 2, L will usually be high by 1 */
- if (d.d < 0)
- {
- L--;
- d.d += ds;
- }
-#endif
- *s++ = '0' + (int) L;
- if (i == ilim)
- {
- d.d += d.d;
- if (d.d > ds || (d.d == ds && L & 1))
- {
- bump_up:
- while (*--s == '9')
- if (s == s0)
- {
- k++;
- *s = '0';
- break;
- }
- ++*s++;
- }
- break;
- }
- if (!(d.d *= 10.))
- break;
- }
- goto ret1;
- }
-
- m2 = b2;
- m5 = b5;
- mhi = mlo = 0;
- if (leftright)
- {
- if (mode < 2)
- {
- i =
-#ifndef Sudden_Underflow
- denorm ? be + (Bias + (P - 1) - 1 + 1) :
-#endif
-#ifdef IBM
- 1 + 4 * P - 3 - bbits + ((bbits + be - 1) & 3);
-#else
- 1 + P - bbits;
-#endif
- }
- else
- {
- j = ilim - 1;
- if (m5 >= j)
- m5 -= j;
- else
- {
- s5 += j -= m5;
- b5 += j;
- m5 = 0;
- }
- if ((i = ilim) < 0)
- {
- m2 -= i;
- i = 0;
- }
- }
- b2 += i;
- s2 += i;
- mhi = i2b (ptr, 1);
- }
- if (m2 > 0 && s2 > 0)
- {
- i = m2 < s2 ? m2 : s2;
- b2 -= i;
- m2 -= i;
- s2 -= i;
- }
- if (b5 > 0)
- {
- if (leftright)
- {
- if (m5 > 0)
- {
- mhi = pow5mult (ptr, mhi, m5);
- b1 = mult (ptr, mhi, b);
- Bfree (ptr, b);
- b = b1;
- }
- if ((j = b5 - m5))
- b = pow5mult (ptr, b, j);
- }
- else
- b = pow5mult (ptr, b, b5);
- }
- S = i2b (ptr, 1);
- if (s5 > 0)
- S = pow5mult (ptr, S, s5);
-
- /* Check for special case that d is a normalized power of 2. */
-
- if (mode < 2)
- {
- if (!word1 (d) && !(word0 (d) & Bndry_mask)
-#ifndef Sudden_Underflow
- && word0 (d) & Exp_mask
-#endif
- )
- {
- /* The special case */
- b2 += Log2P;
- s2 += Log2P;
- spec_case = 1;
- }
- else
- spec_case = 0;
- }
-
- /* Arrange for convenient computation of quotients:
- * shift left if necessary so divisor has 4 leading 0 bits.
- *
- * Perhaps we should just compute leading 28 bits of S once
- * and for all and pass them and a shift to quorem, so it
- * can do shifts and ors to compute the numerator for q.
- */
-
-#ifdef Pack_32
- if ((i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0x1f))
- i = 32 - i;
-#else
- if ((i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0xf))
- i = 16 - i;
-#endif
- if (i > 4)
- {
- i -= 4;
- b2 += i;
- m2 += i;
- s2 += i;
- }
- else if (i < 4)
- {
- i += 28;
- b2 += i;
- m2 += i;
- s2 += i;
- }
- if (b2 > 0)
- b = lshift (ptr, b, b2);
- if (s2 > 0)
- S = lshift (ptr, S, s2);
- if (k_check)
- {
- if (cmp (b, S) < 0)
- {
- k--;
- b = multadd (ptr, b, 10, 0); /* we botched the k estimate */
- if (leftright)
- mhi = multadd (ptr, mhi, 10, 0);
- ilim = ilim1;
- }
- }
- if (ilim <= 0 && mode > 2)
- {
- if (ilim < 0 || cmp (b, S = multadd (ptr, S, 5, 0)) <= 0)
- {
- /* no digits, fcvt style */
- no_digits:
- k = -1 - ndigits;
- goto ret;
- }
- one_digit:
- *s++ = '1';
- k++;
- goto ret;
- }
- if (leftright)
- {
- if (m2 > 0)
- mhi = lshift (ptr, mhi, m2);
-
- /* Single precision case, */
- if (float_type)
- mhi = lshift (ptr, mhi, 29);
-
- /* Compute mlo -- check for special case
- * that d is a normalized power of 2.
- */
-
- mlo = mhi;
- if (spec_case)
- {
- mhi = Balloc (ptr, mhi->_k);
- Bcopy (mhi, mlo);
- mhi = lshift (ptr, mhi, Log2P);
- }
-
- for (i = 1;; i++)
- {
- dig = quorem (b, S) + '0';
- /* Do we yet have the shortest decimal string
- * that will round to d?
- */
- j = cmp (b, mlo);
- delta = diff (ptr, S, mhi);
- j1 = delta->_sign ? 1 : cmp (b, delta);
- Bfree (ptr, delta);
-#ifndef ROUND_BIASED
- if (j1 == 0 && !mode && !(word1 (d) & 1))
- {
- if (dig == '9')
- goto round_9_up;
- if (j > 0)
- dig++;
- *s++ = dig;
- goto ret;
- }
-#endif
- if (j < 0 || (j == 0 && !mode
-#ifndef ROUND_BIASED
- && !(word1 (d) & 1)
-#endif
- ))
- {
- if (j1 > 0)
- {
- b = lshift (ptr, b, 1);
- j1 = cmp (b, S);
- if ((j1 > 0 || (j1 == 0 && dig & 1))
- && dig++ == '9')
- goto round_9_up;
- }
- *s++ = dig;
- goto ret;
- }
- if (j1 > 0)
- {
- if (dig == '9')
- { /* possible if i == 1 */
- round_9_up:
- *s++ = '9';
- goto roundoff;
- }
- *s++ = dig + 1;
- goto ret;
- }
- *s++ = dig;
- if (i == ilim)
- break;
- b = multadd (ptr, b, 10, 0);
- if (mlo == mhi)
- mlo = mhi = multadd (ptr, mhi, 10, 0);
- else
- {
- mlo = multadd (ptr, mlo, 10, 0);
- mhi = multadd (ptr, mhi, 10, 0);
- }
- }
- }
- else
- for (i = 1;; i++)
- {
- *s++ = dig = quorem (b, S) + '0';
- if (i >= ilim)
- break;
- b = multadd (ptr, b, 10, 0);
- }
-
- /* Round off last digit */
-
- b = lshift (ptr, b, 1);
- j = cmp (b, S);
- if (j > 0 || (j == 0 && dig & 1))
- {
- roundoff:
- while (*--s == '9')
- if (s == s0)
- {
- k++;
- *s++ = '1';
- goto ret;
- }
- ++*s++;
- }
- else
- {
- while (*--s == '0');
- s++;
- }
-ret:
- Bfree (ptr, S);
- if (mhi)
- {
- if (mlo && mlo != mhi)
- Bfree (ptr, mlo);
- Bfree (ptr, mhi);
- }
-ret1:
- Bfree (ptr, b);
- *s = 0;
- *decpt = k + 1;
- if (rve)
- *rve = s;
- return s0;
-}
-
-
-_VOID
-_DEFUN (_dtoa,
- (_d, mode, ndigits, decpt, sign, rve, buf, float_type),
- double _d _AND
- int mode _AND
- int ndigits _AND
- int *decpt _AND
- int *sign _AND
- char **rve _AND
- char *buf _AND
- int float_type)
-{
- struct _Jv_reent reent;
- char *p;
- memset (&reent, 0, sizeof reent);
-
- p = _dtoa_r (&reent, _d, mode, ndigits, decpt, sign, rve, float_type);
- strcpy (buf, p);
-
- return;
-}
-
-
diff --git a/libjava/java/lang/e_acos.c b/libjava/java/lang/e_acos.c
deleted file mode 100644
index 319b1d56fa0..00000000000
--- a/libjava/java/lang/e_acos.c
+++ /dev/null
@@ -1,111 +0,0 @@
-
-/* @(#)e_acos.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __ieee754_acos(x)
- * Method :
- * acos(x) = pi/2 - asin(x)
- * acos(-x) = pi/2 + asin(x)
- * For |x|<=0.5
- * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c)
- * For x>0.5
- * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2)))
- * = 2asin(sqrt((1-x)/2))
- * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z)
- * = 2f + (2c + 2s*z*R(z))
- * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term
- * for f so that f+c ~ sqrt(z).
- * For x<-0.5
- * acos(x) = pi - 2asin(sqrt((1-|x|)/2))
- * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z)
- *
- * Special cases:
- * if x is NaN, return x itself;
- * if |x|>1, return NaN with invalid signal.
- *
- * Function needed: sqrt
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-one= 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
-pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
-pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
-pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
-pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
-pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
-pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
-pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
-pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
-pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
-qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
-qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
-qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
-qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
-
-#ifdef __STDC__
- double __ieee754_acos(double x)
-#else
- double __ieee754_acos(x)
- double x;
-#endif
-{
- double z,p,q,r,w,s,c,df;
- __int32_t hx,ix;
- GET_HIGH_WORD(hx,x);
- ix = hx&0x7fffffff;
- if(ix>=0x3ff00000) { /* |x| >= 1 */
- __uint32_t lx;
- GET_LOW_WORD(lx,x);
- if(((ix-0x3ff00000)|lx)==0) { /* |x|==1 */
- if(hx>0) return 0.0; /* acos(1) = 0 */
- else return pi+2.0*pio2_lo; /* acos(-1)= pi */
- }
- return (x-x)/(x-x); /* acos(|x|>1) is NaN */
- }
- if(ix<0x3fe00000) { /* |x| < 0.5 */
- if(ix<=0x3c600000) return pio2_hi+pio2_lo;/*if|x|<2**-57*/
- z = x*x;
- p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
- q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
- r = p/q;
- return pio2_hi - (x - (pio2_lo-x*r));
- } else if (hx<0) { /* x < -0.5 */
- z = (one+x)*0.5;
- p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
- q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
- s = __ieee754_sqrt(z);
- r = p/q;
- w = r*s-pio2_lo;
- return pi - 2.0*(s+w);
- } else { /* x > 0.5 */
- z = (one-x)*0.5;
- s = __ieee754_sqrt(z);
- df = s;
- SET_LOW_WORD(df,0);
- c = (z-df*df)/(s+df);
- p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
- q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
- r = p/q;
- w = r*s+c;
- return 2.0*(df+w);
- }
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_asin.c b/libjava/java/lang/e_asin.c
deleted file mode 100644
index 559f2884a26..00000000000
--- a/libjava/java/lang/e_asin.c
+++ /dev/null
@@ -1,120 +0,0 @@
-
-/* @(#)e_asin.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __ieee754_asin(x)
- * Method :
- * Since asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
- * we approximate asin(x) on [0,0.5] by
- * asin(x) = x + x*x^2*R(x^2)
- * where
- * R(x^2) is a rational approximation of (asin(x)-x)/x^3
- * and its remez error is bounded by
- * |(asin(x)-x)/x^3 - R(x^2)| < 2^(-58.75)
- *
- * For x in [0.5,1]
- * asin(x) = pi/2-2*asin(sqrt((1-x)/2))
- * Let y = (1-x), z = y/2, s := sqrt(z), and pio2_hi+pio2_lo=pi/2;
- * then for x>0.98
- * asin(x) = pi/2 - 2*(s+s*z*R(z))
- * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo)
- * For x<=0.98, let pio4_hi = pio2_hi/2, then
- * f = hi part of s;
- * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z)
- * and
- * asin(x) = pi/2 - 2*(s+s*z*R(z))
- * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo)
- * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c))
- *
- * Special cases:
- * if x is NaN, return x itself;
- * if |x|>1, return NaN with invalid signal.
- *
- */
-
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
-huge = 1.000e+300,
-pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
-pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
-pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
- /* coefficient for R(x^2) */
-pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
-pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
-pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
-pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
-pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
-pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
-qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
-qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
-qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
-qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
-
-#ifdef __STDC__
- double __ieee754_asin(double x)
-#else
- double __ieee754_asin(x)
- double x;
-#endif
-{
- double t,w,p,q,c,r,s;
- __int32_t hx,ix;
- GET_HIGH_WORD(hx,x);
- ix = hx&0x7fffffff;
- if(ix>= 0x3ff00000) { /* |x|>= 1 */
- __uint32_t lx;
- GET_LOW_WORD(lx,x);
- if(((ix-0x3ff00000)|lx)==0)
- /* asin(1)=+-pi/2 with inexact */
- return x*pio2_hi+x*pio2_lo;
- return (x-x)/(x-x); /* asin(|x|>1) is NaN */
- } else if (ix<0x3fe00000) { /* |x|<0.5 */
- if(ix<0x3e400000) { /* if |x| < 2**-27 */
- if(huge+x>one) return x;/* return x with inexact if x!=0*/
- } else
- t = x*x;
- p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
- q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
- w = p/q;
- return x+x*w;
- }
- /* 1> |x|>= 0.5 */
- w = one-fabs(x);
- t = w*0.5;
- p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
- q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
- s = __ieee754_sqrt(t);
- if(ix>=0x3FEF3333) { /* if |x| > 0.975 */
- w = p/q;
- t = pio2_hi-(2.0*(s+s*w)-pio2_lo);
- } else {
- w = s;
- SET_LOW_WORD(w,0);
- c = (t-w*w)/(s+w);
- r = p/q;
- p = 2.0*s*r-(pio2_lo-2.0*c);
- q = pio4_hi-2.0*w;
- t = pio4_hi-(p-q);
- }
- if(hx>0) return t; else return -t;
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_atan2.c b/libjava/java/lang/e_atan2.c
deleted file mode 100644
index 8e9650f290d..00000000000
--- a/libjava/java/lang/e_atan2.c
+++ /dev/null
@@ -1,131 +0,0 @@
-
-/* @(#)e_atan2.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- *
- */
-
-/* __ieee754_atan2(y,x)
- * Method :
- * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x).
- * 2. Reduce x to positive by (if x and y are unexceptional):
- * ARG (x+iy) = arctan(y/x) ... if x > 0,
- * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0,
- *
- * Special cases:
- *
- * ATAN2((anything), NaN ) is NaN;
- * ATAN2(NAN , (anything) ) is NaN;
- * ATAN2(+-0, +(anything but NaN)) is +-0 ;
- * ATAN2(+-0, -(anything but NaN)) is +-pi ;
- * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2;
- * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ;
- * ATAN2(+-(anything but INF and NaN), -INF) is +-pi;
- * ATAN2(+-INF,+INF ) is +-pi/4 ;
- * ATAN2(+-INF,-INF ) is +-3pi/4;
- * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2;
- *
- * Constants:
- * The hexadecimal values are the intended ones for the following
- * constants. The decimal values may be used, provided that the
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-tiny = 1.0e-300,
-zero = 0.0,
-pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */
-pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */
-pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */
-pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
-
-#ifdef __STDC__
- double __ieee754_atan2(double y, double x)
-#else
- double __ieee754_atan2(y,x)
- double y,x;
-#endif
-{
- double z;
- __int32_t k,m,hx,hy,ix,iy;
- __uint32_t lx,ly;
-
- EXTRACT_WORDS(hx,lx,x);
- ix = hx&0x7fffffff;
- EXTRACT_WORDS(hy,ly,y);
- iy = hy&0x7fffffff;
- if(((ix|((lx|-lx)>>31))>0x7ff00000)||
- ((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */
- return x+y;
- if(((hx-0x3ff00000)|lx)==0) return atan(y); /* x=1.0 */
- m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
-
- /* when y = 0 */
- if((iy|ly)==0) {
- switch(m) {
- case 0:
- case 1: return y; /* atan(+-0,+anything)=+-0 */
- case 2: return pi+tiny;/* atan(+0,-anything) = pi */
- case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */
- }
- }
- /* when x = 0 */
- if((ix|lx)==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
-
- /* when x is INF */
- if(ix==0x7ff00000) {
- if(iy==0x7ff00000) {
- switch(m) {
- case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */
- case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */
- case 2: return 3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/
- case 3: return -3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/
- }
- } else {
- switch(m) {
- case 0: return zero ; /* atan(+...,+INF) */
- case 1: return -zero ; /* atan(-...,+INF) */
- case 2: return pi+tiny ; /* atan(+...,-INF) */
- case 3: return -pi-tiny ; /* atan(-...,-INF) */
- }
- }
- }
- /* when y is INF */
- if(iy==0x7ff00000) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
-
- /* compute y/x */
- k = (iy-ix)>>20;
- if(k > 60) z=pi_o_2+0.5*pi_lo; /* |y/x| > 2**60 */
- else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */
- else z=atan(fabs(y/x)); /* safe to do y/x */
- switch (m) {
- case 0: return z ; /* atan(+,+) */
- case 1: {
- __uint32_t zh;
- GET_HIGH_WORD(zh,z);
- SET_HIGH_WORD(z,zh ^ 0x80000000);
- }
- return z ; /* atan(-,+) */
- case 2: return pi-(z-pi_lo);/* atan(+,-) */
- default: /* case 3 */
- return (z-pi_lo)-pi;/* atan(-,-) */
- }
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_exp.c b/libjava/java/lang/e_exp.c
deleted file mode 100644
index ce093c61065..00000000000
--- a/libjava/java/lang/e_exp.c
+++ /dev/null
@@ -1,167 +0,0 @@
-
-/* @(#)e_exp.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __ieee754_exp(x)
- * Returns the exponential of x.
- *
- * Method
- * 1. Argument reduction:
- * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658.
- * Given x, find r and integer k such that
- *
- * x = k*ln2 + r, |r| <= 0.5*ln2.
- *
- * Here r will be represented as r = hi-lo for better
- * accuracy.
- *
- * 2. Approximation of exp(r) by a special rational function on
- * the interval [0,0.34658]:
- * Write
- * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ...
- * We use a special Reme algorithm on [0,0.34658] to generate
- * a polynomial of degree 5 to approximate R. The maximum error
- * of this polynomial approximation is bounded by 2**-59. In
- * other words,
- * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5
- * (where z=r*r, and the values of P1 to P5 are listed below)
- * and
- * | 5 | -59
- * | 2.0+P1*z+...+P5*z - R(z) | <= 2
- * | |
- * The computation of exp(r) thus becomes
- * 2*r
- * exp(r) = 1 + -------
- * R - r
- * r*R1(r)
- * = 1 + r + ----------- (for better accuracy)
- * 2 - R1(r)
- * where
- * 2 4 10
- * R1(r) = r - (P1*r + P2*r + ... + P5*r ).
- *
- * 3. Scale back to obtain exp(x):
- * From step 1, we have
- * exp(x) = 2^k * exp(r)
- *
- * Special cases:
- * exp(INF) is INF, exp(NaN) is NaN;
- * exp(-INF) is 0, and
- * for finite argument, only exp(0)=1 is exact.
- *
- * Accuracy:
- * according to an error analysis, the error is always less than
- * 1 ulp (unit in the last place).
- *
- * Misc. info.
- * For IEEE double
- * if x > 7.09782712893383973096e+02 then exp(x) overflow
- * if x < -7.45133219101941108420e+02 then exp(x) underflow
- *
- * Constants:
- * The hexadecimal values are the intended ones for the following
- * constants. The decimal values may be used, provided that the
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-one = 1.0,
-halF[2] = {0.5,-0.5,},
-huge = 1.0e+300,
-twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/
-o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
-u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */
-ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
- -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */
-ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
- -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */
-invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
-P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
-P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
-P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
-P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
-P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
-
-
-#ifdef __STDC__
- double __ieee754_exp(double x) /* default IEEE double exp */
-#else
- double __ieee754_exp(x) /* default IEEE double exp */
- double x;
-#endif
-{
- double y,hi,lo,c,t;
- __int32_t k,xsb;
- __uint32_t hx;
-
- GET_HIGH_WORD(hx,x);
- xsb = (hx>>31)&1; /* sign bit of x */
- hx &= 0x7fffffff; /* high word of |x| */
-
- /* filter out non-finite argument */
- if(hx >= 0x40862E42) { /* if |x|>=709.78... */
- if(hx>=0x7ff00000) {
- __uint32_t lx;
- GET_LOW_WORD(lx,x);
- if(((hx&0xfffff)|lx)!=0)
- return x+x; /* NaN */
- else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */
- }
- if(x > o_threshold) return huge*huge; /* overflow */
- if(x < u_threshold) return twom1000*twom1000; /* underflow */
- }
-
- /* argument reduction */
- if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
- if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
- hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
- } else {
- k = invln2*x+halF[xsb];
- t = k;
- hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
- lo = t*ln2LO[0];
- }
- x = hi - lo;
- }
- else if(hx < 0x3e300000) { /* when |x|<2**-28 */
- if(huge+x>one) return one+x;/* trigger inexact */
- }
- else k = 0;
-
- /* x is now in primary range */
- t = x*x;
- c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
- if(k==0) return one-((x*c)/(c-2.0)-x);
- else y = one-((lo-(x*c)/(2.0-c))-hi);
- if(k >= -1021) {
- __uint32_t hy;
- GET_HIGH_WORD(hy,y);
- SET_HIGH_WORD(y,hy+(k<<20)); /* add k to y's exponent */
- return y;
- } else {
- __uint32_t hy;
- GET_HIGH_WORD(hy,y);
- SET_HIGH_WORD(y,hy+((k+1000)<<20)); /* add k to y's exponent */
- return y*twom1000;
- }
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_fmod.c b/libjava/java/lang/e_fmod.c
deleted file mode 100644
index f9739eec25d..00000000000
--- a/libjava/java/lang/e_fmod.c
+++ /dev/null
@@ -1,140 +0,0 @@
-
-/* @(#)e_fmod.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * __ieee754_fmod(x,y)
- * Return x mod y in exact arithmetic
- * Method: shift and subtract
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double one = 1.0, Zero[] = {0.0, -0.0,};
-#else
-static double one = 1.0, Zero[] = {0.0, -0.0,};
-#endif
-
-#ifdef __STDC__
- double __ieee754_fmod(double x, double y)
-#else
- double __ieee754_fmod(x,y)
- double x,y ;
-#endif
-{
- __int32_t n,hx,hy,hz,ix,iy,sx,i;
- __uint32_t lx,ly,lz;
-
- EXTRACT_WORDS(hx,lx,x);
- EXTRACT_WORDS(hy,ly,y);
- sx = hx&0x80000000; /* sign of x */
- hx ^=sx; /* |x| */
- hy &= 0x7fffffff; /* |y| */
-
- /* purge off exception values */
- if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */
- ((hy|((ly|-ly)>>31))>0x7ff00000)) /* or y is NaN */
- return (x*y)/(x*y);
- if(hx<=hy) {
- if((hx<hy)||(lx<ly)) return x; /* |x|<|y| return x */
- if(lx==ly)
- return Zero[(__uint32_t)sx>>31]; /* |x|=|y| return x*0*/
- }
-
- /* determine ix = ilogb(x) */
- if(hx<0x00100000) { /* subnormal x */
- if(hx==0) {
- for (ix = -1043, i=lx; i>0; i<<=1) ix -=1;
- } else {
- for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1;
- }
- } else ix = (hx>>20)-1023;
-
- /* determine iy = ilogb(y) */
- if(hy<0x00100000) { /* subnormal y */
- if(hy==0) {
- for (iy = -1043, i=ly; i>0; i<<=1) iy -=1;
- } else {
- for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1;
- }
- } else iy = (hy>>20)-1023;
-
- /* set up {hx,lx}, {hy,ly} and align y to x */
- if(ix >= -1022)
- hx = 0x00100000|(0x000fffff&hx);
- else { /* subnormal x, shift x to normal */
- n = -1022-ix;
- if(n<=31) {
- hx = (hx<<n)|(lx>>(32-n));
- lx <<= n;
- } else {
- hx = lx<<(n-32);
- lx = 0;
- }
- }
- if(iy >= -1022)
- hy = 0x00100000|(0x000fffff&hy);
- else { /* subnormal y, shift y to normal */
- n = -1022-iy;
- if(n<=31) {
- hy = (hy<<n)|(ly>>(32-n));
- ly <<= n;
- } else {
- hy = ly<<(n-32);
- ly = 0;
- }
- }
-
- /* fix point fmod */
- n = ix - iy;
- while(n--) {
- hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
- if(hz<0){hx = hx+hx+(lx>>31); lx = lx+lx;}
- else {
- if((hz|lz)==0) /* return sign(x)*0 */
- return Zero[(__uint32_t)sx>>31];
- hx = hz+hz+(lz>>31); lx = lz+lz;
- }
- }
- hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
- if(hz>=0) {hx=hz;lx=lz;}
-
- /* convert back to floating value and restore the sign */
- if((hx|lx)==0) /* return sign(x)*0 */
- return Zero[(__uint32_t)sx>>31];
- while(hx<0x00100000) { /* normalize x */
- hx = hx+hx+(lx>>31); lx = lx+lx;
- iy -= 1;
- }
- if(iy>= -1022) { /* normalize output */
- hx = ((hx-0x00100000)|((iy+1023)<<20));
- INSERT_WORDS(x,hx|sx,lx);
- } else { /* subnormal output */
- n = -1022 - iy;
- if(n<=20) {
- lx = (lx>>n)|((__uint32_t)hx<<(32-n));
- hx >>= n;
- } else if (n<=31) {
- lx = (hx<<(32-n))|(lx>>n); hx = sx;
- } else {
- lx = hx>>(n-32); hx = sx;
- }
- INSERT_WORDS(x,hx|sx,lx);
- x *= one; /* create necessary signal */
- }
- return x; /* exact output */
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_log.c b/libjava/java/lang/e_log.c
deleted file mode 100644
index ea6c55f6c36..00000000000
--- a/libjava/java/lang/e_log.c
+++ /dev/null
@@ -1,152 +0,0 @@
-
-/* @(#)e_log.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __ieee754_log(x)
- * Return the logrithm of x
- *
- * Method :
- * 1. Argument Reduction: find k and f such that
- * x = 2^k * (1+f),
- * where sqrt(2)/2 < 1+f < sqrt(2) .
- *
- * 2. Approximation of log(1+f).
- * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
- * = 2s + 2/3 s**3 + 2/5 s**5 + .....,
- * = 2s + s*R
- * We use a special Reme algorithm on [0,0.1716] to generate
- * a polynomial of degree 14 to approximate R The maximum error
- * of this polynomial approximation is bounded by 2**-58.45. In
- * other words,
- * 2 4 6 8 10 12 14
- * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s
- * (the values of Lg1 to Lg7 are listed in the program)
- * and
- * | 2 14 | -58.45
- * | Lg1*s +...+Lg7*s - R(z) | <= 2
- * | |
- * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
- * In order to guarantee error in log below 1ulp, we compute log
- * by
- * log(1+f) = f - s*(f - R) (if f is not too large)
- * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy)
- *
- * 3. Finally, log(x) = k*ln2 + log(1+f).
- * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
- * Here ln2 is split into two floating point number:
- * ln2_hi + ln2_lo,
- * where n*ln2_hi is always exact for |n| < 2000.
- *
- * Special cases:
- * log(x) is NaN with signal if x < 0 (including -INF) ;
- * log(+INF) is +INF; log(0) is -INF with signal;
- * log(NaN) is that NaN with no signal.
- *
- * Accuracy:
- * according to an error analysis, the error is always less than
- * 1 ulp (unit in the last place).
- *
- * Constants:
- * The hexadecimal values are the intended ones for the following
- * constants. The decimal values may be used, provided that the
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */
-ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */
-two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */
-Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
-Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
-Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
-Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
-Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
-Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
-Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
-
-#ifdef __STDC__
-static const double zero = 0.0;
-#else
-static double zero = 0.0;
-#endif
-
-#ifdef __STDC__
- double __ieee754_log(double x)
-#else
- double __ieee754_log(x)
- double x;
-#endif
-{
- double hfsq,f,s,z,R,w,t1,t2,dk;
- __int32_t k,hx,i,j;
- __uint32_t lx;
-
- EXTRACT_WORDS(hx,lx,x);
-
- k=0;
- if (hx < 0x00100000) { /* x < 2**-1022 */
- if (((hx&0x7fffffff)|lx)==0)
- return -two54/zero; /* log(+-0)=-inf */
- if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
- k -= 54; x *= two54; /* subnormal number, scale up x */
- GET_HIGH_WORD(hx,x);
- }
- if (hx >= 0x7ff00000) return x+x;
- k += (hx>>20)-1023;
- hx &= 0x000fffff;
- i = (hx+0x95f64)&0x100000;
- SET_HIGH_WORD(x,hx|(i^0x3ff00000)); /* normalize x or x/2 */
- k += (i>>20);
- f = x-1.0;
- if((0x000fffff&(2+hx))<3) { /* |f| < 2**-20 */
- if(f==zero) {
- if(k==0)
- return zero;
- else {
- dk=(double)k;
- return dk*ln2_hi+dk*ln2_lo;
- }
- }
- R = f*f*(0.5-0.33333333333333333*f);
- if(k==0) return f-R; else {dk=(double)k;
- return dk*ln2_hi-((R-dk*ln2_lo)-f);}
- }
- s = f/(2.0+f);
- dk = (double)k;
- z = s*s;
- i = hx-0x6147a;
- w = z*z;
- j = 0x6b851-hx;
- t1= w*(Lg2+w*(Lg4+w*Lg6));
- t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7)));
- i |= j;
- R = t2+t1;
- if(i>0) {
- hfsq=0.5*f*f;
- if(k==0) return f-(hfsq-s*(hfsq+R)); else
- return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
- } else {
- if(k==0) return f-s*(f-R); else
- return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
- }
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_pow.c b/libjava/java/lang/e_pow.c
deleted file mode 100644
index f078dff344d..00000000000
--- a/libjava/java/lang/e_pow.c
+++ /dev/null
@@ -1,312 +0,0 @@
-
-/* @(#)e_pow.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __ieee754_pow(x,y) return x**y
- *
- * n
- * Method: Let x = 2 * (1+f)
- * 1. Compute and return log2(x) in two pieces:
- * log2(x) = w1 + w2,
- * where w1 has 53-24 = 29 bit trailing zeros.
- * 2. Perform y*log2(x) = n+y' by simulating muti-precision
- * arithmetic, where |y'|<=0.5.
- * 3. Return x**y = 2**n*exp(y'*log2)
- *
- * Special cases:
- * 1. (anything) ** 0 is 1
- * 2. (anything) ** 1 is itself
- * 3. (anything) ** NAN is NAN
- * 4. NAN ** (anything except 0) is NAN
- * 5. +-(|x| > 1) ** +INF is +INF
- * 6. +-(|x| > 1) ** -INF is +0
- * 7. +-(|x| < 1) ** +INF is +0
- * 8. +-(|x| < 1) ** -INF is +INF
- * 9. +-1 ** +-INF is NAN
- * 10. +0 ** (+anything except 0, NAN) is +0
- * 11. -0 ** (+anything except 0, NAN, odd integer) is +0
- * 12. +0 ** (-anything except 0, NAN) is +INF
- * 13. -0 ** (-anything except 0, NAN, odd integer) is +INF
- * 14. -0 ** (odd integer) = -( +0 ** (odd integer) )
- * 15. +INF ** (+anything except 0,NAN) is +INF
- * 16. +INF ** (-anything except 0,NAN) is +0
- * 17. -INF ** (anything) = -0 ** (-anything)
- * 18. (-anything) ** (integer) is (-1)**(integer)*(+anything**integer)
- * 19. (-anything except 0 and inf) ** (non-integer) is NAN
- *
- * Accuracy:
- * pow(x,y) returns x**y nearly rounded. In particular
- * pow(integer,integer)
- * always returns the correct integer provided it is
- * representable.
- *
- * Constants :
- * The hexadecimal values are the intended ones for the following
- * constants. The decimal values may be used, provided that the
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-bp[] = {1.0, 1.5,},
-dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
-dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */
-zero = 0.0,
-one = 1.0,
-two = 2.0,
-two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */
-huge = 1.0e300,
-tiny = 1.0e-300,
- /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
-L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
-L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */
-L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */
-L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */
-L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */
-L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */
-P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
-P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
-P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
-P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
-P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */
-lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
-lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */
-lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */
-ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */
-cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */
-cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */
-cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/
-ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */
-ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/
-ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
-
-#ifdef __STDC__
- double __ieee754_pow(double x, double y)
-#else
- double __ieee754_pow(x,y)
- double x, y;
-#endif
-{
- double z,ax,z_h,z_l,p_h,p_l;
- double y1,t1,t2,r,s,t,u,v,w;
- __int32_t i,j,k,yisint,n;
- __int32_t hx,hy,ix,iy;
- __uint32_t lx,ly;
-
- EXTRACT_WORDS(hx,lx,x);
- EXTRACT_WORDS(hy,ly,y);
- ix = hx&0x7fffffff; iy = hy&0x7fffffff;
-
- /* y==zero: x**0 = 1 */
- if((iy|ly)==0) return one;
-
- /* +-NaN return x+y */
- if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
- iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
- return x+y;
-
- /* determine if y is an odd int when x < 0
- * yisint = 0 ... y is not an integer
- * yisint = 1 ... y is an odd int
- * yisint = 2 ... y is an even int
- */
- yisint = 0;
- if(hx<0) {
- if(iy>=0x43400000) yisint = 2; /* even integer y */
- else if(iy>=0x3ff00000) {
- k = (iy>>20)-0x3ff; /* exponent */
- if(k>20) {
- j = ly>>(52-k);
- if((__uint32_t)(j<<(52-k))==ly) yisint = 2-(j&1);
- } else if(ly==0) {
- j = iy>>(20-k);
- if((j<<(20-k))==iy) yisint = 2-(j&1);
- }
- }
- }
-
- /* special value of y */
- if(ly==0) {
- if (iy==0x7ff00000) { /* y is +-inf */
- if(((ix-0x3ff00000)|lx)==0)
- return y - y; /* inf**+-1 is NaN */
- else if (ix >= 0x3ff00000)/* (|x|>1)**+-inf = inf,0 */
- return (hy>=0)? y: zero;
- else /* (|x|<1)**-,+inf = inf,0 */
- return (hy<0)?-y: zero;
- }
- if(iy==0x3ff00000) { /* y is +-1 */
- if(hy<0) return one/x; else return x;
- }
- if(hy==0x40000000) return x*x; /* y is 2 */
- if(hy==0x3fe00000) { /* y is 0.5 */
- if(hx>=0) /* x >= +0 */
- return __ieee754_sqrt(x);
- }
- }
-
- ax = fabs(x);
- /* special value of x */
- if(lx==0) {
- if(ix==0x7ff00000||ix==0||ix==0x3ff00000){
- z = ax; /*x is +-0,+-inf,+-1*/
- if(hy<0) z = one/z; /* z = (1/|x|) */
- if(hx<0) {
- if(((ix-0x3ff00000)|yisint)==0) {
- z = (z-z)/(z-z); /* (-1)**non-int is NaN */
- } else if(yisint==1)
- z = -z; /* (x<0)**odd = -(|x|**odd) */
- }
- return z;
- }
- }
-
- /* (x<0)**(non-int) is NaN */
- /* CYGNUS LOCAL: This used to be
- if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x);
- but ANSI C says a right shift of a signed negative quantity is
- implementation defined. */
- if(((((__uint32_t)hx>>31)-1)|yisint)==0) return (x-x)/(x-x);
-
- /* |y| is huge */
- if(iy>0x41e00000) { /* if |y| > 2**31 */
- if(iy>0x43f00000){ /* if |y| > 2**64, must o/uflow */
- if(ix<=0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
- if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
- }
- /* over/underflow if x is not close to one */
- if(ix<0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
- if(ix>0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
- /* now |1-x| is tiny <= 2**-20, suffice to compute
- log(x) by x-x^2/2+x^3/3-x^4/4 */
- t = x-1; /* t has 20 trailing zeros */
- w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25));
- u = ivln2_h*t; /* ivln2_h has 21 sig. bits */
- v = t*ivln2_l-w*ivln2;
- t1 = u+v;
- SET_LOW_WORD(t1,0);
- t2 = v-(t1-u);
- } else {
- double s2,s_h,s_l,t_h,t_l;
- n = 0;
- /* take care subnormal number */
- if(ix<0x00100000)
- {ax *= two53; n -= 53; GET_HIGH_WORD(ix,ax); }
- n += ((ix)>>20)-0x3ff;
- j = ix&0x000fffff;
- /* determine interval */
- ix = j|0x3ff00000; /* normalize ix */
- if(j<=0x3988E) k=0; /* |x|<sqrt(3/2) */
- else if(j<0xBB67A) k=1; /* |x|<sqrt(3) */
- else {k=0;n+=1;ix -= 0x00100000;}
- SET_HIGH_WORD(ax,ix);
-
- /* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
- u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
- v = one/(ax+bp[k]);
- s = u*v;
- s_h = s;
- SET_LOW_WORD(s_h,0);
- /* t_h=ax+bp[k] High */
- t_h = zero;
- SET_HIGH_WORD(t_h,((ix>>1)|0x20000000)+0x00080000+(k<<18));
- t_l = ax - (t_h-bp[k]);
- s_l = v*((u-s_h*t_h)-s_h*t_l);
- /* compute log(ax) */
- s2 = s*s;
- r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
- r += s_l*(s_h+s);
- s2 = s_h*s_h;
- t_h = 3.0+s2+r;
- SET_LOW_WORD(t_h,0);
- t_l = r-((t_h-3.0)-s2);
- /* u+v = s*(1+...) */
- u = s_h*t_h;
- v = s_l*t_h+t_l*s;
- /* 2/(3log2)*(s+...) */
- p_h = u+v;
- SET_LOW_WORD(p_h,0);
- p_l = v-(p_h-u);
- z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */
- z_l = cp_l*p_h+p_l*cp+dp_l[k];
- /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
- t = (double)n;
- t1 = (((z_h+z_l)+dp_h[k])+t);
- SET_LOW_WORD(t1,0);
- t2 = z_l-(((t1-t)-dp_h[k])-z_h);
- }
-
- s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
- if(((((__uint32_t)hx>>31)-1)|(yisint-1))==0)
- s = -one;/* (-ve)**(odd int) */
-
- /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
- y1 = y;
- SET_LOW_WORD(y1,0);
- p_l = (y-y1)*t1+y*t2;
- p_h = y1*t1;
- z = p_l+p_h;
- EXTRACT_WORDS(j,i,z);
- if (j>=0x40900000) { /* z >= 1024 */
- if(((j-0x40900000)|i)!=0) /* if z > 1024 */
- return s*huge*huge; /* overflow */
- else {
- if(p_l+ovt>z-p_h) return s*huge*huge; /* overflow */
- }
- } else if((j&0x7fffffff)>=0x4090cc00 ) { /* z <= -1075 */
- if(((j-0xc090cc00)|i)!=0) /* z < -1075 */
- return s*tiny*tiny; /* underflow */
- else {
- if(p_l<=z-p_h) return s*tiny*tiny; /* underflow */
- }
- }
- /*
- * compute 2**(p_h+p_l)
- */
- i = j&0x7fffffff;
- k = (i>>20)-0x3ff;
- n = 0;
- if(i>0x3fe00000) { /* if |z| > 0.5, set n = [z+0.5] */
- n = j+(0x00100000>>(k+1));
- k = ((n&0x7fffffff)>>20)-0x3ff; /* new k for n */
- t = zero;
- SET_HIGH_WORD(t,n&~(0x000fffff>>k));
- n = ((n&0x000fffff)|0x00100000)>>(20-k);
- if(j<0) n = -n;
- p_h -= t;
- }
- t = p_l+p_h;
- SET_LOW_WORD(t,0);
- u = t*lg2_h;
- v = (p_l-(t-p_h))*lg2+t*lg2_l;
- z = u+v;
- w = v-(z-u);
- t = z*z;
- t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
- r = (z*t1)/(t1-two)-(w+z*w);
- z = one-(r-z);
- GET_HIGH_WORD(j,z);
- j += (n<<20);
- if((j>>20)<=0) z = scalbn(z,(int)n); /* subnormal output */
- else SET_HIGH_WORD(z,j);
- return s*z;
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_rem_pio2.c b/libjava/java/lang/e_rem_pio2.c
deleted file mode 100644
index 3e5d0f7a227..00000000000
--- a/libjava/java/lang/e_rem_pio2.c
+++ /dev/null
@@ -1,185 +0,0 @@
-
-/* @(#)e_rem_pio2.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- *
- */
-
-/* __ieee754_rem_pio2(x,y)
- *
- * return the remainder of x rem pi/2 in y[0]+y[1]
- * use __kernel_rem_pio2()
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-/*
- * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
- */
-#ifdef __STDC__
-static const __int32_t two_over_pi[] = {
-#else
-static __int32_t two_over_pi[] = {
-#endif
-0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62,
-0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A,
-0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129,
-0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, 0x7026B4, 0x5F7E41,
-0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8,
-0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, 0x367ECF,
-0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5,
-0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08,
-0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3,
-0x91615E, 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880,
-0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B,
-};
-
-#ifdef __STDC__
-static const __int32_t npio2_hw[] = {
-#else
-static __int32_t npio2_hw[] = {
-#endif
-0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C,
-0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C,
-0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A,
-0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C,
-0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB,
-0x404858EB, 0x404921FB,
-};
-
-/*
- * invpio2: 53 bits of 2/pi
- * pio2_1: first 33 bit of pi/2
- * pio2_1t: pi/2 - pio2_1
- * pio2_2: second 33 bit of pi/2
- * pio2_2t: pi/2 - (pio2_1+pio2_2)
- * pio2_3: third 33 bit of pi/2
- * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3)
- */
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-zero = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
-half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
-two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
-invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
-pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */
-pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */
-pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */
-pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
-pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
-pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
-
-#ifdef __STDC__
- __int32_t __ieee754_rem_pio2(double x, double *y)
-#else
- __int32_t __ieee754_rem_pio2(x,y)
- double x,y[];
-#endif
-{
- double z,w,t,r,fn;
- double tx[3];
- __int32_t i,j,n,ix,hx;
- int e0,nx;
- __uint32_t low;
-
- GET_HIGH_WORD(hx,x); /* high word of x */
- ix = hx&0x7fffffff;
- if(ix<=0x3fe921fb) /* |x| ~<= pi/4 , no need for reduction */
- {y[0] = x; y[1] = 0; return 0;}
- if(ix<0x4002d97c) { /* |x| < 3pi/4, special case with n=+-1 */
- if(hx>0) {
- z = x - pio2_1;
- if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
- y[0] = z - pio2_1t;
- y[1] = (z-y[0])-pio2_1t;
- } else { /* near pi/2, use 33+33+53 bit pi */
- z -= pio2_2;
- y[0] = z - pio2_2t;
- y[1] = (z-y[0])-pio2_2t;
- }
- return 1;
- } else { /* negative x */
- z = x + pio2_1;
- if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
- y[0] = z + pio2_1t;
- y[1] = (z-y[0])+pio2_1t;
- } else { /* near pi/2, use 33+33+53 bit pi */
- z += pio2_2;
- y[0] = z + pio2_2t;
- y[1] = (z-y[0])+pio2_2t;
- }
- return -1;
- }
- }
- if(ix<=0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */
- t = fabs(x);
- n = (__int32_t) (t*invpio2+half);
- fn = (double)n;
- r = t-fn*pio2_1;
- w = fn*pio2_1t; /* 1st round good to 85 bit */
- if(n<32&&ix!=npio2_hw[n-1]) {
- y[0] = r-w; /* quick check no cancellation */
- } else {
- __uint32_t high;
- j = ix>>20;
- y[0] = r-w;
- GET_HIGH_WORD(high,y[0]);
- i = j-((high>>20)&0x7ff);
- if(i>16) { /* 2nd iteration needed, good to 118 */
- t = r;
- w = fn*pio2_2;
- r = t-w;
- w = fn*pio2_2t-((t-r)-w);
- y[0] = r-w;
- GET_HIGH_WORD(high,y[0]);
- i = j-((high>>20)&0x7ff);
- if(i>49) { /* 3rd iteration need, 151 bits acc */
- t = r; /* will cover all possible cases */
- w = fn*pio2_3;
- r = t-w;
- w = fn*pio2_3t-((t-r)-w);
- y[0] = r-w;
- }
- }
- }
- y[1] = (r-y[0])-w;
- if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
- else return n;
- }
- /*
- * all other (large) arguments
- */
- if(ix>=0x7ff00000) { /* x is inf or NaN */
- y[0]=y[1]=x-x; return 0;
- }
- /* set z = scalbn(|x|,ilogb(x)-23) */
- GET_LOW_WORD(low,x);
- SET_LOW_WORD(z,low);
- e0 = (int)((ix>>20)-1046); /* e0 = ilogb(z)-23; */
- SET_HIGH_WORD(z, ix - ((__int32_t)e0<<20));
- for(i=0;i<2;i++) {
- tx[i] = (double)((__int32_t)(z));
- z = (z-tx[i])*two24;
- }
- tx[2] = z;
- nx = 3;
- while(tx[nx-1]==zero) nx--; /* skip zero term */
- n = __kernel_rem_pio2(tx,y,e0,nx,2,two_over_pi);
- if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
- return n;
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_remainder.c b/libjava/java/lang/e_remainder.c
deleted file mode 100644
index ae7ce649ad5..00000000000
--- a/libjava/java/lang/e_remainder.c
+++ /dev/null
@@ -1,80 +0,0 @@
-
-/* @(#)e_remainder.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __ieee754_remainder(x,p)
- * Return :
- * returns x REM p = x - [x/p]*p as if in infinite
- * precise arithmetic, where [x/p] is the (infinite bit)
- * integer nearest x/p (in half way case choose the even one).
- * Method :
- * Based on fmod() return x-[x/p]chopped*p exactlp.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double zero = 0.0;
-#else
-static double zero = 0.0;
-#endif
-
-
-#ifdef __STDC__
- double __ieee754_remainder(double x, double p)
-#else
- double __ieee754_remainder(x,p)
- double x,p;
-#endif
-{
- __int32_t hx,hp;
- __uint32_t sx,lx,lp;
- double p_half;
-
- EXTRACT_WORDS(hx,lx,x);
- EXTRACT_WORDS(hp,lp,p);
- sx = hx&0x80000000;
- hp &= 0x7fffffff;
- hx &= 0x7fffffff;
-
- /* purge off exception values */
- if((hp|lp)==0) return (x*p)/(x*p); /* p = 0 */
- if((hx>=0x7ff00000)|| /* x not finite */
- ((hp>=0x7ff00000)&& /* p is NaN */
- (((hp-0x7ff00000)|lp)!=0)))
- return (x*p)/(x*p);
-
-
- if (hp<=0x7fdfffff) x = __ieee754_fmod(x,p+p); /* now x < 2p */
- if (((hx-hp)|(lx-lp))==0) return zero*x;
- x = fabs(x);
- p = fabs(p);
- if (hp<0x00200000) {
- if(x+x>p) {
- x-=p;
- if(x+x>=p) x -= p;
- }
- } else {
- p_half = 0.5*p;
- if(x>p_half) {
- x-=p;
- if(x>=p_half) x -= p;
- }
- }
- GET_HIGH_WORD(hx,x);
- SET_HIGH_WORD(x,hx^sx);
- return x;
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_scalb.c b/libjava/java/lang/e_scalb.c
deleted file mode 100644
index 0bb924b43ee..00000000000
--- a/libjava/java/lang/e_scalb.c
+++ /dev/null
@@ -1,55 +0,0 @@
-
-/* @(#)e_scalb.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * __ieee754_scalb(x, fn) is provide for
- * passing various standard test suite. One
- * should use scalbn() instead.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef _SCALB_INT
-#ifdef __STDC__
- double __ieee754_scalb(double x, int fn)
-#else
- double __ieee754_scalb(x,fn)
- double x; int fn;
-#endif
-#else
-#ifdef __STDC__
- double __ieee754_scalb(double x, double fn)
-#else
- double __ieee754_scalb(x,fn)
- double x, fn;
-#endif
-#endif
-{
-#ifdef _SCALB_INT
- return scalbn(x,fn);
-#else
- if (isnan(x)||isnan(fn)) return x*fn;
- if (!finite(fn)) {
- if(fn>0.0) return x*fn;
- else return x/(-fn);
- }
- if (rint(fn)!=fn) return (fn-fn)/(fn-fn);
- if ( fn > 65000.0) return scalbn(x, 65000);
- if (-fn > 65000.0) return scalbn(x,-65000);
- return scalbn(x,(int)fn);
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_sqrt.c b/libjava/java/lang/e_sqrt.c
deleted file mode 100644
index b56b1eedc94..00000000000
--- a/libjava/java/lang/e_sqrt.c
+++ /dev/null
@@ -1,452 +0,0 @@
-
-/* @(#)e_sqrt.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __ieee754_sqrt(x)
- * Return correctly rounded sqrt.
- * ------------------------------------------
- * | Use the hardware sqrt if you have one |
- * ------------------------------------------
- * Method:
- * Bit by bit method using integer arithmetic. (Slow, but portable)
- * 1. Normalization
- * Scale x to y in [1,4) with even powers of 2:
- * find an integer k such that 1 <= (y=x*2^(2k)) < 4, then
- * sqrt(x) = 2^k * sqrt(y)
- * 2. Bit by bit computation
- * Let q = sqrt(y) truncated to i bit after binary point (q = 1),
- * i 0
- * i+1 2
- * s = 2*q , and y = 2 * ( y - q ). (1)
- * i i i i
- *
- * To compute q from q , one checks whether
- * i+1 i
- *
- * -(i+1) 2
- * (q + 2 ) <= y. (2)
- * i
- * -(i+1)
- * If (2) is false, then q = q ; otherwise q = q + 2 .
- * i+1 i i+1 i
- *
- * With some algebric manipulation, it is not difficult to see
- * that (2) is equivalent to
- * -(i+1)
- * s + 2 <= y (3)
- * i i
- *
- * The advantage of (3) is that s and y can be computed by
- * i i
- * the following recurrence formula:
- * if (3) is false
- *
- * s = s , y = y ; (4)
- * i+1 i i+1 i
- *
- * otherwise,
- * -i -(i+1)
- * s = s + 2 , y = y - s - 2 (5)
- * i+1 i i+1 i i
- *
- * One may easily use induction to prove (4) and (5).
- * Note. Since the left hand side of (3) contain only i+2 bits,
- * it does not necessary to do a full (53-bit) comparison
- * in (3).
- * 3. Final rounding
- * After generating the 53 bits result, we compute one more bit.
- * Together with the remainder, we can decide whether the
- * result is exact, bigger than 1/2ulp, or less than 1/2ulp
- * (it will never equal to 1/2ulp).
- * The rounding mode can be detected by checking whether
- * huge + tiny is equal to huge, and whether huge - tiny is
- * equal to huge for some floating point number "huge" and "tiny".
- *
- * Special cases:
- * sqrt(+-0) = +-0 ... exact
- * sqrt(inf) = inf
- * sqrt(-ve) = NaN ... with invalid signal
- * sqrt(NaN) = NaN ... with invalid signal for signaling NaN
- *
- * Other methods : see the appended file at the end of the program below.
- *---------------
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double one = 1.0, tiny=1.0e-300;
-#else
-static double one = 1.0, tiny=1.0e-300;
-#endif
-
-#ifdef __STDC__
- double __ieee754_sqrt(double x)
-#else
- double __ieee754_sqrt(x)
- double x;
-#endif
-{
- double z;
- __int32_t sign = (int)0x80000000;
- __uint32_t r,t1,s1,ix1,q1;
- __int32_t ix0,s0,q,m,t,i;
-
- EXTRACT_WORDS(ix0,ix1,x);
-
- /* take care of Inf and NaN */
- if((ix0&0x7ff00000)==0x7ff00000) {
- return x*x+x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf
- sqrt(-inf)=sNaN */
- }
- /* take care of zero */
- if(ix0<=0) {
- if(((ix0&(~sign))|ix1)==0) return x;/* sqrt(+-0) = +-0 */
- else if(ix0<0)
- return (x-x)/(x-x); /* sqrt(-ve) = sNaN */
- }
- /* normalize x */
- m = (ix0>>20);
- if(m==0) { /* subnormal x */
- while(ix0==0) {
- m -= 21;
- ix0 |= (ix1>>11); ix1 <<= 21;
- }
- for(i=0;(ix0&0x00100000)==0;i++) ix0<<=1;
- m -= i-1;
- ix0 |= (ix1>>(32-i));
- ix1 <<= i;
- }
- m -= 1023; /* unbias exponent */
- ix0 = (ix0&0x000fffff)|0x00100000;
- if(m&1){ /* odd m, double x to make it even */
- ix0 += ix0 + ((ix1&sign)>>31);
- ix1 += ix1;
- }
- m >>= 1; /* m = [m/2] */
-
- /* generate sqrt(x) bit by bit */
- ix0 += ix0 + ((ix1&sign)>>31);
- ix1 += ix1;
- q = q1 = s0 = s1 = 0; /* [q,q1] = sqrt(x) */
- r = 0x00200000; /* r = moving bit from right to left */
-
- while(r!=0) {
- t = s0+r;
- if(t<=ix0) {
- s0 = t+r;
- ix0 -= t;
- q += r;
- }
- ix0 += ix0 + ((ix1&sign)>>31);
- ix1 += ix1;
- r>>=1;
- }
-
- r = sign;
- while(r!=0) {
- t1 = s1+r;
- t = s0;
- if((t<ix0)||((t==ix0)&&(t1<=ix1))) {
- s1 = t1+r;
- if(((t1&sign)==(__uint32_t)sign)&&(s1&sign)==0) s0 += 1;
- ix0 -= t;
- if (ix1 < t1) ix0 -= 1;
- ix1 -= t1;
- q1 += r;
- }
- ix0 += ix0 + ((ix1&sign)>>31);
- ix1 += ix1;
- r>>=1;
- }
-
- /* use floating add to find out rounding direction */
- if((ix0|ix1)!=0) {
- z = one-tiny; /* trigger inexact flag */
- if (z>=one) {
- z = one+tiny;
- if (q1==(__uint32_t)0xffffffff) { q1=0; q += 1;}
- else if (z>one) {
- if (q1==(__uint32_t)0xfffffffe) q+=1;
- q1+=2;
- } else
- q1 += (q1&1);
- }
- }
- ix0 = (q>>1)+0x3fe00000;
- ix1 = q1>>1;
- if ((q&1)==1) ix1 |= sign;
- ix0 += (m <<20);
- INSERT_WORDS(z,ix0,ix1);
- return z;
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
-
-/*
-Other methods (use floating-point arithmetic)
--------------
-(This is a copy of a drafted paper by Prof W. Kahan
-and K.C. Ng, written in May, 1986)
-
- Two algorithms are given here to implement sqrt(x)
- (IEEE double precision arithmetic) in software.
- Both supply sqrt(x) correctly rounded. The first algorithm (in
- Section A) uses newton iterations and involves four divisions.
- The second one uses reciproot iterations to avoid division, but
- requires more multiplications. Both algorithms need the ability
- to chop results of arithmetic operations instead of round them,
- and the INEXACT flag to indicate when an arithmetic operation
- is executed exactly with no roundoff error, all part of the
- standard (IEEE 754-1985). The ability to perform shift, add,
- subtract and logical AND operations upon 32-bit words is needed
- too, though not part of the standard.
-
-A. sqrt(x) by Newton Iteration
-
- (1) Initial approximation
-
- Let x0 and x1 be the leading and the trailing 32-bit words of
- a floating point number x (in IEEE double format) respectively
-
- 1 11 52 ...widths
- ------------------------------------------------------
- x: |s| e | f |
- ------------------------------------------------------
- msb lsb msb lsb ...order
-
-
- ------------------------ ------------------------
- x0: |s| e | f1 | x1: | f2 |
- ------------------------ ------------------------
-
- By performing shifts and subtracts on x0 and x1 (both regarded
- as integers), we obtain an 8-bit approximation of sqrt(x) as
- follows.
-
- k := (x0>>1) + 0x1ff80000;
- y0 := k - T1[31&(k>>15)]. ... y ~ sqrt(x) to 8 bits
- Here k is a 32-bit integer and T1[] is an integer array containing
- correction terms. Now magically the floating value of y (y's
- leading 32-bit word is y0, the value of its trailing word is 0)
- approximates sqrt(x) to almost 8-bit.
-
- Value of T1:
- static int T1[32]= {
- 0, 1024, 3062, 5746, 9193, 13348, 18162, 23592,
- 29598, 36145, 43202, 50740, 58733, 67158, 75992, 85215,
- 83599, 71378, 60428, 50647, 41945, 34246, 27478, 21581,
- 16499, 12183, 8588, 5674, 3403, 1742, 661, 130,};
-
- (2) Iterative refinement
-
- Apply Heron's rule three times to y, we have y approximates
- sqrt(x) to within 1 ulp (Unit in the Last Place):
-
- y := (y+x/y)/2 ... almost 17 sig. bits
- y := (y+x/y)/2 ... almost 35 sig. bits
- y := y-(y-x/y)/2 ... within 1 ulp
-
-
- Remark 1.
- Another way to improve y to within 1 ulp is:
-
- y := (y+x/y) ... almost 17 sig. bits to 2*sqrt(x)
- y := y - 0x00100006 ... almost 18 sig. bits to sqrt(x)
-
- 2
- (x-y )*y
- y := y + 2* ---------- ...within 1 ulp
- 2
- 3y + x
-
-
- This formula has one division fewer than the one above; however,
- it requires more multiplications and additions. Also x must be
- scaled in advance to avoid spurious overflow in evaluating the
- expression 3y*y+x. Hence it is not recommended uless division
- is slow. If division is very slow, then one should use the
- reciproot algorithm given in section B.
-
- (3) Final adjustment
-
- By twiddling y's last bit it is possible to force y to be
- correctly rounded according to the prevailing rounding mode
- as follows. Let r and i be copies of the rounding mode and
- inexact flag before entering the square root program. Also we
- use the expression y+-ulp for the next representable floating
- numbers (up and down) of y. Note that y+-ulp = either fixed
- point y+-1, or multiply y by nextafter(1,+-inf) in chopped
- mode.
-
- I := FALSE; ... reset INEXACT flag I
- R := RZ; ... set rounding mode to round-toward-zero
- z := x/y; ... chopped quotient, possibly inexact
- If(not I) then { ... if the quotient is exact
- if(z=y) {
- I := i; ... restore inexact flag
- R := r; ... restore rounded mode
- return sqrt(x):=y.
- } else {
- z := z - ulp; ... special rounding
- }
- }
- i := TRUE; ... sqrt(x) is inexact
- If (r=RN) then z=z+ulp ... rounded-to-nearest
- If (r=RP) then { ... round-toward-+inf
- y = y+ulp; z=z+ulp;
- }
- y := y+z; ... chopped sum
- y0:=y0-0x00100000; ... y := y/2 is correctly rounded.
- I := i; ... restore inexact flag
- R := r; ... restore rounded mode
- return sqrt(x):=y.
-
- (4) Special cases
-
- Square root of +inf, +-0, or NaN is itself;
- Square root of a negative number is NaN with invalid signal.
-
-
-B. sqrt(x) by Reciproot Iteration
-
- (1) Initial approximation
-
- Let x0 and x1 be the leading and the trailing 32-bit words of
- a floating point number x (in IEEE double format) respectively
- (see section A). By performing shifs and subtracts on x0 and y0,
- we obtain a 7.8-bit approximation of 1/sqrt(x) as follows.
-
- k := 0x5fe80000 - (x0>>1);
- y0:= k - T2[63&(k>>14)]. ... y ~ 1/sqrt(x) to 7.8 bits
-
- Here k is a 32-bit integer and T2[] is an integer array
- containing correction terms. Now magically the floating
- value of y (y's leading 32-bit word is y0, the value of
- its trailing word y1 is set to zero) approximates 1/sqrt(x)
- to almost 7.8-bit.
-
- Value of T2:
- static int T2[64]= {
- 0x1500, 0x2ef8, 0x4d67, 0x6b02, 0x87be, 0xa395, 0xbe7a, 0xd866,
- 0xf14a, 0x1091b,0x11fcd,0x13552,0x14999,0x15c98,0x16e34,0x17e5f,
- 0x18d03,0x19a01,0x1a545,0x1ae8a,0x1b5c4,0x1bb01,0x1bfde,0x1c28d,
- 0x1c2de,0x1c0db,0x1ba73,0x1b11c,0x1a4b5,0x1953d,0x18266,0x16be0,
- 0x1683e,0x179d8,0x18a4d,0x19992,0x1a789,0x1b445,0x1bf61,0x1c989,
- 0x1d16d,0x1d77b,0x1dddf,0x1e2ad,0x1e5bf,0x1e6e8,0x1e654,0x1e3cd,
- 0x1df2a,0x1d635,0x1cb16,0x1be2c,0x1ae4e,0x19bde,0x1868e,0x16e2e,
- 0x1527f,0x1334a,0x11051,0xe951, 0xbe01, 0x8e0d, 0x5924, 0x1edd,};
-
- (2) Iterative refinement
-
- Apply Reciproot iteration three times to y and multiply the
- result by x to get an approximation z that matches sqrt(x)
- to about 1 ulp. To be exact, we will have
- -1ulp < sqrt(x)-z<1.0625ulp.
-
- ... set rounding mode to Round-to-nearest
- y := y*(1.5-0.5*x*y*y) ... almost 15 sig. bits to 1/sqrt(x)
- y := y*((1.5-2^-30)+0.5*x*y*y)... about 29 sig. bits to 1/sqrt(x)
- ... special arrangement for better accuracy
- z := x*y ... 29 bits to sqrt(x), with z*y<1
- z := z + 0.5*z*(1-z*y) ... about 1 ulp to sqrt(x)
-
- Remark 2. The constant 1.5-2^-30 is chosen to bias the error so that
- (a) the term z*y in the final iteration is always less than 1;
- (b) the error in the final result is biased upward so that
- -1 ulp < sqrt(x) - z < 1.0625 ulp
- instead of |sqrt(x)-z|<1.03125ulp.
-
- (3) Final adjustment
-
- By twiddling y's last bit it is possible to force y to be
- correctly rounded according to the prevailing rounding mode
- as follows. Let r and i be copies of the rounding mode and
- inexact flag before entering the square root program. Also we
- use the expression y+-ulp for the next representable floating
- numbers (up and down) of y. Note that y+-ulp = either fixed
- point y+-1, or multiply y by nextafter(1,+-inf) in chopped
- mode.
-
- R := RZ; ... set rounding mode to round-toward-zero
- switch(r) {
- case RN: ... round-to-nearest
- if(x<= z*(z-ulp)...chopped) z = z - ulp; else
- if(x<= z*(z+ulp)...chopped) z = z; else z = z+ulp;
- break;
- case RZ:case RM: ... round-to-zero or round-to--inf
- R:=RP; ... reset rounding mod to round-to-+inf
- if(x<z*z ... rounded up) z = z - ulp; else
- if(x>=(z+ulp)*(z+ulp) ...rounded up) z = z+ulp;
- break;
- case RP: ... round-to-+inf
- if(x>(z+ulp)*(z+ulp)...chopped) z = z+2*ulp; else
- if(x>z*z ...chopped) z = z+ulp;
- break;
- }
-
- Remark 3. The above comparisons can be done in fixed point. For
- example, to compare x and w=z*z chopped, it suffices to compare
- x1 and w1 (the trailing parts of x and w), regarding them as
- two's complement integers.
-
- ...Is z an exact square root?
- To determine whether z is an exact square root of x, let z1 be the
- trailing part of z, and also let x0 and x1 be the leading and
- trailing parts of x.
-
- If ((z1&0x03ffffff)!=0) ... not exact if trailing 26 bits of z!=0
- I := 1; ... Raise Inexact flag: z is not exact
- else {
- j := 1 - [(x0>>20)&1] ... j = logb(x) mod 2
- k := z1 >> 26; ... get z's 25-th and 26-th
- fraction bits
- I := i or (k&j) or ((k&(j+j+1))!=(x1&3));
- }
- R:= r ... restore rounded mode
- return sqrt(x):=z.
-
- If multiplication is cheaper then the foregoing red tape, the
- Inexact flag can be evaluated by
-
- I := i;
- I := (z*z!=x) or I.
-
- Note that z*z can overwrite I; this value must be sensed if it is
- True.
-
- Remark 4. If z*z = x exactly, then bit 25 to bit 0 of z1 must be
- zero.
-
- --------------------
- z1: | f2 |
- --------------------
- bit 31 bit 0
-
- Further more, bit 27 and 26 of z1, bit 0 and 1 of x1, and the odd
- or even of logb(x) have the following relations:
-
- -------------------------------------------------
- bit 27,26 of z1 bit 1,0 of x1 logb(x)
- -------------------------------------------------
- 00 00 odd and even
- 01 01 even
- 10 10 odd
- 10 00 even
- 11 01 even
- -------------------------------------------------
-
- (4) Special cases (see (4) of Section A).
-
- */
diff --git a/libjava/java/lang/fdlibm.h b/libjava/java/lang/fdlibm.h
deleted file mode 100644
index 3f72070cf81..00000000000
--- a/libjava/java/lang/fdlibm.h
+++ /dev/null
@@ -1,343 +0,0 @@
-
-/* @(#)fdlibm.h 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <config.h>
-#include <stdlib.h>
-
-/* CYGNUS LOCAL: Include files. */
-#include "ieeefp.h"
-
-/* CYGNUS LOCAL: Default to XOPEN_MODE. */
-#define _XOPEN_MODE
-
-#ifdef __STDC__
-#define __P(p) p
-#else
-#define __P(p) ()
-#endif
-
-#define HUGE ((float)3.40282346638528860e+38)
-
-/*
- * set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
- * (one may replace the following line by "#include <values.h>")
- */
-
-#define X_TLOSS 1.41484755040568800000e+16
-
-/* These typedefs are true for the targets running Java. */
-
-#ifndef HAVE_INT32_DEFINED
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-#endif
-
-#define _IEEE_LIBM
-
-/*
- * ANSI/POSIX
- */
-extern double acos __P((double));
-extern double asin __P((double));
-extern double atan __P((double));
-extern double atan2 __P((double, double));
-extern double cos __P((double));
-extern double sin __P((double));
-extern double tan __P((double));
-
-extern double cosh __P((double));
-extern double sinh __P((double));
-extern double tanh __P((double));
-
-extern double exp __P((double));
-extern double frexp __P((double, int *));
-extern double ldexp __P((double, int));
-extern double log __P((double));
-extern double log10 __P((double));
-extern double modf __P((double, double *));
-
-extern double pow __P((double, double));
-extern double sqrt __P((double));
-
-extern double ceil __P((double));
-extern double fabs __P((double));
-extern double floor __P((double));
-extern double fmod __P((double, double));
-
-extern double erf __P((double));
-extern double erfc __P((double));
-extern double gamma __P((double));
-extern double hypot __P((double, double));
-extern int isnan __P((double));
-extern int finite __P((double));
-extern double j0 __P((double));
-extern double j1 __P((double));
-extern double jn __P((int, double));
-extern double lgamma __P((double));
-extern double y0 __P((double));
-extern double y1 __P((double));
-extern double yn __P((int, double));
-
-extern double acosh __P((double));
-extern double asinh __P((double));
-extern double atanh __P((double));
-extern double cbrt __P((double));
-extern double logb __P((double));
-extern double nextafter __P((double, double));
-extern double remainder __P((double, double));
-
-/* Functions that are not documented, and are not in <math.h>. */
-
-extern double logb __P((double));
-#ifdef _SCALB_INT
-extern double scalb __P((double, int));
-#else
-extern double scalb __P((double, double));
-#endif
-extern double significand __P((double));
-
-/* ieee style elementary functions */
-extern double __ieee754_sqrt __P((double));
-extern double __ieee754_acos __P((double));
-extern double __ieee754_acosh __P((double));
-extern double __ieee754_log __P((double));
-extern double __ieee754_atanh __P((double));
-extern double __ieee754_asin __P((double));
-extern double __ieee754_atan2 __P((double,double));
-extern double __ieee754_exp __P((double));
-extern double __ieee754_cosh __P((double));
-extern double __ieee754_fmod __P((double,double));
-extern double __ieee754_pow __P((double,double));
-extern double __ieee754_lgamma_r __P((double,int *));
-extern double __ieee754_gamma_r __P((double,int *));
-extern double __ieee754_log10 __P((double));
-extern double __ieee754_sinh __P((double));
-extern double __ieee754_hypot __P((double,double));
-extern double __ieee754_j0 __P((double));
-extern double __ieee754_j1 __P((double));
-extern double __ieee754_y0 __P((double));
-extern double __ieee754_y1 __P((double));
-extern double __ieee754_jn __P((int,double));
-extern double __ieee754_yn __P((int,double));
-extern double __ieee754_remainder __P((double,double));
-extern __int32_t __ieee754_rem_pio2 __P((double,double*));
-#ifdef _SCALB_INT
-extern double __ieee754_scalb __P((double,int));
-#else
-extern double __ieee754_scalb __P((double,double));
-#endif
-
-/* fdlibm kernel function */
-extern double __kernel_standard __P((double,double,int));
-extern double __kernel_sin __P((double,double,int));
-extern double __kernel_cos __P((double,double));
-extern double __kernel_tan __P((double,double,int));
-extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*));
-
-/* Undocumented float functions. */
-extern float logbf __P((float));
-#ifdef _SCALB_INT
-extern float scalbf __P((float, int));
-#else
-extern float scalbf __P((float, float));
-#endif
-extern float significandf __P((float));
-
-/*
- * Functions callable from C, intended to support IEEE arithmetic.
- */
-extern double copysign __P((double, double));
-extern int ilogb __P((double));
-extern double rint __P((double));
-extern float rintf __P((float));
-extern double scalbn __P((double, int));
-
-/* ieee style elementary float functions */
-extern float __ieee754_sqrtf __P((float));
-extern float __ieee754_acosf __P((float));
-extern float __ieee754_acoshf __P((float));
-extern float __ieee754_logf __P((float));
-extern float __ieee754_atanhf __P((float));
-extern float __ieee754_asinf __P((float));
-extern float __ieee754_atan2f __P((float,float));
-extern float __ieee754_expf __P((float));
-extern float __ieee754_coshf __P((float));
-extern float __ieee754_fmodf __P((float,float));
-extern float __ieee754_powf __P((float,float));
-extern float __ieee754_lgammaf_r __P((float,int *));
-extern float __ieee754_gammaf_r __P((float,int *));
-extern float __ieee754_log10f __P((float));
-extern float __ieee754_sinhf __P((float));
-extern float __ieee754_hypotf __P((float,float));
-extern float __ieee754_j0f __P((float));
-extern float __ieee754_j1f __P((float));
-extern float __ieee754_y0f __P((float));
-extern float __ieee754_y1f __P((float));
-extern float __ieee754_jnf __P((int,float));
-extern float __ieee754_ynf __P((int,float));
-extern float __ieee754_remainderf __P((float,float));
-extern __int32_t __ieee754_rem_pio2f __P((float,float*));
-#ifdef _SCALB_INT
-extern float __ieee754_scalbf __P((float,int));
-#else
-extern float __ieee754_scalbf __P((float,float));
-#endif
-
-/* float versions of fdlibm kernel functions */
-extern float __kernel_sinf __P((float,float,int));
-extern float __kernel_cosf __P((float,float));
-extern float __kernel_tanf __P((float,float,int));
-extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __int32_t*));
-
-/* The original code used statements like
- n0 = ((*(int*)&one)>>29)^1; * index of high word *
- ix0 = *(n0+(int*)&x); * high word of x *
- ix1 = *((1-n0)+(int*)&x); * low word of x *
- to dig two 32 bit words out of the 64 bit IEEE floating point
- value. That is non-ANSI, and, moreover, the gcc instruction
- scheduler gets it wrong. We instead use the following macros.
- Unlike the original code, we determine the endianness at compile
- time, not at run time; I don't see much benefit to selecting
- endianness at run time. */
-
-#ifndef __IEEE_BIG_ENDIAN
-#ifndef __IEEE_LITTLE_ENDIAN
- #error Must define endianness
-#endif
-#endif
-
-/* A union which permits us to convert between a double and two 32 bit
- ints. */
-
-#ifdef __IEEE_BIG_ENDIAN
-
-typedef union
-{
- double value;
- struct
- {
- __uint32_t msw;
- __uint32_t lsw;
- } parts;
-} ieee_double_shape_type;
-
-#endif
-
-#ifdef __IEEE_LITTLE_ENDIAN
-
-typedef union
-{
- double value;
- struct
- {
- __uint32_t lsw;
- __uint32_t msw;
- } parts;
-} ieee_double_shape_type;
-
-#endif
-
-/* Get two 32 bit ints from a double. */
-
-#define EXTRACT_WORDS(ix0,ix1,d) \
-do { \
- ieee_double_shape_type ew_u; \
- ew_u.value = (d); \
- (ix0) = ew_u.parts.msw; \
- (ix1) = ew_u.parts.lsw; \
-} while (0)
-
-/* Get the more significant 32 bit int from a double. */
-
-#define GET_HIGH_WORD(i,d) \
-do { \
- ieee_double_shape_type gh_u; \
- gh_u.value = (d); \
- (i) = gh_u.parts.msw; \
-} while (0)
-
-/* Get the less significant 32 bit int from a double. */
-
-#define GET_LOW_WORD(i,d) \
-do { \
- ieee_double_shape_type gl_u; \
- gl_u.value = (d); \
- (i) = gl_u.parts.lsw; \
-} while (0)
-
-/* Set a double from two 32 bit ints. */
-
-#define INSERT_WORDS(d,ix0,ix1) \
-do { \
- ieee_double_shape_type iw_u; \
- iw_u.parts.msw = (ix0); \
- iw_u.parts.lsw = (ix1); \
- (d) = iw_u.value; \
-} while (0)
-
-/* Set the more significant 32 bits of a double from an int. */
-
-#define SET_HIGH_WORD(d,v) \
-do { \
- ieee_double_shape_type sh_u; \
- sh_u.value = (d); \
- sh_u.parts.msw = (v); \
- (d) = sh_u.value; \
-} while (0)
-
-/* Set the less significant 32 bits of a double from an int. */
-
-#define SET_LOW_WORD(d,v) \
-do { \
- ieee_double_shape_type sl_u; \
- sl_u.value = (d); \
- sl_u.parts.lsw = (v); \
- (d) = sl_u.value; \
-} while (0)
-
-/* A union which permits us to convert between a float and a 32 bit
- int. */
-
-typedef union
-{
- float value;
- __uint32_t word;
-} ieee_float_shape_type;
-
-/* Get a 32 bit int from a float. */
-
-#define GET_FLOAT_WORD(i,d) \
-do { \
- ieee_float_shape_type gf_u; \
- gf_u.value = (d); \
- (i) = gf_u.word; \
-} while (0)
-
-/* Set a float from a 32 bit int. */
-
-#define SET_FLOAT_WORD(d,i) \
-do { \
- ieee_float_shape_type sf_u; \
- sf_u.word = (i); \
- (d) = sf_u.value; \
-} while (0)
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/libjava/java/lang/ieeefp.h b/libjava/java/lang/ieeefp.h
deleted file mode 100644
index 931bafb7d1a..00000000000
--- a/libjava/java/lang/ieeefp.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef __IEEE_BIG_ENDIAN
-#ifndef __IEEE_LITTLE_ENDIAN
-
-#ifdef __arm__
-/* ARM always has big-endian words. Within those words the byte ordering
- appears to be big or little endian. Newlib doesn't seem to care about
- the byte ordering within words. */
-#define __IEEE_BIG_ENDIAN
-#endif
-
-#ifdef __hppa__
-#define __IEEE_BIG_ENDIAN
-#endif
-
-#if defined (__sparc) || defined (__sparc__)
-#define __IEEE_BIG_ENDIAN
-#endif
-
-#if defined(__m68k__) || defined(__mc68000__)
-#define __IEEE_BIG_ENDIAN
-#endif
-
-#if defined (__H8300__) || defined (__H8300H__)
-#define __IEEE_BIG_ENDIAN
-#define __SMALL_BITFIELDS
-#define _DOUBLE_IS_32BITS
-#endif
-
-#ifdef __H8500__
-#define __IEEE_BIG_ENDIAN
-#define __SMALL_BITFIELDS
-#define _DOUBLE_IS_32BITS
-#endif
-
-#ifdef __sh__
-#ifdef __LITTLE_ENDIAN__
-#define __IEEE_LITTLE_ENDIAN
-#else
-#define __IEEE_BIG_ENDIAN
-#endif
-#ifdef __SH3E__
-#define _DOUBLE_IS_32BITS
-#endif
-#endif
-
-#ifdef _AM29K
-#define __IEEE_BIG_ENDIAN
-#endif
-
-#ifdef __i386__
-#define __IEEE_LITTLE_ENDIAN
-#endif
-
-#ifdef __i960__
-#define __IEEE_LITTLE_ENDIAN
-#endif
-
-#ifdef __MIPSEL__
-#define __IEEE_LITTLE_ENDIAN
-#endif
-#ifdef __MIPSEB__
-#define __IEEE_BIG_ENDIAN
-#endif
-
-/* necv70 was __IEEE_LITTLE_ENDIAN. */
-
-#ifdef __W65__
-#define __IEEE_LITTLE_ENDIAN
-#define __SMALL_BITFIELDS
-#define _DOUBLE_IS_32BITS
-#endif
-
-#if defined(__Z8001__) || defined(__Z8002__)
-#define __IEEE_BIG_ENDIAN
-#endif
-
-#ifdef __m88k__
-#define __IEEE_BIG_ENDIAN
-#endif
-
-#ifdef __v800
-#define __IEEE_LITTLE_ENDIAN
-#endif
-
-#ifdef __PPC__
-#if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
-#define __IEEE_BIG_ENDIAN
-#else
-#if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(__WIN32__) && __WIN32__)
-#define __IEEE_LITTLE_ENDIAN
-#endif
-#endif
-#endif
-
-#ifndef __IEEE_BIG_ENDIAN
-#ifndef __IEEE_LITTLE_ENDIAN
-#error Endianess not declared!!
-#endif /* not __IEEE_LITTLE_ENDIAN */
-#endif /* not __IEEE_BIG_ENDIAN */
-
-#endif /* not __IEEE_LITTLE_ENDIAN */
-#endif /* not __IEEE_BIG_ENDIAN */
-
diff --git a/libjava/java/lang/k_cos.c b/libjava/java/lang/k_cos.c
deleted file mode 100644
index 6c60c243856..00000000000
--- a/libjava/java/lang/k_cos.c
+++ /dev/null
@@ -1,96 +0,0 @@
-
-/* @(#)k_cos.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * __kernel_cos( x, y )
- * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164
- * Input x is assumed to be bounded by ~pi/4 in magnitude.
- * Input y is the tail of x.
- *
- * Algorithm
- * 1. Since cos(-x) = cos(x), we need only to consider positive x.
- * 2. if x < 2^-27 (hx<0x3e400000 0), return 1 with inexact if x!=0.
- * 3. cos(x) is approximated by a polynomial of degree 14 on
- * [0,pi/4]
- * 4 14
- * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x
- * where the remez error is
- *
- * | 2 4 6 8 10 12 14 | -58
- * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2
- * | |
- *
- * 4 6 8 10 12 14
- * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then
- * cos(x) = 1 - x*x/2 + r
- * since cos(x+y) ~ cos(x) - sin(x)*y
- * ~ cos(x) - x*y,
- * a correction term is necessary in cos(x) and hence
- * cos(x+y) = 1 - (x*x/2 - (r - x*y))
- * For better accuracy when x > 0.3, let qx = |x|/4 with
- * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125.
- * Then
- * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)).
- * Note that 1-qx and (x*x/2-qx) is EXACT here, and the
- * magnitude of the latter is at least a quarter of x*x/2,
- * thus, reducing the rounding error in the subtraction.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
-C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */
-C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */
-C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */
-C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */
-C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */
-C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
-
-#ifdef __STDC__
- double __kernel_cos(double x, double y)
-#else
- double __kernel_cos(x, y)
- double x,y;
-#endif
-{
- double a,hz,z,r,qx;
- __int32_t ix;
- GET_HIGH_WORD(ix,x);
- ix &= 0x7fffffff; /* ix = |x|'s high word*/
- if(ix<0x3e400000) { /* if x < 2**27 */
- if(((int)x)==0) return one; /* generate inexact */
- }
- z = x*x;
- r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))));
- if(ix < 0x3FD33333) /* if |x| < 0.3 */
- return one - (0.5*z - (z*r - x*y));
- else {
- if(ix > 0x3fe90000) { /* x > 0.78125 */
- qx = 0.28125;
- } else {
- INSERT_WORDS(qx,ix-0x00200000,0); /* x/4 */
- }
- hz = 0.5*z-qx;
- a = one-qx;
- return a - (hz - (z*r-x*y));
- }
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/k_rem_pio2.c b/libjava/java/lang/k_rem_pio2.c
deleted file mode 100644
index 8569256686c..00000000000
--- a/libjava/java/lang/k_rem_pio2.c
+++ /dev/null
@@ -1,320 +0,0 @@
-
-/* @(#)k_rem_pio2.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
- * double x[],y[]; int e0,nx,prec; int ipio2[];
- *
- * __kernel_rem_pio2 return the last three digits of N with
- * y = x - N*pi/2
- * so that |y| < pi/2.
- *
- * The method is to compute the integer (mod 8) and fraction parts of
- * (2/pi)*x without doing the full multiplication. In general we
- * skip the part of the product that are known to be a huge integer (
- * more accurately, = 0 mod 8 ). Thus the number of operations are
- * independent of the exponent of the input.
- *
- * (2/pi) is represented by an array of 24-bit integers in ipio2[].
- *
- * Input parameters:
- * x[] The input value (must be positive) is broken into nx
- * pieces of 24-bit integers in double precision format.
- * x[i] will be the i-th 24 bit of x. The scaled exponent
- * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0
- * match x's up to 24 bits.
- *
- * Example of breaking a double positive z into x[0]+x[1]+x[2]:
- * e0 = ilogb(z)-23
- * z = scalbn(z,-e0)
- * for i = 0,1,2
- * x[i] = floor(z)
- * z = (z-x[i])*2**24
- *
- *
- * y[] ouput result in an array of double precision numbers.
- * The dimension of y[] is:
- * 24-bit precision 1
- * 53-bit precision 2
- * 64-bit precision 2
- * 113-bit precision 3
- * The actual value is the sum of them. Thus for 113-bit
- * precison, one may have to do something like:
- *
- * long double t,w,r_head, r_tail;
- * t = (long double)y[2] + (long double)y[1];
- * w = (long double)y[0];
- * r_head = t+w;
- * r_tail = w - (r_head - t);
- *
- * e0 The exponent of x[0]
- *
- * nx dimension of x[]
- *
- * prec an integer indicating the precision:
- * 0 24 bits (single)
- * 1 53 bits (double)
- * 2 64 bits (extended)
- * 3 113 bits (quad)
- *
- * ipio2[]
- * integer array, contains the (24*i)-th to (24*i+23)-th
- * bit of 2/pi after binary point. The corresponding
- * floating value is
- *
- * ipio2[i] * 2^(-24(i+1)).
- *
- * External function:
- * double scalbn(), floor();
- *
- *
- * Here is the description of some local variables:
- *
- * jk jk+1 is the initial number of terms of ipio2[] needed
- * in the computation. The recommended value is 2,3,4,
- * 6 for single, double, extended,and quad.
- *
- * jz local integer variable indicating the number of
- * terms of ipio2[] used.
- *
- * jx nx - 1
- *
- * jv index for pointing to the suitable ipio2[] for the
- * computation. In general, we want
- * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8
- * is an integer. Thus
- * e0-3-24*jv >= 0 or (e0-3)/24 >= jv
- * Hence jv = max(0,(e0-3)/24).
- *
- * jp jp+1 is the number of terms in PIo2[] needed, jp = jk.
- *
- * q[] double array with integral value, representing the
- * 24-bits chunk of the product of x and 2/pi.
- *
- * q0 the corresponding exponent of q[0]. Note that the
- * exponent for q[i] would be q0-24*i.
- *
- * PIo2[] double precision array, obtained by cutting pi/2
- * into 24 bits chunks.
- *
- * f[] ipio2[] in floating point
- *
- * iq[] integer array by breaking up q[] in 24-bits chunk.
- *
- * fq[] final product of x*(2/pi) in fq[0],..,fq[jk]
- *
- * ih integer. If >0 it indicates q[] is >= 0.5, hence
- * it also indicates the *sign* of the result.
- *
- */
-
-
-/*
- * Constants:
- * The hexadecimal values are the intended ones for the following
- * constants. The decimal values may be used, provided that the
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const int init_jk[] = {2,3,4,6}; /* initial value for jk */
-#else
-static int init_jk[] = {2,3,4,6};
-#endif
-
-#ifdef __STDC__
-static const double PIo2[] = {
-#else
-static double PIo2[] = {
-#endif
- 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */
- 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */
- 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */
- 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */
- 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */
- 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */
- 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */
- 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */
-};
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-zero = 0.0,
-one = 1.0,
-two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
-twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
-
-#ifdef __STDC__
- int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const __int32_t *ipio2)
-#else
- int __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
- double x[], y[]; int e0,nx,prec; __int32_t ipio2[];
-#endif
-{
- __int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;
- double z,fw,f[20],fq[20],q[20];
-
- /* initialize jk*/
- jk = init_jk[prec];
- jp = jk;
-
- /* determine jx,jv,q0, note that 3>q0 */
- jx = nx-1;
- jv = (e0-3)/24; if(jv<0) jv=0;
- q0 = e0-24*(jv+1);
-
- /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */
- j = jv-jx; m = jx+jk;
- for(i=0;i<=m;i++,j++) f[i] = (j<0)? zero : (double) ipio2[j];
-
- /* compute q[0],q[1],...q[jk] */
- for (i=0;i<=jk;i++) {
- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
- }
-
- jz = jk;
-recompute:
- /* distill q[] into iq[] reversingly */
- for(i=0,j=jz,z=q[jz];j>0;i++,j--) {
- fw = (double)((__int32_t)(twon24* z));
- iq[i] = (__int32_t)(z-two24*fw);
- z = q[j-1]+fw;
- }
-
- /* compute n */
- z = scalbn(z,(int)q0); /* actual value of z */
- z -= 8.0*floor(z*0.125); /* trim off integer >= 8 */
- n = (__int32_t) z;
- z -= (double)n;
- ih = 0;
- if(q0>0) { /* need iq[jz-1] to determine n */
- i = (iq[jz-1]>>(24-q0)); n += i;
- iq[jz-1] -= i<<(24-q0);
- ih = iq[jz-1]>>(23-q0);
- }
- else if(q0==0) ih = iq[jz-1]>>23;
- else if(z>=0.5) ih=2;
-
- if(ih>0) { /* q > 0.5 */
- n += 1; carry = 0;
- for(i=0;i<jz ;i++) { /* compute 1-q */
- j = iq[i];
- if(carry==0) {
- if(j!=0) {
- carry = 1; iq[i] = 0x1000000- j;
- }
- } else iq[i] = 0xffffff - j;
- }
- if(q0>0) { /* rare case: chance is 1 in 12 */
- switch(q0) {
- case 1:
- iq[jz-1] &= 0x7fffff; break;
- case 2:
- iq[jz-1] &= 0x3fffff; break;
- }
- }
- if(ih==2) {
- z = one - z;
- if(carry!=0) z -= scalbn(one,(int)q0);
- }
- }
-
- /* check if recomputation is needed */
- if(z==zero) {
- j = 0;
- for (i=jz-1;i>=jk;i--) j |= iq[i];
- if(j==0) { /* need recomputation */
- for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */
-
- for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */
- f[jx+i] = (double) ipio2[jv+i];
- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j];
- q[i] = fw;
- }
- jz += k;
- goto recompute;
- }
- }
-
- /* chop off zero terms */
- if(z==0.0) {
- jz -= 1; q0 -= 24;
- while(iq[jz]==0) { jz--; q0-=24;}
- } else { /* break z into 24-bit if necessary */
- z = scalbn(z,-(int)q0);
- if(z>=two24) {
- fw = (double)((__int32_t)(twon24*z));
- iq[jz] = (__int32_t)(z-two24*fw);
- jz += 1; q0 += 24;
- iq[jz] = (__int32_t) fw;
- } else iq[jz] = (__int32_t) z ;
- }
-
- /* convert integer "bit" chunk to floating-point value */
- fw = scalbn(one,(int)q0);
- for(i=jz;i>=0;i--) {
- q[i] = fw*(double)iq[i]; fw*=twon24;
- }
-
- /* compute PIo2[0,...,jp]*q[jz,...,0] */
- for(i=jz;i>=0;i--) {
- for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k];
- fq[jz-i] = fw;
- }
-
- /* compress fq[] into y[] */
- switch(prec) {
- case 0:
- fw = 0.0;
- for (i=jz;i>=0;i--) fw += fq[i];
- y[0] = (ih==0)? fw: -fw;
- break;
- case 1:
- case 2:
- fw = 0.0;
- for (i=jz;i>=0;i--) fw += fq[i];
- y[0] = (ih==0)? fw: -fw;
- fw = fq[0]-fw;
- for (i=1;i<=jz;i++) fw += fq[i];
- y[1] = (ih==0)? fw: -fw;
- break;
- case 3: /* painful */
- for (i=jz;i>0;i--) {
- fw = fq[i-1]+fq[i];
- fq[i] += fq[i-1]-fw;
- fq[i-1] = fw;
- }
- for (i=jz;i>1;i--) {
- fw = fq[i-1]+fq[i];
- fq[i] += fq[i-1]-fw;
- fq[i-1] = fw;
- }
- for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
- if(ih==0) {
- y[0] = fq[0]; y[1] = fq[1]; y[2] = fw;
- } else {
- y[0] = -fq[0]; y[1] = -fq[1]; y[2] = -fw;
- }
- }
- return n&7;
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/k_sin.c b/libjava/java/lang/k_sin.c
deleted file mode 100644
index f119916dfbc..00000000000
--- a/libjava/java/lang/k_sin.c
+++ /dev/null
@@ -1,79 +0,0 @@
-
-/* @(#)k_sin.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __kernel_sin( x, y, iy)
- * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854
- * Input x is assumed to be bounded by ~pi/4 in magnitude.
- * Input y is the tail of x.
- * Input iy indicates whether y is 0. (if iy=0, y assume to be 0).
- *
- * Algorithm
- * 1. Since sin(-x) = -sin(x), we need only to consider positive x.
- * 2. if x < 2^-27 (hx<0x3e400000 0), return x with inexact if x!=0.
- * 3. sin(x) is approximated by a polynomial of degree 13 on
- * [0,pi/4]
- * 3 13
- * sin(x) ~ x + S1*x + ... + S6*x
- * where
- *
- * |sin(x) 2 4 6 8 10 12 | -58
- * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2
- * | x |
- *
- * 4. sin(x+y) = sin(x) + sin'(x')*y
- * ~ sin(x) + (1-x*x/2)*y
- * For better accuracy, let
- * 3 2 2 2 2
- * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6))))
- * then 3 2
- * sin(x) = x + (S1*x + (x *(r-y/2)+y))
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
-S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */
-S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
-S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */
-S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */
-S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */
-S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */
-
-#ifdef __STDC__
- double __kernel_sin(double x, double y, int iy)
-#else
- double __kernel_sin(x, y, iy)
- double x,y; int iy; /* iy=0 if y is zero */
-#endif
-{
- double z,r,v;
- __int32_t ix;
- GET_HIGH_WORD(ix,x);
- ix &= 0x7fffffff; /* high word of x */
- if(ix<0x3e400000) /* |x| < 2**-27 */
- {if((int)x==0) return x;} /* generate inexact */
- z = x*x;
- v = z*x;
- r = S2+z*(S3+z*(S4+z*(S5+z*S6)));
- if(iy==0) return x+v*(S1+z*r);
- else return x-((z*(half*y-v*r)-y)-v*S1);
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/k_tan.c b/libjava/java/lang/k_tan.c
deleted file mode 100644
index 9f5b307600c..00000000000
--- a/libjava/java/lang/k_tan.c
+++ /dev/null
@@ -1,132 +0,0 @@
-
-/* @(#)k_tan.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* __kernel_tan( x, y, k )
- * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854
- * Input x is assumed to be bounded by ~pi/4 in magnitude.
- * Input y is the tail of x.
- * Input k indicates whether tan (if k=1) or
- * -1/tan (if k= -1) is returned.
- *
- * Algorithm
- * 1. Since tan(-x) = -tan(x), we need only to consider positive x.
- * 2. if x < 2^-28 (hx<0x3e300000 0), return x with inexact if x!=0.
- * 3. tan(x) is approximated by a odd polynomial of degree 27 on
- * [0,0.67434]
- * 3 27
- * tan(x) ~ x + T1*x + ... + T13*x
- * where
- *
- * |tan(x) 2 4 26 | -59.2
- * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2
- * | x |
- *
- * Note: tan(x+y) = tan(x) + tan'(x)*y
- * ~ tan(x) + (1+x*x)*y
- * Therefore, for better accuracy in computing tan(x+y), let
- * 3 2 2 2 2
- * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13))))
- * then
- * 3 2
- * tan(x+y) = x + (T1*x + (x *(r+y)+y))
- *
- * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then
- * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y))
- * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y)))
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
-pio4 = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
-pio4lo= 3.06161699786838301793e-17, /* 0x3C81A626, 0x33145C07 */
-T[] = {
- 3.33333333333334091986e-01, /* 0x3FD55555, 0x55555563 */
- 1.33333333333201242699e-01, /* 0x3FC11111, 0x1110FE7A */
- 5.39682539762260521377e-02, /* 0x3FABA1BA, 0x1BB341FE */
- 2.18694882948595424599e-02, /* 0x3F9664F4, 0x8406D637 */
- 8.86323982359930005737e-03, /* 0x3F8226E3, 0xE96E8493 */
- 3.59207910759131235356e-03, /* 0x3F6D6D22, 0xC9560328 */
- 1.45620945432529025516e-03, /* 0x3F57DBC8, 0xFEE08315 */
- 5.88041240820264096874e-04, /* 0x3F4344D8, 0xF2F26501 */
- 2.46463134818469906812e-04, /* 0x3F3026F7, 0x1A8D1068 */
- 7.81794442939557092300e-05, /* 0x3F147E88, 0xA03792A6 */
- 7.14072491382608190305e-05, /* 0x3F12B80F, 0x32F0A7E9 */
- -1.85586374855275456654e-05, /* 0xBEF375CB, 0xDB605373 */
- 2.59073051863633712884e-05, /* 0x3EFB2A70, 0x74BF7AD4 */
-};
-
-#ifdef __STDC__
- double __kernel_tan(double x, double y, int iy)
-#else
- double __kernel_tan(x, y, iy)
- double x,y; int iy;
-#endif
-{
- double z,r,v,w,s;
- __int32_t ix,hx;
- GET_HIGH_WORD(hx,x);
- ix = hx&0x7fffffff; /* high word of |x| */
- if(ix<0x3e300000) /* x < 2**-28 */
- {if((int)x==0) { /* generate inexact */
- __uint32_t low;
- GET_LOW_WORD(low,x);
- if(((ix|low)|(iy+1))==0) return one/fabs(x);
- else return (iy==1)? x: -one/x;
- }
- }
- if(ix>=0x3FE59428) { /* |x|>=0.6744 */
- if(hx<0) {x = -x; y = -y;}
- z = pio4-x;
- w = pio4lo-y;
- x = z+w; y = 0.0;
- }
- z = x*x;
- w = z*z;
- /* Break x^5*(T[1]+x^2*T[2]+...) into
- * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) +
- * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12]))
- */
- r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11]))));
- v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12])))));
- s = z*x;
- r = y + z*(s*(r+v)+y);
- r += T[0]*s;
- w = x+r;
- if(ix>=0x3FE59428) {
- v = (double)iy;
- return (double)(1-((hx>>30)&2))*(v-2.0*(x-(w*w/(w+v)-r)));
- }
- if(iy==1) return w;
- else { /* if allow error up to 2 ulp,
- simply return -1.0/(x+r) here */
- /* compute -1.0/(x+r) accurately */
- double a,t;
- z = w;
- SET_LOW_WORD(z,0);
- v = r-(z - x); /* z+v = r+x */
- t = a = -1.0/w; /* a = -1.0/w */
- SET_LOW_WORD(t,0);
- s = 1.0+t*z;
- return t+a*(s+t*v);
- }
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/mprec.c b/libjava/java/lang/mprec.c
deleted file mode 100644
index 12dd5d2617a..00000000000
--- a/libjava/java/lang/mprec.c
+++ /dev/null
@@ -1,958 +0,0 @@
-/****************************************************************
- *
- * The author of this software is David M. Gay.
- *
- * Copyright (c) 1991 by AT&T.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software and in all copies of the supporting
- * documentation for such software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
- * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- ***************************************************************/
-
-/* Please send bug reports to
- David M. Gay
- AT&T Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-2070
- U.S.A.
- dmg@research.att.com or research!dmg
- */
-
-/* strtod for IEEE-, VAX-, and IBM-arithmetic machines.
- *
- * This strtod returns a nearest machine number to the input decimal
- * string (or sets errno to ERANGE). With IEEE arithmetic, ties are
- * broken by the IEEE round-even rule. Otherwise ties are broken by
- * biased rounding (add half and chop).
- *
- * Inspired loosely by William D. Clinger's paper "How to Read Floating
- * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
- *
- * Modifications:
- *
- * 1. We only require IEEE, IBM, or VAX double-precision
- * arithmetic (not IEEE double-extended).
- * 2. We get by with floating-point arithmetic in a case that
- * Clinger missed -- when we're computing d * 10^n
- * for a small integer d and the integer n is not too
- * much larger than 22 (the maximum integer k for which
- * we can represent 10^k exactly), we may be able to
- * compute (d*10^k) * 10^(e-k) with just one roundoff.
- * 3. Rather than a bit-at-a-time adjustment of the binary
- * result in the hard case, we use floating-point
- * arithmetic to determine the adjustment to within
- * one bit; only in really hard cases do we need to
- * compute a second residual.
- * 4. Because of 3., we don't need a large table of powers of 10
- * for ten-to-e (just some small tables, e.g. of 10^k
- * for 0 <= k <= 22).
- */
-
-/*
- * #define IEEE_8087 for IEEE-arithmetic machines where the least
- * significant byte has the lowest address.
- * #define IEEE_MC68k for IEEE-arithmetic machines where the most
- * significant byte has the lowest address.
- * #define Sudden_Underflow for IEEE-format machines without gradual
- * underflow (i.e., that flush to zero on underflow).
- * #define IBM for IBM mainframe-style floating-point arithmetic.
- * #define VAX for VAX-style floating-point arithmetic.
- * #define Unsigned_Shifts if >> does treats its left operand as unsigned.
- * #define No_leftright to omit left-right logic in fast floating-point
- * computation of dtoa.
- * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3.
- * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines
- * that use extended-precision instructions to compute rounded
- * products and quotients) with IBM.
- * #define ROUND_BIASED for IEEE-format with biased rounding.
- * #define Inaccurate_Divide for IEEE-format with correctly rounded
- * products but inaccurate quotients, e.g., for Intel i860.
- * #define Just_16 to store 16 bits per 32-bit long when doing high-precision
- * integer arithmetic. Whether this speeds things up or slows things
- * down depends on the machine and the number being converted.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <java-assert.h>
-#include "mprec.h"
-
-/* reent.c knows this value */
-#define _Kmax 15
-#include <stdio.h>
-
-_Jv_Bigint *
-_DEFUN (Balloc, (ptr, k), struct _Jv_reent *ptr _AND int k)
-{
- _Jv_Bigint *rv = NULL;
-
- int i = 0;
- int j = 1;
-
- JvAssert ((1 << k) < MAX_BIGNUM_WDS);
-
- while ((ptr->_allocation_map & j) && i < MAX_BIGNUMS)
- i++, j <<= 1;
-
- JvAssert (i < MAX_BIGNUMS);
-
- if (i >= MAX_BIGNUMS)
- return NULL;
-
- ptr->_allocation_map |= j;
- rv = &ptr->_freelist[i];
-
- rv->_k = k;
- rv->_maxwds = 32;
-
- return rv;
-}
-
-
-void
-_DEFUN (Bfree, (ptr, v), struct _Jv_reent *ptr _AND _Jv_Bigint * v)
-{
- long i;
-
- i = v - ptr->_freelist;
-
- JvAssert (i >= 0 && i < MAX_BIGNUMS);
-
- if (i >= 0 && i < MAX_BIGNUMS)
- ptr->_allocation_map &= ~ (1 << i);
-}
-
-
-_Jv_Bigint *
-_DEFUN (multadd, (ptr, b, m, a),
- struct _Jv_reent *ptr _AND
- _Jv_Bigint * b _AND
- int m _AND
- int a)
-{
- int i, wds;
- unsigned long *x, y;
-#ifdef Pack_32
- unsigned long xi, z;
-#endif
- _Jv_Bigint *b1;
-
- wds = b->_wds;
- x = b->_x;
- i = 0;
- do
- {
-#ifdef Pack_32
- xi = *x;
- y = (xi & 0xffff) * m + a;
- z = (xi >> 16) * m + (y >> 16);
- a = (int) (z >> 16);
- *x++ = (z << 16) + (y & 0xffff);
-#else
- y = *x * m + a;
- a = (int) (y >> 16);
- *x++ = y & 0xffff;
-#endif
- }
- while (++i < wds);
- if (a)
- {
- if (wds >= b->_maxwds)
- {
- b1 = Balloc (ptr, b->_k + 1);
- Bcopy (b1, b);
- Bfree (ptr, b);
- b = b1;
- }
- b->_x[wds++] = a;
- b->_wds = wds;
- }
- return b;
-}
-
-_Jv_Bigint *
-_DEFUN (s2b, (ptr, s, nd0, nd, y9),
- struct _Jv_reent * ptr _AND
- _CONST char *s _AND
- int nd0 _AND
- int nd _AND
- unsigned long y9)
-{
- _Jv_Bigint *b;
- int i, k;
- long x, y;
-
- x = (nd + 8) / 9;
- for (k = 0, y = 1; x > y; y <<= 1, k++);
-#ifdef Pack_32
- b = Balloc (ptr, k);
- b->_x[0] = y9;
- b->_wds = 1;
-#else
- b = Balloc (ptr, k + 1);
- b->_x[0] = y9 & 0xffff;
- b->_wds = (b->_x[1] = y9 >> 16) ? 2 : 1;
-#endif
-
- i = 9;
- if (9 < nd0)
- {
- s += 9;
- do
- b = multadd (ptr, b, 10, *s++ - '0');
- while (++i < nd0);
- s++;
- }
- else
- s += 10;
- for (; i < nd; i++)
- b = multadd (ptr, b, 10, *s++ - '0');
- return b;
-}
-
-int
-_DEFUN (hi0bits,
- (x), register unsigned long x)
-{
- register int k = 0;
-
- if (!(x & 0xffff0000))
- {
- k = 16;
- x <<= 16;
- }
- if (!(x & 0xff000000))
- {
- k += 8;
- x <<= 8;
- }
- if (!(x & 0xf0000000))
- {
- k += 4;
- x <<= 4;
- }
- if (!(x & 0xc0000000))
- {
- k += 2;
- x <<= 2;
- }
- if (!(x & 0x80000000))
- {
- k++;
- if (!(x & 0x40000000))
- return 32;
- }
- return k;
-}
-
-int
-_DEFUN (lo0bits, (y), unsigned long *y)
-{
- register int k;
- register unsigned long x = *y;
-
- if (x & 7)
- {
- if (x & 1)
- return 0;
- if (x & 2)
- {
- *y = x >> 1;
- return 1;
- }
- *y = x >> 2;
- return 2;
- }
- k = 0;
- if (!(x & 0xffff))
- {
- k = 16;
- x >>= 16;
- }
- if (!(x & 0xff))
- {
- k += 8;
- x >>= 8;
- }
- if (!(x & 0xf))
- {
- k += 4;
- x >>= 4;
- }
- if (!(x & 0x3))
- {
- k += 2;
- x >>= 2;
- }
- if (!(x & 1))
- {
- k++;
- x >>= 1;
- if (!x & 1)
- return 32;
- }
- *y = x;
- return k;
-}
-
-_Jv_Bigint *
-_DEFUN (i2b, (ptr, i), struct _Jv_reent * ptr _AND int i)
-{
- _Jv_Bigint *b;
-
- b = Balloc (ptr, 1);
- b->_x[0] = i;
- b->_wds = 1;
- return b;
-}
-
-_Jv_Bigint *
-_DEFUN (mult, (ptr, a, b), struct _Jv_reent * ptr _AND _Jv_Bigint * a _AND _Jv_Bigint * b)
-{
- _Jv_Bigint *c;
- int k, wa, wb, wc;
- unsigned long carry, y, z;
- unsigned long *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
-#ifdef Pack_32
- unsigned long z2;
-#endif
-
- if (a->_wds < b->_wds)
- {
- c = a;
- a = b;
- b = c;
- }
- k = a->_k;
- wa = a->_wds;
- wb = b->_wds;
- wc = wa + wb;
- if (wc > a->_maxwds)
- k++;
- c = Balloc (ptr, k);
- for (x = c->_x, xa = x + wc; x < xa; x++)
- *x = 0;
- xa = a->_x;
- xae = xa + wa;
- xb = b->_x;
- xbe = xb + wb;
- xc0 = c->_x;
-#ifdef Pack_32
- for (; xb < xbe; xb++, xc0++)
- {
- if ((y = *xb & 0xffff))
- {
- x = xa;
- xc = xc0;
- carry = 0;
- do
- {
- z = (*x & 0xffff) * y + (*xc & 0xffff) + carry;
- carry = z >> 16;
- z2 = (*x++ >> 16) * y + (*xc >> 16) + carry;
- carry = z2 >> 16;
- Storeinc (xc, z2, z);
- }
- while (x < xae);
- *xc = carry;
- }
- if ((y = *xb >> 16))
- {
- x = xa;
- xc = xc0;
- carry = 0;
- z2 = *xc;
- do
- {
- z = (*x & 0xffff) * y + (*xc >> 16) + carry;
- carry = z >> 16;
- Storeinc (xc, z, z2);
- z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry;
- carry = z2 >> 16;
- }
- while (x < xae);
- *xc = z2;
- }
- }
-#else
- for (; xb < xbe; xc0++)
- {
- if (y = *xb++)
- {
- x = xa;
- xc = xc0;
- carry = 0;
- do
- {
- z = *x++ * y + *xc + carry;
- carry = z >> 16;
- *xc++ = z & 0xffff;
- }
- while (x < xae);
- *xc = carry;
- }
- }
-#endif
- for (xc0 = c->_x, xc = xc0 + wc; wc > 0 && !*--xc; --wc);
- c->_wds = wc;
- return c;
-}
-
-_Jv_Bigint *
-_DEFUN (pow5mult,
- (ptr, b, k), struct _Jv_reent * ptr _AND _Jv_Bigint * b _AND int k)
-{
- _Jv_Bigint *b1, *p5, *p51;
- int i;
- static _CONST int p05[3] = {5, 25, 125};
-
- if ((i = k & 3))
- b = multadd (ptr, b, p05[i - 1], 0);
-
- if (!(k >>= 2))
- return b;
- if (!(p5 = ptr->_p5s))
- {
- /* first time */
- p5 = ptr->_p5s = i2b (ptr, 625);
- p5->_next = 0;
- }
- for (;;)
- {
- if (k & 1)
- {
- b1 = mult (ptr, b, p5);
- Bfree (ptr, b);
- b = b1;
- }
- if (!(k >>= 1))
- break;
- if (!(p51 = p5->_next))
- {
- p51 = p5->_next = mult (ptr, p5, p5);
- p51->_next = 0;
- }
- p5 = p51;
- }
- return b;
-}
-
-_Jv_Bigint *
-_DEFUN (lshift, (ptr, b, k), struct _Jv_reent * ptr _AND _Jv_Bigint * b _AND int k)
-{
- int i, k1, n, n1;
- _Jv_Bigint *b1;
- unsigned long *x, *x1, *xe, z;
-
-#ifdef Pack_32
- n = k >> 5;
-#else
- n = k >> 4;
-#endif
- k1 = b->_k;
- n1 = n + b->_wds + 1;
- for (i = b->_maxwds; n1 > i; i <<= 1)
- k1++;
- b1 = Balloc (ptr, k1);
- x1 = b1->_x;
- for (i = 0; i < n; i++)
- *x1++ = 0;
- x = b->_x;
- xe = x + b->_wds;
-#ifdef Pack_32
- if (k &= 0x1f)
- {
- k1 = 32 - k;
- z = 0;
- do
- {
- *x1++ = *x << k | z;
- z = *x++ >> k1;
- }
- while (x < xe);
- if ((*x1 = z))
- ++n1;
- }
-#else
- if (k &= 0xf)
- {
- k1 = 16 - k;
- z = 0;
- do
- {
- *x1++ = *x << k & 0xffff | z;
- z = *x++ >> k1;
- }
- while (x < xe);
- if (*x1 = z)
- ++n1;
- }
-#endif
- else
- do
- *x1++ = *x++;
- while (x < xe);
- b1->_wds = n1 - 1;
- Bfree (ptr, b);
- return b1;
-}
-
-int
-_DEFUN (cmp, (a, b), _Jv_Bigint * a _AND _Jv_Bigint * b)
-{
- unsigned long *xa, *xa0, *xb, *xb0;
- int i, j;
-
- i = a->_wds;
- j = b->_wds;
-#ifdef DEBUG
- if (i > 1 && !a->_x[i - 1])
- Bug ("cmp called with a->_x[a->_wds-1] == 0");
- if (j > 1 && !b->_x[j - 1])
- Bug ("cmp called with b->_x[b->_wds-1] == 0");
-#endif
- if (i -= j)
- return i;
- xa0 = a->_x;
- xa = xa0 + j;
- xb0 = b->_x;
- xb = xb0 + j;
- for (;;)
- {
- if (*--xa != *--xb)
- return *xa < *xb ? -1 : 1;
- if (xa <= xa0)
- break;
- }
- return 0;
-}
-
-_Jv_Bigint *
-_DEFUN (diff, (ptr, a, b), struct _Jv_reent * ptr _AND
- _Jv_Bigint * a _AND _Jv_Bigint * b)
-{
- _Jv_Bigint *c;
- int i, wa, wb;
- long borrow, y; /* We need signed shifts here. */
- unsigned long *xa, *xae, *xb, *xbe, *xc;
-#ifdef Pack_32
- long z;
-#endif
-
- i = cmp (a, b);
- if (!i)
- {
- c = Balloc (ptr, 0);
- c->_wds = 1;
- c->_x[0] = 0;
- return c;
- }
- if (i < 0)
- {
- c = a;
- a = b;
- b = c;
- i = 1;
- }
- else
- i = 0;
- c = Balloc (ptr, a->_k);
- c->_sign = i;
- wa = a->_wds;
- xa = a->_x;
- xae = xa + wa;
- wb = b->_wds;
- xb = b->_x;
- xbe = xb + wb;
- xc = c->_x;
- borrow = 0;
-#ifdef Pack_32
- do
- {
- y = (*xa & 0xffff) - (*xb & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- z = (*xa++ >> 16) - (*xb++ >> 16) + borrow;
- borrow = z >> 16;
- Sign_Extend (borrow, z);
- Storeinc (xc, z, y);
- }
- while (xb < xbe);
- while (xa < xae)
- {
- y = (*xa & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- z = (*xa++ >> 16) + borrow;
- borrow = z >> 16;
- Sign_Extend (borrow, z);
- Storeinc (xc, z, y);
- }
-#else
- do
- {
- y = *xa++ - *xb++ + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- *xc++ = y & 0xffff;
- }
- while (xb < xbe);
- while (xa < xae)
- {
- y = *xa++ + borrow;
- borrow = y >> 16;
- Sign_Extend (borrow, y);
- *xc++ = y & 0xffff;
- }
-#endif
- while (!*--xc)
- wa--;
- c->_wds = wa;
- return c;
-}
-
-double
-_DEFUN (ulp, (_x), double _x)
-{
- union double_union x, a;
- register long L;
-
- x.d = _x;
-
- L = (word0 (x) & Exp_mask) - (P - 1) * Exp_msk1;
-#ifndef Sudden_Underflow
- if (L > 0)
- {
-#endif
-#ifdef IBM
- L |= Exp_msk1 >> 4;
-#endif
- word0 (a) = L;
-#ifndef _DOUBLE_IS_32BITS
- word1 (a) = 0;
-#endif
-
-#ifndef Sudden_Underflow
- }
- else
- {
- L = -L >> Exp_shift;
- if (L < Exp_shift)
- {
- word0 (a) = 0x80000 >> L;
-#ifndef _DOUBLE_IS_32BITS
- word1 (a) = 0;
-#endif
- }
- else
- {
- word0 (a) = 0;
- L -= Exp_shift;
-#ifndef _DOUBLE_IS_32BITS
- word1 (a) = L >= 31 ? 1 : 1 << (31 - L);
-#endif
- }
- }
-#endif
- return a.d;
-}
-
-double
-_DEFUN (b2d, (a, e),
- _Jv_Bigint * a _AND int *e)
-{
- unsigned long *xa, *xa0, w, y, z;
- int k;
- union double_union d;
-#ifdef VAX
- unsigned long d0, d1;
-#else
-#define d0 word0(d)
-#define d1 word1(d)
-#endif
-
- xa0 = a->_x;
- xa = xa0 + a->_wds;
- y = *--xa;
-#ifdef DEBUG
- if (!y)
- Bug ("zero y in b2d");
-#endif
- k = hi0bits (y);
- *e = 32 - k;
-#ifdef Pack_32
- if (k < Ebits)
- {
- d0 = Exp_1 | y >> (Ebits - k);
- w = xa > xa0 ? *--xa : 0;
-#ifndef _DOUBLE_IS_32BITS
- d1 = y << (32 - Ebits + k) | w >> (Ebits - k);
-#endif
- goto ret_d;
- }
- z = xa > xa0 ? *--xa : 0;
- if (k -= Ebits)
- {
- d0 = Exp_1 | y << k | z >> (32 - k);
- y = xa > xa0 ? *--xa : 0;
-#ifndef _DOUBLE_IS_32BITS
- d1 = z << k | y >> (32 - k);
-#endif
- }
- else
- {
- d0 = Exp_1 | y;
-#ifndef _DOUBLE_IS_32BITS
- d1 = z;
-#endif
- }
-#else
- if (k < Ebits + 16)
- {
- z = xa > xa0 ? *--xa : 0;
- d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k;
- w = xa > xa0 ? *--xa : 0;
- y = xa > xa0 ? *--xa : 0;
- d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k;
- goto ret_d;
- }
- z = xa > xa0 ? *--xa : 0;
- w = xa > xa0 ? *--xa : 0;
- k -= Ebits + 16;
- d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k;
- y = xa > xa0 ? *--xa : 0;
- d1 = w << k + 16 | y << k;
-#endif
-ret_d:
-#ifdef VAX
- word0 (d) = d0 >> 16 | d0 << 16;
- word1 (d) = d1 >> 16 | d1 << 16;
-#else
-#undef d0
-#undef d1
-#endif
- return d.d;
-}
-
-_Jv_Bigint *
-_DEFUN (d2b,
- (ptr, _d, e, bits),
- struct _Jv_reent * ptr _AND
- double _d _AND
- int *e _AND
- int *bits)
-
-{
- union double_union d;
- _Jv_Bigint *b;
- int de, i, k;
- unsigned long *x, y, z;
-#ifdef VAX
- unsigned long d0, d1;
- d.d = _d;
- d0 = word0 (d) >> 16 | word0 (d) << 16;
- d1 = word1 (d) >> 16 | word1 (d) << 16;
-#else
-#define d0 word0(d)
-#define d1 word1(d)
- d.d = _d;
-#endif
-
-#ifdef Pack_32
- b = Balloc (ptr, 1);
-#else
- b = Balloc (ptr, 2);
-#endif
- x = b->_x;
-
- z = d0 & Frac_mask;
- d0 &= 0x7fffffff; /* clear sign bit, which we ignore */
-#ifdef Sudden_Underflow
- de = (int) (d0 >> Exp_shift);
-#ifndef IBM
- z |= Exp_msk11;
-#endif
-#else
- if ((de = (int) (d0 >> Exp_shift)))
- z |= Exp_msk1;
-#endif
-#ifdef Pack_32
-#ifndef _DOUBLE_IS_32BITS
- if ((y = d1))
- {
- if ((k = lo0bits (&y)))
- {
- x[0] = y | z << (32 - k);
- z >>= k;
- }
- else
- x[0] = y;
- i = b->_wds = (x[1] = z) ? 2 : 1;
- }
- else
-#endif
- {
-#ifdef DEBUG
- if (!z)
- Bug ("Zero passed to d2b");
-#endif
- k = lo0bits (&z);
- x[0] = z;
- i = b->_wds = 1;
-#ifndef _DOUBLE_IS_32BITS
- k += 32;
-#endif
- }
-#else
- if (y = d1)
- {
- if (k = lo0bits (&y))
- if (k >= 16)
- {
- x[0] = y | z << 32 - k & 0xffff;
- x[1] = z >> k - 16 & 0xffff;
- x[2] = z >> k;
- i = 2;
- }
- else
- {
- x[0] = y & 0xffff;
- x[1] = y >> 16 | z << 16 - k & 0xffff;
- x[2] = z >> k & 0xffff;
- x[3] = z >> k + 16;
- i = 3;
- }
- else
- {
- x[0] = y & 0xffff;
- x[1] = y >> 16;
- x[2] = z & 0xffff;
- x[3] = z >> 16;
- i = 3;
- }
- }
- else
- {
-#ifdef DEBUG
- if (!z)
- Bug ("Zero passed to d2b");
-#endif
- k = lo0bits (&z);
- if (k >= 16)
- {
- x[0] = z;
- i = 0;
- }
- else
- {
- x[0] = z & 0xffff;
- x[1] = z >> 16;
- i = 1;
- }
- k += 32;
- }
- while (!x[i])
- --i;
- b->_wds = i + 1;
-#endif
-#ifndef Sudden_Underflow
- if (de)
- {
-#endif
-#ifdef IBM
- *e = (de - Bias - (P - 1) << 2) + k;
- *bits = 4 * P + 8 - k - hi0bits (word0 (d) & Frac_mask);
-#else
- *e = de - Bias - (P - 1) + k;
- *bits = P - k;
-#endif
-#ifndef Sudden_Underflow
- }
- else
- {
- *e = de - Bias - (P - 1) + 1 + k;
-#ifdef Pack_32
- *bits = 32 * i - hi0bits (x[i - 1]);
-#else
- *bits = (i + 2) * 16 - hi0bits (x[i]);
-#endif
- }
-#endif
- return b;
-}
-#undef d0
-#undef d1
-
-double
-_DEFUN (ratio, (a, b), _Jv_Bigint * a _AND _Jv_Bigint * b)
-
-{
- union double_union da, db;
- int k, ka, kb;
-
- da.d = b2d (a, &ka);
- db.d = b2d (b, &kb);
-#ifdef Pack_32
- k = ka - kb + 32 * (a->_wds - b->_wds);
-#else
- k = ka - kb + 16 * (a->_wds - b->_wds);
-#endif
-#ifdef IBM
- if (k > 0)
- {
- word0 (da) += (k >> 2) * Exp_msk1;
- if (k &= 3)
- da.d *= 1 << k;
- }
- else
- {
- k = -k;
- word0 (db) += (k >> 2) * Exp_msk1;
- if (k &= 3)
- db.d *= 1 << k;
- }
-#else
- if (k > 0)
- word0 (da) += k * Exp_msk1;
- else
- {
- k = -k;
- word0 (db) += k * Exp_msk1;
- }
-#endif
- return da.d / db.d;
-}
-
-
-_CONST double
- tens[] =
-{
- 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
- 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
- 1e20, 1e21, 1e22, 1e23, 1e24
-
-};
-
-#if !defined(_DOUBLE_IS_32BITS) && !defined(__v800)
-_CONST double bigtens[] =
-{1e16, 1e32, 1e64, 1e128, 1e256};
-
-_CONST double tinytens[] =
-{1e-16, 1e-32, 1e-64, 1e-128, 1e-256};
-#else
-_CONST double bigtens[] =
-{1e16, 1e32};
-
-_CONST double tinytens[] =
-{1e-16, 1e-32};
-#endif
-
-
diff --git a/libjava/java/lang/mprec.h b/libjava/java/lang/mprec.h
deleted file mode 100644
index 192243157df..00000000000
--- a/libjava/java/lang/mprec.h
+++ /dev/null
@@ -1,374 +0,0 @@
-/****************************************************************
- *
- * The author of this software is David M. Gay.
- *
- * Copyright (c) 1991 by AT&T.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software and in all copies of the supporting
- * documentation for such software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
- * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- ***************************************************************/
-
-/* Please send bug reports to
- David M. Gay
- AT&T Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-2070
- U.S.A.
- dmg@research.att.com or research!dmg
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <config.h>
-#include "ieeefp.h"
-
-#include <math.h>
-// #include <float.h>
-// #include <errno.h>
-
-/* These typedefs are true for the targets running Java. */
-
-#ifndef HAVE_INT32_DEFINED
-typedef int __int32_t;
-typedef unsigned int __uint32_t;
-#endif
-
-#ifdef __IEEE_LITTLE_ENDIAN
-#define IEEE_8087
-#endif
-
-#ifdef __IEEE_BIG_ENDIAN
-#define IEEE_MC68k
-#endif
-
-#ifdef __Z8000__
-#define Just_16
-#endif
-
-#ifdef DEBUG
-#include "stdio.h"
-#define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);}
-#endif
-
-
-#ifdef Unsigned_Shifts
-#define Sign_Extend(a,b) if (b < 0) a |= (__uint32_t)0xffff0000;
-#else
-#define Sign_Extend(a,b) /*no-op*/
-#endif
-
-#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
-Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
-#endif
-
-/* If we are going to examine or modify specific bits in a double using
- the word0 and/or word1 macros, then we must wrap the double inside
- a union. This is necessary to avoid undefined behavior according to
- the ANSI C spec. */
-union double_union
-{
- double d;
- // FIXME: This should be some well-defined 32 bit type.
- __uint32_t i[2];
-};
-
-#ifdef IEEE_8087
-#define word0(x) (x.i[1])
-#define word1(x) (x.i[0])
-#else
-#define word0(x) (x.i[0])
-#define word1(x) (x.i[1])
-#endif
-
-/* The following definition of Storeinc is appropriate for MIPS processors.
- * An alternative that might be better on some machines is
- * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
- */
-#if defined(IEEE_8087) + defined(VAX)
-#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
-((unsigned short *)a)[0] = (unsigned short)c, a++)
-#else
-#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
-((unsigned short *)a)[1] = (unsigned short)c, a++)
-#endif
-
-/* #define P DBL_MANT_DIG */
-/* Ten_pmax = floor(P*log(2)/log(5)) */
-/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */
-/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */
-/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */
-
-#if defined(IEEE_8087) + defined(IEEE_MC68k)
-#if defined (_DOUBLE_IS_32BITS)
-#define Exp_shift 23
-#define Exp_shift1 23
-#define Exp_msk1 ((__uint32_t)0x00800000L)
-#define Exp_msk11 ((__uint32_t)0x00800000L)
-#define Exp_mask ((__uint32_t)0x7f800000L)
-#define P 24
-#define Bias 127
-#if 0
-#define IEEE_Arith /* it is, but the code doesn't handle IEEE singles yet */
-#endif
-#define Emin (-126)
-#define Exp_1 ((__uint32_t)0x3f800000L)
-#define Exp_11 ((__uint32_t)0x3f800000L)
-#define Ebits 8
-#define Frac_mask ((__uint32_t)0x007fffffL)
-#define Frac_mask1 ((__uint32_t)0x007fffffL)
-#define Ten_pmax 10
-#define Sign_bit ((__uint32_t)0x80000000L)
-#define Ten_pmax 10
-#define Bletch 2
-#define Bndry_mask ((__uint32_t)0x007fffffL)
-#define Bndry_mask1 ((__uint32_t)0x007fffffL)
-#define LSB 1
-#define Sign_bit ((__uint32_t)0x80000000L)
-#define Log2P 1
-#define Tiny0 0
-#define Tiny1 1
-#define Quick_max 5
-#define Int_max 6
-#define Infinite(x) (word0(x) == ((__uint32_t)0x7f800000L))
-#undef word0
-#undef word1
-
-#define word0(x) (x.i[0])
-#define word1(x) 0
-#else
-
-#define Exp_shift 20
-#define Exp_shift1 20
-#define Exp_msk1 ((__uint32_t)0x100000L)
-#define Exp_msk11 ((__uint32_t)0x100000L)
-#define Exp_mask ((__uint32_t)0x7ff00000L)
-#define P 53
-#define Bias 1023
-#define IEEE_Arith
-#define Emin (-1022)
-#define Exp_1 ((__uint32_t)0x3ff00000L)
-#define Exp_11 ((__uint32_t)0x3ff00000L)
-#define Ebits 11
-#define Frac_mask ((__uint32_t)0xfffffL)
-#define Frac_mask1 ((__uint32_t)0xfffffL)
-#define Ten_pmax 22
-#define Bletch 0x10
-#define Bndry_mask ((__uint32_t)0xfffffL)
-#define Bndry_mask1 ((__uint32_t)0xfffffL)
-#define LSB 1
-#define Sign_bit ((__uint32_t)0x80000000L)
-#define Log2P 1
-#define Tiny0 0
-#define Tiny1 1
-#define Quick_max 14
-#define Int_max 14
-#define Infinite(x) (word0(x) == ((__uint32_t)0x7ff00000L)) /* sufficient test for here */
-#endif
-
-#else
-#undef Sudden_Underflow
-#define Sudden_Underflow
-#ifdef IBM
-#define Exp_shift 24
-#define Exp_shift1 24
-#define Exp_msk1 ((__uint32_t)0x1000000L)
-#define Exp_msk11 ((__uint32_t)0x1000000L)
-#define Exp_mask ((__uint32_t)0x7f000000L)
-#define P 14
-#define Bias 65
-#define Exp_1 ((__uint32_t)0x41000000L)
-#define Exp_11 ((__uint32_t)0x41000000L)
-#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */
-#define Frac_mask ((__uint32_t)0xffffffL)
-#define Frac_mask1 ((__uint32_t)0xffffffL)
-#define Bletch 4
-#define Ten_pmax 22
-#define Bndry_mask ((__uint32_t)0xefffffL)
-#define Bndry_mask1 ((__uint32_t)0xffffffL)
-#define LSB 1
-#define Sign_bit ((__uint32_t)0x80000000L)
-#define Log2P 4
-#define Tiny0 ((__uint32_t)0x100000L)
-#define Tiny1 0
-#define Quick_max 14
-#define Int_max 15
-#else /* VAX */
-#define Exp_shift 23
-#define Exp_shift1 7
-#define Exp_msk1 0x80
-#define Exp_msk11 ((__uint32_t)0x800000L)
-#define Exp_mask ((__uint32_t)0x7f80L)
-#define P 56
-#define Bias 129
-#define Exp_1 ((__uint32_t)0x40800000L)
-#define Exp_11 ((__uint32_t)0x4080L)
-#define Ebits 8
-#define Frac_mask ((__uint32_t)0x7fffffL)
-#define Frac_mask1 ((__uint32_t)0xffff007fL)
-#define Ten_pmax 24
-#define Bletch 2
-#define Bndry_mask ((__uint32_t)0xffff007fL)
-#define Bndry_mask1 ((__uint32_t)0xffff007fL)
-#define LSB ((__uint32_t)0x10000L)
-#define Sign_bit ((__uint32_t)0x8000L)
-#define Log2P 1
-#define Tiny0 0x80
-#define Tiny1 0
-#define Quick_max 15
-#define Int_max 15
-#endif
-#endif
-
-#ifndef IEEE_Arith
-#define ROUND_BIASED
-#endif
-
-#ifdef RND_PRODQUOT
-#define rounded_product(a,b) a = rnd_prod(a, b)
-#define rounded_quotient(a,b) a = rnd_quot(a, b)
-#ifdef KR_headers
-extern double rnd_prod(), rnd_quot();
-#else
-extern double rnd_prod(double, double), rnd_quot(double, double);
-#endif
-#else
-#define rounded_product(a,b) a *= b
-#define rounded_quotient(a,b) a /= b
-#endif
-
-#define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1))
-#define Big1 ((__uint32_t)0xffffffffL)
-
-#ifndef Just_16
-/* When Pack_32 is not defined, we store 16 bits per 32-bit long.
- * This makes some inner loops simpler and sometimes saves work
- * during multiplications, but it often seems to make things slightly
- * slower. Hence the default is now to store 32 bits per long.
- */
-
-#ifndef Pack_32
-#define Pack_32
-#endif
-#endif
-
-
-#define MAX_BIGNUMS 16
-#define MAX_BIGNUM_WDS 32
-
-struct _Jv_Bigint
-{
- struct _Jv_Bigint *_next;
- int _k, _maxwds, _sign, _wds;
- unsigned long _x[MAX_BIGNUM_WDS];
-};
-
-
-#define _PTR void *
-#define _AND ,
-#define _NOARGS void
-#define _CONST const
-#define _VOLATILE volatile
-#define _SIGNED signed
-#define _DOTS , ...
-#define _VOID void
-#define _EXFUN(name, proto) name proto
-#define _DEFUN(name, arglist, args) name(args)
-#define _DEFUN_VOID(name) name(_NOARGS)
-#define _CAST_VOID (void)
-
-
-struct _Jv_reent
-{
- /* local copy of errno */
- int _errno;
-
- /* used by mprec routines */
- struct _Jv_Bigint *_result;
- int _result_k;
- struct _Jv_Bigint *_p5s;
-
- struct _Jv_Bigint _freelist[MAX_BIGNUMS];
- int _allocation_map;
-
- int num;
-};
-
-
-typedef struct _Jv_Bigint _Jv_Bigint;
-
-#define Balloc _Jv_Balloc
-#define Bfree _Jv_Bfree
-#define multadd _Jv_multadd
-#define s2b _Jv_s2b
-#define lo0bits _Jv_lo0bits
-#define hi0bits _Jv_hi0bits
-#define i2b _Jv_i2b
-#define mult _Jv_mult
-#define pow5mult _Jv_pow5mult
-#define lshift _Jv_lshift
-#define cmp _Jv__mcmp
-#define diff _Jv__mdiff
-#define ulp _Jv_ulp
-#define b2d _Jv_b2d
-#define d2b _Jv_d2b
-#define ratio _Jv_ratio
-
-#define tens _Jv__mprec_tens
-#define bigtens _Jv__mprec_bigtens
-#define tinytens _Jv__mprec_tinytens
-
-#define _dtoa _Jv_dtoa
-#define _dtoa_r _Jv_dtoa_r
-#define _strtod_r _Jv_strtod_r
-
-extern double _EXFUN(_strtod_r, (struct _Jv_reent *ptr, const char *s00, char **se));
-extern char* _EXFUN(_dtoa_r, (struct _Jv_reent *ptr, double d,
- int mode, int ndigits, int *decpt, int *sign,
- char **rve, int float_type));
-void _EXFUN(_dtoa, (double d, int mode, int ndigits, int *decpt, int *sign,
- char **rve, char *buf, int float_type));
-
-double _EXFUN(ulp,(double x));
-double _EXFUN(b2d,(_Jv_Bigint *a , int *e));
-_Jv_Bigint * _EXFUN(Balloc,(struct _Jv_reent *p, int k));
-void _EXFUN(Bfree,(struct _Jv_reent *p, _Jv_Bigint *v));
-_Jv_Bigint * _EXFUN(multadd,(struct _Jv_reent *p, _Jv_Bigint *, int, int));
-_Jv_Bigint * _EXFUN(s2b,(struct _Jv_reent *, const char*, int, int, unsigned long));
-_Jv_Bigint * _EXFUN(i2b,(struct _Jv_reent *,int));
-_Jv_Bigint * _EXFUN(mult, (struct _Jv_reent *, _Jv_Bigint *, _Jv_Bigint *));
-_Jv_Bigint * _EXFUN(pow5mult, (struct _Jv_reent *, _Jv_Bigint *, int k));
-int _EXFUN(hi0bits,(unsigned long));
-int _EXFUN(lo0bits,(unsigned long *));
-_Jv_Bigint * _EXFUN(d2b,(struct _Jv_reent *p, double d, int *e, int *bits));
-_Jv_Bigint * _EXFUN(lshift,(struct _Jv_reent *p, _Jv_Bigint *b, int k));
-_Jv_Bigint * _EXFUN(diff,(struct _Jv_reent *p, _Jv_Bigint *a, _Jv_Bigint *b));
-int _EXFUN(cmp,(_Jv_Bigint *a, _Jv_Bigint *b));
-
-double _EXFUN(ratio,(_Jv_Bigint *a, _Jv_Bigint *b));
-#define Bcopy(x,y) memcpy((char *)&x->_sign, (char *)&y->_sign, y->_wds*sizeof(long) + 2*sizeof(int))
-
-#if defined(_DOUBLE_IS_32BITS) && defined(__v800)
-#define n_bigtens 2
-#else
-#define n_bigtens 5
-#endif
-
-extern _CONST double tinytens[];
-extern _CONST double bigtens[];
-extern _CONST double tens[];
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/libjava/java/lang/natCharacter.cc b/libjava/java/lang/natCharacter.cc
deleted file mode 100644
index fa312d1d9a4..00000000000
--- a/libjava/java/lang/natCharacter.cc
+++ /dev/null
@@ -1,284 +0,0 @@
-// natCharacter.cc - Native part of Character class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/Character.h>
-
-#include <java-chartables.h>
-
-
-
-#define asize(x) ((sizeof (x)) / sizeof (x[0]))
-
-static jchar
-to_lower_title (jchar ch)
-{
- for (unsigned int i = 0; i < asize (title_to_upper_table); ++i)
- {
- // We can assume that the entries in the two tables are
- // parallel. This is checked in the script.
- if (title_to_upper_table[i][1] == ch
- || title_to_upper_table[i][0] == ch)
- return title_to_lower_table[i][1];
- }
- return ch;
-}
-
-static jchar
-to_upper_title (jchar ch)
-{
- for (unsigned int i = 0; i < asize (title_to_lower_table); ++i)
- {
- // We can assume that the entries in the two tables are
- // parallel. This is checked in the script.
- if (title_to_lower_table[i][1] == ch
- || title_to_lower_table[i][0] == ch)
- return title_to_upper_table[i][1];
- }
- return ch;
-}
-
-jboolean
-java::lang::Character::isTitleCase (jchar ch)
-{
- for (unsigned int i = 0; i < asize (title_to_lower_table); ++i)
- {
- if (title_to_lower_table[i][0] == ch)
- return true;
- }
- return false;
-}
-
-jchar
-java::lang::Character::toTitleCase (jchar ch)
-{
- // Both titlecase mapping tables have the same length. This is
- // checked in the chartables script.
- for (unsigned int i = 0; i < asize (title_to_lower_table); ++i)
- {
- if (title_to_lower_table[i][0] == ch)
- return ch;
- if (title_to_lower_table[i][1] == ch)
- return title_to_lower_table[i][0];
- if (title_to_upper_table[i][1] == ch)
- return title_to_upper_table[i][0];
- }
- return toUpperCase (ch);
-}
-
-#ifdef COMPACT_CHARACTER
-
-static int
-table_search (const jchar table[][2], int table_len, jchar ch)
-{
- int low, high, i, old;
-
- low = 0;
- high = table_len;
- i = high / 2;
-
- while (true)
- {
- if (ch < table[i][0])
- high = i;
- else if (ch > table[i][1])
- low = i;
- else
- return i;
-
- old = i;
- i = (high + low) / 2;
- if (i == old)
- break;
- }
-
- return -1;
-}
-
-jint
-java::lang::Character::digit_value (jchar ch)
-{
- int index = table_search (digit_table, asize (digit_table), ch);
- if (index == -1)
- return -1;
-
- jchar base = digit_table[index][0];
- // Tamil doesn't have a digit `0'. So we special-case it here.
- if (base == TAMIL_DIGIT_ONE)
- return ch - base + 1;
- return ch - base;
-}
-
-jint
-java::lang::Character::getNumericValue (jchar ch)
-{
- jint d = digit (ch, 36);
- if (d != -1)
- return d;
-
- for (unsigned int i = 0; i < asize (numeric_table); ++i)
- {
- if (numeric_table[i] == ch)
- return numeric_value[i];
- }
-
- return -1;
-}
-
-jint
-java::lang::Character::getType (jchar ch)
-{
- int index = table_search (all_table, asize (all_table), ch);
- if (index != -1)
- return category_table[index];
- return UNASSIGNED;
-}
-
-jboolean
-java::lang::Character::isLowerCase (jchar ch)
-{
- if (ch >= 0x2000 && ch <= 0x2fff)
- return false;
- if (table_search (lower_case_table, asize (lower_case_table), ch) != -1)
- return true;
-
- int low, high, i, old;
-
- low = 0;
- high = asize (lower_anomalous_table);
- i = high / 2;
-
- while (true)
- {
- if (ch < lower_anomalous_table[i])
- high = i;
- else if (ch > lower_anomalous_table[i])
- low = i;
- else
- return true;
-
- old = i;
- i = (high + low) / 2;
- if (i == old)
- break;
- }
-
- return false;
-}
-
-jboolean
-java::lang::Character::isSpaceChar (jchar ch)
-{
- return table_search (space_table, asize (space_table), ch) != -1;
-}
-
-jboolean
-java::lang::Character::isUpperCase (jchar ch)
-{
- if (ch >= 0x2000 && ch <= 0x2fff)
- return false;
- return table_search (upper_case_table, asize (upper_case_table), ch) != -1;
-}
-
-jchar
-java::lang::Character::toLowerCase (jchar ch)
-{
- int index = table_search (upper_case_table, asize (upper_case_table), ch);
- if (index == -1)
- return to_lower_title (ch);
- return (jchar) (ch - upper_case_table[index][0]
- + upper_case_map_table[index]);
-}
-
-jchar
-java::lang::Character::toUpperCase (jchar ch)
-{
- int index = table_search (lower_case_table, asize (lower_case_table), ch);
- if (index == -1)
- return to_upper_title (ch);
- return (jchar) (ch - lower_case_table[index][0]
- + lower_case_map_table[index]);
-}
-
-#else /* COMPACT_CHARACTER */
-
-jint
-java::lang::Character::digit_value (jchar ch)
-{
- if (type_table[ch] == DECIMAL_DIGIT_NUMBER)
- return attribute_table[ch];
- return -1;
-}
-
-jint
-java::lang::Character::getNumericValue (jchar ch)
-{
- jint d = digit (ch, 36);
- if (d != -1)
- return d;
-
- // Some characters require two attributes. We special-case them here.
- if (ch >= ROMAN_START && ch <= ROMAN_END)
- return secondary_attribute_table[ch - ROMAN_START];
- if (type_table[ch] == LETTER_NUMBER || type_table[ch] == OTHER_NUMBER)
- return attribute_table[ch];
- return -1;
-}
-
-jint
-java::lang::Character::getType (jchar ch)
-{
- return type_table[ch];
-}
-
-jboolean
-java::lang::Character::isLowerCase (jchar ch)
-{
- if (ch >= 0x2000 && ch <= 0x2fff)
- return false;
- return type_table[ch] == LOWERCASE_LETTER;
-}
-
-jboolean
-java::lang::Character::isSpaceChar (jchar ch)
-{
- return (type_table[ch] == SPACE_SEPARATOR
- || type_table[ch] == LINE_SEPARATOR
- || type_table[ch] == PARAGRAPH_SEPARATOR);
-}
-
-jboolean
-java::lang::Character::isUpperCase (jchar ch)
-{
- if (ch >= 0x2000 && ch <= 0x2fff)
- return false;
- return type_table[ch] == UPPERCASE_LETTER;
-}
-
-jchar
-java::lang::Character::toLowerCase (jchar ch)
-{
- if (type_table[ch] == UPPERCASE_LETTER)
- return attribute_table[ch];
- return to_lower_title (ch);
-}
-
-jchar
-java::lang::Character::toUpperCase (jchar ch)
-{
- if (type_table[ch] == LOWERCASE_LETTER)
- return attribute_table[ch];
- return to_upper_title (ch);
-}
-
-#endif /* COMPACT_CHARACTER */
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
deleted file mode 100644
index 1768df5ecb2..00000000000
--- a/libjava/java/lang/natClass.cc
+++ /dev/null
@@ -1,785 +0,0 @@
-// natClass.cc - Implementation of java.lang.Class native methods.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-#pragma implementation "Class.h"
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/Class.h>
-#include <java/lang/ClassLoader.h>
-#include <java/lang/String.h>
-#include <java/lang/reflect/Modifier.h>
-#include <java/lang/reflect/Member.h>
-#include <java/lang/reflect/Method.h>
-#include <java/lang/reflect/Field.h>
-#include <java/lang/reflect/Constructor.h>
-#include <java/lang/AbstractMethodError.h>
-#include <java/lang/ClassNotFoundException.h>
-#include <java/lang/IllegalAccessException.h>
-#include <java/lang/IllegalAccessError.h>
-#include <java/lang/IncompatibleClassChangeError.h>
-#include <java/lang/InstantiationException.h>
-#include <java/lang/NoClassDefFoundError.h>
-#include <java/lang/NoSuchFieldException.h>
-#include <java/lang/NoSuchMethodException.h>
-#include <java/lang/Thread.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/System.h>
-#include <java/lang/SecurityManager.h>
-
-
-
-#define CloneableClass _CL_Q34java4lang9Cloneable
-extern java::lang::Class CloneableClass;
-#define ObjectClass _CL_Q34java4lang6Object
-extern java::lang::Class ObjectClass;
-#define ErrorClass _CL_Q34java4lang5Error
-extern java::lang::Class ErrorClass;
-#define ClassClass _CL_Q34java4lang5Class
-extern java::lang::Class ClassClass;
-#define MethodClass _CL_Q44java4lang7reflect6Method
-extern java::lang::Class MethodClass;
-#define FieldClass _CL_Q44java4lang7reflect5Field
-extern java::lang::Class FieldClass;
-
-// Some constants we use to look up the class initializer.
-static _Jv_Utf8Const *void_signature = _Jv_makeUtf8Const ("()V", 3);
-static _Jv_Utf8Const *clinit_name = _Jv_makeUtf8Const ("<clinit>", 8);
-static _Jv_Utf8Const *init_name = _Jv_makeUtf8Const ("<init>", 6);
-
-// These are the possible values for the `state' field. They more or
-// less follow the section numbers in the Java Language Spec. Right
-// now we don't bother to represent other interesting states, e.g. the
-// states a class might inhabit before it is prepared. Note that
-// ordering is important here; in particular `resolved' must come
-// between `nothing' and the other states.
-#define STATE_NOTHING 0
-#define STATE_RESOLVED 1
-#define STATE_IN_PROGRESS 6
-#define STATE_DONE 9
-#define STATE_ERROR 10
-
-// Size of local hash table.
-#define HASH_LEN 256
-
-// Hash function for Utf8Consts.
-#define HASH_UTF(Utf) (((Utf)->hash) % HASH_LEN)
-
-// This is the table we use to keep track of loaded classes. See Spec
-// section 12.2.
-static jclass loaded_classes[HASH_LEN];
-
-
-
-jclass
-java::lang::Class::forName (jstring className)
-{
- if (! className)
- JvThrow (new java::lang::NullPointerException);
-
-#if 0
- // FIXME: should check syntax of CLASSNAME and throw
- // IllegalArgumentException on failure.
-
- // FIXME: should use class loader from calling method.
- jclass klass = _Jv_FindClass (className, NULL);
-#else
- jsize length = _Jv_GetStringUTFLength (className);
- char buffer[length];
- _Jv_GetStringUTFRegion (className, 0, length, buffer);
-
- // FIXME: should check syntax of CLASSNAME and throw
- // IllegalArgumentException on failure.
- _Jv_Utf8Const *name = _Jv_makeUtf8Const (buffer, length);
-
- // FIXME: should use class loader from calling method.
- jclass klass = (buffer[0] == '['
- ? _Jv_FindClassFromSignature (name->data, NULL)
- : _Jv_FindClass (name, NULL));
-#endif
- if (! klass)
- JvThrow (new java::lang::ClassNotFoundException (className));
- return klass;
-}
-
-java::lang::reflect::Constructor *
-java::lang::Class::getConstructor (JArray<jclass> *)
-{
- JvFail ("java::lang::Class::getConstructor not implemented");
-}
-
-JArray<java::lang::reflect::Constructor *> *
-java::lang::Class::getConstructors (void)
-{
- JvFail ("java::lang::Class::getConstructors not implemented");
-}
-
-java::lang::reflect::Constructor *
-java::lang::Class::getDeclaredConstructor (JArray<jclass> *)
-{
- JvFail ("java::lang::Class::getDeclaredConstructor not implemented");
-}
-
-JArray<java::lang::reflect::Constructor *> *
-java::lang::Class::getDeclaredConstructors (void)
-{
- JvFail ("java::lang::Class::getDeclaredConstructors not implemented");
-}
-
-java::lang::reflect::Field *
-java::lang::Class::getField (jstring name, jint hash)
-{
- java::lang::reflect::Field* rfield;
- for (int i = 0; i < field_count; i++)
- {
- _Jv_Field *field = &fields[i];
- if (! _Jv_equal (field->name, name, hash))
- continue;
- if (! (field->getModifiers() & java::lang::reflect::Modifier::PUBLIC))
- continue;
- rfield = new java::lang::reflect::Field ();
- rfield->offset = (char*) field - (char*) fields;
- rfield->declaringClass = this;
- rfield->name = name;
- return rfield;
- }
- jclass superclass = getSuperclass();
- if (superclass == NULL)
- return NULL;
- rfield = superclass->getField(name, hash);
- for (int i = 0; i < interface_count && rfield == NULL; ++i)
- rfield = interfaces[i]->getField (name, hash);
- return rfield;
-}
-
-java::lang::reflect::Field *
-java::lang::Class::getDeclaredField (jstring name)
-{
- java::lang::SecurityManager *s = java::lang::System::getSecurityManager();
- if (s != NULL)
- s->checkMemberAccess (this, java::lang::reflect::Member::DECLARED);
- int hash = name->hashCode();
- for (int i = 0; i < field_count; i++)
- {
- _Jv_Field *field = &fields[i];
- if (! _Jv_equal (field->name, name, hash))
- continue;
- java::lang::reflect::Field* rfield = new java::lang::reflect::Field ();
- rfield->offset = (char*) field - (char*) fields;
- rfield->declaringClass = this;
- rfield->name = name;
- return rfield;
- }
- JvThrow (new java::lang::NoSuchFieldException (name));
-}
-
-JArray<java::lang::reflect::Field *> *
-java::lang::Class::getDeclaredFields (void)
-{
- java::lang::SecurityManager *s = java::lang::System::getSecurityManager();
- if (s != NULL)
- s->checkMemberAccess (this, java::lang::reflect::Member::DECLARED);
- JArray<java::lang::reflect::Field *> *result
- = (JArray<java::lang::reflect::Field *> *)
- JvNewObjectArray (field_count, &FieldClass, NULL);
- java::lang::reflect::Field** fptr = elements (result);
- for (int i = 0; i < field_count; i++)
- {
- _Jv_Field *field = &fields[i];
- java::lang::reflect::Field* rfield = new java::lang::reflect::Field ();
- rfield->offset = (char*) field - (char*) fields;
- rfield->declaringClass = this;
- *fptr++ = rfield;
- }
- return result;
-}
-
-java::lang::reflect::Method *
-java::lang::Class::getDeclaredMethod (jstring, JArray<jclass> *)
-{
- JvFail ("java::lang::Class::getDeclaredMethod not implemented");
-}
-
-JArray<java::lang::reflect::Method *> *
-java::lang::Class::getDeclaredMethods (void)
-{
- int numMethods = 0;
- int i;
- for (i = method_count; --i >= 0; )
- {
- _Jv_Method *method = &methods[i];
- if (method->name == NULL
- || _Jv_equalUtf8Consts (method->name, clinit_name)
- || _Jv_equalUtf8Consts (method->name, init_name))
- continue;
- numMethods++;
- }
- JArray<java::lang::reflect::Method *> *result
- = (JArray<java::lang::reflect::Method *> *)
- JvNewObjectArray (numMethods, &MethodClass, NULL);
- java::lang::reflect::Method** mptr = elements (result);
- for (i = 0; i < method_count; i++)
- {
- _Jv_Method *method = &methods[i];
- if (method->name == NULL
- || _Jv_equalUtf8Consts (method->name, clinit_name)
- || _Jv_equalUtf8Consts (method->name, init_name))
- continue;
- java::lang::reflect::Method* rmethod = new java::lang::reflect::Method ();
- rmethod->offset = (char*) mptr - (char*) elements (result);
- rmethod->declaringClass = this;
- *mptr++ = rmethod;
- }
- return result;
-}
-
-jstring
-java::lang::Class::getName (void)
-{
- char buffer[name->length + 1];
- memcpy (buffer, name->data, name->length);
- buffer[name->length] = '\0';
- return _Jv_NewStringUTF (buffer);
-}
-
-JArray<jclass> *
-java::lang::Class::getClasses (void)
-{
- // FIXME: implement.
- return NULL;
-}
-
-JArray<jclass> *
-java::lang::Class::getDeclaredClasses (void)
-{
- checkMemberAccess (java::lang::reflect::Member::DECLARED);
- JvFail ("java::lang::Class::getDeclaredClasses not implemented");
- return NULL; // Placate compiler.
-}
-
-// This is marked as unimplemented in the JCL book.
-jclass
-java::lang::Class::getDeclaringClass (void)
-{
- JvFail ("java::lang::Class::getDeclaringClass unimplemented");
- return NULL; // Placate compiler.
-}
-
-JArray<java::lang::reflect::Field *> *
-java::lang::Class::getFields (void)
-{
- JvFail ("java::lang::Class::getFields not implemented");
-}
-
-JArray<jclass> *
-java::lang::Class::getInterfaces (void)
-{
- jobjectArray r = JvNewObjectArray (interface_count, getClass (), NULL);
- jobject *data = elements (r);
- for (int i = 0; i < interface_count; ++i)
- data[i] = interfaces[i];
- return reinterpret_cast<JArray<jclass> *> (r);
-}
-
-java::lang::reflect::Method *
-java::lang::Class::getMethod (jstring, JArray<jclass> *)
-{
- JvFail ("java::lang::Class::getMethod not implemented");
-}
-
-JArray<java::lang::reflect::Method *> *
-java::lang::Class::getMethods (void)
-{
- JvFail ("java::lang::Class::getMethods not implemented");
-}
-
-jboolean
-java::lang::Class::isAssignableFrom (jclass klass)
-{
- if (this == klass)
- return true;
- // Primitive types must be equal, which we just tested for.
- if (isPrimitive () || ! klass || klass->isPrimitive())
- return false;
-
- // If target is array, so must source be.
- if (isArray ())
- {
- if (! klass->isArray())
- return false;
- return getComponentType()->isAssignableFrom(klass->getComponentType());
- }
-
- if (isAssignableFrom (klass->getSuperclass()))
- return true;
-
- if (isInterface())
- {
- // See if source implements this interface.
- for (int i = 0; i < klass->interface_count; ++i)
- {
- jclass interface = klass->interfaces[i];
- // FIXME: ensure that class is prepared here.
- // See Spec 12.3.2.
- if (isAssignableFrom (interface))
- return true;
- }
- }
-
- return false;
-}
-
-jboolean
-java::lang::Class::isInstance (jobject obj)
-{
- if (! obj || isPrimitive ())
- return false;
- return isAssignableFrom (obj->getClass());
-}
-
-jboolean
-java::lang::Class::isInterface (void)
-{
- return (accflags & java::lang::reflect::Modifier::INTERFACE) != 0;
-}
-
-jobject
-java::lang::Class::newInstance (void)
-{
- // FIXME: do accessibility checks here. There currently doesn't
- // seem to be any way to do these.
- // FIXME: we special-case one check here just to pass a Plum Hall
- // test. Once access checking is implemented, remove this.
- if (this == &ClassClass)
- JvThrow (new java::lang::IllegalAccessException);
-
- if (isPrimitive ()
- || isInterface ()
- || isArray ()
- || java::lang::reflect::Modifier::isAbstract(accflags))
- JvThrow (new java::lang::InstantiationException);
-
- _Jv_Method *meth = _Jv_GetMethodLocal (this, init_name, void_signature);
- if (! meth)
- JvThrow (new java::lang::NoSuchMethodException);
-
- jobject r = JvAllocObject (this);
- ((void (*) (jobject)) meth->ncode) (r);
- return r;
-}
-
-// Initialize the constants.
-void
-java::lang::Class::resolveConstants (void)
-{
- for (int i = 0; i < constants.size; ++i)
- {
- if (constants.tags[i] == CONSTANT_String)
- {
- jstring str;
- str = _Jv_NewStringUtf8Const ((_Jv_Utf8Const *) constants.data[i]);
- constants.data[i] = (void *) str;
- constants.tags[i] = CONSTANT_ResolvedString;
- }
- else if (constants.tags[i] == CONSTANT_Class)
- {
- _Jv_Utf8Const *name = (_Jv_Utf8Const *) constants.data[i];
- jclass klass = _Jv_FindClassFromSignature (name->data, loader);
- if (! klass)
- {
- jstring str = _Jv_NewStringUtf8Const (name);
- JvThrow (new java::lang::ClassNotFoundException (str));
- }
-
- constants.data[i] = (void *) klass;
- constants.tags[i] = CONSTANT_ResolvedClass;
- }
- }
-}
-
-// FIXME.
-void
-java::lang::Class::hackRunInitializers (void)
-{
- _Jv_Method *meth = _Jv_GetMethodLocal (this, clinit_name, void_signature);
- if (meth)
- ((void (*) (void)) meth->ncode) ();
-}
-
-// This implements the initialization process for a class. From Spec
-// section 12.4.2.
-void
-java::lang::Class::initializeClass (void)
-{
- // Short-circuit to avoid needless locking.
- if (state == STATE_DONE)
- return;
-
- // Step 1.
- _Jv_MonitorEnter (this);
-
- // FIXME: This should actually be handled by calling into the class
- // loader. For now we put it here.
- if (state < STATE_RESOLVED)
- {
- // We set the state before calling resolveConstants to avoid
- // infinite recursion when processing String or Class.
- state = STATE_RESOLVED;
- resolveConstants ();
- }
-
- // Step 2.
- java::lang::Thread *self = java::lang::Thread::currentThread();
- // FIXME: `self' can be null at startup. Hence this nasty trick.
- self = (java::lang::Thread *) ((long) self | 1);
- while (state == STATE_IN_PROGRESS && thread && thread != self)
- wait ();
-
- // Steps 3 & 4.
- if (state == STATE_DONE || state == STATE_IN_PROGRESS || thread == self)
- {
- _Jv_MonitorExit (this);
- return;
- }
-
- // Step 5.
- if (state == STATE_ERROR)
- {
- _Jv_MonitorExit (this);
- JvThrow (new java::lang::NoClassDefFoundError);
- }
-
- // Step 6.
- thread = self;
- state = STATE_IN_PROGRESS;
- _Jv_MonitorExit (this);
-
- // Step 7.
- if (! isInterface () && superclass)
- {
- // FIXME: We can't currently catch a Java exception in C++ code.
- // So instead we call a Java trampoline. It returns an
- // exception, or null.
- jobject except = superclass->hackTrampoline(0, NULL);
- if (except)
- {
- // Caught an exception.
- _Jv_MonitorEnter (this);
- state = STATE_ERROR;
- notify ();
- _Jv_MonitorExit (this);
- JvThrow (except);
- }
- }
-
- // Step 8.
- // FIXME: once again we have to go through a trampoline.
- java::lang::Throwable *except = hackTrampoline (1, NULL);
-
- // Steps 9, 10, 11.
- if (! except)
- {
- _Jv_MonitorEnter (this);
- state = STATE_DONE;
- }
- else
- {
- if (! ErrorClass.isInstance(except))
- {
- // Once again we must use the trampoline. In this case we
- // have to detect an OutOfMemoryError.
- except = hackTrampoline(2, except);
- }
- _Jv_MonitorEnter (this);
- state = STATE_ERROR;
- }
- notify ();
- _Jv_MonitorExit (this);
- if (except)
- JvThrow (except);
-}
-
-
-
-//
-// Some class-related convenience functions.
-//
-
-_Jv_Method *
-_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name,
- _Jv_Utf8Const *signature)
-{
- for (int i = 0; i < klass->method_count; ++i)
- {
- if (_Jv_equalUtf8Consts (name, klass->methods[i].name)
- && _Jv_equalUtf8Consts (signature, klass->methods[i].signature))
- return &klass->methods[i];
- }
- return NULL;
-}
-
-void *
-_Jv_LookupInterfaceMethod (jclass klass, _Jv_Utf8Const *name,
- _Jv_Utf8Const *signature)
-{
- // FIXME: can't do this until we have a working class loader.
- // This probably isn't the right thing to do anyway, since we can't
- // call a method of a class until the class is linked. But this
- // captures the general idea.
- // klass->getClassLoader()->resolveClass(klass);
-
- for (; klass; klass = klass->getSuperclass())
- {
- _Jv_Method *meth = _Jv_GetMethodLocal (klass, name, signature);
- if (! meth)
- continue;
-
- if (java::lang::reflect::Modifier::isStatic(meth->accflags))
- JvThrow (new java::lang::IncompatibleClassChangeError);
- if (java::lang::reflect::Modifier::isAbstract(meth->accflags))
- JvThrow (new java::lang::AbstractMethodError);
- if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
- JvThrow (new java::lang::IllegalAccessError);
-
- return meth->ncode;
- }
- JvThrow (new java::lang::IncompatibleClassChangeError);
- return NULL; // Placate compiler.
-}
-
-void
-_Jv_InitClass (jclass klass)
-{
- klass->initializeClass();
-}
-
-// This function is called many times during startup, before main() is
-// run. We do our runtime initialization here the very first time we
-// are called. At that point in time we know for certain we are
-// running single-threaded, so we don't need to lock when modifying
-// `init'. CLASSES is NULL-terminated.
-void
-_Jv_RegisterClasses (jclass *classes)
-{
- static bool init = false;
-
- if (! init)
- {
- init = true;
- _Jv_InitThreads ();
- _Jv_InitGC ();
- _Jv_InitializeSyncMutex ();
- }
-
- JvSynchronize sync (&ClassClass);
- for (; *classes; ++classes)
- {
- jclass klass = *classes;
- jint hash = HASH_UTF (klass->name);
- klass->next = loaded_classes[hash];
- loaded_classes[hash] = klass;
- }
-}
-
-void
-_Jv_RegisterClass (jclass klass)
-{
- jclass classes[2];
- classes[0] = klass;
- classes[1] = NULL;
- _Jv_RegisterClasses (classes);
-}
-
-jclass
-_Jv_FindClassInCache (_Jv_Utf8Const *name, java::lang::ClassLoader *loader)
-{
- JvSynchronize sync (&ClassClass);
- jint hash = HASH_UTF (name);
- jclass klass;
- for (klass = loaded_classes[hash]; klass; klass = klass->next)
- {
- if (loader == klass->loader && _Jv_equalUtf8Consts (name, klass->name))
- break;
- }
- return klass;
-}
-
-#if 0
-jclass
-_Jv_FindClassInCache (jstring name, java::lang::ClassLoader *loader)
-{
- JvSynchronize sync (&ClassClass);
- jint hash = name->hashCode();
- jclass klass = loaded_classes[(_Jv_ushort) hash % HASH_LEN];
- for ( ; klass; klass = klass->next)
- {
- if (loader == klass->loader
- && _Jv_equalUtf8Consts (klass->name, name, hash))
- break;
- }
- return klass;
-}
-#endif
-
-jclass
-_Jv_FindClass (_Jv_Utf8Const* name, java::lang::ClassLoader *loader)
-{
- jclass klass = _Jv_FindClassInCache (name, loader);
- if (loader && ! klass)
- {
- klass = loader->loadClass(_Jv_NewStringUtf8Const (name));
- if (klass)
- _Jv_RegisterClass (klass);
- }
- return klass;
-}
-
-#if 0
-jclass
-_Jv_FindClass (jstring name, java::lang::ClassLoader *loader)
-{
- jclass klass = _Jv_FindClassInCache (name, loader);
- if (loader && ! klass)
- {
- klass = loader->loadClass(name);
- if (klass)
- _Jv_RegisterClass (klass);
- }
- return klass;
-}
-#endif
-
-jclass
-_Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
- java::lang::ClassLoader *loader)
-{
- jclass ret = (jclass) JvAllocObject (&ClassClass);
-
- ret->next = NULL;
- ret->name = name;
- ret->accflags = 0;
- ret->superclass = superclass;
- ret->constants.size = 0;
- ret->constants.tags = NULL;
- ret->constants.data = NULL;
- ret->methods = NULL;
- ret->method_count = 0;
- ret->vtable_method_count = 0;
- ret->fields = NULL;
- ret->size_in_bytes = 0;
- ret->field_count = 0;
- ret->static_field_count = 0;
- ret->vtable = NULL;
- ret->interfaces = NULL;
- ret->loader = loader;
- ret->interface_count = 0;
- ret->state = 0;
- ret->thread = NULL;
-
- _Jv_RegisterClass (ret);
-
- return ret;
-}
-
-jclass
-_Jv_FindArrayClass (jclass element)
-{
- _Jv_Utf8Const *array_name;
- int len;
- if (element->isPrimitive())
- {
- // For primitive types the array is cached in the class.
- jclass ret = (jclass) element->methods;
- if (ret)
- return ret;
- len = 3;
- }
- else
- len = element->name->length + 5;
-
- {
- char signature[len];
- int index = 0;
- signature[index++] = '[';
- // Compute name of array class to see if we've already cached it.
- if (element->isPrimitive())
- {
- signature[index++] = (char) element->method_count;
- }
- else
- {
- size_t length = element->name->length;
- const char *const name = element->name->data;
- if (name[0] != '[')
- signature[index++] = 'L';
- memcpy (&signature[index], name, length);
- index += length;
- if (name[0] != '[')
- signature[index++] = ';';
- }
- array_name = _Jv_makeUtf8Const (signature, index);
- }
-
- jclass array_class = _Jv_FindClassInCache (array_name, element->loader);
-
- if (! array_class)
- {
- // Create new array class.
- array_class = _Jv_NewClass (array_name, &ObjectClass, element->loader);
-
- // Note that `vtable_method_count' doesn't include the initial
- // NULL slot.
- int dm_count = ObjectClass.vtable_method_count + 1;
-
- // Create a new vtable by copying Object's vtable (except the
- // class pointer, of course). Note that we allocate this as
- // unscanned memory -- the vtables are handled specially by the
- // GC.
- int size = (sizeof (_Jv_VTable) +
- ((dm_count - 1) * sizeof (void *)));
- _Jv_VTable *vtable = (_Jv_VTable *) _Jv_AllocBytes (size);
- vtable->clas = array_class;
- memcpy (vtable->method, ObjectClass.vtable->method,
- dm_count * sizeof (void *));
- array_class->vtable = vtable;
- array_class->vtable_method_count = ObjectClass.vtable_method_count;
-
- // Stash the pointer to the element type.
- array_class->methods = (_Jv_Method *) element;
-
- // Register our interfaces.
- // FIXME: for JDK 1.2 we need Serializable.
- static jclass interfaces[] = { &CloneableClass };
- array_class->interfaces = interfaces;
- array_class->interface_count = 1;
-
- // FIXME: initialize other Class instance variables,
- // e.g. `fields'.
-
- array_class->state = STATE_DONE;
- }
-
- // For primitive types, point back at this array.
- if (element->isPrimitive())
- element->methods = (_Jv_Method *) array_class;
-
- return array_class;
-}
-
-jboolean
-_Jv_IsInstanceOf(jobject obj, jclass cl)
-{
- return cl->isInstance(obj);
-}
diff --git a/libjava/java/lang/natDouble.cc b/libjava/java/lang/natDouble.cc
deleted file mode 100644
index 8d8c7883ba4..00000000000
--- a/libjava/java/lang/natDouble.cc
+++ /dev/null
@@ -1,187 +0,0 @@
-// natDouble.cc - Implementation of java.lang.Double native methods.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-/* AIX requires this to be the first thing in the file. */
-#ifndef __GNUC__
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-
-#include <stdlib.h>
-
-#include <cni.h>
-#include <java/lang/String.h>
-#include <java/lang/Double.h>
-#include <java/lang/NumberFormatException.h>
-#include <jvm.h>
-
-#include <stdio.h>
-#include <string.h>
-
-#include "mprec.h"
-
-union u
-{
- jlong l;
- jdouble d;
-};
-
-jlong
-java::lang::Double::doubleToLongBits(jdouble value)
-{
- union u u;
- u.d = value;
-
- jlong e = u.l & 0x7ff0000000000000LL;
- jlong f = u.l & 0x000fffffffffffffLL;
-
- if (e == 0x7ff0000000000000LL && f != 0L)
- u.l = 0x7ff8000000000000LL;
-
- return u.l;
-}
-
-jdouble
-java::lang::Double::longBitsToDouble(jlong bits)
-{
- union u u;
- u.l = bits;
- return u.d;
-}
-
-jstring
-java::lang::Double::toString(jdouble value, jboolean isFloat)
-{
- if (isNaN (value))
- return JvNewStringLatin1 ("NaN", sizeof ("NaN") - 1);
-
- if (value == POSITIVE_INFINITY)
- return JvNewStringLatin1 ("Infinity", sizeof ("Infinity") - 1);
-
- if (value == NEGATIVE_INFINITY)
- return JvNewStringLatin1 ("-Infinity", sizeof ("-Infinity") - 1);
-
- char buffer[50], result[50];
- int decpt, sign;
-
- _dtoa (value, 0, 20, &decpt, &sign, NULL, buffer, (int)isFloat);
-
- value = fabs (value);
-
- char *s = buffer;
- char *d = result;
-
- if (sign)
- *d++ = '-';
-
- if (value >= 1e-3 && value < 1e7 || value == 0)
- {
- if (decpt <= 0)
- *d++ = '0';
- else
- {
- for (int i = 0; i < decpt; i++)
- if (*s)
- *d++ = *s++;
- else
- *d++ = '0';
- }
-
- *d++ = '.';
-
- if (*s == 0)
- {
- *d++ = '0';
- decpt++;
- }
-
- while (decpt++ < 0)
- *d++ = '0';
-
- while (*s)
- *d++ = *s++;
-
- *d = 0;
-
- return JvNewStringLatin1 (result, strlen (result));
- }
-
- *d++ = *s++;
- decpt--;
- *d++ = '.';
-
- if (*s == 0)
- *d++ = '0';
-
- while (*s)
- *d++ = *s++;
-
- *d++ = 'E';
-
- if (decpt < 0)
- {
- *d++ = '-';
- decpt = -decpt;
- }
-
- {
- char exp[4];
- char *e = exp + sizeof exp;
-
- *--e = 0;
- do
- {
- *--e = '0' + decpt % 10;
- decpt /= 10;
- }
- while (decpt > 0);
-
- while (*e)
- *d++ = *e++;
- }
-
- *d = 0;
-
- return JvNewStringLatin1 (result, strlen (result));
-}
-
-jdouble
-java::lang::Double::doubleValueOf(jstring str)
-{
- int length = str->length();
- // Note that UTF can expand 3x.
-
-#ifdef HAVE_ALLOCA
- char *data = (char *) alloca (3 * length + 1);
-#else
-#error --- need an alternate implementation here ---
-#endif
-
- data[_Jv_GetStringUTFRegion (str, 0, length, data)] = 0;
-
- struct _Jv_reent reent;
- memset (&reent, 0, sizeof reent);
-
- double val = _strtod_r (&reent, data, NULL);
-
- if (reent._errno)
- _Jv_Throw (new NumberFormatException);
-
- return val;
-}
diff --git a/libjava/java/lang/natEcosProcess.cc b/libjava/java/lang/natEcosProcess.cc
deleted file mode 100644
index 774a6977aac..00000000000
--- a/libjava/java/lang/natEcosProcess.cc
+++ /dev/null
@@ -1,25 +0,0 @@
-// natEcosProcess.cc - Native side of eCos processes.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// The configury system needs this file to exist, since we can't
-// really conditionally link files (an autoconf bug). To avoid having
-// an empty translation unit, we make a single method native. FIXME.
-
-#include <config.h>
-
-#include <cni.h>
-#include <jvm.h>
-
-#include <java/lang/ConcreteProcess.h>
-
-void
-java::lang::ConcreteProcess::destroy (void)
-{
-}
diff --git a/libjava/java/lang/natFirstThread.cc b/libjava/java/lang/natFirstThread.cc
deleted file mode 100644
index d47446be4a8..00000000000
--- a/libjava/java/lang/natFirstThread.cc
+++ /dev/null
@@ -1,56 +0,0 @@
-// natFirstThread.cc - Implementation of FirstThread native methods.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <cni.h>
-#include <jvm.h>
-
-#include <java/lang/FirstThread.h>
-#include <java/lang/Class.h>
-#include <java/lang/String.h>
-#include <java/lang/System.h>
-#include <java/lang/reflect/Modifier.h>
-#include <java/io/PrintStream.h>
-
-#define DIE(Message) die (JvNewStringLatin1 (Message))
-
-typedef void main_func (jobject);
-
-void
-java::lang::FirstThread::run (void)
-{
- Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22);
- Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4);
-
-#if 0
- // Note: this turns out to be more painful than useful. Apparently
- // many people rely on being able to have main in a non-public
- // class.
- // This is based on my reading of 12.3.3.
- if (! java::lang::reflect::Modifier::isPublic(klass->getModifiers()))
- DIE ("class must be public");
-#endif
-
- _Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature);
-
- // Some checks from Java Spec section 12.1.4.
- if (meth == NULL)
- DIE ("no suitable method `main' in class");
- if (! java::lang::reflect::Modifier::isStatic(meth->accflags))
- DIE ("`main' must be static");
- if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
- DIE ("`main' must be public");
-
- main_func *real_main = (main_func *) meth->ncode;
- (*real_main) (args);
-}
diff --git a/libjava/java/lang/natFloat.cc b/libjava/java/lang/natFloat.cc
deleted file mode 100644
index 5712fd4190c..00000000000
--- a/libjava/java/lang/natFloat.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-// natFloat.cc - Implementation of java.lang.Float native methods.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <java/lang/Float.h>
-#include <jvm.h>
-
-union u
-{
- jint l;
- jfloat d;
-};
-
-jint
-java::lang::Float::floatToIntBits(jfloat value)
-{
- union u u;
- u.d = value;
- jint e = u.l & 0x7f800000;
- jint f = u.l & 0x007fffff;
-
- if (e == 0x7f800000 && f != 0)
- u.l = 0x7fc00000;
-
- return u.l;
-}
-
-jfloat
-java::lang::Float::intBitsToFloat(jint bits)
-{
- union u u;
- u.l = bits;
- return u.d;
-}
-
diff --git a/libjava/java/lang/natMath.cc b/libjava/java/lang/natMath.cc
deleted file mode 100644
index 66382473eed..00000000000
--- a/libjava/java/lang/natMath.cc
+++ /dev/null
@@ -1,263 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-/**
- * @author Andrew Haley <aph@cygnus.com>
- * @date Tue Sep 22 1998 */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-#include <config.h>
-
-#include <java/lang/String.h>
-#include <java/lang/Float.h>
-#include <java/lang/Double.h>
-#include <java/lang/Integer.h>
-#include <java/lang/Long.h>
-#include <java/lang/Math.h>
-#include <java-array.h>
-
-#include "fdlibm.h"
-
-jdouble java::lang::Math::cos(jdouble x)
-{
- return (jdouble)::cos((double)x);
-}
-
-jdouble java::lang::Math::sin(jdouble x)
-{
- return (jdouble)::sin((double)x);
-}
-
-jdouble java::lang::Math::tan(jdouble x)
-{
- return (jdouble)::tan((double)x);
-}
-
-jdouble java::lang::Math::asin(jdouble x)
-{
- return (jdouble)::asin((double)x);
-}
-
-jdouble java::lang::Math::acos(jdouble x)
-{
- return (jdouble)::acos((double)x);
-}
-
-jdouble java::lang::Math::atan(jdouble x)
-{
- return (jdouble)::atan((double)x);
-}
-
-jdouble java::lang::Math::atan2(jdouble y, jdouble x)
-{
- return (jdouble)::atan2((jdouble)y, (jdouble)x);
-}
-
-jdouble java::lang::Math::log(jdouble x)
-{
- return (jdouble)::log((double)x);
-}
-
-jdouble java::lang::Math::exp(jdouble x)
-{
- return (jdouble)::exp((double)x);
-}
-
-jdouble java::lang::Math::sqrt(jdouble x)
-{
- return (jdouble)::sqrt((double)x);
-}
-
-jdouble java::lang::Math::pow(jdouble y, jdouble x)
-{
- return (jdouble)::pow((jdouble)y, (jdouble)x);
-}
-
-jdouble java::lang::Math::IEEEremainder(jdouble y, jdouble x)
-{
- return (jdouble)::__ieee754_remainder((jdouble)y, (jdouble)x);
-}
-
-jdouble java::lang::Math::abs(jdouble x)
-{
- return (jdouble)::fabs((double)x);
-}
-
-jfloat java::lang::Math::abs(jfloat x)
-{
- return (jfloat)::fabsf((float)x);
-}
-
-jdouble java::lang::Math::rint(jdouble x)
-{
- return (jdouble)::rint((double)x);
-}
-
-jint java::lang::Math::round(jfloat x)
-{
- if (x != x)
- return 0;
- if (x <= (jfloat)java::lang::Integer::MIN_VALUE)
- return java::lang::Integer::MIN_VALUE;
- if (x >= (jfloat)java::lang::Integer::MAX_VALUE)
- return java::lang::Integer::MAX_VALUE;
-
- return (jint)::rintf((float)x);
-}
-
-jlong java::lang::Math::round(jdouble x)
-{
- if (x != x)
- return 0;
- if (x <= (jdouble)java::lang::Long::MIN_VALUE)
- return java::lang::Long::MIN_VALUE;
- if (x >= (jdouble)java::lang::Long::MAX_VALUE)
- return java::lang::Long::MAX_VALUE;
-
- return (jlong)::rint((double)x);
-}
-
-jdouble java::lang::Math::floor(jdouble x)
-{
- return (jdouble)::floor((double)x);
-}
-
-jdouble java::lang::Math::ceil(jdouble x)
-{
- return (jdouble)::ceil((double)x);
-}
-
-static inline int
-floatToIntBits (jfloat value)
-{
- union {
- jint l;
- jfloat d;
- } u;
- u.d = value;
- return u.l;
-}
-
-static inline bool
-isNaN (jint bits)
-{
- jint e = bits & 0x7f800000;
- jint f = bits & 0x007fffff;
-
- return e == 0x7f800000 && f != 0;
-}
-
-jfloat
-java::lang::Math::min(jfloat a, jfloat b)
-{
- jint abits = floatToIntBits (a);
- jint bbits = floatToIntBits (b);
-
- if (isNaN (abits) || isNaN (bbits))
- return java::lang::Float::NaN;
-
- if (abits >= 0) // a is +ve
- return bbits < 0 ? b // a is +ve, b is -ve.
- // a and b are both +ve, so compare magnitudes: the number with
- // the smallest magnitude is the smallest
- : (abits < bbits ? a : b);
- else // a is -ve
- return bbits >= 0 ? a // a is -ve, b is +ve.
- // a and b are both -ve, so compare magnitudes: the number with
- // the biggest magnitude is the smallest
- : (abits > bbits ? a : b);
-}
-
-jfloat
-java::lang::Math::max(jfloat a, jfloat b)
-{
- jint abits = floatToIntBits (a);
- jint bbits = floatToIntBits (b);
-
- if (isNaN (abits) || isNaN (bbits))
- return java::lang::Float::NaN;
-
- if (abits >= 0) // a is +ve
- return bbits < 0 ? a // a is +ve, b is -ve.
- // a and b are both +ve, so compare magnitudes: the number with
- // the smallest magnitude is the smallest
- : (abits > bbits ? a : b);
- else // a is -ve
- return bbits >= 0 ? b // a is -ve, b is +ve.
- // a and b are both -ve, so compare magnitudes: the number with
- // the biggest magnitude is the smallest
- : (abits < bbits ? a : b);
-}
-
-static inline jlong
-doubleToLongBits (jdouble value)
-{
- union {
- jlong l;
- jdouble d;
- } u;
- u.d = value;
- return u.l;
-}
-
-static inline bool
-isNaN (jlong bits)
-{
- jlong e = bits & 0x7ff0000000000000LL;
- jlong f = bits & 0x000fffffffffffffLL;
-
- return e == 0x7ff0000000000000LL && f != 0LL;
-}
-
-
-jdouble
-java::lang::Math::min(jdouble a, jdouble b)
-{
- jlong abits = doubleToLongBits (a);
- jlong bbits = doubleToLongBits (b);
-
- if (isNaN (abits) || isNaN (bbits))
- return java::lang::Double::NaN;
-
- if (abits >= 0LL) // a is +ve
- return bbits < 0LL ? b // a is +ve, b is -ve.
- // a and b are both +ve, so compare magnitudes: the number with
- // the smallest magnitude is the smallest
- : (abits < bbits ? a : b);
- else // a is -ve
- return bbits >= 0LL ? a // a is -ve, b is +ve.
- // a and b are both -ve, so compare magnitudes: the number with
- // the biggest magnitude is the smallest
- : (abits > bbits ? a : b);
-}
-
-jdouble
-java::lang::Math::max(jdouble a, jdouble b)
-{
- jlong abits = doubleToLongBits (a);
- jlong bbits = doubleToLongBits (b);
-
- if (isNaN (abits) || isNaN (bbits))
- return java::lang::Double::NaN;
-
- if (abits >= 0LL) // a is +ve
- return bbits < 0LL ? a // a is +ve, b is -ve.
- // a and b are both +ve, so compare magnitudes: the number with
- // the smallest magnitude is the smallest
- : (abits > bbits ? a : b);
- else // a is -ve
- return bbits >= 0LL ? b // a is -ve, b is +ve.
- // a and b are both -ve, so compare magnitudes: the number with
- // the biggest magnitude is the smallest
- : (abits < bbits ? a : b);
-}
-
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
deleted file mode 100644
index 1d9a4901467..00000000000
--- a/libjava/java/lang/natObject.cc
+++ /dev/null
@@ -1,240 +0,0 @@
-// natObject.cc - Implementation of the Object class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <string.h>
-
-#pragma implementation "Object.h"
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/Object.h>
-#include <java-threads.h>
-#include <java/lang/CloneNotSupportedException.h>
-#include <java/lang/IllegalArgumentException.h>
-#include <java/lang/IllegalMonitorStateException.h>
-#include <java/lang/InterruptedException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/Class.h>
-#include <java/lang/Cloneable.h>
-#include <java/lang/Thread.h>
-
-#define CloneableClass _CL_Q34java4lang9Cloneable
-extern java::lang::Class CloneableClass;
-
-
-
-// This is used to represent synchronization information.
-struct _Jv_SyncInfo
-{
-#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
- // We only need to keep track of initialization state if we can
- // possibly finalize this object.
- bool init;
-#endif
- _Jv_ConditionVariable_t condition;
- _Jv_Mutex_t mutex;
-};
-
-
-
-jclass
-java::lang::Object::getClass (void)
-{
- _Jv_VTable **dt = (_Jv_VTable **) this;
- return (*dt)->clas;
-}
-
-jint
-java::lang::Object::hashCode (void)
-{
- return _Jv_HashCode (this);
-}
-
-jobject
-java::lang::Object::clone (void)
-{
- jclass klass = getClass ();
- jobject r;
- jint size;
-
- // We also clone arrays here. If we put the array code into
- // __JArray, then we'd have to figure out a way to find the array
- // vtbl when creating a new array class. This is easier, if uglier.
- if (klass->isArray())
- {
- __JArray *array = (__JArray *) this;
- jclass comp = getClass()->getComponentType();
- jint eltsize;
- if (comp->isPrimitive())
- {
- r = _Jv_NewPrimArray (comp, array->length);
- eltsize = comp->size();
- }
- else
- {
- r = _Jv_NewObjectArray (array->length, comp, NULL);
- eltsize = sizeof (jobject);
- }
- size = sizeof (__JArray) + array->length * eltsize;
- }
- else
- {
- if (! CloneableClass.isAssignableFrom(klass))
- JvThrow (new CloneNotSupportedException);
-
- size = klass->size();
- r = JvAllocObject (klass, size);
- }
-
- memcpy ((void *) r, (void *) this, size);
- return r;
-}
-
-
-//
-// Synchronization code.
-//
-
-// This global is used to make sure that only one thread sets an
-// object's `sync_info' field.
-static _Jv_Mutex_t sync_mutex;
-
-// This macro is used to see if synchronization initialization is
-// needed.
-#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
-# define INIT_NEEDED(Obj) (! (Obj)->sync_info \
- || ! ((_Jv_SyncInfo *) ((Obj)->sync_info))->init)
-#else
-# define INIT_NEEDED(Obj) (! (Obj)->sync_info)
-#endif
-
-#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
-// If we have to run a destructor for a sync_info member, then this
-// function is registered as a finalizer for the sync_info.
-static void
-finalize_sync_info (jobject obj)
-{
- _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj;
-#if defined (_Jv_HaveCondDestroy)
- _Jv_CondDestroy (&si->condition);
-#endif
-#if defined (_Jv_HaveMutexDestroy)
- _Jv_MutexDestroy (&si->mutex);
-#endif
- si->init = false;
-}
-#endif
-
-// This is called to initialize the sync_info element of an object.
-void
-java::lang::Object::sync_init (void)
-{
- _Jv_MutexLock (&sync_mutex);
- // Check again to see if initialization is needed now that we have
- // the lock.
- if (INIT_NEEDED (this))
- {
- // We assume there are no pointers in the sync_info
- // representation.
- _Jv_SyncInfo *si;
- // We always create a new sync_info, even if there is already
- // one available. Any given object can only be finalized once.
- // If we get here and sync_info is not null, then it has already
- // been finalized. So if we just reinitialize the old one,
- // we'll never be able to (re-)destroy the mutex and/or
- // condition variable.
- si = (_Jv_SyncInfo *) _Jv_AllocBytesChecked (sizeof (_Jv_SyncInfo));
- _Jv_MutexInit (&si->mutex);
- _Jv_CondInit (&si->condition);
-#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
- // Register a finalizer.
- si->init = true;
- _Jv_RegisterFinalizer (si, finalize_sync_info);
-#endif
- sync_info = (jobject) si;
- }
- _Jv_MutexUnlock (&sync_mutex);
-}
-
-void
-java::lang::Object::notify (void)
-{
- if (INIT_NEEDED (this))
- sync_init ();
- _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
- if (_Jv_CondNotify (&si->condition, &si->mutex))
- JvThrow (new IllegalMonitorStateException);
-}
-
-void
-java::lang::Object::notifyAll (void)
-{
- if (INIT_NEEDED (this))
- sync_init ();
- _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
- if (_Jv_CondNotifyAll (&si->condition, &si->mutex))
- JvThrow (new IllegalMonitorStateException);
-}
-
-void
-java::lang::Object::wait (jlong timeout, jint nanos)
-{
- if (INIT_NEEDED (this))
- sync_init ();
- if (timeout < 0 || nanos < 0 || nanos > 999999)
- JvThrow (new IllegalArgumentException);
- _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
- if (_Jv_CondWait (&si->condition, &si->mutex, timeout, nanos))
- JvThrow (new IllegalMonitorStateException);
- if (Thread::interrupted())
- JvThrow (new InterruptedException);
-}
-
-//
-// Some runtime code.
-//
-
-// This function is called at system startup to initialize the
-// `sync_mutex'.
-void
-_Jv_InitializeSyncMutex (void)
-{
- _Jv_MutexInit (&sync_mutex);
-}
-
-jint
-_Jv_MonitorEnter (jobject obj)
-{
- if (! obj)
- JvThrow (new java::lang::NullPointerException);
- if (INIT_NEEDED (obj))
- obj->sync_init ();
- _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info;
- return _Jv_MutexLock (&si->mutex);
-}
-
-jint
-_Jv_MonitorExit (jobject obj)
-{
- JvAssert (obj);
- JvAssert (! INIT_NEEDED (obj));
- _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info;
- if (_Jv_MutexUnlock (&si->mutex))
- JvThrow (new java::lang::IllegalMonitorStateException);
- return 0;
-}
-
-void
-_Jv_FinalizeObject (jobject obj)
-{
- java::lang::Object::hack12_6(obj);
-}
diff --git a/libjava/java/lang/natPosixProcess.cc b/libjava/java/lang/natPosixProcess.cc
deleted file mode 100644
index 30fa9d58229..00000000000
--- a/libjava/java/lang/natPosixProcess.cc
+++ /dev/null
@@ -1,203 +0,0 @@
-// natPosixProcess.cc - Native side of POSIX process code.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <signal.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <cni.h>
-#include <jvm.h>
-
-#include <java/lang/ConcreteProcess.h>
-#include <java/lang/IllegalThreadStateException.h>
-#include <java/lang/InterruptedException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/Thread.h>
-#include <java/io/FileDescriptor.h>
-#include <java/io/FileInputStream.h>
-#include <java/io/FileOutputStream.h>
-#include <java/io/IOException.h>
-
-extern char **environ;
-
-void
-java::lang::ConcreteProcess::destroy (void)
-{
- if (! hasExited)
- {
- // Really kill it.
- kill ((pid_t) pid, SIGKILL);
- }
-}
-
-jint
-java::lang::ConcreteProcess::exitValue (void)
-{
- if (! hasExited)
- {
- int wstat;
- pid_t r = waitpid ((pid_t) pid, &wstat, WNOHANG);
- if (r == -1)
- {
- jstring x = JvNewStringLatin1 (strerror (errno));
- _Jv_Throw (new IllegalThreadStateException (x));
- }
-
- hasExited = true;
- // Just use the raw status. FIXME: what is right?
- status = wstat;
- }
-
- return status;
-}
-
-jint
-java::lang::ConcreteProcess::waitFor (void)
-{
- if (! hasExited)
- {
- int wstat;
- int r = waitpid ((pid_t) pid, &wstat, 0);
-
- if (r != -1)
- {
- hasExited = true;
- // Just use the raw status. FIXME: what is right?
- status = wstat;
- }
-
- if (java::lang::Thread::interrupted())
- _Jv_Throw (new InterruptedException (JvNewStringLatin1 ("wait interrupted")));
- }
-
- return status;
-}
-
-static char *
-new_string (jstring string)
-{
- jsize s = _Jv_GetStringUTFLength (string);
- char *buf = (char *) _Jv_Malloc (s + 1);
- _Jv_GetStringUTFRegion (string, 0, s, buf);
- buf[s] = '\0';
- return buf;
-}
-
-void
-java::lang::ConcreteProcess::startProcess (jstringArray progarray,
- jstringArray envp)
-{
- using namespace java::io;
-
- hasExited = false;
-
- if (! progarray)
- _Jv_Throw (new NullPointerException);
-
- // Transform arrays to native form.
- // FIXME: we use malloc here. We shouldn't. If an exception is
- // thrown we will leak memory.
- char **args = (char **) _Jv_Malloc ((progarray->length + 1)
- * sizeof (char *));
-
- char **env = NULL;
- if (envp)
- env = (char **) _Jv_Malloc ((envp->length + 1) * sizeof (char *));
-
-// for (int i = 0; i < progarray->length; ++i)
-// args[i] = NULL;
-// for (int i = 0; i < envp->length; ++i)
-// env[i] = NULL;
-
- // FIXME: GC will fail here if _Jv_Malloc throws an exception.
- // That's because we have to manually free the contents, but we
- jstring *elts = elements (progarray);
- for (int i = 0; i < progarray->length; ++i)
- args[i] = new_string (elts[i]);
- args[progarray->length] = NULL;
-
- if (envp)
- {
- elts = elements (envp);
- for (int i = 0; i < envp->length; ++i)
- args[i] = new_string (elts[i]);
- args[envp->length] = NULL;
- }
-
- // Create pipes for I/O.
- int inp[2], outp[2], errp[2];
-
- if (pipe (inp)
- || pipe (outp)
- || pipe (errp))
- {
- ioerror:
- // FIXME.
- _Jv_Free (args);
- if (env)
- _Jv_Free (env);
- _Jv_Throw (new IOException (JvNewStringLatin1 (strerror (errno))));
- }
-
- // We create the streams before forking. Otherwise if we had an
- // error while creating the streams we would have run the child with
- // no way to communicate with it.
- errorStream = new FileInputStream (new FileDescriptor (errp[0]));
- inputStream = new FileInputStream (new FileDescriptor (inp[0]));
- outputStream = new FileOutputStream (new FileDescriptor (outp[1]));
-
- // We don't use vfork() because that would cause the local
- // environment to be set by the child.
- if ((pid = (jlong) fork ()) == -1)
- goto ioerror;
-
- if (pid == 0)
- {
- // Child process, so remap descriptors and exec.
-
- if (envp)
- environ = env;
-
- // We ignore errors from dup2 because they should never occur.
- dup2 (outp[0], 0);
- dup2 (inp[1], 1);
- dup2 (errp[1], 2);
-
- close (inp[0]);
- close (inp[1]);
- close (errp[0]);
- close (errp[1]);
- close (outp[0]);
- close (outp[1]);
-
- environ = env;
- execvp (args[0], args);
- _exit (127);
- }
-
- // Parent. Close extra file descriptors and mark ours as
- // close-on-exec.
- close (outp[0]);
- close (inp[1]);
- close (errp[1]);
-
- fcntl (outp[1], F_SETFD, 1);
- fcntl (inp[0], F_SETFD, 1);
- fcntl (errp[0], F_SETFD, 1);
-}
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc
deleted file mode 100644
index f8b050c4d58..00000000000
--- a/libjava/java/lang/natRuntime.cc
+++ /dev/null
@@ -1,123 +0,0 @@
-// natRuntime.cc - Implementation of native side of Runtime class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/Runtime.h>
-#include <java/lang/UnknownError.h>
-#include <java/lang/UnsatisfiedLinkError.h>
-
-#ifdef USE_LTDL
-#include <ltdl.h>
-#endif
-
-void
-java::lang::Runtime::exit (jint status)
-{
- checkExit (status);
-
- // Make status right for Unix. This is perhaps strange.
- if (status < 0 || status > 255)
- status = 255;
-
- if (finalize_on_exit)
- _Jv_RunAllFinalizers ();
-
- ::exit (status);
-}
-
-jlong
-java::lang::Runtime::freeMemory (void)
-{
- return _Jv_GCFreeMemory ();
-}
-
-void
-java::lang::Runtime::gc (void)
-{
- _Jv_RunGC ();
-}
-
-void
-java::lang::Runtime::load (jstring path)
-{
- JvSynchronize sync (this);
- checkLink (path);
- using namespace java::lang;
-#ifdef USE_LTDL
- // FIXME: make sure path is absolute.
- lt_dlhandle h = lt_dlopen (FIXME);
- if (h == NULL)
- {
- const char *msg = lt_dlerror ();
- _Jv_Throw (new UnsatisfiedLinkError (JvNewStringLatin1 (msg)));
- }
-#else
- _Jv_Throw (new UnknownError
- (JvNewStringLatin1 ("Runtime.load not implemented")));
-#endif /* USE_LTDL */
-}
-
-void
-java::lang::Runtime::loadLibrary (jstring lib)
-{
- JvSynchronize sync (this);
- checkLink (lib);
- using namespace java::lang;
-#ifdef USE_LTDL
- // FIXME: make sure path is absolute.
- lt_dlhandle h = lt_dlopenext (FIXME);
- if (h == NULL)
- {
- const char *msg = lt_dlerror ();
- _Jv_Throw (new UnsatisfiedLinkError (JvNewStringLatin1 (msg)));
- }
-#else
- _Jv_Throw (new UnknownError
- (JvNewStringLatin1 ("Runtime.loadLibrary not implemented")));
-#endif /* USE_LTDL */
-}
-
-void
-java::lang::Runtime::init (void)
-{
- finalize_on_exit = false;
-#ifdef USE_LTDL
- lt_dlinit ();
-#endif
-}
-
-void
-java::lang::Runtime::runFinalization (void)
-{
- _Jv_RunFinalizers ();
-}
-
-jlong
-java::lang::Runtime::totalMemory (void)
-{
- return _Jv_GCTotalMemory ();
-}
-
-void
-java::lang::Runtime::traceInstructions (jboolean)
-{
- // Do nothing.
-}
-
-void
-java::lang::Runtime::traceMethodCalls (jboolean)
-{
- // Do nothing.
-}
diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc
deleted file mode 100644
index 08f1755715d..00000000000
--- a/libjava/java/lang/natString.cc
+++ /dev/null
@@ -1,839 +0,0 @@
-// natString.cc - Implementation of java.lang.String native methods.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <string.h>
-#include <stdlib.h>
-
-#include <cni.h>
-#include <java/lang/Character.h>
-#include <java/lang/String.h>
-#include <java/lang/IndexOutOfBoundsException.h>
-#include <java/lang/ArrayIndexOutOfBoundsException.h>
-#include <java/lang/StringIndexOutOfBoundsException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/io/ByteArrayOutputStream.h>
-#include <java/io/OutputStreamWriter.h>
-#include <java/io/ByteArrayInputStream.h>
-#include <java/io/InputStreamReader.h>
-#include <gnu/gcj/convert/UnicodeToBytes.h>
-#include <gnu/gcj/convert/BytesToUnicode.h>
-#include <jvm.h>
-
-static jstring* strhash = NULL;
-static int strhash_count = 0; /* Number of slots used in strhash. */
-static int strhash_size = 0; /* Number of slots available in strhash.
- * Assumed be power of 2! */
-
-#define DELETED_STRING ((jstring)(~0))
-#define SET_STRING_IS_INTERNED(STR) /* nothing */
-
-/* Find a slot where the string with elements DATA, length LEN,
- and hash HASH should go in the strhash table of interned strings. */
-jstring*
-_Jv_StringFindSlot (jchar* data, jint len, jint hash)
-{
- JvSynchronize sync (&StringClass);
-
- int start_index = hash & (strhash_size - 1);
- int deleted_index = -1;
-
- register int index = start_index;
- /* step must be non-zero, and relatively prime with strhash_size. */
- int step = 8 * hash + 7;
- for (;;)
- {
- register jstring* ptr = &strhash[index];
- if (*ptr == NULL)
- {
- if (deleted_index >= 0)
- return (&strhash[deleted_index]);
- else
- return ptr;
- }
- else if (*ptr == DELETED_STRING)
- deleted_index = index;
- else if ((*ptr)->length() == len
- && memcmp(JvGetStringChars(*ptr), data, 2*len) == 0)
- return (ptr);
- index = (index + step) & (strhash_size - 1);
- JvAssert (index != start_index);
- }
-}
-
-/* Calculate a hash code for the string starting at PTR at given LENGTH.
- This uses the same formula as specified for java.lang.String.hash. */
-
-static jint
-hashChars (jchar* ptr, jint length)
-{
- register jchar* limit = ptr + length;
- jint hash = 0;
- // Updated specification from
- // http://www.javasoft.com/docs/books/jls/clarify.html.
- while (ptr < limit)
- hash = (31 * hash) + *ptr++;
- return hash;
-}
-
-jint
-java::lang::String::hashCode()
-{
- return hashChars(JvGetStringChars(this), length());
-}
-
-jstring*
-_Jv_StringGetSlot (jstring str)
-{
- jchar* data = JvGetStringChars(str);
- int length = str->length();
- return _Jv_StringFindSlot(data, length, hashChars (data, length));
-}
-
-void
-java::lang::String::rehash()
-{
- JvSynchronize sync (&StringClass);
-
- if (strhash == NULL)
- {
- strhash_size = 1024;
- strhash = (jstring *) _Jv_AllocBytes (strhash_size * sizeof (jstring));
- memset (strhash, 0, strhash_size * sizeof (jstring));
- }
- else
- {
- register int i = strhash_size;
- register jstring* ptr = strhash + i;
- strhash_size *= 2;
- strhash = (jstring *) _Jv_AllocBytes (strhash_size * sizeof (jstring));
- memset (strhash, 0, strhash_size * sizeof (jstring));
-
- while (--i >= 0)
- {
- --ptr;
- if (*ptr == NULL || *ptr == DELETED_STRING)
- continue;
-
- /* This is faster equivalent of
- * *__JvGetInternSlot(*ptr) = *ptr; */
- jint hash = (*ptr)->hashCode();
- jint index = hash & (strhash_size - 1);
- jint step = 8 * hash + 7;
- for (;;)
- {
- if (strhash[index] == NULL)
- {
- strhash[index] = *ptr;
- break;
- }
- index = (index + step) & (strhash_size - 1);
- }
- }
- }
-}
-
-jstring
-java::lang::String::intern()
-{
- JvSynchronize sync (&StringClass);
- if (4 * strhash_count >= 3 * strhash_size)
- rehash();
- jstring* ptr = _Jv_StringGetSlot(this);
- if (*ptr != NULL && *ptr != DELETED_STRING)
- return *ptr;
- SET_STRING_IS_INTERNED(this);
- strhash_count++;
- *ptr = this;
- return this;
-}
-
-/* Called by String fake finalizer. */
-void
-java::lang::String::unintern()
-{
- JvSynchronize sync (&StringClass);
- jstring* ptr = _Jv_StringGetSlot(this);
- if (*ptr == NULL || *ptr == DELETED_STRING)
- return;
- *ptr = DELETED_STRING;
- strhash_count--;
-}
-
-jstring
-_Jv_NewStringUTF (const char *bytes)
-{
- int size = strlen (bytes);
- unsigned char *p = (unsigned char *) bytes;
-
- int length = _Jv_strLengthUtf8 ((char *) p, size);
- if (length < 0)
- return NULL;
-
- jstring jstr = JvAllocString (length);
- jchar *chrs = JvGetStringChars (jstr);
-
- p = (unsigned char *) bytes;
- unsigned char *limit = p + size;
- while (p < limit)
- *chrs++ = UTF8_GET (p, limit);
-
- return jstr;
-}
-
-jstring
-_Jv_NewStringUtf8Const (Utf8Const* str)
-{
- jchar *chrs;
- jchar buffer[100];
- jstring jstr;
- register unsigned char* data = (unsigned char*) str->data;
- register unsigned char* limit = data + str->length;
- int length = _Jv_strLengthUtf8(str->data, str->length);
-
- if (length <= (int) (sizeof(buffer) / sizeof(jchar)))
- {
- jstr = NULL;
- chrs = buffer;
- }
- else
- {
- jstr = JvAllocString(length);
- chrs = JvGetStringChars(jstr);
- }
-
- while (data < limit)
- *chrs++ = UTF8_GET(data, limit);
- chrs -= length;
-
- JvSynchronize sync (&StringClass);
- if (4 * strhash_count >= 3 * strhash_size)
- java::lang::String::rehash();
- int hash = str->hash;
- jstring* ptr = _Jv_StringFindSlot (chrs, length, hash);
- if (*ptr != NULL && *ptr != DELETED_STRING)
- return *ptr;
- strhash_count++;
- if (jstr == NULL)
- {
- jstr = JvAllocString(length);
- chrs = JvGetStringChars(jstr);
- memcpy (chrs, buffer, sizeof(jchar)*length);
- }
- *ptr = jstr;
- SET_STRING_IS_INTERNED(jstr);
- return jstr;
-}
-
-jsize
-_Jv_GetStringUTFLength (jstring string)
-{
- register jsize len = 0;
- register jchar *ptr = JvGetStringChars (string);
- register jsize i = string->length();
- while (--i >= 0)
- {
- register jchar ch = *ptr++;
- if (ch > 0 && ch <= 0x7F)
- len += 1;
- else if (ch <= 0x7FF)
- len += 2;
- else
- len += 3;
- }
- return len;
-}
-
-// Not sure this quite matches GetStringUTFRegion.
-// null-termination of result? len? throw exception?
-jsize
-_Jv_GetStringUTFRegion (jstring str, jsize start, jsize len, char *buf)
-{
- register jchar *sptr = JvGetStringChars (str) + start;
- register jsize i = len;
- register char *dptr = buf;
- while (--i >= 0)
- {
- jchar ch = *sptr++;
- if (ch > 0 && ch <= 0x7F)
- *dptr++ = (char) ch;
- else if (ch <= 0x7FF)
- {
- *dptr++ = (char) (0xC0 + ((ch >> 6) & 0x1F));
- *dptr++ = (char) (0x80 + (ch & 0x3F));
- }
- else
- {
- *dptr++ = (char) (0xE0 + ((ch >> 12) & 0xF));
- *dptr++ = (char) (0x80 + ((ch >> 6) & 0x3F));
- *dptr++ = (char) (0x80 + (ch & 0x3F));
- }
- }
- return dptr - buf;
-}
-
-jstring
-_Jv_AllocString(jsize len)
-{
- jsize sz = sizeof(java::lang::String) + len * sizeof(jchar);
-
- jstring obj = (jstring) JvAllocObject(&StringClass, sz);
-
- obj->data = obj;
- obj->boffset = sizeof(java::lang::String);
- obj->count = len;
- return obj;
-}
-
-jstring
-_Jv_NewString(const jchar *chars, jsize len)
-{
- jstring str = _Jv_AllocString(len);
- jchar* data = JvGetStringChars (str);
- while (--len >= 0)
- *data++ = *chars++;
- return str;
-}
-
-jstring
-_Jv_NewStringLatin1(const char *bytes, jsize len)
-{
- jstring str = JvAllocString(len);
- jchar* data = JvGetStringChars (str);
- while (--len >= 0)
- *data++ = *(unsigned char*)bytes++;
- return str;
-}
-
-void
-java::lang::String::init ()
-{
- count = 0;
- boffset = sizeof(java::lang::String);
- data = this;
-}
-
-void
-java::lang::String::init(jcharArray chars, jint offset, jint count,
- jboolean dont_copy)
-{
- if (! chars)
- JvThrow (new NullPointerException);
- jsize data_size = JvGetArrayLength (chars);
- if (offset < 0 || count < 0 || offset + count > data_size)
- JvThrow (new StringIndexOutOfBoundsException());
- jcharArray array;
- jchar *pdst;
- if (! dont_copy)
- {
- array = JvNewCharArray(count);
- pdst = elements (array);
- memcpy (pdst, elements (chars) + offset, count * sizeof (jchar));
- }
- else
- {
- JvAssert (offset == 0);
- array = chars;
- pdst = elements (array);
- }
-
- data = array;
- boffset = (char *) pdst - (char *) array;
- this->count = count;
-}
-
-void
-java::lang::String::init(jbyteArray ascii, jint hibyte, jint offset,
- jint count)
-{
- if (! ascii)
- JvThrow (new NullPointerException);
- jsize data_size = JvGetArrayLength (ascii);
- if (offset < 0 || count < 0 || offset + count < 0
- || offset + count > data_size)
- JvThrow (new java::lang::StringIndexOutOfBoundsException());
- jcharArray array = JvNewCharArray(count);
- jbyte *psrc = elements (ascii) + offset;
- jchar *pdst = elements (array);
- data = array;
- boffset = (char *) pdst - (char *) array;
- this->count = count;
- hibyte = (hibyte & 0xff) << 8;
- while (-- count >= 0)
- {
- *pdst++ = hibyte | (*psrc++ & 0xff);
- }
-}
-
-void
-java::lang::String::init (jbyteArray bytes, jint offset, jint count,
- jstring encoding)
-{
- if (! bytes)
- JvThrow (new NullPointerException);
- jsize data_size = JvGetArrayLength (bytes);
- if (offset < 0 || count < 0 || offset + count < 0
- || offset + count > data_size)
- JvThrow (new StringIndexOutOfBoundsException);
- jcharArray array = JvNewCharArray (count);
- gnu::gcj::convert::BytesToUnicode *converter
- = gnu::gcj::convert::BytesToUnicode::getDecoder(encoding);
- jint outpos = 0;
- int avail = count;
- converter->setInput(bytes, offset, offset+count);
- while (converter->inpos < converter->inlength)
- {
- int done = converter->read(array, outpos, avail);
- if (done == 0)
- {
- jint new_size = 2 * (outpos + avail);
- jcharArray new_array = JvNewCharArray (new_size);
- memcpy (elements (new_array), elements (array),
- outpos * sizeof(jchar));
- array = new_array;
- avail = new_size - outpos;
- }
- else
- {
- outpos += done;
- avail -= done;
- }
- }
- this->data = array;
- this->boffset = (char *) elements (array) - (char *) array;
- this->count = outpos;
-}
-
-jboolean
-java::lang::String::equals(jobject anObject)
-{
- if (anObject == NULL)
- return false;
- if (anObject == this)
- return true;
- if (anObject->getClass() != &StringClass)
- return false;
- jstring other = (jstring) anObject;
- if (count != other->count)
- return false;
- /* if both are interned, return false. */
- register jint i = count;
- register jchar *xptr = JvGetStringChars (this);
- register jchar *yptr = JvGetStringChars (other);
- while (--i >= 0)
- {
- if (*xptr++ != *yptr++)
- return false;
- }
- return true;
-}
-
-jchar
-java::lang::String::charAt(jint i)
-{
- if (i < 0 || i >= count)
- JvThrow (new java::lang::StringIndexOutOfBoundsException());
- return JvGetStringChars(this)[i];
-}
-
-void
-java::lang::String::getChars(jint srcBegin, jint srcEnd,
- jcharArray dst, jint dstBegin)
-{
- jint dst_length = JvGetArrayLength (dst);
- if (srcBegin < 0 || srcBegin > srcEnd || srcEnd > count
- || dstBegin < 0 || dstBegin + (srcEnd-srcBegin) > dst_length)
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException());
- register jchar *dPtr = elements (dst) + dstBegin;
- register jchar *sPtr = JvGetStringChars (this) + srcBegin;
- register jint i = srcEnd-srcBegin;
- while (--i >= 0)
- *dPtr++ = *sPtr++;
-}
-
-jbyteArray
-java::lang::String::getBytes (jstring enc)
-{
- jint todo = length();
- jint buflen = todo;
- jbyteArray buffer = JvNewByteArray(todo);
- jint bufpos = 0;
- jint offset = 0;
- gnu::gcj::convert::UnicodeToBytes *converter
- = gnu::gcj::convert::UnicodeToBytes::getEncoder(enc);
- while (todo > 0)
- {
- converter->setOutput(buffer, bufpos);
- int converted = converter->write(this, offset, todo, NULL);
- bufpos = converter->count;
- if (converted == 0)
- {
- buflen *= 2;
- jbyteArray newbuffer = JvNewByteArray(buflen);
- memcpy (elements (newbuffer), elements (buffer), bufpos);
- buffer = newbuffer;
- }
- else
- {
- offset += converted;
- todo -= converted;
- }
- }
- if (bufpos == buflen)
- return buffer;
- jbyteArray result = JvNewByteArray(bufpos);
- memcpy (elements (result), elements (buffer), bufpos);
- return result;
-}
-
-void
-java::lang::String::getBytes(jint srcBegin, jint srcEnd,
- jbyteArray dst, jint dstBegin)
-{
- jint dst_length = JvGetArrayLength (dst);
- if (srcBegin < 0 || srcBegin > srcEnd || srcEnd > count
- || dstBegin < 0 || dstBegin + (srcEnd-srcBegin) > dst_length)
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException());
- register jbyte *dPtr = elements (dst) + dstBegin;
- register jchar *sPtr = JvGetStringChars (this) + srcBegin;
- register jint i = srcEnd-srcBegin;
- while (--i >= 0)
- *dPtr++ = (jbyte) *sPtr++;
-}
-
-jcharArray
-java::lang::String::toCharArray()
-{
- jcharArray array = JvNewCharArray(count);
- register jchar *dPtr = elements (array);
- register jchar *sPtr = JvGetStringChars (this);
- register jint i = count;
- while (--i >= 0)
- *dPtr++ = *sPtr++;
- return array;
-}
-
-jboolean
-java::lang::String::equalsIgnoreCase (jstring anotherString)
-{
- if (count != anotherString->count)
- return false;
- register jchar *tptr = JvGetStringChars (this);
- register jchar *optr = JvGetStringChars (anotherString);
- register jint i = count;
- while (--i >= 0)
- {
- jchar tch = *tptr++;
- jchar och = *optr++;
- if (tch != och
- && (java::lang::Character::toLowerCase (tch)
- != java::lang::Character::toLowerCase (och))
- && (java::lang::Character::toUpperCase (tch)
- != java::lang::Character::toUpperCase (och)))
- return false;
- }
- return true;
-}
-
-jboolean
-java::lang::String::regionMatches (jint toffset,
- jstring other, jint ooffset, jint len)
-{
- if (toffset < 0 || ooffset < 0
- || toffset + len > count
- || ooffset + len > other->count)
- return false;
- register jchar *tptr = JvGetStringChars (this) + toffset;
- register jchar *optr = JvGetStringChars (other) + ooffset;
- register jint i = len;
- while (--i >= 0)
- {
- if (*tptr++ != *optr++)
- return false;
- }
- return true;
-}
-
-jint
-java::lang::String::compareTo (jstring anotherString)
-{
- register jchar *tptr = JvGetStringChars (this);
- register jchar *optr = JvGetStringChars (anotherString);
- jint tlen = this->count;
- jint olen = anotherString->count;
- register jint i = tlen > olen ? olen : tlen;
- while (--i >= 0)
- {
- jchar tch = *tptr++;
- jchar och = *optr++;
- if (tch != och)
- return (jint) tch - (jint) och;
- }
- return tlen - olen;
-}
-
-jboolean
-java::lang::String::regionMatches (jboolean ignoreCase, jint toffset,
- jstring other, jint ooffset, jint len)
-{
- if (toffset < 0 || ooffset < 0
- || toffset + len > count
- || ooffset + len > other->count)
- return false;
- register jchar *tptr = JvGetStringChars (this) + toffset;
- register jchar *optr = JvGetStringChars (other) + ooffset;
- register jint i = len;
- while (--i >= 0)
- {
- jchar tch = *tptr++;
- jchar och = *optr++;
- if (tch != och)
- return false;
- if (ignoreCase
- && (java::lang::Character::toLowerCase (tch)
- != java::lang::Character::toLowerCase (och))
- && (java::lang::Character::toUpperCase (tch)
- != java::lang::Character::toUpperCase (och)))
- return false;
- }
- return true;
-}
-
-jboolean
-java::lang::String::startsWith (jstring prefix, jint toffset)
-{
- register jint i = prefix->count;
- if (toffset < 0 || toffset + i > count)
- return false;
- register jchar *xptr = JvGetStringChars (this) + toffset;
- register jchar *yptr = JvGetStringChars (prefix);
- while (--i >= 0)
- {
- if (*xptr++ != *yptr++)
- return false;
- }
- return true;
-}
-
-jint
-java::lang::String::indexOf (jint ch, jint fromIndex)
-{
- if (fromIndex < 0)
- fromIndex = 0;
- register jchar *ptr = JvGetStringChars(this);
- for (;; ++fromIndex)
- {
- if (fromIndex >= count)
- return -1;
- if (ptr[fromIndex] == ch)
- return fromIndex;
- }
-}
-
-jint
-java::lang::String::indexOf (jstring s, jint fromIndex)
-{
- const jchar *const xchars = JvGetStringChars(s);
- const jchar *const ychars = JvGetStringChars(this) + fromIndex;
-
- const int xlength = s->length ();
- const int ylength = length () - fromIndex;
-
- int i = 0;
- int j = 0;
-
- while (i < ylength && j < xlength)
- {
- if (xchars[j] != ychars[i])
- {
- i = i - j + 1;
- j = 0;
- }
- else
- i++, j++;
- }
-
- if (j >= xlength)
- return fromIndex + i - xlength;
- else
- return -1;
-}
-
-jint
-java::lang::String::lastIndexOf (jint ch, jint fromIndex)
-{
- if (fromIndex >= count)
- fromIndex = count - 1;
- register jchar *ptr = JvGetStringChars(this);
- for (;; --fromIndex)
- {
- if (fromIndex < 0)
- return -1;
- if (ptr[fromIndex] == ch)
- return fromIndex;
- }
-}
-
-jstring
-java::lang::String::substring (jint beginIndex, jint endIndex)
-{
- if (beginIndex < 0 || endIndex > count || beginIndex > endIndex)
- JvThrow (new StringIndexOutOfBoundsException());
- jint newCount = endIndex - beginIndex;
- if (newCount <= 8) // Optimization, mainly for GC.
- return JvNewString(JvGetStringChars(this) + beginIndex, newCount);
- jstring s = new String();
- s->data = data;
- s->count = newCount;
- s->boffset = boffset + sizeof(jchar) * beginIndex;
- return s;
-}
-
-jstring
-java::lang::String::concat(jstring str)
-{
- jint str_count = str->count;
- if (str_count == 0)
- return this;
- jstring result = JvAllocString(count + str_count);
- register jchar *dstPtr = JvGetStringChars(result);
- register jchar *srcPtr = JvGetStringChars(this);
- register jint i = count;
- while (--i >= 0)
- *dstPtr++ = *srcPtr++;
- srcPtr = JvGetStringChars(str);
- i = str->count;
- while (--i >= 0)
- *dstPtr++ = *srcPtr++;
- return result;
-}
-
-jstring
-java::lang::String::replace (jchar oldChar, jchar newChar)
-{
- jint i;
- jchar* chrs = JvGetStringChars (this);
- for (i = 0; ; i++)
- {
- if (i == count)
- return this;
- if (chrs[i] == oldChar)
- break;
- }
- jstring result = JvAllocString (count);
- jchar *dPtr = JvGetStringChars (result);
- for (int j = 0; j < i; j++)
- *dPtr++ = chrs[j];
- for (; i < count; i++)
- {
- jchar ch = chrs[i];
- if (ch == oldChar)
- ch = newChar;
- *dPtr++ = ch;
- }
- return result;
-}
-
-jstring
-java::lang::String::toLowerCase ()
-{
- jint i;
- jchar* chrs = JvGetStringChars(this);
- jchar ch;
- for (i = 0; ; i++)
- {
- if (i == count)
- return this;
- jchar origChar = chrs[i];
- ch = java::lang::Character::toLowerCase(origChar);
- if (ch != origChar)
- break;
- }
- jstring result = JvAllocString(count);
- jchar *dPtr = JvGetStringChars (result);
- for (int j = 0; j < i; j++)
- *dPtr++ = chrs[j];
- *dPtr++ = ch; i++;
- for (; i < count; i++)
- {
- *dPtr++ = java::lang::Character::toLowerCase(chrs[i]);
- }
- return result;
-}
-
-jstring
-java::lang::String::toUpperCase ()
-{
- jint i;
- jchar* chrs = JvGetStringChars(this);
- jchar ch;
- for (i = 0; ; i++)
- {
- if (i == count)
- return this;
- jchar origChar = chrs[i];
- ch = java::lang::Character::toUpperCase(origChar);
- if (ch != origChar)
- break;
- }
- jstring result = JvAllocString(count);
- jchar *dPtr = JvGetStringChars (result);
- for (int j = 0; j < i; j++)
- *dPtr++ = chrs[j];
- *dPtr++ = ch; i++;
- for (; i < count; i++)
- {
- *dPtr++ = java::lang::Character::toUpperCase(chrs[i]);
- }
- return result;
-}
-
-jstring
-java::lang::String::trim ()
-{
- jchar* chrs = JvGetStringChars(this);
- if (count == 0 || (chrs[0] > ' ' && chrs[count-1] > ' '))
- return this;
- jint preTrim = 0;
- for (;; preTrim++)
- {
- if (preTrim == count)
- return new String();
- if (chrs[preTrim] > ' ')
- break;
- }
- jint endTrim = count;
- while (chrs[endTrim-1] <= ' ')
- endTrim--;
- return substring(preTrim, endTrim);
-}
-
-jstring
-java::lang::String::valueOf(jcharArray data, jint offset, jint count)
-{
- jint data_length = JvGetArrayLength (data);
- if (offset < 0 || count < 0 || offset+count > data_length)
- JvThrow (new java::lang::IndexOutOfBoundsException());
- register jstring result = JvAllocString(count);
- register jchar *sPtr = elements (data) + offset;
- register jchar *dPtr = JvGetStringChars(result);
- while (--count >= 0)
- *dPtr++ = *sPtr++;
- return result;
-}
-
-jstring
-java::lang::String::valueOf(jchar c)
-{
- register jstring result = JvAllocString(1);
- JvGetStringChars (result)[0] = c;
- return result;
-}
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
deleted file mode 100644
index 4f67ee9ce64..00000000000
--- a/libjava/java/lang/natSystem.cc
+++ /dev/null
@@ -1,332 +0,0 @@
-// natSystem.cc - Native code implementing System class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#ifdef HAVE_GETPWUID_R
-#define _POSIX_PTHREAD_SEMANTICS
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-#endif
-
-#include <string.h>
-#include <time.h>
-#include <stdlib.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifdef HAVE_PWD_H
-#include <pwd.h>
-#endif
-#include <errno.h>
-
-#ifdef HAVE_UNAME
-#include <sys/utsname.h>
-#endif
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/System.h>
-#include <java/lang/Class.h>
-#include <java/lang/ArrayStoreException.h>
-#include <java/lang/ArrayIndexOutOfBoundsException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/util/Properties.h>
-#include <java/io/PrintStream.h>
-#include <java/io/InputStream.h>
-
-#define SystemClass _CL_Q34java4lang6System
-extern java::lang::Class SystemClass;
-
-
-
-#if defined (ECOS)
-extern "C" unsigned long long _clock (void);
-#endif
-
-void
-java::lang::System::setErr (java::io::PrintStream *newErr)
-{
- checkSetIO ();
- // This violates `final' semantics. Oh well.
- err = newErr;
-}
-
-void
-java::lang::System::setIn (java::io::InputStream *newIn)
-{
- checkSetIO ();
- // This violates `final' semantics. Oh well.
- in = newIn;
-}
-
-void
-java::lang::System::setOut (java::io::PrintStream *newOut)
-{
- checkSetIO ();
- // This violates `final' semantics. Oh well.
- out = newOut;
-}
-
-void
-java::lang::System::arraycopy (jobject src, jint src_offset,
- jobject dst, jint dst_offset,
- jint count)
-{
- if (! src || ! dst)
- _Jv_Throw (new NullPointerException);
-
- jclass src_c = src->getClass();
- jclass dst_c = dst->getClass();
- jclass src_comp = src_c->getComponentType();
- jclass dst_comp = dst_c->getComponentType();
-
- if (! src_c->isArray() || ! dst_c->isArray()
- || src_comp->isPrimitive() != dst_comp->isPrimitive()
- || (src_comp->isPrimitive() && src_comp != dst_comp))
- _Jv_Throw (new ArrayStoreException);
-
- __JArray *src_a = (__JArray *) src;
- __JArray *dst_a = (__JArray *) dst;
- if (src_offset < 0 || dst_offset < 0 || count < 0
- || src_offset + count > src_a->length
- || dst_offset + count > dst_a->length)
- _Jv_Throw (new ArrayIndexOutOfBoundsException);
-
- // Do-nothing cases.
- if ((src == dst && src_offset == dst_offset)
- || ! count)
- return;
-
- // If both are primitive, we can optimize trivially. If DST
- // components are always assignable from SRC components, then we
- // will never need to raise an error, and thus can do the
- // optimization. If source and destinations are the same, then we
- // know that the assignability premise always holds.
- const bool prim = src_comp->isPrimitive();
- if (prim || dst_comp->isAssignableFrom(src_comp) || src == dst)
- {
- const size_t size = (prim ? src_comp->size()
- : sizeof elements((jobjectArray)src)[0]);
-
- // In an ideal world we would do this via a virtual function in
- // __JArray. However, we can't have virtual functions in
- // __JArray due to the need to copy an array's virtual table in
- // _Jv_FindArrayClass.
- // We can't just pick a single subtype of __JArray to use due to
- // alignment concerns.
- char *src_elts = NULL;
- if (! prim)
- src_elts = (char *) elements ((jobjectArray) src);
- else if (src_comp == JvPrimClass (byte))
- src_elts = (char *) elements ((jbyteArray) src);
- else if (src_comp == JvPrimClass (short))
- src_elts = (char *) elements ((jshortArray) src);
- else if (src_comp == JvPrimClass (int))
- src_elts = (char *) elements ((jintArray) src);
- else if (src_comp == JvPrimClass (long))
- src_elts = (char *) elements ((jlongArray) src);
- else if (src_comp == JvPrimClass (boolean))
- src_elts = (char *) elements ((jbooleanArray) src);
- else if (src_comp == JvPrimClass (char))
- src_elts = (char *) elements ((jcharArray) src);
- else if (src_comp == JvPrimClass (float))
- src_elts = (char *) elements ((jfloatArray) src);
- else if (src_comp == JvPrimClass (double))
- src_elts = (char *) elements ((jdoubleArray) src);
- src_elts += size * src_offset;
-
- char *dst_elts = NULL;
- if (! prim)
- dst_elts = (char *) elements ((jobjectArray) dst);
- else if (dst_comp == JvPrimClass (byte))
- dst_elts = (char *) elements ((jbyteArray) dst);
- else if (dst_comp == JvPrimClass (short))
- dst_elts = (char *) elements ((jshortArray) dst);
- else if (dst_comp == JvPrimClass (int))
- dst_elts = (char *) elements ((jintArray) dst);
- else if (dst_comp == JvPrimClass (long))
- dst_elts = (char *) elements ((jlongArray) dst);
- else if (dst_comp == JvPrimClass (boolean))
- dst_elts = (char *) elements ((jbooleanArray) dst);
- else if (dst_comp == JvPrimClass (char))
- dst_elts = (char *) elements ((jcharArray) dst);
- else if (dst_comp == JvPrimClass (float))
- dst_elts = (char *) elements ((jfloatArray) dst);
- else if (dst_comp == JvPrimClass (double))
- dst_elts = (char *) elements ((jdoubleArray) dst);
- dst_elts += size * dst_offset;
-
- // We don't bother trying memcpy. It can't be worth the cost of
- // the check.
- memmove ((void *) dst_elts, (void *) src_elts, count * size);
- }
- else
- {
- jobject *src_elts = elements ((jobjectArray) src_a) + src_offset;
- jobject *dst_elts = elements ((jobjectArray) dst_a) + dst_offset;
-
- for (int i = 0; i < count; ++i)
- {
- if (*src_elts
- && ! dst_comp->isAssignableFrom((*src_elts)->getClass()))
- _Jv_Throw (new ArrayStoreException);
- *dst_elts++ = *src_elts++;
- }
- }
-}
-
-jlong
-java::lang::System::currentTimeMillis (void)
-{
- jlong r;
-
-#if defined (HAVE_GETTIMEOFDAY)
- struct timeval tv;
- gettimeofday (&tv, NULL);
- r = (jlong) tv.tv_sec * 1000 + tv.tv_usec / 1000;
-#elif defined (HAVE_TIME)
- r = time (NULL) * 1000;
-#elif defined (HAVE_FTIME)
- struct timeb t;
- ftime (&t);
- r = t.time * 1000 + t.millitm;
-#elif defined (ECOS)
- r = _clock();
-#else
- // In the absence of any function, time remains forever fixed.
- r = 23;
-#endif
-
- return r;
-}
-
-jint
-java::lang::System::identityHashCode (jobject obj)
-{
- return _Jv_HashCode (obj);
-}
-
-#ifndef DEFAULT_FILE_ENCODING
-#define DEFAULT_FILE_ENCODING "8859_1"
-#endif
-static char *default_file_encoding = DEFAULT_FILE_ENCODING;
-
-void
-java::lang::System::init_properties (void)
-{
- {
- // We only need to synchronize around this gatekeeper.
- JvSynchronize sync (&SystemClass);
- if (prop_init)
- return;
- prop_init = true;
- }
-
- properties = new java::util::Properties ();
- // A convenience define.
-#define SET(Prop,Val) \
- properties->put(JvNewStringLatin1 (Prop), JvNewStringLatin1 (Val))
- SET ("java.version", VERSION);
- SET ("java.vendor", "Cygnus Solutions");
- SET ("java.vendor.url", "http://sourceware.cygnus.com/java/");
- SET ("java.class.version", GCJVERSION);
- // FIXME: how to set these given location-independence?
- // SET ("java.home", "FIXME");
- // SET ("java.class.path", "FIXME");
- SET ("file.encoding", default_file_encoding);
-
-#ifdef WIN32
- SET ("file.separator", "\\");
- SET ("path.separator", ";");
- SET ("line.separator", "\r\n");
-#else
- // Unix.
- SET ("file.separator", "/");
- SET ("path.separator", ":");
- SET ("line.separator", "\n");
-#endif
-
-#ifdef HAVE_UNAME
- struct utsname u;
- if (! uname (&u))
- {
- SET ("os.name", u.sysname);
- SET ("os.arch", u.machine);
- SET ("os.version", u.release);
- }
- else
- {
- SET ("os.name", "unknown");
- SET ("os.arch", "unknown");
- SET ("os.version", "unknown");
- }
-#endif /* HAVE_UNAME */
-
-#ifdef HAVE_PWD_H
- uid_t user_id = getuid ();
- struct passwd *pwd_entry;
-
-#ifdef HAVE_GETPWUID_R
- struct passwd pwd_r;
- size_t len_r = 200;
- char *buf_r = (char *) _Jv_AllocBytes (len_r);
-
- while (buf_r != NULL)
- {
- int r = getpwuid_r (user_id, &pwd_r, buf_r, len_r, &pwd_entry);
- if (r == 0)
- break;
- else if (r != ERANGE)
- {
- pwd_entry = NULL;
- break;
- }
- len_r *= 2;
- buf_r = (char *) _Jv_AllocBytes (len_r);
- }
-#else
- pwd_entry = getpwuid (user_id);
-#endif /* HAVE_GETPWUID_R */
-
- if (pwd_entry != NULL)
- {
- SET ("user.name", pwd_entry->pw_name);
- SET ("user.home", pwd_entry->pw_dir);
- }
-#endif /* HAVE_PWD_H */
-
-#ifdef HAVE_UNISTD_H
- /* Use getcwd to set "user.dir". */
- int buflen = 250;
- char *buffer = (char *) malloc (buflen);
- while (buffer != NULL)
- {
- if (getcwd (buffer, buflen) != NULL)
- {
- SET ("user.dir", buffer);
- break;
- }
- if (errno != ERANGE)
- break;
- buflen = 2 * buflen;
- buffer = (char *) realloc (buffer, buflen);
- }
- if (buffer != NULL)
- free (buffer);
-#endif
-}
diff --git a/libjava/java/lang/natThread.cc b/libjava/java/lang/natThread.cc
deleted file mode 100644
index 117191133a8..00000000000
--- a/libjava/java/lang/natThread.cc
+++ /dev/null
@@ -1,295 +0,0 @@
-// natThread.cc - Native part of Thread class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/Thread.h>
-#include <java/lang/ThreadGroup.h>
-#include <java/lang/IllegalArgumentException.h>
-#include <java/lang/IllegalThreadStateException.h>
-#include <java/lang/InterruptedException.h>
-#include <java/lang/NullPointerException.h>
-
-
-
-// This structure is used to represent all the data the native side
-// needs. An object of this type is assigned to the `data' member of
-// the Thread class.
-struct natThread
-{
- // These are used to interrupt sleep and join calls. We can share a
- // condition variable here since this thread can either be sleeping
- // or waiting for a thread exit, but not both.
- _Jv_Mutex_t interrupt_mutex;
- _Jv_ConditionVariable_t interrupt_cond;
-
- // This is private data for the thread system layer.
- _Jv_Thread_t *thread;
-
- // All threads waiting to join this thread are linked together and
- // waiting on their respective `interrupt' condition variables.
- // When this thread exits, it notifies each such thread by
- // signalling the condition. In this case the `interrupt_flag' is
- // not set; this is how the waiting thread knows whether the join
- // has failed or whether it should throw an exception.
- struct natThread *joiner;
-
- // Chain for waiters.
- struct natThread *next;
-};
-
-// This is called from the constructor to initialize the native side
-// of the Thread.
-void
-java::lang::Thread::initialize_native (void)
-{
- // FIXME: this must interact with the GC in some logical way. At
- // the very least we must register a finalizer to clean up. This
- // isn't easy to do. If the Thread object resurrects itself in its
- // own finalizer then we will need to reinitialize this structure at
- // any "interesting" point.
- natThread *nt = (natThread *) _Jv_AllocBytes (sizeof (natThread));
- data = (jobject) nt;
- _Jv_MutexInit (&nt->interrupt_mutex);
- _Jv_CondInit (&nt->interrupt_cond);
- _Jv_ThreadInitData (&nt->thread, this);
- nt->joiner = 0;
- nt->next = 0;
-}
-
-jint
-java::lang::Thread::countStackFrames (void)
-{
- // NOTE: This is deprecated in JDK 1.2.
- JvFail ("java::lang::Thread::countStackFrames unimplemented");
- return 0;
-}
-
-java::lang::Thread *
-java::lang::Thread::currentThread (void)
-{
- return _Jv_ThreadCurrent ();
-}
-
-// FIXME: this is apparently the only way a thread can be removed from
-// a ThreadGroup. That seems wrong.
-void
-java::lang::Thread::destroy (void)
-{
- // NOTE: This is marked as unimplemented in the JDK 1.2
- // documentation.
- JvFail ("java::lang::Thread::destroy unimplemented");
-}
-
-void
-java::lang::Thread::dumpStack (void)
-{
- // We don't implement this because it is very hard. Once we have a
- // VM, this could potentially ask the VM to do the dump in cases
- // where it makes sense.
- JvFail ("java::lang::Thread::dumpStack unimplemented");
-}
-
-void
-java::lang::Thread::interrupt (void)
-{
- interrupt_flag = true;
-
- // Wake up this thread, whether it is sleeping or waiting for
- // another thread to exit.
- natThread *nt = (natThread *) data;
- _Jv_MutexLock (&nt->interrupt_mutex);
- _Jv_CondNotify (&nt->interrupt_cond, &nt->interrupt_mutex);
- _Jv_MutexUnlock (&nt->interrupt_mutex);
-
- _Jv_ThreadInterrupt (nt->thread);
-}
-
-void
-java::lang::Thread::join (jlong millis, jint nanos)
-{
- // FIXME: what if we are trying to join ourselves with no timeout?
-
- if (millis < 0 || nanos < 0 || nanos > 999999)
- _Jv_Throw (new IllegalArgumentException);
-
- Thread *current = currentThread ();
- if (current->isInterrupted ())
- _Jv_Throw (new InterruptedException);
-
- // Update the list of all threads waiting for this thread to exit.
- // We grab a mutex when doing this in order to ensure that the
- // required state changes are atomic.
- _Jv_MonitorEnter (this);
- if (! isAlive ())
- {
- _Jv_MonitorExit (this);
- return;
- }
-
- // Here `CURR_NT' is the native structure for the currently
- // executing thread, while `NT' is the native structure for the
- // thread we are trying to join.
- natThread *curr_nt = (natThread *) current->data;
- natThread *nt = (natThread *) data;
-
- JvAssert (curr_nt->next == NULL);
- // Put thread CURR_NT onto NT's list. When NT exits, it will
- // traverse its list and notify all joiners.
- curr_nt->next = nt->joiner;
- nt->joiner = curr_nt;
- _Jv_MonitorExit (this);
-
-
- // Now wait for: (1) an interrupt, (2) the thread to exit, or (3)
- // the timeout to occur.
- _Jv_MutexLock (&curr_nt->interrupt_mutex);
- _Jv_CondWait (&curr_nt->interrupt_cond,
- &curr_nt->interrupt_mutex,
- millis, nanos);
- _Jv_MutexUnlock (&curr_nt->interrupt_mutex);
-
- // Now the join has completed, one way or another. Update the
- // joiners list to account for this.
- _Jv_MonitorEnter (this);
- JvAssert (nt->joiner != NULL);
- natThread *prev = 0;
- natThread *t;
- for (t = nt->joiner; t != NULL; t = t->next)
- {
- if (t == curr_nt)
- {
- if (prev)
- prev->next = t->next;
- else
- nt->joiner = t->next;
- t->next = 0;
- break;
- }
- }
- JvAssert (t != NULL);
- _Jv_MonitorExit (this);
-
- if (current->isInterrupted ())
- _Jv_Throw (new InterruptedException);
-}
-
-void
-java::lang::Thread::resume (void)
-{
- checkAccess ();
- JvFail ("java::lang::Thread::resume unimplemented");
-}
-
-void
-java::lang::Thread::setPriority (jint newPriority)
-{
- checkAccess ();
- if (newPriority < MIN_PRIORITY || newPriority > MAX_PRIORITY)
- _Jv_Throw (new IllegalArgumentException);
-
- jint gmax = group->getMaxPriority();
- if (newPriority > gmax)
- newPriority = gmax;
-
- priority = newPriority;
- natThread *nt = (natThread *) data;
- _Jv_ThreadSetPriority (nt->thread, priority);
-}
-
-void
-java::lang::Thread::sleep (jlong millis, jint nanos)
-{
- if (millis < 0 || nanos < 0 || nanos > 999999)
- _Jv_Throw (new IllegalArgumentException);
-
- Thread *current = currentThread ();
- if (current->isInterrupted ())
- _Jv_Throw (new InterruptedException);
-
- // We use a condition variable to implement sleeping so that an
- // interrupt can wake us up.
- natThread *nt = (natThread *) current->data;
- _Jv_MutexLock (&nt->interrupt_mutex);
- _Jv_CondWait (&nt->interrupt_cond, &nt->interrupt_mutex,
- millis, nanos);
- _Jv_MutexUnlock (&nt->interrupt_mutex);
-
- if (current->isInterrupted ())
- _Jv_Throw (new InterruptedException);
-}
-
-void
-java::lang::Thread::finish_ (void)
-{
- // Notify all threads waiting to join this thread.
- _Jv_MonitorEnter (this);
- alive_flag = false;
-
- // Note that we don't bother cleaning up the joiner list here. That
- // is taken care of when each thread wakes up again.
- natThread *nt = (natThread *) data;
- for (natThread *t = nt->joiner; t != NULL; t = t->next)
- {
- _Jv_MutexLock (&t->interrupt_mutex);
- _Jv_CondNotify (&t->interrupt_cond, &t->interrupt_mutex);
- _Jv_MutexUnlock (&t->interrupt_mutex);
- }
-
- _Jv_MonitorExit (this);
-}
-
-void
-java::lang::Thread::run__ (jobject obj)
-{
- java::lang::Thread *thread = (java::lang::Thread *) obj;
- thread->run_ ();
-}
-
-void
-java::lang::Thread::start (void)
-{
- JvSynchronize sync (this);
-
- if (alive_flag)
- _Jv_Throw (new IllegalThreadStateException);
-
- alive_flag = true;
- natThread *nt = (natThread *) data;
- _Jv_ThreadStart (this, nt->thread, (_Jv_ThreadStartFunc *) &run__);
-}
-
-void
-java::lang::Thread::stop (java::lang::Throwable *e)
-{
- JvSynchronize sync (this);
- checkAccess ();
- if (! e)
- _Jv_Throw (new NullPointerException);
- natThread *nt = (natThread *) data;
- _Jv_ThreadCancel (nt->thread, e);
-}
-
-void
-java::lang::Thread::suspend (void)
-{
- checkAccess ();
- JvFail ("java::lang::Thread::suspend unimplemented");
-}
-
-void
-java::lang::Thread::yield (void)
-{
- _Jv_ThreadYield ();
-}
diff --git a/libjava/java/lang/reflect/AccessibleObject.java b/libjava/java/lang/reflect/AccessibleObject.java
deleted file mode 100644
index 8c869e167b0..00000000000
--- a/libjava/java/lang/reflect/AccessibleObject.java
+++ /dev/null
@@ -1,53 +0,0 @@
-// AccessibleObject.java - Base for reflection objects.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang.reflect;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
- */
-/* Written using JDK 1.2 beta docs.
- * Status: Believed complete and correct.
- */
-
-public class AccessibleObject
-{
- protected AccessibleObject ()
- {
- flag = false;
- }
-
- boolean isAccessible ()
- {
- return flag;
- }
-
- static void setAccessible (AccessibleObject[] array, boolean flag)
- {
- checkPermission ();
- for (int i = 0; i < array.length; ++i)
- array[i].flag = flag;
- }
-
- void setAccessible (boolean flag)
- {
- checkPermission ();
- this.flag = flag;
- }
-
- private static final void checkPermission ()
- {
- SecurityManager sm = System.getSecurityManager();
- // FIXME: sm.checkPermission(ReflectPermission ("suppressAccessChecks"))
- }
-
- private boolean flag;
-}
diff --git a/libjava/java/lang/reflect/Array.java b/libjava/java/lang/reflect/Array.java
deleted file mode 100644
index 398f80d5643..00000000000
--- a/libjava/java/lang/reflect/Array.java
+++ /dev/null
@@ -1,78 +0,0 @@
-// FileDescriptor.java - Open file or device
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang.reflect;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date january 12, 1999
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
- * Status: Believe complete and correct.
- */
-
-public final class Array
-{
- Array () { }
-
- public static native Object newInstance(Class componentType, int length);
- public static native Object newInstance(Class elementType, int[] dimensions);
- public static native int getLength (Object array);
-
- public static native Object get (Object array, int index);
- public static native char getChar (Object array, int index);
- public static native byte getByte (Object array, int index);
- public static native short getShort (Object array, int index);
- public static native int getInt (Object array, int index);
- public static native long getLong (Object array, int index);
- public static native float getFloat (Object array, int index);
- public static native double getDouble (Object array, int index);
- public static native boolean getBoolean (Object array, int index);
-
- private static native Class getElementType (Object array, int index);
-
- private static native void set (Object array, int index,
- Object value, Class elType);
-
- public static void set (Object array, int index, Object value)
- {
- Class elType = getElementType(array, index);
- if (! elType.isPrimitive())
- set(array, index, value, elType);
- else if (value instanceof Byte)
- setByte(array, index, ((Byte) value).byteValue());
- else if (value instanceof Short)
- setShort (array, index, ((Short) value).shortValue());
- else if (value instanceof Integer)
- setInt(array, index, ((Integer) value).intValue());
- else if (value instanceof Long)
- setLong(array, index, ((Long) value).longValue());
- else if (value instanceof Float)
- setFloat(array, index, ((Float) value).floatValue());
- else if (value instanceof Double)
- setDouble(array, index, ((Double) value).doubleValue());
- else if (value instanceof Character)
- setChar(array, index, ((Character) value).charValue());
- else if (value instanceof Boolean)
- setBoolean(array, index, ((Boolean) value).booleanValue());
- else
- throw new IllegalArgumentException();
- }
-
- public static native void setByte (Object array, int index, byte value);
- public static native void setShort (Object array, int index, short value);
- public static native void setInt (Object array, int index, int value);
- public static native void setLong (Object array, int index, long value);
- public static native void setFloat (Object array, int index, float value);
- public static native void setDouble (Object array, int index, double value);
- public static native void setChar (Object array, int index, char value);
- public static native void setBoolean(Object array, int index, boolean value);
-}
diff --git a/libjava/java/lang/reflect/Constructor.java b/libjava/java/lang/reflect/Constructor.java
deleted file mode 100644
index 466c1204bae..00000000000
--- a/libjava/java/lang/reflect/Constructor.java
+++ /dev/null
@@ -1,106 +0,0 @@
-// Constructor.java - Represents a constructor for a class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang.reflect;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Incomplete: needs a private constructor, and
- * newInstance() needs to be written.
- */
-
-public final class Constructor extends AccessibleObject implements Member
-{
- public boolean equals (Object obj)
- {
- if (! (obj instanceof Constructor))
- return false;
- Constructor c = (Constructor) obj;
- return decl_class == c.decl_class && index == c.index;
- }
-
- public Class getDeclaringClass ()
- {
- return decl_class;
- }
-
- public Class[] getExceptionTypes ()
- {
- return (Class[]) exception_types.clone();
- }
-
- public int getModifiers ()
- {
- return modifiers;
- }
-
- public String getName ()
- {
- return decl_class.getName();
- }
-
- public Class[] getParameterTypes ()
- {
- return (Class[]) parameter_types.clone();
- }
-
- public int hashCode ()
- {
- // FIXME.
- return getName().hashCode();
- }
-
- // FIXME: this must be native. Should share implementation with
- // Method.invoke.
- public Object newInstance (Object[] args)
- throws InstantiationException, IllegalAccessException,
- IllegalArgumentException, InvocationTargetException
- {
- return null;
- }
-
- public String toString ()
- {
- StringBuffer b = new StringBuffer ();
- b.append(Modifier.toString(modifiers));
- b.append(" ");
- b.append(getName());
- b.append("(");
- for (int i = 0; i < parameter_types.length; ++i)
- {
- b.append(parameter_types[i].toString());
- if (i < parameter_types.length - 1)
- b.append(",");
- }
- b.append(")");
- return b.toString();
- }
-
- // Can't create these. FIXME.
- private Constructor ()
- {
- }
-
- // Declaring class.
- private Class decl_class;
- // Exception types.
- private Class[] exception_types;
- // Modifiers.
- private int modifiers;
- // Parameter types.
- private Class[] parameter_types;
- // Index of this method in declaring class' method table.
- private int index;
-}
diff --git a/libjava/java/lang/reflect/Field.java b/libjava/java/lang/reflect/Field.java
deleted file mode 100644
index 7c7e690926a..00000000000
--- a/libjava/java/lang/reflect/Field.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang.reflect;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date September 1998; February 1999.
- */
-/* Status: Mostly implemented.
- * However, access checks are not implemented. See natField.cc for
- * _Jv_CheckFieldAccessibility as well as the missing getCaller.
- * Note that the idea is to have to compiler convert calls to
- * setXXX(...) and getXXX(...) to setXXX(CALLER, ...) and getXXX(CALLER, ...),
- * where CALLER is reference to the class that contains the calls to
- * setXXX or getXXX. This is easy for the compiler, and replaces
- * expensive stack and table searching with a constant.
- */
-
-public final class Field extends AccessibleObject implements Member
-{
- private Class declaringClass;
-
- // This is filled in by getName.
- private String name;
-
- // Offset in bytes from the start of declaringClass's fields array.
- private int offset;
-
- public boolean equals (Object fld)
- {
- if (! (fld instanceof Field))
- return false;
- Field f = (Field) fld;
- return declaringClass == f.declaringClass && offset == f.offset;
- }
-
- public Class getDeclaringClass ()
- {
- return declaringClass;
- }
-
- public native String getName ();
-
- public native Class getType ();
-
- public native int getModifiers ();
-
- public int hashCode()
- {
- return (declaringClass.hashCode() ^ offset);
- }
-
- // The idea is that the compiler will magically translate
- // fld.getShort(obj) to fld.getShort(THISCLASS, obj).
- // This makes checking assessiblity more efficient,
- // since we don't have to do any stack-walking.
-
- public boolean getBoolean (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getBoolean(null, obj);
- }
- public char getChar (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getChar(null, obj);
- }
-
- public byte getByte (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getByte(null, obj);
- }
-
- public short getShort (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getShort(null, obj);
- }
-
- public int getInt (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getInt(null, obj);
- }
-
- public long getLong (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getLong(null, obj);
- }
-
- public float getFloat (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getFloat(null, obj);
- }
-
- public double getDouble (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return getDouble(null, obj);
- }
-
- public Object get (Object obj)
- throws IllegalArgumentException, IllegalAccessException
- {
- return get(null, obj);
- }
-
- private native boolean getBoolean (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native char getChar (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native byte getByte (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native short getShort (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native int getInt (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native long getLong (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native float getFloat (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native double getDouble (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native Object get (Class caller, Object obj)
- throws IllegalArgumentException, IllegalAccessException;
-
- public void setByte (Object obj, byte b)
- throws IllegalArgumentException, IllegalAccessException
- {
- setByte(null, obj, b);
- }
-
- public void setShort (Object obj, short s)
- throws IllegalArgumentException, IllegalAccessException
- {
- setShort(null, obj, s);
- }
-
- public void setInt (Object obj, int i)
- throws IllegalArgumentException, IllegalAccessException
- {
- setInt(null, obj, i);
- }
-
- public void setLong (Object obj, long l)
- throws IllegalArgumentException, IllegalAccessException
- {
- setLong(null, obj, l);
- }
-
- public void setFloat (Object obj, float f)
- throws IllegalArgumentException, IllegalAccessException
- {
- setFloat(null, obj, f);
- }
-
- public void setDouble (Object obj, double d)
- throws IllegalArgumentException, IllegalAccessException
- {
- setDouble(null, obj, d);
- }
-
- public void setChar (Object obj, char c)
- throws IllegalArgumentException, IllegalAccessException
- {
- setChar(null, obj, c);
- }
-
- public void setBoolean (Object obj, boolean b)
- throws IllegalArgumentException, IllegalAccessException
- {
- setBoolean(null, obj, b);
- }
-
- public native void setByte (Class caller, Object obj, byte b)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native void setShort (Class caller, Object obj, short s)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native void setInt (Class caller, Object obj, int i)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native void setLong (Class caller, Object obj, long l)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native void setFloat (Class caller, Object obj, float f)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native void setDouble (Class caller, Object obj, double d)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native void setChar (Class caller, Object obj, char c)
- throws IllegalArgumentException, IllegalAccessException;
-
- public native void setBoolean (Class caller, Object obj, boolean b)
- throws IllegalArgumentException, IllegalAccessException;
-
- private native void set (Class caller, Object obj, Object val, Class type)
- throws IllegalArgumentException, IllegalAccessException;
-
- public void set (Object object, Object value)
- throws IllegalArgumentException, IllegalAccessException
- {
- set(null, object, value);
- }
-
- public void set (Class caller, Object object, Object value)
- throws IllegalArgumentException, IllegalAccessException
- {
- Class type = getType();
- if (! type.isPrimitive())
- set(caller, object, value, type);
- else if (value instanceof Byte)
- setByte(caller, object, ((Byte) value).byteValue());
- else if (value instanceof Short)
- setShort (caller, object, ((Short) value).shortValue());
- else if (value instanceof Integer)
- setInt(caller, object, ((Integer) value).intValue());
- else if (value instanceof Long)
- setLong(caller, object, ((Long) value).longValue());
- else if (value instanceof Float)
- setFloat(caller, object, ((Float) value).floatValue());
- else if (value instanceof Double)
- setDouble(caller, object, ((Double) value).doubleValue());
- else if (value instanceof Character)
- setChar(caller, object, ((Character) value).charValue());
- else if (value instanceof Boolean)
- setBoolean(caller, object, ((Boolean) value).booleanValue());
- else
- throw new IllegalArgumentException();
- }
-
- public String toString ()
- {
- StringBuffer sbuf = new StringBuffer ();
- int mods = getModifiers();
- if (mods != 0)
- Modifier.toString(mods, sbuf);
- sbuf.append(getType());
- sbuf.append(' ');
- sbuf.append(getDeclaringClass());
- sbuf.append('.');
- sbuf.append(getName());
- return sbuf.toString();
- }
-}
diff --git a/libjava/java/lang/reflect/InvocationTargetException.java b/libjava/java/lang/reflect/InvocationTargetException.java
deleted file mode 100644
index eccd5f7daed..00000000000
--- a/libjava/java/lang/reflect/InvocationTargetException.java
+++ /dev/null
@@ -1,73 +0,0 @@
-// InvocationTargetException.java - Wrapper exception for reflection.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang.reflect;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Believed complete and correct.
- */
-
-public class InvocationTargetException extends Exception
-{
- public Throwable getTargetException ()
- {
- return target;
- }
-
- protected InvocationTargetException ()
- {
- super ();
- target = null;
- }
-
- public InvocationTargetException (Throwable exception)
- {
- super ();
- target = exception;
- }
-
- public InvocationTargetException (Throwable exception, String msg)
- {
- super (msg);
- target = exception;
- }
-
- // This is from JDK 1.2.
- public void printStackTrace ()
- {
- if (target != null)
- target.printStackTrace();
- }
-
- // This is from JDK 1.2.
- public void printStackTrace (PrintStream s)
- {
- if (target != null)
- target.printStackTrace(s);
- }
-
- // This is from JDK 1.2.
- public void printStackTrace (PrintWriter wr)
- {
- if (target != null)
- target.printStackTrace(wr);
- }
-
- // The wrapped exception. The name is specified by the
- // serialization spec.
- private Throwable target;
-}
diff --git a/libjava/java/lang/reflect/Member.java b/libjava/java/lang/reflect/Member.java
deleted file mode 100644
index a54f05f689e..00000000000
--- a/libjava/java/lang/reflect/Member.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang.reflect;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date September 27, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition.
- * Status: Believed complete and correct.
- */
-
-public interface Member
-{
- public static final int PUBLIC = 0;
- public static final int DECLARED = 1;
- public Class getDeclaringClass ();
- public int getModifiers ();
- public String getName();
-}
diff --git a/libjava/java/lang/reflect/Method.java b/libjava/java/lang/reflect/Method.java
deleted file mode 100644
index 01e830876e5..00000000000
--- a/libjava/java/lang/reflect/Method.java
+++ /dev/null
@@ -1,123 +0,0 @@
-// Method.java - Represent method of class or interface.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.lang.reflect;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Incomplete: needs a private constructor, and
- * invoke() needs to be finished.
- */
-
-public final class Method extends AccessibleObject implements Member
-{
- public boolean equals (Object obj)
- {
- if (! (obj instanceof Method))
- return false;
- Method m = (Method) obj;
- return declaringClass == m.declaringClass && offset == m.offset;
- }
-
- public Class getDeclaringClass ()
- {
- return declaringClass;
- }
-
- public Class[] getExceptionTypes ()
- {
- return (Class[]) exception_types.clone();
- }
-
- public native int getModifiers ();
-
- public native String getName ();
-
- private native void getType ();
-
- public Class[] getParameterTypes ()
- {
- if (parameter_types == null)
- getType();
- return (Class[]) parameter_types.clone();
- }
-
- public Class getReturnType ()
- {
- if (return_type == null)
- getType();
- return return_type;
- }
-
- public int hashCode ()
- {
- // FIXME.
- return name.hashCode() + declaringClass.getName().hashCode();
- }
-
- public native Object invoke (Object obj, Object[] args)
- throws IllegalAccessException, IllegalArgumentException,
- InvocationTargetException;
-
- public String toString ()
- {
- StringBuffer b = new StringBuffer ();
- b.append(Modifier.toString(getModifiers()));
- b.append(" ");
- b.append(return_type.toString());
- b.append(" ");
- b.append(declaringClass.toString());
- b.append(".");
- b.append(name);
- b.append("(");
- for (int i = 0; i < parameter_types.length; ++i)
- {
- b.append(parameter_types[i].toString());
- if (i < parameter_types.length - 1)
- b.append(",");
- }
- b.append(")");
- if (exception_types.length > 0)
- {
- b.append(" throws ");
- for (int i = 0; i < exception_types.length; ++i)
- {
- b.append(exception_types[i].toString());
- if (i < exception_types.length - 1)
- b.append(",");
- }
- }
- return b.toString();
- }
-
- private Method ()
- {
- }
-
- // Declaring class.
- private Class declaringClass;
-
- // Exception types.
- private Class[] exception_types;
- // Name cache. (Initially null.)
- private String name;
- // Parameter types.
- private Class[] parameter_types;
- // Return type.
- private Class return_type;
-
- // Offset in bytes from the start of declaringClass's methods array.
- private int offset;
-}
diff --git a/libjava/java/lang/reflect/Modifier.java b/libjava/java/lang/reflect/Modifier.java
deleted file mode 100644
index f9df49e80ee..00000000000
--- a/libjava/java/lang/reflect/Modifier.java
+++ /dev/null
@@ -1,130 +0,0 @@
-// Modifier.java - Process modifier values.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 1, 1998
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct to version 1.1
- */
-
-package java.lang.reflect;
-
-public class Modifier
-{
- public static final int PUBLIC = 0x001;
- public static final int PRIVATE = 0x002;
- public static final int PROTECTED = 0x004;
- public static final int STATIC = 0x008;
- public static final int FINAL = 0x010;
- public static final int SYNCHRONIZED = 0x020;
- public static final int VOLATILE = 0x040;
- public static final int TRANSIENT = 0x080;
- public static final int NATIVE = 0x100;
- public static final int INTERFACE = 0x200;
- public static final int ABSTRACT = 0x400;
-
- public static boolean isAbstract (int mod)
- {
- return (mod & ABSTRACT) != 0;
- }
-
- public static boolean isFinal (int mod)
- {
- return (mod & FINAL) != 0;
- }
-
- public static boolean isInterface (int mod)
- {
- return (mod & INTERFACE) != 0;
- }
-
- public static boolean isNative (int mod)
- {
- return (mod & NATIVE) != 0;
- }
-
- public static boolean isPrivate (int mod)
- {
- return (mod & PRIVATE) != 0;
- }
-
- public static boolean isProtected (int mod)
- {
- return (mod & PROTECTED) != 0;
- }
-
- public static boolean isPublic (int mod)
- {
- return (mod & PUBLIC) != 0;
- }
-
- public static boolean isStatic (int mod)
- {
- return (mod & STATIC) != 0;
- }
-
- public static boolean isSynchronized (int mod)
- {
- return (mod & SYNCHRONIZED) != 0;
- }
-
- public static boolean isTransient (int mod)
- {
- return (mod & TRANSIENT) != 0;
- }
-
- public static boolean isVolatile (int mod)
- {
- return (mod & VOLATILE) != 0;
- }
-
- public static String toString (int mod)
- {
- StringBuffer r = new StringBuffer ();
- toString(mod, r);
- return r.toString();
- }
-
- static void toString (int mod, StringBuffer r)
- {
- if (isPublic (mod))
- r.append("public ");
- if (isProtected (mod))
- r.append("protected ");
- if (isPrivate (mod))
- r.append("private ");
- if (isAbstract (mod))
- r.append("abstract ");
- if (isStatic (mod))
- r.append("static ");
- if (isFinal (mod))
- r.append("final ");
- if (isTransient (mod))
- r.append("transient ");
- if (isVolatile (mod))
- r.append("volatile ");
- if (isNative (mod))
- r.append("native ");
- if (isSynchronized (mod))
- r.append("synchronized ");
- if (isInterface (mod))
- r.append("interface ");
-
- // Trim trailing space.
- int l = r.length();
- if (l > 0)
- r.setLength(l - 1);
- }
-}
diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc
deleted file mode 100644
index 3da8b5c01ce..00000000000
--- a/libjava/java/lang/reflect/natArray.cc
+++ /dev/null
@@ -1,339 +0,0 @@
-// natField.cc - Implementation of java.lang.reflect.Field native methods.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <jvm.h>
-#include <cni.h>
-#include <java/lang/reflect/Array.h>
-#include <java/lang/IllegalArgumentException.h>
-#include <java/lang/Byte.h>
-#include <java/lang/Short.h>
-#include <java/lang/Integer.h>
-#include <java/lang/Long.h>
-#include <java/lang/Float.h>
-#include <java/lang/Double.h>
-#include <java/lang/Boolean.h>
-#include <java/lang/Character.h>
-
-jobject
-java::lang::reflect::Array::newInstance (jclass componentType, jint length)
-{
- if (componentType->isPrimitive())
- return _Jv_NewPrimArray (componentType, length);
- else
- return JvNewObjectArray (length, componentType, NULL);
-
-}
-
-jobject
-java::lang::reflect::Array::newInstance (jclass componentType, jintArray dimensions)
-{
- jint ndims = dimensions->length;
- if (ndims == 0)
- return componentType->newInstance ();
- jint* dims = elements (dimensions);
- if (ndims == 1)
- return newInstance (componentType, dims[0]);
- jclass arrayType = componentType;
- for (int i = 0; i < ndims; i++)
- arrayType = _Jv_FindArrayClass (arrayType);
- return _Jv_NewMultiArray (arrayType, ndims, dims);
-
-}
-
-jint
-java::lang::reflect::Array::getLength (jobject array)
-{
- jclass arrayType = array->getClass();
- if (! arrayType->isArray ())
- JvThrow (new java::lang::IllegalArgumentException());
- return ((__JArray*) array)->length;
-}
-
-jclass
-java::lang::reflect::Array::getElementType (jobject array, jint index)
-{
- jclass arrayType = array->getClass();
- if (! arrayType->isArray ())
- JvThrow (new java::lang::IllegalArgumentException());
- jint length = ((__JArray*) array)->length;
- if ((_Jv_uint) index >= (_Jv_uint) length)
- _Jv_ThrowBadArrayIndex(index);
- return arrayType->getComponentType ();
-}
-
-jboolean
-java::lang::reflect::Array::getBoolean (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (boolean))
- return elements ((jbooleanArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jchar
-java::lang::reflect::Array::getChar (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (char))
- return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jbyte
-java::lang::reflect::Array::getByte (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (byte))
- return elements ((jbyteArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jshort
-java::lang::reflect::Array::getShort (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (short))
- return elements ((jshortArray) array) [index];
- if (elementType == JvPrimClass (byte))
- return elements ((jbyteArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jint
-java::lang::reflect::Array::getInt (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (int))
- return elements ((jintArray) array) [index];
- if (elementType == JvPrimClass (short))
- return elements ((jshortArray) array) [index];
- if (elementType == JvPrimClass (byte))
- return elements ((jbyteArray) array) [index];
- if (elementType == JvPrimClass (char))
- return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jlong
-java::lang::reflect::Array::getLong (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (long))
- return elements ((jlongArray) array) [index];
- if (elementType == JvPrimClass (int))
- return elements ((jintArray) array) [index];
- if (elementType == JvPrimClass (short))
- return elements ((jshortArray) array) [index];
- if (elementType == JvPrimClass (byte))
- return elements ((jbyteArray) array) [index];
- if (elementType == JvPrimClass (char))
- return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jfloat
-java::lang::reflect::Array::getFloat (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (float))
- return elements ((jfloatArray) array) [index];
- if (elementType == JvPrimClass (long))
- return elements ((jlongArray) array) [index];
- if (elementType == JvPrimClass (int))
- return elements ((jintArray) array) [index];
- if (elementType == JvPrimClass (short))
- return elements ((jshortArray) array) [index];
- if (elementType == JvPrimClass (byte))
- return elements ((jbyteArray) array) [index];
- if (elementType == JvPrimClass (char))
- return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jdouble
-java::lang::reflect::Array::getDouble (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (double))
- return elements ((jdoubleArray) array) [index];
- if (elementType == JvPrimClass (float))
- return elements ((jfloatArray) array) [index];
- if (elementType == JvPrimClass (long))
- return elements ((jlongArray) array) [index];
- if (elementType == JvPrimClass (int))
- return elements ((jintArray) array) [index];
- if (elementType == JvPrimClass (short))
- return elements ((jshortArray) array) [index];
- if (elementType == JvPrimClass (byte))
- return elements ((jbyteArray) array) [index];
- if (elementType == JvPrimClass (char))
- return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-jobject
-java::lang::reflect::Array::get (jobject array, jint index)
-{
- jclass elementType = getElementType (array, index);
- if (! elementType->isPrimitive ())
- return elements ((jobjectArray) array) [index];
- if (elementType == JvPrimClass (double))
- return new java::lang::Double (elements ((jdoubleArray) array) [index]);
- if (elementType == JvPrimClass (float))
- return new java::lang::Float (elements ((jfloatArray) array) [index]);
- if (elementType == JvPrimClass (long))
- return new java::lang::Long (elements ((jlongArray) array) [index]);
- if (elementType == JvPrimClass (int))
- return new java::lang::Integer (elements ((jintArray) array) [index]);
- if (elementType == JvPrimClass (short))
- return new java::lang::Short (elements ((jshortArray) array) [index]);
- if (elementType == JvPrimClass (byte))
- return new java::lang::Byte (elements ((jbyteArray) array) [index]);
- if (elementType == JvPrimClass (char))
- return new java::lang::Character (elements ((jcharArray) array) [index]);
- if (elementType == JvPrimClass (boolean))
- if (elements ((jbooleanArray) array) [index])
- return java::lang::Boolean::TRUE;
- else
- return java::lang::Boolean::FALSE;
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setChar (jobject array, jint index, jchar value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (char))
- elements ((jcharArray) array) [index] = value;
- else if (elementType == JvPrimClass (int))
- elements ((jintArray) array) [index] = value;
- else if (elementType == JvPrimClass (long))
- elements ((jlongArray) array) [index] = value;
- else if (elementType == JvPrimClass (float))
- elements ((jfloatArray) array) [index] = value;
- else if (elementType == JvPrimClass (double))
- elements ((jdoubleArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setByte (jobject array, jint index, jbyte value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (byte))
- elements ((jbyteArray) array) [index] = value;
- else if (elementType == JvPrimClass (short))
- elements ((jshortArray) array) [index] = value;
- else if (elementType == JvPrimClass (int))
- elements ((jintArray) array) [index] = value;
- else if (elementType == JvPrimClass (long))
- elements ((jlongArray) array) [index] = value;
- else if (elementType == JvPrimClass (float))
- elements ((jfloatArray) array) [index] = value;
- else if (elementType == JvPrimClass (double))
- elements ((jdoubleArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setShort (jobject array, jint index, jshort value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (short))
- elements ((jshortArray) array) [index] = value;
- else if (elementType == JvPrimClass (int))
- elements ((jintArray) array) [index] = value;
- else if (elementType == JvPrimClass (long))
- elements ((jlongArray) array) [index] = value;
- else if (elementType == JvPrimClass (float))
- elements ((jfloatArray) array) [index] = value;
- else if (elementType == JvPrimClass (double))
- elements ((jdoubleArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setInt (jobject array, jint index, jint value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (int))
- elements ((jintArray) array) [index] = value;
- else if (elementType == JvPrimClass (long))
- elements ((jlongArray) array) [index] = value;
- else if (elementType == JvPrimClass (float))
- elements ((jfloatArray) array) [index] = value;
- else if (elementType == JvPrimClass (double))
- elements ((jdoubleArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setLong (jobject array, jint index, jlong value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (long))
- elements ((jlongArray) array) [index] = value;
- else if (elementType == JvPrimClass (float))
- elements ((jfloatArray) array) [index] = value;
- else if (elementType == JvPrimClass (double))
- elements ((jdoubleArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setFloat (jobject array, jint index, jfloat value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (float))
- elements ((jfloatArray) array) [index] = value;
- else if (elementType == JvPrimClass (double))
- elements ((jdoubleArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setDouble (jobject array, jint index, jdouble value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (double))
- elements ((jdoubleArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::setBoolean (jobject array,
- jint index, jboolean value)
-{
- jclass elementType = getElementType (array, index);
- if (elementType == JvPrimClass (boolean))
- elements ((jbooleanArray) array) [index] = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Array::set (jobject array, jint index,
- jobject value, jclass elType)
-{
- if (! _Jv_IsInstanceOf (value, elType))
- JvThrow (new java::lang::IllegalArgumentException ());
- elements ((jobjectArray) array) [index] = value;
-}
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc
deleted file mode 100644
index 2449b42545c..00000000000
--- a/libjava/java/lang/reflect/natField.cc
+++ /dev/null
@@ -1,435 +0,0 @@
-// natField.cc - Implementation of java.lang.reflect.Field native methods.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/reflect/Field.h>
-#include <java/lang/reflect/Modifier.h>
-#include <java/lang/IllegalArgumentException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/Byte.h>
-#include <java/lang/Short.h>
-#include <java/lang/Integer.h>
-#include <java/lang/Long.h>
-#include <java/lang/Float.h>
-#include <java/lang/Double.h>
-#include <java/lang/Boolean.h>
-#include <java/lang/Character.h>
-#include <java-field.h>
-
-jint
-java::lang::reflect::Field::getModifiers ()
-{
- return _Jv_FromReflectedField (this)->getModifiers ();
-}
-
-jstring
-java::lang::reflect::Field::getName ()
-{
- if (name == NULL)
- name = _Jv_NewStringUtf8Const (_Jv_FromReflectedField (this)->name);
- return name;
-}
-
-jclass
-java::lang::reflect::Field::getType ()
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- if (! fld->isResolved())
- {
- JvSynchronize sync (declaringClass);
- if (! fld->isResolved())
- {
- fld->type
- = _Jv_FindClassFromSignature(((Utf8Const*) (fld->type))->data,
- declaringClass->getClassLoader());
- fld->flags &= ~_Jv_FIELD_UNRESOLVED_FLAG;
- }
- }
- return fld->type;
-}
-
-static void
-_Jv_CheckFieldAccessibility (jfieldID /*fld*/, jclass /*caller*/)
-{
-#if 0
- if (caller == NULL)
- caller = getCaller();
-#endif
-#if 0
- _Jv_ushort flags = fld->getModifiers();
- check accesss;
-#endif
-}
-
-static void*
-getAddr (java::lang::reflect::Field* field, jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (field);
- _Jv_ushort flags = fld->getModifiers();
- if (! (flags & java::lang::reflect::Modifier::PUBLIC)
- && ! field->isAccessible ())
- _Jv_CheckFieldAccessibility (fld, caller);
- if (flags & java::lang::reflect::Modifier::STATIC)
- {
- jclass fldClass = field->getDeclaringClass ();
- JvInitClass(fldClass);
- return fld->u.addr;
- }
- else
- {
- if (obj == NULL)
- _Jv_Throw (new java::lang::NullPointerException ());
- if (! _Jv_IsInstanceOf (obj, field->getDeclaringClass()))
- JvThrow (new java::lang::IllegalArgumentException ());
- return (void*) ((char*) obj + fld->getOffset ());
- }
-}
-
-static jboolean
-getBoolean (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (boolean))
- return * (jboolean *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
-}
-
-static jchar
-getChar (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (char))
- return * (jchar *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
-}
-
-static jbyte
-getByte (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (byte))
- return * (jbyte *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
-}
-
-static jshort
-getShort (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (short))
- return * (jshort *) addr;
- if (cls == JvPrimClass (byte))
- return * (jbyte *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
-}
-
-static jint
-getInt (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (int))
- return * (jint *) addr;
- if (cls == JvPrimClass (short))
- return * (jshort *) addr;
- if (cls == JvPrimClass (char))
- return * (jchar *) addr;
- if (cls == JvPrimClass (byte))
- return * (jbyte *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
-}
-
-static jlong
-getLong (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (long))
- return * (jlong *) addr;
- return ::getInt(cls, addr);
-}
-
-static jfloat
-getFloat (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (float))
- return * (jfloat *) addr;
- if (cls == JvPrimClass (long))
- return * (jlong *) addr;
- return ::getInt(cls, addr);
-}
-
-static jdouble
-getDouble (jclass cls, void* addr)
-{
- if (cls == JvPrimClass (double))
- return * (jdouble *) addr;
- if (cls == JvPrimClass (float))
- return * (jfloat *) addr;
- if (cls == JvPrimClass (long))
- return * (jlong *) addr;
- return ::getInt(cls, addr);
-}
-
-jboolean
-java::lang::reflect::Field::getBoolean (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getBoolean (fld->type, getAddr (this, caller, obj));
-}
-
-jchar
-java::lang::reflect::Field::getChar (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getChar (fld->type, getAddr (this, caller, obj));
-}
-
-jbyte
-java::lang::reflect::Field::getByte (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getByte (fld->type, getAddr (this, caller, obj));
-}
-
-jshort
-java::lang::reflect::Field::getShort (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getShort (fld->type, getAddr (this, caller, obj));
-}
-
-jint
-java::lang::reflect::Field::getInt (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getInt (fld->type, getAddr (this, caller, obj));
-}
-
-jlong
-java::lang::reflect::Field::getLong (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getLong (fld->type, getAddr (this, caller, obj));
-}
-
-jfloat
-java::lang::reflect::Field::getFloat (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getFloat (fld->type, getAddr (this, caller, obj));
-}
-
-jdouble
-java::lang::reflect::Field::getDouble (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- return ::getDouble (fld->type, getAddr (this, caller, obj));
-}
-
-jobject
-java::lang::reflect::Field::get (jclass caller, jobject obj)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- void* addr = getAddr (this, caller, obj);
- if (! fld->type->isPrimitive ())
- return * (jobject*) addr;
- if (fld->type == JvPrimClass (double))
- return new java::lang::Double (* (jdouble*) addr);
- if (fld->type == JvPrimClass (float))
- return new java::lang::Float (* (jfloat*) addr);
- if (fld->type == JvPrimClass (long))
- return new java::lang::Long (* (jlong*) addr);
- if (fld->type == JvPrimClass (int))
- return new java::lang::Integer (* (jint*) addr);
- if (fld->type == JvPrimClass (short))
- return new java::lang::Short (* (jshort*) addr);
- if (fld->type == JvPrimClass (byte))
- return new java::lang::Byte (* (jbyte*) addr);
- if (fld->type == JvPrimClass (char))
- return new java::lang::Character (* (jchar*) addr);
- if (fld->type == JvPrimClass (boolean))
- if (* (jboolean*) addr)
- return java::lang::Boolean::TRUE;
- else
- return java::lang::Boolean::FALSE;
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setBoolean (jclass type, void *addr, jboolean value)
-{
- if (type == JvPrimClass (boolean))
- * (jboolean *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setChar (jclass type, void *addr, jchar value)
-{
- if (type == JvPrimClass (char))
- * (jchar *) addr = value;
- else if (type == JvPrimClass (int))
- * (jint *) addr = value;
- else if (type == JvPrimClass (long))
- * (jlong *) addr = value;
- else if (type == JvPrimClass (float))
- * (jfloat *) addr = value;
- else if (type == JvPrimClass (double))
- * (jdouble *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setByte (jclass type, void *addr, jbyte value)
-{
- if (type == JvPrimClass (byte))
- * (jbyte *) addr = value;
- else if (type == JvPrimClass (short))
- * (jshort *) addr = value;
- else if (type == JvPrimClass (int))
- * (jint *) addr = value;
- else if (type == JvPrimClass (long))
- * (jlong *) addr = value;
- else if (type == JvPrimClass (float))
- * (jfloat *) addr = value;
- else if (type == JvPrimClass (double))
- * (jdouble *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setShort (jclass type, void *addr, jshort value)
-{
- if (type == JvPrimClass (short))
- * (jshort *) addr = value;
- else if (type == JvPrimClass (int))
- * (jint *) addr = value;
- else if (type == JvPrimClass (long))
- * (jlong *) addr = value;
- else if (type == JvPrimClass (float))
- * (jfloat *) addr = value;
- else if (type == JvPrimClass (double))
- * (jdouble *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setInt (jclass type, void *addr, jint value)
-{
- if (type == JvPrimClass (int))
- * (jint *) addr = value;
- else if (type == JvPrimClass (long))
- * (jlong *) addr = value;
- else if (type == JvPrimClass (float))
- * (jfloat *) addr = value;
- else if (type == JvPrimClass (double))
- * (jdouble *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setLong (jclass type, void *addr, jlong value)
-{
- if (type == JvPrimClass (long))
- * (jlong *) addr = value;
- else if (type == JvPrimClass (float))
- * (jfloat *) addr = value;
- else if (type == JvPrimClass (double))
- * (jdouble *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setFloat (jclass type, void *addr, jfloat value)
-{
- if (type == JvPrimClass (float))
- * (jfloat *) addr = value;
- else if (type == JvPrimClass (double))
- * (jdouble *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-static void
-setDouble (jclass type, void *addr, jdouble value)
-{
- if (type == JvPrimClass (double))
- * (jdouble *) addr = value;
- else
- JvThrow (new java::lang::IllegalArgumentException());
-}
-
-void
-java::lang::reflect::Field::setBoolean (jclass caller, jobject obj, jboolean b)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setBoolean (fld->type, getAddr (this, caller, obj), b);
-}
-
-void
-java::lang::reflect::Field::setChar (jclass caller, jobject obj, jchar c)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setChar (fld->type, getAddr (this, caller, obj), c);
-}
-
-void
-java::lang::reflect::Field::setByte (jclass caller, jobject obj, jbyte b)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setByte (fld->type, getAddr (this, caller, obj), b);
-}
-
-void
-java::lang::reflect::Field::setShort (jclass caller, jobject obj, jshort s)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setShort (fld->type, getAddr (this, caller, obj), s);
-}
-
-void
-java::lang::reflect::Field::setInt (jclass caller, jobject obj, jint i)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setInt (fld->type, getAddr (this, caller, obj), i);
-}
-
-void
-java::lang::reflect::Field::setLong (jclass caller, jobject obj, jlong l)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setLong (fld->type, getAddr (this, caller, obj), l);
-}
-void
-java::lang::reflect::Field::setFloat (jclass caller, jobject obj, jfloat f)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setFloat (fld->type, getAddr (this, caller, obj), f);
-}
-
-void
-java::lang::reflect::Field::setDouble (jclass caller, jobject obj, jdouble d)
-{
- jfieldID fld = _Jv_FromReflectedField (this);
- ::setDouble (fld->type, getAddr (this, caller, obj), d);
-}
-
-void
-java::lang::reflect::Field::set (jclass caller, jobject object, jobject value, jclass type)
-{
- if (! _Jv_IsInstanceOf (value, type))
- JvThrow (new java::lang::IllegalArgumentException ());
- void* addr = getAddr (this, caller, object);
- * (jobject*) addr = value;
-}
diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc
deleted file mode 100644
index 720bbc3d74e..00000000000
--- a/libjava/java/lang/reflect/natMethod.cc
+++ /dev/null
@@ -1,386 +0,0 @@
-// natMethod.cc - Native code for Method class.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// This is about 90% done. Search for FIXME to see what remains.
-
-#include <config.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java-array.h>
-
-#include <java/lang/reflect/Method.h>
-#include <java/lang/reflect/InvocationTargetException.h>
-#include <java/lang/reflect/Modifier.h>
-
-#include <java/lang/Void.h>
-#include <java/lang/Byte.h>
-#include <java/lang/Boolean.h>
-#include <java/lang/Character.h>
-#include <java/lang/Short.h>
-#include <java/lang/Integer.h>
-#include <java/lang/Long.h>
-#include <java/lang/Float.h>
-#include <java/lang/Double.h>
-#include <java/lang/IllegalArgumentException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/Class.h>
-#include <java-method.h>
-
-#define ClassClass _CL_Q34java4lang5Class
-extern java::lang::Class ClassClass;
-
-#include <stdlib.h>
-
-#if 0
-
-#include <ffi.h>
-
-#define VoidClass _CL_Q34java4lang4Void
-extern java::lang::Class VoidClass;
-#define ByteClass _CL_Q34java4lang4Byte
-extern java::lang::Class ByteClass;
-#define ShortClass _CL_Q34java4lang5Short
-extern java::lang::Class ShortClass;
-#define CharacterClass _CL_Q34java4lang9Character
-extern java::lang::Class CharacterClass;
-#define IntegerClass _CL_Q34java4lang7Integer
-extern java::lang::Class IntegerClass;
-#define LongClass _CL_Q34java4lang4Long
-extern java::lang::Class LongClass;
-#define FloatClass _CL_Q34java4lang5Float
-extern java::lang::Class FloatClass;
-#define DoubleClass _CL_Q34java4lang6Double
-extern java::lang::Class DoubleClass;
-
-struct cpair
-{
- jclass prim;
- jclass wrap;
-};
-
-// This is used to determine when a primitive widening conversion is
-// allowed.
-static cpair primitives[] =
-{
-#define VOID 0
- { JvPrimClass (void), &VoidClass },
- { JvPrimClass (byte), &ByteClass },
-#define SHORT 2
- { JvPrimClass (short), &ShortClass },
-#define CHAR 3
- { JvPrimClass (char), &CharacterClass },
- { JvPrimClass (int), &IntegerClass },
- { JvPrimClass (long), &LongClass },
- { JvPrimClass (float), &FloatClass },
- { JvPrimClass (double), &DoubleClass },
- { NULL, NULL }
-};
-
-static jboolean
-can_widen (jclass from, jclass to)
-{
- int fromx = -1, tox = -1;
-
- for (int i = 0; primitives[i].prim; ++i)
- {
- if (primitives[i].wrap == from)
- fromx = i;
- if (primitives[i].prim == to)
- tox = i;
- }
-
- // Can't handle a miss.
- if (fromx == -1 || tox == -1)
- return false;
- // Can't handle Void arguments.
- if (fromx == VOID || tox == VOID)
- return false;
- // Special-case short/char conversions.
- if ((fromx == SHORT && tox == CHAR) || (fromx == CHAR && tox == SHORT))
- return false;
-
- return fromx <= tox;
-}
-
-static ffi_type *
-get_ffi_type (jclass klass)
-{
- // A special case.
- if (klass == NULL)
- return &ffi_type_pointer;
-
- ffi_type *r;
- if (klass == JvPrimClass (byte))
- r = &ffi_type_sint8;
- else if (klass == JvPrimClass (short))
- r = &ffi_type_sint16;
- else if (klass == JvPrimClass (int))
- r = &ffi_type_sint32;
- else if (klass == JvPrimClass (long))
- r = &ffi_type_sint64;
- else if (klass == JvPrimClass (float))
- r = &ffi_type_float;
- else if (klass == JvPrimClass (double))
- r = &ffi_type_double;
- else if (klass == JvPrimClass (boolean))
- {
- // FIXME.
- r = &ffi_type_sint8;
- }
- else if (klass == JvPrimClass (char))
- r = &ffi_type_uint16;
- else
- {
- JvAssert (! klass->isPrimitive());
- r = &ffi_type_pointer;
- }
-
- return r;
-}
-
-// FIXME: the body of this method should be a separate function so
-// that Constructor can use it too.
-jobject
-java::lang::reflect::Method::invoke (jobject obj,
- jobjectArray args)
-{
- // FIXME: we need to be a friend of Class here.
- _Jv_Method *meth = decl_class->methods[index];
- if (! java::lang::reflect::Modifier::isStatic(modifiers))
- {
- jclass k = obj ? obj->getClass() : NULL;
- if (! obj || ! decl_class->isAssignableFrom(k))
- JvThrow (new java::lang::NullPointerException);
- // FIXME: access checks.
- meth = _Jv_LookupMethod (k, meth->name, meth->signature);
- }
-
- // FIXME: access checks.
-
- if (parameter_types->length != args->length)
- JvThrow (new java::lang::IllegalArgumentException);
-
- ffi_type *rtype = get_ffi_type (return_type);
- ffi_type **argtypes = (ffi_type **) alloca (parameter_types->length
- * sizeof (ffi_type *));
-
- jobject *paramelts = elements (parameter_types);
- jobject *argelts = elements (args);
-
- int size = 0;
- for (int i = 0; i < parameter_types->length; ++i)
- {
- jclass k = argelts[i] ? argelts[i]->getClass() : NULL;
- argtypes[i] = get_ffi_type (k);
- if (paramelts[i]->isPrimitive())
- {
- if (! argelts[i]
- || ! k->isPrimitive ()
- || ! can_widen (k, paramelts[i]))
- JvThrow (new java::lang::IllegalArgumentException);
- size += paramelts[i]->size();
- }
- else
- {
- if (argelts[i] && ! paramelts[i]->isAssignableFrom (k))
- JvThrow (new java::lang::IllegalArgumentException);
- size += sizeof (jobject);
- }
- }
-
- ffi_cif cif;
- if (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, parameter_types->length,
- rtype, argtypes) != FFI_OK)
- {
- // FIXME: throw some kind of VirtualMachineError here.
- }
-
- char *values = (char *) alloca (size);
- char *p = values;
-
-#define COPY(Where, What, Type) \
- do { \
- Type val = (What); \
- memcpy ((Where), &val, sizeof (Type)); \
- Where += sizeof (Type); \
- } while (0)
-
- for (int i = 0; i < parameter_types->length; ++i)
- {
- java::lang::Number *num = (java::lang::Number *) paramelts[i];
- if (paramelts[i] == JvPrimClass (byte))
- COPY (p, num->byteValue(), jbyte);
- else if (paramelts[i] == JvPrimClass (short))
- COPY (p, num->shortValue(), jshort);
- else if (paramelts[i] == JvPrimClass (int))
- COPY (p, num->intValue(), jint);
- else if (paramelts[i] == JvPrimClass (long))
- COPY (p, num->longValue(), jlong);
- else if (paramelts[i] == JvPrimClass (float))
- COPY (p, num->floatValue(), jfloat);
- else if (paramelts[i] == JvPrimClass (double))
- COPY (p, num->doubleValue(), jdouble);
- else if (paramelts[i] == JvPrimClass (boolean))
- COPY (p, ((java::lang::Boolean *) argelts[i])->booleanValue(), jboolean);
- else if (paramelts[i] == JvPrimClass (char))
- COPY (p, ((java::lang::Character *) argelts[i])->charValue(), jchar);
- else
- {
- JvAssert (! paramelts[i]->isPrimitive());
- COPY (p, argelts[i], jobject);
- }
- }
-
- // FIXME: exception handling.
- java::lang::Throwable *ex;
- jdouble ret_value; // Largest possible value. Hopefully
- // it is aligned!
- ex = TRAMP_CALL (ffi_call (&cif, meth->ncode, &ret_value, (void *) values));
-
- if (ex)
- JvThrow (new InvocationTargetException (ex));
-
- jobject r;
-#define VAL(Wrapper, Type) (new Wrapper (* (Type *) &ret_value))
- if (return_type == JvPrimClass (byte))
- r = VAL (java::lang::Byte, jbyte);
- else if (return_type == JvPrimClass (short))
- r = VAL (java::lang::Short, jshort);
- else if (return_type == JvPrimClass (int))
- r = VAL (java::lang::Integer, jint);
- else if (return_type == JvPrimClass (long))
- r = VAL (java::lang::Long, jlong);
- else if (return_type == JvPrimClass (float))
- r = VAL (java::lang::Float, jfloat);
- else if (return_type == JvPrimClass (double))
- r = VAL (java::lang::Double, jdouble);
- else if (return_type == JvPrimClass (boolean))
- r = VAL (java::lang::Boolean, jboolean);
- else if (return_type == JvPrimClass (char))
- r = VAL (java::lang::Character, jchar);
- else if (return_type == JvPrimClass (void))
- r = NULL;
- else
- {
- JvAssert (! return_type->isPrimitive());
- r = VAL (java::lang::Object, jobject);
- }
-
- return r;
-}
-
-#else /* 0 */
-
-jobject
-java::lang::reflect::Method::invoke (jobject, jobjectArray)
-{
- JvFail ("not enabled yet");
-}
-
-#endif /* 0 */
-
-jint
-java::lang::reflect::Method::getModifiers ()
-{
- return _Jv_FromReflectedMethod (this)->accflags;
-}
-
-jstring
-java::lang::reflect::Method::getName ()
-{
- if (name == NULL)
- name = _Jv_NewStringUtf8Const (_Jv_FromReflectedMethod (this)->name);
- return name;
-}
-
-/* Internal method to set return_type and parameter_types fields. */
-
-void
-java::lang::reflect::Method::getType ()
-{
- _Jv_Utf8Const* sig = _Jv_FromReflectedMethod (this)->signature;
- java::lang::ClassLoader *loader = declaringClass->getClassLoader();
- char *ptr = sig->data;
- int numArgs = 0;
- /* First just count the number of parameters. */
- for (; ; ptr++)
- {
- switch (*ptr)
- {
- case 0:
- case ')':
- case 'V':
- break;
- case '[':
- case '(':
- continue;
- case 'B':
- case 'C':
- case 'D':
- case 'F':
- case 'S':
- case 'I':
- case 'J':
- case 'Z':
- numArgs++;
- continue;
- case 'L':
- numArgs++;
- do
- ptr++;
- while (*ptr != ';' && ptr[1] != '\0');
- continue;
- }
- break;
- }
-
- JArray<jclass> *args = (JArray<jclass> *)
- JvNewObjectArray (numArgs, &ClassClass, NULL);
- jclass* argPtr = elements (args);
- for (ptr = sig->data; *ptr != '\0'; ptr++)
- {
- int num_arrays = 0;
- jclass type;
- for (; *ptr == '['; ptr++)
- num_arrays++;
- switch (*ptr)
- {
- default:
- return;
- case ')':
- argPtr = &return_type;
- continue;
- case '(':
- continue;
- case 'V':
- case 'B':
- case 'C':
- case 'D':
- case 'F':
- case 'S':
- case 'I':
- case 'J':
- case 'Z':
- type = _Jv_FindClassFromSignature(ptr, loader);
- break;
- case 'L':
- type = _Jv_FindClassFromSignature(ptr, loader);
- do
- ptr++;
- while (*ptr != ';' && ptr[1] != '\0');
- break;
- }
- while (--num_arrays >= 0)
- type = _Jv_FindArrayClass (type);
- *argPtr++ = type;
- }
- parameter_types = args;
-}
diff --git a/libjava/java/lang/s_atan.c b/libjava/java/lang/s_atan.c
deleted file mode 100644
index b1410ecca55..00000000000
--- a/libjava/java/lang/s_atan.c
+++ /dev/null
@@ -1,181 +0,0 @@
-
-/* @(#)s_atan.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- *
- */
-
-/*
-FUNCTION
- <<atan>>, <<atanf>>---arc tangent
-
-INDEX
- atan
-INDEX
- atanf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double atan(double <[x]>);
- float atanf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double atan(<[x]>);
- double <[x]>;
-
- float atanf(<[x]>);
- float <[x]>;
-
-DESCRIPTION
-
-<<atan>> computes the inverse tangent (arc tangent) of the input value.
-
-<<atanf>> is identical to <<atan>>, save that it operates on <<floats>>.
-
-RETURNS
-@ifinfo
-<<atan>> returns a value in radians, in the range of -pi/2 to pi/2.
-@end ifinfo
-@tex
-<<atan>> returns a value in radians, in the range of $-\pi/2$ to $\pi/2$.
-@end tex
-
-PORTABILITY
-<<atan>> is ANSI C. <<atanf>> is an extension.
-
-*/
-
-/* atan(x)
- * Method
- * 1. Reduce x to positive by atan(x) = -atan(-x).
- * 2. According to the integer k=4t+0.25 chopped, t=x, the argument
- * is further reduced to one of the following intervals and the
- * arctangent of t is evaluated by the corresponding formula:
- *
- * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...)
- * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) )
- * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) )
- * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) )
- * [39/16,INF] atan(x) = atan(INF) + atan( -1/t )
- *
- * Constants:
- * The hexadecimal values are the intended ones for the following
- * constants. The decimal values may be used, provided that the
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double atanhi[] = {
-#else
-static double atanhi[] = {
-#endif
- 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */
- 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */
- 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */
- 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */
-};
-
-#ifdef __STDC__
-static const double atanlo[] = {
-#else
-static double atanlo[] = {
-#endif
- 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */
- 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */
- 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */
- 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */
-};
-
-#ifdef __STDC__
-static const double aT[] = {
-#else
-static double aT[] = {
-#endif
- 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */
- -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */
- 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */
- -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */
- 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */
- -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */
- 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */
- -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */
- 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */
- -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */
- 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */
-};
-
-#ifdef __STDC__
- static const double
-#else
- static double
-#endif
-one = 1.0,
-huge = 1.0e300;
-
-#ifdef __STDC__
- double atan(double x)
-#else
- double atan(x)
- double x;
-#endif
-{
- double w,s1,s2,z;
- __int32_t ix,hx,id;
-
- GET_HIGH_WORD(hx,x);
- ix = hx&0x7fffffff;
- if(ix>=0x44100000) { /* if |x| >= 2^66 */
- __uint32_t low;
- GET_LOW_WORD(low,x);
- if(ix>0x7ff00000||
- (ix==0x7ff00000&&(low!=0)))
- return x+x; /* NaN */
- if(hx>0) return atanhi[3]+atanlo[3];
- else return -atanhi[3]-atanlo[3];
- } if (ix < 0x3fdc0000) { /* |x| < 0.4375 */
- if (ix < 0x3e200000) { /* |x| < 2^-29 */
- if(huge+x>one) return x; /* raise inexact */
- }
- id = -1;
- } else {
- x = fabs(x);
- if (ix < 0x3ff30000) { /* |x| < 1.1875 */
- if (ix < 0x3fe60000) { /* 7/16 <=|x|<11/16 */
- id = 0; x = (2.0*x-one)/(2.0+x);
- } else { /* 11/16<=|x|< 19/16 */
- id = 1; x = (x-one)/(x+one);
- }
- } else {
- if (ix < 0x40038000) { /* |x| < 2.4375 */
- id = 2; x = (x-1.5)/(one+1.5*x);
- } else { /* 2.4375 <= |x| < 2^66 */
- id = 3; x = -1.0/x;
- }
- }}
- /* end of argument reduction */
- z = x*x;
- w = z*z;
- /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */
- s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10])))));
- s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9]))));
- if (id<0) return x - x*(s1+s2);
- else {
- z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x);
- return (hx<0)? -z:z;
- }
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_ceil.c b/libjava/java/lang/s_ceil.c
deleted file mode 100644
index 1476ef821be..00000000000
--- a/libjava/java/lang/s_ceil.c
+++ /dev/null
@@ -1,80 +0,0 @@
-
-/* @(#)s_ceil.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * ceil(x)
- * Return x rounded toward -inf to integral value
- * Method:
- * Bit twiddling.
- * Exception:
- * Inexact flag raised if x not equal to ceil(x).
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double huge = 1.0e300;
-#else
-static double huge = 1.0e300;
-#endif
-
-#ifdef __STDC__
- double ceil(double x)
-#else
- double ceil(x)
- double x;
-#endif
-{
- __int32_t i0,i1,j0;
- __uint32_t i,j;
- EXTRACT_WORDS(i0,i1,x);
- j0 = ((i0>>20)&0x7ff)-0x3ff;
- if(j0<20) {
- if(j0<0) { /* raise inexact if x != 0 */
- if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
- if(i0<0) {i0=0x80000000;i1=0;}
- else if((i0|i1)!=0) { i0=0x3ff00000;i1=0;}
- }
- } else {
- i = (0x000fffff)>>j0;
- if(((i0&i)|i1)==0) return x; /* x is integral */
- if(huge+x>0.0) { /* raise inexact flag */
- if(i0>0) i0 += (0x00100000)>>j0;
- i0 &= (~i); i1=0;
- }
- }
- } else if (j0>51) {
- if(j0==0x400) return x+x; /* inf or NaN */
- else return x; /* x is integral */
- } else {
- i = ((__uint32_t)(0xffffffff))>>(j0-20);
- if((i1&i)==0) return x; /* x is integral */
- if(huge+x>0.0) { /* raise inexact flag */
- if(i0>0) {
- if(j0==20) i0+=1;
- else {
- j = i1 + (1<<(52-j0));
- if(j<(__uint32_t)i1) i0+=1; /* got a carry */
- i1 = j;
- }
- }
- i1 &= (~i);
- }
- }
- INSERT_WORDS(x,i0,i1);
- return x;
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_copysign.c b/libjava/java/lang/s_copysign.c
deleted file mode 100644
index bfc546db503..00000000000
--- a/libjava/java/lang/s_copysign.c
+++ /dev/null
@@ -1,82 +0,0 @@
-
-/* @(#)s_copysign.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
-<<copysign>>, <<copysignf>>---sign of <[y]>, magnitude of <[x]>
-
-INDEX
- copysign
-INDEX
- copysignf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double copysign (double <[x]>, double <[y]>);
- float copysignf (float <[x]>, float <[y]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double copysign (<[x]>, <[y]>)
- double <[x]>;
- double <[y]>;
-
- float copysignf (<[x]>, <[y]>)
- float <[x]>;
- float <[y]>;
-
-DESCRIPTION
-<<copysign>> constructs a number with the magnitude (absolute value)
-of its first argument, <[x]>, and the sign of its second argument,
-<[y]>.
-
-<<copysignf>> does the same thing; the two functions differ only in
-the type of their arguments and result.
-
-RETURNS
-<<copysign>> returns a <<double>> with the magnitude of
-<[x]> and the sign of <[y]>.
-<<copysignf>> returns a <<float>> with the magnitude of
-<[x]> and the sign of <[y]>.
-
-PORTABILITY
-<<copysign>> is not required by either ANSI C or the System V Interface
-Definition (Issue 2).
-
-*/
-
-/*
- * copysign(double x, double y)
- * copysign(x,y) returns a value with the magnitude of x and
- * with the sign bit of y.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double copysign(double x, double y)
-#else
- double copysign(x,y)
- double x,y;
-#endif
-{
- __uint32_t hx,hy;
- GET_HIGH_WORD(hx,x);
- GET_HIGH_WORD(hy,y);
- SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
- return x;
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_cos.c b/libjava/java/lang/s_cos.c
deleted file mode 100644
index c4712330137..00000000000
--- a/libjava/java/lang/s_cos.c
+++ /dev/null
@@ -1,82 +0,0 @@
-
-/* @(#)s_cos.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* cos(x)
- * Return cosine function of x.
- *
- * kernel function:
- * __kernel_sin ... sine function on [-pi/4,pi/4]
- * __kernel_cos ... cosine function on [-pi/4,pi/4]
- * __ieee754_rem_pio2 ... argument reduction routine
- *
- * Method.
- * Let S,C and T denote the sin, cos and tan respectively on
- * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
- * in [-pi/4 , +pi/4], and let n = k mod 4.
- * We have
- *
- * n sin(x) cos(x) tan(x)
- * ----------------------------------------------------------
- * 0 S C T
- * 1 C -S -1/T
- * 2 -S -C T
- * 3 -C S -1/T
- * ----------------------------------------------------------
- *
- * Special cases:
- * Let trig be any of sin, cos, or tan.
- * trig(+-INF) is NaN, with signals;
- * trig(NaN) is that NaN;
- *
- * Accuracy:
- * TRIG(x) returns trig(x) nearly rounded
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double cos(double x)
-#else
- double cos(x)
- double x;
-#endif
-{
- double y[2],z=0.0;
- __int32_t n,ix;
-
- /* High word of x. */
- GET_HIGH_WORD(ix,x);
-
- /* |x| ~< pi/4 */
- ix &= 0x7fffffff;
- if(ix <= 0x3fe921fb) return __kernel_cos(x,z);
-
- /* cos(Inf or NaN) is NaN */
- else if (ix>=0x7ff00000) return x-x;
-
- /* argument reduction needed */
- else {
- n = __ieee754_rem_pio2(x,y);
- switch(n&3) {
- case 0: return __kernel_cos(y[0],y[1]);
- case 1: return -__kernel_sin(y[0],y[1],1);
- case 2: return -__kernel_cos(y[0],y[1]);
- default:
- return __kernel_sin(y[0],y[1],1);
- }
- }
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_fabs.c b/libjava/java/lang/s_fabs.c
deleted file mode 100644
index 95b871ca53a..00000000000
--- a/libjava/java/lang/s_fabs.c
+++ /dev/null
@@ -1,73 +0,0 @@
-
-/* @(#)s_fabs.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
- <<fabs>>, <<fabsf>>---absolute value (magnitude)
-INDEX
- fabs
-INDEX
- fabsf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double fabs(double <[x]>);
- float fabsf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double fabs(<[x]>)
- double <[x]>;
-
- float fabsf(<[x]>)
- float <[x]>;
-
-DESCRIPTION
-<<fabs>> and <<fabsf>> calculate
-@tex
-$|x|$,
-@end tex
-the absolute value (magnitude) of the argument <[x]>, by direct
-manipulation of the bit representation of <[x]>.
-
-RETURNS
-The calculated value is returned. No errors are detected.
-
-PORTABILITY
-<<fabs>> is ANSI.
-<<fabsf>> is an extension.
-
-*/
-
-/*
- * fabs(x) returns the absolute value of x.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double fabs(double x)
-#else
- double fabs(x)
- double x;
-#endif
-{
- __uint32_t high;
- GET_HIGH_WORD(high,x);
- SET_HIGH_WORD(x,high&0x7fffffff);
- return x;
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_floor.c b/libjava/java/lang/s_floor.c
deleted file mode 100644
index 86f73e0e136..00000000000
--- a/libjava/java/lang/s_floor.c
+++ /dev/null
@@ -1,134 +0,0 @@
-
-/* @(#)s_floor.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
-<<floor>>, <<floorf>>, <<ceil>>, <<ceilf>>---floor and ceiling
-INDEX
- floor
-INDEX
- floorf
-INDEX
- ceil
-INDEX
- ceilf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double floor(double <[x]>);
- float floorf(float <[x]>);
- double ceil(double <[x]>);
- float ceilf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double floor(<[x]>)
- double <[x]>;
- float floorf(<[x]>)
- float <[x]>;
- double ceil(<[x]>)
- double <[x]>;
- float ceilf(<[x]>)
- float <[x]>;
-
-DESCRIPTION
-<<floor>> and <<floorf>> find
-@tex
-$\lfloor x \rfloor$,
-@end tex
-the nearest integer less than or equal to <[x]>.
-<<ceil>> and <<ceilf>> find
-@tex
-$\lceil x\rceil$,
-@end tex
-the nearest integer greater than or equal to <[x]>.
-
-RETURNS
-<<floor>> and <<ceil>> return the integer result as a double.
-<<floorf>> and <<ceilf>> return the integer result as a float.
-
-PORTABILITY
-<<floor>> and <<ceil>> are ANSI.
-<<floorf>> and <<ceilf>> are extensions.
-
-
-*/
-
-/*
- * floor(x)
- * Return x rounded toward -inf to integral value
- * Method:
- * Bit twiddling.
- * Exception:
- * Inexact flag raised if x not equal to floor(x).
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double huge = 1.0e300;
-#else
-static double huge = 1.0e300;
-#endif
-
-#ifdef __STDC__
- double floor(double x)
-#else
- double floor(x)
- double x;
-#endif
-{
- __int32_t i0,i1,j0;
- __uint32_t i,j;
- EXTRACT_WORDS(i0,i1,x);
- j0 = ((i0>>20)&0x7ff)-0x3ff;
- if(j0<20) {
- if(j0<0) { /* raise inexact if x != 0 */
- if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
- if(i0>=0) {i0=i1=0;}
- else if(((i0&0x7fffffff)|i1)!=0)
- { i0=0xbff00000;i1=0;}
- }
- } else {
- i = (0x000fffff)>>j0;
- if(((i0&i)|i1)==0) return x; /* x is integral */
- if(huge+x>0.0) { /* raise inexact flag */
- if(i0<0) i0 += (0x00100000)>>j0;
- i0 &= (~i); i1=0;
- }
- }
- } else if (j0>51) {
- if(j0==0x400) return x+x; /* inf or NaN */
- else return x; /* x is integral */
- } else {
- i = ((__uint32_t)(0xffffffff))>>(j0-20);
- if((i1&i)==0) return x; /* x is integral */
- if(huge+x>0.0) { /* raise inexact flag */
- if(i0<0) {
- if(j0==20) i0+=1;
- else {
- j = i1+(1<<(52-j0));
- if(j<(__uint32_t)i1) i0 +=1 ; /* got a carry */
- i1=j;
- }
- }
- i1 &= (~i);
- }
- }
- INSERT_WORDS(x,i0,i1);
- return x;
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_rint.c b/libjava/java/lang/s_rint.c
deleted file mode 100644
index 9936a49b801..00000000000
--- a/libjava/java/lang/s_rint.c
+++ /dev/null
@@ -1,87 +0,0 @@
-
-/* @(#)s_rint.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
- * rint(x)
- * Return x rounded to integral value according to the prevailing
- * rounding mode.
- * Method:
- * Using floating addition.
- * Exception:
- * Inexact flag raised if x not equal to rint(x).
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-TWO52[2]={
- 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
- -4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
-};
-
-#ifdef __STDC__
- double rint(double x)
-#else
- double rint(x)
- double x;
-#endif
-{
- __int32_t i0,j0,sx;
- __uint32_t i,i1;
- double t;
- volatile double w;
- EXTRACT_WORDS(i0,i1,x);
- sx = (i0>>31)&1;
- j0 = ((i0>>20)&0x7ff)-0x3ff;
- if(j0<20) {
- if(j0<0) {
- if(((i0&0x7fffffff)|i1)==0) return x;
- i1 |= (i0&0x0fffff);
- i0 &= 0xfffe0000;
- i0 |= ((i1|-i1)>>12)&0x80000;
- SET_HIGH_WORD(x,i0);
- w = TWO52[sx]+x;
- t = w-TWO52[sx];
- GET_HIGH_WORD(i0,t);
- SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31));
- return t;
- } else {
- i = (0x000fffff)>>j0;
- if(((i0&i)|i1)==0) return x; /* x is integral */
- i>>=1;
- if(((i0&i)|i1)!=0) {
- if(j0==19) i1 = 0x40000000; else
- i0 = (i0&(~i))|((0x20000)>>j0);
- }
- }
- } else if (j0>51) {
- if(j0==0x400) return x+x; /* inf or NaN */
- else return x; /* x is integral */
- } else {
- i = ((__uint32_t)(0xffffffff))>>(j0-20);
- if((i1&i)==0) return x; /* x is integral */
- i>>=1;
- if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20));
- }
- INSERT_WORDS(x,i0,i1);
- w = TWO52[sx]+x;
- return w-TWO52[sx];
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_scalbn.c b/libjava/java/lang/s_scalbn.c
deleted file mode 100644
index b06834e913f..00000000000
--- a/libjava/java/lang/s_scalbn.c
+++ /dev/null
@@ -1,104 +0,0 @@
-
-/* @(#)s_scalbn.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
-<<scalbn>>, <<scalbnf>>---scale by integer
-INDEX
- scalbn
-INDEX
- scalbnf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double scalbn(double <[x]>, int <[y]>);
- float scalbnf(float <[x]>, int <[y]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double scalbn(<[x]>,<[y]>)
- double <[x]>;
- int <[y]>;
- float scalbnf(<[x]>,<[y]>)
- float <[x]>;
- int <[y]>;
-
-DESCRIPTION
-<<scalbn>> and <<scalbnf>> scale <[x]> by <[n]>, returning <[x]> times
-2 to the power <[n]>. The result is computed by manipulating the
-exponent, rather than by actually performing an exponentiation or
-multiplication.
-
-RETURNS
-<[x]> times 2 to the power <[n]>.
-
-PORTABILITY
-Neither <<scalbn>> nor <<scalbnf>> is required by ANSI C or by the System V
-Interface Definition (Issue 2).
-
-*/
-
-/*
- * scalbn (double x, int n)
- * scalbn(x,n) returns x* 2**n computed by exponent
- * manipulation rather than by actually performing an
- * exponentiation or a multiplication.
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
-twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
-huge = 1.0e+300,
-tiny = 1.0e-300;
-
-#ifdef __STDC__
- double scalbn (double x, int n)
-#else
- double scalbn (x,n)
- double x; int n;
-#endif
-{
- __int32_t k,hx,lx;
- EXTRACT_WORDS(hx,lx,x);
- k = (hx&0x7ff00000)>>20; /* extract exponent */
- if (k==0) { /* 0 or subnormal x */
- if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */
- x *= two54;
- GET_HIGH_WORD(hx,x);
- k = ((hx&0x7ff00000)>>20) - 54;
- if (n< -50000) return tiny*x; /*underflow*/
- }
- if (k==0x7ff) return x+x; /* NaN or Inf */
- k = k+n;
- if (k > 0x7fe) return huge*copysign(huge,x); /* overflow */
- if (k > 0) /* normal result */
- {SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;}
- if (k <= -54) {
- if (n > 50000) /* in case integer overflow in n+k */
- return huge*copysign(huge,x); /*overflow*/
- else return tiny*copysign(tiny,x); /*underflow*/
- }
- k += 54; /* subnormal result */
- SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
- return x*twom54;
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_sin.c b/libjava/java/lang/s_sin.c
deleted file mode 100644
index 28259f378fe..00000000000
--- a/libjava/java/lang/s_sin.c
+++ /dev/null
@@ -1,132 +0,0 @@
-
-/* @(#)s_sin.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
- <<sin>>, <<sinf>>, <<cos>>, <<cosf>>---sine or cosine
-INDEX
-sin
-INDEX
-sinf
-INDEX
-cos
-INDEX
-cosf
-ANSI_SYNOPSIS
- #include <math.h>
- double sin(double <[x]>);
- float sinf(float <[x]>);
- double cos(double <[x]>);
- float cosf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double sin(<[x]>)
- double <[x]>;
- float sinf(<[x]>)
- float <[x]>;
-
- double cos(<[x]>)
- double <[x]>;
- float cosf(<[x]>)
- float <[x]>;
-
-DESCRIPTION
- <<sin>> and <<cos>> compute (respectively) the sine and cosine
- of the argument <[x]>. Angles are specified in radians.
-
- <<sinf>> and <<cosf>> are identical, save that they take and
- return <<float>> values.
-
-
-RETURNS
- The sine or cosine of <[x]> is returned.
-
-PORTABILITY
- <<sin>> and <<cos>> are ANSI C.
- <<sinf>> and <<cosf>> are extensions.
-
-QUICKREF
- sin ansi pure
- sinf - pure
-*/
-
-/* sin(x)
- * Return sine function of x.
- *
- * kernel function:
- * __kernel_sin ... sine function on [-pi/4,pi/4]
- * __kernel_cos ... cose function on [-pi/4,pi/4]
- * __ieee754_rem_pio2 ... argument reduction routine
- *
- * Method.
- * Let S,C and T denote the sin, cos and tan respectively on
- * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
- * in [-pi/4 , +pi/4], and let n = k mod 4.
- * We have
- *
- * n sin(x) cos(x) tan(x)
- * ----------------------------------------------------------
- * 0 S C T
- * 1 C -S -1/T
- * 2 -S -C T
- * 3 -C S -1/T
- * ----------------------------------------------------------
- *
- * Special cases:
- * Let trig be any of sin, cos, or tan.
- * trig(+-INF) is NaN, with signals;
- * trig(NaN) is that NaN;
- *
- * Accuracy:
- * TRIG(x) returns trig(x) nearly rounded
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double sin(double x)
-#else
- double sin(x)
- double x;
-#endif
-{
- double y[2],z=0.0;
- __int32_t n,ix;
-
- /* High word of x. */
- GET_HIGH_WORD(ix,x);
-
- /* |x| ~< pi/4 */
- ix &= 0x7fffffff;
- if(ix <= 0x3fe921fb) return __kernel_sin(x,z,0);
-
- /* sin(Inf or NaN) is NaN */
- else if (ix>=0x7ff00000) return x-x;
-
- /* argument reduction needed */
- else {
- n = __ieee754_rem_pio2(x,y);
- switch(n&3) {
- case 0: return __kernel_sin(y[0],y[1],1);
- case 1: return __kernel_cos(y[0],y[1]);
- case 2: return -__kernel_sin(y[0],y[1],1);
- default:
- return -__kernel_cos(y[0],y[1]);
- }
- }
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_tan.c b/libjava/java/lang/s_tan.c
deleted file mode 100644
index 2959f416e83..00000000000
--- a/libjava/java/lang/s_tan.c
+++ /dev/null
@@ -1,114 +0,0 @@
-
-/* @(#)s_tan.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-
-/*
-
-FUNCTION
- <<tan>>, <<tanf>>---tangent
-
-INDEX
-tan
-INDEX
-tanf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double tan(double <[x]>);
- float tanf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double tan(<[x]>)
- double <[x]>;
-
- float tanf(<[x]>)
- float <[x]>;
-
-
-DESCRIPTION
-<<tan>> computes the tangent of the argument <[x]>.
-Angles are specified in radians.
-
-<<tanf>> is identical, save that it takes and returns <<float>> values.
-
-RETURNS
-The tangent of <[x]> is returned.
-
-PORTABILITY
-<<tan>> is ANSI. <<tanf>> is an extension.
-*/
-
-/* tan(x)
- * Return tangent function of x.
- *
- * kernel function:
- * __kernel_tan ... tangent function on [-pi/4,pi/4]
- * __ieee754_rem_pio2 ... argument reduction routine
- *
- * Method.
- * Let S,C and T denote the sin, cos and tan respectively on
- * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
- * in [-pi/4 , +pi/4], and let n = k mod 4.
- * We have
- *
- * n sin(x) cos(x) tan(x)
- * ----------------------------------------------------------
- * 0 S C T
- * 1 C -S -1/T
- * 2 -S -C T
- * 3 -C S -1/T
- * ----------------------------------------------------------
- *
- * Special cases:
- * Let trig be any of sin, cos, or tan.
- * trig(+-INF) is NaN, with signals;
- * trig(NaN) is that NaN;
- *
- * Accuracy:
- * TRIG(x) returns trig(x) nearly rounded
- */
-
-#include "fdlibm.h"
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double tan(double x)
-#else
- double tan(x)
- double x;
-#endif
-{
- double y[2],z=0.0;
- __int32_t n,ix;
-
- /* High word of x. */
- GET_HIGH_WORD(ix,x);
-
- /* |x| ~< pi/4 */
- ix &= 0x7fffffff;
- if(ix <= 0x3fe921fb) return __kernel_tan(x,z,1);
-
- /* tan(Inf or NaN) is NaN */
- else if (ix>=0x7ff00000) return x-x; /* NaN */
-
- /* argument reduction needed */
- else {
- n = __ieee754_rem_pio2(x,y);
- return __kernel_tan(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even
- -1 -- n odd */
- }
-}
-
-#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/sf_rint.c b/libjava/java/lang/sf_rint.c
deleted file mode 100644
index e4769e0dc60..00000000000
--- a/libjava/java/lang/sf_rint.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* sf_rint.c -- float version of s_rint.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include "fdlibm.h"
-
-#ifdef __STDC__
-static const float
-#else
-static float
-#endif
-TWO23[2]={
- 8.3886080000e+06, /* 0x4b000000 */
- -8.3886080000e+06, /* 0xcb000000 */
-};
-
-#ifdef __STDC__
- float rintf(float x)
-#else
- float rintf(x)
- float x;
-#endif
-{
- __int32_t i0,j0,sx;
- __uint32_t i,i1;
- float w,t;
- GET_FLOAT_WORD(i0,x);
- sx = (i0>>31)&1;
- j0 = ((i0>>23)&0xff)-0x7f;
- if(j0<23) {
- if(j0<0) {
- if((i0&0x7fffffff)==0) return x;
- i1 = (i0&0x07fffff);
- i0 &= 0xfff00000;
- i0 |= ((i1|-i1)>>9)&0x400000;
- SET_FLOAT_WORD(x,i0);
- w = TWO23[sx]+x;
- t = w-TWO23[sx];
- GET_FLOAT_WORD(i0,t);
- SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
- return t;
- } else {
- i = (0x007fffff)>>j0;
- if((i0&i)==0) return x; /* x is integral */
- i>>=1;
- if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
- }
- } else {
- if(j0==0x80) return x+x; /* inf or NaN */
- else return x; /* x is integral */
- }
- SET_FLOAT_WORD(x,i0);
- w = TWO23[sx]+x;
- return w-TWO23[sx];
-}
-
-#ifdef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double rint(double x)
-#else
- double rint(x)
- double x;
-#endif
-{
- return (double) rintf((float) x);
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/strtod.c b/libjava/java/lang/strtod.c
deleted file mode 100644
index e0e8e74828b..00000000000
--- a/libjava/java/lang/strtod.c
+++ /dev/null
@@ -1,720 +0,0 @@
-/*
-FUNCTION
- <<strtod>>, <<strtodf>>---string to double or float
-
-INDEX
- strtod
-INDEX
- _strtod_r
-INDEX
- strtodf
-
-ANSI_SYNOPSIS
- #include <stdlib.h>
- double strtod(const char *<[str]>, char **<[tail]>);
- float strtodf(const char *<[str]>, char **<[tail]>);
-
- double _strtod_r(void *<[reent]>,
- const char *<[str]>, char **<[tail]>);
-
-TRAD_SYNOPSIS
- #include <stdlib.h>
- double strtod(<[str]>,<[tail]>)
- char *<[str]>;
- char **<[tail]>;
-
- float strtodf(<[str]>,<[tail]>)
- char *<[str]>;
- char **<[tail]>;
-
- double _strtod_r(<[reent]>,<[str]>,<[tail]>)
- char *<[reent]>;
- char *<[str]>;
- char **<[tail]>;
-
-DESCRIPTION
- The function <<strtod>> parses the character string <[str]>,
- producing a substring which can be converted to a double
- value. The substring converted is the longest initial
- subsequence of <[str]>, beginning with the first
- non-whitespace character, that has the format:
- .[+|-]<[digits]>[.][<[digits]>][(e|E)[+|-]<[digits]>]
- The substring contains no characters if <[str]> is empty, consists
- entirely of whitespace, or if the first non-whitespace
- character is something other than <<+>>, <<->>, <<.>>, or a
- digit. If the substring is empty, no conversion is done, and
- the value of <[str]> is stored in <<*<[tail]>>>. Otherwise,
- the substring is converted, and a pointer to the final string
- (which will contain at least the terminating null character of
- <[str]>) is stored in <<*<[tail]>>>. If you want no
- assignment to <<*<[tail]>>>, pass a null pointer as <[tail]>.
- <<strtodf>> is identical to <<strtod>> except for its return type.
-
- This implementation returns the nearest machine number to the
- input decimal string. Ties are broken by using the IEEE
- round-even rule.
-
- The alternate function <<_strtod_r>> is a reentrant version.
- The extra argument <[reent]> is a pointer to a reentrancy structure.
-
-RETURNS
- <<strtod>> returns the converted substring value, if any. If
- no conversion could be performed, 0 is returned. If the
- correct value is out of the range of representable values,
- plus or minus <<HUGE_VAL>> is returned, and <<ERANGE>> is
- stored in errno. If the correct value would cause underflow, 0
- is returned and <<ERANGE>> is stored in errno.
-
-Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
-<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
-*/
-
-/****************************************************************
- *
- * The author of this software is David M. Gay.
- *
- * Copyright (c) 1991 by AT&T.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software and in all copies of the supporting
- * documentation for such software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
- * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- ***************************************************************/
-
-/* Please send bug reports to
- David M. Gay
- AT&T Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-2070
- U.S.A.
- dmg@research.att.com or research!dmg
- */
-
-#include <string.h>
-#include <float.h>
-#include <errno.h>
-#include "mprec.h"
-
-double
-_DEFUN (_strtod_r, (ptr, s00, se),
- struct _Jv_reent *ptr _AND
- _CONST char *s00 _AND
- char **se)
-{
- int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign, e1, esign, i, j,
- k, nd, nd0, nf, nz, nz0, sign;
- int digits = 0; /* Number of digits found in fraction part. */
- long e;
- _CONST char *s, *s0, *s1;
- double aadj, aadj1, adj;
- long L;
- unsigned long y, z;
- union double_union rv, rv0;
-
- _Jv_Bigint *bb, *bb1, *bd, *bd0, *bs, *delta;
- sign = nz0 = nz = 0;
- rv.d = 0.;
- for (s = s00;; s++)
- switch (*s)
- {
- case '-':
- sign = 1;
- /* no break */
- case '+':
- if (*++s)
- goto break2;
- /* no break */
- case 0:
- s = s00;
- goto ret;
- case '\t':
- case '\n':
- case '\v':
- case '\f':
- case '\r':
- case ' ':
- continue;
- default:
- goto break2;
- }
-break2:
- if (*s == '0')
- {
- digits++;
- nz0 = 1;
- while (*++s == '0')
- digits++;
- if (!*s)
- goto ret;
- }
- s0 = s;
- y = z = 0;
- for (nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++)
- {
- digits++;
- if (nd < 9)
- y = 10 * y + c - '0';
- else if (nd < 16)
- z = 10 * z + c - '0';
- }
- nd0 = nd;
- if (c == '.')
- {
- c = *++s;
- if (!nd)
- {
- for (; c == '0'; c = *++s)
- {
- digits++;
- nz++;
- }
- if (c > '0' && c <= '9')
- {
- digits++;
- s0 = s;
- nf += nz;
- nz = 0;
- goto have_dig;
- }
- goto dig_done;
- }
- for (; c >= '0' && c <= '9'; c = *++s)
- {
- digits++;
- have_dig:
- nz++;
- if (c -= '0')
- {
- nf += nz;
- for (i = 1; i < nz; i++)
- if (nd++ < 9)
- y *= 10;
- else if (nd <= DBL_DIG + 1)
- z *= 10;
- if (nd++ < 9)
- y = 10 * y + c;
- else if (nd <= DBL_DIG + 1)
- z = 10 * z + c;
- nz = 0;
- }
- }
- }
-dig_done:
- e = 0;
- if (c == 'e' || c == 'E')
- {
- if (!nd && !nz && !nz0)
- {
- s = s00;
- goto ret;
- }
- s00 = s;
- esign = 0;
- switch (c = *++s)
- {
- case '-':
- esign = 1;
- case '+':
- c = *++s;
- }
- if (c >= '0' && c <= '9')
- {
- while (c == '0')
- c = *++s;
- if (c > '0' && c <= '9')
- {
- e = c - '0';
- s1 = s;
- while ((c = *++s) >= '0' && c <= '9')
- e = 10 * e + c - '0';
- if (s - s1 > 8)
- /* Avoid confusion from exponents
- * so large that e might overflow.
- */
- e = 9999999L;
- if (esign)
- e = -e;
- }
- else
- {
- /* No exponent after an 'E' : that's an error. */
- ptr->_errno = EINVAL;
- e = 0;
- goto ret;
- }
- }
- else
- s = s00;
- }
- if (!nd)
- {
- if (!nz && !nz0)
- s = s00;
- goto ret;
- }
- e1 = e -= nf;
-
- /* Now we have nd0 digits, starting at s0, followed by a
- * decimal point, followed by nd-nd0 digits. The number we're
- * after is the integer represented by those digits times
- * 10**e */
-
- if (!nd0)
- nd0 = nd;
- k = nd < DBL_DIG + 1 ? nd : DBL_DIG + 1;
- rv.d = y;
- if (k > 9)
- rv.d = tens[k - 9] * rv.d + z;
- bd0 = 0;
- if (nd <= DBL_DIG
-#ifndef RND_PRODQUOT
- && FLT_ROUNDS == 1
-#endif
- )
- {
- if (!e)
- goto ret;
- if (e > 0)
- {
- if (e <= Ten_pmax)
- {
-#ifdef VAX
- goto vax_ovfl_check;
-#else
- /* rv.d = */ rounded_product (rv.d, tens[e]);
- goto ret;
-#endif
- }
- i = DBL_DIG - nd;
- if (e <= Ten_pmax + i)
- {
- /* A fancier test would sometimes let us do
- * this for larger i values.
- */
- e -= i;
- rv.d *= tens[i];
-#ifdef VAX
- /* VAX exponent range is so narrow we must
- * worry about overflow here...
- */
- vax_ovfl_check:
- word0 (rv) -= P * Exp_msk1;
- /* rv.d = */ rounded_product (rv.d, tens[e]);
- if ((word0 (rv) & Exp_mask)
- > Exp_msk1 * (DBL_MAX_EXP + Bias - 1 - P))
- goto ovfl;
- word0 (rv) += P * Exp_msk1;
-#else
- /* rv.d = */ rounded_product (rv.d, tens[e]);
-#endif
- goto ret;
- }
- }
-#ifndef Inaccurate_Divide
- else if (e >= -Ten_pmax)
- {
- /* rv.d = */ rounded_quotient (rv.d, tens[-e]);
- goto ret;
- }
-#endif
- }
- e1 += nd - k;
-
- /* Get starting approximation = rv.d * 10**e1 */
-
- if (e1 > 0)
- {
- if ((i = e1 & 15))
- rv.d *= tens[i];
-
- if (e1 &= ~15)
- {
- if (e1 > DBL_MAX_10_EXP)
- {
- ovfl:
- ptr->_errno = ERANGE;
-
- /* Force result to IEEE infinity. */
- word0 (rv) = Exp_mask;
- word1 (rv) = 0;
-
- if (bd0)
- goto retfree;
- goto ret;
- }
- if (e1 >>= 4)
- {
- for (j = 0; e1 > 1; j++, e1 >>= 1)
- if (e1 & 1)
- rv.d *= bigtens[j];
- /* The last multiplication could overflow. */
- word0 (rv) -= P * Exp_msk1;
- rv.d *= bigtens[j];
- if ((z = word0 (rv) & Exp_mask)
- > Exp_msk1 * (DBL_MAX_EXP + Bias - P))
- goto ovfl;
- if (z > Exp_msk1 * (DBL_MAX_EXP + Bias - 1 - P))
- {
- /* set to largest number */
- /* (Can't trust DBL_MAX) */
- word0 (rv) = Big0;
-#ifndef _DOUBLE_IS_32BITS
- word1 (rv) = Big1;
-#endif
- }
- else
- word0 (rv) += P * Exp_msk1;
- }
-
- }
- }
- else if (e1 < 0)
- {
- e1 = -e1;
- if ((i = e1 & 15))
- rv.d /= tens[i];
- if (e1 &= ~15)
- {
- e1 >>= 4;
- if (e1 >= 1 << n_bigtens)
- goto undfl;
- for (j = 0; e1 > 1; j++, e1 >>= 1)
- if (e1 & 1)
- rv.d *= tinytens[j];
- /* The last multiplication could underflow. */
- rv0.d = rv.d;
- rv.d *= tinytens[j];
- if (!rv.d)
- {
- rv.d = 2. * rv0.d;
- rv.d *= tinytens[j];
- if (!rv.d)
- {
- undfl:
- rv.d = 0.;
- ptr->_errno = ERANGE;
- if (bd0)
- goto retfree;
- goto ret;
- }
-#ifndef _DOUBLE_IS_32BITS
- word0 (rv) = Tiny0;
- word1 (rv) = Tiny1;
-#else
- word0 (rv) = Tiny1;
-#endif
- /* The refinement below will clean
- * this approximation up.
- */
- }
- }
- }
-
- /* Now the hard part -- adjusting rv to the correct value.*/
-
- /* Put digits into bd: true value = bd * 10^e */
-
- bd0 = s2b (ptr, s0, nd0, nd, y);
-
- for (;;)
- {
- bd = Balloc (ptr, bd0->_k);
- Bcopy (bd, bd0);
- bb = d2b (ptr, rv.d, &bbe, &bbbits); /* rv.d = bb * 2^bbe */
- bs = i2b (ptr, 1);
-
- if (e >= 0)
- {
- bb2 = bb5 = 0;
- bd2 = bd5 = e;
- }
- else
- {
- bb2 = bb5 = -e;
- bd2 = bd5 = 0;
- }
- if (bbe >= 0)
- bb2 += bbe;
- else
- bd2 -= bbe;
- bs2 = bb2;
-#ifdef Sudden_Underflow
-#ifdef IBM
- j = 1 + 4 * P - 3 - bbbits + ((bbe + bbbits - 1) & 3);
-#else
- j = P + 1 - bbbits;
-#endif
-#else
- i = bbe + bbbits - 1; /* logb(rv.d) */
- if (i < Emin) /* denormal */
- j = bbe + (P - Emin);
- else
- j = P + 1 - bbbits;
-#endif
- bb2 += j;
- bd2 += j;
- i = bb2 < bd2 ? bb2 : bd2;
- if (i > bs2)
- i = bs2;
- if (i > 0)
- {
- bb2 -= i;
- bd2 -= i;
- bs2 -= i;
- }
- if (bb5 > 0)
- {
- bs = pow5mult (ptr, bs, bb5);
- bb1 = mult (ptr, bs, bb);
- Bfree (ptr, bb);
- bb = bb1;
- }
- if (bb2 > 0)
- bb = lshift (ptr, bb, bb2);
- if (bd5 > 0)
- bd = pow5mult (ptr, bd, bd5);
- if (bd2 > 0)
- bd = lshift (ptr, bd, bd2);
- if (bs2 > 0)
- bs = lshift (ptr, bs, bs2);
- delta = diff (ptr, bb, bd);
- dsign = delta->_sign;
- delta->_sign = 0;
- i = cmp (delta, bs);
- if (i < 0)
- {
- /* Error is less than half an ulp -- check for
- * special case of mantissa a power of two.
- */
- if (dsign || word1 (rv) || word0 (rv) & Bndry_mask)
- break;
- delta = lshift (ptr, delta, Log2P);
- if (cmp (delta, bs) > 0)
- goto drop_down;
- break;
- }
- if (i == 0)
- {
- /* exactly half-way between */
- if (dsign)
- {
- if ((word0 (rv) & Bndry_mask1) == Bndry_mask1
- && word1 (rv) == 0xffffffff)
- {
- /*boundary case -- increment exponent*/
- word0 (rv) = (word0 (rv) & Exp_mask)
- + Exp_msk1
-#ifdef IBM
- | Exp_msk1 >> 4
-#endif
- ;
-#ifndef _DOUBLE_IS_32BITS
- word1 (rv) = 0;
-#endif
- break;
- }
- }
- else if (!(word0 (rv) & Bndry_mask) && !word1 (rv))
- {
- drop_down:
- /* boundary case -- decrement exponent */
-#ifdef Sudden_Underflow
- L = word0 (rv) & Exp_mask;
-#ifdef IBM
- if (L < Exp_msk1)
-#else
- if (L <= Exp_msk1)
-#endif
- goto undfl;
- L -= Exp_msk1;
-#else
- L = (word0 (rv) & Exp_mask) - Exp_msk1;
-#endif
- word0 (rv) = L | Bndry_mask1;
-#ifndef _DOUBLE_IS_32BITS
- word1 (rv) = 0xffffffff;
-#endif
-#ifdef IBM
- goto cont;
-#else
- break;
-#endif
- }
-#ifndef ROUND_BIASED
- if (!(word1 (rv) & LSB))
- break;
-#endif
- if (dsign)
- rv.d += ulp (rv.d);
-#ifndef ROUND_BIASED
- else
- {
- rv.d -= ulp (rv.d);
-#ifndef Sudden_Underflow
- if (!rv.d)
- goto undfl;
-#endif
- }
-#endif
- break;
- }
- if ((aadj = ratio (delta, bs)) <= 2.)
- {
- if (dsign)
- aadj = aadj1 = 1.;
- else if (word1 (rv) || word0 (rv) & Bndry_mask)
- {
-#ifndef Sudden_Underflow
- if (word1 (rv) == Tiny1 && !word0 (rv))
- goto undfl;
-#endif
- aadj = 1.;
- aadj1 = -1.;
- }
- else
- {
- /* special case -- power of FLT_RADIX to be */
- /* rounded down... */
-
- if (aadj < 2. / FLT_RADIX)
- aadj = 1. / FLT_RADIX;
- else
- aadj *= 0.5;
- aadj1 = -aadj;
- }
- }
- else
- {
- aadj *= 0.5;
- aadj1 = dsign ? aadj : -aadj;
-#ifdef Check_FLT_ROUNDS
- switch (FLT_ROUNDS)
- {
- case 2: /* towards +infinity */
- aadj1 -= 0.5;
- break;
- case 0: /* towards 0 */
- case 3: /* towards -infinity */
- aadj1 += 0.5;
- }
-#else
- if (FLT_ROUNDS == 0)
- aadj1 += 0.5;
-#endif
- }
- y = word0 (rv) & Exp_mask;
-
- /* Check for overflow */
-
- if (y == Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
- {
- rv0.d = rv.d;
- word0 (rv) -= P * Exp_msk1;
- adj = aadj1 * ulp (rv.d);
- rv.d += adj;
- if ((word0 (rv) & Exp_mask) >=
- Exp_msk1 * (DBL_MAX_EXP + Bias - P))
- {
- if (word0 (rv0) == Big0 && word1 (rv0) == Big1)
- goto ovfl;
-#ifdef _DOUBLE_IS_32BITS
- word0 (rv) = Big1;
-#else
- word0 (rv) = Big0;
- word1 (rv) = Big1;
-#endif
- goto cont;
- }
- else
- word0 (rv) += P * Exp_msk1;
- }
- else
- {
-#ifdef Sudden_Underflow
- if ((word0 (rv) & Exp_mask) <= P * Exp_msk1)
- {
- rv0.d = rv.d;
- word0 (rv) += P * Exp_msk1;
- adj = aadj1 * ulp (rv.d);
- rv.d += adj;
-#ifdef IBM
- if ((word0 (rv) & Exp_mask) < P * Exp_msk1)
-#else
- if ((word0 (rv) & Exp_mask) <= P * Exp_msk1)
-#endif
- {
- if (word0 (rv0) == Tiny0
- && word1 (rv0) == Tiny1)
- goto undfl;
- word0 (rv) = Tiny0;
- word1 (rv) = Tiny1;
- goto cont;
- }
- else
- word0 (rv) -= P * Exp_msk1;
- }
- else
- {
- adj = aadj1 * ulp (rv.d);
- rv.d += adj;
- }
-#else
- /* Compute adj so that the IEEE rounding rules will
- * correctly round rv.d + adj in some half-way cases.
- * If rv.d * ulp(rv.d) is denormalized (i.e.,
- * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid
- * trouble from bits lost to denormalization;
- * example: 1.2e-307 .
- */
- if (y <= (P - 1) * Exp_msk1 && aadj >= 1.)
- {
- aadj1 = (double) (int) (aadj + 0.5);
- if (!dsign)
- aadj1 = -aadj1;
- }
- adj = aadj1 * ulp (rv.d);
- rv.d += adj;
-#endif
- }
- z = word0 (rv) & Exp_mask;
- if (y == z)
- {
- /* Can we stop now? */
- L = aadj;
- aadj -= L;
- /* The tolerances below are conservative. */
- if (dsign || word1 (rv) || word0 (rv) & Bndry_mask)
- {
- if (aadj < .4999999 || aadj > .5000001)
- break;
- }
- else if (aadj < .4999999 / FLT_RADIX)
- break;
- }
- cont:
- Bfree (ptr, bb);
- Bfree (ptr, bd);
- Bfree (ptr, bs);
- Bfree (ptr, delta);
- }
-retfree:
- Bfree (ptr, bb);
- Bfree (ptr, bd);
- Bfree (ptr, bs);
- Bfree (ptr, bd0);
- Bfree (ptr, delta);
-ret:
- if (se)
- *se = (char *) s;
- if (digits == 0)
- ptr->_errno = EINVAL;
- return sign ? -rv.d : rv.d;
-}
-
diff --git a/libjava/java/lang/w_acos.c b/libjava/java/lang/w_acos.c
deleted file mode 100644
index c9ca99c4041..00000000000
--- a/libjava/java/lang/w_acos.c
+++ /dev/null
@@ -1,118 +0,0 @@
-
-/* @(#)w_acos.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
- <<acos>>, <<acosf>>---arc cosine
-
-INDEX
- acos
-INDEX
- acosf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double acos(double <[x]>);
- float acosf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double acos(<[x]>)
- double <[x]>;
-
- float acosf(<[x]>)
- float <[x]>;
-
-
-
-DESCRIPTION
-
- <<acos>> computes the inverse cosine (arc cosine) of the input value.
- Arguments to <<acos>> must be in the range @minus{}1 to 1.
-
- <<acosf>> is identical to <<acos>>, except that it performs
- its calculations on <<floats>>.
-
-RETURNS
- @ifinfo
- <<acos>> and <<acosf>> return values in radians, in the range of 0 to pi.
- @end ifinfo
- @tex
- <<acos>> and <<acosf>> return values in radians, in the range of <<0>> to $\pi$.
- @end tex
-
- If <[x]> is not between @minus{}1 and 1, the returned value is NaN
- (not a number) the global variable <<errno>> is set to <<EDOM>>, and a
- <<DOMAIN error>> message is sent as standard error output.
-
- You can modify error handling for these functions using <<matherr>>.
-
-
-QUICKREF ANSI SVID POSIX RENTRANT
- acos y,y,y,m
- acosf n,n,n,m
-
-MATHREF
- acos, [-1,1], acos(arg),,,
- acos, NAN, arg,DOMAIN,EDOM
-
-MATHREF
- acosf, [-1,1], acosf(arg),,,
- acosf, NAN, argf,DOMAIN,EDOM
-
-*/
-
-/*
- * wrap_acos(x)
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double acos(double x) /* wrapper acos */
-#else
- double acos(x) /* wrapper acos */
- double x;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_acos(x);
-#else
- double z;
- struct exception exc;
- z = __ieee754_acos(x);
- if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
- if(fabs(x)>1.0) {
- /* acos(|x|>1) */
- exc.type = DOMAIN;
- exc.name = "acos";
- exc.err = 0;
- exc.arg1 = exc.arg2 = x;
- exc.retval = 0.0;
- if (_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_asin.c b/libjava/java/lang/w_asin.c
deleted file mode 100644
index f6cb271d392..00000000000
--- a/libjava/java/lang/w_asin.c
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/* @(#)w_asin.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- *
- */
-
-/*
-FUNCTION
- <<asin>>, <<asinf>>---arc sine
-
-INDEX
- asin
-INDEX
- asinf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double asin(double <[x]>);
- float asinf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double asin(<[x]>)
- double <[x]>;
-
- float asinf(<[x]>)
- float <[x]>;
-
-
-DESCRIPTION
-
-<<asin>> computes the inverse sine (arc sine) of the argument <[x]>.
-Arguments to <<asin>> must be in the range @minus{}1 to 1.
-
-<<asinf>> is identical to <<asin>>, other than taking and
-returning floats.
-
-You can modify error handling for these routines using <<matherr>>.
-
-RETURNS
-@ifinfo
-<<asin>> returns values in radians, in the range of -pi/2 to pi/2.
-@end ifinfo
-@tex
-<<asin>> returns values in radians, in the range of $-\pi/2$ to $\pi/2$.
-@end tex
-
-If <[x]> is not in the range @minus{}1 to 1, <<asin>> and <<asinf>>
-return NaN (not a number), set the global variable <<errno>> to
-<<EDOM>>, and issue a <<DOMAIN error>> message.
-
-You can change this error treatment using <<matherr>>.
-
-QUICKREF ANSI SVID POSIX RENTRANT
- asin y,y,y,m
- asinf n,n,n,m
-
-MATHREF
- asin, -1<=arg<=1, asin(arg),,,
- asin, NAN, arg,EDOM, DOMAIN
-
-MATHREF
- asinf, -1<=arg<=1, asin(arg),,,
- asinf, NAN, arg,EDOM, DOMAIN
-
-
-*/
-
-/*
- * wrapper asin(x)
- */
-
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double asin(double x) /* wrapper asin */
-#else
- double asin(x) /* wrapper asin */
- double x;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_asin(x);
-#else
- double z;
- struct exception exc;
- z = __ieee754_asin(x);
- if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
- if(fabs(x)>1.0) {
- /* asin(|x|>1) */
- exc.type = DOMAIN;
- exc.name = "asin";
- exc.err = 0;
- exc.arg1 = exc.arg2 = x;
- exc.retval = 0.0;
- if(_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_atan2.c b/libjava/java/lang/w_atan2.c
deleted file mode 100644
index 91742c72b91..00000000000
--- a/libjava/java/lang/w_atan2.c
+++ /dev/null
@@ -1,117 +0,0 @@
-
-/* @(#)w_atan2.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- *
- */
-
-/*
-FUNCTION
- <<atan2>>, <<atan2f>>---arc tangent of y/x
-
-INDEX
- atan2
-INDEX
- atan2f
-
-ANSI_SYNOPSIS
- #include <math.h>
- double atan2(double <[y]>,double <[x]>);
- float atan2f(float <[y]>,float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double atan2(<[y]>,<[x]>);
- double <[y]>;
- double <[x]>;
-
- float atan2f(<[y]>,<[x]>);
- float <[y]>;
- float <[x]>;
-
-DESCRIPTION
-
-<<atan2>> computes the inverse tangent (arc tangent) of <[y]>/<[x]>.
-<<atan2>> produces the correct result even for angles near
-@ifinfo
-pi/2 or -pi/2
-@end ifinfo
-@tex
-$\pi/2$ or $-\pi/2$
-@end tex
-(that is, when <[x]> is near 0).
-
-<<atan2f>> is identical to <<atan2>>, save that it takes and returns
-<<float>>.
-
-RETURNS
-<<atan2>> and <<atan2f>> return a value in radians, in the range of
-@ifinfo
--pi to pi.
-@end ifinfo
-@tex
-$-\pi$ to $\pi$.
-@end tex
-
-If both <[x]> and <[y]> are 0.0, <<atan2>> causes a <<DOMAIN>> error.
-
-You can modify error handling for these functions using <<matherr>>.
-
-PORTABILITY
-<<atan2>> is ANSI C. <<atan2f>> is an extension.
-
-
-*/
-
-/*
- * wrapper atan2(y,x)
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double atan2(double y, double x) /* wrapper atan2 */
-#else
- double atan2(y,x) /* wrapper atan2 */
- double y,x;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_atan2(y,x);
-#else
- double z;
- struct exception exc;
- z = __ieee754_atan2(y,x);
- if(_LIB_VERSION == _IEEE_||isnan(x)||isnan(y)) return z;
- if(x==0.0&&y==0.0) {
- /* atan2(+-0,+-0) */
- exc.arg1 = y;
- exc.arg2 = x;
- exc.type = DOMAIN;
- exc.name = "atan2";
- exc.err = 0;
- exc.retval = 0.0;
- if(_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_exp.c b/libjava/java/lang/w_exp.c
deleted file mode 100644
index ae792a84642..00000000000
--- a/libjava/java/lang/w_exp.c
+++ /dev/null
@@ -1,136 +0,0 @@
-
-/* @(#)w_exp.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
- <<exp>>, <<expf>>---exponential
-INDEX
- exp
-INDEX
- expf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double exp(double <[x]>);
- float expf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double exp(<[x]>);
- double <[x]>;
-
- float expf(<[x]>);
- float <[x]>;
-
-DESCRIPTION
- <<exp>> and <<expf>> calculate the exponential of <[x]>, that is,
- @ifinfo
- e raised to the power <[x]> (where e
- @end ifinfo
- @tex
- $e^x$ (where $e$
- @end tex
- is the base of the natural system of logarithms, approximately 2.71828).
-
- You can use the (non-ANSI) function <<matherr>> to specify
- error handling for these functions.
-
-RETURNS
- On success, <<exp>> and <<expf>> return the calculated value.
- If the result underflows, the returned value is <<0>>. If the
- result overflows, the returned value is <<HUGE_VAL>>. In
- either case, <<errno>> is set to <<ERANGE>>.
-
-PORTABILITY
- <<exp>> is ANSI C. <<expf>> is an extension.
-
-*/
-
-/*
- * wrapper exp(x)
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
-u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */
-
-#ifdef __STDC__
- double exp(double x) /* wrapper exp */
-#else
- double exp(x) /* wrapper exp */
- double x;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_exp(x);
-#else
- double z;
- struct exception exc;
- z = __ieee754_exp(x);
- if(_LIB_VERSION == _IEEE_) return z;
- if(finite(x)) {
- if(x>o_threshold) {
- /* exp(finite) overflow */
-#ifndef HUGE_VAL
-#define HUGE_VAL inf
- double inf = 0.0;
-
- SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
-#endif
- exc.type = OVERFLOW;
- exc.name = "exp";
- exc.err = 0;
- exc.arg1 = exc.arg2 = x;
- if (_LIB_VERSION == _SVID_)
- exc.retval = HUGE;
- else
- exc.retval = HUGE_VAL;
- if (_LIB_VERSION == _POSIX_)
- errno = ERANGE;
- else if (!matherr(&exc)) {
- errno = ERANGE;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else if(x<u_threshold) {
- /* exp(finite) underflow */
- exc.type = UNDERFLOW;
- exc.name = "exp";
- exc.err = 0;
- exc.arg1 = exc.arg2 = x;
- exc.retval = 0.0;
- if (_LIB_VERSION == _POSIX_)
- errno = ERANGE;
- else if (!matherr(&exc)) {
- errno = ERANGE;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- }
- }
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_fmod.c b/libjava/java/lang/w_fmod.c
deleted file mode 100644
index b6b36cb76ab..00000000000
--- a/libjava/java/lang/w_fmod.c
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/* @(#)w_fmod.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
-<<fmod>>, <<fmodf>>---floating-point remainder (modulo)
-
-INDEX
-fmod
-INDEX
-fmodf
-
-ANSI_SYNOPSIS
-#include <math.h>
-double fmod(double <[x]>, double <[y]>)
-float fmodf(float <[x]>, float <[y]>)
-
-TRAD_SYNOPSIS
-#include <math.h>
-double fmod(<[x]>, <[y]>)
-double (<[x]>, <[y]>);
-
-float fmodf(<[x]>, <[y]>)
-float (<[x]>, <[y]>);
-
-DESCRIPTION
-The <<fmod>> and <<fmodf>> functions compute the floating-point
-remainder of <[x]>/<[y]> (<[x]> modulo <[y]>).
-
-RETURNS
-The <<fmod>> function returns the value
-@ifinfo
-<[x]>-<[i]>*<[y]>,
-@end ifinfo
-@tex
-$x-i\times y$,
-@end tex
-for the largest integer <[i]> such that, if <[y]> is nonzero, the
-result has the same sign as <[x]> and magnitude less than the
-magnitude of <[y]>.
-
-<<fmod(<[x]>,0)>> returns NaN, and sets <<errno>> to <<EDOM>>.
-
-You can modify error treatment for these functions using <<matherr>>.
-
-PORTABILITY
-<<fmod>> is ANSI C. <<fmodf>> is an extension.
-*/
-
-/*
- * wrapper fmod(x,y)
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double fmod(double x, double y) /* wrapper fmod */
-#else
- double fmod(x,y) /* wrapper fmod */
- double x,y;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_fmod(x,y);
-#else
- double z;
- struct exception exc;
- z = __ieee754_fmod(x,y);
- if(_LIB_VERSION == _IEEE_ ||isnan(y)||isnan(x)) return z;
- if(y==0.0) {
- /* fmod(x,0) */
- exc.type = DOMAIN;
- exc.name = "fmod";
- exc.arg1 = x;
- exc.arg2 = y;
- exc.err = 0;
- if (_LIB_VERSION == _SVID_)
- exc.retval = x;
- else
- exc.retval = 0.0/0.0;
- if (_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_log.c b/libjava/java/lang/w_log.c
deleted file mode 100644
index dcc8b9762ec..00000000000
--- a/libjava/java/lang/w_log.c
+++ /dev/null
@@ -1,115 +0,0 @@
-
-/* @(#)w_log.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
- <<log>>, <<logf>>---natural logarithms
-
-INDEX
- log
-INDEX
- logf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double log(double <[x]>);
- float logf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double log(<[x]>);
- double <[x]>;
-
- float logf(<[x]>);
- float <[x]>;
-
-DESCRIPTION
-Return the natural logarithm of <[x]>, that is, its logarithm base e
-(where e is the base of the natural system of logarithms, 2.71828@dots{}).
-<<log>> and <<logf>> are identical save for the return and argument types.
-
-You can use the (non-ANSI) function <<matherr>> to specify error
-handling for these functions.
-
-RETURNS
-Normally, returns the calculated value. When <[x]> is zero, the
-returned value is <<-HUGE_VAL>> and <<errno>> is set to <<ERANGE>>.
-When <[x]> is negative, the returned value is <<-HUGE_VAL>> and
-<<errno>> is set to <<EDOM>>. You can control the error behavior via
-<<matherr>>.
-
-PORTABILITY
-<<log>> is ANSI, <<logf>> is an extension.
-*/
-
-/*
- * wrapper log(x)
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double log(double x) /* wrapper log */
-#else
- double log(x) /* wrapper log */
- double x;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_log(x);
-#else
- double z;
- struct exception exc;
- z = __ieee754_log(x);
- if(_LIB_VERSION == _IEEE_ || isnan(x) || x > 0.0) return z;
-#ifndef HUGE_VAL
-#define HUGE_VAL inf
- double inf = 0.0;
-
- SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
-#endif
- exc.name = "log";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = x;
- if (_LIB_VERSION == _SVID_)
- exc.retval = -HUGE;
- else
- exc.retval = -HUGE_VAL;
- if(x==0.0) {
- /* log(0) */
- exc.type = SING;
- if (_LIB_VERSION == _POSIX_)
- errno = ERANGE;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- } else {
- /* log(x<0) */
- exc.type = DOMAIN;
- if (_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_pow.c b/libjava/java/lang/w_pow.c
deleted file mode 100644
index 3df099a1714..00000000000
--- a/libjava/java/lang/w_pow.c
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-/* @(#)w_pow.c 5.2 93/10/01 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
- <<pow>>, <<powf>>---x to the power y
-INDEX
- pow
-INDEX
- powf
-
-
-ANSI_SYNOPSIS
- #include <math.h>
- double pow(double <[x]>, double <[y]>);
- float pow(float <[x]>, float <[y]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double pow(<[x]>, <[y]>);
- double <[x]>, <[y]>;
-
- float pow(<[x]>, <[y]>);
- float <[x]>, <[y]>;
-
-DESCRIPTION
- <<pow>> and <<powf>> calculate <[x]> raised to the exp1.0nt <[y]>.
- @tex
- (That is, $x^y$.)
- @end tex
-
-RETURNS
- On success, <<pow>> and <<powf>> return the value calculated.
-
- When the argument values would produce overflow, <<pow>>
- returns <<HUGE_VAL>> and set <<errno>> to <<ERANGE>>. If the
- argument <[x]> passed to <<pow>> or <<powf>> is a negative
- noninteger, and <[y]> is also not an integer, then <<errno>>
- is set to <<EDOM>>. If <[x]> and <[y]> are both 0, then
- <<pow>> and <<powf>> return <<1>>.
-
- You can modify error handling for these functions using <<matherr>>.
-
-PORTABILITY
- <<pow>> is ANSI C. <<powf>> is an extension. */
-
-/*
- * wrapper pow(x,y) return x**y
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double pow(double x, double y) /* wrapper pow */
-#else
- double pow(x,y) /* wrapper pow */
- double x,y;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_pow(x,y);
-#else
- double z;
-#ifndef HUGE_VAL
-#define HUGE_VAL inf
- double inf = 0.0;
-
- SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
-#endif
- struct exception exc;
- z=__ieee754_pow(x,y);
- if(_LIB_VERSION == _IEEE_|| isnan(y)) return z;
- if(isnan(x)) {
- if(y==0.0) {
- /* pow(NaN,0.0) */
- /* error only if _LIB_VERSION == _SVID_ & _XOPEN_ */
- exc.type = DOMAIN;
- exc.name = "pow";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = y;
- exc.retval = x;
- if (_LIB_VERSION == _IEEE_ ||
- _LIB_VERSION == _POSIX_) exc.retval = 1.0;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else
- return z;
- }
- if(x==0.0){
- if(y==0.0) {
- /* pow(0.0,0.0) */
- /* error only if _LIB_VERSION == _SVID_ */
- exc.type = DOMAIN;
- exc.name = "pow";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = y;
- exc.retval = 0.0;
- if (_LIB_VERSION != _SVID_) exc.retval = 1.0;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- }
- if(finite(y)&&y<0.0) {
- /* 0**neg */
- exc.type = DOMAIN;
- exc.name = "pow";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = y;
- if (_LIB_VERSION == _SVID_)
- exc.retval = 0.0;
- else
- exc.retval = -HUGE_VAL;
- if (_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- }
- return z;
- }
- if(!finite(z)) {
- if(finite(x)&&finite(y)) {
- if(isnan(z)) {
- /* neg**non-integral */
- exc.type = DOMAIN;
- exc.name = "pow";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = y;
- if (_LIB_VERSION == _SVID_)
- exc.retval = 0.0;
- else
- exc.retval = 0.0/0.0; /* X/Open allow NaN */
- if (_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else {
- /* pow(x,y) overflow */
- exc.type = OVERFLOW;
- exc.name = "pow";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = y;
- if (_LIB_VERSION == _SVID_) {
- exc.retval = HUGE;
- y *= 0.5;
- if(x<0.0&&rint(y)!=y) exc.retval = -HUGE;
- } else {
- exc.retval = HUGE_VAL;
- y *= 0.5;
- if(x<0.0&&rint(y)!=y) exc.retval = -HUGE_VAL;
- }
- if (_LIB_VERSION == _POSIX_)
- errno = ERANGE;
- else if (!matherr(&exc)) {
- errno = ERANGE;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- }
- }
- }
- if(z==0.0&&finite(x)&&finite(y)) {
- /* pow(x,y) underflow */
- exc.type = UNDERFLOW;
- exc.name = "pow";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = y;
- exc.retval = 0.0;
- if (_LIB_VERSION == _POSIX_)
- errno = ERANGE;
- else if (!matherr(&exc)) {
- errno = ERANGE;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- }
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/libjava/java/lang/w_remainder.c b/libjava/java/lang/w_remainder.c
deleted file mode 100644
index a06be0e7b30..00000000000
--- a/libjava/java/lang/w_remainder.c
+++ /dev/null
@@ -1,119 +0,0 @@
-
-/* @(#)w_remainder.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
-<<rint>>, <<rintf>>, <<remainder>>, <<remainderf>>---round and remainder
-INDEX
- rint
-INDEX
- rintf
-INDEX
- remainder
-INDEX
- remainderf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double rint(double <[x]>);
- float rintf(float <[x]>);
- double remainder(double <[x]>, double <[y]>);
- float remainderf(float <[x]>, float <[y]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double rint(<[x]>)
- double <[x]>;
- float rintf(<[x]>)
- float <[x]>;
- double remainder(<[x]>,<[y]>)
- double <[x]>, <[y]>;
- float remainderf(<[x]>,<[y]>)
- float <[x]>, <[y]>;
-
-DESCRIPTION
-<<rint>> and <<rintf>> returns their argument rounded to the nearest
-integer. <<remainder>> and <<remainderf>> find the remainder of
-<[x]>/<[y]>; this value is in the range -<[y]>/2 .. +<[y]>/2.
-
-RETURNS
-<<rint>> and <<remainder>> return the integer result as a double.
-
-PORTABILITY
-<<rint>> and <<remainder>> are System V release 4. <<rintf>> and
-<<remainderf>> are extensions.
-
-*/
-
-/*
- * wrapper remainder(x,p)
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double remainder(double x, double y) /* wrapper remainder */
-#else
- double remainder(x,y) /* wrapper remainder */
- double x,y;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_remainder(x,y);
-#else
- double z;
- struct exception exc;
- z = __ieee754_remainder(x,y);
- if(_LIB_VERSION == _IEEE_ || isnan(y)) return z;
- if(y==0.0) {
- /* remainder(x,0) */
- exc.type = DOMAIN;
- exc.name = "remainder";
- exc.err = 0;
- exc.arg1 = x;
- exc.arg2 = y;
- exc.retval = 0.0/0.0;
- if (_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/libjava/java/lang/w_sqrt.c b/libjava/java/lang/w_sqrt.c
deleted file mode 100644
index 23a793ce74a..00000000000
--- a/libjava/java/lang/w_sqrt.c
+++ /dev/null
@@ -1,93 +0,0 @@
-
-/* @(#)w_sqrt.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-FUNCTION
- <<sqrt>>, <<sqrtf>>---positive square root
-
-INDEX
- sqrt
-INDEX
- sqrtf
-
-ANSI_SYNOPSIS
- #include <math.h>
- double sqrt(double <[x]>);
- float sqrtf(float <[x]>);
-
-TRAD_SYNOPSIS
- #include <math.h>
- double sqrt(<[x]>);
- float sqrtf(<[x]>);
-
-DESCRIPTION
- <<sqrt>> computes the positive square root of the argument.
- You can modify error handling for this function with
- <<matherr>>.
-
-RETURNS
- On success, the square root is returned. If <[x]> is real and
- positive, then the result is positive. If <[x]> is real and
- negative, the global value <<errno>> is set to <<EDOM>> (domain error).
-
-
-PORTABILITY
- <<sqrt>> is ANSI C. <<sqrtf>> is an extension.
-*/
-
-/*
- * wrapper sqrt(x)
- */
-
-#include "fdlibm.h"
-#include <errno.h>
-
-#ifndef _DOUBLE_IS_32BITS
-
-#ifdef __STDC__
- double sqrt(double x) /* wrapper sqrt */
-#else
- double sqrt(x) /* wrapper sqrt */
- double x;
-#endif
-{
-#ifdef _IEEE_LIBM
- return __ieee754_sqrt(x);
-#else
- struct exception exc;
- double z;
- z = __ieee754_sqrt(x);
- if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
- if(x<0.0) {
- exc.type = DOMAIN;
- exc.name = "sqrt";
- exc.err = 0;
- exc.arg1 = exc.arg2 = x;
- if (_LIB_VERSION == _SVID_)
- exc.retval = 0.0;
- else
- exc.retval = 0.0/0.0;
- if (_LIB_VERSION == _POSIX_)
- errno = EDOM;
- else if (!matherr(&exc)) {
- errno = EDOM;
- }
- if (exc.err != 0)
- errno = exc.err;
- return exc.retval;
- } else
- return z;
-#endif
-}
-
-#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/net/BindException.java b/libjava/java/net/BindException.java
deleted file mode 100644
index 5f7b4919b40..00000000000
--- a/libjava/java/net/BindException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// BindException.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class BindException extends SocketException
-{
- public BindException()
- {
- super();
- }
-
- public BindException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/net/ConnectException.java b/libjava/java/net/ConnectException.java
deleted file mode 100644
index d4d3a48cc68..00000000000
--- a/libjava/java/net/ConnectException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// ConnectException.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class ConnectException extends SocketException
-{
- public ConnectException()
- {
- super();
- }
-
- public ConnectException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/net/ContentHandler.java b/libjava/java/net/ContentHandler.java
deleted file mode 100644
index fd2e3b12f48..00000000000
--- a/libjava/java/net/ContentHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-// ContentHandler.java - Superclass of classes that read from a URLConnection.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-import java.io.IOException;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public abstract class ContentHandler
-{
- public abstract Object getContent(URLConnection urlc) throws IOException;
-}
diff --git a/libjava/java/net/ContentHandlerFactory.java b/libjava/java/net/ContentHandlerFactory.java
deleted file mode 100644
index ee6dcffdb69..00000000000
--- a/libjava/java/net/ContentHandlerFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// ContentHandlerFactory.java - Abstract Content Handler factory.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public abstract interface ContentHandlerFactory
-{
- public ContentHandler createContentHandler(String mimetype);
-}
diff --git a/libjava/java/net/FileNameMap.java b/libjava/java/net/FileNameMap.java
deleted file mode 100644
index 24e8ef894f1..00000000000
--- a/libjava/java/net/FileNameMap.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// FileNameMap.java - Abstract interface to map from a File Name to MIME type.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public abstract interface FileNameMap
-{
- public String getContentTypeFor(String fileName);
-}
diff --git a/libjava/java/net/HttpURLConnection.java b/libjava/java/net/HttpURLConnection.java
deleted file mode 100644
index 8b05b73ebbb..00000000000
--- a/libjava/java/net/HttpURLConnection.java
+++ /dev/null
@@ -1,174 +0,0 @@
-// HttpURLConnection.java - Subclass of communications links using
-// Hypertext Transfer Protocol.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-import java.io.*;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 29, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public abstract class HttpURLConnection extends URLConnection
-{
- /* HTTP Success Response Codes */
- public static final int HTTP_OK = 200;
- public static final int HTTP_CREATED = 201;
- public static final int HTTP_ACCEPTED = 202;
- public static final int HTTP_NOT_AUTHORITATIVE = 203;
- public static final int HTTP_NO_CONTENT = 204;
- public static final int HTTP_RESET = 205;
- public static final int HTTP_PARTIAL = 206;
-
- /* HTTP Redirection Response Codes */
- public static final int HTTP_MULT_CHOICE = 300;
- public static final int HTTP_MOVED_PERM = 301;
- public static final int HTTP_MOVED_TEMP = 302;
- public static final int HTTP_SEE_OTHER = 303;
- public static final int HTTP_NOT_MODIFIED = 304;
- public static final int HTTP_USE_PROXY = 305;
-
- /* HTTP Client Error Response Codes */
- public static final int HTTP_BAD_REQUEST = 400;
- public static final int HTTP_UNAUTHORIZED = 401;
- public static final int HTTP_PAYMENT_REQUIRED = 402;
- public static final int HTTP_FORBIDDEN = 403;
- public static final int HTTP_NOT_FOUND = 404;
- public static final int HTTP_BAD_METHOD = 405;
- public static final int HTTP_NOT_ACCEPTABLE = 406;
- public static final int HTTP_PROXY_AUTH = 407;
- public static final int HTTP_CLIENT_TIMEOUT = 408;
- public static final int HTTP_CONFLICT = 409;
- public static final int HTTP_GONE = 410;
- public static final int HTTP_LENGTH_REQUIRED = 411;
- public static final int HTTP_PRECON_FAILED = 412;
- public static final int HTTP_ENTITY_TOO_LARGE = 413;
- public static final int HTTP_REQ_TOO_LONG = 414;
- public static final int HTTP_UNSUPPORTED_TYPE = 415;
-
- /* HTTP Server Error Response Codes */
- public static final int HTTP_SERVER_ERROR = 500;
- public static final int HTTP_INTERNAL_ERROR = 501;
- public static final int HTTP_BAD_GATEWAY = 502;
- public static final int HTTP_UNAVAILABLE = 503;
- public static final int HTTP_GATEWAY_TIMEOUT = 504;
- public static final int HTTP_VERSION = 505;
-
- protected String method = "GET";
- protected int responseCode = -1;
- protected String responseMessage;
-
- static boolean followRedirects = true;
-
- protected HttpURLConnection(URL url)
- {
- super(url);
- }
-
- public abstract void disconnect();
-
- public abstract boolean usingProxy();
-
- public static void setFollowRedirects(boolean set)
- {
- // Throw an exception if an extant security mgr precludes
- // setting the factory.
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkSetFactory();
-
- followRedirects = set;
- }
-
- public static boolean getFollowRedirects()
- {
- return followRedirects;
- }
-
- public void setRequestMethod(String method) throws ProtocolException
- {
- if (connected)
- throw new ProtocolException("Already connected");
-
- if (method.equals("GET") || method.equals("POST") ||
- method.equals("HEAD") || method.equals("OPTIONS") ||
- method.equals("PUT") || method.equals("DELETE") ||
- method.equals("TRACE"))
- this.method = method;
- else
- throw new ProtocolException("Invalid HTTP request method");
- }
-
- public String getRequestMethod()
- {
- return method;
- }
-
- public int getResponseCode() throws IOException
- {
- getResponseVals();
- return responseCode;
- }
-
- public String getResponseMessage() throws IOException
- {
- getResponseVals();
- return responseMessage;
- }
-
- private void getResponseVals() throws IOException
- {
- // Response is the first header received from the connection.
- String respField = getHeaderField(0);
- if (! respField.startsWith("HTTP/"))
- {
- // Set to default values on failure.
- responseCode = -1;
- responseMessage = null;
- return;
- }
-
- int firstSpc, nextSpc;
- firstSpc = respField.indexOf(' ');
- nextSpc = respField.indexOf(' ', firstSpc + 1);
- responseMessage = respField.substring(nextSpc + 1);
- String codeStr = respField.substring(firstSpc + 1, nextSpc);
- try
- {
- responseCode = Integer.parseInt(codeStr);
- }
- catch (NumberFormatException e)
- {
- // Set to default values on failure.
- responseCode = -1;
- responseMessage = null;
- }
- if (responseCode == HTTP_NOT_FOUND)
- throw new FileNotFoundException(url.toString());
- else if (responseCode >= 400)
- throw new IOException(url.toString() + " " + respField);
- }
-
- // TODO12: public Permission getPermission() throws IOException
- // {
- // }
-
- // TODO12: public InputStream getErrorStream()
- // {
- // }
-}
diff --git a/libjava/java/net/InetAddress.java b/libjava/java/net/InetAddress.java
deleted file mode 100644
index baf5153e933..00000000000
--- a/libjava/java/net/InetAddress.java
+++ /dev/null
@@ -1,255 +0,0 @@
-// INetAddress.java -- An Internet Protocol (IP) address.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Per Bothner
- * @date January 6, 1999.
- */
-
-/*
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * (The latter turns out to have some errors ...)
- * Status: Believed complete and correct.
- */
-
-public final class InetAddress
-{
- String hostname;
- byte[] address;
-
- InetAddress (byte[] address, String hostname)
- {
- this.address = address;
- this.hostname = hostname;
- }
-
- public boolean isMulticastAddress ()
- {
- int len = address.length;
- if (len == 4)
- return (address[0] & 0xF0) == 0xE0;
- if (len == 16)
- return address[0] == (byte) 0xFF;
- return false;
- }
-
- public String getHostName ()
- {
- if (hostname == null)
- lookup (null, this, false);
- return hostname;
- }
-
- public byte[] getAddress ()
- {
- // An experiment shows that JDK1.2 returns a different byte array each
- // time. This makes sense, in terms of security.
- return (byte[]) address.clone();
- }
-
- /* Helper function due to a CNI limitation. */
- private static InetAddress[] allocArray (int count)
- {
- return new InetAddress[count];
- }
-
- /* Helper function due to a CNI limitation. */
- private static SecurityException checkConnect (String hostname)
- {
- SecurityManager s = System.getSecurityManager();
- if (s == null)
- return null;
- try
- {
- s.checkConnect(hostname, -1);
- return null;
- }
- catch (SecurityException ex)
- {
- return ex;
- }
- }
-
- public String getHostAddress ()
- {
- StringBuffer sbuf = new StringBuffer(40);
- int len = address.length;
- int i = 0;
- if (len == 16)
- { // An IPv6 address.
- for (; ; i += 2)
- {
- if (i >= 16)
- return sbuf.toString();
- int x = ((address[i] & 0xFF) << 8) | (address[i+1] & 0xFF);
- boolean empty = sbuf.length() == 0;
- if (empty)
- {
- if (i == 10 && x == 0xFFFF)
- { // IPv4-mapped IPv6 address.
- sbuf.append(":FFFF:");
- break; // Continue as IPv4 address;
- }
- else if (i == 12)
- { // IPv4-compatible IPv6 address.
- sbuf.append(':');
- break; // Continue as IPv4 address.
- }
- else if (i > 0)
- sbuf.append("::");
- }
- else
- sbuf.append(':');
- if (x != 0 || i >= 14)
- sbuf.append(Integer.toHexString(x).toUpperCase());
- }
- }
- for ( ; ; )
- {
- sbuf.append(address[i] & 0xFF);
- i++;
- if (i == len)
- break;
- sbuf.append('.');
- }
- return sbuf.toString();
- }
-
- public int hashCode()
- {
- // There hashing algorithm is not specified, but a simple experiment
- // shows that it is equal to the address, as a 32-bit big-endian integer.
- int hash = 0;
- int len = address.length;
- int i = len > 4 ? len - 4 : 0;
- for ( ; i < len; i++)
- hash = (hash << 8) | (address[i] & 0xFF);
- return hash;
- }
-
- public boolean equals (Object obj)
- {
- if (obj == null || ! (obj instanceof InetAddress))
- return false;
- // "The Java Class Libraries" 2nd edition says "If a machine has
- // multiple names instances of InetAddress for different name of
- // that same machine are not equal. This is because they have
- // different host names." This violates the description in the
- // JDK 1.2 API documentation. A little experiementation
- // shows that the latter is correct.
- byte[] addr1 = address;
- byte[] addr2 = ((InetAddress) obj).address;
- if (addr1.length != addr2.length)
- return false;
- for (int i = addr1.length; --i >= 0; )
- if (addr1[i] != addr2[i])
- return false;
- return true;
- }
-
- public String toString()
- {
- return getHostName()+'/'+getHostAddress();
- }
-
- /** If host is a valid numeric IP address, return the numeric address.
- * Otherwise, return null. */
- private static native byte[] aton (String host);
-
- private static native InetAddress[] lookup
- (String hostname, InetAddress addr, boolean all);
-
- public static InetAddress getByName (String host)
- throws UnknownHostException
- {
- if (host == null)
- return getLocalHost();
- byte[] address = aton(host);
- if (address != null)
- return new InetAddress(address, null);
- InetAddress iaddr = new InetAddress(null, null);
- lookup(host, iaddr, false);
- return iaddr;
- }
-
- public static InetAddress[] getAllByName (String host)
- throws UnknownHostException
- {
- byte[] address = aton(host);
- if (address != null)
- {
- InetAddress[] result = new InetAddress[1];
- result[0] = new InetAddress(address, null);
- return result;
- }
- return lookup(host, null, true);
- }
-
- private static final byte[] localhostAddress = { 127, 0, 0, 1 };
-
- private static native String getLocalHostname ();
-
- private static InetAddress localhost = null;
-
- public static InetAddress getLocalHost() throws UnknownHostException
- {
- SecurityManager s = System.getSecurityManager();
- // Experimentation shows that JDK1.2 does cache the result.
- // However, if there is a security manager, and the cached result
- // is other than "localhost", we need to check again.
- if (localhost == null
- || (s != null && localhost.address != localhostAddress))
- getLocalHost(s);
- return localhost;
- }
-
- private static synchronized void getLocalHost(SecurityManager s)
- throws UnknownHostException
- {
- // Check the localhost cache again, now that we've synchronized.
- if (s == null && localhost != null)
- return;
- String hostname = getLocalHostname();
- if (s != null)
- {
- // "The Java Class Libraries" suggests that if the security
- // manager disallows getting the local host name, then
- // we use the loopback host.
- // However, the JDK 1.2 API claims to throw SecurityException,
- // which seems to suggest SecurityException is *not* caught.
- // In this case, experimentation shows that former is correct.
- try
- {
- // This is wrong, if the name returned from getLocalHostname()
- // is not a fully qualified name. FIXME.
- s.checkConnect(hostname, -1);
- }
- catch (SecurityException ex)
- {
- hostname = null;
- }
- }
- if (hostname != null)
- {
- try
- {
- localhost = getByName(hostname);
- }
- catch (Exception ex)
- {
- }
- }
- if (localhost == null)
- localhost = new InetAddress (localhostAddress, "localhost");
- }
-}
diff --git a/libjava/java/net/MalformedURLException.java b/libjava/java/net/MalformedURLException.java
deleted file mode 100644
index a5a8db586b2..00000000000
--- a/libjava/java/net/MalformedURLException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// MalformedURLException.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class MalformedURLException extends java.io.IOException
-{
- public MalformedURLException()
- {
- super();
- }
-
- public MalformedURLException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/net/NoRouteToHostException.java b/libjava/java/net/NoRouteToHostException.java
deleted file mode 100644
index dc01688ab3f..00000000000
--- a/libjava/java/net/NoRouteToHostException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// NoRouteToHostException.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class NoRouteToHostException extends SocketException
-{
- public NoRouteToHostException()
- {
- super();
- }
-
- public NoRouteToHostException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/net/PlainSocketImpl.java b/libjava/java/net/PlainSocketImpl.java
deleted file mode 100644
index 19a6439150a..00000000000
--- a/libjava/java/net/PlainSocketImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-// PlainSocketImpl.java - Implementation of SocketImpl.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-import java.io.*;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date February 22, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-class PlainSocketImpl extends SocketImpl
-{
- int fnum = -1;
-
- protected native void create (boolean stream) throws IOException;
-
- protected void connect (String host, int port) throws IOException
- {
- connect(InetAddress.getByName(host), port);
- }
-
- protected native void connect (InetAddress host, int port)
- throws IOException;
-
- protected native void bind (InetAddress host, int port) throws IOException;
-
- protected native void listen (int backlog) throws IOException;
-
- private native void accept (PlainSocketImpl s) throws IOException;
- protected void accept (SocketImpl s) throws IOException
- {
- accept((PlainSocketImpl) s);
- }
-
- private InputStream in;
- private OutputStream out;
-
- protected InputStream getInputStream() throws IOException
- {
- if (in == null)
- in = new FileInputStream (fd);
- return in;
- }
-
- protected OutputStream getOutputStream() throws IOException
- {
- if (out == null)
- out = new FileOutputStream (fd);
- return out;
- }
-
- protected int available () throws IOException
- {
- return in.available();
- }
-
- protected void close () throws IOException
- {
- fd.close();
- }
-}
diff --git a/libjava/java/net/ProtocolException.java b/libjava/java/net/ProtocolException.java
deleted file mode 100644
index f7db6852edd..00000000000
--- a/libjava/java/net/ProtocolException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// ProtocolException.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class ProtocolException extends java.io.IOException
-{
- public ProtocolException()
- {
- super();
- }
-
- public ProtocolException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/net/ServerSocket.java b/libjava/java/net/ServerSocket.java
deleted file mode 100644
index 4dcd9d60346..00000000000
--- a/libjava/java/net/ServerSocket.java
+++ /dev/null
@@ -1,105 +0,0 @@
-// Socket.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date January 6, 1999.
- */
-
-/** Written using on-line Java Platform 1.2 API Specification.
- * Status: I believe all methods are implemented, but many
- * of them just throw an exception.
- */
-
-package java.net;
-import java.io.*;
-
-public class ServerSocket
-{
- static SocketImplFactory factory;
- SocketImpl impl;
-
- public ServerSocket (int port)
- throws java.io.IOException
- {
- this(port, 5);
- }
-
- public ServerSocket (int port, int backlog)
- throws java.io.IOException
- {
- this(port, backlog, InetAddress.getLocalHost());
- }
-
- public ServerSocket (int port, int backlog, InetAddress bindAddr)
- throws java.io.IOException
- {
- if (factory == null)
- this.impl = new PlainSocketImpl();
- else
- this.impl = factory.createSocketImpl();
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkListen(port);
- impl.create(true);
- impl.bind(bindAddr, port);
- impl.listen(backlog);
- }
-
- public InetAddress getInetAddress()
- {
- return impl.getInetAddress();
- }
-
- public int getLocalPort()
- {
- return impl.getLocalPort();
- }
-
- public Socket accept () throws IOException
- {
- Socket s = new Socket(Socket.factory == null ? new PlainSocketImpl()
- : Socket.factory.createSocketImpl());
- implAccept (s);
- return s;
- }
-
- protected final void implAccept (Socket s) throws IOException
- {
- impl.accept(s.impl);
- }
-
- public void close () throws IOException
- {
- impl.close();
- }
-
- public void setSoTimeout (int timeout) throws SocketException
- {
- throw new InternalError("ServerSocket.setSoTimeout not implemented");
- }
-
- public int getSoTimeout () throws SocketException
- {
- throw new InternalError("ServerSocket.getSoTimeout not implemented");
- }
-
- public String toString ()
- {
- return impl.toString();
- }
-
- public static void setSocketFactory (SocketImplFactory fac)
- throws IOException
- {
- factory = fac;
- }
-
-}
diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java
deleted file mode 100644
index 8446b22989e..00000000000
--- a/libjava/java/net/Socket.java
+++ /dev/null
@@ -1,209 +0,0 @@
-// Socket.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date January 6, 1999.
- */
-
-/** Written using on-line Java Platform 1.2 API Specification.
- * Status: I believe all methods are implemented, but many
- * of them just throw an exception.
- */
-
-package java.net;
-import java.io.*;
-
-public class Socket
-{
- static SocketImplFactory factory;
- SocketImpl impl;
-
- protected Socket ()
- {
- }
-
- protected Socket (SocketImpl impl) throws SocketException
- {
- this.impl = impl;
- }
-
- public Socket (String host, int port)
- throws UnknownHostException, IOException
- {
- this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkConnect(host, port);
- impl.create(true);
- impl.connect(host, port);
- }
-
- public Socket (InetAddress address, int port)
- throws IOException
- {
- this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkConnect(address.getHostName(), port);
- impl.create(true);
- impl.connect(address, port);
- }
-
- public Socket (String host, int port,
- InetAddress localAddr, int localPort) throws IOException
- {
- this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkConnect(host, port);
- impl.create(true);
- impl.bind(localAddr, localPort);
- impl.connect(host, port);
- }
-
- public Socket (InetAddress address, int port,
- InetAddress localAddr, int localPort) throws IOException
- {
- this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkConnect(address.getHostName(), port);
- impl.create(true);
- impl.bind(localAddr, localPort);
- impl.connect(address, port);
- }
-
- /**
- * @deprecated Use DatagramSocket instead for UDP transport.
- */
- public Socket (String host, int port, boolean stream) throws IOException
- {
- impl = factory == null ? new PlainSocketImpl()
- : factory.createSocketImpl();
- impl.create(stream);
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkConnect(host, port);
- impl.connect(host, port);
- }
-
- /**
- * @deprecated Use DatagramSocket instead for UDP transport.
- */
- public Socket (InetAddress host, int port, boolean stream) throws IOException
- {
- impl = factory == null ? new PlainSocketImpl()
- : factory.createSocketImpl();
- impl.create(stream);
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkConnect(host.getHostName(), port);
- impl.connect(host, port);
- }
-
- public InetAddress getInetAddress ()
- {
- return impl.getInetAddress();
- }
-
- public InetAddress getLocalAddress ()
- {
- // There doesn't seem to be any way to implement this
- // using a (generic) SocketImpl ... What am I missing?
- throw new InternalError("Socket.getLocalAddres not implemented");
- }
-
- public int getPort ()
- {
- return impl.getPort();
- }
-
- public int getLocalPort ()
- {
- return impl.getLocalPort();
- }
-
- public InputStream getInputStream () throws IOException
- {
- return impl.getInputStream();
- }
-
- public OutputStream getOutputStream () throws IOException
- {
- return impl.getOutputStream();
- }
-
- public void setTcpNoDelay (boolean on) throws SocketException
- {
- throw new InternalError("Socket.setTcpNoDelay not implemented");
- }
-
- public boolean getTcpNoDelay() throws SocketException
- {
- throw new InternalError("Socket.getTcpNoDelay not implemented");
- }
-
- public void setSoLinger(boolean on, int linger) throws SocketException
- {
- throw new InternalError("Socket.setSoLinger not implemented");
- }
-
- public int getSoLinger() throws SocketException
- {
- throw new InternalError("Socket.getSoLinger not implemented");
- }
-
- public void setSoTimeout (int timeout) throws SocketException
- {
- throw new InternalError("Socket.setSoTimeout not implemented");
- }
-
- public int getSoTimeout () throws SocketException
- {
- throw new InternalError("Socket.getSoTimeout not implemented");
- }
-
- public void setSendBufferSize (int size) throws SocketException
- {
- throw new InternalError("Socket.setSendBufferSize not implemented");
- }
-
- public int getSendBufferSize () throws SocketException
- {
- throw new InternalError("Socket.getSendBufferSize not implemented");
- }
-
- public void setReceiveBufferSize (int size) throws SocketException
- {
- throw new InternalError("Socket.setReceiveBufferSize not implemented");
- }
-
- public int getReceiveBufferSize () throws SocketException
- {
- throw new InternalError("Socket.getReceiveBufferSize not implemented");
- }
-
- public void close () throws IOException
- {
- impl.close();
- }
-
- public String toString ()
- {
- return impl.toString();
- }
-
- public static void setSocketImplFactory (SocketImplFactory fac)
- throws IOException
- {
- factory = fac;
- }
-}
diff --git a/libjava/java/net/SocketException.java b/libjava/java/net/SocketException.java
deleted file mode 100644
index 24a50ef3f75..00000000000
--- a/libjava/java/net/SocketException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// SocketException.java - Base class for networking exceptions
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Per Bothner
- * @date January 6, 1999.
- */
-
-/** Written using on-line Java Platform 1.2 API Specification.
- * Believed complete and correct.
- */
-
-public class SocketException extends java.io.IOException
-{
- public SocketException ()
- {
- super();
- }
-
- public SocketException (String s)
- {
- super(s);
- }
-}
diff --git a/libjava/java/net/SocketImpl.java b/libjava/java/net/SocketImpl.java
deleted file mode 100644
index c10ffcc5618..00000000000
--- a/libjava/java/net/SocketImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-// SocketImpl.java - Abstract socket implementation.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-import java.io.*;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date January 6, 1999.
- */
-
-/** Written using on-line Java Platform 1.2 API Specification.
- * Believed complete and correct, except for implementation of toString.
- */
-
-// JDK1.2: needs to implement SocketOptions.
-// JDK1.2: public abstract class SocketImpl implements SocketOptions
-public abstract class SocketImpl
-{
- protected InetAddress address;
-
- protected FileDescriptor fd;
-
- protected int localport;
-
- protected int port;
-
- public SocketImpl ()
- {
- }
-
- protected abstract void create (boolean stream) throws IOException;
-
- protected abstract void connect (String host, int port) throws IOException;
-
- protected abstract void connect (InetAddress host, int port)
- throws IOException;
-
- protected abstract void bind (InetAddress host, int port) throws IOException;
-
- protected abstract void listen (int backlog) throws IOException;
-
- protected abstract void accept (SocketImpl s) throws IOException;
-
- protected abstract InputStream getInputStream() throws IOException;
-
- protected abstract OutputStream getOutputStream() throws IOException;
-
- protected abstract int available () throws IOException;
-
- protected abstract void close () throws IOException;
-
- protected FileDescriptor getFileDescriptor () { return fd; }
-
- protected InetAddress getInetAddress () { return address; }
-
- protected int getPort () { return port; }
-
- protected int getLocalPort () { return localport; }
-
- public String toString ()
- {
- return super.toString(); // FIXME
- }
-}
diff --git a/libjava/java/net/SocketImplFactory.java b/libjava/java/net/SocketImplFactory.java
deleted file mode 100644
index 7631ab8fd1f..00000000000
--- a/libjava/java/net/SocketImplFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-// SocketImplFactory.java - Abstract socket implementation factory.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date January 6, 1999.
- */
-
-/** Written using on-line Java Platform 1.2 API Specification.
- * Status: Believed complete and correct.
- */
-
-public abstract interface SocketImplFactory
-{
- public SocketImpl createSocketImpl ();
-}
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java
deleted file mode 100644
index da56f49dc2d..00000000000
--- a/libjava/java/net/URL.java
+++ /dev/null
@@ -1,341 +0,0 @@
-// URL.java - A Uniform Resource Locator.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-import java.io.*;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 4, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public final class URL implements Serializable
-{
- private String protocol;
- private String host;
- private int port;
- private String file;
- private String ref;
- private URLStreamHandler handler;
- private static Hashtable handlers = new Hashtable();
- private static URLStreamHandlerFactory factory;
-
- public URL(String protocol, String host, int port, String file)
- throws MalformedURLException
- {
- this(protocol, host, port, file, null);
- }
-
- public URL(String protocol, String host, String file)
- throws MalformedURLException
- {
- this(protocol, host, -1, file, null);
- }
-
- // JDK1.2
- public URL(String protocol, String host, int port, String file,
- URLStreamHandler handler) throws MalformedURLException
- {
- if (protocol == null)
- throw new MalformedURLException("null protocol");
- this.protocol = protocol;
-
- if (handler != null)
- {
- // TODO12: Need SecurityManager.checkPermission and
- // TODO12: java.net.NetPermission from JDK 1.2 to be implemented.
- // Throw an exception if an extant security mgr precludes
- // specifying a StreamHandler.
- //
- // SecurityManager s = System.getSecurityManager();
- // if (s != null)
- // s.checkPermission(NetPermission("specifyStreamHandler"));
-
- this.handler = handler;
- }
- else
- this.handler = setURLStreamHandler(protocol);
-
- if (this.handler == null)
- throw new MalformedURLException("Handler for protocol not found");
-
- this.host = host;
-
- this.port = port;
-
- int hashAt = file.indexOf('#');
- if (hashAt < 0)
- {
- this.file = file;
- this.ref = null;
- }
- else
- {
- this.file = file.substring(0, hashAt);
- this.ref = file.substring(hashAt + 1);
- }
- }
-
- public URL(String spec) throws MalformedURLException
- {
- this((URL) null, spec, (URLStreamHandler) null);
- }
-
- public URL(URL context, String spec) throws MalformedURLException
- {
- this(context, spec, (URLStreamHandler) null);
- }
-
- // JDK1.2
- public URL(URL context, String spec, URLStreamHandler handler)
- throws MalformedURLException
- {
- /* A protocol is defined by the doc as the substring before a ':'
- * as long as the ':' occurs before any '/'.
- *
- * If context is null, then spec must be an absolute URL.
- *
- * The relative URL need not specify all the components of a URL.
- * If the protocol, host name, or port number is missing, the value
- * is inherited from the context. A bare file component is appended
- * to the context's file. The optional anchor is not inherited.
- */
-
- int colon;
- int slash;
- if ((colon = spec.indexOf(':')) > 0 &&
- (colon < (slash = spec.indexOf('/')) || slash < 0))
- {
- // Protocol specified in spec string.
- protocol = spec.substring(0, colon);
- if (context != null && context.protocol == protocol)
- {
- // The 1.2 doc specifically says these are copied to the new URL.
- host = context.host;
- port = context.port;
- file = context.file;
- }
- }
- else if (context != null)
- {
- // Protocol NOT specified in spec string.
- // Use context fields (except ref) as a foundation for relative URLs.
- colon = -1;
- protocol = context.protocol;
- host = context.host;
- port = context.port;
- file = context.file;
- }
- else // Protocol NOT specified in spec. and no context available.
- throw new
- MalformedURLException("Absolute URL required with null context");
-
- if (handler != null)
- {
- // TODO12: Need SecurityManager.checkPermission and
- // TODO12: java.net.NetPermission from JDK 1.2 to be implemented.
- // Throw an exception if an extant security mgr precludes
- // specifying a StreamHandler.
- //
- // SecurityManager s = System.getSecurityManager();
- // if (s != null)
- // s.checkPermission(NetPermission("specifyStreamHandler"));
-
- this.handler = handler;
- }
- else
- this.handler = setURLStreamHandler(protocol);
-
- if (this.handler == null)
- throw new MalformedURLException("Handler for protocol not found");
-
- // JDK 1.2 doc for parseURL specifically states that any '#' ref
- // is to be excluded by passing the 'limit' as the indexOf the '#'
- // if one exists, otherwise pass the end of the string.
- int hashAt = spec.indexOf('#', colon + 1);
- this.handler.parseURL(this, spec, colon + 1,
- hashAt < 0 ? spec.length() : hashAt);
- if (hashAt >= 0)
- ref = spec.substring(hashAt + 1);
- }
-
- public boolean equals(Object obj)
- {
- if (obj == null || ! (obj instanceof URL))
- return false;
-
- URL uObj = (URL) obj;
- if (protocol != uObj.protocol || host != uObj.host || port != uObj.port ||
- file != uObj.file || ref != uObj.ref)
- return false;
-
- return true;
- }
-
- public final Object getContent() throws IOException
- {
- return openConnection().getContent();
- }
-
- public String getFile()
- {
- return file;
- }
-
- public String getHost()
- {
- return host;
- }
-
- public int getPort()
- {
- return port;
- }
-
- public String getProtocol()
- {
- return protocol;
- }
-
- public String getRef()
- {
- return ref;
- }
-
- public int hashCode()
- {
- // JCL book says this is computed using (only) the hashcodes of the
- // protocol, host and file fields. Empirical evidence indicates this
- // is probably XOR.
- return (protocol.hashCode() ^ host.hashCode() ^ file.hashCode());
- }
-
- public URLConnection openConnection() throws IOException
- {
- return handler.openConnection(this);
- }
-
- public final InputStream openStream() throws IOException
- {
- return openConnection().getInputStream();
- }
-
- public boolean sameFile(URL other)
- {
- if (other == null || protocol != other.protocol || host != other.host ||
- port != other.port || file != other.file)
- return false;
-
- return true;
- }
-
- protected void set(String protocol, String host, int port, String file,
- String ref)
- {
- // TBD: Theoretically, a poorly written StreamHandler could pass an
- // invalid protocol. It will cause the handler to be set to null
- // thus overriding a valid handler. Callers of this method should
- // be aware of this.
- this.handler = setURLStreamHandler(protocol);
- this.protocol = protocol;
- this.port = port;
- this.host = host;
- this.file = file;
- this.ref = ref;
- }
-
- public static synchronized void
- setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
- {
- if (factory != null)
- throw new Error("URLStreamHandlerFactory already set");
-
- // Throw an exception if an extant security mgr precludes
- // setting the factory.
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkSetFactory();
- factory = fac;
- }
-
- public String toExternalForm()
- {
- // Identical to toString().
- return handler.toExternalForm(this);
- }
-
- public String toString()
- {
- // Identical to toExternalForm().
- return handler.toExternalForm(this);
- }
-
- private URLStreamHandler setURLStreamHandler(String protocol)
- {
- URLStreamHandler handler;
-
- // See if a handler has been cached for this protocol.
- if ((handler = (URLStreamHandler) handlers.get(protocol)) != null)
- return handler;
-
- // If a non-default factory has been set, use it to find the protocol.
- if (factory != null)
- handler = factory.createURLStreamHandler(protocol);
-
- // Non-default factory may have returned null or a factory wasn't set.
- // Use the default search algorithm to find a handler for this protocol.
- if (handler == null)
- {
- // Get the list of packages to check and append our default handler
- // to it, along with the JDK specified default as a last resort.
- // Except in very unusual environments the JDK specified one shouldn't
- // ever be needed (or available).
- String propVal = System.getProperty("java.protocol.handler.pkgs");
- propVal = (propVal == null) ? "" : (propVal + "|");
- propVal = propVal + "gnu.gcj.protocol|sun.net.www.protocol";
-
- StringTokenizer pkgPrefix = new StringTokenizer(propVal, "|");
- do
- {
- String facName = pkgPrefix.nextToken() + "." + protocol +
- ".Handler";
- try
- {
- handler =
- (URLStreamHandler) Class.forName(facName).newInstance();
- }
- catch (Exception e)
- {
- // Can't instantiate; handler still null, go on to next element.
- }
- } while ((handler == null ||
- ! (handler instanceof URLStreamHandler)) &&
- pkgPrefix.hasMoreTokens());
- }
-
- // Update the hashtable with the new protocol handler.
- if (handler != null)
- if (handler instanceof URLStreamHandler)
- handlers.put(protocol, handler);
- else
- handler = null;
-
- return handler;
- }
-}
diff --git a/libjava/java/net/URLConnection.java b/libjava/java/net/URLConnection.java
deleted file mode 100644
index 12e8a8b4cc6..00000000000
--- a/libjava/java/net/URLConnection.java
+++ /dev/null
@@ -1,423 +0,0 @@
-// URLConnection.java - Superclass of all communications links between
-// an application and a URL.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-import java.io.*;
-import java.text.ParsePosition;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Two guessContentTypeFrom... methods not implemented.
- * getContent method assumes content type from response; see comment there.
- */
-
-public abstract class URLConnection
-{
- protected URL url;
- protected boolean doInput = true;
- protected boolean doOutput = false;
- protected boolean allowUserInteraction;
- protected boolean useCaches;
- protected long ifModifiedSince = 0L;
- protected boolean connected = false;
- private static boolean defaultAllowUserInteraction = false;
- private static boolean defaultUseCaches = true;
- private static FileNameMap fileNameMap; // Set by the URLConnection subclass.
- private static ContentHandlerFactory factory;
- private static ContentHandler contentHandler;
- private static Hashtable handlers = new Hashtable();
- private static Locale locale = new Locale("En", "Us", "Unix");
- private static SimpleDateFormat dateFormat1 =
- new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss 'GMT'", locale);
- private static SimpleDateFormat dateFormat2 =
- new SimpleDateFormat("EEEE, dd-MMM-yy hh:mm:ss 'GMT'", locale);
- private static SimpleDateFormat dateFormat3 =
- new SimpleDateFormat("EEE MMM d hh:mm:ss yyyy", locale);
-
- protected URLConnection(URL url)
- {
- this.url = url;
- allowUserInteraction = defaultAllowUserInteraction;
- useCaches = defaultUseCaches;
- }
-
- public abstract void connect() throws IOException;
-
- public URL getURL()
- {
- return url;
- }
-
- public int getContentLength()
- {
- return getHeaderFieldInt("content-length", -1);
- }
-
- public String getContentType()
- {
- return getHeaderField("content-type");
- }
-
- public String getContentEncoding()
- {
- return getHeaderField("content-encoding");
- }
-
- public long getExpiration()
- {
- return getHeaderFieldDate("expiration", 0L);
- }
-
- public long getDate()
- {
- return getHeaderFieldDate("date", 0L);
- }
-
- public long getLastModified()
- {
- return getHeaderFieldDate("last-modified", 0L);
- }
-
- public String getHeaderField(int n)
- {
- // Subclasses for specific protocols override this.
- return null;
- }
-
- public String getHeaderField(String name)
- {
- // Subclasses for specific protocols override this.
- return null;
- }
-
- public int getHeaderFieldInt(String name, int val)
- {
- String str = getHeaderField(name);
- try
- {
- if (str != null)
- val = Integer.parseInt(str);
- }
- catch (NumberFormatException e)
- {
- ; // Do nothing; val is the default.
- }
- return val;
- }
-
- public long getHeaderFieldDate(String name, long val)
- {
- String str = getHeaderField(name);
- if (str != null)
- {
- Date date;
- if ((date = dateFormat1.parse(str, new ParsePosition(0))) != null)
- val = date.getTime();
- else if ((date = dateFormat2.parse(str, new ParsePosition(0))) != null)
- val = date.getTime();
- else if ((date = dateFormat3.parse(str, new ParsePosition(0))) != null)
- val = date.getTime();
- }
- return val;
- }
-
- public String getHeaderFieldKey(int n)
- {
- // Subclasses for specific protocols override this.
- return null;
- }
-
- public Object getContent() throws IOException
- {
- // FIXME: Doc indicates that other criteria should be applied as
- // heuristics to determine the true content type, e.g. see
- // guessContentTypeFromName() and guessContentTypeFromStream methods
- // as well as FileNameMap class & fileNameMap field & get/set methods.
- String cType = getContentType();
- contentHandler = setContentHandler(cType);
- if (contentHandler == null)
- return getInputStream();
-
- return contentHandler.getContent(this);
- }
-
-// TODO12: public Permission getPermission() throws IOException
-// {
-// // Subclasses may override this.
-// return java.security.AllPermission;
-// }
-
- public InputStream getInputStream() throws IOException
- {
- // Subclasses for specific protocols override this.
- throw new UnknownServiceException("Protocol " + url.getProtocol() +
- " does not support input.");
- }
-
- public OutputStream getOutputStream() throws IOException
- {
- // Subclasses for specific protocols override this.
- throw new UnknownServiceException("Protocol " + url.getProtocol() +
- " does not support output.");
- }
-
- public String toString()
- {
- return this.getClass().getName() + ":" + url.toString();
- }
-
- public void setDoInput(boolean doinput)
- {
- if (connected)
- throw new IllegalAccessError("Already connected");
-
- doInput = doinput;
- }
-
- public boolean getDoInput()
- {
- return doInput;
- }
-
- public void setDoOutput(boolean dooutput)
- {
- if (connected)
- throw new IllegalAccessError("Already connected");
-
- doOutput = dooutput;
- if (doOutput)
- doInput = false;
- }
-
- public boolean getDoOutput()
- {
- return doOutput;
- }
-
- public void setAllowUserInteraction(boolean allowuserinteraction)
- {
- if (connected)
- throw new IllegalAccessError("Already connected");
-
- allowUserInteraction = allowuserinteraction;
- }
-
- public boolean getAllowUserInteraction()
- {
- return allowUserInteraction;
- }
-
- public static void
- setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
- {
- defaultAllowUserInteraction = defaultallowuserinteraction;
- }
-
- public static boolean getDefaultAllowUserInteraction()
- {
- return defaultAllowUserInteraction;
- }
-
- public void setUseCaches(boolean usecaches)
- {
- if (connected)
- throw new IllegalAccessError("Already connected");
-
- useCaches = usecaches;
- }
-
- public boolean getUseCaches()
- {
- return useCaches;
- }
-
- public void setIfModifiedSince(long ifmodifiedsince)
- {
- if (connected)
- throw new IllegalAccessError("Already connected");
-
- ifModifiedSince = ifmodifiedsince;
- }
-
- public long getIfModifiedSince()
- {
- return ifModifiedSince;
- }
-
- public boolean getDefaultUseCaches()
- {
- return defaultUseCaches;
- }
-
- public void setDefaultUseCaches(boolean defaultusecaches)
- {
- defaultUseCaches = defaultusecaches;
- }
-
- public void setRequestProperty(String key, String value)
- {
- // Do nothing unless overridden by subclasses that support setting
- // header fields in the request.
- }
-
- public String getRequestProperty(String key)
- {
- // Overridden by subclasses that support reading header fields from the
- // request.
- return null;
- }
-
- public static void setDefaultRequestProperty(String key, String value)
- {
- // Do nothing unless overridden by subclasses that support setting
- // default request properties.
- }
-
- public static String getDefaultRequestProperty(String key)
- {
- // Overridden by subclasses that support default request properties.
- return null;
- }
-
- public static void setContentHandlerFactory(ContentHandlerFactory fac)
- {
- if (factory != null)
- throw new Error("ContentHandlerFactory already set");
-
- // Throw an exception if an extant security mgr precludes
- // setting the factory.
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkSetFactory();
- factory = fac;
- }
-
-// TODO: protected static String guessContentTypeFromName(String fname)
-// {
-// }
-
-// TODO: public static String guessContentTypeFromStream(InputStream is)
-// throws IOException
-// {
-// }
-
-// TODO12: protected void parseURL(URL u, String spec, int start, int limit)
-
- // JDK1.2
- public static FileNameMap getFileNameMap()
- {
- return fileNameMap;
- }
-
- // JDK1.2
- public static void setFileNameMap(FileNameMap map)
- {
- // Throw an exception if an extant security mgr precludes
- // setting the factory.
- SecurityManager s = System.getSecurityManager();
- if (s != null)
- s.checkSetFactory();
-
- fileNameMap = map;
- }
-
- private ContentHandler setContentHandler(String contentType)
- {
- ContentHandler handler;
-
- // No content type so just handle it as the default.
- if (contentType == null || contentType == "")
- return null;
-
- // See if a handler has been cached for this content type.
- // For efficiency, if a content type has been searched for but not
- // found, it will be in the hash table but as the contentType String
- // instead of a ContentHandler.
- if ((handler = (ContentHandler) handlers.get(contentType)) != null)
- if (handler instanceof ContentHandler)
- return handler;
- else
- return null;
-
- // If a non-default factory has been set, use it to find the content type.
- if (factory != null)
- handler = factory.createContentHandler(contentType);
-
- // Non-default factory may have returned null or a factory wasn't set.
- // Use the default search algorithm to find a handler for this content type.
- if (handler == null)
- {
- // Get the list of packages to check and append our default handler
- // to it, along with the JDK specified default as a last resort.
- // Except in very unusual environments the JDK specified one shouldn't
- // ever be needed (or available).
- String propVal = System.getProperty("java.content.handler.pkgs");
- propVal = (propVal == null) ? "" : (propVal + "|");
- propVal = propVal + "gnu.gcj.content|sun.net.www.content";
-
- // Replace the '/' character in the content type with '.' and
- // all other non-alphabetic, non-numeric characters with '_'.
- StringTokenizer pkgPrefix = new StringTokenizer(propVal, "|");
- char[] cArray = contentType.toCharArray();
- for (int i = 0; i < cArray.length; i++)
- {
- if (cArray[i] == '/')
- cArray[i] = '.';
- else if (! ((cArray[i] >= 'A' && cArray[i] <= 'Z') ||
- (cArray[i] >= 'a' && cArray[i] <= 'z') ||
- (cArray[i] >= '0' && cArray[i] <= '9')))
- cArray[i] = '_';
- }
- String contentClass = new String(cArray);
-
- // See if a class of this content type exists in any of the packages.
- do
- {
- String facName = pkgPrefix.nextToken() + "." + contentClass;
- try
- {
- handler =
- (ContentHandler) Class.forName(facName).newInstance();
- }
- catch (Exception e)
- {
- // Can't instantiate; handler still null, go on to next element.
- }
- } while ((handler == null ||
- ! (handler instanceof ContentHandler)) &&
- pkgPrefix.hasMoreTokens());
- }
-
- // Update the hashtable with the new content handler.
- if (handler != null && handler instanceof ContentHandler)
- {
- handlers.put(contentType, handler);
- return handler;
- }
-
- // For efficiency on subsequent searches, put a dummy entry in the hash
- // table for content types that don't have a non-default ContentHandler.
- handlers.put(contentType, contentType);
- return null;
- }
-}
diff --git a/libjava/java/net/URLDecoder.java b/libjava/java/net/URLDecoder.java
deleted file mode 100644
index 40d47b7f131..00000000000
--- a/libjava/java/net/URLDecoder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// URLDecoder.java - Provides a method for decoding strings according to
-// application/x-www-form-urlencoded MIME type.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-import java.io.UnsupportedEncodingException;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date April 22, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification.
- * Status: Believed complete and correct.
- */
-
-// JDK1.2
-public class URLDecoder
-{
- // This method, per the JCL, is conservative in that it encodes
- // some "allowable" characters as % triplets.
- public static String decode(String s) throws Exception
- {
- String str = s.replace('+', ' ');
- String result = "";
- int i;
- int start = 0;
- while ((i = str.indexOf('%', start)) >= 0)
- {
- result = result + str.substring(start, i) +
- (char) Integer.parseInt(str.substring(i + 1, i + 3), 16);
- start = i + 3;
- }
-
- if (start < str.length())
- result = result + str.substring(start);
-
- return result;
- }
-}
diff --git a/libjava/java/net/URLEncoder.java b/libjava/java/net/URLEncoder.java
deleted file mode 100644
index 83295ea57de..00000000000
--- a/libjava/java/net/URLEncoder.java
+++ /dev/null
@@ -1,71 +0,0 @@
-// URLEncoder.java - Provides a method for encoding strings according to
-// application/x-www-form-urlencoded MIME type.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-import java.io.UnsupportedEncodingException;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date April 22, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class URLEncoder
-{
- // This method, per the JCL, is conservative in that it encodes
- // some "allowable" characters as % triplets.
- public static String encode(String s)
- {
- // Get the bytes in ISO-Latin-1 (i.e. 8859_1) per the JCL.
- // Even though it is the default in most cases, it's specified here
- // just in case System.getProperty("file.encoding") is not "8859_1".
- String result = "";
- try
- {
- byte[] buf = s.getBytes("8859_1");
- int start = 0;
- for (int i = 0; i < buf.length; i++)
- // For efficiency, check the byte in order of most likely
- // possibility so as to minimize the number of comparisons.
- // Hence, exclude all the alphanumeric & allowed special chars first.
- if ((buf[i] >= 'a' && buf[i] <= 'z') ||
- (buf[i] >= 'A' && buf[i] <= 'Z') ||
- (buf[i] >= '0' && buf[i] <= '9') ||
- buf[i] == '-' || buf[i] == '_' || buf[i] == '.' || buf[i] == '*')
- ; // This is the most likely case so exclude first for efficiency.
- else if (buf[i] == ' ')
- buf[i] = (byte) '+'; // Replace space char with plus symbol.
- else
- {
- result = result + new String(buf, start, i - start, "8859_1") +
- "%" + Integer.toHexString(((int) buf[i]) & 0xFF);
- start = i + 1;
- }
-
- // Append remainder of allowable chars from the string, if any.
- if (start < buf.length)
- result = result +
- new String(buf, start, buf.length - start, "8859_1");
- }
- catch (UnsupportedEncodingException ex)
- {
- // This should never happen as "8859_1" is the default encoding.
- return s;
- }
-
- return result;
- }
-}
diff --git a/libjava/java/net/URLStreamHandler.java b/libjava/java/net/URLStreamHandler.java
deleted file mode 100644
index ae364e4dbf9..00000000000
--- a/libjava/java/net/URLStreamHandler.java
+++ /dev/null
@@ -1,107 +0,0 @@
-// URLStreamHandler.java - Superclass of all stream protocol handlers.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 4, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public abstract class URLStreamHandler
-{
- protected abstract URLConnection openConnection(URL u)
- throws java.io.IOException;
-
- protected void parseURL(URL u, String spec, int start, int limit)
- {
- String tmpStr;
- String host = ""; // Initialize to null string.
- String file;
- int port = -1;
- int colon;
-
- /* TBD: The JDK 1.2 doc specifically says that limit is the position
- * to stop parsing at and that it will be either the end of the string
- * or the position of '#'; thus the doc infers that this method does
- * not set the ref.
- */
- tmpStr = spec.substring(start, limit);
- int hostEnd = 0;
- if (tmpStr.startsWith("//"))
- {
- int slash = tmpStr.indexOf('/', 2);
- hostEnd = tmpStr.length();
- if (slash >= 0)
- hostEnd = slash;
-
- host = tmpStr.substring(2, hostEnd);
-
- // Look for optional port number.
- if ((colon = host.indexOf(':')) >= 0)
- {
- try
- {
- port = Integer.parseInt(host.substring(colon + 1));
- }
- catch (NumberFormatException e)
- {
- ; // Ignore invalid port values; port is already set to -1.
- }
- host = host.substring(0, colon);
- }
- }
-
- if (hostEnd < tmpStr.length())
- file = ((tmpStr.startsWith("/")) ? "" : "/") + tmpStr.substring(hostEnd);
- else
- file = "/";
-
- u.set(u.getProtocol(), host, port, file, u.getRef());
- }
-
- protected void setURL(URL u, String protocol, String host, int port,
- String file, String ref)
- {
- u.set(protocol, host, port, file, ref);
- }
-
- protected String toExternalForm(URL u)
- {
- String resStr, host, file, ref;
- int port;
-
- resStr = u.getProtocol() + ":";
- host = u.getHost();
- port = u.getPort();
- file = u.getFile();
- ref = u.getRef();
-
- if (! host.equals(""))
- {
- resStr = resStr + "//" + host;
- if (port >= 0)
- resStr = resStr + ":" + port;
- }
-
- resStr = resStr + file;
-
- if (ref != null)
- resStr = resStr + "#" + ref;
-
- return resStr;
- }
-}
diff --git a/libjava/java/net/URLStreamHandlerFactory.java b/libjava/java/net/URLStreamHandlerFactory.java
deleted file mode 100644
index 474d723d4f5..00000000000
--- a/libjava/java/net/URLStreamHandlerFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// URLStreamHandlerFactory.java - Abstract URL Stream Handler factory.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public abstract interface URLStreamHandlerFactory
-{
- public URLStreamHandler createURLStreamHandler(String protocol);
-}
diff --git a/libjava/java/net/UnknownHostException.java b/libjava/java/net/UnknownHostException.java
deleted file mode 100644
index 1c2050923e9..00000000000
--- a/libjava/java/net/UnknownHostException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// UnknownHostException.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Per Bothner
- * @date January 6, 1999.
- */
-
-/*
- * Written using on-line Java Platform 1.2 API Specification.
- * Status: Believed complete and correct.
- */
-
-public class UnknownHostException extends java.io.IOException
-{
- public UnknownHostException ()
- {
- super();
- }
-
- public UnknownHostException (String host)
- {
- super(host);
- }
-}
diff --git a/libjava/java/net/UnknownServiceException.java b/libjava/java/net/UnknownServiceException.java
deleted file mode 100644
index dba798e0e80..00000000000
--- a/libjava/java/net/UnknownServiceException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// UnknownServiceException.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.net;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date March 5, 1999.
- */
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class UnknownServiceException extends java.io.IOException
-{
- public UnknownServiceException()
- {
- super();
- }
-
- public UnknownServiceException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/net/natInetAddress.cc b/libjava/java/net/natInetAddress.cc
deleted file mode 100644
index c591ea6f89e..00000000000
--- a/libjava/java/net/natInetAddress.cc
+++ /dev/null
@@ -1,277 +0,0 @@
-// natClass.cc - Implementation of java.lang.Class native methods.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <errno.h>
-
-#include <sys/param.h>
-#include <sys/types.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/net/InetAddress.h>
-#include <java/net/UnknownHostException.h>
-#include <java/lang/SecurityException.h>
-
-#if defined(HAVE_UNAME) && ! defined(HAVE_GETHOSTNAME)
-#include <sys/utsname.h>
-#endif
-
-#ifndef HAVE_GETHOSTNAME_DECL
-extern "C" int gethostname (char *name, int namelen);
-#endif
-
-jbyteArray
-java::net::InetAddress::aton (jstring host)
-{
- char *hostname;
- char buf[100];
- int len = JvGetStringUTFLength(host);
- if (len < 100)
- hostname = buf;
- else
- hostname = (char*) _Jv_AllocBytesChecked (len+1);
- JvGetStringUTFRegion (host, 0, host->length(), hostname);
- buf[len] = '\0';
- char* bytes = NULL;
- int blen = 0;
-#ifdef HAVE_INET_ATON
- struct in_addr laddr;
- if (inet_aton (hostname, &laddr))
- {
- bytes = (char*) &laddr;
- len = 4;
- }
-#elif defined(HAVE_INET_ADDR)
- in_addr_t laddr = inet_addr (hostname);
- if (laddr != (in_addr_t)(-1))
- {
- bytes = (char*) &laddr;
- len = 4;
- }
-#endif
-#ifdef HAVE_INET_PTON
- char inet6_addr[16];
- if (len == 0 && inet_pton (AF_INET6, hostname, inet6_addr) > 0)
- {
- bytes = inet6_addr;
- len = 16;
- }
-#endif
- if (blen == 0)
- return NULL;
- jbyteArray result = JvNewByteArray (len);
- memcpy (elements (result), bytes, blen);
- return result;
-}
-
-
-JArray<java::net::InetAddress*> *
-java::net::InetAddress::lookup (jstring host, java::net::InetAddress* iaddr,
- jboolean all)
-{
- struct hostent *hptr = NULL;
-#if defined (HAVE_GETHOSTBYNAME_R) || defined (HAVE_GETHOSTBYADDR_R)
- struct hostent hent_r;
-#if defined (__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0
- // glibc 2.0.7 has a bug where gethostbyname_r won't return an error
- // if the buffer is too small. So in this case we size the buffer
- // the same way that glibc does. This is fixed in glibc 2.1.
- char fixed_buffer[1024];
-#else
- char fixed_buffer[200];
-#endif
- char *buffer_r = fixed_buffer;
- int size_r = sizeof (fixed_buffer);
-#endif
-
- if (host != NULL)
- {
- char *hostname;
- char buf[100];
- int len = JvGetStringUTFLength(host);
- if (len < 100)
- hostname = buf;
- else
- hostname = (char*) _Jv_AllocBytesChecked (len+1);
- JvGetStringUTFRegion (host, 0, host->length(), hostname);
- buf[len] = '\0';
-#ifdef HAVE_GETHOSTBYNAME_R
- int herr = ERANGE;
- while (hptr == NULL && herr == ERANGE)
- {
- int ok;
-#ifdef GETHOSTBYNAME_R_RETURNS_INT
- ok = ! gethostbyname_r (hostname, &hent_r, buffer_r, size_r,
- &hptr, &herr);
-#else
- hptr = gethostbyname_r (hostname, &hent_r, buffer_r, size_r, &herr);
- ok = hptr != NULL;
-#endif /* GETHOSTNAME_R_RETURNS_INT */
- if (! ok && herr == ERANGE)
- {
- size_r *= 2;
- buffer_r = (char *) _Jv_AllocBytesChecked (size_r);
- }
- }
-#else
- // FIXME: this is insufficient if some other piece of code calls
- // this gethostbyname.
- JvSynchronize sync (java::net::InetAddress::localhostAddress);
- hptr = gethostbyname (hostname);
-#endif /* HAVE_GETHOSTBYNAME_R */
- }
- else
- {
- jbyteArray bytes = iaddr->address;
- char *chars = (char*) elements (bytes);
- int len = bytes->length;
- int type;
- char *val;
- if (len == 4)
- {
- val = chars;
- type = AF_INET;
- }
-#ifdef HAVE_INET6
- else if (len == 16)
- {
- val = (char *) &chars;
- type = AF_INET6;
- }
-#endif /* HAVE_INET6 */
- else
- JvFail ("unrecognized size");
-
-#ifdef HAVE_GETHOSTBYADDR_R
- int herr = ERANGE;
- while (hptr == NULL && herr == ERANGE)
- {
- int ok;
-#ifdef GETHOSTBYADDR_R_RETURNS_INT
- ok = ! gethostbyaddr_r (val, len, type, &hent_r,
- buffer_r, size_r, &hptr, &herr);
-#else
- hptr = gethostbyaddr_r (val, len, type, &hent_r,
- buffer_r, size_r, &herr);
- ok = hptr != NULL;
-#endif /* GETHOSTBYADDR_R_RETURNS_INT */
- if (! ok && herr == ERANGE)
- {
- size_r *= 2;
- buffer_r = (char *) _Jv_AllocBytesChecked (size_r);
- }
- }
-#else /* HAVE_GETHOSTBYADDR_R */
- // FIXME: this is insufficient if some other piece of code calls
- // this gethostbyaddr.
- JvSynchronize sync (java::net::InetAddress::localhostAddress);
- hptr = gethostbyaddr (val, len, type);
-#endif /* HAVE_GETHOSTBYADDR_R */
- }
- if (hptr != NULL)
- {
- host = JvNewStringUTF (hptr->h_name);
- java::lang::SecurityException *ex = checkConnect (host);
- if (ex != NULL)
- {
- if (iaddr == NULL || iaddr->address == NULL)
- JvThrow (ex);
- hptr = NULL;
- }
- }
- if (hptr == NULL)
- {
- if (iaddr != NULL && iaddr->address != NULL)
- {
- iaddr->hostname = iaddr->getHostAddress();
- return NULL;
- }
- else
- JvThrow (new java::net::UnknownHostException(host));
- }
- int count;
- if (all)
- {
- char** ptr = hptr->h_addr_list;
- count = 0;
- while (*ptr++) count++;
- }
- else
- count = 1;
- JArray<java::net::InetAddress*> *result;
- java::net::InetAddress** iaddrs;
- if (all)
- {
- result = java::net::InetAddress::allocArray (count);
- iaddrs = elements (result);
- }
- else
- {
- result = NULL;
- iaddrs = &iaddr;
- }
-
- for (int i = 0; i < count; i++)
- {
- if (iaddrs[i] == NULL)
- iaddrs[i] = new java::net::InetAddress (NULL, NULL);
- if (i == 0)
- iaddrs[0]->hostname = host;
- if (iaddrs[i]->address == NULL)
- {
- char *bytes = hptr->h_addr_list[i];
- iaddr->address = JvNewByteArray (hptr->h_length);
- memcpy (elements (iaddr->address), bytes, hptr->h_length);
- }
- }
- return result;
-}
-
-jstring
-java::net::InetAddress::getLocalHostname ()
-{
- char *chars;
-#ifdef HAVE_GETHOSTNAME
- char buffer[MAXHOSTNAMELEN];
- if (gethostname (buffer, MAXHOSTNAMELEN))
- return NULL;
- chars = buffer;
-#elif HAVE_UNAME
- struct utsname stuff;
- if (uname (&stuff) != 0)
- return NULL:
- chars = stuff.nodename;
-#else
- return NULL;
-#endif
- // It is admittedly non-optimal to convert the hostname to Unicode
- // only to convert it back in getByName, but simplicity wins. Note
- // that unless there is a SecurityManager, we only get called once
- // anyway, thanks to the InetAddress.localhost cache.
- return JvNewStringUTF (chars);
-}
diff --git a/libjava/java/net/natPlainSocketImpl.cc b/libjava/java/net/natPlainSocketImpl.cc
deleted file mode 100644
index 5926ab679b7..00000000000
--- a/libjava/java/net/natPlainSocketImpl.cc
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <cni.h>
-#include <java/io/IOException.h>
-#include <java/io/FileDescriptor.h>
-#include <java/net/BindException.h>
-#include <java/net/ConnectException.h>
-#include <java/net/PlainSocketImpl.h>
-#include <java/net/InetAddress.h>
-
-#ifndef HAVE_SOCKLEN_T
-typedef int socklen_t;
-#endif
-
-union SockAddr
-{
- struct sockaddr_in address;
-#ifdef HAVE_INET6
- struct sockaddr_in6 address6;
-#endif
-};
-
-void
-java::net::PlainSocketImpl::create (jboolean stream)
-{
- int sock = ::socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
- if (sock < 0)
- {
- char msg[100];
- char* strerr = strerror (errno);
- sprintf (msg, "SocketImpl.create: %.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
- }
- fnum = sock;
- fd = new java::io::FileDescriptor (sock);
-}
-
-void
-java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
-{
- union SockAddr u;
- jbyteArray haddress = host->address;
- jbyte *bytes = elements (haddress);
- int len = haddress->length;
- struct sockaddr *ptr = (struct sockaddr *) &u.address;
- if (len == 4)
- {
- u.address.sin_family = AF_INET;
- memcpy (&u.address.sin_addr, bytes, len);
- len = sizeof (struct sockaddr_in);
- u.address.sin_port = htons (lport);
- }
-#ifdef HAVE_INET6
- else if (len == 16)
- {
- u.address6.sin6_family = AF_INET6;
- memcpy (&u.address6.sin6_addr, bytes, len);
- len = sizeof (struct sockaddr_in6);
- u.address6.sin6_port = htons (lport);
- }
-#endif
- else
- goto error;
- if (::bind (fnum, ptr, len) == 0)
- {
- address = host;
- localport = lport;
- return;
- }
- error:
- char msg[100];
- char* strerr = strerror (errno);
- sprintf (msg, "SocketImpl.bind: %.*s", 80, strerr);
- JvThrow (new java::net::BindException (JvNewStringUTF (msg)));
-}
-
-void
-java::net::PlainSocketImpl::connect (java::net::InetAddress *host, jint rport)
-{
- union SockAddr u;
- jbyteArray haddress = host->address;
- jbyte *bytes = elements (haddress);
- int len = haddress->length;
- struct sockaddr *ptr = (struct sockaddr *) &u.address;
- if (len == 4)
- {
- u.address.sin_family = AF_INET;
- memcpy (&u.address.sin_addr, bytes, len);
- len = sizeof (struct sockaddr_in);
- u.address.sin_port = htons (rport);
- }
-#ifdef HAVE_INET6
- else if (len == 16)
- {
- u.address6.sin6_family = AF_INET6;
- memcpy (&u.address6.sin6_addr, bytes, len);
- len = sizeof (struct sockaddr_in6);
- u.address6.sin6_port = htons (rport);
- }
-#endif
- else
- goto error;
- if (::connect (fnum, ptr, len) == 0)
- {
- address = host;
- port = rport;
- return;
- }
- error:
- char msg[100];
- char* strerr = strerror (errno);
- sprintf (msg, "SocketImpl.connect: %.*s", 80, strerr);
- JvThrow (new java::net::ConnectException (JvNewStringUTF (msg)));
-}
-
-void
-java::net::PlainSocketImpl::listen (jint backlog)
-{
- if (::listen (fnum, backlog) != 0)
- {
- char msg[100];
- char* strerr = strerror (errno);
- sprintf (msg, "SocketImpl.listen: %.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
- }
-}
-
-void
-java::net::PlainSocketImpl::accept (java::net::PlainSocketImpl *s)
-{
- union SockAddr u;
- socklen_t addrlen = sizeof(u);
- int new_socket = ::accept (fnum, (sockaddr*) &u, &addrlen);
- if (new_socket < 0)
- goto error;
- jbyteArray raddr;
- jint rport;
- if (u.address.sin_family == AF_INET)
- {
- raddr = JvNewByteArray (4);
- memcpy (elements (raddr), &u.address.sin_addr, 4);
- rport = ntohs (u.address.sin_port);
- }
-#ifdef HAVE_INET6
- else if (u.address.sin_family == AF_INET6)
- {
- raddr = JvNewByteArray (16);
- memcpy (elements (raddr), &u.address6.sin6_addr, 16);
- rport = ntohs (u.address6.sin6_port);
- }
-#endif
- else
- goto error;
- s->fnum = new_socket;
- s->localport = localport;
- s->address = new InetAddress (raddr, NULL);
- s->port = rport;
- s->fd = new java::io::FileDescriptor (new_socket);
- return;
- error:
- char msg[100];
- char* strerr = strerror (errno);
- sprintf (msg, "SocketImpl.accept: %.*s", 80, strerr);
- JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
-}
diff --git a/libjava/java/security/MessageDigest.java b/libjava/java/security/MessageDigest.java
deleted file mode 100644
index 00e946a0047..00000000000
--- a/libjava/java/security/MessageDigest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-// MessageDigest.java
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.security;
-
-// FIXME: This is just a stub for a proper implementation.
-public abstract class MessageDigest
-{
- private static final byte[] dummy = { 0 };
-
- public static MessageDigest getInstance(String algorithm)
- throws NoSuchAlgorithmException
- {
- Object obj;
-
- try {
- obj = Class.forName(algorithm).newInstance();
- } catch (Exception e) {
- throw new NoSuchAlgorithmException("algorithm "
- + algorithm
- + " not available.");
- }
-
- return (MessageDigest) obj;
- }
-
- public void update(byte input)
- {
- // FIXME
- }
-
- public void update(byte[] input, int offset, int len)
- {
- // FIXME
- }
-
- public void update(byte[] input)
- {
- // FIXME
- }
-
- public byte[] digest()
- {
- return dummy;
- }
-
- public byte[] digest(byte[] input)
- {
- update(input);
- return digest();
- }
-
- public void reset()
- {
- // FIXME
- }
-}
diff --git a/libjava/java/security/NoSuchAlgorithmException.java b/libjava/java/security/NoSuchAlgorithmException.java
deleted file mode 100644
index 5003a2eeb51..00000000000
--- a/libjava/java/security/NoSuchAlgorithmException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.security;
-
-public class NoSuchAlgorithmException extends Exception
-{
- public NoSuchAlgorithmException()
- {
- super();
- }
-
- public NoSuchAlgorithmException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/text/BreakIterator.java b/libjava/java/text/BreakIterator.java
deleted file mode 100644
index 0e09d456679..00000000000
--- a/libjava/java/text/BreakIterator.java
+++ /dev/null
@@ -1,160 +0,0 @@
-// BreakIterator.java - Iterate over logical breaks in text.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.io.Serializable;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 19, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.1.
- */
-
-public abstract class BreakIterator implements Cloneable, Serializable
-{
- // The value was discovered by writing a test program.
- public static final int DONE = -1;
-
- protected BreakIterator ()
- {
- }
-
- public abstract int current ();
- public abstract int first ();
- public abstract int following (int pos);
-
- public static synchronized Locale[] getAvailableLocales ()
- {
- // FIXME.
- return null;
- }
-
- private static BreakIterator getInstance (String type, Locale loc)
- {
- String className;
- try
- {
- ResourceBundle res
- = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
- className = res.getString(type);
- }
- catch (MissingResourceException x)
- {
- return null;
- }
- try
- {
- Class k = Class.forName(className);
- return (BreakIterator) k.newInstance();
- }
- catch (ClassNotFoundException x1)
- {
- return null;
- }
- catch (InstantiationException x2)
- {
- return null;
- }
- catch (IllegalAccessException x3)
- {
- return null;
- }
- }
-
- public static BreakIterator getCharacterInstance ()
- {
- return getCharacterInstance (Locale.getDefault());
- }
-
- public static BreakIterator getCharacterInstance (Locale loc)
- {
- BreakIterator r = getInstance ("CharacterIterator", loc);
- if (r == null)
- r = new gnu.gcj.text.CharacterBreakIterator ();
- return r;
- }
-
- public static BreakIterator getLineInstance ()
- {
- return getLineInstance (Locale.getDefault());
- }
-
- public static BreakIterator getLineInstance (Locale loc)
- {
- BreakIterator r = getInstance ("LineIterator", loc);
- if (r == null)
- r = new gnu.gcj.text.LineBreakIterator ();
- return r;
- }
-
- public static BreakIterator getSentenceInstance ()
- {
- return getSentenceInstance (Locale.getDefault());
- }
-
- public static BreakIterator getSentenceInstance (Locale loc)
- {
- BreakIterator r = getInstance ("SentenceIterator", loc);
- if (r == null)
- r = new gnu.gcj.text.SentenceBreakIterator ();
- return r;
- }
-
- public abstract CharacterIterator getText ();
-
- public static BreakIterator getWordInstance ()
- {
- return getWordInstance (Locale.getDefault());
- }
-
- public static BreakIterator getWordInstance (Locale loc)
- {
- BreakIterator r = getInstance ("WordIterator", loc);
- if (r == null)
- r = new gnu.gcj.text.WordBreakIterator ();
- return r;
- }
-
- public boolean isBoundary (int pos)
- {
- if (pos == 0)
- return true;
- return following (pos - 1) == pos;
- }
-
- public abstract int last ();
- public abstract int next ();
- public abstract int next (int n);
-
- public int preceding (int pos)
- {
- if (following (pos) == DONE)
- last ();
- while (previous () >= pos)
- ;
- return current ();
- }
-
- public abstract int previous ();
-
- public void setText (String newText)
- {
- setText (new StringCharacterIterator (newText));
- }
-
- public abstract void setText (CharacterIterator newText);
-}
diff --git a/libjava/java/text/CharacterIterator.java b/libjava/java/text/CharacterIterator.java
deleted file mode 100644
index d34e988a154..00000000000
--- a/libjava/java/text/CharacterIterator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-// CharacterIterator.java - Protocol for iterating over Unicode characters.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date February 22, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.1.
- */
-
-public interface CharacterIterator extends Cloneable
-{
- public abstract Object clone ();
- public abstract char current ();
- public abstract char first ();
- public abstract int getBeginIndex ();
- public abstract int getEndIndex ();
- public abstract int getIndex ();
- public abstract char last ();
- public abstract char next ();
- public abstract char previous ();
- public abstract char setIndex (int idx);
-
- public static final char DONE = '\uffff';
-}
diff --git a/libjava/java/text/ChoiceFormat.java b/libjava/java/text/ChoiceFormat.java
deleted file mode 100644
index bed62a75e53..00000000000
--- a/libjava/java/text/ChoiceFormat.java
+++ /dev/null
@@ -1,310 +0,0 @@
-// ChoiceFormat.java - Formatter for `switch'-like string substitution.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.Vector;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 9, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.1.
- */
-
-public class ChoiceFormat extends NumberFormat
-{
- // Note: we assume the same kind of quoting rules apply here.
- // This isn't explicitly documented. But for instance we accept
- // '#' as a literal hash in a format string.
- public void applyPattern (String newPattern)
- {
- int index = 0, max = newPattern.length();
- Vector stringVec = new Vector ();
- Vector limitVec = new Vector ();
- StringBuffer buf = new StringBuffer ();
-
- while (true)
- {
- // Find end of double.
- int dstart = index;
- while (index < max)
- {
- char c = newPattern.charAt(index);
- if (c == '#' || c == '\u2064' || c == '<')
- break;
- ++index;
- }
-
- if (index == max)
- throw new IllegalArgumentException ("unexpected end of text");
- Double d = new Double (newPattern.substring(dstart, index));
-
- if (newPattern.charAt(index) == '<')
- d = new Double (nextDouble (d.doubleValue()));
-
- limitVec.addElement(d);
-
- // Scan text.
- ++index;
- buf.setLength(0);
- while (index < max)
- {
- char c = newPattern.charAt(index);
- if (c == '\'' && index < max + 1
- && newPattern.charAt(index + 1) == '\'')
- {
- buf.append(c);
- ++index;
- }
- else if (c == '\'' && index < max + 2)
- {
- buf.append(newPattern.charAt(index + 1));
- index += 2;
- }
- else if (c == '|')
- break;
- else
- buf.append(c);
- ++index;
- }
-
- stringVec.addElement(buf.toString());
- if (index == max)
- break;
- ++index;
- }
-
- strings = new String[stringVec.size()];
- stringVec.copyInto(strings);
-
- limits = new double[limitVec.size()];
- for (int i = 0; i < limits.length; ++i)
- {
- Double d = (Double) limitVec.elementAt(i);
- limits[i] = d.doubleValue();
- }
- }
-
- public ChoiceFormat (String newPattern)
- {
- super ();
- applyPattern (newPattern);
- }
-
- public ChoiceFormat (double[] limits, String[] strings)
- {
- super ();
- setChoices (limits, strings);
- }
-
- public Object clone ()
- {
- return new ChoiceFormat (limits, strings);
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof ChoiceFormat))
- return false;
- ChoiceFormat cf = (ChoiceFormat) obj;
- if (limits.length != cf.limits.length)
- return false;
- for (int i = limits.length - 1; i >= 0; --i)
- {
- if (limits[i] != cf.limits[i]
- || !strings[i].equals(cf.strings[i]))
- return false;
- }
- return true;
- }
-
- public StringBuffer format (long num, StringBuffer appendBuf,
- FieldPosition pos)
- {
- return format ((double) num, appendBuf, pos);
- }
-
- public StringBuffer format (double num, StringBuffer appendBuf,
- FieldPosition pos)
- {
- if (limits.length == 0)
- return appendBuf;
-
- int index = 0;
- if (! Double.isNaN(num) && num >= limits[0])
- {
- for (; index < limits.length - 1; ++index)
- {
- if (limits[index] <= num
- && index != limits.length - 2
- && num < limits[index + 1])
- break;
- }
- }
-
- return appendBuf.append(strings[index]);
- }
-
- public Object[] getFormats ()
- {
- return (Object[]) strings.clone();
- }
-
- public double[] getLimits ()
- {
- return (double[]) limits.clone();
- }
-
- public int hashCode ()
- {
- int hash = 0;
- for (int i = 0; i < limits.length; ++i)
- {
- long v = Double.doubleToLongBits(limits[i]);
- hash ^= (v ^ (v >>> 32));
- hash ^= strings[i].hashCode();
- }
- return hash;
- }
-
- public static final double nextDouble (double d)
- {
- return nextDouble (d, true);
- }
-
- public static final double nextDouble (double d, boolean next)
- {
- if (Double.isInfinite(d) || Double.isNaN(d))
- return d;
-
- long bits = Double.doubleToLongBits(d);
-
- long mantMask = (1L << mantissaBits) - 1;
- long mantissa = bits & mantMask;
-
- long expMask = (1L << exponentBits) - 1;
- long exponent = (bits >>> mantissaBits) & expMask;
-
- if (next ^ (bits < 0)) // Increment magnitude
- {
- if (mantissa == (1L << mantissaBits) - 1)
- {
- mantissa = 0L;
- exponent++;
-
- // Check for absolute overflow.
- if (exponent >= (1L << mantissaBits))
- return (bits > 0) ? Double.POSITIVE_INFINITY
- : Double.NEGATIVE_INFINITY;
- }
- else
- mantissa++;
- }
- else // Decrement magnitude
- {
- if (exponent == 0L && mantissa == 0L)
- {
- // The only case where there is a change of sign
- return next ? Double.MIN_VALUE : -Double.MIN_VALUE;
- }
- else
- {
- if (mantissa == 0L)
- {
- mantissa = (1L << mantissaBits) - 1;
- exponent--;
- }
- else
- mantissa--;
- }
- }
-
- long result = bits < 0 ? 1 : 0;
- result = (result << exponentBits) | exponent;
- result = (result << mantissaBits) | mantissa;
- return Double.longBitsToDouble(result);
- }
-
- public Number parse (String sourceStr, ParsePosition pos)
- {
- int index = pos.getIndex();
- for (int i = 0; i < limits.length; ++i)
- {
- if (sourceStr.startsWith(strings[i], index))
- {
- pos.setIndex(index + strings[i].length());
- return new Double (limits[i]);
- }
- }
- pos.setErrorIndex(index);
- return new Double (Double.NaN);
- }
-
- public static final double previousDouble (double d)
- {
- return nextDouble (d, false);
- }
-
- public void setChoices (double[] limits, String[] strings)
- {
- if (limits == null || strings == null)
- throw new NullPointerException ();
- if (limits.length != strings.length)
- throw new IllegalArgumentException ();
- this.strings = (String[]) strings.clone();
- this.limits = (double[]) limits.clone();
- }
-
- private final void quoteString (StringBuffer dest, String text)
- {
- int max = text.length();
- for (int i = 0; i < max; ++i)
- {
- char c = text.charAt(i);
- if (c == '\'')
- {
- dest.append(c);
- dest.append(c);
- }
- else if (c == '#' || c == '|' || c == '\u2064' || c == '<')
- {
- dest.append('\'');
- dest.append(c);
- dest.append('\'');
- }
- else
- dest.append(c);
- }
- }
-
- public String toPattern ()
- {
- StringBuffer result = new StringBuffer ();
- for (int i = 0; i < limits.length; ++i)
- {
- result.append(limits[i]);
- result.append('#');
- quoteString (result, strings[i]);
- }
- return result.toString();
- }
-
- // Formats and limits.
- private String[] strings;
- private double[] limits;
-
- // Number of mantissa bits in double.
- private static final int mantissaBits = 52;
- // Number of exponent bits in a double.
- private static final int exponentBits = 11;
-}
diff --git a/libjava/java/text/CollationElementIterator.java b/libjava/java/text/CollationElementIterator.java
deleted file mode 100644
index 15e60560189..00000000000
--- a/libjava/java/text/CollationElementIterator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-// CollationElementIterator.java - Iterate over decomposed characters.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 25, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct to JDK 1.1.
- */
-
-public final class CollationElementIterator
-{
- public static final int NULLORDER = 0xffffffff;
-
- public int next ()
- {
- if (index == text.length())
- return NULLORDER;
- return collator.ceiNext(this);
- }
-
- // This one returns int while the others return short.
- public static final int primaryOrder (int order)
- {
- // From the JDK 1.2 spec.
- return order >>> 16;
- }
-
- public void reset ()
- {
- index = 0;
- }
-
- public static final short secondaryOrder (int order)
- {
- // From the JDK 1.2 spec.
- return (order >>> 8) & 255;
- }
-
- public static final short tertiaryOrder (int order)
- {
- // From the JDK 1.2 spec.
- return order & 255;
- }
-
- // Non-public constructor.
- CollationElementIterator (String text, RuleBasedCollator collator)
- {
- this.text = text;
- this.index = 0;
- this.lookahead_set = false;
- this.lookahead = 0;
- this.collator = collator;
- }
-
- // Text over which we iterate.
- String text;
-
- // Index of next character to examine in TEXT.
- int index;
-
- // A piece of lookahead.
- boolean lookahead_set;
- int lookahead;
-
- // The RuleBasedCollator which created this object.
- RuleBasedCollator collator;
-}
diff --git a/libjava/java/text/CollationKey.java b/libjava/java/text/CollationKey.java
deleted file mode 100644
index 05a9932206f..00000000000
--- a/libjava/java/text/CollationKey.java
+++ /dev/null
@@ -1,104 +0,0 @@
-// CollationKey.java - Sort key for locale-sensitive String.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 25, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public final class CollationKey
-{
- public int compareTo (CollationKey target)
- {
- int max = Math.min(key.length, target.key.length);
-
- for (int i = 0; i < max; ++i)
- {
- if (key[i] != target.key[i])
- return key[i] - target.key[i];
- }
-
- return key.length - target.key.length;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof CollationKey))
- return false;
-
- CollationKey ck = (CollationKey) obj;
-
- if (key.length != ck.key.length)
- return false;
-
- for (int i = 0; i < key.length; ++i)
- if (key[i] != ck.key[i])
- return false;
-
- return true;
- }
-
- public String getSourceString ()
- {
- return originalText;
- }
-
- public int hashCode ()
- {
- // We just follow BitSet instead of thinking up something new.
- long h = originalText.hashCode();
- for (int i = key.length - 1; i >= 0; --i)
- h ^= key[i] * (i + 1);
- return (int) ((h >> 32) ^ h);
- }
-
- public byte[] toByteArray ()
- {
- byte[] r = new byte[4 * key.length];
- int off = 0;
- for (int i = 0; i < key.length; ++i)
- {
- r[off++] = (byte) ((key[i] >>> 24) & 255);
- r[off++] = (byte) ((key[i] >>> 16) & 255);
- r[off++] = (byte) ((key[i] >>> 8) & 255);
- r[off++] = (byte) ((key[i] ) & 255);
- }
- return r;
- }
-
- CollationKey (CollationElementIterator iter, String originalText,
- int strength)
- {
- this.originalText = originalText;
-
- // Compute size of required array.
- int size = 0;
- while (RuleBasedCollator.next(iter, strength)
- != CollationElementIterator.NULLORDER)
- ++size;
-
- iter.reset();
- key = new int[size];
- for (int i = 0; i < size; i++)
- key[i] = RuleBasedCollator.next(iter, strength);
- }
-
- // Original string.
- private String originalText;
-
- // Collation key.
- private int[] key;
-}
diff --git a/libjava/java/text/Collator.java b/libjava/java/text/Collator.java
deleted file mode 100644
index ad7a5ca30c1..00000000000
--- a/libjava/java/text/Collator.java
+++ /dev/null
@@ -1,130 +0,0 @@
-// Collator.java - Locale-sensitive string comparison.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.io.Serializable;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 18, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Mostly complete, but parts stubbed out. Look for FIXME.
- */
-
-public abstract class Collator implements Cloneable, Serializable
-{
- public static final int NO_DECOMPOSITION = 0;
- public static final int CANONCIAL_DECOMPOSITION = 1;
- public static final int FULL_DECOMPOSITION = 2;
-
- public static final int PRIMARY = 0;
- public static final int SECONDARY = 1;
- public static final int TERTIARY = 2;
- public static final int IDENTICAL = 3;
-
- protected Collator ()
- {
- strength = TERTIARY;
- decmp = CANONCIAL_DECOMPOSITION;
- }
-
- public abstract int compare (String source, String target);
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof Collator))
- return false;
- Collator c = (Collator) obj;
- return decmp == c.decmp && strength == c.strength;
- }
-
- public boolean equals (String source, String target)
- {
- return compare (source, target) == 0;
- }
-
- public static synchronized Locale[] getAvailableLocales ()
- {
- // FIXME.
- return null;
- }
-
- public abstract CollationKey getCollationKey (String source);
-
- public synchronized int getDecomposition ()
- {
- return decmp;
- }
-
- public static Collator getInstance ()
- {
- return getInstance (Locale.getDefault());
- }
-
- public static Collator getInstance (Locale loc)
- {
- ResourceBundle res;
- String pattern;
- try
- {
- res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
- pattern = res.getString("collatorRule");
- }
- catch (MissingResourceException x)
- {
- return null;
- }
- try
- {
- return new RuleBasedCollator (pattern);
- }
- catch (ParseException x)
- {
- return null;
- }
- }
-
- public synchronized int getStrength ()
- {
- return strength;
- }
-
- public abstract int hashCode ();
-
- public synchronized void setDecomposition (int mode)
- {
- if (mode != NO_DECOMPOSITION
- && mode != CANONCIAL_DECOMPOSITION
- && mode != FULL_DECOMPOSITION)
- throw new IllegalArgumentException ();
- decmp = mode;
- }
-
- public synchronized void setStrength (int strength)
- {
- if (strength != PRIMARY && strength != SECONDARY
- && strength != TERTIARY && strength != IDENTICAL)
- throw new IllegalArgumentException ();
- this.strength = strength;
- }
-
- // Decompose a single character and append results to the buffer.
- protected native final void decomposeCharacter (char c, StringBuffer buf);
-
- // These names are fixed by the serialization spec.
- protected int decmp;
- protected int strength;
-}
diff --git a/libjava/java/text/DateFormat.java b/libjava/java/text/DateFormat.java
deleted file mode 100644
index a84113368c3..00000000000
--- a/libjava/java/text/DateFormat.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.*;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Mostly complete; search for FIXME to see omissions.
- */
-
-public abstract class DateFormat extends Format implements Cloneable
-{
- protected Calendar calendar;
- protected NumberFormat numberFormat;
-
- // (Values determined using a test program.)
- public final static int FULL = 0;
- public final static int LONG = 1;
- public final static int MEDIUM = 2;
- public final static int SHORT = 3;
- public final static int DEFAULT = MEDIUM;
-
- public final static int ERA_FIELD = 0;
- public final static int YEAR_FIELD = 1;
- public final static int MONTH_FIELD = 2;
- public final static int DATE_FIELD = 3;
- public final static int HOUR_OF_DAY1_FIELD = 4;
- public final static int HOUR_OF_DAY0_FIELD = 5;
- public final static int MINUTE_FIELD = 6;
- public final static int SECOND_FIELD = 7;
- public final static int MILLISECOND_FIELD = 8;
- public final static int DAY_OF_WEEK_FIELD = 9;
- public final static int DAY_OF_YEAR_FIELD = 10;
- public final static int DAY_OF_WEEK_IN_MONTH_FIELD = 11;
- public final static int WEEK_OF_YEAR_FIELD = 12;
- public final static int WEEK_OF_MONTH_FIELD = 13;
- public final static int AM_PM_FIELD = 14;
- public final static int HOUR1_FIELD = 15;
- public final static int HOUR0_FIELD = 16;
- public final static int TIMEZONE_FIELD = 17;
-
- protected DateFormat ()
- {
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof DateFormat))
- return false;
- DateFormat d = (DateFormat) obj;
- return calendar.equals(d.calendar) && numberFormat.equals(d.numberFormat);
- }
-
- public final StringBuffer format (Object obj,
- StringBuffer buf, FieldPosition pos)
- {
- if (obj instanceof Number)
- return format (new Date(((Number) obj).longValue()), buf, pos);
- return format ((Date) obj, buf, pos);
- }
-
- public final String format (Date date)
- {
- StringBuffer sb = new StringBuffer ();
- format (date, sb, new FieldPosition (MONTH_FIELD));
- return sb.toString();
- }
-
- public abstract StringBuffer format (Date date,
- StringBuffer buf, FieldPosition pos);
-
- public static Locale[] getAvailableLocales ()
- {
- return null; // FIXME
- }
-
- public Calendar getCalendar ()
- {
- return calendar;
- }
-
- private static final DateFormat computeInstance (int style, Locale loc,
- boolean use_date,
- boolean use_time)
- {
- return computeInstance (style, style, loc, use_date, use_time);
- }
-
- private static final DateFormat computeInstance (int dateStyle,
- int timeStyle,
- Locale loc,
- boolean use_date,
- boolean use_time)
- {
- ResourceBundle res;
- try
- {
- res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
- }
- catch (MissingResourceException x)
- {
- res = null;
- }
-
- String pattern = null;
- if (use_date)
- {
- String name, def;
- switch (dateStyle)
- {
- case FULL:
- name = "fullDateFormat";
- def = "EEEE MMMM d, yyyy G";
- break;
- case LONG:
- name = "longDateFormat";
- def = "MMMM d, yyyy";
- break;
- case MEDIUM:
- name = "mediumDateFormat";
- def = "d-MMM-yy";
- break;
- case SHORT:
- name = "shortDateFormat";
- def = "M/d/yy";
- break;
- default:
- throw new IllegalArgumentException ();
- }
- try
- {
- pattern = res == null ? def : res.getString(name);
- }
- catch (MissingResourceException x)
- {
- pattern = def;
- }
- }
-
- if (use_time)
- {
- if (pattern == null)
- pattern = "";
- else
- pattern += " ";
-
- String name, def;
- switch (timeStyle)
- {
- case FULL:
- name = "fullTimeFormat";
- def = "h:mm:ss;S 'o''clock' a z";
- break;
- case LONG:
- name = "longTimeFormat";
- def = "h:mm:ss a z";
- break;
- case MEDIUM:
- name = "mediumTimeFormat";
- def = "h:mm:ss a";
- break;
- case SHORT:
- name = "shortTimeFormat";
- def = "h:mm a";
- break;
- default:
- throw new IllegalArgumentException ();
- }
-
- String s;
- try
- {
- s = res == null ? def : res.getString(name);
- }
- catch (MissingResourceException x)
- {
- s = def;
- }
- pattern += s;
- }
-
- return new SimpleDateFormat (pattern, loc);
- }
-
- public static final DateFormat getDateInstance ()
- {
- return getDateInstance (DEFAULT, Locale.getDefault());
- }
-
- public static final DateFormat getDateInstance (int style)
- {
- return getDateInstance (style, Locale.getDefault());
- }
-
- public static final DateFormat getDateInstance (int style, Locale loc)
- {
- return computeInstance (style, loc, true, false);
- }
-
- public static final DateFormat getDateTimeInstance ()
- {
- return getDateTimeInstance (DEFAULT, DEFAULT, Locale.getDefault());
- }
-
- public static final DateFormat getDateTimeInstance (int style)
- {
- return getDateTimeInstance (style, style, Locale.getDefault());
- }
-
- public static final DateFormat getDateTimeInstance (int dateStyle,
- int timeStyle)
- {
- return getDateTimeInstance (dateStyle, timeStyle, Locale.getDefault());
- }
-
- public static final DateFormat getDateTimeInstance (int dateStyle,
- int timeStyle,
- Locale loc)
- {
- return computeInstance (dateStyle, timeStyle, loc, true, true);
- }
-
- public static final DateFormat getInstance ()
- {
- // JCL book says SHORT.
- return getDateTimeInstance (SHORT, SHORT, Locale.getDefault());
- }
-
- public NumberFormat getNumberFormat ()
- {
- return numberFormat;
- }
-
- public static final DateFormat getTimeInstance ()
- {
- return getTimeInstance (DEFAULT, Locale.getDefault());
- }
-
- public static final DateFormat getTimeInstance (int style)
- {
- return getTimeInstance (style, Locale.getDefault());
- }
-
- public static final DateFormat getTimeInstance (int style, Locale loc)
- {
- return computeInstance (style, loc, false, true);
- }
-
- public TimeZone getTimeZone ()
- {
- return calendar.getTimeZone();
- }
-
- public int hashCode ()
- {
- int hash = calendar.hashCode();
- if (numberFormat != null)
- hash ^= numberFormat.hashCode();
- return hash;
- }
-
- public boolean isLenient ()
- {
- return calendar.isLenient();
- }
-
- public Date parse (String source) throws ParseException
- {
- ParsePosition pos = new ParsePosition(0);
- Date result = parse (source, pos);
- if (result == null)
- {
- int index = pos.getErrorIndex();
- if (index < 0)
- index = pos.getIndex();
- throw new ParseException("invalid Date syntax", index);
- }
- return result;
- }
-
- public abstract Date parse (String source, ParsePosition pos);
-
- public Object parseObject (String source, ParsePosition pos)
- {
- return parse(source, pos);
- }
-
- public void setCalendar (Calendar calendar)
- {
- this.calendar = calendar;
- }
-
- public void setLenient (boolean lenient)
- {
- calendar.setLenient(lenient);
- }
-
- public void setNumberFormat (NumberFormat numberFormat)
- {
- this.numberFormat = numberFormat;
- }
-
- public void setTimeZone (TimeZone timeZone)
- {
- calendar.setTimeZone(timeZone);
- }
-}
diff --git a/libjava/java/text/DateFormatSymbols.java b/libjava/java/text/DateFormatSymbols.java
deleted file mode 100644
index d21cdeada10..00000000000
--- a/libjava/java/text/DateFormatSymbols.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 24, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
- * Status: Believed complete and correct.
- */
-
-public class DateFormatSymbols extends Object
- implements java.io.Serializable, Cloneable
-{
- private String[] ampms;
- private String[] eras;
- private String localPatternChars;
- private String[] months;
- private String[] shortMonths;
- private String[] shortWeekdays;
- private String[] weekdays;
- private String[][] zoneStrings;
-
- private static final String[] ampmsDefault = {"AM", "PM" };
- private static final String[] erasDefault = {"BC", "AD" };
- // localPatternCharsDefault is used by SimpleDateFormat.
- protected static final String localPatternCharsDefault
- = "GyMdkHmsSEDFwWahKz";
- private static final String[] monthsDefault = {
- "January", "February", "March", "April", "May", "June",
- "July", "August", "September", "October", "November", "December", ""
- };
- private static final String[] shortMonthsDefault = {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""
- };
- private static final String[] shortWeekdaysDefault = {
- "", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
- };
- private static final String[] weekdaysDefault = {
- "", "Sunday", "Monday", "Tuesday",
- "Wednesday", "Thursday", "Friday", "Saturday"
- };
-
- private static String[][] zoneStringsDefault = {
- { "PST", "Pacific Standard Time", "PST",
- /**/ "Pacific Daylight Time", "PDT", "San Francisco" },
- { "MST", "Mountain Standard Time", "MST",
- /**/ "Mountain Daylight Time", "MDT", "Denver" },
- { "PNT", "Mountain Standard Time", "MST",
- /**/ "Mountain Standard Time", "MST", "Phoenix" },
- { "CST", "Central Standard Time", "CST",
- /**/ "Central Daylight Time", "CDT", "Chicago" },
- { "EST", "Eastern Standard Time", "EST",
- /**/ "Eastern Daylight Time", "EDT", "Boston" },
- { "IET", "Eastern Standard Time", "EST",
- /**/ "Eastern Standard Time", "EST", "Indianapolis" },
- { "PRT", "Atlantic Standard Time", "AST",
- /**/ "Atlantic Daylight Time", "ADT", "Halifax" },
- { "HST", "Hawaii Standard Time", "HST",
- /**/ "Hawaii Daylight Time", "HDT", "Honolulu" },
- { "AST", "Alaska Standard Time", "AST",
- /**/ "Alaska Daylight Time", "ADT", "Anchorage" }
- };
-
- private final Object safeGetResource (ResourceBundle res,
- String key, Object def)
- {
- if (res != null)
- {
- try
- {
- return res.getObject(key);
- }
- catch (MissingResourceException x)
- {
- }
- }
- return def;
- }
-
- public DateFormatSymbols (Locale locale)
- {
- ResourceBundle res;
- try
- {
- res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", locale);
- }
- catch (MissingResourceException x)
- {
- res = null;
- }
- ampms = (String[]) safeGetResource (res, "ampm", ampmsDefault);
- eras = (String[]) safeGetResource (res, "eras", erasDefault);
- localPatternChars = (String) safeGetResource (res, "datePatternChars",
- localPatternCharsDefault);
- months = (String[]) safeGetResource (res, "months", monthsDefault);
- shortMonths = (String[]) safeGetResource (res, "shortMonths",
- shortMonthsDefault);
- shortWeekdays = (String[]) safeGetResource (res, "shortWeekdays",
- shortWeekdaysDefault);
- weekdays = (String[]) safeGetResource (res, "weekdays", weekdaysDefault);
- zoneStrings = (String[][]) safeGetResource (res, "zoneStrings",
- zoneStringsDefault);
- }
-
- public DateFormatSymbols ()
- {
- this (Locale.getDefault());
- }
-
- public String[] getAmPmStrings()
- {
- return ampms;
- }
-
- public String[] getEras()
- {
- return eras;
- }
-
-
- public String getLocalPatternChars()
- {
- return localPatternChars;
- }
-
- public String[] getMonths ()
- {
- return months;
- }
-
- public String[] getShortMonths ()
- {
- return shortMonths;
- }
-
- public String[] getShortWeekdays ()
- {
- return shortWeekdays;
- }
-
- public String[] getWeekdays ()
- {
- return weekdays;
- }
-
- public String[] [] getZoneStrings ()
- {
- return zoneStrings;
- }
-
- public void setAmPmStrings (String[] value)
- {
- ampms = value;
- }
-
- public void setEras (String[] value)
- {
- eras = value;
- }
-
- public void setLocalPatternChars (String value)
- {
- localPatternChars = value;
- }
-
- public void setMonths (String[] value)
- {
- months = value;
- }
-
- public void setShortMonths (String[] value)
- {
- shortMonths = value;
- }
-
- public void setShortWeekdays (String[] value)
- {
- shortWeekdays = value;
- }
-
- public void setWeekdays (String[] value)
- {
- weekdays = value;
- }
-
- public void setZoneStrings (String[][] value)
- {
- zoneStrings = value;
- }
-
- /* Does a "deep" equality test - recurses into arrays. */
- protected static boolean equals (Object x, Object y)
- {
- if (x == y)
- return true;
- if (x == null || y == null)
- return false;
- if (! (x instanceof Object[]) || ! (y instanceof Object[]))
- return x.equals(y);
- Object[] xa = (Object[]) x;
- Object[] ya = (Object[]) y;
- if (xa.length != ya.length)
- return false;
- for (int i = xa.length; --i >= 0; )
- {
- if (! equals(xa[i], ya[i]))
- return false;
- }
- return true;
- }
-
- private static int hashCode (Object x)
- {
- if (x == null)
- return 0;
- if (! (x instanceof Object[]))
- return x.hashCode();
- Object[] xa = (Object[]) x;
- int hash = 0;
- for (int i = 0; i < xa.length; i++)
- hash = 37 * hashCode(xa[i]);
- return hash;
- }
-
- public boolean equals (Object obj)
- {
- if (obj == null || ! (obj instanceof DateFormatSymbols))
- return false;
- DateFormatSymbols other = (DateFormatSymbols) obj;
- return (equals(ampms, other.ampms)
- && equals(eras, other.eras)
- && equals(localPatternChars, other.localPatternChars)
- && equals(months, other.months)
- && equals(shortMonths, other.shortMonths)
- && equals(shortWeekdays, other.shortWeekdays)
- && equals(weekdays, other.weekdays)
- && equals(zoneStrings, other.zoneStrings));
- }
-
- public int hashCode ()
- {
- return (hashCode(ampms)
- ^ hashCode(eras)
- ^ hashCode(localPatternChars)
- ^ hashCode(months)
- ^ hashCode(shortMonths)
- ^ hashCode(shortWeekdays)
- ^ hashCode(weekdays)
- ^ hashCode(zoneStrings));
- }
-}
diff --git a/libjava/java/text/DecimalFormat.java b/libjava/java/text/DecimalFormat.java
deleted file mode 100644
index 9ea9d921ec1..00000000000
--- a/libjava/java/text/DecimalFormat.java
+++ /dev/null
@@ -1,983 +0,0 @@
-// DecimalFormat.java - Localized number formatting.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 4, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.2, except serialization.
- * Note however that the docs are very unclear about how format parsing
- * should work. No doubt there are problems here.
- */
-
-public class DecimalFormat extends NumberFormat
-{
- // This is a helper for applyPatternWithSymbols. It reads a prefix
- // or a suffix. It can cause some side-effects.
- private final int scanFix (String pattern, int index, StringBuffer buf,
- String patChars, DecimalFormatSymbols syms,
- boolean is_suffix)
- throws ParseException
- {
- int len = pattern.length();
- buf.setLength(0);
- boolean multiplierSet = false;
- while (index < len)
- {
- char c = pattern.charAt(index);
- if (c == '\'' && index + 1 < len
- && pattern.charAt(index + 1) == '\'')
- {
- buf.append(c);
- ++index;
- }
- else if (c == '\'' && index + 2 < len
- && pattern.charAt(index + 2) == '\'')
- {
- buf.append(pattern.charAt(index + 1));
- index += 2;
- }
- else if (c == '\u00a4')
- {
- if (index + 1 < len && pattern.charAt(index + 1) == '\u00a4')
- {
- buf.append(syms.getInternationalCurrencySymbol());
- ++index;
- }
- else
- buf.append(syms.getCurrencySymbol());
- }
- else if (is_suffix && c == syms.getPercent())
- {
- if (multiplierSet)
- throw new ParseException ("multiplier already set", index);
- multiplierSet = true;
- multiplier = 100;
- buf.append(c);
- }
- else if (is_suffix && c == syms.getPerMill())
- {
- if (multiplierSet)
- throw new ParseException ("multiplier already set", index);
- multiplierSet = true;
- multiplier = 1000;
- buf.append(c);
- }
- else if (patChars.indexOf(c) != -1)
- {
- // This is a pattern character.
- break;
- }
- else
- buf.append(c);
- ++index;
- }
-
- return index;
- }
-
- // A helper which reads a number format.
- private final int scanFormat (String pattern, int index,
- String patChars, DecimalFormatSymbols syms,
- boolean is_positive)
- throws ParseException
- {
- int max = pattern.length();
-
- int countSinceGroup = 0;
- int zeroCount = 0;
- boolean saw_group = false;
-
- //
- // Scan integer part.
- //
- while (index < max)
- {
- char c = pattern.charAt(index);
-
- if (c == syms.getDigit())
- {
- if (zeroCount > 0)
- throw new ParseException ("digit mark following zero", index);
- ++countSinceGroup;
- }
- else if (c == syms.getZeroDigit())
- {
- ++zeroCount;
- ++countSinceGroup;
- }
- else if (c == syms.getGroupingSeparator())
- {
- countSinceGroup = 0;
- saw_group = true;
- }
- else
- break;
-
- ++index;
- }
-
- // We can only side-effect when parsing the positive format.
- if (is_positive)
- {
- groupingUsed = saw_group;
- groupingSize = (byte) countSinceGroup;
- minimumIntegerDigits = zeroCount;
- }
-
- // Early termination.
- if (index == max || pattern.charAt(index) == syms.getGroupingSeparator())
- {
- if (is_positive)
- decimalSeparatorAlwaysShown = false;
- return index;
- }
-
- if (pattern.charAt(index) == syms.getDecimalSeparator())
- {
- ++index;
-
- //
- // Scan fractional part.
- //
- int hashCount = 0;
- zeroCount = 0;
- while (index < max)
- {
- char c = pattern.charAt(index);
- if (c == syms.getZeroDigit())
- {
- if (hashCount > 0)
- throw new ParseException ("zero mark following digit",
- index);
- ++zeroCount;
- }
- else if (c == syms.getDigit())
- {
- ++hashCount;
- }
- else if (c != syms.getExponential()
- && c != syms.getPatternSeparator()
- && patChars.indexOf(c) != -1)
- throw new ParseException ("unexpected special character",
- index);
- else
- break;
-
- ++index;
- }
-
- if (is_positive)
- {
- maximumFractionDigits = hashCount + zeroCount;
- minimumFractionDigits = zeroCount;
- }
-
- if (index == max)
- return index;
- }
-
- if (pattern.charAt(index) == syms.getExponential())
- {
- //
- // Scan exponential format.
- //
- zeroCount = 0;
- ++index;
- while (index < max)
- {
- char c = pattern.charAt(index);
- if (c == syms.getZeroDigit())
- ++zeroCount;
- else if (c == syms.getDigit())
- {
- if (zeroCount > 0)
- throw new
- ParseException ("digit mark following zero in exponent",
- index);
- }
- else if (patChars.indexOf(c) != -1)
- throw new ParseException ("unexpected special character",
- index);
- else
- break;
-
- ++index;
- }
-
- if (is_positive)
- {
- useExponentialNotation = true;
- minExponentDigits = (byte) zeroCount;
- }
- }
-
- return index;
- }
-
- // This helper function creates a string consisting of all the
- // characters which can appear in a pattern and must be quoted.
- private final String patternChars (DecimalFormatSymbols syms)
- {
- StringBuffer buf = new StringBuffer ();
- buf.append(syms.getDecimalSeparator());
- buf.append(syms.getDigit());
- buf.append(syms.getExponential());
- buf.append(syms.getGroupingSeparator());
- // Adding this one causes pattern application to fail.
- // Of course, omitting is causes toPattern to fail.
- // ... but we already have bugs there. FIXME.
- // buf.append(syms.getMinusSign());
- buf.append(syms.getPatternSeparator());
- buf.append(syms.getPercent());
- buf.append(syms.getPerMill());
- buf.append(syms.getZeroDigit());
- buf.append('\u00a4');
- return buf.toString();
- }
-
- private final void applyPatternWithSymbols (String pattern,
- DecimalFormatSymbols syms)
- throws ParseException
- {
- // Initialize to the state the parser expects.
- negativePrefix = "";
- negativeSuffix = "";
- positivePrefix = "";
- positiveSuffix = "";
- decimalSeparatorAlwaysShown = false;
- groupingSize = 0;
- minExponentDigits = 0;
- multiplier = 1;
- useExponentialNotation = false;
- groupingUsed = false;
- maximumFractionDigits = 0;
- maximumIntegerDigits = 309;
- minimumFractionDigits = 0;
- minimumIntegerDigits = 1;
-
- StringBuffer buf = new StringBuffer ();
- String patChars = patternChars (syms);
-
- int max = pattern.length();
- int index = scanFix (pattern, 0, buf, patChars, syms, false);
- positivePrefix = buf.toString();
-
- index = scanFormat (pattern, index, patChars, syms, true);
-
- index = scanFix (pattern, index, buf, patChars, syms, true);
- positiveSuffix = buf.toString();
-
- if (index == pattern.length())
- {
- // No negative info.
- negativePrefix = null;
- negativeSuffix = null;
- }
- else
- {
- if (pattern.charAt(index) != syms.getPatternSeparator())
- throw new ParseException ("separator character expected", index);
-
- index = scanFix (pattern, index + 1, buf, patChars, syms, false);
- negativePrefix = buf.toString();
-
- // We parse the negative format for errors but we don't let
- // it side-effect this object.
- index = scanFormat (pattern, index, patChars, syms, false);
-
- index = scanFix (pattern, index, buf, patChars, syms, true);
- negativeSuffix = buf.toString();
-
- if (index != pattern.length())
- throw new ParseException ("end of pattern expected", index);
- }
- }
-
- public void applyLocalizedPattern (String pattern) throws ParseException
- {
- applyPatternWithSymbols (pattern, symbols);
- }
-
- public void applyPattern (String pattern) throws ParseException
- {
- applyPatternWithSymbols (pattern, nonLocalizedSymbols);
- }
-
- public Object clone ()
- {
- return new DecimalFormat (this);
- }
-
- private DecimalFormat (DecimalFormat dup)
- {
- decimalSeparatorAlwaysShown = dup.decimalSeparatorAlwaysShown;
- groupingSize = dup.groupingSize;
- minExponentDigits = dup.minExponentDigits;
- multiplier = dup.multiplier;
- negativePrefix = dup.negativePrefix;
- negativeSuffix = dup.negativeSuffix;
- positivePrefix = dup.positivePrefix;
- positiveSuffix = dup.positiveSuffix;
- symbols = (DecimalFormatSymbols) dup.symbols.clone();
- useExponentialNotation = dup.useExponentialNotation;
- }
-
- public DecimalFormat ()
- {
- this ("#,##0.###");
- }
-
- public DecimalFormat (String pattern)
- {
- this (pattern, new DecimalFormatSymbols ());
- }
-
- public DecimalFormat (String pattern, DecimalFormatSymbols symbols)
- {
- this.symbols = symbols;
- // The docs imply that the constructor turns a ParseException
- // into an IllegalArgumentException.
- try
- {
- applyPattern (pattern);
- }
- catch (ParseException x)
- {
- throw new IllegalArgumentException (x.getMessage());
- }
- }
-
- private final boolean equals (String s1, String s2)
- {
- if (s1 == null || s2 == null)
- return s1 == s2;
- return s1.equals(s2);
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof DecimalFormat))
- return false;
- DecimalFormat dup = (DecimalFormat) obj;
- return (decimalSeparatorAlwaysShown == dup.decimalSeparatorAlwaysShown
- && groupingSize == dup.groupingSize
- && minExponentDigits == dup.minExponentDigits
- && multiplier == dup.multiplier
- && equals(negativePrefix, dup.negativePrefix)
- && equals(negativeSuffix, dup.negativeSuffix)
- && equals(positivePrefix, dup.positivePrefix)
- && equals(positiveSuffix, dup.positiveSuffix)
- && symbols.equals(dup.symbols)
- && useExponentialNotation == dup.useExponentialNotation);
- }
-
- public StringBuffer format (double number, StringBuffer dest,
- FieldPosition fieldPos)
- {
- // A very special case.
- if (Double.isNaN(number))
- {
- dest.append(symbols.getNaN());
- if (fieldPos != null && fieldPos.getField() == INTEGER_FIELD)
- {
- int index = dest.length();
- fieldPos.setBeginIndex(index - symbols.getNaN().length());
- fieldPos.setEndIndex(index);
- }
- return dest;
- }
-
- boolean is_neg = number < 0;
- if (is_neg)
- {
- if (negativePrefix != null)
- dest.append(negativePrefix);
- else
- {
- dest.append(symbols.getMinusSign());
- dest.append(positivePrefix);
- }
- number = - number;
- }
- else
- dest.append(positivePrefix);
-
- int integerBeginIndex = dest.length();
- int integerEndIndex = 0;
- if (Double.isInfinite (number))
- {
- dest.append(symbols.getInfinity());
- integerEndIndex = dest.length();
- }
- else
- {
- number *= multiplier;
-
- // Compute exponent.
- long exponent = 0;
- double baseNumber;
- if (useExponentialNotation)
- {
- exponent = (long) (Math.log(number) / Math.log(10));
- if (minimumIntegerDigits > 0)
- exponent -= minimumIntegerDigits - 1;
- baseNumber = (long) (number / Math.pow(10.0, exponent));
- }
- else
- baseNumber = number;
-
- // Round to the correct number of digits.
- baseNumber += 5 * Math.pow(10.0, - maximumFractionDigits - 1);
-
- int index = dest.length();
- double intPart = Math.floor(baseNumber);
- int count = 0;
- while (count < maximumIntegerDigits
- && (intPart > 0 || count < minimumIntegerDigits))
- {
- long dig = (long) (intPart % 10);
- intPart = Math.floor(intPart / 10);
-
- // Append group separator if required.
- if (groupingUsed && count > 0 && count % groupingSize == 0)
- dest.insert(index, symbols.getGroupingSeparator());
-
- dest.insert(index, (char) (symbols.getZeroDigit() + dig));
-
- ++count;
- }
-
- integerEndIndex = dest.length();
-
- int decimal_index = integerEndIndex;
- int consecutive_zeros = 0;
- int total_digits = 0;
-
- // Strip integer part from NUMBER.
- double fracPart = baseNumber - Math.floor(baseNumber);
- for (count = 0;
- count < maximumFractionDigits
- && (fracPart != 0 || count < minimumFractionDigits);
- ++count)
- {
- ++total_digits;
- fracPart *= 10;
- long dig = (long) fracPart;
- if (dig == 0)
- ++consecutive_zeros;
- else
- consecutive_zeros = 0;
- dest.append((char) (symbols.getZeroDigit() + dig));
-
- // Strip integer part from FRACPART.
- fracPart = fracPart - Math.floor (fracPart);
- }
-
- // Strip extraneous trailing `0's. We can't always detect
- // these in the loop.
- int extra_zeros = Math.min (consecutive_zeros,
- total_digits - minimumFractionDigits);
- if (extra_zeros > 0)
- {
- dest.setLength(dest.length() - extra_zeros);
- total_digits -= extra_zeros;
- }
-
- // If required, add the decimal symbol.
- if (decimalSeparatorAlwaysShown
- || total_digits > 0)
- {
- dest.insert(decimal_index, symbols.getDecimalSeparator());
- if (fieldPos != null && fieldPos.getField() == FRACTION_FIELD)
- {
- fieldPos.setBeginIndex(decimal_index + 1);
- fieldPos.setEndIndex(dest.length());
- }
- }
-
- // Finally, print the exponent.
- if (useExponentialNotation)
- {
- dest.append(symbols.getExponential());
- dest.append(exponent < 0 ? '-' : '+');
- index = dest.length();
- for (count = 0;
- exponent > 0 || count < minExponentDigits;
- ++count)
- {
- long dig = exponent % 10;
- exponent /= 10;
- dest.insert(index, (char) (symbols.getZeroDigit() + dig));
- }
- }
- }
-
- if (fieldPos != null && fieldPos.getField() == INTEGER_FIELD)
- {
- fieldPos.setBeginIndex(integerBeginIndex);
- fieldPos.setEndIndex(integerEndIndex);
- }
-
- dest.append((is_neg && negativeSuffix != null)
- ? negativeSuffix
- : positiveSuffix);
- return dest;
- }
-
- public StringBuffer format (long number, StringBuffer dest,
- FieldPosition fieldPos)
- {
- // If using exponential notation, we just format as a double.
- if (useExponentialNotation)
- return format ((double) number, dest, fieldPos);
-
- boolean is_neg = number < 0;
- if (is_neg)
- {
- if (negativePrefix != null)
- dest.append(negativePrefix);
- else
- {
- dest.append(symbols.getMinusSign());
- dest.append(positivePrefix);
- }
- number = - number;
- }
- else
- dest.append(positivePrefix);
-
- int integerBeginIndex = dest.length();
- int index = dest.length();
- int count = 0;
- while (count < maximumIntegerDigits
- && (number > 0 || count < minimumIntegerDigits))
- {
- long dig = number % 10;
- number /= 10;
- // NUMBER and DIG will be less than 0 if the original number
- // was the most negative long.
- if (dig < 0)
- {
- dig = - dig;
- number = - number;
- }
-
- // Append group separator if required.
- if (groupingUsed && count > 0 && count % groupingSize == 0)
- dest.insert(index, symbols.getGroupingSeparator());
-
- dest.insert(index, (char) (symbols.getZeroDigit() + dig));
-
- ++count;
- }
-
- if (fieldPos != null && fieldPos.getField() == INTEGER_FIELD)
- {
- fieldPos.setBeginIndex(integerBeginIndex);
- fieldPos.setEndIndex(dest.length());
- }
-
- if (decimalSeparatorAlwaysShown || minimumFractionDigits > 0)
- {
- dest.append(symbols.getDecimalSeparator());
- if (fieldPos != null && fieldPos.getField() == FRACTION_FIELD)
- {
- fieldPos.setBeginIndex(dest.length());
- fieldPos.setEndIndex(dest.length() + minimumFractionDigits);
- }
- }
-
- for (count = 0; count < minimumFractionDigits; ++count)
- dest.append(symbols.getZeroDigit());
-
- dest.append((is_neg && negativeSuffix != null)
- ? negativeSuffix
- : positiveSuffix);
- return dest;
- }
-
- public DecimalFormatSymbols getDecimalFormatSymbols ()
- {
- return symbols;
- }
-
- public int getGroupingSize ()
- {
- return groupingSize;
- }
-
- public int getMultiplier ()
- {
- return multiplier;
- }
-
- public String getNegativePrefix ()
- {
- return negativePrefix;
- }
-
- public String getNegativeSuffix ()
- {
- return negativeSuffix;
- }
-
- public String getPositivePrefix ()
- {
- return positivePrefix;
- }
-
- public String getPositiveSuffix ()
- {
- return positiveSuffix;
- }
-
- public int hashCode ()
- {
- int hash = (negativeSuffix.hashCode() ^ negativePrefix.hashCode()
- ^positivePrefix.hashCode() ^ positiveSuffix.hashCode());
- // FIXME.
- return hash;
- }
-
- public boolean isDecimalSeparatorAlwaysShown ()
- {
- return decimalSeparatorAlwaysShown;
- }
-
- public Number parse (String str, ParsePosition pos)
- {
- // Our strategy is simple: copy the text into a buffer,
- // translating or omitting locale-specific information. Then
- // let Double or Long convert the number for us.
-
- boolean is_neg = false;
- int index = pos.getIndex();
- StringBuffer buf = new StringBuffer ();
-
- // We have to check both prefixes, because one might be empty.
- // We want to pick the longest prefix that matches.
- boolean got_pos = str.startsWith(positivePrefix, index);
- String np = (negativePrefix != null
- ? negativePrefix
- : positivePrefix + symbols.getMinusSign());
- boolean got_neg = str.startsWith(np, index);
-
- if (got_pos && got_neg)
- {
- // By checking this way, we preserve ambiguity in the case
- // where the negative format differs only in suffix. We
- // check this again later.
- if (np.length() > positivePrefix.length())
- {
- is_neg = true;
- index += np.length();
- }
- else
- index += positivePrefix.length();
- }
- else if (got_neg)
- {
- is_neg = true;
- index += np.length();
- }
- else if (got_pos)
- index += positivePrefix.length();
- else
- {
- pos.setErrorIndex (index);
- return null;
- }
-
- // FIXME: handle Inf and NaN.
-
- // FIXME: do we have to respect minimum/maxmimum digit stuff?
- // What about leading zeros? What about multiplier?
-
- int start_index = index;
- int max = str.length();
- char zero = symbols.getZeroDigit();
- int last_group = -1;
- boolean int_part = true;
- boolean exp_part = false;
- for (; index < max; ++index)
- {
- char c = str.charAt(index);
-
- // FIXME: what about grouping size?
- if (groupingUsed && c == symbols.getGroupingSeparator())
- {
- if (last_group != -1
- && (index - last_group) % groupingSize != 0)
- {
- pos.setErrorIndex(index);
- return null;
- }
- last_group = index;
- }
- else if (c >= zero && c <= zero + 9)
- {
- buf.append((char) (c - zero + '0'));
- exp_part = false;
- }
- else if (parseIntegerOnly)
- break;
- else if (c == symbols.getDecimalSeparator())
- {
- if (last_group != -1
- && (index - last_group) % groupingSize != 0)
- {
- pos.setErrorIndex(index);
- return null;
- }
- buf.append('.');
- int_part = false;
- }
- else if (c == symbols.getExponential())
- {
- buf.append('E');
- int_part = false;
- exp_part = true;
- }
- else if (exp_part
- && (c == '+' || c == '-' || c == symbols.getMinusSign()))
- {
- // For exponential notation.
- buf.append(c);
- }
- else
- break;
- }
-
- if (index == start_index)
- {
- // Didn't see any digits.
- pos.setErrorIndex(index);
- return null;
- }
-
- // Check the suffix. We must do this before converting the
- // buffer to a number to handle the case of a number which is
- // the most negative Long.
- boolean got_pos_suf = str.startsWith(positiveSuffix, index);
- String ns = (negativePrefix == null ? positiveSuffix : negativeSuffix);
- boolean got_neg_suf = str.startsWith(ns, index);
- if (is_neg)
- {
- if (! got_neg_suf)
- {
- pos.setErrorIndex(index);
- return null;
- }
- }
- else if (got_pos && got_neg && got_neg_suf)
- {
- is_neg = true;
- }
- else if (got_pos != got_pos_suf && got_neg != got_neg_suf)
- {
- pos.setErrorIndex(index);
- return null;
- }
-
- String suffix = is_neg ? ns : positiveSuffix;
- if (is_neg)
- buf.insert(0, '-');
-
- String t = buf.toString();
- Number result = null;
- try
- {
- result = new Long (t);
- }
- catch (NumberFormatException x1)
- {
- try
- {
- result = new Double (t);
- }
- catch (NumberFormatException x2)
- {
- }
- }
- if (result == null)
- {
- pos.setErrorIndex(index);
- return null;
- }
-
- pos.setIndex(index + suffix.length());
-
- return result;
- }
-
- public void setDecimalFormatSymbols (DecimalFormatSymbols newSymbols)
- {
- symbols = newSymbols;
- }
-
- public void setDecimalSeparatorAlwaysShown (boolean newValue)
- {
- decimalSeparatorAlwaysShown = newValue;
- }
-
- public void setGroupingSize (int groupSize)
- {
- groupingSize = (byte) groupSize;
- }
-
- public void setMaximumFractionDigits (int newValue)
- {
- maximumFractionDigits = Math.min(newValue, 340);
- }
-
- public void setMaximumIntegerDigits (int newValue)
- {
- maximumIntegerDigits = Math.min(newValue, 309);
- }
-
- public void setMinimumFractionDigits (int newValue)
- {
- minimumFractionDigits = Math.min(newValue, 340);
- }
-
- public void setMinimumIntegerDigits (int newValue)
- {
- minimumIntegerDigits = Math.min(newValue, 309);
- }
-
- public void setMultiplier (int newValue)
- {
- multiplier = newValue;
- }
-
- public void setNegativePrefix (String newValue)
- {
- negativePrefix = newValue;
- }
-
- public void setNegativeSuffix (String newValue)
- {
- negativeSuffix = newValue;
- }
-
- public void setPositivePrefix (String newValue)
- {
- positivePrefix = newValue;
- }
-
- public void setPositiveSuffix (String newValue)
- {
- positiveSuffix = newValue;
- }
-
- private final void quoteFix (StringBuffer buf, String text, String patChars)
- {
- int len = text.length();
- for (int index = 0; index < len; ++index)
- {
- char c = text.charAt(index);
- if (patChars.indexOf(c) != -1)
- {
- buf.append('\'');
- buf.append(c);
- buf.append('\'');
- }
- else
- buf.append(c);
- }
- }
-
- private final String computePattern (DecimalFormatSymbols syms)
- {
- StringBuffer mainPattern = new StringBuffer ();
- // We have to at least emit a zero for the minimum number of
- // digits. Past that we need hash marks up to the grouping
- // separator (and one beyond).
- int total_digits = Math.max(minimumIntegerDigits,
- groupingUsed ? groupingSize + 1: 0);
- for (int i = 0; i < total_digits - minimumIntegerDigits; ++i)
- mainPattern.append(syms.getDigit());
- for (int i = total_digits - minimumIntegerDigits; i < total_digits; ++i)
- mainPattern.append(syms.getZeroDigit());
- // Inserting the gropuing operator afterwards is easier.
- if (groupingUsed)
- mainPattern.insert(mainPattern.length() - groupingSize,
- syms.getGroupingSeparator());
- // See if we need decimal info.
- if (minimumFractionDigits > 0 || maximumFractionDigits > 0
- || decimalSeparatorAlwaysShown)
- mainPattern.append(syms.getDecimalSeparator());
- for (int i = 0; i < minimumFractionDigits; ++i)
- mainPattern.append(syms.getZeroDigit());
- for (int i = minimumFractionDigits; i < maximumFractionDigits; ++i)
- mainPattern.append(syms.getDigit());
- if (useExponentialNotation)
- {
- mainPattern.append(syms.getExponential());
- for (int i = 0; i < minExponentDigits; ++i)
- mainPattern.append(syms.getZeroDigit());
- if (minExponentDigits == 0)
- mainPattern.append(syms.getDigit());
- }
-
- String main = mainPattern.toString();
- String patChars = patternChars (syms);
- mainPattern.setLength(0);
-
- quoteFix (mainPattern, positivePrefix, patChars);
- mainPattern.append(main);
- quoteFix (mainPattern, positiveSuffix, patChars);
-
- if (negativePrefix != null)
- {
- quoteFix (mainPattern, negativePrefix, patChars);
- mainPattern.append(main);
- quoteFix (mainPattern, negativeSuffix, patChars);
- }
-
- return mainPattern.toString();
- }
-
- public String toLocalizedPattern ()
- {
- return computePattern (symbols);
- }
-
- public String toPattern ()
- {
- return computePattern (nonLocalizedSymbols);
- }
-
- // These names are fixed by the serialization spec.
- private boolean decimalSeparatorAlwaysShown;
- private byte groupingSize;
- private byte minExponentDigits;
- private int multiplier;
- private String negativePrefix;
- private String negativeSuffix;
- private String positivePrefix;
- private String positiveSuffix;
- private DecimalFormatSymbols symbols;
- private boolean useExponentialNotation;
-
- // The locale-independent pattern symbols happen to be the same as
- // the US symbols.
- private static final DecimalFormatSymbols nonLocalizedSymbols
- = new DecimalFormatSymbols (Locale.US);
-}
diff --git a/libjava/java/text/DecimalFormatSymbols.java b/libjava/java/text/DecimalFormatSymbols.java
deleted file mode 100644
index 783cb6f7f50..00000000000
--- a/libjava/java/text/DecimalFormatSymbols.java
+++ /dev/null
@@ -1,293 +0,0 @@
-// DecimalFormatSymbols.java - Symbols used to format numbers.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.io.Serializable;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date February 24, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.2, except serialization.
- */
-
-public final class DecimalFormatSymbols implements Cloneable, Serializable
-{
- public Object clone ()
- {
- return new DecimalFormatSymbols (this);
- }
-
- private DecimalFormatSymbols (DecimalFormatSymbols orig)
- {
- this.currencySymbol = orig.currencySymbol;
- this.decimalSeparator = orig.decimalSeparator;
- this.digit = orig.digit;
- this.exponential = orig.exponential;
- this.groupingSeparator = orig.groupingSeparator;
- this.infinity = orig.infinity;
- this.intlCurrencySymbol = orig.intlCurrencySymbol;
- this.minusSign = orig.minusSign;
- this.NaN = orig.NaN;
- this.patternSeparator = orig.patternSeparator;
- this.percent = orig.percent;
- this.perMill = orig.perMill;
- this.zeroDigit = orig.zeroDigit;
- }
-
- public DecimalFormatSymbols ()
- {
- this (Locale.getDefault());
- }
-
- private final String safeGetString (ResourceBundle bundle,
- String name, String def)
- {
- if (bundle != null)
- {
- try
- {
- return bundle.getString(name);
- }
- catch (MissingResourceException x)
- {
- }
- }
- return def;
- }
-
- public final char safeGetChar (ResourceBundle bundle,
- String name, char def)
- {
- String r = null;
- if (bundle != null)
- {
- try
- {
- r = bundle.getString(name);
- }
- catch (MissingResourceException x)
- {
- }
- }
- if (r == null || r.length() < 1)
- return def;
- return r.charAt(0);
- }
-
- public DecimalFormatSymbols (Locale loc)
- {
- ResourceBundle res;
- try
- {
- res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
- }
- catch (MissingResourceException x)
- {
- res = null;
- }
- currencySymbol = safeGetString (res, "currencySymbol", "$");
- decimalSeparator = safeGetChar (res, "decimalSeparator", '.');
- digit = safeGetChar (res, "digit", '#');
- exponential = safeGetChar (res, "exponential", 'E');
- groupingSeparator = safeGetChar (res, "groupingSeparator", ',');
- infinity = safeGetString (res, "infinity", "\u221e");
- // FIXME: default?
- intlCurrencySymbol = safeGetString (res, "intlCurrencySymbol", "$");
- minusSign = safeGetChar (res, "minusSign", '-');
- NaN = safeGetString (res, "NaN", "\ufffd");
- patternSeparator = safeGetChar (res, "patternSeparator", ';');
- percent = safeGetChar (res, "percent", '%');
- perMill = safeGetChar (res, "perMill", '\u2030');
- zeroDigit = safeGetChar (res, "zeroDigit", '0');
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof DecimalFormatSymbols))
- return false;
- DecimalFormatSymbols dfs = (DecimalFormatSymbols) obj;
- return (currencySymbol.equals(dfs.currencySymbol)
- && decimalSeparator == dfs.decimalSeparator
- && digit == dfs.digit
- && exponential == dfs.exponential
- && groupingSeparator == dfs.groupingSeparator
- && infinity.equals(dfs.infinity)
- && intlCurrencySymbol.equals(dfs.intlCurrencySymbol)
- && minusSign == dfs.minusSign
- && NaN.equals(dfs.NaN)
- && patternSeparator == dfs.patternSeparator
- && percent == dfs.percent
- && perMill == dfs.perMill
- && zeroDigit == dfs.zeroDigit);
- }
-
- public String getCurrencySymbol ()
- {
- return currencySymbol;
- }
-
- public char getDecimalSeparator ()
- {
- return decimalSeparator;
- }
-
- public char getDigit ()
- {
- return digit;
- }
-
- // This is our own extension.
- char getExponential ()
- {
- return exponential;
- }
-
- public char getGroupingSeparator ()
- {
- return groupingSeparator;
- }
-
- public String getInfinity ()
- {
- return infinity;
- }
-
- public String getInternationalCurrencySymbol ()
- {
- return intlCurrencySymbol;
- }
-
- public char getMinusSign ()
- {
- return minusSign;
- }
-
- public String getNaN ()
- {
- return NaN;
- }
-
- public char getPatternSeparator ()
- {
- return patternSeparator;
- }
-
- public char getPercent ()
- {
- return percent;
- }
-
- public char getPerMill ()
- {
- return perMill;
- }
-
- public char getZeroDigit ()
- {
- return zeroDigit;
- }
-
- public int hashCode ()
- {
- // Compute based on zero digit, grouping separator, and decimal
- // separator -- JCL book. This probably isn't a very good hash
- // code.
- return zeroDigit << 16 + groupingSeparator << 8 + decimalSeparator;
- }
-
- public void setCurrenySymbol (String currency)
- {
- currencySymbol = currency;
- }
-
- public void setDecimalSeparator (char decimalSep)
- {
- decimalSeparator = decimalSep;
- }
-
- public void setDigit (char digit)
- {
- this.digit = digit;
- }
-
- // This is our own extension.
- void setExponential (char exp)
- {
- exponential = exp;
- }
-
- public void setGroupingSeparator (char groupSep)
- {
- groupingSeparator = groupSep;
- }
-
- public void setInfinity (String infinity)
- {
- this.infinity = infinity;
- }
-
- public void setInternationalCurrencySymbol (String currency)
- {
- intlCurrencySymbol = currency;
- }
-
- public void setMinusSign (char minusSign)
- {
- this.minusSign = minusSign;
- }
-
- public void setNaN (String nan)
- {
- NaN = nan;
- }
-
- public void setPatternSeparator (char patternSep)
- {
- patternSeparator = patternSep;
- }
-
- public void setPercent (char percent)
- {
- this.percent = percent;
- }
-
- public void setPerMill (char perMill)
- {
- this.perMill = perMill;
- }
-
- public void setZeroDigit (char zeroDigit)
- {
- this.zeroDigit = zeroDigit;
- }
-
- // The names of the instance variables are fixed by the
- // serialization spec.
- private String currencySymbol;
- private char decimalSeparator;
- private char digit;
- private char exponential;
- private char groupingSeparator;
- private String infinity;
- private String intlCurrencySymbol;
- private char minusSign;
- private String NaN;
- private char patternSeparator;
- private char percent;
- private char perMill;
- private char zeroDigit;
-}
diff --git a/libjava/java/text/FieldPosition.java b/libjava/java/text/FieldPosition.java
deleted file mode 100644
index 2f8c0935b48..00000000000
--- a/libjava/java/text/FieldPosition.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- * Includes JDK 1.2 methods.
- */
-
-public class FieldPosition
-{
- int field;
- int beginIndex;
- int endIndex;
-
- public FieldPosition (int field)
- {
- this.field = field;
- }
-
- public int getField ()
- {
- return field;
- }
-
- public int getBeginIndex ()
- {
- return beginIndex;
- }
-
- public int getEndIndex ()
- {
- return endIndex;
- }
-
- public void setBeginIndex (int index)
- {
- beginIndex = index;
- }
-
- public void setEndIndex (int index)
- {
- endIndex = index;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof FieldPosition))
- return false;
- FieldPosition other = (FieldPosition) obj;
- return (field == other.field
- && beginIndex == other.beginIndex && endIndex == other.endIndex);
- }
-}
diff --git a/libjava/java/text/Format.java b/libjava/java/text/Format.java
deleted file mode 100644
index d2c918b9072..00000000000
--- a/libjava/java/text/Format.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public abstract class Format implements java.io.Serializable, Cloneable
-{
- public Format ()
- {
- }
-
- public abstract StringBuffer format (Object obj,
- StringBuffer sbuf, FieldPosition pos);
-
- public final String format (Object obj)
- {
- StringBuffer sbuf = new StringBuffer();
- format(obj, sbuf, new FieldPosition(0));
- return sbuf.toString();
- }
-
- public abstract Object parseObject (String source, ParsePosition pos);
-
- public Object parseObject (String source) throws ParseException
- {
- ParsePosition pos = new ParsePosition(0);
- Object result = parseObject (source, pos);
- if (result == null)
- {
- int index = pos.getErrorIndex();
- if (index < 0)
- index = pos.getIndex();
- throw new ParseException("parseObject failed", index);
- }
- return result;
- }
-}
diff --git a/libjava/java/text/MessageFormat.java b/libjava/java/text/MessageFormat.java
deleted file mode 100644
index 8b422357966..00000000000
--- a/libjava/java/text/MessageFormat.java
+++ /dev/null
@@ -1,543 +0,0 @@
-// MessageFormat.java - Localized message formatting.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.Date;
-import java.util.Locale;
-import java.util.Vector;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 3, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.2, except serialization.
- * and parsing.
- */
-
-final class MessageFormatElement
-{
- // Argument number.
- int argNumber;
- // Formatter to be used. This is the format set by setFormat.
- Format setFormat;
- // Formatter to be used based on the type.
- Format format;
-
- // Argument will be checked to make sure it is an instance of this
- // class.
- Class formatClass;
-
- // Formatter type.
- String type;
- // Formatter style.
- String style;
-
- // Text to follow this element.
- String trailer;
-
- // FIXME: shouldn't need this.
- Class forName (String name)
- {
- try
- {
- return Class.forName (name);
- }
- catch (ClassNotFoundException x)
- {
- }
- return null;
- }
-
- // Recompute the locale-based formatter.
- void setLocale (Locale loc)
- {
- if (type == null)
- ;
- else if (type.equals("number"))
- {
- // FIXME: named class literal.
- // formatClass = Number.class;
- formatClass = forName ("java.lang.Number");
-
- if (style == null)
- format = NumberFormat.getInstance(loc);
- else if (style.equals("currency"))
- format = NumberFormat.getCurrencyInstance(loc);
- else if (style.equals("percent"))
- format = NumberFormat.getPercentInstance(loc);
- else if (style.equals("integer"))
- {
- NumberFormat nf = NumberFormat.getNumberInstance(loc);
- nf.setMaximumFractionDigits(0);
- nf.setGroupingUsed(false);
- format = nf;
- }
- else
- {
- format = NumberFormat.getNumberInstance(loc);
- DecimalFormat df = (DecimalFormat) format;
- try
- {
- df.applyPattern(style);
- }
- catch (ParseException x)
- {
- throw new IllegalArgumentException (x.getMessage());
- }
- }
- }
- else if (type.equals("time") || type.equals("date"))
- {
- // FIXME: named class literal.
- // formatClass = Date.class;
- formatClass = forName ("java.util.Date");
-
- int val = DateFormat.DEFAULT;
- if (style == null)
- ;
- if (style.equals("short"))
- val = DateFormat.SHORT;
- else if (style.equals("medium"))
- val = DateFormat.MEDIUM;
- else if (style.equals("long"))
- val = DateFormat.LONG;
- else if (style.equals("full"))
- val = DateFormat.FULL;
-
- if (type.equals("time"))
- format = DateFormat.getTimeInstance(val, loc);
- else
- format = DateFormat.getDateInstance(val, loc);
-
- if (style != null && val == DateFormat.DEFAULT)
- {
- SimpleDateFormat sdf = (SimpleDateFormat) format;
- sdf.applyPattern(style);
- }
- }
- else if (type.equals("choice"))
- {
- // FIXME: named class literal.
- // formatClass = Number.class;
- formatClass = forName ("java.lang.Number");
-
- if (style == null)
- throw new
- IllegalArgumentException ("style required for choice format");
- format = new ChoiceFormat (style);
- }
- }
-}
-
-public class MessageFormat extends Format
-{
- // Helper that returns the text up to the next format opener. The
- // text is put into BUFFER. Returns index of character after end of
- // string. Throws IllegalArgumentException on error.
- private static final int scanString (String pat, int index,
- StringBuffer buffer)
- {
- int max = pat.length();
- buffer.setLength(0);
- for (; index < max; ++index)
- {
- char c = pat.charAt(index);
- if (c == '\'' && index + 2 < max && pat.charAt(index + 2) == '\'')
- {
- buffer.append(pat.charAt(index + 1));
- index += 2;
- }
- else if (c == '\'' && index + 1 < max
- && pat.charAt(index + 1) == '\'')
- {
- buffer.append(c);
- ++index;
- }
- else if (c == '{')
- break;
- else if (c == '}')
- throw new IllegalArgumentException ();
- else
- buffer.append(c);
- }
- return index;
- }
-
- // This helper retrieves a single part of a format element. Returns
- // the index of the terminating character.
- private static final int scanFormatElement (String pat, int index,
- StringBuffer buffer,
- char term)
- {
- int max = pat.length();
- buffer.setLength(0);
- int brace_depth = 1;
-
- for (; index < max; ++index)
- {
- char c = pat.charAt(index);
- if (c == '\'' && index + 2 < max && pat.charAt(index + 2) == '\'')
- {
- buffer.append(c);
- buffer.append(pat.charAt(index + 1));
- buffer.append(c);
- index += 2;
- }
- else if (c == '\'' && index + 1 < max
- && pat.charAt(index + 1) == '\'')
- {
- buffer.append(c);
- ++index;
- }
- else if (c == '{')
- {
- buffer.append(c);
- ++brace_depth;
- }
- else if (c == '}')
- {
- if (--brace_depth == 0)
- break;
- buffer.append(c);
- }
- // Check for TERM after braces, because TERM might be `}'.
- else if (c == term)
- break;
- else
- buffer.append(c);
- }
- return index;
- }
-
- // This is used to parse a format element and whatever non-format
- // text might trail it.
- private static final int scanFormat (String pat, int index,
- StringBuffer buffer, Vector elts,
- Locale locale)
- {
- MessageFormatElement mfe = new MessageFormatElement ();
- elts.addElement(mfe);
-
- int max = pat.length();
-
- // Skip the opening `{'.
- ++index;
-
- // Fetch the argument number.
- index = scanFormatElement (pat, index, buffer, ',');
- try
- {
- mfe.argNumber = Integer.parseInt(buffer.toString());
- }
- catch (NumberFormatException nfx)
- {
- throw new IllegalArgumentException ();
- }
-
- // Extract the element format.
- if (index < max && pat.charAt(index) == ',')
- {
- index = scanFormatElement (pat, index + 1, buffer, ',');
- mfe.type = buffer.toString();
-
- // Extract the style.
- if (index < max && pat.charAt(index) == ',')
- {
- index = scanFormatElement (pat, index + 1, buffer, '}');
- mfe.style = buffer.toString ();
- }
- }
-
- // Advance past the last terminator.
- if (index >= max || pat.charAt(index) != '}')
- throw new IllegalArgumentException ();
- ++index;
-
- // Now fetch trailing string.
- index = scanString (pat, index, buffer);
- mfe.trailer = buffer.toString ();
-
- mfe.setLocale(locale);
-
- return index;
- }
-
- public void applyPattern (String newPattern)
- {
- pattern = newPattern;
-
- StringBuffer tempBuffer = new StringBuffer ();
-
- int index = scanString (newPattern, 0, tempBuffer);
- leader = tempBuffer.toString();
-
- Vector elts = new Vector ();
- while (index < newPattern.length())
- index = scanFormat (newPattern, index, tempBuffer, elts, locale);
-
- elements = new MessageFormatElement[elts.size()];
- elts.copyInto(elements);
- }
-
- public Object clone ()
- {
- MessageFormat c = new MessageFormat ();
- c.setLocale(locale);
- c.applyPattern(pattern);
- return (Object) c;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof MessageFormat))
- return false;
- MessageFormat mf = (MessageFormat) obj;
- return (pattern.equals(mf.pattern)
- && locale.equals(mf.locale));
- }
-
- public static String format (String pattern, Object arguments[])
- {
- MessageFormat mf = new MessageFormat (pattern);
- StringBuffer sb = new StringBuffer ();
- FieldPosition fp = new FieldPosition (NumberFormat.INTEGER_FIELD);
- return mf.format(arguments, sb, fp).toString();
- }
-
- public final StringBuffer format (Object arguments[], StringBuffer appendBuf,
- FieldPosition ignore)
- {
- appendBuf.append(leader);
-
- for (int i = 0; i < elements.length; ++i)
- {
- if (elements[i].argNumber >= arguments.length)
- throw new IllegalArgumentException ();
- Object thisArg = arguments[elements[i].argNumber];
-
- Format formatter = null;
- if (elements[i].setFormat != null)
- formatter = elements[i].setFormat;
- else if (elements[i].format != null)
- {
- if (elements[i].formatClass != null
- && ! elements[i].formatClass.isInstance(thisArg))
- throw new IllegalArgumentException ();
- formatter = elements[i].format;
- }
- else if (thisArg instanceof Number)
- formatter = NumberFormat.getInstance(locale);
- else if (thisArg instanceof Date)
- formatter = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale);
- else
- appendBuf.append(thisArg);
-
- if (formatter != null)
- {
- // Special-case ChoiceFormat.
- if (formatter instanceof ChoiceFormat)
- {
- StringBuffer buf = new StringBuffer ();
- // FIXME: don't actually know what is correct here.
- // Can a sub-format refer to any argument, or just
- // the single argument passed to it? Must test
- // against JDK.
- formatter.format(thisArg, buf, ignore);
- MessageFormat mf = new MessageFormat ();
- mf.setLocale(locale);
- mf.applyPattern(buf.toString());
- formatter = mf;
- }
- formatter.format(thisArg, appendBuf, ignore);
- }
-
- appendBuf.append(elements[i].trailer);
- }
-
- return appendBuf;
- }
-
- public final StringBuffer format (Object singleArg, StringBuffer appendBuf,
- FieldPosition ignore)
- {
- Object[] args = new Object[1];
- args[0] = singleArg;
- return format (args, appendBuf, ignore);
- }
-
- public Format[] getFormats ()
- {
- Format[] f = new Format[elements.length];
- for (int i = elements.length - 1; i >= 0; --i)
- f[i] = elements[i].setFormat;
- return f;
- }
-
- public Locale getLocale ()
- {
- return locale;
- }
-
- public int hashCode ()
- {
- // FIXME: not a very good hash.
- return pattern.hashCode() + locale.hashCode();
- }
-
- private MessageFormat ()
- {
- }
-
- public MessageFormat (String pattern)
- {
- applyPattern (pattern);
- }
-
- public Object[] parse (String sourceStr, ParsePosition pos)
- {
- // Check initial text.
- int index = pos.getIndex();
- if (! sourceStr.startsWith(leader, index))
- {
- pos.setErrorIndex(index);
- return null;
- }
- index += leader.length();
-
- Vector results = new Vector (elements.length, 1);
- // Now check each format.
- for (int i = 0; i < elements.length; ++i)
- {
- Format formatter = null;
- if (elements[i].setFormat != null)
- formatter = elements[i].setFormat;
- else if (elements[i].format != null)
- formatter = elements[i].format;
-
- Object value = null;
- if (formatter instanceof ChoiceFormat)
- {
- // We must special-case a ChoiceFormat because it might
- // have recursive formatting.
- ChoiceFormat cf = (ChoiceFormat) formatter;
- String[] formats = (String[]) cf.getFormats();
- double[] limits = (double[]) cf.getLimits();
- MessageFormat subfmt = new MessageFormat ();
- subfmt.setLocale(locale);
- ParsePosition subpos = new ParsePosition (index);
-
- int j;
- for (j = 0; value == null && j < limits.length; ++j)
- {
- subfmt.applyPattern(formats[j]);
- subpos.setIndex(index);
- value = subfmt.parse(sourceStr, subpos);
- }
- if (value != null)
- {
- index = subpos.getIndex();
- value = new Double (limits[j]);
- }
- }
- else if (formatter != null)
- {
- pos.setIndex(index);
- value = formatter.parseObject(sourceStr, pos);
- if (value != null)
- index = pos.getIndex();
- }
- else
- {
- // We have a String format. This can lose in a number
- // of ways, but we give it a shot.
- int next_index = sourceStr.indexOf(elements[i].trailer, index);
- if (next_index == -1)
- {
- pos.setErrorIndex(index);
- return null;
- }
- value = sourceStr.substring(index, next_index);
- index = next_index;
- }
-
- if (value == null
- || ! sourceStr.startsWith(elements[i].trailer, index))
- {
- pos.setErrorIndex(index);
- return null;
- }
-
- if (elements[i].argNumber >= results.size())
- results.setSize(elements[i].argNumber + 1);
- results.setElementAt(value, elements[i].argNumber);
-
- index += elements[i].trailer.length();
- }
-
- Object[] r = new Object[results.size()];
- results.copyInto(r);
- return r;
- }
-
- public Object[] parse (String sourceStr) throws ParseException
- {
- ParsePosition pp = new ParsePosition (0);
- Object[] r = parse (sourceStr, pp);
- if (r == null)
- throw new ParseException ("couldn't parse string", pp.getErrorIndex());
- return r;
- }
-
- public Object parseObject (String sourceStr, ParsePosition pos)
- {
- return parse (sourceStr, pos);
- }
-
- public void setFormat (int variableNum, Format newFormat)
- {
- elements[variableNum].setFormat = newFormat;
- }
-
- public void setFormats (Format[] newFormats)
- {
- if (newFormats.length < elements.length)
- throw new IllegalArgumentException ();
- int len = Math.min(newFormats.length, elements.length);
- for (int i = 0; i < len; ++i)
- elements[i].setFormat = newFormats[i];
- }
-
- public void setLocale (Locale loc)
- {
- locale = loc;
- if (elements != null)
- {
- for (int i = 0; i < elements.length; ++i)
- elements[i].setLocale(loc);
- }
- }
-
- public String toPattern ()
- {
- return pattern;
- }
-
- // The pattern string.
- private String pattern;
- // The locale.
- private Locale locale;
- // Variables.
- private MessageFormatElement[] elements;
- // Leader text.
- private String leader;
-}
diff --git a/libjava/java/text/NumberFormat.java b/libjava/java/text/NumberFormat.java
deleted file mode 100644
index 6ee79b3b546..00000000000
--- a/libjava/java/text/NumberFormat.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.Locale;
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 4, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.2, except serialization
- * and getAvailableLocales.
- */
-
-public abstract class NumberFormat extends Format implements Cloneable
-{
- public static final int INTEGER_FIELD = 0;
- public static final int FRACTION_FIELD = 1;
-
- public final String format (long number)
- {
- StringBuffer sbuf = new StringBuffer(50);
- format (number, sbuf, null);
- return sbuf.toString();
- }
-
- public final StringBuffer format (Object obj, StringBuffer sbuf,
- FieldPosition pos)
- {
- return format(((Number) obj).doubleValue(), sbuf, pos);
- }
-
- public abstract StringBuffer format (double number,
- StringBuffer sbuf, FieldPosition pos);
-
- public abstract StringBuffer format (long number,
- StringBuffer sbuf, FieldPosition pos);
-
- public static Locale[] getAvailableLocales ()
- {
- // FIXME.
- return null;
- }
-
- private static final NumberFormat computeInstance (Locale loc,
- String resource,
- String def)
- {
- ResourceBundle res;
- try
- {
- res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
- }
- catch (MissingResourceException x)
- {
- res = null;
- }
- String fmt;
- try
- {
- fmt = res == null ? def : res.getString(resource);
- }
- catch (MissingResourceException x)
- {
- fmt = def;
- }
- DecimalFormatSymbols dfs = new DecimalFormatSymbols (loc);
- return new DecimalFormat (fmt, dfs);
- }
-
- public static final NumberFormat getCurrencyInstance ()
- {
- return getCurrencyInstance (Locale.getDefault());
- }
-
- public static NumberFormat getCurrencyInstance (Locale loc)
- {
- return computeInstance (loc, "currencyFormat", "$#,##0.00;($#,##0.00)");
- }
-
- public static final NumberFormat getInstance ()
- {
- return getInstance (Locale.getDefault());
- }
-
- public static NumberFormat getInstance (Locale loc)
- {
- // For now always return a number instance.
- return getNumberInstance (loc);
- }
-
- public int getMaximumFractionDigits ()
- {
- return maximumFractionDigits;
- }
-
- public int getMaximumIntegerDigits ()
- {
- return maximumIntegerDigits;
- }
-
- public int getMinimumFractionDigits ()
- {
- return minimumFractionDigits;
- }
-
- public int getMinimumIntegerDigits ()
- {
- return minimumIntegerDigits;
- }
-
- public static final NumberFormat getNumberInstance ()
- {
- return getNumberInstance (Locale.getDefault());
- }
-
- public static NumberFormat getNumberInstance (Locale loc)
- {
- return computeInstance (loc, "numberFormat", "#,##0.###");
- }
-
- public static final NumberFormat getPercentInstance ()
- {
- return getPercentInstance (Locale.getDefault());
- }
-
- public static NumberFormat getPercentInstance (Locale loc)
- {
- return computeInstance (loc, "percentFormat", "#,##0%");
- }
-
- public int hashCode ()
- {
- int hash = super.hashCode();
- hash ^= (maximumFractionDigits + maximumIntegerDigits
- + minimumFractionDigits + minimumIntegerDigits);
- if (groupingUsed)
- hash ^= 0xf0f0;
- if (parseIntegerOnly)
- hash ^= 0x0f0f;
- return hash;
- }
-
- public boolean isGroupingUsed ()
- {
- return groupingUsed;
- }
-
- public boolean isParseIntegerOnly ()
- {
- return parseIntegerOnly;
- }
-
- public NumberFormat ()
- {
- }
-
- public abstract Number parse (String sourceStr, ParsePosition pos);
-
- public Number parse (String sourceStr) throws ParseException
- {
- ParsePosition pp = new ParsePosition (0);
- Number r = parse (sourceStr, pp);
- if (r == null)
- {
- int index = pp.getErrorIndex();
- if (index < 0)
- index = pp.getIndex();
- throw new ParseException ("couldn't parse number", index);
- }
- return r;
- }
-
- public final Object parseObject (String sourceStr, ParsePosition pos)
- {
- return parse (sourceStr, pos);
- }
-
- public void setGroupingUsed (boolean newValue)
- {
- groupingUsed = newValue;
- }
-
- public void setMaximumFractionDigits (int newValue)
- {
- maximumFractionDigits = newValue;
- }
-
- public void setMaximumIntegerDigits (int newValue)
- {
- maximumIntegerDigits = newValue;
- }
-
- public void setMinimumFractionDigits (int newValue)
- {
- minimumFractionDigits = newValue;
- }
-
- public void setMinimumIntegerDigits (int newValue)
- {
- minimumIntegerDigits = newValue;
- }
-
- public void setParseIntegerOnly (boolean value)
- {
- parseIntegerOnly = value;
- }
-
- public final String format (double number)
- {
- StringBuffer sbuf = new StringBuffer(50);
- format (number, sbuf, null);
- return sbuf.toString();
- }
-
- // These field names are fixed by the serialization spec.
- // FIXME: serialization spec also mentions `byte' versions of the
- // min/max fields. We have no use for those, so for now they are
- // omitted.
- protected boolean groupingUsed;
- protected int maximumFractionDigits;
- protected int maximumIntegerDigits;
- protected int minimumFractionDigits;
- protected int minimumIntegerDigits;
- protected boolean parseIntegerOnly;
-}
diff --git a/libjava/java/text/ParseException.java b/libjava/java/text/ParseException.java
deleted file mode 100644
index 6bc9353bcd2..00000000000
--- a/libjava/java/text/ParseException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class ParseException extends Exception
-{
- private int errorOffset;
-
- public ParseException (String msg, int errorOffset)
- {
- super(msg);
- this.errorOffset = errorOffset;
- }
-
- public int getErrorOffset ()
- {
- return errorOffset;
- }
-}
diff --git a/libjava/java/text/ParsePosition.java b/libjava/java/text/ParsePosition.java
deleted file mode 100644
index 4603f79259b..00000000000
--- a/libjava/java/text/ParsePosition.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- * Includes JDK 1.2 methods.
- */
-
-public class ParsePosition
-{
- int index;
- int errorIndex;
-
- public ParsePosition (int index)
- {
- this.index = index;
- errorIndex = -1;
- }
-
- public int getIndex ()
- {
- return index;
- }
-
- public void setIndex (int index)
- {
- this.index = index;
- }
-
- public int getErrorIndex ()
- {
- return errorIndex;
- }
-
- public void setErrorIndex (int ei)
- {
- errorIndex = ei;
- }
-
- public boolean equals (Object obj)
- {
- if (obj != null || ! (obj instanceof ParsePosition))
- return false;
- ParsePosition other = (ParsePosition) obj;
- return index == other.index && errorIndex == other.errorIndex;
- }
-}
diff --git a/libjava/java/text/RuleBasedCollator.java b/libjava/java/text/RuleBasedCollator.java
deleted file mode 100644
index fd4002b1a9f..00000000000
--- a/libjava/java/text/RuleBasedCollator.java
+++ /dev/null
@@ -1,366 +0,0 @@
-// RuleBasedCollator.java - Concrete class for locale-based string compare.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date March 25, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-class RBCElement
-{
- String key;
- char relation;
-
- RBCElement (String key, char relation)
- {
- this.key = key;
- this.relation = relation;
- }
-}
-
-public class RuleBasedCollator extends Collator
-{
- public Object clone ()
- {
- return new RuleBasedCollator (this);
- }
-
- // A helper for CollationElementIterator.next().
- int ceiNext (CollationElementIterator cei)
- {
- if (cei.lookahead_set)
- {
- cei.lookahead_set = false;
- return cei.lookahead;
- }
-
- int save = cei.index;
- int max = cei.text.length();
- String s = null;
-
- // It is possible to have a case where `abc' has a mapping, but
- // neither `ab' nor `abd' do. In this case we must treat `abd' as
- // nothing special.
- boolean found = false;
-
- int i;
- for (i = save + 1; i <= max; ++i)
- {
- s = cei.text.substring(save, i);
- if (prefixes.get(s) == null)
- break;
- found = true;
- }
- // Assume s != null.
-
- Object obj = map.get(s);
- // The special case.
- while (found && obj == null && s.length() > 1)
- {
- --i;
- s = cei.text.substring(save, i);
- obj = map.get(s);
- }
-
- // Update state.
- cei.index = i;
-
- if (obj == null)
- {
- // This idea, and the values, come from JDK.
- // assert (s.length() == 1)
- cei.lookahead_set = true;
- cei.lookahead = s.charAt(0) << 8;
- return 0x7fff << 16;
- }
-
- return ((Integer) obj).intValue();
- }
-
- // A helper for compareTo() that returns the next character that has
- // a nonzero ordering at the indicated strength. This is also used
- // in CollationKey.
- static final int next (CollationElementIterator iter, int strength)
- {
- while (true)
- {
- int os = iter.next();
- if (os == CollationElementIterator.NULLORDER)
- return os;
- int c = 0;
- switch (strength)
- {
- case PRIMARY:
- c = os & ~0xffff;
- break;
- case SECONDARY:
- c = os & ~0x00ff;
- break;
- case TERTIARY:
- case IDENTICAL:
- c = os;
- break;
- }
- if (c != 0)
- return c;
- }
- }
-
- public int compare (String source, String target)
- {
- CollationElementIterator cs, ct;
-
- cs = new CollationElementIterator (source, this);
- ct = new CollationElementIterator (target, this);
-
- while (true)
- {
- int os = next (cs, strength);
- int ot = next (ct, strength);
-
- if (os == CollationElementIterator.NULLORDER
- && ot == CollationElementIterator.NULLORDER)
- break;
- else if (os == CollationElementIterator.NULLORDER)
- {
- // Source string is shorter, so return "less than".
- return -1;
- }
- else if (ot == CollationElementIterator.NULLORDER)
- {
- // Target string is shorter, so return "greater than".
- return 1;
- }
-
- if (os != ot)
- return os - ot;
- }
-
- return 0;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof RuleBasedCollator) || ! super.equals(obj))
- return false;
- RuleBasedCollator rbc = (RuleBasedCollator) obj;
- // FIXME: this is probably wrong. Instead we should compare maps
- // directly.
- return (frenchAccents == rbc.frenchAccents
- && rules.equals(rbc.rules));
- }
-
- public CollationElementIterator getCollationElementIterator (String source)
- {
- StringBuffer expand = new StringBuffer (source.length());
- int max = source.length();
- for (int i = 0; i < max; ++i)
- decomposeCharacter (source.charAt(i), expand);
- return new CollationElementIterator (expand.toString(), this);
- }
-
- public CollationKey getCollationKey (String source)
- {
- return new CollationKey (getCollationElementIterator (source), source,
- strength);
- }
-
- public String getRules ()
- {
- return rules;
- }
-
- public int hashCode ()
- {
- return (frenchAccents ? 1231 : 1237
- ^ rules.hashCode()
- ^ map.hashCode()
- ^ prefixes.hashCode());
- }
-
- private final boolean is_special (char c)
- {
- // Rules from JCL book.
- return ((c >= 0x0009 && c <= 0x000d)
- || (c >= 0x0020 && c <= 0x002f)
- || (c >= 0x003a && c <= 0x0040)
- || (c >= 0x005b && c <= 0x0060)
- || (c >= 0x007b && c <= 0x007e));
- }
-
- private final int text_argument (String rules, int index,
- StringBuffer result)
- {
- result.setLength(0);
- int len = rules.length();
- while (index < len)
- {
- char c = rules.charAt(index);
- if (c == '\'' && index + 2 < len
- && rules.charAt(index + 2) == '\''
- && is_special (rules.charAt(index + 1)))
- index += 2;
- else if (is_special (c) || Character.isWhitespace(c))
- return index;
- result.append(c);
- ++index;
- }
- return index;
- }
-
- public RuleBasedCollator (String rules) throws ParseException
- {
- this.rules = rules;
- this.frenchAccents = false;
-
- // We keep each rule in order in a vector. At the end we traverse
- // the vector and compute collation values from it.
- int insertion_index = 0;
- Vector vec = new Vector ();
-
- StringBuffer argument = new StringBuffer ();
-
- int len = rules.length();
- for (int index = 0; index < len; ++index)
- {
- char c = rules.charAt(index);
-
- // Just skip whitespace.
- if (Character.isWhitespace(c))
- continue;
-
- // Modifier.
- if (c == '@')
- {
- frenchAccents = true;
- continue;
- }
-
- // Check for relation or reset operator.
- if (! (c == '<' || c == ';' || c == ',' || c == '=' || c == '&'))
- throw new ParseException ("invalid character", index);
-
- ++index;
- while (index < len)
- {
- if (! Character.isWhitespace(rules.charAt(index)))
- break;
- ++index;
- }
- if (index == len)
- throw new ParseException ("missing argument", index);
-
- int save = index;
- index = text_argument (rules, index, argument);
- if (argument.length() == 0)
- throw new ParseException ("invalid character", save);
- String arg = argument.toString();
- int item_index = vec.indexOf(arg);
- if (c != '&')
- {
- // If the argument already appears in the vector, then we
- // must remove it in order to re-order.
- if (item_index != -1)
- {
- vec.removeElementAt(item_index);
- if (insertion_index >= item_index)
- --insertion_index;
- }
- RBCElement r = new RBCElement (arg, c);
- vec.insertElementAt(r, insertion_index);
- ++insertion_index;
- }
- else
- {
- // Reset.
- if (item_index == -1)
- throw
- new ParseException ("argument to reset not previously seen",
- save);
- insertion_index = item_index + 1;
- }
-
- // Ugly: in this case the resulting INDEX comes from
- // text_argument, which returns the index of the next
- // character we should examine.
- --index;
- }
-
- // Now construct a hash table that maps strings onto their
- // collation values.
- int primary = 0;
- int secondary = 0;
- int tertiary = 0;
- this.map = new Hashtable ();
- this.prefixes = new Hashtable ();
- Enumeration e = vec.elements();
- while (e.hasMoreElements())
- {
- RBCElement r = (RBCElement) e.nextElement();
- switch (r.relation)
- {
- case '<':
- ++primary;
- secondary = 0;
- tertiary = 0;
- break;
- case ';':
- ++secondary;
- tertiary = 0;
- break;
- case ',':
- ++tertiary;
- break;
- case '=':
- break;
- }
- // This must match CollationElementIterator.
- map.put(r.key, new Integer (primary << 16
- | secondary << 8 | tertiary));
-
- // Make a map of all lookaheads we might need.
- for (int i = r.key.length() - 1; i >= 1; --i)
- prefixes.put(r.key.substring(0, i), Boolean.TRUE);
- }
- }
-
- // This is a helper for clone.
- private RuleBasedCollator (RuleBasedCollator other)
- {
- frenchAccents = other.frenchAccents;
- rules = other.rules;
- decmp = other.decmp;
- strength = other.strength;
- map = other.map;
- prefixes = other.prefixes;
- }
-
- // True if we are using French-style accent ordering.
- private boolean frenchAccents;
-
- // It's easier to just save the rules than to try to recreate them.
- private String rules;
-
- // This maps strings onto collation values.
- private Hashtable map;
- // An entry in this hash means that more lookahead is required for
- // the prefix string.
- private Hashtable prefixes;
-}
diff --git a/libjava/java/text/SimpleDateFormat.java b/libjava/java/text/SimpleDateFormat.java
deleted file mode 100644
index b4012479045..00000000000
--- a/libjava/java/text/SimpleDateFormat.java
+++ /dev/null
@@ -1,522 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-import java.util.*;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: parse is not implemented.
- */
-
-public class SimpleDateFormat extends DateFormat
-{
- private Date defaultCenturyStart;
- private DateFormatSymbols formatData;
- private String pattern;
-
- public SimpleDateFormat ()
- {
- this("dd/MM/yy HH:mm", Locale.getDefault());
- }
-
- public SimpleDateFormat (String pattern)
- {
- this(pattern, Locale.getDefault());
- }
-
- public SimpleDateFormat (String pattern, Locale locale)
- {
- this.pattern = pattern;
- this.calendar = Calendar.getInstance(locale);
- this.numberFormat = NumberFormat.getInstance(locale);
- numberFormat.setGroupingUsed(false);
- this.formatData = new DateFormatSymbols (locale);
- }
-
- public SimpleDateFormat (String pattern, DateFormatSymbols formatData)
- {
- this.pattern = pattern;
- this.formatData = formatData;
- this.calendar = Calendar.getInstance();
- this.numberFormat = NumberFormat.getInstance();
- numberFormat.setGroupingUsed(false);
- }
-
- public Date get2DigitYearStart()
- {
- return defaultCenturyStart;
- }
-
- public void set2DigitYearStart(Date startDate)
- {
- defaultCenturyStart = startDate;
- }
-
- public DateFormatSymbols getDateFormatSymbols ()
- {
- return formatData;
- }
-
- public void setDateFormatSymbols (DateFormatSymbols value)
- {
- formatData = value;
- }
-
- public String toPattern ()
- {
- return pattern;
- }
-
- public void applyPattern (String pattern)
- {
- this.pattern = pattern;
- }
-
- private String applyLocalizedPattern (String pattern,
- String oldChars, String newChars)
- {
- int len = pattern.length();
- StringBuffer buf = new StringBuffer(len);
- boolean quoted = false;
- for (int i = 0; i < len; i++)
- {
- char ch = pattern.charAt(i);
- if (ch == '\'')
- quoted = ! quoted;
- if (! quoted)
- {
- int j = oldChars.indexOf(ch);
- if (j >= 0)
- ch = newChars.charAt(j);
- }
- buf.append(ch);
- }
- return buf.toString();
- }
-
- public void applyLocalizedPattern (String pattern)
- {
- String localChars = formatData.getLocalPatternChars();
- String standardChars = DateFormatSymbols.localPatternCharsDefault;
- pattern = applyLocalizedPattern (pattern, localChars, standardChars);
- applyPattern(pattern);
- }
-
- public String toLocalizedPattern ()
- {
- String localChars = formatData.getLocalPatternChars();
- String standardChars = DateFormatSymbols.localPatternCharsDefault;
- return applyLocalizedPattern (pattern, standardChars, localChars);
- }
-
- private final void append (StringBuffer buf, int value, int numDigits)
- {
- numberFormat.setMinimumIntegerDigits(numDigits);
- numberFormat.format(value, buf, null);
- }
-
- public StringBuffer format (Date date, StringBuffer buf, FieldPosition pos)
- {
- Calendar calendar = (Calendar) this.calendar.clone();
- calendar.setTime(date);
- int len = pattern.length();
- int quoteStart = -1;
- for (int i = 0; i < len; i++)
- {
- char ch = pattern.charAt(i);
- if (ch == '\'')
- {
- // We must do a little lookahead to see if we have two
- // single quotes embedded in quoted text.
- if (i < len - 1 && pattern.charAt(i + 1) == '\'')
- {
- ++i;
- buf.append(ch);
- }
- else
- quoteStart = quoteStart < 0 ? i : -1;
- }
- // From JCL: any characters in the pattern that are not in
- // the ranges of [a..z] and [A..Z] are treated as quoted
- // text.
- else if (quoteStart != -1
- || ((ch < 'a' || ch > 'z')
- && (ch < 'A' || ch > 'Z')))
- buf.append(ch);
- else
- {
- int first = i;
- int value;
- while (++i < len && pattern.charAt(i) == ch) ;
- int count = i - first; // Number of repetions of ch in pattern.
- int beginIndex = buf.length();
- int field;
- i--; // Skip all but last instance of ch in pattern.
- switch (ch)
- {
- case 'd':
- append(buf, calendar.get(Calendar.DATE), count);
- field = DateFormat.DATE_FIELD;
- break;
- case 'D':
- append(buf, calendar.get(Calendar.DAY_OF_YEAR), count);
- field = DateFormat.DAY_OF_YEAR_FIELD;
- break;
- case 'F':
- append(buf, calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH),count);
- field = DateFormat.DAY_OF_WEEK_IN_MONTH_FIELD;
- break;
- case 'E':
- value = calendar.get(calendar.DAY_OF_WEEK);
- buf.append(count <= 3 ? formatData.getShortWeekdays()[value]
- : formatData.getWeekdays()[value]);
- field = DateFormat.DAY_OF_WEEK_FIELD;
- break;
- case 'w':
- append(buf, calendar.get(Calendar.WEEK_OF_YEAR), count);
- field = DateFormat.WEEK_OF_YEAR_FIELD;
- break;
- case 'W':
- append(buf, calendar.get(Calendar.WEEK_OF_MONTH), count);
- field = DateFormat.WEEK_OF_MONTH_FIELD;
- break;
- case 'M':
- value = calendar.get(Calendar.MONTH);
- if (count <= 2)
- append(buf, value + 1, count);
- else
- buf.append(count <= 3 ? formatData.getShortMonths()[value]
- : formatData.getMonths()[value]);
- field = DateFormat.MONTH_FIELD;
- break;
- case 'y':
- value = calendar.get(Calendar.YEAR);
- append(buf, count <= 2 ? value % 100 : value, count);
- field = DateFormat.YEAR_FIELD;
- break;
- case 'K':
- append(buf, calendar.get(Calendar.HOUR), count);
- field = DateFormat.HOUR0_FIELD;
- break;
- case 'h':
- value = ((calendar.get(Calendar.HOUR) + 11) % 12) + 1;
- append(buf, value, count);
- field = DateFormat.HOUR1_FIELD;
- break;
- case 'H':
- append(buf, calendar.get(Calendar.HOUR_OF_DAY), count);
- field = DateFormat.HOUR_OF_DAY0_FIELD;
- break;
- case 'k':
- value = ((calendar.get(Calendar.HOUR_OF_DAY) + 23) % 24) + 1;
- append(buf, value, count);
- field = DateFormat.HOUR_OF_DAY1_FIELD;
- break;
- case 'm':
- append(buf, calendar.get(Calendar.MINUTE), count);
- field = DateFormat.MINUTE_FIELD;
- break;
- case 's':
- append(buf, calendar.get(Calendar.SECOND), count);
- field = DateFormat.SECOND_FIELD;
- break;
- case 'S':
- append(buf, calendar.get(Calendar.MILLISECOND), count);
- field = DateFormat.MILLISECOND_FIELD;
- break;
- case 'a':
- value = calendar.get(calendar.AM_PM);
- buf.append(formatData.getAmPmStrings()[value]);
- field = DateFormat.AM_PM_FIELD;
- break;
- case 'z':
- String zoneID = calendar.getTimeZone().getID();
- String[][] zoneStrings = formatData.getZoneStrings();
- int zoneCount = zoneStrings.length;
- for (int j = 0; j < zoneCount; j++)
- {
- String[] strings = zoneStrings[j];
- if (zoneID.equals(strings[0]))
- {
- j = count > 3 ? 2 : 1;
- if (calendar.get(Calendar.DST_OFFSET) != 0)
- j+=2;
- zoneID = strings[j];
- break;
- }
- }
- buf.append(zoneID);
- field = DateFormat.TIMEZONE_FIELD;
- break;
- default:
- // Note that the JCL is actually somewhat
- // contradictory here. It defines the pattern letters
- // to be a particular list, but also says that a
- // pattern containing an invalid pattern letter must
- // throw an exception. It doesn't describe what an
- // invalid pattern letter might be, so we just assume
- // it is any letter in [a-zA-Z] not explicitly covered
- // above.
- throw new RuntimeException("bad format string");
- }
- if (pos != null && field == pos.getField())
- {
- pos.setBeginIndex(beginIndex);
- pos.setEndIndex(buf.length());
- }
- }
- }
- return buf;
- }
-
- private final boolean expect (String source, ParsePosition pos,
- char ch)
- {
- int x = pos.getIndex();
- boolean r = x < source.length() && source.charAt(x) == ch;
- if (r)
- pos.setIndex(x + 1);
- else
- pos.setErrorIndex(x);
- return r;
- }
-
- public Date parse (String source, ParsePosition pos)
- {
- int fmt_index = 0;
- int fmt_max = pattern.length();
-
- calendar.clear();
- int quote_start = -1;
- for (; fmt_index < fmt_max; ++fmt_index)
- {
- char ch = pattern.charAt(fmt_index);
- if (ch == '\'')
- {
- int index = pos.getIndex();
- if (fmt_index < fmt_max - 1
- && pattern.charAt(fmt_index + 1) == '\'')
- {
- if (! expect (source, pos, ch))
- return null;
- ++fmt_index;
- }
- else
- quote_start = quote_start < 0 ? fmt_index : -1;
- continue;
- }
-
- if (quote_start != -1
- || ((ch < 'a' || ch > 'z')
- && (ch < 'A' || ch > 'Z')))
- {
- if (! expect (source, pos, ch))
- return null;
- continue;
- }
-
- // We've arrived at a potential pattern character in the
- // pattern.
- int first = fmt_index;
- while (++fmt_index < fmt_max && pattern.charAt(fmt_index) == ch)
- ;
- int count = fmt_index - first;
- --fmt_index;
-
- // We can handle most fields automatically: most either are
- // numeric or are looked up in a string vector. In some cases
- // we need an offset. When numeric, `offset' is added to the
- // resulting value. When doing a string lookup, offset is the
- // initial index into the string array.
- int calendar_field;
- boolean is_numeric = true;
- String[] match = null;
- int offset = 0;
- int zone_number = 0;
- switch (ch)
- {
- case 'd':
- calendar_field = Calendar.DATE;
- break;
- case 'D':
- calendar_field = Calendar.DAY_OF_YEAR;
- break;
- case 'F':
- calendar_field = Calendar.DAY_OF_WEEK_IN_MONTH;
- break;
- case 'E':
- is_numeric = false;
- offset = 1;
- calendar_field = Calendar.DAY_OF_WEEK;
- match = (count <= 3
- ? formatData.getShortWeekdays()
- : formatData.getWeekdays());
- break;
- case 'w':
- calendar_field = Calendar.WEEK_OF_YEAR;
- break;
- case 'W':
- calendar_field = Calendar.WEEK_OF_MONTH;
- break;
- case 'M':
- calendar_field = Calendar.MONTH;
- if (count <= 2)
- ;
- else
- {
- is_numeric = false;
- match = (count <= 3
- ? formatData.getShortMonths()
- : formatData.getMonths());
- }
- break;
- case 'y':
- calendar_field = Calendar.YEAR;
- if (count <= 2)
- offset = 1900;
- break;
- case 'K':
- calendar_field = Calendar.HOUR;
- break;
- case 'h':
- calendar_field = Calendar.HOUR;
- offset = -1;
- break;
- case 'H':
- calendar_field = Calendar.HOUR_OF_DAY;
- break;
- case 'k':
- calendar_field = Calendar.HOUR_OF_DAY;
- offset = -1;
- break;
- case 'm':
- calendar_field = Calendar.MINUTE;
- break;
- case 's':
- calendar_field = Calendar.SECOND;
- break;
- case 'S':
- calendar_field = Calendar.MILLISECOND;
- break;
- case 'a':
- is_numeric = false;
- calendar_field = Calendar.AM_PM;
- match = formatData.getAmPmStrings();
- break;
- case 'z':
- // We need a special case for the timezone, because it
- // uses a different data structure than the other cases.
- is_numeric = false;
- calendar_field = Calendar.DST_OFFSET;
- String[][] zoneStrings = formatData.getZoneStrings();
- int zoneCount = zoneStrings.length;
- int index = pos.getIndex();
- boolean found_zone = false;
- for (int j = 0; j < zoneCount; j++)
- {
- String[] strings = zoneStrings[j];
- int k;
- for (k = 1; k < strings.length; ++k)
- {
- if (source.startsWith(strings[k], index))
- break;
- }
- if (k != strings.length)
- {
- if (k > 2)
- ; // FIXME: dst.
- zone_number = 0; // FIXME: dst.
- // FIXME: raw offset to SimpleTimeZone const.
- calendar.setTimeZone(new SimpleTimeZone (1, strings[0]));
- pos.setIndex(index + strings[k].length());
- break;
- }
- }
- if (! found_zone)
- {
- pos.setErrorIndex(pos.getIndex());
- return null;
- }
- break;
- default:
- pos.setErrorIndex(pos.getIndex());
- return null;
- }
-
- // Compute the value we should assign to the field.
- int value;
- if (is_numeric)
- {
- numberFormat.setMinimumIntegerDigits(count);
- Number n = numberFormat.parse(source, pos);
- if (pos == null || ! (n instanceof Long))
- return null;
- value = n.intValue() + offset;
- }
- else if (match != null)
- {
- int index = pos.getIndex();
- int i;
- for (i = offset; i < match.length; ++i)
- {
- if (source.startsWith(match[i], index))
- break;
- }
- if (i == match.length)
- {
- pos.setErrorIndex(index);
- return null;
- }
- pos.setIndex(index + match[i].length());
- value = i;
- }
- else
- value = zone_number;
-
- // Assign the value and move on.
- try
- {
- calendar.set(calendar_field, value);
- }
- // FIXME: what exception is thrown on an invalid
- // non-lenient set?
- catch (IllegalArgumentException x)
- {
- pos.setErrorIndex(pos.getIndex());
- return null;
- }
- }
-
- return calendar.getTime();
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof SimpleDateFormat) || ! super.equals(obj) )
- return false;
- SimpleDateFormat other = (SimpleDateFormat) obj;
- return (DateFormatSymbols.equals(pattern, other.pattern)
- && DateFormatSymbols.equals(formatData, other.formatData)
- && DateFormatSymbols.equals(defaultCenturyStart,
- other.defaultCenturyStart));
- }
-
- public int hashCode ()
- {
- int hash = super.hashCode();
- if (pattern != null)
- hash ^= pattern.hashCode();
- return hash;
- }
-}
diff --git a/libjava/java/text/StringCharacterIterator.java b/libjava/java/text/StringCharacterIterator.java
deleted file mode 100644
index 6eaa8e71cee..00000000000
--- a/libjava/java/text/StringCharacterIterator.java
+++ /dev/null
@@ -1,142 +0,0 @@
-// StringCharacterIterator.java - Iterate over string of Unicode characters.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.text;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date February 22, 1999
- */
-/* Written using "Java Class Libraries", 2nd edition, plus online
- * API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct to 1.1.
- */
-
-public final class StringCharacterIterator implements CharacterIterator
-{
- public Object clone ()
- {
- return (Object) new StringCharacterIterator (text, begin, end, pos);
- }
-
- public char current ()
- {
- // This follows JDK 1.2 semantics and not 1.1 semantics.
- // In 1.1 we would throw an exception if begin==end.
- return (pos < end) ? text.charAt(pos) : CharacterIterator.DONE;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof StringCharacterIterator))
- return false;
- StringCharacterIterator sci = (StringCharacterIterator) obj;
- // The spec says "the same text". We take this to mean equals,
- // not ==.
- return (pos == sci.pos
- && begin == sci.begin
- && end == sci.end
- && text.equals(sci.text));
- }
-
- public char first ()
- {
- pos = begin;
- return current ();
- }
-
- public int getBeginIndex ()
- {
- return begin;
- }
-
- public int getEndIndex ()
- {
- return end;
- }
-
- public int getIndex ()
- {
- return pos;
- }
-
- public int hashCode ()
- {
- // FIXME: this is a terrible hash code. Find a better one.
- return text.hashCode() + pos + begin + end;
- }
-
- public char last ()
- {
- pos = end;
- return current ();
- }
-
- public char next ()
- {
- if (pos == end)
- return CharacterIterator.DONE;
- ++pos;
- return current ();
- }
-
- public char previous ()
- {
- if (pos == begin)
- return CharacterIterator.DONE;
- --pos;
- return current ();
- }
-
- public char setIndex (int idx)
- {
- // In 1.1 we would throw an error if `idx == end'.
- if (idx < begin || idx > end)
- throw new IllegalArgumentException ();
- pos = idx;
- return current ();
- }
-
- public StringCharacterIterator (String text)
- {
- // FIXME: remove check for null once we have compiler/runtime
- // support for NullPointerException.
- this (text, 0, text == null ? 0 : text.length(), 0);
- }
- public StringCharacterIterator (String text, int pos)
- {
- // FIXME: remove check for null once we have compiler/runtime
- // support for NullPointerException.
- this (text, 0, text == null ? 0 : text.length(), pos);
- }
- public StringCharacterIterator (String text, int begin, int end, int pos)
- {
- if (text == null)
- throw new NullPointerException ();
- if (begin < 0 || begin > end || end > text.length()
- // In 1.1 we would also throw if `pos == end'.
- || pos < begin || pos > end)
- throw new IllegalArgumentException ();
-
- this.text = text;
- this.begin = begin;
- this.end = end;
- this.pos = pos;
- }
-
- // String to iterate over.
- private String text;
- // Current position.
- private int pos;
- // Start position in string.
- private int begin;
- // End position in string.
- private int end;
-}
diff --git a/libjava/java/text/natCollator.cc b/libjava/java/text/natCollator.cc
deleted file mode 100644
index 378ac5c448c..00000000000
--- a/libjava/java/text/natCollator.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-// natCollator.cc - Native code for collation.
-
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// Written by Tom Tromey <tromey@cygnus.com>.
-
-#include <config.h>
-
-#include <cni.h>
-#include <jvm.h>
-
-#include <java/text/Collator.h>
-#include <java/lang/StringBuffer.h>
-
-#include <java-chardecomp.h>
-
-void
-java::text::Collator::decomposeCharacter (jchar c,
- java::lang::StringBuffer *buf)
-{
- if (decmp == NO_DECOMPOSITION)
- {
- buf->append(c);
- return;
- }
-
- const struct decomp_entry *base;
- int high;
-
- if (decmp == FULL_DECOMPOSITION)
- {
- base = full_decomposition;
- high = sizeof (full_decomposition) / sizeof (struct decomp_entry);
- }
- else
- {
- base = canonical_decomposition;
- high = sizeof (canonical_decomposition) / sizeof (struct decomp_entry);
- }
-
- // FIXME: this is probably a bit slow for the task at hand.
- int i = high / 2;
- int low = 0;
- while (true)
- {
- if (c < base[i].key)
- high = i;
- else if (c > base[i].key)
- low = i;
- else
- break;
-
- int old = i;
- i = (high + low) / 2;
- if (i == old)
- {
- // Not in table, so it expands to itself.
- buf->append(c);
- return;
- }
- }
-
- for (int j = 0; base[i].value[j] != '\0'; j += 2)
- {
- jchar x = (base[i].value[j] << 8) | (base[i].value[j + 1]);
- buf->append (x);
- }
-}
diff --git a/libjava/java/util/BitSet.java b/libjava/java/util/BitSet.java
deleted file mode 100644
index e5886951714..00000000000
--- a/libjava/java/util/BitSet.java
+++ /dev/null
@@ -1,183 +0,0 @@
-// BitSet - A vector of bits.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-import java.io.Serializable;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 23, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * hashCode algorithm taken from JDK 1.2 docs.
- */
-
-public final class BitSet implements Cloneable, Serializable
-{
- public void and (BitSet bs)
- {
- if (bs == null)
- throw new NullPointerException ();
- int max = Math.min(bits.length, bs.bits.length);
- int i;
- for (i = 0; i < max; ++i)
- bits[i] &= bs.bits[i];
- for ( ; i < bits.length; ++i)
- bits[i] = 0;
- }
-
- public BitSet ()
- {
- this (64);
- }
-
- public BitSet (int nbits)
- {
- if (nbits < 0)
- throw new NegativeArraySizeException ();
- int length = nbits / 64;
- if (nbits % 64 != 0)
- ++length;
- bits = new long[length];
- }
-
- public void clear (int pos)
- {
- if (pos < 0)
- throw new IndexOutOfBoundsException ();
- int bit = pos % 64;
- int offset = pos / 64;
- ensure (offset);
- bits[offset] &= ~ (1 << bit);
- }
-
- public Object clone ()
- {
- BitSet bs = new BitSet (bits.length * 64);
- System.arraycopy(bits, 0, bs.bits, 0, bits.length);
- return bs;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof BitSet))
- return false;
- BitSet bs = (BitSet) obj;
- int max = Math.min(bits.length, bs.bits.length);
- int i;
- for (i = 0; i < max; ++i)
- if (bits[i] != bs.bits[i])
- return false;
- // If one is larger, check to make sure all extra bits are 0.
- for (int j = i; j < bits.length; ++j)
- if (bits[j] != 0)
- return false;
- for (int j = i; j < bs.bits.length; ++j)
- if (bs.bits[j] != 0)
- return false;
- return true;
- }
-
- public boolean get (int pos)
- {
- if (pos < 0)
- throw new IndexOutOfBoundsException ();
-
- int bit = pos % 64;
- int offset = pos / 64;
-
- if (offset >= bits.length)
- return false;
-
- return (bits[offset] & (1 << bit)) == 0 ? false : true;
- }
-
- public int hashCode ()
- {
- long h = 1234;
- for (int i = bits.length - 1; i >= 0; --i)
- h ^= bits[i] * (i + 1);
- return (int) ((h >> 32) ^ h);
- }
-
- public void or (BitSet bs)
- {
- if (bs == null)
- throw new NullPointerException ();
- ensure (bs.bits.length - 1);
- int i;
- for (i = 0; i < bs.bits.length; ++i)
- bits[i] |= bs.bits[i];
- }
-
- public void set (int pos)
- {
- if (pos < 0)
- throw new IndexOutOfBoundsException ();
- int bit = pos % 64;
- int offset = pos / 64;
- ensure (offset);
- bits[offset] |= 1 << bit;
- }
-
- public int size ()
- {
- return bits.length * 64;
- }
-
- public String toString ()
- {
- StringBuffer result = new StringBuffer ("{");
- boolean first = true;
- for (int i = 0; i < bits.length; ++i)
- {
- int bit = 1;
- long word = bits[i];
- for (int j = 0; j < 64; ++j)
- {
- if ((word & bit) != 0)
- {
- if (! first)
- result.append(", ");
- result.append(64 * i + j);
- first = false;
- }
- bit <<= 1;
- }
- }
-
- return result.append("}").toString();
- }
-
- public void xor (BitSet bs)
- {
- if (bs == null)
- throw new NullPointerException ();
- ensure (bs.bits.length - 1);
- int i;
- for (i = 0; i < bs.bits.length; ++i)
- bits[i] ^= bs.bits[i];
- }
-
- // Make sure the vector is big enough.
- private final void ensure (int lastElt)
- {
- if (lastElt + 1 > bits.length)
- {
- long[] nd = new long[lastElt + 1];
- System.arraycopy(bits, 0, nd, 0, bits.length);
- bits = nd;
- }
- }
-
- // The actual bits.
- private long[] bits;
-}
diff --git a/libjava/java/util/Calendar.java b/libjava/java/util/Calendar.java
deleted file mode 100644
index bd022a7a54c..00000000000
--- a/libjava/java/util/Calendar.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 24, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
- * and "The Java Language Specification", ISBN 0-201-63451-1.
- * Status: Unimplemented: getAvailableLocales.
- * No Locale knowledge.
- */
-
-public abstract class Calendar implements java.io.Serializable, Cloneable
-{
- public final static int JANUARY = 0;
- public final static int FEBRUARY = 1;
- public final static int MARCH = 2;
- public final static int APRIL = 3;
- public final static int MAY = 4;
- public final static int JUNE = 5;
- public final static int JULY = 6;
- public final static int AUGUST = 7;
- public final static int SEPTEMBER = 8;
- public final static int OCTOBER = 9;
- public final static int NOVEMBER = 10;
- public final static int DECEMBER = 11;
- public final static int UNDECIMBER = 12;
-
- public final static int SUNDAY = 1;
- public final static int MONDAY = 2;
- public final static int TUESDAY = 3;
- public final static int WEDNESDAY = 4;
- public final static int THURSDAY = 5;
- public final static int FRIDAY = 6;
- public final static int SATURDAY = 7;
-
- public final static int AM = 0;
- public final static int PM = 1;
-
- public final static int FIELD_COUNT = 17;
-
- // These constants are not docuemnted, but were determined using
- // a simple test program.
- public final static int ERA = 0;
- public final static int YEAR = 1;
- public final static int MONTH = 2;
- public final static int WEEK_OF_YEAR = 3;
- public final static int WEEK_OF_MONTH = 4;
- public final static int DATE = 5;
- public final static int DAY_OF_MONTH = 5;
- public final static int DAY_OF_YEAR = 6;
- public final static int DAY_OF_WEEK = 7;
- public final static int DAY_OF_WEEK_IN_MONTH = 8;
- public final static int AM_PM = 9;
- public final static int HOUR = 10;
- public final static int HOUR_OF_DAY = 11;
- public final static int MINUTE = 12;
- public final static int SECOND = 13;
- public final static int MILLISECOND = 14;
- public final static int ZONE_OFFSET = 15;
- public final static int DST_OFFSET = 16;
-
- // The fields are as specified in Sun's "Serialized Form"
- // in the JDK 1.2 beta 4 API specification.
- protected boolean areFieldsSet;
- protected int[] fields;
- private int firstDayOfWeek;
- protected boolean[] isSet;
- protected boolean isTimeSet;
- private boolean lenient;
- private int minimalDaysInFirstWeek;
- private int nextStamp;
- //private int serialVersionOnStream;
- protected long time;
- private TimeZone zone;
-
- protected Calendar ()
- {
- this (null, null);
- }
-
- protected Calendar (TimeZone zone, Locale loc)
- {
- fields = new int[FIELD_COUNT];
- isSet = new boolean[FIELD_COUNT];
- firstDayOfWeek = SUNDAY; // Locale-dependent. FIXME.
- this.zone = zone != null ? zone : TimeZone.getDefault();
- }
-
- public Object clone ()
- {
- try
- {
- return super.clone();
- }
- catch (CloneNotSupportedException ex)
- {
- throw new RuntimeException("internal error - "+ex);
- }
- }
-
- public static Calendar getInstance ()
- {
- return new GregorianCalendar ();
- }
-
- public static Calendar getInstance (TimeZone zone)
- {
- return new GregorianCalendar (zone);
- }
-
- public static Calendar getInstance (Locale locale)
- {
- return new GregorianCalendar (locale);
- }
-
- public static Calendar getInstance (TimeZone zone, Locale locale)
- {
- return new GregorianCalendar (zone, locale);
- }
-
- public boolean isLenient() { return lenient; }
- public void setLenient (boolean lenient) { this.lenient = lenient; }
-
- public int getFirstDayOfWeek ()
- {
- return firstDayOfWeek;
- }
-
- public void setFirstDayOfWeek (int value)
- {
- firstDayOfWeek = value;
- }
-
- public int getMinimalDaysInFirstWeek ()
- {
- return minimalDaysInFirstWeek;
- }
-
- public void setMinimalDaysInFirstWeek (int value)
- {
- minimalDaysInFirstWeek = value;
- }
-
- public TimeZone getTimeZone ()
- {
- return zone;
- }
-
- public void setTimeZone (TimeZone tz)
- {
- zone = tz;
- }
-
- abstract public void add(int fld, int amount);
- abstract public void roll (int fld, boolean up);
-
- public final void set (int year, int month, int date)
- {
- set(YEAR, year);
- set(MONTH, month);
- set(DATE, date);
- }
-
- public final void set (int year, int month, int date, int hour, int minute)
- {
- set(year, month, date);
- set(HOUR_OF_DAY, hour);
- set(MINUTE, minute);
- }
-
- public final void set (int year, int month, int date,
- int hour, int minute, int second)
- {
- set(year, month, date, hour, minute);
- set(SECOND, second);
- }
-
- public final void set (int fld, int value)
- {
- if (! areFieldsSet) computeFields();
- fields[fld] = value;
- isTimeSet = false;
- }
-
- public final void clear (int fld)
- {
- fields[fld] = 0;
- isSet[fld] = false;
- areFieldsSet = false;
- }
-
- public final void clear ()
- {
- for (int fld = FIELD_COUNT; --fld >= 0; )
- {
- fields[fld] = 0;
- isSet[fld] = false;
- }
- areFieldsSet = false;
- }
-
- protected void complete()
- {
- if (!isTimeSet) computeTime();
- if (!areFieldsSet) computeFields();
- }
-
- protected abstract void computeFields();
- protected abstract void computeTime();
-
- protected final int internalGet (int fld) { return fields[fld]; }
-
- public final int get(int fld)
- {
- complete();
- return fields[fld];
- }
-
- public abstract boolean after (Object cal);
- public abstract boolean before (Object cal);
- public abstract boolean equals (Object obj);
-
- protected long getTimeInMillis()
- {
- if (!isTimeSet) computeTime();
- return time;
- }
-
- public final Date getTime() { return new Date(getTimeInMillis()); }
-
- public final void setTime (Date date)
- {
- setTimeInMillis(date.getTime());
- }
-
- protected void setTimeInMillis (long millis)
- {
- time = millis;
- isTimeSet = true;
- clear();
- }
-
- abstract public int getMaximum(int fld);
- abstract public int getMinimum(int fld);
- abstract public int getGreatestMinimum(int fld);
- abstract public int getLeastMaximum(int fld);
-
- public final boolean isSet(int fld) { return isSet[fld]; }
-}
diff --git a/libjava/java/util/ConcurrentModificationException.java b/libjava/java/util/ConcurrentModificationException.java
deleted file mode 100644
index 478fdffebb7..00000000000
--- a/libjava/java/util/ConcurrentModificationException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-/* Added in JDK 1.2 */
-public class ConcurrentModificationException extends RuntimeException
-{
- public ConcurrentModificationException()
- {
- super();
- }
-
- public ConcurrentModificationException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/util/Date.java b/libjava/java/util/Date.java
deleted file mode 100644
index 3d237804e4c..00000000000
--- a/libjava/java/util/Date.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-import java.text.*;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 24, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
- * "The Java Language Specification", ISBN 0-201-63451-1,
- * and O'Reilly's "Java in a Nutshell".
- * Status: Need to re-write toString().
- * Missing: ToGMTString and toLocaleString.
- * Serialization spec: Specifies readObject/writeObject.
- */
-
-public class Date implements java.io.Serializable, Cloneable
-{
- private long millis;
-
- public Date() { millis = System.currentTimeMillis(); }
-
- public Date(long millis) { this.millis = millis; }
-
- public Date(int year, int month, int date, int hours,
- int minutes, int seconds)
- {
- setTime(year, month, date, hours, minutes, seconds);
- }
-
- public Date(int year, int month, int date, int hours, int minutes)
- {
- setTime(year, month, date, hours, minutes, 0);
- }
-
- public Date(int year, int month, int date)
- {
- setTime(year, month, date, 0, 0, 0);
- }
-
- public Date (String s) { this(parse(s)); }
-
- private static int skipParens(String string, int offset)
- {
- int len = string.length();
- int p = 0;
- int i;
-
- for (i = offset; i < len; ++i)
- {
- if (string.charAt(i) == '(')
- ++p;
- else if (string.charAt(i) == ')')
- {
- --p;
- if (p == 0)
- return i + 1;
- // If we've encounted unbalanced parens, just return the
- // leftover one as an ordinary character. It will be
- // caught later in parsing and cause an
- // IllegalArgumentException.
- if (p < 0)
- return i;
- }
- }
-
- // Not sure what to do if `p != 0' here.
- return i;
- }
-
- private static int parseTz(String tok, char sign)
- throws IllegalArgumentException
- {
- int num;
-
- try
- {
- // parseInt doesn't handle '+' so strip off sign.
- num = Integer.parseInt(tok.substring(1));
- }
- catch (NumberFormatException ex)
- {
- throw new IllegalArgumentException(tok);
- }
-
- // Convert hours to minutes.
- if (num < 24)
- num *= 60;
- else
- num = (num / 100) * 60 + num % 100;
-
- return sign == '-' ? -num : num;
- }
-
- private static int parseMonth(String tok)
- {
- // Initialize strings for month names.
- // We could possibly use the fields of DateFormatSymbols but that is
- // localized and thus might not match the English words specified.
- String months[] = { "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY",
- "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER",
- "NOVEMBER", "DECEMBER" };
-
- int i;
- for (i = 0; i < 12; i++)
- if (months[i].startsWith(tok))
- return i;
-
- // Return -1 if not found.
- return -1;
- }
-
- private static boolean parseDayOfWeek(String tok)
- {
- // Initialize strings for days of the week names.
- // We could possibly use the fields of DateFormatSymbols but that is
- // localized and thus might not match the English words specified.
- String daysOfWeek[] = { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY",
- "THURSDAY", "FRIDAY", "SATURDAY" };
-
- int i;
- for (i = 0; i < 7; i++)
- if (daysOfWeek[i].startsWith(tok))
- return true;
-
- return false;
- }
-
- public static long parse(String string)
- {
- // Initialize date/time fields before parsing begins.
- int year = -1;
- int month = -1;
- int day = -1;
- int hour = -1;
- int minute = -1;
- int second = -1;
- int timezone = 0;
- boolean localTimezone = true;
-
- // Trim out any nested stuff in parentheses now to make parsing easier.
- StringBuffer buf = new StringBuffer();
- int off = 0;
- int openParenOffset, tmpMonth;
- while ((openParenOffset = string.indexOf('(', off)) >= 0)
- {
- // Copy part of string leading up to open paren.
- buf.append(string.substring(off, openParenOffset));
- off = skipParens(string, openParenOffset);
- }
- buf.append(string.substring(off));
-
- // Make all chars upper case to simplify comparisons later.
- // Also ignore commas; treat them as delimiters.
- StringTokenizer strtok =
- new StringTokenizer(buf.toString().toUpperCase(), " \t\n\r,");
-
- while (strtok.hasMoreTokens())
- {
- String tok = strtok.nextToken();
- char firstch = tok.charAt(0);
- if ((firstch == '+' || firstch == '-') && year >= 0)
- {
- timezone = parseTz(tok, firstch);
- localTimezone = false;
- }
- else if (firstch >= '0' && firstch <= '9')
- {
- while (tok != null && tok.length() > 0)
- {
- // A colon or slash may be valid in the number.
- // Find the first of these before calling parseInt.
- int colon = tok.indexOf(':');
- int slash = tok.indexOf('/');
- int hyphen = tok.indexOf('-');
- // We choose tok.length initially because it makes
- // processing simpler.
- int punctOffset = tok.length();
- if (colon >= 0)
- punctOffset = Math.min(punctOffset, colon);
- if (slash >= 0)
- punctOffset = Math.min(punctOffset, slash);
- if (hyphen >= 0)
- punctOffset = Math.min(punctOffset, hyphen);
- // Following code relies on -1 being the exceptional
- // case.
- if (punctOffset == tok.length())
- punctOffset = -1;
-
- int num;
- try
- {
- num = Integer.parseInt(punctOffset < 0 ? tok :
- tok.substring(0, punctOffset));
- }
- catch (NumberFormatException ex)
- {
- throw new IllegalArgumentException(tok);
- }
-
- // TBD: Spec says year can be followed by a slash. That might
- // make sense if using YY/MM/DD formats, but it would fail in
- // that format for years <= 70. Also, what about 1900? That
- // is interpreted as the year 3800; seems that the comparison
- // should be num >= 1900 rather than just > 1900.
- // What about a year of 62 - 70? (61 or less could be a (leap)
- // second). 70/MM/DD cause an exception but 71/MM/DD is ok
- // even though there's no ambiguity in either case.
- // For the parse method, the spec as written seems too loose.
- // Until shown otherwise, we'll follow the spec as written.
- if (num > 70 && (punctOffset < 0 || punctOffset == slash))
- year = num > 1900 ? num - 1900 : num;
- else if (punctOffset > 0 && punctOffset == colon)
- {
- if (hour < 0)
- hour = num;
- else
- minute = num;
- }
- else if (punctOffset > 0 && punctOffset == slash)
- {
- if (month < 0)
- month = num - 1;
- else
- day = num;
- }
- else if (hour >= 0 && minute < 0)
- minute = num;
- else if (minute >= 0 && second < 0)
- second = num;
- else if (day < 0)
- day = num;
- else
- throw new IllegalArgumentException(tok);
-
- // Advance string if there's more to process in this token.
- if (punctOffset < 0 || punctOffset + 1 >= tok.length())
- tok = null;
- else
- tok = tok.substring(punctOffset + 1);
- }
- }
- else if (firstch >= 'A' && firstch <= 'Z')
- {
- if (tok.equals("AM"))
- {
- if (hour < 1 || hour > 12)
- throw new IllegalArgumentException(tok);
- if (hour == 12)
- hour = 0;
- }
- else if (tok.equals("PM"))
- {
- if (hour < 1 || hour > 12)
- throw new IllegalArgumentException(tok);
- if (hour < 12)
- hour += 12;
- }
- else if (parseDayOfWeek(tok))
- ; // Ignore it; throw the token away.
- else if (tok.equals("UT") || tok.equals("UTC") || tok.equals("GMT"))
- localTimezone = false;
- else if (tok.startsWith("UT") || tok.startsWith("GMT"))
- {
- int signOffset = 3;
- if (tok.charAt(1) == 'T' && tok.charAt(2) != 'C')
- signOffset = 2;
-
- char sign = tok.charAt(signOffset);
- if (sign != '+' && sign != '-')
- throw new IllegalArgumentException(tok);
-
- timezone = parseTz(tok.substring(signOffset), sign);
- localTimezone = false;
- }
- else if ((tmpMonth = parseMonth(tok)) >= 0)
- month = tmpMonth;
- else if (tok.length() == 3 && tok.charAt(2) == 'T')
- {
- // Convert timezone offset from hours to minutes.
- char ch = tok.charAt(0);
- if (ch == 'E')
- timezone = -5 * 60;
- else if (ch == 'C')
- timezone = -6 * 60;
- else if (ch == 'M')
- timezone = -7 * 60;
- else if (ch == 'P')
- timezone = -8 * 60;
- else
- throw new IllegalArgumentException(tok);
-
- // Shift 60 minutes for Daylight Savings Time.
- if (tok.charAt(1) == 'D')
- timezone += 60;
- else if (tok.charAt(1) != 'S')
- throw new IllegalArgumentException(tok);
-
- localTimezone = false;
- }
- else
- throw new IllegalArgumentException(tok);
- }
- else
- throw new IllegalArgumentException(tok);
- }
-
- // Unspecified minutes and seconds should default to 0.
- if (minute < 0)
- minute = 0;
- if (second < 0)
- second = 0;
-
- // Throw exception if any other fields have not been recognized and set.
- if (year < 0 || month < 0 || day < 0 || hour < 0)
- throw new IllegalArgumentException("Missing field");
-
- // Return the time in either local time or relative to GMT as parsed.
- // If no time-zone was specified, get the local one (in minutes) and
- // convert to milliseconds before adding to the UTC.
- return UTC(year, month, day, hour, minute, second) + (localTimezone ?
- new Date(year, month, day).getTimezoneOffset() * 60 * 1000:
- -timezone * 60 * 1000);
- }
-
- public boolean after (Date when) { return this.millis > when.millis; }
- public boolean before (Date when) { return this.millis < when.millis; }
-
- public boolean equals(Object obj)
- {
- return (obj != null && obj instanceof Date
- && ((Date)obj).millis == this.millis);
- }
-
- public long getTime() { return millis; }
-
- public int hashCode()
- {
- return (int)(millis^(millis>>>32));
- }
-
- private void setTime(int year, int month, int date,
- int hours, int minutes, int seconds)
- {
- Calendar cal = new GregorianCalendar(year+1900, month, date,
- hours, minutes, seconds);
- millis = cal.getTimeInMillis();
- }
-
- public void setTime(long millis) { this.millis = millis; }
-
- private int getField (int fld)
- {
- Calendar cal = new GregorianCalendar();
- cal.setTime(this);
- return cal.get(fld);
- }
-
- public int getYear ()
- {
- return getField(Calendar.YEAR) - 1900;
- }
-
- public int getMonth ()
- {
- return getField(Calendar.MONTH);
- }
-
- public int getDate ()
- {
- return getField(Calendar.DATE);
- }
-
- public int getDay ()
- {
- return getField(Calendar.DAY_OF_WEEK) - 1;
- }
-
- public int getHours ()
- {
- return getField(Calendar.HOUR_OF_DAY);
- }
-
- public int getMinutes ()
- {
- return getField(Calendar.MINUTE);
- }
-
- public int getSeconds ()
- {
- return getField(Calendar.SECOND);
- }
-
- private void setField (int fld, int value)
- {
- Calendar cal = new GregorianCalendar();
- cal.setTime(this);
- cal.set(fld, value);
- millis = cal.getTimeInMillis();
- }
-
- public void setYear (int year)
- {
- setField(Calendar.YEAR, 1900 + year);
- }
-
- public void setMonth (int month)
- {
- setField(Calendar.MONTH, month);
- }
-
- public void setDate (int date)
- {
- setField(Calendar.DATE, date);
- }
-
- public void setHours (int hours)
- {
- setField(Calendar.HOUR_OF_DAY, hours);
- }
-
- public void setMinutes (int minutes)
- {
- setField(Calendar.MINUTE, minutes);
- }
-
- public void setSeconds (int seconds)
- {
- setField(Calendar.SECOND, seconds);
- }
-
- public int getTimezoneOffset ()
- {
- Calendar cal = new GregorianCalendar();
- cal.setTime(this);
- return - (cal.get(Calendar.ZONE_OFFSET)
- + cal.get(Calendar.DST_OFFSET)/(60*1000));
- }
-
- public native String toString ();
-
- // TODO: toLocaleString
- // TODO: toGMTString
-
- public static long UTC (int year, int month, int date,
- int hours, int minutes, int seconds)
- {
- GregorianCalendar cal = new GregorianCalendar (TimeZone.zoneGMT);
- cal.set(year+1900, month, date, hours, minutes, seconds);
- return cal.getTimeInMillis();
- }
-}
diff --git a/libjava/java/util/Dictionary.java b/libjava/java/util/Dictionary.java
deleted file mode 100644
index 2c27112106d..00000000000
--- a/libjava/java/util/Dictionary.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 31, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-/* The JDK 1.2 beta doc indicates that Dictionary is obsolete and that the
- * new java.util.Map interface should be used instead.
- */
-public abstract class Dictionary
-{
- public abstract Enumeration elements();
- public abstract Object get(Object key) throws NullPointerException;
- public abstract boolean isEmpty();
- public abstract Enumeration keys();
- public abstract Object put(Object key, Object elem)
- throws NullPointerException;
- public abstract Object remove(Object key) throws NullPointerException;
- public abstract int size();
-}
diff --git a/libjava/java/util/EmptyStackException.java b/libjava/java/util/EmptyStackException.java
deleted file mode 100644
index 9c4c0b0b4f8..00000000000
--- a/libjava/java/util/EmptyStackException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class EmptyStackException extends RuntimeException
-{
- public EmptyStackException()
- {
- super();
- }
-}
diff --git a/libjava/java/util/Enumeration.java b/libjava/java/util/Enumeration.java
deleted file mode 100644
index 233288843e0..00000000000
--- a/libjava/java/util/Enumeration.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1.
- * Status: Believed complete and correct
- */
-
-public interface Enumeration
-{
- public boolean hasMoreElements();
- public Object nextElement() throws NoSuchElementException;
-}
diff --git a/libjava/java/util/EventListener.java b/libjava/java/util/EventListener.java
deleted file mode 100644
index 394d98c28ff..00000000000
--- a/libjava/java/util/EventListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// EventListener.java - Listen for events from event source.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Believed complete and correct.
- */
-
-public interface EventListener
-{
-}
diff --git a/libjava/java/util/EventObject.java b/libjava/java/util/EventObject.java
deleted file mode 100644
index 178ecff3e79..00000000000
--- a/libjava/java/util/EventObject.java
+++ /dev/null
@@ -1,42 +0,0 @@
-// EventObject.java - Represent events fired by objects.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Believed complete, but not fully correct.
- */
-
-public class EventObject implements java.io.Serializable
-{
- public EventObject (Object source)
- {
- this.source = source;
- }
-
- public Object getSource ()
- {
- return source;
- }
-
- public String toString ()
- {
- // FIXME.
- return getSource().toString();
- }
-
- // Source of the event.
- protected transient Object source;
-}
diff --git a/libjava/java/util/GregorianCalendar.java b/libjava/java/util/GregorianCalendar.java
deleted file mode 100644
index 26a9814fc8c..00000000000
--- a/libjava/java/util/GregorianCalendar.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 24, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
- * and "The Java Language Specification", ISBN 0-201-63451-1.
- * Status: "leniency" is not handled, and neither is roll-over in
- * add and roll. This is partly because of unclear specification.
- * hashCode has no spec.
- */
-
-public class GregorianCalendar extends Calendar {
- public static final int BC = 0;
- public static final int AD = 1;
-
- // The fields are as specified in Sun's "Serialized Form"
- // in the JDK 1.2 beta 4 API specification.
- // Value from a simple test program (getGregorianChange.getTime()).
- long gregorianCutover = -12219292800000L;
-
- private final static int[] mins = {
- 0 /* ERA */,
- 1 /* YEAR */,
- 0 /* MONTH */,
- 0 /* WEEK_OF_YEAR */,
- 0 /* WEEK_OF_MONTH */,
- 1 /* DATE */,
- 1 /* DAY_OF_YEAR */,
- 1 /* DAY_OF_WEEK */,
- -1 /* DAY_OF_WEEK_IN_MONTH */,
- 0 /* AM_PM */,
- 0 /* HOUR */,
- 0 /* HOUR_OF_DAY */,
- 0 /* MINUTE */,
- 0 /* SECOND */,
- 0 /* MILLISECOND */,
- -43200000 /* ZONE_OFFSET */,
- 0 /* DST_OFFSET */
- };
-
- private final static int[] maxs = {
- 1 /* ERA */,
- 5000000 /* YEAR */,
- 11 /* MONTH */,
- 54 /* WEEK_OF_YEAR */,
- 6 /* WEEK_OF_MONTH */,
- 31 /* DATE */,
- 366 /* DAY_OF_YEAR */,
- 7 /* DAY_OF_WEEK */,
- 6 /* DAY_OF_WEEK_IN_MONTH */,
- 1 /* AM_PM */,
- 12 /* HOUR */,
- 23 /* HOUR_OF_DAY */,
- 59 /* MINUTE */,
- 59 /* SECOND */,
- 999 /* MILLISECOND */,
- 43200000 /* ZONE_OFFSET */,
- 3600000 /* DST_OFFSET */
- };
-
- private final static int[] leastMaximums = {
- 1 /* ERA */,
- 5000000 /* YEAR */,
- 11 /* MONTH */,
- 53 /* WEEK_OF_YEAR */,
- 6 /* WEEK_OF_MONTH */,
- 28 /* DATE */,
- 365 /* DAY_OF_YEAR */,
- 7 /* DAY_OF_WEEK */,
- 4 /* DAY_OF_WEEK_IN_MONTH */,
- 1 /* AM_PM */,
- 11 /* HOUR */,
- 23 /* HOUR_OF_DAY */,
- 59 /* MINUTE */,
- 59 /* SECOND */,
- 999 /* MILLISECOND */,
- 43200000 /* ZONE_OFFSET */,
- 3600000 /* DST_OFFSET */
- };
-
- public GregorianCalendar ()
- {
- this(null, null);
- }
-
- public GregorianCalendar (TimeZone zone)
- {
- this (zone, null);
- }
-
- public GregorianCalendar (Locale locale)
- {
- this (null, locale);
- }
-
- public GregorianCalendar (TimeZone zone, Locale locale)
- {
- super (zone, locale);
- setDefaultTime ();
- }
-
- public GregorianCalendar (int year, int month, int date)
- {
- this((TimeZone) null);
- setDefaultTime ();
- set (year, month, date);
- }
-
- public GregorianCalendar (int year, int month, int date,
- int hour, int minute)
- {
- this((TimeZone) null);
- setDefaultTime ();
- set (year, month, date, hour, minute);
- }
-
- public GregorianCalendar (int year, int month, int date,
- int hour, int minute, int second)
- {
- this((TimeZone) null);
- setDefaultTime ();
- set (year, month, date, hour, minute, second);
- }
-
- private final void setDefaultTime ()
- {
- setTimeInMillis (System.currentTimeMillis());
- }
-
- public int getMinimum(int calfield) { return mins[calfield]; }
- public int getGreatestMinimum(int calfield) { return mins[calfield]; }
- public int getMaximum(int calfield) { return maxs[calfield]; }
- public int getLeastMaximum(int calfield) { return leastMaximums[calfield]; }
-
- protected native void computeFields();
-
- protected native void computeTime();
-
- public void add (int fld, int amount)
- {
- if (fld >= ZONE_OFFSET)
- throw new IllegalArgumentException("bad field to add");
- fields[fld] += amount;
- adjust(fld);
- }
-
- public void roll (int fld, boolean up)
- {
- if (fld >= ZONE_OFFSET)
- throw new IllegalArgumentException("bad field to roll");
-
- int old = fields[fld];
- if (up)
- {
- fields[fld] = old == getMaximum(fld) ? getMinimum(fld)
- : old + 1;
- }
- else
- {
- fields[fld] = old == getMinimum(fld) ? getMaximum(fld)
- : old - 1;
- }
- }
-
- private void adjust (int fld)
- {
- int value = fields[fld];
- int radix = maxs[fld] + 1;
- switch (fld)
- {
- case MONTH:
- case SECOND:
- case MILLISECOND:
- if (value >= radix)
- {
- int next = value / radix;
- fields[fld] = value - radix * next;
- fields[fld - 1] += next;
- adjust(fld - 1);
- }
- else if (value < 0) // min[fld]
- {
- int next = (value - radix - 1) / radix;
- fields[fld] = value - radix * next;
- fields[fld - 1] += next;
- adjust(fld - 1);
- }
- break;
- }
- }
-
- public final Date getGregorianChange() { return new Date(gregorianCutover); }
- public void setGregorianChange (Date date)
- { gregorianCutover = date.getTime(); }
-
- public boolean isLeapYear(int year)
- {
- if ((year % 4) != 0)
- return false;
- if ((year % 100) != 0 || (year % 400) == 0)
- return true;
- // year divisible by 100 but not 400.
- GregorianCalendar date = new GregorianCalendar(year, FEBRUARY, 28);
- return gregorianCutover < date.getTimeInMillis();
- }
-
- public boolean after (Object cal)
- {
- return cal instanceof Calendar
- && getTimeInMillis() > ((Calendar) cal).getTimeInMillis();
- }
-
- public boolean before (Object cal)
- {
- return cal instanceof Calendar
- && getTimeInMillis() < ((Calendar) cal).getTimeInMillis();
- }
-
- public boolean equals (Object obj)
- {
- if (obj == null || ! (obj instanceof GregorianCalendar))
- return false;
- GregorianCalendar other = (GregorianCalendar) obj;
-
- for (int i = FIELD_COUNT; --i >= 0; )
- {
- boolean set = isSet[i];
- if (set != other.isSet[i]
- || (set && fields[i] != other.fields[i]))
- return false;
- }
- if (areFieldsSet != other.areFieldsSet
- || isTimeSet != other.isTimeSet
- || (isTimeSet && time != other.time)
- || getFirstDayOfWeek() != other.getFirstDayOfWeek()
- || getMinimalDaysInFirstWeek() != other.getMinimalDaysInFirstWeek()
- || isLenient() != other.isLenient()
- || ! getTimeZone().equals(other.getTimeZone()))
- return false;
- return true;
- }
-
- public int hashCode ()
- {
- int hashcode = 0;
- for (int i = FIELD_COUNT; --i >= 0; )
- {
- if (isSet[i])
- hashcode += 37 * fields[i];
- }
- if (isTimeSet)
- hashcode += 89 * time;
- return hashcode;
- }
-}
diff --git a/libjava/java/util/Hashtable.java b/libjava/java/util/Hashtable.java
deleted file mode 100644
index 51ab2b16ac3..00000000000
--- a/libjava/java/util/Hashtable.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-import java.io.Serializable;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 24, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-class HashtableEntry
-{
- public Object key;
- public Object value;
- public HashtableEntry nextEntry = null;
-
- public HashtableEntry(Object key, Object value)
- {
- this.key = key;
- this.value = value;
- }
-}
-
-class HashtableEnumeration implements Enumeration
-{
- // TBD: Enumeration is not safe if new elements are put in the table as
- // this could cause a rehash and we'd completely lose our place. Even
- // without a rehash, it is undetermined if a new element added would
- // appear in the enumeration. The spec says nothing about this, but
- // the "Java Class Libraries" book infers that modifications to the
- // hashtable during enumeration causes indeterminate results. Don't do it!
- // A safer way would be to make a copy of the table (e.g. into a vector)
- // but this is a fair bit more expensive.
- private HashtableEntry[] bucket;
- private int bucketIndex;
- private HashtableEntry elem;
- private int enumCount;
- private int size;
- private boolean values;
-
- public HashtableEnumeration(HashtableEntry[] bkt, int sz, boolean isValues)
- {
- bucket = bkt;
- bucketIndex = -1;
- enumCount = 0;
- elem = null;
- size = sz;
- values = isValues;
- }
-
- public boolean hasMoreElements()
- {
- return enumCount < size;
- }
-
- public Object nextElement()
- {
- if (!hasMoreElements())
- throw new NoSuchElementException();
-
- // Find next element
- if (elem != null) // In the middle of a bucket
- elem = elem.nextEntry;
- while (elem == null) // Find the next non-empty bucket
- elem = bucket[++bucketIndex];
-
- enumCount++;
- return values ? elem.value : elem.key;
- }
-}
-
-// TBD: The algorithm used here closely reflects what is described in
-// the "Java Class Libraries" book. The "Java Language Spec" is much
-// less specific about the implementation. Because of this freedom
-// provided by the actual spec, hash table algorithms should be
-// investigated to see if there is a better alternative to this one.
-
-// TODO12:
-// public class Hashtable extends Dictionary
-// implements Map, Cloneable, Serializable
-
-public class Hashtable extends Dictionary implements Cloneable, Serializable
-{
- private HashtableEntry bucket[];
- private float loadFactor;
- private int hsize = 0;
-
- public Hashtable()
- {
- // The "Java Class Libraries" book (p. 919) says that initial size in this
- // case is 101 (a prime number to increase the odds of even distribution).
- this(101, 0.75F);
- }
-
- public Hashtable(int initialSize)
- {
- this(initialSize, 0.75F);
- }
-
- public Hashtable(int initialSize, float loadFactor)
- {
- if (initialSize < 0 || loadFactor <= 0.0 || loadFactor > 1.0)
- throw new IllegalArgumentException();
-
- bucket = new HashtableEntry[initialSize];
- this.loadFactor = loadFactor;
- }
-
- // TODO12:
- // public Hashtable(Map t)
- // {
- // }
-
- public synchronized void clear()
- {
- // Aid the GC by nulling out the entries in the hash table.
- for (int i = 0; i < bucket.length; i++)
- {
- HashtableEntry elem = bucket[i];
- bucket[i] = null; // May already be null.
- while (elem != null)
- {
- HashtableEntry next = elem.nextEntry;
- elem.nextEntry = null; // May already be null.
- elem = next;
- }
- }
- hsize = 0;
- }
-
- public synchronized Object clone()
- {
- // New hashtable will have same initialCapacity and loadFactor.
- Hashtable newTable = new Hashtable(bucket.length, loadFactor);
-
- HashtableEntry newElem, prev = null;
- for (int i = 0; i < bucket.length; i++)
- for (HashtableEntry elem = bucket[i]; elem != null; elem = elem.nextEntry)
- {
- // An easy but expensive method is newTable.put(elem.key, elem.value);
- // Since the hash tables are the same size, the buckets and collisions
- // will be the same in the new one, so we can just clone directly.
- // This is much cheaper than using put.
- newElem = new HashtableEntry(elem.key, elem.value);
- if (newTable.bucket[i] == null)
- prev = newTable.bucket[i] = newElem;
- else
- prev = prev.nextEntry = newElem;
- }
-
- newTable.hsize = this.hsize;
- return newTable;
- }
-
- public synchronized boolean contains(Object value) throws NullPointerException
- {
- // An exception is thrown here according to the JDK 1.2 doc.
- if (value == null)
- throw new NullPointerException();
-
- for (int i = 0; i < bucket.length; i++)
- for (HashtableEntry elem = bucket[i]; elem != null; elem = elem.nextEntry)
- if (elem.value.equals(value))
- return true;
-
- return false;
- }
-
- public synchronized boolean containsKey(Object key)
- {
- // The Map interface mandates that we throw this.
- if (key == null)
- throw new NullPointerException ();
-
- for (HashtableEntry elem = bucket[Math.abs(key.hashCode()
- % bucket.length)];
- elem != null; elem = elem.nextEntry)
- if (elem.key.equals(key))
- return true;
-
- return false;
- }
-
- public synchronized Enumeration elements()
- {
- return new HashtableEnumeration(bucket, hsize, true);
- }
-
- public synchronized Object get(Object key)
- {
- // The Dictionary interface mandates that get() throw a
- // NullPointerException if key is null.
- if (key == null)
- throw new NullPointerException ();
-
- for (HashtableEntry elem = bucket[Math.abs (key.hashCode()
- % bucket.length)];
- elem != null; elem = elem.nextEntry)
- if (elem.key.equals(key))
- return elem.value;
-
- return null;
- }
-
- public boolean isEmpty()
- {
- return this.hsize <= 0;
- }
-
- public synchronized Enumeration keys()
- {
- return new HashtableEnumeration(bucket, hsize, false);
- }
-
- public synchronized Object put(Object key, Object value)
- throws NullPointerException
- {
- if (key == null || value == null)
- throw new NullPointerException();
-
- HashtableEntry prevElem = null;
- final int index = Math.abs(key.hashCode() % bucket.length);
-
- for (HashtableEntry elem = bucket[index]; elem != null;
- prevElem = elem, elem = elem.nextEntry)
- if (elem.key.equals(key))
- {
- // Update with the new value and then return the old one.
- Object oldVal = elem.value;
- elem.value = value;
- return oldVal;
- }
-
- // At this point, we know we need to add a new element.
- HashtableEntry newElem = new HashtableEntry(key, value);
- if (bucket[index] == null)
- bucket[index] = newElem;
- else
- prevElem.nextEntry = newElem;
-
- if (++hsize > loadFactor * bucket.length)
- rehash();
-
- return null;
- }
-
- protected void rehash()
- {
- // Create a new table which is twice the size (plus one) of the old.
- // One is added to make the new array length odd so it thus has at least
- // a (small) possibility of being a prime number.
- HashtableEntry oldBucket[] = bucket;
- bucket = new HashtableEntry[bucket.length * 2 + 1];
-
- // Copy over each entry into the new table
- HashtableEntry elem;
- for (int i = 0; i < oldBucket.length; i++)
- for (elem = oldBucket[i]; elem != null; elem = elem.nextEntry)
- {
- // Calling put(elem.key, elem.value); would seem like the easy way
- // but it is dangerous since put increases 'hsize' and calls rehash!
- // This could become infinite recursion under the right
- // circumstances. Instead, we'll add the element directly; this is a
- // bit more efficient than put since the data is already verified.
- final int index = Math.abs(elem.key.hashCode() % bucket.length);
- HashtableEntry newElem = new HashtableEntry(elem.key, elem.value);
- if (bucket[index] == null)
- bucket[index] = newElem;
- else
- {
- // Since this key can't already be in the table, just add this
- // in at the top of the bucket.
- newElem.nextEntry = bucket[index];
- bucket[index] = newElem;
- }
- }
- }
-
- public synchronized Object remove(Object key)
- {
- // TBD: Hmm, none of the various docs say to throw an exception here.
- if (key == null)
- return null;
-
- Object retval;
- HashtableEntry prevElem = null;
- final int index = Math.abs(key.hashCode() % bucket.length);
-
- for (HashtableEntry elem = bucket[index]; elem != null;
- prevElem = elem, elem = elem.nextEntry)
- if (elem.key.equals(key))
- {
- retval = elem.value;
- if (prevElem == null)
- bucket[index] = elem.nextEntry;
- else
- prevElem.nextEntry = elem.nextEntry;
- --hsize;
- return retval;
- }
-
- return null;
- }
-
- public int size()
- {
- return this.hsize;
- }
-
- public synchronized String toString()
- {
- // Following the Java Lang Spec 21.5.4 (p. 636).
-
- Enumeration keys = keys();
- Enumeration values = elements();
-
- // Prepend first element with open bracket
- StringBuffer result = new StringBuffer("{");
-
- // add first element if one exists
- // TBD: Seems like it is more efficient to catch the exception than
- // to call hasMoreElements each time around.
- try
- {
- result.append(keys.nextElement().toString() + "=" +
- values.nextElement().toString());
- }
- catch (NoSuchElementException ex)
- {
- }
-
- // Prepend subsequent elements with ", "
- try
- {
- while (true)
- result.append(", " + keys.nextElement().toString() + "=" +
- values.nextElement().toString());
- }
- catch (NoSuchElementException ex)
- {
- }
-
- // Append last element with closing bracket
- result.append("}");
- return result.toString();
- }
-
- // TODO12:
- // public Set entrySet()
- // {
- // }
-
- // TODO12:
- // public Set keySet()
- // {
- // }
-
- // Since JDK 1.2:
- // This method is identical to contains but is part of the 1.2 Map interface.
- // TBD: Should contains return containsValue instead? Depends on which
- // will be called more typically.
- public synchronized boolean containsValue(Object value)
- {
- return this.contains(value);
- }
-
- // TODO12:
- // public boolean equals(Object o)
- // {
- // }
-
- // TODO12:
- // public boolean hashCode()
- // {
- // }
-
- // TODO12:
- // public void putAll(Map t)
- // {
- // }
-
- // TODO12:
- // public Collection values()
- // {
- // }
-}
diff --git a/libjava/java/util/ListResourceBundle.java b/libjava/java/util/ListResourceBundle.java
deleted file mode 100644
index a855c459297..00000000000
--- a/libjava/java/util/ListResourceBundle.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Anthony Green <green@cygnus.com>
- * @date November 26, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
- * and "The Java Language Specification", ISBN 0-201-63451-1. */
-
-public abstract class ListResourceBundle extends ResourceBundle
-{
- public final Object handleGetObject(String key)
- {
- Object a[][] = getContents();
-
- for (int i = 0; i < a.length; i++)
- {
- if (key.compareTo((String) a[i][0]) == 0)
- return a[i][1];
- }
- throw new MissingResourceException("can't find handle",
- getClass().getName(),
- key);
- }
-
- public Enumeration getKeys()
- {
- Object a[][] = getContents();
-
- Vector keys = new Vector(a.length);
-
- for (int i = 0; i < a.length; i++)
- keys.addElement(a[i][0]);
-
- return keys.elements();
- }
-
- protected abstract Object[][] getContents();
-
- public ListResourceBundle()
- {
- }
-}
diff --git a/libjava/java/util/Locale.java b/libjava/java/util/Locale.java
deleted file mode 100644
index 627841499aa..00000000000
--- a/libjava/java/util/Locale.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 24, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
- * and "The Java Language Specification", ISBN 0-201-63451-1.
- * Status: None of the getDisplayXXX or getISO3XXX methods are implemented.
- */
-public final class Locale implements java.io.Serializable, Cloneable
-{
- // The fields are as specified in Sun's "Serialized Form"
- // in the JDK 1.2 beta 4 API specification.
- private String country;
- private int hashcode;
- private String language;
- private String variant;
- private static Locale defaultLocale;
-
- // FIXME: many are still missing.
- public static final Locale CANADA = new Locale ("en", "CA");
- public static final Locale FRANCE = new Locale ("fr", "FR");
- public static final Locale JAPAN = new Locale ("ja", "JP");
- public static final Locale UK = new Locale ("en", "GB");
- public static final Locale US = new Locale ("en", "US");
-
- public Locale (String languageCode, String countryCode)
- {
- this (languageCode, countryCode, "");
- }
-
- public Locale (String languageCode, String countryCode,
- String variantCode)
- {
- // We must explicitly check the arguments.
- if (languageCode == null || countryCode == null
- || variantCode == null)
- throw new NullPointerException ();
- language = languageCode.toLowerCase();
- country = countryCode.toUpperCase();
- variant = variantCode.toUpperCase();
- hashcode = (languageCode.hashCode()
- ^ countryCode.hashCode()
- ^ variantCode.hashCode());
- }
-
- public Object clone ()
- {
- return (Object) new Locale (language, country, variant);
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof Locale))
- return false;
- Locale loc = (Locale) obj;
- return (language.equals(loc.language)
- && country.equals(loc.country)
- && variant.equals(loc.variant));
- }
-
- public String getCountry ()
- {
- return country;
- }
-
- public String getLanguage ()
- {
- return language;
- }
-
- public String getVariant ()
- {
- return variant;
- }
-
- public int hashCode ()
- {
- return hashcode;
- }
-
- private static synchronized Locale setDefault()
- {
- if (defaultLocale != null)
- return defaultLocale;
- String language = System.getProperty("user.language");
- String country = System.getProperty("user.region");
- defaultLocale = new Locale (language == null ? "en" : language,
- country == null ? "" : country);
- return defaultLocale;
- }
-
- public static Locale getDefault ()
- {
- return defaultLocale == null ? setDefault() : defaultLocale;
- }
-
- public static void setDefault (Locale newLocale)
- {
- defaultLocale = newLocale;
- }
-
- public String toString ()
- {
- StringBuffer result = new StringBuffer(20);
- result.append(language);
- result.append('_');
- result.append(country);
- if (variant.length() > 0)
- {
- result.append('_');
- result.append(variant);
- }
- return result.toString();
- }
-}
diff --git a/libjava/java/util/MissingResourceException.java b/libjava/java/util/MissingResourceException.java
deleted file mode 100644
index e24cd6aa6dd..00000000000
--- a/libjava/java/util/MissingResourceException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class MissingResourceException extends RuntimeException
-{
- private String className;
- private String key;
-
- public MissingResourceException(String msg, String cName, String k)
- {
- super(msg);
- className = cName;
- key = k;
- }
-
- public String getClassName()
- {
- return className;
- }
-
- public String getKey()
- {
- return key;
- }
-}
-
diff --git a/libjava/java/util/NoSuchElementException.java b/libjava/java/util/NoSuchElementException.java
deleted file mode 100644
index 2e6d0247c97..00000000000
--- a/libjava/java/util/NoSuchElementException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class NoSuchElementException extends RuntimeException
-{
- public NoSuchElementException()
- {
- super();
- }
-
- public NoSuchElementException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/util/Observable.java b/libjava/java/util/Observable.java
deleted file mode 100644
index 627892ef061..00000000000
--- a/libjava/java/util/Observable.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class Observable
-{
- /* tracks whether this object has changed */
- private boolean changed;
-
- /* list of the Observers registered as interested in this Observable */
- private Vector observerVec;
-
- /* TBD: This might be better implemented as an Observer[]
- * but that would mean writing more code rather than making use of
- * the existing Vector class (this also implies a larger text code
- * space in resulting executables). The tradeoff is one of speed
- * (manipulating the Observer[] directly) vs. size/reuse. In the future,
- * we may decide to make the tradeoff and reimplement with an Observer[].
- */
-
- public Observable()
- {
- changed = false;
- observerVec = new Vector();
- }
-
- public synchronized void addObserver(Observer obs)
- {
- // JDK 1.2 spec says not to add this if it is already there
- if (!observerVec.contains(obs))
- observerVec.addElement(obs);
- }
-
- protected synchronized void clearChanged()
- {
- changed = false;
- }
-
- public synchronized int countObservers()
- {
- return observerVec.size();
- }
-
- public synchronized void deleteObserver(Observer obs)
- {
- observerVec.removeElement(obs);
- }
-
- public synchronized void deleteObservers()
- {
- observerVec.removeAllElements();
- }
-
- public synchronized boolean hasChanged()
- {
- return changed;
- }
-
- public void notifyObservers()
- {
- notifyObservers(null);
- }
-
- public void notifyObservers(Object arg)
- {
- if (changed)
- {
- /* The JDK 1.2 spec states that though the order of notification
- * is unspecified in subclasses, in Observable it is in the order
- * of registration.
- */
- for (int i = 0, numObs = observerVec.size(); i < numObs; i++)
- ((Observer) (observerVec.elementAt(i))).update(this, arg);
- changed = false;
- }
- }
-
- protected synchronized void setChanged()
- {
- changed = true;
- }
-}
diff --git a/libjava/java/util/Observer.java b/libjava/java/util/Observer.java
deleted file mode 100644
index c131f3bbc13..00000000000
--- a/libjava/java/util/Observer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-public interface Observer
-{
- public void update(Observable observed, Object arg);
-}
diff --git a/libjava/java/util/Properties.java b/libjava/java/util/Properties.java
deleted file mode 100644
index 2988e7be5fe..00000000000
--- a/libjava/java/util/Properties.java
+++ /dev/null
@@ -1,380 +0,0 @@
-// Properties - Property list representation.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.PushbackReader;
-
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date October 26, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * Status: Complete to JDK 1.1.
- */
-
-public class Properties extends Hashtable
-{
- protected Properties defaults;
-
- public String getProperty (String propName)
- {
- return getProperty (propName, null);
- }
-
- public String getProperty (String propName, String defVal)
- {
- String r = (String) get (propName);
- if (r == null)
- {
- if (defaults != null)
- r = defaults.getProperty(propName, defVal);
- else
- r = defVal;
- }
- return r;
- }
-
- public void list (PrintStream out)
- {
- Enumeration e = propertyNames ();
- while (e.hasMoreElements())
- {
- String key = (String) e.nextElement();
- String value = getProperty(key);
- if (value != null)
- {
- if (value.length() > 40)
- {
- // JDK compatibility.
- value = value.substring(0, 37) + "...";
- }
- out.print(key);
- out.print("=");
- out.println(value);
- }
- }
- }
-
- public void list (PrintWriter writer)
- {
- Enumeration e = propertyNames ();
- while (e.hasMoreElements())
- {
- String key = (String) e.nextElement();
- String value = getProperty(key);
- if (value != null)
- {
- if (value.length() > 40)
- {
- // JDK compatibility.
- value = value.substring(0, 37) + "...";
- }
- writer.print(key);
- writer.print("=");
- writer.println(value);
- }
- }
- }
-
- private final boolean skip_ws (PushbackReader reader) throws IOException
- {
- while (true)
- {
- int c = reader.read();
- if (c == -1)
- return false;
- // FIXME: we use our own definition of whitespace.
- // Character.isWhitespace includes newlines, which we don't
- // want. Character.isSpaceChar doesn't include \t.
- if (c != ' ' && c != '\t')
- {
- reader.unread(c);
- return true;
- }
- }
- }
-
- // Note: this method needs to be rewritten for JDK 1.2.
- // We rather arbitrarily decide that an EOF in the middle of a line
- // means that the whole line should be ignored. The spec doesn't
- // specifically address this, but this interpretation seems valid.
- public synchronized void load (InputStream in) throws IOException
- {
- PushbackReader reader = new PushbackReader (new InputStreamReader (in));
-
- StringBuffer key = new StringBuffer ();
- StringBuffer value = new StringBuffer ();
-
- nextLine:
- while (true)
- {
- key.setLength(0);
- value.setLength(0);
-
- // Skip leading whitespace.
- if (! skip_ws (reader))
- return;
-
- // Read key until key terminator.
- boolean first_char = true;
- int c;
- while (true)
- {
- c = reader.read();
- if (c == -1)
- return;
- if (c == '\\')
- {
- first_char = false;
- c = reader.read();
- if (c == -1)
- return;
- }
-
- // If we found a comment, just read to end of line and
- // then keep going.
- if (first_char == true && (c == '#' || c == '!'))
- {
- while (c != -1 && c != '\r' && c != '\n')
- c = reader.read();
- if (c == -1)
- return;
- continue nextLine;
- }
-
- if (c == '\r' || c == '\n')
- {
- if (first_char)
- continue nextLine;
- reader.unread(c);
- break;
- }
- // FIXME: again, our own definition of whitespace.
- if (c == ' ' || c == '\t' || c == ':' || c == '=')
- break;
-
- first_char = false;
- key.append((char) c);
- }
-
- // Found end of key. Skip whitespace. If the terminator
- // was whitespace, also skip a single instance of a "real"
- // terminator, and then more whitespace.
- if (! skip_ws (reader))
- return;
- if (c != ':' && c != '=')
- {
- c = reader.read();
- if (c == -1)
- return;
- if (c == ':' || c == '=')
- {
- // Skip more whitespace.
- if (! skip_ws (reader))
- return;
- }
- else
- reader.unread(c);
- }
-
- // Now read the value.
- while (true)
- {
- c = reader.read();
- if (c == -1)
- return;
- if (c == '\r' || c == '\n')
- break;
- if (c == '\\')
- {
- c = reader.read();
- switch (c)
- {
- case -1:
- return;
- case 't':
- c = '\t';
- break;
- case 'r':
- c = '\r';
- break;
- case 'n':
- c = '\n';
- break;
- case 'u':
- c = 0;
- for (int i = 0; i < 4; ++i)
- {
- int x = reader.read();
- if (x == -1)
- return;
- int d = Character.digit((char) x, 16);
- // We follow JDK here: invalid characters
- // are treated as terminators.
- if (d == -1)
- {
- value.append((char) c);
- c = x;
- break;
- }
- c <<= 4;
- c |= d;
- }
- break;
- default:
- // Nothing.
- }
- }
- value.append((char) c);
- }
-
- put (key.toString(), value.toString());
- }
- }
-
- public Properties ()
- {
- defaults = null;
- }
-
- public Properties (Properties defs)
- {
- defaults = defs;
- }
-
- private final void addHashEntries (Hashtable base)
- {
- if (defaults != null)
- defaults.addHashEntries(base);
- Enumeration keys = keys ();
- while (keys.hasMoreElements())
- base.put(keys.nextElement(), base);
- }
-
- public Enumeration propertyNames ()
- {
- // We make a new Hashtable that holds all the keys. Then we
- // return an enumeration for this hash. We do this because we
- // don't want modifications to be reflected in the enumeration
- // (per JCL), and because there doesn't seem to be a
- // particularly better way to ensure that duplicates are
- // ignored.
- Hashtable t = new Hashtable ();
- addHashEntries (t);
- return t.keys();
- }
-
- public synchronized void save (OutputStream out, String comment)
- {
- // Use a buffer because writing a single string through
- // OutputStreamWriter is fairly expensive.
- BufferedWriter output
- = new BufferedWriter (new OutputStreamWriter (out));
- String newline = System.getProperty("line.separator");
-
- try
- {
- if (comment != null)
- {
- // We just lose if COMMENT contains a newline. This is
- // what JDK 1.1 does.
- output.write("#");
- output.write(comment);
- output.write(newline);
- }
- output.write("# ");
- output.write(new Date().toString());
- output.write(newline);
-
- Enumeration keys = keys ();
- while (keys.hasMoreElements())
- {
- String key = (String) keys.nextElement();
- String value = (String) get (key);
-
- // FIXME: JCL says that the key can contain many Unicode
- // characters. But it also doesn't say we should encode
- // it in any way.
- // FIXME: if key contains ':', '=', or whitespace, must
- // quote it here. Note that JDK 1.1 does not do this.
- output.write(key);
- output.write("=");
-
- boolean leading = true;
- for (int i = 0; i < value.length(); ++i)
- {
- boolean new_lead = false;
- char c = value.charAt(i);
- switch (c)
- {
- case '\n':
- output.write("\\n");
- break;
- case '\r':
- output.write("\\r");
- break;
- case '\t':
- output.write("\\t");
- break;
- case '\\':
- output.write("\\\\");
- break;
-
- case '#':
- case '!':
- case '=':
- case ':':
- output.write("\\");
- output.write(c);
- break;
-
- case ' ':
- new_lead = leading;
- if (leading)
- output.write("\\");
- output.write(c);
- break;
-
- default:
- if (c < '\u0020' || c > '\u007e')
- {
- output.write("\\u");
- output.write(Character.forDigit(c >>> 12, 16));
- output.write(Character.forDigit((c >>> 8) & 0xff,
- 16));
- output.write(Character.forDigit((c >>> 4) & 0xff,
- 16));
- output.write(Character.forDigit(c & 0xff, 16));
- }
- else
- output.write(c);
- }
- leading = new_lead;
- }
- output.write(newline);
- }
-
- output.flush();
- }
- catch (IOException ignore)
- {
- }
- }
-}
diff --git a/libjava/java/util/PropertyResourceBundle.java b/libjava/java/util/PropertyResourceBundle.java
deleted file mode 100644
index 706e4279443..00000000000
--- a/libjava/java/util/PropertyResourceBundle.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-import java.io.InputStream;
-import java.io.IOException;
-import gnu.gcj.util.EnumerationChain;
-
-/**
- * @author Anthony Green <green@cygnus.com>
- * @date April 29, 1999.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
- * and "The Java Language Specification", ISBN 0-201-63451-1. */
-
-public class PropertyResourceBundle extends ResourceBundle
-{
- private Properties properties;
-
- public PropertyResourceBundle (InputStream pstream) throws IOException
- {
- // Initialize and load our Properties.
- properties = new Properties();
- properties.load(pstream);
- }
-
- public Enumeration getKeys()
- {
- if (parent == null)
- return properties.propertyNames();
- else
- return new EnumerationChain (properties.propertyNames(),
- parent.getKeys ());
- }
-
- protected Object handleGetObject (String key)
- {
- return properties.getProperty(key);
- }
-}
diff --git a/libjava/java/util/Random.java b/libjava/java/util/Random.java
deleted file mode 100644
index 26010ce96f9..00000000000
--- a/libjava/java/util/Random.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-import java.io.Serializable;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 25, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-/* This class is completely specified by the spec to ensure absolute
- * portability between all implementations of Java
- */
-public class Random implements Serializable
-{
- /* Used by next() to hold the state of the pseudorandom number generator */
- protected long seed;
-
- /* Used by nextGaussian() to hold a precomputed value */
- /* to be delivered by that method the next time it is called */
- protected double nextNextGaussian;
-
- /* Used by nextGaussian() to keep track of whether it is has precomputed */
- /* and stashed away the next value to be delivered by that method */
- protected boolean haveNextNextGaussian = false;
-
- public Random()
- {
- this(System.currentTimeMillis());
- }
-
- public Random(long seed)
- {
- setSeed(seed);
- }
-
- protected synchronized int next(int bits)
- {
- seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
- return (int)(seed >>> (48 - bits));
- }
-
- // JDK1.2
- public boolean nextBoolean()
- {
- return next(1) != 0;
- }
-
- /* The method nextBytes() is not fully specified in the published specs.
- * At first I implemented it simply via:
- * for (int i = 0; i < buf.length; i++)
- * buf[i] = (byte)next(8);
- * but a simple test did not yield the same results as the std implementation.
- * There seemed to be a relationship where each i byte above was at pos 4*i+3
- * in the std. For efficiency, by reducing calls to the expensive math
- * routines, the std probably was calling next(32) once rather than next(8)
- * 4 times. Changing the algorithm to the one below based on that assumption
- * then yielded identical results to the std.
- */
- public void nextBytes(byte[] buf)
- {
- int randInt = 0;
-
- for (int i = 0; i < buf.length; i++)
- {
- int shift = (i % 4) * 8;
- if (shift == 0)
- randInt = next(32);
- buf[i] = (byte) (randInt >> shift);
- }
- }
-
- public double nextDouble()
- {
- return (((long)next(26) << 27) + next(27)) / (double)(1L << 53);
- }
-
- public float nextFloat()
- {
- return next(24) / ((float)(1 << 24));
- }
-
- public synchronized double nextGaussian()
- {
- if (haveNextNextGaussian)
- {
- haveNextNextGaussian = false;
- return nextNextGaussian;
- }
- else
- {
- double v1, v2, s;
- do
- {
- v1 = 2 * nextDouble() - 1; // between -1.0 and 1.0
- v2 = 2 * nextDouble() - 1; // between -1.0 and 1.0
- s = v1 * v1 + v2 * v2;
- } while (s >= 1);
- double norm = Math.sqrt(-2 * Math.log(s)/s);
- nextNextGaussian = v2 * norm;
- haveNextNextGaussian = true;
- return v1 * norm;
- }
- }
-
- public int nextInt()
- {
- return next(32);
- }
-
- // JDK1.2
- public int nextInt(int n)
- {
- if (n <= 0)
- throw new IllegalArgumentException("n must be positive");
-
- int bits, val;
- do
- {
- bits = next(31);
- val = bits % n;
- } while (bits - val + (n-1) < 0);
- return val;
- }
-
- public long nextLong()
- {
- return ((long)next(32) << 32) + next(32);
- }
-
- public synchronized void setSeed(long seed)
- {
- this.seed = (seed ^ 0x5DEECE66DL) & ((1L << 48) - 1);
- haveNextNextGaussian = false;
- }
-}
diff --git a/libjava/java/util/ResourceBundle.java b/libjava/java/util/ResourceBundle.java
deleted file mode 100644
index 2a11083b010..00000000000
--- a/libjava/java/util/ResourceBundle.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Anthony Green <green@cygnus.com>
- * @date November 26, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
- * and "The Java Language Specification", ISBN 0-201-63451-1. */
-
-public abstract class ResourceBundle
-{
- protected ResourceBundle parent;
-
- // This is used to cache resource bundles.
- private static Hashtable resource_cache = new Hashtable ();
-
- public ResourceBundle ()
- {
- }
-
- public final String getString (String key) throws MissingResourceException
- {
- return (String) getObject(key);
- }
-
- public final String[] getStringArray (String key)
- throws MissingResourceException
- {
- return (String[]) getObject(key);
- }
-
- public final Object getObject(String key) throws MissingResourceException
- {
- Object result;
-
- try
- {
- return handleGetObject (key);
- }
- catch (MissingResourceException ex)
- {
- if (parent != null)
- return parent.getObject(key);
- else
- throw ex;
- }
- }
-
- public static final ResourceBundle getBundle(String baseName)
- throws MissingResourceException
- {
- return getBundle(baseName, Locale.getDefault());
- }
-
- // Start searching with the name bundleName. Continue searching by
- // stripping off the '_' delimited tails until the search name is
- // the same as stopHere.
- private static final ResourceBundle trySomeGetBundle (String bundleName,
- String stopHere)
- {
- Class rbc;
- ResourceBundle needs_parent = null, r, result = null;
-
- while (true)
- {
- try
- {
- rbc = Class.forName(bundleName);
- r = null;
- try
- {
- r = (ResourceBundle) rbc.newInstance();
- }
- catch (IllegalAccessException ex)
- {
- // Fall through
- }
- catch (InstantiationException ex)
- {
- // Fall through
- }
- if (r != null)
- {
- if (result == null)
- result = r;
- if (needs_parent != null)
- {
- // We've been through the loop one or more times
- // already. Set the parent and keep going.
- needs_parent.setParent(r);
- }
- needs_parent = r;
- }
- }
- catch (ClassNotFoundException ex)
- {
- // Fall through.
- }
-
- if (bundleName.equals(stopHere))
- return result;
- else
- {
- int last = bundleName.lastIndexOf('_');
-
- // No more underscores?
- if (last == -1)
- return result;
-
- // Loop around, testing this new shorter name.
- bundleName = bundleName.substring(0, last);
- }
- }
- }
-
- // Search for bundles, but stop at baseName_language (if required).
- // This is synchronized so that the cache works correctly.
- private static final synchronized ResourceBundle
- partialGetBundle (String baseName, Locale locale, boolean langStop)
- {
- ResourceBundle rb;
-
- // Explicitly invoke locale.toString() to force a
- // NullPointerException when required.
- String bundleName = baseName + "_" + locale.toString();
-
- // Check the cache.
- Object obj = resource_cache.get(bundleName);
- if (obj != null)
- return (ResourceBundle) obj;
-
- String stopHere = (baseName
- + (langStop ? ("_" + locale.getLanguage()) : ""));
-
-
- rb = trySomeGetBundle(bundleName, stopHere);
- if (rb != null)
- resource_cache.put(bundleName, rb);
-
- return rb;
- }
-
- public static final ResourceBundle getBundle (String baseName,
- Locale locale)
- throws MissingResourceException
- {
- ResourceBundle rb;
- Class rbc;
-
- rb = partialGetBundle(baseName, locale, false);
- if (rb != null)
- return rb;
-
- // Finally, try the default locale.
- if (! locale.equals(Locale.getDefault()))
- {
- rb = partialGetBundle(baseName, Locale.getDefault(), true);
- if (rb != null)
- return rb;
- }
-
- throw new MissingResourceException("can't load bundle",
- baseName,
- "bundle");
- }
-
- protected void setParent(ResourceBundle parent)
- {
- this.parent = parent;
- }
-
- protected abstract Object handleGetObject(String key)
- throws MissingResourceException;
-
- public abstract Enumeration getKeys();
-}
diff --git a/libjava/java/util/SimpleTimeZone.java b/libjava/java/util/SimpleTimeZone.java
deleted file mode 100644
index 6082b1816e5..00000000000
--- a/libjava/java/util/SimpleTimeZone.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 24, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
- * Status: Does not know how to figure out if daylight savings time
- * is in effect; hence only correct for zones without DST.
- * No known spec for hashCode.
- */
-
-public class SimpleTimeZone extends TimeZone
-{
- // The fields are as specified in Sun's "Serialized Form"
- // in the JDK 1.2 beta 4 API specification.
-
- int dstSavings = 60 * 60 * 1000;
-
- int rawOffset;
-
- // int serialVersionOnStream;
-
- int startDay;
- int startDayOfWeek;
- int startMode; /// Seems to be JDK 1.2 only.
-
- int startMonth;
-
- int startTime;
-
- int startYear;
-
- int endDay;
-
- int endDayOfWeek;
-
- int endMode; // Seems to be JDK 1.2 only.
-
- int endMonth;
-
- int endTime;
-
- // byte[] monthLength;
-
- boolean useDaylight;
-
- public SimpleTimeZone (int rawOffset, String ID)
- {
- setID(ID);
- this.rawOffset = rawOffset;
- }
-
- public SimpleTimeZone (int rawOffset, String ID,
- int startMonth, int startDay,
- int startDayOfWeek, int startTime,
- int endMonth, int endDay,
- int endDayOfWeek, int endTime)
- {
- this(rawOffset, ID);
- setStartRule (startMonth, startDay, startDayOfWeek, startTime);
- setEndRule (endMonth, endDay, endDayOfWeek, endTime);
- }
-
- public int getRawOffset() { return rawOffset; }
- public void setRawOffset (int offsetMillis) { rawOffset = offsetMillis; }
-
- public int getOffset (int era, int year, int month, int day,
- int dayOfWeek, int millis)
- {
- int offset = getRawOffset();
- if (useDaylight)
- {
- if (startYear != 0
- && (year < startYear || era == GregorianCalendar.BC))
- return offset;
- boolean midYearSummer = startMonth < endMonth;
- if (midYearSummer ? (month < startMonth || month > endMonth)
- : (month < startMonth && month > endMonth))
- return offset; // Definitely not DST.
- if (midYearSummer ? (month > startMonth && month < endMonth)
- : (month > startMonth || month < endMonth))
- return offset + dstSavings; // Definitely DST.
- // Now it gets more complicated. Bail for now.
- throw new Error("not implemented - SimpleTimeZone.getOffset");
- }
- return offset;
- }
-
- public boolean useDaylightTime() { return useDaylight; }
-
- public boolean inDaylightTime(Date date)
- {
- if (! useDaylight)
- return false;
- throw new Error("not implemented - SimpleTimeZone.inDaylightTime");
- }
-
- public int getDSTSavings () { return dstSavings; }
-
- public void setDSTSavings (int millisSavedDuringDST)
- { dstSavings = millisSavedDuringDST; }
-
- public void setStartRule (int month, int dayOfWeekInMonth,
- int dayOfWeek, int time)
- {
- this.startMonth = month;
- this.startDay = dayOfWeekInMonth;
- this.startDayOfWeek = dayOfWeek;
- this.startTime = time;
- this.useDaylight = true;
- }
-
- public void setEndRule (int month, int dayOfWeekInMonth,
- int dayOfWeek, int time)
- {
- this.endMonth = month;
- this.endDay = dayOfWeekInMonth;
- this.endDayOfWeek = dayOfWeek;
- this.endTime = time;
- this.useDaylight = true;
- }
-
- public void setStartYear (int year)
- {
- this.startYear = startYear;
- }
-
- public boolean hasSameRules (TimeZone other)
- {
- if (this == other)
- return true;
- if (! (other instanceof SimpleTimeZone))
- return false;
- SimpleTimeZone o = (SimpleTimeZone) other;
- if (rawOffset != o.rawOffset)
- return false;
- if (useDaylight != o.useDaylight)
- return false;
- if (! useDaylight)
- return true;
- return startDay == o.startDay
- && startDayOfWeek == o.startDayOfWeek
- && startMonth == o.startMonth
- && startTime == o.startTime
- && endDay == o.endDay
- && endDayOfWeek == o.endDayOfWeek
- && endMonth == o.endMonth
- && endTime == o.endTime
- && startYear == o.startYear
- && startMode == o.startMode
- && endMode == o.endMode;
- }
-
- public boolean equals (Object obj)
- {
- if (! (obj instanceof SimpleTimeZone))
- return false;
- SimpleTimeZone other = (SimpleTimeZone) obj;
- return getID() == other.getID() && hasSameRules(other);
- }
-
- public int hashCode ()
- {
- // FIXME - this does not folow any spec (since none is public)!
- int hash = rawOffset;
- if (useDaylight)
- hash += dstSavings + startYear + startMode + endMode
- + startDay + startDayOfWeek + startMonth + startTime
- + endDay + endDayOfWeek + endMonth + endTime;
- return hash;
- }
-}
diff --git a/libjava/java/util/Stack.java b/libjava/java/util/Stack.java
deleted file mode 100644
index bc4588898cb..00000000000
--- a/libjava/java/util/Stack.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 20, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-public class Stack extends Vector
-{
- // Could use Vector methods internally for the following methods
- // but have used Vector fields directly for efficiency (i.e. this
- // often reduces out duplicate bounds checking).
-
- public boolean empty()
- {
- return elementCount == 0;
- }
-
- public synchronized Object peek()
- {
- if (elementCount == 0)
- throw new EmptyStackException();
-
- return elementData[elementCount - 1];
- }
-
- public synchronized Object pop()
- {
- if (elementCount == 0)
- throw new EmptyStackException();
-
- Object obj = elementData[--elementCount];
-
- // Set topmost element to null to assist the gc in cleanup
- elementData[elementCount] = null;
- return obj;
- }
-
- public Object push(Object obj)
- {
- // When growing the Stack, use the Vector routines in case more
- // memory is needed.
- // Note: spec indicates that this method *always* returns obj passed in!
-
- addElement(obj);
- return obj;
- }
-
- public synchronized int search(Object obj)
- {
- // Return the position of obj on the stack as measured from the top;
- // i.e. the top element is 1, the next element down is 2, etc.
- // If obj is not on the stack, return -1
-
- for (int i = elementCount-1; i >=0; --i)
- if (elementData[i].equals(obj))
- return elementCount - i;
-
- return -1;
- }
-}
diff --git a/libjava/java/util/StringTokenizer.java b/libjava/java/util/StringTokenizer.java
deleted file mode 100644
index 4516057f2d9..00000000000
--- a/libjava/java/util/StringTokenizer.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 24, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-public class StringTokenizer implements Enumeration
-{
- /* String to be parsed */
- private String inputString;
-
- /* String to be parsed put into a char array for efficient access */
- private char[] chArray;
-
- /* Set of delimiter characters for separating tokens */
- private String delimiters;
-
- /* Whether delimiters in this instance are treated as tokens themselves */
- private boolean returnDelimiters;
-
- /* Index into the input string to start parsing for the next token */
- private int inputStringIndex;
-
- public StringTokenizer(String str)
- {
- this(str, " \t\n\r", false);
- }
-
- public StringTokenizer(String str, String delims)
- {
- this(str, delims, false);
- }
-
- public StringTokenizer(String str, String delims, boolean retDelim)
- {
- inputString = str;
- delimiters = delims;
- returnDelimiters = retDelim;
- inputStringIndex = 0;
-
- // Work on a copy of the remaining string in a char array
- // to gain efficiency of using primitives
- chArray = new char[inputString.length()];
- inputString.getChars(0, inputString.length(), chArray, 0);
- }
-
- public int countTokens()
- {
- int count = 0;
- int delimiterCount = 0;
- boolean tokenFound = false; // Set when a non-delimiter is found
- int offset = inputStringIndex;
-
- // Note for efficiency, we count up the delimiters rather than check
- // returnDelimiters every time we encounter one. That way, we can
- // just do the conditional once at the end of the method
- while (offset < chArray.length)
- {
- if (isDelimiter(chArray[offset++]))
- {
- if (tokenFound)
- {
- // Got to the end of a token
- count++;
- tokenFound = false;
- }
-
- delimiterCount++; // Increment for this delimiter
- }
- else
- {
- tokenFound = true;
-
- // Get to the end of the token
- while (offset < chArray.length && !isDelimiter(chArray[offset]))
- offset++;
- }
- }
-
- // Make sure to count the last token
- if (tokenFound)
- count++;
-
- // if counting delmiters add them into the token count
- return returnDelimiters ? count + delimiterCount : count;
- }
-
- public boolean hasMoreElements()
- {
- return hasMoreTokens();
- }
-
- public boolean hasMoreTokens()
- {
- int offset = inputStringIndex;
-
- while (offset < chArray.length)
- if (!isDelimiter(chArray[offset++]) || returnDelimiters)
- {
- // update the current position with the start of the next token
- inputStringIndex = --offset;
-
- return true;
- }
-
- return false;
- }
-
- public Object nextElement()
- {
- return nextToken();
- }
-
- public String nextToken()
- {
- int offset = inputStringIndex;
- int startSubstr = -1;
-
- // Make sure we have more chars left to parse
- // and then find the start of the next token
- while (offset < chArray.length && startSubstr < 0)
- {
- // Find the start of the token; skipping initial delimiters
- if (!isDelimiter(chArray[offset++]))
- startSubstr = offset - 1;
- else if (returnDelimiters)
- {
- // The single char delimiter is treated as a token
- inputStringIndex = offset; // update the current position
-
- return inputString.substring(offset - 1, inputStringIndex);
- }
- }
-
- // Now look for the end of the token
- while (offset < chArray.length)
- {
- if (isDelimiter(chArray[offset++]))
- {
- // Found the end of token
- inputStringIndex = offset - 1; // update the current position
-
- return inputString.substring(startSubstr, inputStringIndex);
- }
- }
-
- // Got to the end of the string without finding the start of a token
- if (startSubstr < 0)
- throw new NoSuchElementException();
-
- // Got to the end of the string before a delimiter
- inputStringIndex = offset; // update the current position
-
- return inputString.substring(startSubstr, inputStringIndex);
- }
-
- public String nextToken(String delims)
- {
- // First replace with new set of delimiters
- delimiters = delims;
-
- return nextToken();
- }
-
- // This private method could be inlined but the other methods are
- // more readable this way, so we'll take the hit on efficiency.
- private boolean isDelimiter(char ch)
- {
- return delimiters.indexOf(ch) >= 0;
- }
-}
diff --git a/libjava/java/util/TimeZone.java b/libjava/java/util/TimeZone.java
deleted file mode 100644
index ad2dd628b1f..00000000000
--- a/libjava/java/util/TimeZone.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Per Bothner <bothner@cygnus.com>
- * @date October 24, 1998.
- */
-
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
- * Status: getAvailableIDs, getDefault, getTimeZone only know about GMT.
- */
-
-public abstract class TimeZone implements java.io.Serializable, Cloneable
-{
- public static final int SHORT = 0;
- public static final int LONG = 1;
-
- // The fields are as specified in Sun's "Serialized Form"
- // in the JDK 1.2 beta 4 API specification.
- String ID;
-
- static final TimeZone zoneGMT = new SimpleTimeZone(0, "GMT");
-
- private static TimeZone zoneDefault;
-
- public TimeZone ()
- {
- }
-
- public abstract int getOffset (int era, int year, int month,
- int day, int dayOfWeek, int milliseconds);
-
- public abstract void setRawOffset (int offsetMillis);
-
- public abstract int getRawOffset ();
-
- public String getID () { return ID; }
-
- public void setID (String ID) { this.ID = ID; }
-
- public final String getDisplayName()
- {
- return ID; // FIXME
- }
-
- // public final String getDisplayName (Local locale) { ... } FIXME
-
- public final String getDisplayName (boolean daylight, int style)
- {
- return ID; // FIXME
- }
-
- /*
- public final String getDisplayName (boolean daylight, int style, Locale locale)
- {
- return ID; // FIXME
- }
- */
-
- public abstract boolean useDaylightTime();
-
- public abstract boolean inDaylightTime (Date date);
-
- public static TimeZone getTimeZone (String ID)
- {
- return zoneGMT; // FIXME
- }
-
- public static String[] getAvailableIDs()
- { // FIXME - only knows about GMT
- String[] zones = new String[1];
- zones[0] = "GMT";
- return zones;
- }
-
- public static String[] getAvailableIDs(int rawOffset)
- {
- return rawOffset == 0 ? getAvailableIDs() : new String[0]; // FIXME
- }
-
- private static synchronized TimeZone setDefault()
- {
- if (zoneDefault == null)
- {
- try
- {
- String id = System.getProperty("user.timezone");
- if (id != null && ! id.equals("GMT"))
- zoneDefault = getTimeZone(id);
- }
- catch (Exception ex)
- {
- }
- if (zoneDefault == null)
- zoneDefault = zoneGMT;
- }
- return zoneDefault;
- }
-
- public static TimeZone getDefault()
- {
- return zoneDefault == null ? setDefault() : zoneDefault;
- }
-
- public static void setDefault (TimeZone zone) { zoneDefault = zone; }
-
- public boolean hasSameRules (TimeZone other)
- {
- return this == other;
- }
-
- // public Object clone ();
-}
diff --git a/libjava/java/util/TooManyListenersException.java b/libjava/java/util/TooManyListenersException.java
deleted file mode 100644
index 13bbc4ecae3..00000000000
--- a/libjava/java/util/TooManyListenersException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date September 2, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct.
- */
-
-public class TooManyListenersException extends Exception
-{
- public TooManyListenersException()
- {
- super();
- }
-
- public TooManyListenersException(String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/util/Vector.java b/libjava/java/util/Vector.java
deleted file mode 100644
index aaa9ea27632..00000000000
--- a/libjava/java/util/Vector.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util;
-
-import java.io.Serializable;
-
-/**
- * @author Warren Levy <warrenl@cygnus.com>
- * @date August 17, 1998.
- */
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
- * Status: Believed complete and correct
- */
-
-class VectorEnumeration implements Enumeration
-{
- private int enumIndex;
- private Vector enumVec;
-
- public VectorEnumeration(Vector vec)
- {
- enumVec = vec;
- enumIndex = 0;
- }
-
- public boolean hasMoreElements()
- {
- return enumIndex < enumVec.size();
- }
-
- public Object nextElement()
- {
- if (!hasMoreElements())
- throw new NoSuchElementException();
-
- return enumVec.elementData[enumIndex++];
- }
-}
-
-// TODO12:
-// public class Vector extends AbstractList
-// implements List, Cloneable, Serializable
-
-public class Vector implements Cloneable, Serializable
-{
- /* The size of the increment to use when growing this vector.
- The default of 0 means to double the capacity when growing. */
- protected int capacityIncrement;
-
- /* The number of elements currently in elementData */
- protected int elementCount;
-
- /* The buffer in which elements of this vector are stored */
- protected Object[] elementData;
-
- public Vector()
- {
- this(10, 0);
- }
-
- public Vector(int initCap)
- {
- this(initCap, 0);
- }
-
- public Vector(int initCap, int capIncrement)
- {
- if (initCap < 0)
- throw new IllegalArgumentException ();
- elementData = new Object[initCap];
- capacityIncrement = capIncrement;
- elementCount = 0;
- }
-
- public final synchronized void addElement(Object obj)
- {
- // Make sure there's room for a new element
- if (elementCount == elementData.length)
- ensureCapacity(elementCount+1);
-
- elementData[elementCount++] = obj;
- }
-
- public final int capacity()
- {
- return elementData.length;
- }
-
- public synchronized Object clone()
- {
- // New vector needs to have same size, capacity and capacityIncrement
- Vector newVec = new Vector(elementData.length, capacityIncrement);
-
- System.arraycopy(elementData, 0, newVec.elementData, 0, elementCount);
- newVec.elementCount = elementCount;
- return newVec;
- }
-
- public final boolean contains(Object obj)
- {
- for (int i = 0; i < elementCount; i++)
- {
- if (obj == null
- ? elementData[i] == null
- : obj.equals(elementData[i]))
- return true;
- }
-
- return false;
- }
-
- public final synchronized void copyInto(Object[] objArray)
- {
- System.arraycopy(elementData, 0, objArray, 0, elementCount);
- }
-
- public final synchronized Object elementAt(int idx)
- {
- if (idx < 0 || idx >= size())
- throw new ArrayIndexOutOfBoundsException();
-
- return elementData[idx];
- }
-
- public final synchronized Enumeration elements()
- {
- return new VectorEnumeration(this);
- }
-
- public final synchronized void ensureCapacity(int minCap)
- {
- // Increasing the vector could make it much larger than minCap;
- // e.g. if minCap is just larger than the vector, size may double.
- // If someone cares about this possibility they should set capacityIncrement
- if (minCap > elementData.length)
- {
- // Increase the vector; double it if capacityIncrement is zero
- int newSize = elementData.length;
- newSize +=
- (capacityIncrement > 0) ? capacityIncrement : elementData.length;
-
- // Make sure newSize is at least minCap
- if (newSize < minCap)
- newSize = minCap;
-
- Object[] newArray = new Object[newSize];
- System.arraycopy(elementData, 0, newArray, 0, elementCount);
- elementData = newArray;
- }
- }
-
- public final synchronized Object firstElement()
- {
- if (elementCount == 0)
- throw new NoSuchElementException();
-
- return elementData[0];
- }
-
- public final int indexOf(Object obj)
- {
- return indexOf(obj, 0);
- }
-
- public final synchronized int indexOf(Object obj, int idx)
- {
- if (idx < 0)
- throw new IllegalArgumentException ();
- for (int i = idx; i < elementCount; i++)
- {
- if (obj == null
- ? elementData[i] == null
- : obj.equals(elementData[i]))
- return i;
- }
-
- return -1;
- }
-
- public final synchronized void insertElementAt(Object obj, int idx)
- {
- if (idx < 0 || idx > size())
- throw new ArrayIndexOutOfBoundsException();
- else if (idx == size()) // Spec says just use addElement()
- addElement(obj);
- else
- {
- // Make sure there's room for a new element
- if (elementCount == elementData.length)
- ensureCapacity(elementCount+1);
-
- // Shift the existing elements up and increment elementCount
- for (int i = elementCount++; i > idx; --i)
- elementData[i] = elementData[i-1];
-
- elementData[idx] = obj;
- }
- }
-
- public final boolean isEmpty()
- {
- return elementCount == 0;
- }
-
- public final synchronized Object lastElement()
- {
- if (elementCount == 0)
- throw new NoSuchElementException();
-
- return elementData[elementCount - 1];
- }
-
- public final int lastIndexOf(Object obj)
- {
- return lastIndexOf(obj, size()-1);
- }
-
- public final synchronized int lastIndexOf(Object obj, int idx)
- {
- if (idx < 0)
- throw new IllegalArgumentException ();
- for (int i = idx; i >= 0; --i)
- {
- if (obj == null
- ? elementData[i] == null
- : obj.equals(elementData[i]))
- return i;
- }
-
- return -1;
- }
-
- public final synchronized void removeAllElements()
- {
- // Remove elements now to assist the gc in early cleanup
- for (int i = elementCount-1; i >= 0; --i)
- elementData[i] = null;
- elementCount = 0;
- }
-
- public final synchronized boolean removeElement(Object obj)
- {
- for (int i = 0; i < elementCount; i++)
- {
- if (obj == null
- ? elementData[i] == null
- : obj.equals(elementData[i]))
- {
- int j;
-
- // Decrement count first to ensure we don't walk off end of array
- --elementCount;
-
- for (j = i; j < elementCount; j++)
- elementData[j] = elementData[j+1];
-
- // At this point, j was incrememented and points to old last element
- // Remove element now to assist the gc in early cleanup
- elementData[j] = null;
- return true;
- }
- }
-
- return false;
- }
-
- public final synchronized void removeElementAt(int idx)
- {
- int i;
-
- if (idx < 0 || idx >= size())
- throw new ArrayIndexOutOfBoundsException();
-
- // Decrement count first to ensure we don't walk off the end of the array
- --elementCount;
-
- for (i = idx; i < elementCount; i++)
- elementData[i] = elementData[i+1];
-
- // At this point, i was incrememented and now points to the old last element
- // Remove element now to assist the gc in early cleanup
- elementData[i] = null;
- }
-
- public final synchronized void setElementAt(Object obj, int idx)
- {
- if (idx < 0 || idx >= size())
- throw new ArrayIndexOutOfBoundsException();
-
- elementData[idx] = obj;
- }
-
- public final synchronized void setSize(int newSize)
- {
- if (newSize < 0)
- throw new ArrayIndexOutOfBoundsException();
-
- // Java Lang Spec p. 658 says to remove the excess elements and discard
- // when new size is smaller than old size.
- // When truncating, we could alternatively just reset elementCount instead
- // of freeing up the memory if the spec hadn't specified. The spec makes
- // sense though; if someone cares enough to call a setSize() function
- // they probably are doing so to free memory.
- if (newSize < elementCount)
- {
- elementCount = newSize;
- trimToSize();
- }
- else if (newSize > elementCount) // Skip == case
- {
- // TBD: ensureCapacity() may create a vector much larger than newSize;
- // do we want to make the vector exactly newSize? Spec is unclear.
- ensureCapacity(newSize);
-
- // Make sure to null out new elements of grown vector
- for (int i = elementCount; i < newSize; i++)
- elementData[i] = null;
- elementCount = newSize;
- }
- }
-
- public final int size()
- {
- return elementCount;
- }
-
- public final synchronized String toString()
- {
- // Following the Java Lang Spec p. 656
-
- // Prepend first element with open bracket
- StringBuffer result = new StringBuffer("[");
-
- if (elementCount > 0) // add first element if one exists
- result.append(elementData[0].toString());
-
- // Prepend subsequent elements with ", "
- for (int i = 1; i < elementCount; i++)
- result.append(", ").append(elementData[i].toString());
-
- // Append last element with closing bracket
- result.append("]");
- return result.toString();
- }
-
- public final synchronized void trimToSize()
- {
- // Give up excess storage capacity to save memory
- //
- // Don't bother checking for the case where size() == the capacity of the
- // vector since that is a much less likely case; it's more efficient to
- // not do the check and lose a bit of performance in that infrequent case
- Object[] newArray = new Object[elementCount];
- System.arraycopy(elementData, 0, newArray, 0, elementCount);
- elementData = newArray;
- }
-
- // TODO12:
- // public Vector(Collection c)
- // {
- // }
-
- // TODO12:
- // public public boolean add(Object o)
- // {
- // }
-
- // TODO12:
- // public void add(int index, Object element)
- // {
- // }
-
- // TODO12:
- // public boolean addAll(Collection c)
- // {
- // }
-
- // TODO12:
- // public boolean addAll(int index, Collection c)
- // {
- // }
-
- // TODO12:
- // public void clear()
- // {
- // }
-
- // TODO12:
- // public boolean containsAll(Collection c)
- // {
- // }
-
- // TODO12:
- // public boolean equals(Object o)
- // {
- // }
-
- // TODO12:
- // public int hashCode()
- // {
- // }
-
- // TODO12:
- // public Object get(int index)
- // {
- // }
-
- // TODO12:
- // public boolean remove(Object o)
- // {
- // }
-
- // TODO12:
- // public Object remove(int index)
- // {
- // }
-
- // TODO12:
- // public boolean removeAll(Collection c)
- // {
- // }
-
- // TODO12:
- // public boolean retainAll(Collection c)
- // {
- // }
-
- // TODO12:
- // public Object set(int index, Object element)
- // {
- // }
-
- // TODO12:
- // public Object[] toArray()
- // {
- // }
-
- // TODO12:
- // public Object[] toArray(Object[] a)
- // {
- // }
-}
diff --git a/libjava/java/util/natDate.cc b/libjava/java/util/natDate.cc
deleted file mode 100644
index 27f91f6fa19..00000000000
--- a/libjava/java/util/natDate.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-// We want to make sure to pick up the POSIX ctime_r. Some systems,
-// such as Solaris 2.6, have their own version as well.
-#ifdef HAVE_CTIME_R
-#define _POSIX_PTHREAD_SEMANTICS
-#endif
-
-#include <cni.h>
-#include <java/util/Date.h>
-#include <java/lang/String.h>
-
-#include <time.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-jstring
-java::util::Date::toString()
-{
-#ifdef HAVE_CTIME_R
- time_t t = millis / 1000;
- char buf[30];
- return JvNewStringLatin1 (ctime_r (&t, buf));
-#elif defined (HAVE_CTIME)
- // FIXME: this isn't thread-safe.
- time_t t = millis / 1000;
- return JvNewStringLatin1 (ctime (&t));
-#else
- return NULL;
-#endif
-}
diff --git a/libjava/java/util/natGregorianCalendar.cc b/libjava/java/util/natGregorianCalendar.cc
deleted file mode 100644
index 5f1374e79ce..00000000000
--- a/libjava/java/util/natGregorianCalendar.cc
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-// We want to make sure to pick up the POSIX `_r' functions. Some
-// systems, such as Solaris 2.6, require this define in order to
-// declare the functions in the appropriate header.
-#if defined (HAVE_GMTIME_R) || defined (HAVE_LOCALTIME_R)
-# define _POSIX_PTHREAD_SEMANTICS
-# ifndef _REENTRANT
-# define _REENTRANT
-# endif /* _REENTRANT */
-#endif
-
-#ifdef ECOS
-#include <string.h>
-#endif
-
-#include <cni.h>
-#include <java/util/TimeZone.h>
-#include <java/util/GregorianCalendar.h>
-#include <time.h>
-
-void
-java::util::GregorianCalendar::computeTime ()
-{
- struct tm tim;
- tim.tm_sec = elements(fields)[SECOND];
- tim.tm_min = elements(fields)[MINUTE];
- tim.tm_hour = elements(fields)[HOUR_OF_DAY];
- tim.tm_mday = elements(fields)[DATE];
- tim.tm_mon = elements(fields)[MONTH];
- tim.tm_year = elements(fields)[YEAR] - 1900;
- tim.tm_isdst = 0; // FIXME
-#ifndef ECOS
- // FIXME: None of the standard C library access to the ECOS calendar
- // is yet available.
- time_t t = mktime (&tim);
-#else
- time_t t = 0;
-#endif
-
- // Adjust for local timezone (introduced by mktime) and our
- // timezone.
-#if defined (STRUCT_TM_HAS_GMTOFF)
- t += tim.tm_gmtoff;
-#elif defined (HAVE_TIMEZONE)
- t -= timezone;
-#endif
- java::util::TimeZone *zone = getTimeZone ();
- t += zone->getRawOffset();
-
- // Adjust for milliseconds.
- time = t * (jlong) 1000 + elements(fields)[MILLISECOND];
-
- isTimeSet = true;
-}
-
-void
-java::util::GregorianCalendar::computeFields ()
-{
- time_t t = time / 1000;
- int millis = time % 1000;
- if (t < 0 && millis != 0)
- {
- t--;
- millis = t - 1000 * t;
- }
- elements(fields)[MILLISECOND] = millis;
- struct tm tim;
- java::util::TimeZone *zone = getTimeZone ();
-
- // FIXME: None of the standard C library access to the ECOS calendar
- // is yet available.
-#ifdef ECOS
- memset (&tim, 0, sizeof tim);
-#else
- if (zone->getRawOffset() == 0 || ! zone->useDaylightTime())
- {
-#if defined(__JV_POSIX_THREADS__) && defined(HAVE_GMTIME_R)
- gmtime_r (&t, &tim);
-#else
- // Get global lock (because gmtime uses a global buffer). FIXME
- tim = *(struct tm*) gmtime (&t);
- // Release global lock. FIXME
-#endif
- }
- else
- {
-#if defined(__JV_POSIX_THREADS__) && defined(HAVE_LOCALTIME_R)
- localtime_r (&t, &tim);
-#else
- // Get global lock (because localtime uses a global buffer). FIXME
- tim = *(struct tm*) localtime (&t);
- // Release global lock. FIXME
-#endif
- }
-#endif /* ECOS */
- elements(fields)[SECOND] = tim.tm_sec;
- elements(fields)[MINUTE] = tim.tm_min;
- elements(fields)[HOUR_OF_DAY] = tim.tm_hour;
- elements(fields)[AM_PM] = tim.tm_hour < 12 ? AM : PM;
- elements(fields)[HOUR] = tim.tm_hour % 12;
- elements(fields)[DATE] = tim.tm_mday;
- elements(fields)[MONTH] = tim.tm_mon;
- elements(fields)[YEAR] = 1900 + tim.tm_year;
- elements(fields)[DAY_OF_WEEK] = tim.tm_wday + 1;
- elements(fields)[DAY_OF_WEEK_IN_MONTH] = ((tim.tm_mday - 1) / 7) + 1;
- elements(fields)[DAY_OF_YEAR] = tim.tm_yday + 1;
- elements(fields)[WEEK_OF_MONTH]
- = (tim.tm_mday + 6 + (5 - tim.tm_wday + getFirstDayOfWeek()) % 7) / 7;
- elements(fields)[WEEK_OF_YEAR]
- = (tim.tm_yday + 7 + (5 - tim.tm_wday + getFirstDayOfWeek()) % 7) / 7;
- elements(fields)[ERA] = AD;
- elements(fields)[DST_OFFSET] = tim.tm_isdst <= 0 ? 0 : 60*60*1000;
- elements(fields)[ZONE_OFFSET] = getTimeZone()->getRawOffset();
- areFieldsSet = true;
-}
diff --git a/libjava/java/util/zip/Adler32.java b/libjava/java/util/zip/Adler32.java
deleted file mode 100644
index 8e4ab9ae193..00000000000
--- a/libjava/java/util/zip/Adler32.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-
-/**
- * @author Per Bothner
- * @date April 6, 1999.
- */
-
-/*
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * The actual Adler32 algorithm is taken from RFC 1950.
- * Status: Believed complete and correct.
- */
-
-public class Adler32 implements Checksum
-{
- private static int BASE = 65521; /* largest prime smaller than 65536 */
-
- int s1;
- int s2;
-
- public Adler32 ()
- {
- reset();
- }
-
- public void reset () { s1 = 1; s2 = 0; }
-
- public void update (int bval)
- {
- s1 = (s1 + (bval & 0xFF)) % BASE;
- s2 = (s1 + s2) % BASE;
- }
-
- public void update (byte[] buffer)
- {
- update(buffer, 0, buffer.length);
- }
-
- public void update (byte[] buf, int off, int len)
- {
- int s1 = this.s1;
- int s2 = this.s2;
- while (len > 0)
- {
- // We can defer the modulo operation.
- int n = 4000;
- if (n > len)
- n = len;
- len -= n;
- while (--n >= 0)
- {
- s1 = s1 + (buf[off++] & 0xFF);
- s2 = s2 + s1;
- }
- s1 %= BASE;
- s2 %= BASE;
- }
- this.s1 = s1;
- this.s2 = s2;
- }
-
- public long getValue()
- {
- return ((long) s2 << 16) + s1;
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/libjava/java/util/zip/CRC32.java b/libjava/java/util/zip/CRC32.java
deleted file mode 100644
index ab19b58b1e9..00000000000
--- a/libjava/java/util/zip/CRC32.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-
-/**
- * @author Per Bothner
- * @date April 1, 1999.
- */
-
-/*
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * The actual CRC32 algorithm is taken from RFC 1952.
- * Status: Believed complete and correct.
- */
-
-public class CRC32 implements Checksum
-{
- int crc = 0;
-
- static int[] crc_table = make_crc_table();
-
- /* Make the table for a fast CRC. */
- static int[] make_crc_table ()
- {
- int[] crc_table = new int[256];
- for (int n = 0; n < 256; n++)
- {
- int c = n;
- for (int k = 8; --k >= 0; )
- {
- if ((c & 1) != 0)
- c = 0xedb88320 ^ (c >>> 1);
- else
- c = c >>> 1;
- }
- crc_table[n] = c;
- }
- return crc_table;
- }
-
- public long getValue ()
- {
- return (long) crc & 0xffffffffL;
- }
-
- public void reset () { crc = 0; }
-
- public void update (int bval)
- {
- int c = ~crc;
- c = crc_table[(c ^ bval) & 0xff] ^ (c >>> 8);
- crc = ~c;
- }
-
- public void update (byte[] buf, int off, int len)
- {
- int c = ~crc;
- while (--len >= 0)
- c = crc_table[(c ^ buf[off++]) & 0xff] ^ (c >>> 8);
- crc = ~c;
- }
- public void update (byte[] buf) { update(buf, 0, buf.length); }
-}
diff --git a/libjava/java/util/zip/Checksum.java b/libjava/java/util/zip/Checksum.java
deleted file mode 100644
index 85cdae238e0..00000000000
--- a/libjava/java/util/zip/Checksum.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-
-/**
- * @author Per Bothner
- * @date January 9, 1999.
- */
-
-/*
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public interface Checksum
-{
- public long getValue ();
-
- public void reset ();
-
- public void update (int bval);
-
- public void update (byte[] buf, int off, int len);
-}
diff --git a/libjava/java/util/zip/Deflater.java b/libjava/java/util/zip/Deflater.java
deleted file mode 100644
index 81312e2a84f..00000000000
--- a/libjava/java/util/zip/Deflater.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-
-public class Deflater
-{
-}
diff --git a/libjava/java/util/zip/DeflaterOutputStream.java b/libjava/java/util/zip/DeflaterOutputStream.java
deleted file mode 100644
index 4f0b8b454a5..00000000000
--- a/libjava/java/util/zip/DeflaterOutputStream.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-import java.io.*;
-
-/** JUST AN INCOMPLETE STUB! */
-
-public class DeflaterOutputStream extends FilterOutputStream
-{
- protected byte[] buf;
-
- protected Deflater def;
-
- public DeflaterOutputStream(OutputStream out)
- {
- this(out, null, 512);
- }
-
- public DeflaterOutputStream(OutputStream out, Deflater defl)
- {
- this(out, defl, 512);
- }
-
- public DeflaterOutputStream(OutputStream out, Deflater defl, int bufsize)
- {
- super(out);
- buf = new byte[bufsize];
- def = defl;
- }
-
- public void finish () throws IOException
- {
- }
-
- public void close () throws IOException
- {
- finish();
- out.close();
- }
-}
diff --git a/libjava/java/util/zip/InflaterInputStream.java b/libjava/java/util/zip/InflaterInputStream.java
deleted file mode 100644
index 1b6290a4fc1..00000000000
--- a/libjava/java/util/zip/InflaterInputStream.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-import java.io.*;
-
-/** Placefolder - very incomplete. */
-
-public class InflaterInputStream extends FilterInputStream
-{
- public InflaterInputStream(InputStream in)
- {
- super(in);
- }
-}
diff --git a/libjava/java/util/zip/ZipConstants.java b/libjava/java/util/zip/ZipConstants.java
deleted file mode 100644
index d5ca82d9c34..00000000000
--- a/libjava/java/util/zip/ZipConstants.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-
-interface ZipConstants
-{
- // Size in bytes of local file header, including signature.
- public static final int LOCAL_FILE_HEADER_SIZE = 30;
-
- // Size in bytes of the "end of central directory" record, with signature.
- public static final int END_CENTRAL_DIR_SIZE = 22;
-}
diff --git a/libjava/java/util/zip/ZipEntry.java b/libjava/java/util/zip/ZipEntry.java
deleted file mode 100644
index 9eb34bab4db..00000000000
--- a/libjava/java/util/zip/ZipEntry.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-
-/**
- * @author Per Bothner
- * @date January 6, 1999.
- */
-
-/*
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Believed complete and correct.
- */
-
-public class ZipEntry
-{
- // These values were determined using a simple test program.
- public static final int STORED = 0;
- public static final int DEFLATED = 8;
-
- String comment;
- long compressedSize = -1;
- long crc = -1;
- byte[] extra;
- int method = -1;
- String name;
- long size = -1;
- long time = -1;
- long relativeOffset = -1;
-
- ZipEntry next;
-
- public ZipEntry (String name)
- {
- this.name = name;
- }
-
- public String getComment () { return comment; }
-
- public long getCompressedSize () { return compressedSize; }
-
- public long getCrc () { return crc; }
-
- public byte[] getExtra() { return extra; }
-
- public int getMethod () { return method; }
-
- public String getName () { return name; }
-
- public long getSize () { return size; }
-
- public long getTime () { return time; }
-
- public boolean isDirectory ()
- {
- if (name != null)
- {
- int nlen = name.length();
- if (nlen > 0 && name.charAt(nlen-1) == '/')
- return true;
- }
- return false;
- }
-
- public void setComment (String comment) { this.comment = comment; }
-
- public void setCrc (long crc) { this.crc = crc; }
-
- public void setExtra (byte[] extra) { this.extra = extra; }
-
- public void setMethod(int method) { this.method = method; }
-
- public void setSize (long size) { this.size = size; }
-
- public void setTime (long time) { this.time = time; }
-
- private final static short[] daysToMonthStart = {
- //Jan Feb Mar Apr May Jun Jul
- 0, 31, 31+28, 2*31+28, 2*31+28+30, 3*31+28+30, 3*31+28+2*30,
- // Aug Sep Oct Nov Dec
- 4*31+28+2*30, 5*31+28+2*30, 5*31+28+3*30, 6*31+28+3*30, 6*31+28+4*30};
-
- /** Convert a DOS-style type value to milliseconds since 1970. */
- static long timeFromDOS (int date, int time)
- {
- int sec = 2 * (time & 0x1f);
- int min = (time >> 5) & 0x3f;
- int hrs = (time >> 11) & 0x1f;
- int day = date & 0x1f;
- int mon = ((date >> 5) & 0xf) - 1;
- int year = ((date >> 9) & 0x7f) + 10; /* Since 1970. */
-
- // Guard against invalid or missing date causing IndexOutOfBoundsException.
- if (mon < 0 || mon > 11)
- return -1;
-
- long mtime = (((hrs * 60) + min) * 60 + sec) * 1000;
-
- // Leap year calculations are rather trivial in this case ...
- int days = 365 * year + ((year+1)>>2);
- days += daysToMonthStart[mon];
- if ((year & 3) == 0 && mon > 1)
- days++;
- days += day;
- return (days * 24*60*60L + ((hrs * 60) + min) * 60 + sec) * 1000L;
- }
-
- public String toString () { return name; }
-}
diff --git a/libjava/java/util/zip/ZipException.java b/libjava/java/util/zip/ZipException.java
deleted file mode 100644
index 5c038a5e840..00000000000
--- a/libjava/java/util/zip/ZipException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// ZipException.java
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libjava.
-
-This software is copyrighted work licensed under the terms of the
-Libjava License. Please consult the file "LIBJAVA_LICENSE" for
-details. */
-
-package java.util.zip;
-
-/**
- * @author Per Bothner
- * @date January 9, 1999.
- */
-
-/* Written using on-line Java Platform 1.2 API Specification.
- * Believed complete and correct.
- */
-
-public class ZipException extends java.io.IOException
-{
- public ZipException ()
- {
- super();
- }
-
- public ZipException (String msg)
- {
- super(msg);
- }
-}
diff --git a/libjava/java/util/zip/ZipFile.java b/libjava/java/util/zip/ZipFile.java
deleted file mode 100644
index 9085ec9c88b..00000000000
--- a/libjava/java/util/zip/ZipFile.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-import java.io.*;
-
-/** UNFINISHED, but can read non-comrepssed .zip archives. */
-
-public class ZipFile implements ZipConstants
-{
-
- ZipEntry entries;
- int numEntries;
- RandomAccessFile file;
- String name;
-
- public ZipFile (String fname) throws IOException
- {
- file = new RandomAccessFile(fname, "r");
- name = fname;
- }
-
- public ZipFile (File f) throws IOException
- {
- file = new RandomAccessFile(f, "r");
- name = f.getName();
- }
-
- void readDirectory () throws IOException
- {
- long size = file.length ();
- if (size < ZipConstants.END_CENTRAL_DIR_SIZE)
- throw new IOException ("zipfile too short");
- // We do not handle a "zipfile comment", which the appnote says can
- // be at the end of a .zip file. We could handle this by seeking
- // to the beginning and reading forwards.
- file.seek(size - ZipConstants.END_CENTRAL_DIR_SIZE);
- if (file.read() != 'P'
- || file.read() != 'K'
- || file.read() != '\005'
- || file.read() != '\006')
- throw new IOException("not a valid zipfile");
- file.skipBytes(6);
- numEntries = readu2();
- int dir_size = read4 (); // Read "size of the central directory".
- file.seek(size - (dir_size + ZipConstants.END_CENTRAL_DIR_SIZE));
-
- ZipEntry last = null;
- for (int i = 0; i < numEntries; i++)
- {
- file.skipBytes(10);
- int method = readu2();
- int modtime = readu2();
- int moddate = readu2();
- int crc = read4();
- int compressedSize = read4();
- int uncompressedSize = read4();
- int filenameLength = readu2();
- int extraLength = readu2();
- int commentLength = readu2();
- int diskNumberStart = readu2();
- int intAttributes = readu2();
- int extAttributes = read4();
- int relativeOffset = read4();
- byte[] bname = new byte[filenameLength];
- file.readFully(bname);
- ZipEntry entry = new ZipEntry(new String(bname, "8859_1"));
- if (extraLength > 0)
- {
- byte[] bextra = new byte[extraLength];
- file.readFully(bextra);
- entry.extra = bextra;
- }
- if (commentLength > 0)
- {
- byte[] bcomment = new byte[commentLength];
- file.readFully(bcomment);
- entry.comment = new String(bcomment, "8859_1");
- }
- entry.compressedSize = compressedSize;
- entry.size = uncompressedSize;
- entry.crc = (long) crc & 0xffffffffL;
- entry.method = method;
- entry.relativeOffset = relativeOffset;
- entry.time = ZipEntry.timeFromDOS(moddate, modtime);
- if (last == null)
- entries = entry;
- else
- last.next = entry;
- last = entry;
- }
- }
-
- public java.util.Enumeration entries()
- {
- return new ZipEnumeration(this);
- }
-
- public void close() throws IOException
- {
- // FIXME - check this
- file.close();
- entries = null;
- numEntries = 0;
- }
-
- public ZipEntry getEntry(String name)
- {
- for (ZipEntry entry = entries; entry != null; entry = entry.next)
- {
- if (name.equals(entry.getName()))
- return entry;
- }
- return null;
- }
-
- public InputStream getInputStream(ZipEntry ze) throws IOException
- {
- // FIXME - does not handle compression!
- byte[] buffer = new byte[(int) ze.getSize()];
- int data_offset = ZipConstants.LOCAL_FILE_HEADER_SIZE + name.length();
- if (ze.extra != null)
- data_offset += ze.extra.length;
- file.seek(ze.relativeOffset + data_offset);
- file.readFully(buffer);
- return new ByteArrayInputStream(buffer);
- }
-
- public String getName () { return name; }
-
- private int readu2 () throws IOException
- {
- int byte0 = file.read();
- int byte1 = file.read();
- if (byte0 < 0 || byte1 < 0)
- throw new EOFException(".zip archive ended prematurely");
- return ((byte1 & 0xFF) << 8) | (byte0 & 0xFF);
- }
-
- private int read4 () throws IOException
- {
- int byte0 = file.read();
- int byte1 = file.read();
- int byte2 = file.read();
- int byte3 = file.read();
- if (byte3 < 0)
- throw new EOFException(".zip archive ended prematurely");
- return ((byte3 & 0xFF) << 24) + ((byte2 & 0xFF) << 16)
- + ((byte1 & 0xFF) << 8) + (byte0 & 0xFF);
- }
-}
-
-class ZipEnumeration implements java.util.Enumeration
-{
- ZipEntry entry;
-
- ZipEnumeration (ZipFile zfile)
- {
- entry = zfile.entries;
- }
-
- public boolean hasMoreElements ()
- {
- return entry != null;
- }
-
- public Object nextElement ()
- {
- ZipEntry cur = entry;
- if (cur == null)
- throw new java.util.NoSuchElementException();
- entry = cur.next;
- return cur;
- }
-}
diff --git a/libjava/java/util/zip/ZipInputStream.java b/libjava/java/util/zip/ZipInputStream.java
deleted file mode 100644
index 851289638af..00000000000
--- a/libjava/java/util/zip/ZipInputStream.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-import java.io.*;
-
-/**
- * @author Per Bothner
- * @date May 1999.
- */
-
-/*
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Quite incomplete, but can read uncompressed .zip archives.
- */
-
-// JDK1.2 has "protected ZipEntry createZipEntry(String)" but is very
-// vague about what the method does. FIXME.
-// We do not calculate the CRC and compare it with the specified value;
-// we probably should. FIXME.
-
-
-public class ZipInputStream extends InflaterInputStream
-{
- ZipEntry current;
- int current_flags;
- int avail;
-
- public ZipInputStream (InputStream in)
- {
- super(in);
- }
-
- public ZipEntry getNextEntry () throws IOException
- {
- if (current != null)
- closeZipEntry();
- if (in.read() != 'P'
- || in.read() != 'K')
- return null;
- int code = in.read();
- while (code == '\001')
- {
- code = in.read();
- if (code != '\002')
- return null;
- in.skip(16);
- int size = read4();
- in.skip(4);
- int fname_length = readu2();
- int extra_length = readu2();
- int fcomment_length = readu2();
- in.skip(12+fname_length+extra_length+fcomment_length+size);
- if (in.read() != 'P' || in.read() != 'K')
- return null;
- code = in.read();
- }
- if (code == '\005')
- {
- if (in.read() != '\006')
- return null;
- in.skip(16);
- int comment_size = readu2();
- in.skip(comment_size);
- if (in.read() != 'P' || in.read() != 'K')
- return null;
- code = in.read();
- }
- if (code != '\003'
- || in.read() != '\004')
- return null;
- int ex_version = readu2();
- current_flags = readu2();
- int method = readu2();
- int modtime = readu2();
- int moddate = readu2();
- int crc = read4();
- int compressedSize = read4();
- int uncompressedSize = read4();
- int filenameLength = readu2();
- int extraLength = readu2();
- byte[] bname = new byte[filenameLength];
- readFully(bname);
- ZipEntry entry = new ZipEntry(new String(bname, "8859_1"));
- if (extraLength > 0)
- {
- byte[] bextra = new byte[extraLength];
- readFully(bextra);
- entry.extra = bextra;
- }
- entry.compressedSize = compressedSize;
- entry.size = uncompressedSize;
- entry.crc = (long) crc & 0xffffffffL;
- entry.method = method;
- entry.time = ZipEntry.timeFromDOS(moddate, modtime);
- current = entry;
- avail = uncompressedSize;
- return entry;
- }
-
- public int read (byte[] b, int off, int len) throws IOException
- {
- if (len > avail)
- len = avail;
- int count = super.read(b, off, len);
- if (count > 0)
- avail -= count;
- return count;
- }
-
- public long skip (long n) throws IOException
- {
- if (n > avail)
- n = avail;
- long count = super.skip(n);
- avail = avail - (int) count;
- return count;
- }
-
- private void readFully (byte[] b) throws IOException
- {
- int off = 0;
- int len = b.length;
- while (len > 0)
- {
- int count = in.read(b, off, len);
- if (count <= 0)
- throw new EOFException(".zip archive ended prematurely");
- off += count;
- len -= count;
- }
- }
-
- private int readu2 () throws IOException
- {
- int byte0 = in.read();
- int byte1 = in.read();
- if (byte0 < 0 || byte1 < 0)
- throw new EOFException(".zip archive ended prematurely");
- return ((byte1 & 0xFF) << 8) | (byte0 & 0xFF);
- }
-
- private int read4 () throws IOException
- {
- int byte0 = in.read();
- int byte1 = in.read();
- int byte2 = in.read();
- int byte3 = in.read();
- if (byte3 < 0)
- throw new EOFException(".zip archive ended prematurely");
- return ((byte3 & 0xFF) << 24) + ((byte2 & 0xFF) << 16)
- + ((byte1 & 0xFF) << 8) + (byte0 & 0xFF);
- }
-
- public void closeZipEntry () throws IOException
- {
- if (current != null)
- {
- if (avail > 0)
- skip (avail);
- if ((current_flags & 8) != 0)
- {
- int sig = read4();
- if (sig != 0x04034b50)
- throw new IOException("bad/missing magic number at end of .zip entry");
- int crc = read4();
- int compressedSize = read4();
- int uncompressedSize = read4();
- if (current.compressedSize != compressedSize
- || current.size != uncompressedSize
- || current.crc != crc)
- throw new IOException("bad data descriptor at end of .zip entry");
- }
- current = null;
- avail = 0;
- }
- }
-
- public void close () throws IOException
- {
- current = null;
- super.close();
- }
-}
diff --git a/libjava/java/util/zip/ZipOutputStream.java b/libjava/java/util/zip/ZipOutputStream.java
deleted file mode 100644
index 18f4d388652..00000000000
--- a/libjava/java/util/zip/ZipOutputStream.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright (C) 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-package java.util.zip;
-import java.io.*;
-
-/** JUST AN INCOMPLETE STUB! */
-
-public class ZipOutputStream extends DeflaterOutputStream
- implements ZipConstants
-{
- ZipEntry current;
- int method = DEFLATED;
- int level = 3; // FIXME - should be DEFAULT_COMPRESSION
- String comment;
-
- public static final int STORED = 0;
- public static final int DEFLATED = 8;
-
- public ZipOutputStream (OutputStream out)
- {
- super(out);
- }
-
- public void setLevel (int level) { this.level = level; }
- public void setMethod (int method) { this.method = method; }
- public void setComment(String comment) { this.comment = comment; }
-
- public void putNextEntry (ZipEntry entry) throws IOException
- {
- put4(0x04034b50);
- put2(0); // version - FIXME
- put2(0); // bits - FIXME
- if (entry.method < 0 )
- entry.method = method;
- put2(entry.method);
- put2(0); // time - FIXME
- put2(0); // date - FIXME
- put4((int) entry.crc);
- put4((int) entry.compressedSize); // FIXME
- put4((int) entry.size); // FIXME
- put2(entry.name.length());
- put2(entry.extra == null ? 0 : entry.extra.length);
- byte[] name = entry.name.getBytes("8859_1");
- out.write(name);
- if (entry.extra != null)
- out.write(entry.extra);
- throw new Error ("java.util.zip.ZipOutputStream.putNextEntry: not implemented");
- }
-
- public void closeEntry () throws IOException
- {
- }
-
- private void put2 (int i) throws IOException
- {
- out.write (i);
- out.write (i >> 8);
- }
-
- private void put4 (int i) throws IOException
- {
- out.write (i);
- out.write (i >> 8);
- out.write (i >> 16);
- out.write (i >> 24);
- }
-}
diff --git a/libjava/jni.cc b/libjava/jni.cc
deleted file mode 100644
index e227c03662b..00000000000
--- a/libjava/jni.cc
+++ /dev/null
@@ -1,308 +0,0 @@
-// jni.cc - JNI implementation, including the jump table.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stddef.h>
-
-#include <jni.h>
-#include <java-field.h>
-
-static jclass
-_Jv_JNI_GetSuperclass (JNIEnv *, jclass clazz)
-{
- return clazz->getSuperclass ();
-}
-
-static jboolean
-IsAssignableFrom(JNIEnv *, jclass clazz1, jclass clazz2)
-{
- return clazz1->isAssignableFrom (clazz2);
-}
-
-static jobject
-_Jv_JNI_GetObjectField (JNIEnv *, jobject obj, jfieldID field)
-{
- return _Jv_GetObjectField (obj, field);
-}
-
-static jbyte
-_Jv_JNI_GetByteField (JNIEnv *, jobject obj, jfieldID field)
-{
- return _Jv_GetByteField (obj, field);
-}
-
-static jshort
-_Jv_JNI_GetShortField (JNIEnv *, jobject obj, jfieldID field)
-{
- return _Jv_GetShortField (obj, field);
-}
-
-static jint
-_Jv_JNI_GetIntField (JNIEnv *, jobject obj, jfieldID field)
-{
- return _Jv_GetIntField (obj, field);
-}
-
-static jlong
-_Jv_JNI_GetLongField (JNIEnv *, jobject obj, jfieldID field)
-{
- return _Jv_GetLongField (obj, field);
-}
-
-static jsize
-_Jv_JNI_GetStringLength (JNIEnv *, jstring string)
-{
- return string->length();
-}
-
-// JDK 1.2
-jobject
-_Jv_JNI_ToReflectedField (JNIEnv *, jclass cls, jfieldID fieldID)
-{
- java::lang::reflect::Field *field = new java::lang::reflect::Field();
- field->declaringClass = cls;
- field->offset = (char*) fieldID - (char *) cls->fields;
- field->name = _Jv_NewStringUtf8Const (fieldID->getNameUtf8Const (cls));
- return field;
-}
-
-// JDK 1.2
-jfieldID
-_Jv_JNI_FromReflectedField (JNIEnv *, java::lang::reflect::Field *field)
-{
- return _Jv_FromReflectedField (field);
-}
-
-#define NOT_IMPL NULL
-
-struct JNINativeInterface _Jv_JNIFunctions =
-{
- NULL,
- NULL,
- NULL,
- NULL,
- NOT_IMPL /* GetVersion */,
- NOT_IMPL /* DefineClass */,
- NOT_IMPL /* FindClass */,
- NULL,
- NULL,
- NULL,
- _Jv_JNI_GetSuperclass,
- IsAssignableFrom,
- NULL,
- NOT_IMPL /* Throw */,
- NOT_IMPL /* ThrowNew */,
- NOT_IMPL /* ExceptionOccurred */,
- NOT_IMPL /* ExceptionDescribe */,
- NOT_IMPL /* ExceptionClear */,
- NOT_IMPL /* FatalError */,
- NOT_IMPL /* NULL */,
- NOT_IMPL /* NULL */,
- NOT_IMPL /* NewGlobalRef */,
- NOT_IMPL /* DeleteGlobalRef */,
- NOT_IMPL /* DeleteLocalRef */,
- NOT_IMPL /* IsSameObject */,
- NOT_IMPL /* NULL */,
- NOT_IMPL /* NULL */,
- NOT_IMPL /* AllocObject */,
- NOT_IMPL /* NewObject */,
- NOT_IMPL /* NewObjectV */,
- NOT_IMPL /* NewObjectA */,
- NOT_IMPL /* GetObjectClass */,
- NOT_IMPL /* IsInstanceOf */,
- NOT_IMPL /* GetMethodID */,
- NOT_IMPL /* CallObjectMethod */,
- NOT_IMPL /* CallObjectMethodV */,
- NOT_IMPL /* CallObjectMethodA */,
- NOT_IMPL /* CallBooleanMethod */,
- NOT_IMPL /* CallBooleanMethodV */,
- NOT_IMPL /* CallBooleanMethodA */,
- NOT_IMPL /* CallByteMethod */,
- NOT_IMPL /* CallByteMethodV */,
- NOT_IMPL /* CallByteMethodA */,
- NOT_IMPL /* CallCharMethod */,
- NOT_IMPL /* CallCharMethodV */,
- NOT_IMPL /* CallCharMethodA */,
- NOT_IMPL /* CallShortMethod */,
- NOT_IMPL /* CallShortMethodV */,
- NOT_IMPL /* CallShortMethodA */,
- NOT_IMPL /* CallIntMethod */,
- NOT_IMPL /* CallIntMethodV */,
- NOT_IMPL /* CallIntMethodA */,
- NOT_IMPL /* CallLongMethod */,
- NOT_IMPL /* CallLongMethodV */,
- NOT_IMPL /* CallLongMethodA */,
- NOT_IMPL /* CallFloatMethod */,
- NOT_IMPL /* CallFloatMethodV */,
- NOT_IMPL /* CallFloatMethodA */,
- NOT_IMPL /* CallDoubleMethod */,
- NOT_IMPL /* CallDoubleMethodV */,
- NOT_IMPL /* CallDoubleMethodA */,
- NOT_IMPL /* CallVoidMethod */,
- NOT_IMPL /* CallVoidMethodV */,
- NOT_IMPL /* CallVoidMethodA */,
- NOT_IMPL /* CallNonvirtualObjectMethod */,
- NOT_IMPL /* CallNonvirtualObjectMethodV */,
- NOT_IMPL /* CallNonvirtualObjectMethodA */,
- NOT_IMPL /* CallNonvirtualBooleanMethod */,
- NOT_IMPL /* CallNonvirtualBooleanMethodV */,
- NOT_IMPL /* CallNonvirtualBooleanMethodA */,
- NOT_IMPL /* CallNonvirtualByteMethod */,
- NOT_IMPL /* CallNonvirtualByteMethodV */,
- NOT_IMPL /* CallNonvirtualByteMethodA */,
- NOT_IMPL /* CallNonvirtualCharMethod */,
- NOT_IMPL /* CallNonvirtualCharMethodV */,
- NOT_IMPL /* CallNonvirtualCharMethodA */,
- NOT_IMPL /* CallNonvirtualShortMethod */,
- NOT_IMPL /* CallNonvirtualShortMethodV */,
- NOT_IMPL /* CallNonvirtualShortMethodA */,
- NOT_IMPL /* CallNonvirtualIntMethod */,
- NOT_IMPL /* CallNonvirtualIntMethodV */,
- NOT_IMPL /* CallNonvirtualIntMethodA */,
- NOT_IMPL /* CallNonvirtualLongMethod */,
- NOT_IMPL /* CallNonvirtualLongMethodV */,
- NOT_IMPL /* CallNonvirtualLongMethodA */,
- NOT_IMPL /* CallNonvirtualFloatMethod */,
- NOT_IMPL /* CallNonvirtualFloatMethodV */,
- NOT_IMPL /* CallNonvirtualFloatMethodA */,
- NOT_IMPL /* CallNonvirtualDoubleMethod */,
- NOT_IMPL /* CallNonvirtualDoubleMethodV */,
- NOT_IMPL /* CallNonvirtualDoubleMethodA */,
- NOT_IMPL /* CallNonvirtualVoidMethod */,
- NOT_IMPL /* CallNonvirtualVoidMethodV */,
- NOT_IMPL /* CallNonvirtualVoidMethodA */,
- NOT_IMPL /* GetFieldID */,
- _Jv_JNI_GetObjectField,
- NOT_IMPL /* GetBooleanField */,
- _Jv_JNI_GetByteField,
- NOT_IMPL /* GetCharField */,
- _Jv_JNI_GetShortField,
- _Jv_JNI_GetIntField,
- _Jv_JNI_GetLongField,
- NOT_IMPL /* GetFloatField */,
- NOT_IMPL /* GetDoubleField */,
- NOT_IMPL /* SetObjectField */,
- NOT_IMPL /* SetBooleanField */,
- NOT_IMPL /* SetByteField */,
- NOT_IMPL /* SetCharField */,
- NOT_IMPL /* SetShortField */,
- NOT_IMPL /* SetIntField */,
- NOT_IMPL /* SetLongField */,
- NOT_IMPL /* SetFloatField */,
- NOT_IMPL /* SetDoubleField */,
- NOT_IMPL /* GetStaticMethodID */,
- NOT_IMPL /* CallStaticObjectMethod */,
- NOT_IMPL /* CallStaticObjectMethodV */,
- NOT_IMPL /* CallStaticObjectMethodA */,
- NOT_IMPL /* CallStaticBooleanMethod */,
- NOT_IMPL /* CallStaticBooleanMethodV */,
- NOT_IMPL /* CallStaticBooleanMethodA */,
- NOT_IMPL /* CallStaticByteMethod */,
- NOT_IMPL /* CallStaticByteMethodV */,
- NOT_IMPL /* CallStaticByteMethodA */,
- NOT_IMPL /* CallStaticCharMethod */,
- NOT_IMPL /* CallStaticCharMethodV */,
- NOT_IMPL /* CallStaticCharMethodA */,
- NOT_IMPL /* CallStaticShortMethod */,
- NOT_IMPL /* CallStaticShortMethodV */,
- NOT_IMPL /* CallStaticShortMethodA */,
- NOT_IMPL /* CallStaticIntMethod */,
- NOT_IMPL /* CallStaticIntMethodV */,
- NOT_IMPL /* CallStaticIntMethodA */,
- NOT_IMPL /* CallStaticLongMethod */,
- NOT_IMPL /* CallStaticLongMethodV */,
- NOT_IMPL /* CallStaticLongMethodA */,
- NOT_IMPL /* CallStaticFloatMethod */,
- NOT_IMPL /* CallStaticFloatMethodV */,
- NOT_IMPL /* CallStaticFloatMethodA */,
- NOT_IMPL /* CallStaticDoubleMethod */,
- NOT_IMPL /* CallStaticDoubleMethodV */,
- NOT_IMPL /* CallStaticDoubleMethodA */,
- NOT_IMPL /* CallStaticVoidMethod */,
- NOT_IMPL /* CallStaticVoidMethodV */,
- NOT_IMPL /* CallStaticVoidMethodA */,
- NOT_IMPL /* GetStaticFieldID */,
- NOT_IMPL /* GetStaticObjectField */,
- NOT_IMPL /* GetStaticBooleanField */,
- NOT_IMPL /* GetStaticByteField */,
- NOT_IMPL /* GetStaticCharField */,
- NOT_IMPL /* GetStaticShortField */,
- NOT_IMPL /* GetStaticIntField */,
- NOT_IMPL /* GetStaticLongField */,
- NOT_IMPL /* GetStaticFloatField */,
- NOT_IMPL /* GetStaticDoubleField */,
- NOT_IMPL /* SetStaticObjectField */,
- NOT_IMPL /* SetStaticBooleanField */,
- NOT_IMPL /* SetStaticByteField */,
- NOT_IMPL /* SetStaticCharField */,
- NOT_IMPL /* SetStaticShortField */,
- NOT_IMPL /* SetStaticIntField */,
- NOT_IMPL /* SetStaticLongField */,
- NOT_IMPL /* SetStaticFloatField */,
- NOT_IMPL /* SetStaticDoubleField */,
- NOT_IMPL /* NewString */,
- _Jv_JNI_GetStringLength,
- NOT_IMPL /* GetStringChars */,
- NOT_IMPL /* ReleaseStringChars */,
- NOT_IMPL /* NewStringUTF */,
- NOT_IMPL /* GetStringUTFLength */,
- NOT_IMPL /* GetStringUTFChars */,
- NOT_IMPL /* ReleaseStringUTFChars */,
- NOT_IMPL /* GetArrayLength */,
- NOT_IMPL /* NewObjectArray */,
- NOT_IMPL /* GetObjectArrayElement */,
- NOT_IMPL /* SetObjectArrayElement */,
- NOT_IMPL /* NewBooleanArray */,
- NOT_IMPL /* NewByteArray */,
- NOT_IMPL /* NewCharArray */,
- NOT_IMPL /* NewShortArray */,
- NOT_IMPL /* NewIntArray */,
- NOT_IMPL /* NewLongArray */,
- NOT_IMPL /* NewFloatArray */,
- NOT_IMPL /* NewDoubleArray */,
- NOT_IMPL /* GetBooleanArrayElements */,
- NOT_IMPL /* GetByteArrayElements */,
- NOT_IMPL /* GetCharArrayElements */,
- NOT_IMPL /* GetShortArrayElements */,
- NOT_IMPL /* GetIntArrayElements */,
- NOT_IMPL /* GetLongArrayElements */,
- NOT_IMPL /* GetFloatArrayElements */,
- NOT_IMPL /* GetDoubleArrayElements */,
- NOT_IMPL /* ReleaseBooleanArrayElements */,
- NOT_IMPL /* ReleaseByteArrayElements */,
- NOT_IMPL /* ReleaseCharArrayElements */,
- NOT_IMPL /* ReleaseShortArrayElements */,
- NOT_IMPL /* ReleaseIntArrayElements */,
- NOT_IMPL /* ReleaseLongArrayElements */,
- NOT_IMPL /* ReleaseFloatArrayElements */,
- NOT_IMPL /* ReleaseDoubleArrayElements */,
- NOT_IMPL /* GetBooleanArrayRegion */,
- NOT_IMPL /* GetByteArrayRegion */,
- NOT_IMPL /* GetCharArrayRegion */,
- NOT_IMPL /* GetShortArrayRegion */,
- NOT_IMPL /* GetIntArrayRegion */,
- NOT_IMPL /* GetLongArrayRegion */,
- NOT_IMPL /* GetFloatArrayRegion */,
- NOT_IMPL /* GetDoubleArrayRegion */,
- NOT_IMPL /* SetBooleanArrayRegion */,
- NOT_IMPL /* SetByteArrayRegion */,
- NOT_IMPL /* SetCharArrayRegion */,
- NOT_IMPL /* SetShortArrayRegion */,
- NOT_IMPL /* SetIntArrayRegion */,
- NOT_IMPL /* SetLongArrayRegion */,
- NOT_IMPL /* SetFloatArrayRegion */,
- NOT_IMPL /* SetDoubleArrayRegion */,
- NOT_IMPL /* RegisterNatives */,
- NOT_IMPL /* UnregisterNatives */,
- NOT_IMPL /* MonitorEnter */,
- NOT_IMPL /* MonitorExit */,
- NOT_IMPL /* GetJavaVM */,
-};
diff --git a/libjava/libgcj.spec.in b/libjava/libgcj.spec.in
deleted file mode 100644
index 24ee578fb78..00000000000
--- a/libjava/libgcj.spec.in
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# This spec file is read by gcj when linking.
-# It is used to specify the standard libraries we need in order
-# to link with libgcj.
-#
-%rename lib liborig
-*lib: -lgcj -lm @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(liborig)
diff --git a/libjava/libtool-version b/libjava/libtool-version
deleted file mode 100644
index 30263df9c81..00000000000
--- a/libjava/libtool-version
+++ /dev/null
@@ -1,6 +0,0 @@
-# This file is used to maintain libtool version info for libgcj. See
-# the libtool manual to understand the meaning of the fields. This is
-# a separate file so that version updates don't involve re-running
-# automake.
-# CURRENT:REVISION:AGE
-0:0:0
diff --git a/libjava/mauve-libgcj b/libjava/mauve-libgcj
deleted file mode 100644
index 727968dcbf7..00000000000
--- a/libjava/mauve-libgcj
+++ /dev/null
@@ -1,25 +0,0 @@
-# Config file that tells mauve about the `libjava' tag.
-JDK1.0
-JDK1.1
-!java.applet
-!java.awt
-!java.beans
-java.lang.Character.classify12
-java.lang.String.hash
-!java.math
-!java.net
-!java.rmi
-!java.security
-!java.sql
-java.text.StringCharacterIterator.iter
-# FIXME: can't enable these until we eliminate compiler bug.
-# (The bug is in javac, not gcj, so this really has to wait until
-# we can compile mauve with gcj -C.)
-# java.text.FieldPosition.Test
-# java.text.ParsePosition.Test
-# java.text.SimpleDateFormat.getAndSet2DigitYearStart
-!java.text.ACIAttribute
-!java.text.AttributedCharacterIterator
-!java.text.resources
-!java.text.DateFormat
-!java.util.zip
diff --git a/libjava/no-threads.cc b/libjava/no-threads.cc
deleted file mode 100644
index d6e0298d219..00000000000
--- a/libjava/no-threads.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-// no-thread.cc - Implementation of `no threads' threads.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/Thread.h>
-
-java::lang::Thread *_Jv_OnlyThread = NULL;
-
-void
-_Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *,
- _Jv_ThreadStartFunc *meth)
-{
- JvAssert (! _Jv_OnlyThread);
- _Jv_OnlyThread = thread;
- (*meth) (thread);
-}
diff --git a/libjava/nogc.cc b/libjava/nogc.cc
deleted file mode 100644
index 2d3676bdcca..00000000000
--- a/libjava/nogc.cc
+++ /dev/null
@@ -1,81 +0,0 @@
-// nogc.cc - Code to implement no GC.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <cni.h>
-#include <jvm.h>
-
-// Total amount of memory allocated.
-static long total = 0;
-
-void *
-_Jv_AllocObj (jsize size)
-{
- total += size;
- return calloc (size, 1);
-}
-
-void *
-_Jv_AllocArray (jsize size)
-{
- total += size;
- return calloc (size, 1);
-}
-
-void *
-_Jv_AllocBytes (jsize size)
-{
- total += size;
- return calloc (size, 1);
-}
-
-void
-_Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
-{
- // FIXME: should actually register so that finalizers can be run on
- // exit.
-}
-
-void
-_Jv_RunFinalizers (void)
-{
-}
-
-void
-_Jv_RunAllFinalizers (void)
-{
- // FIXME: should still run all finalizers.
-}
-
-void
-_Jv_RunGC (void)
-{
-}
-
-long
-_Jv_GCTotalMemory (void)
-{
- return total;
-}
-
-long
-_Jv_GCFreeMemory (void)
-{
- return 0;
-}
-
-void
-_Jv_InitGC (void)
-{
-}
diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc
deleted file mode 100644
index 436588aee32..00000000000
--- a/libjava/posix-threads.cc
+++ /dev/null
@@ -1,360 +0,0 @@
-// posix-threads.cc - interface between libjava and POSIX threads.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-// TO DO:
-// * Document signal handling limitations
-
-#include <config.h>
-
-// If we're using the Boehm GC, then we need to override some of the
-// thread primitives. This is fairly gross.
-#ifdef HAVE_BOEHM_GC
-extern "C"
-{
-#include <boehm-config.h>
-#include <gc.h>
-};
-#endif /* HAVE_BOEHM_GC */
-
-#include <stdlib.h>
-#include <time.h>
-#include <signal.h>
-
-#include <cni.h>
-#include <jvm.h>
-#include <java/lang/Thread.h>
-#include <java/lang/System.h>
-
-// This is used to implement thread startup.
-struct starter
-{
- _Jv_ThreadStartFunc *method;
- java::lang::Thread *object;
- _Jv_Thread_t *data;
-};
-
-// This is the key used to map from the POSIX thread value back to the
-// Java object representing the thread. The key is global to all
-// threads, so it is ok to make it a global here.
-pthread_key_t _Jv_ThreadKey;
-
-// We keep a count of all non-daemon threads which are running. When
-// this reaches zero, _Jv_ThreadWait returns.
-static pthread_mutex_t daemon_mutex;
-static pthread_cond_t daemon_cond;
-static int non_daemon_count;
-
-// The signal to use when interrupting a thread.
-#ifdef LINUX_THREADS
- // LinuxThreads usurps both SIGUSR1 and SIGUSR2.
-# define INTR SIGHUP
-#else /* LINUX_THREADS */
-# define INTR SIGUSR2
-#endif /* LINUX_THREADS */
-
-//
-// These are the flags that can appear in _Jv_Thread_t.
-//
-
-// Thread started.
-#define FLAG_START 0x01
-// Thread is daemon.
-#define FLAG_DAEMON 0x02
-
-
-
-int
-_Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu,
- jlong millis, jint nanos)
-{
- int r;
- pthread_mutex_t *pmu;
-#ifdef HAVE_RECURSIVE_MUTEX
- pmu = mu;
-#else
- pmu = &mu->mutex2;
-#endif
- if (millis == 0 && nanos == 0)
- r = pthread_cond_wait (cv, pmu);
- else
- {
- struct timespec ts;
- unsigned long m = millis + java::lang::System::currentTimeMillis ();
-
- ts.tv_sec = m / 1000;
- ts.tv_nsec = (m % 1000) * 1000 * 1000 + nanos;
-
- r = pthread_cond_timedwait (cv, pmu, &ts);
- }
- return r;
-}
-
-#ifndef RECURSIVE_MUTEX_IS_DEFAULT
-
-void
-_Jv_MutexInit (_Jv_Mutex_t *mu)
-{
-#ifdef HAVE_RECURSIVE_MUTEX
- pthread_mutexattr_t *val = NULL;
-
-#if defined (HAVE_PTHREAD_MUTEXATTR_SETTYPE)
- pthread_mutexattr_t attr;
-
- // If this is slow, then allocate it statically and only initialize
- // it once.
- pthread_mutexattr_init (&attr);
- pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
- val = &attr;
-#elif defined (HAVE_PTHREAD_MUTEXATTR_SETKIND_NP)
- pthread_mutexattr_t attr;
- pthread_mutexattr_init (&attr);
- pthread_mutexattr_setkind_np (&attr, PTHREAD_MUTEX_RECURSIVE_NP);
- val = &attr;
-#endif
-
- pthread_mutex_init (mu, val);
-
-#if defined (HAVE_PTHREAD_MUTEXATTR_SETTYPE) || defined (HAVE_PTHREAD_MUTEXATTR_SETKIND_NP)
- pthread_mutexattr_destroy (&attr);
-#endif
-
-#else /* HAVE_RECURSIVE_MUTEX */
-
- // No recursive mutex, so simulate one.
- pthread_mutex_init (&mu->mutex, NULL);
- pthread_mutex_init (&mu->mutex2, NULL);
- pthread_cond_init (&mu->cond, 0);
- mu->count = 0;
-
-#endif /* HAVE_RECURSIVE_MUTEX */
-}
-
-#endif /* not RECURSIVE_MUTEX_IS_DEFAULT */
-
-#if ! defined (LINUX_THREADS) && ! defined (HAVE_RECURSIVE_MUTEX)
-
-void
-_Jv_MutexDestroy (_Jv_Mutex_t *mu)
-{
- pthread_mutex_destroy (&mu->mutex);
- pthread_mutex_destroy (&mu->mutex2);
- pthread_cond_destroy (&mu->cond);
-}
-
-int
-_Jv_MutexLock (_Jv_Mutex_t *mu)
-{
- if (pthread_mutex_lock (&mu->mutex))
- return -1;
- while (1)
- {
- if (mu->count == 0)
- {
- // Grab the lock.
- mu->thread = pthread_self ();
- mu->count = 1;
- pthread_mutex_lock (&mu->mutex2);
- break;
- }
- else if (pthread_self () == mu->thread)
- {
- // Already have the lock.
- mu->count += 1;
- break;
- }
- else
- {
- // Try to acquire the lock.
- pthread_cond_wait (&mu->cond, &mu->mutex);
- }
- }
- pthread_mutex_unlock (&mu->mutex);
- return 0;
-}
-
-int
-_Jv_MutexUnlock (_Jv_Mutex_t *mu)
-{
- if (pthread_mutex_lock (&mu->mutex))
- return -1;
- int r = 0;
- if (mu->count == 0 || pthread_self () != mu->thread)
- r = -1;
- else
- {
- mu->count -= 1;
- if (! mu->count)
- {
- pthread_mutex_unlock (&mu->mutex2);
- pthread_cond_signal (&mu->cond);
- }
- }
- pthread_mutex_unlock (&mu->mutex);
- return r;
-}
-
-#endif /* not LINUX_THREADS and not HAVE_RECURSIVE_MUTEX */
-
-static void
-handle_intr (int)
-{
- // Do nothing.
-}
-
-void
-_Jv_InitThreads (void)
-{
- pthread_key_create (&_Jv_ThreadKey, NULL);
- pthread_mutex_init (&daemon_mutex, NULL);
- pthread_cond_init (&daemon_cond, 0);
- non_daemon_count = 0;
-
- // Arrange for the interrupt signal to interrupt system calls.
- struct sigaction act;
- act.sa_handler = handle_intr;
- sigemptyset (&act.sa_mask);
- act.sa_flags = 0;
- sigaction (INTR, &act, NULL);
-
- // Arrange for SIGINT to be blocked to all threads. It is only
- // deliverable to the master thread.
- sigset_t mask;
- sigemptyset (&mask);
- sigaddset (&mask, SIGINT);
- pthread_sigmask (SIG_BLOCK, &mask, NULL);
-}
-
-void
-_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
-{
- _Jv_Thread_t *info = new _Jv_Thread_t;
-
- info->flags = 0;
- info->exception = NULL;
-
- // FIXME register a finalizer for INFO here.
- // FIXME also must mark INFO somehow.
-
- *data = info;
-}
-
-void
-_Jv_ThreadSetPriority (_Jv_Thread_t *data, jint prio)
-{
- if (data->flags & FLAG_START)
- {
- struct sched_param param;
-
- param.sched_priority = prio;
- pthread_setschedparam (data->thread, SCHED_RR, &param);
- }
-}
-
-
-// This is called as a cleanup handler when a thread is exiting. We
-// use it to throw the requested exception. It's entirely possible
-// that this approach is doomed to failure, in which case we'll need
-// to adopt some alternate. For instance, use a signal to implement
-// _Jv_ThreadCancel.
-static void
-throw_cleanup (void *data)
-{
- _Jv_Thread_t *td = (_Jv_Thread_t *) data;
- _Jv_Throw ((java::lang::Throwable *) td->exception);
-}
-
-void
-_Jv_ThreadCancel (_Jv_Thread_t *data, void *error)
-{
- data->exception = error;
- pthread_cancel (data->thread);
-}
-
-// This function is called when a thread is started. We don't arrange
-// to call the `run' method directly, because this function must
-// return a value.
-static void *
-really_start (void *x)
-{
- struct starter *info = (struct starter *) x;
-
- pthread_cleanup_push (throw_cleanup, info->data);
- pthread_setspecific (_Jv_ThreadKey, info->object);
- info->method (info->object);
- pthread_cleanup_pop (0);
-
- if (! (info->data->flags & FLAG_DAEMON))
- {
- pthread_mutex_lock (&daemon_mutex);
- --non_daemon_count;
- if (! non_daemon_count)
- pthread_cond_signal (&daemon_cond);
- pthread_mutex_unlock (&daemon_mutex);
- }
-
- return NULL;
-}
-
-void
-_Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
- _Jv_ThreadStartFunc *meth)
-{
- struct sched_param param;
- pthread_attr_t attr;
- struct starter *info;
-
- if (data->flags & FLAG_START)
- return;
- data->flags |= FLAG_START;
-
- param.sched_priority = thread->getPriority();
-
- pthread_attr_init (&attr);
- pthread_attr_setschedparam (&attr, &param);
-
- // FIXME: handle marking the info object for GC.
- info = (struct starter *) _Jv_AllocBytes (sizeof (struct starter));
- info->method = meth;
- info->object = thread;
- info->data = data;
-
- if (! thread->isDaemon())
- {
- pthread_mutex_lock (&daemon_mutex);
- ++non_daemon_count;
- pthread_mutex_unlock (&daemon_mutex);
- }
- else
- data->flags |= FLAG_DAEMON;
- pthread_create (&data->thread, &attr, really_start, (void *) info);
-
- pthread_attr_destroy (&attr);
-}
-
-void
-_Jv_ThreadWait (void)
-{
- // Arrange for SIGINT to be delivered to the master thread.
- sigset_t mask;
- sigemptyset (&mask);
- sigaddset (&mask, SIGINT);
- pthread_sigmask (SIG_UNBLOCK, &mask, NULL);
-
- pthread_mutex_lock (&daemon_mutex);
- if (non_daemon_count)
- pthread_cond_wait (&daemon_cond, &daemon_mutex);
- pthread_mutex_unlock (&daemon_mutex);
-}
-
-void
-_Jv_ThreadInterrupt (_Jv_Thread_t *data)
-{
- pthread_kill (data->thread, INTR);
-}
diff --git a/libjava/prims.cc b/libjava/prims.cc
deleted file mode 100644
index 4cc31cdd0ca..00000000000
--- a/libjava/prims.cc
+++ /dev/null
@@ -1,608 +0,0 @@
-// prims.cc - Code for core of runtime environment.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <stdlib.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-
-#pragma implementation "java-array.h"
-
-#include <cni.h>
-#include <jvm.h>
-#include <java-signal.h>
-
-#include <java/lang/Class.h>
-#include <java/lang/Runtime.h>
-#include <java/lang/String.h>
-#include <java/lang/Thread.h>
-#include <java/lang/ThreadGroup.h>
-#include <java/lang/FirstThread.h>
-#include <java/lang/ArrayIndexOutOfBoundsException.h>
-#include <java/lang/ArithmeticException.h>
-#include <java/lang/ClassFormatError.h>
-#include <java/lang/ClassCastException.h>
-#include <java/lang/NegativeArraySizeException.h>
-#include <java/lang/NullPointerException.h>
-#include <java/lang/OutOfMemoryError.h>
-#include <java/lang/ArrayStoreException.h>
-#include <java/lang/System.h>
-#include <java/lang/reflect/Modifier.h>
-#include <java/io/PrintStream.h>
-
-#ifdef USE_LTDL
-#include <ltdl.h>
-#endif
-
-#define ObjectClass _CL_Q34java4lang6Object
-extern java::lang::Class ObjectClass;
-
-// We allocate a single OutOfMemoryError exception which we keep
-// around for use if we run out of memory.
-static java::lang::OutOfMemoryError *no_memory;
-
-// Largest representable size_t.
-#define SIZE_T_MAX ((size_t) (~ (size_t) 0))
-
-
-
-#ifdef HANDLE_SEGV
-static java::lang::NullPointerException *nullp;
-SIGNAL_HANDLER (catch_segv)
-{
- MAKE_THROW_FRAME;
- _Jv_Throw (nullp);
-}
-#endif
-
-#ifdef HANDLE_FPE
-static java::lang::ArithmeticException *arithexception;
-SIGNAL_HANDLER (catch_fpe)
-{
- MAKE_THROW_FRAME;
- _Jv_Throw (arithexception);
-}
-#endif
-
-
-
-jboolean
-_Jv_equalUtf8Consts (Utf8Const* a, Utf8Const *b)
-{
- register int len;
- register _Jv_ushort *aptr, *bptr;
- if (a == b)
- return true;
- if (a->hash != b->hash)
- return false;
- len = a->length;
- if (b->length != len)
- return false;
- aptr = (_Jv_ushort *)a->data;
- bptr = (_Jv_ushort *)b->data;
- len = (len + 1) >> 1;
- while (--len >= 0)
- if (*aptr++ != *bptr++)
- return false;
- return true;
-}
-
-/* True iff A is equal to STR.
- HASH is STR->hashCode().
-*/
-
-jboolean
-_Jv_equal (Utf8Const* a, jstring str, jint hash)
-{
- if (a->hash != (_Jv_ushort) hash)
- return false;
- jint len = str->length();
- jint i = 0;
- jchar *sptr = _Jv_GetStringChars (str);
- register unsigned char* ptr = (unsigned char*) a->data;
- register unsigned char* limit = ptr + a->length;
- for (;; i++, sptr++)
- {
- int ch = UTF8_GET (ptr, limit);
- if (i == len)
- return ch < 0;
- if (ch != *sptr)
- return false;
- }
- return true;
-}
-
-/* Count the number of Unicode chars encoded in a given Ut8 string. */
-int
-_Jv_strLengthUtf8(char* str, int len)
-{
- register unsigned char* ptr;
- register unsigned char* limit;
- int str_length;
-
- ptr = (unsigned char*) str;
- limit = ptr + len;
- str_length = 0;
- for (; ptr < limit; str_length++) {
- if (UTF8_GET (ptr, limit) < 0) {
- return (-1);
- }
- }
- return (str_length);
-}
-
-/* Calculate a hash value for a string encoded in Utf8 format.
- * This returns the same hash value as specified or java.lang.String.hashCode.
- */
-static jint
-hashUtf8String (char* str, int len)
-{
- register unsigned char* ptr = (unsigned char*) str;
- register unsigned char* limit = ptr + len;
- jint hash = 0;
-
- for (; ptr < limit;)
- {
- int ch = UTF8_GET (ptr, limit);
- /* Updated specification from
- http://www.javasoft.com/docs/books/jls/clarify.html. */
- hash = (31 * hash) + ch;
- }
- return hash;
-}
-
-_Jv_Utf8Const *
-_Jv_makeUtf8Const (char* s, int len)
-{
- if (len < 0)
- len = strlen (s);
- Utf8Const* m = (Utf8Const*) _Jv_AllocBytes (sizeof(Utf8Const) + len + 1);
- if (! m)
- JvThrow (no_memory);
- memcpy (m->data, s, len);
- m->data[len] = 0;
- m->length = len;
- m->hash = hashUtf8String (s, len) & 0xFFFF;
- return (m);
-}
-
-
-
-#ifdef DEBUG
-void
-_Jv_Abort (const char *function, const char *file, int line,
- const char *message)
-#else
-void
-_Jv_Abort (const char *, const char *, int, const char *message)
-#endif
-{
-#ifdef DEBUG
- fprintf (stderr,
- "libgcj failure: %s\n in function %s, file %s, line %d\n",
- message, function, file, line);
-#else
- java::io::PrintStream *err = java::lang::System::err;
- err->print(JvNewStringLatin1 ("libgcj failure: "));
- err->println(JvNewStringLatin1 (message));
- err->flush();
-#endif
- abort ();
-}
-
-static void
-fail_on_finalization (jobject)
-{
- JvFail ("object was finalized");
-}
-
-void
-_Jv_GCWatch (jobject obj)
-{
- _Jv_RegisterFinalizer (obj, fail_on_finalization);
-}
-
-void
-_Jv_ThrowBadArrayIndex(jint bad_index)
-{
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException
- (java::lang::String::valueOf(bad_index)));
-}
-
-void*
-_Jv_CheckCast (jclass c, jobject obj)
-{
- if (obj != NULL && ! c->isAssignableFrom(obj->getClass()))
- JvThrow (new java::lang::ClassCastException);
- return obj;
-}
-
-void
-_Jv_CheckArrayStore (jobject arr, jobject obj)
-{
- if (obj)
- {
- JvAssert (arr != NULL);
- jclass arr_class = arr->getClass();
- JvAssert (arr_class->isArray());
- jclass elt_class = arr_class->getComponentType();
- jclass obj_class = obj->getClass();
- if (! elt_class->isAssignableFrom(obj_class))
- JvThrow (new java::lang::ArrayStoreException);
- }
-}
-
-
-
-// Allocate some unscanned memory and throw an exception if no memory.
-void *
-_Jv_AllocBytesChecked (jsize size)
-{
- void *r = _Jv_AllocBytes (size);
- if (! r)
- _Jv_Throw (no_memory);
- return r;
-}
-
-// Allocate a new object of class C. SIZE is the size of the object
-// to allocate. You might think this is redundant, but it isn't; some
-// classes, such as String, aren't of fixed size.
-jobject
-_Jv_AllocObject (jclass c, jint size)
-{
- _Jv_InitClass (c);
-
- jobject obj = (jobject) _Jv_AllocObj (size);
- if (! obj)
- JvThrow (no_memory);
- *((_Jv_VTable **) obj) = c->vtable;
-
- // If this class has inherited finalize from Object, then don't
- // bother registering a finalizer. We know that finalize() is the
- // very first method after the dummy entry. If this turns out to be
- // unreliable, a more robust implementation can be written. Such an
- // implementation would look for Object.finalize in Object's method
- // table at startup, and then use that information to find the
- // appropriate index in the method vector.
- if (c->vtable->method[1] != ObjectClass.vtable->method[1])
- _Jv_RegisterFinalizer (obj, _Jv_FinalizeObject);
-
- return obj;
-}
-
-// Allocate a new array of Java objects. Each object is of type
-// `elementClass'. `init' is used to initialize each slot in the
-// array.
-jobjectArray
-_Jv_NewObjectArray (jsize count, jclass elementClass, jobject init)
-{
- if (count < 0)
- JvThrow (new java::lang::NegativeArraySizeException);
-
- // Check for overflow.
- if ((size_t) count > (SIZE_T_MAX - sizeof (__JArray)) / sizeof (jobject))
- JvThrow (no_memory);
-
- size_t size = count * sizeof (jobject) + sizeof (__JArray);
- jclass clas = _Jv_FindArrayClass (elementClass);
- jobjectArray obj = (jobjectArray) _Jv_AllocArray (size);
- if (! obj)
- JvThrow (no_memory);
- obj->length = count;
- jobject* ptr = elements(obj);
- // We know the allocator returns zeroed memory. So don't bother
- // zeroing it again.
- if (init)
- {
- while (--count >= 0)
- *ptr++ = init;
- }
- // Set the vtbl last to avoid problems if the GC happens during the
- // window in this function between the allocation and this
- // assignment.
- *((_Jv_VTable **) obj) = clas->vtable;
- return obj;
-}
-
-// Allocate a new array of primitives. ELTYPE is the type of the
-// element, COUNT is the size of the array.
-jobject
-_Jv_NewPrimArray (jclass eltype, jint count)
-{
- int elsize = eltype->size();
- if (count < 0)
- JvThrow (new java::lang::NegativeArraySizeException ());
-
- // Check for overflow.
- if ((size_t) count > (SIZE_T_MAX - sizeof (__JArray)) / elsize)
- JvThrow (no_memory);
-
- __JArray *arr = (__JArray*) _Jv_AllocObj (sizeof (__JArray)
- + elsize * count);
- if (! arr)
- JvThrow (no_memory);
- arr->length = count;
- // Note that we assume we are given zeroed memory by the allocator.
-
- jclass klass = _Jv_FindArrayClass (eltype);
- // Set the vtbl last to avoid problems if the GC happens during the
- // window in this function between the allocation and this
- // assignment.
- *((_Jv_VTable **) arr) = klass->vtable;
- return arr;
-}
-
-jcharArray
-JvNewCharArray (jint length)
-{
- return (jcharArray) _Jv_NewPrimArray (JvPrimClass (char), length);
-}
-
-jbooleanArray
-JvNewBooleanArray (jint length)
-{
- return (jbooleanArray) _Jv_NewPrimArray (JvPrimClass (boolean), length);
-}
-
-jbyteArray
-JvNewByteArray (jint length)
-{
- return (jbyteArray) _Jv_NewPrimArray (JvPrimClass (byte), length);
-}
-
-jshortArray
-JvNewShortArray (jint length)
-{
- return (jshortArray) _Jv_NewPrimArray (JvPrimClass (short), length);
-}
-
-jintArray
-JvNewIntArray (jint length)
-{
- return (jintArray) _Jv_NewPrimArray (JvPrimClass (int), length);
-}
-
-jlongArray
-JvNewLongArray (jint length)
-{
- return (jlongArray) _Jv_NewPrimArray (JvPrimClass (long), length);
-}
-
-jfloatArray
-JvNewFloatArray (jint length)
-{
- return (jfloatArray) _Jv_NewPrimArray (JvPrimClass (float), length);
-}
-
-jdoubleArray
-JvNewDoubleArray (jint length)
-{
- return (jdoubleArray) _Jv_NewPrimArray (JvPrimClass (double), length);
-}
-
-jobject
-_Jv_NewArray (jint type, jint size)
-{
- switch (type)
- {
- case 4: return JvNewBooleanArray (size);
- case 5: return JvNewCharArray (size);
- case 6: return JvNewFloatArray (size);
- case 7: return JvNewDoubleArray (size);
- case 8: return JvNewByteArray (size);
- case 9: return JvNewShortArray (size);
- case 10: return JvNewIntArray (size);
- case 11: return JvNewLongArray (size);
- }
- JvFail ("newarray - bad type code");
- return NULL; // Placate compiler.
-}
-
-jobject
-_Jv_NewMultiArray (jclass type, jint dimensions, jint *sizes)
-{
- JvAssert (type->isArray());
- jclass element_type = type->getComponentType();
- jobject result;
- if (element_type->isPrimitive())
- result = _Jv_NewPrimArray (element_type, sizes[0]);
- else
- result = _Jv_NewObjectArray (sizes[0], element_type, NULL);
-
- if (dimensions > 1)
- {
- JvAssert (! element_type->isPrimitive());
- JvAssert (element_type->isArray());
- jobject *contents = elements ((jobjectArray) result);
- for (int i = 0; i < sizes[0]; ++i)
- contents[i] = _Jv_NewMultiArray (element_type, dimensions - 1,
- sizes + 1);
- }
-
- return result;
-}
-
-jobject
-_Jv_NewMultiArray (jclass array_type, jint dimensions, ...)
-{
- va_list args;
- jint sizes[dimensions];
- va_start (args, dimensions);
- for (int i = 0; i < dimensions; ++i)
- {
- jint size = va_arg (args, jint);
- sizes[i] = size;
- }
- va_end (args);
-
- return _Jv_NewMultiArray (array_type, dimensions, sizes);
-}
-
-
-
-class _Jv_PrimClass : public java::lang::Class
-{
-public:
- // FIXME: calling convention is weird. If we use the natural types
- // then the compiler will complain because they aren't Java types.
- _Jv_PrimClass (jobject cname, jbyte sig, jint len)
- {
- using namespace java::lang::reflect;
-
- // We must initialize every field of the class. We do this in
- // the same order they are declared in Class.h.
- next = NULL;
- name = _Jv_makeUtf8Const ((char *) cname, -1);
- accflags = Modifier::PUBLIC | Modifier::FINAL;
- superclass = NULL;
- constants.size = 0;
- constants.tags = NULL;
- constants.data = NULL;
- methods = NULL;
- method_count = sig;
- vtable_method_count = 0;
- fields = NULL;
- size_in_bytes = len;
- field_count = 0;
- static_field_count = 0;
- vtable = JV_PRIMITIVE_VTABLE;
- interfaces = NULL;
- loader = NULL;
- interface_count = 0;
- state = 0; // FIXME.
- thread = NULL;
- }
-};
-
-#define DECLARE_PRIM_TYPE(NAME, SIG, LEN) \
- _Jv_PrimClass _Jv_##NAME##Class((jobject) #NAME, (jbyte) SIG, (jint) LEN)
-
-DECLARE_PRIM_TYPE(byte, 'B', 1);
-DECLARE_PRIM_TYPE(short, 'S', 2);
-DECLARE_PRIM_TYPE(int, 'I', 4);
-DECLARE_PRIM_TYPE(long, 'J', 8);
-DECLARE_PRIM_TYPE(boolean, 'Z', 1);
-DECLARE_PRIM_TYPE(char, 'C', 2);
-DECLARE_PRIM_TYPE(float, 'F', 4);
-DECLARE_PRIM_TYPE(double, 'D', 8);
-DECLARE_PRIM_TYPE(void, 'V', 0);
-
-jclass
-_Jv_FindClassFromSignature (char *sig, java::lang::ClassLoader *loader)
-{
- switch (*sig)
- {
- case 'B':
- return JvPrimClass (byte);
- case 'S':
- return JvPrimClass (short);
- case 'I':
- return JvPrimClass (int);
- case 'J':
- return JvPrimClass (long);
- case 'Z':
- return JvPrimClass (boolean);
- case 'C':
- return JvPrimClass (char);
- case 'F':
- return JvPrimClass (float);
- case 'D':
- return JvPrimClass (double);
- case 'V':
- return JvPrimClass (void);
- case 'L':
- {
- int i;
- for (i = 1; sig[i] && sig[i] != ';'; ++i)
- ;
- _Jv_Utf8Const *name = _Jv_makeUtf8Const (&sig[1], i - 1);
- return _Jv_FindClass (name, loader);
- }
- case '[':
- return _Jv_FindArrayClass (_Jv_FindClassFromSignature (&sig[1], loader));
- }
- JvFail ("couldn't understand class signature");
- return NULL; // Placate compiler.
-}
-
-
-
-JArray<jstring> *
-JvConvertArgv (int argc, const char **argv)
-{
- if (argc < 0)
- argc = 0;
- jobjectArray ar = JvNewObjectArray(argc, &StringClass, NULL);
- jobject* ptr = elements(ar);
- for (int i = 0; i < argc; i++)
- {
- const char *arg = argv[i];
- // FIXME - should probably use JvNewStringUTF.
- *ptr++ = JvNewStringLatin1(arg, strlen(arg));
- }
- return (JArray<jstring>*) ar;
-}
-
-// FIXME: These variables are static so that they will be
-// automatically scanned by the Boehm collector. This is needed
-// because with qthreads the collector won't scan the initial stack --
-// it will only scan the qthreads stacks.
-
-// Command line arguments.
-static jobject arg_vec;
-
-// The primary threadgroup.
-static java::lang::ThreadGroup *main_group;
-
-// The primary thread.
-static java::lang::Thread *main_thread;
-
-void
-JvRunMain (jclass klass, int argc, const char **argv)
-{
- INIT_SEGV;
- INIT_FPE;
-
- no_memory = new java::lang::OutOfMemoryError;
-
-#ifdef USE_LTDL
- LTDL_SET_PRELOADED_SYMBOLS ();
-#endif
-
- arg_vec = JvConvertArgv (argc - 1, argv + 1);
- main_group = new java::lang::ThreadGroup (23);
- main_thread = new java::lang::FirstThread (main_group, klass, arg_vec);
-
- main_thread->start();
- _Jv_ThreadWait ();
-
- java::lang::Runtime::getRuntime ()->exit (0);
-}
-
-
-
-void *
-_Jv_Malloc (jsize size)
-{
- if (size == 0)
- size = 1;
- void *ptr = malloc ((size_t) size);
- if (ptr == NULL)
- JvThrow (no_memory);
- return ptr;
-}
-
-void
-_Jv_Free (void* ptr)
-{
- return free (ptr);
-}
diff --git a/libjava/quick-threads.cc b/libjava/quick-threads.cc
deleted file mode 100644
index ed7ac5eac7b..00000000000
--- a/libjava/quick-threads.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// quick-threads.cc - interface between libjava and QuickThreads.
-
-/* Copyright (C) 1998, 1999 Cygnus Solutions
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <cni.h>
-#include <jvm.h>
-
-#include <java/lang/Thread.h>
-#include <java/lang/System.h>
-
-
-// Identifier for our piece of thread-local data. Visible so that it
-// can be used in quick-threads.h.
-int _Jv_ThreadKey;
-
-void
-_Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
- _Jv_ThreadStartFunc *meth)
-{
- *data = coop_create ((coop_userf_t *) meth, (void *) thread,
- thread->isDaemon());
- coop_setspecific (*data, _Jv_ThreadKey, thread);
-}
-
-static void
-qthrow (void *except)
-{
- _Jv_Throw ((java::lang::Throwable *) except);
-}
-
-// Function to destroy thread-specific data item. We just don't care.
-static void
-destroy_data (void *)
-{
-}
-
-void
-_Jv_InitThreads (void)
-{
- coop_init ();
- _Jv_ThreadKey = coop_key_create (destroy_data);
- coop_set_throw_function (qthrow);
-}
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
deleted file mode 100644
index ef6b8dc5a97..00000000000
--- a/libjava/testsuite/ChangeLog
+++ /dev/null
@@ -1,365 +0,0 @@
-1999-05-12 Andrew Haley <aph@cygnus.com>
-
- * libjava.lang/Invoke_2.java: New file.
-
-1999-05-03 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp (libjava_arguments): Don't use -nodefaultlibs.
- (libjava_find_lib): Add `-L' option to find the actual library.
-
- * libjava.mauve/mauve.exp (test_mauve): Pass `link' to
- libjava_arguments when linking.
- (test_mauve_sim): Likewise.
- * lib/libjava.exp (libjava_arguments): Run `libtool' to link.
- Don't use `-static'. Added `mode' argument. Use -nodefaultlibs
- when linking.
- (test_libjava_from_source): Mention why target_compile failed.
- Pass `link' to libjava_arguments when linking. Only do `xfails'
- for tests we would actually have run.
- (test_libjava_from_javac): Likewise.
- (libjava_find_lib): Return name of `.la' file.
-
-1999-04-26 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp (libjava_find_lib): New proc.
- (libjava_arguments): Use it. Force static linking.
-
-Thu Apr 22 14:19:35 1999 Anthony Green <green@cygnus.com>
-
- * libjava.compile/OperatorBenchmark.java: New file.
-
-1999-04-09 Warren Levy <warrenl@cygnus.com>
-
- * libjava.mauve/mauve.exp (KEYS): Default to libgcj.
-
-1999-04-09 Tom Tromey <tromey@cygnus.com>
-
- * libjava.compile/plusplus.java: New file.
- From MoT <Sebastien.Villemot@ens.fr>.
-
-1999-04-06 Tom Tromey <tromey@cygnus.com>
-
- * libjava.mauve/mauve.exp (test_mauve_sim): Reference
- mauve-libgcj.
- (test_mauve): Likewise.
-
-1999-03-30 Tom Tromey <tromey@cygnus.com>
-
- * libjava.mauve/mauve.exp: Renamed from test.exp. With the new
- name it is easier to run just the Mauve tests.
-
- * libjava.mauve/test.exp (test_mauve): Added gnu/testlet/config to
- list of files to link in.
- (test_mauve_sim): Likewise.
- * libjava.mauve/DejaGNUTestHarness.java (srcdir, tmpdir): New
- static variables.
- (DejaGNUTestHarness): Removed argument from constructor.
- (dejasrcdir): New static variable.
- (main): Set `dejasrcdir'.
- (getSourceDirectory): New method.
-
-1999-03-08 Tom Tromey <tromey@cygnus.com>
-
- * libjava.compile/perc.java: New file.
-
-1999-02-26 Tom Tromey <tromey@cygnus.com>
-
- * libjava.util/test.exp: Removed.
-
-1999-02-25 Tom Tromey <tromey@cygnus.com>
-
- * libjava.mauve/test.exp: Make sure current directory is correct
- after tests are run.
-
- * libjava.mauve/test.exp (test_mauve): Removed extra arg in call
- to bytecompile_file.
- (test_mauve_sim): Likewise.
-
-Thu Feb 25 09:21:03 1999 Anthony Green <green@cygnus.com>
-
- * libjava.compile/euc_comment1.java,
- libjava.compile/euc_comment2.java,
- libjava.compile/euc_comment3.java,
- libjava.compile/euc_comment1.java,
- libjava.compile/euc_comment2.java,
- libjava.compile/euc_comment3.java: New files.
-
- * libjava.compile/Case.java, libjava.compile/support/Case.java:
- New files.
-
-1999-02-24 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp (find_jvscan): New proc.
- (bytecompile_file): Removed `srcfile_in' argument.
- (test_libjava_from_javac): Use `jv-scan' program to find name of
- `main' and name of all generated classes. Compile all generated
- classes, not just primary class. For no-exec tests, only try to
- build the .o, not the full executable.
-
-Wed Feb 24 11:22:32 1999 Anthony Green <green@hoser.cygnus.com>
-
- * libjava.compile/test.exp: Minor fix.
-
-1999-02-23 Anthony Green <green@cygnus.com>
-
- * libjava.compile/Where.java, libjava.compile/support/Waldo.java,
- libjava.compile/Twice.java, libjava.compile/Semi.java,
- libjava.compile/Statics.java, libjava.compile/test.exp,
- libjava.lang/Synch.java, libjava.lang/Synch.out: New files.
-
-1999-02-16 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Rebuilt.
- * Makefile.am (AUTOMAKE_OPTIONS): Added no-installinfo.
-
-Wed Feb 17 19:53:51 1999 Warren Levy <warrenl@cygnus.com>
-
- * libjava.mauve/test.exp: modified file allows Mauve tests to
- run on JMR board; simplified script to use same procedure for
- all testing
-
-1999-02-10 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp (libjava_arguments): Updated to track library
- renames.
-
-1999-02-07 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/slash.java: New file.
- * libjava.lang/slash.out: New file.
-
-Mon Feb 1 05:17:40 1999 Anthony Green <green@fencer.cygnus.com>
-
- * lib/libjava.exp: Test compiling from source as well as from
- bytecodes.
-
-1999-01-11 Tom Tromey <tromey@cygnus.com>
-
- * libjava.mauve/test.exp (mauve_compute_uses): Read classes file,
- not choices file.
-
- * libjava.mauve/test.exp (test_mauve): Added
- ResourceNotFoundException to list of harness files to compile.
- (test_mauve_sim): Likewise.
-
-1998-12-17 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Invoke_1.java: New file.
-
- * libjava.lang/Thread_1.java (Thread_1): Class now public.
- * libjava.lang/Array_1.java (Array_1): Class now public.
-
- * libjava.lang/Throw_1.out: New file.
- * libjava.lang/Throw_1.java: New file.
-
-1998-12-11 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp (libjava_arguments): New proc.
- (test_libjava): Use it.
- (bytecompile_file): Added classpath argument.
- * libjava.mauve/test.exp: New file.
- * libjava.mauve/DejaGNUTestHarness.java: New file.
-
-1998-12-08 Tom Tromey <tromey@cygnus.com>
-
- * Various: removed all test files that migrated to Mauve.
-
-1998-12-07 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Array_1.java (main): Removed extraneous
- getSuperclass call.
-
-1998-11-23 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Finalize_1.java (main): Clear `f' before GC.
-
-1998-10-08 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Thread_1.out: Added missing line.
-
-Fri Oct 2 14:55:46 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Array_1.java: Changed so Cloneable test can run
- even if clone test itself fails.
-
- * libjava.lang/Array_1.java: Uncommented calls to getSuperclass.
- Added test to see if array implements Cloneable.
-
-Thu Oct 1 11:28:06 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Array_1.java: New file.
- * libjava.lang/Array_1.out: New file.
-
-Thu Oct 1 13:51:00 1998 Anthony Green <green@cygnus.com>
-
- * testsuite/lib/libjava.exp: Find qthreads library correctly.
-
-Tue Sep 29 16:36:43 1998 Warren Levy <warrenl@cygnus.com>
-
- * libjava.util/Hashtable_1.java, libjava.util/Hashtable_1.out: Created.
-
-Tue Sep 29 00:40:26 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Thread_1.java (started): New field.
- (run): Set `started'. Handle all synchronization here.
- (Thread_1): Initialize `started'.
- (doit): Just start both threads and let them handle their own
- synchronization.
-
- * libjava.lang/Boolean_5.out: Changed to reflect the
- Boolean_5.java changes.
- * libjava.lang/Boolean_5.java: Don't replace the system
- properties, just augment them. Don't print the property object.
- * libjava.lang/Long_2.out: Changed to reflect Long_2.java
- changes.
- * libjava.lang/Long_2.java: Don't replace the system properties,
- just augment them. Don't print the property object.
- * libjava.lang/Integer_2.out: Changed to reflect Integer_2.java
- changes.
- * libjava.lang/Integer_2.java: Don't replace the system
- properties, just augment them. Don't print the property object.
-
-Sat Sep 26 15:57:39 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Thread_1.java (main): Catch InterruptedException.
-
-Tue Sep 22 13:45:58 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Thread_1.out: New file.
- * libjava.lang/Thread_1.java: New file.
-
-Mon Sep 21 14:20:08 1998 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp (test_libjava): Use runtest_file_p to see if
- test should be short-circuited.
-
-Tue Sep 15 13:57:45 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Character_9.java: New file.
- * libjava.lang/Character_9.out: New file.
-
-Mon Sep 14 12:27:04 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Character_8.out: New file.
- * libjava.lang/Character_8.java: New file.
- * libjava.lang/Character_7.out: New file.
- * libjava.lang/Character_7.java: New file.
- * libjava.lang/Character_6.out: New file.
- * libjava.lang/Character_6.java: New file.
- * libjava.lang/Character_5.out: New file.
- * libjava.lang/Character_5.java: New file.
- * libjava.lang/Character_4.out: New file.
- * libjava.lang/Character_4.java: New file.
- * libjava.lang/Character_3.out: New file.
- * libjava.lang/Character_3.java: New file.
- * libjava.lang/Character_2.out: New file.
- * libjava.lang/Character_2.java: New file.
-
-Fri Sep 11 10:04:55 1998 Tom Tromey <tromey@cygnus.com>
-
- * libjava.lang/Character_1.out: New file.
- * libjava.lang/Character_1.java: New file.
-
-Fri Sep 18 14:43:59 1998 Warren Levy <warrenl@cygnus.com>
-
- * libjava.lang/Long_1.java, libjava.lang/Long_1.out,
- libjava.lang/Long_2.java, libjava.lang/Long_2.out: Created.
-
-Fri Sep 18 12:43:52 1998 Warren Levy <warrenl@cygnus.com>
-
- * libjava.lang/Integer_1.java, libjava.lang/Integer_1.out,
- libjava.lang/Integer_2.java, libjava.lang/Integer_2.out: Created.
-
- * libjava.lang/String_2.java, libjava.lang/String_2.out: Use JDK 1.2
- values for hashCode.
-
-Thu Sep 10 12:44:42 1998 Warren Levy <warrenl@cygnus.com>
-
- * libjava.lang/String_1.java, libjava.lang/String_1.out,
- libjava.lang/String_2.java, libjava.lang/String_2.out,
- libjava.lang/String_3.java, libjava.lang/String_3.out,
- libjava.lang/String_4.java, libjava.lang/String_4.out,
- libjava.lang/String_5.java, libjava.lang/String_5.out,
- libjava.lang/String_6.java, libjava.lang/String_6.out,
- libjava.lang/String_7.java, libjava.lang/String_7.out,
- libjava.lang/String_8.java, libjava.lang/String_8.out,
- libjava.lang/String_9.java, libjava.lang/String_9.out: Created.
-
-Tue Sep 8 13:31:59 1998 Warren Levy <warrenl@cygnus.com>
-
- * libjava.lang/Byte_1.java, libjava.lang/Byte_1.out,
- libjava.lang/Short_1.java, libjava.lang/Short_1.out: New files.
-
-Thu Sep 3 15:57:57 1998 Warren Levy <warrenl@cygnus.com>
-
- * libjava.lang/Boolean_1.java, libjava.lang/Boolean_1.out,
- libjava.lang/Boolean_2.java, libjava.lang/Boolean_2.out,
- libjava.lang/Boolean_3.java, libjava.lang/Boolean_3.out,
- libjava.lang/Boolean_4.java, libjava.lang/Boolean_4.out,
- libjava.lang/Boolean_5.java, libjava.lang/Boolean_5.out: Created.
-
-Tue Sep 1 12:27:54 1998 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp (bytecompile_file): Don't throw error if byte
- compilation fails. Added `srcfile_in' argument. Changed return
- value.
- (test_libjava): Gracefully handle byte-compilation failure.
-
- * libjava.lang/System_15.java (main): Typo fix.
- (System_15): Choose correct class name.
- (X): Moved into System_15.
-
- * libjava.lang/System_1.java, libjava.lang/System_1.out,
- libjava.lang/System_10.java, libjava.lang/System_10.out,
- libjava.lang/System_11.java, libjava.lang/System_11.out,
- libjava.lang/System_12.java, libjava.lang/System_12.out,
- libjava.lang/System_13.java, libjava.lang/System_13.out,
- libjava.lang/System_14.java, libjava.lang/System_14.out,
- libjava.lang/System_15.java, libjava.lang/System_15.out,
- libjava.lang/System_2.java, libjava.lang/System_2.out,
- libjava.lang/System_3.java, libjava.lang/System_3.out,
- libjava.lang/System_4.java, libjava.lang/System_4.out,
- libjava.lang/System_5.java, libjava.lang/System_5.out,
- libjava.lang/System_6.java, libjava.lang/System_6.out,
- libjava.lang/System_7.java, libjava.lang/System_7.out,
- libjava.lang/System_8.java, libjava.lang/System_8.out,
- libjava.lang/System_9.java, libjava.lang/System_9.out: New files.
-
- * lib/libjava.exp (test_libjava): Only add -lgc or -lqthreads if
- library is actually found.
-
- * lib/libjava.exp (test_libjava): Look for qthreads.
-
-Mon Aug 31 17:49:21 1998 Warren Levy <warrenl@cygnus.com>
-
- * libjava.util/Random_1.java, libjava.util/Random_1.out,
- libjava.util/Random_2.java, libjava.util/Random_2.out,
- libjava.util/Random_3.java, libjava.util/Random_3.out,
- libjava.util/Random_4.java, libjava.util/Random_4.out,
- libjava.util/Random_5.java, libjava.util/Random_5.out,
- libjava.util/Random_6.java, libjava.util/Random_6.out,
- libjava.util/Random_7.java, libjava.util/Random_7.out,
- libjava.util/Random_8.java, libjava.util/Random_8.out,
- libjava.util/test.exp: Created.
-
-Mon Aug 31 16:37:19 1998 Tom Tromey <tromey@cygnus.com>
-
- * lib/libjava.exp: Changed gjavac to gcj everywhere.
-
-Wed Aug 26 12:20:10 1998 Anthony Green <green@cygnus.com>
-
- * Makefile.am (EXPECT,RUNTEST): Find expect and runtest
- correctly.
- * Makefile.in: Rebuild.
-
-Tue Aug 25 18:43:33 1998 Anthony Green <green@cygnus.com>
-
- * lib/libjava.exp: Fix CLASSPATH setting.
-
-Tue Aug 25 17:27:37 1998 Anthony Green <green@cygnus.com>
-
- * ChangeLog, lib/libjava.exp, config/default.exp,
- libjava.lang/Finalize_1.java, libjava.lang/Finalize_1.out,
- libjava.lang/Float_1.java, libjava.lang/Float_1.out
- libjava.lang/test.exp, Makefile.am, Makefile.in: Created.
-
diff --git a/libjava/testsuite/Makefile.am b/libjava/testsuite/Makefile.am
deleted file mode 100644
index e1d359d8f76..00000000000
--- a/libjava/testsuite/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-## Process this file with automake to produce Makefile.in.
-
-AUTOMAKE_OPTIONS = foreign dejagnu no-installinfo
-
-# Setup the testing framework, if you have one
-EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
- echo $(top_builddir)/../expect/expect ; \
- else echo expect ; fi`
-
-RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
- echo $(top_srcdir)/../dejagnu/runtest ; \
- else echo runtest; fi`
-
-RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
deleted file mode 100644
index 3282226a633..00000000000
--- a/libjava/testsuite/Makefile.in
+++ /dev/null
@@ -1,264 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AS = @AS@
-CC = @CC@
-COMPPATH = @COMPPATH@
-CPP = @CPP@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-DLLTOOL = @DLLTOOL@
-EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
-EXEEXT = @EXEEXT@
-GCDEPS = @GCDEPS@
-GCINCS = @GCINCS@
-GCLIBS = @GCLIBS@
-GCOBJS = @GCOBJS@
-GCSPEC = @GCSPEC@
-LD = @LD@
-LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
-LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
-LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-NM = @NM@
-PACKAGE = @PACKAGE@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SYSTEMSPEC = @SYSTEMSPEC@
-THREADDEPS = @THREADDEPS@
-THREADINCS = @THREADINCS@
-THREADLIBS = @THREADLIBS@
-THREADOBJS = @THREADOBJS@
-THREADSPEC = @THREADSPEC@
-USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
-VERSION = @VERSION@
-ZDEPS = @ZDEPS@
-ZLIBS = @ZLIBS@
-ZLIBSPEC = @ZLIBSPEC@
-here = @here@
-libgcj_basedir = @libgcj_basedir@
-
-AUTOMAKE_OPTIONS = foreign dejagnu no-installinfo
-
-# Setup the testing framework, if you have one
-EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
- echo $(top_builddir)/../expect/expect ; \
- else echo expect ; fi`
-
-
-RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
- echo $(top_srcdir)/../dejagnu/runtest ; \
- else echo runtest; fi`
-
-
-RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = ../include/config.h
-CONFIG_CLEAN_FILES =
-DIST_COMMON = ChangeLog Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-tags: TAGS
-TAGS:
-
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = testsuite
-
-distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign testsuite/Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-
-DEJATOOL = $(PACKAGE)
-
-RUNTESTDEFAULTFLAGS = --tool $(DEJATOOL) --srcdir $$srcdir
-
-check-DEJAGNU: site.exp
- srcdir=`cd $(srcdir) && pwd`; export srcdir; \
- EXPECT=$(EXPECT); export EXPECT; \
- runtest=$(RUNTEST); \
- if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
- $$runtest $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
- else echo "WARNING: could not find \`runtest'" 1>&2; :;\
- fi
-site.exp: Makefile
- @echo 'Making a new site.exp file...'
- @test ! -f site.bak || rm -f site.bak
- @echo '## these variables are automatically generated by make ##' > $@-t
- @echo '# Do not edit here. If you wish to override these values' >> $@-t
- @echo '# edit the last section' >> $@-t
- @echo 'set tool $(DEJATOOL)' >> $@-t
- @echo 'set srcdir $(srcdir)' >> $@-t
- @echo 'set objdir' `pwd` >> $@-t
- @echo 'set host_alias $(host_alias)' >> $@-t
- @echo 'set host_triplet $(host_triplet)' >> $@-t
- @echo 'set target_alias $(target_alias)' >> $@-t
- @echo 'set target_triplet $(target_triplet)' >> $@-t
- @echo 'set build_alias $(build_alias)' >> $@-t
- @echo 'set build_triplet $(build_triplet)' >> $@-t
- @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
- @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
- @test ! -f site.exp || mv site.exp site.bak
- @mv $@-t site.exp
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-info-am:
-install-info: install-info-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: tags distdir check-DEJAGNU info-am info dvi-am dvi check \
-check-am installcheck-am installcheck install-info-am install-info \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libjava/testsuite/config/default.exp b/libjava/testsuite/config/default.exp
deleted file mode 100644
index 90967cccc18..00000000000
--- a/libjava/testsuite/config/default.exp
+++ /dev/null
@@ -1 +0,0 @@
-load_lib "standard.exp"
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
deleted file mode 100644
index fad617503da..00000000000
--- a/libjava/testsuite/lib/libjava.exp
+++ /dev/null
@@ -1,472 +0,0 @@
-# Copyright (C) 1998, 1999 Cygnus Solutions
-
-load_lib "libgloss.exp"
-
-# GCJ_UNDER_TEST is the compiler under test.
-
-global tmpdir
-
-if ![info exists tmpdir] {
- set tmpdir "/tmp"
-}
-
-# Find `jv-scan'. FIXME: this relies on DejaGnu internals. These
-# should probably be exposed in a better way.
-proc find_jvscan {} {
- global tool_root_dir
-
- set file [lookfor_file $tool_root_dir jv-scan]
- if { $file == "" } {
- set file [lookfor_file $tool_root_dir gcc/jv-scan];
- }
- if {$file == ""} {
- set file jv-scan
- }
- return $file
-}
-
-proc bytecompile_file { file objdir {classpath {}} } {
- global env
- set dirname [file dirname $file];
-
- catch {unset env(CLASSPATH)}
- if {$classpath != ""} then {
- set env(CLASSPATH) $classpath
- }
- if {[catch {system "cd $dirname; javac $file -d $objdir"} msg]} then {
- verbose "couldn't compile $file: $msg"
- set r 0
- } else {
- set r 1
- }
- return $r
-}
-
-set libjava_initialized 0
-
-#
-# Build the status wrapper library as needed.
-#
-proc libjava_init { args } {
- global wrapper_file;
- global wrap_compile_flags;
- global libjava_initialized
- global GCJ_UNDER_TEST
- global TOOL_EXECUTABLE
-
- if { $libjava_initialized == 1 } { return; }
-
- if ![info exists GCJ_UNDER_TEST] {
- if [info exists TOOL_EXECUTABLE] {
- set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
- } else {
- set GCJ_UNDER_TEST "[find_gcj]"
- }
- }
-
- set wrapper_file "";
- set wrap_compile_flags "";
- if [target_info exists needs_status_wrapper] {
- set result [build_wrapper "testglue.o"];
- if { $result != "" } {
- set wrapper_file [lindex $result 0];
- set wrap_compile_flags [lindex $result 1];
- } else {
- warning "Status wrapper failed to build."
- }
- }
-
- set libjava_initialized 1
-}
-
-# Find a library. We know where libtool puts the actual libraries,
-# and we look there. The implementation is fairly hacky. We can't
-# compile with -nodefaultlibs, because that will also eliminate the
-# system libraries we need. In order to have gcj still work, it must
-# find the appropriate libraries so we must add -L options for their
-# paths. However we can't simply use those libraries; we still need
-# libtool for linking.
-proc libjava_find_lib {dir name} {
- global base_dir
- set gp [get_multilibs]
- foreach sub {.libs _libs} {
- if {$gp != ""} {
- if {[file exists $gp/$dir/$sub/lib${name}.a]} then {
- return "$gp/$dir/lib${name}.la -L$gp/$dir/$sub"
- }
- }
- set lib [findfile $base_dir/../../$dir/$sub/lib${name}.a \
- "$base_dir/../../$dir/lib${name}.la -L$base_dir/../../$dir/$sub" \
- ""]
- if {$lib != ""} {
- return $lib
- }
- }
- return ""
-}
-
-# Compute arguments needed for compiler. MODE is a libtool mode:
-# either compile or link.
-proc libjava_arguments {{mode compile}} {
- global base_dir
- global LIBJAVA
- global LIBGC
- global srcdir subdir objdir
- global TOOL_OPTIONS
- global GCJ_UNDER_TEST
- global tmpdir
- global runtests
-
- if [info exists LIBJAVA] {
- set libjava $LIBJAVA;
- } else {
- set libjava [libjava_find_lib libjava gcj]
- }
-
- if [info exists LIBGC] {
- set libgc $LIBGC;
- } else {
- set libgc [libjava_find_lib boehm-gc gcjgc]
- }
-
- if [info exists LIBQTHREADS] {
- set libqthreads $LIBQTHREADS
- } else {
- set libqthreads [libjava_find_lib qthreads gcjcoop]
- }
-
- # FIXME: there's no way to determine whether -lpthread is
- # required. We should get this info from configure, or it should
- # just be in the compiler driver.
-
- verbose "using LIBJAVA = $libjava" 2
- verbose "using LIBGC = $libgc" 2
- verbose "using LIBQTHREADS = $libqthreads" 2
- set args ""
-
- # Basically we want to build up a colon separated path list from
- # the value of $libjava.
-
- # First strip away any -L arguments.
- regsub -all -- "-L" $libjava "" ld_library_path
-
- # Then remove any -lgcj argument.
- regsub -all -- " -lgcj.*" $ld_library_path "" ld_library_path
-
- # First strip away any -L arguments.
- regsub -all -- "-L" $libgc $ld_library_path ld_library_path
-
- # Then remove any -lgcjgc argument.
- regsub -all -- " -lgcjgc.*" $ld_library_path "" ld_library_path
-
- # That's enough to make things work for the normal case.
- # If we wanted to handle an arbitrary value of libjava,
- # then we'd have to do a lot more work.
-
- # Set variables the dynamic linker looks at.
- setenv LD_LIBRARY_PATH $ld_library_path
- setenv SHLIB_PATH $ld_library_path
-
- # Set the CLASSPATH environment variable
- verbose "CLASSPATH is $objdir/.."
- global env
- set env(CLASSPATH) "$objdir/.."
-
- global wrapper_file wrap_compile_flags;
- lappend args "additional_flags=$wrap_compile_flags";
- lappend args "libs=$wrapper_file";
- lappend args "libs=$libjava";
- lappend args "libs=$libgc";
- lappend args "libs=$libqthreads"
- lappend args debug
-
- if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
- lappend args "libs=${gluefile}"
- lappend args "ldflags=$wrap_flags"
- }
-
- if [info exists TOOL_OPTIONS] {
- lappend args "additional_flags=$TOOL_OPTIONS"
- }
-
- # Search for libtool. We need it to link.
- set d [absolute $objdir]
- foreach x {. .. ../.. ../../..} {
- if {[file exists $d/$x/libtool]} then {
- # We have to run silently to avoid DejaGNU lossage.
- lappend args \
- "compiler=$d/$x/libtool --silent --mode=$mode $GCJ_UNDER_TEST"
- break
- }
- }
-
- return $args
-}
-
-
-#
-# Run the test specified by srcfile and resultfile. compile_args and
-# exec_args are additional arguments to be passed in when compiling and
-# running the testcase, respectively.
-#
-proc test_libjava_from_source { options srcfile compile_args inpfile resultfile exec_args } {
- global base_dir
- global LIBJAVA
- global LIBGC
- global srcdir subdir objdir
- global TOOL_OPTIONS
- global GCJ_UNDER_TEST
- global tmpdir
- global runtests
-
- set errname [file rootname [file tail $srcfile]]
- if {! [runtest_file_p $runtests $errname]} {
- return
- }
-
- set args [libjava_arguments link]
- # Add the --main flag
- lappend args "additional_flags=--main=[file rootname [file tail $srcfile]]"
- if { $compile_args != "" } {
- lappend args "additional_flags=$compile_args"
- }
-
- regsub "^.*/(\[^/.\]+)\[.\]\[^/]*$" "$srcfile" "\\1" out
- set executable "${objdir}/$out"
- if { $compile_args != "" } {
- set errname "$errname $compile_args"
- }
-
- set x [target_compile $srcfile "$executable" executable $args]
- if { $x != "" } {
- verbose "target_compile failed: $x" 2
- fail "$errname compilation from source"
- if {$exec_args != "no-exec"} {
- setup_xfail "*-*-*"
- fail "$errname execution from source compiled test"
- setup_xfail "*-*-*"
- fail "$errname output from source compiled test"
- }
- return;
- }
- pass "$errname compilation from source"
-
- if { $exec_args == "no-exec" } {
- return
- }
-
- set result [libjava_load $executable "$exec_args" "$inpfile"];
- set status [lindex $result 0];
- set output [lindex $result 1];
- $status "$errname execution from source compiled test"
- if { $status != "pass" } {
- setup_xfail "*-*-*"
- fail "$errname output from source compiled test"
- return;
- }
-
- verbose "resultfile is $resultfile"
- set id [open $resultfile r];
- set expected ""
- append expected [read $id];
- regsub -all "\r" "$output" "" output;
- regsub "\n*$" $expected "" expected
- regsub "\n*$" $output "" output
- regsub "^\n*" $expected "" expected
- regsub "^\n*" $output "" output
- regsub -all "\[ \t\]\[ \t\]*" $expected " " expected
- regsub -all "\[ \t\]*\n\n*" $expected "\n" expected
- regsub -all "\[ \t\]\[ \t\]*" $output " " output
- regsub -all "\[ \t\]*\n\n*" $output "\n" output
- verbose "expected is $expected"
- verbose "actual is $output"
- set passed 0;
- if {$options == "regexp_match"} {
- if [regexp $expected $output] {
- set passed 1;
- }
- } else {
- if { $expected == $output } {
- set passed 1;
- }
- }
- if { $passed == 1 } {
- pass "$errname output from source compiled test"
- } else {
- clone_output "expected was $expected"
- clone_output "output was $output"
- fail "$errname output from source compiled test"
- }
- close $id;
-}
-
-#
-# Run the test specified by srcfile and resultfile. compile_args and
-# exec_args are additional arguments to be passed in when compiling and
-# running the testcase, respectively.
-#
-proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile exec_args } {
- global base_dir
- global LIBJAVA
- global LIBGC
- global srcdir subdir objdir
- global TOOL_OPTIONS
- global GCJ_UNDER_TEST
- global tmpdir
- global runtests
-
- set errname [file rootname [file tail $srcfile]]
- if {! [runtest_file_p $runtests $errname]} {
- return
- }
-
- # bytecompile files with Sun's compiler for now.
- set bc_ok [bytecompile_file $srcfile $objdir]
- if {! $bc_ok} then {
- fail "$errname byte compilation"
- setup_xfail "*-*-*"
- fail "$errname compilation from bytecode"
- if {$exec_args != "no-exec"} {
- setup_xfail "*-*-*"
- fail "$errname execution from bytecode->native test"
- setup_xfail "*-*-*"
- fail "$errname output from bytecode->native test"
- }
- return
- }
- pass "$errname byte compilation"
-
- # Find name to use for --main, and name of all class files.
- set jvscan [find_jvscan]
- verbose "jvscan is $jvscan"
- set main_name [string trim \
- [target_compile $srcfile "" none \
- "compiler=$jvscan additional_flags=--print-main"]]
- verbose "main name is $main_name"
- set class_out [string trim \
- [target_compile $srcfile "" none \
- "compiler=$jvscan additional_flags=--list-class"]]
- verbose "class list is $class_out"
- # FIXME: As of Wed Feb 24 1999, `jv-scan --list-class' prints
- # nothing if the file contains an interface and not a class. I
- # believe this is a jv-scan bug.
- if {$class_out == ""} then {
- set class_files [file rootname [file tail $srcfile]].class
- } else {
- # Turn "a b" into "a.class b.class".
- set class_files [join [split [string trim $class_out]] ".class "].class
- }
-
- # Usually it is an error for a test program not to have a `main'
- # method. However, for no-exec tests it is ok.
- set largs {}
- if {$main_name == ""} {
- if {$exec_args != "no-exec"} {
- perror "No `main' given in program $errname"
- return
- } else {
- set type object
- set executable [file rootname [file tail $srcfile]].o
- set mode compile
- }
- } else {
- set type executable
- lappend largs "additional_flags=--main=$main_name"
- set executable "${objdir}/$main_name"
- set mode link
- }
-
- # Initial arguments.
- set args [libjava_arguments $mode]
- eval lappend args $largs
-
- if { $compile_args != "" } {
- lappend args "additional_flags=$compile_args"
- }
-
- if { $compile_args != "" } {
- set errname "$errname $compile_args"
- }
-
- verbose "compilation command = $args" 2
- set x [target_compile $class_files "$executable" $type $args]
- if { $x != "" } {
- verbose "target_compile failed: $x" 2
- fail "$errname compilation from bytecode"
- setup_xfail "*-*-*"
- if {$exec_args != "no-exec"} {
- fail "$errname execution from bytecode->native test"
- setup_xfail "*-*-*"
- fail "$errname output from bytecode->native test"
- }
- return;
- }
- pass "$errname compilation from bytecode"
-
- if { $exec_args == "no-exec" } {
- return
- }
-
- set result [libjava_load $executable "$exec_args" "$inpfile"];
- set status [lindex $result 0];
- set output [lindex $result 1];
- $status "$errname execution from bytecode->native test"
- if { $status != "pass" } {
- setup_xfail "*-*-*"
- fail "$errname output from bytecode->native test"
- return;
- }
-
- verbose "resultfile is $resultfile"
- set id [open $resultfile r];
- set expected ""
- append expected [read $id];
- regsub -all "\r" "$output" "" output;
- regsub "\n*$" $expected "" expected
- regsub "\n*$" $output "" output
- regsub "^\n*" $expected "" expected
- regsub "^\n*" $output "" output
- regsub -all "\[ \t\]\[ \t\]*" $expected " " expected
- regsub -all "\[ \t\]*\n\n*" $expected "\n" expected
- regsub -all "\[ \t\]\[ \t\]*" $output " " output
- regsub -all "\[ \t\]*\n\n*" $output "\n" output
- verbose "expected is $expected"
- verbose "actual is $output"
- set passed 0;
- if {$options == "regexp_match"} {
- if [regexp $expected $output] {
- set passed 1;
- }
- } else {
- if { $expected == $output } {
- set passed 1;
- }
- }
- if { $passed == 1 } {
- pass "$errname output from bytecode->native test"
- } else {
- clone_output "expected was $expected"
- clone_output "output was $output"
- fail "$errname output from bytecode->native test"
- }
- close $id;
-}
-
-#
-# Run the test specified by srcfile and resultfile. compile_args and
-# exec_args are additional arguments to be passed in when compiling and
-# running the testcase, respectively.
-#
-proc test_libjava { options srcfile compile_args inpfile resultfile exec_args } {
- test_libjava_from_source $options $srcfile $compile_args $inpfile $resultfile $exec_args
- test_libjava_from_javac $options $srcfile $compile_args $inpfile $resultfile $exec_args
- }
-
-#
-# libjava_version -- extract and print the version number of libjavap
-#
-proc default_libjava_version {} {
-}
-
-proc default_libjava_start { } {
-}
diff --git a/libjava/testsuite/libjava.compile/Case.java b/libjava/testsuite/libjava.compile/Case.java
deleted file mode 100644
index c5eb1d51947..00000000000
--- a/libjava/testsuite/libjava.compile/Case.java
+++ /dev/null
@@ -1,15 +0,0 @@
-// Simple compiler test.
-
-public class Case
-{
- public static int foo (int i, support.Case x)
- {
- switch (i)
- {
- case x.A:
- return 1;
- default:
- return 0;
- }
- }
-}
diff --git a/libjava/testsuite/libjava.compile/OperatorBenchmark.java b/libjava/testsuite/libjava.compile/OperatorBenchmark.java
deleted file mode 100644
index 03f660d848d..00000000000
--- a/libjava/testsuite/libjava.compile/OperatorBenchmark.java
+++ /dev/null
@@ -1,886 +0,0 @@
-
-/*
- * Copyright (c) 1996, 1997 by Doug Bell <dbell@shvn.com>. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-
-// This file has been hacked to compile without the rest of the
-// benchmark code.
-
-class OperatorBenchmark {
-
- public int getSampleCount() { return 0; }
- public int getSampleMillis() { return 0; }
- public boolean go;
- public int useint[];
- public void startTest () { }
- public long finishTest () { return 0; }
- public void startTimer (boolean b) { }
- public void stopTimer (int a, int b) { }
- public void report (String s) { }
- public void println (String s) { }
-
- public int getTestTime () {
- return (int) (100 * getSampleCount() * getSampleMillis()) / 1000;
- }
-
- public int getRunningTime () {
- return (int) (1.1 * getTestTime());
- }
-
- public long runTest () {
- int dummy1 = 0, dummy2 = 0, dummy3 = 0; // occupy implicit index slots
- int cnt, ii;
- byte b1 = 1, b2 = 2, b3 = 3;
- short s1 = 1, s2 = 2, s3 = 3;
- int i1 = 1, i2 = 2, i3 = 3;
- long l1 = 1, l2 = 2, l3 = 3;
- float f1 = 1, f2 = 2, f3 = 3;
- double d1 = 1, d2 = 2, d3 = 3;
-
- startTest();
-
- println("--- byte operators, local vars");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1++;
- stopTimer(cnt, ii);
- }
- report("byte++");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 += b2;
- stopTimer(cnt, ii);
- }
- report("byte += byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 + b3);
- stopTimer(cnt, ii);
- }
- report("byte = byte + byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 *= b2;
- stopTimer(cnt, ii);
- }
- report("byte *= byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 * b3);
- stopTimer(cnt, ii);
- }
- report("byte = byte * byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 *= 2;
- stopTimer(cnt, ii);
- }
- report("byte *= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 <<= 1;
- stopTimer(cnt, ii);
- }
- report("byte <<= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 %= b2;
- stopTimer(cnt, ii);
- }
- report("byte %= byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 % b3);
- stopTimer(cnt, ii);
- }
- report("byte = byte % byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 /= b2;
- stopTimer(cnt, ii);
- }
- report("byte /= byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 / b3);
- stopTimer(cnt, ii);
- }
- report("byte = byte / byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 /= 2;
- stopTimer(cnt, ii);
- }
- report("byte /= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 >>= 1;
- stopTimer(cnt, ii);
- }
- report("byte >>= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 >>= i2;
- stopTimer(cnt, ii);
- }
- report("byte >>= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 >> i3);
- stopTimer(cnt, ii);
- }
- report("byte = byte >> int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 |= b2;
- stopTimer(cnt, ii);
- }
- report("byte |= byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 | b3);
- stopTimer(cnt, ii);
- }
- report("byte = byte | byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 &= b2;
- stopTimer(cnt, ii);
- }
- report("byte &= byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 & b3);
- stopTimer(cnt, ii);
- }
- report("byte = byte & byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 ^= b2;
- stopTimer(cnt, ii);
- }
- report("byte ^= byte");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- b1 = (byte) (b2 ^ b3);
- stopTimer(cnt, ii);
- }
- report("byte = byte ^ byte");
-
-
- println("--- short operators, local vars");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1++;
- stopTimer(cnt, ii);
- }
- report("short++");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 += s2;
- stopTimer(cnt, ii);
- }
- report("short += short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 + s3);
- stopTimer(cnt, ii);
- }
- report("short = short + short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 *= s2;
- stopTimer(cnt, ii);
- }
- report("short *= short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 * s3);
- stopTimer(cnt, ii);
- }
- report("short = short * short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 *= 2;
- stopTimer(cnt, ii);
- }
- report("short *= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 <<= 1;
- stopTimer(cnt, ii);
- }
- report("short <<= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 %= s2;
- stopTimer(cnt, ii);
- }
- report("short %= short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 % s3);
- stopTimer(cnt, ii);
- }
- report("short = short % short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 /= s2;
- stopTimer(cnt, ii);
- }
- report("short /= short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 / s3);
- stopTimer(cnt, ii);
- }
- report("short = short / short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 /= 2;
- stopTimer(cnt, ii);
- }
- report("short /= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 >>= 1;
- stopTimer(cnt, ii);
- }
- report("short >>= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 >>= i2;
- stopTimer(cnt, ii);
- }
- report("short >>= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 >> i3);
- stopTimer(cnt, ii);
- }
- report("short = short >> int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 |= s2;
- stopTimer(cnt, ii);
- }
- report("short |= short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 | s3);
- stopTimer(cnt, ii);
- }
- report("short = short | short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 &= s2;
- stopTimer(cnt, ii);
- }
- report("short &= short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 & s3);
- stopTimer(cnt, ii);
- }
- report("short = short & short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 ^= s2;
- stopTimer(cnt, ii);
- }
- report("short ^= short");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- s1 = (short) (s2 ^ s3);
- stopTimer(cnt, ii);
- }
- report("short = short ^ short");
-
-
- println("--- int operators, local vars");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1++;
- stopTimer(cnt, ii);
- }
- report("int++");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 += i2;
- stopTimer(cnt, ii);
- }
- report("int += int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = (i2 + i3);
- stopTimer(cnt, ii);
- }
- report("int = int + int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 *= i2;
- stopTimer(cnt, ii);
- }
- report("int *= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = (i2 * i3);
- stopTimer(cnt, ii);
- }
- report("int = int * int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 *= 2;
- stopTimer(cnt, ii);
- }
- report("int *= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 <<= 1;
- stopTimer(cnt, ii);
- }
- report("int <<= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 %= i2;
- stopTimer(cnt, ii);
- }
- report("int %= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = (i2 % i3);
- stopTimer(cnt, ii);
- }
- report("int = int % int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 /= i2;
- stopTimer(cnt, ii);
- }
- report("int /= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = (i2 / i3);
- stopTimer(cnt, ii);
- }
- report("int = int / int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 /= 2;
- stopTimer(cnt, ii);
- }
- report("int /= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 >>= 1;
- stopTimer(cnt, ii);
- }
- report("int >>= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 >>= i2;
- stopTimer(cnt, ii);
- }
- report("int >>= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = i2 >> i3;
- stopTimer(cnt, ii);
- }
- report("int = int >> int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 |= i2;
- stopTimer(cnt, ii);
- }
- report("int |= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = i2 | i3;
- stopTimer(cnt, ii);
- }
- report("int = int | int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 &= i2;
- stopTimer(cnt, ii);
- }
- report("int &= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = i2 & i3;
- stopTimer(cnt, ii);
- }
- report("int = int & int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 ^= i2;
- stopTimer(cnt, ii);
- }
- report("int ^= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- i1 = i2 ^ i3;
- stopTimer(cnt, ii);
- }
- report("int = int ^ int");
-
-
- println("--- long operators, local vars");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1++;
- stopTimer(cnt, ii);
- }
- report("long++");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 += l2;
- stopTimer(cnt, ii);
- }
- report("long += long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = (l2 + l3);
- stopTimer(cnt, ii);
- }
- report("long = long + long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 *= l2;
- stopTimer(cnt, ii);
- }
- report("long *= long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = (l2 * l3);
- stopTimer(cnt, ii);
- }
- report("long = long * long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 *= 2;
- stopTimer(cnt, ii);
- }
- report("long *= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 <<= 1;
- stopTimer(cnt, ii);
- }
- report("long <<= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 %= l2;
- stopTimer(cnt, ii);
- }
- report("long %= long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = (l2 % l3);
- stopTimer(cnt, ii);
- }
- report("long = long % long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 /= l2;
- stopTimer(cnt, ii);
- }
- report("long /= long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = (l2 / l3);
- stopTimer(cnt, ii);
- }
- report("long = long / long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 /= 2;
- stopTimer(cnt, ii);
- }
- report("long /= 2");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 >>= 1;
- stopTimer(cnt, ii);
- }
- report("long >>= 1");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 >>= i2;
- stopTimer(cnt, ii);
- }
- report("long >>= int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = l2 >> i3;
- stopTimer(cnt, ii);
- }
- report("long = long >> int");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 |= l2;
- stopTimer(cnt, ii);
- }
- report("long |= long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = l2 | l3;
- stopTimer(cnt, ii);
- }
- report("long = long | long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 &= l2;
- stopTimer(cnt, ii);
- }
- report("long &= long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = l2 & l3;
- stopTimer(cnt, ii);
- }
- report("long = long & long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 ^= l2;
- stopTimer(cnt, ii);
- }
- report("long ^= long");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- l1 = l2 ^ l3;
- stopTimer(cnt, ii);
- }
- report("long = long ^ long");
-
-
- println("--- float operators, local vars");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 += f2;
- stopTimer(cnt, ii);
- }
- report("float += float");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 = (float) (f2 + f3);
- stopTimer(cnt, ii);
- }
- report("float = float + float");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 *= f2;
- stopTimer(cnt, ii);
- }
- report("float *= float");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 = (float) (f2 * f3);
- stopTimer(cnt, ii);
- }
- report("float = float * float");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 %= f2;
- stopTimer(cnt, ii);
- }
- report("float %= float");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 = (float) (f2 % f3);
- stopTimer(cnt, ii);
- }
- report("float = float % float");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 /= f2;
- stopTimer(cnt, ii);
- }
- report("float /= float");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- f1 = (float) (f2 / f3);
- stopTimer(cnt, ii);
- }
- report("float = float / float");
-
-
- println("--- double operators, local vars");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 += d2;
- stopTimer(cnt, ii);
- }
- report("double += double");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 = (d2 + d3);
- stopTimer(cnt, ii);
- }
- report("double = double + double");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 *= d2;
- stopTimer(cnt, ii);
- }
- report("double *= double");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 = (d2 * d3);
- stopTimer(cnt, ii);
- }
- report("double = double * double");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 %= d2;
- stopTimer(cnt, ii);
- }
- report("double %= double");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 = (d2 % d3);
- stopTimer(cnt, ii);
- }
- report("double = double % double");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 /= d2;
- stopTimer(cnt, ii);
- }
- report("double /= double");
-
- for (cnt = getSampleCount(); --cnt >= 0; ) {
- startTimer(true);
- for (ii = 0; go; ii++)
- d1 = (d2 / d3);
- stopTimer(cnt, ii);
- }
- report("double = double / double");
-
- useint[0] = dummy1; useint[1] = dummy2; useint[2] = dummy3;
- return finishTest();
- }
-} // class OperatorBenchmark
-
-// EOF
diff --git a/libjava/testsuite/libjava.compile/Semi.java b/libjava/testsuite/libjava.compile/Semi.java
deleted file mode 100644
index 39b3edc84b8..00000000000
--- a/libjava/testsuite/libjava.compile/Semi.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// Simple compiler test.
-
-public class Semi
-{
- Semi () { };
-}
-
-
diff --git a/libjava/testsuite/libjava.compile/Statics.java b/libjava/testsuite/libjava.compile/Statics.java
deleted file mode 100644
index b86a57c409e..00000000000
--- a/libjava/testsuite/libjava.compile/Statics.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// Simple compiler test.
-
-public interface Statics {
-
- public static final int OwnerGrabButtonMask = 1<<24;
-
-}
diff --git a/libjava/testsuite/libjava.compile/Twice.java b/libjava/testsuite/libjava.compile/Twice.java
deleted file mode 100644
index d80760f4dd5..00000000000
--- a/libjava/testsuite/libjava.compile/Twice.java
+++ /dev/null
@@ -1,14 +0,0 @@
-// Simple compiler test.
-
-public class Twice
-{
- Twice (boolean q)
- {
- if (q)
- for (int p = 0; p < 10; p++);
- else
- for (int p = 0; p < 10; p++);
- }
-}
-
-
diff --git a/libjava/testsuite/libjava.compile/Where.java b/libjava/testsuite/libjava.compile/Where.java
deleted file mode 100644
index 08fcc78b1d6..00000000000
--- a/libjava/testsuite/libjava.compile/Where.java
+++ /dev/null
@@ -1,12 +0,0 @@
-// Simple compiler test.
-
-public final class Where implements support.Waldo
-{
- int WhereIsWaldo ()
- {
- // The compiler should find 'here' in support.Waldo.
- return here;
- }
-}
-
-
diff --git a/libjava/testsuite/libjava.compile/euc_comment1.java b/libjava/testsuite/libjava.compile/euc_comment1.java
deleted file mode 100644
index bb556236eac..00000000000
--- a/libjava/testsuite/libjava.compile/euc_comment1.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class euc_comment1 {
- public static void main(String[] args) {
- /* ÆþÎÏ */
- }
-}
diff --git a/libjava/testsuite/libjava.compile/euc_comment2.java b/libjava/testsuite/libjava.compile/euc_comment2.java
deleted file mode 100644
index 9a9426f8005..00000000000
--- a/libjava/testsuite/libjava.compile/euc_comment2.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class euc_comment2 {
- public static void main(String[] args) {
- // ÆþÎÏ
- }
-}
diff --git a/libjava/testsuite/libjava.compile/euc_comment3.java b/libjava/testsuite/libjava.compile/euc_comment3.java
deleted file mode 100644
index b0f35d09d34..00000000000
--- a/libjava/testsuite/libjava.compile/euc_comment3.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class euc_comment3 {
- public static void main(String[] args) {
- // ÆþÎÏ
- }
-}
diff --git a/libjava/testsuite/libjava.compile/perc.java b/libjava/testsuite/libjava.compile/perc.java
deleted file mode 100644
index 8dc2f6f01fb..00000000000
--- a/libjava/testsuite/libjava.compile/perc.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// This generates code that `gcj -C' doesn't like.
-
-public class perc
-{
- public static void main (String[] args)
- {
- System.out.println (27.0 % 10.0);
- }
-}
diff --git a/libjava/testsuite/libjava.compile/plusplus.java b/libjava/testsuite/libjava.compile/plusplus.java
deleted file mode 100644
index b8e9bd9fcbb..00000000000
--- a/libjava/testsuite/libjava.compile/plusplus.java
+++ /dev/null
@@ -1,10 +0,0 @@
-// Test from MoT <Sebastien.Villemot@ens.fr>.
-
-class plusplus {
- public static void main(String[] args)
- {
- int n = 5;
- int[] gnu = new int[10];
- gnu[n]++;
- }
-}
diff --git a/libjava/testsuite/libjava.compile/sjis_comment1.java b/libjava/testsuite/libjava.compile/sjis_comment1.java
deleted file mode 100644
index 26132821960..00000000000
--- a/libjava/testsuite/libjava.compile/sjis_comment1.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class sjis_comment1 {
- public static void main(String[] args) {
- /* “ü—Í */
- }
-}
diff --git a/libjava/testsuite/libjava.compile/sjis_comment2.java b/libjava/testsuite/libjava.compile/sjis_comment2.java
deleted file mode 100644
index d4ae92f191b..00000000000
--- a/libjava/testsuite/libjava.compile/sjis_comment2.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class sjis_comment2 {
- public static void main(String[] args) {
- // “ü—Í
- }
-}
diff --git a/libjava/testsuite/libjava.compile/sjis_comment3.java b/libjava/testsuite/libjava.compile/sjis_comment3.java
deleted file mode 100644
index 7370c4e444d..00000000000
--- a/libjava/testsuite/libjava.compile/sjis_comment3.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class sjis_comment3 {
- public static void main(String[] args) {
- // “ü—Í
- }
-}
diff --git a/libjava/testsuite/libjava.compile/support/Case.java b/libjava/testsuite/libjava.compile/support/Case.java
deleted file mode 100644
index 709b47aca5a..00000000000
--- a/libjava/testsuite/libjava.compile/support/Case.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package support;
-
-public class Case
-{
- public static final int A = 9;
-}
diff --git a/libjava/testsuite/libjava.compile/support/Waldo.java b/libjava/testsuite/libjava.compile/support/Waldo.java
deleted file mode 100644
index e28829d7af5..00000000000
--- a/libjava/testsuite/libjava.compile/support/Waldo.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package support;
-
-public interface Waldo {
-
- public static final int here = 9;
-
-}
diff --git a/libjava/testsuite/libjava.compile/test.exp b/libjava/testsuite/libjava.compile/test.exp
deleted file mode 100644
index db6aef19bb3..00000000000
--- a/libjava/testsuite/libjava.compile/test.exp
+++ /dev/null
@@ -1,10 +0,0 @@
-global srcdir subdir
-
-catch "glob -nocomplain ${srcdir}/${subdir}/*.java" srcfiles
-verbose "srcfiles are $srcfiles"
-
-set prefix ""
-foreach x $srcfiles {
- test_libjava $options "$x" "" "" "" "no-exec"
- test_libjava $options "$x" "-O" "" "" "no-exec"
-}
diff --git a/libjava/testsuite/libjava.lang/Array_1.java b/libjava/testsuite/libjava.lang/Array_1.java
deleted file mode 100644
index 1fcf04eeb4d..00000000000
--- a/libjava/testsuite/libjava.lang/Array_1.java
+++ /dev/null
@@ -1,18 +0,0 @@
-// Test of array stuff. Technically this probably isn't in java.lang.
-
-public class Array_1
-{
- public static void main (String[] args)
- {
- int x[][] = { { 1, 2}, null };
-
- System.out.println(Cloneable.class.isInstance(x));
-
- // This example is from the Java Spec book.
- int y[][] = (int[][]) x.clone();
- System.out.println(x == y);
- System.out.println(x[0] == y[0] && x[1] == y[1]);
-
- System.out.println(x.getClass().getSuperclass());
- }
-}
diff --git a/libjava/testsuite/libjava.lang/Array_1.out b/libjava/testsuite/libjava.lang/Array_1.out
deleted file mode 100644
index 3cc754d2ef9..00000000000
--- a/libjava/testsuite/libjava.lang/Array_1.out
+++ /dev/null
@@ -1,4 +0,0 @@
-true
-false
-true
-class java.lang.Object
diff --git a/libjava/testsuite/libjava.lang/Finalize_1.java b/libjava/testsuite/libjava.lang/Finalize_1.java
deleted file mode 100644
index b1a4d9575f2..00000000000
--- a/libjava/testsuite/libjava.lang/Finalize_1.java
+++ /dev/null
@@ -1,28 +0,0 @@
-// Finalize.java - Test code for finalizers.
-
-import java.io.*;
-import java.util.*;
-import java.lang.Runtime;
-
-public final class Finalize_1
-{
- public static void main (String[] args)
- {
- Finalize_1 f;
- Runtime t;
-
- t = Runtime.getRuntime ();
-
- for (int i = 0; i < 3; ++i)
- f = new Finalize_1 ();
- f = null;
-
- t.gc ();
- t.runFinalization ();
- }
-
- public void finalize () throws Throwable
- {
- System.out.print ("Finalize ");
- }
-}
diff --git a/libjava/testsuite/libjava.lang/Finalize_1.out b/libjava/testsuite/libjava.lang/Finalize_1.out
deleted file mode 100644
index 45b1f96bfa0..00000000000
--- a/libjava/testsuite/libjava.lang/Finalize_1.out
+++ /dev/null
@@ -1 +0,0 @@
-Finalize Finalize Finalize
diff --git a/libjava/testsuite/libjava.lang/Float_1.java b/libjava/testsuite/libjava.lang/Float_1.java
deleted file mode 100644
index cb147ee8aca..00000000000
--- a/libjava/testsuite/libjava.lang/Float_1.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-
-Date: 25 Aug 1998 16:04:00 -0000
-From: Andrew Haley <aph@pasanda.cygnus.co.uk>
-To: java-project@cygnus.com
-Subject: Help: vtable problem?
-
-My little program:
-
------------------------------------------------------------------------
-import java.lang.*;
-
- public class widget
- {
- public static void main (String argv[])
- {
- int test = Float.floatToIntBits((float)2.0);
- String s = Integer.toHexString(test);
-
- System.out.print (s+"\n");
- }
-
- }
------------------------------------------------------------------------
-prints out
-
-40000000
-
-with Sun's interpreter, but prints out
-
-true
-
-when compiled with gcj; PrintStream dispatches a string arg as a
-boolean rather than as a String. I've tried to rebuild everything.
-
-?
-
-Thanks,
-Andrew.
-
-*/
-
-public class Float_1
-{
- public static void main (String argv[])
- {
- int test = Float.floatToIntBits((float)2.0);
- String s = Integer.toHexString(test);
-
- System.out.print (s+"\n");
- }
-}
diff --git a/libjava/testsuite/libjava.lang/Float_1.out b/libjava/testsuite/libjava.lang/Float_1.out
deleted file mode 100644
index 52f3f6a7451..00000000000
--- a/libjava/testsuite/libjava.lang/Float_1.out
+++ /dev/null
@@ -1 +0,0 @@
-40000000
diff --git a/libjava/testsuite/libjava.lang/Invoke_1.java b/libjava/testsuite/libjava.lang/Invoke_1.java
deleted file mode 100644
index bc4678301ce..00000000000
--- a/libjava/testsuite/libjava.lang/Invoke_1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// Test of failing method invocation.
-
-public class Invoke_1
-{
- public void call_me ()
- {
- System.out.println ("no");
- }
-
- public static Invoke_1 get_i ()
- {
- return null;
- }
-
- public static void main (String[] args)
- {
- Invoke_1 i = get_i ();
- try
- {
- i.call_me ();
- }
- catch (NullPointerException ok)
- {
- System.out.println ("ok");
- }
- }
-}
diff --git a/libjava/testsuite/libjava.lang/Invoke_1.out b/libjava/testsuite/libjava.lang/Invoke_1.out
deleted file mode 100644
index 9766475a418..00000000000
--- a/libjava/testsuite/libjava.lang/Invoke_1.out
+++ /dev/null
@@ -1 +0,0 @@
-ok
diff --git a/libjava/testsuite/libjava.lang/Invoke_2.java b/libjava/testsuite/libjava.lang/Invoke_2.java
deleted file mode 100644
index a2d1407b31b..00000000000
--- a/libjava/testsuite/libjava.lang/Invoke_2.java
+++ /dev/null
@@ -1,20 +0,0 @@
-public class Invoke_2
-{
- static int s;
-
- public static void foo (int a, int b)
- {
- System.out.println(a + " " + b);
- }
-
- public static void main(String[] args) {
- foo (bar(), s);
- }
-
- public static int bar()
- {
- s = 33;
- return 99;
- }
-}
-
diff --git a/libjava/testsuite/libjava.lang/Invoke_2.out b/libjava/testsuite/libjava.lang/Invoke_2.out
deleted file mode 100644
index 39501553b7b..00000000000
--- a/libjava/testsuite/libjava.lang/Invoke_2.out
+++ /dev/null
@@ -1 +0,0 @@
-99 33
diff --git a/libjava/testsuite/libjava.lang/Synch.java b/libjava/testsuite/libjava.lang/Synch.java
deleted file mode 100644
index 15e2d26b4a5..00000000000
--- a/libjava/testsuite/libjava.lang/Synch.java
+++ /dev/null
@@ -1,17 +0,0 @@
-public class Synch
-{
- public synchronized void s()
- {
- // This call to notify() isn't supposed to cause a
- // java.lang.IllegalMonitorStateException.
- notify ();
- }
-
- public static void main (String[] args)
- {
- (new Synch()).s();
- System.out.println ("Ok");
- }
-}
-
-
diff --git a/libjava/testsuite/libjava.lang/Synch.out b/libjava/testsuite/libjava.lang/Synch.out
deleted file mode 100644
index 7326d960397..00000000000
--- a/libjava/testsuite/libjava.lang/Synch.out
+++ /dev/null
@@ -1 +0,0 @@
-Ok
diff --git a/libjava/testsuite/libjava.lang/Thread_1.java b/libjava/testsuite/libjava.lang/Thread_1.java
deleted file mode 100644
index 932afa5dd73..00000000000
--- a/libjava/testsuite/libjava.lang/Thread_1.java
+++ /dev/null
@@ -1,182 +0,0 @@
-// Various thread tests.
-
-public class Thread_1 extends Thread
-{
- // The group for the workers.
- static ThreadGroup subgroup;
-
- // Which piece of test code to try.
- static int test_case;
-
- // Names of the tests.
- static final int JOIN_GOOD = 0;
- static final int JOIN_TIMEOUT = 1;
- static final int JOIN_INTERRUPTED = 2;
- static final int THREAD_EXIT = 3;
-
- // True if this is normal; false if daemon.
- boolean normal;
- // The other thread in the test.
- Thread_1 other;
- // True when the thread has entered run().
- boolean started;
-
- public void run ()
- {
- try
- {
- if (normal)
- {
- System.out.println ("test " + test_case);
- // Tell the main thread to start the daemon thread.
- synchronized (this)
- {
- started = true;
- notify ();
- }
- // Now wait for daemon to start.
- synchronized (other)
- {
- while (! other.started)
- other.wait ();
- }
- switch (test_case)
- {
- case JOIN_GOOD:
- other.join ();
- System.out.println ("joined");
- break;
- case JOIN_TIMEOUT:
- other.join (10);
- System.out.println (other.isAlive());
- other.join ();
- break;
- case JOIN_INTERRUPTED:
- other.join ();
- System.out.println ("joined");
- break;
- case THREAD_EXIT:
- // Nothing.
- break;
-
- default:
- System.out.println ("failure");
- break;
- }
- }
- else
- {
- // Let the normal thread start first.
- synchronized (other)
- {
- while (! other.started)
- other.wait();
- }
- // Tell normal thread that we've started.
- synchronized (this)
- {
- started = true;
- notify ();
- }
- switch (test_case)
- {
- case JOIN_GOOD:
- System.out.println ("daemon done");
- break;
- case JOIN_TIMEOUT:
- sleep (50);
- break;
- case JOIN_INTERRUPTED:
- other.interrupt ();
- break;
- case THREAD_EXIT:
- // Wait for a while. However, don't wait indefinitely
- // -- we want this thread to terminate so that the
- // process won't hang if there is a bug.
- sleep (10000);
- System.out.println ("daemon still alive");
- break;
-
- default:
- System.out.println ("failure");
- break;
- }
- }
- }
- catch (InterruptedException e)
- {
- System.out.println ("interrupted");
- }
- }
-
- public void setOther (Thread_1 x)
- {
- other = x;
- }
-
- Thread_1 (String name, boolean x)
- {
- super (subgroup, name);
- normal = x;
- started = false;
- setDaemon (! normal);
- }
-
- // Run a single test.
- static Thread_1 doit (int what)
- {
- // FIXME: we used to just use the same threads each time. That
- // didn't work -- must debug.
- Thread_1 dt = new Thread_1 ("daemon", false);
- Thread_1 nt = new Thread_1 ("normal", true);
-
- dt.setOther(nt);
- nt.setOther(dt);
-
- test_case = what;
- try
- {
- nt.start();
- dt.start();
-
- // Don't wait for the threads if we're doing the exit test.
- if (what != THREAD_EXIT)
- {
- nt.join ();
- dt.join ();
- }
- }
- catch (InterruptedException e)
- {
- System.out.println ("caught bad exception");
- }
-
- return dt;
- }
-
- public static void main (String[] args)
- {
- subgroup = new ThreadGroup ("sub");
-
- doit (JOIN_GOOD);
-
- System.out.println ("active count = " + subgroup.activeCount ());
-
- Thread_1 dt = doit (JOIN_TIMEOUT);
- // Make sure that joining a dead thread works.
- System.out.println ("still alive: " + dt.isAlive ());
- try
- {
- dt.join ();
- }
- catch (InterruptedException e)
- {
- System.out.println ("exception caught");
- }
-
- doit (JOIN_INTERRUPTED);
-
- // This test must come last.
- doit (THREAD_EXIT);
- }
-}
diff --git a/libjava/testsuite/libjava.lang/Thread_1.out b/libjava/testsuite/libjava.lang/Thread_1.out
deleted file mode 100644
index 1bd7a0124d9..00000000000
--- a/libjava/testsuite/libjava.lang/Thread_1.out
+++ /dev/null
@@ -1,10 +0,0 @@
-test 0
-daemon done
-joined
-active count = 2
-test 1
-true
-still alive: false
-test 2
-interrupted
-test 3
diff --git a/libjava/testsuite/libjava.lang/Throw_1.java b/libjava/testsuite/libjava.lang/Throw_1.java
deleted file mode 100644
index 4a0780aec06..00000000000
--- a/libjava/testsuite/libjava.lang/Throw_1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-// Some tests of `throw'.
-
-public class Throw_1
-{
- public static Throwable get ()
- {
- return null;
- }
-
- public static void main (String[] args)
- {
- Throwable t = get ();
- try
- {
- throw t;
- }
- catch (NullPointerException y)
- {
- }
- catch (Throwable x)
- {
- System.out.println ("no");
- }
- }
-}
diff --git a/libjava/testsuite/libjava.lang/Throw_1.out b/libjava/testsuite/libjava.lang/Throw_1.out
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/libjava/testsuite/libjava.lang/Throw_1.out
+++ /dev/null
diff --git a/libjava/testsuite/libjava.lang/test.exp b/libjava/testsuite/libjava.lang/test.exp
deleted file mode 100644
index cfe9cf5069c..00000000000
--- a/libjava/testsuite/libjava.lang/test.exp
+++ /dev/null
@@ -1,34 +0,0 @@
-global srcdir subdir
-
-catch "glob -nocomplain ${srcdir}/${subdir}/*.out" srcfiles
-verbose "srcfiles are $srcfiles"
-
-set prefix ""
-foreach x $srcfiles {
- regsub "\\.out$" $x "" prefix
- set bname [file tail $prefix]
- set args ""
- if [file exists $srcdir/$subdir/${bname}.arg] {
- set id [open "$srcdir/$subdir/${bname}.arg" r];
- set args [read -nonewline $id];
- close $id;
- }
- if [file exists $srcdir/$subdir/${bname}.xpo] {
- set resfile "$srcdir/$subdir/${bname}.xpo"
- set options "regexp_match"
- } else {
- set resfile "${prefix}.out"
- set options ""
- }
-
- if [file exists ${prefix}.inp] {
- set inpfile ${prefix}.inp
- } else {
- set inpfile ""
- }
-
- verbose "inpfile is $inpfile"
-
- test_libjava $options "${prefix}.java" "" $inpfile $resfile $args
- test_libjava $options "${prefix}.java" "-O" $inpfile $resfile $args
-}
diff --git a/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java b/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java
deleted file mode 100644
index 5c1cf5ec7c9..00000000000
--- a/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 1998, 1999 Cygnus Solutions
-
-// Written by Tom Tromey <tromey@cygnus.com>
-
-import gnu.testlet.*;
-
-public class DejaGNUTestHarness extends SimpleTestHarness
-{
- static String dejasrcdir;
-
- public String getSourceDirectory ()
- {
- return dejasrcdir;
- }
-
- private DejaGNUTestHarness ()
- {
- super (/* verbose */ true, /* debug */ false);
- }
-
- public static void main (String[] args)
- {
- dejasrcdir = args.length > 0 ? args[0] : "";
- DejaGNUTestHarness harness = new DejaGNUTestHarness ();
- // This might seem weird, given that we check args.length above.
- // However, in some cases the expect code rewrites this runtest
- // invocation to have an explicit name for the test to run.
- harness.runtest (args[1]);
- System.exit(harness.done());
- }
-}
diff --git a/libjava/testsuite/libjava.mauve/mauve.exp b/libjava/testsuite/libjava.mauve/mauve.exp
deleted file mode 100644
index 7b3cc9d17c3..00000000000
--- a/libjava/testsuite/libjava.mauve/mauve.exp
+++ /dev/null
@@ -1,355 +0,0 @@
-# Copyright (C) 1998, 1999 Cygnus Solutions.
-# Written by Tom Tromey <tromey@cygnus.com>.
-# Incorporate Mauve into libjava's DejaGNU test suite framework.
-
-# FIXME: should be able to compile from source as well as from .class.
-
-
-# Compute list of files to compile. Returns list of all files
-# representing classes that must be tested. Result parameter `uses'
-# maps source file names onto list of objects required for link.
-proc mauve_compute_uses {aName} {
- upvar $aName uses
- global env
-
- set fd [open classes r]
- set line [read $fd]
- close $fd
-
- foreach item [split $line] {
- if {$item == ""} then {
- continue
- }
- set item [join [split $item .] /].java
-
- # Look for Uses line in source file.
- set fd [open $env(MAUVEDIR)/$item r]
- set ufiles [list $item]
- set dir [file dirname $item]
- while {[gets $fd sline] != -1} {
- if {[regsub -- {^// Uses:} $sline {} sline]} then {
- foreach uf [split $sline] {
- if {$uf != ""} then {
- lappend ufiles $dir/$uf
- }
- }
- }
- }
- close $fd
-
- set uses($item) {}
- foreach file $ufiles {
- set file [file rootname $file].o
- lappend uses($item) $file
- }
- }
-
- return [lsort [array names uses]]
-}
-
-# Run all the Mauve tests.
-proc test_mauve {} {
- global srcdir subdir env
-
- if {! [info exists env(MAUVEDIR)]} then {
- verbose "MAUVEDIR not set; not running Mauve tests"
- return
- }
-
- # Run in subdir so we don't overwrite our own Makefile.
- catch {system "rm -rf mauve-build"}
- file mkdir mauve-build
- # Some weirdness to set srcdir correctly.
- set here [pwd]
- cd $srcdir
- set full_srcdir [pwd]
- cd $here/mauve-build
-
- if {[catch {system "$env(MAUVEDIR)/configure --with-gcj"} msg]} then {
- fail "Mauve configure"
- verbose "configure failed with $msg"
- return
- }
- pass "Mauve configure"
-
- # Copy appropriate tags file locally.
- set fd [open $full_srcdir/../mauve-libgcj r]
- set c [read $fd]
- close $fd
- set fd [open mauve-libgcj w]
- puts -nonewline $fd $c
- close $fd
-
- if {[catch {system "make KEYS=libgcj classes.stamp"} msg]} then {
- fail "Mauve build"
- verbose "build failed with $msg"
- return
- }
- pass "Mauve build"
-
- set srcfile $full_srcdir/$subdir/DejaGNUTestHarness.java
- if {! [bytecompile_file $srcfile [pwd] $env(MAUVEDIR):[pwd]]} then {
- fail "Compile DejaGNUTestHarness.java"
- return
- }
- pass "Compile DejaGNUTestHarness.java"
-
- # Compute list of files to test, and also all files to build.
- set choices [mauve_compute_uses uses]
-
- # Compute flags to use to do the build.
- set compile_args [libjava_arguments]
- set link_args [concat [libjava_arguments link] \
- [list "additional_flags=--main=DejaGNUTestHarness"]]
-
- set ok 1
- set objlist {}
- foreach base {DejaGNUTestHarness gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException gnu/testlet/config} {
- set file $base.class
- set obj $base.o
- if {[target_compile [pwd]/$file $obj object $compile_args] != ""} then {
- fail "Compile $obj"
- set ok 0
- } else {
- pass "Compile $obj"
- }
- lappend objlist $obj
- }
- if {! $ok} then {
- return
- }
-
- set Executable DejaGNUTestHarness
- foreach file $choices {
- # Turn `java/lang/Foo.java' into `java.lang.Foo'.
- set class [file rootname $file]
- regsub -all -- / $class . class
-
- set ok 1
- foreach obj $uses($file) {
- if {! [file exists $obj]} then {
- verbose "compiling $obj for test of $class"
- set srcfile [file rootname $obj].class
- if {[target_compile [pwd]/$srcfile $obj object $compile_args]
- != ""} then {
- fail "Compile $obj for $class"
- set ok 0
- break
- }
- pass "Compile $obj for $class"
- }
- }
- if {! $ok} then {
- continue
- }
-
- if {[target_compile [concat $uses($file) $objlist] \
- $Executable executable $link_args] != ""} then {
- fail "Link for $class"
- continue
- }
- pass "Link for $class"
-
- set result [libjava_load [pwd]/DejaGNUTestHarness \
- "$env(MAUVEDIR) $class" ""]
- if {[lindex $result 0] != "pass"} then {
- fail "Execute for $class"
- continue
- }
-
- # Test for an exception thrown in the test harness itself. This
- # isn't enough to test for all faults in the test harness, but
- # it's better than nothing.
- set output [lindex $result 1];
- if [regexp "Exception: " $output] then {
- fail $output
- continue
- }
-
- pass "Execute for $class"
-
- # Extract pass/failure info from output.
- foreach line [split [lindex $result 1] \n] {
- if {[regexp -- {^(PASS|FAIL): (.*)$} $line ignore what msg]} then {
- if {$what == "PASS"} then {
- pass $msg
- } else {
- fail $msg
- }
- }
- }
- }
-}
-
-# Run all the Mauve tests in a sim environment. In this case, the
-# program cannot use argv[] because there's no way to pass in the
-# command line, so tha name of the class to test is substituted by
-# patching the source of the DejaGNUTestHarness.
-proc test_mauve_sim {} {
- global srcdir subdir env
-
- if {! [info exists env(MAUVEDIR)]} then {
- verbose "MAUVEDIR not set; not running Mauve tests"
- return
- }
-
- # Run in subdir so we don't overwrite our own Makefile.
- catch {system "rm -rf mauve-build"}
- file mkdir mauve-build
- # Some weirdness to set srcdir correctly.
- set here [pwd]
- cd $srcdir
- set full_srcdir [pwd]
- cd $here/mauve-build
-
- if {[catch {system "$env(MAUVEDIR)/configure --with-gcj"} msg]} then {
- fail "Mauve configure"
- verbose "configure failed with $msg"
- return
- }
- pass "Mauve configure"
-
- # Copy appropriate tags file locally.
- set fd [open $full_srcdir/../mauve-libgcj r]
- set c [read $fd]
- close $fd
- set fd [open mauve-libgcj w]
- puts -nonewline $fd $c
- close $fd
-
- if {[catch {system "make KEYS=libgcj classes.stamp"} msg]} then {
- fail "Mauve build"
- verbose "build failed with $msg"
- return
- }
- pass "Mauve build"
-
- # Compute list of files to test, and also all files to build.
- set choices [mauve_compute_uses uses]
-
- # Compute flags to use to do the build.
- set compile_args [libjava_arguments]
- set link_args [concat [libjava_arguments link] \
- [list "additional_flags=--main=DejaGNUTestHarness"]]
-
- set ok 1
- set objlist {}
- foreach base {gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness \
- gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException \
- gnu/testlet/config} {
- set file $base.class
- set obj $base.o
- if {[target_compile [pwd]/$file $obj object $compile_args] != ""} then {
- fail "Compile $obj"
- set ok 0
- } else {
- pass "Compile $obj"
- }
- lappend objlist $obj
- }
- if {! $ok} then {
- return
- }
-
- lappend objlist gnu/testlet/DejaGNUTestHarness.o
-
- set Executable DejaGNUTestHarness
- foreach file $choices {
- # Turn `java/lang/Foo.java' into `java.lang.Foo'.
-
- set class [file rootname $file]
- regsub -all -- / $class . class
-
- set ok 1
- foreach obj $uses($file) {
- if {! [file exists $obj]} then {
- verbose "compiling $obj for test of $class"
- set srcfile [file rootname $obj].class
- if {[target_compile [pwd]/$srcfile $obj object $compile_args]
- != ""} then {
- fail "Compile $obj for $class"
- set ok 0
- break
- }
- pass "Compile $obj for $class"
- }
- }
- if {! $ok} then {
- continue
- }
-
- set infile $full_srcdir/$subdir/DejaGNUTestHarness.java
- set srcfile DejaGNUTestHarness.java
- set f [open $infile r]
- set d [open gnu/testlet/$srcfile w]
- while {[gets $f line] >= 0} {
- if [regexp {harness\.runtest \(args\[1\]\)} $line] then {
- regsub {args\[1\]} $line "\"$class\"" out
- } else {
- set out $line
- }
- puts $d $out
- }
- close $f
- close $d
-
- if {! [bytecompile_file [pwd]/gnu/testlet/$srcfile [pwd]/gnu/testlet \
- $env(MAUVEDIR):[pwd]]} then {
- fail "Compile DejaGNUTestHarness.java"
- return
- }
-
- if {[target_compile gnu/testlet/DejaGNUTestHarness.class \
- gnu/testlet/DejaGNUTestHarness.o object $compile_args]
- != ""} then {
- fail "Compile DejaGNUTestHarness.java"
- continue
- }
-
- if {[target_compile [concat $uses($file) $objlist] \
- $Executable executable $link_args] != ""} then {
- fail "Link for $class"
- continue
- }
- pass "Link for $class"
-
- set result [libjava_load [pwd]/DejaGNUTestHarness \
- "$env(MAUVEDIR) $class" ""]
- if {[lindex $result 0] != "pass"} then {
- fail "Execute for $class"
- continue
- }
-
- # Test for an exception thrown in the test harness itself. This
- # isn't enough to test for all faults in the test harness, but
- # it's better than nothing.
- set output [lindex $result 1];
- if [regexp "Exception: " $output] then {
- fail $output
- continue
- }
-
- pass "Execute for $class"
-
- # Extract pass/failure info from output.
- foreach line [split [lindex $result 1] \n] {
- if {[regexp -- {^(PASS|FAIL): (.*)$} $line ignore what msg]} then {
- if {$what == "PASS"} then {
- pass $msg
- } else {
- fail $msg
- }
- }
- }
- }
-}
-
-# The test_mauve* procs will change the current directory. It's
-# simpler to fix this up here than to keep track of this in the procs.
-set here [pwd]
-if { [board_info target exists is_simulator] } {
- test_mauve_sim
-} else {
- test_mauve
-}
-cd $here
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index ee6a22fb55a..e8819321c6b 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,45 @@
+2001-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside
+ printf.
+
+2000-03-29 Zack Weinberg <zack@wolery.cumb.org>
+
+ * objc/Protocol.h, objc/objc-list.h: Change #endif labels to
+ comments.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Fri Aug 6 23:32:29 1999 Daniel Jacobowitz <drow@drow.them.org>
+
+ * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
+ libdir, libsubdir and tooldir.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Mon Jun 21 05:40:15 1999 John David Anglin <dave@hiauly1>
+
+ * init.c (__objc_force_linking): Make global.
+
+Thu May 20 03:20:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in (AC_EXEEXT): Remove call.
+ (compiler_name): Explicitly check with no extension and .exe
+ extension.
+ * configure: Regenerate.
+
Sun Apr 25 01:15:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
* Makefile.in (CC1OBJ): Define in terms of CC.
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
index 3bc11dc9427..e1de9aeee8a 100644
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -102,7 +102,12 @@ FLAGS_TO_PASS = \
"LOADLIBES=$(LOADLIBES)" \
"PICFLAG=$(PICFLAG)" \
"RANLIB=$(RANLIB)" \
- "SHELL=$(SHELL)"
+ "SHELL=$(SHELL)" \
+ "prefix=$(prefix)" \
+ "exec_prefix=$(exec_prefix)" \
+ "libdir=$(libdir)" \
+ "libsubdir=$(libsubdir)" \
+ "tooldir=$(tooldir)"
all: libobjc.a @OBJC_BOEHM_GC@
$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
diff --git a/libobjc/configure b/libobjc/configure
index 3728ea3ec83..0469252015a 100755
--- a/libobjc/configure
+++ b/libobjc/configure
@@ -555,105 +555,6 @@ ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-# We have to handle 3 cases -- native, cross and canadian cross -- and
-# the extension returned from this macro needs to be treated as a possible
-# scenario and not the only one.
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:563: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 568 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:579: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:596: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 601 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:627: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -661,7 +562,7 @@ ac_exeext=$EXEEXT
compiler_name=cc1obj
rm -f skip-this-dir
echo $ac_n "checking if compiler $compiler_name has been built""... $ac_c" 1>&6
-echo "configure:665: checking if compiler $compiler_name has been built" >&5
+echo "configure:566: checking if compiler $compiler_name has been built" >&5
if eval "test \"`echo '$''{'objc_cv_compiler_exists'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -669,7 +570,7 @@ else
if test -n "$r"; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
objc_cv_compiler_exists=no
@@ -692,7 +593,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:696: checking for $ac_word" >&5
+echo "configure:597: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -722,7 +623,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:726: checking for $ac_word" >&5
+echo "configure:627: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -773,7 +674,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:777: checking for $ac_word" >&5
+echo "configure:678: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -805,7 +706,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:809: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:710: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -816,12 +717,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 820 "configure"
+#line 721 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -847,12 +748,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:851: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:752: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:856: checking whether we are using GNU C" >&5
+echo "configure:757: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -861,7 +762,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:865: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -880,7 +781,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:884: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:785: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -920,7 +821,7 @@ else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:924: checking for $ac_word" >&5
+echo "configure:825: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -960,7 +861,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:964: checking for a BSD compatible install" >&5
+echo "configure:865: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1016,7 +917,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
# Sanity check for the cross-compilation case:
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1020: checking how to run the C preprocessor" >&5
+echo "configure:921: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1031,13 +932,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1035 "configure"
+#line 936 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1041: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:942: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1048,13 +949,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1052 "configure"
+#line 953 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1065,13 +966,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1069 "configure"
+#line 970 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1097,17 +998,17 @@ echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "stdio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for stdio.h""... $ac_c" 1>&6
-echo "configure:1101: checking for stdio.h" >&5
+echo "configure:1002: checking for stdio.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1106 "configure"
+#line 1007 "configure"
#include "confdefs.h"
#include <stdio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1111: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1012: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1135,12 +1036,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1139: checking for ANSI C header files" >&5
+echo "configure:1040: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1144 "configure"
+#line 1045 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1148,7 +1049,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1165,7 +1066,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1169 "configure"
+#line 1070 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1183,7 +1084,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1187 "configure"
+#line 1088 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1204,7 +1105,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1208 "configure"
+#line 1109 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1215,7 +1116,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1242,7 +1143,7 @@ fi
# Determine the name of the GCC thread file.
echo $ac_n "checking for thread file""... $ac_c" 1>&6
-echo "configure:1246: checking for thread file" >&5
+echo "configure:1147: checking for thread file" >&5
if eval "test \"`echo '$''{'objc_cv_thread_file'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1419,7 +1320,6 @@ s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
-s%@EXEEXT@%$EXEEXT%g
s%@CC@%$CC%g
s%@AR@%$AR%g
s%@RANLIB@%$RANLIB%g
diff --git a/libobjc/configure.in b/libobjc/configure.in
index 619ba32a9eb..821dcd2a9de 100644
--- a/libobjc/configure.in
+++ b/libobjc/configure.in
@@ -36,11 +36,6 @@ dnl This is needed for a multilibbed build in the source tree so
dnl that install-sh and config.sub get found.
AC_CONFIG_AUX_DIR($topsrcdir)
-# We have to handle 3 cases -- native, cross and canadian cross -- and
-# the extension returned from this macro needs to be treated as a possible
-# scenario and not the only one.
-AC_EXEEXT
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -53,7 +48,7 @@ AC_CACHE_VAL(objc_cv_compiler_exists,
if test -n "$r"; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
objc_cv_compiler_exists=no
diff --git a/libobjc/init.c b/libobjc/init.c
index f1fea812318..954fc9240ae 100644
--- a/libobjc/init.c
+++ b/libobjc/init.c
@@ -368,16 +368,16 @@ class_is_subclass_of_class (Class class, Class superclass)
superclasses are not yet know to the runtime. */
static struct objc_list* unresolved_classes = 0;
-/* Static function used to reference the Object and NXConstantString classes.
+/* Extern function used to reference the Object and NXConstantString classes.
*/
-static void
+
+extern void __objc_force_linking (void);
+
+void
__objc_force_linking (void)
{
extern void __objc_linking (void);
__objc_linking ();
-
- /* Call the function to avoid compiler warning */
- __objc_force_linking ();
}
/* Run through the statics list, removing modules as soon as all its statics
diff --git a/libobjc/objc/Protocol.h b/libobjc/objc/Protocol.h
index c7464cf17a9..f54b7cd2393 100644
--- a/libobjc/objc/Protocol.h
+++ b/libobjc/objc/Protocol.h
@@ -55,4 +55,4 @@ Boston, MA 02111-1307, USA. */
-#endif __Protocol_INCLUDE_GNU
+#endif /* not __Protocol_INCLUDE_GNU */
diff --git a/libobjc/objc/objc-list.h b/libobjc/objc/objc-list.h
index 19760906238..de083a5861e 100644
--- a/libobjc/objc/objc-list.h
+++ b/libobjc/objc/objc-list.h
@@ -144,4 +144,4 @@ list_free(struct objc_list* list)
objc_free(list);
}
}
-#endif __GNU_OBJC_LIST_H
+#endif /* not __GNU_OBJC_LIST_H */
diff --git a/libobjc/sendmsg.c b/libobjc/sendmsg.c
index 62c8f2850e3..a4aa4709c7c 100644
--- a/libobjc/sendmsg.c
+++ b/libobjc/sendmsg.c
@@ -613,13 +613,11 @@ __objc_print_dtable_stats()
objc_mutex_lock(__objc_runtime_mutex);
- printf("memory usage: (%s)\n",
#ifdef OBJC_SPARSE2
- "2-level sparse arrays"
+ printf("memory usage: (%s)\n", "2-level sparse arrays");
#else
- "3-level sparse arrays"
+ printf("memory usage: (%s)\n", "3-level sparse arrays");
#endif
- );
printf("arrays: %d = %ld bytes\n", narrays,
(long)narrays*sizeof(struct sarray));
diff --git a/libstdc++/ChangeLog b/libstdc++/ChangeLog
index f6fa7dd3838..1d48242b6cd 100644
--- a/libstdc++/ChangeLog
+++ b/libstdc++/ChangeLog
@@ -1,3 +1,129 @@
+2001-01-01 Bernd Schmidt <bernds@redhat.co.uk>
+
+ 1999-12-07 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+ * stl_deque.h (_Deque_base::const_iterator): Change third
+ template argument to pointer type.
+ Reported by Carlo Wood <carlo@node1500a.a2000.nl>
+
+ 1999-11-10 Benjamin Kosnik <bkoz@haight.constant.com>
+ Matthias Klose <doko@cs.tu-berlin.de>
+ * stl_rope.h: Fix initialization order.
+ * stl_deque.h: Use static_casts<size_type>(signed_type).
+
+2000-11-24 Magnus Fromreide <magfr@lysator.liu.se>
+
+ * sstream: Backport libstdc++-V3 sstream to V2.
+
+2000-04-24 Magnus Fromreide <magfr@lysator.liu.se>
+
+ * sstream: New file.
+ * Makefile.in (HEADERS): Add it.
+
+2000-03-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+
+ * std/bastring.h (basic_string<>::push_back): Define.
+
+Tue Mar 7 21:37:56 2000 Jeffrey A Law (law@cygnus.com)
+
+ 1999-11-19 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): Don't forget
+ to define tanh.
+
+ 1999-11-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
+ building meta-expressions don't forget to take the contained
+ closures.
+
+ 1999-10-19 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_meta.h: (_BinClos::_BinClos): Fix typo.
+
+ 1999-09-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/complext.cc (pow): Don't expect floating point promotion
+ in presence of template argument deduction. There is no such
+ thing.
+
+2000-02-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_array.h (__valarray_copy): Fix typo.
+
+1999-12-14 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+ * std/bastring.h (basic_string::basic_string): Rename parameters
+ to avoid shadow warnings.
+ * std/bastring.cc (alloc): Likewise.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Thu Aug 5 02:00:13 1999 Loren Rittle <ljrittle@acm.org>
+
+ * Makefile.in (MARLINK, MSHLINK): Handle library version
+ number components with more than one numeric digit.
+
+Mon Aug 2 00:40:10 1999 Jeffrey A Law (law@cygnus.com)
+
+ 1999-07-16 Markus Gyger (mgyger@gmu.edu)
+ * stdexcepti.cc (__out_of_range): Use std:: qualifier for names
+ in std.
+ (__length_error): Likewise.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sat Jul 17 23:49:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (INTERFACE): Bump to 3.
+
+Fri Jul 9 01:20:23 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (VERSION): Bump to 2.10.0.
+
+Tue Jun 8 00:21:11 1999 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in (*-*-freebsd2*): Add missing '*' at end of configure
+ string.
+
+1999-06-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+
+ * std/std_valarray.h: Don't #include unconditionally <alloca.h>
+
+1999-06-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+
+ * std/std_valarray.h: New file.
+ * std/slice.h: New file.
+ * std/slice_array.h: New file.
+ * std/gslice.h: New file.
+ * std/gslice_array.h: New file.
+ * std/mask_array.h: New file.
+ * std/indirect_array.h: New file.
+ * std/valarray_array.h: New file.
+ * std/valarray_array.tcc: New file.
+ * std/valarray_meta.h: New file.
+ * valarray.cc: New file.
+ * valarray: New file
+
+ * Makefile.in (OBJS): add valarray.o
+ (HEADERS): add valarray
+ (valarray.o): define dependency on valarray.cc
+ (install): make it possible to install valarray file.
+
+Wed Jun 2 00:21:54 1999 Robert Lipe <robertlipe@usa.net>
+
+ * std/bastring.h (class basic_string:Rep): Encode xlock opcode
+ as .bytes instead of mnemonics.
+
+1999-05-20 Angela Marie Thomas <angela@cygnus.com>
+
+ * configure.in: Test for ${compiler_name}.exe as well.
+
1999-05-15 Mark Kettenis <kettenis@gnu.org>
* configure.in: Add shared library support for the Hurd
diff --git a/libstdc++/Makefile.in b/libstdc++/Makefile.in
index 9e03d0545a7..f13eddcf294 100644
--- a/libstdc++/Makefile.in
+++ b/libstdc++/Makefile.in
@@ -14,12 +14,12 @@
# along with this library; see the file COPYING. If not, write to the Free
# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-VERSION = 2.9.0
-INTERFACE = 2
+VERSION = 2.10.0
+INTERFACE = 3
gxx_include_dir=${includedir}/g++
-OBJS = cstringi.o stdexcepti.o cstdlibi.o cmathi.o stlinst.o
+OBJS = cstringi.o stdexcepti.o cstdlibi.o cmathi.o stlinst.o valarray.o
SUBLIBS = $(STAMP)-string $(STAMP)-complx
# C++ headers with no extension
@@ -28,15 +28,16 @@ HEADERS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \
cwchar cwctype string stdexcept \
algorithm deque functional hash_map hash_set iterator list map \
memory numeric pthread_alloc queue rope set slist stack utility \
- vector fstream iomanip iostream strstream iosfwd bitset
+ vector fstream iomanip iostream strstream iosfwd bitset valarray \
+ sstream
ARLIB = libstdc++.a.$(VERSION)
ARLINK = libstdc++.a
-MARLINK = libstdc++.a.`echo $(VERSION) | sed 's/\([0-9][.][0-9]\).*/\1/'`
+MARLINK = libstdc++.a.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
SHLIB = libstdc++.so.$(VERSION)
SHARLIB = libstdc++-sh.a
SHLINK = libstdc++.so
-MSHLINK = libstdc++.so.`echo $(VERSION) | sed 's/\([0-9][.][0-9]\).*/\1/'`
+MSHLINK = libstdc++.so.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
SHFLAGS =
SHDEPS =
@@ -130,6 +131,7 @@ cstdlibi.o: cstdlibi.cc
cmathi.o: cmathi.cc
stdexcepti.o: stdexcepti.cc
stlinst.o: stlinst.cc
+valarray.o: valarray.cc
# Later do wide strings, too.
stmp-string: ${srcdir}/sinst.cc ${srcdir}/std/bastring.h \
@@ -269,7 +271,7 @@ install:
fi ; \
chmod a-x $(gxx_include_dir)/$$FILE ; \
done ; \
- for FILE in *.h std/*.h std/*.cc; do \
+ for FILE in *.h std/*.h std/*.cc std/*.tcc; do \
rm -f $(gxx_include_dir)/$$FILE ; \
$(INSTALL_DATA) $$FILE $(gxx_include_dir)/$$FILE ; \
chmod a-x $(gxx_include_dir)/$$FILE ; \
diff --git a/libstdc++/configure.in b/libstdc++/configure.in
index 8262565bd88..bd2c9c71e43 100644
--- a/libstdc++/configure.in
+++ b/libstdc++/configure.in
@@ -2,18 +2,6 @@
# necessary for a configure script to process the program in
# this directory. For more information, look at ../configure.
-# find a possible extension of the just-built C++ compiler. Note that this
-# is not the only choice, taking into cross and canadian cross into
-# account, and we need to search for with and without the extension.
-case "${host_alias}" in
-*cygwin* | *mingw32*)
- EXEEXT=.exe
- ;;
-*)
- EXEEXT=
- ;;
-esac
-
# If the language specific compiler does not exist, but the "gcc" directory
# does, we do not build anything. Note, $r is set by the top-level Makefile.
# Note that when we look for the compiler, we search both with and without
@@ -25,7 +13,7 @@ rm -f skip-this-dir
if test -n "$r" && [ -z "$norecursion" ] ; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name$EXEEXT; then
+ || test -f "$r"/gcc/$compiler_name.exe; then
true
else
echo "rm -f multilib.out" > skip-this-dir
@@ -83,7 +71,7 @@ if [ "${shared}" = "yes" ]; then
*-*-hpux*) frags="${frags} hpux.ml" ;;
*-*-irix[56]*) frags="${frags} irix5.ml" ;;
*-*-linux*aout*) ;;
- *-*-freebsd2) ;;
+ *-*-freebsd2*) ;;
*-*-freebsd*) frags="${frags} freebsd.ml" ;;
*-*-linux*) frags="${frags} linux.ml" ;;
*-*-openbsd*) frags="${frags} openbsd.ml" ;;
diff --git a/libstdc++/sstream b/libstdc++/sstream
new file mode 100644
index 00000000000..45393b14761
--- /dev/null
+++ b/libstdc++/sstream
@@ -0,0 +1,343 @@
+/* This is part of libio/iostream, providing -*- C++ -*- input/output.
+Copyright (C) 2000 Free Software Foundation
+
+This file is part of the GNU IO Library. This library is free
+software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this library; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+As a special exception, if you link this library with files
+compiled with a GNU compiler to produce an executable, this does not cause
+the resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why
+the executable file might be covered by the GNU General Public License. */
+
+/* Written by Magnus Fromreide (magfr@lysator.liu.se). */
+/* seekoff and ideas for overflow is largely borrowed from libstdc++-v3 */
+
+#ifndef __SSTREAM__
+#define __SSTREAM__
+
+#include <iostream.h>
+#include <streambuf.h>
+#include <string>
+
+namespace std
+{
+ class stringbuf : public streambuf
+ {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ stringbuf(int which=ios::in|ios::out)
+ : streambuf(), mode(static_cast<ios::open_mode>(which)),
+ stream(NULL), stream_len(0)
+ {
+ stringbuf_init();
+ }
+
+ explicit
+ stringbuf(const string &str, int which=ios::in|ios::out)
+ : streambuf(), mode(static_cast<ios::open_mode>(which)),
+ stream(NULL), stream_len(0)
+ {
+ if (mode & (ios::in|ios::out))
+ {
+ stream_len = str.size();
+ stream = new char_type[stream_len];
+ str.copy(stream, stream_len);
+ }
+ stringbuf_init();
+ }
+
+ virtual
+ ~stringbuf()
+ {
+ delete[] stream;
+ }
+
+ string
+ str() const
+ {
+ if (pbase() != 0)
+ return string(stream, pptr()-pbase());
+ else
+ return string();
+ }
+
+ void
+ str(const string& str)
+ {
+ delete[] stream;
+ stream_len = str.size();
+ stream = new char_type[stream_len];
+ str.copy(stream, stream_len);
+ stringbuf_init();
+ }
+
+ protected:
+ // The buffer is already in gptr, so if it ends then it is out of data.
+ virtual int
+ underflow()
+ {
+ return EOF;
+ }
+
+ virtual int
+ overflow(int c = EOF)
+ {
+ int res;
+ if (mode & ios::out)
+ {
+ if (c != EOF)
+ {
+ streamsize old_stream_len = stream_len;
+ stream_len += 1;
+ char_type* new_stream = new char_type[stream_len];
+ memcpy(new_stream, stream, old_stream_len);
+ delete[] stream;
+ stream = new_stream;
+ stringbuf_sync(gptr()-eback(), pptr()-pbase());
+ sputc(c);
+ res = c;
+ }
+ else
+ res = EOF;
+ }
+ else
+ res = 0;
+ return res;
+ }
+
+ virtual streambuf*
+ setbuf(char_type* s, streamsize n)
+ {
+ if (n != 0)
+ {
+ delete[] stream;
+ stream = new char_type[n];
+ memcpy(stream, s, n);
+ stream_len = n;
+ stringbuf_sync(0, 0);
+ }
+ return this;
+ }
+
+ virtual pos_type
+ seekoff(off_type off, ios::seek_dir way, int which = ios::in | ios::out)
+ {
+ pos_type ret = pos_type(off_type(-1));
+ bool testin = which & ios::in && mode & ios::in;
+ bool testout = which & ios::out && mode & ios::out;
+ bool testboth = testin && testout && way != ios::cur;
+
+ if (stream_len && ((testin != testout) || testboth))
+ {
+ char_type* beg = stream;
+ char_type* curi = NULL;
+ char_type* curo = NULL;
+ char_type* endi = NULL;
+ char_type* endo = NULL;
+
+ if (testin)
+ {
+ curi = gptr();
+ endi = egptr();
+ }
+ if (testout)
+ {
+ curo = pptr();
+ endo = epptr();
+ }
+
+ off_type newoffi = 0;
+ off_type newoffo = 0;
+ if (way == ios::beg)
+ {
+ newoffi = beg - curi;
+ newoffo = beg - curo;
+ }
+ else if (way == ios::end)
+ {
+ newoffi = endi - curi;
+ newoffo = endo - curo;
+ }
+
+ if (testin && newoffi + off + curi - beg >= 0 &&
+ endi - beg >= newoffi + off + curi - beg)
+ {
+ gbump(newoffi + off);
+ ret = pos_type(newoffi + off + curi);
+ }
+ if (testout && newoffo + off + curo - beg >= 0 &&
+ endo - beg >= newoffo + off + curo - beg)
+ {
+ pbump(newoffo + off);
+ ret = pos_type(newoffo + off + curo);
+ }
+ }
+ return ret;
+ }
+
+ virtual pos_type
+ seekpos(pos_type sp, int which = ios::in | ios::out)
+ {
+ pos_type ret = seekoff(sp, ios::beg, which);
+ return ret;
+ }
+
+ private:
+ void
+ stringbuf_sync(streamsize i, streamsize o)
+ {
+ if (mode & ios::in)
+ setg(stream, stream + i, stream + stream_len);
+ if (mode & ios::out)
+ {
+ setp(stream, stream + stream_len);
+ pbump(o);
+ }
+ }
+ void
+ stringbuf_init()
+ {
+ if (mode & ios::ate)
+ stringbuf_sync(0, stream_len);
+ else
+ stringbuf_sync(0, 0);
+ }
+
+ private:
+ ios::open_mode mode;
+ char_type* stream;
+ streamsize stream_len;
+ };
+
+ class istringstream : public istream {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ istringstream(int which=ios::in)
+ : istream(&sb), sb(which | ios::in)
+ { }
+
+ explicit
+ istringstream(const string& str, int which=ios::in)
+ : istream(&sb), sb(str, which | ios::in)
+ { }
+
+ stringbuf*
+ rdbuf() const
+ {
+ return const_cast<stringbuf*>(&sb);
+ }
+
+ string
+ str() const
+ {
+ return rdbuf()->str();
+ }
+ void
+ str(const string& s)
+ {
+ rdbuf()->str(s);
+ }
+ private:
+ stringbuf sb;
+ };
+
+ class ostringstream : public ostream {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ ostringstream(int which=ios::out)
+ : ostream(&sb), sb(which | ios::out)
+ { }
+
+ explicit
+ ostringstream(const string& str, int which=ios::out)
+ : ostream(&sb), sb(str, which | ios::out)
+ { }
+
+ stringbuf*
+ rdbuf() const
+ {
+ return const_cast<stringbuf*>(&sb);
+ }
+
+ string
+ str() const
+ {
+ return rdbuf()->str();
+ }
+
+ void str(const string& s)
+ {
+ rdbuf()->str(s);
+ }
+ private:
+ stringbuf sb;
+ };
+
+ class stringstream : public iostream {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ stringstream(int which=ios::out|ios::in)
+ : iostream(&sb), sb(which)
+ { }
+
+ explicit
+ stringstream(const string& str, int which=ios::out|ios::in)
+ : iostream(&sb), sb(str, which)
+ { }
+
+ stringbuf*
+ rdbuf() const
+ {
+ return const_cast<stringbuf*>(&sb);
+ }
+
+ string
+ str() const
+ {
+ return rdbuf()->str();
+ }
+
+ void
+ str(const string& s)
+ {
+ rdbuf()->str(s);
+ }
+ private:
+ stringbuf sb;
+ };
+};
+
+#endif /* not __STRSTREAM__ */
diff --git a/libstdc++/std/bastring.cc b/libstdc++/std/bastring.cc
index 3093b9e129d..f86f6d30157 100644
--- a/libstdc++/std/bastring.cc
+++ b/libstdc++/std/bastring.cc
@@ -1,5 +1,5 @@
// Member templates for the -*- C++ -*- string classes.
-// Copyright (C) 1994 Free Software Foundation
+// Copyright (C) 1994, 1999 Free Software Foundation
// This file is part of the GNU ANSI C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -94,14 +94,14 @@ check_realloc (basic_string::size_type s) const
template <class charT, class traits, class Allocator>
void basic_string <charT, traits, Allocator>::
-alloc (basic_string::size_type size, bool save)
+alloc (basic_string::size_type __size, bool __save)
{
- if (! check_realloc (size))
+ if (! check_realloc (__size))
return;
- Rep *p = Rep::create (size);
+ Rep *p = Rep::create (__size);
- if (save)
+ if (__save)
{
p->copy (0, data (), length ());
p->len = length ();
diff --git a/libstdc++/std/bastring.h b/libstdc++/std/bastring.h
index 6206713b6c9..bbe873085ea 100644
--- a/libstdc++/std/bastring.h
+++ b/libstdc++/std/bastring.h
@@ -1,5 +1,5 @@
// Main templates for the -*- C++ -*- string classes.
-// Copyright (C) 1994, 1995 Free Software Foundation
+// Copyright (C) 1994, 1995, 1999 Free Software Foundation
// This file is part of the GNU ANSI C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -77,8 +77,15 @@ private:
void release ()
{
size_t __val;
- asm ("lock; xaddl %0, %2"
- : "=r" (__val) : "0" (-1), "m" (ref) : "memory");
+ // This opcode exists as a .byte instead of as a mnemonic for the
+ // benefit of SCO OpenServer 5. The system assembler (which is
+ // essentially required on this target) can't assemble xaddl in
+ //COFF mode.
+ asm (".byte 0xf0, 0x0f, 0xc1, 0x02" // lock; xaddl %eax, (%edx)
+ : "=a" (__val)
+ : "0" (-1), "m" (ref), "d" (&ref)
+ : "memory");
+
if (__val == 1)
delete this;
}
@@ -173,11 +180,11 @@ public:
: dat (nilRep.grab ()) { assign (n, c); }
#ifdef __STL_MEMBER_TEMPLATES
template<class InputIterator>
- basic_string(InputIterator begin, InputIterator end)
+ basic_string(InputIterator __begin, InputIterator __end)
#else
- basic_string(const_iterator begin, const_iterator end)
+ basic_string(const_iterator __begin, const_iterator __end)
#endif
- : dat (nilRep.grab ()) { assign (begin, end); }
+ : dat (nilRep.grab ()) { assign (__begin, __end); }
~basic_string ()
{ rep ()->release (); }
@@ -201,6 +208,9 @@ public:
#endif
{ return replace (iend (), iend (), first, last); }
+ void push_back(charT __c)
+ { append(1, __c); }
+
basic_string& assign (const basic_string& str, size_type pos = 0,
size_type n = npos)
{ return replace (0, npos, str, pos, n); }
diff --git a/libstdc++/std/complext.cc b/libstdc++/std/complext.cc
index d50bf0871f6..60227f21329 100644
--- a/libstdc++/std/complext.cc
+++ b/libstdc++/std/complext.cc
@@ -236,7 +236,7 @@ pow (const complex<FLOAT>& xin, int y)
if (y < 0)
{
y = -y;
- x = 1/x;
+ x = FLOAT(1)/x;
}
for (;;)
{
diff --git a/libstdc++/std/gslice.h b/libstdc++/std/gslice.h
new file mode 100644
index 00000000000..4f6e854a14c
--- /dev/null
+++ b/libstdc++/std/gslice.h
@@ -0,0 +1,111 @@
+// The template and inlines for the -*- C++ -*- gslice class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __GSLICE__
+#define __GSLICE__
+
+extern "C++" {
+
+struct _Indexer {
+ size_t _M_count;
+ size_t _M_start;
+ valarray<size_t> _M_size;
+ valarray<size_t> _M_stride;
+ valarray<size_t> _M_index;
+ _Indexer(size_t, const valarray<size_t>&, const valarray<size_t>&);
+ void _M_increment_use() { ++_M_count; }
+ size_t _M_decrement_use() { return --_M_count; }
+};
+
+
+class gslice
+{
+public:
+ gslice ();
+ gslice (size_t, const valarray<size_t>&, const valarray<size_t>&);
+ gslice(const gslice&);
+ ~gslice();
+
+ gslice& operator= (const gslice&);
+ size_t start () const;
+ valarray<size_t> size () const;
+ valarray<size_t> stride () const;
+
+private:
+ _Indexer* _M_index;
+
+ template<typename _Tp> friend class valarray;
+};
+
+inline size_t
+gslice::start () const
+{ return _M_index ? _M_index->_M_start : 0; }
+
+inline valarray<size_t>
+gslice::size () const
+{ return _M_index ? _M_index->_M_size : valarray<size_t>(); }
+
+inline valarray<size_t>
+gslice::stride () const
+{ return _M_index ? _M_index->_M_stride : valarray<size_t>(); }
+
+inline gslice::gslice () : _M_index(0) {}
+
+inline
+gslice::gslice(size_t __o, const valarray<size_t>& __l,
+ const valarray<size_t>& __s)
+ : _M_index(new _Indexer(__o, __l, __s)) {}
+
+inline
+gslice::gslice(const gslice& __g) : _M_index(__g._M_index)
+{ if (_M_index) _M_index->_M_increment_use(); }
+
+inline
+gslice::~gslice()
+{ if (_M_index && _M_index->_M_decrement_use() == 0) delete _M_index; }
+
+inline gslice&
+gslice::operator= (const gslice& __g)
+{
+ if (__g._M_index) __g._M_index->_M_increment_use();
+ if (_M_index && _M_index->_M_decrement_use() == 0) delete _M_index;
+ _M_index = __g._M_index;
+ return *this;
+}
+
+
+} // extern "C++"
+
+#endif // __GSLICE__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/gslice_array.h b/libstdc++/std/gslice_array.h
new file mode 100644
index 00000000000..8a67cac9050
--- /dev/null
+++ b/libstdc++/std/gslice_array.h
@@ -0,0 +1,170 @@
+// The template and inlines for the -*- C++ -*- gslice_array class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __GSLICE_ARRAY__
+#define __GSLICE_ARRAY__
+
+extern "C++" {
+
+template<typename _Tp> class gslice_array
+{
+public:
+ typedef _Tp value_type;
+
+ void operator= (const valarray<_Tp>&) const;
+ void operator*= (const valarray<_Tp>&) const;
+ void operator/= (const valarray<_Tp>&) const;
+ void operator%= (const valarray<_Tp>&) const;
+ void operator+= (const valarray<_Tp>&) const;
+ void operator-= (const valarray<_Tp>&) const;
+ void operator^= (const valarray<_Tp>&) const;
+ void operator&= (const valarray<_Tp>&) const;
+ void operator|= (const valarray<_Tp>&) const;
+ void operator<<=(const valarray<_Tp>&) const;
+ void operator>>=(const valarray<_Tp>&) const;
+ void operator=(const _Tp&);
+
+ template<class _Dom>
+ void operator= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator*= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator/= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator%= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator+= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator-= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator^= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator&= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator|= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator<<= (const _Expr<_Dom,_Tp>&) const;
+ template<class _Dom>
+ void operator>>= (const _Expr<_Dom,_Tp>&) const;
+
+private:
+ _Array<_Tp> _M_array;
+ const valarray<size_t>& _M_index;
+
+ friend class valarray<_Tp>;
+
+ gslice_array (_Array<_Tp>, const valarray<size_t>&);
+
+ // this constructor needs to be implemented.
+ gslice_array (const gslice_array&);
+
+ // not implemented
+ gslice_array();
+ gslice_array& operator= (const gslice_array&);
+};
+
+template<typename _Tp>
+inline
+gslice_array<_Tp>::gslice_array (_Array<_Tp> __a,
+ const valarray<size_t>& __i)
+ : _M_array (__a), _M_index (__i) {}
+
+
+template<typename _Tp>
+inline
+gslice_array<_Tp>::gslice_array (const gslice_array<_Tp>& __a)
+ : _M_array (__a._M_array), _M_index (__a._M_index) {}
+
+
+template<typename _Tp>
+inline void
+gslice_array<_Tp>::operator= (const _Tp& __t)
+{
+ __valarray_fill (_M_array, _Array<size_t>(_M_index),
+ _M_index.size(), __t);
+}
+
+template<typename _Tp>
+inline void
+gslice_array<_Tp>::operator= (const valarray<_Tp>& __v) const
+{
+ __valarray_copy (_Array<_Tp> (__v), __v.size (),
+ _M_array, _Array<size_t>(_M_index));
+}
+
+template<typename _Tp>
+template<class E>
+inline void
+gslice_array<_Tp>::operator= (const _Expr<E, _Tp>& __e) const
+{
+ __valarray_copy (__e, _M_index.size(), _M_array,
+ _Array<size_t>(_M_index));
+}
+
+#undef _DEFINE_VALARRAY_OPERATOR
+#define _DEFINE_VALARRAY_OPERATOR(op, name) \
+template<typename _Tp> \
+inline void \
+gslice_array<_Tp>::operator##op##= (const valarray<_Tp>& __v) const \
+{ \
+ _Array_augmented_##name (_M_array, _Array<size_t>(_M_index), \
+ _Array<_Tp> (__v), __v.size ()); \
+} \
+ \
+template<typename _Tp> template<class E> \
+inline void \
+gslice_array<_Tp>::operator##op##= (const _Expr<E, _Tp>& __e) const \
+{ \
+ _Array_augmented_##name (_M_array, _Array<size_t>(_M_index), __e, \
+ _M_index.size()); \
+}
+
+_DEFINE_VALARRAY_OPERATOR(*, multiplies)
+_DEFINE_VALARRAY_OPERATOR(/, divides)
+_DEFINE_VALARRAY_OPERATOR(%, modulus)
+_DEFINE_VALARRAY_OPERATOR(+, plus)
+_DEFINE_VALARRAY_OPERATOR(-, minus)
+_DEFINE_VALARRAY_OPERATOR(^, xor)
+_DEFINE_VALARRAY_OPERATOR(&, and)
+_DEFINE_VALARRAY_OPERATOR(|, or)
+_DEFINE_VALARRAY_OPERATOR(<<, shift_left)
+_DEFINE_VALARRAY_OPERATOR(>>, shift_right)
+
+#undef _DEFINE_VALARRAY_OPERATOR
+
+} // extern "C++"
+
+
+#endif // __GSLICE_ARRAY__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/indirect_array.h b/libstdc++/std/indirect_array.h
new file mode 100644
index 00000000000..bb5b79fb834
--- /dev/null
+++ b/libstdc++/std/indirect_array.h
@@ -0,0 +1,157 @@
+// The template and inlines for the -*- C++ -*- indirect_array class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __INDIRECT_ARRAY__
+#define __INDIRECT_ARRAY__
+
+extern "C++" {
+
+template <class _Tp> class indirect_array
+{
+public:
+ typedef _Tp value_type;
+
+ void operator= (const valarray<_Tp>&) const;
+ void operator*= (const valarray<_Tp>&) const;
+ void operator/= (const valarray<_Tp>&) const;
+ void operator%= (const valarray<_Tp>&) const;
+ void operator+= (const valarray<_Tp>&) const;
+ void operator-= (const valarray<_Tp>&) const;
+ void operator^= (const valarray<_Tp>&) const;
+ void operator&= (const valarray<_Tp>&) const;
+ void operator|= (const valarray<_Tp>&) const;
+ void operator<<= (const valarray<_Tp>&) const;
+ void operator>>= (const valarray<_Tp>&) const;
+ void operator= (const _Tp&);
+
+ template<class _Dom>
+ void operator= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator*= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator/= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator%= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator+= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator-= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator^= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator&= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator|= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator<<= (const _Expr<_Dom, _Tp>&) const;
+ template<class _Dom>
+ void operator>>= (const _Expr<_Dom, _Tp>&) const;
+
+private:
+ indirect_array (const indirect_array&);
+ indirect_array (_Array<_Tp>, size_t, _Array<size_t>);
+
+ friend class valarray<_Tp>;
+ friend class gslice_array<_Tp>;
+
+ const size_t _M_sz;
+ const _Array<size_t> _M_index;
+ const _Array<_Tp> _M_array;
+
+ // not implemented
+ indirect_array ();
+ indirect_array& operator= (const indirect_array&);
+};
+
+template<typename _Tp>
+inline indirect_array<_Tp>::indirect_array(const indirect_array<_Tp>& __a)
+ : _M_sz (__a._M_sz), _M_index (__a._M_index),
+ _M_array (__a._M_array) {}
+
+template<typename _Tp>
+inline
+indirect_array<_Tp>::indirect_array (_Array<_Tp> __a, size_t __s,
+ _Array<size_t> __i)
+ : _M_sz (__s), _M_index (__i), _M_array (__a) {}
+
+
+template<typename _Tp>
+inline void
+indirect_array<_Tp>::operator= (const _Tp& __t)
+{ __valarray_fill(_M_array, _M_index, _M_sz, __t); }
+
+template<typename _Tp>
+inline void
+indirect_array<_Tp>::operator= (const valarray<_Tp>& __v) const
+{ __valarray_copy (_Array<_Tp> (__v), _M_sz, _M_array, _M_index); }
+
+template<typename _Tp>
+template<class _Dom>
+inline void
+indirect_array<_Tp>::operator= (const _Expr<_Dom,_Tp>& __e) const
+{ __valarray_copy (__e, _M_sz, _M_array, _M_index); }
+
+#undef _DEFINE_VALARRAY_OPERATOR
+#define _DEFINE_VALARRAY_OPERATOR(op, name) \
+template<typename _Tp> \
+inline void \
+indirect_array<_Tp>::operator##op##= (const valarray<_Tp>& __v) const \
+{ \
+ _Array_augmented_##name (_M_array, _M_index, _Array<_Tp> (__v), _M_sz); \
+} \
+ \
+template<typename _Tp> template<class _Dom> \
+inline void \
+indirect_array<_Tp>::operator##op##= (const _Expr<_Dom,_Tp>& __e) const \
+{ \
+ _Array_augmented_##name (_M_array, _M_index, __e, _M_sz); \
+}
+
+_DEFINE_VALARRAY_OPERATOR(*, multiplies)
+_DEFINE_VALARRAY_OPERATOR(/, divides)
+_DEFINE_VALARRAY_OPERATOR(%, modulus)
+_DEFINE_VALARRAY_OPERATOR(+, plus)
+_DEFINE_VALARRAY_OPERATOR(-, minus)
+_DEFINE_VALARRAY_OPERATOR(^, xor)
+_DEFINE_VALARRAY_OPERATOR(&, and)
+_DEFINE_VALARRAY_OPERATOR(|, or)
+_DEFINE_VALARRAY_OPERATOR(<<, shift_left)
+_DEFINE_VALARRAY_OPERATOR(>>, shift_right)
+
+#undef _DEFINE_VALARRAY_OPERATOR
+
+} // extern "C++"
+
+#endif // __INDIRECT_ARRAY__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/mask_array.h b/libstdc++/std/mask_array.h
new file mode 100644
index 00000000000..d431be4e97f
--- /dev/null
+++ b/libstdc++/std/mask_array.h
@@ -0,0 +1,154 @@
+// The template and inlines for the -*- C++ -*- mask_array class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __MASK_ARRAY__
+#define __MASK_ARRAY__
+
+extern "C++" {
+
+template <class _T> class mask_array
+{
+public:
+ typedef _T value_type;
+
+ void operator= (const valarray<_T>&) const;
+ void operator*= (const valarray<_T>&) const;
+ void operator/= (const valarray<_T>&) const;
+ void operator%= (const valarray<_T>&) const;
+ void operator+= (const valarray<_T>&) const;
+ void operator-= (const valarray<_T>&) const;
+ void operator^= (const valarray<_T>&) const;
+ void operator&= (const valarray<_T>&) const;
+ void operator|= (const valarray<_T>&) const;
+ void operator<<=(const valarray<_T>&) const;
+ void operator>>=(const valarray<_T>&) const;
+ void operator= (const _T&);
+
+ template<class _Dom>
+ void operator= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator*= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator/= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator%= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator+= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator-= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator^= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator&= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator|= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator<<=(const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator>>=(const _Expr<_Dom,_T>&) const;
+
+private:
+ mask_array (_Array<_T>, size_t, _Array<bool>);
+ friend class valarray<_T>;
+
+ const size_t _M_sz;
+ const _Array<bool> _M_mask;
+ const _Array<_T> _M_array;
+
+ mask_array (const mask_array&);
+
+ // not implemented
+ mask_array ();
+ mask_array& operator= (const mask_array&);
+};
+
+template<typename _Tp>
+inline mask_array<_Tp>::mask_array (const mask_array<_Tp>& a)
+ : _M_sz (a._M_sz), _M_mask (a._M_mask), _M_array (a._M_array) {}
+
+template<typename _T>
+inline
+mask_array<_T>::mask_array (_Array<_T> __a, size_t __s, _Array<bool> __m)
+ : _M_sz (__s), _M_mask (__m), _M_array (__a) {}
+
+template<typename _T>
+inline void
+mask_array<_T>::operator= (const _T& __t)
+{ __valarray_fill (_M_array, _M_sz, _M_mask, __t); }
+
+template<typename _T>
+inline void
+mask_array<_T>::operator= (const valarray<_T>& __v) const
+{ __valarray_copy (_Array<_T> (__v), __v.size (), _M_array, _M_mask); }
+
+template<typename _T>
+template<class E>
+inline void
+mask_array<_T>::operator= (const _Expr<E, _T>& __e) const
+{ __valarray_copy (__e, __e.size (), _M_array, _M_mask); }
+
+#undef _DEFINE_VALARRAY_OPERATOR
+#define _DEFINE_VALARRAY_OPERATOR(op, name) \
+template<typename _T> \
+inline void \
+mask_array<_T>::operator##op##= (const valarray<_T>& __v) const \
+{ \
+ _Array_augmented_##name (_M_array, _M_mask, \
+ _Array<_T> (__v), __v.size ()); \
+} \
+ \
+template<typename _T> template<class E> \
+inline void \
+mask_array<_T>::operator##op##= (const _Expr<E, _T>& __e) const \
+{ \
+ _Array_augmented_##name (_M_array, _M_mask, __e, __e.size ()); \
+}
+
+_DEFINE_VALARRAY_OPERATOR(*, multiplies)
+_DEFINE_VALARRAY_OPERATOR(/, divides)
+_DEFINE_VALARRAY_OPERATOR(%, modulus)
+_DEFINE_VALARRAY_OPERATOR(+, plus)
+_DEFINE_VALARRAY_OPERATOR(-, minus)
+_DEFINE_VALARRAY_OPERATOR(^, xor)
+_DEFINE_VALARRAY_OPERATOR(&, and)
+_DEFINE_VALARRAY_OPERATOR(|, or)
+_DEFINE_VALARRAY_OPERATOR(<<, shift_left)
+_DEFINE_VALARRAY_OPERATOR(>>, shift_right)
+
+#undef _DEFINE_VALARRAY_OPERATOR
+
+} // extern "C++"
+
+#endif // __MASK_ARRAY__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/slice.h b/libstdc++/std/slice.h
new file mode 100644
index 00000000000..cf2fb283de9
--- /dev/null
+++ b/libstdc++/std/slice.h
@@ -0,0 +1,76 @@
+// The template and inlines for the -*- C++ -*- slice class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __SLICE__
+#define __SLICE__
+
+extern "C++" {
+
+class slice
+{
+public:
+ slice ();
+ slice (size_t, size_t, size_t);
+
+ size_t start () const;
+ size_t size () const;
+ size_t stride () const;
+
+private:
+ size_t _M_off; // offset
+ size_t _M_sz; // size
+ size_t _M_st; // stride unit
+};
+
+inline slice::slice () {}
+
+inline slice::slice (size_t __o, size_t __d, size_t __s)
+ : _M_off (__o), _M_sz (__d), _M_st (__s) {}
+
+inline size_t
+slice::start () const
+ { return _M_off; }
+
+inline size_t
+slice::size () const
+ { return _M_sz; }
+
+inline size_t
+slice::stride () const
+ { return _M_st; }
+
+} // extern "C++"
+
+#endif // __SLICE__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/slice_array.h b/libstdc++/std/slice_array.h
new file mode 100644
index 00000000000..dc1aa34d355
--- /dev/null
+++ b/libstdc++/std/slice_array.h
@@ -0,0 +1,156 @@
+// The template and inlines for the -*- C++ -*- slice_array class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __SLICE_ARRAY__
+#define __SLICE_ARRAY__
+
+extern "C++" {
+
+template<typename _T>
+class slice_array
+{
+public:
+ typedef _T value_type;
+
+ void operator= (const valarray<_T>&) const;
+ void operator*= (const valarray<_T>&) const;
+ void operator/= (const valarray<_T>&) const;
+ void operator%= (const valarray<_T>&) const;
+ void operator+= (const valarray<_T>&) const;
+ void operator-= (const valarray<_T>&) const;
+ void operator^= (const valarray<_T>&) const;
+ void operator&= (const valarray<_T>&) const;
+ void operator|= (const valarray<_T>&) const;
+ void operator<<= (const valarray<_T>&) const;
+ void operator>>= (const valarray<_T>&) const;
+ void operator= (const _T &);
+
+ template<class _Dom>
+ void operator= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator*= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator/= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator%= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator+= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator-= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator^= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator&= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator|= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator<<= (const _Expr<_Dom,_T>&) const;
+ template<class _Dom>
+ void operator>>= (const _Expr<_Dom,_T>&) const;
+
+private:
+ friend class valarray<_T>;
+ slice_array(_Array<_T>, const slice&);
+
+ const size_t _M_sz;
+ const size_t _M_stride;
+ const _Array<_T> _M_array;
+
+ // this constructor is implemented since we need to return a value.
+ slice_array (const slice_array&);
+
+ // not implemented
+ slice_array ();
+ slice_array& operator= (const slice_array&);
+};
+
+template<typename _T>
+inline slice_array<_T>::slice_array (_Array<_T> __a, const slice& __s)
+ : _M_sz (__s.size ()), _M_stride (__s.stride ()),
+ _M_array (__a.begin () + __s.start ()) {}
+
+template<typename _Tp>
+inline slice_array<_Tp>::slice_array(const slice_array<_Tp>& a)
+ : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {}
+
+template<typename _T>
+inline void
+slice_array<_T>::operator= (const _T& __t)
+{ __valarray_fill (_M_array, _M_sz, _M_stride, __t); }
+
+template<typename _T>
+inline void
+slice_array<_T>::operator= (const valarray<_T>& __v) const
+{ __valarray_copy (_Array<_T> (__v), _M_array, _M_sz, _M_stride); }
+
+template<typename _T>
+template<class _Dom>
+inline void
+slice_array<_T>::operator= (const _Expr<_Dom,_T>& __e) const
+{ __valarray_copy (__e, _M_sz, _M_array, _M_stride); }
+
+#undef _DEFINE_VALARRAY_OPERATOR
+#define _DEFINE_VALARRAY_OPERATOR(op, name) \
+template<typename _T> \
+inline void \
+slice_array<_T>::operator##op##= (const valarray<_T>& __v) const \
+{ \
+ _Array_augmented_##name (_M_array, _M_sz, _M_stride, _Array<_T> (__v));\
+} \
+ \
+template<typename _T> template<class _Dom> \
+inline void \
+slice_array<_T>::operator##op##= (const _Expr<_Dom,_T>& __e) const \
+{ \
+ _Array_augmented_##name (_M_array, _M_stride, __e, _M_sz); \
+}
+
+
+_DEFINE_VALARRAY_OPERATOR(*, multiplies)
+_DEFINE_VALARRAY_OPERATOR(/, divides)
+_DEFINE_VALARRAY_OPERATOR(%, modulus)
+_DEFINE_VALARRAY_OPERATOR(+, plus)
+_DEFINE_VALARRAY_OPERATOR(-, minus)
+_DEFINE_VALARRAY_OPERATOR(^, xor)
+_DEFINE_VALARRAY_OPERATOR(&, and)
+_DEFINE_VALARRAY_OPERATOR(|, or)
+_DEFINE_VALARRAY_OPERATOR(<<, shift_left)
+_DEFINE_VALARRAY_OPERATOR(>>, shift_right)
+
+#undef _DEFINE_VALARRAY_OPERATOR
+
+} // extern "C++"
+
+#endif // __SLICE_ARRAY__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/std_valarray.h b/libstdc++/std/std_valarray.h
new file mode 100644
index 00000000000..b3006555547
--- /dev/null
+++ b/libstdc++/std/std_valarray.h
@@ -0,0 +1,728 @@
+// The template and inlines for the -*- C++ -*- valarray class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __STD_VALARRAY__
+#define __STD_VALARRAY__
+#define _G_NO_VALARRAY_TEMPLATE_EXPORT 1
+
+#include <cstddef>
+#include <cmath>
+#include <cstdlib>
+#include <numeric>
+#include <functional>
+#include <algorithm>
+
+#ifndef alloca
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#else /* not GNU C. */
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
+#include <alloca.h>
+#else /* not sparc */
+#if defined (MSDOS) && !defined (__TURBOC__)
+#include <malloc.h>
+#else /* not MSDOS, or __TURBOC__ */
+#if defined(_AIX)
+#include <malloc.h>
+ #pragma alloca
+#else /* not MSDOS, __TURBOC__, or _AIX */
+#ifdef __hpux
+#endif /* __hpux */
+#endif /* not _AIX */
+#endif /* not MSDOS, or __TURBOC__ */
+#endif /* not sparc. */
+#endif /* not GNU C. */
+#endif /* alloca not defined. */
+
+extern "C" {
+ void* alloca(size_t);
+}
+
+
+extern "C++" {
+
+template<class _Clos, typename _Tp> class _Expr;
+
+template<typename _Tp1, typename _Tp2> class _ValArray;
+
+template<template<class> class _Oper,
+ template<class, class> class _Meta, class _Dom> struct _UnClos;
+
+template<template<class> class _Oper,
+ template<class, class> class _Meta1,
+ template<class, class> class _Meta2,
+ class _Dom1, class _Dom2> class _BinClos;
+
+template<template<class, class> class _Meta, class _Dom> class _SClos;
+
+template<template<class, class> class _Meta, class _Dom> class _GClos;
+
+template<template<class, class> class _Meta, class _Dom> class _IClos;
+
+template<template<class, class> class _Meta, class _Dom> class _ValFunClos;
+
+template<template<class, class> class _Meta, class _Dom> class _RefFunClos;
+
+template<class _Tp> struct _Unary_plus;
+template<class _Tp> struct _Bitwise_and;
+template<class _Tp> struct _Bitwise_or;
+template<class _Tp> struct _Bitwise_xor;
+template<class _Tp> struct _Bitwise_not;
+template<class _Tp> struct _Shift_left;
+template<class _Tp> struct _Shift_right;
+
+template<class _Tp> class valarray; // An array of type _Tp
+class slice; // BLAS-like slice out of an array
+template<class _Tp> class slice_array;
+class gslice; // generalized slice out of an array
+template<class _Tp> class gslice_array;
+template<class _Tp> class mask_array; // masked array
+template<class _Tp> class indirect_array; // indirected array
+
+} // extern "C++"
+
+#include <std/valarray_array.h>
+#include <std/valarray_meta.h>
+
+extern "C++" {
+
+template<class _Tp> class valarray
+{
+public:
+ typedef _Tp value_type;
+
+ // _lib.valarray.cons_ construct/destroy:
+ valarray();
+ explicit valarray(size_t);
+ valarray(const _Tp&, size_t);
+ valarray(const _Tp* __restrict__, size_t);
+ valarray(const valarray&);
+ valarray(const slice_array<_Tp>&);
+ valarray(const gslice_array<_Tp>&);
+ valarray(const mask_array<_Tp>&);
+ valarray(const indirect_array<_Tp>&);
+ template<class _Dom>
+ valarray(const _Expr<_Dom,_Tp>& __e);
+ ~valarray();
+
+ // _lib.valarray.assign_ assignment:
+ valarray<_Tp>& operator=(const valarray<_Tp>&);
+ valarray<_Tp>& operator=(const _Tp&);
+ valarray<_Tp>& operator=(const slice_array<_Tp>&);
+ valarray<_Tp>& operator=(const gslice_array<_Tp>&);
+ valarray<_Tp>& operator=(const mask_array<_Tp>&);
+ valarray<_Tp>& operator=(const indirect_array<_Tp>&);
+
+ template<class _Dom> valarray<_Tp>&
+ operator= (const _Expr<_Dom,_Tp>&);
+
+ // _lib.valarray.access_ element access:
+ _Tp operator[](size_t) const;
+ _Tp& operator[](size_t);
+ // _lib.valarray.sub_ subset operations:
+ _Expr<_SClos<_ValArray,_Tp>, _Tp> operator[](slice) const;
+ slice_array<_Tp> operator[](slice);
+ _Expr<_GClos<_ValArray,_Tp>, _Tp> operator[](const gslice&) const;
+ gslice_array<_Tp> operator[](const gslice&);
+ valarray<_Tp> operator[](const valarray<bool>&) const;
+ mask_array<_Tp> operator[](const valarray<bool>&);
+ _Expr<_IClos<_ValArray, _Tp>, _Tp>
+ operator[](const valarray<size_t>&) const;
+ indirect_array<_Tp> operator[](const valarray<size_t>&);
+
+ // _lib.valarray.unary_ unary operators:
+ _Expr<_UnClos<_Unary_plus,_ValArray,_Tp>,_Tp> operator+ () const;
+ _Expr<_UnClos<negate,_ValArray,_Tp>,_Tp> operator- () const;
+ _Expr<_UnClos<_Bitwise_not,_ValArray,_Tp>,_Tp> operator~ () const;
+ _Expr<_UnClos<logical_not,_ValArray,_Tp>,bool> operator! () const;
+
+ // _lib.valarray.cassign_ computed assignment:
+ valarray<_Tp>& operator*= (const _Tp&);
+ valarray<_Tp>& operator/= (const _Tp&);
+ valarray<_Tp>& operator%= (const _Tp&);
+ valarray<_Tp>& operator+= (const _Tp&);
+ valarray<_Tp>& operator-= (const _Tp&);
+ valarray<_Tp>& operator^= (const _Tp&);
+ valarray<_Tp>& operator&= (const _Tp&);
+ valarray<_Tp>& operator|= (const _Tp&);
+ valarray<_Tp>& operator<<=(const _Tp&);
+ valarray<_Tp>& operator>>=(const _Tp&);
+ valarray<_Tp>& operator*= (const valarray<_Tp>&);
+ valarray<_Tp>& operator/= (const valarray<_Tp>&);
+ valarray<_Tp>& operator%= (const valarray<_Tp>&);
+ valarray<_Tp>& operator+= (const valarray<_Tp>&);
+ valarray<_Tp>& operator-= (const valarray<_Tp>&);
+ valarray<_Tp>& operator^= (const valarray<_Tp>&);
+ valarray<_Tp>& operator|= (const valarray<_Tp>&);
+ valarray<_Tp>& operator&= (const valarray<_Tp>&);
+ valarray<_Tp>& operator<<=(const valarray<_Tp>&);
+ valarray<_Tp>& operator>>=(const valarray<_Tp>&);
+
+ template<class _Dom>
+ valarray<_Tp>& operator*= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator/= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator%= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator+= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator-= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator^= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator|= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator&= (const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator<<=(const _Expr<_Dom,_Tp>&);
+ template<class _Dom>
+ valarray<_Tp>& operator>>=(const _Expr<_Dom,_Tp>&);
+
+
+ // _lib.valarray.members_ member functions:
+ size_t size() const;
+ _Tp sum() const;
+ _Tp min() const;
+ _Tp max() const;
+
+ // FIXME: Extension
+ _Tp product () const;
+
+ valarray<_Tp> shift (int) const;
+ valarray<_Tp> cshift(int) const;
+ _Expr<_ValFunClos<_ValArray,_Tp>,_Tp> apply(_Tp func(_Tp)) const;
+ _Expr<_RefFunClos<_ValArray,_Tp>,_Tp> apply(_Tp func(const _Tp&)) const;
+ void resize(size_t __size, _Tp __c = _Tp());
+
+private:
+ size_t _M_size;
+ _Tp* __restrict__ _M_data;
+
+ friend class _Array<_Tp>;
+};
+
+
+template<typename _Tp> struct _Unary_plus : unary_function<_Tp,_Tp> {
+ _Tp operator() (const _Tp& __t) const { return __t; }
+};
+
+template<typename _Tp> struct _Bitwise_and : binary_function<_Tp,_Tp,_Tp> {
+ _Tp operator() (_Tp __x, _Tp __y) const { return __x & __y; }
+};
+
+template<typename _Tp> struct _Bitwise_or : binary_function<_Tp,_Tp,_Tp> {
+ _Tp operator() (_Tp __x, _Tp __y) const { return __x | __y; }
+};
+
+template<typename _Tp> struct _Bitwise_xor : binary_function<_Tp,_Tp,_Tp> {
+ _Tp operator() (_Tp __x, _Tp __y) const { return __x ^ __y; }
+};
+
+template<typename _Tp> struct _Bitwise_not : unary_function<_Tp,_Tp> {
+ _Tp operator() (_Tp __t) const { return ~__t; }
+};
+
+template<typename _Tp> struct _Shift_left : unary_function<_Tp,_Tp> {
+ _Tp operator() (_Tp __x, _Tp __y) const { return __x << __y; }
+};
+
+template<typename _Tp> struct _Shift_right : unary_function<_Tp,_Tp> {
+ _Tp operator() (_Tp __x, _Tp __y) const { return __x >> __y; }
+};
+
+
+template<typename _Tp>
+inline _Tp
+valarray<_Tp>::operator[] (size_t __i) const
+{ return _M_data[__i]; }
+
+template<typename _Tp>
+inline _Tp&
+valarray<_Tp>::operator[] (size_t __i)
+{ return _M_data[__i]; }
+
+} // extern "C++"
+
+#include <std/slice.h>
+#include <std/slice_array.h>
+#include <std/gslice.h>
+#include <std/gslice_array.h>
+#include <std/mask_array.h>
+#include <std/indirect_array.h>
+
+extern "C++" {
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray () : _M_size (0), _M_data (0) {}
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (size_t __n)
+ : _M_size (__n), _M_data (new _Tp[__n]) {}
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (const _Tp& __t, size_t __n)
+ : _M_size (__n), _M_data (new _Tp[__n])
+{ __valarray_fill (_M_data, _M_size, __t); }
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (const _Tp* __restrict__ __pT, size_t __n)
+ : _M_size (__n), _M_data (new _Tp[__n])
+{ __valarray_copy (__pT, __n, _M_data); }
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (const valarray<_Tp>& __v)
+ : _M_size (__v._M_size), _M_data (new _Tp[__v._M_size])
+{ __valarray_copy (__v._M_data, _M_size, _M_data); }
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (const slice_array<_Tp>& __sa)
+ : _M_size (__sa._M_sz), _M_data (new _Tp[__sa._M_sz])
+{ __valarray_copy (__sa._M_array, __sa._M_sz, __sa._M_stride,
+ _Array<_Tp>(_M_data)); }
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (const gslice_array<_Tp>& __ga)
+ : _M_size (__ga._M_index.size()), _M_data (new _Tp[_M_size])
+{ __valarray_copy (__ga._M_array, _Array<size_t>(__ga._M_index),
+ _Array<_Tp>(_M_data), _M_size); }
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (const mask_array<_Tp>& __ma)
+ : _M_size (__ma._M_sz), _M_data (new _Tp[__ma._M_sz])
+{ __valarray_copy (__ma._M_array, __ma._M_mask,
+ _Array<_Tp>(_M_data), _M_size); }
+
+template<typename _Tp>
+inline valarray<_Tp>::valarray (const indirect_array<_Tp>& __ia)
+ : _M_size (__ia._M_sz), _M_data (new _Tp[__ia._M_sz])
+{ __valarray_copy (__ia._M_array, __ia._M_index,
+ _Array<_Tp>(_M_data), _M_size); }
+
+template<typename _Tp> template<class _Dom>
+inline valarray<_Tp>::valarray (const _Expr<_Dom, _Tp>& __e)
+ : _M_size (__e.size ()), _M_data (new _Tp[_M_size])
+{ __valarray_copy (__e, _M_size, _Array<_Tp>(_M_data)); }
+
+template<typename _Tp>
+inline valarray<_Tp>::~valarray () { delete[] _M_data; }
+
+template<typename _Tp>
+inline valarray<_Tp>&
+valarray<_Tp>::operator= (const valarray<_Tp>& __v)
+{
+ __valarray_copy(__v._M_data, _M_size, _M_data);
+ return *this;
+}
+
+template<typename _Tp>
+inline valarray<_Tp>&
+valarray<_Tp>::operator= (const _Tp& __t)
+{
+ __valarray_fill (_M_data, _M_size, __t);
+ return *this;
+}
+
+template<typename _Tp>
+inline valarray<_Tp>&
+valarray<_Tp>::operator= (const slice_array<_Tp>& __sa)
+{
+ __valarray_copy (__sa._M_array, __sa._M_sz,
+ __sa._M_stride, _Array<_Tp>(_M_data));
+ return *this;
+}
+
+template<typename _Tp>
+inline valarray<_Tp>&
+valarray<_Tp>::operator= (const gslice_array<_Tp>& __ga)
+{
+ __valarray_copy (__ga._M_array, _Array<size_t>(__ga._M_index),
+ _Array<_Tp>(_M_data), _M_size);
+ return *this;
+}
+
+template<typename _Tp>
+inline valarray<_Tp>&
+valarray<_Tp>::operator= (const mask_array<_Tp>& __ma)
+{
+ __valarray_copy (__ma._M_array, __ma._M_mask,
+ _Array<_Tp>(_M_data), _M_size);
+ return *this;
+}
+
+template<typename _Tp>
+inline valarray<_Tp>&
+valarray<_Tp>::operator= (const indirect_array<_Tp>& __ia)
+{
+ __valarray_copy (__ia._M_array, __ia._M_index,
+ _Array<_Tp>(_M_data), _M_size);
+ return *this;
+}
+
+template<typename _Tp> template<class _Dom>
+inline valarray<_Tp>&
+valarray<_Tp>::operator= (const _Expr<_Dom, _Tp>& __e)
+{
+ __valarray_copy (__e, _M_size, _Array<_Tp>(_M_data));
+ return *this;
+}
+
+template<typename _Tp>
+inline _Expr<_SClos<_ValArray,_Tp>, _Tp>
+valarray<_Tp>::operator[] (slice __s) const
+{
+ typedef _SClos<_ValArray,_Tp> _Closure;
+ return _Expr<_Closure, _Tp> (_Closure (_Array<_Tp>(_M_data), __s));
+}
+
+template<typename _Tp>
+inline slice_array<_Tp>
+valarray<_Tp>::operator[] (slice __s)
+{
+ return slice_array<_Tp> (_Array<_Tp>(_M_data), __s);
+}
+
+template<typename _Tp>
+inline _Expr<_GClos<_ValArray,_Tp>, _Tp>
+valarray<_Tp>::operator[] (const gslice& __gs) const
+{
+ typedef _GClos<_ValArray,_Tp> _Closure;
+ return _Expr<_Closure, _Tp>
+ (_Closure (_Array<_Tp>(_M_data), __gs._M_index->_M_index));
+}
+
+template<typename _Tp>
+inline gslice_array<_Tp>
+valarray<_Tp>::operator[] (const gslice& __gs)
+{
+ return gslice_array<_Tp>
+ (_Array<_Tp>(_M_data), __gs._M_index->_M_index);
+}
+
+template<typename _Tp>
+inline valarray<_Tp>
+valarray<_Tp>::operator[] (const valarray<bool>& __m) const
+{
+ size_t __s (0);
+ size_t __e (__m.size ());
+ for (size_t __i=0; __i<__e; ++__i)
+ if (__m[__i]) ++__s;
+ return valarray<_Tp> (mask_array<_Tp> (_Array<_Tp>(_M_data), __s,
+ _Array<bool> (__m)));
+}
+
+template<typename _Tp>
+inline mask_array<_Tp>
+valarray<_Tp>::operator[] (const valarray<bool>& __m)
+{
+ size_t __s (0);
+ size_t __e (__m.size ());
+ for (size_t __i=0; __i<__e; ++__i)
+ if (__m[__i]) ++__s;
+ return mask_array<_Tp> (_Array<_Tp>(_M_data), __s, _Array<bool> (__m));
+}
+
+template<typename _Tp>
+inline _Expr<_IClos<_ValArray,_Tp>, _Tp>
+valarray<_Tp>::operator[] (const valarray<size_t>& __i) const
+{
+ typedef _IClos<_ValArray,_Tp> _Closure;
+ return _Expr<_Closure, _Tp> (_Closure (*this, __i));
+}
+
+template<typename _Tp>
+inline indirect_array<_Tp>
+valarray<_Tp>::operator[] (const valarray<size_t>& __i)
+{
+ return indirect_array<_Tp> (_Array<_Tp>(_M_data), __i.size(),
+ _Array<size_t> (__i));
+}
+
+template<class _Tp>
+inline size_t valarray<_Tp>::size () const { return _M_size; }
+
+template<class _Tp>
+inline _Tp
+valarray<_Tp>::sum () const
+{
+ return accumulate (_M_data, _M_data + _M_size, _Tp ());
+}
+
+template<typename _Tp>
+inline _Tp
+valarray<_Tp>::product () const
+{
+ return accumulate (_M_data, _M_data+_M_size, _Tp(1), multiplies<_Tp> ());
+}
+
+template <class _Tp>
+inline valarray<_Tp>
+valarray<_Tp>::shift (int __n) const
+{
+ _Tp* const __a = static_cast<_Tp*> (alloca (sizeof(_Tp) * _M_size));
+ if (! __n) // __n == 0: no shift
+ __valarray_copy (_M_data, _M_size, __a);
+ else if (__n > 0) { // __n > 0: shift left
+ if (__n > _M_size)
+ __valarray_fill(__a, __n, _Tp());
+ else {
+ __valarray_copy (_M_data+__n, _M_size-__n, __a);
+ __valarray_fill (__a+_M_size-__n, __n, _Tp());
+ }
+ }
+ else { // __n < 0: shift right
+ __valarray_copy (_M_data, _M_size+__n, __a-__n);
+ __valarray_fill(__a, -__n, _Tp());
+ }
+ return valarray<_Tp> (__a, _M_size);
+}
+
+template <class _Tp>
+inline valarray<_Tp>
+valarray<_Tp>::cshift (int __n) const
+{
+ _Tp* const __a = static_cast<_Tp*> (alloca (sizeof(_Tp) * _M_size));
+ if (! __n) // __n == 0: no cshift
+ __valarray_copy(_M_data, _M_size, __a);
+ else if (__n > 0) { // __n > 0: cshift left
+ __valarray_copy (_M_data, __n, __a + _M_size-__n);
+ __valarray_copy (_M_data + __n, _M_size-__n, __a);
+ }
+ else { // __n < 0: cshift right
+ __valarray_copy (_M_data + _M_size + __n, -__n, __a);
+ __valarray_copy (_M_data, _M_size + __n, __a - __n);
+ }
+ return valarray<_Tp> (__a, _M_size);
+}
+
+template <class _Tp>
+inline void
+valarray<_Tp>::resize (size_t __n, _Tp __c)
+{
+ if (_M_size != __n) {
+ delete[] _M_data;
+ _M_size = __n;
+ _M_data = new _Tp[_M_size];
+ }
+ __valarray_fill (_M_data, _M_size, __c);
+}
+
+template<typename _Tp>
+inline _Tp
+valarray<_Tp>::min() const
+{
+ return *min_element (_M_data, _M_data+_M_size);
+}
+
+template<typename _Tp>
+inline _Tp
+valarray<_Tp>::max() const
+{
+ return *max_element (_M_data, _M_data+_M_size);
+}
+
+template<class _Tp>
+inline _Expr<_ValFunClos<_ValArray,_Tp>,_Tp>
+valarray<_Tp>::apply (_Tp func (_Tp)) const
+{
+ typedef _ValFunClos<_ValArray,_Tp> _Closure;
+ return _Expr<_Closure,_Tp> (_Closure (*this, func));
+}
+
+template<class _Tp>
+inline _Expr<_RefFunClos<_ValArray,_Tp>,_Tp>
+valarray<_Tp>::apply (_Tp func (const _Tp &)) const
+{
+ typedef _RefFunClos<_ValArray,_Tp> _Closure;
+ return _Expr<_Closure,_Tp> (_Closure (*this, func));
+}
+
+#define _DEFINE_VALARRAY_UNARY_OPERATOR(_Op, _Name) \
+ template<typename _Tp> \
+ inline _Expr<_UnClos<_Name,_ValArray,_Tp>, _Tp> \
+ valarray<_Tp>::operator##_Op() const \
+ { \
+ typedef _UnClos<_Name,_ValArray,_Tp> _Closure; \
+ return _Expr<_Closure, _Tp> (_Closure (*this)); \
+ }
+
+ _DEFINE_VALARRAY_UNARY_OPERATOR(+, _Unary_plus)
+ _DEFINE_VALARRAY_UNARY_OPERATOR(-, negate)
+ _DEFINE_VALARRAY_UNARY_OPERATOR(~, _Bitwise_not)
+
+#undef _DEFINE_VALARRAY_UNARY_OPERATOR
+
+ template<typename _Tp>
+ inline _Expr<_UnClos<logical_not,_ValArray,_Tp>, bool>
+ valarray<_Tp>::operator!() const
+ {
+ typedef _UnClos<logical_not,_ValArray,_Tp> _Closure;
+ return _Expr<_Closure, bool> (_Closure (*this));
+ }
+
+#define _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(_Op, _Name) \
+ template<class _Tp> \
+ inline valarray<_Tp> & \
+ valarray<_Tp>::operator##_Op##= (const _Tp &__t) \
+ { \
+ _Array_augmented_##_Name (_Array<_Tp>(_M_data), _M_size, __t); \
+ return *this; \
+ } \
+ \
+ template<class _Tp> \
+ inline valarray<_Tp> & \
+ valarray<_Tp>::operator##_Op##= (const valarray<_Tp> &__v) \
+ { \
+ _Array_augmented_##_Name (_Array<_Tp>(_M_data), _M_size, \
+ _Array<_Tp>(__v._M_data)); \
+ return *this; \
+ }
+
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(+, plus)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(-, minus)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(*, multiplies)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(/, divides)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(%, modulus)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(^, xor)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(&, and)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(|, or)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(<<, shift_left)
+_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(>>, shift_right)
+
+#undef _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT
+
+
+#define _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(_Op, _Name) \
+ template<class _Tp> template<class _Dom> \
+ inline valarray<_Tp> & \
+ valarray<_Tp>::operator##_Op##= (const _Expr<_Dom,_Tp> &__e) \
+ { \
+ _Array_augmented_##_Name (_Array<_Tp>(_M_data), __e, _M_size); \
+ return *this; \
+ }
+
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(+, plus)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(-, minus)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(*, multiplies)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(/, divides)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(%, modulus)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(^, xor)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(&, and)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(|, or)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(<<, shift_left)
+_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(>>, shift_right)
+
+#undef _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT
+
+
+#define _DEFINE_BINARY_OPERATOR(_Op, _Name) \
+ template<typename _Tp> \
+ inline _Expr<_BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp>, _Tp> \
+ operator##_Op (const valarray<_Tp> &__v, const valarray<_Tp> &__w) \
+ { \
+ typedef _BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure, _Tp> (_Closure (__v, __w)); \
+ } \
+ \
+ template<typename _Tp> \
+ inline _Expr<_BinClos<_Name,_ValArray,_Constant,_Tp,_Tp>,_Tp> \
+ operator##_Op (const valarray<_Tp> &__v, const _Tp &__t) \
+ { \
+ typedef _BinClos<_Name,_ValArray,_Constant,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure, _Tp> (_Closure (__v, __t)); \
+ } \
+ \
+ template<typename _Tp> \
+ inline _Expr<_BinClos<_Name,_Constant,_ValArray,_Tp,_Tp>,_Tp> \
+ operator##_Op (const _Tp &__t, const valarray<_Tp> &__v) \
+ { \
+ typedef _BinClos<_Name,_Constant,_ValArray,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure, _Tp> (_Closure (__t, __v)); \
+ }
+
+_DEFINE_BINARY_OPERATOR(+, plus)
+_DEFINE_BINARY_OPERATOR(-, minus)
+_DEFINE_BINARY_OPERATOR(*, multiplies)
+_DEFINE_BINARY_OPERATOR(/, divides)
+_DEFINE_BINARY_OPERATOR(%, modulus)
+_DEFINE_BINARY_OPERATOR(^, _Bitwise_xor)
+_DEFINE_BINARY_OPERATOR(&, _Bitwise_and)
+_DEFINE_BINARY_OPERATOR(|, _Bitwise_or)
+_DEFINE_BINARY_OPERATOR(<<, _Shift_left)
+_DEFINE_BINARY_OPERATOR(>>, _Shift_right)
+
+#undef _DEFINE_BINARY_OPERATOR
+
+#define _DEFINE_LOGICAL_OPERATOR(_Op, _Name) \
+ template<typename _Tp> \
+ inline _Expr<_BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp>,bool> \
+ operator##_Op (const valarray<_Tp> &__v, const valarray<_Tp> &__w) \
+ { \
+ typedef _BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure, bool> (_Closure (__v, __w)); \
+ } \
+ \
+ template<class _Tp> \
+ inline _Expr<_BinClos<_Name,_ValArray,_Constant,_Tp,_Tp>,bool> \
+ operator##_Op (const valarray<_Tp> &__v, const _Tp &__t) \
+ { \
+ typedef _BinClos<_Name,_ValArray,_Constant,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure, bool> (_Closure (__v, __t)); \
+ } \
+ \
+ template<class _Tp> \
+ inline _Expr<_BinClos<_Name,_Constant,_ValArray,_Tp,_Tp>,bool> \
+ operator##_Op (const _Tp &__t, const valarray<_Tp> &__v) \
+ { \
+ typedef _BinClos<_Name,_Constant,_ValArray,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure, bool> (_Closure (__t, __v)); \
+ }
+
+_DEFINE_LOGICAL_OPERATOR(&&, logical_and)
+_DEFINE_LOGICAL_OPERATOR(||, logical_or)
+_DEFINE_LOGICAL_OPERATOR(==, equal_to)
+_DEFINE_LOGICAL_OPERATOR(!=, not_equal_to)
+_DEFINE_LOGICAL_OPERATOR(<, less)
+_DEFINE_LOGICAL_OPERATOR(>, greater)
+_DEFINE_LOGICAL_OPERATOR(<=, less_equal)
+_DEFINE_LOGICAL_OPERATOR(>=, greater_equal)
+
+#undef _DEFINE_VALARRAY_OPERATOR
+
+#undef _G_NO_VALARRAY_TEMPLATE_EXPORT
+
+} // extern "C++"
+
+#endif // __STD_VALARRAY__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/valarray_array.h b/libstdc++/std/valarray_array.h
new file mode 100644
index 00000000000..a0b5818fd8b
--- /dev/null
+++ b/libstdc++/std/valarray_array.h
@@ -0,0 +1,346 @@
+// The template and inlines for the -*- C++ -*- internal _Array helper class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __VALARRAY_ARRAY__
+#define __VALARRAY_ARRAY__
+
+#include <cstdlib>
+#include <cstring>
+
+extern "C++" {
+
+//
+// Helper functions on raw pointers
+//
+
+// fill plain array __a[<__n>] with __t
+template<typename _Tp>
+inline void
+__valarray_fill (_Tp* __restrict__ __a, size_t __n, const _Tp& __t)
+{ while (__n--) *__a++ = __t; }
+
+// fill strided array __a[<__n-1 : __s>] with __t
+template<typename _Tp>
+inline void
+__valarray_fill (_Tp* __restrict__ __a, size_t __n,
+ size_t __s, const _Tp& __t)
+{ for (size_t __i=0; __i<__n; ++__i, __a+=__s) *__a = __t; }
+
+// fill indirect array __a[__i[<__n>]] with __i
+template<typename _Tp>
+inline void
+__valarray_fill(_Tp* __restrict__ __a, const size_t* __restrict__ __i,
+ size_t __n, const _Tp& __t)
+{ for (size_t __j=0; __j<__n; ++__j, ++__i) __a[*__i] = __t; }
+
+// copy plain array __a[<__n>] in __b[<__n>]
+template<typename _Tp>
+inline void
+__valarray_copy (const _Tp* __restrict__ __a, size_t __n,
+ _Tp* __restrict__ __b)
+{ memcpy (__b, __a, __n * sizeof(_Tp)); }
+
+// copy strided array __a[<__n : __s>] in plain __b[<__n>]
+template<typename _Tp>
+inline void
+__valarray_copy (const _Tp* __restrict__ __a, size_t __n, size_t __s,
+ _Tp* __restrict__ __b)
+{ for (size_t __i=0; __i<__n; ++__i, ++__b, __a += __s) *__b = *__a; }
+
+// copy plain __a[<__n>] in strided __b[<__n : __s>]
+template<typename _Tp>
+inline void
+__valarray_copy (const _Tp* __restrict__ __a, _Tp* __restrict__ __b,
+ size_t __n, size_t __s)
+{ for (size_t __i=0; __i<__n; ++__i, ++__a, __b+=__s) *__b = *__a; }
+
+// copy indexed __a[__i[<__n>]] in plain __b[<__n>]
+template<typename _Tp>
+inline void
+__valarray_copy (const _Tp* __restrict__ __a,
+ const size_t* __restrict__ __i,
+ _Tp* __restrict__ __b, size_t __n)
+{ for (size_t __j=0; __j<__n; ++__j, ++__b, ++__i) *__b = __a[*__i]; }
+
+// copy plain __a[<__n>] in indexed __b[__i[<__n>]]
+template<typename _Tp>
+inline void
+__valarray_copy (const _Tp* __restrict__ __a, size_t __n,
+ _Tp* __restrict__ __b, const size_t* __restrict__ __i)
+{ for (size_t __j=0; __j<__n; ++__j, ++__a, ++__i) __b[*__i] = *__a; }
+
+//
+// Helper class _Array, first layer of valarray abstraction.
+// All operations on valarray should be forwarded to this class
+// whenever possible. -- gdr
+//
+
+template<typename _Tp> struct _Array {
+
+ explicit _Array (size_t);
+ explicit _Array (_Tp* const __restrict__);
+ explicit _Array (const valarray<_Tp>&);
+ _Array (const _Tp* __restrict__, size_t);
+
+ void free_data() const;
+ _Tp* begin () const;
+
+ _Tp* const __restrict__ _M_data;
+};
+
+template<typename _Tp>
+inline void
+__valarray_fill (_Array<_Tp> __a, size_t __n, const _Tp& __t)
+{ __valarray_fill (__a._M_data, __n, __t); }
+
+template<typename _Tp>
+inline void
+__valarray_fill (_Array<_Tp> __a, size_t __n, size_t __s, const _Tp& __t)
+{ __valarray_fill (__a._M_data, __n, __s, __t); }
+
+template<typename _Tp>
+inline void
+__valarray_fill (_Array<_Tp> __a, _Array<size_t> __i,
+ size_t __n, const _Tp& __t)
+{ __valarray_fill (__a._M_data, __i._M_data, __n, __t); }
+
+template<typename _Tp>
+inline void
+__valarray_copy (_Array<_Tp> __a, size_t __n, _Array<_Tp> __b)
+{ __valarray_copy (__a._M_data, __n, __b._M_data); }
+
+template<typename _Tp>
+inline void
+__valarray_copy (_Array<_Tp> __a, size_t __n, size_t __s, _Array<_Tp> __b)
+{ __valarray_copy(__a._M_data, __n, __s, __b._M_data); }
+
+template<typename _Tp>
+inline void
+__valarray_copy (_Array<_Tp> __a, _Array<_Tp> __b, size_t __n, size_t __s)
+{ __valarray_copy (__a._M_data, __b._M_data, __n, __s); }
+
+template<typename _Tp>
+inline void
+__valarray_copy (_Array<_Tp> __a, _Array<size_t> __i,
+ _Array<_Tp> __b, size_t __n)
+{ __valarray_copy (__a._M_data, __i._M_data, __b._M_data, __n); }
+
+template<typename _Tp>
+inline void
+__valarray_copy (_Array<_Tp> __a, size_t __n, _Array<_Tp> __b,
+ _Array<size_t> __i)
+{ __valarray_copy (__a._M_data, __n, __b._M_data, __i._M_data); }
+
+template<typename _Tp>
+inline
+_Array<_Tp>::_Array (size_t __n) : _M_data (new _Tp[__n]) {}
+
+template<typename _Tp>
+inline
+_Array<_Tp>::_Array (_Tp* const __restrict__ __p) : _M_data (__p) {}
+
+template<typename _Tp>
+inline _Array<_Tp>::_Array (const valarray<_Tp>& __v)
+ : _M_data (__v._M_data) {}
+
+template<typename _Tp>
+inline
+_Array<_Tp>::_Array (const _Tp* __restrict__ __b, size_t __s)
+ : _M_data (new _Tp[__s]) { __valarray_copy (__b, __s, _M_data); }
+
+template<typename _Tp>
+inline void
+_Array<_Tp>::free_data() const { delete[] _M_data; }
+
+template<typename _Tp>
+inline _Tp*
+_Array<_Tp>::begin () const
+{ return _M_data; }
+
+#define _DEFINE_ARRAY_FUNCTION(_Op, _Name) \
+template<typename _Tp> \
+inline void \
+_Array_augmented_##_Name (_Array<_Tp> __a, size_t __n, const _Tp& __t) \
+{ \
+ for (_Tp* __p=__a._M_data; __p<__a._M_data+__n; ++__p) \
+ *__p _Op##= __t; \
+} \
+ \
+template<typename _Tp> \
+inline void \
+_Array_augmented_##_Name (_Array<_Tp> __a, size_t __n, _Array<_Tp> __b) \
+{ \
+ _Tp* __p (__a._M_data); \
+ for (_Tp* __q=__b._M_data; __q<__b._M_data+__n; ++__p, ++__q) \
+ *__p _Op##= *__q; \
+} \
+ \
+template<typename _Tp, class _Dom> \
+void \
+_Array_augmented_##_Name (_Array<_Tp> __a, \
+ const _Expr<_Dom,_Tp>& __e, size_t __n) \
+{ \
+ _Tp* __p (__a._M_data); \
+ for (size_t __i=0; __i<__n; ++__i, ++__p) *__p _Op##= __e[__i]; \
+} \
+ \
+template<typename _Tp> \
+inline void \
+_Array_augmented_##_Name (_Array<_Tp> __a, size_t __n, size_t __s, \
+ _Array<_Tp> __b) \
+{ \
+ _Tp* __q (__b._M_data); \
+ for (_Tp* __p=__a._M_data; __p<__a._M_data+__s*__n; __p+=__s, ++__q) \
+ *__p _Op##= *__q; \
+} \
+ \
+template<typename _Tp> \
+inline void \
+_Array_augmented_##_Name (_Array<_Tp> __a, _Array<_Tp> __b, \
+ size_t __n, size_t __s) \
+{ \
+ _Tp* __q (__b._M_data); \
+ for (_Tp* __p=__a._M_data; __p<__a._M_data+__n; ++__p, __q+=__s) \
+ *__p _Op##= *__q; \
+} \
+ \
+template<typename _Tp, class _Dom> \
+void \
+_Array_augmented_##_Name (_Array<_Tp> __a, size_t __s, \
+ const _Expr<_Dom,_Tp>& __e, size_t __n) \
+{ \
+ _Tp* __p (__a._M_data); \
+ for (size_t __i=0; __i<__n; ++__i, __p+=__s) *__p _Op##= __e[__i]; \
+} \
+ \
+template<typename _Tp> \
+inline void \
+_Array_augmented_##_Name (_Array<_Tp> __a, _Array<size_t> __i, \
+ _Array<_Tp> __b, size_t __n) \
+{ \
+ _Tp* __q (__b._M_data); \
+ for (size_t* __j=__i._M_data; __j<__i._M_data+__n; ++__j, ++__q) \
+ __a._M_data[*__j] _Op##= *__q; \
+} \
+ \
+template<typename _Tp> \
+inline void \
+_Array_augmented_##_Name (_Array<_Tp> __a, size_t __n, \
+ _Array<_Tp> __b, _Array<size_t> __i) \
+{ \
+ _Tp* __p (__a._M_data); \
+ for (size_t* __j=__i._M_data; __j<__i._M_data+__n; ++__j, ++__p) \
+ *__p _Op##= __b._M_data[*__j]; \
+} \
+ \
+template<typename _Tp, class _Dom> \
+void \
+_Array_augmented_##_Name (_Array<_Tp> __a, _Array<size_t> __i, \
+ const _Expr<_Dom, _Tp>& __e, size_t __n) \
+{ \
+ size_t* __j (__i._M_data); \
+ for (size_t __k=0; __k<__n; ++__k, ++__j) \
+ __a._M_data[*__j] _Op##= __e[__k]; \
+} \
+ \
+template<typename _Tp> \
+void \
+_Array_augmented_##_Name (_Array<_Tp> __a, _Array<bool> __m, \
+ _Array<_Tp> __b, size_t __n) \
+{ \
+ bool* ok (__m._M_data); \
+ _Tp* __p (__a._M_data); \
+ for (_Tp* __q=__b._M_data; __q<__b._M_data+__n; ++__q, ++ok, ++__p) { \
+ while (! *ok) { \
+ ++ok; \
+ ++__p; \
+ } \
+ *__p _Op##= *__q; \
+ } \
+} \
+ \
+template<typename _Tp> \
+void \
+_Array_augmented_##_Name (_Array<_Tp> __a, size_t __n, \
+ _Array<_Tp> __b, _Array<bool> __m) \
+{ \
+ bool* ok (__m._M_data); \
+ _Tp* __q (__b._M_data); \
+ for (_Tp* __p=__a._M_data; __p<__a._M_data+__n; ++__p, ++ok, ++__q) { \
+ while (! *ok) { \
+ ++ok; \
+ ++__q; \
+ } \
+ *__p _Op##= *__q; \
+ } \
+} \
+ \
+template<typename _Tp, class _Dom> \
+void \
+_Array_augmented_##_Name (_Array<_Tp> __a, _Array<bool> __m, \
+ const _Expr<_Dom, _Tp>& __e, size_t __n) \
+{ \
+ bool* ok(__m._M_data); \
+ _Tp* __p (__a._M_data); \
+ for (size_t __i=0; __i<__n; ++__i, ++ok, ++__p) { \
+ while (! *ok) { \
+ ++ok; \
+ ++__p; \
+ } \
+ *__p _Op##= __e[__i]; \
+ } \
+}
+
+_DEFINE_ARRAY_FUNCTION(+, plus)
+_DEFINE_ARRAY_FUNCTION(-, minus)
+_DEFINE_ARRAY_FUNCTION(*, multiplies)
+_DEFINE_ARRAY_FUNCTION(/, divides)
+_DEFINE_ARRAY_FUNCTION(%, modulus)
+_DEFINE_ARRAY_FUNCTION(^, xor)
+_DEFINE_ARRAY_FUNCTION(|, or)
+_DEFINE_ARRAY_FUNCTION(&, and)
+_DEFINE_ARRAY_FUNCTION(<<, shift_left)
+_DEFINE_ARRAY_FUNCTION(>>, shift_right)
+
+#undef _DEFINE_ARRAY_FUNCTION
+
+} // extern "C++"
+
+#ifdef _G_NO_VALARRAY_TEMPLATE_EXPORT
+# define export
+# include <std/valarray_array.tcc>
+#endif
+
+#endif // __VALARRAY_ARRAY__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/valarray_array.tcc b/libstdc++/std/valarray_array.tcc
new file mode 100644
index 00000000000..bd6692571fd
--- /dev/null
+++ b/libstdc++/std/valarray_array.tcc
@@ -0,0 +1,130 @@
+// The template and inlines for the -*- C++ -*- internal _Array helper class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+
+#ifndef __VALARRAY_ARRAY_TCC__
+#define __VALARRAY_ARRAY_TCC__
+
+extern "C++" {
+
+export template<typename _Tp>
+void
+__valarray_fill (_Array<_Tp> __a, size_t __n, _Array<bool> __m, const _Tp& __t)
+{
+ _Tp* __p = __a._M_data;
+ bool* __ok (__m._M_data);
+ for (size_t __i=0; __i<__n; ++__i, ++__ok, ++__p) {
+ while (! *__ok) {
+ ++__ok;
+ ++__p;
+ }
+ *__p = __t;
+ }
+}
+
+export template<typename _Tp>
+void
+__valarray_copy (_Array<_Tp> __a, _Array<bool> __m, _Array<_Tp> __b, size_t __n)
+{
+ _Tp* __p (__a._M_data);
+ bool* __ok (__m._M_data);
+ for (_Tp* __q=__b._M_data; __q<__b._M_data+__n; ++__q, ++__ok, ++__p) {
+ while (! *__ok) {
+ ++__ok;
+ ++__p;
+ }
+ *__q = *__p;
+ }
+}
+
+export template<typename _Tp>
+void
+__valarray_copy (_Array<_Tp> __a, size_t __n, _Array<_Tp> __b, _Array<bool> __m)
+{
+ _Tp* __q (__b._M_data);
+ bool* __ok (__m._M_data);
+ for (_Tp* __p=__a._M_data; __p<__a._M_data+__n; ++__p, ++__ok, ++__q) {
+ while (! *__ok) {
+ ++__ok;
+ ++__q;
+ }
+ *__q = *__p;
+ }
+}
+
+export template<typename _Tp, class _Dom>
+void
+__valarray_copy (const _Expr<_Dom, _Tp>& __e, size_t __n, _Array<_Tp> __a)
+{
+ _Tp* __p (__a._M_data);
+ for (size_t __i=0; __i<__n; ++__i, ++__p) *__p = __e[__i];
+}
+
+export template<typename _Tp, class _Dom>
+void
+__valarray_copy (const _Expr<_Dom, _Tp>& __e, size_t __n,
+ _Array<_Tp> __a, size_t __s)
+{
+ _Tp* __p (__a._M_data);
+ for (size_t __i=0; __i<__n; ++__i, __p+=__s) *__p = __e[__i];
+}
+
+export template<typename _Tp, class _Dom>
+void
+__valarray_copy (const _Expr<_Dom, _Tp>& __e, size_t __n,
+ _Array<_Tp> __a, _Array<size_t> __i)
+{
+ size_t* __j (__i._M_data);
+ for (size_t __k=0; __k<__n; ++__k, ++__j) __a._M_data[*__j] = __e[__k];
+}
+
+export template<typename _Tp, class _Dom>
+void
+__valarray_copy (const _Expr<_Dom, _Tp>& __e, size_t __n,
+ _Array<_Tp> __a, _Array<bool> __m)
+{
+ bool* __ok (__m._M_data);
+ _Tp* __p (__a._M_data);
+ for (size_t __i=0; __i<__n; ++__i, ++__ok, ++__p) {
+ while (! *__ok) {
+ ++__ok;
+ ++__p;
+ }
+ *__p = __e[__i];
+ }
+}
+
+} // extern "C++"
+
+#endif // __VALARRAY_ARRAY_TCC__
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/std/valarray_meta.h b/libstdc++/std/valarray_meta.h
new file mode 100644
index 00000000000..48fb21371f7
--- /dev/null
+++ b/libstdc++/std/valarray_meta.h
@@ -0,0 +1,1046 @@
+// The template and inlines for the -*- C++ -*- internal _Meta class.
+
+// Copyright (C) 1997-1999 Cygnus Solutions
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
+
+#ifndef _CPP_VALARRAY_META_H
+#define _CPP_VALARRAY_META_H 1
+
+//
+// Implementing a loosened valarray return value is tricky.
+// First we need to meet 26.3.1/3: we should not add more than
+// two levels of template nesting. Therefore we resort to template
+// template to "flatten" loosened return value types.
+// At some point we use partial specialization to remove one level
+// template nesting due to _Expr<>
+//
+
+
+// This class is NOT defined. It doesn't need to.
+template<typename _Tp1, typename _Tp2> class _Constant;
+
+//
+// Unary function application closure.
+//
+template<class _Dom> class _UnFunBase {
+public:
+ typedef typename _Dom::value_type value_type;
+ typedef value_type _Vt;
+
+ _UnFunBase (const _Dom& __e, _Vt __f(_Vt))
+ : _M_expr(__e), _M_func(__f) {}
+
+ _Vt operator[] (size_t __i) const { return _M_func(_M_expr[__i]); }
+ size_t size () const { return _M_expr.size(); }
+
+private:
+ const _Dom& _M_expr;
+ _Vt (*_M_func)(_Vt);
+};
+
+template<template<class, class> class _Meta, class _Dom> class _UnFunClos;
+
+template<class _Dom>
+struct _UnFunClos<_Expr,_Dom> : _UnFunBase<_Dom> {
+ typedef _UnFunBase<_Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _UnFunClos (const _Dom& __e, value_type __f(value_type))
+ : _Base (__e, __f) {}
+};
+
+template<typename _Tp>
+struct _UnFunClos<_ValArray,_Tp> : _UnFunBase<valarray<_Tp> > {
+ typedef _UnFunBase<valarray<_Tp> > _Base;
+ typedef typename _Base::value_type value_type;
+
+ _UnFunClos (const valarray<_Tp>& __v, _Tp __f(_Tp))
+ : _Base (__v, __f) {}
+};
+
+//
+// Binary function application closure.
+//
+template<template<class, class> class _Meta1,
+ template<class, class> class Meta2,
+ class _Dom1, class _Dom2> class _BinFunClos;
+
+template<class _Dom1, class _Dom2> class _BinFunBase {
+public:
+ typedef typename _Dom1::value_type value_type;
+ typedef value_type _Vt;
+
+ _BinFunBase (const _Dom1& __e1, const _Dom2& __e2,
+ _Vt __f (_Vt, _Vt))
+ : _M_expr1 (__e1), _M_expr2 (__e2), _M_func (__f) {}
+
+ value_type operator[] (size_t __i) const
+ { return _M_func (_M_expr1[__i], _M_expr2[__i]); }
+ size_t size () const { return _M_expr1.size (); }
+
+private:
+ const _Dom1& _M_expr1;
+ const _Dom2& _M_expr2;
+ _Vt (*_M_func)(_Vt, _Vt);
+};
+
+template<class _Dom> class _BinFunBase1 {
+public:
+ typedef typename _Dom::value_type value_type ;
+ typedef value_type _Vt;
+
+ _BinFunBase1 (const _Vt& __c, const _Dom& __e, _Vt __f(_Vt, _Vt))
+ : _M_expr1 (__c), _M_expr2 (__e), _M_func (__f) {}
+
+ value_type operator[] (size_t __i) const
+ { return _M_func (_M_expr1, _M_expr2[__i]); }
+ size_t size () const { return _M_expr2.size (); }
+
+private:
+ const _Vt& _M_expr1;
+ const _Dom& _M_expr2;
+ _Vt (*_M_func)(_Vt, _Vt);
+};
+
+template<class _Dom> class _BinFunBase2 {
+public:
+ typedef typename _Dom::value_type value_type;
+ typedef value_type _Vt;
+
+ _BinFunBase2 (const _Dom& __e, const _Vt& __c, _Vt __f(_Vt, _Vt))
+ : _M_expr1 (__e), _M_expr2 (__c), _M_func (__f) {}
+
+ value_type operator[] (size_t __i) const
+ { return _M_func (_M_expr1[__i], _M_expr2); }
+ size_t size () const { return _M_expr1.size (); }
+
+private:
+ const _Dom& _M_expr1;
+ const _Vt& _M_expr2;
+ _Vt (*_M_func)(_Vt, _Vt);
+};
+
+template<class _Dom1, class _Dom2>
+struct _BinFunClos<_Expr,_Expr,_Dom1,_Dom2> : _BinFunBase<_Dom1,_Dom2> {
+ typedef _BinFunBase<_Dom1,_Dom2> _Base;
+ typedef typename _Base::value_type value_type;
+ typedef value_type _Tp;
+
+ _BinFunClos (const _Dom1& __e1, const _Dom2& __e2,
+ _Tp __f(_Tp, _Tp))
+ : _Base (__e1, __e2, __f) {}
+};
+
+template<typename _Tp>
+struct _BinFunClos<_ValArray,_ValArray,_Tp,_Tp>
+ : _BinFunBase<valarray<_Tp>, valarray<_Tp> > {
+ typedef _BinFunBase<valarray<_Tp>, valarray<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _BinFunClos (const valarray<_Tp>& __v, const valarray<_Tp>& __w,
+ _Tp __f(_Tp, _Tp))
+ : _Base (__v, __w, __f) {}
+};
+
+template<class _Dom>
+struct _BinFunClos<_Expr,_ValArray,_Dom,typename _Dom::value_type>
+ : _BinFunBase<_Dom,valarray<typename _Dom::value_type> > {
+ typedef typename _Dom::value_type _Tp;
+ typedef _BinFunBase<_Dom,valarray<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _BinFunClos (const _Dom& __e, const valarray<_Tp>& __v,
+ _Tp __f(_Tp, _Tp))
+ : _Base (__e, __v, __f) {}
+};
+
+template<class _Dom>
+struct _BinFunClos<_ValArray,_Expr,typename _Dom::value_type,_Dom>
+ : _BinFunBase<valarray<typename _Dom::value_type>,_Dom> {
+ typedef typename _Dom::value_type _Tp;
+ typedef _BinFunBase<_Dom,valarray<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _BinFunClos (const valarray<_Tp>& __v, const _Dom& __e,
+ _Tp __f(_Tp, _Tp))
+ : _Base (__v, __e, __f) {}
+};
+
+template<class _Dom>
+struct _BinFunClos<_Expr,_Constant,_Dom,typename _Dom::value_type>
+ : _BinFunBase2<_Dom> {
+ typedef typename _Dom::value_type _Tp;
+ typedef _Tp value_type;
+ typedef _BinFunBase2<_Dom> _Base;
+
+ _BinFunClos (const _Dom& __e, const _Tp& __t, _Tp __f (_Tp, _Tp))
+ : _Base (__e, __t, __f) {}
+};
+
+template<class _Dom>
+struct _BinFunClos<_Constant,_Expr,_Dom,typename _Dom::value_type>
+ : _BinFunBase1<_Dom> {
+ typedef typename _Dom::value_type _Tp;
+ typedef _Tp value_type;
+ typedef _BinFunBase1<_Dom> _Base;
+
+ _BinFunClos (const _Tp& __t, const _Dom& __e, _Tp __f (_Tp, _Tp))
+ : _Base (__t, __e, __f) {}
+};
+
+template<typename _Tp>
+struct _BinFunClos<_ValArray,_Constant,_Tp,_Tp>
+ : _BinFunBase2<valarray<_Tp> > {
+ typedef _BinFunBase2<valarray<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _BinFunClos (const valarray<_Tp>& __v, const _Tp& __t,
+ _Tp __f(_Tp, _Tp))
+ : _Base (__v, __t, __f) {}
+};
+
+template<typename _Tp>
+struct _BinFunClos<_Constant,_ValArray,_Tp,_Tp>
+ : _BinFunBase1<valarray<_Tp> > {
+ typedef _BinFunBase1<valarray<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _BinFunClos (const _Tp& __t, const valarray<_Tp>& __v,
+ _Tp __f (_Tp, _Tp))
+ : _Base (__t, __v, __f) {}
+};
+
+//
+// Apply function taking a value/const reference closure
+//
+
+template<typename _Dom, typename _Arg> class _FunBase {
+public:
+ typedef typename _Dom::value_type value_type;
+
+ _FunBase (const _Dom& __e, value_type __f(_Arg))
+ : _M_expr (__e), _M_func (__f) {}
+
+ value_type operator[] (size_t __i) const
+ { return _M_func (_M_expr[__i]); }
+ size_t size() const { return _M_expr.size ();}
+
+private:
+ const _Dom& _M_expr;
+ value_type (*_M_func)(_Arg);
+};
+
+template<class _Dom>
+struct _ValFunClos<_Expr,_Dom>
+ : _FunBase<_Dom, typename _Dom::value_type> {
+ typedef _FunBase<_Dom, typename _Dom::value_type> _Base;
+ typedef typename _Base::value_type value_type;
+ typedef value_type _Tp;
+
+ _ValFunClos (const _Dom& __e, _Tp __f (_Tp)) : _Base (__e, __f) {}
+};
+
+template<typename _Tp>
+struct _ValFunClos<_ValArray,_Tp>
+ : _FunBase<valarray<_Tp>, _Tp> {
+ typedef _FunBase<valarray<_Tp>, _Tp> _Base;
+ typedef _Tp value_type;
+
+ _ValFunClos (const valarray<_Tp>& __v, _Tp __f(_Tp))
+ : _Base (__v, __f) {}
+};
+
+template<class _Dom>
+struct _RefFunClos<_Expr,_Dom> :
+ _FunBase<_Dom, const typename _Dom::value_type&> {
+ typedef _FunBase<_Dom, const typename _Dom::value_type&> _Base;
+ typedef typename _Base::value_type value_type;
+ typedef value_type _Tp;
+
+ _RefFunClos (const _Dom& __e, _Tp __f (const _Tp&))
+ : _Base (__e, __f) {}
+};
+
+template<typename _Tp>
+struct _RefFunClos<_ValArray,_Tp>
+ : _FunBase<valarray<_Tp>, const _Tp&> {
+ typedef _FunBase<valarray<_Tp>, const _Tp&> _Base;
+ typedef _Tp value_type;
+
+ _RefFunClos (const valarray<_Tp>& __v, _Tp __f(const _Tp&))
+ : _Base (__v, __f) {}
+};
+
+//
+// Unary expression closure.
+//
+
+template<template<class> class _Oper, typename _Arg>
+class _UnBase {
+public:
+ typedef _Oper<typename _Arg::value_type> _Op;
+ typedef typename _Op::result_type value_type;
+
+ _UnBase (const _Arg& __e) : _M_expr(__e) {}
+ value_type operator[] (size_t) const;
+ size_t size () const { return _M_expr.size (); }
+
+private:
+ const _Arg& _M_expr;
+};
+
+template<template<class> class _Oper, typename _Arg>
+inline typename _UnBase<_Oper, _Arg>::value_type
+_UnBase<_Oper, _Arg>::operator[] (size_t __i) const
+{ return _Op() (_M_expr[__i]); }
+
+template<template<class> class _Oper, class _Dom>
+struct _UnClos<_Oper, _Expr, _Dom> : _UnBase<_Oper, _Dom> {
+ typedef _Dom _Arg;
+ typedef _UnBase<_Oper, _Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _UnClos (const _Arg& __e) : _Base(__e) {}
+};
+
+template<template<class> class _Oper, typename _Tp>
+struct _UnClos<_Oper, _ValArray, _Tp> : _UnBase<_Oper, valarray<_Tp> > {
+ typedef valarray<_Tp> _Arg;
+ typedef _UnBase<_Oper, valarray<_Tp> > _Base;
+ typedef typename _Base::value_type value_type;
+
+ _UnClos (const _Arg& __e) : _Base(__e) {}
+};
+
+
+//
+// Binary expression closure.
+//
+
+template<template<class> class _Oper, typename _FirstArg, typename _SecondArg>
+class _BinBase {
+public:
+ typedef _Oper<typename _FirstArg::value_type> _Op;
+ typedef typename _Op::result_type value_type;
+
+ _BinBase (const _FirstArg& __e1, const _SecondArg& __e2)
+ : _M_expr1 (__e1), _M_expr2 (__e2) {}
+ value_type operator[] (size_t) const;
+ size_t size () const { return _M_expr1.size (); }
+
+private:
+ const _FirstArg& _M_expr1;
+ const _SecondArg& _M_expr2;
+};
+
+template<template<class> class _Oper, typename _FirstArg, typename _SecondArg>
+inline typename _BinBase<_Oper,_FirstArg,_SecondArg>::value_type
+_BinBase<_Oper,_FirstArg,_SecondArg>::operator[] (size_t __i) const
+{ return _Op() (_M_expr1[__i], _M_expr2[__i]); }
+
+
+template<template<class> class _Oper, class _Clos>
+class _BinBase2 {
+public:
+ typedef typename _Clos::value_type _Vt;
+ typedef _Oper<_Vt> _Op;
+ typedef typename _Op::result_type value_type;
+
+ _BinBase2 (const _Clos& __e, const _Vt& __t)
+ : _M_expr1 (__e), _M_expr2 (__t) {}
+ value_type operator[] (size_t) const;
+ size_t size () const { return _M_expr1.size (); }
+
+private:
+ const _Clos& _M_expr1;
+ const _Vt& _M_expr2;
+};
+
+template<template<class> class _Oper, class _Clos>
+inline typename _BinBase2<_Oper,_Clos>::value_type
+_BinBase2<_Oper,_Clos>::operator[] (size_t __i) const
+{ return _Op() (_M_expr1[__i], _M_expr2); }
+
+
+template<template<class> class _Oper, class _Clos>
+class _BinBase1 {
+public:
+ typedef typename _Clos::value_type _Vt;
+ typedef _Oper<_Vt> _Op;
+ typedef typename _Op::result_type value_type;
+
+ _BinBase1 (const _Vt& __t, const _Clos& __e)
+ : _M_expr1 (__t), _M_expr2 (__e) {}
+ value_type operator[] (size_t) const;
+ size_t size () const { return _M_expr2.size (); }
+
+private:
+ const _Vt& _M_expr1;
+ const _Clos& _M_expr2;
+};
+
+template<template<class> class _Oper, class _Clos>
+inline typename
+_BinBase1<_Oper,_Clos>::value_type
+_BinBase1<_Oper,_Clos>:: operator[] (size_t __i) const
+{ return _Op() (_M_expr1, _M_expr2[__i]); }
+
+
+template<template<class> class _Oper, class _Dom1, class _Dom2>
+struct _BinClos<_Oper, _Expr, _Expr, _Dom1, _Dom2>
+ : _BinBase<_Oper,_Dom1,_Dom2> {
+ typedef _BinBase<_Oper,_Dom1,_Dom2> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _BinClos(const _Dom1& __e1, const _Dom2& __e2) : _Base(__e1, __e2) {}
+};
+
+template<template<class> class _Oper, typename _Tp>
+struct _BinClos<_Oper,_ValArray,_ValArray,_Tp,_Tp>
+ : _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > {
+ typedef _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _BinClos (const valarray<_Tp>& __v, const valarray<_Tp>& __w)
+ : _Base (__v, __w) {}
+};
+
+template<template<class> class _Oper, class _Dom>
+struct _BinClos<_Oper,_Expr,_ValArray,_Dom,typename _Dom::value_type>
+ : _BinBase<_Oper,_Dom,valarray<typename _Dom::value_type> > {
+ typedef typename _Dom::value_type _Tp;
+ typedef _BinBase<_Oper,_Dom,valarray<_Tp> > _Base;
+ typedef typename _Base::value_type value_type;
+
+ _BinClos(const _Dom& __e1, const valarray<_Tp>& __e2)
+ : _Base (__e1, __e2) {}
+};
+
+template<template<class> class _Oper, class _Dom>
+struct _BinClos<_Oper,_ValArray,_Expr,typename _Dom::value_type,_Dom>
+ : _BinBase<_Oper,valarray<typename _Dom::value_type>,_Dom> {
+ typedef typename _Dom::value_type _Tp;
+ typedef _BinBase<_Oper,valarray<_Tp>,_Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _BinClos (const valarray<_Tp>& __e1, const _Dom& __e2)
+ : _Base (__e1, __e2) {}
+};
+
+template<template<class> class _Oper, class _Dom>
+struct _BinClos<_Oper,_Expr,_Constant,_Dom,typename _Dom::value_type>
+ : _BinBase2<_Oper,_Dom> {
+ typedef typename _Dom::value_type _Tp;
+ typedef _BinBase2<_Oper,_Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _BinClos (const _Dom& __e1, const _Tp& __e2) : _Base (__e1, __e2) {}
+};
+
+template<template<class> class _Oper, class _Dom>
+struct _BinClos<_Oper,_Constant,_Expr,typename _Dom::value_type,_Dom>
+ : _BinBase1<_Oper,_Dom> {
+ typedef typename _Dom::value_type _Tp;
+ typedef _BinBase1<_Oper,_Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _BinClos (const _Tp& __e1, const _Dom& __e2) : _Base (__e1, __e2) {}
+};
+
+template<template<class> class _Oper, typename _Tp>
+struct _BinClos<_Oper,_ValArray,_Constant,_Tp,_Tp>
+ : _BinBase2<_Oper,valarray<_Tp> > {
+ typedef _BinBase2<_Oper,valarray<_Tp> > _Base;
+ typedef typename _Base::value_type value_type;
+
+ _BinClos (const valarray<_Tp>& __v, const _Tp& __t)
+ : _Base (__v, __t) {}
+};
+
+template<template<class> class _Oper, typename _Tp>
+struct _BinClos<_Oper,_Constant,_ValArray,_Tp,_Tp>
+ : _BinBase1<_Oper,valarray<_Tp> > {
+ typedef _BinBase1<_Oper,valarray<_Tp> > _Base;
+ typedef typename _Base::value_type value_type;
+
+ _BinClos (const _Tp& __t, const valarray<_Tp>& __v)
+ : _Base (__t, __v) {}
+};
+
+
+//
+// slice_array closure.
+//
+template<typename _Dom> class _SBase {
+public:
+ typedef typename _Dom::value_type value_type;
+
+ _SBase (const _Dom& __e, const slice& __s)
+ : _M_expr (__e), _M_slice (__s) {}
+ value_type operator[] (size_t __i) const
+ { return _M_expr[_M_slice.start () + __i * _M_slice.stride ()]; }
+ size_t size() const { return _M_slice.size (); }
+
+private:
+ const _Dom& _M_expr;
+ const slice& _M_slice;
+};
+
+template<typename _Tp> class _SBase<_Array<_Tp> > {
+public:
+ typedef _Tp value_type;
+
+ _SBase (_Array<_Tp> __a, const slice& __s)
+ : _M_array (__a._M_data+__s.start()), _M_size (__s.size()),
+ _M_stride (__s.stride()) {}
+ value_type operator[] (size_t __i) const
+ { return _M_array._M_data[__i * _M_stride]; }
+ size_t size() const { return _M_size; }
+
+private:
+ const _Array<_Tp> _M_array;
+ const size_t _M_size;
+ const size_t _M_stride;
+};
+
+template<class _Dom> struct _SClos<_Expr,_Dom> : _SBase<_Dom> {
+ typedef _SBase<_Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _SClos (const _Dom& __e, const slice& __s) : _Base (__e, __s) {}
+};
+
+template<typename _Tp>
+struct _SClos<_ValArray,_Tp> : _SBase<_Array<_Tp> > {
+ typedef _SBase<_Array<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _SClos (_Array<_Tp> __a, const slice& __s) : _Base (__a, __s) {}
+};
+
+//
+// gslice_array closure.
+//
+template<class _Dom> class _GBase {
+public:
+ typedef typename _Dom::value_type value_type;
+
+ _GBase (const _Dom& __e, const valarray<size_t>& __i)
+ : _M_expr (__e), _M_index(__i) {}
+ value_type operator[] (size_t __i) const
+ { return _M_expr[_M_index[__i]]; }
+ size_t size () const { return _M_index.size(); }
+
+private:
+ const _Dom& _M_expr;
+ const valarray<size_t>& _M_index;
+};
+
+template<typename _Tp> class _GBase<_Array<_Tp> > {
+public:
+ typedef _Tp value_type;
+
+ _GBase (_Array<_Tp> __a, const valarray<size_t>& __i)
+ : _M_array (__a), _M_index(__i) {}
+ value_type operator[] (size_t __i) const
+ { return _M_array._M_data[_M_index[__i]]; }
+ size_t size () const { return _M_index.size(); }
+
+private:
+ const _Array<_Tp> _M_array;
+ const valarray<size_t>& _M_index;
+};
+
+template<class _Dom> struct _GClos<_Expr,_Dom> : _GBase<_Dom> {
+ typedef _GBase<_Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _GClos (const _Dom& __e, const valarray<size_t>& __i)
+ : _Base (__e, __i) {}
+};
+
+template<typename _Tp>
+struct _GClos<_ValArray,_Tp> : _GBase<_Array<_Tp> > {
+ typedef _GBase<_Array<_Tp> > _Base;
+ typedef typename _Base::value_type value_type;
+
+ _GClos (_Array<_Tp> __a, const valarray<size_t>& __i)
+ : _Base (__a, __i) {}
+};
+
+//
+// indirect_array closure
+//
+
+template<class _Dom> class _IBase {
+public:
+ typedef typename _Dom::value_type value_type;
+
+ _IBase (const _Dom& __e, const valarray<size_t>& __i)
+ : _M_expr (__e), _M_index (__i) {}
+ value_type operator[] (size_t __i) const
+ { return _M_expr[_M_index[__i]]; }
+ size_t size() const { return _M_index.size(); }
+
+private:
+ const _Dom& _M_expr;
+ const valarray<size_t>& _M_index;
+};
+
+template<class _Dom> struct _IClos<_Expr,_Dom> : _IBase<_Dom> {
+ typedef _IBase<_Dom> _Base;
+ typedef typename _Base::value_type value_type;
+
+ _IClos (const _Dom& __e, const valarray<size_t>& __i)
+ : _Base (__e, __i) {}
+};
+
+template<typename _Tp>
+struct _IClos<_ValArray,_Tp> : _IBase<valarray<_Tp> > {
+ typedef _IBase<valarray<_Tp> > _Base;
+ typedef _Tp value_type;
+
+ _IClos (const valarray<_Tp>& __a, const valarray<size_t>& __i)
+ : _Base (__a, __i) {}
+};
+
+//
+// class _Expr
+//
+template<class _Clos, typename _Tp> class _Expr {
+public:
+ typedef _Tp value_type;
+
+ _Expr (const _Clos&);
+
+ const _Clos& operator() () const;
+
+ value_type operator[] (size_t) const;
+ valarray<value_type> operator[] (slice) const;
+ valarray<value_type> operator[] (const gslice&) const;
+ valarray<value_type> operator[] (const valarray<bool>&) const;
+ valarray<value_type> operator[] (const valarray<size_t>&) const;
+
+ _Expr<_UnClos<_Unary_plus,_Expr,_Clos>, value_type>
+ operator+ () const;
+
+ _Expr<_UnClos<negate,_Expr,_Clos>, value_type>
+ operator- () const;
+
+ _Expr<_UnClos<_Bitwise_not,_Expr,_Clos>, value_type>
+ operator~ () const;
+
+ _Expr<_UnClos<logical_not,_Expr,_Clos>, bool>
+ operator! () const;
+
+ size_t size () const;
+ value_type sum () const;
+
+ valarray<value_type> shift (int) const;
+ valarray<value_type> cshift (int) const;
+// _Meta<_ApplyFunctionWithValue<_Expr>, value_type>
+// apply (value_type _M_func (value_type)) const;
+// _Meta<_ApplyFunctionWithConstRef<_Expr>, value_type>
+// apply (value_type _M_func (const value_type&)) const;
+
+private:
+ const _Clos _M_closure;
+};
+
+template<class _Clos, typename _Tp>
+inline
+_Expr<_Clos,_Tp>::_Expr (const _Clos& __c) : _M_closure(__c) {}
+
+template<class _Clos, typename _Tp>
+inline const _Clos&
+_Expr<_Clos,_Tp>::operator() () const
+{ return _M_closure; }
+
+template<class _Clos, typename _Tp>
+inline _Tp
+_Expr<_Clos,_Tp>::operator[] (size_t __i) const
+{ return _M_closure[__i]; }
+
+template<class _Clos, typename _Tp>
+inline valarray<_Tp>
+_Expr<_Clos,_Tp>::operator[] (slice __s) const
+{ return _M_closure[__s]; }
+
+template<class _Clos, typename _Tp>
+inline valarray<_Tp>
+_Expr<_Clos,_Tp>::operator[] (const gslice& __gs) const
+{ return _M_closure[__gs]; }
+
+template<class _Clos, typename _Tp>
+inline valarray<_Tp>
+_Expr<_Clos,_Tp>::operator[] (const valarray<bool>& __m) const
+{ return _M_closure[__m]; }
+
+template<class _Clos, typename _Tp>
+inline valarray<_Tp>
+_Expr<_Clos,_Tp>::operator[] (const valarray<size_t>& __i) const
+{ return _M_closure[__i]; }
+
+template<class _Clos, typename _Tp>
+inline size_t
+_Expr<_Clos,_Tp>::size () const { return _M_closure.size (); }
+
+// XXX: replace this with a more robust summation algorithm.
+template<class _Clos, typename _Tp>
+inline _Tp
+_Expr<_Clos,_Tp>::sum () const
+{
+ _Tp __s(_Tp());
+ size_t __n (_M_closure.size ());
+ for (size_t __i=0; __i<__n; ++__i) __s += _M_closure[__i];
+ return __s;
+}
+
+template<class _Dom, typename _Tp>
+inline _Tp
+min (const _Expr<_Dom,_Tp>& __e)
+{
+ size_t __s (__e.size ());
+ _Tp __m (__e[0]);
+ for (size_t __i=1; __i<__s; ++__i)
+ if (__m > __e[__i]) __m = __e[__i];
+ return __m;
+}
+
+template<class _Dom, typename _Tp>
+inline _Tp
+max (const _Expr<_Dom,_Tp>& __e)
+{
+ size_t __s (__e.size());
+ _Tp __m (__e[0]);
+ for (size_t __i=1; __i<__s; ++__i)
+ if (__m < __e[__i]) __m = __e[__i];
+ return __m;
+}
+
+template<class _Dom, typename _Tp>
+inline _Expr<_UnClos<logical_not,_Expr,_Dom>, bool>
+_Expr<_Dom,_Tp>::operator! () const
+{
+ typedef _UnClos<logical_not,_Expr,_Dom> _Closure;
+ return _Expr<_Closure,_Tp> (_Closure(this->_M_closure));
+}
+
+#define _DEFINE_EXPR_UNARY_OPERATOR(_Op, _Name) \
+template<class _Dom, typename _Tp> \
+inline _Expr<_UnClos<_Name,_Expr,_Dom>,_Tp> \
+_Expr<_Dom,_Tp>::operator##_Op () const \
+{ \
+ typedef _UnClos<_Name,_Expr,_Dom> _Closure; \
+ return _Expr<_Closure,_Tp> (_Closure (this->_M_closure)); \
+}
+
+ _DEFINE_EXPR_UNARY_OPERATOR(+, _Unary_plus)
+ _DEFINE_EXPR_UNARY_OPERATOR(-, negate)
+ _DEFINE_EXPR_UNARY_OPERATOR(~, _Bitwise_not)
+
+#undef _DEFINE_EXPR_UNARY_OPERATOR
+
+
+#define _DEFINE_EXPR_BINARY_OPERATOR(_Op, _Name) \
+template<class _Dom1, class _Dom2> \
+inline _Expr<_BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2>, \
+ typename _Name<typename _Dom1::value_type>::result_type> \
+operator##_Op (const _Expr<_Dom1,typename _Dom1::value_type>& __v, \
+ const _Expr<_Dom2,typename _Dom2::value_type>& __w) \
+{ \
+ typedef typename _Dom1::value_type _Arg; \
+ typedef typename _Name<_Arg>::result_type _Value; \
+ typedef _BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2> _Closure; \
+ return _Expr<_Closure,_Value> (_Closure (__v (), __w ())); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_Expr,_Constant,_Dom,typename _Dom::value_type>, \
+ typename _Name<typename _Dom::value_type>::result_type> \
+operator##_Op (const _Expr<_Dom,typename _Dom::value_type>& __v, \
+ const typename _Dom::value_type& __t) \
+{ \
+ typedef typename _Dom::value_type _Arg; \
+ typedef typename _Name<_Arg>::result_type _Value; \
+ typedef _BinClos<_Name,_Expr,_Constant,_Dom,_Arg> _Closure; \
+ return _Expr<_Closure,_Value> (_Closure (__v (), __t)); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_Constant,_Expr,typename _Dom::value_type,_Dom>, \
+ typename _Name<typename _Dom::value_type>::result_type> \
+operator##_Op (const typename _Dom::value_type& __t, \
+ const _Expr<_Dom,typename _Dom::value_type>& __v) \
+{ \
+ typedef typename _Dom::value_type _Arg; \
+ typedef typename _Name<_Arg>::result_type _Value; \
+ typedef _BinClos<_Name,_Constant,_Expr,_Arg,_Dom> _Closure; \
+ return _Expr<_Closure,_Value> (_Closure (__t, __v ())); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_Expr,_ValArray,_Dom,typename _Dom::value_type>, \
+ typename _Name<typename _Dom::value_type>::result_type> \
+operator##_Op (const _Expr<_Dom,typename _Dom::value_type>& __e, \
+ const valarray<typename _Dom::value_type>& __v) \
+{ \
+ typedef typename _Dom::value_type _Arg; \
+ typedef typename _Name<_Arg>::result_type _Value; \
+ typedef _BinClos<_Name,_Expr,_ValArray,_Dom,_Arg> _Closure; \
+ return _Expr<_Closure,_Value> (_Closure (__e (), __v)); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_ValArray,_Expr,typename _Dom::value_type,_Dom>, \
+ typename _Name<typename _Dom::value_type>::result_type> \
+operator##_Op (const valarray<typename _Dom::value_type>& __v, \
+ const _Expr<_Dom,typename _Dom::value_type>& __e) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef typename _Name<_Tp>::result_type _Value; \
+ typedef _BinClos<_Name,_ValArray,_Expr,_Tp,_Dom> _Closure; \
+ return _Expr<_Closure,_Value> (_Closure (__v, __e ())); \
+}
+
+ _DEFINE_EXPR_BINARY_OPERATOR(+, plus)
+ _DEFINE_EXPR_BINARY_OPERATOR(-, minus)
+ _DEFINE_EXPR_BINARY_OPERATOR(*, multiplies)
+ _DEFINE_EXPR_BINARY_OPERATOR(/, divides)
+ _DEFINE_EXPR_BINARY_OPERATOR(%, modulus)
+ _DEFINE_EXPR_BINARY_OPERATOR(^, _Bitwise_xor)
+ _DEFINE_EXPR_BINARY_OPERATOR(&, _Bitwise_and)
+ _DEFINE_EXPR_BINARY_OPERATOR(|, _Bitwise_or)
+ _DEFINE_EXPR_BINARY_OPERATOR(<<, _Shift_left)
+ _DEFINE_EXPR_BINARY_OPERATOR(>>, _Shift_right)
+
+#undef _DEFINE_EXPR_BINARY_OPERATOR
+
+#define _DEFINE_EXPR_RELATIONAL_OPERATOR(_Op, _Name) \
+template<class _Dom1, class _Dom2> \
+inline _Expr<_BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2>, bool> \
+operator##_Op (const _Expr<_Dom1,typename _Dom1::value_type>& __v, \
+ const _Expr<_Dom2,typename _Dom2::value_type>& __w) \
+{ \
+ typedef typename _Dom1::value_type _Arg; \
+ typedef _BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2> _Closure; \
+ return _Expr<_Closure,bool> (_Closure (__v (), __w ())); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_Expr,_Constant,_Dom,typename _Dom::value_type>, \
+ bool> \
+operator##_Op (const _Expr<_Dom,typename _Dom::value_type>& __v, \
+ const typename _Dom::value_type& __t) \
+{ \
+ typedef typename _Dom::value_type _Arg; \
+ typedef _BinClos<_Name,_Expr,_Constant,_Dom,_Arg> _Closure; \
+ return _Expr<_Closure,bool> (_Closure (__v (), __t)); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_Constant,_Expr,typename _Dom::value_type,_Dom>, \
+ bool> \
+operator##_Op (const typename _Dom::value_type& __t, \
+ const _Expr<_Dom,typename _Dom::value_type>& __v) \
+{ \
+ typedef typename _Dom::value_type _Arg; \
+ typedef _BinClos<_Name,_Constant,_Expr,_Arg,_Dom> _Closure; \
+ return _Expr<_Closure,bool> (_Closure (__t, __v ())); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_Expr,_ValArray,_Dom,typename _Dom::value_type>, \
+ bool> \
+operator##_Op (const _Expr<_Dom,typename _Dom::value_type>& __e, \
+ const valarray<typename _Dom::value_type>& __v) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef _BinClos<_Name,_Expr,_ValArray,_Dom,_Tp> _Closure; \
+ return _Expr<_Closure,bool> (_Closure (__e (), __v)); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinClos<_Name,_ValArray,_Expr,typename _Dom::value_type,_Dom>, \
+ bool> \
+operator##_Op (const valarray<typename _Dom::value_type>& __v, \
+ const _Expr<_Dom,typename _Dom::value_type>& __e) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef _BinClos<_Name,_ValArray,_Expr,_Tp,_Dom> _Closure; \
+ return _Expr<_Closure,bool> (_Closure (__v, __e ())); \
+}
+
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(&&, logical_and)
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(||, logical_or)
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(==, equal_to)
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(!=, not_equal_to)
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(<, less)
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(>, greater)
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(<=, less_equal)
+ _DEFINE_EXPR_RELATIONAL_OPERATOR(>=, greater_equal)
+
+#undef _DEFINE_EXPR_RELATIONAL_OPERATOR
+
+
+
+#define _DEFINE_EXPR_UNARY_FUNCTION(_Name) \
+template<class _Dom> \
+inline _Expr<_UnFunClos<_Expr,_Dom>,typename _Dom::value_type> \
+_Name(const _Expr<_Dom,typename _Dom::value_type>& __e) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef _UnFunClos<_Expr,_Dom> _Closure; \
+ return _Expr<_Closure,_Tp>(_Closure(__e(), (_Tp(*)(_Tp))(&_Name))); \
+} \
+ \
+template<typename _Tp> \
+inline _Expr<_UnFunClos<_ValArray,_Tp>,_Tp> \
+_Name(const valarray<_Tp>& __v) \
+{ \
+ typedef _UnFunClos<_ValArray,_Tp> _Closure; \
+ return _Expr<_Closure,_Tp> (_Closure (__v, (_Tp(*)(_Tp))(&_Name))); \
+}
+
+
+ _DEFINE_EXPR_UNARY_FUNCTION(abs)
+ _DEFINE_EXPR_UNARY_FUNCTION(cos)
+ _DEFINE_EXPR_UNARY_FUNCTION(acos)
+ _DEFINE_EXPR_UNARY_FUNCTION(cosh)
+ _DEFINE_EXPR_UNARY_FUNCTION(sin)
+ _DEFINE_EXPR_UNARY_FUNCTION(asin)
+ _DEFINE_EXPR_UNARY_FUNCTION(sinh)
+ _DEFINE_EXPR_UNARY_FUNCTION(tan)
+ _DEFINE_EXPR_UNARY_FUNCTION(tanh)
+ _DEFINE_EXPR_UNARY_FUNCTION(atan)
+ _DEFINE_EXPR_UNARY_FUNCTION(exp)
+ _DEFINE_EXPR_UNARY_FUNCTION(log)
+ _DEFINE_EXPR_UNARY_FUNCTION(log10)
+ _DEFINE_EXPR_UNARY_FUNCTION(sqrt)
+
+#undef _DEFINE_EXPR_UNARY_FUNCTION
+
+
+#define _DEFINE_EXPR_BINARY_FUNCTION(_Name) \
+template<class _Dom1, class _Dom2> \
+inline _Expr<_BinFunClos<_Expr,_Expr,_Dom1,_Dom2>,typename _Dom1::value_type>\
+_Name (const _Expr<_Dom1,typename _Dom1::value_type>& __e1, \
+ const _Expr<_Dom2,typename _Dom2::value_type>& __e2) \
+{ \
+ typedef typename _Dom1::value_type _Tp; \
+ typedef _BinFunClos<_Expr,_Expr,_Dom1,_Dom2> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__e1 (), __e2 (), (_Tp(*)(_Tp, _Tp))(&_Name))); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinFunClos<_Expr,_ValArray,_Dom,typename _Dom::value_type>, \
+ typename _Dom::value_type> \
+_Name (const _Expr<_Dom,typename _Dom::value_type>& __e, \
+ const valarray<typename _Dom::value_type>& __v) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef _BinFunClos<_Expr,_ValArray,_Dom,_Tp> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__e (), __v, (_Tp(*)(_Tp, _Tp))(&_Name))); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinFunClos<_ValArray,_Expr,typename _Dom::value_type,_Dom>, \
+ typename _Dom::value_type> \
+_Name (const valarray<typename _Dom::valarray>& __v, \
+ const _Expr<_Dom,typename _Dom::value_type>& __e) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef _BinFunClos<_ValArray,_Expr,_Tp,_Dom> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__v, __e (), (_Tp(*)(_Tp, _Tp))(&_Name))); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinFunClos<_Expr,_Constant,_Dom,typename _Dom::value_type>, \
+ typename _Dom::value_type> \
+_Name (const _Expr<_Dom, typename _Dom::value_type>& __e, \
+ const typename _Dom::value_type& __t) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef _BinFunClos<_Expr,_Constant,_Dom,_Tp> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__e (), __t, (_Tp(*)(_Tp, _Tp))(&_Name))); \
+} \
+ \
+template<class _Dom> \
+inline _Expr<_BinFunClos<_Constant,_Expr,typename _Dom::value_type,_Dom>, \
+ typename _Dom::value_type> \
+_Name (const typename _Dom::value_type& __t, \
+ const _Expr<_Dom,typename _Dom::value_type>& __e) \
+{ \
+ typedef typename _Dom::value_type _Tp; \
+ typedef _BinFunClos<_Constant,_Expr,_Tp,_Dom> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__t, __e (), (_Tp(*)(_Tp, _Tp))(&_Name))); \
+} \
+ \
+template<typename _Tp> \
+inline _Expr<_BinFunClos<_ValArray,_ValArray,_Tp,_Tp>, _Tp> \
+_Name (const valarray<_Tp>& __v, const valarray<_Tp>& __w) \
+{ \
+ typedef _BinFunClos<_ValArray,_ValArray,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__v, __w, (_Tp(*)(_Tp,_Tp))(&_Name))); \
+} \
+ \
+template<typename _Tp> \
+inline _Expr<_BinFunClos<_ValArray,_Constant,_Tp,_Tp>,_Tp> \
+_Name (const valarray<_Tp>& __v, const _Tp& __t) \
+{ \
+ typedef _BinFunClos<_ValArray,_Constant,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__v, __t, (_Tp(*)(_Tp,_Tp))(&_Name))); \
+} \
+ \
+template<typename _Tp> \
+inline _Expr<_BinFunClos<_Constant,_ValArray,_Tp,_Tp>,_Tp> \
+_Name (const _Tp& __t, const valarray<_Tp>& __v) \
+{ \
+ typedef _BinFunClos<_Constant,_ValArray,_Tp,_Tp> _Closure; \
+ return _Expr<_Closure,_Tp> \
+ (_Closure (__t, __v, (_Tp(*)(_Tp,_Tp))(&_Name))); \
+}
+
+_DEFINE_EXPR_BINARY_FUNCTION(atan2)
+_DEFINE_EXPR_BINARY_FUNCTION(pow)
+
+#undef _DEFINE_EXPR_BINARY_FUNCTION
+
+#endif // _CPP_VALARRAY_META_H
+
+// Local Variables:
+// mode:c++
+// End:
diff --git a/libstdc++/stdexcepti.cc b/libstdc++/stdexcepti.cc
index 3b03acd63f4..9c02c71f497 100644
--- a/libstdc++/stdexcepti.cc
+++ b/libstdc++/stdexcepti.cc
@@ -12,10 +12,10 @@
void
__out_of_range (const char *s)
{
- throw out_of_range (s);
+ throw std::out_of_range (s);
}
void __length_error (const char *s)
{
- throw length_error (s);
+ throw std::length_error (s);
}
diff --git a/libstdc++/stl/ChangeLog b/libstdc++/stl/ChangeLog
index f23f4fb1937..785fb587e82 100644
--- a/libstdc++/stl/ChangeLog
+++ b/libstdc++/stl/ChangeLog
@@ -1,3 +1,45 @@
+1999-11-06 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * bitset (class bitset): Declare reference as our friend.
+ * bitset: Include limits.h.
+
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Sun Aug 8 21:06:16 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * pthread_alloc: Solaris' ctype.h defines _U to 01; use _Up as
+ template parameter instead.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+1999-07-11 Martin v. Löwis (loewis@informatik.hu-berlin.de)
+
+ * stl_function.h (bind1st, bind2nd): Rename __opr to __oper,
+ as __opr is used internally by egcs.
+ * stl_numeric.h (__power, power): Likewise.
+
+1999-06-18 Martin von Löwis <loewis@informatik.hu-berlin.de>
+
+ * stl_queue.h: Rename _M_c to c, and _M_comp to comp.
+
+1999-06-17 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * stl_algo.h (transform): Rename __opr to __oper, as __opr is used
+ internally by egcs.
+ Reported by Harri Porten <porten@tu-harburg.de>
+
1999-05-17 Mark Kettenis <kettenis@gnu.org>
* stl_config.h: Only define __STL_PTHREADS with GLIBC >= 2 for
diff --git a/libstdc++/stl/bitset b/libstdc++/stl/bitset
index e26845ed045..8b4f8b1a0f8 100644
--- a/libstdc++/stl/bitset
+++ b/libstdc++/stl/bitset
@@ -36,6 +36,7 @@
#include <stddef.h> // for size_t
+#include <limits.h> // for CHAR_BIT
#include <string>
#include <stdexcept> // for invalid_argument, out_of_range, overflow_error
#include <iostream.h> // for istream, ostream
@@ -568,6 +569,8 @@ private:
public:
// bit reference:
+ class reference;
+ friend class reference;
class reference {
friend class bitset;
diff --git a/libstdc++/stl/pthread_alloc b/libstdc++/stl/pthread_alloc
index 887d8e8a154..1852908095b 100644
--- a/libstdc++/stl/pthread_alloc
+++ b/libstdc++/stl/pthread_alloc
@@ -376,13 +376,13 @@ public:
typedef const _Tp& const_reference;
typedef _Tp value_type;
- template <class _U> struct rebind {
- typedef pthread_allocator<_U> other;
+ template <class _Up> struct rebind {
+ typedef pthread_allocator<_Up> other;
};
pthread_allocator() __STL_NOTHROW {}
pthread_allocator(const pthread_allocator& a) __STL_NOTHROW {}
- template <class _U> pthread_allocator(const pthread_allocator<_U>&)
+ template <class _Up> pthread_allocator(const pthread_allocator<_Up>&)
__STL_NOTHROW {}
~pthread_allocator() __STL_NOTHROW {}
@@ -416,8 +416,8 @@ public:
typedef const void* const_pointer;
typedef void value_type;
- template <class _U> struct rebind {
- typedef pthread_allocator<_U> other;
+ template <class _Up> struct rebind {
+ typedef pthread_allocator<_Up> other;
};
};
@@ -451,16 +451,16 @@ struct _Alloc_traits<_Tp, _Pthread_alloc_template<_Max_size> >
allocator_type;
};
-template <class _Tp, class _U, size_t _Max>
-struct _Alloc_traits<_Tp, __allocator<_U, _Pthread_alloc_template<_Max> > >
+template <class _Tp, class _Up, size_t _Max>
+struct _Alloc_traits<_Tp, __allocator<_Up, _Pthread_alloc_template<_Max> > >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, _Pthread_alloc_template<_Max> > _Alloc_type;
typedef __allocator<_Tp, _Pthread_alloc_template<_Max> > allocator_type;
};
-template <class _Tp, class _U>
-struct _Alloc_traits<_Tp, pthread_allocator<_U> >
+template <class _Tp, class _Up>
+struct _Alloc_traits<_Tp, pthread_allocator<_Up> >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, _Pthread_alloc_template<> > _Alloc_type;
diff --git a/libstdc++/stl/stl_algo.h b/libstdc++/stl/stl_algo.h
index 57607ba5d49..e9beaee15f1 100644
--- a/libstdc++/stl/stl_algo.h
+++ b/libstdc++/stl/stl_algo.h
@@ -446,9 +446,9 @@ _ForwardIter2 swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1,
template <class _InputIter, class _OutputIter, class _UnaryOperation>
_OutputIter transform(_InputIter __first, _InputIter __last,
- _OutputIter __result, _UnaryOperation __opr) {
+ _OutputIter __result, _UnaryOperation __oper) {
for ( ; __first != __last; ++__first, ++__result)
- *__result = __opr(*__first);
+ *__result = __oper(*__first);
return __result;
}
diff --git a/libstdc++/stl/stl_deque.h b/libstdc++/stl/stl_deque.h
index 48a4c76d55a..24a8bfb1bc8 100644
--- a/libstdc++/stl/stl_deque.h
+++ b/libstdc++/stl/stl_deque.h
@@ -342,7 +342,7 @@ public:
_Base;
typedef typename _Base::allocator_type allocator_type;
typedef _Deque_iterator<_Tp,_Tp&,_Tp*,__bufsiz> iterator;
- typedef _Deque_iterator<_Tp,const _Tp&,const _Tp&, __bufsiz> const_iterator;
+ typedef _Deque_iterator<_Tp,const _Tp&,const _Tp*, __bufsiz> const_iterator;
_Deque_base(const allocator_type& __a, size_t __num_elements)
: _Base(__a), _M_start(), _M_finish()
@@ -815,7 +815,7 @@ public: // Erase
iterator __next = __pos;
++__next;
difference_type __index = __pos - _M_start;
- if (__index < (size() >> 1)) {
+ if (static_cast<size_type>(__index) < (size() >> 1)) {
copy_backward(_M_start, __pos, __next);
pop_front();
}
@@ -1048,7 +1048,7 @@ deque<_Tp,_Alloc,__bufsize>::erase(iterator __first, iterator __last)
else {
difference_type __n = __last - __first;
difference_type __elems_before = __first - _M_start;
- if (__elems_before < (size() - __n) / 2) {
+ if (static_cast<size_type>(__elems_before) < (size() - __n) / 2) {
copy_backward(_M_start, __first, __last);
iterator __new_start = _M_start + __n;
destroy(_M_start, __new_start);
@@ -1282,7 +1282,7 @@ deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
{
difference_type __index = __pos - _M_start;
value_type __x_copy = __x;
- if (__index < size() / 2) {
+ if (static_cast<size_type>(__index) < size() / 2) {
push_front(front());
iterator __front1 = _M_start;
++__front1;
@@ -1311,7 +1311,7 @@ typename deque<_Tp,_Alloc,__bufsize>::iterator
deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos)
{
difference_type __index = __pos - _M_start;
- if (__index < size() / 2) {
+ if (static_cast<size_type>(__index) < size() / 2) {
push_front(front());
iterator __front1 = _M_start;
++__front1;
@@ -1344,7 +1344,7 @@ deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
const difference_type __elems_before = __pos - _M_start;
size_type __length = size();
value_type __x_copy = __x;
- if (__elems_before < __length / 2) {
+ if (static_cast<size_type>(__elems_before) < __length / 2) {
iterator __new_start = _M_reserve_elements_at_front(__n);
iterator __old_start = _M_start;
__pos = _M_start + __elems_before;
@@ -1403,7 +1403,7 @@ deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
{
const difference_type __elemsbefore = __pos - _M_start;
size_type __length = size();
- if (__elemsbefore < __length / 2) {
+ if (static_cast<size_type>(__elemsbefore) < __length / 2) {
iterator __new_start = _M_reserve_elements_at_front(__n);
iterator __old_start = _M_start;
__pos = _M_start + __elemsbefore;
diff --git a/libstdc++/stl/stl_function.h b/libstdc++/stl/stl_function.h
index cd07c1c6730..a5a8486576e 100644
--- a/libstdc++/stl/stl_function.h
+++ b/libstdc++/stl/stl_function.h
@@ -202,10 +202,10 @@ public:
template <class _Operation, class _Tp>
inline binder1st<_Operation>
-bind1st(const _Operation& __opr, const _Tp& __x)
+bind1st(const _Operation& __oper, const _Tp& __x)
{
typedef typename _Operation::first_argument_type _Arg1_type;
- return binder1st<_Operation>(__opr, _Arg1_type(__x));
+ return binder1st<_Operation>(__oper, _Arg1_type(__x));
}
template <class _Operation>
@@ -227,10 +227,10 @@ public:
template <class _Operation, class _Tp>
inline binder2nd<_Operation>
-bind2nd(const _Operation& __opr, const _Tp& __x)
+bind2nd(const _Operation& __oper, const _Tp& __x)
{
typedef typename _Operation::second_argument_type _Arg2_type;
- return binder2nd<_Operation>(__opr, _Arg2_type(__x));
+ return binder2nd<_Operation>(__oper, _Arg2_type(__x));
}
// unary_compose and binary_compose (extensions, not part of the standard).
diff --git a/libstdc++/stl/stl_numeric.h b/libstdc++/stl/stl_numeric.h
index da7865498ca..392515a3d87 100644
--- a/libstdc++/stl/stl_numeric.h
+++ b/libstdc++/stl/stl_numeric.h
@@ -177,22 +177,22 @@ adjacent_difference(_InputIterator __first, _InputIterator __last,
template <class _Tp, class _Integer, class _MonoidOperation>
-_Tp __power(_Tp __x, _Integer __n, _MonoidOperation __opr)
+_Tp __power(_Tp __x, _Integer __n, _MonoidOperation __oper)
{
if (__n == 0)
- return identity_element(__opr);
+ return identity_element(__oper);
else {
while ((__n & 1) == 0) {
__n >>= 1;
- __x = __opr(__x, __x);
+ __x = __oper(__x, __x);
}
_Tp __result = __x;
__n >>= 1;
while (__n != 0) {
- __x = __opr(__x, __x);
+ __x = __oper(__x, __x);
if ((__n & 1) != 0)
- __result = __opr(__result, __x);
+ __result = __oper(__result, __x);
__n >>= 1;
}
return __result;
@@ -209,9 +209,9 @@ inline _Tp __power(_Tp __x, _Integer __n)
// not part of the C++ standard.
template <class _Tp, class _Integer, class _MonoidOperation>
-inline _Tp power(_Tp __x, _Integer __n, _MonoidOperation __opr)
+inline _Tp power(_Tp __x, _Integer __n, _MonoidOperation __oper)
{
- return __power(__x, __n, __opr);
+ return __power(__x, __n, __oper);
}
template <class _Tp, class _Integer>
diff --git a/libstdc++/stl/stl_queue.h b/libstdc++/stl/stl_queue.h
index 489cc4ac442..c1e2b698440 100644
--- a/libstdc++/stl/stl_queue.h
+++ b/libstdc++/stl/stl_queue.h
@@ -49,33 +49,33 @@ public:
typedef typename _Sequence::reference reference;
typedef typename _Sequence::const_reference const_reference;
protected:
- _Sequence _M_c;
+ _Sequence c;
public:
- queue() : _M_c() {}
- explicit queue(const _Sequence& __c) : _M_c(__c) {}
-
- bool empty() const { return _M_c.empty(); }
- size_type size() const { return _M_c.size(); }
- reference front() { return _M_c.front(); }
- const_reference front() const { return _M_c.front(); }
- reference back() { return _M_c.back(); }
- const_reference back() const { return _M_c.back(); }
- void push(const value_type& __x) { _M_c.push_back(__x); }
- void pop() { _M_c.pop_front(); }
+ queue() : c() {}
+ explicit queue(const _Sequence& __c) : c(__c) {}
+
+ bool empty() const { return c.empty(); }
+ size_type size() const { return c.size(); }
+ reference front() { return c.front(); }
+ const_reference front() const { return c.front(); }
+ reference back() { return c.back(); }
+ const_reference back() const { return c.back(); }
+ void push(const value_type& __x) { c.push_back(__x); }
+ void pop() { c.pop_front(); }
};
template <class _Tp, class _Sequence>
bool
operator==(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
{
- return __x._M_c == __y._M_c;
+ return __x.c == __y.c;
}
template <class _Tp, class _Sequence>
bool
operator<(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
{
- return __x._M_c < __y._M_c;
+ return __x.c < __y.c;
}
#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER
@@ -125,69 +125,69 @@ public:
typedef typename _Sequence::reference reference;
typedef typename _Sequence::const_reference const_reference;
protected:
- _Sequence _M_c;
- _Compare _M_comp;
+ _Sequence c;
+ _Compare comp;
public:
- priority_queue() : _M_c() {}
- explicit priority_queue(const _Compare& __x) : _M_c(), _M_comp(__x) {}
+ priority_queue() : c() {}
+ explicit priority_queue(const _Compare& __x) : c(), comp(__x) {}
priority_queue(const _Compare& __x, const _Sequence& __s)
- : _M_c(__s), _M_comp(__x)
- { make_heap(_M_c.begin(), _M_c.end(), _M_comp); }
+ : c(__s), comp(__x)
+ { make_heap(c.begin(), c.end(), comp); }
#ifdef __STL_MEMBER_TEMPLATES
template <class _InputIterator>
priority_queue(_InputIterator __first, _InputIterator __last)
- : _M_c(__first, __last) { make_heap(_M_c.begin(), _M_c.end(), _M_comp); }
+ : c(__first, __last) { make_heap(c.begin(), c.end(), comp); }
template <class _InputIterator>
priority_queue(_InputIterator __first,
_InputIterator __last, const _Compare& __x)
- : _M_c(__first, __last), _M_comp(__x)
- { make_heap(_M_c.begin(), _M_c.end(), _M_comp); }
+ : c(__first, __last), comp(__x)
+ { make_heap(c.begin(), c.end(), comp); }
template <class _InputIterator>
priority_queue(_InputIterator __first, _InputIterator __last,
const _Compare& __x, const _Sequence& __s)
- : _M_c(__s), _M_comp(__x)
+ : c(__s), comp(__x)
{
- _M_c.insert(_M_c.end(), __first, __last);
- make_heap(_M_c.begin(), _M_c.end(), _M_comp);
+ c.insert(c.end(), __first, __last);
+ make_heap(c.begin(), c.end(), comp);
}
#else /* __STL_MEMBER_TEMPLATES */
priority_queue(const value_type* __first, const value_type* __last)
- : _M_c(__first, __last) { make_heap(_M_c.begin(), _M_c.end(), _M_comp); }
+ : c(__first, __last) { make_heap(c.begin(), c.end(), comp); }
priority_queue(const value_type* __first, const value_type* __last,
const _Compare& __x)
- : _M_c(__first, __last), _M_comp(__x)
- { make_heap(_M_c.begin(), _M_c.end(), _M_comp); }
+ : c(__first, __last), comp(__x)
+ { make_heap(c.begin(), c.end(), comp); }
priority_queue(const value_type* __first, const value_type* __last,
const _Compare& __x, const _Sequence& __c)
- : _M_c(__c), _M_comp(__x)
+ : c(__c), comp(__x)
{
- _M_c.insert(_M_c.end(), __first, __last);
- make_heap(_M_c.begin(), _M_c.end(), _M_comp);
+ c.insert(c.end(), __first, __last);
+ make_heap(c.begin(), c.end(), comp);
}
#endif /* __STL_MEMBER_TEMPLATES */
- bool empty() const { return _M_c.empty(); }
- size_type size() const { return _M_c.size(); }
- const_reference top() const { return _M_c.front(); }
+ bool empty() const { return c.empty(); }
+ size_type size() const { return c.size(); }
+ const_reference top() const { return c.front(); }
void push(const value_type& __x) {
__STL_TRY {
- _M_c.push_back(__x);
- push_heap(_M_c.begin(), _M_c.end(), _M_comp);
+ c.push_back(__x);
+ push_heap(c.begin(), c.end(), comp);
}
- __STL_UNWIND(_M_c.clear());
+ __STL_UNWIND(c.clear());
}
void pop() {
__STL_TRY {
- pop_heap(_M_c.begin(), _M_c.end(), _M_comp);
- _M_c.pop_back();
+ pop_heap(c.begin(), c.end(), comp);
+ c.pop_back();
}
- __STL_UNWIND(_M_c.clear());
+ __STL_UNWIND(c.clear());
}
};
diff --git a/libstdc++/stl/stl_rope.h b/libstdc++/stl/stl_rope.h
index 44f51aed1ae..fa1e848c065 100644
--- a/libstdc++/stl/stl_rope.h
+++ b/libstdc++/stl/stl_rope.h
@@ -386,8 +386,8 @@ struct _Rope_RopeRep : public _Rope_rep_base<_CharT,_Alloc> {
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeRep(_Tag __t, int __d, bool __b, size_t __size,
allocator_type __a)
- : _M_tag(__t), _M_depth(__d), _M_is_balanced(__b), _M_c_string(0),
- _Rope_rep_base<_CharT,_Alloc>(__size, __a)
+ : _Rope_rep_base<_CharT,_Alloc>(__size, __a),
+ _M_tag(__t), _M_depth(__d), _M_is_balanced(__b), _M_c_string(0)
{
# ifndef __GC
_M_refcount = 1;
@@ -562,8 +562,8 @@ struct _Rope_RopeLeaf : public _Rope_RopeRep<_CharT,_Alloc> {
/* doesn't matter. */
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeLeaf(__GC_CONST _CharT* __d, size_t __size, allocator_type __a)
- : _M_data(__d)
- , _Rope_RopeRep<_CharT,_Alloc>(_S_leaf, 0, true, __size, __a)
+ : _Rope_RopeRep<_CharT,_Alloc>(_S_leaf, 0, true, __size, __a),
+ _M_data(__d)
{
__stl_assert(__size > 0);
if (_S_is_basic_char_type((_CharT *)0)) {
@@ -593,10 +593,10 @@ struct _Rope_RopeConcatenation : public _Rope_RopeRep<_CharT,_Alloc> {
_Rope_RopeConcatenation(_Rope_RopeRep<_CharT,_Alloc>* __l,
_Rope_RopeRep<_CharT,_Alloc>* __r,
allocator_type __a)
- : _M_left(__l), _M_right(__r)
- , _Rope_RopeRep<_CharT,_Alloc>(
+ : _Rope_RopeRep<_CharT,_Alloc>(
_S_concat, max(__l->_M_depth, __r->_M_depth) + 1, false,
- __l->_M_size + __r->_M_size, __a)
+ __l->_M_size + __r->_M_size, __a),
+ _M_left(__l), _M_right(__r)
{}
# ifndef __GC
~_Rope_RopeConcatenation() {
@@ -629,11 +629,12 @@ struct _Rope_RopeFunction : public _Rope_RopeRep<_CharT,_Alloc> {
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeFunction(char_producer<_CharT>* __f, size_t __size,
bool __d, allocator_type __a)
- : _M_fn(__f)
+ :_Rope_RopeRep<_CharT,_Alloc>(_S_function, 0, true, __size, __a),
+ _M_fn(__f)
# ifndef __GC
, _M_delete_when_done(__d)
# endif
- , _Rope_RopeRep<_CharT,_Alloc>(_S_function, 0, true, __size, __a) {
+ {
__stl_assert(__size > 0);
# ifdef __GC
if (__d) {
@@ -693,9 +694,8 @@ struct _Rope_RopeSubstring : public _Rope_RopeFunction<_CharT,_Alloc>,
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeSubstring(_Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s,
size_t __l, allocator_type __a)
- : _M_base(__b)
+ : _Rope_RopeFunction<_CharT,_Alloc>(this, __l, false, __a), _M_base(__b)
, _M_start(__s)
- , _Rope_RopeFunction<_CharT,_Alloc>(this, __l, false, __a)
{
__stl_assert(__l > 0);
__stl_assert(__s + __l <= __b->_M_size);
@@ -766,16 +766,16 @@ class _Rope_char_ref_proxy {
_My_rope* _M_root; // The whole rope.
public:
_Rope_char_ref_proxy(_My_rope* __r, size_t __p) :
- _M_pos(__p), _M_root(__r), _M_current_valid(false) {}
+ _M_pos(__p), _M_current_valid(false), _M_root(__r) {}
_Rope_char_ref_proxy(const _Rope_char_ref_proxy& __x) :
- _M_pos(__x._M_pos), _M_root(__x._M_root), _M_current_valid(false) {}
+ _M_pos(__x._M_pos), _M_current_valid(false), _M_root(__x._M_root) {}
// Don't preserve cache if the reference can outlive the
// expression. We claim that's not possible without calling
// a copy constructor or generating reference to a proxy
// reference. We declare the latter to have undefined semantics.
_Rope_char_ref_proxy(_My_rope* __r, size_t __p,
_CharT __c) :
- _M_pos(__p), _M_root(__r), _M_current(__c), _M_current_valid(true) {}
+ _M_pos(__p), _M_current(__c), _M_current_valid(true), _M_root(__r) {}
inline operator _CharT () const;
_Rope_char_ref_proxy& operator= (_CharT __c);
_Rope_char_ptr_proxy<_CharT,_Alloc> operator& () const;
diff --git a/libstdc++/tests/ChangeLog b/libstdc++/tests/ChangeLog
index 87ce0fc6c19..458f08ad484 100644
--- a/libstdc++/tests/ChangeLog
+++ b/libstdc++/tests/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
1998-07-17 Jason Merrill <jason@yorick.cygnus.com>
* tmap.cc: Use less<int>.
diff --git a/libstdc++/testsuite/ChangeLog b/libstdc++/testsuite/ChangeLog
index 7b1a9f0c3c5..4e983e9b5ff 100644
--- a/libstdc++/testsuite/ChangeLog
+++ b/libstdc++/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
Wed Nov 25 01:00:07 1998 Marc Espie <espie@quatramaran.ens.fr>
* Makefile.in (just-check): Ignore errors.
diff --git a/libstdc++/valarray b/libstdc++/valarray
new file mode 100644
index 00000000000..a938b6a6863
--- /dev/null
+++ b/libstdc++/valarray
@@ -0,0 +1,8 @@
+// Main header for -*- C++ -*- valarray classes.
+
+#ifndef __VALARRAY__
+#define __VALARRAY__
+
+#include <std/std_valarray.h>
+
+#endif
diff --git a/libstdc++/valarray.cc b/libstdc++/valarray.cc
new file mode 100644
index 00000000000..5e7fe0cf05f
--- /dev/null
+++ b/libstdc++/valarray.cc
@@ -0,0 +1,50 @@
+#include <std/std_valarray.h>
+
+// Some Explicit Instanciations.
+template class multiplies<size_t>;
+template size_t accumulate(size_t*, size_t*, size_t, multiplies<size_t>);
+
+template void
+ __valarray_fill(size_t* __restrict__, size_t, const size_t&);
+
+template void
+ __valarray_copy(const size_t* __restrict__, size_t, size_t* __restrict__);
+
+template valarray<size_t>::valarray(size_t);
+template valarray<size_t>::~valarray();
+template valarray<size_t>::valarray(const valarray<size_t>&);
+template size_t valarray<size_t>::size() const;
+template size_t& valarray<size_t>::operator[](size_t);
+template size_t valarray<size_t>::product() const;
+
+
+void __gslice_to_index(size_t __o, const valarray<size_t>& __l,
+ const valarray<size_t>& __s,
+ valarray<size_t>& __i)
+{
+ const size_t __n = __l.size();
+ size_t* const __t = static_cast<size_t*>(alloca(__n*sizeof(size_t)));
+ __valarray_fill(__t, __n, size_t(0));
+ const size_t __z = __i.size();
+ __valarray_fill(&__i[0], __z, __o);
+ for (size_t __j=0; __j<__z; ++__j) {
+ for (size_t __k=0; __k<__n; ++__k)
+ __i[__j] += __s[__k]*__t[__k];
+ ++__t[__n-1];
+ for (size_t __k=__n-1; __k; --__k) {
+ if (__t[__k] >= __l[__k]) {
+ __t[__k] = 0;
+ ++__t[__k-1];
+ }
+ }
+ }
+}
+
+_Indexer::_Indexer(size_t __o, const valarray<size_t>& __l,
+ const valarray<size_t>& __s)
+ : _M_count(1), _M_start(__o), _M_size(__l), _M_stride(__s),
+ _M_index(__l.size() ? __l.product() : 0)
+{ __gslice_to_index(__o, __l, __s, _M_index); }
+
+
+
diff --git a/ltconfig b/ltconfig
index ef2c23aa78f..ab304fd3b73 100755
--- a/ltconfig
+++ b/ltconfig
@@ -1,7 +1,7 @@
#! /bin/sh
# ltconfig - Create a system-specific libtool.
-# Copyright (C) 1996-1998 Free Software Foundation, Inc.
+# Copyright (C) 1996-1999 Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; you can redistribute it and/or modify it
@@ -31,6 +31,13 @@ echo=echo
if test "X$1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
+elif test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit 0
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
# Yippee, $echo works!
:
@@ -39,19 +46,45 @@ else
exec "$SHELL" "$0" --no-reexec ${1+"$@"}
fi
+# Find the correct PATH separator. Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != "Xset"; then
+ UNAME=${UNAME-`uname 2>/dev/null`}
+ case X$UNAME in
+ *-DOS) PATH_SEPARATOR=';' ;;
+ *) PATH_SEPARATOR=':' ;;
+ esac
+fi
+
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
-if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
+if test "X${echo_test_string+set}" != "Xset"; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string="`eval $cmd`") 2>/dev/null &&
+ echo_test_string="`eval $cmd`" &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
+ test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
# The Solaris, AIX, and Digital Unix default echo programs unquote
# backslashes. This makes it impossible to quote backslashes using
# echo "$something" | sed 's/\\/\\\\/g'
#
# So, first we look for a working echo in the user's PATH.
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
for dir in $PATH /usr/ucb; do
- if test -f $dir/echo && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t'; then
+ if test -f $dir/echo &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
echo="$dir/echo"
break
fi
@@ -60,20 +93,53 @@ if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
if test "X$echo" = Xecho; then
# We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
# This shell has a builtin print -r that does the trick.
echo='print -r'
elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then
# If we have ksh, try running ltconfig again with it.
+ ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
+ export ORIGINAL_CONFIG_SHELL
CONFIG_SHELL=/bin/ksh
export CONFIG_SHELL
exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
else
# Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
- # Oops. We lost completely, so just stick with echo.
- echo=echo
+ echo='printf "%s\n"'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
+ test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+ CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
+ test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
fi
fi
fi
@@ -87,13 +153,18 @@ sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
# Same as above, but do not quote variable references.
double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
# The name of this program.
progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
# Constants:
PROGRAM=ltconfig
PACKAGE=libtool
-VERSION=1.2b
+VERSION=1.2f
+TIMESTAMP=" (1.385 1999/03/15 17:24:54)"
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
rm="rm -f"
@@ -106,6 +177,8 @@ can_build_shared=yes
enable_shared=yes
# All known linkers require a `.a' archive for static linking.
enable_static=yes
+enable_fast_install=yes
+enable_dlopen=unknown
ltmain=
silent=
srcdir=
@@ -117,8 +190,11 @@ ofile="$default_ofile"
verify_host=yes
with_gcc=no
with_gnu_ld=no
+need_locks=yes
+ac_ext=c
objext=o
libext=a
+cache_file=
old_AR="$AR"
old_CC="$CC"
@@ -150,13 +226,16 @@ do
case "$option" in
--help) cat <<EOM
-Usage: $progname [OPTION]... LTMAIN [HOST]
+Usage: $progname [OPTION]... [HOST [LTMAIN]]
Generate a system-specific libtool script.
--debug enable verbose shell tracing
--disable-shared do not build shared libraries
--disable-static do not build static libraries
+ --disable-fast-install do not optimize for fast installation
+ --enable-dlopen enable dlopen support
+ --enable-dlopen-self enable support for dlopening programs
--help display this help and exit
--no-verify do not verify that HOST is a valid host type
-o, --output=FILE specify the output file [default=$default_ofile]
@@ -166,9 +245,11 @@ Generate a system-specific libtool script.
--version output version information and exit
--with-gcc assume that the GNU C compiler will be used
--with-gnu-ld assume that the C compiler uses the GNU linker
+ --disable-lock disable file locking
+ --cache-file=FILE configure cache file
-LTMAIN is the \`ltmain.sh' shell script fragment that provides basic libtool
-functionality.
+LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
+that provides basic libtool functionality.
HOST is the canonical host system name [default=guessed].
EOM
@@ -184,6 +265,10 @@ EOM
--disable-static) enable_static=no ;;
+ --disable-fast-install) enable_fast_install=no ;;
+
+ --enable-dlopen) enable_dlopen=yes ;;
+
--quiet | --silent) silent=yes ;;
--srcdir) prev=srcdir ;;
@@ -194,11 +279,15 @@ EOM
--output | -o) prev=ofile ;;
--output=*) ofile="$optarg" ;;
- --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;;
+ --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
--with-gcc) with_gcc=yes ;;
--with-gnu-ld) with_gnu_ld=yes ;;
+ --disable-lock) need_locks=no ;;
+
+ --cache-file=*) cache_file="$optarg" ;;
+
-*)
echo "$progname: unrecognized option \`$option'" 1>&2
echo "$help" 1>&2
@@ -269,6 +358,11 @@ exec 5>>./config.log
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test -n "$cache_file" && test -r "$cache_file"; then
+ echo "loading cache $cache_file within ltconfig"
+ . $cache_file
+fi
+
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
@@ -282,8 +376,8 @@ else
fi
if test -z "$srcdir"; then
- # Assume the source directory is the same one as the path to ltmain.sh.
- srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
+ # Assume the source directory is the same one as the path to LTMAIN.
+ srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
test "$srcdir" = "$ltmain" && srcdir=.
fi
@@ -374,7 +468,7 @@ if test "${RANLIB+set}" != "set"; then
result=no
echo $ac_n "checking for ranlib... $ac_c" 1>&6
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/ranlib; then
@@ -389,11 +483,11 @@ if test "${RANLIB+set}" != "set"; then
fi
if test -n "$RANLIB"; then
- old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
- old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
fi
-# Set sane defaults for `DLLTOOL' and `AS', used on cygwin32.
+# Set sane defaults for `DLLTOOL' and `AS', used on cygwin.
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$AS" && AS=as
@@ -402,7 +496,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# If CC is not set, then try to find GCC or a usable CC.
if test -z "$CC"; then
echo $ac_n "checking for gcc... $ac_c" 1>&6
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
for dir in $PATH; do
IFS="$save_ifs"
test -z "$dir" && dir=.
@@ -423,7 +517,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
if test -z "$CC"; then
echo $ac_n "checking for cc... $ac_c" 1>&6
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
cc_rejected=no
for dir in $PATH; do
test -z "$dir" && dir=.
@@ -467,7 +561,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# Now see if the compiler is really GCC.
with_gcc=no
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
- echo "$progname:470: checking whether we are using GNU C" >&5
+ echo "$progname:564: checking whether we are using GNU C" >&5
$rm conftest.c
cat > conftest.c <<EOF
@@ -475,7 +569,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then
yes;
#endif
EOF
- if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:478: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:572: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
with_gcc=yes
fi
$rm conftest.c
@@ -489,8 +583,8 @@ compiler="$2"
echo $ac_n "checking for object suffix... $ac_c" 1>&6
$rm conftest*
echo 'int i = 1;' > conftest.c
-echo "$progname:492: checking for object suffix" >& 5
-if { (eval echo $progname:493: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
+echo "$progname:586: checking for object suffix" >& 5
+if { (eval echo $progname:587: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
@@ -518,13 +612,21 @@ no_builtin_flag=
if test "$with_gcc" = yes; then
wl='-Wl,'
link_static_flag='-static'
- no_builtin_flag=' -fno-builtin'
case "$host_os" in
- aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
+ beos* | irix5* | irix6* | osf3* | osf4*)
# PIC is the default for these OSes.
;;
- cygwin32* | mingw32* | os2*)
+ aix*)
+ # Below there is a dirty hack to force normal static linking with -ldl
+ # The problem is because libdl dynamically linked with both libc and
+ # libC (AIX C++ library), which obviously doesn't included in libraries
+ # list by gcc. This cause undefined symbols with -static flags.
+ # This hack allows C programs to be linked with "-static -ldl", but
+ # we not sure about C++ programs.
+ link_static_flag="$link_static_flag ${wl}-lC"
+ ;;
+ cygwin* | mingw* | os2*)
# We can build DLLs from non-PIC.
;;
amigaos*)
@@ -558,7 +660,7 @@ else
# PIC (with -KPIC) is the default.
;;
- cygwin32* | mingw32* | os2*)
+ cygwin* | mingw* | os2*)
# We can build DLLs from non-PIC.
;;
@@ -574,7 +676,7 @@ else
special_shlib_compile_flags='-belf'
;;
- solaris2*)
+ solaris*)
pic_flag='-KPIC'
link_static_flag='-Bstatic'
wl='-Wl,'
@@ -586,7 +688,7 @@ else
wl='-Qoption ld '
;;
- sysv4.2uw2*)
+ sysv4.2uw2* | sysv4.3* | sysv5*)
pic_flag='-KPIC'
link_static_flag='-Bstatic'
wl='-Wl,'
@@ -612,33 +714,156 @@ if test -n "$pic_flag"; then
echo "int some_variable = 0;" > conftest.c
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $pic_flag -DPIC"
- echo "$progname:615: checking if $compiler PIC flag $pic_flag works" >&5
- if { (eval echo $progname:616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
+ echo "$progname:717: checking if $compiler PIC flag $pic_flag works" >&5
+ if { (eval echo $progname:718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
# Append any warnings to the config.log.
cat conftest.err 1>&5
+
+ case "$host_os" in
+ hpux9* | hpux10* | hpux11*)
+ # On HP-UX, both CC and GCC only warn that PIC is supported... then they
+ # create non-PIC objects. So, if there were any warnings, we assume that
+ # PIC is not supported.
+ if test -s conftest.err; then
+ echo "$ac_t"no 1>&6
+ can_build_shared=no
+ pic_flag=
+ else
+ echo "$ac_t"yes 1>&6
+ pic_flag=" $pic_flag"
+ fi
+ ;;
+ *)
+ echo "$ac_t"yes 1>&6
+ pic_flag=" $pic_flag"
+ ;;
+ esac
+ else
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ can_build_shared=no
+ pic_flag=
+ echo "$ac_t"no 1>&6
+ fi
+ CFLAGS="$save_CFLAGS"
+ $rm conftest*
+else
+ echo "$ac_t"none 1>&6
+fi
- # On HP-UX, both CC and GCC only warn that PIC is supported... then they
- # create non-PIC objects. So, if there were any warnings, we assume that
- # PIC is not supported.
+# Check to see if options -o and -c are simultaneously supported by compiler
+echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
+$rm conftest*
+echo "int some_variable = 0;" > conftest.c
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -c -o conftest2.o"
+echo "$progname:760: checking if $compiler supports -c -o file.o" >&5
+if { (eval echo $progname:761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest2.o; then
+
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
if test -s conftest.err; then
echo "$ac_t"no 1>&6
- can_build_shared=no
- pic_flag=
+ compiler_c_o=no
else
echo "$ac_t"yes 1>&6
- pic_flag=" $pic_flag"
+ compiler_c_o=yes
fi
+else
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ compiler_c_o=no
+ echo "$ac_t"no 1>&6
+fi
+CFLAGS="$save_CFLAGS"
+$rm conftest*
+
+if test x"$compiler_c_o" = x"yes"; then
+ # Check to see if we can write to a .lo
+ echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
+ $rm conftest*
+ echo "int some_variable = 0;" > conftest.c
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -c -o conftest.lo"
+ echo "$progname:788: checking if $compiler supports -c -o file.lo" >&5
+if { (eval echo $progname:789: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
+
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ echo "$ac_t"no 1>&6
+ compiler_o_lo=no
+ else
+ echo "$ac_t"yes 1>&6
+ compiler_o_lo=yes
+ fi
else
# Append any errors to the config.log.
cat conftest.err 1>&5
- can_build_shared=no
- pic_flag=
+ compiler_o_lo=no
echo "$ac_t"no 1>&6
fi
CFLAGS="$save_CFLAGS"
$rm conftest*
else
- echo "$ac_t"none 1>&6
+ compiler_o_lo=no
+fi
+
+# Check to see if we can do hard links to lock some files if needed
+hard_links="nottested"
+if test "$compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ echo "$ac_t$hard_links" 1>&6
+ $rm conftest*
+ if test "$hard_links" = no; then
+ echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+if test "$with_gcc" = yes; then
+ # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
+ echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
+ $rm conftest*
+ echo "int some_variable = 0;" > conftest.c
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
+ echo "$progname:840: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+ if { (eval echo $progname:841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
+
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ echo "$ac_t"no 1>&6
+ compiler_rtti_exceptions=no
+ else
+ echo "$ac_t"yes 1>&6
+ compiler_rtti_exceptions=yes
+ fi
+ else
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ compiler_rtti_exceptions=no
+ echo "$ac_t"no 1>&6
+ fi
+ CFLAGS="$save_CFLAGS"
+ $rm conftest*
+
+ if test "$compiler_rtti_exceptions" = "yes"; then
+ no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
+ else
+ no_builtin_flag=' -fno-builtin'
+ fi
+
fi
# Check for any special shared library compilation flags.
@@ -656,8 +881,8 @@ $rm conftest*
echo 'main(){return(0);}' > conftest.c
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:659: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+echo "$progname:884: checking if $compiler static flag $link_static_flag works" >&5
+if { (eval echo $progname:885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
echo "$ac_t$link_static_flag" 1>&6
else
echo "$ac_t"none 1>&6
@@ -689,11 +914,17 @@ if test -z "$LD"; then
if test "$with_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
- echo "$progname:692: checking for ld used by GCC" >&5
+ echo "$progname:917: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
- /* | [A-Za-z]:[/\\]*)
+ /* | [A-Za-z]:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
test -z "$LD" && LD="$ac_prog"
;;
"")
@@ -707,14 +938,14 @@ if test -z "$LD"; then
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld... $ac_c" 1>&6
- echo "$progname:710: checking for GNU ld" >&5
+ echo "$progname:941: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
- echo "$progname:713: checking for non-GNU ld" >&5
+ echo "$progname:944: checking for non-GNU ld" >&5
fi
if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog"; then
@@ -759,107 +990,146 @@ echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c
allow_undefined_flag=
no_undefined_flag=
+need_lib_prefix=unknown
+need_version=unknown
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
archive_cmds=
+archive_expsym_cmds=
old_archive_from_new_cmds=
export_dynamic_flag_spec=
whole_archive_flag_spec=
+thread_safe_flag_spec=
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
runpath_var=
-fix_srcfile_path=
+always_export_symbols=no
+export_symbols_cmds='$NM $libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
+# include_expsyms should be a list of space-separated symbols to be *always*
+# included in the symbol list
+include_expsyms=
+# exclude_expsyms can be an egrep regular expression of symbols to exclude
+# it will be wrapped by ` (' and `)$', so one must not match beginning or
+# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+# as well as any symbol that contains `d'.
+exclude_expsyms=
case "$host_os" in
-aix3* | aix4*)
- # On AIX, the GNU linker works like the native linker.
- with_gnu_ld=no
+cygwin* | mingw*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$with_gcc" != yes; then
+ with_gnu_ld=no
+ fi
;;
+
+freebsd2* | sunos4*)
+ exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ ;;
+
esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
# See if GNU ld supports shared libraries.
case "$host_os" in
+ aix3* | aix4*)
+ # On AIX, the GNU linker is very broken
+ ld_shlibs=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ ;;
+
amigaos*)
- archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+ archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
sunos4*)
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
+ wlarc=
hardcode_direct=yes
- # The GNU linker will only hardcode -L options if -rpath is not
- # used, but we will be using -rpath because we set
- # hardcode_libdir_flag_spec below.
- hardcode_minus_L=no
+ hardcode_minus_L=yes
hardcode_shlibpath_var=no
;;
- cygwin32* | mingw32*)
- if test "$with_gcc" = yes; then
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- # Very, very bogus.
- echo '
-#include <windows.h>
-
-struct _reent *_impure_ptr;
-extern struct _reent *__imp_reent_data;
-BOOL APIENTRY
-__dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
-{
- _impure_ptr = __imp_reent_data;
-}
-' > libtool.c
- archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
- old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
+ beos*)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
else
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- with_gnu_ld=no
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs'
- fix_srcfile_path='`cygpath -w $srcfile`'
+ ld_shlibs=no
fi
;;
+ cygwin* | mingw*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+
+ # Extract the symbol export list from an `--export-all' def file,
+ # then regenerate the def file from the symbol export list, so that
+ # the compiled dll only exports the symbol export list.
+ export_symbols_cmds='rm -f $objdir/$soname-ltdll.c~
+ sed -e "/^# \/\* ltdll.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
+ (cd $objdir && $CC -c $soname-ltdll.c)~
+ $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs~
+ sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
+
+ archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
+ _lt_hint=1;
+ for symbol in `cat $export_symbols`; do
+ echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def;
+ _lt_hint=`expr 1 + \$_lt_hint`;
+ done~
+ $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
+ $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
+ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
+ $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
+
+ old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a'
+ ;;
+
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
+ archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
esac
- if test "$ld_shlibs" = yes && test "$with_gnu_ld" = yes; then
+ if test "$ld_shlibs" = yes; then
runpath_var=LD_RUN_PATH
hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
export_dynamic_flag_spec='${wl}--export-dynamic'
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
fi
else
# PORTME fill in a description of your system's linker (not GNU ld)
case "$host_os" in
aix3*)
allow_undefined_flag=unsupported
- archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
@@ -871,55 +1141,58 @@ else
;;
aix4*)
- allow_undefined_flag=unsupported
- archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
- hardcode_direct=yes
+ allow_undefined_flag=
+ if test "$with_gcc" = yes; then
+ if strings `${CC} -print-prog-name=collect2` | \
+ grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ fi
+ archive_cmds='$CC -shared ${wl}-bnoentry -o $objdir/$soname $libobjs $deplibs $linkopts'
+ else
+ always_export_symbols=yes
+ archive_expsym_cmds='$CC -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bM:SRE ${wl}-bnoentry'
+ hardcode_direct=yes
+ fi
hardcode_minus_L=yes
- ;;
+ # Though LIBPATH variable hardcodes shlibpath into executable,
+ # it doesn't affect searching for -l* libraries; this confuses
+ # tests in mdemo.
+ hardcode_shlibpath_var=unsupported
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
amigaos*)
- archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+ archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
- cygwin32* | mingw32*)
- if test "$with_gcc" = yes; then
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- # Very, very bogus.
- echo '
-#include <windows.h>
-
-struct _reent *_impure_ptr;
-extern struct _reent *__imp_reent_data;
-BOOL APIENTRY
-__dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
-{
- _impure_ptr = __imp_reent_data;
-}
-' > libtool.c
- archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
- old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
- else
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib /OUT:$oldlib$oldobjs'
- fix_srcfile_path='`cygpath -w $srcfile`'
- fi
+ cygwin* | mingw*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib /OUT:$oldlib$oldobjs'
+ fix_srcfile_path='`cygpath -w $srcfile`'
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ can_build_shared=no
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
@@ -927,24 +1200,24 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
# does not break anything, and helps significantly (at the cost of a little
# extra space).
freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
- hardcode_minus_L=yes
+ hardcode_minus_L=no # verified on 2.2.6
hardcode_shlibpath_var=no
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib$libobjs'
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
hardcode_direct=yes
hardcode_minus_L=yes
hardcode_shlibpath_var=no
;;
- # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
- freebsd3*)
- archive_cmds='$CC -shared -o $lib$libobjs'
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_minus_L=no
@@ -952,7 +1225,7 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
;;
hpux9*)
- archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
+ archive_cmds='$rm $objdir/$soname~$LD -b +s +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
@@ -960,7 +1233,7 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
;;
hpux10* | hpux11*)
- archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
+ archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib $libobjs $deplibs $linkopts'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
@@ -969,23 +1242,27 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
irix5* | irix6*)
if test "$with_gcc" = yes; then
- archive_cmds='$CC -shared -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring$libobjs'
+ archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
else
- archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
+ archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
fi
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
;;
netbsd*)
- # Tested with NetBSD 1.2 ld
- archive_cmds='$LD -Bshareable -o $lib$libobjs'
- hardcode_libdir_flag_spec='-R$libdir'
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF
+ fi
+ hardcode_libdir_flag_spec='${wl}-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
;;
openbsd*)
- archive_cmds='$LD -Bshareable -o $lib$libobjs'
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
@@ -995,46 +1272,70 @@ __dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
+ archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
;;
osf3* | osf4*)
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
+ if test "$with_gcc" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
+ fi
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
sco3.2v5*)
- archive_cmds='$LD -G -o $lib$libobjs'
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts'
hardcode_direct=yes
;;
- solaris2*)
+ solaris*)
no_undefined_flag=' -z text'
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
-
- # Solaris 2 before 2.5 hardcodes -L paths.
- case "$host_os" in
- solaris2.[0-4]*)
- hardcode_minus_L=yes
- ;;
- esac
;;
sunos4*)
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+ # Why do we need -Bstatic? To avoid inter-library dependencies, maybe...
+ if test "$with_gcc" = yes; then
+ # Use -fPIC here because libgcc is multilibbed
+ archive_cmds='$CC -shared ${wl}-Bstatic -fPIC -o $lib $libobjs $deplibs $linkopts'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
+ fi
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
hardcode_shlibpath_var=no
;;
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ hardcode_direct=no
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
uts4*)
- archive_cmds='$LD -G -h $soname -o $lib$libobjs'
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=no
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=no
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no
hardcode_minus_L=no
@@ -1054,21 +1355,23 @@ if test -z "$NM"; then
case "$NM" in
/* | [A-Za-z]:[/\\]*) ;; # Let the user override the test with a path.
*)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+ for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/nm; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- NM="$ac_dir/nm -B"
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- NM="$ac_dir/nm -p"
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ NM="$ac_dir/nm -B"
+ break
+ elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ NM="$ac_dir/nm -p"
+ break
else
- NM="$ac_dir/nm"
+ NM=${NM="$ac_dir/nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
fi
- break
fi
done
IFS="$ac_save_ifs"
@@ -1085,52 +1388,51 @@ echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
# Character class describing NM global symbol codes.
-symcode='[BCDEGRSTU]'
+symcode='[BCDEGRST]'
# Regexp to match symbols that can be accessed directly from C.
sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \1'
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
# Define system-specific variables.
case "$host_os" in
aix*)
- symcode='[BCDTU]'
+ symcode='[BCDT]'
;;
-cygwin32* | mingw32*)
- sympat='_\([_A-Za-z][_A-Za-z0-9]*\)'
- symxfrm='_\1 \1'
+cygwin* | mingw*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
;;
irix*)
- # Cannot use undefined symbols on IRIX because inlined functions mess us up.
symcode='[BCDEGRST]'
;;
-solaris2*)
- symcode='[BDTU]'
+solaris*)
+ symcode='[BDT]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
- symcode='[ABCDGISTUW]'
+ symcode='[ABCDGISTW]'
fi
-case "$host_os" in
-cygwin32* | mingw32*)
- # We do not want undefined symbols on cygwin32. The user must
- # arrange to define them via -l arguments.
- symcode='[ABCDGISTW]'
- ;;
-esac
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
-# Write the raw and C identifiers.
-global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'"
+ # Write the raw and C identifiers.
+ global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$/$symxfrm/p'"
-# Check to see that the pipe works correctly.
-pipe_works=no
-$rm conftest*
-cat > conftest.c <<EOF
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+ $rm conftest*
+ cat > conftest.c <<EOF
#ifdef __cplusplus
extern "C" {
#endif
@@ -1142,93 +1444,96 @@ void nm_test_func(){}
main(){nm_test_var='a';nm_test_func();return(0);}
EOF
-echo "$progname:1145: checking if global_symbol_pipe works" >&5
-if { (eval echo $progname:1146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { echo "$progname:1149: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
-
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- wcout=`wc "$nlist" 2>/dev/null`
- count=`$echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'`
- (test "$count" -ge 0) 2>/dev/null || count=-1
- else
- rm -f "$nlist"T
- count=-1
- fi
+ echo "$progname:1447: checking if global_symbol_pipe works" >&5
+ if { (eval echo $progname:1448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { echo "$progname:1451: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
- # Make sure that we snagged all the symbols we need.
- if egrep ' nm_test_var$' "$nlist" >/dev/null; then
- if egrep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.c
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+ if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.c
#ifdef __cplusplus
extern "C" {
#endif
EOF
- # Now generate the symbol file.
- sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c
+ # Now generate the symbol file.
+ eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
- cat <<EOF >> conftest.c
+ cat <<EOF >> conftest.c
#if defined (__STDC__) && __STDC__
-# define __ptr_t void *
+# define lt_ptr_t void *
#else
-# define __ptr_t char *
+# define lt_ptr_t char *
+# define const
#endif
-/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
-int dld_preloaded_symbol_count = $count;
-
/* The mapping between symbol names and symbols. */
-struct {
- char *name;
- __ptr_t address;
+const struct {
+ const char *name;
+ lt_ptr_t address;
}
-dld_preloaded_symbols[] =
+lt_preloaded_symbols[] =
{
EOF
- sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
- cat <<\EOF >> conftest.c
- {0, (__ptr_t) 0}
+ sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
+ cat <<\EOF >> conftest.c
+ {0, (lt_ptr_t) 0}
};
#ifdef __cplusplus
}
#endif
EOF
- # Now try linking the two files.
- mv conftest.$objext conftestm.$objext
- save_LIBS="$LIBS"
- save_CFLAGS="$CFLAGS"
- LIBS="conftestm.$objext"
- CFLAGS="$CFLAGS$no_builtin_flag"
- if { (eval echo $progname:1207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- pipe_works=yes
- else
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
- fi
- LIBS="$save_LIBS"
+ # Now try linking the two files.
+ mv conftest.$objext conftestm.$objext
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="conftestm.$objext"
+ CFLAGS="$CFLAGS$no_builtin_flag"
+ if { (eval echo $progname:1503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ pipe_works=yes
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.c >&5
+ fi
+ LIBS="$save_LIBS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
else
- echo "cannot find nm_test_func in $nlist" >&5
+ echo "cannot find nm_test_var in $nlist" >&5
fi
else
- echo "cannot find nm_test_var in $nlist" >&5
+ echo "cannot run $global_symbol_pipe" >&5
fi
else
- echo "cannot run $global_symbol_pipe" >&5
+ echo "$progname: failed program was:" >&5
+ cat conftest.c >&5
fi
-else
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
-fi
-$rm conftest*
+ $rm conftest*
-# Do not use the global_symbol_pipe unless it works.
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ global_symbol_pipe=
+ fi
+done
echo "$ac_t$pipe_works" 1>&6
-test "$pipe_works" = yes || global_symbol_pipe=
+
+if test -z "$global_symbol_pipe"; then
+ global_symbol_to_cdecl=
+fi
# Check hardcoding attributes.
echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
@@ -1272,12 +1577,27 @@ postuninstall_cmds=
finish_cmds=
finish_eval=
shlibpath_var=
+shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
-
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+file_magic_cmd=
+file_magic_test_file=
+deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [regex]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
case "$host_os" in
-aix3* | aix4*)
+aix3*)
version_type=linux
library_names_spec='${libname}${release}.so$versuffix $libname.a'
shlibpath_var=LIBPATH
@@ -1286,13 +1606,47 @@ aix3* | aix4*)
soname_spec='${libname}${release}.so$major'
;;
+aix4*)
+ version_type=linux
+ # AIX has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ # We preserve .a as extension for shared libraries though AIX4.2
+ # and later linker supports .so
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
+ shlibpath_var=LIBPATH
+ deplibs_check_method=pass_all
+ ;;
+
amigaos*)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
;;
-cygwin32* | mingw32*)
+beos*)
+ library_names_spec='${libname}.so'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ library_names_spec='${libname}.so$major ${libname}.so'
+ soname_spec='${libname}.so'
+ finish_cmds='PATH="$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ deplibs_check_method='file_magic ELF 32-bit LSB shared object'
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=/shlib/libc.so
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw*)
version_type=windows
if test "$with_gcc" = yes; then
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
@@ -1300,13 +1654,36 @@ cygwin32* | mingw32*)
library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
fi
dynamic_linker='Win32 ld.exe'
+ deplibs_check_method='file_magic file format pei*-i386.*architecture: i386'
+ file_magic_cmd='objdump -f'
+ need_lib_prefix=no
+ # FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-freebsd2* | freebsd3*)
- version_type=sunos
- library_names_spec='${libname}${release}.so$versuffix $libname.so'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case "$version_type" in
+ freebsd-elf*)
+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=`echo /usr/lib/libc.so*`
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ deplibs_check_method=unknown
+ library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
+ need_version=yes
+ ;;
+ esac
+ finish_cmds='PATH="$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -1321,6 +1698,8 @@ hpux9* | hpux10* | hpux11*)
# link against other versions.
dynamic_linker="$host_os dld.sl"
version_type=sunos
+ need_lib_prefix=no
+ need_version=no
shlibpath_var=SHLIB_PATH
library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
soname_spec='${libname}${release}.sl$major'
@@ -1328,11 +1707,40 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
-irix5* | irix6*)
- version_type=osf
+irix5*)
+ version_type=irix
soname_spec='${libname}${release}.so'
- library_names_spec='${libname}${release}.so$versuffix $libname.so'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
shlibpath_var=LD_LIBRARY_PATH
+ deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" # or should it be pass_all?
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=`echo /lib/libc.so*`
+ shlibpath_overrides_runpath=no
+ ;;
+
+irix6*)
+ version_type=irix
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}.so'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+ case "$LD" in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ # even though /usr/local/lib is always searched, the man-page says
+ # shared libraries should not be installed there if they use an ABI
+ # different from -32, so we'd better not search for shared libraries
+ # there either
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" # or should it be pass_all?
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=`echo /lib${libsuff}/libc.so*`
;;
# No shared lib support for Linux oldld, aout, or coff.
@@ -1343,10 +1751,16 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
# This must be Linux ELF.
linux-gnu*)
version_type=linux
+ need_lib_prefix=no
+ need_version=no
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
if test -f /lib/ld.so.1; then
dynamic_linker='GNU ld.so'
@@ -1359,15 +1773,34 @@ linux-gnu*)
fi
;;
-netbsd* | openbsd*)
+netbsd*)
version_type=sunos
- library_names_spec='${libname}${release}.so$versuffix'
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+ finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
+ soname_spec='${libname}${release}.so$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+openbsd*)
+ version_type=sunos
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ need_version=no
+ fi
+ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
;;
os2*)
libname_spec='$name'
+ need_lib_prefix=no
library_names_spec='$libname.dll $libname.a'
dynamic_linker='OS/2 ld.exe'
shlibpath_var=LIBPATH
@@ -1376,8 +1809,18 @@ os2*)
osf3* | osf4*)
version_type=osf
soname_spec='${libname}${release}.so'
- library_names_spec='${libname}${release}.so$versuffix $libname.so'
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
shlibpath_var=LD_LIBRARY_PATH
+ # deplibs_check_method='pass_all'
+ # Although pass_all appears to work, it copies symbols from static libraries
+ # into shared ones and exports them. So, when a program is linked with two
+ # or more libraries that have got copies of the same symbols, link fails
+ # This was only tested on osf4:
+ deplibs_check_method='file_magic COFF format alpha shared library'
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=/shlib/libc.so
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
sco3.2v5*)
@@ -1387,13 +1830,19 @@ sco3.2v5*)
shlibpath_var=LD_LIBRARY_PATH
;;
-solaris2*)
+solaris*)
version_type=linux
+ need_lib_prefix=no
+ need_version=no
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
# ldd complains unless libraries are executable
postinstall_cmds='chmod +x $lib'
+ deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=/lib/libc.so
;;
sunos4*)
@@ -1401,13 +1850,23 @@ sunos4*)
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
;;
-sysv4.2uw2*)
+sysv4.2uw2* | sysv4.3* | sysv5*)
version_type=linux
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH
+ case "$host_vendor" in
+ ncr)
+ deplibs_check_method='pass_all'
+ ;;
+ esac
;;
uts4*)
@@ -1417,29 +1876,66 @@ uts4*)
shlibpath_var=LD_LIBRARY_PATH
;;
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+ soname_spec='${libname}${release}.so$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
*)
dynamic_linker=no
;;
esac
-echo "$ac_t$dynamic_linker"
+echo "$ac_t$dynamic_linker" 1>&6
test "$dynamic_linker" = no && can_build_shared=no
# Report the final consequences.
echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
+if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
+ case "$deplibs_check_method" in
+ "file_magic "*)
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ egrep "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+fi
+
echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case "$host_os" in
-aix*)
+aix3*)
test "$enable_shared" = yes && enable_static=no
if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds;\$RANLIB \$lib"
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
+
+aix4*)
+ test "$enable_shared" = yes && enable_static=no
+ ;;
esac
echo "$ac_t$enable_shared" 1>&6
@@ -1449,6 +1945,15 @@ test "$enable_shared" = yes || enable_static=yes
echo "checking whether to build static libraries... $enable_static" 1>&6
+if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
echo $ac_n "checking for objdir... $ac_c" 1>&6
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -1461,46 +1966,502 @@ fi
rmdir .libs 2>/dev/null
echo "$ac_t$objdir" 1>&6
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
+ lt_cv_dlopen=no lt_cv_dlopen_libs=
+echo $ac_n "checking for dlopen""... $ac_c" 1>&6
+echo "$progname:1977: checking for dlopen" >&5
+if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1982 "ltconfig"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+dlopen();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo $progname:2004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_dlopen=yes"
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_dlopen=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ lt_cv_dlopen="dlopen"
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "$progname:2022: checking for dlopen in -ldl" >&5
+ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ldl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2030 "ltconfig"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen();
+
+int main() {
+dlopen()
+; return 0; }
+EOF
+if { (eval echo $progname:2040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
+echo "$progname:2059: checking for dld_link in -ldld" >&5
+ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ldld $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2067 "ltconfig"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dld_link();
+
+int main() {
+dld_link()
+; return 0; }
+EOF
+if { (eval echo $progname:2077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for shl_load""... $ac_c" 1>&6
+echo "$progname:2096: checking for shl_load" >&5
+if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2101 "ltconfig"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char shl_load();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+shl_load();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo $progname:2123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_shl_load=yes"
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_shl_load=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ lt_cv_dlopen="shl_load"
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for LoadLibrary""... $ac_c" 1>&6
+echo "$progname:2141: checking for LoadLibrary" >&5
+if eval "test \"`echo '$''{'ac_cv_func_LoadLibrary'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2146 "ltconfig"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char LoadLibrary(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char LoadLibrary();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_LoadLibrary) || defined (__stub___LoadLibrary)
+choke me
+#else
+LoadLibrary();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo $progname:2168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_LoadLibrary=yes"
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_LoadLibrary=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'LoadLibrary`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ lt_cv_dlopen="LoadLibrary"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+fi
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ fi
+
+ case "$lt_cv_dlopen" in
+ dlopen)
+for ac_hdr in dlfcn.h; do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "$progname:2210: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2215 "ltconfig"
+#include <$ac_hdr>
+int fnord = 0;
+EOF
+ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo $progname:2220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "x$ac_cv_header_dlfcn_h" = xyes; then
+ CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ fi
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
+echo "$progname:2248: checking whether a program can dlopen itself" >&5
+if test "${lt_cv_dlopen_self+set}" = set; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ lt_cv_dlopen_self=cross
+ else
+ cat > conftest.c <<EOF
+#line 2256 "ltconfig"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LTDL_GLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LTDL_GLOBAL DL_GLOBAL
+# else
+# define LTDL_GLOBAL 0
+# endif
+#endif
+
+/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LTDL_LAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LTDL_LAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LTDL_LAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LTDL_LAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LTDL_LAZY_OR_NOW DL_NOW
+# else
+# define LTDL_LAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+fnord() { int i=42;}
+main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
+ if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
+ if(ptr1 || ptr2) exit(0); } exit(1); }
+
+EOF
+if { (eval echo $progname:2302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+ lt_cv_dlopen_self=yes
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ lt_cv_dlopen_self=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$lt_cv_dlopen_self" 1>&6
+
+ if test "$lt_cv_dlopen_self" = yes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
+echo "$progname:2321: checking whether a statically linked program can dlopen itself" >&5
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ lt_cv_dlopen_self_static=cross
+ else
+ cat > conftest.c <<EOF
+#line 2329 "ltconfig"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LTDL_GLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LTDL_GLOBAL DL_GLOBAL
+# else
+# define LTDL_GLOBAL 0
+# endif
+#endif
+
+/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LTDL_LAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LTDL_LAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LTDL_LAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LTDL_LAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LTDL_LAZY_OR_NOW DL_NOW
+# else
+# define LTDL_LAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+fnord() { int i=42;}
+main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
+ if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
+ if(ptr1 || ptr2) exit(0); } exit(1); }
+
+EOF
+if { (eval echo $progname:2375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+ lt_cv_dlopen_self_static=yes
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ lt_cv_dlopen_self_static=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
+fi
+ ;;
+ esac
+
+ case "$lt_cv_dlopen_self" in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case "$lt_cv_dlopen_self_static" in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
# Copy echo and quote the copy, instead of the original, because it is
# used later.
ltecho="$echo"
+if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ ltecho="$CONFIG_SHELL \$0 --fallback-echo"
+fi
+LTSHELL="$SHELL"
-# Now quote all the things that may contain metacharacters.
-for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
- old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM DLLTOOL AS reload_flag \
- reload_cmds wl pic_flag link_static_flag no_builtin_flag \
- export_dynamic_flag_spec whole_archive_flag_spec libname_spec \
- library_names_spec soname_spec RANLIB \
- old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
- old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
- allow_undefined_flag no_undefined_flag objext libext \
- finish_cmds finish_eval global_symbol_pipe fix_srcfile_path \
- hardcode_libdir_flag_spec hardcode_libdir_separator; do
-
- case "$var" in
- reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
- postinstall_cmds | postuninstall_cmds | finish_cmds)
- # Double-quote double-evaled strings.
- eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
- ;;
- *)
- eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`"
+LTCONFIG_VERSION="$VERSION"
+
+# Only quote variables if we're using ltmain.sh.
+case "$ltmain" in
+*.sh)
+ # Now quote all the things that may contain metacharacters.
+ for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
+ old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
+ reload_flag reload_cmds wl \
+ pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
+ thread_safe_flag_spec whole_archive_flag_spec libname_spec \
+ library_names_spec soname_spec \
+ RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+ old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \
+ file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \
+ finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+ hardcode_libdir_flag_spec hardcode_libdir_separator \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
+
+ case "$var" in
+ reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case "$ltecho" in
+ *'\$0 --fallback-echo"')
+ ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
;;
esac
-done
-trap "$rm \"$ofile\"; exit 1" 1 2 15
-echo "creating $ofile"
-$rm "$ofile"
-cat <<EOF > "$ofile"
+ trap "$rm \"$ofile\"; exit 1" 1 2 15
+ echo "creating $ofile"
+ $rm "$ofile"
+ cat <<EOF > "$ofile"
#! $SHELL
# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
#
-# Copyright (C) 1996-1998 Free Software Foundation, Inc.
+# Copyright (C) 1996-1999 Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
@@ -1530,10 +2491,34 @@ Xsed="sed -e s/^X//"
if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
### BEGIN LIBTOOL CONFIG
+EOF
+ cfgfile="$ofile"
+ ;;
+
+*)
+ # Double-quote the variables that need it (for aesthetics).
+ for var in old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
+ old_LN_S old_DLLTOOL old_AS; do
+ eval "$var=\\\"\$var\\\""
+ done
+
+ # Just create a config file.
+ cfgfile="$ofile.cfg"
+ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+ echo "creating $cfgfile"
+ $rm "$cfgfile"
+ cat <<EOF > "$cfgfile"
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+EOF
+ ;;
+esac
+
+cat <<EOF >> "$cfgfile"
# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
-# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
-# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
+# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
+# LD=$old_LD NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\
# DLLTOOL="$old_DLLTOOL" AS="$old_AS" \\
# $0$ltconfig_args
#
@@ -1541,10 +2526,10 @@ if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
# debugging $progname, is in ./config.log if it exists.
# The version of $progname that generated this script.
-LTCONFIG_VERSION="$VERSION"
+LTCONFIG_VERSION=$LTCONFIG_VERSION
# Shell to use when invoking shell scripts.
-SHELL="$SHELL"
+SHELL=$LTSHELL
# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared
@@ -1552,43 +2537,46 @@ build_libtool_libs=$enable_shared
# Whether or not to build static libraries.
build_old_libs=$enable_static
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
# The host system.
-host_alias="$host_alias"
-host="$host"
+host_alias=$host_alias
+host=$host
# An echo program that does not interpret backslashes.
-echo="$ltecho"
+echo=$ltecho
# The archiver.
-AR="$AR"
+AR=$AR
# The default C compiler.
-CC="$CC"
+CC=$CC
# The linker used to build libraries.
-LD="$LD"
+LD=$LD
# Whether we need hard or soft links.
-LN_S="$LN_S"
+LN_S=$LN_S
# A BSD-compatible nm program.
-NM="$NM"
+NM=$NM
-# Used on cygwin32: DLL creation program.
+# Used on cygwin: DLL creation program.
DLLTOOL="$DLLTOOL"
-# Used on cygwin32: assembler.
+# Used on cygwin: assembler.
AS="$AS"
# The name of the directory that contains temporary libtool files.
-objdir="$objdir"
+objdir=$objdir
# How to create reloadable object files.
-reload_flag="$reload_flag"
-reload_cmds="$reload_cmds"
+reload_flag=$reload_flag
+reload_cmds=$reload_cmds
# How to pass a linker flag through the compiler.
-wl="$wl"
+wl=$wl
# Object file suffix (normally "o").
objext="$objext"
@@ -1597,61 +2585,98 @@ objext="$objext"
libext="$libext"
# Additional compiler flags for building library objects.
-pic_flag="$pic_flag"
+pic_flag=$pic_flag
+
+# Does compiler simultaneously support -c and -o options
+compiler_c_o=$compiler_c_o
+
+# Can we write directly to a .lo ?
+compiler_o_lo=$compiler_o_lo
+
+# Must we lock files when doing compilation ?
+need_locks=$need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
# Compiler flag to prevent dynamic linking.
-link_static_flag="$link_static_flag"
+link_static_flag=$link_static_flag
# Compiler flag to turn off builtin functions.
-no_builtin_flag="$no_builtin_flag"
+no_builtin_flag=$no_builtin_flag
# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="$export_dynamic_flag_spec"
+export_dynamic_flag_spec=$export_dynamic_flag_spec
# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="$whole_archive_flag_spec"
+whole_archive_flag_spec=$whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$thread_safe_flag_spec
# Library versioning type.
version_type=$version_type
# Format of library name prefix.
-libname_spec="$libname_spec"
+libname_spec=$libname_spec
# List of archive names. First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME.
-library_names_spec="$library_names_spec"
+library_names_spec=$library_names_spec
# The coded name of the library, if different from the real name.
-soname_spec="$soname_spec"
+soname_spec=$soname_spec
# Commands used to build and install an old-style archive.
-RANLIB="$RANLIB"
-old_archive_cmds="$old_archive_cmds"
-old_postinstall_cmds="$old_postinstall_cmds"
-old_postuninstall_cmds="$old_postuninstall_cmds"
+RANLIB=$RANLIB
+old_archive_cmds=$old_archive_cmds
+old_postinstall_cmds=$old_postinstall_cmds
+old_postuninstall_cmds=$old_postuninstall_cmds
# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds="$old_archive_from_new_cmds"
+old_archive_from_new_cmds=$old_archive_from_new_cmds
# Commands used to build and install a shared archive.
-archive_cmds="$archive_cmds"
-postinstall_cmds="$postinstall_cmds"
-postuninstall_cmds="$postuninstall_cmds"
+archive_cmds=$archive_cmds
+archive_expsym_cmds=$archive_expsym_cmds
+postinstall_cmds=$postinstall_cmds
+postuninstall_cmds=$postuninstall_cmds
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic
+file_magic_cmd=$file_magic_cmd
# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag="$allow_undefined_flag"
+allow_undefined_flag=$allow_undefined_flag
# Flag that forces no undefined symbols.
-no_undefined_flag="$no_undefined_flag"
+no_undefined_flag=$no_undefined_flag
# Commands used to finish a libtool library installation in a directory.
-finish_cmds="$finish_cmds"
+finish_cmds=$finish_cmds
# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval="$finish_eval"
+finish_eval=$finish_eval
# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="$global_symbol_pipe"
+global_symbol_pipe=$global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$global_symbol_to_cdecl
# This is the shared library runtime path variable.
runpath_var=$runpath_var
@@ -1659,15 +2684,18 @@ runpath_var=$runpath_var
# This is the shared library path variable.
shlibpath_var=$shlibpath_var
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
# How to hardcode a shared library path into an executable.
hardcode_action=$hardcode_action
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec"
+hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator="$hardcode_libdir_separator"
+hardcode_libdir_separator=$hardcode_libdir_separator
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
@@ -1681,13 +2709,36 @@ hardcode_minus_L=$hardcode_minus_L
# the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
+
# Fix the shell variable \$srcfile for the compiler.
fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required
+always_export_symbols=$always_export_symbols
+
+# The command to extract exported symbols
+export_symbols_cmds=$export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols
+exclude_expsyms=$exclude_expsyms
+
+# Symbols that must always be exported
+include_expsyms=$include_expsyms
+
EOF
-case "$host_os" in
-aix3*)
- cat <<\EOF >> "$ofile"
+case "$ltmain" in
+*.sh)
+ echo '### END LIBTOOL CONFIG' >> "$ofile"
+ echo >> "$ofile"
+ case "$host_os" in
+ aix3*)
+ cat <<\EOF >> "$ofile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
@@ -1697,16 +2748,72 @@ if test "${COLLECT_NAMES+set}" != set; then
export COLLECT_NAMES
fi
EOF
+ ;;
+ esac
+
+ # Append the ltmain.sh script.
+ cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
+
+ chmod +x "$ofile"
+ ;;
+
+*)
+ # Compile the libtool program.
+ echo "FIXME: would compile $ltmain"
;;
esac
-echo '### END LIBTOOL CONFIG' >> "$ofile"
-echo >> "$ofile"
+test -n "$cache_file" || exit 0
-# Append the ltmain.sh script.
-cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
+# AC_CACHE_SAVE
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
-chmod +x "$ofile"
exit 0
# Local Variables:
diff --git a/ltmain.sh b/ltmain.sh
index eee5763387b..bfc7e9d7ad3 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,7 +1,7 @@
# ltmain.sh - Provide generalized library-building support services.
# NOTE: Changing this file will not affect anything until you rerun ltconfig.
#
-# Copyright (C) 1996-1998 Free Software Foundation, Inc.
+# Copyright (C) 1996-1999 Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
@@ -27,6 +27,13 @@
if test "X$1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
+elif test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit 0
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
# Yippee, $echo works!
:
@@ -42,7 +49,8 @@ modename="$progname"
# Constants.
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION=1.2b
+VERSION=1.2f
+TIMESTAMP=" (1.385 1999/03/15 17:24:54)"
default_mode=
help="Try \`$progname --help' for more information."
@@ -53,8 +61,10 @@ rm="rm -f"
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+SP2NL='tr \040 \012'
+NL2SP='tr \012 \040'
# NLS nuisances.
# Only set LANG and LC_ALL to C if already set.
@@ -90,7 +100,6 @@ show="$echo"
show_help=
execute_dlfiles=
lo2o="s/\\.lo\$/.${objext}/"
-los2o="s/\\.lo /.${objext} /g"
# Parse our command line options once, thoroughly.
while test $# -gt 0
@@ -126,7 +135,7 @@ do
;;
--version)
- echo "$PROGRAM (GNU $PACKAGE) $VERSION"
+ echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
exit 0
;;
@@ -201,12 +210,12 @@ if test -z "$show_help"; then
mode=link
for arg
do
- case "$arg" in
- -c)
- mode=compile
- break
- ;;
- esac
+ case "$arg" in
+ -c)
+ mode=compile
+ break
+ ;;
+ esac
done
;;
*db | *dbx | *strace | *truss)
@@ -224,11 +233,11 @@ if test -z "$show_help"; then
# Just use the default operation mode.
if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
+ if test -n "$nonopt"; then
+ $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+ else
+ $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+ fi
fi
;;
esac
@@ -256,14 +265,17 @@ if test -z "$show_help"; then
srcfile="$nonopt"
suppress_output=
+ user_target=no
for arg
do
# Accept any command-line options.
case "$arg" in
-o)
- $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
- $echo "$help" 1>&2
- exit 1
+ if test "$user_target" != "no"; then
+ $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+ exit 1
+ fi
+ user_target=next
;;
-static)
@@ -272,6 +284,20 @@ if test -z "$show_help"; then
;;
esac
+ case "$user_target" in
+ next)
+ # The next one is the -o target name
+ user_target=yes
+ continue
+ ;;
+ yes)
+ # We got the output file
+ user_target=set
+ libobj="$arg"
+ continue
+ ;;
+ esac
+
# Accept the current argument as the source file.
lastarg="$srcfile"
srcfile="$arg"
@@ -300,11 +326,22 @@ if test -z "$show_help"; then
fi
done
- # Get the name of the library object.
- libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+ case "$user_target" in
+ set)
+ ;;
+ no)
+ # Get the name of the library object.
+ libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+ ;;
+ *)
+ $echo "$modename: you must specify a target with \`-o'" 1>&2
+ exit 1
+ ;;
+ esac
# Recognize several different file suffixes.
- xform='[cCFSfms]'
+ # If the user specifies -o file.o, it is replaced with file.lo
+ xform='[cCFSfmso]'
case "$libobj" in
*.ada) xform=ada ;;
*.adb) xform=adb ;;
@@ -323,7 +360,7 @@ if test -z "$show_help"; then
case "$libobj" in
*.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
*)
- $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
+ $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
exit 1
;;
esac
@@ -336,11 +373,50 @@ if test -z "$show_help"; then
# Delete any leftover library objects.
if test "$build_old_libs" = yes; then
- $run $rm $obj $libobj
- trap "$run $rm $obj $libobj; exit 1" 1 2 15
+ removelist="$obj $libobj"
+ else
+ removelist="$libobj"
+ fi
+
+ $run $rm $removelist
+ trap "$run $rm $removelist; exit 1" 1 2 15
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ removelist="$removelist $output_obj $lockfile"
+ trap "$run $rm $removelist; exit 1" 1 2 15
else
- $run $rm $libobj
- trap "$run $rm $libobj; exit 1" 1 2 15
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until ln "$0" "$lockfile" 2>/dev/null; do
+ $show "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit 1
+ fi
+ echo $srcfile > "$lockfile"
fi
if test -n "$fix_srcfile_path"; then
@@ -353,23 +429,101 @@ if test -z "$show_help"; then
fbsd_hideous_sh_bug=$base_compile
# All platforms use -DPIC, to notify preprocessed assembler code.
- $show "$base_compile$pic_flag -DPIC $srcfile"
- if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :
+ command="$base_compile $pic_flag -DPIC $srcfile"
+ if test "$build_old_libs" = yes; then
+ lo_libobj="$libobj"
+ dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$dir" = "X$libobj"; then
+ dir="$objdir"
+ else
+ dir="$dir/$objdir"
+ fi
+ libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
+
+ if test -d "$dir"; then
+ $show "$rm $libobj"
+ $run $rm $libobj
+ else
+ $show "$mkdir $dir"
+ $run $mkdir $dir
+ status=$?
+ if test $status -ne 0 && test ! -d $dir; then
+ exit $status
+ fi
+ fi
+ fi
+ if test "$compiler_o_lo" = yes; then
+ output_obj="$libobj"
+ command="$command -o $output_obj"
+ elif test "$compiler_c_o" = yes; then
+ output_obj="$obj"
+ command="$command -o $output_obj"
+ fi
+
+ $show "$command"
+ if $run eval "$command"; then :
else
- test -n "$obj" && $run $rm $obj
- exit 1
+ test -n "$output_obj" && $run $rm $removelist
+ exit 1
fi
- # If we have no pic_flag, then copy the object into place and finish.
- if test -z "$pic_flag"; then
- $show "$LN_S $obj $libobj"
- $run $LN_S $obj $libobj
- exit $?
+ if test "$need_locks" = warn &&
+ test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+ echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit 1
fi
- # Just move the object, then go on to compile the next one
- $show "$mv $obj $libobj"
- $run $mv $obj $libobj || exit $?
+ # Just move the object if needed, then go on to compile the next one
+ if test x"$output_obj" != x"$libobj"; then
+ $show "$mv $output_obj $libobj"
+ if $run $mv $output_obj $libobj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+
+ # If we have no pic_flag, then copy the object into place and finish.
+ if test -z "$pic_flag" && test "$build_old_libs" = yes; then
+ # Rename the .lo from within objdir to obj
+ if test -f $obj; then
+ $show $rm $obj
+ $run $rm $obj
+ fi
+
+ $show "$mv $libobj $obj"
+ if $run $mv $libobj $obj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+
+ # Now arrange that obj and lo_libobj become the same file
+ $show "$LN_S $obj $lo_libobj"
+ if $run $LN_S $obj $lo_libobj; then
+ exit 0
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
# Allow error messages only from the first compilation.
suppress_output=' >/dev/null 2>&1'
@@ -377,20 +531,72 @@ if test -z "$show_help"; then
# Only build a position-dependent object if we build old libraries.
if test "$build_old_libs" = yes; then
+ command="$base_compile $srcfile"
+ if test "$compiler_c_o" = yes; then
+ command="$command -o $obj"
+ output_obj="$obj"
+ fi
+
# Suppress compiler output if we already did a PIC compilation.
- $show "$base_compile $srcfile$suppress_output"
- if $run eval "$base_compile \$srcfile$suppress_output"; then :
+ command="$command$suppress_output"
+ $show "$command"
+ if $run eval "$command"; then :
+ else
+ $run $rm $removelist
+ exit 1
+ fi
+
+ if test "$need_locks" = warn &&
+ test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+ echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit 1
+ fi
+
+ # Just move the object if needed
+ if test x"$output_obj" != x"$obj"; then
+ $show "$mv $output_obj $obj"
+ if $run $mv $output_obj $obj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we do not
+ # accidentally link it into a program.
+ if test "$build_libtool_libs" != yes; then
+ $show "echo timestamp > $libobj"
+ $run eval "echo timestamp > \$libobj" || exit $?
else
- $run $rm $obj $libobj
- exit 1
+ # Move the .lo from within objdir
+ $show "$mv $libobj $lo_libobj"
+ if $run $mv $libobj $lo_libobj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
fi
fi
- # Create an invalid libtool object if no PIC, so that we do not
- # accidentally link it into a program.
- if test "$build_libtool_libs" != yes; then
- $show "echo timestamp > $libobj"
- $run eval "echo timestamp > \$libobj" || exit $?
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ $rm "$lockfile"
fi
exit 0
@@ -399,31 +605,225 @@ if test -z "$show_help"; then
# libtool link mode
link)
modename="$modename: link"
+ C_compiler="$CC" # save it, to compile generated C sources
CC="$nonopt"
- allow_undefined=yes
+ case "$host" in
+ *-*-cygwin* | *-*-mingw* | *-*-os2*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invokation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+
+ # This is a source program that is used to create dlls on Windows
+ # Don't remove nor modify the starting and closing comments
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+#
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+# __hDllInstance_base = hInst;
+# return TRUE;
+# }
+# /* ltdll.c ends here */
+ # This is a source program that is used to create import libraries
+ # on Windows for dlls which lack them. Don't remove nor modify the
+ # starting and closing comments
+# /* impgen.c starts here */
+# /* Copyright (C) 1999 Free Software Foundation, Inc.
+#
+# This file is part of GNU libtool.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# */
+#
+# #include <stdio.h> /* for printf() */
+# #include <unistd.h> /* for open(), lseek(), read() */
+# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
+# #include <string.h> /* for strdup() */
+#
+# static unsigned int
+# pe_get16 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[2];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 2);
+# return b[0] + (b[1]<<8);
+# }
+#
+# static unsigned int
+# pe_get32 (fd, offset)
+# int fd;
+# int offset;
+# {
+# unsigned char b[4];
+# lseek (fd, offset, SEEK_SET);
+# read (fd, b, 4);
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# static unsigned int
+# pe_as32 (ptr)
+# void *ptr;
+# {
+# unsigned char *b = ptr;
+# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+# }
+#
+# int
+# main (argc, argv)
+# int argc;
+# char *argv[];
+# {
+# int dll;
+# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
+# unsigned long export_rva, export_size, nsections, secptr, expptr;
+# unsigned long name_rvas, nexp;
+# unsigned char *expdata, *erva;
+# char *filename, *dll_name;
+#
+# filename = argv[1];
+#
+# dll = open(filename, O_RDONLY|O_BINARY);
+# if (!dll)
+# return 1;
+#
+# dll_name = filename;
+#
+# for (i=0; filename[i]; i++)
+# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
+# dll_name = filename + i +1;
+#
+# pe_header_offset = pe_get32 (dll, 0x3c);
+# opthdr_ofs = pe_header_offset + 4 + 20;
+# num_entries = pe_get32 (dll, opthdr_ofs + 92);
+#
+# if (num_entries < 1) /* no exports */
+# return 1;
+#
+# export_rva = pe_get32 (dll, opthdr_ofs + 96);
+# export_size = pe_get32 (dll, opthdr_ofs + 100);
+# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
+# secptr = (pe_header_offset + 4 + 20 +
+# pe_get16 (dll, pe_header_offset + 4 + 16));
+#
+# expptr = 0;
+# for (i = 0; i < nsections; i++)
+# {
+# char sname[8];
+# unsigned long secptr1 = secptr + 40 * i;
+# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
+# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
+# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
+# lseek(dll, secptr1, SEEK_SET);
+# read(dll, sname, 8);
+# if (vaddr <= export_rva && vaddr+vsize > export_rva)
+# {
+# expptr = fptr + (export_rva - vaddr);
+# if (export_rva + export_size > vaddr + vsize)
+# export_size = vsize - (export_rva - vaddr);
+# break;
+# }
+# }
+#
+# expdata = (unsigned char*)malloc(export_size);
+# lseek (dll, expptr, SEEK_SET);
+# read (dll, expdata, export_size);
+# erva = expdata - export_rva;
+#
+# nexp = pe_as32 (expdata+24);
+# name_rvas = pe_as32 (expdata+32);
+#
+# printf ("EXPORTS\n");
+# for (i = 0; i<nexp; i++)
+# {
+# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
+# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
+# }
+#
+# return 0;
+# }
+# /* impgen.c ends here */
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
compile_command="$CC"
finalize_command="$CC"
+ compile_rpath=
+ finalize_rpath=
compile_shlibpath=
finalize_shlibpath=
convenience=
old_convenience=
deplibs=
+ linkopts=
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ else
+ lib_search_path=
+ fi
+ # now prepend the system-specific ones
+ eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ avoid_version=no
dlfiles=
dlprefiles=
+ dlself=no
export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
generated=
- hardcode_libdirs=
libobjs=
link_against_libtool_libs=
ltlibs=
+ module=no
objs=
+ preload=no
prev=
prevarg=
release=
rpath=
+ xrpath=
perm_rpath=
temp_rpath=
+ thread_safe=no
vinfo=
# We need to know -static, to get the right output filenames.
@@ -431,13 +831,13 @@ if test -z "$show_help"; then
do
case "$arg" in
-all-static | -static)
- if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
$echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
- fi
- build_libtool_libs=no
+ fi
+ build_libtool_libs=no
build_old_libs=yes
- break
- ;;
+ break
+ ;;
esac
done
@@ -451,40 +851,74 @@ if test -z "$show_help"; then
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
- case "$prev" in
- output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
- ;;
- esac
-
- case "$prev" in
- dlfiles|dlprefiles)
- case "$arg" in
- *.la | *.lo) ;; # We handle these cases below.
- *)
- dlprefiles="$dlprefiles $arg"
- test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
- prev=
- ;;
- esac
- ;;
+ case "$prev" in
+ output)
+ compile_command="$compile_command @OUTPUT@"
+ finalize_command="$finalize_command @OUTPUT@"
+ ;;
+ esac
+
+ case "$prev" in
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ compile_command="$compile_command @SYMFILE@"
+ finalize_command="$finalize_command @SYMFILE@"
+ preload=yes
+ fi
+ case "$arg" in
+ *.la | *.lo) ;; # We handle these cases below.
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ dlprefiles="$dlprefiles $arg"
+ test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
+ prev=
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ if test ! -f "$arg"; then
+ $echo "$modename: symbol file \`$arg' does not exist"
+ exit 1
+ fi
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
release)
release="-$arg"
prev=
continue
;;
- rpath)
- rpath="$rpath $arg"
+ rpath)
+ rpath="$rpath $arg"
prev=
continue
;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
+ xrpath)
+ xrpath="$xrpath $arg"
+ prev=
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
fi
prevarg="$arg"
@@ -492,10 +926,11 @@ if test -z "$show_help"; then
case "$arg" in
-all-static)
if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
+ compile_command="$compile_command $link_static_flag"
finalize_command="$finalize_command $link_static_flag"
- fi
- continue
+ dlopen_self=$dlopen_self_static
+ fi
+ continue
;;
-allow-undefined)
@@ -504,47 +939,91 @@ if test -z "$show_help"; then
continue
;;
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
-dlopen)
- prev=dlfiles
- continue
- ;;
+ prev=dlfiles
+ continue
+ ;;
-dlpreopen)
- prev=dlprefiles
- continue
- ;;
+ prev=dlprefiles
+ continue
+ ;;
-export-dynamic)
- if test "$export_dynamic" != yes; then
- export_dynamic=yes
+ if test "$export_dynamic" != yes; then
+ export_dynamic=yes
if test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
else
arg=
fi
+ fi
+ ;;
- # Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
- fi
- ;;
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ $echo "$modename: cannot have more than one -exported-symbols"
+ exit 1
+ fi
+ if test "$arg" = "-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
-L*)
- dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
- case "$dir" in
- /* | [A-Za-z]:[/\\]*)
+ dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
+ case "$dir" in
+ /* | [A-Za-z]:[/\\]*)
# Add the corresponding hardcode_libdir_flag, if it is not identical.
- ;;
- *)
- $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
- exit 1
- ;;
- esac
- deplibs="$deplibs $arg"
- ;;
+ ;;
+ *)
+ $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
+ exit 1
+ ;;
+ esac
+ case " $deplibs " in
+ *" $arg "*) ;;
+ *) deplibs="$deplibs $arg";;
+ esac
+ case " $lib_search_path " in
+ *" $dir "*) ;;
+ *) lib_search_path="$lib_search_path $dir";;
+ esac
+ case "$host" in
+ *-*-cygwin* | *-*-mingw* | *-*-os2*)
+ dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
+ case ":$dllsearchpath:" in
+ ::) dllsearchpath="$dllsearchdir";;
+ *":$dllsearchdir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$dllsearchdir";;
+ esac
+ ;;
+ esac
+ ;;
- -l*) deplibs="$deplibs $arg" ;;
+ -l*)
+ deplibs="$deplibs $arg"
+ ;;
+ -module)
+ if test "$module" != yes; then
+ module=yes
+ if test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ else
+ arg=
+ fi
+ fi
+ ;;
+
-no-undefined)
allow_undefined=no
continue
@@ -558,23 +1037,39 @@ if test -z "$show_help"; then
;;
-rpath)
- prev=rpath
- continue
- ;;
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ xrpath="$xrpath "`$echo "X$arg" | $Xsed -e 's/^-R//'`
+ continue
+ ;;
-static)
# If we have no pic_flag, then this is the same as -all-static.
if test -z "$pic_flag" && test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
+ compile_command="$compile_command $link_static_flag"
finalize_command="$finalize_command $link_static_flag"
- fi
+ dlopen_self=$dlopen_self_static
+ fi
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
continue
;;
-version-info)
- prev=vinfo
- continue
- ;;
+ prev=vinfo
+ continue
+ ;;
# Some other compiler flag.
-* | +*)
@@ -586,18 +1081,18 @@ if test -z "$show_help"; then
arg="\"$arg\""
;;
esac
- ;;
+ ;;
*.o | *.obj | *.a | *.lib)
- # A standard object.
- objs="$objs $arg"
- ;;
+ # A standard object.
+ objs="$objs $arg"
+ ;;
*.lo)
- # A library object.
+ # A library object.
if test "$prev" = dlfiles; then
dlfiles="$dlfiles $arg"
- if test "$build_libtool_libs" = yes; then
+ if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then
prev=
continue
else
@@ -612,205 +1107,264 @@ if test -z "$show_help"; then
prev=
fi
libobjs="$libobjs $arg"
- ;;
+ ;;
*.la)
- # A libtool-controlled library.
-
- dlname=
- libdir=
- library_names=
- old_library=
-
- # Check to see that this really is a libtool archive.
- if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
- exit 1
- fi
-
- # If there is no directory component, then add one.
- case "$arg" in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
-
- if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
- exit 1
- fi
-
- # Find the relevant object directory and library name.
- name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
- dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$arg"; then
- dir="$objdir"
- else
- dir="$dir/$objdir"
- fi
-
- if test -z "$libdir"; then
+ # A libtool-controlled library.
+
+ dlname=
+ libdir=
+ library_names=
+ old_library=
+
+ # Check to see that this really is a libtool archive.
+ if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
+ exit 1
+ fi
+
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variable installed.
+ installed=yes
+
+ # If there is no directory component, then add one.
+ case "$arg" in
+ */* | *\\*) . $arg ;;
+ *) . ./$arg ;;
+ esac
+
+ # Get the name of the library we link against.
+ linklib=
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+
+ if test -z "$linklib"; then
+ $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
+ exit 1
+ fi
+
+ # Find the relevant object directory and library name.
+ name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
+
+ if test "X$installed" = Xyes; then
+ dir="$libdir"
+ else
+ dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$dir" = "X$arg"; then
+ dir="$objdir"
+ else
+ dir="$dir/$objdir"
+ fi
+ fi
+
+ if test -n "$dependency_libs"; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for deplib in $dependency_libs; do
+ case "$deplib" in
+ -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+ case " $rpath $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) xrpath="$xrpath $temp_xrpath";;
+ esac;;
+ -L*) case "$compile_command $temp_deplibs " in
+ *" $deplib "*) ;;
+ *) temp_deplibs="$temp_deplibs $deplib";;
+ esac;;
+ *) temp_deplibs="$temp_deplibs $deplib";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ if test -z "$libdir"; then
# It is a libtool convenience library, so add in its objects.
- convenience="$convenience $dir/$old_library"l
+ convenience="$convenience $dir/$old_library"
old_convenience="$old_convenience $dir/$old_library"
- compile_command="$compile_command $dir/$old_library"
- finalize_command="$finalize_command $dir/$old_library"
+ deplibs="$deplibs$dependency_libs"
+ compile_command="$compile_command $dir/$old_library$dependency_libs"
+ finalize_command="$finalize_command $dir/$old_library$dependency_libs"
continue
fi
- # This library was specified with -dlopen.
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- if test -z "$dlname"; then
- # If there is no dlname, we need to preload.
- prev=dlprefiles
- else
- # We should not create a dependency on this library, but we
+ # This library was specified with -dlopen.
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking statically,
+ # we need to preload.
+ prev=dlprefiles
+ else
+ # We should not create a dependency on this library, but we
# may need any libraries it requires.
compile_command="$compile_command$dependency_libs"
finalize_command="$finalize_command$dependency_libs"
- prev=
- continue
- fi
- fi
-
- # The library was specified with -dlpreopen.
- if test "$prev" = dlprefiles; then
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- dlprefiles="$dlprefiles $dir/$old_library"
- else
- dlprefiles="$dlprefiles $dir/$linklib"
- fi
- prev=
- fi
-
- if test "$build_libtool_libs" = yes && test -n "$library_names"; then
- link_against_libtool_libs="$link_against_libtool_libs $arg"
- if test -n "$shlibpath_var"; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *) temp_rpath="$temp_rpath $dir" ;;
- esac
- fi
+ prev=
+ continue
+ fi
+ fi
+
+ # The library was specified with -dlpreopen.
+ if test "$prev" = dlprefiles; then
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ dlprefiles="$dlprefiles $dir/$old_library"
+ else
+ dlprefiles="$dlprefiles $dir/$linklib"
+ fi
+ prev=
+ fi
+ if test "$build_libtool_libs" = yes && test -n "$library_names"; then
+ link_against_libtool_libs="$link_against_libtool_libs $arg"
+ if test -n "$shlibpath_var"; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath " in
+ *" $dir "*) ;;
+ *) temp_rpath="$temp_rpath $dir" ;;
+ esac
+ fi
+
+ # We need an absolute path.
+ case "$dir" in
+ /* | [A-Za-z]:[/\\]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ $echo "$modename: cannot determine absolute directory name of \`$libdir'" 1>&2
+ exit 1
+ fi
+ ;;
+ esac
+
# This is the magic to use -rpath.
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- # Put the magic libdir with the hardcode flag.
- hardcode_libdirs="$libdir"
- libdir="@HARDCODE_LIBDIRS@"
- else
- # Just accumulate the unique libdirs.
- case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- libdir=
- fi
- fi
-
- if test -n "$libdir"; then
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- compile_command="$compile_command $flag"
- finalize_command="$finalize_command $flag"
- fi
- elif test -n "$runpath_var"; then
- # Do the same for the permanent run path.
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
+ # Skip directories that are in the system default run-time
+ # search path, unless they have been requested with -R.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
lib_linked=yes
- case "$hardcode_action" in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- compile_command="$compile_command $dir/$linklib"
- elif test "$hardcode_minus_L" = no; then
+ case "$hardcode_action" in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ compile_command="$compile_command $dir/$linklib"
+ deplibs="$deplibs $dir/$linklib"
+ case "$host" in
+ *-*-cygwin* | *-*-mingw* | *-*-os2*)
+ dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
+ if test -n "$dllsearchpath"; then
+ dllsearchpath="$dllsearchpath:$dllsearchdir"
+ else
+ dllsearchpath="$dllsearchdir"
+ fi
+ ;;
+ esac
+ elif test "$hardcode_minus_L" = no; then
case "$host" in
*-*-sunos*)
- compile_shlibpath="$compile_shlibpath$dir:"
+ compile_shlibpath="$compile_shlibpath$dir:"
;;
esac
- compile_command="$compile_command -L$dir -l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- compile_shlibpath="$compile_shlibpath$dir:"
- compile_command="$compile_command -l$name"
+ case "$compile_command " in
+ *" -L$dir "*) ;;
+ *) compile_command="$compile_command -L$dir";;
+ esac
+ compile_command="$compile_command -l$name"
+ deplibs="$deplibs -L$dir -l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ case ":$compile_shlibpath:" in
+ *":$dir:"*) ;;
+ *) compile_shlibpath="$compile_shlibpath$dir:";;
+ esac
+ compile_command="$compile_command -l$name"
+ deplibs="$deplibs -l$name"
else
lib_linked=no
- fi
- ;;
-
- relink)
- # We need an absolute path.
- case "$dir" in
- /* | [A-Za-z]:[/\\]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- exit 1
- fi
- dir="$absdir"
- ;;
- esac
-
- if test "$hardcode_direct" = yes; then
- compile_command="$compile_command $dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- compile_command="$compile_command -L$dir -l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- compile_shlibpath="$compile_shlibpath$dir:"
- compile_command="$compile_command -l$name"
+ fi
+ ;;
+
+ relink)
+ if test "$hardcode_direct" = yes; then
+ compile_command="$compile_command $absdir/$linklib"
+ deplibs="$deplibs $absdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ case "$compile_command " in
+ *" -L$absdir "*) ;;
+ *) compile_command="$compile_command -L$absdir";;
+ esac
+ compile_command="$compile_command -l$name"
+ deplibs="$deplibs -L$absdir -l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case ":$compile_shlibpath:" in
+ *":$absdir:"*) ;;
+ *) compile_shlibpath="$compile_shlibpath$absdir:";;
+ esac
+ compile_command="$compile_command -l$name"
+ deplibs="$deplibs -l$name"
else
lib_linked=no
- fi
- ;;
+ fi
+ ;;
*)
lib_linked=no
;;
- esac
+ esac
if test "$lib_linked" != yes; then
$echo "$modename: configuration error: unsupported hardcode properties"
exit 1
fi
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
- finalize_command="$finalize_command $libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- finalize_command="$finalize_command -L$libdir -l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- finalize_shlibpath="$finalize_shlibpath$libdir:"
- finalize_command="$finalize_command -l$name"
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- finalize_command="$finalize_command -L$libdir -l$name"
- fi
- else
- # Transform directly to old archives if we don't build new libraries.
- if test -n "$pic_flag" && test -z "$old_library"; then
- $echo "$modename: cannot find static library for \`$arg'" 1>&2
- exit 1
- fi
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes; then
+ finalize_command="$finalize_command $libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ case "$finalize_command " in
+ *" -L$libdir "*) ;;
+ *) finalize_command="$finalize_command -L$libdir";;
+ esac
+ finalize_command="$finalize_command -l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case ":$finalize_shlibpath:" in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:";;
+ esac
+ finalize_command="$finalize_command -l$name"
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ case "$finalize_command " in
+ *" -L$dir "*) ;;
+ *) finalize_command="$finalize_command -L$libdir";;
+ esac
+ finalize_command="$finalize_command -l$name"
+ fi
+ else
+ # Transform directly to old archives if we don't build new libraries.
+ if test -n "$pic_flag" && test -z "$old_library"; then
+ $echo "$modename: cannot find static library for \`$arg'" 1>&2
+ exit 1
+ fi
# Here we assume that one of hardcode_direct or hardcode_minus_L
# is not unsupported. This is valid on all known static and
@@ -820,16 +1374,24 @@ if test -z "$show_help"; then
compile_command="$compile_command $dir/$linklib"
finalize_command="$finalize_command $dir/$linklib"
else
- compile_command="$compile_command -L$dir -l$name"
- finalize_command="$finalize_command -L$dir -l$name"
+ case "$compile_command " in
+ *" -L$dir "*) ;;
+ *) compile_command="$compile_command -L$dir";;
+ esac
+ compile_command="$compile_command -l$name"
+ case "$finalize_command " in
+ *" -L$dir "*) ;;
+ *) finalize_command="$finalize_command -L$dir";;
+ esac
+ finalize_command="$finalize_command -l$name"
fi
- fi
+ fi
# Add in any libraries that this one depends upon.
compile_command="$compile_command$dependency_libs"
finalize_command="$finalize_command$dependency_libs"
continue
- ;;
+ ;;
# Some other compiler argument.
*)
@@ -841,7 +1403,7 @@ if test -z "$show_help"; then
arg="\"$arg\""
;;
esac
- ;;
+ ;;
esac
# Now actually substitute the argument into the commands.
@@ -858,6 +1420,10 @@ if test -z "$show_help"; then
fi
oldlibs=
+ # calculate the name of the file, without its directory
+ outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+ libobjs_save="$libobjs"
+
case "$output" in
"")
$echo "$modename: you must specify an output file" 1>&2
@@ -865,36 +1431,38 @@ if test -z "$show_help"; then
exit 1
;;
- */* | *\\*)
- $echo "$modename: output file \`$output' must have no directory components" 1>&2
- $echo "$help" 1>&2
- exit 1
- ;;
-
*.a | *.lib)
if test -n "$link_against_libtool_libs"; then
- $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
- exit 1
+ $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
+ exit 1
fi
if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
fi
if test -n "$dlfiles$dlprefiles"; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+ $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
fi
if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+ $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$xrpath"; then
+ $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
fi
if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
+ $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
fi
if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+ $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$export_symbols"; then
+ $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
fi
# Now set the variables for building old libraries.
@@ -904,17 +1472,33 @@ if test -z "$show_help"; then
*.la)
# Make sure we only generate libraries of the form `libNAME.la'.
- case "$output" in
- lib*) ;;
+ case "$outputname" in
+ lib*)
+ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ eval libname=\"$libname_spec\"
+ ;;
*)
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit 1
+ if test "$module" = no; then
+ $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ eval libname=\"$libname_spec\"
+ else
+ libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ fi
;;
esac
- name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
- eval libname=\"$libname_spec\"
+ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$output_objdir" = "X$output"; then
+ output_objdir="$objdir"
+ else
+ output_objdir="$output_objdir/$objdir"
+ fi
# All the library-specific variables (install_libdir is set above).
library_names=
@@ -922,18 +1506,18 @@ if test -z "$show_help"; then
dlname=
if test -n "$objs"; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
- exit 1
+ $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
+ exit 1
fi
# How the heck are we supposed to write a wrapper for a shared library?
if test -n "$link_against_libtool_libs"; then
- $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
- exit 1
+ $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
+ exit 1
fi
if test -n "$dlfiles$dlprefiles"; then
- $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
+ $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
fi
set dummy $rpath
@@ -942,12 +1526,16 @@ if test -z "$show_help"; then
fi
install_libdir="$2"
- # Now set the variables for building old libraries.
- oldlibs="$objdir/$libname.$libext"
+ oldlibs=
if test -z "$rpath"; then
- # Building a libtool convenience library.
- oldlibs="$objdir/$libname.al $oldlibs"
- build_libtool_libs=convenience
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ libext=al
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+ dependency_libs="$deplibs"
if test -n "$vinfo"; then
$echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
@@ -1014,6 +1602,20 @@ if test -z "$show_help"; then
case "$version_type" in
none) ;;
+ irix)
+ major=`expr $current - $age + 1`
+ versuffix="$major.$revision"
+ verstring="sgi$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test $loop != 0; do
+ iface=`expr $revision - $loop`
+ loop=`expr $loop - 1`
+ verstring="sgi$major.$iface:$verstring"
+ done
+ ;;
+
linux)
major=.`expr $current - $age`
versuffix="$major.$age.$revision"
@@ -1041,6 +1643,16 @@ if test -z "$show_help"; then
versuffix=".$current.$revision"
;;
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current";
+ ;;
+
windows)
# Like Linux, but with '-' rather than '.', since we only
# want one extension on Windows 95.
@@ -1058,15 +1670,21 @@ if test -z "$show_help"; then
# Clear the version info if we defaulted, and they specified a release.
if test -z "$vinfo" && test -n "$release"; then
major=
- versuffix=
verstring="0.0"
- case "$host" in
- *-*-sunos*)
+ if test "$need_version" = no; then
+ versuffix=
+ else
versuffix=".0.0"
- ;;
- esac
+ fi
fi
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
# Check to see if the archive will have undefined symbols.
if test "$allow_undefined" = yes; then
if test "$allow_undefined_flag" = unsupported; then
@@ -1079,25 +1697,247 @@ if test -z "$show_help"; then
allow_undefined_flag="$no_undefined_flag"
fi
- # Add libc to deplibs on all systems.
dependency_libs="$deplibs"
- deplibs="$deplibs -lc"
+ case "$host" in
+ *-*-cygwin* | *-*-mingw* | *-*-os2*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *)
+ # Add libc to deplibs on all other systems.
+ deplibs="$deplibs -lc"
+ ;;
+ esac
fi
# Create the output directory, or remove our outputs if we need to.
- if test -d $objdir; then
- $show "${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
- $run ${rm}r $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
+ if test -d $output_objdir; then
+ $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
+ $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
else
- $show "$mkdir $objdir"
- $run $mkdir $objdir
- status=$?
- if test $status -ne 0 && test ! -d $objdir; then
- exit $status
- fi
+ $show "$mkdir $output_objdir"
+ $run $mkdir $output_objdir
+ status=$?
+ if test $status -ne 0 && test ! -d $output_objdir; then
+ exit $status
+ fi
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ fi
+
+ if test "$build_libtool_libs" = yes; then
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case "$deplibs_check_method" in
+ pass_all)
+ newdeplibs=$deplibs
+ ;; # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behaviour.
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $rm conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $rm conftest
+ $C_compiler -o conftest conftest.c $deplibs
+ if test $? -eq 0 ; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ name="`expr $i : '-l\(.*\)'`"
+ # If $name is empty we are operating on a -L argument.
+ if test "$name" != "" ; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ set dummy $deplib_matches
+ deplib_match=$2
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ echo
+ echo "*** Warning: This library needs some functionality provided by $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ fi
+ else
+ newdeplibs="$newdeplibs $i"
+ fi
+ done
+ else
+ # Error occured in the first compile. Let's try to salvage the situation:
+ # Compile a seperate program for each library.
+ for i in $deplibs; do
+ name="`expr $i : '-l\(.*\)'`"
+ # If $name is empty we are operating on a -L argument.
+ if test "$name" != "" ; then
+ $rm conftest
+ $C_compiler -o conftest conftest.c $i
+ # Did it work?
+ if test $? -eq 0 ; then
+ ldd_output=`ldd conftest`
+ libname=`eval \\$echo \"$libname_spec\"`
+ deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ set dummy $deplib_matches
+ deplib_match=$2
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ echo
+ echo "*** Warning: This library needs some functionality provided by $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ fi
+ else
+ droppeddeps=yes
+ echo
+ echo "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ else
+ newdeplibs="$newdeplibs $i"
+ fi
+ done
+ fi
+ deplibs=$newdeplibs
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`"
+ for a_deplib in $deplibs; do
+ name="`expr $a_deplib : '-l\(.*\)'`"
+ # If $name is empty we are operating on a -L argument.
+ if test "$name" != "" ; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ for i in $lib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potlib" 2>/dev/null \
+ | grep " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | sed 's/.* -> //'`
+ case "$potliblink" in
+ /*) potlib="$potliblink";;
+ *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" \
+ | sed 10q \
+ | egrep "$file_magic_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ echo "*** Warning: This library needs some functionality provided by $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ fi
+ else
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ fi
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *) newdeplibs=""
+ if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+ -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' |
+ grep . >/dev/null; then
+ echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ fi
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ echo "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ dlname=
+ library_names=
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+ fi
+ fi
fi
+ # test again, we may have decided not to build it any more
if test "$build_libtool_libs" = yes; then
+ deplibs=$newdeplibs
+ # Done checking deplibs!
+
# Get the real and link names of the library.
eval library_names=\"$library_names_spec\"
set dummy $library_names
@@ -1110,17 +1950,21 @@ if test -z "$show_help"; then
soname="$realname"
fi
- lib="$objdir/$realname"
+ lib="$output_objdir/$realname"
for link
do
linknames="$linknames $link"
done
- # Use standard objects if they are PIC.
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'`
+ # Ensure that we have .o objects for linkers which dislike .lo
+ # (e.g. aix) incase we are running --disable-static
+ for obj in $libobjs; do
+ oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"`
+ test -f $oldobj || ${LN_S} $obj $oldobj
+ done
- # Transform .lo files to .o files.
- test "$build_old_libs" = yes && oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
if test -n "$whole_archive_flag_spec"; then
if test -n "$convenience"; then
@@ -1131,7 +1975,7 @@ if test -z "$show_help"; then
# Extract the objects.
xdir="$xlib"x
generated="$generated $xdir"
- xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
+ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
$show "${rm}r $xdir"
$run ${rm}r "$xdir"
@@ -1144,13 +1988,50 @@ if test -z "$show_help"; then
$show "(cd $xdir && $AR x ../$xlib)"
$run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
- libobjs="$libobjs `echo $xdir/*`"
+ libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
done
fi
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+
+ linkopts="$linkopts $flag"
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ $show "generating symbol list for \`$libname.la'"
+ export_symbols="$objdir/$libname.exp"
+ $run $rm $export_symbols
+ eval cmds=\"$export_symbols_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex"; then
+ $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+ $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+ $run eval '$mv "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+ fi
+
# Do each of the archive commands.
- eval cmds=\"$archive_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval cmds=\"$archive_expsym_cmds\"
+ else
+ eval cmds=\"$archive_cmds\"
+ fi
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
@@ -1161,13 +2042,13 @@ if test -z "$show_help"; then
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then
- $show "(cd $objdir && $LN_S $realname $linkname)"
- $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
+ $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+ $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
fi
done
- # If -export-dynamic was specified, set the dlname.
- if test "$export_dynamic" = yes; then
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
# On all known operating systems, these are identical.
dlname="$soname"
fi
@@ -1176,58 +2057,62 @@ if test -z "$show_help"; then
*.lo | *.o | *.obj)
if test -n "$link_against_libtool_libs"; then
- $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
- exit 1
+ $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
+ exit 1
fi
if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
fi
if test -n "$dlfiles$dlprefiles"; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+ $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
fi
if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+ $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$xrpath"; then
+ $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
fi
if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+ $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
fi
if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+ $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
fi
case "$output" in
*.lo)
- if test -n "$objs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit 1
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
- ;;
+ if test -n "$objs"; then
+ $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+ exit 1
+ fi
+ libobj="$output"
+ obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+ ;;
*)
- libobj=
- obj="$output"
- ;;
+ libobj=
+ obj="$output"
+ ;;
esac
# Delete the old objects.
$run $rm $obj $libobj
# Create the old-style object.
- reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
+ reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
output="$obj"
eval cmds=\"$reload_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
done
IFS="$save_ifs"
@@ -1235,339 +2120,503 @@ if test -z "$show_help"; then
test -z "$libobj" && exit 0
if test "$build_libtool_libs" != yes; then
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- $show "echo timestamp > $libobj"
- $run eval "echo timestamp > $libobj" || exit $?
- exit 0
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ $show "echo timestamp > $libobj"
+ $run eval "echo timestamp > $libobj" || exit $?
+ exit 0
fi
if test -n "$pic_flag"; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs"
- output="$libobj"
- eval cmds=\"$reload_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
- for cmd in $cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs"
+ output="$libobj"
+ eval cmds=\"$reload_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
else
- # Just create a symlink.
- $show "$LN_S $obj $libobj"
- $run $LN_S $obj $libobj || exit $?
+ # Just create a symlink.
+ $show $rm $libobj
+ $run $rm $libobj
+ $show "$LN_S $obj $libobj"
+ $run $LN_S $obj $libobj || exit $?
fi
exit 0
;;
+ # Anything else should be a program.
*)
if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+ $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
fi
if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+ $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
fi
- if test -n "$rpath"; then
+ if test "$preload" = yes; then
+ if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&
+ test "$dlopen_self_static" = unknown; then
+ $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+ fi
+ fi
+
+ if test "$dlself" = yes && test "$export_dynamic" = no; then
+ $echo "$modename: error: \`-dlopen self' requires \`-export-dynamic'" 1>&2
+ exit 1
+ fi
+
+ if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- # Put the magic libdir with the hardcode flag.
- hardcode_libdirs="$libdir"
- libdir="@HARDCODE_LIBDIRS@"
- else
- # Just accumulate the unique libdirs.
- case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- libdir=
- fi
- fi
-
- if test -n "$libdir"; then
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- compile_command="$compile_command $flag"
- finalize_command="$finalize_command $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$compile_rpath " in
+ *" $libdir "*) ;;
+ *) compile_rpath="$compile_rpath $libdir" ;;
+ esac
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
done
fi
- # Substitute the hardcoded libdirs into the compile commands.
- if test -n "$hardcode_libdir_separator"; then
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command " | $Xsed -e "$los2o" -e 's/ $//'`
- finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'`
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
fi
+ finalize_rpath="$rpath"
- if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${output}S.c"
+ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$output_objdir" = "X$output"; then
+ output_objdir="$objdir"
else
- dlsyms=
+ output_objdir="$output_objdir/$objdir"
fi
- if test -n "$dlsyms"; then
- # Add our own program objects to the preloaded list.
- dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e "$los2o" -e 's/ $//'`
-
- # Discover the nlist of each of the dlfiles.
- nlist="$objdir/${output}.nm"
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ fi
- if test -d $objdir; then
- $show "$rm $nlist ${nlist}T"
- $run $rm "$nlist" "${nlist}T"
+ dlsyms=
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" = yes; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ dlsyms="${outputname}S.c"
else
- $show "$mkdir $objdir"
- $run $mkdir $objdir
- status=$?
- if test $status -ne 0 && test ! -d $objdir; then
- exit $status
- fi
+ $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
fi
+ fi
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- # Parse the name list into a source file.
- $show "creating $objdir/$dlsyms"
- if test -z "$run"; then
- # Make sure we at least have an empty file.
- test -f "$nlist" || : > "$nlist"
-
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- wcout=`wc "$nlist" 2>/dev/null`
- count=`echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'`
- (test "$count" -ge 0) 2>/dev/null || count=-1
+ if test -n "$dlsyms"; then
+ case "$dlsyms" in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$objdir/${output}.nm"
+
+ if test -d $objdir; then
+ $show "$rm $nlist ${nlist}S ${nlist}T"
+ $run $rm "$nlist" "${nlist}S" "${nlist}T"
else
- $rm "$nlist"T
- count=-1
+ $show "$mkdir $objdir"
+ $run $mkdir $objdir
+ status=$?
+ if test $status -ne 0 && test ! -d $objdir; then
+ exit $status
+ fi
fi
- case "$dlsyms" in
- "") ;;
- *.c)
- $echo > "$objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
+ # Parse the name list into a source file.
+ $show "creating $objdir/$dlsyms"
+
+ $echo > "$objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
#ifdef __cplusplus
extern \"C\" {
#endif
/* Prevent the only kind of declaration conflicts we can make. */
-#define dld_preloaded_symbol_count some_other_symbol
-#define dld_preloaded_symbols some_other_symbol
+#define lt_preloaded_symbols some_other_symbol
/* External symbol declarations for the compiler. */\
"
- if test -f "$nlist"; then
- sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
+ if test "$dlself" = yes; then
+ $show "generating symbol list for \`$output'"
+
+ echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for arg in $progfiles; do
+ $show "extracting global C symbols from \`$arg'"
+ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ $run eval '$mv "$nlist"T "$nlist"'
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ $run eval '$mv "$nlist"T "$nlist"'
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$objdir/$output.exp"
+ $run $rm $export_symbols
+ $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ else
+ $run $rm $export_symbols
+ $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$objdir/$output.exp"'
+ $run eval 'grep -f "$objdir/$output.exp" < "$nlist" > "$nlist"T'
+ $run eval 'mv "$nlist"T "$nlist"'
+ fi
+ fi
+
+ for arg in $dlprefiles; do
+ $show "extracting global C symbols from \`$arg'"
+ name=`echo "$arg" | sed -e 's%^.*/%%'`
+ $run eval 'echo ": $name " >> "$nlist"'
+ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -z "$run"; then
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $mv "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
+ :
else
- echo '/* NONE */' >> "$objdir/$dlsyms"
+ grep -v "^: " < "$nlist" > "$nlist"S
fi
- $echo >> "$objdir/$dlsyms" "\
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$dlsyms"
+ fi
-#undef dld_preloaded_symbol_count
-#undef dld_preloaded_symbols
+ $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
#if defined (__STDC__) && __STDC__
-# define __ptr_t void *
+# define lt_ptr_t void *
#else
-# define __ptr_t char *
+# define lt_ptr_t char *
+# define const
#endif
-/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
-int dld_preloaded_symbol_count = $count;
-
/* The mapping between symbol names and symbols. */
-struct {
- char *name;
- __ptr_t address;
+const struct {
+ const char *name;
+ lt_ptr_t address;
}
-dld_preloaded_symbols[] =
+lt_preloaded_symbols[] =
{\
"
- if test -f "$nlist"; then
- sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
- fi
+ sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \
+ -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \
+ < "$nlist" >> "$output_objdir/$dlsyms"
- $echo >> "$objdir/$dlsyms" "\
- {0, (__ptr_t) 0}
+ $echo >> "$output_objdir/$dlsyms" "\
+ {0, (lt_ptr_t) 0}
};
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_preloaded_symbols;
+}
+#endif
+
#ifdef __cplusplus
}
#endif\
"
- ;;
+ fi
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit 1
- ;;
+ pic_flag_for_symtable=
+ case "$host" in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*)
+ case "$compile_command " in
+ *" -static "*) ;;
+ *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
+ esac
esac
- fi
- # Now compile the dynamic symbol file.
- $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")"
- $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
+ # Now compile the dynamic symbol file.
+ $show "(cd $objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+ $run eval '(cd $objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
- # Transform the symbol file into the correct name.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
- elif test "$export_dynamic" != yes; then
- test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
+ # Transform the symbol file into the correct name.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"`
+ ;;
+ *)
+ $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+ exit 1
+ ;;
+ esac
else
- # We keep going just in case the user didn't refer to
- # dld_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ # Nullify the symbol file.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
fi
if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
- # Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-
- # We have no uninstalled library dependencies, so finalize right now.
- $show "$compile_command"
- $run eval "$compile_command"
- exit $?
- fi
-
- # Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
-
- # Create the binary in the object directory, then wrap it.
- if test ! -d $objdir; then
- $show "$mkdir $objdir"
- $run $mkdir $objdir
- status=$?
- if test $status -ne 0 && test ! -d $objdir; then
- exit $status
- fi
+ # Replace the output file specification.
+ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ $show "$link_command"
+ $run eval "$link_command"
+ exit $?
fi
if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case "$dir" in
- /* | [A-Za-z]:[/\\]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
+ # We should set the shlibpath_var
+ rpath=
+ for dir in $temp_rpath; do
+ case "$dir" in
+ /* | [A-Za-z]:[/\\]*)
+ # Absolute path.
+ rpath="$rpath$dir:"
+ ;;
+ *)
+ # Relative path: add a thisdir entry.
+ rpath="$rpath\$thisdir/$dir:"
+ ;;
+ esac
+ done
+ temp_rpath="$rpath"
fi
- # Delete the old output file.
- $run $rm $output
-
- if test -n "$compile_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
fi
if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
- finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
fi
if test "$hardcode_action" = relink; then
- # AGH! Flame the AIX and HP-UX people for me, will ya?
- $echo "$modename: warning: using a buggy system linker" 1>&2
- $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ # AGH! Flame the AIX and HP-UX people for me, will ya?
+ $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+ $echo "$modename: \`$output' will be relinked during installation" 1>&2
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
fi
- $show "$compile_command"
- $run eval "$compile_command" || exit $?
+ # Replace the output file specification.
+ link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Create the binary in the object directory, then wrap it.
+ if test ! -d $output_objdir; then
+ $show "$mkdir $output_objdir"
+ $run $mkdir $output_objdir
+ status=$?
+ if test $status -ne 0 && test ! -d $objdir; then
+ exit $status
+ fi
+ fi
+
+ # Delete the old output file.
+ $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ $show "$link_command"
+ $run eval "$link_command" || exit $?
# Now create the wrapper script.
$show "creating $output"
- # Quote the finalize command for shipping.
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ fi
# Quote $echo for shipping.
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+ if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
+ case "$0" in
+ /* | [A-Za-z]:[/\\]*) qecho="$SHELL $0 --fallback-echo";;
+ *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
+ esac
+ qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ else
+ qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+ fi
# Only actually do things if our run command is non-null.
if test -z "$run"; then
- $rm $output
- trap "$rm $output; exit 1" 1 2 15
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
+ esac
+ $rm $output
+ trap "$rm $output; exit 1" 1 2 15
- $echo > $output "\
+ $echo > $output "\
#! $SHELL
-# $output - temporary wrapper script for $objdir/$output
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
-# This wrapper script should never be moved out of \``pwd`'.
+# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
sed_quote_subst='$sed_quote_subst'
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
+relink_command=\"$relink_command\"
+
# This environment variable determines our operation mode.
if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variables:
+ # install mode needs the following variable:
link_against_libtool_libs='$link_against_libtool_libs'
- finalize_command=\"$finalize_command\"
else
# When we are sourced in execute mode, \$file and \$echo are already set.
if test \"\$libtool_execute_magic\" != \"$magic\"; then
@@ -1586,7 +2635,7 @@ else
fi
fi\
"
- $echo >> $output "\
+ $echo >> $output "\
# Find the directory that this script lives in.
thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
@@ -1612,35 +2661,97 @@ else
# Try to get the absolute directory name.
absdir=\`cd \"\$thisdir\" && pwd\`
test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ echo >> $output "\
+ program=lt-'$outputname'
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" || \\
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $mkdir \"\$progdir\"
+ else
+ $rm \"\$progdir/\$file\"
+ fi"
+
+ echo >> $output "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if (cd \"\$thisdir\" && eval \$relink_command); then :
+ else
+ $rm \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+ $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $rm \"\$progdir/\$program\";
+ $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $rm \"\$progdir/\$file\"
+ fi"
+ else
+ echo >> $output "\
+ program='$outputname'
progdir=\"\$thisdir/$objdir\"
- program='$output'
+"
+ fi
+
+ echo >> $output "\
if test -f \"\$progdir/\$program\"; then"
- # Export our shlibpath_var if we have one.
- if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $echo >> $output "\
# Add our own library path to $shlibpath_var
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
# Some systems cannot cope with colon-terminated $shlibpath_var
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
export $shlibpath_var
"
- fi
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $echo >> $output "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
- $echo >> $output "\
+ $echo >> $output "\
if test \"\$libtool_execute_magic\" != \"$magic\"; then
# Run the actual program with our arguments.
-
+"
+ case $host in
+ *-*-cygwin* | *-*-mingw | *-*-os2*)
+ # win32 systems need to use the prog path for dll
+ # lookup to work
+ $echo >> $output "\
+ exec \$progdir\\\\\$program \${1+\"\$@\"}
+"
+ ;;
+ *)
+ $echo >> $output "\
# Export the path to the program.
PATH=\"\$progdir:\$PATH\"
export PATH
exec \$program \${1+\"\$@\"}
-
+"
+ ;;
+ esac
+ $echo >> $output "\
\$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
exit 1
fi
@@ -1653,7 +2764,7 @@ else
fi
fi\
"
- chmod +x $output
+ chmod +x $output
fi
exit 0
;;
@@ -1663,11 +2774,16 @@ fi\
for oldlib in $oldlibs; do
if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs"
+ oldobjs="$libobjs_save"
addlibs="$convenience"
build_libtool_libs=no
else
- oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'`
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
+ fi
addlibs="$old_convenience"
fi
@@ -1676,7 +2792,7 @@ fi\
# Extract the objects.
xdir="$xlib"x
generated="$generated $xdir"
- xlib=`echo "$xlib" | $Xsed -e 's%^.*/%%'`
+ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
$show "${rm}r $xdir"
$run ${rm}r "$xdir"
@@ -1689,7 +2805,7 @@ fi\
$show "(cd $xdir && $AR x ../$xlib)"
$run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $?
- oldobjs="$oldobjs `echo $xdir/*`"
+ oldobjs="$oldobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
done
# Do each command in the archive commands.
@@ -1698,11 +2814,11 @@ fi\
else
eval cmds=\"$old_archive_cmds\"
fi
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
done
IFS="$save_ifs"
done
@@ -1719,11 +2835,19 @@ fi\
test "$build_old_libs" = yes && old_library="$libname.$libext"
$show "creating $output"
+ if test -n "$xrpath"; then
+ temp_xrpath=
+ for libdir in $xrpath; do
+ temp_xrpath="$temp_xrpath -R$libdir"
+ done
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+
# Only create the output if not a dry run.
if test -z "$run"; then
- $echo > $output "\
+ $echo > $output "\
# $output - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
# The name that we can dlopen(3).
dlname='$dlname'
@@ -1742,15 +2866,22 @@ current=$current
age=$age
revision=$revision
+# Is this an already installed library?
+installed=no
+
# Directory that this library needs to be installed in:
libdir='$install_libdir'\
"
+
+ $rm "$output_objdir/$outputname"i
+ sed 's/^installed=no$/installed=yes/' \
+ < "$output" > "$output_objdir/$outputname"i || exit 1
fi
# Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed.
- $show "(cd $objdir && $LN_S ../$output $output)"
- $run eval "(cd $objdir && $LN_S ../$output $output)" || exit $?
+ $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+ $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $?
;;
esac
exit 0
@@ -1762,7 +2893,7 @@ libdir='$install_libdir'\
# There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = "/bin/sh"; then
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
# Aesthetically quote it.
arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
case "$arg" in
@@ -1799,9 +2930,9 @@ libdir='$install_libdir'\
for arg
do
if test -n "$dest"; then
- files="$files $dest"
- dest="$arg"
- continue
+ files="$files $dest"
+ dest="$arg"
+ continue
fi
case "$arg" in
@@ -1811,20 +2942,20 @@ libdir='$install_libdir'\
-m) prev="-m" ;;
-o) prev="-o" ;;
-s)
- stripme=" -s"
- continue
- ;;
+ stripme=" -s"
+ continue
+ ;;
-*) ;;
*)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest="$arg"
- continue
- fi
- ;;
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest="$arg"
+ continue
+ fi
+ ;;
esac
# Aesthetically quote the argument.
@@ -1851,9 +2982,9 @@ libdir='$install_libdir'\
if test -z "$files"; then
if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
+ $echo "$modename: no file or destination specified" 1>&2
else
- $echo "$modename: you must specify a destination" 1>&2
+ $echo "$modename: you must specify a destination" 1>&2
fi
$echo "$help" 1>&2
exit 1
@@ -1875,23 +3006,23 @@ libdir='$install_libdir'\
# Not a directory, so check to see that there is only one file specified.
set dummy $files
if test $# -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit 1
+ $echo "$modename: \`$dest' is not a directory" 1>&2
+ $echo "$help" 1>&2
+ exit 1
fi
fi
case "$destdir" in
/* | [A-Za-z]:[/\\]*) ;;
*)
for file in $files; do
- case "$file" in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit 1
- ;;
- esac
+ case "$file" in
+ *.lo) ;;
+ *)
+ $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ esac
done
;;
esac
@@ -1908,217 +3039,219 @@ libdir='$install_libdir'\
# Do each installation.
case "$file" in
*.a | *.lib)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
*.la)
- # Check to see that this really is a libtool archive.
- if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit 1
- fi
-
- library_names=
- old_library=
- # If there is no directory component, then add one.
- case "$file" in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$realname $destdir/$realname"
- $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
- test "X$dlname" = "X$realname" && dlname=
-
- if test $# -gt 0; then
- # Delete the old symlinks.
- rmcmd="$rm"
- for linkname
- do
- if test "X$linkname" != "X$realname"; then
- rmcmd="$rmcmd $destdir/$linkname"
- fi
- done
- $show "$rmcmd"
- $run $rmcmd
-
- # ... and create new ones.
- for linkname
- do
- if test "X$linkname" != "X$realname"; then
- test "X$dlname" = "X$linkname" && dlname=
- $show "(cd $destdir && $LN_S $realname $linkname)"
- $run eval "(cd $destdir && $LN_S $realname $linkname)"
+ # Check to see that this really is a libtool archive.
+ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ library_names=
+ old_library=
+ # If there is no directory component, then add one.
+ case "$file" in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
+ test "X$dir" = "X$file/" && dir=
+ dir="$dir$objdir"
+
+ # See the names of the shared library.
+ set dummy $library_names
+ if test -n "$2"; then
+ realname="$2"
+ shift
+ shift
+
+ # Install the shared library and build the symlinks.
+ $show "$install_prog $dir/$realname $destdir/$realname"
+ $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
+ test "X$dlname" = "X$realname" && dlname=
+
+ if test $# -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ for linkname
+ do
+ test "X$dlname" = "X$linkname" && dlname=
+ if test "$linkname" != "$realname"; then
+ $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+ $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
fi
- done
- fi
-
- if test -n "$dlname"; then
- # Install the dynamically-loadable library.
- $show "$install_prog $dir/$dlname $destdir/$dlname"
- $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- eval cmds=\"$postinstall_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
- for cmd in $cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- $show "$install_prog $file $destdir/$name"
- $run eval "$install_prog $file $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
+ done
+ fi
+
+ if test -n "$dlname"; then
+ # Install the dynamically-loadable library.
+ $show "$install_prog $dir/$dlname $destdir/$dlname"
+ $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ eval cmds=\"$postinstall_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+
+ # Install the pseudo-library for information purposes.
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ instname="$dir/$name"i
+ if test ! -f "$instname"; then
+ # Just in case it was removed...
+ $show "Creating $instname"
+ $rm "$instname"
+ sed 's/^installed=no$/installed=yes/' "$file" > "$instname"
+ fi
+ $show "$install_prog $instname $destdir/$name"
+ $run eval "$install_prog $instname $destdir/$name" || exit $?
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
*.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case "$destfile" in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.o | *.obj)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit 1
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit 0
- ;;
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case "$destfile" in
+ *.lo)
+ staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+ ;;
+ *.o | *.obj)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ if test -n "$destfile"; then
+ $show "$install_prog $file $destfile"
+ $run eval "$install_prog $file $destfile" || exit $?
+ fi
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+ $show "$install_prog $staticobj $staticdest"
+ $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+ fi
+ exit 0
+ ;;
*)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Do a test to see if this is really a libtool program.
- if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- link_against_libtool_libs=
- finalize_command=
-
- # If there is no directory component, then add one.
- case "$file" in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
- $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
- exit 1
- fi
-
- finalize=yes
- for lib in $link_against_libtool_libs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case "$lib" in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- if test "$hardcode_action" = relink; then
- if test "$finalize" = yes; then
- $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
- $show "$finalize_command"
- if $run eval "$finalize_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- continue
- fi
- file="$objdir/$file"T
- else
- $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
+ # Do a test to see if this is really a libtool program.
+ if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ link_against_libtool_libs=
+ relink_command=
+
+ # If there is no directory component, then add one.
+ case "$file" in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Check the variables that should have been set.
+ if test -z "$link_against_libtool_libs"; then
+ $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
+ exit 1
+ fi
+
+ finalize=yes
+ for lib in $link_against_libtool_libs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ # If there is no directory component, then add one.
+ case "$lib" in
+ */* | *\\*) . $lib ;;
+ *) . ./$lib ;;
+ esac
+ fi
+ libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+ finalize=no
+ fi
+ done
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ if test "$finalize" = yes; then
+ outputname="/tmp/$$-$file"
+ # Replace the output file specification.
+ relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
+ $show "$relink_command"
+ if $run eval "$relink_command"; then :
+ else
+ $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ continue
+ fi
+ file="$outputname"
+ else
+ $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
+ fi
+ else
+ # Install the binary that we compiled earlier.
file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
+ fi
+ fi
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- ;;
+ $show "$install_prog$stripme $file $destfile"
+ $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+ test -n "$outputname" && $rm $outputname
+ ;;
esac
done
@@ -2133,11 +3266,11 @@ libdir='$install_libdir'\
# Do each command in the postinstall commands.
eval cmds=\"$old_postinstall_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
done
IFS="$save_ifs"
done
@@ -2165,21 +3298,21 @@ libdir='$install_libdir'\
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
for dir
do
- libdirs="$libdirs $dir"
+ libdirs="$libdirs $dir"
done
for libdir in $libdirs; do
if test -n "$finish_cmds"; then
# Do each command in the finish commands.
eval cmds=\"$finish_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
- for cmd in $cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || admincmds="$admincmds
$cmd"
- done
- IFS="$save_ifs"
+ done
+ IFS="$save_ifs"
fi
if test -n "$finish_eval"; then
# Do the single finish_eval.
@@ -2190,16 +3323,19 @@ libdir='$install_libdir'\
done
fi
+ # Exit here if they wanted silent mode.
+ test "$show" = : && exit 0
+
echo "----------------------------------------------------------------------"
echo "Libraries have been installed in:"
for libdir in $libdirs; do
echo " $libdir"
done
echo
- echo "To link against installed libraries in a given directory, LIBDIR,"
- echo "you must use the \`-LLIBDIR' flag during linking."
- echo
- echo " You will also need to do at least one of the following:"
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
if test -n "$shlibpath_var"; then
echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
echo " during execution"
@@ -2250,22 +3386,22 @@ libdir='$install_libdir'\
dir=
case "$file" in
*.la)
- # Check to see that this really is a libtool archive.
- if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit 1
- fi
+ # Check to see that this really is a libtool archive.
+ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
# Read the libtool library.
dlname=
library_names=
- # If there is no directory component, then add one.
+ # If there is no directory component, then add one.
case "$file" in
*/* | *\\*) . $file ;;
- *) . ./$file ;;
+ *) . ./$file ;;
esac
# Skip this library if it cannot be dlopened.
@@ -2294,7 +3430,7 @@ libdir='$install_libdir'\
*)
$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
+ continue
;;
esac
@@ -2321,8 +3457,8 @@ libdir='$install_libdir'\
case "$file" in
-*) ;;
*)
- # Do a test to see if this is really a libtool program.
- if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ # Do a test to see if this is really a libtool program.
+ if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
# If there is no directory component, then add one.
case "$file" in
*/* | *\\*) . $file ;;
@@ -2332,7 +3468,7 @@ libdir='$install_libdir'\
# Transform arg to wrapped name.
file="$progdir/$program"
fi
- ;;
+ ;;
esac
# Quote arguments (to preserve shell metacharacters).
file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
@@ -2345,10 +3481,10 @@ libdir='$install_libdir'\
# Restore saved enviroment variables
if test "${save_LC_ALL+set}" = set; then
- LC_ALL="$save_LC_ALL"; export LC_ALL
+ LC_ALL="$save_LC_ALL"; export LC_ALL
fi
if test "${save_LANG+set}" = set; then
- LANG="$save_LANG"; export LANG
+ LANG="$save_LANG"; export LANG
fi
# Now actually exec the command.
@@ -2394,17 +3530,17 @@ libdir='$install_libdir'\
case "$name" in
*.la)
- # Possibly a libtool archive, so verify it.
- if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- rmfiles="$rmfiles $dir/$n"
- test "X$n" = "X$dlname" && dlname=
- done
- test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
- test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
+ # Possibly a libtool archive, so verify it.
+ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ . $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ rmfiles="$rmfiles $dir/$n"
+ test "X$n" = "X$dlname" && dlname=
+ done
+ test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
+ test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
$show "$rm $rmfiles"
$run $rm $rmfiles
@@ -2412,7 +3548,7 @@ libdir='$install_libdir'\
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
eval cmds=\"$postuninstall_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
@@ -2421,10 +3557,10 @@ libdir='$install_libdir'\
IFS="$save_ifs"
fi
- if test -n "$old_library"; then
+ if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
eval cmds=\"$old_postuninstall_cmds\"
- IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
IFS="$save_ifs"
$show "$cmd"
@@ -2433,21 +3569,21 @@ libdir='$install_libdir'\
IFS="$save_ifs"
fi
- # FIXME: should reinstall the best remaining shared library.
- fi
- ;;
+ # FIXME: should reinstall the best remaining shared library.
+ fi
+ ;;
*.lo)
- if test "$build_old_libs" = yes; then
- oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
- rmfiles="$rmfiles $dir/$oldobj"
- fi
+ if test "$build_old_libs" = yes; then
+ oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
+ rmfiles="$rmfiles $dir/$oldobj"
+ fi
$show "$rm $rmfiles"
$run $rm $rmfiles
- ;;
+ ;;
*)
- $show "$rm $rmfiles"
+ $show "$rm $rmfiles"
$run $rm $rmfiles
;;
esac
@@ -2507,6 +3643,7 @@ Compile a source file into a libtool library object.
This mode accepts the following additional options:
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
-static always build a \`.o' file suitable for static linking
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
@@ -2575,18 +3712,23 @@ a program from several object files.
The following components of LINK-COMMAND are treated specially:
-all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
-dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
-release RELEASE specify package release information
-rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
-static do not do any dynamic linking of libtool libraries
-version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
+ specify library version info [each variable defaults to 0]
All other options (arguments beginning with \`-') are ignored.
@@ -2594,11 +3736,12 @@ Every other argument is treated as a filename. Files ending in \`.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
-library objects (\`.lo' files) may be specified, and \`-rpath' is required.
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on WIndows using \`lib'.
+using \`ar' and \`ranlib', or on Windows using \`lib'.
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
is created, otherwise an executable program is created."
diff --git a/texinfo/ChangeLog b/texinfo/ChangeLog
index 67233d9844d..1da8b06905e 100644
--- a/texinfo/ChangeLog
+++ b/texinfo/ChangeLog
@@ -1,3 +1,54 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+1999-07-01 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * configure.in (zlib.h, libz): Disable checks.
+ * configure, config.h.in: Updated.
+
+Thu Jul 1 01:44:00 1999 Philippe De Muyter <phdm@macqel.be>
+
+ * acconfig.h (_, N_): Macros removed.
+ * lib/system.h (_, N_): Macro definitions moved here.
+ * config.h.in: File regenerated.
+
+Tue Jun 29 03:20:33 1999 Jeffrey A Law (law@cygnus.com)
+
+ * config.h.in: Rebuilt.
+
+Thu Jun 24 22:05:20 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.am (SUBDIRS): Remove util again.
+ * Makefile.in: Rebuilt.
+
+Wed Jun 2 00:47:03 1999 Philippe De Muyter <phdm@macqel.be>
+
+ * acconfig.h (libintl.h): Does not include this file here because
+ it will define `NULL' before the system files have got any chance
+ to define it.
+ * intl/explodename.c (stdlib.h): Include this file only if we have it.
+
+Sun May 30 16:10:06 1999 Richard Henderson <rth@cygnus.com>
+
+ * config.guess, config.sub: Use toplevel file.
+
+Wed May 26 19:30:00 1999 Mark Klein <mklein@dis.com>
+
+ * makeinfo/makeinfo.c: Add HAVE_LC_MESSAGES around setlocale call.
+
1999-02-24 Alexandre Oliva <oliva@dcc.unicamp.br>
* lib/Makefile.in: Regen dependencies.
diff --git a/texinfo/Makefile.am b/texinfo/Makefile.am
index 17f16620043..53c212827e6 100644
--- a/texinfo/Makefile.am
+++ b/texinfo/Makefile.am
@@ -15,7 +15,5 @@ EXTRA_DIST = INTRODUCTION dir-example
# Others are alphabetical.
SUBDIRS = intl lib info makeinfo po util doc
# ??? For EGCS, only build the stuff we actually need. This eliminates the
-# need for xgettext that exists in the po subdirectory. We do need util in
-# order to get install-info, which is used as part of the gcc build/install
-# process.
-SUBDIRS = intl lib makeinfo util
+# need for xgettext that exists in the po subdirectory.
+SUBDIRS = intl lib makeinfo
diff --git a/texinfo/Makefile.in b/texinfo/Makefile.in
index 5410efa307c..94d17d13045 100644
--- a/texinfo/Makefile.in
+++ b/texinfo/Makefile.in
@@ -104,10 +104,8 @@ EXTRA_DIST = INTRODUCTION dir-example
# Others are alphabetical.
SUBDIRS = intl lib info makeinfo po util doc
# ??? For EGCS, only build the stuff we actually need. This eliminates the
-# need for xgettext that exists in the po subdirectory. We do need util in
-# order to get install-info, which is used as part of the gcc build/install
-# process.
-SUBDIRS = intl lib makeinfo util
+# need for xgettext that exists in the po subdirectory.
+SUBDIRS = intl lib makeinfo
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = config.h
diff --git a/texinfo/acconfig.h b/texinfo/acconfig.h
index 6c34c33acc2..69e60d44fde 100644
--- a/texinfo/acconfig.h
+++ b/texinfo/acconfig.h
@@ -39,11 +39,6 @@
@BOTTOM@
-/* For gettext (NLS) */
-#include <libintl.h>
-#define _(String) gettext (String)
-#define N_(String) (String)
-
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
diff --git a/texinfo/config.guess b/texinfo/config.guess
index 30230b3dfe9..fd7602dabd9 100755
--- a/texinfo/config.guess
+++ b/texinfo/config.guess
@@ -1,890 +1,4 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# The master version of this file is at the FSF in /home/gd/gnu/lib.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- cat <<EOF >dummy.s
- .globl main
- .ent main
-main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
- .end main
-EOF
- ${CC-cc} dummy.s -o dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./dummy
- case "$?" in
- 7)
- UNAME_MACHINE="alpha"
- ;;
- 15)
- UNAME_MACHINE="alphaev5"
- ;;
- 14)
- UNAME_MACHINE="alphaev56"
- ;;
- 10)
- UNAME_MACHINE="alphapca56"
- ;;
- 16)
- UNAME_MACHINE="alphaev6"
- ;;
- esac
- fi
- rm -f dummy.s dummy
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
- exit 0 ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit 0 ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-cbm-sysv4
- exit 0;;
- amiga:NetBSD:*:*)
- echo m68k-cbm-netbsd${UNAME_RELEASE}
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc64:OpenBSD:*:*)
- echo mips64el-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hkmips:OpenBSD:*:*)
- echo mips-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mips-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- arm32:NetBSD:*:*)
- echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- SR2?01:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
- Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
- NILE:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit 0 ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit 0 ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
- atari*:NetBSD:*:*)
- echo m68k-atari-netbsd${UNAME_RELEASE}
- exit 0 ;;
- atari*:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3*:NetBSD:*:*)
- echo m68k-sun-netbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3*:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:NetBSD:*:*)
- echo m68k-apple-netbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit 0 ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- 2020:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- sed 's/^ //' << EOF >dummy.c
- int main (argc, argv) int argc; char **argv; {
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- ${CC-cc} dummy.c -o dummy \
- && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit 0 ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit 0 ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit 0 ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit 0 ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
- -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit 0 ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit 0 ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit 0 ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit 0 ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit 0 ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i?86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- sed 's/^ //' << EOF >dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
- echo rs6000-ibm-aix3.2.5
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit 0 ;;
- *:AIX:*:4)
- if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=4.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit 0 ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit 0 ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit 0 ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit 0 ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit 0 ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit 0 ;;
- 9000/[3478]??:HP-UX:*:*)
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
- 9000/8?? ) HP_ARCH=hppa1.0 ;;
- esac
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
- 3050*:HI-UX:*:*)
- sed 's/^ //' << EOF >dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
- echo unknown-hitachi-hiuxwe2
- exit 0 ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit 0 ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
- i?86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit 0 ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit 0 ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit 0 ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit 0 ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit 0 ;;
- CRAY*X-MP:*:*:*)
- echo xmp-cray-unicos
- exit 0 ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE}
- exit 0 ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
- exit 0 ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE}
- exit 0 ;;
- CRAY-2:*:*:*)
- echo cray2-cray-unicos
- exit 0 ;;
- F300:UNIX_System_V:*:*)
- FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
- F301:UNIX_System_V:*:*)
- echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
- exit 0 ;;
- hp3[0-9][05]:NetBSD:*:*)
- echo m68k-hp-netbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- i?86:BSD/386:*:* | *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit 0 ;;
- *:NetBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin32
- exit 0 ;;
- i*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin32
- exit 0 ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- *:GNU:*:*)
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- *:Linux:*:*)
- # uname on the ARM produces all sorts of strangeness, and we need to
- # filter it out.
- case "$UNAME_MACHINE" in
- arm* | sa110*) UNAME_MACHINE="arm" ;;
- esac
-
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us.
- ld_help_string=`ld --help 2>&1`
- ld_supported_emulations=`echo $ld_help_string \
- | sed -ne '/supported emulations:/!d
- s/[ ][ ]*/ /g
- s/.*supported emulations: *//
- s/ .*//
- p'`
- case "$ld_supported_emulations" in
- i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
- i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
- sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
- esac
-
- if test "${UNAME_MACHINE}" = "alpha" ; then
- sed 's/^ //' <<EOF >dummy.s
- .globl main
- .ent main
- main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
- .end main
-EOF
- LIBC=""
- ${CC-cc} dummy.s -o dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./dummy
- case "$?" in
- 7)
- UNAME_MACHINE="alpha"
- ;;
- 15)
- UNAME_MACHINE="alphaev5"
- ;;
- 14)
- UNAME_MACHINE="alphaev56"
- ;;
- 10)
- UNAME_MACHINE="alphapca56"
- ;;
- 16)
- UNAME_MACHINE="alphaev6"
- ;;
- esac
-
- objdump --private-headers dummy | \
- grep ld.so.1 > /dev/null
- if test "$?" = 0 ; then
- LIBC="libc1"
- fi
- fi
- rm -f dummy.s dummy
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
- elif test "${UNAME_MACHINE}" = "mips" ; then
- cat >dummy.c <<EOF
-main(argc, argv)
- int argc;
- char *argv[];
-{
-#ifdef __MIPSEB__
- printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
- printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
- return 0;
-}
-EOF
- ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
- else
- # Either a pre-BFD a.out linker (linux-gnuoldld)
- # or one that does not give us useful --help.
- # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
- # If ld does not provide *any* "supported emulations:"
- # that means it is gnuoldld.
- echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
- test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-
- case "${UNAME_MACHINE}" in
- i?86)
- VENDOR=pc;
- ;;
- *)
- VENDOR=unknown;
- ;;
- esac
- # Determine whether the default compiler is a.out or elf
- cat >dummy.c <<EOF
-#include <features.h>
-main(argc, argv)
- int argc;
- char *argv[];
-{
-#ifdef __ELF__
-# ifdef __GLIBC__
-# if __GLIBC__ >= 2
- printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-# else
- printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-# else
- printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
- printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
- return 0;
-}
-EOF
- ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
- fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
-# are messed up and put the nodename in both sysname and nodename.
- i?86:DYNIX/ptx:4*:*)
- echo i386-sequent-sysv4
- exit 0 ;;
- i?86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
- i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
- i?86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
- (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit 0 ;;
- pc:*:*:*)
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit 0 ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit 0 ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit 0 ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit 0 ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
- m68*:LynxOS:2.*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
- i?86:LynxOS:2.*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit 0 ;;
- PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit 0 ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit 0 ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit 0 ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
- news*:NEWS-OS:*:6*)
- echo mips-sony-newsos6
- exit 0 ;;
- R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-cat >dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
- printf ("vax-dec-bsd\n"); exit (0);
-#else
- printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
-rm -f dummy.c dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit 0 ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- c34*)
- echo c34-convex-bsd
- exit 0 ;;
- c38*)
- echo c38-convex-bsd
- exit 0 ;;
- c4*)
- echo c4-convex-bsd
- exit 0 ;;
- esac
-fi
-
-#echo '(Unable to guess system type)' 1>&2
-
-exit 1
+#!/bin/sh
+# Use the top-level config.guess so that we don't have two of them.
+guesssys=`echo $0 | sed 's|config.guess|../config.guess|'`
+exec ${guesssys} "$@"
diff --git a/texinfo/config.h.in b/texinfo/config.h.in
index f814b6573c5..4b725bda201 100644
--- a/texinfo/config.h.in
+++ b/texinfo/config.h.in
@@ -236,20 +236,15 @@
/* Define if you have the <values.h> header file. */
#undef HAVE_VALUES_H
+/* Define if you have the <zlib.h> header file. */
+#undef HAVE_ZLIB_H
+
/* Define if you have the bsd library (-lbsd). */
#undef HAVE_LIBBSD
/* Define if you have the i library (-li). */
#undef HAVE_LIBI
-/* Define if you have the z library (-lz). */
-#undef HAVE_LIBZ
-
-/* For gettext (NLS) */
-#include <libintl.h>
-#define _(String) gettext (String)
-#define N_(String) (String)
-
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
diff --git a/texinfo/config.sub b/texinfo/config.sub
index e24b8504126..44c15068d64 100755
--- a/texinfo/config.sub
+++ b/texinfo/config.sub
@@ -1,952 +1,4 @@
-#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-if [ x$1 = x ]
-then
- echo Configuration name missing. 1>&2
- echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
- echo "or $0 ALIAS" 1>&2
- echo where ALIAS is a recognized configuration type. 1>&2
- exit 1
-fi
-
-# First pass through any local machine types.
-case $1 in
- *local*)
- echo $1
- exit 0
- ;;
- *)
- ;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- linux-gnu*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple)
- os=
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco5)
- os=sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
- | arme[lb] | pyramid | mn10200 | mn10300 \
- | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
- | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
- | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
- | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
- | mipstx39 | mipstx39el \
- | sparc | sparclet | sparclite | sparc64 | v850)
- basic_machine=$basic_machine-unknown
- ;;
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i[34567]86)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
- | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
- | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
- | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
- | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
- | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
- | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
- | sparc64-* | mips64-* | mipsel-* \
- | mips64el-* | mips64orion-* | mips64orionel-* \
- | mipstx39-* | mipstx39el-* \
- | f301-*)
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-cbm
- ;;
- amigaos | amigados)
- basic_machine=m68k-cbm
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-cbm
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- cray2)
- basic_machine=cray2-cray
- os=-unicos
- ;;
- [ctj]90-cray)
- basic_machine=c90-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- os=-mvs
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i[34567]86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i[34567]86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i[34567]86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i[34567]86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- mipsel*-linux*)
- basic_machine=mipsel-unknown
- os=-linux-gnu
- ;;
- mips*-linux*)
- basic_machine=mips-unknown
- os=-linux-gnu
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pentium | p5 | k5 | nexen)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | k6 | 6x86)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | nexen-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | k6-* | 6x86-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=rs6000-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- xmp)
- basic_machine=xmp-cray
- os=-unicos
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- mips)
- if [ x$os = x-linux-gnu ]; then
- basic_machine=mips-unknown
- else
- basic_machine=mips-mips
- fi
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sparc)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -xenix)
- os=-xenix
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-semi)
- os=-aout
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-ibm)
- os=-aix
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f301-fujitsu)
- os=-uxpv
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -aix*)
- vendor=ibm
- ;;
- -hpux*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -vxsim* | -vxworks*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
+#!/bin/sh
+# Use the top-level config.sub so that we don't have two of them.
+subsys=`echo $0 | sed 's|config.sub|../config.sub|'`
+exec ${subsys} "$@"
diff --git a/texinfo/configure b/texinfo/configure
index 935049fc4f4..6beebf1fe30 100755
--- a/texinfo/configure
+++ b/texinfo/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12.1
+# Generated automatically using autoconf version 2.13
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
@@ -342,7 +342,7 @@ EOF
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.12.1"
+ echo "configure generated by autoconf version 2.13"
exit 0 ;;
-with-* | --with-*)
@@ -512,9 +512,11 @@ ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
+ac_exeext=
+ac_objext=o
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
@@ -558,28 +560,30 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:566: checking for a BSD compatible install" >&5
+echo "configure:569: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
for ac_dir in $PATH; do
# Account for people who put trailing slashes in PATH elements.
case "$ac_dir/" in
/|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
- for ac_prog in ginstall installbsd scoinst install; do
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
if test -f $ac_dir/$ac_prog; then
if test $ac_prog = install &&
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
- # OSF/1 installbsd also uses dspmsg, but is usable.
:
else
ac_cv_path_install="$ac_dir/$ac_prog -c"
@@ -609,13 +613,15 @@ echo "$ac_t""$INSTALL" 1>&6
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:619: checking whether build environment is sane" >&5
+echo "configure:625: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -672,7 +678,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:676: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:682: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -718,7 +724,7 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:722: checking for working aclocal" >&5
+echo "configure:728: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -731,7 +737,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:735: checking for working autoconf" >&5
+echo "configure:741: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -744,7 +750,7 @@ else
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:748: checking for working automake" >&5
+echo "configure:754: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -757,7 +763,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:761: checking for working autoheader" >&5
+echo "configure:767: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -770,7 +776,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:774: checking for working makeinfo" >&5
+echo "configure:780: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -787,15 +793,16 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:791: checking for $ac_word" >&5
+echo "configure:797: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_CC="gcc"
@@ -816,16 +823,17 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:820: checking for $ac_word" >&5
+echo "configure:827: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_prog_rejected=no
- for ac_dir in $PATH; do
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
@@ -860,25 +868,61 @@ else
echo "$ac_t""no" 1>&6
fi
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:878: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ ;;
+ esac
+ fi
test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:868: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:910: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
-cat > conftest.$ac_ext <<EOF
-#line 878 "configure"
+cat > conftest.$ac_ext << EOF
+
+#line 921 "configure"
#include "confdefs.h"
+
main(){return(0);}
EOF
-if { (eval echo configure:882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -892,18 +936,24 @@ else
ac_cv_prog_cc_works=no
fi
rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:902: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:952: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:907: checking whether we are using GNU C" >&5
+echo "configure:957: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -912,7 +962,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:966: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -923,11 +973,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
if test $ac_cv_prog_gcc = yes; then
GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:931: checking whether ${CC-cc} accepts -g" >&5
+else
+ GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:985: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -942,20 +996,24 @@ rm -f conftest*
fi
echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
- CFLAGS="-O2"
+ CFLAGS="-g"
fi
else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:959: checking how to run the C preprocessor" >&5
+echo "configure:1017: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -970,14 +1028,14 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 974 "configure"
+#line 1032 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:980: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1038: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
else
@@ -987,14 +1045,31 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 991 "configure"
+#line 1049 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1055: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+#line 1066 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:997: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
else
@@ -1007,6 +1082,8 @@ fi
rm -f conftest*
fi
rm -f conftest*
+fi
+rm -f conftest*
ac_cv_prog_CPP="$CPP"
fi
CPP="$ac_cv_prog_CPP"
@@ -1017,13 +1094,13 @@ echo "$ac_t""$CPP" 1>&6
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:1021: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:1098: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 1027 "configure"
+#line 1104 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -1041,7 +1118,7 @@ rm -f conftest*
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 1045 "configure"
+#line 1122 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -1073,7 +1150,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1077: checking for a BSD compatible install" >&5
+echo "configure:1154: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1125,15 +1202,16 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1129: checking for $ac_word" >&5
+echo "configure:1206: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_RANLIB="ranlib"
@@ -1157,15 +1235,16 @@ TEXMF='$(datadir)/texmf'
# Extract the first word of "texconfig", so it can be a program name with args.
set dummy texconfig; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1161: checking for $ac_word" >&5
+echo "configure:1239: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_TEXCONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$TEXCONFIG"; then
ac_cv_prog_TEXCONFIG="$TEXCONFIG" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_TEXCONFIG="true"
@@ -1187,7 +1266,7 @@ $TEXCONFIG && eval `texconfig conf </dev/null | grep '^TEXMF='`
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1191: checking for POSIXized ISC" >&5
+echo "configure:1270: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
@@ -1209,18 +1288,18 @@ fi
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:1213: checking for minix/config.h" >&5
+echo "configure:1292: checking for minix/config.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1218 "configure"
+#line 1297 "configure"
#include "confdefs.h"
#include <minix/config.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -1258,7 +1337,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:1262: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:1341: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@@ -1276,19 +1355,19 @@ fi
echo $ac_n "checking for Cygwin32 environment""... $ac_c" 1>&6
-echo "configure:1280: checking for Cygwin32 environment" >&5
+echo "configure:1359: checking for Cygwin32 environment" >&5
if eval "test \"`echo '$''{'am_cv_cygwin32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1285 "configure"
+#line 1364 "configure"
#include "confdefs.h"
int main() {
return __CYGWIN32__;
; return 0; }
EOF
-if { (eval echo configure:1292: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1371: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_cygwin32=yes
else
@@ -1305,19 +1384,19 @@ echo "$ac_t""$am_cv_cygwin32" 1>&6
CYGWIN32=
test "$am_cv_cygwin32" = yes && CYGWIN32=yes
echo $ac_n "checking for Mingw32 environment""... $ac_c" 1>&6
-echo "configure:1309: checking for Mingw32 environment" >&5
+echo "configure:1388: checking for Mingw32 environment" >&5
if eval "test \"`echo '$''{'am_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1314 "configure"
+#line 1393 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:1321: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_mingw32=yes
else
@@ -1336,7 +1415,7 @@ test "$am_cv_mingw32" = yes && MINGW32=yes
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1340: checking for executable suffix" >&5
+echo "configure:1419: checking for executable suffix" >&5
if eval "test \"`echo '$''{'am_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1360,101 +1439,15 @@ test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
echo "$ac_t""${am_cv_exeext}" 1>&6
-for ac_hdr in zlib.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1368: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1373 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1378: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
- echo $ac_n "checking for gzdopen in -lz""... $ac_c" 1>&6
-echo "configure:1399: checking for gzdopen in -lz" >&5
-ac_lib_var=`echo z'_'gzdopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lz $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1407 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gzdopen();
-
-int main() {
-gzdopen()
-; return 0; }
-EOF
-if { (eval echo configure:1418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo z | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lz $LIBS"
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
# Needed on sysV68 for sigblock, sigsetmask. But check for it in libc first.
echo $ac_n "checking for sigblock""... $ac_c" 1>&6
-echo "configure:1453: checking for sigblock" >&5
+echo "configure:1446: checking for sigblock" >&5
if eval "test \"`echo '$''{'ac_cv_func_sigblock'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1458 "configure"
+#line 1451 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sigblock(); below. */
@@ -1477,7 +1470,7 @@ sigblock();
; return 0; }
EOF
-if { (eval echo configure:1481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_sigblock=yes"
else
@@ -1495,7 +1488,7 @@ if eval "test \"`echo '$ac_cv_func_'sigblock`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sigblock in -lbsd""... $ac_c" 1>&6
-echo "configure:1499: checking for sigblock in -lbsd" >&5
+echo "configure:1492: checking for sigblock in -lbsd" >&5
ac_lib_var=`echo bsd'_'sigblock | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1503,7 +1496,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lbsd $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1507 "configure"
+#line 1500 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1514,7 +1507,7 @@ int main() {
sigblock()
; return 0; }
EOF
-if { (eval echo configure:1518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1549,7 +1542,7 @@ fi
TERMLIBS=
for termlib in ncurses curses termcap terminfo termlib ; do
echo $ac_n "checking for tputs in -l${termlib}""... $ac_c" 1>&6
-echo "configure:1553: checking for tputs in -l${termlib}" >&5
+echo "configure:1546: checking for tputs in -l${termlib}" >&5
ac_lib_var=`echo ${termlib}'_'tputs | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1557,7 +1550,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-l${termlib} $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1561 "configure"
+#line 1554 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1568,7 +1561,7 @@ int main() {
tputs()
; return 0; }
EOF
-if { (eval echo configure:1572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1596,18 +1589,18 @@ if test "x$termlib" = xncurses; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1600: checking for $ac_hdr" >&5
+echo "configure:1593: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1605 "configure"
+#line 1598 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1610: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -1634,12 +1627,12 @@ done
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1638: checking for ANSI C header files" >&5
+echo "configure:1631: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1643 "configure"
+#line 1636 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1647,8 +1640,8 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1651: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1644: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_cv_header_stdc=yes
@@ -1664,7 +1657,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1668 "configure"
+#line 1661 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1682,7 +1675,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1686 "configure"
+#line 1679 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1703,7 +1696,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1707 "configure"
+#line 1700 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1714,7 +1707,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1743,18 +1736,18 @@ for ac_hdr in fcntl.h pwd.h string.h strings.h termcap.h termio.h \
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1747: checking for $ac_hdr" >&5
+echo "configure:1740: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1752 "configure"
+#line 1745 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -1781,12 +1774,12 @@ done
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1785: checking for off_t" >&5
+echo "configure:1778: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1790 "configure"
+#line 1783 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1795,7 +1788,7 @@ else
#endif
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
+ egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
rm -rf conftest*
ac_cv_type_off_t=yes
else
@@ -1814,12 +1807,12 @@ EOF
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1818: checking return type of signal handlers" >&5
+echo "configure:1811: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1823 "configure"
+#line 1816 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -1836,7 +1829,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:1840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -1855,12 +1848,12 @@ EOF
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1859: checking for working const" >&5
+echo "configure:1852: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1864 "configure"
+#line 1857 "configure"
#include "confdefs.h"
int main() {
@@ -1909,7 +1902,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1913: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1930,12 +1923,12 @@ EOF
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:1934: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:1927: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1939 "configure"
+#line 1932 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
@@ -1943,7 +1936,7 @@ int main() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:1947: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1940: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
@@ -1967,19 +1960,19 @@ fi
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1971: checking for working alloca.h" >&5
+echo "configure:1964: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1976 "configure"
+#line 1969 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:1983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -2000,25 +1993,30 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:2004: checking for alloca" >&5
+echo "configure:1997: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2009 "configure"
+#line 2002 "configure"
#include "confdefs.h"
#ifdef __GNUC__
# define alloca __builtin_alloca
#else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
# else
-# ifdef _AIX
- #pragma alloca
+# if HAVE_ALLOCA_H
+# include <alloca.h>
# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
char *alloca ();
+# endif
# endif
# endif
# endif
@@ -2028,7 +2026,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:2032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -2053,19 +2051,19 @@ if test $ac_cv_func_alloca_works = no; then
# that cause trouble. Some versions do not even contain alloca or
# contain a buggy version. If you still want to use their alloca,
# use ar to extract alloca.o from them instead of compiling alloca.c.
- ALLOCA=alloca.o
+ ALLOCA=alloca.${ac_objext}
cat >> confdefs.h <<\EOF
#define C_ALLOCA 1
EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:2064: checking whether alloca needs Cray hooks" >&5
+echo "configure:2062: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2069 "configure"
+#line 2067 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -2090,12 +2088,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2094: checking for $ac_func" >&5
+echo "configure:2092: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2099 "configure"
+#line 2097 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2118,7 +2116,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2145,7 +2143,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:2149: checking stack direction for C alloca" >&5
+echo "configure:2147: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2153,7 +2151,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 2157 "configure"
+#line 2155 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -2172,7 +2170,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:2176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -2194,12 +2192,12 @@ EOF
fi
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2198: checking for vprintf" >&5
+echo "configure:2196: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2203 "configure"
+#line 2201 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
@@ -2222,7 +2220,7 @@ vprintf();
; return 0; }
EOF
-if { (eval echo configure:2226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
@@ -2246,12 +2244,12 @@ fi
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2250: checking for _doprnt" >&5
+echo "configure:2248: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2255 "configure"
+#line 2253 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
@@ -2274,7 +2272,7 @@ _doprnt();
; return 0; }
EOF
-if { (eval echo configure:2278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
@@ -2300,7 +2298,7 @@ fi
if test "$ac_cv_c_cross" = no; then
echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
-echo "configure:2304: checking whether setvbuf arguments are reversed" >&5
+echo "configure:2302: checking whether setvbuf arguments are reversed" >&5
if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2308,7 +2306,7 @@ else
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 2312 "configure"
+#line 2310 "configure"
#include "confdefs.h"
#include <stdio.h>
/* If setvbuf has the reversed format, exit 0. */
@@ -2322,7 +2320,7 @@ main () {
exit(0); /* Non-reversed systems segv here. */
}
EOF
-if { (eval echo configure:2326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_setvbuf_reversed=yes
else
@@ -2350,12 +2348,12 @@ for ac_func in setvbuf getcwd memset bzero strchr strcasecmp \
sigprocmask sigsetmask
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2354: checking for $ac_func" >&5
+echo "configure:2352: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2359 "configure"
+#line 2357 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2378,7 +2376,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2405,12 +2403,12 @@ done
for ac_func in memcpy memmove strdup strerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2409: checking for $ac_func" >&5
+echo "configure:2407: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2414 "configure"
+#line 2412 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2433,7 +2431,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2454,7 +2452,7 @@ EOF
else
echo "$ac_t""no" 1>&6
-LIBOBJS="$LIBOBJS ${ac_func}.o"
+LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}"
fi
done
@@ -2462,21 +2460,21 @@ done
ALL_LINGUAS="de fr"
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:2466: checking for inline" >&5
+echo "configure:2464: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 2473 "configure"
+#line 2471 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:2480: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2478: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -2502,12 +2500,12 @@ EOF
esac
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:2506: checking for size_t" >&5
+echo "configure:2504: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2511 "configure"
+#line 2509 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -2516,7 +2514,7 @@ else
#endif
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
+ egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
rm -rf conftest*
ac_cv_type_size_t=yes
else
@@ -2538,18 +2536,18 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2542: checking for $ac_hdr" >&5
+echo "configure:2540: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2547 "configure"
+#line 2545 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2552: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:2550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -2577,12 +2575,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2581: checking for $ac_func" >&5
+echo "configure:2579: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2586 "configure"
+#line 2584 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2605,7 +2603,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2630,7 +2628,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2634: checking for working mmap" >&5
+echo "configure:2632: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2638,7 +2636,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 2642 "configure"
+#line 2640 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -2778,7 +2776,7 @@ main()
}
EOF
-if { (eval echo configure:2782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -2806,18 +2804,18 @@ unistd.h values.h sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2810: checking for $ac_hdr" >&5
+echo "configure:2808: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2815 "configure"
+#line 2813 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2820: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:2818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -2846,12 +2844,12 @@ done
__argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2850: checking for $ac_func" >&5
+echo "configure:2848: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2855 "configure"
+#line 2853 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2874,7 +2872,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2903,12 +2901,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2907: checking for $ac_func" >&5
+echo "configure:2905: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2912 "configure"
+#line 2910 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2931,7 +2929,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2965,19 +2963,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:2969: checking for LC_MESSAGES" >&5
+echo "configure:2967: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2974 "configure"
+#line 2972 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:2981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
@@ -2998,7 +2996,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:3002: checking whether NLS is requested" >&5
+echo "configure:3000: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -3018,7 +3016,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:3022: checking whether included gettext is requested" >&5
+echo "configure:3020: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
@@ -3037,18 +3035,18 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:3041: checking for libintl.h" >&5
+echo "configure:3039: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3046 "configure"
+#line 3044 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:3049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -3064,19 +3062,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:3068: checking for gettext in libc" >&5
+echo "configure:3066: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3073 "configure"
+#line 3071 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
@@ -3092,7 +3090,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:3096: checking for bindtextdomain in -lintl" >&5
+echo "configure:3094: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3100,7 +3098,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3104 "configure"
+#line 3102 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3111,7 +3109,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:3115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3127,19 +3125,19 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:3131: checking for gettext in libintl" >&5
+echo "configure:3129: checking for gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3136 "configure"
+#line 3134 "configure"
#include "confdefs.h"
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gettext_libintl=yes
else
@@ -3167,7 +3165,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3171: checking for $ac_word" >&5
+echo "configure:3169: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3201,12 +3199,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3205: checking for $ac_func" >&5
+echo "configure:3203: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3210 "configure"
+#line 3208 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3229,7 +3227,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3256,7 +3254,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3260: checking for $ac_word" >&5
+echo "configure:3258: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3268,8 +3266,9 @@ else
ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
;;
*)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
@@ -3291,7 +3290,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3295: checking for $ac_word" >&5
+echo "configure:3294: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3323,7 +3322,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 3327 "configure"
+#line 3326 "configure"
#include "confdefs.h"
int main() {
@@ -3331,7 +3330,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:3335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -3354,7 +3353,7 @@ fi
if test "$CATOBJEXT" = "NONE"; then
echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:3358: checking whether catgets can be used" >&5
+echo "configure:3357: checking whether catgets can be used" >&5
# Check whether --with-catgets or --without-catgets was given.
if test "${with_catgets+set}" = set; then
withval="$with_catgets"
@@ -3367,7 +3366,7 @@ fi
if test "$nls_cv_use_catgets" = "yes"; then
echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:3371: checking for main in -li" >&5
+echo "configure:3370: checking for main in -li" >&5
ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3375,14 +3374,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-li $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3379 "configure"
+#line 3378 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:3386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3410,12 +3409,12 @@ else
fi
echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:3414: checking for catgets" >&5
+echo "configure:3413: checking for catgets" >&5
if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3419 "configure"
+#line 3418 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char catgets(); below. */
@@ -3438,7 +3437,7 @@ catgets();
; return 0; }
EOF
-if { (eval echo configure:3442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_catgets=yes"
else
@@ -3460,7 +3459,7 @@ EOF
# Extract the first word of "gencat", so it can be a program name with args.
set dummy gencat; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3464: checking for $ac_word" >&5
+echo "configure:3463: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3472,8 +3471,9 @@ else
ac_cv_path_GENCAT="$GENCAT" # Let the user override the test with a dos path.
;;
*)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_path_GENCAT="$ac_dir/$ac_word"
@@ -3507,8 +3507,9 @@ else
ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
;;
*)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
@@ -3531,7 +3532,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3535: checking for $ac_word" >&5
+echo "configure:3536: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3566,7 +3567,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3570: checking for $ac_word" >&5
+echo "configure:3571: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3624,7 +3625,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3628: checking for $ac_word" >&5
+echo "configure:3629: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3658,7 +3659,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3662: checking for $ac_word" >&5
+echo "configure:3663: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3670,8 +3671,9 @@ else
ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
;;
*)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
@@ -3693,7 +3695,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3697: checking for $ac_word" >&5
+echo "configure:3699: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3783,7 +3785,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:3787: checking for catalogs to be installed" >&5
+echo "configure:3789: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -3811,18 +3813,18 @@ echo "configure:3787: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:3815: checking for linux/version.h" >&5
+echo "configure:3817: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3820 "configure"
+#line 3822 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:3827: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -3910,7 +3912,7 @@ EOF
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
- case `(ac_space=' '; set) 2>&1 | grep ac_space` in
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
@@ -3977,7 +3979,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
@@ -4009,6 +4011,7 @@ s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
@@ -4028,8 +4031,8 @@ s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@PACKAGE@%$PACKAGE%g
s%@VERSION@%$VERSION%g
s%@ACLOCAL@%$ACLOCAL%g
diff --git a/texinfo/configure.in b/texinfo/configure.in
index 153279a6fc8..e3211d8f5b8 100644
--- a/texinfo/configure.in
+++ b/texinfo/configure.in
@@ -27,7 +27,7 @@ AM_MAINTAINER_MODE
AM_EXEEXT
dnl Checks for libraries.
-AC_CHECK_HEADERS(zlib.h, [AC_CHECK_LIB(z, gzdopen)])
+dnl AC_CHECK_HEADERS(zlib.h, [AC_CHECK_LIB(z, gzdopen)])
# Needed on sysV68 for sigblock, sigsetmask. But check for it in libc first.
AC_CHECK_FUNC(sigblock, , AC_CHECK_LIB(bsd, sigblock))
diff --git a/texinfo/intl/ChangeLog b/texinfo/intl/ChangeLog
index ecff6f6b2cd..1c57a6afc44 100644
--- a/texinfo/intl/ChangeLog
+++ b/texinfo/intl/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
1997-09-06 02:10 Ulrich Drepper <drepper@cygnus.com>
* intlh.inst.in: Reformat copyright.
diff --git a/texinfo/intl/explodename.c b/texinfo/intl/explodename.c
index 37c46e9d7b8..5c4e09ea221 100644
--- a/texinfo/intl/explodename.c
+++ b/texinfo/intl/explodename.c
@@ -19,7 +19,9 @@
# include <config.h>
#endif
-#include <stdlib.h>
+#if defined STDC_HEADERS || defined _LIBC
+# include <stdlib.h>
+#endif
#include <string.h>
#include <sys/types.h>
diff --git a/texinfo/lib/system.h b/texinfo/lib/system.h
index c0595c48d38..cb3ed0531ff 100644
--- a/texinfo/lib/system.h
+++ b/texinfo/lib/system.h
@@ -37,7 +37,11 @@
#ifdef HAVE_LOCALE_H
#include <locale.h>
#endif
+
+/* For gettext (NLS). */
#include <libintl.h>
+#define _(String) gettext (String)
+#define N_(String) (String)
/* Don't use bcopy! Use memmove if source and destination may overlap,
memcpy otherwise. */
diff --git a/texinfo/makeinfo/makeinfo.c b/texinfo/makeinfo/makeinfo.c
index dec3a4ef34f..3094a650d61 100644
--- a/texinfo/makeinfo/makeinfo.c
+++ b/texinfo/makeinfo/makeinfo.c
@@ -945,8 +945,10 @@ main (argc, argv)
/* Do not use LC_ALL, because LC_NUMERIC screws up the scanf parsing
of the argument to @multicolumn. */
setlocale (LC_TIME, "");
+#ifdef HAVE_LC_MESSAGES
setlocale (LC_MESSAGES, "");
#endif
+#endif
/* Set the text message domain. */
bindtextdomain (PACKAGE, LOCALEDIR);
diff --git a/texinfo/po/ChangeLog b/texinfo/po/ChangeLog
index e69de29bb2d..4541c528f3f 100644
--- a/texinfo/po/ChangeLog
+++ b/texinfo/po/ChangeLog
@@ -0,0 +1,16 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
diff --git a/texinfo/testsuite/ChangeLog b/texinfo/testsuite/ChangeLog
index 72366e2db68..38e6d7febb1 100644
--- a/texinfo/testsuite/ChangeLog
+++ b/texinfo/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.2 Released.
+
+Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95.1 Released.
+
+Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
+Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
+
+ * gcc-2.95 Released.
+
Thu Oct 3 15:31:09 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
* Makefile.in (clean): Move config.log to distclean.
diff --git a/zlib/ChangeLog b/zlib/ChangeLog
deleted file mode 100644
index 57386a26f48..00000000000
--- a/zlib/ChangeLog
+++ /dev/null
@@ -1,471 +0,0 @@
-
- ChangeLog file for zlib
-
-Changes in 1.1.3 (9 July 1998)
-- fix "an inflate input buffer bug that shows up on rare but persistent
- occasions" (Mark)
-- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
-- fix gzseek(..., SEEK_SET) in write mode
-- fix crc check after a gzeek (Frank Faubert)
-- fix miniunzip when the last entry in a zip file is itself a zip file
- (J Lillge)
-- add contrib/asm586 and contrib/asm686 (Brian Raiter)
- See http://www.muppetlabs.com/~breadbox/software/assembly.html
-- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
-- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
-- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
-- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
-- added a FAQ file
-
-- Support gzdopen on Mac with Metrowerks (Jason Linhart)
-- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart)
-- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young)
-- avoid some warnings with Borland C (Tom Tanner)
-- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant)
-- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant)
-- allow several arguments to configure (Tim Mooney, Frodo Looijaard)
-- use libdir and includedir in Makefile.in (Tim Mooney)
-- support shared libraries on OSF1 V4 (Tim Mooney)
-- remove so_locations in "make clean" (Tim Mooney)
-- fix maketree.c compilation error (Glenn, Mark)
-- Python interface to zlib now in Python 1.5 (Jeremy Hylton)
-- new Makefile.riscos (Rich Walker)
-- initialize static descriptors in trees.c for embedded targets (Nick Smith)
-- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith)
-- add the OS/2 files in Makefile.in too (Andrew Zabolotny)
-- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane)
-- fix maketree.c to allow clean compilation of inffixed.h (Mark)
-- fix parameter check in deflateCopy (Gunther Nikl)
-- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler)
-- Many portability patches by Christian Spieler:
- . zutil.c, zutil.h: added "const" for zmem*
- . Make_vms.com: fixed some typos
- . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists
- . msdos/Makefile.msc: remove "default rtl link library" info from obj files
- . msdos/Makefile.*: use model-dependent name for the built zlib library
- . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc:
- new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT)
-- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane)
-- replace __far with _far for better portability (Christian Spieler, Tom Lane)
-- fix test for errno.h in configure (Tim Newsham)
-
-Changes in 1.1.2 (19 March 98)
-- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)
- See http://www.winimage.com/zLibDll/unzip.html
-- preinitialize the inflate tables for fixed codes, to make the code
- completely thread safe (Mark)
-- some simplifications and slight speed-up to the inflate code (Mark)
-- fix gzeof on non-compressed files (Allan Schrum)
-- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)
-- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)
-- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)
-- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)
-- do not wrap extern "C" around system includes (Tom Lane)
-- mention zlib binding for TCL in README (Andreas Kupries)
-- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)
-- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)
-- allow "configure --prefix $HOME" (Tim Mooney)
-- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson)
-- move Makefile.sas to amiga/Makefile.sas
-
-Changes in 1.1.1 (27 Feb 98)
-- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson)
-- remove block truncation heuristic which had very marginal effect for zlib
- (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the
- compression ratio on some files. This also allows inlining _tr_tally for
- matches in deflate_slow.
-- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier)
-
-Changes in 1.1.0 (24 Feb 98)
-- do not return STREAM_END prematurely in inflate (John Bowler)
-- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
-- compile with -DFASTEST to get compression code optimized for speed only
-- in minigzip, try mmap'ing the input file first (Miguel Albrecht)
-- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain
- on Sun but significant on HP)
-
-- add a pointer to experimental unzip library in README (Gilles Vollant)
-- initialize variable gcc in configure (Chris Herborth)
-
-Changes in 1.0.9 (17 Feb 1998)
-- added gzputs and gzgets functions
-- do not clear eof flag in gzseek (Mark Diekhans)
-- fix gzseek for files in transparent mode (Mark Diekhans)
-- do not assume that vsprintf returns the number of bytes written (Jens Krinke)
-- replace EXPORT with ZEXPORT to avoid conflict with other programs
-- added compress2 in zconf.h, zlib.def, zlib.dnt
-- new asm code from Gilles Vollant in contrib/asm386
-- simplify the inflate code (Mark):
- . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new()
- . ZALLOC the length list in inflate_trees_fixed() instead of using stack
- . ZALLOC the value area for huft_build() instead of using stack
- . Simplify Z_FINISH check in inflate()
-
-- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8
-- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)
-- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with
- the declaration of FAR (Gilles VOllant)
-- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)
-- read_buf buf parameter of type Bytef* instead of charf*
-- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)
-- do not redeclare unlink in minigzip.c for WIN32 (John Bowler)
-- fix check for presence of directories in "make install" (Ian Willis)
-
-Changes in 1.0.8 (27 Jan 1998)
-- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant)
-- fix gzgetc and gzputc for big endian systems (Markus Oberhumer)
-- added compress2() to allow setting the compression level
-- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong)
-- use constant arrays for the static trees in trees.c instead of computing
- them at run time (thanks to Ken Raeburn for this suggestion). To create
- trees.h, compile with GEN_TREES_H and run "make test".
-- check return code of example in "make test" and display result
-- pass minigzip command line options to file_compress
-- simplifying code of inflateSync to avoid gcc 2.8 bug
-
-- support CC="gcc -Wall" in configure -s (QingLong)
-- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn)
-- fix test for shared library support to avoid compiler warnings
-- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant)
-- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit)
-- do not use fdopen for Metrowerks on Mac (Brad Pettit))
-- add checks for gzputc and gzputc in example.c
-- avoid warnings in gzio.c and deflate.c (Andreas Kleinert)
-- use const for the CRC table (Ken Raeburn)
-- fixed "make uninstall" for shared libraries
-- use Tracev instead of Trace in infblock.c
-- in example.c use correct compressed length for test_sync
-- suppress +vnocompatwarnings in configure for HPUX (not always supported)
-
-Changes in 1.0.7 (20 Jan 1998)
-- fix gzseek which was broken in write mode
-- return error for gzseek to negative absolute position
-- fix configure for Linux (Chun-Chung Chen)
-- increase stack space for MSC (Tim Wegner)
-- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant)
-- define EXPORTVA for gzprintf (Gilles Vollant)
-- added man page zlib.3 (Rick Rodgers)
-- for contrib/untgz, fix makedir() and improve Makefile
-
-- check gzseek in write mode in example.c
-- allocate extra buffer for seeks only if gzseek is actually called
-- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant)
-- add inflateSyncPoint in zconf.h
-- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def
-
-Changes in 1.0.6 (19 Jan 1998)
-- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and
- gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)
-- Fix a deflate bug occuring only with compression level 0 (thanks to
- Andy Buckler for finding this one).
-- In minigzip, pass transparently also the first byte for .Z files.
-- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()
-- check Z_FINISH in inflate (thanks to Marc Schluper)
-- Implement deflateCopy (thanks to Adam Costello)
-- make static libraries by default in configure, add --shared option.
-- move MSDOS or Windows specific files to directory msdos
-- suppress the notion of partial flush to simplify the interface
- (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4)
-- suppress history buffer provided by application to simplify the interface
- (this feature was not implemented anyway in 1.0.4)
-- next_in and avail_in must be initialized before calling inflateInit or
- inflateInit2
-- add EXPORT in all exported functions (for Windows DLL)
-- added Makefile.nt (thanks to Stephen Williams)
-- added the unsupported "contrib" directory:
- contrib/asm386/ by Gilles Vollant <info@winimage.com>
- 386 asm code replacing longest_match().
- contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
- A C++ I/O streams interface to the zlib gz* functions
- contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
- Another C++ I/O streams interface
- contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
- A very simple tar.gz file extractor using zlib
- contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl>
- How to use compress(), uncompress() and the gz* functions from VB.
-- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression
- level) in minigzip (thanks to Tom Lane)
-
-- use const for rommable constants in deflate
-- added test for gzseek and gztell in example.c
-- add undocumented function inflateSyncPoint() (hack for Paul Mackerras)
-- add undocumented function zError to convert error code to string
- (for Tim Smithers)
-- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code.
-- Use default memcpy for Symantec MSDOS compiler.
-- Add EXPORT keyword for check_func (needed for Windows DLL)
-- add current directory to LD_LIBRARY_PATH for "make test"
-- create also a link for libz.so.1
-- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura)
-- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX)
-- added -soname for Linux in configure (Chun-Chung Chen,
-- assign numbers to the exported functions in zlib.def (for Windows DLL)
-- add advice in zlib.h for best usage of deflateSetDictionary
-- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn)
-- allow compilation with ANSI keywords only enabled for TurboC in large model
-- avoid "versionString"[0] (Borland bug)
-- add NEED_DUMMY_RETURN for Borland
-- use variable z_verbose for tracing in debug mode (L. Peter Deutsch).
-- allow compilation with CC
-- defined STDC for OS/2 (David Charlap)
-- limit external names to 8 chars for MVS (Thomas Lund)
-- in minigzip.c, use static buffers only for 16-bit systems
-- fix suffix check for "minigzip -d foo.gz"
-- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee)
-- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau)
-- added makelcc.bat for lcc-win32 (Tom St Denis)
-- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe)
-- Avoid expanded $Id$. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.
-- check for unistd.h in configure (for off_t)
-- remove useless check parameter in inflate_blocks_free
-- avoid useless assignment of s->check to itself in inflate_blocks_new
-- do not flush twice in gzclose (thanks to Ken Raeburn)
-- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h
-- use NO_ERRNO_H instead of enumeration of operating systems with errno.h
-- work around buggy fclose on pipes for HP/UX
-- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson)
-- fix configure if CC is already equal to gcc
-
-Changes in 1.0.5 (3 Jan 98)
-- Fix inflate to terminate gracefully when fed corrupted or invalid data
-- Use const for rommable constants in inflate
-- Eliminate memory leaks on error conditions in inflate
-- Removed some vestigial code in inflate
-- Update web address in README
-
-Changes in 1.0.4 (24 Jul 96)
-- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF
- bit, so the decompressor could decompress all the correct data but went
- on to attempt decompressing extra garbage data. This affected minigzip too.
-- zlibVersion and gzerror return const char* (needed for DLL)
-- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno)
-- use z_error only for DEBUG (avoid problem with DLLs)
-
-Changes in 1.0.3 (2 Jul 96)
-- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS
- small and medium models; this makes the library incompatible with previous
- versions for these models. (No effect in large model or on other systems.)
-- return OK instead of BUF_ERROR if previous deflate call returned with
- avail_out as zero but there is nothing to do
-- added memcmp for non STDC compilers
-- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly)
-- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO)
-- better check for 16-bit mode MSC (avoids problem with Symantec)
-
-Changes in 1.0.2 (23 May 96)
-- added Windows DLL support
-- added a function zlibVersion (for the DLL support)
-- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model)
-- Bytef is define's instead of typedef'd only for Borland C
-- avoid reading uninitialized memory in example.c
-- mention in README that the zlib format is now RFC1950
-- updated Makefile.dj2
-- added algorithm.doc
-
-Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]
-- fix array overlay in deflate.c which sometimes caused bad compressed data
-- fix inflate bug with empty stored block
-- fix MSDOS medium model which was broken in 0.99
-- fix deflateParams() which could generated bad compressed data.
-- Bytef is define'd instead of typedef'ed (work around Borland bug)
-- added an INDEX file
-- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),
- Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas)
-- speed up adler32 for modern machines without auto-increment
-- added -ansi for IRIX in configure
-- static_init_done in trees.c is an int
-- define unlink as delete for VMS
-- fix configure for QNX
-- add configure branch for SCO and HPUX
-- avoid many warnings (unused variables, dead assignments, etc...)
-- no fdopen for BeOS
-- fix the Watcom fix for 32 bit mode (define FAR as empty)
-- removed redefinition of Byte for MKWERKS
-- work around an MWKERKS bug (incorrect merge of all .h files)
-
-Changes in 0.99 (27 Jan 96)
-- allow preset dictionary shared between compressor and decompressor
-- allow compression level 0 (no compression)
-- add deflateParams in zlib.h: allow dynamic change of compression level
- and compression strategy.
-- test large buffers and deflateParams in example.c
-- add optional "configure" to build zlib as a shared library
-- suppress Makefile.qnx, use configure instead
-- fixed deflate for 64-bit systems (detected on Cray)
-- fixed inflate_blocks for 64-bit systems (detected on Alpha)
-- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)
-- always return Z_BUF_ERROR when deflate() has nothing to do
-- deflateInit and inflateInit are now macros to allow version checking
-- prefix all global functions and types with z_ with -DZ_PREFIX
-- make falloc completely reentrant (inftrees.c)
-- fixed very unlikely race condition in ct_static_init
-- free in reverse order of allocation to help memory manager
-- use zlib-1.0/* instead of zlib/* inside the tar.gz
-- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith
- -Wconversion -Wstrict-prototypes -Wmissing-prototypes"
-- allow gzread on concatenated .gz files
-- deflateEnd now returns Z_DATA_ERROR if it was premature
-- deflate is finally (?) fully deterministic (no matches beyond end of input)
-- Document Z_SYNC_FLUSH
-- add uninstall in Makefile
-- Check for __cpluplus in zlib.h
-- Better test in ct_align for partial flush
-- avoid harmless warnings for Borland C++
-- initialize hash_head in deflate.c
-- avoid warning on fdopen (gzio.c) for HP cc -Aa
-- include stdlib.h for STDC compilers
-- include errno.h for Cray
-- ignore error if ranlib doesn't exist
-- call ranlib twice for NeXTSTEP
-- use exec_prefix instead of prefix for libz.a
-- renamed ct_* as _tr_* to avoid conflict with applications
-- clear z->msg in inflateInit2 before any error return
-- initialize opaque in example.c, gzio.c, deflate.c and inflate.c
-- fixed typo in zconf.h (_GNUC__ => __GNUC__)
-- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode)
-- fix typo in Make_vms.com (f$trnlnm -> f$getsyi)
-- in fcalloc, normalize pointer if size > 65520 bytes
-- don't use special fcalloc for 32 bit Borland C++
-- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc...
-- use Z_BINARY instead of BINARY
-- document that gzclose after gzdopen will close the file
-- allow "a" as mode in gzopen.
-- fix error checking in gzread
-- allow skipping .gz extra-field on pipes
-- added reference to Perl interface in README
-- put the crc table in FAR data (I dislike more and more the medium model :)
-- added get_crc_table
-- added a dimension to all arrays (Borland C can't count).
-- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast
-- guard against multiple inclusion of *.h (for precompiled header on Mac)
-- Watcom C pretends to be Microsoft C small model even in 32 bit mode.
-- don't use unsized arrays to avoid silly warnings by Visual C++:
- warning C4746: 'inflate_mask' : unsized array treated as '__far'
- (what's wrong with far data in far model?).
-- define enum out of inflate_blocks_state to allow compilation with C++
-
-Changes in 0.95 (16 Aug 95)
-- fix MSDOS small and medium model (now easier to adapt to any compiler)
-- inlined send_bits
-- fix the final (:-) bug for deflate with flush (output was correct but
- not completely flushed in rare occasions).
-- default window size is same for compression and decompression
- (it's now sufficient to set MAX_WBITS in zconf.h).
-- voidp -> voidpf and voidnp -> voidp (for consistency with other
- typedefs and because voidnp was not near in large model).
-
-Changes in 0.94 (13 Aug 95)
-- support MSDOS medium model
-- fix deflate with flush (could sometimes generate bad output)
-- fix deflateReset (zlib header was incorrectly suppressed)
-- added support for VMS
-- allow a compression level in gzopen()
-- gzflush now calls fflush
-- For deflate with flush, flush even if no more input is provided.
-- rename libgz.a as libz.a
-- avoid complex expression in infcodes.c triggering Turbo C bug
-- work around a problem with gcc on Alpha (in INSERT_STRING)
-- don't use inline functions (problem with some gcc versions)
-- allow renaming of Byte, uInt, etc... with #define.
-- avoid warning about (unused) pointer before start of array in deflate.c
-- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c
-- avoid reserved word 'new' in trees.c
-
-Changes in 0.93 (25 June 95)
-- temporarily disable inline functions
-- make deflate deterministic
-- give enough lookahead for PARTIAL_FLUSH
-- Set binary mode for stdin/stdout in minigzip.c for OS/2
-- don't even use signed char in inflate (not portable enough)
-- fix inflate memory leak for segmented architectures
-
-Changes in 0.92 (3 May 95)
-- don't assume that char is signed (problem on SGI)
-- Clear bit buffer when starting a stored block
-- no memcpy on Pyramid
-- suppressed inftest.c
-- optimized fill_window, put longest_match inline for gcc
-- optimized inflate on stored blocks.
-- untabify all sources to simplify patches
-
-Changes in 0.91 (2 May 95)
-- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h
-- Document the memory requirements in zconf.h
-- added "make install"
-- fix sync search logic in inflateSync
-- deflate(Z_FULL_FLUSH) now works even if output buffer too short
-- after inflateSync, don't scare people with just "lo world"
-- added support for DJGPP
-
-Changes in 0.9 (1 May 95)
-- don't assume that zalloc clears the allocated memory (the TurboC bug
- was Mark's bug after all :)
-- let again gzread copy uncompressed data unchanged (was working in 0.71)
-- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented
-- added a test of inflateSync in example.c
-- moved MAX_WBITS to zconf.h because users might want to change that.
-- document explicitly that zalloc(64K) on MSDOS must return a normalized
- pointer (zero offset)
-- added Makefiles for Microsoft C, Turbo C, Borland C++
-- faster crc32()
-
-Changes in 0.8 (29 April 95)
-- added fast inflate (inffast.c)
-- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this
- is incompatible with previous versions of zlib which returned Z_OK.
-- work around a TurboC compiler bug (bad code for b << 0, see infutil.h)
- (actually that was not a compiler bug, see 0.81 above)
-- gzread no longer reads one extra byte in certain cases
-- In gzio destroy(), don't reference a freed structure
-- avoid many warnings for MSDOS
-- avoid the ERROR symbol which is used by MS Windows
-
-Changes in 0.71 (14 April 95)
-- Fixed more MSDOS compilation problems :( There is still a bug with
- TurboC large model.
-
-Changes in 0.7 (14 April 95)
-- Added full inflate support.
-- Simplified the crc32() interface. The pre- and post-conditioning
- (one's complement) is now done inside crc32(). WARNING: this is
- incompatible with previous versions; see zlib.h for the new usage.
-
-Changes in 0.61 (12 April 95)
-- workaround for a bug in TurboC. example and minigzip now work on MSDOS.
-
-Changes in 0.6 (11 April 95)
-- added minigzip.c
-- added gzdopen to reopen a file descriptor as gzFile
-- added transparent reading of non-gziped files in gzread.
-- fixed bug in gzread (don't read crc as data)
-- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose).
-- don't allocate big arrays in the stack (for MSDOS)
-- fix some MSDOS compilation problems
-
-Changes in 0.5:
-- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but
- not yet Z_FULL_FLUSH.
-- support decompression but only in a single step (forced Z_FINISH)
-- added opaque object for zalloc and zfree.
-- added deflateReset and inflateReset
-- added a variable zlib_version for consistency checking.
-- renamed the 'filter' parameter of deflateInit2 as 'strategy'.
- Added Z_FILTERED and Z_HUFFMAN_ONLY constants.
-
-Changes in 0.4:
-- avoid "zip" everywhere, use zlib instead of ziplib.
-- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush
- if compression method == 8.
-- added adler32 and crc32
-- renamed deflateOptions as deflateInit2, call one or the other but not both
-- added the method parameter for deflateInit2.
-- added inflateInit2
-- simplied considerably deflateInit and inflateInit by not supporting
- user-provided history buffer. This is supported only in deflateInit2
- and inflateInit2.
-
-Changes in 0.3:
-- prefix all macro names with Z_
-- use Z_FINISH instead of deflateEnd to finish compression.
-- added Z_HUFFMAN_ONLY
-- added gzerror()
diff --git a/zlib/ChangeLog.gcj b/zlib/ChangeLog.gcj
deleted file mode 100644
index 931a80e4dc6..00000000000
--- a/zlib/ChangeLog.gcj
+++ /dev/null
@@ -1,17 +0,0 @@
-1999-05-10 Tom Tromey <tromey@cygnus.com>
-
- * configure, Makefile.in: Rebuilt.
- * Makefile.am (EXTRA_LTLIBRARIES): New macro.
- (toolexeclib_LTLIBRARIES): Use @target_all@.
- * configure.in: Recognize --with-system-zlib. Subst target_all.
-
-1999-05-04 Tom Tromey <tromey@cygnus.com>
-
- * Makefile.in: Replace with automake-generated file.
- * Makefile.am: New file.
- * configure: Replaced with autoconf-generated script.
- * aclocal.m4: New file.
- * acinclude.m4: New file.
- * configure.in: New file.
- * Makefile: Removed.
-
diff --git a/zlib/FAQ b/zlib/FAQ
deleted file mode 100644
index 0feb6d3e9bb..00000000000
--- a/zlib/FAQ
+++ /dev/null
@@ -1,72 +0,0 @@
-
- Frequently Asked Questions about zlib
-
-
-If your question is not there, please check the zlib home page
-http://www.cdrom.com/pub/infozip/zlib/ which may have more recent information.
-
-
-1) I need a Windows DLL
-2) I need a Visual Basic interface to zlib
-3) compress() returns Z_BUF_ERROR
-4) deflate or inflate returns Z_BUF_ERROR
-5) Where is the zlib documentation (man pages, etc...)?
-6) Why don't you use GNU autoconf, libtool, etc...?
-7) There is a bug in zlib.
-8) I get "undefined reference to gzputc"
-
-
-
-1) I need a Windows DLL
-
- The zlib sources can be compiled without change to produce a DLL.
- If you want a precompiled DLL, see http://www.winimage.com/zLibDll
-
-
-2) I need a Visual Basic interface to zlib
-
- See http://www.tcfb.com/dowseware/cmp-z-it.zip
- http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
- and contrib/visual-basic.txt
-
-3) compress() returns Z_BUF_ERROR
-
- Make sure that before the call of compress, the length of the
- compressed buffer is equal to the total size of the compressed buffer
- and not zero. For Visual Basic, check that this parameter is passed
- by reference ("as any"), not by value ("as long").
-
-
-4) deflate or inflate returns Z_BUF_ERROR
-
- Make sure that before the call avail_in and avail_out are not zero.
-
-
-5) Where is the zlib documentation (man pages, etc...)?
-
- It's in zlib.h for the moment. Volunteers to transform this
- to man pages, please contact jloup@gzip.org. Examples of zlib usage
- are in the files example.c and minigzip.c.
-
-
-6) Why don't you use GNU autoconf, libtool, etc...?
-
- Because we would like to keep zlib as a very small and simple package.
- zlib is rather portable and doesn't need much configuration.
-
-
-7) There is a bug in zlib.
-
- Most of the time, such problems are due to an incorrect usage
- of zlib. Please try to reproduce the problem with a small
- program and send us the corresponding source at zlib@quest.jpl.nasa.gov
- Do not send multi-megabyte data files without prior agreement.
-
-
-8) I get "undefined reference to gzputc"
-
- If "make test" produces something like
- example.o(.text+0x174):
- check that you don't have old files libz.* in /usr/lib, /usr/local/lib
- or /usr/X11R6/lib. Remove old versions then do "make install".
-
diff --git a/zlib/INDEX b/zlib/INDEX
deleted file mode 100644
index 8a245766402..00000000000
--- a/zlib/INDEX
+++ /dev/null
@@ -1,86 +0,0 @@
-ChangeLog history of changes
-INDEX this file
-FAQ Frequently Asked Questions about zlib
-Make_vms.com script for Vax/VMS
-Makefile makefile for Unix (generated by configure)
-Makefile.in makefile for Unix (template for configure)
-Makefile.riscos makefile for RISCOS
-README guess what
-algorithm.txt description of the (de)compression algorithm
-configure configure script for Unix
-descrip.mms makefile for Vax/VMS
-zlib.3 mini man page for zlib (volunteers to write full
- man pages from zlib.h welcome. write to jloup@gzip.org)
-
-amiga/Makefile.sas makefile for Amiga SAS/C
-amiga/Makefile.pup makefile for Amiga powerUP SAS/C PPC
-
-msdos/Makefile.w32 makefile for Microsoft Visual C++ 32-bit
-msdos/Makefile.b32 makefile for Borland C++ 32-bit
-msdos/Makefile.bor makefile for Borland C/C++ 16-bit
-msdos/Makefile.dj2 makefile for DJGPP 2.x
-msdos/Makefile.emx makefile for EMX 0.9c (32-bit DOS/OS2)
-msdos/Makefile.msc makefile for Microsoft C 16-bit
-msdos/Makefile.tc makefile for Turbo C
-msdos/Makefile.wat makefile for Watcom C
-msdos/zlib.def definition file for Windows DLL
-msdos/zlib.rc definition file for Windows DLL
-
-nt/Makefile.nt makefile for Windows NT
-nt/zlib.dnt definition file for Windows NT DLL
-nt/Makefile.emx makefile for EMX 0.9c/RSXNT 1.41 (Win32 Intel)
-nt/Makefile.gcc makefile for Windows NT using GCC (mingw32)
-
-
- zlib public header files (must be kept):
-zconf.h
-zlib.h
-
- private source files used to build the zlib library:
-adler32.c
-compress.c
-crc32.c
-deflate.c
-deflate.h
-gzio.c
-infblock.c
-infblock.h
-infcodes.c
-infcodes.h
-inffast.c
-inffast.h
-inflate.c
-inftrees.c
-inftrees.h
-infutil.c
-infutil.h
-maketree.c
-trees.c
-uncompr.c
-zutil.c
-zutil.h
-
- source files for sample programs:
-example.c
-minigzip.c
-
- unsupported contribution by third parties
-
-contrib/asm386/ by Gilles Vollant <info@winimage.com>
- 386 asm code replacing longest_match().
-
-contrib/minizip/ by Gilles Vollant <info@winimage.com>
- Mini zip and unzip based on zlib
- See http://www.winimage.com/zLibDll/unzip.html
-
-contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
- A C++ I/O streams interface to the zlib gz* functions
-
-contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
- Another C++ I/O streams interface
-
-contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
- A very simple tar.gz extractor using zlib
-
-contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl>
- How to use compress(), uncompress() and the gz* functions from VB.
diff --git a/zlib/Make_vms.com b/zlib/Make_vms.com
deleted file mode 100644
index 1c57e8f0e02..00000000000
--- a/zlib/Make_vms.com
+++ /dev/null
@@ -1,115 +0,0 @@
-$! make libz under VMS
-$! written by Martin P.J. Zinser <m.zinser@gsi.de>
-$!
-$! Look for the compiler used
-$!
-$ ccopt = ""
-$ if f$getsyi("HW_MODEL").ge.1024
-$ then
-$ ccopt = "/prefix=all"+ccopt
-$ comp = "__decc__=1"
-$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
-$ else
-$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
-$ then
-$ comp = "__vaxc__=1"
-$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
-$ else
-$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
-$ ccopt = "/decc/prefix=all"+ccopt
-$ comp = "__decc__=1"
-$ endif
-$ endif
-$!
-$! Build the thing plain or with mms
-$!
-$ write sys$output "Compiling Zlib sources ..."
-$ if f$search("SYS$SYSTEM:MMS.EXE").eqs.""
-$ then
-$ dele example.obj;*,minigzip.obj;*
-$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
- adler32.c zlib.h zconf.h
-$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
- compress.c zlib.h zconf.h
-$ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" -
- crc32.c zlib.h zconf.h
-$ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" -
- deflate.c deflate.h zutil.h zlib.h zconf.h
-$ CALL MAKE gzio.OBJ "CC ''CCOPT' gzio" -
- gzio.c zutil.h zlib.h zconf.h
-$ CALL MAKE infblock.OBJ "CC ''CCOPT' infblock" -
- infblock.c zutil.h zlib.h zconf.h infblock.h
-$ CALL MAKE infcodes.OBJ "CC ''CCOPT' infcodes" -
- infcodes.c zutil.h zlib.h zconf.h inftrees.h
-$ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" -
- inffast.c zutil.h zlib.h zconf.h inffast.h
-$ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" -
- inflate.c zutil.h zlib.h zconf.h infblock.h
-$ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" -
- inftrees.c zutil.h zlib.h zconf.h inftrees.h
-$ CALL MAKE infutil.OBJ "CC ''CCOPT' infutil" -
- infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
-$ CALL MAKE trees.OBJ "CC ''CCOPT' trees" -
- trees.c deflate.h zutil.h zlib.h zconf.h
-$ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" -
- uncompr.c zlib.h zconf.h
-$ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
- zutil.c zutil.h zlib.h zconf.h
-$ write sys$output "Building Zlib ..."
-$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
-$ write sys$output "Building example..."
-$ CALL MAKE example.OBJ "CC ''CCOPT' example" -
- example.c zlib.h zconf.h
-$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
-$ write sys$output "Building minigzip..."
-$ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" -
- minigzip.c zlib.h zconf.h
-$ call make minigzip.exe -
- "LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" -
- minigzip.obj libz.olb
-$ else
-$ mms/macro=('comp')
-$ endif
-$ write sys$output "Zlib build completed"
-$ exit
-$!
-$!
-$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
-$ V = 'F$Verify(0)
-$! P1 = What we are trying to make
-$! P2 = Command to make it
-$! P3 - P8 What it depends on
-$
-$ If F$Search(P1) .Eqs. "" Then Goto Makeit
-$ Time = F$CvTime(F$File(P1,"RDT"))
-$arg=3
-$Loop:
-$ Argument = P'arg
-$ If Argument .Eqs. "" Then Goto Exit
-$ El=0
-$Loop2:
-$ File = F$Element(El," ",Argument)
-$ If File .Eqs. " " Then Goto Endl
-$ AFile = ""
-$Loop3:
-$ OFile = AFile
-$ AFile = F$Search(File)
-$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
-$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
-$ Goto Loop3
-$NextEL:
-$ El = El + 1
-$ Goto Loop2
-$EndL:
-$ arg=arg+1
-$ If arg .Le. 8 Then Goto Loop
-$ Goto Exit
-$
-$Makeit:
-$ VV=F$VERIFY(0)
-$ write sys$output P2
-$ 'P2
-$ VV='F$Verify(VV)
-$Exit:
-$ If V Then Set Verify
-$ENDSUBROUTINE
diff --git a/zlib/Makefile.am b/zlib/Makefile.am
deleted file mode 100644
index cf27582dbec..00000000000
--- a/zlib/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-## Process this file with automake to create Makefile.in.
-
-AUTOMAKE_OPTIONS = cygnus
-
-# Multilib support variables.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-
-## We don't use `libz.la' because we don't want to conflict with a
-## system library of that name.
-toolexeclib_LTLIBRARIES = @target_all@
-EXTRA_LTLIBRARIES = libzgcj.la
-
-libzgcj_la_SOURCES = adler32.c compress.c crc32.c deflate.c deflate.h \
-gzio.c infblock.c infblock.h infcodes.c infcodes.h inffast.c inffast.h \
-inffixed.h inflate.c inftrees.c inftrees.h infutil.c infutil.h trees.c \
-trees.h uncompr.c zconf.h zlib.h zutil.c zutil.h
-
-libzgcj_la_LDFLAGS = -release $(VERSION) -rpath $(toolexeclibdir)
diff --git a/zlib/Makefile.in b/zlib/Makefile.in
deleted file mode 100644
index ac34d65240c..00000000000
--- a/zlib/Makefile.in
+++ /dev/null
@@ -1,383 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = .
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_alias = @build_alias@
-build_triplet = @build@
-host_alias = @host_alias@
-host_triplet = @host@
-target_alias = @target_alias@
-target_triplet = @target@
-AS = @AS@
-CC = @CC@
-COMPPATH = @COMPPATH@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-LD = @LD@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-NM = @NM@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
-VERSION = @VERSION@
-target_all = @target_all@
-zlib_basedir = @zlib_basedir@
-
-AUTOMAKE_OPTIONS = cygnus
-
-# Multilib support variables.
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-toolexecdir = $(exec_prefix)/$(target_alias)
-toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
-
-toolexeclib_LTLIBRARIES = @target_all@
-EXTRA_LTLIBRARIES = libzgcj.la
-
-libzgcj_la_SOURCES = adler32.c compress.c crc32.c deflate.c deflate.h \
-gzio.c infblock.c infblock.h infcodes.c infcodes.h inffast.c inffast.h \
-inffixed.h inflate.c inftrees.c inftrees.h infutil.c infutil.h trees.c \
-trees.h uncompr.c zconf.h zlib.h zutil.c zutil.h
-
-
-libzgcj_la_LDFLAGS = -release $(VERSION) -rpath $(toolexeclibdir)
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir)
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-libzgcj_la_LIBADD =
-libzgcj_la_OBJECTS = adler32.lo compress.lo crc32.lo deflate.lo gzio.lo \
-infblock.lo infcodes.lo inffast.lo inflate.lo inftrees.lo infutil.lo \
-trees.lo uncompr.lo zutil.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = README ChangeLog Makefile.am Makefile.in acinclude.m4 \
-aclocal.m4 configure configure.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = tar
-GZIP_ENV = --best
-SOURCES = $(libzgcj_la_SOURCES)
-OBJECTS = $(libzgcj_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
- cd $(srcdir) && $(ACLOCAL)
-
-config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-
-mostlyclean-toolexeclibLTLIBRARIES:
-
-clean-toolexeclibLTLIBRARIES:
- -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
-
-distclean-toolexeclibLTLIBRARIES:
-
-maintainer-clean-toolexeclibLTLIBRARIES:
-
-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
- $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
- else :; fi; \
- done
-
-uninstall-toolexeclibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
- done
-
-.c.o:
- $(COMPILE) -c $<
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libzgcj.la: $(libzgcj_la_OBJECTS) $(libzgcj_la_DEPENDENCIES)
- $(LINK) $(libzgcj_la_LDFLAGS) $(libzgcj_la_OBJECTS) $(libzgcj_la_LIBADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- -rm -rf $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
- mkdir $(distdir)/=build
- mkdir $(distdir)/=inst
- dc_install_base=`cd $(distdir)/=inst && pwd`; \
- cd $(distdir)/=build \
- && ../configure --srcdir=.. --prefix=$$dc_install_base \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) dist
- -rm -rf $(distdir)
- @banner="$(distdir).tar.gz is ready for distribution"; \
- dashes=`echo "$$banner" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- echo "$$dashes"
-dist: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-dist-all: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-distdir: $(DISTFILES)
- -rm -rf $(distdir)
- mkdir $(distdir)
- -chmod 777 $(distdir)
- @for file in $(DISTFILES); do \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- cp -pr $$/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am:
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-info-am:
-install-info: install-info-am
-install-exec-am: install-toolexeclibLTLIBRARIES
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-toolexeclibLTLIBRARIES
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-toolexeclibLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-toolexeclibLTLIBRARIES clean-compile clean-libtool \
- clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-toolexeclibLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-am
- -rm -f config.status
-
-maintainer-clean-am: maintainer-clean-toolexeclibLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
- -rm -f config.status
-
-.PHONY: mostlyclean-toolexeclibLTLIBRARIES \
-distclean-toolexeclibLTLIBRARIES clean-toolexeclibLTLIBRARIES \
-maintainer-clean-toolexeclibLTLIBRARIES \
-uninstall-toolexeclibLTLIBRARIES install-toolexeclibLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-info-am \
-install-info install-exec-am install-exec install-data-am install-data \
-install-am install uninstall-am uninstall all-redirect all-am all \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/zlib/Makefile.riscos b/zlib/Makefile.riscos
deleted file mode 100644
index d97f4492370..00000000000
--- a/zlib/Makefile.riscos
+++ /dev/null
@@ -1,151 +0,0 @@
-# Project: zlib_1_03
-# Patched for zlib 1.1.2 rw@shadow.org.uk 19980430
-# test works out-of-the-box, installs `somewhere' on demand
-
-# Toolflags:
-CCflags = -c -depend !Depend -IC: -g -throwback -DRISCOS -fah
-C++flags = -c -depend !Depend -IC: -throwback
-Linkflags = -aif -c++ -o $@
-ObjAsmflags = -throwback -NoCache -depend !Depend
-CMHGflags =
-LibFileflags = -c -l -o $@
-Squeezeflags = -o $@
-
-# change the line below to where _you_ want the library installed.
-libdest = lib:zlib
-
-# Final targets:
-@.lib: @.o.adler32 @.o.compress @.o.crc32 @.o.deflate @.o.gzio \
- @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil @.o.trees \
- @.o.uncompr @.o.zutil
- LibFile $(LibFileflags) @.o.adler32 @.o.compress @.o.crc32 @.o.deflate \
- @.o.gzio @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil \
- @.o.trees @.o.uncompr @.o.zutil
-test: @.minigzip @.example @.lib
- @copy @.lib @.libc A~C~DF~L~N~P~Q~RS~TV
- @echo running tests: hang on.
- @/@.minigzip -f -9 libc
- @/@.minigzip -d libc-gz
- @/@.minigzip -f -1 libc
- @/@.minigzip -d libc-gz
- @/@.minigzip -h -9 libc
- @/@.minigzip -d libc-gz
- @/@.minigzip -h -1 libc
- @/@.minigzip -d libc-gz
- @/@.minigzip -9 libc
- @/@.minigzip -d libc-gz
- @/@.minigzip -1 libc
- @/@.minigzip -d libc-gz
- @diff @.lib @.libc
- @echo that should have reported '@.lib and @.libc identical' if you have diff.
- @/@.example @.fred @.fred
- @echo that will have given lots of hello!'s.
-
-@.minigzip: @.o.minigzip @.lib C:o.Stubs
- Link $(Linkflags) @.o.minigzip @.lib C:o.Stubs
-@.example: @.o.example @.lib C:o.Stubs
- Link $(Linkflags) @.o.example @.lib C:o.Stubs
-
-install: @.lib
- cdir $(libdest)
- cdir $(libdest).h
- @copy @.h.zlib $(libdest).h.zlib A~C~DF~L~N~P~Q~RS~TV
- @copy @.h.zconf $(libdest).h.zconf A~C~DF~L~N~P~Q~RS~TV
- @copy @.lib $(libdest).lib A~C~DF~L~N~P~Q~RS~TV
- @echo okay, installed zlib in $(libdest)
-
-clean:; remove @.minigzip
- remove @.example
- remove @.libc
- -wipe @.o.* F~r~cV
- remove @.fred
-
-# User-editable dependencies:
-.c.o:
- cc $(ccflags) -o $@ $<
-
-# Static dependencies:
-
-# Dynamic dependencies:
-o.example: c.example
-o.example: h.zlib
-o.example: h.zconf
-o.minigzip: c.minigzip
-o.minigzip: h.zlib
-o.minigzip: h.zconf
-o.adler32: c.adler32
-o.adler32: h.zlib
-o.adler32: h.zconf
-o.compress: c.compress
-o.compress: h.zlib
-o.compress: h.zconf
-o.crc32: c.crc32
-o.crc32: h.zlib
-o.crc32: h.zconf
-o.deflate: c.deflate
-o.deflate: h.deflate
-o.deflate: h.zutil
-o.deflate: h.zlib
-o.deflate: h.zconf
-o.gzio: c.gzio
-o.gzio: h.zutil
-o.gzio: h.zlib
-o.gzio: h.zconf
-o.infblock: c.infblock
-o.infblock: h.zutil
-o.infblock: h.zlib
-o.infblock: h.zconf
-o.infblock: h.infblock
-o.infblock: h.inftrees
-o.infblock: h.infcodes
-o.infblock: h.infutil
-o.infcodes: c.infcodes
-o.infcodes: h.zutil
-o.infcodes: h.zlib
-o.infcodes: h.zconf
-o.infcodes: h.inftrees
-o.infcodes: h.infblock
-o.infcodes: h.infcodes
-o.infcodes: h.infutil
-o.infcodes: h.inffast
-o.inffast: c.inffast
-o.inffast: h.zutil
-o.inffast: h.zlib
-o.inffast: h.zconf
-o.inffast: h.inftrees
-o.inffast: h.infblock
-o.inffast: h.infcodes
-o.inffast: h.infutil
-o.inffast: h.inffast
-o.inflate: c.inflate
-o.inflate: h.zutil
-o.inflate: h.zlib
-o.inflate: h.zconf
-o.inflate: h.infblock
-o.inftrees: c.inftrees
-o.inftrees: h.zutil
-o.inftrees: h.zlib
-o.inftrees: h.zconf
-o.inftrees: h.inftrees
-o.inftrees: h.inffixed
-o.infutil: c.infutil
-o.infutil: h.zutil
-o.infutil: h.zlib
-o.infutil: h.zconf
-o.infutil: h.infblock
-o.infutil: h.inftrees
-o.infutil: h.infcodes
-o.infutil: h.infutil
-o.trees: c.trees
-o.trees: h.deflate
-o.trees: h.zutil
-o.trees: h.zlib
-o.trees: h.zconf
-o.trees: h.trees
-o.uncompr: c.uncompr
-o.uncompr: h.zlib
-o.uncompr: h.zconf
-o.zutil: c.zutil
-o.zutil: h.zutil
-o.zutil: h.zlib
-o.zutil: h.zconf
diff --git a/zlib/README b/zlib/README
deleted file mode 100644
index 8ff458799b9..00000000000
--- a/zlib/README
+++ /dev/null
@@ -1,148 +0,0 @@
-zlib 1.1.3 is a general purpose data compression library. All the code
-is thread safe. The data format used by the zlib library
-is described by RFCs (Request for Comments) 1950 to 1952 in the files
-ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
-format) and rfc1952.txt (gzip format). These documents are also available in
-other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
-
-All functions of the compression library are documented in the file zlib.h
-(volunteer to write man pages welcome, contact jloup@gzip.org). A usage
-example of the library is given in the file example.c which also tests that
-the library is working correctly. Another example is given in the file
-minigzip.c. The compression library itself is composed of all source files
-except example.c and minigzip.c.
-
-To compile all files and run the test program, follow the instructions
-given at the top of Makefile. In short "make test; make install"
-should work for most machines. For Unix: "configure; make test; make install"
-For MSDOS, use one of the special makefiles such as Makefile.msc.
-For VMS, use Make_vms.com or descrip.mms.
-
-Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov>, or to
-Gilles Vollant <info@winimage.com> for the Windows DLL version.
-The zlib home page is http://www.cdrom.com/pub/infozip/zlib/
-The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/
-Before reporting a problem, please check those sites to verify that
-you have the latest version of zlib; otherwise get the latest version and
-check whether the problem still exists or not.
-
-Mark Nelson <markn@tiny.com> wrote an article about zlib for the Jan. 1997
-issue of Dr. Dobb's Journal; a copy of the article is available in
-http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
-
-The changes made in version 1.1.3 are documented in the file ChangeLog.
-The main changes since 1.1.2 are:
-
-- fix "an inflate input buffer bug that shows up on rare but persistent
- occasions" (Mark)
-- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
-- fix gzseek(..., SEEK_SET) in write mode
-- fix crc check after a gzeek (Frank Faubert)
-- fix miniunzip when the last entry in a zip file is itself a zip file
- (J Lillge)
-- add contrib/asm586 and contrib/asm686 (Brian Raiter)
- See http://www.muppetlabs.com/~breadbox/software/assembly.html
-- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
-- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
-- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
-- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
-- added a FAQ file
-
-plus many changes for portability.
-
-Unsupported third party contributions are provided in directory "contrib".
-
-A Java implementation of zlib is available in the Java Development Kit 1.1
-http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
-See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details.
-
-A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
-is in the CPAN (Comprehensive Perl Archive Network) sites, such as:
-ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
-
-A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
-is available in Python 1.5 and later versions, see
-http://www.python.org/doc/lib/module-zlib.html
-
-A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com>
-is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html
-
-An experimental package to read and write files in .zip format,
-written on top of zlib by Gilles Vollant <info@winimage.com>, is
-available at http://www.winimage.com/zLibDll/unzip.html
-and also in the contrib/minizip directory of zlib.
-
-
-Notes for some targets:
-
-- To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc
- and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL
- The zlib DLL support was initially done by Alessandro Iacopetti and is
- now maintained by Gilles Vollant <info@winimage.com>. Check the zlib DLL
- home page at http://www.winimage.com/zLibDll
-
- From Visual Basic, you can call the DLL functions which do not take
- a structure as argument: compress, uncompress and all gz* functions.
- See contrib/visual-basic.txt for more information, or get
- http://www.tcfb.com/dowseware/cmp-z-it.zip
-
-- For 64-bit Irix, deflate.c must be compiled without any optimization.
- With -O, one libpng test fails. The test works in 32 bit mode (with
- the -n32 compiler flag). The compiler bug has been reported to SGI.
-
-- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1
- it works when compiled with cc.
-
-- on Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1
- is necessary to get gzprintf working correctly. This is done by configure.
-
-- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works
- with other compilers. Use "make test" to check your compiler.
-
-- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
-
-- For Turbo C the small model is supported only with reduced performance to
- avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
-
-- For PalmOs, see http://www.cs.uit.no/~perm/PASTA/pilot/software.html
- Per Harald Myrvang <perm@stud.cs.uit.no>
-
-
-Acknowledgments:
-
- The deflate format used by zlib was defined by Phil Katz. The deflate
- and zlib specifications were written by L. Peter Deutsch. Thanks to all the
- people who reported problems and suggested various improvements in zlib;
- they are too numerous to cite here.
-
-Copyright notice:
-
- (C) 1995-1998 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-If you use the zlib library in a product, we would appreciate *not*
-receiving lengthy legal documents to sign. The sources are provided
-for free but without warranty of any kind. The library has been
-entirely written by Jean-loup Gailly and Mark Adler; it does not
-include third-party code.
-
-If you redistribute modified sources, we would appreciate that you include
-in the file ChangeLog history information documenting your changes.
diff --git a/zlib/acinclude.m4 b/zlib/acinclude.m4
deleted file mode 100644
index 67bb203341e..00000000000
--- a/zlib/acinclude.m4
+++ /dev/null
@@ -1,37 +0,0 @@
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
diff --git a/zlib/aclocal.m4 b/zlib/aclocal.m4
deleted file mode 100644
index 24c14c5195c..00000000000
--- a/zlib/aclocal.m4
+++ /dev/null
@@ -1,779 +0,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4
-
-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-# Do all the work for Automake. This macro actually does too much --
-# some checks are only needed if your package does certain things.
-# But this isn't really a big deal.
-
-# serial 1
-
-dnl Usage:
-dnl AM_INIT_AUTOMAKE(package,version, [no-define])
-
-AC_DEFUN(AM_INIT_AUTOMAKE,
-[AC_REQUIRE([AC_PROG_INSTALL])
-PACKAGE=[$1]
-AC_SUBST(PACKAGE)
-VERSION=[$2]
-AC_SUBST(VERSION)
-dnl test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-ifelse([$3],,
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
-AC_REQUIRE([AM_SANITY_CHECK])
-AC_REQUIRE([AC_ARG_PROGRAM])
-dnl FIXME This is truly gross.
-missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
-AC_REQUIRE([AC_PROG_MAKE_SET])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-AC_DEFUN(AM_SANITY_CHECK,
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "[$]*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "[$]*" != "X $srcdir/configure conftestfile" \
- && test "[$]*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "[$]2" = conftestfile
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-rm -f conftest*
-AC_MSG_RESULT(yes)])
-
-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
-dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
-[AC_MSG_CHECKING(for working $2)
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if ($2 --version) < /dev/null > /dev/null 2>&1; then
- $1=$2
- AC_MSG_RESULT(found)
-else
- $1="$3/missing $2"
- AC_MSG_RESULT(missing)
-fi
-AC_SUBST($1)])
-
-# Add --enable-maintainer-mode option to configure.
-# From Jim Meyering
-
-# serial 1
-
-AC_DEFUN(AM_MAINTAINER_MODE,
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT($USE_MAINTAINER_MODE)
- AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-# Define a conditional.
-
-AC_DEFUN(AM_CONDITIONAL,
-[AC_SUBST($1_TRUE)
-AC_SUBST($1_FALSE)
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi])
-
-
-# serial 35 AC_PROG_LIBTOOL
-AC_DEFUN(AC_PROG_LIBTOOL,
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-
-# Save cache, so that ltconfig can load it
-AC_CACHE_SAVE
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-DLLTOOL="$DLLTOOL" AS="$AS" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
-|| AC_MSG_ERROR([libtool configure failed])
-
-# Reload cache, that may have been modified by ltconfig
-AC_CACHE_LOAD
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-])
-
-AC_DEFUN(AC_LIBTOOL_SETUP,
-[AC_PREREQ(2.13)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_RANLIB])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_SYS_NM_PARSE])dnl
-AC_REQUIRE([AC_SYS_SYMBOL_UNDERSCORE])dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-dnl
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$lt_dlopen" = yes && libtool_flags="$libtool_flags --enable-dlopen"
-test "$silent" = yes && libtool_flags="$libtool_flags --silent"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$host" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-
-*-*-cygwin*)
- AC_SYS_LIBTOOL_CYGWIN
- ;;
-
-esac
-
-# enable the --disable-libtool-lock switch
-
-AC_ARG_ENABLE(libtool-lock,
-[ --disable-libtool-lock force libtool not to do file locking],
-need_locks=$enableval,
-need_locks=yes)
-
-if test x"$need_locks" = xno; then
- libtool_flags="$libtool_flags --disable-lock"
-fi
-])
-
-# AC_LIBTOOL_DLOPEN - check for dlopen support
-AC_DEFUN(AC_LIBTOOL_DLOPEN, [lt_dlopen=yes])
-
-# AC_ENABLE_SHARED - implement the --enable-shared flag
-# Usage: AC_ENABLE_SHARED[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_SHARED,
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(shared,
-changequote(<<, >>)dnl
-<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
-])
-
-# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
-AC_DEFUN(AC_DISABLE_SHARED,
-[AC_ENABLE_SHARED(no)])
-
-# AC_ENABLE_STATIC - implement the --enable-static flag
-# Usage: AC_ENABLE_STATIC[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_STATIC,
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(static,
-changequote(<<, >>)dnl
-<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
-])
-
-# AC_DISABLE_STATIC - set the default static flag to --disable-static
-AC_DEFUN(AC_DISABLE_STATIC,
-[AC_ENABLE_STATIC(no)])
-
-
-# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
-# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_FAST_INSTALL,
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(fast-install,
-changequote(<<, >>)dnl
-<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
-])
-
-# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
-AC_DEFUN(AC_DISABLE_FAST_INSTALL,
-[AC_ENABLE_FAST_INSTALL(no)])
-
-
-# AC_PROG_LD - find the path to the GNU or non-GNU linker
-AC_DEFUN(AC_PROG_LD,
-[AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
- ac_prog=`($CC -print-prog-name=ld) 2>&5`
- case "$ac_prog" in
- # Accept absolute paths.
-changequote(,)dnl
- /* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
-changequote([,])dnl
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(ac_cv_path_LD,
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_SUBST(LD)
-AC_PROG_LD_GNU
-])
-
-AC_DEFUN(AC_PROG_LD_GNU,
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi])
-])
-
-# AC_PROG_NM - find the path to a BSD-compatible name lister
-AC_DEFUN(AC_PROG_NM,
-[AC_MSG_CHECKING([for BSD-compatible nm])
-AC_CACHE_VAL(ac_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- break
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- break
- else
- ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi])
-NM="$ac_cv_path_NM"
-AC_MSG_RESULT([$NM])
-AC_SUBST(NM)
-])
-
-# AC_SYS_NM_PARSE - Check for command to grab the raw symbol name followed
-# by C symbol name from nm.
-AC_DEFUN(AC_SYS_NM_PARSE,
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output])
-AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe,
-[# These are sane defaults that work on at least a few old systems.
-# {They come from Ultrix. What could be older than Ultrix?!! ;)}
-
-changequote(,)dnl
-# Character class describing NM global symbol codes.
-ac_symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-ac_symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
- ac_symcode='[BCDT]'
- ;;
-cygwin* | mingw*)
- ac_symcode='[ABCDGISTW]'
- ;;
-hpux*)
- ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
- ;;
-irix*)
- ac_symcode='[BCDEGRST]'
- ;;
-solaris*)
- ac_symcode='[BDT]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
- ac_symcode='[ABCDGISTW]'
-fi
-changequote([,])dnl
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($ac_symcode\)[ ][ ]*\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- ac_pipe_works=no
- rm -f conftest.$ac_ext
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func;return 0;}
-EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
-
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
-
- # Try sorting and uniquifying the output.
- if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
- mv -f "$ac_nlist"T "$ac_nlist"
- else
- rm -f "$ac_nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
- if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
- cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
-
- cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-changequote(,)dnl
-lt_preloaded_symbols[] =
-changequote([,])dnl
-{
-EOF
- sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
- cat <<\EOF >> conftest.c
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftestm.$ac_objext
- ac_save_LIBS="$LIBS"
- ac_save_CFLAGS="$CFLAGS"
- LIBS="conftestm.$ac_objext"
- CFLAGS="$CFLAGS$no_builtin_flag"
- if AC_TRY_EVAL(ac_link) && test -s conftest; then
- ac_pipe_works=yes
- else
- echo "configure: failed program was:" >&AC_FD_CC
- cat conftest.c >&AC_FD_CC
- fi
- LIBS="$ac_save_LIBS"
- CFLAGS="$ac_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
- fi
- else
- echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC
- fi
- else
- echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
- fi
- else
- echo "$progname: failed program was:" >&AC_FD_CC
- cat conftest.c >&AC_FD_CC
- fi
- rm -rf conftest*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$ac_pipe_works" = yes; then
- if test x"$ac_symprfx" = x"_"; then
- ac_cv_sys_symbol_underscore=yes
- else
- ac_cv_sys_symbol_underscore=no
- fi
- break
- else
- ac_cv_sys_global_symbol_pipe=
- fi
-done
-])
-
-ac_result=yes
-if test -z "$ac_cv_sys_global_symbol_pipe"; then
- ac_result=no
-fi
-AC_MSG_RESULT($ac_result)
-])
-
-# AC_SYS_LIBTOOL_CYGWIN - find tools needed on cygwin
-AC_DEFUN(AC_SYS_LIBTOOL_CYGWIN,
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-AC_CHECK_TOOL(AS, as, false)
-])
-
-# AC_SYS_SYMBOL_UNDERSCORE - does the compiler prefix global symbols
-# with an underscore?
-AC_DEFUN(AC_SYS_SYMBOL_UNDERSCORE,
-[AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_SYS_NM_PARSE])dnl
-AC_MSG_CHECKING([for _ prefix in compiled symbols])
-AC_CACHE_VAL(ac_cv_sys_symbol_underscore,
-[ac_cv_sys_symbol_underscore=no
-cat > conftest.$ac_ext <<EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-EOF
-if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- ac_cv_sys_symbol_underscore=yes
- else
- if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC
- fi
- fi
- else
- echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC
- fi
-else
- echo "configure: failed program was:" >&AC_FD_CC
- cat conftest.c >&AC_FD_CC
-fi
-rm -rf conftest*
-])
-AC_MSG_RESULT($ac_cv_sys_symbol_underscore)
-USE_SYMBOL_UNDERSCORE=${ac_cv_sys_symbol_underscore=no}
-AC_SUBST(USE_SYMBOL_UNDERSCORE)dnl
-])
-
-# AC_CHECK_LIBM - check for math library
-AC_DEFUN(AC_CHECK_LIBM, [
-AC_CHECK_LIB(mw, _mwvalidcheckl)
-AC_CHECK_LIB(m, cos)
-])
-
-# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl convenience library, adds --enable-ltdl-convenience to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
-AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [
- case "$enable_ltdl_convenience" in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
-])
-
-# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl installable library, and adds --enable-ltdl-install to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [
- AC_CHECK_LIB(ltdl, main, LIBLTDL="-lltdl", [
- case "$enable_ltdl_install" in
- no) AC_MSG_WARN([libltdl not installed, but installation disabled]) ;;
- "") enable_ltdl_install=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-install" ;;
- esac
- ])
- if test x"$enable_ltdl_install" != x"no"; then
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
- fi
-])
-
-dnl old names
-AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
-AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
-AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
-AC_DEFUN(AM_SYS_NM_PARSE, [indir([AC_SYS_NM_PARSE])])dnl
-AC_DEFUN(AM_SYS_SYMBOL_UNDERSCORE, [indir([AC_SYS_SYMBOL_UNDERSCORE])])dnl
-AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN, [indir([AC_SYS_LIBTOOL_CYGWIN])])dnl
-
diff --git a/zlib/adler32.c b/zlib/adler32.c
deleted file mode 100644
index 16cf9a703f7..00000000000
--- a/zlib/adler32.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#include "zlib.h"
-
-#define BASE 65521L /* largest prime smaller than 65536 */
-#define NMAX 5552
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-
-#define DO1(buf,i) {s1 += buf[i]; s2 += s1;}
-#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
-#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
-#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
-#define DO16(buf) DO8(buf,0); DO8(buf,8);
-
-/* ========================================================================= */
-uLong ZEXPORT adler32(adler, buf, len)
- uLong adler;
- const Bytef *buf;
- uInt len;
-{
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int k;
-
- if (buf == Z_NULL) return 1L;
-
- while (len > 0) {
- k = len < NMAX ? len : NMAX;
- len -= k;
- while (k >= 16) {
- DO16(buf);
- buf += 16;
- k -= 16;
- }
- if (k != 0) do {
- s1 += *buf++;
- s2 += s1;
- } while (--k);
- s1 %= BASE;
- s2 %= BASE;
- }
- return (s2 << 16) | s1;
-}
diff --git a/zlib/algorithm.txt b/zlib/algorithm.txt
deleted file mode 100644
index cdc830b5deb..00000000000
--- a/zlib/algorithm.txt
+++ /dev/null
@@ -1,213 +0,0 @@
-1. Compression algorithm (deflate)
-
-The deflation algorithm used by gzip (also zip and zlib) is a variation of
-LZ77 (Lempel-Ziv 1977, see reference below). It finds duplicated strings in
-the input data. The second occurrence of a string is replaced by a
-pointer to the previous string, in the form of a pair (distance,
-length). Distances are limited to 32K bytes, and lengths are limited
-to 258 bytes. When a string does not occur anywhere in the previous
-32K bytes, it is emitted as a sequence of literal bytes. (In this
-description, `string' must be taken as an arbitrary sequence of bytes,
-and is not restricted to printable characters.)
-
-Literals or match lengths are compressed with one Huffman tree, and
-match distances are compressed with another tree. The trees are stored
-in a compact form at the start of each block. The blocks can have any
-size (except that the compressed data for one block must fit in
-available memory). A block is terminated when deflate() determines that
-it would be useful to start another block with fresh trees. (This is
-somewhat similar to the behavior of LZW-based _compress_.)
-
-Duplicated strings are found using a hash table. All input strings of
-length 3 are inserted in the hash table. A hash index is computed for
-the next 3 bytes. If the hash chain for this index is not empty, all
-strings in the chain are compared with the current input string, and
-the longest match is selected.
-
-The hash chains are searched starting with the most recent strings, to
-favor small distances and thus take advantage of the Huffman encoding.
-The hash chains are singly linked. There are no deletions from the
-hash chains, the algorithm simply discards matches that are too old.
-
-To avoid a worst-case situation, very long hash chains are arbitrarily
-truncated at a certain length, determined by a runtime option (level
-parameter of deflateInit). So deflate() does not always find the longest
-possible match but generally finds a match which is long enough.
-
-deflate() also defers the selection of matches with a lazy evaluation
-mechanism. After a match of length N has been found, deflate() searches for
-a longer match at the next input byte. If a longer match is found, the
-previous match is truncated to a length of one (thus producing a single
-literal byte) and the process of lazy evaluation begins again. Otherwise,
-the original match is kept, and the next match search is attempted only N
-steps later.
-
-The lazy match evaluation is also subject to a runtime parameter. If
-the current match is long enough, deflate() reduces the search for a longer
-match, thus speeding up the whole process. If compression ratio is more
-important than speed, deflate() attempts a complete second search even if
-the first match is already long enough.
-
-The lazy match evaluation is not performed for the fastest compression
-modes (level parameter 1 to 3). For these fast modes, new strings
-are inserted in the hash table only when no match was found, or
-when the match is not too long. This degrades the compression ratio
-but saves time since there are both fewer insertions and fewer searches.
-
-
-2. Decompression algorithm (inflate)
-
-2.1 Introduction
-
-The real question is, given a Huffman tree, how to decode fast. The most
-important realization is that shorter codes are much more common than
-longer codes, so pay attention to decoding the short codes fast, and let
-the long codes take longer to decode.
-
-inflate() sets up a first level table that covers some number of bits of
-input less than the length of longest code. It gets that many bits from the
-stream, and looks it up in the table. The table will tell if the next
-code is that many bits or less and how many, and if it is, it will tell
-the value, else it will point to the next level table for which inflate()
-grabs more bits and tries to decode a longer code.
-
-How many bits to make the first lookup is a tradeoff between the time it
-takes to decode and the time it takes to build the table. If building the
-table took no time (and if you had infinite memory), then there would only
-be a first level table to cover all the way to the longest code. However,
-building the table ends up taking a lot longer for more bits since short
-codes are replicated many times in such a table. What inflate() does is
-simply to make the number of bits in the first table a variable, and set it
-for the maximum speed.
-
-inflate() sends new trees relatively often, so it is possibly set for a
-smaller first level table than an application that has only one tree for
-all the data. For inflate, which has 286 possible codes for the
-literal/length tree, the size of the first table is nine bits. Also the
-distance trees have 30 possible values, and the size of the first table is
-six bits. Note that for each of those cases, the table ended up one bit
-longer than the ``average'' code length, i.e. the code length of an
-approximately flat code which would be a little more than eight bits for
-286 symbols and a little less than five bits for 30 symbols. It would be
-interesting to see if optimizing the first level table for other
-applications gave values within a bit or two of the flat code size.
-
-
-2.2 More details on the inflate table lookup
-
-Ok, you want to know what this cleverly obfuscated inflate tree actually
-looks like. You are correct that it's not a Huffman tree. It is simply a
-lookup table for the first, let's say, nine bits of a Huffman symbol. The
-symbol could be as short as one bit or as long as 15 bits. If a particular
-symbol is shorter than nine bits, then that symbol's translation is duplicated
-in all those entries that start with that symbol's bits. For example, if the
-symbol is four bits, then it's duplicated 32 times in a nine-bit table. If a
-symbol is nine bits long, it appears in the table once.
-
-If the symbol is longer than nine bits, then that entry in the table points
-to another similar table for the remaining bits. Again, there are duplicated
-entries as needed. The idea is that most of the time the symbol will be short
-and there will only be one table look up. (That's whole idea behind data
-compression in the first place.) For the less frequent long symbols, there
-will be two lookups. If you had a compression method with really long
-symbols, you could have as many levels of lookups as is efficient. For
-inflate, two is enough.
-
-So a table entry either points to another table (in which case nine bits in
-the above example are gobbled), or it contains the translation for the symbol
-and the number of bits to gobble. Then you start again with the next
-ungobbled bit.
-
-You may wonder: why not just have one lookup table for how ever many bits the
-longest symbol is? The reason is that if you do that, you end up spending
-more time filling in duplicate symbol entries than you do actually decoding.
-At least for deflate's output that generates new trees every several 10's of
-kbytes. You can imagine that filling in a 2^15 entry table for a 15-bit code
-would take too long if you're only decoding several thousand symbols. At the
-other extreme, you could make a new table for every bit in the code. In fact,
-that's essentially a Huffman tree. But then you spend two much time
-traversing the tree while decoding, even for short symbols.
-
-So the number of bits for the first lookup table is a trade of the time to
-fill out the table vs. the time spent looking at the second level and above of
-the table.
-
-Here is an example, scaled down:
-
-The code being decoded, with 10 symbols, from 1 to 6 bits long:
-
-A: 0
-B: 10
-C: 1100
-D: 11010
-E: 11011
-F: 11100
-G: 11101
-H: 11110
-I: 111110
-J: 111111
-
-Let's make the first table three bits long (eight entries):
-
-000: A,1
-001: A,1
-010: A,1
-011: A,1
-100: B,2
-101: B,2
-110: -> table X (gobble 3 bits)
-111: -> table Y (gobble 3 bits)
-
-Each entry is what the bits decode to and how many bits that is, i.e. how
-many bits to gobble. Or the entry points to another table, with the number of
-bits to gobble implicit in the size of the table.
-
-Table X is two bits long since the longest code starting with 110 is five bits
-long:
-
-00: C,1
-01: C,1
-10: D,2
-11: E,2
-
-Table Y is three bits long since the longest code starting with 111 is six
-bits long:
-
-000: F,2
-001: F,2
-010: G,2
-011: G,2
-100: H,2
-101: H,2
-110: I,3
-111: J,3
-
-So what we have here are three tables with a total of 20 entries that had to
-be constructed. That's compared to 64 entries for a single table. Or
-compared to 16 entries for a Huffman tree (six two entry tables and one four
-entry table). Assuming that the code ideally represents the probability of
-the symbols, it takes on the average 1.25 lookups per symbol. That's compared
-to one lookup for the single table, or 1.66 lookups per symbol for the
-Huffman tree.
-
-There, I think that gives you a picture of what's going on. For inflate, the
-meaning of a particular symbol is often more than just a letter. It can be a
-byte (a "literal"), or it can be either a length or a distance which
-indicates a base value and a number of bits to fetch after the code that is
-added to the base value. Or it might be the special end-of-block code. The
-data structures created in inftrees.c try to encode all that information
-compactly in the tables.
-
-
-Jean-loup Gailly Mark Adler
-jloup@gzip.org madler@alumni.caltech.edu
-
-
-References:
-
-[LZ77] Ziv J., Lempel A., ``A Universal Algorithm for Sequential Data
-Compression,'' IEEE Transactions on Information Theory, Vol. 23, No. 3,
-pp. 337-343.
-
-``DEFLATE Compressed Data Format Specification'' available in
-ftp://ds.internic.net/rfc/rfc1951.txt
diff --git a/zlib/amiga/Makefile.pup b/zlib/amiga/Makefile.pup
deleted file mode 100644
index 6cfad1dc04a..00000000000
--- a/zlib/amiga/Makefile.pup
+++ /dev/null
@@ -1,66 +0,0 @@
-# Amiga powerUP (TM) Makefile
-# makefile for libpng and SAS C V6.58/7.00 PPC compiler
-# Copyright (C) 1998 by Andreas R. Kleinert
-
-CC = scppc
-CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \
- OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8
-LIBNAME = libzip.a
-AR = ppc-amigaos-ar
-AR_FLAGS = cr
-RANLIB = ppc-amigaos-ranlib
-LDFLAGS = -r -o
-LDLIBS = LIB:scppc.a
-LN = ppc-amigaos-ld
-RM = delete quiet
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example minigzip
-
-test: all
- example
- echo hello world | minigzip | minigzip -d
-
-$(LIBNAME): $(OBJS)
- $(AR) $(AR_FLAGS) $@ $(OBJS)
- $(RANLIB) $@
-
-example: example.o $(LIBNAME)
- $(LN) $(LDFLAGS) example LIB:c_ppc.o example.o $(LIBNAME) $(LDLIBS) LIB:end.o
-
-minigzip: minigzip.o $(LIBNAME)
- $(LN) $(LDFLAGS) minigzip LIB:c_ppc.o minigzip.o $(LIBNAME) $(LDLIBS) LIB:end.o
-
-clean:
- $(RM) *.o example minigzip $(LIBNAME) foo.gz
-
-zip:
- zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \
- descrip.mms *.[ch]
-
-tgz:
- cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \
- zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch]
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o: zutil.h zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: zutil.h zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-example.o: zlib.h zconf.h
-gzio.o: zutil.h zlib.h zconf.h
-infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
-infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h infblock.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h
-minigzip.o: zlib.h zconf.h
-trees.o: deflate.h zutil.h zlib.h zconf.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
diff --git a/zlib/amiga/Makefile.sas b/zlib/amiga/Makefile.sas
deleted file mode 100644
index 5323e821708..00000000000
--- a/zlib/amiga/Makefile.sas
+++ /dev/null
@@ -1,64 +0,0 @@
-# SMakefile for zlib
-# Modified from the standard UNIX Makefile Copyright Jean-loup Gailly
-# Osma Ahvenlampi <Osma.Ahvenlampi@hut.fi>
-# Amiga, SAS/C 6.56 & Smake
-
-CC=sc
-CFLAGS=OPT
-#CFLAGS=OPT CPU=68030
-#CFLAGS=DEBUG=LINE
-LDFLAGS=LIB z.lib
-
-SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \
- NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: SCOPTIONS example minigzip
-
-test: all
- `cd`/example
- echo hello world | minigzip | minigzip -d
-
-install: z.lib
- copy zlib.h zconf.h INCLUDE: clone
- copy z.lib LIB: clone
-
-z.lib: $(OBJS)
- oml z.lib r $(OBJS)
-
-example: example.o z.lib
- $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS)
-
-minigzip: minigzip.o z.lib
- $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS)
-
-clean:
- -delete force quiet *.o example minigzip z.lib foo.gz *.lnk SCOPTIONS
-
-SCOPTIONS: Smakefile
- copy to $@ <from <
-$(SCOPTIONS)
-<
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o: zutil.h zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: zutil.h zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-example.o: zlib.h zconf.h
-gzio.o: zutil.h zlib.h zconf.h
-infblock.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
-infcodes.o: zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h infblock.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-infutil.o: zutil.h zlib.h zconf.h inftrees.h infutil.h
-minigzip.o: zlib.h zconf.h
-trees.o: deflate.h zutil.h zlib.h zconf.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
diff --git a/zlib/compress.c b/zlib/compress.c
deleted file mode 100644
index 1cee470913d..00000000000
--- a/zlib/compress.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* compress.c -- compress a memory buffer
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#include "zlib.h"
-
-/* ===========================================================================
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least 0.1% larger than sourceLen plus
- 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
- int level;
-{
- z_stream stream;
- int err;
-
- stream.next_in = (Bytef*)source;
- stream.avail_in = (uInt)sourceLen;
-#ifdef MAXSEG_64K
- /* Check for source > 64K on 16-bit machine: */
- if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-#endif
- stream.next_out = dest;
- stream.avail_out = (uInt)*destLen;
- if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
-
- stream.zalloc = (alloc_func)0;
- stream.zfree = (free_func)0;
- stream.opaque = (voidpf)0;
-
- err = deflateInit(&stream, level);
- if (err != Z_OK) return err;
-
- err = deflate(&stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- deflateEnd(&stream);
- return err == Z_OK ? Z_BUF_ERROR : err;
- }
- *destLen = stream.total_out;
-
- err = deflateEnd(&stream);
- return err;
-}
-
-/* ===========================================================================
- */
-int ZEXPORT compress (dest, destLen, source, sourceLen)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
-{
- return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
-}
diff --git a/zlib/configure b/zlib/configure
deleted file mode 100755
index 9289120d18e..00000000000
--- a/zlib/configure
+++ /dev/null
@@ -1,3020 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer"
-ac_help="$ac_help
- --with-target-subdir=SUBDIR Configuring in a subdirectory"
-ac_help="$ac_help
- --with-cross-host=HOST Configuring with a cross compiler"
-ac_help="$ac_help
- --enable-multilib build many library versions (default)"
-ac_help="$ac_help
- --with-system-zlib Use installed libz"
-ac_help="$ac_help
- --enable-shared[=PKGS] build shared libraries [default=yes]"
-ac_help="$ac_help
- --enable-static[=PKGS] build static libraries [default=yes]"
-ac_help="$ac_help
- --enable-fast-install[=PKGS] optimize for fast installation [default=yes]"
-ac_help="$ac_help
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]"
-ac_help="$ac_help
- --disable-libtool-lock force libtool not to do file locking"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=zlib.h
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:593: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:614: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:632: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:666: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:719: checking whether build environment is sane" >&5
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "$*" != "X $srcdir/configure conftestfile" \
- && test "$*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" 1>&2; exit 1; }
- fi
-
- test "$2" = conftestfile
- )
-then
- # Ok.
- :
-else
- { echo "configure: error: newly created file is older than distributed files!
-Check your system clock" 1>&2; exit 1; }
-fi
-rm -f conftest*
-echo "$ac_t""yes" 1>&6
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:776: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-PACKAGE=zlib
-
-VERSION=1.1.3
-
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
-fi
-cat >> confdefs.h <<EOF
-#define PACKAGE "$PACKAGE"
-EOF
-
-cat >> confdefs.h <<EOF
-#define VERSION "$VERSION"
-EOF
-
-
-
-missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:822: checking for working aclocal" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
- echo "$ac_t""found" 1>&6
-else
- ACLOCAL="$missing_dir/missing aclocal"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:835: checking for working autoconf" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoconf --version) < /dev/null > /dev/null 2>&1; then
- AUTOCONF=autoconf
- echo "$ac_t""found" 1>&6
-else
- AUTOCONF="$missing_dir/missing autoconf"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:848: checking for working automake" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
- echo "$ac_t""found" 1>&6
-else
- AUTOMAKE="$missing_dir/missing automake"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:861: checking for working autoheader" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoheader --version) < /dev/null > /dev/null 2>&1; then
- AUTOHEADER=autoheader
- echo "$ac_t""found" 1>&6
-else
- AUTOHEADER="$missing_dir/missing autoheader"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:874: checking for working makeinfo" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
- MAKEINFO=makeinfo
- echo "$ac_t""found" 1>&6
-else
- MAKEINFO="$missing_dir/missing makeinfo"
- echo "$ac_t""missing" 1>&6
-fi
-
-
-
-echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:889: checking whether to enable maintainer-specific portions of Makefiles" >&5
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
-
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:912: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 917 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:928: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:945: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 950 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:976: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-
-ac_aux_dir=
-for ac_dir in .. $srcdir/..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in .. $srcdir/.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Check whether --with-target-subdir or --without-target-subdir was given.
-if test "${with_target_subdir+set}" = set; then
- withval="$with_target_subdir"
- :
-fi
-
-# Check whether --with-cross-host or --without-cross-host was given.
-if test "${with_cross_host+set}" = set; then
- withval="$with_cross_host"
- :
-fi
-
-
-# Check whether --enable-multilib or --disable-multilib was given.
-if test "${enable_multilib+set}" = set; then
- enableval="$enable_multilib"
- case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
- esac
-else
- multilib=yes
-fi
-
-
-if test "${srcdir}" = "."; then
- if test "${with_target_subdir}" != "."; then
- zlib_basedir="${srcdir}/${with_multisrctop}../"
- else
- zlib_basedir="${srcdir}/${with_multisrctop}"
- fi
-else
- zlib_basedir="${srcdir}/"
-fi
-
-
-# Check whether --with-system-zlib or --without-system-zlib was given.
-if test "${with_system_zlib+set}" = set; then
- withval="$with_system_zlib"
- :
-fi
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1074: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1104: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1153: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1177: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_shared=yes
-fi
-
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_static=yes
-fi
-
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_fast_install=yes
-fi
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1276: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1306: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1336: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test -z "$CC"; then
- case "`uname -s`" in
- *win32* | *WIN32*)
- # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1387: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="cl"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- ;;
- esac
- fi
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1419: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 1430 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:1435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1461: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1466: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-else
- GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1494: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1537: checking for ld used by GCC" >&5
- ac_prog=`($CC -print-prog-name=ld) 2>&5`
- case "$ac_prog" in
- # Accept absolute paths.
- /* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1561: checking for GNU ld" >&5
-else
- echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1564: checking for non-GNU ld" >&5
-fi
-if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-
-echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1600: checking if the linker ($LD) is GNU ld" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
-
-
-echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1616: checking for BSD-compatible nm" >&5
-if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- break
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- break
- else
- ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi
-fi
-
-NM="$ac_cv_path_NM"
-echo "$ac_t""$NM" 1>&6
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo $ac_n "checking command to parse $NM output""... $ac_c" 1>&6
-echo "configure:1654: checking command to parse $NM output" >&5
-if eval "test \"`echo '$''{'ac_cv_sys_global_symbol_pipe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # These are sane defaults that work on at least a few old systems.
-# {They come from Ultrix. What could be older than Ultrix?!! ;)}
-
-# Character class describing NM global symbol codes.
-ac_symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-ac_symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
- ac_symcode='[BCDT]'
- ;;
-cygwin* | mingw*)
- ac_symcode='[ABCDGISTW]'
- ;;
-hpux*)
- ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
- ;;
-irix*)
- ac_symcode='[BCDEGRST]'
- ;;
-solaris*)
- ac_symcode='[BDT]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
- ac_symcode='[ABCDGISTW]'
-fi
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.* \($ac_symcode\) *\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- ac_pipe_works=no
- rm -f conftest.$ac_ext
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func;return 0;}
-EOF
-
- if { (eval echo configure:1717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
-
- if { (eval echo configure:1721: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then
-
- # Try sorting and uniquifying the output.
- if sort "$ac_nlist" | uniq > "$ac_nlist"T; then
- mv -f "$ac_nlist"T "$ac_nlist"
- else
- rm -f "$ac_nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then
- if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then
- cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c'
-
- cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
- sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c
- cat <<\EOF >> conftest.c
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftestm.$ac_objext
- ac_save_LIBS="$LIBS"
- ac_save_CFLAGS="$CFLAGS"
- LIBS="conftestm.$ac_objext"
- CFLAGS="$CFLAGS$no_builtin_flag"
- if { (eval echo configure:1773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- ac_pipe_works=yes
- else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
- fi
- LIBS="$ac_save_LIBS"
- CFLAGS="$ac_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $ac_nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $ac_nlist" >&5
- fi
- else
- echo "cannot run $ac_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.c >&5
- fi
- rm -rf conftest*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$ac_pipe_works" = yes; then
- if test x"$ac_symprfx" = x"_"; then
- ac_cv_sys_symbol_underscore=yes
- else
- ac_cv_sys_symbol_underscore=no
- fi
- break
- else
- ac_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-
-ac_result=yes
-if test -z "$ac_cv_sys_global_symbol_pipe"; then
- ac_result=no
-fi
-echo "$ac_t""$ac_result" 1>&6
-
-echo $ac_n "checking for _ prefix in compiled symbols""... $ac_c" 1>&6
-echo "configure:1819: checking for _ prefix in compiled symbols" >&5
-if eval "test \"`echo '$''{'ac_cv_sys_symbol_underscore'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_cv_sys_symbol_underscore=no
-cat > conftest.$ac_ext <<EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-EOF
-if { (eval echo configure:1828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- # Now try to grab the symbols.
- ac_nlist=conftest.nm
- if { (eval echo configure:1831: \"$NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5; } && test -s "$ac_nlist"; then
- # See whether the symbols have a leading underscore.
- if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
- ac_cv_sys_symbol_underscore=yes
- else
- if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
- :
- else
- echo "configure: cannot find nm_test_func in $ac_nlist" >&5
- fi
- fi
- else
- echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&5
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.c >&5
-fi
-rm -rf conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_sys_symbol_underscore" 1>&6
-USE_SYMBOL_UNDERSCORE=${ac_cv_sys_symbol_underscore=no}
-
-echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1857: checking whether ln -s works" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- rm -f conftestdata
-if ln -s X conftestdata 2>/dev/null
-then
- rm -f conftestdata
- ac_cv_prog_LN_S="ln -s"
-else
- ac_cv_prog_LN_S=ln
-fi
-fi
-LN_S="$ac_cv_prog_LN_S"
-if test "$ac_cv_prog_LN_S" = "ln -s"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$lt_dlopen" = yes && libtool_flags="$libtool_flags --enable-dlopen"
-test "$silent" = yes && libtool_flags="$libtool_flags --silent"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$host" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 1899 "configure"' > conftest.$ac_ext
- if { (eval echo configure:1900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:1921: checking whether the C compiler needs -belf" >&5
-if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1926 "configure"
-#include "confdefs.h"
-
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:1933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- lt_cv_cc_needs_belf=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- lt_cv_cc_needs_belf=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-
-*-*-cygwin*)
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1956: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_DLLTOOL"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1988: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_DLLTOOL" && ac_cv_prog_DLLTOOL="false"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- DLLTOOL="false"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2023: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_AS"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2055: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="as"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="false"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- AS="false"
-fi
-fi
-
-
- ;;
-
-esac
-
-# enable the --disable-libtool-lock switch
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
- need_locks=$enableval
-else
- need_locks=yes
-fi
-
-
-if test x"$need_locks" = xno; then
- libtool_flags="$libtool_flags --disable-lock"
-fi
-
-
-# Save cache, so that ltconfig can load it
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
-DLLTOOL="$DLLTOOL" AS="$AS" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
-|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
-
-# Reload cache, that may have been modified by ltconfig
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-
-
-if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
- COMPPATH=.
-else
- COMPPATH=..
-fi
-
-
-
-if test -n "$with_cross_host"; then
- # We are being configured with a cross compiler. AC_REPLACE_FUNCS
- # may not work correctly, because the compiler may not be able to
- # link executables.
-
- # We assume newlib. This lets us hard-code the functions we know
- # we'll have.
- cat >> confdefs.h <<\EOF
-#define HAVE_MEMCPY 1
-EOF
-
- cat >> confdefs.h <<\EOF
-#define HAVE_STRERROR 1
-EOF
-
-
- # We ignore --with-system-zlib in this case.
- target_all=libzgcj.la
-else
- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2214: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 2229 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 2246 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2252: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 2263 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2269: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-for ac_hdr in unistd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2297: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2302 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_func in getpagesize
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2336: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2341 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2389: checking for working mmap" >&5
-if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_mmap_fixed_mapped=no
-else
- cat > conftest.$ac_ext <<EOF
-#line 2397 "configure"
-#include "confdefs.h"
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the filesystem buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propogated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-/* This mess was copied from the GNU getpagesize.h. */
-#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-# include <unistd.h>
-# endif
-
-/* Assume that all systems that can run configure have sys/param.h. */
-# ifndef HAVE_SYS_PARAM_H
-# define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# ifdef HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-#ifdef __cplusplus
-extern "C" { void *malloc(unsigned); }
-#else
-char *malloc();
-#endif
-
-int
-main()
-{
- char *data, *data2, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = getpagesize();
-
- /*
- * First, make a file with some known garbage in it.
- */
- data = malloc(pagesize);
- if (!data)
- exit(1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand();
- umask(0);
- fd = creat("conftestmmap", 0600);
- if (fd < 0)
- exit(1);
- if (write(fd, data, pagesize) != pagesize)
- exit(1);
- close(fd);
-
- /*
- * Next, try to mmap the file at a fixed address which
- * already has something else allocated at it. If we can,
- * also make sure that we see the same garbage.
- */
- fd = open("conftestmmap", O_RDWR);
- if (fd < 0)
- exit(1);
- data2 = malloc(2 * pagesize);
- if (!data2)
- exit(1);
- data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
- if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- exit(1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- exit(1);
-
- /*
- * Finally, make sure that changes to the mapped area
- * do not percolate back to the file as seen by read().
- * (This is a bug on some variants of i386 svr4.0.)
- */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = malloc(pagesize);
- if (!data3)
- exit(1);
- if (read(fd, data3, pagesize) != pagesize)
- exit(1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- exit(1);
- close(fd);
- unlink("conftestmmap");
- exit(0);
-}
-
-EOF
-if { (eval echo configure:2537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_mmap_fixed_mapped=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_MMAP 1
-EOF
-
-fi
-
- for ac_func in memcpy strerror
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2562: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2567 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
- if test "$with_system_zlib" = yes; then
- echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
-echo "configure:2617: checking for deflate in -lz" >&5
-ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lz $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2625 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char deflate();
-
-int main() {
-deflate()
-; return 0; }
-EOF
-if { (eval echo configure:2636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- target_all=
-else
- echo "$ac_t""no" 1>&6
-target_all=libzgcj.la
-fi
-
- else
- target_all=libzgcj.la
- fi
-fi
-
-
-
-for ac_hdr in unistd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2668: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2673 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2678: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PACKAGE@%$PACKAGE%g
-s%@VERSION@%$VERSION%g
-s%@ACLOCAL@%$ACLOCAL%g
-s%@AUTOCONF@%$AUTOCONF%g
-s%@AUTOMAKE@%$AUTOMAKE%g
-s%@AUTOHEADER@%$AUTOHEADER%g
-s%@MAKEINFO@%$MAKEINFO%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
-s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
-s%@MAINT@%$MAINT%g
-s%@EXEEXT@%$EXEEXT%g
-s%@zlib_basedir@%$zlib_basedir%g
-s%@CC@%$CC%g
-s%@RANLIB@%$RANLIB%g
-s%@LD@%$LD%g
-s%@NM@%$NM%g
-s%@USE_SYMBOL_UNDERSCORE@%$USE_SYMBOL_UNDERSCORE%g
-s%@LN_S@%$LN_S%g
-s%@DLLTOOL@%$DLLTOOL%g
-s%@AS@%$AS%g
-s%@LIBTOOL@%$LIBTOOL%g
-s%@COMPPATH@%$COMPPATH%g
-s%@CPP@%$CPP%g
-s%@target_all@%$target_all%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-srcdir=${srcdir}
-host=${host}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-zlib_basedir=${zlib_basedir}
-CC="${CC}"
-CXX="${CXX}"
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-if test -n "$CONFIG_FILES"; then
- ac_file=Makefile . ${zlib_basedir}/../config-ml.in
-fi
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/zlib/configure.in b/zlib/configure.in
deleted file mode 100644
index 4b63cb2ea72..00000000000
--- a/zlib/configure.in
+++ /dev/null
@@ -1,101 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_INIT(zlib.h)
-AC_CANONICAL_SYSTEM
-AM_INIT_AUTOMAKE(zlib, 1.1.3)
-
-AM_MAINTAINER_MODE
-AC_EXEEXT
-
-AC_CONFIG_AUX_DIR(..)
-
-dnl We use these options to decide which functions to include.
-AC_ARG_WITH(target-subdir,
-[ --with-target-subdir=SUBDIR Configuring in a subdirectory])
-AC_ARG_WITH(cross-host,
-[ --with-cross-host=HOST Configuring with a cross compiler])
-
-dnl Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-[ --enable-multilib build many library versions (default)],
-[case "${enableval}" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
- esac], [multilib=yes])dnl
-
-dnl We may get other options which we dont document:
-dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
-
-if test "[$]{srcdir}" = "."; then
- if test "[$]{with_target_subdir}" != "."; then
- zlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../"
- else
- zlib_basedir="[$]{srcdir}/[$]{with_multisrctop}"
- fi
-else
- zlib_basedir="[$]{srcdir}/"
-fi
-AC_SUBST(zlib_basedir)
-
-AC_ARG_WITH(system-zlib,
-[ --with-system-zlib Use installed libz])
-
-LIB_AC_PROG_CC
-AM_PROG_LIBTOOL
-
-if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
- COMPPATH=.
-else
- COMPPATH=..
-fi
-AC_SUBST(COMPPATH)
-
-
-if test -n "$with_cross_host"; then
- # We are being configured with a cross compiler. AC_REPLACE_FUNCS
- # may not work correctly, because the compiler may not be able to
- # link executables.
-
- # We assume newlib. This lets us hard-code the functions we know
- # we'll have.
- AC_DEFINE(HAVE_MEMCPY)
- AC_DEFINE(HAVE_STRERROR)
-
- # We ignore --with-system-zlib in this case.
- target_all=libzgcj.la
-else
- AC_FUNC_MMAP
- AC_CHECK_FUNCS(memcpy strerror)
-
- if test "$with_system_zlib" = yes; then
- AC_CHECK_LIB(z, deflate, target_all=, target_all=libzgcj.la)
- else
- target_all=libzgcj.la
- fi
-fi
-
-AC_SUBST(target_all)
-
-AC_CHECK_HEADERS(unistd.h)
-
-if test "${multilib}" = "yes"; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-AC_OUTPUT(Makefile,
-[if test -n "$CONFIG_FILES"; then
- ac_file=Makefile . ${zlib_basedir}/../config-ml.in
-fi],
-srcdir=${srcdir}
-host=${host}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-zlib_basedir=${zlib_basedir}
-CC="${CC}"
-CXX="${CXX}"
-)
diff --git a/zlib/contrib/README.contrib b/zlib/contrib/README.contrib
deleted file mode 100644
index 7ad191cf598..00000000000
--- a/zlib/contrib/README.contrib
+++ /dev/null
@@ -1,34 +0,0 @@
-All files under this contrib directory are UNSUPPORTED. There were
-provided by users of zlib and were not tested by the authors of zlib.
-Use at your own risk. Please contact the authors of the contributions
-for help about these, not the zlib authors. Thanks.
-
-
-asm386/ by Gilles Vollant <info@winimage.com>
- 386 asm code replacing longest_match(), for Visual C++ 4.2 and ML 6.11c
-
-asm586/ and asm686/ by Brian Raiter <breadbox@muppetlabs.com>
- asm code for Pentium and Pentium Pro
- See http://www.muppetlabs.com/~breadbox/software/assembly.html
-
-delphi/ by Bob Dellaca <bobdl@xtra.co.nz>
- Support for Delphi
-
-delphi2/ by Davide Moretti <dave@rimini.com>
- Another support for C++Builder and Delphi
-
-minizip/ by Gilles Vollant <info@winimage.com>
- Mini zip and unzip based on zlib
- See http://www.winimage.com/zLibDll/unzip.html
-
-iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
- A C++ I/O streams interface to the zlib gz* functions
-
-iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
- Another C++ I/O streams interface
-
-untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
- A very simple tar.gz file extractor using zlib
-
-visual-basic.txt by Carlos Rios <c_rios@sonda.cl>
- How to use compress(), uncompress() and the gz* functions from VB.
diff --git a/zlib/contrib/asm386/gvmat32.asm b/zlib/contrib/asm386/gvmat32.asm
deleted file mode 100644
index 28d527f47f8..00000000000
--- a/zlib/contrib/asm386/gvmat32.asm
+++ /dev/null
@@ -1,559 +0,0 @@
-;
-; gvmat32.asm -- Asm portion of the optimized longest_match for 32 bits x86
-; Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.
-; File written by Gilles Vollant, by modifiying the longest_match
-; from Jean-loup Gailly in deflate.c
-; It need wmask == 0x7fff
-; (assembly code is faster with a fixed wmask)
-;
-; For Visual C++ 4.2 and ML 6.11c (version in directory \MASM611C of Win95 DDK)
-; I compile with : "ml /coff /Zi /c gvmat32.asm"
-;
-
-;uInt longest_match_7fff(s, cur_match)
-; deflate_state *s;
-; IPos cur_match; /* current match */
-
- NbStack equ 76
- cur_match equ dword ptr[esp+NbStack-0]
- str_s equ dword ptr[esp+NbStack-4]
-; 5 dword on top (ret,ebp,esi,edi,ebx)
- adrret equ dword ptr[esp+NbStack-8]
- pushebp equ dword ptr[esp+NbStack-12]
- pushedi equ dword ptr[esp+NbStack-16]
- pushesi equ dword ptr[esp+NbStack-20]
- pushebx equ dword ptr[esp+NbStack-24]
-
- chain_length equ dword ptr [esp+NbStack-28]
- limit equ dword ptr [esp+NbStack-32]
- best_len equ dword ptr [esp+NbStack-36]
- window equ dword ptr [esp+NbStack-40]
- prev equ dword ptr [esp+NbStack-44]
- scan_start equ word ptr [esp+NbStack-48]
- wmask equ dword ptr [esp+NbStack-52]
- match_start_ptr equ dword ptr [esp+NbStack-56]
- nice_match equ dword ptr [esp+NbStack-60]
- scan equ dword ptr [esp+NbStack-64]
-
- windowlen equ dword ptr [esp+NbStack-68]
- match_start equ dword ptr [esp+NbStack-72]
- strend equ dword ptr [esp+NbStack-76]
- NbStackAdd equ (NbStack-24)
-
- .386p
-
- name gvmatch
- .MODEL FLAT
-
-
-
-; all the +4 offsets are due to the addition of pending_buf_size (in zlib
-; in the deflate_state structure since the asm code was first written
-; (if you compile with zlib 1.0.4 or older, remove the +4).
-; Note : these value are good with a 8 bytes boundary pack structure
- dep_chain_length equ 70h+4
- dep_window equ 2ch+4
- dep_strstart equ 60h+4
- dep_prev_length equ 6ch+4
- dep_nice_match equ 84h+4
- dep_w_size equ 20h+4
- dep_prev equ 34h+4
- dep_w_mask equ 28h+4
- dep_good_match equ 80h+4
- dep_match_start equ 64h+4
- dep_lookahead equ 68h+4
-
-
-_TEXT segment
-
-IFDEF NOUNDERLINE
- public longest_match_7fff
-; public match_init
-ELSE
- public _longest_match_7fff
-; public _match_init
-ENDIF
-
- MAX_MATCH equ 258
- MIN_MATCH equ 3
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
-
-
-
-IFDEF NOUNDERLINE
-;match_init proc near
-; ret
-;match_init endp
-ELSE
-;_match_init proc near
-; ret
-;_match_init endp
-ENDIF
-
-
-IFDEF NOUNDERLINE
-longest_match_7fff proc near
-ELSE
-_longest_match_7fff proc near
-ENDIF
-
- mov edx,[esp+4]
-
-
-
- push ebp
- push edi
- push esi
- push ebx
-
- sub esp,NbStackAdd
-
-; initialize or check the variables used in match.asm.
- mov ebp,edx
-
-; chain_length = s->max_chain_length
-; if (prev_length>=good_match) chain_length >>= 2
- mov edx,[ebp+dep_chain_length]
- mov ebx,[ebp+dep_prev_length]
- cmp [ebp+dep_good_match],ebx
- ja noshr
- shr edx,2
-noshr:
-; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop
- inc edx
- mov edi,[ebp+dep_nice_match]
- mov chain_length,edx
- mov eax,[ebp+dep_lookahead]
- cmp eax,edi
-; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
- jae nolookaheadnicematch
- mov edi,eax
-nolookaheadnicematch:
-; best_len = s->prev_length
- mov best_len,ebx
-
-; window = s->window
- mov esi,[ebp+dep_window]
- mov ecx,[ebp+dep_strstart]
- mov window,esi
-
- mov nice_match,edi
-; scan = window + strstart
- add esi,ecx
- mov scan,esi
-; dx = *window
- mov dx,word ptr [esi]
-; bx = *(window+best_len-1)
- mov bx,word ptr [esi+ebx-1]
- add esi,MAX_MATCH-1
-; scan_start = *scan
- mov scan_start,dx
-; strend = scan + MAX_MATCH-1
- mov strend,esi
-; bx = scan_end = *(window+best_len-1)
-
-; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
-; s->strstart - (IPos)MAX_DIST(s) : NIL;
-
- mov esi,[ebp+dep_w_size]
- sub esi,MIN_LOOKAHEAD
-; here esi = MAX_DIST(s)
- sub ecx,esi
- ja nodist
- xor ecx,ecx
-nodist:
- mov limit,ecx
-
-; prev = s->prev
- mov edx,[ebp+dep_prev]
- mov prev,edx
-
-;
- mov edx,dword ptr [ebp+dep_match_start]
- mov bp,scan_start
- mov eax,cur_match
- mov match_start,edx
-
- mov edx,window
- mov edi,edx
- add edi,best_len
- mov esi,prev
- dec edi
-; windowlen = window + best_len -1
- mov windowlen,edi
-
- jmp beginloop2
- align 4
-
-; here, in the loop
-; eax = ax = cur_match
-; ecx = limit
-; bx = scan_end
-; bp = scan_start
-; edi = windowlen (window + best_len -1)
-; esi = prev
-
-
-;// here; chain_length <=16
-normalbeg0add16:
- add chain_length,16
- jz exitloop
-normalbeg0:
- cmp word ptr[edi+eax],bx
- je normalbeg2noroll
-rcontlabnoroll:
-; cur_match = prev[cur_match & wmask]
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
-; if cur_match > limit, go to exitloop
- cmp ecx,eax
- jnb exitloop
-; if --chain_length != 0, go to exitloop
- dec chain_length
- jnz normalbeg0
- jmp exitloop
-
-normalbeg2noroll:
-; if (scan_start==*(cur_match+window)) goto normalbeg2
- cmp bp,word ptr[edx+eax]
- jne rcontlabnoroll
- jmp normalbeg2
-
-contloop3:
- mov edi,windowlen
-
-; cur_match = prev[cur_match & wmask]
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
-; if cur_match > limit, go to exitloop
- cmp ecx,eax
-jnbexitloopshort1:
- jnb exitloop
-; if --chain_length != 0, go to exitloop
-
-
-; begin the main loop
-beginloop2:
- sub chain_length,16+1
-; if chain_length <=16, don't use the unrolled loop
- jna normalbeg0add16
-
-do16:
- cmp word ptr[edi+eax],bx
- je normalbeg2dc0
-
-maccn MACRO lab
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
- cmp ecx,eax
- jnb exitloop
- cmp word ptr[edi+eax],bx
- je lab
- ENDM
-
-rcontloop0:
- maccn normalbeg2dc1
-
-rcontloop1:
- maccn normalbeg2dc2
-
-rcontloop2:
- maccn normalbeg2dc3
-
-rcontloop3:
- maccn normalbeg2dc4
-
-rcontloop4:
- maccn normalbeg2dc5
-
-rcontloop5:
- maccn normalbeg2dc6
-
-rcontloop6:
- maccn normalbeg2dc7
-
-rcontloop7:
- maccn normalbeg2dc8
-
-rcontloop8:
- maccn normalbeg2dc9
-
-rcontloop9:
- maccn normalbeg2dc10
-
-rcontloop10:
- maccn short normalbeg2dc11
-
-rcontloop11:
- maccn short normalbeg2dc12
-
-rcontloop12:
- maccn short normalbeg2dc13
-
-rcontloop13:
- maccn short normalbeg2dc14
-
-rcontloop14:
- maccn short normalbeg2dc15
-
-rcontloop15:
- and eax,7fffh
- mov ax,word ptr[esi+eax*2]
- cmp ecx,eax
- jnb exitloop
-
- sub chain_length,16
- ja do16
- jmp normalbeg0add16
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-normbeg MACRO rcontlab,valsub
-; if we are here, we know that *(match+best_len-1) == scan_end
- cmp bp,word ptr[edx+eax]
-; if (match != scan_start) goto rcontlab
- jne rcontlab
-; calculate the good chain_length, and we'll compare scan and match string
- add chain_length,16-valsub
- jmp iseq
- ENDM
-
-
-normalbeg2dc11:
- normbeg rcontloop11,11
-
-normalbeg2dc12:
- normbeg short rcontloop12,12
-
-normalbeg2dc13:
- normbeg short rcontloop13,13
-
-normalbeg2dc14:
- normbeg short rcontloop14,14
-
-normalbeg2dc15:
- normbeg short rcontloop15,15
-
-normalbeg2dc10:
- normbeg rcontloop10,10
-
-normalbeg2dc9:
- normbeg rcontloop9,9
-
-normalbeg2dc8:
- normbeg rcontloop8,8
-
-normalbeg2dc7:
- normbeg rcontloop7,7
-
-normalbeg2dc6:
- normbeg rcontloop6,6
-
-normalbeg2dc5:
- normbeg rcontloop5,5
-
-normalbeg2dc4:
- normbeg rcontloop4,4
-
-normalbeg2dc3:
- normbeg rcontloop3,3
-
-normalbeg2dc2:
- normbeg rcontloop2,2
-
-normalbeg2dc1:
- normbeg rcontloop1,1
-
-normalbeg2dc0:
- normbeg rcontloop0,0
-
-
-; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end
-
-normalbeg2:
- mov edi,window
-
- cmp bp,word ptr[edi+eax]
- jne contloop3 ; if *(ushf*)match != scan_start, continue
-
-iseq:
-; if we are here, we know that *(match+best_len-1) == scan_end
-; and (match == scan_start)
-
- mov edi,edx
- mov esi,scan ; esi = scan
- add edi,eax ; edi = window + cur_match = match
-
- mov edx,[esi+3] ; compare manually dword at match+3
- xor edx,[edi+3] ; and scan +3
-
- jz begincompare ; if equal, go to long compare
-
-; we will determine the unmatch byte and calculate len (in esi)
- or dl,dl
- je eq1rr
- mov esi,3
- jmp trfinval
-eq1rr:
- or dx,dx
- je eq1
-
- mov esi,4
- jmp trfinval
-eq1:
- and edx,0ffffffh
- jz eq11
- mov esi,5
- jmp trfinval
-eq11:
- mov esi,6
- jmp trfinval
-
-begincompare:
- ; here we now scan and match begin same
- add edi,6
- add esi,6
- mov ecx,(MAX_MATCH-(2+4))/4 ; scan for at most MAX_MATCH bytes
- repe cmpsd ; loop until mismatch
-
- je trfin ; go to trfin if not unmatch
-; we determine the unmatch byte
- sub esi,4
- mov edx,[edi-4]
- xor edx,[esi]
-
- or dl,dl
- jnz trfin
- inc esi
-
- or dx,dx
- jnz trfin
- inc esi
-
- and edx,0ffffffh
- jnz trfin
- inc esi
-
-trfin:
- sub esi,scan ; esi = len
-trfinval:
-; here we have finised compare, and esi contain len of equal string
- cmp esi,best_len ; if len > best_len, go newbestlen
- ja short newbestlen
-; now we restore edx, ecx and esi, for the big loop
- mov esi,prev
- mov ecx,limit
- mov edx,window
- jmp contloop3
-
-newbestlen:
- mov best_len,esi ; len become best_len
-
- mov match_start,eax ; save new position as match_start
- cmp esi,nice_match ; if best_len >= nice_match, exit
- jae exitloop
- mov ecx,scan
- mov edx,window ; restore edx=window
- add ecx,esi
- add esi,edx
-
- dec esi
- mov windowlen,esi ; windowlen = window + best_len-1
- mov bx,[ecx-1] ; bx = *(scan+best_len-1) = scan_end
-
-; now we restore ecx and esi, for the big loop :
- mov esi,prev
- mov ecx,limit
- jmp contloop3
-
-exitloop:
-; exit : s->match_start=match_start
- mov ebx,match_start
- mov ebp,str_s
- mov ecx,best_len
- mov dword ptr [ebp+dep_match_start],ebx
- mov eax,dword ptr [ebp+dep_lookahead]
- cmp ecx,eax
- ja minexlo
- mov eax,ecx
-minexlo:
-; return min(best_len,s->lookahead)
-
-; restore stack and register ebx,esi,edi,ebp
- add esp,NbStackAdd
-
- pop ebx
- pop esi
- pop edi
- pop ebp
- ret
-InfoAuthor:
-; please don't remove this string !
-; Your are free use gvmat32 in any fre or commercial apps if you don't remove the string in the binary!
- db 0dh,0ah,"GVMat32 optimised assembly code written 1996-98 by Gilles Vollant",0dh,0ah
-
-
-
-IFDEF NOUNDERLINE
-longest_match_7fff endp
-ELSE
-_longest_match_7fff endp
-ENDIF
-
-
-IFDEF NOUNDERLINE
-cpudetect32 proc near
-ELSE
-_cpudetect32 proc near
-ENDIF
-
-
- pushfd ; push original EFLAGS
- pop eax ; get original EFLAGS
- mov ecx, eax ; save original EFLAGS
- xor eax, 40000h ; flip AC bit in EFLAGS
- push eax ; save new EFLAGS value on stack
- popfd ; replace current EFLAGS value
- pushfd ; get new EFLAGS
- pop eax ; store new EFLAGS in EAX
- xor eax, ecx ; can’t toggle AC bit, processor=80386
- jz end_cpu_is_386 ; jump if 80386 processor
- push ecx
- popfd ; restore AC bit in EFLAGS first
-
- pushfd
- pushfd
- pop ecx
-
- mov eax, ecx ; get original EFLAGS
- xor eax, 200000h ; flip ID bit in EFLAGS
- push eax ; save new EFLAGS value on stack
- popfd ; replace current EFLAGS value
- pushfd ; get new EFLAGS
- pop eax ; store new EFLAGS in EAX
- popfd ; restore original EFLAGS
- xor eax, ecx ; can’t toggle ID bit,
- je is_old_486 ; processor=old
-
- mov eax,1
- db 0fh,0a2h ;CPUID
-
-exitcpudetect:
- ret
-
-end_cpu_is_386:
- mov eax,0300h
- jmp exitcpudetect
-
-is_old_486:
- mov eax,0400h
- jmp exitcpudetect
-
-IFDEF NOUNDERLINE
-cpudetect32 endp
-ELSE
-_cpudetect32 endp
-ENDIF
-
-_TEXT ends
-end
diff --git a/zlib/contrib/asm386/gvmat32c.c b/zlib/contrib/asm386/gvmat32c.c
deleted file mode 100644
index d853bb7ce8a..00000000000
--- a/zlib/contrib/asm386/gvmat32c.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86
- * Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.
- * File written by Gilles Vollant, by modifiying the longest_match
- * from Jean-loup Gailly in deflate.c
- * it prepare all parameters and call the assembly longest_match_gvasm
- * longest_match execute standard C code is wmask != 0x7fff
- * (assembly code is faster with a fixed wmask)
- *
- */
-
-#include "deflate.h"
-
-#undef FAR
-#include <windows.h>
-
-#ifdef ASMV
-#define NIL 0
-
-#define UNALIGNED_OK
-
-
-/* if your C compiler don't add underline before function name,
- define ADD_UNDERLINE_ASMFUNC */
-#ifdef ADD_UNDERLINE_ASMFUNC
-#define longest_match_7fff _longest_match_7fff
-#endif
-
-
-
-void match_init()
-{
-}
-
-unsigned long cpudetect32();
-
-uInt longest_match_c(
- deflate_state *s,
- IPos cur_match); /* current match */
-
-
-uInt longest_match_7fff(
- deflate_state *s,
- IPos cur_match); /* current match */
-
-uInt longest_match(
- deflate_state *s,
- IPos cur_match) /* current match */
-{
- static uInt iIsPPro=2;
-
- if ((s->w_mask == 0x7fff) && (iIsPPro==0))
- return longest_match_7fff(s,cur_match);
-
- if (iIsPPro==2)
- iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0;
-
- return longest_match_c(s,cur_match);
-}
-
-
-
-uInt longest_match_c(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- int nice_match = s->nice_match; /* stop if match long enough */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- /* Do not look for matches beyond the end of the input. This is necessary
- * to make deflate deterministic.
- */
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
- return s->lookahead;
-}
-
-#endif /* ASMV */
diff --git a/zlib/contrib/asm386/mkgvmt32.bat b/zlib/contrib/asm386/mkgvmt32.bat
deleted file mode 100644
index 6c5ffd7a024..00000000000
--- a/zlib/contrib/asm386/mkgvmt32.bat
+++ /dev/null
@@ -1 +0,0 @@
-c:\masm611\bin\ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm
diff --git a/zlib/contrib/asm386/zlibvc.def b/zlib/contrib/asm386/zlibvc.def
deleted file mode 100644
index 7e9d60d55d9..00000000000
--- a/zlib/contrib/asm386/zlibvc.def
+++ /dev/null
@@ -1,74 +0,0 @@
-LIBRARY "zlib"
-
-DESCRIPTION '"""zlib data compression library"""'
-
-
-VERSION 1.11
-
-
-HEAPSIZE 1048576,8192
-
-EXPORTS
- adler32 @1
- compress @2
- crc32 @3
- deflate @4
- deflateCopy @5
- deflateEnd @6
- deflateInit2_ @7
- deflateInit_ @8
- deflateParams @9
- deflateReset @10
- deflateSetDictionary @11
- gzclose @12
- gzdopen @13
- gzerror @14
- gzflush @15
- gzopen @16
- gzread @17
- gzwrite @18
- inflate @19
- inflateEnd @20
- inflateInit2_ @21
- inflateInit_ @22
- inflateReset @23
- inflateSetDictionary @24
- inflateSync @25
- uncompress @26
- zlibVersion @27
- gzprintf @28
- gzputc @29
- gzgetc @30
- gzseek @31
- gzrewind @32
- gztell @33
- gzeof @34
- gzsetparams @35
- zError @36
- inflateSyncPoint @37
- get_crc_table @38
- compress2 @39
- gzputs @40
- gzgets @41
-
- unzOpen @61
- unzClose @62
- unzGetGlobalInfo @63
- unzGetCurrentFileInfo @64
- unzGoToFirstFile @65
- unzGoToNextFile @66
- unzOpenCurrentFile @67
- unzReadCurrentFile @68
- unztell @70
- unzeof @71
- unzCloseCurrentFile @72
- unzGetGlobalComment @73
- unzStringFileNameCompare @74
- unzLocateFile @75
- unzGetLocalExtrafield @76
-
- zipOpen @80
- zipOpenNewFileInZip @81
- zipWriteInFileInZip @82
- zipCloseFileInZip @83
- zipClose @84
diff --git a/zlib/contrib/asm386/zlibvc.dsp b/zlib/contrib/asm386/zlibvc.dsp
deleted file mode 100644
index a70d4d4a6b0..00000000000
--- a/zlib/contrib/asm386/zlibvc.dsp
+++ /dev/null
@@ -1,651 +0,0 @@
-# Microsoft Developer Studio Project File - Name="zlibvc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=zlibvc - Win32 Release
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "zlibvc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "zlibvc.mak" CFG="zlibvc - Win32 Release"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "zlibvc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseAxp" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseWithoutAsm" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseWithoutCrtdll" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\Release"
-# PROP BASE Intermediate_Dir ".\Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\Release"
-# PROP Intermediate_Dir ".\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\Debug"
-# PROP BASE Intermediate_Dir ".\Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\Debug"
-# PROP Intermediate_Dir ".\Debug"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "_DEBUG"
-# ADD RSC /l 0x40c /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\zlib.dll"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc__"
-# PROP BASE Intermediate_Dir "zlibvc__"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc__"
-# PROP Intermediate_Dir "zlibvc__"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:"zlibvc__\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc_0"
-# PROP BASE Intermediate_Dir "zlibvc_0"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc_0"
-# PROP Intermediate_Dir "zlibvc_0"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_0\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc_1"
-# PROP BASE Intermediate_Dir "zlibvc_1"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc_1"
-# PROP Intermediate_Dir "zlibvc_1"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_1\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "zlibvc - Win32 Release"
-# Name "zlibvc - Win32 Debug"
-# Name "zlibvc - Win32 ReleaseAxp"
-# Name "zlibvc - Win32 ReleaseWithoutAsm"
-# Name "zlibvc - Win32 ReleaseWithoutCrtdll"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\adler32.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_ADLER=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\compress.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_COMPR=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\crc32.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_CRC32=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\deflate.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_DEFLA=\
- ".\deflate.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gvmat32c.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gzio.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_GZIO_=\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infblock.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFBL=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infcodes.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFCO=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inffast.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inffast.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFFA=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inffast.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inflate.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFLA=\
- ".\infblock.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inftrees.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFTR=\
- ".\inftrees.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infutil.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFUT=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\trees.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_TREES=\
- ".\deflate.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\uncompr.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_UNCOM=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\unzip.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\zip.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlibvc.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\zutil.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_ZUTIL=\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\deflate.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infblock.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infcodes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inffast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inftrees.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zutil.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/zlib/contrib/asm386/zlibvc.dsw b/zlib/contrib/asm386/zlibvc.dsw
deleted file mode 100644
index 493cd870365..00000000000
--- a/zlib/contrib/asm386/zlibvc.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "zlibstat"=.\zlibstat.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "zlibvc"=.\zlibvc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/zlib/contrib/asm586/README.586 b/zlib/contrib/asm586/README.586
deleted file mode 100644
index 6bb78f32069..00000000000
--- a/zlib/contrib/asm586/README.586
+++ /dev/null
@@ -1,43 +0,0 @@
-This is a patched version of zlib modified to use
-Pentium-optimized assembly code in the deflation algorithm. The files
-changed/added by this patch are:
-
-README.586
-match.S
-
-The effectiveness of these modifications is a bit marginal, as the the
-program's bottleneck seems to be mostly L1-cache contention, for which
-there is no real way to work around without rewriting the basic
-algorithm. The speedup on average is around 5-10% (which is generally
-less than the amount of variance between subsequent executions).
-However, when used at level 9 compression, the cache contention can
-drop enough for the assembly version to achieve 10-20% speedup (and
-sometimes more, depending on the amount of overall redundancy in the
-files). Even here, though, cache contention can still be the limiting
-factor, depending on the nature of the program using the zlib library.
-This may also mean that better improvements will be seen on a Pentium
-with MMX, which suffers much less from L1-cache contention, but I have
-not yet verified this.
-
-Note that this code has been tailored for the Pentium in particular,
-and will not perform well on the Pentium Pro (due to the use of a
-partial register in the inner loop).
-
-If you are using an assembler other than GNU as, you will have to
-translate match.S to use your assembler's syntax. (Have fun.)
-
-Brian Raiter
-breadbox@muppetlabs.com
-April, 1998
-
-
-Added for zlib 1.1.3:
-
-The patches come from
-http://www.muppetlabs.com/~breadbox/software/assembly.html
-
-To compile zlib with this asm file, copy match.S to the zlib directory
-then do:
-
-CFLAGS="-O3 -DASMV" ./configure
-make OBJA=match.o
diff --git a/zlib/contrib/asm586/match.S b/zlib/contrib/asm586/match.S
deleted file mode 100644
index 8f1614078f8..00000000000
--- a/zlib/contrib/asm586/match.S
+++ /dev/null
@@ -1,354 +0,0 @@
-/* match.s -- Pentium-optimized version of longest_match()
- * Written for zlib 1.1.2
- * Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License.
- */
-
-#ifndef NO_UNDERLINE
-#define match_init _match_init
-#define longest_match _longest_match
-#endif
-
-#define MAX_MATCH (258)
-#define MIN_MATCH (3)
-#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
-#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
-
-/* stack frame offsets */
-
-#define wmask 0 /* local copy of s->wmask */
-#define window 4 /* local copy of s->window */
-#define windowbestlen 8 /* s->window + bestlen */
-#define chainlenscanend 12 /* high word: current chain len */
- /* low word: last bytes sought */
-#define scanstart 16 /* first two bytes of string */
-#define scanalign 20 /* dword-misalignment of string */
-#define nicematch 24 /* a good enough match size */
-#define bestlen 28 /* size of best match so far */
-#define scan 32 /* ptr to string wanting match */
-
-#define LocalVarsSize (36)
-/* saved ebx 36 */
-/* saved edi 40 */
-/* saved esi 44 */
-/* saved ebp 48 */
-/* return address 52 */
-#define deflatestate 56 /* the function arguments */
-#define curmatch 60
-
-/* Offsets for fields in the deflate_state structure. These numbers
- * are calculated from the definition of deflate_state, with the
- * assumption that the compiler will dword-align the fields. (Thus,
- * changing the definition of deflate_state could easily cause this
- * program to crash horribly, without so much as a warning at
- * compile time. Sigh.)
- */
-#define dsWSize 36
-#define dsWMask 44
-#define dsWindow 48
-#define dsPrev 56
-#define dsMatchLen 88
-#define dsPrevMatch 92
-#define dsStrStart 100
-#define dsMatchStart 104
-#define dsLookahead 108
-#define dsPrevLen 112
-#define dsMaxChainLen 116
-#define dsGoodMatch 132
-#define dsNiceMatch 136
-
-
-.file "match.S"
-
-.globl match_init, longest_match
-
-.text
-
-/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
-
-longest_match:
-
-/* Save registers that the compiler may be using, and adjust %esp to */
-/* make room for our stack frame. */
-
- pushl %ebp
- pushl %edi
- pushl %esi
- pushl %ebx
- subl $LocalVarsSize, %esp
-
-/* Retrieve the function arguments. %ecx will hold cur_match */
-/* throughout the entire function. %edx will hold the pointer to the */
-/* deflate_state structure during the function's setup (before */
-/* entering the main loop). */
-
- movl deflatestate(%esp), %edx
- movl curmatch(%esp), %ecx
-
-/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
-
- movl dsNiceMatch(%edx), %eax
- movl dsLookahead(%edx), %ebx
- cmpl %eax, %ebx
- jl LookaheadLess
- movl %eax, %ebx
-LookaheadLess: movl %ebx, nicematch(%esp)
-
-/* register Bytef *scan = s->window + s->strstart; */
-
- movl dsWindow(%edx), %esi
- movl %esi, window(%esp)
- movl dsStrStart(%edx), %ebp
- lea (%esi,%ebp), %edi
- movl %edi, scan(%esp)
-
-/* Determine how many bytes the scan ptr is off from being */
-/* dword-aligned. */
-
- movl %edi, %eax
- negl %eax
- andl $3, %eax
- movl %eax, scanalign(%esp)
-
-/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
-/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
-
- movl dsWSize(%edx), %eax
- subl $MIN_LOOKAHEAD, %eax
- subl %eax, %ebp
- jg LimitPositive
- xorl %ebp, %ebp
-LimitPositive:
-
-/* unsigned chain_length = s->max_chain_length; */
-/* if (s->prev_length >= s->good_match) { */
-/* chain_length >>= 2; */
-/* } */
-
- movl dsPrevLen(%edx), %eax
- movl dsGoodMatch(%edx), %ebx
- cmpl %ebx, %eax
- movl dsMaxChainLen(%edx), %ebx
- jl LastMatchGood
- shrl $2, %ebx
-LastMatchGood:
-
-/* chainlen is decremented once beforehand so that the function can */
-/* use the sign flag instead of the zero flag for the exit test. */
-/* It is then shifted into the high word, to make room for the scanend */
-/* scanend value, which it will always accompany. */
-
- decl %ebx
- shll $16, %ebx
-
-/* int best_len = s->prev_length; */
-
- movl dsPrevLen(%edx), %eax
- movl %eax, bestlen(%esp)
-
-/* Store the sum of s->window + best_len in %esi locally, and in %esi. */
-
- addl %eax, %esi
- movl %esi, windowbestlen(%esp)
-
-/* register ush scan_start = *(ushf*)scan; */
-/* register ush scan_end = *(ushf*)(scan+best_len-1); */
-
- movw (%edi), %bx
- movw %bx, scanstart(%esp)
- movw -1(%edi,%eax), %bx
- movl %ebx, chainlenscanend(%esp)
-
-/* Posf *prev = s->prev; */
-/* uInt wmask = s->w_mask; */
-
- movl dsPrev(%edx), %edi
- movl dsWMask(%edx), %edx
- mov %edx, wmask(%esp)
-
-/* Jump into the main loop. */
-
- jmp LoopEntry
-
-.balign 16
-
-/* do {
- * match = s->window + cur_match;
- * if (*(ushf*)(match+best_len-1) != scan_end ||
- * *(ushf*)match != scan_start) continue;
- * [...]
- * } while ((cur_match = prev[cur_match & wmask]) > limit
- * && --chain_length != 0);
- *
- * Here is the inner loop of the function. The function will spend the
- * majority of its time in this loop, and majority of that time will
- * be spent in the first ten instructions.
- *
- * Within this loop:
- * %ebx = chainlenscanend - i.e., ((chainlen << 16) | scanend)
- * %ecx = curmatch
- * %edx = curmatch & wmask
- * %esi = windowbestlen - i.e., (window + bestlen)
- * %edi = prev
- * %ebp = limit
- *
- * Two optimization notes on the choice of instructions:
- *
- * The first instruction uses a 16-bit address, which costs an extra,
- * unpairable cycle. This is cheaper than doing a 32-bit access and
- * zeroing the high word, due to the 3-cycle misalignment penalty which
- * would occur half the time. This also turns out to be cheaper than
- * doing two separate 8-bit accesses, as the memory is so rarely in the
- * L1 cache.
- *
- * The window buffer, however, apparently spends a lot of time in the
- * cache, and so it is faster to retrieve the word at the end of the
- * match string with two 8-bit loads. The instructions that test the
- * word at the beginning of the match string, however, are executed
- * much less frequently, and there it was cheaper to use 16-bit
- * instructions, which avoided the necessity of saving off and
- * subsequently reloading one of the other registers.
- */
-LookupLoop:
- /* 1 U & V */
- movw (%edi,%edx,2), %cx /* 2 U pipe */
- movl wmask(%esp), %edx /* 2 V pipe */
- cmpl %ebp, %ecx /* 3 U pipe */
- jbe LeaveNow /* 3 V pipe */
- subl $0x00010000, %ebx /* 4 U pipe */
- js LeaveNow /* 4 V pipe */
-LoopEntry: movb -1(%esi,%ecx), %al /* 5 U pipe */
- andl %ecx, %edx /* 5 V pipe */
- cmpb %bl, %al /* 6 U pipe */
- jnz LookupLoop /* 6 V pipe */
- movb (%esi,%ecx), %ah
- cmpb %bh, %ah
- jnz LookupLoop
- movl window(%esp), %eax
- movw (%eax,%ecx), %ax
- cmpw scanstart(%esp), %ax
- jnz LookupLoop
-
-/* Store the current value of chainlen. */
-
- movl %ebx, chainlenscanend(%esp)
-
-/* Point %edi to the string under scrutiny, and %esi to the string we */
-/* are hoping to match it up with. In actuality, %esi and %edi are */
-/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
-/* initialized to -(MAX_MATCH_8 - scanalign). */
-
- movl window(%esp), %esi
- movl scan(%esp), %edi
- addl %ecx, %esi
- movl scanalign(%esp), %eax
- movl $(-MAX_MATCH_8), %edx
- lea MAX_MATCH_8(%edi,%eax), %edi
- lea MAX_MATCH_8(%esi,%eax), %esi
-
-/* Test the strings for equality, 8 bytes at a time. At the end,
- * adjust %edx so that it is offset to the exact byte that mismatched.
- *
- * We already know at this point that the first three bytes of the
- * strings match each other, and they can be safely passed over before
- * starting the compare loop. So what this code does is skip over 0-3
- * bytes, as much as necessary in order to dword-align the %edi
- * pointer. (%esi will still be misaligned three times out of four.)
- *
- * It should be confessed that this loop usually does not represent
- * much of the total running time. Replacing it with a more
- * straightforward "rep cmpsb" would not drastically degrade
- * performance.
- */
-LoopCmps:
- movl (%esi,%edx), %eax
- movl (%edi,%edx), %ebx
- xorl %ebx, %eax
- jnz LeaveLoopCmps
- movl 4(%esi,%edx), %eax
- movl 4(%edi,%edx), %ebx
- xorl %ebx, %eax
- jnz LeaveLoopCmps4
- addl $8, %edx
- jnz LoopCmps
- jmp LenMaximum
-LeaveLoopCmps4: addl $4, %edx
-LeaveLoopCmps: testl $0x0000FFFF, %eax
- jnz LenLower
- addl $2, %edx
- shrl $16, %eax
-LenLower: subb $1, %al
- adcl $0, %edx
-
-/* Calculate the length of the match. If it is longer than MAX_MATCH, */
-/* then automatically accept it as the best possible match and leave. */
-
- lea (%edi,%edx), %eax
- movl scan(%esp), %edi
- subl %edi, %eax
- cmpl $MAX_MATCH, %eax
- jge LenMaximum
-
-/* If the length of the match is not longer than the best match we */
-/* have so far, then forget it and return to the lookup loop. */
-
- movl deflatestate(%esp), %edx
- movl bestlen(%esp), %ebx
- cmpl %ebx, %eax
- jg LongerMatch
- movl chainlenscanend(%esp), %ebx
- movl windowbestlen(%esp), %esi
- movl dsPrev(%edx), %edi
- movl wmask(%esp), %edx
- andl %ecx, %edx
- jmp LookupLoop
-
-/* s->match_start = cur_match; */
-/* best_len = len; */
-/* if (len >= nice_match) break; */
-/* scan_end = *(ushf*)(scan+best_len-1); */
-
-LongerMatch: movl nicematch(%esp), %ebx
- movl %eax, bestlen(%esp)
- movl %ecx, dsMatchStart(%edx)
- cmpl %ebx, %eax
- jge LeaveNow
- movl window(%esp), %esi
- addl %eax, %esi
- movl %esi, windowbestlen(%esp)
- movl chainlenscanend(%esp), %ebx
- movw -1(%edi,%eax), %bx
- movl dsPrev(%edx), %edi
- movl %ebx, chainlenscanend(%esp)
- movl wmask(%esp), %edx
- andl %ecx, %edx
- jmp LookupLoop
-
-/* Accept the current string, with the maximum possible length. */
-
-LenMaximum: movl deflatestate(%esp), %edx
- movl $MAX_MATCH, bestlen(%esp)
- movl %ecx, dsMatchStart(%edx)
-
-/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
-/* return s->lookahead; */
-
-LeaveNow:
- movl deflatestate(%esp), %edx
- movl bestlen(%esp), %ebx
- movl dsLookahead(%edx), %eax
- cmpl %eax, %ebx
- jg LookaheadRet
- movl %ebx, %eax
-LookaheadRet:
-
-/* Restore the stack and return from whence we came. */
-
- addl $LocalVarsSize, %esp
- popl %ebx
- popl %esi
- popl %edi
- popl %ebp
-match_init: ret
diff --git a/zlib/contrib/asm686/README.686 b/zlib/contrib/asm686/README.686
deleted file mode 100644
index a593f23afd6..00000000000
--- a/zlib/contrib/asm686/README.686
+++ /dev/null
@@ -1,34 +0,0 @@
-This is a patched version of zlib, modified to use
-Pentium-Pro-optimized assembly code in the deflation algorithm. The
-files changed/added by this patch are:
-
-README.686
-match.S
-
-The speedup that this patch provides varies, depending on whether the
-compiler used to build the original version of zlib falls afoul of the
-PPro's speed traps. My own tests show a speedup of around 10-20% at
-the default compression level, and 20-30% using -9, against a version
-compiled using gcc 2.7.2.3. Your mileage may vary.
-
-Note that this code has been tailored for the PPro/PII in particular,
-and will not perform particuarly well on a Pentium.
-
-If you are using an assembler other than GNU as, you will have to
-translate match.S to use your assembler's syntax. (Have fun.)
-
-Brian Raiter
-breadbox@muppetlabs.com
-April, 1998
-
-
-Added for zlib 1.1.3:
-
-The patches come from
-http://www.muppetlabs.com/~breadbox/software/assembly.html
-
-To compile zlib with this asm file, copy match.S to the zlib directory
-then do:
-
-CFLAGS="-O3 -DASMV" ./configure
-make OBJA=match.o
diff --git a/zlib/contrib/asm686/match.S b/zlib/contrib/asm686/match.S
deleted file mode 100644
index 8e86c33c288..00000000000
--- a/zlib/contrib/asm686/match.S
+++ /dev/null
@@ -1,327 +0,0 @@
-/* match.s -- Pentium-Pro-optimized version of longest_match()
- * Written for zlib 1.1.2
- * Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License.
- */
-
-#ifndef NO_UNDERLINE
-#define match_init _match_init
-#define longest_match _longest_match
-#endif
-
-#define MAX_MATCH (258)
-#define MIN_MATCH (3)
-#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
-#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
-
-/* stack frame offsets */
-
-#define chainlenwmask 0 /* high word: current chain len */
- /* low word: s->wmask */
-#define window 4 /* local copy of s->window */
-#define windowbestlen 8 /* s->window + bestlen */
-#define scanstart 16 /* first two bytes of string */
-#define scanend 12 /* last two bytes of string */
-#define scanalign 20 /* dword-misalignment of string */
-#define nicematch 24 /* a good enough match size */
-#define bestlen 28 /* size of best match so far */
-#define scan 32 /* ptr to string wanting match */
-
-#define LocalVarsSize (36)
-/* saved ebx 36 */
-/* saved edi 40 */
-/* saved esi 44 */
-/* saved ebp 48 */
-/* return address 52 */
-#define deflatestate 56 /* the function arguments */
-#define curmatch 60
-
-/* Offsets for fields in the deflate_state structure. These numbers
- * are calculated from the definition of deflate_state, with the
- * assumption that the compiler will dword-align the fields. (Thus,
- * changing the definition of deflate_state could easily cause this
- * program to crash horribly, without so much as a warning at
- * compile time. Sigh.)
- */
-#define dsWSize 36
-#define dsWMask 44
-#define dsWindow 48
-#define dsPrev 56
-#define dsMatchLen 88
-#define dsPrevMatch 92
-#define dsStrStart 100
-#define dsMatchStart 104
-#define dsLookahead 108
-#define dsPrevLen 112
-#define dsMaxChainLen 116
-#define dsGoodMatch 132
-#define dsNiceMatch 136
-
-
-.file "match.S"
-
-.globl match_init, longest_match
-
-.text
-
-/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
-
-longest_match:
-
-/* Save registers that the compiler may be using, and adjust %esp to */
-/* make room for our stack frame. */
-
- pushl %ebp
- pushl %edi
- pushl %esi
- pushl %ebx
- subl $LocalVarsSize, %esp
-
-/* Retrieve the function arguments. %ecx will hold cur_match */
-/* throughout the entire function. %edx will hold the pointer to the */
-/* deflate_state structure during the function's setup (before */
-/* entering the main loop). */
-
- movl deflatestate(%esp), %edx
- movl curmatch(%esp), %ecx
-
-/* uInt wmask = s->w_mask; */
-/* unsigned chain_length = s->max_chain_length; */
-/* if (s->prev_length >= s->good_match) { */
-/* chain_length >>= 2; */
-/* } */
-
- movl dsPrevLen(%edx), %eax
- movl dsGoodMatch(%edx), %ebx
- cmpl %ebx, %eax
- movl dsWMask(%edx), %eax
- movl dsMaxChainLen(%edx), %ebx
- jl LastMatchGood
- shrl $2, %ebx
-LastMatchGood:
-
-/* chainlen is decremented once beforehand so that the function can */
-/* use the sign flag instead of the zero flag for the exit test. */
-/* It is then shifted into the high word, to make room for the wmask */
-/* value, which it will always accompany. */
-
- decl %ebx
- shll $16, %ebx
- orl %eax, %ebx
- movl %ebx, chainlenwmask(%esp)
-
-/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
-
- movl dsNiceMatch(%edx), %eax
- movl dsLookahead(%edx), %ebx
- cmpl %eax, %ebx
- jl LookaheadLess
- movl %eax, %ebx
-LookaheadLess: movl %ebx, nicematch(%esp)
-
-/* register Bytef *scan = s->window + s->strstart; */
-
- movl dsWindow(%edx), %esi
- movl %esi, window(%esp)
- movl dsStrStart(%edx), %ebp
- lea (%esi,%ebp), %edi
- movl %edi, scan(%esp)
-
-/* Determine how many bytes the scan ptr is off from being */
-/* dword-aligned. */
-
- movl %edi, %eax
- negl %eax
- andl $3, %eax
- movl %eax, scanalign(%esp)
-
-/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
-/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
-
- movl dsWSize(%edx), %eax
- subl $MIN_LOOKAHEAD, %eax
- subl %eax, %ebp
- jg LimitPositive
- xorl %ebp, %ebp
-LimitPositive:
-
-/* int best_len = s->prev_length; */
-
- movl dsPrevLen(%edx), %eax
- movl %eax, bestlen(%esp)
-
-/* Store the sum of s->window + best_len in %esi locally, and in %esi. */
-
- addl %eax, %esi
- movl %esi, windowbestlen(%esp)
-
-/* register ush scan_start = *(ushf*)scan; */
-/* register ush scan_end = *(ushf*)(scan+best_len-1); */
-/* Posf *prev = s->prev; */
-
- movzwl (%edi), %ebx
- movl %ebx, scanstart(%esp)
- movzwl -1(%edi,%eax), %ebx
- movl %ebx, scanend(%esp)
- movl dsPrev(%edx), %edi
-
-/* Jump into the main loop. */
-
- movl chainlenwmask(%esp), %edx
- jmp LoopEntry
-
-.balign 16
-
-/* do {
- * match = s->window + cur_match;
- * if (*(ushf*)(match+best_len-1) != scan_end ||
- * *(ushf*)match != scan_start) continue;
- * [...]
- * } while ((cur_match = prev[cur_match & wmask]) > limit
- * && --chain_length != 0);
- *
- * Here is the inner loop of the function. The function will spend the
- * majority of its time in this loop, and majority of that time will
- * be spent in the first ten instructions.
- *
- * Within this loop:
- * %ebx = scanend
- * %ecx = curmatch
- * %edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
- * %esi = windowbestlen - i.e., (window + bestlen)
- * %edi = prev
- * %ebp = limit
- */
-LookupLoop:
- andl %edx, %ecx
- movzwl (%edi,%ecx,2), %ecx
- cmpl %ebp, %ecx
- jbe LeaveNow
- subl $0x00010000, %edx
- js LeaveNow
-LoopEntry: movzwl -1(%esi,%ecx), %eax
- cmpl %ebx, %eax
- jnz LookupLoop
- movl window(%esp), %eax
- movzwl (%eax,%ecx), %eax
- cmpl scanstart(%esp), %eax
- jnz LookupLoop
-
-/* Store the current value of chainlen. */
-
- movl %edx, chainlenwmask(%esp)
-
-/* Point %edi to the string under scrutiny, and %esi to the string we */
-/* are hoping to match it up with. In actuality, %esi and %edi are */
-/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
-/* initialized to -(MAX_MATCH_8 - scanalign). */
-
- movl window(%esp), %esi
- movl scan(%esp), %edi
- addl %ecx, %esi
- movl scanalign(%esp), %eax
- movl $(-MAX_MATCH_8), %edx
- lea MAX_MATCH_8(%edi,%eax), %edi
- lea MAX_MATCH_8(%esi,%eax), %esi
-
-/* Test the strings for equality, 8 bytes at a time. At the end,
- * adjust %edx so that it is offset to the exact byte that mismatched.
- *
- * We already know at this point that the first three bytes of the
- * strings match each other, and they can be safely passed over before
- * starting the compare loop. So what this code does is skip over 0-3
- * bytes, as much as necessary in order to dword-align the %edi
- * pointer. (%esi will still be misaligned three times out of four.)
- *
- * It should be confessed that this loop usually does not represent
- * much of the total running time. Replacing it with a more
- * straightforward "rep cmpsb" would not drastically degrade
- * performance.
- */
-LoopCmps:
- movl (%esi,%edx), %eax
- xorl (%edi,%edx), %eax
- jnz LeaveLoopCmps
- movl 4(%esi,%edx), %eax
- xorl 4(%edi,%edx), %eax
- jnz LeaveLoopCmps4
- addl $8, %edx
- jnz LoopCmps
- jmp LenMaximum
-LeaveLoopCmps4: addl $4, %edx
-LeaveLoopCmps: testl $0x0000FFFF, %eax
- jnz LenLower
- addl $2, %edx
- shrl $16, %eax
-LenLower: subb $1, %al
- adcl $0, %edx
-
-/* Calculate the length of the match. If it is longer than MAX_MATCH, */
-/* then automatically accept it as the best possible match and leave. */
-
- lea (%edi,%edx), %eax
- movl scan(%esp), %edi
- subl %edi, %eax
- cmpl $MAX_MATCH, %eax
- jge LenMaximum
-
-/* If the length of the match is not longer than the best match we */
-/* have so far, then forget it and return to the lookup loop. */
-
- movl deflatestate(%esp), %edx
- movl bestlen(%esp), %ebx
- cmpl %ebx, %eax
- jg LongerMatch
- movl windowbestlen(%esp), %esi
- movl dsPrev(%edx), %edi
- movl scanend(%esp), %ebx
- movl chainlenwmask(%esp), %edx
- jmp LookupLoop
-
-/* s->match_start = cur_match; */
-/* best_len = len; */
-/* if (len >= nice_match) break; */
-/* scan_end = *(ushf*)(scan+best_len-1); */
-
-LongerMatch: movl nicematch(%esp), %ebx
- movl %eax, bestlen(%esp)
- movl %ecx, dsMatchStart(%edx)
- cmpl %ebx, %eax
- jge LeaveNow
- movl window(%esp), %esi
- addl %eax, %esi
- movl %esi, windowbestlen(%esp)
- movzwl -1(%edi,%eax), %ebx
- movl dsPrev(%edx), %edi
- movl %ebx, scanend(%esp)
- movl chainlenwmask(%esp), %edx
- jmp LookupLoop
-
-/* Accept the current string, with the maximum possible length. */
-
-LenMaximum: movl deflatestate(%esp), %edx
- movl $MAX_MATCH, bestlen(%esp)
- movl %ecx, dsMatchStart(%edx)
-
-/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
-/* return s->lookahead; */
-
-LeaveNow:
- movl deflatestate(%esp), %edx
- movl bestlen(%esp), %ebx
- movl dsLookahead(%edx), %eax
- cmpl %eax, %ebx
- jg LookaheadRet
- movl %ebx, %eax
-LookaheadRet:
-
-/* Restore the stack and return from whence we came. */
-
- addl $LocalVarsSize, %esp
- popl %ebx
- popl %esi
- popl %edi
- popl %ebp
-match_init: ret
diff --git a/zlib/contrib/delphi/zlib.mak b/zlib/contrib/delphi/zlib.mak
deleted file mode 100644
index ba557e2b977..00000000000
--- a/zlib/contrib/delphi/zlib.mak
+++ /dev/null
@@ -1,36 +0,0 @@
-# Makefile for zlib32bd.lib
-# ------------- Borland C++ 4.5 -------------
-
-# The (32-bit) zlib32bd.lib made with this makefile is intended for use
-# in making the (32-bit) DLL, png32bd.dll. It uses the "stdcall" calling
-# convention.
-
-CFLAGS= -ps -O2 -C -K -N- -k- -d -3 -r- -w-par -w-aus -WDE
-CC=f:\bc45\bin\bcc32
-LIBFLAGS= /C
-LIB=f:\bc45\bin\tlib
-ZLIB=zlib32bd.lib
-
-.autodepend
-.c.obj:
- $(CC) -c $(CFLAGS) $<
-
-OBJ1=adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj
-OBJ2=infcodes.obj inflate.obj inftrees.obj infutil.obj inffast.obj
-OBJ3=trees.obj uncompr.obj zutil.obj
-pOBJ1=+adler32.obj+compress.obj+crc32.obj+deflate.obj+gzio.obj+infblock.obj
-pOBJ2=+infcodes.obj+inflate.obj+inftrees.obj+infutil.obj+inffast.obj
-pOBJ3=+trees.obj+uncompr.obj+zutil.obj
-
-all: $(ZLIB)
-
-$(ZLIB): $(OBJ1) $(OBJ2) $(OBJ3)
- @if exist $@ del $@
- $(LIB) @&&|
-$@ $(LIBFLAGS) &
-$(pOBJ1) &
-$(pOBJ2) &
-$(pOBJ3)
-|
-
-# End of makefile for zlib32bd.lib
diff --git a/zlib/contrib/delphi/zlibdef.pas b/zlib/contrib/delphi/zlibdef.pas
deleted file mode 100644
index 4f96b7d2c50..00000000000
--- a/zlib/contrib/delphi/zlibdef.pas
+++ /dev/null
@@ -1,169 +0,0 @@
-unit zlibdef;
-
-interface
-
-uses
- Windows;
-
-const
- ZLIB_VERSION = '1.1.3';
-
-type
- voidpf = Pointer;
- int = Integer;
- uInt = Cardinal;
- pBytef = PChar;
- uLong = Cardinal;
-
- alloc_func = function(opaque: voidpf; items, size: uInt): voidpf;
- stdcall;
- free_func = procedure(opaque, address: voidpf);
- stdcall;
-
- internal_state = Pointer;
-
- z_streamp = ^z_stream;
- z_stream = packed record
- next_in: pBytef; // next input byte
- avail_in: uInt; // number of bytes available at next_in
- total_in: uLong; // total nb of input bytes read so far
-
- next_out: pBytef; // next output byte should be put there
- avail_out: uInt; // remaining free space at next_out
- total_out: uLong; // total nb of bytes output so far
-
- msg: PChar; // last error message, NULL if no error
- state: internal_state; // not visible by applications
-
- zalloc: alloc_func; // used to allocate the internal state
- zfree: free_func; // used to free the internal state
- opaque: voidpf; // private data object passed to zalloc and zfree
-
- data_type: int; // best guess about the data type: ascii or binary
- adler: uLong; // adler32 value of the uncompressed data
- reserved: uLong; // reserved for future use
- end;
-
-const
- Z_NO_FLUSH = 0;
- Z_SYNC_FLUSH = 2;
- Z_FULL_FLUSH = 3;
- Z_FINISH = 4;
-
- Z_OK = 0;
- Z_STREAM_END = 1;
-
- Z_NO_COMPRESSION = 0;
- Z_BEST_SPEED = 1;
- Z_BEST_COMPRESSION = 9;
- Z_DEFAULT_COMPRESSION = -1;
-
- Z_FILTERED = 1;
- Z_HUFFMAN_ONLY = 2;
- Z_DEFAULT_STRATEGY = 0;
-
- Z_BINARY = 0;
- Z_ASCII = 1;
- Z_UNKNOWN = 2;
-
- Z_DEFLATED = 8;
-
- MAX_MEM_LEVEL = 9;
-
-function adler32(adler: uLong; const buf: pBytef; len: uInt): uLong;
- stdcall;
-function crc32(crc: uLong; const buf: pBytef; len: uInt): uLong;
- stdcall;
-function deflate(strm: z_streamp; flush: int): int;
- stdcall;
-function deflateCopy(dest, source: z_streamp): int;
- stdcall;
-function deflateEnd(strm: z_streamp): int;
- stdcall;
-function deflateInit2_(strm: z_streamp; level, method,
- windowBits, memLevel, strategy: int;
- const version: PChar; stream_size: int): int;
- stdcall;
-function deflateInit_(strm: z_streamp; level: int;
- const version: PChar; stream_size: int): int;
- stdcall;
-function deflateParams(strm: z_streamp; level, strategy: int): int;
- stdcall;
-function deflateReset(strm: z_streamp): int;
- stdcall;
-function deflateSetDictionary(strm: z_streamp;
- const dictionary: pBytef;
- dictLength: uInt): int;
- stdcall;
-function inflate(strm: z_streamp; flush: int): int;
- stdcall;
-function inflateEnd(strm: z_streamp): int;
- stdcall;
-function inflateInit2_(strm: z_streamp; windowBits: int;
- const version: PChar; stream_size: int): int;
- stdcall;
-function inflateInit_(strm: z_streamp; const version: PChar;
- stream_size: int): int;
- stdcall;
-function inflateReset(strm: z_streamp): int;
- stdcall;
-function inflateSetDictionary(strm: z_streamp;
- const dictionary: pBytef;
- dictLength: uInt): int;
- stdcall;
-function inflateSync(strm: z_streamp): int;
- stdcall;
-
-function deflateInit(strm: z_streamp; level: int): int;
-function deflateInit2(strm: z_streamp; level, method, windowBits,
- memLevel, strategy: int): int;
-function inflateInit(strm: z_streamp): int;
-function inflateInit2(strm: z_streamp; windowBits: int): int;
-
-implementation
-
-function deflateInit(strm: z_streamp; level: int): int;
-begin
- Result := deflateInit_(strm, level, ZLIB_VERSION, sizeof(z_stream));
-end;
-
-function deflateInit2(strm: z_streamp; level, method, windowBits,
- memLevel, strategy: int): int;
-begin
- Result := deflateInit2_(strm, level, method, windowBits, memLevel,
- strategy, ZLIB_VERSION, sizeof(z_stream));
-end;
-
-function inflateInit(strm: z_streamp): int;
-begin
- Result := inflateInit_(strm, ZLIB_VERSION, sizeof(z_stream));
-end;
-
-function inflateInit2(strm: z_streamp; windowBits: int): int;
-begin
- Result := inflateInit2_(strm, windowBits, ZLIB_VERSION,
- sizeof(z_stream));
-end;
-
-const
- zlibDLL = 'png32bd.dll';
-
-function adler32; external zlibDLL;
-function crc32; external zlibDLL;
-function deflate; external zlibDLL;
-function deflateCopy; external zlibDLL;
-function deflateEnd; external zlibDLL;
-function deflateInit2_; external zlibDLL;
-function deflateInit_; external zlibDLL;
-function deflateParams; external zlibDLL;
-function deflateReset; external zlibDLL;
-function deflateSetDictionary; external zlibDLL;
-function inflate; external zlibDLL;
-function inflateEnd; external zlibDLL;
-function inflateInit2_; external zlibDLL;
-function inflateInit_; external zlibDLL;
-function inflateReset; external zlibDLL;
-function inflateSetDictionary; external zlibDLL;
-function inflateSync; external zlibDLL;
-
-end.
diff --git a/zlib/contrib/delphi2/d_zlib.bpr b/zlib/contrib/delphi2/d_zlib.bpr
deleted file mode 100644
index 78bb254088a..00000000000
--- a/zlib/contrib/delphi2/d_zlib.bpr
+++ /dev/null
@@ -1,224 +0,0 @@
-# ---------------------------------------------------------------------------
-!if !$d(BCB)
-BCB = $(MAKEDIR)\..
-!endif
-
-# ---------------------------------------------------------------------------
-# IDE SECTION
-# ---------------------------------------------------------------------------
-# The following section of the project makefile is managed by the BCB IDE.
-# It is recommended to use the IDE to change any of the values in this
-# section.
-# ---------------------------------------------------------------------------
-
-VERSION = BCB.03
-# ---------------------------------------------------------------------------
-PROJECT = d_zlib.lib
-OBJFILES = d_zlib.obj adler32.obj deflate.obj infblock.obj infcodes.obj inffast.obj \
- inflate.obj inftrees.obj infutil.obj trees.obj
-RESFILES =
-RESDEPEN = $(RESFILES)
-LIBFILES =
-LIBRARIES = VCL35.lib
-SPARELIBS = VCL35.lib
-DEFFILE =
-PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
- dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
- NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
-# ---------------------------------------------------------------------------
-PATHCPP = .;
-PATHASM = .;
-PATHPAS = .;
-PATHRC = .;
-DEBUGLIBPATH = $(BCB)\lib\debug
-RELEASELIBPATH = $(BCB)\lib\release
-# ---------------------------------------------------------------------------
-CFLAG1 = -O2 -Ve -d -k- -vi
-CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl -H=$(BCB)\lib\vcl35.csm
-CFLAG3 = -ff -pr -5
-PFLAGS = -U;$(DEBUGLIBPATH) -I$(BCB)\include;$(BCB)\include\vcl -H -W -$I- -v -JPHN -M
-RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl
-AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn
-LFLAGS =
-IFLAGS = -g -Gn
-# ---------------------------------------------------------------------------
-ALLOBJ = c0w32.obj $(OBJFILES)
-ALLRES = $(RESFILES)
-ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
-# ---------------------------------------------------------------------------
-!!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include
-Item1=$(BCB)\include;$(BCB)\include\vcl
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
- ---------------------------------------------------------------------------
-# MAKE SECTION
-# ---------------------------------------------------------------------------
-# This section of the project file is not used by the BCB IDE. It is for
-# the benefit of building from the command-line using the MAKE utility.
-# ---------------------------------------------------------------------------
-
-.autodepend
-# ---------------------------------------------------------------------------
-!if !$d(BCC32)
-BCC32 = bcc32
-!endif
-
-!if !$d(DCC32)
-DCC32 = dcc32
-!endif
-
-!if !$d(TASM32)
-TASM32 = tasm32
-!endif
-
-!if !$d(LINKER)
-LINKER = TLib
-!endif
-
-!if !$d(BRCC32)
-BRCC32 = brcc32
-!endif
-# ---------------------------------------------------------------------------
-!if $d(PATHCPP)
-.PATH.CPP = $(PATHCPP)
-.PATH.C = $(PATHCPP)
-!endif
-
-!if $d(PATHPAS)
-.PATH.PAS = $(PATHPAS)
-!endif
-
-!if $d(PATHASM)
-.PATH.ASM = $(PATHASM)
-!endif
-
-!if $d(PATHRC)
-.PATH.RC = $(PATHRC)
-!endif
-# ---------------------------------------------------------------------------
-!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include;$(BCB)\include\vcl
-Item1=$(BCB)\include
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
-$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
- $(BCB)\BIN\$(LINKER) @&&!
- $(LFLAGS) $(IFLAGS) +
- $(ALLOBJ), +
- $(PROJECT),, +
- $(ALLLIB), +
- $(DEFFILE), +
- $(ALLRES)
-!
-# ---------------------------------------------------------------------------
-.pas.hpp:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.pas.obj:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.cpp.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.c.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.asm.obj:
- $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
-
-.rc.res:
- $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
-# ---------------------------------------------------------------------------
diff --git a/zlib/contrib/delphi2/d_zlib.cpp b/zlib/contrib/delphi2/d_zlib.cpp
deleted file mode 100644
index f5dea59b762..00000000000
--- a/zlib/contrib/delphi2/d_zlib.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <condefs.h>
-#pragma hdrstop
-//---------------------------------------------------------------------------
-USEUNIT("adler32.c");
-USEUNIT("deflate.c");
-USEUNIT("infblock.c");
-USEUNIT("infcodes.c");
-USEUNIT("inffast.c");
-USEUNIT("inflate.c");
-USEUNIT("inftrees.c");
-USEUNIT("infutil.c");
-USEUNIT("trees.c");
-//---------------------------------------------------------------------------
-#define Library
-
-// To add a file to the library use the Project menu 'Add to Project'.
-
diff --git a/zlib/contrib/delphi2/readme.txt b/zlib/contrib/delphi2/readme.txt
deleted file mode 100644
index cbd31620d87..00000000000
--- a/zlib/contrib/delphi2/readme.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-These are files used to compile zlib under Borland C++ Builder 3.
-
-zlib.bpg is the main project group that can be loaded in the BCB IDE and
-loads all other *.bpr projects
-
-zlib.bpr is a project used to create a static zlib.lib library with C calling
-convention for functions.
-
-zlib32.bpr creates a zlib32.dll dynamic link library with Windows standard
-calling convention.
-
-d_zlib.bpr creates a set of .obj files with register calling convention.
-These files are used by zlib.pas to create a Delphi unit containing zlib.
-The d_zlib.lib file generated isn't useful and can be deleted.
-
-zlib.cpp, zlib32.cpp and d_zlib.cpp are used by the above projects.
-
diff --git a/zlib/contrib/delphi2/zlib.bpg b/zlib/contrib/delphi2/zlib.bpg
deleted file mode 100644
index b6c9acdf8c9..00000000000
--- a/zlib/contrib/delphi2/zlib.bpg
+++ /dev/null
@@ -1,26 +0,0 @@
-#------------------------------------------------------------------------------
-VERSION = BWS.01
-#------------------------------------------------------------------------------
-!ifndef ROOT
-ROOT = $(MAKEDIR)\..
-!endif
-#------------------------------------------------------------------------------
-MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
-DCC = $(ROOT)\bin\dcc32.exe $**
-BRCC = $(ROOT)\bin\brcc32.exe $**
-#------------------------------------------------------------------------------
-PROJECTS = zlib zlib32 d_zlib
-#------------------------------------------------------------------------------
-default: $(PROJECTS)
-#------------------------------------------------------------------------------
-
-zlib: zlib.bpr
- $(MAKE)
-
-zlib32: zlib32.bpr
- $(MAKE)
-
-d_zlib: d_zlib.bpr
- $(MAKE)
-
-
diff --git a/zlib/contrib/delphi2/zlib.bpr b/zlib/contrib/delphi2/zlib.bpr
deleted file mode 100644
index cf3945b2523..00000000000
--- a/zlib/contrib/delphi2/zlib.bpr
+++ /dev/null
@@ -1,225 +0,0 @@
-# ---------------------------------------------------------------------------
-!if !$d(BCB)
-BCB = $(MAKEDIR)\..
-!endif
-
-# ---------------------------------------------------------------------------
-# IDE SECTION
-# ---------------------------------------------------------------------------
-# The following section of the project makefile is managed by the BCB IDE.
-# It is recommended to use the IDE to change any of the values in this
-# section.
-# ---------------------------------------------------------------------------
-
-VERSION = BCB.03
-# ---------------------------------------------------------------------------
-PROJECT = zlib.lib
-OBJFILES = zlib.obj adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj \
- infcodes.obj inffast.obj inflate.obj inftrees.obj infutil.obj trees.obj \
- uncompr.obj zutil.obj
-RESFILES =
-RESDEPEN = $(RESFILES)
-LIBFILES =
-LIBRARIES = VCL35.lib
-SPARELIBS = VCL35.lib
-DEFFILE =
-PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
- dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
- NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
-# ---------------------------------------------------------------------------
-PATHCPP = .;
-PATHASM = .;
-PATHPAS = .;
-PATHRC = .;
-DEBUGLIBPATH = $(BCB)\lib\debug
-RELEASELIBPATH = $(BCB)\lib\release
-# ---------------------------------------------------------------------------
-CFLAG1 = -O2 -Ve -d -k- -vi
-CFLAG2 = -I$(BCB)\include;$(BCB)\include\vcl -H=$(BCB)\lib\vcl35.csm
-CFLAG3 = -ff -5
-PFLAGS = -U;$(DEBUGLIBPATH) -I$(BCB)\include;$(BCB)\include\vcl -H -W -$I- -v -JPHN -M
-RFLAGS = -i$(BCB)\include;$(BCB)\include\vcl
-AFLAGS = /i$(BCB)\include /i$(BCB)\include\vcl /mx /w2 /zn
-LFLAGS =
-IFLAGS = -g -Gn
-# ---------------------------------------------------------------------------
-ALLOBJ = c0w32.obj $(OBJFILES)
-ALLRES = $(RESFILES)
-ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib
-# ---------------------------------------------------------------------------
-!!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include
-Item1=$(BCB)\include;$(BCB)\include\vcl
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
- ---------------------------------------------------------------------------
-# MAKE SECTION
-# ---------------------------------------------------------------------------
-# This section of the project file is not used by the BCB IDE. It is for
-# the benefit of building from the command-line using the MAKE utility.
-# ---------------------------------------------------------------------------
-
-.autodepend
-# ---------------------------------------------------------------------------
-!if !$d(BCC32)
-BCC32 = bcc32
-!endif
-
-!if !$d(DCC32)
-DCC32 = dcc32
-!endif
-
-!if !$d(TASM32)
-TASM32 = tasm32
-!endif
-
-!if !$d(LINKER)
-LINKER = TLib
-!endif
-
-!if !$d(BRCC32)
-BRCC32 = brcc32
-!endif
-# ---------------------------------------------------------------------------
-!if $d(PATHCPP)
-.PATH.CPP = $(PATHCPP)
-.PATH.C = $(PATHCPP)
-!endif
-
-!if $d(PATHPAS)
-.PATH.PAS = $(PATHPAS)
-!endif
-
-!if $d(PATHASM)
-.PATH.ASM = $(PATHASM)
-!endif
-
-!if $d(PATHRC)
-.PATH.RC = $(PATHRC)
-!endif
-# ---------------------------------------------------------------------------
-!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=2
-Item0=$(BCB)\include;$(BCB)\include\vcl
-Item1=$(BCB)\include
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib\obj;$(BCB)\lib
-
-[HistoryLists\hlDebugSourcePath]
-Count=1
-Item0=$(BCB)\source\vcl
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
-$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
- $(BCB)\BIN\$(LINKER) @&&!
- $(LFLAGS) $(IFLAGS) +
- $(ALLOBJ), +
- $(PROJECT),, +
- $(ALLLIB), +
- $(DEFFILE), +
- $(ALLRES)
-!
-# ---------------------------------------------------------------------------
-.pas.hpp:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.pas.obj:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.cpp.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.c.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.asm.obj:
- $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
-
-.rc.res:
- $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
-# ---------------------------------------------------------------------------
diff --git a/zlib/contrib/delphi2/zlib.cpp b/zlib/contrib/delphi2/zlib.cpp
deleted file mode 100644
index bf6953ba198..00000000000
--- a/zlib/contrib/delphi2/zlib.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <condefs.h>
-#pragma hdrstop
-//---------------------------------------------------------------------------
-USEUNIT("adler32.c");
-USEUNIT("compress.c");
-USEUNIT("crc32.c");
-USEUNIT("deflate.c");
-USEUNIT("gzio.c");
-USEUNIT("infblock.c");
-USEUNIT("infcodes.c");
-USEUNIT("inffast.c");
-USEUNIT("inflate.c");
-USEUNIT("inftrees.c");
-USEUNIT("infutil.c");
-USEUNIT("trees.c");
-USEUNIT("uncompr.c");
-USEUNIT("zutil.c");
-//---------------------------------------------------------------------------
-#define Library
-
-// To add a file to the library use the Project menu 'Add to Project'.
-
diff --git a/zlib/contrib/delphi2/zlib.pas b/zlib/contrib/delphi2/zlib.pas
deleted file mode 100644
index 10ae4cae256..00000000000
--- a/zlib/contrib/delphi2/zlib.pas
+++ /dev/null
@@ -1,534 +0,0 @@
-{*******************************************************}
-{ }
-{ Delphi Supplemental Components }
-{ ZLIB Data Compression Interface Unit }
-{ }
-{ Copyright (c) 1997 Borland International }
-{ }
-{*******************************************************}
-
-{ Modified for zlib 1.1.3 by Davide Moretti <dave@rimini.com }
-
-unit zlib;
-
-interface
-
-uses Sysutils, Classes;
-
-type
- TAlloc = function (AppData: Pointer; Items, Size: Integer): Pointer;
- TFree = procedure (AppData, Block: Pointer);
-
- // Internal structure. Ignore.
- TZStreamRec = packed record
- next_in: PChar; // next input byte
- avail_in: Integer; // number of bytes available at next_in
- total_in: Integer; // total nb of input bytes read so far
-
- next_out: PChar; // next output byte should be put here
- avail_out: Integer; // remaining free space at next_out
- total_out: Integer; // total nb of bytes output so far
-
- msg: PChar; // last error message, NULL if no error
- internal: Pointer; // not visible by applications
-
- zalloc: TAlloc; // used to allocate the internal state
- zfree: TFree; // used to free the internal state
- AppData: Pointer; // private data object passed to zalloc and zfree
-
- data_type: Integer; // best guess about the data type: ascii or binary
- adler: Integer; // adler32 value of the uncompressed data
- reserved: Integer; // reserved for future use
- end;
-
- // Abstract ancestor class
- TCustomZlibStream = class(TStream)
- private
- FStrm: TStream;
- FStrmPos: Integer;
- FOnProgress: TNotifyEvent;
- FZRec: TZStreamRec;
- FBuffer: array [Word] of Char;
- protected
- procedure Progress(Sender: TObject); dynamic;
- property OnProgress: TNotifyEvent read FOnProgress write FOnProgress;
- constructor Create(Strm: TStream);
- end;
-
-{ TCompressionStream compresses data on the fly as data is written to it, and
- stores the compressed data to another stream.
-
- TCompressionStream is write-only and strictly sequential. Reading from the
- stream will raise an exception. Using Seek to move the stream pointer
- will raise an exception.
-
- Output data is cached internally, written to the output stream only when
- the internal output buffer is full. All pending output data is flushed
- when the stream is destroyed.
-
- The Position property returns the number of uncompressed bytes of
- data that have been written to the stream so far.
-
- CompressionRate returns the on-the-fly percentage by which the original
- data has been compressed: (1 - (CompressedBytes / UncompressedBytes)) * 100
- If raw data size = 100 and compressed data size = 25, the CompressionRate
- is 75%
-
- The OnProgress event is called each time the output buffer is filled and
- written to the output stream. This is useful for updating a progress
- indicator when you are writing a large chunk of data to the compression
- stream in a single call.}
-
-
- TCompressionLevel = (clNone, clFastest, clDefault, clMax);
-
- TCompressionStream = class(TCustomZlibStream)
- private
- function GetCompressionRate: Single;
- public
- constructor Create(CompressionLevel: TCompressionLevel; Dest: TStream);
- destructor Destroy; override;
- function Read(var Buffer; Count: Longint): Longint; override;
- function Write(const Buffer; Count: Longint): Longint; override;
- function Seek(Offset: Longint; Origin: Word): Longint; override;
- property CompressionRate: Single read GetCompressionRate;
- property OnProgress;
- end;
-
-{ TDecompressionStream decompresses data on the fly as data is read from it.
-
- Compressed data comes from a separate source stream. TDecompressionStream
- is read-only and unidirectional; you can seek forward in the stream, but not
- backwards. The special case of setting the stream position to zero is
- allowed. Seeking forward decompresses data until the requested position in
- the uncompressed data has been reached. Seeking backwards, seeking relative
- to the end of the stream, requesting the size of the stream, and writing to
- the stream will raise an exception.
-
- The Position property returns the number of bytes of uncompressed data that
- have been read from the stream so far.
-
- The OnProgress event is called each time the internal input buffer of
- compressed data is exhausted and the next block is read from the input stream.
- This is useful for updating a progress indicator when you are reading a
- large chunk of data from the decompression stream in a single call.}
-
- TDecompressionStream = class(TCustomZlibStream)
- public
- constructor Create(Source: TStream);
- destructor Destroy; override;
- function Read(var Buffer; Count: Longint): Longint; override;
- function Write(const Buffer; Count: Longint): Longint; override;
- function Seek(Offset: Longint; Origin: Word): Longint; override;
- property OnProgress;
- end;
-
-
-
-{ CompressBuf compresses data, buffer to buffer, in one call.
- In: InBuf = ptr to compressed data
- InBytes = number of bytes in InBuf
- Out: OutBuf = ptr to newly allocated buffer containing decompressed data
- OutBytes = number of bytes in OutBuf }
-procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
- out OutBuf: Pointer; out OutBytes: Integer);
-
-
-{ DecompressBuf decompresses data, buffer to buffer, in one call.
- In: InBuf = ptr to compressed data
- InBytes = number of bytes in InBuf
- OutEstimate = zero, or est. size of the decompressed data
- Out: OutBuf = ptr to newly allocated buffer containing decompressed data
- OutBytes = number of bytes in OutBuf }
-procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
- OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);
-
-const
- zlib_version = '1.1.3';
-
-type
- EZlibError = class(Exception);
- ECompressionError = class(EZlibError);
- EDecompressionError = class(EZlibError);
-
-function adler32(adler: Integer; buf: PChar; len: Integer): Integer;
-
-implementation
-
-const
- Z_NO_FLUSH = 0;
- Z_PARTIAL_FLUSH = 1;
- Z_SYNC_FLUSH = 2;
- Z_FULL_FLUSH = 3;
- Z_FINISH = 4;
-
- Z_OK = 0;
- Z_STREAM_END = 1;
- Z_NEED_DICT = 2;
- Z_ERRNO = (-1);
- Z_STREAM_ERROR = (-2);
- Z_DATA_ERROR = (-3);
- Z_MEM_ERROR = (-4);
- Z_BUF_ERROR = (-5);
- Z_VERSION_ERROR = (-6);
-
- Z_NO_COMPRESSION = 0;
- Z_BEST_SPEED = 1;
- Z_BEST_COMPRESSION = 9;
- Z_DEFAULT_COMPRESSION = (-1);
-
- Z_FILTERED = 1;
- Z_HUFFMAN_ONLY = 2;
- Z_DEFAULT_STRATEGY = 0;
-
- Z_BINARY = 0;
- Z_ASCII = 1;
- Z_UNKNOWN = 2;
-
- Z_DEFLATED = 8;
-
- _z_errmsg: array[0..9] of PChar = (
- 'need dictionary', // Z_NEED_DICT (2)
- 'stream end', // Z_STREAM_END (1)
- '', // Z_OK (0)
- 'file error', // Z_ERRNO (-1)
- 'stream error', // Z_STREAM_ERROR (-2)
- 'data error', // Z_DATA_ERROR (-3)
- 'insufficient memory', // Z_MEM_ERROR (-4)
- 'buffer error', // Z_BUF_ERROR (-5)
- 'incompatible version', // Z_VERSION_ERROR (-6)
- ''
- );
-
-{$L deflate.obj}
-{$L inflate.obj}
-{$L inftrees.obj}
-{$L trees.obj}
-{$L adler32.obj}
-{$L infblock.obj}
-{$L infcodes.obj}
-{$L infutil.obj}
-{$L inffast.obj}
-
-procedure _tr_init; external;
-procedure _tr_tally; external;
-procedure _tr_flush_block; external;
-procedure _tr_align; external;
-procedure _tr_stored_block; external;
-function adler32; external;
-procedure inflate_blocks_new; external;
-procedure inflate_blocks; external;
-procedure inflate_blocks_reset; external;
-procedure inflate_blocks_free; external;
-procedure inflate_set_dictionary; external;
-procedure inflate_trees_bits; external;
-procedure inflate_trees_dynamic; external;
-procedure inflate_trees_fixed; external;
-procedure inflate_codes_new; external;
-procedure inflate_codes; external;
-procedure inflate_codes_free; external;
-procedure _inflate_mask; external;
-procedure inflate_flush; external;
-procedure inflate_fast; external;
-
-procedure _memset(P: Pointer; B: Byte; count: Integer);cdecl;
-begin
- FillChar(P^, count, B);
-end;
-
-procedure _memcpy(dest, source: Pointer; count: Integer);cdecl;
-begin
- Move(source^, dest^, count);
-end;
-
-
-
-// deflate compresses data
-function deflateInit_(var strm: TZStreamRec; level: Integer; version: PChar;
- recsize: Integer): Integer; external;
-function deflate(var strm: TZStreamRec; flush: Integer): Integer; external;
-function deflateEnd(var strm: TZStreamRec): Integer; external;
-
-// inflate decompresses data
-function inflateInit_(var strm: TZStreamRec; version: PChar;
- recsize: Integer): Integer; external;
-function inflate(var strm: TZStreamRec; flush: Integer): Integer; external;
-function inflateEnd(var strm: TZStreamRec): Integer; external;
-function inflateReset(var strm: TZStreamRec): Integer; external;
-
-
-function zcalloc(AppData: Pointer; Items, Size: Integer): Pointer;
-begin
- GetMem(Result, Items*Size);
-end;
-
-procedure zcfree(AppData, Block: Pointer);
-begin
- FreeMem(Block);
-end;
-
-function zlibCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise EZlibError.Create('error'); //!!
-end;
-
-function CCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise ECompressionError.Create('error'); //!!
-end;
-
-function DCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise EDecompressionError.Create('error'); //!!
-end;
-
-procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
- out OutBuf: Pointer; out OutBytes: Integer);
-var
- strm: TZStreamRec;
- P: Pointer;
-begin
- FillChar(strm, sizeof(strm), 0);
- OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255;
- GetMem(OutBuf, OutBytes);
- try
- strm.next_in := InBuf;
- strm.avail_in := InBytes;
- strm.next_out := OutBuf;
- strm.avail_out := OutBytes;
- CCheck(deflateInit_(strm, Z_BEST_COMPRESSION, zlib_version, sizeof(strm)));
- try
- while CCheck(deflate(strm, Z_FINISH)) <> Z_STREAM_END do
- begin
- P := OutBuf;
- Inc(OutBytes, 256);
- ReallocMem(OutBuf, OutBytes);
- strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
- strm.avail_out := 256;
- end;
- finally
- CCheck(deflateEnd(strm));
- end;
- ReallocMem(OutBuf, strm.total_out);
- OutBytes := strm.total_out;
- except
- FreeMem(OutBuf);
- raise
- end;
-end;
-
-
-procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
- OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);
-var
- strm: TZStreamRec;
- P: Pointer;
- BufInc: Integer;
-begin
- FillChar(strm, sizeof(strm), 0);
- BufInc := (InBytes + 255) and not 255;
- if OutEstimate = 0 then
- OutBytes := BufInc
- else
- OutBytes := OutEstimate;
- GetMem(OutBuf, OutBytes);
- try
- strm.next_in := InBuf;
- strm.avail_in := InBytes;
- strm.next_out := OutBuf;
- strm.avail_out := OutBytes;
- DCheck(inflateInit_(strm, zlib_version, sizeof(strm)));
- try
- while DCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END do
- begin
- P := OutBuf;
- Inc(OutBytes, BufInc);
- ReallocMem(OutBuf, OutBytes);
- strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
- strm.avail_out := BufInc;
- end;
- finally
- DCheck(inflateEnd(strm));
- end;
- ReallocMem(OutBuf, strm.total_out);
- OutBytes := strm.total_out;
- except
- FreeMem(OutBuf);
- raise
- end;
-end;
-
-
-// TCustomZlibStream
-
-constructor TCustomZLibStream.Create(Strm: TStream);
-begin
- inherited Create;
- FStrm := Strm;
- FStrmPos := Strm.Position;
-end;
-
-procedure TCustomZLibStream.Progress(Sender: TObject);
-begin
- if Assigned(FOnProgress) then FOnProgress(Sender);
-end;
-
-
-// TCompressionStream
-
-constructor TCompressionStream.Create(CompressionLevel: TCompressionLevel;
- Dest: TStream);
-const
- Levels: array [TCompressionLevel] of ShortInt =
- (Z_NO_COMPRESSION, Z_BEST_SPEED, Z_DEFAULT_COMPRESSION, Z_BEST_COMPRESSION);
-begin
- inherited Create(Dest);
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- CCheck(deflateInit_(FZRec, Levels[CompressionLevel], zlib_version, sizeof(FZRec)));
-end;
-
-destructor TCompressionStream.Destroy;
-begin
- FZRec.next_in := nil;
- FZRec.avail_in := 0;
- try
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (CCheck(deflate(FZRec, Z_FINISH)) <> Z_STREAM_END)
- and (FZRec.avail_out = 0) do
- begin
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- end;
- if FZRec.avail_out < sizeof(FBuffer) then
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer) - FZRec.avail_out);
- finally
- deflateEnd(FZRec);
- end;
- inherited Destroy;
-end;
-
-function TCompressionStream.Read(var Buffer; Count: Longint): Longint;
-begin
- raise ECompressionError.Create('Invalid stream operation');
-end;
-
-function TCompressionStream.Write(const Buffer; Count: Longint): Longint;
-begin
- FZRec.next_in := @Buffer;
- FZRec.avail_in := Count;
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (FZRec.avail_in > 0) do
- begin
- CCheck(deflate(FZRec, 0));
- if FZRec.avail_out = 0 then
- begin
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- FStrmPos := FStrm.Position;
- Progress(Self);
- end;
- end;
- Result := Count;
-end;
-
-function TCompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
-begin
- if (Offset = 0) and (Origin = soFromCurrent) then
- Result := FZRec.total_in
- else
- raise ECompressionError.Create('Invalid stream operation');
-end;
-
-function TCompressionStream.GetCompressionRate: Single;
-begin
- if FZRec.total_in = 0 then
- Result := 0
- else
- Result := (1.0 - (FZRec.total_out / FZRec.total_in)) * 100.0;
-end;
-
-
-// TDecompressionStream
-
-constructor TDecompressionStream.Create(Source: TStream);
-begin
- inherited Create(Source);
- FZRec.next_in := FBuffer;
- FZRec.avail_in := 0;
- DCheck(inflateInit_(FZRec, zlib_version, sizeof(FZRec)));
-end;
-
-destructor TDecompressionStream.Destroy;
-begin
- inflateEnd(FZRec);
- inherited Destroy;
-end;
-
-function TDecompressionStream.Read(var Buffer; Count: Longint): Longint;
-begin
- FZRec.next_out := @Buffer;
- FZRec.avail_out := Count;
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (FZRec.avail_out > 0) do
- begin
- if FZRec.avail_in = 0 then
- begin
- FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer));
- if FZRec.avail_in = 0 then
- begin
- Result := Count - FZRec.avail_out;
- Exit;
- end;
- FZRec.next_in := FBuffer;
- FStrmPos := FStrm.Position;
- Progress(Self);
- end;
- DCheck(inflate(FZRec, 0));
- end;
- Result := Count;
-end;
-
-function TDecompressionStream.Write(const Buffer; Count: Longint): Longint;
-begin
- raise EDecompressionError.Create('Invalid stream operation');
-end;
-
-function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
-var
- I: Integer;
- Buf: array [0..4095] of Char;
-begin
- if (Offset = 0) and (Origin = soFromBeginning) then
- begin
- DCheck(inflateReset(FZRec));
- FZRec.next_in := FBuffer;
- FZRec.avail_in := 0;
- FStrm.Position := 0;
- FStrmPos := 0;
- end
- else if ( (Offset >= 0) and (Origin = soFromCurrent)) or
- ( ((Offset - FZRec.total_out) > 0) and (Origin = soFromBeginning)) then
- begin
- if Origin = soFromBeginning then Dec(Offset, FZRec.total_out);
- if Offset > 0 then
- begin
- for I := 1 to Offset div sizeof(Buf) do
- ReadBuffer(Buf, sizeof(Buf));
- ReadBuffer(Buf, Offset mod sizeof(Buf));
- end;
- end
- else
- raise EDecompressionError.Create('Invalid stream operation');
- Result := FZRec.total_out;
-end;
-
-end.
diff --git a/zlib/contrib/delphi2/zlib32.bpr b/zlib/contrib/delphi2/zlib32.bpr
deleted file mode 100644
index cabcec44947..00000000000
--- a/zlib/contrib/delphi2/zlib32.bpr
+++ /dev/null
@@ -1,174 +0,0 @@
-# ---------------------------------------------------------------------------
-!if !$d(BCB)
-BCB = $(MAKEDIR)\..
-!endif
-
-# ---------------------------------------------------------------------------
-# IDE SECTION
-# ---------------------------------------------------------------------------
-# The following section of the project makefile is managed by the BCB IDE.
-# It is recommended to use the IDE to change any of the values in this
-# section.
-# ---------------------------------------------------------------------------
-
-VERSION = BCB.03
-# ---------------------------------------------------------------------------
-PROJECT = zlib32.dll
-OBJFILES = zlib32.obj adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infblock.obj \
- infcodes.obj inffast.obj inflate.obj inftrees.obj infutil.obj trees.obj \
- uncompr.obj zutil.obj
-RESFILES =
-RESDEPEN = $(RESFILES)
-LIBFILES =
-LIBRARIES =
-SPARELIBS =
-DEFFILE =
-PACKAGES = VCLX35.bpi VCL35.bpi VCLDB35.bpi VCLDBX35.bpi ibsmp35.bpi bcbsmp35.bpi \
- dclocx35.bpi QRPT35.bpi TEEUI35.bpi TEEDB35.bpi TEE35.bpi DSS35.bpi \
- NMFAST35.bpi INETDB35.bpi INET35.bpi VCLMID35.bpi
-# ---------------------------------------------------------------------------
-PATHCPP = .;
-PATHASM = .;
-PATHPAS = .;
-PATHRC = .;
-DEBUGLIBPATH = $(BCB)\lib\debug
-RELEASELIBPATH = $(BCB)\lib\release
-# ---------------------------------------------------------------------------
-CFLAG1 = -WD -O2 -Ve -d -k- -vi -c -tWD
-CFLAG2 = -D_NO_VCL;ZLIB_DLL -I$(BCB)\include
-CFLAG3 = -ff -5
-PFLAGS = -D_NO_VCL;ZLIB_DLL -U$(BCB)\lib;$(RELEASELIBPATH) -I$(BCB)\include -$I- -v \
- -JPHN -M
-RFLAGS = -D_NO_VCL;ZLIB_DLL -i$(BCB)\include
-AFLAGS = /i$(BCB)\include /d_NO_VCL /dZLIB_DLL /mx /w2 /zn
-LFLAGS = -L$(BCB)\lib;$(RELEASELIBPATH) -aa -Tpd -x -Gi
-IFLAGS = -Gn -g
-# ---------------------------------------------------------------------------
-ALLOBJ = c0d32.obj $(OBJFILES)
-ALLRES = $(RESFILES)
-ALLLIB = $(LIBFILES) import32.lib cw32mt.lib
-# ---------------------------------------------------------------------------
-!ifdef IDEOPTIONS
-
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=1
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=DLL (GUI)
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[HistoryLists\hlIncludePath]
-Count=1
-Item0=$(BCB)\include
-
-[HistoryLists\hlLibraryPath]
-Count=1
-Item0=$(BCB)\lib
-
-[HistoryLists\hlConditionals]
-Count=1
-Item0=_NO_VCL;ZLIB_DLL
-
-[Debugging]
-DebugSourceDirs=
-
-[Parameters]
-RunParams=
-HostApplication=
-
-!endif
-
-# ---------------------------------------------------------------------------
-# MAKE SECTION
-# ---------------------------------------------------------------------------
-# This section of the project file is not used by the BCB IDE. It is for
-# the benefit of building from the command-line using the MAKE utility.
-# ---------------------------------------------------------------------------
-
-.autodepend
-# ---------------------------------------------------------------------------
-!if !$d(BCC32)
-BCC32 = bcc32
-!endif
-
-!if !$d(DCC32)
-DCC32 = dcc32
-!endif
-
-!if !$d(TASM32)
-TASM32 = tasm32
-!endif
-
-!if !$d(LINKER)
-LINKER = ilink32
-!endif
-
-!if !$d(BRCC32)
-BRCC32 = brcc32
-!endif
-# ---------------------------------------------------------------------------
-!if $d(PATHCPP)
-.PATH.CPP = $(PATHCPP)
-.PATH.C = $(PATHCPP)
-!endif
-
-!if $d(PATHPAS)
-.PATH.PAS = $(PATHPAS)
-!endif
-
-!if $d(PATHASM)
-.PATH.ASM = $(PATHASM)
-!endif
-
-!if $d(PATHRC)
-.PATH.RC = $(PATHRC)
-!endif
-# ---------------------------------------------------------------------------
-$(PROJECT): $(OBJFILES) $(RESDEPEN) $(DEFFILE)
- $(BCB)\BIN\$(LINKER) @&&!
- $(LFLAGS) $(IFLAGS) +
- $(ALLOBJ), +
- $(PROJECT),, +
- $(ALLLIB), +
- $(DEFFILE), +
- $(ALLRES)
-!
-# ---------------------------------------------------------------------------
-.pas.hpp:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.pas.obj:
- $(BCB)\BIN\$(DCC32) $(PFLAGS) {$< }
-
-.cpp.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.c.obj:
- $(BCB)\BIN\$(BCC32) $(CFLAG1) $(CFLAG2) $(CFLAG3) -n$(@D) {$< }
-
-.asm.obj:
- $(BCB)\BIN\$(TASM32) $(AFLAGS) $<, $@
-
-.rc.res:
- $(BCB)\BIN\$(BRCC32) $(RFLAGS) -fo$@ $<
-# ---------------------------------------------------------------------------
diff --git a/zlib/contrib/delphi2/zlib32.cpp b/zlib/contrib/delphi2/zlib32.cpp
deleted file mode 100644
index 7372f6b985f..00000000000
--- a/zlib/contrib/delphi2/zlib32.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#include <windows.h>
-#pragma hdrstop
-#include <condefs.h>
-
-
-//---------------------------------------------------------------------------
-// Important note about DLL memory management in a VCL DLL:
-//
-//
-//
-// If your DLL uses VCL and exports any functions that pass VCL String objects
-// (or structs/classes containing nested Strings) as parameter or function
-// results, you will need to build both your DLL project and any EXE projects
-// that use your DLL with the dynamic RTL (the RTL DLL). This will change your
-// DLL and its calling EXE's to use BORLNDMM.DLL as their memory manager. In
-// these cases, the file BORLNDMM.DLL should be deployed along with your DLL
-// and the RTL DLL (CP3240MT.DLL). To avoid the requiring BORLNDMM.DLL in
-// these situations, pass string information using "char *" or ShortString
-// parameters and then link with the static RTL.
-//
-//---------------------------------------------------------------------------
-USEUNIT("adler32.c");
-USEUNIT("compress.c");
-USEUNIT("crc32.c");
-USEUNIT("deflate.c");
-USEUNIT("gzio.c");
-USEUNIT("infblock.c");
-USEUNIT("infcodes.c");
-USEUNIT("inffast.c");
-USEUNIT("inflate.c");
-USEUNIT("inftrees.c");
-USEUNIT("infutil.c");
-USEUNIT("trees.c");
-USEUNIT("uncompr.c");
-USEUNIT("zutil.c");
-//---------------------------------------------------------------------------
-#pragma argsused
-int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
-{
- return 1;
-}
diff --git a/zlib/contrib/iostream/test.cpp b/zlib/contrib/iostream/test.cpp
deleted file mode 100644
index 7d265b3b5c0..00000000000
--- a/zlib/contrib/iostream/test.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#include "zfstream.h"
-
-int main() {
-
- // Construct a stream object with this filebuffer. Anything sent
- // to this stream will go to standard out.
- gzofstream os( 1, ios::out );
-
- // This text is getting compressed and sent to stdout.
- // To prove this, run 'test | zcat'.
- os << "Hello, Mommy" << endl;
-
- os << setcompressionlevel( Z_NO_COMPRESSION );
- os << "hello, hello, hi, ho!" << endl;
-
- setcompressionlevel( os, Z_DEFAULT_COMPRESSION )
- << "I'm compressing again" << endl;
-
- os.close();
-
- return 0;
-
-}
diff --git a/zlib/contrib/iostream/zfstream.cpp b/zlib/contrib/iostream/zfstream.cpp
deleted file mode 100644
index a690bbefceb..00000000000
--- a/zlib/contrib/iostream/zfstream.cpp
+++ /dev/null
@@ -1,329 +0,0 @@
-
-#include <memory.h>
-#include "zfstream.h"
-
-gzfilebuf::gzfilebuf() :
- file(NULL),
- mode(0),
- own_file_descriptor(0)
-{ }
-
-gzfilebuf::~gzfilebuf() {
-
- sync();
- if ( own_file_descriptor )
- close();
-
-}
-
-gzfilebuf *gzfilebuf::open( const char *name,
- int io_mode ) {
-
- if ( is_open() )
- return NULL;
-
- char char_mode[10];
- char *p;
- memset(char_mode,'\0',10);
- p = char_mode;
-
- if ( io_mode & ios::in ) {
- mode = ios::in;
- *p++ = 'r';
- } else if ( io_mode & ios::app ) {
- mode = ios::app;
- *p++ = 'a';
- } else {
- mode = ios::out;
- *p++ = 'w';
- }
-
- if ( io_mode & ios::binary ) {
- mode |= ios::binary;
- *p++ = 'b';
- }
-
- // Hard code the compression level
- if ( io_mode & (ios::out|ios::app )) {
- *p++ = '9';
- }
-
- if ( (file = gzopen(name, char_mode)) == NULL )
- return NULL;
-
- own_file_descriptor = 1;
-
- return this;
-
-}
-
-gzfilebuf *gzfilebuf::attach( int file_descriptor,
- int io_mode ) {
-
- if ( is_open() )
- return NULL;
-
- char char_mode[10];
- char *p;
- memset(char_mode,'\0',10);
- p = char_mode;
-
- if ( io_mode & ios::in ) {
- mode = ios::in;
- *p++ = 'r';
- } else if ( io_mode & ios::app ) {
- mode = ios::app;
- *p++ = 'a';
- } else {
- mode = ios::out;
- *p++ = 'w';
- }
-
- if ( io_mode & ios::binary ) {
- mode |= ios::binary;
- *p++ = 'b';
- }
-
- // Hard code the compression level
- if ( io_mode & (ios::out|ios::app )) {
- *p++ = '9';
- }
-
- if ( (file = gzdopen(file_descriptor, char_mode)) == NULL )
- return NULL;
-
- own_file_descriptor = 0;
-
- return this;
-
-}
-
-gzfilebuf *gzfilebuf::close() {
-
- if ( is_open() ) {
-
- sync();
- gzclose( file );
- file = NULL;
-
- }
-
- return this;
-
-}
-
-int gzfilebuf::setcompressionlevel( short comp_level ) {
-
- return gzsetparams(file, comp_level, -2);
-
-}
-
-int gzfilebuf::setcompressionstrategy( short comp_strategy ) {
-
- return gzsetparams(file, -2, comp_strategy);
-
-}
-
-
-streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int which ) {
-
- return streampos(EOF);
-
-}
-
-int gzfilebuf::underflow() {
-
- // If the file hasn't been opened for reading, error.
- if ( !is_open() || !(mode & ios::in) )
- return EOF;
-
- // if a buffer doesn't exists, allocate one.
- if ( !base() ) {
-
- if ( (allocate()) == EOF )
- return EOF;
- setp(0,0);
-
- } else {
-
- if ( in_avail() )
- return (unsigned char) *gptr();
-
- if ( out_waiting() ) {
- if ( flushbuf() == EOF )
- return EOF;
- }
-
- }
-
- // Attempt to fill the buffer.
-
- int result = fillbuf();
- if ( result == EOF ) {
- // disable get area
- setg(0,0,0);
- return EOF;
- }
-
- return (unsigned char) *gptr();
-
-}
-
-int gzfilebuf::overflow( int c ) {
-
- if ( !is_open() || !(mode & ios::out) )
- return EOF;
-
- if ( !base() ) {
- if ( allocate() == EOF )
- return EOF;
- setg(0,0,0);
- } else {
- if (in_avail()) {
- return EOF;
- }
- if (out_waiting()) {
- if (flushbuf() == EOF)
- return EOF;
- }
- }
-
- int bl = blen();
- setp( base(), base() + bl);
-
- if ( c != EOF ) {
-
- *pptr() = c;
- pbump(1);
-
- }
-
- return 0;
-
-}
-
-int gzfilebuf::sync() {
-
- if ( !is_open() )
- return EOF;
-
- if ( out_waiting() )
- return flushbuf();
-
- return 0;
-
-}
-
-int gzfilebuf::flushbuf() {
-
- int n;
- char *q;
-
- q = pbase();
- n = pptr() - q;
-
- if ( gzwrite( file, q, n) < n )
- return EOF;
-
- setp(0,0);
-
- return 0;
-
-}
-
-int gzfilebuf::fillbuf() {
-
- int required;
- char *p;
-
- p = base();
-
- required = blen();
-
- int t = gzread( file, p, required );
-
- if ( t <= 0) return EOF;
-
- setg( base(), base(), base()+t);
-
- return t;
-
-}
-
-gzfilestream_common::gzfilestream_common() :
- ios( gzfilestream_common::rdbuf() )
-{ }
-
-gzfilestream_common::~gzfilestream_common()
-{ }
-
-void gzfilestream_common::attach( int fd, int io_mode ) {
-
- if ( !buffer.attach( fd, io_mode) )
- clear( ios::failbit | ios::badbit );
- else
- clear();
-
-}
-
-void gzfilestream_common::open( const char *name, int io_mode ) {
-
- if ( !buffer.open( name, io_mode ) )
- clear( ios::failbit | ios::badbit );
- else
- clear();
-
-}
-
-void gzfilestream_common::close() {
-
- if ( !buffer.close() )
- clear( ios::failbit | ios::badbit );
-
-}
-
-gzfilebuf *gzfilestream_common::rdbuf() {
-
- return &buffer;
-
-}
-
-gzifstream::gzifstream() :
- ios( gzfilestream_common::rdbuf() )
-{
- clear( ios::badbit );
-}
-
-gzifstream::gzifstream( const char *name, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::open( name, io_mode );
-}
-
-gzifstream::gzifstream( int fd, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::attach( fd, io_mode );
-}
-
-gzifstream::~gzifstream() { }
-
-gzofstream::gzofstream() :
- ios( gzfilestream_common::rdbuf() )
-{
- clear( ios::badbit );
-}
-
-gzofstream::gzofstream( const char *name, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::open( name, io_mode );
-}
-
-gzofstream::gzofstream( int fd, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::attach( fd, io_mode );
-}
-
-gzofstream::~gzofstream() { }
diff --git a/zlib/contrib/iostream/zfstream.h b/zlib/contrib/iostream/zfstream.h
deleted file mode 100644
index c87fa08e9d1..00000000000
--- a/zlib/contrib/iostream/zfstream.h
+++ /dev/null
@@ -1,142 +0,0 @@
-
-#ifndef _zfstream_h
-#define _zfstream_h
-
-#include <fstream.h>
-#include "zlib.h"
-
-class gzfilebuf : public streambuf {
-
-public:
-
- gzfilebuf( );
- virtual ~gzfilebuf();
-
- gzfilebuf *open( const char *name, int io_mode );
- gzfilebuf *attach( int file_descriptor, int io_mode );
- gzfilebuf *close();
-
- int setcompressionlevel( short comp_level );
- int setcompressionstrategy( short comp_strategy );
-
- inline int is_open() const { return (file !=NULL); }
-
- virtual streampos seekoff( streamoff, ios::seek_dir, int );
-
- virtual int sync();
-
-protected:
-
- virtual int underflow();
- virtual int overflow( int = EOF );
-
-private:
-
- gzFile file;
- short mode;
- short own_file_descriptor;
-
- int flushbuf();
- int fillbuf();
-
-};
-
-class gzfilestream_common : virtual public ios {
-
- friend class gzifstream;
- friend class gzofstream;
- friend gzofstream &setcompressionlevel( gzofstream &, int );
- friend gzofstream &setcompressionstrategy( gzofstream &, int );
-
-public:
- virtual ~gzfilestream_common();
-
- void attach( int fd, int io_mode );
- void open( const char *name, int io_mode );
- void close();
-
-protected:
- gzfilestream_common();
-
-private:
- gzfilebuf *rdbuf();
-
- gzfilebuf buffer;
-
-};
-
-class gzifstream : public gzfilestream_common, public istream {
-
-public:
-
- gzifstream();
- gzifstream( const char *name, int io_mode = ios::in );
- gzifstream( int fd, int io_mode = ios::in );
-
- virtual ~gzifstream();
-
-};
-
-class gzofstream : public gzfilestream_common, public ostream {
-
-public:
-
- gzofstream();
- gzofstream( const char *name, int io_mode = ios::out );
- gzofstream( int fd, int io_mode = ios::out );
-
- virtual ~gzofstream();
-
-};
-
-template<class T> class gzomanip {
- friend gzofstream &operator<<(gzofstream &, const gzomanip<T> &);
-public:
- gzomanip(gzofstream &(*f)(gzofstream &, T), T v) : func(f), val(v) { }
-private:
- gzofstream &(*func)(gzofstream &, T);
- T val;
-};
-
-template<class T> gzofstream &operator<<(gzofstream &s,
- const gzomanip<T> &m) {
- return (*m.func)(s, m.val);
-
-}
-
-inline gzofstream &setcompressionlevel( gzofstream &s, int l ) {
- (s.rdbuf())->setcompressionlevel(l);
- return s;
-}
-
-inline gzofstream &setcompressionstrategy( gzofstream &s, int l ) {
- (s.rdbuf())->setcompressionstrategy(l);
- return s;
-}
-
-inline gzomanip<int> setcompressionlevel(int l)
-{
- return gzomanip<int>(&setcompressionlevel,l);
-}
-
-inline gzomanip<int> setcompressionstrategy(int l)
-{
- return gzomanip<int>(&setcompressionstrategy,l);
-}
-
-#endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/zlib/contrib/iostream2/zstream.h b/zlib/contrib/iostream2/zstream.h
deleted file mode 100644
index 43d2332b79b..00000000000
--- a/zlib/contrib/iostream2/zstream.h
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- *
- * Copyright (c) 1997
- * Christian Michelsen Research AS
- * Advanced Computing
- * Fantoftvegen 38, 5036 BERGEN, Norway
- * http://www.cmr.no
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Christian Michelsen Research AS makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef ZSTREAM__H
-#define ZSTREAM__H
-
-/*
- * zstream.h - C++ interface to the 'zlib' general purpose compression library
- * $Id: zstream.h 1.1 1997-06-25 12:00:56+02 tyge Exp tyge $
- */
-
-#include <strstream.h>
-#include <string.h>
-#include <stdio.h>
-#include "zlib.h"
-
-#if defined(_WIN32)
-# include <fcntl.h>
-# include <io.h>
-# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
-#else
-# define SET_BINARY_MODE(file)
-#endif
-
-class zstringlen {
-public:
- zstringlen(class izstream&);
- zstringlen(class ozstream&, const char*);
- size_t value() const { return val.word; }
-private:
- struct Val { unsigned char byte; size_t word; } val;
-};
-
-// ----------------------------- izstream -----------------------------
-
-class izstream
-{
- public:
- izstream() : m_fp(0) {}
- izstream(FILE* fp) : m_fp(0) { open(fp); }
- izstream(const char* name) : m_fp(0) { open(name); }
- ~izstream() { close(); }
-
- /* Opens a gzip (.gz) file for reading.
- * open() can be used to read a file which is not in gzip format;
- * in this case read() will directly read from the file without
- * decompression. errno can be checked to distinguish two error
- * cases (if errno is zero, the zlib error is Z_MEM_ERROR).
- */
- void open(const char* name) {
- if (m_fp) close();
- m_fp = ::gzopen(name, "rb");
- }
-
- void open(FILE* fp) {
- SET_BINARY_MODE(fp);
- if (m_fp) close();
- m_fp = ::gzdopen(fileno(fp), "rb");
- }
-
- /* Flushes all pending input if necessary, closes the compressed file
- * and deallocates all the (de)compression state. The return value is
- * the zlib error number (see function error() below).
- */
- int close() {
- int r = ::gzclose(m_fp);
- m_fp = 0; return r;
- }
-
- /* Binary read the given number of bytes from the compressed file.
- */
- int read(void* buf, size_t len) {
- return ::gzread(m_fp, buf, len);
- }
-
- /* Returns the error message for the last error which occurred on the
- * given compressed file. errnum is set to zlib error number. If an
- * error occurred in the file system and not in the compression library,
- * errnum is set to Z_ERRNO and the application may consult errno
- * to get the exact error code.
- */
- const char* error(int* errnum) {
- return ::gzerror(m_fp, errnum);
- }
-
- gzFile fp() { return m_fp; }
-
- private:
- gzFile m_fp;
-};
-
-/*
- * Binary read the given (array of) object(s) from the compressed file.
- * If the input file was not in gzip format, read() copies the objects number
- * of bytes into the buffer.
- * returns the number of uncompressed bytes actually read
- * (0 for end of file, -1 for error).
- */
-template <class T, class Items>
-inline int read(izstream& zs, T* x, Items items) {
- return ::gzread(zs.fp(), x, items*sizeof(T));
-}
-
-/*
- * Binary input with the '>' operator.
- */
-template <class T>
-inline izstream& operator>(izstream& zs, T& x) {
- ::gzread(zs.fp(), &x, sizeof(T));
- return zs;
-}
-
-
-inline zstringlen::zstringlen(izstream& zs) {
- zs > val.byte;
- if (val.byte == 255) zs > val.word;
- else val.word = val.byte;
-}
-
-/*
- * Read length of string + the string with the '>' operator.
- */
-inline izstream& operator>(izstream& zs, char* x) {
- zstringlen len(zs);
- ::gzread(zs.fp(), x, len.value());
- x[len.value()] = '\0';
- return zs;
-}
-
-inline char* read_string(izstream& zs) {
- zstringlen len(zs);
- char* x = new char[len.value()+1];
- ::gzread(zs.fp(), x, len.value());
- x[len.value()] = '\0';
- return x;
-}
-
-// ----------------------------- ozstream -----------------------------
-
-class ozstream
-{
- public:
- ozstream() : m_fp(0), m_os(0) {
- }
- ozstream(FILE* fp, int level = Z_DEFAULT_COMPRESSION)
- : m_fp(0), m_os(0) {
- open(fp, level);
- }
- ozstream(const char* name, int level = Z_DEFAULT_COMPRESSION)
- : m_fp(0), m_os(0) {
- open(name, level);
- }
- ~ozstream() {
- close();
- }
-
- /* Opens a gzip (.gz) file for writing.
- * The compression level parameter should be in 0..9
- * errno can be checked to distinguish two error cases
- * (if errno is zero, the zlib error is Z_MEM_ERROR).
- */
- void open(const char* name, int level = Z_DEFAULT_COMPRESSION) {
- char mode[4] = "wb\0";
- if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level;
- if (m_fp) close();
- m_fp = ::gzopen(name, mode);
- }
-
- /* open from a FILE pointer.
- */
- void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION) {
- SET_BINARY_MODE(fp);
- char mode[4] = "wb\0";
- if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level;
- if (m_fp) close();
- m_fp = ::gzdopen(fileno(fp), mode);
- }
-
- /* Flushes all pending output if necessary, closes the compressed file
- * and deallocates all the (de)compression state. The return value is
- * the zlib error number (see function error() below).
- */
- int close() {
- if (m_os) {
- ::gzwrite(m_fp, m_os->str(), m_os->pcount());
- delete[] m_os->str(); delete m_os; m_os = 0;
- }
- int r = ::gzclose(m_fp); m_fp = 0; return r;
- }
-
- /* Binary write the given number of bytes into the compressed file.
- */
- int write(const void* buf, size_t len) {
- return ::gzwrite(m_fp, (voidp) buf, len);
- }
-
- /* Flushes all pending output into the compressed file. The parameter
- * _flush is as in the deflate() function. The return value is the zlib
- * error number (see function gzerror below). flush() returns Z_OK if
- * the flush_ parameter is Z_FINISH and all output could be flushed.
- * flush() should be called only when strictly necessary because it can
- * degrade compression.
- */
- int flush(int _flush) {
- os_flush();
- return ::gzflush(m_fp, _flush);
- }
-
- /* Returns the error message for the last error which occurred on the
- * given compressed file. errnum is set to zlib error number. If an
- * error occurred in the file system and not in the compression library,
- * errnum is set to Z_ERRNO and the application may consult errno
- * to get the exact error code.
- */
- const char* error(int* errnum) {
- return ::gzerror(m_fp, errnum);
- }
-
- gzFile fp() { return m_fp; }
-
- ostream& os() {
- if (m_os == 0) m_os = new ostrstream;
- return *m_os;
- }
-
- void os_flush() {
- if (m_os && m_os->pcount()>0) {
- ostrstream* oss = new ostrstream;
- oss->fill(m_os->fill());
- oss->flags(m_os->flags());
- oss->precision(m_os->precision());
- oss->width(m_os->width());
- ::gzwrite(m_fp, m_os->str(), m_os->pcount());
- delete[] m_os->str(); delete m_os; m_os = oss;
- }
- }
-
- private:
- gzFile m_fp;
- ostrstream* m_os;
-};
-
-/*
- * Binary write the given (array of) object(s) into the compressed file.
- * returns the number of uncompressed bytes actually written
- * (0 in case of error).
- */
-template <class T, class Items>
-inline int write(ozstream& zs, const T* x, Items items) {
- return ::gzwrite(zs.fp(), (voidp) x, items*sizeof(T));
-}
-
-/*
- * Binary output with the '<' operator.
- */
-template <class T>
-inline ozstream& operator<(ozstream& zs, const T& x) {
- ::gzwrite(zs.fp(), (voidp) &x, sizeof(T));
- return zs;
-}
-
-inline zstringlen::zstringlen(ozstream& zs, const char* x) {
- val.byte = 255; val.word = ::strlen(x);
- if (val.word < 255) zs < (val.byte = val.word);
- else zs < val;
-}
-
-/*
- * Write length of string + the string with the '<' operator.
- */
-inline ozstream& operator<(ozstream& zs, const char* x) {
- zstringlen len(zs, x);
- ::gzwrite(zs.fp(), (voidp) x, len.value());
- return zs;
-}
-
-#ifdef _MSC_VER
-inline ozstream& operator<(ozstream& zs, char* const& x) {
- return zs < (const char*) x;
-}
-#endif
-
-/*
- * Ascii write with the << operator;
- */
-template <class T>
-inline ostream& operator<<(ozstream& zs, const T& x) {
- zs.os_flush();
- return zs.os() << x;
-}
-
-#endif
diff --git a/zlib/contrib/iostream2/zstream_test.cpp b/zlib/contrib/iostream2/zstream_test.cpp
deleted file mode 100644
index 5bbd56c3ad8..00000000000
--- a/zlib/contrib/iostream2/zstream_test.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "zstream.h"
-#include <math.h>
-#include <stdlib.h>
-#include <iomanip.h>
-
-void main() {
- char h[256] = "Hello";
- char* g = "Goodbye";
- ozstream out("temp.gz");
- out < "This works well" < h < g;
- out.close();
-
- izstream in("temp.gz"); // read it back
- char *x = read_string(in), *y = new char[256], z[256];
- in > y > z;
- in.close();
- cout << x << endl << y << endl << z << endl;
-
- out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results
- out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl;
- out << z << endl << y << endl << x << endl;
- out << 1.1234567890123456789 << endl;
-
- delete[] x; delete[] y;
-}
diff --git a/zlib/contrib/minizip/ChangeLogUnzip b/zlib/contrib/minizip/ChangeLogUnzip
deleted file mode 100644
index 9987c543cdc..00000000000
--- a/zlib/contrib/minizip/ChangeLogUnzip
+++ /dev/null
@@ -1,38 +0,0 @@
-Change in 0.15: (19 Mar 98)
-- fix memory leak in minizip.c
-
-Change in 0.14: (10 Mar 98)
-- fix bugs in minizip.c sample for zipping big file
-- fix problem in month in date handling
-- fix bug in unzlocal_GetCurrentFileInfoInternal in unzip.c for
- comment handling
-
-Change in 0.13: (6 Mar 98)
-- fix bugs in zip.c
-- add real minizip sample
-
-Change in 0.12: (4 Mar 98)
-- add zip.c and zip.h for creates .zip file
-- fix change_file_date in miniunz.c for Unix (Jean-loup Gailly)
-- fix miniunz.c for file without specific record for directory
-
-Change in 0.11: (3 Mar 98)
-- fix bug in unzGetCurrentFileInfo for get extra field and comment
-- enhance miniunz sample, remove the bad unztst.c sample
-
-Change in 0.10: (2 Mar 98)
-- fix bug in unzReadCurrentFile
-- rename unzip* to unz* function and structure
-- remove Windows-like hungary notation variable name
-- modify some structure in unzip.h
-- add somes comment in source
-- remove unzipGetcCurrentFile function
-- replace ZUNZEXPORT by ZEXPORT
-- add unzGetLocalExtrafield for get the local extrafield info
-- add a new sample, miniunz.c
-
-Change in 0.4: (25 Feb 98)
-- suppress the type unzipFileInZip.
- Only on file in the zipfile can be open at the same time
-- fix somes typo in code
-- added tm_unz structure in unzip_file_info (date/time in readable format)
diff --git a/zlib/contrib/minizip/Makefile b/zlib/contrib/minizip/Makefile
deleted file mode 100644
index a1dfc161437..00000000000
--- a/zlib/contrib/minizip/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-CC=cc
-CFLAGS=-O -I../..
-
-UNZ_OBJS = miniunz.o unzip.o ../../libz.a
-ZIP_OBJS = minizip.o zip.o ../../libz.a
-
-.c.o:
- $(CC) -c $(CFLAGS) $*.c
-
-all: miniunz minizip
-
-miniunz: $(UNZ_OBJS)
- $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)
-
-minizip: $(ZIP_OBJS)
- $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
-
-test: miniunz minizip
- ./minizip test readme.txt
- ./miniunz -l test.zip
- mv readme.txt readme.old
- ./miniunz test.zip
-
-clean:
- /bin/rm -f *.o *~ minizip miniunz
diff --git a/zlib/contrib/minizip/miniunz.c b/zlib/contrib/minizip/miniunz.c
deleted file mode 100644
index f3b7832878f..00000000000
--- a/zlib/contrib/minizip/miniunz.c
+++ /dev/null
@@ -1,508 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#ifdef unix
-# include <unistd.h>
-# include <utime.h>
-#else
-# include <direct.h>
-# include <io.h>
-#endif
-
-#include "unzip.h"
-
-#define CASESENSITIVITY (0)
-#define WRITEBUFFERSIZE (8192)
-
-/*
- mini unzip, demo of unzip package
-
- usage :
- Usage : miniunz [-exvlo] file.zip [file_to_extract]
-
- list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT
- if it exists
-*/
-
-
-/* change_file_date : change the date/time of a file
- filename : the filename of the file where date/time must be modified
- dosdate : the new date at the MSDos format (4 bytes)
- tmu_date : the SAME new date at the tm_unz format */
-void change_file_date(filename,dosdate,tmu_date)
- const char *filename;
- uLong dosdate;
- tm_unz tmu_date;
-{
-#ifdef WIN32
- HANDLE hFile;
- FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite;
-
- hFile = CreateFile(filename,GENERIC_READ | GENERIC_WRITE,
- 0,NULL,OPEN_EXISTING,0,NULL);
- GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite);
- DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal);
- LocalFileTimeToFileTime(&ftLocal,&ftm);
- SetFileTime(hFile,&ftm,&ftLastAcc,&ftm);
- CloseHandle(hFile);
-#else
-#ifdef unix
- struct utimbuf ut;
- struct tm newdate;
- newdate.tm_sec = tmu_date.tm_sec;
- newdate.tm_min=tmu_date.tm_min;
- newdate.tm_hour=tmu_date.tm_hour;
- newdate.tm_mday=tmu_date.tm_mday;
- newdate.tm_mon=tmu_date.tm_mon;
- if (tmu_date.tm_year > 1900)
- newdate.tm_year=tmu_date.tm_year - 1900;
- else
- newdate.tm_year=tmu_date.tm_year ;
- newdate.tm_isdst=-1;
-
- ut.actime=ut.modtime=mktime(&newdate);
- utime(filename,&ut);
-#endif
-#endif
-}
-
-
-/* mymkdir and change_file_date are not 100 % portable
- As I don't know well Unix, I wait feedback for the unix portion */
-
-int mymkdir(dirname)
- const char* dirname;
-{
- int ret=0;
-#ifdef WIN32
- ret = mkdir(dirname);
-#else
-#ifdef unix
- ret = mkdir (dirname,0775);
-#endif
-#endif
- return ret;
-}
-
-int makedir (newdir)
- char *newdir;
-{
- char *buffer ;
- char *p;
- int len = strlen(newdir);
-
- if (len <= 0)
- return 0;
-
- buffer = (char*)malloc(len+1);
- strcpy(buffer,newdir);
-
- if (buffer[len-1] == '/') {
- buffer[len-1] = '\0';
- }
- if (mymkdir(buffer) == 0)
- {
- free(buffer);
- return 1;
- }
-
- p = buffer+1;
- while (1)
- {
- char hold;
-
- while(*p && *p != '\\' && *p != '/')
- p++;
- hold = *p;
- *p = 0;
- if ((mymkdir(buffer) == -1) && (errno == ENOENT))
- {
- printf("couldn't create directory %s\n",buffer);
- free(buffer);
- return 0;
- }
- if (hold == 0)
- break;
- *p++ = hold;
- }
- free(buffer);
- return 1;
-}
-
-void do_banner()
-{
- printf("MiniUnz 0.15, demo of zLib + Unz package written by Gilles Vollant\n");
- printf("more info at http://wwww.winimage/zLibDll/unzip.htm\n\n");
-}
-
-void do_help()
-{
- printf("Usage : miniunz [-exvlo] file.zip [file_to_extract]\n\n") ;
-}
-
-
-int do_list(uf)
- unzFile uf;
-{
- uLong i;
- unz_global_info gi;
- int err;
-
- err = unzGetGlobalInfo (uf,&gi);
- if (err!=UNZ_OK)
- printf("error %d with zipfile in unzGetGlobalInfo \n",err);
- printf(" Length Method Size Ratio Date Time CRC-32 Name\n");
- printf(" ------ ------ ---- ----- ---- ---- ------ ----\n");
- for (i=0;i<gi.number_entry;i++)
- {
- char filename_inzip[256];
- unz_file_info file_info;
- uLong ratio=0;
- const char *string_method;
- err = unzGetCurrentFileInfo(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
- break;
- }
- if (file_info.uncompressed_size>0)
- ratio = (file_info.compressed_size*100)/file_info.uncompressed_size;
-
- if (file_info.compression_method==0)
- string_method="Stored";
- else
- if (file_info.compression_method==Z_DEFLATED)
- {
- uInt iLevel=(uInt)((file_info.flag & 0x6)/2);
- if (iLevel==0)
- string_method="Defl:N";
- else if (iLevel==1)
- string_method="Defl:X";
- else if ((iLevel==2) || (iLevel==3))
- string_method="Defl:F"; /* 2:fast , 3 : extra fast*/
- }
- else
- string_method="Unkn. ";
-
- printf("%7lu %6s %7lu %3lu%% %2.2lu-%2.2lu-%2.2lu %2.2lu:%2.2lu %8.8lx %s\n",
- file_info.uncompressed_size,string_method,file_info.compressed_size,
- ratio,
- (uLong)file_info.tmu_date.tm_mon + 1,
- (uLong)file_info.tmu_date.tm_mday,
- (uLong)file_info.tmu_date.tm_year % 100,
- (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min,
- (uLong)file_info.crc,filename_inzip);
- if ((i+1)<gi.number_entry)
- {
- err = unzGoToNextFile(uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGoToNextFile\n",err);
- break;
- }
- }
- }
-
- return 0;
-}
-
-
-int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite)
- unzFile uf;
- const int* popt_extract_without_path;
- int* popt_overwrite;
-{
- char filename_inzip[256];
- char* filename_withoutpath;
- char* p;
- int err=UNZ_OK;
- FILE *fout=NULL;
- void* buf;
- uInt size_buf;
-
- unz_file_info file_info;
- uLong ratio=0;
- err = unzGetCurrentFileInfo(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
-
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
- return err;
- }
-
- size_buf = WRITEBUFFERSIZE;
- buf = (void*)malloc(size_buf);
- if (buf==NULL)
- {
- printf("Error allocating memory\n");
- return UNZ_INTERNALERROR;
- }
-
- p = filename_withoutpath = filename_inzip;
- while ((*p) != '\0')
- {
- if (((*p)=='/') || ((*p)=='\\'))
- filename_withoutpath = p+1;
- p++;
- }
-
- if ((*filename_withoutpath)=='\0')
- {
- if ((*popt_extract_without_path)==0)
- {
- printf("creating directory: %s\n",filename_inzip);
- mymkdir(filename_inzip);
- }
- }
- else
- {
- const char* write_filename;
- int skip=0;
-
- if ((*popt_extract_without_path)==0)
- write_filename = filename_inzip;
- else
- write_filename = filename_withoutpath;
-
- err = unzOpenCurrentFile(uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzOpenCurrentFile\n",err);
- }
-
- if (((*popt_overwrite)==0) && (err==UNZ_OK))
- {
- char rep;
- FILE* ftestexist;
- ftestexist = fopen(write_filename,"rb");
- if (ftestexist!=NULL)
- {
- fclose(ftestexist);
- do
- {
- char answer[128];
- printf("The file %s exist. Overwrite ? [y]es, [n]o, [A]ll: ",write_filename);
- scanf("%1s",answer);
- rep = answer[0] ;
- if ((rep>='a') && (rep<='z'))
- rep -= 0x20;
- }
- while ((rep!='Y') && (rep!='N') && (rep!='A'));
- }
-
- if (rep == 'N')
- skip = 1;
-
- if (rep == 'A')
- *popt_overwrite=1;
- }
-
- if ((skip==0) && (err==UNZ_OK))
- {
- fout=fopen(write_filename,"wb");
-
- /* some zipfile don't contain directory alone before file */
- if ((fout==NULL) && ((*popt_extract_without_path)==0) &&
- (filename_withoutpath!=(char*)filename_inzip))
- {
- char c=*(filename_withoutpath-1);
- *(filename_withoutpath-1)='\0';
- makedir(write_filename);
- *(filename_withoutpath-1)=c;
- fout=fopen(write_filename,"wb");
- }
-
- if (fout==NULL)
- {
- printf("error opening %s\n",write_filename);
- }
- }
-
- if (fout!=NULL)
- {
- printf(" extracting: %s\n",write_filename);
-
- do
- {
- err = unzReadCurrentFile(uf,buf,size_buf);
- if (err<0)
- {
- printf("error %d with zipfile in unzReadCurrentFile\n",err);
- break;
- }
- if (err>0)
- if (fwrite(buf,err,1,fout)!=1)
- {
- printf("error in writing extracted file\n");
- err=UNZ_ERRNO;
- break;
- }
- }
- while (err>0);
- fclose(fout);
- if (err==0)
- change_file_date(write_filename,file_info.dosDate,
- file_info.tmu_date);
- }
-
- if (err==UNZ_OK)
- {
- err = unzCloseCurrentFile (uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzCloseCurrentFile\n",err);
- }
- }
- else
- unzCloseCurrentFile(uf); /* don't lose the error */
- }
-
- free(buf);
- return err;
-}
-
-
-int do_extract(uf,opt_extract_without_path,opt_overwrite)
- unzFile uf;
- int opt_extract_without_path;
- int opt_overwrite;
-{
- uLong i;
- unz_global_info gi;
- int err;
- FILE* fout=NULL;
-
- err = unzGetGlobalInfo (uf,&gi);
- if (err!=UNZ_OK)
- printf("error %d with zipfile in unzGetGlobalInfo \n",err);
-
- for (i=0;i<gi.number_entry;i++)
- {
- if (do_extract_currentfile(uf,&opt_extract_without_path,
- &opt_overwrite) != UNZ_OK)
- break;
-
- if ((i+1)<gi.number_entry)
- {
- err = unzGoToNextFile(uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGoToNextFile\n",err);
- break;
- }
- }
- }
-
- return 0;
-}
-
-int do_extract_onefile(uf,filename,opt_extract_without_path,opt_overwrite)
- unzFile uf;
- const char* filename;
- int opt_extract_without_path;
- int opt_overwrite;
-{
- int err = UNZ_OK;
- if (unzLocateFile(uf,filename,CASESENSITIVITY)!=UNZ_OK)
- {
- printf("file %s not found in the zipfile\n",filename);
- return 2;
- }
-
- if (do_extract_currentfile(uf,&opt_extract_without_path,
- &opt_overwrite) == UNZ_OK)
- return 0;
- else
- return 1;
-}
-
-
-int main(argc,argv)
- int argc;
- char *argv[];
-{
- const char *zipfilename=NULL;
- const char *filename_to_extract=NULL;
- int i;
- int opt_do_list=0;
- int opt_do_extract=1;
- int opt_do_extract_withoutpath=0;
- int opt_overwrite=0;
- char filename_try[512];
- unzFile uf=NULL;
-
- do_banner();
- if (argc==1)
- {
- do_help();
- exit(0);
- }
- else
- {
- for (i=1;i<argc;i++)
- {
- if ((*argv[i])=='-')
- {
- const char *p=argv[i]+1;
-
- while ((*p)!='\0')
- {
- char c=*(p++);;
- if ((c=='l') || (c=='L'))
- opt_do_list = 1;
- if ((c=='v') || (c=='V'))
- opt_do_list = 1;
- if ((c=='x') || (c=='X'))
- opt_do_extract = 1;
- if ((c=='e') || (c=='E'))
- opt_do_extract = opt_do_extract_withoutpath = 1;
- if ((c=='o') || (c=='O'))
- opt_overwrite=1;
- }
- }
- else
- {
- if (zipfilename == NULL)
- zipfilename = argv[i];
- else if (filename_to_extract==NULL)
- filename_to_extract = argv[i] ;
- }
- }
- }
-
- if (zipfilename!=NULL)
- {
- strcpy(filename_try,zipfilename);
- uf = unzOpen(zipfilename);
- if (uf==NULL)
- {
- strcat(filename_try,".zip");
- uf = unzOpen(filename_try);
- }
- }
-
- if (uf==NULL)
- {
- printf("Cannot open %s or %s.zip\n",zipfilename,zipfilename);
- exit (1);
- }
- printf("%s opened\n",filename_try);
-
- if (opt_do_list==1)
- return do_list(uf);
- else if (opt_do_extract==1)
- {
- if (filename_to_extract == NULL)
- return do_extract(uf,opt_do_extract_withoutpath,opt_overwrite);
- else
- return do_extract_onefile(uf,filename_to_extract,
- opt_do_extract_withoutpath,opt_overwrite);
- }
- unzCloseCurrentFile(uf);
-
- return 0; /* to avoid warning */
-}
diff --git a/zlib/contrib/minizip/minizip.c b/zlib/contrib/minizip/minizip.c
deleted file mode 100644
index 5e492d209b1..00000000000
--- a/zlib/contrib/minizip/minizip.c
+++ /dev/null
@@ -1,302 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#ifdef unix
-# include <unistd.h>
-# include <utime.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-#else
-# include <direct.h>
-# include <io.h>
-#endif
-
-#include "zip.h"
-
-
-#define WRITEBUFFERSIZE (16384)
-#define MAXFILENAME (256)
-
-#ifdef WIN32
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- int ret = 0;
- {
- FILETIME ftLocal;
- HANDLE hFind;
- WIN32_FIND_DATA ff32;
-
- hFind = FindFirstFile(f,&ff32);
- if (hFind != INVALID_HANDLE_VALUE)
- {
- FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal);
- FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0);
- FindClose(hFind);
- ret = 1;
- }
- }
- return ret;
-}
-#else
-#ifdef unix
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- int ret=0;
- struct stat s; /* results of stat() */
- struct tm* filedate;
- time_t tm_t=0;
-
- if (strcmp(f,"-")!=0)
- {
- char name[MAXFILENAME];
- int len = strlen(f);
- strcpy(name, f);
- if (name[len - 1] == '/')
- name[len - 1] = '\0';
- /* not all systems allow stat'ing a file with / appended */
- if (stat(name,&s)==0)
- {
- tm_t = s.st_mtime;
- ret = 1;
- }
- }
- filedate = localtime(&tm_t);
-
- tmzip->tm_sec = filedate->tm_sec;
- tmzip->tm_min = filedate->tm_min;
- tmzip->tm_hour = filedate->tm_hour;
- tmzip->tm_mday = filedate->tm_mday;
- tmzip->tm_mon = filedate->tm_mon ;
- tmzip->tm_year = filedate->tm_year;
-
- return ret;
-}
-#else
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- return 0;
-}
-#endif
-#endif
-
-
-
-
-int check_exist_file(filename)
- const char* filename;
-{
- FILE* ftestexist;
- int ret = 1;
- ftestexist = fopen(filename,"rb");
- if (ftestexist==NULL)
- ret = 0;
- else
- fclose(ftestexist);
- return ret;
-}
-
-void do_banner()
-{
- printf("MiniZip 0.15, demo of zLib + Zip package written by Gilles Vollant\n");
- printf("more info at http://wwww.winimage/zLibDll/unzip.htm\n\n");
-}
-
-void do_help()
-{
- printf("Usage : minizip [-o] file.zip [files_to_add]\n\n") ;
-}
-
-int main(argc,argv)
- int argc;
- char *argv[];
-{
- int i;
- int opt_overwrite=0;
- int opt_compress_level=Z_DEFAULT_COMPRESSION;
- int zipfilenamearg = 0;
- char filename_try[MAXFILENAME];
- int zipok;
- int err=0;
- int size_buf=0;
- void* buf=NULL,
-
-
- do_banner();
- if (argc==1)
- {
- do_help();
- exit(0);
- return 0;
- }
- else
- {
- for (i=1;i<argc;i++)
- {
- if ((*argv[i])=='-')
- {
- const char *p=argv[i]+1;
-
- while ((*p)!='\0')
- {
- char c=*(p++);;
- if ((c=='o') || (c=='O'))
- opt_overwrite = 1;
- if ((c>='0') && (c<='9'))
- opt_compress_level = c-'0';
- }
- }
- else
- if (zipfilenamearg == 0)
- zipfilenamearg = i ;
- }
- }
-
- size_buf = WRITEBUFFERSIZE;
- buf = (void*)malloc(size_buf);
- if (buf==NULL)
- {
- printf("Error allocating memory\n");
- return ZIP_INTERNALERROR;
- }
-
- if (zipfilenamearg==0)
- zipok=0;
- else
- {
- int i,len;
- int dot_found=0;
-
- zipok = 1 ;
- strcpy(filename_try,argv[zipfilenamearg]);
- len=strlen(filename_try);
- for (i=0;i<len;i++)
- if (filename_try[i]=='.')
- dot_found=1;
-
- if (dot_found==0)
- strcat(filename_try,".zip");
-
- if (opt_overwrite==0)
- if (check_exist_file(filename_try)!=0)
- {
- char rep;
- do
- {
- char answer[128];
- printf("The file %s exist. Overwrite ? [y]es, [n]o : ",filename_try);
- scanf("%1s",answer);
- rep = answer[0] ;
- if ((rep>='a') && (rep<='z'))
- rep -= 0x20;
- }
- while ((rep!='Y') && (rep!='N'));
- if (rep=='N')
- zipok = 0;
- }
- }
-
- if (zipok==1)
- {
- zipFile zf;
- int errclose;
- zf = zipOpen(filename_try,0);
- if (zf == NULL)
- {
- printf("error opening %s\n",filename_try);
- err= ZIP_ERRNO;
- }
- else
- printf("creating %s\n",filename_try);
-
- for (i=zipfilenamearg+1;(i<argc) && (err==ZIP_OK);i++)
- {
- if (((*(argv[i]))!='-') && ((*(argv[i]))!='/'))
- {
- FILE * fin;
- int size_read;
- const char* filenameinzip = argv[i];
- zip_fileinfo zi;
-
- zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour =
- zi.tmz_date.tm_mday = zi.tmz_date.tm_min = zi.tmz_date.tm_year = 0;
- zi.dosDate = 0;
- zi.internal_fa = 0;
- zi.external_fa = 0;
- filetime(filenameinzip,&zi.tmz_date,&zi.dosDate);
-
-
- err = zipOpenNewFileInZip(zf,filenameinzip,&zi,
- NULL,0,NULL,0,NULL /* comment*/,
- (opt_compress_level != 0) ? Z_DEFLATED : 0,
- opt_compress_level);
-
- if (err != ZIP_OK)
- printf("error in opening %s in zipfile\n",filenameinzip);
- else
- {
- fin = fopen(filenameinzip,"rb");
- if (fin==NULL)
- {
- err=ZIP_ERRNO;
- printf("error in opening %s for reading\n",filenameinzip);
- }
- }
-
- if (err == ZIP_OK)
- do
- {
- err = ZIP_OK;
- size_read = fread(buf,1,size_buf,fin);
- if (size_read < size_buf)
- if (feof(fin)==0)
- {
- printf("error in reading %s\n",filenameinzip);
- err = ZIP_ERRNO;
- }
-
- if (size_read>0)
- {
- err = zipWriteInFileInZip (zf,buf,size_read);
- if (err<0)
- {
- printf("error in writing %s in the zipfile\n",
- filenameinzip);
- }
-
- }
- } while ((err == ZIP_OK) && (size_read>0));
-
- fclose(fin);
- if (err<0)
- err=ZIP_ERRNO;
- else
- {
- err = zipCloseFileInZip(zf);
- if (err!=ZIP_OK)
- printf("error in closing %s in the zipfile\n",
- filenameinzip);
- }
- }
- }
- errclose = zipClose(zf,NULL);
- if (errclose != ZIP_OK)
- printf("error in closing %s\n",filename_try);
- }
-
- free(buf);
- exit(0);
- return 0; /* to avoid warning */
-}
diff --git a/zlib/contrib/minizip/readme.txt b/zlib/contrib/minizip/readme.txt
deleted file mode 100644
index 1fc023c720b..00000000000
--- a/zlib/contrib/minizip/readme.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-
-UnZip 0.15 additionnal library
-
-
- This unzip package allow extract file from .ZIP file, compatible with
-PKZip 2.04g, WinZip, InfoZip tools and compatible.
-
- Multi volume ZipFile (span) are not supported, and old compression used by old
-PKZip 1.x are not supported.
-
-See probdesc.zip from PKWare for specification of .ZIP format.
-
-What is Unzip
- The Zlib library support the deflate compression and the creation of gzip (.gz)
-file. Zlib is free and small.
- The .Zip format, which can contain several compressed files (.gz can containt
-only one file) is a very popular format. This is why I've written a package for reading file compressed in Zipfile.
-
-Using Unzip package
-
-You need source of Zlib (get zlib111.zip and read zlib.h).
-Get unzlb015.zip and read unzip.h (whith documentation of unzip functions)
-
-The Unzip package is only two file : unzip.h and unzip.c. But it use the Zlib
- files.
-unztst.c is a simple sample program, which list file in a zipfile and display
- README.TXT or FILE_ID.DIZ (if these files are found).
-miniunz.c is a mini unzip program.
-
-I'm also currenlyt writing a zipping portion (zip.h, zip.c and test with minizip.c)
-
-Please email me for feedback.
-I hope my source is compatible with Unix system, but I need your help for be sure
-
-Latest revision : Mar 04th, 1998
-
-Check http://www.winimage.com/zLibDll/unzip.html for up to date info.
diff --git a/zlib/contrib/minizip/unzip.c b/zlib/contrib/minizip/unzip.c
deleted file mode 100644
index ff71a474da1..00000000000
--- a/zlib/contrib/minizip/unzip.c
+++ /dev/null
@@ -1,1294 +0,0 @@
-/* unzip.c -- IO on .zip files using zlib
- Version 0.15 beta, Mar 19th, 1998,
-
- Read unzip.h for more info
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "zlib.h"
-#include "unzip.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-
-
-#if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) && \
- !defined(CASESENSITIVITYDEFAULT_NO)
-#define CASESENSITIVITYDEFAULT_NO
-#endif
-
-
-#ifndef UNZ_BUFSIZE
-#define UNZ_BUFSIZE (16384)
-#endif
-
-#ifndef UNZ_MAXFILENAMEINZIP
-#define UNZ_MAXFILENAMEINZIP (256)
-#endif
-
-#ifndef ALLOC
-# define ALLOC(size) (malloc(size))
-#endif
-#ifndef TRYFREE
-# define TRYFREE(p) {if (p) free(p);}
-#endif
-
-#define SIZECENTRALDIRITEM (0x2e)
-#define SIZEZIPLOCALHEADER (0x1e)
-
-
-/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
-
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-
-const char unz_copyright[] =
- " unzip 0.15 Copyright 1998 Gilles Vollant ";
-
-/* unz_file_info_interntal contain internal info about a file in zipfile*/
-typedef struct unz_file_info_internal_s
-{
- uLong offset_curfile;/* relative offset of local header 4 bytes */
-} unz_file_info_internal;
-
-
-/* file_in_zip_read_info_s contain internal information about a file in zipfile,
- when reading and decompress it */
-typedef struct
-{
- char *read_buffer; /* internal buffer for compressed data */
- z_stream stream; /* zLib stream structure for inflate */
-
- uLong pos_in_zipfile; /* position in byte on the zipfile, for fseek*/
- uLong stream_initialised; /* flag set if stream structure is initialised*/
-
- uLong offset_local_extrafield;/* offset of the local extra field */
- uInt size_local_extrafield;/* size of the local extra field */
- uLong pos_local_extrafield; /* position in the local extra field in read*/
-
- uLong crc32; /* crc32 of all data uncompressed */
- uLong crc32_wait; /* crc32 we must obtain after decompress all */
- uLong rest_read_compressed; /* number of byte to be decompressed */
- uLong rest_read_uncompressed;/*number of byte to be obtained after decomp*/
- FILE* file; /* io structore of the zipfile */
- uLong compression_method; /* compression method (0==store) */
- uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
-} file_in_zip_read_info_s;
-
-
-/* unz_s contain internal information about the zipfile
-*/
-typedef struct
-{
- FILE* file; /* io structore of the zipfile */
- unz_global_info gi; /* public global information */
- uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
- uLong num_file; /* number of the current file in the zipfile*/
- uLong pos_in_central_dir; /* pos of the current file in the central dir*/
- uLong current_file_ok; /* flag about the usability of the current file*/
- uLong central_pos; /* position of the beginning of the central dir*/
-
- uLong size_central_dir; /* size of the central directory */
- uLong offset_central_dir; /* offset of start of central directory with
- respect to the starting disk number */
-
- unz_file_info cur_file_info; /* public info about the current file in zip*/
- unz_file_info_internal cur_file_info_internal; /* private info about it*/
- file_in_zip_read_info_s* pfile_in_zip_read; /* structure about the current
- file if we are decompressing it */
-} unz_s;
-
-
-/* ===========================================================================
- Read a byte from a gz_stream; update next_in and avail_in. Return EOF
- for end of file.
- IN assertion: the stream s has been sucessfully opened for reading.
-*/
-
-
-local int unzlocal_getByte(fin,pi)
- FILE *fin;
- int *pi;
-{
- unsigned char c;
- int err = fread(&c, 1, 1, fin);
- if (err==1)
- {
- *pi = (int)c;
- return UNZ_OK;
- }
- else
- {
- if (ferror(fin))
- return UNZ_ERRNO;
- else
- return UNZ_EOF;
- }
-}
-
-
-/* ===========================================================================
- Reads a long in LSB order from the given gz_stream. Sets
-*/
-local int unzlocal_getShort (fin,pX)
- FILE* fin;
- uLong *pX;
-{
- uLong x ;
- int i;
- int err;
-
- err = unzlocal_getByte(fin,&i);
- x = (uLong)i;
-
- if (err==UNZ_OK)
- err = unzlocal_getByte(fin,&i);
- x += ((uLong)i)<<8;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int unzlocal_getLong (fin,pX)
- FILE* fin;
- uLong *pX;
-{
- uLong x ;
- int i;
- int err;
-
- err = unzlocal_getByte(fin,&i);
- x = (uLong)i;
-
- if (err==UNZ_OK)
- err = unzlocal_getByte(fin,&i);
- x += ((uLong)i)<<8;
-
- if (err==UNZ_OK)
- err = unzlocal_getByte(fin,&i);
- x += ((uLong)i)<<16;
-
- if (err==UNZ_OK)
- err = unzlocal_getByte(fin,&i);
- x += ((uLong)i)<<24;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-
-/* My own strcmpi / strcasecmp */
-local int strcmpcasenosensitive_internal (fileName1,fileName2)
- const char* fileName1;
- const char* fileName2;
-{
- for (;;)
- {
- char c1=*(fileName1++);
- char c2=*(fileName2++);
- if ((c1>='a') && (c1<='z'))
- c1 -= 0x20;
- if ((c2>='a') && (c2<='z'))
- c2 -= 0x20;
- if (c1=='\0')
- return ((c2=='\0') ? 0 : -1);
- if (c2=='\0')
- return 1;
- if (c1<c2)
- return -1;
- if (c1>c2)
- return 1;
- }
-}
-
-
-#ifdef CASESENSITIVITYDEFAULT_NO
-#define CASESENSITIVITYDEFAULTVALUE 2
-#else
-#define CASESENSITIVITYDEFAULTVALUE 1
-#endif
-
-#ifndef STRCMPCASENOSENTIVEFUNCTION
-#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal
-#endif
-
-/*
- Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
- or strcasecmp)
- If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
- (like 1 on Unix, 2 on Windows)
-
-*/
-extern int ZEXPORT unzStringFileNameCompare (fileName1,fileName2,iCaseSensitivity)
- const char* fileName1;
- const char* fileName2;
- int iCaseSensitivity;
-{
- if (iCaseSensitivity==0)
- iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;
-
- if (iCaseSensitivity==1)
- return strcmp(fileName1,fileName2);
-
- return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2);
-}
-
-#define BUFREADCOMMENT (0x400)
-
-/*
- Locate the Central directory of a zipfile (at the end, just before
- the global comment)
-*/
-local uLong unzlocal_SearchCentralDir(fin)
- FILE *fin;
-{
- unsigned char* buf;
- uLong uSizeFile;
- uLong uBackRead;
- uLong uMaxBack=0xffff; /* maximum size of global comment */
- uLong uPosFound=0;
-
- if (fseek(fin,0,SEEK_END) != 0)
- return 0;
-
-
- uSizeFile = ftell( fin );
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize,uReadPos ;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uSizeFile-uReadPos);
- if (fseek(fin,uReadPos,SEEK_SET)!=0)
- break;
-
- if (fread(buf,(uInt)uReadSize,1,fin)!=1)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
- ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
- {
- uPosFound = uReadPos+i;
- break;
- }
-
- if (uPosFound!=0)
- break;
- }
- TRYFREE(buf);
- return uPosFound;
-}
-
-/*
- Open a Zip file. path contain the full pathname (by example,
- on a Windows NT computer "c:\\test\\zlib109.zip" or on an Unix computer
- "zlib/zlib109.zip".
- If the zipfile cannot be opened (file don't exist or in not valid), the
- return value is NULL.
- Else, the return value is a unzFile Handle, usable with other function
- of this unzip package.
-*/
-extern unzFile ZEXPORT unzOpen (path)
- const char *path;
-{
- unz_s us;
- unz_s *s;
- uLong central_pos,uL;
- FILE * fin ;
-
- uLong number_disk; /* number of the current dist, used for
- spaning ZIP, unsupported, always 0*/
- uLong number_disk_with_CD; /* number the the disk with central dir, used
- for spaning ZIP, unsupported, always 0*/
- uLong number_entry_CD; /* total number of entries in
- the central dir
- (same than number_entry on nospan) */
-
- int err=UNZ_OK;
-
- if (unz_copyright[0]!=' ')
- return NULL;
-
- fin=fopen(path,"rb");
- if (fin==NULL)
- return NULL;
-
- central_pos = unzlocal_SearchCentralDir(fin);
- if (central_pos==0)
- err=UNZ_ERRNO;
-
- if (fseek(fin,central_pos,SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
- /* the signature, already checked */
- if (unzlocal_getLong(fin,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of this disk */
- if (unzlocal_getShort(fin,&number_disk)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (unzlocal_getShort(fin,&number_disk_with_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central dir on this disk */
- if (unzlocal_getShort(fin,&us.gi.number_entry)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central dir */
- if (unzlocal_getShort(fin,&number_entry_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- if ((number_entry_CD!=us.gi.number_entry) ||
- (number_disk_with_CD!=0) ||
- (number_disk!=0))
- err=UNZ_BADZIPFILE;
-
- /* size of the central directory */
- if (unzlocal_getLong(fin,&us.size_central_dir)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* offset of start of central directory with respect to the
- starting disk number */
- if (unzlocal_getLong(fin,&us.offset_central_dir)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* zipfile comment length */
- if (unzlocal_getShort(fin,&us.gi.size_comment)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- if ((central_pos<us.offset_central_dir+us.size_central_dir) &&
- (err==UNZ_OK))
- err=UNZ_BADZIPFILE;
-
- if (err!=UNZ_OK)
- {
- fclose(fin);
- return NULL;
- }
-
- us.file=fin;
- us.byte_before_the_zipfile = central_pos -
- (us.offset_central_dir+us.size_central_dir);
- us.central_pos = central_pos;
- us.pfile_in_zip_read = NULL;
-
-
- s=(unz_s*)ALLOC(sizeof(unz_s));
- *s=us;
- unzGoToFirstFile((unzFile)s);
- return (unzFile)s;
-}
-
-
-/*
- Close a ZipFile opened with unzipOpen.
- If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
- these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
- return UNZ_OK if there is no problem. */
-extern int ZEXPORT unzClose (file)
- unzFile file;
-{
- unz_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
-
- if (s->pfile_in_zip_read!=NULL)
- unzCloseCurrentFile(file);
-
- fclose(s->file);
- TRYFREE(s);
- return UNZ_OK;
-}
-
-
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem. */
-extern int ZEXPORT unzGetGlobalInfo (file,pglobal_info)
- unzFile file;
- unz_global_info *pglobal_info;
-{
- unz_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- *pglobal_info=s->gi;
- return UNZ_OK;
-}
-
-
-/*
- Translate date/time from Dos format to tm_unz (readable more easilty)
-*/
-local void unzlocal_DosDateToTmuDate (ulDosDate, ptm)
- uLong ulDosDate;
- tm_unz* ptm;
-{
- uLong uDate;
- uDate = (uLong)(ulDosDate>>16);
- ptm->tm_mday = (uInt)(uDate&0x1f) ;
- ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ;
- ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ;
-
- ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800);
- ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ;
- ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ;
-}
-
-/*
- Get Info about the current file in the zipfile, with internal only info
-*/
-local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
- unz_file_info *pfile_info,
- unz_file_info_internal
- *pfile_info_internal,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-
-local int unzlocal_GetCurrentFileInfoInternal (file,
- pfile_info,
- pfile_info_internal,
- szFileName, fileNameBufferSize,
- extraField, extraFieldBufferSize,
- szComment, commentBufferSize)
- unzFile file;
- unz_file_info *pfile_info;
- unz_file_info_internal *pfile_info_internal;
- char *szFileName;
- uLong fileNameBufferSize;
- void *extraField;
- uLong extraFieldBufferSize;
- char *szComment;
- uLong commentBufferSize;
-{
- unz_s* s;
- unz_file_info file_info;
- unz_file_info_internal file_info_internal;
- int err=UNZ_OK;
- uLong uMagic;
- long lSeek=0;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- if (fseek(s->file,s->pos_in_central_dir+s->byte_before_the_zipfile,SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
-
- /* we check the magic */
- if (err==UNZ_OK)
- if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
- err=UNZ_ERRNO;
- else if (uMagic!=0x02014b50)
- err=UNZ_BADZIPFILE;
-
- if (unzlocal_getShort(s->file,&file_info.version) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.version_needed) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.flag) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.compression_method) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getLong(s->file,&file_info.dosDate) != UNZ_OK)
- err=UNZ_ERRNO;
-
- unzlocal_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date);
-
- if (unzlocal_getLong(s->file,&file_info.crc) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getLong(s->file,&file_info.compressed_size) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getLong(s->file,&file_info.uncompressed_size) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.size_filename) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.size_file_extra) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.size_file_comment) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.disk_num_start) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&file_info.internal_fa) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getLong(s->file,&file_info.external_fa) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getLong(s->file,&file_info_internal.offset_curfile) != UNZ_OK)
- err=UNZ_ERRNO;
-
- lSeek+=file_info.size_filename;
- if ((err==UNZ_OK) && (szFileName!=NULL))
- {
- uLong uSizeRead ;
- if (file_info.size_filename<fileNameBufferSize)
- {
- *(szFileName+file_info.size_filename)='\0';
- uSizeRead = file_info.size_filename;
- }
- else
- uSizeRead = fileNameBufferSize;
-
- if ((file_info.size_filename>0) && (fileNameBufferSize>0))
- if (fread(szFileName,(uInt)uSizeRead,1,s->file)!=1)
- err=UNZ_ERRNO;
- lSeek -= uSizeRead;
- }
-
-
- if ((err==UNZ_OK) && (extraField!=NULL))
- {
- uLong uSizeRead ;
- if (file_info.size_file_extra<extraFieldBufferSize)
- uSizeRead = file_info.size_file_extra;
- else
- uSizeRead = extraFieldBufferSize;
-
- if (lSeek!=0)
- if (fseek(s->file,lSeek,SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
- if (fread(extraField,(uInt)uSizeRead,1,s->file)!=1)
- err=UNZ_ERRNO;
- lSeek += file_info.size_file_extra - uSizeRead;
- }
- else
- lSeek+=file_info.size_file_extra;
-
-
- if ((err==UNZ_OK) && (szComment!=NULL))
- {
- uLong uSizeRead ;
- if (file_info.size_file_comment<commentBufferSize)
- {
- *(szComment+file_info.size_file_comment)='\0';
- uSizeRead = file_info.size_file_comment;
- }
- else
- uSizeRead = commentBufferSize;
-
- if (lSeek!=0)
- if (fseek(s->file,lSeek,SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- if ((file_info.size_file_comment>0) && (commentBufferSize>0))
- if (fread(szComment,(uInt)uSizeRead,1,s->file)!=1)
- err=UNZ_ERRNO;
- lSeek+=file_info.size_file_comment - uSizeRead;
- }
- else
- lSeek+=file_info.size_file_comment;
-
- if ((err==UNZ_OK) && (pfile_info!=NULL))
- *pfile_info=file_info;
-
- if ((err==UNZ_OK) && (pfile_info_internal!=NULL))
- *pfile_info_internal=file_info_internal;
-
- return err;
-}
-
-
-
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem.
-*/
-extern int ZEXPORT unzGetCurrentFileInfo (file,
- pfile_info,
- szFileName, fileNameBufferSize,
- extraField, extraFieldBufferSize,
- szComment, commentBufferSize)
- unzFile file;
- unz_file_info *pfile_info;
- char *szFileName;
- uLong fileNameBufferSize;
- void *extraField;
- uLong extraFieldBufferSize;
- char *szComment;
- uLong commentBufferSize;
-{
- return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL,
- szFileName,fileNameBufferSize,
- extraField,extraFieldBufferSize,
- szComment,commentBufferSize);
-}
-
-/*
- Set the current file of the zipfile to the first file.
- return UNZ_OK if there is no problem
-*/
-extern int ZEXPORT unzGoToFirstFile (file)
- unzFile file;
-{
- int err=UNZ_OK;
- unz_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- s->pos_in_central_dir=s->offset_central_dir;
- s->num_file=0;
- err=unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-
-/*
- Set the current file of the zipfile to the next file.
- return UNZ_OK if there is no problem
- return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
-*/
-extern int ZEXPORT unzGoToNextFile (file)
- unzFile file;
-{
- unz_s* s;
- int err;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
- if (s->num_file+1==s->gi.number_entry)
- return UNZ_END_OF_LIST_OF_FILE;
-
- s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename +
- s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ;
- s->num_file++;
- err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-
-/*
- Try locate the file szFileName in the zipfile.
- For the iCaseSensitivity signification, see unzipStringFileNameCompare
-
- return value :
- UNZ_OK if the file is found. It becomes the current file.
- UNZ_END_OF_LIST_OF_FILE if the file is not found
-*/
-extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity)
- unzFile file;
- const char *szFileName;
- int iCaseSensitivity;
-{
- unz_s* s;
- int err;
-
-
- uLong num_fileSaved;
- uLong pos_in_central_dirSaved;
-
-
- if (file==NULL)
- return UNZ_PARAMERROR;
-
- if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP)
- return UNZ_PARAMERROR;
-
- s=(unz_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
-
- num_fileSaved = s->num_file;
- pos_in_central_dirSaved = s->pos_in_central_dir;
-
- err = unzGoToFirstFile(file);
-
- while (err == UNZ_OK)
- {
- char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
- unzGetCurrentFileInfo(file,NULL,
- szCurrentFileName,sizeof(szCurrentFileName)-1,
- NULL,0,NULL,0);
- if (unzStringFileNameCompare(szCurrentFileName,
- szFileName,iCaseSensitivity)==0)
- return UNZ_OK;
- err = unzGoToNextFile(file);
- }
-
- s->num_file = num_fileSaved ;
- s->pos_in_central_dir = pos_in_central_dirSaved ;
- return err;
-}
-
-
-/*
- Read the local header of the current zipfile
- Check the coherency of the local header and info in the end of central
- directory about this file
- store in *piSizeVar the size of extra info in local header
- (filename and size of extra field data)
-*/
-local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
- poffset_local_extrafield,
- psize_local_extrafield)
- unz_s* s;
- uInt* piSizeVar;
- uLong *poffset_local_extrafield;
- uInt *psize_local_extrafield;
-{
- uLong uMagic,uData,uFlags;
- uLong size_filename;
- uLong size_extra_field;
- int err=UNZ_OK;
-
- *piSizeVar = 0;
- *poffset_local_extrafield = 0;
- *psize_local_extrafield = 0;
-
- if (fseek(s->file,s->cur_file_info_internal.offset_curfile +
- s->byte_before_the_zipfile,SEEK_SET)!=0)
- return UNZ_ERRNO;
-
-
- if (err==UNZ_OK)
- if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
- err=UNZ_ERRNO;
- else if (uMagic!=0x04034b50)
- err=UNZ_BADZIPFILE;
-
- if (unzlocal_getShort(s->file,&uData) != UNZ_OK)
- err=UNZ_ERRNO;
-/*
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion))
- err=UNZ_BADZIPFILE;
-*/
- if (unzlocal_getShort(s->file,&uFlags) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unzlocal_getShort(s->file,&uData) != UNZ_OK)
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method))
- err=UNZ_BADZIPFILE;
-
- if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) &&
- (s->cur_file_info.compression_method!=Z_DEFLATED))
- err=UNZ_BADZIPFILE;
-
- if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* date/time */
- err=UNZ_ERRNO;
-
- if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* crc */
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) &&
- ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* size compr */
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) &&
- ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* size uncompr */
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) &&
- ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
-
- if (unzlocal_getShort(s->file,&size_filename) != UNZ_OK)
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename))
- err=UNZ_BADZIPFILE;
-
- *piSizeVar += (uInt)size_filename;
-
- if (unzlocal_getShort(s->file,&size_extra_field) != UNZ_OK)
- err=UNZ_ERRNO;
- *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile +
- SIZEZIPLOCALHEADER + size_filename;
- *psize_local_extrafield = (uInt)size_extra_field;
-
- *piSizeVar += (uInt)size_extra_field;
-
- return err;
-}
-
-/*
- Open for reading data the current file in the zipfile.
- If there is no error and the file is opened, the return value is UNZ_OK.
-*/
-extern int ZEXPORT unzOpenCurrentFile (file)
- unzFile file;
-{
- int err=UNZ_OK;
- int Store;
- uInt iSizeVar;
- unz_s* s;
- file_in_zip_read_info_s* pfile_in_zip_read_info;
- uLong offset_local_extrafield; /* offset of the local extra field */
- uInt size_local_extrafield; /* size of the local extra field */
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- if (!s->current_file_ok)
- return UNZ_PARAMERROR;
-
- if (s->pfile_in_zip_read != NULL)
- unzCloseCurrentFile(file);
-
- if (unzlocal_CheckCurrentFileCoherencyHeader(s,&iSizeVar,
- &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK)
- return UNZ_BADZIPFILE;
-
- pfile_in_zip_read_info = (file_in_zip_read_info_s*)
- ALLOC(sizeof(file_in_zip_read_info_s));
- if (pfile_in_zip_read_info==NULL)
- return UNZ_INTERNALERROR;
-
- pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE);
- pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield;
- pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield;
- pfile_in_zip_read_info->pos_local_extrafield=0;
-
- if (pfile_in_zip_read_info->read_buffer==NULL)
- {
- TRYFREE(pfile_in_zip_read_info);
- return UNZ_INTERNALERROR;
- }
-
- pfile_in_zip_read_info->stream_initialised=0;
-
- if ((s->cur_file_info.compression_method!=0) &&
- (s->cur_file_info.compression_method!=Z_DEFLATED))
- err=UNZ_BADZIPFILE;
- Store = s->cur_file_info.compression_method==0;
-
- pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc;
- pfile_in_zip_read_info->crc32=0;
- pfile_in_zip_read_info->compression_method =
- s->cur_file_info.compression_method;
- pfile_in_zip_read_info->file=s->file;
- pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile;
-
- pfile_in_zip_read_info->stream.total_out = 0;
-
- if (!Store)
- {
- pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
- pfile_in_zip_read_info->stream.zfree = (free_func)0;
- pfile_in_zip_read_info->stream.opaque = (voidpf)0;
-
- err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
- if (err == Z_OK)
- pfile_in_zip_read_info->stream_initialised=1;
- /* windowBits is passed < 0 to tell that there is no zlib header.
- * Note that in this case inflate *requires* an extra "dummy" byte
- * after the compressed stream in order to complete decompression and
- * return Z_STREAM_END.
- * In unzip, i don't wait absolutely Z_STREAM_END because I known the
- * size of both compressed and uncompressed data
- */
- }
- pfile_in_zip_read_info->rest_read_compressed =
- s->cur_file_info.compressed_size ;
- pfile_in_zip_read_info->rest_read_uncompressed =
- s->cur_file_info.uncompressed_size ;
-
-
- pfile_in_zip_read_info->pos_in_zipfile =
- s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER +
- iSizeVar;
-
- pfile_in_zip_read_info->stream.avail_in = (uInt)0;
-
-
- s->pfile_in_zip_read = pfile_in_zip_read_info;
- return UNZ_OK;
-}
-
-
-/*
- Read bytes from the current file.
- buf contain buffer where data must be copied
- len the size of buf.
-
- return the number of byte copied if somes bytes are copied
- return 0 if the end of file was reached
- return <0 with error code if there is an error
- (UNZ_ERRNO for IO error, or zLib error for uncompress error)
-*/
-extern int ZEXPORT unzReadCurrentFile (file, buf, len)
- unzFile file;
- voidp buf;
- unsigned len;
-{
- int err=UNZ_OK;
- uInt iRead = 0;
- unz_s* s;
- file_in_zip_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
-
- if ((pfile_in_zip_read_info->read_buffer == NULL))
- return UNZ_END_OF_LIST_OF_FILE;
- if (len==0)
- return 0;
-
- pfile_in_zip_read_info->stream.next_out = (Bytef*)buf;
-
- pfile_in_zip_read_info->stream.avail_out = (uInt)len;
-
- if (len>pfile_in_zip_read_info->rest_read_uncompressed)
- pfile_in_zip_read_info->stream.avail_out =
- (uInt)pfile_in_zip_read_info->rest_read_uncompressed;
-
- while (pfile_in_zip_read_info->stream.avail_out>0)
- {
- if ((pfile_in_zip_read_info->stream.avail_in==0) &&
- (pfile_in_zip_read_info->rest_read_compressed>0))
- {
- uInt uReadThis = UNZ_BUFSIZE;
- if (pfile_in_zip_read_info->rest_read_compressed<uReadThis)
- uReadThis = (uInt)pfile_in_zip_read_info->rest_read_compressed;
- if (uReadThis == 0)
- return UNZ_EOF;
- if (fseek(pfile_in_zip_read_info->file,
- pfile_in_zip_read_info->pos_in_zipfile +
- pfile_in_zip_read_info->byte_before_the_zipfile,SEEK_SET)!=0)
- return UNZ_ERRNO;
- if (fread(pfile_in_zip_read_info->read_buffer,uReadThis,1,
- pfile_in_zip_read_info->file)!=1)
- return UNZ_ERRNO;
- pfile_in_zip_read_info->pos_in_zipfile += uReadThis;
-
- pfile_in_zip_read_info->rest_read_compressed-=uReadThis;
-
- pfile_in_zip_read_info->stream.next_in =
- (Bytef*)pfile_in_zip_read_info->read_buffer;
- pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis;
- }
-
- if (pfile_in_zip_read_info->compression_method==0)
- {
- uInt uDoCopy,i ;
- if (pfile_in_zip_read_info->stream.avail_out <
- pfile_in_zip_read_info->stream.avail_in)
- uDoCopy = pfile_in_zip_read_info->stream.avail_out ;
- else
- uDoCopy = pfile_in_zip_read_info->stream.avail_in ;
-
- for (i=0;i<uDoCopy;i++)
- *(pfile_in_zip_read_info->stream.next_out+i) =
- *(pfile_in_zip_read_info->stream.next_in+i);
-
- pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,
- pfile_in_zip_read_info->stream.next_out,
- uDoCopy);
- pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy;
- pfile_in_zip_read_info->stream.avail_in -= uDoCopy;
- pfile_in_zip_read_info->stream.avail_out -= uDoCopy;
- pfile_in_zip_read_info->stream.next_out += uDoCopy;
- pfile_in_zip_read_info->stream.next_in += uDoCopy;
- pfile_in_zip_read_info->stream.total_out += uDoCopy;
- iRead += uDoCopy;
- }
- else
- {
- uLong uTotalOutBefore,uTotalOutAfter;
- const Bytef *bufBefore;
- uLong uOutThis;
- int flush=Z_SYNC_FLUSH;
-
- uTotalOutBefore = pfile_in_zip_read_info->stream.total_out;
- bufBefore = pfile_in_zip_read_info->stream.next_out;
-
- /*
- if ((pfile_in_zip_read_info->rest_read_uncompressed ==
- pfile_in_zip_read_info->stream.avail_out) &&
- (pfile_in_zip_read_info->rest_read_compressed == 0))
- flush = Z_FINISH;
- */
- err=inflate(&pfile_in_zip_read_info->stream,flush);
-
- uTotalOutAfter = pfile_in_zip_read_info->stream.total_out;
- uOutThis = uTotalOutAfter-uTotalOutBefore;
-
- pfile_in_zip_read_info->crc32 =
- crc32(pfile_in_zip_read_info->crc32,bufBefore,
- (uInt)(uOutThis));
-
- pfile_in_zip_read_info->rest_read_uncompressed -=
- uOutThis;
-
- iRead += (uInt)(uTotalOutAfter - uTotalOutBefore);
-
- if (err==Z_STREAM_END)
- return (iRead==0) ? UNZ_EOF : iRead;
- if (err!=Z_OK)
- break;
- }
- }
-
- if (err==Z_OK)
- return iRead;
- return err;
-}
-
-
-/*
- Give the current position in uncompressed data
-*/
-extern z_off_t ZEXPORT unztell (file)
- unzFile file;
-{
- unz_s* s;
- file_in_zip_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- return (z_off_t)pfile_in_zip_read_info->stream.total_out;
-}
-
-
-/*
- return 1 if the end of file was reached, 0 elsewhere
-*/
-extern int ZEXPORT unzeof (file)
- unzFile file;
-{
- unz_s* s;
- file_in_zip_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- if (pfile_in_zip_read_info->rest_read_uncompressed == 0)
- return 1;
- else
- return 0;
-}
-
-
-
-/*
- Read extra field from the current file (opened by unzOpenCurrentFile)
- This is the local-header version of the extra field (sometimes, there is
- more info in the local-header version than in the central-header)
-
- if buf==NULL, it return the size of the local extra field that can be read
-
- if buf!=NULL, len is the size of the buffer, the extra header is copied in
- buf.
- the return value is the number of bytes copied in buf, or (if <0)
- the error code
-*/
-extern int ZEXPORT unzGetLocalExtrafield (file,buf,len)
- unzFile file;
- voidp buf;
- unsigned len;
-{
- unz_s* s;
- file_in_zip_read_info_s* pfile_in_zip_read_info;
- uInt read_now;
- uLong size_to_read;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- size_to_read = (pfile_in_zip_read_info->size_local_extrafield -
- pfile_in_zip_read_info->pos_local_extrafield);
-
- if (buf==NULL)
- return (int)size_to_read;
-
- if (len>size_to_read)
- read_now = (uInt)size_to_read;
- else
- read_now = (uInt)len ;
-
- if (read_now==0)
- return 0;
-
- if (fseek(pfile_in_zip_read_info->file,
- pfile_in_zip_read_info->offset_local_extrafield +
- pfile_in_zip_read_info->pos_local_extrafield,SEEK_SET)!=0)
- return UNZ_ERRNO;
-
- if (fread(buf,(uInt)size_to_read,1,pfile_in_zip_read_info->file)!=1)
- return UNZ_ERRNO;
-
- return (int)read_now;
-}
-
-/*
- Close the file in zip opened with unzipOpenCurrentFile
- Return UNZ_CRCERROR if all the file was read but the CRC is not good
-*/
-extern int ZEXPORT unzCloseCurrentFile (file)
- unzFile file;
-{
- int err=UNZ_OK;
-
- unz_s* s;
- file_in_zip_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
-
- if (pfile_in_zip_read_info->rest_read_uncompressed == 0)
- {
- if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait)
- err=UNZ_CRCERROR;
- }
-
-
- TRYFREE(pfile_in_zip_read_info->read_buffer);
- pfile_in_zip_read_info->read_buffer = NULL;
- if (pfile_in_zip_read_info->stream_initialised)
- inflateEnd(&pfile_in_zip_read_info->stream);
-
- pfile_in_zip_read_info->stream_initialised = 0;
- TRYFREE(pfile_in_zip_read_info);
-
- s->pfile_in_zip_read=NULL;
-
- return err;
-}
-
-
-/*
- Get the global comment string of the ZipFile, in the szComment buffer.
- uSizeBuf is the size of the szComment buffer.
- return the number of byte copied or an error code <0
-*/
-extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf)
- unzFile file;
- char *szComment;
- uLong uSizeBuf;
-{
- int err=UNZ_OK;
- unz_s* s;
- uLong uReadThis ;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz_s*)file;
-
- uReadThis = uSizeBuf;
- if (uReadThis>s->gi.size_comment)
- uReadThis = s->gi.size_comment;
-
- if (fseek(s->file,s->central_pos+22,SEEK_SET)!=0)
- return UNZ_ERRNO;
-
- if (uReadThis>0)
- {
- *szComment='\0';
- if (fread(szComment,(uInt)uReadThis,1,s->file)!=1)
- return UNZ_ERRNO;
- }
-
- if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment))
- *(szComment+s->gi.size_comment)='\0';
- return (int)uReadThis;
-}
diff --git a/zlib/contrib/minizip/unzip.def b/zlib/contrib/minizip/unzip.def
deleted file mode 100644
index f6ede89bc96..00000000000
--- a/zlib/contrib/minizip/unzip.def
+++ /dev/null
@@ -1,15 +0,0 @@
- unzOpen @61
- unzClose @62
- unzGetGlobalInfo @63
- unzGetCurrentFileInfo @64
- unzGoToFirstFile @65
- unzGoToNextFile @66
- unzOpenCurrentFile @67
- unzReadCurrentFile @68
- unztell @70
- unzeof @71
- unzCloseCurrentFile @72
- unzGetGlobalComment @73
- unzStringFileNameCompare @74
- unzLocateFile @75
- unzGetLocalExtrafield @76
diff --git a/zlib/contrib/minizip/unzip.h b/zlib/contrib/minizip/unzip.h
deleted file mode 100644
index 76692cb703c..00000000000
--- a/zlib/contrib/minizip/unzip.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/* unzip.h -- IO for uncompress .zip files using zlib
- Version 0.15 beta, Mar 19th, 1998,
-
- Copyright (C) 1998 Gilles Vollant
-
- This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g
- WinZip, InfoZip tools and compatible.
- Encryption and multi volume ZipFile (span) are not supported.
- Old compressions used by old PKZip 1.x are not supported
-
- THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
- CAN CHANGE IN FUTURE VERSION !!
- I WAIT FEEDBACK at mail info@winimage.com
- Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution
-
- Condition of use and distribution are the same than zlib :
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
-
-*/
-/* for more info about .ZIP format, see
- ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip
- PkWare has also a specification at :
- ftp://ftp.pkware.com/probdesc.zip */
-
-#ifndef _unz_H
-#define _unz_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
-/* like the STRICT of WIN32, we define a pointer that cannot be converted
- from (void*) without cast */
-typedef struct TagunzFile__ { int unused; } unzFile__;
-typedef unzFile__ *unzFile;
-#else
-typedef voidp unzFile;
-#endif
-
-
-#define UNZ_OK (0)
-#define UNZ_END_OF_LIST_OF_FILE (-100)
-#define UNZ_ERRNO (Z_ERRNO)
-#define UNZ_EOF (0)
-#define UNZ_PARAMERROR (-102)
-#define UNZ_BADZIPFILE (-103)
-#define UNZ_INTERNALERROR (-104)
-#define UNZ_CRCERROR (-105)
-
-/* tm_unz contain date/time info */
-typedef struct tm_unz_s
-{
- uInt tm_sec; /* seconds after the minute - [0,59] */
- uInt tm_min; /* minutes after the hour - [0,59] */
- uInt tm_hour; /* hours since midnight - [0,23] */
- uInt tm_mday; /* day of the month - [1,31] */
- uInt tm_mon; /* months since January - [0,11] */
- uInt tm_year; /* years - [1980..2044] */
-} tm_unz;
-
-/* unz_global_info structure contain global data about the ZIPfile
- These data comes from the end of central dir */
-typedef struct unz_global_info_s
-{
- uLong number_entry; /* total number of entries in
- the central dir on this disk */
- uLong size_comment; /* size of the global comment of the zipfile */
-} unz_global_info;
-
-
-/* unz_file_info contain information about a file in the zipfile */
-typedef struct unz_file_info_s
-{
- uLong version; /* version made by 2 bytes */
- uLong version_needed; /* version needed to extract 2 bytes */
- uLong flag; /* general purpose bit flag 2 bytes */
- uLong compression_method; /* compression method 2 bytes */
- uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
- uLong crc; /* crc-32 4 bytes */
- uLong compressed_size; /* compressed size 4 bytes */
- uLong uncompressed_size; /* uncompressed size 4 bytes */
- uLong size_filename; /* filename length 2 bytes */
- uLong size_file_extra; /* extra field length 2 bytes */
- uLong size_file_comment; /* file comment length 2 bytes */
-
- uLong disk_num_start; /* disk number start 2 bytes */
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-
- tm_unz tmu_date;
-} unz_file_info;
-
-extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
- const char* fileName2,
- int iCaseSensitivity));
-/*
- Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
- or strcasecmp)
- If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
- (like 1 on Unix, 2 on Windows)
-*/
-
-
-extern unzFile ZEXPORT unzOpen OF((const char *path));
-/*
- Open a Zip file. path contain the full pathname (by example,
- on a Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer
- "zlib/zlib111.zip".
- If the zipfile cannot be opened (file don't exist or in not valid), the
- return value is NULL.
- Else, the return value is a unzFile Handle, usable with other function
- of this unzip package.
-*/
-
-extern int ZEXPORT unzClose OF((unzFile file));
-/*
- Close a ZipFile opened with unzipOpen.
- If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
- these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
- return UNZ_OK if there is no problem. */
-
-extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
- unz_global_info *pglobal_info));
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem. */
-
-
-extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
- char *szComment,
- uLong uSizeBuf));
-/*
- Get the global comment string of the ZipFile, in the szComment buffer.
- uSizeBuf is the size of the szComment buffer.
- return the number of byte copied or an error code <0
-*/
-
-
-/***************************************************************************/
-/* Unzip package allow you browse the directory of the zipfile */
-
-extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
-/*
- Set the current file of the zipfile to the first file.
- return UNZ_OK if there is no problem
-*/
-
-extern int ZEXPORT unzGoToNextFile OF((unzFile file));
-/*
- Set the current file of the zipfile to the next file.
- return UNZ_OK if there is no problem
- return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
-*/
-
-extern int ZEXPORT unzLocateFile OF((unzFile file,
- const char *szFileName,
- int iCaseSensitivity));
-/*
- Try locate the file szFileName in the zipfile.
- For the iCaseSensitivity signification, see unzStringFileNameCompare
-
- return value :
- UNZ_OK if the file is found. It becomes the current file.
- UNZ_END_OF_LIST_OF_FILE if the file is not found
-*/
-
-
-extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
- unz_file_info *pfile_info,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-/*
- Get Info about the current file
- if pfile_info!=NULL, the *pfile_info structure will contain somes info about
- the current file
- if szFileName!=NULL, the filemane string will be copied in szFileName
- (fileNameBufferSize is the size of the buffer)
- if extraField!=NULL, the extra field information will be copied in extraField
- (extraFieldBufferSize is the size of the buffer).
- This is the Central-header version of the extra field
- if szComment!=NULL, the comment string of the file will be copied in szComment
- (commentBufferSize is the size of the buffer)
-*/
-
-/***************************************************************************/
-/* for reading the content of the current zipfile, you can open it, read data
- from it, and close it (you can close it before reading all the file)
- */
-
-extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
-/*
- Open for reading data the current file in the zipfile.
- If there is no error, the return value is UNZ_OK.
-*/
-
-extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
-/*
- Close the file in zip opened with unzOpenCurrentFile
- Return UNZ_CRCERROR if all the file was read but the CRC is not good
-*/
-
-
-extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
- voidp buf,
- unsigned len));
-/*
- Read bytes from the current file (opened by unzOpenCurrentFile)
- buf contain buffer where data must be copied
- len the size of buf.
-
- return the number of byte copied if somes bytes are copied
- return 0 if the end of file was reached
- return <0 with error code if there is an error
- (UNZ_ERRNO for IO error, or zLib error for uncompress error)
-*/
-
-extern z_off_t ZEXPORT unztell OF((unzFile file));
-/*
- Give the current position in uncompressed data
-*/
-
-extern int ZEXPORT unzeof OF((unzFile file));
-/*
- return 1 if the end of file was reached, 0 elsewhere
-*/
-
-extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
- voidp buf,
- unsigned len));
-/*
- Read extra field from the current file (opened by unzOpenCurrentFile)
- This is the local-header version of the extra field (sometimes, there is
- more info in the local-header version than in the central-header)
-
- if buf==NULL, it return the size of the local extra field
-
- if buf!=NULL, len is the size of the buffer, the extra header is copied in
- buf.
- the return value is the number of bytes copied in buf, or (if <0)
- the error code
-*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _unz_H */
diff --git a/zlib/contrib/minizip/zip.c b/zlib/contrib/minizip/zip.c
deleted file mode 100644
index 0cae64ab7b1..00000000000
--- a/zlib/contrib/minizip/zip.c
+++ /dev/null
@@ -1,718 +0,0 @@
-/* zip.c -- IO on .zip files using zlib
- Version 0.15 beta, Mar 19th, 1998,
-
- Read zip.h for more info
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "zlib.h"
-#include "zip.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-#ifndef VERSIONMADEBY
-# define VERSIONMADEBY (0x0) /* platform depedent */
-#endif
-
-#ifndef Z_BUFSIZE
-#define Z_BUFSIZE (16384)
-#endif
-
-#ifndef Z_MAXFILENAMEINZIP
-#define Z_MAXFILENAMEINZIP (256)
-#endif
-
-#ifndef ALLOC
-# define ALLOC(size) (malloc(size))
-#endif
-#ifndef TRYFREE
-# define TRYFREE(p) {if (p) free(p);}
-#endif
-
-/*
-#define SIZECENTRALDIRITEM (0x2e)
-#define SIZEZIPLOCALHEADER (0x1e)
-*/
-
-/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
-
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-
-const char zip_copyright[] =
- " zip 0.15 Copyright 1998 Gilles Vollant ";
-
-
-#define SIZEDATA_INDATABLOCK (4096-(4*4))
-
-#define LOCALHEADERMAGIC (0x04034b50)
-#define CENTRALHEADERMAGIC (0x02014b50)
-#define ENDHEADERMAGIC (0x06054b50)
-
-#define FLAG_LOCALHEADER_OFFSET (0x06)
-#define CRC_LOCALHEADER_OFFSET (0x0e)
-
-#define SIZECENTRALHEADER (0x2e) /* 46 */
-
-typedef struct linkedlist_datablock_internal_s
-{
- struct linkedlist_datablock_internal_s* next_datablock;
- uLong avail_in_this_block;
- uLong filled_in_this_block;
- uLong unused; /* for future use and alignement */
- unsigned char data[SIZEDATA_INDATABLOCK];
-} linkedlist_datablock_internal;
-
-typedef struct linkedlist_data_s
-{
- linkedlist_datablock_internal* first_block;
- linkedlist_datablock_internal* last_block;
-} linkedlist_data;
-
-
-typedef struct
-{
- z_stream stream; /* zLib stream structure for inflate */
- int stream_initialised; /* 1 is stream is initialised */
- uInt pos_in_buffered_data; /* last written byte in buffered_data */
-
- uLong pos_local_header; /* offset of the local header of the file
- currenty writing */
- char* central_header; /* central header data for the current file */
- uLong size_centralheader; /* size of the central header for cur file */
- uLong flag; /* flag of the file currently writing */
-
- int method; /* compression method of file currenty wr.*/
- Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/
- uLong dosDate;
- uLong crc32;
-} curfile_info;
-
-typedef struct
-{
- FILE * filezip;
- linkedlist_data central_dir;/* datablock with central dir in construction*/
- int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/
- curfile_info ci; /* info on the file curretly writing */
-
- uLong begin_pos; /* position of the beginning of the zipfile */
- uLong number_entry;
-} zip_internal;
-
-local linkedlist_datablock_internal* allocate_new_datablock()
-{
- linkedlist_datablock_internal* ldi;
- ldi = (linkedlist_datablock_internal*)
- ALLOC(sizeof(linkedlist_datablock_internal));
- if (ldi!=NULL)
- {
- ldi->next_datablock = NULL ;
- ldi->filled_in_this_block = 0 ;
- ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ;
- }
- return ldi;
-}
-
-local void free_datablock(ldi)
- linkedlist_datablock_internal* ldi;
-{
- while (ldi!=NULL)
- {
- linkedlist_datablock_internal* ldinext = ldi->next_datablock;
- TRYFREE(ldi);
- ldi = ldinext;
- }
-}
-
-local void init_linkedlist(ll)
- linkedlist_data* ll;
-{
- ll->first_block = ll->last_block = NULL;
-}
-
-local void free_linkedlist(ll)
- linkedlist_data* ll;
-{
- free_datablock(ll->first_block);
- ll->first_block = ll->last_block = NULL;
-}
-
-
-local int add_data_in_datablock(ll,buf,len)
- linkedlist_data* ll;
- const void* buf;
- uLong len;
-{
- linkedlist_datablock_internal* ldi;
- const unsigned char* from_copy;
-
- if (ll==NULL)
- return ZIP_INTERNALERROR;
-
- if (ll->last_block == NULL)
- {
- ll->first_block = ll->last_block = allocate_new_datablock();
- if (ll->first_block == NULL)
- return ZIP_INTERNALERROR;
- }
-
- ldi = ll->last_block;
- from_copy = (unsigned char*)buf;
-
- while (len>0)
- {
- uInt copy_this;
- uInt i;
- unsigned char* to_copy;
-
- if (ldi->avail_in_this_block==0)
- {
- ldi->next_datablock = allocate_new_datablock();
- if (ldi->next_datablock == NULL)
- return ZIP_INTERNALERROR;
- ldi = ldi->next_datablock ;
- ll->last_block = ldi;
- }
-
- if (ldi->avail_in_this_block < len)
- copy_this = (uInt)ldi->avail_in_this_block;
- else
- copy_this = (uInt)len;
-
- to_copy = &(ldi->data[ldi->filled_in_this_block]);
-
- for (i=0;i<copy_this;i++)
- *(to_copy+i)=*(from_copy+i);
-
- ldi->filled_in_this_block += copy_this;
- ldi->avail_in_this_block -= copy_this;
- from_copy += copy_this ;
- len -= copy_this;
- }
- return ZIP_OK;
-}
-
-
-local int write_datablock(fout,ll)
- FILE * fout;
- linkedlist_data* ll;
-{
- linkedlist_datablock_internal* ldi;
- ldi = ll->first_block;
- while (ldi!=NULL)
- {
- if (ldi->filled_in_this_block > 0)
- if (fwrite(ldi->data,(uInt)ldi->filled_in_this_block,1,fout)!=1)
- return ZIP_ERRNO;
- ldi = ldi->next_datablock;
- }
- return ZIP_OK;
-}
-
-/****************************************************************************/
-
-/* ===========================================================================
- Outputs a long in LSB order to the given file
- nbByte == 1, 2 or 4 (byte, short or long)
-*/
-
-local int ziplocal_putValue OF((FILE *file, uLong x, int nbByte));
-local int ziplocal_putValue (file, x, nbByte)
- FILE *file;
- uLong x;
- int nbByte;
-{
- unsigned char buf[4];
- int n;
- for (n = 0; n < nbByte; n++) {
- buf[n] = (unsigned char)(x & 0xff);
- x >>= 8;
- }
- if (fwrite(buf,nbByte,1,file)!=1)
- return ZIP_ERRNO;
- else
- return ZIP_OK;
-}
-
-local void ziplocal_putValue_inmemory OF((void* dest, uLong x, int nbByte));
-local void ziplocal_putValue_inmemory (dest, x, nbByte)
- void* dest;
- uLong x;
- int nbByte;
-{
- unsigned char* buf=(unsigned char*)dest;
- int n;
- for (n = 0; n < nbByte; n++) {
- buf[n] = (unsigned char)(x & 0xff);
- x >>= 8;
- }
-}
-/****************************************************************************/
-
-
-local uLong ziplocal_TmzDateToDosDate(ptm,dosDate)
- tm_zip* ptm;
- uLong dosDate;
-{
- uLong year = (uLong)ptm->tm_year;
- if (year>1980)
- year-=1980;
- else if (year>80)
- year-=80;
- return
- (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) |
- ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour));
-}
-
-
-/****************************************************************************/
-
-extern zipFile ZEXPORT zipOpen (pathname, append)
- const char *pathname;
- int append;
-{
- zip_internal ziinit;
- zip_internal* zi;
-
- ziinit.filezip = fopen(pathname,(append == 0) ? "wb" : "ab");
- if (ziinit.filezip == NULL)
- return NULL;
- ziinit.begin_pos = ftell(ziinit.filezip);
- ziinit.in_opened_file_inzip = 0;
- ziinit.ci.stream_initialised = 0;
- ziinit.number_entry = 0;
- init_linkedlist(&(ziinit.central_dir));
-
-
- zi = (zip_internal*)ALLOC(sizeof(zip_internal));
- if (zi==NULL)
- {
- fclose(ziinit.filezip);
- return NULL;
- }
-
- *zi = ziinit;
- return (zipFile)zi;
-}
-
-extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level)
- zipFile file;
- const char* filename;
- const zip_fileinfo* zipfi;
- const void* extrafield_local;
- uInt size_extrafield_local;
- const void* extrafield_global;
- uInt size_extrafield_global;
- const char* comment;
- int method;
- int level;
-{
- zip_internal* zi;
- uInt size_filename;
- uInt size_comment;
- uInt i;
- int err = ZIP_OK;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
- if ((method!=0) && (method!=Z_DEFLATED))
- return ZIP_PARAMERROR;
-
- zi = (zip_internal*)file;
-
- if (zi->in_opened_file_inzip == 1)
- {
- err = zipCloseFileInZip (file);
- if (err != ZIP_OK)
- return err;
- }
-
-
- if (filename==NULL)
- filename="-";
-
- if (comment==NULL)
- size_comment = 0;
- else
- size_comment = strlen(comment);
-
- size_filename = strlen(filename);
-
- if (zipfi == NULL)
- zi->ci.dosDate = 0;
- else
- {
- if (zipfi->dosDate != 0)
- zi->ci.dosDate = zipfi->dosDate;
- else zi->ci.dosDate = ziplocal_TmzDateToDosDate(&zipfi->tmz_date,zipfi->dosDate);
- }
-
- zi->ci.flag = 0;
- if ((level==8) || (level==9))
- zi->ci.flag |= 2;
- if ((level==2))
- zi->ci.flag |= 4;
- if ((level==1))
- zi->ci.flag |= 6;
-
- zi->ci.crc32 = 0;
- zi->ci.method = method;
- zi->ci.stream_initialised = 0;
- zi->ci.pos_in_buffered_data = 0;
- zi->ci.pos_local_header = ftell(zi->filezip);
- zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename +
- size_extrafield_global + size_comment;
- zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader);
-
- ziplocal_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4);
- /* version info */
- ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)VERSIONMADEBY,2);
- ziplocal_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2);
- ziplocal_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2);
- ziplocal_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2);
- ziplocal_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4);
- ziplocal_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/
- ziplocal_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/
- ziplocal_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/
- ziplocal_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2);
- ziplocal_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2);
- ziplocal_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2);
- ziplocal_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/
-
- if (zipfi==NULL)
- ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2);
- else
- ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2);
-
- if (zipfi==NULL)
- ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4);
- else
- ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4);
-
- ziplocal_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header,4);
-
- for (i=0;i<size_filename;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+i) = *(filename+i);
-
- for (i=0;i<size_extrafield_global;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+i) =
- *(((const char*)extrafield_global)+i);
-
- for (i=0;i<size_comment;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+
- size_extrafield_global+i) = *(filename+i);
- if (zi->ci.central_header == NULL)
- return ZIP_INTERNALERROR;
-
- /* write the local header */
- err = ziplocal_putValue(zi->filezip,(uLong)LOCALHEADERMAGIC,4);
-
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)20,2);/* version needed to extract */
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)zi->ci.flag,2);
-
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)zi->ci.method,2);
-
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)zi->ci.dosDate,4);
-
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)0,4); /* crc 32, unknown */
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)0,4); /* compressed size, unknown */
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)0,4); /* uncompressed size, unknown */
-
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)size_filename,2);
-
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)size_extrafield_local,2);
-
- if ((err==ZIP_OK) && (size_filename>0))
- if (fwrite(filename,(uInt)size_filename,1,zi->filezip)!=1)
- err = ZIP_ERRNO;
-
- if ((err==ZIP_OK) && (size_extrafield_local>0))
- if (fwrite(extrafield_local,(uInt)size_extrafield_local,1,zi->filezip)
- !=1)
- err = ZIP_ERRNO;
-
- zi->ci.stream.avail_in = (uInt)0;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- zi->ci.stream.total_in = 0;
- zi->ci.stream.total_out = 0;
-
- if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED))
- {
- zi->ci.stream.zalloc = (alloc_func)0;
- zi->ci.stream.zfree = (free_func)0;
- zi->ci.stream.opaque = (voidpf)0;
-
- err = deflateInit2(&zi->ci.stream, level,
- Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, 0);
-
- if (err==Z_OK)
- zi->ci.stream_initialised = 1;
- }
-
-
- if (err==Z_OK)
- zi->in_opened_file_inzip = 1;
- return err;
-}
-
-extern int ZEXPORT zipWriteInFileInZip (file, buf, len)
- zipFile file;
- const voidp buf;
- unsigned len;
-{
- zip_internal* zi;
- int err=ZIP_OK;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
- zi = (zip_internal*)file;
-
- if (zi->in_opened_file_inzip == 0)
- return ZIP_PARAMERROR;
-
- zi->ci.stream.next_in = buf;
- zi->ci.stream.avail_in = len;
- zi->ci.crc32 = crc32(zi->ci.crc32,buf,len);
-
- while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
- {
- if (zi->ci.stream.avail_out == 0)
- {
- if (fwrite(zi->ci.buffered_data,(uInt)zi->ci.pos_in_buffered_data,1,zi->filezip)
- !=1)
- err = ZIP_ERRNO;
- zi->ci.pos_in_buffered_data = 0;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- }
-
- if (zi->ci.method == Z_DEFLATED)
- {
- uLong uTotalOutBefore = zi->ci.stream.total_out;
- err=deflate(&zi->ci.stream, Z_NO_FLUSH);
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
-
- }
- else
- {
- uInt copy_this,i;
- if (zi->ci.stream.avail_in < zi->ci.stream.avail_out)
- copy_this = zi->ci.stream.avail_in;
- else
- copy_this = zi->ci.stream.avail_out;
- for (i=0;i<copy_this;i++)
- *(((char*)zi->ci.stream.next_out)+i) =
- *(((const char*)zi->ci.stream.next_in)+i);
- {
- zi->ci.stream.avail_in -= copy_this;
- zi->ci.stream.avail_out-= copy_this;
- zi->ci.stream.next_in+= copy_this;
- zi->ci.stream.next_out+= copy_this;
- zi->ci.stream.total_in+= copy_this;
- zi->ci.stream.total_out+= copy_this;
- zi->ci.pos_in_buffered_data += copy_this;
- }
- }
- }
-
- return 0;
-}
-
-extern int ZEXPORT zipCloseFileInZip (file)
- zipFile file;
-{
- zip_internal* zi;
- int err=ZIP_OK;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
- zi = (zip_internal*)file;
-
- if (zi->in_opened_file_inzip == 0)
- return ZIP_PARAMERROR;
- zi->ci.stream.avail_in = 0;
-
- if (zi->ci.method == Z_DEFLATED)
- while (err==ZIP_OK)
- {
- uLong uTotalOutBefore;
- if (zi->ci.stream.avail_out == 0)
- {
- if (fwrite(zi->ci.buffered_data,(uInt)zi->ci.pos_in_buffered_data,1,zi->filezip)
- !=1)
- err = ZIP_ERRNO;
- zi->ci.pos_in_buffered_data = 0;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- }
- uTotalOutBefore = zi->ci.stream.total_out;
- err=deflate(&zi->ci.stream, Z_FINISH);
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
- }
-
- if (err==Z_STREAM_END)
- err=ZIP_OK; /* this is normal */
-
- if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK))
- if (fwrite(zi->ci.buffered_data,(uInt)zi->ci.pos_in_buffered_data,1,zi->filezip)
- !=1)
- err = ZIP_ERRNO;
-
- if ((zi->ci.method == Z_DEFLATED) && (err==ZIP_OK))
- {
- err=deflateEnd(&zi->ci.stream);
- zi->ci.stream_initialised = 0;
- }
-
- ziplocal_putValue_inmemory(zi->ci.central_header+16,(uLong)zi->ci.crc32,4); /*crc*/
- ziplocal_putValue_inmemory(zi->ci.central_header+20,
- (uLong)zi->ci.stream.total_out,4); /*compr size*/
- ziplocal_putValue_inmemory(zi->ci.central_header+24,
- (uLong)zi->ci.stream.total_in,4); /*uncompr size*/
-
- if (err==ZIP_OK)
- err = add_data_in_datablock(&zi->central_dir,zi->ci.central_header,
- (uLong)zi->ci.size_centralheader);
- free(zi->ci.central_header);
-
- if (err==ZIP_OK)
- {
- long cur_pos_inzip = ftell(zi->filezip);
- if (fseek(zi->filezip,
- zi->ci.pos_local_header + 14,SEEK_SET)!=0)
- err = ZIP_ERRNO;
-
- if (err==ZIP_OK)
- err = ziplocal_putValue(zi->filezip,(uLong)zi->ci.crc32,4); /* crc 32, unknown */
-
- if (err==ZIP_OK) /* compressed size, unknown */
- err = ziplocal_putValue(zi->filezip,(uLong)zi->ci.stream.total_out,4);
-
- if (err==ZIP_OK) /* uncompressed size, unknown */
- err = ziplocal_putValue(zi->filezip,(uLong)zi->ci.stream.total_in,4);
-
- if (fseek(zi->filezip,
- cur_pos_inzip,SEEK_SET)!=0)
- err = ZIP_ERRNO;
- }
-
- zi->number_entry ++;
- zi->in_opened_file_inzip = 0;
-
- return err;
-}
-
-extern int ZEXPORT zipClose (file, global_comment)
- zipFile file;
- const char* global_comment;
-{
- zip_internal* zi;
- int err = 0;
- uLong size_centraldir = 0;
- uLong centraldir_pos_inzip ;
- uInt size_global_comment;
- if (file == NULL)
- return ZIP_PARAMERROR;
- zi = (zip_internal*)file;
-
- if (zi->in_opened_file_inzip == 1)
- {
- err = zipCloseFileInZip (file);
- }
-
- if (global_comment==NULL)
- size_global_comment = 0;
- else
- size_global_comment = strlen(global_comment);
-
-
- centraldir_pos_inzip = ftell(zi->filezip);
- if (err==ZIP_OK)
- {
- linkedlist_datablock_internal* ldi = zi->central_dir.first_block ;
- while (ldi!=NULL)
- {
- if ((err==ZIP_OK) && (ldi->filled_in_this_block>0))
- if (fwrite(ldi->data,(uInt)ldi->filled_in_this_block,
- 1,zi->filezip) !=1 )
- err = ZIP_ERRNO;
-
- size_centraldir += ldi->filled_in_this_block;
- ldi = ldi->next_datablock;
- }
- }
- free_datablock(zi->central_dir.first_block);
-
- if (err==ZIP_OK) /* Magic End */
- err = ziplocal_putValue(zi->filezip,(uLong)ENDHEADERMAGIC,4);
-
- if (err==ZIP_OK) /* number of this disk */
- err = ziplocal_putValue(zi->filezip,(uLong)0,2);
-
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = ziplocal_putValue(zi->filezip,(uLong)0,2);
-
- if (err==ZIP_OK) /* total number of entries in the central dir on this disk */
- err = ziplocal_putValue(zi->filezip,(uLong)zi->number_entry,2);
-
- if (err==ZIP_OK) /* total number of entries in the central dir */
- err = ziplocal_putValue(zi->filezip,(uLong)zi->number_entry,2);
-
- if (err==ZIP_OK) /* size of the central directory */
- err = ziplocal_putValue(zi->filezip,(uLong)size_centraldir,4);
-
- if (err==ZIP_OK) /* offset of start of central directory with respect to the
- starting disk number */
- err = ziplocal_putValue(zi->filezip,(uLong)centraldir_pos_inzip ,4);
-
- if (err==ZIP_OK) /* zipfile comment length */
- err = ziplocal_putValue(zi->filezip,(uLong)size_global_comment,2);
-
- if ((err==ZIP_OK) && (size_global_comment>0))
- if (fwrite(global_comment,(uInt)size_global_comment,1,zi->filezip) !=1 )
- err = ZIP_ERRNO;
- fclose(zi->filezip);
- TRYFREE(zi);
-
- return err;
-}
diff --git a/zlib/contrib/minizip/zip.def b/zlib/contrib/minizip/zip.def
deleted file mode 100644
index 5d5079fbcee..00000000000
--- a/zlib/contrib/minizip/zip.def
+++ /dev/null
@@ -1,5 +0,0 @@
- zipOpen @80
- zipOpenNewFileInZip @81
- zipWriteInFileInZip @82
- zipCloseFileInZip @83
- zipClose @84
diff --git a/zlib/contrib/minizip/zip.h b/zlib/contrib/minizip/zip.h
deleted file mode 100644
index 678260b330b..00000000000
--- a/zlib/contrib/minizip/zip.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/* zip.h -- IO for compress .zip files using zlib
- Version 0.15 alpha, Mar 19th, 1998,
-
- Copyright (C) 1998 Gilles Vollant
-
- This unzip package allow creates .ZIP file, compatible with PKZip 2.04g
- WinZip, InfoZip tools and compatible.
- Encryption and multi volume ZipFile (span) are not supported.
- Old compressions used by old PKZip 1.x are not supported
-
- For uncompress .zip file, look at unzip.h
-
- THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
- CAN CHANGE IN FUTURE VERSION !!
- I WAIT FEEDBACK at mail info@winimage.com
- Visit also http://www.winimage.com/zLibDll/zip.htm for evolution
-
- Condition of use and distribution are the same than zlib :
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
-
-*/
-
-/* for more info about .ZIP format, see
- ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip
- PkWare has also a specification at :
- ftp://ftp.pkware.com/probdesc.zip
-*/
-
-#ifndef _zip_H
-#define _zip_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#if defined(STRICTZIP) || defined(STRICTZIPUNZIP)
-/* like the STRICT of WIN32, we define a pointer that cannot be converted
- from (void*) without cast */
-typedef struct TagzipFile__ { int unused; } zipFile__;
-typedef zipFile__ *zipFile;
-#else
-typedef voidp zipFile;
-#endif
-
-#define ZIP_OK (0)
-#define ZIP_ERRNO (Z_ERRNO)
-#define ZIP_PARAMERROR (-102)
-#define ZIP_INTERNALERROR (-104)
-
-/* tm_zip contain date/time info */
-typedef struct tm_zip_s
-{
- uInt tm_sec; /* seconds after the minute - [0,59] */
- uInt tm_min; /* minutes after the hour - [0,59] */
- uInt tm_hour; /* hours since midnight - [0,23] */
- uInt tm_mday; /* day of the month - [1,31] */
- uInt tm_mon; /* months since January - [0,11] */
- uInt tm_year; /* years - [1980..2044] */
-} tm_zip;
-
-typedef struct
-{
- tm_zip tmz_date; /* date in understandable format */
- uLong dosDate; /* if dos_date == 0, tmu_date is used */
-/* uLong flag; */ /* general purpose bit flag 2 bytes */
-
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-} zip_fileinfo;
-
-extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append));
-/*
- Create a zipfile.
- pathname contain on Windows NT a filename like "c:\\zlib\\zlib111.zip" or on
- an Unix computer "zlib/zlib111.zip".
- if the file pathname exist and append=1, the zip will be created at the end
- of the file. (useful if the file contain a self extractor code)
- If the zipfile cannot be opened, the return value is NULL.
- Else, the return value is a zipFile Handle, usable with other function
- of this zip package.
-
-
-*/
-
-extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level));
-/*
- Open a file in the ZIP for writing.
- filename : the filename in zip (if NULL, '-' without quote will be used
- *zipfi contain supplemental information
- if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local
- contains the extrafield data the the local header
- if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global
- contains the extrafield data the the local header
- if comment != NULL, comment contain the comment string
- method contain the compression method (0 for store, Z_DEFLATED for deflate)
- level contain the level of compression (can be Z_DEFAULT_COMPRESSION)
-*/
-
-extern int ZEXPORT zipWriteInFileInZip OF((zipFile file,
- const voidp buf,
- unsigned len));
-/*
- Write data in the zipfile
-*/
-
-extern int ZEXPORT zipCloseFileInZip OF((zipFile file));
-/*
- Close the current file in the zipfile
-*/
-
-extern int ZEXPORT zipClose OF((zipFile file,
- const char* global_comment));
-/*
- Close the zipfile
-*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _zip_H */
diff --git a/zlib/contrib/minizip/zlibvc.def b/zlib/contrib/minizip/zlibvc.def
deleted file mode 100644
index 7e9d60d55d9..00000000000
--- a/zlib/contrib/minizip/zlibvc.def
+++ /dev/null
@@ -1,74 +0,0 @@
-LIBRARY "zlib"
-
-DESCRIPTION '"""zlib data compression library"""'
-
-
-VERSION 1.11
-
-
-HEAPSIZE 1048576,8192
-
-EXPORTS
- adler32 @1
- compress @2
- crc32 @3
- deflate @4
- deflateCopy @5
- deflateEnd @6
- deflateInit2_ @7
- deflateInit_ @8
- deflateParams @9
- deflateReset @10
- deflateSetDictionary @11
- gzclose @12
- gzdopen @13
- gzerror @14
- gzflush @15
- gzopen @16
- gzread @17
- gzwrite @18
- inflate @19
- inflateEnd @20
- inflateInit2_ @21
- inflateInit_ @22
- inflateReset @23
- inflateSetDictionary @24
- inflateSync @25
- uncompress @26
- zlibVersion @27
- gzprintf @28
- gzputc @29
- gzgetc @30
- gzseek @31
- gzrewind @32
- gztell @33
- gzeof @34
- gzsetparams @35
- zError @36
- inflateSyncPoint @37
- get_crc_table @38
- compress2 @39
- gzputs @40
- gzgets @41
-
- unzOpen @61
- unzClose @62
- unzGetGlobalInfo @63
- unzGetCurrentFileInfo @64
- unzGoToFirstFile @65
- unzGoToNextFile @66
- unzOpenCurrentFile @67
- unzReadCurrentFile @68
- unztell @70
- unzeof @71
- unzCloseCurrentFile @72
- unzGetGlobalComment @73
- unzStringFileNameCompare @74
- unzLocateFile @75
- unzGetLocalExtrafield @76
-
- zipOpen @80
- zipOpenNewFileInZip @81
- zipWriteInFileInZip @82
- zipCloseFileInZip @83
- zipClose @84
diff --git a/zlib/contrib/minizip/zlibvc.dsp b/zlib/contrib/minizip/zlibvc.dsp
deleted file mode 100644
index a70d4d4a6b0..00000000000
--- a/zlib/contrib/minizip/zlibvc.dsp
+++ /dev/null
@@ -1,651 +0,0 @@
-# Microsoft Developer Studio Project File - Name="zlibvc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=zlibvc - Win32 Release
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "zlibvc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "zlibvc.mak" CFG="zlibvc - Win32 Release"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "zlibvc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseAxp" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseWithoutAsm" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "zlibvc - Win32 ReleaseWithoutCrtdll" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\Release"
-# PROP BASE Intermediate_Dir ".\Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\Release"
-# PROP Intermediate_Dir ".\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\Debug"
-# PROP BASE Intermediate_Dir ".\Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\Debug"
-# PROP Intermediate_Dir ".\Debug"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "_DEBUG"
-# ADD RSC /l 0x40c /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\zlib.dll"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc__"
-# PROP BASE Intermediate_Dir "zlibvc__"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc__"
-# PROP Intermediate_Dir "zlibvc__"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 crtdll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /machine:ALPHA /nodefaultlib /out:"zlibvc__\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc_0"
-# PROP BASE Intermediate_Dir "zlibvc_0"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc_0"
-# PROP Intermediate_Dir "zlibvc_0"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_0\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "zlibvc_1"
-# PROP BASE Intermediate_Dir "zlibvc_1"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "zlibvc_1"
-# PROP Intermediate_Dir "zlibvc_1"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINDLL" /D "_WIN32" /D "BUILD_ZLIBDLL" /D "ZLIB_DLL" /D "DYNAMIC_CRC_TABLE" /D "ASMV" /FAcs /FR /FD /c
-# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\Release\zlib.dll"
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 gvmat32.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib crtdll.lib /nologo /subsystem:windows /dll /map /machine:I386 /nodefaultlib /out:".\zlibvc_1\zlib.dll"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "zlibvc - Win32 Release"
-# Name "zlibvc - Win32 Debug"
-# Name "zlibvc - Win32 ReleaseAxp"
-# Name "zlibvc - Win32 ReleaseWithoutAsm"
-# Name "zlibvc - Win32 ReleaseWithoutCrtdll"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\adler32.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_ADLER=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\compress.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_COMPR=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\crc32.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_CRC32=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\deflate.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_DEFLA=\
- ".\deflate.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gvmat32c.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gzio.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_GZIO_=\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infblock.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFBL=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infcodes.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFCO=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inffast.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inffast.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFFA=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inffast.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inflate.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFLA=\
- ".\infblock.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\inftrees.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFTR=\
- ".\inftrees.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\infutil.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_INFUT=\
- ".\infblock.h"\
- ".\infcodes.h"\
- ".\inftrees.h"\
- ".\infutil.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\trees.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_TREES=\
- ".\deflate.h"\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\uncompr.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_UNCOM=\
- ".\zconf.h"\
- ".\zlib.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\unzip.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\zip.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlibvc.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\zutil.c
-
-!IF "$(CFG)" == "zlibvc - Win32 Release"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseAxp"
-
-DEP_CPP_ZUTIL=\
- ".\zconf.h"\
- ".\zlib.h"\
- ".\zutil.h"\
-
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutAsm"
-
-!ELSEIF "$(CFG)" == "zlibvc - Win32 ReleaseWithoutCrtdll"
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\deflate.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infblock.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infcodes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inffast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\inftrees.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\infutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zutil.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/zlib/contrib/minizip/zlibvc.dsw b/zlib/contrib/minizip/zlibvc.dsw
deleted file mode 100644
index 493cd870365..00000000000
--- a/zlib/contrib/minizip/zlibvc.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "zlibstat"=.\zlibstat.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "zlibvc"=.\zlibvc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/zlib/contrib/untgz/Makefile b/zlib/contrib/untgz/Makefile
deleted file mode 100644
index 409b4bdeaae..00000000000
--- a/zlib/contrib/untgz/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-CC=cc
-CFLAGS=-g
-
-untgz: untgz.o ../../libz.a
- $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz
-
-untgz.o: untgz.c ../../zlib.h
- $(CC) $(CFLAGS) -c -I../.. untgz.c
-
-../../libz.a:
- cd ../..; make
-
-clean:
- rm -f untgz untgz.o *~
diff --git a/zlib/contrib/untgz/makefile.w32 b/zlib/contrib/untgz/makefile.w32
deleted file mode 100644
index c99dc28cf55..00000000000
--- a/zlib/contrib/untgz/makefile.w32
+++ /dev/null
@@ -1,63 +0,0 @@
-# Makefile for zlib. Modified for mingw32
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile,
-#
-# make -fmakefile.w32
-#
-
-CC=gcc
-
-# Generate dependencies (see end of the file)
-
-CPPFLAGS=-MMD
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is not found, replace with copy /Y .
-CP=cp -f
-
-# The default value of RM is "rm -f."
-# If "rm.exe" is not found, uncomment:
-# RM=del
-
-LD=gcc
-LDLIBS=-L. -lz
-LDFLAGS=-s
-
-
-INCL=zlib.h zconf.h
-LIBS=libz.a
-
-AR=ar rcs
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o \
- inffast.o
-
-TEST_OBJS = minigzip.o untgz.o
-
-all: minigzip.exe untgz.exe
-
-rebuild: clean all
-
-libz.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $(LDFLAGS) -o $@ $< $(LDLIBS)
-
-.PHONY : clean
-
-clean:
- $(RM) *.d *.o *.exe libz.a foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
-
diff --git a/zlib/contrib/untgz/untgz.c b/zlib/contrib/untgz/untgz.c
deleted file mode 100644
index 4a431ff3163..00000000000
--- a/zlib/contrib/untgz/untgz.c
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
- * untgz.c -- Display contents and/or extract file from
- * a gzip'd TAR file
- * written by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
- * adaptation to Unix by Jean-loup Gailly <jloup@gzip.org>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-#ifdef unix
-# include <unistd.h>
-#else
-# include <direct.h>
-# include <io.h>
-#endif
-
-#include "zlib.h"
-
-#ifdef WIN32
-# ifndef F_OK
-# define F_OK (0)
-# endif
-# ifdef _MSC_VER
-# define mkdir(dirname,mode) _mkdir(dirname)
-# define strdup(str) _strdup(str)
-# define unlink(fn) _unlink(fn)
-# define access(path,mode) _access(path,mode)
-# else
-# define mkdir(dirname,mode) _mkdir(dirname)
-# endif
-#else
-# include <utime.h>
-#endif
-
-
-/* Values used in typeflag field. */
-
-#define REGTYPE '0' /* regular file */
-#define AREGTYPE '\0' /* regular file */
-#define LNKTYPE '1' /* link */
-#define SYMTYPE '2' /* reserved */
-#define CHRTYPE '3' /* character special */
-#define BLKTYPE '4' /* block special */
-#define DIRTYPE '5' /* directory */
-#define FIFOTYPE '6' /* FIFO special */
-#define CONTTYPE '7' /* reserved */
-
-#define BLOCKSIZE 512
-
-struct tar_header
-{ /* byte offset */
- char name[100]; /* 0 */
- char mode[8]; /* 100 */
- char uid[8]; /* 108 */
- char gid[8]; /* 116 */
- char size[12]; /* 124 */
- char mtime[12]; /* 136 */
- char chksum[8]; /* 148 */
- char typeflag; /* 156 */
- char linkname[100]; /* 157 */
- char magic[6]; /* 257 */
- char version[2]; /* 263 */
- char uname[32]; /* 265 */
- char gname[32]; /* 297 */
- char devmajor[8]; /* 329 */
- char devminor[8]; /* 337 */
- char prefix[155]; /* 345 */
- /* 500 */
-};
-
-union tar_buffer {
- char buffer[BLOCKSIZE];
- struct tar_header header;
-};
-
-enum { TGZ_EXTRACT = 0, TGZ_LIST };
-
-static char *TGZfname OF((const char *));
-void TGZnotfound OF((const char *));
-
-int getoct OF((char *, int));
-char *strtime OF((time_t *));
-int ExprMatch OF((char *,char *));
-
-int makedir OF((char *));
-int matchname OF((int,int,char **,char *));
-
-void error OF((const char *));
-int tar OF((gzFile, int, int, int, char **));
-
-void help OF((int));
-int main OF((int, char **));
-
-char *prog;
-
-/* This will give a benign warning */
-
-static char *TGZprefix[] = { "\0", ".tgz", ".tar.gz", ".tar", NULL };
-
-/* Return the real name of the TGZ archive */
-/* or NULL if it does not exist. */
-
-static char *TGZfname OF((const char *fname))
-{
- static char buffer[1024];
- int origlen,i;
-
- strcpy(buffer,fname);
- origlen = strlen(buffer);
-
- for (i=0; TGZprefix[i]; i++)
- {
- strcpy(buffer+origlen,TGZprefix[i]);
- if (access(buffer,F_OK) == 0)
- return buffer;
- }
- return NULL;
-}
-
-/* error message for the filename */
-
-void TGZnotfound OF((const char *fname))
-{
- int i;
-
- fprintf(stderr,"%s : couldn't find ",prog);
- for (i=0;TGZprefix[i];i++)
- fprintf(stderr,(TGZprefix[i+1]) ? "%s%s, " : "or %s%s\n",
- fname,
- TGZprefix[i]);
- exit(1);
-}
-
-
-/* help functions */
-
-int getoct(char *p,int width)
-{
- int result = 0;
- char c;
-
- while (width --)
- {
- c = *p++;
- if (c == ' ')
- continue;
- if (c == 0)
- break;
- result = result * 8 + (c - '0');
- }
- return result;
-}
-
-char *strtime (time_t *t)
-{
- struct tm *local;
- static char result[32];
-
- local = localtime(t);
- sprintf(result,"%2d/%02d/%4d %02d:%02d:%02d",
- local->tm_mday, local->tm_mon+1, local->tm_year+1900,
- local->tm_hour, local->tm_min, local->tm_sec);
- return result;
-}
-
-
-/* regular expression matching */
-
-#define ISSPECIAL(c) (((c) == '*') || ((c) == '/'))
-
-int ExprMatch(char *string,char *expr)
-{
- while (1)
- {
- if (ISSPECIAL(*expr))
- {
- if (*expr == '/')
- {
- if (*string != '\\' && *string != '/')
- return 0;
- string ++; expr++;
- }
- else if (*expr == '*')
- {
- if (*expr ++ == 0)
- return 1;
- while (*++string != *expr)
- if (*string == 0)
- return 0;
- }
- }
- else
- {
- if (*string != *expr)
- return 0;
- if (*expr++ == 0)
- return 1;
- string++;
- }
- }
-}
-
-/* recursive make directory */
-/* abort if you get an ENOENT errno somewhere in the middle */
-/* e.g. ignore error "mkdir on existing directory" */
-/* */
-/* return 1 if OK */
-/* 0 on error */
-
-int makedir (char *newdir)
-{
- char *buffer = strdup(newdir);
- char *p;
- int len = strlen(buffer);
-
- if (len <= 0) {
- free(buffer);
- return 0;
- }
- if (buffer[len-1] == '/') {
- buffer[len-1] = '\0';
- }
- if (mkdir(buffer, 0775) == 0)
- {
- free(buffer);
- return 1;
- }
-
- p = buffer+1;
- while (1)
- {
- char hold;
-
- while(*p && *p != '\\' && *p != '/')
- p++;
- hold = *p;
- *p = 0;
- if ((mkdir(buffer, 0775) == -1) && (errno == ENOENT))
- {
- fprintf(stderr,"%s: couldn't create directory %s\n",prog,buffer);
- free(buffer);
- return 0;
- }
- if (hold == 0)
- break;
- *p++ = hold;
- }
- free(buffer);
- return 1;
-}
-
-int matchname (int arg,int argc,char **argv,char *fname)
-{
- if (arg == argc) /* no arguments given (untgz tgzarchive) */
- return 1;
-
- while (arg < argc)
- if (ExprMatch(fname,argv[arg++]))
- return 1;
-
- return 0; /* ignore this for the moment being */
-}
-
-
-/* Tar file list or extract */
-
-int tar (gzFile in,int action,int arg,int argc,char **argv)
-{
- union tar_buffer buffer;
- int len;
- int err;
- int getheader = 1;
- int remaining = 0;
- FILE *outfile = NULL;
- char fname[BLOCKSIZE];
- time_t tartime;
-
- if (action == TGZ_LIST)
- printf(" day time size file\n"
- " ---------- -------- --------- -------------------------------------\n");
- while (1)
- {
- len = gzread(in, &buffer, BLOCKSIZE);
- if (len < 0)
- error (gzerror(in, &err));
- /*
- * Always expect complete blocks to process
- * the tar information.
- */
- if (len != BLOCKSIZE)
- error("gzread: incomplete block read");
-
- /*
- * If we have to get a tar header
- */
- if (getheader == 1)
- {
- /*
- * if we met the end of the tar
- * or the end-of-tar block,
- * we are done
- */
- if ((len == 0) || (buffer.header.name[0]== 0)) break;
-
- tartime = (time_t)getoct(buffer.header.mtime,12);
- strcpy(fname,buffer.header.name);
-
- switch (buffer.header.typeflag)
- {
- case DIRTYPE:
- if (action == TGZ_LIST)
- printf(" %s <dir> %s\n",strtime(&tartime),fname);
- if (action == TGZ_EXTRACT)
- makedir(fname);
- break;
- case REGTYPE:
- case AREGTYPE:
- remaining = getoct(buffer.header.size,12);
- if (action == TGZ_LIST)
- printf(" %s %9d %s\n",strtime(&tartime),remaining,fname);
- if (action == TGZ_EXTRACT)
- {
- if ((remaining) && (matchname(arg,argc,argv,fname)))
- {
- outfile = fopen(fname,"wb");
- if (outfile == NULL) {
- /* try creating directory */
- char *p = strrchr(fname, '/');
- if (p != NULL) {
- *p = '\0';
- makedir(fname);
- *p = '/';
- outfile = fopen(fname,"wb");
- }
- }
- fprintf(stderr,
- "%s %s\n",
- (outfile) ? "Extracting" : "Couldn't create",
- fname);
- }
- else
- outfile = NULL;
- }
- /*
- * could have no contents
- */
- getheader = (remaining) ? 0 : 1;
- break;
- default:
- if (action == TGZ_LIST)
- printf(" %s <---> %s\n",strtime(&tartime),fname);
- break;
- }
- }
- else
- {
- unsigned int bytes = (remaining > BLOCKSIZE) ? BLOCKSIZE : remaining;
-
- if ((action == TGZ_EXTRACT) && (outfile != NULL))
- {
- if (fwrite(&buffer,sizeof(char),bytes,outfile) != bytes)
- {
- fprintf(stderr,"%s : error writing %s skipping...\n",prog,fname);
- fclose(outfile);
- unlink(fname);
- }
- }
- remaining -= bytes;
- if (remaining == 0)
- {
- getheader = 1;
- if ((action == TGZ_EXTRACT) && (outfile != NULL))
- {
-#ifdef WIN32
- HANDLE hFile;
- FILETIME ftm,ftLocal;
- SYSTEMTIME st;
- struct tm localt;
-
- fclose(outfile);
-
- localt = *localtime(&tartime);
-
- hFile = CreateFile(fname, GENERIC_READ | GENERIC_WRITE,
- 0, NULL, OPEN_EXISTING, 0, NULL);
-
- st.wYear = (WORD)localt.tm_year+1900;
- st.wMonth = (WORD)localt.tm_mon;
- st.wDayOfWeek = (WORD)localt.tm_wday;
- st.wDay = (WORD)localt.tm_mday;
- st.wHour = (WORD)localt.tm_hour;
- st.wMinute = (WORD)localt.tm_min;
- st.wSecond = (WORD)localt.tm_sec;
- st.wMilliseconds = 0;
- SystemTimeToFileTime(&st,&ftLocal);
- LocalFileTimeToFileTime(&ftLocal,&ftm);
- SetFileTime(hFile,&ftm,NULL,&ftm);
- CloseHandle(hFile);
-
- outfile = NULL;
-#else
- struct utimbuf settime;
-
- settime.actime = settime.modtime = tartime;
-
- fclose(outfile);
- outfile = NULL;
- utime(fname,&settime);
-#endif
- }
- }
- }
- }
-
- if (gzclose(in) != Z_OK)
- error("failed gzclose");
-
- return 0;
-}
-
-
-/* =========================================================== */
-
-void help(int exitval)
-{
- fprintf(stderr,
- "untgz v 0.1\n"
- " an sample application of zlib 1.0.4\n\n"
- "Usage : untgz TGZfile to extract all files\n"
- " untgz TGZfile fname ... to extract selected files\n"
- " untgz -l TGZfile to list archive contents\n"
- " untgz -h to display this help\n\n");
- exit(exitval);
-}
-
-void error(const char *msg)
-{
- fprintf(stderr, "%s: %s\n", prog, msg);
- exit(1);
-}
-
-
-/* ====================================================================== */
-
-int _CRT_glob = 0; /* disable globbing of the arguments */
-
-int main(int argc,char **argv)
-{
- int action = TGZ_EXTRACT;
- int arg = 1;
- char *TGZfile;
- gzFile *f;
-
-
- prog = strrchr(argv[0],'\\');
- if (prog == NULL)
- {
- prog = strrchr(argv[0],'/');
- if (prog == NULL)
- {
- prog = strrchr(argv[0],':');
- if (prog == NULL)
- prog = argv[0];
- else
- prog++;
- }
- else
- prog++;
- }
- else
- prog++;
-
- if (argc == 1)
- help(0);
-
- if (strcmp(argv[arg],"-l") == 0)
- {
- action = TGZ_LIST;
- if (argc == ++arg)
- help(0);
- }
- else if (strcmp(argv[arg],"-h") == 0)
- {
- help(0);
- }
-
- if ((TGZfile = TGZfname(argv[arg])) == NULL)
- TGZnotfound(argv[arg]);
-
- ++arg;
- if ((action == TGZ_LIST) && (arg != argc))
- help(1);
-
-/*
- * Process the TGZ file
- */
- switch(action)
- {
- case TGZ_LIST:
- case TGZ_EXTRACT:
- f = gzopen(TGZfile,"rb");
- if (f == NULL)
- {
- fprintf(stderr,"%s: Couldn't gzopen %s\n",
- prog,
- TGZfile);
- return 1;
- }
- exit(tar(f, action, arg, argc, argv));
- break;
-
- default:
- error("Unknown option!");
- exit(1);
- }
-
- return 0;
-}
diff --git a/zlib/contrib/visual-basic.txt b/zlib/contrib/visual-basic.txt
deleted file mode 100644
index 10fb44bc593..00000000000
--- a/zlib/contrib/visual-basic.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-See below some functions declarations for Visual Basic.
-
-Frequently Asked Question:
-
-Q: Each time I use the compress function I get the -5 error (not enough
- room in the output buffer).
-
-A: Make sure that the length of the compressed buffer is passed by
- reference ("as any"), not by value ("as long"). Also check that
- before the call of compress this length is equal to the total size of
- the compressed buffer and not zero.
-
-
-From: "Jon Caruana" <jon-net@usa.net>
-Subject: Re: How to port zlib declares to vb?
-Date: Mon, 28 Oct 1996 18:33:03 -0600
-
-Got the answer! (I haven't had time to check this but it's what I got, and
-looks correct):
-
-He has the following routines working:
- compress
- uncompress
- gzopen
- gzwrite
- gzread
- gzclose
-
-Declares follow: (Quoted from Carlos Rios <c_rios@sonda.cl>, in Vb4 form)
-
-#If Win16 Then 'Use Win16 calls.
-Declare Function compress Lib "ZLIB.DLL" (ByVal compr As
- String, comprLen As Any, ByVal buf As String, ByVal buflen
- As Long) As Integer
-Declare Function uncompress Lib "ZLIB.DLL" (ByVal uncompr
- As String, uncomprLen As Any, ByVal compr As String, ByVal
- lcompr As Long) As Integer
-Declare Function gzopen Lib "ZLIB.DLL" (ByVal filePath As
- String, ByVal mode As String) As Long
-Declare Function gzread Lib "ZLIB.DLL" (ByVal file As
- Long, ByVal uncompr As String, ByVal uncomprLen As Integer)
- As Integer
-Declare Function gzwrite Lib "ZLIB.DLL" (ByVal file As
- Long, ByVal uncompr As String, ByVal uncomprLen As Integer)
- As Integer
-Declare Function gzclose Lib "ZLIB.DLL" (ByVal file As
- Long) As Integer
-#Else
-Declare Function compress Lib "ZLIB32.DLL"
- (ByVal compr As String, comprLen As Any, ByVal buf As
- String, ByVal buflen As Long) As Integer
-Declare Function uncompress Lib "ZLIB32.DLL"
- (ByVal uncompr As String, uncomprLen As Any, ByVal compr As
- String, ByVal lcompr As Long) As Long
-Declare Function gzopen Lib "ZLIB32.DLL"
- (ByVal file As String, ByVal mode As String) As Long
-Declare Function gzread Lib "ZLIB32.DLL"
- (ByVal file As Long, ByVal uncompr As String, ByVal
- uncomprLen As Long) As Long
-Declare Function gzwrite Lib "ZLIB32.DLL"
- (ByVal file As Long, ByVal uncompr As String, ByVal
- uncomprLen As Long) As Long
-Declare Function gzclose Lib "ZLIB32.DLL"
- (ByVal file As Long) As Long
-#End If
-
--Jon Caruana
-jon-net@usa.net
-Microsoft Sitebuilder Network Level 1 Member - HTML Writer's Guild Member
diff --git a/zlib/crc32.c b/zlib/crc32.c
deleted file mode 100644
index a91101a81c6..00000000000
--- a/zlib/crc32.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/* crc32.c -- compute the CRC-32 of a data stream
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#include "zlib.h"
-
-#define local static
-
-#ifdef DYNAMIC_CRC_TABLE
-
-local int crc_table_empty = 1;
-local uLongf crc_table[256];
-local void make_crc_table OF((void));
-
-/*
- Generate a table for a byte-wise 32-bit CRC calculation on the polynomial:
- x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
-
- Polynomials over GF(2) are represented in binary, one bit per coefficient,
- with the lowest powers in the most significant bit. Then adding polynomials
- is just exclusive-or, and multiplying a polynomial by x is a right shift by
- one. If we call the above polynomial p, and represent a byte as the
- polynomial q, also with the lowest power in the most significant bit (so the
- byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
- where a mod b means the remainder after dividing a by b.
-
- This calculation is done using the shift-register method of multiplying and
- taking the remainder. The register is initialized to zero, and for each
- incoming bit, x^32 is added mod p to the register if the bit is a one (where
- x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
- x (which is shifting right by one and adding x^32 mod p if the bit shifted
- out is a one). We start with the highest power (least significant bit) of
- q and repeat for all eight bits of q.
-
- The table is simply the CRC of all possible eight bit values. This is all
- the information needed to generate CRC's on data a byte at a time for all
- combinations of CRC register values and incoming bytes.
-*/
-local void make_crc_table()
-{
- uLong c;
- int n, k;
- uLong poly; /* polynomial exclusive-or pattern */
- /* terms of polynomial defining this crc (except x^32): */
- static const Byte p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
-
- /* make exclusive-or pattern from polynomial (0xedb88320L) */
- poly = 0L;
- for (n = 0; n < sizeof(p)/sizeof(Byte); n++)
- poly |= 1L << (31 - p[n]);
-
- for (n = 0; n < 256; n++)
- {
- c = (uLong)n;
- for (k = 0; k < 8; k++)
- c = c & 1 ? poly ^ (c >> 1) : c >> 1;
- crc_table[n] = c;
- }
- crc_table_empty = 0;
-}
-#else
-/* ========================================================================
- * Table of CRC-32's of all single-byte values (made by make_crc_table)
- */
-local const uLongf crc_table[256] = {
- 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
- 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
- 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L,
- 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL,
- 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L,
- 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L,
- 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L,
- 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL,
- 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L,
- 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL,
- 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L,
- 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L,
- 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L,
- 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL,
- 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL,
- 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L,
- 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL,
- 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L,
- 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L,
- 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L,
- 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL,
- 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L,
- 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L,
- 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL,
- 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L,
- 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L,
- 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L,
- 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L,
- 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L,
- 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL,
- 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL,
- 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L,
- 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L,
- 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL,
- 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL,
- 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L,
- 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL,
- 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L,
- 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL,
- 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L,
- 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL,
- 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L,
- 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L,
- 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL,
- 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L,
- 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L,
- 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L,
- 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L,
- 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L,
- 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L,
- 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
- 0x2d02ef8dL
-};
-#endif
-
-/* =========================================================================
- * This function can be used by asm versions of crc32()
- */
-const uLongf * ZEXPORT get_crc_table()
-{
-#ifdef DYNAMIC_CRC_TABLE
- if (crc_table_empty) make_crc_table();
-#endif
- return (const uLongf *)crc_table;
-}
-
-/* ========================================================================= */
-#define DO1(buf) crc = crc_table[((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8);
-#define DO2(buf) DO1(buf); DO1(buf);
-#define DO4(buf) DO2(buf); DO2(buf);
-#define DO8(buf) DO4(buf); DO4(buf);
-
-/* ========================================================================= */
-uLong ZEXPORT crc32(crc, buf, len)
- uLong crc;
- const Bytef *buf;
- uInt len;
-{
- if (buf == Z_NULL) return 0L;
-#ifdef DYNAMIC_CRC_TABLE
- if (crc_table_empty)
- make_crc_table();
-#endif
- crc = crc ^ 0xffffffffL;
- while (len >= 8)
- {
- DO8(buf);
- len -= 8;
- }
- if (len) do {
- DO1(buf);
- } while (--len);
- return crc ^ 0xffffffffL;
-}
diff --git a/zlib/deflate.c b/zlib/deflate.c
deleted file mode 100644
index 25d5818e2ec..00000000000
--- a/zlib/deflate.c
+++ /dev/null
@@ -1,1350 +0,0 @@
-/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process depends on being able to identify portions
- * of the input text which are identical to earlier input (within a
- * sliding window trailing behind the input currently being processed).
- *
- * The most straightforward technique turns out to be the fastest for
- * most input files: try all possible matches and select the longest.
- * The key feature of this algorithm is that insertions into the string
- * dictionary are very simple and thus fast, and deletions are avoided
- * completely. Insertions are performed at each input character, whereas
- * string matches are performed only when the previous match ends. So it
- * is preferable to spend more time in matches to allow very fast string
- * insertions and avoid deletions. The matching algorithm for small
- * strings is inspired from that of Rabin & Karp. A brute force approach
- * is used to find longer strings when a small match has been found.
- * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
- * (by Leonid Broukhis).
- * A previous version of this file used a more sophisticated algorithm
- * (by Fiala and Greene) which is guaranteed to run in linear amortized
- * time, but has a larger average cost, uses more memory and is patented.
- * However the F&G algorithm may be faster for some highly redundant
- * files if the parameter max_chain_length (described below) is too large.
- *
- * ACKNOWLEDGEMENTS
- *
- * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
- * I found it in 'freeze' written by Leonid Broukhis.
- * Thanks to many people for bug reports and testing.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification".
- * Available in ftp://ds.internic.net/rfc/rfc1951.txt
- *
- * A description of the Rabin and Karp algorithm is given in the book
- * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
- *
- * Fiala,E.R., and Greene,D.H.
- * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
- *
- */
-
-/* @(#) $Id$ */
-
-#include "deflate.h"
-
-const char deflate_copyright[] =
- " deflate 1.1.3 Copyright 1995-1998 Jean-loup Gailly ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-/* ===========================================================================
- * Function prototypes.
- */
-typedef enum {
- need_more, /* block not completed, need more input or more output */
- block_done, /* block flush performed */
- finish_started, /* finish started, need only more output at next deflate */
- finish_done /* finish done, accept no more input or output */
-} block_state;
-
-typedef block_state (*compress_func) OF((deflate_state *s, int flush));
-/* Compression function. Returns the block state after the call. */
-
-local void fill_window OF((deflate_state *s));
-local block_state deflate_stored OF((deflate_state *s, int flush));
-local block_state deflate_fast OF((deflate_state *s, int flush));
-local block_state deflate_slow OF((deflate_state *s, int flush));
-local void lm_init OF((deflate_state *s));
-local void putShortMSB OF((deflate_state *s, uInt b));
-local void flush_pending OF((z_streamp strm));
-local int read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
-#ifdef ASMV
- void match_init OF((void)); /* asm code initialization */
- uInt longest_match OF((deflate_state *s, IPos cur_match));
-#else
-local uInt longest_match OF((deflate_state *s, IPos cur_match));
-#endif
-
-#ifdef DEBUG
-local void check_match OF((deflate_state *s, IPos start, IPos match,
- int length));
-#endif
-
-/* ===========================================================================
- * Local data
- */
-
-#define NIL 0
-/* Tail of hash chains */
-
-#ifndef TOO_FAR
-# define TOO_FAR 4096
-#endif
-/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-/* Values for max_lazy_match, good_match and max_chain_length, depending on
- * the desired pack level (0..9). The values given below have been tuned to
- * exclude worst case performance for pathological files. Better values may be
- * found for specific files.
- */
-typedef struct config_s {
- ush good_length; /* reduce lazy search above this match length */
- ush max_lazy; /* do not perform lazy search above this match length */
- ush nice_length; /* quit search above this match length */
- ush max_chain;
- compress_func func;
-} config;
-
-local const config configuration_table[10] = {
-/* good lazy nice chain */
-/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */
-/* 1 */ {4, 4, 8, 4, deflate_fast}, /* maximum speed, no lazy matches */
-/* 2 */ {4, 5, 16, 8, deflate_fast},
-/* 3 */ {4, 6, 32, 32, deflate_fast},
-
-/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */
-/* 5 */ {8, 16, 32, 32, deflate_slow},
-/* 6 */ {8, 16, 128, 128, deflate_slow},
-/* 7 */ {8, 32, 128, 256, deflate_slow},
-/* 8 */ {32, 128, 258, 1024, deflate_slow},
-/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* maximum compression */
-
-/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
-
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
-
-/* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
- */
-#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
-
-
-/* ===========================================================================
- * Insert string str in the dictionary and set match_head to the previous head
- * of the hash chain (the most recent string with same hash key). Return
- * the previous length of the hash chain.
- * If this file is compiled with -DFASTEST, the compression level is forced
- * to 1, and no hash chains are maintained.
- * IN assertion: all calls to to INSERT_STRING are made with consecutive
- * input characters and the first MIN_MATCH bytes of str are valid
- * (except for the last MIN_MATCH-1 bytes of the input file).
- */
-#ifdef FASTEST
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (Pos)(str))
-#else
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (Pos)(str))
-#endif
-
-/* ===========================================================================
- * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
- * prev[] will be initialized on the fly.
- */
-#define CLEAR_HASH(s) \
- s->head[s->hash_size-1] = NIL; \
- zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
-
-/* ========================================================================= */
-int ZEXPORT deflateInit_(strm, level, version, stream_size)
- z_streamp strm;
- int level;
- const char *version;
- int stream_size;
-{
- return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
- Z_DEFAULT_STRATEGY, version, stream_size);
- /* To do: ignore strm->next_in if we use it as window */
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
- version, stream_size)
- z_streamp strm;
- int level;
- int method;
- int windowBits;
- int memLevel;
- int strategy;
- const char *version;
- int stream_size;
-{
- deflate_state *s;
- int noheader = 0;
- static const char* my_version = ZLIB_VERSION;
-
- ushf *overlay;
- /* We overlay pending_buf and d_buf+l_buf. This works since the average
- * output size for (length,distance) codes is <= 24 bits.
- */
-
- if (version == Z_NULL || version[0] != my_version[0] ||
- stream_size != sizeof(z_stream)) {
- return Z_VERSION_ERROR;
- }
- if (strm == Z_NULL) return Z_STREAM_ERROR;
-
- strm->msg = Z_NULL;
- if (strm->zalloc == Z_NULL) {
- strm->zalloc = zcalloc;
- strm->opaque = (voidpf)0;
- }
- if (strm->zfree == Z_NULL) strm->zfree = zcfree;
-
- if (level == Z_DEFAULT_COMPRESSION) level = 6;
-#ifdef FASTEST
- level = 1;
-#endif
-
- if (windowBits < 0) { /* undocumented feature: suppress zlib header */
- noheader = 1;
- windowBits = -windowBits;
- }
- if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
- windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
- strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
- if (s == Z_NULL) return Z_MEM_ERROR;
- strm->state = (struct internal_state FAR *)s;
- s->strm = strm;
-
- s->noheader = noheader;
- s->w_bits = windowBits;
- s->w_size = 1 << s->w_bits;
- s->w_mask = s->w_size - 1;
-
- s->hash_bits = memLevel + 7;
- s->hash_size = 1 << s->hash_bits;
- s->hash_mask = s->hash_size - 1;
- s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
-
- s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
- s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
- s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
-
- s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
-
- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
- s->pending_buf = (uchf *) overlay;
- s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
-
- if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
- s->pending_buf == Z_NULL) {
- strm->msg = (char*)ERR_MSG(Z_MEM_ERROR);
- deflateEnd (strm);
- return Z_MEM_ERROR;
- }
- s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
- s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
-
- s->level = level;
- s->strategy = strategy;
- s->method = (Byte)method;
-
- return deflateReset(strm);
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
- z_streamp strm;
- const Bytef *dictionary;
- uInt dictLength;
-{
- deflate_state *s;
- uInt length = dictLength;
- uInt n;
- IPos hash_head = 0;
-
- if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL ||
- strm->state->status != INIT_STATE) return Z_STREAM_ERROR;
-
- s = strm->state;
- strm->adler = adler32(strm->adler, dictionary, dictLength);
-
- if (length < MIN_MATCH) return Z_OK;
- if (length > MAX_DIST(s)) {
- length = MAX_DIST(s);
-#ifndef USE_DICT_HEAD
- dictionary += dictLength - length; /* use the tail of the dictionary */
-#endif
- }
- zmemcpy(s->window, dictionary, length);
- s->strstart = length;
- s->block_start = (long)length;
-
- /* Insert all strings in the hash table (except for the last two bytes).
- * s->lookahead stays null, so s->ins_h will be recomputed at the next
- * call of fill_window.
- */
- s->ins_h = s->window[0];
- UPDATE_HASH(s, s->ins_h, s->window[1]);
- for (n = 0; n <= length - MIN_MATCH; n++) {
- INSERT_STRING(s, n, hash_head);
- }
- if (hash_head) hash_head = 0; /* to make compiler happy */
- return Z_OK;
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateReset (strm)
- z_streamp strm;
-{
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
-
- strm->total_in = strm->total_out = 0;
- strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
- strm->data_type = Z_UNKNOWN;
-
- s = (deflate_state *)strm->state;
- s->pending = 0;
- s->pending_out = s->pending_buf;
-
- if (s->noheader < 0) {
- s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
- }
- s->status = s->noheader ? BUSY_STATE : INIT_STATE;
- strm->adler = 1;
- s->last_flush = Z_NO_FLUSH;
-
- _tr_init(s);
- lm_init(s);
-
- return Z_OK;
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateParams(strm, level, strategy)
- z_streamp strm;
- int level;
- int strategy;
-{
- deflate_state *s;
- compress_func func;
- int err = Z_OK;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
- s = strm->state;
-
- if (level == Z_DEFAULT_COMPRESSION) {
- level = 6;
- }
- if (level < 0 || level > 9 || strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- func = configuration_table[s->level].func;
-
- if (func != configuration_table[level].func && strm->total_in != 0) {
- /* Flush the last buffer: */
- err = deflate(strm, Z_PARTIAL_FLUSH);
- }
- if (s->level != level) {
- s->level = level;
- s->max_lazy_match = configuration_table[level].max_lazy;
- s->good_match = configuration_table[level].good_length;
- s->nice_match = configuration_table[level].nice_length;
- s->max_chain_length = configuration_table[level].max_chain;
- }
- s->strategy = strategy;
- return err;
-}
-
-/* =========================================================================
- * Put a short in the pending buffer. The 16-bit value is put in MSB order.
- * IN assertion: the stream state is correct and there is enough room in
- * pending_buf.
- */
-local void putShortMSB (s, b)
- deflate_state *s;
- uInt b;
-{
- put_byte(s, (Byte)(b >> 8));
- put_byte(s, (Byte)(b & 0xff));
-}
-
-/* =========================================================================
- * Flush as much pending output as possible. All deflate() output goes
- * through this function so some applications may wish to modify it
- * to avoid allocating a large strm->next_out buffer and copying into it.
- * (See also read_buf()).
- */
-local void flush_pending(strm)
- z_streamp strm;
-{
- unsigned len = strm->state->pending;
-
- if (len > strm->avail_out) len = strm->avail_out;
- if (len == 0) return;
-
- zmemcpy(strm->next_out, strm->state->pending_out, len);
- strm->next_out += len;
- strm->state->pending_out += len;
- strm->total_out += len;
- strm->avail_out -= len;
- strm->state->pending -= len;
- if (strm->state->pending == 0) {
- strm->state->pending_out = strm->state->pending_buf;
- }
-}
-
-/* ========================================================================= */
-int ZEXPORT deflate (strm, flush)
- z_streamp strm;
- int flush;
-{
- int old_flush; /* value of flush param for previous deflate call */
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- flush > Z_FINISH || flush < 0) {
- return Z_STREAM_ERROR;
- }
- s = strm->state;
-
- if (strm->next_out == Z_NULL ||
- (strm->next_in == Z_NULL && strm->avail_in != 0) ||
- (s->status == FINISH_STATE && flush != Z_FINISH)) {
- ERR_RETURN(strm, Z_STREAM_ERROR);
- }
- if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
-
- s->strm = strm; /* just in case */
- old_flush = s->last_flush;
- s->last_flush = flush;
-
- /* Write the zlib header */
- if (s->status == INIT_STATE) {
-
- uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
- uInt level_flags = (s->level-1) >> 1;
-
- if (level_flags > 3) level_flags = 3;
- header |= (level_flags << 6);
- if (s->strstart != 0) header |= PRESET_DICT;
- header += 31 - (header % 31);
-
- s->status = BUSY_STATE;
- putShortMSB(s, header);
-
- /* Save the adler32 of the preset dictionary: */
- if (s->strstart != 0) {
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- }
- strm->adler = 1L;
- }
-
- /* Flush as much pending output as possible */
- if (s->pending != 0) {
- flush_pending(strm);
- if (strm->avail_out == 0) {
- /* Since avail_out is 0, deflate will be called again with
- * more output space, but possibly with both pending and
- * avail_in equal to zero. There won't be anything to do,
- * but this is not an error situation so make sure we
- * return OK instead of BUF_ERROR at next call of deflate:
- */
- s->last_flush = -1;
- return Z_OK;
- }
-
- /* Make sure there is something to do and avoid duplicate consecutive
- * flushes. For repeated and useless calls with Z_FINISH, we keep
- * returning Z_STREAM_END instead of Z_BUFF_ERROR.
- */
- } else if (strm->avail_in == 0 && flush <= old_flush &&
- flush != Z_FINISH) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* User must not provide more input after the first FINISH: */
- if (s->status == FINISH_STATE && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* Start a new block or continue the current one.
- */
- if (strm->avail_in != 0 || s->lookahead != 0 ||
- (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
- block_state bstate;
-
- bstate = (*(configuration_table[s->level].func))(s, flush);
-
- if (bstate == finish_started || bstate == finish_done) {
- s->status = FINISH_STATE;
- }
- if (bstate == need_more || bstate == finish_started) {
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR next call, see above */
- }
- return Z_OK;
- /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
- * of deflate should use the same flush parameter to make sure
- * that the flush is complete. So we don't have to output an
- * empty block here, this will be done at next call. This also
- * ensures that for a very small output buffer, we emit at most
- * one empty block.
- */
- }
- if (bstate == block_done) {
- if (flush == Z_PARTIAL_FLUSH) {
- _tr_align(s);
- } else { /* FULL_FLUSH or SYNC_FLUSH */
- _tr_stored_block(s, (char*)0, 0L, 0);
- /* For a full flush, this empty block will be recognized
- * as a special marker by inflate_sync().
- */
- if (flush == Z_FULL_FLUSH) {
- CLEAR_HASH(s); /* forget history */
- }
- }
- flush_pending(strm);
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */
- return Z_OK;
- }
- }
- }
- Assert(strm->avail_out > 0, "bug2");
-
- if (flush != Z_FINISH) return Z_OK;
- if (s->noheader) return Z_STREAM_END;
-
- /* Write the zlib trailer (adler32) */
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- flush_pending(strm);
- /* If avail_out is zero, the application will call deflate again
- * to flush the rest.
- */
- s->noheader = -1; /* write the trailer only once! */
- return s->pending != 0 ? Z_OK : Z_STREAM_END;
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateEnd (strm)
- z_streamp strm;
-{
- int status;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
-
- status = strm->state->status;
- if (status != INIT_STATE && status != BUSY_STATE &&
- status != FINISH_STATE) {
- return Z_STREAM_ERROR;
- }
-
- /* Deallocate in reverse order of allocations: */
- TRY_FREE(strm, strm->state->pending_buf);
- TRY_FREE(strm, strm->state->head);
- TRY_FREE(strm, strm->state->prev);
- TRY_FREE(strm, strm->state->window);
-
- ZFREE(strm, strm->state);
- strm->state = Z_NULL;
-
- return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
-}
-
-/* =========================================================================
- * Copy the source state to the destination state.
- * To simplify the source, this is not supported for 16-bit MSDOS (which
- * doesn't have enough memory anyway to duplicate compression states).
- */
-int ZEXPORT deflateCopy (dest, source)
- z_streamp dest;
- z_streamp source;
-{
-#ifdef MAXSEG_64K
- return Z_STREAM_ERROR;
-#else
- deflate_state *ds;
- deflate_state *ss;
- ushf *overlay;
-
-
- if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) {
- return Z_STREAM_ERROR;
- }
-
- ss = source->state;
-
- *dest = *source;
-
- ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
- if (ds == Z_NULL) return Z_MEM_ERROR;
- dest->state = (struct internal_state FAR *) ds;
- *ds = *ss;
- ds->strm = dest;
-
- ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
- ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos));
- ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos));
- overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
- ds->pending_buf = (uchf *) overlay;
-
- if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
- ds->pending_buf == Z_NULL) {
- deflateEnd (dest);
- return Z_MEM_ERROR;
- }
- /* following zmemcpy do not work for 16-bit MSDOS */
- zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
- zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
- zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
- zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
-
- ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
- ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
- ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
-
- ds->l_desc.dyn_tree = ds->dyn_ltree;
- ds->d_desc.dyn_tree = ds->dyn_dtree;
- ds->bl_desc.dyn_tree = ds->bl_tree;
-
- return Z_OK;
-#endif
-}
-
-/* ===========================================================================
- * Read a new buffer from the current input stream, update the adler32
- * and total number of bytes read. All deflate() input goes through
- * this function so some applications may wish to modify it to avoid
- * allocating a large strm->next_in buffer and copying from it.
- * (See also flush_pending()).
- */
-local int read_buf(strm, buf, size)
- z_streamp strm;
- Bytef *buf;
- unsigned size;
-{
- unsigned len = strm->avail_in;
-
- if (len > size) len = size;
- if (len == 0) return 0;
-
- strm->avail_in -= len;
-
- if (!strm->state->noheader) {
- strm->adler = adler32(strm->adler, strm->next_in, len);
- }
- zmemcpy(buf, strm->next_in, len);
- strm->next_in += len;
- strm->total_in += len;
-
- return (int)len;
-}
-
-/* ===========================================================================
- * Initialize the "longest match" routines for a new zlib stream
- */
-local void lm_init (s)
- deflate_state *s;
-{
- s->window_size = (ulg)2L*s->w_size;
-
- CLEAR_HASH(s);
-
- /* Set the default configuration parameters:
- */
- s->max_lazy_match = configuration_table[s->level].max_lazy;
- s->good_match = configuration_table[s->level].good_length;
- s->nice_match = configuration_table[s->level].nice_length;
- s->max_chain_length = configuration_table[s->level].max_chain;
-
- s->strstart = 0;
- s->block_start = 0L;
- s->lookahead = 0;
- s->match_length = s->prev_length = MIN_MATCH-1;
- s->match_available = 0;
- s->ins_h = 0;
-#ifdef ASMV
- match_init(); /* initialize the asm code */
-#endif
-}
-
-/* ===========================================================================
- * Set match_start to the longest match starting at the given string and
- * return its length. Matches shorter or equal to prev_length are discarded,
- * in which case the result is equal to prev_length and match_start is
- * garbage.
- * IN assertions: cur_match is the head of the hash chain for the current
- * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
- * OUT assertion: the match length is not greater than s->lookahead.
- */
-#ifndef ASMV
-/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
- * match.S. The code will be functionally equivalent.
- */
-#ifndef FASTEST
-local uInt longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- int nice_match = s->nice_match; /* stop if match long enough */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- /* Do not look for matches beyond the end of the input. This is necessary
- * to make deflate deterministic.
- */
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
- return s->lookahead;
-}
-
-#else /* FASTEST */
-/* ---------------------------------------------------------------------------
- * Optimized version for level == 1 only
- */
-local uInt longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- Assert(cur_match < s->strstart, "no future");
-
- match = s->window + cur_match;
-
- /* Return failure if the match length is less than 2:
- */
- if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match += 2;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
-
- if (len < MIN_MATCH) return MIN_MATCH - 1;
-
- s->match_start = cur_match;
- return len <= s->lookahead ? len : s->lookahead;
-}
-#endif /* FASTEST */
-#endif /* ASMV */
-
-#ifdef DEBUG
-/* ===========================================================================
- * Check that the match at match_start is indeed a match.
- */
-local void check_match(s, start, match, length)
- deflate_state *s;
- IPos start, match;
- int length;
-{
- /* check that the match is indeed a match */
- if (zmemcmp(s->window + match,
- s->window + start, length) != EQUAL) {
- fprintf(stderr, " start %u, match %u, length %d\n",
- start, match, length);
- do {
- fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
- } while (--length != 0);
- z_error("invalid match");
- }
- if (z_verbose > 1) {
- fprintf(stderr,"\\[%d,%d]", start-match, length);
- do { putc(s->window[start++], stderr); } while (--length != 0);
- }
-}
-#else
-# define check_match(s, start, match, length)
-#endif
-
-/* ===========================================================================
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead.
- *
- * IN assertion: lookahead < MIN_LOOKAHEAD
- * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
- * At least one byte has been read, or avail_in == 0; reads are
- * performed for at least two bytes (required for the zip translate_eol
- * option -- not supported here).
- */
-local void fill_window(s)
- deflate_state *s;
-{
- register unsigned n, m;
- register Posf *p;
- unsigned more; /* Amount of free space at the end of the window. */
- uInt wsize = s->w_size;
-
- do {
- more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
-
- /* Deal with !@#$% 64K limit: */
- if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
- more = wsize;
-
- } else if (more == (unsigned)(-1)) {
- /* Very unlikely, but possible on 16 bit machine if strstart == 0
- * and lookahead == 1 (input done one byte at time)
- */
- more--;
-
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- } else if (s->strstart >= wsize+MAX_DIST(s)) {
-
- zmemcpy(s->window, s->window+wsize, (unsigned)wsize);
- s->match_start -= wsize;
- s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
- s->block_start -= (long) wsize;
-
- /* Slide the hash table (could be avoided with 32 bit values
- at the expense of memory usage). We slide even when level == 0
- to keep the hash table consistent if we switch back to level > 0
- later. (Using level 0 permanently is not an optimal usage of
- zlib, so we don't care about this pathological case.)
- */
- n = s->hash_size;
- p = &s->head[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- } while (--n);
-
- n = wsize;
-#ifndef FASTEST
- p = &s->prev[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- } while (--n);
-#endif
- more += wsize;
- }
- if (s->strm->avail_in == 0) return;
-
- /* If there was no sliding:
- * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
- * more == window_size - lookahead - strstart
- * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
- * => more >= window_size - 2*WSIZE + 2
- * In the BIG_MEM or MMAP case (not yet supported),
- * window_size == input_size + MIN_LOOKAHEAD &&
- * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
- * Otherwise, window_size == 2*WSIZE so more >= 2.
- * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
- */
- Assert(more >= 2, "more < 2");
-
- n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more);
- s->lookahead += n;
-
- /* Initialize the hash value now that we have some input: */
- if (s->lookahead >= MIN_MATCH) {
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- }
- /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
- * but this is not important since only literal bytes will be emitted.
- */
-
- } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
-}
-
-/* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
-#define FLUSH_BLOCK_ONLY(s, eof) { \
- _tr_flush_block(s, (s->block_start >= 0L ? \
- (charf *)&s->window[(unsigned)s->block_start] : \
- (charf *)Z_NULL), \
- (ulg)((long)s->strstart - s->block_start), \
- (eof)); \
- s->block_start = s->strstart; \
- flush_pending(s->strm); \
- Tracev((stderr,"[FLUSH]")); \
-}
-
-/* Same but force premature exit if necessary. */
-#define FLUSH_BLOCK(s, eof) { \
- FLUSH_BLOCK_ONLY(s, eof); \
- if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \
-}
-
-/* ===========================================================================
- * Copy without compression as much as possible from the input stream, return
- * the current block state.
- * This function does not insert new strings in the dictionary since
- * uncompressible data is probably not useful. This function is used
- * only for the level=0 compression option.
- * NOTE: this function should be optimized to avoid extra copying from
- * window to pending_buf.
- */
-local block_state deflate_stored(s, flush)
- deflate_state *s;
- int flush;
-{
- /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
- * to pending_buf_size, and each stored block has a 5 byte header:
- */
- ulg max_block_size = 0xffff;
- ulg max_start;
-
- if (max_block_size > s->pending_buf_size - 5) {
- max_block_size = s->pending_buf_size - 5;
- }
-
- /* Copy as much as possible from input to output: */
- for (;;) {
- /* Fill the window as much as possible: */
- if (s->lookahead <= 1) {
-
- Assert(s->strstart < s->w_size+MAX_DIST(s) ||
- s->block_start >= (long)s->w_size, "slide too late");
-
- fill_window(s);
- if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
- Assert(s->block_start >= 0L, "block gone");
-
- s->strstart += s->lookahead;
- s->lookahead = 0;
-
- /* Emit a stored block if pending_buf will be full: */
- max_start = s->block_start + max_block_size;
- if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
- /* strstart == 0 is possible when wraparound on 16-bit machine */
- s->lookahead = (uInt)(s->strstart - max_start);
- s->strstart = (uInt)max_start;
- FLUSH_BLOCK(s, 0);
- }
- /* Flush if we may have to slide, otherwise block_start may become
- * negative and the data will be gone:
- */
- if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
- FLUSH_BLOCK(s, 0);
- }
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Compress as much as possible from the input stream, return the current
- * block state.
- * This function does not perform lazy evaluation of matches and inserts
- * new strings in the dictionary only for unmatched strings or for short
- * matches. It is used only for the fast compression options.
- */
-local block_state deflate_fast(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of the hash chain */
- int bflush; /* set if current block must be flushed */
-
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
- }
- if (s->match_length >= MIN_MATCH) {
- check_match(s, s->strstart, s->match_start, s->match_length);
-
- _tr_tally_dist(s, s->strstart - s->match_start,
- s->match_length - MIN_MATCH, bflush);
-
- s->lookahead -= s->match_length;
-
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
-#ifndef FASTEST
- if (s->match_length <= s->max_insert_length &&
- s->lookahead >= MIN_MATCH) {
- s->match_length--; /* string at strstart already in hash table */
- do {
- s->strstart++;
- INSERT_STRING(s, s->strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--s->match_length != 0);
- s->strstart++;
- } else
-#endif
- {
- s->strstart += s->match_length;
- s->match_length = 0;
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
- * matter since it will be recomputed at next deflate call.
- */
- }
- } else {
- /* No match, output a literal byte */
- Tracevv((stderr,"%c", s->window[s->strstart]));
- _tr_tally_lit (s, s->window[s->strstart], bflush);
- s->lookahead--;
- s->strstart++;
- }
- if (bflush) FLUSH_BLOCK(s, 0);
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Same as above, but achieves better compression. We use a lazy
- * evaluation for matches: a match is finally adopted only if there is
- * no better match at the next window position.
- */
-local block_state deflate_slow(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of hash chain */
- int bflush; /* set if current block must be flushed */
-
- /* Process the input block. */
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- */
- s->prev_length = s->match_length, s->prev_match = s->match_start;
- s->match_length = MIN_MATCH-1;
-
- if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
- s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
-
- if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
- (s->match_length == MIN_MATCH &&
- s->strstart - s->match_start > TOO_FAR))) {
-
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- s->match_length = MIN_MATCH-1;
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
- uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
- /* Do not insert strings in hash table beyond this. */
-
- check_match(s, s->strstart-1, s->prev_match, s->prev_length);
-
- _tr_tally_dist(s, s->strstart -1 - s->prev_match,
- s->prev_length - MIN_MATCH, bflush);
-
- /* Insert in hash table all strings up to the end of the match.
- * strstart-1 and strstart are already inserted. If there is not
- * enough lookahead, the last two strings are not inserted in
- * the hash table.
- */
- s->lookahead -= s->prev_length-1;
- s->prev_length -= 2;
- do {
- if (++s->strstart <= max_insert) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
- } while (--s->prev_length != 0);
- s->match_available = 0;
- s->match_length = MIN_MATCH-1;
- s->strstart++;
-
- if (bflush) FLUSH_BLOCK(s, 0);
-
- } else if (s->match_available) {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- _tr_tally_lit(s, s->window[s->strstart-1], bflush);
- if (bflush) {
- FLUSH_BLOCK_ONLY(s, 0);
- }
- s->strstart++;
- s->lookahead--;
- if (s->strm->avail_out == 0) return need_more;
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- s->match_available = 1;
- s->strstart++;
- s->lookahead--;
- }
- }
- Assert (flush != Z_NO_FLUSH, "no flush?");
- if (s->match_available) {
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- _tr_tally_lit(s, s->window[s->strstart-1], bflush);
- s->match_available = 0;
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
diff --git a/zlib/deflate.h b/zlib/deflate.h
deleted file mode 100644
index 962676da869..00000000000
--- a/zlib/deflate.h
+++ /dev/null
@@ -1,318 +0,0 @@
-/* deflate.h -- internal compression state
- * Copyright (C) 1995-1998 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* @(#) $Id$ */
-
-#ifndef _DEFLATE_H
-#define _DEFLATE_H
-
-#include "zutil.h"
-
-/* ===========================================================================
- * Internal compression state.
- */
-
-#define LENGTH_CODES 29
-/* number of length codes, not counting the special END_BLOCK code */
-
-#define LITERALS 256
-/* number of literal bytes 0..255 */
-
-#define L_CODES (LITERALS+1+LENGTH_CODES)
-/* number of Literal or Length codes, including the END_BLOCK code */
-
-#define D_CODES 30
-/* number of distance codes */
-
-#define BL_CODES 19
-/* number of codes used to transfer the bit lengths */
-
-#define HEAP_SIZE (2*L_CODES+1)
-/* maximum heap size */
-
-#define MAX_BITS 15
-/* All codes must not exceed MAX_BITS bits */
-
-#define INIT_STATE 42
-#define BUSY_STATE 113
-#define FINISH_STATE 666
-/* Stream status */
-
-
-/* Data structure describing a single value and its code string. */
-typedef struct ct_data_s {
- union {
- ush freq; /* frequency count */
- ush code; /* bit string */
- } fc;
- union {
- ush dad; /* father node in Huffman tree */
- ush len; /* length of bit string */
- } dl;
-} FAR ct_data;
-
-#define Freq fc.freq
-#define Code fc.code
-#define Dad dl.dad
-#define Len dl.len
-
-typedef struct static_tree_desc_s static_tree_desc;
-
-typedef struct tree_desc_s {
- ct_data *dyn_tree; /* the dynamic tree */
- int max_code; /* largest code with non zero frequency */
- static_tree_desc *stat_desc; /* the corresponding static tree */
-} FAR tree_desc;
-
-typedef ush Pos;
-typedef Pos FAR Posf;
-typedef unsigned IPos;
-
-/* A Pos is an index in the character window. We use short instead of int to
- * save space in the various tables. IPos is used only for parameter passing.
- */
-
-typedef struct internal_state {
- z_streamp strm; /* pointer back to this zlib stream */
- int status; /* as the name implies */
- Bytef *pending_buf; /* output still pending */
- ulg pending_buf_size; /* size of pending_buf */
- Bytef *pending_out; /* next pending byte to output to the stream */
- int pending; /* nb of bytes in the pending buffer */
- int noheader; /* suppress zlib header and adler32 */
- Byte data_type; /* UNKNOWN, BINARY or ASCII */
- Byte method; /* STORED (for zip only) or DEFLATED */
- int last_flush; /* value of flush param for previous deflate call */
-
- /* used by deflate.c: */
-
- uInt w_size; /* LZ77 window size (32K by default) */
- uInt w_bits; /* log2(w_size) (8..16) */
- uInt w_mask; /* w_size - 1 */
-
- Bytef *window;
- /* Sliding window. Input bytes are read into the second half of the window,
- * and move to the first half later to keep a dictionary of at least wSize
- * bytes. With this organization, matches are limited to a distance of
- * wSize-MAX_MATCH bytes, but this ensures that IO is always
- * performed with a length multiple of the block size. Also, it limits
- * the window size to 64K, which is quite useful on MSDOS.
- * To do: use the user input buffer as sliding window.
- */
-
- ulg window_size;
- /* Actual size of window: 2*wSize, except when the user input buffer
- * is directly used as sliding window.
- */
-
- Posf *prev;
- /* Link to older string with same hash index. To limit the size of this
- * array to 64K, this link is maintained only for the last 32K strings.
- * An index in this array is thus a window index modulo 32K.
- */
-
- Posf *head; /* Heads of the hash chains or NIL. */
-
- uInt ins_h; /* hash index of string to be inserted */
- uInt hash_size; /* number of elements in hash table */
- uInt hash_bits; /* log2(hash_size) */
- uInt hash_mask; /* hash_size-1 */
-
- uInt hash_shift;
- /* Number of bits by which ins_h must be shifted at each input
- * step. It must be such that after MIN_MATCH steps, the oldest
- * byte no longer takes part in the hash key, that is:
- * hash_shift * MIN_MATCH >= hash_bits
- */
-
- long block_start;
- /* Window position at the beginning of the current output block. Gets
- * negative when the window is moved backwards.
- */
-
- uInt match_length; /* length of best match */
- IPos prev_match; /* previous match */
- int match_available; /* set if previous match exists */
- uInt strstart; /* start of string to insert */
- uInt match_start; /* start of matching string */
- uInt lookahead; /* number of valid bytes ahead in window */
-
- uInt prev_length;
- /* Length of the best match at previous step. Matches not greater than this
- * are discarded. This is used in the lazy match evaluation.
- */
-
- uInt max_chain_length;
- /* To speed up deflation, hash chains are never searched beyond this
- * length. A higher limit improves compression ratio but degrades the
- * speed.
- */
-
- uInt max_lazy_match;
- /* Attempt to find a better match only when the current match is strictly
- * smaller than this value. This mechanism is used only for compression
- * levels >= 4.
- */
-# define max_insert_length max_lazy_match
- /* Insert new strings in the hash table only if the match length is not
- * greater than this length. This saves time but degrades compression.
- * max_insert_length is used only for compression levels <= 3.
- */
-
- int level; /* compression level (1..9) */
- int strategy; /* favor or force Huffman coding*/
-
- uInt good_match;
- /* Use a faster search when the previous match is longer than this */
-
- int nice_match; /* Stop searching when current match exceeds this */
-
- /* used by trees.c: */
- /* Didn't use ct_data typedef below to supress compiler warning */
- struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
- struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
- struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
-
- struct tree_desc_s l_desc; /* desc. for literal tree */
- struct tree_desc_s d_desc; /* desc. for distance tree */
- struct tree_desc_s bl_desc; /* desc. for bit length tree */
-
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
- int heap_len; /* number of elements in the heap */
- int heap_max; /* element of largest frequency */
- /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
- * The same heap array is used to build all trees.
- */
-
- uch depth[2*L_CODES+1];
- /* Depth of each subtree used as tie breaker for trees of equal frequency
- */
-
- uchf *l_buf; /* buffer for literals or lengths */
-
- uInt lit_bufsize;
- /* Size of match buffer for literals/lengths. There are 4 reasons for
- * limiting lit_bufsize to 64K:
- * - frequencies can be kept in 16 bit counters
- * - if compression is not successful for the first block, all input
- * data is still in the window so we can still emit a stored block even
- * when input comes from standard input. (This can also be done for
- * all blocks if lit_bufsize is not greater than 32K.)
- * - if compression is not successful for a file smaller than 64K, we can
- * even emit a stored file instead of a stored block (saving 5 bytes).
- * This is applicable only for zip (not gzip or zlib).
- * - creating new Huffman trees less frequently may not provide fast
- * adaptation to changes in the input data statistics. (Take for
- * example a binary file with poorly compressible code followed by
- * a highly compressible string table.) Smaller buffer sizes give
- * fast adaptation but have of course the overhead of transmitting
- * trees more frequently.
- * - I can't count above 4
- */
-
- uInt last_lit; /* running index in l_buf */
-
- ushf *d_buf;
- /* Buffer for distances. To simplify the code, d_buf and l_buf have
- * the same number of elements. To use different lengths, an extra flag
- * array would be necessary.
- */
-
- ulg opt_len; /* bit length of current block with optimal trees */
- ulg static_len; /* bit length of current block with static trees */
- uInt matches; /* number of string matches in current block */
- int last_eob_len; /* bit length of EOB code for last block */
-
-#ifdef DEBUG
- ulg compressed_len; /* total bit length of compressed file mod 2^32 */
- ulg bits_sent; /* bit length of compressed data sent mod 2^32 */
-#endif
-
- ush bi_buf;
- /* Output buffer. bits are inserted starting at the bottom (least
- * significant bits).
- */
- int bi_valid;
- /* Number of valid bits in bi_buf. All bits above the last valid bit
- * are always zero.
- */
-
-} FAR deflate_state;
-
-/* Output a byte on the stream.
- * IN assertion: there is enough room in pending_buf.
- */
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
-
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
-/* In order to simplify the code, particularly on 16 bit machines, match
- * distances are limited to MAX_DIST instead of WSIZE.
- */
-
- /* in trees.c */
-void _tr_init OF((deflate_state *s));
-int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
-void _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-void _tr_align OF((deflate_state *s));
-void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-
-#define d_code(dist) \
- ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
-/* Mapping from a distance to a distance code. dist is the distance - 1 and
- * must not have side effects. _dist_code[256] and _dist_code[257] are never
- * used.
- */
-
-#ifndef DEBUG
-/* Inline versions of _tr_tally for speed: */
-
-#if defined(GEN_TREES_H) || !defined(STDC)
- extern uch _length_code[];
- extern uch _dist_code[];
-#else
- extern const uch _length_code[];
- extern const uch _dist_code[];
-#endif
-
-# define _tr_tally_lit(s, c, flush) \
- { uch cc = (c); \
- s->d_buf[s->last_lit] = 0; \
- s->l_buf[s->last_lit++] = cc; \
- s->dyn_ltree[cc].Freq++; \
- flush = (s->last_lit == s->lit_bufsize-1); \
- }
-# define _tr_tally_dist(s, distance, length, flush) \
- { uch len = (length); \
- ush dist = (distance); \
- s->d_buf[s->last_lit] = dist; \
- s->l_buf[s->last_lit++] = len; \
- dist--; \
- s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
- s->dyn_dtree[d_code(dist)].Freq++; \
- flush = (s->last_lit == s->lit_bufsize-1); \
- }
-#else
-# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
-# define _tr_tally_dist(s, distance, length, flush) \
- flush = _tr_tally(s, distance, length)
-#endif
-
-#endif
diff --git a/zlib/descrip.mms b/zlib/descrip.mms
deleted file mode 100644
index 9d364598a27..00000000000
--- a/zlib/descrip.mms
+++ /dev/null
@@ -1,48 +0,0 @@
-# descrip.mms: MMS description file for building zlib on VMS
-# written by Martin P.J. Zinser <m.zinser@gsi.de>
-
-cc_defs =
-c_deb =
-
-.ifdef __DECC__
-pref = /prefix=all
-.endif
-
-OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj,\
- deflate.obj, trees.obj, zutil.obj, inflate.obj, infblock.obj,\
- inftrees.obj, infcodes.obj, infutil.obj, inffast.obj
-
-CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF)
-
-all : example.exe minigzip.exe
- @ write sys$output " Example applications available"
-libz.olb : libz.olb($(OBJS))
- @ write sys$output " libz available"
-
-example.exe : example.obj libz.olb
- link example,libz.olb/lib
-
-minigzip.exe : minigzip.obj libz.olb
- link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
-
-clean :
- delete *.obj;*,libz.olb;*
-
-
-# Other dependencies.
-adler32.obj : zutil.h zlib.h zconf.h
-compress.obj : zlib.h zconf.h
-crc32.obj : zutil.h zlib.h zconf.h
-deflate.obj : deflate.h zutil.h zlib.h zconf.h
-example.obj : zlib.h zconf.h
-gzio.obj : zutil.h zlib.h zconf.h
-infblock.obj : zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
-infcodes.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h
-inffast.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
-inflate.obj : zutil.h zlib.h zconf.h infblock.h
-inftrees.obj : zutil.h zlib.h zconf.h inftrees.h
-infutil.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h
-minigzip.obj : zlib.h zconf.h
-trees.obj : deflate.h zutil.h zlib.h zconf.h
-uncompr.obj : zlib.h zconf.h
-zutil.obj : zutil.h zlib.h zconf.h
diff --git a/zlib/example.c b/zlib/example.c
deleted file mode 100644
index 8307c841e4a..00000000000
--- a/zlib/example.c
+++ /dev/null
@@ -1,556 +0,0 @@
-/* example.c -- usage example of the zlib compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#include <stdio.h>
-#include "zlib.h"
-
-#ifdef STDC
-# include <string.h>
-# include <stdlib.h>
-#else
- extern void exit OF((int));
-#endif
-
-#if defined(VMS) || defined(RISCOS)
-# define TESTFILE "foo-gz"
-#else
-# define TESTFILE "foo.gz"
-#endif
-
-#define CHECK_ERR(err, msg) { \
- if (err != Z_OK) { \
- fprintf(stderr, "%s error: %d\n", msg, err); \
- exit(1); \
- } \
-}
-
-const char hello[] = "hello, hello!";
-/* "hello world" would be more standard, but the repeated "hello"
- * stresses the compression code better, sorry...
- */
-
-const char dictionary[] = "hello";
-uLong dictId; /* Adler32 value of the dictionary */
-
-void test_compress OF((Byte *compr, uLong comprLen,
- Byte *uncompr, uLong uncomprLen));
-void test_gzio OF((const char *out, const char *in,
- Byte *uncompr, int uncomprLen));
-void test_deflate OF((Byte *compr, uLong comprLen));
-void test_inflate OF((Byte *compr, uLong comprLen,
- Byte *uncompr, uLong uncomprLen));
-void test_large_deflate OF((Byte *compr, uLong comprLen,
- Byte *uncompr, uLong uncomprLen));
-void test_large_inflate OF((Byte *compr, uLong comprLen,
- Byte *uncompr, uLong uncomprLen));
-void test_flush OF((Byte *compr, uLong *comprLen));
-void test_sync OF((Byte *compr, uLong comprLen,
- Byte *uncompr, uLong uncomprLen));
-void test_dict_deflate OF((Byte *compr, uLong comprLen));
-void test_dict_inflate OF((Byte *compr, uLong comprLen,
- Byte *uncompr, uLong uncomprLen));
-int main OF((int argc, char *argv[]));
-
-/* ===========================================================================
- * Test compress() and uncompress()
- */
-void test_compress(compr, comprLen, uncompr, uncomprLen)
- Byte *compr, *uncompr;
- uLong comprLen, uncomprLen;
-{
- int err;
- uLong len = strlen(hello)+1;
-
- err = compress(compr, &comprLen, (const Bytef*)hello, len);
- CHECK_ERR(err, "compress");
-
- strcpy((char*)uncompr, "garbage");
-
- err = uncompress(uncompr, &uncomprLen, compr, comprLen);
- CHECK_ERR(err, "uncompress");
-
- if (strcmp((char*)uncompr, hello)) {
- fprintf(stderr, "bad uncompress\n");
- exit(1);
- } else {
- printf("uncompress(): %s\n", (char *)uncompr);
- }
-}
-
-/* ===========================================================================
- * Test read/write of .gz files
- */
-void test_gzio(out, in, uncompr, uncomprLen)
- const char *out; /* compressed output file */
- const char *in; /* compressed input file */
- Byte *uncompr;
- int uncomprLen;
-{
- int err;
- int len = strlen(hello)+1;
- gzFile file;
- z_off_t pos;
-
- file = gzopen(out, "wb");
- if (file == NULL) {
- fprintf(stderr, "gzopen error\n");
- exit(1);
- }
- gzputc(file, 'h');
- if (gzputs(file, "ello") != 4) {
- fprintf(stderr, "gzputs err: %s\n", gzerror(file, &err));
- exit(1);
- }
- if (gzprintf(file, ", %s!", "hello") != 8) {
- fprintf(stderr, "gzprintf err: %s\n", gzerror(file, &err));
- exit(1);
- }
- gzseek(file, 1L, SEEK_CUR); /* add one zero byte */
- gzclose(file);
-
- file = gzopen(in, "rb");
- if (file == NULL) {
- fprintf(stderr, "gzopen error\n");
- }
- strcpy((char*)uncompr, "garbage");
-
- uncomprLen = gzread(file, uncompr, (unsigned)uncomprLen);
- if (uncomprLen != len) {
- fprintf(stderr, "gzread err: %s\n", gzerror(file, &err));
- exit(1);
- }
- if (strcmp((char*)uncompr, hello)) {
- fprintf(stderr, "bad gzread: %s\n", (char*)uncompr);
- exit(1);
- } else {
- printf("gzread(): %s\n", (char *)uncompr);
- }
-
- pos = gzseek(file, -8L, SEEK_CUR);
- if (pos != 6 || gztell(file) != pos) {
- fprintf(stderr, "gzseek error, pos=%ld, gztell=%ld\n",
- (long)pos, (long)gztell(file));
- exit(1);
- }
-
- if (gzgetc(file) != ' ') {
- fprintf(stderr, "gzgetc error\n");
- exit(1);
- }
-
- gzgets(file, (char*)uncompr, uncomprLen);
- uncomprLen = strlen((char*)uncompr);
- if (uncomprLen != 6) { /* "hello!" */
- fprintf(stderr, "gzgets err after gzseek: %s\n", gzerror(file, &err));
- exit(1);
- }
- if (strcmp((char*)uncompr, hello+7)) {
- fprintf(stderr, "bad gzgets after gzseek\n");
- exit(1);
- } else {
- printf("gzgets() after gzseek: %s\n", (char *)uncompr);
- }
-
- gzclose(file);
-}
-
-/* ===========================================================================
- * Test deflate() with small buffers
- */
-void test_deflate(compr, comprLen)
- Byte *compr;
- uLong comprLen;
-{
- z_stream c_stream; /* compression stream */
- int err;
- int len = strlen(hello)+1;
-
- c_stream.zalloc = (alloc_func)0;
- c_stream.zfree = (free_func)0;
- c_stream.opaque = (voidpf)0;
-
- err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);
- CHECK_ERR(err, "deflateInit");
-
- c_stream.next_in = (Bytef*)hello;
- c_stream.next_out = compr;
-
- while (c_stream.total_in != (uLong)len && c_stream.total_out < comprLen) {
- c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */
- err = deflate(&c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, "deflate");
- }
- /* Finish the stream, still forcing small buffers: */
- for (;;) {
- c_stream.avail_out = 1;
- err = deflate(&c_stream, Z_FINISH);
- if (err == Z_STREAM_END) break;
- CHECK_ERR(err, "deflate");
- }
-
- err = deflateEnd(&c_stream);
- CHECK_ERR(err, "deflateEnd");
-}
-
-/* ===========================================================================
- * Test inflate() with small buffers
- */
-void test_inflate(compr, comprLen, uncompr, uncomprLen)
- Byte *compr, *uncompr;
- uLong comprLen, uncomprLen;
-{
- int err;
- z_stream d_stream; /* decompression stream */
-
- strcpy((char*)uncompr, "garbage");
-
- d_stream.zalloc = (alloc_func)0;
- d_stream.zfree = (free_func)0;
- d_stream.opaque = (voidpf)0;
-
- d_stream.next_in = compr;
- d_stream.avail_in = 0;
- d_stream.next_out = uncompr;
-
- err = inflateInit(&d_stream);
- CHECK_ERR(err, "inflateInit");
-
- while (d_stream.total_out < uncomprLen && d_stream.total_in < comprLen) {
- d_stream.avail_in = d_stream.avail_out = 1; /* force small buffers */
- err = inflate(&d_stream, Z_NO_FLUSH);
- if (err == Z_STREAM_END) break;
- CHECK_ERR(err, "inflate");
- }
-
- err = inflateEnd(&d_stream);
- CHECK_ERR(err, "inflateEnd");
-
- if (strcmp((char*)uncompr, hello)) {
- fprintf(stderr, "bad inflate\n");
- exit(1);
- } else {
- printf("inflate(): %s\n", (char *)uncompr);
- }
-}
-
-/* ===========================================================================
- * Test deflate() with large buffers and dynamic change of compression level
- */
-void test_large_deflate(compr, comprLen, uncompr, uncomprLen)
- Byte *compr, *uncompr;
- uLong comprLen, uncomprLen;
-{
- z_stream c_stream; /* compression stream */
- int err;
-
- c_stream.zalloc = (alloc_func)0;
- c_stream.zfree = (free_func)0;
- c_stream.opaque = (voidpf)0;
-
- err = deflateInit(&c_stream, Z_BEST_SPEED);
- CHECK_ERR(err, "deflateInit");
-
- c_stream.next_out = compr;
- c_stream.avail_out = (uInt)comprLen;
-
- /* At this point, uncompr is still mostly zeroes, so it should compress
- * very well:
- */
- c_stream.next_in = uncompr;
- c_stream.avail_in = (uInt)uncomprLen;
- err = deflate(&c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, "deflate");
- if (c_stream.avail_in != 0) {
- fprintf(stderr, "deflate not greedy\n");
- exit(1);
- }
-
- /* Feed in already compressed data and switch to no compression: */
- deflateParams(&c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY);
- c_stream.next_in = compr;
- c_stream.avail_in = (uInt)comprLen/2;
- err = deflate(&c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, "deflate");
-
- /* Switch back to compressing mode: */
- deflateParams(&c_stream, Z_BEST_COMPRESSION, Z_FILTERED);
- c_stream.next_in = uncompr;
- c_stream.avail_in = (uInt)uncomprLen;
- err = deflate(&c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, "deflate");
-
- err = deflate(&c_stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- fprintf(stderr, "deflate should report Z_STREAM_END\n");
- exit(1);
- }
- err = deflateEnd(&c_stream);
- CHECK_ERR(err, "deflateEnd");
-}
-
-/* ===========================================================================
- * Test inflate() with large buffers
- */
-void test_large_inflate(compr, comprLen, uncompr, uncomprLen)
- Byte *compr, *uncompr;
- uLong comprLen, uncomprLen;
-{
- int err;
- z_stream d_stream; /* decompression stream */
-
- strcpy((char*)uncompr, "garbage");
-
- d_stream.zalloc = (alloc_func)0;
- d_stream.zfree = (free_func)0;
- d_stream.opaque = (voidpf)0;
-
- d_stream.next_in = compr;
- d_stream.avail_in = (uInt)comprLen;
-
- err = inflateInit(&d_stream);
- CHECK_ERR(err, "inflateInit");
-
- for (;;) {
- d_stream.next_out = uncompr; /* discard the output */
- d_stream.avail_out = (uInt)uncomprLen;
- err = inflate(&d_stream, Z_NO_FLUSH);
- if (err == Z_STREAM_END) break;
- CHECK_ERR(err, "large inflate");
- }
-
- err = inflateEnd(&d_stream);
- CHECK_ERR(err, "inflateEnd");
-
- if (d_stream.total_out != 2*uncomprLen + comprLen/2) {
- fprintf(stderr, "bad large inflate: %ld\n", d_stream.total_out);
- exit(1);
- } else {
- printf("large_inflate(): OK\n");
- }
-}
-
-/* ===========================================================================
- * Test deflate() with full flush
- */
-void test_flush(compr, comprLen)
- Byte *compr;
- uLong *comprLen;
-{
- z_stream c_stream; /* compression stream */
- int err;
- int len = strlen(hello)+1;
-
- c_stream.zalloc = (alloc_func)0;
- c_stream.zfree = (free_func)0;
- c_stream.opaque = (voidpf)0;
-
- err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);
- CHECK_ERR(err, "deflateInit");
-
- c_stream.next_in = (Bytef*)hello;
- c_stream.next_out = compr;
- c_stream.avail_in = 3;
- c_stream.avail_out = (uInt)*comprLen;
- err = deflate(&c_stream, Z_FULL_FLUSH);
- CHECK_ERR(err, "deflate");
-
- compr[3]++; /* force an error in first compressed block */
- c_stream.avail_in = len - 3;
-
- err = deflate(&c_stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- CHECK_ERR(err, "deflate");
- }
- err = deflateEnd(&c_stream);
- CHECK_ERR(err, "deflateEnd");
-
- *comprLen = c_stream.total_out;
-}
-
-/* ===========================================================================
- * Test inflateSync()
- */
-void test_sync(compr, comprLen, uncompr, uncomprLen)
- Byte *compr, *uncompr;
- uLong comprLen, uncomprLen;
-{
- int err;
- z_stream d_stream; /* decompression stream */
-
- strcpy((char*)uncompr, "garbage");
-
- d_stream.zalloc = (alloc_func)0;
- d_stream.zfree = (free_func)0;
- d_stream.opaque = (voidpf)0;
-
- d_stream.next_in = compr;
- d_stream.avail_in = 2; /* just read the zlib header */
-
- err = inflateInit(&d_stream);
- CHECK_ERR(err, "inflateInit");
-
- d_stream.next_out = uncompr;
- d_stream.avail_out = (uInt)uncomprLen;
-
- inflate(&d_stream, Z_NO_FLUSH);
- CHECK_ERR(err, "inflate");
-
- d_stream.avail_in = (uInt)comprLen-2; /* read all compressed data */
- err = inflateSync(&d_stream); /* but skip the damaged part */
- CHECK_ERR(err, "inflateSync");
-
- err = inflate(&d_stream, Z_FINISH);
- if (err != Z_DATA_ERROR) {
- fprintf(stderr, "inflate should report DATA_ERROR\n");
- /* Because of incorrect adler32 */
- exit(1);
- }
- err = inflateEnd(&d_stream);
- CHECK_ERR(err, "inflateEnd");
-
- printf("after inflateSync(): hel%s\n", (char *)uncompr);
-}
-
-/* ===========================================================================
- * Test deflate() with preset dictionary
- */
-void test_dict_deflate(compr, comprLen)
- Byte *compr;
- uLong comprLen;
-{
- z_stream c_stream; /* compression stream */
- int err;
-
- c_stream.zalloc = (alloc_func)0;
- c_stream.zfree = (free_func)0;
- c_stream.opaque = (voidpf)0;
-
- err = deflateInit(&c_stream, Z_BEST_COMPRESSION);
- CHECK_ERR(err, "deflateInit");
-
- err = deflateSetDictionary(&c_stream,
- (const Bytef*)dictionary, sizeof(dictionary));
- CHECK_ERR(err, "deflateSetDictionary");
-
- dictId = c_stream.adler;
- c_stream.next_out = compr;
- c_stream.avail_out = (uInt)comprLen;
-
- c_stream.next_in = (Bytef*)hello;
- c_stream.avail_in = (uInt)strlen(hello)+1;
-
- err = deflate(&c_stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- fprintf(stderr, "deflate should report Z_STREAM_END\n");
- exit(1);
- }
- err = deflateEnd(&c_stream);
- CHECK_ERR(err, "deflateEnd");
-}
-
-/* ===========================================================================
- * Test inflate() with a preset dictionary
- */
-void test_dict_inflate(compr, comprLen, uncompr, uncomprLen)
- Byte *compr, *uncompr;
- uLong comprLen, uncomprLen;
-{
- int err;
- z_stream d_stream; /* decompression stream */
-
- strcpy((char*)uncompr, "garbage");
-
- d_stream.zalloc = (alloc_func)0;
- d_stream.zfree = (free_func)0;
- d_stream.opaque = (voidpf)0;
-
- d_stream.next_in = compr;
- d_stream.avail_in = (uInt)comprLen;
-
- err = inflateInit(&d_stream);
- CHECK_ERR(err, "inflateInit");
-
- d_stream.next_out = uncompr;
- d_stream.avail_out = (uInt)uncomprLen;
-
- for (;;) {
- err = inflate(&d_stream, Z_NO_FLUSH);
- if (err == Z_STREAM_END) break;
- if (err == Z_NEED_DICT) {
- if (d_stream.adler != dictId) {
- fprintf(stderr, "unexpected dictionary");
- exit(1);
- }
- err = inflateSetDictionary(&d_stream, (const Bytef*)dictionary,
- sizeof(dictionary));
- }
- CHECK_ERR(err, "inflate with dict");
- }
-
- err = inflateEnd(&d_stream);
- CHECK_ERR(err, "inflateEnd");
-
- if (strcmp((char*)uncompr, hello)) {
- fprintf(stderr, "bad inflate with dict\n");
- exit(1);
- } else {
- printf("inflate with dictionary: %s\n", (char *)uncompr);
- }
-}
-
-/* ===========================================================================
- * Usage: example [output.gz [input.gz]]
- */
-
-int main(argc, argv)
- int argc;
- char *argv[];
-{
- Byte *compr, *uncompr;
- uLong comprLen = 10000*sizeof(int); /* don't overflow on MSDOS */
- uLong uncomprLen = comprLen;
- static const char* myVersion = ZLIB_VERSION;
-
- if (zlibVersion()[0] != myVersion[0]) {
- fprintf(stderr, "incompatible zlib version\n");
- exit(1);
-
- } else if (strcmp(zlibVersion(), ZLIB_VERSION) != 0) {
- fprintf(stderr, "warning: different zlib version\n");
- }
-
- compr = (Byte*)calloc((uInt)comprLen, 1);
- uncompr = (Byte*)calloc((uInt)uncomprLen, 1);
- /* compr and uncompr are cleared to avoid reading uninitialized
- * data and to ensure that uncompr compresses well.
- */
- if (compr == Z_NULL || uncompr == Z_NULL) {
- printf("out of memory\n");
- exit(1);
- }
- test_compress(compr, comprLen, uncompr, uncomprLen);
-
- test_gzio((argc > 1 ? argv[1] : TESTFILE),
- (argc > 2 ? argv[2] : TESTFILE),
- uncompr, (int)uncomprLen);
-
- test_deflate(compr, comprLen);
- test_inflate(compr, comprLen, uncompr, uncomprLen);
-
- test_large_deflate(compr, comprLen, uncompr, uncomprLen);
- test_large_inflate(compr, comprLen, uncompr, uncomprLen);
-
- test_flush(compr, &comprLen);
- test_sync(compr, comprLen, uncompr, uncomprLen);
- comprLen = uncomprLen;
-
- test_dict_deflate(compr, comprLen);
- test_dict_inflate(compr, comprLen, uncompr, uncomprLen);
-
- exit(0);
- return 0; /* to avoid warning */
-}
diff --git a/zlib/gzio.c b/zlib/gzio.c
deleted file mode 100644
index f7c336a55a0..00000000000
--- a/zlib/gzio.c
+++ /dev/null
@@ -1,875 +0,0 @@
-/* gzio.c -- IO on .gz files
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- *
- * Compile this file with -DNO_DEFLATE to avoid the compression code.
- */
-
-/* @(#) $Id$ */
-
-#include <stdio.h>
-
-#include "zutil.h"
-
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-#ifndef Z_BUFSIZE
-# ifdef MAXSEG_64K
-# define Z_BUFSIZE 4096 /* minimize memory usage for 16-bit DOS */
-# else
-# define Z_BUFSIZE 16384
-# endif
-#endif
-#ifndef Z_PRINTF_BUFSIZE
-# define Z_PRINTF_BUFSIZE 4096
-#endif
-
-#define ALLOC(size) malloc(size)
-#define TRYFREE(p) {if (p) free(p);}
-
-static int gz_magic[2] = {0x1f, 0x8b}; /* gzip magic header */
-
-/* gzip flag byte */
-#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
-#define HEAD_CRC 0x02 /* bit 1 set: header CRC present */
-#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
-#define ORIG_NAME 0x08 /* bit 3 set: original file name present */
-#define COMMENT 0x10 /* bit 4 set: file comment present */
-#define RESERVED 0xE0 /* bits 5..7: reserved */
-
-typedef struct gz_stream {
- z_stream stream;
- int z_err; /* error code for last stream operation */
- int z_eof; /* set if end of input file */
- FILE *file; /* .gz file */
- Byte *inbuf; /* input buffer */
- Byte *outbuf; /* output buffer */
- uLong crc; /* crc32 of uncompressed data */
- char *msg; /* error message */
- char *path; /* path name for debugging only */
- int transparent; /* 1 if input file is not a .gz file */
- char mode; /* 'w' or 'r' */
- long startpos; /* start of compressed data in file (header skipped) */
-} gz_stream;
-
-
-local gzFile gz_open OF((const char *path, const char *mode, int fd));
-local int do_flush OF((gzFile file, int flush));
-local int get_byte OF((gz_stream *s));
-local void check_header OF((gz_stream *s));
-local int destroy OF((gz_stream *s));
-local void putLong OF((FILE *file, uLong x));
-local uLong getLong OF((gz_stream *s));
-
-/* ===========================================================================
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb"). The file is given either by file descriptor
- or path name (if fd == -1).
- gz_open return NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR).
-*/
-local gzFile gz_open (path, mode, fd)
- const char *path;
- const char *mode;
- int fd;
-{
- int err;
- int level = Z_DEFAULT_COMPRESSION; /* compression level */
- int strategy = Z_DEFAULT_STRATEGY; /* compression strategy */
- char *p = (char*)mode;
- gz_stream *s;
- char fmode[80]; /* copy of mode, without the compression level */
- char *m = fmode;
-
- if (!path || !mode) return Z_NULL;
-
- s = (gz_stream *)ALLOC(sizeof(gz_stream));
- if (!s) return Z_NULL;
-
- s->stream.zalloc = (alloc_func)0;
- s->stream.zfree = (free_func)0;
- s->stream.opaque = (voidpf)0;
- s->stream.next_in = s->inbuf = Z_NULL;
- s->stream.next_out = s->outbuf = Z_NULL;
- s->stream.avail_in = s->stream.avail_out = 0;
- s->file = NULL;
- s->z_err = Z_OK;
- s->z_eof = 0;
- s->crc = crc32(0L, Z_NULL, 0);
- s->msg = NULL;
- s->transparent = 0;
-
- s->path = (char*)ALLOC(strlen(path)+1);
- if (s->path == NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- strcpy(s->path, path); /* do this early for debugging */
-
- s->mode = '\0';
- do {
- if (*p == 'r') s->mode = 'r';
- if (*p == 'w' || *p == 'a') s->mode = 'w';
- if (*p >= '0' && *p <= '9') {
- level = *p - '0';
- } else if (*p == 'f') {
- strategy = Z_FILTERED;
- } else if (*p == 'h') {
- strategy = Z_HUFFMAN_ONLY;
- } else {
- *m++ = *p; /* copy the mode */
- }
- } while (*p++ && m != fmode + sizeof(fmode));
- if (s->mode == '\0') return destroy(s), (gzFile)Z_NULL;
-
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- err = Z_STREAM_ERROR;
-#else
- err = deflateInit2(&(s->stream), level,
- Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, strategy);
- /* windowBits is passed < 0 to suppress zlib header */
-
- s->stream.next_out = s->outbuf = (Byte*)ALLOC(Z_BUFSIZE);
-#endif
- if (err != Z_OK || s->outbuf == Z_NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- } else {
- s->stream.next_in = s->inbuf = (Byte*)ALLOC(Z_BUFSIZE);
-
- err = inflateInit2(&(s->stream), -MAX_WBITS);
- /* windowBits is passed < 0 to tell that there is no zlib header.
- * Note that in this case inflate *requires* an extra "dummy" byte
- * after the compressed stream in order to complete decompression and
- * return Z_STREAM_END. Here the gzip CRC32 ensures that 4 bytes are
- * present after the compressed stream.
- */
- if (err != Z_OK || s->inbuf == Z_NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- }
- s->stream.avail_out = Z_BUFSIZE;
-
- errno = 0;
- s->file = fd < 0 ? F_OPEN(path, fmode) : (FILE*)fdopen(fd, fmode);
-
- if (s->file == NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- if (s->mode == 'w') {
- /* Write a very simple .gz header:
- */
- fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1],
- Z_DEFLATED, 0 /*flags*/, 0,0,0,0 /*time*/, 0 /*xflags*/, OS_CODE);
- s->startpos = 10L;
- /* We use 10L instead of ftell(s->file) to because ftell causes an
- * fflush on some systems. This version of the library doesn't use
- * startpos anyway in write mode, so this initialization is not
- * necessary.
- */
- } else {
- check_header(s); /* skip the .gz header */
- s->startpos = (ftell(s->file) - s->stream.avail_in);
- }
-
- return (gzFile)s;
-}
-
-/* ===========================================================================
- Opens a gzip (.gz) file for reading or writing.
-*/
-gzFile ZEXPORT gzopen (path, mode)
- const char *path;
- const char *mode;
-{
- return gz_open (path, mode, -1);
-}
-
-/* ===========================================================================
- Associate a gzFile with the file descriptor fd. fd is not dup'ed here
- to mimic the behavio(u)r of fdopen.
-*/
-gzFile ZEXPORT gzdopen (fd, mode)
- int fd;
- const char *mode;
-{
- char name[20];
-
- if (fd < 0) return (gzFile)Z_NULL;
- sprintf(name, "<fd:%d>", fd); /* for debugging */
-
- return gz_open (name, mode, fd);
-}
-
-/* ===========================================================================
- * Update the compression level and strategy
- */
-int ZEXPORT gzsetparams (file, level, strategy)
- gzFile file;
- int level;
- int strategy;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
-
- /* Make room to allow flushing */
- if (s->stream.avail_out == 0) {
-
- s->stream.next_out = s->outbuf;
- if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) {
- s->z_err = Z_ERRNO;
- }
- s->stream.avail_out = Z_BUFSIZE;
- }
-
- return deflateParams (&(s->stream), level, strategy);
-}
-
-/* ===========================================================================
- Read a byte from a gz_stream; update next_in and avail_in. Return EOF
- for end of file.
- IN assertion: the stream s has been sucessfully opened for reading.
-*/
-local int get_byte(s)
- gz_stream *s;
-{
- if (s->z_eof) return EOF;
- if (s->stream.avail_in == 0) {
- errno = 0;
- s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file);
- if (s->stream.avail_in == 0) {
- s->z_eof = 1;
- if (ferror(s->file)) s->z_err = Z_ERRNO;
- return EOF;
- }
- s->stream.next_in = s->inbuf;
- }
- s->stream.avail_in--;
- return *(s->stream.next_in)++;
-}
-
-/* ===========================================================================
- Check the gzip header of a gz_stream opened for reading. Set the stream
- mode to transparent if the gzip magic header is not present; set s->err
- to Z_DATA_ERROR if the magic header is present but the rest of the header
- is incorrect.
- IN assertion: the stream s has already been created sucessfully;
- s->stream.avail_in is zero for the first time, but may be non-zero
- for concatenated .gz files.
-*/
-local void check_header(s)
- gz_stream *s;
-{
- int method; /* method byte */
- int flags; /* flags byte */
- uInt len;
- int c;
-
- /* Check the gzip magic header */
- for (len = 0; len < 2; len++) {
- c = get_byte(s);
- if (c != gz_magic[len]) {
- if (len != 0) s->stream.avail_in++, s->stream.next_in--;
- if (c != EOF) {
- s->stream.avail_in++, s->stream.next_in--;
- s->transparent = 1;
- }
- s->z_err = s->stream.avail_in != 0 ? Z_OK : Z_STREAM_END;
- return;
- }
- }
- method = get_byte(s);
- flags = get_byte(s);
- if (method != Z_DEFLATED || (flags & RESERVED) != 0) {
- s->z_err = Z_DATA_ERROR;
- return;
- }
-
- /* Discard time, xflags and OS code: */
- for (len = 0; len < 6; len++) (void)get_byte(s);
-
- if ((flags & EXTRA_FIELD) != 0) { /* skip the extra field */
- len = (uInt)get_byte(s);
- len += ((uInt)get_byte(s))<<8;
- /* len is garbage if EOF but the loop below will quit anyway */
- while (len-- != 0 && get_byte(s) != EOF) ;
- }
- if ((flags & ORIG_NAME) != 0) { /* skip the original file name */
- while ((c = get_byte(s)) != 0 && c != EOF) ;
- }
- if ((flags & COMMENT) != 0) { /* skip the .gz file comment */
- while ((c = get_byte(s)) != 0 && c != EOF) ;
- }
- if ((flags & HEAD_CRC) != 0) { /* skip the header crc */
- for (len = 0; len < 2; len++) (void)get_byte(s);
- }
- s->z_err = s->z_eof ? Z_DATA_ERROR : Z_OK;
-}
-
- /* ===========================================================================
- * Cleanup then free the given gz_stream. Return a zlib error code.
- Try freeing in the reverse order of allocations.
- */
-local int destroy (s)
- gz_stream *s;
-{
- int err = Z_OK;
-
- if (!s) return Z_STREAM_ERROR;
-
- TRYFREE(s->msg);
-
- if (s->stream.state != NULL) {
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- err = Z_STREAM_ERROR;
-#else
- err = deflateEnd(&(s->stream));
-#endif
- } else if (s->mode == 'r') {
- err = inflateEnd(&(s->stream));
- }
- }
- if (s->file != NULL && fclose(s->file)) {
-#ifdef ESPIPE
- if (errno != ESPIPE) /* fclose is broken for pipes in HP/UX */
-#endif
- err = Z_ERRNO;
- }
- if (s->z_err < 0) err = s->z_err;
-
- TRYFREE(s->inbuf);
- TRYFREE(s->outbuf);
- TRYFREE(s->path);
- TRYFREE(s);
- return err;
-}
-
-/* ===========================================================================
- Reads the given number of uncompressed bytes from the compressed file.
- gzread returns the number of bytes actually read (0 for end of file).
-*/
-int ZEXPORT gzread (file, buf, len)
- gzFile file;
- voidp buf;
- unsigned len;
-{
- gz_stream *s = (gz_stream*)file;
- Bytef *start = (Bytef*)buf; /* starting point for crc computation */
- Byte *next_out; /* == stream.next_out but not forced far (for MSDOS) */
-
- if (s == NULL || s->mode != 'r') return Z_STREAM_ERROR;
-
- if (s->z_err == Z_DATA_ERROR || s->z_err == Z_ERRNO) return -1;
- if (s->z_err == Z_STREAM_END) return 0; /* EOF */
-
- next_out = (Byte*)buf;
- s->stream.next_out = (Bytef*)buf;
- s->stream.avail_out = len;
-
- while (s->stream.avail_out != 0) {
-
- if (s->transparent) {
- /* Copy first the lookahead bytes: */
- uInt n = s->stream.avail_in;
- if (n > s->stream.avail_out) n = s->stream.avail_out;
- if (n > 0) {
- zmemcpy(s->stream.next_out, s->stream.next_in, n);
- next_out += n;
- s->stream.next_out = next_out;
- s->stream.next_in += n;
- s->stream.avail_out -= n;
- s->stream.avail_in -= n;
- }
- if (s->stream.avail_out > 0) {
- s->stream.avail_out -= fread(next_out, 1, s->stream.avail_out,
- s->file);
- }
- len -= s->stream.avail_out;
- s->stream.total_in += (uLong)len;
- s->stream.total_out += (uLong)len;
- if (len == 0) s->z_eof = 1;
- return (int)len;
- }
- if (s->stream.avail_in == 0 && !s->z_eof) {
-
- errno = 0;
- s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file);
- if (s->stream.avail_in == 0) {
- s->z_eof = 1;
- if (ferror(s->file)) {
- s->z_err = Z_ERRNO;
- break;
- }
- }
- s->stream.next_in = s->inbuf;
- }
- s->z_err = inflate(&(s->stream), Z_NO_FLUSH);
-
- if (s->z_err == Z_STREAM_END) {
- /* Check CRC and original size */
- s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
- start = s->stream.next_out;
-
- if (getLong(s) != s->crc) {
- s->z_err = Z_DATA_ERROR;
- } else {
- (void)getLong(s);
- /* The uncompressed length returned by above getlong() may
- * be different from s->stream.total_out) in case of
- * concatenated .gz files. Check for such files:
- */
- check_header(s);
- if (s->z_err == Z_OK) {
- uLong total_in = s->stream.total_in;
- uLong total_out = s->stream.total_out;
-
- inflateReset(&(s->stream));
- s->stream.total_in = total_in;
- s->stream.total_out = total_out;
- s->crc = crc32(0L, Z_NULL, 0);
- }
- }
- }
- if (s->z_err != Z_OK || s->z_eof) break;
- }
- s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
-
- return (int)(len - s->stream.avail_out);
-}
-
-
-/* ===========================================================================
- Reads one byte from the compressed file. gzgetc returns this byte
- or -1 in case of end of file or error.
-*/
-int ZEXPORT gzgetc(file)
- gzFile file;
-{
- unsigned char c;
-
- return gzread(file, &c, 1) == 1 ? c : -1;
-}
-
-
-/* ===========================================================================
- Reads bytes from the compressed file until len-1 characters are
- read, or a newline character is read and transferred to buf, or an
- end-of-file condition is encountered. The string is then terminated
- with a null character.
- gzgets returns buf, or Z_NULL in case of error.
-
- The current implementation is not optimized at all.
-*/
-char * ZEXPORT gzgets(file, buf, len)
- gzFile file;
- char *buf;
- int len;
-{
- char *b = buf;
- if (buf == Z_NULL || len <= 0) return Z_NULL;
-
- while (--len > 0 && gzread(file, buf, 1) == 1 && *buf++ != '\n') ;
- *buf = '\0';
- return b == buf && len > 0 ? Z_NULL : b;
-}
-
-
-#ifndef NO_DEFLATE
-/* ===========================================================================
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of bytes actually written (0 in case of error).
-*/
-int ZEXPORT gzwrite (file, buf, len)
- gzFile file;
- const voidp buf;
- unsigned len;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
-
- s->stream.next_in = (Bytef*)buf;
- s->stream.avail_in = len;
-
- while (s->stream.avail_in != 0) {
-
- if (s->stream.avail_out == 0) {
-
- s->stream.next_out = s->outbuf;
- if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) {
- s->z_err = Z_ERRNO;
- break;
- }
- s->stream.avail_out = Z_BUFSIZE;
- }
- s->z_err = deflate(&(s->stream), Z_NO_FLUSH);
- if (s->z_err != Z_OK) break;
- }
- s->crc = crc32(s->crc, (const Bytef *)buf, len);
-
- return (int)(len - s->stream.avail_in);
-}
-
-/* ===========================================================================
- Converts, formats, and writes the args to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written (0 in case of error).
-*/
-#ifdef STDC
-#include <stdarg.h>
-
-int ZEXPORTVA gzprintf (gzFile file, const char *format, /* args */ ...)
-{
- char buf[Z_PRINTF_BUFSIZE];
- va_list va;
- int len;
-
- va_start(va, format);
-#ifdef HAS_vsnprintf
- (void)vsnprintf(buf, sizeof(buf), format, va);
-#else
- (void)vsprintf(buf, format, va);
-#endif
- va_end(va);
- len = strlen(buf); /* some *sprintf don't return the nb of bytes written */
- if (len <= 0) return 0;
-
- return gzwrite(file, buf, (unsigned)len);
-}
-#else /* not ANSI C */
-
-int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
- a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
- gzFile file;
- const char *format;
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
- a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
-{
- char buf[Z_PRINTF_BUFSIZE];
- int len;
-
-#ifdef HAS_snprintf
- snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8,
- a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
-#else
- sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8,
- a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
-#endif
- len = strlen(buf); /* old sprintf doesn't return the nb of bytes written */
- if (len <= 0) return 0;
-
- return gzwrite(file, buf, len);
-}
-#endif
-
-/* ===========================================================================
- Writes c, converted to an unsigned char, into the compressed file.
- gzputc returns the value that was written, or -1 in case of error.
-*/
-int ZEXPORT gzputc(file, c)
- gzFile file;
- int c;
-{
- unsigned char cc = (unsigned char) c; /* required for big endian systems */
-
- return gzwrite(file, &cc, 1) == 1 ? (int)cc : -1;
-}
-
-
-/* ===========================================================================
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-int ZEXPORT gzputs(file, s)
- gzFile file;
- const char *s;
-{
- return gzwrite(file, (char*)s, (unsigned)strlen(s));
-}
-
-
-/* ===========================================================================
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function.
-*/
-local int do_flush (file, flush)
- gzFile file;
- int flush;
-{
- uInt len;
- int done = 0;
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
-
- s->stream.avail_in = 0; /* should be zero already anyway */
-
- for (;;) {
- len = Z_BUFSIZE - s->stream.avail_out;
-
- if (len != 0) {
- if ((uInt)fwrite(s->outbuf, 1, len, s->file) != len) {
- s->z_err = Z_ERRNO;
- return Z_ERRNO;
- }
- s->stream.next_out = s->outbuf;
- s->stream.avail_out = Z_BUFSIZE;
- }
- if (done) break;
- s->z_err = deflate(&(s->stream), flush);
-
- /* Ignore the second of two consecutive flushes: */
- if (len == 0 && s->z_err == Z_BUF_ERROR) s->z_err = Z_OK;
-
- /* deflate has finished flushing only when it hasn't used up
- * all the available space in the output buffer:
- */
- done = (s->stream.avail_out != 0 || s->z_err == Z_STREAM_END);
-
- if (s->z_err != Z_OK && s->z_err != Z_STREAM_END) break;
- }
- return s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
-}
-
-int ZEXPORT gzflush (file, flush)
- gzFile file;
- int flush;
-{
- gz_stream *s = (gz_stream*)file;
- int err = do_flush (file, flush);
-
- if (err) return err;
- fflush(s->file);
- return s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
-}
-#endif /* NO_DEFLATE */
-
-/* ===========================================================================
- Sets the starting position for the next gzread or gzwrite on the given
- compressed file. The offset represents a number of bytes in the
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error.
- SEEK_END is not implemented, returns error.
- In this version of the library, gzseek can be extremely slow.
-*/
-z_off_t ZEXPORT gzseek (file, offset, whence)
- gzFile file;
- z_off_t offset;
- int whence;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || whence == SEEK_END ||
- s->z_err == Z_ERRNO || s->z_err == Z_DATA_ERROR) {
- return -1L;
- }
-
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- return -1L;
-#else
- if (whence == SEEK_SET) {
- offset -= s->stream.total_in;
- }
- if (offset < 0) return -1L;
-
- /* At this point, offset is the number of zero bytes to write. */
- if (s->inbuf == Z_NULL) {
- s->inbuf = (Byte*)ALLOC(Z_BUFSIZE); /* for seeking */
- zmemzero(s->inbuf, Z_BUFSIZE);
- }
- while (offset > 0) {
- uInt size = Z_BUFSIZE;
- if (offset < Z_BUFSIZE) size = (uInt)offset;
-
- size = gzwrite(file, s->inbuf, size);
- if (size == 0) return -1L;
-
- offset -= size;
- }
- return (z_off_t)s->stream.total_in;
-#endif
- }
- /* Rest of function is for reading only */
-
- /* compute absolute position */
- if (whence == SEEK_CUR) {
- offset += s->stream.total_out;
- }
- if (offset < 0) return -1L;
-
- if (s->transparent) {
- /* map to fseek */
- s->stream.avail_in = 0;
- s->stream.next_in = s->inbuf;
- if (fseek(s->file, offset, SEEK_SET) < 0) return -1L;
-
- s->stream.total_in = s->stream.total_out = (uLong)offset;
- return offset;
- }
-
- /* For a negative seek, rewind and use positive seek */
- if ((uLong)offset >= s->stream.total_out) {
- offset -= s->stream.total_out;
- } else if (gzrewind(file) < 0) {
- return -1L;
- }
- /* offset is now the number of bytes to skip. */
-
- if (offset != 0 && s->outbuf == Z_NULL) {
- s->outbuf = (Byte*)ALLOC(Z_BUFSIZE);
- }
- while (offset > 0) {
- int size = Z_BUFSIZE;
- if (offset < Z_BUFSIZE) size = (int)offset;
-
- size = gzread(file, s->outbuf, (uInt)size);
- if (size <= 0) return -1L;
- offset -= size;
- }
- return (z_off_t)s->stream.total_out;
-}
-
-/* ===========================================================================
- Rewinds input file.
-*/
-int ZEXPORT gzrewind (file)
- gzFile file;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'r') return -1;
-
- s->z_err = Z_OK;
- s->z_eof = 0;
- s->stream.avail_in = 0;
- s->stream.next_in = s->inbuf;
- s->crc = crc32(0L, Z_NULL, 0);
-
- if (s->startpos == 0) { /* not a compressed file */
- rewind(s->file);
- return 0;
- }
-
- (void) inflateReset(&s->stream);
- return fseek(s->file, s->startpos, SEEK_SET);
-}
-
-/* ===========================================================================
- Returns the starting position for the next gzread or gzwrite on the
- given compressed file. This position represents a number of bytes in the
- uncompressed data stream.
-*/
-z_off_t ZEXPORT gztell (file)
- gzFile file;
-{
- return gzseek(file, 0L, SEEK_CUR);
-}
-
-/* ===========================================================================
- Returns 1 when EOF has previously been detected reading the given
- input stream, otherwise zero.
-*/
-int ZEXPORT gzeof (file)
- gzFile file;
-{
- gz_stream *s = (gz_stream*)file;
-
- return (s == NULL || s->mode != 'r') ? 0 : s->z_eof;
-}
-
-/* ===========================================================================
- Outputs a long in LSB order to the given file
-*/
-local void putLong (file, x)
- FILE *file;
- uLong x;
-{
- int n;
- for (n = 0; n < 4; n++) {
- fputc((int)(x & 0xff), file);
- x >>= 8;
- }
-}
-
-/* ===========================================================================
- Reads a long in LSB order from the given gz_stream. Sets z_err in case
- of error.
-*/
-local uLong getLong (s)
- gz_stream *s;
-{
- uLong x = (uLong)get_byte(s);
- int c;
-
- x += ((uLong)get_byte(s))<<8;
- x += ((uLong)get_byte(s))<<16;
- c = get_byte(s);
- if (c == EOF) s->z_err = Z_DATA_ERROR;
- x += ((uLong)c)<<24;
- return x;
-}
-
-/* ===========================================================================
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state.
-*/
-int ZEXPORT gzclose (file)
- gzFile file;
-{
- int err;
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL) return Z_STREAM_ERROR;
-
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- return Z_STREAM_ERROR;
-#else
- err = do_flush (file, Z_FINISH);
- if (err != Z_OK) return destroy((gz_stream*)file);
-
- putLong (s->file, s->crc);
- putLong (s->file, s->stream.total_in);
-#endif
- }
- return destroy((gz_stream*)file);
-}
-
-/* ===========================================================================
- Returns the error message for the last error which occured on the
- given compressed file. errnum is set to zlib error number. If an
- error occured in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-const char* ZEXPORT gzerror (file, errnum)
- gzFile file;
- int *errnum;
-{
- char *m;
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL) {
- *errnum = Z_STREAM_ERROR;
- return (const char*)ERR_MSG(Z_STREAM_ERROR);
- }
- *errnum = s->z_err;
- if (*errnum == Z_OK) return (const char*)"";
-
- m = (char*)(*errnum == Z_ERRNO ? zstrerror(errno) : s->stream.msg);
-
- if (m == NULL || *m == '\0') m = (char*)ERR_MSG(s->z_err);
-
- TRYFREE(s->msg);
- s->msg = (char*)ALLOC(strlen(s->path) + strlen(m) + 3);
- strcpy(s->msg, s->path);
- strcat(s->msg, ": ");
- strcat(s->msg, m);
- return (const char*)s->msg;
-}
diff --git a/zlib/infblock.c b/zlib/infblock.c
deleted file mode 100644
index f4920faa5ea..00000000000
--- a/zlib/infblock.c
+++ /dev/null
@@ -1,398 +0,0 @@
-/* infblock.c -- interpret and process block types to last block
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "infblock.h"
-#include "inftrees.h"
-#include "infcodes.h"
-#include "infutil.h"
-
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* Table for deflate from PKZIP's appnote.txt. */
-local const uInt border[] = { /* Order of the bit length code lengths */
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-
-/*
- Notes beyond the 1.93a appnote.txt:
-
- 1. Distance pointers never point before the beginning of the output
- stream.
- 2. Distance pointers can point back across blocks, up to 32k away.
- 3. There is an implied maximum of 7 bits for the bit length table and
- 15 bits for the actual data.
- 4. If only one code exists, then it is encoded using one bit. (Zero
- would be more efficient, but perhaps a little confusing.) If two
- codes exist, they are coded using one bit each (0 and 1).
- 5. There is no way of sending zero distance codes--a dummy must be
- sent if there are none. (History: a pre 2.0 version of PKZIP would
- store blocks with no distance codes, but this was discovered to be
- too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
- zero distance codes, which is sent as one code of zero bits in
- length.
- 6. There are up to 286 literal/length codes. Code 256 represents the
- end-of-block. Note however that the static length tree defines
- 288 codes just to fill out the Huffman codes. Codes 286 and 287
- cannot be used though, since there is no length base or extra bits
- defined for them. Similarily, there are up to 30 distance codes.
- However, static trees define 32 codes (all 5 bits) to fill out the
- Huffman codes, but the last two had better not show up in the data.
- 7. Unzip can check dynamic Huffman blocks for complete code sets.
- The exception is that a single code would not be complete (see #4).
- 8. The five bits following the block type is really the number of
- literal codes sent minus 257.
- 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
- (1+6+6). Therefore, to output three times the length, you output
- three codes (1+1+1), whereas to output four times the same length,
- you only need two codes (1+3). Hmm.
- 10. In the tree reconstruction algorithm, Code = Code + Increment
- only if BitLength(i) is not zero. (Pretty obvious.)
- 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
- 12. Note: length code 284 can represent 227-258, but length code 285
- really is 258. The last length deserves its own, short code
- since it gets used a lot in very redundant files. The length
- 258 is special since 258 - 3 (the min match length) is 255.
- 13. The literal/length and distance code bit lengths are read as a
- single stream of lengths. It is possible (and advantageous) for
- a repeat code (16, 17, or 18) to go across the boundary between
- the two sets of lengths.
- */
-
-
-void inflate_blocks_reset(s, z, c)
-inflate_blocks_statef *s;
-z_streamp z;
-uLongf *c;
-{
- if (c != Z_NULL)
- *c = s->check;
- if (s->mode == BTREE || s->mode == DTREE)
- ZFREE(z, s->sub.trees.blens);
- if (s->mode == CODES)
- inflate_codes_free(s->sub.decode.codes, z);
- s->mode = TYPE;
- s->bitk = 0;
- s->bitb = 0;
- s->read = s->write = s->window;
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(0L, (const Bytef *)Z_NULL, 0);
- Tracev((stderr, "inflate: blocks reset\n"));
-}
-
-
-inflate_blocks_statef *inflate_blocks_new(z, c, w)
-z_streamp z;
-check_func c;
-uInt w;
-{
- inflate_blocks_statef *s;
-
- if ((s = (inflate_blocks_statef *)ZALLOC
- (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
- return s;
- if ((s->hufts =
- (inflate_huft *)ZALLOC(z, sizeof(inflate_huft), MANY)) == Z_NULL)
- {
- ZFREE(z, s);
- return Z_NULL;
- }
- if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
- {
- ZFREE(z, s->hufts);
- ZFREE(z, s);
- return Z_NULL;
- }
- s->end = s->window + w;
- s->checkfn = c;
- s->mode = TYPE;
- Tracev((stderr, "inflate: blocks allocated\n"));
- inflate_blocks_reset(s, z, Z_NULL);
- return s;
-}
-
-
-int inflate_blocks(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt t; /* temporary storage */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input based on current state */
- while (1) switch (s->mode)
- {
- case TYPE:
- NEEDBITS(3)
- t = (uInt)b & 7;
- s->last = t & 1;
- switch (t >> 1)
- {
- case 0: /* stored */
- Tracev((stderr, "inflate: stored block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- t = k & 7; /* go to byte boundary */
- DUMPBITS(t)
- s->mode = LENS; /* get length of stored block */
- break;
- case 1: /* fixed */
- Tracev((stderr, "inflate: fixed codes block%s\n",
- s->last ? " (last)" : ""));
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
-
- inflate_trees_fixed(&bl, &bd, &tl, &td, z);
- s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
- if (s->sub.decode.codes == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- }
- DUMPBITS(3)
- s->mode = CODES;
- break;
- case 2: /* dynamic */
- Tracev((stderr, "inflate: dynamic codes block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- s->mode = TABLE;
- break;
- case 3: /* illegal */
- DUMPBITS(3)
- s->mode = BAD;
- z->msg = (char*)"invalid block type";
- r = Z_DATA_ERROR;
- LEAVE
- }
- break;
- case LENS:
- NEEDBITS(32)
- if ((((~b) >> 16) & 0xffff) != (b & 0xffff))
- {
- s->mode = BAD;
- z->msg = (char*)"invalid stored block lengths";
- r = Z_DATA_ERROR;
- LEAVE
- }
- s->sub.left = (uInt)b & 0xffff;
- b = k = 0; /* dump bits */
- Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
- s->mode = s->sub.left ? STORED : (s->last ? DRY : TYPE);
- break;
- case STORED:
- if (n == 0)
- LEAVE
- NEEDOUT
- t = s->sub.left;
- if (t > n) t = n;
- if (t > m) t = m;
- zmemcpy(q, p, t);
- p += t; n -= t;
- q += t; m -= t;
- if ((s->sub.left -= t) != 0)
- break;
- Tracev((stderr, "inflate: stored end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- s->mode = s->last ? DRY : TYPE;
- break;
- case TABLE:
- NEEDBITS(14)
- s->sub.trees.table = t = (uInt)b & 0x3fff;
-#ifndef PKZIP_BUG_WORKAROUND
- if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
- {
- s->mode = BAD;
- z->msg = (char*)"too many length or distance symbols";
- r = Z_DATA_ERROR;
- LEAVE
- }
-#endif
- t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
- if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- DUMPBITS(14)
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: table sizes ok\n"));
- s->mode = BTREE;
- case BTREE:
- while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
- {
- NEEDBITS(3)
- s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
- DUMPBITS(3)
- }
- while (s->sub.trees.index < 19)
- s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
- s->sub.trees.bb = 7;
- t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
- &s->sub.trees.tb, s->hufts, z);
- if (t != Z_OK)
- {
- ZFREE(z, s->sub.trees.blens);
- r = t;
- if (r == Z_DATA_ERROR)
- s->mode = BAD;
- LEAVE
- }
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: bits tree ok\n"));
- s->mode = DTREE;
- case DTREE:
- while (t = s->sub.trees.table,
- s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
- {
- inflate_huft *h;
- uInt i, j, c;
-
- t = s->sub.trees.bb;
- NEEDBITS(t)
- h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
- t = h->bits;
- c = h->base;
- if (c < 16)
- {
- DUMPBITS(t)
- s->sub.trees.blens[s->sub.trees.index++] = c;
- }
- else /* c == 16..18 */
- {
- i = c == 18 ? 7 : c - 14;
- j = c == 18 ? 11 : 3;
- NEEDBITS(t + i)
- DUMPBITS(t)
- j += (uInt)b & inflate_mask[i];
- DUMPBITS(i)
- i = s->sub.trees.index;
- t = s->sub.trees.table;
- if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
- (c == 16 && i < 1))
- {
- ZFREE(z, s->sub.trees.blens);
- s->mode = BAD;
- z->msg = (char*)"invalid bit length repeat";
- r = Z_DATA_ERROR;
- LEAVE
- }
- c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
- do {
- s->sub.trees.blens[i++] = c;
- } while (--j);
- s->sub.trees.index = i;
- }
- }
- s->sub.trees.tb = Z_NULL;
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
- inflate_codes_statef *c;
-
- bl = 9; /* must be <= 9 for lookahead assumptions */
- bd = 6; /* must be <= 9 for lookahead assumptions */
- t = s->sub.trees.table;
- t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
- s->sub.trees.blens, &bl, &bd, &tl, &td,
- s->hufts, z);
- ZFREE(z, s->sub.trees.blens);
- if (t != Z_OK)
- {
- if (t == (uInt)Z_DATA_ERROR)
- s->mode = BAD;
- r = t;
- LEAVE
- }
- Tracev((stderr, "inflate: trees ok\n"));
- if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.codes = c;
- }
- s->mode = CODES;
- case CODES:
- UPDATE
- if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
- return inflate_flush(s, z, r);
- r = Z_OK;
- inflate_codes_free(s->sub.decode.codes, z);
- LOAD
- Tracev((stderr, "inflate: codes end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- if (!s->last)
- {
- s->mode = TYPE;
- break;
- }
- s->mode = DRY;
- case DRY:
- FLUSH
- if (s->read != s->write)
- LEAVE
- s->mode = DONE;
- case DONE:
- r = Z_STREAM_END;
- LEAVE
- case BAD:
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-int inflate_blocks_free(s, z)
-inflate_blocks_statef *s;
-z_streamp z;
-{
- inflate_blocks_reset(s, z, Z_NULL);
- ZFREE(z, s->window);
- ZFREE(z, s->hufts);
- ZFREE(z, s);
- Tracev((stderr, "inflate: blocks freed\n"));
- return Z_OK;
-}
-
-
-void inflate_set_dictionary(s, d, n)
-inflate_blocks_statef *s;
-const Bytef *d;
-uInt n;
-{
- zmemcpy(s->window, d, n);
- s->read = s->write = s->window + n;
-}
-
-
-/* Returns true if inflate is currently at the end of a block generated
- * by Z_SYNC_FLUSH or Z_FULL_FLUSH.
- * IN assertion: s != Z_NULL
- */
-int inflate_blocks_sync_point(s)
-inflate_blocks_statef *s;
-{
- return s->mode == LENS;
-}
diff --git a/zlib/infblock.h b/zlib/infblock.h
deleted file mode 100644
index bd25c807536..00000000000
--- a/zlib/infblock.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* infblock.h -- header to use infblock.c
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_blocks_state;
-typedef struct inflate_blocks_state FAR inflate_blocks_statef;
-
-extern inflate_blocks_statef * inflate_blocks_new OF((
- z_streamp z,
- check_func c, /* check function */
- uInt w)); /* window size */
-
-extern int inflate_blocks OF((
- inflate_blocks_statef *,
- z_streamp ,
- int)); /* initial return code */
-
-extern void inflate_blocks_reset OF((
- inflate_blocks_statef *,
- z_streamp ,
- uLongf *)); /* check value on output */
-
-extern int inflate_blocks_free OF((
- inflate_blocks_statef *,
- z_streamp));
-
-extern void inflate_set_dictionary OF((
- inflate_blocks_statef *s,
- const Bytef *d, /* dictionary */
- uInt n)); /* dictionary length */
-
-extern int inflate_blocks_sync_point OF((
- inflate_blocks_statef *s));
diff --git a/zlib/infcodes.c b/zlib/infcodes.c
deleted file mode 100644
index d4e5ee9a554..00000000000
--- a/zlib/infcodes.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-#include "infblock.h"
-#include "infcodes.h"
-#include "infutil.h"
-#include "inffast.h"
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-typedef enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- START, /* x: set up for LEN */
- LEN, /* i: get length/literal/eob next */
- LENEXT, /* i: getting length extra (have base) */
- DIST, /* i: get distance next */
- DISTEXT, /* i: getting distance extra */
- COPY, /* o: copying bytes in window, waiting for space */
- LIT, /* o: got literal, waiting for output space */
- WASH, /* o: got eob, possibly still output waiting */
- END, /* x: got eob and all data flushed */
- BADCODE} /* x: got error */
-inflate_codes_mode;
-
-/* inflate codes private state */
-struct inflate_codes_state {
-
- /* mode */
- inflate_codes_mode mode; /* current inflate_codes mode */
-
- /* mode dependent information */
- uInt len;
- union {
- struct {
- inflate_huft *tree; /* pointer into tree */
- uInt need; /* bits needed */
- } code; /* if LEN or DIST, where in tree */
- uInt lit; /* if LIT, literal */
- struct {
- uInt get; /* bits to get for extra */
- uInt dist; /* distance back to copy from */
- } copy; /* if EXT or COPY, where and how much */
- } sub; /* submode */
-
- /* mode independent information */
- Byte lbits; /* ltree bits decoded per branch */
- Byte dbits; /* dtree bits decoder per branch */
- inflate_huft *ltree; /* literal/length/eob tree */
- inflate_huft *dtree; /* distance tree */
-
-};
-
-
-inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-z_streamp z;
-{
- inflate_codes_statef *c;
-
- if ((c = (inflate_codes_statef *)
- ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
- {
- c->mode = START;
- c->lbits = (Byte)bl;
- c->dbits = (Byte)bd;
- c->ltree = tl;
- c->dtree = td;
- Tracev((stderr, "inflate: codes new\n"));
- }
- return c;
-}
-
-
-int inflate_codes(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt j; /* temporary storage */
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- Bytef *f; /* pointer to copy strings from */
- inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input and output based on current state */
- while (1) switch (c->mode)
- { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- case START: /* x: set up for LEN */
-#ifndef SLOW
- if (m >= 258 && n >= 10)
- {
- UPDATE
- r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
- LOAD
- if (r != Z_OK)
- {
- c->mode = r == Z_STREAM_END ? WASH : BADCODE;
- break;
- }
- }
-#endif /* !SLOW */
- c->sub.code.need = c->lbits;
- c->sub.code.tree = c->ltree;
- c->mode = LEN;
- case LEN: /* i: get length/literal/eob next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e == 0) /* literal */
- {
- c->sub.lit = t->base;
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", t->base));
- c->mode = LIT;
- break;
- }
- if (e & 16) /* length */
- {
- c->sub.copy.get = e & 15;
- c->len = t->base;
- c->mode = LENEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t + t->base;
- break;
- }
- if (e & 32) /* end of block */
- {
- Tracevv((stderr, "inflate: end of block\n"));
- c->mode = WASH;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid literal/length code";
- r = Z_DATA_ERROR;
- LEAVE
- case LENEXT: /* i: getting length extra (have base) */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->len += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- c->sub.code.need = c->dbits;
- c->sub.code.tree = c->dtree;
- Tracevv((stderr, "inflate: length %u\n", c->len));
- c->mode = DIST;
- case DIST: /* i: get distance next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e & 16) /* distance */
- {
- c->sub.copy.get = e & 15;
- c->sub.copy.dist = t->base;
- c->mode = DISTEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t + t->base;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid distance code";
- r = Z_DATA_ERROR;
- LEAVE
- case DISTEXT: /* i: getting distance extra */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->sub.copy.dist += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
- c->mode = COPY;
- case COPY: /* o: copying bytes in window, waiting for space */
-#ifndef __TURBOC__ /* Turbo C bug for following expression */
- f = (uInt)(q - s->window) < c->sub.copy.dist ?
- s->end - (c->sub.copy.dist - (q - s->window)) :
- q - c->sub.copy.dist;
-#else
- f = q - c->sub.copy.dist;
- if ((uInt)(q - s->window) < c->sub.copy.dist)
- f = s->end - (c->sub.copy.dist - (uInt)(q - s->window));
-#endif
- while (c->len)
- {
- NEEDOUT
- OUTBYTE(*f++)
- if (f == s->end)
- f = s->window;
- c->len--;
- }
- c->mode = START;
- break;
- case LIT: /* o: got literal, waiting for output space */
- NEEDOUT
- OUTBYTE(c->sub.lit)
- c->mode = START;
- break;
- case WASH: /* o: got eob, possibly more output */
- if (k > 7) /* return unused byte, if any */
- {
- Assert(k < 16, "inflate_codes grabbed too many bytes")
- k -= 8;
- n++;
- p--; /* can always return one */
- }
- FLUSH
- if (s->read != s->write)
- LEAVE
- c->mode = END;
- case END:
- r = Z_STREAM_END;
- LEAVE
- case BADCODE: /* x: got error */
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-#ifdef NEED_DUMMY_RETURN
- return Z_STREAM_ERROR; /* Some dumb compilers complain without this */
-#endif
-}
-
-
-void inflate_codes_free(c, z)
-inflate_codes_statef *c;
-z_streamp z;
-{
- ZFREE(z, c);
- Tracev((stderr, "inflate: codes free\n"));
-}
diff --git a/zlib/infcodes.h b/zlib/infcodes.h
deleted file mode 100644
index 6c750d896f9..00000000000
--- a/zlib/infcodes.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_codes_state;
-typedef struct inflate_codes_state FAR inflate_codes_statef;
-
-extern inflate_codes_statef *inflate_codes_new OF((
- uInt, uInt,
- inflate_huft *, inflate_huft *,
- z_streamp ));
-
-extern int inflate_codes OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-extern void inflate_codes_free OF((
- inflate_codes_statef *,
- z_streamp ));
-
diff --git a/zlib/inffast.c b/zlib/inffast.c
deleted file mode 100644
index 61a78ee933f..00000000000
--- a/zlib/inffast.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/* inffast.c -- process literals and length/distance pairs fast
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-#include "infblock.h"
-#include "infcodes.h"
-#include "infutil.h"
-#include "inffast.h"
-
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* macros for bit input with no checking and for returning unused bytes */
-#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define UNGRAB {c=z->avail_in-n;c=(k>>3)<c?k>>3:c;n+=c;p-=c;k-=c<<3;}
-
-/* Called with number of bytes left to write in window at least 258
- (the maximum string length) and number of input bytes available
- at least ten. The ten bytes are six bytes for the longest length/
- distance pair plus four bytes for overloading the bit buffer. */
-
-int inflate_fast(bl, bd, tl, td, s, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-inflate_blocks_statef *s;
-z_streamp z;
-{
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- uInt ml; /* mask for literal/length tree */
- uInt md; /* mask for distance tree */
- uInt c; /* bytes to copy */
- uInt d; /* distance back to copy from */
- Bytef *r; /* copy source pointer */
-
- /* load input, output, bit values */
- LOAD
-
- /* initialize masks */
- ml = inflate_mask[bl];
- md = inflate_mask[bd];
-
- /* do until not enough input or output space for fast loop */
- do { /* assume called with m >= 258 && n >= 10 */
- /* get literal/length code */
- GRABBITS(20) /* max bits for literal/length code */
- if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- continue;
- }
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits for length */
- e &= 15;
- c = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * length %u\n", c));
-
- /* decode distance base of block to copy */
- GRABBITS(15); /* max bits for distance code */
- e = (t = td + ((uInt)b & md))->exop;
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits to add to distance base */
- e &= 15;
- GRABBITS(e) /* get extra bits (up to 13) */
- d = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * distance %u\n", d));
-
- /* do the copy */
- m -= c;
- if ((uInt)(q - s->window) >= d) /* offset before dest */
- { /* just copy */
- r = q - d;
- *q++ = *r++; c--; /* minimum count is three, */
- *q++ = *r++; c--; /* so unroll loop a little */
- }
- else /* else offset after destination */
- {
- e = d - (uInt)(q - s->window); /* bytes from offset to end */
- r = s->end - e; /* pointer to offset */
- if (c > e) /* if source crosses, */
- {
- c -= e; /* copy to end of window */
- do {
- *q++ = *r++;
- } while (--e);
- r = s->window; /* copy rest from start of window */
- }
- }
- do { /* copy all or what's left */
- *q++ = *r++;
- } while (--c);
- break;
- }
- else if ((e & 64) == 0)
- {
- t += t->base;
- e = (t += ((uInt)b & inflate_mask[e]))->exop;
- }
- else
- {
- z->msg = (char*)"invalid distance code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- break;
- }
- if ((e & 64) == 0)
- {
- t += t->base;
- if ((e = (t += ((uInt)b & inflate_mask[e]))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- break;
- }
- }
- else if (e & 32)
- {
- Tracevv((stderr, "inflate: * end of block\n"));
- UNGRAB
- UPDATE
- return Z_STREAM_END;
- }
- else
- {
- z->msg = (char*)"invalid literal/length code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- } while (m >= 258 && n >= 10);
-
- /* not enough input or output--restore pointers and return */
- UNGRAB
- UPDATE
- return Z_OK;
-}
diff --git a/zlib/inffast.h b/zlib/inffast.h
deleted file mode 100644
index 8facec55314..00000000000
--- a/zlib/inffast.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* inffast.h -- header to use inffast.c
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-extern int inflate_fast OF((
- uInt,
- uInt,
- inflate_huft *,
- inflate_huft *,
- inflate_blocks_statef *,
- z_streamp ));
diff --git a/zlib/inffixed.h b/zlib/inffixed.h
deleted file mode 100644
index 77f7e763145..00000000000
--- a/zlib/inffixed.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* inffixed.h -- table for decoding fixed codes
- * Generated automatically by the maketree.c program
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-local uInt fixed_bl = 9;
-local uInt fixed_bd = 5;
-local inflate_huft fixed_tl[] = {
- {{{96,7}},256}, {{{0,8}},80}, {{{0,8}},16}, {{{84,8}},115},
- {{{82,7}},31}, {{{0,8}},112}, {{{0,8}},48}, {{{0,9}},192},
- {{{80,7}},10}, {{{0,8}},96}, {{{0,8}},32}, {{{0,9}},160},
- {{{0,8}},0}, {{{0,8}},128}, {{{0,8}},64}, {{{0,9}},224},
- {{{80,7}},6}, {{{0,8}},88}, {{{0,8}},24}, {{{0,9}},144},
- {{{83,7}},59}, {{{0,8}},120}, {{{0,8}},56}, {{{0,9}},208},
- {{{81,7}},17}, {{{0,8}},104}, {{{0,8}},40}, {{{0,9}},176},
- {{{0,8}},8}, {{{0,8}},136}, {{{0,8}},72}, {{{0,9}},240},
- {{{80,7}},4}, {{{0,8}},84}, {{{0,8}},20}, {{{85,8}},227},
- {{{83,7}},43}, {{{0,8}},116}, {{{0,8}},52}, {{{0,9}},200},
- {{{81,7}},13}, {{{0,8}},100}, {{{0,8}},36}, {{{0,9}},168},
- {{{0,8}},4}, {{{0,8}},132}, {{{0,8}},68}, {{{0,9}},232},
- {{{80,7}},8}, {{{0,8}},92}, {{{0,8}},28}, {{{0,9}},152},
- {{{84,7}},83}, {{{0,8}},124}, {{{0,8}},60}, {{{0,9}},216},
- {{{82,7}},23}, {{{0,8}},108}, {{{0,8}},44}, {{{0,9}},184},
- {{{0,8}},12}, {{{0,8}},140}, {{{0,8}},76}, {{{0,9}},248},
- {{{80,7}},3}, {{{0,8}},82}, {{{0,8}},18}, {{{85,8}},163},
- {{{83,7}},35}, {{{0,8}},114}, {{{0,8}},50}, {{{0,9}},196},
- {{{81,7}},11}, {{{0,8}},98}, {{{0,8}},34}, {{{0,9}},164},
- {{{0,8}},2}, {{{0,8}},130}, {{{0,8}},66}, {{{0,9}},228},
- {{{80,7}},7}, {{{0,8}},90}, {{{0,8}},26}, {{{0,9}},148},
- {{{84,7}},67}, {{{0,8}},122}, {{{0,8}},58}, {{{0,9}},212},
- {{{82,7}},19}, {{{0,8}},106}, {{{0,8}},42}, {{{0,9}},180},
- {{{0,8}},10}, {{{0,8}},138}, {{{0,8}},74}, {{{0,9}},244},
- {{{80,7}},5}, {{{0,8}},86}, {{{0,8}},22}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},118}, {{{0,8}},54}, {{{0,9}},204},
- {{{81,7}},15}, {{{0,8}},102}, {{{0,8}},38}, {{{0,9}},172},
- {{{0,8}},6}, {{{0,8}},134}, {{{0,8}},70}, {{{0,9}},236},
- {{{80,7}},9}, {{{0,8}},94}, {{{0,8}},30}, {{{0,9}},156},
- {{{84,7}},99}, {{{0,8}},126}, {{{0,8}},62}, {{{0,9}},220},
- {{{82,7}},27}, {{{0,8}},110}, {{{0,8}},46}, {{{0,9}},188},
- {{{0,8}},14}, {{{0,8}},142}, {{{0,8}},78}, {{{0,9}},252},
- {{{96,7}},256}, {{{0,8}},81}, {{{0,8}},17}, {{{85,8}},131},
- {{{82,7}},31}, {{{0,8}},113}, {{{0,8}},49}, {{{0,9}},194},
- {{{80,7}},10}, {{{0,8}},97}, {{{0,8}},33}, {{{0,9}},162},
- {{{0,8}},1}, {{{0,8}},129}, {{{0,8}},65}, {{{0,9}},226},
- {{{80,7}},6}, {{{0,8}},89}, {{{0,8}},25}, {{{0,9}},146},
- {{{83,7}},59}, {{{0,8}},121}, {{{0,8}},57}, {{{0,9}},210},
- {{{81,7}},17}, {{{0,8}},105}, {{{0,8}},41}, {{{0,9}},178},
- {{{0,8}},9}, {{{0,8}},137}, {{{0,8}},73}, {{{0,9}},242},
- {{{80,7}},4}, {{{0,8}},85}, {{{0,8}},21}, {{{80,8}},258},
- {{{83,7}},43}, {{{0,8}},117}, {{{0,8}},53}, {{{0,9}},202},
- {{{81,7}},13}, {{{0,8}},101}, {{{0,8}},37}, {{{0,9}},170},
- {{{0,8}},5}, {{{0,8}},133}, {{{0,8}},69}, {{{0,9}},234},
- {{{80,7}},8}, {{{0,8}},93}, {{{0,8}},29}, {{{0,9}},154},
- {{{84,7}},83}, {{{0,8}},125}, {{{0,8}},61}, {{{0,9}},218},
- {{{82,7}},23}, {{{0,8}},109}, {{{0,8}},45}, {{{0,9}},186},
- {{{0,8}},13}, {{{0,8}},141}, {{{0,8}},77}, {{{0,9}},250},
- {{{80,7}},3}, {{{0,8}},83}, {{{0,8}},19}, {{{85,8}},195},
- {{{83,7}},35}, {{{0,8}},115}, {{{0,8}},51}, {{{0,9}},198},
- {{{81,7}},11}, {{{0,8}},99}, {{{0,8}},35}, {{{0,9}},166},
- {{{0,8}},3}, {{{0,8}},131}, {{{0,8}},67}, {{{0,9}},230},
- {{{80,7}},7}, {{{0,8}},91}, {{{0,8}},27}, {{{0,9}},150},
- {{{84,7}},67}, {{{0,8}},123}, {{{0,8}},59}, {{{0,9}},214},
- {{{82,7}},19}, {{{0,8}},107}, {{{0,8}},43}, {{{0,9}},182},
- {{{0,8}},11}, {{{0,8}},139}, {{{0,8}},75}, {{{0,9}},246},
- {{{80,7}},5}, {{{0,8}},87}, {{{0,8}},23}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},119}, {{{0,8}},55}, {{{0,9}},206},
- {{{81,7}},15}, {{{0,8}},103}, {{{0,8}},39}, {{{0,9}},174},
- {{{0,8}},7}, {{{0,8}},135}, {{{0,8}},71}, {{{0,9}},238},
- {{{80,7}},9}, {{{0,8}},95}, {{{0,8}},31}, {{{0,9}},158},
- {{{84,7}},99}, {{{0,8}},127}, {{{0,8}},63}, {{{0,9}},222},
- {{{82,7}},27}, {{{0,8}},111}, {{{0,8}},47}, {{{0,9}},190},
- {{{0,8}},15}, {{{0,8}},143}, {{{0,8}},79}, {{{0,9}},254},
- {{{96,7}},256}, {{{0,8}},80}, {{{0,8}},16}, {{{84,8}},115},
- {{{82,7}},31}, {{{0,8}},112}, {{{0,8}},48}, {{{0,9}},193},
- {{{80,7}},10}, {{{0,8}},96}, {{{0,8}},32}, {{{0,9}},161},
- {{{0,8}},0}, {{{0,8}},128}, {{{0,8}},64}, {{{0,9}},225},
- {{{80,7}},6}, {{{0,8}},88}, {{{0,8}},24}, {{{0,9}},145},
- {{{83,7}},59}, {{{0,8}},120}, {{{0,8}},56}, {{{0,9}},209},
- {{{81,7}},17}, {{{0,8}},104}, {{{0,8}},40}, {{{0,9}},177},
- {{{0,8}},8}, {{{0,8}},136}, {{{0,8}},72}, {{{0,9}},241},
- {{{80,7}},4}, {{{0,8}},84}, {{{0,8}},20}, {{{85,8}},227},
- {{{83,7}},43}, {{{0,8}},116}, {{{0,8}},52}, {{{0,9}},201},
- {{{81,7}},13}, {{{0,8}},100}, {{{0,8}},36}, {{{0,9}},169},
- {{{0,8}},4}, {{{0,8}},132}, {{{0,8}},68}, {{{0,9}},233},
- {{{80,7}},8}, {{{0,8}},92}, {{{0,8}},28}, {{{0,9}},153},
- {{{84,7}},83}, {{{0,8}},124}, {{{0,8}},60}, {{{0,9}},217},
- {{{82,7}},23}, {{{0,8}},108}, {{{0,8}},44}, {{{0,9}},185},
- {{{0,8}},12}, {{{0,8}},140}, {{{0,8}},76}, {{{0,9}},249},
- {{{80,7}},3}, {{{0,8}},82}, {{{0,8}},18}, {{{85,8}},163},
- {{{83,7}},35}, {{{0,8}},114}, {{{0,8}},50}, {{{0,9}},197},
- {{{81,7}},11}, {{{0,8}},98}, {{{0,8}},34}, {{{0,9}},165},
- {{{0,8}},2}, {{{0,8}},130}, {{{0,8}},66}, {{{0,9}},229},
- {{{80,7}},7}, {{{0,8}},90}, {{{0,8}},26}, {{{0,9}},149},
- {{{84,7}},67}, {{{0,8}},122}, {{{0,8}},58}, {{{0,9}},213},
- {{{82,7}},19}, {{{0,8}},106}, {{{0,8}},42}, {{{0,9}},181},
- {{{0,8}},10}, {{{0,8}},138}, {{{0,8}},74}, {{{0,9}},245},
- {{{80,7}},5}, {{{0,8}},86}, {{{0,8}},22}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},118}, {{{0,8}},54}, {{{0,9}},205},
- {{{81,7}},15}, {{{0,8}},102}, {{{0,8}},38}, {{{0,9}},173},
- {{{0,8}},6}, {{{0,8}},134}, {{{0,8}},70}, {{{0,9}},237},
- {{{80,7}},9}, {{{0,8}},94}, {{{0,8}},30}, {{{0,9}},157},
- {{{84,7}},99}, {{{0,8}},126}, {{{0,8}},62}, {{{0,9}},221},
- {{{82,7}},27}, {{{0,8}},110}, {{{0,8}},46}, {{{0,9}},189},
- {{{0,8}},14}, {{{0,8}},142}, {{{0,8}},78}, {{{0,9}},253},
- {{{96,7}},256}, {{{0,8}},81}, {{{0,8}},17}, {{{85,8}},131},
- {{{82,7}},31}, {{{0,8}},113}, {{{0,8}},49}, {{{0,9}},195},
- {{{80,7}},10}, {{{0,8}},97}, {{{0,8}},33}, {{{0,9}},163},
- {{{0,8}},1}, {{{0,8}},129}, {{{0,8}},65}, {{{0,9}},227},
- {{{80,7}},6}, {{{0,8}},89}, {{{0,8}},25}, {{{0,9}},147},
- {{{83,7}},59}, {{{0,8}},121}, {{{0,8}},57}, {{{0,9}},211},
- {{{81,7}},17}, {{{0,8}},105}, {{{0,8}},41}, {{{0,9}},179},
- {{{0,8}},9}, {{{0,8}},137}, {{{0,8}},73}, {{{0,9}},243},
- {{{80,7}},4}, {{{0,8}},85}, {{{0,8}},21}, {{{80,8}},258},
- {{{83,7}},43}, {{{0,8}},117}, {{{0,8}},53}, {{{0,9}},203},
- {{{81,7}},13}, {{{0,8}},101}, {{{0,8}},37}, {{{0,9}},171},
- {{{0,8}},5}, {{{0,8}},133}, {{{0,8}},69}, {{{0,9}},235},
- {{{80,7}},8}, {{{0,8}},93}, {{{0,8}},29}, {{{0,9}},155},
- {{{84,7}},83}, {{{0,8}},125}, {{{0,8}},61}, {{{0,9}},219},
- {{{82,7}},23}, {{{0,8}},109}, {{{0,8}},45}, {{{0,9}},187},
- {{{0,8}},13}, {{{0,8}},141}, {{{0,8}},77}, {{{0,9}},251},
- {{{80,7}},3}, {{{0,8}},83}, {{{0,8}},19}, {{{85,8}},195},
- {{{83,7}},35}, {{{0,8}},115}, {{{0,8}},51}, {{{0,9}},199},
- {{{81,7}},11}, {{{0,8}},99}, {{{0,8}},35}, {{{0,9}},167},
- {{{0,8}},3}, {{{0,8}},131}, {{{0,8}},67}, {{{0,9}},231},
- {{{80,7}},7}, {{{0,8}},91}, {{{0,8}},27}, {{{0,9}},151},
- {{{84,7}},67}, {{{0,8}},123}, {{{0,8}},59}, {{{0,9}},215},
- {{{82,7}},19}, {{{0,8}},107}, {{{0,8}},43}, {{{0,9}},183},
- {{{0,8}},11}, {{{0,8}},139}, {{{0,8}},75}, {{{0,9}},247},
- {{{80,7}},5}, {{{0,8}},87}, {{{0,8}},23}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},119}, {{{0,8}},55}, {{{0,9}},207},
- {{{81,7}},15}, {{{0,8}},103}, {{{0,8}},39}, {{{0,9}},175},
- {{{0,8}},7}, {{{0,8}},135}, {{{0,8}},71}, {{{0,9}},239},
- {{{80,7}},9}, {{{0,8}},95}, {{{0,8}},31}, {{{0,9}},159},
- {{{84,7}},99}, {{{0,8}},127}, {{{0,8}},63}, {{{0,9}},223},
- {{{82,7}},27}, {{{0,8}},111}, {{{0,8}},47}, {{{0,9}},191},
- {{{0,8}},15}, {{{0,8}},143}, {{{0,8}},79}, {{{0,9}},255}
- };
-local inflate_huft fixed_td[] = {
- {{{80,5}},1}, {{{87,5}},257}, {{{83,5}},17}, {{{91,5}},4097},
- {{{81,5}},5}, {{{89,5}},1025}, {{{85,5}},65}, {{{93,5}},16385},
- {{{80,5}},3}, {{{88,5}},513}, {{{84,5}},33}, {{{92,5}},8193},
- {{{82,5}},9}, {{{90,5}},2049}, {{{86,5}},129}, {{{192,5}},24577},
- {{{80,5}},2}, {{{87,5}},385}, {{{83,5}},25}, {{{91,5}},6145},
- {{{81,5}},7}, {{{89,5}},1537}, {{{85,5}},97}, {{{93,5}},24577},
- {{{80,5}},4}, {{{88,5}},769}, {{{84,5}},49}, {{{92,5}},12289},
- {{{82,5}},13}, {{{90,5}},3073}, {{{86,5}},193}, {{{192,5}},24577}
- };
diff --git a/zlib/inflate.c b/zlib/inflate.c
deleted file mode 100644
index 32e9b8de679..00000000000
--- a/zlib/inflate.c
+++ /dev/null
@@ -1,366 +0,0 @@
-/* inflate.c -- zlib interface to inflate modules
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "infblock.h"
-
-struct inflate_blocks_state {int dummy;}; /* for buggy compilers */
-
-typedef enum {
- METHOD, /* waiting for method byte */
- FLAG, /* waiting for flag byte */
- DICT4, /* four dictionary check bytes to go */
- DICT3, /* three dictionary check bytes to go */
- DICT2, /* two dictionary check bytes to go */
- DICT1, /* one dictionary check byte to go */
- DICT0, /* waiting for inflateSetDictionary */
- BLOCKS, /* decompressing blocks */
- CHECK4, /* four check bytes to go */
- CHECK3, /* three check bytes to go */
- CHECK2, /* two check bytes to go */
- CHECK1, /* one check byte to go */
- DONE, /* finished check, done */
- BAD} /* got an error--stay here */
-inflate_mode;
-
-/* inflate private state */
-struct internal_state {
-
- /* mode */
- inflate_mode mode; /* current inflate mode */
-
- /* mode dependent information */
- union {
- uInt method; /* if FLAGS, method byte */
- struct {
- uLong was; /* computed check value */
- uLong need; /* stream check value */
- } check; /* if CHECK, check values to compare */
- uInt marker; /* if BAD, inflateSync's marker bytes count */
- } sub; /* submode */
-
- /* mode independent information */
- int nowrap; /* flag for no wrapper */
- uInt wbits; /* log2(window size) (8..15, defaults to 15) */
- inflate_blocks_statef
- *blocks; /* current inflate_blocks state */
-
-};
-
-
-int ZEXPORT inflateReset(z)
-z_streamp z;
-{
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- z->total_in = z->total_out = 0;
- z->msg = Z_NULL;
- z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
- inflate_blocks_reset(z->state->blocks, z, Z_NULL);
- Tracev((stderr, "inflate: reset\n"));
- return Z_OK;
-}
-
-
-int ZEXPORT inflateEnd(z)
-z_streamp z;
-{
- if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->blocks != Z_NULL)
- inflate_blocks_free(z->state->blocks, z);
- ZFREE(z, z->state);
- z->state = Z_NULL;
- Tracev((stderr, "inflate: end\n"));
- return Z_OK;
-}
-
-
-int ZEXPORT inflateInit2_(z, w, version, stream_size)
-z_streamp z;
-int w;
-const char *version;
-int stream_size;
-{
- if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
- stream_size != sizeof(z_stream))
- return Z_VERSION_ERROR;
-
- /* initialize state */
- if (z == Z_NULL)
- return Z_STREAM_ERROR;
- z->msg = Z_NULL;
- if (z->zalloc == Z_NULL)
- {
- z->zalloc = zcalloc;
- z->opaque = (voidpf)0;
- }
- if (z->zfree == Z_NULL) z->zfree = zcfree;
- if ((z->state = (struct internal_state FAR *)
- ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
- return Z_MEM_ERROR;
- z->state->blocks = Z_NULL;
-
- /* handle undocumented nowrap option (no zlib header or check) */
- z->state->nowrap = 0;
- if (w < 0)
- {
- w = - w;
- z->state->nowrap = 1;
- }
-
- /* set window size */
- if (w < 8 || w > 15)
- {
- inflateEnd(z);
- return Z_STREAM_ERROR;
- }
- z->state->wbits = (uInt)w;
-
- /* create inflate_blocks state */
- if ((z->state->blocks =
- inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, (uInt)1 << w))
- == Z_NULL)
- {
- inflateEnd(z);
- return Z_MEM_ERROR;
- }
- Tracev((stderr, "inflate: allocated\n"));
-
- /* reset state */
- inflateReset(z);
- return Z_OK;
-}
-
-
-int ZEXPORT inflateInit_(z, version, stream_size)
-z_streamp z;
-const char *version;
-int stream_size;
-{
- return inflateInit2_(z, DEF_WBITS, version, stream_size);
-}
-
-
-#define NEEDBYTE {if(z->avail_in==0)return r;r=f;}
-#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
-
-int ZEXPORT inflate(z, f)
-z_streamp z;
-int f;
-{
- int r;
- uInt b;
-
- if (z == Z_NULL || z->state == Z_NULL || z->next_in == Z_NULL)
- return Z_STREAM_ERROR;
- f = f == Z_FINISH ? Z_BUF_ERROR : Z_OK;
- r = Z_BUF_ERROR;
- while (1) switch (z->state->mode)
- {
- case METHOD:
- NEEDBYTE
- if (((z->state->sub.method = NEXTBYTE) & 0xf) != Z_DEFLATED)
- {
- z->state->mode = BAD;
- z->msg = (char*)"unknown compression method";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
- {
- z->state->mode = BAD;
- z->msg = (char*)"invalid window size";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- z->state->mode = FLAG;
- case FLAG:
- NEEDBYTE
- b = NEXTBYTE;
- if (((z->state->sub.method << 8) + b) % 31)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect header check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Tracev((stderr, "inflate: zlib header ok\n"));
- if (!(b & PRESET_DICT))
- {
- z->state->mode = BLOCKS;
- break;
- }
- z->state->mode = DICT4;
- case DICT4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = DICT3;
- case DICT3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = DICT2;
- case DICT2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = DICT1;
- case DICT1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
- z->adler = z->state->sub.check.need;
- z->state->mode = DICT0;
- return Z_NEED_DICT;
- case DICT0:
- z->state->mode = BAD;
- z->msg = (char*)"need dictionary";
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_STREAM_ERROR;
- case BLOCKS:
- r = inflate_blocks(z->state->blocks, z, r);
- if (r == Z_DATA_ERROR)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- break;
- }
- if (r == Z_OK)
- r = f;
- if (r != Z_STREAM_END)
- return r;
- r = f;
- inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
- if (z->state->nowrap)
- {
- z->state->mode = DONE;
- break;
- }
- z->state->mode = CHECK4;
- case CHECK4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = CHECK3;
- case CHECK3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = CHECK2;
- case CHECK2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = CHECK1;
- case CHECK1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
-
- if (z->state->sub.check.was != z->state->sub.check.need)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect data check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Tracev((stderr, "inflate: zlib check ok\n"));
- z->state->mode = DONE;
- case DONE:
- return Z_STREAM_END;
- case BAD:
- return Z_DATA_ERROR;
- default:
- return Z_STREAM_ERROR;
- }
-#ifdef NEED_DUMMY_RETURN
- return Z_STREAM_ERROR; /* Some dumb compilers complain without this */
-#endif
-}
-
-
-int ZEXPORT inflateSetDictionary(z, dictionary, dictLength)
-z_streamp z;
-const Bytef *dictionary;
-uInt dictLength;
-{
- uInt length = dictLength;
-
- if (z == Z_NULL || z->state == Z_NULL || z->state->mode != DICT0)
- return Z_STREAM_ERROR;
-
- if (adler32(1L, dictionary, dictLength) != z->adler) return Z_DATA_ERROR;
- z->adler = 1L;
-
- if (length >= ((uInt)1<<z->state->wbits))
- {
- length = (1<<z->state->wbits)-1;
- dictionary += dictLength - length;
- }
- inflate_set_dictionary(z->state->blocks, dictionary, length);
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-
-int ZEXPORT inflateSync(z)
-z_streamp z;
-{
- uInt n; /* number of bytes to look at */
- Bytef *p; /* pointer to bytes */
- uInt m; /* number of marker bytes found in a row */
- uLong r, w; /* temporaries to save total_in and total_out */
-
- /* set up */
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->mode != BAD)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0;
- }
- if ((n = z->avail_in) == 0)
- return Z_BUF_ERROR;
- p = z->next_in;
- m = z->state->sub.marker;
-
- /* search */
- while (n && m < 4)
- {
- static const Byte mark[4] = {0, 0, 0xff, 0xff};
- if (*p == mark[m])
- m++;
- else if (*p)
- m = 0;
- else
- m = 4 - m;
- p++, n--;
- }
-
- /* restore */
- z->total_in += p - z->next_in;
- z->next_in = p;
- z->avail_in = n;
- z->state->sub.marker = m;
-
- /* return no joy or set up to restart on a new block */
- if (m != 4)
- return Z_DATA_ERROR;
- r = z->total_in; w = z->total_out;
- inflateReset(z);
- z->total_in = r; z->total_out = w;
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-
-/* Returns true if inflate is currently at the end of a block generated
- * by Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
- * implementation to provide an additional safety check. PPP uses Z_SYNC_FLUSH
- * but removes the length bytes of the resulting empty stored block. When
- * decompressing, PPP checks that at the end of input packet, inflate is
- * waiting for these length bytes.
- */
-int ZEXPORT inflateSyncPoint(z)
-z_streamp z;
-{
- if (z == Z_NULL || z->state == Z_NULL || z->state->blocks == Z_NULL)
- return Z_STREAM_ERROR;
- return inflate_blocks_sync_point(z->state->blocks);
-}
diff --git a/zlib/inftrees.c b/zlib/inftrees.c
deleted file mode 100644
index ef1e0b6b873..00000000000
--- a/zlib/inftrees.c
+++ /dev/null
@@ -1,455 +0,0 @@
-/* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-
-#if !defined(BUILDFIXED) && !defined(STDC)
-# define BUILDFIXED /* non ANSI compilers may not accept inffixed.h */
-#endif
-
-const char inflate_copyright[] =
- " inflate 1.1.3 Copyright 1995-1998 Mark Adler ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-
-local int huft_build OF((
- uIntf *, /* code lengths in bits */
- uInt, /* number of codes */
- uInt, /* number of "simple" codes */
- const uIntf *, /* list of base values for non-simple codes */
- const uIntf *, /* list of extra bits for non-simple codes */
- inflate_huft * FAR*,/* result: starting table */
- uIntf *, /* maximum lookup bits (returns actual) */
- inflate_huft *, /* space for trees */
- uInt *, /* hufts used in space */
- uIntf * )); /* space for values */
-
-/* Tables for deflate from PKZIP's appnote.txt. */
-local const uInt cplens[31] = { /* Copy lengths for literal codes 257..285 */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
- 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
- /* see note #13 above about 258 */
-local const uInt cplext[31] = { /* Extra bits for literal codes 257..285 */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112}; /* 112==invalid */
-local const uInt cpdist[30] = { /* Copy offsets for distance codes 0..29 */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
- 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
- 8193, 12289, 16385, 24577};
-local const uInt cpdext[30] = { /* Extra bits for distance codes */
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
- 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
- 12, 12, 13, 13};
-
-/*
- Huffman code decoding is performed using a multi-level table lookup.
- The fastest way to decode is to simply build a lookup table whose
- size is determined by the longest code. However, the time it takes
- to build this table can also be a factor if the data being decoded
- is not very long. The most common codes are necessarily the
- shortest codes, so those codes dominate the decoding time, and hence
- the speed. The idea is you can have a shorter table that decodes the
- shorter, more probable codes, and then point to subsidiary tables for
- the longer codes. The time it costs to decode the longer codes is
- then traded against the time it takes to make longer tables.
-
- This results of this trade are in the variables lbits and dbits
- below. lbits is the number of bits the first level table for literal/
- length codes can decode in one step, and dbits is the same thing for
- the distance codes. Subsequent tables are also less than or equal to
- those sizes. These values may be adjusted either when all of the
- codes are shorter than that, in which case the longest code length in
- bits is used, or when the shortest code is *longer* than the requested
- table size, in which case the length of the shortest code in bits is
- used.
-
- There are two different values for the two tables, since they code a
- different number of possibilities each. The literal/length table
- codes 286 possible values, or in a flat code, a little over eight
- bits. The distance table codes 30 possible values, or a little less
- than five bits, flat. The optimum values for speed end up being
- about one bit more than those, so lbits is 8+1 and dbits is 5+1.
- The optimum values may differ though from machine to machine, and
- possibly even between compilers. Your mileage may vary.
- */
-
-
-/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
-#define BMAX 15 /* maximum bit length of any code */
-
-local int huft_build(b, n, s, d, e, t, m, hp, hn, v)
-uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
-uInt n; /* number of codes (assumed <= 288) */
-uInt s; /* number of simple-valued codes (0..s-1) */
-const uIntf *d; /* list of base values for non-simple codes */
-const uIntf *e; /* list of extra bits for non-simple codes */
-inflate_huft * FAR *t; /* result: starting table */
-uIntf *m; /* maximum lookup bits, returns actual */
-inflate_huft *hp; /* space for trees */
-uInt *hn; /* hufts used in space */
-uIntf *v; /* working area: values in order of bit length */
-/* Given a list of code lengths and a maximum table size, make a set of
- tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
- if the given code set is incomplete (the tables are still built in this
- case), Z_DATA_ERROR if the input is invalid (an over-subscribed set of
- lengths), or Z_MEM_ERROR if not enough memory. */
-{
-
- uInt a; /* counter for codes of length k */
- uInt c[BMAX+1]; /* bit length count table */
- uInt f; /* i repeats in table every f entries */
- int g; /* maximum code length */
- int h; /* table level */
- register uInt i; /* counter, current code */
- register uInt j; /* counter */
- register int k; /* number of bits in current code */
- int l; /* bits per table (returned in m) */
- uInt mask; /* (1 << w) - 1, to avoid cc -O bug on HP */
- register uIntf *p; /* pointer into c[], b[], or v[] */
- inflate_huft *q; /* points to current table */
- struct inflate_huft_s r; /* table entry for structure assignment */
- inflate_huft *u[BMAX]; /* table stack */
- register int w; /* bits before this table == (l * h) */
- uInt x[BMAX+1]; /* bit offsets, then code stack */
- uIntf *xp; /* pointer into x */
- int y; /* number of dummy codes added */
- uInt z; /* number of entries in current table */
-
-
- /* Generate counts for each bit length */
- p = c;
-#define C0 *p++ = 0;
-#define C2 C0 C0 C0 C0
-#define C4 C2 C2 C2 C2
- C4 /* clear c[]--assume BMAX+1 is 16 */
- p = b; i = n;
- do {
- c[*p++]++; /* assume all entries <= BMAX */
- } while (--i);
- if (c[0] == n) /* null input--all zero length codes */
- {
- *t = (inflate_huft *)Z_NULL;
- *m = 0;
- return Z_OK;
- }
-
-
- /* Find minimum and maximum length, bound *m by those */
- l = *m;
- for (j = 1; j <= BMAX; j++)
- if (c[j])
- break;
- k = j; /* minimum code length */
- if ((uInt)l < j)
- l = j;
- for (i = BMAX; i; i--)
- if (c[i])
- break;
- g = i; /* maximum code length */
- if ((uInt)l > i)
- l = i;
- *m = l;
-
-
- /* Adjust last length count to fill out codes, if needed */
- for (y = 1 << j; j < i; j++, y <<= 1)
- if ((y -= c[j]) < 0)
- return Z_DATA_ERROR;
- if ((y -= c[i]) < 0)
- return Z_DATA_ERROR;
- c[i] += y;
-
-
- /* Generate starting offsets into the value table for each length */
- x[1] = j = 0;
- p = c + 1; xp = x + 2;
- while (--i) { /* note that i == g from above */
- *xp++ = (j += *p++);
- }
-
-
- /* Make a table of values in order of bit lengths */
- p = b; i = 0;
- do {
- if ((j = *p++) != 0)
- v[x[j]++] = i;
- } while (++i < n);
- n = x[g]; /* set n to length of v */
-
-
- /* Generate the Huffman codes and for each, make the table entries */
- x[0] = i = 0; /* first Huffman code is zero */
- p = v; /* grab values in bit order */
- h = -1; /* no tables yet--level -1 */
- w = -l; /* bits decoded == (l * h) */
- u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
- q = (inflate_huft *)Z_NULL; /* ditto */
- z = 0; /* ditto */
-
- /* go through the bit lengths (k already is bits in shortest code) */
- for (; k <= g; k++)
- {
- a = c[k];
- while (a--)
- {
- /* here i is the Huffman code of length k bits for value *p */
- /* make tables up to required level */
- while (k > w + l)
- {
- h++;
- w += l; /* previous table always l bits */
-
- /* compute minimum size table less than or equal to l bits */
- z = g - w;
- z = z > (uInt)l ? l : z; /* table size upper limit */
- if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- if (j < z)
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- }
- z = 1 << j; /* table entries for j-bit table */
-
- /* allocate new table */
- if (*hn + z > MANY) /* (note: doesn't matter for fixed) */
- return Z_MEM_ERROR; /* not enough memory */
- u[h] = q = hp + *hn;
- *hn += z;
-
- /* connect to last table, if there is one */
- if (h)
- {
- x[h] = i; /* save pattern for backing up */
- r.bits = (Byte)l; /* bits to dump before this table */
- r.exop = (Byte)j; /* bits in this table */
- j = i >> (w - l);
- r.base = (uInt)(q - u[h-1] - j); /* offset to this table */
- u[h-1][j] = r; /* connect to last table */
- }
- else
- *t = q; /* first table is returned result */
- }
-
- /* set up table entry in r */
- r.bits = (Byte)(k - w);
- if (p >= v + n)
- r.exop = 128 + 64; /* out of values--invalid code */
- else if (*p < s)
- {
- r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
- r.base = *p++; /* simple code is just the value */
- }
- else
- {
- r.exop = (Byte)(e[*p - s] + 16 + 64);/* non-simple--look up in lists */
- r.base = d[*p++ - s];
- }
-
- /* fill code-like entries with r */
- f = 1 << (k - w);
- for (j = i >> w; j < z; j += f)
- q[j] = r;
-
- /* backwards increment the k-bit code i */
- for (j = 1 << (k - 1); i & j; j >>= 1)
- i ^= j;
- i ^= j;
-
- /* backup over finished tables */
- mask = (1 << w) - 1; /* needed on HP, cc -O bug */
- while ((i & mask) != x[h])
- {
- h--; /* don't need to update q */
- w -= l;
- mask = (1 << w) - 1;
- }
- }
- }
-
-
- /* Return Z_BUF_ERROR if we were given an incomplete table */
- return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
-}
-
-
-int inflate_trees_bits(c, bb, tb, hp, z)
-uIntf *c; /* 19 code lengths */
-uIntf *bb; /* bits tree desired/actual depth */
-inflate_huft * FAR *tb; /* bits tree result */
-inflate_huft *hp; /* space for trees */
-z_streamp z; /* for messages */
-{
- int r;
- uInt hn = 0; /* hufts used in space */
- uIntf *v; /* work area for huft_build */
-
- if ((v = (uIntf*)ZALLOC(z, 19, sizeof(uInt))) == Z_NULL)
- return Z_MEM_ERROR;
- r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL,
- tb, bb, hp, &hn, v);
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed dynamic bit lengths tree";
- else if (r == Z_BUF_ERROR || *bb == 0)
- {
- z->msg = (char*)"incomplete dynamic bit lengths tree";
- r = Z_DATA_ERROR;
- }
- ZFREE(z, v);
- return r;
-}
-
-
-int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, hp, z)
-uInt nl; /* number of literal/length codes */
-uInt nd; /* number of distance codes */
-uIntf *c; /* that many (total) code lengths */
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-inflate_huft *hp; /* space for trees */
-z_streamp z; /* for messages */
-{
- int r;
- uInt hn = 0; /* hufts used in space */
- uIntf *v; /* work area for huft_build */
-
- /* allocate work area */
- if ((v = (uIntf*)ZALLOC(z, 288, sizeof(uInt))) == Z_NULL)
- return Z_MEM_ERROR;
-
- /* build literal/length tree */
- r = huft_build(c, nl, 257, cplens, cplext, tl, bl, hp, &hn, v);
- if (r != Z_OK || *bl == 0)
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed literal/length tree";
- else if (r != Z_MEM_ERROR)
- {
- z->msg = (char*)"incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- ZFREE(z, v);
- return r;
- }
-
- /* build distance tree */
- r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, hp, &hn, v);
- if (r != Z_OK || (*bd == 0 && nl > 257))
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed distance tree";
- else if (r == Z_BUF_ERROR) {
-#ifdef PKZIP_BUG_WORKAROUND
- r = Z_OK;
- }
-#else
- z->msg = (char*)"incomplete distance tree";
- r = Z_DATA_ERROR;
- }
- else if (r != Z_MEM_ERROR)
- {
- z->msg = (char*)"empty distance tree with lengths";
- r = Z_DATA_ERROR;
- }
- ZFREE(z, v);
- return r;
-#endif
- }
-
- /* done */
- ZFREE(z, v);
- return Z_OK;
-}
-
-
-/* build fixed tables only once--keep them here */
-#ifdef BUILDFIXED
-local int fixed_built = 0;
-#define FIXEDH 544 /* number of hufts used by fixed tables */
-local inflate_huft fixed_mem[FIXEDH];
-local uInt fixed_bl;
-local uInt fixed_bd;
-local inflate_huft *fixed_tl;
-local inflate_huft *fixed_td;
-#else
-#include "inffixed.h"
-#endif
-
-
-int inflate_trees_fixed(bl, bd, tl, td, z)
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-z_streamp z; /* for memory allocation */
-{
-#ifdef BUILDFIXED
- /* build fixed tables if not already */
- if (!fixed_built)
- {
- int k; /* temporary variable */
- uInt f = 0; /* number of hufts used in fixed_mem */
- uIntf *c; /* length list for huft_build */
- uIntf *v; /* work area for huft_build */
-
- /* allocate memory */
- if ((c = (uIntf*)ZALLOC(z, 288, sizeof(uInt))) == Z_NULL)
- return Z_MEM_ERROR;
- if ((v = (uIntf*)ZALLOC(z, 288, sizeof(uInt))) == Z_NULL)
- {
- ZFREE(z, c);
- return Z_MEM_ERROR;
- }
-
- /* literal table */
- for (k = 0; k < 144; k++)
- c[k] = 8;
- for (; k < 256; k++)
- c[k] = 9;
- for (; k < 280; k++)
- c[k] = 7;
- for (; k < 288; k++)
- c[k] = 8;
- fixed_bl = 9;
- huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl,
- fixed_mem, &f, v);
-
- /* distance table */
- for (k = 0; k < 30; k++)
- c[k] = 5;
- fixed_bd = 5;
- huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd,
- fixed_mem, &f, v);
-
- /* done */
- ZFREE(z, v);
- ZFREE(z, c);
- fixed_built = 1;
- }
-#endif
- *bl = fixed_bl;
- *bd = fixed_bd;
- *tl = fixed_tl;
- *td = fixed_td;
- return Z_OK;
-}
diff --git a/zlib/inftrees.h b/zlib/inftrees.h
deleted file mode 100644
index 85853e097b3..00000000000
--- a/zlib/inftrees.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* inftrees.h -- header to use inftrees.c
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Huffman code lookup table entry--this entry is four bytes for machines
- that have 16-bit pointers (e.g. PC's in the small or medium model). */
-
-typedef struct inflate_huft_s FAR inflate_huft;
-
-struct inflate_huft_s {
- union {
- struct {
- Byte Exop; /* number of extra bits or operation */
- Byte Bits; /* number of bits in this code or subcode */
- } what;
- uInt pad; /* pad structure to a power of 2 (4 bytes for */
- } word; /* 16-bit, 8 bytes for 32-bit int's) */
- uInt base; /* literal, length base, distance base,
- or table offset */
-};
-
-/* Maximum size of dynamic tree. The maximum found in a long but non-
- exhaustive search was 1004 huft structures (850 for length/literals
- and 154 for distances, the latter actually the result of an
- exhaustive search). The actual maximum is not known, but the
- value below is more than safe. */
-#define MANY 1440
-
-extern int inflate_trees_bits OF((
- uIntf *, /* 19 code lengths */
- uIntf *, /* bits tree desired/actual depth */
- inflate_huft * FAR *, /* bits tree result */
- inflate_huft *, /* space for trees */
- z_streamp)); /* for messages */
-
-extern int inflate_trees_dynamic OF((
- uInt, /* number of literal/length codes */
- uInt, /* number of distance codes */
- uIntf *, /* that many (total) code lengths */
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- inflate_huft *, /* space for trees */
- z_streamp)); /* for messages */
-
-extern int inflate_trees_fixed OF((
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- z_streamp)); /* for memory allocation */
diff --git a/zlib/infutil.c b/zlib/infutil.c
deleted file mode 100644
index 824dab57128..00000000000
--- a/zlib/infutil.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* inflate_util.c -- data and routines common to blocks and codes
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "infblock.h"
-#include "inftrees.h"
-#include "infcodes.h"
-#include "infutil.h"
-
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-
-/* And'ing with mask[n] masks the lower n bits */
-uInt inflate_mask[17] = {
- 0x0000,
- 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
-};
-
-
-/* copy as much as possible from the sliding window to the output area */
-int inflate_flush(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt n;
- Bytef *p;
- Bytef *q;
-
- /* local copies of source and destination pointers */
- p = z->next_out;
- q = s->read;
-
- /* compute number of bytes to copy as far as end of window */
- n = (uInt)((q <= s->write ? s->write : s->end) - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy as far as end of window */
- zmemcpy(p, q, n);
- p += n;
- q += n;
-
- /* see if more to copy at beginning of window */
- if (q == s->end)
- {
- /* wrap pointers */
- q = s->window;
- if (s->write == s->end)
- s->write = s->window;
-
- /* compute bytes to copy */
- n = (uInt)(s->write - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy */
- zmemcpy(p, q, n);
- p += n;
- q += n;
- }
-
- /* update pointers */
- z->next_out = p;
- s->read = q;
-
- /* done */
- return r;
-}
diff --git a/zlib/infutil.h b/zlib/infutil.h
deleted file mode 100644
index 99d1135d06a..00000000000
--- a/zlib/infutil.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* infutil.h -- types and macros common to blocks and codes
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-#ifndef _INFUTIL_H
-#define _INFUTIL_H
-
-typedef enum {
- TYPE, /* get type bits (3, including end bit) */
- LENS, /* get lengths for stored */
- STORED, /* processing stored block */
- TABLE, /* get table lengths */
- BTREE, /* get bit lengths tree for a dynamic block */
- DTREE, /* get length, distance trees for a dynamic block */
- CODES, /* processing fixed or dynamic block */
- DRY, /* output remaining window bytes */
- DONE, /* finished last block, done */
- BAD} /* got a data error--stuck here */
-inflate_block_mode;
-
-/* inflate blocks semi-private state */
-struct inflate_blocks_state {
-
- /* mode */
- inflate_block_mode mode; /* current inflate_block mode */
-
- /* mode dependent information */
- union {
- uInt left; /* if STORED, bytes left to copy */
- struct {
- uInt table; /* table lengths (14 bits) */
- uInt index; /* index into blens (or border) */
- uIntf *blens; /* bit lengths of codes */
- uInt bb; /* bit length tree depth */
- inflate_huft *tb; /* bit length decoding tree */
- } trees; /* if DTREE, decoding info for trees */
- struct {
- inflate_codes_statef
- *codes;
- } decode; /* if CODES, current state */
- } sub; /* submode */
- uInt last; /* true if this block is the last block */
-
- /* mode independent information */
- uInt bitk; /* bits in bit buffer */
- uLong bitb; /* bit buffer */
- inflate_huft *hufts; /* single malloc for tree space */
- Bytef *window; /* sliding window */
- Bytef *end; /* one byte after sliding window */
- Bytef *read; /* window read pointer */
- Bytef *write; /* window write pointer */
- check_func checkfn; /* check function */
- uLong check; /* check on output */
-
-};
-
-
-/* defines for inflate input/output */
-/* update pointers and return */
-#define UPDBITS {s->bitb=b;s->bitk=k;}
-#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
-#define UPDOUT {s->write=q;}
-#define UPDATE {UPDBITS UPDIN UPDOUT}
-#define LEAVE {UPDATE return inflate_flush(s,z,r);}
-/* get bytes and bits */
-#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
-#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
-#define NEXTBYTE (n--,*p++)
-#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define DUMPBITS(j) {b>>=(j);k-=(j);}
-/* output bytes */
-#define WAVAIL (uInt)(q<s->read?s->read-q-1:s->end-q)
-#define LOADOUT {q=s->write;m=(uInt)WAVAIL;}
-#define WRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=(uInt)WAVAIL;}}
-#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
-#define NEEDOUT {if(m==0){WRAP if(m==0){FLUSH WRAP if(m==0) LEAVE}}r=Z_OK;}
-#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
-/* load local pointers */
-#define LOAD {LOADIN LOADOUT}
-
-/* masks for lower bits (size given to avoid silly warnings with Visual C++) */
-extern uInt inflate_mask[17];
-
-/* copy as much as possible from the sliding window to the output area */
-extern int inflate_flush OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-#endif
diff --git a/zlib/maketree.c b/zlib/maketree.c
deleted file mode 100644
index 949d7864185..00000000000
--- a/zlib/maketree.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* maketree.c -- make inffixed.h table for decoding fixed codes
- * Copyright (C) 1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* This program is included in the distribution for completeness.
- You do not need to compile or run this program since inffixed.h
- is already included in the distribution. To use this program
- you need to compile zlib with BUILDFIXED defined and then compile
- and link this program with the zlib library. Then the output of
- this program can be piped to inffixed.h. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "zutil.h"
-#include "inftrees.h"
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* generate initialization table for an inflate_huft structure array */
-void maketree(uInt b, inflate_huft *t)
-{
- int i, e;
-
- i = 0;
- while (1)
- {
- e = t[i].exop;
- if (e && (e & (16+64)) == 0) /* table pointer */
- {
- fprintf(stderr, "maketree: cannot initialize sub-tables!\n");
- exit(1);
- }
- if (i % 4 == 0)
- printf("\n ");
- printf(" {{{%u,%u}},%u}", t[i].exop, t[i].bits, t[i].base);
- if (++i == (1<<b))
- break;
- putchar(',');
- }
- puts("");
-}
-
-/* create the fixed tables in C initialization syntax */
-void main(void)
-{
- int r;
- uInt bl, bd;
- inflate_huft *tl, *td;
- z_stream z;
-
- z.zalloc = zcalloc;
- z.opaque = (voidpf)0;
- z.zfree = zcfree;
- r = inflate_trees_fixed(&bl, &bd, &tl, &td, &z);
- if (r)
- {
- fprintf(stderr, "inflate_trees_fixed error %d\n", r);
- return;
- }
- puts("/* inffixed.h -- table for decoding fixed codes");
- puts(" * Generated automatically by the maketree.c program");
- puts(" */");
- puts("");
- puts("/* WARNING: this file should *not* be used by applications. It is");
- puts(" part of the implementation of the compression library and is");
- puts(" subject to change. Applications should only use zlib.h.");
- puts(" */");
- puts("");
- printf("local uInt fixed_bl = %d;\n", bl);
- printf("local uInt fixed_bd = %d;\n", bd);
- printf("local inflate_huft fixed_tl[] = {");
- maketree(bl, tl);
- puts(" };");
- printf("local inflate_huft fixed_td[] = {");
- maketree(bd, td);
- puts(" };");
-}
diff --git a/zlib/minigzip.c b/zlib/minigzip.c
deleted file mode 100644
index 7215eaeb0fc..00000000000
--- a/zlib/minigzip.c
+++ /dev/null
@@ -1,320 +0,0 @@
-/* minigzip.c -- simulate gzip using the zlib compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * minigzip is a minimal implementation of the gzip utility. This is
- * only an example of using zlib and isn't meant to replace the
- * full-featured gzip. No attempt is made to deal with file systems
- * limiting names to 14 or 8+3 characters, etc... Error checking is
- * very limited. So use minigzip only for testing; use gzip for the
- * real thing. On MSDOS, use only on file names without extension
- * or in pipe mode.
- */
-
-/* @(#) $Id$ */
-
-#include <stdio.h>
-#include "zlib.h"
-
-#ifdef STDC
-# include <string.h>
-# include <stdlib.h>
-#else
- extern void exit OF((int));
-#endif
-
-#ifdef USE_MMAP
-# include <sys/types.h>
-# include <sys/mman.h>
-# include <sys/stat.h>
-#endif
-
-#if defined(MSDOS) || defined(OS2) || defined(WIN32)
-# include <fcntl.h>
-# include <io.h>
-# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
-#else
-# define SET_BINARY_MODE(file)
-#endif
-
-#ifdef VMS
-# define unlink delete
-# define GZ_SUFFIX "-gz"
-#endif
-#ifdef RISCOS
-# define unlink remove
-# define GZ_SUFFIX "-gz"
-# define fileno(file) file->__file
-#endif
-#if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
-# include <unix.h> /* for fileno */
-#endif
-
-#ifndef WIN32 /* unlink already in stdio.h for WIN32 */
- extern int unlink OF((const char *));
-#endif
-
-#ifndef GZ_SUFFIX
-# define GZ_SUFFIX ".gz"
-#endif
-#define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1)
-
-#define BUFLEN 16384
-#define MAX_NAME_LEN 1024
-
-#ifdef MAXSEG_64K
-# define local static
- /* Needed for systems with limitation on stack size. */
-#else
-# define local
-#endif
-
-char *prog;
-
-void error OF((const char *msg));
-void gz_compress OF((FILE *in, gzFile out));
-#ifdef USE_MMAP
-int gz_compress_mmap OF((FILE *in, gzFile out));
-#endif
-void gz_uncompress OF((gzFile in, FILE *out));
-void file_compress OF((char *file, char *mode));
-void file_uncompress OF((char *file));
-int main OF((int argc, char *argv[]));
-
-/* ===========================================================================
- * Display error message and exit
- */
-void error(msg)
- const char *msg;
-{
- fprintf(stderr, "%s: %s\n", prog, msg);
- exit(1);
-}
-
-/* ===========================================================================
- * Compress input to output then close both files.
- */
-
-void gz_compress(in, out)
- FILE *in;
- gzFile out;
-{
- local char buf[BUFLEN];
- int len;
- int err;
-
-#ifdef USE_MMAP
- /* Try first compressing with mmap. If mmap fails (minigzip used in a
- * pipe), use the normal fread loop.
- */
- if (gz_compress_mmap(in, out) == Z_OK) return;
-#endif
- for (;;) {
- len = fread(buf, 1, sizeof(buf), in);
- if (ferror(in)) {
- perror("fread");
- exit(1);
- }
- if (len == 0) break;
-
- if (gzwrite(out, buf, (unsigned)len) != len) error(gzerror(out, &err));
- }
- fclose(in);
- if (gzclose(out) != Z_OK) error("failed gzclose");
-}
-
-#ifdef USE_MMAP /* MMAP version, Miguel Albrecht <malbrech@eso.org> */
-
-/* Try compressing the input file at once using mmap. Return Z_OK if
- * if success, Z_ERRNO otherwise.
- */
-int gz_compress_mmap(in, out)
- FILE *in;
- gzFile out;
-{
- int len;
- int err;
- int ifd = fileno(in);
- caddr_t buf; /* mmap'ed buffer for the entire input file */
- off_t buf_len; /* length of the input file */
- struct stat sb;
-
- /* Determine the size of the file, needed for mmap: */
- if (fstat(ifd, &sb) < 0) return Z_ERRNO;
- buf_len = sb.st_size;
- if (buf_len <= 0) return Z_ERRNO;
-
- /* Now do the actual mmap: */
- buf = mmap((caddr_t) 0, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0);
- if (buf == (caddr_t)(-1)) return Z_ERRNO;
-
- /* Compress the whole file at once: */
- len = gzwrite(out, (char *)buf, (unsigned)buf_len);
-
- if (len != (int)buf_len) error(gzerror(out, &err));
-
- munmap(buf, buf_len);
- fclose(in);
- if (gzclose(out) != Z_OK) error("failed gzclose");
- return Z_OK;
-}
-#endif /* USE_MMAP */
-
-/* ===========================================================================
- * Uncompress input to output then close both files.
- */
-void gz_uncompress(in, out)
- gzFile in;
- FILE *out;
-{
- local char buf[BUFLEN];
- int len;
- int err;
-
- for (;;) {
- len = gzread(in, buf, sizeof(buf));
- if (len < 0) error (gzerror(in, &err));
- if (len == 0) break;
-
- if ((int)fwrite(buf, 1, (unsigned)len, out) != len) {
- error("failed fwrite");
- }
- }
- if (fclose(out)) error("failed fclose");
-
- if (gzclose(in) != Z_OK) error("failed gzclose");
-}
-
-
-/* ===========================================================================
- * Compress the given file: create a corresponding .gz file and remove the
- * original.
- */
-void file_compress(file, mode)
- char *file;
- char *mode;
-{
- local char outfile[MAX_NAME_LEN];
- FILE *in;
- gzFile out;
-
- strcpy(outfile, file);
- strcat(outfile, GZ_SUFFIX);
-
- in = fopen(file, "rb");
- if (in == NULL) {
- perror(file);
- exit(1);
- }
- out = gzopen(outfile, mode);
- if (out == NULL) {
- fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile);
- exit(1);
- }
- gz_compress(in, out);
-
- unlink(file);
-}
-
-
-/* ===========================================================================
- * Uncompress the given file and remove the original.
- */
-void file_uncompress(file)
- char *file;
-{
- local char buf[MAX_NAME_LEN];
- char *infile, *outfile;
- FILE *out;
- gzFile in;
- int len = strlen(file);
-
- strcpy(buf, file);
-
- if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) {
- infile = file;
- outfile = buf;
- outfile[len-3] = '\0';
- } else {
- outfile = file;
- infile = buf;
- strcat(infile, GZ_SUFFIX);
- }
- in = gzopen(infile, "rb");
- if (in == NULL) {
- fprintf(stderr, "%s: can't gzopen %s\n", prog, infile);
- exit(1);
- }
- out = fopen(outfile, "wb");
- if (out == NULL) {
- perror(file);
- exit(1);
- }
-
- gz_uncompress(in, out);
-
- unlink(infile);
-}
-
-
-/* ===========================================================================
- * Usage: minigzip [-d] [-f] [-h] [-1 to -9] [files...]
- * -d : decompress
- * -f : compress with Z_FILTERED
- * -h : compress with Z_HUFFMAN_ONLY
- * -1 to -9 : compression level
- */
-
-int main(argc, argv)
- int argc;
- char *argv[];
-{
- int uncompr = 0;
- gzFile file;
- char outmode[20];
-
- strcpy(outmode, "wb6 ");
-
- prog = argv[0];
- argc--, argv++;
-
- while (argc > 0) {
- if (strcmp(*argv, "-d") == 0)
- uncompr = 1;
- else if (strcmp(*argv, "-f") == 0)
- outmode[3] = 'f';
- else if (strcmp(*argv, "-h") == 0)
- outmode[3] = 'h';
- else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' &&
- (*argv)[2] == 0)
- outmode[2] = (*argv)[1];
- else
- break;
- argc--, argv++;
- }
- if (argc == 0) {
- SET_BINARY_MODE(stdin);
- SET_BINARY_MODE(stdout);
- if (uncompr) {
- file = gzdopen(fileno(stdin), "rb");
- if (file == NULL) error("can't gzdopen stdin");
- gz_uncompress(file, stdout);
- } else {
- file = gzdopen(fileno(stdout), outmode);
- if (file == NULL) error("can't gzdopen stdout");
- gz_compress(stdin, file);
- }
- } else {
- do {
- if (uncompr) {
- file_uncompress(*argv);
- } else {
- file_compress(*argv, outmode);
- }
- } while (argv++, --argc);
- }
- exit(0);
- return 0; /* to avoid warning */
-}
diff --git a/zlib/msdos/Makefile.b32 b/zlib/msdos/Makefile.b32
deleted file mode 100644
index f476da91649..00000000000
--- a/zlib/msdos/Makefile.b32
+++ /dev/null
@@ -1,104 +0,0 @@
-# Makefile for zlib
-# Borland C++
-
-# This version of the zlib makefile was adapted by Chris Young for use
-# with Borland C 4.5x with the Dos Power Pack for a 32-bit protected mode
-# flat memory model. It was created for use with POV-Ray ray tracer and
-# you may choose to edit the CFLAGS to suit your needs but the
-# switches -WX and -DMSDOS are required.
-# -- Chris Young 76702.1655@compuserve.com
-
-# To use, do "make -fmakefile.b32"
-
-# See zconf.h for details about the memory requirements.
-
-# ------------- Borland C++ -------------
-MODEL=-WX
-CFLAGS= $(MODEL) -P-C -K -N- -k- -d -3 -r- -v- -f -DMSDOS
-CC=bcc32
-LD=bcc32
-LIB=tlib
-LDFLAGS= $(MODEL)
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-all: test
-
-adler32.obj: adler32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
- infcodes.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
- infcodes.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) -c $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) -c $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-zlib.lib: $(OBJ1) $(OBJ2)
- del zlib.lib
- $(LIB) zlib +$(OBJP1)
- $(LIB) zlib +$(OBJP2)
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
diff --git a/zlib/msdos/Makefile.bor b/zlib/msdos/Makefile.bor
deleted file mode 100644
index f5651b40fec..00000000000
--- a/zlib/msdos/Makefile.bor
+++ /dev/null
@@ -1,125 +0,0 @@
-# Makefile for zlib
-# Borland C++ ************ UNTESTED ***********
-
-# To use, do "make -fmakefile.bor"
-# To compile in small model, set below: MODEL=s
-
-# WARNING: the small model is supported but only for small values of
-# MAX_WBITS and MAX_MEM_LEVEL. For example:
-# -DMAX_WBITS=11 -DDEF_WBITS=11 -DMAX_MEM_LEVEL=3
-# If you wish to reduce the memory requirements (default 256K for big
-# objects plus a few K), you can add to the LOC macro below:
-# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
-# See zconf.h for details about the memory requirements.
-
-# ------------- Turbo C++, Borland C++ -------------
-
-# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7)
-# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added
-# to the declaration of LOC here:
-LOC = $(LOCAL_ZLIB)
-
-# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
-CPU_TYP = 0
-
-# Memory model: one of s, m, c, l (small, medium, compact, large)
-MODEL=l
-
-CC=bcc
-# replace bcc with tcc for Turbo C++ 1.0, with bcc32 for the 32 bit version
-LD=$(CC)
-AR=tlib
-
-# compiler flags
-CFLAGS=-O2 -Z -m$(MODEL) $(LOC)
-# replace "-O2" by "-O -G -a -d" for Turbo C++ 1.0
-
-LDFLAGS=-m$(MODEL)
-
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-ZLIB_H = zlib.h zconf.h
-ZUTIL_H = zutil.h $(ZLIB_H)
-
-ZLIB_LIB = zlib_$(MODEL).lib
-
-all: test
-
-# individual dependencies and action rules:
-adler32.obj: adler32.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-compress.obj: compress.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-crc32.obj: crc32.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-gzio.obj: gzio.c $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c $(ZUTIL_H) infblock.h
- $(CC) -c $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h
- $(CC) -c $(CFLAGS) $*.c
-
-infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-zutil.obj: zutil.c $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-example.obj: example.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-$(ZLIB_LIB): $(OBJ1) $(OBJ2)
- del $(ZLIB_LIB)
- $(AR) $(ZLIB_LIB) +$(OBJP1)
- $(AR) $(ZLIB_LIB) +$(OBJP2)
-
-example.exe: example.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB)
-
-minigzip.exe: minigzip.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB)
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
diff --git a/zlib/msdos/Makefile.dj2 b/zlib/msdos/Makefile.dj2
deleted file mode 100644
index 0ab431c8a11..00000000000
--- a/zlib/msdos/Makefile.dj2
+++ /dev/null
@@ -1,100 +0,0 @@
-# Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.dj2; make test -fmakefile.dj2
-#
-# To install libz.a, zconf.h and zlib.h in the djgpp directories, type:
-#
-# make install -fmakefile.dj2
-#
-# after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as
-# in the sample below if the pattern of the DJGPP distribution is to
-# be followed. Remember that, while <sp>'es around <=> are ignored in
-# makefiles, they are *not* in batch files or in djgpp.env.
-# - - - - -
-# [make]
-# INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include
-# LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib
-# BUTT=-m486
-# - - - - -
-# Alternately, these variables may be defined below, overriding the values
-# in djgpp.env, as
-# INCLUDE_PATH=c:\usr\include
-# LIBRARY_PATH=c:\usr\lib
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lz
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=libz.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-libz.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
-
-.PHONY : uninstall clean
-
-install: $(INCL) $(LIBS)
- -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
- -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
- $(INSTALL) zlib.h $(INCLUDE_PATH)
- $(INSTALL) zconf.h $(INCLUDE_PATH)
- $(INSTALL) libz.a $(LIBRARY_PATH)
-
-uninstall:
- $(RM) $(INCLUDE_PATH)\zlib.h
- $(RM) $(INCLUDE_PATH)\zconf.h
- $(RM) $(LIBRARY_PATH)\libz.a
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) libz.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
diff --git a/zlib/msdos/Makefile.emx b/zlib/msdos/Makefile.emx
deleted file mode 100644
index 0e5e5cc4338..00000000000
--- a/zlib/msdos/Makefile.emx
+++ /dev/null
@@ -1,69 +0,0 @@
-# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.emx; make test -fmakefile.emx
-#
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lzlib
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=zlib.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-zlib.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-
-.PHONY : clean
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) zlib.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
diff --git a/zlib/msdos/Makefile.msc b/zlib/msdos/Makefile.msc
deleted file mode 100644
index 562201d87ea..00000000000
--- a/zlib/msdos/Makefile.msc
+++ /dev/null
@@ -1,121 +0,0 @@
-# Makefile for zlib
-# Microsoft C 5.1 or later
-
-# To use, do "make makefile.msc"
-# To compile in small model, set below: MODEL=S
-
-# If you wish to reduce the memory requirements (default 256K for big
-# objects plus a few K), you can add to the LOC macro below:
-# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
-# See zconf.h for details about the memory requirements.
-
-# ------------- Microsoft C 5.1 and later -------------
-
-# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7)
-# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added
-# to the declaration of LOC here:
-LOC = $(LOCAL_ZLIB)
-
-# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
-CPU_TYP = 0
-
-# Memory model: one of S, M, C, L (small, medium, compact, large)
-MODEL=L
-
-CC=cl
-CFLAGS=-nologo -A$(MODEL) -G$(CPU_TYP) -W3 -Oait -Gs $(LOC)
-#-Ox generates bad code with MSC 5.1
-LIB_CFLAGS=-Zl $(CFLAGS)
-
-LD=link
-LDFLAGS=/noi/e/st:0x1500/noe/farcall/packcode
-# "/farcall/packcode" are only useful for `large code' memory models
-# but should be a "no-op" for small code models.
-
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-ZLIB_H = zlib.h zconf.h
-ZUTIL_H = zutil.h $(ZLIB_H)
-
-ZLIB_LIB = zlib_$(MODEL).lib
-
-all: $(ZLIB_LIB) example.exe minigzip.exe
-
-# individual dependencies and action rules:
-adler32.obj: adler32.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-compress.obj: compress.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-crc32.obj: crc32.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-gzio.obj: gzio.c $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-inflate.obj: inflate.c $(ZUTIL_H) infblock.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-uncompr.obj: uncompr.c $(ZLIB_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-zutil.obj: zutil.c $(ZUTIL_H)
- $(CC) -c $(LIB_CFLAGS) $*.c
-
-example.obj: example.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-$(ZLIB_LIB): $(OBJ1) $(OBJ2)
- if exist $(ZLIB_LIB) del $(ZLIB_LIB)
- lib $(ZLIB_LIB) $(OBJ1);
- lib $(ZLIB_LIB) $(OBJ2);
-
-example.exe: example.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) example.obj,,,$(ZLIB_LIB);
-
-minigzip.exe: minigzip.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) minigzip.obj,,,$(ZLIB_LIB);
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
diff --git a/zlib/msdos/Makefile.tc b/zlib/msdos/Makefile.tc
deleted file mode 100644
index 63e0550359f..00000000000
--- a/zlib/msdos/Makefile.tc
+++ /dev/null
@@ -1,108 +0,0 @@
-# Makefile for zlib
-# TurboC 2.0
-
-# To use, do "make -fmakefile.tc"
-# To compile in small model, set below: MODEL=-ms
-
-# WARNING: the small model is supported but only for small values of
-# MAX_WBITS and MAX_MEM_LEVEL. For example:
-# -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
-# If you wish to reduce the memory requirements (default 256K for big
-# objects plus a few K), you can add to CFLAGS below:
-# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
-# See zconf.h for details about the memory requirements.
-
-# ------------- Turbo C 2.0 -------------
-MODEL=l
-# CFLAGS=-O2 -G -Z -m$(MODEL) -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
-CFLAGS=-O2 -G -Z -m$(MODEL)
-CC=tcc -I\tc\include
-LD=tcc -L\tc\lib
-AR=tlib
-LDFLAGS=-m$(MODEL) -f-
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-ZLIB_H = zlib.h zconf.h
-ZUTIL_H = zutil.h $(ZLIB_H)
-
-ZLIB_LIB = zlib_$(MODEL).lib
-
-all: test
-
-adler32.obj: adler32.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-compress.obj: compress.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-crc32.obj: crc32.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-gzio.obj: gzio.c $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-infblock.obj: infblock.c $(ZUTIL_H) infblock.h inftrees.h infcodes.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c $(ZUTIL_H) inftrees.h infutil.h infcodes.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c $(ZUTIL_H) infblock.h
- $(CC) -c $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c $(ZUTIL_H) inftrees.h
- $(CC) -c $(CFLAGS) $*.c
-
-infutil.obj: infutil.c $(ZUTIL_H) inftrees.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-inffast.obj: inffast.c $(ZUTIL_H) inftrees.h infutil.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-zutil.obj: zutil.c $(ZUTIL_H)
- $(CC) -c $(CFLAGS) $*.c
-
-example.obj: example.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c $(ZLIB_H)
- $(CC) -c $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-$(ZLIB_LIB): $(OBJ1) $(OBJ2)
- del $(ZLIB_LIB)
- $(AR) $(ZLIB_LIB) +$(OBJP1)
- $(AR) $(ZLIB_LIB) +$(OBJP2)
-
-example.exe: example.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) -eexample.exe example.obj $(ZLIB_LIB)
-
-minigzip.exe: minigzip.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) -eminigzip.exe minigzip.obj $(ZLIB_LIB)
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
diff --git a/zlib/msdos/Makefile.w32 b/zlib/msdos/Makefile.w32
deleted file mode 100644
index 0a05fa9a469..00000000000
--- a/zlib/msdos/Makefile.w32
+++ /dev/null
@@ -1,97 +0,0 @@
-# Makefile for zlib
-# Microsoft 32-bit Visual C++ 4.0 or later (may work on earlier versions)
-
-# To use, do "nmake /f makefile.w32"
-
-# If you wish to reduce the memory requirements (default 256K for big
-# objects plus a few K), you can add to CFLAGS below:
-# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
-# See zconf.h for details about the memory requirements.
-
-# ------------- Microsoft Visual C++ 4.0 and later -------------
-MODEL=
-CFLAGS=-Ox -GA3s -nologo -W3
-CC=cl
-LD=link
-LDFLAGS=
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
- infutil$(O)+inffast$(O)
-
-all: zlib.lib example.exe minigzip.exe
-
-adler32.obj: adler32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
- infcodes.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
- infcodes.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) -c $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) -c $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) -c $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) -c $(CFLAGS) $*.c
-
-zlib.lib: $(OBJ1) $(OBJ2)
- if exist zlib.lib del zlib.lib
- lib /OUT:zlib.lib $(OBJ1) $(OBJ2)
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib /OUT:example.exe /SUBSYSTEM:CONSOLE
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib /OUT:minigzip.exe /SUBSYSTEM:CONSOLE
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-#clean:
-# del *.obj
-# del *.exe
diff --git a/zlib/msdos/Makefile.wat b/zlib/msdos/Makefile.wat
deleted file mode 100644
index 44bf8607f6f..00000000000
--- a/zlib/msdos/Makefile.wat
+++ /dev/null
@@ -1,103 +0,0 @@
-# Makefile for zlib
-# Watcom 10a
-
-# This version of the zlib makefile was adapted by Chris Young for use
-# with Watcom 10a 32-bit protected mode flat memory model. It was created
-# for use with POV-Ray ray tracer and you may choose to edit the CFLAGS to
-# suit your needs but the -DMSDOS is required.
-# -- Chris Young 76702.1655@compuserve.com
-
-# To use, do "wmake -f makefile.wat"
-
-# See zconf.h for details about the memory requirements.
-
-# ------------- Watcom 10a -------------
-MODEL=-mf
-CFLAGS= $(MODEL) -fpi87 -fp5 -zp4 -5r -w5 -oneatx -DMSDOS
-CC=wcc386
-LD=wcl386
-LIB=wlib -b -c
-LDFLAGS=
-O=.obj
-
-# variables
-OBJ1=adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O)
-OBJ2=trees$(O) zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O)
-OBJ3=infutil$(O) inffast$(O)
-OBJP1=adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)
-OBJP2=trees$(O)+zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)
-OBJP3=infutil$(O)+inffast$(O)
-
-all: test
-
-adler32.obj: adler32.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h &
- infcodes.h infutil.h
- $(CC) $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h &
- infcodes.h inffast.h
- $(CC) $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) $(CFLAGS) $*.c
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-zlib.lib: $(OBJ1) $(OBJ2) $(OBJ3)
- del zlib.lib
- $(LIB) zlib.lib +$(OBJP1)
- $(LIB) zlib.lib +$(OBJP2)
- $(LIB) zlib.lib +$(OBJP3)
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib
-
-test: minigzip.exe example.exe
- example
- echo hello world | minigzip | minigzip -d >test
- type test
-
-#clean:
-# del *.obj
-# del *.exe
diff --git a/zlib/msdos/zlib.def b/zlib/msdos/zlib.def
deleted file mode 100644
index 6c04412f9b0..00000000000
--- a/zlib/msdos/zlib.def
+++ /dev/null
@@ -1,60 +0,0 @@
-LIBRARY "zlib"
-
-DESCRIPTION '"""zlib data compression library"""'
-
-EXETYPE NT
-
-SUBSYSTEM WINDOWS
-
-STUB 'WINSTUB.EXE'
-
-VERSION 1.13
-
-CODE EXECUTE READ
-
-DATA READ WRITE
-
-HEAPSIZE 1048576,4096
-
-EXPORTS
- adler32 @1
- compress @2
- crc32 @3
- deflate @4
- deflateCopy @5
- deflateEnd @6
- deflateInit2_ @7
- deflateInit_ @8
- deflateParams @9
- deflateReset @10
- deflateSetDictionary @11
- gzclose @12
- gzdopen @13
- gzerror @14
- gzflush @15
- gzopen @16
- gzread @17
- gzwrite @18
- inflate @19
- inflateEnd @20
- inflateInit2_ @21
- inflateInit_ @22
- inflateReset @23
- inflateSetDictionary @24
- inflateSync @25
- uncompress @26
- zlibVersion @27
- gzprintf @28
- gzputc @29
- gzgetc @30
- gzseek @31
- gzrewind @32
- gztell @33
- gzeof @34
- gzsetparams @35
- zError @36
- inflateSyncPoint @37
- get_crc_table @38
- compress2 @39
- gzputs @40
- gzgets @41
diff --git a/zlib/msdos/zlib.rc b/zlib/msdos/zlib.rc
deleted file mode 100644
index 556d4ff950a..00000000000
--- a/zlib/msdos/zlib.rc
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <windows.h>
-
-#define IDR_VERSION1 1
-IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
- FILEVERSION 1,1,3,0
- PRODUCTVERSION 1,1,3,0
- FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
- FILEFLAGS 0
- FILEOS VOS_DOS_WINDOWS32
- FILETYPE VFT_DLL
- FILESUBTYPE 0 // not used
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904E4"
- //language ID = U.S. English, char set = Windows, Multilingual
-
- BEGIN
- VALUE "FileDescription", "zlib data compression library\0"
- VALUE "FileVersion", "1.1.3\0"
- VALUE "InternalName", "zlib\0"
- VALUE "OriginalFilename", "zlib.dll\0"
- VALUE "ProductName", "ZLib.DLL\0"
- VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
- VALUE "LegalCopyright", "(C) 1995-1998 Jean-loup Gailly & Mark Adler\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x0409, 1252
- END
-END
diff --git a/zlib/nt/Makefile.emx b/zlib/nt/Makefile.emx
deleted file mode 100644
index 2d475b1847e..00000000000
--- a/zlib/nt/Makefile.emx
+++ /dev/null
@@ -1,138 +0,0 @@
-# Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.emx; make test -fmakefile.emx
-#
-
-CC=gcc -Zwin32
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lzlib
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=zlib.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-zlib.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-
-.PHONY : clean
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) zlib.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
-# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98.
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.emx; make test -fmakefile.emx
-#
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lzlib
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=zlib.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-zlib.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-
-.PHONY : clean
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) zlib.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
diff --git a/zlib/nt/Makefile.gcc b/zlib/nt/Makefile.gcc
deleted file mode 100644
index cdd652f2360..00000000000
--- a/zlib/nt/Makefile.gcc
+++ /dev/null
@@ -1,87 +0,0 @@
-# Makefile for zlib. Modified for mingw32 by C. Spieler, 6/16/98.
-# (This Makefile is directly derived from Makefile.dj2)
-# Copyright (C) 1995-1998 Jean-loup Gailly.
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile, or to compile and test, type:
-#
-# make -fmakefile.gcc; make test -fmakefile.gcc
-#
-# To install libz.a, zconf.h and zlib.h in the mingw32 directories, type:
-#
-# make install -fmakefile.gcc
-#
-
-CC=gcc
-
-#CFLAGS=-MMD -O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-MMD -g -DDEBUG
-CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
- -Wstrict-prototypes -Wmissing-prototypes
-
-# If cp.exe is available, replace "copy /Y" with "cp -fp" .
-CP=copy /Y
-# If gnu install.exe is available, replace $(CP) with ginstall.
-INSTALL=$(CP)
-# The default value of RM is "rm -f." If "rm.exe" is found, comment out:
-RM=del
-LDLIBS=-L. -lz
-LD=$(CC) -s -o
-LDSHARED=$(CC)
-
-INCL=zlib.h zconf.h
-LIBS=libz.a
-
-AR=ar rcs
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example.exe minigzip.exe
-
-test: all
- ./example
- echo hello world | .\minigzip | .\minigzip -d
-
-%.o : %.c
- $(CC) $(CFLAGS) -c $< -o $@
-
-libz.a: $(OBJS)
- $(AR) $@ $(OBJS)
-
-%.exe : %.o $(LIBS)
- $(LD) $@ $< $(LDLIBS)
-
-# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
-
-.PHONY : uninstall clean
-
-install: $(INCL) $(LIBS)
- -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
- -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
- $(INSTALL) zlib.h $(INCLUDE_PATH)
- $(INSTALL) zconf.h $(INCLUDE_PATH)
- $(INSTALL) libz.a $(LIBRARY_PATH)
-
-uninstall:
- $(RM) $(INCLUDE_PATH)\zlib.h
- $(RM) $(INCLUDE_PATH)\zconf.h
- $(RM) $(LIBRARY_PATH)\libz.a
-
-clean:
- $(RM) *.d
- $(RM) *.o
- $(RM) *.exe
- $(RM) libz.a
- $(RM) foo.gz
-
-DEPS := $(wildcard *.d)
-ifneq ($(DEPS),)
-include $(DEPS)
-endif
diff --git a/zlib/nt/Makefile.nt b/zlib/nt/Makefile.nt
deleted file mode 100644
index b250f2ac7d2..00000000000
--- a/zlib/nt/Makefile.nt
+++ /dev/null
@@ -1,88 +0,0 @@
-# Makefile for zlib
-
-!include <ntwin32.mak>
-
-CC=cl
-LD=link
-CFLAGS=-O -nologo
-LDFLAGS=
-O=.obj
-
-# variables
-OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
- trees$(O)
-OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
- infutil$(O) inffast$(O)
-
-all: zlib.dll example.exe minigzip.exe
-
-adler32.obj: adler32.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-compress.obj: compress.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-crc32.obj: crc32.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-gzio.obj: gzio.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
- infcodes.h infutil.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
- infcodes.h inffast.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-uncompr.obj: uncompr.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-example.obj: example.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-minigzip.obj: minigzip.c zlib.h zconf.h
- $(CC) -c $(cvarsdll) $(CFLAGS) $*.c
-
-zlib.dll: $(OBJ1) $(OBJ2) zlib.dnt
- link $(dlllflags) -out:$@ -def:zlib.dnt $(OBJ1) $(OBJ2) $(guilibsdll)
-
-zlib.lib: zlib.dll
-
-example.exe: example.obj zlib.lib
- $(LD) $(LDFLAGS) example.obj zlib.lib
-
-minigzip.exe: minigzip.obj zlib.lib
- $(LD) $(LDFLAGS) minigzip.obj zlib.lib
-
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-clean:
- del *.obj
- del *.exe
- del *.dll
- del *.lib
diff --git a/zlib/nt/zlib.dnt b/zlib/nt/zlib.dnt
deleted file mode 100644
index 7f9475cfb0e..00000000000
--- a/zlib/nt/zlib.dnt
+++ /dev/null
@@ -1,47 +0,0 @@
-LIBRARY zlib.dll
-EXETYPE WINDOWS
-CODE PRELOAD MOVEABLE DISCARDABLE
-DATA PRELOAD MOVEABLE MULTIPLE
-
-EXPORTS
- adler32 @1
- compress @2
- crc32 @3
- deflate @4
- deflateCopy @5
- deflateEnd @6
- deflateInit2_ @7
- deflateInit_ @8
- deflateParams @9
- deflateReset @10
- deflateSetDictionary @11
- gzclose @12
- gzdopen @13
- gzerror @14
- gzflush @15
- gzopen @16
- gzread @17
- gzwrite @18
- inflate @19
- inflateEnd @20
- inflateInit2_ @21
- inflateInit_ @22
- inflateReset @23
- inflateSetDictionary @24
- inflateSync @25
- uncompress @26
- zlibVersion @27
- gzprintf @28
- gzputc @29
- gzgetc @30
- gzseek @31
- gzrewind @32
- gztell @33
- gzeof @34
- gzsetparams @35
- zError @36
- inflateSyncPoint @37
- get_crc_table @38
- compress2 @39
- gzputs @40
- gzgets @41
diff --git a/zlib/os2/Makefile.os2 b/zlib/os2/Makefile.os2
deleted file mode 100644
index 4f569471eca..00000000000
--- a/zlib/os2/Makefile.os2
+++ /dev/null
@@ -1,136 +0,0 @@
-# Makefile for zlib under OS/2 using GCC (PGCC)
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile and test, type:
-# cp Makefile.os2 ..
-# cd ..
-# make -f Makefile.os2 test
-
-# This makefile will build a static library z.lib, a shared library
-# z.dll and a import library zdll.lib. You can use either z.lib or
-# zdll.lib by specifying either -lz or -lzdll on gcc's command line
-
-CC=gcc -Zomf -s
-
-CFLAGS=-O6 -Wall
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-g -DDEBUG
-#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
-# -Wstrict-prototypes -Wmissing-prototypes
-
-#################### BUG WARNING: #####################
-## infcodes.c hits a bug in pgcc-1.0, so you have to use either
-## -O# where # <= 4 or one of (-fno-ommit-frame-pointer or -fno-force-mem)
-## This bug is reportedly fixed in pgcc >1.0, but this was not tested
-CFLAGS+=-fno-force-mem
-
-LDFLAGS=-s -L. -lzdll -Zcrtdll
-LDSHARED=$(CC) -s -Zomf -Zdll -Zcrtdll
-
-VER=1.1.0
-ZLIB=z.lib
-SHAREDLIB=z.dll
-SHAREDLIBIMP=zdll.lib
-LIBS=$(ZLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
-
-AR=emxomfar cr
-IMPLIB=emximp
-RANLIB=echo
-TAR=tar
-SHELL=bash
-
-prefix=/usr/local
-exec_prefix = $(prefix)
-
-OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
- zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-DISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \
- algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \
- nt/Makefile.nt nt/zlib.dnt contrib/README.contrib contrib/*.txt \
- contrib/asm386/*.asm contrib/asm386/*.c \
- contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/iostream/*.cpp \
- contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \
- contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32
-
-all: example.exe minigzip.exe
-
-test: all
- @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
- echo hello world | ./minigzip | ./minigzip -d || \
- echo ' *** minigzip test FAILED ***' ; \
- if ./example; then \
- echo ' *** zlib test OK ***'; \
- else \
- echo ' *** zlib test FAILED ***'; \
- fi
-
-$(ZLIB): $(OBJS)
- $(AR) $@ $(OBJS)
- -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
-
-$(SHAREDLIB): $(OBJS) os2/z.def
- $(LDSHARED) -o $@ $^
-
-$(SHAREDLIBIMP): os2/z.def
- $(IMPLIB) -o $@ $^
-
-example.exe: example.o $(LIBS)
- $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
-
-minigzip.exe: minigzip.o $(LIBS)
- $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
-
-clean:
- rm -f *.o *~ example minigzip libz.a libz.so* foo.gz
-
-distclean: clean
-
-zip:
- mv Makefile Makefile~; cp -p Makefile.in Makefile
- rm -f test.c ztest*.c
- v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
- zip -ul9 zlib$$v $(DISTFILES)
- mv Makefile~ Makefile
-
-dist:
- mv Makefile Makefile~; cp -p Makefile.in Makefile
- rm -f test.c ztest*.c
- d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
- rm -f $$d.tar.gz; \
- if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \
- files=""; \
- for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \
- cd ..; \
- GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \
- if test ! -d $$d; then rm -f $$d; fi
- mv Makefile~ Makefile
-
-tags:
- etags *.[ch]
-
-depend:
- makedepend -- $(CFLAGS) -- *.[ch]
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o: zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-example.o: zlib.h zconf.h
-gzio.o: zutil.h zlib.h zconf.h
-infblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h
-infcodes.o: zutil.h zlib.h zconf.h
-infcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h
-inffast.o: infblock.h infcodes.h infutil.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h infblock.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-infutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
-minigzip.o: zlib.h zconf.h
-trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
diff --git a/zlib/os2/zlib.def b/zlib/os2/zlib.def
deleted file mode 100644
index 4c753f1a3b9..00000000000
--- a/zlib/os2/zlib.def
+++ /dev/null
@@ -1,51 +0,0 @@
-;
-; Slightly modified version of ../nt/zlib.dnt :-)
-;
-
-LIBRARY Z
-DESCRIPTION "Zlib compression library for OS/2"
-CODE PRELOAD MOVEABLE DISCARDABLE
-DATA PRELOAD MOVEABLE MULTIPLE
-
-EXPORTS
- adler32
- compress
- crc32
- deflate
- deflateCopy
- deflateEnd
- deflateInit2_
- deflateInit_
- deflateParams
- deflateReset
- deflateSetDictionary
- gzclose
- gzdopen
- gzerror
- gzflush
- gzopen
- gzread
- gzwrite
- inflate
- inflateEnd
- inflateInit2_
- inflateInit_
- inflateReset
- inflateSetDictionary
- inflateSync
- uncompress
- zlibVersion
- gzprintf
- gzputc
- gzgetc
- gzseek
- gzrewind
- gztell
- gzeof
- gzsetparams
- zError
- inflateSyncPoint
- get_crc_table
- compress2
- gzputs
- gzgets
diff --git a/zlib/trees.c b/zlib/trees.c
deleted file mode 100644
index f01fb30d855..00000000000
--- a/zlib/trees.c
+++ /dev/null
@@ -1,1214 +0,0 @@
-/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-1998 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process uses several Huffman trees. The more
- * common source values are represented by shorter bit sequences.
- *
- * Each code tree is stored in a compressed form which is itself
- * a Huffman encoding of the lengths of all the code strings (in
- * ascending order by source values). The actual code strings are
- * reconstructed from the lengths in the inflate process, as described
- * in the deflate specification.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * Storer, James A.
- * Data Compression: Methods and Theory, pp. 49-50.
- * Computer Science Press, 1988. ISBN 0-7167-8156-5.
- *
- * Sedgewick, R.
- * Algorithms, p290.
- * Addison-Wesley, 1983. ISBN 0-201-06672-6.
- */
-
-/* @(#) $Id$ */
-
-/* #define GEN_TREES_H */
-
-#include "deflate.h"
-
-#ifdef DEBUG
-# include <ctype.h>
-#endif
-
-/* ===========================================================================
- * Constants
- */
-
-#define MAX_BL_BITS 7
-/* Bit length codes must not exceed MAX_BL_BITS bits */
-
-#define END_BLOCK 256
-/* end of block literal code */
-
-#define REP_3_6 16
-/* repeat previous bit length 3-6 times (2 bits of repeat count) */
-
-#define REPZ_3_10 17
-/* repeat a zero length 3-10 times (3 bits of repeat count) */
-
-#define REPZ_11_138 18
-/* repeat a zero length 11-138 times (7 bits of repeat count) */
-
-local const int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
- = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
-
-local const int extra_dbits[D_CODES] /* extra bits for each distance code */
- = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
-
-local const int extra_blbits[BL_CODES]/* extra bits for each bit length code */
- = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
-
-local const uch bl_order[BL_CODES]
- = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
-/* The lengths of the bit length codes are sent in order of decreasing
- * probability, to avoid transmitting the lengths for unused bit length codes.
- */
-
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
-/* ===========================================================================
- * Local data. These are initialized only once.
- */
-
-#define DIST_CODE_LEN 512 /* see definition of array dist_code below */
-
-#if defined(GEN_TREES_H) || !defined(STDC)
-/* non ANSI compilers may not accept trees.h */
-
-local ct_data static_ltree[L_CODES+2];
-/* The static literal tree. Since the bit lengths are imposed, there is no
- * need for the L_CODES extra codes used during heap construction. However
- * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
- * below).
- */
-
-local ct_data static_dtree[D_CODES];
-/* The static distance tree. (Actually a trivial tree since all codes use
- * 5 bits.)
- */
-
-uch _dist_code[DIST_CODE_LEN];
-/* Distance codes. The first 256 values correspond to the distances
- * 3 .. 258, the last 256 values correspond to the top 8 bits of
- * the 15 bit distances.
- */
-
-uch _length_code[MAX_MATCH-MIN_MATCH+1];
-/* length code for each normalized match length (0 == MIN_MATCH) */
-
-local int base_length[LENGTH_CODES];
-/* First normalized length for each code (0 = MIN_MATCH) */
-
-local int base_dist[D_CODES];
-/* First normalized distance for each code (0 = distance of 1) */
-
-#else
-# include "trees.h"
-#endif /* GEN_TREES_H */
-
-struct static_tree_desc_s {
- const ct_data *static_tree; /* static tree or NULL */
- const intf *extra_bits; /* extra bits for each code or NULL */
- int extra_base; /* base index for extra_bits */
- int elems; /* max number of elements in the tree */
- int max_length; /* max bit length for the codes */
-};
-
-local static_tree_desc static_l_desc =
-{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
-
-local static_tree_desc static_d_desc =
-{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
-
-local static_tree_desc static_bl_desc =
-{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
-
-/* ===========================================================================
- * Local (static) routines in this file.
- */
-
-local void tr_static_init OF((void));
-local void init_block OF((deflate_state *s));
-local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
-local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
-local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
-local void build_tree OF((deflate_state *s, tree_desc *desc));
-local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local int build_bl_tree OF((deflate_state *s));
-local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
- int blcodes));
-local void compress_block OF((deflate_state *s, ct_data *ltree,
- ct_data *dtree));
-local void set_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
-local void bi_windup OF((deflate_state *s));
-local void bi_flush OF((deflate_state *s));
-local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
- int header));
-
-#ifdef GEN_TREES_H
-local void gen_trees_header OF((void));
-#endif
-
-#ifndef DEBUG
-# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
- /* Send a code of the given tree. c and tree must not have side effects */
-
-#else /* DEBUG */
-# define send_code(s, c, tree) \
- { if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
- send_bits(s, tree[c].Code, tree[c].Len); }
-#endif
-
-/* ===========================================================================
- * Output a short LSB first on the stream.
- * IN assertion: there is enough room in pendingBuf.
- */
-#define put_short(s, w) { \
- put_byte(s, (uch)((w) & 0xff)); \
- put_byte(s, (uch)((ush)(w) >> 8)); \
-}
-
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-#ifdef DEBUG
-local void send_bits OF((deflate_state *s, int value, int length));
-
-local void send_bits(s, value, length)
- deflate_state *s;
- int value; /* value to send */
- int length; /* number of bits */
-{
- Tracevv((stderr," l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- s->bits_sent += (ulg)length;
-
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (s->bi_valid > (int)Buf_size - length) {
- s->bi_buf |= (value << s->bi_valid);
- put_short(s, s->bi_buf);
- s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
- s->bi_valid += length - Buf_size;
- } else {
- s->bi_buf |= value << s->bi_valid;
- s->bi_valid += length;
- }
-}
-#else /* !DEBUG */
-
-#define send_bits(s, value, length) \
-{ int len = length;\
- if (s->bi_valid > (int)Buf_size - len) {\
- int val = value;\
- s->bi_buf |= (val << s->bi_valid);\
- put_short(s, s->bi_buf);\
- s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
- s->bi_valid += len - Buf_size;\
- } else {\
- s->bi_buf |= (value) << s->bi_valid;\
- s->bi_valid += len;\
- }\
-}
-#endif /* DEBUG */
-
-
-#define MAX(a,b) (a >= b ? a : b)
-/* the arguments must not have side effects */
-
-/* ===========================================================================
- * Initialize the various 'constant' tables.
- */
-local void tr_static_init()
-{
-#if defined(GEN_TREES_H) || !defined(STDC)
- static int static_init_done = 0;
- int n; /* iterates over tree elements */
- int bits; /* bit counter */
- int length; /* length value */
- int code; /* code value */
- int dist; /* distance index */
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- if (static_init_done) return;
-
- /* For some embedded targets, global variables are not initialized: */
- static_l_desc.static_tree = static_ltree;
- static_l_desc.extra_bits = extra_lbits;
- static_d_desc.static_tree = static_dtree;
- static_d_desc.extra_bits = extra_dbits;
- static_bl_desc.extra_bits = extra_blbits;
-
- /* Initialize the mapping length (0..255) -> length code (0..28) */
- length = 0;
- for (code = 0; code < LENGTH_CODES-1; code++) {
- base_length[code] = length;
- for (n = 0; n < (1<<extra_lbits[code]); n++) {
- _length_code[length++] = (uch)code;
- }
- }
- Assert (length == 256, "tr_static_init: length != 256");
- /* Note that the length 255 (match length 258) can be represented
- * in two different ways: code 284 + 5 bits or code 285, so we
- * overwrite length_code[255] to use the best encoding:
- */
- _length_code[length-1] = (uch)code;
-
- /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
- dist = 0;
- for (code = 0 ; code < 16; code++) {
- base_dist[code] = dist;
- for (n = 0; n < (1<<extra_dbits[code]); n++) {
- _dist_code[dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: dist != 256");
- dist >>= 7; /* from now on, all distances are divided by 128 */
- for ( ; code < D_CODES; code++) {
- base_dist[code] = dist << 7;
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
- _dist_code[256 + dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: 256+dist != 512");
-
- /* Construct the codes of the static literal tree */
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
- n = 0;
- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
- /* Codes 286 and 287 do not exist, but we must include them in the
- * tree construction to get a canonical Huffman tree (longest code
- * all ones)
- */
- gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
-
- /* The static distance tree is trivial: */
- for (n = 0; n < D_CODES; n++) {
- static_dtree[n].Len = 5;
- static_dtree[n].Code = bi_reverse((unsigned)n, 5);
- }
- static_init_done = 1;
-
-# ifdef GEN_TREES_H
- gen_trees_header();
-# endif
-#endif /* defined(GEN_TREES_H) || !defined(STDC) */
-}
-
-/* ===========================================================================
- * Genererate the file trees.h describing the static trees.
- */
-#ifdef GEN_TREES_H
-# ifndef DEBUG
-# include <stdio.h>
-# endif
-
-# define SEPARATOR(i, last, width) \
- ((i) == (last)? "\n};\n\n" : \
- ((i) % (width) == (width)-1 ? ",\n" : ", "))
-
-void gen_trees_header()
-{
- FILE *header = fopen("trees.h", "w");
- int i;
-
- Assert (header != NULL, "Can't open trees.h");
- fprintf(header,
- "/* header created automatically with -DGEN_TREES_H */\n\n");
-
- fprintf(header, "local const ct_data static_ltree[L_CODES+2] = {\n");
- for (i = 0; i < L_CODES+2; i++) {
- fprintf(header, "{{%3u},{%3u}}%s", static_ltree[i].Code,
- static_ltree[i].Len, SEPARATOR(i, L_CODES+1, 5));
- }
-
- fprintf(header, "local const ct_data static_dtree[D_CODES] = {\n");
- for (i = 0; i < D_CODES; i++) {
- fprintf(header, "{{%2u},{%2u}}%s", static_dtree[i].Code,
- static_dtree[i].Len, SEPARATOR(i, D_CODES-1, 5));
- }
-
- fprintf(header, "const uch _dist_code[DIST_CODE_LEN] = {\n");
- for (i = 0; i < DIST_CODE_LEN; i++) {
- fprintf(header, "%2u%s", _dist_code[i],
- SEPARATOR(i, DIST_CODE_LEN-1, 20));
- }
-
- fprintf(header, "const uch _length_code[MAX_MATCH-MIN_MATCH+1]= {\n");
- for (i = 0; i < MAX_MATCH-MIN_MATCH+1; i++) {
- fprintf(header, "%2u%s", _length_code[i],
- SEPARATOR(i, MAX_MATCH-MIN_MATCH, 20));
- }
-
- fprintf(header, "local const int base_length[LENGTH_CODES] = {\n");
- for (i = 0; i < LENGTH_CODES; i++) {
- fprintf(header, "%1u%s", base_length[i],
- SEPARATOR(i, LENGTH_CODES-1, 20));
- }
-
- fprintf(header, "local const int base_dist[D_CODES] = {\n");
- for (i = 0; i < D_CODES; i++) {
- fprintf(header, "%5u%s", base_dist[i],
- SEPARATOR(i, D_CODES-1, 10));
- }
-
- fclose(header);
-}
-#endif /* GEN_TREES_H */
-
-/* ===========================================================================
- * Initialize the tree data structures for a new zlib stream.
- */
-void _tr_init(s)
- deflate_state *s;
-{
- tr_static_init();
-
- s->l_desc.dyn_tree = s->dyn_ltree;
- s->l_desc.stat_desc = &static_l_desc;
-
- s->d_desc.dyn_tree = s->dyn_dtree;
- s->d_desc.stat_desc = &static_d_desc;
-
- s->bl_desc.dyn_tree = s->bl_tree;
- s->bl_desc.stat_desc = &static_bl_desc;
-
- s->bi_buf = 0;
- s->bi_valid = 0;
- s->last_eob_len = 8; /* enough lookahead for inflate */
-#ifdef DEBUG
- s->compressed_len = 0L;
- s->bits_sent = 0L;
-#endif
-
- /* Initialize the first block of the first file: */
- init_block(s);
-}
-
-/* ===========================================================================
- * Initialize a new block.
- */
-local void init_block(s)
- deflate_state *s;
-{
- int n; /* iterates over tree elements */
-
- /* Initialize the trees. */
- for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
- for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
- for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
-
- s->dyn_ltree[END_BLOCK].Freq = 1;
- s->opt_len = s->static_len = 0L;
- s->last_lit = s->matches = 0;
-}
-
-#define SMALLEST 1
-/* Index within the heap array of least frequent node in the Huffman tree */
-
-
-/* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
-#define pqremove(s, tree, top) \
-{\
- top = s->heap[SMALLEST]; \
- s->heap[SMALLEST] = s->heap[s->heap_len--]; \
- pqdownheap(s, tree, SMALLEST); \
-}
-
-/* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
-#define smaller(tree, n, m, depth) \
- (tree[n].Freq < tree[m].Freq || \
- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
-
-/* ===========================================================================
- * Restore the heap property by moving down the tree starting at node k,
- * exchanging a node with the smallest of its two sons if necessary, stopping
- * when the heap property is re-established (each father smaller than its
- * two sons).
- */
-local void pqdownheap(s, tree, k)
- deflate_state *s;
- ct_data *tree; /* the tree to restore */
- int k; /* node to move down */
-{
- int v = s->heap[k];
- int j = k << 1; /* left son of k */
- while (j <= s->heap_len) {
- /* Set j to the smallest of the two sons: */
- if (j < s->heap_len &&
- smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
- j++;
- }
- /* Exit if v is smaller than both sons */
- if (smaller(tree, v, s->heap[j], s->depth)) break;
-
- /* Exchange v with the smallest son */
- s->heap[k] = s->heap[j]; k = j;
-
- /* And continue down the tree, setting j to the left son of k */
- j <<= 1;
- }
- s->heap[k] = v;
-}
-
-/* ===========================================================================
- * Compute the optimal bit lengths for a tree and update the total bit length
- * for the current block.
- * IN assertion: the fields freq and dad are set, heap[heap_max] and
- * above are the tree nodes sorted by increasing frequency.
- * OUT assertions: the field len is set to the optimal bit length, the
- * array bl_count contains the frequencies for each bit length.
- * The length opt_len is updated; static_len is also updated if stree is
- * not null.
- */
-local void gen_bitlen(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- int max_code = desc->max_code;
- const ct_data *stree = desc->stat_desc->static_tree;
- const intf *extra = desc->stat_desc->extra_bits;
- int base = desc->stat_desc->extra_base;
- int max_length = desc->stat_desc->max_length;
- int h; /* heap index */
- int n, m; /* iterate over the tree elements */
- int bits; /* bit length */
- int xbits; /* extra bits */
- ush f; /* frequency */
- int overflow = 0; /* number of elements with bit length too large */
-
- for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
-
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
-
- for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
- n = s->heap[h];
- bits = tree[tree[n].Dad].Len + 1;
- if (bits > max_length) bits = max_length, overflow++;
- tree[n].Len = (ush)bits;
- /* We overwrite tree[n].Dad which is no longer needed */
-
- if (n > max_code) continue; /* not a leaf node */
-
- s->bl_count[bits]++;
- xbits = 0;
- if (n >= base) xbits = extra[n-base];
- f = tree[n].Freq;
- s->opt_len += (ulg)f * (bits + xbits);
- if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
- }
- if (overflow == 0) return;
-
- Trace((stderr,"\nbit length overflow\n"));
- /* This happens for example on obj2 and pic of the Calgary corpus */
-
- /* Find the first bit length which could increase: */
- do {
- bits = max_length-1;
- while (s->bl_count[bits] == 0) bits--;
- s->bl_count[bits]--; /* move one leaf down the tree */
- s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
- s->bl_count[max_length]--;
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= 2;
- } while (overflow > 0);
-
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- for (bits = max_length; bits != 0; bits--) {
- n = s->bl_count[bits];
- while (n != 0) {
- m = s->heap[--h];
- if (m > max_code) continue;
- if (tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- s->opt_len += ((long)bits - (long)tree[m].Len)
- *(long)tree[m].Freq;
- tree[m].Len = (ush)bits;
- }
- n--;
- }
- }
-}
-
-/* ===========================================================================
- * Generate the codes for a given tree and bit counts (which need not be
- * optimal).
- * IN assertion: the array bl_count contains the bit length statistics for
- * the given tree and the field len is set for all tree elements.
- * OUT assertion: the field code is set for all tree elements of non
- * zero code length.
- */
-local void gen_codes (tree, max_code, bl_count)
- ct_data *tree; /* the tree to decorate */
- int max_code; /* largest code with non zero frequency */
- ushf *bl_count; /* number of codes at each bit length */
-{
- ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
- int bits; /* bit index */
- int n; /* code index */
-
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
- "inconsistent bit counts");
- Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
-
- for (n = 0; n <= max_code; n++) {
- int len = tree[n].Len;
- if (len == 0) continue;
- /* Now reverse the bits */
- tree[n].Code = bi_reverse(next_code[len]++, len);
-
- Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
- n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
- }
-}
-
-/* ===========================================================================
- * Construct one Huffman tree and assigns the code bit strings and lengths.
- * Update the total bit length for the current block.
- * IN assertion: the field freq is set for all tree elements.
- * OUT assertions: the fields len and code are set to the optimal bit length
- * and corresponding code. The length opt_len is updated; static_len is
- * also updated if stree is not null. The field max_code is set.
- */
-local void build_tree(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- const ct_data *stree = desc->stat_desc->static_tree;
- int elems = desc->stat_desc->elems;
- int n, m; /* iterate over heap elements */
- int max_code = -1; /* largest code with non zero frequency */
- int node; /* new node being created */
-
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
- * heap[0] is not used.
- */
- s->heap_len = 0, s->heap_max = HEAP_SIZE;
-
- for (n = 0; n < elems; n++) {
- if (tree[n].Freq != 0) {
- s->heap[++(s->heap_len)] = max_code = n;
- s->depth[n] = 0;
- } else {
- tree[n].Len = 0;
- }
- }
-
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- while (s->heap_len < 2) {
- node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
- tree[node].Freq = 1;
- s->depth[node] = 0;
- s->opt_len--; if (stree) s->static_len -= stree[node].Len;
- /* node is 0 or 1 so it does not have extra bits */
- }
- desc->max_code = max_code;
-
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
-
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- node = elems; /* next internal node of the tree */
- do {
- pqremove(s, tree, n); /* n = node of least frequency */
- m = s->heap[SMALLEST]; /* m = node of next least frequency */
-
- s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
- s->heap[--(s->heap_max)] = m;
-
- /* Create a new node father of n and m */
- tree[node].Freq = tree[n].Freq + tree[m].Freq;
- s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
- tree[n].Dad = tree[m].Dad = (ush)node;
-#ifdef DUMP_BL_TREE
- if (tree == s->bl_tree) {
- fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
- node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
- }
-#endif
- /* and insert the new node in the heap */
- s->heap[SMALLEST] = node++;
- pqdownheap(s, tree, SMALLEST);
-
- } while (s->heap_len >= 2);
-
- s->heap[--(s->heap_max)] = s->heap[SMALLEST];
-
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- gen_bitlen(s, (tree_desc *)desc);
-
- /* The field len is now set, we can generate the bit codes */
- gen_codes ((ct_data *)tree, max_code, s->bl_count);
-}
-
-/* ===========================================================================
- * Scan a literal or distance tree to determine the frequencies of the codes
- * in the bit length tree.
- */
-local void scan_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- if (nextlen == 0) max_count = 138, min_count = 3;
- tree[max_code+1].Len = (ush)0xffff; /* guard */
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- s->bl_tree[curlen].Freq += count;
- } else if (curlen != 0) {
- if (curlen != prevlen) s->bl_tree[curlen].Freq++;
- s->bl_tree[REP_3_6].Freq++;
- } else if (count <= 10) {
- s->bl_tree[REPZ_3_10].Freq++;
- } else {
- s->bl_tree[REPZ_11_138].Freq++;
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Send a literal or distance tree in compressed form, using the codes in
- * bl_tree.
- */
-local void send_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- /* tree[max_code+1].Len = -1; */ /* guard already set */
- if (nextlen == 0) max_count = 138, min_count = 3;
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
-
- } else if (curlen != 0) {
- if (curlen != prevlen) {
- send_code(s, curlen, s->bl_tree); count--;
- }
- Assert(count >= 3 && count <= 6, " 3_6?");
- send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
-
- } else if (count <= 10) {
- send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
-
- } else {
- send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Construct the Huffman tree for the bit lengths and return the index in
- * bl_order of the last bit length code to send.
- */
-local int build_bl_tree(s)
- deflate_state *s;
-{
- int max_blindex; /* index of last bit length code of non zero freq */
-
- /* Determine the bit length frequencies for literal and distance trees */
- scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
- scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
-
- /* Build the bit length tree: */
- build_tree(s, (tree_desc *)(&(s->bl_desc)));
- /* opt_len now includes the length of the tree representations, except
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
- */
-
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
- if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
- }
- /* Update opt_len to include the bit length tree and counts */
- s->opt_len += 3*(max_blindex+1) + 5+5+4;
- Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
- s->opt_len, s->static_len));
-
- return max_blindex;
-}
-
-/* ===========================================================================
- * Send the header for a block using dynamic Huffman trees: the counts, the
- * lengths of the bit length codes, the literal tree and the distance tree.
- * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- */
-local void send_all_trees(s, lcodes, dcodes, blcodes)
- deflate_state *s;
- int lcodes, dcodes, blcodes; /* number of codes for each tree */
-{
- int rank; /* index in bl_order */
-
- Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
- Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
- "too many codes");
- Tracev((stderr, "\nbl counts: "));
- send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
- send_bits(s, dcodes-1, 5);
- send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
- for (rank = 0; rank < blcodes; rank++) {
- Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
- send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
- }
- Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
- Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
- Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
-}
-
-/* ===========================================================================
- * Send a stored block
- */
-void _tr_stored_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
-#ifdef DEBUG
- s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
- s->compressed_len += (stored_len + 4) << 3;
-#endif
- copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
-}
-
-/* ===========================================================================
- * Send one empty static block to give enough lookahead for inflate.
- * This takes 10 bits, of which 7 may remain in the bit buffer.
- * The current inflate code requires 9 bits of lookahead. If the
- * last two codes for the previous block (real code plus EOB) were coded
- * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
- * the last real code. In this case we send two empty static blocks instead
- * of one. (There are no problems if the previous block is stored or fixed.)
- * To simplify the code, we assume the worst case of last real code encoded
- * on one bit only.
- */
-void _tr_align(s)
- deflate_state *s;
-{
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
-#ifdef DEBUG
- s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
-#endif
- bi_flush(s);
- /* Of the 10 bits for the empty block, we have already sent
- * (10 - bi_valid) bits. The lookahead for the last real code (before
- * the EOB of the previous block) was thus at least one plus the length
- * of the EOB plus what we have just sent of the empty static block.
- */
- if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
-#ifdef DEBUG
- s->compressed_len += 10L;
-#endif
- bi_flush(s);
- }
- s->last_eob_len = 7;
-}
-
-/* ===========================================================================
- * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file.
- */
-void _tr_flush_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block, or NULL if too old */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
- int max_blindex = 0; /* index of last bit length code of non zero freq */
-
- /* Build the Huffman trees unless a stored block is forced */
- if (s->level > 0) {
-
- /* Check if the file is ascii or binary */
- if (s->data_type == Z_UNKNOWN) set_data_type(s);
-
- /* Construct the literal and distance trees */
- build_tree(s, (tree_desc *)(&(s->l_desc)));
- Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
-
- build_tree(s, (tree_desc *)(&(s->d_desc)));
- Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
-
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = build_bl_tree(s);
-
- /* Determine the best encoding. Compute first the block length in bytes*/
- opt_lenb = (s->opt_len+3+7)>>3;
- static_lenb = (s->static_len+3+7)>>3;
-
- Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
- opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
- s->last_lit));
-
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
-
- } else {
- Assert(buf != (char*)0, "lost buf");
- opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
- }
-
-#ifdef FORCE_STORED
- if (buf != (char*)0) { /* force stored block */
-#else
- if (stored_len+4 <= opt_lenb && buf != (char*)0) {
- /* 4: two words for the lengths */
-#endif
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- _tr_stored_block(s, buf, stored_len, eof);
-
-#ifdef FORCE_STATIC
- } else if (static_lenb >= 0) { /* force static trees */
-#else
- } else if (static_lenb == opt_lenb) {
-#endif
- send_bits(s, (STATIC_TREES<<1)+eof, 3);
- compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
-#ifdef DEBUG
- s->compressed_len += 3 + s->static_len;
-#endif
- } else {
- send_bits(s, (DYN_TREES<<1)+eof, 3);
- send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
- max_blindex+1);
- compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
-#ifdef DEBUG
- s->compressed_len += 3 + s->opt_len;
-#endif
- }
- Assert (s->compressed_len == s->bits_sent, "bad compressed size");
- /* The above check is made mod 2^32, for files larger than 512 MB
- * and uLong implemented on 32 bits.
- */
- init_block(s);
-
- if (eof) {
- bi_windup(s);
-#ifdef DEBUG
- s->compressed_len += 7; /* align on byte boundary */
-#endif
- }
- Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
- s->compressed_len-7*eof));
-}
-
-/* ===========================================================================
- * Save the match info and tally the frequency counts. Return true if
- * the current block must be flushed.
- */
-int _tr_tally (s, dist, lc)
- deflate_state *s;
- unsigned dist; /* distance of matched string */
- unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
-{
- s->d_buf[s->last_lit] = (ush)dist;
- s->l_buf[s->last_lit++] = (uch)lc;
- if (dist == 0) {
- /* lc is the unmatched char */
- s->dyn_ltree[lc].Freq++;
- } else {
- s->matches++;
- /* Here, lc is the match length - MIN_MATCH */
- dist--; /* dist = match distance - 1 */
- Assert((ush)dist < (ush)MAX_DIST(s) &&
- (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
- (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
-
- s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
- s->dyn_dtree[d_code(dist)].Freq++;
- }
-
-#ifdef TRUNCATE_BLOCK
- /* Try to guess if it is profitable to stop the current block here */
- if ((s->last_lit & 0x1fff) == 0 && s->level > 2) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)s->last_lit*8L;
- ulg in_length = (ulg)((long)s->strstart - s->block_start);
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)s->dyn_dtree[dcode].Freq *
- (5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
- s->last_lit, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
- }
-#endif
- return (s->last_lit == s->lit_bufsize-1);
- /* We avoid equality with lit_bufsize because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
-}
-
-/* ===========================================================================
- * Send the block data compressed using the given Huffman trees
- */
-local void compress_block(s, ltree, dtree)
- deflate_state *s;
- ct_data *ltree; /* literal tree */
- ct_data *dtree; /* distance tree */
-{
- unsigned dist; /* distance of matched string */
- int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
- unsigned code; /* the code to send */
- int extra; /* number of extra bits to send */
-
- if (s->last_lit != 0) do {
- dist = s->d_buf[lx];
- lc = s->l_buf[lx++];
- if (dist == 0) {
- send_code(s, lc, ltree); /* send a literal byte */
- Tracecv(isgraph(lc), (stderr," '%c' ", lc));
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = _length_code[lc];
- send_code(s, code+LITERALS+1, ltree); /* send the length code */
- extra = extra_lbits[code];
- if (extra != 0) {
- lc -= base_length[code];
- send_bits(s, lc, extra); /* send the extra length bits */
- }
- dist--; /* dist is now the match distance - 1 */
- code = d_code(dist);
- Assert (code < D_CODES, "bad d_code");
-
- send_code(s, code, dtree); /* send the distance code */
- extra = extra_dbits[code];
- if (extra != 0) {
- dist -= base_dist[code];
- send_bits(s, dist, extra); /* send the extra distance bits */
- }
- } /* literal or match pair ? */
-
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
- Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
-
- } while (lx < s->last_lit);
-
- send_code(s, END_BLOCK, ltree);
- s->last_eob_len = ltree[END_BLOCK].Len;
-}
-
-/* ===========================================================================
- * Set the data type to ASCII or BINARY, using a crude approximation:
- * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
- * IN assertion: the fields freq of dyn_ltree are set and the total of all
- * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
- */
-local void set_data_type(s)
- deflate_state *s;
-{
- int n = 0;
- unsigned ascii_freq = 0;
- unsigned bin_freq = 0;
- while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
- while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
- while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
- s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? Z_BINARY : Z_ASCII);
-}
-
-/* ===========================================================================
- * Reverse the first len bits of a code, using straightforward code (a faster
- * method would use a table)
- * IN assertion: 1 <= len <= 15
- */
-local unsigned bi_reverse(code, len)
- unsigned code; /* the value to invert */
- int len; /* its bit length */
-{
- register unsigned res = 0;
- do {
- res |= code & 1;
- code >>= 1, res <<= 1;
- } while (--len > 0);
- return res >> 1;
-}
-
-/* ===========================================================================
- * Flush the bit buffer, keeping at most 7 bits in it.
- */
-local void bi_flush(s)
- deflate_state *s;
-{
- if (s->bi_valid == 16) {
- put_short(s, s->bi_buf);
- s->bi_buf = 0;
- s->bi_valid = 0;
- } else if (s->bi_valid >= 8) {
- put_byte(s, (Byte)s->bi_buf);
- s->bi_buf >>= 8;
- s->bi_valid -= 8;
- }
-}
-
-/* ===========================================================================
- * Flush the bit buffer and align the output on a byte boundary
- */
-local void bi_windup(s)
- deflate_state *s;
-{
- if (s->bi_valid > 8) {
- put_short(s, s->bi_buf);
- } else if (s->bi_valid > 0) {
- put_byte(s, (Byte)s->bi_buf);
- }
- s->bi_buf = 0;
- s->bi_valid = 0;
-#ifdef DEBUG
- s->bits_sent = (s->bits_sent+7) & ~7;
-#endif
-}
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(s, buf, len, header)
- deflate_state *s;
- charf *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(s); /* align on byte boundary */
- s->last_eob_len = 8; /* enough lookahead for inflate */
-
- if (header) {
- put_short(s, (ush)len);
- put_short(s, (ush)~len);
-#ifdef DEBUG
- s->bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG
- s->bits_sent += (ulg)len<<3;
-#endif
- while (len--) {
- put_byte(s, *buf++);
- }
-}
diff --git a/zlib/trees.h b/zlib/trees.h
deleted file mode 100644
index 72facf900f7..00000000000
--- a/zlib/trees.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* header created automatically with -DGEN_TREES_H */
-
-local const ct_data static_ltree[L_CODES+2] = {
-{{ 12},{ 8}}, {{140},{ 8}}, {{ 76},{ 8}}, {{204},{ 8}}, {{ 44},{ 8}},
-{{172},{ 8}}, {{108},{ 8}}, {{236},{ 8}}, {{ 28},{ 8}}, {{156},{ 8}},
-{{ 92},{ 8}}, {{220},{ 8}}, {{ 60},{ 8}}, {{188},{ 8}}, {{124},{ 8}},
-{{252},{ 8}}, {{ 2},{ 8}}, {{130},{ 8}}, {{ 66},{ 8}}, {{194},{ 8}},
-{{ 34},{ 8}}, {{162},{ 8}}, {{ 98},{ 8}}, {{226},{ 8}}, {{ 18},{ 8}},
-{{146},{ 8}}, {{ 82},{ 8}}, {{210},{ 8}}, {{ 50},{ 8}}, {{178},{ 8}},
-{{114},{ 8}}, {{242},{ 8}}, {{ 10},{ 8}}, {{138},{ 8}}, {{ 74},{ 8}},
-{{202},{ 8}}, {{ 42},{ 8}}, {{170},{ 8}}, {{106},{ 8}}, {{234},{ 8}},
-{{ 26},{ 8}}, {{154},{ 8}}, {{ 90},{ 8}}, {{218},{ 8}}, {{ 58},{ 8}},
-{{186},{ 8}}, {{122},{ 8}}, {{250},{ 8}}, {{ 6},{ 8}}, {{134},{ 8}},
-{{ 70},{ 8}}, {{198},{ 8}}, {{ 38},{ 8}}, {{166},{ 8}}, {{102},{ 8}},
-{{230},{ 8}}, {{ 22},{ 8}}, {{150},{ 8}}, {{ 86},{ 8}}, {{214},{ 8}},
-{{ 54},{ 8}}, {{182},{ 8}}, {{118},{ 8}}, {{246},{ 8}}, {{ 14},{ 8}},
-{{142},{ 8}}, {{ 78},{ 8}}, {{206},{ 8}}, {{ 46},{ 8}}, {{174},{ 8}},
-{{110},{ 8}}, {{238},{ 8}}, {{ 30},{ 8}}, {{158},{ 8}}, {{ 94},{ 8}},
-{{222},{ 8}}, {{ 62},{ 8}}, {{190},{ 8}}, {{126},{ 8}}, {{254},{ 8}},
-{{ 1},{ 8}}, {{129},{ 8}}, {{ 65},{ 8}}, {{193},{ 8}}, {{ 33},{ 8}},
-{{161},{ 8}}, {{ 97},{ 8}}, {{225},{ 8}}, {{ 17},{ 8}}, {{145},{ 8}},
-{{ 81},{ 8}}, {{209},{ 8}}, {{ 49},{ 8}}, {{177},{ 8}}, {{113},{ 8}},
-{{241},{ 8}}, {{ 9},{ 8}}, {{137},{ 8}}, {{ 73},{ 8}}, {{201},{ 8}},
-{{ 41},{ 8}}, {{169},{ 8}}, {{105},{ 8}}, {{233},{ 8}}, {{ 25},{ 8}},
-{{153},{ 8}}, {{ 89},{ 8}}, {{217},{ 8}}, {{ 57},{ 8}}, {{185},{ 8}},
-{{121},{ 8}}, {{249},{ 8}}, {{ 5},{ 8}}, {{133},{ 8}}, {{ 69},{ 8}},
-{{197},{ 8}}, {{ 37},{ 8}}, {{165},{ 8}}, {{101},{ 8}}, {{229},{ 8}},
-{{ 21},{ 8}}, {{149},{ 8}}, {{ 85},{ 8}}, {{213},{ 8}}, {{ 53},{ 8}},
-{{181},{ 8}}, {{117},{ 8}}, {{245},{ 8}}, {{ 13},{ 8}}, {{141},{ 8}},
-{{ 77},{ 8}}, {{205},{ 8}}, {{ 45},{ 8}}, {{173},{ 8}}, {{109},{ 8}},
-{{237},{ 8}}, {{ 29},{ 8}}, {{157},{ 8}}, {{ 93},{ 8}}, {{221},{ 8}},
-{{ 61},{ 8}}, {{189},{ 8}}, {{125},{ 8}}, {{253},{ 8}}, {{ 19},{ 9}},
-{{275},{ 9}}, {{147},{ 9}}, {{403},{ 9}}, {{ 83},{ 9}}, {{339},{ 9}},
-{{211},{ 9}}, {{467},{ 9}}, {{ 51},{ 9}}, {{307},{ 9}}, {{179},{ 9}},
-{{435},{ 9}}, {{115},{ 9}}, {{371},{ 9}}, {{243},{ 9}}, {{499},{ 9}},
-{{ 11},{ 9}}, {{267},{ 9}}, {{139},{ 9}}, {{395},{ 9}}, {{ 75},{ 9}},
-{{331},{ 9}}, {{203},{ 9}}, {{459},{ 9}}, {{ 43},{ 9}}, {{299},{ 9}},
-{{171},{ 9}}, {{427},{ 9}}, {{107},{ 9}}, {{363},{ 9}}, {{235},{ 9}},
-{{491},{ 9}}, {{ 27},{ 9}}, {{283},{ 9}}, {{155},{ 9}}, {{411},{ 9}},
-{{ 91},{ 9}}, {{347},{ 9}}, {{219},{ 9}}, {{475},{ 9}}, {{ 59},{ 9}},
-{{315},{ 9}}, {{187},{ 9}}, {{443},{ 9}}, {{123},{ 9}}, {{379},{ 9}},
-{{251},{ 9}}, {{507},{ 9}}, {{ 7},{ 9}}, {{263},{ 9}}, {{135},{ 9}},
-{{391},{ 9}}, {{ 71},{ 9}}, {{327},{ 9}}, {{199},{ 9}}, {{455},{ 9}},
-{{ 39},{ 9}}, {{295},{ 9}}, {{167},{ 9}}, {{423},{ 9}}, {{103},{ 9}},
-{{359},{ 9}}, {{231},{ 9}}, {{487},{ 9}}, {{ 23},{ 9}}, {{279},{ 9}},
-{{151},{ 9}}, {{407},{ 9}}, {{ 87},{ 9}}, {{343},{ 9}}, {{215},{ 9}},
-{{471},{ 9}}, {{ 55},{ 9}}, {{311},{ 9}}, {{183},{ 9}}, {{439},{ 9}},
-{{119},{ 9}}, {{375},{ 9}}, {{247},{ 9}}, {{503},{ 9}}, {{ 15},{ 9}},
-{{271},{ 9}}, {{143},{ 9}}, {{399},{ 9}}, {{ 79},{ 9}}, {{335},{ 9}},
-{{207},{ 9}}, {{463},{ 9}}, {{ 47},{ 9}}, {{303},{ 9}}, {{175},{ 9}},
-{{431},{ 9}}, {{111},{ 9}}, {{367},{ 9}}, {{239},{ 9}}, {{495},{ 9}},
-{{ 31},{ 9}}, {{287},{ 9}}, {{159},{ 9}}, {{415},{ 9}}, {{ 95},{ 9}},
-{{351},{ 9}}, {{223},{ 9}}, {{479},{ 9}}, {{ 63},{ 9}}, {{319},{ 9}},
-{{191},{ 9}}, {{447},{ 9}}, {{127},{ 9}}, {{383},{ 9}}, {{255},{ 9}},
-{{511},{ 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}},
-{{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}},
-{{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}},
-{{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}},
-{{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}},
-{{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}},
-{{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}}
-};
-
-local const ct_data static_dtree[D_CODES] = {
-{{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}},
-{{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}},
-{{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}},
-{{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}},
-{{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}},
-{{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}}
-};
-
-const uch _dist_code[DIST_CODE_LEN] = {
- 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
-10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
-11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
-12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
-13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
-13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
-15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
-15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
-15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17,
-18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
-23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
-24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
-26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
-26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27,
-27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
-27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
-28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
-28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
-28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29
-};
-
-const uch _length_code[MAX_MATCH-MIN_MATCH+1]= {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12,
-13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,
-17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19,
-19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
-21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22,
-22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
-23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
-24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
-25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
-25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26,
-26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
-26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
-27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28
-};
-
-local const int base_length[LENGTH_CODES] = {
-0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56,
-64, 80, 96, 112, 128, 160, 192, 224, 0
-};
-
-local const int base_dist[D_CODES] = {
- 0, 1, 2, 3, 4, 6, 8, 12, 16, 24,
- 32, 48, 64, 96, 128, 192, 256, 384, 512, 768,
- 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576
-};
-
diff --git a/zlib/uncompr.c b/zlib/uncompr.c
deleted file mode 100644
index d1033213781..00000000000
--- a/zlib/uncompr.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* uncompr.c -- decompress a memory buffer
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#include "zlib.h"
-
-/* ===========================================================================
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted.
-*/
-int ZEXPORT uncompress (dest, destLen, source, sourceLen)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
-{
- z_stream stream;
- int err;
-
- stream.next_in = (Bytef*)source;
- stream.avail_in = (uInt)sourceLen;
- /* Check for source > 64K on 16-bit machine: */
- if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-
- stream.next_out = dest;
- stream.avail_out = (uInt)*destLen;
- if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
-
- stream.zalloc = (alloc_func)0;
- stream.zfree = (free_func)0;
-
- err = inflateInit(&stream);
- if (err != Z_OK) return err;
-
- err = inflate(&stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- inflateEnd(&stream);
- return err == Z_OK ? Z_BUF_ERROR : err;
- }
- *destLen = stream.total_out;
-
- err = inflateEnd(&stream);
- return err;
-}
diff --git a/zlib/zconf.h b/zlib/zconf.h
deleted file mode 100644
index 6d450fc793d..00000000000
--- a/zlib/zconf.h
+++ /dev/null
@@ -1,279 +0,0 @@
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef _ZCONF_H
-#define _ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- */
-#ifdef Z_PREFIX
-# define deflateInit_ z_deflateInit_
-# define deflate z_deflate
-# define deflateEnd z_deflateEnd
-# define inflateInit_ z_inflateInit_
-# define inflate z_inflate
-# define inflateEnd z_inflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateCopy z_deflateCopy
-# define deflateReset z_deflateReset
-# define deflateParams z_deflateParams
-# define inflateInit2_ z_inflateInit2_
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateSyncPoint z_inflateSyncPoint
-# define inflateReset z_inflateReset
-# define compress z_compress
-# define compress2 z_compress2
-# define uncompress z_uncompress
-# define adler32 z_adler32
-# define crc32 z_crc32
-# define get_crc_table z_get_crc_table
-
-# define Byte z_Byte
-# define uInt z_uInt
-# define uLong z_uLong
-# define Bytef z_Bytef
-# define charf z_charf
-# define intf z_intf
-# define uIntf z_uIntf
-# define uLongf z_uLongf
-# define voidpf z_voidpf
-# define voidp z_voidp
-#endif
-
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
-# define WIN32
-#endif
-#if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386)
-# ifndef __32BIT__
-# define __32BIT__
-# endif
-#endif
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#if defined(MSDOS) && !defined(__32BIT__)
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC)
-# define STDC
-#endif
-#if defined(__STDC__) || defined(__cplusplus) || defined(__OS2__)
-# ifndef STDC
-# define STDC
-# endif
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const
-# endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Old Borland C incorrectly complains about missing returns: */
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
-# define NEED_DUMMY_RETURN
-#endif
-
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- (1 << (windowBits+2)) + (1 << (memLevel+9))
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR _far
-# else
-# define FAR far
-# endif
-#endif
-#if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
-# ifndef __32BIT__
-# define SMALL_MEDIUM
-# define FAR _far
-# endif
-#endif
-
-/* Compile with -DZLIB_DLL for Windows DLL support */
-#if defined(ZLIB_DLL)
-# if defined(_WINDOWS) || defined(WINDOWS)
-# ifdef FAR
-# undef FAR
-# endif
-# include <windows.h>
-# define ZEXPORT WINAPI
-# ifdef WIN32
-# define ZEXPORTVA WINAPIV
-# else
-# define ZEXPORTVA FAR _cdecl _export
-# endif
-# endif
-# if defined (__BORLANDC__)
-# if (__BORLANDC__ >= 0x0500) && defined (WIN32)
-# include <windows.h>
-# define ZEXPORT __declspec(dllexport) WINAPI
-# define ZEXPORTRVA __declspec(dllexport) WINAPIV
-# else
-# if defined (_Windows) && defined (__DLL__)
-# define ZEXPORT _export
-# define ZEXPORTVA _export
-# endif
-# endif
-# endif
-#endif
-
-#if defined (__BEOS__)
-# if defined (ZLIB_DLL)
-# define ZEXTERN extern __declspec(dllexport)
-# else
-# define ZEXTERN extern __declspec(dllimport)
-# endif
-#endif
-
-#ifndef ZEXPORT
-# define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-# define ZEXPORTVA
-#endif
-#ifndef ZEXTERN
-# define ZEXTERN extern
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-#if !defined(MACOS) && !defined(TARGET_OS_MAC)
-typedef unsigned char Byte; /* 8 bits */
-#endif
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
- /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <sys/types.h> /* for off_t */
-# include <unistd.h> /* for SEEK_* and off_t */
-# define z_off_t off_t
-#endif
-#ifndef SEEK_SET
-# define SEEK_SET 0 /* Seek from beginning of file. */
-# define SEEK_CUR 1 /* Seek from current position. */
-# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
-#endif
-#ifndef z_off_t
-# define z_off_t long
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
-# pragma map(deflateInit_,"DEIN")
-# pragma map(deflateInit2_,"DEIN2")
-# pragma map(deflateEnd,"DEEND")
-# pragma map(inflateInit_,"ININ")
-# pragma map(inflateInit2_,"ININ2")
-# pragma map(inflateEnd,"INEND")
-# pragma map(inflateSync,"INSY")
-# pragma map(inflateSetDictionary,"INSEDI")
-# pragma map(inflate_blocks,"INBL")
-# pragma map(inflate_blocks_new,"INBLNE")
-# pragma map(inflate_blocks_free,"INBLFR")
-# pragma map(inflate_blocks_reset,"INBLRE")
-# pragma map(inflate_codes_free,"INCOFR")
-# pragma map(inflate_codes,"INCO")
-# pragma map(inflate_fast,"INFA")
-# pragma map(inflate_flush,"INFLU")
-# pragma map(inflate_mask,"INMA")
-# pragma map(inflate_set_dictionary,"INSEDI2")
-# pragma map(inflate_copyright,"INCOPY")
-# pragma map(inflate_trees_bits,"INTRBI")
-# pragma map(inflate_trees_dynamic,"INTRDY")
-# pragma map(inflate_trees_fixed,"INTRFI")
-# pragma map(inflate_trees_free,"INTRFR")
-#endif
-
-#endif /* _ZCONF_H */
diff --git a/zlib/zlib.3 b/zlib/zlib.3
deleted file mode 100644
index 25c8495d25f..00000000000
--- a/zlib/zlib.3
+++ /dev/null
@@ -1,107 +0,0 @@
-.TH ZLIB 3 "9 July 1998"
-.SH NAME
-zlib \- compression/decompression library
-.SH SYNOPSIS
-[see
-.I zlib.h
-for full description]
-.SH DESCRIPTION
-The
-.I zlib
-library is a general purpose data compression library.
-The code is thread safe.
-It provides in-memory compression and decompression functions,
-including integrity checks of the uncompressed data.
-This version of the library supports only one compression method (deflation)
-but other algorithms will be added later and will have the same stream interface.
-.LP
-Compression can be done in a single step if the buffers are large enough
-(for example if an input file is mmap'ed),
-or can be done by repeated calls of the compression function.
-In the latter case,
-the application must provide more input and/or consume the output
-(providing more output space) before each call.
-.LP
-The library also supports reading and writing files in
-.I gzip
-(.gz) format
-with an interface similar to that of stdio.
-.LP
-The library does not install any signal handler. The decoder checks
-the consistency of the compressed data, so the library should never
-crash even in case of corrupted input.
-.LP
-All functions of the compression library are documented in the file
-.IR zlib.h.
-The distribution source includes examples of use of the library
-the files
-.I example.c
-and
-.IR minigzip.c .
-.LP
-A Java implementation of
-.IR zlib
-is available in the Java Development Kit 1.1
-.IP
-http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
-.LP
-A Perl interface to
-.IR zlib ,
-written by Paul Marquess (pmarquess@bfsec.bt.co.uk)
-is available at CPAN (Comprehensive Perl Archive Network) sites,
-such as:
-.IP
-ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
-.LP
-A Python interface to
-.IR zlib
-written by A.M. Kuchling <amk@magnet.com>
-is available from the Python Software Association sites, such as:
-.IP
-ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
-.SH "SEE ALSO"
-Questions about zlib should be sent to:
-.IP
-zlib@quest.jpl.nasa.gov
-or, if this fails, to the author addresses given below.
-The zlib home page is:
-.IP
-http://www.cdrom.com/pub/infozip/zlib/
-.LP
-The data format used by the zlib library is described by RFC
-(Request for Comments) 1950 to 1952 in the files:
-.IP
-ftp://ds.internic.net/rfc/rfc1950.txt (zlib format)
-.br
-rfc1951.txt (deflate format)
-.br
-rfc1952.txt (gzip format)
-.LP
-These documents are also available in other formats from:
-.IP
-ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
-.SH AUTHORS
-Version 1.1.3
-Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org)
-and Mark Adler (madler@alumni.caltech.edu).
-.LP
-This software is provided "as-is,"
-without any express or implied warranty.
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-See the distribution directory with respect to requirements
-governing redistribution.
-The deflate format used by
-.I zlib
-was defined by Phil Katz.
-The deflate and
-.I zlib
-specifications were written by L. Peter Deutsch.
-Thanks to all the people who reported problems and suggested various
-improvements in
-.IR zlib ;
-who are too numerous to cite here.
-.LP
-UNIX manual page by R. P. C. Rodgers,
-U.S. National Library of Medicine (rodgers@nlm.nih.gov).
-.\" end of man page
diff --git a/zlib/zlib.h b/zlib/zlib.h
deleted file mode 100644
index 49f56b43bc6..00000000000
--- a/zlib/zlib.h
+++ /dev/null
@@ -1,893 +0,0 @@
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.1.3, July 9th, 1998
-
- Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef _ZLIB_H
-#define _ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.1.3"
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms will be added later and will have the same
- stream interface.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never
- crash even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: ascii or binary */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-/* Allowed flush values; see deflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative
- * values are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- This check is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at
- all (the input data is simply copied a block at a time).
- Z_DEFAULT_COMPRESSION requests a default compromise between speed and
- compression (currently equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level,
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION).
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce some
- output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
- and with zero avail_out, it must be called again after making room in the
- output buffer because there might be more output pending.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In particular
- avail_in is zero after the call if enough output space has been provided
- before the call.) Flushing may degrade compression for some compression
- algorithms and so it should be used only when necessary.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- the compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out).
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- 0.1% larger than avail_in plus 12 bytes. If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero).
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case,
- msg may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the exact
- value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller. msg is set to null if there is no error
- message. inflateInit does not perform any decompression apart from reading
- the zlib header if present: this will be done by inflate(). (So next_in and
- avail_in may be modified, but next_out and avail_out are unchanged.)
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may some
- introduce some output latency (reading input without producing any output)
- except when forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there
- is no more input data or no more space in the output buffer (see below
- about the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate(). If inflate returns Z_OK and with zero avail_out, it
- must be called again after making room in the output buffer because there
- might be more output pending.
-
- If the parameter flush is set to Z_SYNC_FLUSH, inflate flushes as much
- output as possible to the output buffer. The flushing behavior of inflate is
- not specified for values of the flush parameter other than Z_SYNC_FLUSH
- and Z_FINISH, but the current implementation actually flushes as much output
- as possible anyway.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster routine
- may be used for the single inflate() call.
-
- If a preset dictionary is needed at this point (see inflateSetDictionary
- below), inflate sets strm-adler to the adler32 checksum of the
- dictionary chosen by the compressor and returns Z_NEED_DICT; otherwise
- it sets strm->adler to the adler32 checksum of all output produced
- so far (that is, total_out bytes) and returns Z_OK, Z_STREAM_END or
- an error code as described below. At the end of the stream, inflate()
- checks that its computed adler32 checksum is equal to that saved by the
- compressor and returns Z_STREAM_END only if the checksum is correct.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect
- adler32 checksum), Z_STREAM_ERROR if the stream structure was inconsistent
- (for example if next_in or next_out was NULL), Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if no progress is possible or if there was not
- enough room in the output buffer when Z_FINISH is used. In the Z_DATA_ERROR
- case, the application may then call inflateSync to look for a good
- compression block.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match). Filtered data consists mostly of small values with a
- somewhat random distribution. In this case, the compression algorithm is
- tuned to compress them better. The effect of Z_FILTERED is to force more
- Huffman coding and less string matching; it is somewhat intermediate
- between Z_DEFAULT and Z_HUFFMAN_ONLY. The strategy parameter only affects
- the compression ratio but not the correctness of the compressed output even
- if it is not set appropriately.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
- method). msg is set to null if there is no error message. deflateInit2 does
- not perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. This function must be called
- immediately after deflateInit, deflateInit2 or deflateReset, before any
- call of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size in
- deflate or deflate2. Thus the strings most likely to be useful should be
- put at the end of the dictionary, not at the front.
-
- Upon return of this function, strm->adler is set to the Adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The Adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.)
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if the compression method is bsort). deflateSetDictionary does not
- perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different
- strategy. If the compression level is changed, the input available so far
- is compressed with the old level (and may be flushed); the new level will
- take effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to
- be compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
- if strm->avail_out was zero.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. If a compressed stream with a larger window size is given as
- input, inflate() will return with the error code Z_DATA_ERROR instead of
- trying to allocate a larger window.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
- memLevel). msg is set to null if there is no error message. inflateInit2
- does not perform any decompression apart from reading the zlib header if
- present: this will be done by inflate(). (So next_in and avail_in may be
- modified, but next_out and avail_out are unchanged.)
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate
- if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the Adler32 value returned by this call of
- inflate. The compressor and decompressor must use exactly the same
- dictionary (see deflateSetDictionary).
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect Adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a full flush point (see above the
- description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no flush point has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the
- basic stream-oriented functions. To simplify the interface, some
- default options are assumed (compression level and memory usage,
- standard memory allocation functions). The source code of these
- utility functions can easily be modified if you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be at least 0.1% larger than
- sourceLen plus 12 bytes. Upon exit, destLen is the actual size of the
- compressed buffer.
- This function can be used to compress a whole file at once if the
- input file is mmap'ed.
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least 0.1% larger than sourceLen plus
- 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted.
-*/
-
-
-typedef voidp gzFile;
-
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-/*
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb") but can also include a compression level
- ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
- Huffman only compression as in "wb1h". (See the description
- of deflateInit2 for more information about the strategy parameter.)
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression.
-
- gzopen returns NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR). */
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen() associates a gzFile with the file descriptor fd. File
- descriptors are obtained from calls like open, dup, creat, pipe or
- fileno (in the file has been previously opened with fopen).
- The mode parameter is as in gzopen.
- The next call of gzclose on the returned gzFile will also close the
- file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
- descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
- gzdopen returns NULL if there was insufficient memory to allocate
- the (de)compression state.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file.
- If the input file was not in gzip format, gzread copies the given number
- of bytes into the buffer.
- gzread returns the number of uncompressed bytes actually read (0 for
- end of file, -1 for error). */
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- const voidp buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes actually written
- (0 in case of error).
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the args to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written (0 in case of error).
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or
- a newline character is read and transferred to buf, or an end-of-file
- condition is encountered. The string is then terminated with a null
- character.
- gzgets returns buf, or Z_NULL in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file.
- gzputc returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte
- or -1 in case of end of file or error.
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function. The return value is the zlib
- error number (see function gzerror below). gzflush returns Z_OK if
- the flush parameter is Z_FINISH and all output could be flushed.
- gzflush should be called only when strictly necessary because it can
- degrade compression.
-*/
-
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-/*
- Sets the starting position for the next gzread or gzwrite on the
- given compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-/*
- Returns the starting position for the next gzread or gzwrite on the
- given compressed file. This position represents a number of bytes in the
- uncompressed data stream.
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns 1 when EOF has previously been detected reading the given
- input stream, otherwise zero.
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state. The return value is the zlib
- error number (see function gzerror below).
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the
- given compressed file. errnum is set to zlib error number. If an
- error occurred in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the
- compression library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running crc with the bytes buf[0..len-1] and return the updated
- crc. If buf is NULL, this function returns the required initial value
- for the crc. Pre- and post-conditioning (one's complement) is performed
- within this function so it shouldn't be done by the application.
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-
-
-#if !defined(_Z_UTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-ZEXTERN const char * ZEXPORT zError OF((int err));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ZLIB_H */
diff --git a/zlib/zutil.c b/zlib/zutil.c
deleted file mode 100644
index b3de4e88370..00000000000
--- a/zlib/zutil.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#include "zutil.h"
-
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-#ifndef STDC
-extern void exit OF((int));
-#endif
-
-const char *z_errmsg[10] = {
-"need dictionary", /* Z_NEED_DICT 2 */
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-"incompatible version",/* Z_VERSION_ERROR (-6) */
-""};
-
-
-const char * ZEXPORT zlibVersion()
-{
- return ZLIB_VERSION;
-}
-
-#ifdef DEBUG
-
-# ifndef verbose
-# define verbose 0
-# endif
-int z_verbose = verbose;
-
-void z_error (m)
- char *m;
-{
- fprintf(stderr, "%s\n", m);
- exit(1);
-}
-#endif
-
-/* exported to allow conversion of error code to string for compress() and
- * uncompress()
- */
-const char * ZEXPORT zError(err)
- int err;
-{
- return ERR_MSG(err);
-}
-
-
-#ifndef HAVE_MEMCPY
-
-void zmemcpy(dest, source, len)
- Bytef* dest;
- const Bytef* source;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = *source++; /* ??? to be unrolled */
- } while (--len != 0);
-}
-
-int zmemcmp(s1, s2, len)
- const Bytef* s1;
- const Bytef* s2;
- uInt len;
-{
- uInt j;
-
- for (j = 0; j < len; j++) {
- if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
- }
- return 0;
-}
-
-void zmemzero(dest, len)
- Bytef* dest;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = 0; /* ??? to be unrolled */
- } while (--len != 0);
-}
-#endif
-
-#ifdef __TURBOC__
-#if (defined( __BORLANDC__) || !defined(SMALL_MEDIUM)) && !defined(__32BIT__)
-/* Small and medium model in Turbo C are for now limited to near allocation
- * with reduced MAX_WBITS and MAX_MEM_LEVEL
- */
-# define MY_ZCALLOC
-
-/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
- * and farmalloc(64K) returns a pointer with an offset of 8, so we
- * must fix the pointer. Warning: the pointer must be put back to its
- * original form in order to free it, use zcfree().
- */
-
-#define MAX_PTR 10
-/* 10*64K = 640K */
-
-local int next_ptr = 0;
-
-typedef struct ptr_table_s {
- voidpf org_ptr;
- voidpf new_ptr;
-} ptr_table;
-
-local ptr_table table[MAX_PTR];
-/* This table is used to remember the original form of pointers
- * to large buffers (64K). Such pointers are normalized with a zero offset.
- * Since MSDOS is not a preemptive multitasking OS, this table is not
- * protected from concurrent access. This hack doesn't work anyway on
- * a protected system like OS/2. Use Microsoft C instead.
- */
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- voidpf buf = opaque; /* just to make some compilers happy */
- ulg bsize = (ulg)items*size;
-
- /* If we allocate less than 65520 bytes, we assume that farmalloc
- * will return a usable pointer which doesn't have to be normalized.
- */
- if (bsize < 65520L) {
- buf = farmalloc(bsize);
- if (*(ush*)&buf != 0) return buf;
- } else {
- buf = farmalloc(bsize + 16L);
- }
- if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
- table[next_ptr].org_ptr = buf;
-
- /* Normalize the pointer to seg:0 */
- *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
- *(ush*)&buf = 0;
- table[next_ptr++].new_ptr = buf;
- return buf;
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- int n;
- if (*(ush*)&ptr != 0) { /* object < 64K */
- farfree(ptr);
- return;
- }
- /* Find the original pointer */
- for (n = 0; n < next_ptr; n++) {
- if (ptr != table[n].new_ptr) continue;
-
- farfree(table[n].org_ptr);
- while (++n < next_ptr) {
- table[n-1] = table[n];
- }
- next_ptr--;
- return;
- }
- ptr = opaque; /* just to make some compilers happy */
- Assert(0, "zcfree: ptr not found");
-}
-#endif
-#endif /* __TURBOC__ */
-
-
-#if defined(M_I86) && !defined(__32BIT__)
-/* Microsoft C in 16-bit mode */
-
-# define MY_ZCALLOC
-
-#if (!defined(_MSC_VER) || (_MSC_VER <= 600))
-# define _halloc halloc
-# define _hfree hfree
-#endif
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- return _halloc((long)items, size);
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- _hfree(ptr);
-}
-
-#endif /* MSC */
-
-
-#ifndef MY_ZCALLOC /* Any system without a special alloc function */
-
-#ifndef STDC
-extern voidp calloc OF((uInt items, uInt size));
-extern void free OF((voidpf ptr));
-#endif
-
-voidpf zcalloc (opaque, items, size)
- voidpf opaque;
- unsigned items;
- unsigned size;
-{
- if (opaque) items += size - size; /* make compiler happy */
- return (voidpf)calloc(items, size);
-}
-
-void zcfree (opaque, ptr)
- voidpf opaque;
- voidpf ptr;
-{
- free(ptr);
- if (opaque) return; /* make compiler happy */
-}
-
-#endif /* MY_ZCALLOC */
diff --git a/zlib/zutil.h b/zlib/zutil.h
deleted file mode 100644
index 6f2cb97ca11..00000000000
--- a/zlib/zutil.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* @(#) $Id$ */
-
-#ifndef _Z_UTIL_H
-#define _Z_UTIL_H
-
-#include "zlib.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-typedef unsigned char uch;
-typedef uch FAR uchf;
-typedef unsigned short ush;
-typedef ush FAR ushf;
-typedef unsigned long ulg;
-
-extern const char *z_errmsg[10]; /* indexed by 2-zlib_error */
-/* (size given to avoid silly warnings with Visual C++) */
-
-#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
-
-#define ERR_RETURN(strm,err) \
- return (strm->msg = (char*)ERR_MSG(err), (err))
-/* To be used only when the state is known to be valid */
-
- /* common constants */
-
-#ifndef DEF_WBITS
-# define DEF_WBITS MAX_WBITS
-#endif
-/* default windowBits for decompression. MAX_WBITS is for compression only */
-
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-/* default memLevel */
-
-#define STORED_BLOCK 0
-#define STATIC_TREES 1
-#define DYN_TREES 2
-/* The three kinds of block type */
-
-#define MIN_MATCH 3
-#define MAX_MATCH 258
-/* The minimum and maximum match lengths */
-
-#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
-
- /* target dependencies */
-
-#ifdef MSDOS
-# define OS_CODE 0x00
-# if defined(__TURBOC__) || defined(__BORLANDC__)
-# if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
- /* Allow compilation with ANSI keywords only enabled */
- void _Cdecl farfree( void *block );
- void *_Cdecl farmalloc( unsigned long nbytes );
-# else
-# include <alloc.h>
-# endif
-# else /* MSC or DJGPP */
-# include <malloc.h>
-# endif
-#endif
-
-#ifdef OS2
-# define OS_CODE 0x06
-#endif
-
-#ifdef WIN32 /* Window 95 & Windows NT */
-# define OS_CODE 0x0b
-#endif
-
-#if defined(VAXC) || defined(VMS)
-# define OS_CODE 0x02
-# define F_OPEN(name, mode) \
- fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
-#endif
-
-#ifdef AMIGA
-# define OS_CODE 0x01
-#endif
-
-#if defined(ATARI) || defined(atarist)
-# define OS_CODE 0x05
-#endif
-
-#if defined(MACOS) || defined(TARGET_OS_MAC)
-# define OS_CODE 0x07
-# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
-# include <unix.h> /* for fdopen */
-# else
-# ifndef fdopen
-# define fdopen(fd,mode) NULL /* No fdopen() */
-# endif
-# endif
-#endif
-
-#ifdef __50SERIES /* Prime/PRIMOS */
-# define OS_CODE 0x0F
-#endif
-
-#ifdef TOPS20
-# define OS_CODE 0x0a
-#endif
-
-#if defined(_BEOS_) || defined(RISCOS)
-# define fdopen(fd,mode) NULL /* No fdopen() */
-#endif
-
-#if (defined(_MSC_VER) && (_MSC_VER > 600))
-# define fdopen(fd,type) _fdopen(fd,type)
-#endif
-
-
- /* Common defaults */
-
-#ifndef OS_CODE
-# define OS_CODE 0x03 /* assume Unix */
-#endif
-
-#ifndef F_OPEN
-# define F_OPEN(name, mode) fopen((name), (mode))
-#endif
-
- /* functions */
-
-#ifdef HAVE_STRERROR
- extern char *strerror OF((int));
-# define zstrerror(errnum) strerror(errnum)
-#else
-# define zstrerror(errnum) ""
-#endif
-
-#if defined(pyr)
-# define NO_MEMCPY
-#endif
-#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
- /* Use our own functions for small and medium model with MSC <= 5.0.
- * You may have to use the same strategy for Borland C (untested).
- * The __SC__ check is for Symantec.
- */
-# define NO_MEMCPY
-#endif
-#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
-# define HAVE_MEMCPY
-#endif
-#ifdef HAVE_MEMCPY
-# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
-# define zmemcpy _fmemcpy
-# define zmemcmp _fmemcmp
-# define zmemzero(dest, len) _fmemset(dest, 0, len)
-# else
-# define zmemcpy memcpy
-# define zmemcmp memcmp
-# define zmemzero(dest, len) memset(dest, 0, len)
-# endif
-#else
- extern void zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
- extern int zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
- extern void zmemzero OF((Bytef* dest, uInt len));
-#endif
-
-/* Diagnostic functions */
-#ifdef DEBUG
-# include <stdio.h>
- extern int z_verbose;
- extern void z_error OF((char *m));
-# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
-# define Trace(x) {if (z_verbose>=0) fprintf x ;}
-# define Tracev(x) {if (z_verbose>0) fprintf x ;}
-# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
-# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
-# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
-#else
-# define Assert(cond,msg)
-# define Trace(x)
-# define Tracev(x)
-# define Tracevv(x)
-# define Tracec(c,x)
-# define Tracecv(c,x)
-#endif
-
-
-typedef uLong (ZEXPORT *check_func) OF((uLong check, const Bytef *buf,
- uInt len));
-voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
-void zcfree OF((voidpf opaque, voidpf ptr));
-
-#define ZALLOC(strm, items, size) \
- (*((strm)->zalloc))((strm)->opaque, (items), (size))
-#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
-#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
-
-#endif /* _Z_UTIL_H */